CN101699406B - 数据储存系统与方法 - Google Patents

数据储存系统与方法 Download PDF

Info

Publication number
CN101699406B
CN101699406B CN2009102123984A CN200910212398A CN101699406B CN 101699406 B CN101699406 B CN 101699406B CN 2009102123984 A CN2009102123984 A CN 2009102123984A CN 200910212398 A CN200910212398 A CN 200910212398A CN 101699406 B CN101699406 B CN 101699406B
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.)
Active
Application number
CN2009102123984A
Other languages
English (en)
Other versions
CN101699406A (zh
Inventor
张博
柴红刚
陈亮
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.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
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 Via Technologies Inc filed Critical Via Technologies Inc
Priority to CN2009102123984A priority Critical patent/CN101699406B/zh
Publication of CN101699406A publication Critical patent/CN101699406A/zh
Priority to US12/783,698 priority patent/US8347180B2/en
Application granted granted Critical
Publication of CN101699406B publication Critical patent/CN101699406B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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

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所述的数据储存方法,其特征在于,上述校错步骤于最近一次拷贝回存操作执行前实施,如果判断到该待校错数据正确,则将未经校正的该待校错数据写回该第一存储器,且该最近一次拷贝回存操作被略过不执行。
CN2009102123984A 2009-11-12 2009-11-12 数据储存系统与方法 Active CN101699406B (zh)

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 CN101699406A (zh) 2010-04-28
CN101699406B true 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)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8738841B2 (en) 2007-12-27 2014-05-27 Sandisk Enterprise IP LLC. Flash memory controller and system including data pipelines incorporating multiple buffers
US8413132B2 (en) * 2010-09-13 2013-04-02 Samsung Electronics Co., Ltd. Techniques for resolving read-after-write (RAW) conflicts using backup area
US8910020B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc Intelligent bit recovery for flash memory
US8909982B2 (en) * 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc System and method for detecting copyback programming problems
US9058289B2 (en) 2011-11-07 2015-06-16 Sandisk Enterprise Ip Llc Soft information generation for memory systems
US9048876B2 (en) 2011-11-18 2015-06-02 Sandisk Enterprise Ip Llc Systems, methods and devices for multi-tiered error correction
US8924815B2 (en) 2011-11-18 2014-12-30 Sandisk Enterprise Ip Llc Systems, methods and devices for decoding codewords having multiple parity segments
US8954822B2 (en) 2011-11-18 2015-02-10 Sandisk Enterprise Ip Llc Data encoder and decoder using memory-specific parity-check matrix
CN104040483B (zh) * 2011-12-27 2017-07-07 英特尔公司 用于非易失性存储器的优化的冷引导
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
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
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
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9003264B1 (en) 2012-12-31 2015-04-07 Sandisk Enterprise Ip Llc Systems, methods, and devices for multi-dimensional flash RAID data protection
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
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
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
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
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
US9043517B1 (en) 2013-07-25 2015-05-26 Sandisk Enterprise Ip Llc Multipass programming in buffers implemented in non-volatile data storage systems
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
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
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
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
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
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
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
US9519319B2 (en) 2014-03-14 2016-12-13 Sandisk Technologies Llc Self-supporting thermal tube structure for electronic assemblies
US9348377B2 (en) 2014-03-14 2016-05-24 Sandisk Enterprise Ip Llc Thermal isolation techniques
US9485851B2 (en) 2014-03-14 2016-11-01 Sandisk Technologies Llc Thermal tube assembly structures
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
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a 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
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
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
US9070481B1 (en) 2014-05-30 2015-06-30 Sandisk Technologies Inc. Internal current measurement for age measurements
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
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
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
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
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
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
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
US9093160B1 (en) 2014-05-30 2015-07-28 Sandisk Technologies Inc. Methods and systems for staggered memory operations
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 邦存科技有限公司 存储系统中的有效元数据
TWI656535B (zh) * 2017-10-18 2019-04-11 張英輝 系統晶片之非揮發性記憶體之寫入方法
CN109388343B (zh) * 2018-09-26 2020-08-28 深圳市德明利技术股份有限公司 一种数据存储方法及存储器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 에러정정기능을 가진 플래쉬메모리장치

Also Published As

Publication number Publication date
US8347180B2 (en) 2013-01-01
CN101699406A (zh) 2010-04-28
US20110113281A1 (en) 2011-05-12

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) 電源遮断管理
US8788876B2 (en) Stripe-based memory operation
US9268687B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
TWI506430B (zh) 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置
JP5649742B2 (ja) トランザクションログの復元
US9880742B2 (en) Valid data merging method, memory controller and memory storage apparatus
KR20170015757A (ko) 데이터 저장 장치 및 그것의 동작 방법
JPWO2007119267A1 (ja) フラッシュメモリ用のメモリコントローラ
US10437520B2 (en) Method for performing writing management in a memory device, and associated memory device and controller thereof
CN103995784A (zh) 快闪存储器控制器与存储装置以及快闪存储器控制方法
TWI498899B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TW201712549A (zh) 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
TWI698749B (zh) 資料儲存裝置與資料處理方法
JP2015225608A (ja) アドレス変換テーブルを書き込む装置及び方法
CN102541755A (zh) 闪存存储器及其接收数据的方法
WO2011019794A2 (en) Method and apparatus for addressing actual or predicted failures in a flash-based storage system
CN101872318B (zh) 用于快闪记忆体的资料存取方法及其储存系统与控制器
TWI709855B (zh) 用來於一記憶裝置中進行寫入管理之方法以及記憶裝置及其控制器
US20210357326A1 (en) Bit masking valid sectors for write-back coalescing
CN113126906B (zh) 用于元数据指示的方法和系统
US20120324205A1 (en) Memory management table processing method, memory controller, and memory storage apparatus
TWI781846B (zh) 非對稱型平面管理方法以及資料儲存裝置及其控制器
CN104425039A (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