亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

存儲設(shè)備間移動數(shù)據(jù)的方法、控制器和存儲系統(tǒng)的制作方法

文檔序號:9687350閱讀:737來源:國知局
存儲設(shè)備間移動數(shù)據(jù)的方法、控制器和存儲系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實施例涉及存儲技術(shù),尤其涉及一種存儲設(shè)備間移動數(shù)據(jù)的方法、控制器和存儲系統(tǒng)。
【背景技術(shù)】
[0002]一體化存儲(Unified Accessing Storage,以下簡稱:UAS)系統(tǒng)中可以包括多種不同特性的存儲設(shè)備,如可以包括動態(tài)隨機訪問存儲器(Dynamic Random Access Memory,以下簡稱:DRAM)、非易失性存儲器(Non-Volatile Memory,以下簡稱:NVM)、基于Flash的固態(tài)硬盤(Flash-based Solid State Disk,以下簡稱:Flash-based SSD)、磁盤(HardDisk,以下簡稱:HDD)等。這些不同特性的存儲設(shè)備都通過內(nèi)存總線或者其它互連方式連接到CPU。一體化存儲系統(tǒng)對不同特性的存儲設(shè)備進行統(tǒng)一編址,CPU可以尋址到整個存儲系統(tǒng)的各個地址空間,從而可以針對一體化存儲系統(tǒng)中的各個存儲設(shè)備進行存取訪問。
[0003]為了更好地利用一體化存儲系統(tǒng)的性能,需要支持應(yīng)用程序在一體化存儲系統(tǒng)的不同存儲設(shè)備間移動數(shù)據(jù)。因此,如何使應(yīng)用程序能夠在一體化存儲系統(tǒng)的不同存儲設(shè)備間移動數(shù)據(jù),成為亟待解決的技術(shù)問題。

【發(fā)明內(nèi)容】

