CN1698035A - 数据存储装置、更新数据存储装置中的管理信息的方法和计算机程序 - Google Patents
数据存储装置、更新数据存储装置中的管理信息的方法和计算机程序 Download PDFInfo
- Publication number
- CN1698035A CN1698035A CNA2004800002463A CN200480000246A CN1698035A CN 1698035 A CN1698035 A CN 1698035A CN A2004800002463 A CNA2004800002463 A CN A2004800002463A CN 200480000246 A CN200480000246 A CN 200480000246A CN 1698035 A CN1698035 A CN 1698035A
- Authority
- CN
- China
- Prior art keywords
- data
- piece
- page
- information
- management information
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
提供了一种数据存储装置和对伴随着管理信息的更新的写入错误高度耐错的管理信息更新方法。将诸如FAT的文件管理信息存储在存储器的管理信息区内,其中所述文件管理信息是快闪存储器地址管理信息。将由两个块组成的块组设置为FAT组成数据的存储块。通过交替应用组成块组的两个块的页来写入更新后的FAT信息。将更新之前最近的FAT信息保持在组成块组的一个块中,而将更新后的信息写入另一个块。因此,即使在更新管理信息时发生写入错误,也可以使用更新之前最近的FAT信息来用于处理。
Description
技术领域
本发明涉及一种数据存储装置、一种更新数据存储装置中的管理信息的方法和一种计算机程序。更特别地,本发明涉及一种用于将诸如逻辑-物理地址转换表和/或文件管理信息(例如,FAT(文件分配表))的管理信息写入快闪存储器的方法和装置。具体地说,本发明涉及一种数据存储装置、一种更新数据存储装置中的管理信息的方法和一种计算机程序,其能够以高度可靠的方式处理管理信息,使得在错误发生时不容易丢失信息。
背景技术
快闪存储器被广泛地用作诸如PC(个人计算机)、数据记录器/播放器、PDA和摄像机等的各种类型的电子装置中的数据存储装置。快闪存储器易于写入和删除数据,并具有小尺寸、低重量、高速度和低功率损耗的优点。因为上述优点,快闪存储器被广泛地用作存储介质,用于存储例如图像数据、音频数据、文本文件和/或程序。
具体地说,使用能够可拆卸地连接到电子装置上的快闪存储器的存储卡被非常广泛地使用。例如,使用这种存储卡,使得在将摄像机拍摄的图像数据存储到存储卡之后,将存储卡插入PC并在PC上重放该视频数据,或者使得在通过因特网或从诸如CD、DVD或MD的存储介质将音乐数据下载到插在PC中的存储卡之后,将存储卡插入便携播放器并重放所下载的音乐数据。
如图1所示,在快闪存储器中定义了块110和页120,其中以块为单元进行数据的删除,而以页为单元进行数据的读取/写入。快闪存储器包括多个块,并且每个块包括多个页。例如,每页包括512字节的数据存储区121和写入奇偶校验数据等的16字节的扩展区122。数据存储区和扩展区的数据大小根据快闪存储器而任意设置。例如,将数据存储区121的数据大小设置为2048字节,而将扩展区122的数据大小设置为64字节。
快闪存储器中数据的写入、读取或删除在由地址指定的快闪存储器中的特定数据区进行。为了指定快闪存储器中的地址,有必要将从使用快闪存储器的电子装置接收的寻址信息所表示的逻辑地址转换为表示快闪存储器中的物理位置的物理地址。
在快闪存储器中,逻辑-物理地址转换表存储于在快闪存储器的特定块中分配的管理信息区内,其中,在该逻辑-物理地址转换表中描述将逻辑地址转换为物理地址所必需的信息。
例如,可以在专利文档1(日本未经实审的专利申请公开第2000-47932号)中可以找到将逻辑-物理转换表应用到快闪存储器上的具体示例。
在快闪存储器中,例如,当由电子装置(例如PC)读取存储在某一页中的数据并更新数据时,将更新后的数据写入到与所读取的数据所处的页不同的位置。这是因为对于相同的存储器元件,快闪存储器在写入或删除数据的次数方面具有上限,因而,希望使用不同的存储器元件而不是使用唯一特定的存储器元件,从而增加快闪存储器的总寿命。
通过基于逻辑-物理地址转换表来进行地址转换,即使在更新数据时改变了物理存储位置,以相同的值保存逻辑地址也变得有可能。这允许电子装置在读取/写入更新后的数据时使用与更新该数据之前指派给该数据的逻辑地址相同的逻辑地址。
本领域公知的是在PC或类似装置中使用FAT(文件分配表)作为文件管理系统。FAT被广泛地用作管理信息来表示诸如硬盘或软盘的各种类型的存储装置中的文件存储位置。在FAT中,当数据以簇为单位存储时,以表的形式来描述存储了数据文件的一组簇的从一个簇到另一个的链接。即,在FAT中描述表示簇-簇链接的信息。在快闪存储器中,FAT也用作文件管理信息。
在快闪存储器中,每个块对应于FAT中定义的一个簇,作为数据存储区的单元。即,当把单个数据文件存储在快闪存储器的多个块(与簇对应)中时,在FAT中描述表示那些块的块-块链接的信息。
逻辑-物理地址转换表和FAT存储在快闪存储器的特定块中。当诸如PC或类似电子装置的主机装置使用快闪存储器时,主机装置将逻辑-物理地址转换表和FAT读取到布置在该主机装置内的RAM(随机存取存储器)中。当更新存储在快闪存储器中的诸如音乐数据或图像数据的数据时,在主机装置的CPU的控制下,存储在该主机装置的RAM中的逻辑-物理地址转换表和FAT也被更新。更新后的管理信息被重新写入快闪存储器的管理信息区。
在其上安装了使用快闪存储器的存储卡的主机装置(例如PC)中,将数据写入存储卡或者从存储卡读取数据的过程进行如下。响应于来自应用程序的请求,从FAT检测文件存储位置。即,从表示对应于FAT中描述的簇-簇链接的块-块链接的信息,获得存储了文件的块的逻辑地址。此外,根据逻辑-物理地址转换表进行逻辑-物理地址转换,并进行对通过逻辑-物理地址转换而确定的物理地址的访问。
在快闪存储器中,如上所述,根据FAT和逻辑-物理地址转换表来进行数据的写入、读取和删除。包括FAT和逻辑-物理地址转换表的管理信息被存储在快闪存储器的块中。
如上所述,当更新存储在快闪存储器中的数据时,有必要也更新管理信息。参考图2中示出的流程图,下面描述更新存储在快闪存储器中的管理信息的过程。在这里,我们假设管理信息存储在快闪存储器的特定块中。
首先,在步骤S21中,充当数据写入/读取/删除部件的CPU检查快闪存储器中的特定块,以确定该块是否包括可用的页。如果在块中检测到可用的页,则该过程前进到步骤S22,否则该过程跳到步骤S23。
在步骤S22中,CPU在与存储了将被更新的当前管理信息的块相同的块中分配可用的页,以用作在其中写入更新后的管理信息的页。
另一方面,在所述过程因为存储管理信息的页是块的最后一页而跳到步骤S23的情况中,CPU分配快闪存储器中可用的块,并进一步分配那个块的第一页作为用来写入更新后的管理信息的新页。
在步骤S24或S25中,CPU将更新后的管理信息写入步骤22或步骤23中分配的新页。在步骤S26中,在步骤25中的写入更新后的管理信息完成之后,删除存储旧的管理信息的全部块,从而使那些块可用。这样,完成了更新过程。
在上面参考图2中示出的流程图而描述的过程中,参考图3,如下所述更新存储在快闪存储器的块中的管理信息。
在这里,我们假设将管理信息写入到块151和152。从块151的页码0开始直到达到页码n来进行块151中的管理信息的写入。随后,在块152中,从块号码0开始进一步写入管理信息的剩余部分。如上所述,从一个块到另一个来更新管理信息。
在上述过程中,如果存储在快闪存储器中的管理信息更新失败,或者如果在更新过程中出现错误而未成功写入新的管理信息,则CPU将当前的管理信息当作最新的管理信息。
在快闪存储器中,如果在将数据写入页的过程中出现错误,则错误可能影响到该页所属的块中的全部数据。这被称为多米诺(domino)错误。
在多米诺错误中,如图4所示,如果在块的页中的某个位发生错误,则错误也发生在那个块的全部页的相同的位,从而损坏块中的全部数据。
在更新存储在快闪存储器中的管理信息的过程中,如上面参考图2中示出的流程图所描述的,将新的管理信息写入紧跟在写有当前管理信息的块的页之后的可用页。因此,如果在更新过程中发生错误,则此错误导致与包括发生最初错误的页的块相同的块中存储的全部管理信息中的错误。因此,必须保持以用作将在更新失败时使用的管理信息的当前管理信息也具有错误,并且该管理信息丢失。这样,不但继续更新过程而且读取数据都变得不可能。
在传统的快闪存储器中,仅一位存储在每个存储器单元中。如果在每个存储器中存储多位(例如2位或4位),则可以增大快闪存储器的总存储容量,并减小成本。然而,在此情况中,多米诺错误将影响更大数目的位,并且,将不能简单地通过施加纠错码来处理错误。
发明内容
考虑到传统技术的上述问题,本发明的目的是提供一种数据存储装置、一种更新数据存储装置中的管理信息的方法和一种计算机程序,其能够在更新管理信息过程中发生写入错误时保护管理信息免遭损坏。
本发明的另一目的是提供一种数据存储装置,一种更新数据存储装置中的管理信息的方法和一种计算机程序,其特征在于通过交替使用多个块来进行诸如FAT的文件管理信息的更新后的数据的写入。
在一方面,本发明提供一种数据存储装置,包括数据存储单元以及用于控制将数据输入到数据存储单元和从数据存储单元输出数据的控制单元,其中:
数据存储单元被划分为各个块,每个块包括多个页,每页具有预定的存储容量,并且,数据存储单元包括用于存储用户数据的数据区和用于存储管理信息的管理信息区,其中所述管理信息包括用来访问数据区的地址信息;
在管理信息区中,存储包括地址链接信息的文件管理信息,其中所述地址链接信息与数据区内存储的数据文件相关;并且
控制单元执行写入更新后的文件管理信息的过程,使得
将先前的文件管理信息保持在形成块对的两个不同的块的一个中的页内,而将更新后的文件管理信息写入到所述块对的两个块的另一个中的页内。
在根据本发明的这一数据存储装置的模式中,文件管理信息是FAT(文件分配表),并且,在写入更新后的文件管理信息的过程中,控制单元通过交替使用所述块对的两个块的一个中的页和该块对的两个块的另一个中的页来写入更新后的FAT信息。
在根据本发明的这一数据存储装置的模式中,将块对的两个物理地址设置为对应于指派给文件管理信息的一个逻辑地址的地址信息,控制单元获得对应于表示将被更新的文件管理信息的逻辑地址的两个物理地址的地址信息,并且,控制单元将由两个分别的物理地址表示的两个块识别为用来写入更新后的文件管理信息的块对。
在根据本发明的这一数据存储装置的模式中,控制单元执行这样的过程:每次将用户数据的单元写入被指派为用于存储用户数据的存储区的数据区,就写入更新后的文件管理信息。
在根据本发明的这一数据存储装置的模式中,在数据存储单元的管理信息区内,还存储逻辑-物理地址转换表,其表示指派给存储在数据区内的数据的逻辑地址与表示数据区内存储该数据所在的物理位置的物理地址之间的对应关系。
在根据本发明的这一数据存储装置的模式中,控制单元还执行写入更新后的逻辑-物理地址转换表的信息的过程,使得将先前的逻辑-物理地址转换表的信息保持在形成块对的两个不同块的一个中的页内,而将更新后的逻辑-物理地址转换表的信息写入所述块对的两个块的另一个中的页内。
在根据本发明的这一数据存储装置的模式中,数据存储装置适合于能够可拆卸地与信息处理设备相连接,并且数据存储装置还包括用于将数据输入到信息处理设备以及从信息处理设备输出数据的接口部件,并且,当控制单元通过接口部件从信息处理设备接收到逻辑地址时,控制单元获得对应于所接收的逻辑地址的两个物理地址,并将由这两个分别的物理地址表示的两个块识别为用来写入更新后的文件管理信息的块对。
在根据本发明的这一数据存储装置的模式中,控制单元执行以页为单位更新文件管理信息的过程,以及通过交替使用形成块对的两个块的一个中的页和形成该块对的两个块的另一个中的页来写入更新后的管理信息的过程,其中,在写入更新后的管理信息的过程中,如果所述块对的块不具有可用的页,则控制单元删除存储在除了储存先前的文件管理信息的块之外的块中的数据,并将更新后的管理信息写入被删除的块的第一页。
根据第二方面,本发明提供一种更新数据存储装置中的管理信息的方法,其中所述数据存储装置包括数据存储单元以及用于控制将数据输入到数据存储单元和从数据存储单元输出数据的控制单元,该方法包括以下步骤:
输入对应于将被更新的管理信息的逻辑地址;
通过获得对应于该逻辑地址的两个物理地址的地址信息来识别块对,并将由这两个物理地址分别表示的两个块识别为用来写入更新后的文件管理信息的块对;以及
写入更新后的管理信息,使得将先前的文件管理信息保持在所述块对的两个块的一个中的页内,而将更新后的文件管理信息写入该块对的两个块的另一个中的页内。
在根据本发明的更新数据存储装置中的管理信息的方法的模式中,文件管理信息是FAT(文件分配表),在写入更新后的管理信息的过程中,通过交替使用块对的两个块的一个的页和该块对的另一块的页来写入更新后的FAT信息。
在根据本发明的更新数据存储装置中的管理信息的方法的模式中,每次将用户数据的单元写入被指派为用于存储用户数据的区域的数据区内,就执行写入更新后的文件管理信息的步骤。
在根据本发明的更新数据存储装置中的管理信息的方法的模式中,该方法还包括以下步骤:通过获得对应于在逻辑地址输入步骤中输入的逻辑地址的两个物理地址的地址信息来识别块对,并将由这两个物理地址分别表示的两个块识别为用来写入更新后的逻辑-物理地址转换表的信息的块对;以及,写入更新后的管理信息,使得将先前的逻辑-物理地址转换表的信息保持在块对的两个块的一个中的页内,而将更新后的逻辑-物理地址转换表的信息写入该块对的两个块的另一个中的页内。
在根据本发明的更新数据存储装置中的管理信息的方法的模式中,写入更新后的管理信息的步骤包括以下步骤:以页为单位更新文件管理信息,并通过交替使用形成块对的两个块的一个中的页和形成该块对的两个块的另一个中的页来写入更新后的管理信息,其中在写入更新后的管理信息的步骤中,如果块对的块不具有可用的页,则删除存储在除了储存先前的文件管理信息的块之外的块中的数据,并将更新后的管理信息写入被删除的块的第一页。
在第三方面,本发明提供一种用于执行更新数据存储装置中的管理信息的过程的计算机程序,其中所述数据存储装置包括数据存储单元以及用于控制将数据输入到数据存储单元和从数据存储单元输出数据的控制单元,该过程包括以下步骤:
输入对应于将被更新的管理信息的逻辑地址;
通过获得对应于该逻辑地址的两个物理地址的地址信息来识别块对,并将由这两个分别的物理地址表示的两个块识别为用来写入更新后的文件管理信息的块对;以及
写入更新后的管理信息,使得将先前的文件管理信息保持在块对的两个块的一个中的页内,而将更新后的文件管理信息写入该块对的两个块的另一个中的页内。
在本发明中,如上所述,将诸如充当快闪存储器中的地址管理信息的FAT的文件管理信息存储在该存储器的管理信息区,指派一对块作为用来存储FAT的数据的块,并通过交替使用该块对的两个块来进行更新后的FAT信息的写入,使得将先前的FAT信息保持在该块对的两个块的一个中,而将更新后的FAT写入该块对的另一块中,由此,即使当在写入更新后的管理信息的过程中间发生错误时,也可以保存先前的FAT信息而不丢失,因而使用先前的FAT信息的处理是可能的。例如,使用先前的FAT信息的数据存取是可能的。此外,使用先前的FAT信息来重新更新FAT信息也是可能的。
在本发明中,两个不同的物理地址与对应于FAT的一个逻辑地址相关,基于给定的逻辑地址,立即确定用来写入更新后的数据的两个块,并且,用来写入更新后的数据的块和页取决于存储先前数据的块和页。这样,有可能迅速确定用来写入更新后的管理信息的块和页。
此外,在根据本发明的更新诸如FAT的文件管理信息的过程中,与传统的重新写入数据的过程不同,没有必要获得已被删除的块并将页数据从存储先前数据的块复制到该已被删除的块,因而有可能减少进行管理信息更新过程所需的时间。因为在非常短的时间内进行包括FAT和逻辑-物理地址转换表的管理信息的更新,所以即使用户在更新用户数据之后立即从主机装置上卸下存储卡,也没有多少可能性由于未完成更新管理信息而发生错误。
可以将根据本发明的计算机程序提供给通用计算机系统,该计算机系统能够通过诸如CD、FD或MO的、以计算机可读的方式存储了该程序的存储介质、或者通过诸如网络的通信介质来执行各种计算机程序代码。通过如上所述、以计算机可读的形式提供所述程序,根据该程序来在计算机系统上执行这些过程变得有可能。
附图说明
参考附图,从对优选实施例的下列描述,本发明的其它目的、特征和优点将变得显而易见。
图1是依据块和页示出了快闪存储器的结构的图。
图2是示出了将数据写入快闪存储器的过程的流程图。
图3是示出了快闪存储器的结构的图。
图4是示出了快闪存储器中错误出现的方式的流程图。
图5是示出了根据本发明的存储卡的结构的方框图。
图6是示出了根据本发明的快闪存储器的数据存储结构的图。
图7是示出了根据本发明的快闪存储器的页结构的图。
图8是示出根据本发明存储在快闪存储器的管理信息区内的信息的图。
图9是示出了根据本发明表示存储在快闪存储器的管理信息区内的信息的属性信息的逻辑块管理信息的图。
图10是示出了根据本发明表示快闪存储器的管理信息区内存储的信息的属性信息的物理块管理信息的图。
图11是示出更新快闪存储器的逻辑-物理地址转换表的过程的图。
图12是示出更新快闪存储器的逻辑-物理地址转换表的过程的图。
图13是示出更新快闪存储器的FAT的过程的图。
图14是示出根据本发明将逻辑-物理地址转换表和FAT存储在快闪存储器中的方式的图。
图15是示出了在根据本发明的快闪存储器中的、存储逻辑-物理地址转换表或FAT的块的结构的图。
图16示出了根据本发明在具有快闪存储器的主机装置中进行的初始设置过程的流程,并且还示出了快闪存储器的管理表。
图17是示出了根据本发明从快闪存储器读取数据的过程和将数据写入到快闪存储器的过程的流程图。
图18是示出了根据本发明更新快闪存储器的诸如逻辑-物理地址转换表或FAT的管理信息的过程的流程图。
图19是示出了根据本发明更新快闪存储器的诸如逻辑-物理地址转换表或FAT的管理信息的定时的流程图。
图20是示出了根据本发明更新快闪存储器的诸如逻辑-物理地址转换表或FAT的管理信息的过程的流程图。
图21是示出了充当信息处理设备的PC的硬件结构的方框图,其中所述PC从连接到该PC上的快闪存储器读取数据或将数据写入该快闪存储器。
具体实施方式
下面,参考附图来更详细地描述根据本发明的数据存储装置、更新数据存储装置中的管理信息的方法和计算机程序。
[数据存储装置(存储卡)地结构]
参考图5,以存储卡作为数据存储装置的具体示例来描述包括快闪存储器和控制IC的数据存储装置的结构。
数据存储装置200包括快闪存储器(FMEM)230和控制IC 210。在将数据存储装置安装到或插入主机装置(HOST)300的状态下使用该数据存储装置,该主机装置300可以是诸如PC、数据记录器/播放器和摄像机的各种类型之一。尽管也可以将数据存储装置200牢固地安装在主机装置上,但是通常数据存储装置200适合于能够可拆卸地安装在各种主机装置上。
数据存储装置200包括电源端VCC和VSS地线端VSS。当数据存储装置安装在主机装置300上时,通过电源端VCC和地线端VSS而将电力从主机装置300提供给数据存储装置200。主机装置300使用检测端(INS)来检测是否插入了数据存储装置200。在数据存储装置200中,检测端(INS)接地。在主机装置300中,检测端(INS)通过上拉电阻连接到电源。这样,当数据存储装置200安装在主机装置300上时,检测端(INS)的电压变为低电平“L”。然而,当没有数据存储装置安装在主机装置300上时,检测端(INS)的电压处于高电平“H”。
在快闪存储器(FMEM)中定义了块和页,使得以块为单位进行数据的检测,而在页的单元中进行数据的读取/写入。例如,每页包括512字节的数据存储区和写入奇偶校验数据等的16字节的扩展区。稍后将参考图6和其它图来描述快闪存储器的详细结构。数据区和扩展区可以设置为具有各种数据存储容量。例如,通常将数据存储装置200配置为具有2048字节的数据区和64字节的扩展区。
布置在控制IC 210中的接口216控制数据存储装置200与主机装置200之间的数据传递,其中数据存储装置200安装在主机装置300上。当传递数据时,通过接口216进行串并行转换。更具体地说,在将数据写入到快闪存储器230的操作中,当从主机装置300通过双向数据信号线(SDI00至SDI03)与传递时钟信号(SCLK)同步传送串行数据时,将所接收的串行数据转换成具有多位(例如,8位或16位)宽度的并行数据。不管所接收的串行数据是控制命令还是一般的数据,所接收的数据都从串行的形式转换为并行的形式。
当通过只使用SDI00来传送串行数据时,该数据是1位的数据。当使用全部信号线SDI00至SDI03时,可以传送4位的数据。
当从快闪存储器230读取数据时,进行如下操作。首先,以多位并行数据的形式从布置在数据存储装置200中的快闪存储器230读取数据,并由接口216将其转换为串行数据。将所得的串行数据通过双向数据信号线(SDI00至SDI03)提供给主机装置300。
寄存器211包括状态寄存器和参数寄存器。数据通过双向数据信号线(SDI00至SDI03)输入到寄存器211和从寄存器211输出。使用双向数据信号线(SDI00至SDI03)来传送控制数据或者写入或读取一般的数据。根据通过双向数据信号线(SDI00至SDI03)给出的控制信号,控制对数据存储装置200中的内部存储器的访问。
页缓冲器212是当在接口216与快闪存储器230之间传递数据时用来临时存储数据的数据存储区。属性ROM 213存储控制IC 210的物理属性信息。OSC控制器215生成时钟信号,在控制IC 210中使用该时钟信号以控制控制IC 210的操作定时。
控制器214控制从/到快闪存储器230的数据传递,并且包括充当诸如CPU的控制单元的定序器(sequencer)221、用于将纠错码添加到将被传递的数据上或者在所接收的数据中检测错误的纠错码(ECC)发生器222、以及用来与快闪存储器230连接的快闪接口223。由纠错码发生器222进行的纠错确保存储在快闪存储器230中的数据的高可靠性。
数据存储装置200具有电源端VCC、用于与主机装置300连接的数据输入/输出端(SDI00至SDI03)、总线状态输入端(BS)、串行时钟输入端(SCLK)、插入检测端(INS)和地线端(VSS)。
数据通过双向数据线输入到数据输入/输出端(SDI00至SDI03)以及从数据输入/输出端(SDI00至SDI03)输出。总线状态(BS)信号被输入到总线状态输入端。总线状态(BS)信号表示与各个数据输入/输出端(SDI00至SDI03)连接的双向数据信号线上的数据的数据状态。例如,所述状态响应于进行数据存取之前输入的控制数据或数据信号线(SDI00至SDI03)上给出的数据而改变,并且,数据存储装置200根据该状态来进行某个过程。
数据传递时钟信号被提供给串行时钟输入端(SCLK)。根据数据传递时钟信号来进行控制数据和其它一般数据的传递。根据总线状态(BS)信号来控制数据传递时钟信号。
现在,参考图6,在下面描述图5中示出的数据存储装置200中的快闪存储器(FMEM)230的详细结构。
如上所述,在快闪存储器中定义了块和页,其中以块为单位进行数据的删除,而以页为单位进行数据的读取/写入。快闪存储器包括多个块,并且每个块包括多个页。例如,每页包括512字节的数据存储区121和写入奇偶校验数据等的16字节的扩展区122。数据存储区和扩展区的数据大小根据快闪存储器而变化。例如,可以将数据存储装置配置为具有2048字节的数据区和64字节的扩展区。
图6(a)示出了快闪存储器的数据结构。快闪存储器的存储区被划分为各个段,每个段具有诸如4MB(兆字节)、8MB或16MB的固定的数据大小。一个快闪存储器的段的数目取决于快闪存储器的存储容量。在图6(a)中示出的具体示例中,快闪存储器具有表示为段0至段7的8个段。
在加载程序区内,存储启动操作必需的加载数据。当接通电力时,控制IC 210首先从加载程序区读取启动操作必需的信息。管理区包括块,在其中存储包括逻辑一物理地址转换表和FAT的文件管理信息,并且管理区还包括被保留作为替换块的未使用的块。数据区包括用来存储诸如图像数据、音频数据、文本数据和/或程序的用户数据的块。除了这种实际的数据以外,在数据区中还存储表示每个数据的起始地址的目录信息,作为索引信息。稍后将描述索引信息的细节。
如图6(b)所示,将每个段(b-1)划分为被称为块的数据单元,每个块具有固定的长度。如图6(b-2)所示,将一个段的块表示为块0至块n。在每个段具有512个块的情况中,n为511。注意,当段具有不能存储数据的块的时候,或者当段具有将数据写入块时发生错误的坏块的时候,表示可以写入数据的有效块的数目的值n小于511。
如图6(b-3)所示,将每个块划分为页0至m。如图6(b-4)所述,每页包括具有例如512字节长度的数据部分和具有例如16字节长度的扩展部分。稍后将描述扩展部分的细节。
不管块位于加载程序区、管理信息区还是数据区,每个块都具有包括图6(b-4)中示出的数据部分和扩展部分的相同的页结构。在快闪存储器中,以页为单位进行数据的读取和数据的写入,而以块为单位进行数据的删除。仅在其数据已被删除的页中允许数据的写入。因此,实际上,以块为单位进行数据的写入和重新写入。
注意,在本发明中,以专门的方式来进行管理信息区内的信息写入(例如,诸如逻辑-物理地址转换表或FAT的文件管理信息的写入),稍后将描述该专门的方式。
参考图7,下面描述页的结构。如图7所示,每页包括数据部分和扩展部分。存储在数据部分中的数据类型根据该数据是存储在加载程序区、管理信息区还是数据区而变化。例如,在加载程序区内的块的页中,存储启动操作时由控制IC使用的信息。另一方面,在管理信息区内的块的页中,存储比如说诸如逻辑-物理转换表或FAT的文件管理信息的信息。在数据区内的块的页中,存储与诸如图像数据、音频数据、文本数据或程序的用户数据相关的各种数据文件。
在每个页的扩展部分中,例如,存储纠错码(ECC)和属性信息。如图7所示,属性信息包括逻辑块管理信息和物理块管理信息。
图8示出了管理信息区的详细结构。管理信息区包括逻辑-物理地址转换表块、文件管理信息块和替换块,其中,逻辑-物理地址转换表是用来将由主机装置指定的逻辑地址转换为物理地址的表,它被存储在逻辑-物理地址转换表块中,表示存储在快闪存储器中的数据的块-块链接的文件管理信息(例如FAT)存储在文件管理信息块中,而替换块是未使用的块,它被保留用来在失效的块出现时使用,或者在更新过程中作为新块来使用。
在本发明中,当更新逻辑-物理地址转换表或文件管理信息(FAT)时,使用多个块来写入更新后的数据。更具体地说,指派一对不同的块,用来写入逻辑-物理地址转换表或FAT数据的一页,并通过交替使用所指派的对的两个块的页来写入更新后的数据。这允许在更新过程中写入新的逻辑-物理地址转换表或FAT时,保存原来的逻辑-物理地址转换表或FAT而不将其删除。即使更新后的逻辑-物理地址转换表或更新后的FAT丢失,也可以使用之前最近的管理信息。例如,可以使用先前的管理信息来存取数据,此外,可以使用现有的管理信息来进行管理信息的重新更新。
在下面的描述中,通过示例,假设在此采用被广泛地用作硬盘中的文件管理信息的FAT作为文件管理信息。注意,在本发明中,文件管理信息不限于FAT,而是,也可以使用其它类型的文件管理信息,例如NTFS或者HFS。
下面参考图9来描述充当快闪存储器的管理信息区的块的属性信息的逻辑块管理信息(图7)及其数据结构。
如上所述,在快闪存储器的管理信息区内,存储诸如逻辑-物理地址转换表和FAT的文件管理信息,并且管理信息区还包括替换块。图9示出了逻辑块管理信息的数据结构,还示出了逻辑块管理信息的内容,其中所述数据结构是设置到每个块的各个页的属性之一。
逻辑块管理信息的数据结构根据块的类型而不同,逻辑块管理信息包括表示块的类型的数据。例如,用2位来代表块的类型,使得[00]表示用于逻辑-物理地址转换表的块,[01]表示用于诸如FAT的文件管理信息的块,而[01]表示替换块。
在逻辑-物理地址转换表块中,将逻辑地址转换为对应的物理地址所必需的信息存储在每个数据部分中,而表示对应于存储在数据部分内的逻辑-物理地址转换表的段的块号码存储在逻辑块管理信息中。注意,每个物理块都被指派了逻辑地址,并且将逻辑-物理地址转换表提供给每个段。此外,表示存储在数据部分的逻辑-物理地址转换表是否正在经历更新处理的更新标志,以及表示每次进行更新时就增加1的修订数目的修订数据,也在逻辑块管理信息中描述。文件管理信息定义了被称为扇区的每个具有512字节长度的存储单元,并且还定义了簇,每个簇包括n个扇区,从而具有512×n个字节的长度,由此,文件管理信息以簇为单位管理数据的位置。
每个逻辑地址表示扇区地址。当进行地址转换时,使用扇区地址的较低阶的位来表示物理块中的页。例如,当每个块包括32个页时,使用较低阶位置处的5位来表示页的地址。在这里,假设页的地址唯一地对应于块中的物理页,尽管可以采用页作为逻辑地址的单元。
在文件管理信息块中,FAT作为文件管理信息存储在数据部分中。为了存储全部FAT数据,需要多个文件管理信息块。这样,在逻辑块管理信息中,描述对应于存储在数据部分中的FAT的逻辑地址的块号码和修订数据,其中所述修订数据表示每次进行更新时就增加1的修订数目。
替换块是被保留用来在失效的块出现时使用的物理块。替换块中的数据已被删除,并且不给替换块指派任何逻辑地址。
现在参考图10,在下面描述充当快闪存储器的管理信息区的块的属性信息的逻辑块管理信息(图7)及其数据结构。
不管是将逻辑-物理地址转换表、诸如FAT的文件管理信息还是替换块存储在快闪存储器的管理信息区内,逻辑块管理信息都具有相同的结构。如图10所示,物理块管理信息包括坏块标志和删除标志。在坏块标志中,存储[1]来表示块是能够正确读取/写入数据的好块,或者存储[0]来表示块是坏的。在删除标志中,存储[1]来表示块未被删除,或者存储[0]来表示块已被删除。例如,对于被指派了逻辑地址并正在使用的块,将坏块标志设置为[1],并且将删除标志设置为[1]。另一方面,对于好的替换块,将坏块标志设置为[1],并且将删除标志设置为[1]。
[管理信息的更新]
当更新快闪存储器中存储的文件数据时,如下所述来更新包括逻辑-物理地址转换表和文件管理信息(FAT)的管理信息。
在快闪存储器中,如较早些时候所述,以页为单位进行数据的读取和数据的写入,而以块为单位进行数据的删除。仅在其数据已被删除的页中允许数据的写入。当从快闪存储器读取数据并将更新后的数据写入快闪存储器时,不是将更新后的数据覆写在原来的数据所处的页上,而是检测其数据已被删除为可写状态的页,并将更新后的数据写入所检测到的这一页中。因此,每次进行数据的更新,就频繁地进行物理地址的更新,其中所述物理地址表示写入数据的位置。
尽管在更新数据时改变了数据存储位置和物理地址,但是不管是否改变了物理地址,都允许主机装置为更新后的数据使用与用于原数据的逻辑地址相同的逻辑地址。最终,每次更新数据时,逻辑-物理地址转换表都被更新。
下面描述更新逻辑-物理地址转换表的过程,每次更新数据时都进行该过程。图11(a)示意性地示出了在某个块中包括的4个块。在那4个块中,给3个块每个都指派了固定的物理地址,并且一个块是替换块。按照块的物理排列顺序来确定物理地址,并且不改变而是维持指派给各个块的物理地址。在这里,我们假设将[0x11]、[0x12]、[0x13]和[0x14]作为物理地址指派给图11(a)中示出的4个块。在这里,“0x”表示以十六进制来代表跟随在“0x”之后的两位的值。
在这里,我们假设在尚未更新数据的状态中,将逻辑地址(0x02)指派给物理地址[0x11],将逻辑地址(0x03)配给物理地址[0x12],将逻辑地址(0x04)指派给物理地址[0x14],如图11(a)所示。对于物理地址[0x13],因为替换块位于此物理地址,所以不指派逻辑地址。
在这里,我们还假设将由主机装置写入的文件数据存储在处于物理地址[0x11]和[0x12]的块0和块1中。
在此状态下,如果主机读取逻辑地址(0x02)处的数据,则逻辑-物理地址转换表将逻辑地址(0x02)转换成物理地址[0x11],并将存储在块0中的数据输出到主机装置。
在这里,当主机装置更新存储在块0中的数据并将该数据重新写入快闪存储器时,不是将该数据覆写在存储原数据的页内,而是检测其数据已被删除为可写状态的页,并将更新后的数据写入检测到的这一页中,如较早些时候所述。在此情况中,将原来的数据保持在块0中而不将其删除,并将更新后的数据写入其数据已被删除的替换块(在此具体情况中的块2)中。
此外,为了将更新后的数据的逻辑地址维持在与指派给原数据的逻辑地址(0x02)目同的逻辑地址上,更新逻辑-物理地址转换表。更具体地说,如图11(b)所示,将逻辑地址(0x02)指派给存储更新后的数据的块2的物理地址[0x13],并且在将更新后的(数据)写入块2之前或之后,删除物理地址[0x11]处的块0中存储的数据,使得块0变为新的替换块。以上述方式对逻辑-物理地址转换表的更新允许主机装置在存储数据时使用相同的逻辑地址,而不管该数据是否已被更新。
注意,逻辑地址被指派给存储在某些块中的各个数据,并且如稍后将描述的,该逻辑地址由FAT文件系统管理。相比之下,物理地址被固定地指派给各个块。
通过以上述的方式交换块,防止仅特定的存储区(块)被非常频繁地访问变得有可能,从而,增大在进行重新写入的次数方面具有上限的快闪存储器的总寿命变得有可能。
此外,如上所述,通过每次更新数据时都更新逻辑-物理地址转换表,对该数据使用相同的逻辑地址变得有可能。注意,逻辑-物理地址转换表被提供给每个段,因而当更新数据时,所得的数据不写入另一个不同的段。
图12示出了响应于数据的更新而更新逻辑-物理地址转换表的方式的示例。如上所述,当更新数据时,逻辑-物理地址转换表被存储在快闪存储器的管理信息区并被更新。
在图12中示出的具体示例中,响应于图11中示出的数据的更新而更新逻辑-物理地址转换表。图12(a)示出了处于尚未被更新的状态中的逻辑-物理地址转换表,而图12(b)示出了处于已被更新的状态中的逻辑-物理地址转换表。逻辑-物理地址转换表以一系列物理地址和对应的逻辑地址对的形式来描述。
在本示例中,在更新前的状态中,将(逻辑地址)和[物理地址]之间的对应描述如下:
(0x02) [0x11]
(0x03) [0x12]
(0x04) [0x14]
(0x05) [0x15]
另一方面,在更新之后,将(逻辑地址)和[物理地址]之间的对应描述如下:
(0x02) [0x13]
(0x03) [0x12]
(0x04) [0x14]
(0x05) [0x15]
在上述过程中,删除物理地址[0x11]处的块中的数据,并且对物理块管理信息做出相应的改变。
在本发明中,将改变后的逻辑-物理转换表交替地写入两个块的页中。即,将一对不同的块指派给逻辑-物理地址转换表的数据的一个页,并通过交替使用所指派的对的两个块的页来写入改变后的逻辑-物理转换表。这允许将原来的逻辑-物理地址转换表或FAT保持在两个块的一个的页中而不将其删除。这样,如稍后将更详细地描述的,即使更新后的逻辑-物理地址转换表丢失,也可以使用所保存的原来的逻辑-物理地址转换表。
如上所述,块的交换引起物理地址与逻辑地址之间的对应关系的改变。因此,为了正确地允许对快闪存储器中的数据的存取,需要表示当前的物理地址与逻辑地址之间的对应关系的逻辑-物理地址转换表。通过查阅逻辑-物理地址转换表,文件管理信息(FAT)确定对应于指定的逻辑地址的物理地址,由此,访问所确定的对应于指定的逻辑地址的物理地址处的块变得有可能。下面参考图13来描述使用诸如FAT的文件管理信息的方式。
以簇为单位管理存储在快闪存储器中的数据文件。快闪存储器的数据区内的物理扇区与页对应,其中所述页是从快闪存储器读取数据和将数据写入快闪存储器的单元。另一方面,将每个包括多个扇区的簇用作文件管理信息(FAT)中的管理单元。簇是形成文件的单元。在很多情况中,当数据文件存储在快闪存储器中时,该数据文件存储在多个簇上。FAT是表示存储数据文件的散布的簇的簇-簇链接的表。FAT的条目存储表示逻辑地址的簇-簇链接的信息,其中所述逻辑地址以一一对应的方式对应于快闪存储器的簇或块。在目录中,将文件的起始簇与文件名一起描述。
图13(a)示出了存储在快闪存储器的数据区内的数据文件的目录,而图13(b)示出了充当存储在管理信息区内的文件管理信息的FAT。
因为以FAT中的表的形式来描述表示簇的簇-簇链接的信息,其中所述簇是用来存储数据的单元,所以当数据文件存储在多个簇上时,有可能通过获得在FAT中描述的簇-簇链接信息而获知该数据文件的所有簇的位置,因而对该数据文件的所有数据的存取是可能的。每个簇对应快闪存储器的一个块。这样,当一个数据文件存储在快闪存储器的多个块(与簇对应)上时,在FAT中描述与所述多个块相关的链接信息。(利用)对应于逻辑-物理地址转换表中使用的逻辑地址的簇标识符来识别在FAT中的链接信息内描述的簇。
在存储在快闪存储器的数据区内的目录中,描述起始簇的文件名、文件扩展名和簇标识符,如图13(a)所示。主机装置可以根据目录中描述的起始簇的簇标识符、通过查阅FAT而获知文件数据的簇的簇-簇链接,并且可以从该链接信息顺次获得簇标识符。簇标识符对应于逻辑地址。这样,有可能通过将逻辑地址施加到逻辑-物理地址转换表上而获得物理地址,并且有可能进一步获得存储在该物理地址处的数据。
在图13(a)中示出的目录中描述的文件[ABC.txt]的示例中,起始簇的标识符是(0x08),存储0x10作为指向FAT中0x08处的下一簇的簇标识符,将0x18存储在0x10,并将表示文件数据的末尾的0xFF存储在0x18。这样,有可能获知文件[ABC.txt]是以(0x08)、(0x10)和(0x18)的顺序存储的。另一方面,在文件[EFG.jpg]的情况中,起始簇的标识符是(0x19),存储0x25作为指向FAT中0x19处的下一簇的簇标识符,并且,以类似的方式来存储后面的簇标识符。这样,有可能通过顺次检测FAT中描述的簇标识符来获知文件[EFG.jpg]的簇的位置。
如较早些时候所述的,簇标识符(簇地址)对应于逻辑地址。这样,在存取数据的操作中,有可能在通过从簇地址去掉页地址而得到的值的基础上,获知文件存储在的快闪存储器中的物理位置,其中所述簇地址从FAT获得。
当添加新数据或重新写入数据时,按照所需来更新FAT。当一个簇包括32个扇区时,一个簇具有16K字节的大小。当更新某个数据文件时,如果所得的数据文件具有比原来的数据大小更大的大小,则有必要获得新的簇。在此情况中,有必要重新写入FAT,即,FAT的更新是必要的。
所得的更新后的FAT存储在快闪存储器的管理信息区内。在本发明中,在写入更新后的FAT的过程中,与逻辑-物理地址转换表的写入一样,指派一对块,用来存储FAT数据的一页,并通过交替使用所指派的对的两个块的一个的页和该对的另一块的页来写入更新后的数据。这允许在写入新的更新数据时保存原来的FAT而不将其删除。即使更新后的FAT丢失,也能使用之前最近的FAT。下面详细描述更新FAT的过程。
描述更新存储在快闪存储器的管理信息区(图6)内的逻辑-物理地址转换表或诸如FAT的文件管理信息的过程。
图14是示出将逻辑-物理地址转换表和FAT存储在根据本发明的快闪存储器中的方式的图。如图14(a)所示,将包括逻辑-物理地址转换表和FAT的管理信息存储在快闪存储器的管理信息区内。
如图14(b)所示,将两个不同的块作为块对指派给每个FAT数据。更具体地说,如图14(b)所示,设置由块“FAT 1-偶”和块“FAT 1-奇”组成的块对、由块“FAT 2-偶”和块“FAT 2-奇”组成的块对、...、由块“FAT n-偶”和块“FAT n-奇”组成的块对,用来存储各个FAT数据。尽管在图14(b)中示出的这一具体示例中,使用相邻的块作为块对,但是每对中的块不一定需要处于相邻的位置。
类似地,如图14(c)所示,将两个不同的块作为块对指派给每个逻辑-物理地址转换表数据。更具体地说,如图14(c)所示,设置由块“逻辑-物理地址转换表1-偶”和块“逻辑-物理地址转换表1-奇”组成的块对、由块“逻辑-物理地址转换表2-偶”和块“逻辑-物理地址转换表2-奇”组成的块对、...、由块“逻辑-物理地址转换表n-偶”和块“逻辑-物理地址转换表n-奇”组成的块对,用来存储各个逻辑-物理地址转换表数据。
注意,使用符号“偶”和“奇”仅仅是为了将每个块对的两个块彼此区分开,只要每对的两个块彼此不同,则每对的两个块可以均为奇数块,或者可以均为偶数块。
当写入更新后的FAT数据或更新后的逻辑-物理地址转换表时,交替使用偶数和奇数块。例如,在当前FAT数据存储在块“FAT 1-奇”的页内时,将更新后的数据写入块“FAT 1-偶”的页内。这意味着将当前FAT数据保持在块“FAT 1-奇”的页内。另一方面,在当前FAT数据存储在块“FAT 1-偶”的页内时,将更新后的数据写入块“FAT 1-奇”的页内。同样,在逻辑-物理地址转换表的更新中,通过交替使用偶数和奇数块来写入更新后的数据。
图15示出了更新存储在快闪存储器的管理信息区(图6)内的逻辑-物理地址转换表或诸如FAT的文件管理信息的过程。在本发明中,如上所述,将两个不同的块作为块对指派给逻辑-物理地址转换表数据的每个页,并且在写入更新后的数据时交替使用块对中的两个块。同样,在诸如FAT的文件管理信息的更新中,两个不同的块作为块对指派给FAT数据,并且在写入更新后的数据时交替使用块对的两个块。对于逻辑-物理地址转换表和FAT二者,更新数据的过程基本上相同,因而参考图15,只对FAT更新过程进行下面的讨论。
如上面参考图14所描述的,指派两个块作为块对,用来将更新后的FAT写入快闪存储器的管理信息区内。在图15中示出的具体示例中,指派图15(a)中示出的FAT存储块P(偶数块)501和图15(b)中示出的FAT存储块Q(奇数块)502作为块对。
如图15所示,给偶数和奇数块的页指派从0开始的序列号(修订数目)。每次更新FAT数据时,按照序列号的顺序将更新后的数据写入块的新页。更具体地说,如图15所示,给偶数块501的页指派页码0、2、4、6等,而给奇数块502的页指派页码1、3、5、7等。每次更新FAT数据时,按照顺序0、1、2、3、4、5、6、7等的顺序将更新后的数据写入页。
每页还具有独立地为偶数块501和奇数块502指派的页码。例如,序列号为0的页和序列号为1的页具有页码0,序列号为2的页和序列号为3的页具有页码1等。
注意,使用指派给偶数块501和奇数块502的各个页的序列号仅仅是为了解释方便。即,当主机装置写入更新后的FAT信息时,不是由序列号而是由相对于块中的基准页而计数的页码来指定页。更具体地说,写入更新后的管理数据的页被指定为例如相对于块中的基准页的第N页。
在本发明中,将诸如充当文件管理信息的FAT或逻辑-物理地址转换表的当前管理信息保持在块对的两个块中的一个的页中,而将新的更新后的数据写入该块对的两个块中的另一个的页中。
在本发明中,如上所述,当更新管理信息时,通过交替使用块对的两个块中的一个的页和该块对的两个块中的另一个的页而写入更新后的管理信息。当在块对中没有可用的页时,将替换块分配为新的块,并将更新后的管理信息写入该新块的第一页。在此情况中,将除了存储之前最近的管理信息的块以外的块中的数据删除。
在本发明中,块对的两个分别的块的两个物理地址与诸如用作文件管理信息的FAT或逻辑-物理地址转换表的管理信息中定义的一个逻辑地址相关。数据存储装置的控制器获得与将被更新的文件管理信息的逻辑地址相关的两个物理地址。该控制器确定这两个分别的物理地址处的两个块属于用来存储更新后的文件管理信息的块对,并且,该控制器通过交替使用该块对的两个块来写入更新后的信息。
参考图16和其它图,下面描述由主机装置进行的用来将数据写入快闪存储器和从快闪存储器读取数据的过程。
首先,参考图16来描述在使存储卡进入可用状态的过程的开始,由主机装置(例如,PC)进行的初始化过程,其中使用上述快闪存储器的存储卡安装在所述主机装置上。
首先,在步骤S101中,主机装置读取存储在快闪存储器的加载程序区(图6)内存储的信息。在快闪存储器的加载程序区内存储初始信息,其中控制IC在操作的开始根据所述初始信息进行操作。
在步骤S102中,读取存储在快闪存储器的管理信息区内与每个块相关的属性信息。在下一步骤S103中,在ROM的管理表中登记在步骤S102中读取的信息的条目。如果在步骤S104中确定对于所有的块,已经在管理表中登记了存储在管理信息区内的属性信息,那么该过程等待来自主机装置的命令,例如数据读取命令或数据写入命令。
在从快闪存储器的管理信息区读取的、与各个块相关的属性信息的基础上产生的管理表包括这样的字段(field):在该字段中描述块类型、块号码/条目号码、物理地址块1和物理地址块2,如图16的右手侧所示。
如较早些时候参考图8和其它图所描述的,快闪存储器的管理信息区包括逻辑物理地址转换表、用作文件管理信息的FAT和替换块。在与各个块相关的属性信息(图7和图9)中描述的数据的基础上,产生图16中示出的管理表。
现在,在下面更详细地描述根据本发明的逻辑-物理地址转换表和充当文件管理信息的FAT。如图16所示,对于用来存储FAT的块,将块类型ID存储在块的类型字段中,以表示该块是FAT块。在块号码/条目号码字段中,描述如较早些时候参考图9所描述的从扇区地址计算的逻辑格式的逻辑地址。在此字段中描述的逻辑地址表示FAT数据的逻辑地址。在物理地址块1的字段和物理地址块2的字段中,存储上述的偶数块和奇数块的物理地址。
当更新对应于在块号码/条目号码字段中描述的逻辑地址的FAT数据时,通过交替使用由物理地址块1指定的偶数块中的页和由物理地址块2指定的奇数块中的页来写入更新后的FAT数据。
当已经从快闪存储器的管理信息区读取了与块相关的全部属性信息,并且已经在RAM上产生了管理表的时候,将数据写入快闪存储器或者从快闪存储器读取数据变得有可能。
下面参考图17来描述读取/写入数据的过程。首先,参考图17(a)来描述数据读取过程。首先,在步骤S201中,检索将被读取的数据文件的目录。如较早些时候参考图13所描述的,该目录包括诸如识别数据文件的文件名的标识符、和表示起始逻辑地址的簇标识符。
在下一步骤S202中,从该目录获得表示数据文件的起始簇的簇地址,并根据逻辑-物理地址转换表,将对应于该簇地址的逻辑地址转换为物理地址。此外,读取存储在由该物理地址表示的快闪存储器的位置处的数据。注意,可以在从管理表获得的逻辑-物理地址转换表的物理地址的基础上,确定存储逻辑-物理地址转换表所在的位置。
在步骤S203中,从FAT中描述的簇-簇链接信息获得簇标识符,其中所述簇标识符表示文件数据的后面部分的下一逻辑地址。存储FAT的位置由管理表中描述的FAT的物理地址来表示。然后,根据逻辑-物理地址转换表,将由FAT中描述的簇-簇链接信息表示的逻辑地址转换为物理地址,并且,从该物理地址表示的快闪存储器的数据存储位置读取数据。
重复进行步骤S202和S203,直到在步骤S204中确定到达数据文件的末尾为止。这样,完成了存储在多个簇(块)中的数据文件的读取。
现在,参考图17(b)中示出的流程图而在下面描述将数据写入快闪存储器的过程。首先,在步骤S301中,检查FAT和目录,以确定将写入数据的逻辑地址。
在步骤S302中,将数据顺次写入块的页中。在步骤S303中,对于已经写入数据的块,设置物理地址与逻辑地址之间的对应。即,更新逻辑-物理地址转换表。如较早些时候参考图15所述的,通过交替使用块对中的一个块的页和该块对中的另一个块的页来进行逻辑-物理地址转换表的更新。稍后将参考图18来描述更新过程的细节。
在步骤S304中,确定是否到达将被写入的数据的末尾。如果尚未达到该数据的末尾,则过程前进到步骤S305。在步骤S305中,从FAT确定下一逻辑地址。然后,该过程返回到步骤S302。在步骤S302中,将数据的后面部分写入所确定的逻辑地址的页。以上述方式,逐页写入数据。
在步骤S303中,更新管理信息,即,更新逻辑-物理地址转换表和包括地址链接信息(簇链接信息)的FAT。重复进行步骤S302至S305,直到在步骤S304中确定已经写入了全部数据为止。
在上面的步骤中,通过交替使用如较早些时候参考图15描述的块对中的一个块的页和该块对中的另一块的页,来进行逻辑-物理地址转换表和对应于簇链接信息的、包括该簇链接信息的FAT的更新。参考图18中示出的流程图来描述更新过程的细节。在图18中示出的这一过程中,与较早些时候参考图15所描述的过程中一样,使用多对偶数块和奇数块作作为每次进行逻辑-物理地址转换表或诸如FAT的文件管理信息的更新时交替使用的块对。
在更新管理信息的过程的开始,在步骤S501中,控制器检测存储当前管理信息的快闪存储器的页。对该页的检测是在如较早些时候描述的管理表中描述的信息的基础上进行的。注意,可以将在此描述的与管理信息相关的过程应用于逻辑-物理地址转换表和用作文件管理信息的FAT。
在步骤S502中,确定存储当前数据的页是否是块对的奇数块。如果存储当前数据的页是奇数块,则该过程前进到步骤S503,否则该过程前进到步骤S506。如较早些时候参考图15所描述的,将新的更新后的管理信息写入这样的页:该页具有紧接在存储当前管理信息的页的序列号之后的序列号,即,将新的更新后的管理信息写入与包括存储当前管理信息的页的块不同的块的页内。
在当前管理信息存储在奇数块的页内的情况中,将新的更新后的管理信息写入偶数块的页内。在此情况中,在步骤S503中,控制器确定偶数块中的这样的页:其具有等于存储当前管理信息的奇数块中的页码加1的页码,并且,控制器采用所确定的页作为用来写入新的更新后的管理信息的页。
在步骤S504中,确定偶数块是否具有这样的空闲页:其具有等于在步骤S503中确定的页码的页码。如果偶数块具有这样的页,则该过程前进到步骤S509。然而,如果偶数块不具有这样的页,则该过程前进到步骤S505。
进行上述的步骤S504中的过程以确定存储当前管理信息的页是否是奇数块的最后一页。当存储当前管理信息的页是奇数块的最后一页时,在步骤S504中确定在偶数块中不存在具有通过上述递增计算确定的页码的页。
在步骤504中确定所述块不具有可用的用来写入更新后的管理信息的页的情况中,该过程前进到步骤S505,其中,从替换块获得新的块作为偶数块,并删除存储在旧偶数块中的全部旧管理信息。此外,将所获得的新偶数块的第一页,即具有页码0的页(序列号0)分配为用来存储更新后的管理信息的页,并将诸如更新后的逻辑-物理地址转换表数据或者充当文件管理信息的更新后的FAT数据的更新后的管理数据写入那一页。
另一方面,如果在步骤504中确定偶数块具有可用的页,其中所述页具有等于在步骤S503中计算的页码的页码,那么在步骤S509中,将更新后的管理信息(即,更新后的逻辑-物理地址转换表或用作文件管理信息的更新后的FAT)写入该可用的页中。
在步骤S502中确定存储当前管理信息的页不在奇数块内的情况中,该过程前进到步骤S506。在步骤S506中,确定存储当前管理信息的页是否是偶数块的第一页,即,确定该页是否具有页码0(序列号0)。
如果确定存储当前管理信息的页是具有页码0(序列号0)的第一页,则该过程前进到步骤S507。在步骤S507中,删除存储在奇数块中的全部信息,并将奇数块中具有页码0(序列号1)的第一页分配为用来存储更新后的管理信息的区域。
另一方面,如果在步骤S506中确定存储当前管理信息的偶数块中的页是除了该偶数块的第一页之外的页,则该过程前进到步骤S508。在步骤S508中,在奇数块中分配具有与存储当前管理信息的偶数块中的页码相等的页码的页,用来存储更新后的管理信息。
在步骤S509中,控制器将更新后的管理信息(即,更新后的逻辑-物理地址转换表数据或充当文件管理信息的更新后的FAT数据)写入所分配的奇数块中的页。
在本发明中,如上所述,指派两个块作为用来存储诸如逻辑-物理地址转换表或用作文件管理信息的FAT的管理信息的块对,通过交替使用这两个块来进行更新后的管理信息的写入。因此,即使在写入更新后的管理信息的过程中发生错误,如在更新管理信息的中间从主机装置上卸下存储卡时或者在更新管理信息的中间关断电力时可能发生的一样,也可以保持之前最近的管理信息而不丢失。这样,有可能使用现有的管理信息来进行后面的过程。
也就是说,有可能通过使用现有的管理信息来存取数据,并且还有可能通过使用现有的管理信息来再次进行管理信息的更新。这样,可以用高度可靠的方式存储管理信息而不受错误发生的影响。
在实施例中,每次将用户数据写入快闪存储器的数据区,就进行逻辑-物理地址转换表或用作文件管理信息的FAT的更新。在可替换的实施例中,每执行几次用户数据的写入,就进行一次更新。
图19(a)示出了每次将数据写入快闪存储器的数据区时,将管理信息写入快闪存储器的管理信息区的过程的流程图,而图19(b)示出了每执行几次将数据写入快闪存储器的数据区,就将管理信息写入快闪存储器的管理信息区一次的过程的流程图。
在图19(a)中示出的过程的情况中,如果在步骤S711中写入数据,则在步骤S712中更新管理信息(即,逻辑-物理地址转换表或充当文件管理信息的FAT),并写入更新后的数据。随后,如果在步骤S713中还写入数据,则在步骤S714中更新并写入管理信息。随后,每次写入数据时都更新并写入管理信息。然而,在步骤713中写入数据之后,如果例如通过在完全写入与所写入的数据相关的更新后的管理信息(在步骤S714中)之前将存储卡从主机装置卸下而关断到存储卡的电力,则因为未将与步骤S713中写入的数据相关的地址信息存储在管理信息区内的FAT和逻辑-物理地址转换表中,所以对数据的存取变得不可能。
另一方面,在图19(b)中示出的过程中,每执行四次数据的写入,就更新并写入管理信息一次。即,例如,在步骤S728中,在通过步骤S724至S727写入数据四次之后,更新管理信息(即,逻辑-物理地址转换表或充当文件管理信息的FAT),并写入更新后的数据。在此过程中,在步骤S727中写入数据之后,如果例如通过在完全写入与通过步骤S724至S727写入的数据相关的更新后的管理信息(在步骤S728中)之前将存储卡从主机装置卸下而关断到存储卡的电力,则因为未将与通过步骤S724至S727写入的数据相关的地址信息存储在管理信息区内的FAT和逻辑-物理地址转换表中,所以对数据的存取变得不可能。
如可以从上述讨论理解的,因为在与管理信息相关的错误发生时较少量的数据变为不可存取,所以希望采用图19(a)中示出的过程,其中每次写入用户数据时就更新管理信息。
参考图20,下面描述通过交替使用块对的两个块中的一个中的页和该块对中的另一块中的页,来写入更新后的诸如逻辑-物理地址转换表或用作文件管理信息的FAT的管理信息的过程。
图20示出了更新诸如逻辑-物理地址转换表或者用作文件管理信息的FAT的管理信息的过程,该过程在例如主机装置从快闪存储器的数据区读取用户数据并将更新后的数据重新写入快闪存储器时进行。
参考图20,描述管理信息更新过程。首先,在步骤S701中,输入对应于将被更新的管理信息的逻辑地址。该逻辑地址在上述管理表(图16)的基础上来确定。
在步骤S702中,基于管理表来确定写入更新后的管理信息的块。在本发明中,通过以上述的方式交替使用两个块(偶数块和奇数块)中的页来进行存储在管理信息区内的管理信息的更新,即逻辑-物理地址转换表或充当文件管理信息的FAT的更新。因此,两个物理块与一个逻辑地址相关。
在步骤S703中,对写入更新后的管理信息(即,更新后的逻辑-物理地址转换表或用作文件管理信息的更新后的FAT)的块和页进行确定。该确定以与上面参考图18所描述的类似方式来进行。
在步骤S704中,在确定写入更新后的管理信息的块和页完成之后,主机装置写入更新后的管理信息,即,更新后的逻辑-物理地址转换表或更新后的用作文件管理信息的FAT。这样,完成了管理信息的更新。
在图20中示出的示例中,将先前的管理信息保持在块B中,并将更新后的管理信息写入块C中。在本发明中,如上所述,因为保持先前的管理信息(即,先前的逻辑-物理地址转换表和用作文件管理信息的先前的FAT)而不将其删除,所以当在更新过程的中间发生错误时,先前的管理信息被保护而避免丢失。此外,在更新过程中,没有必要获得已被删除的块并且保存应当维持而不进行改变的数据的页。这样,有可能减少进行管理信息更新过程所需的时间。
如上所述,在传统技术中,通常通过使用已被删除的块来进行将数据重新写入快闪存储器。因此,在传统技术中,有必要在每次进行数据的更新时分配已被删除的块,并保存应当保持而不删除的当前数据。相比之下,在本发明中,事先指派两个块作为用来写入管理信息的块,并且,可以简单地通过交替使用不同的块而仅以页为单位写入更新后的页来进行管理信息的更新。这允许大量减少进行更新过程所需的时间。对数据已被删除的块的分配仅在当前分配的所有页均被使用的时候进行,因而,在这种情形下进行的分配过程对整个处理速度不具有显著的影响。这样,因为在非常短的时间内进行包括FAT和逻辑-物理地址转换表的管理信息的更新,所以即使用户在更新用户数据之后立即从主机装置上卸下存储卡,也没有多少可能性由于未完成更新管理信息而发生错误。
在这里,让我们将与该过程相关的参数表示如下:
一页的读取时间:Tr
一页的写入时间:Tw
一个块的删除时间:Te
每个块的页的数目:Pn
使用上面的参数,根据传统技术,将需要保持的现有数据保存到其数据已被删除的块并进一步写入更新后的数据的页所需的时间可以表示如下:
Tr×(Pn-1)+Tw×Pn+Te
在上式中,Tr×(Pn-1)表示从奇数块读取应被保持而不改变的数据的页(Pn-1个)所需的时间,Tw×Pn表示写入更新后的页和将被直接保存而不改变的页所需的时间(页的总数目等于Pn),而Te表示删除块所需的时间。
另一方面,使用根据本发明的块对来写入更新后的信息所需的时间在最短的情况下等于写入一页所需的时间,即,等于Tw。
在块不再有可用的页时可能发生的最长的情况中,写入更新后的信息所需的时间等于Tw+Te,这是非常短的。
如上所述,与传统技术中所需的时间相比,使用根据本发明的块对写入更新后的信息所需的时间非常短。因此,因为在非常短的时间内进行管理信息的更新,所以即使用户在更新用户数据之后立即从主机装置卸下存储卡,也不太可能由于未完成更新管理信息而发生错误。
[主机装置的结构]
下面参考图21来描述使用快闪存储器的主机装置或信息处理设备的结构示例。在图21中示出的此示例中,使用PC作为主机装置。
根据ROM(只读存储器)702或HDD 704中存储的程序,CPU(中央处理单元)701执行各种过程。RAM 703存储由CPU 701执行的程序,并且还存储执行该程序时使用的数据。CPU 701、ROM 702、RAM 703和HDD 704通过总线705彼此相连。
总线705连接到输入/输出接口706,输入/输出接口706连接到例如包括由用户操作的键盘、开关、按钮和/或鼠标的输入单元707、以及包括用于将信息呈现给用户的LCD或CRT和扬声器的输出单元708。输入/输出接口706还与充当数据发送/接收部件的通信单元709以及快闪存储器接口710相连接,其中可以将包括上述快闪存储器的存储卡711连接到所述快闪存储器接口710,并且所述快闪存储器接口710充当用于从存储卡711读取数据/将数据写入存储卡711的接口。
使用快闪存储器的主机装置或信息处理设备不限于如图21中所示的个人计算机(PC),而是,在诸如摄像机、便携电话、PDA或类似的便携通信终端、重放装置和显示器的各种类型的电子装置中也可以使用根据本发明的快闪存储器。注意,硬件结构可以根据装置而变化,并且该装置可以依靠硬件结构来进行特定的处理。
参考具体实施例,通过示例而不是限制的方式在上面描述了本发明。本领域技术人员应当明白的是,在不脱离由所附权利要求限定的本发明的精神和范围的情况下,进行各种修改和替换是可能的。
本说明书中公开的任意过程均可利用硬件、软件或硬件和软件的组合来进行。在利用软件来执行某个过程的情况中,可以将该过程的程序安装到布置在专用计算机内的存储器中,其中所述计算机嵌入在硬件中,并且可以由计算机来执行所述程序,或者可以将该程序安装到能够执行各种过程的通用计算机上,并且可以在该通用计算机上执行。
可以将程序事先存储在诸如硬盘或ROM(只读存储器)的存储介质中。也可以将程序临时地或永久地存储在诸如软盘、CD-ROM(致密盘只读存储器)、MO(磁光)盘、DVD(数字多用途盘)、磁盘或半导体存储器的可拆卸存储介质中。可以用所谓的打包软件的形式来提供存储在这样的可拆卸存储介质上的程序。
可以将程序从这样的可拆卸存储介质安装到计算机上。可以使用诸如LAN(局域网)或因特网的网络、通过无线传输信道或通过有线传输信道而从下载站点发送所述程序。当接收到从下载站点发送的程序时,计算机可以将所接收的程序安装到布置在计算机内的硬盘上。
本说明书中公开的过程可以按照与程序中描述的顺序相同的顺序来顺次进行,或者可以根据计算机的处理能力而并行或单独进行。
工业适用性
在本发明中,如上所述,在快闪存储器中,诸如充当地址管理信息的FAT的文件管理信息存储在存储器的管理信息区内,指派一对块作为用来存储FAT数据的块,通过交替使用该块对中的两个块来进行更新后的FAT信息的写入,使得将先前的FAT信息保持在该块对的两个块的一个中,而将更新后的FAT信息写入该块对的另一个块,由此,甚至在写入更新后的管理信息的过程的中间发生错误时,也保存了先前的FAT信息而没有丢失,从而,使用先前的FAT信息的处理是可能的。例如,使用先前的FAT信息存取数据是可能的。此外,使用先前的FAT信息来重新更新FAT信息也是可能的。
此外,在本发明中,两个不同的物理地址与对应于FAT的一个逻辑地址相关,基于给定的逻辑地址,立即确定将用来写入更新后的数据的两个块,并且,用来写入更新后的数据的块和页取决于存储先前数据的块和页。这样,有可能迅速确定用来写入更新后的管理信息的块和页。
此外,在根据本发明更新诸如FAT的文件管理信息的过程中,与传统的重新写入数据的过程不同,没有必要获得已被删除的块,并将页数据从存储先前的数据的块复制到已被删除的块,因而有可能减少进行管理信息更新过程所需的时间。因为在非常短的时间内进行包括FAT和逻辑-物理地址转换表的管理信息的更新,所以即使用户在更新用户数据之后立即从主机装置卸下存储卡,也没有多少可能性由于未完成更新管理信息而发生错误。
Claims (14)
1.一种数据存储装置,包括数据存储单元以及用于控制将数据输入到数据存储单元和从数据存储单元输出数据的控制单元,其中:
数据存储单元被划分为各个块,每个块包括多个页,每个页具有预定的存储容量,并且数据存储单元包括用于存储用户数据的数据区和用于存储管理信息的管理信息区,其中所述管理信息包括用来存取数据区的地址信息;
在管理信息区内,存储包括地址链接信息的文件管理信息,其中所述地址链接信息与存储在数据区内的数据文件相关;以及
控制单元执行写入更新后的文件管理信息的过程,使得:
将先前的文件管理信息保持在形成块对的两个不同块的一个中的页内,而将更新后的文件管理信息写入到该块对的两个块的另一个中的页内。
2.根据权利要求1的数据存储装置,其中,文件管理信息是FAT(文件分配表),并且在写入更新后的文件管理信息的过程中,控制单元通过交替使用所述块对的两个块的一个中的页和该块对的两个块的另一个中的页来写入更新后的FAT信息。
3.根据权利要求1的数据存储装置,其中,将所述块对的两个物理地址设置为对应于指派给文件管理信息的一个逻辑地址的地址信息;以及
控制单元获得对应于表示将被更新的文件管理信息的逻辑地址的两个物理地址的地址信息,并且,控制单元将由这两个分别的物理地址表示的两个块识别为用来写入更新后的文件管理信息的块对。
4.根据权利要求1的数据存储装置,其中,控制单元执行这样的过程:每次将用户数据的单元写入被指派为用于存储用户数据的存储区的数据区内时,就写入更新后的文件管理信息。
5.根据权利要求1的数据存储装置,其中,在数据存储单元的管理信息区内,还存储逻辑-物理地址转换表,其表示指派给存储在数据区内的数据的逻辑地址与表示在数据区内存储该数据的物理位置的物理地址之间的对应关系。
6.根据权利要求5的数据存储装置,其中,控制单元还执行写入逻辑-物理地址转换表的更新后的信息的过程,使得:
将逻辑-物理地址转换表的先前的信息保持在形成块对的两个不同块的一个中的页内,而将逻辑-物理地址转换表的更新后的信息写入该块对的两个块的另一个中的页内。
7.根据权利要求1的数据存储装置,其中:
数据存储装置适合于能够可拆卸地与信息处理设备相连接,并且数据存储装置还包括用于将数据输入到信息处理设备以及从信息处理设备输出数据的接口部件;并且
当控制单元通过接口部件从信息处理设备接收到逻辑地址时,控制单元获得对应于所接收的逻辑地址的两个物理地址,并将由这两个分别的物理地址表示的两个块识别为用来写入更新后的文件管理信息的块对。
8.根据权利要求1的数据存储装置,其中,控制单元执行:
以页为单位更新文件管理信息的过程;以及
通过交替使用形成块对的两个块的一个中的页和形成该块对的两个块的另一个中的页来写入更新后的管理信息的过程,
并且其中,在写入更新后的管理信息的过程中,如果所述块对的块不具有可用的页,则控制单元删除存储在除了存储先前的文件管理信息的块之外的块中的数据,并将更新后的管理信息写入被删除的块的第一页。
9.一种更新数据存储装置中的管理信息的方法,其中所述数据存储装置包括数据存储单元以及用于控制将数据输入到数据存储单元和从数据存储单元输出数据的控制单元,该方法包括以下步骤:
输入对应于将被更新的管理信息的逻辑地址;
通过获得对应于该逻辑地址的两个物理地址的地址信息来识别块对,并将由这两个分别的物理地址表示的两个块识别为用来写入更新后的文件管理信息的块对;以及
写入更新后的管理信息,使得将先前的文件管理信息保持在块对的两个块的一个中的页内,而将更新后的文件管理信息写入该块对的两个块的另一个中的页内。
10.根据权利要求9的更新数据存储装置中的管理信息的方法,其中:
文件管理信息是FAT(文件分配表);以及
在写入更新后的管理信息的过程中,通过交替使用块对的两个块的一个的页和该块对的另一个块的页来写入更新后的FAT信息。
11.根据权利要求9的更新数据存储装置中的管理信息的方法,其中,每次将用户数据的单元写入被指派为用于存储用户数据的区域的数据区内时,就执行写入更新后的文件管理信息的步骤。
12.根据权利要求9的更新数据存储装置中的管理信息的方法,还包括以下步骤:
通过获得对应于在逻辑地址输入步骤中输入的逻辑地址的两个物理地址的地址信息来识别块对,并将由这两个分别的物理地址表示的两个块识别为用来写入逻辑-物理地址转换表的更新后的信息的块对;以及
写入更新后的管理信息,使得将逻辑-物理地址转换表的先前的信息保持在块对的两个块的一个中的页内,而将逻辑-物理地址转换表的更新后的信息写入该块对的两个块的另一个中的页内。
13.根据权利要求9的更新数据存储装置中的管理信息的方法,其中,写入更新后的管理信息的步骤包括以下步骤:
以页为单位更新文件管理信息;以及
通过交替使用形成块对的两个块的一个中的页和形成该块对的两个块的另一个中的页来写入更新后的管理信息,
并且其中,在写入更新后的管理信息的步骤中,如果块对的块不具有可用的页,则删除存储在除了存储先前的文件管理信息的块之外的块中的数据,并将更新后的管理信息写入被删除的块的第一页。
14.一种用于执行更新数据存储装置中的管理信息的过程的计算机程序,其中所述数据存储装置包括数据存储单元以及用于控制将数据输入到数据存储单元和从数据存储单元输出数据的控制单元,该过程包括以下步骤:
输入对应于将被更新的管理信息的逻辑地址;
通过获得对应于该逻辑地址的两个物理地址的地址信息来识别块对,并将由这两个分别的物理地址表示的两个块识别为用来写入更新后的文件管理信息的块对;以及
写入更新后的管理信息,使得将先前的文件管理信息保持在块对的两个块的一个中的页内,而将更新后的文件管理信息写入该块对的两个块的另一个中的页内。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP074931/2003 | 2003-03-19 | ||
JP2003074931A JP2004280752A (ja) | 2003-03-19 | 2003-03-19 | データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1698035A true CN1698035A (zh) | 2005-11-16 |
Family
ID=33027853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004800002463A Pending CN1698035A (zh) | 2003-03-19 | 2004-03-05 | 数据存储装置、更新数据存储装置中的管理信息的方法和计算机程序 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7444460B2 (zh) |
EP (1) | EP1507209A4 (zh) |
JP (1) | JP2004280752A (zh) |
KR (1) | KR20050107557A (zh) |
CN (1) | CN1698035A (zh) |
TW (1) | TWI247988B (zh) |
WO (1) | WO2004084074A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101449248A (zh) * | 2006-05-18 | 2009-06-03 | 巴比禄股份有限公司 | 数据存储装置以及数据存储方法 |
CN101201724B (zh) * | 2006-12-11 | 2011-04-06 | 富士通株式会社 | 数据存储装置以及重布置数据的方法 |
CN101529395B (zh) * | 2006-08-31 | 2012-07-25 | 夏普株式会社 | 文件系统 |
CN102841917A (zh) * | 2011-06-14 | 2012-12-26 | 索尼公司 | 信息处理设备和方法以及程序 |
CN107357528A (zh) * | 2017-06-29 | 2017-11-17 | 长沙伟确科技发展有限公司 | 一种基于flash的文件系统 |
CN107533518A (zh) * | 2015-01-20 | 2018-01-02 | 乌尔特拉塔有限责任公司 | 用于容错对象存储器结构的分布式索引 |
CN108694963A (zh) * | 2017-04-04 | 2018-10-23 | 爱思开海力士有限公司 | 数据转换设备及方法 |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050152251A1 (en) * | 2004-01-08 | 2005-07-14 | Victor Company Of Japan, Ltd. | Method and apparatus for recording check data of file system on recording medium |
JP2005258851A (ja) * | 2004-03-12 | 2005-09-22 | Renesas Technology Corp | メモリカード |
JP4570891B2 (ja) * | 2004-03-30 | 2010-10-27 | ルネサスエレクトロニクス株式会社 | 記憶装置 |
JP4843222B2 (ja) * | 2005-01-11 | 2011-12-21 | 株式会社東芝 | 半導体記憶装置の制御方法、メモリカード、及びホスト機器 |
KR100746289B1 (ko) | 2005-07-11 | 2007-08-03 | 삼성전자주식회사 | 메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치및 방법 |
JP4547028B2 (ja) * | 2005-08-03 | 2010-09-22 | サンディスク コーポレイション | ブロック管理を伴う不揮発性メモリ |
JP4859837B2 (ja) * | 2005-09-22 | 2012-01-25 | パナソニック株式会社 | 情報記録媒体アクセス装置、及びデータ記録方法 |
US7836105B2 (en) * | 2005-11-14 | 2010-11-16 | Apple Inc. | Converting file-systems that organize and store data for computing systems |
KR100755700B1 (ko) * | 2005-12-27 | 2007-09-05 | 삼성전자주식회사 | 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법 |
JP4895264B2 (ja) * | 2005-12-27 | 2012-03-14 | 株式会社メガチップス | 記憶装置および情報処理装置 |
KR100737919B1 (ko) * | 2006-02-28 | 2007-07-10 | 삼성전자주식회사 | 낸드 플래시 메모리의 프로그램 방법 및 메모리 시스템의프로그램 방법 |
CN100485681C (zh) * | 2006-03-23 | 2009-05-06 | 北京握奇数据系统有限公司 | 智能卡存储系统及该系统中文件创建管理的方法 |
DE102006013765A1 (de) | 2006-03-24 | 2007-09-27 | Robert Bosch Gmbh | Verfahren zur Belegung eines Speichers |
KR100845137B1 (ko) * | 2006-10-02 | 2008-07-09 | 삼성전자주식회사 | 메모리 장치의 배드 블록 주소를 번역하는 방법, 메모리장치의 배드 블록 주소를 번역하는 장치 및 이를 포함하는메모리 장치 컨트롤러 |
US8151060B2 (en) | 2006-11-28 | 2012-04-03 | Hitachi, Ltd. | Semiconductor memory system having a snapshot function |
US8935302B2 (en) | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
WO2008070813A2 (en) | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for a front-end, distributed raid |
US9495241B2 (en) | 2006-12-06 | 2016-11-15 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for adaptive data storage |
KR101442145B1 (ko) * | 2007-01-11 | 2014-09-23 | 삼성전자 주식회사 | 데이터 관리 장치 및 방법 |
KR100877609B1 (ko) * | 2007-01-29 | 2009-01-09 | 삼성전자주식회사 | 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법 |
JP2009003784A (ja) * | 2007-06-22 | 2009-01-08 | Toshiba Corp | 不揮発性メモリの制御装置及び制御方法及び記憶装置 |
JP2009003783A (ja) * | 2007-06-22 | 2009-01-08 | Toshiba Corp | 不揮発性メモリの制御装置及び制御方法及び記憶装置 |
US8103936B2 (en) * | 2007-10-17 | 2012-01-24 | Micron Technology, Inc. | System and method for data read of a synchronous serial interface NAND |
US7675776B2 (en) * | 2007-12-21 | 2010-03-09 | Spansion, Llc | Bit map control of erase block defect list in a memory |
US8239611B2 (en) | 2007-12-28 | 2012-08-07 | Spansion Llc | Relocating data in a memory device |
US8751770B2 (en) | 2008-01-16 | 2014-06-10 | Panasonic Corporation | Semiconductor recording apparatus and semiconductor recording system |
US8296506B2 (en) * | 2009-11-09 | 2012-10-23 | Lite-On It Corporation | Method for managing a non-violate memory and computer readable medium thereof |
TWI498731B (zh) * | 2010-03-17 | 2015-09-01 | Phison Electronics Corp | 非揮發性記憶體儲存系統 |
TWI425355B (zh) * | 2010-03-17 | 2014-02-01 | Phison Electronics Corp | 資料存取方法、記憶體控制器與儲存系統 |
US20120239860A1 (en) | 2010-12-17 | 2012-09-20 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
CN102591807B (zh) * | 2011-12-30 | 2015-03-11 | 记忆科技(深圳)有限公司 | 一种固态硬盘掉电和写异常处理方法及系统 |
TWI451248B (zh) * | 2012-01-13 | 2014-09-01 | Phison Electronics Corp | 資料保護方法、記憶體控制器與記憶體儲存裝置 |
US10019353B2 (en) | 2012-03-02 | 2018-07-10 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for referencing data on a storage medium |
JP5659178B2 (ja) * | 2012-03-16 | 2015-01-28 | 株式会社東芝 | 不揮発性記憶装置及び不揮発性メモリの制御方法 |
US8625386B2 (en) | 2012-03-22 | 2014-01-07 | Seiko Epson Corporation | Non-volatile memory device, circuit board, printing material container and printer |
JP6072428B2 (ja) * | 2012-05-01 | 2017-02-01 | テセラ アドバンスト テクノロジーズ インコーポレーテッド | 制御装置、記憶装置、記憶制御方法 |
US9678966B2 (en) * | 2013-11-08 | 2017-06-13 | Samsung Electronics Co., Ltd. | Swat command and API for atomic swap and trim of LBAs |
US11086521B2 (en) | 2015-01-20 | 2021-08-10 | Ultrata, Llc | Object memory data flow instruction execution |
US9971542B2 (en) | 2015-06-09 | 2018-05-15 | Ultrata, Llc | Infinite memory fabric streams and APIs |
US10698628B2 (en) | 2015-06-09 | 2020-06-30 | Ultrata, Llc | Infinite memory fabric hardware implementation with memory |
US9886210B2 (en) | 2015-06-09 | 2018-02-06 | Ultrata, Llc | Infinite memory fabric hardware implementation with router |
KR102316198B1 (ko) * | 2015-06-12 | 2021-10-25 | 삼성전자주식회사 | 파일 액세스 방법, 컴퓨터, 및 컴퓨터-읽기 가능한 매체에 실행 가능한 소프트웨어 제품 |
US9904607B2 (en) * | 2015-11-13 | 2018-02-27 | International Business Machines Corporation | Logical to physical table restoration from stored journal entries |
US10241676B2 (en) | 2015-12-08 | 2019-03-26 | Ultrata, Llc | Memory fabric software implementation |
EP3387548B1 (en) | 2015-12-08 | 2023-08-02 | Ultrata LLC | Memory fabric operations and coherency using fault tolerant objects |
US10248337B2 (en) | 2015-12-08 | 2019-04-02 | Ultrata, Llc | Object memory interfaces across shared links |
CA3006773A1 (en) | 2015-12-08 | 2017-06-15 | Ultrata, Llc | Memory fabric software implementation |
WO2018207489A1 (ja) * | 2017-05-10 | 2018-11-15 | オリンパス株式会社 | 動画生成装置、動画生成方法、及び動画生成プログラム |
JP6935694B2 (ja) * | 2017-07-12 | 2021-09-15 | 株式会社デンソー | 電子制御装置 |
JP2019179455A (ja) * | 2018-03-30 | 2019-10-17 | 東芝メモリ株式会社 | 記憶装置及びコンピュータシステム |
KR102089164B1 (ko) | 2018-07-18 | 2020-03-13 | 고진호 | 격투기용 신체보호대 |
CN114116366A (zh) * | 2020-08-26 | 2022-03-01 | 宸展光电(厦门)股份有限公司 | 一种检测存储器安装状态的方法、装置及系统 |
CN114442903B (zh) * | 2020-10-30 | 2024-07-05 | 伊姆西Ip控股有限责任公司 | 管理存储系统的方法、电子设备和计算机程序产品 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10207788A (ja) | 1997-01-28 | 1998-08-07 | Casio Comput Co Ltd | 情報記録装置及びそのデータ管理方法並びに記録媒体 |
US6330028B1 (en) | 1996-02-15 | 2001-12-11 | Casio Computer Co., Ltd. | Electronic image pickup device which is operable even when management information related to recording/reproducing image data is not readable |
JPH11144478A (ja) * | 1997-11-10 | 1999-05-28 | Hitachi Device Eng Co Ltd | 不揮発性半導体メモリの情報記憶方法および電子機器 |
KR100704998B1 (ko) * | 1999-02-26 | 2007-04-09 | 소니 가부시끼 가이샤 | 기록방법, 관리방법 및 기록장치 |
CN1143218C (zh) * | 1999-03-03 | 2004-03-24 | 索尼公司 | 记录设备、记录方法、再现设备和再现方法 |
JP4779183B2 (ja) * | 1999-03-26 | 2011-09-28 | ソニー株式会社 | 再生装置および再生方法 |
JP4281185B2 (ja) * | 1999-03-25 | 2009-06-17 | ソニー株式会社 | 編集装置および方法 |
JP3524428B2 (ja) * | 1999-04-20 | 2004-05-10 | 東京エレクトロンデバイス株式会社 | 記憶装置、記憶システム、メモリ管理方法及び記録媒体 |
US6643731B2 (en) * | 1999-12-31 | 2003-11-04 | Texas Instruments Incorporated | Low cost memory management that resists power interruption |
JP4037605B2 (ja) | 2000-12-04 | 2008-01-23 | 株式会社東芝 | 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法 |
TW539950B (en) * | 2000-12-28 | 2003-07-01 | Sony Corp | Data recording device and data write method for flash memory |
-
2003
- 2003-03-19 JP JP2003074931A patent/JP2004280752A/ja active Pending
-
2004
- 2004-02-20 TW TW093104314A patent/TWI247988B/zh not_active IP Right Cessation
- 2004-03-05 EP EP04717886A patent/EP1507209A4/en not_active Withdrawn
- 2004-03-05 WO PCT/JP2004/002924 patent/WO2004084074A1/ja active Application Filing
- 2004-03-05 CN CNA2004800002463A patent/CN1698035A/zh active Pending
- 2004-03-05 KR KR1020047018663A patent/KR20050107557A/ko not_active Application Discontinuation
- 2004-03-05 US US10/514,985 patent/US7444460B2/en not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101449248A (zh) * | 2006-05-18 | 2009-06-03 | 巴比禄股份有限公司 | 数据存储装置以及数据存储方法 |
CN101449248B (zh) * | 2006-05-18 | 2013-07-24 | 巴比禄股份有限公司 | 数据存储装置以及数据存储方法 |
CN101529395B (zh) * | 2006-08-31 | 2012-07-25 | 夏普株式会社 | 文件系统 |
CN101201724B (zh) * | 2006-12-11 | 2011-04-06 | 富士通株式会社 | 数据存储装置以及重布置数据的方法 |
CN102841917A (zh) * | 2011-06-14 | 2012-12-26 | 索尼公司 | 信息处理设备和方法以及程序 |
CN107533518A (zh) * | 2015-01-20 | 2018-01-02 | 乌尔特拉塔有限责任公司 | 用于容错对象存储器结构的分布式索引 |
CN107533518B (zh) * | 2015-01-20 | 2020-09-18 | 乌尔特拉塔有限责任公司 | 用于容错对象存储器结构的分布式索引 |
CN108694963A (zh) * | 2017-04-04 | 2018-10-23 | 爱思开海力士有限公司 | 数据转换设备及方法 |
CN108694963B (zh) * | 2017-04-04 | 2022-04-12 | 爱思开海力士有限公司 | 数据转换设备及方法 |
CN107357528A (zh) * | 2017-06-29 | 2017-11-17 | 长沙伟确科技发展有限公司 | 一种基于flash的文件系统 |
Also Published As
Publication number | Publication date |
---|---|
US20050182892A1 (en) | 2005-08-18 |
KR20050107557A (ko) | 2005-11-14 |
WO2004084074A1 (ja) | 2004-09-30 |
TWI247988B (en) | 2006-01-21 |
US7444460B2 (en) | 2008-10-28 |
JP2004280752A (ja) | 2004-10-07 |
EP1507209A1 (en) | 2005-02-16 |
TW200506609A (en) | 2005-02-16 |
EP1507209A4 (en) | 2008-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1698035A (zh) | 数据存储装置、更新数据存储装置中的管理信息的方法和计算机程序 | |
CN1276358C (zh) | 用于存储设备的地址转换单元 | |
CN1295706C (zh) | 非易失存储器、记录装置和记录方法 | |
CN1249586C (zh) | 闪速存储器系统 | |
CN1249585C (zh) | 闪速存储器系统 | |
CN1315057C (zh) | 重映射闪速存储器的方法 | |
CN1922571A (zh) | 数据运行编程 | |
CN1229724C (zh) | 外部存储设备和数据处理方法 | |
TWI436370B (zh) | 記憶體儲存裝置、其記憶體控制器與產生對數似然比之方法 | |
CN1260665C (zh) | 用于管理可换存储媒体的设备和方法 | |
CN1278243C (zh) | 用于合并存贮的数据项的按块擦除存储系统和方法 | |
CN1596401A (zh) | 非易失性存储器装置的控制方法 | |
CN1841327A (zh) | 信息处理设备和信息处理方法 | |
CN1493026A (zh) | 存储装置及利用此存储装置的记录再生装置 | |
CN1956088A (zh) | 信息处理装置、信息处理方法以及计算机程序 | |
CN1950811A (zh) | 信息处理设备、集成电路、数据传送控制方法、数据传送控制程序、程序存储介质、程序传输介质和数据存储介质 | |
CN1705934A (zh) | 文件更新设备 | |
CN1906596A (zh) | 文件记录装置 | |
CN1290014A (zh) | 快闪存储器及其控制方法 | |
CN101075203A (zh) | 存储装置以及其恢复卷生成方法 | |
CN101042674A (zh) | 非易失性存储装置及其数据写入方法 | |
CN1947100A (zh) | 非易失性存储系统、非易失性存储装置、存储控制器、存取装置以及非易失性存储装置的控制方法 | |
CN1700187A (zh) | 信息处理设备、信息处理方法和计算机程序 | |
CN1771565A (zh) | 半导体存储器以及半导体存储器的操作方法 | |
CN1811744A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |