日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

數據存儲設備及其操作方法與流程

文檔序號:11176730閱讀:1357來源:國知局
數據存儲設備及其操作方法與流程

對相關申請的交叉引用

本申請要求于2016年3月25日提交的第10-2016-0036386號韓國專利申請的優(yōu)先權,該韓國專利申請的公開內容通過引用整體并入于此。

本公開的實施例涉及數據存儲設備,并且更具體地,涉及用于提高主機(host)和數據存儲設備之間的傳輸效率的數據存儲設備和方法,以及包括其的數據處理系統(tǒng)。



背景技術:

具有大容量的存儲設備通常包括多個存儲器設備(memorydevice)。存儲器設備用于存儲數據。存儲器設備被分為易失性存儲器設備和非易失性存儲器設備。

數據復制或備份經常用于在存儲設備或電源出現故障的情況下恢復數據。數據鏡像就是一種這樣的數據復制方案。其是在至少一個設備中重復地存儲數據的技術。主機通常針對相同的數據在存儲設備上運行多個寫入命令以執(zhí)行數據鏡像,或者運行具有由存儲設備接收的單個地址并在存儲設備中轉換(translate)的單個寫入命令以執(zhí)行復制。因此,典型的數據復制可能需要由主機生成的更多數量(例如,兩倍之多)的命令,或者可能需要在存儲設備處執(zhí)行地址轉換和/或處理。這兩者都可能需要額外的處理。



技術實現要素:

一些實施例提供了用于提高在主機和數據存儲設備之間的數據效率并且降低功耗的數據存儲系統(tǒng)、方法、以及設備。

在一些實施例中,數據存儲設備包括:第一非易失性存儲器設備;第二非易失性存儲器設備;以及管理電路,其連接到第一非易失性存儲器設備和第二非易失性存儲器設備。所述管理電路被配置為:接收外部多訪問命令(multi-accesscommand),所述外部多訪問命令從所述數據存儲設備的外部接收,并且包括第一地址和第二地址,基于所述外部多訪問命令和第一地址,生成第一內部訪問命令并將第一內部訪問命令和第一地址提供給第一非易失性存儲器設備,以及基于所述外部多訪問命令和第二地址,生成第二內部訪問命令并將第二內部訪問命令和第二地址提供給第二非易失性存儲器設備。

在一些實施例中,其可以包括上述或其它實施例,訪問數據存儲設備的方法包括:在所述數據存儲設備處從在所述數據存儲設備外部的設備接收外部多訪問命令,所述外部多訪問命令包括第一地址和第二地址;將基于所述外部多訪問命令的第一訪問命令提供給第一非易失性存儲器設備,第一訪問命令包括第一地址;使用第一訪問命令和第一地址在第一非易失性存儲器設備上運行第一訪問操作;將基于所述外部多訪問命令的第二訪問命令提供給第二非易失性存儲器設備,第二訪問命令包括第二地址;以及使用第二訪問命令和第二地址在第二非易失性存儲器設備上運行第二訪問操作。

在一些實施例中,其可以包括上述或其它實施例,用于數據存儲設備的多訪問方法包括:通過生成多訪問請求在主機設備上啟動多訪問操作;對所述多訪問請求執(zhí)行映射操作以生成多訪問命令,所述多訪問命令包括至少命令類型指示符、復制/拆分標志、以及多個地址;以及從所述主機向所述數據存儲設備發(fā)送所述多訪問命令。

在一些實施例中,其可以包括上述或其它實施例,用于包括管理電路和多個非易失性存儲器設備的數據存儲設備的多訪問方法包括:從所述數據存儲設備外部的設備接收外部多訪問命令,所述外部多訪問命令包括命令類型指示符和至少第一地址和第二地址;使用第一地址將基于所述外部多訪問命令的第一內部多訪問命令傳輸到所述數據存儲設備的第一非易失性存儲器設備;使用第二地址將基于所述外部多訪問命令的第二內部多訪問命令傳輸到所述數據存儲設備的第二非易失性存儲器設備;使用第一地址訪問第一非易失性存儲器設備;以及使用第二地址訪問第二非易失性存儲器設備。

附圖說明

通過參考附圖詳細描述其示例性實施例,上述和其它特征和優(yōu)點將變得更加明顯,其中:

圖1是根據一些實施例的數據處理系統(tǒng)的框圖;

圖2是根據一些實施例的圖1中所示的主機和數據存儲設備的框圖;

圖3是根據一些實施例的圖2中所示的存儲器設備集群(cluster)的框圖;

圖4是根據一些實施例的主機的層級(hierarchical)結構的示圖;

圖5a和圖5b是圖1中所示的數據存儲設備的示例的框圖;

圖6是根據一些實施例的數據處理系統(tǒng)的多訪問方法的流程圖;

圖7是根據一些實施例的數據處理系統(tǒng)的多寫入方法的流程圖;

圖8a是根據一些實施例的諸如圖7中所示的多寫入命令的示圖;

圖8b是根據本發(fā)明構思的其它實施例的諸如圖7中所示的另一多寫入命令的示圖;

圖9是根據一些實施例的用于說明數據處理系統(tǒng)的多寫入操作的示圖;

圖10是根據其它實施例的用于說明數據處理系統(tǒng)的多寫入操作的示圖;

圖11是根據一些實施例的數據處理系統(tǒng)的多讀取方法的流程圖;

圖12是根據其它實施例的數據處理系統(tǒng)的多讀取方法的流程圖;

圖13是根據一些實施例的用于說明數據處理系統(tǒng)的多讀取操作的示圖;

圖14是根據一些實施例的用于說明數據處理系統(tǒng)的多擦除方法的示圖;

圖15是根據一些實施例的數據處理系統(tǒng)的框圖;以及

圖16和圖17是根據一些實施例的包括數據存儲設備的數據處理系統(tǒng)的框圖。

相同的數字始終指代相同的元素。雖然不同的附圖示出了示例性實施例的變型,并且可以使用諸如“在一個實施例中”的語言來指代,但是這些附圖不一定旨在彼此相互排斥。相反,如從下面的詳細描述的上下文中將看到的,當將附圖及其描述作為整體考慮時,不同附圖中描繪和描述的某些特征可以與其它附圖中的其它特征組合以得到各種實施例。并且這些各種實施例也應當在本發(fā)明構思的范圍內。

具體實施方式

圖1是根據一些實施例的數據處理系統(tǒng)100的框圖。圖2是根據一些實施例的圖1中所示的主機200和數據存儲設備300的框圖。圖3是根據一些實施例的圖2中所示的存儲器設備集群400a的框圖。

