存储器系统和控制存储器系统的方法

文档序号:6348295阅读:280来源:国知局

专利名称::存储器系统和控制存储器系统的方法
技术领域
:本发明涉及包括非易失性半导体存储器的存储器系统。
背景技术
:非易失性半导体存储器的例子包括其中擦除、写入和读出的单位固定的非易失性半导体存储器,例如在存储数据时一次擦除块单位的数据且然后进行写入的非易失性半导体存储器以及以与NAND型闪速存储器相同的方式以页为单位进行写入和读出的非易失性半导体存储器。另一方面,用于诸如个人计算机(PC)的主机设备在诸如硬盘的次级存储装置(secondarystoragedevice)中写入数据和从次级存储装置读出数据的单位称为扇区(sector)。独立于半导体存储装置的擦除、写入和读出的单位而设定扇区。即,主机设备的扇区的尺寸(扇区尺寸)小于非易失性半导体存储器的块的尺寸(块尺寸)或页的尺寸(页尺寸)。因此,当通过使用非易失性半导体存储器来配置诸如硬盘的PC的次级存储装置时,需要以小尺寸从作为主机设备的PC写入数据,这可通过使小尺寸适应为非易失性半导体存储器的块尺寸和页尺寸而实现。通过诸如PC的主机设备记录的数据具有时间局域性和空间局域性(参见,例如,非专利文件1:DavidA.Patterson禾口JohnLHennessy的“ComputerOrganizationandDesign:TheHardware/SoftwareInterface,,,MorganKaufmannPub,2004/8/31)。因此,当记录数据时,如果数据被直接记录在从外部指派的地址中,重写(rewrite)(即,擦除处理)暂时集中在特定区域中且擦除数目的偏差增大。因此,在NAND型闪速存储器中,进行用于使数据更新区段均等地分布的称为损耗均衡(wearleveling)的处理。在损耗均衡处理中,例如,由主机设备指派的逻辑地址被转译为其中数据更新区段均等地分布的非易失性半导体存储器的物理地址。当通过使用NAND型闪速存储器配置大容量次级存储器装置时,如果在进行地址转译时的数据管理的单位是小的(例如,页尺寸),则管理表的尺寸增加且不能被容纳在次级存储器装置的控制器的主存储器中,由此导致不能高速进行地址转译的问题。因而,当作为次级存储器装置的NAND型闪速存储器的容量增加时,管理表的尺寸因而增加,由此需要尽可能地减小管理表的容量的方法。
发明内容本发明的一个方面提供了一种存储器系统,包括非易失性半导体存储器,其具有多个包括多个存储器芯片的通道并行操作元件,其中每个存储器芯片被分成能够并行操作的多个面(Plane),每个面包括多个作为数据擦除的单位的物理块,并且在并行操作的各通道并行操作元件中的所述存储器芯片被分成多个库(bank),所述多个库跨所述通道并行操作元件而分别共享就绪/忙碌信号;以及控制器,其基于与从并行操作的所述通道并行操作元件选择的物理块相关联的逻辑块而管理空闲块(freeblock),并控制通过所述面、库或通道并行操作元件的并行操作,其中所述控制器包括多个空闲块管理列表,其中具有相同库号、相同芯片号和相同面号的所述逻辑块被分别管理为所述空闲块;以及空闲块选择单元,其从所述空闲块管理列表选择所需数目的空闲块管理列表以从所选择的空闲块管理列表获得空闲块。图1为SSD的配置实例的框图;图2为示例了NAND控制器与NAND存储器之间的连接模式的图;图3为NAND控制器的内部配置实例的框图;图4为示例了NAND存储器的物理配置的图;图5为处理器的功能配置实例的框图;图6为数据管理单元的功能配置的框图;图7为当不存在通过库(bank)的并行操作时比较例中的逻辑块配置的概念图;图8为当存在通过库的并行操作时比较例中的逻辑块配置的概念图;图9为示例了根据本发明的第一实施例的FB管理单元的配置实例的图;图10为示例了FB管理列表的图;图11为根据第一实施例的逻辑块的配置的概念图;图12为保留区(reservearea)和备用区(marginarea)的概念图;图13为示例了根据本发明的第二实施例的FB管理单元的配置实例的图;图14为示例了备用量表(margintable)的图;图15为面备用量(planemargin)和芯片备用量(chipmargin)的解释图;图16为根据本发明的第三实施例的双倍速优先模式的控制过程的流程图;图17为示例了备用量表的登记数据的实例的图;图18为根据第三实施例的库优先模式的控制过程的流程图;图19为根据本发明的第四实施例的PC的外部的透视图;以及图20为示例了第四实施例的PC的功能配置实例的图。具体实施例方式关于闪速存储器的基元(cell)的劣化,相对于来自主机设备的写入数据的量所需要的闪速存储器的块的擦除量成为重要的因素。相对于来自主机设备的写入数据的量的块的擦除量称为写入效率,并且该值越小越好。通常,在NAND型闪速存储器中,块的擦除处理和写入处理需要长的时间。因此,差的写入效率意味着相对于来自主机设备的数据写入的量存在大量的块擦除和向被擦除的块的写入,因此闪速存储器的速度性能劣化。由此,需要通过使对闪速存储器的写数据的量接近块的擦除量来改善写入效率的方法。因此,通过引入其中组合了多个作为擦除的单位的物理块的虚拟块的概念(例如,参见专利文件1日本专利申请国家公开2007-517325)并以虚拟块为单位并行地进行擦除/写入/读出来实现对写入效率的改善和并行处理的高速度。然而,通过物理块构成虚拟块的方法(即,组合物理块的方法)通常具有限制。当虚拟块的尺寸太大时,即使希望存储少量的数据时也会无益地使用太多的物理块,由此劣化了写入效率。下面将参考附图详细说明根据本发明的存储器系统的示例性实施例。本发明不局限于这些实施例。[第一实施例]图1为固态驱动器(SSD)IOO的配置实例的框图。SSD100包括作为控制器的诸如驱动控制电路4的存储器连接接口、作为非易失性半导体存储器的NAND型闪速存储器(下文中,称为“NAND存储器”)10、作为非易失性半导体存储器的动态随机存取存储器(DRAM)20以及高级技术附件接口(ATAI/F)2。SSD100通过ATAI/F2而被连接到诸如PC或中央处理单元(CPU)的主机设备(下文中,称为“主机”)1,并用作主机设备1的外部存储器。NAND存储器10存储由主机1指定的用户数据,并存储由DRAM20管理的管理信息以用于备份。NAND存储器10具有存储器基元阵列(memorycellarray),在存储器基元阵列中以矩阵排列多个存储器基元,并且各存储器基元可通过使用上位页(upperpage)和下位页(lowerpage)来存储多个值。NAND存储器10包括多个存储器芯片,并且每个存储器芯片通过排列多个物理块(其是数据擦除的单位)而构成。NAND存储器10对每个物理页写入和读出数据。物理块包括多个物理页。在图1中,NAND存储器10通过四个通道0个通道ch0到ch3)而被并行地连接到驱动控制电路4中的NAND控制器113,并可以并行地操作四个通道并行操作元件IOa到10d。通道的数据不限于四个,而是可以使用任意数目的通道。使用DRAM20作为用于数据传送、管理信息的存储、或工作区的存储单元。具体而言,作为用于数据传送的存储单元(用于数据传送的高速缓冲存储器(cache)),DRAM20被用于在将数据写入到NAND存储器10中之前暂时存储从主机1请求写入的数据,或从NAND存储器10读取从主机1请求读取的数据并暂时存储该数据。作为用于管理信息的存储的存储单元,DRAM20被用于存储用于管理在NAND存储器10中要存储的数据的位置的管理信息(其中在启动时加载在NAND存储器10中存储的各种管理表的主表(mastertable)、作为管理表的变更和差别信息的日志(log)或诸如此类)。驱动控制电路4通过DRAM20而进行主机1与NAND存储器10之间的数据传送控制,并控制SSD100中的各部件。驱动控制电路4包括数据存取总线101和电路控制总线102。控制整个驱动控制电路4的处理器104被连接到电路控制总线102。引导(boot)ROM105通过ROM控制器106而被连接到电路控制总线102,在NAND存储器10中存储的用于引导各管理程序(FW固件)的引导程序被存储在引导ROM105中。ATA接口控制器(ΑΤΑ控制器)111、NAND控制器113以及DRAM控制器114被连接到数据存取总线101和电路控制总线102二者。ATA控制器111通过ATA接口2而向和从主机1传送数据。用作数据工作区和固件扩展区的静态随机存取存储器(SRAM)115通过SRAM控制器116而被连接到数据存取总线101。在启动在NAND存储器10中存储的固件时,通过在引导ROM105中存储的引导程序而将固件传送到SRAM。DRAM控制器114进行处理器104与DRAM20之间的接口处理和其他类似处理。NAND控制器113执行处理器104与NAND存储器10之间的接口处理、NAND存储器10与DRAM20之间的数据传送控制、对错误校正码的编码/解码处理等等。图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的内部配置实例。NAND控制器113包括DMA控制器(DMAC)50、错误校正电路(ECC)51以及发布命令的NAND接口(NANDI/F)52,以便每个通道独立操作。用于四个库的CE信号(CE0到CE3)控制线被连接到每个NANDI/F52以控制与被存取的库对应的CE信号(CE0到CE!3)。NAND控制器113包括四个库控制器(库-C)53,为了独立地操作四个库,这些库控制器53监视每个库共同连接的RyBy信号以控制库的条件。库-C53具有对各库的排队请求的功能以在存在对每个库的请求时确保正确使用通道,并对由自己的库-C53管理的库执行读出/写入/擦除请求。图4示出了NAND存储器10的详细的内部配置。在图4中,通道数目被示出为(M+1)个,库的数目被示出为N+1个,芯片的数目被示出为K+1个。如图4所示,例如,每个存储器芯片(芯片0到芯片K)被分成两个区,即,面(Plane)O和面1,每个面包括多个物理块。面0和面1包括彼此独立的外围电路(例如,行解码器、列解码器、页缓冲器和数据高速缓冲存储器),并且可以通过使用双倍速模式而同时进行擦除、写入和读出。在一个存储器芯片中的面的数目不限于两个,而是可以为任意个。如以放大的比例在图4中示出的,一个存储器芯片包括多个物理块(在图4中,X+1个物理块)。以该方式,在NAND存储器10中,可以进行通过多个通道的并行操作、通过多个库的并行操作以及使用多个面的双倍速模式的并行操作,并且当通道数目为4、库数目为4且面数目为2时,可以并行操作最多32个物理块。图5为通过处理器104实现的固件的功能配置实例的框图。通过处理器104实现的固件的功能被大致分类为数据管理单元(DM数据管理器)120、ATA命令处理单元121(AM=ATA管理器)、安全管理单元122、引导加载器123以及初始化管理单元124。数据管理单元120通过NAND控制器113、DRAM控制器114和其他类似控制器而控制NAND存储器10与DRAM20之间的数据传送和NAND存储器10的各种功能。ATA命令处理单元121通过ATA控制器111和DRAM控制器114而与数据管理单元120协作进行DRAM20与主机1之间的数据传送。安全管理单元122与数据管理单元120和ATA命令处理单元121协作管理各种安全信息。引导加载器123在电源开启时将管理程序(固件)从NAND存储器10加载到SRAM115。初始化管理单元IM进行对驱动控制电路4中的各控制器和电路的初始化。数据管理单元120进行例如ATA命令处理单元121对作为存储装置的NAND存储器10和DRAM20进行请求的功能提供(响应于来自主机1的各种命令,例如,写请求、高速缓冲存储器清除(flush)请求以及读请求)、由主机1给出的逻辑地址与NAND存储器10之间的对应关系的管理、通过快照(snapshot)和日志的对管理信息的保护、使用DRAM20和NAND存储器10的快速和高效的数据读出和写入功能的提供、以及NAND存储器10的可靠性的确保。在数据管理单元120中,如图6所示,采用多层管理配置,并且数据管理单元120自顶层依次包括ATA层管理单元120a、DRAM层管理单元120b、逻辑层管理单元120c以及物理层管理单元120d。ATA层管理单元120a从ATA命令处理单元121接收请求以响应于该请求,并向适宜的下层管理单元通知该请求。DRAM层管理单元120b使用DRAM管理表30来管理DRAM20上的数据。在向SSD100发布读或写请求时,主机1通过ATA接口2而输入作为逻辑地址的逻辑块寻址(logicalblockaddressing,LBA)和数据尺寸。LBA为具有从0开始的序列号的逻辑地址,其中该从0开始的序列号被附加到扇区(尺寸512B)。通过组合NAND存储器10中的多个物理块来构成称为逻辑块的虚拟块。构成逻辑块的各物理块可以并行操作,并且擦除、写入和读出被同时执行。在本发明的该实施例中,基本上通过从不同的通道选择一个物理块来构成逻辑块。稍后将描述如何组合构成物理块的物理块的细节。逻辑层管理单元120c使用各种逻辑层管理表31来管理NAND存储器10上的数据,并执行对LBA与逻辑块之间的对应关系的管理;从DRAM20到NAND存储器10的数据写入控制;从NAND存储器10到DRAM20的数据读出控制;以及对NAND存储器10中的用户数据的组织。物理层管理单元120d使用各种物理层管理表32来管理NAND存储器10,并执行对逻辑块的提供、对非易失性信息的管理、对NAND控制器113的控制等等。具体地,物理层管理单元120d执行对空闲块、坏块和现用块(activeblock)的管理;对逻辑块与物理块之间的对应关系的管理;对物理错误的管理;损耗均衡和刷新;对非易失性管理信息(快照、日志)的管理;以及对NAND控制器113的控制。空闲块(FB)为在其中不包括有效数据且尚未被分配使用的逻辑块。现用块(AB)为被分配使用的逻辑块。坏块(BB)为由于大量错误而不能被用作存储区的物理块。例如,擦除操作未正常完成的物理块被登记为坏块BB。主机1所使用的LBA可以通过由图6中示出的各种管理表30、31、和32管理的管理信息而与SDD100所使用的逻辑NAND地址(逻辑块地址或类似地址)和NAND存储器10所使用的物理NAND地址(物理块地址或类似地址)相关联,并且数据可在主机1与NAND存储器10之间传送。例如,在国际专利申请PCT/JP09/052598中公开了以该方式使LBA与逻辑NAND地址相关联和使逻辑NAND地址与物理NAND地址相关联的技术,其全部内容被并入在本申请中。接下来说明本实施例的实质部分。在该设备中,可以进行通过通道的并行操作、通过库的并行操作以及通过使用面的双倍速模式的并行操作,并且可以通过使用并行操作而并行地处理物理块。在本实施例中,优化了如何组合构成逻辑块的物理块,从而有效地进行各并行操作并改善写入效率。首先说明根据比较例的逻辑块的配置方法。例如,考虑将逻辑块配置为对于具有图4中示出的物理配置的SSD可以总是确保最大并行度。在该比较例中,将参考图7和8说明在优先确保最大并行度时对物理块的选择的限制。(比较例)在根据比较例的SSD中,在如何组合构成逻辑块的物理块方面设置了限制(1)到⑶。(1)要从通道并行操作元件(IOa到IOd)选择的物理块为属于具有相同芯片号(芯片0到芯片K)的存储器芯片的物理块。(2)是通道中的面0和面1的组合。(3)在每个库中要满足限制(1)和(2)。当满足限制⑴到(3)时,可以进行通过通道、面以及库的并行操作。将不存在通过库的并行操作的情况与存在通过库的并行操作的情况进行彼此比较。在不存在通过库的并行操作的情况下,如图7所示,从具有相同芯片号且满足限制(1)和(2)的所有通道选择两个物理块(面0/面1)以构成逻辑块。在图7中,一个逻辑块LBLKO由通道数目和面数目的物理块构成,并且一个逻辑块LBLKl以相同方式由物理块构成。例如,在国际专利申请PCT/JP09/052595中公开了这样的逻辑块的配置实例,其全部内容被并入在本申请中。另一方面,当存在通过库的并行操作时,如图8所示,对于所有的库(库0到库N),从具有相同芯片号的所有通道选择两个物理块(面0/面1)以构成逻辑块。在图8中,一个逻辑块LBLKO由通道数目、面数目和库数目的物理块构成,一个逻辑块LBLKl以相同方式由物理块构成。由此,当存在通过库的并行操作时,与不存在并行操作的情况相比,构成逻辑块(S卩,同时操作)的物理块的数目以库的数目的倍数增加。如上所述,通过物理层管理单元120d管理逻辑块与物理块之间的对应关系。逻辑块包括空闲块FB、现用块AB以及其他类似的块,然而,根据FB管理列表来管理尚未被分配使用的在其中不包括有效数据的空闲块FB。FB管理列表为以变成空闲块FB的次序而分类的FIFO格式,并且在每个表目(entry)中保持逻辑块ID。从逻辑层管理单元120c返回的空闲块FB被添加到FB管理列表的最后,并且在将该逻辑块传输到逻辑层管理单元120c时采用在FB管理列表中的顶逻辑块。在FB管理列表中,进行损耗均衡以使所有逻辑块的擦除次数和擦除间隔大致均等。当不存在通过库的并行操作时,即使FB管理列表由一个列表构成,也几乎很少存在问题。然而,当存在通过库的并行操作时,由于构成逻辑块(即,同时操作)的物理块的数目以库的数目的倍数增加,即使当希望存储少量的数据时也会无益地使用多个物理块,11由此劣化了写入效率。写入效率的劣化意味着对存储器基元的擦除和写入的次数的增加,由此会缩短整个系统的使用寿命。因此,写入速度(=并行度)和写入效率为折衷关系。因此,在本实施例中,抑制了构成逻辑块的物理块的数目的增加,并且根据处理写入请求所需的逻辑块的数目来控制并行度。当不需要并行性时,赋予写入效率以优先权。因此,根据本实施例的SSD100包括多个FB管理列表,并且在每个FB管理列表中管理具有相同的库号、芯片号和面号的逻辑块。下面将详细说明根据本实施例的SSD100中的构成逻辑块的方法和控制并行度的方法。图9示出了管理空闲块FB的FB管理单元40的配置。FB管理单元40包括包含多个FB列表50-1到50-L的FB管理列表50、FB选择单元42和FB提供单元43,并被实现为例如由物理层管理单元120d提供的功能块。FB提供单元43响应于来自逻辑层管理单元120c或其他类似单元的请求而向FB选择单元42通知所要求的信息,例如逻辑块的数目。FB选择单元42基于由FB提供单元43通知的逻辑块的数目而从FB管理列表50中的FB列表50-1到50-L选择所需数目的逻辑块(逻辑块ID),并向FB提供单元43通知所选择的一个或多个逻辑块ID。FB提供单元43向逻辑层管理单元120c通知作为空闲块FB的一个或多个逻辑块ID。图10示出了构成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,具有较少擦除次数的逻辑块位于该列表的顶部。这用于防止以短时间间隔重复擦除操作。从逻辑层管理单元120c返回的不需要的逻辑块被添加到返回FB列表50a的最后,且在其中保持特定的时长。根据擦除的次数而将从返回FB列表50a推出的逻辑块插入在分配FB列表50b的中间。当获得逻辑块时,FB选择单元42从分配FB列表50b的顶部取出逻辑块以分配该逻辑块。从分配FB列表50b取出的作为FB的逻辑块被登记为对其分配了使用的现用块(AB)。由于FB列表具有含有返回FB列表50a和分配FB列表50b的两级配置,可以使被擦除的逻辑块均等地分布(损耗均衡),从而所有逻辑块的擦除次数和擦除间隔大致相同。NAND型闪速存储器的使用寿命依赖于擦除间隔以及擦除次数,并且公知当间隔变长时保持特性改善且可以延长使用寿命。这表明如果擦除间隔短,则保持特性劣化且使用寿命缩短。还公知即使以短的间隔进行写入,如果长时间没有进行相应的擦除,也可以恢复保持特性。例如在国际专利申请PCT/JP08/066508中公开了一种与这样的损耗均衡处理有关的技术,并将其全部内容并入在本申请中。在本实施例中,如图11所示,通过从各通道收集具有相同的库号/芯片号/面号的物理块而构成逻辑块。即,在本实施例中,关于如何组合构成逻辑块的物理块设定了下面的限制(1)到⑷。(1)选择每个通道的一个物理块。(2)从属于相同芯片号的物理块中选择每个通道的物理块。(3)从属于相同面号的物理块中选择每个通道的物理块。(4)选择相同库中的物理块。因此,可针对每个库、每个芯片以及每个面来对逻辑块分类。如图10所示,各FB列表50-1到50-L被配置为具有相同库号/芯片号/面号的逻辑块的列表。FB选择单元42根据来自FB提供单元43的请求确定用于从FB列表50_1到50_L获得能够进行并行操作的一个或多个空闲块FB的列表的组合。在图11中示出的逻辑块配置的情况下,当需要最大并行度时考虑双倍速模式,FB选择单元42选择如下(1)选择一个库中的具有相同芯片号的面0和面1的逻辑块。因此,关于库0,FB选择单元42选择例如用于属于面0的通道的属于“芯片a”的一个逻辑块(LBLKO)以及用于属于面1的通道的属于“芯片a”的一个逻辑块(LBLKl),由此选择两个逻辑块。(2)通过对所有的库进行与上述相同的处理而选择2X库数目(N+1)个的逻辑块(LBLK0到LBLK2N+1)。因此,可以进行对2X库数目(N+1)个逻辑块(LBLK0到LBLK2N+1)的并行写入。另一方面,当从FB提供单元43请求一个逻辑块时,FB选择单元42从FB列表50-1到50-L选择一个列表,并从所选择的列表获得空闲块FB以例如从逻辑块LBLKO到LBLK2N+1选择一个逻辑块。由此,由于可以根据所需要的并行度来确定用于实际写入的并行度,因此即使当写入少量数据时,写入效率也不会劣化。FB提供单元43所需的逻辑块的数目并不局限于与最大并行度对应的逻辑块数目或作为最小的逻辑块数目的逻辑块数目的1个,而是可以采用从1到与最大并行度对应的逻辑块数目的任意值。FB选择单元42根据所请求的任意逻辑块数目而从FB列表50-1到50-L选择列表,以从所选择的列表获得空闲块FB。接下来说明选择用于从FB列表50-1到50_L获得FB的列表的算法。下面说明两种算法(第一算法和第二算法)。在第一算法中,通过这样的循环(round-robin)方法选择用于获得空闲块FB的列表(库/芯片/面),该循环方法通过与在每个库/芯片/面中产生的坏块(BB)的数目(BB数目)的逆向(inversely)对应的值(例如,BB数目的倒数)、在每个库/芯片/面中可使用的逻辑块的数目(空闲块FB的数目和现用块AB的数目的总和)以及属于各FB列表的块的数目而被加权。即,采用经加权以增加在BB的数目变少时获得空闲块FB的概率的循环方法。坏块BB为由于大量的错误而不能被用作存储区的物理块,并且,例如,擦除操作未正常完成的物理块被登记为坏块BB。其中在写入更新数据时不存在有效数据的现用块AB被登记为空闲块FB,并等待以被重新再利用(reuse)作为现用块AB。在具有增加的BB数目的库/芯片/面中,可使用的逻辑块的数目(空闲块FB的数目和现用块AB的数目的总和)减小。如果不考虑可用逻辑块BB的数目而以相同的概率获得空闲块FB,则在其中逻辑块的数目因坏块BB的频繁产生而减小的FB列表50中,在再利用以前的使用间隔缩短。在NAND闪速存储器中,应避免再利用的间隔(弛豫时间)的缩短,这是因为这样会缩短使用寿命。在由BB数目加权的循环方法中,无论逻辑块的数目如何,都可以均衡弛豫时间。在第二算法中,在库之间和在库中采用独立的循环方法。在库之间采用非加权循环方法,以便每次可以获得不同库的空闲块FB。由于在库之间没有提供优先级(每次可获得不同库的空闲块),因此可以获得至少库的数目的并行度。在库中,与第一算法同样地,通过这样的循环方法选择用于获得空闲块FB的列表(芯片/面),该循环方法通过与在每个库/芯片/面中产生的BB的数目逆向对应的值(例如,BB数目的倒数)、在每个库/芯片/面中可使用的逻辑块的数目以及属于各FB列表的块的数目而被加权。因此,在该库中,从具有较少BB数目的芯片和面获得空闲块FB的机会增加,从而可以均衡弛豫时间。当采用第二算法时,可以进一步获得以下优点。如果逐一获得逻辑块,则可以以库0—库1—库2—库3—…一库N(N为库号的最大值)的顺序每次从不同的库获得空闲块FB,这在复制重要信息时是有效的。如图2所示,如果库是不同的,则物理存储器芯片是不同的,由此共同连接到RyByO到RyBy3的信号线变为不同。S卩,即使RyBy信号线中的一个被毁坏而无法操作,数据也可以从备份侧(backupside)读出。因此,与在同一存储器芯片中物理地复制重要信息的情况相比,在复制重要信息时,可以改善可靠性。作为需要复制的信息,例如,可以考虑在SSD100上操作的固件的非易失性管理信息,例如日志和快照。这是因为,如果这些信息段被丢失,则不能正常地读出在NAND存储器10中写入的数据。当选择用于存储需要复制的这样的管理信息的存储器芯片时,可仅仅通过采用第二算法来获得用于一个逻辑块的空闲块FB而预期可靠性改善。可采用以下值作为循环方法的加权值。除了可从主机1看到的用户数据存储区(保留区)之外,NAND存储器10通常包括不能从主机设备1看到的存储区(备用区)。该保留区可由LBA指定为供主机1使用的逻辑地址。备用区被用作在从DRAM20向保留区传送数据时的缓冲区或用于存储管理信息(包括逻辑层管理表31和物理层管理表32)。由于保留区具有与可从用户看到的SSD的容量相同的容量,因此即使产生了坏块BB也需要一直使保留区的容量保持恒定。因此,当坏块BB的数目增加时,备用区随整个SSD而减小。当关注并考虑一个逻辑块时,该逻辑块属于保留区和备用区中的哪一个随着与SSD的使用对应的时间而改变。被用作保留区的逻辑块称为包括块,而被用作备用区的逻辑块称为备用块。例如,当用于存储管理信息的逻辑块被释放并返回到空闲块列表并且之后被分配为用于存储用户数据的逻辑块时,该逻辑块在被用于存储管理信息的时刻是备用块中的一个;然而,该逻辑块在被用于存储用户数据的时刻成为保留块中的一个。此外,在一个块被保持在空闲块列表中的状态下,无法指定该块对应于备用块和保留块中的哪一个,例外情况除外。如果对每个FB列表50-1到50-L管理备用块的数目或未使用的备用块的数目,则在库中,通过使用由备用块的数目或未使用的备用块的数目加权的循环方法选择用于获得空闲块FB的列表(芯片/面),可以增加从具有较少BB数目的芯片和面获得空闲块FB的机会。备用块的数目为属于备用区的空闲块FB的数目和现用块AB的数目的总和。未使用的备用块的数目为属于备用区的空闲块FB的数目。在一个FB列表中的备用块的数目和未使用的备用块的数目通过以下方式获得。即,将通过累计(totalize)备用区和保留区而获得的NAND存储器10的整个存储器容量除以FB列表的总数目,并将该相除的结果除以一个逻辑块的存储器容量,从而得到可在一个FB列表中输入的逻辑块的数目D。图12概念性地示出了一个FB列表中的备用/保留块的分配。由于保留区需要一直确保特定的容量,因此,如果不存在坏块BB,则通过从可在一个FB列表中输入的逻辑块的数目D减去用于保留块的预定数目Dl而获得的逻辑块的数目D2变为用于备用块。如果从逻辑块的数目D2减去与FB列表对应的库/芯片/面中的坏块BB的数目D3,则可以获得备用块的数目D4。此外,通过从备用块的数目D4依次减去被用作管理区或缓冲区的备用块的数目,可以获得未使用的备用块的数目。由此,通过以下方式从具有较少坏块数目的库/芯片/面优先获得空闲块对于每个FB列表根据由备用块的数目或未使用的备用块的数目加权的循环方法来选择用于获得空闲块FB的列表。根据本实施例,提供多个FB管理列表。在每个FB管理列表中,管理具有相同库号/芯片号/面号的逻辑块,并且FB选择单元42响应于来自逻辑层管理单元120c的请求而获得所需的逻辑块(空闲块FB)。因此,当需要大并行度时,通过多并行处理(multi-parallelprocessing)实现高速度,而当小并行度足以时,可进行赋予写入效率以优先权的处理。[第二实施例]图13示出了本发明的第二实施例,并且在图9的FB管理单元40中添加FB并行度计算单元45,其中FB并行度计算单元45计算可并行操作的空闲块FB的数目。在向FB提供单元43请求空闲块FB之前,逻辑层管理单元120c请求FB并行度计算单元45计算当前能够并行操作的空闲块FB的数目。FB并行度计算单元45响应于来自逻辑层管理单元120c的请求而计算当前能够并行操作的空闲块FB的数目。根据以下过程计算能够并行操作的空闲块FB的数目。(1)计算库中的并行度。(2)添加在所有库的各库中计算的并行度。通过在库中的空闲块FB中是否存在具有相同芯片号的面0和面1的对(是否存在能够以双倍速模式操作的面对),来确定库中的并行度(在库中可以同时使用多少个空闲块FB)。当在特定的库中存在具有相同芯片号的面0和面1的对时,由于该对可以双倍速模式进行并行操作,因此并行度为2。当仅存在面0和面1中的一个时,并行度为1,而当在库中不存在空闲块FB时,并行度为0。FB并行度计算单元45向逻辑层管理单元120c通知所计算的能够并行操作的空闲块FB的数目。逻辑层管理单元120c可根据所通知的结果(并行度)而改变自身的处理。例如,当可以有效地确保并行度时,首先收集大量数据以执行写入处理。在第二实施例中,由于计算了可能的并行度,并将其通知给逻辑层管理单元120c,因此逻辑层管理单元120c可以通过根据所通知的结果改变自身的处理来进行有高效处理,由此改善了写入效率。[第三实施例]在本发明的第三实施例中,解释第二实施例的特定处理内容。在第三实施例中,当物理层管理单元120d确保由逻辑层管理单元120c请求的并行度η时,可以切换双倍速优先模式和库优先模这两种模式,其中双倍速优先模式用于通过将优先权赋予双倍速而确保并行度,库优先模式通过将优先权赋予库并行度而确保并行度。图13示出的FB并行度计算单元45具有在图14中示出的备用量表。如图14所示,在备用量表中登记当将双倍速模式用于每个库时与芯片的备用量有关的信息和当使用正常模式而不使用双倍速模式时与面的备用量有关的信息。在每次发生其中所登记的数据被更新的事件时更新备用量表。被形成为具有相同库号/芯片号/面号的逻辑块的列表的FB列表50-1到50-L(如图10所示)中的一个中的空闲块FB的当前数目被定义为“面备用量(planemargin)”。如果在一个FB列表50_1中的空闲块FB的数目为例如20个,则由该FB列表保持的面备用量为20。当假设构成芯片的两个“面备用量”为X和Y时,较小的“面备用量”被定义为该芯片的“芯片备用量(chipmargin)”。当一个芯片的面0的面备用量为20且在同一芯片中的面1的面备用量为15时,该芯片的芯片备用量为15。在备用量表中的双倍速模式角度(perspective)的列中,保持指示出在属于库的芯片中哪个芯片具有最高芯片备用量的信息(芯片号)和芯片备用量的值(下文中,称为“在双倍速操作时的库备用量(bankmargin)”)。在备用量表中的正常模式角度的列中,保持指示出在属于库的面中哪个芯片的哪个面具有最高备用量的信息(芯片号/面号)和面备用量的值(下文中,称为“在正常操作时的库备用量”)。基于双倍速操作时的库备用量而确定在双倍速优先模式下各库之间的选择优先权,并且基于在正常操作时的库备用量而确定在库优先模式下各库之间的选择优先权。例如,当库0中的各芯片和各面中的面备用量和芯片备用量处于图15所示的状态时,库0中具有最高芯片备用量的芯片为其芯片备用量为20的芯片3,而库0中的具有最高面备用量的面为其面备用量为30的芯片0的面1。因此,在备用量表中的库0的双倍速模式角度的列中,登记指示芯片3的芯片号和备用量的值20,并且在正常模式角度的列中,登记指示芯片0/面1的芯片号/面号和备用量的值30。当作为上层的逻辑层管理单元120c请求FB提供单元43选择空闲块FB时,逻辑层管理单元120c首先向FB并行度计算单元45询问当前可选择的并行度的最高值,然后请求FB选择单元42通过FB提供单元43而分配具有不超过最高值的并行度的块。当从逻辑层管理单元120c请求分配空闲块FB时,FB选择单元42处于其中一直可以进行具有特定并行度的分配的状态。以与在第二实施例中解释的方式相同的方式,根据下列过程通过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解释通过赋予双倍速以优先权来确保并行度的双倍速优先系统。对于在相同的库和芯片中但在不同的面中的空闲块FB的对,双倍速操作的执行受到限制。这里假设从逻辑层管理单元120c请求具有并行度η的块的分配。图12中的FB选择单元42参考图14中示出的备用量表以选择在双倍速操作时具有最大备用量的库,并选择属于与在双倍速操作时所选择的库的备用量对应的芯片的两个面的空闲块FB的各一个(选择总共两个空闲块FB)(步骤S100)。FB选择单元42确定所选择的空闲块FB的总和是否已经达到Int(η/2)*2(步骤Sl10)。Int(η/2)拉表示舍去在除法η/2的结果中的小数点后面的数字而获得整数值的操作。例如,当η=3时,Int(η/2)=1,因此=2。当在步骤SllO的确定结果为是时,过程进行到步骤S125。当在步骤SllO的确定结果为否时,过程进行到步骤S120。在步骤S120,FB选择单元42参考备用量表以确定是否存在其中在双倍速操作时的备用量不是0的库(步骤S120)。当存在其中在双倍速操作时的备用量不是0的库时,FB选择单元42从除了已经在步骤SlOO中选择的库之外的库选择在双倍速操作时具有最大备用量的库,并且选择属于在双倍速操作时与所选择的库的备用量对应的芯片的两个面的空闲块FB的各一个(选择总共两个空闲块FB)(步骤S100)。重复从步骤SlOO到S120的过程直到所选择的空闲块FB的总和达到Int(η/2)或不存在其中在双倍速操作时的备用量不是0的库。在步骤S125,FB选择单元42确定所选择的空闲块FB的总和是否达到从逻辑层管理单元120c请求的并行度η。当所选择的空闲块FB的总和达到并行度η时,处理结束。当在步骤S125中的确定为否时,FB选择单元42参考备用量表以从未选择的库中选择在正常操作时具有最大备用量的库,并选择属于与所选择的库在正常操作时的备用量对应的芯片/面的一个空闲块FB(步骤S130)。此后,对未选择的库重复在步骤S130和步骤S140中的处理,直到所选择的空闲块的总和达到并行度η。当所选择的空闲块的总和达到η时,选择处理结束。例如,假设备用量表处于图17所示的状态。在图17中,在库0中,芯片0指示在双倍速操作时的最大备用量,其备用量为15,并且芯片0/面1指示在正常操作时的最大备用量,其备用量为20。在库1中,芯片2指示在双倍速操作时的最大备用量,其备用量为10,并且芯片2/面0指示在正常操作时的最大备用量,其备用量为30。在库2中,在双倍速操作时的最大备用量为0,并且芯片3/面1指示在正常操作时的最大备用量,其备用量为27。在库3中,在双倍速操作时的最大备用量为0,并且芯片2/面0指示在正常操作时的最大备用量,其备用量为9。在这样的表状态的情况下,假设逻辑层管理单元120c请求并行度η=5,以及通过赋予双倍速以优先权来选择空闲块FB。首先选择具有在双倍速操作时的最大备用量15的库0,并且从库0的芯片0的面0和面1各选择一个空闲块FB,即,选择总共两个空闲块FB(步骤S100)。在该状态下,由于在步骤SllO和S120处的确定为否,因此从库0之外的库1到3选择具有在双倍速操作时的最大备用量10的库1,并从库1的芯片2的面0和1各选择一个空闲块FB,即,总共两个空闲块FB(步骤S100)。在该状态下,所选择的空闲块的数目为4,并且在步骤SllO中处的确定为是且在S125处的确定为否,因而过程进行到步骤S130。在步骤S130,FB选择单元42从未选择的库2和3选择具有在正常操作时的最大备用量27的库2,并从库2的芯片3的面1选择一个空闲块FB。由于所选择的空闲块的数目在此阶段变为五个且在步骤S140处的确定为是,因此选择处理结束。结果,从库0的芯片0的面0和1、库1的芯片2的面0和1以及库2的芯片3的面1个各选择了一个空闲块FB,由此通过赋予双倍速以优先权而实现了并行度5。此外,在图17示出的表状态下,当逻辑层管理单元120c请求并行度η=3,并且通过赋予双倍速以优先权来选择空闲块FB时,首先选择具有在双倍速操作时的最大备用量15的库0,并从库0的芯片0的面0和面1各选择一个空闲块FB,即,总共两个空闲块FB(步骤S100)。在该阶段,所选择的空闲块的数目为两个,并且在步骤SllO处的确定为是且在步骤S125处的确定为否,从而过程进行到步骤S130。在步骤S130,从未选择的库2和3选择具有在正常操作时的最大备用量30的库1,并从库1的芯片2的面0选择一个空闲块FB。由于在该阶段所选择的空闲块的数目变为三个并且在步骤S140处的确定为是,选择处理结束。结果,从库0的芯片0的面0和1和库1的芯片2的面0各选择了一个空闲块FB,由此通过赋予双倍速以优先权而实现了并行度3。接下来,参考图18解释通过赋予库并行度以优先权来确保并行度的库并行度优先系统。这里假设从逻辑层管理单元120c请求具有并行度η的块的分配。FB选择单元42参考备用量表以计算其中在正常操作时备用量不为0的库的数目m(步骤S200)。FB选择单元42比较m与由逻辑层管理单元120c指定的并行度n(步骤S210)。当m彡η时,FB选择单元42执行步骤S220到S230的处理,而当m<η时,执行步骤S250到S280的处理。当m>η时,FB选择单元42参考备用量表以从所有的库选择具有在正常操作时的最大备用量的库,并选择属于与在正常操作时所选择的库的备用量对应的芯片/面的一个空闲块FB(步骤S220)。FB选择单元42确定所选择的空闲块FB的总和是否已达到从逻辑层管理单元120c请求的并行度η(步骤S230)。当该总和未达到并行度η时,FB选择单元42对未选择的库重复步骤S220和S230的处理,直到所选择的空闲块的总和达到并行度η。当所选择的空闲块的总和达到η时,FB选择单元42结束选择处理。当m<η时,FB选择单元42参考备用量表以从所有的库选择具有在双倍速操作时的最大备用量的库,并从属于与在双倍速操作时所选择的库的备用量对应的芯片的两个面的空闲块FB各选择一个(选择总共两个空闲块FB)(步骤S250)。FB选择单元42确定所选择的空闲块FB的总和是否已经达到2(n-m)(步骤S260)。当总和没有达到2(n-m)时,FB选择单元42从未选择的库选择具有在双倍速操作时的最大备用量的库,并从属于与所选择的库的在双倍速操作时的备用量对应的芯片的两个面的空闲块FB各选择一个(总共两个空闲块FB)(步骤S250)。重复步骤S250和S260的处理,直到所选择的空闲块FB的总和达到2(n-m)。当所选择的空闲块FB的总和已经达到2(n-m)时,FB选择单元42参考备用量表以选择未选择的库的在正常操作时具有最大备用量的库,并选择属于与所选择的库的正常操作时的备用量对应的芯片/面的一个空闲块FB(步骤S270)。此后,对未选择的库重复在步骤S270和步骤S280处的处理,直到所选择的空闲块的总和达到并行度η。当所选择的空闲块的总和达到η(步骤S280)时,选择处理结束。在图17中示出的表状态下,假设从逻辑层管理单元120c请求并行度η=3以通过赋予库并行度以优先权来选择空闲块FB。在图17中示出的表状态下,由于其中在正常操作时的备用量不是0的库的数目m=4,因此在步骤S210中m>η成立。首先选择在正常操作时具有最大备用量的库1,并从库1的芯片2的面0选择一个空闲块FB(步骤S220)。然后选择库2,从库2的芯片3的面1选择一个空闲块FB,并选择库0,从库0的芯片0的面1选择一个空闲块FB,由此选择三个空闲块并实现了并行度η=3。在图17中示出的表状态下,假设从逻辑层管理单元120c请求并行度η=5以通过赋予库并行度以优先权来选择空闲块FB。由于库的数目m=4,因此在步骤S210中m<η成立。在步骤S250中,选择在双倍速操作时具有最大备用量的库0,并从库0的芯片0的面0和1各选择一个空闲块FB,总共选择两个空闲块FB。在该选择阶段,步骤S260处的确定变为是,并且通过重复步骤S270和S280的处理三次(库1的芯片2的面0、库2的芯片3的面1以及库3的芯片2的面0)而从为未选择的库1到3各选择一个空闲块FB。因此,总共选择了五个空闲块FB,从而能够实现并行度η=5。在赋予库并行度以优先权的情况下,进行步骤S250和S260的处理以便将双倍速模式用于未通过库并行度提供的部分。即,在4个库和2个面的配置中请求并行度5的情况下,当优先权被赋予库并行度时,仅仅对一个库使用双倍速模式,并且对剩余的三个库使用正常模式。在4个库和2个面的配置中请求并行度5的情况下,当优先权被赋予双倍速时,尽可能多地在两个库中使用双倍速模式,并在剩余的一个库中使用正常模式。由此,在第三实施例中,当通过使用其中登记在正常操作时的库备用量和在双倍速操作时的库备用量的备用量表来确保所请求的并行度η时,可以切换两个模式,S卩,用于通过赋予双倍速以优先权来确保并行度的双倍速优先模式和用于通过赋予库并行度以优先权来确保并行度的库优先模式。当使用双倍速模式时,与正常模式相比,确保较大并行度的概率有所增加。因此,当所请求的并行度小时,使用通过赋予正常模式以优先权的库并行度优先系统,而当所请求的并行度大时,使用双倍速优先系统。于是,当以小的并行度操作库时,可以维持多组能够进行双倍速操作的逻辑块。当以大并行度实际操作库时,连续地多次进行双倍速操作的概率增加,并可以高速地进行大数据的写入处理。在第三实施例中,空闲块FB的当前数目被登记为备用量表中的备用量,以便基于该备用量而选择双倍速优先模式或库优先模式中的FB列表。然而,在第一实施例中解释的与坏块BB的数目逆向对应的值(例如,BB的数目的倒数)、在每个库/芯片/面中可使用的逻辑块的数目、或者备用块或未使用的备用块的数目可被指定作为备用量以根据该备用量而选择双倍速优先模式或库优先模式中的FB列表。[第四实施例]图19为其上安装有SSD100的PC1200的实例的透视图。PC1200包括主体1201和显示单元1202。显示单元1202包括显示外壳1203和容纳在显示外壳1203中的显示装置1204。主体1201包括机架1205、键盘1206以及作为指点装置的触摸板1207。机架1205包括主电路板、光盘装置(ODD)单元、卡槽以及SSD100。卡槽被设置为邻近机架1205的周壁。周壁具有面向卡槽的开口1208。用户可以通过开口1208从机架1205的外侧将附加装置插入或移出卡槽。SSD100在被安装在PC1200上的状态下可被用于替代常规硬盘驱动器(HDD),并且在被插入到卡槽中的状态下可被用作附加装置。图20为其上安装有SSD100的PC1200的系统配置实例的示意图。PC1200包括CPU1301、北桥1302、主存储器1303、视频控制器1304、音频控制器1305、南桥1309、基础输Λ/输出系统只读存储器(BIOS-ROM)1310、SSD100、ODD单元1311、嵌入的控制器/键盘控制器IC(EC/KBC)1312以及网络控制器1313。CPU1301为用于控制PC1200的操作的处理器,并执行从SSD100加载到主存储器1303的操作系统(OS)。此外,当ODD单元1311能够执行对所安装的光盘的读取处理和写入处理中的至少一种时,CPU1301执行该处理。此外,CPU1301执行存储在BIOS-ROM1310中的系统BIOS。系统BIOS为用于控制PC1200的硬件的计算机程序。北桥1302为将CPU1301的本地总线连接到南桥1309的桥装置。北桥1302具有用于控制对主存储器1303的存取的存储器控制器。此外,北桥1302具有通过加速图形端口(AGP)总线和诸如此类执行与视频控制器1304的通信和与音频控制器1305的通信的功能。主存储器1301在其中暂时存储计算机程序和数据,并用作CPU1301的工作区。主存储器1303例如包括DRAM。视频控制器1304为视频再现控制器,其用于控制用作PC1200的显示监视器的显示单元1202。音频控制器1305为音频再现控制器,其用于控制PC1200的扬声器1306。南桥1309控制在低针脚数(LPC)总线1314上的每个装置和在外围部件互连(PCI)总线1315上的每个装置。此外,南桥1309通过ATA接口而控制SSD100,SSD100为存储各种类型的软件和数据的存储器装置。PC1200以扇区为单位对SSD100存取。写命令、读命令、高速缓冲存储器清除命令以及其他类似命令通过ATA接口而被输入到SSD100。南桥1309具有控制对BI0S-R0M1310和ODD单元1311的存取的功能。EC/KBC1312为其中集成了用于电源管理的嵌入控制器以及用于控制键盘1206和触摸板1207的键盘控制器的单片微计算机。EC/KBC1312具有基于用户对电源按钮的操作而开启/关闭PC1200的功能。网络控制器1313为例如执行与诸如互连网的外部网络的通信的通信装置。本领域的技术人员容易想到其他优点和修改。因此,本发明在其更宽的方面不局限于在本文中示出和描述的具体细节和代表性实施例。因此,在不背离由所附权利要求及其等价物限定的总发明构思的精神或范围的情况下,可以进行各种修改。权利要求1.一种存储器系统,包括非易失性半导体存储器,其具有多个包括多个存储器芯片的通道并行操作元件,其中每个存储器芯片被分成能够并行操作的多个面,每个面包括多个作为数据擦除的单位的物理块,并且在并行操作的各通道并行操作元件中的所述存储器芯片被分成多个库,所述多个库跨所述通道并行操作元件而分别共享就绪/忙碌信号;以及控制器,其基于与从并行操作的所述通道并行操作元件选择的物理块相关联的逻辑块而管理空闲块,并控制通过所述面、库或通道并行操作元件的并行操作,其中所述控制器包括多个空闲块管理列表,其中具有相同库号、相同芯片号和相同面号的所述逻辑块被分别管理作为所述空闲块;以及空闲块选择单元,其从所述空闲块管理列表选择所需数目的空闲块管理列表以从所选择的空闲块管理列表获得空闲块。2.根据权利要求1的存储器系统,其中所述空闲块选择单元从所述空闲块管理列表选择所需数目的空闲块管理列表,以便优先选择与属于一个库并属于一个芯片的具有较少的坏块数目的一个面对应的空闲块管理列表。3.根据权利要求1的存储器系统,其中所述空闲块选择单元从所述空闲块管理列表选择所需数目的空闲块管理列表而不设定所述库之间的优先权,并在库中从所述空闲块管理列表选择所需数目的空闲块管理列表,以便优先选择与属于一个库并属于一个芯片的具有较少的坏块数目的一个面对应的空闲块管理列表。4.根据权利要求3的存储器系统,其中所述空闲块选择单元通过使用由与所述坏块数目逆向对应的值加权的循环方法来从所述空闲块管理列表选择所需数目的空闲块管理列表。5.根据权利要求3的存储器系统,其中所述空闲块选择单元通过使用由输入到所述空闲块管理列表中的逻辑块的数目加权的循环方法来从所述空闲块管理列表选择所需数目的空闲块管理列表。6.根据权利要求3的存储器系统,其中所述空闲块选择单元通过使用由作为空闲块和现用块而可用的逻辑块的数目加权的循环方法来从所述空闲块管理列表选择所需数目的空闲块管理列表。7.根据权利要求3的存储器系统,其中所述空闲块选择单元通过使用由这样的逻辑块的数目加权的循环方法来从所述空闲块管理列表选择所需数目的空闲块管理列表,该逻辑块属于所述非易失性半导体存储器的存储区的除了由在主机侧使用的逻辑地址指定的保留区之外的备用区并作为空闲块和现用块而可用。8.根据权利要求3的存储器系统,其中所述空闲块选择单元通过使用由这样的逻辑块中的空闲块的数目加权的循环方法来从所述空闲块管理列表选择所需数目的空闲块管理列表,该逻辑块属于所述非易失性半导体存储器的存储区的除了由在主机侧使用的逻辑地址指定的保留区之外的备用区并作为空闲块和现用块而可用。9.根据权利要求1的存储器系统,还包括空闲块并行度计算单元,其计算能够并行操作的空闲块的数目。10.根据权利要求9的存储器系统,其中当指定了并行度时,所述空闲块选择单元可在其中各面的并行操作被赋予优先权的第一模式与其中库的并行操作被赋予优先权的第二模式之间切换,并从所述空闲块管理列表选择与所选择的模式对应的所需数目的空闲块管理列表,其中所述并行度是并行操作的空闲块的数目。11.根据权利要求10的存储器系统,其中所述空闲块选择单元包括这样的表,在该表中为每个库登记有指示在第一模式下库之间的选择优先权的第一信息段和指示在第二模式下库之间的选择优先权的第二信息段,并且所述空闲块选择单元根据在所述表中登记的所述信息而从所述空闲块管理列表选择与所选择的模式对应的所需数目的空闲块管理列表。12.根据权利要求11的存储器系统,其中面备用量被设定为在属于所述库的每个芯片中的每个面中的空闲块的数目,并且芯片备用量被设定为在相同芯片中所包括的多个面的所述面备用量的最小值,所述第一信息段包括用于识别具有属于所述库的所述芯片的最大芯片备用量的芯片的信息和所述芯片备用量的最大值,且所述第二信息段包括用于识别具有属于所述库的每个芯片中的所述面的最大面备用量的芯片中的面的信息和所述面备用量的最大值。13.根据权利要求12的存储器系统,其中当将要执行所述第一模式时,所述空闲块选择单元优先选择在所述表中登记的所述第二信息段中包括的所述芯片中的所述面而不优先选择在所述第一信息段中包括的所述芯片,并优先选择具有较大面备用量或芯片备用量的芯片中的面或芯片;以及当将要执行所述第二模式时,所述空闲块选择单元优先选择在所述表中登记的所述第一信息段中包括的所述芯片而不优先选择在所述第二信息段中包括的所述芯片中的所述面,并优先选择具有较大面备用量或芯片备用量的芯片中的面或芯片。14.一种控制存储器系统的方法,用于控制非易失性半导体存储器,所述非易失性半导体存储器具有多个包括多个存储器芯片的通道并行操作元件,其中每个存储器芯片被分成能够并行操作的多个面,每个面包括多个作为数据擦除的单位的物理块,并且在并行操作的各通道并行操作元件中的所述存储器芯片被分成多个库,所述多个库跨所述通道并行操作元件而分别共享就绪/忙碌信号,以便可进行通过所述面、库或通道并行操作元件的并行操作,所述方法包括在多个空闲块管理列表中将空闲块作为与从并行操作的所述通道并行操作元件选择的多个物理块相关联的逻辑块、作为具有相同库号、相同芯片号和相同面号的空闲块而分别进行管理;以及从所述空闲块管理列表选择所需数目的空闲块管理列表以从所选择的空闲块管理列表获得空闲块。15.根据权利要求14的方法,包括当获得所述空闲块时,从所述空闲块管理列表选择所需数目的空闲块管理列表,以便优先选择与属于一个库并属于一个芯片的具有较少的坏块数目的一个面对应的空闲块管理列表。16.根据权利要求14的方法,包括当获得所述空闲块时,从所述空闲块管理列表选择所需数目的空闲块管理列表而不设定所述库之间的优先权,并在库中从所述空闲块管理列表选择所需数目的空闲块管理列表,以便优先选择与属于一个库并属于一个芯片的具有较少的坏块数目的一个面对应的空闲块管理列表。17.根据权利要求16的方法,包括当获得所述空闲块时,通过使用由与所述坏块数目逆向对应的值加权的循环方法来从所述空闲块管理列表选择所需数目的空闲块管理列表。18.根据权利要求16的方法,包括当获得所述空闲块时,通过使用由输入到所述空闲块管理列表中的逻辑块的数目加权的循环方法来从所述空闲块管理列表选择所需数目的空闲块管理列表。19.根据权利要求16的方法,包括当获得所述空闲块时,通过使用由作为空闲块和现用块而可用的逻辑块的数目加权的循环方法来从所述空闲块管理列表选择所需数目的空闲块管理列表。20.根据权利要求16的方法,包括当获得所述空闲块时,通过使用由这样的逻辑块的数目加权的循环方法来从所述空闲块管理列表选择所需数目的空闲块管理列表,该逻辑块属于所述非易失性半导体存储器的存储区的除了由在主机侧使用的逻辑地址指定的保留区之外的备用区并作为空闲块和现用块而可用。21.根据权利要求16的方法,包括当获得所述空闲块时,通过使用由这样的逻辑块中的空闲块的数目加权的循环方法来从所述空闲块管理列表选择所需数目的空闲块管理列表,该逻辑块属于所述非易失性半导体存储器的存储区的除了由在主机侧使用的逻辑地址指定的保留区之外的备用区并作为空闲块和现用块而可用。22.根据权利要求14的方法,还包括计算能够并行操作的空闲块的数目。23.根据权利要求22的方法,包括当获得所述空闲块时,在指定了作为并行操作的空闲块的数目的并行度的情况下,能够在其中各面的并行操作被赋予优先权的第一模式与其中库的并行操作被赋予优先权的第二模式之间切换;以及从所述空闲块管理列表选择与所选择的模式对应的所需数目的空闲块管理列表。24.根据权利要求23的方法,包括当获得所述空闲块时,根据在这样的表中登记的信息来从所述空闲块管理列表选择与所选择的模式对应的所需数目的空闲块管理列表,在该表中为每个库登记有指示在第一模式下库之间的选择优先权的第一信息段和指示在第二模式下库之间的选择优先权的第二信息段。25.根据权利要求M的方法,其中面备用量被设定为在属于所述库的每个芯片中的每个面中的空闲块的数目,并且芯片备用量被设定为在相同芯片中所包括的多个面的所述面备用量的最小值,所述第一信息段包括用于识别具有属于所述库的所述芯片的最大芯片备用量的芯片的信息和所述芯片备用量的最大值,且所述第二信息段包括用于识别具有属于所述库的每个芯片中的所述面的最大面备用量的芯片中的面的信息和所述面备用量的最大值。26.根据权利要求25的方法,包括当获得所述空闲块时,当将要执行所述第一模式时,优先选择在所述表中登记的所述第二信息段中包括的所述芯片中的所述面而不优先选择在所述第一信息段中包括的所述芯片,并优先选择具有较大面备用量或芯片备用量的芯片中的面或芯片;以及当将要执行所述第二模式时,优先选择在所述表中登记的所述第一信息段中包括的所述芯片而不优先选择在所述第二信息段中包括的所述芯片中的所述面,并优先选择具有较大面备用量或芯片备用量的芯片中的面或芯片。27.—种控制非易失性半导体存储器的控制器,所述非易失性半导体存储器具有多个包括多个存储器芯片的通道并行操作元件,其中每个存储器芯片被分成能够并行操作的多个面,每个面包括多个作为数据擦除的单位的物理块,并且在并行操作的各通道并行操作元件中的所述存储器芯片被分成多个库,所述多个库跨所述通道并行操作元件而分别共享就绪/忙碌信号,以便可进行通过所述面、库或通道并行操作元件的并行操作,所述控制器包括多个空闲块管理列表,用于将空闲块作为与从并行操作的所述通道并行操作元件选择的多个物理块相关联的逻辑块、作为具有相同库号、相同芯片号和相同面号的空闲块而分别进行管理;以及空闲块选择单元,其从所述空闲块管理列表选择所需数目的空闲块管理列表以从所选择的空闲块管理列表获得空闲块。28.根据权利要求27的控制器,其中所述空闲块选择单元从所述空闲块管理列表选择所需数目的空闲块管理列表而不设定所述库之间的优先权,并在库中从所述空闲块管理列表选择所需数目的空闲块管理列表,以便优先选择与属于一个库并属于一个芯片的具有较少的坏块数目的一个面对应的空闲块管理列表。29.—种包括根据权利要求1的存储器系统的个人计算机。30.一种包括根据权利要求3的存储器系统的个人计算机。全文摘要提供了多个空闲块管理列表和空闲块选择单元,所述多个空闲块管理列表用于将具有相同库号、相同芯片号以及相同面号的逻辑块作为空闲块进行分别管理,所述空闲块选择单元从所述空闲块管理列表选择所需数目的空闲块管理列表以从所选择的空闲块管理列表获得空闲块,从而改善写入效率。文档编号G06F12/00GK102317925SQ20108000750公开日2012年1月11日申请日期2010年2月12日优先权日2009年2月12日发明者山崎创,木村康浩,矢尾浩申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1