CN103714856B - 存储器系统及其读取回收方法 - Google Patents
存储器系统及其读取回收方法 Download PDFInfo
- Publication number
- CN103714856B CN103714856B CN201310464864.4A CN201310464864A CN103714856B CN 103714856 B CN103714856 B CN 103714856B CN 201310464864 A CN201310464864 A CN 201310464864A CN 103714856 B CN103714856 B CN 103714856B
- Authority
- CN
- China
- Prior art keywords
- memory block
- memory
- data
- storage
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- 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
- 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/1072—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 multilevel memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5671—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
一种存储器系统,包括:非易失性存储器件,包括由每单元存储n位数据的存储块形成的第一存储区域和由每单元存储m位数据的存储块形成的第二存储区域,其中n和m是等于或大于1的不同的整数;和存储器控制器,配置为控制所述非易失性存储器件。所述存储器控制器被配置为执行读取操作,以及执行读取回收操作,在所述读取回收操作中,第二存储区域的目标存储块的有效数据被传送到第一存储区域的一个或多个存储块,目标存储块在读取操作期间被选择。当目标存储块的所有有效数据都被传送到第一存储区域的一个或多个存储块时,所述读取回收操作被处理为完成。
Description
对相关申请的交叉引用
本申请要求于2012年10月5日在韩国知识产权局提交的韩国专利申请第10-2012-0110859号的优先权,其全部内容通过引用合并于此。
技术领域
这里描述的发明构思涉及半导体存储器件,更具体地,该发明构思涉及包括非易失性存储器的存储器系统和由该包括非易失性存储器的存储器系统执行的读取回收(readreclaim)方法。
背景技术
半导体存储器构成诸如范围从卫星到消费类电子产品的基于计算机和微处理器的应用的数字逻辑系统设计的重要微电子组件。半导体存储器的制造的进展有助于建立用于其他数字逻辑家族的性能标准,所述半导体存储器的制造的进展包括通过缩放(scaling)以实现更高密度和更快操作速度的工艺提高和技术发展。
一类半导体存储器是易失性随机存取存储器(RAM)。在易失性RAM器件中,通常通过诸如在静态随机存取存储器(SRAM)中建立双稳态触发器的逻辑状态或者通过诸如在动态随机存取存储器(DRAM)中充电电容器来存储逻辑信息。在任一情况中,器件被认为是易失性的,因为如果施加到所述器件的电力供应中断,存储的数据就丢失。
另一类半导体存储器是非易失性存储器,即使电力供应中断,其也保持存储的数据。例子包括掩模只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)以及电可擦除可编程只读存储器(EEPROM)。取决于使用的制造技术,在非易失性存储器中存储的数据可以是永久的或可重编程的。另外,非易失性存储器可以用于计算机、航空电子设备、电信和消费类电子产业中的各种各样的应用中的程序和微代码存储。在诸如非易失性SRAM(nvRAM)的器件中还会用到单片易失性和非易失性存储器存储模式的组合,以在需要快速、可编程的非易失性存储器的系统中使用。另外,已发展了许多专用存储器架构,其包含额外的逻辑电路以对于专用任务最优化它们的性能。
前面给出的非易失性存储器的例子中,MROM、PROM和EPROM不能由对应的系统自身擦除然后写入,因此普通用户难以或不能更新存储的内容。另一方面,EEPROM能够在系统级被电擦除然后写入。因此,EEPROM的应用已经扩展到需要连续更新的辅助存储器和系统编程。其例子是广泛采用的闪存。
发明内容
本发明构思的实施例的一个方面关注于提供一种存储器系统,其包括:非易失性存储器件,包括由每单元存储n位数据的存储块形成的第一存储区域和由每单元存储m位数据的存储块形成的第二存储区域,其中n和m是等于或大于1的不同的整数;和存储器控制器,配置为控制所述非易失性存储器件。所述存储器控制器被配置为执行读取操作,以及执行读取回收操作,在所述读取回收操作中,第二存储区域的目标存储块的有效数据被传送到第一存储区域的一个或多个存储块,目标存储块在读取操作期间被选择。当目标存储块的所有有效数据都被传送到第一存储区域的一个或多个存储块时,所述读取回收操作处理完成。
本发明构思的实施例的另一方面关注于提供一种存储器控制器的读取回收方法,所述存储器控制器控制包括每单元存储n位数据的第一存储块和每单元存储m位数据的第二存储块的非易失性存储器件,其中n和m是等于或大于1的不同的整数。所述方法包括:识别第二存储块中的存储块作为读取回收操作的目标;和通过将识别为读取回收操作的目标的存储块的有效数据传送到第一存储块中的一个或多个存储块来执行所述读取回收操作。其中当所有有效数据被传送到第一存储块中的一个或多个存储块时,所述读取回收操作处理完成。
本发明构思的实施例的又一方面关注于提供一种存储器控制器的操作方法,所述存储器控制器控制包括每单元存储n位数据的第一存储块和每单元存储m位数据的第二存储块的非易失性存储器件,其中n和m是等于或大于1的不同的整数。所述方法包括:当从第二存储块读取的数据的错误超过基准时,存储指示第二存储块是读取回收操作的目标存储块的队列信息;根据主机的请求,基于队列信息确定是否存在目标存储块。该方法还包括当确定存在目标存储块时,在第一存储块当中的一个或多个存储块中编程目标存储块的有效数据;以及在垃圾收集操作,在第二存储块当中的存储块中编程在所述第一存储块当中的一个或多个存储块中存储的数据。当目标存储块的所有有效数据在第一存储块中的一个或多个存储块中被编程时,所述读取回收操作处理完成。
附图说明
参考附图,以上和其他目的和特征将从随后的详细描述而变得显而易见,其中,除非另外指明,相同的参考数字贯穿各个附图指示相同的部件。
图1是示意性地图示根据本发明构思的实施例的以重编程技术执行的编程操作的图。
图2是示意性地图示根据本发明构思的实施例的存储器系统的框图。
图3是示意性地图示图2中示出的存储器控制器的示例的框图。
图4是示意性地图示图2中示出的非易失性存储器件的示例的框图。
图5是示意性地图示图4中示出的存储单元阵列的示例的框图。
图6A到6D是用于描述根据本发明构思的实施例的多位存储器件的第一存储区域和第二存储区域的各种实现的图。
图7是图示根据本发明构思的实施例的存储器系统的读取方法的流程图。
图8A和8B是根据本发明构思的实施例的读取回收操作的框图。
图9是图示其中经由读取回收操作产生的SLC块的数据存储在TLC块中的示例的图。
图10是图示根据本发明构思的另一实施例的存储器系统的读取方法的流程图。
图11是图示根据本发明构思的又一实施例的存储器系统的读取方法的流程图。
图12是示意性地图示根据本发明构思的实施例的存储器系统的读取回收技术的框图。
图13是示意性地图示根据本发明构思的实施例的计算系统的框图。
图14是示意性地图示根据本发明构思的实施例的固态驱动器的框图。
图15是示意性地图示包括多个图14中示出的固态驱动器的存储系统的框图。
图16是示意性地图示包括图14中示出的多个固态驱动器的存储服务器的框图。
图17是示意性地图示根据本发明构思的实施例的设备的框图。
图18是示意性地图示根据本发明构思的实施例的通信设备的框图。
图19是示意性地图示应用根据本发明构思的实施例的数据存储设备的系统的图。
图20是示意性地图示根据本发明构思的实施例的存储卡的框图。
图21是示意性地图示根据本发明构思的实施例的数字照相机的框图。
图22是示意性地图示应用图21中的存储卡的各种系统的图。
具体实施方式
将参考附图详细描述实施例。然而,本发明构思可以按各种不同的形式来实施,而不应被解释为仅限于例示的实施例。相反,提供这些实施例作为示例以使得本公开将是全面的和完整的,并将向本领域技术人员充分地传达本发明构思的构思。因此,关于本发明构思的某些实施例,不描述已知的处理、元件和技术。除非另外指出,否则相同的参考数字贯穿附图和文字描述指示相同的元件,并且因此将不重复描述。在附图中,为了清楚起见,层与区域的尺寸和相对尺寸可能被放大。
将会理解,尽管术语“第一”、“第二”、“第三”等可以在此处用来描述各个元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应当被这些术语限制。这些术语仅用来将一个元件、组件、区域、层或部分与另一个区域、层或部分相区分。因此,下面讨论的第一元件、组件、区域、层或部分可以被称作第二元件、组件、区域、层或部分,而不会背离本发明构思的教导。
为了易于描述,这里可以使用空间相对术语,诸如“在...之下”、“下面”、“下”、“之下”、“上面”、“上”等等,以描述如附图中图示的一个元件或特征与另一个或多个元件或特征的关系。将会理解,空间相对术语意图涵盖除了附图中描述的方向之外的使用中或操作中的设备的不同的方向。例如,如果附图中的设备被翻转,则被描述为在其他元件或特征“下面”或“下方”或“之下”的元件将在该其他元件或特征“上面”。因此,示例性术语“下面”和“之下”可以涵盖上面和下面两个方向。设备可以另外地定向(旋转90度或在其他方向),并相应地解释这里使用的空间相对描述词。此外,还将理解,当层被称为在两层“之间”时,其可以是两层之间仅有的层,或也可以存在一个或多个居间层。
这里使用的术语仅仅用于描述特定实施例的目的,而不意欲限制本发明构思。如这里使用的,单数形式“一”意欲也包括复数形式,除非上下文另外地明确指示出。还将理解,当在该说明书中使用时,术语“包括”指明所声明的特征、整体、步骤、操作、元件和/或组件的存在,但是不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或它们的组。如这里使用的,术语“和/或”包括相关联的列出项中的任意一个以及一个或多个的所有组合。同样,术语“示例性”意欲指示示例或例示。
将理解,当元件或层被称为“在…上”、“连接到”、“耦接到”或“相邻于”另一个元件或层时,它可以直接在该另一个元件或层上、直接连接到、直接耦接到或紧邻于其他元件或层,或可以存在居间的元件或层。相反,当元件被称为直接在另一个元件或层上或“直接连接到”、“直接耦接到”或“紧邻于”另一个元件或层时,不存在居间的元件或层。
除非另外限定,否则在此使用的所有术语(包括科学数据和技术术语)具有与本发明构思所属领域的普通技术人员通常理解的相同含义。还将理解,诸如在通常使用的词典中所限定的那些术语应当被解释为具有与它们在相关领域和/或本说明书的上下文中的含义一致的含义,并且将不以理想化的或过度形式化的意义来解释,除非在此明确地如此定义。
随着在每个存储单元中存储的数据位的数量增加(或对应于每条字线的页(或页数据)的数量增加),已经提出了各种编程技术。例如,片上缓冲编程方法可以应用于包括多位存储器件的存储器系统。通过使用片上缓冲编程方法可以减小在存储器系统的存储器控制器中包括的缓冲存储器的尺寸。片上缓冲编程方法可以包括在多位存储器件的第一存储区域编程在存储器控制器的缓冲存储器临时存储的数据,以及在多位存储器件的第二存储区域编程在多位存储器件的第一存储区域存储的数据。在多位存储器件的第一存储区域编程在缓冲存储器临时存储的数据可以称为缓冲编程操作,在多位存储器件的第二存储区域编程在多位存储器件的第一存储区域存储的数据可以称为主编程操作。也就是说,片上缓冲编程方法可以包括缓冲编程操作和主编程操作。多位存储器件还可以包括除了第一存储区域和第二存储区域以外的其他存储区域。
在示例实施例中,当与第一存储区域的最小编程单位对应的数据聚集在存储器控制器的缓冲存储器处时,可以执行缓冲编程操作。当对应于第二存储区域的最小编程单位的数据聚集在多位存储器件的第一存储区域时,或者当第一存储区域的可用存储空间不足时,可以执行主编程操作。此处,对应于第一存储区域的最小编程单位的数据可以是一页数据,对应于第二存储区域的最小编程单位的数据可以是多页数据。构成多页的页的数量可以根据每单元位数来决定。例如,在每单元位数为3(即,在每个单元中存储3位数据)的情况中,对应于第二存储区域的最小编程单位的数据可以是3页数据。可以理解,第一存储区域和第二存储区域的最小编程单位不限于该公开。关于上面的描述,每当对应于第一存储区域的最小编程单位的数据聚集在缓冲存储器处时,可以在多位存储器件的第一存储区域编程缓冲存储器的数据。因此,可以减小缓冲存储器的尺寸。
在采用片上缓冲编程方法的存储器系统中,主编程操作可以使用各种编程技术来进行。例如,主编程操作可以根据重编程技术来执行。下面,将参考图1更充分地描述使用重编程技术的主编程操作。
图1是示意性地图示根据本发明构思的实施例的根据重编程技术执行的编程操作的图。参见图1,图示了其中根据重编程技术编程3位数据(或由最低有效位(LSB)页数据、中央有效位(CSB)页数据和最高有效位(MSB)页数据形成的3页数据)的示例。然而,3位数据仅作为示例而给出,并且重编程技术不限于3位数据。
在图1的示例中,重编程技术可以包括将充分描述的第一编程、第二编程和第三编程。
在第一编程,各个存储单元可以保持在擦除状态E或者被从擦除状态E编程到编程状态E和P11到P17中的一种。这里,如图1所图示的,8种状态E和P11到P17可以彼此相邻并且在其间没有读取余量(read margin)。也就是说,可以认为3位数据在第一编程被粗略的编程。所述3位数据可以经由缓冲编程操作在第一存储区域编程,并可以在第一编程从第一存储区域读取。
在示例实施例中,可以按照增量步进脉冲编程(ISPP)技术来执行第一编程,在所述ISPP技术中编程电压在编程循环的每个迭代递增。
在示例实施例中,第一编程可以包括验证操作。在第一编程的验证操作中,可以验证至少一个编程状态。例如,在第一编程中,可以验证偶数编程状态P12、P14和P16,并且可以不验证奇数编程状态P11、P13、P15和P17。换句话说,在该示例中,在编程状态P12、P14和P16通过验证时,第一编程可以完成。
可以执行第二编程以重编程在第一编程中编程的3位数据,即,将第一编程的状态P11到P17重编程到具有更高密度的阈值电压分布的状态P21到P27。这里,如图1所示,状态P21到P27可以彼此相邻并且在其间插入预定的读取余量。如上所述,在第二编程中使用的3位数据可以与在第一编程中使用的相同,并且可以从第一存储区域读取。如图1所示,第一编程的状态P11可以被重编程到第二编程的状态P21。结果,与状态P21对应的阈值电压分布可以在宽度上变得比与状态P11对应的阈值电压分布更窄。换句话说,用于验证第二编程的状态P21的验证电压VR21可以高于用于验证第一编程的状态P11的验证电压VR11。
在示例实施例中,第二编程可以根据ISPP技术来执行。
在示例实施例中,第二编程可以包括验证操作。在第二编程的验证操作可以验证所有的编程状态。也就是说,在所有的编程状态P21到P27通过验证时,第二编程可以完成。
可以执行第三编程以重编程在第二编程编程的3位数据,即,将第二编程的状态P21到P27重编程为更密集的状态P31到P37。这里,如图1所示,状态P31到P37可以彼此相邻并且具有在其间插入的比第二编程的预定读取余量更大的预定读取余量。如上所述,在第三编程使用的3位数据可以等于在第一/第二编程使用的3位数据,并且可以从第一存储区域读取。在执行第三编程时,第二编程的状态P21可以被重编程到第三编程的状态P31。结果,与第三编程的状态P31对应的阈值电压分布可以在宽度上比与第二编程的状态P21对应的阈值电压分布更窄。换句话说,用于验证第三编程的状态P31的验证电压VR31可以高于用于验证第二编程的状态P21的验证电压VR21。
在示例实施例中,第三编程可以根据ISPP技术来执行。
在示例实施例中,在第三编程的验证操作可以验证所有的编程状态。也就是说,在所有的编程状态P31到P37通过验证时,第三编程可以完成。
如前所述,本发明构思不限于在第一编程编程3位数据的示例。本发明构思可以应用于其中在第一编程编程2位数据的示例。在对2位数据第一编程之后,可以执行第二编程以编程1位数据。然后,可以执行第三编程以获得目标阈值电压分布。相关的编程技术在美国专利公开文件第2011-0222342号中公开,其整体内容通过引用合并于此。
图1所示的3位编程操作可以以3步编程技术来进行。然而,本发明构思不限于此。在本发明构思中,在重编程技术中执行的编程操作可以包括3个编程操作,该3个编程操作被执行以使得与要存储的数据值对应的阈值电压分布变窄(换句话说,精细地形成阈值电压分布)。
图2是示意性地图示根据本发明构思的实施例的存储器系统的框图。
参见图2,根据本发明构思的实施例的存储器系统1000可以包括存储器控制器1200和作为多位存储器件的非易失性存储器件1400。存储器控制器1200可以配置为根据外部请求(例如写入请求、读取请求等等)来控制非易失性存储器件1400。存储器控制器1200可以配置为无需外部请求、根据内部请求(例如与突然断电、损耗均衡操作、读取回收操作等相关联的操作)来控制非易失性存储器件1400。与存储器控制器1200的内部请求对应的操作可以在处理了主机请求之后、在主机的超时(timeout)时段内执行。可替换的,与存储器控制器1200的内部请求对应的操作可以在存储器控制器1200的空闲时间内执行。非易失性存储器件1400可以响应于存储器控制器1200的控制而操作,并且可以用作存储数据信息的一种存储介质。存储介质可以由一个或多个存储芯片形成。非易失性存储器件1400可以经由一个或多个通道与存储器控制器1200通信。非易失性存储器件1400可以包括例如NAND闪存设备。
存储器系统1000可以使用上述片上缓冲编程技术。如下面将要描述的,非易失性存储器件1400可以包括具有第一存储区域和第二存储区域的存储单元阵列。在示例实施例中,第一存储区域的每单元位数可以少于第二存储区域的每单元位数。例如,第一存储区域可以由每单元存储1位数据的存储块形成,第二存储区域可以由每单元存储3位数据的存储块形成。然而,第一存储区域和第二存储区域中的每个的每单元位数不限于该示例。存储器控制器1200可以根据从第二存储区域中的存储块之一读取的数据的错误位数是否超过基准来执行读取回收操作。利用本发明构思的读取回收操作,存储在第二存储区域中的存储块处的数据可以被移动到第一存储区域中的存储块,但不能被移动到第二存储区域中的存储块。在本发明构思的情况中,当存储在第二存储区域中的存储块处的数据被移动到第一存储区域中的存储块时,与第二存储区域中的存储块相关联的读取回收操作可以结束。这将在下面更充分地描述。
图3是示意性地图示图2中示出的存储器控制器的示例的框图。参见图3,存储器控制器1200可以包括作为第一接口的主机接口1210、作为第二接口的存储器接口1220、CPU1230、缓冲存储器1240、以及错误检测和校正电路(ECC)1250。
主机接口1210可以配置为与外部设备(例如主机)接口连接,并且存储器接口1220可以配置为与图2图示的非易失性存储器件1400接口连接。CPU1230可以配置为控制控制器1200的整体操作。例如,CPU1230可以配置为操作诸如快闪转换层(FTL)的固件。FTL可以执行各种功能。例如,FTL可以包括进行地址映射操作、读取回收操作、错误校正操作等的各种层。缓冲存储器1240可以用于临时存储将经由主机接口1210从外部设备传送的数据或将经由存储器接口1220从非易失性存储器件1400传送的数据。缓冲存储器1240可以用于存储控制非易失性存储器件1400所需的信息(例如,指示读取回收操作需要的源存储块的信息、地址映射信息等)。
缓冲存储器1240可以由DRAM、SRAM或DRAM和SRAM的组合形成。然而,本发明构思不限于此。ECC1250可以配置为编码将要存储在非易失性存储器件1400中的数据以及解码从非易失性存储器件1400读出的数据。
尽管未在图中示出,存储器控制器1200还可以包括随机发生器/解随机发生器,该随机发生器/解随机发生器配置用来随机化将要存储在非易失性存储器件1400中的数据和解随机化从非易失性存储器件1400读出的数据。随机发生器/解随机发生器的示例在美国专利公开文件第2010/0088574号中公开,其全部内容通过引用合并于此。
在示例实施例中,主机接口1210可以由计算机总线标准、存储总线标准和iFCPPeripheral总线标准中的一个形成,或者由两个或更多个标准的组合形成。计算机总线标准可以包括S-100总线、Mbus、Smbus、Q-Bus、ISA、Zorro II、Zorro III、CAMAC、FASTBUS、LPC、EISA、VME、VXI、NuBus、TURBOchannel、MCA、Sbus、VLB、PCI、PXI、HP GSC总线、CoreConnect、InfiniBand、UPA、PCI-X、AGP、PCIe、因特尔快速路径互连(Intel QuickPathInterconnect)、超传送(Hyper Transport),等等。存储总线标准可以包括ST-506、ESDI、SMD、并行ATA、DMA、SSA、HIPPI、USB MSC、火线(1394)、串行ATA、eSATA、SCSI、并行SCSI、串行附接SCSI(Serial Attached SCSI)、光纤通道、iSCSI、SAS、RapidIO、FCIP,等等。iFCPPeripheral总线标准可以包括苹果桌面总线、HIL、MIDI、多总线(Multibus)、RS-232、DMX512-A、EIA/RS-422、IEEE-1284、UNI/O、1-Wire、I2C、SPI、EIA/RS-485、USB、照相机链接(Camera Link)、外部PCIe、光峰(Light Peak)、多点总线(Multidrop Bus),等等。
图4是示意性地图示图2中示出的非易失性存储器件的示例的框图。
非易失性存储器件1400可以是例如NAND闪存器件。但是,能够理解,非易失性存储器件1400不限于NAND闪存器件。例如,本发明构思可以应用于NOR闪存器件、阻变随机存取存储器(RRAM)器件、相变存储器(PRAM)器件、磁阻随机存取存储器(MRAM)器件、铁电随机存取存储器(FRAM)器件、自旋转移力矩随机存取存储器(STT-RAM)等。此外,非易失性存储器件1400可以被实现为具有三维阵列结构。具有三维阵列结构的非易失性存储器件的示例可以称为垂直NAND闪存器件。本发明构思可以应用于包括由绝缘膜形成的电荷存储层的电荷捕获闪存(CTF)器件以及包括由导电浮置栅极形成的电荷存储层的闪存器件。
参见图4,非易失性存储器件1400可以包括存储单元阵列1400、地址解码器1420、电压产生器1430、控制逻辑1440、页缓冲器电路1450和输入/输出接口1460。
存储单元阵列1410可以包括布置在行(例如字线)和列(例如位线)的交叉处的存储单元。作为示例,每个存储单元可以存储1位数据或作为多位数据的m位数据(m是2或更大的整数)。地址解码器1420可以通过控制逻辑1440来控制,并且可以对存储单元阵列1410的行(例如字线、(一条或多条)串选择线、(一条或多条)地选择线、公共源极线等)进行选择和驱动操作。电压产生器1430可以由控制逻辑1440控制,并且可以产生每个操作需要的电压,诸如高电压、编程电压、读取电压、验证电压、擦除电压、通过电压、体(bulk)电压等。由电压产生器1430产生的电压可以经由地址解码器1420提供到存储单元阵列1410。控制逻辑1440可以配置为控制非易失性存储器件1400的整体操作。
页缓冲器电路1450可以由控制逻辑1440控制,并且可以配置为从存储单元阵列1410读取数据并根据编程数据驱动存储单元阵列1410的列(例如位线)。页缓冲器电路1450可以包括分别对应于位线或位线对的页缓冲器。每个页缓冲器可以包括多个锁存器。输入/输出接口1460可以由控制逻辑1440控制,并且可以与外部设备(例如图2中的存储器控制器)接口连接。尽管图4中未示出,但是输入/输出接口1460可以包括列解码器,该列解码器配置用于选择预定单位的页缓冲器电路1450的页缓冲器、接收数据的输入缓冲器、输出数据的输出缓冲器等
图5是示意性地图示图4中示出的存储单元阵列的示例的框图。
参见图5,存储单元阵列1410可以包括被划分到第一存储区域1411和第二存储区域1412中的多个存储块。这里,第一存储区域1411和第二存储区域1412的划分可以是逻辑地进行的,而不是物理地进行的。另外,第一存储区域1411和第二存储区域1412的划分可以逻辑地改变。换句话说,第一存储区域1411和第二存储区域1412的物理尺寸可以在存储器控制器1200的控制下逻辑地改变。第一存储区域1411由每单元存储n位数据的存储块形成,第二存储区域1412由每单元存储m位数据的存储块形成,其中n和m是整数。另外,第一存储区域1411中的存储块可以以与第二存储区域1412中的存储块不同的方式被编程,例如,n可以小于m。例如,第一存储区域1411中的存储块可以根据单个位编程技术(以下称为SLC编程技术)来编程,而第二存储区域1412中的存储块可以根据多位编程技术(以下称为MLC/TLC编程技术)(例如,上述的3步重编程技术)来编程。换句话说,第一存储区域1411中的每个存储单元可以存储1位数据(n=1),而第二存储区域1412中的每个存储单元可以存储m位数据(m是2或更大的整数)。在第一存储区域1411中的每个存储单元存储的数据位数可以比在第二存储区域1412中的每个存储单元存储的数据位数要少。此处,能够理解在第一存储区域1411中的每个存储单元不限于存储1位数据。
如上所述,从存储器控制器1200提供的数据可以经由缓冲编程操作在第一存储区域1411被编程。用于主编程操作的数据可以从第一存储区域1411读出,并且所读取的数据可以经由主编程操作在第二存储区域1412被编程。
图6A到6D是用于描述根据本发明构思的实施例的多位存储器件的第一存储区域和第二存储区域的各种结合的图。在图中,“BP”指示第一存储区域1411上的缓冲编程,“MP”指示第二存储区域1412上的主编程。
如上所述,多位存储器件1400包括第一存储区域1411和第二存储区域1412。这里,第一存储区域1411和第二存储区域1412可以组成多位存储器件1400的存储单元阵列。尽管在图中未示出,存储单元阵列还可以包括诸如元区域、保留区域等的区域。能够理解,存储单元阵列的区域可以逻辑地划分,而不是物理地划分。这意味着存储单元阵列的所述区域可以根据存储器控制器1200的地址映射来定义。
参见图6A,在每单元存储3位数据的多位存储器件的情况中,第一存储区域1411可以由每个存储1位数据的存储单元形成,第二存储区域1412可以由每个存储3位数据的存储单元形成。在该情况中,缓冲编程可以根据SLC编程技术来执行,主编程可以根据上述MLC编程技术来进行。
参见图6B,在每单元存储4位数据的多位存储器件的情况中,第一存储区域1411可以由每个存储1位数据的存储单元形成,第二存储区域1412可以由每个存储4位数据的存储单元形成。在该情况中,缓冲编程可以根据SLC编程技术来执行,主编程可以根据上述MLC/TLC编程技术来进行。
参见图6C,在每单元存储3位数据的多位存储器件的情况中,第一存储区域1411可以由每个存储2位数据的存储单元形成,第二存储区域1412可以由每个存储3位数据的存储单元形成。在该情况中,缓冲编程可以根据上述或传统的MLC编程技术来执行,主编程可以根据上述MLC/TLC编程技术(例如,重编程技术)来进行。
参见图6D,在每单元存储4位数据的多位存储器件的情况中,第一存储区域1411可以由每个存储2位数据的存储单元形成,第二存储区域1412可以由每个存储4位数据的存储单元形成。在该情况中,缓冲编程可以根据上述或传统的MLC编程技术来执行,主编程可以根据上述MLC/TLC编程技术(例如,重编程技术)来进行。
在示例性实施例中,能够理解,图6A到6D中图示的第一存储区域1411和第二存储区域1412的定义不限于那些示例。例如,如果在存储器系统中包括的存储介质由多个多位存储器件形成,则可以关于各个多位存储器件来定义第一存储区域1411和第二存储区域1412。可替换的,一个或多个多位存储器的每个存储单元阵列可以定义为第一存储区域1411。剩余的多位存储器件的每个存储单元阵列可以定义为第二存储区域1412。
图7是图示根据本发明构思的实施例的存储器系统的读取方法的流程图。在下面的描述中,给出如下示例,其中第一存储区域1411由每单元存储1位数据的存储块(以下称为SLC块)形成,第二存储区域1412由每单元存储3位数据的存储块(以下称为TLC块)形成。
参见图3、6A和7,在操作S110,存储器控制器1200可以从外部设备(例如主机)接收读取请求。在操作S120,存储器控制器1200可以控制非易失性存储器件1400,使得输出读取请求的数据。读取请求的数据可以是例如存储在第二存储区域1412的TLC块的数据。可替换的,读取请求的数据可以是存储在第一存储区域1411的SLC块的数据。在该实施例的示例中,读取请求的数据是存储在第二存储区域1412的TLC块的数据。
在操作S130,当从非易失性存储器件1400输出的数据被传送到存储器控制器1200的缓冲存储器1240时,存储器控制器1200的ECC电路1250可以对从非易失性存储器件1400输出的数据进行错误检测操作。此时,从非易失性存储器件1400输出的数据可以临时存储在存储器控制器1200的缓冲存储器1240中。
在操作S140,可以确定在从非易失性存储器件1400输出的数据中包含的错误是否可以由ECC电路1250校正。如果该错误可以由ECC电路1250校正,则方法进行到操作S150。在操作S150,在从非易失性存储器件1400输出的数据中包含的错误可以由ECC电路1250校正,以获得校正的数据。在操作S160,校正的数据可以存储在缓冲存储器1240中并发送到外部设备作为读取请求的数据。此时,读取操作可以终止。
返回到操作S140,例如,在从非易失性存储器件1400输出的数据的错误位数超过阈值(例如ECC电路1250的可允许错误位数)的情况中,可以认为从非易失性存储器件1400输出的数据中包含的错误不能被校正。在操作S140的不能校正的错误的情况下,方法进行到操作S170。在操作S170,存储器控制器1200可以使用软件对从非易失性存储器件1400输出的数据进行错误检测和校正操作。即,即使在从非易失性存储器件1400输出的数据中包括的错误位数超过ECC电路1250的可允许错误位数的情况中,也可以使用存储器控制器1200的错误检测和校正软件来校正从非易失性存储器件1400输出的数据中包含的错误。例如,错误检测和校正操作可以由快闪转换层(FTL)进行。在操作S180,可以确定从非易失性存储器件1400输出的数据是否已经在操作S170由软件校正。
如果确定从非易失性存储器件1400输出的数据不能由软件校正,则方法进行到操作S190。在操作S190,存储器控制器1200可以将由外部设备请求的读取操作处理为读取失败。例如,可以根据各种不同过程中的任何一种产生读取失败标记。此时,读取方法可以终止。
另一方面,如果确定从非易失性存储器件1400输出的数据已经在操作S170由软件校正,则方法进行到操作S200。在操作S200,存储器控制器1200可以将在缓冲存储器1240存储的校正的数据发送到外部设备,作为读取请求的数据。此时,在CPU1230的控制下,可以在队列中存储指示存储读取请求的数据的TLC块是需要读取回收操作的存储块的信息。这里,这将在后面更充分地描述。
在示例实施例中,所述队列可以由缓冲存储器1240的一部分形成,并且存储在队列中的信息可以被CPU1230引用。对于由于突然断电情况导致的队列信息的丢失,存储在队列中的信息还可以周期性地存储在非易失性存储器件1400中。对TLC块的读取回收操作可以基于存储在队列中的信息来执行。这里,这将在后面更充分地描述。
图8A和8B是描述根据本发明构思的实施例的读取回收操作所参考的图。
由于各种原因,存储单元的阈值电压分布可能从理想的编程分布偏移。例如,温度的变化、多次读取操作迭代等可以使得阈值电压分布随时间而偏移。这一阈值电压分布的偏移可能导致读取数据中包含的错误位数据增加。在诸如每单元存储3位数据的TLC块的情况那样的读取余量较低的情况中尤其如此。即,在多位存储单元中由于阈值电压分布导致的错误位数可能进一步增加。由此,可以执行读取回收操作,以确保读取数据的完整性。读取回收操作是指将包括页数据的TLC块的有效数据移动到新块的操作。页数据可能被确定为是不可校正的,并且因此被移动到新块,或者页数据可能被确定为具有错误位数随后增加的高可能性,并且因此被移动到新块。可以由于存储页数据的存储单元的阈值电压分布的偏移影响相邻存储单元而执行读取回收操作。
参见图8A,CPU1230可以基于存储在队列中的信息,选择作为快闪转换层FTL的读取回收操作的目标块的TLC块。例如,假设所选择的TLC块包括64条字线。因此,在每单元3位的存储器的情况下,192页数据可以存储在一个TLC块中。在存储在所选择的TLC块中的192页数据全部有效的情况下,可以需要三个SLC块来移动存储在所选择的TLC块的192页数据。可以从所选择的TLC块读取64页数据以执行读取回收操作,并且该64页读取的数据可以经由存储器控制器1200的ECC电路1250被存储在第一存储区域1411的一个SLC块SB0中。然后,可以从所选择的TLC块读取64页数据以用于读取回收操作,并且该64页读取数据可以经由存储器控制器1200的ECC电路1250而被存储在第一存储区域1411的一个SLC块SB1中。最后,可以从所选择的TLC块读取64页数据以用于读取回收操作,并且该64页读取的数据可以经由存储器控制器1200的ECC电路1250被存储在第一存储区域1411的一个SLC块SB2中。
参见图8B,在存储在所选择的TLC块的192页数据的150页数据有效的情况下,可以需要3个SLC块来移动在所选择的TLC块存储的150页数据。可以从所选择的TLC块读取64页数据以执行读取回收操作,并且该64页读取的数据可以经由存储器控制器1200的ECC电路1250存储在第一存储区域1411的一个SLC块SB0中。然后,可以从所选择的TLC块读取64页数据以用于读取回收操作,并且该64页读取的数据可以经由存储器控制器1200的ECC电路1250存储在第一存储区域1411的一个SLC块SB1中。最后,可以从所选择的TLC块读取22页数据以用于读取回收操作,并且该22页读取的数据可以经由存储器控制器1200的ECC电路1250存储在第一存储区域1411的一个SLC块SB2中。
当存储在TLC块的所有有效页数据都被移动到第一存储区域1411时,CPU1230可以将对于TLC块的FTL的读取回收操作处理为完成。例如,可以改变存储在队列中的(指示读取回收操作的目标块的)信息。
如上所述,利用本发明构思的读取回收操作,作为读取回收操作的目标块的TLC块的有效页数据可以被移动到第一存储区域1411的SLC块,而不是被移动到第二存储区域1412的TLC块。如果数据到第一存储区域1411的SLC块的传送完成,则对TLC块的读取回收操作可以被处理为完成。换句话说,在本发明构思的读取回收操作中,作为读取回收操作的目标块的TLC块的有效页数据不能被移动到第二存储区域1412的TLC块。
在示例实施例中,作为读取回收操作的目标块的TLC块的有效页数据可以以时分方式移动到第一存储区域1411的SLC块。例如,作为读取回收操作的目标块的TLC块的部分有效页数据(例如,对应于SLC块大小的有效页数据)可以被移动到一个SLC块。这可以在每次主机请求读取或写入操作时在读取或写入操作完成后的主机超时时段内执行。当TLC块的所有有效页数据都被移动到SLC块时,对TLC块的读取回收操作可以完成。
在示例实施例中,作为读取回收操作的目标块的TLC块的有效页数据将要移动到的第一存储区域1411的SLC块的数量可以考虑主机超时时段来决定。例如,第一存储区域1411的SLC块的数量可以考虑在处理了主机的写入请求之后超时时段的剩余时间来决定。作为读取回收操作的目标块的TLC块的数据可以移动到在主机的写入请求决定的SLC块。
从TLC块移动到SLC块的数据可以经由主编程操作存储在第二存储区域1412中。这一操作可以在垃圾收集操作进行。这将参考图9更充分地描述。
如上所述,当TLC块的有效页数据被移动到第一存储区域1411的SLC块时,本发明构思的读取回收操作可以完成。根据TLC块的有效页的数量,SLC块之一可以包括空的存储空间。例如,参考图8B和9,在存储在所选择的TLC块的192页数据中的150页数据有效时,需要三个SLC块来移动存储在所选择的TLC块中的150页数据,并且一个SLC块(例如SB2)可以包括空的存储空间。在垃圾收集操作中,除了包括空的存储空间的SLC块SB2之外的其余SLC块SB0和SB1的数据可以和填满了数据的其他SLC块(例如SB3)的数据一起存储在特定的TLC块中。如果SLC块的数据以上述方式存储在TLC块中,则该TLC块可以被填满数据。换句话说,TLC块的所有字线可以关闭(close)。这可以意味着TLC块不包括打开(open)的字线。另一方面,如果存储所选择的TLC块所存储的150页数据的SLC块SB0、SB1和SB2的数据被存储在特定的TLC块中,则在该特定的TLC块中可以存在空的存储空间。这可以意味着该特定TLC块包括打开的字线。
这里,在对与第n条字线WLn连接的存储单元的3步重编程完成、并且未执行对与相邻字线(例如WLn+1)连接的存储单元的3步重编程的第三编程的情况下,第n条字线WLn可以被称为打开的字线。当对与相邻的上部字线连接的存储单元的3步重编程完成时,可以形成与打开的字线连接的存储单元的目标阈值电压分布。如果对与相邻的上部字线连接的存储单元的3步重编程未完成,则与打开的字线连接的存储单元的目标阈值电压分布不能正常形成。例如,与打开的字线连接的存储单元可能不充分地经历由与相邻的上部字线连接的存储单元造成的耦合,从而与打开的字线连接的存储单元的目标阈值电压分布不正常形成。在该情况下,从与打开的字线连接的存储单元读取的数据不能校正的可能性会增大。
因此,可以通过以下方式防止在特定的TLC块中存在打开的字线:在垃圾收集操作中,将除了包括空的存储空间的SLC块SB2之外的其余SLC块SB0和SB1的数据和填满了数据的另一个SLC块(例如SB3)的数据一起存储在该特定的TLC块中。
在示例实施例中,可以将具有空的存储空间的SLC块(例如SB2)的数据移动到另一个SLC块中,或者可以将其和另一个具有空的存储空间的SLC块的数据一起移动到TLC块中。
图10是图示根据本发明构思的另一实施例的存储器系统的读取方法的流程图。下面,将参考附图更充分地描述根据本发明构思的实施例的存储器系统的读取方法。例如,假设第一存储区域1411由每单元存储1位数据的存储块(在下文中称为SLC块)形成,第二存储区域1412由每单元存储3位数据的存储块(在下文中称为TLC块)形成。
在操作S310,存储器控制器1200可以从外部设备(例如,主机)接收读取请求。在操作S320,存储器控制器1200可以控制非易失性存储器件1400,使得输出读取请求的数据。读取请求的数据可以是例如存储在第二存储区域1412的TLC块的数据。可替换地,读取请求的数据可以是存储在第一存储区域1411的SLC块的数据。在示例实施例中,读取请求的数据可以是存储在第二存储区域1412的TLC块的数据。
在操作S330,当从非易失性存储器件1400输出的数据被传送到存储器控制器1200的缓冲存储器1240时,存储器控制器1200的ECC电路1250可以对从非易失性存储器件1400输出的数据进行错误检测操作。此时,从非易失性存储器件1400输出的数据可以临时存储在存储器控制器1200的缓冲存储器1240中。
在操作S340,可以确定从非易失性存储器件1400输出的数据的错误是否可校正。如果可校正,则方法进行到操作S350。在操作S350,从非易失性存储器件1400输出的数据的错误可以被校正。在操作S360,存储在缓冲存储器1240中的经校正的数据可以被发送到外部设备,以作为读取请求的数据。然后,读取操作可以终止。
返回到S340,如果从非易失性存储器件1400输出的数据不可校正或者在从非易失性存储器件1400输出的数据的错误位数超过基准(例如ECC电路1250的可允许错误位数)的情况下,方法进行到操作S370。在操作S370,可以进行读取重试操作。在读取重试操作,可以在预定数量内在读取电压变化的条件下重试读取操作。示例性读取重试操作在美国专利公开文件第2010/0322007号中公开,其整体内容通过引用合并于此。可以确定每当读取电压变化时读取的数据是否可校正。在经由读取重试操作读取的数据不可校正的情况下,方法继续到操作S380。在操作S380,可以产生读取失败标记。根据读取失败标记的产生的过程可以不同地确定。此后,方法可以结束。
在经由读取重试操作读取的数据可校正的情况下,方法继续到操作390。在操作S390,可以在队列中存储指示存储从非易失性存储器件1400输出的数据的第二存储区域1412的TLC块是读取回收操作的目标块的信息。如上所述,所述队列可以由缓冲存储器1240的一部分形成,并且存储在队列中的信息可以被CPU1230引用。存储在队列中的信息可以周期性地或在预定的时间被存储到非易失性存储器件1400中。可以这样执行以防止存储在队列中的信息由于突然断电而丢失。对TLC块的读取回收操作可以基于存储在队列中的信息来进行,这里,其将在后面更充分地描述。
在指示存储从非易失性存储器件1400输出的数据的第二存储区域1412的TLC块是读取回收操作的目标块的信息被存储在队列中后,方法进行到操作S350。在操作S350,从非易失性存储器件1400输出的数据的错误可以被校正。在操作S360,存储在缓冲存储器1240中的经校正的数据可以作为读取请求的数据被发送到外部设备。此后,读取操作可以终止。
存储器控制器1200可以基于存储在队列中的信息执行读取回收操作,其与参考图8A,8B和9所描述的相同地进行。
图11是图示根据本发明构思的又一实施例的存储器系统的读取方法的流程图。下面,将参考附图更充分地描述根据本发明构思的实施例的存储器系统的读取方法。例如,假设第一存储区域1411由每单元存储1位数据的存储块(在下文中称为SLC块)形成,第二存储区域1412由每单元存储3位数据的存储块(在下文中称为TLC块)形成。
在操作S410,存储器控制器1200可以从外部设备(例如,主机)接收读取请求。在操作S420,存储器控制器1200可以控制非易失性存储器件1400,使得输出读取请求的数据。读取请求的数据可以是例如存储在第二存储区域1412的TLC块的数据。可替换地,读取请求的数据可以是存储在第一存储区域1411的SLC块的数据。在示例实施例中,读取请求的数据可以是存储在第二存储区域1412的TLC块的数据。
在操作S430,当从非易失性存储器件1400输出的数据被传送到存储器控制器1200的缓冲存储器1240时,存储器控制器1200的ECC电路1250可以对从非易失性存储器件1400输出的数据进行错误检测操作。此时,从非易失性存储器件1400输出的数据可以临时存储在存储器控制器1200的缓冲存储器1240中。
在操作S440,可以确定从非易失性存储器件1400输出的数据中包括的错误位数是否低于基准。这里,所述基准可以是ECC电路1250的可允许错误位数、少于可允许错误位数的错误位数,等等。如果从非易失性存储器件1400输出的数据中包括的错误位数超过基准,则方法进行到操作S450。在操作S450,可以在队列中存储指示存储从非易失性存储器件1400输出的数据的第二存储区域1412的TLC块是读取回收操作的目标块的信息。如上所述,所述队列可以由缓冲存储器1240的一部分形成,并且存储在队列中的信息可以被CPU1230引用。存储在队列中的信息可以周期性地或在预定的时间被存储到非易失性存储器件1400中。可以这样执行以防止存储在队列中的信息由于突然断电而丢失。对TLC块的读取回收操作可以基于存储在队列中的信息来进行,其将在后面更充分地描述。
在指示存储从非易失性存储器件1400输出的数据的第二存储区域1412的TLC块是读取回收操作的目标块的信息被存储在队列中后,方法进行到操作S460。在操作S460,从非易失性存储器件1400输出的数据的错误可以被校正。在操作S470,存储在缓冲存储器1240中的经校正的数据可以被发送到外部设备以作为读取请求的数据。此后,读取操作可以终止。
存储器控制器1200可以基于存储在队列中的信息执行读取回收操作,其与参考图8A,8B和9所描述的相同地进行。
图12是示意性地图示根据本发明构思的实施例的存储器系统的读取回收技术的框图。
参见图12,读取回收操作可以是将包括具有高读取失败可能性的页数据的TLC块的有效数据移动到新快的操作,并且可以执行该读取回收操作以确保数据的完整性。在本发明构思的情况下,指示被确定为读取回收操作的目标块的TLC块的信息可以存储在队列中。根据主机的请求(例如写入请求),请求的操作可以完成,并且TLC块的有效页数据的部分(或全部)可以根据存储在队列中的信息被移动到SLC块。数据向SLC块的传送可以经过ECC电路1250的编码和缓冲编程来进行。
在示例实施例中,在主机请求时将要传送到SLC块的数据量可以考虑主机超时时段来决定。例如,将要传送到SLC块的数据量可以对应于一个SLC块的存储容量。可替换地,将要传送到SLC块的数据量可以对应于两个SLC块的存储容量的和。但是,本发明构思不限于此。因此,请求的操作和数据向SLC块的传送可以在主机超时时段内进行。
如果决定为读取回收操作的目标块的TLC块的有效页数据都被移动到SLC块,则如从图12所理解的,与TLC块相关联的读取回收操作可以被处理为完成。此后,存储在SLC块中的数据可以经由垃圾收集操作或者另一个操作的主编程(MP)操作(而不是经由读取回收操作)而被存储在TLC块中。如参考图9所描述的,在经由读取回收操作编程的SLC块之一包括空的存储空间的情况下,除了包括空的存储空间的SLC块以外的其余SLC块的数据可以经由主编程操作与另一SLC块的数据一起存储在TLC块中。
因此,本发明构思的读取回收操作可以满足主机超时条件而进行。而且,本发明构思的存储器系统可以防止在TLC块产生打开的字线。
图13是示意性地图示根据本发明构思的实施例的计算系统的框图。计算系统可以包括处理单元2101、用户接口2202、诸如基带芯片组的调制解调器2303、存储器控制器2404和存储介质2505。
存储器控制器2404可以与图2和3中所图示的基本相同地配置,存储介质2505可以由图4中图示的非易失性存储器件形成。例如,存储器控制器2404可以管理作为读取回收操作的目标块的TLC块,在特定时间(例如,在主机的写入请求时)根据存储在队列中的信息选择TLC块,并控制存储介质2505使得所选择的TLC块的有效页数据被移动到包括在非易失性存储器件中的SLC块中。当所选择的TLC块的有效页数据被移动到包括在非易失性存储器件中的SLC块时,存储器控制器2404可以将对所选择的TLC块的读取回收操作处理为完成。
处理单元2101处理的/将要处理的N位数据(N是大于等于1的整数)可以通过存储器控制器2404而被存储在存储介质2505中。在计算系统是移动设备的情况中,电池2606可以进一步被包括在计算系统中以向其供应操作电压。尽管图13中未图示,但是计算系统可以进一步包括应用芯片组、照相机图像处理器(CIS)、移动DRAM等。
图14是示意性地图示根据本发明构思的实施例的固态驱动器的框图。
参见图14,固态驱动器(SSD)4000可以包括存储介质4100和控制器4200。存储介质4100可以经由多个通道与控制器4200连接,每个通道公共地与多个非易失性存储器连接。控制器4200可以与图2和3中所图示的基本相同地配置,存储介质4100中的每个非易失性存储器件可以由图4中图示的非易失性存储器件形成。例如,控制器4200可以管理作为读取回收操作的目标块的TLC块,在特定时间(例如,在主机的写入请求时)根据存储在队列中的信息选择TLC块,并控制存储介质4100使得所选择的TLC块的有效页数据被移动到包括在非易失性存储器件中的SLC块。当所选择的TLC块的有效页数据被移动到包括在非易失性存储器件中的SLC块时,控制器4200可以将对所选择的TLC块的读取回收操作处理为完成。
图15是示意性地图示使用图14中示出的固态驱动器的存储部件(storage)的框图,图16是示意性地图示使用图14中示出的固态驱动器的存储服务器的框图。
根据本发明构思的实施例的SSD4000可以用于形成存储部件。如图15中图示的,存储部件可以包括与图14中所描述的相同地配置的多个固态驱动器4000。根据本发明构思的实施例的SSD4000可以用于配置存储服务器。如图16中图示的,存储服务器包括与关于图14所描述的相同地配置的多个固态驱动器4000、以及服务器4000A。此外,可以理解,在存储服务器中可以提供公知的RAID控制器4000B。
图17是示意性地图示根据本发明构思的实施例的的框图。参考图17,设备5000可以包括至少一个NAND快闪存储器件5100和控制器5200。设备5000可以支持MMC4.4(或称为“eMMC”)标准。
NAND快闪存储器件5100可以是单倍数据速率(SDR)NAND快闪存储器件或双倍数据速率(DDR)NAND快闪存储器件。在示例实施例中,NAND快闪存储器件5100可以包括NAND快闪存储器芯片。这里,可以通过在一个封装(例如,细间距球栅阵列(Fine-pitch Ball GridArray,FBGA)等)中堆叠NAND快闪存储器芯片来实现NAND快闪存储器件5100。
控制器5200可以与图2和3中所图示的基本相同地配置,每个NAND快闪存储器芯片可以由图4中图示的非易失性存储器件形成。例如,控制器5200可以管理作为读取回收操作的目标块的TLC块,在特定时间(例如,在主机的写入请求时)根据存储在队列中的信息选择TLC块,并控制NAND快闪存储器件5100使得所选择的TLC块的有效页数据被移动到包括在非易失性存储器件中的SLC块中。当所选择的TLC块的有效页数据被移动到包括在非易失性存储器件中的SLC块时,控制器5200可以将对所选择的TLC块的读取回收操作处理为完成。
控制器5200可以经由多条通道与NAND快闪存储器件5100连接。控制器5200可以包括至少一个控制器核5210、主机接口5220、以及NAND接口5230。控制器核5210可以控制moviNAND设备5000的整体操作。主机接口5220可以被配置为执行控制器5200和主机之间的MMC接口连接。NAND接口5230可以被配置为NAND快闪存储器件5100和控制器5200之间的接口。在示例实施例中,主机接口5220可以是并行接口(例如,MMC接口)。在其他示例实施例中,moviNAND设备5000的主机接口5220可以是串行接口(例如,UHS-II,UFS接口等)。
设备5000可以从主机接收电源电压Vcc或Vccq。这里,电源电压Vcc(大约3.3V)可以供应到NAND快闪存储器件5100和NAND接口5230,而电源电压Vccq(大约1.8V/3.3V)可以供应到控制器5200。在示例实施例中,可选地可以向设备5000供应外部高电压Vpp。
根据本发明构思实施例的设备5000可以有利地存储海量数据,同时可以具有改进的读取特性。根据本发明构思实施例的设备5000可应用于小型低功率移动产品(例如,商品名称为Galaxy S、iPhone等的已知设备)。
图18是示意性地图示根据本发明构思的实施例的通信设备的框图。参见图18,通信设备6000可以包括通信单元6100、控制器6200、存储器单元6300、显示单元6400、触摸屏单元6500和音频单元6600。存储器单元6300可以包括至少一个DRAM6310、至少一个6320和至少一个6330。
美国专利公开文件第2010/0010040号,第2010/0062715号,第2010/00199081号,第2010/0309237号和第2010/0315325号中公开了对移动设备的更详细描述,所述美国专利公开文件的整体内容通过引用并入于此。
图19是示意性地图示应用根据本发明构思的实施例的数据存储设备的系统的图。
如图19中图示的,包括根据本发明构思的实施例的数据存储设备的固态驱动器可以应用于邮件服务器8100。
图20是示意性地图示根据本发明构思的实施例的存储卡的框图。
存储卡可以是例如MMC卡、SD卡、多用途卡、微SD卡、记忆棒、紧密SD卡、ID卡、PCMCIA卡、SSD卡、芯片卡、智能卡、USB卡等。
参见图20,存储卡可以包括:接口电路9221,用于与外部设备接口连接;控制器9222,包括缓冲存储器并控制存储卡的操作;和至少一个非易失性存储器件9207。控制器9222可以是处理器,其被配置为控制非易失性存储器件9207的写入和读取操作。控制器9222可以经由数据总线和地址总线与非易失性存储器件9207和接口电路9221耦接。接口电路9221可以通过用于主机和存储卡之间的数据交换的卡协议(例如SD/MMC)与主机接口连接。
控制器9222可以与图2和3中所图示的基本相同地配置,非易失性存储器件9207可以由图4中图示的非易失性存储器件形成。例如,控制器9222可以管理作为读取回收操作的目标块的TLC块,在特定时间(例如,在主机的写入请求时)根据存储在队列中的信息选择TLC块,并控制非易失性存储器件9207使得所选择的TLC块的有效页数据被移动到包括在非易失性存储器件9207中的SLC块中。当所选择的TLC块的有效页数据被移动到包括在非易失性存储器件9207中的SLC块中时,控制器9222可以将对所选择的TLC块的读取回收操作处理为完成。
图21是示意性地图示根据本发明构思的实施例的数字照相机的框图。
参见图21,数字照相机可以包括主体9301、槽9302、镜头9303、显示电路9308、快门按钮9312、闪光灯9318等。存储卡9331可以包括关于图2描述的存储器控制器和非易失性存储器件。例如,控制器可以管理作为读取回收操作的目标块的TLC块,在特定时间(例如,在主机的写入请求时)根据存储在队列中的信息选择TLC块,并控制非易失性存储器件使得所选择的TLC块的有效页数据被移动到包括在非易失性存储器件中的SLC块中。当所选择的TLC块的有效页数据被移动到包括在非易失性存储器件中的SLC块中时,控制器可以将对所选择的TLC块的读取回收操作处理为完成。
如果存储卡9331是接触型存储卡,则当其被插入槽9302时,电路板上的电子电路可以与存储卡9331电接触。在存储卡9331是非接触型存储卡的情况中,电路板上的电子电路可以通过无线射频通信与存储卡9331通信。
图22是示意性地图示应用图21中的存储卡的各种系统的图。
参见图22,存储卡9331可以应用于摄像机VC、电视机TV、音频设备AD、游戏机GM、电子音乐设备EMD、蜂窝电话机HP、计算机CP、个人数字助理(PDA)、录音器VR、PC卡PCC等。
在示例实施例中,存储单元可以由可变电阻存储单元形成。示例性可变电阻存储单元和包括可变电阻存储单元的存储器件在美国专利第7529124号中公开,其整体通过引用合并于此。
在其它示例实施例中,存储单元可以由具有电荷存储层的各种单元结构之一形成。具有电荷存储层的单元结构包括使用电荷俘获层的电荷俘获快闪结构、其中在多个层堆叠阵列的堆叠快闪结构、源极-漏极自由快闪结构、插脚(pin)型快闪结构等。
具有作为电荷存储层的电荷俘获快闪结构的存储器件在美国专利第6858906号以及美国专利公开文件第2004/0169238号和第2006/0180851号中公开,其整体通过引用合并于此。源极-漏极自由快闪结构在韩国专利第673020号中公开,其整体通过引用合并于此。
根据本发明构思的非易失性存储器件和/或存储器控制器可以使用各种类型的封装技术来封装。这样的封装技术的示例包括PoP(层叠封装)、球栅阵列(BGA)、芯片尺寸封装(CSP)、塑料带引线芯片载体(PLCC)、塑料双列直插封装(PDIP)、叠片内裸片封装(Die inWaffle Pack)、晶片内裸片形式(Die in Wafer Form)、板上芯片(COB)、陶瓷双列直插封装(CERDIP)、塑料公制方形扁平封装(MQFP)、小外型(SOIC)、缩小外型封装(SSOP)、薄型小外型(TSOP)、薄型方形扁平封装(TQFP)、系统级封装(SIP)、多芯片封装(MCP)、晶片级结构封装(WFP)、晶片级处理堆叠封装(WSP)等等。
尽管已经参考示例性实施例描述了本发明构思,本领域技术人员将明白,可以做出各种改变和修改而不背离本发明的精神和范围。因此,应该理解,上面的实施例并不是限定性的,而是示例性的。
Claims (27)
1.一种存储器系统,包括:
非易失性存储器件,包括由每单元存储n位数据的存储块形成的第一存储区域和由每单元存储m位数据的存储块形成的第二存储区域,其中n和m是等于或大于1的不同的整数;和
存储器控制器,配置为控制所述非易失性存储器件,
其中,所述存储器控制器被配置为执行读取操作,以及执行读取回收操作,在所述读取回收操作中,第二存储区域的目标存储块的有效数据被传送到第一存储区域的一个或多个存储块,目标存储块在读取操作期间被选择,并且
其中,当目标存储块的所有有效数据都被传送到第一存储区域的一个或多个存储块时,所述读取回收操作被处理为完成,
其中所述第一存储区域包括所述一个或多个存储块和剩余的存储块,并且其中所述控制器被配置为执行垃圾收集操作,该垃圾收集操作包括:
将存储在除了具有空的存储空间的存储块之外的、所述第一存储区域的所述一个或多个存储块中的数据传送到第二存储区域的存储块中的所选择的一个存储块;以及
将存储在第一存储区域的剩余存储块中没有空的存储空间的至少一个存储块中的数据传送到所述第二存储区域的存储块中的所述所选择的一个存储块,
其中,所述第二存储区域的所述所选择的存储块在数据传送之后不包括打开的字线。
2.根据权利要求1的存储器系统,其中所述读取回收操作在时间上被划分为多个分离地执行的部分,其中目标存储块的有效数据的相应部分被传送到第一存储区域的一个或多个存储块。
3.根据权利要求1的存储器系统,其中所述存储器控制器被配置为响应于主机的写入请求执行所述读取回收操作的至少一部分。
4.根据权利要求1的存储器系统,其中所述存储器控制器被配置为在主机请求的写入操作完成后执行读取回收操作的至少一部分。
5.根据权利要求4的存储器系统,其中,在所述读取回收操作中,在写入操作完成之后、主机的超时时段过期之前,从目标存储块传送有效数据的一部分,并且其中基于在写入操作完成后直到主机的超时时段为止剩余的时间来确定有效数据的该部分的数据量。
6.根据权利要求1的存储器系统,其中,在所述读取回收操作中,当控制器请求编程操作时,与第一存储区域的存储块的存储容量对应的有效数据量被传送到第一存储区域的存储块。
7.根据权利要求1的存储器系统,其中在存储器控制器的垃圾收集操作期间,存储在第一存储区域的一个或多个存储块中的数据被传送到第二存储区域的一个存储块。
8.根据权利要求1的存储器系统,其中n=1,m=3。
9.根据权利要求1的存储器系统,其中所述存储器控制器包括缓冲存储器,该缓冲存储器被配置为存储队列信息,该队列信息指示在读取操作期间选择的第二存储区域的目标存储块。
10.根据权利要求1的存储器系统,其中所述存储器控制器被配置为在时间上将读取回收操作划分为多个分离地执行的部分,其中响应于来自主机的相应的写入操作请求以及满足主机的超时条件而执行读取回收操作的每一部分。
11.根据权利要求10的存储器系统,其中在所述读取回收操作的至少一个部分中,与第一存储区域的存储块的存储容量对应的目标存储块的有效数据量被传送到第一存储区域的存储块。
12.根据权利要求9的存储器系统,其中在所述读取操作,存储器控制器被配置为对从第二存储区域的读取存储块读取的数据的错误执行软件错误校正操作,以及当从读取存储块读取的数据能够经由软件错误校正操作校正时,将队列信息存储在缓冲存储器中,该队列信息指示该读取存储块为目标存储块。
13.根据权利要求9的存储器系统,其中在所述读取操作,存储器控制器被配置为当从第二存储区域的读取存储块读取的数据不能校正时执行读取重试操作,以及当经由读取重试操作从读取存储块读取的数据能够校正时将指示该读取存储块为目标存储块的队列信息存储在缓冲存储器中。
14.根据权利要求9的存储器系统,其中在所述读取操作,存储器控制器被配置为当从读取存储块读取的数据的错误位数超过基准时,将指示第二存储区域的该读取存储块是目标存储块的队列信息存储在缓冲存储器中。
15.一种存储器控制器的读取回收方法,所述存储器控制器控制包括每单元存储n位数据的第一存储块和每单元存储m位数据的第二存储块的非易失性存储器件,其中n和m是等于或大于1的不同的整数,所述方法包括:
识别第二存储块当中作为读取回收操作的目标的存储块;和
通过将识别为读取回收操作的目标的存储块的有效数据传送到第一存储块当中的一个或多个存储块来执行所述读取回收操作,其中当所有所述有效数据都被传送到第一存储块当中的一个或多个存储块时,所述读取回收操作被处理为完成,
其中所述第一存储块包括所述一个或多个存储块和剩余的存储块,并且其中所述方法还包括执行垃圾收集操作,该垃圾收集操作包括:
将存储在除了具有空的存储空间的存储块之外的、所述第一存储块当中的所述一个或多个存储块中的数据传送到第二存储块当中的所选择的一个存储块;以及
将存储在第一存储块当中没有空的存储空间的至少一个剩余存储块中的数据传送到第二存储块当中的所述所选择的一个存储块,
其中,所述第二存储块当中的所选择的存储块在数据传送之后不包括打开的字线。
16.根据权利要求15的读取回收方法,其中读取回收操作在时间上被划分为多个分离地执行的部分,以避免主机的超时条件。
17.根据权利要求16的读取回收方法,其中当主机请求相应的写入操作时,执行读取回收操作的部分。
18.根据权利要求16的读取回收方法,其中在主机请求的相应写入操作完成后执行所述读取回收操作的部分。
19.根据权利要求16的读取回收方法,其中,在所述读取回收操作的至少一个部分中,在写入操作完成之后、主机的超时时段过期之前,传送有效数据的一部分。
20.根据权利要求16的读取回收方法,其中,在所述读取回收操作的至少一个部分中,传送与第一存储块当中的存储块的存储容量对应的有效数据量。
21.根据权利要求15的读取回收方法,还包括执行垃圾收集操作,在该垃圾收集操作中存储在第一存储块当中的一个或多个存储块中的数据被传送到第二存储块当中的存储块。
22.根据权利要求15的读取回收方法,其中n=1,m=3。
23.根据权利要求15的读取回收方法,其中从存储器控制器提供的数据经由缓冲编程操作存储在第一存储块中,并且存储在所述第一存储块中的数据经由主编程操作存储在第二存储块中。
24.一种存储器控制器的操作方法,所述存储器控制器控制包括每单元存储n位数据的第一存储块和每单元存储m位数据的第二存储块的非易失性存储器件,其中n和m是等于或大于1的不同的整数,所述方法包括:
当从第二存储块读取的数据的错误超过基准时,存储指示第二存储块是读取回收操作的目标存储块的队列信息;
应主机的请求,基于队列信息确定是否存在目标存储块;
当确定存在目标存储块时,在第一存储块当中的一个或多个存储块中编程目标存储块的有效数据;以及
在垃圾收集操作,在第二存储块当中的存储块中编程在第一存储块当中的一个或多个存储块中存储的数据,
其中,当在第一存储块当中的一个或多个存储块中编程了目标存储块的所有有效数据时,所述读取回收操作被处理为完成,
其中所述第一存储块包括所述一个或多个存储块和剩余的存储块,并且其中所述垃圾收集操作包括:
将存储在除了具有空的存储空间的存储块之外的第一存储块当中的所述一个或多个存储块中的数据传送到第二存储块当中的所选择的一个存储块;以及
将存储在第一存储块当中没有空的存储空间的至少一个剩余的存储块中的数据传送到第二存储块当中的所述所选择的一个存储块,
其中,第二存储块当中的所述所选择的存储块在数据传送之后不包括打开的字线。
25.根据权利要求24的操作方法,其中在主机的写入请求时确定目标存储块的存在。
26.根据权利要求24的操作方法,其中n=1,m=3。
27.根据权利要求26的操作方法,其中从第二存储块读取的数据是最低有效位(LSB)页数据、中央有效位(CSB)页数据、或最高有效位(MSB)页数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120110859A KR102025263B1 (ko) | 2012-10-05 | 2012-10-05 | 메모리 시스템 및 그것의 읽기 교정 방법 |
KR10-2012-0110859 | 2012-10-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103714856A CN103714856A (zh) | 2014-04-09 |
CN103714856B true CN103714856B (zh) | 2019-02-05 |
Family
ID=50407749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310464864.4A Active CN103714856B (zh) | 2012-10-05 | 2013-10-08 | 存储器系统及其读取回收方法 |
Country Status (4)
Country | Link |
---|---|
US (3) | US9431117B2 (zh) |
JP (1) | JP6202972B2 (zh) |
KR (1) | KR102025263B1 (zh) |
CN (1) | CN103714856B (zh) |
Families Citing this family (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102025263B1 (ko) * | 2012-10-05 | 2019-09-25 | 삼성전자주식회사 | 메모리 시스템 및 그것의 읽기 교정 방법 |
TWI533305B (zh) * | 2014-02-10 | 2016-05-11 | 慧榮科技股份有限公司 | 將資料寫入至快閃記憶體的方法及相關的記憶裝置與快閃記憶體 |
US8886877B1 (en) * | 2014-05-15 | 2014-11-11 | Sandisk Technologies Inc. | In-situ block folding for nonvolatile memory |
CN105224241A (zh) * | 2014-06-23 | 2016-01-06 | 联想(北京)有限公司 | Mram存储器、数据存储系统及数据读取方法 |
KR20160016421A (ko) * | 2014-08-05 | 2016-02-15 | 삼성전자주식회사 | 비휘발성 메모리 기반의 스토리지 장치의 최적화 방법 |
US9529668B2 (en) * | 2014-09-26 | 2016-12-27 | Intel Corporation | Method and system for using NAND page buffers to improve the transfer buffer utilization of a solid state drive |
KR102238652B1 (ko) | 2014-11-12 | 2021-04-09 | 삼성전자주식회사 | 데이터 저장 장치, 이의 작동 방법, 및 이를 포함하는 데이터 처리 시스템의 작동 방법 |
TWI559314B (zh) * | 2014-12-27 | 2016-11-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
KR102277521B1 (ko) | 2015-01-23 | 2021-07-16 | 삼성전자주식회사 | 저장 장치 및 그것의 리드 리클레임 및 읽기 방법 |
KR102403253B1 (ko) | 2015-07-06 | 2022-05-30 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 스토리지 장치 |
KR20170006976A (ko) * | 2015-07-10 | 2017-01-18 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
IN2015CH04361A (zh) * | 2015-08-20 | 2015-09-04 | Wipro Ltd | |
KR102333746B1 (ko) * | 2015-09-02 | 2021-12-01 | 삼성전자주식회사 | 재사용 주기에 따라 마모도를 관리하는 저장 장치의 동작 방법 |
US10181352B2 (en) * | 2015-09-09 | 2019-01-15 | Toshiba Memory Corporation | Memory system and method of controlling nonvolatile memory |
KR102387956B1 (ko) | 2015-09-09 | 2022-04-19 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 메모리 시스템 |
KR102501751B1 (ko) * | 2015-09-22 | 2023-02-20 | 삼성전자주식회사 | 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법 |
DE102015120314A1 (de) * | 2015-11-24 | 2017-05-24 | Pilz Gmbh & Co. Kg | Verfahren zum Programmieren einer Sicherheitssteuerung |
KR102437591B1 (ko) | 2015-12-03 | 2022-08-30 | 삼성전자주식회사 | 불휘발성 메모리 시스템의 동작 방법 및 메모리 컨트롤러의 동작 방법 |
KR102449337B1 (ko) | 2015-12-14 | 2022-10-04 | 삼성전자주식회사 | 불휘발성 메모리 시스템의 동작 방법 |
KR102435873B1 (ko) | 2015-12-18 | 2022-08-25 | 삼성전자주식회사 | 스토리지 장치 및 그것의 리드 리클레임 방법 |
KR20170076883A (ko) * | 2015-12-24 | 2017-07-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
CN105677244B (zh) * | 2015-12-31 | 2019-04-09 | 记忆科技(深圳)有限公司 | 一种降低tlc闪存的固态硬盘写放大的方法 |
US10417125B2 (en) * | 2016-02-11 | 2019-09-17 | Oracle International Corporation | Feedback-based selection of regions for abortable garbage collection |
JP2017157257A (ja) * | 2016-03-01 | 2017-09-07 | 東芝メモリ株式会社 | 半導体記憶装置及びメモリシステム |
DE102017106713A1 (de) | 2016-04-20 | 2017-10-26 | Samsung Electronics Co., Ltd. | Rechensystem, nichtflüchtiges Speichermodul und Verfahren zum Betreiben einer Speichervorrichtung |
CN111679787B (zh) | 2016-04-27 | 2023-07-18 | 慧荣科技股份有限公司 | 闪存装置、闪存控制器及闪存存储管理方法 |
US10110255B2 (en) | 2016-04-27 | 2018-10-23 | Silicon Motion Inc. | Method for accessing flash memory module and associated flash memory controller and memory device |
US10289487B2 (en) | 2016-04-27 | 2019-05-14 | Silicon Motion Inc. | Method for accessing flash memory module and associated flash memory controller and memory device |
CN107391026B (zh) | 2016-04-27 | 2020-06-02 | 慧荣科技股份有限公司 | 闪存装置及闪存存储管理方法 |
CN107391296B (zh) | 2016-04-27 | 2020-11-06 | 慧荣科技股份有限公司 | 存取闪存模块的方法及相关的闪存控制器与记忆装置 |
US9910772B2 (en) | 2016-04-27 | 2018-03-06 | Silicon Motion Inc. | Flash memory apparatus and storage management method for flash memory |
TWI672703B (zh) * | 2016-04-27 | 2019-09-21 | 慧榮科技股份有限公司 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
US10019314B2 (en) | 2016-04-27 | 2018-07-10 | Silicon Motion Inc. | Flash memory apparatus and storage management method for flash memory |
US10025662B2 (en) | 2016-04-27 | 2018-07-17 | Silicon Motion Inc. | Flash memory apparatus and storage management method for flash memory |
KR20170131796A (ko) * | 2016-05-20 | 2017-11-30 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20170140467A (ko) * | 2016-06-10 | 2017-12-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US10049757B2 (en) * | 2016-08-11 | 2018-08-14 | SK Hynix Inc. | Techniques for dynamically determining performance of read reclaim operations |
KR20180027710A (ko) * | 2016-09-06 | 2018-03-15 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 액세스 방법 |
KR20180040288A (ko) * | 2016-10-12 | 2018-04-20 | 삼성전자주식회사 | 비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치 |
CN106547488B (zh) * | 2016-10-21 | 2019-04-19 | 国家计算机网络与信息安全管理中心 | 一种混合缓存管理方法 |
KR20180076715A (ko) * | 2016-12-28 | 2018-07-06 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20180087496A (ko) * | 2017-01-23 | 2018-08-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
TWI602116B (zh) * | 2017-03-07 | 2017-10-11 | Silicon Motion Inc | 資料儲存裝置及其資料維護方法 |
KR102224564B1 (ko) * | 2017-03-29 | 2021-03-09 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 |
US10572344B2 (en) | 2017-04-27 | 2020-02-25 | Texas Instruments Incorporated | Accessing error statistics from DRAM memories having integrated error correction |
KR20180130140A (ko) * | 2017-05-29 | 2018-12-07 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 데이터 처리 방법 |
US10453547B2 (en) * | 2017-06-16 | 2019-10-22 | Seagate Technologies Llc | Monitoring a memory for retirement |
US10261914B2 (en) | 2017-08-25 | 2019-04-16 | Micron Technology, Inc. | Methods of memory address verification and memory devices employing the same |
US11086790B2 (en) | 2017-08-25 | 2021-08-10 | Micron Technology, Inc. | Methods of memory address verification and memory devices employing the same |
US10691536B2 (en) * | 2017-09-22 | 2020-06-23 | SK Hynix Inc. | Method to select flash memory blocks for refresh after read operations |
KR20190052366A (ko) * | 2017-11-08 | 2019-05-16 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
US10521146B1 (en) | 2017-11-09 | 2019-12-31 | Micron Technology, Inc. | UFS based idle time garbage collection management |
KR102467075B1 (ko) * | 2017-11-13 | 2022-11-11 | 삼성전자주식회사 | 메모리 장치 및 그의 리클레임 방법 |
KR20190068197A (ko) * | 2017-12-08 | 2019-06-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102468737B1 (ko) * | 2017-12-19 | 2022-11-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20190085644A (ko) * | 2018-01-11 | 2019-07-19 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그것의 동작 방법 |
KR20190088184A (ko) * | 2018-01-18 | 2019-07-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102513691B1 (ko) * | 2018-02-06 | 2023-03-27 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11163679B2 (en) * | 2018-04-04 | 2021-11-02 | SK Hynix Inc. | Garbage collection strategy for memory system and method of executing such garbage collection |
KR102080089B1 (ko) * | 2018-05-18 | 2020-02-21 | 최영준 | 정전시 전력 소모를 감소시키기 위한 데이터 저장 방법 및 데이터 저장 장치 |
KR102639696B1 (ko) * | 2018-05-23 | 2024-02-23 | 에스케이하이닉스 주식회사 | 메모리 시스템, 컨트롤러 및 그 동작방법 |
CN109062503B (zh) * | 2018-07-10 | 2021-08-17 | 深圳忆联信息系统有限公司 | 提升ssd断电后读重试效率的方法、装置及计算机设备 |
CN110910938A (zh) * | 2018-09-17 | 2020-03-24 | 北京兆易创新科技股份有限公司 | 一种数据纠正方法、装置、存储设备及存储介质 |
US11341048B2 (en) | 2018-10-29 | 2022-05-24 | Micron Technology, Inc. | SLC cache allocation |
US10990520B2 (en) * | 2018-12-10 | 2021-04-27 | Storart Technology Co., Ltd. | Method for gabage collecting for non-volatile memory |
KR20200073017A (ko) * | 2018-12-13 | 2020-06-23 | 에스케이하이닉스 주식회사 | 데이터 저장 장치와, 그것의 동작 방법 |
KR20200113990A (ko) * | 2019-03-27 | 2020-10-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 내 메모리 장치의 동작 상태를 확인하는 방법 및 장치 |
KR20200116265A (ko) * | 2019-04-01 | 2020-10-12 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그것의 동작 방법 |
CN111951857B (zh) * | 2019-05-15 | 2023-06-09 | 兆易创新科技集团股份有限公司 | 一种非易失性存储器的编程方法及控制装置 |
US10790031B1 (en) * | 2019-06-05 | 2020-09-29 | Western Digital Technologies, Inc. | System handling for first read read disturb |
KR20200142724A (ko) * | 2019-06-13 | 2020-12-23 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 그 저장 방법 |
US11119659B2 (en) * | 2019-08-12 | 2021-09-14 | Micron Technology, Inc. | Write buffer implementation for multiple memory array memory spaces |
US11726869B2 (en) * | 2019-08-20 | 2023-08-15 | Micron Technology, Inc. | Performing error control operation on memory component for garbage collection |
US11282567B2 (en) | 2019-08-20 | 2022-03-22 | Micron Technology, Inc. | Sequential SLC read optimization |
US11281578B2 (en) | 2019-08-20 | 2022-03-22 | Micron Technology, Inc. | Garbage collection in a memory sub-system during a low battery state |
KR20210046348A (ko) * | 2019-10-18 | 2021-04-28 | 삼성전자주식회사 | 복수의 프로세서들에 유연하게 메모리를 할당하기 위한 메모리 시스템 및 그것의 동작 방법 |
KR20210108208A (ko) * | 2020-02-25 | 2021-09-02 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11288160B2 (en) * | 2020-08-17 | 2022-03-29 | Micron Technology, Inc. | Threshold voltage distribution adjustment for buffer |
KR20220022355A (ko) | 2020-08-18 | 2022-02-25 | 삼성전자주식회사 | 멀티 페이지 데이터를 프로그램하기 위한 불휘발성 메모리 장치의 동작 방법 |
US11580018B2 (en) * | 2021-04-25 | 2023-02-14 | Silicon Motion, Inc. | Method and apparatus for page validity management and related storage system |
KR20230050695A (ko) * | 2021-10-08 | 2023-04-17 | 삼성전자주식회사 | 스토리지 장치 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937724A (zh) * | 2009-06-30 | 2011-01-05 | 联发科技股份有限公司 | 用于执行拷贝回存操作的方法以及闪存存储设备 |
CN102667943A (zh) * | 2009-10-28 | 2012-09-12 | 桑迪士克科技股份有限公司 | 通过加速的写入后读取来管理错误的非易失性存储器和方法 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5889698A (en) | 1995-01-31 | 1999-03-30 | Hitachi, Ltd. | Nonvolatile memory device and refreshing method |
US5671388A (en) | 1995-05-03 | 1997-09-23 | Intel Corporation | Method and apparatus for performing write operations in multi-level cell storage device |
US5930167A (en) | 1997-07-30 | 1999-07-27 | Sandisk Corporation | Multi-state non-volatile flash memory capable of being its own two state write cache |
JP2001006374A (ja) | 1999-06-17 | 2001-01-12 | Hitachi Ltd | 半導体記憶装置及びシステム |
US6675262B1 (en) * | 2001-06-08 | 2004-01-06 | Hewlett-Packard Company, L.P. | Multi-processor computer system with cache-flushing system using memory recall |
DE10228768A1 (de) | 2001-06-28 | 2003-01-16 | Samsung Electronics Co Ltd | Nicht-flüchtige Floating-Trap-Halbleiterspeichervorrichtungen, die Sperrisolationsschichten mit hohen Dielektrizitätskonstanten enthaltend, und Verfahren |
US20060180851A1 (en) | 2001-06-28 | 2006-08-17 | Samsung Electronics Co., Ltd. | Non-volatile memory devices and methods of operating the same |
JP2003015954A (ja) * | 2001-06-28 | 2003-01-17 | Sharp Corp | 半導体記憶装置および情報機器、半導体記憶装置のアクセス期間設定方法 |
US7253467B2 (en) | 2001-06-28 | 2007-08-07 | Samsung Electronics Co., Ltd. | Non-volatile semiconductor memory devices |
US7012835B2 (en) | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
KR100568115B1 (ko) | 2004-06-30 | 2006-04-05 | 삼성전자주식회사 | 점진적 머지 방법 및 그것을 이용한 메모리 시스템 |
KR100673020B1 (ko) | 2005-12-20 | 2007-01-24 | 삼성전자주식회사 | 전계효과 소오스/드레인 영역을 가지는 반도체 장치 |
KR100764738B1 (ko) | 2006-04-06 | 2007-10-09 | 삼성전자주식회사 | 향상된 신뢰성을 갖는 상변화 메모리 장치, 그것의 쓰기방법, 그리고 그것을 포함한 시스템 |
JP2007305210A (ja) * | 2006-05-10 | 2007-11-22 | Toshiba Corp | 半導体記憶装置 |
US7444461B2 (en) | 2006-08-04 | 2008-10-28 | Sandisk Corporation | Methods for phased garbage collection |
US7450425B2 (en) * | 2006-08-30 | 2008-11-11 | Micron Technology, Inc. | Non-volatile memory cell read failure reduction |
US8074011B2 (en) * | 2006-12-06 | 2011-12-06 | Fusion-Io, Inc. | Apparatus, system, and method for storage space recovery after reaching a read count limit |
US8006166B2 (en) | 2007-06-12 | 2011-08-23 | Micron Technology, Inc. | Programming error correction code into a solid state memory device with varying bits per cell |
KR20090014036A (ko) * | 2007-08-03 | 2009-02-06 | 삼성전자주식회사 | 읽기 디스터번스로 인한 에러를 방지하는 메모리 시스템 및그 방법 |
JP5096847B2 (ja) | 2007-09-10 | 2012-12-12 | 株式会社リコー | アクセス制御装置、アクセス制御方法、アクセス制御プログラム、記録媒体、記憶装置および画像処理装置 |
KR100965768B1 (ko) * | 2007-12-26 | 2010-06-24 | 주식회사 하이닉스반도체 | 반도체 메모리 소자 |
US8281061B2 (en) * | 2008-03-31 | 2012-10-02 | Micron Technology, Inc. | Data conditioning to improve flash memory reliability |
US8843691B2 (en) | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
US8263623B2 (en) | 2008-07-11 | 2012-09-11 | Pfizer Inc. | Triazol derivatives useful for the treatment of diseases |
KR101538803B1 (ko) | 2008-09-09 | 2015-07-22 | 삼성전자주식회사 | 펜 테이블로서 기능 할 수 있는 휴대용 전자장치 및 펜 테이블을 사용하는 컴퓨터 시스템 |
US8040744B2 (en) | 2009-01-05 | 2011-10-18 | Sandisk Technologies Inc. | Spare block management of non-volatile memories |
KR20100102925A (ko) | 2009-03-12 | 2010-09-27 | 삼성전자주식회사 | 리드 리클레임 신호를 발생하는 불휘발성 메모리 장치 및 이를 포함하는 메모리 시스템 |
US8447918B2 (en) | 2009-04-08 | 2013-05-21 | Google Inc. | Garbage collection for failure prediction and repartitioning |
KR101573850B1 (ko) | 2009-06-09 | 2015-12-02 | 삼성전자주식회사 | 마스킹 회로를 포함하는 데이터 처리 시스템과 그 방법 |
US8307241B2 (en) | 2009-06-16 | 2012-11-06 | Sandisk Technologies Inc. | Data recovery in multi-level cell nonvolatile memory |
US20100315325A1 (en) | 2009-06-16 | 2010-12-16 | Samsung Electronics Co., Ltd. | Light source unit and display apparatus including the same |
EP2267724A1 (fr) * | 2009-06-26 | 2010-12-29 | STMicroelectronics Rousset SAS | Architecture de mémoire EEPROM optimisée pour les mémoires embarquées |
US8423866B2 (en) | 2009-10-28 | 2013-04-16 | SanDisk Technologies, Inc. | Non-volatile memory and method with post-write read and adaptive re-write to manage errors |
US8214700B2 (en) * | 2009-10-28 | 2012-07-03 | Sandisk Technologies Inc. | Non-volatile memory and method with post-write read and adaptive re-write to manage errors |
JP2011128984A (ja) * | 2009-12-18 | 2011-06-30 | Toshiba Corp | メモリシステム |
KR101727704B1 (ko) * | 2010-10-04 | 2017-04-18 | 삼성전자주식회사 | 리드 성능을 향상시킬 수 있는 리드 파라미터 변경 방법과 상기 방법을 수행할 수 있는 장치들 |
JP2012089085A (ja) | 2010-10-22 | 2012-05-10 | Toshiba Corp | 半導体メモリ装置および半導体メモリシステム |
US8886990B2 (en) * | 2011-01-27 | 2014-11-11 | Apple Inc. | Block management schemes in hybrid SLC/MLC memory |
JP2013122793A (ja) * | 2011-12-09 | 2013-06-20 | Toshiba Corp | 不揮発性半導体記憶装置 |
US8566671B1 (en) * | 2012-06-29 | 2013-10-22 | Sandisk Technologies Inc. | Configurable accelerated post-write read to manage errors |
KR102025263B1 (ko) * | 2012-10-05 | 2019-09-25 | 삼성전자주식회사 | 메모리 시스템 및 그것의 읽기 교정 방법 |
-
2012
- 2012-10-05 KR KR1020120110859A patent/KR102025263B1/ko active IP Right Grant
-
2013
- 2013-09-26 US US14/037,658 patent/US9431117B2/en active Active
- 2013-10-07 JP JP2013210121A patent/JP6202972B2/ja active Active
- 2013-10-08 CN CN201310464864.4A patent/CN103714856B/zh active Active
-
2015
- 2015-06-30 US US14/754,884 patent/US9368223B2/en active Active
-
2016
- 2016-05-17 US US15/156,912 patent/US9672104B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937724A (zh) * | 2009-06-30 | 2011-01-05 | 联发科技股份有限公司 | 用于执行拷贝回存操作的方法以及闪存存储设备 |
CN102667943A (zh) * | 2009-10-28 | 2012-09-12 | 桑迪士克科技股份有限公司 | 通过加速的写入后读取来管理错误的非易失性存储器和方法 |
Also Published As
Publication number | Publication date |
---|---|
US9431117B2 (en) | 2016-08-30 |
US9368223B2 (en) | 2016-06-14 |
US20150302928A1 (en) | 2015-10-22 |
JP2014078229A (ja) | 2014-05-01 |
US20140101372A1 (en) | 2014-04-10 |
KR20140044640A (ko) | 2014-04-15 |
US9672104B2 (en) | 2017-06-06 |
KR102025263B1 (ko) | 2019-09-25 |
JP6202972B2 (ja) | 2017-09-27 |
US20160259685A1 (en) | 2016-09-08 |
CN103714856A (zh) | 2014-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103714856B (zh) | 存储器系统及其读取回收方法 | |
CN103093818B (zh) | 存储系统及其操作方法 | |
CN103151069B (zh) | 存储器系统及其块复制方法 | |
CN104036825B (zh) | 存储器控制器和包括存储器控制器的存储器系统 | |
CN102290105B (zh) | 具有多位存储器件的数据存储系统及其操作方法 | |
CN103870411B (zh) | 存储控制器以及包括存储控制器的存储系统 | |
US8812807B2 (en) | Nonvolatile memory device and operating method thereof | |
US9183938B2 (en) | Nonvolatile memory device and method of programming nonvolatile memory device | |
CN110399311A (zh) | 存储器系统及该存储器系统的操作方法 | |
US9164889B2 (en) | Memory system to select program operation method and method thereof | |
CN102479556A (zh) | 非易失性存储器件及其读取方法 | |
CN104700896B (zh) | 存储器系统和包括所述存储器系统的用户装置 | |
CN108694096A (zh) | 控制器、存储系统及其操作方法 | |
CN106683701B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN109542394A (zh) | 控制器、半导体存储器装置及具有它们的存储器系统 | |
CN107958687B (zh) | 存储器编程方法、存储器控制电路单元及其存储装置 | |
CN105304142B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN106126437A (zh) | 存储系统 | |
CN108959109A (zh) | 数据读取方法、存储器控制电路单元与存储器存储装置 | |
CN109032957A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN108091364B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN109308930A (zh) | 数据写入方法、存储器控制电路单元及存储器存储装置 | |
CN109426450A (zh) | 存储器系统及其操作方法 | |
CN108073469A (zh) | 用于通用产品代码的数据映射方案 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |