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

存儲器系統(tǒng)和控制存儲器系統(tǒng)的方法

文檔序號:6348295閱讀:300來源:國知局

專利名稱::存儲器系統(tǒng)和控制存儲器系統(tǒng)的方法
技術(shù)領(lǐng)域
:本發(fā)明涉及包括非易失性半導體存儲器的存儲器系統(tǒng)。
背景技術(shù)
:非易失性半導體存儲器的例子包括其中擦除、寫入和讀出的單位固定的非易失性半導體存儲器,例如在存儲數(shù)據(jù)時一次擦除塊單位的數(shù)據(jù)且然后進行寫入的非易失性半導體存儲器以及以與NAND型閃速存儲器相同的方式以頁為單位進行寫入和讀出的非易失性半導體存儲器。另一方面,用于諸如個人計算機(PC)的主機設備在諸如硬盤的次級存儲裝置(secondarystoragedevice)中寫入數(shù)據(jù)和從次級存儲裝置讀出數(shù)據(jù)的單位稱為扇區(qū)(sector)。獨立于半導體存儲裝置的擦除、寫入和讀出的單位而設定扇區(qū)。即,主機設備的扇區(qū)的尺寸(扇區(qū)尺寸)小于非易失性半導體存儲器的塊的尺寸(塊尺寸)或頁的尺寸(頁尺寸)。因此,當通過使用非易失性半導體存儲器來配置諸如硬盤的PC的次級存儲裝置時,需要以小尺寸從作為主機設備的PC寫入數(shù)據(jù),這可通過使小尺寸適應為非易失性半導體存儲器的塊尺寸和頁尺寸而實現(xiàn)。通過諸如PC的主機設備記錄的數(shù)據(jù)具有時間局域性和空間局域性(參見,例如,非專利文件1:DavidA.Patterson禾口JohnLHennessy的“ComputerOrganizationandDesign:TheHardware/SoftwareInterface,,,MorganKaufmannPub,2004/8/31)。因此,當記錄數(shù)據(jù)時,如果數(shù)據(jù)被直接記錄在從外部指派的地址中,重寫(rewrite)(即,擦除處理)暫時集中在特定區(qū)域中且擦除數(shù)目的偏差增大。因此,在NAND型閃速存儲器中,進行用于使數(shù)據(jù)更新區(qū)段均等地分布的稱為損耗均衡(wearleveling)的處理。在損耗均衡處理中,例如,由主機設備指派的邏輯地址被轉(zhuǎn)譯為其中數(shù)據(jù)更新區(qū)段均等地分布的非易失性半導體存儲器的物理地址。當通過使用NAND型閃速存儲器配置大容量次級存儲器裝置時,如果在進行地址轉(zhuǎn)譯時的數(shù)據(jù)管理的單位是小的(例如,頁尺寸),則管理表的尺寸增加且不能被容納在次級存儲器裝置的控制器的主存儲器中,由此導致不能高速進行地址轉(zhuǎn)譯的問題。因而,當作為次級存儲器裝置的NAND型閃速存儲器的容量增加時,管理表的尺寸因而增加,由此需要盡可能地減小管理表的容量的方法。
發(fā)明內(nèi)容本發(fā)明的一個方面提供了一種存儲器系統(tǒng),包括非易失性半導體存儲器,其具有多個包括多個存儲器芯片的通道并行操作元件,其中每個存儲器芯片被分成能夠并行操作的多個面(Plane),每個面包括多個作為數(shù)據(jù)擦除的單位的物理塊,并且在并行操作的各通道并行操作元件中的所述存儲器芯片被分成多個庫(bank),所述多個庫跨所述通道并行操作元件而分別共享就緒/忙碌信號;以及控制器,其基于與從并行操作的所述通道并行操作元件選擇的物理塊相關(guān)聯(lián)的邏輯塊而管理空閑塊(freeblock),并控制通過所述面、庫或通道并行操作元件的并行操作,其中所述控制器包括多個空閑塊管理列表,其中具有相同庫號、相同芯片號和相同面號的所述邏輯塊被分別管理為所述空閑塊;以及空閑塊選擇單元,其從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表以從所選擇的空閑塊管理列表獲得空閑塊。圖1為SSD的配置實例的框圖;圖2為示例了NAND控制器與NAND存儲器之間的連接模式的圖;圖3為NAND控制器的內(nèi)部配置實例的框圖;圖4為示例了NAND存儲器的物理配置的圖;圖5為處理器的功能配置實例的框圖;圖6為數(shù)據(jù)管理單元的功能配置的框圖;圖7為當不存在通過庫(bank)的并行操作時比較例中的邏輯塊配置的概念圖;圖8為當存在通過庫的并行操作時比較例中的邏輯塊配置的概念圖;圖9為示例了根據(jù)本發(fā)明的第一實施例的FB管理單元的配置實例的圖;圖10為示例了FB管理列表的圖;圖11為根據(jù)第一實施例的邏輯塊的配置的概念圖;圖12為保留區(qū)(reservearea)和備用區(qū)(marginarea)的概念圖;圖13為示例了根據(jù)本發(fā)明的第二實施例的FB管理單元的配置實例的圖;圖14為示例了備用量表(margintable)的圖;圖15為面?zhèn)溆昧?planemargin)和芯片備用量(chipmargin)的解釋圖;圖16為根據(jù)本發(fā)明的第三實施例的雙倍速優(yōu)先模式的控制過程的流程圖;圖17為示例了備用量表的登記數(shù)據(jù)的實例的圖;圖18為根據(jù)第三實施例的庫優(yōu)先模式的控制過程的流程圖;圖19為根據(jù)本發(fā)明的第四實施例的PC的外部的透視圖;以及圖20為示例了第四實施例的PC的功能配置實例的圖。具體實施例方式關(guān)于閃速存儲器的基元(cell)的劣化,相對于來自主機設備的寫入數(shù)據(jù)的量所需要的閃速存儲器的塊的擦除量成為重要的因素。相對于來自主機設備的寫入數(shù)據(jù)的量的塊的擦除量稱為寫入效率,并且該值越小越好。通常,在NAND型閃速存儲器中,塊的擦除處理和寫入處理需要長的時間。因此,差的寫入效率意味著相對于來自主機設備的數(shù)據(jù)寫入的量存在大量的塊擦除和向被擦除的塊的寫入,因此閃速存儲器的速度性能劣化。由此,需要通過使對閃速存儲器的寫數(shù)據(jù)的量接近塊的擦除量來改善寫入效率的方法。因此,通過引入其中組合了多個作為擦除的單位的物理塊的虛擬塊的概念(例如,參見專利文件1日本專利申請國家公開2007-517325)并以虛擬塊為單位并行地進行擦除/寫入/讀出來實現(xiàn)對寫入效率的改善和并行處理的高速度。然而,通過物理塊構(gòu)成虛擬塊的方法(即,組合物理塊的方法)通常具有限制。當虛擬塊的尺寸太大時,即使希望存儲少量的數(shù)據(jù)時也會無益地使用太多的物理塊,由此劣化了寫入效率。下面將參考附圖詳細說明根據(jù)本發(fā)明的存儲器系統(tǒng)的示例性實施例。本發(fā)明不局限于這些實施例。[第一實施例]圖1為固態(tài)驅(qū)動器(SSD)IOO的配置實例的框圖。SSD100包括作為控制器的諸如驅(qū)動控制電路4的存儲器連接接口、作為非易失性半導體存儲器的NAND型閃速存儲器(下文中,稱為“NAND存儲器”)10、作為非易失性半導體存儲器的動態(tài)隨機存取存儲器(DRAM)20以及高級技術(shù)附件接口(ATAI/F)2。SSD100通過ATAI/F2而被連接到諸如PC或中央處理單元(CPU)的主機設備(下文中,稱為“主機”)1,并用作主機設備1的外部存儲器。NAND存儲器10存儲由主機1指定的用戶數(shù)據(jù),并存儲由DRAM20管理的管理信息以用于備份。NAND存儲器10具有存儲器基元陣列(memorycellarray),在存儲器基元陣列中以矩陣排列多個存儲器基元,并且各存儲器基元可通過使用上位頁(upperpage)和下位頁(lowerpage)來存儲多個值。NAND存儲器10包括多個存儲器芯片,并且每個存儲器芯片通過排列多個物理塊(其是數(shù)據(jù)擦除的單位)而構(gòu)成。NAND存儲器10對每個物理頁寫入和讀出數(shù)據(jù)。物理塊包括多個物理頁。在圖1中,NAND存儲器10通過四個通道0個通道ch0到ch3)而被并行地連接到驅(qū)動控制電路4中的NAND控制器113,并可以并行地操作四個通道并行操作元件IOa到10d。通道的數(shù)據(jù)不限于四個,而是可以使用任意數(shù)目的通道。使用DRAM20作為用于數(shù)據(jù)傳送、管理信息的存儲、或工作區(qū)的存儲單元。具體而言,作為用于數(shù)據(jù)傳送的存儲單元(用于數(shù)據(jù)傳送的高速緩沖存儲器(cache)),DRAM20被用于在將數(shù)據(jù)寫入到NAND存儲器10中之前暫時存儲從主機1請求寫入的數(shù)據(jù),或從NAND存儲器10讀取從主機1請求讀取的數(shù)據(jù)并暫時存儲該數(shù)據(jù)。作為用于管理信息的存儲的存儲單元,DRAM20被用于存儲用于管理在NAND存儲器10中要存儲的數(shù)據(jù)的位置的管理信息(其中在啟動時加載在NAND存儲器10中存儲的各種管理表的主表(mastertable)、作為管理表的變更和差別信息的日志(log)或諸如此類)。驅(qū)動控制電路4通過DRAM20而進行主機1與NAND存儲器10之間的數(shù)據(jù)傳送控制,并控制SSD100中的各部件。驅(qū)動控制電路4包括數(shù)據(jù)存取總線101和電路控制總線102??刂普麄€驅(qū)動控制電路4的處理器104被連接到電路控制總線102。引導(boot)ROM105通過ROM控制器106而被連接到電路控制總線102,在NAND存儲器10中存儲的用于引導各管理程序(FW固件)的引導程序被存儲在引導ROM105中。ATA接口控制器(ΑΤΑ控制器)111、NAND控制器113以及DRAM控制器114被連接到數(shù)據(jù)存取總線101和電路控制總線102二者。ATA控制器111通過ATA接口2而向和從主機1傳送數(shù)據(jù)。用作數(shù)據(jù)工作區(qū)和固件擴展區(qū)的靜態(tài)隨機存取存儲器(SRAM)115通過SRAM控制器116而被連接到數(shù)據(jù)存取總線101。在啟動在NAND存儲器10中存儲的固件時,通過在引導ROM105中存儲的引導程序而將固件傳送到SRAM。DRAM控制器114進行處理器104與DRAM20之間的接口處理和其他類似處理。NAND控制器113執(zhí)行處理器104與NAND存儲器10之間的接口處理、NAND存儲器10與DRAM20之間的數(shù)據(jù)傳送控制、對錯誤校正碼的編碼/解碼處理等等。圖2示出了NAND控制器113與NAND存儲器10之間的連接模式。NAND存儲器10包括通道并行操作元件IOa到10d。各通道并行操作元件IOa到IOd包括能夠進行庫交織(bankinterleave)的多個庫(在圖2中,四個庫,庫0到庫幻,并且在各通道并行操作元件IOa到IOd中的每個庫包括多個存儲器芯片(在圖2中,兩個存儲器芯片,芯片0和芯片1)。如圖2所示,NAND控制器113包括多個通道,每個通道通過用于每個庫的四個芯片使能信號(chipenablesignal)(CE)來分別控制共享控制I/O信號(CtrlI/O)的存儲器芯片。NAND控制器113跨各通道共享四個就緒/忙碌信號(ready/busysignal)(RyBy)來控制,從而共享就緒/忙碌信號(RyBy)的每個通道的存儲器芯片同時操作。共享就緒/忙碌信號(ready/busysignal)(RyBy)的存儲器芯片組被稱為庫,并且多個庫可以獨立地進行寫入/讀出/擦除操作。圖3為NAND控制器113的內(nèi)部配置實例。NAND控制器113包括DMA控制器(DMAC)50、錯誤校正電路(ECC)51以及發(fā)布命令的NAND接口(NANDI/F)52,以便每個通道獨立操作。用于四個庫的CE信號(CE0到CE3)控制線被連接到每個NANDI/F52以控制與被存取的庫對應的CE信號(CE0到CE!3)。NAND控制器113包括四個庫控制器(庫-C)53,為了獨立地操作四個庫,這些庫控制器53監(jiān)視每個庫共同連接的RyBy信號以控制庫的條件。庫-C53具有對各庫的排隊請求的功能以在存在對每個庫的請求時確保正確使用通道,并對由自己的庫-C53管理的庫執(zhí)行讀出/寫入/擦除請求。圖4示出了NAND存儲器10的詳細的內(nèi)部配置。在圖4中,通道數(shù)目被示出為(M+1)個,庫的數(shù)目被示出為N+1個,芯片的數(shù)目被示出為K+1個。如圖4所示,例如,每個存儲器芯片(芯片0到芯片K)被分成兩個區(qū),即,面(Plane)O和面1,每個面包括多個物理塊。面0和面1包括彼此獨立的外圍電路(例如,行解碼器、列解碼器、頁緩沖器和數(shù)據(jù)高速緩沖存儲器),并且可以通過使用雙倍速模式而同時進行擦除、寫入和讀出。在一個存儲器芯片中的面的數(shù)目不限于兩個,而是可以為任意個。如以放大的比例在圖4中示出的,一個存儲器芯片包括多個物理塊(在圖4中,X+1個物理塊)。以該方式,在NAND存儲器10中,可以進行通過多個通道的并行操作、通過多個庫的并行操作以及使用多個面的雙倍速模式的并行操作,并且當通道數(shù)目為4、庫數(shù)目為4且面數(shù)目為2時,可以并行操作最多32個物理塊。圖5為通過處理器104實現(xiàn)的固件的功能配置實例的框圖。通過處理器104實現(xiàn)的固件的功能被大致分類為數(shù)據(jù)管理單元(DM數(shù)據(jù)管理器)120、ATA命令處理單元121(AM=ATA管理器)、安全管理單元122、引導加載器123以及初始化管理單元124。數(shù)據(jù)管理單元120通過NAND控制器113、DRAM控制器114和其他類似控制器而控制NAND存儲器10與DRAM20之間的數(shù)據(jù)傳送和NAND存儲器10的各種功能。ATA命令處理單元121通過ATA控制器111和DRAM控制器114而與數(shù)據(jù)管理單元120協(xié)作進行DRAM20與主機1之間的數(shù)據(jù)傳送。安全管理單元122與數(shù)據(jù)管理單元120和ATA命令處理單元121協(xié)作管理各種安全信息。引導加載器123在電源開啟時將管理程序(固件)從NAND存儲器10加載到SRAM115。初始化管理單元IM進行對驅(qū)動控制電路4中的各控制器和電路的初始化。數(shù)據(jù)管理單元120進行例如ATA命令處理單元121對作為存儲裝置的NAND存儲器10和DRAM20進行請求的功能提供(響應于來自主機1的各種命令,例如,寫請求、高速緩沖存儲器清除(flush)請求以及讀請求)、由主機1給出的邏輯地址與NAND存儲器10之間的對應關(guān)系的管理、通過快照(snapshot)和日志的對管理信息的保護、使用DRAM20和NAND存儲器10的快速和高效的數(shù)據(jù)讀出和寫入功能的提供、以及NAND存儲器10的可靠性的確保。在數(shù)據(jù)管理單元120中,如圖6所示,采用多層管理配置,并且數(shù)據(jù)管理單元120自頂層依次包括ATA層管理單元120a、DRAM層管理單元120b、邏輯層管理單元120c以及物理層管理單元120d。ATA層管理單元120a從ATA命令處理單元121接收請求以響應于該請求,并向適宜的下層管理單元通知該請求。DRAM層管理單元120b使用DRAM管理表30來管理DRAM20上的數(shù)據(jù)。在向SSD100發(fā)布讀或?qū)懻埱髸r,主機1通過ATA接口2而輸入作為邏輯地址的邏輯塊尋址(logicalblockaddressing,LBA)和數(shù)據(jù)尺寸。LBA為具有從0開始的序列號的邏輯地址,其中該從0開始的序列號被附加到扇區(qū)(尺寸512B)。通過組合NAND存儲器10中的多個物理塊來構(gòu)成稱為邏輯塊的虛擬塊。構(gòu)成邏輯塊的各物理塊可以并行操作,并且擦除、寫入和讀出被同時執(zhí)行。在本發(fā)明的該實施例中,基本上通過從不同的通道選擇一個物理塊來構(gòu)成邏輯塊。稍后將描述如何組合構(gòu)成物理塊的物理塊的細節(jié)。邏輯層管理單元120c使用各種邏輯層管理表31來管理NAND存儲器10上的數(shù)據(jù),并執(zhí)行對LBA與邏輯塊之間的對應關(guān)系的管理;從DRAM20到NAND存儲器10的數(shù)據(jù)寫入控制;從NAND存儲器10到DRAM20的數(shù)據(jù)讀出控制;以及對NAND存儲器10中的用戶數(shù)據(jù)的組織。物理層管理單元120d使用各種物理層管理表32來管理NAND存儲器10,并執(zhí)行對邏輯塊的提供、對非易失性信息的管理、對NAND控制器113的控制等等。具體地,物理層管理單元120d執(zhí)行對空閑塊、壞塊和現(xiàn)用塊(activeblock)的管理;對邏輯塊與物理塊之間的對應關(guān)系的管理;對物理錯誤的管理;損耗均衡和刷新;對非易失性管理信息(快照、日志)的管理;以及對NAND控制器113的控制。空閑塊(FB)為在其中不包括有效數(shù)據(jù)且尚未被分配使用的邏輯塊?,F(xiàn)用塊(AB)為被分配使用的邏輯塊。壞塊(BB)為由于大量錯誤而不能被用作存儲區(qū)的物理塊。例如,擦除操作未正常完成的物理塊被登記為壞塊BB。主機1所使用的LBA可以通過由圖6中示出的各種管理表30、31、和32管理的管理信息而與SDD100所使用的邏輯NAND地址(邏輯塊地址或類似地址)和NAND存儲器10所使用的物理NAND地址(物理塊地址或類似地址)相關(guān)聯(lián),并且數(shù)據(jù)可在主機1與NAND存儲器10之間傳送。例如,在國際專利申請PCT/JP09/052598中公開了以該方式使LBA與邏輯NAND地址相關(guān)聯(lián)和使邏輯NAND地址與物理NAND地址相關(guān)聯(lián)的技術(shù),其全部內(nèi)容被并入在本申請中。接下來說明本實施例的實質(zhì)部分。在該設備中,可以進行通過通道的并行操作、通過庫的并行操作以及通過使用面的雙倍速模式的并行操作,并且可以通過使用并行操作而并行地處理物理塊。在本實施例中,優(yōu)化了如何組合構(gòu)成邏輯塊的物理塊,從而有效地進行各并行操作并改善寫入效率。首先說明根據(jù)比較例的邏輯塊的配置方法。例如,考慮將邏輯塊配置為對于具有圖4中示出的物理配置的SSD可以總是確保最大并行度。在該比較例中,將參考圖7和8說明在優(yōu)先確保最大并行度時對物理塊的選擇的限制。(比較例)在根據(jù)比較例的SSD中,在如何組合構(gòu)成邏輯塊的物理塊方面設置了限制(1)到⑶。(1)要從通道并行操作元件(IOa到IOd)選擇的物理塊為屬于具有相同芯片號(芯片0到芯片K)的存儲器芯片的物理塊。(2)是通道中的面0和面1的組合。(3)在每個庫中要滿足限制(1)和(2)。當滿足限制⑴到(3)時,可以進行通過通道、面以及庫的并行操作。將不存在通過庫的并行操作的情況與存在通過庫的并行操作的情況進行彼此比較。在不存在通過庫的并行操作的情況下,如圖7所示,從具有相同芯片號且滿足限制(1)和(2)的所有通道選擇兩個物理塊(面0/面1)以構(gòu)成邏輯塊。在圖7中,一個邏輯塊LBLKO由通道數(shù)目和面數(shù)目的物理塊構(gòu)成,并且一個邏輯塊LBLKl以相同方式由物理塊構(gòu)成。例如,在國際專利申請PCT/JP09/052595中公開了這樣的邏輯塊的配置實例,其全部內(nèi)容被并入在本申請中。另一方面,當存在通過庫的并行操作時,如圖8所示,對于所有的庫(庫0到庫N),從具有相同芯片號的所有通道選擇兩個物理塊(面0/面1)以構(gòu)成邏輯塊。在圖8中,一個邏輯塊LBLKO由通道數(shù)目、面數(shù)目和庫數(shù)目的物理塊構(gòu)成,一個邏輯塊LBLKl以相同方式由物理塊構(gòu)成。由此,當存在通過庫的并行操作時,與不存在并行操作的情況相比,構(gòu)成邏輯塊(S卩,同時操作)的物理塊的數(shù)目以庫的數(shù)目的倍數(shù)增加。如上所述,通過物理層管理單元120d管理邏輯塊與物理塊之間的對應關(guān)系。邏輯塊包括空閑塊FB、現(xiàn)用塊AB以及其他類似的塊,然而,根據(jù)FB管理列表來管理尚未被分配使用的在其中不包括有效數(shù)據(jù)的空閑塊FB。FB管理列表為以變成空閑塊FB的次序而分類的FIFO格式,并且在每個表目(entry)中保持邏輯塊ID。從邏輯層管理單元120c返回的空閑塊FB被添加到FB管理列表的最后,并且在將該邏輯塊傳輸?shù)竭壿媽庸芾韱卧?20c時采用在FB管理列表中的頂邏輯塊。在FB管理列表中,進行損耗均衡以使所有邏輯塊的擦除次數(shù)和擦除間隔大致均等。當不存在通過庫的并行操作時,即使FB管理列表由一個列表構(gòu)成,也幾乎很少存在問題。然而,當存在通過庫的并行操作時,由于構(gòu)成邏輯塊(即,同時操作)的物理塊的數(shù)目以庫的數(shù)目的倍數(shù)增加,即使當希望存儲少量的數(shù)據(jù)時也會無益地使用多個物理塊,11由此劣化了寫入效率。寫入效率的劣化意味著對存儲器基元的擦除和寫入的次數(shù)的增加,由此會縮短整個系統(tǒng)的使用壽命。因此,寫入速度(=并行度)和寫入效率為折衷關(guān)系。因此,在本實施例中,抑制了構(gòu)成邏輯塊的物理塊的數(shù)目的增加,并且根據(jù)處理寫入請求所需的邏輯塊的數(shù)目來控制并行度。當不需要并行性時,賦予寫入效率以優(yōu)先權(quán)。因此,根據(jù)本實施例的SSD100包括多個FB管理列表,并且在每個FB管理列表中管理具有相同的庫號、芯片號和面號的邏輯塊。下面將詳細說明根據(jù)本實施例的SSD100中的構(gòu)成邏輯塊的方法和控制并行度的方法。圖9示出了管理空閑塊FB的FB管理單元40的配置。FB管理單元40包括包含多個FB列表50-1到50-L的FB管理列表50、FB選擇單元42和FB提供單元43,并被實現(xiàn)為例如由物理層管理單元120d提供的功能塊。FB提供單元43響應于來自邏輯層管理單元120c或其他類似單元的請求而向FB選擇單元42通知所要求的信息,例如邏輯塊的數(shù)目。FB選擇單元42基于由FB提供單元43通知的邏輯塊的數(shù)目而從FB管理列表50中的FB列表50-1到50-L選擇所需數(shù)目的邏輯塊(邏輯塊ID),并向FB提供單元43通知所選擇的一個或多個邏輯塊ID。FB提供單元43向邏輯層管理單元120c通知作為空閑塊FB的一個或多個邏輯塊ID。圖10示出了構(gòu)成FB管理列表50的多個FB列表50_1到50-L。在各FB列表50_1到50-L中輸入具有相同的庫號/芯片號/面號的邏輯塊的邏輯塊ID。FB列表50-1到50-L具有包括返回FB列表50a和分配FB列表50b的兩級配置。邏輯塊ID被記錄在每個表目中。以擦除時間的順序排列返回FB列表50a,具有較少擦除次數(shù)的邏輯塊位于該列表的頂部。這用于防止以短時間間隔重復擦除操作。從邏輯層管理單元120c返回的不需要的邏輯塊被添加到返回FB列表50a的最后,且在其中保持特定的時長。根據(jù)擦除的次數(shù)而將從返回FB列表50a推出的邏輯塊插入在分配FB列表50b的中間。當獲得邏輯塊時,F(xiàn)B選擇單元42從分配FB列表50b的頂部取出邏輯塊以分配該邏輯塊。從分配FB列表50b取出的作為FB的邏輯塊被登記為對其分配了使用的現(xiàn)用塊(AB)。由于FB列表具有含有返回FB列表50a和分配FB列表50b的兩級配置,可以使被擦除的邏輯塊均等地分布(損耗均衡),從而所有邏輯塊的擦除次數(shù)和擦除間隔大致相同。NAND型閃速存儲器的使用壽命依賴于擦除間隔以及擦除次數(shù),并且公知當間隔變長時保持特性改善且可以延長使用壽命。這表明如果擦除間隔短,則保持特性劣化且使用壽命縮短。還公知即使以短的間隔進行寫入,如果長時間沒有進行相應的擦除,也可以恢復保持特性。例如在國際專利申請PCT/JP08/066508中公開了一種與這樣的損耗均衡處理有關(guān)的技術(shù),并將其全部內(nèi)容并入在本申請中。在本實施例中,如圖11所示,通過從各通道收集具有相同的庫號/芯片號/面號的物理塊而構(gòu)成邏輯塊。即,在本實施例中,關(guān)于如何組合構(gòu)成邏輯塊的物理塊設定了下面的限制(1)到⑷。(1)選擇每個通道的一個物理塊。(2)從屬于相同芯片號的物理塊中選擇每個通道的物理塊。(3)從屬于相同面號的物理塊中選擇每個通道的物理塊。(4)選擇相同庫中的物理塊。因此,可針對每個庫、每個芯片以及每個面來對邏輯塊分類。如圖10所示,各FB列表50-1到50-L被配置為具有相同庫號/芯片號/面號的邏輯塊的列表。FB選擇單元42根據(jù)來自FB提供單元43的請求確定用于從FB列表50_1到50_L獲得能夠進行并行操作的一個或多個空閑塊FB的列表的組合。在圖11中示出的邏輯塊配置的情況下,當需要最大并行度時考慮雙倍速模式,F(xiàn)B選擇單元42選擇如下(1)選擇一個庫中的具有相同芯片號的面0和面1的邏輯塊。因此,關(guān)于庫0,F(xiàn)B選擇單元42選擇例如用于屬于面0的通道的屬于“芯片a”的一個邏輯塊(LBLKO)以及用于屬于面1的通道的屬于“芯片a”的一個邏輯塊(LBLKl),由此選擇兩個邏輯塊。(2)通過對所有的庫進行與上述相同的處理而選擇2X庫數(shù)目(N+1)個的邏輯塊(LBLK0到LBLK2N+1)。因此,可以進行對2X庫數(shù)目(N+1)個邏輯塊(LBLK0到LBLK2N+1)的并行寫入。另一方面,當從FB提供單元43請求一個邏輯塊時,F(xiàn)B選擇單元42從FB列表50-1到50-L選擇一個列表,并從所選擇的列表獲得空閑塊FB以例如從邏輯塊LBLKO到LBLK2N+1選擇一個邏輯塊。由此,由于可以根據(jù)所需要的并行度來確定用于實際寫入的并行度,因此即使當寫入少量數(shù)據(jù)時,寫入效率也不會劣化。FB提供單元43所需的邏輯塊的數(shù)目并不局限于與最大并行度對應的邏輯塊數(shù)目或作為最小的邏輯塊數(shù)目的邏輯塊數(shù)目的1個,而是可以采用從1到與最大并行度對應的邏輯塊數(shù)目的任意值。FB選擇單元42根據(jù)所請求的任意邏輯塊數(shù)目而從FB列表50-1到50-L選擇列表,以從所選擇的列表獲得空閑塊FB。接下來說明選擇用于從FB列表50-1到50_L獲得FB的列表的算法。下面說明兩種算法(第一算法和第二算法)。在第一算法中,通過這樣的循環(huán)(round-robin)方法選擇用于獲得空閑塊FB的列表(庫/芯片/面),該循環(huán)方法通過與在每個庫/芯片/面中產(chǎn)生的壞塊(BB)的數(shù)目(BB數(shù)目)的逆向(inversely)對應的值(例如,BB數(shù)目的倒數(shù))、在每個庫/芯片/面中可使用的邏輯塊的數(shù)目(空閑塊FB的數(shù)目和現(xiàn)用塊AB的數(shù)目的總和)以及屬于各FB列表的塊的數(shù)目而被加權(quán)。即,采用經(jīng)加權(quán)以增加在BB的數(shù)目變少時獲得空閑塊FB的概率的循環(huán)方法。壞塊BB為由于大量的錯誤而不能被用作存儲區(qū)的物理塊,并且,例如,擦除操作未正常完成的物理塊被登記為壞塊BB。其中在寫入更新數(shù)據(jù)時不存在有效數(shù)據(jù)的現(xiàn)用塊AB被登記為空閑塊FB,并等待以被重新再利用(reuse)作為現(xiàn)用塊AB。在具有增加的BB數(shù)目的庫/芯片/面中,可使用的邏輯塊的數(shù)目(空閑塊FB的數(shù)目和現(xiàn)用塊AB的數(shù)目的總和)減小。如果不考慮可用邏輯塊BB的數(shù)目而以相同的概率獲得空閑塊FB,則在其中邏輯塊的數(shù)目因壞塊BB的頻繁產(chǎn)生而減小的FB列表50中,在再利用以前的使用間隔縮短。在NAND閃速存儲器中,應避免再利用的間隔(弛豫時間)的縮短,這是因為這樣會縮短使用壽命。在由BB數(shù)目加權(quán)的循環(huán)方法中,無論邏輯塊的數(shù)目如何,都可以均衡弛豫時間。在第二算法中,在庫之間和在庫中采用獨立的循環(huán)方法。在庫之間采用非加權(quán)循環(huán)方法,以便每次可以獲得不同庫的空閑塊FB。由于在庫之間沒有提供優(yōu)先級(每次可獲得不同庫的空閑塊),因此可以獲得至少庫的數(shù)目的并行度。在庫中,與第一算法同樣地,通過這樣的循環(huán)方法選擇用于獲得空閑塊FB的列表(芯片/面),該循環(huán)方法通過與在每個庫/芯片/面中產(chǎn)生的BB的數(shù)目逆向?qū)闹?例如,BB數(shù)目的倒數(shù))、在每個庫/芯片/面中可使用的邏輯塊的數(shù)目以及屬于各FB列表的塊的數(shù)目而被加權(quán)。因此,在該庫中,從具有較少BB數(shù)目的芯片和面獲得空閑塊FB的機會增加,從而可以均衡弛豫時間。當采用第二算法時,可以進一步獲得以下優(yōu)點。如果逐一獲得邏輯塊,則可以以庫0—庫1—庫2—庫3—…一庫N(N為庫號的最大值)的順序每次從不同的庫獲得空閑塊FB,這在復制重要信息時是有效的。如圖2所示,如果庫是不同的,則物理存儲器芯片是不同的,由此共同連接到RyByO到RyBy3的信號線變?yōu)椴煌?。S卩,即使RyBy信號線中的一個被毀壞而無法操作,數(shù)據(jù)也可以從備份側(cè)(backupside)讀出。因此,與在同一存儲器芯片中物理地復制重要信息的情況相比,在復制重要信息時,可以改善可靠性。作為需要復制的信息,例如,可以考慮在SSD100上操作的固件的非易失性管理信息,例如日志和快照。這是因為,如果這些信息段被丟失,則不能正常地讀出在NAND存儲器10中寫入的數(shù)據(jù)。當選擇用于存儲需要復制的這樣的管理信息的存儲器芯片時,可僅僅通過采用第二算法來獲得用于一個邏輯塊的空閑塊FB而預期可靠性改善。可采用以下值作為循環(huán)方法的加權(quán)值。除了可從主機1看到的用戶數(shù)據(jù)存儲區(qū)(保留區(qū))之外,NAND存儲器10通常包括不能從主機設備1看到的存儲區(qū)(備用區(qū))。該保留區(qū)可由LBA指定為供主機1使用的邏輯地址。備用區(qū)被用作在從DRAM20向保留區(qū)傳送數(shù)據(jù)時的緩沖區(qū)或用于存儲管理信息(包括邏輯層管理表31和物理層管理表32)。由于保留區(qū)具有與可從用戶看到的SSD的容量相同的容量,因此即使產(chǎn)生了壞塊BB也需要一直使保留區(qū)的容量保持恒定。因此,當壞塊BB的數(shù)目增加時,備用區(qū)隨整個SSD而減小。當關(guān)注并考慮一個邏輯塊時,該邏輯塊屬于保留區(qū)和備用區(qū)中的哪一個隨著與SSD的使用對應的時間而改變。被用作保留區(qū)的邏輯塊稱為包括塊,而被用作備用區(qū)的邏輯塊稱為備用塊。例如,當用于存儲管理信息的邏輯塊被釋放并返回到空閑塊列表并且之后被分配為用于存儲用戶數(shù)據(jù)的邏輯塊時,該邏輯塊在被用于存儲管理信息的時刻是備用塊中的一個;然而,該邏輯塊在被用于存儲用戶數(shù)據(jù)的時刻成為保留塊中的一個。此外,在一個塊被保持在空閑塊列表中的狀態(tài)下,無法指定該塊對應于備用塊和保留塊中的哪一個,例外情況除外。如果對每個FB列表50-1到50-L管理備用塊的數(shù)目或未使用的備用塊的數(shù)目,則在庫中,通過使用由備用塊的數(shù)目或未使用的備用塊的數(shù)目加權(quán)的循環(huán)方法選擇用于獲得空閑塊FB的列表(芯片/面),可以增加從具有較少BB數(shù)目的芯片和面獲得空閑塊FB的機會。備用塊的數(shù)目為屬于備用區(qū)的空閑塊FB的數(shù)目和現(xiàn)用塊AB的數(shù)目的總和。未使用的備用塊的數(shù)目為屬于備用區(qū)的空閑塊FB的數(shù)目。在一個FB列表中的備用塊的數(shù)目和未使用的備用塊的數(shù)目通過以下方式獲得。即,將通過累計(totalize)備用區(qū)和保留區(qū)而獲得的NAND存儲器10的整個存儲器容量除以FB列表的總數(shù)目,并將該相除的結(jié)果除以一個邏輯塊的存儲器容量,從而得到可在一個FB列表中輸入的邏輯塊的數(shù)目D。圖12概念性地示出了一個FB列表中的備用/保留塊的分配。由于保留區(qū)需要一直確保特定的容量,因此,如果不存在壞塊BB,則通過從可在一個FB列表中輸入的邏輯塊的數(shù)目D減去用于保留塊的預定數(shù)目Dl而獲得的邏輯塊的數(shù)目D2變?yōu)橛糜趥溆脡K。如果從邏輯塊的數(shù)目D2減去與FB列表對應的庫/芯片/面中的壞塊BB的數(shù)目D3,則可以獲得備用塊的數(shù)目D4。此外,通過從備用塊的數(shù)目D4依次減去被用作管理區(qū)或緩沖區(qū)的備用塊的數(shù)目,可以獲得未使用的備用塊的數(shù)目。由此,通過以下方式從具有較少壞塊數(shù)目的庫/芯片/面優(yōu)先獲得空閑塊對于每個FB列表根據(jù)由備用塊的數(shù)目或未使用的備用塊的數(shù)目加權(quán)的循環(huán)方法來選擇用于獲得空閑塊FB的列表。根據(jù)本實施例,提供多個FB管理列表。在每個FB管理列表中,管理具有相同庫號/芯片號/面號的邏輯塊,并且FB選擇單元42響應于來自邏輯層管理單元120c的請求而獲得所需的邏輯塊(空閑塊FB)。因此,當需要大并行度時,通過多并行處理(multi-parallelprocessing)實現(xiàn)高速度,而當小并行度足以時,可進行賦予寫入效率以優(yōu)先權(quán)的處理。[第二實施例]圖13示出了本發(fā)明的第二實施例,并且在圖9的FB管理單元40中添加FB并行度計算單元45,其中FB并行度計算單元45計算可并行操作的空閑塊FB的數(shù)目。在向FB提供單元43請求空閑塊FB之前,邏輯層管理單元120c請求FB并行度計算單元45計算當前能夠并行操作的空閑塊FB的數(shù)目。FB并行度計算單元45響應于來自邏輯層管理單元120c的請求而計算當前能夠并行操作的空閑塊FB的數(shù)目。根據(jù)以下過程計算能夠并行操作的空閑塊FB的數(shù)目。(1)計算庫中的并行度。(2)添加在所有庫的各庫中計算的并行度。通過在庫中的空閑塊FB中是否存在具有相同芯片號的面0和面1的對(是否存在能夠以雙倍速模式操作的面對),來確定庫中的并行度(在庫中可以同時使用多少個空閑塊FB)。當在特定的庫中存在具有相同芯片號的面0和面1的對時,由于該對可以雙倍速模式進行并行操作,因此并行度為2。當僅存在面0和面1中的一個時,并行度為1,而當在庫中不存在空閑塊FB時,并行度為0。FB并行度計算單元45向邏輯層管理單元120c通知所計算的能夠并行操作的空閑塊FB的數(shù)目。邏輯層管理單元120c可根據(jù)所通知的結(jié)果(并行度)而改變自身的處理。例如,當可以有效地確保并行度時,首先收集大量數(shù)據(jù)以執(zhí)行寫入處理。在第二實施例中,由于計算了可能的并行度,并將其通知給邏輯層管理單元120c,因此邏輯層管理單元120c可以通過根據(jù)所通知的結(jié)果改變自身的處理來進行有高效處理,由此改善了寫入效率。[第三實施例]在本發(fā)明的第三實施例中,解釋第二實施例的特定處理內(nèi)容。在第三實施例中,當物理層管理單元120d確保由邏輯層管理單元120c請求的并行度η時,可以切換雙倍速優(yōu)先模式和庫優(yōu)先模這兩種模式,其中雙倍速優(yōu)先模式用于通過將優(yōu)先權(quán)賦予雙倍速而確保并行度,庫優(yōu)先模式通過將優(yōu)先權(quán)賦予庫并行度而確保并行度。圖13示出的FB并行度計算單元45具有在圖14中示出的備用量表。如圖14所示,在備用量表中登記當將雙倍速模式用于每個庫時與芯片的備用量有關(guān)的信息和當使用正常模式而不使用雙倍速模式時與面的備用量有關(guān)的信息。在每次發(fā)生其中所登記的數(shù)據(jù)被更新的事件時更新備用量表。被形成為具有相同庫號/芯片號/面號的邏輯塊的列表的FB列表50-1到50-L(如圖10所示)中的一個中的空閑塊FB的當前數(shù)目被定義為“面?zhèn)溆昧?planemargin)”。如果在一個FB列表50_1中的空閑塊FB的數(shù)目為例如20個,則由該FB列表保持的面?zhèn)溆昧繛?0。當假設構(gòu)成芯片的兩個“面?zhèn)溆昧俊睘閄和Y時,較小的“面?zhèn)溆昧俊北欢x為該芯片的“芯片備用量(chipmargin)”。當一個芯片的面0的面?zhèn)溆昧繛?0且在同一芯片中的面1的面?zhèn)溆昧繛?5時,該芯片的芯片備用量為15。在備用量表中的雙倍速模式角度(perspective)的列中,保持指示出在屬于庫的芯片中哪個芯片具有最高芯片備用量的信息(芯片號)和芯片備用量的值(下文中,稱為“在雙倍速操作時的庫備用量(bankmargin)”)。在備用量表中的正常模式角度的列中,保持指示出在屬于庫的面中哪個芯片的哪個面具有最高備用量的信息(芯片號/面號)和面?zhèn)溆昧康闹?下文中,稱為“在正常操作時的庫備用量”)?;陔p倍速操作時的庫備用量而確定在雙倍速優(yōu)先模式下各庫之間的選擇優(yōu)先權(quán),并且基于在正常操作時的庫備用量而確定在庫優(yōu)先模式下各庫之間的選擇優(yōu)先權(quán)。例如,當庫0中的各芯片和各面中的面?zhèn)溆昧亢托酒瑐溆昧刻幱趫D15所示的狀態(tài)時,庫0中具有最高芯片備用量的芯片為其芯片備用量為20的芯片3,而庫0中的具有最高面?zhèn)溆昧康拿鏋槠涿鎮(zhèn)溆昧繛?0的芯片0的面1。因此,在備用量表中的庫0的雙倍速模式角度的列中,登記指示芯片3的芯片號和備用量的值20,并且在正常模式角度的列中,登記指示芯片0/面1的芯片號/面號和備用量的值30。當作為上層的邏輯層管理單元120c請求FB提供單元43選擇空閑塊FB時,邏輯層管理單元120c首先向FB并行度計算單元45詢問當前可選擇的并行度的最高值,然后請求FB選擇單元42通過FB提供單元43而分配具有不超過最高值的并行度的塊。當從邏輯層管理單元120c請求分配空閑塊FB時,F(xiàn)B選擇單元42處于其中一直可以進行具有特定并行度的分配的狀態(tài)。以與在第二實施例中解釋的方式相同的方式,根據(jù)下列過程通過FB并行度計算單元45進行并行度計算。(a)通過下列方式計算庫0的并行度。(a-Ι)當雙倍速操作時的備用量大于0時,將庫0的并行度指定為2。(a-2)當雙倍速操作時的備用量為0且在正常操作時的備用量大于0時,將庫0的并行度指定為1。(a-3)當雙倍速操作/正常速度時的備用量都為0時,將庫0的并行度指定為0。(b)以與庫0相同的方式計算庫1到N的并行度。(c)將在(a)和(b)中計算的各庫的并行度的總和指定為在該時刻用于選擇塊的并行度,并向邏輯層管理單元120c通知該并行度。接下來,參考圖16解釋通過賦予雙倍速以優(yōu)先權(quán)來確保并行度的雙倍速優(yōu)先系統(tǒng)。對于在相同的庫和芯片中但在不同的面中的空閑塊FB的對,雙倍速操作的執(zhí)行受到限制。這里假設從邏輯層管理單元120c請求具有并行度η的塊的分配。圖12中的FB選擇單元42參考圖14中示出的備用量表以選擇在雙倍速操作時具有最大備用量的庫,并選擇屬于與在雙倍速操作時所選擇的庫的備用量對應的芯片的兩個面的空閑塊FB的各一個(選擇總共兩個空閑塊FB)(步驟S100)。FB選擇單元42確定所選擇的空閑塊FB的總和是否已經(jīng)達到Int(η/2)*2(步驟Sl10)。Int(η/2)拉表示舍去在除法η/2的結(jié)果中的小數(shù)點后面的數(shù)字而獲得整數(shù)值的操作。例如,當η=3時,Int(η/2)=1,因此=2。當在步驟SllO的確定結(jié)果為是時,過程進行到步驟S125。當在步驟SllO的確定結(jié)果為否時,過程進行到步驟S120。在步驟S120,F(xiàn)B選擇單元42參考備用量表以確定是否存在其中在雙倍速操作時的備用量不是0的庫(步驟S120)。當存在其中在雙倍速操作時的備用量不是0的庫時,F(xiàn)B選擇單元42從除了已經(jīng)在步驟SlOO中選擇的庫之外的庫選擇在雙倍速操作時具有最大備用量的庫,并且選擇屬于在雙倍速操作時與所選擇的庫的備用量對應的芯片的兩個面的空閑塊FB的各一個(選擇總共兩個空閑塊FB)(步驟S100)。重復從步驟SlOO到S120的過程直到所選擇的空閑塊FB的總和達到Int(η/2)或不存在其中在雙倍速操作時的備用量不是0的庫。在步驟S125,F(xiàn)B選擇單元42確定所選擇的空閑塊FB的總和是否達到從邏輯層管理單元120c請求的并行度η。當所選擇的空閑塊FB的總和達到并行度η時,處理結(jié)束。當在步驟S125中的確定為否時,F(xiàn)B選擇單元42參考備用量表以從未選擇的庫中選擇在正常操作時具有最大備用量的庫,并選擇屬于與所選擇的庫在正常操作時的備用量對應的芯片/面的一個空閑塊FB(步驟S130)。此后,對未選擇的庫重復在步驟S130和步驟S140中的處理,直到所選擇的空閑塊的總和達到并行度η。當所選擇的空閑塊的總和達到η時,選擇處理結(jié)束。例如,假設備用量表處于圖17所示的狀態(tài)。在圖17中,在庫0中,芯片0指示在雙倍速操作時的最大備用量,其備用量為15,并且芯片0/面1指示在正常操作時的最大備用量,其備用量為20。在庫1中,芯片2指示在雙倍速操作時的最大備用量,其備用量為10,并且芯片2/面0指示在正常操作時的最大備用量,其備用量為30。在庫2中,在雙倍速操作時的最大備用量為0,并且芯片3/面1指示在正常操作時的最大備用量,其備用量為27。在庫3中,在雙倍速操作時的最大備用量為0,并且芯片2/面0指示在正常操作時的最大備用量,其備用量為9。在這樣的表狀態(tài)的情況下,假設邏輯層管理單元120c請求并行度η=5,以及通過賦予雙倍速以優(yōu)先權(quán)來選擇空閑塊FB。首先選擇具有在雙倍速操作時的最大備用量15的庫0,并且從庫0的芯片0的面0和面1各選擇一個空閑塊FB,即,選擇總共兩個空閑塊FB(步驟S100)。在該狀態(tài)下,由于在步驟SllO和S120處的確定為否,因此從庫0之外的庫1到3選擇具有在雙倍速操作時的最大備用量10的庫1,并從庫1的芯片2的面0和1各選擇一個空閑塊FB,即,總共兩個空閑塊FB(步驟S100)。在該狀態(tài)下,所選擇的空閑塊的數(shù)目為4,并且在步驟SllO中處的確定為是且在S125處的確定為否,因而過程進行到步驟S130。在步驟S130,F(xiàn)B選擇單元42從未選擇的庫2和3選擇具有在正常操作時的最大備用量27的庫2,并從庫2的芯片3的面1選擇一個空閑塊FB。由于所選擇的空閑塊的數(shù)目在此階段變?yōu)槲鍌€且在步驟S140處的確定為是,因此選擇處理結(jié)束。結(jié)果,從庫0的芯片0的面0和1、庫1的芯片2的面0和1以及庫2的芯片3的面1個各選擇了一個空閑塊FB,由此通過賦予雙倍速以優(yōu)先權(quán)而實現(xiàn)了并行度5。此外,在圖17示出的表狀態(tài)下,當邏輯層管理單元120c請求并行度η=3,并且通過賦予雙倍速以優(yōu)先權(quán)來選擇空閑塊FB時,首先選擇具有在雙倍速操作時的最大備用量15的庫0,并從庫0的芯片0的面0和面1各選擇一個空閑塊FB,即,總共兩個空閑塊FB(步驟S100)。在該階段,所選擇的空閑塊的數(shù)目為兩個,并且在步驟SllO處的確定為是且在步驟S125處的確定為否,從而過程進行到步驟S130。在步驟S130,從未選擇的庫2和3選擇具有在正常操作時的最大備用量30的庫1,并從庫1的芯片2的面0選擇一個空閑塊FB。由于在該階段所選擇的空閑塊的數(shù)目變?yōu)槿齻€并且在步驟S140處的確定為是,選擇處理結(jié)束。結(jié)果,從庫0的芯片0的面0和1和庫1的芯片2的面0各選擇了一個空閑塊FB,由此通過賦予雙倍速以優(yōu)先權(quán)而實現(xiàn)了并行度3。接下來,參考圖18解釋通過賦予庫并行度以優(yōu)先權(quán)來確保并行度的庫并行度優(yōu)先系統(tǒng)。這里假設從邏輯層管理單元120c請求具有并行度η的塊的分配。FB選擇單元42參考備用量表以計算其中在正常操作時備用量不為0的庫的數(shù)目m(步驟S200)。FB選擇單元42比較m與由邏輯層管理單元120c指定的并行度n(步驟S210)。當m彡η時,F(xiàn)B選擇單元42執(zhí)行步驟S220到S230的處理,而當m<η時,執(zhí)行步驟S250到S280的處理。當m>η時,F(xiàn)B選擇單元42參考備用量表以從所有的庫選擇具有在正常操作時的最大備用量的庫,并選擇屬于與在正常操作時所選擇的庫的備用量對應的芯片/面的一個空閑塊FB(步驟S220)。FB選擇單元42確定所選擇的空閑塊FB的總和是否已達到從邏輯層管理單元120c請求的并行度η(步驟S230)。當該總和未達到并行度η時,F(xiàn)B選擇單元42對未選擇的庫重復步驟S220和S230的處理,直到所選擇的空閑塊的總和達到并行度η。當所選擇的空閑塊的總和達到η時,F(xiàn)B選擇單元42結(jié)束選擇處理。當m<η時,F(xiàn)B選擇單元42參考備用量表以從所有的庫選擇具有在雙倍速操作時的最大備用量的庫,并從屬于與在雙倍速操作時所選擇的庫的備用量對應的芯片的兩個面的空閑塊FB各選擇一個(選擇總共兩個空閑塊FB)(步驟S250)。FB選擇單元42確定所選擇的空閑塊FB的總和是否已經(jīng)達到2(n-m)(步驟S260)。當總和沒有達到2(n-m)時,F(xiàn)B選擇單元42從未選擇的庫選擇具有在雙倍速操作時的最大備用量的庫,并從屬于與所選擇的庫的在雙倍速操作時的備用量對應的芯片的兩個面的空閑塊FB各選擇一個(總共兩個空閑塊FB)(步驟S250)。重復步驟S250和S260的處理,直到所選擇的空閑塊FB的總和達到2(n-m)。當所選擇的空閑塊FB的總和已經(jīng)達到2(n-m)時,F(xiàn)B選擇單元42參考備用量表以選擇未選擇的庫的在正常操作時具有最大備用量的庫,并選擇屬于與所選擇的庫的正常操作時的備用量對應的芯片/面的一個空閑塊FB(步驟S270)。此后,對未選擇的庫重復在步驟S270和步驟S280處的處理,直到所選擇的空閑塊的總和達到并行度η。當所選擇的空閑塊的總和達到η(步驟S280)時,選擇處理結(jié)束。在圖17中示出的表狀態(tài)下,假設從邏輯層管理單元120c請求并行度η=3以通過賦予庫并行度以優(yōu)先權(quán)來選擇空閑塊FB。在圖17中示出的表狀態(tài)下,由于其中在正常操作時的備用量不是0的庫的數(shù)目m=4,因此在步驟S210中m>η成立。首先選擇在正常操作時具有最大備用量的庫1,并從庫1的芯片2的面0選擇一個空閑塊FB(步驟S220)。然后選擇庫2,從庫2的芯片3的面1選擇一個空閑塊FB,并選擇庫0,從庫0的芯片0的面1選擇一個空閑塊FB,由此選擇三個空閑塊并實現(xiàn)了并行度η=3。在圖17中示出的表狀態(tài)下,假設從邏輯層管理單元120c請求并行度η=5以通過賦予庫并行度以優(yōu)先權(quán)來選擇空閑塊FB。由于庫的數(shù)目m=4,因此在步驟S210中m<η成立。在步驟S250中,選擇在雙倍速操作時具有最大備用量的庫0,并從庫0的芯片0的面0和1各選擇一個空閑塊FB,總共選擇兩個空閑塊FB。在該選擇階段,步驟S260處的確定變?yōu)槭牵⑶彝ㄟ^重復步驟S270和S280的處理三次(庫1的芯片2的面0、庫2的芯片3的面1以及庫3的芯片2的面0)而從為未選擇的庫1到3各選擇一個空閑塊FB。因此,總共選擇了五個空閑塊FB,從而能夠?qū)崿F(xiàn)并行度η=5。在賦予庫并行度以優(yōu)先權(quán)的情況下,進行步驟S250和S260的處理以便將雙倍速模式用于未通過庫并行度提供的部分。即,在4個庫和2個面的配置中請求并行度5的情況下,當優(yōu)先權(quán)被賦予庫并行度時,僅僅對一個庫使用雙倍速模式,并且對剩余的三個庫使用正常模式。在4個庫和2個面的配置中請求并行度5的情況下,當優(yōu)先權(quán)被賦予雙倍速時,盡可能多地在兩個庫中使用雙倍速模式,并在剩余的一個庫中使用正常模式。由此,在第三實施例中,當通過使用其中登記在正常操作時的庫備用量和在雙倍速操作時的庫備用量的備用量表來確保所請求的并行度η時,可以切換兩個模式,S卩,用于通過賦予雙倍速以優(yōu)先權(quán)來確保并行度的雙倍速優(yōu)先模式和用于通過賦予庫并行度以優(yōu)先權(quán)來確保并行度的庫優(yōu)先模式。當使用雙倍速模式時,與正常模式相比,確保較大并行度的概率有所增加。因此,當所請求的并行度小時,使用通過賦予正常模式以優(yōu)先權(quán)的庫并行度優(yōu)先系統(tǒng),而當所請求的并行度大時,使用雙倍速優(yōu)先系統(tǒng)。于是,當以小的并行度操作庫時,可以維持多組能夠進行雙倍速操作的邏輯塊。當以大并行度實際操作庫時,連續(xù)地多次進行雙倍速操作的概率增加,并可以高速地進行大數(shù)據(jù)的寫入處理。在第三實施例中,空閑塊FB的當前數(shù)目被登記為備用量表中的備用量,以便基于該備用量而選擇雙倍速優(yōu)先模式或庫優(yōu)先模式中的FB列表。然而,在第一實施例中解釋的與壞塊BB的數(shù)目逆向?qū)闹?例如,BB的數(shù)目的倒數(shù))、在每個庫/芯片/面中可使用的邏輯塊的數(shù)目、或者備用塊或未使用的備用塊的數(shù)目可被指定作為備用量以根據(jù)該備用量而選擇雙倍速優(yōu)先模式或庫優(yōu)先模式中的FB列表。[第四實施例]圖19為其上安裝有SSD100的PC1200的實例的透視圖。PC1200包括主體1201和顯示單元1202。顯示單元1202包括顯示外殼1203和容納在顯示外殼1203中的顯示裝置1204。主體1201包括機架1205、鍵盤1206以及作為指點裝置的觸摸板1207。機架1205包括主電路板、光盤裝置(ODD)單元、卡槽以及SSD100??ú郾辉O置為鄰近機架1205的周壁。周壁具有面向卡槽的開口1208。用戶可以通過開口1208從機架1205的外側(cè)將附加裝置插入或移出卡槽。SSD100在被安裝在PC1200上的狀態(tài)下可被用于替代常規(guī)硬盤驅(qū)動器(HDD),并且在被插入到卡槽中的狀態(tài)下可被用作附加裝置。圖20為其上安裝有SSD100的PC1200的系統(tǒng)配置實例的示意圖。PC1200包括CPU1301、北橋1302、主存儲器1303、視頻控制器1304、音頻控制器1305、南橋1309、基礎(chǔ)輸Λ/輸出系統(tǒng)只讀存儲器(BIOS-ROM)1310、SSD100、ODD單元1311、嵌入的控制器/鍵盤控制器IC(EC/KBC)1312以及網(wǎng)絡控制器1313。CPU1301為用于控制PC1200的操作的處理器,并執(zhí)行從SSD100加載到主存儲器1303的操作系統(tǒng)(OS)。此外,當ODD單元1311能夠執(zhí)行對所安裝的光盤的讀取處理和寫入處理中的至少一種時,CPU1301執(zhí)行該處理。此外,CPU1301執(zhí)行存儲在BIOS-ROM1310中的系統(tǒng)BIOS。系統(tǒng)BIOS為用于控制PC1200的硬件的計算機程序。北橋1302為將CPU1301的本地總線連接到南橋1309的橋裝置。北橋1302具有用于控制對主存儲器1303的存取的存儲器控制器。此外,北橋1302具有通過加速圖形端口(AGP)總線和諸如此類執(zhí)行與視頻控制器1304的通信和與音頻控制器1305的通信的功能。主存儲器1301在其中暫時存儲計算機程序和數(shù)據(jù),并用作CPU1301的工作區(qū)。主存儲器1303例如包括DRAM。視頻控制器1304為視頻再現(xiàn)控制器,其用于控制用作PC1200的顯示監(jiān)視器的顯示單元1202。音頻控制器1305為音頻再現(xiàn)控制器,其用于控制PC1200的揚聲器1306。南橋1309控制在低針腳數(shù)(LPC)總線1314上的每個裝置和在外圍部件互連(PCI)總線1315上的每個裝置。此外,南橋1309通過ATA接口而控制SSD100,SSD100為存儲各種類型的軟件和數(shù)據(jù)的存儲器裝置。PC1200以扇區(qū)為單位對SSD100存取。寫命令、讀命令、高速緩沖存儲器清除命令以及其他類似命令通過ATA接口而被輸入到SSD100。南橋1309具有控制對BI0S-R0M1310和ODD單元1311的存取的功能。EC/KBC1312為其中集成了用于電源管理的嵌入控制器以及用于控制鍵盤1206和觸摸板1207的鍵盤控制器的單片微計算機。EC/KBC1312具有基于用戶對電源按鈕的操作而開啟/關(guān)閉PC1200的功能。網(wǎng)絡控制器1313為例如執(zhí)行與諸如互連網(wǎng)的外部網(wǎng)絡的通信的通信裝置。本領(lǐng)域的技術(shù)人員容易想到其他優(yōu)點和修改。因此,本發(fā)明在其更寬的方面不局限于在本文中示出和描述的具體細節(jié)和代表性實施例。因此,在不背離由所附權(quán)利要求及其等價物限定的總發(fā)明構(gòu)思的精神或范圍的情況下,可以進行各種修改。權(quán)利要求1.一種存儲器系統(tǒng),包括非易失性半導體存儲器,其具有多個包括多個存儲器芯片的通道并行操作元件,其中每個存儲器芯片被分成能夠并行操作的多個面,每個面包括多個作為數(shù)據(jù)擦除的單位的物理塊,并且在并行操作的各通道并行操作元件中的所述存儲器芯片被分成多個庫,所述多個庫跨所述通道并行操作元件而分別共享就緒/忙碌信號;以及控制器,其基于與從并行操作的所述通道并行操作元件選擇的物理塊相關(guān)聯(lián)的邏輯塊而管理空閑塊,并控制通過所述面、庫或通道并行操作元件的并行操作,其中所述控制器包括多個空閑塊管理列表,其中具有相同庫號、相同芯片號和相同面號的所述邏輯塊被分別管理作為所述空閑塊;以及空閑塊選擇單元,其從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表以從所選擇的空閑塊管理列表獲得空閑塊。2.根據(jù)權(quán)利要求1的存儲器系統(tǒng),其中所述空閑塊選擇單元從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表,以便優(yōu)先選擇與屬于一個庫并屬于一個芯片的具有較少的壞塊數(shù)目的一個面對應的空閑塊管理列表。3.根據(jù)權(quán)利要求1的存儲器系統(tǒng),其中所述空閑塊選擇單元從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表而不設定所述庫之間的優(yōu)先權(quán),并在庫中從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表,以便優(yōu)先選擇與屬于一個庫并屬于一個芯片的具有較少的壞塊數(shù)目的一個面對應的空閑塊管理列表。4.根據(jù)權(quán)利要求3的存儲器系統(tǒng),其中所述空閑塊選擇單元通過使用由與所述壞塊數(shù)目逆向?qū)闹导訖?quán)的循環(huán)方法來從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表。5.根據(jù)權(quán)利要求3的存儲器系統(tǒng),其中所述空閑塊選擇單元通過使用由輸入到所述空閑塊管理列表中的邏輯塊的數(shù)目加權(quán)的循環(huán)方法來從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表。6.根據(jù)權(quán)利要求3的存儲器系統(tǒng),其中所述空閑塊選擇單元通過使用由作為空閑塊和現(xiàn)用塊而可用的邏輯塊的數(shù)目加權(quán)的循環(huán)方法來從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表。7.根據(jù)權(quán)利要求3的存儲器系統(tǒng),其中所述空閑塊選擇單元通過使用由這樣的邏輯塊的數(shù)目加權(quán)的循環(huán)方法來從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表,該邏輯塊屬于所述非易失性半導體存儲器的存儲區(qū)的除了由在主機側(cè)使用的邏輯地址指定的保留區(qū)之外的備用區(qū)并作為空閑塊和現(xiàn)用塊而可用。8.根據(jù)權(quán)利要求3的存儲器系統(tǒng),其中所述空閑塊選擇單元通過使用由這樣的邏輯塊中的空閑塊的數(shù)目加權(quán)的循環(huán)方法來從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表,該邏輯塊屬于所述非易失性半導體存儲器的存儲區(qū)的除了由在主機側(cè)使用的邏輯地址指定的保留區(qū)之外的備用區(qū)并作為空閑塊和現(xiàn)用塊而可用。9.根據(jù)權(quán)利要求1的存儲器系統(tǒng),還包括空閑塊并行度計算單元,其計算能夠并行操作的空閑塊的數(shù)目。10.根據(jù)權(quán)利要求9的存儲器系統(tǒng),其中當指定了并行度時,所述空閑塊選擇單元可在其中各面的并行操作被賦予優(yōu)先權(quán)的第一模式與其中庫的并行操作被賦予優(yōu)先權(quán)的第二模式之間切換,并從所述空閑塊管理列表選擇與所選擇的模式對應的所需數(shù)目的空閑塊管理列表,其中所述并行度是并行操作的空閑塊的數(shù)目。11.根據(jù)權(quán)利要求10的存儲器系統(tǒng),其中所述空閑塊選擇單元包括這樣的表,在該表中為每個庫登記有指示在第一模式下庫之間的選擇優(yōu)先權(quán)的第一信息段和指示在第二模式下庫之間的選擇優(yōu)先權(quán)的第二信息段,并且所述空閑塊選擇單元根據(jù)在所述表中登記的所述信息而從所述空閑塊管理列表選擇與所選擇的模式對應的所需數(shù)目的空閑塊管理列表。12.根據(jù)權(quán)利要求11的存儲器系統(tǒng),其中面?zhèn)溆昧勘辉O定為在屬于所述庫的每個芯片中的每個面中的空閑塊的數(shù)目,并且芯片備用量被設定為在相同芯片中所包括的多個面的所述面?zhèn)溆昧康淖钚≈担龅谝恍畔⒍伟ㄓ糜谧R別具有屬于所述庫的所述芯片的最大芯片備用量的芯片的信息和所述芯片備用量的最大值,且所述第二信息段包括用于識別具有屬于所述庫的每個芯片中的所述面的最大面?zhèn)溆昧康男酒械拿娴男畔⒑退雒鎮(zhèn)溆昧康淖畲笾怠?3.根據(jù)權(quán)利要求12的存儲器系統(tǒng),其中當將要執(zhí)行所述第一模式時,所述空閑塊選擇單元優(yōu)先選擇在所述表中登記的所述第二信息段中包括的所述芯片中的所述面而不優(yōu)先選擇在所述第一信息段中包括的所述芯片,并優(yōu)先選擇具有較大面?zhèn)溆昧炕蛐酒瑐溆昧康男酒械拿婊蛐酒灰约爱攲⒁獔?zhí)行所述第二模式時,所述空閑塊選擇單元優(yōu)先選擇在所述表中登記的所述第一信息段中包括的所述芯片而不優(yōu)先選擇在所述第二信息段中包括的所述芯片中的所述面,并優(yōu)先選擇具有較大面?zhèn)溆昧炕蛐酒瑐溆昧康男酒械拿婊蛐酒?4.一種控制存儲器系統(tǒng)的方法,用于控制非易失性半導體存儲器,所述非易失性半導體存儲器具有多個包括多個存儲器芯片的通道并行操作元件,其中每個存儲器芯片被分成能夠并行操作的多個面,每個面包括多個作為數(shù)據(jù)擦除的單位的物理塊,并且在并行操作的各通道并行操作元件中的所述存儲器芯片被分成多個庫,所述多個庫跨所述通道并行操作元件而分別共享就緒/忙碌信號,以便可進行通過所述面、庫或通道并行操作元件的并行操作,所述方法包括在多個空閑塊管理列表中將空閑塊作為與從并行操作的所述通道并行操作元件選擇的多個物理塊相關(guān)聯(lián)的邏輯塊、作為具有相同庫號、相同芯片號和相同面號的空閑塊而分別進行管理;以及從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表以從所選擇的空閑塊管理列表獲得空閑塊。15.根據(jù)權(quán)利要求14的方法,包括當獲得所述空閑塊時,從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表,以便優(yōu)先選擇與屬于一個庫并屬于一個芯片的具有較少的壞塊數(shù)目的一個面對應的空閑塊管理列表。16.根據(jù)權(quán)利要求14的方法,包括當獲得所述空閑塊時,從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表而不設定所述庫之間的優(yōu)先權(quán),并在庫中從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表,以便優(yōu)先選擇與屬于一個庫并屬于一個芯片的具有較少的壞塊數(shù)目的一個面對應的空閑塊管理列表。17.根據(jù)權(quán)利要求16的方法,包括當獲得所述空閑塊時,通過使用由與所述壞塊數(shù)目逆向?qū)闹导訖?quán)的循環(huán)方法來從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表。18.根據(jù)權(quán)利要求16的方法,包括當獲得所述空閑塊時,通過使用由輸入到所述空閑塊管理列表中的邏輯塊的數(shù)目加權(quán)的循環(huán)方法來從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表。19.根據(jù)權(quán)利要求16的方法,包括當獲得所述空閑塊時,通過使用由作為空閑塊和現(xiàn)用塊而可用的邏輯塊的數(shù)目加權(quán)的循環(huán)方法來從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表。20.根據(jù)權(quán)利要求16的方法,包括當獲得所述空閑塊時,通過使用由這樣的邏輯塊的數(shù)目加權(quán)的循環(huán)方法來從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表,該邏輯塊屬于所述非易失性半導體存儲器的存儲區(qū)的除了由在主機側(cè)使用的邏輯地址指定的保留區(qū)之外的備用區(qū)并作為空閑塊和現(xiàn)用塊而可用。21.根據(jù)權(quán)利要求16的方法,包括當獲得所述空閑塊時,通過使用由這樣的邏輯塊中的空閑塊的數(shù)目加權(quán)的循環(huán)方法來從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表,該邏輯塊屬于所述非易失性半導體存儲器的存儲區(qū)的除了由在主機側(cè)使用的邏輯地址指定的保留區(qū)之外的備用區(qū)并作為空閑塊和現(xiàn)用塊而可用。22.根據(jù)權(quán)利要求14的方法,還包括計算能夠并行操作的空閑塊的數(shù)目。23.根據(jù)權(quán)利要求22的方法,包括當獲得所述空閑塊時,在指定了作為并行操作的空閑塊的數(shù)目的并行度的情況下,能夠在其中各面的并行操作被賦予優(yōu)先權(quán)的第一模式與其中庫的并行操作被賦予優(yōu)先權(quán)的第二模式之間切換;以及從所述空閑塊管理列表選擇與所選擇的模式對應的所需數(shù)目的空閑塊管理列表。24.根據(jù)權(quán)利要求23的方法,包括當獲得所述空閑塊時,根據(jù)在這樣的表中登記的信息來從所述空閑塊管理列表選擇與所選擇的模式對應的所需數(shù)目的空閑塊管理列表,在該表中為每個庫登記有指示在第一模式下庫之間的選擇優(yōu)先權(quán)的第一信息段和指示在第二模式下庫之間的選擇優(yōu)先權(quán)的第二信息段。25.根據(jù)權(quán)利要求M的方法,其中面?zhèn)溆昧勘辉O定為在屬于所述庫的每個芯片中的每個面中的空閑塊的數(shù)目,并且芯片備用量被設定為在相同芯片中所包括的多個面的所述面?zhèn)溆昧康淖钚≈担龅谝恍畔⒍伟ㄓ糜谧R別具有屬于所述庫的所述芯片的最大芯片備用量的芯片的信息和所述芯片備用量的最大值,且所述第二信息段包括用于識別具有屬于所述庫的每個芯片中的所述面的最大面?zhèn)溆昧康男酒械拿娴男畔⒑退雒鎮(zhèn)溆昧康淖畲笾怠?6.根據(jù)權(quán)利要求25的方法,包括當獲得所述空閑塊時,當將要執(zhí)行所述第一模式時,優(yōu)先選擇在所述表中登記的所述第二信息段中包括的所述芯片中的所述面而不優(yōu)先選擇在所述第一信息段中包括的所述芯片,并優(yōu)先選擇具有較大面?zhèn)溆昧炕蛐酒瑐溆昧康男酒械拿婊蛐酒?;以及當將要?zhí)行所述第二模式時,優(yōu)先選擇在所述表中登記的所述第一信息段中包括的所述芯片而不優(yōu)先選擇在所述第二信息段中包括的所述芯片中的所述面,并優(yōu)先選擇具有較大面?zhèn)溆昧炕蛐酒瑐溆昧康男酒械拿婊蛐酒?7.—種控制非易失性半導體存儲器的控制器,所述非易失性半導體存儲器具有多個包括多個存儲器芯片的通道并行操作元件,其中每個存儲器芯片被分成能夠并行操作的多個面,每個面包括多個作為數(shù)據(jù)擦除的單位的物理塊,并且在并行操作的各通道并行操作元件中的所述存儲器芯片被分成多個庫,所述多個庫跨所述通道并行操作元件而分別共享就緒/忙碌信號,以便可進行通過所述面、庫或通道并行操作元件的并行操作,所述控制器包括多個空閑塊管理列表,用于將空閑塊作為與從并行操作的所述通道并行操作元件選擇的多個物理塊相關(guān)聯(lián)的邏輯塊、作為具有相同庫號、相同芯片號和相同面號的空閑塊而分別進行管理;以及空閑塊選擇單元,其從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表以從所選擇的空閑塊管理列表獲得空閑塊。28.根據(jù)權(quán)利要求27的控制器,其中所述空閑塊選擇單元從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表而不設定所述庫之間的優(yōu)先權(quán),并在庫中從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表,以便優(yōu)先選擇與屬于一個庫并屬于一個芯片的具有較少的壞塊數(shù)目的一個面對應的空閑塊管理列表。29.—種包括根據(jù)權(quán)利要求1的存儲器系統(tǒng)的個人計算機。30.一種包括根據(jù)權(quán)利要求3的存儲器系統(tǒng)的個人計算機。全文摘要提供了多個空閑塊管理列表和空閑塊選擇單元,所述多個空閑塊管理列表用于將具有相同庫號、相同芯片號以及相同面號的邏輯塊作為空閑塊進行分別管理,所述空閑塊選擇單元從所述空閑塊管理列表選擇所需數(shù)目的空閑塊管理列表以從所選擇的空閑塊管理列表獲得空閑塊,從而改善寫入效率。文檔編號G06F12/00GK102317925SQ20108000750公開日2012年1月11日申請日期2010年2月12日優(yōu)先權(quán)日2009年2月12日發(fā)明者山崎創(chuàng),木村康浩,矢尾浩申請人:株式會社東芝
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
荥经县| 那坡县| 永济市| 祁阳县| 栾城县| 黄龙县| 永登县| 安西县| 东丽区| 三原县| 盘山县| 凤阳县| 黄梅县| 达拉特旗| 乌审旗| 琼中| 习水县| 汝城县| 阿拉善左旗| 龙川县| 涟水县| 五常市| 东阿县| 淄博市| 北京市| 岑溪市| 古交市| 和政县| 英超| 五原县| 寿阳县| 泸定县| 南陵县| 托里县| 金阳县| 沁阳市| 德钦县| 宁晋县| 磐安县| 东乡县| 咸丰县|