CN101356507B - 存储器存储系统和方法 - Google Patents

存储器存储系统和方法 Download PDF

Info

Publication number
CN101356507B
CN101356507B CN2006800327676A CN200680032767A CN101356507B CN 101356507 B CN101356507 B CN 101356507B CN 2006800327676 A CN2006800327676 A CN 2006800327676A CN 200680032767 A CN200680032767 A CN 200680032767A CN 101356507 B CN101356507 B CN 101356507B
Authority
CN
China
Prior art keywords
memory cell
group
memory
flash
storage system
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
CN2006800327676A
Other languages
English (en)
Other versions
CN101356507A (zh
Inventor
M·拉瑟
M·穆里恩
A·埃亚尔
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.)
Western Data Israel Ltd
Original Assignee
SanDisk IL Ltd
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 SanDisk IL Ltd filed Critical SanDisk IL Ltd
Publication of CN101356507A publication Critical patent/CN101356507A/zh
Application granted granted Critical
Publication of CN101356507B publication Critical patent/CN101356507B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Read Only Memory (AREA)

Abstract

一种闪存存储系统(10),包含存储器阵列(12)和控制该闪存阵列(12)的控制器(16),其中该存储器阵列(12)包括多个存储器单元(14)。该控制器(16)专用第一组存储器单元用于每个单元存储第一位数,并且专用分开的第二组存储器单元(14)用于每个单元存储第二位数。提供了一种机构来把磨损平衡技术独立地应用于两组存储器单元来平均对存储器单元(14)的磨损。

Description

