CN1295706C - 非易失存储器、记录装置和记录方法 - Google Patents

非易失存储器、记录装置和记录方法 Download PDF

Info

Publication number
CN1295706C
CN1295706C CNB991116232A CN99111623A CN1295706C CN 1295706 C CN1295706 C CN 1295706C CN B991116232 A CNB991116232 A CN B991116232A CN 99111623 A CN99111623 A CN 99111623A CN 1295706 C CN1295706 C CN 1295706C
Authority
CN
China
Prior art keywords
data
control table
logical address
piece
logical
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.)
Expired - Lifetime
Application number
CNB991116232A
Other languages
English (en)
Other versions
CN1243317A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN1243317A publication Critical patent/CN1243317A/zh
Application granted granted Critical
Publication of CN1295706C publication Critical patent/CN1295706C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/322Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier used signal is digitally coded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • G11B2220/61Solid state media wherein solid state memory is used for storing A/V content

Abstract

本发明的目的是提供一种非易失存储器,它包括一个逻辑/物理地址控制表,用于控制离散记录在该非易失存储器上的数据,所述非易失存储器由多个块组成,每一块用作一个数据删除单元,该非易失存储器还包括多个相邻页,每一页具有固定长度,用作数据读/写单元,本发明的目的还提供一种记录装置和记录方法,用以产生在逻辑/物理地址控制表中编目的和用于对该非易失存储器实现访问的控制数据。

Description

