CN103389942A - 控制装置、存储装置及存储控制方法 - Google Patents
控制装置、存储装置及存储控制方法 Download PDFInfo
- Publication number
- CN103389942A CN103389942A CN2013101607888A CN201310160788A CN103389942A CN 103389942 A CN103389942 A CN 103389942A CN 2013101607888 A CN2013101607888 A CN 2013101607888A CN 201310160788 A CN201310160788 A CN 201310160788A CN 103389942 A CN103389942 A CN 103389942A
- Authority
- CN
- China
- Prior art keywords
- physical
- data
- management information
- logic
- physical page
- 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/7201—Logical 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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开涉及控制装置、存储装置及存储控制方法,其中,该控制装置包括控制单元,该控制单元进行对第一非易失性存储器的数据写入的控制,在该第一非易失性存储器中作为删除单位的物理块的尺寸大于作为最小写入单位的物理页的尺寸,并且该控制单元生成指示通过数据写入的控制写入有数据的写入目标物理块中的物理页地址和逻辑地址之间的对应关系的逻辑和物理地址管理信息,以便进行控制使得在每次将数据写入第一非易失性存储器时都将逻辑和物理地址管理信息存储在第二非易失性存储器中。
Description
技术领域
本技术涉及一种控制装置、存储装置及存储控制方法。特别地,本技术涉及对用于从逻辑地址到物理地址的转换的管理信息的处理。
背景技术
例如,采用诸如NAND型闪存的非易失性存储器的存储装置已被普及。非易失性存储器用于在各种电子装置和信息处理装置中使用的存储卡、固态驱动器(SSD)、嵌入式多媒体卡等。
日本未审查专利申请公开第2009-70098、2007-334852、2007-193838和2007-58840号公开了采用闪存的存储装置。
在非易失性存储器中,物理地址用作物理存储区的地址。因此,设定物理块、物理页及物理扇区。多个物理扇区构成物理页,而多个物理页构成物理块。
以物理块单位执行删除(擦除)并且可以物理页单位执行写入(编程)和读取。
逻辑地址用于从主机装置侧的地址指定。根据逻辑地址的逻辑块和逻辑页与上述物理地址相关联。因此,响应于访问请求将逻辑地址转换为物理地址并且执行对实际闪存的访问。
发明内容
因此,在NAND型闪存等用于存储的存储装置中,必须将从主机装置指定的逻辑地址转换为指示与逻辑地址相对应的数据位于闪存上的哪个物理块的哪个物理页上的物理地址。
因此,必须构建用于执行该转换的管理信息。
为了支持该管理信息构建的高速性能,提出了一种限制数据写入的性能使得逻辑地址在物理块中总是连续的方法。根据该方法,找出在物理块中最终使用的物理页并且获取在物理页中记录的数据的物理地址,从而能够高速地构建管理信息。
然而在此方法中,在物理块中写入的数据的逻辑地址必须总是连续的。另外,存在这样的问题,当主机装置即将写入具有不连续逻辑地址的数据时或当主机装置更新具有已写入逻辑地址的数据时,经常会发生另一个物理块受保护并且在已保护的物理块上复制数据的垃圾收集,这会显著地减少装置的寿命并且以及写入速度。
另一方面,还公开了一种允许在物理块中连续写入具有不连续逻辑地址的数据的方法。
根据该方法,即使当写入具有不连续逻辑地址的数据时,也可以避免发生上述垃圾收集。然而,具有不连续逻辑地址的数据在物理块中是连续的,这在构建管理信息上花费了时间。具体地,在这种情况下构建管理信息通过获取作为对象的物理块中的所有物理页的逻辑地址来执行,因此在获取管理信息上花费了大量时间并且因此在此时导致写入/读取速度下降。
希望避免这种允许在物理块中连续写入具有不连续逻辑地址的数据以及经常发生垃圾收集的问题,并且希望通过加速逻辑和物理地址的管理信息的获取来提高写入/读取速度。
根据本技术的一个实施方式,提供了一种控制装置,该控制装置的配置如下。
即,根据本技术的实施方式的控制装置包括控制单元,该控制单元进行对第一非易失性存储器的数据写入的控制,在该第一非易失性存储器中作为删除单位的物理块的尺寸大于作为最小写入单位的物理页的尺寸,并且控制单元生成指示通过数据写入的控制写入有数据的写入目标物理块中的物理页地址和逻辑地址之间的对应关系的逻辑和物理地址管理信息,以便进行控制使得在每次将数据写入第一非易失性存储器时都将逻辑和物理地址管理信息存储在第二非易失性存储器中。
进一步地,根据本技术的另一实施方式,一种存储装置的配置如下。
即,根据本技术的该另一实施方式的存储装置包括第一非易失性存储器,其中作为删除单位的物理块的尺寸大于作为最小写入单位的物理页的尺寸。
根据本技术的该另一实施方式的存储装置还包括第二非易失性存储器。
根据本技术的该另一实施方式的存储装置还包括控制单元,该控制单元进行对于第一非易失性存储器的数据写入的控制并且生成指示通过数据写入的控制写入有数据的写入目标物理块中的物理页地址和逻辑地址之间的对应关系的逻辑和物理地址管理信息,以便进行控制使得在每次将数据写入第一非易失性存储器时都将逻辑和物理地址管理信息存储在第二非易失性存储器中。
如上所述,在本技术的实施方式中,逻辑和物理地址管理信息被生成为存储在非易失性存储器(第二非易失性存储器)中。因此,不需要施加写入数据以使逻辑地址在物理块中必然地变得连续的这样的限制,从而能够避免允许在物理块中连续写入具有不连续逻辑地址的数据以及经常发生垃圾收集的这样的问题。
这里,在允许在物理块中连续写入具有不连续逻辑地址的数据的现有技术的方法中,已读出利用逻辑和物理地址管理信息进行管理的所有物理页,以获取逻辑和物理地址管理信息。另一方面,根据本技术的上述实施方式,将逻辑和物理地址管理信息存储在第二非易失性存储器中,从而可以通过从第二非易失性存储器中读出来实现逻辑和物理地址管理信息的获取。因此,加速管理信息的获取从而提高写入/读取速度。
根据本技术的实施方式,可以避免允许在物理块中连续写入具有不连续逻辑地址的数据以及经常发生垃圾收集的这样的状态,并且加速逻辑和物理地址的管理信息的获取从而提高写入/读取速度。
附图说明
图1是示出了根据实施方式的存储装置的内部配置的框图;
图2示意性地示出了根据实施方式的物理块和物理页之间的关系;
图3示出了写入数据以使逻辑地址在物理块中必然地变得连续的现有技术的方法;
图4示出了图3中描述的现有技术的方法存在的问题;
图5示出了允许在物理块中连续写入具有不连续逻辑地址的数据的现有技术的方法;
图6示出了根据实施方式的写入方法;
图7示出了管理表的数据配置;
图8是根据实施方式的管理表构建处理的流程图;
图9是根据实施方式的数据写入的处理的流程图;
图10示意性地示出了指示多个物理块的逻辑和物理地址的对应关系的管理表的概念;以及
图11示出了指示多个物理块的逻辑和物理地址的对应关系的管理表的数据配置。
具体实施方式
下面将对本技术的实施方式进行描述。
按照以下顺序进行描述。
<1、存储装置的配置>
<2、现有技术的写入方法>
<3、实施方式的写入方法>
<4、处理程序>
<5、变形例>
<1、存储装置的配置>
图1的框图示出了根据本技术的实施方式的存储装置的存储卡1的内部配置。
存储卡1与主机装置2连接并且用作存储装置。例如考虑将诸如个人计算机、数码照相机、视频摄像机、音频播放器、视频播放器、游戏机、便携式电话以及如个人数字助理(PDA)的信息终端等的各种电子装置和信息处理装置用作主机装置2。
存储卡1包括控制单元11、内部随机存取存储器(RAM)12、装置接口13、缓存RAM14、闪存15及非易失性存储器(NV存储器)16。
控制单元11由中央处理器(CPU)构成并且对整个存储卡1进行控制。因此,控制单元11按顺序执行存储在内部RAM12中的指令码。主要地,控制单元11允许根据主机装置2的命令执行数据写入和读取。因此,控制单元11对于主机装置2进行装置接口13的数据发送/接收操作控制、缓存RMA14的写入/读取操作控制以及对闪存15的访问操作控制。
内部RAM12由例如静态随机存取存储器(SRAM)构成。内部RAM12用于存储由控制单元11执行的程序(固件)并且用作工作区。
装置接口13与主机装置2通信。
缓存RAM14用于缓存对于主机装置2的传输数据(写入数据和读取数据)。
闪存15是非易失性存储器并且在本示例中NAND型闪存被用作闪存15。
NV存储器16是存储用于控制单元11的各种处理中的数据的非易失性存储器。
作为存储卡1的基本操作,在数据写入时根据来自主机装置2的写入请求发送写入地址(逻辑地址)、数据尺寸以及待写入数据。
从主机装置2发送的数据在装置接口13处接收并且在缓存RAM14中缓存。然后,在控制单元11的控制下将数据写入闪存15。控制单元11根据写入请求、写入地址以及数据尺寸控制这些操作。
在数据读取过程中根据主机装置2的读取请求发送读取地址(逻辑地址)和数据尺寸。控制单元11基于读取地址和数据尺寸读出由闪存15指定的数据并且在缓存RAM14中对该数据进行缓存。进一步地,控制单元11对所缓存的读取数据进行错误校正处理等。然后,将读取数据从缓存RAM14转发至装置接口13以便发送至主机装置2。
还有,在闪存15中,物理地址用作物理存储区的地址。因此,设定物理块、物理页级物理扇区。物理页由多个物理扇区构成,而物理块由多个物理页构成。
图2示意性地示出了在物理块和物理页之间的关系。
在实施方式中,假设单个物理块由128片物理页构成。
这里,物理页被划分为多个物理扇区,但未示出。
以物理块单位来执行删除(擦除)。进一步地,在物理页单位中可以执行写入(编程)和读取。即,物理块是物理删除单位(最小删除单位),而物理页是物理写入单元(最小写入单位)。
逻辑地址用于从主机装置2侧的地址指定。根据逻辑地址的逻辑块、逻辑页及逻辑扇区与上述物理地址相关联。即,控制单元11通过使逻辑地址与物理地址相关联的方式生成逻辑和物理地址管理信息。响应于来自主机装置2的访问请求,控制单元11参照逻辑和物理地址管理信息以便将指定的逻辑地址转换为物理地址。然后,控制单元11通过物理地址执行对闪存15的实际访问。
下文中,请求由主机装置2写入和读取的数据(由主机装置2通过逻辑地址管理的数据)称为“主机数据”。
<2、现有技术的写入方法>
作为现有技术的常用写入方法之一,可以引用如图3所示的写入数据以使逻辑地址在物理块中变得总是连续的方法。
图3示出了发出用于写入作为主机数据的数据的指令的情况,该数据对应于六个页,赋予这六个页逻辑地址0至5(页单位的逻辑地址)。
从具有物理页号=0的物理页开始顺序使用物理块,以便将这种情况下的主机数据(逻辑地址=0至5)写入连续物理页,如图3所示。
在采用如上所述的写入数据以使逻辑地址变得总是连续的方法的情况下,当在下次获取在物理块中写入的主机数据的信息时,通过在物理块中找出最终使用的物理页并且读取在物理页的冗余区域中写入的主机数据的逻辑地址,可以掌握在物理块中的主机数据的记录状态。即,可以掌握在物理块中的逻辑地址和物理地址之间的对应关系。
注意确认此时的最终使用的物理页表示在过去进行最近的数据写入的物理页。如上所述,从具有等于0的物理页号的物理页开始顺序使用物理块。因此,在保证物理块中的逻辑地址的连续性的状态下,当证明是记录在最终使用的物理页中的数据的逻辑地址时,把握物理块中的逻辑和物理地址的对应关系。
然而,当采用图3中所示的方法时,产生了图4中所示的问题。
图4示出了在第一写入时的主机数据是具有逻辑地址0至4的数据(5页的数据),并且进行作为第二写入的具有逻辑地址=1的数据的重写的情况。
在这种情况下,假设对物理块M进行在第一写入中的主机数据(逻辑地址=0至4)的写入。
在第二写入中,必须保证在物理块中的逻辑地址的连续性。因此,难以在物理块M中写入逻辑地址=1(该逻辑地址是新近写入的)的数据。进一步地,删除单位是物理块单位,因此也难以删除记录在物理块M中的逻辑地址=1的数据,并且难以新写入在第二写入时指定的逻辑地址=1的数据。
因此,在这种情况下,新保护(secure,确保)与物理块M不同的物理块N,并且将记录在物理块M中的逻辑地址=0,2,3,4的数据和第二次发出写入指令的逻辑地址=1的数据写入如上所述的受保护的物理块N,使得逻辑地址变得连续。
在如上所述保证逻辑地址的连续性的方法中,在更新具有已经写入的逻辑地址的主机数据时发生在另一个物理块N上复制主机数据的所谓的垃圾收集。
虽然省略了参照附图的描述,但在将不连续逻辑地址的主机数据写入物理块的情况下也会发生该垃圾收集。即,保证逻辑地址的连续性的现有技术的方法导致频繁发生垃圾收集。
频繁发生垃圾收集严重地劣化了装置的寿命期限和写入速度。
另一方面,公开了一种允许在物理块中连续写入具有不连续逻辑地址的主机数据的方法,作为现有技术的另一种写入方法。
在采用该方法的情况下,如图5所示,当如在上述图4的情况下那样写入具有逻辑地址=0至4的主机数据之后在第二写入时发出用于重写具有逻辑地址=1的数据的指令时,可以将在第二写入时具有逻辑地址=1的主机数据写入具有物理页号=5的随后部分中。
即,从这一点可知,根据允许物理块中的逻辑地址的不连续性的方法,可以有效避免经常发生垃圾收集的这样的状态。
然而,在现有技术的方法中,通过获取目标物理块中的所有物理页的逻辑地址来构建管理信息。结果,花费了大量时间来获取管理信息,并且由此降低了写入/读取速度。
在本技术的实施方式中,避免了允许在物理块中连续写入具有不连续逻辑地址的数据以及经常发生垃圾收集的状态,并且加速逻辑和物理地址的管理信息的获取,从而提高写入/读取速度。
<3、实施方式的写入方法>
在本实施方式中,首先假设基于逻辑和物理地址管理信息来管理在物理块中的逻辑和物理地址的对应关系以便允许物理块中的物理地址的不连续性。具体地,采用稍后描述的管理表。
允许在物理块中的物理地址的不连续性可以使上述垃圾收集发生的次数减少。
在本技术的实施方式中,假设由上述逻辑和物理地址管理信息来管理,则可以在短时间段内有效获取逻辑和物理地址管理信息,并且因此提高对主机数据写入/读取的访问速度。
具体地,在本实施方式中,采用这样的方法,使得在每次写入主机数据时都要将逻辑和物理地址管理信息写入图1中所示的NV存储器16。
这里,逻辑和物理地址管理信息在下文中也被称为管理表。
图6示出了该实施方式的写入方法。
图6示出了以下情况,对于作为写入对象的某个物理块(假设是未记录的物理块),发出用于第一次写入作为主机数据的具有逻辑地址=0至4的数据的指令,发出用于第二次重写作为主机数据的具有逻辑地址=1的数据的指令,然后发出用于第n次写入作为主机数据的具有逻辑地址=200的数据的指令。
响应于第一次写入主机数据的指令,首先将具有逻辑地址=0至4的指定数据写入在物理块中具有物理页号0至4的物理页中。
如上所述,从具有物理页号=0的物理页开始顺序使用物理块。
然后,生成指示有关这些写入数据的逻辑和物理地址的对应关系的管理表,并且将该管理表写入NV存储器16中。具体地,响应于图6中所示第一次写入主机数据来生成指示在逻辑地址=0,1,2,3,4和写入有具有这些逻辑地址的数据的物理页的物理页号之间的对应关系的管理表,并且将该管理表写入NV存储器16中。
在随后的主机数据的写入中也以类似的方式进行管理表的写入。
具体地,在响应于第二次写入主机数据(重写逻辑地址=1的数据)的指令将具有如图6发出的写入指令的逻辑地址=1的主机数据写入具有物理页号=5的物理页之后,生成指示具有物理页号=0至5的物理页中的逻辑和物理地址的对应关系的管理表,并且将生成的管理表写入NV存储器16中。
图6示出了随后使用具有物理页号=6至123的物理页,然后发出第n次写入主机数据(逻辑地址=200的数据)的指令的情况。在将逻辑地址=200的指定数据写入具有物理页号=124的物理页之后,在第n次写入时生成指示在具有物理页号=0至124的物理页中的逻辑和物理地址的对应关系的管理表,并且将生成的管理表写入NV存储器16中。
图7示出了管理表的数据配置。
如图7所示,管理表是使逻辑地址与物理页号相关联的信息。
在该示例中,一个管理表是用于管理在单个物理块中的逻辑和物理地址的对应关系的信息。在该示例中的逻辑地址是提供给写入在目标物理块中的物理页中的主机数据的逻辑地址。在管理表中,每个逻辑地址都与写入主机数据(其中设置有该逻辑地址)的物理页的物理页号的信息相关联。
在该实施方式中,如上所述,生成指示在目标物理块中的逻辑和物理地址的对应关系的管理表(逻辑和物理地址管理信息)以便存储在NV存储器16中。因此,当随后获取逻辑和物理地址的管理信息以执行相应物理块的读取/写入时,可以从NV存储器16读出。因此,可以比现有技术的方法的情况更快地获取逻辑和物理地址管理信息。
具体地,在允许物理块中的逻辑地址的不连续性的现有技术的方法中,必须读出目标物理块中的所有物理页以获取逻辑和物理地址管理信息。然而,根据该实施方式,不需要读出所有物理页并且仅读出在NV存储器16中存储的相应逻辑和物理地址管理信息就足够了。因此,可以比现有技术更快地获取管理信息,从而提高读取/写入速度。
进一步地,在该实施方式中将管理表存储在NV存储器16中,从而不压缩闪存15的存储容量,即,用户数据的存储容量。
这里,在该实施方式中,如以上所述在每次写入主机数据时管理表都写入在NV存储器16中。即,如以上图6所述的多次将主机数据写入某个物理块的情况下,每次写入主机数据时都要将物理块上的管理表写入NV存储器16中。
此时,关于写入管理表,可以选择是覆写在主机数据的先前写入中已写入NV存储器16的管理表还是附加该管理表使得不覆写而是保持主机数据的先前写入的管理表。
在该示例中,采用后一种方法,即,附加管理表使得不覆写而是保存先前管理表的方法。
在稍后将参照图8描述的处理中,通过使用所保存的先前写入的管理表来高速执行最后管理表的恢复处理。
注意确认,控制单元11在内部RAM12上生成管理表。
如上所述,控制单元11掌握即将根据来自主机装置2侧的命令写入的数据的逻辑地址。
控制单元11在内部RAM12上积累这样的信息作为管理表的条目信息,在该信息中发出写入指令的主机数据的逻辑地址与即将写入主机数据的物理页的物理页号相关联。由此生成管理表(最后管理表)。每次写入主机数据时都要将如上所述生成的管理表写入NV存储器16。
<4、处理程序>
参照图8和图9的流程图来描述即将执行以实现本实施方式的上述写入方法的特定处理的程序。
图8和图9中所示的处理由控制单元11根据在诸如闪存15和NV存储器16等的预定存储装置中存储的程序来执行。
图8示出了管理表的构建处理。
至少可以在开始阶段执行图8中所示的管理表的构建处理。
在图8中,在步骤S101中,控制单元11首先确定NV存储器16中是否存在目标物理块的管理表。
在步骤S101中,NV存储器16中存在目标物理块的管理表表示过去已经将主机数据写入目标物理块(即,在使用目标物理块)。
另一方面,NV存储器16中不存在目标物理块的管理表表示未使用目标物理块的情况或由于某种原因即便在使用目标物理块时也读不出管理表的情况。
这里,在该示例中,附加管理表并且保存上一次写入的管理表。因此,上述“读不出管理表的情况”可以是读不出两个管理表,即,新/旧管理表的情况以及读不出响应于主机数据的写入已经存储在NV存储器16中的一个管理表的情况,该主机数据的写入只对于目标物理块进行一次。
当在步骤S101中获得NV存储器16中不存在目标物理块的管理表的否定结果时,控制单元11进行至步骤S102,在目标物理块中搜索最后使用的物理页。
例如,二分搜索法可以用于搜索最后使用的物理页。如上所述,此时最后使用的物理页表示过去已经写入最后数据的物理页。
例如,上述二分搜索法是一种用于搜索最后使用的物理页同时确认中心物理页的方法。在物理块由例如位于中心的物理页的八个物理页(0至7)构成的情况下,首先确认具有物理页号=4的物理页。当具有物理页号=4的物理页是写入物理页时,应理解,最后使用的物理页存在于具有物理页号=4的物理页之后的物理页中。由此确认位于物理页号=5至7的范围中心的物理页号=6的物理页。当具有物理页号=6的物理页是写入物理页时,可以将具有物理页号=7的物理页指定为最后使用的物理页。由此减少物理页以便搜索最后使用的物理页同时确认中心物理页。
在执行步骤S102的搜索之后,在步骤S103中,控制单元11确定是否未使用目标物理块。即,当通过步骤S102的搜索获得不存在最后使用的物理页的结果时,获得指示未使用目标物理块的肯定结果,而当获得存在最后使用的物理页的结果时,获得指示使用目标物理块的否定结果。
当未使用目标物理块时,难以构建管理表。当步骤S103中获得肯定结果时,控制单元11结束图8中所示的处理操作。
另一方面,当获得使用目标物理块的否定结果时,在步骤S104至S109中,控制单元11执行恢复最后管理表的处理。
应注意,确认“最后管理表”此时在该示例中表示指示目标物理块中记录的所有主机数据片的逻辑和物理地址的对应关系的管理表。
具体地,控制单元11首先在步骤S104中执行读取在之前的步骤S102中搜索的最后使用的物理页的处理,并且在步骤105中获取记录在物理页中的数据的逻辑地址。即,获取在步骤S104中读出的最后使用的物理页中记录的数据的逻辑地址(或在以下步骤S107中读出的物理页中记录的数据的逻辑地址)。
在步骤S105中获取逻辑地址之后,在步骤S106中,控制单元11确定相关物理页是否是物理块的首页。
即,控制单元11确定在步骤S104中读出的最后使用的物理页(或在步骤S107中读出的物理页)是否是目标物理块的首页物理页。
当在步骤S106中获得相关物理页不是物理块的首页的否定结果时,控制单元11去至步骤S107以读出上一物理页,并且然后返回先前步骤S105以获取记录在物理页中的数据的逻辑地址。
通过步骤S105至S107的循环处理,获取从最后使用的物理页至首页物理页的各个物理页的逻辑地址。
当在步骤S106中获得相关物理页是物理块的首页的肯定结果时,控制单元11去至步骤S108以生成目标物理块的管理表。即,控制单元11生成管理表,该管理表指示在步骤S105中获取的逻辑地址和记录设置有逻辑地址的数据的物理页的物理页号之间的对应关系。由此生成目标物理块的最后管理表。
在步骤S108中生成管理表之后,控制单元11在步骤S109中将管理表写入NV存储器16。由此恢复目标物理块的最后管理表。
当在前述步骤S101中获得NV存储器16中存在目标物理块的管理表的肯定结果时,控制单元11在步骤S110至S113中执行证实管理表是否是最后管理表的处理。当管理表不是最后管理表时,控制单元11在步骤S114至S115中执行恢复最后管理表的处理。
具体地,控制单元11在步骤S110中获取在管理表中管理的最后物理页号。
这里,上述“最后物理页号”表示在目标物理块的管理表中管理的物理页号中具有最大值的物理页号。例如,当NV存储器16中存在目标物理块的两个管理表(新旧管理表)时,在这些管理表中管理的物理页号中具有最大值的物理页号对应于最后物理页号。
在获取上述最后物理页号之后,在步骤S111中,控制单元11在目标物理块中搜索最后使用的物理页,并且在步骤S112中获取最后使用的物理页的物理页号。
在以下步骤S113中,确定管理表是否是最后管理表。即,当步骤S110中获取的最后物理页号与步骤S112中获取的最后使用的物理页的物理页号一致时,获得管理表是最后管理表的肯定结果。当最后物理页号与最后使用的物理页的物理页号不一致时,获得管理表不是最后管理表的否定结果。
当在步骤S113中获得管理表是最后管理表的肯定结果时,控制单元11结束图8中所示的处理操作。即,因为在这种情况下不一定要进行管理表的恢复,所以控制单元11结束处理操作。
另一方面,当在步骤S113中获得管理表不是最后管理表的否定结果时,控制单元11去至步骤S114,以获取在没有管理的物理页中记录的数据的逻辑地址。
具体地,控制单元11获取这样的物理页中记录的数据的逻辑地址,这些物理页在从具有步骤S112中获取的最后使用的物理页号的物理页至具有作为步骤S110中获取的最后物理页号的后续号的物理页号的物理页的范围内。
在执行步骤S114的逻辑地址获取处理之后,控制单元11在步骤S115中更新管理表。即,控制单元11更新NV存储器16上的管理表,以便将这样的信息附加到管理NV存储器16中存在的最后物理页号的管理表中,该信息使步骤S114中获取的逻辑地址与记录设置有逻辑地址的数据的物理页的物理页号相关联。
由此执行最后管理表的恢复。
这里在该实施方式中,如上所述附加管理表,使得不覆写而是保存在主机数据的先前写入时已经写入NV存储器16的管理表。
因此,在步骤S114和步骤S115中,在最后管理表的上述恢复处理中可以使用所保存的管理表中包含的信息,并且由此可以高速执行最后管理表的恢复。
进一步地,在该实施方式中,在每次写入主机数据时都将管理表写入NV存储器16。因此,可以减少图8中所示的最后管理表的恢复处理的执行次数(S104至S109或S110至S115)。
例如,描述了两次写入的主机数据的管理表生成并且在每两次写入主机数据时存储在NV存储器16中的情况。当在第n次写入主机数据与第n+1次写入主机数据之间发生电力中断时,在以下开始阶段必须必然地通过图8中所示的构建处理来执行最后管理表的恢复。另一方面,如果每次写入主机数据时都要将管理表写入NV存储器16,则可以避免出现该问题。
如果至少在开始阶段执行根据如上所示的图8的管理表的构建处理,则在从主机装置2发出写入/读取指令的时间点可以获得控制单元11掌握闪存15中的每个物理块的逻辑和物理地址的最后对应关系的状态。
随后,图9示出了待响应于主机数据的写入而执行的处理。
在图9中,例如在步骤S201中,控制单元11接收根据主机装置2的写入请求写入的主机数据并且获取逻辑地址。
具体地,控制单元11经由装置接口13暂时将发送的主机数据存储在缓存RAM14中。进一步地,控制单元11根据经由装置接口13发送的写入请求的命令掌握要写入的主机数据的逻辑地址和数据量。
在步骤S202中,生成或更新管理表以便响应于此时的数据写入。
由于执行了以上在图8中所示的构建处理,控制单元11目前(在写入主机数据之前的时间点)处于控制单元11已掌握作为写入目标的物理块中的逻辑和物理地址的对应关系的状态。
当过去已经对目标物理块执行了主机数据写入时,步骤S202的处理变成基于从现在起要写入的主机数据的逻辑和物理地址的对应关系信息更新已经存储在内部RAM12中的管理表的处理。或者,当第一次使用目标物理块时,步骤S202的处理变成基于从现在起要写入的主机数据的逻辑和物理地址的对应关系信息新生成管理表的处理。
在步骤S202中执行管理表的生成/更新处理之后,在步骤S203中,控制单元11执行主机数据的写入。
如上所述,从物理页号=0开始顺序使用物理块,以便控制单元11从这样的物理页开始顺序写入从主机装置2侧指定的主机数据,所述物理页是紧接目标物理块的最后使用的物理页的物理页。
在执行主机数据的写入之后,在步骤S204中,控制单元11将管理表写入NV存储器16。即,控制单元11将在前述步骤S202中在内部RAM12中生成/更新的管理表写入NV存储器16。
在该示例中,在步骤S204中,为了保存在先前相对于目标物理块写入主机数据时存储在NV存储器16中的管理表(该表被称为先前管理表),步骤S202中在内部RAM12中生成/更新的管理表不用于覆写先前管理表,但可以写入以便附加到先前管理表中。
<5、变形例>
至此已描述了根据本技术的实施方式,但本技术的实施方式不限于上述具体示例。
在上述描述中,管理表是指示单个物理块的逻辑和物理地址的对应关系的信息,但例如,管理表也可以是指示多个物理块的逻辑和物理地址的对应关系的信息。
图10示意性地示出了此种情况下的管理表的概念。
图10示出了指示物理块M、N、O这三个物理块的逻辑和物理地址的对应关系的管理表的示例。
在这种情况下,整体管理这三个物理块,并且在每次相对于这三个物理块的内侧写入主机数据时都要将管理表写入NV存储器16。
图11示出了指示多个物理块的逻辑和物理地址的对应关系的管理表的数据配置。
在管理表指示多个物理块的逻辑和物理地址的对应关系的情况下,管理表使逻辑地址、写入设置有逻辑地址的数据的物理页的数量(物理页号)以及写入设置有逻辑地址的数据的物理块的地址(物理块地址)相关联。
当利用单个管理表管理多个物理块的逻辑和物理地址的对应关系时,管理表的数据尺寸有变大的倾向。根据***环境,可以选择管理单个物理块的对应关系的管理表或管理多个物理块的对应关系的管理表。
当如上所述采用管理多个物理块的逻辑和物理地址的对应关系的管理表时,虽然在现有技术中已通过读取多个物理块中的所有写入物理页来获取逻辑和物理地址管理信息,但也可以通过读取单个管理表来获取逻辑和物理地址管理信息。因此,可以进一步提高读取/写入速度。
进一步地,在上述描述中,不覆写但保存先前管理表。然而,可以写入先前管理表以进行覆写。当采用这样的覆写时,可以抑制NV存储器16的存储容量的消耗。
进一步地,在上述描述中,在开始阶段执行以上在图8中示出的管理表的构建处理。然而,可以在除开始阶段之外的其他时间执行管理表的构建处理。例如,可以在每次由主机装置2请求写入或读取时执行构建处理。
进一步地,以上示出了本技术的实施方式适用于包括NAND型闪存的存储装置的示例。然而,本技术的实施方式可以有利地适用于将数据写入存储器单元的情况,在该存储器单元中作为删除单位的物理块的尺寸大于作为最小写入单位的物理页的尺寸。
本技术的实施方式可以采用以下配置。
(1)一种控制装置,包括:控制单元,该控制单元进行对于第一非易失性存储器的数据写入的控制,在该第一非易失性存储器中作为删除单位的物理块的尺寸大于作为最小写入单位的物理页的尺寸,并且该控制单元生成指示通过数据写入的控制写入有数据的写入目标物理块中的物理页地址和逻辑地址之间的对应关系的逻辑和物理地址管理信息,以便进行控制使得在每次将数据写入第一非易失性存储器时都将逻辑和物理地址管理信息存储在第二非易失性存储器中。
(2)根据(1)所述的控制装置,其中,控制单元执行对逻辑和物理地址管理信息的附加(append,追加)的控制,从而保存在对写入目标物理块的上一次数据写入时存储在第二非易失性存储器中的逻辑和物理地址管理信息。
(3)根据(2)所述的控制装置,其中,控制单元进行处理,使得控制单元确定最后使用的物理页的物理页号是否与在目标物理块的逻辑和物理地址管理信息中管理的最后物理页号一致,最后使用的物理页是通过搜索目标物理块中的最后使用的物理页而获得的,并且控制单元在物理页号与最后物理页号不一致时获取在目标物理块的逻辑和物理地址管理信息中未管理的每个物理页中记录的数据的逻辑地址,以便基于所获取的逻辑地址来更新逻辑和物理地址管理信息。
(4)根据(1)所述的控制装置,其中,控制单元进行控制,使得对于第二非易失性存储器的逻辑和物理地址管理信息的存储被执行为对于逻辑和物理地址管理信息的覆写,逻辑和物理地址管理信息在对于写入目标物理块的上一次数据写入中存储在第二非易失性存储器中。
(5)根据(1)至(4)中的任一项所述的控制装置,其中,控制单元生成指示每一个物理块的物理页地址和逻辑地址之间的对应关系的信息,作为逻辑和物理地址管理信息。
(6)根据(1)至(4)中的任一项所述的控制装置,其中,控制单元生成指示每多个物理块的物理页地址和逻辑地址之间的对应关系的信息,作为逻辑和物理地址管理信息。
(7)根据(1)至(6)中的任一项所述的控制装置,其中,控制单元对作为NAND型闪存的第一非易失性存储器进行写入控制。
本发明包含于2012年5月11日向日本专利局提交的日本在先专利申请JP2012-109090所公开的内容相关的主题,其全部内容通过引用并入本文。
本领域的技术人员应理解,可根据设计要求和其他因素进行各种修改、组合、子组合以及变更,只要这些修改、组合、子组合以及变更均处于所附权利要求或其等同物的范围内。
Claims (10)
1.一种控制装置,包括:
控制单元,所述控制单元进行对于第一非易失性存储器的数据写入的控制,在所述第一非易失性存储器中作为删除单位的物理块的尺寸大于作为最小写入单位的物理页的尺寸,并且所述控制单元生成指示通过所述数据写入的控制写入有数据的写入目标物理块中的物理页地址和逻辑地址之间的对应关系的逻辑和物理地址管理信息,以便进行控制使得在每次将数据写入所述第一非易失性存储器时都将所述逻辑和物理地址管理信息存储在第二非易失性存储器中。
2.根据权利要求1所述的控制装置,其中,所述控制单元执行对所述逻辑和物理地址管理信息的附加的控制,从而保存在对所述写入目标物理块的上一次数据写入时存储在所述第二非易失性存储器中的所述逻辑和物理地址管理信息。
3.根据权利要求2所述的控制装置,其中,所述控制单元进行处理,使得所述控制单元确定最后使用的物理页的物理页号是否与在目标物理块的逻辑和物理地址管理信息中管理的最后物理页号一致,所述最后使用的物理页是通过搜索目标物理块中的最后使用的物理页而获得的,并且所述控制单元在所述物理页号与所述最后物理页号不一致时获取在所述目标物理块的逻辑和物理地址管理信息中未管理的每个物理页中记录的数据的逻辑地址,以便基于所获取的逻辑地址来更新所述逻辑和物理地址管理信息。
4.根据权利要求1所述的控制装置,其中,所述控制单元进行控制,使得对于所述第二非易失性存储器的所述逻辑和物理地址管理信息的存储被执行为对于所述逻辑和物理地址管理信息的覆写,所述逻辑和物理地址管理信息在对于所述写入目标物理块的上一次数据写入时存储在所述第二非易失性存储器中。
5.根据权利要求1所述的控制装置,其中,所述控制单元生成指示每一个物理块的所述物理页地址和所述逻辑地址之间的对应关系的信息,作为所述逻辑和物理地址管理信息。
6.根据权利要求1所述的控制装置,其中,所述控制单元生成指示每多个物理块的所述物理页地址和所述逻辑地址之间的对应关系的信息,作为所述逻辑和物理地址管理信息。
7.根据权利要求1所述的控制装置,其中,所述控制单元对作为NAND型闪存的所述第一非易失性存储器进行写入控制。
8.一种存储装置,包括:
第一非易失性存储器,其中,作为删除单位的物理块的尺寸大于作为最小写入单位的物理页的尺寸;
第二非易失性存储器;以及
控制单元,进行对于所述第一非易失性存储器的数据写入的控制,并且生成指示通过所述数据写入的控制写入有数据的写入目标物理块中的物理页地址和逻辑地址之间的对应关系的逻辑和物理地址管理信息,以便进行控制使得在每次将数据写入所述第一非易失性存储器时都将所述逻辑和物理地址管理信息存储在所述第二非易失性存储器中。
9.一种存储控制方法,包括:
进行对于第一非易失性存储器的数据写入的控制,在所述第一非易失性存储器中作为删除单位的物理块的尺寸大于作为最小写入单位的物理页的尺寸,并且生成指示通过所述数据写入的控制写入有数据的写入目标物理块中的物理页地址和逻辑地址之间的对应关系的逻辑和物理地址管理信息,以便进行控制使得在每次将数据写入所述第一非易失性存储器时都将所述逻辑和物理地址管理信息存储在第二非易失性存储器中。
10.根据权利要求9所述的存储控制方法,还包括:执行对所述逻辑和物理地址管理信息的附加的控制,从而保存在对所述写入目标物理块的上一次数据写入时存储在所述第二非易失性存储器中的所述逻辑和物理地址管理信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012109090A JP5874525B2 (ja) | 2012-05-11 | 2012-05-11 | 制御装置、記憶装置、記憶制御方法 |
JP2012-109090 | 2012-05-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103389942A true CN103389942A (zh) | 2013-11-13 |
Family
ID=49534221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101607888A Pending CN103389942A (zh) | 2012-05-11 | 2013-05-03 | 控制装置、存储装置及存储控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130304972A1 (zh) |
JP (1) | JP5874525B2 (zh) |
CN (1) | CN103389942A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111198655A (zh) * | 2018-11-16 | 2020-05-26 | 三星电子株式会社 | 包括非易失性存储器器件的存储设备及其操作方法 |
CN112988038A (zh) * | 2019-12-17 | 2021-06-18 | 国民技术股份有限公司 | 非易失性存储器的数据写入方法、终端和可读存储介质 |
CN116661704A (zh) * | 2023-07-07 | 2023-08-29 | 深圳宏芯宇电子股份有限公司 | 存储装置数据读写方法、存储器存储装置及存储器控制器 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9904688B2 (en) | 2014-09-30 | 2018-02-27 | International Business Machines Corporation | Buffering and replicating data written to a distributed storage system |
US9916325B2 (en) | 2014-09-30 | 2018-03-13 | International Business Machines Corporation | Quick initialization of data regions in a distributed storage system |
TWI601011B (zh) * | 2016-07-05 | 2017-10-01 | 慧榮科技股份有限公司 | 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法 |
US10977186B2 (en) * | 2017-11-21 | 2021-04-13 | Micron Technology, Inc. | Last written page searching |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07219720A (ja) * | 1993-10-01 | 1995-08-18 | Hitachi Maxell Ltd | 半導体メモリ装置ならびにその制御方法 |
JP2005316793A (ja) * | 2004-04-30 | 2005-11-10 | Tdk Corp | フラッシュメモリシステム及びフラッシュメモリの制御方法 |
JP2007164318A (ja) * | 2005-12-12 | 2007-06-28 | Renesas Technology Corp | 記憶装置 |
KR100882740B1 (ko) * | 2007-02-22 | 2009-02-09 | 삼성전자주식회사 | 맵 히스토리 기반의 불휘발성 메모리의 매핑 방법 및 저장장치 |
US7975109B2 (en) * | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
US8219776B2 (en) * | 2009-09-23 | 2012-07-10 | Lsi Corporation | Logical-to-physical address translation for solid state disks |
US8726126B2 (en) * | 2010-03-23 | 2014-05-13 | Apple Inc. | Non-regular parity distribution detection via metadata tag |
US8850160B2 (en) * | 2010-08-23 | 2014-09-30 | Apple Inc. | Adaptive write behavior for a system having non-volatile memory |
US8793429B1 (en) * | 2011-06-03 | 2014-07-29 | Western Digital Technologies, Inc. | Solid-state drive with reduced power up time |
US9104614B2 (en) * | 2011-09-16 | 2015-08-11 | Apple Inc. | Handling unclean shutdowns for a system having non-volatile memory |
US8819367B1 (en) * | 2011-12-19 | 2014-08-26 | Western Digital Technologies, Inc. | Accelerated translation power recovery |
-
2012
- 2012-05-11 JP JP2012109090A patent/JP5874525B2/ja active Active
-
2013
- 2013-05-02 US US13/875,961 patent/US20130304972A1/en not_active Abandoned
- 2013-05-03 CN CN2013101607888A patent/CN103389942A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111198655A (zh) * | 2018-11-16 | 2020-05-26 | 三星电子株式会社 | 包括非易失性存储器器件的存储设备及其操作方法 |
CN112988038A (zh) * | 2019-12-17 | 2021-06-18 | 国民技术股份有限公司 | 非易失性存储器的数据写入方法、终端和可读存储介质 |
CN116661704A (zh) * | 2023-07-07 | 2023-08-29 | 深圳宏芯宇电子股份有限公司 | 存储装置数据读写方法、存储器存储装置及存储器控制器 |
CN116661704B (zh) * | 2023-07-07 | 2024-03-08 | 深圳宏芯宇电子股份有限公司 | 存储装置数据读写方法、存储器存储装置及存储器控制器 |
Also Published As
Publication number | Publication date |
---|---|
JP2013235531A (ja) | 2013-11-21 |
JP5874525B2 (ja) | 2016-03-02 |
US20130304972A1 (en) | 2013-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9983799B2 (en) | Trim command processing method, memory control circuit unit and memory storage apparatus | |
US8843691B2 (en) | Prioritized erasure of data blocks in a flash storage device | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US9489388B2 (en) | Computing system, host system and method for managing data | |
CN103389942A (zh) | 控制装置、存储装置及存储控制方法 | |
US8996791B2 (en) | Flash memory device, memory control device, memory control method, and storage system | |
US9582416B2 (en) | Data erasing method, memory control circuit unit and memory storage apparatus | |
CN110032333B (zh) | 存储器***及其操作方法 | |
TWI423022B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
CN103425589A (zh) | 控制装置、存储装置以及存储控制方法 | |
CN110674056B (zh) | 一种垃圾回收方法及装置 | |
US9389998B2 (en) | Memory formatting method, memory controller, and memory storage apparatus | |
US20170160940A1 (en) | Data processing method and apparatus of solid state disk | |
CN106598504B (zh) | 数据存储方法及装置 | |
US20120246415A1 (en) | Data merging method for non-volatile memory and controller and storage apparatus using the same | |
US8819332B2 (en) | Nonvolatile storage device performing periodic error correction during successive page copy operations | |
US20150205538A1 (en) | Storage apparatus and method for selecting storage area where data is written | |
CN103389941B (zh) | 存储器格式化方法、存储器控制器及存储器存储装置 | |
US20160124650A1 (en) | Data Storage Device and Flash Memory Control Method | |
US9304906B2 (en) | Memory system, controller and control method of memory | |
US9575883B2 (en) | Control device, storage device, and storage control method | |
US9798470B2 (en) | Memory system for storing and processing translation information | |
JP2007148965A (ja) | フラッシュディスク装置のエラーブロック管理方法及び装置 | |
CN103389943A (zh) | 控制装置、存储装置及存储控制方法 | |
KR100479170B1 (ko) | 메모리 억세스 제어장치 및 방법 |
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: 20131113 |