CN102591786A - 管理设备,管理方法和程序 - Google Patents

管理设备,管理方法和程序 Download PDF

Info

Publication number
CN102591786A
CN102591786A CN2011104209012A CN201110420901A CN102591786A CN 102591786 A CN102591786 A CN 102591786A CN 2011104209012 A CN2011104209012 A CN 2011104209012A CN 201110420901 A CN201110420901 A CN 201110420901A CN 102591786 A CN102591786 A CN 102591786A
Authority
CN
China
Prior art keywords
translation unit
piece
physical translation
write
merging
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.)
Granted
Application number
CN2011104209012A
Other languages
English (en)
Other versions
CN102591786B (zh
Inventor
佐伯修祐
不殿健治
金子畅宏
长滨弘树
山本和典
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN102591786A publication Critical patent/CN102591786A/zh
Application granted granted Critical
Publication of CN102591786B publication Critical patent/CN102591786B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种管理设备,管理方法和程序。管理设备包括管理部分。所述管理部分通过基于每个平移单元,把逻辑地址变换成物理地址,来管理其中能够电写入、读取和擦除数据的非易失性存储器中的数据的写入、读取和擦除,所述写入和读取是逐页进行的,所述擦除是逐块进行的;和通过把块的内容之中,写入有效物理平移单元的数据复制到其中存在未写入物理平移单元的块,然后通过擦除复制源块,来进行使未写入物理平移单元的个数增加包含在复制源块中包括的写入无效物理平移单元的数目的合并处理。

Description

管理设备,管理方法和程序
技术领域
本公开涉及管理设备,管理方法和程序。
背景技术
最近,其中能够电写入、读取和擦除数据的非易失性存储器,比如NAND闪速存储器的容量不断增大。这里,在类似NAND闪速存储器的非易失性存储器中,通过单向地把每个比特从“1”重写为“0”,进行写入。因此,当在非易失性存储器中新写入数据时,必须临时进行擦除,以把所有比特改变成“1”,随后进行写入。此外,在非易失性存储器中,数据读/写的最小单元是“页”,最小擦除单元是其中集中多个页的“块”。如上所述,作为最小擦除单元的“块”的大小比作为最小写入单元的“页”的大小大数十倍。从而,为了进一步有效地在非易失性存储器中进行数据的重写,必需某种结构。
在这种情况下,提出了一种提高非易失性存储器中的数据重写的效率的技术。例如,日本未经审查的专利申请公开No.2009-116601公开一种通过基于大小等于块的大小的1/n(n是整数),和页的大小的整数倍的每个平移单元,把逻辑地址变换成物理地址来管理对非易失性存储器的访问,以及通过把块的内容之中的使用中物理平移单元复制到其中存在独立的未用物理平移单元的块,然后通过擦除初始块,使未用物理平移单元的个数新增包含在初始块中的无效物理平移单元的数目的技术。
发明内容
在提高非易失性存储器中的数据重写的效率的现有技术(下面简称为“现有技术”)中,复制非易失性存储器中的物理平移单元的数据,然后擦除对应块(复制源块)。因而,当使用该现有技术时,在块中,由于写入的无效物理平移单元(其中写入无效数据的物理平移单元)的数目较大,因此能够增大其中能够写入数据的自由空间。
这里,例如,从使用非易失性存储器作为数据记录介质的用户(下面称为“用户”)的观点看,有效地确保自由空间有助于提高非易失性存储器中的数据重写的性能,和增大诸如NAND闪速存储器之类的非易失性存储器的寿命。不过,在现有技术中,没有考虑确保自由空间时的效率的提高。
鉴于上述问题,做出了本公开,理想的是提供一种能够提高确保非易失性存储器中的自由空间的效率的新的改进管理设备,管理方法和程序。
按照本公开的第一实施例,提供一种管理设备,所述管理设备包括管理部分。管理部分通过基于每个平移单元,把逻辑地址变换成物理地址,来管理其中能够电写入、读取和擦除数据的非易失性存储器中的数据的写入、读取和擦除,所述写入和读取是逐页进行的,所述擦除是逐块进行的,每个块包括多个页,所述平移单元具有等于块的大小的1/n、并且为页的大小的整数倍的大小,其中n是整数。另外,管理部分通过把块的内容之中,写入有效物理平移单元的数据复制到其中存在未写入物理平移单元的块,然后通过擦除复制源块,来进行使未写入物理平移单元的个数增加复制源块中包括的写入无效物理平移单元的数目的合并处理。当开始合并处理时,管理部分把写入有效物理平移单元的数据复制到其中存在未写入物理平移单元的各个块之中,起始的物理平移单元未被写入的块中,并重复合并处理,直到通过所述合并处理增加的未写入物理平移单元的大小等于或大于块的大小为止。
借助这种结构,能够提高确保非易失性存储器中的自由空间时的效率。
此外,在进行合并处理之后,当通过合并处理增加的未写入物理平移单元的大小不能被块的大小整除时,管理部分通过合并处理,按照与未写入物理平移单元的未被块大小整除的余量对应的大小来复制写入有效物理平移单元的数据。
此外,管理设备还可包括判定用于在管理部分中开始合并处理的开始条件是否被满足的判定部分。当判定部分判定开始条件被满足时,管理部分可有选择地进行合并处理。
此外,判定部分可按照如下的开始条件进行判定:由管理部分最近写入的数据的写入位置是块中的最后的物理平移单元,并且正在被写入数据的块的数目大于预定阈值,或者不小于所述阈值。
另外,判定部分可按照如下的开始条件进行判定,在非易失性存储器中不进行数据的写入、读取和擦除。
此外,判定部分可按照如下的开始条件进行判定,由管理部分最近写入的数据的写入位置是块中的最后的物理平移单元,并且不包含写入数据的块的数目小于预定阈值,或者不大于所述阈值。
此外,即使当通过合并处理增加的未写入物理平移单元的大小等于或大于块的大小时,管理部分也可不停止合并处理,而是重复合并处理,直到未写入物理平移单元的大小等于或大于块的大小的预定整数倍为止。
另外,管理部分可选择非易失性存储器中的各个块之中,写入无效物理平移单元的数目多的一个块作为合并处理中的复制源块。
此外,当进行合并处理时,管理部分可以使包括如下的物理平移单元的块不经历所述合并处理:该物理平移单元对应于包含在进行最近一次写入之前的最近写入数据的逻辑平移单元。
此外,当进行合并处理时,管理部分可按照分别分配给物理平移单元的编号的升序,复制块内的写入有效物理平移单元的数据。
另外,当进行合并处理时,管理部分可按照分别分配给与写入有效物理平移单元分别对应的逻辑平移单元的编号的升序,复制块内的写入有效物理平移单元的数据。
此外,当进行合并处理时,管理部分可把所有块中的写入有效物理平移单元指定为反复进行的合并处理中的复制源,可按照分别分配给与指定的物理平移单元分别对应的逻辑平移单元的编号的升序,复制指定的物理平移单元的数据。
管理设备还可包括非易失性存储器。
按照本公开的第二实施例,提供一种管理方法,包括下述步骤:通过基于每个平移单元,把逻辑地址变换成物理地址,来管理其中能够电写入、读取和擦除数据的非易失性存储器中的数据的写入、读取和擦除,所述写入和读取是逐页进行的,所述擦除是逐块进行的,每个块包括多个页,所述平移单元具有等于块的大小的1/n、并且为页的大小的整数倍的大小,其中n是整数;和判定开始条件是否被满足,其中所述开始条件用于开始合并处理,所述合并处理通过把块的内容之中,写入有效物理平移单元的数据复制到其中存在未写入物理平移单元的块,然后通过擦除复制源块,使未写入物理平移单元的个数增加包含在复制源块中包括的写入无效物理平移单元的数目。在写入、读取和擦除的管理中,如果判定开始条件被满足,那么有选择地进行合并处理。当开始合并处理时,写入有效物理平移单元的数据被复制到其中存在未写入物理平移单元的各个块中,起始的物理平移单元未被写入的块中,并重复合并处理,直到通过合并处理增加的未写入物理平移单元的大小等于或大于块的大小为止。
通过使用这种方法,能够提高确保非易失性存储器中的自由空间时的效率。
按照本公开的第三实施例,提供一种使计算机起管理装置作用的程序,所述管理装置用于:通过基于每个平移单元,把逻辑地址变换成物理地址,来管理其中能够电写入、读取和擦除数据的非易失性存储器中的数据的写入、读取和擦除,所述写入和读取是逐页进行的,所述擦除是逐块进行的,每个块包括多个页,所述平移单元具有等于块的大小的1/n、并且为页的大小的整数倍的大小,其中n是整数;和通过把块的内容之中,写入有效物理平移单元的数据复制到其中存在未写入物理平移单元的块,然后通过擦除复制源块,来进行使未写入物理平移单元的个数增加包含在复制源块中包括的写入无效物理平移单元的数目的合并处理。当开始合并处理时,管理部分把写入有效物理平移单元的数据复制到其中存在未写入物理平移单元的各个块之中,起始的物理平移单元未被写入的块中,并重复合并处理,直到通过合并处理增加的未写入物理平移单元的大小等于或大于块的大小为止。
通过使用这种程序,能够提高确保非易失性存储器中的自由空间时的效率。
按照本公开的实施例,能够提高确保非易失性存储器中的自由空间时的效率。
附图说明
图1是图解说明非易失性存储器中的前提的说明图;
图2是图解说明非易失性存储器中的前提的说明图;
图3是图解说明现有技术的问题的说明图;
图4是图解说明现有技术的问题的说明图;
图5A-5C是图解说明现有技术的问题的说明图;
图6A-6H是图解说明现有技术的问题的说明图;
图7是图解说明当按照本公开的实施例的管理设备开始合并(fold)处理时,在非易失性存储器中写入数据的序列的说明图;
图8A-8G是图解说明按照本公开的实施例的管理设备中的多次合并(multi-fold)处理的例子的说明图;
图9A-9D是图解说明按照本公开的实施例的管理设备中的多次合并处理的另一个例子的说明图;
图10A-10C是图解说明按照本公开的实施例的管理设备中的多次合并处理的另一个例子的说明图;
图11A-11H是图解说明按照本公开的实施例的管理设备中的多次合并处理的另一个例子的说明图;
图12是图解说明与按照本公开的实施例的管理方法相关的处理的例子的流程图;
图13是图解说明按照本公开的实施例的数据写入处理的例子的流程图;
图14是图解说明按照本公开的实施例的多次合并处理的例子的流程图;
图15是图解说明按照本公开的实施例的第一多次合并处理的例子的流程图;
图16是图解说明按照本公开的实施例的合并处理的例子的流程图;
图17是图解说明按照本公开的实施例的第二多次合并处理的例子的流程图;
图18是图解说明按照本公开的实施例的管理设备的结构的例子的方框图;
图19是图解说明按照本公开的实施例的管理设备的硬件结构的例子的说明图。
具体实施方式
下面参考附图,详细说明本公开的优选实施例。此外,在说明书和附图中,功能和结构基本相同的组件用相同的附图标记表示,这些组件的重复说明被省略。
此外,下面将按照下述顺序进行说明。
1.按照本公开的实施例的管理方法
2.按照本公开的实施例的管理设备
3.按照本公开的实施例的程序
1.按照本公开的实施例的管理方法
在说明按照本公开的实施例的管理设备(下面称为“管理设备100”)的结构之前,将说明按照本公开的实施例的管理非易失性存储器的方法。在下面的说明中,管理设备100执行与按照本公开的实施例的管理方法相关的处理。此外,下面将以服从按照本公开的实施例的管理设备100的管理的非易失性存储器是NAND闪速存储器的情况为例子进行说明。另外,不用说,服从按照本公开的实施例的管理设备100的管理的非易失性存储器并不局限于NAND闪速存储器。
前提
在说明与按照本公开的实施例的管理方法相关的处理之前,将说明服从管理设备100的管理的非易失性存储器中的前提。
图1和2是图解说明非易失性存储器中的前提的说明图。如图1中所示,非易失性存储器被配置成使得数据的读/写的最小单元是“页”,而最小擦除单元是由多个页形成的“块”。
此外,在非易失性存储器中,存在其中不能记录数据的块(不可用块),这在制造等阶段被称为“缺陷块”。从而,管理设备100必须在不使用非易失性存储器中的缺陷块的情况下读/写数据。
此外,在非易失性存储器的每个块中,向包含在每个块中的多个页分配编号(用于识别页的编号)。从而,在诸如NAND闪速存储器之类的多数非易失性存储器中,如图2的A中所示,按照对应编号的升序写入数据。另外,在诸如NAND闪速存储器之类的多数非易失性存储器中,如图2的B中所示,禁止按照随机顺序把数据写入页中。
此外,在非易失性存储器的每个块中,重写操作的次数有限(所谓的寿命)。从而,为了提高非易失性存储器的寿命,必须防止重写操作偏向特定块。
非易失性存储器可具有例如上述特性。在这种情况下,为了不对用户造成不便,最好避免用户知道缺陷块或擦除处理。从而,非易失性存储器的管理使用逻辑-物理变换层,所述逻辑-物理变换层分析来自利用非易失性存储器的系统(例如,文件系统)的请求,并把所述请求变换成关于非易失性存储器的操作,比如写入操作或读取操作的命令。
现有技术的问题
下面,更详细地说明现有技术的问题。图3-6H是图解说明现有技术的问题的说明图。
如上所述,在现有技术中,在平移单元(下面称为“TU”)中进行逻辑地址-物理地址变换,每个平移单元是比小于块的大小的单元。这里,如图3中所示,平移单元的大小等于块大小的1/n(n是整数),并且等于页大小的整数倍。即,块包括多个平移单元,每个平移单元包括多个页。
此外,在现有技术中,平移单元被分成下述两类:非易失性存储器中的实际平移单元(下面称为“物理平移单元”或者“物理TU”);和经历地址变换,并被提供给利用非易失性存储器的系统的平移单元(下面称为“逻辑平移单元”,“逻辑TU”或者“LTU”)。借助这种结构,在现有技术中,能够灵活地设定数据的读/写大小,例如,能够使文件系统中的读/写单元与平移单元一致。
此外,在现有技术中,如图4中所示,通过把数据另外记录在其中未记录数据的物理平移单元中来重写所述数据。更具体地说,其中记录重写之前的数据的物理平移单元P1被更新,从而变成无效(图4的C),待重写的新数据被写入其中未记录数据的物理平移单元P2中(图4的D),从而完成数据的重写。按照这种方式,在非易失性存储器中,如图4的物理平移单元P4中所示,存在处于记录有最新数据的状态的物理平移单元(下面称为“写入有效物理平移单元”),和处于记录有作为擦除目标的陈旧数据的状态的物理平移单元(下面称为“写入无效物理平移单元”)。
在下面的说明中,在物理平移单元中,其中记录有最新数据的状态被称为“INUSE”,其中记录有作为擦除目标的陈旧数据的状态被称为“DIRTY”。此外,在下面的说明中,其中未记录数据的物理平移单元被称为“未写入物理平移单元”,物理平移单元中,擦除之后(或者开始时)未记录数据的状态被称为“CLEAN”。
如上所述,诸如NAND闪速存储器之类的非易失性存储器只能够逐块擦除数据。从而,即使当在构成块的某些物理平移单元中,存在例如用图4的物理平移单元P1表示的“写入无效物理平移单元”时,“写入有效物理平移单元”会存在于对应块中。在这种情况下,难以进行所述擦除。因而,当反复写入数据时,非易失性存储器中的“写入无效物理平移单元”的数目增加,其中能够写入数据的物理平移单元(例如,CLEAN物理平移单元)的数目减小。即,当反复写入数据时,非易失性存储器中的自由空间减少。
于是,在现有技术中,为了通过增大其中能够写入数据的物理平移单元的数目以确保非易失性存储器中的自由空间,进行合并(fold)处理。在此,合并处理被定义为通过把块的内容之中的写入有效物理平移单元的数据复制到其中存在未写入物理平移单元的块中,然后擦除复制源块,来把未写入物理平移单元的个数增加复制源块中所包括的写入无效物理平移单元的数目的处理。
图5A-5C表示合并处理的概况。图5A表示在合并处理之前的块B1和B2的状态,图5B表示在合并处理期间的块B1和B2的状态。另外,图5C表示在合并处理之后的块B1和B2的状态。在合并处理中,复制源块B1的“写入有效物理平移单元”被复制到复制目的地块B2,复制的物理平移单元被更新为“写入无效物理平移单元”(图5B)。随后,在合并处理中,复制源块B1被擦除(图5C)。如图5A-5C中所示,可发现通过合并处理,“未写入物理平移单元”的数目增大。因而,通过合并处理,能够增大非易失性存储器中的自由空间。
在现有技术中,例如,在写入非易失性存储器数据之后,当其中记录数据的块(包括INUSE或DIRTY物理平移单元的块,下面称为“使用中的块”)的总数超过阈值(或者等于或大于阈值)时,进行一次合并处理。因而,在利用现有技术的情况下,能够增大非易失性存储器中的自由空间。不过,在现有技术中,没有考虑确保自由空间时的效率的提高,从而难以有效地确保非易失性存储器的自由空间。
图6A-6H表示按照现有技术的合并处理的例子,按照时间先后顺序表示非易失性存储器的各个块的相应状态。这里,图6A-6H表示当使用中的块的数目大于6(阈值的一个例子)时(开始条件)进行合并处理,并且当进行一次合并处理时(停止条件)终止所述合并处理的情况。在下面的说明中,按照现有技术的管理设备(下面称为“现有管理设备10”)执行图6A-6H中所示的处理。
在图6A的状态下,当LTU 3被重写时(图6B),开始条件被满足,从而现有管理设备10执行合并处理(图6C)。由于通过执行合并处理,满足了停止条件,因此,现有处理设备10不再执行合并处理,直到开始条件再次被满足为止。
此外,在图6C的状态下,当LTU 4被写入时(图6D),现有管理设备10判定开始条件是否被满足。在图6D的状态下,开始条件未被满足,从而现有管理设备10不进行合并处理。
在图6D的状态下,当LTU 8被重写时(图6E),开始条件被满足,从而现有管理设备10进行合并处理(图6F)。由于通过执行合并处理,满足了停止条件,因此,现有处理设备10不再执行合并处理,直到开始条件再次被满足为止。
随后,在图6F的状态下,当LTU 9被重写时(图6G),开始条件被满足,从而现有管理设备10进行合并处理(图6H)。由于通过执行合并处理,满足了停止条件,因此,现有处理设备10不再执行合并处理,直到开始条件再次被满足为止。
如图6A-6H中所示,每当开始条件被满足时,现有管理设备10就进行一次合并处理。根据该结果,如图6H中所示,重写的LTU 3,LTU4,LTU8和LTU 9被写入,从而分布在多个块中。这里,使用非易失性存储器的系统可以是例如诸如FAT(文件分配表)系统之类的文件系统。这种情况下,当按照某些逻辑平移单元的访问模式(重写序列)进行重写时,在将来按照和对应访问模式相同的访问模式进行重写的可能性高。此外,例如,在逻辑平移单元的大小等于FAT的簇的大小的情况下,所述可能性进一步增大。此外,按照本公开的实施例的文件系统并不局限于FAT,例如,可以是NTFS(NT文件系统),ext4(第4扩展文件系统)等等。
这里,例如,可按照和图6A-6H中所示的逻辑平移单元的访问模式相同的访问模式,在非易失性存储器中重写数据。在这种情况下,对应于图6H中所示的LTU 3,LTU4,LTU8和LTU 9的物理平移单元被转换成“写入无效物理平移单元”。
不过,如图6H中所示,LTU 3,LTU4,LTU8和LTU 9是按照将分布在多个块中的方式写入的。于是,难以预期非易失性存储器中存在包括许多“写入无效物理平移单元”的块。因而,当在不存在包括许多“写入无效物理平移单元”的块的情况下,即使进行合并处理,也难以充分确保非易失性存储器的自由空间。从而,即使使用现有技术,也很难说能够有效地确保非易失性存储器的自由空间。
按照本公开的实施例的管理方法的概述
类似于现有技术,按照本公开的实施例的管理设备100通过基于每个平移单元,把逻辑地址变换成物理地址,管理非易失性存储器中的数据的写入、读取和擦除。
此外,类似于现有技术,管理设备100通过进行合并处理,确保非易失性存储器的自由空间。不过,在现有技术中管理设备100进行一次合并处理,而根据本发明的技术方案,管理设备100反复进行合并处理,直到规定的停止条件被满足为止,从而提高确保非易失性存储器中的自由空间的效率。在下面的说明中,关于按照本公开的实施例的合并处理,能够反复进行的合并处理被称为“多次合并处理”。这里,例如,按照本公开的实施例的规定停止条件如下所示:“通过合并处理增大的未写入物理平移单元的大小等于或大于块大小”;或者“通过合并处理增大的未写入物理平移单元的大小等于或大于块大小的预定整数倍”。
此外,当开始合并处理时,管理设备100把写入有效物理平移单元的数据复制到其中存在未写入物理平移单元的各个块之中,第一个物理平移单元未被写入的块中。
图7是图解说明当按照本公开的实施例的管理设备100开始合并处理时,把数据写入非易失性存储器中的序列的说明图。管理设备100选择其中未记录数据的块,从对应块的第一个物理平移单元(分配的编号最小的物理平移单元)开始,顺序写入数据。随后,当完全写入构成作为数据被写入其中的写入目标的各个块(下面称为“写入目标块”或者“PTU块”)的所有物理平移单元时,管理设备100重新选择其中未记录数据的块,然后把数据写入对应块中。在下面的说明中,作为数据写入的目标的物理平移单元被称为“PTU”。此外,在下面的说明中,在进行数据写入的每个时刻,正在经历数据写入的物理平移单元被称为“当前写入目标物理平移单元”或者“写入目标PTU”。即,按照本公开的实施例的写入目标块被定义为包括当前写入目标物理平移单元的块。
更具体地说,例如,管理设备100进行下述处理(1)(判定开始条件的处理)和处理(2)(合并处理),从而提高确保非易失性存储器中的自由空间的效率。
(1)判定开始条件的处理
管理设备100判定开始合并处理的开始条件是否被满足。
这里,按照本公开的实施例的开始条件例如如下所示:最近写入数据的写入位置是块中的最后物理平移单元;和数据被写入的块的数目大于预定阈值(或者不小于预定阈值;其余与上面的相同)。作为开始条件之一,通过设定最新写入的数据的写入位置是块中的最后物理平移单元的条件,如图7中所示,管理设备100能够把“写入有效物理平移单元”的数据复制到所述块的第一个物理平移单元。此外,作为开始条件之一,通过设定数据被写入的块的数目大于预定阈值的条件,当非易失性存储器的自由空间小于某个值(或者不大于所述某个值)时,管理设备100能够确保自由空间。
此外,在管理设备100中,可以如下设定开始条件:最近写入数据的写入位置是块中的最后物理平移单元;和其中未写入数据的块的数目小于预定阈值(或者不大于预定阈值;其余与上面的相同)。作为开始条件之一,通过设定不包含写入数据的块的数目小于预定阈值的条件,例如,即使当由于非易失性存储器中的缺陷块的增加,而导致可记录数据的绝对容量减小时,也能够确保自由空间。
此外,按照本公开的实施例的开始条件并不局限于上面的描述。例如,在管理设备100中,其中结合上述两种开始条件的条件(上述两种条件的逻辑和)可被设定为开始条件。此外,管理设备100还可向上述相应开始条件中增加其中在非易失性存储器中不进行数据的写入、读取和擦除(换句话说,系统处于所谓的空闲状态)的条件。作为开始条件之一,通过设定其中在非易失性存储器中不写入、读取和擦除数据的条件,管理设备100能够防止同时进行写入、读取和擦除数据的处理和合并处理。因而,从用户的观点来看,管理设备100能够实现非易失性存储器中数据重写等的性能的提高。
(2)合并处理
如果通过处理(1)(判定开始条件的处理),判定开始条件被满足,那么管理设备100重复合并处理,直到例如通过合并处理增加的未写入物理平移单元的大小(总大小)等于或大于基于块大小的预定大小为止(多次合并处理)。
这里,处理(2)(合并处理)的停止条件的一个例子是“通过合并处理增加的未写入物理平移单元的大小(总大小)等于或大于基于块大小的预定大小”。此外,按照本公开的实施例的基于块大小的预定大小的例子包括块大小,或者等于块大小的整数倍的大小。例如,按照本公开的实施例的基于块大小的预定大小可以是预先规定的大小,和根据用户操作,恰当设定的大小。此外,按照本公开的实施例的大小用例如[Byte]和[KByte]表示,不过,按照本公开的实施例的大小并不局限于上面所述。
此外,在进行合并处理之后,管理设备100可判定通过合并处理增加的“未写入物理平移单元”的大小是否能被块大小整除。在进行所述判定的情况下,如果判定所述大小不能被整除,那么管理设备100通过合并处理,按照与未写入物理平移单元的不能被块大小整除的余量对应的大小来复制写入有效物理平移单元的数据。管理设备100根据上述判定结果,有选择地复制“写入有效物理平移单元”的数据,从而在处理(2)(合并处理)之后的非易失性存储器中,使最近写入数据的写入位置成为块中的最后物理平移单元。因而,通过根据上述判定结果,有选择地复制“写入有效物理平移单元”的数据,能够在块之间分离用户重写的数据和利用合并处理复制的数据。根据该结果,用户的访问模式被保存在块中。因而,通过根据上述判定结果,有选择地复制“写入有效物理平移单元”的数据,能够进一步有效地确保自由空间。
管理设备100重复合并处理,直到如上所述,停止条件被满足为止。这里,将说明按照本公开的实施例的管理设备100的合并处理。作为合并处理,管理设备100通过把块的内容之中的“写入有效物理平移单元”的数据复制到其中存在“未写入物理平移单元”的块,然后擦除复制源块,来执行使“未写入物理平移单元”的个数增加复制源块中所包含的“写入无效物理平移单元”的数目的处理。即,作为合并处理,管理设备100进行基本与现有技术相同的处理。
此外,管理设备100选择非易失性存储器中的各个块之中,其中“写入无效物理平移单元”的数目较大的块,作为合并处理中的复制源块。如上所述,通过选择合并处理中的复制源块,能够进一步增加在合并处理之后增加的“写入无效物理平移单元”的数目。于是,管理设备100能够进一步有效地确保非易失性存储器的自由空间。
此外,管理设备100中的块选择方法并不局限于上述方法。例如,当进行合并处理时,管理设备100可从合并处理目标中,排除包含有最近一次写入数据的逻辑平移单元在被进行最近一次写入之前所对应的物理平移单元的块。管理设备100如上所述排除特定块,随后进行块选择,从而能够进一步有效地确保非易失性存储器的自由空间。此外,利用上述选择方法的情况的效果将在后面说明。
此外,例如,当在非易失性存储器中存在具有最大数目的“写入无效物理平移单元”的多个块时,管理设备100可随机选择对应多个块中的一个块。如上所述,通过随机选择一个块,除了有效地确保非易失性存储器的自由空间之外,能够增大非易失性存储器的寿命。
管理设备100如上所述,例如选择合并处理中的复制源块,从而有效地确保非易失性存储器的自由空间。
此外,在管理设备100中,在进行合并处理的情况下,复制“写入有效物理平移单元”的数据项的序列如在下述项目(a)-(c)中所述。
(a)第一序列
管理设备100按照分别分配给物理平移单元的编号的升序,复制块中的“写入有效物理平移单元”的数据。即,管理设备100按照从块的第一个“写入有效物理平移单元”开始的顺序,复制数据。通过利用上述第一序列,例如,能够保持过去的逻辑平移单元的写入顺序。
(b)第二序列
管理设备100按照分别分配给与块内的“写入有效物理平移单元”对应的逻辑平移单元的编号的升序,复制所述块内的“写入有效物理平移单元”的数据。更具体地说,管理设备100按照分别分配给对应逻辑平移单元的编号的升序,对数据排序,并按照排序序列,复制与逻辑平移单元对应的“写入有效物理平移单元”。这里,例如,在FAT文件系统中,按照簇号的升序进行空簇的分配。因而,例如,当簇号与分配给逻辑平移单元的编号一致时,能够增大管理设备100能够向非易失性存储器的相同块分配相同文件的簇的可能性。
(c)第三序列
管理设备100把所有块中的“写入有效物理平移单元”指定为反复进行的合并处理(多次合并处理)中的复制源。这里,管理设备100通过例如,虚拟进行多次合并处理,进行所述指定。随后,管理设备100按照分别分配给与指定的物理平移单元分别对应的逻辑平移单元的编号的升序,复制指定的物理平移单元的数据。通过利用第三序列,与按照第二序列进行复制操作的情况相比,能够进一步提高管理设备100能够把相同文件的簇分配给非易失性存储器的相同块的可能性。
例如,管理设备100通过(a)-(c)中所示的序列,复制“写入有效物理平移单元”的数据。此外,复制按照本公开的实施例的“写入有效物理平移单元”的数据项的序列并不局限于上面所述。例如,管理设备100可按照任意序列,复制“写入有效物理平移单元”的数据。
管理设备100以处理(2)(合并处理)的形式,反复进行上面提及的合并处理(进行多次合并处理),直到停止条件被满足为止,从而确保非易失性存储器的自由空间。
例如,管理设备100进行处理(1)(判定开始条件的处理)和处理(2)(合并处理),从而提高确保非易失性存储器中的自由空间的效率。此外,在上面的说明中,管理设备100进行处理(1)(判定开始条件的处理),之后进行处理(2)(合并处理),不过,管理设备100中的处理并不局限于上面所述。例如,管理设备100可以进行处理(2)(合并处理),而不管处理(1)(判定开始条件的处理)的结果。例如,可根据从设置在管理设备100中的操作部分(后面说明)传送的操作信号,或者响应用户操作,从外部操作设备(图中未示出),比如遥控器发射的外部操作信号,进行处理(2)(多次合并处理)。
下面,说明管理设备100进行的多次合并处理的效果。图8A-8G是图解说明按照本公开的实施例的管理设备100中的多次合并处理的例子的说明图。这里,类似于图6A-6H,图8A-8G按照时间先后顺序,表示非易失性存储器的各个块的相应状态。此外,图8A-8G表示多次合并处理的开始条件是最近写入数据的写入位置是块中的最后物理平移单元,并且数据被写入的块(使用中的块)的数目等于或大于7(预定阈值的例子)的情况。此外,图8A-8G表示设定通过合并处理而增加的“未写入物理平移单元”的大小等于或大于块大小的条件,作为多次合并处理的停止条件的情况。
在图8A的状态下,当LTU 3被重写时(图8B),管理设备100判定开始条件是否被满足。在图8B的状态下,开始条件未被满足,从而管理设备100不进行合并处理。
在图8B的状态下,当LTU 4被重写时(图8C),管理设备100判定开始条件是否被满足。在图8C的状态下,开始条件未被满足,从而管理设备100不进行合并处理。
在图8C的状态下,当LTU 8被重写时(图8D),管理设备100判定开始条件是否被满足。在图8D的状态下,开始条件未被满足,从而管理设备100不进行合并处理。
在图8D的状态下,当LTU 9被重写时(图8E),管理设备100判定开始条件是否被满足。由于通过重写LTU 9,满足了开始条件,因此,管理设备100进行第一合并处理(图8F)。
当进行合并处理时,管理设备100判定停止条件是否被满足。在图8F的状态下,停止条件未被满足,从而管理设备100进行第二合并处理(图8G)。随后,管理设备100判定停止条件是否被满足。
在图8G的状态下,“未写入物理平移单元”的数目增大与单个块的大小对应的大小,从而,停止条件被满足。因而,管理设备100终止上述多次合并处理。
这里,从图8G可看出,通过进行多次合并处理,重写的LTU 3,LTU4,LTU 8和LTU 9被集中到相同块中。这里,当按照未来的逻辑平移单元的相同访问模式进行重写时,包含在经历重写的块中的物理平移单元被转换成“写入无效物理平移单元”。因而,与按照图6A-6H中所示的现有技术的合并处理相比,管理设备100能够进一步有效地确保非易失性存储器的自由空间。此外,在图8A-8G中所示的例子中,当按照未来的逻辑平移单元的相同访问模式进行重写时,管理设备100只须擦除其中进行重写的块。从而,从用户的观点来看,能够实现非易失性存储器中的数据重写等的性能的提高。
管理设备100进行例如图8A-8G中所示的多次合并处理,从而能够提高确保非易失性存储器中的自由空间的效率。
此外,按照本公开的实施例的管理设备100中的多次合并处理并不局限于图8A-8G中所示的例子。例如,当多次合并处理的停止条件被满足时,“未写入物理平移单元”的大小与块大小一致,不过,可以超过对应块大小。于是,下面,作为按照本公开的实施例的管理设备100中的多次合并处理的另一个例子,将说明下述情况:当多次合并处理的停止条件被满足时,增加的“未写入物理平移单元”的大小超过块大小。
图9A-9D是图解说明按照本公开的实施例的管理设备100中的多次合并处理的另一个例子的说明图。这里,图9A-9D表示当满足多次合并处理的停止条件被满足时,增加的“未写入物理平移单元”的大小超过块大小时的情况。此外,类似于图8A-8G,图9A-9D按照时间先后顺序,表示非易失性存储器的各个块的相应状态。此外,图9A-9D表示管理设备100在与图8A-8G的条件相同的开始条件和停止条件下,进行合并处理的例子。
在图9A的状态下,当LTU 12被重写时(图9B),管理设备100判定开始条件是否被满足。由于通过重写LTU 12,满足了开始条件,因此,管理设备100进行第一合并处理(图9B)。
在进行合并处理时,管理设备100判定停止条件是否被满足。在图9B的状态下,停止条件未被满足,从而,管理设备100进行第二合并处理(图9C)。随后,管理设备100判定停止条件是否被满足。
在图9C的状态下,随着其大小变得大于一个块的大小,“未写入物理平移单元”增大,从而停止条件被满足。此外,在图9C的状态下,与图8G的状态相反,通过合并处理增加的“未写入物理平移单元”的数目不能够被块大小整除。在上面的情况下,管理设备100通过合并处理,按照所增加的未写入物理平移单元中未被块大小整除部分所对应的余量(在图9C的例子中,单个的物理平移单元),来复制作为写入有效物理平移单元的LTU 0的数据(图9D)。
如图9D中所示,超过一个块的大小(基于块大小的预定大小的例子)的大小被填充以“写入有效物理平移单元”的数据,从而多次合并处理之后的非易失性存储器状态变成图8G中所示的状态。因而,在进行图9A-9D中所示处理的情况下,类似于图8A-8G中所示的多次合并处理,管理设备100能够提高确保非易失性存储器中的自由空间时的效率。此外,在未来进行的合并处理中,管理设备100只须擦除其中进行重写的块。从而,类似于图8A-8G中所示的多次合并处理,从用户的观点来看,能够实现非易失性存储器中的数据重写等的性能的提高。
此外,按照本公开的实施例的管理设备100中的多次合并处理并不局限于图8A-8G和图9A-9D中所示的例子。例如,当进一步进行合并处理时,管理设备100能够按照“未写入物理平移单元”的大小超过基于块大小的预定大小的停止条件,进行多次合并处理。
图10A-10C是图解说明按照本公开的实施例的管理设备100中的多次合并处理的另一个例子的说明图。此外,类似于图8A-8G,图10A-10C按照时间先后顺序,表示非易失性存储器的各个块的相应状态。此外,图10A-10C表示管理设备100在与图8A-8G的条件相同的开始条件下,进行合并处理的例子。
在图10A的状态下,当LTU 12被重写时(图10B),管理设备100判定开始条件是否被满足。由于通过重写LTU 12,满足了开始条件,因此管理设备100进行第一合并处理(图10B)。
当进行合并处理时,在进一步进行合并处理的情况下,管理设备100判定增加的“未写入物理平移单元”的大小是否超过块大小(停止条件的判定)。这里,例如,通过虚拟进行合并处理,管理设备100进行所述判定。这里,在图10B的状态下,当进行第二合并处理时,增加的“未写入物理平移单元”的大小超过块大小(图10C)。因而,当非易失性存储器处于图10B的状态时,管理设备100终止多次合并处理,而不执行第二合并处理。
管理设备100按照上述停止条件,进行多次合并处理,从而能够防止可写入的数据在随后被分割。因而,管理设备100按照上述停止条件,进行多次合并处理,从而从用户的观点来看,能够实现非易失性存储器中的数据重写等的性能的提高。
另外,按照本公开的实施例的管理设备100中的多次合并处理并不局限于图8A-10C中所示的例子。例如,如上所述,当进行合并处理时,管理设备100可从合并处理目标中,排除包括如下的物理平移单元的块:该物理平移单元对应于包括在进行最近一次写入之前的最近写入数据的逻辑平移单元。
图11A-11H是图解说明按照本公开的实施例的管理设备中的多次合并处理的另一个例子的说明图。这里,图11A-11H表示在排除特定块,随后选择一个块的情况下的处理的例子。此外,类似于图8A-8G,图11A-11H按照时间先后顺序,表示非易失性存储器的各个块的相应状态。此外,图11A-11H表示管理设备100在与图8A-8G的条件相同的开始条件和相同的停止条件下,进行合并处理的例子。另外,图11A-11H表示在下述情况下的处理的例子:(i)LTU 0~LTU 11的写入;(ii)LTU 13和LTU14的写入的中断;和(iii)LTU 0~LTU 11的重写。
图11A表示在LTU 0~LTU 11被写入之后(紧接在(i)之后)的非易失性存储器状态。此外,图11B表示在图11A的状态下,LTU 13和LTU 14被写入之后(紧接在(ii)之后)的非易失性存储器状态。
在图11B的状态下,当LTU 0和LTU 1被写入时(图11C),管理设备100判定开始条件是否被满足。由于通过重写LTU 0和LTU 1,满足了开始条件,因此管理设备100进行第一合并处理(图11D)。此时,管理设备100从合并处理目标中,排除包括如下物理平移单元的块,该物理平移单元对应于包括在进行最近一次写入之前的最近写入数据的逻辑平移单元(在图11A-11H的左端的块)。图11D表示从图11A-11H中的左端起的第4个块被选为合并处理目标的情况。
当进行第一合并处理时,管理设备100判定停止条件是否被满足。在图11D的状态下,停止条件不被满足,从而管理设备100进行第二合并处理(图11E)。此时,管理设备100从合并处理目标中,排除包括如下物理平移单元的块,该物理平移单元对应于包括在进行最近一次写入之前的最近写入数据的逻辑平移单元(在图11A-11H的左端的块)。图11E表示从图11A-11H中的左端起的第6个块被选为合并处理目标的情况。
当进行第二合并处理时,管理设备100判定停止条件是否被满足。在图11E的状态下,停止条件被满足,从而管理设备100终止多次合并处理。
随后,在图11E的状态下,当LTU 2和LTU 3被写入时(图11F),管理设备100判定开始条件是否被满足。在图11F的状态下,开始条件未被满足,从而管理设备100不进行合并处理。此外,在图11F中所示状态下,包含在位于图11A-11H中的左端的块中的所有物理平移单元被转换成“写入无效物理平移单元”。于是,管理设备100擦除位于图11A-11H中的左端的块(图11G)。
此外,在图11G的状态下,当LTU 4和LTU 5被写入时(图11H),管理设备100判定开始条件是否被满足。在图11H的状态下,开始条件未被满足,从而管理设备100不进行合并处理。
类似于图11F-11H,管理设备100还重写LTU 6~LTU 11。这里,如图11F-11H中所示,管理设备100进行擦除,而不进行LTU 2~LTU 5的写入操作中的合并处理,从而实现重写。因而,管理设备100从合并处理目标中,排除包括与含有在进行最近一次写入之前的最近写入数据的逻辑平移单元对应的物理平移单元的块,从而能够提高确保非易失性存储器的自由空间时的效率,还能够进一步有效地进行数据的重写。
此外,例如,在重写较大的文件的情况下,很可能将按照与逻辑平移单元的过去的访问模式相同的访问模式进行重写。因而,管理设备100从合并处理目标中,排除包括与含有在进行最近一次写入之前的最近写入数据的逻辑平移单元对应的物理平移单元的块,从而即使在如上所述的重写较大的文件的情况下,如图11A-11H中所示,也能够进一步有效地进行数据的重写。
管理设备100进行例如图8A-11H中所示的多次合并处理,从而能够提高确保非易失性存储器中的自由空间时的效率。另外不用说,按照本公开的实施例的管理设备100中的多次合并处理并不局限于图8A-11H中所示的例子。
与按照本公开的实施例的管理方法相关的处理的具体例子
下面,更详细地说明与按照本公开的实施例的管理方法相关的上述处理。图12是图解说明与按照本公开的实施例的管理方法相关的处理的例子。在下面的说明中,管理设备100进行与所述管理方法相关的处理。
管理设备100写入指定的数据(S100:写入处理)。
写入处理的例子
图13是图解说明按照本公开的实施例的数据写入处理的例子的流程图。
管理设备100判定最近写入的物理TU是否是块中的最后物理TU(S200)。如果在步骤S200中未判定该物理TU是块中的最后物理TU,那么管理设备100把块中的下一个PTU设定为写入目标PTU(S202),然后执行从后面说明的步骤S206起的处理。
此外,如果在步骤S200中判定该物理TU是块中的最后物理TU,那么管理设备100选择其中第一物理TU是“未写入物理TU”的块,并把所选块的第一物理TU设定为写入目标PTU(S204)。
当在步骤S202或步骤S204中设定了写入目标PTU时,管理设备100把指定的数据写入对应的写入目标PTU中(S206)。随后,管理设备100更新与逻辑地址-物理地址变换相关的逻辑地址-物理地址变换表(逻辑-物理变换表)和物理TU状态图(S208)。
管理设备100可通过执行图13中所示的处理,写入数据。另外不用说,按照本公开的实施例的写入处理并不局限于图13中所示的例子。
重新参见图12,说明与按照本公开的实施例的管理方法相关的处理。在步骤S100,当写入数据时,管理设备100判定合并处理的开始条件是否被满足(S102)。
如果在步骤S102中,判定合并处理的开始条件未被满足,那么管理设备100终止与管理方法相关的处理。另外,与按照本公开的实施例的管理方法相关的处理不是一旦被终止就结束的处理,而是每当写入数据时就被反复执行的处理。
此外,如果在步骤S102中,判定合并处理的开始条件被满足,那么管理设备100进行多次合并处理(S106)。
多次合并处理的例子
图14是图解说明按照本公开的实施例的多次合并处理的例子的流程图。
管理设备100进行第一多次合并处理(S300)。这里,按照本公开的实施例的第一多次合并处理被定义为利用例如其中通过合并处理增加的“未写入物理平移单元”的大小等于或大于块大小的条件,作为停止条件的多次合并处理。
第一多次合并处理的例子
图15是图解说明按照本公开的实施例的第一多次合并处理的例子的流程图。
管理设备100把“n_clean”的值设定为n_clean=0(0),并把“n_copy_max”的值设定为n_copy_max=M(M是比包含在块中的物理TU的数目足够大的值)(S400)。这里,“n_clean”用于保持通过合并处理增大的未写入物理平移单元的数目。此外,“n_copy_max”用于后面说明的合并处理中的判定。此外,步骤S400的处理对应于初始化“n_clean”的值的处理。
当在步骤S400中进行了初始化处理时,管理设备100进行合并处理(S402)。
多次合并处理的例子
图16是图解说明按照本公开的实施例的多次合并处理的例子的流程图。
管理设备100把“n_copy”的值设定为n_copy=0(0)(S500)。这里,“n_copy”是用于保持其中数据被复制的物理TU的数目的一种计数器。此外,步骤S500的处理对应于初始化“n_copy”的值的处理。
当进行了步骤S500的处理时,管理设备100选择一个块(下面称为“合并目标块”),作为合并处理目标(S502)。这里,例如,管理设备100选择非易失性存储器中的各个块之中,具有较大数目的“写入无效物理平移单元”的块,作为合并目标块,不过,选择方法并不局限于上述方法。
当在步骤S502中选择了合并目标块时,管理设备100从合并目标块中选择未复制的“写入有效物理TU”(S504)。当在步骤S504中选择了未复制的“写入有效物理TU”时,管理设备100读出所选物理TU内的数据(S506),并把读出的数据复制到复制目的地块中的未写入PTU(S508)。随后,管理设备100把“n_copy”的值更新为n_copy=n_copy+1(S510)。
当进行了步骤S510的处理时,管理设备100判定是否完成了包含在合并目标块中的所有写入有效物理TU的数据的复制(S512)。
如果在步骤S512中,判定未完成数据的复制,那么管理设备100判定是否“n_copy≥n_copy_max”(S514)。在第一多次合并处理中,作为“n_copy_max”值,设定M(M是比包含在块中的物理TU的数目足够大的值)。于是,管理设备100重复从步骤S504起的处理。此外,在后面说明的第二多次合并处理中,“n_copy_max”的值被设定为不同于M的值。从而,管理设备100根据步骤S514的判定结果,有选择地重复从步骤S504起的处理。
此外,如果在步骤S512,判定完成数据的复制,那么管理设备100擦除合并目标块(S516),然后终止合并处理。
管理设备100进行例如图16中所示的处理,从而实现合并处理。另外不用说,按照本公开的实施例的合并处理并不局限于图16中所示的例子。
重新参见图15,说明按照本公开的实施例的第一多次合并处理的例子。当在步骤S402中进行合并处理时,管理设备100把通过合并处理增加的未写入物理平移单元的数目加入“n_clean”的值中(S404)。随后,管理设备100判定“n_clean”的值是否等于或大于每个块的物理TU的数目(S406)。
如果在步骤S406中,未判定“n_clean”的值等于或大于每个块的物理TU的数目,那么管理设备100重复从步骤S402起的处理。
此外,如果在步骤S406中,判定“n_clean”的值等于或大于每个块的物理TU的数目,那么管理设备100终止第一多次合并处理。
管理设备100进行例如图15中所示的处理,从而实现第一多次合并处理。另外不用说,按照本公开的实施例的第一多次合并处理并不局限于图15中所示的例子。
重新参见图14,说明按照本公开的实施例的多次合并处理的例子。当进行了步骤S300的处理时,管理设备100判定通过合并处理增加的未写入物理平移单元的总大小是否超过一个块的大小(S302)。这里,例如当“n_clean”的值超过每个块的物理TU的数目时,管理设备100判定所述总大小超过一个块的大小,不过,步骤S302中的判定方法并不局限于上述判定方法。
如果在步骤S302中,判定所述总大小未超过一个块的大小,那么管理设备100进行第二多次合并处理(S304)。这里,按照本公开的实施例的第二多次合并处理是例如如图9A-9D中所示,用“写入有效物理平移单元”的数据填充超过一个块的大小(以块大小为基础的预定大小的例子)的大小的多次合并处理。
第二多次合并处理的例子
图17是图解说明按照本公开的实施例的第二多次合并处理的例子的流程图。
管理设备100把“n_excess”的值设定为n_excess=n_clean-(每个块的物理TU的数目),并把“n_copy”的值设定为n_copy=0(zero)(S600)。这里,“n_excess”代表与超过单个块的容量的大小对应的物理TU的数目。此外,步骤S600的处理对应于初始化“n_copy”的值的处理。
当进行了步骤S600的处理时,管理设备100把“n_copy_max”的值设定为n_copy_max=n_excess-n_copy(S602)。
当进行了步骤S602的处理时,管理设备100进行合并处理(S604)。这里,管理设备100进行例如图16中所示的处理,作为合并处理。
当进行了步骤S604的处理时,管理设备100把“n_copy”的值更新为n_copy=n_copy+(在合并处理中复制的物理TU的数目)(S606)。
当进行了步骤S606的处理时,管理设备100判定是否n_copy=n_excess(S608)。如果在步骤S608中未判定n_copy=n_excess,那么管理设备100重复从步骤S602起的处理。
此外,如果在步骤S608,判定n_copy=n_excess,那么管理设备100终止第二多次合并处理。
管理设备100进行例如图17中所示的处理,从而实现第二多次合并处理。另外,不用说,按照本公开的第二实施例的第二多次合并处理并不局限于图17中所示的例子。
再次参见图14,说明按照本公开的实施例的多次合并处理的例子。如果在步骤S302,未判定通过合并处理增加的未写入物理平移单元的总大小超过一个块的大小,那么管理设备100终止所述多次合并处理。
管理设备100进行例如图14中所示的处理,从而实现多次合并处理。另外不用说,按照本公开的实施例的多次合并处理并不局限于图14中所示的例子。例如,作为多次合并处理,管理设备100可以只进行图15中所示的第一多次合并处理。
重新参见图12,说明与按照本公开的实施例的管理方法相关的处理。当在步骤S106中终止多次合并处理时,管理设备100终止与所述管理方法相关的处理。
管理设备100进行例如图12中所示的处理,从而,能够实现按照本公开的实施例的上述管理方法。因而,管理设备100进行例如图12中所示的处理,从而能够提高确保非易失性存储器中的自由空间时的效率。另外不用说,与按照本公开的实施例的管理方法相关的处理并不局限于图12中所示的例子。
2.按照本公开的实施例的管理设备
下面,说明按照本公开的实施例的,能够进行与按照本公开的实施例的管理方法相关的上述处理的管理设备100结构。
图18是图解说明按照本公开的实施例的管理设备100的结构的例子的方框图。管理设备100包括例如非易失性存储器102和控制部分104。
此外,管理设备100可包括例如:ROM(只读存储器,图中未示出);RAM(随机存取存储器,图中未示出);能够由用户操作的操作部分(图中未示出);在显示屏上显示各种内容的显示部分(图中未示出);和与外部设备通信的通信部分(图中未示出)。例如,管理设备100通过作为数据传输路径的总线,互连各个组件。
ROM(图中未示出)保存控制部分104使用的诸如操作参数和程序之类的控制数据。RAM(图中未示出)临时保存控制部分104执行的程序。作为操作部分(图中未示出),可以举出后面说明的操作装置,作为显示部分(图中未示出),可以举出后面说明的显示装置。此外,作为通信部分(图中未示出),可以举出后面说明的通信接口。
管理设备100的硬件例证结构
图19是图解说明按照本公开的实施例的管理设备100的硬件结构的例子的说明图。参见图19,管理设备100包括例如:MPU 150;ROM 152;RAM 154;记录介质156;输入/输出接口158;操作输入装置160;显示装置162;和通信接口164。此外,管理设备100通过作为数据传输路径的总线166,互连各个组件。
MPU 150由其中集成实现MPU(微处理单元)和诸如控制功能的各种功能的各个电路的集成电路等构成,起控制整个管理设备100的控制部分104的作用。此外,在管理设备100中,MPU 150还能够起后面说明的判定部分110和管理部分112的作用。
ROM 152保存诸如MPU 150使用的操作参数和程序之类的控制数据,RAM 154临时保存MPU 150执行的程序等。
记录介质156是管理设备100中的存储装置,起非易失性存储器102的作用。例如,记录介质156保存应用程序,各种数据等等。这里,作为记录介质156,可以举出闪速存储器等。此外,记录介质156可被配置成可从管理设备100拆卸。
输入/输出接口158互连操作输入装置160和显示装置162。操作输入装置160起操作部分(图中未示出)的作用,显示装置162起显示部分(图中未示出)的作用。这里,作为输入/输出接口158,例如,可以举出USB(通用串行总线)端子,DVI(数字目视接口)端子,HDMI(高清晰度多媒体接口)端子,各种处理电路等。此外,在管理设备100中设置操作输入装置160,并连接到管理设备100内的输入/输出接口158。作为操作输入设备160,例如,可以举出按钮,方向键,诸如三向滚轮之类的旋转式选择器,或者它们的组合。此外,在管理设备100中设置显示装置162,并连接到管理设备100内的输入/输出接口158。作为显示装置162,例如,可以举出液晶显示器(LCD)和有机EL显示器(也称为有机电致发光显示器或OLED显示器(有机发光二极管显示器))。另外不用说,输入/输出接口158连接到作为管理设备100的外部装置的操作输入装置(例如,键盘或鼠标)或显示装置(例如,外部显示器等)。此外,显示装置162可以是能够实现显示和用户操作的装置,比如触摸屏。
通信接口164是设置在管理设备100中的通信装置,起经网络(或者直接)与外部设备进行有线和无线通信的通信部分(图中未示出)的作用。这里,作为通信接口164,例如,可以举出通信天线和RF(射频)电路(无线通信),及LAN端子和收发电路(有线通信),等等。此外,按照本公开的实施例的通信接口164并不局限于上述结构,例如,可以具有与网络相容的结构。
借助例如图19中所示的结构,管理设备100执行与按照本公开的实施例的管理方法相关的上述处理。此外,按照本公开的实施例的管理设备100的硬件结构并不局限于图19中所示的结构。例如,管理设备100可适合于用于实现执行与按照本公开的实施例的管理方法相关的处理的功能(例如,判定部分100和管理部分112的功能)的IC(集成电路)。
重新参见图18,说明管理设备100的结构的例子。非易失性存储器102是设置在管理设备100中的存储装置。这里,作为非易失性存储器102,例如,可举出闪速存储器等。在非易失性存储器102中,通过控制部分104(更具体地说,后面说明的判定部分100和管理部分112),管理数据的写入、读取和擦除。
控制部分104由例如MPU等构成,起控制整个管理设备100的作用。此外,控制部分104包括判定部分110,管理部分112,起执行与按照本公开的实施例的管理方法相关的处理的主导作用。
判定部分110起执行处理(1)(判定开始条件的处理)的主导作用。更具体地说,判定部分110判定开始合并处理的开始条件是否被满足。随后,如果判定对应的开始条件被满足,那么判定部分110把开始合并处理的处理开始请求(一种触发信号)传给管理部分112。
管理部分112起执行处理(2)(合并处理)的主导作用。更具体地说,当传送了处理开始请求时,管理部分112有选择地开始合并处理。此外,例如,当开始合并处理时,管理部分112把写入有效物理平移单元的数据复制到其中存在未写入物理平移单元的各个块之中,第一个物理平移单元未被写入的块中。此外,管理部分112重复合并处理,直到通过合并处理增加的未写入物理平移单元的大小等于或大于块大小(基于块大小的预定大小的例子)为止。
控制部分104包括例如判定部分110和管理部分112,以便从而进行处理(1)(判定开始条件的处理)和处理(2)(合并处理)。因而,控制部分104包括例如判定部分110和管理部分112,从而能够实现与按照本公开的实施例的管理方法相关的上述处理。于是,能够提高在确保非易失性存储器102中的自由空间时的效率。
根据本发明优选实施例的包括管理部分112的管理设备100,其中管理部分112通过基于每个平移单元,把逻辑地址变换成物理地址,来管理其中能够电写入、读取和擦除数据的非易失性存储器中的数据的写入、读取和擦除,写入和读取是逐页进行的,擦除是逐块进行的,每个块包括多个页,平移单元具有等于块的大小的1/n、并且为页的大小的整数倍的大小,其中n为整数,以及,通过把块的内容当中,写入有效物理平移单元的数据复制到其中存在未写入物理平移单元的块,然后擦除复制源块,来进行使未写入物理平移单元的个数增加复制源块中包括的写入无效物理平移单元的数目的合并处理,其中当开始所述合并处理时,管理部分112把写入有效物理平移单元的数据复制到其中存在未写入物理平移单元的各个块之中,起始的物理平移单元未被写入的块中,和重复合并处理,直到通过合并处理增加的未写入物理平移单元的大小等于或大于块的大小为止。
此外,按照本公开的实施例的控制部分104的结构并不局限于图18中所示的例子。例如,按照本公开的实施例的控制部分104可被配置成不包括判定部分110。即使在上述结构的情况下,按照本公开的实施例的管理设备100也能够根据例如从操作部分(图中未示出)传来的请求开始合并处理的操作信号,进行处理(2)(合并处理)。
借助例如图18中所示的结构,管理设备100进行与按照本公开的实施例的管理方法相关的上述处理。因而,管理设备100能够提高确保非易失性存储器102中的自由空间时的效率。
此外,按照本公开的实施例的管理设备100的结构并不局限于图18中所示的例子。例如,按照本公开的实施例的管理设备100可被配置成在没有非易失性存储器102的情况下,在设置于通过有线或无线通信连接的外部设备中的非易失性存储器中写入、读取和擦除数据。即使在上述结构的情况下,按照本公开的实施例的管理设备100也能够提高确保设置于外部设备中的非易失性存储器中的自由空间时的效率。
如上所述,在现有技术中,进行一次合并处理,而按照本公开的实施例的管理设备100反复进行合并处理,直到规定的停止条件被满足为此(多次合并处理)。这里,利用非易失性存储器的系统可以是例如诸如FAT系统之类的文件系统。这种情况下,按照某些逻辑平移单元的访问模式(重写顺序)进行重写时,将按照和未来的对应访问模式相同的访问模式进行重写的可能性高。通过如上所述,利用管理设备100进行多次合并处理,当按照未来的逻辑平移单元的相同访问模式进行重写时,包含在经历重写的块中的物理平移单元被转换成“写入无效物理平移单元”。因而,与按照图6A-6H中所示现有技术的合并处理相比,管理设备100能够进一步确保非易失性存储器的自由空间。
此外,管理设备100能够进一步有效地确保非易失性存储器的自由空间。于是,从用户的观点来看,能够实现非易失性存储器中的数据重写的性能的改善,和诸如NAND闪速存储器之类非易失性存储器的寿命的提高。
此外,当包括与数据的写入相关的条件在内的开始条件被满足时,管理设备100进行合并处理。于是,例如,当写入数据时,能够分布地进行多次合并处理。因而,管理设备100可以不用将合并处理作为后台处理来执行。从而,例如,能够防止由于合并处理被不期望地作为后台处理而导致对其它处理造成影响(比如处理性能的恶化)。
另外,管理设备100能够把不在非易失性存储器中进行数据的写入、读取和擦除(换句话说,系统处于所谓的空闲状态)设置为开始条件。因而,在上述情况下,管理设备100能够有效地利用系统的空闲状态。
作为本公开的实施例,至此说明了管理设备100,不过,本公开的实施例并不局限于这种形式。本公开的实施例可适用于各种设备,例如包括:利用非易失性存储器的存储设备;诸如PC(个人计算机)或服务器之类的计算机;诸如电视机之类的显示设备;诸如移动电话机之类的移动通信设备;视频/音乐再现设备(或者视频/音乐记录器);游戏机;等等。此外,本公开的实施例可适用于例如内置于各种设备中的记录介质的控制IC。
按照本公开的实施例的程序
通过利用使计算机起按照本公开的实施例的管理设备作用的程序(例如,实现处理(1)(判定开始条件的处理)和处理(2)(合并处理),或者与按照本公开的实施例的管理方法相关的处理,比如处理(2)(合并处理)的程序),能够提高在确保非易失性存储器中的自由空间时的效率。此外,通过利用使计算机起按照本公开的实施例的管理设备作用的程序,从用户的观点来看,能够实现非易失性存储器中的数据重写的性能的提高,和诸如NAND闪速存储器之类非易失性存储器的寿命的增加。
上面参考附图,说明了本公开的优选实施例,不过不用说,本公开并不局限于上面的例子。对本领域的技术人员来说,显然可以做出各种明显的修改、派生和变化,而不脱离在附加的权利要求中描述的技术范围。另外,应明白这样的修改、派生和变化在本公开的技术范围之内。
例如,按照本公开的实施例的管理设备可分别包括图18中所示的判定部分110和管理部分112(例如,相应部分用独立的处理电路具体体现)。
此外,在上面的说明中,提供使计算机起按照本公开的实施例的管理设备作用的程序(计算机程序)。不过,在本公开的实施例中,可以另外提供保存所述程序的记录介质。
由于上述结构是本公开的实施例的例子,因此,所述结构当然在本公开的技术范围之内。
本公开包含与在2010年12月22日向日本专利局提交的日本优先权专利申请JP 2010-286318中公开的主题相关的主题,该专利申请的整个内容在此引为参考。
本领域的技术人员应明白,根据设计要求和其它因素,可以产生各种修改、组合、子组合和变更,只要它们在所附的权利要求或其等同物的范围之内。

Claims (15)

1.一种包括管理部分的管理设备,所述管理部分:
通过基于每个平移单元,把逻辑地址变换成物理地址,来管理其中能够电写入、读取和擦除数据的非易失性存储器中的数据的写入、读取和擦除,所述写入和读取是逐页进行的,所述擦除是逐块进行的,每个块包括多个页,所述平移单元具有等于块的大小的1/n、并且为页的大小的整数倍的大小,其中n为整数,以及
通过把块的内容当中,写入有效物理平移单元的数据复制到其中存在未写入物理平移单元的块,然后擦除复制源块,来进行使未写入物理平移单元的个数增加复制源块中包括的写入无效物理平移单元的数目的合并处理,
其中当开始所述合并处理时,所述管理部分
把写入有效物理平移单元的数据复制到其中存在未写入物理平移单元的各个块之中,起始的物理平移单元未被写入的块中,和
重复所述合并处理,直到通过所述合并处理增加的未写入物理平移单元的大小等于或大于块的大小为止。
2.按照权利要求1所述的管理设备,其中在进行所述合并处理之后,当通过所述合并处理增加的未写入物理平移单元的大小不能被块的大小整除时,所述管理部分通过所述合并处理,按照与未写入物理平移单元的未被块大小整除的余量对应的大小来复制写入有效物理平移单元的数据。
3.按照权利要求1所述的管理设备,还包括判定部分,所述判定部分判定用于在所述管理部分中开始所述合并处理的开始条件是否被满足,
其中当所述判定部分判定开始条件被满足时,所述管理部分有选择地进行所述合并处理。
4.按照权利要求3所述的管理设备,其中所述判定部分按照如下的开始条件进行判定:由所述管理部分最近写入的数据的写入位置是块中的最后的物理平移单元,并且正在被写入数据的块的数目大于预定阈值,或者不小于所述阈值。
5.按照权利要求4所述的管理设备,其中所述判定部分按照如下的开始条件进行判定:在非易失性存储器中不进行数据的写入、读取和擦除。
6.按照权利要求3所述的管理设备,其中所述判定部分按照如下的开始条件进行判定:由所述管理部分最近写入的数据的写入位置是块中的最后的物理平移单元,并且不包含写入数据的块的数目小于预定阈值,或者不大于所述阈值。
7.按照权利要求1所述的管理设备,其中即使当通过所述合并处理增加的未写入物理平移单元的大小等于或大于块的大小时,所述管理部分也不停止所述合并处理,而是重复所述合并处理,直到未写入物理平移单元的大小等于或大于块的大小的预定整数倍为止。
8.按照权利要求1所述的管理设备,其中所述管理部分选择非易失性存储器中的各个块之中,写入无效物理平移单元的数目多的一个块作为所述合并处理中的复制源块。
9.按照权利要求1所述的管理设备,其中当进行所述合并处理时,所述管理部分使包括如下的物理平移单元的块不经历所述合并处理:该物理平移单元对应于包含在进行最近一次写入之前的最近写入数据的逻辑平移单元。
10.按照权利要求1所述的管理设备,其中当进行所述合并处理时,所述管理部分按照分别分配给物理平移单元的编号的升序,复制块内的写入有效物理平移单元的数据。
11.按照权利要求1所述的管理设备,其中当进行所述合并处理时,所述管理部分按照分别分配给与写入有效物理平移单元分别对应的逻辑平移单元的编号的升序,复制块内的写入有效物理平移单元的数据。
12.按照权利要求1所述的管理设备,其中当进行所述合并处理时,所述管理部分把所有块中的写入有效物理平移单元指定为反复进行的所述合并处理中的复制源,并按照分别分配给与指定的物理平移单元分别对应的逻辑平移单元的编号的升序,复制指定的物理平移单元的数据。
13.按照权利要求1所述的管理设备,还包括非易失性存储器。
14.一种管理方法,包括:
通过基于每个平移单元,把逻辑地址变换成物理地址,来管理其中能够电写入、读取和擦除数据的非易失性存储器中的数据的写入、读取和擦除,所述写入和读取是逐页进行的,所述擦除是逐块进行的,每个块包括多个页,所述平移单元具有等于块的大小的1/n、并且为页的大小的整数倍的大小,其中n为整数,以及
判定开始条件是否被满足,其中所述开始条件用于开始合并处理,所述合并处理通过把块的内容当中,写入有效物理平移单元的数据复制到其中存在未写入物理平移单元的块,然后擦除复制源块,来使未写入物理平移单元的个数增加复制源块中包括的写入无效物理平移单元的数目,
其中在写入、读取和擦除的管理中,如果判定开始条件被满足,那么有选择地进行所述合并处理,和
其中当开始所述合并处理时,
写入有效物理平移单元的数据被复制到其中存在未写入物理平移单元的各个块之中,起始的物理平移单元未被写入的块中,和
重复所述合并处理,直到通过所述合并处理增加的未写入物理平移单元的大小等于或大于块的大小为止。
15.一种使计算机起管理装置作用的程序,所述管理装置用于:
通过基于每个平移单元,把逻辑地址变换成物理地址,来管理其中能够电写入、读取和擦除数据的非易失性存储器中的数据的写入、读取和擦除,所述写入和读取是逐页进行的,所述擦除是逐块进行的,每个块包括多个页,所述平移单元具有等于块的大小的1/n、并且为页的大小的整数倍的大小,其中n为整数,以及
通过把块的内容当中,写入有效物理平移单元的数据复制到其中存在未写入物理平移单元的块,然后擦除复制源块,来进行使未写入物理平移单元的个数增加复制源块中包括的写入无效物理平移单元的数目的合并处理,
其中当开始所述合并处理时,所述管理部分
把写入有效物理平移单元的数据复制到其中存在未写入物理平移单元的各个块之中,起始的物理平移单元未被写入的块中,和
重复所述合并处理,直到通过所述合并处理增加的未写入物理平移单元的大小等于或大于块的大小为止。
CN201110420901.2A 2010-12-22 2011-12-15 管理设备和管理方法 Expired - Fee Related CN102591786B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010286318A JP2012133655A (ja) 2010-12-22 2010-12-22 管理装置、管理方法、およびプログラム
JP2010-286318 2010-12-22

Publications (2)

Publication Number Publication Date
CN102591786A true CN102591786A (zh) 2012-07-18
CN102591786B CN102591786B (zh) 2016-12-14

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6201736B1 (en) * 1999-06-16 2001-03-13 Fujitsu Limited Flash memory with copy and transfer function
CN101187898A (zh) * 2006-11-20 2008-05-28 三星电子株式会社 管理非易失性存储器的设备和方法
CN101258473A (zh) * 2005-08-03 2008-09-03 桑迪士克股份有限公司 直接数据文件存储存储器中的数据合并和垃圾收集
US20080229003A1 (en) * 2007-03-15 2008-09-18 Nagamasa Mizushima Storage system and method of preventing deterioration of write performance in storage system
US20090119450A1 (en) * 2007-11-06 2009-05-07 Saeki Shusuke Memory device, memory management method, and program
US20100217927A1 (en) * 2004-12-21 2010-08-26 Samsung Electronics Co., Ltd. Storage device and user device including the same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6201736B1 (en) * 1999-06-16 2001-03-13 Fujitsu Limited Flash memory with copy and transfer function
US20100217927A1 (en) * 2004-12-21 2010-08-26 Samsung Electronics Co., Ltd. Storage device and user device including the same
CN101258473A (zh) * 2005-08-03 2008-09-03 桑迪士克股份有限公司 直接数据文件存储存储器中的数据合并和垃圾收集
CN101187898A (zh) * 2006-11-20 2008-05-28 三星电子株式会社 管理非易失性存储器的设备和方法
US20080229003A1 (en) * 2007-03-15 2008-09-18 Nagamasa Mizushima Storage system and method of preventing deterioration of write performance in storage system
US20090119450A1 (en) * 2007-11-06 2009-05-07 Saeki Shusuke Memory device, memory management method, and program

Also Published As

Publication number Publication date
JP2012133655A (ja) 2012-07-12
US20120166713A1 (en) 2012-06-28

Similar Documents

Publication Publication Date Title
CN101542447B (zh) 一次写入记录装置
US8099545B2 (en) Wear leveling in storage devices based on flash memories and related circuit, system, and method
CN102163133B (zh) 针对具有可擦除/可重写存储器使用带有主机装置的一次或数次可编程存储器的方法及装置
KR101272642B1 (ko) 플래시 메모리시스템 내의 데이터 저장 용량의 리클레이밍
CN101014929B (zh) 使用nvram进行存储器管理的系统、方法和设备
CN1493026B (zh) 存储装置及利用此存储装置的记录再生装置
CN109697026A (zh) 包括主机设备和用于执行清除操作的存储设备的存储系统
TWI283812B (en) Method for permanently preventing modification of a partition of a memory device and method for permanently preventing modification of a file stored in a memory device
US8310896B2 (en) Memory system and method of writing into nonvolatile semiconductor memory
CN107168885A (zh) 存储系统、信息处理系统及非易失性存储器的控制方法
CN106371761A (zh) 内存系统以及非易失性内存的控制方法
CN107168640A (zh) 存储系统、信息处理系统及非易失性存储器的控制方法
CN107168884A (zh) 存储系统、信息处理系统及非易失性存储器的控制方法
CN101763309B (zh) 非易失性存储装置、信息记录系统及信息记录方法
US20030070034A1 (en) Write-many memory device and method for limiting a number of writes to the write-many memory device
US20050182892A1 (en) Data storage device, method for updating management information in data storage device, and computer program
US20100077135A1 (en) Memory wear leveling method, system and device
CN107025178A (zh) 存储器控制器、非易失性存储器系统及其操作方法
CN101606133A (zh) 具有连续逻辑地址空间接口的直接数据文件系统的使用
JP2006221636A (ja) Run単位アドレスマッピングテーブル及びそれの構成方法
US20100131700A1 (en) Memory indexing system and process
CN110032521A (zh) 用于增强闪存转换层映射灵活性以得到性能和寿命改进的方法和系统
KR101464199B1 (ko) 연속 논리 주소 공간 인터페이스를 구비한 다이렉트 데이터 파일 시스템을 사용하는 방법
JP2009503744A (ja) 予定再生操作を伴う不揮発性メモリ
TW200813809A (en) Non-volatile memories and methods with adaptive file handling in a directly mapped file storage system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161214

CF01 Termination of patent right due to non-payment of annual fee