欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

存儲器系統(tǒng)、控制存儲器系統(tǒng)的方法和信息處理裝置的制作方法

文檔序號:6594734閱讀:144來源:國知局
專利名稱:存儲器系統(tǒng)、控制存儲器系統(tǒng)的方法和信息處理裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及包括非易失性半導(dǎo)體存儲器的存儲器系統(tǒng)以及控制存儲器系統(tǒng)的方法。
背景技術(shù)
作為用于計(jì)算機(jī)系統(tǒng)中的外部存儲設(shè)備,安裝有例如NAND型閃存的非易失性半 導(dǎo)體存儲器的SSD (固態(tài)驅(qū)動器)引起注意。所述閃存與磁盤設(shè)備相比具有例如高速和重 量輕的優(yōu)點(diǎn)。所述SSD在其中包括多個(gè)閃存芯片;控制器,其對應(yīng)于來自主機(jī)設(shè)備的請 求執(zhí)行每個(gè)閃存芯片的讀取/寫入控制;緩沖器存儲器,其用于執(zhí)行每個(gè)閃存芯片和主機(jī) 設(shè)備之間的數(shù)據(jù)傳送;電源電路;用于主機(jī)設(shè)備的連接接口(例如,專利文獻(xiàn)1 日本專利 No. 3688835)。當(dāng)在例如NAND型閃存的非易失性半導(dǎo)體存儲元件中存儲數(shù)據(jù)時(shí),在擦除數(shù)據(jù)一 次之后以所謂的塊為單位來執(zhí)行寫入,以所謂的頁為單位來執(zhí)行讀取/寫入,或固定擦除/ 讀取/寫入的單位。另一方面,由例如個(gè)人計(jì)算機(jī)(PC)的主機(jī)設(shè)備從例如硬盤的二級存儲 裝置讀取數(shù)據(jù)/將數(shù)據(jù)寫入至例如硬盤的二級存儲裝置的單位稱為扇區(qū)。獨(dú)立于半導(dǎo)體存 儲裝置元件的擦除/讀取/寫入單位來設(shè)置扇區(qū)。通常,塊、頁、和扇區(qū)的大小具有這樣的 關(guān)系塊>頁>扇區(qū)。由此,在一些情況下,半導(dǎo)體存儲裝置元件的擦除/讀取/寫入單位大于主機(jī)設(shè)備 的讀取/寫入的單位。當(dāng)通過使用這樣的半導(dǎo)體存儲裝置元件來配置PC的二級存儲裝置 (例如硬盤)時(shí),在符合半導(dǎo)體存儲裝置元件的塊大小和頁大小之后,來自作為主機(jī)設(shè)備的 PC的大小為小的數(shù)據(jù)需要經(jīng)過地址解譯。此外,如專利文獻(xiàn)2(PCT國際申請No.2007-528079的日文翻譯)中所述,當(dāng)通過 使用這樣的閃存來配置具有大容量的二級存儲裝置時(shí),通常將高速緩存插入至閃存和主機(jī) 設(shè)備之間以減少閃存中的寫入次數(shù)(擦除次數(shù))。

發(fā)明內(nèi)容
本發(fā)明的一個(gè)方面提供一種存儲器系統(tǒng),包括高速緩存;非易失性半導(dǎo)體存儲 器,經(jīng)由所述高速緩存將數(shù)據(jù)寫入所述非易失性半導(dǎo)體存儲器中;組織單元,其在所述非易 失性半導(dǎo)體存儲器的資源使用超過特定值時(shí),通過在所述非易失性半導(dǎo)體存儲器中組織所 述數(shù)據(jù)來增加所述非易失性半導(dǎo)體存儲器的資源;第一清空控制單元,其執(zhí)行第一清空處 理,所述第一清空處理用于在所述高速緩存的所述資源使用超過第一閾值且小于第二閾值 且完成由所述組織單元進(jìn)行的組織時(shí),將所述高速緩存中的數(shù)據(jù)清空至所述非易失性半導(dǎo) 體存儲器,直到所述高速緩存的資源使用變得等于或小于所述第一閾值為止,其中所述第 二閾值大于所述第一閾值;以及第二清空控制單元,其執(zhí)行第二清空處理,所述第二清空處 理用于在所述高速緩存的所述資源使用超過所述第二閾值且完成由所述組織單元進(jìn)行的 組織時(shí),將所述高速緩存中的數(shù)據(jù)清空至所述非易失性半導(dǎo)體存儲器,直到所述高速緩存的資源使用變得等于或小于所述第二閾值為止,以及用于在所述高速緩存的所述資源使用 超過所述第二閾值且未完成由所述組織單元進(jìn)行的組織時(shí),在完成由所述組織單元進(jìn)行的 組織之后,將所述高速緩存中的數(shù)據(jù)清空至所述非易失性半導(dǎo)體存儲器。


圖1是SSD 100的配置實(shí)例的框圖。圖2A和2B是示出在NAND存儲器芯片中包括的一個(gè)物理塊的配置實(shí)例和四元數(shù) 據(jù)存儲系統(tǒng)中的閾值分布的示意圖。圖3是驅(qū)動控制電路的硬件內(nèi)部配置實(shí)例的框圖。圖4是處理器的功能配置實(shí)例的框圖。圖5是在NAND存儲器和動態(tài)隨機(jī)存取存儲器(DRAM)中形成的功能配置的框圖。圖6是示出LBA邏輯地址的視圖。圖7是示出數(shù)據(jù)管理單元中的管理表的配置實(shí)例的視圖。圖8是概念性示出快照和日志的產(chǎn)生狀態(tài)的視圖。圖9是示出寫入高速緩存(WC)中的寫入處理的流程圖。圖10是示出從WC至主要存儲區(qū)(MS)的寫入處理的操作過程的流程圖。圖11是示出從WC至MS的寫入處理的操作概念的示意圖。圖12是示出低密度磁軌從WC至前段存儲區(qū)(FS)的寫入處理的操作過程的流程 圖。圖13是示出低密度磁軌從WC至FS的寫入處理的操作概念的示意圖。圖14是示出從FS至中間段存儲區(qū)(IS)的數(shù)據(jù)重新定位的操作過程的流程圖。圖15是示出從FS至IS的數(shù)據(jù)重新定位的操作概念的示意圖。圖16是示出IS中的重組處理和緊縮處理的操作過程的流程圖。圖17是示出WC中的管理結(jié)構(gòu)的視圖。圖18是示出WC磁軌信息表的視圖。圖19是示出WC高密度磁軌信息表的視圖。圖20是示出WC資源名稱(參數(shù)名稱)與自動清空(AF)閾值和上限之間的關(guān)系 的視圖。圖21是示出根據(jù)本實(shí)施例的基本部分的配置的功能框圖。圖22是示出當(dāng)WC資源使用超過上限時(shí)的操作過程的流程圖。圖23是示出當(dāng)AF閾值< WC資源使用<上限時(shí)的操作過程的流程圖。圖24是示出當(dāng)WC資源使用超過上限時(shí)的另一操作過程的流程圖。
圖25是安裝有SSD的PC的全景圖。圖25是安裝有SSD的PC的系統(tǒng)配置實(shí)例的視圖。
具體實(shí)施例方式在從主機(jī)設(shè)備向高速緩存寫入的情況下,當(dāng)高速緩存為滿時(shí),將數(shù)據(jù)從高速緩存 清空至閃存,并隨后將數(shù)據(jù)寫入至高速緩存。然而,如果在高速緩存變得幾乎為滿之后執(zhí)行 數(shù)據(jù)清空,則在數(shù)據(jù)清空期間使來自主機(jī)設(shè)備的寫入請求保持等待,從而當(dāng)從主機(jī)設(shè)備端觀察時(shí),不能夠配置具有高響應(yīng)的二級存儲裝置。此外,如上所述,當(dāng)數(shù)據(jù)擦除單位(塊)和數(shù)據(jù)管理單位不同時(shí),根據(jù)閃存的重寫 的進(jìn)程,無效(非最新)數(shù)據(jù)使得塊成為多孔的。當(dāng)在這樣的多孔狀態(tài)的塊增加時(shí),實(shí)質(zhì)上 可用的塊減少,并且不能夠有效使用閃存的存儲區(qū)域。因此,執(zhí)行稱為緊縮的閃存的組織處 理,其用于收集有效最新數(shù)據(jù)以及將數(shù)據(jù)重寫至不同塊中。然而,在閃存的傳統(tǒng)清空處理中不考慮閃存端上的組織狀態(tài),從而在閃存端上的 組織尚未進(jìn)行時(shí)耗費(fèi)時(shí)間來執(zhí)行對閃存的寫入。因此,對主機(jī)端上的寫入命令的響應(yīng)可能 降低。以下參照附圖詳細(xì)說明根據(jù)本發(fā)明的存儲器系統(tǒng)的示例性實(shí)施例。本發(fā)明不限于 這些實(shí)施例。以下參照

