CN108874302A - 数据存储装置及其操作方法 - Google Patents
数据存储装置及其操作方法 Download PDFInfo
- Publication number
- CN108874302A CN108874302A CN201711472871.3A CN201711472871A CN108874302A CN 108874302 A CN108874302 A CN 108874302A CN 201711472871 A CN201711472871 A CN 201711472871A CN 108874302 A CN108874302 A CN 108874302A
- Authority
- CN
- China
- Prior art keywords
- recovery state
- state
- data
- block
- recovery
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- 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/7209—Validity control, e.g. using flags, time stamps or sequence numbers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0407—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals on power on
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种数据存储装置,其包括:非易失性存储器装置;以及控制器,该控制器适于:基于非易失性存储器装置的恢复状态,响应于突然断电来执行非易失性存储器装置的恢复操作;在恢复操作中,在对非易失性存储器装置的至少一个开放存储块的修复操作之后,在将恢复操作执行到预定恢复状态的同时,更新非易失性存储器装置的恢复状态;以及在预定恢复状态下,在至少一个开放存储块中从执行修复操作的位置之后执行写入操作。
Description
相关申请的交叉引用
本申请要求于2017年5月16日提交的申请号为10-2017-0060506的韩国申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体涉及一种数据存储装置,并且更特别地,涉及一种包括非易失性存储器装置的数据存储装置。
背景技术
数据存储装置响应于写入请求来存储由外部装置提供的数据。数据存储装置还可以响应于读取请求向外部装置提供存储的数据。使用数据存储装置的外部装置的示例包括计算机、数码相机、蜂窝电话等。数据存储装置可以在外部装置的制造期间被嵌入在到外部装置中或被单独制造然后连接到外部装置。
发明内容
在实施例中,一种数据存储装置可以包括:非易失性存储器装置;以及控制器,其适于:基于非易失性存储器装置的恢复状态,响应于突然断电对非易失性存储器装置执行恢复操作;在恢复操作中,对非易失性存储器装置的至少一个开放存储块执行修复操作之后,在将恢复操作执行到预定恢复状态的同时,更新非易失性存储器装置的恢复状态;以及在预定恢复状态下,在至少一个开放存储块中从执行修复操作的位置之后执行写入操作。
在实施例中,数据存储装置的操作方法可以包括:响应于突然断电,根据包括多个存储块的非易失性存储器装置的恢复状态开始恢复操作;在对至少一个开放存储块执行修复操作之后,将恢复状态更新至预定恢复状态;以及在预定恢复状态下,在开放存储块中从执行修复操作的位置之后执行写入操作。
附图说明
通过参照附图描述本发明的各个实施例,本发明的以上和其它特征及优点对于本发明所属领域的技术人员将变得更加显而易见,其中:
图1是示出根据实施例的数据存储装置的框图;
图2是示意性地示出存储块的结构的简图;
图3A和图3B是示出用于控制器生成块映射数据的方法的示例图;
图4A和图4B是示出用于执行映射数据清除(flush)操作的方法的示例图;
图5是示出数据存储装置的第一恢复状态的简图;
图6A是示出在第一恢复状态下发生突然断电之后开始第一恢复操作的方法的说明图;
图6B是示出执行第一恢复操作的方法的说明图;
图7A是示出用于在第二恢复状态下执行第二恢复操作的方法的说明图;
图7B是示出执行第二恢复操作的方法的说明图;
图8A是示出用于在第三恢复状态下执行第三恢复操作的方法的说明图;
图8B是示出执行第三恢复操作的方法的说明图;
图9是示出在第四恢复状态下连续使用存储块的方法的说明图;
图10A是示出在第三恢复状态下发生后续突然断电之后执行第三后续恢复操作的方法的说明图;
图10B是示出执行第三后续恢复操作的方法的说明图;
图11是示出在第四恢复状态下使用开放存储块的同时在发生后续突然断电之后执行第四后续恢复操作的方法的说明图;以及
图12是示出包括根据实施例的数据存储装置的数据处理***的框图。
具体实施方式
在下文中,将通过参照本发明的示例性实施例的附图来描述根据本发明的数据存储装置及其操作方法。然而,本发明可以以不同的形式体现并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例以详细描述本发明到使本发明所属领域的技术人员能够实施本发明的技术概念的程度。
应当理解的是,本发明的实施例不限于附图中所示的细节,并且附图不一定按比例绘制,并且在一些情况下可能会夸大比例,以便更清楚地描绘本发明的某些特征。虽然使用特定术语,但是应当理解的是,使用的术语仅用于描述特定实施例,并不旨在限制本发明的范围。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,其可以是两个元件之间的唯一元件或也可存在一个或多个中间元件。
当短语“......和......中的至少一个”在本文中与项目列表一起使用时,是指列表中的单个项目或列表中项目的任何组合。例如,“A、B和C中的至少一个”是指只有A、或只有B、或只有C、或A、B和C的任何组合。
如本文使用的术语“或”是指两个或更多个可选方案中的一个,而不是两者,也不是其任何组合。
如本文使用的,单数形式也旨在包括复数形式,除非上下文另有清楚地说明。将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指示阐述的元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关所列项目的任何和所有组合。
除非另有定义,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中普通技术人员通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中定义的那些术语的术语应被理解为具有与它们在本公开的上下文和相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确地定义。
在以下描述中,为了提供本发明的彻底理解,阐述了许多具体细节。本发明可在没有这些具体的一些或全部细节的情况下被实施。在其它情况下,为了不使本发明不必要模糊,未详细地描述公知的进程结构和/或进程。
也注意的是,在一些情况下,对相关领域的技术人员显而易见的是,结合一个实施例描述的也可被称为特征的元件可单独使用或与另一实施例的其它元件结合使用,除非另有明确说明。
在下文中,将参照附图详细地描述本发明的各个实施例。
图1是示出根据实施例的数据存储装置10的框图。
数据存储装置10可以被配置为响应于来自外部装置的写入请求来存储从外部装置提供的数据。并且,数据存储装置10可以被配置为响应于来自外部装置的读取请求向外部装置提供存储的数据。
数据存储装置10可以由以下形式来制备:个人计算机存储卡国际协会(PCMCIA)卡、标准闪存(CF)卡、智能媒体卡、记忆棒、各种多媒体卡(MMC、eMMC、RS-MMC和微型MMC)、各种安全数字卡(SD、迷你SD和微型SD)、通用闪速存储器(UFS)、固态驱动器(SSD)等。
数据存储装置10可以包括控制器100和非易失性存储器装置200。
控制器100可以控制数据存储装置10的一般操作。例如,控制器100可以将数据存储在非易失性存储器装置200中,并且从非易失性存储器装置200读取数据。
如果在数据存储装置10的操作期间发生突然断电,则当数据存储装置10由于电力被再次供给到数据存储装置10而被启动时,控制器100可以执行恢复操作。控制器100可以响应于突然断电根据非易失性存储器装置200的恢复状态而开始恢复操作。控制器100可以执行恢复操作并且在执行恢复操作的同时及时更新恢复状态。因此,恢复状态总是被更新并且指示由于突然断电而导致的恢复操作已经进行到哪个阶段。因此,即使在执行恢复操作的同时发生另一突然断电,控制器100也可以基于先前更新并存储的恢复状态来确定应当从哪个步骤执行恢复操作。
可以在包括在非易失性存储器装置200中的多个存储块(未示出)中选择至少一个“开放”存储块BK以存储数据。开放存储块BK是包括能够存储数据的空区域的存储块。当不再包括空区域时,开放存储块BK可以变成“封闭”存储块。换言之,封闭存储块是通过写入操作而装满数据的存储块。
恢复操作可以包括对开放存储块BK的修复操作。修复操作可以处理在开放存储块BK中的由于突然断电而变得不稳定的区域,使得开放存储块BK可以在写入操作中被连续地使用。即,控制器100可以在对开放存储块BK中的执行修复操作的位置之后,继续执行写入操作。
可以在比现有操作更短的时间内执行修复操作。因此,当与传统恢复方法相比时,其中传统恢复方法对开放存储块执行垃圾收集操作等,恢复操作可以基本上更快的完成。稍后将详细描述执行这种恢复操作的具体方法。
控制器100可以包括工作存储器区域110。工作存储器区域110可以存储用于控制器100操作所必需的各种数据。例如,工作存储器区域110可以存储用于逻辑地址和物理地址的各种映射数据。
根据控制器100的控制,非易失性存储器装置200可以存储从控制器100传输的数据并且读出存储的数据并将读出数据传输到控制器100。非易失性存储器装置200可以包括包含存储块BK的多个存储块。
非易失性存储器装置200可以是包括例如以下的任何合适的非易失性存储器装置:诸如NAND闪存或NOR闪存的闪速存储器、铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁性随机存取存储器(MRAM)、电阻式随机存取存储器(ReRAM)等。
虽然在图1中示出数据存储装置10包括一个非易失性存储器装置200,但是应当注意的是,包括在数据存储装置10中的非易失性存储器装置的数量不限于此。
图2示意性地示出存储块BK的结构作为示例。
参照图2,存储块BK可以包括联接到多个字线WL1至WLx和多个位线BL1至BLy的多个存储器单元。虽然图2示意性地示出以二维阵列设置的存储器单元,但是应当注意,存储器单元可以以本领域公知的三维阵列设置。非易失性存储器装置200可以选择多个字线WL1至WLx中的任何一个,并且对选择的字线的存储器单元执行操作。例如,操作可以是写入操作或读取操作。在写入操作和读取操作中,位线BL1至BLy可以被用于将数据传输到存储器单元并且从存储器单元传输数据。
为了将数据存储在存储块BK中,控制器100可以根据例如顺序地从字线WL1到字线WLx的预定写入顺序来选择字线WL1至WLx。例如,控制器100可以对联接到字线WL1的存储器单元执行写入操作,并且然后对联接到字线WL2的存储器单元执行写入操作,并且以此类推。
当k个位被存储在存储器单元中的每一个中时,联接到单个字线的存储器单元可以对应于k个存储器区域。存储在存储器单元中的每一个中的k个位可以分别被存储在k个存储器区域中。
例如,当两个位被存储在存储器单元中的每一个中时,联接到字线WL1的存储器单元MC1可以对应于两个存储器区域MR_LSB和MR_MSB。存储在存储器单元中的每一个中的两个位的低位可以被存储在LSB(最低有效位)存储器区域MR_LSB中,并且两个位的高位可以被存储在MSB(最高有效位)存储器区域MR_MSB中。
图3A和3B示例性地示出生成块映射数据MAP_BK的方法。
参照图3A,存储块BK可以包括以地址映射为单位划分的存储段(memory segment)MS1到MSz。存储段可以是映射到由主机装置识别的逻辑地址的存储器单元组(memoryunit)。单个存储段可以被映射到单个逻辑地址。例如,存储段的大小可以对应于图2的存储器区域的大小。又例如,存储段的大小可以小于图2的存储器区域的大小。又例如,存储段的大小可以大于图2的存储器区域的大小。
例如,地址映射方法可以包括控制器100将存储段MS1映射到逻辑地址L13,并且将与逻辑地址L13相对应的数据DATA_L13写入存储段MS1中。控制器100可以在将数据DATA_L13存储在存储段MS1中的同时,将逻辑地址L13一起存储在存储段MS1中。同时,此时,存储块BK可以是开放存储块。
控制器100可以将开放存储块BK的块映射数据MAP_BK保留在工作存储器区域110中。控制器100可以在将数据DATA_L13存储在存储段MS1中的同时,将关于存储段MS1的映射数据MAP_MS1存储为块映射数据MAP_BK。映射数据MAP_MS1可以包括映射到存储段MS1的逻辑地址L13。当对开放存储块BK执行写入操作时,块映射数据MAP_BK可以包括映射到存储段MS1至MSz的逻辑地址。
参照图3B,示出当对存储段MS1至MSz-1执行写入操作时存储在工作存储器区域110中的块映射数据MAP_BK。当对除了最后的存储段MSz之外的其余存储段MS1至MSz-1执行写入操作时,控制器100可以将块映射数据MAP_BK存储在最后的存储段MSz中。最后的存储段MSz可以是用于存储存储块BK的块映射数据MAP_BK的块映射数据存储器区域。根据实施例,与图3B所示的不同,块映射数据存储器区域可以是多个存储段。根据实施例,块映射数据存储器区域可以是存储块BK中的除了最后写入位置之外的位置。根据实施例,存储块BK的块映射数据存储器区域可以被定位在除了存储块BK之外的存储块中。
综上所述,当开放存储块BK被封闭时,存储在工作存储器区域110中的块映射数据MAP_BK可以被存储在块映射数据存储器区域MSz中。如以下将描述的,存储在块映射数据存储器区域MSz中的块映射数据MAP_BK可以被用于映射数据清除操作。
图4A和图4B示例性示出执行映射数据清除操作的方法。
参照图4A,控制器100可以将主机映射数据MAP_HOST存储在主机映射数据存储器区域MAP_HOST_RG中。主机映射数据MAP_HOST可以包括映射到由主机装置管理的所有逻辑地址的存储段的信息。当数据被更新时,主机映射数据MAP_HOST可以变成旧映射数据。
例如,与逻辑地址L13有关的映射数据MAP_L13可以包括在图3A中已经被映射到逻辑地址L13的存储段MS1的信息。此后,当与逻辑地址L13相对应的数据DATA_L13被更新为最新数据DATA_L13_N并且被存储在存储块BK的存储段MS5中时,映射数据MAP_L13可以变成旧映射数据。
一方面,与存储段MS5有关的块映射数据MAP_BK的映射数据MAP_MS5包括映射到存储段MS5的逻辑地址L13,并且可以是最新映射数据。另一方面,在块映射数据MAP_BK中与存储段MS1有关的映射数据MAP_MS1可以变成旧映射数据。
参照图4B,控制器100可以对块映射数据MAP_BK执行映射数据清除操作,以将主机映射数据MAP_HOST更新为最新状态。
例如,在步骤S1处,控制器100可以将主机映射数据MAP_HOST从主机映射数据存储器区域MAP_HOST_RG读取到工作存储器区域110。在步骤S2处,控制器100可以基于包括最新映射数据MAP_MS5的块映射数据MAP_BK来更新包括在主机映射数据MAP_HOST中的旧映射数据MAP_L13。然后,在步骤S3处,控制器100可以将更新的主机映射数据MAP_HOST存储在主机映射数据存储器区域MAP_HOST_RG中。
同时,在存储块BK被封闭之后,控制器100可以对块映射数据MAP_BK执行映射数据清除操作。控制器100可以基于仍然存储在工作存储器区域110中的块映射数据MAP_BK来执行映射数据清除操作。根据实施例,可以基于存储在以上参考图3B描述的存储块BK的最后存储段MSz中的块映射数据MAP_BK来执行映射数据清除操作。
图5示出当发生SPO时,图1所示的数据存储装置10处于第一恢复状态的情况。图5示例性地示出在非易失性存储器装置200中按照用于写入操作的顺序布置的存储块LRU、RCB和BK_OP。
参照图5,存储块BK_OP可以是当前开放的。存储块LRU和RCB可以是在写入操作中先前使用的并且现在是封闭的存储块。一个或多个存储块LRU可以是对其执行映射数据清除操作的存储块。即,存储块LRU的块映射数据可以被清除到主机映射数据MAP_HOST。一个或多个存储块RCB可以是相比存储块LRU更近地被封闭的存储块,并且包括对其不执行映射数据清除操作的至少一个存储块。存储块LRU与存储块RCB之间的区别可以在于对存储块LRU的映射数据清除操作的完成被完全保证以及对存储块RCB的映射数据清除操作的完成不被保证。换言之,可以已经对存储块RCB的某个存储块执行映射数据清除操作。
控制器100可以管理RCB列表(未示出)中的存储块RCB。控制器100可以根据预定条件对存储块RCB执行映射数据清除操作。预定条件可以是例如包括在RCB列表中的预定数量的存储块RCB。预定条件可以是例如经过的预定时间。存储块RCB可以在执行映射数据清除操作之后从RCB列表中移除,但是可以在执行映射数据清除操作之后不立即从RCB列表中移除存储块RCB。
因此,视情况而定,存储块RCB可以包括对其至少部分地执行映射数据清除操作的存储块。例如,在执行映射数据清除操作的同时发生突然断电的情况下,映射数据清除操作可在已经部分地执行之后被中断。如果对其执行映射数据清除操作的存储块没有立即从RCB列表移除,则包括在RCB列表中的存储块RCB可包括对其执行映射数据清除操作的存储块。
图6A示出在第一恢复状态ST1中发生突然断电之后控制器100开始第一恢复操作的方法。
数据存储装置10可以处于第一恢复状态ST1中。第一恢复状态ST1可以是当数据存储装置10被制造为产品时初始设置的恢复状态。当前恢复状态可以被存储在状态存储器区域ST_RG中。如稍后将描述的,由于逐步被执行的突然断电,第一恢复状态ST1可被顺序地更新为第二恢复状态至第四恢复状态。如果在数据存储装置10的操作期间未发生突然断电,则数据存储装置10可以连续地保持在第一恢复状态ST1。
参照图6A,在步骤S111处,当在启动操作中确定刚刚已经发生突然断电SPO时,控制器100可以通过参照状态存储器区域ST_RG检查状态存储器区域ST_RG当前处于第一恢复状态ST1,并且开始第一恢复操作。第一恢复操作可以包括针对存储块RCB的映射数据清除操作。
在完成第一恢复操作之后,在步骤S112处,控制器100可以在状态存储器区域ST_RG中将第一恢复状态ST1更新至第二恢复状态ST2。
图6B详细示出控制器100执行第一恢复操作的方法。第一恢复操作可以包括针对存储块RCB的映射数据清除操作。图6B的映射数据清除操作可以类似于图4B的映射数据清除操作。
参照图6B,在步骤S121处,控制器100可以分别读取存储在存储块RCB中的块映射数据MAP_BK1至MAP_BK2。如以上示例性所述的,块映射数据MAP_BK1至MAP_BK2可以被存储在存储块RCB的最后存储段MSz1至MSz2中。如上所述,块映射数据MAP_BK1至MAP_BK2可以包括最新映射信息。
在步骤S122处,控制器100可以读取存储在主机映射数据存储器区域MAP_HOST_RG中的主机映射数据MAP_HOST。
在步骤S123处,控制器100可以基于块映射数据MAP_BK1至MAP_BK2更新主机映射数据MAP_HOST。
在步骤S124处,控制器100可以将更新的主机映射数据MAP_HOST存储在主机映射数据存储器区域MAP_HOST_RG中。
图7A示出控制器100在第二恢复状态ST2中执行第二恢复操作的方法。在图7A中,数据存储装置10可以处于如在图6A中更新的第二恢复状态ST2中。
参照图7A,在步骤S211处,控制器100可以在第二恢复状态ST2中执行第二恢复操作。第二恢复操作可以包括对当前开放存储块BK_OP的块映射数据恢复操作和开始日志写入操作。详细地,在发生突然断电之前,控制器100可以立刻执行块映射数据恢复操作,以恢复存储在工作存储器区域110中的存储块BK_OP的块映射数据。在对存储块BK_OP开始修复操作之前,控制器100可以执行开始日志写入操作以写入关于修复操作的信息。
在完成第二恢复操作之后,在步骤S212处,控制器100可以在状态存储器区域ST_RG中将第二恢复状态ST2更新至第三恢复状态ST3。
图7B详细示出控制器100执行第二恢复操作的方法。第二恢复操作可以包括对开放存储块BK_OP的块映射数据恢复操作和开始日志写入操作。
参照图7B,在步骤S221处,控制器100可以读取存储在存储块BK_OP中的已经对其执行写入操作的区域701中的逻辑地址LA。如上所述,逻辑地址LA可以是分别映射到包括在区域701中的存储段的逻辑地址。
在步骤S222处,控制器100可以基于逻辑地址LA恢复工作存储器区域110中的存储块BK_OP的块映射数据MAP_BK_OP。
在步骤S223处,控制器100可以将开始日志START_LOG1写入到日志存储器区域LOG_RG中。开始日志START_LOG1可以包括关于最后的字线WLi的信息,即,当在存储块BK_OP中发生突然断电时对其执行写入操作的字线。对最后的字线WLi的写入操作可能在发生突然断电之前已经完成,或者可能在发生突然断电的时刻已经正在被执行。因此,与最后的字线WLi相对应的存储器区域可能存储不稳定的数据,并且因此可以是以下将要描述的修复操作的目标。
另外,开始日志START_LOG1可以进一步包括关于与修复操作相关联的虚拟(dummy)字线WLi+1和/或复制字线WLi+2的信息。虚拟字线WLi+1可以是在以下将要描述的修复操作中根据写入顺序在最后的字线WLi之后的字线,并且可以是对其执行虚拟写入操作的字线。复制字线WLi+2可以是在以下将要描述的修复操作中根据写入顺序在虚拟字线WLi+1之后的字线,并且可以是对其执行复制写入操作的目标字线。
如以下将描述的,在执行修复操作的同时发生后续突然断电的情况下,可以使用开始日志START_LOG1以舍弃现有的复制字线WLi+2并且指定新的复制字线。
图8A示出控制器100在第三恢复状态ST3中执行第三恢复操作的方法。在图8A中,数据存储装置10可以处于如在图7A中更新的第三恢复状态ST3中。
参照图8A,控制器100可以在第三恢复状态ST3中执行第三恢复操作。第三恢复操作可以包括对开放存储块BK_OP的修复操作、映射数据清除操作和结束日志写入操作。详细地,在步骤S311处,控制器100可以执行修复操作以将开放存储块BK_OP中的由于突然断电而置于不稳定状态下的数据和存储器区域恢复到稳定状态。控制器100可以对在第二恢复操作中预先恢复的存储块BK_OP的块映射数据MAP_BK_OP执行映射数据清除操作。控制器100可以执行结束日志写入操作以写入关于对开放存储块BK_OP执行的修复操作的信息。
在完成第三恢复操作之后,在步骤S312处,控制器100可以在状态存储器区域ST_RG中将第三恢复状态ST3更新至第四恢复状态ST4。
图8B详细示出控制器100执行第三恢复操作的方法。第三恢复操作可以包括对开放存储块BK_OP的修复操作、映射数据清除操作和结束日志写入操作。
参照图8B,首先,在步骤S321处,对开放存储块BK_OP的修复操作可以包括虚拟写入操作和复制写入操作。控制器100可以对虚拟字线WLi+1执行虚拟写入操作。然后,控制器100可以对复制字线WLi+2执行复制写入操作。在与复制字线WLi+2相对应的存储器区域中通过复制写入操作存储的数据可以是存储在与最后的字线WLi相对应的存储器区域中的数据。
在步骤S322处,控制器100可以对在第二恢复操作中恢复的存储块BK_OP的块映射数据MAP_BK_OP执行映射数据清除操作。可以类似于以上参照图4B描述的来执行映射数据清除操作。已经对其执行映射数据清除操作的块映射数据MAP_BK_OP可以不仅包括在第二恢复操作中恢复的部分而且可以包括与已经对其执行复制写入操作的复制字线WLi+2相对应的存储器区域有关的映射数据。
在步骤S323处,控制器100可以将结束日志DONE_LOG1写入到日志存储器区域LOG_RG中。结束日志DONE_LOG1可以包括关于复制字线WLi+2的信息。结束日志DONE_LOG1可以用于确定在开放存储块BK_OP中已经执行映射数据清除操作的位置。
根据实施例,结束日志DONE_LOG1可以包括关于新开始字线而不是复制字线WLi+2的信息,即,根据写入顺序在复制字线WLi+2之后的字线WLi+3。即使当结束日志DONE_LOG1包括关于新开始字线WLi+3而不是复制字线WLi+2的信息,控制器100也可以清楚地指出映射数据清除操作被执行到新开始字线WLi+3之前。
图9示出控制器100在第四恢复状态ST4下使用存储块BK_OP的方法。在图9中,数据存储装置10可以处于如在图8A中更新的第四恢复状态ST4中。
参照图9,在步骤S411处,在第四恢复状态ST4中,控制器100可以使用开放存储块BK_OP以用于写入操作。开放存储块BK_OP通过第三恢复操作的修复操作,可以处于可以从新开始字线WLi+3继续使用的状态。
在步骤S412处,当存储块BK_OP中不再存在空存储器区域时,控制器100可以封闭存储块BK_OP并将其包括在RCB列表中。
然后,在步骤S413处,控制器100可以在状态存储器区域ST_RG中将第四恢复状态ST4更新至第一恢复状态ST1。当数据存储装置10被更新至第一恢复状态ST1时,可以完成整个恢复操作。
根据实施例,控制器100可以同时打开两个或更多个存储块。可以在其使用中指定多个开放存储块。例如,控制器100可以打开一个存储块以存储从主机装置传输的数据,并且同时打开另一存储块以存储在垃圾收集操作中移动的数据。在该情况下,当控制器100在第四恢复状态下连续使用开放存储块的同时封闭存储块中的任何一个时,控制器100可以在状态存储器区域ST_RG中将第四恢复状态ST4更新至第一恢复状态ST1。
根据以上描述,当发生突然断电时,控制器100可以在逐步地执行恢复操作的同时更新恢复状态。因此,即使恢复操作由于在恢复操作期间发生的后续突然断电而再次中断,控制器100可以通过参照存储在状态存储器区域ST_RG中的恢复状态来确定将从哪个位置继续执行恢复操作。
首先,在第一恢复状态ST1下正在执行第一恢复操作的同时发生后续突然断电的情况下,在通电之后的启动操作中,控制器100可以参照图6A和图6B描述的再次如此的执行第一恢复操作。
并且,在第二恢复状态ST2下执行第二恢复操作的同时发生后续突然断电的情况下,在通电之后的启动操作中,控制器100可以参照图7A和图7B描述的再次如此的的第二恢复操作。
此外,在第三恢复状态ST3下执行第三恢复操作的同时发生后续突然断电的情况下,在通电之后的启动操作中,控制器100可以执行第三后续恢复操作。如以下将参照图10A和图10B描述的,第三后续恢复操作可以类似于以上参照图8A和图8B描述的第三恢复操作,但是可以进一步包括附加操作。
图10A示出控制器100在第三恢复状态ST3下发生后续突然断电SPO2之后执行第三后续恢复操作的方法。
参照图10A,在步骤S511处,当在启动操作中确定刚刚已经发生突然断电SPO2时,控制器100可以通过参照状态存储器区域ST_RG检查当前处于第三恢复状态ST3,并且可开始第三后续恢复操作。与以上参照图8A和图8B描述的第三恢复操作相比,第三后续恢复操作可以进一步包括对开放存储块BK_OP的开始日志重写操作。详细地,控制器100可以基于在第二修复操作中写入的现有开始日志START_LOG1来校正待执行修复操作的位置,并且重写包括校正位置的新开始日志。因此,重写的开始日志可以包括关于开放存储块BK_OP的新复制字线的信息。
第三后续恢复操作可以包括以上参照图8A和图8B描述的第三恢复操作,即,修复操作、映射数据清除操作和结束日志写入操作。换言之,在执行开始日志重写操作之后,控制器100可以对开放存储块BK_OP执行修复操作、映射数据清除操作和结束日志写入操作。
在完成第三后续恢复操作之后,在步骤S512处,控制器100可以在状态存储器区域ST_RG中将第三恢复状态ST3更新至第四恢复状态ST4。
此后,如以上参考图9所述的,控制器100可以在第四恢复状态ST4下继续使用开放存储块BK_OP。即,在步骤S513处,控制器100可以使用开放存储块BK_OP以用于写入操作。在步骤S514处,当存储块BK_OP中不再存在空存储器区域时,控制器100可以封闭存储块BK_OP并将其包括在RCB列表中。在步骤S515处,控制器100可以在状态存储器区域ST_RG中将第四恢复状态ST4更新至第一恢复状态ST1。然后,可以完成整个恢复操作。
图10B详细示出控制器100执行第三后续恢复操作的方法。第三后续恢复操作可以包括对开放存储块BK_OP的开始日志重写操作、修复操作、映射数据清除操作和结束日志写入操作。
参照图10B,在步骤S521处,控制器100可通过参照开始日志START_LOG1在日志存储器区域LOG_RG中重写开始日志START_LOG2。重写的开始日志START_LOG2可以包括关于新复制字线WLi+3的信息,即,按照写入顺序在先前的复制字线WLi+2之后的字线。换言之,由于在执行复制写入操作的同时发生突然断电的情况下,先前的复制字线WLi+2可能不稳定以继续执行复制写入操作,因此可以确定新复制字线WLi+3。根据实施例,先前的复制字线WLi+2可以变成用于虚拟写入操作的虚拟字线。
在步骤S522至步骤S524处,控制器100可以执行类似于以上参照图8B描述的修复操作、映射数据清除操作和结束日志写入操作。因此,在本文中将省略其详细描述。
可以考虑如下情况:在发生突然断电之后将恢复操作执行到第四恢复状态ST4之后,在第四恢复状态ST4下使用开放存储块BK_OP的同时发生后续突然断电。在该情况下,控制器100可以在通电之后的启动操作中执行如稍后将参照图11描述的第四后续恢复操作。
图11示出在第四恢复状态ST4下使用开放存储块BK_OP的同时再次发生后续突然断电SPO2之后,控制器100执行第四后续恢复操作的方法。
参照图11,在步骤S611处,当在启动操作中确定刚刚已经发生突然断电SPO2时,控制器100可以通过参照状态存储器区域ST_RG检查当前处于第四恢复状态ST4,并且可开始第四后续恢复操作。第四后续恢复操作可以包括对开放存储块BK_OP的块映射数据恢复操作和开始日志写入操作。可以以在以上参照图7A和图7B描述的第二恢复操作中执行的方式类似的方式来执行块映射数据恢复操作和开始日志写入操作。因此,在本文中将省略其详细描述。
在完成第四后续恢复操作之后,在步骤S612处,控制器100可以在状态存储器区域ST_RG中将第四恢复状态ST4更新至第三恢复状态ST3。
在步骤S613处,控制器100可以执行类似于以上参照图8A和图8B描述的第三恢复操作。即,第三恢复操作可以包括对开放存储块BK_OP的修复操作、映射数据清除操作和结束日志写入操作。
在第四恢复状态ST4下发生突然断电SPO2的情况下,开放存储块BK_OP的至少一个结束日志可能已经被写入在日志存储器区域LOG_RG中。如上所述,结束日志DONE_LOG1可以指示在开放存储块BK_OP中的已经预先被执行映射数据清除操作的位置。因此,当在步骤S613处执行映射数据清除操作时,控制器100可以基于预先记录的结束日志来区分开放块BK_OP的块映射数据中的已经清除的部分和尚未清除的部分,并且可以仅对尚未清除的部分执行映射数据清除操作。这可以缩短映射数据清除操作所需的时间,并且提高恢复操作的效率。
在完成第三恢复操作之后,在步骤S614处,控制器100可以在状态存储器区域ST_RG中将第三恢复状态ST3更新至第四恢复状态ST4。
此后,如以上参考图9所述的,控制器100可以在第四恢复状态ST4下继续使用开放存储块BK_OP。即,在步骤S615处,控制器100可以使用开放存储块BK_OP以用于写入操作。在步骤S616处,当存储块BK_OP中不再存在空存储器区域时,控制器100可以封闭存储块BK_OP并将其包括在RCB列表中。在步骤S617处,控制器100可以在状态存储器区域ST_RG中将第四恢复状态ST4更新至第一恢复状态ST1。然后,可以完成整个恢复操作。
图12是示出应用根据实施例的数据存储装置10的数据处理***2000的框图。
数据处理***2000可以包括计算机、膝上型计算机、上网本、智能电话、数字TV、数码相机、导航仪等。数据处理***2000可以包括主处理器2100、主存储器装置2200、数据存储装置2300和输入/输出装置2400。数据处理***2000的内部单元可以通过***总线2500交换数据、控制信号等。
主处理器2100可以控制数据处理***2000的一般操作。主处理器2100可以是例如诸如微处理器的中央处理单元。主处理器2100可以执行主存储器装置2200上的诸如操作***、应用程序、装置驱动器等的软件。
主存储器装置2200可以存储待由主处理器2100使用的程序和编程数据。主存储器装置2200可以临时存储待传输到数据存储装置2300和输入/输出装置2400的数据。
数据存储装置2300可以包括控制器2310和存储介质2320。数据存储装置2300可以基本上类似于图1的数据存储装置10来配置并且操作。
输入/输出装置2400可以包括能够与用户交换数据的键盘、扫描仪、触摸屏、屏幕监视器、打印机、鼠标等,诸如从用户接收用于控制数据处理***2000的命令或将处理结果提供给用户。
根据实施例,数据处理***2000可以通过诸如局域网(LAN)、广域网(WAN)、无线网络等的网络2600与至少一个服务器2700通信。数据处理***2000可以包括访问网络2600的网络接口(未示出)。
虽然上面已经描述各个实施例,但是本领域技术人员将理解,描述的实施例仅是示例。因此,本文描述的数据存储装置及其操作方法不应基于描述的实施例来限制。
Claims (20)
1.一种数据存储装置,其包括:
非易失性存储器装置;以及
控制器,其适于:
基于所述非易失性存储器装置的恢复状态,响应于突然断电对所述非易失性存储器装置执行恢复操作;
在所述恢复操作中,对所述非易失性存储器装置的至少一个开放存储块执行修复操作之后,在将所述恢复操作执行到预定恢复状态的同时,更新所述非易失性存储器装置的恢复状态;以及
在所述预定恢复状态下,在至少一个开放存储块中从执行所述修复操作的位置之后执行写入操作。
2.根据权利要求1所述的数据存储装置,其中,当所述恢复状态为第一恢复状态时,所述控制器进一步适于:
清除包括在预定列表中的至少一个封闭存储块的块映射数据;以及
将所述第一恢复状态更新至第二恢复状态。
3.根据权利要求1所述的数据存储装置,其中,在所述恢复状态被更新至所述第二恢复状态之后或者当所述非易失性存储器装置处于所述第二恢复状态中时,所述控制器进一步适于:
恢复所述开放存储块的块映射数据,写入包括待执行所述修复操作的位置的开始日志;以及
将所述第二恢复状态更新至第三恢复状态。
4.根据权利要求1所述的数据存储装置,其中,在将所述恢复状态更新至第三恢复状态之后,
所述控制器进一步适于:
基于包括待执行所述修复操作的位置的开始日志执行所述修复操作;
清除所述开放存储块的块映射数据;
写入包括所述修复操作的执行结果的结束日志;以及
将所述第三恢复状态更新至所述预定恢复状态。
5.根据权利要求4所述的数据存储装置,其中,当所述恢复状态为所述第三恢复状态时,所述控制器进一步适于:
在执行所述修复操作之前,基于所述开始日志,校正待执行所述修复操作的位置;以及
重写包括校正位置的新开始日志。
6.根据权利要求1所述的数据存储装置,
其中,当在所述预定恢复状态下,所述开放存储块不包括空存储器区域时,所述控制器将所述开放存储块包括在所述预定列表中,并且所述控制器进一步适于将所述预定恢复状态更新至所述第一恢复状态,以及
其中所述预定列表包括块映射数据未被清除的至少一个存储块。
7.根据权利要求1所述的数据存储装置,其中,当所述恢复状态为所述预定恢复状态时,所述控制器进一步适于:
恢复所述开放存储块的块映射数据;
写入包括待执行所述修复操作的位置的开始日志;以及
将所述预定恢复状态更新至第三恢复状态。
8.根据权利要求7所述的数据存储装置,其中,在将所述恢复状态更新至所述第三恢复状态之后,所述控制器进一步适于:
执行所述修复操作;
清除所述开放存储块的块映射数据;
写入包括所述修复操作的执行结果的结束日志;以及
将所述第三恢复状态更新至所述预定恢复状态。
9.根据权利要求8所述的数据存储装置,其中,当清除所述块映射数据时,所述控制器进一步适于:
基于先前存储的结束日志来确定在所述块映射数据中的已经清除的部分;以及
清除在所述块映射数据中的未清除的部分。
10.根据权利要求1所述的数据存储装置,
其中,当执行所述修复操作时,所述控制器进一步适于:
对所述开放存储块中的最后写入字线之后的第一字线执行虚拟写入操作;以及
对所述第一字线之后的第二字线执行复制写入操作,以及
其中,当执行所述复制写入操作时,所述控制器对存储在所述最后写入字线的存储器区域中的数据进行复制。
11.一种数据存储装置的操作方法,其包括:
响应于突然断电,根据包括多个存储块的非易失性存储器装置的恢复状态开始恢复操作;
在对至少一个开放存储块执行修复操作之后,将所述恢复状态更新至预定恢复状态;以及
在所述预定恢复状态下,在所述开放存储块中从执行所述修复操作的位置之后执行写入操作。
12.根据权利要求11所述的方法,其进一步包括:
当所述恢复状态为第一恢复状态时,
清除包括在预定列表中的至少一个封闭存储块的块映射数据;以及
将所述第一恢复状态更新至第二恢复状态。
13.根据权利要求11所述的方法,其进一步包括:
在所述恢复状态被更新至所述第二恢复状态之后或者当所述恢复状态是第二恢复状态时,
恢复所述开放存储块的块映射数据,
写入包括待执行所述修复操作的位置的开始日志,以及
将所述第二恢复状态更新至第三恢复状态。
14.根据权利要求11所述的方法,其进一步包括:
在将所述恢复状态更新至第三恢复状态之后,
基于包括待执行所述修复操作的位置的开始日志执行所述修复操作;
清除所述开放存储块的块映射数据;
写入包括所述修复操作的执行结果的结束日志;以及
将所述第三恢复状态更新至所述预定恢复状态。
15.根据权利要求14所述的方法,其进一步包括:
当所述恢复状态为所述第三恢复状态时,
在执行所述修复操作之前,基于所述开始日志,校正待执行所述修复操作的位置;以及
重写包括校正位置的新开始日志。
16.根据权利要求11所述的方法,其进一步包括:
在所述预定恢复状态下,当所述开放存储块不包括空存储器区域时,
将所述开放存储块包括在所述预定列表中;以及
将所述预定恢复状态更新至所述第一恢复状态,以及
其中所述预定列表包括块映射数据未被清除的至少一个存储块。
17.根据权利要求11所述的方法,其进一步包括:
当所述恢复状态为所述预定恢复状态时,
恢复所述开放存储块的块映射数据,写入包括待执行所述修复操作的位置的开始日志;以及
将所述预定恢复状态更新至第三恢复状态。
18.根据权利要求17所述的方法,其进一步包括:
在将所述恢复状态更新至所述第三恢复状态之后,
执行所述修复操作;
清除所述开放存储块的块映射数据;
写入包括所述修复操作的执行结果的结束日志;以及
将所述第三恢复状态更新至所述预定恢复状态。
19.根据权利要求18所述的方法,其中清除所述块映射数据包括:
基于先前存储的结束日志来确定在所述块映射数据中的已经清除的部分;以及
清除在所述块映射数据中的未清除的部分。
20.根据权利要求11所述的方法,
其中所述修复操作包括对在所述开放存储块中的最后写入字线之后的第一字线的虚拟写入操作、以及对所述第一字线之后的第二字线的复制写入操作,以及
其中,通过复制存储在所述最后写入字线的存储器区域中的数据来执行所述复制写入操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0060506 | 2017-05-16 | ||
KR1020170060506A KR102259256B1 (ko) | 2017-05-16 | 2017-05-16 | 데이터 저장 장치 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108874302A true CN108874302A (zh) | 2018-11-23 |
CN108874302B CN108874302B (zh) | 2021-12-10 |
Family
ID=64269613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711472871.3A Active CN108874302B (zh) | 2017-05-16 | 2017-12-29 | 数据存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10664355B2 (zh) |
KR (1) | KR102259256B1 (zh) |
CN (1) | CN108874302B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111443866A (zh) * | 2019-01-16 | 2020-07-24 | 西部数据技术公司 | 能从非正常关机迅速恢复的非易失性存储*** |
CN113168882A (zh) * | 2018-11-29 | 2021-07-23 | 华为技术有限公司 | 一种编码方法、译码方法以及存储控制器 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190078134A (ko) * | 2017-12-26 | 2019-07-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20190092054A (ko) * | 2018-01-30 | 2019-08-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
JP2019185350A (ja) * | 2018-04-09 | 2019-10-24 | 東芝メモリ株式会社 | メモリシステム及びメモリシステムの制御方法 |
KR102583810B1 (ko) * | 2018-05-15 | 2023-10-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US10976938B2 (en) * | 2018-07-30 | 2021-04-13 | Robin Systems, Inc. | Block map cache |
KR20200058867A (ko) * | 2018-11-20 | 2020-05-28 | 에스케이하이닉스 주식회사 | 메모리 시스템의 복구 동작 중 비휘발성 메모리 블록의 반복 접근을 줄이는 방법 및 장치 |
TWI745695B (zh) * | 2019-05-22 | 2021-11-11 | 慧榮科技股份有限公司 | 用來進行無預警斷電復原管理之方法、記憶裝置及其控制器以及電子裝置 |
KR20220025401A (ko) | 2020-08-24 | 2022-03-03 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 |
KR20220059272A (ko) | 2020-11-02 | 2022-05-10 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR20220099641A (ko) | 2021-01-07 | 2022-07-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20220153863A (ko) | 2021-05-12 | 2022-11-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20220168510A (ko) | 2021-06-16 | 2022-12-23 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667128A (zh) * | 2008-09-05 | 2010-03-10 | 华硕电脑股份有限公司 | 更新与修复基本输入输出***的方法 |
US20130067146A1 (en) * | 2011-09-13 | 2013-03-14 | Kabushiki Kaisha Toshiba | Memory device, control method for the memory device, and controller |
CN106055489A (zh) * | 2015-04-10 | 2016-10-26 | 旺宏电子股份有限公司 | 存储器装置与其操作方法 |
CN107025185A (zh) * | 2016-02-01 | 2017-08-08 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4302970B2 (ja) * | 2002-12-16 | 2009-07-29 | 富士通株式会社 | 差分更新方法、プログラム及び装置 |
US8452929B2 (en) | 2005-04-21 | 2013-05-28 | Violin Memory Inc. | Method and system for storage of data in non-volatile media |
KR100843543B1 (ko) * | 2006-10-25 | 2008-07-04 | 삼성전자주식회사 | 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법 |
EP2742428B1 (en) | 2011-08-12 | 2016-01-06 | Sandisk Enterprise IP LLC | Cache management including solid state device virtualization |
CN103164345B (zh) * | 2011-12-08 | 2016-04-27 | 光宝科技股份有限公司 | 固态存储装置遭遇断电后的数据存储方法 |
US8880786B2 (en) * | 2012-09-28 | 2014-11-04 | Apple Inc. | Flash translation layer (FTL) database journaling schemes |
KR102065665B1 (ko) * | 2013-10-17 | 2020-01-13 | 삼성전자 주식회사 | 더미 워드라인을 포함하는 불휘발성 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작방법 |
US9606733B2 (en) * | 2014-11-10 | 2017-03-28 | Silicon Motion, Inc. | Data storage device and operating method |
KR102491624B1 (ko) * | 2015-07-27 | 2023-01-25 | 삼성전자주식회사 | 데이터 저장 장치의 작동 방법과 상기 데이터 저장 장치를 포함하는 시스템의 작동 방법 |
US9880770B2 (en) * | 2015-09-02 | 2018-01-30 | SK Hynix Inc. | Supporting invalidation commands for non-volatile memory |
-
2017
- 2017-05-16 KR KR1020170060506A patent/KR102259256B1/ko active IP Right Grant
- 2017-12-01 US US15/829,081 patent/US10664355B2/en active Active
- 2017-12-29 CN CN201711472871.3A patent/CN108874302B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667128A (zh) * | 2008-09-05 | 2010-03-10 | 华硕电脑股份有限公司 | 更新与修复基本输入输出***的方法 |
US20130067146A1 (en) * | 2011-09-13 | 2013-03-14 | Kabushiki Kaisha Toshiba | Memory device, control method for the memory device, and controller |
CN106055489A (zh) * | 2015-04-10 | 2016-10-26 | 旺宏电子股份有限公司 | 存储器装置与其操作方法 |
CN107025185A (zh) * | 2016-02-01 | 2017-08-08 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113168882A (zh) * | 2018-11-29 | 2021-07-23 | 华为技术有限公司 | 一种编码方法、译码方法以及存储控制器 |
CN111443866A (zh) * | 2019-01-16 | 2020-07-24 | 西部数据技术公司 | 能从非正常关机迅速恢复的非易失性存储*** |
CN111443866B (zh) * | 2019-01-16 | 2023-06-27 | 西部数据技术公司 | 能从非正常关机迅速恢复的非易失性存储***及其方法 |
Also Published As
Publication number | Publication date |
---|---|
US10664355B2 (en) | 2020-05-26 |
KR102259256B1 (ko) | 2021-06-02 |
KR20180126118A (ko) | 2018-11-27 |
CN108874302B (zh) | 2021-12-10 |
US20180336104A1 (en) | 2018-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874302A (zh) | 数据存储装置及其操作方法 | |
CN105701021B (zh) | 数据储存装置及其数据写入方法 | |
CN105988718B (zh) | 非挥发性储存装置与控制器进行的控制方法 | |
CN110045913A (zh) | 垃圾收集的方法、记忆装置及其控制器和电子装置 | |
CN101458961B (zh) | 非易失性存储设备中数据管理方法和映射表更新方法 | |
CN105027090B (zh) | 用于固态驱动器中的物理到逻辑映射的方法、设备和*** | |
EP1909184B1 (en) | Mapping information managing apparatus and method for non-volatile memory supporting different cell types | |
CN107957961A (zh) | 存储设备、存储***和计算设备 | |
US20190339904A1 (en) | Solid state drive using two-level indirection architecture | |
US20080250188A1 (en) | Memory Controller, Nonvolatile Storage, Nonvolatile Storage System, and Memory Control Method | |
US20070300011A1 (en) | Memory card, semiconductor device, and method of controlling semiconductor memory | |
CN110457231A (zh) | 用来管理一记忆装置的方法以及其相关的记忆装置 | |
CN104346290A (zh) | 存储装置、计算机***及其操作方法 | |
CN106598479A (zh) | 闪速存储器的故障安全擦除的方法和装置 | |
CN103425589A (zh) | 控制装置、存储装置以及存储控制方法 | |
CN108415663A (zh) | 数据存储装置的操作方法 | |
CN108108261A (zh) | 数据存储装置及其操作方法 | |
CN107133121A (zh) | 数据存储装置及其操作方法 | |
KR20200120113A (ko) | 메모리 시스템 및 그것의 동작방법 | |
CN112463436A (zh) | 存储器控制器以及操作存储器控制器的方法 | |
JP5057887B2 (ja) | データ更新装置及びデータ更新方法及びデータ更新プログラム | |
US20190026045A1 (en) | Storage Device and Data Control Method for Storage Error Control | |
KR102304929B1 (ko) | 모델 정보를 저장하는 스토리지 장치, 스토리지 장치를 포함하는 스토리지 시스템 및 스토리지 시스템의 동작 방법 | |
CN110083305A (zh) | 存储器***及其操作方法 | |
CN117555478A (zh) | 一种基于闪存的模拟eeprom读写方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |