存储器管理方法

文档序号:6747172阅读:394来源:国知局
专利名称:存储器管理方法
技术领域
本发明涉及一种存储器管理方法,特别是一种使用表示每个块的状态的标记以实现高速处理的存储器管理方法。
在一般情况下,对如计算机这样的电子设备来说,作为主存储设备,一个存储设备已经用来满足主存储设备的容量。举例来说,这个存储设备可以是磁带,磁盘,磁光盘,纸带,存储卡,和类似物。其中,存储卡由于其较高速的传输率已经广泛地使用。
然而,存储卡被设置在静止图象拾取设备(称作静止摄象机)中和磁带录象机中,以便作为存储拾取信息的存储设备。
存储卡由嵌入框架(例如,由合成树脂制成)中的半导体集成电路这样的存储装置构成。该半导体集成电路是例如快闪存储器(电可擦可编程ROM(只读存储器))。
应该注意的是在上述的存储卡这样的存储设备中,存储数据的管理通过例如分布管理方法来执行。
在上述的分布管理方法中,在存储设备的存储装置(以下,称作存储器)中存储的数据被分成数据擦除单元,如块,以便建立以块为基础的管理信息,如块标记、逻辑地址、和连接信息。下面,把这种管理信息称作分布管理信息。在该分布管理方法中,当启动电子设备以便从/对上述存储设备读出和/或写入数据时,电子设备收集存储器的存储区域中各个块上的分布管理信息和读出电子设备的存储装置中的信息,以便建立能够执行块数据全面管理的中心管理表,以执行数据管理。
在快闪存储器被用作存储卡的存储器时的情况中,通常在预定块的数据变成无用数据的时刻,执行以块为基础的初始化,以便立刻全部擦除该块中写入的数据和使该块进入数据可写状态。
因此,例如当预定块中的数据变成无用数据和对另一个块执行数据写入或执行不同于数据写入的处理时,上述处理在预定块初始化之后执行。
这种以块为基础的初始化大约每块为5至6毫秒(msec)。如果在初始化完成之后执行相应的处理,则需要大量的时间用于整个处理,从而阻碍了处理速度的提高。
因此,本发明的目的是提供一种存储器管理方法和一种能够实现高速处理的存储器管理设备以及一种采用该存储器管理方法的记录介质。
为了实现上述目的,本发明的特征在于一种存储器管理方法,用于管理具有分成多个块的存储区域的存储器,以便每个块中的数据在该块被初始化时被立即擦除,其中每个块具有代表块使用状态的标记;其中当擦除块中写入的数据而不是执行信息初始化时,设置擦除标记为表示块中所含数据要被擦除的擦除状态;和在把新数据写到具有擦除状态的擦除标记的块中之前,对该块执行初始化处理,设置块的标记为初始状态。
在本发明的所述存储器管理方法中,最好是在数据写入各个块的期间,设置初始状态的每个块的擦除标记为代表存储预定单元数据头部的头部使用状态或者代表存储预定单元数据中间部分的使用状态。
此外,在所述的本发明的存储器管理方法中,最好是每个块设置结束标记,该结束标记代表该块是否是含有预定单元数据结束部分的结束块;和在数据写入期间,设置预定单元数据结束部分被写入的块的结束标记为代表结束块的状态。
在本发明的存储器管理方法中,存储器存储区域的每个块设有表示块使用状态的标记。例如,当对含有变成无用数据的块执行初始化处理以外的处理时,而不是初始化该块时,首先将该块用的擦除标记设置为表示该块中含有的数据要被擦除的擦除状态。在这种状态中,执行不同于块初始化的处理;并且在数据写入具有擦除状态的擦除标记的块之前,对该块执行初始化处理,将该块的标记设置为初始状态。这样,就能够执行各种处理,而不需等待需要大量时间的初始化处理的完成。
图1是显示向存储卡传送数据的主计算机结构的方框图;图2是显示存储卡结构的方框图;图3A-3C显示了存储卡存储区域结构;图4是显示擦除处理的流程图;图5是显示数据写入处理的流程图;图6是展现存储卡的透视图。
下面,结合


