CN103383664A - 控制装置、存储装置以及存储控制方法 - Google Patents
控制装置、存储装置以及存储控制方法 Download PDFInfo
- Publication number
- CN103383664A CN103383664A CN2013101464884A CN201310146488A CN103383664A CN 103383664 A CN103383664 A CN 103383664A CN 2013101464884 A CN2013101464884 A CN 2013101464884A CN 201310146488 A CN201310146488 A CN 201310146488A CN 103383664 A CN103383664 A CN 103383664A
- Authority
- CN
- China
- Prior art keywords
- data
- management information
- physical
- physical block
- block address
- 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
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
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及控制装置、存储装置以及存储控制方法。其中,该控制装置包括:管理信息生成单元,被配置为对于要被写入非易失性存储器中的数据或已经被写入非易失性存储器中的数据,生成或更新逻辑-物理块地址管理信息,逻辑-物理块地址管理信息指示逻辑块地址与非易失性存储器上的物理块地址的关联;以及存取控制单元,被配置为在将数据写入非易失性存储器期间,控制数据以及逻辑-物理块地址管理信息到非易失性存储器的物理写入单元的写入。
Description
技术领域
本发明涉及控制装置、存储装置以及存储控制方法,尤其是涉及用于逻辑到物理块地址转换的管理信息的处理。
背景技术
使用非易失性存储器(例如,NAND闪存存储器)的存储装置被广泛使用。非易失性存储器用于存储卡、固态驱动器(SSD)、嵌入式多媒体卡(eMMC)以及例如电子装置、信息处理装置及其类似装置中使用的类似物。
日本未经审查专利申请公开第2009-70098、2007-334852、2007-193838以及2007-58840公开了使用闪存存储器的存储装置。
在非易失性存储器中,物理块地址(PBA)被用作物理存储区的地址。物理块地址由物理块、物理页以及物理扇区组成。多个物理扇区形成物理页,以及多个物理页形成物理块。
尽管擦除以物理块为单位执行,但写入(编程)和读取能够以物理页为单位执行。
主机或存储器控制单元指定使用逻辑块地址(LBA)的地址。由逻辑块和逻辑页组成的逻辑块地址与上述的物理块地址关联。因此,当请求存取时,逻辑块地址被转换为物理块地址,以便对闪存存储器进行实际存取。
发明内容
如上所述,在使用NAND闪存存储器作为存储器件的存储装置中,由主机装置指定的逻辑块地址必须被转换为物理块地址,其指示对应于逻辑块地址的数据将被写入的闪存存储器上物理块的物理页。
因此,不得不构造用于执行这个转换的管理信息。然而,当主机请求存取小规模的数据或具有非连续LBA的数据被频繁存取时,数据块不太可能连续存在于物理块中。因此,需要花费时间构造管理信息。这会导致系统速度的降低。
因此,即使(例如)具有非顺序地址的数据被频繁写入,也期望有效和正确构造和存储逻辑到物理块地址转换所必需的信息,从而增加存储器操作性能。
根据本发明的控制装置包括:管理信息生成单元,被配置为对于要被写入非易失性存储器中的数据或已经被写入所述非易失性存储器中的数据,生成或更新逻辑-物理块地址管理信息,所述逻辑-物理块地址管理信息指示逻辑块地址与所述非易失性存储器上的物理块地址的关联;以及存取控制单元,被配置为在将数据写入所述非易失性存储器期间,控制所述数据以及所述逻辑-物理块地址管理信息到所述非易失性存储器的物理写入单元的写入
根据本发明的存储装置包括控制装置和非易失性存储器。
根据本发明的存储控制方法包括:对于要被写入非易失性存储器中的数据或已经被写入所述非易失性存储器中的数据,生成或更新逻辑-物理块地址管理信息,所述逻辑-物理块地址管理信息指示逻辑块地址与所述非易失性存储器上的物理块地址的关联;以及在将数据写入所述非易失性存储器期间,控制所述数据以及所述逻辑-物理块地址管理信息到所述非易失性存储器的物理写入单元的写入。
在本发明中,逻辑-物理块地址管理信息与数据一起被写入物理写入单元(例如,物理页)。进一步地,在将数据写入非易失性存储器中时,根据要写入的数据更新逻辑-物理块地址管理信息,或根据已经被存储在非易失性存储器中的数据更新逻辑-物理块地址管理信息。
该逻辑-物理地址管理信息可以被用于将数据写入到物理写入单元的正常存取,以及从物理读出单元读出数据的正常存取。
根据本发明,可以有效且正确构造并存储用于逻辑到物理块地址转换必需的信息,从而增加存储器操作的性能。
附图说明
图1示出根据本发明实施方式的存储卡的框图;
图2示出根据本实施方式的非易失性存储器中的物理块和物理页的示意图;
图3A到3C示出根据本实施方式的逻辑-物理块地址管理信息(管理表)的示意图;
图4示出根据本实施方式的执行数据写入处理的流程图;
图5示出根据本实施方式的管理表构造处理的流程图;
图6A到6C示出根据本实施方式的管理表读取的示意图;
图7A到7E示出根据本实施方式的管理表写入时序的示意图;
图8A到8D示出根据本实施方式写入机会次数条件被添加到管理表的写入时序示意图;以及
图9A到9C示出根据本实施方式的地址顺序条件被添加到管理表的写入时序示意图。
具体实施方式
现在以下列次序描述实施方式。根据本实施方式的存储卡1相当于权利要求中的存储装置。存储卡1中的控制单元11相当于权利要求中的控制装置。由控制单元11执行的存储控制处理对应于权利要求中的存储控制方法。
1.存储卡的配置
2.逻辑-物理块地址管理信息(管理表)
3.数据写入控制处理/管理表构造处理
4.管理表写入机会
5.变形例
1.存储卡的配置
图1示出根据本实施方式的存储卡1的示例性配置。
存储卡1连接到主机装置2并被用作存储装置。主机装置2可以设想的例子包括各种类型的电子装置和信息处理装置,包括个人计算机,数码静态照相机,视频摄像机,音频播放器,视频播放器,游戏机,移动电话,以及例如个人数字助理(PDA)的信息终端。
存储卡1包括控制单元11,内部随机存取存储器(RAM)12,装置接口13,缓冲RAM,以及非易失性存储器15。
控制单元11是中央处理单元(CPU)并控制整个存储卡1。为此,控制单元11连续执行被加载到内部RAM12中的指令代码。首先,作为对来自主机装置2的命令的响应,控制单元11使其他组件写入或读取数据。为此,控制单元11控制装置接口13向主机装置2的数据传输或从主机装置2的数据接收,向缓冲RAM14的数据写入或从缓冲RAM的数据读出,以及对非易失性存储器15的存取。
内部RAM12是(例如)静态随机存取存储器(SRAM)并存储将要由控制单元11执行的程序(固件)或者可以被用作工作区。
装置接口13与主机装置2通信。
缓冲RAM14被用于缓冲从主机装置2传输的数据或向主机装置2传输的数据(写入数据或读取数据)。
非易失性存储器15是(例如)NAND闪存存储器。
在数据写入时,存储卡1从主机装置2基本接收写入请求以及写入地址(逻辑块地址),数据大小以及将被写入的数据。
从主机装置2发送的写入数据由装置接口13接收并缓冲在缓冲RAM14中。接着在控制单元11的控制下,数据被写入到非易失性存储器15中。控制单元11根据写入请求、写入地址和数据大小,控制这些操作。
在数据读取时,存储卡1从主机装置2接收读取请求以及读取地址(逻辑块地址)和数据大小。控制单元11根据该读取请求和数据大小,从非易失性存储器15读取被请求的数据,并将数据缓存在缓冲RAM14中。控制单元11还对缓存的读取数据执行纠错处理或类似操作。接着,所读取数据从缓冲RAM14被转移到装置接口13,接着被传输到主机装置2。
在非易失性存储器15中,物理块地址被用作物理存储区的地址。为此,物理块、物理页和物理扇区被设置在非易失性存储器15中。多个物理扇区形成物理页,以及多个物理页形成物理块。
图2简要示出从PB0到PBn的n+1个物理块。尽管将由16个物理页PP(PP0到PP15)组成的各个物理块PB作为本文的例子,但仅仅是说明性的。
单个物理页PP是(例如)16K字节。每个物理页PP被分成多个物理扇区(未示出)。
尽管擦除以物理块为单位执行,但写入(编程)和读取能够以物理页为单位执行。就是说,物理块用作物理擦除的单位,以及物理页用作物理写入的单位。
主机装置2指定使用逻辑块地址的地址。与上述物理块地址关联的逻辑块地址由逻辑块、逻辑页和逻辑扇区组成。就是说,控制单元11生成逻辑块地址和物理块地址彼此关联的逻辑-物理块地址管理信息,以及在从主机装置2接收到存取请求时,参考逻辑-物理块地址管理信息将指定的逻辑块地址转换为物理块地址。使用获得的物理块地址,控制单元11对非易失性存储器15进行实际存取。
在本实施方式中,如图1所示,控制单元11包括管理信息生成单元11a和用于执行稍后描述的操作(由软件实现的处理功能)的存取控制单元11b。
管理信息生成单元11a生成或更新指示逻辑块地址与物理块地址之间关联的逻辑-物理块地址管理信息(在下文中,被称为“管理表”)。
存取控制单元11b控制由主机装置2请求的对非易失性存储器15的数据写入或数据读取。存取控制单元11b还控制向非易失性存储器15的管理表的写入或从非易失性存储器15的管理表的读取。
尽管这些功能单元作为CPU11执行进程时生成的软件功能来提供,但它们可以作为硬件功能形成。
在控制单元11的控制下,由管理信息生成单元11a生成或更新的管理表被存储在(例如)内部RAM12中。
在本实施方式中,具有非连续逻辑块地址的数据块被允许写入到物理块PB的连续物理页PP。在下文中,由主机装置2请求写入或读取的数据(由主机装置2使用逻辑块地址管理的数据)将被称为“主机数据”。
一个典型的现有技术数据写入方法是,将主机数据块以相应的逻辑块地址连续的方式写入物理块PB的方法。因此,在下次获取已经被写入到物理块PB的主机数据的信息时,通过找出物理块PB中最后使用的物理页接着读取被写入到发现的物理页PP的冗余区的主机数据的逻辑块地址信息,可能知晓存储在物理块PB中的主机数据块的逻辑块地址延伸多大范围。就是说,通过这样的方式,控制单元11可以掌握关于这个物理块PB的物理块地址与逻辑块地址之间的关联。
不过,在这个方法中,将要被写入到物理块PB的主机数据的逻辑块地址必须是连续的。因此,在主机装置2写入具有非连续逻辑块地址的主机数据的情况下,或在更新具有逻辑块地址、已经被写入的主机数据的情况下,有效使用物理块PB是困难的。在这些情况中,频繁发生主机数据从一个物理块PBx被复制到另一个物理块PBy以便逻辑块地址在物理块PB中变成连续的所谓的“垃圾收集”。这会导致装置寿命和写入速度的显著下降。
另一个数据写入的方法是,允许具有非连续逻辑块地址的主机数据被连续写入到物理块PB。
在这种情况下,即使当被请求写入具有非连续地址的主机数据或重写已经存储的具有逻辑块地址的主机数据时,在不必执行垃圾收集的情形下,仍可以满足这样的请求。就是说,仅需要将被请求的主机数据写入到与物理块PB中最后使用的物理页是连续的物理页PP中。
然而,为了知晓存储在这个物理块PB中的主机数据块的物理块地址与逻辑块地址之间的关联,控制单元11必须通过读取物理块PB的所有数据写入的物理页PP接着获取被写入每个物理页PP的冗余区中的逻辑块地址信息,构造关联信息(就是说,逻辑-物理块地址管理信息)。这会导致主机数据写入和读取速度的显著下降。
在本实施方式中,采用的方法允许具有非连续逻辑块地址的主机数据被连续写入到物理块PB。这可以有利减少上述的垃圾收集机会。
进一步地,在本实施方式中,当主机装置2做出写入数据的请求时,管理表被写入到与主机数据被写入的相同物理页。结果,能够有效和快速执行用于生成或更新管理表的操作(逻辑-物理块地址管理信息),从而增加主机数据写入或读取的存取速度。
具体地,控制单元11的管理信息生成单元11a生成或更新管理表,其指示将要被写入到非易失性存储器15的主机数据或已经存储在非易失性存储器中的主机数据的逻辑块地址与物理块地址之间的关联。
在将主机数据写入到非易失性存储器15时,存取控制单元11b控制主机数据以及管理表到非易失性存储器15的物理页的写入。
特别地,当要被写入的主机数据和管理表的组合数据量落入非易失性存储器的物理页PP的容量内时,存取控制单元控制主机数据和管理表到物理页PP的写入。
进一步地,在管理表的构造处理中,存取控制单元11b从最后使用的物理页PP开始朝着顶部物理页PP,在物理块PB中连续检查各个物理页PP是否包含管理表。接着,存取控制单元11b获取首先被发现的管理表。
当由存取控制单元11b获取的管理表不是存储在最后使用的物理页PP中的管理表时,管理信息生成单元11a使用被检查物理页PP(不包含管理表的物理页PP)的逻辑块地址信息更新管理表。
2.逻辑-物理块地址管理信息(管理表)
图3A到3C示出管理表的例子。
图3A示出物理块PBx的物理页PP0到PP15的存储状态。
假设单个物理页PP的大小是16K字节。还假设主机数据被提供具有4K字节大小的逻辑块地址。在示意图的框中的数值表示逻辑块地址(LBA)。
在这个示意图示出的例子中,具有逻辑块地址“1”、“2”、“3”和“4”的主机数据块被存储在物理页PP0中,随后,具有逻辑块地址“1”、“2”、“3”和“4”的主机数据块被重写到物理页PP1中。就是说,具有逻辑块地址“1”、“2”、“3”和“4”的最近的主机数据块被存储在物理页PP1中。
存储在物理页PP2的是具有逻辑块地址“1000”、“1001”、“1002”和“1003”的主机数据块。
具有逻辑块地址“3000”、“3001”、“3002”和“3003”的主机数据块被写入到物理页PP3中,以及在随后的时间点,具有逻辑块地址“3000”、“3001”、“3002”和“3003”的更新的主机数据块被写入到物理页PP12中。
对应于图3A所示存储状态的管理表是逻辑块地址(LBA)和物理页PP是彼此关联的表格,如图3B所示。
例如,图3B示出具有逻辑块地址“1”、“2”、“3”和“4”以及具有“1”作为顶部的最近的主机数据块被存储在物理页PP1中。
图3B还示出具有逻辑块地址“5”、“6”、“7”和“8”以及具有“5”作为顶部的最近的主机数据块被存储在物理页PP5中。
图3B还示出具有逻辑块地址“9”、“10”、“11”和“12”以及具有“9”作为顶部的最近的主机数据块被存储在物理页PP9中。
类似地,管理其他存储的逻辑块地址与物理页之间的关联。例如,具有逻辑块地址“3000”、“3001”、“3002”和“3003”的最近的主机数据块被存储在物理页PP12中。
如上所述,指示存储在物理页PP中的主机数据块的物理页PP与逻辑块地址之间关联的信息被存储在管理表中。
为了方便起见,输入管理表的单独关联信息块将被称为“逻辑-物理关联数据”。
通过构造这样的关于(例如)物理块PBx的管理表,控制单元11可以掌握由主机装置2使用逻辑块地址指定的主机数据被存储的物理页PP。
如图3C所示,在管理表中,物理块编号可以与LBA以及物理页进一步关联。
针对物理块PB的管理表不必存储在该物理块PB中,其可以被写入到另一个物理块PB的物理页PP中。在这样的情况下,如图3C所示,以对应于逻辑块地址的方式管理物理块编号和物理页编号是恰当的。
3.数据写入控制处理/管理表构造处理
由控制单元11执行的处理的具体例子将参考图4和5描述。需要注意的是,在图4和5中示出的处理由具有管理信息生成单元11a和存取控制单元11b功能的控制单元11执行。
图4示出控制单元11执行将主机数据写入到非易失性存储器15的控制处理的例子。
在步骤F101中,控制单元11执行将要被写入的主机数据的捕获,逻辑块地址的获取,或类似操作,作为对来自主机装置2的数据写入请求的响应。
具体地,控制单元11将由主机装置2、经由装置接口13发送的主机数据暂时地存储在缓冲RAM14中。控制单元11还从经由装置接口13接收的请求命令中掌握将被写入的主机数据的逻辑块地址和数据量。
在步骤F102,控制单元11生成或更新管理表,以便处理当前的数据写入。
控制单元11将主机数据写入到物理块PB中最后使用的物理页后面的物理页PP中。为此,控制单元11将逻辑-物理关联数据(其中,主机数据的逻辑块地址与将被写入主机数据的物理页编号彼此关联)添加到当时的管理表中。
如果主机数据将被写入的物理块PB的管理表还没有在此刻构造好,通过执行下面图5所示的处理,控制单元11构造管理表,接着将上述的逻辑-物理关联数据添加到所构造的管理表中。
类似地,如果主机数据要被写入的物理块PB是未被使用的物理块PB,控制单元11新生成包括上述逻辑-物理关联数据的管理表。
在步骤F103中,控制单元11确定主机数据量是否小于或等于预先确定量。
该确定是关于主机数据和管理表是否可以一起被写入到单个物理页PP中的确定。因此,预先确定量是指以下数据数量,其可以确定即使当主机数据被写入到物理页PP时,该物理页PP仍然具有并入管理表的容量。
假设单个物理页PP具有16K字节的容量,并且管理表必须使用数K字节,则预先确定量被设置为(例如)8K字节。本文的预先确定量不一定必须是固定的数据量,而可以是物理页PP的容量减去当时管理表的数据大小获得的值。
如果主机数据量超过预先确定量,那么将管理表写入到该物理页是困难的,则控制单元11前进至步骤F105从而控制主机数据的写入。具体地,根据在步骤F102中输入管理表的物理块地址,控制单元11将暂时存储在缓冲RAM14中的主机数据存储在非易失性存储器15中。
接着,控制单元11结束对应于当前写入请求的处理。
如果主机数据量小于或等于预先确定量,那么管理表可以被写入到该物理页PP,则控制单元11在步骤F104确定是否满足管理表写入条件。
本文的管理表写入条件是不同于主机数据的数据大小的条件,并且可以设想的各种条件包括下列各项:
(a)如果数据大小小于或等于预先确定量,管理表通常被写入(就是说,不存在除了大小以外的管理表写入条件);
(b)当数据大小小于或等于预先确定量时,管理表在m次机会中被写入一次;
(c)在自从管理表的最后写入后主机数据已经被写入m次以上时,管理表被写入;以及
(d)在逻辑块地址在物理块PB中变得不连续时,管理表被写入。
如果条件(a)(就是说,无条件)被设置,则满足步骤F104中的管理表写入条件,那么控制单元11行进到步骤F106。接着,控制单元11执行控制,使得主机数据和当时的管理表被写入到相同的物理块PB。
例如,根据在步骤F102中输入管理表的物理块地址,控制单元11将暂时存储在缓冲RAM14中的主机数据和存储在内部RAM12中的最近的管理表存储在非易失性存储器15中。
接着,控制单元11结束对应于写入请求的处理。
需要注意的是,如果管理表写入条件(b)、(c)和(d)中的一个被设置,那么存在不满足该条件的情况。在这样的情况下,控制单元11控制主机数据单独在步骤F105中写入。
图5示出由控制单元11执行的管理表构造处理。控制单元11可以在图4的步骤F102中或任何时间点执行图5所示的管理表构造处理。
首先,在步骤F201中,控制单元11搜索目标物理块PBx的最后使用页PPe。控制单元11可以通过例如二元搜索,搜索最后使用的物理页PPe。
由于物理页在物理块PB中被连续使用,开始于物理页PP0,最后使用物理页PPe指的是最后被写入数据的物理页PP。
图6A示出迄今为止数据被写入到物理页PP13的物理块PBx。在物理块PBx中,物理页PP以箭头的方向被连续使用。物理页PP13是最后使用的物理页PPe。
二元搜索是例如在检查中心物理页PP的同时搜索最后使用的物理页PPe的技术。在图6A中,例如物理页PP7首先被检查。如果数据已经被写入到物理页PP7,物理页PP7到PP15中的一个是最后使用的物理页PPe。接着,控制单元11检查物理页PP11。如果数据已经被写入到物理页PP11,物理页PP11到PP15中的一个是最后使用的物理页PPe。接着,控制单元11检查物理页PP13。如上所述,二元搜索是在检查中心物理页PP的同时,通过缩小物理页PP,从而搜索最后使用的物理页PPe的技术。
当找到最后使用的物理页PPe时,控制单元11在步骤F202中读取最后使用的物理页PPe和检查存储数据的细节。特别地,控制单元11检查最后使用的物理页PPe是否包含管理表。
当最后使用的物理页PPe包含管理表时,控制单元11从步骤F203行进到步骤F207,并捕获所述管理表对其进行更新。在步骤F208中,控制单元11更新所述管理表。
例如,管理表在图6A中由“MGT”表示,以及是最后使用的物理页PPe的PP13包含管理表MGT。
在这样的物理块PB中,控制单元11捕获存储在检索的最后使用物理页PPe中的管理表MGT,如图6B中的箭头MR所示。
存储在最后使用物理页PPe中的管理表MGT是最新的管理表,其包含对于存储在当前物理块PBx中的所有主机数据块的逻辑-物理关联数据。
因此,在图4的步骤F102中,在执行图5的处理中,在图5的步骤F208中,控制单元11仅仅必须将关于要被写入的主机数据的逻辑块地址的新逻辑-物理关联数据添加到管理表MGT中。对于数据的重写,控制单元11仅需重写相关的逻辑-物理关联数据。
这里,假设图5的处理以不同于图4所示的数据写入的方式执行。如果管理表MGT可以从最后使用的物理页PPe读取,控制单元11不需要在步骤F208中添加或更新逻辑-物理关联数据,这是因为管理表MGT是最新的一个。
需要注意的是,控制器11不一定需要在每次执行图4所示数据写入时执行图5的处理。例如,假设通电时,如果由主机装置2每次做出写入请求,那么根据将被写入的数据,管理表在步骤F102生成或被更新,最新的管理表被存储在内RAM12中。
就是说,例如,仅在通电时才需要执行图5的处理。
随后,在图5的处理中获取的管理表只要更新数据写入。当可能时,最新的管理表只需被存储在物理页PP中。
如果最后使用的物理页PPe不包含管理表,控制单元11从步骤F203行进到步骤F204,以便检查和存储被存储在物理页PP(在这样的情况下,最后使用的物理页PPe)中的主机数据的逻辑块地址LBA。
如果物理页PP不是目标物理块PBx的顶部物理页PP0,控制单元11从步骤F205行进到步骤F206,读取紧邻该物理页PP之前的物理页PP,进而返回到步骤F203中,确定该物理页PP是否包含管理表MGT。
如果该物理页PP不包含管理表MGT,控制单元11在步骤F204中检查和存储存储在该物理页PP中的主机数据的逻辑块地址LBA。如果该物理页PP不是目标物理块PBx的顶部物理页PP0,控制单元11从步骤F205行进到步骤F206,以便读取紧邻该物理页PP之前的物理页PP进而返回到步骤F203中,确定该物理页PP是否包含管理表MGT。
就是说,步骤F204→步骤F205→步骤F206→步骤F203的处理是搜索包含管理表MGT的物理页PP,而又随后跟踪在前的开始于最后使用的物理页PPe的物理页PP,以及存储已经存储在各物理页PP中的主机数据的逻辑块地址的处理。
当控制单元11在这个处理中检查物理页PP包含管理表时,其从步骤F203行进到步骤F207,以便捕获物理页PP的管理表MGT,从而更新管理表MGT。在步骤F208中,控制单元11更新所述管理表。
例如,图6C示出物理页PP14是最后使用的物理页PPe,并且不包含管理表MGT。
在这样的情况下,控制单元11检查紧接在最后使用物理页PPe之前的物理页PP,如箭头SC所示。在这个例子中,管理表MGT在紧接在前的物理页PP13中被发现。因此,控制单元11从物理页PP13捕获管理表MGT,如箭头MR所示。
如上所述,存储在最后使用的物理页PPe以外的物理页PP中的管理表MGT不包含对于已经存储在当前物理块PBx中的所有主机数据块的逻辑-物理关联数据。例如,在图6C所示的例子中,被捕获的管理表MGT不包含对于物理页PP14的逻辑-物理关联数据。
为此,在步骤F208中,管理表MGT被更新,以便并入对于物理页PP14的逻辑-物理关联数据。具体地,由于已经存储在物理页PP14中的主机数据的逻辑块地址在步骤F204中被存储,其中存储的逻辑块地址与物理页PP14关联的逻辑-物理关联数据被添加到被捕获的管理表MGT。
随后,在执行图4的步骤F102的图5处理中,仅需要将对于要被写入的主机数据的逻辑块地址的新逻辑-物理关联数据添加到管理表MGT。至于数据重写,只需重写相关的逻辑-物理关联数据。
在图5的处理以不同于图4所示数据写入的方式执行时,当关于直至最后使用的物理页PPe(在这样的情况下,物理页PP14)的物理页PP的逻辑-物理关联数据块被添加时,在该时刻获得最新的管理表MGT。
如果在步骤F205中确定该物理页PP是顶部物理页PP0,物理块PBx的任何物理页PP不包含管理表MGT。
在这样的情况下,控制单元11在步骤F208中新构造管理表MGT。
具体地,控制单元11通过生成关于从最后使用的物理页PPe到顶部物理页PP0的物理页PP在步骤F204中存储的逻辑块地址的逻辑-物理关联数据块,生成管理表MGT。
在图4的步骤F102中执行图5的处理时,控制单元11将关于要被写入主机数据的逻辑块地址的新逻辑-物理关联数据添加到生成的管理表MGT。对于数据的重写,控制单元11重写相关的逻辑-物理关联数据。
在图5的处理以不同于图4所示数据写入的方式执行时,生成的管理表是最新的管理表。
本实施方式的例子处理如上所述。在这个处理中,控制单元11首先将所述管理表和主机数据一起写入到物理页PP。
换句话说,如果做出写入请求以及主机数据足够小(例如4K字节)时,最新的管理表和主机数据一起被存储到物理页中。
由于管理表被存储在物理页PP中,必要时通过读取物理页PP可以读取管理表。进一步地,在主机数据被写入的同时,可以存储管理表。
进一步地,当要写入的主机数据足够小时,由于最新的管理表被写入到物理页PP,最新的管理表通常以非易失性方式存储。例如,如果期望掌握管理表,当通电时,控制单元11可以通过执行图5的处理,在没有必要读取目标物理块PB所有物理页PP的情形下,在许多情况下获取最新的管理表。例如,常常发生图6B或图6C所示的情况。
因此,也可以快速执行获取最新的管理表的处理。
因此,即使当主机装置2请求小规模主机数据或主机装置2频繁请求具有非连续逻辑块地址的主机数据写入时,在物理块PB中快速构造对于逻辑-物理块地址的转换所必需的管理表是可能的。结果,可以增加存取速度。
进一步地,由于来自主机装置2的主机数据和管理表被写入到同一物理页PP,降低了在物理块PB的真实内部状态与管理表之间发生差异的可能性。因此,即使当发生异常情况(例如半路切断电源时),也可以增加数据的可靠性。
4.管理表写入机会
将描述当在本实施方式的处理中写入管理表的机会。管理表写入条件(a)、(b)、(c)和(d)已经在上面作为例子描述。
如果管理表写入条件(a)被设置,就是说,当数据规模小于或等于预先确定量时管理表通常被写入(无条件地),则管理表的写入操作如图7所示执行。
例如,具有逻辑块地址“1”和“2”的主机数据块的写入在特定时间点被请求。在本文中,假设管理表可以根据大小被写入。随后,主机数据块和管理表MGT被写入到(例如)物理页PP0,如图7A中的箭头DMW所示。
随后,请求具有逻辑块地址“3”和“4”的主机数据块的写入。类似地,假设管理表可以根据大小被写入。随后,主机数据块和管理表MGT被写入到(例如)物理页PP1,如图7B中的箭头DMW所示。
随后,类似地请求小规模主机数据块的写入,主机数据块和管理表被写入到物理页PP2和PP3,如图7C和7D的箭头DMW所示。
当请求具有逻辑块地址“9”、“10”、“11”和“12”、数据规模不是小于或等于预先确定量的主机数据块写入时,主机数据块被写入到物理页PP4,但是管理表MGT未被写入到物理页PP4,如箭头DW所示。
如上所述,可以设想这样的示例处理,如果有关单个写入请求的主机数据规模小于或等于预先确定量,那么管理表和主机数据一起无条件地被写入。
如果管理表写入条件(b)被设置,就是说,如果在数据规模小于或等于预先确定量的m次机会中管理表被写入一次,则管理表的写入操作如图8所示执行。
例如,假设管理表在五次机会中被写入一次。
图8A示出做出写入小规模主机数据的五次请求的情况,包括第一次写入请求(具有逻辑块地址“1”和“2”的主机数据块),第二次写入请求(具有逻辑块地址“3”和“4”的主机数据块),…以及第五次写入请求(具有逻辑块地址“9”和“10”的主机数据块)。当做出第一到第四次写入请求时,可以根据主机数据的大小写入管理表。然而,如果在图4的步骤F104中确定不满足管理表的写入条件,则没有管理表被写入。当做出第五次写入请求时,在图4的步骤F104中确定管理表的写入条件满足。因此,管理表MGT和主机数据一起在步骤F106中被写入,如图8A的箭头DMW所示。
即使当请求写入小规模主机数据时,例如随后连续做出第六到第九次写入请求时,没有管理表被写入,如图8B和8C所示。当做出第十次写入请求时,确定满足五分之一机会的条件,管理表MGT和主机数据一起被写入,如图8D的箭头DMW所示。
当然,在”m次机会中一次”的“m”可以被设置为任何值。
进一步地,如果做出写入大规模主机数据的请求,就是说,如果在图4的步骤F103中确定该请求的写入主机数据的数据规模超过预先确定量,那么该机会可以或不会被包括在m次机会中。
当写入主机数据的数据规模超过预先确定量的机会被包括在m次机会中的情况等同于管理表写入条件(c),即,自从最后被写入到管理表主机数据已经被写入m次以上时,管理表被写入。
如果管理表写入条件(d)被设置,就是说,当逻辑块地址在物理块PB中变成非连续时,管理表被写入,管理表的写入操作如图9A到9C所示被执行。
图9A和9B示出做出写入小规模主机数据的五次请求的情况,包括第一次写入请求(具有逻辑块地址“1”和“2”的主机数据块),第二次写入请求(具有逻辑块地址“3”和“4”的主机数据块),…以及第五次写入请求(具有逻辑块地址“9”和“10”的主机数据块)。
需要注意的是,在这些情况下,存储在物理页PP中的逻辑块地址是连续的。当做出第一到第五次写入请求时,逻辑块地址是连续的,因此,可以按照主机数据的大小写入管理表。然而,在图4的步骤F104中确定不满足管理表的写入条件,则没有管理表被写入。
假设随后做出的具有逻辑块地址“21”和“22”的主机数据块写入请求作为第六写入请求。在这些主机数据块被写入到随后的物理页PP5时,逻辑块地址变成非连续的。在这样的情况下,在图4的步骤F104中确定满足管理表的写入条件,那么管理表MGT和主机数据块一起在步骤F106被写入,如图9C的箭头DMW所示。
如上所述,即使当主机数据规模小于或等于预先确定量时,因此,管理表可以被写入到物理页PP,除了如图7A到7E所示管理表通常被写入的示例处理以外,还可以设想如图8A到8D和图9A到9C所示的各种写入条件被设置的示例处理。当然,上述例子是不非限制性的。例如,可以考虑在条件(b)或条件(c)以及条件(d)的AND/OR情况下,确定是否写入管理表。
根据写入条件的设置,管理表可以更有效地存储。
5.变形例
虽然已经描述了本实施方式,但是可以设想所述配置或本实施方式的处理的各种变形例。
例如,在图4的步骤F106中将主机数据和管理表写入到同一物理页PP时,物理页PP可以是不同于到目前为止已使用的物理块PBx的物理块PBy中的物理页PP。
进一步地,物理块PBy可以是(例如)提供包含管理表的物理页PP的专用物理块PBy。
在这样的情况下,管理表具有图3C所示的结构是适当的。
虽然存储卡1被用作本实施方式的例子,但是本发明适用于非易失性存储器15和控制单元11是分开组件的情况。
本发明适用于SSD,eMMC,以及类似存储卡的各种类型。
本发明可以被设置如下:
(1)一种控制装置,包括:管理信息生成单元,被配置为对于要被写入非易失性存储器中的数据或已经被写入所述非易失性存储器中的数据,生成或更新逻辑-物理块地址管理信息,所述逻辑-物理块地址管理信息指示逻辑块地址与所述非易失性存储器上的物理块地址的关联;以及存取控制单元,被配置为在将数据写入所述非易失性存储器期间,控制所述数据以及所述逻辑-物理块地址管理信息到所述非易失性存储器的物理写入单元的写入。
(2)根据(1)所述的控制装置,其中,在将要被写入的数据和所述逻辑-物理块地址管理信息的组合数据量落入所述物理写入单元的容量内时,所述存取控制单元控制所述数据和所述逻辑-物理块地址管理信息到所述非易失性存储器的所述物理写入单元的写入。
(3)根据(1)和(2)中的一个所述的控制装置,其中,在将要被写入的数据和所述逻辑-物理块地址管理信息的组合数据量落入所述物理写入单元的容量内并且在满足预先确定的管理信息写入条件时,所述存取控制单元控制所述数据和所述逻辑-物理块地址管理信息到所述非易失性存储器的所述物理写入单元的写入。
(4)根据(3)所述的控制装置,其中,所述管理信息写入条件是以下条件,其关于自所述逻辑-物理块地址管理信息的最后一次写入后的写入机会的次数。
(5)根据(3)和(4)之一所述的控制装置,其中,所述管理信息写入条件是以下条件,其关于被物理连续地写入所述非易失性存储器上的数据的逻辑块地址的连续性。
(6)根据(1)到(5)之一所述的控制装置,其中,所述物理写入单元包括多个物理写入单位,以及所述物理写入单位形成所述非易失性存储器中的物理擦除单元,其中,所述存取控制单元在所述物理擦除单元中从最后使用的所述物理写入单元朝着顶部物理写入单元依次检查所述物理写入单位中是否包含所述逻辑-物理块地址管理信息,进而获取最先被发现的所述逻辑-物理块地址管理信息,以及其中,所述管理信息生成单元利用由所述存取控制单元获取的所述逻辑-物理块地址管理信息以及不包含逻辑-物理块地址管理信息的物理写入单元的逻辑块地址信息来更新所述逻辑-物理块地址管理信息。
(7)根据(1)到(6)之一所述的控制装置,其中,所述非易失性存储器是NAND闪存存储器,其中,多个物理页形成作为擦除单元的物理块,以及其中,所述物理页是所述物理写入单元。
本发明包括于2012年5月1日提交至日本专利局的日本在先专利申请JP2012-104459中公开的主题,其全部内容结合于此作为参考。
本领域的技术人员应当理解,根据设计要求和其他因素,可以出现各种修改、组合、子组合和变化,只要这些变化和修改在本发明附属权利要求及其等同要求的范围内。
Claims (10)
1.一种控制装置,包括:
管理信息生成单元,被配置为对于要被写入非易失性存储器中的数据或已经被写入所述非易失性存储器中的数据,生成或更新逻辑-物理块地址管理信息,所述逻辑-物理块地址管理信息指示逻辑块地址与所述非易失性存储器上的物理块地址的关联;以及
存取控制单元,被配置为在将数据写入所述非易失性存储器期间,控制所述数据以及所述逻辑-物理块地址管理信息到所述非易失性存储器的物理写入单元的写入。
2.根据权利要求1所述的控制装置,
其中,在将要被写入的数据和所述逻辑-物理块地址管理信息的组合数据量落入所述物理写入单元的容量内时,所述存取控制单元控制所述数据和所述逻辑-物理块地址管理信息到所述非易失性存储器的所述物理写入单元的写入。
3.根据权利要求1所述的控制装置,
其中,在将要被写入的数据和所述逻辑-物理块地址管理信息的组合数据量落入所述物理写入单元的容量内并且在满足预先确定的管理信息写入条件时,所述存取控制单元控制所述数据和所述逻辑-物理块地址管理信息到所述非易失性存储器的所述物理写入单元的写入。
4.根据权利要求3所述的控制装置,
其中,所述管理信息写入条件是关于自所述逻辑-物理块地址管理信息的最后一次写入后的写入机会的次数的条件。
5.根据权利要求3所述的控制装置,
其中,所述管理信息写入条件是关于被物理连续地写入所述非易失性存储器上的数据的逻辑块地址的连续性的条件。
6.根据权利要求1所述的控制装置,
其中,所述物理写入单元包括多个物理写入单位,以及所述物理写入单位形成所述非易失性存储器中的物理擦除单元,
其中,所述存取控制单元在所述物理擦除单元中从最后使用的所述物理写入单元朝着顶部物理写入单元依次检查所述物理写入单位中是否包含所述逻辑-物理块地址管理信息,进而获取最先被发现的所述逻辑-物理块地址管理信息,以及
其中,所述管理信息生成单元利用由所述存取控制单元获取的所述逻辑-物理块地址管理信息以及不包含逻辑-物理块地址管理信息的物理写入单元的逻辑块地址信息来更新所述逻辑-物理块地址管理信息。
7.根据权利要求1所述的控制装置,
其中,所述非易失性存储器是NAND闪存存储器,其中,多个物理页形成作为擦除单元的物理块,以及
其中,所述物理页是所述物理写入单元。
8.根据权利要求1所述的控制装置,其中,所述逻辑-物理块地址管理信息还指示逻辑块地址与所述非易失性存储器上的物理页的关联。
9.一种存储装置,包括:
非易失性存储器;
管理信息生成单元,被配置为对于要被写入非易失性存储器中的数据或已经被写入到所述非易失性存储器中的数据,生成或更新逻辑-物理块地址管理信息,所述逻辑-物理块地址管理信息指示逻辑块地址与所述非易失性存储器上的物理块地址的关联;以及
存取控制单元,被配置为在将数据写入所述非易失性存储器期间,控制所述数据以及所述逻辑-物理块地址管理信息到所述非易失性存储器的物理写入单元的写入。
10.一种存储控制方法,包括:
对于要被写入非易失性存储器中的数据或已经被写入所述非易失性存储器中的数据,生成或更新逻辑-物理块地址管理信息,所述逻辑-物理块地址管理信息指示逻辑块地址与所述非易失性存储器上的物理块地址的关联;以及
在将数据写入所述非易失性存储器期间,控制所述数据以及所述逻辑-物理块地址管理信息到所述非易失性存储器的物理写入单元的写入。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012-104459 | 2012-05-01 | ||
JP2012104459A JP6072428B2 (ja) | 2012-05-01 | 2012-05-01 | 制御装置、記憶装置、記憶制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103383664A true CN103383664A (zh) | 2013-11-06 |
CN103383664B CN103383664B (zh) | 2018-01-02 |
Family
ID=49491461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310146488.4A Active CN103383664B (zh) | 2012-05-01 | 2013-04-24 | 控制装置、存储装置以及存储控制方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9575883B2 (zh) |
JP (1) | JP6072428B2 (zh) |
CN (1) | CN103383664B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096221A (zh) * | 2018-01-31 | 2019-08-06 | 东芝存储器株式会社 | 存储器系统及其控制方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10489241B2 (en) * | 2015-12-30 | 2019-11-26 | Arteris, Inc. | Control and address redundancy in storage buffer |
TWI601011B (zh) * | 2016-07-05 | 2017-10-01 | 慧榮科技股份有限公司 | 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法 |
KR102417696B1 (ko) * | 2018-03-20 | 2022-07-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075211A (zh) * | 2007-06-08 | 2007-11-21 | 马彩艳 | 基于sector访问的flash存储器的存储管理 |
CN101676882A (zh) * | 2008-09-16 | 2010-03-24 | 美光科技公司 | 存储器装置的内嵌映射信息 |
CN101739352A (zh) * | 2008-11-06 | 2010-06-16 | 慧帝科技(深圳)有限公司 | 用来管理一记忆装置的方法以及其相关的记忆装置 |
CN102332290A (zh) * | 2010-05-24 | 2012-01-25 | 慧荣科技股份有限公司 | 用来管理和存取闪存模块的控制器 |
US20120072698A1 (en) * | 2010-09-17 | 2012-03-22 | Tsutomu Unesaki | Memory management device and method for managing access to a nonvolatile semiconductor memory |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100405247C (zh) * | 1999-03-03 | 2008-07-23 | 索尼公司 | 终端、数据处理设备和方法、数据处理设备的发送方法 |
JP4233213B2 (ja) * | 2000-12-27 | 2009-03-04 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
JP2004280752A (ja) * | 2003-03-19 | 2004-10-07 | Sony Corp | データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム |
JP5162846B2 (ja) | 2005-07-29 | 2013-03-13 | ソニー株式会社 | 記憶装置、コンピュータシステム、および記憶システム |
JP5076411B2 (ja) | 2005-11-30 | 2012-11-21 | ソニー株式会社 | 記憶装置、コンピュータシステム |
JP4537420B2 (ja) | 2007-04-02 | 2010-09-01 | 株式会社リコー | Simd型マイクロプロセッサ |
JP4356782B2 (ja) | 2007-09-12 | 2009-11-04 | ソニー株式会社 | メモリ装置、メモリ制御方法、およびプログラム |
US8732388B2 (en) * | 2008-09-16 | 2014-05-20 | Micron Technology, Inc. | Embedded mapping information for memory devices |
JP2012037971A (ja) * | 2010-08-04 | 2012-02-23 | Tdk Corp | メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法 |
JP2012068764A (ja) * | 2010-09-21 | 2012-04-05 | Tdk Corp | メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法 |
-
2012
- 2012-05-01 JP JP2012104459A patent/JP6072428B2/ja active Active
-
2013
- 2013-04-22 US US13/867,770 patent/US9575883B2/en active Active
- 2013-04-24 CN CN201310146488.4A patent/CN103383664B/zh active Active
-
2017
- 2017-02-17 US US15/436,588 patent/US10025706B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075211A (zh) * | 2007-06-08 | 2007-11-21 | 马彩艳 | 基于sector访问的flash存储器的存储管理 |
CN101676882A (zh) * | 2008-09-16 | 2010-03-24 | 美光科技公司 | 存储器装置的内嵌映射信息 |
CN101739352A (zh) * | 2008-11-06 | 2010-06-16 | 慧帝科技(深圳)有限公司 | 用来管理一记忆装置的方法以及其相关的记忆装置 |
CN102332290A (zh) * | 2010-05-24 | 2012-01-25 | 慧荣科技股份有限公司 | 用来管理和存取闪存模块的控制器 |
US20120072698A1 (en) * | 2010-09-17 | 2012-03-22 | Tsutomu Unesaki | Memory management device and method for managing access to a nonvolatile semiconductor memory |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096221A (zh) * | 2018-01-31 | 2019-08-06 | 东芝存储器株式会社 | 存储器系统及其控制方法 |
CN110096221B (zh) * | 2018-01-31 | 2022-09-30 | 铠侠股份有限公司 | 存储器系统及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170249245A1 (en) | 2017-08-31 |
JP2013232144A (ja) | 2013-11-14 |
US9575883B2 (en) | 2017-02-21 |
JP6072428B2 (ja) | 2017-02-01 |
CN103383664B (zh) | 2018-01-02 |
US10025706B2 (en) | 2018-07-17 |
US20130297859A1 (en) | 2013-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110908926B (zh) | 数据储存装置及逻辑至物理地址映射表的写入方法 | |
US8090899B1 (en) | Solid state drive power safe wear-leveling | |
US7987332B2 (en) | Methods for storing memory operations in a queue | |
US8316176B1 (en) | Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification | |
CN110390979B (zh) | 存储器控制器和具有存储器控制器的存储器系统 | |
US9092323B2 (en) | Systems and methods for recovering addressing data | |
CN111459844B (zh) | 数据储存装置及用于存取逻辑至物理地址映射表的方法 | |
US9280460B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US8452937B2 (en) | Moving executable code from a first region of a non-volatile memory to a second region of the non-volatile memory to reduce read disturb | |
CN103425589A (zh) | 控制装置、存储装置以及存储控制方法 | |
US9880742B2 (en) | Valid data merging method, memory controller and memory storage apparatus | |
US20080235480A1 (en) | Systems for storing memory operations in a queue | |
US20080195833A1 (en) | Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit | |
US20140019670A1 (en) | Data writing method, memory controller, and memory storage device | |
CN103164342A (zh) | 数据可用性的挂载时协调 | |
TWI710905B (zh) | 資料儲存裝置及邏輯至物理位址映射表之載入方法 | |
US20130290609A1 (en) | Memory formatting method, memory controller, and memory storage apparatus | |
CN103389881A (zh) | 控制装置、存储装置以及数据写入方法 | |
US10025706B2 (en) | Control device, storage device, and storage control method | |
CN103389942A (zh) | 控制装置、存储装置及存储控制方法 | |
CN110895449A (zh) | 用于在存储器系统中管理有效数据的装置和方法 | |
CN112673356B (zh) | 快速非易失性存储装置恢复技术 | |
WO2008115720A1 (en) | Methods for storing memory operations in a queue | |
US9304906B2 (en) | Memory system, controller and control method of memory | |
US12008249B2 (en) | Memory system and method of performing background operation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20151106 Address after: American California Applicant after: SONY CORPORATION Address before: Tokyo, Japan Applicant before: Sony Corp |
|
GR01 | Patent grant | ||
GR01 | Patent grant |