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

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

Info

Publication number
CN109656749A
CN109656749A CN201810654146.6A CN201810654146A CN109656749A CN 109656749 A CN109656749 A CN 109656749A CN 201810654146 A CN201810654146 A CN 201810654146A CN 109656749 A CN109656749 A CN 109656749A
Authority
CN
China
Prior art keywords
memory
block
memory block
controller
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810654146.6A
Other languages
English (en)
Other versions
CN109656749B (zh
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 CN109656749A publication Critical patent/CN109656749A/zh
Application granted granted Critical
Publication of CN109656749B publication Critical patent/CN109656749B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • 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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开一种存储器系统,其包括:存储器装置,其包括多个存储块,多个存储块中的每一个包括存储数据的多个页面;以及控制器,其适于对存储块执行与从主机接收的多个命令相对应的命令操作,检测对存储块执行的命令操作的执行结果,将存储块之中的、命令操作执行失败的第一存储块检测为坏块,并且将第一存储块中的有效数据复制并存储在存储块中的第二存储块中。

Description

存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2017年10月11日提交的申请号为10-2017-0129830的韩国专利申请的优先权,其整体通过引用并入本文。
技术领域
本发明的各个示例性实施例总体涉及一种存储器系统。特别地,实施例涉及一种能够利用存储器装置来处理数据的存储器系统及操作存储器系统的方法。
背景技术
计算机环境范例正转变成使计算系统可随时随地使用的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。这种装置中的存储器系统可用作主存储器装置或辅助存储器装置。
由于存储器系统没有移动部件,所以它们提供优良的稳定性、耐用性、高的信息存取速度以及低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
本发明的各个实施例涉及一种存储器系统以及该存储器系统的操作方法,该存储器系统可通过最小化存储器系统的复杂性和性能劣化并且最大化存储器装置的利用效率,来快速且稳定地将数据处理到存储器装置。
根据本发明的实施例,一种存储器系统,其包括:存储器装置,其包括多个存储块,多个存储块中的每一个包括存储数据的多个页面;以及控制器,其适于对存储块执行与从主机接收的多个命令相对应的命令操作,检测对存储块执行的命令操作的执行结果,将存储块之中的、命令操作执行失败的第一存储块检测为坏块,并且将第一存储块中的有效数据复制并存储在存储块中的第二存储块中。
控制器可将表示坏块的信息以位图(bitmap)的形式记录在列表中,并将该列表存储在控制器的存储器中。
存储器装置可包括多个平面和多个存储器管芯,多个平面中的每一个包括存储块,多个存储器管芯中的每一个包括平面;并且控制器可将表示存储器管芯中的存储块之中的坏块的信息记录在列表的行中。
控制器可将表示各个存储器管芯的平面中的每一个中的存储块之中的坏块的信息记录在列表的各个行的位区域中。
控制器可将表示第一存储器管芯的第一平面中的存储块之中的坏块的信息记录在列表的第一行的第一位区域中,并且将表示第一存储器管芯的第二平面中的存储块之中的坏块的信息记录在列表的第一行的第二位区域中。
控制器可将表示第二存储器管芯的第一平面中的存储块之中的坏块的信息记录在列表的第二行的第一位区域中,并且将表示第二存储器管芯的第二平面中的存储块之中的坏块的信息记录在列表的第二行的第二位区域中。
控制器可将对应于命令操作的第一队列和对应于第一存储块的第二队列分配至控制器的存储器。
控制器可将有效数据存储在第二队列中,并随后将存储在第二队列中的有效数据存储在第二存储块的页面中。
控制器可将第一存储块作为封闭存储块处理。
有效数据可被存储在第一存储块中的页面之中的、发生命令操作执行成功的有效页面中。
根据本发明的实施例,一种存储器系统的操作方法,其包括:从主机接收用于存储器装置的多个命令,该存储器装置包括多个存储块,多个存储块中的每一个包括存储数据的多个页面;使用控制器对存储块执行对应于命令的命令操作;检测对存储块执行的命令操作的执行结果,并且将存储块之中的、命令操作执行失败的第一存储块检测为坏块;并且将第一存储块中的有效数据复制并存储在存储块中的第二存储块中。
方法可进一步包括:将表示坏块的信息以位图的形式记录在列表中;并将该列表存储在包括在控制器中的存储器中。
存储器装置可包括多个平面和多个管芯,多个平面中的每一个包括存储块,多个管芯中的每一个包括平面,并且可执行记录表示坏块的信息,以将表示存储器管芯中的存储块之中的坏块的信息记录在列表的行中。
可执行记录表示坏块的信息,以将表示各个存储器管芯的平面中每一个的存储块之中的坏块的信息记录在列表的各个行的位区域中。
可执行记录表示坏块的信息,以将表示第一存储器管芯的第一平面中的存储块之中的坏块的信息记录在列表的第一行的第一位区域中,并且将表示第一存储器管芯的第二平面中的存储块之中的坏块的信息记录在列表的第一行的第二位区域中。
可执行记录表示坏块的信息,以将表示第二存储器管芯的第一平面中的存储块之中的坏块的信息记录在列表的第二行的第一位区域中,并且将表示第二存储器管芯的第二平面中的存储块之中的坏块的信息记录在列表的第二行的第二位区域中。
操作方法可进一步包括:将对应于命令操作的第一队列和对应于第一存储块的第二队列分配至控制器的存储器。
存储有效数据可包括:将有效数据存储在第二队列中;以及将存储在第二队列中的有效数据存储在第二存储块的页面中。
操作方法可进一步包括:将第一存储块作为封闭存储块处理。
有效数据可被存储在第一存储块中的页面之中的、发生命令操作执行成功的有效页面中。
根据本发明的实施例,一种存储器系统,其包括:存储器装置;以及控制器,其适于:在完成对存储器装置的操作时,检测存储器装置中的坏块;并且控制存储器装置以将坏块的有效数据复制到存储器装置的正常块中。
附图说明
图1是示出根据本发明的实施例的数据处理系统的框图。
图2是示出图1的存储器系统中采用的存储器装置的示例性配置的示意图。
图3是示出图1所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出根据本发明的实施例的数据处理系统的框图。
图5至图8示出了根据本发明的实施例的当在存储器系统中执行对应于多个命令的多个命令操作时的数据处理操作的示例。
图9是描述根据本发明的实施例的在存储器系统中处理数据的操作的流程图。
图10至图18是示意性地示出根据本发明的各个实施例的数据处理系统的应用示例的示图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。提供这些实施例用于说明的目的而非限制的目的。提供所描述的实施例使得本公开完整和全面并将本发明充分地传达给本发明所属领域的技术人员。如本领域技术人员将从以下公开中认识到的,可在不脱离本发明的实质和范围的情况下,以各种不同的方式修改所述实施例。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另一个元件区分开。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实施例的特征,比例可能已经被夸大。
将进一步理解的是,当元件被称为“连接至”或“联接到”另一元件时,它可直接在其它元件上、连接至或联接到其它元件,或者可存在一个或多个中间元件。并且,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制本发明。如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式,反之亦然。短语“实施例”不一定仅指一个实施例,多次使用该短语也不一定表示相同的实施例。将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,并不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,描述了大量具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,没有详细地描述公知的进程结构和/或进程以避免不必要地模糊本发明。
还注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有明确说明,否则结合一个实施例所描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。
将参照附图详细地描述本发明的各个实施例。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可包括被可操作地联接至存储器系统110的主机102。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式电脑、游戏机、TV和投影仪的非便携式电子装置。
主机102可包括至少一个OS(操作系统),并且OS可管理和控制主机102的全部功能和操作,并在主机102与数据处理系统100或存储器系统110的用户之间提供操作。OS可支持对应于用户的目的和用途的功能和操作。例如,OS可根据主机102的移动性被划分为通用OS和移动OS。根据用户的环境,普通OS可被划分为个人OS和企业OS。例如,配置成支持向普通用户提供服务的功能的个人OS可包括Windows和Chrome,配置成保护和支持高性能的企业OS可包括Windows服务器、Linux和Unix。而且,被配置成支持向用户提供移动服务的功能和系统的省电功能的移动OS可包括Android、iOS和Windows Mobile。主机102可包括多个OS,并且执行OS以对存储器系统110执行对应于用户请求的操作。
存储器系统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)和闪速存储器。闪速存储器可具有三维(3D)堆叠结构。
存储器系统110可包括存储器装置150和控制器130。存储器装置150可为主机102存储数据,并且控制器130可控制将数据存储到存储器装置150中。
控制器130和存储器装置150可被集成到单个半导体装置中,单个半导体装置可被包括在如上所例示的各种类型的存储器系统中。例如,控制器130和存储器装置150可被集成为单个半导体装置以构成SSD。当存储器系统110用作SSD时,连接到存储器系统110的主机102的操作速度可得到提高。另外,控制器130和存储器装置150可被集成为单个半导体装置以构成存储卡。例如,控制器130和存储器装置150可构成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)卡,CF卡,智能媒体卡(SMC),记忆棒,包括RS-MMC和微型-MMC的MMC,包括迷你-SD、微型-SD和SDHC的SD卡,或UFS装置。
存储器系统110的非限制性应用示例可包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、射频识别(RFID)装置或构成计算系统的各种部件之一。
存储器装置150可以是非易失性存储器装置,并且即使不供应电力,其也可保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可包括多个存储块152至156,其每一个可包括多个页面,并且每个页面可包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是闪速存储器。闪速存储器可具有三维(3D)堆叠结构。
稍后将参照图2至图4详细描述存储器装置150的结构和存储器装置150的3D堆叠结构,并且稍后将参照图6详细描述存储器装置150,该存储器装置150包括多个存储器管芯,存储器管芯中的每一个包括多个平面,平面中的每一个包括多个存储块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读取的数据中的错误。换言之,ECC138可通过在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的电力。
存储器接口142可用作存储器/存储接口,其用于接口连接控制器130和存储器装置150使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体地是NAND闪速存储器时,存储器接口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)。而且,处理器134可被实现为微处理器或中央处理单元(CPU)。
例如,控制器130可通过被实现为微处理器或CPU的处理器134而在存储器装置150中执行主机102请求的操作。换言之,控制器130可执行与从主机102接收到的命令相对应的命令操作。例如,控制器130可执行作为与从主机102接收到的命令相对应的命令操作的前台操作。例如,控制器130可执行对应于写入命令的编程操作、对应于读取命令的读取操作、对应于擦除命令的擦除操作以及对应于设置参数命令或设置特征命令的参数设置操作。
而且,控制器130可通过被实现为微处理器或CPU的处理器134而对存储器装置150执行后台操作。此处,对存储器装置150执行的后台操作可包括:将存储在存储块152至156之中的一些存储块中的数据复制到其它这种存储块并处理该数据的操作,例如垃圾收集(GC)操作;在存储块152至156之间或存储块152至156的数据之间执行交换的操作,例如损耗均衡(WL)操作;将存储在控制器130中的映射数据存储在存储块152至156中的操作,例如映射清除(flush)操作;或者管理存储器装置150的坏块的操作,例如检测和处理存储块152至156之中的坏块的坏块管理操作。
而且,在根据本发明的实施例的存储器系统中,控制器130可对存储器装置150执行与从主机102接收到的多个命令相对应的多个命令操作,例如对应于多个写入命令的多个编程操作、对应于多个读取命令的多个读取操作以及对应于多个擦除命令的多个擦除操作,并且根据命令操作的执行更新元数据,特别是更新映射数据。
在根据本发明的实施例的存储器系统中,当控制器130在存储块中继续执行与从主机102接收到的命令相对应的命令操作,例如编程操作、读取操作和擦除操作时,这种操作会使存储器装置150的可靠性劣化,进而会使存储器装置150的利用效率降低。因此,可以基于命令操作的执行,考虑存储器装置150的参数来对存储器装置150执行复制操作或交换操作。
例如,在根据本发明的实施例的存储器系统中,当控制器130在存储块中执行与从主机102接收到的多个写入命令相对应的编程操作时,控制器130可对存储器装置150执行例如垃圾收集操作的复制操作,以提高存储器装置150的利用效率。
而且,在根据本发明的实施例的存储器系统中,存储器装置150中的存储块中的每一个可具有有限擦除计数。因此,当控制器130在存储块中执行与从主机102接收到的多个擦除命令相对应的擦除操作时,控制器130可在有限擦除计数的范围内执行这种擦除操作。例如,当控制器130对特定存储块执行的擦除操作超过有限擦除计数时,特定存储块可被处理为可不再被使用的坏块。存储器装置150的存储块的有限擦除计数可表示可对存储块执行的擦除操作的最大次数。因此,在根据本发明的实施例的存储器系统中,可在有限擦除计数的范围内对存储器装置150的存储块均匀地执行擦除操作。而且,为将存储器装置150的存储块的操作可靠性保持作为擦除操作的结果,可考虑存储器装置150的存储块的参数,利用存储器装置150的存储块来处理数据,例如可在存储器装置150中执行例如损耗均衡操作的交换操作。
而且,在根据本发明的实施例的存储器系统中,当控制器130在存储块中执行与从主机102接收到的多个读取命令相对应的读取操作时,特别是当控制器130在一些特定存储块中重复执行读取操作时,可能在特定存储块中发生由于重复读取操作而引起的读取干扰。因此,控制器130可执行读取回收操作以防止特定存储块由于读取干扰而丢失数据。换言之,在根据本发明的实施例的存储器系统中,控制器130可通过读取回收操作将存储在特定存储块中的数据复制并存储到其它存储块中。简而言之,控制器130可对存储器装置150中的特定存储块执行复制操作。
在根据本发明的实施例的存储器系统中,控制器130考虑例如以下的根据命令操作的执行的参数,不仅可对一些存储块执行交换操作和复制操作,而且可对一些存储块执行坏块管理操作:根据编程操作的执行的存储块的有效页面计数(VPC)、根据擦除操作的执行的擦除计数、根据编程操作的执行的编程计数以及根据读取操作的执行的读取计数。而且,在根据本发明的实施例的存储器系统中,控制器130可不仅考虑与在存储块中执行的交换操作和复制操作相对应的参数,而且考虑与在存储块中执行的坏块管理操作相对应的参数,来对存储块执行例如垃圾收集操作的复制操作。稍后将参照图5至图9详细描述在存储器装置150中执行的命令操作的执行,以及考虑与这些操作的执行相对应的参数,而在存储器装置150中执行的交换操作和复制操作的执行。
控制器130的处理器134可包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可执行坏块管理操作,其用于检查在编程操作期间由于例如NAND闪速存储器的存储器装置的特性而发生编程失败的坏块。管理单元可将坏块的编程失败数据写入到新的存储块。在具有3D堆叠结构的存储器装置150中,坏块管理操作可能降低存储器装置150的使用效率和存储器系统110的可靠性。因此,需要更可靠地执行坏块管理操作。
图2是示出存储器装置150的示例性配置的示意图,图3是示出存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图,图4是示出存储器装置150的示例性3D结构的示意图。
参照图2,存储器装置150可包括多个存储块BLK0至BLKN-1,例如存储块0BLK0、存储块1BLK1、存储块2BLK2和存储块N-1BLKN-1,并且存储块BLK0至BLKN-1中的每一个可包括多个页面,例如2M个页面,页面的数量可根据电路设计而变化。图2中的存储块中的每一个包括2M个页面。然而,存储块中的每一个可包括不同数量的页面,例如M个页面。页面中的每一个可包括联接到多个字线WL的多个存储器单元。
而且,存储器装置150可包括多个存储块,存储块可包括存储1位数据的单层单元(SLC)存储块和/或存储2位数据的多层单元(MLC)存储块。SLC存储块可包括由将1位数据存储在一个存储器单元中的存储器单元实现的多个页面。SLC存储块可具有快速的数据操作性能和高耐用性。在另一布置中,MLC存储块可包括由将多位数据,例如2位或更多位数据,存储在一个存储器单元中的存储器单元实现的多个页面。MLC存储块可具有比SLC存储块更大的数据存储空间。换言之,MLC存储块可被高度集成。特别地,存储器装置150不仅可包括MLC存储块,而且还包括三层单元(TLC)存储块、四层单元(QLC)存储块和/或多层单元存储块等,其中MLC存储块中的每一个包括由能够在一个存储器单元中存储两位数据的存储器单元实现的多个页面,三层单元(TLC)存储块中的每一个包括由能够在一个存储器单元中存储三位数据的存储器单元实现的多个页面,四层单元(QLC)存储块中的每一个包括由能够在一个存储器单元中存储四位数据的存储器单元实现的多个页面,多层单元存储块中的每一个包括由能够在一个存储器单元中存储五位或更多位数据的存储器单元实现的多个页面。
为了方便,存储器装置150在各个实施例中被描述为诸如闪速存储器的非易失性存储器,例如NAND闪速存储器。然而,本发明不限于此。相反地,存储器装置150可以诸如以下的其它配置来实现:相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM或ReRAM)、铁电随机存取存储器(FRAM)、自旋转移扭矩磁性随机存取存储器(STT-RAM或STT-MRAM)。
存储块BLK0至BLKN-1可通过编程操作而存储从主机102传输的数据,并且通过读取操作来将存储在其中的数据传输到主机102。
随后,参照图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中的每一个可包括多个锁存器(未示出)。
存储器装置150可通过2D或3D存储器装置来实施。特别地,如图4所示,存储器装置150可通过具有3D堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块BLK0至BLKN-1。图4是示出图1所示的存储器装置150的存储块152至156的框图。存储块152至156中的每一个可以3D结构(或垂直结构)来实现。例如,存储块152至156可以是具有在第一至第三方向,例如x轴方向、y轴方向和z轴方向上延伸的尺寸的三维结构。
存储器装置150中的每个存储块330可包括在第一方向、第二方向和第三方向中的每个方向上延伸的多个NAND串NS。NAND串NS中的每一个可联接到位线BL、至少一个源极选择线SSL、至少一个漏极选择线DSL、多个字线WL、至少一个虚拟字线DWL以及共源线CSL。NAND串NS中的每一个可包括多个晶体管结构TS。
简而言之,存储器装置150的存储块152至156之中的每个存储块330可联接到多个位线BL、多个源极选择线SSL、多个漏极选择线DSL、多个字线WL、多个虚拟字线DWL以及多个共源线CSL,并且每个存储块330可包括多个NAND串NS。而且,在每个存储块330中,一个位线BL可联接到多个NAND串NS,以在一个NAND串NS中实现多个晶体管。而且,每个NAND串NS的串选择晶体管SST可联接到相应位线BL,并且每个NAND串NS的接地选择晶体管GST可联接到共源线CSL。存储器单元MC可被设置在每个NAND串NS的串选择晶体管SST和接地选择晶体管GST之间。换言之,多个存储器单元可被实现在存储器装置150的存储块152至156的每个存储块330中。参照图5至图9详细描述根据本发明的实施例的示例性数据处理操作。
图5至图8示出了在存储器系统中执行对应于多个命令的多个命令操作的数据处理操作的示例。为了方便,在从主机102接收多个命令并在图1的存储器系统110中执行与接收到的命令相对应的命令操作的上下文中描述这种处理。例如,可从主机102接收多个写入命令并可执行对应于写入命令的编程操作,或者可从主机102接收多个读取命令并可执行对应于读取命令的读取操作,或者可从主机102接收多个擦除命令并可执行对应于擦除命令的擦除操作,或者可从主机102一起接收多个写入命令和多个读取命令并可执行与写入命令和读取命令相对应的编程操作和读取操作。
在另一示例中,与从主机102接收到的多个写入命令相对应的写入数据被存储在控制器130的存储器144中的缓冲器/高速缓存中,然后存储在缓冲器/高速缓存中的数据被编程并存储在存储器装置150中的多个存储块中(简而言之,执行编程操作),并且对应于编程操作的映射数据也被更新到存储器装置150中,然后更新的映射数据被存储在存储块中。简而言之,在该示例中执行与从主机102接收到的多个写入命令相对应的编程操作。
在另一示例中,针对存储在存储器装置150中的数据,从主机102接收多个读取命令,通过检测对应于读取命令的数据的映射数据来从存储器装置150读取对应于读取命令的数据,并且读取的数据被存储在包括在控制器130的存储器144中的缓冲器/高速缓存中,并且存储在缓冲器/高速缓存中的数据被传输到主机102。简而言之,在该示例中执行与从主机102接收到的读取命令相对应的读取操作。
在另一示例中,针对包括在存储器装置150中的存储块,从主机102接收多个擦除命令,检测对应于擦除命令的存储块并且擦除存储在检测到的存储块中的数据,并且更新与擦除的数据相对应的映射数据,并且更新的映射数据被存储在存储块中。简而言之,在该示例中执行与从主机102接收到的擦除命令相对应的擦除操作。
为了方便,在存储器系统110中执行的命令操作被描述为由控制器130执行。然而,这仅仅是一个示例,并且如上所述,控制器130中的处理器134(例如FTL)可执行命令操作。
而且,在本发明的该实施例中,控制器130可将与从主机102接收的写入命令相对应的用户数据和元数据编程并存储在一些存储块中,从存储块读取与从主机102接收的读取命令相对应的用户数据和元数据,并将读取的用户数据和元数据传输至主机102,或从存储块擦除与从主机102接收的擦除命令相对应的用户数据和元数据。
元数据可包括第一映射数据和第二映射数据,第一映射数据包括用于通过编程操作而存储在存储块中的数据的逻辑到物理(L2P)信息(在下文中,称为“逻辑信息”),第二映射数据包括物理到逻辑(P2L)信息(在下文中,称为“物理信息”)。而且,元数据可包括:关于与从主机102接收的命令相对应的命令数据的信息;关于与命令相对应的命令操作的信息;关于待被执行命令操作的存储器装置150的存储块的信息;以及关于与命令操作相对应的映射数据的信息。换言之,元数据可包括与从主机102接收的命令相对应的、除用户数据以外的所有其它信息和数据。
根据本发明的实施例,控制器130可执行与从主机102接收的多个命令相对应的命令操作。例如,当控制器130从主机102接收写入命令时,控制器130可执行对应于写入命令的编程操作。控制器130可将对应于写入命令的用户数据编程并存储在存储器装置150的存储块,诸如执行了擦除操作的空存储块、开放存储块或空闲存储块中。而且,控制器130可将存储在存储块中的用户数据的逻辑地址和物理地址之间的映射信息(其为包括包含逻辑信息的L2P映射表或L2P映射列表的第一映射数据)和存储用户数据的存储块的物理地址和逻辑地址之间的映射信息(其为包括包含物理信息的P2L映射表或P2L映射列表的第二映射数据)编程和存储在包括在存储器装置150中的存储块之中的空存储块、开放存储块或空闲存储块中。
当控制器130从主机102接收写入命令时,控制器130可将对应于写入命令的用户数据编程并存储在存储块中并且将元数据存储在存储块中,其中元数据包括存储的用户数据的第一映射数据和第二映射数据。特别地,因为用户数据的数据段被存储在存储块中,所以控制器130可生成并更新元数据的元段,其为包括第一映射数据的L2P段和第二映射数据的P2L段的映射数据的映射段,并将映射段存储在存储器装置150的存储块中。此处,存储在存储块中的映射段可被加载到控制器130的存储器144中以被更新。
而且,当控制器130从主机102接收多个读取命令时,控制器130可从存储器装置150读出对应于读取命令的读取数据,将读取数据存储在包括在控制器130的存储器144中的缓冲器/高速缓存中,将存储在缓冲器/高速缓存中的数据传输到主机102。以这种方式,可执行对应于读取命令的读取操作。
而且,当控制器130从主机102接收多个擦除命令时,控制器130可检测存储器装置150的对应于擦除命令的存储块,并对检测到的存储块执行擦除操作。参照图5至图8详细描述根据本发明的实施例的在存储器系统中执行的数据处理操作。
参照图5,控制器130可执行与从主机102接收的多个命令相对应的命令操作。例如,控制器130可执行与从主机102接收的多个写入命令相对应的编程操作。当对存储块执行编程操作时,控制器130可将对应于写入命令的用户数据编程并存储在存储器装置150的存储块中并且生成并更新用户数据的元数据,然后将生成和更新的元数据存储在存储器装置150的存储块中。
控制器130可生成并更新第一映射数据和第二映射数据,第一映射数据和第二映射数据包括表示用户数据存储在存储器装置150的存储块中的页面中的信息。换言之,控制器130可生成并更新第一映射数据的包括L2P段的逻辑段和第二映射数据的包括P2L段的物理段,并且将生成并更新的逻辑段存储在存储器装置150的存储块中的页面中。
例如,控制器130可将与从主机102接收的写入命令相对应的用户数据高速缓存和缓冲在控制器130的存储器144中的第一缓冲器510中。换言之,控制器130可将用户数据的数据段512存储在作为数据缓冲器/高速缓存的第一缓冲器510中,并且将存储在第一缓冲器510中的数据段512存储在存储器装置150的存储块中的页面中。因为与从主机102接收的写入命令相对应的用户数据的数据段512被编程并存储在存储器装置150的存储块中的页面中,所以控制器130可生成并更新第一映射数据和第二映射数据并将它们存储在包括在控制器130的存储器144中的第二缓冲器520中。简而言之,控制器130可将用户数据的第一映射数据的L2P段522和第二映射数据的P2L段524存储在作为映射缓冲器/高速缓存的第二缓冲器520中。如上所述,第一映射数据的L2P段522和第二映射数据的P2L段524或者用于第一映射数据的L2P段522的映射列表和用于第二映射数据的P2L段524的映射列表可被存储在控制器130的存储器144中的第二缓冲器520中。而且,控制器130可将存储在第二缓冲器520中的第一映射数据的L2P段522和第二映射数据的P2L段524存储在存储器装置150的存储块中的页面中。
而且,控制器130可执行与从主机102接收的多个命令相对应的命令操作。例如,控制器130可执行与从主机102接收的多个读取命令相对应的读取操作。控制器130可将对应于读取命令的用户数据的映射数据的映射段,例如第一映射数据的L2P段522和第二映射数据的P2L段524,加载到第二缓冲器520上并进行检查,然后读取存储在相应存储块的页面中的用户数据,将读取的用户数据的数据段512存储在第一缓冲器510中并将它们传输到主机102。
另外,控制器130可执行与从主机102接收的多个命令相对应的命令操作。换言之,控制器130可执行与从主机102接收的多个擦除命令相对应的擦除操作。控制器130可检测存储器装置150的存储块之中的、对应于擦除命令的存储块,并且对检测到的存储块执行擦除操作。
当执行后台操作时,后台操作例如为从存储器装置150中的存储块复制数据或交换数据的操作,诸如垃圾收集操作或损耗均衡操作,控制器130可将相应用户数据的数据段512存储在第一缓冲器510中,将对应于用户数据的映射数据的映射段522和524加载到第二缓冲器520上,并且执行垃圾收集操作或损耗均衡操作。
如上所述,当对存储器装置150的存储块执行命令操作时,控制器130可检测命令操作的执行结果。换言之,控制器130可在存储块之中检测发生命令操作失败的存储块。控制器130可将发生命令操作失败的存储块中的每一个检测为坏块,并且对发生命令操作失败的存储块中的每一个执行坏块管理操作。控制器130可在存储器装置150的存储块之中,检测发生编程操作的编程失败或发生读取操作的读取失败的存储块,并且对发生编程失败或读取失败的存储块中的每一个执行坏块管理操作。
参照图6,存储器装置150可包括多个存储器管芯,例如存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3。存储器管芯中的每一个可包括多个平面,例如平面0、平面1、平面2和平面3。存储器装置150中的存储器管芯的平面中的每一个可包括多个存储块。例如,如前面参照图2所述,平面中的每一个可包括含有多个页面,例如2M个页面,的N个块BLK0、BLK1……BLKN-1。存储器装置150可包括分别对应于存储器管芯的多个缓冲器。例如,存储器装置150可包括对应于存储器管芯0的缓冲器0、对应于存储器管芯1的缓冲器1、对应于存储器管芯2的缓冲器2和对应于存储器管芯3的缓冲器3。
当执行与从主机102接收的多个命令相对应的命令操作时,对应于命令操作的数据可被存储在存储器装置150中的缓冲器中。例如,当执行编程操作时,对应于编程操作的数据可被存储在缓冲器中,然后被存储在存储器管芯的存储块中的页面中。当执行读取操作时,对应于读取操作的数据可从存储器管芯的存储块中的页面中读取,被存储在缓冲器中,并通过控制器130被传输到主机102。
在图6所示的实施例中,存储器装置150中的缓冲器位于相应存储器管芯的外部。然而,存储器装置150中的缓冲器可位于相应存储器管芯的内部。而且,缓冲器可对应于存储器管芯中的平面或存储块。而且,为了方便,存储器装置150中的缓冲器被描述为参照图3的多个页面缓冲器。然而,缓冲器可以是包括在存储器装置150中的多个高速缓存或多个寄存器。
而且,包括在存储器装置150中的存储块可被分组成多个超级存储块,然后可对超级存储块执行命令操作。超级存储块中的每一个可包括多个存储块,例如包括在第一存储块组和第二存储块组中的存储块。当第一存储块组被包括在第一存储器管芯的第一平面中时,第二存储块组可被包括在第一存储器管芯的第一平面、第一存储器管芯的第二平面或第二存储器管芯的平面中。如前所述,当对存储器装置150中的存储块执行与从主机102接收的命令相对应的命令操作时,可检测命令操作的执行结果,然后可基于命令操作的执行结果对存储块执行坏块管理操作。参照图7和图8提供操作的详细描述。
参照图7,当控制器130从主机102接收多个命令,例如多个写入命令、多个读取命令和多个擦除命令时,控制器130可对存储器装置150中的多个存储块执行与从主机102接收的命令相对应的命令操作,例如编程操作、读取操作和擦除操作。控制器130可检测对存储块执行的命令操作的执行结果,并且基于命令操作的执行结果来在存储块之中检测坏块。特别地,控制器130可将发生失败的存储块检测为坏块。另外,控制器130可对被检测为坏块的存储块中的每一个执行坏块管理操作。
更具体地,控制器130可对存储块执行与从主机102接收的写入命令相对应的编程操作。控制器130可检测对存储块执行的编程操作的执行结果,并且在存储块之中检测发生失败的存储块。控制器130可将发生失败的存储块中的每一个检测为坏块,并且将表示坏块的信息记录在列表700中,其中列表700可以是位图的形式。换言之,控制器130可将表示发生失败的存储块作为坏块的信息记录在列表700中,并将记录表示坏块的信息的列表700存储在控制器130的存储器144中。控制器130可将存储在存储器144中的列表700包括在元数据中,并且将包括在元数据中的列表700存储在存储器装置150中。
控制器130可对存储器装置150中的存储块执行与从主机102接收的读取命令相对应的读取操作。控制器130可检测对存储块执行的读取操作的执行结果,并且在存储块之中检测发生失败的存储块。发生失败的存储块可以是发生错误码校正失败或错误码校正解码失败的存储块。控制器130可将发生失败的存储块中的每一个检测为坏块,并且将表示坏块的信息记录在列表700中。换言之,控制器130可将表示发生失败的存储块作为坏块的信息记录在列表700中,并将记录表示坏块的信息的列表700存储在控制器130的存储器144中。控制器130可将存储在存储器144中的列表700包括在元数据中,并且将包括在元数据中的列表700存储在存储器装置150中。
控制器130可将表示存储器装置150中的存储器管芯中的每一个中的存储块之中的坏块的信息记录在列表700的各个行的位区域中。列表700中的每一行可对应于存储器装置150中的每个存储器管芯,并且包括在列表700中的每一行中的位区域可对应于存储器管芯中的每一个中的每个平面。例如,控制器130可将表示存储器管芯0中的存储块之中的坏块的信息记录在列表700的第一行710中,将表示包括在存储器管芯1中的存储块之中的坏块的信息记录在列表700的第二行720中,将表示包括在存储器管芯2中的存储块之中的坏块的信息记录在列表700的第三行730中,并且将表示包括在存储器管芯3中的存储块之中的坏块的信息记录在列表700的第四行740中。
另外,控制器130可将表示包括在平面中的每一个中的存储块之中的坏块的信息记录在列表700的各个行710、720、730和740的位区域中。控制器130可将表示存储器装置150的存储器管芯0中的平面0中的存储块之中的坏块的信息记录在列表700的第一行710的第一位区域702中、将表示存储器装置150的存储器管芯0中的平面1中的存储块之中的坏块的信息记录在列表700的第一行710的第二位区域704中、将表示存储器装置150的存储器管芯0中的平面2中的存储块之中的坏块的信息记录在列表700的第一行710的第三位区域706中、并且将表示存储器装置150的存储器管芯0中的平面3中的存储块之中的坏块的信息记录在列表700的第一行710的第四位区域708中。
控制器130可将表示包括在存储器装置150的存储器管芯1中的平面0中的存储块之中的坏块的信息记录在列表700的第二行720的第一位区域712中、将表示存储器装置150的存储器管芯1中的平面1中的存储块之中的坏块的信息记录在列表700的第二行720的第二位区域714中、将表示包括在存储器装置150的存储器管芯1中的平面2中的存储块之中的坏块的信息记录在列表700的第二行720的第三位区域716中、并且将表示存储器装置150的存储器管芯1中的平面3中的存储块之中的坏块的信息记录在列表700的第二行720的第四位区域718中。
控制器130可将表示包括在存储器装置150的存储器管芯2中的平面0中的存储块之中的坏块的信息记录在列表700的第三行730的第一位区域722中、将表示存储器装置150的存储器管芯2中的平面1中的存储块之中的坏块的信息记录在列表700的第三行730的第二位区域724中、将表示存储器装置150的存储器管芯2中的平面2中的存储块之中的坏块的信息记录在列表700的第三行730的第三位区域726中、并且将表示存储器装置150的存储器管芯2中的平面3中的存储块之中的坏块的信息记录在列表700的第三行730的第四位区域728中。
控制器130可将表示包括在存储器装置150的存储器管芯3中的平面0中的存储块之中的坏块的信息记录在列表700的第四行740的第一位区域732中、将表示包括在存储器装置150的存储器管芯3中的平面1中的存储块之中的坏块的信息记录在列表700的第四行740的第二位区域734中、将表示存储器装置150的存储器管芯3中的平面2中的存储块之中的坏块的信息记录在列表700的第四行740的第三位区域736中、并且将表示存储器装置150的存储器管芯3中的平面3中的存储块之中的坏块的信息记录在列表700的第四行740的第四位区域738中。
如上所述,当从存储器装置150中的存储块中另外检测到坏块时,控制器130可将表示存储器装置150的存储块之中的坏块的信息记录在列表700中,然后基于执行命令操作来更新列表700。换言之,控制器130可将表示从存储器装置150中的存储块中另外检测到的坏块的信息记录在列表700的相应行的位区域中,从而更新列表700。当更新列表700时,控制器130可在列表700的各个行的位区域中,通过数学运算,例如OR运算来更新列表700。
控制器130可处理存储块中的每一个。在这种情况下,表示坏块的信息被记录在列表700中,并且每个这样的块都被认为是封闭存储块。换言之,控制器130可将存储器装置150的存储块之中的、发生编程失败或读取失败的存储块中的每一个作为封闭存储块处理,并因此不会在封闭存储块中执行任何另外的编程操作。即使在封闭存储块中存在未存储数据的空页面、开放页面或空闲页面,控制器130也不在封闭存储块中执行编程操作。
控制器130可通过参考记录在列表700中的信息来选择坏块作为源存储块或牺牲存储块,并且将存储在源存储块中的有效数据复制并存储在目标存储块中。源存储块可以是发生编程失败或读取失败的存储块,以及目标存储块可以是正常执行了擦除操作的空存储块、开放存储块或空闲存储块。存储在发生编程失败或读取失败的存储块中的有效数据可以是正常存储在发生编程失败或读取失败的存储块的页面中的数据。例如,编程成功的第一页面,编程失败的第二页面和开放页面可包括在发生编程失败的存储块中所包括的页面中。存储在编程成功的第一页面中的数据可以是发生编程失败的存储块中的有效数据。读取成功的第三页面和读取失败的第四页面可被包括在发生读取失败的存储块中所包括的页面中。开放页面也可被包括在发生读取失败的存储块中的页面中。存储在读取成功的第三页面中的数据可以是发生读取失败的存储块中的有效数据。编程成功的第一页面和读取成功的第三页面可以是发生编程失败或读取失败的存储块中的有效页面。
控制器130可在控制器130的存储器144中分配排队模块,以将存储在发生编程失败或读取失败的存储块中的有效数据复制并存储到目标存储块。换言之,控制器130可将发生编程失败或读取失败的存储块中的有效数据存储在排队模块中,随后将排队模块中的有效数据存储在目标存储块的页面中。控制器130可将发生编程失败或读取失败的存储块作为坏块处理,并对其进行坏块管理操作。下面参照图8详细描述的是,控制器130基于记录在列表700中的、表示存储器装置150的存储块之中的坏块的信息来执行坏块管理操作。
参照图8,控制器130可通过调度模块在控制器130的存储器144中调度队列,以基于记录在列表700中的坏块信息对存储器装置150的存储块之中的、发生编程失败或读取失败的存储块执行坏块管理操作。因此,控制器130可将排队模块分配至控制器130的存储器144。
调度模块可通过控制器130的处理器134,特别是FTL,来调度队列。而且,当控制器130对存储器装置150的存储块执行编程操作、读取操作、复制操作、交换操作和坏块管理操作时,排队模块可变成存储对应于每个操作的数据的存储器144的区域。例如,排队模块可以是包括在控制器130的存储器144中的缓冲器或高速缓存。而且,虽然在本发明的该实施例中描述了控制器130的存储器144分配有四个排队模块,但可根据对存储器装置150的存储块执行的命令操作和后台操作来分配多个排队模块。
当控制器130对存储器装置150的存储块执行编程操作时,对应于编程操作的数据可被存储在排队模块1中。当控制器130对存储器装置150的存储块执行读取操作时,对应于读取操作的数据可被存储在排队模块2中。当控制器130对存储器装置150的存储块执行复制操作或交换操作时,对应于复制操作或交换操作的数据可被存储在排队模块3中。
当控制器130对存储器装置150的存储块之中的、发生编程失败或读取失败的存储块执行坏块管理操作时,存储在发生编程失败或读取失败的存储块中的有效数据可被存储在排队模块4中。存储在排队模块4中的有效数据可被存储在空存储块、开放存储块或空闲存储块中。发生编程失败或读取失败的存储块可作为坏块处理。
在根据本发明的实施例的存储器系统中,当控制器130执行与从主机102接收的命令相对应的命令操作时,发生命令操作执行失败的存储块可被检测为坏块,表示坏块的信息可被记录在位图形式的列表700中,发生命令操作执行失败的存储块的有效数据可被复制并存储在存储器装置150的正常空存储块、开放存储块或空闲存储块中,并且发生命令操作执行失败的存储块可作为坏块处理。下面参照图9详细描述根据本发明的实施例的在存储器系统中处理数据的操作。
图9是描述根据本发明的实施例的在存储器系统中处理数据的操作的流程图。
参照图9,在步骤S910中,存储器系统110可从主机102接收多个命令,并且对存储器装置150的存储块执行与从主机102接收的命令相对应的命令操作。
在步骤S920中,存储器系统110可检测对存储器装置150的存储块执行的命令操作的执行结果。
在步骤S930中,存储器系统110可将发生命令操作执行失败的存储块检测为坏块,并将表示坏块的信息记录在位图形式的列表700中。
随后,在步骤S940中,存储器系统110可基于记录在列表700中的、表示坏块的信息而对发生命令操作执行失败的存储块执行坏块管理操作。存储器系统110可将存储在发生命令操作执行失败的存储块中的有效数据复制并存储在存储器装置150的正常空存储块、开放存储块或空闲存储块中,并且将发生命令操作执行失败的存储块作为坏块处理。
因为在上面参照图5至8详细描述了以下操作:执行与从主机102接收的命令相对应的命令操作、检测对存储器装置150的存储块执行的命令操作的执行结果、将发生命令操作执行失败的存储块检测为坏块、将表示坏块的信息记录在列表700中、并且在将存储在发生命令操作执行失败的存储块中的有效数据复制并存储之后将该存储块作为坏块处理,因此下面将省略对其的进一步描述。以下参照图10至图18详细描述根据本发明的实施例的应用包括上面参照图1至图9描述的存储器装置150和控制器130的存储器系统110的数据处理系统和电子装置。
图10是示意性地示出包括根据本实施例的存储器系统的数据处理系统的实施例的示图。具体地,图10示意性地示出应用了根据本实施例的存储器系统的存储卡系统。
参照图10,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可被连接至通过非易失性存储器实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口并驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括RAM、处理单元、主机接口、存储器接口和错误校正单元。
存储器控制器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-MRAM)。
存储器控制器6120和存储器装置6130可被集成至单个半导体装置中。例如,存储器控制器6120和存储器装置6130可通过集成至单个半导体装置中构成固态驱动器(SSD)。而且,存储器控制器6120以及存储器装置6130可构成诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会)、标准闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)以及通用闪存(UFS)。
图11是示意性地示出包括根据本实施例的存储器系统的数据处理系统的另一示例的示图。
参照图11,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图11所示的数据处理系统6200可作为如参照图1所描述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1所示的存储器系统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被配置成通过各种通信协议中的一种或多种与外部装置通信,因此根据本实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置或特别是移动电子装置。
图12是示意性地示出包括根据本实施例的存储器系统的数据处理系统的另一示例的示图。具体地,图12示意性地示出应用了根据本实施例的存储器系统的SSD。
参照图12,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1的存储器系统110中的控制器130,并且存储器装置6340可对应于图1的存储器系统中的存储器装置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的非易失性存储器来实施。为便于描述,图8示出了缓冲存储器6325存在于控制器6320中。然而,缓冲存储器6325可存在于控制器6320的外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与诸如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
并且,可提供应用了图1的存储器系统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级别信息,在SSD6300中选择一个或多个存储器系统或SSD 6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图13是示意性地示出包括根据本实施例的存储器系统的数据处理系统的另一示例的示图。具体地,图13示意性地示出应用了根据本实施例的存储器系统的嵌入式多媒体卡(eMMC)。
参照图13,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1的存储器系统110中的控制器130,并且存储器装置6440可对应于图1的存储器系统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)接口。
图14至图17是示意性地示出包括根据本实施例的存储器系统的数据处理系统的其它示例的示图。具体地,图13至图16示意性地示出应用了根据本实施例的存储器系统的通用闪速存储(UFS)系统。
参照图14至图17,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中所示的存储器系统110来实施。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可以参照图11至图13描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以参照图10描述的存储卡系统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彼此通信。
在图14所示的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。
在图15所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro,并且主机6610可通过执行交换操作的交换模块6640,例如,通过在UniPro处执行链路层交换例如L3交换的交换模块6640,与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过UniPro处的交换模块6640的链路层交换来彼此通信。在本实施例中,以示例的方式描述了其中一个UFS装置6620和一个UFS卡6630连接至交换模块6640的配置。然而,多个UFS装置和UFS卡可并联或以星型形式连接至交换模块6640,并且多个UFS卡可串联或以链型形式连接至UFS装置6620。
在图16所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro,并且主机6710可通过执行交换操作的交换模块6740,例如通过在UniPro处执行链路层交换例如L3交换的交换模块6740,与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。
在图17所示的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。
图18是示意性示出包括根据本发明的实施例的存储器系统的数据处理系统的另一示例的示图,并且更特别地,示出应用了根据本实施例的存储器系统的用户系统的示图。
参照图18,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在用户系统6900中的部件,例如OS,并且包括控制包括在用户系统6900中的部件的控制器、接口和图形引擎。应用处理器6930可被设置成片上系统(SoC)。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDARM、LPDDR3SDRAM或LPDDR3SDRAM的易失性RAM,或诸如PRAM、ReRAM、MRAM或FRAM的非易失性RAM。例如,应用处理器6930和存储器模块6920可基于POP(堆叠封装)而被封装并安装。
网络模块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描述的存储器系统110。此外,存储模块6950可被实施为如上参照图12至图17所述的SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机的用户输出接口。
此外,当图1的存储器系统110被应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据,或支持从触摸面板接收数据的功能。
根据本发明的实施例,存储器系统及其操作方法能够通过最小化存储器系统的复杂性和性能劣化并最大化存储器装置的利用效率,来快速且稳定地将数据处理到存储器装置。
虽然已经针对各个实施例描述了本发明,但是对于本领域技术人员,从前面的描述中显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可进行各种改变和修改。

