CN103455430A - 存储器管理设备和方法以及程序 - Google Patents
存储器管理设备和方法以及程序 Download PDFInfo
- Publication number
- CN103455430A CN103455430A CN201310194128.1A CN201310194128A CN103455430A CN 103455430 A CN103455430 A CN 103455430A CN 201310194128 A CN201310194128 A CN 201310194128A CN 103455430 A CN103455430 A CN 103455430A
- Authority
- CN
- China
- Prior art keywords
- logic
- nonessential
- physics
- data
- information
- 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/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
提供一种存储器管理设备和方法。该存储器管理设备包括:非易失性存储器,在每页基础上执行数据的写入和读取并且在每块基础上执行擦除;以及控制单元,通过在每转换单位(TU)基础上执行逻辑-物理转换来管理非易失性存储器中的数据处理并且执行折叠处理。控制单元基于非必需逻辑TU信息将与非必需逻辑TU信息对应的物理TU的数据设置成将在折叠处理中从复制目标被排除,非必需逻辑TU信息由文件系统通知并且代表与其中物理地写入非必需数据的物理TU对应的逻辑TU。
Description
技术领域
本技术涉及一种存储器管理设备和方法以及程序,并且更具体地涉及一种能够高效保护非易失性存储器中的自由空间的存储器管理设备和方法以及程序。
背景技术
在NAND闪存中,通过“写入”、“读取”和“擦除”来电操纵数据。例如,由于仅在从“1”到“0”的一个方向上执行通过“写入”来重写每个位,所以为了新写入数据,应当在所有位首先通过“擦除”变成“1”之后执行写入。
在NAND闪存中,如图1中所示,将最小“写入”/“读取”单位设置成页面,并且将最小“擦除”单位设置成包括多个页面的块。例如,页面配置有通过向512个字节添加16个额外字节而获得的528个字节,并且块被配置成包括32个页面。
如上文描述的那样,在NAND闪存中,由于最小“擦除”单位在大小上是最小“写入”单位的数十倍,所以为了高效执行重写,一些对策是必要的。
另外,在NAND闪存中,在装运时存在称为缺陷块的不可用块,并且有必要在避免缺陷块之时对NAND闪存执行读取和写入。
此外,一般在NAND闪存中,必须如图2A中所示按照从更低编号的页面起的顺序执行对块中的页面写入。换而言之,在NAND闪存中,禁止如图2B中所示在块中的随机写入。
另外,在NAND闪存的每个块中,由于重写次数有上限,所以有必要防止对块的重写不等地集中于具体块。
在使用具有上述特征的NAND闪存时,希望原样或者仅略有修改地使用现有文件系统或者工具。为此,必须将NAND闪存配置成在没意识到操纵“擦除”或者缺陷块的情况下被使用。为此,有必要装配用于解释来自使用NAND闪存的一侧(例如文件系统)的请求、然后将请求转换成用于操纵NAND闪存的命令的层(逻辑-物理转换层(下文称为“逻辑-物理转换层”))。
同时已经提出如下技术(见JP2009-116601A),在该技术中,执行非易失性存储器的访问管理,从而在每转换单位(translation unit,TU)基础上(每个TU如图3中所示是块大小的整数的部分和页面大小的整数倍数)将逻辑地址转换成物理地址,并且通过将块的内容中的使用中的物理TU复制到包括另一个未使用物理TU的块、然后擦除初始块来将未使用物理TU新增加在初始块中包括的无效物理TU的数目。
根据JP2009-116601A,在块中的已写入无效物理TU(其中写入无效数据的物理TU)越多,可以保护的未使用物理TU就越多,因此可以提高保护自由空间的效率。从使用非易失性存储器的一侧的观点来看,高效保护自由空间有助于提高非易失性存储器中的数据重写性能,并且增加非易失性存储器比如NAND闪存的寿命。
发明内容
同时,近来已经知道为了实施如下功能而发出的Trim命令,该功能通知与如下区域有关的信息(下文称为“非必需区域信息”),在该区域中,从文件系统等向逻辑-物理转换层写入物理上非必需数据以便高效保护NAND闪存中的自由空间并且增加NAND闪存的寿命。
除非被新重写,否则不从文件系统参照其中写入非必需数据的区域。因此,在逻辑-物理转换层中,是否删除或者原样继续保持区域的数据不成问题。
然而,基本上,在逻辑-物理转换层中删除不必要数据时,高效地保护了自由空间,但是在现有技术中,由于没有利用由文件系统通知的非必需区域信息的配置,所以非必需数据仍旧被保持,并且从保护自由空间的观点来看该非必需数据是浪费的。
鉴于前文作出本技术,并且本技术涉及高效保护非易失性存储器中的自由空间。
根据本公开内容的实施例,提供一种存储器管理设备,该存储器管理设备包括:非易失性存储器,在每页基础上执行数据写入和读取,并且在每块的基础上执行擦除;以及控制单元,通过在每转换单位(TU)基础上执行逻辑-物理转换来管理非易失性存储器中的数据处理,并且执行折叠处理。控制单元基于非必需逻辑TU信息将与非必需逻辑TU信息对应的物理TU的数据设置成将在折叠处理中从复制目标排除,非必需逻辑TU信息由文件系统通知并且代表与其中物理地写入非必需数据的物理TU对应的逻辑TU。
存储器管理设备还可以包括:保持单元,保持非必需逻辑TU信息。
控制单元可以在断电之前使保持单元中保持的非必需逻辑TU信息作为文件系统上的数据存储于非易失性存储器中,并且在激活时使文件系统执行非易失性存储器中存储的非必需逻辑TU信息的通知。
控制单元可以在断电之前在非易失性存储器的被设置预定逻辑TU编号的物理TU中存储保持单元中保持的非必需逻辑TU信息,并且可以在激活时使文件系统执行在被设置预定逻辑TU编号的物理TU中存储的非必需逻辑TU信息的通知。
控制单元可以使文件系统基于在文件系统的管理信息中包括的、与未使用区域有关的信息生成和执行非必需逻辑TU信息的通知。
保持单元可以保持用于管理每个物理TU的状态的物理TU状态图和存储非必需逻辑TU信息的非必需逻辑TU列表,并且在文件系统向控制单元通知非必需逻辑TU信息时,控制单元可以将物理TU状态图中的与非必需逻辑TU信息对应的物理TU的状态设置成已写入无效物理TU,并且可以向非必需逻辑TU列表添加通知的非必需逻辑TU信息。
保持单元还可以保持其中逻辑TU的地址与物理TU的地址相关联的逻辑-物理转换表,并且在文件系统向控制单元通知非必需逻辑TU信息时,控制单元可以在逻辑-物理转换表中将与非必需逻辑TU信息对应的物理TU的地址设置成未定义。
控制单元可以在块中包括的物理TU的所有状态在物理TU状态图中被设置成已写入无效物理TU时擦除块。
在包括用作数据复制源的物理TU的块作为数据处理的结果变成可擦除时,控制单元可以在数据将在数据处理中被复制到的未写入物理TU中写入代表变成可擦除的块的块编号,并且擦除块。
数据处理可以是响应于来自文件系统的请求来重写逻辑TU的数据。
数据处理可以是折叠处理。
在作为数据处理的结果包括用作数据复制源的物理TU的块没有变得可擦除而另一个块变成可擦除时,控制单元可以在数据将在数据处理中被复制到的未写入物理TU中写入代表变成可擦除的另一个块的块编号并且擦除另一个块。
根据本公开内容的实施例,提供一种存储器管理设备的存储器管理方法,存储器管理设备包括:非易失性存储器,在每页基础上执行数据写入和读取并且在每块基础上执行擦除;以及控制单元,通过在每转换单位(TU)基础上执行逻辑-物理转换来管理非易失性存储器中的数据处理并且执行折叠处理,该存储器管理方法包括:存储器管理设备基于非必需逻辑TU信息将与非必需逻辑TU信息对应的物理TU的数据设置成在折叠处理中从复制目标被排除,非必需逻辑TU信息由文件系统通知并且代表与其中物理地写入非必需数据的物理TU对应的逻辑TU。
根据本公开内容的实施例,提供一种用于使计算机执行以下操作的程序,计算机包括:非易失性存储器,在每页基础上执行数据写入和读取并且在每块基础上执行擦除;以及控制单元,通过在每转换单位(TU)基础上执行逻辑-物理转换来管理非易失性存储器中的数据处理并且执行折叠处理:基于非必需逻辑TU信息将与非必需逻辑TU信息对应的物理TU的数据设置成在折叠处理中从复制目标排除,非必需逻辑TU信息由文件系统通知并且代表与其中物理地写入非必需数据的物理TU对应的逻辑TU。
根据本技术的另一实施例,基于非必需逻辑TU信息将与非必需逻辑TU信息对应的物理TU的数据设置为在折叠处理中从复制目标被排除,非必需逻辑TU信息由文件系统通知并且代表与其中物理地写入非必需数据的物理TU对应的逻辑TU。
根据本技术的上述实施例,有可能高效保护非易失性存储器中的自由空间。
附图说明
图1是用于描述NAND闪存的块和页面的图;
图2是用于描述块中的页面的写入序列的图;
图3是图示在NAND闪存的块、页面和转换单位(TU)之间的关系的图;
图4是用于描述数据重写的图;
图5是用于描述折叠处理的概况的图;
图6是用于描述根据有关技术的折叠处理的例子的图;
图7是用于描述根据本技术的折叠处理的例子的图;
图8是图示根据本技术的存储器管理设备的配置例子的框图;
图9是用于描述非必需逻辑TU编号获取处理的图;
图10是用于描述数据写入处理的流程图;
图11是用于描述折叠处理的流程图;
图12是用于描述非必需逻辑TU列表存储处理的流程图;
图13是用于描述非必需逻辑TU编号通知处理的流程图;
图14是用于描述非必需逻辑TU列表存储处理的流程图;
图15是用于描述非必需逻辑TU编号通知处理的流程图;
图16是用于描述在其中执行断电对策的状态中的块擦除处理的例子的流程图;
图17是用于描述块编号写入处理的流程图;
图18是用于在其中执行断电对策的状态中的块擦除处理的另一例子的流程图;
图19是用于描述块编号写入处理的流程图;并且
图20是图示计算机的硬件配置例子的框图。
具体实施方式
下文将参照附图具体描述本公开内容的优选实施例。注意,在本说明书和附图中,用相同标号表示具有基本上相同功能和结构的结构单元,并且省略对这些结构单元的重复说明。
首先,将在描述本技术的实施例之前进一步具体描述现有技术。
[关于有关技术]
在JP2009-116601A中公开的技术中,在非易失性存储器上的实际TU被称为物理TU,而受到地址转换、然后被提供给使用非易失性存储器的一侧的TU被称为逻辑TU。通过这一操作,在JP2009-116601A中公开的技术中,有可能灵活设置数据读取和写入的大小,例如有可能使读取和写入单位与文件系统中的TU匹配。
在JP2009-116601A中公开的技术中,如图4中所示执行数据的重写,从而在其中未记录数据的空物理TU中写入数据。具体而言,执行数据重写,从而将重写之前的数据被记录的物理TU P1更新成无效状态(图4的C),并且在其中未记录数据的物理TU P2中写入待重写的新数据(图4的D)。作为结果,生成状态为记录新数据的物理TU(已写入有效物理TU)和状态为记录擦除目标的旧数据的物理TU(已写入无效物理TU)。
下文中,在物理TU中,其中记录新数据的状态被适当地称为“INUSE”,而其中记录擦除目标的旧数据的状态为“DIRTY”。另外,在物理TU中,其中在擦除之后或者在初始化之后不记录数据的状态被称为“CLEAN”。
如上文描述的那样,非易失性存储器、比如NAND闪存可以仅在每块的基础上执行数据的擦除。为此,即使在配置块的一些物理TU之中有“已写入无效物理TU”、比如图4的物理TU P1时,仍然难以在有“已写入有效物理TU”时执行擦除。
因此,在数据的重写被重复时,“已写入无效物理TU”的数目在非易失性存储器中增加,并且能够执行数据写入的物理TU(例如CLEAN物理TU)的数目减少。换而言之,在数据的写入被重复时,减少了非易失性存储器中的自由空间。
就这一点而言,已经在JP2009-116601A中提出了增加能够执行数据写入的物理TU的数目且保护非易失性存储器中的自由空间的折叠(fold)处理。
折叠处理是指如下处理:通过向包括如下物理TU的块复制块并且擦除复制源的块来将未写入物理TU的数目增加在复制源的块中包括的已写入无效物理TU的数目,在上述物理TU中没有写入在块的内容之中的已写入有效物理TU的数据(没有记录数据)。
图5图示了折叠处理的概况。
图5的状态A、B和C分别代表块B1和B2在折叠处理之前的状态、块B1和B2在折叠处理期间的状态以及块B1和B2在折叠处理之后的状态。
根据折叠处理,如在图5的状态A中所示向复制目的地的块B2复制该复制源的块B1的已写入有效物理TU,并且如在图5的状态B中所示将复制源的块B1中的已复制物理TU更新成已写入无效物理TU。然后,如在图5的状态C中所示,擦除复制源的块B1。
如上文所述,在执行折叠处理时,“未写入物理TU”的数目增加,因此在非易失性存储器中的自由空间增加。
然而,如上文所述,在现有技术中,由于不存在利用由文件系统通知、并且用来高效保护NAND闪存中的自由空间的非必需区域信息的配置,所以非必需数据仍旧保持,并且从保护自由空间的观点来看该非必需数据是浪费。
[根据现有技术的折叠处理的例子]
在此,将参照图6描述根据现有技术在不考虑非必需区域信息的情况下执行的折叠处理的例子。
图6图示了非易失性存储器的8个块在时序中的状态A至H。参照图6,在构成每个块的物理TU中,指示了对应的逻辑TU(LTU)的编号和物理TU的状态。
这里,由于在每TU的基础上执行逻辑-物理转换,所以在下文中假设代表与如下物理TU对应的多个逻辑TU(非必需逻辑TU)的非必需逻辑TU信息(下文称为“非必需逻辑TU编号”)由文件系统通知,在上述物理TU中作为非必需区域信息物理地写入非必需数据。
首先,图6的状态A是如下状态,在该状态中,在从左侧起的第六个块中重写逻辑TU13(下文称为“LTU13”)、LTU14和LTU17的数据,并且在该块中再次重写LTU17的数据,从而减少自由空间。
接着,图6的状态B是如下状态,在该状态中,作为非必需逻辑TU编号通知LTU10和LTU11。换而言之,LTU10和LTU11的数据从文件系统侧的观点来看为非必需数据。然而,在现有技术中,忽略非必需逻辑TU编号,并且在逻辑-物理转换层中不删除非必需数据。
图6的状态C是其中执行LTU3的重写的状态。作为结果,在从左侧起的第七个块中新写入LTU3的数据,并且其中已经写入LTU3的数据的物理TU的状态变成DIRTY。
图6的状态D是其中执行LTU4的重写的状态。作为结果,在从左侧起的第七个块中新写入LTU4的数据,并且其中已经写入LTU4的数据的物理TU的状态变成DIRTY。
图6的状态E是其中执行LTU8的重写的状态。作为结果,在从左侧起的第七个块中新写入LTU8的数据,并且其中已经写入LTU8的数据的物理TU的状态变成脏。
图6的状态F是其中执行LTU9的重写的状态。作为结果,在从左侧起的第七个块中新写入LTU9的数据,并且其中已经写入LTU9的数据的物理TU的状态变成脏。
这里,在假设折叠处理在其中新近写入数据的写入目的地是块中的最后物理TU这样的条件下开始时,折叠处理在图6的状态F中开始。换而言之,如在图6的状态G中所示,向从左侧起的第八个块复制从左侧起的第三个块中的LTU10和LTU11的数据,并且复制源的从左侧起的第三个块的所有TU变成DIRTY物理TU且因此被擦除。
另外,在执行折叠处理时,如在图6的状态H中所示,向从左侧起的第八个块复制从左侧起的第四个块中的LTU12和LTU15的数据,并且复制源的从左侧起的第四个块的所有TU变成DIRTY物理TU且因此被擦除。
这里,在假设折叠处理在通过折叠处理将未写入物理TU(CLEAN物理TU)增加与一个块大小对应的大小这样的条件下停止时,折叠处理在图6的状态H中结束。
如上文所述执行根据现有技术的折叠处理,但是在图6的状态B中,忽略非必需逻辑TU编号,并且与LTU10和LTU11对应的物理TU的状态保持于INUSE状态中。作为结果,在图6的状态G中,复制原先为非必需数据的LTU10和LTU11的数据。
就这一点而言,在本技术中,在折叠处理中从复制目标排除与通知的非必需逻辑TU编号对应的物理TU的数据,从而不进行如在图6的状态G中所示的无用复制。
[根据本技术的折叠处理的例子]
图7图示了考虑到非必需区域信息而执行的根据本技术的折叠处理的例子。
与图6相似,图7也图示了非易失性存储器的8个块在时序中的状态A至G。
首先,图7的状态A是如下状态,在该状态中,在从左侧起的第六个块中重写LTU13、LTU14和LTU17的数据,并且在该块中再次重写LTU17的数据,从而减少自由空间。
接着,图7的状态B是如下状态,在该状态中,作为非必需逻辑TU编号通知LTU10和LTU11。这时,逻辑-物理转换层侧将与非必需逻辑TU编号对应的物理TU的状态视为DIRTY。
图7的状态C是其中执行LTU3的重写的状态。作为结果,在从左侧起的第七个块中新写入LTU3的数据,并且其中已经写入LTU3的数据的物理TU的状态变成DIRTY。
图7的状态D是其中执行LTU4的重写的状态。作为结果,在从左侧起的第七个块中新写入LTU4的数据,并且其中已经写入LTU4的数据的物理TU的状态变成DIRTY。
图7的状态E是其中执行LTU8的重写的状态。作为结果,在从左侧起的第七个块中新写入LTU8的数据,并且其中已经写入LTU8的数据的物理TU的状态变成DIRTY。
图7的状态F是其中执行LTU9的重写的状态。作为结果,在从左侧起的第七个块中新写入LTU9的数据,并且其中已经写入LTU9的数据的物理TU的状态变成DIRTY。
这里,与图6的情况相似,在假设折叠处理在其中新近写入数据的写入目的地是块中的最后物理TU这样的条件下开始时,折叠处理在图7的状态F中开始,但是如在图7的状态G中所示,由于已经在图7的状态B中将与从左侧起的第三个块中的LTU10和LTU11对应的物理TU设置成DIRTY,所以没有复制LTU10和LTU11的数据,并且擦除从左侧起的第三个块。
另外,与图6的情况相似,在假设折叠处理在通过折叠处理将未写入物理TU(CLEAN物理TU)增加与一个块大小对应的大小这样的条件下停止时,折叠处理在图7的状态G中停止。
折叠处理的开始条件和停止条件不限于上例。
如上文所述,在根据本技术的折叠处理中,在图7的状态B中,与作为非必需逻辑TU编号而通知的LTU10和LTU11对应的物理TU的状态变成DIRTY,并且将LTU10和LTU11的数据设置成在折叠处理中从复制目标排除。
作为结果,对于来自文件系统的相同处理请求,在图6的例子中,两次执行块擦除,并且执行与一个块对应的复制,而在图7的例子中,仅执行单个块擦除。因此,根据本技术,有可能高效保护非易失性存储器中的自由空间,因此有可能提高非易失性存储器中的数据重写性能并且增加非易失性存储器、比如NAND闪存的寿命。
[存储器管理设备的配置例子]
图8图示了应用本技术的存储器管理设备的配置例子。
存储器管理设备10包括作为非易失性存储器的NAND闪存11、配置有易失性存储器、比如动态随机存取存储器(DRAM)或者静态随机存取存储器(SRAM)的存储器12和用作控制单元的中央处理单元(CPU)13。NAND闪存11、存储器12和CPU13经由总线14相互连接。
NAND闪存11包括如下存储器单元阵列并且能够电执行写入、读取和擦除,在该存储器单元阵列中以阵列形式排列包括相互串联连接的多个存储器单元的NAND串。
NAND闪存11的最小写入/读取单位是页面,并且最小擦除单位是包括多个页面的块。例如,页面配置有528个字节、即4224位,在528个字节中向512个字节的数据区域添加16个字节的附加区域,并且块包括32个页面。
基于在附加区域中写入的管理信息以及在存储器12中构造的逻辑-物理转换表、物理TU状态图和非必需逻辑TU列表的信息根据CPU13的控制执行对NAND闪存11的访问管理。另外,对NAND闪存11的访问包括与写入、读取和擦除操纵有关的存储器访问。
存储器12包括用于程序存储的只读存储器(ROM)和作为工作存储器的RAM。在存储器12中,在CPU13的控制之下构造和保持逻辑-物理转换表、物理TU状态图和非必需逻辑TU列表。
CPU13用作控制单元,该控制单元基于在NAND闪存11的附加区域中写入的管理信息、在存储器12中构造的逻辑-物理转换表、物理TU状态图和在存储器12中构造的非必需逻辑TU列表的信息控制对NAND闪存11的访问。
CPU13在每TU基础上执行NAND闪存11的逻辑-物理转换和访问管理,该TU是块大小的整数的一部分和页面大小的整数倍数。
另外,CPU13具有执行折叠处理的功能,该折叠处理通过向包括未写入物理TU(其中未记录数据)的块复制在块的内容之中的已写入有效物理TU的数据并且擦除复制源的块、来将未写入物理TU的数目增加在复制源的块中包括的已写入无效物理TU的数目。
[存储器上的数据结构]
这里将描述存储器12上的数据结构。
在存储器12上形成逻辑-物理转换表、物理TU状态图和非必需逻辑TU列表。
逻辑-物理转换表是用来从逻辑TU编号(地址)获得对应的物理TU编号(地址)的表。在没有与逻辑TU编号对应的物理TU时,将物理TU编号设置成UNDEF(未定义)。
物理TU状态图是用于管理每个物理TU的状态的图,并且以下四个类型被用作状态。
CLEAN:在执行擦除操纵之后的未写入状态。
INUSE:其中存储逻辑-物理转换表参照的有效数据的状态。
DIRTY:其中存储逻辑-物理转换表参照的无效数据的状态。
DEFECT:其中物理TU存在于缺陷块之中的状态。
非必需逻辑TU列表是包括通知的非必需逻辑TU信息(非必需逻辑TU编号)的列表。当在非必需逻辑TU列表中包括新写入数据的逻辑TU编号时,从非必需逻辑TU列表删除对应的逻辑TU编号。
在下文中将描述根据CPU13的控制执行的各种操作。
首先,将参照图9描述获取从文件系统的使用NAND闪存11的一侧等通知的非必需逻辑TU编号的处理。
[非必需逻辑TU编号获取处理]
首先,在步骤S11中,CPU13获取从使用NAND闪存11的一侧通知的非必需逻辑TU编号L。
在步骤S12中,CPU13参考存储器12的逻辑-物理转换表来确定与获取的非必需逻辑TU编号L对应的物理TU编号是否在逻辑-物理转换表中保持设置成UNDEF(未定义)。
在步骤S12中,在确定与获取的非必需逻辑TU编号L对应的物理TU编号未保持设置成UNDEF(未定义)时,该处理继续到步骤S13。
在步骤S13中,CPU13参考存储器12上的物理TU状态图在物理TU状态图中将与获取的非必需逻辑TU编号L对应的物理TU的状态设置成DIRTY。
在步骤S14中,CPU13参考存储器12的逻辑-物理转换表在逻辑-物理转换表中将与获取的非必需逻辑TU编号L对应的物理TU编号设置成UNDEF。
在步骤S15中,CPU13向存储器12的非必需逻辑TU列表添加获取的非必需逻辑TU编号L,然后该处理结束。
同时,当在步骤S12中确定与获取的非必需逻辑TU编号L对应的物理TU编号保持设置成UNDEF时,不执行步骤S13至S15,并且处理结束。
根据上述处理,在物理TU状态图中,将与从使用NAND闪存11的一侧通知的非必需逻辑TU编号对应的物理TU的状态设置成DIRTY。因此,由于将与非必需逻辑TU编号对应的物理TU设置成在折叠处理中从复制目标排除,所以如上文参照图7所述,有可能高效保护非易失性存储器中的自由空间,因此有可能提高非易失性存储器中的数据重写性能并且增加非易失性存储器、比如NAND闪存的寿命。
接着将描述数据读取操作。
[数据读取]
CPU13参考存储器12的逻辑-物理转换表将对其执行读取的逻辑TU编号转换成物理TU编号。然后,CPU13从转换的物理TU编号指定将对其执行数据读取的物理TU并且读取对应数据区域。
这里,在没有将对其执行读取的与逻辑TU编号对应的物理TU(UNDEF的情况)时,不执行数据区域的读取,并且通过填充0xff或者填充0x00来返回数据。
接着将参照图10的流程图描述数据写入操作。
[数据写入]
首先,在步骤S31中,CPU13确定最近写入的物理TU是否为块的最后物理TU。
当在步骤S31中确定最近写入的物理TU不是块的最后物理TU时,该处理继续到步骤S32。
在步骤S32中,CPU13将写入目标的物理TU(下文称为“写入目标PTU”)设置为块的下一PTU(物理TU)。
然而,当在步骤S31中确定最近写入的物理TU是块的最后物理TU时,该处理继续到步骤S33。
在步骤S33中,CPU13选择如下块,其中在块中的第一物理TU是“未写入物理TU”,并且将块中的第一物理TU设置为写入目标PTU。
在步骤S32或者步骤S33之后,在步骤S34中,CPU13在设置的写入目标PTU中写入指定的数据。
在步骤S35中,CPU13更新存储器12的逻辑-物理转换表、物理TU状态图和非必需逻辑TU列表。
具体而言,如果将其中需要写入的逻辑TU的编号设置成L’,则在逻辑-物理转换表中的与逻辑TU编号L’先前对应的物理TU编号不保持为设置成UNDEF时,CPU13在物理TU状态图中将对应物理TU的状态和写入目标PTU的状态分别设置成DIRTY和INUSE。
另外,CPU13在逻辑-物理转换表中使逻辑TU编号L’与写入目标PTU的编号相关联。
另外,当在非必需逻辑TU列表中包括逻辑TU编号L’时,CPU13从非必需逻辑TU列表删除逻辑TU编号L’。
接着,将参照图11的流程图描述折叠处理中的操作。假设图11中所示的折叠处理在满足预定开始条件时开始并且被重复直至满足预定结束条件。
[折叠处理]
首先,在步骤S51中,CPU13选择用作折叠处理的目标的块(下文称为“折叠目标块”)。这里,例如,从NAND闪存11中的块之中选择具有更大数目的“已写入无效物理TU”(DIRTY物理TU)的块。
在步骤S52中,CPU13从选择的折叠目标块选择没有复制的“已写入有效物理TU”(INUSE物理TU)。
在步骤S53中,CPU13读取选择的物理TU中的数据。
在步骤S54中,CPU13向复制目的地的块中的未写入物理TU复制读取的数据的内容。
在步骤S55中,CPU13确定是否已经完全复制折叠目标块中的所有“已写入有效物理TU”。
当在步骤S55中确定没有完全复制折叠目标块中的所有“已写入有效物理TU”时,处理返回到步骤S52,并且重复后续过程。
然而,当在步骤S55中确定已完全复制折叠目标块中的所有“已写入有效物理TU”时,处理继续到步骤S56。在步骤S56中,CPU13擦除折叠目标块,并且处理结束。
根据上述过程,“未写入物理TU”(CLEAN物理TU)的数目增加,因此非易失性存储器中的自由空间增加。另外,在与非必需逻辑TU编号对应的物理TU存在于折叠目标块中时,对应物理TU是“已写入无效物理TU”(DIRTY物理TU)、因此从复制目标被排除。换而言之,如上文参照图7所述,有可能高效保护非易失性存储器中的自由空间,因此有可能提高非易失性存储器中的数据重写性能并且增加非易失性存储器、比如NAND闪存的寿命。
接着,将描述在激活时的表构造。
[在激活时的表构造]
如上文所述,逻辑-物理转换表、物理TU状态图和非必需逻辑TU列表是在存储器12上的数据且因此在断电时丢失。另一方面,在JP2009-116601A中公开了一种在断电之后重新激活时通过在每块基础上扫描在物理TU的附加区域中写入的管理信息来恢复逻辑-物理转换表和物理TU状态图的技术。在物理TU的附加区域中写入的管理信息包括与对应物理TU对应的逻辑TU编号和代表向每个块分配的写入序列的编号。
然而,在JP2009-116601A中公开的技术中,如果与在非必需逻辑TU列表中包括的非必需逻辑TU编号对应的物理TU在断电时未被擦除、而是存在于NAND闪存11中,则在其中与非必需逻辑TU编号对应的物理TU的状态在重新激活时为INUSE的状态中恢复和构造表。
在这一情况下,文件系统侧不参考与非必需逻辑TU编号对应的物理TU,但是由于非必需逻辑TU列表丢失,所以逻辑-物理转换层侧确定状态为INUSE。因此,非必需数据保持被持有,并且难以高效保护自由空间。
就这一点而言,下文将描述一种在断电之后重新激活时恢复非必需逻辑TU列表的技术。
首先,将描述在断电之后重新激活时恢复非必需逻辑TU列表的第一技术。
[保持非必需逻辑TU列表作为文件系统上的数据并且通知非必需逻辑TU编号的技术]
图12是用于描述存储非必需逻辑TU列表的处理的流程图。
在步骤S71中,CPU13确定是否已经检测到断电。在步骤S71中,处理直至检测到断电才继续。
当在步骤S71中确定检测到断电时,处理紧接在断电之前继续到步骤S72。在步骤S72中,CPU13在NAND闪存11的数据区域中将存储器12的非必需逻辑TU列表存储为文件系统的数据。
如上文所述,紧接在断电之前存储非必需逻辑TU列表。
图13是用于描述通知非必需逻辑TU编号的过程的流程图。在断电之后重新激活时执行图13的非必需逻辑TU编号通知处理。
在步骤S91中,CPU13读取在NAND闪存11的数据区域中存储的非必需逻辑TU列表。
在步骤S92中,CPU13基于读取的非必需逻辑TU列表使文件系统通知非必需逻辑TU编号。
在如上文所述从文件系统通知非必需逻辑TU编号时,如上文参照图9的流程图所述在逻辑-物理转换层中重新构造非必需逻辑TU列表。
接着将描述在断电之后重新激活时恢复非必需逻辑TU列表的第二技术。
[在逻辑-物理转换层侧中存储非必需逻辑TU列表并且通知非必须逻辑TU编号的技术]
图14是用于描述在逻辑-物理转换层侧中存储非必需逻辑TU列表的处理的流程图。
在步骤S111中,CPU13确定是否已经检测到断电。在步骤S111中,该处理直至检测到断电才继续。
当在步骤S111中确定已经检测到断电时,处理紧接在断电之前继续到步骤S112。在步骤S112中,CPU13选择用于存储该存储器12的非必需逻辑TU列表的未写入物理TU。
在步骤S113中,CPU13向在选择的物理TU的附加区域中写入的管理信息中包括的逻辑TU编号设置特殊编号。因此,用于存储非必需逻辑TU列表的物理TU与其中存储来自文件系统的数据的其它物理TU相区分。
在步骤S114中,CPU13将存储器12的非必需逻辑TU列表存储于被设置特殊编号的物理TU的数据区域中。
如上文所述,在断电之前存储非必需逻辑TU列表。
读取存储的非必需逻辑TU列表,并且与在断电之后重新激活时执行的并且上文参照图13的流程图描述的非必需逻辑TU编号通知处理相似地通知非必需逻辑TU编号。作为结果,如上文参照图9的流程图所述在逻辑-物理转换层中重新构造非必需逻辑TU列表。
另外,将描述用于在断电之后重新激活时恢复非必需逻辑TU列表的第三技术。
[从文件系统的管理信息生成非必需逻辑TU编号并且通知非必需逻辑TU编号的技术]
图15是用于描述生成和通知非必需逻辑TU编号的处理的流程图。在断电之后重新激活时执行图15的处理。
在步骤S131中,CPU13从在文件系统的管理信息中包括的与未使用区域有关的信息生成非必需逻辑TU编号。
一般而言,文件系统通过它的管理信息了解在它本身将使用的区域中的用来存储数据的区域和未使用区域。因此,文件系统可以从在管理信息中包括的与未使用区域有关的信息识别出未使用区域作为非必需逻辑TU并且生成非必需逻辑TU编号。例如,在文件系统是文件分配表(FAT)文件系统时,从表生成非必需逻辑TU编号。
在步骤S132中,CPU13使文件系统通知生成的非必需逻辑TU编号。
在文件系统如上文所述通知非必需逻辑TU编号时,如上文参照图9的流程图所述在逻辑-物理转换层中重新构造非必需逻辑TU列表。
在图15的处理中,需要时间来收集与未使用区域有关的信息,但是有可能向逻辑-物理转换层穷举通知非必需逻辑TU信息。
假设在断电之后重新激活时执行图15的处理,然而可以使用系统的空闲时间来执行图15的处理。
根据上述处理,由于在断电之后重新激活时恢复非必需逻辑TU列表,所以非必需数据未保持被存储,因此有可能高效保护非易失性存储器中的自由空间,并且有可能提高非易失性存储器中的数据重写性能并且增加非易失性存储器、比如NAND闪存的寿命。
[关于在写入或者擦除过程中在断电时的对策]
接着将描述一种根据在断电、故障等引起的系统停机出现之后执行的系统恢复处理使NAND闪存11中的数据存储状态正常化的技术。
当在对NAND闪存11写入的过程中断电时,正在写入的物理TU的数据或者管理信息可能是中途值。另外,当在擦除NAND闪存11的过程中断电时,在正在擦除的块中的物理TU的数据或者管理信息可能保留而未被完全擦除。作为结果,在重新激活时,中途状态的物理TU可以被识别为有效物理TU且被使用或者可能被识别为未写入物理TU且被重改写。
就这一点而言,在JP2009-116601A中公开了如下技术:在重新激活时通过紧接在写入或者检查在物理TU的附加区域中写入的管理信息中包括的循环冗余校验(CRC)信息之后写入代表在物理TU的附加区域中的写入完成的信息来校正在中途状态中的物理TU。
下文将描述一种增强在擦除过程中对断电的对策的技术。
[在擦除过程中对断电的对策的第一增强]
首先,将参照图16描述在其中执行断电对策的状态中的块擦除处理的例子。
图16图示了非易失性存储器的8个块在时序中的状态A至E。
首先,图16的状态A是如下状态,在该状态中,在从左侧起的第六个块中重写LTU13、LTU14和LTU17的数据,在该块中进一步重写LTU17的数据,并且执行LTU13、LTU4和LTU8的重写,从而在从左侧起的第七个块中新写入LTU3、LTU4和LTU8的数据。
图16的状态B是其中执行LTU9的重写的状态。作为结果,在从左侧起的第七个块中新写入LTU9的数据,并且将其中已经写入LTU9的数据的物理TU的状态设置成DIRTY。
作为结果,从左侧起的第三个块的所有物理TU被设置成DIRTY并且如在图16的状态C中那样处于可擦除状态。这时,在从左侧起的第七个块的物理TU中写入LTU9的数据,并且在其中写入LTU9的数据的物理TU的附加区域中写入可擦除的、从左侧起的第三个块的编号(下文称为“擦除块编号”)BN3。
这里,在图16的状态C中,假设在擦除从左侧起的第三个块的过程中断电。
图16的状态D是非易失性存储器在断电之后重新激活时的状态。在图16的状态D中,由于在擦除过程中断电,所以从左侧起的第三个块的状态变成中途状态。
就这一点而言,在图16的状态E中,基于在折叠处理中在其中最后写入数据、也就是写入LTU9的数据的物理TU的附加区域中写入的擦除块编号BN3擦除从左侧起的第三个块。
如上文所述,即使在擦除块的过程中断电,仍然在重新激活时可靠擦除在中途状态中的块。
接着,将参照图17的流程图描述在上文参照图16描述的块擦除过程中写入块编号的过程。
不仅在如上文参照图16所述由于响应于来自文件系统的请求重写物理TU的数据的处理而出现可擦除块(其中包括的所有物理TU的状态被设置成DIRTY的块)时、而且在复制源的块在折叠处理中可擦除时执行块擦除。
换而言之,在步骤S151中,CPU13读取在重写逻辑TU的数据或者折叠过程中用作写入目标的(复制源的)物理TU的数据。
在步骤S152中,CPU13确定包括写入目标PTU的块是否可擦除。
当在步骤S152中确定包括写入目标PTU的块可擦除时,该处理继续到步骤S153。在步骤S153中,CPU13在写入目的地(复制目的地)的物理TU中写入待写入(复制)的数据,并且在写入目的地(复制目的地)的物理TU的附加区域中写入擦除目标块的块编号(擦除块编号)。
然后,在步骤S154中,CPU13擦除该擦除目标块,然后处理结束。
然而,当在步骤S152中确定包括写入目标PTU的块不可擦除时,该过程继续到步骤S155。在步骤S155中,CPU13在写入目的地(复制目的地)的物理TU中写入待写入(复制)的数据,然后该处理结束。
根据上文描述的处理,在预定数据处理中的可擦除块的块编号(擦除块编号)与从擦除目标块最后复制的数据一起存储。因此,即使当在预定数据处理中擦除块的过程中断电时,仍然可以在重新激活时参考擦除块编号可靠擦除在中途状态中的块。
[在擦除过程中对断电的对策的第二增强]
接着,将参照图18描述在其中执行断电对策的状态中的块擦除处理的另一例子。
图18图示了非易失性存储器的8个块在时序中的状态A至E。
与图16的状态A相似,图18的状态A是如下状态,在该状态中,在从左侧起的第六个块中重写LTU13、LTU14和LTU17的数据,在该块中再次重写LTU17的数据,并且执行LTU3、LTU4和LTU8的重写,从而在从左侧起的第七个块中新写入LTU3、LTU4和LTU8的数据。
接着,图18的状态B是如下状态,在该状态中作为非必需逻辑TU编号通知LTU0、LTU1和LTU2。这时,逻辑-物理转换层侧将与非必需逻辑TU编号对应的物理TU的状态视为DIRTY。
图18的状态C是其中执行LTU9的重写的状态。作为结果,在从左侧起的第七个块中新写入LTU9的数据,并且将其中已经写入LTU9的数据的物理TU的状态设置成DIRTY。
作为结果,从左侧起的第三个块的所有物理TU被设置成DIRTY并且如在图8的状态D中那样处于可擦除状态中,并且在其中写入LTU9的数据的物理TU的附加区域中写入从左侧起的可擦除的第三个块的编号(擦除块编号)BN3。
图18的状态E是其中执行LTU10的重写的状态。作为结果,在从左侧起的第八个块中新写入LTU10的数据。这时,从左侧起的第一个块的所有物理TU被设置成DIRTY并且可擦除。
就这一点而言,在图18的状态E中,在其中写入LTU10的数据的物理TU的附加区域中写入从左侧起的可擦除的第一个块的编号(擦除块编号)BN1。
然后,在图18的状态F中,擦除从左侧起的可擦除的第一个块。
接着,将参照图19的流程图描述在上文参照图18描述的块擦除过程中写入块编号的处理。
图19的流程图的步骤S171至174的处理除了在步骤S172中的确定结果为否时的处理之外与图17的流程图的步骤S151至154的处理相似,因此将不给出其描述。
换而言之,当在步骤S172中确定包括写入目标PTU的块不可擦除时,该处理继续到步骤S175。在步骤S175中,CPU13确定是否有另一可擦除块,即针对其通过重写逻辑TU的数据或者通知非必需逻辑TU编号来将所有物理TU设置成DIRTY的块。
当在步骤S175中确定有另一可擦除块时,该处理继续到步骤S176。在步骤S176中,CPU13在写入目的地(复制目的地)的物理TU中写入待写入(复制)的数据并且在写入目的地(复制目的地)的物理TU的附加区域中写入另一可擦除块的块编号(擦除块编号)。
然后,在步骤S177中,CPU13擦除另一可擦除块,然后该处理结束。
然而,当在步骤S175中确定没有可擦除块时,处理继续到步骤S178。在步骤S178中,CPU13在写入目的地(复制目的地)的物理TU中写入待写入(复制)的数据,然后处理结束。
根据上述过程,通过通知非必需逻辑TU编号而变得已经可擦除的块的块编号(擦除块编号)与通过数据处理从块复制的数据一起存储。因此,即使当在预定数据处理中擦除块的过程中断电时,仍然可以在重新激活时参考擦除块编号可靠地擦除在中途状态中的块。
根据本技术的实施例,可以获得以下效果。(1)由于在逻辑-物理转换层中存储非必需逻辑TU信息(非必需逻辑TU编号),并且在折叠处理时不会没有用处地复制非必需逻辑TU,所以可以提高NAND闪存的重写性能并且增加NAND闪存的寿命。(2)由于在正常操作时在存储器中存储非必需逻辑TU信息并且直接在断电之前在NAND闪存中写入非必需逻辑TU信息,所以有可能抑制对NAND闪存的写入负荷而不依赖于具体文件系统并且在重新激活时恢复非必需逻辑TU信息。(3)由于文件系统在重新激活时通知代表未使用区域(空区域)的信息作为非必需逻辑TU信息,所以有可能抑制对NAND闪存的写入负荷并且在重新激活时恢复非必需逻辑TU信息。(4)由于在折叠处理中变成可擦除的块的块编号存储于另一个块中,所以即使在擦除可擦除块的过程中断电并且块进入中途状态时,仍然可以指定块并且可靠地擦除块。
在上例中,假设本技术应用于执行NAND闪存的访问管理的存储器管理设备,然而本技术可以应用于执行任何其它非易失性存储器的访问管理的存储器管理设备。
另外,本技术的实施例可以应用于各种设备,这些设备包括使用非易失性存储器的存储设备、个人计算机、显示设备比如电视接收器、便携通信设备比如移动电话、视频/音乐再现设备(或者音频/音乐记录和再现设备)和游戏设备。另外,本技术的实施例可以应用于集成到上述各种设备中的记录介质的控制集成电路(IC)。
上述系列处理可以由硬件执行或者可以由软件执行。在系列处理由软件执行时,向在专用硬件中并入的计算机中安装形成软件的程序,或者从程序存储介质向例如可以通过安装各种类型的程序来执行各种类型的功能的通用个人计算机中安装形成软件的程序。
图20是示出使用程序来执行上述系列处理的计算机的硬件配置例子的框图。
在计算机中,中央处理单元(CPU)901、只读存储器(ROM)902和随机存取存储器(RAM)903由总线904相互连接。此外,CPU901对应于CPU13,该CPU13用作根据本技术的控制单元,并且ROM902和RAM903对应于存储器12,该存储器12用作根据本技术的保持单元。
另外,输入/输出接口905连接到总线904。键盘、鼠标、麦克风等形成的输入单元906、显示器、扬声器等形成的输出单元907、硬盘、非易失性存储器等形成的存储单元908、网络接口等形成的通信单元909和驱动可拆卸介质911的驱动910连接到输入/输出接口905,该可拆卸介质是磁盘、光盘、光磁盘或者半导体存储器等。存储单元908对应于NAND闪存11,该NAND闪存11用作根据本技术的非易失性存储器。
在如上文所述配置的计算机中,CPU901经由输入/输出接口905和总线904向RAM903上加载例如在存储单元908中存储的程序并且执行程序。因此执行上述系列处理。
在可拆卸介质911中记录计算机(CPU901)执行的程序,该可拆卸介质是例如磁盘(包括软盘)、光盘(紧致盘只读存储器(CD-ROM)、数字万用盘(DVD)等)、光磁盘或者半导体存储器等形成的封装介质。可替选地,经由有线或者无线传输介质、比如局域网、因特网和数字卫星广播提供程序。
然后,通过向驱动910中插入可拆卸介质911,可以经由输入/输出接口905在存储单元908中安装程序。另外,通信单元909可以经由有线或无线传输介质接收程序并且在存储单元908中安装程序。另外,可以在ROM902或者存储单元908中预先安装程序。
应当注意,计算机执行的程序可以是根据在说明书中描述的序列在时序中处理的程序,或者并行地或者在必需定时、比如在被调用时处理的程序。
本领域技术人员应当理解,根据设计要求和其它因素可以出现各种修改、组合、子组合和变更,只要它们在所附权利要求或者其等效含义的范围内。
此外,也可以如下配置本技术。
(1)一种存储器管理设备,包括:
非易失性存储器,在每页基础上执行数据的写入和读取,并且在每块基础上执行擦除;以及
控制单元,通过在每转换单位TU基础上执行逻辑-物理转换来管理所述非易失性存储器中的数据处理,并且执行折叠处理,
其中所述控制单元基于非必需逻辑TU信息将与所述非必需逻辑TU信息对应的物理TU的数据设置成将在所述折叠处理中从复制目标排除,所述非必需逻辑TU信息由文件系统通知并且代表与其中物理地写入非必需数据的物理TU对应的逻辑TU。
(2)根据(1)的存储器管理设备,还包括:
保持单元,保持非必需逻辑TU信息。
(3)根据(2)的存储器管理设备,
其中,所述控制单元在断电之前使所述保持单元中保持的所述非必需逻辑TU信息作为所述文件系统上的数据存储于所述非易失性存储器中,并且在激活时使所述文件系统执行所述非易失性存储器中存储的所述非必需逻辑TU信息的通知。
(4)根据(2)的存储器管理设备,
其中,所述控制单元在断电之前在所述非易失性存储器的被设置预定逻辑TU编号的物理TU中存储所述保持单元中保持的所述非必需逻辑TU信息,并且在激活时使所述文件系统执行在被设置所述预定逻辑TU编号的物理TU中存储的所述非必需逻辑TU信息的通知。
(5)根据(2)的存储器管理设备,
其中,所述控制单元使所述文件系统基于在所述文件系统的管理信息中包括的与未使用区域有关的信息生成所述非必需逻辑TU信息并执行所述非必需逻辑TU信息的通知。
(6)根据(2)至(5)中的任一项的存储器管理设备,
其中,所述保持单元保持用于管理每个物理TU的状态的物理TU状态图和存储所述非必需逻辑TU信息的非必需逻辑TU列表,并且
其中,在所述文件系统向所述控制单元通知所述非必需逻辑TU信息时,所述控制单元将所述物理TU状态图中的与所述非必需逻辑TU信息对应的物理TU的状态设置成已写入无效物理TU,并且向所述非必需逻辑TU列表添加所述通知的非必需逻辑TU信息。
(7)根据(6)的存储器管理设备,
其中,所述保持单元还保持其中逻辑TU的地址与物理TU的地址相关联的逻辑-物理转换表,并且
其中,在所述文件系统向所述控制单元通知所述非必需逻辑TU信息时,所述控制单元在所述逻辑-物理转换表中将与所述非必需逻辑TU信息对应的物理TU的地址设置成未定义。
(8)根据(6)的存储器管理设备,
其中,所述控制单元在所述块中包括的所述物理TU的所有状态在所述物理TU状态图中被设置成已写入无效物理TU时擦除所述块。
(9)根据(8)的存储器管理设备,
其中,在包括用作数据的复制源的物理TU的所述块作为数据处理的结果变成可擦除时,所述控制单元在所述数据将在所述数据处理中被复制到的所述未写入物理TU中写入代表变成可擦除的所述块的块编号并且擦除所述块。
(10)根据(9)的存储器管理设备,
其中,所述数据处理是响应于来自所述文件系统的请求重写逻辑TU的数据。
(11)根据(9)的存储器管理设备,
其中数据处理是折叠处理。
(12)根据(9)至(11)中的任一项的存储器管理设备,
其中,在作为所述数据处理的结果包括用作数据的复制源的物理TU的所述块没有变成可擦除而另一个块变成可擦除时,所述控制单元在所述数据将在所述数据处理中被复制到的所述未写入物理TU中写入代表变成可擦除的所述另一个块的块编号并且擦除所述另一个块。
(13)一种存储器管理设备的存储器管理方法,所述存储器管理设备包括:非易失性存储器,在每页基础上执行数据的写入和读取并且在每块基础上执行擦除;以及控制单元,通过在每转换单位(TU)基础上执行逻辑-物理转换来管理所述非易失性存储器中的数据处理并且执行折叠处理,所述存储器管理方法包括:
所述存储器管理设备基于非必需逻辑TU信息将与所述非必需逻辑TU信息对应的物理TU的数据设置成将在所述折叠处理中从复制目标排除,所述非必需逻辑TU信息由文件系统通知并且代表与其中物理地写入非必需数据的物理TU对应的逻辑TU。
(14)一种用于使计算机执行以下操作的程序,所述计算机包括:非易失性存储器,在每页基础上执行数据的写入和读取并且在每块基础上执行擦除;以及控制单元,通过在每转换单位(TU)基础上执行逻辑-物理转换来管理所述非易失性存储器中的数据处理并且执行折叠处理:
基于非必需逻辑TU信息将与所述非必需逻辑TU信息对应的物理TU的数据设置成将在所述折叠处理中从复制目标被排除,所述非必需逻辑TU信息由文件系统通知并且代表与其中物理地写入非必需数据的物理TU对应的逻辑TU。
本公开内容包含与在通过引用将全部内容结合于此、于2012年5月30日向日本专利局提交的第JP2012-122852号日本优先权专利申请中公开的主题内容有关的主题内容。
Claims (14)
1.一种存储器管理设备,包括:
非易失性存储器,以每页为基础执行数据的写入和读取,并且以每块为基础执行擦除;以及
控制单元,通过以每转换单位TU为基础执行逻辑-物理转换来管理所述非易失性存储器中的数据处理,并且执行折叠处理,
其中所述控制单元基于非必需逻辑TU信息将与所述非必需逻辑TU信息对应的物理TU的数据设置成将在所述折叠处理中从复制目标排除,所述非必需逻辑TU信息由文件系统通知并且代表与其中物理地写入非必需数据的物理TU对应的逻辑TU。
2.根据权利要求1所述的存储器管理设备,还包括:
保持单元,保持所述非必需逻辑TU信息。
3.根据权利要求2所述的存储器管理设备,
其中,所述控制单元在断电之前使所述保持单元中保持的所述非必需逻辑TU信息作为所述文件系统上的数据存储于所述非易失性存储器中,并且在激活时使所述文件系统执行所述非易失性存储器中存储的所述非必需逻辑TU信息的通知。
4.根据权利要求2所述的存储器管理设备,
其中,所述控制单元在断电之前在所述非易失性存储器的被设置预定逻辑TU编号的物理TU中存储所述保持单元中保持的所述非必需逻辑TU信息,并且在激活时使所述文件系统执行在被设置所述预定逻辑TU编号的物理TU中存储的所述非必需逻辑TU信息的通知。
5.根据权利要求2所述的存储器管理设备,
其中,所述控制单元使所述文件系统基于在所述文件系统的管理信息中包括的与未使用区域有关的信息来生成所述非必需逻辑TU信息并执行所述非必需逻辑TU信息的通知。
6.根据权利要求2所述的存储器管理设备,
其中,所述保持单元保持用于管理每个物理TU的状态的物理TU状态图和存储所述非必需逻辑TU信息的非必需逻辑TU列表,并且
其中,在所述文件系统向所述控制单元通知所述非必需逻辑TU信息时,所述控制单元将所述物理TU状态图中的与所述非必需逻辑TU信息对应的物理TU的状态设置成已写入无效物理TU,并且向所述非必需逻辑TU列表添加所通知的非必需逻辑TU信息。
7.根据权利要求6所述的存储器管理设备,
其中,所述保持单元还保持其中逻辑TU的地址与物理TU的地址相关联的逻辑-物理转换表,并且
其中,在所述文件系统向所述控制单元通知所述非必需逻辑TU信息时,所述控制单元在所述逻辑-物理转换表中将与所述非必需逻辑TU信息对应的物理TU的地址设置成未定义。
8.根据权利要求6所述的存储器管理设备,
其中,所述控制单元在所述块中包括的所述物理TU的所有状态在所述物理TU状态图中被设置成已写入无效物理TU时擦除所述块。
9.根据权利要求8所述的存储器管理设备,
其中,在包括用作数据的复制源的物理TU的所述块作为数据处理的结果变成可擦除时,所述控制单元在所述数据将在所述数据处理中被复制到的所述未写入物理TU中写入代表变成可擦除的所述块的块编号,并且擦除所述块。
10.根据权利要求9所述的存储器管理设备,
其中,所述数据处理是响应于来自所述文件系统的请求重写逻辑TU的数据。
11.根据权利要求9所述的存储器管理设备,
其中所述数据处理是所述折叠处理。
12.根据权利要求9所述的存储器管理设备,
其中,在作为所述数据处理的结果包括用作数据的复制源的物理TU的所述块没有变成可擦除而另一个块变成可擦除时,所述控制单元在所述数据将在所述数据处理中被复制到的所述未写入物理TU中写入代表变成可擦除的所述另一个块的块编号,并且擦除所述另一个块。
13.一种存储器管理设备的存储器管理方法,所述存储器管理设备包括:非易失性存储器,在每页基础上执行数据的写入和读取并且在每块基础上执行擦除;以及控制单元,通过在每转换单位TU基础上执行逻辑-物理转换来管理所述非易失性存储器中的数据处理并且执行折叠处理,所述存储器管理方法包括:
所述存储器管理设备基于非必需逻辑TU信息将与所述非必需逻辑TU信息对应的物理TU的数据设置成将在所述折叠处理中从复制目标排除,所述非必需逻辑TU信息由文件系统通知并且代表与其中物理地写入非必需数据的物理TU对应的逻辑TU。
14.一种用于使计算机执行以下操作的程序,所述计算机包括:非易失性存储器,在每页基础上执行数据的写入和读取并且在每块基础上执行擦除;以及控制单元,通过在每转换单位TU基础上执行逻辑-物理转换来管理所述非易失性存储器中的数据处理并且执行折叠处理:
基于非必需逻辑TU信息将与所述非必需逻辑TU信息对应的物理TU的数据设置成将在所述折叠处理中从复制目标被排除,所述非必需逻辑TU信息由文件系统通知并且代表与其中物理地写入非必需数据的物理TU对应的逻辑TU。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012122852A JP2013250603A (ja) | 2012-05-30 | 2012-05-30 | メモリ管理装置および方法、並びにプログラム |
JP2012-122852 | 2012-05-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103455430A true CN103455430A (zh) | 2013-12-18 |
Family
ID=49671734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310194128.1A Pending CN103455430A (zh) | 2012-05-30 | 2013-05-23 | 存储器管理设备和方法以及程序 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130326123A1 (zh) |
JP (1) | JP2013250603A (zh) |
CN (1) | CN103455430A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958643A (zh) * | 2017-05-19 | 2018-12-07 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN111367826A (zh) * | 2018-12-26 | 2020-07-03 | 旺宏电子股份有限公司 | 闪存装置及其控制方法 |
US11169871B2 (en) | 2017-02-23 | 2021-11-09 | SK Hynix Inc. | Data storage device and operating method thereof |
-
2012
- 2012-05-30 JP JP2012122852A patent/JP2013250603A/ja active Pending
-
2013
- 2013-05-23 US US13/900,682 patent/US20130326123A1/en not_active Abandoned
- 2013-05-23 CN CN201310194128.1A patent/CN103455430A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11169871B2 (en) | 2017-02-23 | 2021-11-09 | SK Hynix Inc. | Data storage device and operating method thereof |
CN108958643A (zh) * | 2017-05-19 | 2018-12-07 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN108958643B (zh) * | 2017-05-19 | 2021-05-25 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN111367826A (zh) * | 2018-12-26 | 2020-07-03 | 旺宏电子股份有限公司 | 闪存装置及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2013250603A (ja) | 2013-12-12 |
US20130326123A1 (en) | 2013-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103164345B (zh) | 固态存储装置遭遇断电后的数据存储方法 | |
TWI444825B (zh) | 記憶體儲存裝置、記憶體控制器與資料寫入方法 | |
CN103136116B (zh) | 存储器存储系统及其中控装置、管理方法与断电恢复方法 | |
US8028120B2 (en) | System with flash memory device and data recovery method thereof | |
JP3708047B2 (ja) | フラッシュメモリの管理方法 | |
JP3892851B2 (ja) | メモリカード及び半導体装置 | |
CN102667736B (zh) | 存储器管理装置及存储器管理方法 | |
CN102576332B (zh) | 用于电力中断管理的方法和包含电力中断管理的存储器系统 | |
US8055834B2 (en) | Method for preventing read-disturb happened in non-volatile memory and controller thereof | |
TWI569139B (zh) | 有效資料合併方法、記憶體控制器與記憶體儲存裝置 | |
CN104461391A (zh) | 一种存储设备元数据管理处理方法及系统 | |
CN108932107B (zh) | 数据存储装置及其操作方法 | |
CN103294604A (zh) | 闪存器件和使用闪存器件的电子设备 | |
US20110055625A1 (en) | Nonvolatile memory device and memory controller | |
TW200947439A (en) | Memory system | |
TWI420308B (zh) | 區塊管理方法、記憶體控制器與記憶體儲存裝置 | |
CN101923448A (zh) | 一种nand闪存的转换层读写方法 | |
CN101494085A (zh) | 防止非易失性存储器发生读取干扰的方法及其控制器 | |
TW201508748A (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US20220075523A1 (en) | Flash memory local purge | |
CN109521944A (zh) | 数据储存装置以及数据储存方法 | |
CN103176920A (zh) | Nor flash掉电保护方法及装置 | |
CN103455430A (zh) | 存储器管理设备和方法以及程序 | |
CN104424115B (zh) | 恢复电子设备的预设状态的方法、存储装置和电子设备 | |
TW201321974A (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131218 |