存储器存储系统和方法
技术领域
本发明总的来说涉及一种闪存存储系统。更具体地,本发明涉及一种包含能够每存储器单元存储多个位的缓冲存储机构的闪存存储系统。 
背景技术
一种作为多层单元(MLC)闪存实现的闪存系统用于在每个存储器单元上存储多于一个数据位。对多层单元(MLC)闪存的数据的写入速度典型地低于对在每个单元只存储一个数据位的单层单元(SLC)闪存的数据写入速度。因此,基于MLC闪存的存储系统可能不能够以一个较高的写入速度来记录传输给它的输入数据流。 
在数据产生速度高到不能直接存储的典型情况下,提供一种缓冲存储机构并将其设计成足够快速地处理输入的数据流。把利用第二(并且较快的)存储器的缓冲存储器设置在输入数据源和主(并且较慢的)存储器之间。输入数据流首先被写入到较快的缓冲存储器中,并且在稍后阶段从这个较快的缓冲存储器复制到主存储器中。由于复制操作典型地在后台执行,所以不必满足由输入数据流速度而强制实行的严格的性能条件,因此主存储器的较低的写入性能不再是障碍。 
然而,用于缓冲存储的第二存储器的实现具有其自身的缺点。该实现需要为缓冲存储器及其控制提供额外的器件,而且也使得存储器系统的设计和管理变得复杂。 
现有技术包括Lee等人的美国专利NO.5,930,167,其披露了在闪存存储系统中用于缓冲存储写操作的一种存储方法和系统,其具有在MLC闪存中的缓冲存储的优点,同时具有更少的缺点。MLC闪存介质配置成作为其自身的缓冲存储器操作。这样是可能的,因为存储多个位的存储器单元可以更进一步实现为类似于SLC存储器单元操作并且只存储单个位,从技术的角度来看是一个更容易的目标。因而,MLC存储器单元可以被实现为具有SLC闪存特征的更快 的写性能。Lee的专利通过引用而结合于此,就像完全在这里阐述一样,用于所有目的。 
在现有技术中已知的技术,诸如Lee等人的技术,提供了一种嵌入到MLC闪存存储系统中的“内置”的较快速的缓冲存储器。当接收到要存储的数据位时,它们首先被写入到运行于SLC模式下的存储器单元中。该第一写操作可以相对快地完成。在该操作之后,在后台中并且当时间允许时,数据位从SLC单元中复制到设置为运行于MLC模式下的存储器单元中。这样,由于系统被设计成使用了MLC闪存存储系统的较高存储密度,它更能处理较快的输入数据流,而不是在没有缓冲存储机构的情况下不能被处理。 
共有两种可能的方法用于配置闪存系统,同时利用了这样一个SLC缓冲存储方案: 
A.专用的缓冲存储器,存储器单元中的特定部分一直被分配成运行在SLC模式下,同时其它单元被分配成仅运行在MLC模式下。换句话说,运行在SLC模式下的存储器单元(SLC单元)与运行在MLC模式下的存储器单元(MLC单元)同时共存于存储系统中,每个特定的存储器单元被分配成运行在SLC模式下或者在MLC模式下,且不能交替地分配成在一个时间点运行在SLC模式下和在另一个时间点运行在MLC模式下。 
B.混合缓冲存储器,至少一些存储器单元在系统的运行期间更改模式。即,一个特定的存储器单元可以在一个时间点被分配成运行在SLC模式下并用来缓冲存储数据,而在第二时间点,相同的存储器单元被分配成运行在MLC模式下,并用于主存储器中的高密度数据存储。 
在闪存系统中,专用缓冲存储方法比混合缓冲存储方法管理起来更加简单。存储器单元的每个部分被预分配成运行在SLC模式下或在MLC模式下。因此,不需要实时模式切换。此外,没有必要提供信息管理模块用于存储和检测任一存储部分的当前运行模式。 
但是,尽管该优点很清楚,但Lee的专利披露了一种应用更加复杂的混合缓冲存储方法的存储系统,位于第2栏第49行: 
“没有必要专用闪速EEPROM存储器的某些部分只作为写缓冲存储器运行...因此,本发明的闪速EEPROM存储器的以高密度存储数据的部分也能够作为写缓冲存储器而运行...,用于长期、高密度存储的存储器扇区的识别通过 诸如文件分配表来保留,以便能够将低密度的输入数据引向那些没有被使用的扇区。” 
Lee的专利中进一步给出了使用更复杂的混和缓冲存储的方法的解释,位于第2栏第51行: 
“使用存储器中的专用部分作为写缓冲器可能引起该部分中的单元比存储器的其它部分中的单元被使用的更加多一些,与均匀地耗损存储器的通用需求相反。” 
换句话说,由于每块输入数据要写两次,一次在SLC模式(当被缓冲存储时)和一次在MLC模式(当被复制到主存储器时),并且由于分配给缓冲存储器的存储器单元部分通常要比分配给主存储器的存储器单元部分小得多,那么,在平均时间上,仅分配给缓冲存储器的存储器单元要比仅分配给主存储器的存储器单元写入和随后的擦写更频繁。 
众所周知闪存单元在使用期间要磨损,即,经历的写/擦写周期越多,它们遭受的磨损也就越多。因此,根据Lee的说法,按照专用缓冲存储方法分配给缓冲存储器的存储器单元将比其它存储器单元磨损得更快,并且可能已经达到其使用寿命(即它们正常使用工作的能力的尽头),同时没有用作缓冲存储器的单元仍运行良好。 
因此,Lee的专利应用混合缓冲存储方法,以便均匀地分配对所有存储器单元的磨损,因为没有一个单元在缓冲存储器中被总是大量的使用。 
事实上,Lee的专利可以更进一步加强其反对利用专用方法的论点,位于第3栏第2行: 
“...由于低密度编程的情况比高密度编程的情况能引发的磨损更多一些。” 
因此,不但缓冲存储器的存储器单元写入得更频繁并且趋向于磨损得更加快,而且根据Lee的专利,即使在相同数目的写/擦写周期下,配置成运行在SLC模式下的存储器单元也比配置成运行在MLC模式下的存储器单元要磨损得更加早一些。 
Lee的专利更进一步提到了一个应用专用缓冲存储方法的案例,位于第9栏第44行: 
“可选地,在存储系统的使用并不预期为大到足以需要这样的磨损平衡的应用中,某些数据块或者扇区可专用于初始双态数据的写操作。” 
换句话说,如果存储系统不频繁写入以致于即使没有使用磨损平衡技术,也不预期有存储器单元磨损掉,那么此处就适合应用专用缓冲存储方法。 
用于实现磨损平衡以便平均分配对所有存储器块的磨损的技术在本领域是公知的。它们包括Lofgren等人的美国专利NO.6,230,233,Wells的美国专利NO.5,341,339,Jou等人的美国专利NO.5,568,423,Assar等人的美国专利NO.5,388,083,Harari的美国专利第5,712,819、6,570,790和5,963,480号等,以及Chang等人的美国专利NO.6,831,865。所有这些专利通过引用结合于此,就像完全在这里阐述一样,用于所有的目的。 
所有上述现有技术的方法是基于闪存单元中的每个块经历的写/擦写周期的计数,且在写操作需要新的数据块时使用这些计数来决定分配哪个块。事实上,Lee也使用了此方法,进一步保存了每个数据块的独立的SLC计数值和MLC计数值。 
总结如下,根据Lee的专利,这样一个自缓冲存储的MLC/SLC的闪存系统的设计者只可以在如下两者之间选择: 
A.使用混合缓冲存储方法,使用磨损平衡技术,并得到可以经受频繁的写入的一种存储系统。这是主要的也是推荐的方法。 
B.使用专用缓冲存储方法,而不使用磨损平衡技术,并得到只在数据写入不频繁的情况下可以使用的一种存储系统,。 
然而,该方法的主要缺点在于,混合缓冲存储方法实现和处理起来更加复杂,因为需要实时模式切换管理。 
因此,期望提供一种使用专用缓冲存储方法的存储系统,同时克服了对存储器单元频繁写入而引发的磨损问题。 
发明内容
因此,本发明的主要目的是克服使用专用缓冲存储方法的现有技术的缺点,同时克服对存储器单元的频繁写入而引起的磨损问题。 
提出的闪存存储系统包括具有两组存储器单元的闪存存储器阵列。提供控制器以通过在SLC模式下运行第一组存储器单元和在MLC模式下运行第二组存储器单元来控制该闪存存储器阵列。在MLC模式下运行的存储器单元(MLC单元)比SLC单元含有更多的位,使得两组存储器单元的位不接合。 
根据本发明的优选实施例,提供了一种闪存存储系统和在具有控制器和存储器阵列的闪存存储系统中存储数据的方法,该方法包括以下步骤: 
专用存储器阵列的第一组存储器单元,以使第一组存储器单元中的每一个存储第一位数; 
专用存储器阵列的第二组存储器单元,以使第二组存储器单元中的每一个存储第二位数, 
其中,所述第二位数大于所述第一位数, 
以使得第一组存储器单元和第二组存储器单元不接合; 
把数据写入第一组存储器单元; 
把数据从第一组存储器单元复制到第二组存储器单元;以及 
在所述第一组存储器单元中应用第一磨损平衡技术来在所述第一组存储器单元自身中均匀分配其磨损。 
根据本发明的另一方法,第一位数是一且第二位数是二。 
根据本发明的另一方法,第一位数是一且第二位数是四。 
根据本发明的另一方法,第二组的单元数与第一组的单元数之间的比率被设置为近似等于第一组存储器单元的耐久性与第二组存储器单元的耐久性之间的比率乘以第一位数与第二位数之间的比率。 
根据本发明的另一方法进一步包括如下步骤: 
在第二组存储器单元中应用第二磨损平衡技术来在第二组存储器单元自身中均匀分配其磨损。 
根据本发明的另一个实施例,提供了一种闪存存储系统,包括: 
包含多个存储器单元的存储器阵列;以及 
控制器,用于通过专用第一组存储器单元来每单元存储第一位数和专用第二组存储器单元来每单元存储第二位数控制闪存存储器阵列,其中,第二位数大于所述第一位数,以使得第一组存储器单元和第二组存储器单元不接合;以及 
一种机构,用于在第一组存储器单元中应用第一磨损平衡技术来在第一组存储器单元自身中均匀分配其磨损。 
通过下述的附图和描述使本发明的另外的特征和优点变得更加显而易见。 
附图说明
为了参照本发明的实施例更好地理解本发明,参考附图,其中贯穿全文相同的数字指示相应的部分或元件,并且其中: 
唯一的附图示出了根据本发明优选实施例的包括提出的闪存存储系统的部件的框图。 
具体实施方式
本发明披露了一种创新的闪存存储系统,其使用了专用缓冲存储方法,同时克服了由于频繁写入存储器单元而引起的磨损问题。 
提出的闪存存储系统包括具有两组存储器单元的闪存存储器阵列。提供控制器以通过在SLC模式下运行第一组存储器单元和在MLC模式下运行第二组存储器单元来控制该闪存存储器阵列。在MLC模式下运行的存储器单元(MLC单元)具有比SLC单元更大的位数,以使得两组存储器单元的位不接合(也就是说,两组存储器单元不重叠,不共有任一元素,等等)。通俗地讲,如果不会有对象是两组的实例的情况下,那么两组是不接合的。 
根据专用缓冲存储方法,存储器单元的特定部分总是被分配成在SLC模式下运行,同时其它存储器单元被分配成仅在MLC模式下运行。换句话说,每个特定的存储器单元被分配成在SLC模式下运行或者在MLC模式下运行,且不能交替地分配成在一个时间点在SLC模式下运行且在另一个时间点在MLC模式下运行。 
存储器单元的特定部分专用于总是在特定模式下运行不再需要执行实时模式切换技术。同时也没有必要提供为识别存储器单元的当前操作模式所需的信息管理。因此,设计的总体复杂性被简化了。 
存储器单元被设置运行在SLC模式下(即,SLC单元)比被设置运行在MLC模式下时(即,MLC单元)积聚了更少的磨损。这是由于MLC单元的更长的运行时间引起对这些存储器单元更大的压力且增加了磨损的事实。 
此外,MLC闪存存储系统中的SLC单元的磨损特性与典型的SLC闪存存储系统中的SLC单元的相类似。例如,与MLC闪存存储系统只有10,000个编程/擦写周期相比典型的SLC闪存存储系统具有100,000个的编程/擦写周期的耐久性。 
在Lee的专利中关于在SLC模式下(而不是MLC模式)运行时存在较高磨损的假设实际上是不正确的。或许这些假设未被验证,或许在Lee的专利中披露的闪存设备与本领域当前公知的闪存设备相比呈现不同的运行特性。 
不管什么原因,提出的闪存存储系统在SLC模式下的运行比在MLC模式下的运行引起较小的磨损的事实在使本发明可用方面是关键因素。 
因此,如果SLC单元用作MLC单元的缓冲存储器,那么在应用专用缓冲存储方法时即使分配给缓冲存储器的存储器单元经历更多的写入/擦写周期,SLC单元(由于它们运行在SLC模式下)的较好的磨损特性补偿该更频繁的写入。 
参照图1,示出了根据本发明的闪存存储系统10的优选实施例的组件的框图。闪存存储系统10包括存储器阵列12,该存储器阵列12包含多个存储器单元14,这些存储器单元或运行在SLC模式下或运行在MLC模式下,分别表示为C11到C1m和C21到C2n。还提供了用于控制存储器阵列12并且把数据写入到存储器单元14的控制器16。 
存储器单元14在每单元存储一位时具有200,000个编程/擦写周期的SLC耐久性并且在每单元存储两位时具有10,000个编程/擦写周期的MLC耐久性。 
控制器16控制存储器阵列12,以使得存储器单元的9%C11到C1m只是运行在SLC模式下(分配为SLC单元),并且存储器单元的剩余的91%C21到C2n只是运行在MLC模式下(分配为MLC单元)。 
初看起来,可以得出平均起来一个SLC单元几乎10倍于一个MLC单元的循环频率。但是必须考虑到如下定义-在SLC单元中存储给定的数据量需要的存储器单元数为MLC单元中存储相同的数据量需要的存储器单元数的两倍。 
因此,正确的结论是平均起来C11到C1m中的每一个SLC单元几乎20倍于C21到C2n中的每一个MLC单元的循环频率。 
然而,由于每个SLC单元(具有200,000个编程/擦写周期的耐久性)的耐久性几乎是每个MLC单元(具有10,000个编程/擦写周期的耐久性)的耐久性的20倍。平均起来,SLC单元和MLC单元,相应的C11到C1m和C21到C2n,都在同一时间磨损掉并达到它们寿命的尽头(即,它们正常使用工作的能力的尽头)。结果是,所有存储器单元14的磨损在系统中均匀分配。 
使SLC单元和MLC单元均匀磨损掉达到了最佳的效果。因此,闪存存储 系统对于最佳的时间可用,与以下情况相反,在一些存储器单元被完全磨损掉而不能再对系统存储使用时,其它存储器单元仍旧是“新的”且可以使用。 
为了使上述有效,闪存存储系统10使用磨损平衡技术来均匀分配缓冲存储器单元自身内的磨损。磨损平衡技术均匀分配一组单元自身内的磨损意味着,该技术试图促使该组中的所有单元具有类似的磨损,而不考虑该组之外的任意单元的磨损。因此此处的磨损平衡技术试图促使缓冲存储器的所有单元具有类似的磨损,而不考虑其它单元的磨损。这需要SLC写/擦写的计数值(即,通过对由可作为一组进行擦写的每个存储器单元块执行的在SLC模式下的写/擦写周期的数目进行计数)和使用现有技术已知的磨损平衡技术来实现。 
类似地,磨损平衡技术也可以用来均匀分配非缓冲存储器单元自身的磨损。即,磨损平衡技术试图促使所有非缓冲存储器单元具有类似的磨损,而不考虑其它单元的磨损。这需要MLC写/擦写的计数值(即,通过对由每个存储器单元块执行的在MLC模式下的写/擦写周期的数目进行计数)和再次使用现有技术已知的磨损平衡技术来实现。与Lee的专利相反,此处不必为每个块提供两个计数值,因为根据专用缓冲存储方法,每个块或者使用在SLC模式下或者使用在MLC模式下但是从来不同时在两个模式下,所以每个块只需要一个计数。 
根据本发明的一个优选实施例,存储器阵列的每个MLC单元存储两位。然而,提出的闪存存储系统并不限制于此情况。存储器阵列中分配的MLC单元可以在每个单元中存储3位,或者4位,或者其他大于1的任意位数。类似地,SLC单元中的每个单元也不必然存储一位。每个“SLC”单元(“SLC”带引号是因为该单元不再是单层单元)可以在每个单元中存储任意位数,只要每个MLC单元中存储的位数大于每个“SLC”单元中存储的位数。只要保持该关系,对“SLC”单元的写操作花费的时间就少于对MLC单元花费的时间。因此,就获得了对输入流高速度的支持。 
优选地,MLC单元的数目与“SLC”单元的数目之间的比率被设置为近似等于“SLC”单元的耐久性与MLC单元的耐久性之间的比率乘以“SLC”单元的位数与MLC单元的位数之间的比率。 
应当理解的是,尽管在此披露的闪存存储系统优先使用NAND型闪存,但也可以使用其它类型的闪存。此外,在本发明的范围内的其它实现也是可能的,由此涉及使用了专用缓冲存储的方法同时克服了磨损问题和提供了类似的功能的任何系统。 
在此已经关于一个特定的实施例本发明,应当理解的是该描述并不作为一 个限制,这是因为根据本发明的启示本领域技术人员可以做更进一步的修改,本发明覆盖在附带的权利要求范围内的这些修改。 

Claims (11)

1.一种用于在闪存存储系统中存储数据的方法,该闪存存储系统具有控制器和存储器阵列,该方法包括以下步骤:
a.将存储器阵列的第一组存储器单元专用,使得所述第一组存储器单元中的每一个以第一位数进行存储;
b.将存储器阵列的第二组存储器单元专用,使得所述第二组存储器单元中的每一个以第二位数进行存储,其中,所述第二位数大于所述第一位数,以及所述第一组存储器单元和所述第二组存储器单元不接合;
c.把数据写入所述第一组存储器单元;
d.把数据从所述第一组存储器单元复制到所述第二组存储器单元;以及
e.与所述第二组存储器单元的所述存储器单元分离地、在所述第一组存储器单元的所述存储器单元中应用磨损平衡,以独立于所述第二组存储器单元的磨损在所述第一组存储器单元自身中均匀分配磨损;以及
其中,所述第一和第二组存储器单元的所述存储器单元的相应数量被选择为使得所述第二组存储器单元的所述存储器单元的所述相应数量与所述第一组存储器单元的所述存储器单元的所述相应数量之间的比率近似等于所述第一组存储器单元的耐久性与所述第二组存储器单元的耐久性之间的比率乘以所述第一位数与所述第二位数之间的比率。
2.根据权利要求1所述的方法,其中,所述第一位数是一位且所述第二位数是二位。
3.根据权利要求1所述的方法,其中,所述第一位数是一位且所述第二位数是四位。
4.根据权利要求1所述的方法,进一步包括如下步骤:
f.与所述第一组存储器单元的所述存储器单元分离地、在所述第二组存储器单元的所述存储器单元中应用磨损平衡,以独立于所述第一组存储器单元的所述磨损在所述第二组存储器单元自身中均匀分配磨损。
5.一种闪存存储系统,包括:
a.包含多个存储器单元的存储器阵列;
b.控制器,用于通过从所述多个存储器单元中将第一组存储器单元专用于每单元以第一位数进行存储和通过从所述多个存储器单元中将第二组存储器单元专用于每单元以第二位数进行存储来控制所述存储器阵列,其中,所述第二位数大于所述第一位数,以及所述第一组存储器单元和所述第二组存储器单元不接合;以及
c.一种机构,用于与所述第二组存储器单元的所述存储器单元分离地、在所述第一组存储器单元的所述存储器单元中应用磨损平衡,以独立于所述第二组存储器单元的磨损在所述第一组存储器单元自身中均匀分配磨损,
其中,所述控制器选择所述第一和第二组存储器单元的所述存储器单元的相应数量,使得所述第二组存储器单元的所述存储器单元的所述相应数量与所述第一组存储器单元的所述存储器单元的所述相应数量之间的比率近似等于所述第一组存储器单元的耐久性与所述第二组存储器单元的耐久性之间的比率乘以所述第一位数与所述第二位数之间的比率。
6.根据权利要求5所述的闪存存储系统,其中,所述控制器进一步可操作以将数据存储在所述第一组存储器单元中并且随后将所述数据复制到所述第二组存储器单元中。
7.根据权利要求5所述的闪存存储系统,其中,所述第一位数是一位且所述第二位数是二位。
8.根据权利要求5所述的闪存存储系统,其中,所述第一位数是一位且所述第二位数是四位。
9.根据权利要求5所述的闪存存储系统,其中所述控制器还用于与所述第一组存储器单元的所述存储器单元分离地、在所述第二组存储器单元的所述存储器单元中应用磨损平衡,以独立于所述第一组存储器单元的所述磨损在所述第二组存储器单元自身中均匀分配磨损。
10.根据权利要求5所述的闪存存储系统,其中,用于应用所述磨损平衡的所述机构被包括在所述控制器中。
11.根据权利要求9所述的闪存存储系统,其中,用于应用所述磨损平衡的所述机构被包括在所述控制器中。
CN2006800327676A 2005-09-09 2006-09-07 存储器存储系统和方法 Active CN101356507B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US71539105P 2005-09-09 2005-09-09
US60/715,391 2005-09-09
US11/318,906 2005-12-28
US11/318,906 US7752382B2 (en) 2005-09-09 2005-12-28 Flash memory storage system and method
PCT/IL2006/001049 WO2007029259A2 (en) 2005-09-09 2006-09-07 Front memory storage system and method

