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

信息處理裝置的制作方法

文檔序號:11949315閱讀:273來源:國知局
信息處理裝置的制作方法

本申請案是基于以下申請案且主張所述申請案的優(yōu)先權(quán)權(quán)益:2014年12月29日提出申請的第62/097,538號美國臨時申請案;2015年2月27日提出申請的第2015-038999號日本專利申請案;及2015年3月12日提出申請的第14/656,524號美國非臨時申請案,所有這些申請案的全部內(nèi)容以引用方式并入本文中。

技術(shù)領(lǐng)域

本文中所描述的實施例大體來說涉及一種信息處理裝置。



背景技術(shù):

固態(tài)驅(qū)動器(SSD)包含例如NAND快閃存儲器等非易失性半導(dǎo)體存儲器。所述NAND快閃存儲器包含多個塊(物理塊)。所述多個塊包含布置于字線與位線的交叉點處的多個存儲器單元。



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

一般來說,根據(jù)一個實施例,一種信息處理裝置包含發(fā)射單元及接收單元。所述發(fā)射單元將寫入數(shù)據(jù)及所述寫入數(shù)據(jù)的邏輯地址發(fā)射到存儲器裝置。所述存儲器裝置包含多個擦除單位區(qū)域。所述擦除單位區(qū)域中的每一者包含多個寫入單位區(qū)域。所述接收單元從所述存儲器裝置接收包含指示寫入到待經(jīng)受無用單元收集的擦除單位區(qū)域的數(shù)據(jù)的數(shù)據(jù)識別信息的區(qū)域信息。

附圖說明

圖1是展示根據(jù)第一實施例的信息處理系統(tǒng)的配置實例的框圖;

圖2是展示根據(jù)第一實施例由信息處理系統(tǒng)執(zhí)行的過程的實例的流程圖;

圖3是展示根據(jù)第二實施例的信息處理系統(tǒng)的配置實例的框圖;

圖4是展示第二實施例的第一高速緩存控制的實例的流程圖;

圖5是展示第二實施例的第二高速緩存控制的實例的流程圖;

圖6是展示第二實施例的第三高速緩存控制的實例的流程圖;

圖7是展示第二實施例的第四高速緩存控制的實例的流程圖;

圖8是展示根據(jù)第三實施例的信息處理系統(tǒng)的詳細配置的實例的框圖;及

圖9是展示根據(jù)第三實施例的存儲系統(tǒng)的實例的透視圖。

具體實施方式

下文將參考圖式來描述實施例。在以下描述中,相同參考編號表示具有幾乎相同功能及布置之組件,且在必要時,將對所述組件給出重復(fù)描述。

在稍后所提及的實施例中的每一者中,在非易失性存儲器及非易失性高速緩沖存儲器中,數(shù)據(jù)是每擦除單位區(qū)域地被共同擦除。所述擦除單位區(qū)域包含多個寫入單位區(qū)域及多個讀取單位區(qū)域。

在本實施例中,使用NAND快閃存儲器作為非易失性存儲器及非易失性高速緩沖存儲器中的每一者。然而,所述非易失性存儲器及所述非易失性高速緩沖存儲器中的每一者均可為除NAND快閃存儲器之外的存儲器,前提是所述存儲器滿足所述擦除單位區(qū)域、所述寫入單位區(qū)域及所述讀取單位區(qū)域當中的上述關(guān)系。

當所述非易失性存儲器及所述非易失性高速緩沖存儲器為NAND快閃存儲器時,所述擦除單位區(qū)域?qū)?yīng)于一塊。所述寫入單位區(qū)域及所述讀取單位區(qū)域?qū)?yīng)于一頁。

在本實施例中,舉例來說,可以例如兩個塊的另一單位來控制所述擦除單位區(qū)域,這允許共同地擦除數(shù)據(jù)。

在本實施例中,存取指示將數(shù)據(jù)寫入到存儲器裝置及從存儲器裝置讀取數(shù)據(jù)兩者。

[第一實施例]

在本實施例中,描述信息處理裝置與存儲器裝置之間的數(shù)據(jù)及信息發(fā)射及接收。

在本實施例中,使用邏輯地址(例如,邏輯塊尋址)作為數(shù)據(jù)的識別信息。然而,可通過其它信息來識別數(shù)據(jù)。

圖1是展示根據(jù)本實施例的信息處理系統(tǒng)的配置實例的框圖。

信息處理系統(tǒng)35包含信息處理裝置17及SSD 5。SSD 5是存儲器裝置的實例。信息處理裝置17可為對應(yīng)于SSD 5的主機裝置。

SSD 5可包含于信息處理裝置17中,或可連接到信息處理裝置17以便經(jīng)由網(wǎng)絡(luò)等 發(fā)射及接收數(shù)據(jù)。代替SSD 5,可使用例如硬盤驅(qū)動器(HDD)等另一非易失性存儲器裝置。

信息處理裝置17包含高速緩存控制單元9、存儲管理信息61到64的存儲器3及非易失性高速緩沖存儲器4。然而,可在信息處理裝置17之外提供高速緩存控制單元9、管理信息61到64、存儲器3及非易失性高速緩沖存儲器4的全部或一部分。

存儲器3存儲各種類型的控制數(shù)據(jù),例如管理信息(列表)61到64及地址轉(zhuǎn)換信息7。存儲器3可為例如動態(tài)隨機存取存儲器(DRAM)或靜態(tài)隨機存取存儲器(SRAM)等易失性存儲器,或者可為非易失性存儲器。存儲器3可包含于非易失性高速緩沖存儲器4中。所述存儲器可包含于非易失性高速緩沖存儲器4中。

管理信息61到64分別是寫入到稍后所提及的塊群組BG1到BG4的數(shù)據(jù)的元數(shù)據(jù)。舉例來說,管理信息61到64包含指示處理器對相應(yīng)數(shù)據(jù)的使用狀態(tài)的信息。舉例來說,管理信息61到64包含相應(yīng)數(shù)據(jù)的識別信息、指示數(shù)據(jù)是否為待刪除數(shù)據(jù)的刪除信息、指示數(shù)據(jù)是否為有效數(shù)據(jù)的有效/無效信息及用以確定是否滿足用于擦除塊的擦除條件的高速緩存確定信息。

所述刪除信息是指示發(fā)布對數(shù)據(jù)的刪除命令的信息。更具體來說,所述刪除信息是指示從由處理器執(zhí)行的應(yīng)用程序或操作系統(tǒng)(OS)接收到對數(shù)據(jù)的刪除命令的信息等。在本實施例中,舉例來說,所述刪除信息包含使每一塊的識別信息與指示寫入到每一塊的待刪除數(shù)據(jù)的邏輯地址相關(guān)的信息。

所述有效/無效信息是指示例如當將相同數(shù)據(jù)寫入到多個位置時最新數(shù)據(jù)是有效數(shù)據(jù)且除最新數(shù)據(jù)之外的數(shù)據(jù)是無效數(shù)據(jù)的信息。換句話說,例如,在執(zhí)行對寫入到非易失性高速緩沖存儲器4的數(shù)據(jù)的更新的情況中,有效數(shù)據(jù)是經(jīng)更新數(shù)據(jù)。舉例來說,在執(zhí)行更新的情況中,無效數(shù)據(jù)是未經(jīng)更新的數(shù)據(jù)。在本實施例中,舉例來說,所述有效/無效信息包含使每一塊的識別信息與指示寫入到每一塊的有效數(shù)據(jù)或無效數(shù)據(jù)的邏輯地址相關(guān)的信息。

所述高速緩存確定信息是例如包含每數(shù)據(jù)的寫入信息及讀取信息中的至少一者或每塊的寫入信息及讀取信息中的至少一者的信息等。

