存储器系统的制作方法

文档序号:6767644阅读:246来源:国知局

专利名称::存储器系统的制作方法
技术领域
:本发明涉及到使用诸如闪存等非易失性半导体存储器装置进行配置的存储器系统。
背景技术
:作为在计算机系统中所使用的外部存储装置,利用诸如NAND型闪存等非易失性半导M储器进行配置的SSD(solidstatedrive,固态驱动器)吸引了注意力。与磁盘装置相比,所述闪存的优点有比如速度快且重量轻。SSD包括多个闪存芯片、控制器(根据主机设备的请求对所述各个闪存芯片进行读写控制)、緩沖存储器(在所述各个闪存芯片和所述主机设备之间进行数据转移)、电源电路、以及到所述主机设备的连接接口(例如,专利文献l)。像所述NAND闪存这样,作为非易失性半导体存储器装置,有这样的非易失性半导*储器装置,这种装置在存储数据中一度以称作块的单位来擦除数据,然后进行写入;还有这样的非易失性半导体存储器装置,这种装置以称作页的单位进行读出和写入;以及还有这样的非易失性半导体存储器装置,其中,擦除、读出和写入的单位混合使用。另一方面,主机设备(诸如个人电脑)在次级存储装置(诸如硬盘)中读写数据的单位被称作扇区。所述扇区的设置独立于半导体存储器装置的擦除、读出和写入的单位。例如,所述半导体存储器装置中的块的大小(块大小)为512kB,其中的页的大小(页大小)为4kB,而所述主积d殳备中的扇区的大小(扇区大小)被i殳置为512B。这样,所述半导体存储器装置的擦除、读出和写入的单位或许比所述主机设备的读出和写入的单位要大。当个人电脑的次级存储装置(诸如硬盘)使用诸如半导体存储器装置进行配置时,需务使来自作为主机设备的个人电脑的小尺寸数据适应所述半导体存储器装置的块大小和页大小,并对所述数据进行地址转换。闪存有一个趋势,即,随着数据写入之前进行的块的擦除的次数的增加,存储单元的退化会持续发生。所以,进行一种称作损耗平衡的处理,用来使数据更新部分在半导体存储器装置中均匀分散,使得所述半导体存储器装置中的所有存储单元的擦除次数大致均衡。当使用这种闪存来配置大容量次M储装置时,在进行地址转换中,如果数据管理的单位为小尺寸(例如,页大小),那么,管理表的大小就会增加,并且不适合所述次级存储装置的控制器中的主存储器。地址转换不能快速进行。这样,所述管理表的大小不可避免地会随着作为次级存储装置的NAND闪存的容量的增加而增加。所以,需要一种方法,尽量减小所述管理表的容量并且提高所述管理表的搜寻处理的速度。在SSD中,如专利文献2所提出的,经常在闪存和主机设备之间插入緩存存储器,以减少所述闪存中的写入次数(擦除次数)。当从主机设备向所述緩冲存储器进行写入时,如果所述緩冲存储器满了,那么,在将数据从所述緩沖存储器清除到所述闪存之后再在所述緩沖存储器中写入数据。这样,在緩冲存储器写入的情形中,不#^冲存储器读出那样,要进行清除处理,将数据清除到闪存中。所以,处理是复杂的,其管理表的大小会增加,并且所述管理表的搜寻处理费时较长。专利文献1日本专利第3688835号图1是SSD(solidstatedrive,固态驱动器)100的配置例子的方框图。SSD100通过诸如ATA接口(ATAI/F)2这样的存储器连接接口与主机设备1(诸如个人电脑或CPU核)相连,作为主机设备1的外存储器。SSD100能够通过诸如RS232C接口(RS232CI/F)这样的通信接口3向调试及制造检测设备200发送数据或从该设备接收数据。SSD100包括非易失性半导体存储器NAND型闪存(下文中简称为NAND存储器)10、作为控制器的驱动器控制电路4、易失性半导体存储器DRAM20、电源电路5、用于状态显示的LED6、探测驱动器中的温度的温度传感器7、以及保险丝8。电源电路5从主机设备1这边的电源电路所提供的外部DC电源产生多个不同的内部DC电源电压,并将这些内部DC电源电压提供给SSD100中的各个电路。电源电路5探测外部电源电压的上升沿,产生通电重置信号,并将所述通电重置信号提供给驱动器控制电路4。在主机设备l这边的电源电路和SSD100中的电源电路5之间提供保险丝8。当外部电源电路所提供的电流太大时,保险丝8就断开,以防止所述内部电路出现故障。NAND存储器10具有四个并联工作元件10a到10d,它们进行四个并联操作。一个并联工作元件具有两个NAND存储器组。每个NAND存储器组包括多个叠置的NAND存储器芯片(例如,1个芯片=2GB)。在图1的情形中,每个NAND存储器组包括叠置的四个NAND存储器芯片。NAND存储器10具有64GB的容量。当每个NAND存储器组包括叠置的八个NAND存储器芯片时,NAND存储器10就具有128GB的容量。DRAM20作为緩存用于主机设备1和NAND存储器10之间的数据传输,并作为工作区存储器。可以用FeRAM(FerroelectricRandomAccessMemory,铁电随;fe!^M^储器)、PRAM(Phase-changeRandomAccessMemory,相变随;fe!"^!"储器)、或MRAM(MagnetoresistiveRandomAccessMemory,磁阻随fe^取存储器)来替代DRAM20。驱动器控制电路4通过DRAM20在主机设备1和NAND存储器10之间进行数据传输控制,并对SSD100中的各个部件进行控制。驱动器控制电路4将用于状态显示的信号提供给用于状态显示的LED6。驱动器控制电路4也具有从电源电路5接收通电重置信号并将重置信号和时钟信号提供给自身电路和SSD100中的各个单元的功能。每个所述NAND存储器芯片由多个作为数据擦除单元的物理块的排列来构成。图2(a)是NAND存储器芯片中所包含的一个物理块的配置例子的电路图。每个物理块包括沿X方向顺序排列的(p+1)个NAND串(p为等于或大于0的整数)。所述(p+1)个NAND串中各串所包含的选择晶体管STl的漏极与位线BLO到BLp相连,而其栅极则与共同的选择栅极线SGD相连。选择晶体管ST2的源极与共同的源极线SL相连,其栅极则与共同的选择栅极线SGS相连。每个存储器单元晶体管MT包括MOSFET(金属氧化物半导体场效应晶体管),所述MOSFET具有在半导体基底上形成的层叠栅结构。所述层叠栅结构包括隔着栅绝缘膜在半导体基底上形成的电荷存储层(浮栅电极)以及隔着栅间绝缘膜形成在所述电荷存储层上的控制栅电极。阈值电压根据所述浮栅电极中所聚集的电子的数目而变化。存储器单元晶体管MT根据所述阈值电压的差异来存储数据。存储器单元晶体管MT可以用配置为存储一位,也可以配置来存储多值(等于或大于两位的数据)。存储器单元晶体管MT不限于所述具有浮栅电极的结构,也可以是诸如MONOS(金属-氧化物-氮化物-氧化物-硅)型的结构,MONOS能够通过^f吏氮化物膜界面成为电荷存储层以收集电子来调节阈值。类似地,具有所述MONOS结构的存储器单元晶体管MT可以用来存储一位,也可以用来存储多值(等于或大于两位的数据)。在所述每个NAND串中,在选择晶体管ST1的源极和选择晶体管ST2的漏极之间排列有(q+l)个存储器单元晶体管MT,使得其电流通路串联在一起。换言之,所述存储器单元晶体管MT在Y方向上串联起来,使得相邻的存储器单元晶体管MT具有同一扩散区(源区或漏区)。从位于最终漏区一端的存储器单元晶体管MT开始,存储器单元晶体管MT的控制栅电极顺序地分别与字线WL0到WLq相连。所以,与字线WLO相连的存储器单元晶体管MT的漏极与选择晶体管ST1的源极相连。与字线WLq相连的存储器单元晶体管MT的源极与选择晶体管ST2的漏极相连。字线WL0到WLq将所述物理块中的各NAND串的存储器单元晶体管MT的共同控制栅电极连起来。换言之,处于所述物理块中同一行上的存储器单元晶体管MT的控制栅与同一字线WL相连。与同一字线WL相连的(p+l)个存储器单元晶体管MT构成一个页(物理页)。数据写入和数据读出按每个物理页来进行。位线BL0到BLp将各物理块中的选择晶体管ST1的共同漏极连起来。换言之,多个块中的同一列内的NAND串与同一位线BL相连。图2(b)是例如用于在一个存储器单元晶体管MT中存储两位的四进制数据存储模式(quaternarydatastoragemode)中的阈值分布的示意图。在所述四进制数据存储模式中,任何一个由高级页数据(upperpagedata)"x"和低级页数据(lowerpagedata)"y"所定义的四进制数据"xy"能够^皮存储在存储器单元晶体管MT中。例如,按存储器单元晶体管MT的阈值的顺序分配"11"、"01"、"00"、和"10",作为四进制数据"xy"。数据"11"为擦除状态,其中,存储器单元晶体管MT的阈值电压为负。在低级页写入操作中,根据低位数据"y"的写入,将数据"10"有选择地写入具有数据"11"(在所述擦除状态中)的存储器单元晶体管MT中。高级页写入之前的数据"10"的阈值分布大致位于高级页写入之后的数据"01"和数据"00"的阔值分布的中间,并且可以比高级页写入之后的阈值分布宽一些。在高级页写入操作中,将高位数据"x"有选择地写入数据"ir的存储器单元和数据"io"的存储器单元中。数据"or和数据"00"就被写入存储器单元中。图3是驱动器控制电路4的硬件内部配置例子的方框图。驱动器控制电路4包括数据访问总线101、第一电i^制总线102、和第二电路控制总线103。控制整个驱动器控制电路4的处理器104与第一电路控制总线102相连。引导ROM105中存储有用于引导NAND存储器10中所存储的各个管理程序(FW:firmware固件)的引导程序,它通过ROM控制器106与第一电路控制总线102相连。时钟控制器107从图1所示的电源电路5接收通电重置信号并将重置信号和时钟信号提供给各个单元,它与第一电路控制总线102相连。第二电路控制总线103与第一电路控制总线102相连。从图1所示的温度传感器7接收数据的I2C电路108、将状态显示信号提供给状态显示LED6的并行IO(PIO)电路109、以及控制RS232CI/F3的串行IO(SIO)电路110与第二电路控制总线103相连。ATA接口控制器(ATA控制器)111、第一ECC(ErrorCheckingandCorrection,4f^检查和校正)电路112、NAND控制器113、以及DRAM控制器114与数据访问总线101和第一电路控制总线102相连。ATA控制器111通过ATA接口2将数据发送到主机设备1以及从主机设备1接收数据。用作数据工作区和固件扩充区的SRAM115通过SRAM控制器116与数据访问总线101相连。当启动NAND存储器10中所存储的固件时,由引导ROM105中所存储的引导程序将所述固件传输到SRAM115。NAND控制器113包括进行接口处理以与NAND存储器10进行接口的NANDI/F117、第二ECC电路118、以及用于DMA传输控制的DMA控制器119,其中DMA控制器119在NAND存储器10和DRAM20之间进行访问控制。第二ECC电路118进行第二校正码的编码以及进行第一,校正码的编码和解码。第一ECC电路112进行第二^:校正码的解码。所述第一错误校正码和所述第二错误校正码为,例如,海明码、BCH(BoseChaudhuriHocqenghem)码、RS(ReedSolomon)码、或LDPC(lowdensityparitycheck,低密度奇偶校验)码。第二^^:校正码的校正能力高于第一错误校正码的校正能力。如图1和3所示,在NAND存储器10中,4个并联工作元件10a到10d通过4个8位信道(4ch)并联到驱动器控制电路4中的NAND控制器113上。根据所述4个并联工作元件10a到10d是独立操作的还是并行操作的以及是否使用在NAND存储器芯片中所提供的倍速才莫式(多页程序/多页读/多块擦除)这两者的组合,提供下面要说明的三种访问模式。(1)8位正常模式8位正常模式是只操作一个信道并以8位为单位来进行数据转移的模式。以物理页大小(4kB)来进行写入和读出。以物理块大小(512kB)来进行擦除。一个逻辑块与一个物理块相关,并且逻辑块大小为512kB。(2)32位正常模式32位正常模式是并行操作4个信道并以32位为单位进行数据转移的模式。以物理页大小x4(16kB)来进行写入和读出。以物理块大小x4(2MB)来进行擦除。一个逻辑块与4个物理块相关,并且逻辑块大小为2MB。(3)32位倍速模式32位倍速才莫式是并行操作4个信道并利用NAND存储器芯片的倍速模式进行写入和读出的模式。以物理页大小x4x2(32kB)来进行写入和读出。以物理块大小x4x2(4MB)来进行擦除。一个逻辑块与8个物理块相关,并且逻辑块大小为4MB。在并行操作4个信道的32位正常模式或32位倍速模式中,并行工作的4个或8个物理块为NAND存储器10的擦除单元,而并行工作的4个或8个物理页为NAND存储器10的写入单元和读出单元。在下面所说明的操作中,基本上使用32位倍速模式。例如,假设一个逻辑块=4MB=2j个轨道=2〗个页-2k个簇-2'个扇区(i、j、k和1为自然数,并且有i<j<k<l的关系)。在32位倍速模式中所访问的逻辑块以4MB为单位进行访问。8个(2x4ch)物理块(一个物理块=512kB)与所述逻辑块相关。当探测到以物理块为单位进行管理的坏块BB时,所述坏块BB就是不可^f吏用的。所以,在这种情形中,与所述逻辑块相关的8个物理块的组合就变为不包括所述坏块BB了。图4是由处理器104所实现的固件的功能配置例子的方框图。由处理器104所实现的所述固件的功能大致分成数据管理单元120、ATA命令处理单元121、安全管理单元122、引导加载器123、初始化管理单元124和调试支持单元125。数据管理单元120通过NAND控制器112和第一ECC电路114来控制NAND存储器10和DRAM20之间的数据转移以及与NAND存储器10相关的各种功能。ATA命令处理单元121通过ATA控制器110和DRAM控制器113与数据管理单元120协作在DRAM20和主机设备1之间进行数据转移处理。安全管理单元122与数据管理单元120和ATA命令处理单元121协作来管理各种类型的安全信息。当电源通电时,引导加载器123将所述管理程序(固件)从NAND存储器10加载到SRAM120。初始化管理单元124对驱动器控制电路4中的各个控制器和电路进行初始化。调试支持单元125对通过RS232C接口从外部所提供的要进行调试的数据进行处理。数据管理单元120、ATA命令处理单元121、和安全管理单元122是由执行SRAM114中所存储的管理程序的处理器104所实现的主要功能单元。在本实施例中,主要说明数据管理单元120所实现的功能。数据管理单元120提供例如ATA命令处理单元121请求作为存储装置的NAND存储器10和DRAM20根据所述主机设备所发送的各种命令(诸如写请求、緩存清,求、以及读请求)提供的功能、对主机地址区和NAND存储器10之间的对应关系进行管理并保护管理信息、以及利用DRAM20和NANDIO提供快速而高效的数据读出和写入功能,确保NAND10的可靠性。图5是在NAND存储器10和DRAM20中所形成的功能块的图。在主机1和NAND存储器10之间插入在DRAM20中所配置的写緩存(WC)21和读緩存(RC)22。WC21临时存储来自主机设备1的写数据。RC22临时存储来自NAND10的读数据。WC21和RC22可以被配置在不同的DRAM芯片上或上述其它类型的存储器芯片上。NAND存储器10中的逻辑块由数据管理单元120分配给前级存储区(FS:FrontStorage,前级存储)12、中间级存储区(IS:IntermediateStorage,中间M储)13和主存储区(MS:主存储)11的各个管理区,以便减少写入期间NAND存储器10的擦除次数。FS12以簇为单位(即,"小单位")来管理来自WC21的数据,并将小数据(细粒度数据,finegraineddata)存储一段短暂的时间。IS13以蔟为单位(即,"小单位")管理从FS12溢出的数据,并将小数据(细粒度数据,finegraineddata)存储一段较长的时间。MS11以轨道为单位(即,"大单位")存储来自WC21、FS12、和IS13的数据,并将大数据(^L^立度数据,coarsegraineddata)存储一段较长的时间。例如,存储容量的关系有MS4S,FS>WC。当在NAND存储器10的所有存储区中采用小管理单元时,后面要说明的管理表的大小就扩大了,并且不适合DRAM20。所以,NAND存储器10中的各级存储被配置来以小管理单位只管理最近刚写入的数据和小数据,其中写入NAND存储器10的效率较低。国际申请(InternationalApplication)第字PC1700S/JP/073950号中描述了在SSD100中使用所述"小单位"以及"大单位"的技术,该申请的全部内容以引述的方式纳入这里。图6是与从WC21到NAND存储器10的写处理相关的更详细的功能方框图。在FS12的前级提供对来自WC21的数据进行緩冲存储的FS输入緩冲器(FSIB)12a。在MSll的前级提供对来自WC21、FS12或IS13的数据进行緩沖存储的MS输入緩沖器(MSIB)lla。在MS11中提供轨道前级存储区(TFS)llb。TFSlib是插在MSIBlla和MS11之间的具有FIFO(FirstinFirstout,先进先出)结构的緩冲器。TFSlib中所记录的数据是更新频率比MS11中所记录的数据的更新频率更高的数据。NAND存储器10中的任何逻辑块都被分配给了MS11、MSIBlla、TFSllb、FS12、FSIB12a和IS13。下面详细说明图5和6中所示的各个部件的具体功能配置。当主机设备1对SSD100进行读或写时,主机设备1通过ATA接口输入LBA(LogicalBlockAddressing,逻辑块地址)作为逻辑地址。如图7所示,所述LBA是逻辑地址,其中从0开始的序列号被附加的扇区(大小512B)上。在本实施例中,作为WC21、RC22、FS12、IS13和MS11(它们是图5所示的部件)的管理单位,定义逻辑簇地址和逻辑轨道地址,前者由在顺序上等于或高于LBA的低阶第(1-k+l)位的位串构成,后者由在顺序上等于或高于LBA的低阶第(1-i+l)位的位串构成。一个簇=2州个扇区,一个轨道=2(")个簇。读緩存(RC)22下面说明RC22。RC22是用于根据ATA命令处理单元121的读请求临时存储来自NAND存储器10(FS12、IS13和MS11)的读数据的区域。在本实施例中,RC22按例如m行/n路(m为等于或大于2^力的自然数,n为等于或大于2的自然数)组相联(setassociative)系统来管理,并且能够在一个条目中存储一个簇的数据。一行由所述逻辑簇地址的LSB(k-i)位来确定。RC22可以按全相联(full-associative)系统来管理,或者可以按简单的FIFO系统来管理。写緩存(WC)21下面说明WC21。WC21是用于根据ATA命令处理单元121的写请求临时存储来自主机设备1的写数据的区域。WC21按m行/n路(m为等于或大于2阿的自然数,n为等于或大于2的自然数)组相联(setassociative)系统来管理,并且能够在一个入口中存储一个簇的数据。一行由所述逻辑簇地址的LSB(k-i)位来确定。例如,从第1路到第n路顺序搜寻可写的路。WC21中所寄存的轨道由后面要说明的WC轨道管理表24的FIFO结构按LRU(leastrecentlyused,最近最少4吏用的)来管理,使得最先更新的顺序是已知的。RC21可以按全相联(full-associative)系统来管理。WC21的行的数目和路的数目可以与RC22的不同。根据写请求所写入的数据一度被存储在WC21中。从WC21到NAND10要清除的数据的确定方法按照下面所说明的规则来进行。(i)当由某个标签所确定的某个行中的可写路为最后一个(在本实施例中,为第n个)自由路(freeway)时,即,当使用最后一个自由路时,在所述行中所寄存的轨道中基于LRU所最早更新的轨道被确定为要进行清除。(ii)当WC21中所寄存的不同轨道的数目超过了预定的允许数时,WC中簇的数目小于预定数的轨道被确定为要按LRU的顺序进行清除。根据上述的规则来确定要清除的轨道。在清除轨道中,同一轨道中所包含的所有数据都被清除。当要清除的数据量超过例如轨道大小的50%时,所述数据被清除到MS11。当要清除的数据量没有超过例如轨道大小的50%时,所述数据被清除到FS12。当在条件(i)下进行轨道清除并且数据被清除到MS11时,根据规则(i),选择在WC21中的轨道中满足要清除的数据量超过轨道大小的50%这个条件的轨道,并将其添加到清除候选中,直到要清除的轨道数达到为止(当一开始轨道数就等于或大于2i时,直到轨道数达到2i+1)。换言之,当要清除的轨道数小于分时,从所述WC中的最早的轨道中顺序选择有效簇大于2W-"的轨道,并将其添加到清除候选中,直到轨道数达到2i为止。当在条件(i)下进行轨道清除并且所述轨道数据被清除到FS12时,在WC21中的轨道中按LRU的顺序选择满足要清除的数据量不超过轨道大小的50%这个条件的轨道,并将所述轨道的簇添加到清除候选中,直到要清除的簇的数目达到2k为止。换言之,通过从最早的轨道起按顺序在所述WC中跟踪轨道来从具有2W-"个或少于2^""个有效蔟的轨道中提取簇,并且当有效蔟的数目达到2k时,以逻辑块为单位将所述蔟清除到FSIB12a中。然而,如果没有找到2k个有效蔟,则以逻辑页为单位将所述簇清除到FSIB12a中。用来判断是以逻辑块还是以逻辑页为单位来进行到FS12的清除的有效蔟数目阈值不限于一个逻辑块的值(即2k),可以是一个比一个逻辑块的值稍小的值。在来自ATA命令处理单元121的緩存清除(CacheFlush)请求中,WC21中的所有内容在与上勤目同的务降下被清除到FS12或MS11中(当要清除的数据量超过轨道大小的50%时,将数据清除到MS11中,而当所述数据量不超过50%时,将数据清除到FS12中)。前级存储区(FS)12下面说明FS12。FS12适应逻辑块单位的FIFO结构,其中数据以蔟为单位进行管理。FS12是一个緩沖器,该緩冲器涉及到通过FS12的数据其更新频率高于位于后级的IS13的数据更新频率。换言之,在FS12的FIFO结构中,当从主机对同一地址进行重写时,通过所述FIFO的有M(最新的簇)被无效化。所以,通过FS12的簇可以被认为是其更新频率高于从FS12清除到IS13或MS11的蔟的更新频率。通过提供FS12,在后级的IS13中在压缩处理中数据与高更新频率的混合的可能性就减小了。当某个逻辑块的有效蔟的数目通过所迷无效化减小到0时,就将该逻辑块釋,放并将其分配给自由块FB(freeblock)。当FS12中的逻辑块被无效化时,就获得了新的自由块FB并将其分配给FS12。当从WC21到FS12进行蔟清除时,将所述蔟写入被分配给FSIB12a的逻辑块中。当在FSIB12a中存在所有逻辑页都被写入了的逻辑块时,通过后面要说明的CIB处理将这些逻辑块从FSIB12a移动到FS12。在将这些逻辑块从FSIB12a移动到FS12中,当FS12的逻辑块的数目超过FS12所允许的上限值时,将最早的逻辑块从FS12清除到IS13或MS11中。例如,有效蔟的比例等于或大于50。/。的轨道^L写入MS11(TFSlib)中,保留有有效蔟的逻辑块被移动到IS13中。作为NAND存储器10中的各部件之间的数据移动方法,有两种方法,即"移动"和"复制"。"移动"是一种筒单地进行后面要说明的管理表的指针位置的重新定位而不进行实际的数据重写的方法。"复制"是一种以页、轨道、或块为单位将一个部件中存储的数据实际重写到另一个部件中的方法。中间级存储区(IS)13下面说明IS13。在IS13中,以与FS12相同的方式以蔟为单位进行数据的管理。IS13中所存储的数据可以被认为是具有低更新频率的数据。当从FS12到IS13进行逻辑块的移动("移动")时,即从FS12进行所述逻辑块的清除时,通过指针的重新定位,将作为清除对象的逻辑块(它先前是FS12的管理对象)变为IS13的管理对象。才艮据所述逻辑块从FS12到IS13的移动,当IS13中的块的数目超过了IS13所允许的预定上P艮值时,即,当所述IS中可写的自由块FB的数目下降到小于某个阈值时,进行从IS13到MS11的数据清除以及压缩处理(compactionprocessing)。将IS13中的块的数目恢复到某个特定的值。IS13利用轨道中的有效蔟的数目来执行下面要说明的清除处理和压缩处理。轨道按有效蔟的数目x有^系数(根据在逻辑块(其中在MSll中有无效轨道)中是否有轨道进行加权的数目)的顺序进行拣选;当存在无效轨道时所述数目大于当不存在无效轨道时的所述数目)。收集乘积值大的2i+1个轨道(两个逻辑块的),将其增加到自然数倍与逻辑块大小同样大,并将其清除到MSIBlla中。当有效蔟数目最小的两个逻辑块的有效蔟的总数例如等于或大于预设的2k(—个逻辑块的)时,重复上述步骤(进行所述步骤,直到在IS中从两个逻辑块能够产生一个自由块FB为止)。在IS中,从有效蔟数目最小的逻辑块按顺序收集2k个簇,并进行压缩。这里,选择有效簇数目最小的两个逻辑块。然而,所述数目不限于2,只必须是等于或大于2的数目。所述预设值只必须等于或小于能够被存储在数目比所选逻辑块的数目小1的逻辑块中的簇的数目。主存储区(MS)11下面说明MSll。在MS11中,以轨道为单位进行数据管理。MS11中所存储的数据可以被认为是具有低的更新频率。当从WC21、FS12、或IS13"复制"或"移动"轨道到MS11中时,将所述轨道写入被分配给MSIBlla的逻辑块。另一方面,当从FS12、IS13等只写入所述轨道的一部分中的数据(簇)时,进行后面要说明的被动合并(passivemerge),用来将MSll中的现有轨道和新数据合并起来以产生新轨道,然后将所产生的轨道写入MSIBlla中。当无效轨道在MS11中积累并且分配给MS11的逻辑块的数目超过了MS11所允许的块的数目的上限时,进行压缩处理以产生自由块FB。作为MS11的压缩处理,执行例如下面要说明的方法,关注点只在逻辑块中的有效轨道数目。从具有最小的有效轨道数目的逻辑块中选择逻辑块,直到通过合并无效轨道产生了自由块FB为止。进行被动合并,将所选逻辑块中所存储的轨道与WC21、FS12或IS13中的数据进行集成,于是就进行了压缩。能够集成分个轨道的逻辑块^L输出到TFSlib(21个轨道MS压缩),数目少于2J的轨道被输出到MSIBlla(少于2i个轨it^缩)以产生较大数目的自由块FB。TFSlib适应逻辑块单位(其中数据以轨道为单位进行管理)的FIFO结构。TFSllb是一个緩冲器,该緩沖器涉及到通过TFSllb的数据其更新频率高于位于后级的MS11的数据更新频率。换言之,在TFSlib的FIFO结构中,当从主机对同一地址进行重写时,通过所述FIFO的有效轨道(最新的轨道)被无效化。所以,通过TFSllb的轨道可以被认为是其更新频率高于从TFSlib清除到MS11的轨道的更新频率。图8是用于数据管理单元120控制并管理图5和6所示的各个部件的管理表的示意图。如上所述,数据管理单元120具有在ATA命令处理单元121和NAND存储器10之间进行搭桥的功能,它包括DRAM层管理单元120a(对DRAM20中所存储的数据进行管理)、逻辑-NAND层管理单元120b(对NAND存储器10中所存储的数据进行管理)、以及物理NAND层管理单元120c(对作为物理存储装置的NAND存储器10进行管理)。RC簇管理表23、WC轨道管理表24、和WC簇管理表25由DRAM层管理单元U0a进行控制。轨道管理表30、FS/IS管理表40、MS逻辑块管理表35、FS/IS逻辑块管理表42和FS/IS内簇管理表44由逻辑NAND层管理单元120b进行管理。逻辑-物理转换表50由物理NAND层管理单元120c进行管理。RC22由RC簇管理表23进行管理,该表是一个反向查寻表(reverselookuptable)。在所述反向查寻表中,能够从存储装置的位置搜寻在该位置处所存储的逻辑地址。WC21由WC簇管理表25(它是一个反向查寻表)和WC轨道管理表24(它是一个前向查寻表(forwardlookuptable))进行管理。在所述前向查寻表中,从一个逻辑地址能够搜寻与所述逻辑地23址相对应的数据所在的存储装置的位置。NAND存储器10中的FS12(FSIB12a)、IS13和MS11(TFSlib和MSIBlla)的逻辑地址由轨道管理表30、FS/IS管理表40、MS逻辑块管理表35、FS/IS逻辑块管理表42、和FS/IS内簇管理表44进行管理。在NAND存储器10中的FS12(FSIB12a)、IS13和MS11(TFSlib和MSIB11a)中,逻辑地址和物理地址的转换从逻辑-物理转换表50中进行。这些管理表被存储在NAND存储器10上的某个区域中,并且在SSD100的初始化期间从NAND存储器10读到DRAM20上。RC簇管理表23(反向查寻)下面参考图9来说明RC簇管理表23。如上所述,RC22按n路组相联系统进4亍管理,该系统由逻辑簇地址LSB(k-i)位进行索引。RC蔟管理表23是用于对RC(簇大小xm行xn路)22的各个条目的标签进行管理的表。所述每个标签都包括一个包含多个位的状态标记23a和一个逻辑轨道地址23b。除了指示所述条目是否可以使用(有^t/无效)的有效位之外,状态标记23a还包括例如指示所述条目是否在等待从NAND存储器10进行读出的位和指示所述条目是否在等待向ATA命令处理单元121进行读出的位。RC簇管理表23作为反向查寻表,用来从DRAM20中的标签存储位置搜寻与LBA—致的逻辑轨道地址。WC簇管理表25(反向查寻)下面参考图IO来说明WC簇管理表25。如上所述,WC21按n路组相联系统进行管理,该系统由逻辑簇地址LSB(k-i)位进行索引。WC蔟管理表25是用于对WC(簇大小xm行xn路)21的各个条目的标签进行管理的表。所述每个标签都包括一个多个位的状态标记25a、一个扇区位置位图25b、和一个逻辑轨道地址25c。除了指示所述条目是否可以使用(有勿无效)的有效位之外,状态标记25a还包括例如指示所述条目是否在等待向NAND存储器10进行清除的位和指示所述条目是否在等待从ATA命令处理单元121进行写入的位。通过将扇区扩充到2+W个位,扇区位置位图25b指示一个簇中所包含的2("k)个扇区中的哪个扇区存储着有效数据。利用扇区位置位图25b,在WC21中能够以扇区为单位进行管理,与LBA相同。WC簇管理表25作为反向查寻表,用来从DRAM20中的标签存储位置搜寻与LBA—致的逻辑轨道地址。WC轨道管理表24(前向查寻)参考图11来说明WC轨道管理表24。WC轨道管理表24是一个用来管理信息的表,在所述信息中,以轨道为单位来收集WC21中所存储的蔟,并且该表使用具有类似FIFO功能的链接列表结构(linkedliststructure)表示轨道在WC21中的寄存顺序(LRU)。所述LRU可以由WC21中最后更新的顺序来表示。每个链接列表中的条目包括逻辑轨道地址24a、所述逻辑轨道地址中所包括的WC21中的有效蔟的数目24b、路-行位图24c、和指示到下一个条目的指针的下一个指针24d。WC轨道管理表24是一个前向查寻表,因为是从逻辑轨道地址24a来获得所要求的信息的。路-行位图24c是图信息,指示了在WC21中的mxn个条目的哪个条目中存储着WC21中的逻辑轨道地址中所包含的有效蔟。在存储着所述有效蔟的条目中,有效位为'T,。路-行位图24c包括,例如,(一位(有效)+log2n位(n路))xm位(m行)。WC轨道管理表24具有链接列表结构。只输入与WC21中所存在的逻辑轨道地址相关的信息。轨道管理表30(前向搜寻)参考图12来说明轨道管理表30。轨道管理表30是一个用来以逻辑轨道地址为单位来管理MSll中的逻辑数据位置的表。当数据以簇为单位存储在FS12或IS13中时,轨道管理表30存储与所述数据相关的基本信息和指向详细信息的指针。轨道管理表30具有阵列格式(arrayformat),以逻辑轨道地址30a作为索引。以逻辑轨道地址30a为索引的每个条目包括诸如簇位图30b、逻辑块ID30c+逻辑块内轨道位置30d、簇表指针(clustertablepointer)30e、FS簇的数目30f、和IS簇的数目30g等信息。轨道管理表30是前向查寻表,因为,使用逻辑轨道地址作为索引,可以获得所要求的信息,诸如逻辑块ID(与存储装置位置相对应),其中存储着与所述逻辑轨道地址相对应的轨道。簇位图30b是通过将属于一个逻辑轨道地址范围的2(|^个簇按逻辑蔟地址的上升顺序分成例如8份而获得的位图。8位中的每个位指示了与2(k-"3)个簇地址相对应的簇是否在MS11或在FS12或IS13中。当所述位为"0"时,这表明作为搜寻对象的簇肯定在MS11中。当所述位为"1"时,这表明所述簇可能在FS12或IS13中。逻辑块ID30c是用于识别逻辑块ID的信息,其中存储着与逻辑轨道地址相对应的轨道。逻辑块内轨道位置30d指示了在由逻辑块ID30c所指定的逻辑块中与逻辑轨道地址30a相对应的轨道的存储位置。因为一个逻辑块最多包括2j个有效轨道,逻辑块内轨道位置30d利用i位来识别2j个轨道位置。簇表指针30e是指向具有链接列表结构的FS/IS管理表40的每个链接列表(list)的顶部条目的指针。在通过蔟位图30b进行搜寻中,当表明所述蔟可能在FS12或IS13中时,利用蔟表指针30e来对FS/IS管理表40进行搜寻。FS簇的数目30f指示了在FS12中所存在的有效簇的数目。IS簇的数目30g指示了在IS13中所存在的有效簇的数目。FS/IS管理表40(前向搜寻)参考图13来说明FS/IS管理表40。FS/IS管理表40是一个用于以逻辑簇地址为单位对FS12(包括FSIB12a)或IS13中所存储的数据的位置进行管理的表。如图13所示,所形成的FS/IS管理表40对每个逻辑轨道地址有一个独立的链接列表格式。如上所述,指向每个链接列表的顶部条目的指针被存储在轨道管理表30的蔟表指针30e域中。在图13中,显示了两个逻辑轨道地址的链接列表。每个条目包括逻辑簇地址40a、逻辑块ID40b、逻辑块内簇位置40c、FS/IS块ID40d、和下一个指针40e。FS/IS管理表40是一个前向查寻表,因为,从逻辑簇地址40a获取所要求的信息,诸如逻辑块ID40b和逻辑块内簇位置40c(与存储装置位置相对应),其中存储有与逻辑簇地址40a相对应的簇。逻辑块ID40b是用于识别逻辑块ID的信息,其中存储着与逻辑块地址40a相对应的簇。逻辑块内簇位置40c指示了在由逻辑块ID40b所指定的逻辑块中与逻辑簇地址40a相对应的簇的存储位置。因为一个逻辑块最多包括2"个有效簇,所以,逻辑块内簇位置40c利用k位来识别2k个蔟位置。FS/IS块ID是后面要说明的FS/IS逻辑块管理表42的索引,它被寄存在FS/IS块ID40d中。FS/IS块ID40d是用于识别属于FS12或IS13的逻辑块的信息。FS/IS管理表40中所寄存的FS/IS块ID40d用于与后面要说明的FS/IS逻辑块管理表42进行链接。下一个指针40e指示了指向为每个逻辑轨道地址所链接的同样的链接列表中的下一个条目的指针。MS逻辑块管理表35(反向查寻)参考图14来"^兌明MS逻辑块管理表35。MS逻辑块管理表35是一个用于单一地管理与MS11中所使用的逻辑块相关的信息(例如,哪个轨道有存储以及某个轨道位置是否还是可记录的)的表。在MS逻辑块管理表35中,也寄存了与属于FS12(包括FSIB12a)和IS13的逻辑块相关的信息。所形成的MS逻辑块管理表35具有阵列格式,以逻辑块ID35a作为索引。如果是128GB的NAND存储器10,那么条目数最多可以为32K个条目。每个条目都包括2i个轨道的轨道管理指针35b、有效轨道数35c、可写的顶部轨道35d、以及有效标记35e。MS逻辑块管理表35是一个反向查寻表,因为从与存储装置位置相对应的逻辑块ID35a可以获得所要求的信息,诸如所述逻辑块中所存储的逻辑轨道地址。轨道管理指针35b在由逻辑块ID35a所指定的逻辑块中存储着与2j个轨道位置中的每个轨道位置相对应的逻辑轨道地址。可以利用所述逻辑轨道地址对以逻辑轨道地址作为索引的轨道管理表30进行搜寻。有效轨道数35c指示了在由逻辑块ID35a所指定的逻辑块中所存储的轨道中的有效轨道数(最大为2j)。可写的顶部轨道位置35d指示了当逻辑块ID35a所指定的逻辑块为要进行附加记录的块时可进行附加记录的顶部位置(0到2",当附加记录完成时为2j)。当所述逻辑块条目被定为MS11(包括MSIB11a)时,有效标记35e为"1"。这里,"进行附加记录,,是指以附加方式将簇或轨道写入逻辑块中的空的逻辑页中。FS/IS逻辑块管理表42(反向查寻)参考图15来说明FS/IS逻辑块管理表42。所形成的FS/IS逻辑块管理表42具有阵列格式,以FS/IS块ID42a作为索引。FS/IS逻辑块管理表42是一个用来管理与用作FS12或IS13的逻辑块相关的信息(与逻辑块ID的对应、FS/IS内簇管理表44的索引、所述逻辑块是否可进行附加记录、等)的表。主要利用FS/IS管理表40中的FS/IS块ID40d来对FS/IS逻辑块管理表42进行访问。每个条目包括逻辑块ID42b、块内簇表42c、有效簇的数目42d、可写的顶部页42e、和有效标记42f。MS逻辑块管理表35是一个反向查寻表,因为从与存储装置位置相对应的FS/IS块ID42来获得所要求的信息,诸如逻辑块中所存储的簇。在逻辑块ID42b中寄存了MS逻辑块管理表35中所寄存的逻辑块中的与属于FS12(包括FSIB12a)和IS13的逻辑块相对应的逻辑块ID。在块内簇表42c中寄存了后面要说明的FS/IS内簇管理表44的索引,该索引指示了通过在逻辑块中的每个簇位置中寄存了哪个逻辑簇地址而指定的逻辑簇。有效簇的数目42d指示了由FS/IS块ID42a所指定的逻辑块中所存储的簇中的有效蔟的数目(最大为2"。可写的顶部页位置42e指示了当FS/IS块ID42a所指定的逻辑块为要进行附加记录的块时可进行附加记录的顶部页位置(0到2J",当附加记录完成时为2"。当所述逻辑块条目被定为FS12(包括FSIB12a)或IS13时,有效标记42f为"1"。FS/IS内簇管理表44(反向查寻)28参考图16来说明FS/IS内簇管理表44。FS/IS内簇管理表44指示了在用作FS12或IS13的逻辑块中的每个簇位置中记录了哪个簇。FS/IS内簇管理表44每一个逻辑块具有2j个页x2^D个簇-2k个条目。在所述逻辑块中的簇位置中,与第0个到第2k-l个簇位置相对应的信息被安排在连续的区域中。包含2k个信息的表被存储起来,其数目(P)与属于FS12和IS13的逻辑块的数目等价。FS/IS逻辑块管理表42中的块内蔟表42c为所述P个表的位置信息(指针)。被安排在所述连续区域中的每个条目44a的位置指示了在一个逻辑块中的簇位置。作为条目44a的内容,指向包含由FS/IS管理表40所管理的逻辑簇地址的链接列表的指针被寄存起来,使得可以识别哪个簇被存储在所述簇位置中。换言之,条目44a不指示链接列表的顶部。在条目44a中寄存了一个指针,该指针指向所述链接列表中包含的所述逻辑簇地址的一个列表。逻辑_物理转换表50(前向查寻)参考图17来说明逻辑-物理转换表50。所形成的逻辑-物理转换表50具有阵列格式,以逻辑块ID50a为索引。在128GBNAND存储器10的情形中,条目的数目最大为32K个条目。逻辑-物理转换表50用于管理与逻辑块ID和物理块ID之间的转换等相关的信息。每个条目包括物理块地址50b、擦除次数50c、以及读出次数50d。逻辑-物理转换表50是一个前向查寻表,因为从逻辑块ID获得所要求的信息,诸如物理块ID(物理块地址)。物理块地址50b指示了属于一个逻辑块ID50a的8个物理块ID(物理块地址)。擦除次数50c指示了所述逻辑块ID的擦除次数。坏块(BB)以物理块(512KB)为单位进行管理。然而,所述擦除次数在32位倍速模式中以一个逻辑块(4MB)为单位进行管理。读出次数50d指示了所述逻辑块ID的读出次数。擦除次数50c可以用在例如损耗平衡处理中,用来对NAND型闪存的重写次数进行平衡。读出次数50d可以用在刷新处理中,用来对保持特性变差的物理块中所存储的数据进行重写。在国际专利申请PCT/JP2008/066508号和PCT/JP2008/066507号中描述了所述损耗平衡处理的例子。在国际专利申请PCT/JP2008/067597号中描述了所述刷新处理的例子,其整个内容通过引述纳入这里。图8所示的管理表按下面所说明的管理对象进行整理。RC管理RC簇管理表23WC管理WC簇管理表25和WC轨道管理表24MS管理轨道管理表30和MS逻辑块管理表35FS/IS管理轨道管理表30、FS/IS管理表40、MS逻辑块管理表35、FS/IS逻辑块管理表42、和FS/IS内簇管理表44包括MSll、MSIBlla、和TFSllb在内的MS区域的结构在MS结构管理表(未显示)中进行管理。具体说,对分配给MSll、MSIBlla、和TFSlib的逻辑块等进行管理。包括FS12、FSIB12a、和IS13在内的FS/IS区域的结构在FS/IS结构管理表(未显示)中进行管理。具体说,对分配给FS12、FSIB12a、和IS13的逻辑块等进行管理。读处理参考图18所示的流程图来说明读处理。当从ATA命令处理单元121输入了读命令、作为读出地址的LBA、以及读出大小时,数据管理单元120对图9所示的RC簇管理表23以及图10所示的WC簇管理表25进行搜寻(步骤S100)。具体说,数据管理单元120从RC簇管理表23和WC簇管理表25选择与所述LBA的逻辑簇地址的LSB(k-i)位相对应的行(参见图7),并将在所选行的每个路中所输入的逻辑轨道地址23b和25c与所述LBA的逻辑轨道地址进行比较(步骤S110)。当存在这样一个路使得在其自身中所输入的逻辑轨道地址与LBA的逻辑轨道地址一致时,数据管理单元120将其视为緩存搜中(cachehit)。数据管理单元120读出与RC簇管理表23或WC簇管理表25的搜中的行和路相对应的WC21或RC22中的数据,并将所述数据发送到ATA命令处理单元121(步骤S115)。当在RC22或WC21中没有搜中时(步骤SllO),数据管理单元120搜寻在NAND存储器10的哪一个部分中存储着作为搜寻对象的簇。首先,数据管理单元120对图12所示的轨道管理表30进行搜寻(步骤S120)。轨道管理表30以逻辑轨道地址30a为索引。所以,数据管理单元120只检查与所述LBA所指定的逻辑轨道地址相符合的逻辑轨道地址30a的条目。数据管理单元120基于希望被检查的LBA的逻辑簇地址从蔟位图30b中选择相应的位。当所述相应的位为"0"时,这意味着,所述蔟的最新数据肯定在MS中(步骤S130)。在这种情形中,数据管理单元120从逻辑轨道地址30a的同一条目中的逻辑块ID30c和逻辑块内轨道位置30d获取逻辑块ID和所述轨道所在的轨道位置。数据管理单元120利用所述LBA的逻辑簇地址的LSB(k-i)位计算与所述轨道位置的偏移量。于是,数据管理单元120能够计算出与NAND存储器10中的逻辑簇地址相对应的簇的存储位置。具体说,逻辑NAND层管理单元120b将如上所述从轨道管理表30所获得的逻辑块ID30c和逻辑块内位置30d以及所述LBA的逻辑簇地址的LSB(k-i)位传送给物理NAND层管理单元120c。物理NAND层管理单元120c从图17所示的以逻辑块ID为索引的逻辑一物理转换表50中获取与逻辑块ID30c相对应的物理块地址(物理块ID)(步骤S160)。数据管理单元120从逻辑块内轨道位置30d计算所获取的物理块ID中的轨道位置(轨道顶部位置),并进一步从所述LBA的逻辑簇地址的LSB(k-i)位计算相对于所述物理块ID中的计算出的轨道顶部位置的偏移。于是,数据管理单元120能够获得所述物理块中的蔟。数据管理单元120将从NAND存储器10中的MS11所获得的所述簇通过RC22发送到ATA命令处理单元121(步骤S180)。另一方面,在基于所述LBA的逻辑簇地址对簇位图30b进行搜寻中,当相应的位为'T,时,所述蔟可能被存储在FS12或IS13中(步骤S130)。在这种情形中,数据管理单元120在轨道管理表30中的逻辑轨道地址30a的相关条目中提取蔟表指针30e的条目,并继而使用这个指针对与FS/IS具体说,数据管理单元120搜寻与相关逻辑轨道地址的链接列表中的LBA200980000126.6的逻辑簇地址相符合的逻辑簇地址40a的条目。当相符合的逻辑簇地址40a的条目存在时(步骤S150),数据管理单元120获取所勤目符合的列表中的逻辑块ID40b和逻辑块内簇位置40c。以与上述同样的方式,数据管理单元120利用逻辑-物理转换表50获取所述物理块中的簇(步骤S160和S180)。具体说,数据管理单元120从逻辑-物理转换表50中获取与所获取的逻辑块ID相对应的物理块地址(物理块ID)(步骤S160),并根据从逻辑块内簇位置40c的条目所获取的逻辑块内簇位置计算所获取的物理块ID的簇位置。于是,数据管理单元120能够获得所述物理块中的所述簇。数据管理单元120将从NAND存储器10中的FS12或IS13所获得的簇通过RC22发送到ATA命令处理单元121(步骤S180)。在对FS/IS管理表40进行的搜寻中,当作为搜寻对象的簇不存在时(步骤S150),数据管理单元120再次对轨道管理表30中的条目进行搜寻,并决定MSll中的一个位置(步骤S170)。写处理参考图19中的流程图来说明写处理。由写命令所写的数据总是一度被存储在WC21中。之后,根据情况,所述数据被写入NAND存储器10中。在写处理中,可能进行清除处理(flushprocessing)和压缩处理(compactionprocessing)。在本实施例中,写处理大致分成两个阶段,即写緩存闪处理(writecacheflashprocessing,下文中称作WCF处理)和清空输入緩冲器处理(cleaninputbufferprocessing,下文中称作CIB处理)。步骤S300到S320指示了来自ATA命令处理单元121的写请求的处理到WCF处理。步骤S330到最后一步指示了CIB处理。WCF处理用于将WC21中的数据复制到NAND存储器10(FS12中的FSIB12a或MS11中的MSIB11a)中。来自ATA命令处理单元121的单独的写请求或緩存清,求(CacheFlushrequest)只能由这个处理来完成。这就可以将开始对ATA命令处理单元121所发出的写请求进行处理的延迟限制为写入与WC21的容量等价的NAND存储器10中所用的时间这个极限。CIB处理包括,将由WCF处理写入FSIB12a中的数据移动到FS12中的处理和将由WCF处理写入MSIBlla中的数据移动到MS11中的处理。当开始进行CIB处理时,可能会以连锁反应的方式进行在NAND存储器中的各个部件(FS12、IS13、MS11等)之间的数据移动以及进行压缩处理。所述总的处理所需要的时间实际上才艮据状态而变化。WCF处理首先来说明WCF处理的细节。当从ATA命令处理单元121输入了写命令、作为写地址的LBA、以及写大小时,DRAM层管理单元120a对图10所示的WC簇管理表25进行搜寻(步骤S300和S305)。WC21的状态由图10所示的WC簇管理表25的状态标记25a(例如,3位)来确定。最典型的是,状态标记25a的状态按照下面的顺序进行转变无效(可4吏用)—等待从ATA写入—有效(不可4吏用)—等待清除到NAND—无效(可使用)。首先,从所述LBA的逻辑簇地址的LSB(k-i)位确定在写入目的地的行,并对所确定的行的n路进行搜寻。当与输入的LBA的逻辑轨道地址相同的逻辑轨道地址25c被存储在所确定的行的n路中时(步骤S305),DRAM层管理单元120a确保这个条目为用于写簇的条目,因为所述条目要被覆写(有效(不可使用)—等待从ATA写入)。DRAM层管理单元120a向ATA命令处理单元121通报与所迷条目相对应的DRAM地址。当由ATA命令处理单元121进行的写入完成时,数据管理单元120将所述条目的状态标记25a改为有效(不可使用),并将所获得的数据寄存在扇区位置位图25b和逻辑轨道地址25c的空间中。数据管理单元120更新WC轨道管理表24。具体说,当输入了与已经寄存在WC轨道管理表24的列表中的逻辑轨道地址24a相同的LBA地址时,数据管理单元120更新相关列表的WC簇的数目24b和路-行位图24c,并改变下一个指针24d,使得所述列表变为最新的列表。当输入了与已经寄存在WC轨道管理表24的列表中的逻辑轨道地址24a不相同的LBA地址时,数据管理单元120产生新的列表,该列表具有由逻辑轨道地址24a、WC簇的数目24b、l行位图24c、和下一个指针24d构成的条目,并将所述列表寄存为最新列表。数据管理单元120进行上述的表更新以完成写处理(步骤S320)。另一方面,当与输入的LBA的逻辑轨道地址相同的逻辑轨道地址25c没有存储在所确定的行的n路中时,数据管理单元120就判断清除到NAND存储器10中是否必要(步骤S305)。首先,数据管理单元120判断所确定的行中的某个可写路是否是最后的第n路。所述可写路是具有无效(可使用)这样的状态标记25a的路,或者是具有有效(不可使用)和等待向NAND进行清除这样的状态标记25a的路。当状态标记25a为等待向NAND进行清除时,这意味着,清除开始了,并且一个条目是,等待所述清除的完成。当所述可写的路不是最后的第n路并且所述可写的路是具有无效(可使用)这样的状态标记25a的路时,数据管理单元120确保这个条目为用于簇写入的条目(无效(可使用)—等待从ATA的写入)。数据管理单元120向ATA命令处理单元121通报与所述条目相对应的DRAM地址,并使ATA命令处理单元121执行写入。以与上述同样的方式,数据管理单元120更新WC簇管理表25和WC轨道管理表24(步骤S320)。当所述可写的路不是最后的第n路并且当所述可写的路是具有有效(不可使用)和等待向NAND进行清除这样的状态标记25a的路时,数据管理单元l加确保这个条目为用于写入蔟的条目(有效(不可使用)和等待向NAND进行清除—有效(不可使用)和等待从NAND进行清除和等待从ATA进行写入)。当所述清除完成时,数据管理单元120将状态标记25a改变为等待从ATA写入、向ATA命令处理单元121通报与所述条目相对应的DRAM地址、并使ATA命令处理单元121执行写入。以与上述同样的方式,lt提管理单元120更新WC簇管理表25和WC轨道管理表24(步骤S320)。当输入了来自ATA命令处理单元121的写请求时,当清除处理不必启动时,进行上述处理。另一方面,在输入了写请求之后,当启动了清除处理时,进行下述处理。在步骤S305中,当在所确定的行中的可写的路为最后的第ii路时,数据管理单元120基于(i)中所说明的条件,即,将所确定的数据从WC21清除到NAND存储器10中的方法,选择要进行清除的轨道(即,WC21中的某个条目)(i)当标签所确定的可写的路为最后一个(在本实施例中为第n个)自由路时,即,当要使用最后一个自由的路时,在所述行中所寄存的轨道中,基于LRU最早更新的轨道被确定为要进行清除的轨道。当根据如上所述的规则确定了要进行清除的轨道时,如上所述,如果同一逻辑轨道地址中所包含的WC21中的所有簇要被清除,并且要被清除的簇的数量超过了轨道大小的50%,即,如果在决定要进行清除的轨道中,所述WC中的有效蔟的数目等于或大于2^i-",那么,DRAM层管理单元120a将其清除到MSIBlla中(步骤S310)。如果所述蔟的数量不超过轨道大小的50%,即,如果在决定要进行清除的轨道中,所述WC中的有效簇的数目小于2("-",那么,DRAM层管理单元120a将其清除到FSIB12a中(步骤S315)。后面将说明从WC21到MSIBlla的清除和从WC21到FSIB12a的清除的细节。所选清除条目的状态标记25a从有效(不可使用)变为等待清除到NAND存储器10。使用WC轨道管理表24来判断清除目的地。对于每个逻辑轨道地址,在WC轨道管理表24中寄存了指示有效蔟数目的WC簇的数目24b的条目。数据管理单元120参考所述WC簇数目24b的条目来判断FSIB12a和MSIBlla中哪个应该被设置为从WC21进^f亍清除的目的地。属于所述逻辑轨道地址的所有的簇都以位图格式寄存在路-行位图24c中。所以,在进行清除中,数据管理单元120能够参考路-行位图24c很容易地得知应该被清除的每个簇在WC21中的存储位置。在写处理期间或在写处理之后,当下面的条件满足时,数据管理单元120也以同样的方式执行到NAND存储器10的清除处理(ii)WC21中所寄存的轨道数超过某个预定数。WC—MSIB(复制)当根据基于有效蔟数目(所述有效蔟数目等于或大于2W力)所做出的判断从WC21向MSIBlla进行清除时,数据管理单元120如上所述执行下面要说明的过程(步骤S310)。1.参考WC簇管理表25并参考在与要被清除的簇相对应的标签中的扇区位置位图25b,当扇区位置位图25b并非均为"1"时,数据管理单元120进4亍后面要i兌明的内部轨道扇区填充(intra-tracksectorpadding),以便通过从NAND存储器10读出所述同一逻辑轨道地址中所包含的丢失扇区,与WC21中不存在的扇区进行合并。2.当决定要进行清除的轨道数小于2i时,数据管理单元120添加决定要进行清除的具有2W-"个或更多有效簇的轨道,直到在WC21中从最早的轨道算起决定要进行清除的轨道的数目达到2J为止。3.当有2J个或更多的轨道要进行复制时,数据管理单元120以逻辑块为单位在MSIBlla中进行写入,以每2i个轨道作为一组。4.数据管理单元120对不能以轨道为单位在MSIBlla中形成2'个一组的轨道的那些轨道进行写入。5.在所述复制完成后,在所述FS、IS和MS中已经存在的那些轨道中,数据管理单元120使属于所述复制轨道的簇和轨道无效化。下面说明在从WC21到MSIBlla进行的复制处理中所涉及的各个管理表的更新处理。数据管理单元120将WC簇管理表25中属于被清除轨道的WC21中的所有簇所对应的条目中的状态标记25a设置为无效。之后,就可以在这些条目中进行写入。至于WC轨道管理表24中与被清除的轨道相对应的列表,数据管理单元120改变或删除例如前面最近的一个列表的下一个指针24d,并使所述列表无效。另一方面,当从WC21到MSIBlla进行轨道清除时,数据管理单元120根据所述轨道清除更新轨道管理表30和MS逻辑块管理表35。首先,数据管理单元120搜寻作为轨道管理表30的索引的逻辑轨道地址30a,以判断与所述清除的轨道相对应的逻辑轨道地址30a是否已经被寄存。当所述逻辑轨道地址30a已经被寄存时,数据管理单元120更新所述索引的蔟位图30b(因为所述轨道#>清除到MS11—边,因此所有的相关位都被i殳置为"0")、逻辑块ID30c+逻辑块内轨道位置30d等域。当与所清除的轨道相对应的逻辑轨道地址30a没有被寄存时,数据管理单元120在相关的逻辑轨道地址30a的条目中寄存簇位图30b以及逻辑块ID30c+逻辑块内轨道位置30d。数据管理单元120根据轨道管理表30的变化在需要时更新MS逻辑块管理表35中的逻辑块ID35a、轨道管理指针35b、有效轨道数35c、可写的顶部轨道35d等条目。当从其它区域(FS12和IS13)向MS11进行轨道写入时,或当通过压缩处理在MSll中进行内部MS轨道写入时,可以将作为写入对象的所述逻辑轨道地址中所包括的WC21中的有效簇同时写入MS11中。这种被动合并(passivemerge)可以作为从WC21到MS11进行的写入。当进行这种被动合并时,从WC21中删除所述蔟(无效化的)。WC—FSIB(复制)当根据基于有效蔟数目(所述有效蔟数目等于或大于2^-")所做出的判断从WC21向FSIB12a进行清除时,数据管理单元120执行下面要说明的过程。1.参考在与要被清除的簇相对应的标签中的扇区位置位图25b,当扇区位置位图25b并非均为"1"时,数据管理单元120进行后面要说明的内部簇扇区填充(intra-clustersectorpadding),以《更通过从NAND存储器IO读出所述同一逻辑簇地址中所包含的丢失扇区,与WC21中不存在的扇区进行合并。2.数据管理单元120从只具有少于2一-"个有效簇的轨道中提取蔟,按从最早的轨道开始的顺序跟踪WC中的轨道,并且当有效蔟的数目达到2k时,以逻辑块为单位将所有的簇写入FSIB12a中。3.当没有找到2k个有效簇时,数据管理单元120将所具有的有效蔟的数目小于2(""的所有轨道写入FSIB12a中,写入轨道的数目等价于逻辑页的数目。4.在所述复制完成后,在FS12和IS13中已经存在的那些簇中,数据管理单元120使与被复制的簇具有同一逻辑簇地址的簇无效化。下面说明在从WC21到FSIB12a进行的复制处理中所涉及的各个管理表的更新处理。数据管理单元120将WC簇管理表25中属于被清除轨道的WC21中的所有蔟所对应的条目中的状态标记25a设置为无效。之后,就可以在这些条目中进行写入。至于WC轨道管理表24中与被清除的轨道相对应的列表,数据管理单元120改变或删除例如前面最近的一个列表的下一个指针24d,并使所述列表无效。另一方面,当从WC21到FSIB12a进行蔟清除时,数据管理单元120根据所述蔟清除来更新轨道管理表30中的簇表指针30e、FS簇的数目30f等。数据管理单元120也更新FS/IS管理表40中的逻辑块ID40b、逻辑块内簇位置40c等。对于原来在FS12中不存在的簇,数据管理单元120在FS/IS管理表40的链接列表上添加列表。根据所述更新,数据管理单元120更新MS逻辑块管理表35、FS/IS逻辑块管理表42、和FS/IS内簇管理表44的相关部分。CIB处理当上述WCF处理完成时,逻辑NAND层管理单元120b执行CIB处理,该处理包括将由WCF处理写入FSIB12a的数据移动到FS12的处理和将由WCF处理写入MSIBlla的数据移动到MS11的处理。当CIB处理开始时,如上所述,可能以连锁反应的方式进行块之间的数据移动以及进行压缩处理。总的处理所需要的时间实际上随着状态而变化。基本上,在CIB处理中,首先,在MSll中进行CIB处理(步骤S330),随后,在FS12中进行CIB处理(步骤S340),再次在MS11中进行CIB处理(步骤S350),在IS13中进行CIB处理(步骤S360),最后,再次在MS11中进行CIB处理(步骤S370)。在从FS12到MSIBlla的清除处理、从FS12到IS13的清除处理、或从IS13到MSIBlla的清除处理中,当在过程中出现循环时,所述处理可以不按顺序进行。下面分别说明在200980000126.6MS11中的CIB处理、在FS12中的CIB处理、和在IS13中的CIB处理。在MSll中的CIB处理首先,说明在MSll中的CIB处理(步骤S330)。当从WC21、FS12和IS13向MS11进行轨道移动时,将所述轨道写入MSIBlla。在MSIBlla中的写入完成后,如上所述,更新轨道管理表30,并改变包含轨道的逻辑块ID30c、块内轨道位置30d等(移动)。当在MSIBlla中写入新的轨道时,将MSll或TFSlib中从一开始就有的轨道无效化。通过从MS逻辑块管理表35中使存储着旧轨道信息的逻辑块的条目所包括的轨道无效化来实现这种无效化处理。具体说,删除MS逻辑块管理表35的所述条目中的轨道管理指针35b域中的相关轨道的指针,并将有效轨道的数目减1。当一个逻辑块中的所有轨道都通过这种轨道无效化进行了无效处理时,将有效标记35e无效化。通过这种无效化或类似处理产生了包含无效轨道的MS11的逻辑块。当重复这个过程时,逻辑块的使用效率可能会导致可使用逻辑块的不足。当这种情形出现并且分配给MS11的逻辑块的数目超过MS11所允许的逻辑块数目的上限时,数据管理单元120进行压缩处理以产生自由块FB。将所述自由块FB返回物理NAND层管理单元120c。逻辑NAND层管理单元120b减少分配给MS11的逻辑块数目,然后,重新从物理NAND层管理单元120c获取可写的自由块FB。所述压缩处理用来在新逻辑块中收集作为压缩对象的逻辑块中的有效蔟或者将作为压缩对象的逻辑块中的有效轨道复制到其它逻辑块中以产生返回物理NAND层管理单元120的自由块FB,并提高逻辑块的使用效率。在进行压缩中,当WC21、FS12和IS13中的有效蔟存在时,数据管理单元120进行被动合并,将作为压缩对象的逻辑轨道地址中所包含的所有有效蔟合并起来。TFSllb中所寄存的逻辑块不包括在所述压缩对象中。具体说明一个从MSIBlla到MS11或到TFSlib的移动以及将在MSIBlla中存在满逻辑块作为状态的压缩处理的例子。所述满逻辑块是指这样的逻辑块,其中,所有的逻辑页都被写入并且不可能进行另外的记录。1.参考MS逻辑块管理表35中的有效标记35e,当MS11中存在无效化的逻辑块时,数据管理单元120将所述逻辑块设置为自由块FB。2.数据管理单元120将MSIBlla中的满逻辑块移动到MS11中。具体说,数据管理单元120更新上述MS结构管理表(未显示),并将所述逻辑块从在MSIBlla之下进行管理转换为在MS11之下进行管理。3.数据管理单元120判断分配给MS11的逻辑块的数目是否超过MS11所允许的逻辑块的数目的上限。当所述逻辑块的数目超过了所述上限时,数据管理单元120执行下面要说明的MS压缩处理。4.参考MS逻辑块管理表35中的有效轨道数目域35c等,数据管理单元120利用有效轨道数目在没有包含在TFSlib中的逻辑块中拣选具有无效化轨道的逻辑块。5.数据管理单元120从具有少量有效轨道的逻辑块中收集轨道,并进行压缩。在进行压缩中,首先,为每个逻辑块复制轨道(一次复制i个轨道)以进行压缩。当作为压缩对象的轨道在WC21、FS12和IS13中具有有效蔟时,数据管理单元120也合并所述有效簇。6.数据管理单元120将压缩源中的逻辑块设置为自由块FB。7.当进行压缩并且一个逻辑块包括2j个有效轨道时,数据管理单元120将所述逻辑块移动到TFSlib的顶部。8.当通过将所述逻辑块中的有效簇复制到另一个逻辑块中来产生自由块FB时,数据管理单元120以轨道为单位在MSIBlla中附加记录数目少于2i个的有效轨道。9.数据管理单元120将所述压缩源中的逻辑块设置为自由块FB。10.当分配给MS11的逻辑块的数目小于MS11所允许的逻辑块数目的上限时,数据管理单元120就完成了MS压缩处理。下面说明FS12中的CIB处理(步骤S340)。当通过从WC21到FSIB12a的簇写入处理在FSIB12a中产生了所有逻辑页均被写入了的满逻辑块时,将FSIB12中的所述逻辑块从FSIB12a移动到FS12中。才艮据所述移动,从具有由多个逻辑块所配置的FIFO结构的FS12中清除了旧逻辑块。具体地如下所述来实现从FSIB12a到FS12的清除和从FS12到MS11和/或IS13的清除。1.参考FS/IS逻辑块管理表42中的有效标记35e等,当在FS12中存在无效化的逻辑块时,数据管理单元120将所述逻辑块设置为自由块FB。2.数据管理单元120将FSIB12a中的满逻辑块清除到FS12中。具体说,数据管理单元120更新所述FS/IS结构管理表(未显示)并将所述逻辑块从在FSIB12a之下进行管理变为在FS12之下进行管理。3.数据管理单元120判断分配给FS12的逻辑块的数目是否超过了FS12所允许的逻辑块的数目的上限。当所述逻辑块的数目超过了所述上限时,数据管理单元120就执行下面所说明的清除处理。4.数据管理单元120在作为清除对象的最早的逻辑块中的簇中确定应该-陂直接复制到MS11中而不被移动到IS13的簇(实际上,因为MS11的管理单位为轨道,所以以轨道为单位来确定所述蔟)。(A)数据管理单元120从逻辑页的顶部开始顺序地对作为清除对象的最早的逻辑块中的有效簇进行扫描。(B)数据管理单元120参考轨道管理表30中的FS簇的数目30f域在FS12中找出所述簇所属的轨道具有多少个有效簇。(C)当所述轨道中的有效蔟的数目等于或大于预定阈值(例如,2k"的50%)时,数据管理单元120将所述轨道设置为要清除到MS11的候选。5.数据管理单元120将应该被清除到MS11中的轨道写入MSIB11a中。6.当在最早的逻辑块中剩有要以轨道为单位进行清除的有效蔟时,数据管理单元120进一步执行到MSIB11a的清除。7.当即使在上述2到4的处理进行之后在作为清除对象的逻辑块中还存在有效簇时,数据管理单元120将最早的逻辑块移动到IS13中。当从FS12到MSIBlla进行清除时,在清除之后,数据管理单元120马上在MS11中进行CIB处理(步骤S350)。在IS13中的CIB处理下面说明IS13中的CIB处理(步骤S360)。根据从FS12到IS13的移动,将所述逻辑块添加到IS13中。然而,根据所述逻辑块的添加,逻辑块的数目超过了由多个逻辑块所构成的IS13中所能容纳的逻辑块的数目的上限。当逻辑块的数目超过所述上限时,在IS13中,数据管理单元120将一个到多个逻辑块清除到MS11中,并进行IS压缩。具体说,数据管理单元120执行下述过程。1.数据管理单元120利用轨道中的有效蔟的数目x有效蔟系数来拣选IS13中所包含的轨道,收集所述乘积值较大的2i+1个轨道(两个逻辑块的),并将所述轨道清除到MSIBlla中。2.当具有最小有效蔟数目的2i+1个逻辑块的有效蔟的总数例如等于或大于预设值2k(—个逻辑块的)时,数据管理单元120重复上述步骤。3.在进行所述清除之后,数据管理单元120从具有最小有效蔟数目的逻辑块按顺序收集2k个簇,并在IS13中进行压缩。4.数据管理单元120在压缩源中的逻辑块中释放不包含有效蔟的逻辑块,作为自由块FB。当从IS13到MSIBlla进行清除时,在清除之后,数据管理单元120马上在MS11中进行CIB处理(步骤S370)。图20是各个部件之间的数据流中的输入和输出的组合图,并指示了什么因素的触发导致了所述数据流。基本上,根据从WC21进行的簇清除将数据写入FS12中。然而,当偶尔需要内部簇扇区填充(簇填充)来进行从WC21到FS2的清除时,对来自FS12、IS13和MS11的数据进行复制。在WC21中,通过利用WC簇管理表25的标签中的扇区位置位图25b判断在相关的逻辑簇地址中是否有2G-W个扇区,可以以扇区(512B)为单位进行管理。另一方面,NAND存储器10中的功能部件FS12和IS13的管理单位为蔟,而MSll的管理单位为轨道。这样,NAND存储器10中的管理单位就比扇区大。所以,在从WC21向NAND存储器10写入数据中,当在NAND存储器10中存在这样的数据,其逻辑簇地址与要写入的数据的逻辑簇地址相同时,在要从WC21写入NAND存储器10的簇中的扇区和NAND存储器10中存在的同一逻辑簇地址中的扇区合并之后,需要将所述数据写入NAND存储器10。这个处理就是图20所示的内部簇扇区填充处理(簇填充)和内部轨道扇区填充处理(轨道填充)。除非执行这些类型的处理,否则不能读出正确的数据。所以,当数据从WC21清除到FSIB12a或MSIBlla中时,参考WC簇管理表25,并参考与要清除的簇相对应的标签中的扇区位置位图25b。当所有的扇区位置位图25b并非都为"1"时,进行内部簇扇区填充或内部轨道扇区填充,以便与NAND存储器10中所包含的同一簇或同一轨道中的扇区进行合并。DRAM20的工作区用于这个处理。在DRAM20的工作区中合并逻辑簇地址或逻辑轨道地址中所包含的多个扇区,并产生要清除的数据图像(簇图像或轨道图像)。从DRAM20的工作区将所产生的数据图像写入MSIBlla或写入FSIB12a中。在IS13中,基本上,根据从FS12进行的块清除(移动)来写入数据,或者根据IS中的压缩来写入数据。在MS11中,能够从所有的部分写入数据。当写入数据时,在MS11中,能够导致由于MS自身的数据的缘故而进行的填充,因为数据只能以轨道为单位来写入。当以轨道为单位写入数据时,根据被动合并,也可以写入其它逻辑块中的碎片数据。然而,在MSll中,也根据SM压缩写入数据。在所述4皮动合并中,当从WC21、FS12或IS13这三个部件中的一个部件向MS11进行轨道清除或逻辑块清除(清除2J个轨道)时,将一个部件中作为清除对象的轨道(或逻辑块)中所包含的两个部件中的有,和MSll中的有效簇收集到DRAM20的工作区中,并将其从DRAM20的工作区写入MSIBlla,作为一个轨道的数据。下面将更详细地说明本实施例的基本部分。如上所述,图10所示的WC簇管理表25和图11所示的WC轨道管理表24用于WC21的管理。如上所述,WC簇管理表25以簇为单位来管理组相联系统WC21的各个条目的标签。在所述各个标签中,除了逻辑轨道地址25c外,还添加了具有多个位的状态标记25a以及扇区位置位图25b。如上所述,WC轨道管理表24对以轨道为单位收集了WC21中所存储的簇的信息进行管理,并利用具有类似FIFO功能的链接列表结构表示了各逻辑轨道地址在WC21中的寄存顺序(LRU)。每个条目包括WC蔟的数目24b(指示了在相关的逻辑轨道地址中所包含的WC21中的有效簇的数目)、路-行位图24c(指示了在WC21中的mxn个条目的哪个条目中存储着WC21中的逻辑轨道地址中所包含的有效蔟)、以及下一个指针24d(指示了下一个逻辑轨道地址的位置)。当WC21中的写处理完成时,在WC轨道管理表24中,如上所述,由数据管理单元120的逻辑NAND层120b来更新相关的逻辑轨道地址24a、WC簇的数目、路-行位图24c等。由所述链接列表的FIFO结构来改变逻辑轨道地址在WC21中的寄存顺序。在WC21中进行写入中,当状态(0满足时,即当使用最后一个自由路时,对WC轨道管理表24(其中轨道按LRU顺序相链接)进行搜寻以确定在相关行中所寄存的轨道中对最早更新的轨道进行清除。在所述清除中,确定要进行清除的同一轨道中所包含的WC21中的所有蔟都被清除。在WC轨道管理表24的路-行位图24c中,属于相关逻辑轨道地址的所有的簇以位图格式进行寄存。所以,通过参考路-行位图24c,可以很容易地得知应该被清除的各个簇在WC21中的存储位置,并提高清除处理的速度。在写处理期间,当满足状态(ii)时,即当WC21中所寄存的轨道的数目(不同逻辑轨道地址的数目)超过了预定的允许数时,按LRU顺序清除这样的轨道,其中,属于该轨道的WC21中的簇的数目小于所述预定数目。通过对WC轨道管理表24中所寄存的列表的数目(即,WC21中所寄存的逻辑轨道地址24a的数目)进行计数,能够很容易地得到状态(ii)。当状态(ii)满足时,决定要清除的同一轨道中所包括的WC21中的所有的簇也被清除。在这个清除中,如在上述清除中那样,通过参考路-行位图24c,可以很容易地得知应该被清除的各个簇在WC21中的存储位置,并提高清除处理的速度。此外,当搜寻这样的轨道时,其中属于该轨道的WC21中的蔟的数目小于所述预定数目,通过参考WC轨道管理表24中的WC簇的数目24b域,可以容易而快捷地确定所述轨道。当触发了所述清除处理时,如上所述,所述同一轨道中所包括的WC21中的所有簇都4皮清除。如果要清除的簇的数量超过了轨道大小的50%,那么,所述蔟被清除到MS11中的MSIBlla中,如果要清除的簇的数量不超过轨道大小的50%,那么,所述蔟被清除到FS12中的FSIB12a中。在确定清除目的地时,通过参考WC轨道管理表24中的WC簇的数目24b域,可以很容易并且马上确定FSIB12a和MSIBlla中哪个被设置为从WC21进行清除的目的地,并提高清除处理的速度。这样,在本实施例中,通过WC轨道管理表24可以管理每个逻辑轨道地址的信息,包括逻辑轨道地址在WC21中进行寄存的时间顺序、逻辑轨道地址中的有效蔟的数目、以及属于所述逻辑轨道地址的各个蔟在WC21中的存储位置。所以,可以增加WC21中的写处理和清除处理的速度,并减小WC21的管理表的存储量。在本实施例中,当在写处理期间使用最后一个自由路时,在WC21中进行清除。所以,在数据充满了各个路之前进行清除。这就消除了一种状态,其中写处理的等待时间极其长,并且这也有助于在写处理期间确保等待时间。在本实施例中,在n路相联緩存配置中,当WC21中所寄存的逻辑轨道的数目超过了预定的允许数时,在WC21中进行清除。所以,在要被寄存的逻辑轨道的数目增加并且清除处理费时很长之前进行清除。这就消除了一种状态,其中写处理的等待时间极其长,并且这也有助于在写处理期间确保等待时间。本发明不限于所述实施例。因此,在不偏离本发明范围的情况下可以说明书第41/43页进行各种修正。此外,上述实施例包括具有创新步骤的各种要素。就是说,通过对所公布的要素进行任何任意的分散或集中可以对本发明做出各种修正。例如,通过从本实施例中所公布的所有要素中省略任何任意的要素来对本发明进行各种修正,只要是解决了要由本发明进行解决的问题并且获得了要由本发明获得的优点即可。此外,在上述实施例中说明了,簇大小乘以等于或大于2的正整数等于逻辑页大小。然而,本发明不限于此。例如,所述蔟大小可以与逻辑页大小相同,或者可以是通过合并多个逻辑页通过将所述逻辑页大小乘以等于或大于2的正整数而获得的大小。此外,所述蔟大小可以与在主机设备1(诸如个人电脑)上运行的操作系统中的文件系统的管理单位相同。此外,在上述实施例中说明了,轨道大小乘以等于或大于2的正整数等于逻辑块大小。然而,本发明不限于此。例如,所述轨道大小可以与逻辑块大小相同,或者可以是通过合并多个逻辑块通过将所述逻辑块大小乘以等于或大于2的正整数而获得的大小。如果所述轨道大小等于或大于逻辑块的大小时,MS压缩处理就不必要。所以,可以省略TFSllb。[第二实施例图21显示了个人电脑例子的透视图。个人电脑1200包括主体1201和显示单元1202。显示单元1202包括显示器外壳1203和装在显示器外壳1203内的显示装置1204。主体1201包括底盘1205、键盘1206、和作为定点设备的触摸垫1207。底盘1205包括主电路板、ODD单元(opticaldiskdevice,光盘装置)、卡的插口、和在第一实施例中所描述的SSD1100。所提供的卡的插口与底盘1205的周围侧壁邻近。所述周围侧壁具有面对所述卡的插口的开口1208。用户通过开口1208从底盘1205的外部将附加的装置插入所述卡的插口或从所述卡的插口中拔出。可以将SSD1100安装在个人电脑1200中,替代现有技术中的HDD,或者,可以将SSD1100作为附加装置插入个人电脑1200上的卡的插口中。图22显示了个人电脑中的体系结构的例子。个人电脑1200包括CPU1301、北桥1302、主存储器1303、视频控制器1304、音频控制器1305、南桥1309、BIOS-ROM1310、第一实施例中所描述的SSD1100、ODD单元1311、嵌入式控制器/键盘控制器(EC/KBC)IC1312、和网络控制器1313。CPU1301是一个用来控制个人电脑1200的操作的处理器,并执行从SSD1100加载到主存储器1303中的操作系统。当ODD单元1311执行到光盘上的读过程或写过程时,CPU1301就执行这些过程。CPU1301执行BIOS-ROM1310中所存储的系统BIOS(basicinputoutputsystem,基本输入输出系统)。系统BIOS是一个用于控制个人电脑1200中的硬件的程序。北桥1302是一个桥式装置,它将CPU1301的本地总线连接到南桥1309上。北桥1302具有存储器控制器,用来控制对主存储器1303的访问。北桥1302的一个功能是,通过AGP(acceleratedgraphicsport,加速图形端口)总线在视频控制器1304和音频控制器1305之间进行通信。主存储器1303临时存储程序或数据,它是CPU1301的工作区。主存储器1303由例如DRAM构成。视频控制器1304是一个视频再现控制器,用来对用于4更携电脑1200的显示器(LCD)1316的显示单元进4亍控制。音频控制器1305是一个音频再现控制器,用来对l更携电脑1200的扬声器进行控制。南桥1309控制与LPC(lowpincount,低管脚数)总线相连的装置,并且控制与PCI(peripheralcomponentinterconnect,夕卜i殳纟且件互联)总线相连的装置。南桥1309通过ATA接口来控制存储有软件和数据的存储装置SSD1100。个人电脑1200以扇区为单位对SSD1100进行访问。例如,通过ATA接口来输入写命令、读命令和緩存清除命令。南桥1309的一个功能是,控制BIOS-ROM1310和ODD1311。EC/KBC1312是单片微型计算机,它集成了用于控制电源的嵌入式控制器和用于控制键盘(KB)1206和触摸垫1207的键盘控制器。EC/KBC1312的一个功能是,基于用户对电源掩組的操作设置个人电脑1200的电源的通/断。网络控制器1313是一个例如执行与网络(例如,互联网)进行通信的通信装置。尽管在所述实施例中存储器系统是SSD,但也可以是例如存储卡,典型的是SDTM卡。此外,所述存储器系统不仅可以用于个人电脑,而且也可以用于各种电子装置,诸如手机、PDA(个人数字助理)、数码相机、数字揭/fl^几、以及电视机。本领域中的技术人员会容易地发现其它的优点和修正。所以,本发明就其更广泛的方面而言不限于这里所显示和描述的具体细节和有代表性的实施例。因此,可以做出各种修正而不偏离由附属权利要求书及其等价说法所定义的一般性的发明性概念的精神或范围。权利要求1.一种存储器系统,包括第一存储区,包含在易失性半导体存储器中作为缓冲存储器;第二和第三存储区,包含在非易失性半导体存储器中,其中,以页为单位进行数据的读和写,以及以大小为所述页单位的两倍或更多整数倍的块为单位进行数据擦除;以及控制器,以与一个或多个所述块相关联的逻辑块为单位将所述非易失性半导体存储器的存储区分配给所述第二和第三存储区,其中所述控制器执行第一处理,用来以扇区为单位将多个数据写入所述第一存储区中,作为第一管理单元中的数据;第二处理,用来将写入所述第一存储区中的数据清除到所述第二存储区中,作为所述第一管理单元中的数据;以及第三处理,用来将写入所述第一存储区中的数据清除到所述第三存储区中,作为大小为所述第一管理单元的两倍或更多整数倍的第二管理单元中的数据,所述控制器包括第一管理表,对与写入所述第一存储区的数据相关的地址进行管理;以及第二管理表,以所述第二管理单元中的地址为单位对指示所述第一存储区中所存储的数据的时间顺序的信息进行管理,并对于所述第二管理单元中的每个地址对有效数据数目信息进行管理,该有效数据数目信息指示在所述第二管理单元中的所述地址中所包含的所述第一管理单元中的数据的数目,以及所述控制器利用所述第一和第二管理表来执行所述第一到第三处理。2.根据权利要求l所述的存储器系统,其中,所述第一管理表在所述第一管理单元中对包括所述第二管理单元中的地址的标签信息进行管理。3.根据权利要求2所述的存储器系统,其中,所述标g息还包括指示所述第一管理单元中的数据中所包括的多个扇区中的哪个扇区存储了所述有效数据的信息。4.根据权利要求2所述的存储器系统,其中,所述第一存储区具有多个条目,这些条目包括多个行和多个路,以及所述第二管理表还对路-行位图信息进行管理,该路-行位图信息指示了在所述条目中的哪个条目中存储了所迷第二管理单元中的地址中所包括的所述第一管理单元中的有效数据。5.根据权利要求4所述的存储器系统,其中,所述第二管理表采用链接列表格式,以及在各个列表的条目中包括所述第二管理单元中的地址、指示所述第二管理单元中的地址中所包括的有效第一管理单元的数目的信息、以及所述路-行位图信息。6.根据权利要求2所述的存储器系统,其中,所述第一存储区具有多个条目,这些条目包括多个行和多个路,以及当使用最后的自由路时,所述控制器执行所述第二或第三处理。7.根据权利要求4所述的存储器系统,其中,当使用最后的自由路时,所述控制器执行所述第二或第三处理。8.根据权利要求7所述的存储器系统,其中,所述控制器基于指示由所述第二管理表管理的所述时间顺序的信息在所述第一管理表的相关行中寄存的所述第二管理单元中的地址中选择最早更新了的所述第二管理单元中的地址,利用所述路-行位图信息选择所述第二管理单元中的所选地址中包括的所述第一管理单元中的所有数据,并执行所述第二或第三处理,其中将所述第一管理单元中的所选数据^L置为清除目标。9.根据权利要求8所述的存储器系统,其中,所述控制器基于由所述第二管理表管理的有效数据数目信息来确定应该执行所述第二处理和所述第三处理中的哪个处理。10.根据权利要求2所述的存储器系统,其中,当所述第一存储区中的数据所属的所述第二管理单元中的数据的数目超过指定值时,所述控制器执行所述第二或第三处理。11.根据权利要求5所述的存储器系统,其中,当所述第一存储区中的数据所属的所述第二管理单元中的数据的数目超过指定值时,所述控制器执行所述第二或第三处理。12.根据权利要求ll所述的存储器系统,其中,所述控制器基于作为所述第二管理表的链接列表中的列表的数目来确定所述第一存储区中的数据所属的所述第二管理单元中的数据的数目是否超过所述指定值。13.根据权利要求ll所述的存储器系统,其中,所述控制器基于指示所述时间顺序的信息、所述有效数据数目信息、以及由所述第二管理表管理的所述路-行位图信息从更新最早的开始按顺序选择所述第二管理单元中的数据,其中,所述第二管理单元中的地址中所包含的所述第一管理单元中的有效数据的数目小于某个预定数,并且所述控制器执行所述第二或第三处理,其中将所述第二管理单元中的所选数据设置为清除目标。14.根据权利要求13所述的存储器系统,其中,所述控制器基于由所述第二管理表管理的有效数据数目信息来确定应该执行所述第二处理和所述第三处理中的哪个处理。15.—种存储器系统,包括笫一存储区,包含在易失性半导体存储器中作为緩沖存储器,其中,以第一单位进行数据读写,以大小为所述第一单位的正整数倍的第二单位进行数据管理;第二存储区,包含在非易失性半导体存储器中,其中,以大小为所述第一单位的正整数倍的第三单位进行数据的读和写,以所述第二单位进行数据管理,以及以大小为所述三单位的两倍或更多整数倍的第四单位进行数据擦除;第三存储区,包含在非易失性半导体存储器中,其中,以大小为所述第二单位的两倍或更多整数倍的第五单位进行数据的读和写,以所述第五单位进行数据管理,以及以所述第四单位进行数据擦除;以及控制器,以所述第二单位的大小来管理所述第一存储区,以所述第二单位的大小来管理第二存储区,以所述第五单位的大小来管理第三存储区,在所述第一存储区中写入以所述第一单位所形成的多个数据,以所述第三单位将写入所述第一存储区中的数据清除到所述第二存储区中,或者以所述第五单位将所述数据清除到所述第三存储区中,其中,所述控制器包括第一管理表,以所述第二单位来管理作为所述緩冲存储器的标签信息的所述第五单位中的地址;以及第二管理表,管理所述第五单位中的地址中在所述緩冲存储器中寄存的顺序,并且在所述第二管理表中,对于所述第五单位中的每个地址,存储有包含所述第五单位中的地址中所包括的有效第二单位的数目的信息,以及所述控制器利用所述第一和第二管理表来对所述緩存存储器进行控制。16.根据权利要求15所述的存储器系统,其中,所述第二管理表以链接列表的格式管理所述第五单位中的地址中在所述緩冲存储器中寄存的顺序。17.根据权利要求15所述的存储器系统,其中,当所述第二管理表中所寄存的所述第五单位中的地址的数目超过预定阔值时,所述控制器将数据清除到所述第二或第三存储区。18.根据权利要求15所述的存储器系统,其中,所述緩冲存储器具有多个路,以及当使用最后的自由路时,所述控制器浆数据清除到所述第二或第三存储区。19.根据权利要求15所述的存储器系统,其中,所述第一单位为扇区,所述笫二单位为簇,所述笫三单位为页,所述第四单位为块,以及所述第五单位为轨道。全文摘要根据本发明的一个实施例所述的存储器系统包括第一管理表,对与写入第一存储区的数据相关的地址进行管理;以及第二管理表,以第二管理单元中的地址为单位对指示所述第一存储区中所存储的数据的时间顺序的信息进行管理,并对于所述第二管理单元中的每个地址对指示在所述第二管理单元中的地址中所包含的所述第一管理单元中的数据的数目的有效数据数目信息进行管理。文档编号G11C16/02GK101681307SQ200980000126公开日2010年3月24日申请日期2009年2月10日优先权日2008年3月1日发明者初田幸辅,加藤亮一,松崎秀则,矢野纯二申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1