本發(fā)明的實(shí)施例。在以下說明中,具有相同功能和配置的組件 通過相同數(shù)字和標(biāo)號來指示。僅當(dāng)必要時(shí)執(zhí)行組件的附加說明。首先,定義在說明書中使用的術(shù)語。物理頁NAND型閃存中可共同寫入和讀出的單位。邏輯頁在SSD中設(shè)置的寫入和讀出單位。邏輯頁與一個(gè)或多個(gè)物理頁關(guān)聯(lián)。物理塊NAND型閃存中可獨(dú)立擦除的最小單位。物理塊包括多個(gè)物理頁。邏輯塊在SSD中設(shè)置的擦除單位。邏輯塊與一個(gè)或多個(gè)物理塊關(guān)聯(lián)。邏輯塊包 括多個(gè)邏輯頁。扇區(qū)來自主機(jī)的最小訪問單位。例如,扇區(qū)大小為512字節(jié)⑶。簇SSD中用于管理“小數(shù)據(jù)(細(xì)粒度數(shù)據(jù)),,的管理單位。簇的大小等于或大于 扇區(qū)的大小,并且被設(shè)置為等于主機(jī)的操作系統(tǒng)(OS)采用的文件系統(tǒng)的數(shù)據(jù)管理單位或 邏輯頁大小。例如,可設(shè)置簇的大小,從而作為簇大小兩倍或更大自然數(shù)倍數(shù)的大小為邏輯 頁的大小。磁軌SSD中用于管理“大數(shù)據(jù)(粗粒度數(shù)據(jù))”的管理單位。磁軌的大小被設(shè)置, 使得作為簇大小兩倍或更大自然數(shù)倍數(shù)的大小為磁軌的大小。例如,可將磁軌的大小設(shè)置 為等于邏輯塊的大小??臻e塊(FB)其中不包括有效數(shù)據(jù)并且不被分配用途的邏輯塊??臻e塊包括以下 兩個(gè)類型,即完全空閑塊(CFB)和片段空閑塊(FFB)。完全空閑塊(CFB)需要執(zhí)行擦除操作以用于重用的空閑塊。在執(zhí)行擦除操作之 后,可從位于邏輯塊頂部的邏輯頁執(zhí)行寫入。片段空閑塊(FFB)剩余沒有數(shù)據(jù)寫入其中的邏輯頁并且可以在不執(zhí)行擦除操作 的情況下重用的空閑塊??梢栽跊]有數(shù)據(jù)寫入其中的剩余邏輯頁中執(zhí)行寫入。壞塊(BB) :NAND型閃存上的由于大量錯(cuò)誤而不可用作存儲區(qū)域的物理塊。例如, 將沒有正常完成擦除操作的物理塊登記為壞塊BB。寫入效率在特定期間,邏輯塊相對于從主機(jī)寫入的數(shù)據(jù)量的擦除量的統(tǒng)計(jì)值。寫 入效率越小時(shí),NAND型閃存的損耗度越小。有效簇存儲與邏輯地址相應(yīng)的最新數(shù)據(jù)(簇大小的數(shù)據(jù))的簇。無效簇作為具有相同邏輯地址的數(shù)據(jù)寫入在不同位置中的結(jié)果,存儲沒有被引 用的非最新數(shù)據(jù)(簇大小的數(shù)據(jù))的簇。
有效磁軌存儲與邏輯地址相應(yīng)的最新數(shù)據(jù)(磁軌大小的數(shù)據(jù))的磁軌。無效磁軌作為具有相同邏輯地址的數(shù)據(jù)寫入在不同位置中的結(jié)果,存儲沒有被 引用的非最新數(shù)據(jù)(磁軌大小的數(shù)據(jù))的磁軌。多級單元(MLC)模式正常使用能夠多值化存儲的NAND型閃存中的上部頁和下部 頁來執(zhí)行寫入的模式。通過將MLC模式下使用的一個(gè)或多個(gè)物理塊關(guān)聯(lián)來配置MLC模式的 邏輯塊。偽單級單元(SLC)模式僅使用能夠多值化存儲的NAND型閃存中的下部頁來執(zhí)行 寫入的模式。通過將偽SLC模式中使用的一個(gè)或多個(gè)物理塊關(guān)聯(lián)來配置偽SLC模式的邏輯 塊。在擦除操作之后,甚至可在MLC模式下使用在偽SLC模式下使用一次的物理塊。(第一實(shí)施例)圖1是SSD 100的配置實(shí)例的框圖。SSD 100經(jīng)由存儲器連接接口(例如高級技 術(shù)配件接口(ATA I/F)2)連接至主機(jī)設(shè)備1(以下主機(jī)1),例如PC或中央處理單元(CPU) 核,并用作主機(jī)1的外部存儲器。SSD 100可經(jīng)由通信接口 3(例如RS232C I/F)向用于調(diào) 試和制造檢查的裝置200發(fā)送數(shù)據(jù)和從其接收數(shù)據(jù)。SSD 100包括作為非易失性半導(dǎo)體存 儲器的NAND型閃存(以下NAND存儲器)10、作為控制器的驅(qū)動控制電路4、作為易失性半 導(dǎo)體存儲器的DRAM 20、電源電路5、用于狀態(tài)顯示的發(fā)光二極管(LED) 6、檢測驅(qū)動器中的 溫度的溫度傳感器7、和保險(xiǎn)絲8。電源電路5根據(jù)從主機(jī)1端上的電源電路提供的外部直流電源生成多個(gè)不同內(nèi)部 直流電源電壓,并且將這些內(nèi)部直流電源電壓提供至SSD 100中的各個(gè)電路。電源電路5 檢測外部電源的上沿,生成通電重設(shè)信號,以及將通電重設(shè)信號提供至驅(qū)動控制電路4。保 險(xiǎn)絲8提供在主機(jī)1端上的電源電路和SSD 100中的電源電路5之間。當(dāng)從外部電源電路 提供過量電流時(shí),保險(xiǎn)絲被斷開,以防止內(nèi)部電路的故障。在這種情況下,NAND存儲器10包括4個(gè)并行操作元件IOa至10d,其執(zhí)行4個(gè)并 行操作。并行操作元件IOa至IOd通過4個(gè)通道(chO至ch3)連接至驅(qū)動控制電路4。并 行操作元件IOa至IOd中的每個(gè)包括多個(gè)存儲體(在這種情況下,4個(gè)存儲體(存儲體0至 存儲體幻),其能夠執(zhí)行存儲體交錯(cuò)。每個(gè)存儲體包括多個(gè)NAND存儲器芯片(在這種情況 下,2個(gè)存儲器芯片(芯片0和芯片1))。每個(gè)存儲器芯片分成例如面0和面1的兩個(gè)區(qū), 其每個(gè)包括多個(gè)物理塊。面0和面1包括彼此獨(dú)立的外圍電路(例如行解碼器、列解碼器、 頁緩沖器、和數(shù)據(jù)高速緩存),并且可通過使用雙倍速模式同時(shí)執(zhí)行擦除、寫入、和讀取。這 樣,NAND存儲器10的每個(gè)NAND存儲器芯片可使用多個(gè)面執(zhí)行多個(gè)通道的并行操作、多個(gè) 存儲體的存儲體交錯(cuò)操作、以及雙倍速模式的并行操作。每個(gè)存儲器芯片可分成4個(gè)面,或 者可在沒有劃分的情況下被配置。DRAM 20用作在主機(jī)1和NAND存儲器10之間的數(shù)據(jù)傳送的高速緩存以及用于工 作區(qū)的存儲器。在用于DRAM 20的工作區(qū)的存儲器中,存儲通過在啟動等時(shí)間加載NAND存 儲器10中存儲的各個(gè)管理表獲得的主表(快照)、作為管理表的改變差別的日志信息及其 類似者??墒褂描F電隨機(jī)存取存儲器(FeRAM)、磁阻隨機(jī)存取存儲器(MRAM)、相變隨機(jī)存取 存儲器(PRAM)代替DRAM 20。驅(qū)動控制電路4經(jīng)由DRAM 20執(zhí)行在主機(jī)1和NAND存儲器 10之間的數(shù)據(jù)傳送控制,并且控制SSD 100中的各個(gè)組件。驅(qū)動控制電路4向用于狀態(tài)顯 示6的LED提供用于狀態(tài)顯示的信號。驅(qū)動控制電路4還具有從電源電路5接收通電重設(shè)信號以及向自身電路和SSD 100中的各個(gè)單元提供時(shí)鐘信號的功能。通過將多個(gè)物理塊安排為數(shù)據(jù)擦除的單位來配置每個(gè)NAND存儲器芯片。圖2A 是示出在NAND存儲器芯片中包括的一個(gè)物理塊的配置實(shí)例的等效電路圖。每個(gè)物理塊包 括沿著X方向依次排列的(P+1)個(gè)NAND串(ρ是等于或大于0的整數(shù))。在各個(gè)(p+1)個(gè) NAND串中包括的選擇晶體管STl的漏極分別連接至位線BLO至BLp,并且柵極共同連接至 柵極線S⑶。此外,選擇晶體管ST2的源極共同連接至源線SL,并且柵極共同連接至柵極線 SGS。每個(gè)存儲器單元晶體管MT包括金屬氧化物半導(dǎo)體場效應(yīng)晶體管(MOSFET),其包 括在半導(dǎo)體襯底上形成的堆疊柵極結(jié)構(gòu)。堆疊柵極結(jié)構(gòu)包括經(jīng)由柵極絕緣膜在半導(dǎo)體襯底 上形成的電荷存儲層(浮置柵極電極)和經(jīng)由柵極間絕緣膜在電荷存儲層上形成的控制柵 極電極。在存儲器單元晶體管MT中,閾值電壓根據(jù)在浮置柵極電極中聚集的電子的數(shù)目改 變。存儲器單元晶體管MT根據(jù)閾值電壓的差存儲數(shù)據(jù)。存儲器單元晶體管MT可倍配置為 存儲一個(gè)比特,或者可倍配置為存儲多值(等于或大于兩個(gè)比特的數(shù)據(jù))。存儲器單元晶體管MT不限于具有浮置柵極電極的結(jié)構(gòu),并且可以是例如金屬氧 氮氧化矽(M0N0Q型的結(jié)構(gòu),其可通過使得作為電荷存儲層的氮化物膜接口捕獲電子來調(diào) 節(jié)閾值。類似地,MONOS結(jié)構(gòu)的存儲器單元晶體管MT可被配置為存儲一個(gè)比特,或者可倍 配置為存儲多值(等于或大于兩個(gè)比特的數(shù)據(jù))。在每個(gè)NAND串中,將(q+Ι)個(gè)存儲器單元晶體管MT設(shè)置在選擇晶體管STl的源 極和選擇晶體管ST2的漏極之間,從而使其電流路徑串聯(lián)連接。換句話說,存儲器單元晶體 管MT在Y方向串聯(lián)連接,從而存儲器單元晶體管MT的相鄰晶體管共享擴(kuò)散區(qū)域(源極區(qū) 域或漏極區(qū)域)。存儲器單元晶體管MT的控制柵極電極以從位于大部分漏極端上的存儲器單元晶 體管MT的順序分別連接至字線mi)至WLq。因此,與字線mi)連接的存儲器單元晶體管MT 的漏極連接至選擇晶體管STl的源極。與字線WLq連接的存儲器單元晶體管MT的源極連 接至選擇晶體管ST2的漏極。在物理塊的NAND串之間,字線Wi)至WLq共同連接存儲器單元晶體管MT的控制 柵極電極。換句話說,在塊中的相同行中出現(xiàn)的存儲器單元晶體管MT的控制柵極電極連接 至相同字線WL。與相同字線WL連接的(P+1)個(gè)存儲器單元晶體管MT看作一個(gè)頁(物理 頁)。通過每個(gè)物理頁執(zhí)行數(shù)據(jù)寫入和數(shù)據(jù)讀出。在所述塊之間,位線BLO至BLp共同連接選擇晶體管STl的漏極。換句話說,在多 個(gè)塊中的相同列中出現(xiàn)的NAND串連接至相同位線BL。圖2B是例如在一個(gè)存儲器單元晶體管MT中存儲兩個(gè)比特的四元數(shù)據(jù)存儲模式下 的閾值分布的示意圖。在四元數(shù)據(jù)存儲模式下,可在存儲器單元晶體管MT中存儲由上部頁 數(shù)據(jù)“χ”和下部頁數(shù)據(jù)“y”定義的四元數(shù)據(jù)“xy”中的任一個(gè)。作為四元數(shù)據(jù)“xy”,例如,以存儲器單元晶體管MT的閾值電壓的順序分配數(shù)據(jù) “11”、“01”、“00”、和“10”。數(shù)據(jù)“11”是存儲器單元晶體管MT的電壓閾值為負(fù)的擦除狀態(tài)。 數(shù)據(jù)分配的規(guī)則不限于此。配置可以是在一個(gè)存儲器單元晶體管MT中存儲3個(gè)或更多個(gè) 比特。在下部頁寫入操作中,根據(jù)下部比特?cái)?shù)據(jù)“y”的寫入在具有數(shù)據(jù)“11”的存儲器單元晶體管MT中選擇性寫入數(shù)據(jù)“10”(處于經(jīng)擦除狀態(tài))。在上部頁寫入之前數(shù)據(jù)“10” 的閾值位于在上部頁寫入之后數(shù)據(jù)“01”和數(shù)據(jù)“00”的閾值分布的中間附近,并且可寬于 在上部頁寫入之后的閾值分布。在上部頁寫入操作中,對于數(shù)據(jù)“ 11,,的存儲器單元和數(shù)據(jù) “10”的存儲器單元選擇性應(yīng)用上部比特?cái)?shù)據(jù)“X”的寫入。在存儲器單元中寫入數(shù)據(jù)“01” 和數(shù)據(jù)“00”。在偽SLC模式下,僅使用下部頁來執(zhí)行寫入。下部頁寫入快于上部頁寫入。圖3是驅(qū)動控制電路4的硬件內(nèi)部配置實(shí)例的框圖。驅(qū)動控制電路4包括數(shù)據(jù)訪 問總線101、第一電路控制總線102、和第二電路控制總線103。控制整個(gè)驅(qū)動控制電路4的 處理器104連接至第一電路控制總線102。其中存儲用于引導(dǎo)NAND存儲器10中存儲的各 個(gè)管理程序(FW 固件)的引導(dǎo)程序的引導(dǎo)ROM 105經(jīng)由ROM控制器106連接至第一電路 控制總線102。從如圖1所示的電源電路5接收通電重設(shè)信號并向各個(gè)單元提供重設(shè)信號 和控制信號的時(shí)鐘控制器107連接至第一電路控制總線102。第二電路控制總線103連接至第一電路控制總線102。從如圖1所示的溫度傳感 器7接收數(shù)據(jù)的I2C電路108、向用于狀態(tài)顯示6的LED提供用于狀態(tài)顯示的信號的并行 IO(PIO)電路109、和控制RS232C I/F 3的串行IO(SIO)電路110連接至第二電路控制總 線 103。ATA接口控制器(ΑΤΑ控制器)111、第一檢錯(cuò)和糾錯(cuò)(ECC)電路112、NAND控制器 113、和DRAM控制器114連接至數(shù)據(jù)訪問總線101和第一電路控制總線102兩者。ATA控 制器111經(jīng)由ATA接口 2向主機(jī)1發(fā)送數(shù)據(jù),以及從其接收數(shù)據(jù)。用作數(shù)據(jù)工作區(qū)和固件 擴(kuò)展區(qū)的靜態(tài)隨機(jī)存取存儲器(SRAM) 115經(jīng)由SRAM控制器116連接至數(shù)據(jù)訪問總線101。 當(dāng)啟動在NAND存儲器10中存儲的固件時(shí),通過在引導(dǎo)ROM 105中存儲的引導(dǎo)程序?qū)⒐碳?傳送至SRAM 115。NAND控制器113包括NAND I/F 117,其執(zhí)行與NAND存儲器10對接的對接處理; 第二 ECC電路118 ;和直接存儲器訪問(DMA)傳送控制的DMA控制器119,其執(zhí)行NAND存儲 器10和DRAM 20之間的訪問控制。第二 ECC電路118執(zhí)行第二校正碼的編碼,以及執(zhí)行第 一糾錯(cuò)碼的編碼和解碼。第一 ECC電路112執(zhí)行第二糾錯(cuò)碼的解碼。第一糾錯(cuò)碼和第二糾 錯(cuò)碼是例如漢明(Hamming)碼、博斯-查德胡里-霍昆格姆(Bose Chauduri Hocquenghem) (BCH)碼、里德-所羅門(Reed Solomon) (RS)碼、或低密度奇偶校驗(yàn)(LDPC)碼。第二糾錯(cuò) 碼的糾錯(cuò)能力高于第一糾錯(cuò)碼的糾錯(cuò)能力。例如,在國際專利申請PCT/JP2008/063344或 國際專利申請PCT/JP2008/063345中公開了涉及這種糾錯(cuò)的技術(shù),并且其內(nèi)容合并在本申 請中。如圖1所示,在NAND存儲器10中,4個(gè)并行操作元件IOa至IOd經(jīng)由均用于多個(gè) 比特的4個(gè)通道(kh)并行連接至驅(qū)動控制電路4中的NAND控制器113,從而可并行激勵 4個(gè)并行操作元件IOa至10d。每個(gè)通道的NAND存儲器10分成能夠存儲體交錯(cuò)的4個(gè)存 儲體,并且可同時(shí)訪問每個(gè)存儲器芯片的面0和面1。因此,可在用于每個(gè)通道的多達(dá)8個(gè) 物理塊0個(gè)存儲體X2個(gè)面)上幾乎同時(shí)執(zhí)行例如寫入的處理。例如,在美國專利申請公 開No. 12/558965中公開涉及這樣的存儲體交錯(cuò)的技術(shù),并且其全部內(nèi)容合并在本申請中。圖4是通過處理器104實(shí)現(xiàn)的固件的功能性配置實(shí)例的框圖。由處理器104實(shí)現(xiàn) 的固件的功能大致分成數(shù)據(jù)管理單元120、ATA命令處理單元121、安全管理單元122、引導(dǎo) 加載器123、初始化管理單元124、和調(diào)試支持單元125。
數(shù)據(jù)管理單元120經(jīng)由NAND控制器113和第一 ECC電路112控制在NAND存儲器 10和DRAM 20之間的數(shù)據(jù)傳送和關(guān)于NAND存儲器10的各個(gè)功能。ATA命令處理單元121 經(jīng)由ATA控制器111和DRAM控制器114與數(shù)據(jù)管理單元120協(xié)作執(zhí)行在DRAM 20和主機(jī) 1之間的數(shù)據(jù)傳送處理。安全管理單元122與數(shù)據(jù)管理單元120和ATA命令處理單元121 協(xié)作管理各種安全信息。當(dāng)電源開啟時(shí),引導(dǎo)加載器123從NAND存儲器10將管理程序(固件)加載到SRAM 115上。初始化管理單元123執(zhí)行在驅(qū)動控制電路4中的各個(gè)控制器和電路的初始化。調(diào) 試支持單元125處理經(jīng)由RS232C接口從外部提供的用于調(diào)試的數(shù)據(jù)。數(shù)據(jù)管理單元120、 ATA命令處理單元121、和安全管理單元122是通過處理器104執(zhí)行在SRAM 115中存儲的 各個(gè)管理程序?qū)崿F(xiàn)的主要功能單元。在本實(shí)施例中,主要說明通過數(shù)據(jù)管理單元120實(shí)現(xiàn)的功能。數(shù)據(jù)管理單元120執(zhí) 行例如以下功能,ATA命令處理單元121請求作為存儲設(shè)備的NAND存儲器10和DRAM 20 (響 應(yīng)于來自主機(jī)的各種命令,例如寫入請求、高速緩存清空請求、和讀取請求),在從主機(jī)給出 的邏輯地址和NAND存儲器10的物理地址之間的相應(yīng)關(guān)系的管理,通過快照和日志對于管 理信息的保護(hù),使用DRAM 20和NAND存儲器10進(jìn)行快速和高度有效的數(shù)據(jù)讀出和寫入功 能,和確保NAND存儲器10的可靠性。圖5是在NAND存儲器10和DRAM 20中形成的功能框的視圖。在DRAM 20上配置 的寫入高速緩存(WC) 21和讀取高速緩存(RC) 22插入在主機(jī)1和NAND存儲器10之間。WC 21在其中臨時(shí)存儲來自主機(jī)1的寫入數(shù)據(jù)。RC 22在其中臨時(shí)存儲來自NAND存儲器10的 讀取數(shù)據(jù)。通過數(shù)據(jù)管理單元120將NAND存儲器10中的塊分配給前段存儲區(qū)(FS 前存 儲)12、中間段存儲區(qū)(IS:中間存儲)13、和主存儲區(qū)(MS:主存儲)11的各個(gè)管理區(qū),以減 少在寫入期間對于NAND存儲器10的擦除的量。FS 12以簇為單位(S卩“小單位”)來管理 來自WC 21的數(shù)據(jù),以及在短時(shí)間段存儲小數(shù)據(jù)。IS 13以簇為單位(S卩“小單位”)來管理 來自FS 12的溢出,以及在長時(shí)間段存儲小數(shù)據(jù)。MS 11以磁軌為單位(即“大單位”)管 理來自WC 21、FS 12、和IS 13的數(shù)據(jù)。例如,在國際專利申請PCT/JP08/073950中或國際 專利申請PCT/JP08/067600中公開了以這個(gè)方式通過在每個(gè)管理區(qū)中分配NAND存儲器10 中的塊來管理他們的技術(shù),并且其全部內(nèi)容合并在本申請中。詳細(xì)說明圖5中所示的各個(gè)組件的特定功能配置。當(dāng)主機(jī)1執(zhí)行對于SSD 100的 讀取或?qū)懭霑r(shí),主機(jī)1經(jīng)由ATA I/F 2輸入邏輯塊尋址(LBA)作為邏輯地址。如圖6所示, LBA是將從0的序號附加在扇區(qū)(大小512B)的邏輯地址。在本實(shí)施例中,作為用于圖5 中所示的組件的WC 21、RC 22、FS 12、IS 13、和MS 11的管理單元,定義了用等于或大于 LBA的第(s+1)低階比特的位串按序形成的簇地址以及用等于或大于LBA的第(s+t+Ι)低 階比特的位串按序形成的磁軌地址。在本實(shí)施例中,磁軌和邏輯塊的大小相同。邏輯塊是 與NAND存儲器10的芯片上的多個(gè)物理塊關(guān)聯(lián)的虛擬塊。在本實(shí)施例中,邏輯塊與用于若 干并行通道(在這種情況下,如圖1中所示4個(gè)通道)的物理塊關(guān)聯(lián)。以類似方式,邏輯頁 與用于4個(gè)通道的物理頁關(guān)聯(lián)。從屬于相同存儲體的物理塊選擇邏輯塊,以有效地使用存 儲體交錯(cuò)。<讀取高速緩存(RC) 22>RC 22是響應(yīng)于來自主機(jī)1的讀取請求臨時(shí)存儲來自NAND存儲器10 (FS 12、ISCN 102150140 A
說明書
8/23 頁
13和MS 11)的讀取數(shù)據(jù)的區(qū)域?;旧蠌腞C 22執(zhí)行向主機(jī)1的傳送。當(dāng)執(zhí)行從WC 21 向NAND存儲器10的數(shù)據(jù)寫入時(shí),使具有相同邏輯地址的RC 22上的數(shù)據(jù)無效?!磳懭敫咚倬彺?WC)21>WC 21是響應(yīng)于來自主機(jī)1的寫入請求臨時(shí)存儲來自主機(jī)1的寫入數(shù)據(jù)的區(qū)域。 以簇為單位來管理WC 21上的數(shù)據(jù),并且以扇區(qū)為單位來執(zhí)行有效數(shù)據(jù)的寫入和管理。當(dāng) WC 21的資源變得不足時(shí),將WC 21上存儲的數(shù)據(jù)清空至NAND存儲器。當(dāng)在與來自主機(jī)1 的RC 22上的數(shù)據(jù)相同的邏輯地址中執(zhí)行寫入時(shí),在WC 21上存儲最新數(shù)據(jù)。因此,當(dāng)在 WC 2URRC 22和NAND存儲器10上存在與相同邏輯地址相應(yīng)的數(shù)據(jù)時(shí),該數(shù)據(jù)按WC 21、RC 22、和NAND存儲器10的順序?yàn)樾碌?,從而WC 21上的數(shù)據(jù)倍優(yōu)先化以返回至主機(jī)1?!粗鞔鎯^(qū)(MS)IDMS 11以磁軌為單位執(zhí)行數(shù)據(jù)管理,并且大部分用戶數(shù)據(jù)存儲在MSll中。將WC上 具有許多有效簇的磁軌(高密度磁軌)從WC 21直接寫入MS 11。此外,將無法由FS 12和 IS 13管理的數(shù)據(jù)輸入至MS 11。使LBA與輸入至MS 11的磁軌的LBA相同的磁軌在邏輯 塊中無效,并且釋放這個(gè)邏輯塊。使屬于LBA與輸入至MS 11的磁軌的LBA相同的磁軌的 簇在FS 12、IS 13中無效,并且釋放其中所有簇?zé)o效的邏輯塊。MS 11由MLS模式的多個(gè) 邏輯塊組成。在本實(shí)施例中,磁軌與邏輯塊的大小相同,從而在FS 12或IS 13中執(zhí)行的額 外記錄處理以及在IS 13中執(zhí)行的緊縮(用于僅收集有效簇以生成新邏輯塊和釋放無效簇 部分的處理)在MS 11中是不必要的。如果磁軌大小小于邏輯塊大小,則可將在FS 12和 IS 13中執(zhí)行的額外記錄處理以及在FS 13中執(zhí)行的緊縮應(yīng)用于MS 11。<前段存儲區(qū)(FS) 12>FS 12是適配先進(jìn)先出(FIFO)結(jié)構(gòu)的緩沖器,其中數(shù)據(jù)以簇為單位來管理,并且 輸入是收集多個(gè)簇的邏輯頁為單位來執(zhí)行。首先,將WC 21上具有較小數(shù)目的有效簇的磁 軌(低密度磁軌)寫入至FS 12中。FS 12具有FIFO結(jié)構(gòu),其中按數(shù)據(jù)寫入的次序來配置 邏輯塊。當(dāng)將LBA與FS 12中存在的簇的LBA相同的簇輸入至FS 12時(shí),足以使FS 12中 的簇?zé)o效,并且不執(zhí)行重寫。使LBA與輸入至FS 12的簇的LBA相同的簇在邏輯塊中無效, 并且釋放邏輯塊中的所有簇?zé)o效的邏輯塊。將存儲于達(dá)到FS 12的FIFO結(jié)構(gòu)的末端的邏 輯塊中的簇看作來自主機(jī)1的具有低重寫可能性的簇,并且在IS 13的管理下將該邏輯塊 整個(gè)重寫定位至IS 13。在本實(shí)施例中,F(xiàn)S 12是由偽SLC模式的多個(gè)邏輯塊組成,以加速 寫入。FS 12可由MLC模式的多個(gè)邏輯塊組成。具有高更新頻率的數(shù)據(jù)在通過FS 12時(shí)為 無效的并且僅具有低更新頻率的數(shù)據(jù)從FS 12溢出,使得FS 12可使具有低更新頻率的數(shù) 據(jù)與具有高更新頻率的數(shù)據(jù)分離。因此,有可能降低緊縮在后續(xù)段的IS 13中頻繁發(fā)生的 可能性?!粗虚g段存儲區(qū)(IS)13>IS 13是用于存儲具有低重寫可能性的簇的緩沖器,并且以與FS 12相同的方式 以簇為單位來執(zhí)行數(shù)據(jù)的管理。當(dāng)將LBA與IS 13中存在的簇的LBA相同的簇輸入至FS 12和IS 13時(shí),足以使IS 13中的簇?zé)o效,并且不執(zhí)行重寫。以與FS 12類似的方式,IS 13 具有列表結(jié)構(gòu),其中從首先倍寫入數(shù)據(jù)的邏輯塊(從首先根據(jù)FS 12重寫定位的邏輯塊) 依次配置邏輯塊;然而,不同于FS 12的是,IS 13執(zhí)行緊縮。當(dāng)IS 13的容量飽和或用于 FS 12和IS 13的管理表飽和時(shí),執(zhí)行緊縮(從IS 13收集有效簇并且將其重寫至IS 13)或重組(將FS 12和IS 13的簇整合至磁軌中并且將其清空至MS 11)。在本實(shí)施例中,IS 13是由MLC模式和偽SLC模式的邏輯塊的混合物組成。換句話說,從FS 12重新定位至IS 13的塊是偽SLC模式的邏輯塊;然而,當(dāng)在IS 13中執(zhí)行緊縮時(shí),將該塊重寫至MLC模式的 邏輯塊。當(dāng)FS 12是由MLC模式的邏輯塊組成時(shí),IS 13也僅由MLC模式的邏輯塊組成。圖7是示出用于數(shù)據(jù)管理單元120控制和管理圖5中所示的各個(gè)組件的管理表的 視圖。用于管理DRAM 20的表包括RC管理表23、WC磁軌表M、WC磁軌信息表25、WC高密 度磁軌信息表26、和WC低密度磁軌信息表27。用于管理NAND存儲器10的表包括磁軌表 30、簇目錄表31、簇表32、簇塊信息表33、和邏輯至物理解譯表40。用于管理NAND存儲器 10的表分成前向查詢地址解譯中所涉及的表和反向查詢地址解譯中所涉及的表。前向查詢 地址解譯是用于從數(shù)據(jù)的LBA獲得實(shí)際存儲該數(shù)據(jù)的(邏輯塊地址+簇位置)。反向查詢 地址解譯是用于從(邏輯塊地址+簇位置)獲得數(shù)據(jù)的LBA。<RC 管理表 23>RC管理表23是用于管理從NAND存儲器10傳送至RC 22的數(shù)據(jù)。<WC磁軌表對>WC磁軌表M是用于從LBA查詢關(guān)于在WC 21上存儲的數(shù)據(jù)的WC磁軌信息的散列 表,并且包括針對每個(gè)索引的多個(gè)項(xiàng)目(標(biāo)簽),所述每個(gè)索引是LBA的磁軌地址的最低有 效位(LSB)的少量比特。每個(gè)標(biāo)簽存儲LBA磁軌地址和指向與磁軌地址對應(yīng)的WC磁軌信 息的指針。<WC磁軌信息表25>WC磁軌信息表25包括WC磁軌最近最少使用(LRU)信息表25a,用于通過使用LRU 的雙向連接列表來管理已存取WC磁軌信息的時(shí)間的排序;和WC磁軌空閑信息表25b,其管 理空閑WC磁軌信息數(shù)目。當(dāng)將數(shù)據(jù)從WC 21清空至NAND存儲器10時(shí),通過使用WC磁軌 LRU信息表2 獲取最早的已存取磁軌。WC磁軌信息對應(yīng)于在WC 21中存在的多個(gè)磁軌之一。
該WC磁軌信息包括以下內(nèi)容(1)在WC 21中存在的磁軌地址、磁軌中的WC 21上的有效簇的數(shù)目、指示每個(gè)簇 是否有效的信息、和WC中指示W(wǎng)C 21中的每個(gè)簇的位置的簇位置信息;(2)指示在一個(gè)簇中包括的多個(gè)扇區(qū)之間存儲有效數(shù)據(jù)的扇區(qū)的信息(扇區(qū)位 圖);以及(3)磁軌狀態(tài)信息(例如,有效、無效、在從ATA的數(shù)據(jù)傳送期間、和在NAND存儲器 中寫入期間)。在WC磁軌信息中,在存在有效簇的存儲位置處管理在自身磁軌中存在的簇 地址的LSB(t)比特;然而,管理簇地址的方法是任意的。例如,可管理在自身磁軌中存在的 簇地址的LSB(t)比特自身(參見圖6)。<WC高密度磁軌信息表沈>WC高密度磁軌信息表沈用于管理待寫入至MS 11中的高密度(磁軌中有效簇的 數(shù)目等于或大于特定百分比)磁軌信息,并且管理關(guān)于高密度磁軌及其數(shù)目的WC磁軌信息<WC低密度磁軌信息表27>WC低密度磁軌信息表27用于管理待寫入至FS 12中的低密度(磁軌中有效簇的數(shù)目小于特定百分比)磁軌信息,并且管理低密度磁軌的簇的總數(shù)?!创跑壉?0(前向查詢)>磁軌表30是用于從LBA的磁軌地址獲得磁軌信息的表。磁軌信息包括以下內(nèi)容(1)邏輯塊地址(指示在其中存儲磁軌的數(shù)據(jù)的邏輯塊的信息);(2)簇目錄數(shù)目(當(dāng)磁軌中的數(shù)據(jù)的至少一部分存儲于FS 12或IS 13中時(shí)變得 有效并且當(dāng)磁軌中的數(shù)據(jù)存儲于FS 12或IS 13中時(shí)指示針對每個(gè)磁軌而存在的簇目錄表 的表數(shù)目的信息);以及(3)FS/IS簇的數(shù)目(指示磁軌中存儲于FS 12或IS 13中的簇的數(shù)目并且用于確 定是否指向重組的信息)?!创啬夸洷?1(前向查詢)>簇目錄表31是用于在磁軌中的數(shù)據(jù)存儲于FS 12或IS 13中時(shí)追蹤邏輯塊的中 間表。針對每個(gè)磁軌提供簇目錄表31。登記于每個(gè)簇目錄表31中的簇目錄信息是由指示 簇表32的表數(shù)目的信息(簇表數(shù)目信息)的陣列組成。一條信息選自通過LBA的簇地址 的LSB(t)比特中的少量上部比特排列于一個(gè)簇目錄表31中的多條簇表數(shù)目信息中。簇目錄表31包括簇目錄LRU表31a,其用于通過使用LRU的雙向連接列表以寫 入時(shí)間作為參考來管理該簇目錄信息(簇表數(shù)目信息的陣列)以及相應(yīng)磁軌地址的時(shí)間排 序;以及簇目錄空閑信息表31b,其通過雙向連接列表來管理空閑簇目錄以及相應(yīng)磁軌地 址。〈簇表32(前向查詢)>簇表32是與簇目錄表31有關(guān)并且管理邏輯塊中的簇位置的表,當(dāng)將磁軌中的數(shù) 據(jù)存儲于FS 12或IS 13中時(shí)數(shù)據(jù)存儲于該簇位置處。經(jīng)由簇目錄表31間接地從磁軌表 30參考簇表32。簇表32實(shí)際上是針對多個(gè)簇的(邏輯塊地址+簇位置)的陣列。一條信 息選自通過LBA的簇位置的LSB(t)比特中的少許下部比特排列于一個(gè)簇表32中的(邏輯 塊地址+簇位置)的多條簇表數(shù)目信息。簇表32也在其中包括簇塊信息的數(shù)目和關(guān)于簇 位置的信息作為一個(gè)陣列。<簇塊信息表33 (反向查詢)>簇塊是邏輯塊之間以簇為單位存儲數(shù)據(jù)的塊。簇塊信息是用于管理FS12和IS 13 的邏輯塊的信息,并且指示存在于邏輯塊中的簇的類型。按FS12和IS 13中的FIFO的次 序來耦合多個(gè)簇塊信息作為雙向連接列表。簇塊信息包括以下內(nèi)容(1)邏輯塊地址;(2)有效簇的數(shù)目;以及C3)邏輯中包括的簇的LBA。簇塊信息表33包括用于管理空閑信息的簇塊信息表33a、針對FS 12的簇塊信息 表33b、以及針對IS 13的簇塊信息表33c。簇塊信息表33a管理未使用的簇塊信息,簇塊 信息表3 管理FS 12中包括的簇塊信息,以及簇塊信息表33c管理IS 13中包括的簇塊 信息。作為雙向連接列表來管理簇塊信息表33a至33c中的每個(gè)。反向查詢地址解譯的主 要用途為IS 13的緊縮。使用反向查詢地址解譯來檢查在作為緊縮目標(biāo)的邏輯塊中存儲的 簇的類型,以及將數(shù)據(jù)重寫至不同位置。因此,在本實(shí)施例中,反向查詢地址解譯僅將以簇為單位存儲數(shù)據(jù)的FS 12和IS 13用作目標(biāo)。<邏輯至物理解譯表40 (前向查詢)>邏輯至物理解譯表40是用于管理關(guān)于邏輯塊地址和物理塊地址之間的解譯及其 類似物的信息的表。對于每個(gè)邏輯塊地址,邏輯至物理解譯表40包括指示屬于邏輯塊的多 個(gè)物理塊地址的信息、指示邏輯塊地址的擦除次數(shù)的信息、以及關(guān)于簇塊信息數(shù)目的信息。 為了將某個(gè)LBA的數(shù)據(jù)重寫至不同位置,需要使原始簇塊中的LBA無效,從而需要從LBA追 蹤簇塊。因此,將簇塊信息的標(biāo)識符存儲在邏輯至物理解譯表40的邏輯塊的管理信息中。(快照和日志)通過每個(gè)管理表所管理的管理信息,可使主機(jī)中使用的LBA、SSD 100中使用的邏 輯NAND地址(邏輯塊地址+偏移)以及NAND存儲器10中使用的物理NAND地址(物理塊 地址+偏移)彼此關(guān)聯(lián),從而可執(zhí)行主機(jī)1與NAND存儲器10之間的數(shù)據(jù)交換。以上管理表中用于NAND存儲器管理的表(例如圖7中所示的磁軌表30、簇目錄表 31、簇表32、簇塊信息表33、和邏輯至物理解譯表40)存儲于非易失性NAND存儲器10的特 定區(qū)中。在啟動時(shí),將存儲于NAND存儲器10中的每個(gè)管理表加載至易失性RAM 20的工作 區(qū)(其由數(shù)據(jù)管理單元120使用)上,從而更新每個(gè)管理表。加載至DRAM 20的每個(gè)管理 表稱為主表。即使當(dāng)電源關(guān)閉時(shí),需要將主表恢復(fù)至電源關(guān)閉之前的狀態(tài),從而需要將主表 存儲在非易失性NAND存儲器10的系統(tǒng)??煺罩甘綨AND存儲器10上的整個(gè)非易失性管理 表。直接將加載至NAND存儲器10上的主表存儲于NAND存儲器中的操作也表示為“提取快 照”。日志指示管理表的改變差異。如果針對主表的每個(gè)更新獲取快照,則處理速度變慢, 并且NAND存儲器10中的寫入的次數(shù)增加,從而通常僅將作為改變差異的日志記錄在NAND 存儲器10中。在主表中反映日志并將其存儲在NAND存儲器10中的操作也稱為“提交”。圖8是示出在數(shù)據(jù)更新時(shí)的快照和日志的更新狀態(tài)的視圖。當(dāng)數(shù)據(jù)管理單元120 更新數(shù)據(jù)時(shí),將對主表進(jìn)行的改變累積于DRAM 20上的日志(以下為“DRAM日志”)中。依 據(jù)管理表的類型,直接更新主表,并將更新內(nèi)容累積于DRAM日志中,或在不直接改變主表 的情況下將更新內(nèi)容記錄于固定在DRAM日志上的改變區(qū)中。當(dāng)執(zhí)行數(shù)據(jù)讀出或數(shù)據(jù)寫入 時(shí),除了主表外,還參考累積的DRAM日志。在數(shù)據(jù)更新變穩(wěn)定之后,提交日志。在提交處理中,必要時(shí)在主表中反映DRAM日 志的內(nèi)容,并且進(jìn)一步將其存儲于NAND存儲器10中以使其為非易失性。在例如處于正常 斷電序列中以及用于日志的存儲區(qū)變得不足時(shí)的情況下,將快照存儲于NAND存儲器10中。 在完成將日志或快照寫入NAND存儲器10中時(shí),完成使管理表為非易失性的處理。例如,在 國際專利申請PCT/JP2009/052597中公開了用于以此方式使管理信息為非易失性的技術(shù), 并且其全部內(nèi)容合并在本申請中?!醋x取處理〉簡要地解釋讀取處理。當(dāng)從ATA命令處理單元121輸入讀取命令和作為讀出地址 的LBA時(shí),數(shù)據(jù)管理單元120搜遍RC管理表23和WC磁軌表M以檢查與該LBA對應(yīng)的數(shù) 據(jù)是否存在于WC 21或RC 22中。在高速緩存命中的情況下,數(shù)據(jù)管理單元120讀出WC 21 或RC 22的對應(yīng)于該LBA的數(shù)據(jù),并且將該數(shù)據(jù)發(fā)送至ATA命令處理單元121。如果在RC 22或WC 21中不存在命中,則數(shù)據(jù)管理單元120搜索作為搜索目標(biāo)的 數(shù)據(jù)存儲于NAND存儲器10的哪個(gè)部分中。如果數(shù)據(jù)存儲于MS 11上,則數(shù)據(jù)管理單元120追蹤LBA —磁軌表30 —邏輯至物理解譯表40,以獲得MS上的數(shù)據(jù)。另一方面,如果數(shù)據(jù)存 儲于FS 12或IS 13上,則數(shù)據(jù)管理單元120追蹤LBA —磁軌表30 —簇目錄表31 —簇表 32—邏輯至物理解譯表40,以獲得FS 12或IS 13上的數(shù)據(jù)?!磳懭霐?shù)據(jù)〉(WC21中的處理)接下來,根據(jù)圖9中所示的流程圖簡要地說明寫入處理。在寫入處理中,當(dāng)從ATA 命令處理單元121輸入寫入命令和作為寫入地址的LBA時(shí)(步驟S100),數(shù)據(jù)管理單元120 將由該LBA指定的數(shù)據(jù)寫入WC 21中。具體地,數(shù)據(jù)管理單元120判斷在WC 21中是否存 在對應(yīng)于寫入請求的空閑區(qū)(步驟Sl 10),并且在WC 21中存在空閑區(qū)時(shí)將由該LBA指定的 數(shù)據(jù)寫入WC中(步驟S150)。另一方面,當(dāng)WC 21不具有對應(yīng)于寫入請求的空閑區(qū)時(shí),數(shù)據(jù)管理單元120通過參 考用于DRAM管理的各種管理表來清空來自WC 21的數(shù)據(jù),以將其寫入NAND存儲器10中, 由此產(chǎn)生空閑區(qū)。具體地,數(shù)據(jù)管理單元120檢查磁軌中的有效簇的數(shù)目(步驟S120),確 定磁軌(其中磁軌中的有效簇的數(shù)目少于特定百分比)作為低密度磁軌,并且將其作為簇 大小的數(shù)據(jù)清空至作為清空目的地的FS 12(步驟S140)。當(dāng)清空目的地為FS12時(shí),以邏輯 頁為單位寫入次貴重的數(shù)據(jù)簇。在步驟S120的判斷中,當(dāng)判斷磁軌中的有效簇的數(shù)目等于或大于特定百分比時(shí), 這個(gè)磁軌倍確定為高密度磁軌,并且作為磁軌大小的數(shù)據(jù)倍清空至作為清空目的地的MS 11(步驟S130)。當(dāng)清空目的地為MS 11時(shí),將磁軌大小的數(shù)據(jù)直接寫入整個(gè)邏輯塊中。當(dāng) 存在多個(gè)作為寫入目標(biāo)的邏輯塊時(shí),通過使用雙倍速模式或存儲體交錯(cuò)來改善傳送效率。這樣,在WC 21中產(chǎn)生空閑區(qū)之后,將由LBA指定的數(shù)據(jù)寫入WC 21中(步驟 S150)。根據(jù)寫入WC 21中的數(shù)據(jù)或清空至NAND存儲器10的數(shù)據(jù)來更新用于DRAM管理的 各種管理表。(從 WC 21 至 MS 11 的寫入)接下來,根據(jù)圖10和圖11說明高密度磁軌的從WC 21至MS 11的寫入處理。圖 10為示出其操作過程的流程圖,以及圖11為示出其操作概念的示意圖。以如下的過程來執(zhí)行對MS 11的寫入。除了為清空目標(biāo)的高密度磁軌之外,數(shù)據(jù) 管理單元120可選擇可通過利用存儲體交錯(cuò)來對其并行執(zhí)行寫入的多個(gè)高密度磁軌。1.數(shù)據(jù)管理單元120在DRAM 20上產(chǎn)生磁軌的數(shù)據(jù)影像(填補(bǔ)處理)(步驟 S200)。具體地,從NAND存儲器10讀出不存在于WC 21中的簇和不保持WC 21中的所有扇 區(qū)的簇,以將其與WC 21中的數(shù)據(jù)整合。2.數(shù)據(jù)管理單元120固定來自MS 11的CFB的邏輯塊(磁軌塊)(步驟S210)。磁 軌塊為邏輯塊中以磁軌為單位在其中存儲數(shù)據(jù)的塊。3.數(shù)據(jù)管理單元120將步驟S200中產(chǎn)生的磁軌的數(shù)據(jù)影像寫入步驟S210中固定 的邏輯塊中(步驟S220)。4.數(shù)據(jù)管理單元120檢查來自該磁軌的LBA的磁軌信息,將該磁軌信息與對應(yīng)于 寫入的邏輯塊的邏輯塊地址關(guān)聯(lián),以及將其登記于用于NAND存儲器管理的所需表中(步驟 S230)。5.數(shù)據(jù)管理單元120使WC 21和NAND存儲器10中的舊數(shù)據(jù)無效(步驟S240)。具體地,數(shù)據(jù)管理單元120使WC 21中被清空至MS 11的高速緩存數(shù)據(jù)以及NAND存儲器10 中用于步驟S200的填補(bǔ)處理中的數(shù)據(jù)在管理表上從有效狀態(tài)變?yōu)闊o效狀態(tài),從而使其無 效。(從 WC 21 至 FS 12 的寫入)接下來,根據(jù)圖12和圖13說明低密度磁軌的從WC 21至MS 11的寫入處理。圖 12為示出其操作過程的流程圖,以及圖13為示出其操作概念的示意圖。向FS 12的寫入通過以下操作來執(zhí)行在DRAM 20上產(chǎn)生簇的數(shù)據(jù)影像(填補(bǔ)處 理)以及通過使用偽SLC模式在新固定的邏輯塊(簇塊)中以邏輯頁為單位執(zhí)行寫入。作 為待固定的邏輯塊,將具有能夠進(jìn)行寫入的等于或大于待寫入的數(shù)據(jù)影像的邏輯頁的FFB 優(yōu)先化。如果FFB不存在,則使用CFB。以如下過程來執(zhí)行FS 12中的寫入。用于將低密度磁軌的數(shù)據(jù)從WC 21寫入至FS 12的邏輯塊(簇塊)稱為FS輸入 緩沖器(FSIB)。除了為清空目標(biāo)的低密度磁軌之外,數(shù)據(jù)管理單元120可涉及其他低密度 磁軌,使得待寫入的簇?cái)?shù)據(jù)量與偽SLC模式的邏輯塊邊界一致。1.數(shù)據(jù)管理單元120判斷低密度磁軌中的從WC 21輸入的總數(shù)據(jù)量(步驟S300)。 當(dāng)所判斷的總數(shù)據(jù)量較小時(shí)(即,當(dāng)有效簇的數(shù)目小于特定閾值時(shí)),數(shù)據(jù)管理單元120將 其中可寫入數(shù)據(jù)的FFB固定為FSIB(步驟S310)。2.當(dāng)數(shù)據(jù)管理單元120判斷低密度磁軌中的從WC 21輸入的總數(shù)據(jù)量較大時(shí) (即,當(dāng)有效簇的數(shù)目等于或大于特定閾值時(shí)),數(shù)據(jù)管理單元120將CFB固定為FSIB (步 驟S320)。此時(shí),將能夠并行寫入數(shù)據(jù)的多個(gè)邏輯塊固定為FSIB。3.數(shù)據(jù)管理單元120產(chǎn)生待寫入DRAM 20上的簇的數(shù)據(jù)影像(步驟S330)。具體 地,對于不保持WC 21中的所有扇區(qū)的簇,數(shù)據(jù)管理單元120從NAND存儲器10讀出不存在 于WC 21上的扇區(qū)的數(shù)據(jù),以將其與WC 21上的扇區(qū)的數(shù)據(jù)整合。4.數(shù)據(jù)管理單元120將WC 21上的簇以及工作區(qū)上所產(chǎn)生的簇影像寫入FSIB中 (步驟 S340)。5.數(shù)據(jù)管理單元120將這個(gè)FSIB上的簇塊信息添加至針對FS的簇塊信息表 33b (步驟 S350)。6.數(shù)據(jù)管理單元120將低密度磁軌上的寫入至FSIB中的簇目錄信息與對應(yīng)磁軌 地址重新插入至簇目錄LRU表31a的末端(步驟S360)。(從FS12至IS 13的重新定位)接下來,根據(jù)圖14和圖15說明從FS 12至IS 13的數(shù)據(jù)重新定位。圖14為示出 其操作過程的流程圖,以及圖15為示出其操作概念的示意圖。數(shù)據(jù)管理單元120判斷在FS 12的管理下邏輯塊的數(shù)目是否超過邏輯塊的特定最 大數(shù)目(步驟S400)。如圖15所示,當(dāng)在FS 12的管理下邏輯塊的數(shù)目超過邏輯塊的特定 最大數(shù)目時(shí),數(shù)據(jù)管理單元120將從FS 12溢出的邏輯塊直接重新定位至IS 13。在本實(shí)施 例中,F(xiàn)S 12是由偽SLC模式的多個(gè)邏輯塊組成,并且偽SLC模式的邏輯塊是從FS 12直接 重新定位至IS 13。根據(jù)溢出邏輯塊中有效簇的數(shù)目及其類似物通過如下規(guī)則來確定一處 理單位中待重新定位的邏輯塊的數(shù)目(步驟S410)。從FS 12的最早邏輯塊添加經(jīng)重新定位的邏輯塊,從而溢出邏輯塊中的簇的總數(shù) 目變得接近于MLC模式的邏輯塊的邊界(即,接近于一個(gè)邏輯塊的簇的數(shù)目Ot)或其倍數(shù)(m Χ2、πι為自然數(shù)))。例如,當(dāng)溢出邏輯塊中的簇的數(shù)目為21與2"之間的值時(shí),作為重 新定位目標(biāo)的邏輯塊的數(shù)目增加,從而簇的數(shù)目接近于2t+1 (包括2t+1)。使得簇的數(shù)目接近 于MLC模式的一個(gè)邏輯塊的邊界,以在緊縮之后在邏輯塊中容納盡可能多的有效簇。當(dāng)簇的數(shù)目超過可同時(shí)在IS 13中經(jīng)過緊縮的簇的數(shù)目ζ時(shí),設(shè)定邏輯塊的數(shù)目, 使得簇的數(shù)目等于或小于這個(gè)簇的數(shù)目ζ。將上限設(shè)置為在一個(gè)處理中待重新定位的邏輯塊的數(shù)目。設(shè)定這個(gè)極限,用于防 止在IS 13的管理下邏輯塊的數(shù)目的臨時(shí)增加。將由此確定為重新定位目標(biāo)的邏輯塊從FS 12重新定位至IS 13(步驟S420)。(IS 13中的緊縮和重組)接下來,根據(jù)圖16中所示的流程圖說明IS 13中的緊縮處理和重組處理。數(shù)據(jù)管理單元120判斷在IS 13的管理下邏輯塊的數(shù)目是否超過邏輯塊的特定最 大數(shù)目(步驟S500)。當(dāng)在IS 13的管理下邏輯塊的數(shù)目超過邏輯塊的特定最大數(shù)目時(shí), 數(shù)據(jù)管理單元120執(zhí)行對MS 11的數(shù)據(jù)重新定位(重組處理)以及緊縮處理,以抑制在IS 13的管理下邏輯塊的數(shù)目使其等于或小于邏輯塊的最大數(shù)目(步驟S510)。當(dāng)數(shù)據(jù)擦除單 位(邏輯塊)與數(shù)據(jù)管理單位(簇)不同時(shí),根據(jù)NAND存儲器10的重寫的進(jìn)程,無效數(shù)據(jù) 使邏輯塊為多孔的(porous)。當(dāng)處于該多孔狀態(tài)的邏輯塊增加時(shí),實(shí)質(zhì)上可用的邏輯塊減 少,并且無法有效地使用NAND存儲器10的存儲區(qū)。因此,執(zhí)行用于收集有效簇并將其重寫 在不同邏輯塊中的稱為緊縮的處理。重組處理是將FS 12和IS 13的簇的整合至磁軌中并 將其清空至MSll的處理。隨后,更詳細(xì)地說明這個(gè)實(shí)施例的基本部分。在以上SSD中,將WC21提供于DRAM 20上作為隨機(jī)可存取高速存儲器,并且在將數(shù)據(jù)臨時(shí)存儲于WC 21中之后將數(shù)據(jù)寫入NAND 存儲器10中,因?yàn)閷AND存儲器10的寫入耗費(fèi)時(shí)間,存在對寫入次數(shù)的限制,寫入單元的 大小是固定的,及其類似者。此外,如上所述,對于WC 21中的數(shù)據(jù),執(zhí)行存儲單元的切換控 制,以將大數(shù)據(jù)(高密度磁軌)寫入至MS 11并且將小數(shù)據(jù)(低密度磁軌)寫入至FS 12, 從而減少對NAND存儲器10的寫入的次數(shù)(擦除次數(shù))。此外,當(dāng)將數(shù)據(jù)寫入NAND存儲器10中并且每個(gè)存儲單元中的資源(例如容量和 管理表的項(xiàng)目的數(shù)目)變得不足時(shí),執(zhí)行NAND存儲器10的組織(例如緊縮和重組),以固 定每個(gè)存儲單元的資源。以類似方式,對于WC 21,如上所述,當(dāng)資源(例如數(shù)據(jù)存儲區(qū)域 和管理表的項(xiàng)目的數(shù)目)超過限制時(shí),將數(shù)據(jù)清空至NAND存儲器10以固定WC 21的資源。 此時(shí)經(jīng)常用作清空條件的條件是固定WC 21中的空閑資源使其對于從主機(jī)1的下一次寫入 而言為充足的條件。在這個(gè)條件下,通過能夠總是接收到從主機(jī)1至WC 21的寫入來改善 對單寫入命令的響應(yīng);然而,當(dāng)不進(jìn)行NAND存儲器10的組織且耗費(fèi)時(shí)間對NAND存儲器10 進(jìn)行寫入時(shí),對后續(xù)寫入命令的響應(yīng)降低。因此,在本實(shí)施例中,設(shè)置一閾值(自動清空(AF)閾值),用于提早地執(zhí)行從WC 21至NAND存儲器10的清空。當(dāng)已充分地執(zhí)行NAND存儲器10中的組織(例如緊縮和充 足)時(shí),通過提早地將數(shù)據(jù)從WC 21清空至NAND存儲器10而提早地開始NAND存儲器10 中的組織,由此可高速地執(zhí)行從WC 21的后續(xù)清空。因此,可固定WC 21的許多資源(例如 存儲器區(qū)域和管理表的項(xiàng)目),從而改善對后續(xù)寫入命令的響應(yīng)。以下詳細(xì)說明WC 21中的清空處理。首先,參照圖17更詳細(xì)地說明WC 21的管理結(jié)構(gòu)。在本實(shí)施例中,如圖1所示,NAND存儲器10的并行操作元件IOa至IOd中的每個(gè)包 括能夠執(zhí)行存儲體交錯(cuò)的4個(gè)存儲體(存儲體0至存儲體幻。每個(gè)存儲器芯片包括能夠執(zhí) 行并行操作的兩個(gè)面面0和面1。在本實(shí)施例中,如圖17中所示地執(zhí)行NAND存儲器10的存儲體/面至LBA的分配。 具體地,將面(P)分配給LBA的磁軌地址的LSB的第一比特,以及將存儲體(B)分配給LBA 的磁軌地址的LSB的第二和第三比特。當(dāng)通過兩個(gè)芯片來配置每個(gè)存儲體時(shí),將芯片(C) 分配給LSB的第四比特。不言而喻,LBA的磁軌地址中分配給面⑵的比特的數(shù)目、分配給存儲體⑶的比 特的姆、和分配給芯片(C)的比特的數(shù)目不限于此,并且可根據(jù)NAND存儲器10中的面、存 儲體和芯片的數(shù)目適當(dāng)改變。在本實(shí)施例中,對LBA的這個(gè)磁軌地址的面/存儲體/芯片分配僅用于對NAND存 儲器10中的MS的寫入。在這種情況下,在大小為大的數(shù)據(jù)的連續(xù)寫入中可最大程度地利 用并行寫入。在對FS 12和IS 13的寫入中,可以以類似方式執(zhí)行對LBA的磁軌地址的面/存 儲體/芯片分配,或?qū)τ贔S 12、IS 13和MS 11中的任一個(gè),可不執(zhí)行對LBA的磁軌地址的 面/存儲體/芯片分配。當(dāng)不執(zhí)行對LBA的磁軌地址的面/存儲體/芯片分配時(shí),根據(jù)邏 輯塊的使用狀態(tài)來動態(tài)地執(zhí)行該分配。如上所述,WC磁軌表M是例如用以從LBA查詢關(guān)于在WC 21上存儲的數(shù)據(jù)的WC 磁軌信息的散列表,并且包括針對g條索引中每個(gè)的η(路)條項(xiàng)目(標(biāo)簽),所述索引中的 每個(gè)是LSB的幾個(gè)比特,所述比特包括LBA的磁軌地址的面/存儲體分配比特(P,B)。每 個(gè)標(biāo)簽在其中存儲LBA的磁軌地址和指向與磁軌地址相應(yīng)的WC磁軌信息的指針。因此,可 在WC 21中高速緩存(gXn)條不同磁軌。與WC磁軌表M的更新相應(yīng)地來對針對WC磁軌 表M的每個(gè)索引的空閑項(xiàng)目的數(shù)目(或已使用項(xiàng)目的數(shù)目)α 1進(jìn)行計(jì)數(shù),并且空閑項(xiàng)目 的這些數(shù)目α 1編程用以觸發(fā)WC 21的清空的一個(gè)參數(shù)(WC資源使用)。如圖18所示,WC磁軌信息表25包括WC磁軌LRU信息表25a,用于例如通過使用 LRU的雙向連接列表管理WC磁軌信息;和WC磁軌空閑信息表25b,其管理空閑WC磁軌信 息,例如作為雙向連接列表。如上所述,WC磁軌信息包括以下內(nèi)容(1)指示在WC 21中存在的磁軌中有效簇的數(shù)目的信息和指示全滿簇的數(shù)目(均 充滿扇區(qū)數(shù)據(jù)的簇的數(shù)目)的信息;(2)基于簇內(nèi)偏移(其為LBA的LSB側(cè)上的幾個(gè)比特(s個(gè)比特))產(chǎn)生的并且指 示在一個(gè)簇中包括的多個(gè)扇區(qū)之間在其中存儲有效數(shù)據(jù)的扇區(qū)的信息(扇區(qū)位圖);(3)磁軌狀態(tài)信息(例如有效、無效、在從ATA的數(shù)據(jù)傳送期間、以及在NAND存儲 器中的寫入期間);(4)用于識別全零數(shù)據(jù)是否包括在磁軌單元中的信息;以及(5)簇位置信息(如圖17和18所示,具有與作為索引的LBA的磁軌內(nèi)簇索引(t 個(gè)比特)相應(yīng)的簇區(qū)域數(shù)目的Ot-I)條簇區(qū)域被固定,并且在每個(gè)簇區(qū)域中存儲指示W(wǎng)C 21中存在簇?cái)?shù)據(jù)的位置的簇位置信息。在簇區(qū)域數(shù)目相應(yīng)于空閑簇的簇區(qū)域中,存儲無效 值。)
在WC 21中,如上所述,可在WC 21中高速緩存多達(dá)(gXn)條不同磁軌,并且通過 WC磁軌LRU信息表2 來管理用于WC 21中的磁軌上的信息。另一方面,WC磁軌空閑信息 表2 對于能夠在WC 21中高速緩存的磁軌的最大數(shù)目(gXn)來管理空閑WC磁軌信息。 當(dāng)在WC磁軌LRU信息表25a中登記的WC磁軌信息的數(shù)目為d時(shí),WC磁軌空閑信息表2 管理((gXn)-d)條空閑WC磁軌信息。當(dāng)開始管理新磁軌時(shí),為WC磁軌空閑信息表2 準(zhǔn) 備的WC磁軌信息用于固定WC 21中的WC磁軌LRU信息表25a中使用的WC磁軌信息的區(qū) 域,并且存儲圖18中所示的各種信息。換句話說,當(dāng)需要在WC 21中管理新的磁軌信息時(shí), 固定來自WC磁軌空閑信息表25b的一條磁軌信息,并且將所需信息存儲在經(jīng)固定的WC磁 軌信息中以重新連接至WC磁軌LRU信息表25a的連結(jié)。例如與新固定的WC磁軌信息相應(yīng) 的磁軌地址的信息及其類似者登記于WC磁軌表M中,并且在高密度磁軌的情況下也登記 于圖19中所示的WC高密度磁軌信息表沈中。每當(dāng)固定來自WC磁軌空閑信息表2 的新WC磁軌信息時(shí)(每當(dāng)從圖18中所示的 WC磁軌空閑信息表2 移除WC磁軌信息的一個(gè)列表時(shí)),空閑WC磁軌信息的數(shù)目α 2 (其 指示圖18中所示的WC 21中空閑WC磁軌信息的數(shù)目)減少一(-1),并且每當(dāng)WC磁軌LRU 信息表2 中登記的WC磁軌信息由于從WC 21至NAND存儲器10的清空的發(fā)生或其類似者 而被釋放并返回至WC磁軌空閑信息表25b,空閑WC磁軌信息的數(shù)目α 2增加一(+1)。不 言而喻,可管理WC 21中使用的WC磁軌信息的數(shù)目,來替代空閑WC磁軌信息的數(shù)目α2。 空閑WC磁軌信息的數(shù)目α2(或WC 21中使用的WC磁軌信息的數(shù)目)變成用以觸發(fā)WC 21 的清空的一個(gè)參數(shù)(WC資源使用)。圖17中所示的WC簇區(qū)域管理表四用于管理每個(gè)磁軌中的空閑簇區(qū)域,并且通過 FIFO結(jié)構(gòu)、雙向連接列表或類似者管理空閑簇區(qū)域數(shù)目。此外,通過WC簇區(qū)域管理表四管 理空閑簇區(qū)域的總數(shù)目。已使用的簇區(qū)域的數(shù)目的最大值相應(yīng)于WC 21的高速緩存容量。 例如,在32MB的WC 21的情況下,已使用的簇區(qū)域的數(shù)目的最大值為與32MB相應(yīng)的簇的數(shù) 目。空閑簇區(qū)域的總數(shù)目為0時(shí)的情況相應(yīng)于已使用的簇區(qū)域的數(shù)目的最大值。空閑簇區(qū) 域(或已使用的簇區(qū)域)的總數(shù)目α3變成用以觸發(fā)WC21的清空的一個(gè)參數(shù)(WC資源使 用)。圖19示出WC高密度磁軌信息表26。WC高密度磁軌信息表沈是以LBA的磁軌地 址的存儲體號碼(B)作為索引管理待寫入MS 11中的在具有大量有效簇的高密度磁軌上的 磁軌信息的散列表,并且包括針對每個(gè)索引的m條項(xiàng)目(路)。針對每個(gè)存儲體(必定可對 其并行地執(zhí)行寫入)管理WC 21上的高密度磁軌,從而當(dāng)執(zhí)行從WC 21至MS 11的情況時(shí) 進(jìn)行磁軌搜索所需的時(shí)間可縮短。此外,在每個(gè)存儲體中通過WC高密度磁軌信息表沈?qū)?待寫入MS 11中的的數(shù)目調(diào)節(jié)為至多值m,從而可抑制從WC 21至NAND存儲器10的最大清 空次數(shù)。在WC高密度磁軌信息表沈中的同一索引中,可能存在在可變雙倍速模式下對其 執(zhí)行寫入的磁軌(面0和1)。通過對WC高密度磁軌信息表沈中的項(xiàng)目的數(shù)目進(jìn)行計(jì)數(shù) 來針對每個(gè)存儲體號碼管理高密度磁軌信息的數(shù)目。每個(gè)存儲體的高密度磁軌信息的數(shù)目 α 4變成用以觸發(fā)WC 21的清空的一個(gè)參數(shù)(WC資源使用)。WC低密度磁軌信息表27 (參見圖7)用于管理待寫入FS 12中的低密度磁軌信息, 以及管理低密度磁軌的簇的數(shù)目的總和值。低密度磁軌的簇?cái)?shù)目的總和值α5變成用以觸 發(fā)WC 21的清空的一個(gè)參數(shù)(WC資源使用)。
圖20是示出用以觸發(fā)WC 21的清空的多個(gè)參數(shù)(WC資源使用)和兩個(gè)閾值(AF 閾值Caf和上限Clmt)之間的視圖。如圖20所示,如上所述,以觸發(fā)WC 21的清空的參數(shù) 包括以下內(nèi)容WC簇區(qū)域(空閑簇區(qū)域的總數(shù)目)α3每個(gè)存儲體的高密度磁軌信息的數(shù)目α4(針對MS的磁軌的數(shù)目α 4)低密度磁軌的簇?cái)?shù)目的總和值α 5 (針對FS的簇的數(shù)目α 5或針對FS的簇?cái)?shù)據(jù) 量α 5)WC磁軌信息的數(shù)目(空閑WC磁軌信息的數(shù)目)α 2針對WC磁軌表的每個(gè)索引的已使用項(xiàng)目的數(shù)目(或空閑項(xiàng)目的數(shù)目)α 滿磁軌的數(shù)目α 6用以觸發(fā)WC 21的情況的參數(shù)α 1至α 6還稱為WC資源使用。滿磁軌的數(shù)目α 6是均充滿扇區(qū)和簇的磁軌的數(shù)目。換句話說,滿磁軌是WC磁軌 信息中的滿簇的數(shù)目變?yōu)?t(這是簇區(qū)域數(shù)目的數(shù)字)的磁軌。數(shù)據(jù)管理單元120包括專 用計(jì)數(shù)器(未示出),用于對滿磁軌的數(shù)目進(jìn)行計(jì)數(shù)。在參數(shù)α 1至α 6中的每個(gè),設(shè)置用于WC 21的清空處理的兩個(gè)閾值(AF閾值Caf 和上限Clmt)。在圖20中,針對參數(shù)α 至α 6中的每個(gè)設(shè)置的最大值max指示參數(shù)α 至α 6中的每個(gè)可采用的實(shí)質(zhì)上的最大值,并且基本上不具有作為用以觸發(fā)WC 21的清空 的閾值的意義。上限Clmt是指示在參數(shù)α 1至α 6變得等于或大于這個(gè)值時(shí)不能夠接收到下一 寫入請求的可能性的閾值。在超過上限Clmt的情況下,可使得來自主機(jī)1的寫入請求包括 等待。因此,可將上限Clmt看作使來自主機(jī)1的下一寫入請求保持等待的閾值。如果在由 于參數(shù)α 1至α 6中的任一個(gè)超過上限Clmt而使下一寫入請求保持等待時(shí)完成NAND存 儲器10的組織,則將數(shù)據(jù)從WC 21清空至NAND存儲器10以使參數(shù)等于或小于上限Clmt。 當(dāng)所以參數(shù)α 至α 6變得等于或小于上限Clmt時(shí),接收來自主機(jī)1的下一寫入請求。如 果在由于參數(shù)α 1至α 6中的任一個(gè)超過上限Clmt而使下一寫入請求保持等待時(shí)未完成 NAND存儲器10的組織,則將NAND存儲器10的組織優(yōu)先化,并且不執(zhí)行到NAND存儲器10 的清空。在完成NAND存儲器10的組織之后,將數(shù)據(jù)從WC 21清空至NAND存儲器10以使 參數(shù)等于或小于上限Clmt。之后,接收來自主機(jī)1的下一寫入請求。AF閾值Caf是用于執(zhí)行自動清空處理的閾值。不管來自主機(jī)1的清空命令而執(zhí)行 自動清空處理,并且其為通過數(shù)據(jù)管理單一 120根據(jù)狀態(tài)進(jìn)行的判斷來將WC的數(shù)據(jù)的一部 分或全部清空至NAND存儲器10的處理。自動清空處理是在完成來自主機(jī)1的寫入命令之 后執(zhí)行并且用于通過預(yù)先在WC 21中產(chǎn)生某一空閑空間而全面改進(jìn)寫入性能的處理。當(dāng)參 數(shù)α 至α6中的任一個(gè)變得等于或大于AF閾值Caf時(shí),執(zhí)行自動清空處理以提早地將數(shù) 據(jù)從WC 21清空至NAND存儲器10。因此,通常滿足AF閾值Caf <上限Clmt <最大值max 的關(guān)系。當(dāng)參數(shù)α 1至α 6中的任一個(gè)超過Afar閾值Caf時(shí),檢查NAND存儲器10的組織 狀態(tài),并且在完成NAND存儲器10的組織時(shí)執(zhí)行自動清空處理。即使在參數(shù)α 1至α 6中 的任一個(gè)超過AF閾值Caf時(shí),如果沒有完成NAND存儲器10的組織,則將NAND存儲器10 的組織優(yōu)先化,因?yàn)閃C 21仍未處于無法使來自主機(jī)1的寫入請求保持等待的狀態(tài)。接下來,針對參數(shù)α 至α 6中的每個(gè)來說明最大值max、上限Clmt和AF閾值Caf。作為WC簇區(qū)域(空閑簇區(qū)域的總數(shù)目)α3的最大值max的值Z是WC 21的容 量。當(dāng)WC 21具有32MB的容量時(shí),Z = 32MB。將WC簇區(qū)域(空閑簇區(qū)域的總數(shù)目)α 3的 AF閾值Caf例如設(shè)置為Ζ/2,其為最大值max的一半。考慮從主機(jī)1的單數(shù)據(jù)傳送大小來 判斷α 3的上限Clmt。例如,將α 3的上限Clmt設(shè)置為值Z的約7/8至15/16。WC磁軌信息的數(shù)目α 2的最大值max是WC磁軌表M的項(xiàng)目的總數(shù)目,并且在這 個(gè)情況下是(gXn)。將α2的AF閾值Caf例如設(shè)置為(g Xn)/2,其為最大值max的一 半。雖然在圖20中沒有設(shè)置WC磁軌信息的數(shù)目α 2的上限Clmt,但可將其設(shè)置為小于(g Xn)且大于(g Xn)/2的適當(dāng)值。針對WC磁軌表的每個(gè)索引的已使用項(xiàng)目的數(shù)目α 1的最大值max是值n(見圖 17)。雖然在圖20中沒有設(shè)置α 的AF閾值Caf,但可例如將其設(shè)置為約η/2,其為最大值 max的一半。將α 1的上限Clmt設(shè)置為一個(gè)剩余值(僅WC磁軌表M的最后項(xiàng)目(路)剩 余的狀態(tài))。對于滿磁軌的數(shù)目α 6,僅設(shè)置AF閾值Caf ( = y)。即使在滿磁軌的數(shù)目α 6增 加時(shí),如果其他參數(shù)空閑,則仍有可能對來自主機(jī)的下一寫入請求響應(yīng),從而不設(shè)置滿磁軌 的數(shù)目α 6的上限Clmt。接下來,針對MS的磁軌數(shù)目α 4 (針對每個(gè)存儲體)的最大值max是m,其為圖19 中所示的WC高密度磁軌信息表沈的項(xiàng)目(路)的數(shù)目??紤]處理清空命令(其作為將WC 21的所有數(shù)據(jù)清空至NAND存儲器10的指令)所需的時(shí)間來確定數(shù)值m。此外,針對FS的 簇的數(shù)目α 5(到FS的簇?cái)?shù)據(jù)流α幻的最大值Q是待清空至FS 12的低密度磁軌的簇的 數(shù)目(或簇?cái)?shù)據(jù)量)的總和值的最大值。還考慮處理清空命令所需的時(shí)間、NAND存儲器10 的端上的資源使用(通過抑制對FS 12的寫入來抑制用于FS 12和IS 13的塊的數(shù)目和針 對FS 12和IS 13的管理表量的增加)及其類似者來確定數(shù)值Q。當(dāng)執(zhí)行清空命令時(shí),需要 將高密度磁軌清空至MS 11,并且需要將低密度磁軌清空至FS 12。如上所述,在本實(shí)施例中,磁軌的大小等于邏輯塊的大小。邏輯塊是通過組合NAND 存儲器10的芯片上的多個(gè)物理塊構(gòu)成的虛擬塊。在本實(shí)施例中,邏輯塊是使圖1中所示的 4個(gè)并行操作元件IOa至IOd中的每個(gè)物理塊執(zhí)行一次4通道并行操作的單元。在圖19所 示的WC高密度磁軌信息表沈中,磁軌地址登記于一個(gè)存儲體的一個(gè)項(xiàng)目中,并且一個(gè)存儲 體的一個(gè)磁軌的清空相應(yīng)于將一個(gè)邏輯塊寫入NAND存儲器10中(確切地,寫入MS 11中, 因?yàn)樵摯跑壥歉呙芏却跑?一次。另一方面,在這個(gè)實(shí)施例中,F(xiàn)S 12在偽SLC模式下操作,并且FS 12中的邏輯塊 大小是在四元MLC模式下操作的MS 11中的邏輯塊的大小的一半。然而,在偽SLC模式下 的寫入比MLC模式快幾倍。清空命令處理所需的時(shí)間Tfl是以下內(nèi)容的總數(shù)將高密度磁軌清空至MS 11所 需的時(shí)間Ta、將低密度磁軌清空至FS 12所需的時(shí)間Tb、和其他處理(例如日志的寫入處 理)所需的時(shí)間Tc(固定值)。換句話說,滿足關(guān)系Tfl = Ta+Tb+Tc。假設(shè)使用以4個(gè)存 儲體進(jìn)行的存儲體交錯(cuò)的清空,將高密度磁軌清空至MS 11所需的時(shí)間Ta是4X (單次寫 入所需的時(shí)間(固定值))X(寫入的次數(shù)(ul))。將低密度磁軌清空至FS 12所需的時(shí)間 Tb是(單次寫入所需的時(shí)間(固定值))X(寫入的次數(shù)(u2))。為了將清空命令處理所需的時(shí)間Tfl抑制在清空命令處理所需的特定最差(最大)時(shí)間內(nèi),可通過以下方程式獲得 寫入的次數(shù)Ul和u2 (在這個(gè)情況下,例如ul = u2)TflmaX(固定值)=Ta( = 4X (單次寫入所需的時(shí)間(固定值))X (寫入的次數(shù) (ul)))+Tb(=(單次寫入所需的時(shí)間(固定值))X(寫入的次數(shù)(u2)))+Tc (固定值)以這個(gè)方式獲得的Ul為值m,作為針對MS的磁軌的數(shù)目α 4 (針對每個(gè)存儲體) 的最大值max。以這個(gè)方式確定WC高密度磁軌信息表沈的路的數(shù)目m。此外,因?yàn)檫€確定 了針對FS 12的寫入次數(shù)u2(其滿足關(guān)于清空命令處理的最差時(shí)間Tflmax),所以可通過獲 得值((針對FS 12的邏輯塊的單次寫入大小)X (寫入次數(shù)u2))來獲得作為針對FS的簇 數(shù)據(jù)量α 5的最大值max的值Q(MB)。將針對MS的磁軌的數(shù)目α 4 (針對每個(gè)存儲體)的AF閾值Caf例如設(shè)置為m/2, 其為最大值m的一半。當(dāng)將α4的AF閾值Caf設(shè)置為m/2時(shí),可在自動清空處理中執(zhí)行雙 緩沖方式的并行處理,所述并行處理在將4個(gè)磁軌寫入至MS 11的同時(shí)將來自主機(jī)1的4 個(gè)剩余磁軌寫入WC 21。將α 4的上限Clmt例如設(shè)置為值m的約6/8至7/8??紤]能夠在 不將數(shù)據(jù)清空至NAND存儲器10的情況下,通過防止剩余區(qū)域達(dá)到最大值max而接收下一 寫入請求的量(即從主機(jī)設(shè)備的單數(shù)據(jù)傳送大小)來設(shè)置上限Clmt。將針對FS的簇的數(shù)目α 5 (針對FS的簇?cái)?shù)據(jù)量α 5)的AF閾值Caf例如設(shè)置為 約Q/4,其為最大值Q的1/4。例如,Q/4是這樣的值,如果在FS 12中并行執(zhí)行寫入則通過 該值可獲得類似于從主機(jī)1向WC 21的寫入數(shù)據(jù)的速度。將α 5的上限Clmt例如設(shè)置為 值Q的約6/8至7/8。以類似于α 4的方式,考慮能夠在不將數(shù)據(jù)清空至NAND存儲器的情 況下,通過防止剩余區(qū)域達(dá)到最大值max而接收下一寫入請求的量(即從主機(jī)設(shè)備的單數(shù) 據(jù)傳送大小)來設(shè)置α 5的上限Clmt。圖21是示出根據(jù)本實(shí)施例的基本部分的功能配置的框圖。如上所述,NAND存儲 器10包括用戶數(shù)據(jù)存儲單元,其包括在其中存儲用戶數(shù)據(jù)的MS IUFS 12和IS 13。WC 21 包括在DRAM 20中。作為數(shù)據(jù)管理單元的控制器120包括WC寫入控制單元210,其執(zhí)行對 將數(shù)據(jù)從主機(jī)1寫入WC 21的控制;WC清空控制單元211,其執(zhí)行對將數(shù)據(jù)從WC 21清空至 NAND存儲器10的控制;NAND寫入控制單元213,其執(zhí)行對將從WC 21清空的數(shù)據(jù)寫入控制 單元213 ;和NAND組織單元22,其執(zhí)行NAND存儲器10中的邏輯塊的組織(例如緊縮、重 組、從FS 12至IS 13的數(shù)據(jù)重新定位)。NAND組織單元212順序地將指示NAND存儲器10 中的組織處理的狀態(tài)的NAND組織狀態(tài)信號(指示組織處理當(dāng)前處于執(zhí)行中或已完成的信 號)發(fā)送至WC寫入控制單元210和WC清空控制單元211。WC寫入控制單元210和WC清 空控制單元211基于該NAND組織狀態(tài)信號來判斷NAND存儲器10中的塊組織狀態(tài)。(NAND存儲器的組織)說明NAND組織單元212執(zhí)行的NAND存儲器10的組織。NAND存儲器10的組織包 括緊縮/重組處理,其用于使IS 13的管理下的邏輯塊的數(shù)目等于或小于特定閾值;重組 處理,其用于使NAND管理表(例如簇目錄表31和簇表32)的項(xiàng)目的數(shù)目等于或小于特定 閾值;并且從FS 12向IS 13的數(shù)據(jù)重新定位。在組織NAND存儲器10時(shí)考慮的參數(shù)(例如IS 13的管理下的邏輯塊的數(shù)目和 NAND管理表的項(xiàng)目的數(shù)目)共同地稱為NAND資源使用。當(dāng)每個(gè)NAND資源使用超過閾值 時(shí),NAND組織單元212執(zhí)行NAND存儲器10的組織,并且將指示該處理處于執(zhí)行中的NAND組織狀態(tài)信號發(fā)送至WC寫入控制單元210和WC清空控制單元211。(緊縮)緊縮處理是在IS 13中執(zhí)行的處理。在緊縮處理中,當(dāng)IS 13的管理下的邏輯塊 的數(shù)目超過特定閾值時(shí),收集最新的有效簇?cái)?shù)據(jù),以將其重寫至不同邏輯塊中,并且釋放無 效簇。在本實(shí)施例中,因?yàn)榇跑壍拇笮∨c邏輯塊的大小相同,所以在MS 11中不發(fā)生緊縮; 然而,如果磁軌的大小與邏輯塊的大小不同,則甚至在MS 11中發(fā)生緊縮。在這個(gè)情況下, 需要執(zhí)行包括MS 11中的緊縮的對NAND存儲器10的組織。(重組)重組處理是這樣的處理在IS 13的管理下的邏輯塊的數(shù)目超過特定閾值(邏輯 塊的最大數(shù)目)時(shí)或在用于管理FS 12和IS 13的表(例如簇目錄表31和簇表32)的項(xiàng) 目的數(shù)目超過特定閾值時(shí),選擇IS 13中的有效簇以將其整合至磁軌中,并且將其清空至 MS 11。當(dāng)將IS 13中的有效簇整合至磁軌中時(shí),將FS 12和MS 11中的的包括在相同磁軌 中的有效數(shù)據(jù)讀出至DRAM 20上,并且生成磁軌的數(shù)據(jù)映像。接下來,說明包括到NAND存儲器10的清空的在WC 21中的寫入處理。在WC 21 中,將WC 21上的數(shù)據(jù)清空至NAND存儲器10,從而除了資源使用通過寫入命令臨時(shí)地超過 該上限Clmt的清空之外,WC 21的所有資源使用總是等于或小于上限Clmt。此外,除了使 來自主機(jī)1的請求保護(hù)等待的清空之外,繼續(xù)清空直到WC資源使用變得等于或小于AF閾 值Caf為止。具體地,執(zhí)行如下所述的控制。(在WC資源使用>上限Clmt的情況下)首先,參照圖22所示的流程圖說明在完成從主機(jī)1至WC 21的數(shù)據(jù)寫入之后當(dāng)WC 資源使用超過上限Clmt時(shí)的處理。在完成從主機(jī)1的數(shù)據(jù)寫入(步驟S600)之后,WC清空 控制單元211判斷WC資源使用α 1至α 6的狀態(tài)。當(dāng)WC資源使用α 1至α 6中的任一個(gè) 超過上限Clmt (步驟S610為是)并且下一寫入請求尚未從主機(jī)1到來(步驟S620為否) 時(shí),執(zhí)行如下所述的處理。WC清空控制單元211通過NAND組織狀態(tài)信號檢查NAND存儲器 10的組織狀態(tài)(步驟S630)。當(dāng)完成NAND存儲器10的組織時(shí),WC清空控制單元211將WC 的數(shù)據(jù)(其作為促使超過上限Clmt的因素)清空至MS 11和FS 12中的任一個(gè)或兩者,以 將所有WC資源使用α 至α 6設(shè)置為等于或小于上限Clmt (步驟S640)。例如,通過優(yōu)先 地從最舊磁軌按LRU的次序進(jìn)行選擇或在優(yōu)先化用于抑制WC資源使用以使其等于或小于 上限Clmt的處理速度的同時(shí)選擇清空磁軌,來確定作為清空目標(biāo)的磁軌。當(dāng)所有WC資源使用α 1至α 6變得等于或小于上限Clmt時(shí),WC清空控制單元211 判斷下一寫入請求是否已從主機(jī)1到來(步驟S650)。當(dāng)下一寫入請求尚未從主機(jī)1到來 時(shí),WC清空控制單元211繼續(xù)清空直到WC資源使用α 至α 6變得等于或小于AF閾值Caf 為止。具體地,WC清空控制單元211通過NAND組織狀態(tài)信號檢查NAND存儲器10的組織 狀態(tài)(步驟S660)。當(dāng)完成NAND存儲器10的組織時(shí),WC清空控制單元211將WC 21的數(shù) 據(jù)(其作為促使超過AF閾值Caf的因素)清空至MS 11和FS 12中的任一個(gè)或兩者,以將 所有WC資源使用α 1至α 6設(shè)置為等于或小于AF閾值Caf (步驟S670)。例如,通過優(yōu)先 地以高寫入效率清空滿磁軌或優(yōu)先地從最舊磁軌按LRU的次序進(jìn)行選擇來確定作為刷新 目標(biāo)的磁軌。另一方面,當(dāng)所有WC資源使用α 1至α 6變得等于或小于上限Clmt時(shí),在下一寫入請求已從主機(jī)1到來時(shí)(步驟S650為是)或在WC清空控制單元211通過NAND組織狀 態(tài)信號判斷尚未完成NAND存儲器10的組織時(shí)(步驟S660為否),WC清空控制單元211優(yōu) 先化來自主機(jī)1的請求或NAND存儲器10的組織并且不執(zhí)行自動清空處理。當(dāng)通過NAND 組織狀態(tài)信號證實(shí)在接收來自主機(jī)1的下一寫入命令之前完成了 NAND存儲器10的組織時(shí) (步驟S665),執(zhí)行自動清空處理(步驟S670)。此外,在完成從主機(jī)1的數(shù)據(jù)寫入之后,當(dāng)WC資源使用α 1至α 6中的任一個(gè)超 過上限Clmt并且下一寫入請求已從主機(jī)1到來時(shí)(步驟S620為是),WC清空控制單元211 執(zhí)行如下所述的處理。WC清空控制單元211使來自主機(jī)1的下一寫入請求保持等待(步 驟S680),并且通過NAND組織狀態(tài)信號檢查NAND存儲器10的組織狀態(tài)(步驟S690)。當(dāng) 完成NAND存儲器10的組織時(shí),WC清空控制單元211將WC 21的數(shù)據(jù)(其作為促使超過上 限Clmt的因素)清空至MS 11和FS 12中的任一個(gè)或兩者,以將所有WC資源使用α 1至 α 6設(shè)置為等于或小于上限Clmt (步驟S700)。接著,在所有WC資源使用α 1至α 6變得 等于或小于上限Clmt時(shí),WC清空控制單元211接收來自主機(jī)1的寫入請求(步驟S710)。 然而,當(dāng)WC清空控制單元211通過NAND組織狀態(tài)信號判斷在使來自主機(jī)1的下一寫入請 求保持等待的同時(shí)未完成NAND存儲器10的組織時(shí)(步驟S690為否),WC清空控制單元 211優(yōu)先化NAND存儲器10的組織并且處于待用中,直到完成NAND存儲器10的組織為止。 當(dāng)WC清空控制單元211證實(shí)完成NAND存儲器10的組織時(shí),WC清空控制單元211將WC 21 的數(shù)據(jù)(其作為促使超過上限Clmt的因素)清空至MS 11和FS 12中的任一個(gè)或兩者,以 將所有WC資源使用α 至α 6設(shè)置為等于或小于上限Clmt (步驟S700)。接著,在所有WC 資源使用α 至α6變得等于或小于上限Clmt時(shí),WC清空控制單元211接收來自主機(jī)1的 寫入請求(步驟S710)。(在AF閾值Caf< WC資源使用 <上限Clmt的情況下)接下來,根據(jù)圖23所示的流程圖來說明在完成從主機(jī)1至WC 21的數(shù)據(jù)寫入之后 WC資源使用不超過上限Clmt但超過AF閾值Caf時(shí)的處理。在完成從主機(jī)1的數(shù)據(jù)寫入之 后(步驟S800),在WC資源使用α 1至α 6中的任一個(gè)超過AF閾值Caf的情況下(步驟 S810),當(dāng)下一寫入請求已從主機(jī)1到來時(shí)(步驟S820),WC清空控制單元211不執(zhí)行自動 清空處理,并且接收來自主機(jī)1的下一寫入請求(步驟S825)。然而,當(dāng)下一寫入請求尚未從主機(jī)1到來時(shí),執(zhí)行如下所述處理。WC清空控制單元 211通過NAND組織狀態(tài)信號檢查NAND存儲器10的組織狀態(tài)(步驟S830)。當(dāng)完成NAND 存儲器10的組織時(shí),WC清空控制單元211將WC 21的數(shù)據(jù)(其作為促使超過AF閾值Caf 的因素)清空至MS 11和FS 12中的任一個(gè)或兩者,以將所有WC資源使用α 1至α 6設(shè)置 為等于或小于AF閾值Caf (步驟S840)。例如,通過優(yōu)先地以高寫入效率清空滿磁軌或優(yōu)先 地從最舊磁軌按LRU的次序進(jìn)行選擇來確定作為刷新目標(biāo)的磁軌。另一方面,當(dāng)WC清空控制單元211通過NAND組織狀態(tài)信號判斷即使在WC資源 使用α 1至α 6中的任一個(gè)超過AF閾值Caf時(shí)仍未完成NAND存儲器10的組織時(shí)(步驟 S830為否),WC清空控制單元211優(yōu)先化NAND存儲器10的組織并且不執(zhí)行自動清空處理。 當(dāng)通過NAND組織狀態(tài)信號證實(shí)在接收來自主機(jī)1的下一寫入請求之前完成了 NAND存儲器 10的組織時(shí)(步驟S850),執(zhí)行自動清空處理(步驟S840)。以此方式,當(dāng)在寫入之后完成 NAND存儲器10的組織時(shí),執(zhí)行自動清空處理,從而可提早預(yù)先在WC 21中保持空閑區(qū)域。
(另一實(shí)施例)在上文中,首先,當(dāng)WC資源使用α 至α 6超過上限Clmt,下一寫入請求已從主 機(jī)1到來并且在完成從主機(jī)1至WC 21的數(shù)據(jù)寫入之后未完成NAND存儲器10的組織時(shí), 在使下一寫入請求保持等待同時(shí)執(zhí)行NAND存儲器10的組織并且在完成NAND存儲器10的 組織之后執(zhí)行清空處理;然而,可執(zhí)行如下所述的控制。圖M是示出在從主機(jī)1至WC 21的數(shù)據(jù)寫入之后當(dāng)WC資源使用超過上限Clmt 時(shí)的處理的另一實(shí)施例的流程圖。在圖M中,圖22的步驟S680至步驟S710由步驟S900 至步驟S970替代,并且在圖22和圖M之間步驟S600至步驟S670是共同的。換句話說,當(dāng)滿足以上條件時(shí)(在完成從主機(jī)1至WC 21的數(shù)據(jù)寫入之后(步驟 S600),當(dāng)WC WC資源使用α 1至α 6超過上限Clmt (步驟S610),下一寫入請求已從主機(jī)1 到來(步驟S620),以及未完成NAND存儲器10的組織(步驟S900)時(shí)),判斷當(dāng)接收來自 主機(jī)1的下一寫入請求時(shí)WC資源使用α 至α 6是否超過最大值max (步驟S930)。接著, 當(dāng)即使在接收到來自主機(jī)1的下一寫入請求時(shí)WC資源使用α 至α6也不超過最大值max 時(shí),在不將WC 21的數(shù)據(jù)清空至NAND存儲器10的情況下接收來自主機(jī)1的下一寫入請求 (步驟S970),并且使數(shù)據(jù)寫入至WC 21中。另一方面,當(dāng)在步驟S930判斷WC資源使用α 1至α 6超過最大值max時(shí),使來自 主機(jī)1的下一寫入請求保持等待(步驟S940)并且執(zhí)行清空處理,使得在組織NAND存儲器 10之后(步驟S950)所有WC資源使用α 1至α 6變得等于或小于上限Clmt (步驟S960)。 之后,接收來自主機(jī)1的下一寫入請求(步驟S970),并且使數(shù)據(jù)寫入WC 21中。在步驟S900,當(dāng)完成NAND存儲器10的組織時(shí),使來自主機(jī)1的下一寫入請求保持 等待(步驟S910),并且執(zhí)行清空處理,以使得所有WC資源使用α 1至α6變得等于或小于 上限Clmt (步驟S920)。之后,接收來自主機(jī)1的下一寫入請求(步驟S970),并且使數(shù)據(jù) 寫入WC 21中。在本實(shí)施例中,在從主機(jī)1至WC 21的數(shù)據(jù)寫入之后(即在數(shù)據(jù)的寫入之前),執(zhí) 行從WC 21至NAND存儲器10的清空;然而,可并行地執(zhí)行對WC 21的數(shù)據(jù)寫入以及對NAND 存儲器10的清空。以此方式,根據(jù)本實(shí)施例,比較WC資源使用與小于上限Clmt的AF閾值Caf,并且 當(dāng)WC資源使用超過AF閾值Caf時(shí),檢查NAND存儲器10的組織狀態(tài)。當(dāng)已充分地進(jìn)行NAND 存儲器10的組織時(shí),有效地利用時(shí)間來提早地將數(shù)據(jù)從WC 21清空至NAND存儲器10,從 而可提早地開始NAND存儲器10的組織,因此也能夠以高速執(zhí)行從WC 21的后續(xù)清空。因 此,可固定WC 21的許多資源(例如存儲器和管理表的項(xiàng)目),從而可改善對后續(xù)寫入命令 的響應(yīng),并因此可大致上改善對來自主機(jī)的寫入請求的響應(yīng)。此外,在本實(shí)施例中,準(zhǔn)備多 個(gè)WC資源使用α 1至α 6,并且針對WC資源使用α 1至α 6中的每個(gè)準(zhǔn)備上限Clmt和AF 閾值Caf。當(dāng)WC資源使用α 1至α 6中的任一個(gè)超過與其相應(yīng)的上限Clmt或AF閾值Caf 時(shí),清空作為促使超過上限Clmt或AF閾值Caf的因素的數(shù)據(jù),從而可有效地且以高速執(zhí)行 在使WC資源使用等于或小于上限Clmt或AF閾值Caf時(shí)的清空處理。(第二實(shí)施例)圖25是安裝有SSD 100的PC 1200的實(shí)例的透視圖。PC 1200包括主體1201和 顯示單元1202。顯示單元1202包括顯示外殼1203和容納于顯示外殼1203中的顯示設(shè)備1204。主體1201包括底盤1205、鍵盤1206、和作為定點(diǎn)設(shè)備的觸控板1207。底盤1205 在其中包括主電路板、光盤設(shè)備(ODD)單元、卡槽和SSD 100??ú劢?jīng)提供而鄰近于底盤1205的外圍壁。外圍壁具有面向卡槽的開口 1208。用 戶可經(jīng)由開口 1208將額外設(shè)備從底盤1205外部插入至卡槽中或從卡槽移除額外設(shè)備。SSD 100在安裝于PC 1200上的狀態(tài)下可用來替代傳統(tǒng)硬盤驅(qū)動器(HDD)或在插 入至PC 1200中包括的卡槽中的狀態(tài)下可用作額外設(shè)備。圖沈是安裝有SSD 100的PC 1200的系統(tǒng)配置實(shí)例的視圖。PC 1200包括CPU 1301、北橋1302、主存儲區(qū)1303、視頻控制器1304、音頻控制器1305、南橋1309、基礎(chǔ)輸入/ 輸出系統(tǒng)只讀存儲區(qū)(BIOS-ROM) 1310、SSD 100、ODD單元1311、嵌入式控制器/鍵盤控制 器IC(EC/KBC) 1312、和網(wǎng)絡(luò)控制器1313。CPU 1301是用于控制PC 1200的操作的處理器,并且執(zhí)行從SSD 100載入至1303 上的操作系統(tǒng)。另外,當(dāng)ODD單元1311能夠?qū)?jīng)安裝的光盤執(zhí)行讀取處理和寫入處理中的 至少一個(gè)時(shí),CPU 1301執(zhí)行該處理。此外,CPU 1301執(zhí)行在BI0S-R0M 1310中存儲的系統(tǒng)BIOS。該系統(tǒng)BIOS是用于 控制PC 1200的硬件的計(jì)算機(jī)程序。北橋1302是將CPU 1301的本地總線連接至南橋1309的橋接設(shè)備。北橋1302具 有用于控制對主存儲器1303的訪問的存儲區(qū)控制器。此外,北橋1302具有執(zhí)行經(jīng)由加速通信端口(AGP)總線及其類似者與視頻控制器 1304通信和音頻控制器1305通信的功能。主存儲器1303在其中臨時(shí)存儲計(jì)算機(jī)程序和數(shù)據(jù),并且用作CPU1301的工作區(qū)。 例如,主存儲器1303例如由DRAM組成。視頻控制器1304是用于控制用作PC 1200的顯示監(jiān)視器的顯示單元1202的視頻 在線控制器。音頻控制器1305是用于控制PC 1200的揚(yáng)聲器1306的音頻重現(xiàn)控制器。南橋1309控制低管腳數(shù)(LPC)總線1314上的每個(gè)設(shè)備以及外圍組件互連(PCI) 總線1315上的每個(gè)設(shè)備。此外,南橋1309經(jīng)由ATA接口控制SSD 100,所述SSD 100為存 儲各種類型的軟件和數(shù)據(jù)PC 1200以扇區(qū)為單位對SSD 100進(jìn)行訪問。經(jīng)由ATA接口將寫入命令、讀取名、 清空命令及其類似者輸入至SSD 100。南橋1309具有控制對BI0S-R0M 1310和ODD單元1311的訪問的功能。EC/KBC 1312是單芯片微計(jì)算機(jī),用于電力管理的嵌入式控制器和用于控制鍵盤 (KB) 1206和觸控板1207的鍵盤控制器集成在所述單芯片微計(jì)算機(jī)中。EC/KBC 1312具有基于用戶對電力按鈕的操作來開啟/關(guān)閉PC 1200的功能。例 如,網(wǎng)絡(luò)控制器1313是通信設(shè)備,其執(zhí)行與例如因特網(wǎng)的外部網(wǎng)絡(luò)的通信。對于本領(lǐng)域普通技術(shù)人員,將容易出現(xiàn)額外優(yōu)點(diǎn)和修改。因此,本發(fā)明在其較寬方 面中不限于這里所示和所述的特定細(xì)節(jié)和代表性實(shí)施例。因此,在不脫離如所附權(quán)利要求 及其等同物限定的一般性發(fā)明概念的精神或范圍的情況下可進(jìn)行各種修改。
權(quán)利要求
1.一種存儲器系統(tǒng),包括高速緩存;非易失性半導(dǎo)體存儲器,經(jīng)由所述高速緩存將數(shù)據(jù)寫入所述非易失性半導(dǎo)體存儲器中;組織單元,其在所述非易失性半導(dǎo)體存儲器的資源使用超過特定值時(shí),通過在所述非 易失性半導(dǎo)體存儲器中組織所述數(shù)據(jù)來增加所述非易失性半導(dǎo)體存儲器的資源;第一清空控制單元,其執(zhí)行第一清空處理,所述第一清空處理用于在所述高速緩存的 所述資源使用超過第一閾值且小于第二閾值且完成由所述組織單元進(jìn)行的組織時(shí),將所述 高速緩存中的數(shù)據(jù)清空至所述非易失性半導(dǎo)體存儲器,直到所述高速緩存的資源使用變得 等于或小于所述第一閾值為止,其中所述第二閾值大于所述第一閾值;以及第二清空控制單元,其執(zhí)行第二清空處理,所述第二清空處理用于在所述高速緩存的 所述資源使用超過所述第二閾值且完成由所述組織單元進(jìn)行的組織時(shí),將所述高速緩存中 的數(shù)據(jù)清空至所述非易失性半導(dǎo)體存儲器,直到所述高速緩存的資源使用變得等于或小于 所述第二閾值為止,以及用于在所述高速緩存的所述資源使用超過所述第二閾值且未完成 由所述組織單元進(jìn)行的組織時(shí),在完成由所述組織單元進(jìn)行的組織之后,將所述高速緩存 中的數(shù)據(jù)清空至所述非易失性半導(dǎo)體存儲器。
2.如權(quán)利要求1所述的存儲器系統(tǒng),其中所述第二清空控制單元在執(zhí)行對所述高速緩 存的數(shù)據(jù)寫入處理之后,當(dāng)不使寫入請求保持等待時(shí),執(zhí)行所述第二清空處理;以及在執(zhí)行 對所述高速緩存的數(shù)據(jù)寫入處理之后,當(dāng)使寫入請求保持等待時(shí),在接收所述寫入請求之 前執(zhí)行所述第二清空處理。
3.如權(quán)利要求2所述的存儲器系統(tǒng),其中所述第一清空控制單元在執(zhí)行所述第二清空 處理之后當(dāng)不使所述寫入請求保持等待時(shí),執(zhí)行所述第一清空處理。
4.如權(quán)利要求1所述的存儲器系統(tǒng),其中所述第一清空控制單元在執(zhí)行對所述高速緩 存的數(shù)據(jù)寫入處理之后,當(dāng)不使寫入請求保持等待時(shí),執(zhí)行所述第一清空處理;以及在執(zhí)行 對所述高速緩存的數(shù)據(jù)寫入處理之后,當(dāng)使寫入請求保持等待時(shí),在不執(zhí)行所述第一清空 處理的情況下接收所述寫入請求。
5.如權(quán)利要求1所述的存儲器系統(tǒng),其中所述第一清空控制單元和所述第二清空控制單元監(jiān)視所述高速緩存中的多個(gè)資源使用;所述第一清空控制單元在所述資源使用中的任一個(gè)超過針對所述資源使用中的每個(gè) 設(shè)定的所述第一閾值時(shí)執(zhí)行所述第一清空處理;以及所述第二清空控制單元在所述資源使用中的任一個(gè)超過針對所述資源使用中的每個(gè) 設(shè)定的所述第二閾值時(shí)執(zhí)行所述第二清空處理。
6.如權(quán)利要求5所述的存儲器系統(tǒng),其中所述非易失性半導(dǎo)體存儲器包括作為數(shù)據(jù)擦除單位的多個(gè)物理塊,所述物理塊中的每 個(gè)包括作為數(shù)據(jù)讀取和數(shù)據(jù)寫入單位的多個(gè)物理頁,與所述物理塊中的一個(gè)或多個(gè)關(guān)聯(lián)的 邏輯塊分配給第一管理存儲區(qū)、第二管理存儲區(qū)和第三管理存儲區(qū)中的每個(gè);所述第一清空控制單元和所述第二清空控制單元將以扇區(qū)為單位寫入所述高速緩存 中的多個(gè)數(shù)據(jù)清空至所述第一管理存儲區(qū)作為第一管理單元中的數(shù)據(jù);以及將以扇區(qū)為單位寫入所述高速緩存中的多個(gè)數(shù)據(jù)清空至所述第二管理存儲區(qū)作為第二管理單元中的數(shù) 據(jù),所述第二管理單元為所述第一管理單元的兩倍或更大自然數(shù)倍大;以及所述組織單元執(zhí)行第一處理,其用于在所述第一管理存儲區(qū)中的邏輯塊的數(shù)目超過容限時(shí),將登記于所述第一管理存儲區(qū)中的最舊邏輯塊重新定位至所述第三管理存儲區(qū);第二處理,其用于在所述第三管理存儲區(qū)中的邏輯塊的數(shù)目超過容限時(shí),選擇第一管理單元中的多個(gè)有效數(shù)據(jù)并且將選擇的有效數(shù)據(jù)復(fù)制到新的邏輯 塊中;以及第三處理,其用于在所述第三管理存儲區(qū)中的邏輯塊的數(shù)目超過容限時(shí),將第一管理 單元中的所述多個(gè)有效數(shù)據(jù)整合至第二管理單元中的數(shù)據(jù)中,并且將第二管理單元中的所 述數(shù)據(jù)清空至所述第二管理存儲區(qū)。
7.如權(quán)利要求6所述的存儲器系統(tǒng),其中所述高速緩存的資源使用包括以下內(nèi)容中的 至少一個(gè)在所述高速緩存中寫入的第一管理單元中的有效數(shù)據(jù)的數(shù)目、在所述高速緩存 中寫入的第二管理單元中的有效數(shù)據(jù)的數(shù)目、第一管理單元中的有效扇區(qū)和數(shù)據(jù)完全包括 在其中的第二管理單元中的數(shù)據(jù)的數(shù)目、和所述高速緩存中未使用的路徑的數(shù)目。
8.如權(quán)利要求6所述的存儲器系統(tǒng),其中當(dāng)將所述高速緩存中寫入的數(shù)據(jù)清空至所述 非易失性半導(dǎo)體存儲器時(shí),所述第一清空控制單元和所述第二清空控制單元將包括小于特 定比率的第一管理單元中的有效數(shù)據(jù)的第二管理單元中的低密度數(shù)據(jù)清空至所述第一管 理存儲區(qū);以及將包括大于所述特定比率的第一管理單元中的有效數(shù)據(jù)的第二管理單元中 的高密度數(shù)據(jù)清空至所述第二管理存儲區(qū)。
9.如權(quán)利要求8所述的存儲器系統(tǒng),其中所述高速緩存的資源使用包括以下內(nèi)容中的 至少一個(gè)在所述高速緩存中寫入的第一管理單元中的有效數(shù)據(jù)的數(shù)目、在所述高速緩存 中寫入的第二管理單元中的有效數(shù)據(jù)的數(shù)目、第一管理單元中的有效扇區(qū)和數(shù)據(jù)完全包括 在其中的第二管理單元中的數(shù)據(jù)的數(shù)目、所述高速緩存中未使用的路徑的數(shù)目、包括大于 所述特定比率的第一管理單元中的有效數(shù)據(jù)的第二管理單元中的數(shù)據(jù)的數(shù)目、和在第二管 理單元中的數(shù)據(jù)中包括的第一管理單元的數(shù)據(jù)的數(shù)目,第二管理單元中的數(shù)據(jù)包括小于所 述特定比率的第一管理單元中的有效數(shù)據(jù)。
10.如權(quán)利要求7所述的存儲器系統(tǒng),其中所述第一清空控制單元和所述第二清空控 制單元通過參考以下內(nèi)容來執(zhí)行所述第一清空處理和所述第二清空處理第一管理表,其包括均分配有第二管理單元中的地址的少量較低比特的多個(gè)索引以及 針對所述索引中的每個(gè)包括多個(gè)路徑的項(xiàng)目,并且對于所述項(xiàng)目中的每個(gè),存儲與所述高 速緩存中寫入的數(shù)據(jù)相應(yīng)的第二管理單元中的地址和指示關(guān)于第一管理單元中的數(shù)據(jù)的 管理信息的存儲位置的指針信息,第一管理單元中的所述數(shù)據(jù)包括在第二管理單元的地址 范圍中;以及第二管理表,其是由所述指針信息指示的管理信息,包括第一信息,其指示當(dāng)與第一 管理單元的地址關(guān)聯(lián)時(shí)第一管理單元中的數(shù)據(jù)的存儲位置;第二信息,其指示在第一管理 單元中的地址范圍中包括的多個(gè)扇區(qū)之間固定有效數(shù)據(jù)的扇區(qū);第三信息,其指示在第二 管理單元中的地址范圍中包括的第一管理單元中的有效數(shù)據(jù)的數(shù)目;和第四信息,其指示在第二管理單元中的地址范圍中包括的且有效扇區(qū)完全包括在其中的第一管理單元中的 數(shù)據(jù)的數(shù)目,以及所述第二管理表管理針對第二管理單元中的每個(gè)地址在所述高速緩存中 寫入的數(shù)據(jù)的時(shí)間順序和在所述高速緩存中寫入的第二管理單元中的有效數(shù)據(jù)的數(shù)目。
11.如權(quán)利要求9所述的存儲器系統(tǒng),其中所述第一清空控制單元和所述第二清空控 制單元通過參考以下內(nèi)容來執(zhí)行所述第一清空處理和所述第二清空處理第一管理表,其包括均分配有第二管理單元中的地址的少量較低比特的多個(gè)索引以及 針對所述索引中的每個(gè)包括多個(gè)路徑的項(xiàng)目,并且對于所述項(xiàng)目中的每個(gè),存儲與所述高 速緩存中寫入的數(shù)據(jù)相應(yīng)的第二管理單元中的地址和指示關(guān)于第一管理單元中的數(shù)據(jù)的 管理信息的存儲位置的指針信息,第一管理單元中的所述數(shù)據(jù)包括在第二管理單元的地址 范圍中;第二管理表,其是由所述指針信息指示的管理信息,包括第一信息,其指示當(dāng)與第一 管理單元的地址關(guān)聯(lián)時(shí)第一管理單元中的數(shù)據(jù)的存儲位置;第二信息,其指示在第一管理 單元中的地址范圍中包括的多個(gè)扇區(qū)之間固定有效數(shù)據(jù)的扇區(qū);第三信息,其指示在第二 管理單元中的地址范圍中包括的第一管理單元中的有效數(shù)據(jù)的數(shù)目;和第四信息,其指示 在第二管理單元中的地址范圍中包括的且有效扇區(qū)完全包括在其中的第一管理單元中的 數(shù)據(jù)的數(shù)目,以及所述第二管理表管理針對第二管理單元中的每個(gè)地址在所述高速緩存中 寫入的數(shù)據(jù)的時(shí)間順序和在所述高速緩存中寫入的第二管理單元中的有效數(shù)據(jù)的數(shù)目;第三管理表,其包括均分配有第二管理單元中的地址的少量較低比特的多個(gè)索引以及 針對所述索引中的每個(gè)包括多個(gè)路徑的項(xiàng)目,并且對于所述項(xiàng)目中的每個(gè),存儲與所述高 密度數(shù)據(jù)相應(yīng)的第二管理單元中的地址;以及第四管理表,其管理在與所述低密度數(shù)據(jù)相應(yīng)的第二管理單元中的地址范圍中包括的 第一管理單元的數(shù)據(jù)的總數(shù)目。
12.如權(quán)利要求11所述的存儲器系統(tǒng),其中所述非易失性半導(dǎo)體存儲器包括多個(gè)通道并行操作元件,所述多個(gè)通道并行操作元件 中的每個(gè)包括多個(gè)存儲器芯片,所述存儲器芯片中的每個(gè)包括所述物理塊,所述通道并行 操作元件中的每個(gè)包括多個(gè)存儲體,所述多個(gè)存儲體中的每個(gè)包括能夠執(zhí)行交錯(cuò)操作的所 述物理塊;所述第一管理表至所述第四管理表管理具有與邏輯塊相同大小的第二管理單元中的 數(shù)據(jù),所述邏輯塊與多個(gè)物理塊關(guān)聯(lián),所述多個(gè)物理塊選自所述通道并行操作元件;以及所述第三管理表使用存儲體地址,對所述存儲體地址分配第二管理單元中的位置的最 低有效側(cè)上的一至多個(gè)比特作為所述索引。
13.如權(quán)利要求11所述的存儲器系統(tǒng),其中所述非易失性半導(dǎo)體存儲器包括多個(gè)通道并行操作元件,所述多個(gè)通道并行操作元 件中的每個(gè)包括多個(gè)存儲器芯片,所述存儲器芯片中的每個(gè)包括能夠執(zhí)行并行操作的多個(gè) 面,所述多個(gè)面中的每個(gè)包括所述物理塊,所述通道并行操作元件中的每個(gè)包括多個(gè)存儲 體,所述多個(gè)存儲體均包括能夠執(zhí)行交錯(cuò)操作的所述物理塊;所述第一管理表至所述第四管理表管理具有與邏輯塊相同大小的第二管理單元中的 數(shù)據(jù),所述邏輯塊與多個(gè)物理塊關(guān)聯(lián),所述多個(gè)物理塊選自所述通道并行操作元件;以及所述第三管理表使用存儲體地址,對所述存儲體分配面地址的上部側(cè)上的一至多個(gè)比特作為所述索引,對所述面地址分配第二管理單元中的位置的最低有效側(cè)上的一至多個(gè)比 特。
14.如權(quán)利要求1所述的存儲器系統(tǒng),其中將所述第二閾值設(shè)置為能夠在不執(zhí)行從所 述高速緩存向所述非易失性半導(dǎo)體存儲器的數(shù)據(jù)清空的情況下接收向所述高速緩存的單 數(shù)據(jù)傳送的值。
15.一種存儲器系統(tǒng),包括高速緩存;非易失性半導(dǎo)體存儲器,經(jīng)由所述高速緩存將數(shù)據(jù)寫入所述非易失性半導(dǎo)體存儲器中;組織單元,其在所述非易失性半導(dǎo)體存儲器的資源使用超過特定值時(shí),通過在所述非 易失性半導(dǎo)體存儲器中組織所述數(shù)據(jù)來增加所述非易失性半導(dǎo)體存儲器的資源;第一清空控制單元,其在所述高速緩存的所述資源使用超過第一閾值且小于第二閾值 且完成由所述組織單元進(jìn)行的組織時(shí),將所述高速緩存中的數(shù)據(jù)清空至所述非易失性半導(dǎo) 體存儲器,直到所述高速緩存的資源使用變得等于或小于所述第一閾值為止,其中所述第 二閾值大于所述第一閾值;以及第二清空控制單元,其執(zhí)行第一處理,所述第一處理用于在所述高速緩存的所述資源使用超過所述第二閾值且完 成由所述組織單元進(jìn)行的組織時(shí),將所述高速緩存中的數(shù)據(jù)清空至所述非易失性半導(dǎo)體存 儲器,直到所述高速緩存的資源使用變得等于或小于所述第二閾值為止;第二處理,所述第二處理用于在所述高速緩存的所述資源使用超過所述第二閾值、未 完成由所述組織單元進(jìn)行的組織、且能夠在所述高速緩存的所述資源使用沒有達(dá)到作為大 于所述第二閾值的容限的最大值的范圍內(nèi)處理寫入請求時(shí),在不將所述高速緩存中的所述 數(shù)據(jù)清空至所述非易失性半導(dǎo)體存儲器的情況下執(zhí)行所述高速緩存中的數(shù)據(jù)寫入;以及第三處理,所述第三處理用于在所述高速緩存的所述資源使用超過所述第二閾值、未 完成由所述組織單元進(jìn)行的組織、且不能夠在所述高速緩存的所述資源使用沒有達(dá)到所述 最大值的范圍內(nèi)處理寫入請求時(shí),在完成由所述組織單元進(jìn)行的組織且將所述高速緩存中 的數(shù)據(jù)清空至所述非易失性半導(dǎo)體存儲器之后,執(zhí)行所述高速緩存中的數(shù)據(jù)寫入。
16.如權(quán)利要求15所述的存儲器系統(tǒng),其中所述第二清空控制單元在執(zhí)行對所述高速 緩存的數(shù)據(jù)寫入處理之后,當(dāng)不使寫入請求保持等待時(shí),執(zhí)行所述第一處理;以及在執(zhí)行對 所述高速緩存的數(shù)據(jù)寫入處理之后,當(dāng)使寫入請求保持等待時(shí),執(zhí)行所述第二處理或所述 第三處理。
17.—種控制存儲器系統(tǒng)的方法,所述存儲器系統(tǒng)包括高速緩存;和非易失性半導(dǎo)體 存儲器,經(jīng)由所述高速緩存將數(shù)據(jù)寫入所述非易失性半導(dǎo)體存儲器中;所述方法包括執(zhí)行組織處理,其用于在所述非易失性半導(dǎo)體存儲器的資源使用超過特定值時(shí),通 過在所述非易失性半導(dǎo)體存儲器中組織所述數(shù)據(jù)來增加所述非易失性半導(dǎo)體存儲器的資 源;執(zhí)行第一清空處理,其用于在所述高速緩存的所述資源使用超過第一閾值且小于第二 閾值且完成由所述組織單元進(jìn)行的組織時(shí),將所述高速緩存中的數(shù)據(jù)清空至所述非易失性 半導(dǎo)體存儲器,直到所述高速緩存的資源使用變得等于或小于所述第一閾值為止,其中所述第二閾值大于所述第一閾值;以及執(zhí)行第二清空處理,其用于在所述高速緩存的所述資源使用超過所述第二閾值且完成 由所述組織單元進(jìn)行的組織時(shí),將所述高速緩存中的數(shù)據(jù)清空至所述非易失性半導(dǎo)體存儲 器,直到所述高速緩存的資源使用變得等于或小于所述第二閾值為止,以及用于在所述高 速緩存的所述資源使用超過所述第二閾值且未完成由所述組織單元進(jìn)行的組織時(shí),在完成 由所述組織單元進(jìn)行的組織之后,將所述高速緩存中的數(shù)據(jù)清空至所述非易失性半導(dǎo)體存 儲器。
18.如權(quán)利要求17所述的方法,其中所述第二清空處理在執(zhí)行對所述高速緩存的數(shù)據(jù)寫入處理之后當(dāng)不使寫入請求保持 等待時(shí)執(zhí)行;以及所述第二清空處理在執(zhí)行對所述高速緩存的數(shù)據(jù)寫入處理之后當(dāng)使寫入請求保持等 待時(shí)在接收所述寫入請求之前執(zhí)行。
19.如權(quán)利要求17所述的方法,其中所述第一清空處理在執(zhí)行所述第二清空處理之后 當(dāng)不使所述寫入請求保持等待時(shí)執(zhí)行。
20.如權(quán)利要求17所述的方法,其中所述第一清空處理在執(zhí)行對所述高速緩存的數(shù)據(jù)寫入處理之后當(dāng)不使寫入請求保持 等待時(shí)執(zhí)行;以及所述寫入請求是在執(zhí)行對所述高速緩存的數(shù)據(jù)寫入處理之后當(dāng)使寫入請求保持等待 時(shí)在不執(zhí)行所述第一清空處理的情況下接收的。
21.如權(quán)利要求17所述的方法,其中 所述高速緩存使用多個(gè)資源使用來監(jiān)視;所述第一清空處理在所述資源使用中的任一個(gè)超過針對所述資源使用中的每個(gè)設(shè)定 的所述第一閾值時(shí)執(zhí)行;以及所述第二清空處理在所述資源使用中的任一個(gè)超過針對所述資源使用中的每個(gè)設(shè)定 的所述第二閾值時(shí)執(zhí)行。
22.如權(quán)利要求21所述的方法,其中所述非易失性半導(dǎo)體存儲器包括作為數(shù)據(jù)擦除單位的多個(gè)物理塊, 所述物理塊中的每個(gè)包括作為數(shù)據(jù)讀取和數(shù)據(jù)寫入單位的多個(gè)物理頁, 與所述物理塊中的一個(gè)或多個(gè)關(guān)聯(lián)的邏輯塊分配給第一管理存儲區(qū)、第二管理存儲區(qū) 和第三管理存儲區(qū)中的每個(gè);所述第一清空處理和所述第二清空處理包括將以扇區(qū)為單位寫入所述高速緩存中的多個(gè)數(shù)據(jù)清空至所述第一管理存儲區(qū)作為第 一管理單元中的數(shù)據(jù);以及將以扇區(qū)為單位寫入所述高速緩存中的多個(gè)數(shù)據(jù)清空至所述第二管理存儲區(qū)作為第 二管理單元中的數(shù)據(jù),所述第二管理單元為所述第一管理單元的兩倍或更大自然數(shù)倍大; 以及所述組織處理包括第一處理,其用于在所述第一管理存儲區(qū)中的邏輯塊的數(shù)目超過容限時(shí),將登記于所 述第一管理存儲區(qū)中的最舊邏輯塊重新定位至所述第三管理存儲區(qū);第二處理,其用于在所述第三管理存儲區(qū)中的邏輯塊的數(shù)目超過容限時(shí),選擇第一管 理單元中的多個(gè)有效數(shù)據(jù)并且將選擇的有效數(shù)據(jù)復(fù)制到新的邏輯塊中;以及第三處理,其用于在所述第三管理存儲區(qū)中的邏輯塊的數(shù)目超過容限時(shí),將第一管理 單元中的所述多個(gè)有效數(shù)據(jù)整合至第二管理單元中的數(shù)據(jù)中,并且將第二管理單元中的所 述數(shù)據(jù)清空至所述第二管理存儲區(qū)。
23.如權(quán)利要求22所述的方法,其中所述高速緩存的資源使用包括以下內(nèi)容中的至少 一個(gè)在所述高速緩存中寫入的第一管理單元中的有效數(shù)據(jù)的數(shù)目、在所述高速緩存中寫 入的第二管理單元中的有效數(shù)據(jù)的數(shù)目、第一管理單元中的有效扇區(qū)和數(shù)據(jù)完全包括在其 中的第二管理單元中的數(shù)據(jù)的數(shù)目、和所述高速緩存中未使用的路徑的數(shù)目。
24.如權(quán)利要求22所述的方法,其中當(dāng)將所述高速緩存中寫入的數(shù)據(jù)清空至所述非易失性半導(dǎo)體存儲器時(shí),所述第一清空 處理和所述第二清空處理包括將包括小于特定比率的第一管理單元中的有效數(shù)據(jù)的第二管理單元中的低密度數(shù)據(jù) 清空至所述第一管理存儲區(qū);以及將包括大于所述特定比率的第一管理單元中的有效數(shù)據(jù)的第二管理單元中的高密度 數(shù)據(jù)清空至所述第二管理存儲區(qū)。
25.如權(quán)利要求24所述的方法,其中所述高速緩存的資源使用包括以下內(nèi)容中的至少 一個(gè)在所述高速緩存中寫入的第一管理單元中的有效數(shù)據(jù)的數(shù)目、在所述高速緩存中寫 入的第二管理單元中的有效數(shù)據(jù)的數(shù)目、第一管理單元中的有效扇區(qū)和數(shù)據(jù)完全包括在其 中的第二管理單元中的數(shù)據(jù)的數(shù)目、所述高速緩存中未使用的路徑的數(shù)目、包括大于所述 特定比率的第一管理單元中的有效數(shù)據(jù)的第二管理單元中的數(shù)據(jù)的數(shù)目、和在第二管理單 元中的數(shù)據(jù)中包括的第一管理單元的數(shù)據(jù)的數(shù)目,第二管理單元中的數(shù)據(jù)包括小于所述特 定比率的第一管理單元中的有效數(shù)據(jù)。
26.如權(quán)利要求23所述的方法,其中所述第一清空處理和所述第二清空處理包括參考第一管理表,其包括均分配有第二管理單元中的地址的少量較低比特的多個(gè)索引以及 針對所述索引中的每個(gè)包括多個(gè)路徑的項(xiàng)目,并且對于所述項(xiàng)目中的每個(gè),存儲與所述高 速緩存中寫入的數(shù)據(jù)相應(yīng)的第二管理單元中的地址和指示關(guān)于第一管理單元中的數(shù)據(jù)的 管理信息的存儲位置的指針信息,第一管理單元中的所述數(shù)據(jù)包括在第二管理單元的地址 范圍中;以及第二管理表,其是由所述指針信息指示的管理信息,包括第一信息,其指示當(dāng)與第一 管理單元的地址關(guān)聯(lián)時(shí)第一管理單元中的數(shù)據(jù)的存儲位置;第二信息,其指示在第一管理 單元中的地址范圍中包括的多個(gè)扇區(qū)之間固定有效數(shù)據(jù)的扇區(qū);第三信息,其指示在第二 管理單元中的地址范圍中包括的第一管理單元中的有效數(shù)據(jù)的數(shù)目;和第四信息,其指示 在第二管理單元中的地址范圍中包括的且有效扇區(qū)完全包括在其中的第一管理單元中的 數(shù)據(jù)的數(shù)目,以及所述第二管理表管理針對第二管理單元中的每個(gè)地址在所述高速緩存中 寫入的數(shù)據(jù)的時(shí)間順序和在所述高速緩存中寫入的第二管理單元中的有效數(shù)據(jù)的數(shù)目。
27.如權(quán)利要求25所述的方法,其中所述第一清空處理和所述第二清空處理包括參考第一管理表,其包括均分配有第二管理單元中的地址的少量較低比特的多個(gè)索引以及 針對所述索引中的每個(gè)包括多個(gè)路徑的項(xiàng)目,并且對于所述項(xiàng)目中的每個(gè),存儲與所述高 速緩存中寫入的數(shù)據(jù)相應(yīng)的第二管理單元中的地址和指示關(guān)于第一管理單元中的數(shù)據(jù)的 管理信息的存儲位置的指針信息,第一管理單元中的所述數(shù)據(jù)包括在第二管理單元的地址 范圍中;第二管理表,其是由所述指針信息指示的管理信息,包括第一信息,其指示當(dāng)與第一 管理單元的地址關(guān)聯(lián)時(shí)第一管理單元中的數(shù)據(jù)的存儲位置;第二信息,其指示在第一管理 單元中的地址范圍中包括的多個(gè)扇區(qū)之間固定有效數(shù)據(jù)的扇區(qū);第三信息,其指示在第二 管理單元中的地址范圍中包括的第一管理單元中的有效數(shù)據(jù)的數(shù)目;和第四信息,其指示 在第二管理單元中的地址范圍中包括的且有效扇區(qū)完全包括在其中的第一管理單元中的 數(shù)據(jù)的數(shù)目,以及所述第二管理表管理針對第二管理單元中的每個(gè)地址在所述高速緩存中 寫入的數(shù)據(jù)的時(shí)間順序和在所述高速緩存中寫入的第二管理單元中的有效數(shù)據(jù)的數(shù)目;第三管理表,其包括均分配有第二管理單元中的地址的少量較低比特的多個(gè)索引以及 針對所述索引中的每個(gè)包括多個(gè)路徑的項(xiàng)目,并且對于所述項(xiàng)目中的每個(gè),存儲與所述高 密度數(shù)據(jù)相應(yīng)的第二管理單元中的地址;以及第四管理表,其管理在與所述低密度數(shù)據(jù)相應(yīng)的第二管理單元中的地址范圍中包括的 第一管理單元的數(shù)據(jù)的總數(shù)目。
28.如權(quán)利要求27所述的方法,其中所述非易失性半導(dǎo)體存儲器包括多個(gè)通道并行操作元件,所述多個(gè)通道并行操作元件 中的每個(gè)包括多個(gè)存儲器芯片,所述存儲器芯片中的每個(gè)包括所述物理塊,所述通道并行操作元件中的每個(gè)包括多個(gè)存儲體,所述多個(gè)存儲體中的每個(gè)包括能夠 執(zhí)行交錯(cuò)操作的所述物理塊;所述第一管理表至所述第四管理表管理具有與邏輯塊相同大小的第二管理單元中的 數(shù)據(jù),所述邏輯塊與多個(gè)物理塊關(guān)聯(lián),所述多個(gè)物理塊選自所述通道并行操作元件;以及所述第三管理表使用存儲體地址,對所述存儲體地址分配第二管理單元中的位置的最 低有效側(cè)上的一至多個(gè)比特作為所述索引。
29.如權(quán)利要求27所述的方法,其中所述非易失性半導(dǎo)體存儲器包括多個(gè)通道并行操作元件,所述多個(gè)通道并行操作元件 中的每個(gè)包括多個(gè)存儲器芯片,所述存儲器芯片中的每個(gè)包括能夠執(zhí)行并行操作的多個(gè)面, 所述多個(gè)面中的每個(gè)包括所述物理塊,所述通道并行操作元件中的每個(gè)包括多個(gè)存儲體,所述多個(gè)存儲體均包括能夠執(zhí)行交 錯(cuò)操作的所述物理塊;所述第一管理表至所述第四管理表管理具有與邏輯塊相同大小的第二管理單元中的 數(shù)據(jù),所述邏輯塊與多個(gè)物理塊關(guān)聯(lián),所述多個(gè)物理塊選自所述通道并行操作元件;以及所述第三管理表使用存儲體地址,對所述存儲體分配面地址的上部側(cè)上的一至多個(gè)比 特作為所述索引,對所述面地址分配第二管理單元中的位置的最低有效側(cè)上的一至多個(gè)比 特。
30.如權(quán)利要求17所述的方法,其中將所述第二閾值設(shè)置為能夠在不執(zhí)行從所述高速 緩存向所述非易失性半導(dǎo)體存儲器的數(shù)據(jù)清空的情況下接收向所述高速緩存的單數(shù)據(jù)傳 送的值。
31.一種控制存儲器系統(tǒng)的方法,所述存儲器系統(tǒng)包括高速緩存;和非易失性半導(dǎo)體 存儲器,經(jīng)由所述高速緩存將數(shù)據(jù)寫入所述非易失性半導(dǎo)體存儲器中;所述方法包括執(zhí)行組織處理,其用于在所述非易失性半導(dǎo)體存儲器的資源使用超過特定值時(shí),通 過在所述非易失性半導(dǎo)體存儲器中組織所述數(shù)據(jù)來增加所述非易失性半導(dǎo)體存儲器的資 源;執(zhí)行第一清空處理,其用于在所述高速緩存的所述資源使用超過第一閾值且小于第二 閾值且完成由所述組織單元進(jìn)行的組織時(shí),將所述高速緩存中的數(shù)據(jù)清空至所述非易失性 半導(dǎo)體存儲器,直到所述高速緩存的資源使用變得等于或小于所述第一閾值為止,其中所 述第二閾值大于所述第一閾值;以及 執(zhí)行第二清空處理,其用于執(zhí)行第一處理,所述第一處理用于在所述高速緩存的所述資源使用超過所述第二閾值且完 成由所述組織單元進(jìn)行的組織時(shí),將所述高速緩存中的數(shù)據(jù)清空至所述非易失性半導(dǎo)體存 儲器,直到所述高速緩存的資源使用變得等于或小于所述第二閾值為止;第二處理,所述第二處理用于在所述高速緩存的所述資源使用超過所述第二閾值、未 完成由所述組織單元進(jìn)行的組織、且能夠在所述高速緩存的所述資源使用沒有達(dá)到作為大 于所述第二閾值的容限的最大值的范圍內(nèi)處理寫入請求時(shí),在不將所述高速緩存中的所述 數(shù)據(jù)清空至所述非易失性半導(dǎo)體存儲器的情況下執(zhí)行所述高速緩存中的數(shù)據(jù)寫入;以及第三處理,所述第三處理用于在所述高速緩存的所述資源使用超過所述第二閾值、未 完成由所述組織單元進(jìn)行的組織、且不能夠在所述高速緩存的所述資源使用沒有達(dá)到所述 最大值的范圍內(nèi)處理寫入請求時(shí),在完成由所述組織單元進(jìn)行的組織且將所述高速緩存中 的數(shù)據(jù)清空至所述非易失性半導(dǎo)體存儲器之后,執(zhí)行所述高速緩存中的數(shù)據(jù)寫入。
32.如權(quán)利要求31所述的方法,其中所述第一清空處理在執(zhí)行對所述高速緩存的數(shù)據(jù)寫入處理之后當(dāng)不使寫入請求保持 等待時(shí)執(zhí)行;以及所述第二處理或所述第三處理在執(zhí)行對所述高速緩存的數(shù)據(jù)寫入處理之后當(dāng)使寫入 請求保持等待時(shí)執(zhí)行。
33.一種信息處理裝置,包括 CPU ;主存儲存儲器;以及 外部存儲設(shè)備,其中 所述外部存儲設(shè)備包括 高速緩存;非易失性半導(dǎo)體存儲器,經(jīng)由所述高速緩存將數(shù)據(jù)寫入所述非易失性半導(dǎo)體存儲器中;組織單元,其在所述非易失性半導(dǎo)體存儲器的資源使用超過特定值時(shí),通過在所述非 易失性半導(dǎo)體存儲器中組織所述數(shù)據(jù)來增加所述非易失性半導(dǎo)體存儲器的資源;第一清空控制單元,其執(zhí)行第一清空處理,所述第一清空處理用于在所述高速緩存的 所述資源使用超過第一閾值且小于第二閾值且完成由所述組織單元進(jìn)行的組織時(shí),將所述 高速緩存中的數(shù)據(jù)清空至所述非易失性半導(dǎo)體存儲器,直到所述高速緩存的資源使用變得 等于或小于所述第一閾值為止,其中所述第二閾值大于所述第一閾值;以及第二清空控制單元,其執(zhí)行第二清空處理,所述第二清空處理用于在所述高速緩存的 所述資源使用超過所述第二閾值且完成由所述組織單元進(jìn)行的組織時(shí),將所述高速緩存中 的數(shù)據(jù)清空至所述非易失性半導(dǎo)體存儲器,直到所述高速緩存的資源使用變得等于或小于 所述第二閾值為止,以及用于在所述高速緩存的所述資源使用超過所述第二閾值且未完成 由所述組織單元進(jìn)行的組織時(shí),在完成由所述組織單元進(jìn)行的組織之后,將所述高速緩存 中的數(shù)據(jù)清空至所述非易失性半導(dǎo)體存儲器。
全文摘要
比較WC資源使用與小于上限Clmt的自動清空(AU)閾值Caf,并且當(dāng)WC資源使用超過所述AF閾值Caf時(shí),檢查NAND存儲器10的組織狀態(tài)。當(dāng)所述NAND存儲器10的組織已充分進(jìn)行時(shí),提早地將數(shù)據(jù)從寫入高速緩存(WC)21清空至NAND存儲器10,從而改善隨后寫入命令的響應(yīng)。
文檔編號G06F12/02GK102150140SQ20098013525
公開日2011年8月10日 申請日期2009年12月28日 優(yōu)先權(quán)日2008年12月27日
發(fā)明者加藤亮一, 檜田敏克, 矢野浩邦 申請人:株式會社東芝
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
政和县| 石阡县| 磐石市| 海淀区| 白朗县| 济阳县| 阳新县| 平南县| 禄劝| 凌海市| 东台市| 安徽省| 宁德市| 武邑县| 玛多县| 都安| 永新县| 黄平县| 永济市| 乐昌市| 内江市| 静安区| 镇平县| 喀喇| 禹城市| 巴塘县| 托克逊县| 龙游县| 上饶县| 临沧市| 华坪县| 阜阳市| 呼和浩特市| 加查县| 法库县| 泰顺县| 沅陵县| 绥阳县| 饶平县| 乐安县| 丹阳市|