舉例來說,寫入信息包含寫入時間、寫入次數(shù)、寫入頻率及寫入次序中的至少一者。

舉例來說,讀取信息包含讀取時間、讀取次數(shù)、讀取頻率及讀取次序中的至少一者。

舉例來說,地址轉(zhuǎn)換信息7使數(shù)據(jù)的邏輯地址與非易失性高速緩沖存儲器4的對應(yīng)于所述邏輯地址的物理地址相關(guān)(舉例來說,物理塊尋址)。舉例來說,地址轉(zhuǎn)換信息7是以表形式來管理的。

高速緩存控制單元9為存取速度高于SSD 5的存取速度的非易失性高速緩沖存儲器4執(zhí)行高速緩存控制。舉例來說,高速緩存控制單元9通過透寫方法或回寫方法來管理數(shù)據(jù)以及指示所述數(shù)據(jù)的邏輯地址及物理地址。

在透寫方法中,數(shù)據(jù)是存儲于非易失性高速緩沖存儲器4中且也存儲于SSD 5中。

在回寫方法中,存儲于非易失性高速緩沖存儲器4中的數(shù)據(jù)并非一起存儲于SSD 5中。首先將所述數(shù)據(jù)存儲于非易失性高速緩沖存儲器4中,且隨后將從非易失性高速緩沖存儲器4推出的數(shù)據(jù)存儲于SSD 5中。

在第一實施例中,高速緩存控制單元9包含發(fā)射單元18、接收單元19、寫入單元20及發(fā)射單元21。可通過軟件來實施或者可通過硬件來實施高速緩沖存儲器9的全部或一部分。

發(fā)射單元18向SSD 5發(fā)射用于SSD 5的寫入數(shù)據(jù)及所述寫入數(shù)據(jù)的地址。在本實施例中,舉例來說,從發(fā)射單元18發(fā)射到SSD 5的地址為邏輯地址。

接收單元19從SSD 5接收包含指示寫入到待經(jīng)受無用單元收集(garbage collection)的塊的有效數(shù)據(jù)的邏輯地址的塊信息。

在本實施例中,所述塊信息可包含使SSD 5中的每一塊的識別信息與寫入到每一塊的數(shù)據(jù)的識別信息相關(guān)的信息。

寫入單元20基于從SSD 5接收的塊信息及管理信息61到64而將由塊信息中所包含的邏輯地址指示的有效數(shù)據(jù)的全部或一部分寫入(轉(zhuǎn)錄)到除非易失性存儲器24之外的存儲器。舉例來說,另一存儲器可為非易失性高速緩沖存儲器4。

舉例來說,在接收到刪除命令的情況下,寫入單元20將指示是待刪除數(shù)據(jù)(刪除候選者)的數(shù)據(jù)的邏輯地址從塊信息中所包含的指示有效數(shù)據(jù)的邏輯地址排除。因此,可選擇寫入到待經(jīng)受無用單元收集的塊且并非待刪除數(shù)據(jù)的有效數(shù)據(jù)。寫入單元20將選定數(shù)據(jù)寫入到另一存儲器。

發(fā)射單元21產(chǎn)生包含指示待刪除數(shù)據(jù)的邏輯地址的刪除信息并將所述刪除信息發(fā)射到SSD 5。舉例來說,所述刪除信息可包含指示塊信息中所包含的有效數(shù)據(jù)的邏輯地址中指示是未被寫入單元20寫入到另一存儲器的刪除目標的數(shù)據(jù)的邏輯地址。代替刪除信息,可將包含待維持數(shù)據(jù)的邏輯地址的維持信息從發(fā)射單元21發(fā)射到SSD 5。

SSD 5包含處理器22、存儲器23及非易失性存儲器24。

舉例來說,存儲器23存儲各種類型的控制數(shù)據(jù),例如地址轉(zhuǎn)換信息32、有效/無效信息33及刪除信息34。存儲器23可為例如DRAM或SRAM等易失性存儲器,或者可為非易失性存儲器。存儲器23可包含于非易失性存儲器24中。

處理器22通過執(zhí)行存儲于處理器22中的存儲器中的程序、存儲于存儲器23中的程序或存儲于非易失性存儲器24中的程序而充當?shù)刂忿D(zhuǎn)換單元25、寫入單元26、有效/無效產(chǎn)生單元27、選擇單元28、發(fā)射單元29、接收單元30及無用單元收集單元31。

在本實施例中,舉例來說,用以致使處理器22充當?shù)刂忿D(zhuǎn)換單元25、寫入單元26、有效/無效產(chǎn)生單元27、選擇單元28、發(fā)射單元29、接收單元30及無用單元收集單元31的程序可為OS、中間件或固件。在本實施例中,可通過硬件來實施地址轉(zhuǎn)換單元25、寫入單元26、有效/無效產(chǎn)生單元27、選擇單元28、發(fā)射單元29、接收單元30及無用單元收集單元31的全部或一部分。

當從高速緩存控制單元9接收到寫入數(shù)據(jù)及所述寫入數(shù)據(jù)的邏輯地址時,地址轉(zhuǎn)換單元25產(chǎn)生使寫入數(shù)據(jù)的邏輯地址與指示非易失性存儲器24中的存儲所述寫入數(shù)據(jù)的位置的物理地址相關(guān)的信息,且將所述信息寄存到地址轉(zhuǎn)換信息32。

在本實施例中,地址轉(zhuǎn)換單元25由處理器22實施。然而,地址轉(zhuǎn)換單元25可與處理器22分開而配置。

地址轉(zhuǎn)換單元25基于(例如)表形式地址轉(zhuǎn)換信息32而轉(zhuǎn)換地址。代替地,可通過關(guān)鍵字-值檢索來轉(zhuǎn)換地址。舉例來說,可通過使用邏輯地址作為關(guān)鍵字并使用物理地址作為值而借助于關(guān)鍵字-值檢索來實施地址轉(zhuǎn)換。

寫入單元26將寫入數(shù)據(jù)寫入到由地址轉(zhuǎn)換單元25獲得的物理地址所指示的位置。

有效/無效產(chǎn)生單元27基于例如地址轉(zhuǎn)換信息32而產(chǎn)生指示寫入到非易失性存儲器24的數(shù)據(jù)的每一項是有效數(shù)據(jù)還是無效數(shù)據(jù)的有效/無效信息33。隨后,有效/無效產(chǎn)生單元27將有效/無效信息33存儲于存儲器23中。

選擇單元28選擇待經(jīng)受無用單元收集的塊。

舉例來說,選擇單元28可從非易失性存儲器24中的塊選擇具有最舊寫入時間的塊來作為待經(jīng)受無用單元收集的塊。

舉例來說,選擇單元28可隨機地從非易失性存儲器24中的塊選擇待經(jīng)受無用單元收集的塊。

舉例來說,選擇單元28可基于有效/無效信息33而選擇具有最大無效數(shù)據(jù)量或具有大于預(yù)定量的無效數(shù)據(jù)量作為待經(jīng)受無用單元收集的塊。

舉例來說,選擇單元28可基于有效/無效信息33及刪除信息34而選擇具有最大無效數(shù)據(jù)及待刪除數(shù)據(jù)量或具有大于預(yù)定量的無效數(shù)據(jù)及待刪除數(shù)據(jù)量的塊作為待經(jīng)受無用單元收集的塊。

發(fā)射單元29通過將指示由有效/無效信息33確定為無效的無效數(shù)據(jù)的邏輯地址從指 示寫入到待經(jīng)受無用單元收集的塊的數(shù)據(jù)的邏輯地址刪除而產(chǎn)生塊信息。換句話說,所述塊信息包含使待經(jīng)受無用單元收集的塊的識別信息與指示寫入到所述塊的有效數(shù)據(jù)的邏輯地址相關(guān)的信息。發(fā)射單元29將所述塊信息發(fā)射到高速緩沖存儲器控制單元9。