非易失存储器、记录装置和记录方法
本发明涉及一种非易失存储器,它包括一个逻辑/物理地址控制表,用于控制其中离散记录数据的非易失存储器,该非易失存储器由多个块组成,每一块用作一个数据删除单元,每一块还包括多个相邻页,每一页具有固定长度,用作数据读/写单元,本发明还涉及一种记录装置和记录方法,用以产生在逻辑/物理地址控制表上编目和用于对该非易失存储器实现访问的控制数据。
近年来,开发出一种紧致存储设备(或存储介质),它包括一种固态存储设备,诸如快速存储器(flash memory),其安装在各种设备上,诸如视频摄像机,以存储视频、音频和计算机数据。
由于这样的存储设备比通常的存储介质诸如3.5英寸的软磁盘更为紧凑,而且需要较小尺寸的驱动器,因此该设备可以合适地安装在诸如视频摄像机、记录装置和便携式计算机设备。
顺便提及,快速存储器显示出一种特征,表示出其寿命由重复写和删除操作的次数而影响。对于往使用类似上述快速存储器的存储设备上写数据或从其读数据的文件系统,已经引入了逻辑和物理地址概念。在具有这种引入的概念的配置中,使用逻辑和物理地址执行往存储设备写数据或从其读数据的操作。
使用系统中采用的这种配置,为进行对系统中由快速存储器实现的存储设备的访问,往存储器上写数据或从其读数据,必须提供表示逻辑地址和物理地址之间关系的表。这种表下面称为逻辑/物理地址控制表。
在常规系统中,在使用该存储设备的主装置中提供一个逻辑/物理地址控制表。
顺便提及,一个大的逻辑/物理地址控制表根据快速存储器的存储容量具有大约为16KB的典型数据大小。另一方面,嵌入在主装置中使用的一个单芯片微处理器中的RAM(随机存取存储器)的存储容量最大只有几十KB。这样,如果该逻辑/物理地址控制表被包含在嵌入在主装置中使用的一个微处理器的RAM中的话,则该RAM的大部分存储区域将被逻辑/物理地址控制表占据。这样,在嵌入在微处理器中的RAM中存储逻辑/物理地址控制表而不牺牲该微处理器的处理性能便非常困难。另外,一个低成本微处理器可能只具有大约10KB的RAM容量。在该种情况下,由于逻辑/物理地址控制表的尺寸大于RAM容量,因此不可能在这种微处理器的嵌入RAM中存储逻辑/物理地址控制表。
为解决上述问题,使用由快速存储器实现的存储设备的主装置配备有外部RAM,其可以用于存储逻辑/物理地址控制表。
然而,外部提供的RAM带来提高成本和由于需要另外的功率以驱动外部RAM而增加功率消耗的问题。特别是,如果主装置是一个由电池供电的便携式装置,则增加功率消耗的问题引起另一影响电池寿命的严重问题。
另外,记录在在外部RAM中存储的逻辑/物理地址控制表中的信息当该存储设备从主装置取下时被清除。正常情况下每当该存储设备安装在主装置上时信息记录在逻辑/物理地址控制表内。
在产生一个逻辑/物理地址控制表时,主装置的微处理器检查安装在主装置上的存储设备的内部状态,在该逻辑/物理地址控制表上构造信息,作为一个文件管理系统的一部分。然后该逻辑/物理地址控制表存储在外部RAM中。
执行这种准备处理需要的时间至少要几秒钟。在具有低处理能力的低成本微处理器的场合,需要的处理时间是几秒钟的若干倍。例如,因为往存储设备上写数据或从其读数据的访问只有在准备处理完成之后才可以进行,因此,执行准备处理所需要的时间对用户来说作为写时间出现。如果考虑以用户喜欢的方式使用该设备,则执行这种准备处理所需要的时间需要尽可能缩短。
因此,本发明的一个目的是提供一种包括一个逻辑/物理地址控制表的非易失存储器,和为产生控制数据的一种记录装置以及记录方法,所述控制数据在逻辑/物理地址控制表上编目并用于对该非易失存储器实现访问,其中,该非易失存储器允许只有一个小工作存储器的微处理器使用逻辑/物理地址控制表对其进行访问。
根据本发明的第一方面,提供一个非易失存储器,它允许只有一个小工作存储器的微处理器使用逻辑/物理地址控制表访问该非易失存储器,其中该非易失存储器的一个存储区域包括一个主数据区域,该主数据区域包括任一由多个相邻页组成的块,每一页用于记录区别主数据和控制数据的一个标识符,并且用于记录主数据;还包括一个控制数据区域,它包括任一由多个相邻页组成的块,每一页用于记录区别主数据和控制数据的一个标识符,并且用于记录表示关联逻辑地址与物理地址的关系的控制数据,其中该逻辑地址分配给写入这些块中的数据项,而物理地址表示这些块的物理布局顺序。
根据本发明的第二方面,提供一种记录装置,它产生在逻辑/物理地址控制表上编目、用于对该非易失存储器进行访问的控制数据,包括:属性确定设备,用于确定要写入该非易失存储器的数据是主数据还是控制数据;标识符产生设备,用于按照由属性确定设备输出的判定结果产生一个指示要写入该非易失存储器的数据是主数据还是控制数据的标识符;存储器控制设备,用于综合要写入该非易失存储器的数据和由标识符产生设备输出的标识符、并把综合的数据写入该非易失存储器。
根据本发明的第三方面,提供一种记录方法,该方法产生在逻辑/物理地址控制表上编目的、用于对该非易失存储器进行访问的控制数据,包括:属性确定步骤,确定要写入该非易失存储器的数据是主数据还是控制数据;标识符产生步骤,按照在属性确定步骤输出的判定结果产生一个指示要写入该非易失存储器的数据是主数据还是控制数据的标识符;和综合要写入该非易失存储器的数据和在标识符产生步骤输出的标识符、并把综合的数据写入该非易失存储器的步骤。
图1是表示常规系统配置的方框图,该常规系统包括一个主装置和一个平面存储器,为与本发明的一个实施例比较;
图2是一个说明图,概念表示主装置使用的微处理器和在常规系统中的平面存储器之间的接口,为与本实施例比较;
图3是表示一个系统配置的方框图,该系统包括一个主装置和一个平面存储器,其由本发明的实施例实现;
图4是一个说明图,概念表示主装置使用的微处理器和在本实施例中的平面存储器之间的接口;
图5A是表示该平面存储器外部形状的前视图;
图5B是表示该平面存储器外部形状的俯视图;
图5C是表示该平面存储器外部形状的侧视图;
图5D是表示该平面存储器外部形状的仰视图;
图6是一个说明图,表示由本实施例提供的一个文件系统的处理层次;
图7A是一个说明图,表示在一个快速存储器的物理数据结构中的一段;
图7B是一个说明图,表示在该快速存储器的物理数据结构中的引导块;
图7C是一个说明图,表示在该快速存储器的物理数据结构中的引导块的备份;
图7D是一个说明图,表示在该快速存储器的物理数据结构中的一块;
图7E是一个说明图,表示在该快速存储器的物理数据结构中的一页;
图7F是一个说明图,表示在该快速存储器的物理数据结构中该页的一个冗余部分;
图8是一个说明图,表示一个管理标志的内容;
图9A是一个说明图,表示在更新快速存储器中的数据的处理概念说明中的一个处理前状态、一个逻辑地址和一个物理地址;
图9B是一个说明图,表示在更新快速存储器中的数据的处理概念说明中的一个处理后状态、一个逻辑地址和一个物理地址;
图10是一个说明图,概念说明管理一个逻辑/物理地址控制表的概念;
图11A是表示由本实施例提供的逻辑/物理地址控制表完整数据结构的图;
图11B是表示由本实施例提供的逻辑/物理地址控制表的一段的数据结构的图;
图12A是一个说明图,用于说明通过使用由本实施例提供的逻辑/物理地址控制表对未使用块的管理;
图12B是一个说明图,用于说明通过使用常规系统的逻辑/物理地址控制表对未使用块的管理;
图13是一个说明图,表示在一个快速存储器的存储容量、块数、块大小、页大小和逻辑/物理地址控制表大小之间的关系;
图14A是一个说明图,表示由本实施例提供的快速存储器中一段的物理数据结构;
图14B是一个说明图,表示由本实施例提供的快速存储器中一个主数据块的物理数据结构;
图14C是一个说明图,表示由本实施例提供的快速存储器中一个控制数据块的物理数据结构;
图14D是一个说明图,表示由本实施例提供的快速存储器中的逻辑/物理地址控制表的结构;
图15是一个流程图,表示在由本实施例实现的一个记录装置中采用的记录方法;
图16是一个流程图,表示确定在重写数据的操作中要用的块的方法和对由本实施例实现的记录装置中的逻辑/物理地址控制表进行的相关处理;
图17是一个流程图,表示在由本实施例实现的记录装置中重写主数据的方法;
图18是一个流程图,表示在由本实施例实现的记录装置中重写控制数据的方法。
下面叙述本发明的一个实施例。应该注意,由本实施例提供的存储设备是一个具有平面外部形状的平面存储器。
本实施例以下述顺序叙述:
1.存储器的外部形状
2.存储器格式
2-1.存储器文件系统的处理层次
2-2.物理数据结构
2-3.物理和逻辑地址概念
2-4.本实施例的逻辑物理地址控制表
3.系统配置
1.存储器的外部形状
从平面存储器1的平面形状开始叙述,该平面存储器是由本发明的实施例提供的一个存储设备,其参考图5A、5B、5C和5D。
平面存储器(planar memory)1是由封装在如图5A、5B、5C和5D所示平面外壳中的一个存储器设备实现的,通常具有预定存储容量。在本实施例中,该存储器设备是快速存储器。
图5A、5B、5C和5D分别是该外壳的前视图、俯视图、侧视图和仰视图,该外壳形成例如典型长度W11为60mm、典型宽度W12为20mm的一个塑料模子,其示于图5B,其典型高度W13为2.8mm,其示于图5A。
在外壳表面上形成的终端单元2具有9个电极,其如此配置,使从前面的下部向底面延伸。数据向该内部存储器设备写或从其读出都通过终端单元2进行。
在表示外壳俯视图的图的左上角形成一个切口3。该切口3防止平面存储器1例如在错误插入方向上被插入主装置的驱动器的外壳安装/拆卸机构中。
在外壳的底部产生一个有突痕的表面4以阻止外壳滑动,它改善了外壳的可用性。
此外还在底部形成一个滑动开关5,以防止无意擦除存储在内部存储设备上的数据。
2.存储器格式
2-1.存储器文件系统的处理层次
下面的叙述解释平面存储器1用作其记录介质的系统中所采用的格式。
图6是一个说明图,表示平面存储器1用作其记录介质的系统的文件系统处理层次。
如图6所示,文件系统处理层次包括位于顶部的应用处理层,后面顺序是文件管理处理层、逻辑地址层、物理地址层,层次的底层是快速存储器访问层。层次中的文件管理处理层是所谓的FAT(文件分配表)。从图6也可以明显看出,本实施例的文件系统引入逻辑和物理地址的概念,其在后面叙述。
2-2.物理数据结构
图7A到7F是表示一种快速存储器的物理数据结构的图,这种快速存储器用作平面存储器1的存储设备。
快速存储器的存储区域分为段,亦即每一个具有固定长度的基本数据单元。段的大小规定为4MB或8MB。这样,组成快速存储器的段的数目随该快速存储器的容量而变化。
如图7A所示,段进一步又分为块,每一块是规定为长度为8KB或16KB的数据单元。基本上,一段分为512块,亦即块0到n,其中n=511,如图7A所示。然而,快速存储器允许包括具有直到预定块数的一个损坏区。损坏区是数据不能写入的损坏区域。这样,数据可以实际写入的有效块数小于512,亦即实际上n小于511。
如图7A所示,在块0到n的头两块,亦即块0和1,称为引导块。然而实际上,有效块的头两块用作引导块。这样,不能保证引导块总是块0和块1。
剩余块是用于存储用户数据的用户块。
如图7D所示,块进一步分为页0到m。如图7E所示,一页包括一个512字节的数据区和一个16字节的冗余部分,固定长度为528字节。应该注意,冗余部分的结构后面将参考图7F叙述。
一块中的页数对块大小为8KB的为16,而对块大小为16KB的为32。
图7D所示块结构和图7E所示页结构既应用于引导块,也应用于用户块。
数据写入快速存储器或从其读出以页单元进行。然而,数据从快速存储器删除则以块单元进行。快速存储器的特征在于,数据不能写入其它数据在前已经写入的区域。这样,新数据或者替换数据必须写入由文件管理系统作为未使用区域表示的页之中。文件管理系统只需通过改变在控制块状态的表中为该块的特定数据为一个新值,指示该块是一个未使用块而不删除该块内容,而改变一块的状态从“使用”为“未使用”状态。由于这一理由,在把数据写入这一未使用块之前,必须删除其中的内容。由于块单元中的内容只能以前述方法删除,因此新数据或者替换数据实际以块单元,而不是页单元写入快速存储器中。
如图7B所示,在第一引导块的页0中存储一个头标。指明一个指示初始坏数据位置的地址的信息存储在页1。在页2中,存储称为CIS/IDI(卡信息结构/识别驱动器信息)的信息。
如图7C所示,第二引导块用作备份区域。
示于图7E的16字节冗余部分具有图7F所示结构。
如图7F所示,冗余部分的头3个字节,亦即字节0到2,是一个覆盖区,其可以根据数据区域内容的更新重写。更具体说,字节0用于存储块状态,字节1用于存储数据状态(块标志数据)。字节2中的预定数目的高阶位用于存储更新状态(更新状态)。
基本上,字节3到15的内容按照存储在该页上的数据是固定的。也就是说,这些字节是用于存储不能被重写的信息的区域。
更具体说,管理标志(块信息)存储在字节3,而逻辑地址(逻辑地址)存储在组成后继两字节区域的一个区域中,亦即字节4和字节5。
后继组成字节6到10的5字节区域用作格式保留区。后继组成字节11和12的两字节区域用于存储为该格式保留改正错误的分布信息ECC(错误改正码)。
剩余的字节13到15用于存储为改正存储在图7E所示数据区域中的数据的错误的数据ECC。
如图8所示,存储在图7F所示冗余部分的字节3中的管理标志的位7到0的内容个别定义。
位7、6、1和0为未定义的保留位。
位5包括一个标志,指示对该块访问的允许是有效还是无效。更具体说,数值1指示对该块的访问可以自由进行,而数值0指示该块是读保护的。位4包括一个复制禁止说明标志,数值1表示允许复制操作,而数值0表示复制操作被禁止。
位3是一个控制表标志,指示该块是否是存储后面要叙述的逻辑/物理地址控制表的块。更具体说,位3中设定的数值0指示该块是存储逻辑/物理地址控制表的块。另一方面,位3中设定的数值1指示否定,亦即,该块不是存储逻辑/物理地址控制表的块。
位2是一个系统标志。数值1指示该块是一个用户块,而数值0指示该块是一个引导块。
下面参考图13解释快速存储器的存储容量和块数或者段数之间的关系。
如图所示,平面存储器1的快速存储器的存储容量规定为4MB、8MB、16MB、32MB、64MB或128MB。
在最低存储容量4MB的场合,块大小规定为8KB,块数为512。也就是说,4MB的存储容量正好等于一段的大小。具有快速存储器存储容量为8MB的平面存储器1包含1024块,每一块规定为8KB大小,如前所述。1024块组成两段。另外,如前所述,一个8KB的块包括16页。
然而,在具有快速存储器存储容量为16MB的平面寄存器1的场合,块的大小可以为8KB或16KB。这样,平面存储器1可以包括2048个8KB的块(或4段)或者1024个16KB的块(或2段)。一个16KB的块包括32页。
在具有快速存储器存储容量为32MB、64MB、或128MB的场合,块大小只规定为16KB。这样,具有快速存储器存储容量为32MB的平面存储器1包括2048块(或4段),具有快速存储器存储容量为64MB的平面存储器1包括4096块(或8段)。另一方面,具有快速存储器存储容量为128MB的平面存储器1包括8192块(或16段)。
2-3.物理和逻辑地址概念
下面的说明通过表示在图9A和9B所示更新前述快速存储器的物理数据结构中的数据的操作,解释在由本实施例提供的文件系统中采用的物理和逻辑地址的概念。
图9A是表示作为模型从一段中取出的4块的图。
给每一块分配一个物理地址。如图所示,物理地址按照在该存储器中块的物理布局增加。在一块和分配给该块的物理地址之间的关系是固定的。分配给图9A所示4块的物理地址的值为顶块为105,后面顺序为106、107和108。应该注意,一个实际物理地址为两字节长。
在图9A所示例子中,具有物理地址105和106的块是其中存储有数据的使用块。另一方面,具有物理地址107和108的块为未使用块或未记录区域,数据从中被删除。
逻辑地址为分配给写入某块中的数据的一个地址。逻辑地址是由FAT文件系统使用的地址。
在图9A所示例子中,分配给4块中的数据项的逻辑地址的数值是:为顶块中的数据的102,后面顺序为103、104和105。应该注意,一个实际逻辑地址也是两字节长。
在图9A所示状态下,例如要更新存储在物理地址105处的数据,也就是说,其内容要被覆盖或部分删除。
在这种情况下,在快速存储器的文件系统中,被更新数据不重写在要被更新的同一块中。代之以被更新数据写入一个未使用块。
也就是说,如图9B所示,在处理(1),存储在物理地址105处的数据被删除,然后把被更新数据写入位于物理地址107处的块,它到目前为止是一个来使用块。
然后,在处理(2),改变逻辑地址的分配,使得在图9A所示数据更新处理之前的状态下分配给物理地址105的逻辑地址102重新分配给物理地址107,该地址是分配给写有被更新数据的块,如图9B所示。以这种方式,在数据更新处理之前曾经分配给物理地址107的逻辑地址104重新分配给物理地址105。
也就是说,物理地址固定分配给某块,而逻辑地址可以视为固定分配给某数据的一个地址,该数据具有块单元的大小,并曾经写入某一块。
通过上述交换块,存取并非以集中方式重复在同一存储区域(块)进行,使得可以延长快速存储器的寿命,其由对快速存储器的写操作的数目决定。
通过上述在处理(2)中对逻辑地址的处置,在交换块之间的逻辑地址过程中,数据从该数据在数据更新之前所占据的块的物理地址移动到由被更新数据所占据的块的物理地址。然而,对FAT文件系统,数据好像留在同一逻辑地址,允许对其上的后继访问恰当而正确地进行。
应该注意,为简化对更新存储在逻辑/物理地址控制表中的信息的控制,规定交换块之间逻辑地址的处理为只交换属于同一段的块之间的逻辑地址的处理。换一种说法,在不同段的块之间不交换逻辑地址。
2-4.本实施例的逻辑/物理地址控制表
从参考图9A和9B的说明中明显看出,块之间逻辑地址的交换改变了逻辑地址对物理地址的分配。逻辑/物理地址控制表用于存储逻辑地址对物理地址分配的信息。这样,为实现对快速存储器的访问,写数据到快速存储器或从其上读数据,就需要逻辑/物理地址控制表。详细说,FAT文件系统指的就是逻辑/物理地址控制表,以便识别与在由FAT文件系统进行访问时指定的逻辑地址关联的物理地址。然后这一访问对所确定的物理地址处的块进行。反过来说,由FAT文件系统对快速存储器的访问不可能没有逻辑/物理地址控制表进行。
在常规系统中,当平面存储器1安装在主装置上时,由主装置中使用的一个微处理器建立一个逻辑/物理地址控制表,它通过对该平面存储器1中的所有页检查图7F所示冗余部分的逻辑地址,然后存储在同样由主装置使用的RAM中而实现。也就是说,平面存储器1不包括存储在逻辑/物理地址控制表中的信息。
在本实施例的情况下,正好相反,逻辑/物理地址控制表存储在平面存储器1之内,关于这点下面叙述。
图10是概念表示逻辑/物理地址控制表结构的图,该表存储在由本发明提供的平面存储器1之内。
在本实施例中,通常以升序放置的逻辑地址被分配给两字节的物理地址,其由存储在所建立的逻辑/物理地址控制表中的分配信息指示。
应该注意,如前所述,实际上逻辑地址和物理地址都由两个字节表示。两个字节内的位数足以覆盖组成具有最大存储容量128MB的快速存储器的8192块。
和物理地址非常相似,图10所示每一逻辑地址实际为两字节长。另外,两字节的逻辑/物理地址每一个均由一个16进制格式表示。也就是说,形如符号“0x”的数包含16进制数字。应该注意,使用符号“0x”的16进制表示在本说明书通篇以同样方式表示一个16进制数。
图11A和11B是表示基于图10所示概念、由本实施例提供的逻辑/物理地址控制表的典型结构的图。为使说明易于理解,这里略去图7E和7F所示16字节的冗余部分。
由本实施例提供的逻辑/物理地址控制表存储在图11A和11B所示快速存储器的某一块中。应该注意,存储逻辑/物理地址控制表的块规定为始终为最后段的一块。
如图11A所示,该块的头两页,亦即页0和页1,是用于存储段0的逻辑/物理地址控制表的信息的区域。在具有图13所示存储容量4MB的快速存储器的场合,只用页0和页1存储在该快速存储器内存在的仅只一块的信息。
具有存储容量8MB的快速存储器包括两段。在这种场合,页0和1用作存储段0的逻辑/物理地址控制表的信息的区域,而页2和3用作存储段1的逻辑/物理地址控制表的信息的区域。
之后,随着快速存储器的存储容量增加,使用接下来的两页来存储该快速存储器另外段的逻辑/物理地址控制表的信息。最后,具有最大存储容量128MB的快速存储器包括16段。在这种场合,所有页用作存储为包括最后段,亦即段15,的所有段的逻辑/物理地址控制表的信息的区域。这样,在具有最大存储容量128MB的快速存储器中,该块的32页全被使用。在图11A,该块的最后页是页N,这里N为31。
从上面的叙述可以明显看出,逻辑/物理地址控制表的信息以段单元控制。
图11B是表示从为1段的逻辑/物理地址控制表中取出的两页信息的结构的图。由于一页的数据区是512字节大小,如图7E所示,因此图11B所示信息为1024(=512×2)字节长。
如图11B所示,包括1024字节的两页的数据区细分为多个子区,每一个包括两字节。从字节0开始而以字节991结束的子区规定为固定分配给逻辑地址0、逻辑地址1等,直到逻辑地址495的子区。这样,逻辑地址495与最后两个字节,亦即字节990和字节991关联。每一个两字节的子区用于存储与该子区分配给的逻辑地址关联的一个物理地址。这样,通过改变作为信息存储在由本实施例提供的逻辑/物理地址控制表中的逻辑地址对物理地址的分配,在块之间交换逻辑地址,作为更新前述分配有逻辑地址的实际数据操作的一部分。具体说,通过交换固定分配给逻辑地址的两字节子区之间在图11B所示两页数据区内的物理地址改变逻辑地址对物理地址的分配
在从字节992到字节1023的两页数据区中的剩余32字节区用于存储该段中剩余16块的物理地址。这样,可以控制剩余16块的物理地址。剩余块通常用作所谓的工作块,其例如用于暂存在更新块单元中的数据的操作中要重写的数据。
顺便说明,尽管前面说明一段包括512块,,但是在图11A和11B所示表结构中,仅有496块是可控制块,分配给逻辑地址0到495。这是由于其余的块用于存储上述剩余块的物理地址,并且在快速存储器中,存在某些作为不可使用块对待的损坏块是不可避免的。事实上,剩余块包括相当大数目的损坏块。
实际上,496个可控制块用作数据可以写入或从其删除的有效块已足够。
如上所述,存储逻辑/物理地址控制表的块包括许多页,每一页包括一个用于存储图8所示管理标志的冗余部分。该管理标志的位3设定为0,指示该块用于存储逻辑/物理地址控制表。
当更新包含逻辑/物理地址控制表的块时,亦即当改变逻辑/物理地址控制表的内容时,无例外执行前面参考图9A和9B解释的交换块之间逻辑地址的处理。也就是说,存储逻辑/物理地址控制表的块是不确定的,或者说不可能规定一块专门用于存储逻辑/物理地址控制表。
这样,FAT文件系统对快速存储器进行访问以检索该存储器其中管理标志的位3设定为0的块,并识别这样的块为记录逻辑/物理地址控制表的块。为使FAT文件系统容易检索快速存储器中存储逻辑/物理地址控制表的块,该逻辑/物理地址控制表在本实施例中规定为总是存储在属于快速存储器最后一段的某块中,也就是说,由最后段号标识的一段。因此,FAT文件只需检索最后一段,查找存储逻辑/物理地址控制表的块。也就是说,对FAT文件来说,不需检索快速存储器中所有段来寻找存储逻辑/物理地址控制表的块。
图11A和11B所示逻辑/物理地址控制表通常在制造平面存储器1的处理期间存储在某块中。
下面的说明参考图14A、14B、14C和14D解释一个例子,以便帮助读者更好理解迄今为止所说明的内容。图14A、14B、14C和14D是表示具有存储容量4MB的快速存储器的图。如同前面参考图13所说明,4MB的快速存储器只包括一段,其由每一个具有16页的512个块组成。
如图14A所示,该快速存储器的段是段0,块0和块1的每一个都用作引导块。由于段0也是最后段,因此无论是主数据还是控制数据都存储在其中。块0的物理地址是0x0000,无逻辑地址与之关联。出于同样原因,块1的物理地址是0x0001,也无逻辑地址与之关联。
在物理地址0x0002处的块2用于存储主数据,该块分配有逻辑地址0x0001。同样,在物理地址0x0003处的块3用于存储主数据,其分配有逻辑地址0x0000。类似地,在物理地址0x0004处的块4用于存储主数据,其分配有逻辑地址0x0004,在物理地址0x0005处的块5用于存储主数据,其分配有逻辑地址0x0003。出于同样原因,在物理地址0x0006处的块6用于存储主数据,其分配有逻辑地址0x0002,在物理地址0x01FF处的块511用于存储主数据,其分配有逻辑地址0x01FD。另一方面,在物理地址0x007B处的块123用于存储控制数据,其分配有逻辑地址0x0005。
图14B是表示用于存储主数据的块2的图,图14C是表示用于存储控制数据的块123的图。如图14B和图14C所示,在存储主数据和存储控制数据的块之间在配置上完全没有差别。在这两块之间的差别是存储在每一块的页0的冗余部分中的一个控制表标志的值。我们取示于图14B和图14C的块为例。示于图14B的块2的控制表标志的值为1,指示该块用于存储主数据。另一方面,示于图14C的块123的控制表标志的值为0,指示该块用于存储控制数据。如图14B和14C所示,一块中的冗余部分的一个逻辑地址字段用于存储分配给在该块中存储的数据的一个逻辑地址。
为使图简单,在图14B中所示冗余部分中的逻辑地址,在图14C中所示冗余部分中的逻辑地址和在图14D中所示逻辑/物理地址控制表中的物理地址每一个都用省略代码0x的16进制格式表示。并非特殊使用,在图14B和14C所示块中的冗余部分中的影线部分每一个具有不确定内容。
如上所述,示于图14C的块用于存储该例中4MB的快速存储器的控制数据。如图14C所示,仅需该块的两页来存储表示包括额外块的4M B快速存储器的段0的逻辑地址和物理地址之间关系的控制数据。该块的剩余页未使用。存储在这两页内的逻辑/物理地址控制表的数据结构示于图14D。需要两页来存储表示一段的逻辑地址和物理地址之间关系的控制数据。因此,在包含更多段的快速存储器的场合,使用该块中的更多页,尽管如图14C中所示,块中总有未使用页存在,除了图13所示具有存储容量128MB的快速存储器外。
图14D是表示包含存储在图14C所示块的页0和1中存储的控制数据的逻辑/物理地址控制表的图。应该注意,逻辑地址0x0000简记为逻辑地址0以使图14D简单,并且这一缩写应用于图14D所示其它逻辑地址。图14D未明确表示哪两个字节用于存储物理地址的高位字节,哪两个字节用于存储物理地址的低位字节。
物理上说,具有存储容量4MB的快速存储器包括512块,如图13所示。由于在快速存储器中存在有损坏块,因此除去两个引导块,最多只有493块分配有逻辑地址,如图14D所示。
如图14A所示,逻辑地址0x0000分配给存储在物理地址0x0003处的块中的数据。在这种场合,物理地址0x0003存储在图14D的逻辑/物理地址控制表中分配给逻辑地址0的两字节中。基于同样理由,物理地址0x0002存储在分配给逻辑地址为1的逻辑/物理地址控制表中,物理地址0x0006存储在分配给逻辑地址为2的逻辑/物理地址控制表中。相似地,物理地址0x0005存储在分配给逻辑地址为3的逻辑/物理地址控制表中,物理地址0x0004存储在分配给逻辑地址为4的逻辑/物理地址控制表中。同样,物理地址0x007b存储在分配给逻辑地址为5的逻辑/物理地址控制表中,物理地址0x01FF存储在分配给逻辑地址为493的逻辑/物理地址控制表中。
在对平面存储器1中的数据访问时,文件系统使用逻辑/物理地址控制表把在该次访问中指定的一个逻辑地址转换为包含该数据的某块的一个物理地址。例如假定一个应用程序发布一条指令,顺序从逻辑地址0x0002、0x0003和0x0004读出数据到文件系统。在这一场合,文件系统按照下述过程处理这一指令。
首先,检索示于图14A的平面存储器1,在其页0的冗余部分查找具有0控制表标志的块。检索结果是,存储逻辑/物理地址控制表的块123被找到。在这一场合,由于逻辑地址0x0002、0x0003和0x0004明显与逻辑/物理地址控制表的第一部分关联以及由于为暂存逻辑/物理地址控制表的控制数据的嵌入式RAM的容量很小,因此,仅读出块123的页0的控制数据。然后通过使用该控制数据把逻辑地址0x0002、0x0003和0x0004分别转换为物理地址0x0006、0x0005和0x0004。最后,该文件系统按照应用程序所发布的指令要求,顺序从物理地址0x0006、0x0005和0x0004读出数据项。
下面返回来参考图13解释在快速存储器的存储容量和逻辑/物理地址控制表的大小之间的关系。
如同前面参考图11A和11B所说明的那样,为控制一段而存储在逻辑/物理地址控制表中的信息量为1024字节(或1KB),相应于两页。这样,为控制如图13所示、具有存储容量4MB的一段的快速存储器,逻辑/物理地址控制表的大小为1KB。为控制具有存储容量8MB的两段的快速存储器,逻辑/物理地址控制表占据2KB的区域,相应于4页。
为控制具有存储容量16MB的4段(=2048块)的快速存储器,逻辑/物理地址控制表占据4KB的一个区域,相应于8页。为控制具有存储容量16MB的两段(=1024块)的快速存储器,逻辑/物理地址控制表占据2KB的区域,相应于4页。
为控制具有存储容量32MB的4段的快速存储器,逻辑/物理地址控制表占据4KB的一个区域,相应于8页。为控制具有存储容量64MB的8段的快速存储器,逻辑/物理地址控制表占据8KB的区域,相应于16页。为控制具有存储容量128MB的16段的快速存储器,逻辑/物理地址控制表占据16KB的区域,相应于32页。
顺便说明,在具有快速存储器常规配置的文件系统的逻辑/物理地址控制表中,使用一个虚不确定值用作与一个未使用逻辑地址关联的一个物理地址。
为具体说明,取图12B所示逻辑/物理地址控制表作为一个例子。在该例中,逻辑地址0x0000、0x0001、0x0002和0x0003已经使用,并分别分配给物理地址0x0002、0x0006、0x0007和0x0008。也就是说,已经存储有数据项的物理地址0x0002、0x0006、0x0007和0x0008分别与逻辑地址0x0000、0x0001、0x0002和0x0003关联。
另一方面,如果逻辑地址0x0004未使用,则使用一个无效值0xFFFF作为与逻辑地址0x0004关联的一个物理地址。作为物理地址设定的无效值0xFFFF指示,在该物理地址处的存储区域未使用。
这样,在参考示于图12B的逻辑/物理地址控制表尝试给分配给逻辑地址0x0004的未使用存储区域新写数据时,FAT文件系统通常在执行往在检索中找到的块上写数据的操作前,在与该逻辑/物理地址控制表不同的层次级检索一个物理上未使用的块。然后,通过编目数据新近写入的块的物理地址到逻辑/物理地址控制表中与逻辑地址0x0004关联的表条目处,这样更新逻辑/物理地址控制表的内容。
然而,在这样实现的逻辑/物理地址控制表中可能产生下面的问题。
假定,由主装置处理的数据是沿时间轴观察的所谓的实时数据,例如动画数据或者一首音乐的音频数据等。
在主装置中,沿时间轴观察的输入数据在作为记录数据记录到平面存储器1中之前接受以实时方式执行的信号处理。
如果采用前面参考图12B说明的逻辑/物理地址控制表的实现方案,则在记录这些数据到平面存储器1的操作中,自然需要检索该平面存储器1来查找上述未使用块。在记录上述沿时间轴观察的数据的操作中,必须以不使数据溢出发生的平均速度写输入数据到平面存储器1。此时所执行的查找未使用块的检索是由微处理器109要执行的相当艰苦的处理。
也就是说,在现有技术中,很难在平面存储器1上记录实时数据。实用中,这种数据仅记录在静止图像文件或文本文件中,它们没有实时要求。
为解决上述问题,在由本实施例提供的逻辑/物理地址控制表中,作为未使用区域控制的某块的物理地址是与一个未使用的逻辑地址关联的。由本实施例提供的逻辑/物理地址控制表的一个例子示于图12A。
在该例中,逻辑地址0x0000、0x0001、0x0002和0x0003已经使用,并分别分配给物理地址0x0002、0x0006、0x0007和0x0008。也就是说,已经存储有数据项的物理地址0x0002、0x0006、0x0007和0x0008分别与逻辑地址0x0000、0x0001、0x0002和0x0003关联,如同在图12B所示例子中的场合。另外,逻辑地址0x0004未使用,正如图12B所示例子的场合一样。
然而,如图12A所示,在该实施例中,代替物理地址0xFFFF的一个典型未使用的物理地址0x0009与该未使用逻辑地址0x0004关联。在该例中,只表示出分配给一个未使用逻辑地址的一个未使用块。应该注意,其它未使用块可以分配给其它逻辑地址,其它未使用块的物理地址与其它未使用逻辑地址以和物理地址0x0009与逻辑地址0x0004关联的同样方式关联。
在以这种方式构造的逻辑/物理地址控制表中,位于与一个逻辑地址关联的一个物理地址的区域可以解释为分配给该逻辑地址的一个空闲区域。
这样,FAT文件系统能够在记录操作中参考逻辑/物理地址控制表事先确定分配给某个逻辑地址的未使用块的一个物理地址,不再像在图12B所示逻辑/物理地址控制表的实现的场合,需要执行查找未使用块的检索处理。也就是说,对FAT文件系统,通过参考逻辑/物理地址控制表,可以获得与分配给一个自由区域的逻辑地址关联的一个物理地址。然后,通过对该块进行访问,把数据写入该物理地址处的一个未使用块。其结果,主装置使用的微处理器负担的处理负载大大减轻,例如,记录前述沿时间轴观察到的数据的操作可以容易地执行。另外在记录不需实时处理的数据的操作中,诸如文本文件数据和静止图像数据,写数据到快速存储器需要的时间通过采用由图12
A所示本实施例提供的文件系统与常规系统比较当然可以缩短。
下面参考图15所示流程图说明由本实施例实现的一个记录/重放装置执行的记录数据的过程。
如图15所示,该流程图从步骤S1开始,在这一步骤,在记录操作开始之前检索作为平面存储器1实现的、承受记录操作的非易失存储器,查找用作一个控制数据区域的块来存储逻辑/物理地址控制表的控制数据。实际上,只检索包含逻辑/物理地址控制表的非易失存储器的最后一段,查找其第一页或页0的冗余部分中带有0控制表标志的块,如图14C所示。
然后流程前进到步骤S2,判定该记录/重放装置的本地存储器是否已经包含逻辑/物理地址控制表的某些控制数据,其量大到足以对该非易失存储器进行访问。如果判定结果指示,本地存储器已经包含逻辑/物理地址控制表的某些控制数据,其量大到足以对非易失存储器进行访问,则处理流程前进到步骤S5。另一方面,如果在步骤S2的判定结果指示,本地存储器没有包含逻辑/物理地址控制表中对该非易失存储器进行访问必要的控制数据,则流程前进到步骤S17。在步骤S17、S18和S19,当前存储在本地存储器中的部分控制数据与其它控制数据交换。在步骤S17,产生在本地存储器中当前存储的控制数据的冗余部分,其控制表标志在本实施例场合指示要写入的数据是逻辑/物理地址控制表的控制数据。该控制数据是逻辑/物理地址控制表的一部分。事先分配给该逻辑/物理地址控制表的一个逻辑地址也记录在该冗余部分。
在步骤S18,当前存储在本地存储器中的逻辑/物理地址控制表的控制数据和在步骤S17产生的冗余部分写入非易失存储器中的逻辑地址处。如前所述,该逻辑地址由文件系统通过使用逻辑/物理地址控制表转换为非易失存储器中的一个物理地址,控制数据和冗余部分实际存储在该位置。
在步骤S19,在步骤S2判定为对该非易失存储器进行访问需要的逻辑/物理地址控制表的某些控制数据从非易失存储器传输到本地存储器。在步骤S19的处理完成后,流程前进到步骤S5。
在步骤S5,检查要写入非易失存储器中的数据属性,判定该数据是控制数据还是主数据。如果判定结果指示是主数据属性,则流程前进到步骤S8。另一方面,如果判定结果指示是控制数据属性,则流程前进到步骤S3。
在步骤S3,产生在步骤S5识别的控制数据的冗余部分,其冗余部分的控制表标志在本实施例的场合指示要写入的数据是逻辑/物理地址控制表的控制数据。该控制数据是逻辑/物理地址控制表的一部分。事先分配给该逻辑/物理地址控制表的一个逻辑地址也记录到该冗余部分。
然后流程前进到步骤S4,这里在步骤S5识别的控制数据和在步骤S3产生的冗余部分写入非易失存储器中的该逻辑地址。如前所述,该逻辑地址由文件系统通过使用逻辑/物理地址控制表转换为非易失存储器中的一个物理地址,控制数据和冗余部分实际存储在该位置。
在步骤S8,使用在本地存储器中当前存储的逻辑/物理地址控制表的一部分判定要写入主数据的下一块。然后流程前进到步骤S9,在这里要写入主数据的页的号码初始化为0。
然后流程前进到步骤S10,在这里从DSP102输入1页的主数据。
在步骤S11判定,主数据要写入的页的号码是否是0。如果该页号码为0,则流程前进到步骤S12。另一方面,如果该页号码非0,则流程前进到步骤S13。在该实施例中,非0标志号码具有的数值范围为1到15。
在步骤S12,产生被识别的主数据的冗余部分,其控制表标志在本实施例的场合设定为1,指示要写入的数据是主数据。事先分配给逻辑/物理地址控制表的一个逻辑地址也记录到该冗余部分。
步骤S13类似步骤S12,除了所产生的冗余部分的内容任意。该内容可以为在步骤S12设定的数值。
在步骤S12或者S13的处理完成后,流程前进到步骤S14,在这里把在步骤S12或S13产生的冗余部分和在步骤S10得到的一页主数据写入非易失存储器的一块的某页中。该块在步骤S8确定,而该页由在步骤S9初始化的页号码指示。
然后流程前进到步骤S15,在这里页号码增1。
然后流程前进到步骤S16,判定在步骤S15增量的页号码是否达到非易失存储器中每块的页数。在本实施例中,非易失存储器中的每块页数是16。这样,页号码等于16指示,写数据到一个块单元的操作已经完成。在这一场合,流程返回步骤S2。另一方面,如果在步骤S16发现页号码小于16,则流程返回步骤S10。
通过执行上述操作,该记录/重放装置能够记录主数据到平面存储器1中。
下面的说明参考图16,17和18解释重写主数据或者控制数据的操作。在下面的说明中,主数据和控制数据度简称为数据。
在使用由一个非易失快速存储器实现的平面存储器1的该实施例中,数据重写到块单元中。这是因为,不像写新数据的操作,在快速存储器中,数据总是重写入之前数据被删除的块中。作为快速存储器的一个特征,被删除数据的最小物理存储单元(每一个称为基元)都设定为“1”。这样,该最小物理存储单元可以视为逻辑数据的位。在写数据到快速存储器的操作中,只在相应于该数据的0位的基元中写0。更具体说,把这样的基元的每一个置于电状态0。一旦一个基元被置于电状态0,则该基元不能恢复到电状态1,即使具有数值1的位被写入该基元。这种基元只能在块删除操作中被恢复为电状态1。这也就是为什么被更新的数据不能正确恢复,除非该数据被写入一个被删除的区域,且其所有基元或位恢复到初始值1。另外如前所述,在该实施例中,被更新的数据不重写到同一区域,以便延长快速存储器的寿命,否则的话由于重复向同一区域写数据的操作会使寿命缩短。代之以被更新的数据重写入当前未使用的块中。也就是说,在重写操作中,被更新的数据从迄今为止数据占据的块被移动或复制到未使用块。
如前所述,逻辑/物理地址控制表具有这种配置,其中每一逻辑地址固定分配给一个表条目,以及与该逻辑地址关联的动态变化的物理地址存储在该表条目中。在重写数据到一个未使用块的操作中必须知道该未使用块的物理地址。如图11B所示,逻辑/物理地址控制表为段1的部分组成两字节的表条目0到495,分别固定分配给逻辑地址0到495。与分配给一个表条目的一个逻辑地址关联的物理地址记录在该表条目中。表条目495后的表条目每一个用于存储一个额外块的物理地址。存储额外块的物理地址的表条目的头标由段号明确确定。
图16是一个流程图,表示确定在一个操作中将要重写数据的块作为写目标块的方法以及对逻辑/物理地址控制表所执行的相关处理。
如图所示,该流程图从步骤S21开始,这里从示于图11B中为额外块的表条目中任意选择一个物理地址作为写目标块的物理地址。写目标块是数据被实际写入的块。
在步骤S22,从示于图11B的逻辑/物理地址控制表中找出与分配给重写操作指定的某块的逻辑块关联的物理地址。应该注意,数据将被实际写入写目标块,而不是重写操作指定的块。
在步骤S23,编目在步骤S21选择的写目标块的物理地址到一个表条目,从该表条目在步骤S22曾找到重写操作指定的块的物理地址。在步骤S24,编目在步骤S22找到的重写操作指定的块的物理地址到为额外块的表条目中,从该表条目在步骤S21曾找到写目标块的物理地址。
下面参考示于图17的流程图解释重写主数据的过程。
如图所示,该流程图从步骤S31开始,在该步骤,以和图16所示流程图的步骤S21同样的方式找到一个写目标块。在步骤S32,从该写目标块删除数据。数据需要从写目标块删除,其原因前面已经说明。
在步骤S33,设定图7F所示写来源块的更新状态标志。写来源块是重写操作指定的块。执行步骤S33的处理以对付诸如电源故障等事故。在电源故障的场合,即使存在在同一段中有同样逻辑地址的块,使用更新状态标志,可以容易地识别写来源块。一旦确定写来源块,则可以容易地重新确定写目标块。
在步骤S34,以和图16所示流程图中步骤S22、S23和S24同样的方式更新逻辑/物理地址控制表的内容。以这种方式,编目写目标块的物理地址到逻辑/物理地址控制表的一个表条目,作为与分配给该表条目的逻辑地址关联的物理地址。
在步骤S35,更新原始数据,同时被更新数据重写入写目标块。
下面参考图18所示流程图解释重写控制数据自身亦即逻辑/物理地址控制表的过程。
如图所示,该流程图从步骤S41开始,在该步骤,以和图16所示流程图的步骤S21同样的方式找到写目标块。在步骤S42,从写目标块删除数据。需要从写目标块删除数据的原因,前面已经说明。
在步骤S43,设定图7F所示写来源块的一个更新状态标志。执行步骤S43的处理以对付诸如电源故障等事故。在电源故障的场合,即使存在在同一段中有同样逻辑地址的块,使用更新状态标志,可以容易地识别写来源块。一旦确定写来源块,则可以容易地重新确定写目标块。
在步骤S44,把写目标块的页0的冗余部分中的控制表标志复位为0,以指示该写目标块是存储逻辑/物理地址控制表的块。如前所述,快速存储器的特征在于,一旦快速存储器的一个基元复位到0,则其不能恢复到1,除非通过块删除删除包含该基元的块中的数据。以这种方式,写目标块被标识为存储逻辑/物理地址控制表的块,直到该表从该块删除。
在步骤S45,以和图16所示流程图中步骤S22、S23和S24同样的方式更新逻辑/物理地址控制表的内容。以这种方式,编目写目标块的物理地址到逻辑/物理地址控制表的一个表条目中,作为与分配给该表条目的一个逻辑地址关联的一个物理地址。
在步骤S46,更新源数据,同时把更新的数据重写入写目标块。
3.系统配置
图3是表示主装置配置的一个方框图,该主装置能够写数据到迄今为止叙述的本发明的实施例提供的平面存储器1,或从其上读数据。图3所示主装置100以及平面存储器1组成由本实施例实现的电子设备系统。在这一场合,主装置100至少能往平面存储器1上写音频数据或从其上读出音频数据。
主装置100的配置包括一个外壳安装/拆卸机构120,用于把平面存储器1安装到主装置100上,或从其拆下。数据通过主接口IC101在安装到外壳安装/拆卸机构120上的平面存储器1和微处理器109之间交换。
另外,主装置100通常还有传声器103,用于输入表示话音和声音的音频信号。然后把该模拟音频信号通过一个传声器放大器104供给DSP(数字信号处理器)102。在DSP102,输入模拟音频信号转变为数字音频信号,以便在作为记录数据供给微处理器109之前接受诸如编码处理等必需的信号处理。
微处理器109能够通过主接口IC101执行将记录数据记录到平面存储器1的处理。
另外,微处理器109通过主接口IC101读出记录在平面存储器1中的音频数据,并将该数据供给DSP102。
在DSP102中,从微处理器109接收到的数据接受诸如解调等必要的信号处理。DSP102最后把作为该处理结果的模拟音频信号供给扬声器放大器105。扬声器放大器105放大从DSP102接收的模拟音频信号,并将放大了的音频信号供给扬声器106。以这种方式,输出重放的音频信号。
通过控制一个显示驱动器107,微处理器109能够在显示单元108上显示希望的图像。假定表示动画或者静止图像的图像数据已经存储在平面存储器1中。在这种场合,微处理器能够在显示单元108上显示从平面存储器1读出的图像数据。
提供一个带各种键的操作单元112,用户使用这些键对主装置100执行各种操作。微处理器109接收由用户操作操作单元112输入的命令,根据该命令执行必要的控制处理。
应该注意,图3所示主装置100的配置通常是配到底的。也就是说,主装置100不限于图中所示的典型配置。换句话说,主装置100可以作为任何类型的电子装置实现,只要该电子装置能够与本实施例提供的平面存储器1交换数据。
为通过具有图3所示配置的主装置100实现往前述平面存储器1上记录数据或从其上重放数据(或写和读)的操作,需要逻辑/物理地址控制表,其由FAT文件系统参考,已如上述。
图4是一个说明图,概念性地表示在基于图3所示配置的主装置100使用的微处理器109和存储在平面存储器1中的逻辑/物理地址控制表之间的接口。
例如,当由本实施例提供的平面存储器1安装在主装置100上时,微处理器109通过主接口IC101从平面存储器1读出在逻辑/物理地址控制表TB中必需的数据。并将该数据存储在一个内部RAM111中。
常规系统的配置示于图1,以便与图3所示由本实施例提供的系统比较。在常规系统中,逻辑/物理地址控制表不存储在平面存储器1A中,参见图1所示配置。应该注意,与图3所示配置的部件相同的图1所示配置的部件用同样的标号注明,因此对后者及其解释不再重复。
图1所示的系统配置与图3所示的不同之处在于,在前者的场合,在主装置100A中提供一个外部RAM113。RAM113连接到微处理器109。
为与图4所示实施例的接口比较,图2表示在主装置100A使用的微处理器109和在图1所示常规系统配置中的平面存储器1A之间的接口。
RAM113用于存储逻辑/物理地址控制表。当安装其内未存储逻辑/物理地址控制表的平面存储器1A时,微处理器109通过主接口IC101访问平面存储器1A,检查平面存储器1A的数据内容,以便执行构造逻辑/物理地址控制表的处理。然后,以这种方式构造的逻辑/物理地址控制表TB存储在RAM113中。
通常,嵌入在微处理器109中的RAM111最多具有大约几十KB的存储容量。因此绝对不可能在RAM111中存储具有大小到16KB的逻辑/物理地址控制表,因为在RAM111中的逻辑/物理地址控制表将阻碍其它处理。某些微处理器109甚至具有小于逻辑/物理地址控制表大小的RAM111。也就是说,在主装置构造并存储逻辑/物理地址控制表的配置的场合,把逻辑/物理地址控制表存储在RAM111中是不现实的。这也就是为什么需要外部RAM113。
另一方面,本实施例采用逻辑/物理地址控制表存储在平面存储器1中的配置。在这一场合,仅只该逻辑/物理地址控制表某些必要的数据直接从平面存储器1读出,并存储在嵌入RAM111中,如前面参考图4所说明的。例如,微处理器109只需要1段的逻辑/物理地址控制表的数据,该段占据逻辑/物理地址控制表中1024字节的区域,如图11所示。这种数据的大小不会对RAM111有什么影响而产生问题。
由于这一理由,可以从图3所示的实施例中去掉外部RAM113。其结果,可以减低主装置100的成本,功率消耗也可以减少为驱动外部RAM113需要的功率的数量。
另外,在本实施例的情况下,主装置100使用的微处理器109不需构造逻辑/物理地址控制表。这样,不再需要时间等待构造逻辑/物理地址控制表的处理完成。其结果,当平面存储器1与常规系统相比较,本实施例例如设法缩短执行构造文件系统的处理所需要的时间。
此外,在由本实施例提供的逻辑/物理地址控制表中,每一未使用块的物理地址与一个未使用的逻辑地址关联,其已参考图12A和12B在前面说明。这样,与常规系统比较,对一个未使用块的访问可以通过FAT文件系统简单地处理并在一个短的时间期间内进行。这一快速处理对由主装置100采用的图3所示配置、记录诸如音频数据等需要实时处理的数据特别有效。
应该注意,本发明的实施例不限于上述。需要的话,对本实施例可以进行改变或修改。例如,由本发明提供的存储设备不限于示于图5A、5B、5C和5D的外部形状。该存储设备可以设计为任何其它外部形状。另外,例如,上述文件系统的格式的详细规定也可以根据实际应用而改变。此外,快速存储器的存储容量的变化不限于图13所示数据。
如上所述,逻辑/物理地址控制表存储在存储设备中。
这样,不需要执行构造逻辑/物理地址控制表的处理。其结果,至少可以缩短完成建立该文件系统的处理需要的时间。具体说,尽管用户通常必须等待主装置进入能够往存储设备写数据或从其读数据的状态,例如在存储设备安装到主装置之后,但是在本实施例的场合,等待这种状态需要的时间因此可以缩短。其结果,允许用户以其更喜欢的方式使用该电子设备系统。
另外,以这种配置,例如主装置仅仅需要从存储设备中只读出逻辑/物理地址控制表的某些必需的数据,并将这些数据通常存储在嵌入在主装置使用的微处理器中的RAM的一个存储区域,其中该表只占据嵌入RAM的一个小区域,使得获得必需数据的操作几乎不给微处理器提供另外的负担。
这样,由于不需要给主装置提供包括分配给逻辑/物理地址控制表所有数据的一个存储区域的外部RAM,因此主装置的成本可以减低。另外,功率消耗也减少为驱动该外部RAM需要的电功率的数量。
在本发明中,数据以统一格式写入作为快速存储器的存储单元的一页,而不管该数据的类型。每一页总包含其上记录的数据和一个表示数据属性的冗余部分,作为数据对。多个相邻页组成块。存储在组成块的页中的数据项具有同样的属性。这样,通过只检查作为块的第一页的页0存储数据属性的冗余部分,例如,可以知道在该块中的所有数据项的属性。另外,由于数据格式是统一的,而不管数据属性,因此不需提供设备和方法来为每一数据属性生成一页。此外,对于生成要存储在一页内的冗余部分,也不需提供设备和方法为形成数据对的每一种数据属性产生冗余部分,因为冗余部分的格式是统一的。另一方面,块和页的结构独立于在其中存储的数据属性是统一的。因此在设计一个重放装置,为从页和块中重放数据时,不需提供多种读取设备和读取方法,使每一种适用于一块。这也意味着电路块的数目和程序处理步骤的数目可以大大减少。这样对于设计具有体积小、重量轻、功耗少的特征的设备中的重放装置,例如本发明提供的装置,显现出额外功能的效果。
此外,根据本发明,识别逻辑/物理地址控制表的信息也记录在存储逻辑/物理地址控制表的一块内。这样,在检索该存储设备、查找包含逻辑/物理地址控制表的一块的操作中,可以在该存储设备存储的数据之内识别该逻辑/物理地址控制表。
此外,根据本发明,通过分配未使用逻辑地址给一个未使用块-亦即其内未记录数据的块-的物理地址,编目该未使用逻辑地址到存储在存储设备中的逻辑/物理地址控制表中。这样,通过参考该块的物理地址可以容易地确定一个未使用块的位置,无需检索另外层次级的未使用块。也就是说,由于在写数据的操作中不需检索未使用块的处理,因此数据可以以高速写入一个未使用块,就像一个轻处理负载。这种快速处理对于要记录的数据是沿时间轴观察的数据,例如需要实时处理的音频数据或者动画数据的场合,特别有效。