本发明的实施例。需要说明的是,该说明以本发明应用于存储卡的存储器管理方法的情况为基础。
这里,将针对作为一个例子的存储卡存储来自图1所示的主计算机1的数据的情况进行说明。此外,还针对从主计算机发送的视频数据被写入存储卡情况进行说明。不过,本发明也适用于音频数据和其它数据。
如图1所示,主计算机1包括硬盘11,用于存储音频数据和静止图象的视频数据;RAM(随机存取存储器)12,用于暂时存储来自硬盘11的视频数据和类似数据并读出该数据;显示接口(以下称作显示I/F)13;显示器14,用于根据经显示I/F13施加的视频数据显示图象;串行接口(以下称作串行I/F)15,用于经三个数据线向存储卡2发送数据和经三个数据线从存储卡2接收数据;和执行整体控制的CPU(中央处理单元)。
例如RAM12暂时存储经总线16传输的硬盘11中存储的音频数据和视频数据并在必要时经总线16向串行接口I/F15提供视频数据。
从硬盘11读出的视频数据和来自存储卡2的视频数据经总线16和显示I/F13供给显示器14,显示器14根据这些视频数据显示静止图象。
串行I/F经三条数据线向存储卡2发送视频数据和接收存储卡中存储的视频数据。具体地,串行I/F15经第一数据线发送要被写入存储卡2中的视频数据和控制数据并接收已从存储卡2读出的视频数据。串行I/F根据第一数据线中的视频数据与控制数据之间的切换经第二数据线输出一表示切换状态的状态信号。此外,串行I/F15经第三数据线发送用于上述控制数据和视频数据的发送的串行时钟SCLK。
CPU 17控制RAM 12和硬盘11的数据读出和控制RAM 12中的数据写入以及控制向/从存储卡2发送和接收视频数据和类似数据。例如,CPU 17指定存储卡2中的地址和发出预定数据的写指令。
图2示出了本实施例的存储卡2,它包括控制IC(集成电路)21,用于从上述的主计算机1接收视频数据和控制数据;和快闪存储器(电可擦可编程ROM(只读存储器))22,它是用于存储接收的视频数据的存储装置(以下称作存储器)。
更确切地说,控制IC 21包括串行/并行-并行/串行接口定序器(以下称作S/P和P/S定序器)31;页面缓冲器32,用于暂时存储来自S/P和P/S定序器的视频数据;快闪接口定序器(以下称作快闪I/F定序器)33,用于向快闪存储器22提供来自页面缓冲器32的视频数据;ECC(纠错码)编码器/解码器34,用于执行纠错处理;命令生成器35,用于生成预定的命令;配置ROM(只读存储器)36,用于存储版本信息和类似信息;和振荡器37,用于向各个电路提供时钟。
S/P和P/S定序器31经上述的第一至第三数据线连接到主计算机1的串行I/F 15。因此,向S/P和P/S定序器31提供状态信号和串行时钟SCLK以及由来自主计算机1的视频数据和控制数据构成的串行DIO。
S/P和P/S定序器31把主计算机1供给的串行数据DIO转换成与上述串行时钟CSLK同步的并行数据。例如,在并行数据中,S/P和P/S定序器31向命令生成器35提供控制数据和向页面缓冲器32提供视频数据。
页面缓冲器32是用于每个页面(+512字节)的缓冲存储器,用于存储S/P和P/S定序器31供给的视频数据。ECC编码器/解码器34给页面缓冲器32中存储的视频数据加上纠错码。页面缓冲器32经快闪I/F定序器33向快闪存储器22a至22d提供一个页面的视频数据。因而,在快闪存储器22a至22d中写入了来自主计算机1的视频数据。
此外,从快闪存储器22a至22d读出的视频数据经快闪I/F定序器33供给页面缓冲器32。
页面缓冲器32存储来自快闪1/F定序器33的视频数据。这里,ECC编码器/解码器34根据加到页面缓冲器32存储的数据上的纠错码执行纠错处理。页面缓冲器32读出已经过纠错处理的另一个数据之后的页面,并向S/P和P/S定序器31提供该数据。S/P和P/S定序器31把页面缓冲器32供给的并行视频数据转换成串行数据DIO并向上述的主计算机1发送该数据。
命令生成器35根据来自S/P和P/S定序器31的控制数据生成控制命令。此外,命令生成器35生成表示视频数据写入快闪存储器22或视频数据从快闪存储器22读出的忙(busy)命令(以下称作忙信号),并经S/P和P/S定序器31向主计算机1发送信号。当视频数据写入或视频数据读出完成时,命令生成器35生成表示结束的准备就绪命令(以下称作准备就绪信号),并经S/P和P/S定序器31向主计算机1发送该信号。主计算机1通过接收这些忙和准备就绪信号识别存储卡2的工作状态。
配置ROM 36包含版本信息和存储卡2的初始值信息。因此,当在主计算机1与存储卡2之间进行连接时,命令生成器35首先经SP和PS定序器31从配置ROM36中读出上述的版本信息,并根据该信息生成预定命令,从而执行存储卡2的预定初始化。
在这个实例的存储卡2中,用作存储器的快闪存储器22是NAND型快闪存储器,该NAND型快闪存储器具有除每个页面的数据区域之外的冗余区域。
所以,本实施例的存储卡2具有下述的快闪存储器22的结构。即,快闪存储器22具有被分成图3A所示的多个块的存储区域。这些块的每个如图3B所示,由作为数据写入和读出单元的多个页面组成。每个这些页面被分成用于存储数据的数据区域和用于存储管理数据区域中存储的数据所需的信息的冗余区域。
如图3C所示,一块的首页面的冗余区域含有块管理所需的分布管理信息。此外,该块第一页面后的各个页面的冗余区域还包含作为保留分布管理信息的存储在首页面的冗余区域中的相同的分布管理信息。然而,最后页面的冗余区域包含分布管理信息之外的附加信息,而不是分布管理信息。
需要说明的是在快闪存储器22中,在初始状态写入只能变为“0”的所有“1”的数据,。也就是说,在数据写入期间,“0”被写入一部分数据。当擦除已经写入的数据时,以块为基础执行初始化,以便立即全部擦除块中写入的数据。当执行该初始化处理时,该块再一次进入数据可写状态。
如图3C所示,这里存储了作为分布管理信息的用于块说明的逻辑地址、表示块使用状态的擦除标记、表示是否是预定单元(如文件)的连续数据的最后块的结束标记等内容。
更具体地说,在存储卡2的各个块的重写区域中为擦除标记分配一个字节,在这个重写区域中,只能够从“1”变为“0”。
例如,无数据写入的块的初始状态由“1111 1111”表示。当数据写入该块时,预定单元如一个文件的数据头部,即,作为头部块的使用状态由“1111 0000”表示,这是通过把第二组的4位变成零实现的。另外,当存储预定单元如一个文件的中间数据时,通过把第一组的4位变成零,使中间数据的使用状态由“0000 1111”表示。
在初始状态,每个块不包含数据但具有“1111 1111”的擦除标记。当主计算机1把例如视频数据写入预定块中时,在第一组或第二组的4位中重写相应块的擦除标记,如用作头部块的为“1111 0000”,如用作除头部块之外的块则为“0000 1111”。
此外,一个字节用于表示结束块的结束标记,该结束块含有预定单元-如存储卡2的各个块的重写区域的文件-的数据的结束部分。在这里,只能够从“1”变成“0”。
如果一个块不包含预定单元如文件的数据的结束部分而是具有后面的块的非结束块,则该块由“1111 xxxx”(xxxx用作其它用途的标记)表示。如果一个块包含预定单元数据结束部分并没有后随块,即,如果该块是最后块,则该块由“0000 xxxx”(xxxx用作其它用途的标记)表示。
当使用该实施例的存储卡时,根据本发明的存储器管理方法,主计算机1执行下列处理。在这里,例如假定主计算机1已经设置视频数据写状态和预定块的数据已经变成无用数据。
正象以上所述的那样,该实施例的存储卡通过以块为基础的初始化处理立即全部擦除上述块中含有的数据,以便再一次使这些块处于数据可写状态。因此,如图4所示,上述的主计算机1试图对含有无用数据的块执行初始化处理。
下面说明执行上述视频数据的写操作。如果事先执行上述各块的初始化,则整个处理所需时间变得相当长。为了解决这一问题,如图4所示,当在主计算机1中执行擦除处理时,在步骤ST1中确定处理是否应快速执行。在YES(快速)情况下,控制转到步骤ST2,在这里含有无用数据的块的“11110000,,或“0000 1111”的擦除标记在其“1111”部分中重写使之成为零,使上述数字变为“0000 0000”;并且写入表示数据要被擦除的擦除状态,暂时终止擦除。
然后,如图5所示,写入视频数据。在步骤ST11中,主计算机1首先依次检验存储卡2的快闪存储器22中的各个块的擦除标记。在步骤ST12中,确定被选择块的擦除标记是处于初始状态还是处于擦除状态。如果处于初始状态,控制转到步骤ST13,在这里,主计算机1把视频数据写入块中和把头部使用状态或简单使用状态写入擦除标记。更确切地说,主计算机1执行把初始状态的擦除标记“1111 1111”改变成表示头部使用状态的“11110000”或表示使用状态的“0000 1111”的重写。从而完成了视频数据写处理。
另一方面,如果在步骤ST12中辨别为擦除状态,则控制转到主计算机1确定是否快速执行数据写处理的步骤ST14。如果执行快速数据写处理(YES),则控制返回到主计算机1依次检验擦除标记的步骤ST11。这一处理被重复执行,直至初始状态的擦除标记被找到。当初始状态的擦除标记被找到时,执行上述的视频数据写处理。
上述的视频数据写处理完成后,主计算机1在擦除处理期间执行具有设置为擦除状态的擦除标记的块的初始化处理,从而立即擦除所有块的数据,使这些块进入可写状态。在这一处理中,这些块的擦除标记被初始化。
也就是说,根据本发明上述的存储器管理方法,在对含有已经成为无用数据的预定块执行除初始化之外的处理时,首先不执行块初始化处理,而是将这些块的擦除标记设置为代表各块中含有的数据要被擦除的擦除状态;然后,在这种状态,对含有无用数据的各块执行不包括初始化的处理,并在写入数据之前,对具有擦除状态的擦除标记的块执行初始化处理,和设置这些块的标记为初始状态。这样,不用等待需要大量时间的初始化完成就可以执行各种处理,从而实现高速处理。
此外,根据本发明的存储器管理方法,主计算机1不需要立即快速对擦除状态的擦除标记执行初始化处理。它可以在主计算机执行比较少量处理时执行初始化,即,在空余时间执行需要大量时间的初始化处理,从而能够执行有效的处理。
此外,在这一实施例中,擦除处理时已处于头部使用状态或使用状态的块具有重写为擦除状态的擦除标记,因而能够把这些块与写入新数据的多块相区别。如图5所示,如果在步骤ST12中块处于擦除状态(Yes)和如果在步骤ST14中不是快速(No),则能够把控制转到步骤ST15,在这里主计算机1仅对具有擦除状态的擦除标记的块执行初始化处理。
此外,即使在步骤ST1的检验之后,如果主计算机1不需要以传统处理相同的方式执行除对含有无用数据的块的初始化处理之外的处理,则控制转到对这些块执行初始化处理的步骤ST3,以便使这些块初始化和使其擦除标记进入初始状态。
此外,在这一实施例中,当视频数据要被主计算机1写入时,辨别含有预定单元如文件的结束部分的结束块是必需的;当数据被主计算机1写到成为结束块的块上时,表示块是否是结束块的结束标记被重写成“0000XXXX”。
然而,在这样一种情况下,如不能确定哪个块是写数据期间的结束块时的音乐情况下,不能在数据写期间写入结束标记。
在这种情况下,根据本发明的存储器管理方法,在数据写期间,结束标记被设置为“1111 xxxx”,它表示预定单元的数据结束部分未被存储和有后续块,即,该块不是结束块;当预定单元的数据结束部分被写入该块和该块成为结束块时,擦除标记用“0000 xxxx”重写,它表示预定单元的数据结束部分被存储和没有后续块,即,该块是结束块。
在本发明的存储卡中,给重写区域提供表示该块是否是含有预定单元的数据结束部分的结束块的标记,所以不需要在识别结束块以便重写该块的数据以及表示结束块的标记的时刻把数据传送到缓冲器或类似器件。这样就能够实现高速处理。
需要说明的是,这一实施例中的存储卡2可以具有图6所示的具有由合成树脂制成的矩形平面的卡状的外部结构。
在上述的存储卡2中,在纵向的一端2a设置了一个外部端子(未示出),以便例如按照图中M所示的方向插入该端2a把存储卡2安装到电子设备(未示出)上。
此外,上述的存储卡2具有在平行于安装方向的一侧2b上形成的锁定切割部分42,以便例如在存储卡2安装在电子设备上时与电子设备的的锁定凸块(未示出)啮合,以避免存储卡2从电子设备上脱落。
需要说明的是,在上述实施例中,说明了用于串行接口的存储卡,但本发明也可以适用于并行接口的存储器的存储器管理方法。
权利要求
1.一种存储器管理方法,用于管理具有分成多个块的存储区域的存储器,以便在块被初始化时立即擦除所述的每个块中的数据,其中每个所述的块具有表示块使用状态的标记;当擦除一块中写入的数据时,不执行块的初始化,而是将该块的擦除标记设置为表示所述块中含有的数据要被擦除的擦除状态;和在把新数据写入具有擦除状态的擦除标记的块中之前,对该块执行初始化处理,设置该块的标记为初始状态。
2.根据权利要求1所述的存储器管理方法,其中在数据写入各个块期间,将处于初始状态的每个块的擦除标记设置为表示预定单元数据头部的存储的头部使用状态或表示预定单元数据中间部分的存储的使用状态。
3.根据权利要求1所述的存储器管理方法,其中给所述的每个块中提供表示该块是否是含有预定单元数据结束部分的结束块的结束标记;和在数据写期间,将预定单元数据结束部分被写入的块的结束标记设置为表示结束块的状态。
4.一种记录介质,具有分成多个块的存储区域,以便块被初始化时立即擦除块中写入的数据,其中,给每个块提供表示块使用状态的标记。
5.根据权利要求4所述的记录介质,其中当擦除块中含有的数据时,将该块的标记设置为表示块的数据要被擦除的擦除状态。
6.一种存储器管理设备,用于管理具有分成多个块的存储区域的存储器,以便块被初始化时立即擦除块中写入的数据,其中当擦除块中写入的数据时,不初始化该块,而将提供给该块的擦除标记设置为表示该块的数据要被擦除的擦除状态;和在把新数据写到具有擦除状态的擦除标记的块中之前,对该块执行初始化处理,设置该块的标记为初始状态。
7.根据权利要求6所述的存储器管理设备,其中在数据写入每个所述的块期间,将处于初始状态的块擦除标记设置为表示预定单元数据头部被存储的头部使用状态或表示预定单元数据中间部分被存储的使用状态。
8.根据权利要求6所述的存储器管理设备,其中给所述的每个块提供表示该块是否是含有预定单元数据结束部分的结束块的结束标记;和在数据写期间,将预定单元数据结束部分被写入的块的结束标记设置为表示结束块的状态。
全文摘要
本发明提供了一种能进行高速处理的存储器管理方法,用于管理具有分成多个块的存储区域的存储器,以便在块被初始化时立即擦除每个块中的数据。其中,每个块具有表示块使用状态的标记;当擦除块中写入的数据时,不执行块的初始化,而设置块的擦除标记为表示块中含有的数据是要被擦除的状态;在把新数据写入具有擦除状态的擦除标记的块中之前,对该块执行初始化处理,设置该块的标记为初始状态。
文档编号G11C16/06GK1206149SQ98115049
公开日1999年1月27日 申请日期1998年6月23日 优先权日1997年6月25日
发明者佐佐哲 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1