CN107918566A - 存储器系统及其操作方法 - Google Patents

存储器系统及其操作方法 Download PDF

Info

Publication number
CN107918566A
CN107918566A CN201710638520.9A CN201710638520A CN107918566A CN 107918566 A CN107918566 A CN 107918566A CN 201710638520 A CN201710638520 A CN 201710638520A CN 107918566 A CN107918566 A CN 107918566A
Authority
CN
China
Prior art keywords
page
write
block
page number
controller
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
Application number
CN201710638520.9A
Other languages
English (en)
Inventor
李宗珉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN107918566A publication Critical patent/CN107918566A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2017Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where memory access, memory control or I/O control functionality is redundant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Abstract

本发明涉及一种存储器系统,其包括:非易失性存储器装置,其包括每个都包括多个页面的多个存储块;以及控制器,其适于在写入操作期间将写入数据与对应的写入顺序信息一起编程在多个页面中,其中当在恢复操作期间在多个存储块中检测到两个或更多个开放块时,控制器基于写入顺序信息生成其中排列开放块的页面的物理页码的顺序表,并基于顺序表确定开放块的页面中的至少一个恢复目标页面。

Description

存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2016年10月10日提交的申请号为10-2016-0130551的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本发明的示例性实施例涉及一种存储器系统,且更特别地,涉及一种处理去往和来自存储器装置的数据的存储器系统及其操作方法。
背景技术
计算机环境范例已经变为可在任何时间和任何地点使用的普适计算系统。由于这个事实,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。
因为存储器系统没有移动部件,所以它们提供优良的稳定性、耐用性、高的信息存取速度以及低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
本发明的实施例涉及一种能够在突然断电(SPO)之后的恢复操作期间有效地检测诸如页面的恢复目标存储器区域的存储器系统以及用于操作该存储器系统的方法。
根据本发明的实施例,存储器系统可包括:非易失性存储器装置,其包括每个都包括多个页面的多个存储块;以及控制器,其适于在写入操作期间将写入数据与对应的写入顺序信息一起编程在多个页面中,并且当在恢复操作期间在多个存储块中检测到两个或更多个开放块时,控制器可基于写入顺序信息生成其中排列开放块的页面的物理页码的顺序表,并且可基于顺序表确定开放块的页面中的至少一个恢复目标页面。
写入顺序信息可包括表示被编程在各个页面中的写入数据的写入顺序的值。控制器可通过逐块地读取被存储在开放块的页面中的写入顺序信息来生成顺序表,并且可根据写入顺序信息的值的升序顺序将开放块的页面的物理页码存储在顺序表中。
控制器可通过将对应于处于正常状态的写入顺序信息的开放块的页面的物理页码存储在顺序表中来生成顺序表,并且可将对应于处于错误状态的写入顺序信息的开放块的页面的物理页码的空间维持为空白。
控制器可将对应于顺序表中位于空白空间之前的物理页码的一个或多个页面确定为至少一个恢复目标页面。
控制器可进一步将对应于顺序表中位于空白空间之后的物理页码的一个或多个页面确定为无效页面。
控制器可通过将对应于待存储在顺序表中的物理页码的逻辑页码存储在顺序表中来生成顺序表。
控制器可基于顺序表来更新关于逻辑页码和物理页码的映射信息。
控制器可使关于恢复目标页面的物理页码和对应的逻辑页码的映射信息维持有效,并可使关于无效页面的物理页码和对应的逻辑页码的映射信息无效或将其删除。
控制器可首先读取开放块中具有存储最小值的写入顺序信息的页面的开放块,并且可以当将物理页码存储在顺序表中时,根据写入顺序信息的值的升序顺序来排列物理页码。
当在存储器系统突然断电之后恢复电力时,控制器可执行恢复操作。
根据本发明的另一实施例,一种用于操作存储器系统的方法,存储器系统设置有包括每个都包括多个页面的多个存储块的非易失性存储器装置,方法可以包括:在写入操作期间将写入数据与对应的写入顺序信息一起编程在多个页面中,并且当在恢复操作期间在多个存储块中检测到两个或更多个开放块时,根据写入顺序信息生成其中排列开放块的页面的物理页码的顺序表,以及基于顺序表确定开放块的页面中的至少一个恢复目标页面。写入顺序信息可包括表示被编程在各个页面中的写入数据的片段的写入顺序的值。
顺序表的生成可包括:逐块地读取被存储在开放块的页面中的写入顺序信息;以及根据写入顺序信息的值的升序顺序,将开放块的页面的物理页码存储在顺序表中。
顺序表的生成可包括:将对应于处于正常状态的写入顺序信息的开放块的页面的物理页码存储在顺序表中;以及将对应于处于错误状态的写入顺序信息的开放块的页面的物理页码的空间维持为空白。
确定可包括:将对应于顺序表中位于空白空间之前的物理页码的一个或多个页面确定为至少一个恢复目标页面。
确定可进一步包括:将对应于顺序表中位于空白空间之后的物理页码的一个或多个页面确定为无效页面。
顺序表的生成可包括:将对应于待存储在顺序表中的物理页码的逻辑页码存储在顺序表中。
方法可进一步包括:基于顺序表更新关于逻辑页码和物理页码的映射信息。
映射信息的更新可包括:使关于恢复目标页面的物理页码和对应的逻辑页码的映射信息维持有效;以及使关于无效页面的物理页码和对应的逻辑页码的映射信息无效或将其删除。
写入顺序信息的读取可包括:首先读取开放块中具有存储最小值的写入顺序信息的页面的开放块;以及当将物理页码存储在顺序表中时,根据写入顺序信息的值的升序顺序来排列物理页码。
方法可进一步包括:当在存储器系统突然断电之后恢复电力时执行恢复操作。
附图说明
从下面参照附图的详细描述,本发明的这些和其它特征与优点对于本发明所属领域技术人员将变得显而易见,其中:
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
图2是示出在图1的存储器系统中采用的存储器装置的示例性配置的示意图。
图3是示出图2的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出图2的存储器装置的示例性三维结构的示意图。
图5是示出根据本发明的第一实施例的存储器系统的操作的框图。
图6是示出根据本发明的第二实施例的存储器系统的操作的框图。
图7至图15是示意性示出根据本发明的各个实施例的图1的数据处理系统的应用示例的简图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,注意到的是,本发明可以不同的其他实施例、形式以及变型实施,且不应被解释为限于本文所阐述的实施例。相反,提供所描述的实施例使得本公开将更完整和全面并将本发明充分地传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另一个元件区分开。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实施例的特征,比例可能已经被夸大。
将进一步理解的是,当元件被称为“连接到”或“联接到”另一元件时,其可直接在其它元件上、连接到或联接到其它元件,或者可存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制本发明。如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,并不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,描述了大量具体细节。可在没有一些或全部这些具体细节的情况下实践本发明。在其它情况下,为了不使本发明被不必要地模糊,未详细地描述公知的进程结构和/或进程。
还应注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,结合一个实施例所描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用,除非另有明确说明。
在下文中,将参照附图详细描述本发明的各个实施例。
图1是示出根据本发明的实施例的包括存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可包括主机102和存储器系统110。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式电脑、游戏机、TV和投影仪的非便携式电子装置。
存储器系统110可响应于主机102的请求操作以为主机102存储数据。存储器系统110的非限制性示例可包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪存(UFS)装置、标准闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可包括嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)和微型MMC,SD卡可包括迷你-SD卡和微型-SD卡。
存储器系统110可由各种类型的存储装置实施。包括在存储器系统110中的存储装置的非限制性示例可包括诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置和诸如下列的非易失性存储器装置:只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器。闪速存储器可具有三维(3D)堆叠结构。
存储器系统110可包括存储器装置150和控制器130。存储器装置150可为主机120存储数据,并且控制器130可控制数据在存储器装置150中的存储。
控制器130和存储器装置150可被集成到单个半导体装置中,单个半导体装置可被包括在如上所例示的各种类型的存储器系统中。
存储器系统110的非限制性应用示例可包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、无线射频识别(RFID)装置或构成计算系统的各种部件之一。
存储器装置150可以是非易失性存储器装置,并且即使不提供电力,其也可保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可包括多个存储器管芯(未示出),每个存储器管芯包括多个平面(未示出),每个平面包括多个存储块152至156,存储块152至156中的每一个可包括多个页面,并且每个页面可包括联接到字线的多个存储器单元。
控制器130可响应于来自主机102的请求控制存储器装置150。例如,控制器130可将从存储器装置150读取的数据提供给主机102,并将从主机102提供的数据存储至存储器装置150中。对于该操作,控制器130可控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
控制器130可包括主机接口(I/F)单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、NAND闪速控制器(NFC)142以及存储器144,其全部通过内部总线可操作地联接。
主机接口单元132可被配置成处理主机102的命令和数据,并可通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
ECC单元138可检测并校正包括在从存储器装置150读取的数据中的错误。换言之,ECC单元138可通过在ECC编码进程期间使用的ECC代码对从存储器装置150读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ECC单元138可输出信号,例如错误校正成功/失败信号。当错误位的数量大于可校正错误位的阈值时,ECC单元138不会校正错误位,并且可输出错误校正失败信号。
ECC单元138可通过诸如以下的编码调制执行错误校正:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)。然而,ECC单元138不限于此。ECC单元138可包括用于错误校正的所有电路、模块、系统或装置。
PMU 140可提供和管理控制器130的电力。
NFC 142可用作用于接口连接控制器130和存储器装置150使得控制器130响应于来自主机102的请求来控制存储器装置150的存储器/存储接口。当存储器装置150是闪速存储器或具体地是NAND闪速存储器时,NFC 142可在处理器134的控制下生成用于存储器装置150的控制信号并处理待被提供给存储器装置150的数据。NFC 142可用作处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,NFC 142可支持控制器130和存储器装置150之间的数据传输。
存储器144可用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。控制器130可响应于来自主机102的请求控制存储器装置150执行读取操作、写入操作、编程操作和擦除操作。控制器130可将从存储器装置150读取的数据提供给主机102并可将从主机102提供的数据存储到存储器装置150中。存储器144可存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可通过易失性存储器来实施。例如,存储器144可通过静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。存储器144可设置在控制器130内部或外部。图1例示了设置在控制器130内部的存储器144。在实施例中,存储器144可通过具有在存储器144和控制器130之间传输数据的存储器接口的外部易失性存储器来实施。
处理器134可控制存储器系统110的全部操作。处理器134可驱动固件来控制存储器系统110的全部操作。固件可被称为闪存转换层(FTL)。
控制器130的处理器134可包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可执行用于检查包括在存储器装置150中的多个存储块152至156中在编程操作期间由于NAND闪速存储器的特性发生编程失败的坏块的坏块管理操作。管理单元可将坏块的编程失败数据写入新的存储块。在具有3D堆叠结构的存储器装置150中,坏块管理操作可能降低存储器装置150的使用效率和存储器系统110的可靠性。因此,需要更可靠地执行坏块管理操作。
图2是示出存储器装置150的示意图。
参照图2,存储器装置150可包括多个存储块0至N-1,并且块0至N-1中的每一个可包括多个页面,例如2M个页面,页面的数量可根据电路设计而变化。包括在各个存储块0至N-1中的存储器单元可以是下列中的一个或多个:存储1位数据的单层单元(SLC)中、存储2位数据的多层单元(MLC)、存储3位数据的三层单元(TLC)、存储4位数据的四层单元(QLC)、存储5位或更多位数据的多层单元等。
图3是示出存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图。
参照图3,可对应于包括在存储器系统110的存储器装置150中的多个存储块152至156中的任一个的存储块330可包括联接到多个相应位线BL0至BLm-1的多个单元串340。每列的单元串340可包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元MC0至MCn-1可以串联地联接在选择晶体管DST和SST之间。在实施例中,存储器单元晶体管MC0至MCn-1中的每一个可通过能够存储多个位的数据信息的MLC来实施。单元串340中的每一个可被电联接到多个位线BL0至BLm-1中的对应位线。例如,如图3所示,第一单元串被联接到第一位线BL0,最后一个单元串被联接到最后一个位线BLm-1。
虽然图3示出了NAND闪速存储器单元,但是本发明不限于此。注意的是,存储器单元可以是NOR闪速存储器单元或者包括组合在其中的两种或更多种存储器单元的混合闪速存储器单元。另外,注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置,或包括作为电荷存储层的绝缘层的电荷撷取闪存(CTF)存储器装置。
存储器装置150可进一步包括电压供应单元310,其提供根据操作模式供应至字线的包括编程电压、读取电压和通过电压的字线电压。电压供应单元310的电压生成操作可通过控制电路(未示出)控制。在控制电路的控制下,电压供应单元310可选择存储器单元阵列的存储块(或扇区)中的一个、选择被选择的存储块的字线中的一个以及将字线电压提供给被选择的字线和未选择的字线。
存储器装置150可包括通过控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可用作读出放大器,其用于从存储器单元阵列读取数据。在编程操作期间,读取/写入电路320可用作根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待被存储到存储器单元阵列中的数据,并根据接收的数据驱动位线。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326,并且页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。
图4是示出存储器装置150的示例性3D结构的示意图。
存储器装置150可通过2D或3D存储器装置实施。具体地,如图4所示,存储器装置150可通过具有3D堆叠结构的非易失性存储器装置实施。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块BLK0至BLKN-1,存储块中的每一个具有3D结构(或垂直结构)。
图5是示出根据本发明的第一实施例的存储器系统的操作的框图。
参照图5,注意的是,图5所示的存储器系统的结构以图1所示的存储器系统的结构为基础。然而,图5仅示出控制器130的存储器144和存储器装置150的存储块152、154和156的示例性配置。
参照图5,存储块152、154和156中的每一个可包括多个页面P0至P3。此外,假设在存储块152、154和156中,第一存储块152和第二存储块154是包括空白页面的开放存储块,第三存储块156是不具有任何空白页面的封闭存储块。
在对非易失性存储器装置150的写入操作期间,控制器130可将写入顺序信息WTO连同写入数据(未示出)一起存储在包括在存储块152、154和156中的每一个中的多个页面P0至P3中的每一个中。
例如,图5示出控制器130可在写入操作中将写入数据(未示出)交替地编程在第一存储块152和第二存储块154中。例如,第10095个写入数据可被编程在第一存储块152的第零页面P0中;第10096个写入数据可被编程在第二存储块154的第零页面P0中;第10097个写入数据可被编程在第一存储块152的第一页面P1中;第10098个写入数据可被编程在第二存储块154的第一页面P1中;第10099个写入数据可被编程在第一存储块152的第二页面P2中;并且第10100个写入数据可被编程在第一存储块152的第三页面P3中。
当控制器130将写入数据(未示出)编程在第一存储块152和第二存储块154的页面中时,控制器130可将写入顺序信息WTO与写入数据一起编程。例如,当第10095个写入数据被编程在第一存储块152的第零页面P0中时,值为10095的写入顺序信息WTO(WTO=10095)被编程在第一存储块152的第零页面P0中,并且当第10096个写入数据被编程在第二存储块154的第零页面P0中时,值为10096的写入顺序信息WTO(WTO=10096)被编程在第二存储块154的第零页面P0中。当第10097个写入数据被编程在第一存储块152的第一页面P1中时,值为10097的写入顺序信息WTO(WTO=10097)被编程在第一存储块152的第一页面P1中,并且当第10098个写入数据被编程在第二存储块154的第一页面P1中时,值为10098的写入顺序信息WTO(WTO=10098)被编程在第二存储块154的第一页面P1中。当第10099个写入数据被编程在第一存储块152的第二页面P2中时,值为10099的写入顺序信息WTO(WTO=10099)被编程在第一存储块152的第二页面P2中,并且当第10100个写入数据被编程在第一存储块152的第三页面P3中时,值为10100的写入顺序信息WTO(WTO=10100)被编程在第一存储块152的第三页面P3中。
写入顺序信息WTO是表示当写入数据具有大于一个页面的值的值并且写入数据被连续地编程在多个页面中时写入数据连接所根据的顺序的信息。例如,在示例性写入数据(未示出)的情况下,写入数据被顺序地编程在下述的六个页面中:第一存储块152的第零页面P0、第二存储块154的第零页面P0、第一存储块152的第一页面P1、第二存储块154的第一页面P1、第一存储块152的第二页面以及第一存储块152的第三页面P3。因此,写入顺序信息WTO可表示具有比单个页面更大的值并因此必须被编程到两个或更多个页面中的写入数据的顺序。例如,在上述情况下,写入数据被顺序地编程在六个页面中(即,第一存储块152的第零页面P0至第一存储块152的第三页面P3)。
当控制器130正在执行编程操作时,在编程操作中间可能发生突然切断对存储器系统110的电力供应的突然断电。
本发明允许当写入数据(未示出)被编程在包括在多个存储块152、154和156中的每一个中的页面P0至P3中时发生突然断电时,检测在发生突然断电时,写入数据在哪些页面中被正常编程以及哪个页面正在被编程。因此,本发明防止发生写入错误。
具体地,当发生SPO,然后恢复电力供应时,控制器130可执行恢复操作并在包括在多个存储块152、154和156中的每一个中的页面P0至P3中搜索正常完成编程操作的页面。
控制器检查写入数据是否被正常地编程在页面P0-P3中且还检查被正常编程的写入数据是否处于可用状态。
例如,当假设存在被连续编程在6个页面中的写入数据,写入数据未被正常地编程在6个连续页面中的第四顺序的页面中,写入数据被正常地编程在第一至第三顺序的页面和第五至第六顺序的页面中时,则被编程在第四顺序的错误页面之后的第五至第六顺序的页面中的写入数据由于发生在第四顺序的页面中的写入错误而变成无意义的数据。因此,如果写入数据被编程在6个连续页面中,则需要检测在哪个页面中发生写入错误。
注意的是,写入顺序信息WTO表示写入数据(未示出)的连续性,并且写入顺序信息WTO与写入操作的执行顺序无关。换言之,具有靠前数字的写入顺序信息WTO并不表示写入操作会靠前执行和完成。因此,在突然断电之后,虽然具有大数字的写入顺序信息WTO的特定写入数据被正常地编程,但是这并不意味着具有较低数字的写入顺序信息WTO的其他写入数据都被正常地编程。因此,可能发生其中写入数据未被正常地编程在6个连续页面中的第四顺序的页面中并且写入数据被正常地编程在第一至第三顺序的页面以及第五至第六顺序的页面中的上述示例性情况。
根据本发明的第一实施例的控制器130可通过在恢复操作期间执行以下操作来检测页面P0至P3中的恢复目标页面。
控制器130可检查存储块152、154和156中是否存在两个或更多个开放块。换言之,控制器130可检查在SPO发生的时刻是否正在对存储块152、154和156中的两个或更多个存储块同时执行写入操作。此处,在包括在非易失性存储器装置150中的存储块152、154和156中,因为在发生突然断电的时刻封闭块不是写入操作的目标,因此在恢复操作部分中不考虑封闭块的存在。
例如,在图5中,在包括在非易失性存储器装置150中的存储块中,第一存储块152和第二存储块154是开放块,第三存储块156是封闭块。
因为存在两个或更多个开放块,所以控制器130可生成顺序表500,在顺序表500中开放块152和开放块154中的每一个的页面P0至P3的物理页码PPN基于被存储在开放块152和开放块154中的每一个的页面P0至P3中的写入顺序信息WTO来排列。此处,因为第三存储块156是封闭块,所以第三存储块156不会影响顺序表500的生成。控制器130可将顺序表500存储和管理在控制器130内的存储器144中。
在恢复操作期间,控制器130可读取被存储在页面P0至P3中的写入顺序信息WTO。
控制器130可逐块地读取写入顺序信息WTO。在实施例中,控制器130可任意地确定用于读取写入顺序信息WTO的多个开放块152和154的读取次序。例如,控制器130可从开放块152读取写入顺序信息WTO,然后从开放块154读取写入顺序信息WTO。或者作为另一示例,控制器130可从开放块154读取写入顺序信息WTO,然后从开放块152读取写入顺序信息WTO。在实施例中,当假设对存储块中的物理上从顶部到底部的页面执行写入操作时,控制器130可基于被存储在开放块152和开放块154中的每一个中的物理上最上面的页面中的写入顺序信息WTO的值来确定用于读取写入顺序信息WTO的多个开放块152和154的读取次序。控制器130可确定第一个读取在具有被存储在开放块152和开放块154中的物理上最上面的页面中的写入顺序信息WTO的值中的最小值的开放块中的写入顺序信息WTO。例如,因为被存储在开放块152和开放块154中的物理上最上面的页面中的写入顺序信息WTO的值分别为10095和10096,且因此开放块152具有写入顺序信息WTO的最小值(即10095),所以控制器130可确定在多个开放块152和154中第一个读取开放块152中的写入顺序信息WTO。
例如,通过读取第一存储块152的第零页面P0,写入顺序信息WTO的值被确认为10095;通过读取第一存储块152的第一页面P1,写入顺序信息WTO的值被确认为10097;通过读取第一存储块152的第二页面P2,写入顺序信息WTO的值被确认为10099;通过读取第一存储块152的第三页面P3,写入顺序信息WTO的值被确认为10100;通过读取第二存储块154的第零页面P0,写入顺序信息WTO的值被确认为10096;通过读取第二存储块154的第一页面P1,可检测到写入顺序信息WTO未被正常存储的错误状态;并且当假设当SPO时,在6个连续页面中,写入数据未被正常地编程在第四顺序的页面(即,第二存储块154的第一页面P1)中,而写入数据被正常地编程在第一至第三顺序的页面中以及第五至第六顺序的页面中时,确认第二存储块154的第二页面P2和第三页面P3是空白页面。此处,假设第一存储块152和第二存储块154中的每一个的所有页面P0至P3处于有效状态,并且如果存在无效状态页面,则将从读取操作的目标中排除无效页面。
然后,控制器130可将对应于写入顺序信息WTO的值的升序的开放块152和开放块154中的每一个的页面P0至P3的每一个的物理页码PPN存储在顺序表500中。
此处,控制器130可根据写入顺序信息WTO中处于正常状态的写入顺序信息WTO将开放块152和开放块154中的每一个的页面P0至P3中的每一个的物理页码PPN存储在顺序表500中。此外,控制器130可清空对应于写入顺序信息WTO中处于错误状态的写入顺序信息WTO的顺序表500的空间。图5将空白空间示出为“EMPTY”。
如上所述,控制器130可逐块地读取写入顺序信息WTO。在实施例中,当控制器130任意地确定首先从第一存储块152然后从第二存储块154读取写入顺序信息WTO时,或者当控制器130因为开放块152中的写入顺序信息WTO的最小值(即,10095)而确定首先在开放块152中然后在第二存储块154中读取写入顺序信息WTO时,写入顺序信息WTO的顺序变成10095→10097→10099→10100→10096→错误状态。
因此,控制器130可将对应于第一个读取的具有值10095的写入顺序信息WTO的第一存储块152的第零页面P0的物理页码PPN“4”存储在顺序表500的第一空间中。
随后,控制器130可将对应于第二个读取的具有值10097的写入顺序信息WTO的第一存储块152的第一页面P1的物理页码PPN“5”存储在顺序表500的第三空间中。从先前读取的和当前读取的写入顺序信息WTO的值10095和10097,控制器130可识别存储具有值10096的写入顺序信息WTO的单个页面。因此,控制器130可在对应于先前读取的和当前读取的写入顺序信息WTO的值10095和10097的第一空间和第三空间之间为具有值10096的写入顺序信息WTO的页面留出单个空间。
这样,控制器130可将第一存储块152的第零页面P0至第二页面P2的物理页码4、5和6分别存储在顺序表500的第一空间、第三空间和第五空间中。
从先前读取的和当前读取的写入顺序信息WTO的连续值10099和10100,控制器130可将对应于具有值10100的写入顺序信息WTO的第一存储块152的第三页面P3的物理页码7存储在顺序表500的刚好紧邻存储物理页码6并对应于具有值10099的写入顺序信息WTO的第五空间的第六空间中。
注意的是,因为具有第一个读取值10095的写入顺序信息WTO和具有第二个读取值10097的写入顺序信息WTO不是连续值,并且刚好没有具有这两个值之间的值(即10096)的写入顺序信息WTO,所以控制器130可将对应于第一个读取的具有值10095的写入顺序信息WTO的第一存储块152的第零页面P0的物理页码PPN“4”存储在顺序表500的第一空间中,然后将对应于第二个读取的具有值10097的写入顺序信息WTO的第一存储块152的第一页面P1的物理页码PPN“5”存储在顺序表500的第三空间中,同时将顺序表500的第二空间保持为空白空间。随后,控制器130可将对应于第三个读取的具有值10099的写入顺序信息WTO的第一存储块152的第二页面P2的物理页码PPN“6”存储在顺序表500的第五空间中。此时,因为具有第二个读取值10097的写入顺序信息WTO和具有第三个读取值10099的写入顺序信息WTO不是连续值,并且刚好没有具有这两个值之间的值(即10098)的写入顺序信息WTO,因此控制器130可将对应于第二个读取的具有值10097的写入顺序信息WTO的第一存储块152的第一页面P1的物理页码PPN“5”存储在顺序表500的第三空间中,然后将对应于第三个读取的具有值10099的写入顺序信息WTO的第一存储块152的第二页面P2的物理页码PPN“6”存储在顺序表500的第五空间中,同时将顺序表500的第四空间保持为空白空间。
由于可以看出,第四个读取的具有值10100的写入顺序信息WTO是连接到对应于顺序表500的第五个空间的具有值10099的写入顺序信息WTO的值,所以控制器130可将对应于值10100的写入顺序信息WTO的第一存储块152的第三页面P3的物理页码PPN“7”存储在顺序表500的第六空间中。
当完成写入顺序信息WTO从开放块152的读取时,控制器130可从开放块154读取写入顺序信息WTO。控制器130可将对应于第五个读取的具有值10096的写入顺序信息WTO的第二存储块154的第零页面P0的物理页码PPN“0”存储在顺序表500的第二空间中。如上所述,在对应于写入顺序信息WTO的值10095和值10097的第一空间和第三空间之间为具有值10096的写入顺序信息WTO的页面留出顺序表500的第二空间。
因为第六个读取的错误状态的写入顺序信息WTO被存储在第二存储块154的第一页面中,所以控制器130可清空顺序表500的第四空间。如上所述,在对应于写入顺序信息WTO的值10097和值10099的第三空间和第五空间之间为具有值10098的写入顺序信息WTO的页面留出顺序表500的第四空间。然而,因为在SPO时具有值10098的写入顺序信息WTO处于错误状态,因此控制器130可清空顺序表500的第四空间。
因为第二存储块154的第二页面P2和第三页面P3是空白空间,因此它们不被读取。
如上所述,控制器130可逐块地首先从第一存储块152的页面P0至P3然后从第二存储块154读取写入顺序信息WTO。然后,开放块152和开放块154中的每一个的页面P0至P3的物理页码PPN可根据写入顺序信息WTO的值的升序顺序排列在顺序表500中,即4→0→5→空白空间EMPTY→6→7。
在实施例中,当控制器130读取第二存储块154,然后读取第一存储块152时,写入顺序信息WTO的顺序为10096→错误状态→10095→10097→10099→10100。
因此,控制器130可将对应于第一个读取的具有值10096的写入顺序信息WTO的第二存储块154的第零页面P0的物理页码PPN“0”存储在顺序表500的第一空间中。
因为第二个读取的错误状态的写入顺序信息WTO被存储在第二存储块154的第一页面P1中,所以控制器130不会将“1”即对应于第二存储块154的第一页面P1的物理页码PPN存储在顺序表500中。因为第二存储块154的第二页面P2和第三页面P3是空白空间,所以它们不被读取。
当完成写入顺序信息WTO从开放块154的读取时,控制器130可从开放块152读取写入顺序信息WTO。从先前读取的和当前读取的写入顺序信息WTO的值10096和10095,控制器130可识别具有值10095的当前读取的写入顺序信息WTO小于对应于顺序表500的第一空间的具有值10096的先前读取的写入顺序信息WTO。因此,控制器130可根据先前和当前读取的写入顺序信息WTO的值的升序顺序在顺序表500中排列物理页码,使得对应于具有值10095的当前读取的写入顺序信息WTO的物理页码PPN“4”被存储在顺序表500的第一空间中,并且对应于具有值10096的先前读取的写入顺序信息WTO的物理页码PPN“0”被存储在顺序表500的第二空间中。
这样,控制器130可将第一存储块152的第零页面P0和第1页面P1以及第二存储块154的第零页面的物理页码4、0和5分别存储在顺序表500的第一空间至第三空间中。
控制器130可将对应于第五个读取的具有值10099的写入顺序信息WTO的第一存储块152的第二页面P2的物理页码PPN“6”存储在顺序表500的第五空间中。从先前读取的和当前读取的写入顺序信息WTO的值10097和10099,控制器130可识别存储具有值10098的写入顺序信息WTO的单个页面。因此,控制器130可在对应于先前读取的和当前读取的写入顺序信息WTO的值10097和10099的第三空间和第五空间之间为具有值10098的写入顺序信息WTO的页面留出单个空间。
从先前读取的和当前读取的写入顺序信息WTO的连续值10099和10100,控制器130可将对应于具有值10100的写入顺序信息WTO的第一存储块152的第三页面P3的物理页码7存储在顺序表500的刚好紧邻存储物理页码6并对应于具有值10099的写入顺序信息WTO的第五空间的第六空间中。
如上所述,控制器130可逐块地首先从第二存储块154的页面P0至P3读取写入顺序信息WTO,然后读取第一存储块152的页面P0至P3的写入顺序信息WTO。然后,开放块152和开放块154中的每一个的页面P0至P3的物理页码PPN可根据写入顺序信息WTO的值的升序顺序排列在顺序表500中,即4→0→5→空白空间EMPTY→6→7。
当如上所述生成顺序表500时,控制器130可通过参照顺序表500来检测开放块152和开放块154中的每一个的页面P0至P3中的恢复目标页面。
具体而言,控制器130可按照写入顺序信息WTO的值顺序检查被存储在顺序表500中的物理页码PPN,并搜索空白空间EMPTY。此处,因为物理页码PPN按照写入顺序信息WTO的值顺序被存储在顺序表500中,所以控制器130可逐个地从第一空间到最后一个空间顺序地检查顺序表500以找出是否存在空白空间EMPTY。控制器130可将对应于顺序表500中被检出在空白空间EMPTY之前的物理页码PPN的开放块152和开放块154的页面P0至P3确定为恢复目标页面。控制器130可将对应于顺序表500中被检出在空白空间EMPTY之后的物理页码PPN的开放块152和开放块154的页面P0至P3确定为无效页面。
例如,在上述示例中,顺序4→0→5→空白空间EMPTY→6→7存储在顺序表500中。因此,控制器130可将物理页码PPN 4、0和5的页面(即块152的第零页面P0、块154的第零页面P0和块152的第一页面P1)确定为恢复目标页面,并将物理页码6和7的页面(即块152的第二页面P2和第三页面P3)确定为无效页面。
根据本发明的第一实施例,当包括在存储器装置150的开放块152和开放块154中的每一个中的页面P0至P3被逐块地一次读取时可生成顺序表500,并且可通过参照生成的顺序表500确定包括在开放块152和开放块154中的每一个中的页面P0至P3中的恢复目标页面。因此,存储器系统110不必通过交替地访问开放块152和开放块154来读取对应的页面以确定包括在开放块152和开放块154中的每一个中的页面P0至P3中的恢复目标页面。
同时,在上述本发明的第一实施例中,可使用以下方法:一次读取存储在包括在存储器装置150中的开放块152和开放块154的页面P0、P1、P2、P3……中的写入顺序信息WTO,并且在将对应于读取的写入顺序信息WTO的开放块152和开放块154的页面P0、P1、P2、P3……的物理页码PPN按照写入顺序信息WTO的值顺序存储在顺序表500中的操作期间,通过直接地相互比较读取的写入顺序信息WTO的值,执行确定读取的写入顺序信息WTO的值顺序的操作。此外,可使用以下方法。
首先,控制器130可读取存储在设置在存储器装置150的开放块152和开放块154中的每一个中所包括的页面P0、P1、P2、P3……中物理上最上面部分的一个页面中的写入顺序信息WTO,并将最小值的写入顺序信息WTO设置为基本值(未示出)。
例如,控制器130可读取存储在设置在第一存储块152中所包括的页面P0、P1、P2、P3……中物理上最上面部分的第零页面P0中的写入顺序信息WTO以便找出值10095,并且读取存储在设置在第二存储块154中所包括的页面P0、P1、P2、P3……中物理上最上面部分的第零页面P0中的写入顺序信息WTO以便找出值10096。因此,控制器130可确定10095是两个读取值10095和10096之间的较小值,因此,控制器130可将10095设置为基本值。
在设置基本值之后,控制器130可按照通过从存储器装置150的开放块152和开放块154中的每一个中所包括的页面P0、P1、P2、P3……读取的写入顺序信息WTO的值中减去基本值获得的余数的值顺序将对应于写入顺序信息WTO的开放块152和开放块154中的每一个中所包括的页面P0、P1、P2、P3……的物理页码PPN存储在顺序表500中。
例如,控制器130可通过从第一存储块152的第零页面P0读取的具有值10095的写入顺序信息WTO减去基本值10095来设置余数为“0”;通过从第一存储块152的第一页面P1读取的具有值10097的写入顺序信息WTO减去基本值10095来设置余数为“2”;通过从第一存储块152的第二页面P2读取的具有值10099的写入顺序信息WTO减去基本值10095来设置余数为“4”;通过从第一存储块152的第三页面P3读取的具有值10100的写入顺序信息WTO减去基本值10095来设置余数为“5”;并且通过从第二存储块154的第零页面P0读取的具有值10096的写入顺序信息WTO减去基本值10095来设置余数为“1”。此处,因为仅错误状态的写入顺序信息WTO从第二存储块154的第一页面P1被读取,因此不存在余数。
因为可按如上所述设置余数,所以控制器130可按照余数的值顺序将对应于写入顺序信息WTO的开放块152和开放块154中的每一个的页面P0、P1、P2、P3……的物理页码PPN存储在顺序表500中。因此,如上述示例所述,存储在顺序表500中的物理页码PPN可按照4→0→5→空白空间EMPTY→6→7的顺序排列。因为上面已经详细描述了操作进程,所以此处不再提供进一步描述。
此处,因为在上述确定基本值的过程中,在包括在开放块152和开放块154中的每一个中的页面P0至P3中读取存储在设置在物理上最上面部分的一个页面中的写入顺序信息WTO,所以在确定余数的过程中,存储器系统110不必读取设置在开放块152和开放块154中的每一个中所包括的页面P0至P3中的物理上最上面部分的一个页面。例如,因为在确定基本值的过程中读取第一存储块152的第零页面P0和第二存储块154的第零页面P0,所以在确定余数的过程中,不读取第一存储块152的第零页面P0和第二存储块154的第零页面P0,而是仅读取第一存储块152的第一页面至第三页面P<1:3>以及第二存储块154的第一页面P1。
此外,在上述确定基本值的过程中,在上述确定基本值的过程中读取存储在设置在开放块152和开放块154中的每一个中所包括的页面P0、P1、P2、P3……中的物理上最上面部分的一个页面中的写入顺序信息WTO的原因是:对设置在物理上最上面部分的页面执行写入操作,然后对设置在物理上下面部分的页面执行写入操作是一般的编程操作。换言之,在一个块中,存储在设置在块的物理上最上面部分的有效页面中的写入顺序信息WTO的值通常是存储在包含在块中的所有有效页面中的写入顺序信息WTO的值中的最小值。
图6是示出根据本发明的第二实施例的存储器系统的操作的框图。
除存储器装置150可进一步包括第i存储块159,存储器144可进一步包括内部空间610,并且顺序表600可进一步存储存储块152和154中的页面的逻辑页码LPN以及物理页码PPN外,图6的第二实施例可与图5的第一实施例相同。
第i存储块159和内部空间610可存储包括第一存储块152和第二存储块154中的页面P0至P3的逻辑页码LPN和物理页码PPN之间的关系的映射信息。此外,第i存储块159的映射信息可被复制到存储器144的内部空间610中用于生成顺序表600。
控制器130可进一步将对应于物理页码PPN的逻辑页码LPN以及对应的物理页码PPN存储在顺序表600中。
进一步地,控制器130可通过参照顺序表600更新内部空间610和第i存储块159中关于开放块152和开放块154的页面P0至P3的逻辑页码LPN和物理页码PPN的映射信息。换言之,在内部空间610和第i存储块159中,控制器130可保持关于被确定为恢复目标页面的页面的物理页码PPN和对应的逻辑页码LPN的映射信息有效,并且可使关于被确定为无效页面的页面的物理页码PPN和对应的逻辑页码LPN的映射信息无效或将其删除。
参照图6,虽然未在图6中示出,但图6所示的存储器系统的结构基于图1所示的存储器系统的结构。
因此,图6描述的存储器系统的操作可包括控制图1所示的存储器系统110的组成元件中的存储器装置150和控制器130中包括的存储器144的操作。
此处,在图6的实施例中假设图1所示的存储器装置150是非易失性存储器装置。因此,在下面的描述中,“非易失性存储器装置”具有与图1所示的存储器装置150的附图标记相同的附图标记。此外,在图6的实施例中假设包括在图1所示的控制器130中的存储器144是易失性存储器装置。因此,在下面的描述中,“易失性存储器装置”具有与图1所示的存储器144的附图标记相同的附图标记。此外,在图6的实施例中,通过代表性地包括包括在存储器装置150中的存储块152、154、156……之中的四个存储块152、154、156和159来描述存储器装置150的操作。为方便描述,图6中未示出在图1中出现但未在图6中出现的包括控制器130中的主机接口单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140和NAND闪速控制器142的组成元件,但是它们都包含在控制器130中,就如它们都包含在图1所示的控制器130中一样。
具体而言,根据本发明的第二实施例的存储器系统110可包括控制器130和非易失性存储器装置150。控制器130可包括易失性存储器装置144。此外,非易失性存储器装置150可包括多个存储块152、154、156和159。存储块152、154、156和159中的每一个可包括多个页面P0至P3。在包含在非易失性存储器装置150中的存储块152、154、156和159中,第一存储块152和第二存储块154是开放存储块,第三存储块156和第i存储块159是封闭存储块。换言之,第一存储块152和第二存储块154是包括为未编程有写入数据(未示出)的页面的空白页面的存储块,第三存储块156和第i存储块159是没有待编程有写入数据(未示出)的页面的存储块。此处,假设第i存储块159是存储映射信息的存储块。第i存储块159可以是开放块或封闭块。为便于描述,假设第i存储块159是封闭块。
在非易失性存储器装置150的写入操作期间,控制器130可将写入顺序信息WTO连同写入数据(未示出)一起存储在包括在存储块152、154、156和159的每一个中的多个页面P0至P3中的每一个中。
例如,可以假设控制器130在写入操作中将写入数据(未示出)编程在第一存储块152和第二存储块154中。换言之,可以假设第10095个写入数据被编程在第一存储块152的第零页面P0中;第10096个写入数据被编程在第二存储块154的第零页面P0中;第10097个写入数据被编程在第一存储块152的第一页面P1中;第10098个写入数据被编程在第二存储块154的第一页面P1中;第10099个写入数据被编程在第一存储块152的第二页面P2中;并且第10100个写入数据被编程在第一存储块152的第三页面P3中。
基于这些假设,当根据本发明的第二实施例的控制器130将写入数据(未示出)编程在包括在第一存储块152和第二存储块154中的每一个中的页面P0至P3中时,控制器130可对写入顺序信息WTO进行编程。简而言之,当第10095个写入数据被编程在第一存储块152的第零页面P0中时,值为10095的写入顺序信息WTO(WTO=10095)被一起编程在第一存储块152的第零页面P0中,并且当第10096个写入数据被编程在第二存储块154的第零页面P0中时,值为10096的写入顺序信息WTO(WTO=10096)被编程在第二存储块154的第零页面P0中。当第10097个写入数据被编程在第一存储块152的第一页面P1中时,值为10097的写入顺序信息WTO(WTO=10097)被一起编程在第一存储块152的第一页面P1中,并且当第10098个写入数据被编程在第二存储块154的第一页面P1中时,值为10098的写入顺序信息WTO(WTO=10098)被编程在第二存储块154的第一页面P1中。当第10099个写入数据被编程在第一存储块152的第二页面P2中时,值为10099的写入顺序信息WTO(WTO=10099)被一起编程在第一存储块152的第二页面P2中,并且当第10100个写入数据被编程在第一存储块152的第三页面P3中时,值为10100的写入顺序信息WTO(WTO=10100)被编程在第一存储块152的第三页面P3中。
写入顺序信息WTO是表示当写入数据具有大于一个页面的值的值并且写入数据被连续地编程在多个页面中时,写入数据连接所根据的顺序的信息。例如,在示例性写入数据(未示出)的情况下,写入数据被顺序地编程在下述六个页面中:第一存储块152的第零页面P0、第二存储块154的第零页面P0、第一存储块152的第一页面P1、第二存储块154的第一页面P1、第一存储块152的第二页面以及第一存储块152的第三页面P3。
如上所述,当根据本发明的第二实施例的控制器130将写入数据(未示出)编程在包括在第一存储块152和第二存储块154中的每一个中的页面P0至P3中时,控制器130可同时对写入顺序信息WTO编程。当控制器130执行编程操作时,在编程操作中间可能发生突然断开对存储器系统110的供电的突然断电(SPO)。
当发生这种突然断电同时写入数据(未示出)正被编程时,无法确定当发生突然断电时写入数据正常编程到了哪个页面以及哪个页面正在被编程。简而言之,可能发生写入错误。
因此,当发生突然断电,然后恢复供电时,控制器130可进入恢复操作部分并搜索正常完成编程操作的页面。
此处,虽然检查写入数据是否被正常编程在多个存储块152、154、156和159中的每一个的页面P0至P3中是重要的,但确定正常编程的写入数据是否处于可用状态也是重要的。
例如,当假设存在必须被连续编程在6个页面中的写入数据、写入数据未被正常地编程在6个连续页面中的第四顺序的页面中并且写入数据被正常地编程在第一至第三顺序的页面和第五至第六顺序的页面中时,被编程在第四顺序的错误页面之后的第五至第六顺序的页面中的写入数据由于发生在第四顺序的页面中的写入错误而变成无意义的数据。因此,如果写入数据是被编程在6个连续页面中的数据,则需要检测在哪个页面中发生了写入错误。
写入顺序信息WTO是表示写入数据(未示出)的连续性的信息。写入顺序信息WTO与写入操作的顺序无关。换言之,具有靠前数字的写入顺序信息WTO并不表示写入操作会靠前执行和完成。因此,在突然断电后,虽然具有大数字的写入顺序信息WTO的特定写入数据被正常编程,但这并不意味着具有较低数字的写入顺序信息WTO的其他写入数据都被正常地编程,并且可能发生其中写入数据未被正常地编程在6个连续页面中的第四顺序的页面中,并且写入数据被正常地编程在第一至第三顺序的页面以及第五至第六顺序的页面中的上述示例性情况。
因此,根据本发明的第二实施例的控制器130可通过在恢复操作部分中执行以下操作来检测包括在存储块152、154、156和159的每一个中的页面P0至P3中的恢复目标页面。
首先,控制器130可检查包括在非易失性存储器装置150中的存储块152、154、156和159中是否存在两个或更多个开放块。换言之,控制器130可检查在发生突然断电的时刻是否正在包括在非易失性存储器装置150中的存储块152、154、156和159中的两个或更多个存储块中同时执行写入操作。此处,在包括在非易失性存储器装置150中的存储块152、154、156和159中,因为封闭块不是发生突然断电时写入操作的目标,所以在恢复操作部分中不考虑封闭块的存在。
例如,在图6中,在包括在非易失性存储器装置150中的存储块152、154、156和159中,第一存储块152和第二存储块154是开放块,第三块156是封闭块。
作为在恢复操作部分中检查包括在非易失性存储器装置150中的存储块152、154、156和159的状态的结果,第一存储块152和第二存储块154是开放块。因为存在两个或更多个开放块,所以控制器130可生成顺序表600,在顺序表600中开放块152和154中的每一个的页面P0至P3的物理页码PPN基于被存储在开放块152和154中的每一个的页面P0至P3中的写入顺序信息WTO来排列。此处,因为第三存储块156和第i存储块159是封闭块,所以第三存储块156和第i存储块159不会影响顺序表600的生成。此外,控制器130可生成顺序表600并且将顺序表600存储和管理在控制器130内部的易失性存储器装置144中。
具体而言,控制器130可在恢复操作部分中一次读取存储在包括在开放块152和开放块154中的每一个中的页面P0至P3中的写入顺序信息WTO。例如,通过读取第一存储块152的第零页面P0,写入顺序信息WTO的值被确定为10095;通过读取第一存储块152的第一页面P1,写入顺序信息WTO的值被确定为10097;通过读取第一存储块152的第二页面P2,写入顺序信息WTO的值被确定为10099;通过读取第一存储块152的第三页面P3,写入顺序信息WTO的值被确定为10100;通过读取第二存储块154的第零页面P0,写入顺序信息WTO的值被确定为10096;通过读取第二存储块154的第一页面P1,检测到写入顺序信息WTO未被正常存储的错误状态;并且确认第二存储块154的第二页面P2和第三页面P3是空白页面。此处,假设第一存储块152和第二存储块154中的每一个的所有页面P0至P3都处于有效状态,并且如果存在无效状态页面,则将从用于读取操作的目标中排除无效页面。
如上所述,控制器130可一次读取存储在开放块152和开放块154的页面P0至P3中的写入顺序信息WTO,并且按照写入顺序信息WTO的值顺序,将对应于读取的写入顺序信息WTO的开放块152和开放块154中的每一个的页面P0至P3中的每一个的物理页码PPN存储在顺序表600中。
此处,控制器130可根据读取的写入顺序信息WTO中处于正常状态的写入顺序信息WTO来将开放块152和开放块154中的每一个的页面P0至P3中的每一个的物理页码PPN/逻辑页码LPN存储在顺序表600中。此外,控制器130可将对应于读取的写入顺序信息WTO中处于错误状态的写入顺序信息WTO的顺序表600的空间维持为空白空间EMPTY。
例如,当对应于从第一存储块152和第二存储块154中的每一个的页面P0至P3读取的写入顺序信息WTO的开放块152和开放块154中的每一个的页面P0至P3的物理页码PPN/逻辑页码LPN按照写入顺序信息WTO的值顺序被排列时,顺序变成4/75→0/76→5/77→EMPTY→6/79→7/80。
具体而言,当假设控制器130首先读取第一存储块152的页面P0至P3,然后读取第二存储块154的页面P0至P3时,读取的写入顺序信息WTO的顺序变成10095→10097→10099→10100→10096→错误状态。
因此,控制器130可将对应于第一个读取的具有值10095的写入顺序信息WTO的第一存储块152的第零页面P0的物理页码PPN“4”存储在顺序表600的第一空间中。
随后,控制器130可将对应于第二个读取的具有值10097的写入顺序信息WTO的第一存储块152的第一页面P1的物理页码PPN“5”存储在顺序表600的第三空间中。此外,控制器130可将对应于具有值“5”的物理页码PPN的具有值77的逻辑页码LPN一起存储在顺序表600的第三空间中。此时,因为具有第一个读取值10095的写入顺序信息WTO和具有第二个读取值10097的写入顺序信息WTO不是连续值,并且这两个值之间刚好不存在具有值(即10096)的写入顺序信息WTO,所以控制器130可将对应于第一个读取的具有值10095的写入顺序信息WTO的物理页码PPN/逻辑页码LPN“4/75”存储在顺序表600的第一空间中,然后将对应于第二个读取的具有值10097的写入顺序信息WTO的物理页码PPN/逻辑页码LPN“5/77”存储在顺序表600的第三空间中,同时将顺序表600的第二空间维持为空白空间。
随后,控制器130可将对应于第三个读取的具有值10099的写入顺序信息WTO的第一存储块152的第二页面P2的物理页码PPN“6”存储在顺序表600的第五空间中。此外,控制器130可将对应于具有值“6”的物理页码PPN的具有值79的逻辑页码LPN一起存储在顺序表600的第五空间中。此时,因为具有第二个读取值10097的写入顺序信息WTO和具有第三个读取值10099的写入顺序信息WTO不是连续值,并且这两个值之间刚好不存在具有值(即10098)的写入顺序信息WTO,所以控制器130可将对应于第二个读取的具有值10097的写入顺序信息WTO的物理页码PPN/逻辑页码LPN“5/77”存储在顺序表600的第三空间中,然后将对应于第三个读取的具有值10099的写入顺序信息WTO的物理页码PPN/逻辑页码LPN“6/79”存储在顺序表600的第五空间中,同时将顺序表600的第四空间维持为空白空间。
因为可以看出,第四个读取的具有值10100的写入顺序信息WTO是连接到对应于顺序表600的第五个空间的具有值10099的写入顺序信息WTO的值,所以控制器130可将对应于具有值10100的写入顺序信息WTO的第一存储块152的第三页面P3的物理页码PPN“7”存储在顺序表600的第六空间中。此外,控制器130可将对应于具有值“7”的物理页码PPN的具有值80的逻辑页码LPN一起存储在顺序表600的第六空间中。
控制器130可将对应于第五个读取的具有值10096的写入顺序信息WTO的第二存储块154的第零页面P0的物理页码PPN“0”存储在顺序表600的第二空间中。此外,控制器130可将对应于具有值“0”的物理页码PPN的具有值76的逻辑页码LPN一起存储在顺序表600的第二空间中。此时,因为具有第五个读取值10096的写入顺序信息WTO是连接对应于顺序表600的第一空间的具有值10095的写入顺序信息WTO和对应于顺序表600的第三空间的具有值10097的写入顺序信息WTO的值,因此,控制器130可将对应于第五个读取的具有值10096的写入顺序信息WTO的物理页码PPN/逻辑页码LPN“0/76”存储在顺序表600的第二空间中。
因为可看出,错误状态的写入顺序信息WTO被存储在第六个读取的第二存储块154的第一页面中,所以控制器130不将对应于第二存储块154的第一页面P1的物理页码PPN“1”存储在顺序表600中。因为具有值“1”的物理页码PPN未被存储在顺序表600中,所以控制器130可不将对应于具有值“1”的物理页码PPN的逻辑页码LPN存储在顺序表600中。此处,因为第二存储块154的第二页面P2和第三页面P3是空白空间EMPTY,所以它们不被读取。
如上所述,控制器130可一次全部地首先读取第一存储块152的页面P0至P3,然后读取第二存储块154的页面P0至P3的写入顺序信息WTO。然后,对应于读取的写入顺序信息WTO的开放块152和开放块154中的每一个的页面P0至P3的物理页码PPN可按照写入顺序信息WTO的值顺序排列并被存储在顺序表600中,即4/75→0/76→5/77→空白空间EMPTY→6/79→7/80。
此处,对应于包括在第一存储块152和第二存储块154中的每一个中的页面P0至P3的物理页码PPN的逻辑页码LPN可通过参照存储在第i存储块159中的映射信息而得知。此外,存储在第i存储块159中的映射信息可用于通过将其复制到控制器130的易失性存储器装置144中之后进行参考来生成顺序表600。
举另一个示例,当假设控制器130读取包括在第二存储块154中的页面,然后读取包括在第一存储块152中的页面P0至P3时,读取的写入顺序信息WTO的顺序为10096→错误状态→10095→10097→10099→10100。
因此,控制器130可将对应于第一个读取的具有值10096的写入顺序信息WTO的第二存储块154的第零页面P0的物理页码PPN“0”存储在顺序表600的第一空间中。此外,控制器130可将对应于具有值“0”的物理页码PPN的具有值76的逻辑页码LPN一起存储在顺序表600的第一空间中。
因为可看出,错误状态的写入顺序信息WTO被存储在第二个读取的第二存储块154的第一页面P1中,所以控制器130不会将对应于第二存储块154的第一页面P1的物理页码PPN“1”存储在顺序表600中。因为具有值“1”的物理页码PPN未被存储在顺序表600中,所以控制器130也不会将对应于具有值“1”的物理页码PPN的逻辑页码LPN存储在顺序表600中。此处,因为第二存储块154的第二页面P2和第三页面P3是空白空间EMPTY,所以它们不被读取。
控制器130可确定,第三个读取的具有值10095的写入顺序信息WTO小于先前第一个读取的对应于顺序表600的第一空间的具有值10096的写入顺序信息WTO。因此,控制器130可将对应于第一个读取的具有值10096的写入顺序信息WTO的物理页码PPN/逻辑页码LPN“0/76”的存储空间从顺序表600的第一空间移动到顺序表600的第二空间,并将“0/76”存储在顺序表600的第二空间中。然后,控制器130可将对应于第三个读取的具有值10095的写入顺序信息WTO的第一存储块152的第零页面P0的物理页码PPN“4”存储在顺序表600的第一空间中。此外,对应于具有值“4”的物理页码PPN在顺序表600的第一空间中的存储,控制器130可将对应于具有值“4”的物理页码PPN的具有值75的逻辑页码LPN一起存储在顺序表600的第一空间中。简而言之,物理页码PPN/逻辑页码LPN“4/75”被存储在顺序表600的第一空间中,并且物理页码PPN/逻辑页码LPN“0/76”被存储在顺序表600的第二空间中。
因为可以看出,第四个读取的具有值10097的写入顺序信息WTO是连接到对应于顺序表600的第二空间的具有值10096的写入顺序信息WTO的值,所以控制器130可将对应于具有值10097的写入顺序信息WTO的第一存储块152的第一页面P1的物理页码PPN“5”存储在顺序表600的第三空间中。
控制器130可将对应于第五个读取的具有值10099的写入顺序信息WTO的第一存储块152的第二页面P2的物理页码PPN“6”存储在顺序表600的第五空间中。此外,控制器130可将对应于具有值“6”的物理页码PPN的具有值79的逻辑页码LPN一起存储在顺序表600的第五空间中。此时,因为具有第四个读取值10097的写入顺序信息WTO和具有第五个读取值10099的写入顺序信息WTO不是连续值,而两者之间刚好不存在为具有值10098的写入顺序信息WTO的值。因此,控制器130可将对应于第四个读取的具有值10097的写入顺序信息WTO的物理页码PPN/逻辑页码LPN“5/77”存储在顺序表600的第三空间中,然后将对应于第五个读取的具有值10099的写入顺序信息WTO的物理页码PPN/逻辑页码LPN“6/79”存储在顺序表600的第五空间中,同时将顺序表600的第四空间维持为空白空间。
因为可以看出,第六个读取的具有值10100的写入顺序信息WTO是连接到对应于顺序表600的第五空间的具有值10099的写入顺序信息WTO的值,因此控制器130可将对应于具有值10100的写入顺序信息WTO的第一存储块152的第三页面P3的物理页码PPN“7”存储在顺序表600的第六空间中。
如上所述,控制器130可一次全部地首先读取第二存储块154的页面P0至P3,然后读取第一存储块152的页面P0至P3的写入顺序信息WTO。然后,对应于读取的写入顺序信息WTO的开放块152和开放块154中的每一个的页面P0至P3的物理页码PPN/逻辑页码LPN可按照写入顺序信息WTO的值顺序排列并被存储在顺序表600中,即4/75→0/76→5/77→空白空间EMPTY→6/79→7/80。
当如上所述生成顺序表600时,控制器130可通过参照顺序表600找出和排列开放块152和开放块154中的每一个的页面P0至P3中的恢复目标页面。
具体而言,控制器130可按照写入顺序信息WTO的值顺序检查存储在顺序表600中的物理页码PPN/逻辑页码LPN,并搜索空白空间EMPTY。此处,因为物理页码PPN/逻辑页码LPN按照写入顺序信息WTO的值顺序被存储在顺序表600中,所以控制器130可从第一空间到最后一个空间逐个地按顺序检查顺序表600以找出是否存在空白空间。控制器130可将对应于在顺序表600的空白空间EMPTY之前检出的物理页码PPN的开放块152和开放块154的页面P0至P3确定为恢复目标页面。控制器130可将对应于顺序表600的空白空间EMPTY之后检出的物理页码PPN的开放块152和开放块154的页面P0至P3确定为无效页面。此外,控制器130可通过参照顺序表600更新关于开放块152和开放块154的页面P0至P3的逻辑页码LPN和物理页码PPN的映射信息。换言之,控制器130可将关于与开放块152和开放块154的页面P0至P3中被确定为恢复目标页面的页面的物理页码PPN相对应的物理页码PPN和逻辑页码LPN的映射信息维持为有效状态。此外,控制器130可使关于与在开放块152和开放块154中的每一个的页面P0至P3中被确定为无效页面的页面的物理页码PPN相对应的物理页码PPN和逻辑页码LPN的映射信息无效或将其删除。
例如,在上述示例中,顺序4/75→0/76→5/77→空白空间EMPTY→6/79→7/80被存储在顺序表600中。因此,控制器130可检出“4”被存储在第一空间中,然后检出“0/76”被存储在第二空间中,随后检出“5/77”被存储在第三空间中,然后检出第四空间为空白空间EMPTY,随后检出“6/79”被存储在第五空间中,并且然后检出“7/80”被存储在第六空间中。
作为结果,控制器130可找出顺序表600的第四空间是空白空间EMPTY。因此,控制器130可将对应于在发现为空白空间EMPTY的第四空间之前检出的4、0和5的物理页码PPN的开放块的页面(其包括第一存储块152的第零页面P0、第二存储块154的第零页面P0和第一存储块152的第一页面P1)确定为恢复目标页面。此外,控制器130可将对应于在发现为空白空间EMPTY的第四空间之后检出的6和7的物理页码PPN的开放块的页面(其包括第一存储块152的第二页面P2和第三页面P3)确定为无效页面。
此外,控制器130可将对应于被确定为恢复目标页面的第一存储块152的第零页面P0、第二存储块154的第零页面P0和第一存储块152的第一页面P1的物理页码PPN的物理页码PPN和逻辑页码LPN的映射信息值(即4/75、0/76和5/77)连续地维持在有效状态。这里,将映射信息值维持在有效状态可意味着它们在存储映射信息的非易失性存储器装置150内的第i存储块159中和易失性存储器装置144的内部空间610中维持在有效状态。此外,控制器130可使对应于与被确定为无效目标页面的第一存储块152的第二页面P2和第三页面P3的物理页码PPN相对应的物理页码PPN和逻辑页码LPN的映射信息值(即6/79和7/80)无效或将其删除。这里,使映射信息无效或将其删除可意味着在存储映射信息的非易失性存储器装置150内部的第i存储块159中使映射信息无效或从中将其删除,并且在易失性存储器装置144的内部空间610中使映射信息无效或从中将其删除。
在上述根据本发明的第二实施例的存储器系统110中,当包括在存储器装置150的开放块152和开放块154中的每一个中的页面P0至P3被一次读取时可生成顺序表600,并且可通过参考生成的顺序表600来确定包括在开放块152和开放块154中的每一个中的页面P0至P3中的恢复目标页面。因此,不必通过交替地访问开放块152和开放块154来读取对应的页面以确定包括在开放块152和开放块154中的每一个中的页面P0至P3中的恢复目标页面。
同时,在上述本发明的第二实施例中,可使用以下方法:一次读取存储在包括在存储器装置150中的开放块152和开放块154的页面P0至P3中的写入顺序信息WTO,并且在将对应于读取的写入顺序信息WTO的开放块152和开放块154的页面P0至P3的物理页码PPN按照写入顺序信息WTO的值顺序存储在顺序表600中的操作期间,通过直接地相互比较读取的写入顺序信息WTO的值,执行确定读取的写入顺序信息WTO的值顺序的操作。此外,可使用以下方法。
首先,控制器130可读取存储在设置在存储器装置150的开放块152和开放块154中的每一个所包括的页面P0至P3中物理上最上面部分的一个页面中的写入顺序信息WTO,并将最小值的写入顺序信息WTO设置为基本值(未示出)。
例如,控制器130可读取存储在设置在第一存储块152中所包括的页面P0至P3中物理上最上面部分的第零页面P0中的写入顺序信息WTO以便找出值10095,并且读取存储在设置在第二存储块154中所包括的页面P0至P3中物理上最上面部分的第零页面P0中的写入顺序信息WTO以便找出值10096。因此,控制器130可确定10095是两个读取值10095和10096之间的较小值,因此,控制器130可将10095设置为基本值。
在设置基本值之后,控制器130可按照余数的值顺序将对应于写入顺序信息WTO的开放块152和开放块154中的每一个中所包括的页面P0至P3的物理页码PPN/逻辑页码LPN存储在顺序表600中,其中余数通过从存储器装置150的开放块152和开放块154中的每一个中所包括的页面P0至P3读取的写入顺序信息WTO的值中减去基本值来获得。
例如,控制器130可通过从第一存储块152的第零页面P0读取的具有值10095的写入顺序信息WTO减去基本值10095来设置余数为“0”;通过从第一存储块152的第一页面P1读取的具有值10097的写入顺序信息WTO减去基本值10095来设置余数为“2”;通过从第一存储块152的第二页面P2读取的具有值10099的写入顺序信息WTO减去基本值10095来设置余数为“4”;通过从第一存储块152的第三页面P3读取的具有值10100的写入顺序信息WTO减去基本值10095来设置余数为“5”;并且通过从第二存储块154的第零页面P0读取的具有值10096的写入顺序信息WTO减去基本值10095来设置余数为“1”。这里,因为仅错误状态的写入顺序信息WTO从第二存储块154的第一页面P1被读取,所以不存在余数。
因为可按如上所述设置余数,所以控制器130可按照余数的值顺序将对应于写入顺序信息WTO的开放块152和开放块154中的每一个的页面P0至P3的物理页码PPN/逻辑页码LPN存储在顺序表600中。因此,如上述示例所述,存储在顺序表600中的物理页码PPN/逻辑页码LPN可按照4/75→0/76→5/77→空白空间EMPTY→6/79→7/80的顺序排列。由于上面已经详细描述了操作进程,因此此处不再提供进一步描述。
此处,因为在上述确定基本值的过程中,在包括在开放块152和开放块154中的每一个中的页面P0至P3中读取被存储在设置在物理上最上面部分的一个页面中的写入顺序信息WTO,所以在确定余数的过程中,不必读取开放块152和开放块154中的每一个中所包括的页面P0至P3中设置在物理上最上面部分的一个页面。例如,因为在确定基本值的过程中读取第一存储块152的第零页面P0和第二存储块154的第零页面P0,所以在确定余数的过程中,不读取第一存储块152的第零页面P0和第二存储块154的第零页面P0,并且仅读取第一存储块152的第一页面P1至第三页面P3以及第二存储块154的第一页面P1。
此外,在上述确定基本值的过程中,在上述确定基本值的过程中读取存储在开放块152和开放块154中的每一个中所包括的页面P0至P3中设置在物理上最上面部分的一个页面中的写入顺序信息WTO的原因是:对设置在物理上最上面部分的页面执行写入操作,然后对设置在物理上下面部分的页面执行写入操作是一般的编程操作。换言之,在一个块中,存储在设置在块的物理上最上面部分的有效页面中的写入顺序信息WTO的值通常是存储在包括在块中的所有有效页面中的写入顺序信息WTO的值中的最小值。
图7至图15是示意性示出图1的数据处理系统的应用示例的简图。
图7是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的简图。图7示意性示出了应用根据本实施例的存储器系统的存储卡系统。
参照图7,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可被连接到通过非易失性存储器实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口并驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1和图5描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1和图5描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括RAM、处理单元、主机接口、存储器接口和错误校正单元。存储器控制器6120可进一步包括图5所示的元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如下列的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、PCI Express(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WI-FI以及蓝牙。因此,根据本实施例的存储器系统和数据处理系统可应用于有线/无线电子装置,或者特别是移动电子装置。
存储器装置6130可通过非易失性存储器来实施。例如,存储器装置6130可通过诸如以下的各种非易失性存储器装置来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。存储器装置6130可包括如图5的存储器装置150中的多个管芯。
例如,存储卡可以是PC卡(PCMCIA:个人计算机存储卡国际协会)、标准闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)以及通用闪存(UFS)。
图8是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的简图。
参照图8,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图8所示的数据处理系统6200可作为如参照图1所描述的诸如存储卡(CF、SD、微型-SD等)或USB装置的存储介质。存储器装置6230可对应于图1和图5所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1和图5所示的存储器系统110中的控制器130。
存储器控制器6220可响应于主机6210的请求控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可包括一个或多个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224以及诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的全部操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可根据CPU 6221的控制来操作且用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,通过CPU 6221处理的数据可被临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可用于缓冲从主机6210传输到存储器装置6230的数据或从存储器装置6230传输到主机6210的数据。当RAM6222用作高速缓冲存储器时,RAM 6222可辅助低速存储器装置6230以高速运行。
ECC电路6223可对应于图1所示的控制器130的ECC单元138。如参照图1所述,ECC电路6223可生成用于校正从存储器装置6230提供的数据的失效位或错误位的ECC(错误校正码)。ECC电路6223可对提供给存储器装置6230的数据执行错误校正编码,从而形成具有奇偶校验位的数据。奇偶校验位可被存储在存储器装置6230中。ECC电路6223可对从存储器装置6230输出的数据执行错误校正解码。此时,ECC电路6223可使用奇偶校验位来校正错误。例如,如参照图1所述,ECC电路6223可使用LDPC码、BCH码、turbo码、里德-所罗门码、卷积码、RSC或诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可通过主机接口6224向主机6210传输数据/接收来自主机6210的数据,并通过NVM接口6225向存储器装置6230传输数据/接收来自存储器装置6230的数据。主机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接到主机6210。存储器控制器6220可利用诸如WiFi或长期演进(LTE)的移动通信协议具有无线通信功能。存储器控制器6220可连接到外部装置,例如主机6210或另一个外部装置,然后向外部装置传输数据/接收来自外部装置的数据。特别地,由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置进行通信,因此根据本实施例的存储器系统和数据处理系统可应用于有线/无线电子装置或特别是移动电子装置。
图9是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的简图。图9示意性示出应用根据本实施例的存储器系统的SSD。
参照图9,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1和图5的存储器系统110中的控制器130,并且存储器装置6340可对应于图1和图5的存储器系统中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接到存储器装置6340。控制器6320可包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324以及诸如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个闪速存储器NVM提供的数据,或者临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可通过诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器来实施。为便于描述,图9示出缓冲存储器6325存在于控制器6320内部。然而,缓冲存储器6325可存在于控制器6320外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与诸如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供应用了图1和图5的存储器系统110的多个SSD 6300来实施数据处理系统,例如,RAID(独立磁盘冗余阵列)系统。此时,RAID系统可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,并将对应于写入命令的数据输出到所选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图10是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的简图。图10示意性示出应用根据本实施例的存储器系统的嵌入式多媒体卡(eMMC)。
参照图10,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1和图5的存储器系统110中的控制器130,并且存储器装置6440可对应于图1和图5的存储器系统110中的存储器装置150。
更具体地,控制器6430可通过多个通道连接到存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和诸如NAND接口6433的存储器接口。
内核6432可控制eMMC 6400的全部操作,主机接口6431可提供控制器6430和主机6410之间的接口功能,并且NAND接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可作为并行接口,例如参照图1所描述的MMC接口。此外,主机接口6431可作为串行接口,例如UHS((超高速)-I/UHS-II)接口。
图11至图14是示意性示出包括根据本实施例的存储器系统的数据处理系统的其它示例的简图。图11至图14示意性示出了应用根据本实施例的存储器系统的UFS(通用闪存)系统。
参照图11至图14,UFS系统6500、6600、6700和6800可分别包括主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。主机6510、6610、6710和6810可作为有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720和6820可作为嵌入式UFS装置,并且UFS卡6530、6630、6730和6830可作为外部嵌入式UFS装置或可移除UFS卡。
各个UFS系统6500、6600、6700和6800中的主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS协议与诸如有线/无线电子装置或特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过图1和图5所示的存储器系统110来实施。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可以参照图8至图10描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以参照图7描述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS接口,例如,MIPI(移动行业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)彼此通信。此外,UFS装置6520、6620、6720和6820与UFS卡6530、6630、6730和6830可通过除UFS协议以外的各种协议,例如,UFD、MMC、SD、迷你-SD和微型-SD彼此通信。
在图11所示的UFS系统6500中,主机6510、UFS装置6520以及UFS卡6530中的每一个可包括UniPro。主机6510可执行交换操作,以便与UFS装置6520和UFS卡6530通信。特别地,主机6510可通过诸如UniPro处的L3交换的链路层交换与UFS装置6520或UFS卡6530通信。此时,UFS装置6520和UFS卡6530可通过主机6510的UniPro处的链路层交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6520和一个UFS卡6530连接到主机6510的配置。然而,多个UFS装置和UFS卡可并联或以星形形式连接到主机6510,并且多个UFS卡可并联或以星形形式连接到UFS装置6520,或者串联或以链的形式连接到UFS装置6520。
在图12所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro,并且主机6610可通过交换模块6640执行交换操作,例如,通过交换模块6640在UniPro处执行链路层交换,例如L3交换,与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过UniPro处的交换模块6640的链路层交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6620和一个UFS卡6630连接到交换模块6640的配置。然而,多个UFS装置和UFS卡可并联或以星形形式连接到交换模块6640,并且多个UFS卡可串联或以链的形式连接到UFS装置6620。
在图13所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro,并且主机6710可通过交换模块6740执行交换操作,例如通过交换模块6740在UniPro处执行链路层交换,例如L3交换,与UFS装置6720或UFS卡6730通信。此时,UFS装置6720和UFS卡6730可通过UniPro处的交换模块6740的链路层交换来彼此通信,并且交换模块6740可在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在本实施例中,为便于描述,已经例示了其中一个UFS装置6720和一个UFS卡6730连接到交换模块6740的配置。然而,每个都包括交换模块6740和UFS装置6720的多个模块可并联或以星形形式连接到主机6710,或者串联或以链的形式彼此连接。此外,多个UFS卡可并联或以星形形式连接到UFS装置6720。
在图14所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可包括M-PHY和UniPro。UFS装置6820可执行交换操作,以便与主机6810和UFS卡6830通信。特别地,UFS装置6820可通过用于与主机6810通信的M-PHY和UniPro模块和用于与UFS卡6830通信的M-PHY和UniPro模块之间的交换操作,例如通过目标ID(标识符)交换操作,与主机6810或UFS卡6830通信。此时,主机6810和UFS卡6830可通过UFS装置6820的M-PHY和UniPro模块之间的目标ID交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6820连接到主机6810且一个UFS卡6830连接到UFS装置6820的配置。然而,多个UFS装置可并联或以星形形式连接到主机6810,或串联或以链的形式连接到主机6810,并且多个UFS卡可并联或以星形形式连接到UFS装置6820,或串联或以链的形式连接到UFS装置6820。
图15是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的简图。图15是示意性示出应用根据本实施例的存储器系统的用户系统的简图。
参照图15,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在用户系统6900中的诸如OS的组件,并且包括控制包括在用户系统6900中的组件的控制器、接口和图形引擎。应用处理器6930可作为片上系统(SoC)被提供。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDARM、LPDDR2SDRAM或LPDDR3SDRAM的易失性RAM,或诸如PRAM、ReRAM、MRAM或FRAM的非易失性RAM。例如,可基于POP(堆叠式封装)封装和安装应用处理器6930和存储器模块6920。
网络模块6940可与外部装置通信。例如,网络模块6940不仅可支持有线通信,而且可支持各种无线通信协议,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置或特别是移动电子装置通信。因此,根据本发明的实施例的存储器系统和数据处理系统可应用于有线/无线电子装置。网络模块6940可被包括在应用处理器6930中。
存储模块6950可存储诸如从应用处理器6930接收的数据的数据,然后可将所存储的数据传输到应用处理器6930。存储模块6950可通过诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3D NAND闪存的非易失性半导体存储器装置来实施,并且可被提供为诸如用户系统6900的存储卡或外部驱动器的可移除存储介质。存储模块6950可对应于参照图1和图5描述的存储器系统110。此外,存储模块6950可被实施为如上参照图9至图14所述的SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机的用户输出接口。
此外,当图1和图5的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可作为用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示通过处理器6930处理的数据或支持从触摸面板接收数据的功能。
根据本发明的实施例的存储器系统可在发生突然断电之后,在重新供电进行恢复操作期间,仅一次读取开放块的页面来生成其中排列开放块的页面的状态的顺序表,并且参考顺序表可识别出开放块的页面中待被恢复的页面。因此,可以最小化为确定恢复目标页面而读取开放块的次数。
虽然已经针对具体实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可进行各种改变和修改。