Claims (14)

1.一种海量存储设备,具有一个非易失性存储器,所述非易失性存储器包括多个段,每个段均具有多个可擦除的块,所述可擦除的块包括多个页,其中所述非易失性存储器包括:
操作数数据块,用于存储操作数数据和操作数标识数据,所述操作数标识数据表明在所述操作数数据块中所存储的数据是操作数数据;和
逻辑/物理地址控制表,位于所述存储器的多个段的最后段中的多个块中的一个块中,用于存储逻辑/物理地址控制表数据和控制表标识数据,所述控制表标识数据表明在所述逻辑/物理地址控制表块中所存储的数据是逻辑/物理地址控制表数据,所述逻辑/物理地址控制表数据包括逻辑地址和物理地址;
其中所述逻辑/物理地址控制表能够被移动到所述非易失性存储器的最后段中的任一块,所述控制表标识数据被用于查找在所述逻辑/物理地址控制表被移动之后所在的位置,
所述逻辑地址说明数据的逻辑次序,和
所述物理地址说明在所述非易失性存储器之内所存储的特定数据的物理位置。
2.如权利要求1所述的海量存储设备,其中所述逻辑/物理地址控制表通过按照相应逻辑地址的次序存储所述物理地址而被存储在所述非易失性存储器的所述逻辑/物理地址控制表块中。
3.如权利要求1所述的海量存储设备,其中,未用块的物理地址被存储在所述逻辑/物理地址控制表块中。
4.如权利要求1所述的海量存储设备,其中,重复的逻辑地址被存储在每个块中。
5.如权利要求1所述的海量存储设备,其中,一个一些所述可擦除块的组包含:一个段,并且为每个段都读出所述逻辑/物理地址控制表。
6.如权利要求1所述的海量存储设备,其中,一个一些所述可擦除块的组包括:一个段,所述逻辑/物理地址控制表被存储在所述非易失性的最后段中。
7.如权利要求1所述的海量存储设备,其中,所述海量存储设备包括存储器卡。
8.一种用于把数据海量存储在一设备中的方法,所述设备具有一个非易失性存储器,所述非易失性存储器包括多个段,每个段均具有多个可擦除的块,所述可擦除的块包括多个页,所述方法包括如下步骤:
在一个操作数数据块中存储操作数数据和操作数标识数据,所述操作数标识数据表明在所述操作数数据块中所存储的数据是操作数数据;和
在所述存储器的多个段的最后段中的多个块中的一个块中存储一个逻辑/地址控制表,包括控制表标识数据,所述控制表标识数据表明在所述逻辑/物理地址控制表块中所存储的数据是逻辑/物理地址控制表数据,所述逻辑/物理地址控制表数据包括逻辑地址和物理地址,其中
所述逻辑/物理地址控制表能够被移动到所述非易失性存储器的最后段中的任一块,所述控制表标识数据被用于查找在所述逻辑/物理地址控制表被移动之后所在的位置,
所述逻辑地址说明数据的逻辑次序,和
所述物理地址说明在所述非易失性存储器之内所存储的特定数据的物理位置。
9.如权利要求8所述的方法,其中所述逻辑/物理地址控制表通过按照相应逻辑地址的次序存储所述物理地址而被存储在所述非易失性存储器的所述逻辑/物理地址控制表块中。
10.如权利要求8所述的方法,其中未用块的物理地址被存储在所述逻辑/物理地址控制表块中。
11.如权利要求8所述的方法,其中相应的逻辑地址被存储在每个块中。
12.如权利要求8所述的方法,其中一组可擦除的块包括一个段,还包括如下步骤:为每个段读出所述逻辑/物理地址控制表。
13.如权利要求8所述的方法,其中一组可擦除的块包括:一个段,还包括如下步骤:在所述非易失性存储器的最后段中读出所述逻辑/物理地址控制表。
14.如权利要求8所述的方法,还包括如下步骤:
把所述非易失性存储器实现为存储器卡。
CNB991116232A 1998-07-28 1999-07-27 非易失存储器、记录装置和记录方法 Expired - Lifetime CN1295706C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP21263098A JP4085478B2 (ja) 1998-07-28 1998-07-28 記憶媒体及び電子機器システム
JP212630/98 1998-07-28