Claims (20)

1.一种存储器系统,其包括:
存储器装置,其包括多个存储块,所述多个存储块中的每一个包括存储数据的多个页面;以及
控制器,其适于对所述存储块执行与从主机接收的多个命令相对应的命令操作,检测对所述存储块执行的所述命令操作的执行结果,将所述存储块之中的、所述命令操作执行失败的第一存储块检测为坏块,并且将所述第一存储块中的有效数据复制并存储在所述存储块中的第二存储块中。
2.根据权利要求1所述的存储器系统,其中所述控制器将表示所述坏块的信息以位图的形式记录在列表中,并将所述列表存储在所述控制器的存储器中。
3.根据权利要求2所述的存储器系统,其中所述存储器装置包括多个平面和多个存储器管芯,所述多个平面中的每一个包括所述存储块,所述多个存储器管芯中的每一个包括所述平面;以及
所述控制器将表示所述存储器管芯中的存储块之中的坏块的信息记录在所述列表的行中。
4.根据权利要求3所述的存储器系统,其中所述控制器将表示各个存储器管芯的平面中的每一个中的存储块之中的坏块的信息记录在所述列表的各个行的位区域中。
5.根据权利要求4所述的存储器系统,其中所述控制器将表示第一存储器管芯的第一平面中的存储块之中的坏块的信息记录在所述列表的第一行的第一位区域中,并且将表示所述第一存储器管芯的第二平面中的存储块之中的坏块的信息记录在所述列表的第一行的第二位区域中。
6.根据权利要求5所述的存储器系统,其中所述控制器将表示第二存储器管芯的第一平面中的存储块之中的坏块的信息记录在所述列表的第二行的第一位区域中,并且将表示所述第二存储器管芯的第二平面中的存储块之中的坏块的信息记录在所述列表的第二行的第二位区域中。
7.根据权利要求1所述的存储器系统,其中所述控制器将对应于所述命令操作的第一队列和对应于所述第一存储块的第二队列分配至所述控制器的存储器。
8.根据权利要求7所述的存储器系统,其中所述控制器将所述有效数据存储在所述第二队列中,并随后将存储在所述第二队列中的有效数据存储在所述第二存储块的页面中。
9.根据权利要求1所述的存储器系统,其中所述控制器将所述第一存储块作为封闭存储块处理。
10.根据权利要求1所述的存储器系统,其中所述有效数据被存储在所述第一存储块中的页面之中的、发生所述命令操作执行成功的有效页面中。
11.一种存储器系统的操作方法,其包括:
从主机接收用于存储器装置的多个命令,所述存储器装置包括多个存储块,所述多个存储块中的每一个包括存储数据的多个页面;
使用控制器对所述存储块执行对应于所述命令的命令操作;
检测对所述存储块执行的所述命令操作的执行结果,并且将所述存储块之中的、所述命令操作执行失败的第一存储块检测为坏块;并且
将所述第一存储块中的有效数据复制并存储在所述存储块中的第二存储块中。
12.根据权利要求11所述的方法,其进一步包括:
将表示所述坏块的信息以位图的形式记录在列表中;并且
将所述列表存储在所述控制器的存储器中。
13.根据权利要求12所述的方法,其中所述存储器装置包括多个平面和多个管芯,所述多个平面中的每一个包括所述存储块,所述多个管芯中的每一个包括所述平面;并且
执行记录表示所述坏块的信息,以将表示存储器管芯中的存储块之中的坏块的信息记录在所述列表的行中。
14.根据权利要求13所述的方法,其中执行记录表示所述坏块的信息,以将表示各个存储器管芯的平面中的每一个中的存储块之中的坏块的信息记录在所述列表的各个行的位区域中。
15.根据权利要求14所述的方法,其中执行记录表示所述坏块的信息,以将表示第一存储器管芯的第一平面中的存储块之中的坏块的信息记录在所述列表的第一行的第一位区域中,并且将表示所述第一存储器管芯的第二平面中的存储块之中的坏块的信息记录在所述列表的第一行的第二位区域中。
16.根据权利要求15所述的方法,其中执行记录表示所述坏块的信息,以将表示第二存储器管芯的第一平面中的存储块之中的坏块的信息记录在所述列表的第二行的第一位区域中,并且将表示所述第二存储器管芯的第二平面中的存储块之中的坏块的信息记录在所述列表的第二行的第二位区域中。
17.根据权利要求11所述的方法,其进一步包括:
将对应于所述命令操作的第一队列和对应于所述第一存储块的第二队列分配至所述控制器的存储器。
18.根据权利要求17所述的方法,其中存储所述有效数据包括:
将所述有效数据存储在所述第二队列中;以及
将存储在所述第二队列中的有效数据存储在所述第二存储块的页面中。
19.根据权利要求11所述的方法,其进一步包括:
将所述第一存储块作为封闭存储块处理。
20.根据权利要求11所述的方法,其中所述有效数据被存储在所述第一存储块中的页面之中的、发生所述命令操作执行成功的有效页面中。
CN201810654146.6A 2017-10-11 2018-06-22 存储器系统及其操作方法 Active CN109656749B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170129830A KR20190040607A (ko) 2017-10-11 2017-10-11 메모리 시스템 및 메모리 시스템의 동작 방법
KR10-2017-0129830 2017-10-11