參考圖1至圖3,數據處理系統(tǒng)100可以包括主機200和數據存儲設備300,數據存儲設備300可以通過接口110與主機200通信命令和/或數據。數據處理系統(tǒng)100可以被實現為,例如,個人計算機(pc)、工作站、數據中心、互聯網數據中心(idc)、存儲區(qū)域網絡(san)、網絡附接存儲(nas)或移動計算設備,但是本發(fā)明構思不限于這些示例。移動計算設備可以是膝上型計算機、蜂窩電話、智能電話、平板pc、個人數字助理(pda)、企業(yè)數字助理(eda)、數字靜止照相機、數字攝像機、便攜式多媒體播放器(pmp)、個人導航設備或便攜式導航設備(pnd)、手持游戲控制臺、移動互聯網設備(mid)、可穿戴計算機、物聯網(iot)設備,萬物互聯(ioe)設備、無人機或電子書,但不限于此。

接口110可以被實現為,例如,串行高級技術附件(sata)接口、高速sata(satae)接口、sas(串行附接小型計算機系統(tǒng)接口(scsi))、高速外圍組件互連(pcie)接口、高速非易失性存儲器(nvme)接口、高級主機控制器接口(ahci)或多媒體卡(mmc)接口,但是本發(fā)明構思不限于這些示例。接口110可以在主機200和數據存儲設備300之間傳輸電信號或光學信號。

主機200可以通過接口110控制數據存儲設備300的數據處理操作(例如,寫入或讀取操作)。主機200可以指代主機控制器。

數據存儲設備300可以包括管理模塊310和多個非易失性存儲器(nvm)設備410-1至410-m,其中“m”是至少為2的整數。為了在描述中方便起見,nvm設備410-1至410-m將被稱為存儲器設備集群400。圖2中所示的數據存儲設備300a還可以包括緩沖器360和電源管理集成電路(pmic)370。

數據存儲設備300可以是非易失性存儲器設備,諸如基于閃存的存儲器設備或相變隨機訪問存儲器(pram)設備,但是其不限于這些示例。數據存儲設備300可以被實現為,例如,固態(tài)驅動器或固態(tài)盤(ssd)、嵌入式ssd(essd)、通用閃速存儲器(ufs)、mmc、嵌入式mmc(emmc)或受管理(managed)nand,但是本發(fā)明構思不限于這些示例。

在數據存儲設備300包括一個或多個基于閃存的存儲器設備的情況下,每個基于閃存的存儲器設備可以包括存儲器單元陣列。存儲器單元陣列可以包括多個存儲器單元。存儲器單元陣列可以是二維或三維存儲器單元陣列。

三維存儲器單元陣列可以在具有布置在硅襯底上或上方的有源區(qū)域的存儲器單元的陣列中的一個或多個物理級(physicallevel)處單體地(monolithically)形成,并且可以包括與存儲器單元的操作相關的電路。電路可以形成在硅襯底中、硅襯底上、或硅襯底的上方。術語“單體的(monolithic)”意指陣列中的每一級(level)處的層(layer)直接沉積在陣列中的基礎級(underlyinglevel)處的層上。三維存儲器單元陣列可包括垂直取向的垂直nand串,使得至少一個存儲器單元置于另一存儲器單元上或上方。所述至少一個存儲器單元可以包括電荷捕獲層。以下專利文獻(其通過引用整體并入本文)描述了用于三維存儲器陣列的合適配置,其中三維存儲器陣列被配置為多個級,其中字線和/或位線在各級之間共享:專利號為7,679,133、8,553,466、8,654,587和8,559,235的美國專利以及公開號為2011/0233648的美國專利申請。

可替換地,數據存儲設備300可以被實現為硬盤驅動器(hdd)、pram設備、磁阻ram(mram)設備、自旋力矩傳輸mram(stt-mram)設備、鐵電ram(fram)設備或電阻式ram(rram)設備。

可以包括各種電路元件并且可以包括集成電路的管理模塊310可以被稱為管理電路310,并且可以控制在主機200和nvm設備410-1至410-m之間傳輸的命令和/或數據的傳遞或處理。在nvm設備410-1至410-m是nand設備的情況下,管理電路310可以被指代為nand管理電路。管理模塊310可以在例如ic或片上系統(tǒng)(soc)中實現。圖2中所示的主機200a可以包括總線架構210、中央處理單元(cpu)220、存儲器225和第一接口230。主機200a可以在數據存儲設備300a的外部。主機200a(包括其各種組件)和數據存儲設備300(包括其各種組件)可被配置以執(zhí)行這里所描述的各種操作和方法。

cpu220、存儲器225和第一接口230可以經由總線架構210彼此通信命令和/或數據。盡管主機200a包括總線架構210、cpu220、存儲器225以及圖2中所示的實施例中的第一接口230,但是本發(fā)明構思不限于圖2中所示的主機200a。

主機200可以被實現為ic、主板、soc、應用處理器(ap)、移動ap、web服務器、數據服務器或數據庫服務器,但是本發(fā)明構思不限于這些示例??偩€架構210可以被實現為高級微控制器總線架構(amba)、高級高性能總線(ahb)、高級外圍總線(apb)、高級可擴展接口(axi)、高級系統(tǒng)總線(asb)、axi一致性擴展(ace)或其組合,但是本發(fā)明構思不限于這些示例。

cpu220可以生成用于控制數據存儲設備300的寫入操作的寫入命令、用于控制數據存儲設備300的讀取操作的讀取命令或用于控制數據存儲設備300的擦除操作的擦除命令。寫入命令可以包括寫入地址(例如,邏輯地址或物理地址)。讀取命令可以包括讀取地址(例如,邏輯地址或物理地址)。cpu220還可以生成用于控制數據存儲設備300的多寫入操作的多寫入命令(n-write)、用于控制數據存數設備300的多讀取操作的多讀取命令(n-read)或用于控制數據存儲設備300的多擦除操作的多擦除命令(n-erase)。由主機生成的命令在這里被稱為與存儲設備300相關的外部命令。

為了在描述中方便起見,n-write、n-read和n-erase各自通常被稱為多訪問命令或外部多訪問命令。外部多訪問命令是在各種實施例中最初在主機200和數據存儲設備300之間傳遞的命令,使得使用單個命令相對于至少兩個地址(例如,物理地址)執(zhí)行數據寫入、讀取或擦除操作。例如,所述至少兩個地址可以與單個多訪問命令相關聯并且可以與所述單個多訪問命令一起傳輸。多訪問命令可以包括n-write、n-read和n-erase,但是本發(fā)明構思不限于這些示例。包括多個地址的其它命令也可以被描述為多訪問命令。

cpu220可以包括至少一個內核(core)。

存儲器225可以存儲用于cpu220的操作的數據、將要傳輸到數據存儲設備300的數據或者從數據存儲設備300接收的數據。存儲器225還可以存儲可以由cpu220運行的閃存轉換層(flashtranslationmemory,ftl)代碼。ftl代碼可以被簡單地稱為ftl。下面將參考圖4詳細描述主機200和ftl中的示例層級(hierarchy)。