接收單元30從高速緩沖存儲器控制單元9接收刪除信息并將刪除信息34存儲于非易失性存儲器24中。

無用單元收集單元31基于有效/無效信息33及存儲于非易失性存儲器24中的刪除信息34而將無效數(shù)據(jù)及待刪除數(shù)據(jù)從寫入到待經(jīng)受無用單元收集的塊的數(shù)據(jù)排除,且僅為并非待刪除數(shù)據(jù)的有效數(shù)據(jù)執(zhí)行無用單元收集。

圖2是展示根據(jù)本實施例由信息處理系統(tǒng)執(zhí)行的過程的實例的流程圖。

在步驟S201中,發(fā)射單元18將寫入數(shù)據(jù)及邏輯地址發(fā)射到SSD 5。

在步驟S202中,地址轉(zhuǎn)換單元25接收寫入數(shù)據(jù)及邏輯地址,并將使寫入數(shù)據(jù)的邏輯地址與物理地址相關(guān)的信息寄存到地址轉(zhuǎn)換信息32。

在步驟S203中,寫入單元26將寫入數(shù)據(jù)寫入到非易失性存儲器24中的由所述物理地址指示的位置。

在步驟S204中,有效/無效產(chǎn)生單元27產(chǎn)生指示寫入到非易失性存儲器24的每一數(shù)據(jù)項是有效數(shù)據(jù)還是無效數(shù)據(jù)的有效/無效信息33并將有效/無效信息33存儲于存儲器23中。

在步驟S205中,選擇單元28選擇待經(jīng)受無用單元收集的塊。

在步驟S206中,發(fā)射單元29通過將指示由有效/無效信息33指示為無效的無效數(shù)據(jù)的邏輯地址從指示寫入到待經(jīng)受無用單元收集的塊的數(shù)據(jù)的邏輯地址刪除而產(chǎn)生塊信息,并將所述塊信息發(fā)射到高速緩存控制單元9。

在步驟S207中,接收單元19從SSD 5接收塊信息。

在步驟S208中,寫入單元20基于從SSD 5接收的塊信息以及管理信息61到64而將由塊信息中所包含的邏輯地址指示的數(shù)據(jù)的全部或一部分寫入到除SSD 5的非易失性存儲器24之外的存儲器。

舉例來說,在接收到刪除命令的情況下,寫入單元20將指示待刪除數(shù)據(jù)的邏輯地址從塊信息中所包含的邏輯地址排除,并將由所述邏輯地址指示的待維持數(shù)據(jù)寫入到另一存儲器。

在步驟S209中,發(fā)射單元21將包含待刪除數(shù)據(jù)的邏輯地址的刪除信息發(fā)射到SSD5。

在步驟S210中,接收單元30從高速緩存控制單元9接收刪除信息并將刪除信息34 存儲于存儲器23中。

在步驟S211中,無用單元收集單元31基于有效/無效信息33及刪除信息34而將無效數(shù)據(jù)及待刪除數(shù)據(jù)數(shù)據(jù)從寫入到待經(jīng)受無用單元收集的塊的數(shù)據(jù)排除,且針對并非待刪除數(shù)據(jù)的有效數(shù)據(jù)執(zhí)行無用單元收集。

在上文所描述的本實施例中,高速緩存控制單元9可從SSD 5獲取關(guān)于寫入到非易失性存儲器24的塊的數(shù)據(jù)的信息。高速緩存控制單元9可借此辨識數(shù)據(jù)在非易失性存儲器24的塊中的寫入狀態(tài)。舉例來說,在本實施例中,可辨識寫入到非易失性存儲器24的塊的數(shù)據(jù)是有效數(shù)據(jù)還是無效數(shù)據(jù)及是否可刪除所述數(shù)據(jù)。

在本實施例中,SSD 5包含用以確定數(shù)據(jù)是有效數(shù)據(jù)還是無效數(shù)據(jù)的有效/無效信息33及用以確定是否可刪除數(shù)據(jù)的刪除信息34。借此,可在于SSD 5中執(zhí)行無用單元收集時確定是否將擦除寫入到待經(jīng)受無用單元收集的塊的數(shù)據(jù)。因此,可避免非必需數(shù)據(jù)寫入且可增加非易失性存儲器24的壽命。

在本實施例中,高速緩存控制單元9可防止由從SSD 5接收的塊信息中所包含的邏輯地址指示的有效數(shù)據(jù)當中的刪除目標數(shù)據(jù)被從非易失性存儲器24轉(zhuǎn)錄到另一存儲器。在本實施例中,SSD 5可將并未從高速緩存控制單元9轉(zhuǎn)錄到另一存儲器的數(shù)據(jù)(舉例來說,可刪除的無效數(shù)據(jù)或有效數(shù)據(jù))從SSD 5刪除。

在上文所描述的本實施例中,將與待擦除塊相關(guān)的塊信息從SSD 5發(fā)射到信息處理裝置17。然而,舉例來說,所述塊信息可包含使非易失性存儲器24中的每一塊與寫入到每一塊的數(shù)據(jù)的識別信息相關(guān)的信息。信息處理裝置17可通過從SSD 5接收關(guān)系信息來辨識SSD 5中的塊與數(shù)據(jù)之間的存儲關(guān)系。

[第二實施例]

在本實施例中描述包含非易失性高速緩沖存儲器4的高速緩沖存儲器裝置。

圖3是展示根據(jù)本實施例的信息處理裝置35的配置實例的框圖。

信息處理裝置17包含處理器2、存儲器3及非易失性高速緩沖存儲器4。

非易失性高速緩沖存儲器4包含塊群組BG1到BG4。非易失性高速緩沖存儲器4具有比SSD 5的存取速度高的存取速度。

塊群組(第一群組)BG1包含塊(第一擦除單位區(qū)域)B1,1到B1,K。塊群組BG1存儲由處理器2存取的數(shù)據(jù)(即,由處理器2使用的數(shù)據(jù))。

在本實施例中,當塊群組BG1滿足擦除條件(第一擦除條件)時,基于先進先出(FIFO)而從塊群組BG1中的塊B1,1到B1,K選擇待擦除塊(待丟棄或推出塊)(第一待擦除區(qū)域)。

舉例來說,當塊群組BG1的塊B1,1到B1,K中的每一者的數(shù)據(jù)量超過預(yù)定值時,滿足擦除條件。舉例來說,當寫入到塊群組BG1的塊B1,1到B1,K中的每一者的頁數(shù)目超過預(yù)定數(shù)目時,可滿足擦除條件。

當寫入到基于FIFO而選自塊B1,1到B1,K的待擦除塊的數(shù)據(jù)處于第一低使用狀態(tài)時(舉例來說,當所述數(shù)據(jù)被存取達少于所設(shè)定第一次數(shù)或以小于所設(shè)定第一頻率被存取時),將所述數(shù)據(jù)寫入到塊群組BG2。相比之下,當寫入到選自塊B1,1到B1,K的待擦除塊的數(shù)據(jù)處于第一高使用狀態(tài)時(舉例來說,當所述數(shù)據(jù)被存取達第一次數(shù)或更多或以第一頻率或更大被存取時),將所述數(shù)據(jù)寫入到塊群組BG3。寫入到選自塊B1,1到B1,K的待擦除塊的數(shù)據(jù)是每塊地被擦除(即,丟棄或推出)。

塊群組(第二群組)BG2包含塊(第二擦除單位區(qū)域)B2,1到B2,L。塊群組BG2存儲寫入到選自塊群組BG1的待擦除塊的數(shù)據(jù)中的處于第一低使用狀態(tài)的數(shù)據(jù)。