Publications (2)

Publication Number Publication Date
CN1243317A CN1243317A (zh) 2000-02-02
CN1295706C true CN1295706C (zh) 2007-01-17

Family

ID=16625856

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB991116232A Expired - Lifetime CN1295706C (zh) 1998-07-28 1999-07-27 非易失存储器、记录装置和记录方法

Country Status (9)

Country Link
US (2) US6591328B1 (zh)
EP (1) EP0977121B1 (zh)
JP (1) JP4085478B2 (zh)
KR (1) KR100631887B1 (zh)
CN (1) CN1295706C (zh)
AT (1) ATE364205T1 (zh)
DE (1) DE69936246T2 (zh)
MY (1) MY121835A (zh)
RU (1) RU2243588C2 (zh)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2339044B (en) * 1998-03-02 2003-06-04 Lexar Media Inc Flash memory card with enhanced operating mode detection and user-friendly interfacing system
KR100704998B1 (ko) * 1999-02-26 2007-04-09 소니 가부시끼 가이샤 기록방법, 관리방법 및 기록장치
JP2001056760A (ja) * 1999-08-19 2001-02-27 Murata Mfg Co Ltd データ処理装置
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
JP2001338497A (ja) * 2000-05-24 2001-12-07 Fujitsu Ltd メモリ試験方法
US7155559B1 (en) 2000-08-25 2006-12-26 Lexar Media, Inc. Flash memory architecture with separate storage of overhead and user data
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US6772307B1 (en) * 2001-06-11 2004-08-03 Intel Corporation Firmware memory having multiple protected blocks
US7240178B2 (en) * 2001-07-25 2007-07-03 Sony Corporation Non-volatile memory and non-volatile memory data rewriting method
US6675276B2 (en) * 2001-11-13 2004-01-06 Eastman Kodak Company Method for providing extensible dos-fat system structures on one-time programmable media
KR20040066911A (ko) * 2001-12-17 2004-07-27 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 트랜스폰더 및 트랜스폰더용 집적 회로
AU2003211154A1 (en) * 2002-02-22 2003-09-09 Lexar Media, Inc. Removable memory media with integral indicator light
EP1383301B1 (en) * 2002-07-18 2020-01-01 Sharp Kabushiki Kaisha Image processing device
JP2004062554A (ja) * 2002-07-30 2004-02-26 Oki Electric Ind Co Ltd フラッシュメモリの管理方法
CN100347685C (zh) * 2002-08-29 2007-11-07 松下电器产业株式会社 用于将数据写入快闪存储设备的半导体存储器的装置和方法
US6901498B2 (en) * 2002-12-09 2005-05-31 Sandisk Corporation Zone boundary adjustment for defects in non-volatile memories
JP2005128771A (ja) * 2003-10-23 2005-05-19 Fujitsu Ltd データファイルシステム、データアクセスサーバ、およびデータアクセスプログラム
WO2005066793A2 (en) * 2003-12-30 2005-07-21 Sandisk Corporation Non-volatile memory and method with non-sequential update block management
US7433993B2 (en) 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US7383375B2 (en) 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
TW200523946A (en) * 2004-01-13 2005-07-16 Ali Corp Method for accessing a nonvolatile memory
KR20060043573A (ko) 2004-03-12 2006-05-15 엘지전자 주식회사 기록매체 및 기록매체에의 기록방법 및 기록장치와 기록매체의 백업 파일 관리방법
US8271752B2 (en) 2004-03-12 2012-09-18 Lg Electronics, Inc. Recording medium, method and apparatus for recording on recordable recording medium, and method for managing backup files of the same
JP2005285191A (ja) * 2004-03-29 2005-10-13 Nec Electronics Corp 不揮発性半導体記憶装置及びその駆動方法
JP4182928B2 (ja) * 2004-07-07 2008-11-19 セイコーエプソン株式会社 情報処理装置、メモリ管理プログラムおよびメモリ管理方法
EP1630657A1 (en) * 2004-08-30 2006-03-01 STMicroelectronics S.r.l. Embedded storage device with integrated data-management functions and storage system incorporating it
JP4192129B2 (ja) * 2004-09-13 2008-12-03 株式会社東芝 メモリ管理装置
US20060075183A1 (en) * 2004-10-06 2006-04-06 Phison Electronics Corp. [method of applying flash memory as buffer in electrical appliance]
US7480761B2 (en) * 2005-01-10 2009-01-20 Microsoft Corporation System and methods for an overlay disk and cache using portable flash memory
US7743417B2 (en) * 2005-02-28 2010-06-22 Hitachi Global Storage Technologies Netherlands B.V. Data storage device with code scanning capability
EP1701262B1 (en) * 2005-03-08 2007-12-12 Robert Bosch Gmbh Method and device of rewriting a sector storing the bootloader code in a sector erasable semiconductor memory means
KR101331569B1 (ko) 2005-04-21 2013-11-21 바이올린 메모리 인코포레이티드 상호접속 시스템
US8200887B2 (en) 2007-03-29 2012-06-12 Violin Memory, Inc. Memory management system and method
US9384818B2 (en) 2005-04-21 2016-07-05 Violin Memory Memory power management
JP2007011522A (ja) * 2005-06-29 2007-01-18 Hitachi Ltd データの消去方法、ストレージ・デバイス及び計算機システム
US7558804B1 (en) * 2005-08-26 2009-07-07 American Megatrends, Inc. Method, apparatus, and computer-readable medium for space-efficient storage of variables in a non-volatile computer memory
US7509471B2 (en) 2005-10-27 2009-03-24 Sandisk Corporation Methods for adaptively handling data writes in non-volatile memories
US7631162B2 (en) 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
KR100678926B1 (ko) * 2006-01-05 2007-02-06 삼성전자주식회사 로그 정보 관리 시스템 및 방법
FR2901035B1 (fr) * 2006-05-11 2008-07-11 St Microelectronics Sa Procede et dispositif de gestion d'une table de correspondance d'acces a une memoire
CN101115246B (zh) * 2006-07-25 2010-06-09 中兴通讯股份有限公司 一种移动终端的数据存储方法
KR100791325B1 (ko) * 2006-10-27 2008-01-03 삼성전자주식회사 비휘발성 메모리를 관리하는 장치 및 방법
US20080189473A1 (en) * 2007-02-07 2008-08-07 Micron Technology, Inc Mlc selected multi-program for system management
US7657572B2 (en) * 2007-03-06 2010-02-02 Microsoft Corporation Selectively utilizing a plurality of disparate solid state storage locations
US9632870B2 (en) 2007-03-29 2017-04-25 Violin Memory, Inc. Memory system with multiple striping of raid groups and method for performing the same
US11010076B2 (en) 2007-03-29 2021-05-18 Violin Systems Llc Memory system with multiple striping of raid groups and method for performing the same
US7958390B2 (en) * 2007-05-15 2011-06-07 Sandisk Corporation Memory device for repairing a neighborhood of rows in a memory array using a patch table
US7966518B2 (en) * 2007-05-15 2011-06-21 Sandisk Corporation Method for repairing a neighborhood of rows in a memory array using a patch table
JP2008090870A (ja) * 2007-12-27 2008-04-17 Sony Corp 記憶媒体及び電子機器システム
KR101103110B1 (ko) 2008-02-29 2012-01-04 가부시끼가이샤 도시바 메모리 시스템
JP2009211233A (ja) 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
US8732388B2 (en) 2008-09-16 2014-05-20 Micron Technology, Inc. Embedded mapping information for memory devices
CN101676882B (zh) * 2008-09-16 2013-01-16 美光科技公司 存储器装置的内嵌映射信息
US20100325351A1 (en) 2009-06-12 2010-12-23 Bennett Jon C R Memory system having persistent garbage collection
US8688894B2 (en) * 2009-09-03 2014-04-01 Pioneer Chip Technology Ltd. Page based management of flash storage
CN102012869B (zh) * 2009-09-04 2012-11-14 威刚科技股份有限公司 闪存储存系统的数据刻录方法
TWI407305B (zh) * 2010-01-20 2013-09-01 Silicon Motion Inc 快閃記憶體之資料存取方法以及快閃記憶體裝置
US9104546B2 (en) * 2010-05-24 2015-08-11 Silicon Motion Inc. Method for performing block management using dynamic threshold, and associated memory device and controller thereof
US9110702B2 (en) * 2010-06-02 2015-08-18 Microsoft Technology Licensing, Llc Virtual machine migration techniques
US20120246384A1 (en) * 2011-03-21 2012-09-27 Winbond Electronics Corp. Flash memory and flash memory accessing method
US20120297256A1 (en) * 2011-05-20 2012-11-22 Qualcomm Incorporated Large Ram Cache
FR2977047B1 (fr) * 2011-06-22 2013-08-16 Starchip Procede de gestion de l'endurance de memoires non volatiles.
JP5597666B2 (ja) * 2012-03-26 2014-10-01 株式会社東芝 半導体記憶装置、情報処理システムおよび制御方法
JP2016506585A (ja) * 2013-01-08 2016-03-03 ヴァイオリン メモリー インコーポレイテッド データストレージのための方法及びシステム
US10359937B2 (en) * 2013-12-20 2019-07-23 Sandisk Technologies Llc System and method of implementing a table storage support scheme
JP6083416B2 (ja) * 2014-06-12 2017-02-22 コニカミノルタ株式会社 ジョブ実行装置、プログラム、データ削除方法
US10114562B2 (en) 2014-09-16 2018-10-30 Sandisk Technologies Llc Adaptive block allocation in nonvolatile memory
JP2016071447A (ja) * 2014-09-26 2016-05-09 ラピスセミコンダクタ株式会社 不揮発性記憶装置及び不揮発性記憶装置の制御方法
US20170337212A1 (en) * 2015-01-13 2017-11-23 Hitachi Data Systems Engineering UK Limited Computer program product, method, apparatus and data storage system for managing defragmentation in file systems
US10296236B2 (en) * 2015-07-01 2019-05-21 Pure Storage, Inc. Offloading device management responsibilities from a storage device in an array of storage devices
US9817593B1 (en) 2016-07-11 2017-11-14 Sandisk Technologies Llc Block management in non-volatile memory system with non-blocking control sync system
RU2636107C1 (ru) * 2016-10-28 2017-11-20 Общество с ограниченной ответственностью "Лаборатория информационно-измерительной и преобразовательной техники" Способ записи данных на накопитель цифровой информации на базе flash-памяти типа nand
WO2018165957A1 (en) * 2017-03-16 2018-09-20 Microsoft Technology Licensing, Llc. Log-appended-structured storage management with byte-level accessibility
US20180349036A1 (en) * 2017-06-01 2018-12-06 Seagate Technology Llc Data Storage Map with Custom Map Attribute
DE102020120488A1 (de) 2019-12-20 2021-06-24 Taiwan Semiconductor Manufacturing Co. Ltd. Verfahren zur nachschlagtabellenfreien speicherreperatur
US11367500B2 (en) 2019-12-20 2022-06-21 Taiwan Semiconductor Manufacturing Company, Ltd. Method for LUT-free memory repair
US11500775B2 (en) 2021-02-24 2022-11-15 Macronix International Co., Ltd. File system management in memory device

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3978449A (en) * 1975-01-27 1976-08-31 Computer Transmission Corporation Method and apparatus for in-band signalling in data transmission
US4373179A (en) * 1978-06-26 1983-02-08 Fujitsu Limited Dynamic address translation system
US4755985A (en) * 1986-12-09 1988-07-05 Racal Data Communications Inc. Method and apparatus for facilitating moves and changes in a communication system
JPH03212884A (ja) * 1990-01-17 1991-09-18 Nec Corp 磁気ディスク装置
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
JPH0736175B2 (ja) * 1991-10-11 1995-04-19 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理システムのシステム構成設定方法、データ処理システム、及びデータ処理システム用拡張ユニット
US5638537A (en) * 1993-01-29 1997-06-10 Mitsubishi Denki Kabushiki Kaisha Cache system with access mode determination for prioritizing accesses to cache memory
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5524231A (en) * 1993-06-30 1996-06-04 Intel Corporation Nonvolatile memory card with an address table and an address translation logic for mapping out defective blocks within the memory card
DE4426094C2 (de) * 1994-07-22 1998-04-16 Siemens Nixdorf Inf Syst Datenreduktion für Buskoppler
JPH08137634A (ja) * 1994-11-09 1996-05-31 Mitsubishi Electric Corp フラッシュディスクカード
US5937193A (en) * 1996-11-27 1999-08-10 Vlsi Technology, Inc. Circuit arrangement for translating platform-independent instructions for execution on a hardware platform and method thereof
US6192504B1 (en) * 1997-05-14 2001-02-20 International Business Machines Corporation Methods and systems for functionally describing a digital hardware design and for converting a functional specification of same into a netlist
JP3044005B2 (ja) * 1997-05-29 2000-05-22 公一 柴山 データ格納制御方式
JP3072722B2 (ja) * 1997-06-20 2000-08-07 ソニー株式会社 フラッシュメモリを用いるデータ管理装置及びデータ管理方法並びにフラッシュメモリを用いる記憶媒体
US6188835B1 (en) * 1998-08-21 2001-02-13 Lsi Logic Corporation Optical disk system and method for storing data allowing playback of selected portions of recorded presentations
US6377500B1 (en) * 1999-11-11 2002-04-23 Kabushiki Kaisha Toshiba Memory system with a non-volatile memory, having address translating function

