CN1645516A - 用于闪速存储器的数据恢复设备和方法 - Google Patents
用于闪速存储器的数据恢复设备和方法 Download PDFInfo
- Publication number
- CN1645516A CN1645516A CN200510002359.3A CN200510002359A CN1645516A CN 1645516 A CN1645516 A CN 1645516A CN 200510002359 A CN200510002359 A CN 200510002359A CN 1645516 A CN1645516 A CN 1645516A
- Authority
- CN
- China
- Prior art keywords
- data
- flash memory
- logical address
- index zone
- stored
- 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/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
-
- 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/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- 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/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
一种用于闪速存储器的数据恢复设备和方法,其能够恢复当在对存储在闪速存储器中的至少一个数据正在连续地执行数据操作时,提供给存储器的电源被切断时损坏或丢失的数据。该数据恢复设备在多个连续逻辑地址的每个上执行数据操作,并且如果在该逻辑地址上执行的数据操作成功时,在分别相应于该连续逻辑地址的多个连续索引区域的最后的索引区域中记录标记值。
Description
技术领域
本发明涉及一种用于闪速存储器的数据恢复设备和方法,更具体地讲,涉及一种用于闪速存储器的数据恢复设备和方法,其能够恢复当在对存储在闪速存储器中的至少一个数据正在连续地执行数据操作时,提供给该闪速存储器的电源被切断时损坏或丢失的数据。
背景技术
通常,家用器具、通信装置、和嵌入式系统,例如机顶盒,将非易失性存储器用作为用于存储并处理数据的存储装置。
在这种非易失性存储器中,闪速存储器是电可擦除且可重写的存储器。由于闪速存储器消耗比基于磁盘存储器的存储介质少的电量,和硬盘一样可访问,并且是小型的,所以其适用于便携式装置。
由于闪速存储器的硬件特性,所以记录在闪速存储器上的数据应该在数据被重写在闪速存储器上之前被擦除。
将数据记录在闪速存储器上的单位可与将数据从闪速存储器擦除的单位不同,这可引起闪速存储器的性能的恶化。
为了防止由于此原因闪速存储器的性能恶化,提出了逻辑地址和物理地址。
这里,逻辑地址是当使用程序对闪速存储器执行数据操作时由用户指定的虚拟地址。比较起来,物理地址是当对闪速存储器执行数据操作时参考的实际地址。
闪速存储器通常被分为或者小型块闪速存储器或者大型块闪速存储器。在小型块存储器中,逻辑操作单元等于物理操作单元,但是,在大型块闪速存储器中,逻辑操作单元小于物理操作单元。
图1A和图1B是分别示出小型块闪速存储器和大型块闪速存储器的示意图。
参照图1A,小型块闪速存储器的逻辑计算以扇区11为单位被执行,并且小型块闪速存储器的物理计算以与扇区11一样大的页12为单位被执行。
参照图1B,大型块闪速存储器的逻辑计算以扇区21为单位被执行,并且大型块闪速存储器的物理计算以包括至少一个扇区21的页22为单位被执行。
通常,基于闪速存储器的系统包括CPU和非易失性存储器,例如RAM。
这里,基于闪速存储器的系统可能由其特性导致意料之外地遭受频繁的电源中断。
因此,基于闪速存储器的系统需要恢复由于电源中断导致损坏或丢失的数据的功能。
具体地讲,当在数据正被写入基于闪速存储器的系统中的闪速存储器中时提供给基于闪速存储器的系统的电源被切断时,一些数据可被成功地写入闪速存储器中,但是其余的数据可能不会。
因此,已经提出了用于确定写入闪速存储器中的数据是否完成的多种方法。
参照图2,现在将对这些方法中其中标记被用于指示对闪速存储器执行的数据操作是否完成的方法进行更加充分地描述。
图2是用于闪速存储器的传统数据恢复方法的流程图。参照图2,在操作步骤S21中,在闪速存储器的预定逻辑地址执行数据操作。在操作步骤S22中,如果完成数据操作,那么指示在预定的逻辑地址执行的数据操作完成的标记被写入闪速存储器的预定区域中。
换句话说,如图3所示,如果闪速存储器是小型块闪速存储器,则其可包括在其中执行数据计算的数据区域31、和通过使用标记指示在数据区域31中执行的数据计算是否完成的索引区域32。
如同小型块闪速存储器,大型块闪速存储器也可具有数据区域和索引区域。
在这种情况下,如果数据区域31和索引区域32位于闪速存储器的相同块中,并且数据擦除操作在数据区域31和索引区域32所在的闪速存储器的块上被执行,那么数据区域31和索引区域32都被设置为值1。
另外,如果在数据区域31上执行数据操作,并且数据操作的执行完成,那么索引区域32从1转换为0以指示在数据区域31和索引区域32所在的闪速存储器的块上的数据操作的完成。
在操作步骤S23中,确定是否已经在闪速存储器的多个连续逻辑地址的每个上执行数据操作。在操作步骤S24中,如果存在还没有经过数据操作的逻辑地址,那么在预定逻辑地址之后的逻辑地址执行数据操作,随后该方法返回到操作步骤S22。
当对于闪速存储器的所有逻辑地址已经执行了数据操作时,闪速存储器可经受数据有效性检验,现在将参照图4对其进行更加充分地描述。
在操作步骤S41中,识别索引区域32的值。在操作步骤S42中,基于索引区域32的值来确定在相应的逻辑地址执行的数据操作是否有效。
例如,如果索引区域32的值为0,那么确定在相应逻辑地址执行的数据计算有效。如果索引区域32的值为1,那么确定在相应逻辑地址执行的数据计算无效。
然而,根据用于闪速存储器的传统数据恢复方法,每当在闪速存储器上执行数据操作时,指示数据操作是否成功的标记值应被记录在闪速存储器上的相应索引区域中。
例如,如果在六个数据区域中顺序地执行数据操作,那么标记值应被顺序地记录在与六个数据区域相应的索引区域中,这共计为十二个数据计算操作。
因此,传统的数据恢复方法可能不合需要地增加了数据计算的数量,从而降低了闪速存储器的性能。
发明内容
本发明的一方面提供一种用于闪速存储器的数据恢复设备和方法,其能够恢复当在闪速存储器上正在执行数据操作时,提供给该闪速存储器的电源被切断时损坏或丢失的数据,并且能够最小化数据恢复所需的数据计算的数量。
本发明的以上方面以及其他特性和优点在查看下面描述、附图以及所附权利要求时对本领域的技术人员将会变得清楚。
根据本发明的一方面,提供了一种用于包括数据区域和在其中记录指示存储在各个数据区域中的数据是否有效的值的索引区域的闪速存储器的数据恢复设备,其中,控制器在多个连续逻辑地址的每个中执行数据操作,并且如果在该逻辑地址上执行的数据操作成功,那么在分别相应于该多个逻辑地址的多个索引区域的最后的索引区域中记录标记值。
数据恢复设备可首先在闪速存储器的中间部分执行数据操作,随后在闪速存储器的其他部分执行数据操作,并且在与闪速存储器的中间部分相应的索引区域中记录标记值。
根据本发明的另一方面,提供了一种用于包括数据区域和在其中记录指示存储在各个数据区域中的数据是否有效的值的索引区域的闪速存储器的数据恢复设备,其中,控制器基于记录在与预定逻辑地址对应的索引区域中的标记值来确定分别通过数据操作存储在该预定逻辑地址之前的连续逻辑地址中的数据是否有效。
当首先在闪速存储器的中间部分执行数据操作随后在该闪速存储器的其他部分执行数据操作时,数据恢复设备可将标记值记录在分别相应于多个连续逻辑地址的第一和最后的逻辑地址的索引区域中。
另外,最好,基于数据是否存在于预定逻辑地址之后的逻辑地址中来确定存储在预定逻辑地址中的数据是否有效。
根据本发明的另一方面,提供了一种用于闪速存储器的数据恢复方法,该闪速存储器包括数据区域和其中记录表示存储在各个数据区域中的数据是否有效的值的索引区域,该数据恢复方法包括:在多个连续逻辑地址的每个中执行数据操作;和将标记值记录在分别相应于该连续逻辑地址的多个索引区域的最后的索引区域中。
在记录标记值的步骤中,如果数据操作首先在闪速存储器的中间部分执行,随后在闪速存储器的其他部分执行,那么最好将标记值记录在相应于闪速存储器的中间部分的索引区域中。
根据本发明的另一方面,提供了一种用于闪速存储器的数据恢复方法,该闪速存储器包括数据区域和其中记录表示存储在各个数据区域中的数据是否有效的值的索引区域,该数据恢复方法包括:识别记录在相应于预定逻辑地址的索引区域中的标记值;和基于该标记值来确定经过数据操作分别存储在该预定逻辑地址之前的多个连续逻辑地址中的数据是否有效。
在确定操作中,最好,基于记录在相应于在其中数据操作最近执行的逻辑地址的索引区域中的标记值来确定分别存储在多个连续逻辑地址中的数据是否有效。
另外,在确定操作中,如果数据操作首先在闪速存储器的中间部分执行随后在闪速存储器的其他部分执行,那么最好基于记录在相应于闪速存储器的中间部分的索引区域中的标记值来确定存储在闪速存储器中的数据是否有效。
最好,基于数据是否存在于预定逻辑地址之后的逻辑地址中来确定存储在该预定逻辑地址中的数据是否有效。
附图说明
通过下面结合附图对本发明的示例性实施例进行的详细描述,本发明的上述方面和其他方面将会变得更加清楚,其中:
图1A是示出一般的小型块闪速存储器的示图;
图1B是示出一般的大型块闪速存储器的示图;
图2是用于闪速存储器的传统数据恢复方法的流程图;
图3是示出一般的小型块闪速存储器的数据区域和索引区域的示图;
图4是确定在闪速存储器上执行的数据操作是否有效的传统方法的流程图;
图5是示出一般闪速存储器的结构的示图;
图6A是示出一般的小型块闪速存储器的数据区域和索引区域之间的关系的示图;
图6B是示出一般的大型块闪速存储器的数据区域和索引区域之间的关系的示图;
图7是根据本发明示例性实施例用于闪速存储器的数据恢复设备的方框图;
图8是根据本发明示例性实施例用于闪速存储器的数据恢复方法的流程图;
图9A是示出根据本发明示例性实施例用于在小型块闪速存储器的索引区域中记录标记值的方法的示图;
图9B是示出根据本发明示例性实施例用于在大型块闪速存储器的索引区域中记录标记值的方法的示图;
图10是示出在数据操作首先在闪速存储器的中间部分执行随后在闪速存储器的其他部分执行的情况下,根据本发明示例性实施例在闪速存储器的索引区域中记录标记值的方法的示图;
图11A和11B是示出根据本发明示例性实施例确定存储在小型块闪速存储器中的数据是否有效的方法的流程图;和
图12A和12B是示出根据本发明示例性实施例确定存储在大型块闪速存储器中的数据是否有效的方法的流程图。
具体实施方式
以下,参照以下附图和示例性实施例的详细描述,本发明的优点和特点以及实现其的方法可更容易理解。然而本发明可以多种不同方式来实施,并且不应被解释为受这里所述的实施例限制。相反地,提供这些实施例以便此公开将彻底且完全,并且将充分地对本领域的技术人员表达本发明的思想,并且本发明仅由所附权利要求限定。在整个说明书中相同标号表示相同的部件。
现在,将参照附图对本发明进行全面描述,其中示出了本发明的示例性
实施例。
闪速存储器可被总地分类为小型块闪速存储器和大型块闪速存储器。
在小型块闪速存储器的情况下,物理操作单元和逻辑操作单元相同,然而在大型块闪速存储器的情况下,物理操作单元大于逻辑操作单元。
这里,称作扇区的逻辑操作单元是使用用户程序在闪速存储器上执行的数据操作(例如,读/写操作)的单位。
通常称作页的物理操作单元是在其上执行数据操作的闪速存储器的实际操作单位。
逻辑和物理操作单位分别不受扇区和页的限制。换句话说,根据使用闪速存储器的系统的类型,除扇区和页以外的单位可被用作闪速存储器的逻辑和物理操作单位。
图5是示出闪速存储器的结构的示图。
参照图5,块114包括多个页113,并且页113的每一个包括数据区域112和索引区域111。
块114是在不管闪速存储器是小型块闪速存储器还是大型块闪速存储器的情况下被应用到该闪速存储器的数据擦除的单元。
闪速存储器上的物理操作以页113为单位被执行。然而,物理操作可在使用在不同系统中的闪速存储器的不同物理操作单位上执行。
参照图6A,如果闪速存储器是小型块闪速存储器,那么页113的每一个可包括逻辑地址121和相应于逻辑地址121的索引区域122。
参照图6B,如果闪速存储器是大型块闪速存储器,那么每一页可包括多个逻辑地址131a至131d和分别相应于逻辑地址131a至131d的多个索引区域132a至132d。
在闪速存储器的每一逻辑地址执行数据操作,并且在每一数据操作完成后,标记值被记录在相应的索引区域中。
因此,即使当提供给闪速存储器的电源在数据操作中间被切断时,仍然可确定存储在每一逻辑地址的数据是否有效。
由于每当执行数据操作时标记值都被记录在索引区域中,所以数据计算的总的数量增加,其可造成闪速存储器的性能的降低。
现在将参照图7进行更加充分地描述根据本发明示例性实施例的可使数据计算的总数量最小化并且可容易地确定存储在闪速存储器的每一逻辑地址的数据是否有效的用于闪速存储器的数据恢复设备。
如图7所示,根据本发明示例性实施例,用于闪速存储器的数据恢复设备包括:用户请求单元200、转换单元300、装置驱动器500、和控制单元400。详细地,用户请求单元200通过指定预定逻辑地址来发布在闪速存储器上执行数据操作的请求。转换单元300将逻辑地址转换为物理地址。装置驱动器500基于物理地址来控制闪速存储器的操作。控制单元400在闪速存储器上执行数据操作,并且在索引区域中记录标记值。
在这种情况下,控制单元400在闪速存储器上的预定数据区域中执行数据操作,随后将标记值记录在相应于预定数据区域的索引区域中。
这里,如果闪速存储器是具有与其物理操作单元相同的逻辑操作单元的小型块闪速存储器,那么控制单元400在多个连续逻辑地址的每个执行数据操作,随后将标记值记录在与控制单元400最近执行数据操作的连续逻辑地址之一相应的索引区域中。
另外,如果闪速存储器是具有与物理操作单元不同的逻辑操作单元的大型块闪速存储器,那么控制单元400可将预定标记值记录在与包括在在其上控制单元400最近执行数据操作的物理操作单元中的连续逻辑地址相应的所有的索引区域中。另外,像在小型块闪速存储器中一样,控制单元400可将预定标记值记录在与控制单元400最近执行数据操作的逻辑地址相应的仅一个索引区域中。
这里,以下面的方式来确定对于闪速存储器的每一逻辑地址的数据的有效性。即,如果值0被记录在索引区域中,那么确定存储在与该索引区域相应的逻辑地址的数据有效。如果值1被记录在索引区域中,那么确定存储在与该索引区域相应的逻辑地址中的数据无效。从而,如果值0被记录在与预定逻辑地址相应的索引区域(以下称为当前索引区域)中,或者值1被记录在当前索引区域中并且值0被记录在当前索引区域之后的任何索引区域中,那么可确定存储在预定逻辑地址的数据有效。
另外,如果值1被记录在当前索引区域中并且数据存在于当前索引区域所属于的页(以下称为当前页)之后的页中,那么可确定存储在预定逻辑地址的数据有效。
另一方面,如果值1被记录在当前索引区域中,没有数据存在于当前页之后的页中,并且值0未被记录在当前索引区域之后的任何索引区域中,那么可确定存储在当前逻辑地址的数据无效。
另外,数据操作可首先在闪速存储器的中间部分执行,随后在闪速存储器的开端或结尾部分执行。
在这种情况下,如果控制单元400仅将标记值记录在与控制单元400最近执行数据操作的预定逻辑地址相应的索引区域中,那么仅可确定分别存储在预定逻辑地址之前的连续逻辑地址的数据是否有效。
因此,控制单元400应将标记值记录在与控制单元400开始执行数据操作的逻辑地址相应的索引区域中,以及与控制单元400最近执行数据操作的逻辑地址相应的索引区域中,以便可确定分别存储在逻辑地址之间的数据的有效性。
现在,将对根据本发明示例性实施例的数据恢复设备的操作进行描述。
参照显示根据本发明示例性实施例的用于闪速存储器的数据恢复方法的图8,在操作步骤S100中,在闪速存储器的多个逻辑地址之一执行数据操作。
在操作步骤S200中,在闪速存储器上重复执行数据操作直到闪速存储器的所有的逻辑地址经受数据操作。
在操作步骤S500中,如果数据操作已经在闪速存储器的每个逻辑地址被执行,那么将标记值记录在与数据操作最近被执行的逻辑地址之一相应的索引区域中。
如图9A所示,假设闪速存储器是小型块闪速存储器,并且数据操作在逻辑地址0至5被顺序执行。然后,标记值被记录在与逻辑地址5(610)相应的索引区域620中。
根据示例性实施例,当在闪速存储器的预定逻辑地址上执行数据擦除操作时,与预定逻辑地址相应的索引区域被设置为初始值1。其后,如果数据擦除操作已经在预定逻辑地址之前的一组连续逻辑地址上被成功地执行,并且在预定逻辑地址上完成,那么相应于该预定逻辑地址的索引区域被从1转换为0。
因此,相应于逻辑地址5(610)的索引区域620被从1转换为0。
如图9B所示,假设闪速存储器是大型块闪速存储器,并且数据操作在逻辑地址0至9上被顺序执行,随后在逻辑地址30至42上被顺序执行。值0被记录在分别与逻辑地址9和42相应的索引区域630和640中,然而值1被记录在与逻辑地址1至8和30至41分别相应的索引区域中。另一方面,值0可被记录在分别与包括在逻辑地址9和42所属于的页中的所有逻辑地址相应的索引区域中。
同时,假设数据操作首先在闪速存储器的中间部分执行,随后在闪速存储器的其它部分执行。例如,在数据操作在逻辑地址10至22上被顺序执行随后在逻辑地址0至9上被顺序执行的情况下,如图10所示,标记值A被分别记录在与逻辑地址10和0相应的索引区域650和670中,并且标记值B被分别记录在与逻辑地址22和9相应的索引区域660和680中。
现在将更全面地对根据本发明示例性实施例的用于确定存储在闪速存储器中的数据是否有效的方法进行描述。
图11A和11B是示出根据本发明示例性实施例确定存储在小型块闪速存储器中的数据是否有效的方法的流程图。如图11A所示,在操作步骤S210中,识别索引区域(以下称为当前索引区域)的值。
在操作步骤S220中,确定当前索引区域的值是否与标记值相同。
即,假设数据操作已经在相应于当前索引区域的逻辑地址(以下称为当前逻辑地址)之前的一组连续逻辑地址上顺序执行并且当前索引区域的值从1转换为0,在操作步骤S220中确定当前索引区域的值是否为0。这里,如果当前索引区域的值为0,那么确定存储在当前逻辑地址的数据有效。
在操作步骤S230中,如果当前索引区域的值为1,那么确定数据是否存在于当前逻辑地址之后的逻辑地址中。
在操作步骤S240中,如果没有数据存在于当前逻辑地址之后的逻辑地址中,那么确定存储在当前逻辑地址中的数据无效。
在操作步骤S250中,如果当前索引区域的值为0,或如果当前索引区域的值为1并且数据存在于当前逻辑地址之后的逻辑地址中,那么确定存储在当前逻辑地址中的数据有效。
在替代的实施例中,如图11B所示,在操作步骤S310中,识别索引区域(以下称为当前索引区域)的值。
在操作步骤S320中,确定当前索引区域的值与标记值是否相同。
即,假设数据操作已经在相应于当前索引区域的逻辑地址之前的一组连续逻辑地址上顺序执行并且当前索引区域的值从1转换为0,确定当前索引区域的值是否为0。
在操作步骤S330中,如果当前索引区域的值为1,那么确定当前索引区域之后的多个索引区域中的任何一个是否具有值0。
其后,在操作步骤S340中,如果当前索引区域之后的索引区域中没有一个具有值0,那么确定存储在当前逻辑地址中的数据无效。
在操作步骤S350中,如果该索引区域的值为0,或者如果该索引区域的值为1并且当前索引区域之后的索引区域中的至少一个具有值0,那么确定存储在当前逻辑地址中的数据有效。
这种数据有效性确定方法能够以相似的方式被应用到大型块闪速存储器中。
首先,如图12A所示,在大型块闪速存储器的情况下,在操作步骤S410中,识别相应于预定逻辑地址(以下称为当前逻辑地址)的索引区域(以下称为当前索引区域)的值。
在操作步骤S420中,确定当前索引区域的值是否与标记值相同。
即,假设数据操作已经在当前逻辑地址以前的一组连续逻辑地址上顺序执行并且在当前逻辑地址上完成并且当前索引区域的值从1转换为值0。然后,在操作步骤S420中,确定当前索引区域的值是否为0。
这里,如果该索引区域的值为0,则存储在当前逻辑地址的数据被确定为有效。
在操作步骤S430中,如果当前索引区域的值为1,那么通过考虑大型块闪速存储器的逻辑和物理操作单元来确定当前索引区域之后的多个索引区域中的任何一个是否具有值0。
其后,在操作步骤S440中,如果没有当前逻辑地址之后的逻辑地址具有索引区域值0,那么确定存储在当前逻辑地址中的数据无效。
在操作步骤S450中,如果索引区域的值为0,或者如果索引区域的值为1并且当前索引区域之后的索引区域中的至少一个具有值0,那么确定存储在当前逻辑地址中的数据有效。
另一方面,参照图12B,在操作步骤S510中,识别索引区域(以下称为当前索引区域)的值。
在操作步骤S520中,确定当前索引区域的值与标记值是否相同。
即,假设数据操作已经在与当前索引区域相应的逻辑地址(以下称为当前逻辑地址)之前的一组连续逻辑地址中顺序执行并且在当前逻辑地址中完成,并且当前索引区域的值被从1转换为0。然后,在操作步骤S520中确定当前索引区域的值是否为0。如果当前索引区域的值为0,那么确定存储在当前逻辑地址中的数据有效。
在操作步骤S530中,如果当前索引区域的值为1,那么通过考虑大型块闪速存储器的物理和逻辑操作单元来确定数据是否存在于当前逻辑地址所属于的页(以下称为当前页)之后的页上。
在操作步骤S540中,如果没有数据存在于当前页之后的页上,那么确定包括在当前页之后的页中的多个逻辑地址中的任何一个是否具有标记值。
在操作步骤S550中,如果没有数据存在于当前页之后的页上并且确定包括在当前页之后的页中的逻辑地址没有一个具有标记值,那么确定存储在当前逻辑地址中的数据无效。
在操作步骤S560中,如果数据存在于当前页之后的页上,或者如果包括在当前页之后的页中的索引区域的至少一个具有标记值,那么确定存储在当前逻辑地址中的数据有效。
尽管已经参照示例性实施例和附图对用于闪速存储器的数据恢复设备和方法进行了描述,但应该理解上述的实施例仅为示例性目的并且不应被解释为对本发明的限制,并且落于权利要求范围内的所有修改和等同物被认为包括在其中。
如上所述,根据本发明用于闪速存储器的数据恢复设备和方法具有以下方面。
首先,可通过在每一逻辑地址执行数据操作随后仅在该数据操作被最近执行的逻辑地址之一中记录标记值来最小化确定分别存储在闪速存储器中的多个连续逻辑地址中的数据是否有效所需的数据计算的总的数量。
第二,可提高闪速存储器的性能。
Claims (16)
1、一种用于包括数据区域和在其中记录指示存储在各个数据区域中的数据是否有效的值的索引区域的闪速存储器的数据恢复设备,包括:
控制器,用于在多个逻辑地址的每个中执行数据操作,并且如果在该多个逻辑地址上执行的数据操作成功,那么在分别相应于该多个逻辑地址的多个索引区域的最后的索引区域中记录标记值。
2、如权利要求1所述的数据恢复设备,其中,数据操作首先在闪速存储器的中间部分执行,随后在闪速存储器的其他部分执行,并且在与闪速存储器的中间部分相应的索引区域之一中记录标记值。
3、如权利要求1所述的数据恢复设备,其中,上述的多个逻辑地址是连续逻辑地址。
4、一种用于包括数据区域和在其中记录指示存储在各个数据区域中的数据是否有效的值的索引区域的闪速存储器的数据恢复设备,包括:
控制器,用于基于记录在与预定逻辑地址相应的索引区域中的标记值来确定通过数据操作分别存储在该预定逻辑地址之前的多个逻辑地址中的数据是否有效。
5、如权利要求4所述的数据恢复设备,其中,当首先在闪速存储器的中间部分执行数据操作随后在闪速存储器的其他部分执行数据操作时,标记值被记录在分别相应于该多个逻辑地址的第一和最后的逻辑地址的索引区域中,并且基于其中存储标记值的索引区域来确定分别存储在第一和最后的逻辑地址之间的多个逻辑地址中的至少一个中的数据是否有效。
6、如权利要求5所述的数据恢复设备,其中,基于数据是否存在于预定逻辑地址之后的逻辑地址中来确定存储在预定逻辑地址中的数据是否有效。
7、如权利要求4所述的数据恢复设备,其中,上述的多个逻辑地址是多个连续逻辑地址。
8、一种用于闪速存储器的数据恢复方法,该闪速存储器包括数据区域和其中记录表示存储在各个数据区域中的数据是否有效的值的索引区域,该数据恢复方法包括:
在多个逻辑地址的每个中执行数据操作;和
将标记值记录在分别相应于该多个逻辑地址的多个索引区域的最后的索引区域中。
9、如权利要求8所述的数据恢复方法,其中,在记录标记值的步骤中,如果数据操作首先在闪速存储器的中间部分执行,随后在闪速存储器的其他部分执行,那么将标记值记录在相应于闪速存储器的中间部分的索引区域中。
10、如权利要求8所述的数据恢复方法,其中,上述的多个逻辑地址是多个连续逻辑地址。
11、一种用于闪速存储器的数据恢复方法,该闪速存储器包括数据区域和其中记录表示存储在各个数据区域中的数据是否有效的值的索引区域,该数据恢复方法包括:
识别记录在相应于预定逻辑地址的索引区域中的标记值;和
基于该标记值来确定经过数据操作分别存储在预定逻辑地址之前的多个逻辑地址中的数据是否有效。
12、如权利要求11所述的数据恢复方法,其中,在确定的操作步骤中,基于记录在相应于在其中数据操作在最近执行的多个逻辑地址之一的索引区域中的标记值来确定分别存储在该多个逻辑地址中的数据是否有效。
13、如权利要求12所述的数据恢复方法,其中,在确定的操作步骤中,如果数据操作首先闪速存储器的中间部分执行随后在闪速存储器的其他部分执行,那么基于记录在相应于闪速存储器的中间部分的索引区域中的标记值来确定存储在闪速存储器中的数据是否有效。
14、如权利要求12所述的数据恢复方法,其中,基于数据是否存在于预定逻辑地址之后的逻辑地址中来确定存储在该预定逻辑地址中的数据是否有效。
15、如权利要求13所述的数据恢复方法,其中,基于数据是否存在于预定逻辑地址之后的逻辑地址中来确定存储在该预定逻辑地址中的数据是否有效。
16、如权利要求12所述的数据恢复方法,其中,上述的多个逻辑地址是多个连续逻辑地址。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040003980A KR100704618B1 (ko) | 2004-01-19 | 2004-01-19 | 플래시 메모리의 데이터 복구 장치 및 방법 |
KR3980/04 | 2004-01-19 | ||
KR3980/2004 | 2004-01-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1645516A true CN1645516A (zh) | 2005-07-27 |
CN1645516B CN1645516B (zh) | 2012-12-26 |
Family
ID=34651512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510002359.3A Active CN1645516B (zh) | 2004-01-19 | 2005-01-19 | 用于闪速存储器的数据恢复设备和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7421624B2 (zh) |
EP (1) | EP1560224A3 (zh) |
JP (1) | JP4227106B2 (zh) |
KR (1) | KR100704618B1 (zh) |
CN (1) | CN1645516B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1936853B (zh) * | 2005-09-22 | 2010-05-05 | 康佳集团股份有限公司 | 嵌入式设备的数据掉电保护和修复方法 |
CN1937077B (zh) * | 2005-09-22 | 2011-03-23 | 康佳集团股份有限公司 | 闪存介质中的数据多状态管理方法 |
CN101763490B (zh) * | 2009-12-18 | 2012-11-21 | 东信和平科技股份有限公司 | 闪存智能卡的数据移动方法 |
CN101727401B (zh) * | 2008-10-15 | 2013-02-27 | 慧国(上海)软件科技有限公司 | 连接表的回复方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100704618B1 (ko) * | 2004-01-19 | 2007-04-10 | 삼성전자주식회사 | 플래시 메모리의 데이터 복구 장치 및 방법 |
DE102006009214B4 (de) * | 2006-02-28 | 2008-05-08 | Infineon Technologies Ag | Verfahren und Vorrichtung zum Schreiben in eine Zielspeicherseite eines Speichers |
KR100843543B1 (ko) | 2006-10-25 | 2008-07-04 | 삼성전자주식회사 | 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법 |
US8316173B2 (en) * | 2009-04-08 | 2012-11-20 | International Business Machines Corporation | System, method, and computer program product for analyzing monitor data information from a plurality of memory devices having finite endurance and/or retention |
US9268646B1 (en) | 2010-12-21 | 2016-02-23 | Western Digital Technologies, Inc. | System and method for optimized management of operation data in a solid-state memory |
US9361044B2 (en) | 2011-03-28 | 2016-06-07 | Western Digital Technologies, Inc. | Power-safe data management system |
KR101993704B1 (ko) | 2012-08-24 | 2019-06-27 | 삼성전자주식회사 | 플래시 메모리를 기반으로 하는 저장 장치 및 플래시 메모리를 제어하는 메모리 컨트롤러의 쓰기 메모리 블록 할당 방법 |
KR20170026831A (ko) | 2015-08-28 | 2017-03-09 | 에스케이하이닉스 주식회사 | 불휘발성 메모리 장치, 그것을 포함하는 데이터 저장 장치 그리고 데이터 저장 장치의 동작 방법. |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6170066B1 (en) * | 1995-09-29 | 2001-01-02 | Intel Corporation | Power-off recovery management for sector based flash media managers |
US5875477A (en) * | 1995-12-22 | 1999-02-23 | Intel Corporation | Method and apparatus for error management in a solid state disk drive using primary and secondary logical sector numbers |
KR100206186B1 (ko) * | 1996-10-09 | 1999-07-01 | 윤종용 | 재기록 가능한 불휘발성 메모리의 기록정보 복구장치 및 방법 |
JP3849241B2 (ja) | 1997-08-11 | 2006-11-22 | ソニー株式会社 | 記憶装置 |
JPH11282765A (ja) | 1998-03-27 | 1999-10-15 | Hitachi Ltd | フラッシュメモリを使用した外部記憶装置 |
US6098190A (en) * | 1998-08-04 | 2000-08-01 | Hewlett-Packard Co. | Method and apparatus for use of a host address to validate accessed data |
JP2990181B1 (ja) * | 1998-09-28 | 1999-12-13 | 日本電気アイシーマイコンシステム株式会社 | フラッシュメモリ、フラッシュメモリを備えたマイクロコンピュータおよびフラッシュメモリへのプログラム格納方法 |
DE19911794B4 (de) | 1999-03-17 | 2005-10-06 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Absicherung bei Veränderung des Speicherinhalts von Steuergeräten |
US6427186B1 (en) * | 1999-03-30 | 2002-07-30 | Frank (Fong-Long) Lin | Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers |
JP3797649B2 (ja) * | 1999-05-31 | 2006-07-19 | シャープ株式会社 | 不揮発性半導体記憶装置 |
JP3692313B2 (ja) * | 2001-06-28 | 2005-09-07 | 松下電器産業株式会社 | 不揮発性メモリの制御方法 |
KR100449708B1 (ko) | 2001-11-16 | 2004-09-22 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
US6977847B2 (en) | 2001-11-23 | 2005-12-20 | M-Systems Flash Disk Pioneers Ltd. | Detecting partially erased units in flash devices |
US20030126374A1 (en) * | 2001-12-28 | 2003-07-03 | Bull David Michael | Validity status information storage within a data processing system |
KR100464953B1 (ko) * | 2002-04-02 | 2005-01-06 | 매그나칩 반도체 유한회사 | 의사 랜덤 오류 데이터 복구용 읽기 전용 메모리 장치 및데이터 복구 방법 |
JP3997404B2 (ja) * | 2002-07-12 | 2007-10-24 | Necエレクトロニクス株式会社 | キャッシュメモリ及びその制御方法 |
KR100654344B1 (ko) * | 2003-07-24 | 2006-12-05 | 주식회사 레인콤 | 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법 |
KR100704618B1 (ko) * | 2004-01-19 | 2007-04-10 | 삼성전자주식회사 | 플래시 메모리의 데이터 복구 장치 및 방법 |
KR100631765B1 (ko) * | 2004-10-18 | 2006-10-09 | 삼성전자주식회사 | 플래시 메모리의 데이터 처리 장치 및 방법 |
-
2004
- 2004-01-19 KR KR1020040003980A patent/KR100704618B1/ko active IP Right Grant
-
2005
- 2005-01-06 JP JP2005001944A patent/JP4227106B2/ja active Active
- 2005-01-17 EP EP05250203A patent/EP1560224A3/en not_active Withdrawn
- 2005-01-19 US US11/037,047 patent/US7421624B2/en active Active
- 2005-01-19 CN CN200510002359.3A patent/CN1645516B/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1936853B (zh) * | 2005-09-22 | 2010-05-05 | 康佳集团股份有限公司 | 嵌入式设备的数据掉电保护和修复方法 |
CN1937077B (zh) * | 2005-09-22 | 2011-03-23 | 康佳集团股份有限公司 | 闪存介质中的数据多状态管理方法 |
CN101727401B (zh) * | 2008-10-15 | 2013-02-27 | 慧国(上海)软件科技有限公司 | 连接表的回复方法 |
CN101763490B (zh) * | 2009-12-18 | 2012-11-21 | 东信和平科技股份有限公司 | 闪存智能卡的数据移动方法 |
Also Published As
Publication number | Publication date |
---|---|
US20050157561A1 (en) | 2005-07-21 |
US7421624B2 (en) | 2008-09-02 |
JP4227106B2 (ja) | 2009-02-18 |
EP1560224A2 (en) | 2005-08-03 |
JP2005209188A (ja) | 2005-08-04 |
KR100704618B1 (ko) | 2007-04-10 |
KR20050076156A (ko) | 2005-07-26 |
EP1560224A3 (en) | 2009-07-29 |
CN1645516B (zh) | 2012-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1645516A (zh) | 用于闪速存储器的数据恢复设备和方法 | |
CN1295622C (zh) | 地址映射方法和映射信息管理方法及其闪速存储器 | |
CN1648876A (zh) | 闪速存储器的数据管理设备和方法 | |
CN1129848C (zh) | 对非易失性存储器中的文件进行连续重写的方法 | |
CN1637724A (zh) | 用于闪速存储器的数据管理装置和方法 | |
CN1991791A (zh) | 使用非易失性存储器作为高速缓存的存储设备及运行方法 | |
CN1245689C (zh) | 以非破坏性方式升级驱动器固件的方法和系统 | |
CN1149487C (zh) | 一并擦除型非易失性存储器和快速存储器的控制方法 | |
CN1538456A (zh) | 闪存存取装置及方法 | |
CN101075211A (zh) | 基于sector访问的flash存储器的存储管理 | |
CN1701307A (zh) | 管理擦除计数区块的方法和设备 | |
CN1701308A (zh) | 维护非易失性存储系统中的擦除计数 | |
CN1728114A (zh) | 使用页信息的页替换方法 | |
CN1763729A (zh) | 用于闪速存储器的数据处理设备和方法 | |
CN1720590A (zh) | 非易失性存储系统中的自动磨损平衡 | |
CN1701389A (zh) | 维持非易失性存储系统中的平均擦除计数 | |
CN1701513A (zh) | 数据存储系统内的符号频率校平 | |
CN101061466A (zh) | 用于处理闪速存储器的数据的装置和方法 | |
CN1311366C (zh) | 快闪存储器的平行双轨使用方法 | |
CN1851635A (zh) | 对廉价磁盘冗余阵列进行读写操作的方法和系统 | |
CN1848069A (zh) | 数据存储设备、重构控制设备、重构控制方法及存储介质 | |
CN1658317A (zh) | 记录和/或再现方法、设备和计算机可读记录介质 | |
CN1811725A (zh) | 一种快速存储装置及快速更新数据的方法 | |
CN1362708A (zh) | 一种闪存芯片的读写方法 | |
CN1717661A (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 |