CN108694096B - 控制器、存储系统及其操作方法 - Google Patents
控制器、存储系统及其操作方法 Download PDFInfo
- Publication number
- CN108694096B CN108694096B CN201711375156.8A CN201711375156A CN108694096B CN 108694096 B CN108694096 B CN 108694096B CN 201711375156 A CN201711375156 A CN 201711375156A CN 108694096 B CN108694096 B CN 108694096B
- Authority
- CN
- China
- Prior art keywords
- data
- read
- memory
- controller
- erroneous
- 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
- 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
- G06F11/1469—Backup restoration techniques
-
- 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/1438—Restarting or rejuvenating
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- 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
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
控制器、存储系统及其操作方法。一种控制器的操作方法,该操作方法包括:当发生突然断电(SPO)并接着电源接通时读取存储在从存储器件的读取组当中选择的第一读取组中的第一数据;识别所述第一数据中的每一个中的错误位数据的数量;以及基于所述第一数据中的每一个中的错误位数据的数量来对所述第一数据中的每一个执行回收操作。
Description
技术领域
本发明的示例性实施方式涉及控制器、包括该控制器的存储系统及其操作方法。
背景技术
计算机环境范例已变成可随时随地使用的普适计算系统。由于这个事实,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已迅速地增加。这些便携式电子装置通常使用具有用于存储数据的一个或更多个存储器件的存储系统。存储系统可以被用作便携式电子装置的主存储器件或辅存储器件。
存储系统提供极好的稳定性、耐久性、高信息访问速度和低功耗,因为它们没有移动部分。具有此类优点的存储系统的示例包括通用串行总线(USB)存储器件、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
各种实施方式致力于一种能够通过在适当的时间点对所存储的数据执行回收操作(reclaim operation)来防止被存储在存储器件中的数据的保持时间减少的控制器。即使当在采用所述存储器件的存储系统中重复地发生突然断电(SPO)时,所述控制器也能够防止存储的数据的保持时间减少。各种实施方式也致力于所述存储系统及其操作方法。
在本发明的示例性实施方式中,一种控制器的操作方法,该操作方法包括:当发生突然断电(SPO)并然后电源接通时读取存储在从存储器件的读取组当中选择的第一读取组中的第一数据;识别所述第一数据中的每一个中的错误位数据的数量;以及基于所述第一数据中的每一个中的错误位数据的数量来对所述第一数据中的每一个执行回收操作。
优选地,所述读取组中的每一个可以包括预定数量的字线。
优选地,可以基于所述SPO的发生次数在所述读取组当中选择所述第一读取组。
优选地,可以根据轮询调度(round robin)方案在所述读取组当中选择所述第一读取组。
优选地,可以对在所述第一数据当中具有比预定阈值更小数量的错误位数据的第二数据执行所述回收操作。
优选地,所述预定阈值可以介于一(1)与可纠正的错误位数据的数量之间。
优选地,所述读取组中的每一个可以包括所述存储器件中的不同的存储器裸片(die)的字线。
在本发明的示例性实施方式中,一种控制器包括:纠错码单元,该纠错码单元被配置为识别第一数据中的每一个中的错误位数据的数量;处理器,该处理器被配置为:当发生突然断电(SPO)并然后电源接通时读取存储在从存储器件的读取组当中选择的第一读取组中的所述第一数据;以及基于所述第一数据中的每一个中的错误位数据的数量来对所述第一数据中的每一个执行回收操作。
优选地,所述读取组中的每一个可以包括预定数量的字线。
优选地,所述处理器可以被配置为基于所述SPO的发生次数在所述读取组当中选择所述第一读取组。
优选地,其中所述处理器可以被配置为根据轮询调度方案在所述读取组当中选择所述第一读取组。
优选地,所述处理器可以被配置为对在所述第一数据当中具有比预定阈值更小数量的错误位数据的第二数据执行所述回收操作。
优选地,所述预定阈值可以介于一(1)与可纠正的错误位数据的数量之间。
优选地,所述读取组中的每一个可以包括所述存储器件中的不同的存储器裸片的字线。
在本发明的示例性实施方式中,一种存储系统包括:适合于存储数据的存储器件;以及适合于控制所述存储器件的控制器,其中,所述控制器被配置为:当发生突然断电(SPO)并然后电源接通时读取存储在从所述存储器件的读取组当中选择的第一读取组中的第一数据;识别所述第一数据中的每一个中的错误位数据的数量;以及基于所述第一数据中的每一个中的错误位数据的数量来对所述第一数据中的每一个执行回收操作。
优选地,所述读取组中的每一个可以包括预定数量的字线。
优选地,所述控制器被配置为基于所述SPO的发生次数在所述读取组当中选择所述第一读取组。
优选地,所述控制器被配置为根据轮询调度方案在所述读取组当中选择所述第一读取组。
优选地,所述控制器被配置为对在所述第一数据当中具有比预定阈值更小数量的错误位数据的第二数据执行所述回收操作。
优选地,所述预定阈值可以介于一(1)与可纠正的错误位数据的数量之间。
根据本发明的各种实施方式,即使当在存储系统中重复地发生突然掉电(SPO)时,控制器也可以通过在适当的时间点对存储在存储器件中的数据执行回收操作来防止存储在存储器件中的数据的保持时间减少。
附图说明
根据参照附图的以下详细描述,本发明的这些及其它特征和优点对于本发明所属领域的技术人员而言将变得显而易见:
图1是例示了根据本发明的实施方式的数据处理系统的框图;
图2是例示了图1所示的数据处理系统中采用的存储器件的示例性配置的示意图;
图3是例示了图1所示的存储器件的存储单元阵列的示例性配置的电路图;
图4是例示了图1所示的存储器件的示例性3D结构的示意图;
图5是例示了编程存储单元的阈值电压分布的图;
图6是例示了由于对编程存储单元的读取电压施加而具有减小的读取电压裕度的编程存储单元的阈值电压分布的图;
图7是例示了图1所示的存储系统的示意图;
图8是根据本发明的实施方式的存储系统操作的流程图;
图9是例示了图1所示的存储系统的示意图;以及
图10至图18是例示了包括图1至图9所示的存储系统的数据处理系统的各种实施方式的示意图。
具体实施方式
在下面参照附图对本发明的各种实施方式进行更详细的描述。然而,我们注意到,本发明可以用不同的其它实施方式、形式及其变化加以具体实现,而不应该被解释为限于本文所阐述的实施方式。相反,所描述的实施方式被提供为使得本公开将是彻底且完整的,并且会将本发明充分地传达给本发明所属领域的技术人员。贯穿本公开,在本发明的所有各个附图和实施方式中相同的附图标记指代相同的部分。
应当理解,尽管可以在本文中使用术语“第一”、“第二”、“第三”等来描述各种元件,然而这些元件不受这些术语限制。这些术语用于区分一个元件和另一元件。因此,在不脱离本发明的精神和范围的情况下,在下面所描述的第一元件也能被称为第二或第三元件。
附图不一定按比例绘制,并且在一些情况下,比例会已被放大以便清楚地例示实施方式的特征。
应当进一步理解,当一个元件被称为“连接到”或者“耦接到”另一元件时,它可以直接位于另一元件上、连接到或者耦接到另一元件,或者可以存在一个或更多个中间元件。另外,也应当理解,当一个元件被称为“在”两个元件“之间”时,它可以是两个元件之间的唯一元件,或者也可以存在一个或更多个中间元件。
本文所使用的术语仅为了描述特定实施方式,而不旨在限制本发明。
如本文所使用的,除非上下文另外清楚地指示,否则单数形式也旨在包括复数形式。
应当进一步理解,术语“包括”、“包括有”、“包含”和“包含有”当被用在本说明书中时,指定所陈述的元件的存在并且不排除一个或更多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括所关联的列举项中的一个或更多个的任何和所有组合。
除非另外定义,否则鉴于本公开本文所使用的包括技术和科学术语的所有术语具有与由本发明所属领域的普通技术人员通常理解的相同的含义。应当进一步理解,除非本文明确地如此定义,否则术语(诸如常用字典中定义的那些)应该被解释为具有与它们在本公开和相关领域的上下文中的含义一致的含义,而将不在理想化或过分正式的意义上进行解释。
在以下描述中,阐述了许多特定细节以便提供对本发明的彻底理解。可以在没有这些特定细节中的一些或全部的情况下实践本发明。在其它情况下,尚未详细地描述公知的工艺结构和/或过程,以免不必要地使本发明混淆。
也应注意,在一些情况下,如对于相关领域技术人员而言将显而易见的是,除非另外具体地指示,否则连同一个实施方式所描述的特征或元件可被单独地或者与另一实施方式的其它特征或元件相结合地使用。
图1是例示了根据本发明的实施方式的数据处理系统100的框图。
参照图1,数据处理系统100可以包括在操作上耦接到存储系统110的主机102。
主机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)和闪速存储器的非易失性存储器件。闪速存储器可以具有三维(3D)堆叠结构。
存储系统110可以包括存储器件150和控制器130。存储器件150可以为主机120存储数据,并且控制器130可以控制数据存储到存储器件150中。
可以将控制器130和存储器件150集成到单个半导体装置中,该单个半导体装置可以被包括在如以上所举例说明的各种类型的存储系统中。
存储系统110的非限制性应用示例可以包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑匣子、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数码图片记录器、数字图片播放器、数字录像机、数字视频播放器、构成数据中心的存储器件、能够在无线环境中发送/接收信息的装置、构成家庭网络的各种电子装置中的一个、构成计算机网络的各种电子装置中的一个、构成远程信息处理网络的各种电子装置中的一个、射频识别(RFID)装置或构成计算系统的各种组件中的一个。
存储器件150可以是非易失性存储器件并且即使未供应电力也保持存储在其中的数据。存储器件150可以通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器件150可以包括多个存储器裸片,各个存储器裸片包括多个平面,各个平面包括多个存储块152至156,所述存储块152至156中的每一个可以包括多个页,并且各个页可以包括耦接到字线的多个存储单元。
控制器130可以响应于来自主机102的请求而控制存储器件150。例如,控制器130可以将从存储器件150读取的数据提供给主机102,并且将从主机102提供的数据存储到存储器件150中。对于此操作,控制器130可以控制存储器件150的读取、写入、编程和擦除操作。
控制器130可以包括全部经由内部总线在操作上耦接的主机接口(I/F)单元132、处理器134、纠错码(ECC)单元138、电源管理单元(PMU)140、NAND闪存控制器(NFC)142和存储器144。
主机接口单元132可以被配置为处理主机102的命令和数据,并且可以通过诸如以下项的各种接口协议中的一种或更多种来与主机102进行通信:通用串行总线(USB)、多媒体卡(MMC)、快速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串行附连SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强小型磁盘接口(ESDI)和集成驱动电子装置(IDE)。
ECC单元138可以检测并纠正包含在从存储器件150读取的数据中的错误。换句话说,ECC单元138可以通过在ECC编码过程期间使用的ECC码来对从存储器件150读取的数据执行纠错解码过程。根据纠错解码过程的结果,ECC单元138可以输出信号,例如纠错成功/失败信号。当错误位的数量大于可纠正的错误位的阈值时,ECC单元138会未纠正错误位,并且可以输出纠错失败信号。
ECC单元138可以通过诸如以下项的编码调制来执行纠错:低密度奇偶校验(LDPC)码、Bose-Chaudhri-Hocquenghem(BCH)码、turbo码、Reed-Solomon码、卷积码、递归系统码(RSC)、网格编码调制(TCM)和块编码调制(BCM))。然而,ECC单元138不限于此。ECC单元138可以包括用于纠错的所有电路、模块、系统或装置。
PMU 140可以提供并管理控制器130的电力。
NFC 142可以用作用于与控制器130和存储器件150对接使得控制器130响应于来自主机102的请求而控制存储器件150的存储器/存储接口。当存储器件150是闪速存储器或特别是NAND闪速存储器时,NFC 142可以在处理器134的控制下产生针对存储器件150的控制信号并且用处理要提供给存储器件150的数据。NFC 142可以作为用于处理控制器130与存储器件150之间的命令和数据的接口(例如,NAND闪存接口)而工作。具体地,NFC 142可以支持控制器130与存储器件150之间的数据转移。
存储器144可以用作存储系统110和控制器130的工作存储器,并且存储用于驱动存储系统110和控制器130的数据。控制器130可以响应于来自主机102的请求而控制存储器件150以执行读取、写入、编程和擦除操作。控制器130可以将从存储器件150读取的数据提供给主机102,可以将从主机102提供的数据存储到存储器件150中。存储器144可以存储控制器130和存储器件150执行这些操作所需要的数据。
可以通过易失性存储器来具体实现存储器144。例如,可以通过静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来具体实现存储器144。存储器144可以被设置在控制器130内或外。图1举例说明了设置在控制器130内的存储器144。在一个实施方式中,可以通过具有在存储器144与控制器130之间转移数据的存储器接口的外部易失性存储器来具体实现存储器144。
处理器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的多个存储块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例示了NAND闪速存储器单元,然而不以这种方式限制本发明。应注意,存储单元可以是NOR闪速存储器单元,或者包括在其中组合的两种或更多种存储单元的混合闪速存储器单元。另外,应注意,存储器件150可以是包括作为电荷存储层的导电浮置栅极的闪速存储器装置或者包括作为电荷存储层的绝缘层的电荷俘获闪存(CTF)存储器件。
存储器件150还可以包括电压供应单元310,该电压供应单元310提供包括要根据操作模式供应给字线的编程电压、读取电压和通过电压的字线电压。电压供应单元310的电压产生操作可以由控制电路(未例示)来控制。在控制电路的控制下,电压供应单元310可以选择存储单元阵列的存储块(或扇区)中的一个,选择所选择的存储块的字线中的一条,并且将字线电压提供给所选择的字线和未选择的字线。
存储器件150可以包括由控制电路来控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可以作为用于从存储单元阵列读取数据的感测放大器而操作。在编程操作期间,读取/写入电路320可以作为用于根据要存储在存储单元阵列中的数据来驱动位线的写入驱动器而操作。在编程操作期间,读取/写入电路320可以从缓冲器(未例示)接收要存储到存储单元阵列中的数据,并且根据所接收到的数据来驱动位线。读取/写入电路320可以包括分别与列(或位线)或列对(或位线对)对应的多个页缓冲器322至326,并且页缓冲器322至326中的每一个可以包括多个锁存器(未例示)。
图4是例示了存储器件150的示例性3D结构的示意图。
可以通过2D或3D存储器件来具体实现存储器件150。具体地,如图4所例示,可以通过具有3D堆叠结构的非易失性存储器件来具体实现存储器件150。当存储器件150具有3D结构时,存储器件150可以包括各自具有3D结构(或垂直结构)的多个存储块BLK0至BLKN-1。
在下文中,参照图5至图9,描述了当存储系统110在其突然断电(SPO)之后被通电时控制器130可用来识别存储器件150中的部分区域的状况的方法。
图5是例示了编程存储单元的阈值电压分布的图。
图6是例示了由于对编程存储单元的读取电压施加而具有减小的读取电压裕度的编程存储单元的阈值电压分布的图。
存储单元可以具有阈值电压Vth,并且可以根据该阈值电压Vth的电平具有擦除状态和编程状态中的一种。
SLC存储单元的阈值电压Vth可以通过单个读取电压(例如,第一读取电压RV1)来识别,并且可以具有擦除状态E和单编程状态PV1中的一种。MLC存储单元的阈值电压Vth可以通过三(3)个读取电压(例如,第一读取电压RV1至第三读取电压RV3)来识别,并且可以具有擦除状态E和三(3)个编程状态PV1至PV3中的一种。TLC存储单元的阈值电压Vth可以通过七(7)个读取电压(例如,第一读取电压RV1至第七读取电压RV7)来识别,并且可以具有擦除状态E和七(7)个编程状态PV1至PV7中的一种。在下文中出于例示目的假定了存储单元是TLC。
参照图5,耦接到编程操作完成的字线的存储单元可以具有擦除状态E和七(7)个编程状态PV1至PV7中的一种。
如图5所举例说明的,可以将具有低于第一读取电压RV1的阈值电压Vth的存储单元评估为具有擦除状态E。可以将具有第一读取电压RV1与第二读取电压RV2之间的阈值电压Vth的存储单元评估为具有第一编程状态PV1。可以将具有第二读取电压RV2与第三读取电压RV3之间的阈值电压Vth的存储单元评估为具有第二编程状态PV2。按照类似的方式,可以通过第三读取电压RV3至第七读取电压RV7将存储单元评估为具有第三编程状态PV3至第七编程状态PV7中的一种。
如图5所举例说明的,具有相应的擦除状态E和编程状态PV1至PV7的存储单元的数量可以彼此基本上相同。在完成对字线的编程操作的情况下,具有擦除状态E的存储单元的数量可以与具有第一编程状态PV1的存储单元的数量基本上相同,并且具有第一编程状态PV1的存储单元的数量可以与具有第二编程状态PV2的存储单元的数量基本上相同。类似地,具有第二编程状态PV2的存储单元的数量可以与具有第三编程状态PV3至第七编程状态PV7中的任何一种的存储单元的数量基本上相同。
如图5所举例说明的,编程完成的存储单元的阈值电压Vth可以具有来自读取电压RV1至RV7的读取电压裕度。例如,具有擦除状态E的存储单元可以相对于第一读取电压RV1具有预定电压电平差。例如,具有第一编程状态PV1的存储单元可以分别相对于第一读取电压RV1和第二读取电压RV2具有预定电压电平差。例如,具有第二编程状态PV2至第七编程状态PV7中的一种的存储单元可以分别相对于第二读取电压RV2至第七读取电压RV7具有预定电压电平差。
然而,存储单元的阈值电压Vth可以随着读取电压被施加到存储单元而改变。也就是说,存储单元的阈值电压Vth可以随着从存储单元读取数据而改变。
如图6所举例说明的,随着读取电压被施加到存储单元,具有擦除状态E以及第一编程状态PV1至第七编程状态PV7的存储单元的阈值电压Vth分别可以低于或者高于第一读取电压RV1至第七读取电压RV7。
例如,具有擦除状态E的存储单元的阈值电压Vth可以高于第一读取电压RV1。例如,具有第一编程状态PV1的存储单元的阈值电压Vth可以低于第一读取电压RV1或者高于第二读取电压RV2。例如,具有第二编程状态PV2至第七编程状态PV7的存储单元的阈值电压Vth分别可以低于第二读取电压RV2至第六读取电压RV6,或者分别可以高于第三读取电压RV3至第七读取电压RV7。
随着存储单元的阈值电压Vth改变,具有邻近状态的存储单元的阈值电压分布可以彼此交叠。
如图6所举例说明的,具有擦除状态E和第一编程状态PV1的存储单元的阈值电压分布可以彼此交叠。具有第一编程状态PV1和第二编程状态PV2的存储单元的阈值电压分布可以彼此交叠。按照类似的方式,具有第三编程状态PV3至第七编程状态PV7的存储单元的阈值电压分布分别可以与具有邻近状态(即,第二编程状态PV2至第七编程状态PV7)的存储单元的阈值电压分布交叠。
当具有不同的邻近状态的存储单元的阈值电压分布交叠时,从存储单元读取的数据可以具有错误。
如图6所举例说明的,当第四读取电压RV4被施加到存储单元时,在从具有第三编程状态PV3的存储单元当中的具有高于第四读取电压RV4的阈值电压Vth的存储单元读取的数据中可以存在错误。按照类似的方式,当第四读取电压RV4被施加到存储单元时,在从具有第四编程状态PV4的存储单元当中的具有低于第四读取电压RV4的阈值电压Vth的存储单元读取的数据中可以存在错误。在从交叠的阈值电压分布的存储单元读取的数据中可以存在错误。因为具有不同的邻近状态的存储单元的阈值电压分布彼此交叠,所以从存储单元读取的数据会包括错误位。
本发明通过提供可以执行将存储在交叠的阈值电压分布的存储单元中的数据复制到另一存储单元中的回收操作的控制器130来解决此担心。控制器130可以基于对应字线的读取计数来执行将存储在存储单元中的数据复制到另一存储单元中的回收操作。字线的读取计数指代对字线的读取电压施加的数量。各条字线的读取计数可以被存储在存储器件150中。
本发明的实施方式也解决当在将读取计数存储到存储器件150中完成之前在存储系统110中发生突然断电(SPO)时出现的问题,因为读取计数会不表示对各条字线的读取电压的实质施加次数。例如,在控制器130响应于来自主机102的读取命令而控制存储器件150以读取存储在耦接到第一字线的存储单元中的数据之后,当在控制器130完成对存储在存储器件150中的第一字线的读取计数的更新之前在存储系统110中发生突然断电(SPO)时,第一字线的读取计数可以具有比对第一字线的读取电压的实际施加次数小“1”的值。结果,因为对于第一字线来说读取计数由于存储系统110中的SPO而未被更新,所以会未在适当的时间点对第一字线执行回收操作。
因此,作为示例,假定设定了要在第一字线的读取计数大于1000时对第一字线执行回收操作,则即使当对第一字线的读取电压的实际施加次数大于1000时,控制器130也会由于存储系统110的SPO而未对第一字线执行回收操作。
因此,当由于SPO而未在适当的时间点对一条或更多条字线执行回收操作时,在从耦接到由于SPO而在适当的时间未经历回收操作的一条或更多条字线的存储单元读取的数据中可以存在许多无法纠正的错误。也就是说,当由于SPO例如在适当的时间点未对一条或更多条字线执行回收操作时,会损坏存储在耦接到各条字线的存储单元中的数据。
在下文中,参照图7所描述的将是根据本发明的实施方式的存储系统110的回收操作。
图7是例示了存储系统110的示意图。
参照图7,控制器130还可以包括选择单元710、读取单元720、判定单元730和写入单元740。
存储器件150可以包括各自具有多个存储块的多个存储器裸片750和760。如图7所举例说明的,第一存储器裸片750可以包括第一存储块和第二存储块,并且第二存储器裸片760可以包括第三存储块和第四存储块。相应的第一存储块至第四存储块可以各自包括多条字线。如图7所举例说明的,第一存储块可以包括第一字线WL1至第六字线WL6,第二存储块可以包括第七字线WL7至第十二字线WL12,第三存储块可以包括六条字线WL13至WL24,并且第四存储块可以包括六条字线WL25至WL36。
字线WL1至WL36中的每一条可以包括多个页。如图7所举例说明的,当存储单元是TLC存储单元时,相应的字线WL1至WL36可以包括三(3)个页,这仅仅是示例。存储单元可以是SLC、MLC、QLC或其组合。
当存储系统110在SPO之后被通电时选择单元710可以选择多个预定读取组RG1至RG8中的一个。读取组是当存储系统110在SPO之后被通电时对其执行读取操作的字线的组。相应的读取组RG1至RG8可以包括一条或更多条字线。如图7所举例说明的,读取组RG1至RG8中的每一个包括三(3)条字线,并且选择单元710可以选择读取组RG1至RG8中的一个。
选择单元710可以选择与读取组索引对应的读取组RG1至RG8中的一个。具体地,选择单元710可以选择与读取组索引1至NG中的一个对应的读取组RG1至RG8中的一个。数字“NG”可以表示读取组RG1至RG8的数量。可以根据随机函数、轮询调度方案或SPO计数来产生读取组索引1至NG。
例如,当根据SPO计数产生读取组索引1至NG时,选择单元710可以选择与通过式1产生的读取组索引1至NG中的一个对应的读取组RG1至RG8中的一个。
[式1]
IG=CSPO mod NG。
在式1中,IG可以是读取组索引,CSPO可以是SPO计数,并且NG可以是读取组的数量。参照式1,读取组索引IG是SPO计数CSPO除以读取组NG的数量的结果的余数。因此,如果SPO发生的次数和读取组的数量NG一样多,则这可以表示读取组中的每一个可以被选择至少一次。
如图7所举例说明的,当可以在存储器件150中按八(即,NG为8)对字线进行分组并且SPO发生三次(即,CSPO为3)时,选择单元710可以选择第三读取组RG3,其对应于具有值3(即,3模8)的读取组索引IG。另外,如图7所举例说明的,当可以在存储器件150中按八(即,NG为8)对字线进行分组并且SPO发生十二次(即,CSPO为12)时,选择单元710可以选择第四读取组RG4,其对应于具有值4(即,12模8)的读取组索引IG。
此外,例如,当基于SPO计数CSPO选择读取组RG1至RG8中的一个时,选择单元710可以通过使用根据以SPO计数CSPO作为输入的预定函数而产生的读取组索引IG来选择读取组RG1至RG8中的一个。该预定函数可以是哈希函数(hash function)。例如,如图7所举例说明的,当可以在存储器件150中按八(即,NG为8)对字线进行分组并且SPO发生三次(即,CSPO为3)时,选择单元710可以选择与根据以3作为输入值的散列函数而产生的读取组索引IG对应的读取组RG1至RG8中的一个。
读取单元720可以读取存储在由选择单元710选择的读取组的页中的数据。例如,当选择单元710选择第三读取组RG3时,读取单元720可以从包括在第三读取组RG3中的页(即,页19至页27)读取数据。由读取单元720读取的数据可以被存储在存储器144中。
ECC单元138可以检测并纠正存储在存储器144中的数据的错误。
判定单元730可以判定是否执行回收操作。具体地,判定单元730可以基于由ECC单元138检测到的错误的数量来判定是否执行回收操作。例如,当所检测到的错误的数量小于预定阈值时,判定单元730可以判定要执行回收操作。预定阈值可以大于一(1)且小于可纠正的错误的最大数量。例如,当ECC单元138的纠错码可最多纠正五(5)个错误时,预定阈值可以被确定为在一(1)与五(5)之间。
例如,当在从包括在所选择的第三读取组RG3中的页(即,页19至页25)当中的第21页和第25页读取的并存储在存储器144中的数据中检测到比预定阈值小的数量的错误时,判定单元730可以判定要对从第21页和第25页读取的并存储在存储器144中的数据执行回收操作。因此,可以将从第21页和第25页读取的并存储在存储器144中的数据写入到另一页中。
写入单元740可以将判定单元730判定要执行回收操作的数据写入到另一页中。例如,当判定单元730判定要对从第21页和第25页读取的并存储在存储器144中的数据执行回收操作时,写入单元740可以将从第21页和第25页读取的并存储在存储器144中的数据写入到另一页中。
图8是例示了根据本发明的实施方式的存储系统110的操作的流程图。
参照图8,在步骤S810处,控制器130可以确定在存储系统110中是否已发生SPO并且然后存储系统110已被通电。
当在存储系统110中已发生SPO并且然后存储系统110已被通电(在步骤S810处“是”)时,控制器130可以执行步骤S820。当在存储系统110中尚未发生SPO或者存储系统110尚未被通电(在步骤S810处“否”)时,控制器130可以重复步骤S810。
在步骤S820处,选择单元710可以选择预定读取组(例如,读取组RG1至RG8)中的一个。
在步骤S830处,读取单元720可以从在步骤S820处选择的读取组读取数据。
在步骤S840处,ECC单元138可以识别由读取单元720读取并存储在存储器144中的数据的错误的数量。
在步骤S850处,写入单元740可以对具有数量小于预定阈值的错误的数据执行回收操作。
如上所述,根据本发明的实施方式,存储系统110可以通过每当在其中发生SPO并且它被通电时选择预定读取组中的一个并且通过判定是否执行回收操作来在没有从主机102提供的读取命令的情况下执行回收操作。因此,即使当在存储系统110中重复地发生SPO时也可以在适当的时间点执行回收操作。
图9是例示了存储系统110的示意图。
当与图7的实施方式相比较时,图9的实施方式可以根据超级存储块方案来管理存储块。
参照图9,控制器130可以管理超级存储块,其中的每一个包括存储器件150的多个存储块。包括在相应的超级存储块中的存储块可以由控制器130一次控制。如图9所举例说明的,控制器130可以管理超级存储块910和920,其中的每一个包括存储器件150的存储器裸片1和裸片2。图9举例说明了包括第一存储块存储块1和第三存储块存储块3的第一超级存储块910以及包括第二存储块存储块2和第四存储块存储块4的第二超级存储块920。
控制器130可以通过诸如通道交织方案、存储器裸片交织方案、存储器芯片交织方案和方式交织方案的交织方案一次控制超级存储块910和920中的每一个中的存储块。
因此,当控制器130将存储块作为超级存储块来管理时,各个读取组可以具有比图7的实施方式中的字线更多数量的字线。例如,参照图9,因为控制器130可以通过交织方案一次控制第一超级存储块910的第一裸片裸片1和第二裸片裸片2,所以第一读取组可以包括第一存储器裸片裸片1的第一字线WL1至第三字线WL3以及第二存储器裸片裸片2的第一字线WL1至第三字线WL3。
在下文中,参照图10至图18所描述的将是根据本发明的实施方式的数据处理系统和电子设备。该数据处理系统和电子设备可以包括以上参照图1至图9所描述的存储系统110。
图10至图18是例示了包括存储系统110的数据处理系统的各种实施方式的示意图。
图10是示意性地例示了包括存储系统110的数据处理系统的实施方式的图。图10示意性地例示了适用存储系统110的存储卡系统6100。
参照图10,存储卡系统6100可以包括存储控制器6120、存储器件6130和连接器6110。
更具体地,存储控制器6120可以连接到由非易失性存储器具体实现的存储器件6130,并且被配置为访问存储器件6130。例如,存储控制器6120可以被配置为控制存储器件6130的读取、写入、擦除和后台操作。存储控制器6120可以被配置为提供存储器件6130与主机之间的接口,并且驱动用于控制存储器件6130的固件。也就是说,存储控制器6120可以对应于参照图1至图9所描述的存储系统110的控制器130,并且存储器件6130可以对应于参照图1至图9所描述的存储系统110的存储器件150。
因此,存储控制器6120可以包括RAM、处理单元、主机接口、存储器接口和纠错单元。存储控制器130还可以包括图5所示的元件。
存储控制器6120可以通过连接器6110与外部装置(例如,图1的主机102)进行通信。例如,如参照图1所描述的,存储控制器6120可以被配置为通过诸如以下项的各种通信协议中的一种或更多种来与外部装置进行通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、快速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强小型磁盘接口(EDSI)、集成驱动电子装置(IDE)、Firewire、通用闪存(UFS)、WIFI和蓝牙。因此,根据本实施方式的存储系统和数据处理系统可以被应用于有线/无线电子装置或特别是移动电子装置。
可以通过非易失性存储器来实现存储器件6130。例如,可以通过诸如以下项的各种非易失性存储器件来实现存储器件6130:可擦除且可编程ROM(EPROM)、电可擦除且可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋矩转移磁RAM(STT-RAM)。
可以将存储控制器6120和存储器件6130集成到单个半导体装置中。例如,存储控制器6120和存储器件6130可以通过被集成到单个半导体装置中来构造固态驱动器(SSD)。另外,存储控制器6120和存储器件6130可以构造存储卡,诸如PC卡(PCMCIA:个人计算机存储卡国际协会)、紧凑闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、MMCmicro和eMMC)、SD卡(例如,SD、miniSD、microSD和SDHC)和通用闪存(UFS)。
图11是示意性地例示了包括存储系统110的数据处理系统6200的另一实施方式的图。
参照图11,数据处理系统6200可以包括具有一个或更多个非易失性存储器的存储器件6230以及用于控制该存储器件6230的存储控制器6220。图11所例示的数据处理系统6200可以用作诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质,如参照图1所描述的。存储器件6230可以对应于图1至图9所例示的存储系统110中的存储器件150,并且存储控制器6220可以对应于图1至图9所例示的存储系统110中的控制器130。
存储控制器6220可以响应于主机6210的请求而控制对存储器件6230的读取、写入或擦除操作,并且存储控制器6220可以包括一个或更多个CPU 6221、诸如RAM6222的缓冲存储器、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码、turbo码、Reed-Solomon码、卷积码、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是示意性地例示了包括存储系统110的数据处理系统的另一实施方式的图。图12示意性地例示了适用存储系统110的SSD 6300。
参照图12,SSD 6300可以包括控制器6320以及包括多个非易失性存储器的存储器件6340。控制器6320可以对应于图1至图9的存储系统110中的控制器130,并且存储器件6340可以对应于图1至图9的存储系统中的存储器件150。
更具体地,控制器6320可以通过多个通道CH1至CHi连接到存储器件6340。控制器6320可以包括一个或更多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324和存储器接口,例如非易失性存储器接口6326。
缓冲存储器6325可以暂时地存储从主机6310提供的数据或从包括在存储器件6340中的多个闪速存储器NVM提供的数据,或者暂时地存储所述多个闪速存储器NVM的元数据,例如包括映射表的映射数据。可以通过诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或者诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器来具体实现缓冲存储器6325。为了描述的方便,图12例示了缓冲存储器6325被设置在控制器6320中。然而,缓冲存储器6325可以被设置在控制器6320外部。
ECC电路6322可以在编程操作期间计算要编程到存储器件6340的数据的ECC值,在读取操作期间基于ECC值对从存储器件6340读取的数据执行纠错操作,并且在失败数据恢复操作期间对从存储器件6340恢复的数据执行纠错操作。
主机接口6324可以提供与外部装置(例如,主机6310)的接口功能,并且非易失性存储器接口6326可以提供与通过多个通道连接的存储器件6340的接口功能。
此外,可以提供适用图1至图9的存储系统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。
图13是示意性地例示了包括存储系统110的数据处理系统的另一实施方式的图。图13示意性地例示了适用存储系统110的嵌入式多媒体卡(eMMC)6400。
参照图13,eMMC 6400可以包括控制器6430和通过一个或更多个NAND闪速存储器具体实现的存储器件6440。控制器6430可以对应于图1至图9的存储系统110中的控制器130,并且存储器件6440可以对应于图1至图9的存储系统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是示意性地例示了包括存储系统110的数据处理系统的其它实施方式的图。图14至图17示意性地例示了适用存储系统110的通用闪存(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和图5所例示的存储系统110来具体实现。例如,在UFS系统6500、6600、6700和6800中,可以以参照图11至图13所描述的数据处理系统6200、SSD6300或eMMC 6400的形式具体实现UFS装置6520、6620、6720和6820,并且可以以参照图10所描述的存储卡系统6100的形式具体实现UFS卡6530、6630、6730和6830。
此外,在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卡可以并联或以星形的形式连接到主机6410,并且多个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是例示了包括存储系统110的数据处理系统的另一实施方式的图。图18示意性地例示了适用根据该实施方式的存储系统的用户系统6900。
参照图18,用户系统6900可以包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
应用处理器6930可以驱动包括在用户系统6900和操作系统(OS)中的组件。例如,应用处理器6930可以包括用于控制包括在用户系统6900中的组件、接口、图形引擎等的控制器。应用处理器6930可以由片上系统(SoC)来提供。
存储器模块6920可以作为用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器而操作。存储器模块6920可以包括诸如动态随机存取存储器DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据率(DDR)SDRAM、DDR2SDRAM、DDR3SDRAM、低功率双倍数据率(LPDDR)SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性随机存取存储器或者诸如相变随机存取存储器(PRAM)、电阻式随机存取存储器(ReRAM)、磁随机存取存储器(MRAM)和铁电随机存取存储器(FRAM)的非易失性随机存取存储器。例如,应用处理器6930和存储器模块6920可以通过基于堆叠封装(POP)进行封装来安装。
网络模块6940可以与外部装置进行通信。例如,网络模块6940可以不仅支持有线通信而且还支持各种无线通信,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI)等,并且可以因此与有线/无线电子器具(例如,移动电子器具)进行通信。根据这个事实,根据该实施方式的存储系统和数据处理系统可以被应用于有线/无线电子装置。网络模块6940可以被包括在应用处理器6930中。
存储模块6950可以存储诸如从应用处理器6530接收到的数据的数据,并且将存储在其中的数据发送到应用处理器6530。可以通过诸如相变RAM(PRAM)、磁RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪速存储器、NOR闪速存储器和三维NAND闪速存储器的非易失性半导体存储器件来实现存储模块6950。存储模块6950可以作为诸如用户系统6900的存储卡和外部驱动器的可拆卸存储介质被提供。例如,存储模块6950可以对应于以上参照图1所描述的存储系统110。并且可以用以上参照图12至图17所描述的SSD、eMMC和UFS加以实现。
用户接口6910可以包括用于将数据或命令输入给应用处理器6930或者用于将数据输出到外部装置的接口。例如,用户接口6910可以包括诸如键盘、键区、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和电机的用户输出接口。
如上所述,在以上参照图1所描述的存储系统110被应用于根据实施方式的用户系统6900的移动电子器具的情况下,应用处理器6930可以控制该移动电子器具的操作,并且作为通信模块的网络模块6940可以控制与外部装置的有线/无线通信。作为移动电子器具的显示/触摸模块的用户接口6910显示由应用处理器6930处理的数据或者支持从触摸面板输入数据。
虽然已经相对于特定实施方式描述了本发明,但是对于本领域技术人员而言将显而易见的是,可以在不脱离如以下权利要求所限定的本发明的精神和范围的情况下作出各种改变和修改。
相关申请的交叉引用
本申请要求于2017年3月29日提交的韩国专利申请第10-2017-0040065号的优先权,通过引用将其整体地并入本文。
Claims (20)
1.一种控制器的操作方法,该操作方法包括以下步骤:
当发生突然断电SPO并接着电源接通时,读取存储在从存储器件的多个读取组当中选择的第一读取组中的第一数据;
确定所述第一数据中的每一个中的错误位数据的数量;以及
基于所述第一数据中的每一个中的错误位数据的数量来对所述第一数据中的每一个执行回收操作,
其中,所述多个读取组中的每一个读取组包括预定数量的字线,并且
其中,所述第一读取组是基于所述SPO的发生次数在所述多个读取组当中选择的。
2.根据权利要求1所述的操作方法,其中,对所述第一数据当中具有比预定阈值小的数量的错误位数据的第二数据执行所述回收操作。
3.根据权利要求2所述的操作方法,其中,所述预定阈值介于1与能够纠正的错误位数据的数量之间。
4.根据权利要求1所述的操作方法,其中,所述多个读取组中的每一个读取组包括所述存储器件中的不同的存储器裸片的字线。
5.一种控制器的操作方法,该操作方法包括以下步骤:
当发生突然断电SPO并接着电源接通时,读取存储在从存储器件的多个读取组当中选择的第一读取组中的第一数据;
确定所述第一数据中的每一个中的错误位数据的数量;以及
基于所述第一数据中的每一个中的错误位数据的数量来对所述第一数据中的每一个执行回收操作,
其中,所述多个读取组中的每一个读取组包括预定数量的字线,并且
其中,所述第一读取组是根据轮询调度方案在所述多个读取组当中选择的。
6.根据权利要求5所述的操作方法,其中,对所述第一数据当中具有比预定阈值小的数量的错误位数据的第二数据执行所述回收操作。
7.根据权利要求5所述的操作方法,其中,所述多个读取组中的每一个读取组包括所述存储器件中的不同的存储器裸片的字线。
8.一种控制器,该控制器包括:
纠错码单元,该纠错码单元被配置为确定第一数据中的每一个中的错误位数据的数量;以及
处理器,该处理器被配置为:
当发生突然断电SPO并接着电源接通时,读取存储在从存储器件的多个读取组当中选择的第一读取组中的所述第一数据;并且
基于所述第一数据中的每一个中的错误位数据的数量来对所述第一数据中的每一个执行回收操作,
其中,所述多个读取组中的每一个读取组包括预定数量的字线,并且
其中,所述处理器被配置为基于所述SPO的发生次数在所述多个读取组当中选择所述第一读取组。
9.根据权利要求8所述的控制器,其中,所述处理器被配置为对所述第一数据当中具有比预定阈值小的数量的错误位数据的第二数据执行所述回收操作。
10.根据权利要求9所述的控制器,其中,所述预定阈值介于1与能够纠正的错误位数据的数量之间。
11.根据权利要求8所述的控制器,其中,所述多个读取组中的每一个读取组包括所述存储器件中的不同的存储器裸片的字线。
12.一种控制器,该控制器包括:
纠错码单元,该纠错码单元被配置为确定第一数据中的每一个中的错误位数据的数量;以及
处理器,该处理器被配置为:
当发生突然断电SPO并接着电源接通时,读取存储在从存储器件的多个读取组当中选择的第一读取组中的所述第一数据;并且
基于所述第一数据中的每一个中的错误位数据的数量来对所述第一数据中的每一个执行回收操作,
其中,所述多个读取组中的每一个读取组包括预定数量的字线,并且
其中,所述处理器被配置为根据轮询调度方案在所述多个读取组当中选择所述第一读取组。
13.根据权利要求12所述的控制器,其中,所述处理器被配置为对所述第一数据当中具有比预定阈值小的数量的错误位数据的第二数据执行所述回收操作。
14.根据权利要求12所述的控制器,其中,所述多个读取组中的每一个读取组包括所述存储器件中的不同的存储器裸片的字线。
15.一种存储系统,该存储系统包括:
适合于存储数据的存储器件;以及
适合于控制所述存储器件的控制器,
其中,所述控制器被配置为:
当发生突然断电SPO并接着电源接通时,读取存储在从所述存储器件的多个读取组当中选择的第一读取组中的第一数据;
确定所述第一数据中的每一个中的错误位数据的数量;并且
基于所述第一数据中的每一个中的错误位数据的数量来对所述第一数据中的每一个执行回收操作,
其中,所述多个读取组中的每一个读取组包括预定数量的字线,并且
其中,所述控制器被配置为基于所述SPO的发生次数在所述多个读取组当中选择所述第一读取组。
16.根据权利要求15所述的存储系统,其中,所述控制器被配置为对所述第一数据当中具有比预定阈值小的数量的错误位数据的第二数据执行所述回收操作。
17.根据权利要求16所述的存储系统,其中,所述预定阈值介于1与能够纠正的错误位数据的数量之间。
18.一种存储系统,该存储系统包括:
适合于存储数据的存储器件;以及
适合于控制所述存储器件的控制器,
其中,所述控制器被配置为:
当发生突然断电SPO并接着电源接通时,读取存储在从所述存储器件的多个读取组当中选择的第一读取组中的第一数据;
确定所述第一数据中的每一个中的错误位数据的数量;并且
基于所述第一数据中的每一个中的错误位数据的数量来对所述第一数据中的每一个执行回收操作,
其中,所述多个读取组中的每一个读取组包括预定数量的字线,并且
其中,所述控制器被配置为根据轮询调度方案在所述多个读取组当中选择所述第一读取组。
19.根据权利要求18所述的存储系统,其中,所述控制器被配置为对所述第一数据当中具有比预定阈值小的数量的错误位数据的第二数据执行所述回收操作。
20.根据权利要求18所述的存储系统,其中,所述多个读取组中的每一个读取组包括所述存储器件中的不同的存储器裸片的字线。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0040065 | 2017-03-29 | ||
KR1020170040065A KR102224564B1 (ko) | 2017-03-29 | 2017-03-29 | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108694096A CN108694096A (zh) | 2018-10-23 |
CN108694096B true CN108694096B (zh) | 2021-09-17 |
Family
ID=63672606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711375156.8A Active CN108694096B (zh) | 2017-03-29 | 2017-12-19 | 控制器、存储系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10606710B2 (zh) |
KR (1) | KR102224564B1 (zh) |
CN (1) | CN108694096B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102430798B1 (ko) * | 2018-01-11 | 2022-08-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102485694B1 (ko) * | 2018-02-09 | 2023-01-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102671727B1 (ko) * | 2018-11-30 | 2024-06-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20200084200A (ko) * | 2019-01-02 | 2020-07-10 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
KR102610395B1 (ko) * | 2019-01-22 | 2023-12-05 | 삼성전자주식회사 | 비휘발성 메모리 장치를 포함하는 메모리 시스템 |
KR20200099825A (ko) * | 2019-02-15 | 2020-08-25 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR20210103234A (ko) | 2020-02-13 | 2021-08-23 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그 동작 방법 |
CN113535459B (zh) * | 2020-04-14 | 2024-04-12 | 慧荣科技股份有限公司 | 响应电源事件的数据存取方法及装置 |
KR20210146637A (ko) * | 2020-05-27 | 2021-12-06 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
KR20220028300A (ko) * | 2020-08-28 | 2022-03-08 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작 방법 |
KR102491652B1 (ko) * | 2021-09-17 | 2023-01-27 | 삼성전자주식회사 | 산포 타입을 결정하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 |
KR102491655B1 (ko) * | 2021-10-01 | 2023-01-27 | 삼성전자주식회사 | 에러 카운트를 결정하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103714856A (zh) * | 2012-10-05 | 2014-04-09 | 三星电子株式会社 | 存储器系统及其读取回收方法 |
CN104699413A (zh) * | 2013-12-09 | 2015-06-10 | 群联电子股份有限公司 | 数据管理方法、存储器存储装置及存储器控制电路单元 |
CN105718378A (zh) * | 2014-12-19 | 2016-06-29 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
CN106155585A (zh) * | 2015-05-13 | 2016-11-23 | 爱思开海力士有限公司 | 自适应读取干扰收回策略 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101577721B1 (ko) | 2010-07-09 | 2015-12-29 | 삼성전자주식회사 | 메모리 시스템 및 그것의 리프레쉬 방법 |
KR101878200B1 (ko) * | 2012-01-09 | 2018-07-16 | 삼성전자 주식회사 | 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법 |
KR20140128821A (ko) * | 2013-04-29 | 2014-11-06 | 삼성전자주식회사 | 아토믹 라이트 완료 식별자를 ip 코어별로 생성할 수 있는 데이터 저장 장치의 동작 방법과 이를 포함하는 시스템의 동작 방법 |
KR102116983B1 (ko) * | 2013-08-14 | 2020-05-29 | 삼성전자 주식회사 | 메모리 장치 및 메모리 시스템의 동작 방법. |
KR102085127B1 (ko) * | 2013-11-13 | 2020-04-14 | 삼성전자주식회사 | 메모리 컨트롤러의 구동 방법 및 메모리 컨트롤러에 의해서 제어되는 비휘발성 메모리 장치 |
US9165670B2 (en) * | 2013-11-14 | 2015-10-20 | Sandisk Technologies Inc. | Data retention detection techniques for a data storage device |
KR102148389B1 (ko) | 2014-06-11 | 2020-08-27 | 삼성전자주식회사 | 오버 라이트 동작을 갖는 메모리 시스템 및 그에 따른 동작 제어방법 |
US20160118132A1 (en) * | 2014-10-27 | 2016-04-28 | Sandisk Enterprise Ip Llc | Low Impact Read Disturb Handling |
KR102687216B1 (ko) * | 2016-10-12 | 2024-07-22 | 삼성전자주식회사 | 비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치 |
-
2017
- 2017-03-29 KR KR1020170040065A patent/KR102224564B1/ko active IP Right Grant
- 2017-11-01 US US15/800,411 patent/US10606710B2/en active Active
- 2017-12-19 CN CN201711375156.8A patent/CN108694096B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103714856A (zh) * | 2012-10-05 | 2014-04-09 | 三星电子株式会社 | 存储器系统及其读取回收方法 |
CN104699413A (zh) * | 2013-12-09 | 2015-06-10 | 群联电子股份有限公司 | 数据管理方法、存储器存储装置及存储器控制电路单元 |
CN105718378A (zh) * | 2014-12-19 | 2016-06-29 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
CN106155585A (zh) * | 2015-05-13 | 2016-11-23 | 爱思开海力士有限公司 | 自适应读取干扰收回策略 |
Also Published As
Publication number | Publication date |
---|---|
KR102224564B1 (ko) | 2021-03-09 |
US10606710B2 (en) | 2020-03-31 |
CN108694096A (zh) | 2018-10-23 |
KR20180110473A (ko) | 2018-10-10 |
US20180285213A1 (en) | 2018-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108694096B (zh) | 控制器、存储系统及其操作方法 | |
US10311920B2 (en) | Apparatus and method for controlling memory device | |
CN108304141B (zh) | 存储器系统及其操作方法 | |
CN107643985B (zh) | 存储器系统及其操作方法 | |
CN107797882B (zh) | 存储器系统及其操作方法 | |
US10861581B2 (en) | Memory system for accessing recovered super block and operating method thereof | |
CN107957849B (zh) | 存储器系统及其操作方法 | |
US10635333B2 (en) | Memory system | |
CN108121665B (zh) | 存储器系统及其操作方法 | |
CN108694138B (zh) | 控制器及其操作方法 | |
US10558382B2 (en) | Memory system and operating method thereof | |
US10923192B2 (en) | Memory system and operating method thereof | |
CN107346214B (zh) | 存储器系统及其操作方法 | |
CN108388525B (zh) | 存储器系统及其操作方法 | |
US20190087126A1 (en) | Memory system and operating method of memory system | |
CN108694970B (zh) | 控制器及其操作方法 | |
CN108389602B (zh) | 存储器系统及其操作方法 | |
CN109656470B (zh) | 存储器系统及其操作方法 | |
CN107728932B (zh) | 存储器系统及其操作方法 | |
US20190140659A1 (en) | Controller and operating method thereof | |
CN110045914B (zh) | 存储器系统及其操作方法 | |
US10671523B2 (en) | Memory system | |
CN110928486B (zh) | 存储器系统及其操作方法 | |
CN107436730B (zh) | 数据处理系统及其操作方法 | |
US10528465B2 (en) | 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 |