Publications (2)

Publication Number Publication Date
CN101356507A CN101356507A (zh) 2009-01-28
CN101356507B true CN101356507B (zh) 2012-04-18

Family

ID=37836264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800327676A Active CN101356507B (zh) 2005-09-09 2006-09-07 存储器存储系统和方法

Country Status (6)

Country Link
US (2) US7752382B2 (zh)
EP (1) EP1922623B1 (zh)
JP (1) JP4759057B2 (zh)
KR (1) KR100982481B1 (zh)
CN (1) CN101356507B (zh)
WO (1) WO2007029259A2 (zh)

Families Citing this family (241)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051052B2 (en) * 2004-12-21 2011-11-01 Sandisk Technologies Inc. Method for creating control structure for versatile content control
US20070168292A1 (en) * 2004-12-21 2007-07-19 Fabrice Jogand-Coulomb Memory system with versatile content control
US8504849B2 (en) * 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
US8601283B2 (en) * 2004-12-21 2013-12-03 Sandisk Technologies Inc. Method for versatile content control with partitioning
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
KR100714873B1 (ko) * 2005-09-06 2007-05-07 삼성전자주식회사 비휘발성 메모리에서 데이터 갱신 방법 및 이를 위한 장치
US7752382B2 (en) 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
WO2007132457A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US8239735B2 (en) * 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
WO2007132452A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
US7711890B2 (en) 2006-06-06 2010-05-04 Sandisk Il Ltd Cache control in a non-volatile memory device
US20100138652A1 (en) * 2006-07-07 2010-06-03 Rotem Sela Content control method using certificate revocation lists
US20080034440A1 (en) * 2006-07-07 2008-02-07 Michael Holtzman Content Control System Using Versatile Control Structure
US8639939B2 (en) * 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
US8613103B2 (en) * 2006-07-07 2013-12-17 Sandisk Technologies Inc. Content control method using versatile control structure
US20080010452A1 (en) * 2006-07-07 2008-01-10 Michael Holtzman Content Control System Using Certificate Revocation Lists
US20080010458A1 (en) * 2006-07-07 2008-01-10 Michael Holtzman Control System Using Identity Objects
US8245031B2 (en) * 2006-07-07 2012-08-14 Sandisk Technologies Inc. Content control method using certificate revocation lists
US8266711B2 (en) * 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
US20080022395A1 (en) * 2006-07-07 2008-01-24 Michael Holtzman System for Controlling Information Supplied From Memory Device
US20080010449A1 (en) * 2006-07-07 2008-01-10 Michael Holtzman Content Control System Using Certificate Chains
US8140843B2 (en) * 2006-07-07 2012-03-20 Sandisk Technologies Inc. Content control method using certificate chains
US7885119B2 (en) 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
US7894269B2 (en) * 2006-07-20 2011-02-22 Sandisk Corporation Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7821826B2 (en) 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) * 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US20080140918A1 (en) * 2006-12-11 2008-06-12 Pantas Sutardja Hybrid non-volatile solid state memory system
US9153337B2 (en) 2006-12-11 2015-10-06 Marvell World Trade Ltd. Fatigue management system and method for hybrid nonvolatile solid state memory system
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7900102B2 (en) * 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) * 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7679965B2 (en) * 2007-01-31 2010-03-16 Sandisk Il Ltd Flash memory with improved programming precision
KR100819102B1 (ko) * 2007-02-06 2008-04-03 삼성전자주식회사 개선된 멀티 페이지 프로그램 동작을 갖는 불휘발성 반도체메모리 장치
US8370562B2 (en) * 2007-02-25 2013-02-05 Sandisk Il Ltd. Interruptible cache flushing in flash memory systems
WO2008111058A2 (en) * 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
TWI368224B (en) * 2007-03-19 2012-07-11 A Data Technology Co Ltd Wear-leveling management and file distribution management of hybrid density memory
JP2008257773A (ja) * 2007-04-02 2008-10-23 Toshiba Corp 不揮発性半導体記憶装置、不揮発性半導体記憶装置の制御方法、不揮発性半導体記憶システム、及びメモリカード
US20080250220A1 (en) * 2007-04-06 2008-10-09 Takafumi Ito Memory system
US8001320B2 (en) * 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) * 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
JP4781373B2 (ja) * 2007-05-14 2011-09-28 株式会社バッファロー 記憶装置
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US7916536B2 (en) 2007-07-26 2011-03-29 Micron Technology, Inc. Programming based on controller performance requirements
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
KR101498673B1 (ko) * 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
US7652929B2 (en) * 2007-09-17 2010-01-26 Sandisk Corporation Non-volatile memory and method for biasing adjacent word line for verify during programming
US8174905B2 (en) * 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7545673B2 (en) * 2007-09-25 2009-06-09 Sandisk Il Ltd. Using MLC flash as SLC by writing dummy data
US9607664B2 (en) * 2007-09-27 2017-03-28 Sandisk Technologies Llc Leveraging portable system power to enhance memory management and enable application level features
US8566504B2 (en) * 2007-09-28 2013-10-22 Sandisk Technologies Inc. Dynamic metablocks
JP4746598B2 (ja) * 2007-09-28 2011-08-10 株式会社東芝 半導体記憶装置
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8068360B2 (en) * 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8527819B2 (en) * 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8270246B2 (en) * 2007-11-13 2012-09-18 Apple Inc. Optimized selection of memory chips in multi-chips memory devices
US9183133B2 (en) * 2007-11-28 2015-11-10 Seagate Technology Llc System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8200904B2 (en) * 2007-12-12 2012-06-12 Sandisk Il Ltd. System and method for clearing data from a cache
US8209588B2 (en) * 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US7831758B2 (en) * 2007-12-21 2010-11-09 Intel Corporation Accelerating input/output (IO) throughput on solid-state memory-based mass storage device
US8085586B2 (en) * 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8001316B2 (en) * 2007-12-27 2011-08-16 Sandisk Il Ltd. Controller for one type of NAND flash memory for emulating another type of NAND flash memory
WO2009084724A1 (en) 2007-12-28 2009-07-09 Kabushiki Kaisha Toshiba Semiconductor storage device
US7865658B2 (en) * 2007-12-31 2011-01-04 Sandisk Il Ltd. Method and system for balancing host write operations and cache flushing
CN101499315B (zh) * 2008-01-30 2011-11-23 群联电子股份有限公司 快闪存储器平均磨损方法及其控制器
US8156398B2 (en) * 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) * 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) * 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
TWI425523B (zh) * 2008-03-25 2014-02-01 Asmedia Technology Inc 混合型快閃儲存裝置及其操作方法
US8341331B2 (en) * 2008-04-10 2012-12-25 Sandisk Il Ltd. Method, apparatus and computer readable medium for storing data on a flash device using multiple writing modes
US8285919B2 (en) * 2008-05-27 2012-10-09 Initio Corporation SSD with improved bad block management
US7970978B2 (en) * 2008-05-27 2011-06-28 Initio Corporation SSD with SATA and USB interfaces
US8060719B2 (en) 2008-05-28 2011-11-15 Micron Technology, Inc. Hybrid memory management
TWI437429B (zh) * 2008-06-04 2014-05-11 A Data Technology Co Ltd 多通道混合密度記憶體儲存裝置及其控制方法
TWI375962B (en) * 2008-06-09 2012-11-01 Phison Electronics Corp Data writing method for flash memory and storage system and controller using the same
US7848144B2 (en) * 2008-06-16 2010-12-07 Sandisk Corporation Reverse order page writing in flash memories
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
TW201007451A (en) * 2008-08-12 2010-02-16 Phison Electronics Corp Block management method for flash memory and storage system and controller using the same
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8407399B2 (en) * 2008-10-29 2013-03-26 Sandisk Il Ltd. Method and apparatus for enforcing a flash memory caching policy
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
KR101548175B1 (ko) * 2008-11-05 2015-08-28 삼성전자주식회사 싱글 레벨 메모리 셀 블락과 멀티 레벨 메모리 셀 블락을 포함하는 불휘발성 메모리 장치의 마모 레벨링 방법
US8407400B2 (en) * 2008-11-12 2013-03-26 Micron Technology, Inc. Dynamic SLC/MLC blocks allocations for non-volatile memory
US8208304B2 (en) * 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
TW201020786A (en) * 2008-11-28 2010-06-01 Avermedia Tech Inc Method for executing scheduled task
US8600883B2 (en) 2008-12-02 2013-12-03 Ebay Inc. Mobile barcode generation and payment
US20100146187A1 (en) * 2008-12-05 2010-06-10 Grimsrud Knut S Endurance management technique
US8209466B2 (en) * 2008-12-16 2012-06-26 Intel Corporation Methods and systems to allocate addresses in a high-endurance/low-endurance hybrid flash memory
US9104618B2 (en) * 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device
JP2010152778A (ja) * 2008-12-26 2010-07-08 Hitachi Ulsi Systems Co Ltd 半導体記憶装置
US20100169540A1 (en) * 2008-12-30 2010-07-01 Sinclair Alan W Method and apparatus for relocating selected data between flash partitions in a memory device
US8261009B2 (en) * 2008-12-30 2012-09-04 Sandisk Il Ltd. Method and apparatus for retroactive adaptation of data location
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8248831B2 (en) * 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8244960B2 (en) 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US8700840B2 (en) * 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US8040744B2 (en) 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US8094500B2 (en) * 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
KR101760144B1 (ko) 2009-01-05 2017-07-31 샌디스크 테크놀로지스 엘엘씨 비휘발성 메모리 및 기록 캐시를 분할하는 방법
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
TWI425444B (zh) * 2009-02-20 2014-02-01 Avermedia Information Inc 影像資料歪斜偵測校正方法與裝置
US8706998B2 (en) 2009-02-26 2014-04-22 Hyperstone Gmbh Method for managing flash memories having mixed memory types
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8027195B2 (en) * 2009-06-05 2011-09-27 SanDisk Technologies, Inc. Folding data stored in binary format into multi-state format within non-volatile memory devices
US8102705B2 (en) 2009-06-05 2012-01-24 Sandisk Technologies Inc. Structure and method for shuffling data within non-volatile memory devices
US20110002169A1 (en) 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US7948798B1 (en) * 2009-07-22 2011-05-24 Marvell International Ltd. Mixed multi-level cell and single level cell storage device
US8463983B2 (en) * 2009-09-15 2013-06-11 International Business Machines Corporation Container marker scheme for reducing write amplification in solid state devices
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8725935B2 (en) 2009-12-18 2014-05-13 Sandisk Technologies Inc. Balanced performance for on-chip folding of non-volatile memories
US8468294B2 (en) * 2009-12-18 2013-06-18 Sandisk Technologies Inc. Non-volatile memory with multi-gear control using on-chip folding of data
US20110153912A1 (en) 2009-12-18 2011-06-23 Sergey Anatolievich Gorobets Maintaining Updates of Multi-Level Non-Volatile Memory in Binary Non-Volatile Memory
US8144512B2 (en) 2009-12-18 2012-03-27 Sandisk Technologies Inc. Data transfer flows for on-chip folding
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
WO2011092532A1 (en) 2010-01-28 2011-08-04 Sandisk Il Ltd. Sliding-window error correction
JP5612508B2 (ja) * 2010-03-25 2014-10-22 パナソニック株式会社 不揮発性メモリコントローラ及び不揮発性記憶装置
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US9235530B2 (en) 2010-05-31 2016-01-12 Sandisk Technologies Inc. Method and system for binary cache cleanup
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8417876B2 (en) 2010-06-23 2013-04-09 Sandisk Technologies Inc. Use of guard bands and phased maintenance operations to avoid exceeding maximum latency requirements in non-volatile memory systems
US8543757B2 (en) 2010-06-23 2013-09-24 Sandisk Technologies Inc. Techniques of maintaining logical to physical mapping information in non-volatile memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
KR101719395B1 (ko) 2010-07-13 2017-03-23 샌디스크 테크놀로지스 엘엘씨 백-엔드 메모리 시스템 인터페이스를 동적으로 최적화하는 방법
US8464135B2 (en) 2010-07-13 2013-06-11 Sandisk Technologies Inc. Adaptive flash interface
US9069688B2 (en) 2011-04-15 2015-06-30 Sandisk Technologies Inc. Dynamic optimization of back-end memory system interface
US8898374B2 (en) * 2010-07-21 2014-11-25 Silicon Motion, Inc. Flash memory device and method for managing flash memory device
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US9342446B2 (en) 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
CN103688246A (zh) * 2011-05-17 2014-03-26 桑迪士克科技股份有限公司 具有在活跃slc和mlc存储器分区之间分布的小逻辑组的非易失性存储器和方法
US9176864B2 (en) 2011-05-17 2015-11-03 SanDisk Technologies, Inc. Non-volatile memory and method having block management with hot/cold data sorting
US9141528B2 (en) 2011-05-17 2015-09-22 Sandisk Technologies Inc. Tracking and handling of super-hot data in non-volatile memory systems
US8775901B2 (en) 2011-07-28 2014-07-08 SanDisk Technologies, Inc. Data recovery for defective word lines during programming of non-volatile memory arrays
US9268686B2 (en) * 2011-12-05 2016-02-23 Intel Corporation Background reordering—a preventive wear-out control mechanism with limited overhead
US8842473B2 (en) 2012-03-15 2014-09-23 Sandisk Technologies Inc. Techniques for accessing column selecting shift register with skipped entries in non-volatile memories
US8681548B2 (en) 2012-05-03 2014-03-25 Sandisk Technologies Inc. Column redundancy circuitry for non-volatile memory
TWI486765B (zh) * 2012-06-11 2015-06-01 Phison Electronics Corp 記憶體管理方法、記憶體控制器與記憶體儲存裝置
KR101989018B1 (ko) * 2012-06-25 2019-06-13 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
KR102147359B1 (ko) * 2012-06-29 2020-08-24 삼성전자 주식회사 비휘발성 메모리 장치의 관리 방법 및 비휘발성 메모리 장치
US9003068B2 (en) 2012-07-12 2015-04-07 International Business Machines Corporation Service channel for connecting a host computer to peripheral devices
US9076506B2 (en) 2012-09-28 2015-07-07 Sandisk Technologies Inc. Variable rate parallel to serial shift register
US9490035B2 (en) 2012-09-28 2016-11-08 SanDisk Technologies, Inc. Centralized variable rate serializer and deserializer for bad column management
US8897080B2 (en) 2012-09-28 2014-11-25 Sandisk Technologies Inc. Variable rate serial to parallel shift register
CN105264610B (zh) * 2013-09-17 2018-05-22 桑迪士克科技有限责任公司 在多位存储元件处存储数据时使用虚数据的装置和方法
JP6289883B2 (ja) * 2013-11-27 2018-03-07 株式会社東芝 ストレージ装置
US9384128B2 (en) 2014-04-18 2016-07-05 SanDisk Technologies, Inc. Multi-level redundancy code for non-volatile memory controller
US9665296B2 (en) 2014-05-07 2017-05-30 Sandisk Technologies Llc Method and computing device for using both volatile memory and non-volatile swap memory to pre-load a plurality of applications
US9710198B2 (en) 2014-05-07 2017-07-18 Sandisk Technologies Llc Method and computing device for controlling bandwidth of swap operations
US9928169B2 (en) * 2014-05-07 2018-03-27 Sandisk Technologies Llc Method and system for improving swap performance
US9633233B2 (en) 2014-05-07 2017-04-25 Sandisk Technologies Llc Method and computing device for encrypting data stored in swap memory
US10031673B2 (en) * 2014-09-26 2018-07-24 SK Hynix Inc. Techniques for selecting amounts of over-provisioning
US9875039B2 (en) 2014-09-30 2018-01-23 Sandisk Technologies Llc Method and apparatus for wear-leveling non-volatile memory
US9934872B2 (en) 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
US10032524B2 (en) 2015-02-09 2018-07-24 Sandisk Technologies Llc Techniques for determining local interconnect defects
US9269446B1 (en) 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US10096355B2 (en) * 2015-09-01 2018-10-09 Sandisk Technologies Llc Dynamic management of programming states to improve endurance
US10884926B2 (en) 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US10891239B2 (en) 2018-02-07 2021-01-12 Alibaba Group Holding Limited Method and system for operating NAND flash physical space to extend memory capacity
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10831404B2 (en) 2018-02-08 2020-11-10 Alibaba Group Holding Limited Method and system for facilitating high-capacity shared memory using DIMM from retired servers
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
CN111902804B (zh) 2018-06-25 2024-03-01 阿里巴巴集团控股有限公司 用于管理存储设备的资源并量化i/o请求成本的系统和方法
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10871921B2 (en) 2018-07-30 2020-12-22 Alibaba Group Holding Limited Method and system for facilitating atomicity assurance on metadata and data bundled storage
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10852948B2 (en) 2018-10-19 2020-12-01 Alibaba Group Holding System and method for data organization in shingled magnetic recording drive
US10795586B2 (en) 2018-11-19 2020-10-06 Alibaba Group Holding Limited System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
US10769018B2 (en) 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US10970212B2 (en) 2019-02-15 2021-04-06 Alibaba Group Holding Limited Method and system for facilitating a distributed storage system with a total cost of ownership reduction for multiple available zones
US11061834B2 (en) 2019-02-26 2021-07-13 Alibaba Group Holding Limited Method and system for facilitating an improved storage system by decoupling the controller from the storage medium
US10891065B2 (en) 2019-04-01 2021-01-12 Alibaba Group Holding Limited Method and system for online conversion of bad blocks for improvement of performance and longevity in a solid state drive
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11074124B2 (en) 2019-07-23 2021-07-27 Alibaba Group Holding Limited Method and system for enhancing throughput of big data analysis in a NAND-based read source storage
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US10923156B1 (en) 2020-02-19 2021-02-16 Alibaba Group Holding Limited Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive
US10872622B1 (en) 2020-02-19 2020-12-22 Alibaba Group Holding Limited Method and system for deploying mixed storage products on a uniform storage infrastructure
US11144250B2 (en) 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11494299B2 (en) 2021-02-18 2022-11-08 Silicon Motion, Inc. Garbage collection operation management with early garbage collection starting point
US20220300184A1 (en) * 2021-03-19 2022-09-22 Silicon Motion, Inc. Method of performing wear-leveling operation in flash memory and related controller and storage system
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
CN117742614B (zh) * 2023-12-29 2024-06-18 深圳市安信达存储技术有限公司 一种芯片内部闪存组合riad阵列方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5268319A (en) 1988-06-08 1993-12-07 Eliyahou Harari Highly compact EPROM and flash EEPROM devices
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5341339A (en) 1992-10-30 1994-08-23 Intel Corporation Method for wear leveling in a flash EEPROM memory
US5388083A (en) 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
US5568423A (en) * 1995-04-14 1996-10-22 Unisys Corporation Flash memory wear leveling system providing immediate direct access to microprocessor
JP2000173281A (ja) * 1998-12-04 2000-06-23 Sony Corp 半導体記憶装置
JP2001006374A (ja) * 1999-06-17 2001-01-12 Hitachi Ltd 半導体記憶装置及びシステム
US7243185B2 (en) * 2004-04-05 2007-07-10 Super Talent Electronics, Inc. Flash memory system with a high-speed flash controller
JP4282197B2 (ja) * 2000-01-24 2009-06-17 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
JP3983969B2 (ja) * 2000-03-08 2007-09-26 株式会社東芝 不揮発性半導体記憶装置
JP2001306393A (ja) * 2000-04-20 2001-11-02 Mitsubishi Electric Corp 記憶装置
JP2002197890A (ja) * 2000-12-26 2002-07-12 Mitsubishi Electric Corp 不揮発性半導体メモリ
JP3828376B2 (ja) * 2001-05-07 2006-10-04 株式会社東芝 記憶システム
US6717847B2 (en) * 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6831865B2 (en) 2002-10-28 2004-12-14 Sandisk Corporation Maintaining erase counts in non-volatile storage systems
JP2005267676A (ja) * 2004-03-16 2005-09-29 Matsushita Electric Ind Co Ltd 不揮発性記憶装置
JP4357331B2 (ja) * 2004-03-24 2009-11-04 東芝メモリシステムズ株式会社 マイクロプロセッサブートアップ制御装置、及び情報処理システム
US20060256623A1 (en) * 2005-05-12 2006-11-16 Micron Technology, Inc. Partial string erase scheme in a flash memory device
US7752382B2 (en) 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Also Published As