Publications (2)

Publication Number Publication Date
CN109656749A true CN109656749A (zh) 2019-04-19
CN109656749B CN109656749B (zh) 2023-08-04

Family

ID=65993440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810654146.6A Active CN109656749B (zh) 2017-10-11 2018-06-22 存储器系统及其操作方法

Country Status (3)

Country Link
US (2) US10665315B2 (zh)
KR (1) KR20190040607A (zh)
CN (1) CN109656749B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190040607A (ko) * 2017-10-11 2019-04-19 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102447602B1 (ko) * 2017-10-25 2022-09-26 삼성전자주식회사 메모리 장치 및 그 동적 가비지 컬렉션 방법
KR20220032826A (ko) * 2020-09-08 2022-03-15 에스케이하이닉스 주식회사 메모리 시스템 내 맵 정보를 제어 및 저장하는 장치 및 방법
CN113485641B (zh) * 2021-06-29 2024-04-16 成都忆芯科技有限公司 处理io命令的方法及其控制部件
US11556472B1 (en) * 2021-08-04 2023-01-17 International Business Machines Corporation Data processing system having masters that adapt to agents with differing retry behaviors

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120005451A1 (en) * 2010-07-02 2012-01-05 Samsung Electronics Co., Ltd Data storage device and bad block managing method thereof
US20130173954A1 (en) * 2012-01-02 2013-07-04 Samsung Electronics Co., Ltd. Method of managing bad storage region of memory device and storage device using the method
US20150074476A1 (en) * 2013-09-10 2015-03-12 SK Hynix Inc. Data storing system and operating method thereof
CN105988938A (zh) * 2014-09-17 2016-10-05 爱思开海力士有限公司 存储系统及其操作方法
US20170046081A1 (en) * 2015-08-10 2017-02-16 International Business Machines Corporation Back-up and restoration of data between volatile and flash memory
CN106708743A (zh) * 2015-11-13 2017-05-24 爱思开海力士有限公司 存储系统及其操作方法
US20170255405A1 (en) * 2016-03-07 2017-09-07 Kabushiki Kaisha Toshiba Memory system

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7173852B2 (en) * 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
KR100667780B1 (ko) * 2004-11-22 2007-01-11 삼성전자주식회사 검정 방법, 기록/재생 장치 및 정보 저장 매체
US7444462B2 (en) * 2006-09-28 2008-10-28 Sandisk Corporation Methods for phased garbage collection using phased garbage collection block or scratch pad block as a buffer
US8595411B2 (en) * 2009-12-30 2013-11-26 Sandisk Technologies Inc. Method and controller for performing a sequence of commands
US8572311B1 (en) * 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
KR20110099570A (ko) * 2010-03-02 2011-09-08 삼성전자주식회사 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
US8892981B2 (en) * 2010-09-30 2014-11-18 Apple Inc. Data recovery using outer codewords stored in volatile memory
US9092320B2 (en) * 2012-10-15 2015-07-28 Hitachi, Ltd. Storage system which includes non-volatile semiconductor storage medium, and storage control method of storage system
US9059736B2 (en) * 2012-12-03 2015-06-16 Western Digital Technologies, Inc. Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme
US9165683B2 (en) * 2013-09-23 2015-10-20 Sandisk Technologies Inc. Multi-word line erratic programming detection
US9778863B2 (en) * 2014-09-30 2017-10-03 Sandisk Technologies Llc System and method for folding partial blocks into multi-level cell memory blocks
KR102292198B1 (ko) 2014-10-15 2021-08-25 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법
KR20160075165A (ko) * 2014-12-19 2016-06-29 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102301772B1 (ko) 2015-03-09 2021-09-16 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 가비지 컬렉션 방법
KR102509540B1 (ko) * 2015-06-30 2023-03-14 삼성전자주식회사 저장 장치 및 그것의 가비지 컬렉션 방법
KR102403253B1 (ko) * 2015-07-06 2022-05-30 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 스토리지 장치
US9659666B2 (en) * 2015-08-31 2017-05-23 Sandisk Technologies Llc Dynamic memory recovery at the sub-block level
US10181352B2 (en) * 2015-09-09 2019-01-15 Toshiba Memory Corporation Memory system and method of controlling nonvolatile memory
US9728262B2 (en) * 2015-10-30 2017-08-08 Sandisk Technologies Llc Non-volatile memory systems with multi-write direction memory units
US10684795B2 (en) * 2016-07-25 2020-06-16 Toshiba Memory Corporation Storage device and storage control method
KR20180026876A (ko) * 2016-09-05 2018-03-14 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
TWI653533B (zh) * 2017-03-07 2019-03-11 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
US10387280B2 (en) * 2017-06-09 2019-08-20 International Business Machines Corporation Reporting defects in a flash memory back-up system
KR20190005307A (ko) * 2017-07-06 2019-01-16 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20190040607A (ko) * 2017-10-11 2019-04-19 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120005451A1 (en) * 2010-07-02 2012-01-05 Samsung Electronics Co., Ltd Data storage device and bad block managing method thereof
US20130173954A1 (en) * 2012-01-02 2013-07-04 Samsung Electronics Co., Ltd. Method of managing bad storage region of memory device and storage device using the method
US20150074476A1 (en) * 2013-09-10 2015-03-12 SK Hynix Inc. Data storing system and operating method thereof
CN105988938A (zh) * 2014-09-17 2016-10-05 爱思开海力士有限公司 存储系统及其操作方法
US20170046081A1 (en) * 2015-08-10 2017-02-16 International Business Machines Corporation Back-up and restoration of data between volatile and flash memory
CN106708743A (zh) * 2015-11-13 2017-05-24 爱思开海力士有限公司 存储系统及其操作方法
US20170255405A1 (en) * 2016-03-07 2017-09-07 Kabushiki Kaisha Toshiba Memory system