第一接口230可以改變將要傳輸到數據存儲設備300的命令和/或數據的格式,并且可以將所述命令和/或數據以改變的格式通過接口110傳輸到數據存儲設備300。第一接口230還可以改變從數據存儲設備300接收的響應和/或數據的格式,并且可以將所述響應和/或數據以改變的格式通過總線架構210傳輸到cpu220。例如,第一接口230可以包括傳輸和接收命令和/或數據的收發(fā)器。第一接口230的結構和操作可以被配置為與這些接口110的結構和操作兼容。

圖2中所示的管理模塊310a可以包括:總線架構311、內部存儲器(例如,sram)315、第二接口320、cpu330、緩沖器控制器340和第三接口350。管理模塊310a的總線架構311可以被實現為amba、ahb、apb、axi、asb、ace或其組合,但是本發(fā)明構思不限于這些示例。

內部存儲器315可以存儲用于管理模塊310a的操作的數據或者從由管理模塊310a執(zhí)行的數據處理操作(例如寫入或讀取操作)生成的數據。內部存儲器315可以存儲可以由cpu330運行的ftl的部分代碼。ftl的部分功能(或用于執(zhí)行部分功能的代碼)可以在主機200中被實現,ftl的另一部分功能(或用于執(zhí)行另一部分功能的代碼)可以在數據存儲設備300的管理模塊310a中被實現。然而,在這里描述的各種實施例中,ftl沒有完全在數據存儲設備300上被實現。在一些情況下,ftl沒有任何部分在數據存儲設備300上被實現。

內部存儲器315可以被實現為ram、動態(tài)ram(dram)、靜態(tài)ram(sram)、緩沖器、緩沖存儲器、高速緩沖存儲器或緊湊耦合存儲器(tcm),但不限于這些示例。

第二接口320可以改變將要傳輸到主機200a的響應和/或數據的格式,并且可以將所述響應和/或數據以改變的格式通過接口110傳輸到主機200a。第二接口320還可以從主機200a接收命令和/或數據,改變所述命令和/或數據的格式,并且將所述命令和/或數據以改變的格式發(fā)送到cpu330和/或緩沖器控制器340。第二接口320可以包括傳輸和接收信號和/或數據的收發(fā)器。

第二接口320的結構和操作可以被配置為與這些接口110的結構和操作兼容。第二接口320可以是,例如,sata接口、satae接口、sas、pcie接口、nvme接口、ahci、mmc接口、nand型閃速存儲器接口或nor型閃速存儲器接口,但不限于此。

cpu330可以通過總線架構311控制內部存儲器315、第二接口320、緩沖器控制器340和第三接口350。cpu330可以包括至少一個內核。cpu330可以控制pmic370。

緩沖器控制器340可以根據cpu330的控制將數據寫入緩沖器360或從緩沖器360讀取數據。緩沖器控制器340可以被稱為控制器或緩沖器管理器,其可以控制在緩沖器360上的寫入和讀取操作。

第三接口350可以根據cpu330的控制通過通道cha至chd來控制在存儲器設備集群400a上的數據處理操作(例如,寫入或讀取操作)。第三接口350可以是,例如,sata接口、satae接口、sas、pcie接口、nvme接口、ahci、mmc接口、nand型閃速存儲器接口或nor型閃速存儲器接口,但不限于此。

緩沖器360可以寫入從主機200接收的數據或讀取根據緩沖器控制器340的控制已經存儲的數據。緩沖器360可以被實現為易失性存儲器,諸如緩沖存儲器、ram、sram或dram,但是本公開不限于這些示例。

當管理模塊310和緩沖器360分別形成在不同的半導體芯片中時,管理模塊310和緩沖器360可以使用層疊封裝(pop)、多芯片封裝(mcp)或系統(tǒng)內封裝(sip)在單個封裝中實現,但是本公開不限于這些示例。包括緩沖器360的第一芯片可以例如使用諸如凸塊(bump)或球(ball)的堆疊端子(stackingterminal)堆疊在包括管理模塊310的第二芯片的上方。

pmic370可以控制施加到管理模塊310、緩沖器360、和/或存儲器設備集群400a的操作電壓。施加到管理模塊310的第一操作電壓、施加到緩沖器360的第二操作電壓和施加到存儲器設備集群400a的第三操作電壓可以彼此相同或不同。

圖2中所示的存儲器設備集群400a可以包括通過各自的通道cha至chd傳輸和接收數據的多個存儲器設備410-1至410-m。如圖3所示,存儲器設備410-1至410-m可以分別包括多個存儲器元件或存儲器芯片ca0至ca2、cb0至cb2、cc0至cc2和cd0至cd2。雖然在圖3中所示的實施例中三個存儲器芯片連接到四個通道cha到chd中的每一個,但是當前的實施例僅僅是示例,并且通道的數量以及連接到每條通道上的存儲器芯片的數量可以被改變。每個存儲器芯片可以是,例如,非易失性存儲器芯片,諸如nand存儲器。如這里所述,半導體芯片是指從晶圓形成的晶片(die)并且其上包括集成電路??梢远询B半導體芯片以形成諸如芯片堆疊和/或半導體封裝的半導體設備。半導體芯片也可以被稱為半導體設備。

存儲器設備410-1、410-2、410-3或410-4中的存儲器元件或存儲器芯片ca0至ca2、cb0至cb2、cc0至cc2或cd0至cd2可以在單個封裝中實現或安裝在單個模塊上。每個存儲器芯片可以包括多個塊;每個塊可以包括多個頁面。

第一存儲器設備410-1可以連接到第一通道cha;第二存儲器設備410-2可以連接到第二通道chb;第m存儲器設備410-m可以連接到第m通道chd??梢愿鶕煌那闆r適當地確定存儲器設備410-1至410-m的數量和通道的數量。存儲器設備410-1至410-m中的每一個中的存儲器芯片或存儲器元件的數量也可以根據不同的情況適當地確定。

這里所使用的通道可以指代存在于管理模塊310(例如,第三接口350)與存儲器設備之間的獨立數據通路。數據通路可以包括可以傳遞數據和/或控制信號的傳輸線。

圖4是根據本發(fā)明構思的一些實施例的主機的層級結構240的示圖。參考圖4,層級結構240可以包括應用層250、ftl260和存儲接口層270。ftl260可以執(zhí)行地址映射261、垃圾收集(gc)263、損耗平衡(wear-leveling,wl)265和壞塊管理(bbm)267。