Claims (20)

1.一种存储器系统,其包括:
非易失性存储器装置,其包括多个存储块,所述多个存储块中的每个包括多个页面;
控制器,其适于在写入操作期间将写入数据与对应的写入顺序信息一起编程在所述多个页面中;
其中当在恢复操作期间在所述多个存储块中检测到两个或更多个开放块时,所述控制器基于所述写入顺序信息生成其中排列所述开放块的页面的物理页码的顺序表,并基于所述顺序表确定所述开放块的页面中的至少一个恢复目标页面。
2.根据权利要求1所述的存储器系统,其中所述写入顺序信息包括表示被编程在各个页面中的所述写入数据的写入顺序的值,并且其中所述控制器通过逐块地读取被存储在所述开放块的页面中的所述写入顺序信息来生成所述顺序表,并根据所述写入顺序信息的值的升序顺序将所述开放块的页面的物理页码存储在所述顺序表中。
3.根据权利要求2所述的存储器系统,其中所述控制器通过将对应于处于正常状态的写入顺序信息的开放块的页面的物理页码存储在所述顺序表中来生成所述顺序表,并且将对应于处于错误状态的写入顺序信息的开放块的页面的物理页码的空间维持为空白。
4.根据权利要求3所述的存储器系统,其中所述控制器将对应于所述顺序表中位于空白空间之前的物理页码的一个或多个页面确定为所述至少一个恢复目标页面。
5.根据权利要求4所述的存储器系统,其中所述控制器进一步将对应于所述顺序表中位于所述空白空间之后的物理页码的一个或多个页面确定为无效页面。
6.根据权利要求5所述的存储器系统,其中所述控制器通过将对应于待存储在所述顺序表中的物理页码的逻辑页码存储在所述顺序表中来生成所述顺序表。
7.根据权利要求6所述的存储器系统,其中所述控制器基于所述顺序表更新关于所述逻辑页码和所述物理页码的映射信息。
8.根据权利要求7所述的存储器系统,其中所述控制器使关于所述恢复目标页面的物理页码和对应的逻辑页码的映射信息维持有效,并且使关于所述无效页面的物理页码和对应的逻辑页码的映射信息无效或将关于所述无效页面的物理页码和对应的逻辑页码的映射信息删除。
9.根据权利要求2所述的存储器系统,其中所述控制器首先读取所述开放块中具有存储最小值的所述写入顺序信息的页面的开放块,并且当将所述物理页码存储在所述顺序表中时,根据所述写入顺序信息的值的升序顺序来排列所述物理页码。
10.根据权利要求1所述的存储器系统,其中所述控制器在所述存储器系统突然断电之后恢复电力时执行所述恢复操作。
11.一种用于操作存储器系统的方法,所述存储器系统设置有非易失性存储器装置,所述非易失性存储器装置包括多个存储块,所述多个存储块中的每个包括多个页面,所述方法包括:
在写入操作期间将写入数据与对应的写入顺序信息一起编程在所述多个页面中;以及
当在恢复操作期间在所述多个存储块中检测到两个或更多个开放块时,根据所述写入顺序信息生成其中排列所述开放块的页面的物理页码的顺序表,并且基于所述顺序表确定所述开放块的页面中的至少一个恢复目标页面,
其中所述写入顺序信息包括表示被编程在各个页面中的所述写入数据的片段的写入顺序的值。
12.根据权利要求11所述的方法,其中所述顺序表的生成包括:
逐块地读取被存储在所述开放块的页面中的所述写入顺序信息;以及
根据所述写入顺序信息的值的升序顺序,将所述开放块的页面的物理页码存储在所述顺序表中。
13.根据权利要求12所述的方法,其中所述顺序表的生成包括:
将对应于处于正常状态的写入顺序信息的开放块的页面的物理页码存储在所述顺序表中;以及
将对应于处于错误状态的写入顺序信息的开放块的页面的物理页码的空间维持为空白。
14.根据权利要求13所述的方法,其中所述确定包括将对应于所述顺序表中位于空白空间之前的物理页码的一个或多个页面确定为所述至少一个恢复目标页面。
15.根据权利要求14所述的方法,其中所述确定进一步包括将对应于所述顺序表中位于所述空白空间之后的物理页码的一个或多个页面确定为无效页面。
16.根据权利要求15所述的方法,其中所述顺序表的生成包括将对应于待存储在所述顺序表中的物理页码的逻辑页码存储在所述顺序表中。
17.根据权利要求16所述的方法,其进一步包括基于所述顺序表更新关于所述逻辑页码和所述物理页码的映射信息。
18.根据权利要求17所述的方法,其中所述映射信息的更新包括:
使关于所述恢复目标页面的物理页码和对应的逻辑页码的映射信息维持有效;以及
使关于所述无效页面的物理页码和对应的逻辑页码的映射信息无效或将关于所述无效页面的物理页码和对应的逻辑页码的映射信息删除。
19.根据权利要求12所述的方法,其中所述写入顺序信息的读取包括:
首先读取所述开放块中具有存储最小值的所述写入顺序信息的页面的开放块;以及
当将所述物理页码存储在所述顺序表中时,根据所述写入顺序信息的值的升序顺序来排列所述物理页码。
20.根据权利要求11所述的方法,其进一步包括当在所述存储器系统突然断电之后恢复电力时执行所述恢复操作。
CN201710638520.9A 2016-10-10 2017-07-31 存储器系统及其操作方法 Pending CN107918566A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160130551A KR20180039785A (ko) 2016-10-10 2016-10-10 메모리 시스템 및 메모리 시스템의 동작방법
KR10-2016-0130551 2016-10-10

