的節(jié)點(diǎn)中當(dāng)前進(jìn)行遷移 的內(nèi)存塊是否是最后一塊的標(biāo)識(shí),其中,所述BE包括至少一個(gè)區(qū),所述至少一個(gè)區(qū)中的每 個(gè)區(qū)包括至少一個(gè)內(nèi)存塊;
[0319] 所述BE根據(jù)所述至少一個(gè)遷移信息控制將所述待遷移數(shù)據(jù)遷移到所述目的節(jié)點(diǎn) 上的內(nèi)存塊中;
[0320] 當(dāng)所述BE中具有所述至少一個(gè)區(qū)的最后一塊標(biāo)識(shí)的內(nèi)存塊遷移完成后,所述BE 通過(guò)基本輸入輸出系統(tǒng)BIOS發(fā)送遷移完成通知。
[0321] 作為又一種實(shí)施方式,處理器61執(zhí)行所述當(dāng)接收到至少一個(gè)遷移信息的寫(xiě)入指 令時(shí),所述BE將所述至少一個(gè)遷移信息寫(xiě)入所述BE中的至少一個(gè)區(qū)中的至少一個(gè)內(nèi)存塊 中的步驟,包括:
[0322] 根據(jù)確定的進(jìn)行所述遷移所需的區(qū)的個(gè)數(shù)和/或輪流使用每個(gè)所述區(qū)進(jìn)行遷移 的次數(shù),所述BE將所述至少一個(gè)遷移信息依次寫(xiě)入所述BE中的所述工作狀態(tài)為空閑狀態(tài) 的一個(gè)區(qū)的至少一個(gè)內(nèi)存塊中;
[0323] 所述BE根據(jù)所述至少一個(gè)遷移信息控制將所述待遷移數(shù)據(jù)遷移到所述目的節(jié)點(diǎn) 上的內(nèi)存塊中,包括:
[0324] 所述BE根據(jù)所述空閑狀態(tài)的區(qū)的至少一個(gè)內(nèi)存塊中的至少一個(gè)遷移信息,依次 將所述待遷移數(shù)據(jù)遷移到所述目的節(jié)點(diǎn)上的內(nèi)存塊中。
[0325] 作為又一種實(shí)施方式,處理器61執(zhí)行所述當(dāng)接收到至少一個(gè)遷移信息的寫(xiě)入指 令時(shí),所述BE將所述至少一個(gè)遷移信息寫(xiě)入所述BE中的至少一個(gè)區(qū)中的至少一個(gè)內(nèi)存塊 中的步驟,包括:
[0326] 當(dāng)所述BE接收到至少一個(gè)遷移任務(wù)時(shí),所述BE設(shè)置有一個(gè)遷移排隊(duì)隊(duì)列,將所述 每個(gè)遷移任務(wù)的遷移信息插入到對(duì)應(yīng)BE隊(duì)列中,獲取一個(gè)排隊(duì)號(hào),其中,所述數(shù)據(jù)遷移請(qǐng) 求劃分為一個(gè)遷移任務(wù);
[0327] 所述BE根據(jù)所述至少一個(gè)遷移信息控制將所述待遷移數(shù)據(jù)遷移到所述目的節(jié)點(diǎn) 上的內(nèi)存塊中,包括:
[0328] 所述BE根據(jù)所述排隊(duì)號(hào)對(duì)所述至少一個(gè)遷移任務(wù)進(jìn)行遷移。
[0329] 根據(jù)本發(fā)明實(shí)施例提供的一種內(nèi)存遷移設(shè)備,通過(guò)在源節(jié)點(diǎn)將待遷移數(shù)據(jù)按照內(nèi) 存塊進(jìn)行合并劃分,在目的節(jié)點(diǎn)上獲取物理地址連續(xù)的內(nèi)存塊,由BE按照內(nèi)存塊將待遷移 數(shù)據(jù)從源節(jié)點(diǎn)遷移到目的節(jié)點(diǎn)的內(nèi)存塊中,可以在內(nèi)存遷移過(guò)程中,減少遷移時(shí)的上下文 切換,提高內(nèi)存遷移的效率;且利用專(zhuān)門(mén)的硬件加速引擎大幅降低了 CPU占用率,釋放CPU 進(jìn)行其他業(yè)務(wù)。
[0330] 需要說(shuō)明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列 的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)?根據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知 悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明 所必須的。
[0331 ] 在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部 分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
[0332] 通過(guò)以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以 用硬件實(shí)現(xiàn),或固件實(shí)現(xiàn),或它們的組合方式來(lái)實(shí)現(xiàn)。當(dāng)使用軟件實(shí)現(xiàn)時(shí),可以將上述功能 存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中或作為計(jì)算機(jī)可讀介質(zhì)上的一個(gè)或多個(gè)指令或代碼進(jìn)行傳輸。計(jì) 算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì),其中通信介質(zhì)包括便于從一個(gè)地方向另 一個(gè)地方傳送計(jì)算機(jī)程序的任何介質(zhì)。存儲(chǔ)介質(zhì)可以是計(jì)算機(jī)能夠存取的任何可用介質(zhì)。 以此為例但不限于:計(jì)算機(jī)可讀介質(zhì)可以包括隨機(jī)存取存儲(chǔ)器(Random Access Memory, RAM)、只讀存儲(chǔ)器(Read-Only Memory, ROM)、電可擦可編程只讀存儲(chǔ)器(Electrically Erasable Programmable Read-Only Memory,EEPR0M)、只讀光盤(pán)(Compact Disc Read-Only Memory,CD-ROM)或其他光盤(pán)存儲(chǔ)、磁盤(pán)存儲(chǔ)介質(zhì)或者其他磁存儲(chǔ)設(shè)備、或者能夠用于攜帶 或存儲(chǔ)具有指令或數(shù)據(jù)結(jié)構(gòu)形式的期望的程序代碼并能夠由計(jì)算機(jī)存取的任何其他介質(zhì)。 此外。任何連接可以適當(dāng)?shù)某蔀橛?jì)算機(jī)可讀介質(zhì)。例如,如果軟件是使用同軸電纜、光纖光 纜、雙絞線(xiàn)、數(shù)字用戶(hù)線(xiàn)(Digital Subscriber Line, DSL)或者諸如紅外線(xiàn)、無(wú)線(xiàn)電和微波 之類(lèi)的無(wú)線(xiàn)技術(shù)從網(wǎng)站、服務(wù)器或者其他遠(yuǎn)程源傳輸?shù)?,那么同軸電纜、光纖光纜、雙絞線(xiàn)、 DSL或者諸如紅外線(xiàn)、無(wú)線(xiàn)和微波之類(lèi)的無(wú)線(xiàn)技術(shù)包括在所屬介質(zhì)的定影中。如本發(fā)明所使 用的,盤(pán)(Disk)和碟(disc)包括壓縮光碟(⑶)、激光碟、光碟、數(shù)字通用光碟(DVD)、軟盤(pán) 和藍(lán)光光碟,其中盤(pán)通常磁性的復(fù)制數(shù)據(jù),而碟則用激光來(lái)光學(xué)的復(fù)制數(shù)據(jù)。上面的組合也 應(yīng)當(dāng)包括在計(jì)算機(jī)可讀介質(zhì)的保護(hù)范圍之內(nèi)。
[0333] 總之,以上所述僅為本發(fā)明技術(shù)方案的較佳實(shí)施例而已,并非用于限定本發(fā)明的 保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在 本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種內(nèi)存遷移方法,其特征在于,包括: 當(dāng)接收到對(duì)存儲(chǔ)系統(tǒng)中的任意一個(gè)源節(jié)點(diǎn)的內(nèi)存數(shù)據(jù)遷移請(qǐng)求時(shí),根據(jù)待遷移數(shù)據(jù)的 物理地址的連續(xù)性,將所述待遷移數(shù)據(jù)按內(nèi)存塊進(jìn)行劃分,每個(gè)內(nèi)存塊中所述待遷移數(shù)據(jù) 的物理地址是連續(xù)的,確定所述待遷移數(shù)據(jù)劃分后所占用的源節(jié)點(diǎn)的內(nèi)存塊數(shù); 獲取所述存儲(chǔ)系統(tǒng)中的目的節(jié)點(diǎn)上與所述待遷移數(shù)據(jù)劃分后所占用的源節(jié)點(diǎn)的內(nèi)存 塊數(shù)一致的內(nèi)存塊; 將所述待遷移數(shù)據(jù)按劃分后的內(nèi)存塊遷移到所述目的節(jié)點(diǎn)上的內(nèi)存塊中。2. 如權(quán)利要求1所述的方法,其特征在于,所述將所述待遷移數(shù)據(jù)按劃分后的內(nèi)存塊 遷移到所述目的節(jié)點(diǎn)上的內(nèi)存塊中,具體為: 當(dāng)所述源節(jié)點(diǎn)和目的節(jié)點(diǎn)不為同一個(gè)節(jié)點(diǎn)時(shí),根據(jù)所述待遷移數(shù)據(jù)劃分后所占用的源 節(jié)點(diǎn)的內(nèi)存塊數(shù)和獲取的目的節(jié)點(diǎn)的內(nèi)存塊數(shù),由所述源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的硬件加速 引擎BE控制將所述待遷移數(shù)據(jù)從所述源節(jié)點(diǎn)遷移到所述目的節(jié)點(diǎn);其中,所述存儲(chǔ)系統(tǒng)包 括至少兩個(gè)節(jié)點(diǎn),所述至少兩個(gè)節(jié)點(diǎn)通過(guò)互聯(lián)模塊連接,每個(gè)所述互聯(lián)模塊中包含一個(gè)BE。3. 如權(quán)利要求2所述的方法,其特征在于,所述當(dāng)所述源節(jié)點(diǎn)和目的節(jié)點(diǎn)不為同一個(gè) 節(jié)點(diǎn)時(shí),根據(jù)所述待遷移數(shù)據(jù)劃分后所占用的源節(jié)點(diǎn)的內(nèi)存塊數(shù)和獲取的目的節(jié)點(diǎn)的內(nèi)存 塊數(shù),由所述源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的硬件加速引擎BE控制將所述待遷移數(shù)據(jù)從所述源 節(jié)點(diǎn)遷移到所述目的節(jié)點(diǎn),包括: 根據(jù)所述待遷移數(shù)據(jù)劃分后所占用的源節(jié)點(diǎn)的內(nèi)存塊數(shù)和獲取的目的節(jié)點(diǎn)的內(nèi)存塊 數(shù),生成至少一個(gè)遷移信息,所述至少一個(gè)遷移信息包括進(jìn)行遷移的源節(jié)點(diǎn)的每一個(gè)內(nèi)存 塊的起始地址、目的節(jié)點(diǎn)的每一個(gè)內(nèi)存塊的起始地址、進(jìn)行遷移的源節(jié)點(diǎn)或目的節(jié)點(diǎn)的每 一個(gè)內(nèi)存塊的塊長(zhǎng)度以及所述源節(jié)點(diǎn)或目的節(jié)點(diǎn)中當(dāng)前進(jìn)行遷移的內(nèi)存塊是否是最后一 塊的標(biāo)識(shí),其中,所述BE包括至少一個(gè)區(qū),所述至少一個(gè)區(qū)中的每個(gè)區(qū)包括至少一個(gè)內(nèi)存 塊; 將所述至少一個(gè)遷移信息寫(xiě)入所述BE中的至少一個(gè)區(qū)中的至少一個(gè)內(nèi)存塊中,以使 所述BE根據(jù)所述至少一個(gè)遷移信息控制將所述待遷移數(shù)據(jù)遷移到所述目的節(jié)點(diǎn)上的內(nèi)存 塊中; 當(dāng)所述BE中具有所述最后一塊的標(biāo)識(shí)的內(nèi)存塊遷移完成后,接收所述BE通過(guò)基本輸 入輸出系統(tǒng)BIOS發(fā)送的遷移完成通知。4. 如權(quán)利要求3所述的方法,其特征在于,所述將所述至少一個(gè)遷移信息寫(xiě)入所述BE 中的至少一個(gè)區(qū)中的至少一個(gè)內(nèi)存塊中,以使所述BE根據(jù)所述至少一個(gè)遷移信息控制將 所述待遷移數(shù)據(jù)遷移到所述目的節(jié)點(diǎn)上的內(nèi)存塊中,包括: 根據(jù)所述至少一個(gè)遷移信息以及所述BE的區(qū)的個(gè)數(shù)和每個(gè)區(qū)中內(nèi)存塊的個(gè)數(shù),確定 進(jìn)行所述遷移所需的區(qū)的個(gè)數(shù)和/或輪流使用每個(gè)所述區(qū)進(jìn)行遷移的次數(shù); 獲取所述BE的至少一個(gè)區(qū)中每個(gè)區(qū)的工作狀態(tài); 將所述至少一個(gè)遷移信息依次寫(xiě)入所述BE中的所述工作狀態(tài)為空閑狀態(tài)的一個(gè)區(qū)的 至少一個(gè)內(nèi)存塊中,以使所述BE根據(jù)所述空閑狀態(tài)的區(qū)的至少一個(gè)內(nèi)存塊中的至少一個(gè) 遷移信息,依次將所述待遷移數(shù)據(jù)遷移到所述目的節(jié)點(diǎn)上的內(nèi)存塊中。5. 如權(quán)利要求3或4所述的方法,其特征在于,所述將所述至少一個(gè)遷移信息寫(xiě)入所 述BE中的至少一個(gè)區(qū)中的至少一個(gè)內(nèi)存塊中,以使所述BE根據(jù)所述至少一個(gè)遷移信息控 制將所述待遷移數(shù)據(jù)遷移到所述目的節(jié)點(diǎn)上的內(nèi)存塊中,還包括: 將所述數(shù)據(jù)遷移請(qǐng)求劃分為一個(gè)遷移任務(wù); 當(dāng)所述存儲(chǔ)系統(tǒng)中存在至少一個(gè)遷移任務(wù)時(shí),所述至少一個(gè)遷移任務(wù)由至少一個(gè)BE 依次或同時(shí)進(jìn)行遷移。6. -種內(nèi)存遷移方法,其特征在于,包括: 當(dāng)接收到將存儲(chǔ)系統(tǒng)中的任意一個(gè)源節(jié)點(diǎn)中的待遷移數(shù)據(jù)進(jìn)行劃分的指令時(shí),根據(jù)所 述待遷移數(shù)據(jù)的物理地址的連續(xù)性,將所述待遷移數(shù)據(jù)按內(nèi)存塊進(jìn)行劃分,每個(gè)內(nèi)存塊中 所述待遷移數(shù)據(jù)的物理地址是連續(xù)的,確定所述待遷移數(shù)據(jù)劃分后所占用的源節(jié)點(diǎn)的內(nèi)存 塊數(shù); 接收獲取對(duì)應(yīng)所述待遷移數(shù)據(jù)的目的節(jié)點(diǎn)的內(nèi)存塊的指令,在所述目的節(jié)點(diǎn)上保留與 所述待遷移數(shù)據(jù)劃分后所占用的源節(jié)點(diǎn)的內(nèi)存塊數(shù)一致的內(nèi)存塊; 當(dāng)接收到內(nèi)存遷移指令時(shí),將所述待遷移數(shù)據(jù)按劃分后的內(nèi)存塊遷移到所述目的節(jié)點(diǎn) 上的內(nèi)存塊中。7. 如權(quán)利要求6所述的方法,其特征在于,所述存儲(chǔ)系統(tǒng)包括至少兩個(gè)節(jié)點(diǎn),所述至少 兩個(gè)節(jié)點(diǎn)通過(guò)互聯(lián)模塊連接,每個(gè)所述互聯(lián)模塊中包含一個(gè)BE ; 所述當(dāng)接收到內(nèi)存遷移指令時(shí),將所述待遷移數(shù)據(jù)按劃分后的內(nèi)存塊遷移到所述目的 節(jié)點(diǎn)上的內(nèi)存塊中,包括: 當(dāng)所述源節(jié)點(diǎn)和目的節(jié)點(diǎn)不為同一個(gè)節(jié)點(diǎn)時(shí),根據(jù)所述待遷移數(shù)據(jù)劃分后所占用的源 節(jié)點(diǎn)的內(nèi)存塊數(shù)和保留的目的節(jié)點(diǎn)的內(nèi)存塊數(shù),所述源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的硬件加速引 擎BE控制將所述待遷移數(shù)據(jù)從所述源節(jié)點(diǎn)遷移到所述目的節(jié)點(diǎn)。8. 如權(quán)利要求7所述的方法,其特征在于,所述當(dāng)所述源節(jié)點(diǎn)和目的節(jié)點(diǎn)不為同一個(gè) 節(jié)點(diǎn)時(shí),根據(jù)所述待遷移數(shù)據(jù)劃分后所占用的源節(jié)點(diǎn)的內(nèi)存塊數(shù)和保留的目的節(jié)點(diǎn)的內(nèi)存 塊數(shù),所述源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的硬件加速引擎BE控制將所述待遷移數(shù)據(jù)從所述源節(jié) 點(diǎn)遷移到所述目的節(jié)點(diǎn),包括: 當(dāng)接收到至少一個(gè)遷移信息的寫(xiě)入指令時(shí),所述BE將所述至少一個(gè)遷移信息寫(xiě)入所 述BE中的至少一個(gè)區(qū)中的至少一個(gè)內(nèi)存塊中,所述至少一個(gè)遷移信息包括進(jìn)行遷移的源 節(jié)點(diǎn)的每一個(gè)內(nèi)存塊的起始地址、目的節(jié)點(diǎn)的每一個(gè)內(nèi)存塊的起始地址、進(jìn)行遷移的源節(jié) 點(diǎn)或目的節(jié)點(diǎn)的每一個(gè)內(nèi)存塊的塊長(zhǎng)度以及所述源節(jié)點(diǎn)或目的節(jié)點(diǎn)中當(dāng)前進(jìn)行遷移的內(nèi) 存塊是否是最后一塊的標(biāo)識(shí),其中,所述BE包括至少一個(gè)區(qū),所述至少一個(gè)區(qū)中的每個(gè)區(qū) 包括至少一個(gè)內(nèi)存塊; 所述BE根據(jù)所述至少一個(gè)遷移信息控制將所述待遷移數(shù)據(jù)遷移到所述目的節(jié)點(diǎn)上的 內(nèi)存塊中; 當(dāng)所述BE中具有所述至少一個(gè)區(qū)的最后一塊標(biāo)識(shí)的內(nèi)存塊遷移完成后,所述BE通過(guò) 基本輸入輸出系統(tǒng)BIOS發(fā)送遷移完成通知。9. 如權(quán)利要求8所述的方法,其特征在于,所述當(dāng)接收到至少一個(gè)遷移信息的寫(xiě)入指 令時(shí),所述BE將所述至少一個(gè)遷移信息寫(xiě)入所述BE中的至少一個(gè)區(qū)中的至少一個(gè)內(nèi)存塊 中,包括: 根據(jù)確定的進(jìn)行所述遷移所需的區(qū)的個(gè)數(shù)和/或輪流使用每個(gè)所述區(qū)進(jìn)行遷移的次 數(shù),所述BE將所述至少一個(gè)遷移信息依次寫(xiě)入所述BE中的所述工作狀態(tài)為空閑狀態(tài)的一 個(gè)區(qū)的至少一個(gè)內(nèi)存塊中; 所述BE根據(jù)所述至少一個(gè)遷移信息控制將所述待遷移數(shù)據(jù)遷移到所述目的節(jié)點(diǎn)上的 內(nèi)存塊中,包括: 所述BE根據(jù)所述空閑狀態(tài)的區(qū)的至少一個(gè)內(nèi)存塊中的至少一個(gè)遷移信息,依次將所 述待遷移數(shù)據(jù)遷移到所述目的節(jié)點(diǎn)上的內(nèi)存塊中。10. -種內(nèi)存遷移裝置,其特征在于,包括: 第一確定單元,用于當(dāng)接收到對(duì)存儲(chǔ)系統(tǒng)中的任意一個(gè)源節(jié)點(diǎn)的內(nèi)存數(shù)據(jù)遷移請(qǐng)求 時(shí),根據(jù)待遷移數(shù)據(jù)的物理地址的連續(xù)性,將所述待遷移數(shù)據(jù)按內(nèi)存塊進(jìn)行劃分,每個(gè)內(nèi)存 塊中所述待遷移數(shù)據(jù)的物理地址是連續(xù)的,確定所述待遷移數(shù)據(jù)劃分后所占用的源節(jié)點(diǎn)的 內(nèi)存塊數(shù); 第一獲取單元,用于獲取所述存儲(chǔ)系統(tǒng)中的目的節(jié)點(diǎn)上與所述待遷移數(shù)據(jù)劃分后所占 用的源節(jié)點(diǎn)的內(nèi)存塊數(shù)一致的內(nèi)存塊; 遷移單元,用于將所述待遷移數(shù)據(jù)按劃分后的內(nèi)存塊遷移到所述目的節(jié)點(diǎn)上的內(nèi)存塊 中。11. 如權(quán)利要求10所述的裝置,其特征在于,所述遷移單元具體用于: 當(dāng)所述源節(jié)點(diǎn)和目的節(jié)點(diǎn)不為同一個(gè)節(jié)點(diǎn)時(shí),根據(jù)所述待遷移數(shù)據(jù)劃分后所占用的源 節(jié)點(diǎn)的內(nèi)存塊數(shù)和獲取的目的節(jié)點(diǎn)的內(nèi)存塊數(shù),由所述源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的硬件加速 引擎BE控制將所述待遷移數(shù)據(jù)從所述源節(jié)點(diǎn)遷移到所述目的節(jié)點(diǎn);其中,所述存儲(chǔ)系統(tǒng)包 括至少兩個(gè)節(jié)點(diǎn),所述至少兩個(gè)節(jié)點(diǎn)通過(guò)互聯(lián)模塊連接,每個(gè)所述互聯(lián)模塊中包含一個(gè)BE。12. 如權(quán)利要求11所述的裝置,其特征在于,所述遷移單元包括: 生成單元,用于根據(jù)所述待遷移數(shù)據(jù)劃分后所占用的源節(jié)點(diǎn)的內(nèi)存塊數(shù)和獲取的目的 節(jié)點(diǎn)的內(nèi)存塊數(shù),生成至少一個(gè)遷移信息,所述至少一個(gè)遷移信息包括進(jìn)行遷移的源節(jié)點(diǎn) 的每一個(gè)內(nèi)存塊的起始地址、目的節(jié)點(diǎn)的每一個(gè)內(nèi)存塊的起始地址、進(jìn)行遷移的源節(jié)點(diǎn)或 目的節(jié)點(diǎn)的每一個(gè)內(nèi)存塊的塊長(zhǎng)度以及所述源節(jié)點(diǎn)或目的節(jié)點(diǎn)中當(dāng)前進(jìn)行遷移的內(nèi)存塊 是否是最后一塊的標(biāo)識(shí),其中,所述BE包括至少一個(gè)區(qū),所述至少一個(gè)區(qū)中的每個(gè)區(qū)包括 至少一個(gè)內(nèi)存塊; 第一寫(xiě)入單元,用于將所述至少一個(gè)遷移信息寫(xiě)入所述BE中的至少一個(gè)區(qū)中的至少 一個(gè)內(nèi)存塊中,以使所述BE根據(jù)所述至少一個(gè)遷移信息控制將所述待遷移數(shù)據(jù)遷移到所 述目的節(jié)點(diǎn)上的內(nèi)存塊中; 接收單元,用于當(dāng)所述BE中具有所述最后一塊的標(biāo)識(shí)的內(nèi)存塊遷移完成后,接收所述 BE通過(guò)基本輸入輸出系統(tǒng)BIOS發(fā)送的遷移完成通知。13. 如權(quán)利要求12所述的裝置,其特征在于,所述第一寫(xiě)入單元包括: 第二確定單元,用于根據(jù)所述至少一個(gè)遷移信息以及所述BE的區(qū)的個(gè)數(shù)和每個(gè)區(qū)中 內(nèi)存塊的個(gè)數(shù),確定進(jìn)行所述遷移所需的區(qū)的個(gè)數(shù)和/或輪流使用每個(gè)所述區(qū)進(jìn)行遷移的 次數(shù); 第二獲取單元,用于獲取所述BE的至少一個(gè)區(qū)中每個(gè)區(qū)的工作狀態(tài); 第二寫(xiě)入單元,用于將所述至少一個(gè)遷移信息依次寫(xiě)入所述BE中的所述工作狀態(tài)為 空閑狀態(tài)的一個(gè)區(qū)的至少一個(gè)內(nèi)存塊中,以使所述BE根據(jù)所述空閑狀態(tài)的區(qū)的至少一個(gè) 內(nèi)存塊中的至少一個(gè)遷移信息,依次將所述待遷移數(shù)據(jù)遷移到所述目的節(jié)點(diǎn)上的內(nèi)存塊 中。14. 如權(quán)利要求12或13所述的裝置,其特征在于,還包括: 劃分單元,用于將所述數(shù)據(jù)遷移請(qǐng)求劃分為一個(gè)遷移任務(wù); 所述遷移單元用于當(dāng)所述存儲(chǔ)系統(tǒng)中存在至少一個(gè)遷移任務(wù)時(shí),所述至少一個(gè)遷移任 務(wù)由至少一個(gè)BE依次或同時(shí)進(jìn)行遷移。15. -種內(nèi)存遷移裝置,其特征在于,所述內(nèi)存遷移裝置位于存儲(chǔ)系統(tǒng)中,所述存儲(chǔ)系 統(tǒng)包括至少一個(gè)節(jié)點(diǎn),所述裝置包括: 確定單元,用于當(dāng)接收到將存儲(chǔ)系統(tǒng)中的任意一個(gè)源節(jié)點(diǎn)中的待遷移數(shù)據(jù)進(jìn)行劃分的 指令時(shí),根據(jù)所述待遷移數(shù)據(jù)的物理地址的連續(xù)性,將所述待遷移數(shù)據(jù)按內(nèi)存塊進(jìn)行劃分, 每個(gè)內(nèi)存塊中所述待遷移數(shù)據(jù)的物理地址是連續(xù)的,確定所述待遷移數(shù)據(jù)劃分后所占用的 源節(jié)點(diǎn)的內(nèi)存塊數(shù); 保留單元,用于接收獲取對(duì)應(yīng)所述待遷移數(shù)據(jù)的目的節(jié)點(diǎn)的內(nèi)存塊的指令,在所述目 的節(jié)點(diǎn)上保留與所述待遷移數(shù)據(jù)劃分后所占用的源節(jié)點(diǎn)的內(nèi)存塊數(shù)一致的內(nèi)存塊; 遷移單元,用于當(dāng)接收到內(nèi)存遷移指令時(shí),將所述待遷移數(shù)據(jù)按劃分后的內(nèi)存塊遷移 到所述目的節(jié)點(diǎn)上的內(nèi)存塊中。16. 如權(quán)利要求15所述的裝置,其特征在于,所述存儲(chǔ)系統(tǒng)包括至少兩個(gè)節(jié)點(diǎn),所述至 少兩個(gè)節(jié)點(diǎn)通過(guò)互聯(lián)模塊連接,每個(gè)所述互聯(lián)模塊中包含一個(gè)硬件加速引擎BE ; 所述遷移單元為所述BE,所述BE用于當(dāng)所述源節(jié)點(diǎn)和目的節(jié)點(diǎn)不為同一個(gè)節(jié)點(diǎn)時(shí),根 據(jù)所述待遷移數(shù)據(jù)劃分后所占用的源節(jié)點(diǎn)的內(nèi)存塊數(shù)和保留的目的節(jié)點(diǎn)的內(nèi)存塊數(shù),所述 源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的BE控制將所述待遷移數(shù)據(jù)從所述源節(jié)點(diǎn)遷移到所述目的節(jié)點(diǎn)。17. 如權(quán)利要求16所述的裝置,其特征在于,所述BE用于: 當(dāng)接收到至少一個(gè)遷移信息的寫(xiě)入指令時(shí),將所述至少一個(gè)遷移信息寫(xiě)入所述BE中 的至少一個(gè)區(qū)中的至少一個(gè)內(nèi)存塊中,所述至少一個(gè)遷移信息包括進(jìn)行遷移的源節(jié)點(diǎn)的每 一個(gè)內(nèi)存塊的起始地址、目的節(jié)點(diǎn)的每一個(gè)內(nèi)存塊的起始地址、進(jìn)行遷移的源節(jié)點(diǎn)或目的 節(jié)點(diǎn)的每一個(gè)內(nèi)存塊的塊長(zhǎng)度以及所述源節(jié)點(diǎn)或目的節(jié)點(diǎn)中當(dāng)前進(jìn)行遷移的內(nèi)存塊是否 是最后一塊的標(biāo)識(shí),其中,所述BE包括至少一個(gè)區(qū),所述至少一個(gè)區(qū)中的每個(gè)區(qū)包括至少 一個(gè)內(nèi)存塊;以及 根據(jù)所述至少一個(gè)遷移信息控制將所述待遷移數(shù)據(jù)遷移到所述目的節(jié)點(diǎn)上的內(nèi)存塊 中;以及 當(dāng)所述BE中具有所述最后一塊的標(biāo)識(shí)的內(nèi)存塊遷移完成后,通過(guò)基本輸入輸出系統(tǒng) BIOS發(fā)送遷移完成通知。18. 如權(quán)利要求17所述的裝置,其特征在于,所述BE用于: 根據(jù)確定的進(jìn)行所述遷移所需的區(qū)的個(gè)數(shù)和/或輪流使用每個(gè)所述區(qū)進(jìn)行遷移的次 數(shù),將所述至少一個(gè)遷移信息依次寫(xiě)入所述BE中的所述工作狀態(tài)為空閑狀態(tài)的一個(gè)區(qū)的 至少一個(gè)內(nèi)存塊中;以及 根據(jù)所述空閑狀態(tài)的區(qū)的至少一個(gè)內(nèi)存塊中的至少一個(gè)遷移信息,依次將所述待遷移 數(shù)據(jù)遷移到所述目的節(jié)點(diǎn)上的內(nèi)存塊中。
【專(zhuān)利摘要】一種內(nèi)存遷移方法及裝置。該方法包括:當(dāng)接收到存儲(chǔ)系統(tǒng)中的任意一個(gè)源節(jié)點(diǎn)的內(nèi)存數(shù)據(jù)遷移請(qǐng)求時(shí),根據(jù)待遷移數(shù)據(jù)的物理地址的連續(xù)性,將待遷移數(shù)據(jù)按內(nèi)存塊進(jìn)行劃分,確定待遷移數(shù)據(jù)劃分后所占用的源節(jié)點(diǎn)的內(nèi)存塊數(shù);獲取存儲(chǔ)系統(tǒng)中的目的節(jié)點(diǎn)上與待遷移數(shù)據(jù)劃分后所占用的源節(jié)點(diǎn)的內(nèi)存塊數(shù)一致的內(nèi)存塊;將待遷移數(shù)據(jù)按劃分后的內(nèi)存塊遷移到目的節(jié)點(diǎn)上的內(nèi)存塊中。還公開(kāi)了相應(yīng)的裝置。本發(fā)明實(shí)施例通過(guò)在源節(jié)點(diǎn)將待遷移數(shù)據(jù)按照內(nèi)存塊進(jìn)行合并劃分,在目的節(jié)點(diǎn)上獲取物理地址連續(xù)的內(nèi)存塊,按照內(nèi)存塊將待遷移數(shù)據(jù)從源節(jié)點(diǎn)遷移到目的節(jié)點(diǎn)的內(nèi)存塊中,可以在內(nèi)存遷移過(guò)程中,減少遷移時(shí)的上下文切換,提高內(nèi)存遷移的效率。
【IPC分類(lèi)】G06F12/06
【公開(kāi)號(hào)】CN105159841
【申請(qǐng)?zhí)枴緾N201410265874
【發(fā)明人】徐彩虹, 張文濤, 褚力行
【申請(qǐng)人】華為技術(shù)有限公司
【公開(kāi)日】2015年12月16日
【申請(qǐng)日】2014年6月13日