CN101699406A - 数据储存系统与方法 - Google Patents
数据储存系统与方法 Download PDFInfo
- Publication number
- CN101699406A CN101699406A CN200910212398A CN200910212398A CN101699406A CN 101699406 A CN101699406 A CN 101699406A CN 200910212398 A CN200910212398 A CN 200910212398A CN 200910212398 A CN200910212398 A CN 200910212398A CN 101699406 A CN101699406 A CN 101699406A
- Authority
- CN
- China
- Prior art keywords
- error check
- memory
- mentioned
- data
- logical address
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种数据储存系统与方法。数据储存系统包括一第一存储器、一控制器、一计次模块以及一校错模块。第一存储器具有一拷贝回存操作。控制器负责将第一存储器耦接计次模块、校错模块以及第二存储器。计次模块对第一存储器的多个逻辑地址的拷贝回存操作进行一计次操作,且据以判断上述逻辑地址是否满足一校错条件。校错模块接收自第一存储器读出的满足校错条件的逻辑地址中的数据,并对满足校错条件的逻辑地址中的数据进行校错。本发明可对拷贝回存操作的数据进行校错,从而避免拷贝错误。
Description
技术领域
本发明有关于数据储存系统与方法,特别应用于具有拷贝回存(copyback)操作的存储器。
背景技术
除了盘式硬盘、光盘等,现今已发展出其他数据储存技术。以固态式硬盘(Solid State Disc,SSD)为例,其中利用NANDFlash(与非门快闪存储器)作为储存单元,以取代传统的盘式硬盘。此外,携带式电子装置,例如市面上常见的mp3随身听等,亦常使用与非门快闪存储器来储存数据。
与非门快闪存储器具有一拷贝回存(copyback)操作,也可以称为内部拷贝操作(Internal Copy)。图1以方块图图解一与非门快闪存储器的架构,并示意其中一种拷贝回存操作。
如图所示,与非门快闪存储器100具有多个区块(blocks,编号为block0、block1、…、blockn)以及一缓冲器102。区块为block0、…、blockn提供物理空间以储存数据,各自还可划分为多个页(pages);例如,区块为block0包括多个页page(0,0)、page(0,1)…,区块block1包括多个页page(1,0)、page(1,1)…,区块blockn包括多个页page(n,0)、page(n,1)…。于读/写操作中,主机端(host)程序(program)所使用的地址信息称为“逻辑地址”,需先经映射表(mapping table)转换为“物理地址”才能对应至与非门快闪存储器100上的物理空间(上述区块或页或更小的储存单位)。缓冲器102则是设计来供拷贝回存操作使用。
一逻辑地址中的数据可能自与非门快闪存储器100的一物理空间搬移至另一物理空间,其一操作即拷贝回存操作。拷贝回存操作有多种型式,例如,执行垃圾收集(garbage collection)释放储存空间时,通常会大量运用到拷贝回存操作。垃圾收集通常以“区块”作为空间释放的单位。以释放图1区块block1为例,需先将区块block1内有效数据(valid data)拷贝至另一区块,如区块blockn,方能将区块block1的储存空间释放并将其标示为可用空间;其中,搬移有效数据的技术即拷贝回存操作的一种型式。以拷贝一页page(1,0)至另一页page(n,1)为例,拷贝回存操作首先把页page(1,0)所储存的数据送至缓冲器102,再由缓冲器102传递至页page(n,1);整个数据传送过程限制于与非门快闪存储器100内部,外界不得窥。
除了图1所示的技术,拷贝回存操作另有一种型式——于“页”内搬移数据。此型式的拷贝回存操作将数据从一页的一区域读到该页内部的缓冲器,再由该缓冲器搬移到该页的另一区域;其数据传送过程同样也是限制在与非门快闪存储器内部。
由于拷贝回存操作的数据传送过程限制于与非门快闪存储器内部,其间若发生拷贝错误也无法得知。更甚者,拷贝错误会累积至无法校正的程度。
发明内容
本发明提供一种数据储存系统以及方法。
本发明所揭露的数据储存系统,包括:一第一存储器、一控制器、一计次模块以及一校错模块。
第一存储器具有一拷贝回存操作。控制器负责将第一存储器耦接计次模块以及校错模块。计次模块负责对第一存储器的多个逻辑地址的拷贝回存操作进行一计次操作,且据以判断上述逻辑地址是否满足一校错条件。校错模块负责接收自第一存储器读出的满足校错条件的逻辑地址中的数据,并对满足校错条件的逻辑地址中的数据进行校错。
本发明所揭露的数据储存方法应用于具有一拷贝回存操作的一第一存储器上。该数据储存方法包括:对第一存储器的多个逻辑地址的拷贝回存操作进行一计次操作,且据以判断上述逻辑地址是否满足一校错条件;以及接收自第一存储器读出的满足校错条件的逻辑地址中的数据,并对满足该校错条件的逻辑地址中的数据进行校错,以订正该第一存储器。
本发明可对拷贝回存操作的数据进行校错,从而避免拷贝错误,尤其是多次拷贝回存操作可能造成的累计错误。
附图说明
图1以方块图图解一与非门快闪存储器的架构,并示意其中一种拷贝回存操作;
图2图解本发明数据储存系统的一种实施方式;
图3以表格显示本发明计次操作的结果,可暂存于本发明第二存储器210中;
图4A与图4B图解待校错数据的多种来源;
图5A与图5B以流程图图解本发明数据储存方法的多种实施方式。
具体实施方式
本发明还有许多实施方式。以下举例说明。
图2图解本发明数据储存系统的一种实施方式,其中包括:一第一存储器202、一控制器204、一计次模块206、一校错模块208与一第二存储器210。
第一存储器202可施行拷贝回存(copyback)操作,且其物理储存空间动态地配置给多个逻辑地址(主机端程序所使用的地址信息)使用。在一种实施方式中,第一存储器202可以一与非门快闪存储器(NAND Flash)实现。控制器204将第一存储器202耦接计次模块206、校错模块208以及第二存储器210。计次模块206对第一存储器202所对应的各逻辑地址的拷贝回存操作进行一计次操作,且根据该计次操作的结果判断上述逻辑地址是否满足一校错条件。校错模块208负责接收自第一存储器202读出的满足该校错条件的逻辑地址中的数据,对满足该校错条件的逻辑地址中的数据进行校错,以订正该第一存储器202。第二存储器210则用于暂存该计次模块206上述计次操作的结果,可由动态随机存取存储器(DRAM)实现。
上述计次操作用来反映各逻辑地址发生拷贝回存操作的频度,可有多种实施方式。
在一种实施方式中,上述计次操作包括:计数第一存储器202所对应的各逻辑地址发生拷贝回存操作的次数。该计次操作的结果由第二存储器210记录,图3以表格显示其内容。如图3所示,各逻辑地址LBA(0)、…、LBA(p)对应一计次记录m0、…、mp;计次记录m0、…、mp为各逻辑地址LBA(0)、…、LBA(p)发生拷贝回存操作的次数。根据第二存储器210所暂存的计次记录m0、…、mp,计次模块206判定拷贝回存操作发生次数超过一上限值的逻辑地址满足校错条件,需要自第一存储器202读出以进行校错。以上限值为8为例,计次记录m0、…、mp需各占至少三位的空间。由于第一存储器202的物理储存空间所对应的逻辑地址的数量可能很大,因此如果每个逻辑地址都占用三位的空间,则要求第二存储器210必须具备很大的储存空间,为善用第二存储器210的空间,计次操作可采用其他实施方式。
在另一种实施方式中,上述计次操作包括:于每次拷贝回存操作发生时,根据一概率为对应的逻辑地址设定一频度标示。上述频度标示可为一位数据,常态值为‘0’。以下举例说明。假设使用者希望同一逻辑地址每发生n次拷贝回存操作即有P%的机率进行一次校错,则可于该逻辑地址每回发生拷贝回存操作时以概率X变化该频度标示为‘1’;其中,概率X设定为1-(1-P%)^(1/n)。若使用者希望同一逻辑地址每发生10次拷贝回存操作即有90%的机率进行一次校错(即n=10,P%=90%),则概率X的理想设定范围约为0.226~0.268,为了工程方便,可设定概率X为0.25;意即,针对同一逻辑地址,拷贝回存操作发生其上一次时,计次模块206会以概率0.25尝试把该逻辑地址的频度标示自‘0’变化为‘1’,如此一来,从较大的样本空间上看,一逻辑地址上平均发生拷贝回存操作10次,则进行校错的机率可达90%。各逻辑地址的频度标示同样可由第二存储器210暂存为图3的表格,在此实施方式中,计次记录m0、…、mp即各逻辑地址LBA(0)、…、LBA(p)的频度标示。根据第二存储器210所暂存的频度标示m0、…、mp,计次模块206判定其中满足一特定值(如数据‘1’)的频度标示所对应的逻辑地址满足校错条件,需要自第一存储器202读出进行校错。
在另一实施例中,概率设定逻辑地址的频度标示可通过在该计次模块206中设置一随机数产生器来实现,其产生随机数的值可为0~99:使用者可以当前的系统时间、中央处理器的时间标记或硬件实现的随机数产生器得到一高斯白噪声随机数,并通过对该高斯白噪声随机数取模数(除以100求余数),即可得范围为0~99的随机数。而后,通过比较该随机数与一临界值(举例而言该临界值设定为25),若随机数小于或等于该临界值,则将该逻辑地址的频度标示由‘0’设置为‘1’;若随机数大于该临界值,则维持该逻辑地址的频度标示。如此,当一逻辑地址发生一次拷贝回存操作时,该逻辑地址的频度标示会以25%的概率被设置为‘1’;若该随机数的值为‘1’,则代表该逻辑地址有90%的可能性进行了10次拷贝回存操作,则计次模块206会判定该逻辑地址满足校错条件,需要自第一存储器202读出进行校错。
本发明所采用的校错技术可有多种实施方式,其中一种为错误检查与校正(error checking and correcting,ECC)。在此实施方式中,数据储存将还包括ECC码,且图2的校错模块208包括ECC技术。满足校错条件的逻辑地址中的数据称为“待校错数据”,控制器204自第一存储器202读出该“待校错数据”,并将其暂存至第二存储器210以供校错模块208进行ECC校错。
待校错数据可有多种来源,图4A与图4B举例说明。
参阅图4A,待校错数据为相关拷贝回存操作“完成后”的数据:将数据由页page(1,0)送至缓冲器402再写入页page(n,1),待此拷贝回存操作“完成后”,该逻辑地址即满足校错条件,则当此拷贝回存操作完成后,相关逻辑地址中的数据方自页page(n,1)被控制器204读出第一存储器202之外作为待校错数据暂存于第二存储器210,以由校错模块208进行校错。若校错模块208显示待校错数据有错误,则进行校正,此时校错结果必须被写回第一存储器202中,当第一存储器202为与非门快闪存储器(NAND Flash)时,由于与非门快闪存储器的特性必须先擦除后方能写入,因此只能由控制器204新分配一闲置的物理地址,如blockn的未写入数据的物理页page(n,k),以写入该校错结果订正所对应的逻辑地址中的数据,图中以虚线表示此订正动作。反之,若校错模块208显示待校错数据没有错误,则可略过此次校正和写回程序,无须订正第一存储器202的内容。
参阅图4B,其中,待校错数据为相关拷贝回存操作“执行前”的数据。即是说,当下的拷贝回存操作执行之前,该逻辑地址已经满足校错条件,则满足校错条件的逻辑地址当下的拷贝回存操作(虚线所示)将被此校错动作(实线所示)取代。页page(1,0)将被控制器204读出第一存储器202之外作为待校错数据暂存于第二存储器210中,以交由校错模块208进行校错。不论待校错数据有无错误发生,校错结果都将重新写入第一存储器202,即填入第一存储器202的一闲置空间,例如页page(n,1),以取代虚线所示的拷贝回存操作,即是说满足校错条件的逻辑地址,当接收到另一次拷贝回存操作的指令时,并不执行它,反而以上述校错动作取代。
图2的计次模块206与校错模块208除了用独立于控制器204的模块实现外,还可以用控制器204内部的模块实现。此外,图2的计次模块206与校错模块208除了可以硬件电路实现、由控制器204操控外,还可以软件方式(例如作为第一存储器202的控制固件,即控制器204的固件)实现、由控制器204执行。或者,计次模块206与校错模块208亦可采用软硬件共同设计实现。
除了以上“数据储存装置”,本发明还揭露“数据储存方法”,应用于图2的第一存储器202上。此数据储存方法包括:对第一存储器202所对应的多个逻辑地址的拷贝回存操作进行一计次操作;根据上述计次操作的结果判断上述逻辑地址是否满足一校错条件;以及接收自该第一存储器202读出的满足该校错条件的逻辑地址中的数据,并对满足该校错条件的逻辑地址中的数据进行校错,以订正该第一存储器202。其中,上述方法同样可应用一第二存储器(如图2的第二存储器210)暂存上述计次操作的结果。此外,此方法所应用的计次、校错技术,皆可以前述说明书内容实现。本发明的数据储存方法有多种实施方式,参阅图5A与图5B,分别对应图4A与4B图举例说明。
参阅图5A,并一并参照图4A:首先,对应一逻辑地址进行一拷贝回存操作(例如,由图4A的页page(1,0)将数据拷贝至页page(n,1))后对该逻辑地址的拷贝回存操作进行一计次操作(S501A);然后判断上述逻辑地址是否满足一校错条件;该校错条件,举例而言是根据该逻辑地址在第二存储器210中所对应储存的计次记录判断该逻辑地址发生拷贝回存操作的次数是否超过一上限值(S502A);如果满足该校错条件,则自第一存储器202读出该逻辑地址对应的待校错数据(如页page(n,1))并将其暂存至第二存储器210以进行错误校验,判断该待校错数据是否错误(S503A);如果S503A的校验显示该待校错数据有误,则对该待校错数据进行校正(如ECC)(S504A),然后将校错结果写回第一存储器202一闲置空间(如页page(n,k))(S505A);如果S503A的错误校验显示待校错数据没有错误,则可略过S504A与S505A的校正和写回程序,无须订正第一存储器202的内容,直接跳至步骤S506A执行;无论错误校验结果如何,只要步骤S502判断到满足该校错条件,最后均将第二存储器210中所对应储存的计次操作的结果清零(S506A)。
接下来参阅图5B,并一并参照图4B:首先,对一逻辑地址的拷贝回存操作进行一计次操作(S501B);然后判断上述逻辑地址是否满足一校错条件,该校错条件举例而言是根据该逻辑地址在第二存储器210中所对应储存的计次记录判断该逻辑地址发生拷贝回存操作的次数是否超过一上限值(S502B);如果满足该校错条件,则判断是否收到该逻辑地址另一次拷贝回存操作的指令;这里要特别说明的是,在等待另一次拷贝回存操作指令的同时,控制器204还会进行其它指令和操作,此处略去不表(S503B);当接收到对该逻辑地址的另一次拷贝回存操作指令(例如,欲将页page(1,0)拷贝回存至页page(n,1))时,并不执行该拷贝回存操作,而是自第一存储器202读出该逻辑地址对应的待校错数据(读取页page(1,0))并将其暂存至第二存储器210以进行错误校验,判断该待校错数据是否错误(S504B);如果S504B的错误校验显示该待校错数据有错误,则对该待校错数据进行校正(如ECC)(S505B),接着将校错结果写回第一存储器202(写至一闲置空间,例如页page(n,1)),这里校错结果可为图4B的校错模块208输出的数据(S506B);如果S504B的错误校验显示待校错数据没有错误,则可略过校正步骤S505B,直接执行步骤S506B将未校正过的数据写回第一存储器202(如页page(n,1));无论错误校验结果如何,只要步骤S502B判断到满足该校错条件,最后均将第二存储器210中所对应储存的计次操作的结果清零(S507B)。
图5B实施例的方法较之图5A实施例,不同之处在于当一逻辑地址满足一校错条件时,图5B实施例的方法并不立即对其进行错误校验和校正,而是待收到下一次拷贝回存操作指令时,直接将待校错数据读出第一存储器202以进行错误校验和校正,无论错误校验显示该待校错数据是否正确,均将校错结果(已校正或无校正)写回第一存储器202中,而并不执行拷贝回存操作。图5B实施例的优势在于减少了拷贝回存操作的次数,即减少了对第一存储器202的写入次数,可延长第一存储器202的使用寿命。而图5A实施例在拷贝回存操作未出现错误(即待校错数据正确)的情形下,可略去将校错结果(无校正发生)写回第一存储器202的动作,因此图5A实施例在拷贝回存操作错误率低的情形下会显现效率。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。
附图中符号的简单说明如下:
100:与非门快闪存储器 102:缓冲器
202:第一存储器 204:控制器
206:计次模块 208:校错模块
210:第二存储器 402:缓冲器
block0、block1、…、blockn:区块
LBA(0)、…、LBA(p):逻辑地址
m0、…、mp:计次记录
page(i,j):页,i与j为变量。
Claims (14)
1.一种数据储存系统,其特征在于,包括:
一第一存储器,具有一拷贝回存操作;
一控制器,将该第一存储器与一计次模块以及一校错模块耦接;
该计次模块,对该第一存储器的多个逻辑地址的拷贝回存操作进行一计次操作,且根据上述计次操作的结果判断上述逻辑地址是否满足一校错条件;以及
该校错模块,接收自该第一存储器读出的满足该校错条件的逻辑地址中的数据,并对上述满足该校错条件的逻辑地址中的数据进行校错。
2.根据权利要求1所述的数据储存系统,其特征在于,该控制器还耦接一第二存储器,该第二存储器暂存上述计次操作的结果。
3.根据权利要求2所述的数据储存系统,其特征在于,该控制器自该第一存储器读出上述满足该校错条件的逻辑地址中的数据,并将其暂存至该第二存储器以供该校错模块进行校错。
4.根据权利要求1所述的数据储存系统,其特征在于,上述计次操作包括:计数上述各逻辑地址发生拷贝回存操作的次数,其中,拷贝回存操作发生次数超过一上限值的逻辑地址即满足上述校错条件。
5.根据权利要求1所述的数据储存系统,其特征在于,上述计次操作包括:于每次拷贝回存操作发生时,根据一概率为对应的逻辑地址设定一频度标示,其中,上述频度标示满足一特定值的逻辑地址即满足上述校错条件。
6.根据权利要求1所述的数据储存系统,其特征在于,该第一存储器为与非门快闪存储器。
7.一种数据储存方法,其特征在于,用以控制具有拷贝回存操作的一第一存储器,该数据储存方法包括:
对该第一存储器的多个逻辑地址的拷贝回存操作进行一计次操作;
根据上述计次操作的结果判断上述逻辑地址是否满足一校错条件;以及
接收自该第一存储器读出的满足该校错条件的逻辑地址中的数据,并对满足该校错条件的逻辑地址中的数据进行校错。
8.根据权利要求7所述的数据储存方法,其特征在于,在上述校错步骤之后还包括:将上述计次操作的结果清零。
9.根据权利要求7所述的数据储存方法,其特征在于,上述计次操作包括:计数上述各逻辑地址发生拷贝回存操作的次数,其中,拷贝回存操作发生次数超过一上限值的逻辑地址即满足上述校错条件。
10.根据权利要求7所述的数据储存方法,其特征在于,上述计次操作包括:于每次拷贝回存操作发生时,根据一概率为对应的逻辑地址设定一频度标示,其中,上述频度标示满足一特定值的逻辑地址即满足上述校错条件。
11.根据权利要求7所述的数据储存方法,其特征在于,上述校错步骤还包括:自该第一存储器读出一待校错数据,并将其暂存至一第二存储器以进行校错,其中,该待校错数据即满足上述校错条件的逻辑地址中的数据。
12.根据权利要求11所述的数据储存方法,其特征在于,上述校错步骤还包括:判断该待校错数据是否错误,如果错误,则对该待校错数据进行校正,并将一校错结果写回该第一存储器。
13.根据权利要求12所述的数据储存方法,其特征在于,上述校错步骤于最近一次拷贝回存操作执行后实施,如果判断到该待校错数据正确,则不执行将该校错结果写回该第一存储器的操作。
14.根据权利要求12所述的数据储存方法,其特征在于,上述校错步骤于最近一次拷贝回存操作执行前实施,如果判断到该待校错数据正确,则将未经校正的该待校错数据写回该第一存储器,且该最近一次拷贝回存操作被略过不执行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102123984A CN101699406B (zh) | 2009-11-12 | 2009-11-12 | 数据储存系统与方法 |
US12/783,698 US8347180B2 (en) | 2009-11-12 | 2010-05-20 | Data storage system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102123984A CN101699406B (zh) | 2009-11-12 | 2009-11-12 | 数据储存系统与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101699406A true CN101699406A (zh) | 2010-04-28 |
CN101699406B CN101699406B (zh) | 2011-12-14 |
Family
ID=42147866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102123984A Active CN101699406B (zh) | 2009-11-12 | 2009-11-12 | 数据储存系统与方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8347180B2 (zh) |
CN (1) | CN101699406B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104040483A (zh) * | 2011-12-27 | 2014-09-10 | 英特尔公司 | 用于非易失性存储器的优化的冷引导 |
CN109684239A (zh) * | 2017-10-18 | 2019-04-26 | 张英辉 | 防止系统芯片的非易失性存储器被复制的方法 |
WO2020062797A1 (zh) * | 2018-09-26 | 2020-04-02 | 深圳市德名利电子有限公司 | 一种数据存储方法及存储器 |
Families Citing this family (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762620B2 (en) | 2007-12-27 | 2014-06-24 | Sandisk Enterprise Ip Llc | Multiprocessor storage controller |
US8413132B2 (en) * | 2010-09-13 | 2013-04-02 | Samsung Electronics Co., Ltd. | Techniques for resolving read-after-write (RAW) conflicts using backup area |
US8909982B2 (en) * | 2011-06-19 | 2014-12-09 | Sandisk Enterprise Ip Llc | System and method for detecting copyback programming problems |
US8910020B2 (en) | 2011-06-19 | 2014-12-09 | Sandisk Enterprise Ip Llc | Intelligent bit recovery for flash memory |
US8793543B2 (en) | 2011-11-07 | 2014-07-29 | Sandisk Enterprise Ip Llc | Adaptive read comparison signal generation for memory systems |
US8954822B2 (en) | 2011-11-18 | 2015-02-10 | Sandisk Enterprise Ip Llc | Data encoder and decoder using memory-specific parity-check matrix |
US8924815B2 (en) | 2011-11-18 | 2014-12-30 | Sandisk Enterprise Ip Llc | Systems, methods and devices for decoding codewords having multiple parity segments |
US9048876B2 (en) | 2011-11-18 | 2015-06-02 | Sandisk Enterprise Ip Llc | Systems, methods and devices for multi-tiered error correction |
US9053808B2 (en) * | 2012-06-21 | 2015-06-09 | Sandisk Technologies Inc. | Flash memory with targeted read scrub algorithm |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
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 |
US9003264B1 (en) | 2012-12-31 | 2015-04-07 | Sandisk Enterprise Ip Llc | Systems, methods, and devices for multi-dimensional flash RAID data protection |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9009576B1 (en) | 2013-03-15 | 2015-04-14 | Sandisk Enterprise Ip Llc | Adaptive LLR based on syndrome weight |
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 |
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 |
US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
US9136877B1 (en) | 2013-03-15 | 2015-09-15 | Sandisk Enterprise Ip Llc | Syndrome layered decoding for LDPC codes |
US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US9159437B2 (en) | 2013-06-11 | 2015-10-13 | Sandisk Enterprise IP LLC. | Device and method for resolving an LM flag issue |
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 |
US9043517B1 (en) | 2013-07-25 | 2015-05-26 | Sandisk Enterprise Ip Llc | Multipass programming in buffers 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 |
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 |
US9442670B2 (en) | 2013-09-03 | 2016-09-13 | Sandisk Technologies Llc | Method and system for rebalancing data stored in flash memory devices |
US9519577B2 (en) | 2013-09-03 | 2016-12-13 | Sandisk Technologies Llc | Method and system for migrating data between flash memory devices |
US9158349B2 (en) | 2013-10-04 | 2015-10-13 | Sandisk Enterprise Ip Llc | System and method for heat dissipation |
US9323637B2 (en) | 2013-10-07 | 2016-04-26 | Sandisk Enterprise Ip Llc | Power sequencing and data hardening architecture |
US9298608B2 (en) | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
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 |
US9152555B2 (en) | 2013-11-15 | 2015-10-06 | Sandisk Enterprise IP LLC. | Data management with modular erase in a data storage system |
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 |
US9122636B2 (en) | 2013-11-27 | 2015-09-01 | Sandisk Enterprise Ip Llc | Hard power fail architecture |
US9280429B2 (en) | 2013-11-27 | 2016-03-08 | Sandisk Enterprise Ip Llc | Power fail latching based on monitoring multiple power supply voltages in a storage device |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9250676B2 (en) | 2013-11-29 | 2016-02-02 | Sandisk Enterprise Ip Llc | Power failure architecture and verification |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US9092370B2 (en) | 2013-12-03 | 2015-07-28 | Sandisk Enterprise Ip Llc | Power failure tolerant cryptographic erase |
US9235245B2 (en) | 2013-12-04 | 2016-01-12 | Sandisk Enterprise Ip Llc | Startup performance and power isolation |
US9129665B2 (en) | 2013-12-17 | 2015-09-08 | Sandisk Enterprise Ip Llc | Dynamic brownout adjustment in a storage device |
US9549457B2 (en) | 2014-02-12 | 2017-01-17 | Sandisk Technologies Llc | System and method for redirecting airflow across an electronic assembly |
US9497889B2 (en) | 2014-02-27 | 2016-11-15 | Sandisk Technologies Llc | Heat dissipation for substrate assemblies |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9348377B2 (en) | 2014-03-14 | 2016-05-24 | Sandisk Enterprise Ip Llc | Thermal isolation techniques |
US9519319B2 (en) | 2014-03-14 | 2016-12-13 | Sandisk Technologies Llc | Self-supporting thermal tube structure for electronic assemblies |
US9485851B2 (en) | 2014-03-14 | 2016-11-01 | Sandisk Technologies Llc | Thermal tube assembly structures |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
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 |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
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 |
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 |
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 |
US9093160B1 (en) | 2014-05-30 | 2015-07-28 | Sandisk Technologies Inc. | Methods and systems for staggered memory operations |
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 |
US9070481B1 (en) | 2014-05-30 | 2015-06-30 | Sandisk Technologies Inc. | Internal current measurement for age measurements |
US9645749B2 (en) | 2014-05-30 | 2017-05-09 | Sandisk Technologies Llc | Method and system for recharacterizing the storage density of a memory device or a portion thereof |
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 |
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 |
US8891303B1 (en) | 2014-05-30 | 2014-11-18 | Sandisk Technologies Inc. | Method and system for dynamic word line based configuration of a three-dimensional memory device |
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 |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
CN107003814A (zh) * | 2014-10-01 | 2017-08-01 | 邦存科技有限公司 | 存储系统中的有效元数据 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5887146A (en) * | 1995-08-14 | 1999-03-23 | Data General Corporation | Symmetric multiprocessing computer with non-uniform memory access architecture |
US6505305B1 (en) * | 1998-07-16 | 2003-01-07 | Compaq Information Technologies Group, L.P. | Fail-over of multiple memory blocks in multiple memory modules in computer system |
KR100543447B1 (ko) | 2003-04-03 | 2006-01-23 | 삼성전자주식회사 | 에러정정기능을 가진 플래쉬메모리장치 |
-
2009
- 2009-11-12 CN CN2009102123984A patent/CN101699406B/zh active Active
-
2010
- 2010-05-20 US US12/783,698 patent/US8347180B2/en active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104040483A (zh) * | 2011-12-27 | 2014-09-10 | 英特尔公司 | 用于非易失性存储器的优化的冷引导 |
CN104040483B (zh) * | 2011-12-27 | 2017-07-07 | 英特尔公司 | 用于非易失性存储器的优化的冷引导 |
CN109684239A (zh) * | 2017-10-18 | 2019-04-26 | 张英辉 | 防止系统芯片的非易失性存储器被复制的方法 |
CN109684239B (zh) * | 2017-10-18 | 2023-06-09 | 张英辉 | 防止系统芯片的非易失性存储器被复制的方法 |
WO2020062797A1 (zh) * | 2018-09-26 | 2020-04-02 | 深圳市德名利电子有限公司 | 一种数据存储方法及存储器 |
Also Published As
Publication number | Publication date |
---|---|
CN101699406B (zh) | 2011-12-14 |
US20110113281A1 (en) | 2011-05-12 |
US8347180B2 (en) | 2013-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101699406B (zh) | 数据储存系统与方法 | |
US8386699B2 (en) | Method for giving program commands to flash memory for writing data according to a sequence, and controller and storage system using the same | |
JP5585919B2 (ja) | 電源遮断管理 | |
TWI506430B (zh) | 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置 | |
US9268687B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US8266501B2 (en) | Stripe based memory operation | |
JP5649742B2 (ja) | トランザクションログの復元 | |
US9146854B2 (en) | Restoring storage devices based on flash memories and related circuit, system, and method | |
US10437520B2 (en) | Method for performing writing management in a memory device, and associated memory device and controller thereof | |
US20130013853A1 (en) | Command executing method, memory controller and memory storage apparatus | |
US20170038977A1 (en) | Valid data merging method, memory controller and memory storage apparatus | |
US20190146925A1 (en) | Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements | |
JPWO2007119267A1 (ja) | フラッシュメモリ用のメモリコントローラ | |
CN103995784A (zh) | 快闪存储器控制器与存储装置以及快闪存储器控制方法 | |
US20150261444A1 (en) | Memory system and information processing device | |
TW201712549A (zh) | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
JP4460967B2 (ja) | メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法 | |
JP2015225608A (ja) | アドレス変換テーブルを書き込む装置及び方法 | |
WO2011019794A2 (en) | Method and apparatus for addressing actual or predicted failures in a flash-based storage system | |
US9152348B2 (en) | Data transmitting method, memory controller and data transmitting system | |
CN101872318B (zh) | 用于快闪记忆体的资料存取方法及其储存系统与控制器 | |
CN109933467B (zh) | 存储器系统及其操作方法 | |
TWI709855B (zh) | 用來於一記憶裝置中進行寫入管理之方法以及記憶裝置及其控制器 | |
US11662940B2 (en) | Data storage device and data processing method for restoring MLC/TLC memory to avoid degradation of access performance of a memory device caused by word line short |
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 |