Publications (1)

Publication Number Publication Date
CN107918566A true CN107918566A (zh) 2018-04-17

Family

ID=61828939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710638520.9A Pending CN107918566A (zh) 2016-10-10 2017-07-31 存储器系统及其操作方法

Country Status (3)

Country Link
US (1) US20180101454A1 (zh)
KR (1) KR20180039785A (zh)
CN (1) CN107918566A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109783149A (zh) * 2019-01-17 2019-05-21 Oppo广东移动通信有限公司 开机控制方法、装置、移动终端以及存储介质
CN110457230A (zh) * 2018-05-08 2019-11-15 爱思开海力士有限公司 存储器系统及其操作方法
CN110874191A (zh) * 2018-08-31 2020-03-10 爱思开海力士有限公司 存储器系统及该存储器系统的操作方法
CN112074820A (zh) * 2018-05-08 2020-12-11 微芯片技术股份有限公司 用于多内核系统的存储器池分配
CN113342710A (zh) * 2020-02-18 2021-09-03 美光科技公司 存储器装置页面程序序列
CN113900589A (zh) * 2021-09-16 2022-01-07 合肥致存微电子有限责任公司 一种数据的写入方法及装置
WO2022156369A1 (zh) * 2021-01-22 2022-07-28 苏州浪潮智能科技有限公司 存储块管理信息同步记录方法、系统、终端及存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190023247A (ko) * 2017-08-28 2019-03-08 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10936199B2 (en) * 2018-07-17 2021-03-02 Silicon Motion, Inc. Flash controllers, methods, and corresponding storage devices capable of rapidly/fast generating or updating contents of valid page count table
KR20200043054A (ko) * 2018-10-17 2020-04-27 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR20200120159A (ko) * 2019-04-11 2020-10-21 에스케이하이닉스 주식회사 데이터 저장 장치 및 이의 동작 방법
KR20210079549A (ko) 2019-12-20 2021-06-30 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법
CN111198661B (zh) * 2019-12-30 2024-02-27 深圳佰维存储科技股份有限公司 存储设备写入操作过程的还原方法、装置和设备
KR102626430B1 (ko) * 2021-09-30 2024-01-17 주식회사 와이앤와이 Smt 공정의 다채널 데이터 라이트/검증 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216180B1 (en) * 1998-05-21 2001-04-10 Intel Corporation Method and apparatus for a nonvolatile memory interface for burst read operations
CN1801106A (zh) * 2005-01-04 2006-07-12 国际商业机器公司 用于计算机系统中的多个分区的错误监视的方法
CN1821978A (zh) * 2006-01-16 2006-08-23 深圳创维-Rgb电子有限公司 在嵌入系统的非易失存储器中进行数据操作的方法
CN101346704A (zh) * 2005-12-22 2009-01-14 Nxp股份有限公司 具有可擦除块单元的存储器和定位具有指针信息地块的联结指针链
KR20150094292A (ko) * 2014-02-11 2015-08-19 한양대학교 산학협력단 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
CN105988939A (zh) * 2015-01-22 2016-10-05 慧荣科技股份有限公司 数据储存装置以及快闪存储器控制方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216180B1 (en) * 1998-05-21 2001-04-10 Intel Corporation Method and apparatus for a nonvolatile memory interface for burst read operations
CN1801106A (zh) * 2005-01-04 2006-07-12 国际商业机器公司 用于计算机系统中的多个分区的错误监视的方法
CN101346704A (zh) * 2005-12-22 2009-01-14 Nxp股份有限公司 具有可擦除块单元的存储器和定位具有指针信息地块的联结指针链
CN1821978A (zh) * 2006-01-16 2006-08-23 深圳创维-Rgb电子有限公司 在嵌入系统的非易失存储器中进行数据操作的方法
KR20150094292A (ko) * 2014-02-11 2015-08-19 한양대학교 산학협력단 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
KR101548452B1 (ko) * 2014-02-11 2015-08-28 한양대학교 산학협력단 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
CN105988939A (zh) * 2015-01-22 2016-10-05 慧荣科技股份有限公司 数据储存装置以及快闪存储器控制方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457230A (zh) * 2018-05-08 2019-11-15 爱思开海力士有限公司 存储器系统及其操作方法
CN112074820A (zh) * 2018-05-08 2020-12-11 微芯片技术股份有限公司 用于多内核系统的存储器池分配
CN110457230B (zh) * 2018-05-08 2023-12-05 爱思开海力士有限公司 存储器系统及其操作方法
CN112074820B (zh) * 2018-05-08 2024-01-05 微芯片技术股份有限公司 用于多内核系统的存储器池分配
CN110874191A (zh) * 2018-08-31 2020-03-10 爱思开海力士有限公司 存储器系统及该存储器系统的操作方法
CN110874191B (zh) * 2018-08-31 2023-08-04 爱思开海力士有限公司 存储器系统及该存储器系统的操作方法
CN109783149A (zh) * 2019-01-17 2019-05-21 Oppo广东移动通信有限公司 开机控制方法、装置、移动终端以及存储介质
CN113342710A (zh) * 2020-02-18 2021-09-03 美光科技公司 存储器装置页面程序序列
WO2022156369A1 (zh) * 2021-01-22 2022-07-28 苏州浪潮智能科技有限公司 存储块管理信息同步记录方法、系统、终端及存储介质
CN113900589A (zh) * 2021-09-16 2022-01-07 合肥致存微电子有限责任公司 一种数据的写入方法及装置

