CN107957849B - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN107957849B CN107957849B CN201710430859.XA CN201710430859A CN107957849B CN 107957849 B CN107957849 B CN 107957849B CN 201710430859 A CN201710430859 A CN 201710430859A CN 107957849 B CN107957849 B CN 107957849B
- Authority
- CN
- China
- Prior art keywords
- page
- memory
- memory block
- controller
- empty
- 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.)
- Active
Links
Images
Classifications
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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
- 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
-
- 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/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- 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/1441—Resetting or repowering
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Library & Information Science (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开一种存储器控制器的重建操作方法,该方法包括:当发生突然断电之后恢复电源时,搜索存储在第一存储块中的参考页面信息;当作为搜索结果,参考页面信息被确定为没有被存储在第一存储块中时,识别第二存储块中的参考页面,并且将识别的参考页面的参考页面信息存储到第一存储块中;以及基于存储在第一存储块中的参考页面信息对存储在第二存储块中的数据执行重建操作。
Description
相关申请的交叉引用
本专利申请要求于2016年10月14日向韩国知识产权局提交的申请号为10-2016-0133566的韩国专利申请的优先权,其全部公开内容通过引用并入本文。
技术领域
本发明的示例性实施例涉及一种将数据处理到存储器装置和处理来自存储器装置的数据的存储器系统及其操作方法。
背景技术
计算机环境范例已经转变至可随时随地使用的普适计算系统。由于该事实,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有一个或多个用于存储数据的存储器装置的存储器系统。存储器系统可以用作便携式电子装置的主存储器装置或辅助存储器装置。
因为存储器系统不具有移动部件,所以它们提供优良的稳定性、耐用性、高信息存取速度和低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
各个实施例涉及一种存储器装置的使用方面能够最大化使用效率的存储器系统及其操作方法。
在本发明的示例性实施例中,一种用于存储器系统的控制器的操作方法,该方法可以包括:当发生突然断电之后恢复电源时,搜索存储在第一存储块中的参考页面信息;当作为搜索结果,参考页面信息被确定为没有被存储在第一存储块中时,识别第二存储块中的参考页面,并且将识别的参考页面的参考页面信息存储到第一存储块中;以及基于存储在第一存储块中的参考页面信息对存储在第二存储块中的数据执行重建操作。
优选地,参考页面可以是第二存储块的第1擦除页面。
优选地,重建操作的执行可以包括:将虚拟数据编程到第1空页面中,其中第1空页面在第二存储块中位于第1擦除页面之后;以及将存储最后写入页面中的数据复制到第2空页面中,其中最后写入页面位于第1擦除页面之前,第2空页面位于第1空页面之后。
优选地,可以通过二进制搜索来执行参考页面的识别。
优选地,参考页面信息可以包括第1擦除页面的地址信息。
优选地,参考页面可以是第二存储块的最后写入页面。
优选地,重建操作的执行可以包括:将虚拟数据编程到第1空页面中,其中第1空页面在第二存储块中位于最后写入页面之后;以及将存储在最后写入页面中的数据复制到第2空页面中,其中第2空页面位于第1空页面之后。
优选地,可以通过二进制搜索来执行参考页面的识别。
优选地,参考页面信息可以包括最后写入页面的地址信息。
在本发明的示例性实施例中,存储器系统可以包括:存储器装置,其包括用于存储参考页面信息的第一存储块和用于存储数据的第二存储块;以及控制器,其适于对存储在存储器装置中的数据执行重建操作,其中控制器:当发生突然断电之后恢复电源时,搜索存储在第一存储块中的参考页面信息;当作为搜索结果,参考页面信息被确定为没有被存储在第一存储块中时,识别第二存储块中的参考页面,并且将识别的参考页面的参考页面信息存储到第一存储块中;以及基于存储在第一存储块中的参考页面信息,对存储在第二存储块中的数据执行重建操作。
优选地,参考页面可以是第二存储块的第1擦除页面。
优选地,控制器可以通过以下来执行重建操作:将虚拟数据编程到第1空页面中,其中第1空页面在第二存储块中位于第1擦除页面之后;以及将存储最后写入页面中的数据复制到第2空页面中,其中最后写入页面位于第1擦除页面之前,第2空页面位于第1空页面之后。
优选地,控制器可以通过二进制搜索来识别第二存储块的参考页面。
优选地,参考页面信息可以包括第1擦除页面的地址信息。
优选地,参考页面可以是第二存储块的最后写入页面。
优选地,控制器可以通过以下来执行重建操作:将虚拟数据编程到第1空页面中,其中第1空页面在第二存储块中位于最后写入页面之后;以及将存储在最后写入页面中的数据复制到第2空页面中,其中第2空页面位于第1空页面之后。
优选地,控制器可以通过二进制搜索来识别第二存储块的参考页面。
优选地,参考页面信息可以包括最后写入页面的地址信息。
根据本发明的各个实施例,存储在半导体存储器装置的存储器单元中的数据可以被精确地读取。
附图说明
根据参照附图的以下详细描述,本发明的这些和其它特征及优点对于本发明所属领域的技术人员将变得显而易见。
图1是示出根据本发明的实施例的数据处理系统的框图。
图2是示出在图1的存储器系统中采用的存储器装置的示例性配置的示意图。
图3是示出图1的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出图1的存储器装置的示例性3-D结构的示意图。
图5是示出根据本发明的实施例的存储器系统中的存储器装置的多个存储块的示意图。
图6是示出根据本发明的实施例的存储器系统的重建操作的流程图。
图7A是示出根据用于第一次SPO的重建操作的多个存储块的示意图。
图7B是示出根据用于第一次SPO的重建操作的多个存储块的示意图。
图8A是示出根据用于第二次SPO的重建操作的多个存储块的示意图。
图8B是示出根据用于第三次SPO的重建操作的多个存储块的示意图。
图9至图14是示出图1的数据处理系统的应用示例的示意图。
具体实施方式
以下参照附图更详细地描述本发明的各种实施例。然而,注意的是,本发明可以不同的其它实施例、形式及其变型体现,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底的且完全的,并且将向本发明所属领域的技术人员完全传达本发明。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文中使用以描述各种元件,但是这些元件不受这些术语的限制。使用这些术语来将一个元件与另一个元件区分。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例的特征,比例可能已经被夸大。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,其可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件或者也可存在一个或多个中间元件。
本文使用的术语的目的仅是为描述特定实施例而不旨在限制本发明。
如本文使用的,单数形式也旨在包括复数形式,除非上下文另有清楚地说明。
将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所阐述元件的存在,并且不排除一个或多个其它元件的存在或增加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和所有组合。
除非另有定义,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中普通技术人员通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中定义的那些术语的术语应被理解为具有与其在本公开和相关领域的上下文中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文中如此明确地这样定义。
在以下描述中,为了提供本发明的彻底理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实践。在其它情况下,为了避免不必要地模糊本发明,没有详细地描述公知的进程结构和/或进程。
也注意的是,在一些情况下,对于相关领域的技术人员显而易见的是,结合一个实施例描述的特征或元件可单独使用或与另一个实施例的其它特征或元件结合使用,除非另有明确说明。
图1是示出根据本发明的实施例的数据处理系统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动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置和诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器的非易失性存储器装置。闪速存储器可以具有3维(3D)堆叠结构。
存储器系统110可以包括存储器装置150和控制器130。存储器装置150可以存储用于主机120的数据,并且控制器130可以控制到存储器装置150中的数据存储。
控制器130和存储器装置150可以被集成到单个半导体装置中,其可以被包括在如上所例示的各种类型的存储器系统中。
存储器系统110的非限制性应用示例可以包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、组成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、组成家庭网络的各种电子装置中的一个、组成计算机网络的各种电子装置中的一个、组成远程信息处理网络的各种电子装置中的一个、射频识别(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闪速控制器的存储器装置控制器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-Chaudhuri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)以及分组编码调制(Block coded modulation,BCM)。然而,ECC单元138不限于此。ECC单元138可以包括用于错误校正的所有电路、模块、系统或装置。
PMU 140可提供和管理控制器130的电源。
存储器装置控制器142可以用作用于将控制器130和存储器装置150接合的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或特别地,是NAND闪速存储器时,存储器装置控制器142可以是接口。存储器装置控制器142可以在处理器134的控制下生成用于存储器装置150的控制信号并且处理待提供给存储器装置150的数据。存储器装置控制器142可以用作处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪速接口)。具体地,存储器装置控制器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(210)、块1(220)、块2(230)至块N-1(240),并且块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。在漏极选择晶体管DST和源极选择晶体管SST之间,多个存储器单元MC0至MCn-1可以串联联接。在实施例中,存储器单元晶体管MC0至MCn-1中的每一个可以由能够存储多个位的数据信息的MLC来体现。单元串340中的每一个可以电联接到多个位线BL0至BLm-1中的相应位线。例如,如图3所示,第一单元串联接到第一位线BL0,并且最后单元串联接到最后位线BLm-1。作为参考,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,“CSL”表示公共源极线。
虽然图3示出NAND闪速存储器单元,但是本发明不限于此。注意的是,存储器单元可以是NOR闪速存储器单元,或者包括组合在其中的两种或更多种存储器单元的混合闪速存储器单元。并且,注意的是,存储器装置150可以是包括导电浮栅作为电荷存储层的闪速存储器装置或包括绝缘层作为电荷存储层的电荷捕获闪存(CTF)。
存储器装置150可以进一步包括电压供应单元310,其提供包括编程电压、读取电压和通过电压的字线电压以根据操作模式供应到字线。电压供应单元310的电压生成操作可以由控制电路(未示出)来控制。在控制电路的控制下,电压供应单元310可以选择存储器单元阵列的存储块(或扇区)中的一个,选择所选择的存储块的字线(WL0,WL1,WLn-2,WLn-1)中的一个,并且根据需要将字线电压提供给所选择的字线和未选择的字线。
存储器装置150可以包括由控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可被操作为用于从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可以根据待存储在存储器单元阵列中的数据来操作为用于驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收待存储到存储器单元阵列中的数据并且根据接收的数据来驱动位线。读取/写入电路320可以包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器(PB)322至326,并且页面缓冲器322至326中的每一个可以包括多个锁存器(未示出)。
图4是示出存储器装置150的示例性3D结构的示意图。
存储器装置150可以由2D或3D存储器装置来体现。具体地,如图4所示,存储器装置150可以由具有3D堆叠结构的非易失性存储器装置来体现。当存储器装置150具有3D结构时,存储器装置150可以包括每个具有3D结构(或垂直结构)的多个存储块BLK0至BLKN-1。
图5是示出根据本发明的实施例的存储器系统110中的存储器装置150的多个存储块510和550的示意图。
图6是示出根据本发明的实施例的存储器系统110的重建操作的流程图。
图7A是示出根据用于第一次SPO的重建操作的多个存储块510和550的示意图。
图7B是示出根据用于第一次SPO的重建操作的多个存储块510和550的示意图。
图8A是示出根据用于第二次SPO的重建操作的多个存储块510和550的示意图。
图8B是示出根据用于第三次SPO的重建操作的多个存储块510和550的示意图。
参照图5,多个存储块510和550中的每一个可以包括多个页面。多个页面中的每一个可以具有页面号PN。用户数据和/或元数据可以被存储在多个页面中。
图5示出存储块510可以存储对应于主机命令的用户数据和元数据,并且存储块550可以在突然断电(SPO)之后存储用于重建操作的元数据。例如,第100用户数据SEQ 100和第100用户数据SEQ 100的元数据可以被存储在存储块510的第0页面PN 0中。第100用户数据SEQ100的元数据可以是逻辑页面号LPN 11,其为页面号与逻辑地址之间的映射关系的信息。以类似的方式,第101用户数据SEQ 101至第105用户数据SEQ 105和第101用户数据SEQ 101的元数据至第105用户数据SEQ105的元数据,即逻辑页面号LPN 12至LPN 16可以被存储在存储块510的第一页面PN 1至第五页面PN 5中。
参照图5,存储块510的第6页面至第11页面可以是空的擦除页面。并且,存储块550可以在突然断电之后存储用于重建操作的元数据,即,存储块510的第1擦除页面信息。
在控制器130响应于主机命令正在从作为存储器装置150的开放块的存储块510的第0页面PN 0至第m页面顺序地执行命令操作时,可能发生突然断电SPO或突然电源中断。控制器130的命令操作可能由于突然断电SPO而中断。当存储器系统110在突然断电SPO之后回到通电状态时,控制器130可以对在突然断电SPO时正在对其执行命令操作的存储块510执行重建操作,并且然后可以恢复命令操作。然而,当在重建操作完成之前再次发生突然断电SPO并且没有再一次对存储块510执行重建操作时,可能不能保证存储在存储块510中的数据的可靠性。
根据本发明的实施例,当在执行命令操作的同时发生第1次突然断电SPO时,可以确保存储块510的第1擦除页面信息。因此,即使在对存储块510的重建操作被完成之前多次发生突然断电SPO,也可以执行重建操作以保证存储在被最终重建的存储块510中的数据的可靠性。第1擦除页面可以被称为在擦除(即空)页面之中的具有最小页面号的页面,其中存储块510的用户数据或元数据不被存储在擦除(即空)页面中。例如,参照图5,在第6页面PN6至第11页面PN 11之中的第1擦除页面可以是第6页面PN 6。
当存储器系统110在突然断电SPO之后回到通电状态时,控制器130可以根据当前重建操作是否用于第1次突然断电SPO而对存储块510执行不同的重建操作。详细地,当控制器130执行用于第1次突然断电SPO的重建操作时,控制器130可以在存储块550上加载存储块510的第1擦除页面信息,并且然后可以基于在存储块550上加载的第1擦除页面信息来重建存储块510。当控制器130执行用于第2次突然断电SPO和后续突然断电SPO的重建操作时,控制器130可以基于第1擦除页面信息来重建存储块510,其中第1擦除页面信息在用于第1次突然断电SPO的重建操作期间被加载在存储块550上。
可以根据步骤S610至S640执行用于第1次突然断电SPO的重建操作,这将参照图6来描述。可以根据图6的步骤S610和步骤S640来执行用于第2次突然断电SPO和后续突然断电SPO的重建操作。
第1次突然断电SPO可以被定义为在控制器130响应于从主机提供的主机命令而正在执行命令操作时发生的突然断电,而第2次突然断电SPO和后续突然断电SPO可以被定义为在控制器正在执行重建操作时发生的突然断电。因此,第2次突然断电SPO和后续突然断电SPO发生在第1擦除页面信息被存储之后。
参照图6,当存储器系统110在突然断电SPO之后回到通电状态时,在步骤S610中,控制器130可以确定第1擦除页面信息是否被存储在管理第1擦除页面信息表的存储块550中。第1擦除页面信息,即,诸如第1擦除页面的页面号、字线等的第1擦除页面的元数据被存储在第1擦除页面信息表中。
作为步骤S610的结果,当第1擦除页面信息被存储在存储块550中时(在步骤S610中为“是”),可以认为的是,当前重建操作对应于第2次突然断电SPO和后续突然断电SPO,并且控制器130可以执行步骤S640。作为步骤S610的结果,当第1擦除页面信息没有被存储在存储块550中时(在步骤S610中为“否”),可以认为的是,当前重建操作对应于第1次突然断电SPO,并且控制器130可以执行步骤S620。
例如,如图5所示,当在控制器130响应于从主机提供的编程命令将第105用户数据SEQ 105和元数据LPN 16存储到第5页面PN 5中之后发生第1次突然断电SPO并且然后存储器系统110在第1次突然断电SPO之后回到通电状态时,在步骤S610中第1擦除页面信息可以被确定为没有被存储在存储块550中,并且因此控制器130可以对第1次突然断电SPO执行重建操作。即,控制器130可以执行步骤S620。
然而,例如,如图8A所示,当第1擦除页面信息在用于第1次突然断电SPO的重建操作期间被存储在存储块550中,在用于第1次突然断电SPO的重建操作完成之前发生第2次突然断电SPO,并且然后存储器系统110在第2次突然断电SPO之后回到通电状态时,在步骤S610中第1擦除页面信息可以被确定为存储在存储块550中,并且因此控制器130可以执行用于第2次突然断电SPO和后续突然断电SPO的重建操作。即,控制器130可以执行步骤S640。
在下文中,将详细描述用于第1突然断电SPO的重建操作。
在步骤S610中,当第1擦除页面信息被确定为没有被存储在存储块550中时,可以执行步骤S620。即,如图7A所示,当第1擦除页面信息没有被存储在存储块550中时,控制器130可以将当前重建操作确定为用于第1次突然断电SPO,并且因此可以执行步骤S620。
在步骤S620中,控制器130可以搜索存储块550的第1擦除页面530。详细地,控制器130可以例如通过二进制搜索方案来检测擦除(即,空)页面之中的具有最小页面号的页面作为第1擦除页面530,其中存储块510的用户数据或元数据没有被存储在擦除(即,空)页面中。参照图7A,存储块510的第1擦除页面530可以是第6页面PN 6至第11页面PN 11之中的具有最小页面号的第6页面PN 6,其中存储块510的用户数据或元数据没有被存储在第6页面PN 6至第11页面PN 11中。
在步骤S630中,控制器130可以将检测的第1擦除页面530的第1擦除页面信息560,即,诸如第1擦除页面530(即,第6页面PN 6)的页面号、字线等的第1擦除页面530的元数据,存储到存储块550的第1擦除页面信息表中。
在步骤S640中,控制器130可以基于存储在存储块550的第1擦除页面信息表中的第1擦除页面信息来重建存储块510。详细地,控制器130可以通过将虚拟数据编程到第1擦除页面(即,图7A的第6页面PN 6)中并且将存储在最后写入页面的数据复制到擦除页面中来重建存储块510,其中最后写入页面为第1擦除页面的前一页面(即,图7A的第5页面PN5);擦除页面为第1擦除页面的后一页面(即,图7A的第7页面PN 7)。
例如,如图7B所示,控制器130可以通过将虚拟数据编程到存储块550的第1擦除页面530(即,图7B的第6页面PN 6)中并且将存储在最后写入页面520(即,图7B的第5页面PN5)中的复制到擦除页面535(即,图7B的第7页面PN 7)中来重建存储块510,其中最后写入页面520为第1擦除页面530的前一页面;擦除页面535为第1擦除页面530的后一页面。
然后,控制器130可以恢复在突然断电SPO和相应的重建操作期间停止的命令操作。例如,控制器130可以通过顺序地将对应于编程命令的用户数据和元数据存储到第8页面PN 8和后续页面中来完成编程操作。
然而,当在将存储在作为第1擦除页面530(即,图7B的第6页面PN6)的前一页面的最后写入页面520(即,图7B的第5页面PN 5)中的数据复制到作为第1擦除页面530的后一页面的擦除页面535(即,图7B的第7页面PN 7)中之后并且在恢复命令操作之前,发生第2次突然断电SPO时,控制器130可以执行用于第2次突然断电SPO和后续突然断电SPO的重建操作。在下文中,将描述用于第2次突然断电SPO和后续突然断电SPO的重建操作。
如以上简要描述的,用于第2次突然断电SPO和后续突然断电SPO的重建操作是指用于在将第1擦除页面信息560存储到存储块550中之后并在重建操作完成之前发生的突然断电的重建操作。
参照图6,在步骤S610中,当第1擦除页面信息被确定为存储在存储块550中时,可以执行步骤S640。即,如图8A所示,当第1擦除页面信息被存储在存储块550中时,控制器130可以确定当前重建操作为用于第2次突然断电SPO和后续突然断电SPO,并且因此可以执行步骤S640。
在步骤S640中,控制器130可以基于存储在存储块550的第1擦除页面信息表中的第1擦除页面信息来重建存储块510。详细地,如图8A所示,控制器130可以通过将虚拟数据编程到擦除页面531(即,图8A的第8页面PN 8)中并且将存储在最后写入页面520(即,如从第1擦除页面信息所识别的图8A的第5页面PN 5)中的数据复制到擦除页面536(即,图8A的第9页面PN 9)中来重建存储块510。其中,擦除页面531为第1擦除页面(即,如第1擦除页面信息所指示的图8A的第6页面PN6)的后一擦除页面;最后写入页面520为第1擦除页面的前一页面;擦除页面536为虚拟数据被编程至其中的擦除页面531的后一页面。页面540是擦除页面536的下一页面。
然后,控制器130可以恢复在突然断电SPO和相应的重建操作期间停止的命令操作。例如,控制器130可以通过顺序地将对应于编程命令的用户数据和元数据存储到第10页面PN 10和后续页面中来完成编程操作。
然而,如图8B所示,当在将虚拟数据编程到擦除页面531(即,图8B的第8页面PN 8)中之后但在将存储在最后写入页面520(即,图8B的第5页面PN 5)中的数据复制到作为擦除页面531的后一页面的擦除页面532(即,图8B的第9页面PN 9)中之前发生第3次突然断电SPO时,控制器130可以执行用于第2次突然断电SPO和后续突然断电SPO的重建操作。
参照图6,在步骤S610中,当第1擦除页面信息被确定为存储在存储块550中时,可以执行步骤S640。即,如图8B所示,当第1擦除页面信息被存储在存储块550中时,控制器130可以将当前重建操作确定为用于第2次突然断电SPO和后续突然断电SPO,并且因此可以执行步骤S640。
在步骤S640中,控制器130可以基于存储在存储块550的第1擦除页面信息表中的第1擦除页面信息来重建存储块510。详细地,如图8B所示,控制器130可以通过将虚拟数据编程到擦除页面532(即,图8B的第9页面PN 9)中,并且将存储在最后写入页面520(即,如从第1擦除页面信息所识别的图8B的第5页面PN 5)中的数据复制到擦除页面536(即,图8B的第10页面PN 10)中来重建存储块510。其中擦除页面532为第1擦除页面(即,如第1擦除页面信息所指示的图8B的第6页面PN 6)的后一擦除页面;擦除页面536为虚拟数据被编程至其中的擦除页面532的后一页面。
然后,控制器130可以恢复在突然断电SPO和相应的重建操作期间停止的命令操作。例如,控制器130可以通过顺序地将对应于编程命令的用户数据和元数据存储到第11页面PN 11和后续页面中来完成编程操作。
如上所述,根据本发明的实施例,在存储器系统110中,第1擦除页面信息560可以在用于第1次突然断电SPO的重建操作期间被存储在存储器装置150中,使得即使当多次发生后续突然断电SPO时,也可以精确地识别由于突然断电SPO而导致的损坏页面。因此,即使当多次发生后续突然断电SPO时,通过对损坏页面执行重建操作,由于突然断电SPO而导致的数据损失可以被最小化并且存储在重建存储块510中的数据的可靠性可以被确保。
另外地,即使当大量的垃圾数据,例如存储在最后写入页面中的数据的复制数据和/或虚拟数据,由于重复的突然断电SPO和相应的重建操作而被存储在存储块510中时,可以基于第1擦除页面信息560仅扫描需要的页面区域。例如,参照图8B,在存储器系统110的启动期间,可以基于第一擦除页面信息560仅扫描第0页面至第5页面,这可以不增加存储器系统110的启动时间。
即使存储器系统110的重建操作被如上描述为基于第1擦除页面信息560来执行,但是可以基于参考页面信息来执行重建操作,参考页面信息例如最后写入页面的信息,其不同于第1擦除页面信息。
图9至图14是示出图1的数据处理系统的应用示例的示意图。
图9是示意性地示出根据本实施例的包括存储器系统的数据处理系统的另一示例的图。图9示意性地示出应用根据本实施例的存储器系统的存储卡系统。
参照图9,存储卡系统6100可以包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可以连接到由非易失性存储器体现的存储器装置6130,并且被配置为访问存储器装置6130。例如,存储器控制器6120可以被配置为控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可以被配置为提供存储器装置6130和主机之间的接口以及驱动用于控制存储器装置6130的固件。即,存储器控制器6120可以对应于参照图1至图8描述的存储器系统110的控制器130,并且存储器装置6130可以对应于参照图1至图8描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可以包括RAM、处理单元,主机接口、存储器接口和错误校正单元。存储器控制器130可以进一步包括如图1所示的元件并且执行参照图1至图8描述的操作。
存储器控制器6120可以通过连接器6110来与例如图1的主机102的外部装置通信。例如,如参照图1所描述的,存储器控制器6120可以被配置为通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行-ATA、并行-ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪速存储器(UFS)、WIFI和蓝牙。因此,根据本实施例的存储器系统和数据处理系统可以应用于有线/无线电子装置或特别是移动电子装置。
存储器装置6130可以通过非易失性存储器来实施。例如,存储器装置6130可以通过诸如以下的各种非易失性存储器来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁性RAM(STT-RAM)。存储器装置6130可以包括如图1的存储器装置150中的多个管芯。
存储器控制器6120和存储器装置6130可以被集成到单个半导体装置中。例如,存储器控制器6120和存储器装置6130可以通过集成到单个半导体装置中来构造固态驱动器(SSD)。存储器控制器6120和存储器装置6130可以构造诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会)、标准闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)和通用闪速存储器(UFS)。
图10是示意性地示出包括根据本实施例的存储器系统的数据处理系统的另一示例的图。
参照图10,数据处理系统6200可以包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图10所示的数据处理系统6200可以用作如参照图1描述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1至图8所示的存储器系统110中的存储器装置150,并且存储器控制器6220可以对应于图1至图8所示的存储器系统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的数据。当RAM 6222用作高速缓冲存储器时,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码、涡轮码、里德-所罗门码、卷积码、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被配置为通过各种通信协议的一种或多种与外部装置通信,所以根据本实施例的存储器系统和数据处理系统可以应用于有线/无线电子装置或特别是移动电子装置。
图11是示意性地示出根据本实施例的包括存储器系统的数据处理系统的另一示例的图。图11示意性地示出应用根据本实施例的存储器系统的SSD。
参照图11,SSD 6300可以包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可以对应于图1至图8的存储器系统110中的控制器130,并且存储器装置6340可以对应于图1至图8的存储器系统中的存储器装置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的非易失性存储器来体现。为了便于描述,图10示出缓冲存储器6325存在于控制器6320中。然而,缓冲存储器6325可以存在于控制器6320的外部。
ECC电路6322可以在程序操作期间计算待编程到存储器装置6340的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并且在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可以提供与例如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可以提供与存储器装置6340的接口功能,存储器装置6340通过多个通道被连接。
此外,应用图1至图8的存储器系统110的多个SSD 6300可以被设置成体现数据处理系统,例如RAID(独立磁盘的冗余阵列)系统。此时,RAID系统可以包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令而执行编程操作时,RAID控制器可以根据多个RAID级别,即,从SSD 6300中的主机6310提供的写入命令的RAID级别信息,来选择一个或多个存储器系统或SSD 6300,并将对应于写入命令的数据输出到所选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取命令时,RAID控制器可以根据多个RAID级别,即,从SSD 6300中的主机6310提供的读取命令的RAID级别信息,来选择一个或多个存储器系统或SSD 6300,并且将从所选择的SSD 6300读取的数据提供给主机6310。
图12是示意性地示出包括根据本实施例的存储器系统的数据处理系统的另一示例的图。图12示意性地示出应用根据本实施例的存储器系统的嵌入式多媒体卡(eMMC)。
参照图12,eMMC 6400可以包括控制器6430和由一个或多个NAND闪速存储器体现的存储器装置6440。控制器6430可以对应于图1至图8的存储器系统110中的控制器130,并且存储器装置6440可以对应于图1至图8的存储器系统110中的存储器装置150。
更具体地,控制器6430可以通过多个通道连接到存储器装置6440。控制器6430可以包括一个或多个内核(core)6432、主机接口6431和例如NAND接口6433的存储器接口。
内核6432可以控制eMMC 6400的整体操作,主机接口6431可以在控制器6430和主机6410之间提供接口功能,并且NAND接口6433可以在存储器装置6440和控制器6430之间提供接口功能。例如,主机接口6431可以用作例如参照图1描述的主机接口132的并行接口。此外,主机接口6431可以用作例如超高速(UHS-I/UHS-II)接口的串行接口。
图13是示出包括根据本发明的实施例的存储器系统的数据处理系统的另一示例的图。图13示意性地示出应用根据实施例的存储器系统的通用闪速存储器(UFS)。
参照图13,UFS系统6500可以包括UFS主机6510、多个UFS装置6520和6530、嵌入式UFS装置6540和可移除UFS卡6550。UFS主机6510可以是有线/无线电子设备,例如移动电子设备,的应用处理器。
UFS主机6510、UFS装置6520和6530、嵌入式UFS装置6540和可移除UFS卡6550可以分别通过UFS协议与诸如有线/无线电子设备(例如,移动电子设备)的外部设备通信。UFS装置6520和6530、嵌入式UFS装置6540和可移除UFS卡6550中的至少一个可以利用以上参照图1至图8描述的存储器系统110来实施。例如,UFS装置6520和6530、嵌入式UFS装置6540和可移除UFS卡6550中的至少一个可以被实施为以上参照图9描述的存储卡系统6100。优选地,UFS装置6520和6530、嵌入式UFS装置6540和可移除UFS卡6550中的所有可以利用以上参照图1至图8描述的存储器系统110,诸如例如以上参照图9描述的存储卡系统6100,来实施。嵌入式UFS装置6540和可移除UFS卡6550可以通过除UFS协议之外的另一协议来通信。例如,嵌入式UFS装置6540和可移除UFS卡6550可以通过诸如但不限于以下的各种卡协议来通信:USB闪存驱动器(UFD)、多媒体卡(MMC)、安全数字(SD)、迷你SD和微型SD。
图14是示出包括根据本发明的实施例的存储器系统的数据处理系统的示例的图。图14是示意性地示出应用根据实施例的存储器系统的用户系统。
参照图14,用户系统6600可以包括应用处理器6630、存储器模块6620、网络模块6640、存储模块6650和用户接口6610。
应用处理器6630可以驱动包括在用户系统6600中的组件和操作系统(OS)。例如,应用处理器6630可以包括用于控制包括在用户系统6600中的组件的控制器、接口、图形引擎等。应用处理器6630可以由片上系统(SoC)提供。
存储器模块6620可以操作为用户系统6600的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6620可以包括诸如动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2 SDRAM、DDR3 SDRAM、低功率双倍数据速率(LPDDR)SDRAM、LPDDR2 SDRAM和LPDDR3SDRAM的易失性随机存取存储器,或诸如相变随机存取存储器(PRAM)、电阻式随机存取存储器(ReRAM)、磁性随机存取存储器(MRAM)和铁电随机存取存储器(FRAM)的非易失性随机存取存储器。例如,应用处理器6630和存储器模块6620可以通过基于堆叠封装(POP)被封装来安装。
网络模块6640可以与外部装置通信。例如,网络模块6640不仅可以支持有线通信,还可以支持诸如以下的各种无线通信:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示器(WI-DI)等,并且从而可以与例如移动电子设备的有线/无线电子设备通信。因此,存储器系统和数据处理系统可以应用于有线和/或无线电子设备。网络模块6640可以被包括在应用处理器6630中。
存储模块6650可以存储诸如从应用处理器6530接收的数据的数据,并且将存储在其中的数据传输到应用处理器6530。存储模块6650可以由诸如以下的非易失性半导体存储器装置实现:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪速存储器、NOR闪速存储器和三维NAND闪速存储器。存储模块6650可以被设置为诸如用户系统6600的存储卡和外部驱动器的可移除存储介质。例如,存储模块6650可以对应于以上参照图1至图8描述的存储器系统110,并且可以利用以上参照图11至图13描述的SSD、eMMC和UFS来实施。
用户接口6610可以包括用于将数据和/或命令输入到应用处理器6630或用于将数据输出到外部装置的一个或多个接口。例如,用户界面6610可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和电动机的用户输出接口。
在根据实施例的将以上参照图1至图8描述的存储器系统110应用于用户系统6600的移动电子设备的情况下,如上所述,应用处理器6630可以控制移动电子设备的操作,并且作为通信模块的网络模块6640可以控制与外部装置的有线/无线通信。作为移动电子设备的显示/触摸模块的用户接口6610可以显示由应用处理器6630处理的数据或支持来自触摸面板的数据的输入。
根据本发明的各种实施例的存储器系统及其操作方法可以最小化存储器系统的复杂性和性能恶化并且最大化存储器装置的使用效率,从而快速且稳定地处理关于存储器装置的数据。
虽然已经为了说明的目的描述各个实施例,但是不脱离如所附权利要求中限定的本发明的精神和范围的情况下,对于本领域技术人员显而易见的是,可以进行各种其它实施例、改变和变型。
Claims (16)
1.一种存储器控制器的方法,所述方法包括:
当发生突然断电之后恢复电源时,搜索存储在第一存储块中的参考页面信息;
当作为搜索结果,所述参考页面信息被确定为没有被存储在所述第一存储块中时,识别第二存储块中的参考页面,并且将所识别的参考页面的参考页面信息存储到所述第一存储块中;以及
基于存储在所述第一存储块中的所述参考页面信息,对存储在所述第二存储块中的数据执行重建操作;并且
其中所述参考页面是所述第二存储块的第1擦除页面。
2.根据权利要求1所述的方法,其中所述重建操作的执行包括:
将虚拟数据编程到第1空页面中,其中所述第1空页面在所述第二存储块中位于所述第1擦除页面之后;以及
将存储在最后写入页面中的数据复制到第2空页面中,其中所述最后写入页面位于所述第1擦除页面之前,所述第2空页面位于所述第1空页面之后。
3.根据权利要求1所述的方法,其中通过二进制搜索来执行所述参考页面的识别。
4.根据权利要求1所述的方法,其中所述参考页面信息包括所述第1擦除页面的地址信息。
5.根据权利要求1所述的方法,其中所述参考页面是所述第二存储块的最后写入页面。
6.根据权利要求5所述的方法,其中所述重建操作的执行包括:
将虚拟数据编程到第1空页面中,其中所述第1空页面在所述第二存储块中位于所述最后写入页面之后;以及
将存储在所述最后写入页面中的数据复制到第2空页面中,其中所述第2空页面位于所述第1空页面之后。
7.根据权利要求5所述的方法,其中通过二进制搜索来执行所述参考页面的识别。
8.根据权利要求5所述的方法,其中所述参考页面信息包括所述最后写入页面的地址信息。
9.一种存储器系统,其包括:
存储器装置,其包括用于存储参考页面信息的第一存储块和用于存储数据的第二存储块;以及
控制器,其适于对存储在所述存储器装置中的数据执行重建操作,
其中所述控制器:
当发生突然断电之后恢复电源时,搜索存储在所述第一存储块中的所述参考页面信息;
当作为搜索结果,所述参考页面信息被确定为没有被存储在所述第一存储块中时,识别所述第二存储块中的参考页面,并且将所识别的参考页面的参考页面信息存储到所述第一存储块中;以及
基于存储在所述第一存储块中的所述参考页面信息,对存储在所述第二存储块中的数据执行重建操作;并且
其中所述参考页面是所述第二存储块的第1擦除页面。
10.根据权利要求9所述的存储器系统,其中所述控制器通过以下来执行所述重建操作:
将虚拟数据编程到第1空页面中,其中所述第1空页面在所述第二存储块中位于所述第1擦除页面之后;以及
将存储最后写入页面中的数据复制到第2空页面中,其中所述最后写入页面位于所述第1擦除页面之前,所述第2空页面位于所述第1空页面之后。
11.根据权利要求9所述的存储器系统,所述控制器通过二进制搜索来识别所述第二存储块的所述参考页面。
12.根据权利要求9所述的存储器系统,其中所述参考页面信息包括所述第1擦除页面的地址信息。
13.根据权利要求9所述的存储器系统,其中所述参考页面是所述第二存储块的最后写入页面。
14.根据权利要求13所述的存储器系统,其中所述控制器通过以下来执行所述重建操作:
将虚拟数据编程到第1空页面中,其中所述第1空页面在所述第二存储块中位于所述最后写入页面之后;以及
将存储在所述最后写入页面中的数据复制到第2空页面中,其中所述第2空页面位于所述第1空页面之后。
15.根据权利要求13所述的存储器系统,其中所述控制器通过二进制搜索来识别所述第二存储块的所述参考页面。
16.根据权利要求13所述的存储器系统,其中所述参考页面信息包括所述最后写入页面的地址信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0133566 | 2016-10-14 | ||
KR1020160133566A KR20180041428A (ko) | 2016-10-14 | 2016-10-14 | 컨트롤러, 메모리 시스템 및 그의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107957849A CN107957849A (zh) | 2018-04-24 |
CN107957849B true CN107957849B (zh) | 2021-03-16 |
Family
ID=61904585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710430859.XA Active CN107957849B (zh) | 2016-10-14 | 2017-06-09 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10296245B2 (zh) |
KR (1) | KR20180041428A (zh) |
CN (1) | CN107957849B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10613943B2 (en) * | 2017-07-27 | 2020-04-07 | Western Digital Technologies, Inc. | Method and system for improving open block data reliability |
US10977186B2 (en) * | 2017-11-21 | 2021-04-13 | Micron Technology, Inc. | Last written page searching |
KR102430798B1 (ko) * | 2018-01-11 | 2022-08-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102592796B1 (ko) * | 2018-04-27 | 2023-10-25 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
TWI662411B (zh) | 2018-05-14 | 2019-06-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
KR102583810B1 (ko) * | 2018-05-15 | 2023-10-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20200018060A (ko) * | 2018-08-10 | 2020-02-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102617411B1 (ko) * | 2018-08-31 | 2023-12-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102626054B1 (ko) * | 2018-11-05 | 2024-01-18 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
KR20200058867A (ko) * | 2018-11-20 | 2020-05-28 | 에스케이하이닉스 주식회사 | 메모리 시스템의 복구 동작 중 비휘발성 메모리 블록의 반복 접근을 줄이는 방법 및 장치 |
KR102610395B1 (ko) * | 2019-01-22 | 2023-12-05 | 삼성전자주식회사 | 비휘발성 메모리 장치를 포함하는 메모리 시스템 |
KR20200099825A (ko) * | 2019-02-15 | 2020-08-25 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11126368B2 (en) * | 2019-04-30 | 2021-09-21 | Western Digital Technologies, Inc. | Systems and methods for finding a last good page in NAND open block |
KR102632690B1 (ko) | 2019-06-13 | 2024-02-01 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그 프로그램 방법 |
KR20210157544A (ko) * | 2020-06-22 | 2021-12-29 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 |
KR20220007988A (ko) * | 2020-07-13 | 2022-01-20 | 에스케이하이닉스 주식회사 | 신뢰성 확보를 위한 메모리 시스템 |
KR20220111485A (ko) | 2021-02-02 | 2022-08-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101322135A (zh) * | 2005-12-01 | 2008-12-10 | 索尼爱立信移动通讯股份有限公司 | 用于闪速存储器和电子设备的安全数字证书存储方案 |
CN103699344A (zh) * | 2013-11-05 | 2014-04-02 | 威盛电子股份有限公司 | 非易失性存储器装置及其操作方法 |
CN105740157A (zh) * | 2014-11-03 | 2016-07-06 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013174975A (ja) * | 2012-02-23 | 2013-09-05 | Toshiba Corp | メモリシステムとそのデータ書き込み方法 |
CN103176752A (zh) * | 2012-07-02 | 2013-06-26 | 晶天电子(深圳)有限公司 | 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器 |
KR102050723B1 (ko) | 2012-09-28 | 2019-12-02 | 삼성전자 주식회사 | 컴퓨팅 시스템 및 그 데이터 관리 방법 |
KR20150045747A (ko) | 2013-10-21 | 2015-04-29 | 에스케이하이닉스 주식회사 | 데이터 저장 시스템 및 그것의 동작 방법 |
KR102272228B1 (ko) | 2014-05-13 | 2021-07-06 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법 |
US9978456B2 (en) * | 2014-11-17 | 2018-05-22 | Sandisk Technologies Llc | Techniques for reducing read disturb in partially written blocks of non-volatile memory |
US10180805B2 (en) * | 2015-03-25 | 2019-01-15 | SK Hynix Inc. | Memory system and operating method thereof |
-
2016
- 2016-10-14 KR KR1020160133566A patent/KR20180041428A/ko active Search and Examination
-
2017
- 2017-05-17 US US15/597,805 patent/US10296245B2/en active Active
- 2017-06-09 CN CN201710430859.XA patent/CN107957849B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101322135A (zh) * | 2005-12-01 | 2008-12-10 | 索尼爱立信移动通讯股份有限公司 | 用于闪速存储器和电子设备的安全数字证书存储方案 |
CN103699344A (zh) * | 2013-11-05 | 2014-04-02 | 威盛电子股份有限公司 | 非易失性存储器装置及其操作方法 |
CN105740157A (zh) * | 2014-11-03 | 2016-07-06 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20180041428A (ko) | 2018-04-24 |
US20180107412A1 (en) | 2018-04-19 |
US10296245B2 (en) | 2019-05-21 |
CN107957849A (zh) | 2018-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107957849B (zh) | 存储器系统及其操作方法 | |
US10528469B2 (en) | Memory system for writing data based on types of command and data and operating method of the same | |
US9927994B2 (en) | Memory system and operating method thereof | |
US10157007B2 (en) | Memory system and operating method thereof | |
US10606710B2 (en) | Controller, memory system and operating method thereof | |
US10635333B2 (en) | Memory system | |
US10452431B2 (en) | Data processing system and operating method thereof | |
US20180081552A1 (en) | Memory system and operating method thereof | |
US10387057B2 (en) | Memory system and operating method of memory system | |
US10489078B2 (en) | Controller keeping a sequence of data and operating method thereof | |
US20180101454A1 (en) | Memory system and operation method for the same | |
US10089020B2 (en) | Memory system for multi-block erase and operating method thereof | |
US20190087126A1 (en) | Memory system and operating method of memory system | |
US10466929B2 (en) | Memory system using physical to logical map data and operating method thereof | |
US10445194B2 (en) | Memory system storing checkpoint information and operating method thereof | |
US10049754B1 (en) | Controller and operating method thereof | |
CN110489271B (zh) | 存储器系统及其操作方法 | |
US10761912B2 (en) | Controller including multi processor and operation method thereof | |
US20190140659A1 (en) | Controller and operating method thereof | |
US10331346B2 (en) | Memory system using burst command for handling plural commands and operating method thereof | |
CN110968521B (zh) | 存储器系统及其操作方法 | |
US10853240B2 (en) | Memory system for performing a different program operation based on a size of data and an operating method thereof | |
US20180046370A1 (en) | Memory system and operating method thereof | |
CN108665920B (zh) | 存储器系统及其操作方法 | |
US10534704B2 (en) | Controller, memory system and operating method thereof |
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 |