例如,在一個實施例中,地址映射261包括將邏輯地址映射到與數據存儲設備300中的物理位置相對應的物理地址。ftl260可以使用將邏輯地址鏈接到物理地址的地址轉換映射表(未示出),將邏輯塊地址轉換為對應于數據存儲設備300中的物理位置的物理塊地址。地址映射方法可以是扇區(qū)映射、塊映射或混合映射,但不限于這些示例。此外,地址映射可以將邏輯地址(例如,單個邏輯地址)映射到多個物理地址,諸如數據存儲或存儲器設備集群的兩個不同的非易失性存儲器設備的兩個物理地址。

wl265是管理數據存儲設備300的技術,使得寫入操作不集中在數據存儲設備300中的特定塊上,例如,每個塊具有統(tǒng)一的寫入計數。ftl260可以記錄并管理對于每個塊或頁的寫入計數并且可以執(zhí)行管理,使得基于寫入計數執(zhí)行寫入操作。

gc263是均衡數據存儲設備300中的塊的擦除計數的技術。bbm267可以指代管理數據存儲設備300的壞塊信息的功能或代碼。

ftl260可以是存儲在主機200的存儲器225中并在cpu220中運行的軟件或固件代碼。ftl260可以被實現為主機200的操作系統(tǒng)(os)的一部分。如上所述,在一些實施例中,ftl260可以部分地在主機200中實現并且部分地在數據存儲設備300中實現。例如,地址映射261、gc263和wl265可以在主機200中實現以及bbm267可以在數據存儲設備300中實現,但是本發(fā)明構思不限于該示例。

存儲接口層270可以對應于圖2中所示的第一接口230。

圖5a和圖5b是圖1中所示的數據存儲設備300的示例300b和300c的框圖。圖5a中所示的數據存儲設備300b的結構和操作類似于圖2中所示的數據存儲設備300a的結構和操作。因此,描述將集中在數據存儲設備300a和300b之間的差異以避免冗余。與圖2中所示的數據存儲設備300a的管理模塊310a相比,圖5a中所示的數據存儲設備300b的管理模塊310b還可以包括也被稱為糾錯碼(ecc)電路的糾錯碼(ecc)引擎325和/或數據運算器335。

ecc引擎325可以糾正將要存儲在存儲器設備集群400b中的數據中的錯誤和/或從存儲器設備集群400b輸出的數據中的錯誤。ecc引擎325可以在管理模塊310b內的任何地方實現。例如,ecc引擎325可以在第三接口350內實現。

數據運算器335或數據運算電路,可以壓縮將要存儲在存儲器設備集群400b中的數據,并且可以解壓縮從存儲器設備集群400b輸出的數據。數據運算器335還可以從將要存儲在存儲器設備集群400b中的數據生成奇偶校驗數據。因此,數據運算器335也可以更具體地被稱為數據壓縮/解壓縮電路。

圖5b中所示的數據存儲設備300c的結構和操作類似于圖2中所示的數據存儲設備300a的結構和操作。因此,描述將集中在數據存儲設備300a和300c之間的差別以避免冗余。與圖2中所示的數據存儲設備300a的管理模塊310a相比,圖5b中所示的數據存儲設備300c的管理模塊310c不包括緩沖器控制器340。因此,數據存儲設備300c不包括緩沖器360。

在主機200c和數據存儲設備300c之間的接口110’可以與nvm接口(例如,nand接口)兼容。因此,主機200c可以根據與nvm接口兼容的接口110’向管理模塊310c發(fā)送命令(例如,nand命令)和地址(或多個地址),并且可以將數據直接傳輸(130)到存儲器設備集群400c。

管理模塊310c可以從主機200c接收命令和地址(或多個地址),并將它們施加到存儲器設備集群400c。管理模塊310c可以將從主機200c接收的命令和地址(或多個地址)轉換為適合于存儲器設備集群400c。在本實施例中,來自主機200c的命令和地址(或多個地址)可以經由管理模塊310c被施加到存儲器設備集群400c,但是所述數據可以不經過管理模塊310c而直接從主機200c傳輸到存儲器設備集群400c。

圖6是根據本發(fā)明構思的一些實施例的數據處理系統(tǒng)100的多訪問方法的流程圖。參考圖1至圖6,在操作s101中,主機200向數據存儲設備300發(fā)送多訪問命令(n-access),并且數據存儲設備300接收n-access。

相對于數據存儲設備300被稱為外部多訪問命令的n-access指定至少兩個地址(例如,至少兩個物理塊地址),使得使用單個命令在所述至少兩個物理塊地址上執(zhí)行訪問操作。例如,所述至少兩個物理塊地址可以是同一芯片上的不同塊、不同芯片上的不同塊或不同封裝上的不同塊。為了在所述至少兩個物理塊地址上執(zhí)行訪問操作,通常需要至少兩個單獨的命令或至少兩次命令。然而,根據本發(fā)明構思的各種實施例,使用最初在主機200和數據存儲設備300之間定義的n-access,使得使用單個命令在所述至少兩個不同的物理塊地址上能夠執(zhí)行訪問操作(例如,寫入操作、讀取操作或擦除操作)。

n-access可以包括n個地址(例如,物理地址)的地址列表add_list,其中n是至少為2的整數。根據命令的形式或類型,n-access可以包括或可以不包括數據。稍后將參照圖8a和8b詳細描述n-access。n-access命令可以源自于在所述主機處生成的包括單個邏輯地址的初始命令,所述單個邏輯地址可以是目的地址。例如,主機可以包括將與在主機處發(fā)起的命令(也稱為請求)相關聯的邏輯地址轉換為包括兩個物理地址的命令的閃存轉換層。如上所述,所述兩個物理地址可以基于所述單個邏輯地址和所述閃存轉換層操作。

數據存儲設備300的管理模塊310可以將n-access存儲在緩沖器360中。管理模塊310可以將n-access轉換為適合于nvm設備(例如,nand閃存存儲器設備)的訪問命令nvm_access。

當第一物理地址pba1和第二物理地址pba2被包括在n-access的地址列表add_list中時,管理模塊310可以在操作s103中生成并向第一nvm設備發(fā)送包括第一物理地址pba1的第一訪問命令nvm_access,并且可以在操作s105中生成并向第二nvm設備發(fā)送包括第二物理地址pba2的第二訪問命令nvm_access。每個訪問命令nvm_access可以是寫入命令nvm_write、讀取命令nvm_read或擦除命令nvm_erase,但不限于此。相對于數據存儲設備300,每個訪問命令nvm_access可以被稱為內部訪問命令。

在向第一nvm設備發(fā)送第一訪問命令nvm_access以及向第二nvm設備發(fā)送第二訪問命令nvm_access之后,在操作s107中,管理模塊310可以向主機200發(fā)送n-access的確認ack。

以上述方式,數據存儲設備300可以從數據存儲設備(例如,主機200)外部的設備接收外部多訪問命令,其中所述外部多訪問命令包括第一地址和第二地址?;谒鐾獠慷嘣L問命令,將第一訪問命令提供給第一非易失性存儲器,第一訪問命令包括第一地址,以及將第二訪問命令提供給第二非易失性存儲器,第二訪問命令包括第二地址。然后,使用第一訪問命令和第一地址在第一非易失性存儲器設備上運行第一訪問操作,以及使用第二訪問命令和第二地址在第二非易失性存儲器設備上運行第二訪問操作。

圖7是根據本發(fā)明構思的一些實施例的數據處理系統(tǒng)100的多寫入方法的流程圖。圖8a是根據本發(fā)明構思的一些實施例的多訪問命令(諸如圖7中所示的n-write)的示圖。圖8b是根據本發(fā)明構思的其它實施例的多訪問命令(諸如圖7中所示的n-write)的示圖。

參考圖1至圖8b,在操作s110中,主機200向數據存儲設備300發(fā)送多訪問命令(n-write),并且數據存儲設備300的管理模塊310從主機200接收n-write。多訪問命令指定至少兩個地址(例如,物理塊地址),使得使用單個命令在所述至少兩個物理塊地址上執(zhí)行操作。為了在至少兩個物理塊地址執(zhí)行數據寫入、讀取或擦除操作,通常需要至少兩個單獨的命令或至少兩次命令。然而,根據本發(fā)明構思的實施例,使用最初在主機200和數據存儲設備300之間定義的多訪問命令(例如,n-write),使得使用單個命令在至少兩個不同的物理塊地址上能夠執(zhí)行訪問操作。例如,在主機200和數據存儲設備300之間傳輸的寫入命令可以包括與兩個不同的各自存儲器塊相關聯的至少兩個不同的物理地址。

例如,主機200可以使得數據存儲設備300能夠使用單個命令(例如,n-write)在n個不同的物理塊地址上執(zhí)行訪問操作。參考圖8a,命令40a可以包括命令標識符41、操作碼(opcode)42、數據指針43、復制/拆分標志47和地址列表。命令40a還可以包括可選的壓縮標志(未示出)和/或芯片地址(例如,芯片使能,也未示出)。

命令標識符41可以是被唯一定義的數據,以識別命令。例如,每個命令可以用數字標識,使得它以后可以與相應的數據匹配。例如,來自主機的寫入或擦除命令可以包括命令標識符,這樣,當確認被返回到主機時,其具有相同的標識符,使得主機知道該確認是針對哪個命令/請求的響應??商娲?,來自主機的讀取命令可以包括命令標識符,這樣,當數據被返回到主機時,它具有相同的標識符,使得主機知道確認是針對哪個命令/請求的響應。

操作碼42可指定對應于命令的操作。例如,操作可以是正常(例如,單個)讀取操作、多讀取操作、正常(例如,單個)寫入操作、多寫入操作等。操作碼42可以指定命令的類型,使得管理模塊310知道如何處理所述命令。例如,如果操作碼用于正常讀取(例如,使用單個地址),則管理模塊310能夠適當地轉換用于單訪問的命令、地址和任何數據。然而,如果操作碼用于多讀取,則管理模塊310可以轉換用于多訪問的命令、地址和任何數據。操作碼在本文中還可以被描述為命令類型指示符。

數據指針43可以是指示數據在主機200的存儲器225中的位置的地址信息。數據指針43可以以鏈表結構連接,但是本發(fā)明構思不限于該實施例。數據存儲設備300的管理模塊310可以基于數據指針43從主機200的存儲器225讀取數據或向主機200的存儲器225寫入數據。

可以包括復制/拆分標志47,以便在多訪問的情況下指示相關聯的數據是重復數據還是拆分數據,或者指示兩者都不是(例如,如果命令是單訪問命令)。如下面進一步討論的,在一些情況下,與寫入命令相關聯的數據將被復制并存儲在兩個不同的物理位置?;蛘?,與寫入命令相關聯的數據可以被拆分,使得其一部分存儲在第一物理位置,并且剩余部分存儲在第二物理位置。盡管描述了兩個位置,但是這僅是示例,并且可以使用更多位置(例如,三個或更多個)以將數據復制或拆分成三個或更多個位置。類似地,對于讀取命令,能夠讀取的數據是存儲在多個位置中的重復數據,或者可替代地,是存儲在多個位置中的分割數據?;趶椭?拆分標志47的值,管理模塊310控制如何處理輸入或輸出的命令和/或數據。

地址列表可以包括至少兩個,即,n個物理地址。例如,地址列表可以包括第一物理地址44和第二物理地址45。物理地址44和45中的每一個可以包括數據存儲設備300中將被寫入數據的物理塊的起始地址(start_address)441或451和物理塊的數量443或453??商娲?,每個物理地址44或45可以包括數據存儲設備300中將被寫入數據的物理塊的start_address441或451以及結束地址(未示出)。因此,包括在地址列表中的每個物理地址可以以各種形式包括用于指定將被寫入數據的物理塊的位置的信息。

雖然未示出,但是命令中的附加字段可以指示芯片地址(例如,以芯片使能數據的形式)。因此,如果與外部多訪問命令相關聯的兩個物理地址對應于第一芯片處的第一物理地址和第二芯片處的第二物理地址,則兩個芯片地址可以包括在命令40a中。在一個實施例中,這樣的芯片地址被包括在與start_addresses相同的字段中,例如作為附加到開始地址的附加位。然而,芯片地址不需要不同,并且在外部多訪問命令中的不同的物理地址是用于同一芯片中的不同塊的情況下,芯片地址可以是相同的芯片地址。在一些實施例中,不同的物理地址對應于兩個不同芯片內的相同的相對(relative)物理地址,但是兩個不同的芯片地址。

同樣未示出,命令中的附加字段可以包括壓縮/解壓縮代碼。例如,基于響應于多訪問命令是否以及如何壓縮或解壓縮數據,能夠使用數據壓縮/解壓縮代碼。

參考圖8b,n-write40b可以包括命令標識符41、操作碼42、地址列表和數據46。盡管未示出,但其也可以包括諸如圖8a中所示的多訪問標志、以及芯片地址/多芯片地址,和/或壓縮/解壓縮標志。圖8b中所示的n-write40b類似于圖8a中所示的n-write40a,因此將描述它們之間的差異以避免冗余。

盡管圖8a中所示的n-write40a包括數據指針43時,圖8b中所示的n-write40b包括將要被寫入數據存儲設備300的數據46。n-write40a或40b可以具有數據包(packet)形式,但是本發(fā)明構思不限于這些實施例。