Also Published As

Publication number Publication date
US20180101454A1 (en) 2018-04-12
KR20180039785A (ko) 2018-04-19

Similar Documents

Publication Publication Date Title
CN107918566A (zh) 存储器系统及其操作方法
CN107957849B (zh) 存储器系统及其操作方法
CN108304141A (zh) 存储器系统及其操作方法
CN109947358B (zh) 存储器系统及其操作方法
CN108121669A (zh) 存储器系统及其操作方法
CN108255739A (zh) 存储器系统及其操作方法
CN107450845B (zh) 存储器系统及其操作方法
CN107562649A (zh) 存储器系统及其操作方法
CN109388594A (zh) 存储器系统及其操作方法
CN109032501B (zh) 存储器系统及其操作方法
CN109284202A (zh) 控制器及其操作方法
CN108108308A (zh) 存储器系统及其操作方法
CN108257637A (zh) 存储器系统及其操作方法
CN107346214A (zh) 存储器系统及其操作方法
CN108388525A (zh) 存储器系统及其操作方法
CN110347330A (zh) 存储器系统及其操作方法
CN109521947A (zh) 存储器系统以及存储器系统的操作方法
CN110321069A (zh) 存储器系统及其操作方法
CN107807887A (zh) 存储器系统及其操作方法
CN108694970A (zh) 控制器及其操作方法
CN110362270A (zh) 存储器系统及其操作方法
CN109271328A (zh) 存储器系统及其操作方法
CN110322915A (zh) 存储器装置及其操作方法
CN108733616A (zh) 包括多处理器的控制器及其操作方法
CN108363547A (zh) 控制器及其操作方法

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180417