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

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

Info

Publication number
CN108257637B
CN108257637B CN201711084762.4A CN201711084762A CN108257637B CN 108257637 B CN108257637 B CN 108257637B CN 201711084762 A CN201711084762 A CN 201711084762A CN 108257637 B CN108257637 B CN 108257637B
Authority
CN
China
Prior art keywords
memory
count value
memory blocks
predetermined
block
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
Application number
CN201711084762.4A
Other languages
English (en)
Other versions
CN108257637A (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
SK Hynix 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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN108257637A publication Critical patent/CN108257637A/zh
Application granted granted Critical
Publication of CN108257637B publication Critical patent/CN108257637B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • 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/1438Restarting or rejuvenating
    • 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
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/107Programming all cells in an array, sector or block to the same state prior to flash erasing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/82Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs

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)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明涉及一种存储器系统,其包括:存储器装置,其包括多个存储块;以及控制器,其适于在启动时段中在多个存储块中基于预定条件选择一个或多个第一存储块,并且增加一个或多个第一存储块之中读取数据的失效位数超过预定阈值的一个或多个第二存储块的读取回收计数值。

Description

存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2016年12月28日提交的申请号为10-2016-0181180的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本发明的示例性实施例涉及一种存储器系统及操作该存储器系统的方法。
背景技术
计算机环境范例已经变为可在任何时间和任何地点使用的普适计算系统。由于这个事实,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器或辅助存储器。
因为存储器系统没有移动部件,所以它们提供优良的稳定性、耐用性、高的信息存取速度以及低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
本发明的实施例涉及一种即使在发生突然断电(SPO)时也能够执行读取回收操作的存储器系统以及操作该存储器系统的方法。
根据本发明的实施例,存储器系统可包括:存储器装置,其包括多个存储块;以及控制器,其适于在启动时段(section)中在多个存储块中基于预定条件选择一个或多个第一存储块,并且增加第一存储块中读取数据的失效位数超过预定阈值的第二存储块的读取回收计数值。
控制器可通过根据第二存储块的当前读取回收计数值调整第二存储块的读取回收计数值增加范围来增加读取回收计数值。
在当前读取回收计数值相对较小时,控制器可将读取回收计数值增加相对较小量的读取回收计数值增加范围,并且在当前读取回收计数值相对较大时,将读取回收计数值增加相对较大量的读取回收计数值增加范围。
在当前读取回收计数值小于预定第一值时,读取回收计数值增加范围可以是预定第一范围。在当前读取回收计数值大于预定第一值且小于预定第二值时,读取回收计数值增加范围可以是大于预定第一范围的预定第二范围。在当前读取回收计数值大于预定第二值时,读取回收计数值增加范围可以是大于预定第二范围的预定第三范围。
只有当在发生突然断电(SPO)之后因电源恢复而开始启动时段时,控制器可执行在多个存储块之中选择一个或多个第一存储块的操作以及增加一个或多个第二存储块的读取回收计数值的操作。
控制器可基于SPO发生次数来选择第一存储块。
控制器可通过比较SPO发生次数和多个存储块的块地址值来选择第一存储块。
控制器可通过随机选择联接到多个存储块的预定数量的字线并通过在多个存储块之中选择每一个都包括一个或多个所选字线的一个或多个存储块作为第一存储块来选择第一存储块。
控制器可进一步通过循环方案或链表方案来管理第一存储块,以防止存储块被重复地选择为第一存储块。
当在启动时段完成之后对多个存储块之中的一个或多个第三存储块执行预定操作时,控制器可进一步基于第三存储块的读取回收计数值确定是否对第三存储块执行读取回收操作。
根据本发明的另一实施例,一种用于操作存储器系统的方法,存储器系统包括设置有多个存储块的存储器装置,该方法可包括:在启动时段中在多个存储块之中基于预定条件选择一个或多个第一存储块;以及增加一个或多个第一存储块之中读取数据的失效位数超过预定阈值的一个或多个第二存储块的读取回收计数值。
读取回收计数值的增加可包括根据一个或多个第二存储块的当前读取回收计数值来调整一个或多个第二存储块的读取回收计数值增加范围。
在当前读取回收计数值相对较小时,读取回收计数值可增加相对较小量的读取回收计数值增加范围,并且在当前读取回收计数值相对较大时,读取回收计数值可增加相对较大量的读取回收计数值增加范围。
在当前读取回收计数值小于预定第一值时,读取回收计数值增加范围可以是预定第一范围。在当前读取回收计数值大于预定第一值且小于预定第二值时,读取回收计数值增加范围可以是大于预定第一范围的预定第二范围。在当前读取回收计数值大于预定第二值时,读取回收计数值增加范围可以是大于预定第二范围的预定第三范围。
只有当在发生突然断电(SPO)之后因电源恢复而开始启动时段时,可在多个存储块之中选择一个或多个第一存储块以及增加一个或多个第二存储块的读取回收计数值。
第一存储块可基于SPO发生次数来选择。
第一存储块可通过比较SPO发生次数和多个存储块的块地址值来选择。
第一存储块的选择可包括:随机选择联接到多个存储块的预定数量的字线;以及在多个存储块之中选择每一个都包括一个或多个所选字线的一个或多个存储块作为第一存储块。
方法可进一步包括:通过循环方案或链表方案来管理第一存储块,以防止存储块被重复地选择为第一存储块。
方法可进一步包括:当在启动时段完成之后对多个存储块之中的一个或多个第三存储块执行预定操作时,基于第三存储块的读取回收计数值确定是否对第三存储块执行读取回收操作。
附图说明
图1是示出根据本发明的实施例的包含有存储器系统的数据处理系统的框图。
图2是示出在图1的存储器系统中采用的存储器装置的示例性配置的示意图。
图3是示出图2的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出图2的存储器装置的示例性三维结构的示意图。
图5是示出图1所示的存储器系统的示例性配置的框图。
图6是示出根据本发明的实施例的图5所示的存储器系统的操作的流程图。
图7至图15是示意性示出根据本发明的各个实施例的图1的数据处理系统的应用示例的简图。
具体实施方式
下面参照附图更详细地描述本发明的各个实施例。然而,注意到的是,本发明可以不同的其它实施例、形式以及变型实施,且不应被解释为限于本文所阐述的实施例。相反,提供所述的实施例以使本公开彻底且充分,并将本发明全面地传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另一个元件区分开。因此,在不脱离本发明的精神和范围的情况下,下面描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实施例的特征,比例可能已经被夸大。
将进一步理解的是,当元件被称为“连接到”或“联接到”另一元件时,其可直接在其它元件上、连接到或联接到其它元件,或者可存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语仅是以描述特定实施例为目的,并不旨在限制本发明。如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,但不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,描述了大量的具体细节。可在没有一些或全部这些具体细节的情况下实践本发明。在其它情况下,没有详细地描述公知的进程结构和/或进程以避免不必要地模糊本发明。
还应注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有明确说明,否则结合一个实施例所描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。
图1是示出根据本发明的实施例的包括有存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可包括主机102和存储器系统110。
主机102可以是包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、TV和投影仪的非便携式电子装置的任何合适的电子装置。
主机102可包括至少一个OS(操作系统),并且OS可管理和控制主机102的全部功能和操作,并使用数据处理系统100或存储器系统110提供主机102和用户之间的操作。OS可支持对应于用户的使用目的和用途的功能和操作。例如,根据主机102的移动性,OS可被划分为一般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)和静态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中、从存储器装置150中读取数据以及将读取数据转移到主机HOST进行控制。
控制器130和存储器装置150可被集成到单个半导体装置中,单个半导体装置可被包括在如上所例示的各种类型的存储器系统中。
存储器系统110的非限制性应用示例可包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、射频识别(RFID)装置或构成计算系统的各种部件之一。
存储器装置150可以是非易失性存储器装置,并且即使不供应电力,其也可保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可包括多个存储器管芯(未示出),每一个存储器管芯包括多个平面(未示出),每一个平面包括多个存储块152至156,存储块152至156中的每一个可包括多个页面,并且每一个页面可包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是闪速存储器。闪速存储器可具有三维(3D)堆叠结构。
控制器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的电力。可采用任何适当的PMU。
当存储器装置为NAND闪速存储器时,NFC 142是用于接口连接控制器130和存储器装置150以使得控制器130响应于来自主机102的请求来控制存储器装置150的适当的存储器接口/存储接口的示例。当存储器装置150是闪速存储器或具体地是NAND闪速存储器时,NFC 142可在处理器134的控制下生成用于存储器装置150的控制信号并处理待被提供给存储器装置150的数据。NFC 142可用作处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,NFC 142可支持控制器130和存储器装置150之间的数据传输。适当的存储器接口/存储接口可根据存储器装置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可包括每一个都具有3D结构(或垂直结构)的多个存储块BLK0至BLKN-1。
图5是示出根据本发明的实施例的存储器系统110的示例性配置的框图。如参照图1至图4所述,存储器系统110可包括控制器130和存储器装置150。存储器装置150可示例性地包括多个存储块,例如存储块BLOCK<0:39>。
控制器130可执行在SPO之后开始的启动时段中基于预定条件在存储块BLOCK<0:39>之中选择一个或多个存储块的操作1301。此外,控制器130可执行检查对于在操作1301中选择的每一个“所选存储块”的读取数据的失效位数是否超过预定阈值。此外,控制器130可执行基于操作1303的结果确定是否增加各个所选存储块的读取回收计数值的操作1305。此外,控制器130可执行检测在操作1305中被确定为增加其读取回收计数值的所选存储块的当前读取回收计数值的操作1307。此外,控制器130可执行基于操作1307的检测结果来调整在操作1305中被确定为需要增加其读取回收计数值的所选存储块的每一个的读取回收计数值增加范围的操作1309。
以下,可通过举例来进一步详细描述上述控制器130的操作。
假设启动时段在突然断电(SPO)之后开始。换言之,控制器130的操作1301、1303、1305、1307和1309可在发生SPO之后在启动时段中执行。
在操作1301期间,控制器130可在启动时段中基于预定条件在存储块BLOCK<0:39>之中选择一个或多个存储块。
在实施例中,控制器130可在存储块BLOCK<0:39>之中选择一个或多个存储块。根据第一种方法,在存储块BLOCK<0:39>之中被选择为“所选存储块”的存储块的种类和数量可基于发生突然断电的次数(以下也称为SPO发生次数)来确定。换言之,控制器130可对SPO发生次数进行计数,并且基于SPO发生次数在存储块BLOCK<0:39>之中选择“所选存储块”。
例如,控制器130可对SPO发生次数进行计数,将SPO发生次数与存储块BLOCK<0:39>的每一个的块地址值进行比较,并根据比较结果在存储块BLOCK<0:39>之中选择存储块。
例如,控制器130可在操作1301中在存储块BLOCK<0:39>之中选择其对应的块地址的末位数字与SPO发生次数的末位数字相符的存储块。
参照图5,当存储器装置150包括总共40个存储块BLOCK<0:39>并且启动时段在首次发生SPO之后开始时,可在操作1301期间,在存储块BLOCK<0:39>之中选择其块地址的末位数字为“1”的四个存储块(即,第1块BLOCK<1>、第11块BLOCK<11>、第21块BLOCK<21>和第31块BLOCK<31>)。同样地,当启动时段在第七次发生突然断电之后开始时,具有以“7”结尾的块地址的四个存储块,即第7块BLOCK<7>、第17块BLOCK<17>、第27块BLOCK<27>和第37块BLOCK<37>可被选择为“所选存储块”。当基于SPO发生次数在存储块BLOCK<0:39>之中选择存储块时,对于每10次SPO的周期,所有的存储块BLOCK<0:39>可被选择一次。
对于另一示例,控制器130可在操作1301中在存储块BLOCK<0:39>之中选择其对应的块地址的末位数字与SPO发生次数的末位数字以及预定值K加上SPO发生次数的末位数字相符的存储块。此处,K可以是大于“1”的任意数。
参照图5,当假设存储器装置150包括总共40个存储块BLOCK<0:39>,预定值K为5并且启动时段在首次发生SPO之后开始时,可在操作1301期间,在存储块BLOCK<0:39>之中选择其块地址的末位数字为“1”和“6”(即,SPO发生次数的末位数字和预定值5加上SPO发生次数的末位数字)的八个存储块(即,第1块BLOCK<1>、第6块BLOCK<6>、第11块BLOCK<11>、第16块BLOCK<16>、第21块BLOCK<21>、第26块BLOCK<26>、第31块BLOCK<31>和第36块BLOCK<36>)。同样地,当启动时段在第七次发生突然断电之后开始时,块地址以“7”和“2”结尾的八个存储块,即第2块BLOCK<2>、第7块BLOCK<7>、第12块BLOCK<12>、第17块BLOCK<17>、第22块BLOCK<22>、第27块BLOCK<27>、第32块BLOCK<32>和第37块BLOCK<37>可被选择为“所选存储块”。当基于SPO发生次数在存储块BLOCK<0:39>之中选择存储块时,每当SPO以5次为周期发生时,所有的存储块BLOCK<0:39>都可被选择一次,周期可基于预定值K进行调整。
在另一实施例中,控制器130可随机选择预定数量的字线,并在存储块BLOCK<0:39>之中选择每一个都包括一个或多个所选字线的一个或多个存储块。
此处,在存储块BLOCK<0:39>之中被选择为“所选存储块”的存储块的数量可通过将预定数量固定为特定值来基于被包括在存储块BLOCK<0:39>的每一个中的字线的数量来控制。
通过将预定数量固定为特定值的操作,在存储块之中被选择为“所选存储块”的存储块的数量由于以下原因可基于被包括在存储块BLOCK<0:39>的每一个中的字线的数量来控制。
被包括在存储块BLOCK<0:39>的每一个中的字线的数量可根据存储器装置150的类型而变化。
因此,通过选择多达预定数量的字线,可调整所选存储块的数量。换言之,控制器130可在操作1301中通过所选字线的预定数量来控制存储块BLOCK<0:39>之中所选存储块的数量。
被包括在存储块BLOCK<0:39>的每一个中的字线的数量可能不同的事实可能表示如果在突然断电之后开始的启动时段中待读取的目标字线的总数量被固定为预定数量,则在存储块BLOCK<0:39>之中被选择为“所选存储块”的存储块的数量可根据被包括在存储块BLOCK<0:39>的每一个中的字线的数量来控制。
例如,可假设在突然断电之后开始启动时段,读取目标字线的总数量固定为20,并且随机选择20个读取目标字线。此处,当相对多的字线被包括在存储器装置中的存储块BLOCK<0:39>的每一个中时,两条字线被选择为一个存储块的读取目标的概率相对较高。因此,在存储块BLOCK<0:39>之中少量的存储块被选择为“所选存储块”的概率相对较高。相反地,当相对少量的字线被包括在存储器装置中的存储块BLOCK<0:39>的每一个中时,两条字线被选择为一个存储块的读取目标的概率相对较低。因此,在存储块BLOCK<0:39>之中许多存储块被选择为“所选存储块”的概率相对较高。如示例所示,通过将成为读取目标的字线的预定数量固定为特定值的操作可以控制在存储块BLOCK<0:39>之中被选择为“所选存储块”的存储块的数量。
当选择每一个都包括一个或多个所选字线的一个或多个存储块时,存在每次发生SPO时特定存储块被重复选择的可能性。根据本发明的实施例,可以通过经公知的循环方案或链表方案来管理操作1301的所选存储块以防止对特定存储块的重复选择。
在操作1303期间,控制器130可控制存储器装置150以从在操作1301中选择的存储块读取数据,并且可检查对于在操作1301中选择的存储块的每一个的读取数据的失效位数是否超过预定阈值。
在操作1305期间,当作为检查操作1303的结果,在操作1301中选择的存储块之中存在读取数据的失效位数超过预定阈值的至少一个存储块时,控制器130可确定增加其读取数据的失效位数超过预定阈值的存储块的读取回收计数值。作为检查操作1303的结果,控制器130可确定不增加在操作1301中选择的存储块之中读取数据的失效位数低于预定阈值的存储块的读取回收计数值。
在操作1307期间,控制器130可检测在操作1301中选择的存储块之中在操作1305中被确定为需要增加其读取回收计数值的存储块的当前读取回收计数值。控制器130可执行操作1307,以便确定在操作1305中被确定为需要增加其读取回收计数值的存储块的每一个的当前读取回收计数值是相对较小的值还是相对较大的值。
在操作1309期间,控制器130可基于操作1307所检测的当前读取回收计数值调整在操作1301中选择的存储块之中在操作1305中被确定为需要增加其读取回收计数值的存储块的每一个的读取回收计数值增加范围。换言之,当在操作1305中被确定为需要增加其读取回收计数值的存储块之中的存储块被检查出具有相对较小的当前读取回收计数值时,具有相对较小的当前读取回收计数值的存储块的读取回收计数值可增加相对较小的范围。相反地,当在操作1305中被确定为需要增加其读取回收计数值的存储块之中的存储块被检查出具有相对较大的当前读取回收计数值时,具有相对较大的当前读取回收计数值的存储块的读取回收计数值可增加相对较大的范围。
例如,在操作1305中被确定为需要增加其读取回收计数值的存储块可根据在操作1307中检测到的当前读取回收计数值而被分成三组,并且可基于操作1307的结果来调整读取回收计数值的增加范围。对于当前读取回收计数值被确定为小于预定第一值(例如,100K)的第一存储块,第一存储块的读取回收计数值可增加预定第一范围(例如,2K)。对于当前读取回收计数值被确定为在预定第一值和预定第二值(例如,200K)之间的第二存储块,第二存储块的读取回收计数值可增加预定第二范围(例如,10K)。对于当前读取回收计数值被确定为大于预定第二值的第三存储块,第三存储块的读取回收计数值可增加预定第三范围(例如,50K)。
控制器130可执行基于操作1307的检测结果调整在操作1305中被确定为需要增加其读取回收计数值的所选存储块的每一个的读取回收计数值增加范围的操作1309,因为存储块的当前读取回收计数值越大,在存储块中发生错误的可能性越高。操作1309可导致已经具有较高当前读取回收计数值的存储块更快地变为读取回收目标存储块。
图6是示出图5所示的存储器系统110的操作的流程图。
参照图6,当提供电源时,存储器系统110在步骤S600中被启动。
在启动开始之后,在步骤S601中确定启动操作是否在发生SPO之后执行。
当在步骤S601中确定启动操作不是在SPO之后执行(步骤S601为“否”)时,执行启动操作,然后启动操作在步骤S608中结束。
当在步骤S601中确定启动操作是在SPO之后执行(步骤S601为“是”)时,在步骤S602中由于SPO的发生而执行SPO恢复操作。
此处,在步骤S602中执行的SPO恢复操作可表示恢复在发生SPO时由存储器系统110处理的数据的一般操作。
在步骤S602中执行的SPO恢复操作结束之后,控制器130可执行上面参照图5描述的操作1301至1309。换言之,控制器130可在步骤S603中执行操作1301。此外,控制器130可在步骤S604中执行操作1303和1305。此外,控制器130可在步骤S605中执行操作1307。此外,控制器130可在步骤S606中执行操作1309。
此处,对于在操作1305或步骤S604中被确定为需要增加其读取回收计数值的存储块,可执行步骤S605、S606和S607,然后在步骤S608中结束启动操作。另一方面,对于在操作1305或步骤S604中被确定为不需要增加其读取回收计数值的存储块,在步骤S608中结束启动操作。
在步骤S607中,在操作1305中被确定为需要增加其读取回收计数值的存储块的每一个的读取回收计数值可被存储在存储器装置150中。待存储在存储器装置中的读取回收计数值可增加在操作1309或步骤S606中调整的读取回收计数值增加范围。
在参照图5描述的控制器130的操作1301至1309可通过步骤S603至步骤S607进行之后,启动操作可在步骤S608中结束。
在启动操作在步骤S608中结束之后,可执行包括存储器系统110的写入操作和读取操作的各种操作。在附图中,示例性示出了在启动操作在步骤S608中结束之后,当在步骤S609中对存储块BLOCK<0:39>之中的任意存储块执行读取操作时,再次发生SPO。简而言之,附图示例性示出了在启动操作在步骤S608中结束之后,当仅执行读取操作而未执行写入操作时,再次发生SPO的情况。
注意的是,当在启动操作在步骤S608中结束之后,当仅执行读取操作而未执行写入操作时再次发生SPO时,步骤S603至S607或操作1301至1309更有利。
具体而言,当假设启动操作在步骤S608中结束,然后当仅对存储块BLOCK<0:39>之中的任意存储块执行读取操作时不再发生SPO时,可执行步骤S610、S611、S612和S613。
在步骤S610中,对存储块BLOCK<0:39>之中的任意存储块进行写入操作。此处,在步骤S610之前执行的步骤S609中对任意存储块执行读取操作时,增加了读取回收计数值。在步骤S610中对任意存储块执行写入操作的时刻,增加的读取回收计数值可被存储在该任意存储块中。换言之,在步骤S609中对任意存储块执行读取操作时增加的读取回收计数值可在控制器130的内部具有易失性特性的存储器单元144中进行管理,然后,当执行步骤S610时,读取回收计数值可被存储在具有非易失性特性的任意存储块中。
因此,如附图所示,如果执行了步骤S609并且在执行步骤S610之前再次发生SPO,则在步骤S609中对任意存储块执行读取操作时增加的读取回收计数值可能不被存储在任意存储块中,而是被删除。
如果假设如附图所示的在执行了步骤S609并且在执行步骤S610之前再次发生SPO的现象重复发生,并且控制器不执行步骤S603至S607,则作为步骤S609中的读取目标的任意存储块即使被连续地执行读取操作,其读取回收计数值也不会增加。
因此,如果根据上述本发明的实施例的控制器130执行步骤S603至S607,并且附图所示的仅执行了步骤S609并且在执行步骤S610之前再次发生SPO的现象重复发生,则可增加存储块BLOCK<0:39>的每一个的读取回收计数值。以这种方式,可以防止对存储块BLOCK<0:39>之中的任意存储块过度重复读取操作以及因此导致错误。
在步骤S611和S612中,可对存储器系统110执行读取回收操作。换言之,在存储器系统110中,在步骤S608中结束存储器系统110的启动操作之后,检查出存储块BLOCK<0:39>之中的任意存储块的读取回收计数值,然后可基于读取回收计数值来确定是否执行读取回收操作。
此处,可在对任意存储块执行读取操作或写入操作的时刻执行在步骤S611中在存储块BLOCK<0:39>之中选择任意存储块的操作。换言之,如附图所示,可在执行了步骤S609之后执行步骤S611,并且可在执行了步骤S610之后执行步骤S611。
此处,为了在步骤S611中获得准确的结果,可将读取回收计数值增加对应于对任意存储块执行的步骤S609的值。
在步骤S612中,可对存储块BLOCK<0:39>之中的任意存储块执行读取回收操作。此处,读取回收操作可表示将存储在任意存储块中的数据复制到另一存储块中的操作。因为读取回收操作是已知操作,所以在此不再赘述。
读取回收操作可基于步骤S611的结果通过步骤S612执行,或者步骤S613可基于步骤S611的结果通过步骤S612执行。步骤S613可表示可在存储器系统110中执行的所有任意操作。
此处,即使基于步骤S611的结果将任意存储块选择为将执行读取回收操作的存储块,也不必立即对任意存储块执行步骤S612。换言之,当变成读取回收目标的任意存储块通过步骤S611而被选择时,也可当存储器系统110执行后台操作时,通过步骤S612对任意存储块执行读取回收操作。
图7至图15是示意性示出数据处理系统100的应用示例的简图。
图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(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中的多个管芯。
存储器控制器6120和存储器装置6130可被集成至单个半导体装置中。例如,存储器控制器6120和存储器装置6130可通过被集成到单个半导体装置中来构造固态驱动器(SSD)。此外,存储器控制器6120和存储器装置6130可构造诸如以下的存储卡: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级别信息,在SSD6300中选择一个或多个存储器系统或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可驱动包括在诸如OS的用户系统6900中的组件,并且包括控制包括在用户系统6900中的组件的控制器、接口和图形引擎。应用处理器6930可作为片上系统(SoC)被提供。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDRSDARM、LPDDR2SDRAM或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闪存和3DNAND闪存,并且可被提供为诸如用户系统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处理的数据或支持从触摸面板接收数据的功能。
根据上述的本发明的实施例,可在发生SPO之后开始的启动阶段执行用于测试的读取操作,然后读取回收计数值可以基于读取操作的结果改变并存储。这样,即使在反复发生SPO时,读取回收操作也可得到稳定的支持。
虽然已经针对具体实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离如权利要求所限定的本发明的精神和范围的情况下,可进行各种改变和修改。

Claims (18)

1.一种存储器系统,其包括:
存储器装置,其包括多个存储块;以及
控制器,其在启动时段中基于预定条件在所述多个存储块中选择一个或多个第一存储块,并且当从所述一个或多个第一存储块中输出的每个读取数据的失效位数超过预定阈值时,在所述一个多个第一存储块中选择一个或多个第二存储块,
其中所述控制器基于第二存储块的读取回收计数值位于多个不同标准范围中的一个内来确定不同的读取回收计数值增加量,并将所述不同的读取回收计数值增加量添加到所述第二存储块的读取回收计数值。
2.根据权利要求1所述的存储器系统,其中,在第二存储块的当前读取回收计数值小于另一第二存储块时,所述第二存储块的读取回收计数值增加量小于所述另一第二存储块的读取回收计数值增加量。
3.根据权利要求2所述的存储器系统,
其中,当所述当前读取回收计数值小于预定第一值时,所述读取回收计数值增加量是预定第一量,
其中,当所述当前读取回收计数值大于所述预定第一值且小于预定第二值时,所述读取回收计数值增加量是大于所述预定第一量的预定第二量,并且
其中,当所述当前读取回收计数值大于所述预定第二值时,所述读取回收计数值增加量是大于所述预定第二量的预定第三量。
4.根据权利要求1所述的存储器系统,其中,只有当在发生突然断电即SPO之后因电源恢复而开始所述启动时段时,所述控制器才执行在所述多个存储块之中选择所述一个或多个第一存储块的操作,在所述一个或多个第一存储块中选择所述一个或多个第二存储块的操作,以及确定所述不同的读取回收计数值增加量并且将所述不同的读取回收计数值增加量添加到所述第二存储块的读取回收计数值的操作。
5.根据权利要求4所述的存储器系统,其中,所述控制器基于SPO发生次数来选择所述第一存储块。
6.根据权利要求5所述的存储器系统,其中,所述控制器通过比较所述SPO发生次数和所述多个存储块的块地址值来选择所述第一存储块。
7.根据权利要求4所述的存储器系统,其中,所述控制器通过随机选择联接到所述多个存储块的预定数量的字线并通过在所述多个存储块之中选择每一个都包括一个或多个所选字线的一个或多个存储块作为所述第一存储块来选择所述第一存储块。
8.根据权利要求7所述的存储器系统,其中,所述控制器进一步通过循环方案或链表方案来管理所述第一存储块,以防止存储块被重复地选择为所述第一存储块。
9.根据权利要求1所述的存储器系统,其中,当在所述启动时段完成之后对所述多个存储块之中的一个或多个第三存储块执行预定操作时,所述控制器进一步基于所述第三存储块的读取回收计数值来确定是否对所述第三存储块执行读取回收操作。
10.一种用于操作存储器系统的方法,所述存储器系统包括设置有多个存储块的存储器装置,所述方法包括:
在启动时段中在所述多个存储块之中基于预定条件选择一个或多个第一存储块;
当从所述一个或多个第一存储块中输出的每个读取数据的失效位数超过预定阈值时,在所述一个多个第一存储块中选择一个或多个第二存储块,以及
基于第二存储块的读取回收计数值位于多个不同标准范围中的一个内,确定不同的读取回收计数值增加量,并将所述不同的读取回收计数值增加量添加到所述第二存储块的读取回收计数值。
11.根据权利要求10所述的方法,其中,在第二存储块的当前读取回收计数值小于另一第二存储块时,所述第二存储块的读取回收计数值增加量小于所述另一第二存储块的读取回收计数值增加量。
12.根据权利要求11所述的方法,
其中,当所述当前读取回收计数值小于预定第一值时,所述读取回收计数值增加量是预定第一量,
其中,当所述当前读取回收计数值大于所述预定第一值且小于预定第二值时,所述读取回收计数值增加量是大于所述预定第一量的预定第二量,并且
其中,当所述当前读取回收计数值大于所述预定第二值时,所述读取回收计数值增加量是大于所述预定第二量的预定第三量。
13.根据权利要求10所述的方法,其中,只有当在发生突然断电即SPO之后因电源恢复而开始所述启动时段时才执行以下操作:
在所述多个存储块之中选择所述一个或多个第一存储块;
在所述一个或多个第一存储块中选择所述一个或多个第二存储块;以及
确定所述不同的读取回收计数值增加量并且将所述不同的读取回收计数值增加量添加到所述第二存储块的读取回收计数值。
14.根据权利要求13所述的方法,其中,所述第一存储块基于SPO发生次数来选择。
15.根据权利要求14所述的方法,其中,所述第一存储块通过比较所述SPO发生次数和所述多个存储块的块地址值来选择。
16. 根据权利要求13所述的方法,其中,所述第一存储块的选择包括:
随机选择联接到所述多个存储块的预定数量的字线;以及
在所述多个存储块之中选择每一个都包括一个或多个所选字线的一个或多个存储块作为所述第一存储块。
17.根据权利要求16所述的方法,其进一步包括:通过循环方案或链表方案来管理所述第一存储块,以防止存储块被重复地选择为所述第一存储块。
18.根据权利要求10所述的方法,其进一步包括:当在所述启动时段完成之后对所述多个存储块之中的一个或多个第三存储块执行预定操作时,基于所述第三存储块的读取回收计数值确定是否对所述第三存储块执行读取回收操作。
CN201711084762.4A 2016-12-28 2017-11-07 存储器系统及其操作方法 Active CN108257637B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160181180A KR20180076715A (ko) 2016-12-28 2016-12-28 메모리 시스템 및 메모리 시스템의 동작방법
KR10-2016-0181180 2016-12-28

Publications (2)

Publication Number Publication Date
CN108257637A CN108257637A (zh) 2018-07-06
CN108257637B true CN108257637B (zh) 2023-06-23

Family

ID=62629720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711084762.4A Active CN108257637B (zh) 2016-12-28 2017-11-07 存储器系统及其操作方法

Country Status (3)

Country Link
US (3) US10521136B2 (zh)
KR (1) KR20180076715A (zh)
CN (1) CN108257637B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10692567B2 (en) * 2018-09-06 2020-06-23 M31 Technology Corporation Method for assisting memory cell in access operation and operating memory cell, and memory device having assist circuit with predefined assist strength
KR102546229B1 (ko) 2018-10-05 2023-06-22 삼성전자주식회사 리드 리클레임 동작 시에 버퍼 메모리를 이용하는 스토리지 장치
KR20200087595A (ko) * 2019-01-11 2020-07-21 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR20200099825A (ko) * 2019-02-15 2020-08-25 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR20200122522A (ko) 2019-04-18 2020-10-28 에스케이하이닉스 주식회사 컨트롤러 및 그 동작 방법
KR20200122875A (ko) 2019-04-19 2020-10-28 에스케이하이닉스 주식회사 컨트롤러 및 그 동작 방법
KR20220034332A (ko) 2020-09-11 2022-03-18 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
CN113918091B (zh) * 2021-09-13 2022-06-07 北京得瑞领新科技有限公司 Nand闪存中物理块的控制方法、装置及ssd设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103714856A (zh) * 2012-10-05 2014-04-09 三星电子株式会社 存储器系统及其读取回收方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090042039A (ko) 2007-10-25 2009-04-29 삼성전자주식회사 불휘발성 메모리 장치의 데이터 관리 방법
KR101824068B1 (ko) * 2011-07-28 2018-03-15 삼성전자주식회사 메모리 컨트롤러 구동방법, 및 메모리 컨트롤러를 포함하는 메모리 시스템, 메모리 카드 및 휴대용 전자장치
US8661301B1 (en) * 2012-09-07 2014-02-25 Storart Technology Co. Ltd. Method for dodging bad page and bad block caused by suddenly power off
KR102025193B1 (ko) 2013-02-19 2019-09-25 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법, 메모리 컨트롤러를 포함하는 메모리 시스템
KR102250423B1 (ko) * 2015-01-13 2021-05-12 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
KR102277521B1 (ko) * 2015-01-23 2021-07-16 삼성전자주식회사 저장 장치 및 그것의 리드 리클레임 및 읽기 방법
KR102435873B1 (ko) * 2015-12-18 2022-08-25 삼성전자주식회사 스토리지 장치 및 그것의 리드 리클레임 방법
KR102661936B1 (ko) 2016-06-27 2024-04-30 삼성전자주식회사 저장 장치
KR102614083B1 (ko) * 2016-08-31 2023-12-18 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103714856A (zh) * 2012-10-05 2014-04-09 三星电子株式会社 存储器系统及其读取回收方法

Also Published As

Publication number Publication date
US20200117374A1 (en) 2020-04-16
US20180181326A1 (en) 2018-06-28
CN108257637A (zh) 2018-07-06
US10949099B2 (en) 2021-03-16
US10521136B2 (en) 2019-12-31
US10901633B2 (en) 2021-01-26
US20190196727A1 (en) 2019-06-27
KR20180076715A (ko) 2018-07-06

Similar Documents

Publication Publication Date Title
CN108255739B (zh) 存储器系统及其操作方法
CN108304141B (zh) 存储器系统及其操作方法
CN107797882B (zh) 存储器系统及其操作方法
CN107562649B (zh) 存储器系统及其操作方法
CN108257637B (zh) 存储器系统及其操作方法
US10606710B2 (en) Controller, memory system and operating method thereof
CN108388525B (zh) 存储器系统及其操作方法
CN108345550B (zh) 存储器系统
US20180074718A1 (en) Memory system and method for operating the same
CN108268212B (zh) 控制器及操作方法
CN110473582B (zh) 存储器系统及其操作方法
CN108108308B (zh) 存储器系统及其操作方法
CN110347330B (zh) 存储器系统及其操作方法
CN109935251B (zh) 存储器系统、其操作方法以及包括其的数据处理系统
CN109032501B (zh) 存储器系统及其操作方法
TW201911057A (zh) 記憶體系統及其操作方法
CN107807887B (zh) 存储器系统及其操作方法
CN110032471B (zh) 存储器系统及其操作方法
CN110489271B (zh) 存储器系统及其操作方法
CN108536622B (zh) 存储装置、数据处理系统以及操作存储装置的方法
CN107562653B (zh) 存储器系统及其操作方法
CN109933468B (zh) 存储器系统及其操作方法
CN108427536B (zh) 存储器系统及其操作方法
CN109656470B (zh) 存储器系统及其操作方法
CN110704331A (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