返回參考圖7,數據存儲設備300的管理模塊310可以接收n-write,并且還可以接收并且將包括在n-write中的寫入數據wdat存儲在緩沖器360中。n-write可以是包括單個命令標識符的單個命令??商娲兀芾砟K310可以從由圖8a中所示的n-write中包括的數據指針43指定的主機200的存儲器225中讀取寫入數據wdat,并且可以將寫入數據wdat存儲在緩沖器360中。

管理模塊310將n-write(外部命令)轉換為適合于nvm設備(例如,nand閃存設備)的寫入命令nvm_write(例如,內部命令)。當第一和第二物理地址pba1和pba2包括在n-write的地址列表add_list中時,在操作s120中,管理模塊310可以生成并向第一nvm設備發(fā)送包括第一物理地址pba1的第一寫入命令nvm_write,并且可以在操作s130中生成并向第二nvm設備發(fā)送包括第二物理地址pba2的第二寫入命令nvm_write。第一和第二nvm設備可以是分別連接到不同通道(例如,如圖2中所示的cha和chb)的nvm設備,例如410-1和410-2。因此,操作s120和s130可以并行(例如,同時)執(zhí)行。

寫入第一nvm設備的第一數據dat1和寫入第二nvm設備的第二數據dat2是基于從主機200接收的寫入數據wdat。例如,第一數據dat1和第二數據dat2可以是存儲在緩沖器360中的數據,并且可以從緩沖器360提供給各自的第一和第二非易失性存儲器設備。第一和第二數據dat1和dat2中的每一個可以與寫入數據wdat相同,可以是寫入數據wdat的一部分,可以是寫入數據wdat的壓縮數據,或者可以是寫數據wdat的奇偶校驗數據,但是本發(fā)明構思不限于這些示例。寫入數據wdat的壓縮數據或奇偶校驗數據可以由圖5a中所示的數據運算器335生成。

更具體地,在一些實施例中,外部多訪問命令是包括寫入數據的多寫入命令,并且所述寫入數據的第一部分包括在第一內部訪問命令中(例如,在由管理模塊310轉換并使用第一地址的第一命令中),并且所述寫入數據的第二部分而不是所述寫入數據的第一部分包括在第二內部訪問命令中(例如,在由管理模塊310轉換并使用第二地址的第二命令中)。在這種情況下,復制/拆分標志47可以指示拆分數據。

在一些實施例中,外部多訪問命令是包括寫入數據的多寫入命令,并且與所述多寫入命令相關聯的所有寫入數據被包括在第一內部訪問命令中,以及與所述多寫入命令相關聯的所有數據也被包括在第二內部訪問命令中。在這種情況下,復制/拆分標志47可以指示復制數據。

根據上述描述,可以在主機200處發(fā)起并生成多訪問請求,并且可以首先在主機200處(例如,在主機的閃存轉換層處)處理所述多訪問請求以形成多訪問命令。例如,可以執(zhí)行映射操作(例如,使用映射表和電路),其將諸如邏輯地址的第一地址轉換為兩個或更多個第二地址,例如物理地址。所述兩個或更多個第二地址可以彼此不同,并且可以使用諸如結合圖4所描述的閃存轉換層控制來選擇。之后,在數據存儲設備處,多訪問命令可以由,例如,管理模塊310,轉換成單獨的第一和第二內部訪問命令。以這種方式,主機200可以向數據存儲設備300提供多訪問命令,并且數據存儲設備300可以經由管理模塊310基于從主機200接收到的命令向數據存儲設備300的多個分別的存儲器設備(例如,向多個存儲器設備的不同的物理地址)提供分別的內部多訪問命令。

圖9是用于說明根據本發(fā)明構思的一些實施例的數據處理系統(tǒng)的多寫入操作的示圖。這里,第一數據dat1和第二數據dat2中的每一個可以與從主機200接收到的寫入數據wdat相同。

管理模塊310可以根據多寫命令(n-write)中的操作碼42和復制/拆分標志47將與從主機200接收到的寫入數據wdat相同的數據存儲在不同的物理地址(即,第一物理地址和第二物理地址)中。在一些實施例中,操作碼42和復制/拆分標志47可以是相同字段的一部分。由于相同的寫入數據wdat存儲在不同的物理地址中,因此可以執(zhí)行所述寫入數據wdat的復制或鏡像。

可替代地,第一和第二數據dat1和dat2中的一個與所述寫入數據wdat相同,另一個可以是所述寫入數據wdat的壓縮數據或奇偶校驗數據。例如,壓縮/解壓縮標志和/或甚至另外的奇偶校驗/錯誤糾正標志可以指示這些。此時,在操作s120中,管理模塊310可以將從主機200接收到的寫入數據wdat存儲在第一物理地址中,并且在操作s130中可以將所述寫入數據wdat的壓縮數據或奇偶校驗數據存儲在第二物理地址中。應當注意,當由管理模塊執(zhí)行糾錯或壓縮時,可以在數據被復制/拆分之前執(zhí)行,或者在數據被復制/拆分之后執(zhí)行。通常,以遠小于用于ssd的頁面/塊的大小為單位(例如,1k的單位)執(zhí)行糾錯(例如,使用糾錯碼,“ecc”)。因此,在這種情況下,可以在復制或拆分數據之前或之后以多個步驟執(zhí)行ecc。

圖10是用于解釋根據本發(fā)明構思的其它實施例的數據處理系統(tǒng)的多寫入操作的示圖。管理模塊310可以根據多寫入命令(n-write)中的操作碼42和復制/拆分標志47將從主機200接收到的寫入數據wdat分為至少兩段dat1’和dat2’,并且可以將段dat1’和dat2’分別存儲在不同的物理地址中,即,第一物理地址和第二物理地址(在操作s120和s130中)。例如,復制/拆分標志47可以指示與多訪問命令相關聯的數據的第一部分應當被寫入數據存儲設備的第一存儲器設備而不是數據存儲設備的第二存儲器設備,以及與所述多訪問命令相關聯的數據的第二部分應當被寫入第二存儲器設備而不是第一存儲器設備。第一段dat1’可以是所述寫入數據wdat的前半部分,第二段dat2’可以是所述寫入數據wdat的后半部分。

在操作s120中將第一寫入命令nvm_write發(fā)送到第一nvm設備并且在操作s130中將第二寫入命令nvm_write發(fā)送到第二nvm設備之后,管理模塊310可以將n_write的確認ack發(fā)送到主機200。

圖11是根據本發(fā)明構思的一些實施例的數據處理系統(tǒng)的多讀取方法的流程圖。參考圖1至圖5b以及圖11,在操作s210中,主機200向數據存儲設備300發(fā)送多讀取命令(n-read),并且數據存儲設備300的管理模塊310在操作s210中從主機200接收n-read。主機可以首先生成多讀取請求,并且例如使用諸如上述的映射表和電路將所述多讀取請求轉換為包括兩個地址的多讀取命令。

