CN102693185A - 管理设备和管理方法 - Google Patents
管理设备和管理方法 Download PDFInfo
- Publication number
- CN102693185A CN102693185A CN2012100303787A CN201210030378A CN102693185A CN 102693185 A CN102693185 A CN 102693185A CN 2012100303787 A CN2012100303787 A CN 2012100303787A CN 201210030378 A CN201210030378 A CN 201210030378A CN 102693185 A CN102693185 A CN 102693185A
- Authority
- CN
- China
- Prior art keywords
- management
- block
- information
- management information
- nonvolatile memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
提供了一种管理设备和管理方法,所述管理设备包括管理非易失性存储器的管理单元,所述非易失性存储器被配置成允许写入、读取或电擦除数据,允许以页为单位进行写入和读取以及允许以包括多个页的块为单位进行擦除。所述管理单元把非易失性存储器的多个物理块分成包括对应于物理块的虚拟块的虚拟区域和包括替代块的替代区域,所述替代块用于置换虚拟区域中的缺陷物理块,用三级管理单元管理非易失性存储器,所述三级包括物理块的管理、虚拟块的管理和扩展块的管理,以及分别把用于物理块,虚拟块和扩展块的管理的第一,第二和第三管理信息写入非易失性存储器。
Description
技术领域
本公开涉及管理设备和管理方法。
背景技术
近年来,可写入、读取或电擦除数据的非易失性存储器,比如NAND闪速存储器的容量不断增大。对诸如NAND闪速存储器之类的上述非易失性存储器的数据写入是通过单向地把每个比特从“1”重写为“0”实现的。于是,为了把新数据写入这样的非易失性存储器中,应当在存储器中的数据被一次性擦除并且所有比特都被设定为“1”之后进行写入。在这样的非易失性存储器中,数据写入/读取的最小单元是“页”,而擦除的最小单元是“块”,“块”是多个页的集合。
在这种背景下,已经开发了提高数据写入非易失性存储器的效率的技术。例如,JP 2009-116601A提供了以下管理对非易失性存储器的访问的技术:通过在均为块大小的整数分之一,和页大小的整数倍的平移单元中进行逻辑地址-物理地址变换,把块中目前使用的物理平移单元复制到具有未用物理平移单元的另一个块中,随后擦除初始块,从而使新的未用物理平移单元的数目增大包括在初始块中的无效物理平移单元的数目的技术。
发明内容
例如,在提高对非易失性存储器的数据写入的效率的现有技术,比如在JP 2009-116601A中描述的现有技术(下面简称为“现有技术”)中,按均为块大小的整数分之一,并为页大小的整数倍的平移单元,管理非易失性存储器。此外,在现有技术中,包括对应逻辑平移单元编号和表示块写入顺序的序列号的管理信息被写入非易失性存储器的扩展区中,根据这样的管理信息,构成逻辑地址-物理地址变换表,从而进行管理。
这里,当利用该现有技术时,如果例如,非易失性存储器中的块大小被增大,或者如果非易失性存储器的存储容量增大,那么管理信息的容量将相应增大。诸如NAND闪速存储器之类的非易失性存储器的数据重写次数有限。从而,当管理信息的写入量因管理信息的容量增大而增大时,存在影响非易失性存储器的寿命的可能性。因此,即使当利用该现有技术时,也并不总是能够延长非易失性存储器的寿命。
鉴于上述问题,理想的是提供一种在延长非易失性存储器的寿命的同时,能够管理非易失性存储器的新的改进的管理设备和管理方法。
按照本公开的一个实施例,提供一种管理设备,所述管理设备包括管理非易失性存储器的管理单元,所述非易失性存储器被配置成允许写入、读取或电擦除数据,允许以页为单位进行写入和读取,和允许以包括多个页的块为单位进行擦除。管理单元把构成非易失性存储器的多个物理块分成包括对应于物理块的虚拟块的虚拟区域和包括替代块的替代区域,替代块用于置换包括在虚拟区域中的物理块之中的缺陷物理块,用三级管理单元管理非易失性存储器,所述三级包括物理块的管理、虚拟块的管理和扩展块的管理,扩展块是包括在虚拟区域中的物理块之中,用于临时保存用户数据的物理块,和把用于管理物理块的第一管理信息、用于管理虚拟块的第二管理信息和用于管理扩展块的第三管理信息写入非易失性存储器。
按照上述结构,能够在延长非易失性存储器的寿命的同时,管理非易失性存储器。
当虚拟区域具有单个缺陷物理块时,管理单元可以使对应于缺陷物理块的虚拟块与替代区域中的单个替代块相关联,并把指示该虚拟块和该替代块之间的对应关系的信息作为第一管理信息写入非易失性存储器中,管理单元可利用第一管理信息管理物理块。
替代区域可被分成替代块和第一管理块,第一管理块是用于保存第一管理信息的物理块。当第一管理信息向第一管理块的写入完成时,管理单元在第一管理块上设定第一完成信息,第一完成信息指示第一管理信息的写入已完成。
管理单元可写入其中使得所使用的替代块的地址与对应于替代块的虚拟块的地址相关联的信息,要在下次产生缺陷块时分配的替代块的地址,和被置换的缺陷块的地址,作为第一管理信息。
包括所述多个虚拟块的虚拟区域可被分成作为用于保存用户数据的物理块的用户数据块、扩展块、作为数据已被擦除的物理块的空闲块和作为用于保存第二管理信息的物理块的第二管理块,管理单元可根据以虚拟块大小为单位分割用户数据的地址空间而获得的逻辑块来管理用户数据,管理单元可把指示逻辑块和虚拟块之间的对应关系的第一变换信息,和指示扩展块的信息作为第二管理信息写入第二管理块中,管理单元可利用第二管理信息管理虚拟块。
管理单元可写入如下信息作为第二管理信息:第一变换信息;作为指示扩展块的信息的、被分配为扩展块的虚拟块的地址;空闲块的地址;接下来被写入数据的虚拟块的地址和待擦除的虚拟块的地址,当第二管理信息向第二管理块的写入完成时,管理单元在第二管理块上设定第二完成信息,第二完成信息指示第二管理信息的写入已完成,管理单元可根据第二管理信息中的待擦除的虚拟块的地址来擦除对应的虚拟块。
当管理单元在第二管理块已具有保存于其中的第二管理信息的情况下写入第二管理信息时,管理单元可把差异信息写入第二管理块中,差异信息指示保存的第二管理信息和要新写入的第二管理信息之间的差异。
扩展块可被分成高速缓存块、第一中间块、第二中间块和第三管理块,高速缓存块是用于在用户数据被保存到用户数据块中之前临时保存用户数据的物理块,第一中间块是用于回写处理的中间物理块,回写处理是把保存在高速缓存块中的用户数据写入用户数据块的处理,第二中间块是用于静态耗损均衡处理的中间物理块,第三管理块是用于保存第三管理信息的物理块。管理单元可把指示逻辑块和高速缓存块之间的对应关系的第二变换信息和指示高速缓存块、第一中间块和第二中间块中的每一个的信息作为第三管理信息写入第三管理块中,管理单元可利用第三管理信息管理扩展块。
管理单元可把逻辑块和高速缓存块中的每一个分割成平移单元,每个平移单元大于或等于非易失性存储器的最小写入大小,并小于虚拟块大小,管理单元还可把指示逻辑块的平移单元和高速缓存块的平移单元之间的对应关系的第三变换信息作为第三管理信息写入非易失性存储器中。
当第三管理信息向第三管理块的写入完成时,管理单元在第三管理块上设定第三完成信息,第三完成信息指示第三管理信息的写入已完成,根据第三管理信息的第二变换信息,管理单元可判定正在使用的高速缓存块的数目是否达到预定数目,在判定正在使用的高速缓存块的数目达到预定数目时,管理单元可对与更新频度低的逻辑块对应的高速缓存块中的用户数据进行回写处理。
管理单元可利用LRU(最近最少使用)控制,选择要进行回写处理的高速缓存块,或者以逻辑块为单位,分割待写入的用户数据,保存在每个逻辑块中进行的写入的次数,并选择与按照逻辑块为单位进行的写入次数最小的逻辑块对应的高速缓存块作为要进行回写处理的高速缓存块。
当在管理单元把数据写入扩展块的时候产生差错时,管理单元可保存已被写入到产生了差错的扩展块中的数据,管理单元可根据要在下次写入数据的虚拟块的地址的信息,连续地把数据写入对应的虚拟块中,该信息被记录在第二管理信息中,管理单元可利用已被写入到产生了差错的扩展块中的数据和被连续写入虚拟块的数据来进行回写处理。
在虚拟区域中,构成扩展块的物理块的数目可以大于构成用户数据块的物理块的数目。
管理单元可按照连续逻辑地址的顺序写入要写入到扩展块中的用户数据。
管理单元可通过把物理块分成多个虚拟区域和对应于虚拟区域的多个替代区域,管理构成非易失性存储器的多个物理块,当开始非易失性存储器的管理时,管理单元可读取保存在特定虚拟区域中的第二管理信息,管理单元根据记录在读取的第二管理信息中的、指示与每个其它的虚拟区域对应的第二管理信息的保存地点的信息,读取对应于每个其它的虚拟区域的第二管理信息。
当管理单元开始非易失性存储器的管理时,管理单元从非易失性存储器读取第一管理信息、第二管理信息和第三管理信息,管理单元通过以下写入错误判定中的每一个来判定写入错误:基于读取的第一管理信息进行的写入错误判定、基于读取的第二管理信息进行的写入错误判定及基于读取的第三管理信息和扩展块中的最后被写页地址进行的写入错误判定,当判定发生了写入错误时,管理单元可以使正被处理的、与中断的写入或擦除对应的数据无效,然后使非易失性存储器恢复到处理前的状态。
当管理单个非易失性存储器时,管理单元可以使单个虚拟块与多个物理块相关联,当管理相同种类的多个非易失性存储器时,管理单元可以使单个虚拟块与相应非易失性存储器中的对应物理块相关联。
管理设备还可包括记录介质,与往来于非易失性存储器的数据写入和读取数据相比,往来于所述记录介质的数据写入和读取的速度更快。当开始非易失性存储器的管理时,管理单元可从非易失性存储器读取保存在非易失性存储器中的管理信息,然后把读取的管理信息记录在记录介质上,从而管理单元可根据记录在记录介质上的管理信息管理非易失性存储器。
管理设备还可包括非易失性存储器。
按照本公开的另一个实施例,提供一种管理方法,包括管理非易失性存储器,所述非易失性存储器被配置成允许写入、读取或电擦除数据,允许以页为单位进行写入和读取,和允许以包括多个页的块为单位进行擦除。管理步骤包括:把构成非易失性存储器的多个物理块分成包括对应于物理块的虚拟块的虚拟区域和包括替代块的替代区域,替代块用于置换包括在虚拟区域中的物理块之中的缺陷物理块;用三级管理单元管理非易失性存储器,所述三级包括物理块的管理、虚拟块的管理和扩展块的管理,扩展块是包括在虚拟区域中的物理块之中,用于临时保存用户数据的物理块;和把用于管理物理块的第一管理信息、用于管理虚拟块的第二管理信息和用于管理扩展块的第三管理信息写入非易失性存储器。
当使用上述方法时,能够在延长非易失性存储器的寿命的同时,管理非易失性存储器。
按照上面说明的本公开的实施例,能够在延长非易失性存储器的寿命的同时,管理非易失性存储器。
附图说明
图1是图解说明按照一个实施例的管理设备进行的非易失性存储器管理的说明图;
图2是图解说明按照一个实施例的管理设备进行的非易失性存储器管理的说明图;
图3是图解说明与按照一个实施例的管理设备进行的非易失性存储器管理相关的处理的概况的说明图;
图4是图解说明按照一个实施例的管理设备进行的物理块管理的例子的说明图;
图5是表示按照一个实施例的管理设备管理的非易失性存储器中的第一管理块的例子的说明图;
图6是表示在按照一个实施例的管理设备进行的非易失性存储器管理中,虚拟块和物理块之间的对应关系的例子的说明图;
图7是表示在按照一个实施例的管理设备进行的非易失性存储器管理中,虚拟块和物理块之间的对应关系的例子的说明图;
图8是图解说明按照一个实施例的管理设备进行的虚拟块管理的例子的说明图;
图9是表示按照一个实施例的管理设备管理的非易失性存储器中的第二管理块的例子的说明图;
图10是图解说明按照一个实施例的管理设备进行的虚拟块管理的另一个例子的说明图;
图11是图解说明按照一个实施例的管理设备进行的扩展块管理的例子的说明图;
图12是表示按照一个实施例,使逻辑块的平移单元与高速缓存块的平移单元相关联的例子的说明图;
图13是表示按照一个实施例的管理设备管理的非易失性存储器中的第三管理块的例子的说明图;
图14是表示在开始非易失性存储器的管理时,由按照一个实施例的管理设备进行的处理的例子的流程图;
图15是表示在开始非易失性存储器的管理时,由按照一个实施例的管理设备进行的处理的另一个例子的流程图;
图16是表示按照该实施例的管理设备进行的写入处理的例子的流程图;
图17是表示按照该实施例的管理设备进行的写入处理的另一个例子的流程图;
图18是表示按照一个实施例的管理设备进行的回写处理的例子的流程图;
图19是表示按照一个实施例的管理设备进行的回写处理的又一个例子的流程图;
图20是表示按照一个实施例的管理设备进行的回写处理的另一个例子的流程图;
图21是表示按照一个实施例,使逻辑块的平移单元与高速缓存块的平移单元相关联的另一个例子的说明图;
图22是表示按照一个实施例的管理设备进行的回写处理的另一个例子的流程图;
图23是表示按照一个实施例的管理设备进行的差错恢复处理的例子的流程图;
图24是表示按照一个实施例的管理设备进行的差错恢复处理的另一个例子的流程图;
图25是表示按照一个实施例的管理设备的结构例子的方框图;
图26是表示按照一个实施例的管理设备的硬件结构的说明图。
具体实施方式
下面参考附图,详细说明本公开的优选实施例。注意,在说明书和附图中,功能和结构基本相同的构成元件用相同的附图标记表示,这些构成元件的重复说明被省略。
下面将按照下述顺序进行说明。
1.按照本实施例的管理方法
2.按照本实施例的管理设备
3.按照本实施例的程序
(管理本实施例的管理方法)
在说明按照本实施例的管理设备(下面也称为“管理设备100”)的结构之前,将说明按照本实施例的非易失性存储器的管理方法。下面,将在管理设备100进行与按照本实施例的管理方法相关的处理的假定之下,进行说明。另外下面将说明其中按照本实施例的管理设备100管理的非易失性存储器是NAND闪速存储器的例子。注意,按照本实施例的管理设备100管理的非易失性存储器并不局限于NAND闪速存储器。例如,也可使用能够对其写入、读取或电擦除数据,并且其写入/读取大小和擦除大小不同的任何非易失性存储器,作为待管理的非易失性存储器。
[按照本实施例的管理方法的概况]
当像如上所述的现有技术中那样,用于非易失性存储器的管理的管理信息的写入量因管理信息的容量增大而增大时,存在可能影响非易失性存储器的寿命的可能性。此外,当管理信息的写入量因管理信息的容量增大而增大时,把管理信息写入非易失性存储器中所需的时间将变长,这会降低对非易失性存储器的数据读取、数据写入或数据擦除的性能。
从而,按照本实施例的管理设备100分阶段地管理非易失性存储器,并把每个管理单元的管理信息保存在非易失性存储器中。更具体地说,管理设备100用三级管理单元,管理非易失性存储器,所述三级包括物理块的管理、虚拟块的管理和扩展块的管理。另外,管理设备100把用于管理物理块的第一管理信息、用于管理虚拟块的第二管理信息和用于管理扩展块的第三管理信息写入非易失性存储器中,从而把第一管理信息、第二管理信息和第三管理信息(下面也总称为“管理信息”)保存在非易失性存储器中。
当如上所述,分阶段地管理非易失性存储器时,按照本实施例,供每一级的管理之用的每个管理单元的管理信息的大小小于按照现有技术的管理信息的大小。因而,通过把每个管理单元的管理信息保存在非易失性存储器中,管理设备100可与现有技术相比,减少当把管理信息保存在非易失性存储器中时的管理信息的写入量,此外,能够利用保存于非易失性存储器中的管理信息,管理非易失性存储器。
从而,管理设备100能够在延长非易失性存储器的寿命的同时,管理非易失性存储器。此外,由于与按照现有技术的管理信息的大小相比,管理设备100能够减小管理信息的大小,因此能够避免当利用现有技术写入管理信息时可能发生的性能的降低。
下面,更具体地说明按照本实施例的管理方法。下面,将关于管理设备100用三级管理单元管理非易失性存储器的例子,说明按照本实施例的管理方法,所述三级包括物理块的管理、虚拟块的管理和扩展块的管理。注意,按照本实施例的管理方法并不局限于用三级管理单元管理非易失性存储器的方法。例如,管理设备100能够利用两级(例如,包括物理块的管理,和含扩展块的管理的虚拟块管理),或者四级以上(还包括空闲块VFB的管理)的管理单元,来管理非易失性存储器。即使在这种情况下,与现有技术中相比,管理设备100也能够减小当把管理信息保存到非易失性存储器中时管理信息的写入量。此外,管理设备100还能够利用保存在非易失性存储器中的管理信息管理非易失性存储器。
图1和2是图解说明由按照本实施例的管理设备100进行的非易失性存储器的管理的说明图。这里,图1表示当待保存在非易失性存储器中的数据(下面称为“用户数据”),比如表示图像(运动图像/静止图像)或声音(包括音乐)的内容数据、文本数据或者应用程序数据被写入非易失性存储器中时,非易失性存储器的状态的例子。图2表示其中未写入用户数据的非易失性存储器的初始状态。
如图1中所示,非易失性存储器包括多个物理块PB。管理设备100把非易失性存储器分成虚拟区域A1和替代区域A2。这里,替代区域A2是包括用于置换如下的物理块的替代块的区域:该物理块是虚拟区域A1包括的物理块当中的、具有缺陷的物理块(下面称为“缺陷块”)。按照本实施例的置换处理在后面说明。
下面,包括在虚拟区域A1中的物理块也可被称为“虚拟块”(或者“VB”)。注意,按照本实施例的每个虚拟块和构成虚拟区域A1的每个物理块PB可具有一对一对应关系,或者一对多对应关系。即,按照本实施例的每个虚拟块的大小可以等于每个物理块PB的大小,或者为每个物理块PB的大小的整数倍。下面,将主要说明其中每个虚拟块和每个物理块PB具有一对一对应关系的例子。
首先说明虚拟区域A1。虚拟区域A1被分成用户数据块VUB、扩展块EB、空闲块VFB和第二管理块VMB。这里,用户数据块VUB是用于保存用户数据的物理块,用户数据块的总大小指示用户能够写入的数据的大小。扩展块EB是用于临时保存用户数据的物理块。空闲块VFB是数据已被擦除的物理块(即,其中没有写入数据的物理块)。第二管理块VMB是用于保存第二管理信息的物理块。
虽然图1表示了其中用户数据块VUB和扩展块EB中的每一个都包括多个物理块的结构,不过,构成用户数据块VUB和扩展块EB中的每一个的物理块可被看作用户数据块VUB和扩展块EB。另外,可按照与图1中所示的用户数据块VUB和扩展块EB类似的方式,考虑图1中所示的空闲块VFB。
构成用户数据块VUB的物理块PB的数目和构成扩展块EB的物理块PB的数目由例如管理设备100设定。这里,管理设备100把与用户数据块VUB相关的物理块PB的数目和与扩展块EB相关的物理块PB的数目中的每一个都设定成预定数,不过,管理设备100的处理并不局限于此。例如,管理设备100可以根据与从操作单元(下面说明)传送的用户操作对应的操作信号,或者与从诸如遥控器之类的外部操作设备传送的用户操作对应的外部操作信号,来设定(或者重置)与用户数据块VUB相关的物理块PB的数目以及与扩展块EB相关的物理块PB的数目。
这里,如果构成扩展块EB的物理块PB的数目被设定成大于构成用户数据块VUB的物理块PB的数目,那么管理设备100能够降低回写处理的频度以及非易失性存储器的重写频度。因而,由于在上述情况下,管理设备100能够延长非易失性存储器的寿命,因此还能够延长包括待管理的非易失性存储器的存储系统的使用时长。另外,通过减小非易失性存储器的重写频度,管理设备100能够抑制非易失性存储器的性能的降低,比如在重写处理的执行期间发生的速度的降低。
扩展块EB被分成高速缓存块ECB、回写块EWBB(第一中间块)、耗损均衡块EWLB(第二中间块)和第三管理块EMB。这里,高速缓存块ECB是用于在用户数据被保存到用户数据块VUB中之前,临时保存用户数据的物理块。回写块EWBB是供回写处理之用的中间物理块,回写处理是把保存在高速缓存块ECB中的用户数据写入用户数据块VUB的处理。耗损均衡块EWLB是用于静态耗损均衡处理的中间物理块。第三管理块EMB是用于保存第三管理信息的物理块。
虚拟区域A1具有例如上述的结构。下面将说明替代区域A2。
替代区域A2被分成用于置换处理(下面说明)的替代块PAB和第一管理块PMB,第一管理块PMB是用于保存第一管理信息的物理块。
管理设备100通过管理具有例如图1中所示结构的物理块PB、虚拟块和扩展块来管理待管理的非易失性存储器。
下面说明与管理设备100进行的非易失性存储器的管理相关的处理的概况。图3是图解说明与按照本实施例的管理设备100进行的非易失性存储器的管理相关的处理的概况的说明图。这里,图3表示控制非易失性存储器的管理的软件的结构的例子。
(i)写入处理
扩展块管理层(下面称为“EBM层”)接收从正在运行的文件系统或应用程序传送的写入指令和数据(S100)。EBM层参照第三管理信息(下面也称为“EBI”),把写入指令传给虚拟块管理层(下面称为“VBM层”)。
当收到写入指令时,VBM层参照第二管理信息(下面也称为“VBI”),并把写入指令传给物理块管理层(下面称为“PBM”层)。
当收到写入指令时,PBM层参照第一管理信息(下面也称为“PBI”),把数据写入非易失性存储器中的物理块PB中(S102)。
当按照写入处理,从非易失性存储器收到响应时(S104),PBM层把所述响应传给VBM层。另外,VBM层把收到的响应传给EBM层。随后,EBM层把收到的响应传给已传送写入指令的文件系统或应用程序等(S106)。
在管理设备100中,例如通过上述处理,响应写入指令将数据写入非易失性存储器中。
(ii)读取处理
EBM层接收从正在执行的文件系统或应用程序传送的读取指令(S100)。EBM层参照第三管理信息,并把读取指令传给“VBM层”。
当收到读取指令时,VBM层参照第二管理信息并把读取指令传给PBM层。
当收到读取指令时,PBM层参照第一管理信息并把读取指令传给非易失性存储器(S102)。
当从非易失性存储器收到指示读取完成的响应和对应于读取指令的数据时(S104),PBM层把所述响应和数据传给VBM层。另外,VBM层把接收的响应和数据传给EBM层。随后,EBM层把接收的响应和数据传给已传送读取指令的文件系统或应用程序等(S106)。
在管理设备100中,通过上述处理,响应读取指令从非易失性存储器读取数据。
在管理设备100中,如图3中所示,例如经由包括EBM层、VBM层和PBM层的3层,进行对非易失性存储器的数据写入或者从非易失性存储器的数据读取。
下面,更具体地说明按照本实施例的物理块的管理、虚拟块的管理和扩展块的管理中的每一个。
(I)物理块的管理的例子
当与虚拟块相关的物理块PB是缺陷块时,管理设备100利用第一管理信息,用替代区域A2中的替代块来置换所述缺陷块。另外,管理设备100使对应于缺陷块的虚拟块与已置换所述缺陷块的替代块相关联,然后把指示虚拟块和替代块之间的对应关系的信息作为第一管理信息写入非易失性存储器中。随后,管理设备100利用第一管理信息管理该物理块。这里,缺陷块可以是在非易失性存储器的制造期间生成的缺陷块或者在之后变为缺陷块的缺陷块。
图4是图解说明按照本实施例的管理设备100进行的物理块管理的例子的说明图。图4中,表示了其中如图4中的符号B所示,每个虚拟块和每个物理块具有一对一对应关系的例子。
当例如图4中所示的物理块PB 1和物理块PB 10是缺陷块时,管理设备100分别用替代块(图4的例子中的物理块PB 2007和物理块PB 2008)置换物理块PB 1和物理块PB 10。随后,管理设备100把指示缺陷块和已置换缺陷块的替代块之间的对应关系的信息,作为第一管理信息写入第一管理块PMB中。
图5是表示按照本实施例的管理设备100管理的非易失性存储器中的第一管理块PMB的例子的说明图。图5中,还表示了按照本实施例的第一管理信息的例子。
在第一管理块PMB中,保存第一管理信息和指示第一管理信息的写入已完成的第一完成信息。虽然图5表示其中第一完成信息是指示第一管理信息的写入是否已完成的标记,不过,按照本实施例的第一完成信息不用说并不局限于该标记。下面,指示第一管理信息的写入是否已完成的标记(或者下面说明的第二完成标记或第三完成标记)也可被称为“写入完成标记”。
按照本实施例的第一管理信息包括例如虚拟块VB和替代块PAB之间的变换信息、关于要在下次产生缺陷块时分配的替代块(下面也称为“PATB”)的信息以及关于被置换的缺陷块(下面也称为“PPEB”)的信息。
下面,虚拟块VB和替代块PAB之间的变换信息对应于指示缺陷块和已置换所述缺陷块的替代块之间的对应关系的上述信息。虚拟块VB和替代块PAB之间的变换信息可以是例如使虚拟块VB与替代块PAB相关联的表,或者使得所使用的替代块的地址与对应于所述替代块的虚拟块的地址相关联的信息。PATB可以是例如要在下次产生缺陷块时分配的替代块的地址。PPEB可以是例如被置换的缺陷块的地址。
当在进行诸如图4中所示的置换处理之类的置换处理之后更新第一管理信息时(或者当新生成第一管理信息时),管理设备100把第一管理信息写入第一管理块PMB中。随后,当第一管理信息向第一管理块PMB的写入完成时,管理设备100在第一管理块PMB上设定指示第一管理信息的写入已完成的第一完成信息。例如,在图5的例子中,当第一管理信息向第一管理块PMB的写入完成时,管理设备100把所述标记设定成指示所述写入已完成的值。
管理设备100通过例如上述处理管理物理块。注意,按照本实施例的管理设备100进行的物理块的管理并不局限于上述例子。例如,虽然图4表示其中每个虚拟块和每个物理块具有一对一对应关系的例子,不过,管理设备100可使每个虚拟块和多个物理块相关联,以管理非易失性存储器。
图6和7是分别表示在按照本实施例的管理设备100进行的非易失性存储器管理中,虚拟块和物理块之间的对应关系的例子的说明图。这里,图6表示当管理设备100管理单个非易失性存储器时,虚拟块和物理块之间的对应关系的例子。图7表示当管理设备100管理多个非易失性存储器时,虚拟块和物理块之间的对应关系的例子。这里,所述多个非易失性存储器例如可以是相同种类的非易失性存储器。
如图6中所示,当管理单个非易失性存储器时,管理设备100使单个虚拟块与多个物理块相关联。更具体地说,例如,管理设备100使具有连续地址的物理块或者通过计算处理唯一确定的多个物理块与一个虚拟块相关联。虽然图6表示使单个虚拟块与两个物理块相关联的例子,然而不用说管理设备100也能够使单个虚拟块与三个以上的物理块相关联。
同时,当如图7中所示管理多个非易失性存储器时,管理设备100使单个虚拟块与相应的非易失性存储器中的对应物理块关联。即,管理设备100并行管理多个非易失性存储器。
当如图6和7中所示,使单个虚拟块与多个物理块关联时,每个虚拟块的大小(块大小)变得大于当使单个虚拟块与单个物理块关联时每个虚拟块的大小(块大小)。当每个虚拟块的大小变大时,非易失性存储器中的每个扩展块ECB的大小也变得大于当使单个虚拟块与单个物理块关联时每个扩展块ECB的大小。因而,管理设备100能够增大可被写入扩展块ECB中的数据的容量,从而能够减少回写处理的频度以及非易失性存储器的重写频度。从而,由于管理设备100能够延长非易失性存储器的寿命,因此也能够延长包括待管理的非易失性存储器的存储系统的使用时长。此外,通过减小非易失性存储器的重写频度,管理设备100能够抑制非易失性存储器的性能的降低,比如在执行重写处理期间发生的速度的降低。
(II)虚拟块管理的例子
下面,说明按照本实施例的虚拟块管理的例子。管理设备100根据以虚拟块大小为单位分割用户数据的地址空间而获得的逻辑块(下面也称为“LB”),来管理用户数据。另外,管理设备100把指示逻辑块和虚拟块之间的对应关系的第一变换信息和指示扩展块的信息写入非易失性存储器中,作为第二管理信息。随后,管理设备100利用第二管理信息管理虚拟块。
图8是图解说明按照本实施例的管理设备100进行的虚拟块管理的例子的说明图。
如图8中的符号D所示,管理设备100利用第二管理信息管理逻辑块和虚拟块之间的对应关系,还管理哪些虚拟块是扩展块。
图9是表示由按照本实施例的管理设备100管理的非易失性存储器中的第二管理块VMB的例子的说明图。在图9中,还表示了按照本实施例的第二管理信息的例子。
在第二管理块VMB中,例如保存第二管理信息和指示第二管理信息的写入已完成的第二完成信息。虽然图9表示第二完成信息是指示第二管理信息的写入是否已完成的标记的示例,然而不用说,按照本实施例的第二完成信息并不局限于所述标记。
按照本实施例的第二管理信息包括例如逻辑块和用户块之间的变换信息、扩展块和虚拟块之间的变换信息、指示空闲块VFB的信息、关于下次要被写入数据的虚拟块(下面也称为“VWTB”)的信息以及关于要擦除的虚拟块(下面也称为“VETB”)的信息。
这里,逻辑块和用户块之间的变换信息对应于上述第一变换信息。逻辑块和用户块之间的变换信息可以是例如使逻辑块与用户块相关联的表,或者使逻辑块的地址与用户块的地址相关联的信息。扩展块和虚拟块之间的变换信息对应于指示扩展块的上述信息。扩展块和虚拟块之间的变换信息可以是例如作为扩展块分配的虚拟块的地址。VWTB可以是例如空闲块的地址。VETB可以是例如要被擦除的虚拟块的地址。
通过利用具有图9中所示结构的第二管理信息,管理设备100能够进行例如,基于逻辑块的用户数据的管理、逻辑块和用户数据块之间的对应关系的管理、作为扩展块分配的虚拟块的管理、空闲块(未使用的虚拟块)的管理、VWTB的管理以及VETB的管理。注意,不用说按照本实施例的第二管理信息并不局限于图9中所示的结构。
当写入(新写入或更新)用户数据时,管理设备100例如把数据写入由第二管理信息的VWTB指示的虚拟块,然后更新第二管理信息。随后,管理设备100把第二管理信息写入第二管理块VMB中。另外,当第二管理信息向第二管理块VMB的写入完成时,管理设备100在第二管理块VMB上设定指示第二管理信息的写入已完成的第二完成信息。例如,在图9的例子中,当第二管理信息向第二管理块VMB的写入完成时,管理设备100把所述标记设定成指示所述写入已完成的值。
当在第二管理信息中设定VETB时,管理设备100擦除由第二管理信息中的VETB指示的虚拟块。随后,管理设备100更新第二管理信息中的VETB。注意,用VETB指示的虚拟块的擦除和第二管理信息中的VETB的更新可在把第二管理信息写入第二管理块VMB中之前进行。
管理设备100通过例如上述处理管理虚拟块。注意,按照本实施例的管理设备100进行的虚拟块的管理并不局限于上述例子。例如,当管理设备100在第二管理块VMB已具有保存于其中的第二管理信息的时候,把更新的第二管理信息写入第二管理块VMB时,管理设备100能够把差异信息写入第二管理块VMB中,所述差异信息指示当前保存的第二管理信息和待新写入的第二管理信息之间的差异。
图10是图解说明按照本实施例的管理设备100进行的虚拟块的管理的另一个例子的说明图。如图10中所示,在上述情况下,管理设备100把关于保存的第二管理信息的变更部分的信息(差异信息)和指示所述信息的写入已完成的标记写入第二管理块VMB中。
例如,当保存第二管理信息时,如图10中所示,不保存第二管理信息的全部信息大小而只把所述差异信息保存到第二管理块VMB中,能够减小第二管理信息的写入大小和非易失性存储器的重写频度。从而,由于管理设备100能够延长非易失性存储器的寿命,因此也能够延长包括待管理的非易失性存储器的存储系统的使用时长。此外,通过减小非易失性存储器的重写频度,管理设备100能够抑制非易失性存储器的性能的降低,比如在重写处理的执行期间发生的速度的降低。
(III)扩展块的管理的例子
下面,说明按照本实施例的扩展块的管理的例子。管理设备100把指示逻辑块LB和高速缓存块ECB之间的对应关系的第二变换信息以及指示高速缓存块ECB、回写块EWBB和耗损均衡块EWLB中的每一个的信息,作为第三管理信息写入第三管理块EMB中。从而,管理设备100利用第三管理信息管理虚拟块。
图11是图解说明按照本实施例的管理设备100进行的扩展块EB的管理例子的说明图。
管理设备100利用第三管理信息管理逻辑块LB和高速缓存块ECB之间的对应关系,如图11中的符号E所示。另外,管理设备100利用第三管理信息管理高速缓存块ECB、回写块EWBB和耗损均衡块EWLB中的每一个对应于哪些扩展块,如图11中的符号F所示。
管理设备100还能够例如,按平移单元分别分割逻辑块LB和高速缓存块ECB中的每一个,然后在按平移单元使逻辑块LB和高速缓存块ECB相互关联的时候,管理逻辑块LB和高速缓存块ECB。这里,按照本实施例的平移单元是大于或等于非易失性存储器的最小写入大小并且小于虚拟块大小的单元。例如,平移单元可以是块大小的整数分之一,并且可以是页大小的整数倍的单元。下面,逻辑块LB的平移单元也可被称为“LTU”,高速缓存块ECB的平移单元也可被称为“ECTU”。
图12是表示按照本实施例,使逻辑块LB的平移单元和高速缓存块ECB的平移单元相关联的例子的说明图。
管理设备100能够与LTU编号无关地使每个LTU和对应于逻辑块LB的扩展块ECB内的特定ECTU相关联,如例如图12中的符号G所示。另外,管理设备100把指示逻辑块LB中的每个LTU与扩展块ECB和ECTU之间的对应关系的第三变换信息,作为第三管理信息写入第三管理块EMB中。因而,管理设备100能够在按平移单元使逻辑块LB和高速缓存块ECB相互关联的时管理逻辑块LB和高速缓存块ECB。
图13是表示按照本实施例的管理设备100管理的非易失性存储器中的第三管理块EMB的例子的说明图。在图13中,还表示了按照本实施例的第三管理信息的例子。
在第三管理块EMB中,保存第三管理信息和指示第三管理信息的写入已完成的第三完成信息。虽然图13表示第三完成信息是指示第三管理信息的写入是否已完成的标记的示例,然而不用说第三完成信息并不局限于所述标记。
另外,按照本实施例的第三管理信息还包括扩展块ECB、回写块EWBB和耗损均衡块EWLB中的每一个的最后被写页地址(下面也称为“LWP”)、逻辑块LB和扩展块ECB之间的变换信息、LTU和ECTU之间的变换信息、关于回写块EWBB的信息以及关于耗损均衡块EWLB的信息。
这里,逻辑块LB和扩展块ECB之间的变换信息对应于上述第二变换信息。逻辑块LB和扩展块ECB之间的平移信息可以是例如使逻辑块LB与扩展块ECB相关联的表,或者使逻辑块LB的地址与扩展块ECB的地址相关联的信息。另外,LTU和ECTU之间的变换信息对应于上述第三变换信息。LTU和ECTU之间的变换信息可以是使每个LTU的地址与ECTU的地址相关联的信息,比如使LTU与ECTU相关联的表(下面也称为“LTU-ECTU表”)。关于回写块EWBB的信息可以是例如作为回写块EWBB分配的虚拟块的地址。关于耗损均衡块EWLB的信息可以是例如作为耗损均衡块EWLB分配的虚拟块的地址。
通过利用具有图13中所示结构的第三管理信息,管理设备100能够进行LWP的管理、逻辑块LB和扩展块ECB之间的对应关系的管理、LTU和ECTU之间的对应关系的管理、回写块EWBB的管理以及耗损均衡块EWLB的管理。注意,按照本实施例的第三管理信息并不局限于图13中所示的结构。例如,当管理设备100不具有如图12中所示的要按照平移单元使逻辑块LB和高速缓存块ECB相互关联,以便管理逻辑块LB和高速缓存块ECB的结构时,按照本实施例的第三管理信息不需要包括第三变换信息。
当管理设备100已响应用户数据的写入把数据写入每个扩展块EB时,管理设备100更新第三管理信息。随后,管理设备100把第三管理信息写入第三管理块EMB。此外,当第三管理信息向第三管理块EMB的写入完成时,管理设备100在第三管理块EMB上设定指示第三管理信息的写入已完成的第三完成信息。在图13的例子中,例如,当第三管理信息向第三管理块EMB的写入完成时,管理设备100把所述标记设定为指示所述写入已完成的值。
当对第三管理块EMB的上述第三完成信息的设定完成时,管理设备100还可例如,根据第三管理信息的第二变换信息,判定正在使用的高速缓存块ECB的数目(使用数)是否达到预定数目。这里,例如,按照本实施例的使用数是否达到预定数目的判定意指正在使用的高速缓存块ECB的数目是否变得大于或等于预定数目的判定,或者正在使用的高速缓存块ECB的数目是否超过预定数目的判定。随后,当判定使用数已达到预定数目时,管理设备100对与更新频度低的逻辑块LB对应的高速缓存块ECB中的用户数据进行回写处理。
这里,管理设备100用来判定正在使用的高速缓存块ECB的数目是否已达到的预定数目可以是例如预置数,或者根据对应于用户操作的操作信号或者外部操作信号设定(或重置)的数目。
此外,当判定使用数已达到预定数目时,管理设备100利用例如,LRU控制,选择与更新频度低的逻辑块LB对应的高速缓存块ECB,即,要进行回写处理的高速缓存块ECB。注意,按照本实施例的选择要进行回写处理的高速缓存块ECB的方法并不局限于利用LRU控制的方法。例如,管理设备100可以以逻辑块为单位分割待写入的用户数据,保存在每个逻辑块中进行的写入的数目,并根据写入的数目选择待进行回写处理的高速缓存块ECB。更具体地说,管理设备100选择如下的高速缓存块ECB作为待进行回写处理的高速缓存块:该高速缓存块ECB对应于按以逻辑块为单位进行的写入次数最小的逻辑块。
通过进行如上所述的回写处理,管理设备100能够有效地利用扩展块ECB,从而能够例如降低非易失性存储器的重写频度。从而,由于管理设备100能够延长非易失性存储器的寿命,因此也能够延长包括待管理的非易失性存储器的存储系统的使用时长。此外,通过减小非易失性存储器的重写频度,管理设备100能够抑制非易失性存储器的性能的降低,比如在重写处理的执行中发生的速度的降低。
管理设备100通过例如上述处理管理扩展块。注意,按照本实施例的管理设备100的管理扩展块的方法并不局限于上述例子。
[与按照本实施例的管理方法相关的处理的具体例子]
按照本实施例的管理设备100分三级管理非易失性存储器,所述三级包括如上在(I)-(III)中说明的物理块的管理、虚拟块的管理和扩展块的管理。下面说明按照本实施例的非易失性存储器管理方法的具体例子。
(1)在管理开始时进行的处理(当安装非易失性存储器时进行的处理)
当开始非易失性存储器的管理时,管理设备100从非易失性存储器读取保存在非易失性存储器中的管理信息,然后把读取的管理信息记录在记录介质上。随后,管理设备100根据记录在记录介质上的管理信息管理非易失性存储器。记录介质可以是例如数据读/写速度比非易失性存储器的数据读/写速度快的记录介质,比如RAM(随机存取存储器,未示出)。
如上所述,通过在管理开始时,通过把管理信息记录(展开)在数据读/写速度比非易失性存储器的数据读/写速度快的记录介质之上(之中),并通过利用记录在记录介质上的管理信息,能够进一步缩短到开始管理时为止的时间。这里,到开始管理时为止的时间也可被理解成例如到包括待管理的非易失性存储器的存储系统被启动为止的时间。另外,由于与按照现有技术的管理信息的大小相比,按照本实施例管理设备100能够减小管理信息的大小,因此即使当在记录介质中展开管理信息时,也能够降低管理信息的扩展会压迫记录介质的可能性。下面将举例说明其中非易失性存储器为RAM的情况。
图14是表示在开始非易失性存储器的管理时,由按照本实施例的管理设备100进行的处理的例子的流程图。这里,图14表示当安装非易失性存储器时,由管理设备100进行的处理的例子。
管理设备100搜索替代区域A2中的第一管理区域PMB(S200)。随后,管理设备100从第一管理区域PMB中搜索最新的第一管理信息,检查写入完成标记,如果写入完成标记指示写入完成,那么把第一管理信息展开到RAM中(S202)。
随后,管理设备100从第一管理信息中获得PATB,然后检查PATB是否已被擦除(S204)。
这里,步骤S200-S204中,管理设备100进行的处理对应于判定第一管理块PMB中的最后写入页是否是第一完成信息以及第一管理信息中的PATB是否已被擦除的处理。这样的判定还对应于根据第一管理信息进行的写入错误的判定。通过如上所述,根据第一管理信息判定写入错误,即使当由于诸如供电中断之类的意外事件而中断写入或者中断擦除时,管理设备100也能够检测写入错误的产生。
虽然图14中未示出,不过如果判定产生了写入错误,那么管理设备100使正在处理的与中断的写入或擦除对应的数据无效,并使非易失性存储器恢复到处理前的状态。随后,管理设备100终止图14中所示的处理。如上所述,通过例如判定由于诸如供电中断之类的意外事件而使得写入被中断或者擦除被中断,来把非易失性存储器恢复到处理前的状态,管理设备100能够防止发生当出现意外事件时正被写入或擦除部分的数据的错乱。
这里,把非易失性存储器恢复到处理前的状态的方法可以是例如利用与管理信息中的均指示写入已完成的第一完成信息、第二完成信息和第三完成信息对应的最新管理信息来进行的恢复。注意,不用说把非易失性存储器恢复到处理前的状态的方法并不局限于这个例子。
在步骤S204中的处理之后,管理设备100搜索虚拟区域A1中的第二管理块VMB(S206)。随后,管理设备100从第二管理块VMB中搜索最新的第二管理信息,检查写入完成标记,如果写入完成标记指示写入完成,那么在RAM中展开第二管理信息(S208)。
随后,管理设备100从第二管理信息获得VWTB,然后检查VWTB是否已被擦除(S210)。
这里,步骤S206-S210中,管理设备100进行的处理对应于判定第二管理块VMB中的最后被写页是否是第二完成信息以及第二管理信息中的VWTB是否被擦除的处理。这种判定还对应于基于读取的第二管理信息进行的写入错误判定。通过如上所述,根据第二管理信息判定写入错误,即使当由于诸如供电中断之类的意外事件而中断写入或者中断擦除时,管理设备100也能够检测写入错误的发生。
虽然图14中未示出,不过如果判定发生了写入错误,那么管理设备100使正在处理的对应于中断的写入或擦除的数据无效,然后把非易失性存储器恢复到处理前的状态。随后,管理设备100终止图14中所示的处理。
在步骤S210中的处理之后,如果对第二管理信息设定了VETB,那么管理设备100擦除与设定的VETB对应的虚拟块(S212),并通过参照第二管理信息识别扩展块EB(S214)。
管理设备100从识别的扩展块EB中的第三管理块EMB中搜索最新的第三管理信息,检查写入完成标记,如果写入完成标记指示写入已完成,那么在RAM中展开第三管理信息(S216)。
随后,管理设备100搜索扩展块EB的LWP,比较扩展块EB的LWP和第三管理信息的LWP,以检查它们是否匹配(S218)。
这里,在步骤S216和S218中,管理设备100进行的处理对应于判定第三管理块EMB中的最后写入页是否是第三完成信息以及第三管理块EMB中的最后写入页的LWP的状态是否与非易失性存储器的扩展块EB的LWP的状态匹配的处理。这样的判定也对应于基于读取的第三管理信息和扩展块EB的最后被写页地址进行的写入错误判定。如上所述根据第三管理信息和扩展块EB的最后被写页地址来判定写入错误,即使当由于诸如供电中断之类的意外事件而中断写入或者中断擦除时,管理设备100也能够检测写入错误的发生。
虽然图14中未示出,不过如果判定发生了写入错误,那么管理设备100使正在处理的对应于中断的写入或擦除的数据无效,然后把非易失性存储器恢复到处理前的状态。随后,管理设备100终止图14中所示的处理。
管理设备100进行图14中所示的处理,作为管理开始时的处理。注意,在管理开始时,按照本实施例的管理设备100进行的处理并不局限于图14中所示的处理。例如,管理设备100能够把构成非易失性存储器的多个物理块分成多个虚拟区域A1以及对应于虚拟区域A1的多个替代区域A2,并利用多项第二管理信息管理非易失性存储器。
图15是表示在开始非易失性存储器的管理时,按照本实施例的管理设备100进行的处理的另一个例子的流程图。这里,图15表示当管理设备100在非易失性存储器中设置两个虚拟区域A1和两个替代区域A2并利用对应于相应虚拟区域A1的两项第二管理信息管理非易失性存储器的情况下安装非易失性存储器时,管理设备100进行的处理的例子。下面,对应于第一个虚拟区域A1的第二管理信息将被称为“第一个第二管理信息”,对应于第二个虚拟区域A1的第二管理信息将被称为“第二个第二管理信息”。
管理设备100分别对对应于第一个虚拟区域A1的第一个替代区域A2和对应于第二个虚拟区域A1的第二个替代区域A2,进行与图14中所示的步骤S200-S204中的处理类似的处理(S300-S304)。注意,虽然图15中未示出,不过如果判定发生了写入错误,那么和图14中所示的处理中一样,管理设备100使正在处理的对应于中断的写入或擦除的数据无效,然后把非易失性存储器恢复到处理前的状态。随后,管理设备100终止图15中所示的处理。
在步骤S304中的处理之后,管理设备100搜索第一虚拟区域A1中的第二管理块VMB(S306)。随后,管理设备100从第一虚拟区域A1中的第二管理块VMB中,搜索最新的第一个第二管理信息,检查写入完成标记,如果写入完成标记指示写入完成,那么在RAM中展开第一个第二管理信息(S308)。
随后,管理设备100从第一个第二管理信息获得VWTB,并检查VWTB是否已被擦除(S310)。
这里,在步骤S306-S310,管理设备100进行的处理对应于如在图14的步骤S206-S210中那样根据读取的第一个第二管理信息来判定写入错误的处理。另外,虽然图15中未示出,不过如果判定发生了写入错误,那么和图14中所示的处理中一样,管理设备100使正在处理的对应于中断的写入或擦除的数据无效,然后把非易失性存储器恢复到处理前的状态。随后,管理设备100终止图15中所示的处理。
在步骤S310中的处理之后,如果对第一个第二管理信息设定了VETB,那么管理设备100擦除与设定的VETB对应的虚拟块(S312)。随后,根据记录在读取的第一个第二管理信息中的、关于与第二个虚拟区域A2对应的第二个第二管理信息的保存地点的信息,管理设备100识别对应于第二个第二管理信息的第二管理块VMB(S314)。
如上所述,管理设备100根据记录在读取的第一个第二管理信息中的、关于与每个其它虚拟区域A2对应的第二管理信息的保存地点的信息,识别对应于每个其它的虚拟区域A2的第二管理块VMB。因而,通过读取对应于每个其它的虚拟区域A2的第二管理信息,管理设备100能够利用多项管理信息管理非易失性存储器。如上所述,通过在开始管理时,只搜索一项代表性的第二管理信息(图15中所示例子之中的第一个第二管理信息),能够与单独搜索多项第二管理信息时相比,在较短的时间内,在RAM中展开将用于所述管理的所有各项第二管理信息。注意,不用说按照本实施例的管理设备100还能够在开始管理时,单独搜索多项第二管理信息中的每项第二管理信息。
在步骤S314中的处理之后,管理设备100从识别的第二个替代块A2中的第二管理块VMB中,搜索最新的第二个第二管理信息,检查写入完成标记,如果写入完成标记指示写入完成,那么在RAM中展开第二个第二管理信息(S316)。
随后,管理设备100从第二个第二管理信息获得VWTB,并检查VWTB是否已被擦除(S318)。
这里,在步骤S316-S318,管理设备100进行的处理对应于如在图14的步骤S206-S210的处理中那样根据读取的第二个第二管理信息来判定写入错误的处理。另外,虽然图15中未示出,不过如果判定发生了写入错误,那么如例如图14中所示的处理中一样,管理设备100使正在处理的对应于中断的写入或擦除的数据无效,然后使非易失性存储器恢复到处理前的状态。随后,管理设备100终止图15中所示的处理。
在步骤S318中的处理之后,如果对第二个第二管理信息设定了VETB,那么管理设备100擦除与设定的VETB对应的虚拟块(S320)。
管理设备100分别对第一个虚拟区域A1和第二个虚拟区域A1进行与图14中所示的步骤S214-S218中的处理类似的处理(S322-S326)。注意虽然图15中未示出,不过如果判定发生了写入错误,那么如例如图14中所示的处理中一样,管理设备100使正在处理的对应于中断的写入或擦除的数据无效,然后使非易失性存储器恢复到处理前的状态。随后,管理设备100终止图15中所示的处理。
当管理设备100把构成非易失性存储器的多个物理块PB分成多个虚拟区域A1和对应于虚拟区域A1的多个替代区域A2时,管理设备100进行图15中所示的处理,作为管理开始时的处理,并利用多项第二管理信息,管理非易失性存储器。
管理设备100进行例如,图14或15中所示的处理作为在管理开始时的处理。注意,不用说在管理开始时,由按照本实施例的管理设备100进行的处理并不局限于在图14或15中所示的处理。
(2)写入处理
下面,说明按照本实施例的管理设备100进行的写入处理的例子。图16是表示按照本实施例的管理设备100进行的写入处理的例子的流程图。
管理设备100从第二管理信息获得VWTB(S400),然后把数据写入VWTB所指示的虚拟块中(S402)。
在步骤S402中的处理之后,管理设备100把对应于VWTB的虚拟块作为高速缓存块ECB登记在第三管理信息中(S404),然后更新第三管理信息(S406)。
另外,管理设备100把更新的第三管理信息保存在第三管理块EMB中,并设定指示写入完成的完成标记(第三完成信息)(S408)。
在步骤S408中的处理之后,管理设备100更新第二管理信息(S410),把更新的第二管理信息保存到第二管理块VMB中,并设定指示写入完成的完成标记(第二完成信息)(S412)。
管理设备100进行例如图16中所示的处理作为写入处理。注意按照本实施例的管理设备100进行的写入处理并不局限于图16中所示的处理。
图17是表示按照本实施例的管理设备100进行的写入处理的另一个例子的流程图。这里,图17表示与管理设备100进行的对高速缓存块ECB的数据写入相关的处理的例子。
管理设备100参照第三管理信息,并检查高速缓存块ECB是否可记录(S500)。
如果在步骤S500中,判定高速缓存块ECB是可记录的,那么管理设备100把数据写入确定的高速缓存块ECB中(S502),并更新第三管理信息(S504)。随后,管理设备100把更新的第三管理信息保存到第三管理块EMB中,并设定指示写入完成的完成标记(第三完成信息)(S506)。
管理设备100进行例如图17中所示的处理,作为与高速缓存块ECB的数据写入相关的处理。注意,不用说按照本实施例的管理设备100进行的写入处理并不局限于在图16或17中所示的处理。
(3)回写处理
下面,说明按照本实施例的管理设备100进行的回写处理的例子。图18是表示按照本实施例的管理设备100进行的回写处理的例子的流程图。这里,图18表示与新的EWBB的分配相关的处理的例子。
管理设备100判定正在使用的高速缓存ECB的数目是否达到预定数目(S600)。如果在步骤S600中,未判定在使用的高速缓存块ECB的数目已达到预定数目,那么管理设备100终止回写处理。
如果在步骤S600中,判定正在使用的高速缓存块ECB的数目已达到预定数目,那么管理设备100搜索被分配为高速缓存块并且使用频度较低的逻辑块LB(S602)。这里,例如,管理设备100利用LRU控制选择使用频度低的逻辑块LB,以进行步骤S602中的处理,然而步骤S602中的处理并不局限于此。
管理设备100通过参照第二管理信息识别对应于VWTB的虚拟块(S604),然后根据第三管理信息的LTU-ECTU表(LTU和ECTU之间的变换信息的例子),识别与使用频度低的逻辑块LB对应的虚拟块和ECTU(S606)。
在步骤S606中的处理之后,管理设备100从识别的虚拟块的ECTU中读取数据(S608),然后把所述数据写入在步骤S604中识别的VWTB(S610)。
在步骤S610中的处理之后,管理设备100把识别的VWTB设定为EWBB(S612),并更新第三管理信息(S614)。
管理设备100把更新的第三管理信息保存到第三管理块EMB中,然后设定指示写入完成的完成标记(第三完成信息)(S616)。
在步骤S616中的处理之后,管理设备100更新第二管理信息(S618),把更新的第二管理信息保存到第二管理块VMB中,然后设定指示写入完成的完成标记(第二完成信息)(S620)。
管理设备100进行例如图18中所示的处理,作为与EWBB的分配相关的处理。注意,按照本实施例的管理设备100进行的回写处理并不局限于图18中所示的处理。
图19是表示按照本实施例的管理设备100进行的回写处理的另一个例子的流程图。这里,图19表示把数据写入分配的EWBB的处理的例子。
管理设备100从第三管理块EMB获得逻辑块LB、EWBB和LWP(S700)。在步骤S700中的处理之后,管理设备100根据第三管理信息的LTU-ECTU表(LTU和ECTU之间的变换信息的例子),识别与在步骤S700中获得的逻辑块对应的虚拟块和ECTU(S702)。
在步骤S702中的处理之后,管理设备100从识别的虚拟块的ECTU读取数据(S704),然后把所述数据写入在步骤S700中获得的EWBB(S706)。
在步骤S706中的处理之后,管理设备100更新第三管理信息(S708),把更新的第三管理信息保存到第三管理块EMB中,然后设定指示写入完成的完成标记(第三完成信息)(S710)。
管理设备100进行例如图19中所示的处理,作为把数据写入分配的EWBB的处理。注意,按照本实施例的管理设备100进行的回写处理并不局限于在图18或19中所示的处理。
图20是表示由按照本实施例的管理设备100进行的回写处理的又一个例子的流程图。这里,图20表示与回写处理的完成相关的处理的例子。
管理设备100从第三管理块EMB获得EWBB和EWBB的LWP(S800),然后从第三管理块EMB获得与逻辑块LB对应的高速缓存块ECB(S802)。这里,步骤S800和S802中的处理是根据例如图13中所示的第三管理信息进行的。
在步骤S802中的处理之后,管理设备100通过参照第二管理信息,识别对应于逻辑块LB的用户数据块VUB(S804)。
在步骤S804中的处理之后,管理设备100更新第三管理信息(S806),把更新的第三管理信息保存到第三管理块EMB中,然后设定指示写入完成的完成标记(第三完成信息)(S808)。
在步骤S808中的处理之后,管理设备100更新第二管理信息(S810),把更新的第二管理信息保存到第二管理块VMB中,然后设定指示写入完成的完成标记(第二完成信息)(S812)。
管理设备100进行例如图20中所示的处理,作为与回写处理的完成相关的处理。注意,按照本实施例的回写处理并不局限于图18,19或20中所示的处理。
例如,如图12中的符号G所示,管理设备100可按照连续逻辑地址的顺序,写入要被写入到扩展块EB的用户数据,而不是与LTU编号无关地使每个LTU和与逻辑块LB对应的扩展块ECB内的特定ECTU相关联。在这种情况下,管理设备100能够进行例如与图18,19或20中所示的处理不同的处理作为回写处理。
图21是表示按照本实施例,使逻辑块LB的平移单元与高速缓存块ECB的平移单元相关联的另一个例子的说明图。如图21中的符号H所示,当按照连续逻辑地址的顺序写入要被写入到扩展块EB的用户数据时,管理设备100能够在不复制数据的情况下进行回写处理,而在典型的回写处理中则会进行这样的数据复制。从而,通过在不复制数据的情况下进行回写处理,管理设备100能够抑制非易失性存储器的性能的降低,比如由回写处理引起的速度的降低。
图22是表示按照本实施例的管理设备100进行的回写处理的另一个例子的流程图。这里,图22表示当如图21中所示,按照连续逻辑地址的顺序写入待写入扩展块EB的用户数据时进行的回写处理的例子。
管理设备100判定正在使用的高速缓存块ECB的数目是否达到预定数目(S900)。如果在步骤S900中,未判定在使用的高速缓存块ECB的数目已达到预定数目,那么管理设备100终止回写处理。
如果在步骤S900中,判定在使用的高速缓存块ECB的数目已达到预定数目,那么管理设备100搜索其数据存储状态与用户数据块VUB的数据存储状态相同的高速缓存块ECB(S902)。在此,例如当多个高速缓存块ECB被分配给单个逻辑块LB时,管理设备100搜索数据最近写入的高速缓存块ECB。另外,虽然图22中未示出,不过当在步骤S902中,未检测到其数据存储状态与用户数据块VUB的数据存储状态相同的高速缓存块ECB时,管理设备100进行例如从图18中所示的步骤S602起的处理。
当在步骤S902中,检测到其数据存储状态与用户数据块VUB的数据存储状态相同的高速缓存块ECB时,管理设备100通过参照第二管理信息,识别与逻辑块LB对应的用户数据块VUB(S904)。
在步骤S904中的处理之后,管理设备100更新第三管理信息(S908),把更新的第三管理信息保存到第三管理块EMB中,然后设定指示写入完成的完成标记(第三完成信息)(S908)。
随后,管理设备100更新第二管理信息(S910),把更新的第二管理信息保存到第二管理块VMB中,并设定指示写入完成的完成标记(第二完成标记)(S912)。
在步骤S912中的处理之后,管理设备100擦除在步骤S904中识别的用户数据块VUB中的数据(S914)。
管理设备100进行例如图22中所示的处理,作为当如图21中所示的按照连续逻辑地址的顺序写入要被写入到扩展块EB的用户数据时的回写处理。
(4)静态耗损均衡处理
通过进行与在上面的(3)中说明的回写处理类似的处理,管理设备100能够实现静态耗损均衡处理。注意,按照本实施例的静态耗损均衡处理不用说并不局限于与在上面的(3)中说明的回写处理类似的处理。
(5)差错恢复处理
下面,说明按照本实施例的管理设备100进行的差错恢复处理的例子。这里,按照本实施例的差错恢复处理是例如当在对扩展块EB的数据写入期间产生差错时,恢复差错的处理。
当在管理设备100把数据写入扩展块EB的时候产生差错时,管理设备100保存已被写入其中产生差错的扩展块EB的数据。另外,管理设备100根据记录在第二管理信息中的VWTB,把数据连续地写入对应的虚拟块中。随后,管理设备100利用已写入到产生差错的扩展块EB中的数据以及被连续地写入虚拟块中的数据来进行回写处理。即,管理设备100利用置换处理进行回写处理。通过如上所述利用置换处理进行回写处理,管理设备100能够抑制非易失性存储器的性能的降低,例如在产生诸如程序错误之类的差错时发生的速度的降低。
图23是表示按照本实施例的管理设备100进行的差错恢复处理的例子的流程图。这里,图23表示当在写入期间产生差错时进行的差错恢复处理。
管理设备100通过参照第三管理信息,检查高速缓存块ECB是否可记录(S1000)。如果在步骤S1000判定高速缓存块ECB是可记录的,那么管理设备100通过参照第一管理信息,识别对应于高速缓存块ECB的物理块PB(S1002)。随后,管理设备100把数据写入识别的物理块PB中(S1004)。
一旦在步骤S1004中开始了数据写入,管理设备100就判定在步骤S1004中的数据写入期间是否产生了差错(S1006)。如果在步骤S1006中未判定产生了差错,那么管理设备100终止差错恢复处理。
如果在步骤S1006中,判定产生了差错,那么管理设备100把其中产生差错的物理块PB作为PPEB记录在第一管理信息中(S1008)。随后,管理设备100把更新的第一管理信息保存到第一管理块PMB中,并设定指示写入已完成的完成标记(第一完成信息)(S1010)。
在步骤S1010中的处理之后,管理设备100通过参照第二管理信息,识别VWTB(步骤1012)。随后,管理设备100通过参照第一管理信息,识别对应于步骤S1012的物理块PB(S1014)。然后,管理设备100把数据写入在步骤S1014中识别的物理块PB(S1016)。
在步骤S1016中的处理之后,管理设备100更新第三管理信息(S1018),把更新的第三管理信息保存到第三管理块EMB中,并设定指示入完成的完成标记(第三完成信息)(S1020)。
随后,管理设备100更新第二管理信息(S1022),把更新的第二管理信息保存到第二管理块VMB中,并设定指示写入完成的完成标记(第二完成信息)(S1024)。
管理设备100进行图23中所示的处理,作为当在写入期间产生差错时进行的差错恢复处理。注意,按照本实施例的管理设备100进行的差错恢复处理并不局限于图23中所示的处理。
图24是表示按照本实施例的管理设备100进行的差错恢复处理的另一个例子的流程图。这里,图24表示当在图20中所示的回写处理期间产生差错时进行的差错恢复处理的例子。
管理设备100从第三管理块EMB获得EWBB和EWBB的LWP(S1100),然后从第三管理块EMB获得与逻辑块LB对应的高速缓存块ECB(S1102)。这里,步骤S1100和S1102中的处理是根据例如图13中所示的第三管理信息进行的。
在步骤S1102中的处理之后,管理设备100通过参照第二管理信息,识别对应于逻辑块LB的用户数据块VUB(S1104)。
在步骤S1104中的处理之后,管理设备100更新第三管理信息(S1106),把更新的第三管理信息保存到第三管理块EMB中,然后设定指示写入完成的完成标记(第三完成信息)(S1108)。
在步骤S1108中的处理之后,管理设备100更新第二管理信息(S1110),把更新的第二管理信息保存到第二管理块VMB中,然后设定指示写入完成的完成标记(第二完成信息)(S1112)。
在步骤S1112中的处理之后,管理设备100通过参照第一管理信息,识别对应于高速缓存块ECB和用户数据块VUB的物理块PB(S1114)。然后,管理设备100擦除在步骤S1114中识别的物理块PB(S1116)。
在步骤S1116中的处理之后,管理设备100通过参照第一管理信息识别PPEB,然后检查该PPEB是否与在步骤S1116中擦除的物理块PB匹配(S1118)。当在步骤S1118中确定匹配时,管理设备100对在步骤S1116中擦除的物理块PB设定“坏标识”(S1120),所述“坏标识”指示其中产生了差错的物理块PB。
在步骤S1120中的处理之后,管理设备100更新第一管理信息(S1122)把更新的第一管理信息保存到第一管理块PMB中,并设定指示写入已完成的完成标记(第一完成信息)(S1124)。
管理设备100进行例如图24中所示的处理,作为当在图20中所示的回写处理期间产生差错时进行的差错恢复处理。
管理设备100进行例如图23或24中所示的处理,作为差错恢复处理。注意,不用说按照本实施例的管理设备100进行的差错恢复处理并不局限于图23或24中所示的处理。
(按照本实施例的管理设备)
下面说明按照本实施例的管理设备100的结构例子,管理设备100能够执行与按照本实施例的上述管理方法相关的处理。
图25是表示按照本实施例的管理设备100的结构例子的方框图。例如,管理设备100包括非易失性存储器102和控制单元104。
管理设备100还可包括ROM(只读存储器,未示出)、RAM(未示出)、可由用户操作的操作单元(未示出)、在显示屏上显示各种屏幕的显示单元(未示出)、与外部设备通信的通信单元(未示出)和/或类似物。管理设备100借助作为数据传输通道的总线连接各个上述组件。
ROM(未示出)保存控制单元104使用的控制数据,比如程序和运算参数。RAM(未示出)临时保存控制单元104执行的程序和管理信息等。操作单元(未示出)可以是例如下面说明的操作设备,显示单元(未示出)可以是例如下面说明的显示设备。通信单元(未示出)可以是例如下面说明的通信接口。
[管理设备100的硬件结构例子]
图26是表示按照本实施例的管理设备100的硬件结构的例子的说明图。参见图26,管理设备100包括例如MPU 150、ROM 152、RAM 154,记录介质156、输入/输出接口158、操作输入设备160、显示设备162和通信接口164。另外,管理设备100通过作为数据传输通道的总线166连接各个组件。
MPU 150包括MPU(微处理单元),通过集成实现诸如控制功能之类的各种功能的各个电路而获得的集成电路,起控制整个管理设备100的控制部分104的作用。另外,在管理设备100中,MPU 150还能够起后面说明的管理单元110的作用。
ROM 152保存诸如MPU 150使用的程序和运算参数之类的控制数据。RAM 154临时保存例如MPU 150执行的程序和控制信息等。这里,RAM 154对应于例如数据读/写速度比非易失性存储器102的数据读/写速度快的记录介质。
记录介质156是管理设备100中的存储装置,起非易失性存储器102的作用。例如,记录介质156保存应用程序和各种数据等。这里,记录介质156可以是闪速存储器。记录介质156能够从管理设备100拆卸。
输入/输出接口158连接操作输入设备160和显示设备162。操作输入设备160起操作单元(未示出)的作用,显示设备162起显示单元(未示出)的作用。这里,输入/输出接口158例如可以是USB(通用串行总线)端子,DVI(数字视频接口)端子,HDMI(高清晰度多媒体接口)端子,或者各种处理电路。此外,操作输入设备160设置在管理设备100上,并连接到管理设备100内的输入/输出接口158。操作输入设备160例如可以是诸如按钮,方向键,或三向滚轮之类的旋转式选择器;或者它们的组合。显示设备162设置在管理设备100上,并连接到管理设备100内的输入/输出接口158。显示设备162例如可以是液晶显示器(LCD)和有机EL显示器(也称为有机电致发光显示器或OLED显示器(有机发光二极管显示器))。注意不用说,输入/输出接口158可以连接到作为管理设备100的外部设备的操作输入设备(例如,键盘或鼠标)或显示设备(例如,外部显示器)。另外,显示设备162可以是能够显示信息和接收用户操作的设备,比如触摸屏。
通信接口164是管理设备100的通信装置,起经网络(或者直接)与外部设备进行有线/无线通信的通信单元(未示出)的作用。这里,通信接口164例如可以是通信天线,RF(射频)电路(无线通信),LAN端子,或发射/接收电路(有线通信)。注意,按照本实施例的通信接口164并不局限于上述例子,可以具有支持网络的结构。
借助例如图26中所示的结构,管理设备100执行与按照本实施例的上述管理方法相关的处理。注意,按照本实施例的管理设备100的硬件结构并不局限于图26中所示的结构。例如,管理设备100可以是用于实现执行与按照本实施例的管理方法相关的处理的功能(例如,下面说明的管理单元110的功能)的IC(集成电路)。当使用这样的结构时,管理设备100控制作为待控制的非易失性存储器的外部非易失性存储器。
重新参见图25,说明管理设备100的结构的例子。非易失性存储器102是管理设备100的存储装置。在此,非易失性存储器102例如可以是闪速存储器。往来于非易失性存储器102的数据写入、读取和擦除由控制单元104(更具体地说,后面说明的管理单元110)管理。
控制单元104包括例如MPU,具有控制整个管理设备100的功能。另外,控制单元104包括管理单元110,起执行与按照本实施例的管理方法相关的处理的主导作用。
管理单元110起执行与按照本实施例的管理方法相关的处理,比如与在上面的(I)中描述的物理块的管理相关的处理、与在上面的(II)中描述的虚拟块的管理相关的处理以及与在上面的(III)中描述的扩展块的管理相关的处理的主导作用。注意,管理单元110还可包括在管理物理块方面起主导作用的第一管理单元(未示出)、在管理虚拟块方面起主导作用的第二管理单元(未示出)和在管理扩展块方面起主导作用的第三管理单元(未示出)。
通过包括例如管理单元110,控制单元104能够实现与按照本实施例的上述管理方法相关的处理。因而,通过包括控制单元104,管理设备100能够在延长非易失性存储器的寿命的同时管理非易失性存储器。
借助例如图25中所示的结构,管理设备100进行与按照本实施例的上述管理方法相关的处理。从而,管理设备100能够在延长非易失性存储器的寿命的同时,管理非易失性存储器。
按照本实施例的管理设备100的结构并不局限于图25中所示的结构。例如,代替具有非易失性存储器102,按照本实施例的管理设备100可具有用于管理往来于有线或无线连接到管理设备100的外部设备中的非易失性存储器的数据写入、读取和擦除的结构。即使在这样的结构中,按照本实施例的管理设备100也能够在延长非易失性存储器的寿命的同时,管理外部设备中的非易失性存储器。
管理设备100还能够管理多个非易失性存储器。当管理多个非易失性存储器时,管理设备100可使用一个、两个或者更多的非易失性存储器作为高速缓存块ECB,以及使用一个、两个或更多的非易失性存储器作为用户数据块VUB。在此,假定高速缓存块ECB的重写频度高于用户数据块VUB的重写频度。从而,在上述情况下,用作高速缓存块ECB的非易失性存储器可以是写入速度和重写次数大约等于或大于用作用户数据块VUB的非易失性存储器的写入速度和重写次数的非易失性存储器。即,在上述情况下,用作高速缓存块ECB的非易失性存储器可以是例如与用作用户数据块VUB的非易失性存储器种类相同或不同的非易失性存储器。
根据本发明的优选的管理设备100可以包括管理非易失性存储器102的管理单元110,非易失性存储器102被配置成允许写入、读取或电擦除数据,允许以页为单位进行写入和读取,以及允许以包括多个页的块为单位进行擦除,管理单元110把构成非易失性存储器102的多个物理块分成包括对应于物理块的虚拟块的虚拟区域和包括替代块的替代区域,替代块用于置换包括在虚拟区域中的物理块之中的缺陷物理块,管理单元110用三级管理单元110管理非易失性存储器102,该三级包括物理块的管理、虚拟块的管理和扩展块的管理,扩展块是包括在虚拟区域中的物理块之中,用于临时保存用户数据的物理块,管理单元110并且把用于管理物理块的第一管理信息、用于管理虚拟块的第二管理信息以及用于管理扩展块的第三管理信息写入非易失性存储器102。
如上所述,按照本实施例的管理设备100分阶段地(例如用三级管理单元)管理非易失性存储器,并把每个管理单元的管理信息保存在非易失性存储器中,所述三级包括物理块的管理,虚拟块的管理和扩展块的管理。当如上所述,分阶段地管理非易失性存储器时,按照本实施例用于每一级中的管理的每个管理单元的管理信息的大小能够小于按照现有技术的管理信息的大小。从而,与现有技术中相比,通过把每个管理单元的管理信息保存在非易失性存储器中,管理设备100能够减小当把管理信息保存到非易失性存储器中时的管理信息的写入量。此外,管理设备100还能够利用保存在非易失性存储器中的管理信息来管理非易失性存储器。
从而,管理设备100能够在延长非易失性存储器的寿命的同时,管理非易失性存储器。
由于与现有技术相比,管理设备100能够减小管理信息的大小,因此能够减小当利用现有技术写入管理信息时发生的性能的降低。
此外,由于管理设备100分阶段地(例如用三级管理单元)管理非易失性存储器,所述三级包括物理块的管理,虚拟块的管理和扩展块的管理,因此能够高效地进行擦除。从而,管理设备100能够避免归因于写入期间的速度的降低,或者恢复写入错误期间的速度的降低或者与擦除大小单元成比例地发生的非易失性存储器的性能的降低。
虽然作为本实施例,上面说明了管理设备100,不过本实施例并不局限于此。本实施例可适用于各种设备,例如利用非易失性存储器的存储设备,诸如PC(个人计算机)或服务器之类的计算机,诸如电视接收机之类的显示设备,诸如便携式电话机之类的便携式通信设备,视频/音乐再现设备(或者视频/音乐记录/再现设备),或者游戏机。此外,本实施例也可适用于例如内置于这样的各种设备中的记录介质的控制IC。
(按照本实施例的程序)
通过利用使计算机起按照本实施例的管理设备作用的程序(例如,实现与按照本实施例的管理方法相关的处理的程序,或者与控制图3中所示的非易失性存储器的管理的软件相关的程序),能够在延长非易失性存储器的寿命的同时,管理非易失性存储器。
尽管参考附图,详细说明了本公开的优选实施例,不过本公开并不局限于此。对本领域的技术人员来说,显然各种修改或变化都是可能的,只要它们在附加权利要求或其等同物的技术范围之内。应明白这样的修改或变化也在本公开的技术范围之内。
例如,虽然上面说明了使计算机起按照本实施例的管理设备作用的程序(计算机程序),不过,本实施例还可提供其中保存有程序的记录介质。
上述结构是本实施例的一个例子。显然这样的结构在本公开的技术范围之内。
本公开包含与在2011年2月17日向日本专利局提交的日本优先权专利申请JP 2011-032110中公开的主题相关的主题,该专利申请的整个内容在此引为参考。
Claims (20)
1.一种管理设备,包括管理非易失性存储器的管理单元,所述非易失性存储器被配置成允许写入、读取或电擦除数据,允许以页为单位进行写入和读取,以及允许以包括多个页的块为单位进行擦除,其中所述管理单元:
把构成所述非易失性存储器的多个物理块分成包括对应于物理块的虚拟块的虚拟区域和包括替代块的替代区域,替代块用于置换包括在虚拟区域中的物理块之中的缺陷物理块,
用三级管理单元管理所述非易失性存储器,所述三级包括物理块的管理,虚拟块的管理和扩展块的管理,扩展块是包括在虚拟区域中的物理块之中,用于临时保存用户数据的物理块,以及
把用于管理物理块的第一管理信息、用于管理虚拟块的第二管理信息以及用于管理扩展块的第三管理信息写入所述非易失性存储器。
2.按照权利要求1所述的管理设备,其中
当虚拟区域具有单个缺陷物理块时,所述管理单元使对应于缺陷物理块的虚拟块与替代区域中的单个替代块相关联,并把指示该虚拟块和该替代块之间的对应关系的信息作为第一管理信息写入所述非易失性存储器中,以及
所述管理单元利用第一管理信息管理物理块。
3.按照权利要求2所述的管理设备,其中
替代区域被分成替代块和第一管理块,第一管理块是用于保存第一管理信息的物理块,以及
当第一管理信息向第一管理块的写入完成时,所述管理单元在第一管理块上设定第一完成信息,第一完成信息指示第一管理信息的写入已完成。
4.按照权利要求2所述的管理设备,其中所述管理单元写入其中使得所使用的替代块的地址与对应于替代块的虚拟块的地址相关联的信息、要在下次产生缺陷块时分配的替代块的地址以及被置换的缺陷块的地址,作为第一管理信息。
5.按照权利要求1所述的管理设备,其中
包括所述多个虚拟块的虚拟区域被分成作为用于保存用户数据的物理块的用户数据块、扩展块、作为数据已被擦除的物理块的空闲块以及作为用于保存第二管理信息的物理块的第二管理块,
所述管理单元根据以虚拟块大小为单位分割用户数据的地址空间而获得的逻辑块来管理用户数据,
所述管理单元把指示逻辑块和虚拟块之间的对应关系的第一变换信息以及指示扩展块的信息作为第二管理信息写入第二管理块中,以及
所述管理单元利用第二管理信息管理虚拟块。
6.按照权利要求5所述的管理设备,其中
所述管理单元写入如下信息作为第二管理信息:第一变换信息;作为指示扩展块的信息的、被分配为扩展块的虚拟块的地址;空闲块的地址;接下来被写入数据的虚拟块的地址以及待擦除的虚拟块的地址,
当第二管理信息向第二管理块的写入完成时,所述管理单元在第二管理块上设定第二完成信息,第二完成信息指示第二管理信息的写入已完成,以及
所述管理单元根据第二管理信息中的待擦除的虚拟块的地址,擦除对应的虚拟块。
7.按照权利要求5所述的管理设备,其中当所述管理单元在第二管理块已具有保存于其中的第二管理信息的情况下写入第二管理信息时,所管理单元把差异信息写入第二管理块中,差异信息指示保存的第二管理信息和要新写入的第二管理信息之间的差异。
8.按照权利要求5所述的管理设备,其中
扩展块被分成高速缓存块、第一中间块、第二中间块和第三管理块,其中高速缓存块是用于在用户数据被保存到用户数据块中之前临时保存用户数据的物理块,第一中间块是用于回写处理的中间物理块,回写处理是把保存在高速缓存块中的用户数据写入用户数据块的处理,第二中间块是用于静态耗损均衡处理的中间物理块,第三管理块是用于保存第三管理信息的物理块,
所述管理单元把指示逻辑块和高速缓存块之间的对应关系的第二变换信息和指示高速缓存块、第一中间块和第二中间块中的每一个的信息作为第三管理信息写入第三管理块中,以及
所述管理单元利用第三管理信息管理扩展块。
9.按照权利要求8所述的管理设备,其中
所述管理单元把逻辑块和高速缓存块中的每一个分割成平移单元,每个平移单元大于或等于所述非易失性存储器的最小写入大小,并小于虚拟块大小,以及
所述管理单元还把指示逻辑块的平移单元和高速缓存块的平移单元之间的对应关系的第三变换信息作为第三管理信息写入所述非易失性存储器中。
10.按照权利要求8所述的管理设备,其中
当第三管理信息向第三管理块的写入完成时,所述管理单元在第三管理块上设定第三完成信息,第三完成信息指示第三管理信息的写入已完成,
根据第三管理信息的第二变换信息,所述管理单元判定正在使用的高速缓存块的数目是否达到预定数目,以及
在判定正在使用的高速缓存块的数目达到预定数目时,所述管理单元对与更新频度低的逻辑块对应的高速缓存块中的用户数据进行回写处理。
11.按照权利要求10所述的管理设备,其中所述管理单元:
利用最近最少使用LRU控制,选择要进行回写处理的高速缓存块,或者
以逻辑块为单位,分割待写入的用户数据,保存在每个逻辑块中进行的写入的次数,并选择与按照逻辑块为单位进行的写入次数最小的逻辑块对应的高速缓存块作为要进行回写处理的高速缓存块。
12.根据权利要求8所述的管理设备,其中当在所述管理单元把数据写入扩展块的时候产生差错时,
所述管理单元保存已被写入到产生了差错的扩展块中的数据,
所述管理单元根据要在下次写入数据的虚拟块的地址的信息,连续地把数据写入对应的虚拟块中,该信息被记录在第二管理信息中,以及
所述管理单元利用已被写入到产生了差错的扩展块中的数据以及被连续写入虚拟块的数据来进行回写处理。
13.根据权利要求5所述的管理设备,其中在虚拟区域中,构成扩展块的物理块的数目大于构成用户数据块的物理块的数目。
14.根据权利要求8所述的管理设备,其中所述管理单元按照连续逻辑地址的顺序写入要写入到扩展块中的用户数据。
15.根据权利要求5所述的管理设备,其中
所述管理单元通过把物理块分成多个虚拟区域和对应于虚拟区域的多个替代区域,管理构成所述非易失性存储器的多个物理块,
当开始所述非易失性存储器的管理时,所述管理单元读取保存在特定虚拟区域中的第二管理信息,以及
所述管理单元根据记录在读取的第二管理信息中的、指示与每个其它的虚拟区域对应的第二管理信息的保存地点的信息,读取对应于每个其它的虚拟区域的第二管理信息。
16.根据权利要求8所述的管理设备,其中当所述管理单元开始所述非易失性存储器的管理时,
所述管理单元从所述非易失性存储器读取第一管理信息、第二管理信息和第三管理信息,
所述管理单元通过以下写入错误判定中的每一个来判定写入错误:基于读取的第一管理信息进行的写入错误判定、基于读取的第二管理信息进行的写入错误判定及基于读取的第三管理信息和扩展块中的最后被写页地址进行的写入错误判定,以及
当判定发生了写入错误时,所述管理单元使正被处理的、与中断的写入或擦除对应的数据无效,然后使所述非易失性存储器恢复到处理前的状态。
17.根据权利要求1所述的管理设备,其中
当管理单个非易失性存储器时,所述管理单元使单个虚拟块与多个物理块相关联,以及
当管理相同种类的多个非易失性存储器时,所述管理单元使单个虚拟块与相应非易失性存储器中的对应物理块相关联。
18.根据权利要求1所述的管理设备,还包括记录介质,与往来于所述非易失性存储器的数据写入和读取相比,往来于所述记录介质的数据写入和读取的速度更快,其中
当开始所述非易失性存储器的管理时,所述管理单元从所述非易失性存储器读取保存在所述非易失性存储器中的管理信息,并把读取的管理信息记录在所述记录介质上,以及
所述管理单元根据记录在所述记录介质上的管理信息管理所述非易失性存储器。
19.根据权利要求1所述的管理设备,还包括所述非易失性存储器。
20.一种管理方法,包括管理非易失性存储器,所述非易失性存储器被配置成允许写入、读取或电擦除数据,允许以页为单位进行写入和读取,以及允许以包括多个页的块为单位进行擦除,其中管理步骤包括:
把构成所述非易失性存储器的多个物理块分成包括对应于物理块的虚拟块的虚拟区域,和包括替代块的替代区域,替代块用于置换包括在虚拟区域中的物理块之中的缺陷物理块,
用三级管理单元管理所述非易失性存储器,所述三级包括物理块的管理,虚拟块的管理和扩展块的管理,扩展块是包括在虚拟区域中的物理块之中,用于临时保存用户数据的物理块,以及
把用于管理物理块的第一管理信息、用于管理虚拟块的第二管理信息以及用于管理扩展块的第三管理信息写入所述非易失性存储器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011-032110 | 2011-02-17 | ||
JP2011032110A JP2012173778A (ja) | 2011-02-17 | 2011-02-17 | 管理装置、および管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102693185A true CN102693185A (zh) | 2012-09-26 |
Family
ID=46653708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100303787A Pending CN102693185A (zh) | 2011-02-17 | 2012-02-10 | 管理设备和管理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20120215964A1 (zh) |
JP (1) | JP2012173778A (zh) |
CN (1) | CN102693185A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293530A (zh) * | 2016-08-09 | 2017-01-04 | 深圳市先天海量信息技术有限公司 | 一种数据写入方法和装置 |
CN116185282A (zh) * | 2022-12-20 | 2023-05-30 | 珠海妙存科技有限公司 | 一种闪存虚拟块的分段擦除方法及系统 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9442840B2 (en) * | 2012-12-19 | 2016-09-13 | Qualcomm Incorporated | Virtual boundary codes in a data image of a read-write memory device |
US10061710B2 (en) | 2014-01-29 | 2018-08-28 | Hitachi, Ltd. | Storage device |
US9378810B2 (en) | 2014-02-11 | 2016-06-28 | Seagate Technology Llc | Systems and methods for last written page handling in a memory device |
KR20150138528A (ko) * | 2014-05-29 | 2015-12-10 | 삼성전자주식회사 | 플래시 메모리를 기반으로 하는 스토리지 시스템 및 그것의 동작 방법 |
KR101963629B1 (ko) * | 2016-07-07 | 2019-03-29 | 고려대학교 산학협력단 | 메모리 관리 시스템 및 그 방법 |
KR101884913B1 (ko) * | 2016-08-09 | 2018-08-02 | 고려대학교 산학협력단 | 별도의 가상 영역으로 관리되는 복수의 정보 저장 테이블을 가지는 메모리 장치 및 그의 제어 방법 |
JP6880769B2 (ja) | 2017-01-24 | 2021-06-02 | 富士通株式会社 | 情報処理装置,制御プログラムおよび情報処理方法 |
JP6579149B2 (ja) * | 2017-04-20 | 2019-09-25 | 富士通株式会社 | ストレージ制御装置、及びストレージ制御プログラム |
US10657069B2 (en) * | 2017-05-15 | 2020-05-19 | Seagate Technology Llc | Fine-grained cache operations on data volumes |
JP2022147448A (ja) * | 2021-03-23 | 2022-10-06 | キオクシア株式会社 | メモリシステム及びデータ管理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101099125A (zh) * | 2004-12-16 | 2008-01-02 | 桑迪士克股份有限公司 | 群集的自动对准 |
CN101169751A (zh) * | 2006-10-25 | 2008-04-30 | 三星电子株式会社 | 具有闪存设备的系统及其数据恢复方法 |
CN101387987A (zh) * | 2007-09-12 | 2009-03-18 | 索尼株式会社 | 存储器装置、存储器控制方法和程序 |
US20100082887A1 (en) * | 2008-09-30 | 2010-04-01 | Tdk Corporation | Memory controller, flash memory system with memory controller, and method of controlling flash memory |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002032256A (ja) * | 2000-07-19 | 2002-01-31 | Matsushita Electric Ind Co Ltd | 端末装置 |
JP2005128894A (ja) * | 2003-10-24 | 2005-05-19 | Sanyo Electric Co Ltd | 不揮発性メモリ書き換え装置 |
KR100608592B1 (ko) * | 2004-01-27 | 2006-08-03 | 삼성전자주식회사 | 플래시 메모리의 데이터 관리 장치 및 방법 |
CN101048821B (zh) * | 2004-10-25 | 2010-11-03 | 皇家飞利浦电子股份有限公司 | 用于蓝光光盘的错误校正方案 |
JP4151644B2 (ja) * | 2004-11-29 | 2008-09-17 | 松下電器産業株式会社 | メモリカードドライブ |
JP2008090876A (ja) * | 2006-09-29 | 2008-04-17 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP4535117B2 (ja) * | 2007-11-06 | 2010-09-01 | ソニー株式会社 | メモリ装置、メモリ管理方法、およびプログラム |
EP2077559B1 (en) * | 2007-12-27 | 2012-11-07 | Hagiwara Solutions Co., Ltd. | Refresh method of a flash memory |
JP4710918B2 (ja) * | 2008-02-20 | 2011-06-29 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP5577238B2 (ja) * | 2008-02-29 | 2014-08-20 | パナソニック株式会社 | アクセス装置、情報記録装置、コントローラ、及び情報記録システム |
JP4649503B2 (ja) * | 2008-08-13 | 2011-03-09 | 株式会社東芝 | 半導体装置 |
EP2369586A1 (en) * | 2008-12-22 | 2011-09-28 | Panasonic Corporation | Information recording medium, information recording device, information recording method, information reproducing device, and information reproducing method |
JP4952740B2 (ja) * | 2009-04-13 | 2012-06-13 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
US8521961B2 (en) * | 2009-08-20 | 2013-08-27 | International Business Machines Corporation | Checkpointing in speculative versioning caches |
TWI484334B (zh) * | 2009-12-24 | 2015-05-11 | Univ Nat Taiwan | 非揮發記憶體的區域式管理方法 |
US20110161597A1 (en) * | 2009-12-30 | 2011-06-30 | International Business Machines Corporation | Combined Memory Including a Logical Partition in a Storage Memory Accessed Through an IO Controller |
-
2011
- 2011-02-17 JP JP2011032110A patent/JP2012173778A/ja active Pending
-
2012
- 2012-01-25 US US13/357,873 patent/US20120215964A1/en not_active Abandoned
- 2012-02-10 CN CN2012100303787A patent/CN102693185A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101099125A (zh) * | 2004-12-16 | 2008-01-02 | 桑迪士克股份有限公司 | 群集的自动对准 |
CN101169751A (zh) * | 2006-10-25 | 2008-04-30 | 三星电子株式会社 | 具有闪存设备的系统及其数据恢复方法 |
CN101387987A (zh) * | 2007-09-12 | 2009-03-18 | 索尼株式会社 | 存储器装置、存储器控制方法和程序 |
US20100082887A1 (en) * | 2008-09-30 | 2010-04-01 | Tdk Corporation | Memory controller, flash memory system with memory controller, and method of controlling flash memory |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293530A (zh) * | 2016-08-09 | 2017-01-04 | 深圳市先天海量信息技术有限公司 | 一种数据写入方法和装置 |
CN106293530B (zh) * | 2016-08-09 | 2019-05-21 | 深圳市先天海量信息技术有限公司 | 一种数据写入方法和装置 |
CN116185282A (zh) * | 2022-12-20 | 2023-05-30 | 珠海妙存科技有限公司 | 一种闪存虚拟块的分段擦除方法及系统 |
CN116185282B (zh) * | 2022-12-20 | 2023-10-13 | 珠海妙存科技有限公司 | 一种闪存虚拟块的分段擦除方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
JP2012173778A (ja) | 2012-09-10 |
US20120215964A1 (en) | 2012-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102693185A (zh) | 管理设备和管理方法 | |
US7444460B2 (en) | Data storage device, method for updating management information in data storage device, and computer program | |
US6385690B1 (en) | Recording method, managing method, and recording apparatus | |
CN100533378C (zh) | 信息处理装置和方法、存储器管理装置和方法 | |
CN102831070B (zh) | 用于存储器装置的存储地址重新映射的方法和系统 | |
CN107102819B (zh) | 向固态硬盘写入数据的方法及设备 | |
US10310739B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
CN101719100B (zh) | 用于非易失性存储器的基于压缩的耗损均衡 | |
US9058296B2 (en) | Data processing method, memory storage device and memory control circuit unit | |
CN103425597A (zh) | 数据储存装置和快闪存储器的区块管理方法 | |
CN101124556A (zh) | 具有用于高速暂存器和更新区块的改进索引的非易失性存储器和方法 | |
US20080062775A1 (en) | Fusion memory device and method | |
KR20090002839A (ko) | 플래시 메모리를 위한 색인 스킴 | |
CN102770841A (zh) | 用于产生最小引导映像的方法和装置 | |
CN102169461A (zh) | 存储器系统 | |
CN108733577B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN105191144A (zh) | 压缩装置、压缩方法、解压装置、解压方法以及信息处理系统 | |
US20190324904A1 (en) | Trim command recording method, memory control circuit unit and memory storage device | |
US10289546B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
US20180276067A1 (en) | Data protecting method and memory storage device | |
CN107102951B (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
CN106445397B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
KR20050062638A (ko) | 공통의 논리적 블록과 연관된 물리적 블록들을 결정하기위한 방법 및 장치 | |
CN107122308A (zh) | 平均磨损方法、内存控制电路单元及内存储存装置 | |
CN102467459B (zh) | 数据写入方法、存储器控制器与存储器储存装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120926 |