Also Published As

Publication number Publication date
EP0977121A3 (en) 2004-05-19
ATE364205T1 (de) 2007-06-15
KR20000011959A (ko) 2000-02-25
MY121835A (en) 2006-02-28
KR100631887B1 (ko) 2006-10-04
CN1243317A (zh) 2000-02-02
JP4085478B2 (ja) 2008-05-14
RU2243588C2 (ru) 2004-12-27
EP0977121B1 (en) 2007-06-06
US6591328B1 (en) 2003-07-08
US6625713B2 (en) 2003-09-23
US20020124130A1 (en) 2002-09-05
DE69936246D1 (de) 2007-07-19
EP0977121A2 (en) 2000-02-02
JP2000047932A (ja) 2000-02-18
DE69936246T2 (de) 2008-01-31

Similar Documents

Publication Publication Date Title
CN1295706C (zh) 非易失存储器、记录装置和记录方法
CN1276358C (zh) 用于存储设备的地址转换单元
CN1297900C (zh) 数据存储设备、主机设备、数据记录系统及数据管理方法
CN1252723C (zh) 记录方法、管理方法和记录设备
US7526599B2 (en) Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
CN1315057C (zh) 重映射闪速存储器的方法
CN1426557A (zh) 对快速存储器的数据记录装置和数据写入方法
CN1265293C (zh) 文件管理方法
CN1493026A (zh) 存储装置及利用此存储装置的记录再生装置
CN1698035A (zh) 数据存储装置、更新数据存储装置中的管理信息的方法和计算机程序
CN1341237A (zh) 半导体存储卡的访问装置、计算机可读记录介质、初始化方法和半导体存储卡
TW200428213A (en) Tracking the least frequently erased blocks in non-volatile memory systems
CN103425597A (zh) 数据储存装置和快闪存储器的区块管理方法
CN1922571A (zh) 数据运行编程
CN101042674A (zh) 非易失性存储装置及其数据写入方法
US20080025706A1 (en) Information recording apparatus and control method thereof
CN1950811A (zh) 信息处理设备、集成电路、数据传送控制方法、数据传送控制程序、程序存储介质、程序传输介质和数据存储介质
JP2010267290A (ja) 共通論理ブロックに関連付けられている物理ブロックを解決するための方法および装置
CN1437195A (zh) 目标流的查找、恢复、永久删除方法
CN1188786C (zh) 文件管理方法及采用该方法的存储卡和终端装置
CN101661431B (zh) 用于快闪存储器的区块管理方法、快闪储存系统及控制器
CN1734640A (zh) 光盘记录系统
CN1255675A (zh) 具有冻结功能的高速缓存器
CN1287360A (zh) 重现装置和记录装置
CN100555243C (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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20070117