Also Published As

Publication number Publication date
KR20190040607A (ko) 2019-04-19
US10665315B2 (en) 2020-05-26
US20190108891A1 (en) 2019-04-11
US11238951B2 (en) 2022-02-01
CN109656749B (zh) 2023-08-04
US20200265911A1 (en) 2020-08-20

Similar Documents

Publication Publication Date Title
CN108255739A (zh) 存储器系统及其操作方法
CN107643985A (zh) 存储器系统及其操作方法
CN109144408A (zh) 存储器系统及其操作方法
CN109656472A (zh) 存储器系统及其操作方法
CN109284202A (zh) 控制器及其操作方法
CN110244907A (zh) 存储器系统及该存储器系统的操作方法
CN109426449A (zh) 存储器系统及其操作方法
CN109388594A (zh) 存储器系统及其操作方法
CN108121665A (zh) 存储器系统及其操作方法
CN109656749A (zh) 存储器系统及其操作方法
CN110058797A (zh) 存储器系统及其操作方法
CN110473582A (zh) 存储器系统及其操作方法
CN110321069A (zh) 存储器系统及其操作方法
CN109671459A (zh) 存储器系统及其操作方法
CN110347330A (zh) 存储器系统及其操作方法
CN108257637A (zh) 存储器系统及其操作方法
CN108932203A (zh) 数据处理系统和数据处理方法
CN109390003A (zh) 存储器系统及其操作方法
CN110531922A (zh) 存储器系统、控制器及其操作方法
CN109032501A (zh) 存储器系统及其操作方法
CN110096385A (zh) 存储器系统及其操作方法
CN110457230A (zh) 存储器系统及其操作方法
CN110032471A (zh) 存储器系统及其操作方法
CN109271328A (zh) 存储器系统及其操作方法
CN110489271A (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
GR01 Patent grant
GR01 Patent grant