[0004]本發(fā)明實施例提供一種存儲設(shè)備間移動數(shù)據(jù)的方法、控制器和存儲系統(tǒng)。
[0005]第一方面,提供一種存儲設(shè)備間移動數(shù)據(jù)的方法,包括:
[0006]一體化存儲UAS控制器接收用戶空間庫發(fā)送的數(shù)據(jù)移動請求,所述數(shù)據(jù)移動請求包括源存儲設(shè)備的源地址、目的存儲設(shè)備的目的地址以及所需移動的數(shù)據(jù)大小,所述數(shù)據(jù)移動請求為所述用戶空間庫接收到應(yīng)用程序?qū)λ鲇脩艨臻g庫中的數(shù)據(jù)移動應(yīng)用程序接口 API的調(diào)用請求時發(fā)送的;
[0007]所述UAS控制器根據(jù)所述源地址、目的地址以及數(shù)據(jù)大小,將待移動數(shù)據(jù)從所述源存儲設(shè)備移動到目的存儲設(shè)備。
[0008]第二方面,提供一種UAS控制器,包括:
[0009]接收模塊,用于接收用戶空間庫發(fā)送的數(shù)據(jù)移動請求,所述數(shù)據(jù)移動請求包括源存儲設(shè)備的源地址、目的存儲設(shè)備的目的地址以及所需移動的數(shù)據(jù)大小,所述數(shù)據(jù)移動請求為所述用戶空間庫接收到應(yīng)用程序?qū)λ鲇脩艨臻g庫中的數(shù)據(jù)移動應(yīng)用程序接口 API的調(diào)用請求時發(fā)送的;
[0010]數(shù)據(jù)移動模塊,用于根據(jù)所述源地址、目的地址以及數(shù)據(jù)大小,將待移動數(shù)據(jù)從所述源存儲設(shè)備移動到目的存儲設(shè)備。
[0011]第三方面,提供一種UAS系統(tǒng),包括:UAS控制器和與所述UAS控制器連接的至少兩個存儲設(shè)備,所述UAS控制器采用上述的UAS控制器。
[0012]本發(fā)明上述實施例,通過在用戶空間庫中增加數(shù)據(jù)移動API,從而使得應(yīng)用程序可以通過調(diào)用該用戶空間庫中的API,向UAS控制器發(fā)送數(shù)據(jù)移動請求;UAS控制器在接收到數(shù)據(jù)移動請求之后,可以根據(jù)該請求中包含的源存儲設(shè)備的源地址、目的存儲設(shè)備的目的地址以及所需移動的數(shù)據(jù)大小,將所需移動的數(shù)據(jù)從源存儲設(shè)備移動到目的存儲設(shè)備,從而可以完成兩個存儲設(shè)備間的數(shù)據(jù)移動。因此,本發(fā)明實施例只需要開發(fā)用戶空間庫中的數(shù)據(jù)移動API,實現(xiàn)簡便;而且,本發(fā)明實施例的數(shù)據(jù)移動過程,在用戶態(tài)即可實現(xiàn)兩個存儲設(shè)備之間的直接的數(shù)據(jù)移動,而無需操作系統(tǒng)參與,無需進入內(nèi)核態(tài),從而可以節(jié)約系統(tǒng)開銷。
【附圖說明】
[0013]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0014]圖1為本發(fā)明存儲設(shè)備間移動數(shù)據(jù)的方法實施例一的流程圖;
[0015]圖2為圖1所示方法所應(yīng)用的系統(tǒng)架構(gòu)圖;
[0016]圖3為本發(fā)明存儲設(shè)備間移動數(shù)據(jù)的方法實施例二的流程圖;
[0017]圖4為本發(fā)明UAS控制器實施例的結(jié)構(gòu)示意圖;
[0018]圖5為本發(fā)明UAS系統(tǒng)實施例的結(jié)構(gòu)示意圖。
【具體實施方式】
[0019]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0020]圖1為本發(fā)明存儲設(shè)備間移動數(shù)據(jù)的方法實施例一的流程圖,圖2為圖1所示方法所應(yīng)用的系統(tǒng)架構(gòu)圖,如圖1和2所示,本實施例的方法可以包括:
[0021]S101、UAS控制器接收用戶空間庫發(fā)送的數(shù)據(jù)移動請求,該數(shù)據(jù)移動請求包括源存儲設(shè)備的源地址、目的存儲設(shè)備的目的地址以及所需移動的數(shù)據(jù)大小,數(shù)據(jù)移動請求為用戶空間庫接收到應(yīng)用程序?qū)τ脩艨臻g庫中的數(shù)據(jù)移動應(yīng)用程序接口(Applicat1nProgramming Interface,以下簡稱:API)的調(diào)用請求時發(fā)送的;
[0022]S102、UAS控制器根據(jù)源地址、目的地址以及數(shù)據(jù)大小,將待移動數(shù)據(jù)從源存儲設(shè)備移動到目的存儲設(shè)備。
[0023]具體來說,本實施例所采用的系統(tǒng)架構(gòu)包括軟件部分和硬件部分,其中,軟件部分包括應(yīng)用程序和用戶空間庫,硬件部分包括UAS控制器和與該UAS控制器連接的DRAM、NVM、Flash-based SSD、HDD等多種不同特性的存儲設(shè)備,UAS控制器可以控制這些存儲設(shè)備上的數(shù)據(jù)操作。應(yīng)用程序可以調(diào)用用戶空間庫中提供的API,從而可以通過用戶空間庫向UAS控制器發(fā)送訪問請求,以訪問存儲設(shè)備中的數(shù)據(jù)。
[0024]為了實現(xiàn)本實施例的技術(shù)方案,可以在用戶空間庫中增加一個數(shù)據(jù)移動API (以下簡稱:moVe API), move API的基本參數(shù)可以包括待移動數(shù)據(jù)所在源存儲設(shè)備的源地址src_addr、目的存儲設(shè)備的目的地址dest_addr以及所需移動的數(shù)據(jù)大小data_size,該接口函數(shù)可以表征為 void move (src_addr, dest_addr, data_size,......)。
[0025]應(yīng)用程序可以向用戶空間庫發(fā)送調(diào)用請求,以調(diào)用用戶空間庫中的move API,即可將從源地址src_addr開始的data_size大小的數(shù)據(jù)塊移動到目的地址dest_addr開始的位置。
[0026]用戶空間庫在接收到應(yīng)用程序?qū)υ搈ove API的調(diào)用時,即可向UAS控制器發(fā)送數(shù)據(jù)移動請求,該數(shù)據(jù)移動請求即可將應(yīng)用程序調(diào)用move API時發(fā)送的源存儲設(shè)備的源地址src_addr、目的存儲設(shè)備的目的地址dest_addr以及所需移動的數(shù)據(jù)大小data_size傳送給UAS控制器。
[0027]UAS控制器在接收到用戶空間庫發(fā)送的數(shù)據(jù)移動請求后,即可根據(jù)該數(shù)據(jù)移動請求中所包含的源存儲設(shè)備的源地址src_addr、目的存儲設(shè)備的目的地址dest_addr以及所需移動的數(shù)據(jù)大小data_Size,將所需移動的數(shù)據(jù)從源存儲設(shè)備移動到目的存儲設(shè)備。
[0028]在具體實現(xiàn)數(shù)據(jù)移動時,UAS控制器可以先將源地址轉(zhuǎn)換為源物理地址,并將目的地址轉(zhuǎn)換為目的物理地址;然后可以確定從源物理地址開始的數(shù)據(jù)大小的數(shù)據(jù)塊為待移動數(shù)據(jù);并將待移動數(shù)據(jù)從源物理地址移動到目的物理地址。
[0029]可選的,應(yīng)用程序在調(diào)用用戶空間庫中的move API時,還可以進一步設(shè)置一數(shù)據(jù)有效標志位,即valid標志。該標志位用于表示是否保留源地址上的數(shù)據(jù);相應(yīng)的,用戶空間庫在向UAS控制器發(fā)送數(shù)據(jù)移動請求時,可以將該數(shù)據(jù)有效標志位攜帶在數(shù)據(jù)移動請求中,從而使得UAS控制器可以獲知在數(shù)據(jù)移動時,是否需要保留源地址上的數(shù)據(jù)。相應(yīng)的,UAS控制器在根據(jù)源地址、目的地址以及數(shù)據(jù)大小,將待移動數(shù)據(jù)從源存儲設(shè)備移動到目的
當(dāng)前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1