CN101502001A - 在多电平单元存储设备内安排数据的方法 - Google Patents
在多电平单元存储设备内安排数据的方法 Download PDFInfo
- Publication number
- CN101502001A CN101502001A CNA2007800024470A CN200780002447A CN101502001A CN 101502001 A CN101502001 A CN 101502001A CN A2007800024470 A CNA2007800024470 A CN A2007800024470A CN 200780002447 A CN200780002447 A CN 200780002447A CN 101502001 A CN101502001 A CN 101502001A
- Authority
- CN
- China
- Prior art keywords
- data
- error correction
- bit
- bits
- error
- 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.)
- Pending
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
- 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
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
一种存储数据的方法包括:将数据的第一部分存储在非易失性存储器的具有第一错误概率的比特位置;将数据的第二部分存储在非易失性存储器的具有比第一错误概率低的第二错误概率的比特位置;将纠错奇偶校验比特与数据一起存储;以及用纠错奇偶校验比特对所读出的数据应用纠错方案,其中第一部分的至少一个比特在第二部分的任何比特被纠正校验前被纠正校验。纠错方案在对所有的数据纠正校验前停止。
Description
技术领域
本发明涉及多电平单元闪速存储器设备。具体地说,本发明涉及多电平单元闪速存储器设备内纠错的领域。
背景技术
多年来闪速存储器设备已是众所周知的。在所有的闪速存储器设备内,NAND(“与非”)型存储器与其他类型的存储器(例如,NOR(“或非”)型)不同,除了其它特定特性之外还在于写入存储器的许多信息比特可能被以“翻转”方式回读(即与原来将这些比特写入存储器的方式不同)。
为了克服得到“翻转”比特的现象和使NAND型存储器可为实际应用所用,常见的技术是用ECC(纠错码)算法与这些NAND型存储器配合。通常闪速存储器使用ECC算法的情况如下:
在将数据写入存储器前,对数据运用ECC算法,以便计算出附加(冗余)信息比特。这些冗余比特经常称为“奇偶校验比特”或“奇偶校验”,以后用于检错和纠错。原始数据与奇偶校验比特合在一起称为“码字”。
将整个码字(即原始数据加上奇偶校验比特)记录到闪速存储器设备上。应注意的是,NAND闪速存储器设备的实际尺寸被设计成能容纳原始数据加上奇偶校验比特。
在从存储器检索数据时,读出整个码字,对数据和奇偶校验比特应用ECC算法,以便检测和纠正可能的“比特翻转”(即错误)。
应当指出的是,ECC算法可以用硬件、软件或者通过硬件和软件的组合同等地执行。此外,ECC算法可以在存储设备内、在存储设备控制器内、在主机内执行,或可以在系统的这些组件之间“分布”。
一些闪速存储器设备在每个存储单元可存储的数据元(例如数据比特)的个数上可以是不同的。SLC(单电平单元)存储器用来在每个存储单元内存储单个比特,而MLC(多电平单元)存储器用来在每个存储单元内存储多个比特。
在MLC存储器内,对电压电平编码的方式和将输入数据分配给各个存储单元的方式对于使ECC设计达到最佳是非常重要的。
Murin的美国申请公开No.20060101193揭示了现有技术的将数据存储在多比特闪速存储器单元内的方法。该专利申请在这里列为参考,予以全面引用。
按照Murin的申请,将输入数据分配给存储器的一个物理页面的最佳方式(在ECC性能意义上)是将这些数据比特在物理页面的一些不同的比特页之间交错,其中比特页被定义为由各个属于物理页面的不同单元、但在单元内具有相同的有效值(即,LSB,...,MSB)的比特组成的组。这种在存储器内安排数据的方式保证在从存储器检索再按原来的次序重新排列(即去交错)后的数据内错误比特的分布是均匀的(最佳的)。
交错过程,如在Murin的申请中所揭示的那样,保证在将数据写入存储器的过程期间一个逻辑页的输入数据同等地散布到物理存储页面的各个比特页中。也就是说,交错过程保证物理页面的每个比特页从共享这个物理页面的每个输入数据逻辑页被分配同样数量的比特。
因此,在数据从存储器读出并被去交错时,去交错过程所产生的每个逻辑页将含有同样份额的来自物理页面的每个比特页的比特。
在该技术领域内没有规定将交错方案用于将输入数据分配给MLC存储设备的物理页面的方式,因为任何将数据均匀地分布在物理页面内的方案就ECC性能来说同等地是最佳的。
然而,对于有些ECC方案来说,使用特定的交错方法可以取得节约处理时间和功率消耗的附加利益。
因此,在运用这些ECC方案时,所希望的是提供一种使现有技术的处理时间和功率消耗减到最少的交错方法。
发明内容
因此,本发明的主要目的是提供一种将输入数据在物理页面的不同比特页之间交错的方法,以在与特定的ECC方案配合使用时使现有技术的处理时间和功率消耗减到最少。
比特页BP0、BP1、BP2、BP3在这里相对每单元4比特的物理页面定义,使得比特页BP0与LSB物理页面单元相应、比特页BP1与LSB-1物理页面单元相应、比特页BP2与LSB-2物理页面单元相应而比特页BP3与MSB物理页面单元相应。
按照本发明的一个优选实施例,所提供的存储数据的方法包括下列步骤:(a)将数据的第一部分存储在非易失性存储器的具有第一错误概率的比特位置;(b)将数据的第二部分存储在非易失性存储器的具有比第一错误概率低的第二错误概率的比特位置;(c)将纠错奇偶校验比特与数据一起存储;(d)从这非易失性存储器读出数据和纠错奇偶校验比特;以及(e)用纠错奇偶校验比特对所读出的数据进行纠错,其中第一部分的至少一个比特在第二部分的任何比特被纠正校验前被纠正校验。
优选的是,这种方法还包括在纠正校验所有的数据前停止进行纠错的步骤。
优选的是,这种方法还包括确定数据内的错误比特的个数的步骤和按照错误比特的个数在纠正校验所有的数据前停止进行纠错的步骤。
优选的是,非易失性存储器用来在非易失性存储器的每个单元内存储多个比特。
按照本发明的又一个优选实施例,所提供的存储设备包括:(a)存储数据的非易失性存储器;以及(b)控制器,用来(i)将数据的第一部分存储在非易失性存储器的具有第一错误概率的比特位置,和将数据的至少第二部分存储在非易失性存储器的具有比第一错误概率低的第二错误概率的比特位置,以及(ii)用纠错奇偶校验比特对数据进行纠错,其中第一部分的至少一个比特在第二部分的任何比特被纠正校验前被纠正校验。
优选的是,控制器还用来在纠正校验所有的数据前停止执行纠错。
优选的是,控制器还用来确定数据内错误比特的个数和按照该个数停止执行纠错。
优选的是,非易失性存储器用来在每个单元内存储多个比特。
优选的是,非易失性存储器是闪速存储器。
按照本发明的又一个优选实施例,所提供的存储数据的方法包括下列步骤:(a)将数据存储在非易失性存储器内;(b)将检错奇偶校验比特(可以从加到数据上的正确性校验码得到)与数据一起存储;(c)将纠错奇偶校验比特与数据一起但与检错奇偶校验比特分开存储;(d)从非易失性存储器读出数据、检错奇偶校验比特和纠错奇偶校验比特;(e)用纠错奇偶校验比特对先前读出的数据进行纠错;以及(f)按照检错奇偶校验比特,在对所有的数据纠错后但在对任何纠错奇偶校验比特纠错前停止进行纠错。
优选的是,只有在检错奇偶校验比特表示在数据内不存在错误时才执行停止进行纠错。
按照本发明的又一个优选实施例,所提供的存储设备包括:(a)存储数据的非易失性存储器;以及(b)控制器,用来(i)将纠错奇偶校验比特和检错奇偶校验比特与数据一起存储,使得检错奇偶校验比特与纠错奇偶校验比特分开存储,(ii)从非易失性存储器读出数据、检错奇偶校验比特和纠错奇偶校验比特,以及(iii)用纠错奇偶校验比特对先前读出的数据进行纠错,并按照检错奇偶校验比特,在对所有的数据纠错后但在对任何纠错奇偶校验比特纠错前停止纠错。
优选的是,控制器还用来只有在检错奇偶校验比特表示在数据内不存在错误时才停止纠错。
优选的是,非易失性存储器用来在每个单元内存储多个比特。
优选的是,非易失性存储器是闪速存储器。
从以下附图和说明中可以明显地看到本发明的其他一些特征和优点。
附图说明
为了更好地理解本发明,下面将结合附图就本发明的实施例进行说明,在这些附图中同样的数字指示相应的部分或元素,其中:
图1为本发明的系统的框图;
图2A为典型的例示性而非限制性的由主计算机并联到具有一页N个单元的每单元4比特存储设备的数据比特的逻辑页的示意图;以及
图2B为典型的例示性而非限制性的按照本发明的交错方案写入图2A的每单元4比特存储设备的一个物理页面的各个比特页的数据比特的示意图。
具体实施方式
本发明为一种将输入数据在MLC存储器的一个物理页面的不同比特页之间交错的方法,以便在配合特定的ECC算法使用时使现有技术的处理时间和功率消耗减到最少。
考虑ECC方案,其中为了检测和纠正“翻转”的比特需要搜索所有的数据比特。作为这种方案的一个例子,可以考虑BCH解码。
在实现用于较大量比特错误(通常,为多于4个)的BCH解码器时,常见的是用“Chein搜索”来检测需纠正的数据比特。例如可参见W.Wesley Peterson、E.J.Weldon,Jr.的“Error-Correcting Codes”(Second Edition,The Massachusetts Institute of Technology,1972),该文献在这里列为参考,全面予以引用。“Chein搜索”对码字进行比特扫描,校验特定的比特是否为错误比特从而应予以翻转。但是码字内错误比特的总数受码字结构限制,通常由在“Chein搜索”前的那些解码算法阶段计算。因此,需纠正的错误比特的确切个数可以在对码字进行比特扫描(用“Chein搜索”)前用ECC算法确定。
这样,在已经检测到和纠正了所有的错误比特时就可以停止对码字的比特扫描,因此不必对码字的所有比特进行比特扫描,从而节省了处理时间和功率。由于算法已经发现了所有的错误比特,因此可以确信不会再发现需纠正的比特,从而可以停止搜索。
现在来看对输入数据进行交错的情况。如在该技术领域内所知,交错数据的过程保证在将数据写入存储器的过程期间,一个逻辑页的输入数据等同地散布在物理存储页面的各个比特页之间。也就是说,交错过程保证物理页面的每个比特页从共享这个物理页面的每个输入数据逻辑页得到同样数量的比特,或者保证输入数据逻辑页的比特在物理页面的所有比特页之间是等份额分布的。
因此,在数据从存储器读出并对其进行去交错处理后,去交错过程所产生的每个逻辑页包括从物理页面的每个比特页得到的等份额的比特。
在该技术领域内还已知的是,如在Murin的申请中所揭示的那样,物理页面的每个比特页具有不同的比特错误概率。这个概率取决于存储设备内所执行的电压电平的编码方案。用以电压电平编码为{7,6,4,5,1,0,2,3}实现每单元3比特的设备作为例子,可以看到这种设备的比特页的比特错误概率符合比例1:2:4(这个比例与每个比特页的电平码中的比特改变数相应),其中LSB(最低有效比特)页的比特错误概率为MSB(最高有效比特)页的4倍。假设一个物理页面内错误的总概率为P,设备的各个比特页的错误概率就分别为P/7、2*P/7和4*P/7,详细情况可参见Murin的申请。
去交错后,每个逻辑页包括等份额的具有所有错误概率种类的比特,因此有三分之一的比特将具有P/7的错误概率,三分之一的比特将具有2*P/7的错误概率,以及三分之一的比特将具有4*P/7的错误概率。这样,纠错算法在从物理页面的不同比特页去交错得到的逻辑页的不同部分内统计地检测到数量不同的错误比特。
现在再来考虑纠错算法中逐个扫描比特搜索错误的阶段。如果按错误概率递降的次序扫描比特页的比特,那么平均来说,这个过程就会比在其他情况下早检测到一个逻辑页内的所有错误,因此节省了时间和功率。
然而,以顺序方式(即从一个逻辑页的第一个比特到这个逻辑页的最后一个比特)可以最经济地实现比特扫描。
因此,如果比特扫描从一个逻辑页的开始处开始,那么第一部分的比特需由本发明的交错方法放在一个物理页面的错误概率最大的LSB比特页内,而下一部分的比特需放在(LSB+1)比特页内,等等。最后部分的比特需由本发明的交错方法放在物理页面的错误概率最小的MSB比特页内。
一般地说,在具有一页N个单元的每单元M比特的设备的情况下,本发明的交错方法如下实现:
对于每个输入逻辑页:
第一部分的N/M个比特通过交错放在物理页面的(LSB)比特页内,
第二部分的N/M个比特通过交错放在物理页面的(LSB+1)比特页内,
......
第M部分的N/M个比特通过交错放在物理页面的(MSB)比特页内。
这样,本发明的交错方法保证以高的概率通常在比特扫描完整个逻辑页前就检测到和纠正了所有的错误比特,从而使处理时间和功率消耗达到最佳。
现在参见图1,图中示出了本发明的系统10的框图。控制器14用来管理将从主机20接收到的数据比特交错并存储在存储器12内的方式。
交错单元16按照本发明的交错方法实现,以对从主机20接收到的经ECC单元18编码的输入数据进行交错。
参见图2A,图中示出了典型的例示性而非限制性的与要写入具有一个物理页面N个单元的每单元4比特存储设备的逻辑页LP0、LP1、LP2、LP3关联的数据比特的示意图。逻辑页LP0、LP1、LP2、LP3各包括四个部分的比特,每个部分的第一个附标表示逻辑页的序号,而第二个附标表示该部分的序号。
比特部分“0,0”、“0,1”、“0,2”、“0,3”与逻辑页LP0关联,比特部分“1,0”、“1,1”、“1,2”、“1,3”与逻辑页LP1关联,比特部分“2,0”、“2,1”、“2,2”、“2,3”与逻辑页LP2关联,比特部分“3,0”、“3,1”、“3,2”、“3,3”与逻辑页LP3关联。
通常,在逻辑页LP0、LP1、LP2、LP3的各自部分“0,3”、“1,3”、“2,3”、“3,3”内至少有些比特包括数据的奇偶校验比特。
参见图2B,图中示出了典型的例示性而非限制性的图2A的数据比特按本发明的交错方法写入每单元4比特存储设备的一个物理页面的比特页BP0、BP1、BP2、BP3的示意图。
按照本发明的交错方法,将数据比特写入每单元4比特存储设备的各个比特页的情况如下:比特部分“0,0”、“1,0”、“2,0”、“3,0”写入比特页BP0(错误概率最大的比特页),比特部分“0,1”、“1,1”、“2,1”、“3,1”写入比特页BP1(错误概率第二大的比特页),比特部分“0,2”、“1,2”、“2,2”、“3,2”写入比特页BP2(错误概率第三大的比特页),比特部分“0,3”、“1,3”、“2,3”、“3,3”写入比特页BP3(错误概率最小的比特页)。
因此,在比特页BP3的部分“0,3”、“1,3”、“2,3”、“3,3”内至少有些比特包括数据的奇偶校验比特。
如果数据比特按照本发明的交错方法写入存储器,那么在数据比特被回读和去交错时,逻辑页LP0、LP1、LP2、LP3中每个逻辑页内的数据比特就从每个逻辑页的开始起按错误概率递降的次序排列。现在,如果对这些逻辑页从一个逻辑页的开始起进行Chein搜索(作为纠错过程的一部分),那么平均起来在到达这个逻辑页的末端前就可以检测和纠正所有的错误比特。在纠正了最后一个比特时就可停止Chein搜索,因此节省了时间和功率。
应注意的是,本发明并没有限制将每个相应比特部分内的[N/4]个比特中的任何比特写入存储器的次序。
还应注意的是,与本发明的交错方法无关和除了本发明的交错方法之外,优选和可任选的是可以通过将在该技术领域内已知的简单的正确性校验码加到输入码字的用户数据部分上来提高比特扫描过程的有效性。这种正确性校验码可以是简单的校验和或CRC(循环冗余校验)。如果在将用户数据比特(加上奇偶校验比特一起)写入存储器前将从正确性校验码得到的错误检测奇偶校验比特添加给输入码字的用户数据比特,那么在对错误进行搜索时,可以在所有的用户数据比特都得到校验时就停止比特扫描过程,即使在一个逻辑页内还没有检测到所有的错误(也就是在有些错误是在奇偶校验比特内而不是在用户数据比特内时),只要从存储器读出的正确性校验码与加到所扫描的用户数据比特上的正确性校验码匹配。
显然,对于错误概率较大从而码字内奇偶校验比特部分较大的情况,运用这种错误校验技术可以更为显著地节省时间和功率。
然而,这个过程具有增大在用户数据比特内错误地检测到错误的概率的缺点,因为虽然从存储器读出的正确性校验码与加到所扫描的用户数据比特上的正确性校验码匹配但仍然有一定概率(虽然较小)在用户数据比特内还有错误(这个概率取决于正确性校验码的类型和长度)。
以上就本发明的一些具体实施例对本发明的系统作了说明,应理解此说明不是限制性的,因为对于该技术领域内的专业人员来说进一步的修改现在是显而易见的,而且应包含在所附权利要求书的范围内的这种修改。
Claims (15)
1.一种存储数据的方法,所述方法包括下列步骤:
(a)将数据的第一部分存储在非易失性存储器的具有第一错误概率的比特位置;
(b)将数据的第二部分存储在所述非易失性存储器的具有比所述第一错误概率低的第二错误概率的比特位置;
(c)将纠错奇偶校验比特与数据一起存储;
(d)从所述非易失性存储器读出数据和所述纠错奇偶校验比特;以及
(e)用所述纠错奇偶校验比特对所读出的数据进行纠错,其中所述第一部分的至少一个比特在所述第二部分的任何比特被纠正校验前被纠正校验。
2.权利要求1的方法,所述方法还包括下列步骤:
(f)在纠正校验所有的数据前停止进行所述纠错。
3.权利要求1的方法,还包括下列步骤:
(f)确定数据内的错误比特的个数;
(g)按照所述错误比特的个数,在纠正校验所有的数据前停止进行所述纠错。
4.权利要求1的方法,其中所述非易失性存储器用来在所述非易失性存储器的每个单元内存储多个比特。
5.一种存储设备,包括:
(a)用于存储数据的非易失性存储器;以及
(b)控制器,用来
(i)将所述数据的第一部分存储在非易失性存储器的具有
第一错误概率的比特位置,而将所述数据的至少第二部分存储在
非易失性存储器的具有比所述第一错误概率低的第二错误概率
的比特位置,以及
(ii)用纠错奇偶校验比特对所述数据进行纠错,其中所述第一部分的至少一个比特在所述第二部分的任何比特被纠正校
验前被纠正校验。
6.权利要求5的存储设备,其中所述控制器还用来在纠正校验所有的所述数据前停止所述纠错。
7.权利要求5的存储设备,其中所述控制器还用来确定所述数据内错误比特的个数和按照所述个数停止所述纠错。
8.权利要求5的存储设备,其中所述非易失性存储器用来在每个单元内存储多个比特。
9.权利要求5的存储设备,其中所述非易失性存储器是闪速存储器。
10.一种存储数据的方法,所述方法包括下列步骤:
(a)将数据存储在非易失性存储器内;
(b)将检错奇偶校验比特与数据一起存储;
(c)将纠错奇偶校验比特与数据一起但与所述检错奇偶校验比特分开存储;
(d)从所述非易失性存储器读出数据、所述检错奇偶校验比特和所述纠错奇偶校验比特;
(e)用所述纠错奇偶校验比特对所述读出的数据进行纠错;以及
(f)按照所述检错奇偶校验比特,在对所有的数据纠错后但在对任何所述纠错奇偶校验比特纠错前停止进行所述纠错。
11.权利要求10的方法,其中所述停止进行纠错只有在所述检错奇偶校验比特表示数据内不存在错误时才执行。
12.一种存储设备,包括:
(a)用于存储数据的非易失性存储器;以及
(b)控制器,用来
(i)将纠错奇偶校验比特和检错奇偶校验比特与所述数据一起存储,使得所述检错奇偶校验比特与所述纠错奇偶校验比特被分开存储,
(ii)从所述非易失性存储器读出所述数据、所述检错奇偶校验比特和所述纠错奇偶校验比特,以及
(iii)用所述纠错奇偶校验比特对所述读出的数据进行纠错,并按照所述检错奇偶校验比特,在对所有的所述数据纠错后但在对任何所述纠错奇偶校验比特纠错前停止所述纠错。
13.权利要求12的存储设备,其中所述控制器用来只有在所述检错奇偶校验比特表示在所述数据内不存在错误时才停止所述纠错。
14.权利要求12的存储设备,其中所述非易失性存储器用来在每个单元内存储多个比特。
15.权利要求12的存储设备,其中所述非易失性存储器是闪速存储器。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US75939606P | 2006-01-18 | 2006-01-18 | |
| US60/759,396 | 2006-01-18 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN101502001A true CN101502001A (zh) | 2009-08-05 |
Family
ID=38288010
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNA2007800024470A Pending CN101502001A (zh) | 2006-01-18 | 2007-01-17 | 在多电平单元存储设备内安排数据的方法 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US8020060B2 (zh) |
| EP (1) | EP1974471A2 (zh) |
| JP (1) | JP2010517117A (zh) |
| CN (1) | CN101502001A (zh) |
| TW (1) | TW200737215A (zh) |
| WO (1) | WO2007083303A2 (zh) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102279803A (zh) * | 2011-04-13 | 2011-12-14 | 西安交通大学 | 一种提高多层单元NAND-Flash存储可靠性的备用区分配方法 |
| CN103339679A (zh) * | 2011-01-31 | 2013-10-02 | 马维尔国际贸易有限公司 | 向非易失性存储器映射数据 |
| CN103365737A (zh) * | 2012-04-06 | 2013-10-23 | 国民技术股份有限公司 | 数据读写方法、读写装置及数据存储系统 |
| CN103645964A (zh) * | 2013-11-22 | 2014-03-19 | 中国电子科技集团公司第三十二研究所 | 嵌入式处理器的高速缓存容错机制 |
| CN112506446A (zh) * | 2020-10-12 | 2021-03-16 | 北京泽石科技有限公司 | 一种闪存的编码方法与编码装置 |
Families Citing this family (158)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8650352B2 (en) | 2007-09-20 | 2014-02-11 | Densbits Technologies Ltd. | Systems and methods for determining logical values of coupled flash memory cells |
| WO2009095902A2 (en) | 2008-01-31 | 2009-08-06 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
| US8694715B2 (en) | 2007-10-22 | 2014-04-08 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
| WO2009053961A2 (en) | 2007-10-25 | 2009-04-30 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
| WO2009072105A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications |
| US8335977B2 (en) | 2007-12-05 | 2012-12-18 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells |
| WO2009072102A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | System and methods employing mock thresholds to generate actual reading thresholds in flash memory devices |
| WO2009074979A2 (en) | 2007-12-12 | 2009-06-18 | Densbits Technologies Ltd. | Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications |
| US8359516B2 (en) | 2007-12-12 | 2013-01-22 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
| US8327246B2 (en) | 2007-12-18 | 2012-12-04 | Densbits Technologies Ltd. | Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith |
| US8621137B2 (en) | 2007-12-27 | 2013-12-31 | Sandisk Enterprise Ip Llc | Metadata rebuild in a flash memory controller following a loss of power |
| US8627165B2 (en) * | 2008-03-24 | 2014-01-07 | Micron Technology, Inc. | Bitwise operations and apparatus in a multi-level system |
| WO2009118720A2 (en) | 2008-03-25 | 2009-10-01 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
| US8111548B2 (en) | 2008-07-21 | 2012-02-07 | Sandisk Technologies Inc. | Programming non-volatile storage using binary and multi-state programming processes |
| US8332725B2 (en) | 2008-08-20 | 2012-12-11 | Densbits Technologies Ltd. | Reprogramming non volatile memory portions |
| US8127091B2 (en) * | 2008-10-30 | 2012-02-28 | Micron Technology, Inc. | Programming memory cells with additional data for increased threshold voltage resolution |
| US8458574B2 (en) | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
| US8819385B2 (en) | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
| US8566510B2 (en) | 2009-05-12 | 2013-10-22 | Densbits Technologies Ltd. | Systems and method for flash memory management |
| US8102705B2 (en) | 2009-06-05 | 2012-01-24 | Sandisk Technologies Inc. | Structure and method for shuffling data within non-volatile memory devices |
| 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 |
| US20110002169A1 (en) * | 2009-07-06 | 2011-01-06 | Yan Li | Bad Column Management with Bit Information in Non-Volatile Memory Systems |
| US8868821B2 (en) | 2009-08-26 | 2014-10-21 | Densbits Technologies Ltd. | Systems and methods for pre-equalization and code design for a flash memory |
| US9330767B1 (en) | 2009-08-26 | 2016-05-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory module and method for programming a page of flash memory cells |
| US8305812B2 (en) | 2009-08-26 | 2012-11-06 | Densbits Technologies Ltd. | Flash memory module and method for programming a page of flash memory cells |
| US8995197B1 (en) | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
| US8730729B2 (en) | 2009-10-15 | 2014-05-20 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
| US8724387B2 (en) | 2009-10-22 | 2014-05-13 | Densbits Technologies Ltd. | Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages |
| US8626988B2 (en) | 2009-11-19 | 2014-01-07 | Densbits Technologies Ltd. | System and method for uncoded bit error rate equalization via interleaving |
| 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 |
| US8468294B2 (en) | 2009-12-18 | 2013-06-18 | Sandisk Technologies Inc. | Non-volatile memory with multi-gear control using on-chip folding of data |
| US8725935B2 (en) | 2009-12-18 | 2014-05-13 | Sandisk Technologies Inc. | Balanced performance for on-chip folding of non-volatile memories |
| US9037777B2 (en) | 2009-12-22 | 2015-05-19 | Densbits Technologies Ltd. | Device, system, and method for reducing program/read disturb in flash arrays |
| US8607124B2 (en) | 2009-12-24 | 2013-12-10 | Densbits Technologies Ltd. | System and method for setting a flash memory cell read threshold |
| US8700970B2 (en) | 2010-02-28 | 2014-04-15 | Densbits Technologies Ltd. | System and method for multi-dimensional decoding |
| US8527840B2 (en) | 2010-04-06 | 2013-09-03 | Densbits Technologies Ltd. | System and method for restoring damaged data programmed on a flash device |
| US8516274B2 (en) | 2010-04-06 | 2013-08-20 | Densbits Technologies Ltd. | Method, system and medium for analog encryption in a flash memory |
| US8745317B2 (en) | 2010-04-07 | 2014-06-03 | Densbits Technologies Ltd. | System and method for storing information in a multi-level cell memory |
| US9021177B2 (en) | 2010-04-29 | 2015-04-28 | Densbits Technologies Ltd. | System and method for allocating and using spare blocks in a flash memory |
| 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 |
| US8539311B2 (en) | 2010-07-01 | 2013-09-17 | Densbits Technologies Ltd. | System and method for data recovery in multi-level cell memories |
| US8621321B2 (en) | 2010-07-01 | 2013-12-31 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
| US20120008414A1 (en) | 2010-07-06 | 2012-01-12 | Michael Katz | Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system |
| US9069688B2 (en) | 2011-04-15 | 2015-06-30 | Sandisk Technologies Inc. | Dynamic optimization of back-end memory system interface |
| CN107093464A (zh) | 2010-07-13 | 2017-08-25 | 桑迪士克科技有限责任公司 | 后台存储器系统接口的动态优化 |
| US8464135B2 (en) | 2010-07-13 | 2013-06-11 | Sandisk Technologies Inc. | Adaptive flash interface |
| US8964464B2 (en) | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
| US8508995B2 (en) | 2010-09-15 | 2013-08-13 | Densbits Technologies Ltd. | System and method for adjusting read voltage thresholds in memories |
| US8560919B2 (en) * | 2010-10-22 | 2013-10-15 | Sandisk Technologies Inc. | System and method of interleaving data according to an adjustable parameter |
| US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
| US8850100B2 (en) | 2010-12-07 | 2014-09-30 | Densbits Technologies Ltd. | Interleaving codeword portions between multiple planes and/or dies of a flash memory device |
| US10079068B2 (en) | 2011-02-23 | 2018-09-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Devices and method for wear estimation based memory management |
| US8693258B2 (en) | 2011-03-17 | 2014-04-08 | Densbits Technologies Ltd. | Obtaining soft information using a hard interface |
| 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 |
| US8990665B1 (en) | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
| US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
| US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
| US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
| US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
| US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
| US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
| US8667211B2 (en) | 2011-06-01 | 2014-03-04 | Densbits Technologies Ltd. | System and method for managing a non-volatile memory |
| US8775901B2 (en) | 2011-07-28 | 2014-07-08 | SanDisk Technologies, Inc. | Data recovery for defective word lines during programming of non-volatile memory arrays |
| US8588003B1 (en) | 2011-08-01 | 2013-11-19 | Densbits Technologies Ltd. | System, method and computer program product for programming and for recovering from a power failure |
| US8553468B2 (en) | 2011-09-21 | 2013-10-08 | Densbits Technologies Ltd. | System and method for managing erase operations in a non-volatile memory |
| JP2013089082A (ja) | 2011-10-19 | 2013-05-13 | Toshiba Corp | メモリコントローラ、半導体記憶システムおよびメモリ制御方法 |
| US8793543B2 (en) | 2011-11-07 | 2014-07-29 | Sandisk Enterprise Ip Llc | Adaptive read comparison signal generation for memory systems |
| US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
| US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
| 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 |
| US9026887B2 (en) * | 2012-03-15 | 2015-05-05 | Micron Technology, Inc. | Physical page, logical page, and codeword correspondence |
| US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
| US8681548B2 (en) | 2012-05-03 | 2014-03-25 | Sandisk Technologies Inc. | Column redundancy circuitry for non-volatile memory |
| US8838937B1 (en) | 2012-05-23 | 2014-09-16 | Densbits Technologies Ltd. | Methods, systems and computer readable medium for writing and reading data |
| US8879325B1 (en) | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
| US8804452B2 (en) * | 2012-07-31 | 2014-08-12 | Micron Technology, Inc. | Data interleaving module |
| US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
| US9921954B1 (en) | 2012-08-27 | 2018-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for split flash memory management between host and storage controller |
| 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 |
| US9076506B2 (en) | 2012-09-28 | 2015-07-07 | Sandisk Technologies Inc. | Variable rate parallel to serial shift register |
| US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
| US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
| US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
| US9239751B1 (en) | 2012-12-27 | 2016-01-19 | Sandisk Enterprise Ip Llc | Compressing data from multiple reads for error control management in memory systems |
| KR102123946B1 (ko) * | 2012-12-28 | 2020-06-17 | 삼성전자주식회사 | 멀티 레벨 셀 메모리 장치 및 그것의 동작방법 |
| US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
| US9069659B1 (en) | 2013-01-03 | 2015-06-30 | Densbits Technologies Ltd. | Read threshold determination using reference read threshold |
| US8913428B2 (en) | 2013-01-25 | 2014-12-16 | Sandisk Technologies Inc. | Programming non-volatile storage system with multiple memory die |
| US9026757B2 (en) | 2013-01-25 | 2015-05-05 | Sandisk Technologies Inc. | Non-volatile memory programming data preservation |
| US9117530B2 (en) | 2013-03-14 | 2015-08-25 | Sandisk Technologies Inc. | Preserving data from adjacent word lines while programming binary non-volatile storage elements |
| US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
| US9244763B1 (en) | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
| US9136877B1 (en) | 2013-03-15 | 2015-09-15 | Sandisk Enterprise Ip Llc | Syndrome layered decoding for LDPC codes |
| US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
| US9092350B1 (en) * | 2013-03-15 | 2015-07-28 | Sandisk Enterprise Ip Llc | Detection and handling of unbalanced errors in interleaved codewords |
| US9236886B1 (en) | 2013-03-15 | 2016-01-12 | Sandisk Enterprise Ip Llc | Universal and reconfigurable QC-LDPC encoder |
| US9159437B2 (en) | 2013-06-11 | 2015-10-13 | Sandisk Enterprise IP LLC. | Device and method for resolving an LM flag issue |
| US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
| US9384126B1 (en) | 2013-07-25 | 2016-07-05 | Sandisk Technologies Inc. | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems |
| US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
| US9009568B2 (en) | 2013-08-09 | 2015-04-14 | Sandisk Technologies Inc. | Sensing parameter management in non-volatile memory storage system to compensate for broken word lines |
| US9361221B1 (en) | 2013-08-26 | 2016-06-07 | Sandisk Technologies Inc. | Write amplification reduction through reliable writes during garbage collection |
| US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
| TWI512732B (zh) * | 2013-08-30 | 2015-12-11 | Phison Electronics Corp | 解碼方法、記憶體儲存裝置與非揮發性記憶體模組 |
| US9413491B1 (en) | 2013-10-08 | 2016-08-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for multiple dimension decoding and encoding a message |
| US9397706B1 (en) | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
| US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
| US9348694B1 (en) | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
| US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
| US9298608B2 (en) | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
| US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
| US9263156B2 (en) | 2013-11-07 | 2016-02-16 | Sandisk Enterprise Ip Llc | System and method for adjusting trip points within a storage device |
| US9244785B2 (en) | 2013-11-13 | 2016-01-26 | Sandisk Enterprise Ip Llc | Simulated power failure and data hardening |
| US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
| US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
| US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
| US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
| US9235245B2 (en) | 2013-12-04 | 2016-01-12 | Sandisk Enterprise Ip Llc | Startup performance and power isolation |
| US9536612B1 (en) | 2014-01-23 | 2017-01-03 | Avago Technologies General Ip (Singapore) Pte. Ltd | Digital signaling processing for three dimensional flash memory arrays |
| US10120792B1 (en) | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
| US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
| US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
| US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
| US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
| US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
| US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
| US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
| US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
| US9384128B2 (en) | 2014-04-18 | 2016-07-05 | SanDisk Technologies, Inc. | Multi-level redundancy code for non-volatile memory controller |
| US9646699B2 (en) | 2014-04-30 | 2017-05-09 | Empire Technology Development Llc | Differential writing for life extension of portions of a memory device |
| US9542262B1 (en) | 2014-05-29 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Error correction |
| US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
| US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
| US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
| US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
| US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
| US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
| US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
| US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
| US9892033B1 (en) | 2014-06-24 | 2018-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of memory units |
| US9584159B1 (en) | 2014-07-03 | 2017-02-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Interleaved encoding |
| US9972393B1 (en) | 2014-07-03 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Accelerating programming of a flash memory module |
| US9449702B1 (en) | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
| US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
| 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 |
| US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
| US9224502B1 (en) | 2015-01-14 | 2015-12-29 | Sandisk Technologies Inc. | Techniques for detection and treating memory hole to local interconnect marginality defects |
| US10305515B1 (en) | 2015-02-02 | 2019-05-28 | Avago Technologies International Sales Pte. Limited | System and method for encoding using multiple linear feedback shift registers |
| 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 |
| US10628255B1 (en) | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
| US9851921B1 (en) | 2015-07-05 | 2017-12-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory chip processing |
| US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
| KR102599047B1 (ko) | 2018-11-13 | 2023-11-06 | 삼성전자주식회사 | 데이터 신뢰성을 향상한 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 컨트롤러의 동작방법 |
| US11354231B2 (en) * | 2019-05-30 | 2022-06-07 | Silicon Motion, Inc. | Method for performing access management of memory device with aid of information arrangement, associated memory device and controller thereof, associated electronic device |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5051889A (en) * | 1987-10-23 | 1991-09-24 | Chips And Technologies, Incorporated | Page interleaved memory access |
| US6628544B2 (en) * | 1999-09-30 | 2003-09-30 | Infineon Technologies Ag | Flash memory cell and method to achieve multiple bits per cell |
| JP3969240B2 (ja) * | 2002-08-02 | 2007-09-05 | ソニー株式会社 | 半導体記憶装置 |
| US7493457B2 (en) * | 2004-11-08 | 2009-02-17 | Sandisk Il. Ltd | States encoding in multi-bit flash cells for optimizing error rate |
-
2007
- 2007-01-16 US US11/623,328 patent/US8020060B2/en active Active
- 2007-01-17 CN CNA2007800024470A patent/CN101502001A/zh active Pending
- 2007-01-17 EP EP07706014A patent/EP1974471A2/en not_active Withdrawn
- 2007-01-17 WO PCT/IL2007/000061 patent/WO2007083303A2/en not_active Ceased
- 2007-01-17 JP JP2008550908A patent/JP2010517117A/ja active Pending
- 2007-01-18 TW TW096102020A patent/TW200737215A/zh unknown
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103339679A (zh) * | 2011-01-31 | 2013-10-02 | 马维尔国际贸易有限公司 | 向非易失性存储器映射数据 |
| CN103339679B (zh) * | 2011-01-31 | 2016-08-24 | 马维尔国际贸易有限公司 | 向非易失性存储器映射数据 |
| CN102279803A (zh) * | 2011-04-13 | 2011-12-14 | 西安交通大学 | 一种提高多层单元NAND-Flash存储可靠性的备用区分配方法 |
| CN103365737A (zh) * | 2012-04-06 | 2013-10-23 | 国民技术股份有限公司 | 数据读写方法、读写装置及数据存储系统 |
| CN103365737B (zh) * | 2012-04-06 | 2016-09-14 | 国民技术股份有限公司 | 数据读写方法、读写装置及数据存储系统 |
| CN103645964A (zh) * | 2013-11-22 | 2014-03-19 | 中国电子科技集团公司第三十二研究所 | 嵌入式处理器的高速缓存容错机制 |
| CN103645964B (zh) * | 2013-11-22 | 2017-05-10 | 中国电子科技集团公司第三十二研究所 | 嵌入式处理器的高速缓存容错机制 |
| CN112506446A (zh) * | 2020-10-12 | 2021-03-16 | 北京泽石科技有限公司 | 一种闪存的编码方法与编码装置 |
| CN112506446B (zh) * | 2020-10-12 | 2024-05-24 | 北京泽石科技有限公司 | 一种闪存的编码方法与编码装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2007083303A3 (en) | 2009-04-09 |
| EP1974471A2 (en) | 2008-10-01 |
| WO2007083303A2 (en) | 2007-07-26 |
| US20070180346A1 (en) | 2007-08-02 |
| US8020060B2 (en) | 2011-09-13 |
| JP2010517117A (ja) | 2010-05-20 |
| TW200737215A (en) | 2007-10-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101502001A (zh) | 在多电平单元存储设备内安排数据的方法 | |
| TWI353521B (en) | Soft-input soft-output decoder for nonvolatile mem | |
| US7818653B2 (en) | Methods of soft-input soft-output decoding for nonvolatile memory | |
| US7904783B2 (en) | Soft-input soft-output decoder for nonvolatile memory | |
| US8707135B2 (en) | Method and system of dynamic data storage for error correction in a memory device | |
| US8010876B2 (en) | Method of facilitating reliable access of flash memory | |
| US7904780B2 (en) | Methods of modulating error correction coding | |
| US9454414B2 (en) | System and method for accumulating soft information in LDPC decoding | |
| US8112689B2 (en) | ECC controller for use in flash memory device and memory system including the same | |
| US8429468B2 (en) | System and method to correct data errors using a stored count of bit values | |
| US8001441B2 (en) | Nonvolatile memory with modulated error correction coding | |
| US9015554B2 (en) | Management of non-valid decision patterns of a soft read retry operation | |
| US9583217B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
| US8635508B2 (en) | Systems and methods for performing concatenated error correction | |
| US9093154B2 (en) | Method, memory controller and system for reading data stored in flash memory | |
| US8015473B2 (en) | Method, system, and apparatus for ECC protection of small data structures | |
| WO2009074978A2 (en) | Systems and methods for error correction and decoding on multi-level physical media | |
| US12283971B2 (en) | Flash memory apparatus and storage management method for flash memory | |
| US20250037784A1 (en) | Efficient soft decoding of error correction code via extrinsic bit information | |
| US20210216402A1 (en) | Metadata-assisted encoding and decoding for a memory sub-system | |
| WO2008057820A1 (en) | Nonvolatile memory with modulated error correction coding | |
| CN119937938B (zh) | 闪存设备的数据存储方法及其装置、设备、介质 | |
| US20200089418A1 (en) | Memory having different reliabilities | |
| US11145372B2 (en) | Decoding method, memory controlling circuit unit, and memory storage device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20090805 |