Publication number Publication date
US7752382B2 (en) 2010-07-06
WO2007029259A3 (en) 2007-11-15
KR100982481B1 (ko) 2010-09-16
EP1922623A2 (en) 2008-05-21
WO2007029259A2 (en) 2007-03-15
CN101356507A (zh) 2009-01-28
US20070061502A1 (en) 2007-03-15
JP2009510549A (ja) 2009-03-12
JP4759057B2 (ja) 2011-08-31
EP1922623B1 (en) 2013-07-10
EP1922623A4 (en) 2009-04-29
KR20080038441A (ko) 2008-05-06
US20100274955A1 (en) 2010-10-28
US8069302B2 (en) 2011-11-29

Similar Documents

Publication Publication Date Title
CN101356507B (zh) 存储器存储系统和方法
US10204042B2 (en) Memory system having persistent garbage collection
US9898212B1 (en) Method and apparatus for selecting a memory block for writing data, based on a predicted frequency of updating the data
US9176862B2 (en) SLC-MLC wear balancing
CN100483552C (zh) 在非易失性存储系统中执行自动磨损平衡的方法
CN102081576B (zh) 一种闪存的磨损平衡方法
KR100885181B1 (ko) 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법
US9734911B2 (en) Method and system for asynchronous die operations in a non-volatile memory
US20160378379A1 (en) Multi-layer memory system having multiple partitions in a layer
EP2939100B1 (en) Method and system for asynchronous die operations in a non-volatile memory
US8386697B2 (en) Memory managing method for non-volatile memory and controller using the same
US20140189210A1 (en) Memory system having an unequal number of memory die
CN101673245A (zh) 包括存储器管理装置的信息处理装置和存储器管理方法
US20090157974A1 (en) System And Method For Clearing Data From A Cache
CN109960663A (zh) 执行垃圾回收的存储装置和存储装置的垃圾回收方法
CN101241471A (zh) 快闪存储器系统及其垃圾收集方法
KR20100050260A (ko) 싱글 레벨 메모리 셀 블락과 멀티 레벨 메모리 셀 블락을 포함하는 불휘발성 메모리 장치의 마모 레벨링 방법
CN101609431B (zh) 闪存装置的运作方法及闪存装置
CN102637146A (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
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Israel Kfar Saba

Patentee after: Western data Israel Limited

Address before: Israel Kfar Saba

Patentee before: SanDisk IL Ltd.