在本實施例中,當塊群組BG2滿足擦除條件(第三擦除條件)時,基于FIFO而從塊群組BG2中的塊B2,1到B2,L選擇待擦除塊(第三待擦除區(qū)域)。

當寫入到依據(jù)FIFO而選自塊B2,1到B2,L的待擦除塊的數(shù)據(jù)處于第三低使用狀態(tài)時(舉例來說,當所述數(shù)據(jù)被存取達少于所設(shè)定第三次數(shù)或以小于所設(shè)定第三頻率被存取時),擦除所述數(shù)據(jù)。相比之下,當寫入到選自塊B2,1到B2,L的待擦除塊的數(shù)據(jù)處于第三高使用狀態(tài)時(舉例來說,當所述數(shù)據(jù)被存取達第三次數(shù)或更多或以第三頻率或更大被存取時),將所述數(shù)據(jù)寫入到塊群組BG3。隨后,寫入到選自塊B2,1到B2,L的待擦除塊的數(shù)據(jù)被每塊地擦除。

塊群組(第三群組)BG3包含塊(第三擦除單位區(qū)域)B3,1到B3,M。塊群組BG3存儲寫入到選自塊群組BG1的待擦除塊的數(shù)據(jù)中的處于第一低使用狀態(tài)的數(shù)據(jù)。塊群組BG3還存儲寫入到選自塊群組BG2的待擦除塊的數(shù)據(jù)中的處于第三高使用狀態(tài)的數(shù)據(jù)。

在本實施例中,當塊群組BG3滿足擦除條件(第二擦除條件)時,基于FIFO而從塊群組BG3中的塊B3,1到B3,M選擇待擦除塊(第二待擦除區(qū)域)。

當寫入到依據(jù)FIFO而選自塊B3,1到B3,M的待擦除塊的數(shù)據(jù)處于第二低使用狀態(tài)時(舉例來說,當所述數(shù)據(jù)被存取達少于所設(shè)定第二次數(shù)或以小于所設(shè)定第二頻率被存取時),將所述數(shù)據(jù)寫入到塊群組BG4。相比之下,當寫入到選自塊B3,1到B3,M的待擦除塊的數(shù)據(jù)處于第二高使用狀態(tài)時(舉例來說,當所述數(shù)據(jù)被存取達第二次數(shù)或更多或以第二頻率或更大被存取時),再次將所述數(shù)據(jù)寫入到塊群組BG3中的另一塊。隨后,寫 入到選自塊B3,1到B3,M的待擦除塊的數(shù)據(jù)被每塊地擦除。

塊群組(第四群組)BG4包含塊(第四擦除單位區(qū)域)B4,1到B4,N,塊群組BG4存儲寫入到選自塊群組BG3的待擦除塊的數(shù)據(jù)中的處于第二低使用狀態(tài)的數(shù)據(jù)。

在本實施例中,當塊群組BG4滿足擦除條件(第四擦除條件)時,基于FIFO而從塊群組BG4中的塊B4,1到B4,N選擇待擦除塊(第四待擦除區(qū)域)。

擦除寫入到依據(jù)FIFO而選自塊B4,1到B4,N的待擦除塊的數(shù)據(jù)。

在本實施例中,F(xiàn)IFO用作用于從塊群組BG1到BG4中的每一者選擇待擦除塊的方法。通過依據(jù)FIFO選擇待擦除塊,在塊群組BG1到BG4中的每一者中從具有與最舊寫入時間及寫入次序的塊開始循序地執(zhí)行擦除。然而,舉例來說,可隨機地或基于最近最少使用(LRU)或最不經(jīng)常使用(LFU)來選擇待擦除塊。舉例來說,管理信息61到64包含數(shù)據(jù)的識別信息、指示數(shù)據(jù)是否為待刪除數(shù)據(jù)的信息及數(shù)據(jù)的使用狀態(tài)信息??苫诠芾硇畔?1到64而選擇具有最大無效數(shù)據(jù)量的塊或具有大于預(yù)定量的無效數(shù)據(jù)量的塊作為待擦除塊。舉例來說,可基于管理信息61到64而選擇具有最大無效數(shù)據(jù)及待刪除數(shù)據(jù)(刪除目標數(shù)據(jù))量的塊或具有大于預(yù)定量的無效數(shù)據(jù)及待刪除數(shù)據(jù)量的塊作為待擦除塊。

在本實施例中,高速緩存控制單元9可基于管理信息61到64及地址轉(zhuǎn)換信息7而辨識經(jīng)高速緩存數(shù)據(jù)的識別信息(舉例來說,從主機提供的邏輯地址(舉例來說,邏輯塊尋址))、所述數(shù)據(jù)被寫入到的位置及所述數(shù)據(jù)的使用狀態(tài)。舉例來說,高速緩存控制單元9可基于管理信息61到64及地址轉(zhuǎn)換信息7而選擇高速緩存到塊群組BG1到BG4中的每一者的數(shù)據(jù)及依據(jù)FIFO擦除的塊。

處理器2通過執(zhí)行存儲于處理器2的存儲器、存儲器3、非易失性高速緩沖存儲器4或SSD 5中的程序而充當?shù)刂忿D(zhuǎn)換單元8及高速緩存控制單元9。

在本實施例中,舉例來說,用以致使處理器2充當?shù)刂忿D(zhuǎn)換單元8及高速緩存控制單元9的程序可為OS、中間件或固件。在本實施例中,可通過硬件來實施地址轉(zhuǎn)換單元8的全部或一部分或者高速緩存控制單元9的全部或一部分。

地址轉(zhuǎn)換單元8產(chǎn)生使寫入數(shù)據(jù)的邏輯地址與指示非易失性高速緩沖存儲器4中的存儲所述寫入數(shù)據(jù)的位置的物理地址相關(guān)的信息,且將所產(chǎn)生信息寄存到地址轉(zhuǎn)換信息7。

當從處理器2接收到讀取數(shù)據(jù)的邏輯地址時,地址轉(zhuǎn)換單元8基于地址轉(zhuǎn)換信息7而將邏輯地址轉(zhuǎn)換為物理地址。

高速緩存控制單元9包含產(chǎn)生單元10、控制單元11到14以及變化單元15及16。

產(chǎn)生單元10產(chǎn)生對應(yīng)于非易失性高速緩沖存儲器4中的塊群組BG1到BG4的管理信息61到64并將管理信息61到64寫入到存儲器3。

控制單元11到14分別為塊群組BG1到BG4控制數(shù)據(jù)寫入及塊擦除。

控制單元11包含寫入單元111、確定單元112、選擇單元113、確定單元114及擦除單元115。

寫入單元(第一寫入單元)111將由處理器2存取的數(shù)據(jù)寫入到塊群組BG1

確定單元(第一確定單元)112確定塊群組BG1是否滿足擦除條件(第一擦除條件)。

當塊群組BG1滿足擦除條件時,選擇單元(第一選擇單元)113從塊群組BG1選擇待擦除塊(第一待擦除區(qū)域)。

確定單元(第二確定單元)114基于管理信息61而確定寫入到待擦除塊的每一數(shù)據(jù)項是處于第一高使用狀態(tài)還是第一低使用狀態(tài)及所述數(shù)據(jù)的每一項是否為待刪除數(shù)據(jù)。

當寫入到待擦除塊的每一數(shù)據(jù)項可因每一數(shù)據(jù)項被寫入到塊群組BG2到BG3或是待刪除數(shù)據(jù)而被丟棄時,擦除單元(第一擦除單元)115擦除待擦除塊。

控制單元12包含寫入單元121、確定單元122、選擇單元123、確定單元124及擦除單元125。

當確定單元114確定寫入到塊群組BG1的待擦除塊的數(shù)據(jù)處于第一低使用狀態(tài)且并非待刪除數(shù)據(jù)時,寫入單元(第二寫入單元)121將所述數(shù)據(jù)寫入到塊群組BG2。

確定單元(第五確定單元)122確定塊群組BG2是否滿足擦除條件(第三擦除條件)。

當塊群組BG2滿足擦除條件時,選擇單元(第三選擇單元)123從塊群組BG2選擇待擦除塊(第三待擦除區(qū)域)。

確定單元124基于管理信息62而確定寫入到待擦除塊的每一數(shù)據(jù)項是處于第三高使用狀態(tài)還是第三低使用狀態(tài)及所述數(shù)據(jù)的每一項是否為待刪除數(shù)據(jù)。

當處于第三高使用狀態(tài)且并非待刪除數(shù)據(jù)的寫入到待擦除塊的數(shù)據(jù)被寫入到塊群組BG3時,擦除單元(第二擦除單元)125擦除寫入到待擦除塊的數(shù)據(jù)。

控制單元13包含寫入單元131、確定單元132、選擇單元133、確定單元134、寫入單元135、擦除單元136及寫入單元137。

當確定單元114確定寫入到塊群組BG1的待擦除塊的數(shù)據(jù)處于第一高使用狀態(tài)且并非待刪除數(shù)據(jù)時,寫入單元(第三寫入單元)131將所述數(shù)據(jù)寫入到塊群組BG3。

當寫入到塊群組BG2的數(shù)據(jù)處于第三高使用狀態(tài)且并非待刪除數(shù)據(jù)時,寫入單元(第六寫入單元)137將所述數(shù)據(jù)寫入到塊群組BG3。舉例來說,當寫入到塊群組BG2的數(shù)據(jù)是待由處理器2存取的數(shù)據(jù)時,寫入單元137可將塊群組BG2的待存取數(shù)據(jù)寫入到塊群組BG3。

確定單元(第三確定單元)132確定塊群組BG3是否滿足擦除條件(第二擦除條件)。

當塊群組BG3滿足擦除條件時,選擇單元(第二選擇單元)133從塊群組BG3選擇待擦除塊(第二待擦除區(qū)域)。

確定單元(第四確定單元)134基于管理信息63而確定寫入到待擦除塊的每一數(shù)據(jù)項是處于第二高使用狀態(tài)還是第二低使用狀態(tài)及所述數(shù)據(jù)的每一項是否為待刪除數(shù)據(jù)。

當寫入到塊群組BG3的待擦除塊的數(shù)據(jù)被確定為處于第二高使用狀態(tài)且并非待刪除數(shù)據(jù)時,寫入單元(第五寫入單元)135再次將所述數(shù)據(jù)寫入到塊群組BG3中的另一可寫入塊。

當寫入到待擦除塊的數(shù)據(jù)的每一項可因每一數(shù)據(jù)項被寫入到塊群組BG4、再次被寫入到塊群組BG3或是待刪除數(shù)據(jù)而被丟棄時,擦除單元(第三擦除單元)136擦除待擦除塊。

控制單元14包含寫入單元141、確定單元142、選擇單元143及擦除單元144。

當確定單元134確定寫入到塊群組BG3的待擦除塊的數(shù)據(jù)處于第二低使用狀態(tài)且并非待刪除數(shù)據(jù)時,寫入單元(第四寫入單元)141將所述數(shù)據(jù)寫入到塊群組BG4。

確定單元(第六確定單元)142確定塊群組BG4是否滿足擦除條件(第四擦除條件)。

當塊群組BG4滿足擦除條件(第四擦除條件)時,選擇單元(第四選擇單元)143從塊群組BG4選擇待擦除塊(第四待擦除區(qū)域)。

擦除單元(第四擦除單元)144擦除寫入到塊群組BG4的待擦除塊的數(shù)據(jù)。

當寫入到塊群組BG2的數(shù)據(jù)達到第三高使用狀態(tài)時,變化單元(第一變化單元)15增加塊群組BG1中所包含的塊的數(shù)目且減少塊群組BG3中所包含的塊的數(shù)目。舉例來說,當寫入到塊群組BG2的數(shù)據(jù)由處理器2存取時,變化單元15增加塊群組BG1中所包含的塊的數(shù)目且減少塊群組BG3中所包含的塊的數(shù)目。

當寫入到塊群組BG4的數(shù)據(jù)達到第四高使用狀態(tài)時,變化單元(第二變化單元)16增加塊群組BG3中所包含的塊的數(shù)目且減少塊群組BG1中所包含的塊的數(shù)目。舉例來說,當寫入到塊群組BG4的數(shù)據(jù)由處理器2存取時,變化單元16增加塊群組BG3中所 包含的塊的數(shù)目且減少塊群組BG1中所包含的塊的數(shù)目。

圖4是展示根據(jù)本實施例的第一高速緩存控制的實例的流程圖。圖4示范性地展示其中將數(shù)據(jù)寫入到塊群組BG1、將數(shù)據(jù)寫入到塊群組BG2或BG3并擦除塊群組BG1中的待擦除塊的過程。

在步驟S401中,寫入單元111將由處理器2存取的數(shù)據(jù)寫入到塊群組BG1

在步驟402中,確定單元112確定塊群組BG1是否滿足擦除條件。

當塊群組BG1不滿足擦除條件時,所述過程繼續(xù)進行到步驟S406。

當塊群組BG1滿足擦除條件時,在步驟S403中,選擇單元113從塊群組BG1選擇待擦除塊。

在步驟S404中,確定單元114基于管理信息61而確定寫入到待擦除塊的每一數(shù)據(jù)項是處于第一高使用狀態(tài)還是第一低使用狀態(tài)及所述數(shù)據(jù)的每一項是否為待擦除數(shù)據(jù)(刪除目標數(shù)據(jù))。

當數(shù)據(jù)項處于第一低使用狀態(tài)且數(shù)據(jù)并非待刪除數(shù)據(jù)(非刪除目標數(shù)據(jù))時,在步驟S501中,寫入單元121將所述數(shù)據(jù)項寫入到塊群組BG2。

當數(shù)據(jù)項處于第一高使用狀態(tài)且并非待刪除數(shù)據(jù)時,在步驟S601中,寫入單元131將所述數(shù)據(jù)項寫入到塊群組BG3。

當寫入到待擦除塊的數(shù)據(jù)的每一項可因數(shù)據(jù)的每一項被寫入到塊群組BG2或塊群組BG3或是待刪除數(shù)據(jù)而被丟棄時,在步驟S405中,擦除單元115擦除待擦除塊。

在步驟S406中,高速緩存控制單元9確定是否將結(jié)束所述過程。

當高速緩存控制單元9不結(jié)束所述過程時,所述過程返回到步驟S401。

當高速緩存控制單元9結(jié)束所述過程時,所述過程便結(jié)束。

圖5是展示根據(jù)本實施例的第二高速緩存控制的實例的流程圖。圖5示范性地展示其中將數(shù)據(jù)寫入到塊群組BG2并擦除塊群組BG2中的待擦除塊的過程。

當在步驟S404中,寫入到塊群組BG1的待擦除塊的數(shù)據(jù)被確定為處于第一低使用狀態(tài)且并非待刪除數(shù)據(jù)時,在步驟S501中,寫入單元121將所述數(shù)據(jù)寫入到塊群組BG2

在步驟S502中,確定單元122確定塊群組BG2是否滿足擦除條件。

當塊群組BG2不滿足擦除條件時,所述過程繼續(xù)進行到步驟S506。

當塊群組BG2滿足擦除條件時,在步驟S503中,選擇單元123從塊群組BG2選擇待擦除塊。

在步驟S504中,確定單元124基于管理信息62而確定寫入到待擦除塊的每一數(shù)據(jù)項是處于第三高使用狀態(tài)還是第三低使用狀態(tài)及所述數(shù)據(jù)的每一項是否為待刪除數(shù)據(jù)。

當數(shù)據(jù)項處于第三低使用狀態(tài)或是待刪除數(shù)據(jù)時,所述過程繼續(xù)進行到步驟S505。

當數(shù)據(jù)項處于第三高使用狀態(tài)且并非待刪除數(shù)據(jù)時,在步驟S601中,寫入單元137將所述數(shù)據(jù)項寫入到塊群組BG3。

在步驟S505中,擦除單元125擦除寫入到塊群組BG2的待擦除塊的數(shù)據(jù)。

在步驟S506中,高速緩存控制單元9確定是否將結(jié)束所述過程。

當高速緩存控制單元9不結(jié)束所述過程時,所述過程返回到步驟S501。

當高速緩存控制單元9結(jié)束所述過程時,所述過程便結(jié)束。

圖6是展示根據(jù)本實施例的第三高速緩存控制的實例的流程圖。圖6示范性地展示從將數(shù)據(jù)寫入到塊群組BG3到擦除塊群組BG3中的數(shù)據(jù)的過程。

當在步驟S404中,寫入到塊群組BG1的待擦除塊的數(shù)據(jù)被確定為處于第一高使用狀態(tài)且并非待刪除數(shù)據(jù)時,在步驟S601中,寫入單元131將所述數(shù)據(jù)寫入到塊群組BG3。當在步驟S304中,寫入到塊群組BG2的數(shù)據(jù)被確定為處于第三高使用狀態(tài)(舉例來說,所述數(shù)據(jù)由處理器2存取)且并非待刪除數(shù)據(jù)時,寫入單元137將塊群組BG2的數(shù)據(jù)寫入到塊群組BG3。

在步驟S602中,確定單元132確定塊群組BG3是否滿足擦除條件。

當塊群組BG3不滿足擦除條件時,所述過程繼續(xù)進行到步驟S607。

當塊群組BG3滿足擦除條件時,在步驟S603中,選擇單元133從塊群組BG3選擇待擦除塊。

在步驟S604中,確定單元134基于管理信息63而確定寫入到待擦除塊的每一數(shù)據(jù)項是處于第二高使用狀態(tài)還是第二低使用狀態(tài)及所述數(shù)據(jù)的每一項是否為待刪除數(shù)據(jù)。

當數(shù)據(jù)項處于第二低使用狀態(tài)且并非待刪除數(shù)據(jù)時,在步驟S701中,寫入單元141將所述數(shù)據(jù)寫入到塊群組BG4。

當數(shù)據(jù)處于第二高使用狀態(tài)且并非待刪除數(shù)據(jù)時,在步驟S605中,寫入單元135再次將寫入到塊群組BG3的待擦除塊的數(shù)據(jù)寫入到塊群組BG3中的另一塊。

在步驟S606中,當寫入到待擦除塊的數(shù)據(jù)的每一項可因每一數(shù)據(jù)項被寫入到塊群組BG4、再次寫入到塊群組BG3或是待刪除數(shù)據(jù)而被丟棄時,擦除單元136擦除待擦除塊。

在步驟S607中,高速緩存控制單元9確定是否將結(jié)束所述過程。

當高速緩存控制單元9不結(jié)束所述過程時,所述過程返回到步驟S601。

當高速緩存控制單元9結(jié)束所述過程時,所述過程便結(jié)束。

圖7是展示根據(jù)本實施例的第四高速緩存控制的實例的流程圖。圖7示范性地展示其中將數(shù)據(jù)寫入到塊群組BG4并擦除塊群組BG4中的數(shù)據(jù)的過程。

當在步驟S604中,寫入到塊群組BG3的待擦除塊的數(shù)據(jù)被確定為處于第二低狀態(tài)且并非待刪除數(shù)據(jù)時,在步驟S701中,寫入單元141將所述數(shù)據(jù)寫入到塊群組BG4

在步驟S702中,確定單元142確定塊群組BG4是否滿足擦除條件。

當塊群組BG4不滿足擦除條件時,所述過程繼續(xù)進行到步驟S705。

當塊群組BG4滿足擦除條件時,在步驟S703中,選擇單元143從塊群組BG4選擇待擦除塊。

在步驟S704中,擦除單元144擦除寫入到塊群組BG4中的待擦除塊的數(shù)據(jù)。

在步驟S705中,高速緩存控制單元9確定是否將結(jié)束所述過程。

當高速緩存控制單元9不結(jié)束所述過程時,所述過程返回到步驟S701。

當高速緩存控制單元9結(jié)束所述過程時,所述過程便結(jié)束。

在本實施例的塊群組BG1中,舉例來說,數(shù)據(jù)是首先寫入到塊B1,1、接下來循序?qū)懭氲綁KB1,2,且隨后類似地寫入到塊B1,3到B1,K。當塊群組BG1中所包含的塊B1,1到B1,K的數(shù)據(jù)量超過預(yù)定數(shù)據(jù)量時,其中依據(jù)FIFO而擦除寫入首先完成的塊B1,1,且再次將數(shù)據(jù)循序?qū)懭氲浇?jīng)擦除塊B1,1。在完成向塊B1,1的寫入之后,依據(jù)FIFO而擦除塊B1,2。隨后,再次將數(shù)據(jù)循序?qū)懭氲浇?jīng)擦除塊B1,2。重復(fù)相同控制。

在塊群組BG1中,基于管理信息61而確定寫入到塊群組BG1中的待擦除塊的數(shù)據(jù)是否(例如)被存取達少于第一次數(shù)或以小于第一頻率被存取。當寫入到塊群組BG1中的待擦除塊的數(shù)據(jù)被存取達少于第一次數(shù)或以小于第一頻率被存取時,選擇塊群組BG2作為數(shù)據(jù)的寫入目的地。

相比之下,當寫入到塊群組BG1中的待擦除塊的數(shù)據(jù)被存取達第一次數(shù)或更多或以第一頻率或更大被存取時,選擇塊群組BG3作為數(shù)據(jù)的寫入目的地。

當寫入到塊群組BG1中的待擦除塊的數(shù)據(jù)是待刪除數(shù)據(jù)時,丟棄所述數(shù)據(jù)。

在本實施例的塊群組BG2中,來自塊群組BG1的處于第一低使用狀態(tài)的數(shù)據(jù)被首先循序?qū)懭氲綁KB2,1、接下來循序?qū)懭氲綁KB2,2,且隨后類似地寫入到塊B2,3到B2,L。 當塊群組BG2中所包含的塊B2,1到B2,L的數(shù)據(jù)量超過預(yù)定數(shù)據(jù)量時,依據(jù)FIFO而擦除其中寫入首先完成的塊B2,1且再次將數(shù)據(jù)循序?qū)懭氲浇?jīng)擦除塊B2,1。在完成向塊B2,1的寫入之后,依據(jù)FIFO而擦除塊B2,2。隨后,將數(shù)據(jù)循序?qū)懭氲浇?jīng)擦除塊B2,2。重復(fù)相同控制。

在塊群組BG2中,基于管理信息62而確定寫入到塊群組BG2中的待擦除塊的數(shù)據(jù)是否(例如)被存取達少于第三次數(shù)或以小于第三頻率被存取。當寫入到塊群組BG2中的待擦除塊的數(shù)據(jù)被存取達少于第三次數(shù)或以小于第三頻率被存取時,擦除所述數(shù)據(jù)。

相比之下,當寫入到塊群組BG2中的待擦除塊的數(shù)據(jù)被存取達第三次數(shù)或更多或以第三頻率或更大被存取時,選擇塊群組BG3作為數(shù)據(jù)的寫入目的地。