n-read指定至少兩個(例如,n個)物理塊地址,使得使用單個命令在所述至少兩個物理塊地址上執(zhí)行讀取操作。根據本發(fā)明構思的實施例,使用最初在主機200和數據存儲設備300之間定義的n-read,使得利用單個命令(例如,具有單個命令標識符)在至少兩個不同的物理塊地址上能夠執(zhí)行讀取操作。

n-read可以類似于圖8a或8b中所示的n-write。類似于圖8a或8b中所示的n-write40a或40b,n-read可以包括命令標識符41、操作碼42、復制/拆分標志47、壓縮/解壓縮標志以及地址列表44和45(以及可選的芯片地址字段)。然而,n-read可以不同于n-write,因為n-read不包括數據指針43以及將要被寫入數據存儲設備300的數據46。

數據存儲設備300的管理模塊310可以接收n-read并將其存儲在緩沖器360中。管理模塊310可以將n-read轉換為適合于nvm設備(例如,nand閃存器件)的讀取命令nvm_read。

當第一和第二物理地址pba1和pba2被包括在n-read的地址列表add_list中時,在操作s220中,管理模塊310可以生成并向第一nvm設備發(fā)送包括第一物理地址pba1的第一讀取命令nvm_read,并且在操作s240中可以生成并向第二nvm設備發(fā)送包括第二物理地址pba2的第二讀取命令nvm_read。第一和第二nvm設備可以是分別連接到不同通道(例如,如圖2所示的cha和chb)的nvm設備,例如410-1和410-2。因此,操作s220和s240可以并行(例如,同時)執(zhí)行。

在操作s230中,第一nvm設備可以響應于第一讀取命令nvm_read從第一物理地址pba1讀取第一數據dat1,并且將第一數據dat1發(fā)送到管理模塊310。在操作s250中,第二nvm裝置可以響應于第二讀取命令nvm_read從第二物理地址pba2讀取第二數據dat2,并且將第二數據dat2發(fā)送到管理模塊310。操作s230和s250可以并行執(zhí)行。

管理模塊310可以將分別從第一和第二nvm設備讀取的第一和第二數據dat1和dat2臨時存儲在緩沖器360中。在操作s260中,管理模塊310可以基于第一和第二數據dat1和dat2,將讀取數據rdat傳輸到主機200。

傳輸到主機200的讀取數據rdat可以是第一和第二數據dat1和dat2的組合。例如,當根據n-write和指示拆分數據的復制/拆分標志,從主機200接收到的寫入數據wdat已經被分成第一和第二數據dat1和dat2,并且被分別存儲在第一和第二物理地址pba1和pba2處時,主機200可以在將n-read發(fā)送到數據存儲設備300之前將n-read中的操作碼42設置為特定值。在操作s260中,根據n-read,數據存儲設備300可以分別從第一和第二物理地址pba1和pba2讀取第一和第二數據dat1和dat2,并且將通過組合第一和第二數據dat1和dat2而獲得的讀取數據rdat發(fā)送到主機200。

圖12是根據本發(fā)明構思的其它實施例的數據處理系統(tǒng)的多讀取方法的流程圖。圖12中所示的多讀取方法類似于圖11中所示的多讀取方法;因此將主要描述它們之間的差異。

在圖12中所示的實施例中,傳輸到主機200的讀取數據rdat可以是第一數據dat1或第二數據dat2。在這種情況下,當相同的數據被存儲在不同的物理地址用于數據復制或鏡像(例如,復制/拆分標志指示復制)時,只有從所述不同的物理地址讀取的數據之一被傳輸到主機200。同時,管理模塊310可以將來自不同的物理地址的數據dat1和dat2中最早讀取的數據(例如,具有更快的讀取速度的數據)發(fā)送到主機200。以這種方式,管理電路被配置為基于第一非易失性存儲器設備的數據讀取速度和第二非易失性存儲器設備的數據讀取速度,在將從第一非易失性存儲器設備讀取的第一數據發(fā)送到主機以及將從第二非易失性存儲器設備讀取的第二數據發(fā)送到主機之間進行選擇。

在一個實施例中,例如,在操作s255中,不使用復制/拆分標志,管理模塊310可以比較從不同的物理地址讀取的第一和第二數據dat1和dat2。當第一和第二數據dat1和dat2彼此相同時,在操作s260’中,可以僅將第一和第二數據dat1和dat2中的一個傳輸到主機200。當第一和第二數據dat1和dat2彼此不同時,兩個數據可以作為重新組合、先前分割的數據被發(fā)送到主機200。

管理模塊310可以使用圖5a中所示的ecc引擎325來糾正將要存儲在存儲器設備集群400中的數據中的錯誤和/或從存儲器設備集群400輸出的數據中的錯誤。

管理模塊310可以對第一數據dat1或第二數據dat2執(zhí)行預定的數據處理。例如,當第二數據dat2是第一數據dat1的壓縮數據時,管理模塊310可以解壓縮第二數據dat2以獲得解壓縮數據。當第二數據dat2是第一數據dat1的奇偶校驗數據時,管理模塊310可以將第一數據dat1的奇偶校驗數據與已經被讀取的第二數據dat2進行比較,并且當第一數據dat1的奇偶校驗數據與第二數據dat2相同時,可以將第一數據dat1作為讀取數據rdat傳輸到主機200。

圖13是用于解釋根據本發(fā)明構思的一些實施例的數據處理系統(tǒng)的多讀取操作的示圖。在圖13所示的實施例中,n-read可以包括地址列表add_list,所述地址列表add_list包括三個不同物理地址。

響應于n-read,數據存儲設備300的管理模塊310可以從分別具有三個不同的物理地址的nvm設備410-1b、410-2b和410-3b中分別讀取第一至第三數據dat1、dat2和dat3。三個nvm設備可以是不同類型的設備。例如,nvm設備410-1b可以是三級單元(tlc)nand;nvm設備410-2b可以是單級單元(slc)nand;nvm設備410-3b可以是多級單元(mlc)nand。

管理模塊310可以將第一至第三數據dat1、dat2和dat3的組合傳輸到主機200??商娲兀芾砟K310可以將第一至第三數據dat1、dat2和dat3中的一個發(fā)送到主機200。

在圖7和圖9至圖13中所示的實施例中,數據經由管理模塊310在主機200和nvm設備之間傳遞。然而,在其它實施例中,數據可以不通過管理模塊310而直接在主機200和nvm設備之間直接傳遞。

