CN101470641A - 储存媒体的损坏管理方法及其系统 - Google Patents
储存媒体的损坏管理方法及其系统 Download PDFInfo
- Publication number
- CN101470641A CN101470641A CNA200810184846XA CN200810184846A CN101470641A CN 101470641 A CN101470641 A CN 101470641A CN A200810184846X A CNA200810184846X A CN A200810184846XA CN 200810184846 A CN200810184846 A CN 200810184846A CN 101470641 A CN101470641 A CN 101470641A
- Authority
- CN
- China
- Prior art keywords
- degree
- storage media
- write
- value
- ecc
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/816—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
- G11C29/82—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种储存媒体的损坏管理方法及其系统,其中该损坏管理方法包括以下步骤。首先,对储存媒体进行起始检查,并且对储存媒体进行区域划分,其中区域划分至少包括具有多个耐度区块的使用数据区域。对使用数据区域中的该些耐度区块分别附上初始耐度值。建立耐度表于储存媒体中,以记录该些耐度区块与该些初始耐度值。依据耐度表,对储存媒体进行抹除/写入程序,其中当抹除/写入程序超过抹除/写入预定次数,对各耐度区块重新计算耐度值并更新耐度表。对储存媒体进行读取程序,其中当读取程序超过读取预定次数,对各耐度区块重新计算耐度值并更新耐度表。
Description
技术领域
本发明是有关于一种储存媒体的损坏管理方法及其系统,特别是有关存储器的损坏管理方法及其系统。
背景技术
存储媒体,特别是如非易失性存储器之类的闪存,其因为半导体的穿隧效应,闪存在到达一定以上的抹写次数后,记录数据的功能会开始损毁。针对此点,目前在存储器中的数据区块便并入错误更正码(error correctioncode,ECC)来进行数据的校正,另外还有缺陷管理、软件管理或耐度(endurance)管理等,均为用来管理或修正存储器中毁损数据的方法,但是该些方法也都各有缺点。
上述ECC方法在错误至无法更正时,尚需要配合其它管理机制配合,因此无法有效地预期可能发生损坏的储存区块,而给予有效的事先防范。缺陷管理的方式则不是事先预防方法,其只是将有缺陷的区块做标记而施以管理,但是在新产生缺陷区块,会产生有数据毁坏的问题。
软件管理方法是在操作系统或应用程序做闪存的管理。这种方法的缺点是无法达成储存体可移植性,而且当操作系统或应用程序重新安装时,管理数据会有消失的问题。耐度管理则是利用计数的方式来对存储器做使用上的管理。
另外,耐度管理为一种计数方式的管理方法。此方法利用写入次数作做损坏预防的机制。本方法的缺点为浪费,很多储存区块尚未有实际毁损便被标示为缺陷区块。另一个缺点是不适用于损坏是由非写入造成的快闪存储区块,如读取很多次或放置很长的时间。
因此,目前有需要一种可以有效管理缺陷储存区块且能够预先防范的方法。
发明内容
针对上述问题,本发明提出一种可预防毁损与有效管理不同毁损储存区块的方法,其可以在数据发生损毁前保护重要数据,并且可预防多次写入或多次读取或长期保存所造成的数据毁损,充分利用与管理开始有损坏的储存区块。
本发明提供一种储存媒体的损坏管理方法,包括以下步骤。首先,对储存媒体进行起始检查,并且对储存媒体进行区域划分,其中区域划分至少包括具有多个耐度区块的使用数据区域。对使用数据区域中的该些耐度区块分别附上初始耐度值。建立耐度表于储存媒体中,以记录该些耐度区块与该些初始耐度值。依据耐度表,对储存媒体进行抹除/写入程序,其中当抹除/写入程序超过抹除/写入预定次数,对各耐度区块重新计算耐度值并更新耐度表。对储存媒体进行读取程序,其中当读取程序超过读取预定次数,对各耐度区块重新计算耐度值并更新耐度表。
在上述方法中,抹除/写入程序还包括:将抹除/写入总计数值加上相对倍数,并判断是否超过抹除/写入预定次数;当超过抹除/写入预定次数,重新计算耐度值,并依据计算的耐度值,搬动数据并结束该抹除/写入程序;以及当未超过抹除/写入预定次数,累加1于抹除/写入总计数值,并且结束抹除/写入程序。另外,重新计算该耐度值可以还包括:将抹除/写入总计数值归零;调整耐度值判断条件;依据耐度值判断条件,重新计算耐度值;以及依据计算的耐度值,搬动数据。
另外,在上述方法中,读取程序还包括:在每一读取程序,累加1于读取总计数值,并判断是否超过读取预定次数;当超过读取预定次数,重新计算耐度值,并依据计算的耐度值,搬动数据并结束读取程序;以及当未超过读取预定次数,进行ECC检查与更正程序,并且结束读取程序。此外,重新计算该耐度值还包括:将读取总计数值归零;调整耐度值判断条件;依据耐度值判断条件,重新计算耐度值;以及依据计算的耐度值,搬动数据。另外,ECC检查与更正程序还包括:检查ECC更正次数是否增加;当该ECC更正次数增加时,记录ECC更正位数于该耐度表中,并且结束该读取程序;以及当ECC更正次数未增加时,结束读取程序。
此外,本发明还提出一种储存媒体的损坏管理系统,包括:储存区域,至少包括多个耐度区块(endurance block);空间管理器,与储存区域耦接,对储存区域进行管理;ECC单元,与储存区域与空间管理器耦接,用以当对储存区域进行抹除/写入或读取数据时,对数据进行ECC检查与更正;微控制器,耦接至空间管理器,微控制器可执行前述的损坏管理方法;以及耐度表,用以记录各耐度区块的耐度值。
在上述系统中,可以还包括接口,作为外部主机与微控制器之间的沟通。另外,可以还包括缓冲器,耦接于接口该ECC单元之间。
在上述系统中,各该些耐度区块包括多个数据区块,各该数据区块还包括多个ECC数据单元。另外,上述耐度表可建立在该储存区域内部或外部。耐度表可以包括耐度区块、写入次数、ECC更正位数与耐度值。
因此,本发明利用计数方式和ECC作为管理存储器的方式,并将如快闪等的存储器上的文件数据分数据重要性。将重要性高至低的文件依序放置于损坏预测因子低至高的区块中。藉此,达成数据高可靠性与闪存储存空间充分利用的功能。
为让本发明的上述和其它目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1绘示包含ECC单元的数据区块的架构示意图。
图2绘示本实施例的耐度区块的架构示意图。
图3绘示本实施例的存储器中的储存区域的示意图。
图4绘示本实施例的管理区域中的耐度记录表示意图。
图5绘示本实施例的管理流程示意图。
图6绘示本实施例的抹除/写入流程的示意图。
图7绘示本实施例的读取流程的示意图。
图8绘示本实施例的硬件架构示意图。
[主要元件标号说明]
10:数据区块
12:ECC数据单元
20:耐度区块
30:储存区域
32:管理区域(映射表)
34:使用数据区域
36:备份区域
38:缺陷区域
具体实施方式
在说明本发明记录媒体的缺陷或损坏管理方法和架构之前,先说明记录媒体中的基本数据结构。此处列出的数据结构内容仅为最相关部分,在实际应用上,完整的数据结构可以包含其它内容。
图1绘示包含ECC单元的数据区块的结构示意图。以下的实施例将以闪存作为说明例。在闪存中,以图1的数据区块10作为最小的读写单位。数据区块10一般可包含一或多个ECC数据区块12。作为最小读写单位的数据区块10的大小例如可以是512B或2KB等,其可以具设计需求做适当的调整。而各ECC数据区块12则包含可修正位数的数据,例如16位。通过ECC数据区块12可以对读取或写入的数据进行错误更正的处理程序。
每个ECC数据区块具有它可以检查出的错误位数及其可以更正的错误位数。另外,每个数据区块10也有其可以检查出的错误位数及其可以更正的错误位数,亦即其内所有ECC数据区块12中可检查出的错误位数的总和及其可以更正的错误位数的总和。
图2绘示本实施例的耐度区块的架构示意图。如图2所示,根据本实施例,闪存中的耐度区块(endurance block)20可以包含整数个图1所示的数据区块10。在闪存中,在记录与计算闪存的损坏程度时,以耐度区块为单位。
根据本实施例,将储存在闪存中的数据或文件进行重要性的分类,而将耐度区块20赋予不同的参数耐度值Endu,亦即对存储器的储存区域的损坏程度附上一个参考卷标,使系统可以预测该区块的耐用程度。例如,可以依据即将错误的程度给予Endu值为0、1、2、3等。Endu数值越小,表示该储存区域的可靠度越高,越适合储存重要性高的文件或数据。通过这种方式,可以预估存储器中的储存区域的可靠度高低,而将重要性高的数据或文件储存到错误机率低的储存区域中。下面会详细说明判断方式。
上述的重要性分类是可以让系统本身依据文件或数据本身的属性、扩展名等等来进行区分分类,或者是也可以让使用者自己来做定义与分类。经过分类分层后,Endu的区块便可依重要性,对应到不同层重要性的文件。
以系统自行定义为例,可以将系统文件和隐藏文件等与系统作业高度相关的文件与数据储存在如Endu=0的区域,数据文件可存放在Endu=1的区域,影音文件可存放在Endu=2的区域,而备份文件或数据则存放在Endu=1的区域。
另外,若是使用者本身自己定义的话,可以将重要的数据或影音文件等存放在Endu=0的区域。一般数据与影音文件可以存放在例如Endu=1的区域,而不重要的数据或影音文件可以存放在例如Endu=3的区域。当然,以上仅是说明之用,何种数据要存放在Endu值多少的区域,端视系统或使用者的定义方式。
图3绘示本实施例的存储器中的储存区域的示意图。如图3所示,其为存储器的逻辑储存区域的配置示意范例。例如,可以将储存区域30分成管理区域(映射表)32、使用数据区域34、备份区域36与缺陷区域38。其中,在此图例中,使用数据区域34还可以依据Endu值区分为区域1~区域4,藉以依据文件或数据的重要性来分配储存的区域。
在管理区域32中可以存放一个记录表,即耐度表(endurance table)。此记录表记录有耐度区块的位置、区块的写入次数(cycles)、ECC错误更正位数(ECC)和耐度值Endu(即将错误的程度)。图4绘示本实施例的管理区域中的耐度记录表示意图。如图4所示,Endu值可以是次数与ECC的函数或判断式。一般闪存在出厂后会有E/W参考值(抹除/写入参考值,即可以执行几次)以及分布(即写入几次后会开始产生缺陷)。而利用E/W参考值、ECC的错误更正以及前述分部等等,定义一个对应函数或判断式,由次数与ECC计算Endu值。此对应函数或判断式可随读写次数增加到不同的程序,而针对当时的闪存使用状况与毁损状况做修正。
经由上述的记录表,便可依不同的Endu值,将使用中的储存区分成数个区域(area),即上述耐度区块。例如图3,依不同的Endu值0-3,分成了区域1到区域4。
另外,Endu值的对应函数或判断式也可依各层文件的多寡来调整。此外,管理区域32因为重要性高,实作时可使用较高可靠度的储存体,例如MRAM。
以上是对闪存内数据区块架构做个说明,其配合用来指示即将发生错误的程度的Endu值和数据/文件的重要性,来做储存区域的配置。另外,针对闪存的另一特性,即数据具有搬动特性,本实施例可以根据储存区块的损坏或缺陷程度的改变,将数据和文件做适当的搬动。藉此,使重要性的数据和文件得以一直储存在可靠性高的储存区域中,以避免数据和文件的遗失或毁损。接着将对此程序做进一步的说明。
图5绘示本实施例的存储器缺陷管理的流程示意图。图5所绘示的程序是针对存储器一开始使用的状况。首先,在步骤S100执行起始检查。此起始检查是对整片闪存中包含储存区域的整体检查,以确定储存区块是否有问题或缺陷。接着,在步骤S102,对存储器的储存区域进行区域分配;亦即,进行逻辑储存区域的寻址分配等,其范例如图3所示。接着,在步骤S104,分配初始Endu区域,即例如图3中与Endu=0~3对应的区域1至区域4。此时,因为存储器的储存区块皆尚未使用,所以可简单依需用比例线性分配。
之后,便依据每次抹除/写入以及读取的操作,重新计算各区域的Endu值,并且依据新的Endu值来搬动数据的储存区域。接着便详述Endu值的计算方式。
图6绘示本实施例的抹除/写入流程的示意图。首先,在步骤S200,将总计数值(抹除/写入总计数值)TotalCount加上相对倍数值cw,即TotalCount=TotalCount+cw。在对闪存进行抹除/写入以及读取操作过程中,记录TotalCounter,亦即计算操作的总次数。因为闪存有一定的生命周期,所以可以根据操作次数来判断目前记录区块的即将损坏程度(耐度)。另外,在抹除/写入与读取之间对存储器的损坏有着一定的比例,所以在计算抹除/写入的总次数时,尚需要加入相对于读取操作的参考值,亦即上述的相对倍数cw,以使判断准则更为精确。相对倍数cw则依据根据读与写造成损坏的比例,决定每写一次TotalCounter要加多少相对倍数cw。例如,闪存的抹除/写入程序生命周期是10万次,而读取程序生命周期是10000万次,则在每抹除/写入程序的总计数值加上相对倍数1000。
接着,在步骤S202,读取步骤S200所得到的总计数值TotalCount。之后在步骤S204,依据步骤S202所读取的总计数值TotalCount,判断耐度值Endu是否需要重新计算。一般可以设定每当总计数值TotalCount到达默认值后,重算记录表中的Endu值。
在步骤S204,当总计数值TotalCount未达默认值,即不需要重新计算Endu值时(步骤S204的结果为“否”),则将计数值加1,并且结束抹除/写入流程。反之,当需要重新计算Endu值时(步骤S204的结果为“是”),则在步骤S210将总计数值TotalCount归零,并且执行步骤S212~S216的重算Endu值的程序。重算Endu值的程序较佳是以背景程序(background process)、低优先权的程序执行。
关于重算Endu值的程序,首先在步骤S210将TotalCount归零。接着调整Endu值判断条件。闪存会随着抹除/写入和读取的次数,而改变即将损坏的程度。因此,在重新计算Endu值时,便需要适度地对Endu值判断条件(例如图4)做适当的调整,即步骤S212。之后,根据调整后的Endu值判断条件,重新计算Endu值。也就是说,如图3中的区域1至区域4的Endu值会被重新计算,产生新的值。例如,区域1的Endu值为3,区域2的Endu值为1,区域3的Endu值为2,区域4的Endu值为0等等。最后,根据具有新Endu值的储存区域,将数据依据重要性,搬移到对应的Endu值的储存区域中。当完成数据搬移后,则结束此抹除/写入程序。
图7绘示本实施例的读取流程的示意图。在执行闪存的读取程序时,也是执行与图6类似的程序。如图7所示,在开始读取程序后,首先在步骤S300将总计数值(读取总计数值)TotalCounter加1。接着,在步骤S302读取步骤S300所得到的总计数值TotalCount。之后,在步骤S304,依据步骤S302所读取的总计数值TotalCount,判断耐度值Endu是否需要重新计算。一般可以设定每当总计数值TotalCount到达默认值后,重算记录表中的Endu值。
在步骤S304,当总计数值TotalCount未达默认值,即不需要重新计算Endu值时(步骤S304的结果为“否”)。之后,便执行步骤S304,做ECC检查与更正。在对存储器进行读取时,一般需要进行ECC检测与更正,以确定可以读取到正确的数据。但是一般数据区块的ECC检测能力与可修正次数也有其限制,这也会影响到数据区块的即将损坏程度,故也需要加以记录(如图4之例)。
因此,在执行步骤S304后,判断检查ECC更正次数是否有增多(步骤S320),若有则将ECC更正位数记录于如图4之例的耐度记录表中(步骤S322),并结束读取程序。反之,在步骤S320若ECC更正并未增加,便直接结束读取程序。
另外,在步骤S304,当总计数值TotalCount达到默认值,需要重新计算Endu值时(步骤S304的结果为“是”),则在步骤S310将总计数值TotalCount归零,并且执行步骤S312~S316的重算Endu值的程序。重算Endu值的程序较佳是以背景程序(background process)、低优先权的程序执行。
关于重算Endu值的程序,其与图6的Endu值重算程序相同。首先在步骤S310将TotalCount归零。接着调整Endu值判断条件。在重新计算Endu值时,需要适度地对Endu值判断条件做适当的调整,即步骤S312。
之后,根据调整后的Endu值判断条件,重新计算Endu值。也就是说,如图3中的区域1至区域4的Endu值会被重新计算,产生新的Endu值。最后,根据具有新Endu值的储存区域,将数据依据重要性,搬移到对应的Endu值的储存区域中。当完成数据搬移后,则结束此读取程序。
另外,步骤S304的ECC检查与更错,可以在判断Endu是否重算前或后之时来进行。如果有新的ECC更错产生,则记录到Endu表中。
综上所述,通过上述开始程序、抹除/写入程序以及读取程序这3个计算Endu程序后,便可实现损坏率分层的管理机制。另外,在不同的应用中,各种数值可做调整。例如长期保存很少写入、少量读取的状况时,总计数值TotalCounter可每1000重设一次,相对倍数cw可设为10。另外,也可检查读写数据的频率来决定这些数值。
接着说明可以实施上述程序的硬件架构。图8绘示本实施例的硬件架构示意图。如图8所示,记录媒体(本实施例为闪存)100包括储存区域102、ECC单元106、空间管理器(space manager)114、微控制器112、接口110、缓冲器108和耐度表104。
储存区域102主要是物理储存区域。ECC单元106主要是对写入或读取的数据进行检错与更正的操作。空间管理器114主要是对储存区域进行寻址管理、分配与配置等等操作。微控制器112控制整个闪存100。通过接口110,闪存100可以主机(例如计算机等)116做沟通。数据的写入与读取先暂放缓冲器,再通过接口进行主机116与存储器100之间的沟通。耐度表104则是存放如上述图4的数据,其可位于储存区域102内部或外部。
微控制器112可以写入上述图5至图7的过程控制码,以对空间管理器114进行控制。藉此,得以建立如上述图4的耐度表。耐度表包括耐度区块、写入次数、ECC更正位数与耐度值彼此间的对应关系。藉此,微控制器112可以依据数据的重要性,将重要的数据储存到损坏程度较低的区块中。
另外,通过图5至图7的开始、写入与读取程序,可以依据不同的阶段对数据区块的损坏程度重新评估。之后,再依据重新计算出的损坏程度(即对应到Endu值),再将数据作适当的搬动。
综上所述,通过上述的方法与系统,数据可以持续依据储存区块的损坏程度,将重要与不重要的数据随时做适当的搬动。藉此,可以达到储存媒体的损坏程度的有效管理。
上述实施例是以非易失性的闪存作为说明例,但是其它的储存媒体也可以应用此管理方式。当然,不同的储存媒体有其独特的特性,在应用时只需要做相应的修正即可应用本发明的方法。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视所附的权利要求范围所界定者为准。
Claims (18)
1.一种储存媒体的损坏管理方法,包括:
对该储存媒体进行起始检查,并且对该储存媒体进行区域划分,其中该区域划分至少包括具有多个耐度区块的使用数据区域;
对该使用数据区域中的该些耐度区块分别附上一初始耐度值;
建立耐度表于该储存媒体中,以记录该些耐度区块与该些初始耐度值;
依据该耐度表,对该储存媒体进行抹除/写入程序,其中当该抹除/写入程序超过抹除/写入预定次数,对各该耐度区块重新计算耐度值并更新该耐度表;以及
对该储存媒体进行读取程序,其中当该读取程序超过读取预定次数,对各该耐度区块重新计算耐度值并更新该耐度表。
2.根据权利要求1所述的储存媒体的损坏管理方法,其中该抹除/写入程序还包括:
将抹除/写入总计数值加上相对倍数,并判断是否超过该抹除/写入预定次数;
当超过该抹除/写入预定次数,重新计算该耐度值,并依据计算的耐度值,搬动数据并结束该抹除/写入程序;以及
当未超过该抹除/写入预定次数,累加1于抹除/写入总计数值,并且结束该抹除/写入程序。
3.根据权利要求2所述的储存媒体的损坏管理方法,其中重新计算该耐度值还包括:
将该抹除/写入总计数值归零;
调整耐度值判断条件;
依据该耐度值判断条件,重新计算该耐度值;以及
依据计算的耐度值,搬动数据。
4.根据权利要求1所述的储存媒体的损坏管理方法,其中该读取还包括:
在每一读取程序,累加1于读取总计数值,并判断是否超过该读取预定次数;
当超过该读取预定次数,重新计算该耐度值,并依据计算的耐度值,搬动数据并结束该读取程序;以及
当未超过该读取预定次数,进行ECC检查与更正程序,并且结束该读取程序。
5.根据权利要求4所述的储存媒体的损坏管理方法,其中重新计算该耐度值还包括:
将该读取总计数值归零;
调整耐度值判断条件;
依据该耐度值判断条件,重新计算该耐度值;以及
依据计算的耐度值,搬动数据。
6.根据权利要求4所述的储存媒体的损坏管理方法,其中该ECC检查与更正程序还包括:
检查ECC更正次数是否增加;
当该ECC更正次数增加时,记录ECC更正位数于该耐度表中,并且结束该读取程序;以及
当该ECC更正次数未增加时,结束该读取程序。
7.根据权利要求1所述的储存媒体的损坏管理方法,其中各该耐度区块还包括多个数据区块,各该数据区块括一ECC数据单元。
8.根据权利要求1所述的储存媒体的损坏管理方法,其中该耐度表包括耐度区块、写入次数、ECC更正位数与耐度值。
9.根据权利要求1所述的储存媒体的损坏管理方法,其中该储存媒体为非易失性存储器。
10.根据权利要求1所述的储存媒体的损坏管理方法,其中该非易失性存储器为闪存。
11.一种储存媒体的损坏管理系统,包括:
储存区域,至少包括多个耐度区块;
空间管理器,与该储存区域耦接,对该储存区域进行管理;
ECC单元,与该储存区域与该空间管理器耦接,用以当对该储存区域进行抹除/写入或读取数据时,对该数据进行ECC检查与更正;
微控制器,耦接至该空间管理器,该微控制器执行如权利要求1至10任一项的储存媒体的损坏管理方法;以及
耐度表,用以记录各该耐度区块的耐度值。
12.根据权利要求11所述的储存媒体的损坏管理系统,其中各该些耐度区块包括多个数据区块,各该数据区块还包括多个ECC数据单元。
13.根据权利要求11所述的储存媒体的损坏管理系统,其中该耐度表建立在该储存区域内部或外部。
14.根据权利要求11所述的储存媒体的损坏管理系统,其中该耐度表包括耐度区块、写入次数、ECC更正位数与耐度值。
15.根据权利要求11所述的储存媒体的损坏管理系统,其中该储存媒体为非易失性存储器。
16.根据权利要求11所述的储存媒体的损坏管理系统,其中该非易失性存储器为闪存。
17.根据权利要求11所述的储存媒体的损坏管理系统,还包括接口,以沟通外部主机与该微控制器。
18.根据权利要求11所述的储存媒体的损坏管理系统,还包括缓冲器,耦接于该接口与该ECC单元之间。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW096128826A TWI372397B (en) | 2007-08-06 | 2007-08-06 | Method and system of defect management for storage medium |
US11/965,682 | 2007-12-27 | ||
US11/965,682 US8332696B2 (en) | 2007-08-06 | 2007-12-27 | Defect management method for storage medium and system thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101470641A true CN101470641A (zh) | 2009-07-01 |
CN101470641B CN101470641B (zh) | 2010-12-08 |
Family
ID=40347615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810184846XA Expired - Fee Related CN101470641B (zh) | 2007-08-06 | 2008-12-05 | 储存媒体的损坏管理方法及其系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8332696B2 (zh) |
CN (1) | CN101470641B (zh) |
TW (1) | TWI372397B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163165A (zh) * | 2011-05-26 | 2011-08-24 | 忆正储存技术(武汉)有限公司 | 一种闪存错误预估模块及其预估方法 |
CN102789403A (zh) * | 2012-07-11 | 2012-11-21 | 忆正科技(武汉)有限公司 | 一种闪存控制器及其控制方法 |
CN104781884A (zh) * | 2012-11-08 | 2015-07-15 | 桑迪士克科技股份有限公司 | 具有数据保留偏压的闪速存储器 |
CN105637591A (zh) * | 2013-11-22 | 2016-06-01 | 英特尔公司 | 用于nand闪速存储器的缺陷管理策略 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9218881B2 (en) | 2012-10-23 | 2015-12-22 | Sandisk Technologies Inc. | Flash memory blocks with extended data retention |
US9229640B2 (en) | 2013-11-15 | 2016-01-05 | Microsoft Technology Licensing, Llc | Inexpensive solid-state storage by throttling write speed in accordance with empirically derived write policy table |
US9690656B2 (en) * | 2015-02-27 | 2017-06-27 | Microsoft Technology Licensing, Llc | Data encoding on single-level and variable multi-level cell storage |
TWI591635B (zh) * | 2016-02-05 | 2017-07-11 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
TWI604455B (zh) * | 2016-05-13 | 2017-11-01 | Silicon Motion Inc | 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法 |
EP3367385B1 (en) * | 2017-02-28 | 2020-07-08 | ams AG | Memory arrangement and method for operating a memory arrangement |
CN107632778B (zh) * | 2017-08-07 | 2020-06-12 | 深圳芯邦科技股份有限公司 | 一种Nand Flash扫描检测方法和系统 |
US10387281B2 (en) | 2017-08-30 | 2019-08-20 | Micron Technology, Inc. | Flash memory block retirement policy |
US11494260B2 (en) * | 2017-12-18 | 2022-11-08 | Etron Technology, Inc. | Memory with an error correction function and related memory system |
US11984174B2 (en) * | 2021-03-02 | 2024-05-14 | Micron Technology, Inc. | Accelerating configuration updates for memory devices |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5222109A (en) * | 1990-12-28 | 1993-06-22 | Ibm Corporation | Endurance management for solid state files |
US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
EP0862762B1 (en) * | 1996-08-16 | 2002-10-09 | Tokyo Electron Device Limited | Semiconductor memory device having error detection and correction |
US7318117B2 (en) * | 2004-02-26 | 2008-01-08 | Super Talent Electronics, Inc. | Managing flash memory including recycling obsolete sectors |
US7299316B2 (en) * | 2004-02-26 | 2007-11-20 | Super Talent Electronics, Inc. | Memory flash card reader employing an indexing scheme |
US20050204187A1 (en) * | 2004-03-11 | 2005-09-15 | Lee Charles C. | System and method for managing blocks in flash memory |
US6662263B1 (en) * | 2000-03-03 | 2003-12-09 | Multi Level Memory Technology | Sectorless flash memory architecture |
EP1476873A4 (en) * | 2002-02-22 | 2006-07-05 | Lexar Media Inc | MEMORY HOLDER WITH INTEGRATED LAMP LAMP |
JP4073799B2 (ja) * | 2003-02-07 | 2008-04-09 | 株式会社ルネサステクノロジ | メモリシステム |
US7664987B2 (en) * | 2003-05-25 | 2010-02-16 | Sandisk Il Ltd. | Flash memory device with fast reading rate |
US7269708B2 (en) * | 2004-04-20 | 2007-09-11 | Rambus Inc. | Memory controller for non-homogenous memory system |
JP4215746B2 (ja) * | 2005-05-20 | 2009-01-28 | Necインフロンティア株式会社 | 情報処理装置および寿命監視方法 |
US7568075B2 (en) * | 2005-09-22 | 2009-07-28 | Hitachi, Ltd. | Apparatus, system and method for making endurance of storage media |
US7245556B1 (en) * | 2005-12-28 | 2007-07-17 | Sandisk Corporation | Methods for writing non-volatile memories for increased endurance |
JP4863749B2 (ja) * | 2006-03-29 | 2012-01-25 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム |
US7653778B2 (en) * | 2006-05-08 | 2010-01-26 | Siliconsystems, Inc. | Systems and methods for measuring the useful life of solid-state storage devices |
US7567461B2 (en) * | 2006-08-18 | 2009-07-28 | Micron Technology, Inc. | Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells |
JP4617405B2 (ja) * | 2008-02-05 | 2011-01-26 | 富士通株式会社 | 不良メモリを検出する電子機器、不良メモリ検出方法およびそのためのプログラム |
-
2007
- 2007-08-06 TW TW096128826A patent/TWI372397B/zh not_active IP Right Cessation
- 2007-12-27 US US11/965,682 patent/US8332696B2/en not_active Expired - Fee Related
-
2008
- 2008-12-05 CN CN200810184846XA patent/CN101470641B/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163165A (zh) * | 2011-05-26 | 2011-08-24 | 忆正储存技术(武汉)有限公司 | 一种闪存错误预估模块及其预估方法 |
CN102163165B (zh) * | 2011-05-26 | 2012-11-14 | 忆正存储技术(武汉)有限公司 | 一种闪存错误预估模块及其预估方法 |
CN102789403A (zh) * | 2012-07-11 | 2012-11-21 | 忆正科技(武汉)有限公司 | 一种闪存控制器及其控制方法 |
CN102789403B (zh) * | 2012-07-11 | 2015-08-12 | 忆正科技(武汉)有限公司 | 一种闪存控制器及其控制方法 |
CN104781884A (zh) * | 2012-11-08 | 2015-07-15 | 桑迪士克科技股份有限公司 | 具有数据保留偏压的闪速存储器 |
CN105637591A (zh) * | 2013-11-22 | 2016-06-01 | 英特尔公司 | 用于nand闪速存储器的缺陷管理策略 |
CN105637591B (zh) * | 2013-11-22 | 2019-06-14 | 英特尔公司 | 用于nand闪速存储器的缺陷管理策略 |
Also Published As
Publication number | Publication date |
---|---|
TW200907995A (en) | 2009-02-16 |
TWI372397B (en) | 2012-09-11 |
US20090044085A1 (en) | 2009-02-12 |
US8332696B2 (en) | 2012-12-11 |
CN101470641B (zh) | 2010-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101470641B (zh) | 储存媒体的损坏管理方法及其系统 | |
KR0128218B1 (ko) | 일괄 소거형 비휘발성 메모리 | |
US8065492B2 (en) | System and method for early detection of failure of a solid-state data storage system | |
US7133966B2 (en) | Disk array device having spare disk drive and data sparing method | |
TWI261168B (en) | Non-volatile memory system with erase counts stored in an erase count block | |
US6381176B1 (en) | Method of driving remapping in flash memory and flash memory architecture suitable therefor | |
KR101573370B1 (ko) | 비휘발성 매체에 데이터를 저장하기 위한 방법 및 시스템 | |
CN102667736B (zh) | 存储器管理装置及存储器管理方法 | |
US9575844B2 (en) | Mass storage device and method of operating the same to back up data stored in volatile memory | |
CN101236482B (zh) | 降级状态下处理数据的方法及独立冗余磁盘阵列系统 | |
US20100199020A1 (en) | Non-volatile memory subsystem and a memory controller therefor | |
US8296503B2 (en) | Data updating and recovering methods for a non-volatile memory array | |
KR20020009564A (ko) | 메모리 시스템 | |
CN106708424A (zh) | 对用户数据执行选择性底层暴露映射的设备和方法 | |
US8516213B2 (en) | Method and apparatus for EEPROM emulation for preventing data loss in the event of a flash block failure | |
JPH05282889A (ja) | 不揮発性半導体メモリ装置 | |
KR20030043691A (ko) | 플래시 디바이스에서 부분적으로 소거된 유닛을 검출하는방법 | |
US20070150645A1 (en) | Method, system and apparatus for power loss recovery to enable fast erase time | |
US8200892B2 (en) | Memory controller, memory system with memory controller, and method of controlling flash memory | |
CN101499025B (zh) | 可显示损坏率的记录媒体结构 | |
US20090164869A1 (en) | Memory architecture and configuration method thereof | |
KR101029704B1 (ko) | 플래시 메모리 관리 방법 | |
US20180052635A1 (en) | Electronic control apparatus and information storage method for the same | |
CN107193485A (zh) | 储存装置、其控制单元、及可用于储存装置的数据储存方法 | |
JPH04172662A (ja) | 記憶媒体欠陥管理方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101208 Termination date: 20141205 |
|
EXPY | Termination of patent right or utility model |