亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

存儲數(shù)據(jù)的方法、存儲器和計算機系統(tǒng)與流程

文檔序號:11949346閱讀:809來源:國知局
存儲數(shù)據(jù)的方法、存儲器和計算機系統(tǒng)與流程

本發(fā)明涉及計算機領(lǐng)域,并且更具體地,涉及存儲數(shù)據(jù)的方法、存儲器和計算機系統(tǒng)。



背景技術(shù):

目前,在計算機系統(tǒng)中,存儲器中的每個存儲介質(zhì)(或者說,存儲單元)對應一個物理地址和邏輯地址,并且,存儲器保存有多個物理地址和多個邏輯地址之間的一一映射關(guān)系(以下,為了便于理解和區(qū)分,記做,映射關(guān)系#1)。

處理器可以根據(jù)邏輯地址進行數(shù)據(jù)讀寫操作,例如,某一應用需要存儲數(shù)據(jù)時,處理器可以根據(jù)例如,所要存儲的數(shù)據(jù)的大小等,確定用于存儲該數(shù)據(jù)的存儲介質(zhì)的邏輯地址,其后,將攜帶有該數(shù)據(jù)和所確定的邏輯地址的數(shù)據(jù)寫請求發(fā)送至存儲器,存儲器根據(jù)該映射關(guān)系#1,確定所接收到的邏輯地址所對應的物理地址,并將所接收到的數(shù)據(jù)存儲在該物理地址所指示的存儲介質(zhì)。

再例如,某一應用需要讀取存儲在存儲器中的數(shù)據(jù)時,處理器獲取在存儲該數(shù)據(jù)時記錄的該數(shù)據(jù)的邏輯地址,并將攜帶有該邏輯地址的數(shù)據(jù)讀請求發(fā)送至存儲器,存儲器根據(jù)該映射關(guān)系#1,確定所接收到的邏輯地址所對應的物理地址,并將該物理地址所指示的存儲介質(zhì)中保存的數(shù)據(jù)返回至處理器。

并且,在處理器中還需要存儲多個索引(一個索引用于唯一地標識一個數(shù)據(jù))與多個邏輯地址的映射關(guān)系(以下,為了便于理解和區(qū)分,記做,映射關(guān)系#2)。即,處理器需要根據(jù)各應用所需要的處理的數(shù)據(jù)的索引,基于該映射關(guān)系#2,確定該數(shù)據(jù)所對應的邏輯地址。

因此,在現(xiàn)有技術(shù)中,在進行數(shù)據(jù)存儲處理時,需要進行兩次地址轉(zhuǎn)換,即,在處理器進行基于映射關(guān)系#2的從索引到邏輯地址的轉(zhuǎn)換,在存儲器進行從邏輯地址到物理地址的轉(zhuǎn)換。該兩次地址轉(zhuǎn)換需要消耗大量的資源(例如,內(nèi)存資源),并且造成數(shù)據(jù)存儲的處理時延較長。

希望提供一種技術(shù),能夠降低資源的開銷,減小數(shù)據(jù)存儲的處理時延。



技術(shù)實現(xiàn)要素:

本發(fā)明實施例提供一種存儲數(shù)據(jù)的方法、存儲器和計算機系統(tǒng),能夠降低資源開銷,減小數(shù)據(jù)存儲的處理時延。

第一方面,提供了一種存儲數(shù)據(jù)的方法,該方法包括:存儲器接收服務器發(fā)送的數(shù)據(jù)存儲請求,該數(shù)據(jù)存儲請求用于指示在該存儲器中存儲數(shù)據(jù),該數(shù)據(jù)存儲請求包括數(shù)據(jù)和該數(shù)據(jù)的索引,該數(shù)據(jù)的索引用于唯一標識該數(shù)據(jù);該存儲器根據(jù)該數(shù)據(jù)存儲請求,存儲該數(shù)據(jù),并確定用于存儲該數(shù)據(jù)的存儲單元的地址;該存儲器生成映射關(guān)系信息,該映射關(guān)系信息用于指示該地址與該數(shù)據(jù)的索引之間的映射關(guān)系。

根據(jù)本發(fā)明實施例的存儲數(shù)據(jù)的方法,通過使服務器(例如,處理器)在存儲數(shù)據(jù)時,將所要存儲的數(shù)據(jù)和該數(shù)據(jù)的索引發(fā)送給存儲器,該服務器能夠在存儲介質(zhì)中存儲該數(shù)據(jù),并記錄該存儲介質(zhì)的地址(例如,物理地址)與該數(shù)據(jù)的索引的映射關(guān)系,從而,能夠支持在讀取或刪除該數(shù)據(jù)時,服務器可以在處理指令中攜帶該數(shù)據(jù)的索引,存儲器能夠基于該映射關(guān)系,確定該存儲該數(shù)據(jù)的存儲介質(zhì)的物理地址,進而在該存儲介質(zhì)中進行相關(guān)操作,從而,無需在服務器中保存數(shù)據(jù)的索引與邏輯地址之間的映射關(guān)系,并且,無需在存儲器中保存物理地址與邏輯地址的映射關(guān)系,進而,無需在數(shù)據(jù)存儲過程中,進行基于該映射關(guān)系的地址轉(zhuǎn)換,能夠降低資源開銷,并且,減小數(shù)據(jù)存儲的處理時延。

在第一方面的一種可能的實施方式中,該方法還包括:該存儲器接收該服務器發(fā)送的數(shù)據(jù)處理請求,該數(shù)據(jù)處理請求用于指示對該數(shù)據(jù)進行處理,該數(shù)據(jù)處理請求包括該數(shù)據(jù)的索引;

該存儲器根據(jù)該數(shù)據(jù)的索引和該映射關(guān)系信息,確定該地址;

該存儲器根據(jù)該數(shù)據(jù)處理請求,在該地址所對應的存儲單元中對該數(shù)據(jù)進行處理。

通過基于在存儲數(shù)據(jù)時所保存的第一映射關(guān)系進行后續(xù)數(shù)據(jù)處理,能夠在后續(xù)處理中進一步降低資源開銷,減小數(shù)據(jù)存儲的處理時延。

在第一方面的另一種可能的實施方式中,該存儲器根據(jù)該數(shù)據(jù)處理請求,在該地址所對應的存儲單元中對該數(shù)據(jù)進行處理,包括:當該數(shù)據(jù)處理請求為數(shù)據(jù)讀取請求時,該存儲器從該地址所對應的存儲單元中獲取該數(shù)據(jù),并向該服務器發(fā)送該數(shù)據(jù);或當該數(shù)據(jù)處理請求為數(shù)據(jù)刪除請求時,該存儲器從該地址所對應的存儲單元中刪除該數(shù)據(jù)。

第二方面,提供了一種存儲數(shù)據(jù)的方法,該方法包括:存儲器接收服務器發(fā)送的數(shù)據(jù)處理請求,該數(shù)據(jù)處理請求用于指示對數(shù)據(jù)進行處理,該數(shù)據(jù)處理請求包括該數(shù)據(jù)的索引,該數(shù)據(jù)的索引用于唯一標識該數(shù)據(jù);該存儲器根據(jù)該數(shù)據(jù)的索引和映射關(guān)系信息,確定用于存儲該數(shù)據(jù)的存儲單元的地址,該映射關(guān)系信息用于指示該數(shù)據(jù)的索引與該地址之間的映射關(guān)系;該存儲器根據(jù)該數(shù)據(jù)處理請求,在該地址所對應的存儲單元中對該數(shù)據(jù)進行處理。

根據(jù)本發(fā)明實施例的存儲數(shù)據(jù)的方法,通過使存儲器獲取存儲介質(zhì)的物理地址與數(shù)據(jù)的索引的映射關(guān)系,從而,在接收到處理器發(fā)送的攜帶有索引的數(shù)據(jù)處理指令時,存儲器能夠基于該映射關(guān)系,確定該存儲該數(shù)據(jù)的存儲介質(zhì)的物理地址,進而在該存儲介質(zhì)中進行相關(guān)操作,從而,無需在服務器(例如,處理器)中保存數(shù)據(jù)的索引與邏輯地址之間的映射關(guān)系,并且,無需在存儲器中保存物理地址與邏輯地址的映射關(guān)系,進而,無需在數(shù)據(jù)存儲過程中,進行基于該映射關(guān)系的地址轉(zhuǎn)換,能夠降低資源開銷,并且,減小數(shù)據(jù)存儲的處理時延。

在第二方面的一種可能的實施方式中,該方法還包括:該存儲器根據(jù)該數(shù)據(jù)處理請求,在該地址所對應的存儲單元中對該數(shù)據(jù)進行處理,包括:當該數(shù)據(jù)處理請求為數(shù)據(jù)讀取請求時,該存儲器從該地址所對應的存儲單元中獲取該數(shù)據(jù),并向該服務器發(fā)送該數(shù)據(jù);或當該數(shù)據(jù)處理請求為數(shù)據(jù)刪除請求時,該存儲器從該地址所對應的存儲單元中刪除該數(shù)據(jù)。

第三方面,提供了一種存儲數(shù)據(jù)的裝置,包括用于執(zhí)行上述第一方面以及第一方面的各實現(xiàn)方式種的任一種存儲數(shù)據(jù)的方法的各步驟的單元。

第四方面,提供了一種設(shè)存儲數(shù)據(jù)的裝置,包括用于執(zhí)行上述第二方面以及第二方面的各實現(xiàn)方式種的任一種存儲數(shù)據(jù)的方法的各步驟的單元。

第五方面,提供了一種存儲器,能夠調(diào)用并運行計算機程序,使得存儲器執(zhí)行上述第一方面及其各種實現(xiàn)方式中的任一種存儲數(shù)據(jù)的方法。

第六方面,提供了一種存儲器,能夠調(diào)用并運行計算機程序,使得存儲器執(zhí)行上述第二方面及其各種實現(xiàn)方式中的任一種存儲數(shù)據(jù)的方法。

第七方面,提供了一種計算機系統(tǒng),該計算機系統(tǒng)包括:服務器,用于確定數(shù)據(jù)的索引,向存儲器發(fā)送數(shù)據(jù)存儲請求,該數(shù)據(jù)存儲請求用于指示在該存儲器中存儲數(shù)據(jù),該數(shù)據(jù)存儲請求包括該數(shù)據(jù)和該數(shù)據(jù)的索引,該數(shù)據(jù)的索引用于唯一標識該數(shù)據(jù);存儲器,用于接收該服務器發(fā)送的數(shù)據(jù)存儲請求,根據(jù)該數(shù)據(jù)存儲請求,存儲該數(shù)據(jù),并確定用于存儲該數(shù)據(jù)的存儲單元的地址,生成映射關(guān)系信息,該映射關(guān)系信息用于指示該地址與該數(shù)據(jù)的索引之間的映射關(guān)系。

第八方面,提供了一種計算機系統(tǒng),該計算機系統(tǒng)包括:服務器,用于確定數(shù)據(jù)的索引,向該存儲器發(fā)送數(shù)據(jù)處理請求,該數(shù)據(jù)處理請求用于指示對該數(shù)據(jù)進行處理,該數(shù)據(jù)處理請求包括該數(shù)據(jù)的索引,該數(shù)據(jù)的索引用于唯一標識該數(shù)據(jù);存儲器,用于接收該服務器發(fā)送的數(shù)據(jù)處理請求,根據(jù)該數(shù)據(jù)的索引和映射關(guān)系信息,確定用于存儲該數(shù)據(jù)的存儲單元的地址,該映射關(guān)系信息用于指示該數(shù)據(jù)的索引與該地址之間的映射關(guān)系,根據(jù)該數(shù)據(jù)處理請求,在該地址所對應的存儲單元中對該數(shù)據(jù)進行處理。

第九方面,提供了一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括:計算機程序代碼,當所述計算機程序代碼被存儲器運行時,使得所述存儲器執(zhí)行上述第一方面及其各種實現(xiàn)方式中的任一種存儲數(shù)據(jù)的方法。

第十方面,提供了一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括:計算機程序代碼,當所述計算機程序代碼被存儲器運行時,使得所述存儲器執(zhí)行上述第二方面及其各種實現(xiàn)方式中的任一種存儲數(shù)據(jù)的方法。

第十一方面,提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有程序,所述程序使得存儲器執(zhí)行上述第一方面及其各種實現(xiàn)方式中的任一種存儲數(shù)據(jù)的方法。

第十二方面,提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有程序,所述程序使得存儲器執(zhí)行上述第二方面及其各種實現(xiàn)方式中的任一種存儲數(shù)據(jù)的方法。

在上述各方面的一種可能的實施方式中,該索引為鍵key,該數(shù)據(jù)為值value。

附圖說明

為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對本發(fā)明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是適用本發(fā)明實施例的存儲數(shù)據(jù)的方法和裝置的計算機系統(tǒng)的一例的示意圖。

圖2是本發(fā)明一實施例的存儲數(shù)據(jù)的方法的示意性交互圖。

圖3是本發(fā)明另一實施例的存儲數(shù)據(jù)的方法的示意性交互圖。

圖4是本發(fā)明一實施例的存儲器的示意結(jié)構(gòu)圖。

圖5是本發(fā)明另一實施例的存儲器的示意結(jié)構(gòu)圖。

圖6是本發(fā)明一實施例的計算機系統(tǒng)的示意結(jié)構(gòu)圖。

圖7是本發(fā)明另一實施例的計算機系統(tǒng)的示意結(jié)構(gòu)圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

本發(fā)明實施例提供的存儲數(shù)據(jù)的方法可以應用于計算機上,本發(fā)明實施例提供的存儲數(shù)據(jù)的裝置和設(shè)備可以配置于計算機中,該計算機包括硬件層、運行在硬件層之上的操作系統(tǒng)層,以及運行在操作系統(tǒng)層上的應用層。

該操作系統(tǒng)可以是任意一種或多種通過進程(Process)實現(xiàn)業(yè)務處理的計算機操作系統(tǒng),例如,Linux操作系統(tǒng)、Unix操作系統(tǒng)、Android操作系統(tǒng)、iOS操作系統(tǒng)或windows操作系統(tǒng)等。

該應用層包含瀏覽器、通訊錄、文字處理軟件、即時通信軟件等應用。

并且,在本發(fā)明實施例中,該計算機可以是智能手機等手持設(shè)備,也可以是個人計算機等終端設(shè)備,本發(fā)明并未特別限定,只要能夠通過運行記錄有本發(fā)明實施例的壓縮數(shù)據(jù)的方法的代碼的程序,以根據(jù)本發(fā)明實施例的壓縮數(shù)據(jù)的方法對數(shù)據(jù)進行處理即可。本發(fā)明實施例的壓縮數(shù)據(jù)的方法的執(zhí)行主體可以是計算機設(shè)備,或者,是計算機設(shè)備中能夠調(diào)用程序并執(zhí)行程序的功能模塊。

此外,本發(fā)明的各個方面或特征可以實現(xiàn)成方法、裝置或使用標準編程和/或工程技術(shù)的制品。本申請中使用的術(shù)語“制品”涵蓋可從任何計算機可讀器件、載體或介質(zhì)訪問的計算機程序。例如,計算機可讀介質(zhì)可以包括,但不限于:磁存儲器件(例如,硬盤、軟盤或磁帶等),光盤(例如,CD(Compact Disc,壓縮盤)、DVD(Digital Versatile Disc,數(shù)字通用盤)等),智能卡和閃存器件(例如,EPROM(Erasable Programmable Read-Only Memory,可擦寫可編程只讀存儲器)、卡、棒或鑰匙驅(qū)動器等)。另外,本文描述的各種存儲介質(zhì)可代表用于存儲信息的一個或多個設(shè)備和/或其它機器可讀介質(zhì)。術(shù)語“機器可讀介質(zhì)”可包括但不限于,無線信道和能夠存儲、包含和/或承載指令和/或數(shù)據(jù)的各種其它介質(zhì)。

下面,結(jié)合圖1對本發(fā)明實施例的計算機系統(tǒng)(具體地說,是計算機系統(tǒng)的硬件層)的結(jié)構(gòu)進行實例性說明。

圖1是適用本發(fā)明實施例的存儲數(shù)據(jù)的方法所應用的計算機系統(tǒng)100的示意圖。如圖1所示,該系統(tǒng)100包括:

至少一個服務器110;

至少一個存儲器120;

其中,服務器110與存儲器120通信連接。

在本發(fā)明實施例中,服務器110中設(shè)置有通信接口,并且,存儲器120中設(shè)置通信接口,從而,服務器110與存儲器120可以通過該通信接口進行通信。

在本發(fā)明實施例中,服務器110與存儲器120可以配置在同一設(shè)備中,此情況下,作為示例而非限定,該計算機系統(tǒng)100還可以包括總線130,該服務器110可以經(jīng)由通信接口與該總線130連接,該存儲器120可以經(jīng)由通信接口與該總線130連接,從而,服務器110與存儲器120可以通過該總線130實現(xiàn)通信連接。該總線130除包括數(shù)據(jù)總線之外,還可以包括電源總線、控制總線和狀態(tài)信號總線等。此情況下,服務器110的通信接口可以為計算機設(shè)備內(nèi)部器件之間的通信接口,類似地,存儲器120的通信接口可以為計算機設(shè)備內(nèi)部器件之間的通信接口。

在本發(fā)明實施例中,服務器110與存儲器120可以配置在不同設(shè)備中,此情況下,服務器110與存儲器120可以通過有線方式或無線方式通信連接,例如,在服務器110與存儲器120之間(具體地說,是服務器110的通信接口與存儲器120的通信接口之間)可以設(shè)置通信線纜(例如,光纖或銅線等),以實現(xiàn)服務器110與存儲器120之間的有線方式的通信連接。此情況下,服務器110的通信接口可以為計算機設(shè)備的用于與外部設(shè)備通信的通信接口,類似地,存儲器120的通信接口可以為計算機設(shè)備的用于與外部設(shè)備通信的通信接口。

作為示例而非限定,該服務器110可以是計算機系統(tǒng)中的處理器,例如,中央處理單元(Central Processing Unit,簡稱為“CPU”),該服務器110還可以是其他通用服務器、數(shù)字信號服務器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用服務器可以是微服務器或者該服務器也可以是任何常規(guī)的服務器等。其中,現(xiàn)場可編程門陣列(FPGA,F(xiàn)ield Programmable Gate Array),是在例如,可編程陣列邏輯(PAL,Programmable Array Logic)、通用陣列邏輯(GAL,Generic Array Logic)、復雜可編程邏輯器件(CPLD,Complex Programmable Logic Device)等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC,Application Specific Integrated Circuit)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。系統(tǒng)設(shè)計師可以根據(jù)需要通過可編輯的連接把FPGA內(nèi)部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個芯片里。一個出廠后的成品FPGA的邏輯塊和連接可以按照設(shè)計者而改變,所以FPGA可以完成所需要的邏輯功能。FPGA采用了邏輯單元陣列(LCA,Logic Cell Array),內(nèi)部包括可配置邏輯模塊(CLB,Configurable Logic Block)、輸入輸出模塊(IOB,Input Output Block)和內(nèi)部連線(Interconnect)三個部分。FPGA作為可編程器件,通過不同的編程方式,與傳統(tǒng)邏輯電路和門陣列(如PAL,GAL及CPLD器件)相比,F(xiàn)PGA可具有不同的結(jié)構(gòu)。FPGA利用小型查找表(16×1RAM)來實現(xiàn)組合邏輯,每個查找表連接到一個D觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動其他邏輯電路或驅(qū)動I/O,由此構(gòu)成了既可實現(xiàn)組合邏輯功能又可實現(xiàn)時序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。FPGA的邏輯是通過向內(nèi)部靜態(tài)存儲單元加載編程數(shù)據(jù)來實現(xiàn)的,存儲在存儲器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實現(xiàn)的功能,F(xiàn)PGA允許無限次的編程。作為示例而非限定,在本發(fā)明實施例中,可以通過例如,開放運算語言(OpenCL,Open Computing Language)對該FPGA進行編程,以使該FPGA實現(xiàn)本發(fā)明實施例的服務器110的功能。并且,相應地,可以通過OpenCL提供的接口作為該服務器110與存儲器120或總線130之間通信的接口。OpenCL是一種面向異構(gòu)系統(tǒng)的用于實現(xiàn)并行計算的編程語言。OpenCL的語法非常簡單,它只是在C語言和C++語言的基礎(chǔ)上,擴展定義了一些數(shù)據(jù)類型,數(shù)據(jù)結(jié)構(gòu)以及函數(shù)而已。OpenCL不僅僅是一種編程語言,更是一個完整的并行編程框架。在OpenCL中,任務被稱為內(nèi)核程序(kernel),內(nèi)核程序是基于若干內(nèi)核函數(shù)來創(chuàng)建的。內(nèi)核程序針對一個或者多個兼容的OpenCL設(shè)備,它會通過主機程序發(fā)送到一個或者多個相應的OpenCL設(shè)備上運行,運行完成后將結(jié)果返回主機程序。主機程序通過名為上下文的容器來管理所有連接的OpenCL設(shè)備。其中每個OpenCL設(shè)備對應一個命令隊列。主機程序創(chuàng)建內(nèi)核程序,并將內(nèi)核程序添加到命令隊列中。當內(nèi)核程序進入命令隊列后,相關(guān)的OpenCL設(shè)備就會執(zhí)行該內(nèi)核程序。

在本發(fā)明實施例中,服務器110可以是一個也可以是多個,并且,多個服務器110可以配置在同一設(shè)備(例如,服務器)中,或者,多個服務器110也可以獨立配置,本發(fā)明并未特別限定。

需要說明的是,在本發(fā)明實施例中,當服務器110為多個,且配置在同一設(shè)備中時,各服務器110可以通過總線130(例如,PCIE總線)連接,即,可以通過總線130實現(xiàn)各服務器110之間的信令或數(shù)據(jù)傳輸。另外,當各服務器110配置在不同設(shè)備中時,可以在各設(shè)備中配置與處理110連接的信息或信號收發(fā)器,并通過傳輸線纜連接各設(shè)備中的收發(fā)器,以實現(xiàn)各服務器110之間的信令或數(shù)據(jù)傳輸。

在本發(fā)明實施例中,存儲器120包括至少一個控制器121和至少一個存儲單元(或者說,存儲介質(zhì))122。

存儲單元122,也可以稱為存儲空間,是用于存儲某種不連續(xù)物理量的媒體。作為示例而非限定,該存儲單元122可以為存儲芯片,并且,該存儲單元122的材料可以是半導體、磁芯、磁鼓、磁帶、激光盤本領(lǐng)域成熟的材料等。該存儲單元的類型可以是隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領(lǐng)域成熟的存儲介質(zhì)類型。

在本發(fā)明實施例中,存儲單元122可以是一個也可以是多個,并且,多個存儲單元122可以配置在同一設(shè)備(例如,服務器)中,或者,多個存儲單元122可以獨立配置,本發(fā)明并未特別限定。

控制器121,也可以稱為存儲控制器(memory controller),用于為存儲單元122分配物理地址,并根據(jù)物理地址訪問存儲單元122,并在存儲單元122進行數(shù)據(jù)存儲操作。

控制器121與上述服務器110通信連接,例如,控制器121可以與總線130連接,從而,控制器121可以經(jīng)由該總線130與服務器110通信。

作為示例而非限定,該控制器121可以是中央處理單元或其他通用處理器、數(shù)字信號處理器、專用集成電路、現(xiàn)場可編程門陣列或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。

在本發(fā)明實施例中,控制器121可以是一個也可以是多個,并且,多個控制器121可以配置在同一設(shè)備中,或者,多個控制器121可以獨立配置,本發(fā)明并未特別限定。

在本發(fā)明實施例中,存儲器120可以為一個也可以為多個,本發(fā)明并未特別限定,并且,當存儲器120為多個時,各存儲器120可以聯(lián)合配置,即,多個存儲器120可以共用一個或多個控制器121或存儲單元122。

下面,結(jié)合圖2對本發(fā)明一實施例的存儲數(shù)據(jù)的方法200中處理器和控制器的動作和處理過程進行詳細說明。

圖2示出了本發(fā)明一實施例的存儲數(shù)據(jù)的方法200的示意性交互圖。

以下,為了便于理解和說明,不是一般性,以服務器與存儲器配置在同一設(shè)備中的情況為例,對該方法200的過程進行詳細說明,此情況下,該服務器可以是計算機系統(tǒng)中的處理器。

并且,以計算機系統(tǒng)中的一個處理器(即,服務器的一例,記做:處理器A)與一個存儲器中的一個控制器(記做:控制器A)之間的交互過程為例,對方法200進行詳細說明。

具體地說,控制器A可以訪問(或者說,控制)多個存儲介質(zhì)(或者說,多個存儲單元),以下,為了便于理解和區(qū)分,將該控制器A控制的存儲介質(zhì)記做:存儲介質(zhì)A。

作為示例而非限定,存儲介質(zhì)A可以包括多個存儲數(shù)據(jù)的最小存儲單元(即,存儲單元的一例),以下,為了便于理解和說明,將該最小存儲單元記做:存儲單元。作為示例而非限定,該最小存儲單元可以是K個比特或字節(jié),K≥1。

如圖2所示,在S210,控制器A可以獲取存儲介質(zhì)A的相關(guān)信息。并且,作為存儲介質(zhì)A的相關(guān)信息,可以列舉,例如,該存儲介質(zhì)A包括的存儲芯片(die)的數(shù)量的信息以及每個die的大小的信息,或者,該存儲介質(zhì)A包括的存儲單元的數(shù)量以及存儲單元的大小。例如,該存儲介質(zhì)A的相關(guān)信息可以由制造商配置在控制器A中,或者,該控制器A也可以對該存儲介質(zhì)A進行檢測,以確定存儲介質(zhì)A的相關(guān)信息。應理解,以上列舉的控制器A可以獲取存儲介質(zhì)A的相關(guān)信息的方法僅為示例性說明,本發(fā)明并未限定于此,現(xiàn)有技術(shù)中能夠獲得存儲介質(zhì)的相關(guān)信息的方法均落入本發(fā)明的保護范圍內(nèi)。

其后,控制器A可以基于存儲介質(zhì)A的相關(guān)信息,為存儲介質(zhì)A分配物理地址,例如,控制器A可以確定各存儲單元的物理地址。

作為示例而非限定,例如,控制器A可以采用串行方式為存儲介質(zhì)A分配物理地址,例如,0~16千兆字節(jié)(GB,BigaByte)為第一個die,16GB~32GB為第二個die,以此類推,從而實現(xiàn)串行訪問。

再例如,控制器A可以采用并發(fā)方式為存儲介質(zhì)A分配物理地址,例如,0~1兆字節(jié)(MB,MebiByte)在第一個DIE,1MS~2MB在第二個DIE,以此類推,從而實現(xiàn)類似于磁盤陣列(Redundant Arrays of Independent Disks,RAID)的并行訪問。該分配方式,能夠把連續(xù)的數(shù)據(jù)分散到多個磁盤上存取,這樣,系統(tǒng)有數(shù)據(jù)請求就可以被多個磁盤并行的執(zhí)行,每個磁盤執(zhí)行屬于它自己的那部分數(shù)據(jù)請求。這種數(shù)據(jù)上的并行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能。

與現(xiàn)有技術(shù)相比,本發(fā)明實施例的物理地址分配過程無需基于邏輯地址,能夠縮短物理地址分配過程的時間,提高處理效率。

在S220,該計算機系統(tǒng)的處理器確定第一數(shù)據(jù)(即,數(shù)據(jù)的一例)的索引。

具體地說,當處理器A需要在存儲器A中存儲一個數(shù)據(jù)(即,第一數(shù)據(jù)的一例,以下,為了便于理解,記做:數(shù)據(jù)A)時,處理器A可以獲取該數(shù)據(jù)A的索引(以下,為了便于理解和區(qū)分,記做:索引A)。

可選地,該索引為鍵key,該數(shù)據(jù)為值value。

具體地說,在本發(fā)明實施例中,數(shù)據(jù)也可以稱為值(VALUE),例如,可以是處理器所執(zhí)行的進程或線程產(chǎn)生的,或者,也可以是來自處理器從外部(例如,基于用戶的輸入)獲取的,本發(fā)明并未特別限定。

并且,在本發(fā)明實施例中,索引也可以稱為鍵(KEY),其中,在計算機系統(tǒng)中,一個數(shù)據(jù)可以具有至少一個索引,一個索引僅對應唯一的一個數(shù)據(jù),并且,一個索引用于指示(或者說,標識)所對應的數(shù)據(jù)。作為示例而非限定,例如,索引可以是具有一定長度(例如,8~64字節(jié)內(nèi)的任意長度)的字符串。應理解,以上列舉的索引的具體形式僅為示例性說明,本發(fā)明并未限定于此。

在本發(fā)明實施例中,作為示例而非限定,各數(shù)據(jù)的索引,或者說,各數(shù)據(jù)與各索引之間的對應關(guān)系,可以是處理器根據(jù)預設(shè)的規(guī)則(例如,由用戶設(shè)定,或者由業(yè)界標準或協(xié)議規(guī)定,或者由制造商設(shè)定)為各數(shù)據(jù)分配的,或者,各數(shù)據(jù)的索引也可以由外部設(shè)備設(shè)定并指示處理器,只要能夠確保一個索引能夠僅指示一個數(shù)據(jù)(或者說,基于一個索引能夠確定唯一的一個數(shù)據(jù))即可,本發(fā)明并未特別限定。

應理解,以上列舉的數(shù)據(jù)和索引的具體形式僅為示例性說明,本發(fā)明并未限定于此,其他各種形式的數(shù)據(jù)和索引均落入本發(fā)明的保護范圍內(nèi)。

在S230,該處理器向該存儲器(具體地說,是存儲器的控制器)發(fā)送第一數(shù)據(jù)存儲請求(即,數(shù)據(jù)存儲請求的一例),該第一數(shù)據(jù)存儲請求用于指示在該存儲器中存儲第一數(shù)據(jù)(即,數(shù)據(jù)的一例),該第一數(shù)據(jù)存儲請求包括該第一數(shù)據(jù)和該第一數(shù)據(jù)的索引。

相應地,該控制器接收該計算機系統(tǒng)的處理器發(fā)送的第一數(shù)據(jù)存儲請求,該第一數(shù)據(jù)存儲請求用于指示在該存儲器中存儲第一數(shù)據(jù),該第一數(shù)據(jù)存儲請求包括該第一數(shù)據(jù)和該第一數(shù)據(jù)的索引。

具體地說,處理器A可以生成數(shù)據(jù)存儲請求(或者說,數(shù)據(jù)存儲指令),并在該數(shù)據(jù)存儲請求中攜帶數(shù)據(jù)A(即,第一數(shù)據(jù)的一例)以及索引A,從而生成用于指示控制器A存儲該數(shù)據(jù)A的請求(即,第一數(shù)據(jù)存儲請求的一例,以下,為了便于理解和說明,記做:數(shù)據(jù)存儲請求A)。作為示例而非限定,該數(shù)據(jù)存儲請求可以采用在現(xiàn)有技術(shù)中的放入(PUT)請求。

其后,處理器A可以(例如,通過總線)將該數(shù)據(jù)存儲請求A發(fā)送至控制器A。

從而,控制器A能夠接收到該數(shù)據(jù)存儲請求A,并確定處理器A需要存儲該數(shù)據(jù)存儲請求A所攜帶的數(shù)據(jù)A。

作為示例而非限定,在本發(fā)明實施例中,可選地,該控制器A可以首先判定存儲介質(zhì)A中是否已經(jīng)存儲有該數(shù)據(jù)A。

例如,控制器A可以判定所存儲的索引與數(shù)據(jù)的映射關(guān)系的表項(隨后,對該表項進行詳細說明)中是否記錄有該索引A。如果判定為是,則控制器A可以判定為存儲介質(zhì)A中已經(jīng)存儲有該數(shù)據(jù)A;如果判定為否,則控制器A可以判定為存儲介質(zhì)A中未存儲有該數(shù)據(jù)A。

并且,如果判控制器A判定為存儲介質(zhì)A中已經(jīng)存儲有該數(shù)據(jù)A,則代表該數(shù)據(jù)A已經(jīng)被存儲,無需重復進行。與此相對,在現(xiàn)有技術(shù)中,由于數(shù)據(jù)存儲請求攜帶有邏輯地址而非數(shù)據(jù)索引,因此,控制器無法判定該數(shù)據(jù)A是否已經(jīng)被存儲,可能造成數(shù)據(jù)的重復存儲,進而導致對存儲資源的浪費。

另外,如果控制器A判定為存儲介質(zhì)A中未存儲有該數(shù)據(jù)A,則在S240,該控制器根據(jù)該第一數(shù)據(jù)存儲請求,從該存儲介質(zhì)中確定第一存儲介質(zhì),并在該第一存儲介質(zhì)中存儲該第一數(shù)據(jù)。

具體地說,控制器A可以確定用于存儲該數(shù)據(jù)A的存儲單元(以下,為了便于理解和區(qū)分,記做:存儲單元A1)。

作為示例而非限定,控制器A可以從存儲介質(zhì)A中可用的(例如,未存儲數(shù)據(jù)的)存儲介質(zhì),并根據(jù)數(shù)據(jù)A的大小,從該可用的存儲介質(zhì)中,確存儲單元A1,以使該存儲單元A1的大小(或者說,包括的存儲單元的數(shù)量)滿足數(shù)據(jù)A的要求,例如,該存儲單元A1的大小(或者說,包括的存儲單元的數(shù)量)大于或等于存儲數(shù)據(jù)A所需要的最小的存儲介質(zhì)的大小。

應理解,以上列舉的存儲單元A1的確定過程僅為示例性說明,本發(fā)明并未限定于此,只要使存儲單元A1能夠存儲數(shù)據(jù)A即可。

另外,在本發(fā)明實施例中,在存儲單元A1包括多個存儲單元的情況下,優(yōu)選使存儲單元A1為連續(xù)的多個存儲單元。

其后,控制器A可以將數(shù)據(jù)A存儲在存儲單元A1中。

應理解,以上列舉的控制器A存儲數(shù)據(jù)A的過程僅為示例性說明,本發(fā)明并未限定于此,例如,控制器A也可以不判定存儲介質(zhì)A中是否已經(jīng)存儲有該數(shù)據(jù)A,而直接確定存儲單元A1,并在存儲單元A1中存儲數(shù)據(jù)A。

在S250,該存儲器生成第一映射關(guān)系信息(即,映射關(guān)系信息的一例),該第一映射關(guān)系信息用于指示該第一存儲單元的地址與該第一數(shù)據(jù)的索引之間的映射關(guān)系。

具體地說,控制器A可以確定該存儲單元A1的地址(例如,物理地址,以下,為了便于理解和區(qū)分,記做:物理地址A1),并保存該物理地址A1與索引A的映射關(guān)系(即,第一映射關(guān)系信息的一例,以下,為了便于理解和區(qū)分,記做:映射關(guān)系A(chǔ))。

應理解,以上列舉的以物理地址作為存儲單元的地址的方案僅為示例性說明,本發(fā)明并未限定于此,該存儲單元的地址還可以是物理地址和邏輯地址雙方,此情況下,該映射關(guān)系信息可以指示數(shù)據(jù)的索引與存儲單元的邏輯地址的映射關(guān)系,并且,該映射關(guān)系還可以指示存儲單元的邏輯地址與物理地址的映射關(guān)系。

以下,為了便于理解和說明,不失一般性,以物理地址作為存儲的地址為例,對后續(xù)過程進行詳細說明。

作為示例而非限定,在本發(fā)明實施例中,控制器A可以維護一個映射關(guān)系表項,該映射關(guān)系表項保存有該存儲器A所存儲的各數(shù)據(jù)的索引與各數(shù)據(jù)所存儲于的存儲介質(zhì)的物理地址之間的一一映射關(guān)系。

此情況下,控制器A可以將該映射關(guān)系A(chǔ)記錄在映射關(guān)系表項中。

作為示例而非限定,以下表1示出了本發(fā)明實施例的映射關(guān)系表項的一例。

表1

應理解,以上列舉的表1僅為映射關(guān)系表項的一例,本發(fā)明并未限定于此,例如,在表1中記錄物理地址為各數(shù)據(jù)所存儲于的最小存儲單元的物理地址,在另一種可能的實施方式中,映射關(guān)系表項所記錄的物理地址還可以是數(shù)據(jù)所存儲于的存儲介質(zhì)的起始物理和長度。

再例如,以下表2示出了本發(fā)明實施例的映射關(guān)系表項的一例。

表2

可選地,在本發(fā)明實施例中,存儲器A在完成數(shù)據(jù)A的存儲操作后,可以向處理器A反饋存儲完成指示,從而,處理器A可以根據(jù)該存儲完成指示,確定該數(shù)據(jù)A已經(jīng)存儲在存儲器A中。

可選地,在S260,該服務器向該存儲器發(fā)送第一數(shù)據(jù)處理請求(即,數(shù)據(jù)處理請求的一例),該第一數(shù)據(jù)處理請求用于指示對該第一數(shù)據(jù)(即,數(shù)據(jù)的一例)進行處理,該第一數(shù)據(jù)處理請求包括該第一數(shù)據(jù)的索引。

相應地,該存儲器接收該服務器發(fā)送的第一數(shù)據(jù)處理請求,該第一數(shù)據(jù)處理請求用于指示對該第一數(shù)據(jù)進行處理,該第一數(shù)據(jù)處理請求包括該第一數(shù)據(jù)的索引;

在S270,該存儲器根據(jù)該第一數(shù)據(jù)的索引和該第一映射關(guān)系信息,確定該該第一數(shù)據(jù)的索引對應的地址;

該存儲器根據(jù)該第一數(shù)據(jù)處理請求,在該地址對應的存儲單元中對該第一數(shù)據(jù)進行處理。

具體地說,在本發(fā)明實施例中,處理器A可能需要對存儲在存儲器A中的數(shù)據(jù)A進行操作,例如,讀取(即,操作1)或刪除(即,操作2),下面,以上述操作1和操作2為例,對處理器A和控制器A對已存儲的數(shù)據(jù)A的處理過程進行說明。

操作1

可選地,

該存儲器根據(jù)該數(shù)據(jù)處理請求,在該地址所對應的存儲單元中對該數(shù)據(jù)進行處理,包括:

當該數(shù)據(jù)處理請求為數(shù)據(jù)讀取請求時,該存儲器從該地址所對應的存儲單元中獲取該數(shù)據(jù),并向該服務器發(fā)送該數(shù)據(jù)。

具體地說,在本發(fā)明實施例中,當處理器A需要讀取該數(shù)據(jù)A時,處理器A可以生成數(shù)據(jù)讀取請求(或者說,數(shù)據(jù)讀取指令,并在該數(shù)據(jù)讀取請求中攜帶索引A,從而生成用于指示控制器A向處理器A返回該索引A所指示的數(shù)據(jù)(即,數(shù)據(jù)A)的請求(即,第一數(shù)據(jù)處理請求的一例,以下,為了便于理解和說明,記做:數(shù)據(jù)讀取請求A)。作為示例而非限定,該數(shù)據(jù)讀取請求可以采用在現(xiàn)有技術(shù)中的讀取(GET)請求。

其后,處理器A可以(例如,通過總線)將該數(shù)據(jù)讀取請求A發(fā)送至控制器A。

從而,控制器A能夠接收到該數(shù)據(jù)讀取請求A,并確定處理器A需要獲取的數(shù)據(jù)的索引,即索引A。

其后,控制器A可以根據(jù)所保存的映射關(guān)系A(chǔ)(例如,映射關(guān)系表項),確定與該索引A相對應的物理地址(即,地址的一例),即,物理地址A1,進而確定該物理地址A1所指示的存儲介質(zhì),即存儲單元A1。

即,在本發(fā)明實施例中,控制器A可以基于映射關(guān)系表項,確定索引A所對應的數(shù)據(jù)存儲在存儲單元A1中。

從而,控制器A可以獲取存儲單元A1中存儲的數(shù)據(jù),即,數(shù)據(jù)A,并將該數(shù)據(jù)A發(fā)送至處理器A。

需要說明的是,在本發(fā)明實施例中,可能出現(xiàn)在同一時段內(nèi),處理器A需要讀取包括該數(shù)據(jù)A在內(nèi)的多個數(shù)據(jù),此情況下,控制器A在獲取該數(shù)據(jù)A之后,可以將該數(shù)據(jù)A和該的索引A一并發(fā)送至處理器A,從而,處理器A能夠在接收到該數(shù)據(jù)A和該索引A之后,確定該數(shù)據(jù)A是該索引A對應的數(shù)據(jù)。

另外,在本發(fā)明實施例中,處理器A可以在數(shù)據(jù)讀取請求A中添加指示標識,該指示標識用于指示控制器A需要僅反饋數(shù)據(jù)A自身,或者,該指示標識用于指示控制器A需要反饋數(shù)據(jù)A和索引A雙方。

作為示例而非限定,可以使用1個比特位攜帶該指示標識,例如,當該指示標識為“1”時,控制器A可以確定需要僅反饋數(shù)據(jù)A;當指示標識為“0”時,控制器A可以確定需要反饋數(shù)據(jù)A和索引A雙方。

操作2

可選地,該存儲器根據(jù)該數(shù)據(jù)處理請求,在該地址所對應的存儲單元中對該數(shù)據(jù)進行處理,包括:

當該數(shù)據(jù)處理請求為數(shù)據(jù)刪除請求時,該存儲器從該地址所對應的存儲單元中刪除該數(shù)據(jù)。

具體地說,在本發(fā)明實施例中,當處理器A需要刪除該數(shù)據(jù)A時,處理器A可以生成數(shù)據(jù)刪除請求(或者說,數(shù)據(jù)刪除指令,并在該數(shù)據(jù)刪除請求中攜帶索引A,從而生成用于指示控制器A刪除該索引A所指示的數(shù)據(jù)(即,數(shù)據(jù)A)的請求(即,第一數(shù)據(jù)處理請求的另一例,以下,為了便于理解和說明,記做:數(shù)據(jù)刪除請求A)。作為示例而非限定,該數(shù)據(jù)刪除請求可以采用在現(xiàn)有技術(shù)中的讀取(DELETE)請求。

其后,處理器A可以(例如,通過總線)將該數(shù)據(jù)刪除請求A發(fā)送至控制器A。

從而,控制器A能夠接收到該數(shù)據(jù)刪除請求A,并確定需要刪除的數(shù)據(jù)的索引,即索引A。

其后,控制器A可以根據(jù)所保存的映射關(guān)系A(chǔ)(例如,映射關(guān)系表項),確定與該索引A相對應的物理地址(即,地址的一例),即,物理地址A1,進而確定該物理地址A1所指示的存儲介質(zhì),即存儲單元A1。

即,在本發(fā)明實施例中,控制器A可以基于映射關(guān)系表項,確定索引A所對應的數(shù)據(jù)存儲在存儲單元A1中。

從而,控制器A可以刪除存儲單元A1中存儲的數(shù)據(jù),即,數(shù)據(jù)A。

可選地,在本發(fā)明實施例中,存儲器A在完成數(shù)據(jù)A的刪除操作后,可以向處理器A反饋刪除完成指示,從而,處理器A可以根據(jù)該存儲完成指示,確定該數(shù)據(jù)A已經(jīng)從存儲器A中刪除。

根據(jù)本發(fā)明實施例的存儲數(shù)據(jù)的方法,通過使服務器(例如,處理器)在存儲數(shù)據(jù)時,將所要存儲的數(shù)據(jù)和該數(shù)據(jù)的索引發(fā)送給存儲器,該服務器能夠在存儲單元中存儲該數(shù)據(jù),并記錄該存儲單元的物理地址與該數(shù)據(jù)的索引的映射關(guān)系,從而,能夠支持在讀取或刪除該數(shù)據(jù)時,服務器可以在處理指令中攜帶該數(shù)據(jù)的索引,存儲器能夠基于該映射關(guān)系,確定該存儲該數(shù)據(jù)的存儲單元的物理地址,進而在該存儲單元中進行相關(guān)操作,從而,無需在服務器中保存數(shù)據(jù)的索引與邏輯地址之間的映射關(guān)系,并且,無需在存儲器中保存物理地址與邏輯地址的映射關(guān)系,進而,無需在數(shù)據(jù)存儲過程中,進行基于該映射關(guān)系的地址轉(zhuǎn)換,能夠降低資源開銷,并且,減小數(shù)據(jù)存儲的處理時延。

下面,結(jié)合圖3對本發(fā)明另一實施例的存儲數(shù)據(jù)的方法300中服務器(例如,處理器)和存儲器(具體地說,是控制器)的動作和處理過程進行詳細說明。

圖3示出了本發(fā)明另一實施例的存儲數(shù)據(jù)的方法300的示意性交互圖。

以下,為了便于理解和說明,不是一般性,以服務器與存儲器配置在同一設(shè)備中的情況為例,對該方法300的過程進行詳細說明,此情況下,該服務器可以是計算機系統(tǒng)中的處理器。

并且,以計算機系統(tǒng)中的一個處理器(記做:處理器B)與一個存儲器中的一個控制器(記做:控制器B)之間的交互過程為例,對方法300進行詳細說明。

具體地說,控制器B可以訪問(或者說,控制)多個存儲介質(zhì)(或者說,存儲單元),以下,為了便于理解和區(qū)分,將該控制器B控制的存儲介質(zhì)記做:存儲介質(zhì)B。

作為示例而非限定,存儲介質(zhì)B可以包括多個存儲數(shù)據(jù)的最小存儲單元(即,存儲單元的一例),以下,為了便于理解和說明,將該最小存儲單元記做:存儲單元。作為示例而非限定,該最小存儲單元可以是K個比特或字節(jié),K≥1。

如圖3所示,在S310,控制器B可以獲取存儲介質(zhì)B的相關(guān)信息。并且,作為存儲介質(zhì)B的相關(guān)信息,可以列舉,例如,該存儲介質(zhì)B包括的存儲芯片(die)的數(shù)量的信息以及每個die的大小的信息,或者,該存儲介質(zhì)B包括的存儲單元的數(shù)量以及存儲單元的大小。例如,該存儲介質(zhì)B的相關(guān)信息可以由制造商配置在控制器B中,或者,該控制器B也可以對該存儲介質(zhì)B進行檢測,以確定存儲介質(zhì)B的相關(guān)信息。應理解,以上列舉的控制器B可以獲取存儲介質(zhì)B的相關(guān)信息的方法僅為示例性說明,本發(fā)明并未限定于此,現(xiàn)有技術(shù)中能夠獲得存儲介質(zhì)的相關(guān)信息的方法均落入本發(fā)明的保護范圍內(nèi)。

其后,控制器B可以基于存儲介質(zhì)B的相關(guān)信息,為存儲介質(zhì)B分配物理地址,例如,控制器B可以確定各存儲單元的物理地址。

作為示例而非限定,例如,控制器B可以采用串行方式為存儲介質(zhì)B分配物理地址,例如,0~16GB為第一個die,16GB~32GB為第二個die,以此類推,從而實現(xiàn)串行訪問。

再例如,控制器B可以采用并發(fā)方式為存儲介質(zhì)B分配物理地址,例如,0~1MB在第一個DIE,1MS~2MB在第二個DIE,以此類推,從而實現(xiàn)類似于磁盤陣列的并行訪問。該分配方式,能夠把連續(xù)的數(shù)據(jù)分散到多個磁盤上存取,這樣,系統(tǒng)有數(shù)據(jù)請求就可以被多個磁盤并行的執(zhí)行,每個磁盤執(zhí)行屬于它自己的那部分數(shù)據(jù)請求。這種數(shù)據(jù)上的并行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能。

與現(xiàn)有技術(shù)相比,本發(fā)明實施例的物理地址分配過程無需基于邏輯地址,能夠縮短物理地址分配過程的時間,提高處理效率。

在S310,該存儲器生成映射關(guān)系信息,該映射關(guān)系信息用于指示存儲單元的地址與該數(shù)據(jù)的索引之間的映射關(guān)系。

具體地說,控制器B可以確定多個存儲單元(包括后述存儲單元B1)的物理地址與多個索引(包括后述索引B)之間的映射關(guān)系(即,映射關(guān)系信息的一例,以下,為了便于理解和區(qū)分,記做:映射關(guān)系B)。

作為示例而非限定,在本發(fā)明實施例中,控制器B可以維護一個映射關(guān)系表項,該映射關(guān)系表項保存有多個索引與多個存儲單元的物理地址之間的一一映射關(guān)系。上述表1和表2示出了本發(fā)明實施例的映射關(guān)系表項的一例。

另外,作為示例而非限定,記錄有該第一映射關(guān)系信息的上述映射關(guān)系表項可以是由用戶輸入至控制器B,也可以是制造商配置在控制器B中,還可以是控制器B采用類似于方法200中控制器A確定映射關(guān)系A(chǔ)的方式確定的,本發(fā)明并未特別限定。

在S320,該計算機系統(tǒng)的處理器確定第一數(shù)據(jù)的索引。

具體地說,當處理器B需要對存儲在存儲器B中的一個數(shù)據(jù)(即,第一數(shù)據(jù)的一例,以下,為了便于理解,記做:數(shù)據(jù)B)時,處理器B可以獲取該數(shù)據(jù)B的索引(以下,為了便于理解和區(qū)分,記做:索引B)。

可選地,該索引為鍵key,該數(shù)據(jù)為值value。

具體地說,在本發(fā)明實施例中,數(shù)據(jù)也可以稱為值(VBLUE),例如,可以是處理器所執(zhí)行的進程或線程產(chǎn)生的,或者,也可以是來自處理器從外部(例如,基于用戶的輸入)獲取的,本發(fā)明并未特別限定。

并且,在本發(fā)明實施例中,索引也可以稱為鍵(KEY),其中,在計算機系統(tǒng)中,一個數(shù)據(jù)可以具有至少一個索引,一個索引僅對應唯一的一個數(shù)據(jù),并且,一個索引用于指示(或者說,標識)所對應的數(shù)據(jù)。作為示例而非限定,例如,索引可以是具有一定長度(例如,8~64字節(jié)內(nèi)的任意長度)的字符串。應理解,以上列舉的索引的具體形式僅為示例性說明,本發(fā)明并未限定于此。

在本發(fā)明實施例中,作為示例而非限定,各數(shù)據(jù)的索引,或者說,各數(shù)據(jù)與各索引之間的對應關(guān)系,可以是處理器根據(jù)預設(shè)的規(guī)則(例如,由用戶設(shè)定,或者由業(yè)界標準或協(xié)議規(guī)定,或者由制造商設(shè)定)為各數(shù)據(jù)分配的,或者,各數(shù)據(jù)的索引也可以由外部設(shè)備設(shè)定并指示處理器,只要能夠確保一個索引能夠僅指示一個數(shù)據(jù)(或者說,基于一個索引能夠確定唯一的一個數(shù)據(jù))即可,本發(fā)明并未特別限定。

應理解,以上列舉的數(shù)據(jù)和索引的具體形式僅為示例性說明,本發(fā)明并未限定于此,其他各種形式的數(shù)據(jù)和索引均落入本發(fā)明的保護范圍內(nèi)。

在S330,該服務器向該存儲器發(fā)送第一數(shù)據(jù)處理請求,該第一數(shù)據(jù)處理請求用于指示對該第一數(shù)據(jù)進行處理,該第一數(shù)據(jù)處理請求包括該第一數(shù)據(jù)的索引。

相應地,在S340,該存儲器接收該服務器發(fā)送的第一數(shù)據(jù)處理請求,該第一數(shù)據(jù)處理請求用于指示對該第一數(shù)據(jù)進行處理,該第一數(shù)據(jù)處理請求包括該第一數(shù)據(jù)的索引;

該存儲器根據(jù)該第一數(shù)據(jù)的索引和該第一映射關(guān)系信息,確定該第一數(shù)據(jù)的索引所對應的地址(例如,物理地址,或者,邏輯地址和物理地址);

該存儲器根據(jù)該第一數(shù)據(jù)處理請求,在該地址對應的存儲單元中對該第一數(shù)據(jù)進行處理。

具體地說,在本發(fā)明實施例中,處理器B可能需要對存儲在存儲器B中的數(shù)據(jù)B進行操作,例如,讀取(即,操作3)或刪除(即,操作4),下面,以上述操作1和操作2為例,對處理器B和控制器B對已存儲的數(shù)據(jù)B的處理過程進行說明。

操作3

可選地,該存儲器根據(jù)該數(shù)據(jù)處理請求,在該地址所對應的存儲單元中對該數(shù)據(jù)進行處理,包括:

當該數(shù)據(jù)處理請求為數(shù)據(jù)讀取請求時,該存儲器從該地址所對應的存儲單元中獲取該數(shù)據(jù),并向該服務器發(fā)送該數(shù)據(jù)。

相應地,當該第一數(shù)據(jù)處理請求為數(shù)據(jù)讀取請求時,該方法還包括,該服務器接收該存儲器發(fā)送的該第一數(shù)據(jù)。

具體地說,在本發(fā)明實施例中,當處理器B需要讀取該數(shù)據(jù)B時,處理器B可以生成數(shù)據(jù)讀取請求(或者說,數(shù)據(jù)讀取指令,并在該數(shù)據(jù)讀取請求中攜帶索引B,從而生成用于指示控制器B向處理器B返回該索引B所指示的數(shù)據(jù)(即,數(shù)據(jù)B)的請求(即,第一數(shù)據(jù)處理請求的一例,以下,為了便于理解和說明,記做:數(shù)據(jù)讀取請求B)。作為示例而非限定,該數(shù)據(jù)讀取請求可以采用在現(xiàn)有技術(shù)中的讀取(GET)請求。

其后,處理器B可以(例如,通過總線)將該數(shù)據(jù)讀取請求B發(fā)送至控制器B。

從而,控制器B能夠接收到該數(shù)據(jù)讀取請求B,并確定處理器B需要獲取的數(shù)據(jù)的索引,即索引B。

其后,控制器B可以根據(jù)所保存的映射關(guān)系B(例如,映射關(guān)系表項),確定與該索引B相對應的地址,例如,物理地址,即,物理地址B1,進而確定該物理地址B1所指示的存儲單元,即存儲單元B1,其中,該存儲單元B1可以包括一個或多個存儲單元,本發(fā)明并未特別限定。

即,在本發(fā)明實施例中,控制器B可以基于映射關(guān)系表項,確定索引B所對應的數(shù)據(jù)存儲在物理地址B1對應的存儲單元,即存儲單元B1中。

從而,控制器B可以獲取存儲單元B1中存儲的數(shù)據(jù),即,數(shù)據(jù)B,并將該數(shù)據(jù)B發(fā)送至處理器B。

需要說明的是,在本發(fā)明實施例中,可能出現(xiàn)在同一時段內(nèi),處理器B需要讀取包括該數(shù)據(jù)B在內(nèi)的多個數(shù)據(jù),此情況下,控制器B在獲取該數(shù)據(jù)B之后,可以將該數(shù)據(jù)B和該的索引B一并發(fā)送至處理器B,從而,處理器B能夠在接收到該數(shù)據(jù)B和該索引B之后,確定該數(shù)據(jù)B是該索引B對應的數(shù)據(jù)。

另外,在本發(fā)明實施例中,處理器B可以在數(shù)據(jù)讀取請求B中添加指示標識,該指示標識用于指示控制器B需要僅反饋數(shù)據(jù)B自身,或者,該指示標識用于指示控制器B需要反饋數(shù)據(jù)B和索引B雙方。

作為示例而非限定,可以使用1個比特位攜帶該指示標識,例如,當該指示標識為“1”時,控制器B可以確定需要僅反饋數(shù)據(jù)B;當指示標識為“0”時,控制器B可以確定需要反饋數(shù)據(jù)B和索引B雙方。

操作4

可選地,該存儲器根據(jù)該數(shù)據(jù)處理請求,在該地址所對應的存儲單元中對該數(shù)據(jù)進行處理,包括:

當該數(shù)據(jù)處理請求為數(shù)據(jù)刪除請求時,該存儲器從該地址所對應的存儲單元中刪除該數(shù)據(jù)。

具體地說,在本發(fā)明實施例中,當處理器B需要刪除該數(shù)據(jù)B時,處理器B可以生成數(shù)據(jù)刪除請求(或者說,數(shù)據(jù)刪除指令,并在該數(shù)據(jù)刪除請求中攜帶索引B,從而生成用于指示控制器B刪除該索引B所指示的數(shù)據(jù)(即,數(shù)據(jù)B)的請求(即,第一數(shù)據(jù)處理請求的另一例,以下,為了便于理解和說明,記做:數(shù)據(jù)刪除請求B)。作為示例而非限定,該數(shù)據(jù)刪除請求可以采用在現(xiàn)有技術(shù)中的讀取(DELETE)請求。

其后,處理器B可以(例如,通過總線)將該數(shù)據(jù)刪除請求B發(fā)送至控制器B。

從而,控制器B能夠接收到該數(shù)據(jù)刪除請求B,并確定需要刪除的數(shù)據(jù)的索引,即索引B。

其后,控制器B可以根據(jù)所保存的映射關(guān)系B(例如,映射關(guān)系表項),確定與該索引B相對應的物理地址,即,物理地址B1,進而確定該物理地址B1所指示的存儲單元,即存儲單元B1。

即,在本發(fā)明實施例中,控制器B可以基于映射關(guān)系表項,確定索引B所對應的數(shù)據(jù)存儲在存儲單元B1中。

從而,控制器B可以刪除存儲單元B1中存儲的數(shù)據(jù),即,數(shù)據(jù)B。

可選地,在本發(fā)明實施例中,存儲器B在完成數(shù)據(jù)B的刪除操作后,可以向處理器B反饋刪除完成指示,從而,處理器B可以根據(jù)該存儲完成指示,確定該數(shù)據(jù)B已經(jīng)從存儲器B中刪除。

根據(jù)本發(fā)明實施例的存儲數(shù)據(jù)的方法,通過使存儲器獲取存儲單元的物理地址與數(shù)據(jù)的索引的映射關(guān)系,從而,在接收到處理器發(fā)送的攜帶有索引的數(shù)據(jù)處理指令時,存儲器能夠基于該映射關(guān)系,確定該存儲該數(shù)據(jù)的存儲單元的物理地址,進而在該存儲單元中進行相關(guān)操作,從而,無需在服務器(例如,處理器)中保存數(shù)據(jù)的索引與邏輯地址之間的映射關(guān)系,并且,無需在存儲器中保存物理地址與邏輯地址的映射關(guān)系,進而,無需在數(shù)據(jù)存儲過程中,進行基于該映射關(guān)系的地址轉(zhuǎn)換,能夠降低資源開銷,并且,減小數(shù)據(jù)存儲的處理時延。

圖4是根據(jù)本發(fā)明實施例的存儲器400的示意性框圖。如圖4所示,該存儲器400包括:

至少一個存儲單元410;

通信接口420,用于與服務器進行通信;

控制器430,與該通信接口相連,用于通過該通信接口接收該服務器發(fā)送的數(shù)據(jù)存儲請求,該數(shù)據(jù)存儲請求用于指示在該存儲器中存儲數(shù)據(jù),該數(shù)據(jù)存儲請求包括該數(shù)據(jù)和該數(shù)據(jù)的索引,該數(shù)據(jù)的索引用于唯一標識該數(shù)據(jù),用于根據(jù)該數(shù)據(jù)存儲請求,存儲該數(shù)據(jù),并確定用于存儲該數(shù)據(jù)的存儲單元的地址,用于生成映射關(guān)系信息,該映射關(guān)系信息用于指示該地址與該數(shù)據(jù)的索引之間的映射關(guān)系。

可選地,該控制器還用于通過該通信接口接收該服務器發(fā)送的數(shù)據(jù)處理請求,該數(shù)據(jù)處理請求用于指示對該數(shù)據(jù)進行處理,該數(shù)據(jù)處理請求包括該數(shù)據(jù)的索引;

用于根據(jù)該數(shù)據(jù)的索引和該映射關(guān)系信息,確定該地址;

用于根據(jù)該數(shù)據(jù)處理請求,在該地址所對應的存儲單元中對該數(shù)據(jù)進行處理。

可選地,當該數(shù)據(jù)處理請求為數(shù)據(jù)讀取請求時,該控制器用于從該地址所對應的存儲介質(zhì)中獲取該數(shù)據(jù),并通過該通信接口向該服務器發(fā)送該數(shù)據(jù);或

當該數(shù)據(jù)處理請求為數(shù)據(jù)刪除請求時,該控制器從該地址所對應的存儲介質(zhì)中刪除該數(shù)據(jù)。

可選地,該索引為鍵key,該數(shù)據(jù)為值value。

該存儲器400中的各單元或模塊分別用于執(zhí)行上述方法200中的存儲器(例如,存儲器A)的動作和功能,并且,上述服務器的動作與方法200中服務器(例如,處理器A)的動作相似,這里為了避免贅述,省略其詳細說明。

應理解,在本發(fā)明實施例中,該控制器可以是中央處理單元(Central Processing Unit,簡稱為“CPU”),該控制器還可以是其他通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。

該控制器可以集成有內(nèi)存,該內(nèi)存可以包括只讀存儲器和隨機存取存儲器,并向控制器提供指令和數(shù)據(jù)。內(nèi)存的一部分還可以包括非易失性隨機存取存儲器。例如,內(nèi)存還可以存儲設(shè)備類型的信息。

在實現(xiàn)過程中,上述方法的各步驟可以通過控制器中的硬件的集成邏輯電路或者軟件形式的指令完成。結(jié)合本發(fā)明實施例所公開的方法的步驟可以直接體現(xiàn)為硬件控制器執(zhí)行完成,或者用控制器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領(lǐng)域成熟的存儲介質(zhì)中。該存儲介質(zhì)位于控制器的內(nèi)存中,控制器讀取內(nèi)存中的信息,結(jié)合其硬件完成上述方法的步驟。為避免重復,這里不再詳細描述。

根據(jù)本發(fā)明實施例的存儲器,通過使服務器(例如,處理器)在存儲數(shù)據(jù)時,將所要存儲的數(shù)據(jù)和該數(shù)據(jù)的索引發(fā)送給存儲器,該服務器能夠在存儲單元中存儲該數(shù)據(jù),并記錄該存儲單元的物理地址與該數(shù)據(jù)的索引的映射關(guān)系,從而,能夠支持在讀取或刪除該數(shù)據(jù)時,服務器可以在處理指令中攜帶該數(shù)據(jù)的索引,存儲器能夠基于該映射關(guān)系,確定該存儲該數(shù)據(jù)的存儲單元的物理地址,進而在該存儲單元中進行相關(guān)操作,從而,無需在服務器中保存數(shù)據(jù)的索引與邏輯地址之間的映射關(guān)系,并且,無需在存儲器中保存物理地址與邏輯地址的映射關(guān)系,進而,無需在數(shù)據(jù)存儲過程中,進行基于該映射關(guān)系的地址轉(zhuǎn)換,能夠降低資源開銷,并且,減小數(shù)據(jù)存儲的處理時延。

圖5是根據(jù)本發(fā)明實施例的存儲器500的示意性框圖。如圖5所示,該存儲器500包括:

至少一個存儲單元510;

通信接口520,用于與服務器進行通信;

控制器530,與該通信接口通信連接,用于通過該通信接口接收該服務器發(fā)送的數(shù)據(jù)處理請求,該數(shù)據(jù)處理請求用于指示對數(shù)據(jù)進行處理,該數(shù)據(jù)處理請求包括該數(shù)據(jù)的索引,該數(shù)據(jù)的索引用于唯一標識該數(shù)據(jù),用于根據(jù)該數(shù)據(jù)的索引和映射關(guān)系信息,確定用于存儲該數(shù)據(jù)的存儲單元的地址,該映射關(guān)系信息用于指示該數(shù)據(jù)的索引與該地址之間的映射關(guān)系,用于根據(jù)該數(shù)據(jù)處理請求,在該地址所對應的存儲單元中對該數(shù)據(jù)進行處理。

可選地,當該數(shù)據(jù)處理請求為數(shù)據(jù)讀取請求時,該控制器用于從該地址所對應的存儲單元中獲取該數(shù)據(jù),并通過該通信接口向該服務器發(fā)送該數(shù)據(jù);或

當該數(shù)據(jù)處理請求為數(shù)據(jù)刪除請求時,該控制器用于從該地址所對應的存儲單元中刪除該數(shù)據(jù)。

可選地,該索引為鍵key,該數(shù)據(jù)為值value。

該存儲器500中的各單元或模塊分別用于執(zhí)行上述方法300中的存儲器(例如,存儲器B)的動作和功能,并且,上述服務器的動作與方法300中服務器(例如,處理器B)的動作相似,這里為了避免贅述,省略其詳細說明。

應理解,在本發(fā)明實施例中,該控制器可以是中央處理單元(Central Processing Unit,簡稱為“CPU”),該控制器還可以是其他通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。

該控制器可以集成有內(nèi)存,該內(nèi)存可以包括只讀存儲器和隨機存取存儲器,并向控制器提供指令和數(shù)據(jù)。內(nèi)存的一部分還可以包括非易失性隨機存取存儲器。例如,內(nèi)存還可以存儲設(shè)備類型的信息。

在實現(xiàn)過程中,上述方法的各步驟可以通過控制器中的硬件的集成邏輯電路或者軟件形式的指令完成。結(jié)合本發(fā)明實施例所公開的方法的步驟可以直接體現(xiàn)為硬件控制器執(zhí)行完成,或者用控制器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領(lǐng)域成熟的存儲介質(zhì)中。該存儲介質(zhì)位于控制器的內(nèi)存中,控制器讀取內(nèi)存中的信息,結(jié)合其硬件完成上述方法的步驟。為避免重復,這里不再詳細描述。

根據(jù)本發(fā)明實施例的存儲器,通過使服務器(例如,處理器)在存儲數(shù)據(jù)時,將所要存儲的數(shù)據(jù)和該數(shù)據(jù)的索引發(fā)送給存儲器,該服務器能夠在存儲單元中存儲該數(shù)據(jù),并記錄該存儲單元的物理地址與該數(shù)據(jù)的索引的映射關(guān)系,從而,能夠支持在讀取或刪除該數(shù)據(jù)時,服務器可以在處理指令中攜帶該數(shù)據(jù)的索引,存儲器能夠基于該映射關(guān)系,確定該存儲該數(shù)據(jù)的存儲單元的物理地址,進而在該存儲單元中進行相關(guān)操作,從而,無需在服務器中保存數(shù)據(jù)的索引與邏輯地址之間的映射關(guān)系,并且,無需在存儲器中保存物理地址與邏輯地址的映射關(guān)系,進而,無需在數(shù)據(jù)存儲過程中,進行基于該映射關(guān)系的地址轉(zhuǎn)換,能夠降低資源開銷,并且,減小數(shù)據(jù)存儲的處理時延。

圖6是根據(jù)本發(fā)明實施例的計算機系統(tǒng)600的示意性框圖。如圖6所示,該計算機系統(tǒng)600包括:

服務器610,用于確定數(shù)據(jù)的索引,向存儲器發(fā)送數(shù)據(jù)存儲請求,該數(shù)據(jù)存儲請求用于指示在該存儲器中存儲數(shù)據(jù),該數(shù)據(jù)存儲請求包括該數(shù)據(jù)和該數(shù)據(jù)的索引,該數(shù)據(jù)的索引用于唯一標識該數(shù)據(jù);

存儲器620,用于接收該服務器發(fā)送的數(shù)據(jù)存儲請求,根據(jù)該數(shù)據(jù)存儲請求,存儲該數(shù)據(jù),并確定用于存儲該數(shù)據(jù)的存儲單元的地址,生成映射關(guān)系信息,該映射關(guān)系信息用于指示該地址與該數(shù)據(jù)的索引之間的映射關(guān)系。

可選地,該服務器還用于向該存儲器發(fā)送數(shù)據(jù)處理請求,該數(shù)據(jù)處理請求用于指示對該數(shù)據(jù)進行處理,該數(shù)據(jù)處理請求包括該數(shù)據(jù)的索引;

該存儲器還用于根據(jù)該數(shù)據(jù)的索引和該映射關(guān)系信息,確定該地址,并在該地址所對應的存儲單元中對該數(shù)據(jù)進行處理。

可選地,該數(shù)據(jù)處理請求為數(shù)據(jù)讀取請求,或該數(shù)據(jù)處理請求為數(shù)據(jù)刪除請求。

可選地,該索引為鍵key,該數(shù)據(jù)為值value。

該計算機系統(tǒng)600中的服務器610用于執(zhí)行上述方法200中的服務器(例如,處理器A)的動作和功能,并且,上述計算機系統(tǒng)600中的存儲器620的動作與方法200中存儲器(例如,存儲器A)的動作相似,這里為了避免贅述,省略其詳細說明。

根據(jù)本發(fā)明實施例的計算機系統(tǒng),通過使存儲器獲取存儲單元的物理地址與數(shù)據(jù)的索引的映射關(guān)系,從而,在接收到處理器發(fā)送的攜帶有索引的數(shù)據(jù)處理指令時,存儲器能夠基于該映射關(guān)系,確定該存儲該數(shù)據(jù)的存儲單元的物理地址,進而在該存儲單元中進行相關(guān)操作,從而,無需在服務器(例如,處理器)中保存數(shù)據(jù)的索引與邏輯地址之間的映射關(guān)系,并且,無需在存儲器中保存物理地址與邏輯地址的映射關(guān)系,進而,無需在數(shù)據(jù)存儲過程中,進行基于該映射關(guān)系的地址轉(zhuǎn)換,能夠降低資源開銷,并且,減小數(shù)據(jù)存儲的處理時延。

圖7是根據(jù)本發(fā)明實施例的計算機系統(tǒng)700的示意性框圖。如圖7所示,該計算機系統(tǒng)700包括:

服務器710,用于確定數(shù)據(jù)的索引,向該存儲器發(fā)送數(shù)據(jù)處理請求,該數(shù)據(jù)處理請求用于指示對該數(shù)據(jù)進行處理,該數(shù)據(jù)處理請求包括該數(shù)據(jù)的索引,該數(shù)據(jù)的索引用于唯一標識該數(shù)據(jù);

存儲器720,用于接收該服務器發(fā)送的數(shù)據(jù)處理請求,根據(jù)該數(shù)據(jù)的索引和映射關(guān)系信息,確定用于存儲該數(shù)據(jù)的存儲單元的地址,該映射關(guān)系信息用于指示該數(shù)據(jù)的索引與該地址之間的映射關(guān)系,根據(jù)該數(shù)據(jù)處理請求,在該地址所對應的存儲單元中對該數(shù)據(jù)進行處理。

可選地,該數(shù)據(jù)處理請求為數(shù)據(jù)讀取請求,或該數(shù)據(jù)處理請求為數(shù)據(jù)刪除請求。

可選地,該索引為鍵key,該數(shù)據(jù)為值value。

該計算機系統(tǒng)700中的服務器710用于執(zhí)行上述方法300中的服務器(例如,處理器B)的動作和功能,并且,上述計算機系統(tǒng)700中的存儲器720的動作與方法300中存儲器(例如,存儲器B)的動作相似,這里為了避免贅述,省略其詳細說明。

根據(jù)本發(fā)明實施例的計算機系統(tǒng),通過使存儲器獲取存儲單元的物理地址與數(shù)據(jù)的索引的映射關(guān)系,從而,在接收到處理器發(fā)送的攜帶有索引的數(shù)據(jù)處理指令時,存儲器能夠基于該映射關(guān)系,確定該存儲該數(shù)據(jù)的存儲單元的物理地址,進而在該存儲單元中進行相關(guān)操作,從而,無需在服務器(例如,處理器)中保存數(shù)據(jù)的索引與邏輯地址之間的映射關(guān)系,并且,無需在存儲器中保存物理地址與邏輯地址的映射關(guān)系,進而,無需在數(shù)據(jù)存儲過程中,進行基于該映射關(guān)系的地址轉(zhuǎn)換,能夠降低資源開銷,并且,減小數(shù)據(jù)存儲的處理時延。

應理解,在本發(fā)明的各種實施例中,上述各過程的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應以其功能和內(nèi)在邏輯確定,而不應對本發(fā)明實施例的實施過程構(gòu)成任何限定。

本領(lǐng)普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。

所屬領(lǐng)的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。

在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。

另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。

所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應以所述權(quán)利要求的保護范圍為準。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1