圖14是用于解釋根據本發(fā)明構思的一些實施例的數據處理系統(tǒng)的多擦除方法的示圖。參考圖1至圖14,在操作s310中,主機200向數據存儲設備300發(fā)送多擦除命令(n-erase),并且數據存儲設備300的管理模塊310在操作s310中從主機200接收n-erase。n-erase指定至少兩個物理塊地址,使得使用單個命令在所述至少兩個物理塊地址上執(zhí)行擦除操作。如上所述的類似的轉換和標志可用于n-erase。根據本發(fā)明構思的實施例,使用最初在主機200和數據存儲設備300之間定義的n-erase,使得使用單個命令在至少兩個不同的物理塊地址上能夠執(zhí)行擦除操作。

n-erase可以類似于圖8a或8b中所示的n-write。類似于圖8a或8b中所示的n-write40a或40b,n-erase可以包括命令標識符41、操作碼42和地址列表44和45。然而,如同n-read,n-erase可以不包括數據指針43和將要被寫入數據存儲設備300的數據46,并且還可以不包括復制/拆分標志47和壓縮/解壓縮標志。

數據存儲設備300的管理模塊310可以接收n-erase并將其存儲在緩沖器360中。管理模塊310可以將n-erase轉換為適合于nvm設備(例如,nand閃存器件)的擦除命令nvm_erase。

當第一和第二物理地址pba1和pba2包括在n-erase的地址列表add_list中時,在操作s320中,管理模塊310可以生成并向第一nvm設備發(fā)送包括第一物理地址pba1的第一擦除命令nvm_erase,并且可以在操作s330中生成并向第二nvm設備發(fā)送包括第二物理地址pba2的第二擦除命令nvm_erase。第一和第二nvm設備可以是分別連接到不同通道(例如,如圖2中所示的cha和chb)的nvm設備,例如410-1和410-2。因此,操作s320和s330可以并行(例如,同時)執(zhí)行。

響應于第一擦除命令nvm_erase,第一nvm裝置可以擦除對應于第一物理地址pba1的塊。響應于第二擦除命令nvm_erase,第二nvm設備可以擦除對應于第二物理地址pba2的塊。

在操作s320中將第一擦除命令nvm_erase發(fā)送到第一nvm設備以及在操作s330中將第二擦除命令nvm_erase發(fā)送到第二nvm設備之后,在操作s340中,管理模塊310可以將n-erase的確認ack發(fā)送到主機200。

根據上述實施例,數據存儲設備可以從數據存儲設備外部的設備接收外部多訪問命令。所述外部多訪問命令可以包括第一地址和第二地址??梢曰谒鐾獠慷嘣L問命令向數據存儲設備的第一非易失性存儲器提供第一訪問命令(例如,由所述數據存儲設備生成)。例如,第一訪問命令可以包括第一地址。之后,使用第一訪問命令和第一地址在第一非易失性存儲器設備上運行第一訪問操作??梢曰谒鐾獠慷嘣L問命令向第二非易失性存儲器提供第二訪問命令(例如,由所述數據存儲設備生成)。例如,第二訪問命令可以包括第二地址。使用第二訪問命令和第二地址在第二非易失性存儲器設備上運行第二訪問操作。所述多訪問命令可以包括單個命令標識符。此外,可以同時運行第一訪問操作和第二訪問操作。

如上所述,可以利用從主機200發(fā)送到數據存儲設備300的單個多訪問命令將數據寫入到至少兩個存儲區(qū)域、從其中讀取數據或從其中擦除數據。因此,與通常需要至少兩次命令傳輸的常規(guī)數據處理系統(tǒng)相比,根據本發(fā)明的一些實施例的數據處理系統(tǒng)能夠有效地使用帶寬,從而降低功耗。

圖15是根據本發(fā)明構思的某些實施例的數據處理系統(tǒng)500的框圖。參考圖1至圖15,數據處理系統(tǒng)500可以包括數據庫520、數據庫服務器530、第二網絡540以及多個客戶端計算機550和551。數據庫520和數據庫服務器530可以包括在數據中心510。數據中心510可以是因特網數據中心或云數據中心。

數據庫520可以包括多個數據存儲設備300。數據存儲設備300可以安裝在機架中。數據存儲設備300的結構和操作基本上與上面結合圖1至11所描述的數據存儲設備300的結構和操作大體相同或類似。

數據庫服務器530可以控制每個數據存儲設備300的操作。數據庫服務器530可以執(zhí)行圖1中所示的主機200的功能。數據庫服務器530可以通過第一網絡535,例如,局域網(lan),連接到第二網絡540,例如,因特網或wi-fi??蛻舳擞嬎銠C550和551可以經由第二網絡540連接到數據庫服務器530。

圖16和圖17是包括根據本發(fā)明構思的一些實施例的包括數據存儲設備300的數據處理系統(tǒng)900和900’的框圖。參考圖16,數據處理系統(tǒng)900可以包括數據存儲設備300、電源910、cpu920、ram930、用戶接口940和系統(tǒng)總線950,所述系統(tǒng)總線與元件300、910、920、930和940彼此電連接。

cpu920控制數據處理系統(tǒng)900的整體操作。ram930存儲數據處理系統(tǒng)900的操作所需的信息。用戶接口940提供數據處理系統(tǒng)900和用戶之間的接口。電源910向內部元件,即cpu920、ram930、用戶接口940和數據存儲設備300供電。

cpu920可以對應于主機200,數據存儲設備300可以響應于來自主機200的多訪問命令(n-access)而在不同的物理地址上執(zhí)行訪問操作。

圖17中所示的數據處理系統(tǒng)900’類似于圖16中所示的數據處理系統(tǒng)900;因此將主要描述其間的差異以避免冗余。與圖16中所示的數據處理系統(tǒng)900相比,圖17中所示的數據處理系統(tǒng)900’還包括獨立冗余磁盤陣列(raid)控制卡960。多個數據存儲設備300-1至300-k(其中“k”是至少為2的整數)可以不直接與主機(即cpu920)接口,但是它們可以安裝在raid控制卡960上,并且可以經由raid控制卡960與主機920對接。

分別在圖16和17中所分別示出的數據處理系統(tǒng)900和900’的每一個可以是計算機、pda、蜂窩電話、智能電話、mp3播放器、pmp、汽車導航系統(tǒng)或mid,但不限于這些示例。

如上所述,根據本發(fā)明構思的一些實施例,最初在主機和數據存儲設備之間定義的多訪問命令用于使用單個命令傳輸多個地址和數據,使得數據存儲設備的數據處理效率增加,并且主機和數據存儲設備之間的數據傳輸效率也提高。結果,降低了數據存儲設備和包括數據存儲設備的數據處理系統(tǒng)的功耗。

盡管已經參考本發(fā)明的示例性實施例具體示出和描述了本發(fā)明構思,但是本領域普通技術人員將理解,可以在形式和細節(jié)上進行各種改變,而不脫離附加的權利要求精神和范圍。

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