當寫入到塊群組BG2中的待擦除塊的數(shù)據(jù)是待刪除數(shù)據(jù)時,丟棄所述數(shù)據(jù)。

在本實施例的塊群組BG3中,來自塊群組BG1的處于第一高使用狀態(tài)的數(shù)據(jù)、來自塊群組BG2的處于第三高使用狀態(tài)的數(shù)據(jù)或來自塊群組BG3的重新寫入數(shù)據(jù)被首先循序?qū)懭氲綁KB3,1、接下來循序?qū)懭氲綁KB3,2,且隨后類似地寫入到塊B3,3到B3,M。當塊群組BG3中所包含的塊B3,1到B3,M的數(shù)據(jù)量超過預(yù)定數(shù)據(jù)量時,依據(jù)FIFO而擦除其中寫入首先完成的塊B3,1且再次將數(shù)據(jù)循序?qū)懭氲浇?jīng)擦除塊B3,1。在完成向塊B3,1的寫入之后,依據(jù)FIFO而擦除塊B3,2。隨后,再次將數(shù)據(jù)循序?qū)懭氲浇?jīng)擦除塊B3,2。重復(fù)相同控制。

在塊群組BG3中,基于管理信息63而確定寫入到塊群組BG3中的待擦除塊的數(shù)據(jù)是否(例如)被存取達少于第二次數(shù)或以小于第二頻率被存取。當寫入到塊群組BG3中的待擦除塊的數(shù)據(jù)被存取達少于第二次數(shù)或以小于第二頻率被存取時,選擇塊群組BG4作為數(shù)據(jù)的寫入目的地。

相比之下,當寫入到塊群組BG3中的待擦除塊的數(shù)據(jù)被存取達第二次數(shù)或更多或以第二頻率或更大被存取時,再次將數(shù)據(jù)寫入到塊群組BG3。

當寫入到塊群組BG3中的待擦除塊的數(shù)據(jù)是待刪除數(shù)據(jù)時,丟棄所述數(shù)據(jù)。

在本實施例的塊群組BG4中,來自塊群組BG3的處于第二低使用狀態(tài)的數(shù)據(jù)被首先循序?qū)懭氲綁KB4,1、接下來循序?qū)懭氲綁KB4,2,且隨后類似地寫入到塊B4,3到B4,N。當塊群組BG4中所包含的塊B4,1到B4,N的數(shù)據(jù)量超過預(yù)定數(shù)據(jù)量時,依據(jù)FIFO而擦除其中寫入首先完成的塊B4,1且再次將數(shù)據(jù)循序?qū)懭氲浇?jīng)擦除塊B4,1。在完成向塊B4,1 的寫入之后,依據(jù)FIFO而擦除塊B4,2。隨后,將數(shù)據(jù)循序?qū)懭氲浇?jīng)擦除塊B4,2。重復(fù)相同控制。

在本實施例中,控制單元14可確定寫入到塊群組BG4的待擦除塊的數(shù)據(jù)是否處于第五高使用狀態(tài)。當寫入到塊群組BG4的待擦除塊的數(shù)據(jù)被確定為處于第五高使用狀態(tài)時,就將所述數(shù)據(jù)維持于非易失性高速緩沖存儲器4中來說,控制單元13可將所述數(shù)據(jù)寫入到塊群組BG3的可寫入目的地塊。在此情況中,處理器2可減小塊群組BG1的大小。

在本實施例中,基于四個塊群組BG1到BG4而管理數(shù)據(jù)。

舉例來說,在塊群組BG1中管理由處理器2存取一次的第一數(shù)據(jù)(經(jīng)一次存取數(shù)據(jù))。

舉例來說,如果塊群組BG1中的第二數(shù)據(jù)由處理器2存取兩次或更多次且基于FIFO而被從塊群組BG1推出,那么將第二數(shù)據(jù)從塊群組BG1移動到塊群組BG3

應(yīng)注意,在本實施例中,塊群組BG1的大小大于塊群組BG3的大小。

舉例來說,當塊群組BG1中的第三數(shù)據(jù)在未由處理器2存取的情況下基于FIFO而被從塊群組BG1推出時,將第三數(shù)據(jù)從塊群組BG1移動到塊群組BG2。

舉例來說,如果塊群組BG3中的第四數(shù)據(jù)在未由處理器2存取的情況下基于FIFO而被從塊群組BG3清除,那么將第四數(shù)據(jù)從塊群組BG3移動到塊群組BG4。

舉例來說,在塊群組BG2及BG4中,可高速緩存元數(shù)據(jù)而非高速緩存數(shù)據(jù)。元數(shù)據(jù)包含與數(shù)據(jù)相關(guān)的信息。換句話說,元數(shù)據(jù)是關(guān)于數(shù)據(jù)的高度抽象且額外的數(shù)據(jù)且被附加到所述數(shù)據(jù)。

在本實施例中,舉例來說,當?shù)谖鍞?shù)據(jù)存儲于塊群組BG1中時,可基于FIFO而推出塊群組BG2中的第六數(shù)據(jù)。

舉例來說,當塊群組BG1中的第七數(shù)據(jù)被存取且基于FIFO而被從塊群組BG1推出時,可將第七數(shù)據(jù)從塊群組BG1移動到塊群組BG3,可基于FIFO而將塊群組BG3中的第八數(shù)據(jù)從塊群組BG3移動到塊群組BG4,且可基于FIFO而從塊群組BG4推出塊群組BG4中的第九數(shù)據(jù)。

舉例來說,當存取塊群組BG2中的第十數(shù)據(jù)時,會增加塊群組BG1的大小。如果塊群組BG1的大小增加,那么基于FIFO而將塊群組BG3中的第十一數(shù)據(jù)移動到塊群組BG4。

舉例來說,當塊群組BG4中的第十二數(shù)據(jù)被存取且基于FIFO而被從塊群組BG4 推出時,將第十二數(shù)據(jù)移動到塊群組BG3,且會減小塊群組BG1的大小。

在上文所述的本實施例中,維持確定對是否將維持塊單位的數(shù)據(jù)進行確定,傳送寫入將待維持的塊數(shù)據(jù)寫入到目的地塊,且寫入到非易失性高速緩沖存儲器4的數(shù)據(jù)是每塊地予以擦除。

在本實施例中,可增加有效高速緩存容量,可提升非易失性高速緩沖存儲器4的位速率,且可增加信息處理裝置17的速度。

在本實施例中,在不為非易失性高速緩沖存儲器4執(zhí)行無用單元收集的情況下,可避免性能的降低。由于無用單元收集并非是必需的,因此可減少向非易失性高速緩沖存儲器4的寫入次數(shù)且可增加非易失性高速緩沖存儲器4的壽命。此外,由于無用單元收集并非是必需的,因此不需要保證有設(shè)置區(qū)域(provisioning area)。因此,可增加可用作高速緩沖存儲器的數(shù)據(jù)容量,且可提高使用效率。

舉例來說,當使用非易失性存儲器作為高速緩沖存儲器且無論塊的邊界如何都丟棄數(shù)據(jù)時,可頻繁地執(zhí)行無用單元收集以將非易失性存儲器的塊中的有效數(shù)據(jù)移動到另一塊。在本實施例中,不需要在非易失性高速緩沖存儲器4中執(zhí)行無用單元收集。因此,如上文所描述,在本實施例中,可增加非易失性高速緩沖存儲器4的壽命。

[第三實施例]

在本實施例中,進一步詳細地解釋包含第一實施例及第二實施例中所解釋的信息處理系統(tǒng)17及SSD 5的信息處理系統(tǒng)35。

圖8是展示根據(jù)本實施例的信息處理系統(tǒng)35的詳細結(jié)構(gòu)的實例的框圖。

信息處理系統(tǒng)35包含信息處理裝置17及存儲器系統(tǒng)37。

根據(jù)第一實施例及第二實施例的SSD 5對應(yīng)于存儲器系統(tǒng)37。

SSD 5的處理器22對應(yīng)于CPU 43B。

地址轉(zhuǎn)換信息32對應(yīng)于LUT(查找表)45。

存儲器23對應(yīng)于DRAM 47。

信息處理裝置17充當主機裝置。

存儲器系統(tǒng)37的控制器36包含前端4F及后端4B。

前端(主機通信單元)4F包含主機接口41、主機接口控制器42、編碼/解碼單元(高級加密標準(AES))44及CPU 43F。

主機接口41與信息處理裝置17通信以交換請求(寫入命令、讀取命令、擦除命令)、LBA及數(shù)據(jù)。

主機接口控制器(控制單元)42基于CPU 43F的控制而控制主機接口41的通信。

編碼/解碼單元44對在數(shù)據(jù)寫入操作中從主機接口控制器42發(fā)射的寫入數(shù)據(jù)(明文)進行編碼。編碼/解碼單元44對在數(shù)據(jù)讀取操作中從后端4B的讀取緩沖器RB發(fā)射的經(jīng)編碼讀取數(shù)據(jù)進行解碼。應(yīng)注意,可按照臨時命令而在不使用編碼/解碼單元44的情況下執(zhí)行寫入數(shù)據(jù)及讀取數(shù)據(jù)的發(fā)射。

CPU 43F控制前端4F的以上組件41、42及44,以控制前端4F的整個功能。

后端(存儲器通信單元)4B包含寫入緩沖器WB、讀取緩沖器RB、LUT 45、DDRC 46、DRAM 47、DMAC 48、ECC 49、隨機函數(shù)發(fā)生器RZ、NANDC 50及CPU 43B。

寫入緩沖器(寫入數(shù)據(jù)傳送單元)WB暫時地存儲從信息處理裝置17發(fā)射的寫入數(shù)據(jù)。具體來說,寫入緩沖器WB暫時地存儲所述數(shù)據(jù)直到其達到適合于非易失性存儲器24的預(yù)定數(shù)據(jù)大小為止。

讀取緩沖器(讀取數(shù)據(jù)傳送單元)RB暫時地存儲從非易失性存儲器24讀取的讀取數(shù)據(jù)。具體來說,讀取緩沖器RB將讀取數(shù)據(jù)重新布置為適合于信息處理裝置17的次序(由信息處理裝置17指定的邏輯地址LBA的次序)。

LUT 45是用以將邏輯地址LBA轉(zhuǎn)換成物理地址PBA(物理塊尋址)的數(shù)據(jù)。

DDRC 46控制DRAM 47中的雙倍數(shù)據(jù)速率(DDR)。

DRAM 47是存儲例如LUT 45的非易失性存儲器。

直接存儲器存取控制器(DMAC)48經(jīng)由內(nèi)部總線IB傳送寫入數(shù)據(jù)及讀取數(shù)據(jù)。在圖8中,展示了僅單個DMAC 48;然而,控制器36可包含兩個或兩個以上DMAC 48。DMAC 48可設(shè)定于控制器36內(nèi)部的各種位置中。

ECC(錯誤校正單元)49給從寫入緩沖器WB發(fā)射的寫入數(shù)據(jù)添加錯誤校正碼(ECC)。當將讀取數(shù)據(jù)發(fā)射到讀取緩沖器RB時,如必要,則ECC 49使用所添加ECC來校正從非易失性存儲器24讀取的讀取數(shù)據(jù)。

在數(shù)據(jù)寫入操作中,隨機函數(shù)發(fā)生器RZ(或置亂器)以一方式散布寫入數(shù)據(jù),使得所述寫入數(shù)據(jù)不被偏置于某一頁中或不被偏置于非易失性存儲器24的字線方向上。通過以此方式散布寫入數(shù)據(jù),可使寫入次數(shù)標準化且可延長非易失性存儲器24的存儲器單元MC的單元壽命。因此,可提高非易失性存儲器24的可靠性。此外,在數(shù)據(jù)讀取操作中,從非易失性存儲器24讀取的讀取數(shù)據(jù)會通過隨機函數(shù)發(fā)生器RZ。

NAND控制器(NANDC)50使用多個通道(圖中展示了四個通道CH0到CH3)來并行地存取非易失性存儲器24以滿足對某一速度的需求。

CPU 43B控制后端4B的以上每一組件(45到50及RZ),以控制后端4B的整個功能。

應(yīng)注意,控制器36的結(jié)構(gòu)僅為實例且并不打算由其進行限制。

圖9是展示根據(jù)本實施例的存儲系統(tǒng)的實例的透視圖。

存儲系統(tǒng)100包含存儲器系統(tǒng)37來作為SSD。

舉例來說,存儲器系統(tǒng)37是外部大小將為大約20mm×30mm的相對小的模塊。應(yīng)注意,存儲器系統(tǒng)37的大小及尺度并不限于此且可任意地改變成各種大小。

此外,存儲器系統(tǒng)37可適用于信息處理裝置17,以作為用于在公司(企業(yè))等中所采用的數(shù)據(jù)中心或云計算系統(tǒng)中的服務(wù)器。因此,存儲器系統(tǒng)37可為企業(yè)SSD(eSSD)。

舉例來說,存儲器系統(tǒng)37包含向上開口的多個連接器(舉例來說,插槽)38。每一連接器38均為串行附接SCSI(SAS)連接器等。借助SAS連接器,可經(jīng)由6Gbps的雙端口在信息處理裝置17與每一存儲器系統(tǒng)37之間建立高速相互通信。應(yīng)注意,連接器38可為快速PCI(PCIe)或快速NVM(NVMe)。

多個存儲器系統(tǒng)37個別地附接到信息處理裝置17的連接器38且被以一種布置形式支撐使得其沿大致垂直方向站立。使用此結(jié)構(gòu),多個存儲器系統(tǒng)37可被共同地安裝成緊湊大小,且可使存儲器系統(tǒng)37小型化。此外,本實施例的每一存儲器系統(tǒng)37的形狀為2.5英寸的小形狀因子(SFF)。由于此形狀,存儲器系統(tǒng)37可與企業(yè)HDD(eHDD)兼容且可實現(xiàn)與eHDD的簡單系統(tǒng)兼容性。

應(yīng)注意,存儲器系統(tǒng)37并不限于在企業(yè)HDD中使用。舉例來說,存儲器系統(tǒng)37可用作消費型電子裝置(例如筆記型便攜式計算機或平板計算機終端)的存儲器媒體。

如從上文可理解,具有本實施例的結(jié)構(gòu)的信息處理系統(tǒng)35及存儲系統(tǒng)100可在具有第二實施例的相同優(yōu)點的情況下實現(xiàn)大容量存儲優(yōu)點。

根據(jù)本實施例的存儲器系統(tǒng)37的結(jié)構(gòu)可應(yīng)用于根據(jù)第一實施例的信息處理裝置17。舉例來說,根據(jù)第一實施例的處理器2可對應(yīng)于CPU 43B。地址轉(zhuǎn)換信息7可對應(yīng)于LUT 45。存儲器3對應(yīng)于DRAM 47。非易失性高速緩沖存儲器4可對應(yīng)于非易失性存儲器24。

盡管已描述了某些實施例,但這些實施例是僅以實例方式呈現(xiàn)的且并不打算限制本發(fā)明的范圍。實際上,本文中所描述的新穎實施例可以多種其它形式來體現(xiàn);此外,可在不背離本發(fā)明的精神的情況下對本文中所描述的實施例的形式做出各種省略、替代及改變。打算使所附權(quán)利要求書及其等效內(nèi)容涵蓋此類將歸屬于本發(fā)明范圍及精神內(nèi)的形式或修改。

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