外部存储设备和数据处理方法

文档序号:6747574阅读:207来源:国知局
专利名称:外部存储设备和数据处理方法
技术领域
本发明涉及一种包括一个以预定块为单位擦除数据的存储装置的外部存储设备和一种用于处理存在上述类型的外部存储装置中的数据的数据处理方法。
作为用在诸如个人计算机或数字静态照相机之类的数据处理设备中的一种外部存储设备,包括一个所谓的闪速存储器的外部存储设备已为人们所公知。
包括闪速存储器的外部存储设备具有这样的结构闪速存储器的一个存储区被分成多个块以便于以块为单位管理一个数据区。即,以块为单位执行数据的擦除。如果在存储区中发生了一个不可恢复的错误,就禁止使用包括发生错误的区的块。上述类型的块此后被称为一个禁止使用的块。
上述类型的外部存储设备具有这样的结构包含访问外部存储设备所需的信息的引导数据被预先存在一个预定块中。当外部存储设备被引导时,首先读取引导数据。然后,依据获得的引导数据访问外部存储设备以写/读数据。
在上述类型的外部存储设备中,引导数据通常包含访问外部存储设备所需的信息。如果不能读出引导数据,就不能访问外部存储设备。因此,引导数据必须具有令人满意的可靠性。
至今,存有引导数据的块(此后称“引导块”)是一个形成于预定位置的块。即使经常使用的一个引导块成为禁止使用的块,引导数据的备份也被存在另一个块中以读取引导数据。在现有的外部存储设备中,通过准备引导数据的多个备份来提高可靠性。而且,这些备份被存储在不同的块中。但是,准备引导数据的多个备份的方法从有效利用存储容量的角度上来说是不理想的。
至今,当引导数据已被更新时,并没有判断引导数据的所有备份是否已被更新成最近的引导数据。因此,如果在特定的操作中没有将引导数据的备份正确地更新成最近的引导数据,就不能读出最近的,即正确的引导数据。在上述情况下,应当理解为不能正确地访问外部存储设备。
至今,即使备有引导数据的备份,在最初的引导数据读取失败时也只能利用该备份。因此,如果原始引导数据的内容由于例如对存有原始引导数据的引导块的一部分中的位进行不必要的反转而导致不正确,就出现了如果能够读出上述引导数据,就将上述引导数据作为所利用的引导数据的问题。
针对上述问题,本发明的一个目的是提供一种能够有效利用存储区的外部存储设备,通过该设备,在读取引导数据时不能轻易地出现错误并具有令人满意的可靠性。
本发明的另一个目的是提供一种用于实现上述外部存储设备的数据处理方法。
依据本发明的一个方面,提供一种外部存储装置,该装置以预定块为单位擦除数据并且包括一个存有在外部存储装置被引导时被首先读出的引导数据的块。引导数据被存在已存有引导数据的每个块中。而且,在每个块中存有一个标识号,用于表明存在每个已存有引导数据的块中的引导数据是新的还是旧的。
根据程序引导外部存储装置以按照标识号读出存在多个不同块中的引导数据中的最近的一个引导数据。然后,使用最近的一个引导数据以引导外部存储装置。
依据本发明的外部存储装置在其被引导时,依据标识号判断存在多个不同的块中的引导数据是新的还是旧的。如果存在旧的引导数据,就将旧的引导数据重写为最近的引导数据。
依据本发明的另一方面,还提供了一种数据处理方法,其中在以预定块为单位擦除数据的外部存储装置被引导时,最先读出的引导数据被存入外部存储装置中,数据处理方法包括步骤将引导数据存入每个不同的块中;以及在每个已存入引导数据的块中存入一个标识号,该标识号用于指示存在块中的引导数据是新的还是旧的。依据本发明的数据处理方法具有这样的结构在引导外部存储装置时,按照标识号读出存在多个不同的块中的引导数据中的最近的一个引导数据,并利用这个最近的引导数据引导外部存储装置。
依据本发明的数据处理方法具有这样的结构在引导外部存储装置时,依据标识号判断存在多个不同的块中的引导数据是新的还是旧的,并且在存在旧的引导数据时,将旧的引导数据重写为最近的引导数据。
通过下述结合附图对本发明最佳实施例的详细说明,本发明的其他目的、特征和有益效果是显而易见的。
图1是应用本发明的系统的整体结构图;图2是示出了应用本发明的存储卡结构的方框图;图3是应用本发明的存储卡外形的透视图;图4A、4B、4C示出了应用本发明的存储卡的一个存储区的结构;图5示出了分布式管理信息的结构;图6示出了附加管理信息的结构;图7示出了从每个块的分布式管理信息中构造出共同的管理信息的状态;图8A、8B、8C、8D、8E示出了用于更新一个引导块的过程;图9是用于在引导存储卡时读取引导块的过程的流程图;图10是用于在引导存储卡时读取引导块的过程的流程图;图11是用于在引导存储卡时读取引导块的过程的流程图;以及图12是用于在引导存储卡时读取引导块的过程的流程图。
下面结合


本发明的一个实施例。
图1示出了应用本发明的一个系统示例的整个结构。依据此实施例的系统包括一个作为主机系统的数据处理装置1和一个作为外部存储装置并通过一个串行接口与数据处理装置1相连接的存储卡2。
虽然将要描述的系统具有这样的结构数据通过串行接口在数据处理装置1和存储卡2之间进行通信,但是本发明也适用于通过并行接口执行数据通信的系统。
数据处理装置1包括一个中央处理单元(CPU)3、一个内部存储器4、一个辅助存储单元5和一个串行接口电路6。上述元件通过一条总线7彼此连接。数据处理装置1读出一个存在例如辅助存储单元5中的程序,以使CPU3利用内部存储器4为一个工作区而执行该程序。此时,通过串行接口电路6将数据传递到存储卡2。
用在依据本发明的系统中的数据处理装置并没有特殊的限定,只要数据处理装置能够传递数据到外部存储装置即可。本发明适用于任何一种不同的数据处理装置,如个人计算机、数字静态照相机和数字摄象机。
数据处理装置1和存储卡2通过串行接口彼此连接。具体地,通过三条数据线建立此连接,这三条数据线为SCLK、State和DIO。即,至少通过用于在传输数据时传输一个时钟信号的第一数据线SCLK、用于在执行数据传输时传输一个所需的状态信号的第二数据线State和用于顺序传输必须写到存储卡2上的数据或从存储卡2上读出的数据等的第三数据线来连接数据处理装置1和存储卡2。这样,数据通过上述数据线在数据处理装置1和存储卡2之间进行通信。
通常以文件为单位在数据处理装置1和存储卡2之间传递数据,每个文件由一个标题和实际数据组成。注意,诸如用于对文件进行访问的信息和数据处理装置1执行的程序所需的信息等被存在文件的标题中。
如图2所示,存储卡2包括一个由所谓的控制IC构成的控制器11和一个由控制器11控制的闪速存储器12。
控制器11包括一个用于执行串行/并行转换和并行/串行转换的串行/并行和并行/串行接口音序器13(此后称之为S/P & P/S接口音序器13);一个闪速存储器接口音序器14,用作一个通过其访问闪速存储器12的接口;一个页面缓冲器15,用于临时存储在S/P & P/S接口音序器13和闪速存储器接口音序器14之间进行传递的数据;一个纠错电路16,用于执行一个纠错过程;一个命令发生器17,用于产生一个例如控制访问闪速存储器12的控制命令;一个配置ROM 18,其中存有存储卡2的版本信息和不同的属性信息项等;以及一个振荡器19,用于提供一个上述每个电路的操作所需的时钟信号。
通过上述3条数据线SCLK、State和DIO,S/P & P/S接口音序器13与数据处理装置1的串行接口电路6相连。这样,通过前述数据线SCLK、State和DIO,S/P & P/S接口音序器13将数据传递到数据处理装置1中。即,S/P & P/S接口音序器13将来自页面缓冲器15的并行数据转换成串行数据,以将上述串行数据发送到数据处理装置1的串行接口电路6。S/P &P/S接口音序器13将来自数据处理装置1的串行接口电路6的串行数据转换成并行数据,以将上述并行数据发送到页面缓冲器15。
在保持与通过第一数据线SCLK从数据处理装置1提供的时钟信号的同步的同时,通过第三数据线DIO执行数据在S/P & P/S接口音序器13和数据处理装置1之间的串行通信。根据通过第二数据线State发送的状态信号,判断通过第三数据线DIO传递的串行数据的类型。串行数据被分成例如必须写在闪速存储器12上的数据,从闪速存储器12读出的数据和用于控制存储卡2的操作的控制数据等。状态信号还被用于指示存储卡2的状态。由状态信号指示的存储卡2的状态包括一种在一个特定进程中不允许从数据处理装置1向存储卡2输入数据的状态;和一种等到存储卡2中的进程已被完成后进行从数据处理装置1的数据输入的状态。
当从数据处理装置1传送的数据是用于控制存储卡2的操作的控制数据时,S/P & P/S接口音序器13将上述控制数据提供给命令发生器17。
根据数据处理装置1通过S/P & P/S接口音序器13提供的控制数据,命令发生器17产生一个用于控制对闪速存储器12的访问的控制命令以发送该控制命令到闪速存储器接口音序器14。如后所述,闪速存储器接口音序器14按照该控制命令,将数据写到闪速存储器12上并从闪速存储器12中读出数据。
一个防止误擦除开关20与命令发生器17相连。当防止误擦除开关20连通时,命令发生器17不会产生用于擦除写在闪速存储器12上的数据的控制命令,即使从数据处理装置1发出了用于指示擦除写在闪速存储器12上的数据的控制数据。即,存储卡2能够或者进入一种通过防止误擦除开关20的接通(dint)而不能擦除存在闪速存储器12中的数据的状态,或者进入能够擦除存在闪速存储器12中的数据的状态。
位于S/P & P/S接口音序器13和闪速存储器接口音序器14之间的页面缓冲器15是一个所谓的缓冲存储器,用以临时存储在S/P & P/S接口音序器13和闪速存储器接口音序器14之间进行通信的数据。
从S/P & P/S接口音序器13传送到闪速存储器接口音序器14的数据最初从S/P & P/S接口音序器13传送到页面缓冲器15以被临时存储在页面缓冲器15中。纠错电路16使存在页面缓冲器15中的数据带有一个纠错码。以一个预定页为单位(例如,1页=512字节)的带有纠错码的数据被从页面缓冲器15传送到闪速存储器接口音序器14。
反之,从闪速存储器接口音序器14传送到S/P & P/S接口音序器13的数据最初从闪速存储器接口音序器14传送到页面缓冲器15以被临时存储在页面缓冲器15中。在纠错电路16中存在页面缓冲器15中的数据经过一个纠错处理。以一个预定页为单位的经过纠错处理的数据被从页面缓冲器15传送到S/P & P/S接口音序器13。
根据来自命令发生器17的控制命令,闪速存储器接口音序器14执行将数据写到闪速存储器12上的操作和从闪速存储器12中读取数据的操作等。即,闪速存储器接口音序器14根据来自命令发生器17的控制命令,从闪速存储器12中读出数据以便于通过页面缓冲器15将上述数据传送到S/P & P/S接口音序器13,如上所述。反之,根据来自命令发生器17的控制命令,命令发生器17接收通过页面缓冲器15从S/P & P/S接口音序器13提供的数据以将上述数据写到闪速存储器12上。
存储卡2的版本信息和各种属性信息项等被存储在配置ROM 18中。如果需要,命令发生器17通过S/P & P/S接口音序器13读出存在配置ROM 18中的信息以使用。即,如果需要,命令发生器17读出存在配置ROM 18中的信息。根据此信息,命令发生器17执行与存储卡2相关的各种设置。
当以必须被写到闪速存储器12上的串行数据的形式存在的数据已经通过三条数据线SCLK、State和DIO从数据处理装置1传送到存储卡2时,S/P & P/S接口音序器13最初将串行数据转换成并行数据以将上述并行数据传送到页面缓冲器15中。页面缓冲器15 临时存储从S/P & P/S接口音序器13传送来的数据。此时,纠错电路16使存在页面缓冲器15中的数据带有一个纠错码。以一个预定页为单位的带有纠错码的数据被传送到闪速存储器接口音序器14。根据来自命令发生器17的控制命令,闪速存储器接口音序器14将来自页面缓冲器15的数据写到闪速存储器12上。作为上述处理过程的结果,从数据处理装置1传送的数据被写到闪速存储器12上。
当数据被从存储卡2中读出时,闪速存储器接口音序器14首先根据来自命令发生器17的控制命令,从闪速存储器12中读出数据。闪速存储器接口音序器14将从闪速存储器12中读出的数据传送到页面缓冲器15。页面缓冲器15临时存储来自闪速存储器接口音序器14的数据。此时,在纠错电路16中存在页面缓冲器15中的数据经过一个纠错处理。以一个预定页为单位的经过纠错处理的数据被从页面缓冲器15传送到S/P & P/S接口音序器13。S/P & P/S接口音序器13将来自页面缓冲器15的数据转换成串行数据,并通过三条数据线SCLK、State和DIO将串行数据传送到数据处理装置1。作为上述处理过程的结果,从闪速存储器12读出的数据被传送到数据处理装置1。
当读或写数据时,用于控制数据通信的控制数据从数据处理装置1被传送到存储卡2的S/P & P/S接口音序器13,并且必须写到闪速存储器12上或从闪速存储器12中读出的数据也被传送。上述的控制数据被从S/P & P/S接口音序器13发送到命令产生器17。根据从S/P & P/S接口音序器13传送来的控制数据,命令发生器17产生一个用于控制对闪速存储器12访问的控制命令。该控制命令被提供给闪速存储器接口音序器14。根据该控制命令,闪速存储器接口音序器14访问闪速存储器12以读写数据。
除三条数据线SCLK、State和DIO以外,存储卡2还带有电源线和通常不用的备用线。例如,后述的图2和图3示出了存储卡2除三条数据线SCLK、State和DIO以外,还具有4条电源线VSS1、VSS2、VCC和INT,以及三条备用线RSV1、RSV2和RSV3。
现在将参照图3说明存储卡2的外形。
存储卡2包括一个卡形盒21,其形状为一矩形平面且较薄,由合成树脂或其类似物制成;控制器11;闪速存储器12;以及容纳在盒体21中的其他部件。存储卡2被装入具有一个用于装入存储卡2的装入机构的数据处理装置1中以使用存储卡2。
在存储卡2的盒体21的最前端形成了一个斜切部分22。而且,在切口部分22中形成了10个凹槽23。当存储卡2被装入到数据处理装置1的装入单元中时,凹槽23的外部连接端与数据处理装置的连接端相连。即,存储卡2具有10个用作外部连接端的端子24a、24b、24c、24d、24e、24f、24g、24h、24i和24j。前述外部连接端包括三个数据线端子24b、24d和24h,四个电源端子24a、24f、24i和24j,以及三个备用端子24c、24e和24g。
防止误擦除构件25被连接在存储卡2的盒体21的上表面上。防止误擦除构件25与容纳在盒体21中的防止误擦除开关20啮合。在滑动防止误擦除构件25时,防止误擦除开关20能够开/关。
存储卡2还具有一个圆弧形并位于防止误擦除开关20的任一侧面上的第一锁口部分26,用以防止存储卡2在被装入到数据处理装置1的装入单元中之后从数据处理装置1脱离。而且,一个矩形的第二锁口部分27形成于防止误擦除开关20的另一侧面上。当存储卡2已经被装入到数据处理装置1的装入单元中时,锁口部分26和27与数据处理装置1的装入单元啮合以防止存储卡2发生脱离。
注意图3所示的存储卡2只是应用本发明的外部存储装置的一个例子。即,本发明不依赖于外部存储装置的形状。本发明能够适用于任何一种与外部存储装置的形状无关的外部存储装置。
现在将说明被装入到存储卡2中的闪速存储器12的存储区的结构。注意将要描述的存储区的结构只是应用本发明的外部存储装置的存储区结构的一个例子。
本发明可以广泛地应用在不同的外部存储装置中,这些外部存储装置具有这样一种结构存储区被分成多个作为数据擦除单位的块并具有一个存有引导数据的引导块。存储区的结构并不仅限于如下结构。
如图4A所示,闪速存储器12的存储区被分成多个作为数据擦除单位的块。这些块包括用于存储引导数据的引导块,引导数据是在存储卡2已经被引导时由数据处理装置1最先读出的数据;和一个其上写有任意数据的数据块。每个块具有特定的物理地址。这些块是用于数据擦除的单位和用于文件管理的最小单位。即,一个文件被存储在一个或多个块中。因此,一个块不能被多个文件使用。
每个引导块由多个位组成,每个位表示状态“1”和状态“0”中的任一状态。在初始状态中,所有位处于状态“1”。因此,只允许位单元从“1”变为“0”。即,当写入由“1”和“0”构成的数据时,相应于“1”的位被保持而相应于“0”的位从“1”变为“0”。
当擦除写入的数据时,每个块单元整个经过一个初始化过程,使得上述块的所有位成为“1”。其结果是,写在块上数据被全部擦除。因此,数据能够再次被写到上述块上。
注意本发明可适用于一种每一位可表示三种或更多种状态中的一种状态的闪速存储器(所谓的多值闪速存储器)和每一位只可表示两种状态的闪速存储器(所谓的二进制型闪速存储器)中的任一种。
如图4B所示,闪速存储器12的每一块由多个用作读或写数据单位的页组成。即,在数据被写到闪速存储器12上时,闪速存储器接口音序器14将从页面缓冲器15以页为单位传送的数据写到闪速存储器12上。在从闪速存储器12中读取数据时,闪速存储器接口音序器14以页为单位读取数据以传送该数据到页面缓冲器15。
每一页具有一个数据区和一个冗余区。数据区是其上写有任意数据的区域。冗余区是存有管理写到数据区上的数据所需的信息。
具体地,所谓的分布管理信息作为管理该块所需的信息被存入该块起始页上的冗余区中,如图4C所示。同存在起始端页冗余区中的分布管理信息一样的分布管理信息作为备用的分布管理信息而被存入从块的第二页开始的页冗余区中。注意所谓的附加管理信息代替分布管理信息,作为不能只由分布管理信息管理的附加信息被存入最末页的冗余区中。
如上所述,分布管理信息被存在上述闪速存储器12中每一块的冗余区中。分布管理信息是用于管理其中已存有分布管理信息的块的信息。根据分布管理信息,例如能够获得用于指示上述块是否是一个作为文件起始端的块的信息和用于在该文件由多个块组成时指示块连接的信息。后面将描述分布管理信息。
存储卡2中的块的分布管理信息被集中以产生作为管理闪速存储器的整个结构的信息的共同管理信息。然后,共同管理信息作为一个文件被存入闪速存储器12中。
通常,共同管理信息用于获得访问每个块所需的信息。即,当数据在数据处理装置1和存储卡2之间通信时,数据处理装置1从存储卡2中读取共同管理信息以在内部存储器4中产生相同内容。根据共同管理信息,数据处理装置1访问存储卡2。其结果是,消除了访问存在每个块中的分布管理信息的必要。从而,允许更高速的数据存取。
现在说明分布管理信息、附加管理信息和共同管理信息。
分布管理信息是用于管理其中已存有分布管理信息的块的信息,分布管理信息被写到16字节的冗余区上。具体地,如图5所示,分布管理信息由一个1字节允许/禁止标记,一个1字节块标记,一个4位最终标记,一个4位引用标记,一个1字节管理标记,一个2字节逻辑地址,一个2字节连接地址,一个3字节保留区,一个2字节分布管理信息纠错码和一个3字节数据纠错码组成。
允许/禁止标记是一个用于指示该块处于允许使用状态还是禁止使用状态的标记。具体地,允许/禁止标记能够指示“允许使用”和“禁止使用”这两种状态中的任一种状态。“允许使用”表示能够使用该块的状态,而“禁止使用”则表示不能使用该块。如果在块中产生了不可恢复的错误,则允许/禁止标记被设为“禁止使用”,使得该块的使用被禁止。
块标记是一个用于指示块状态的标记。具体地,块标记指示四种状态“非使用”、“在起始端使用”、“使用”和“非擦除”中的任一种。“非使用”表示一种块处于非使用状态或数据已经被从该块中擦除的状态。这样,处于“非使用”状态中的块处于一个能够立即写入数据的初始状态(所有位为“1”)。“在起始端使用”表示一种在文件的起始端处该块被使用的状态。在其中存有引导数据的引导块中,块标记处于“在起始端使用”的状态。“使用”表示一种该块在除起始端以外的部分中被使用的状态。在块标记处于“使用”状态时,该块与另一个块相连接。“非擦除”表示一种写在该块上的数据是不需要的状态。例如,在数据被擦除时,块标记最初进入状态“非擦除”。如果允许较长的处理时间,每一个具有处于“非擦除”状态的块标记的块被擦除。其结果是,能够有效地执行一个擦除进程。
最终标记是一个用于指示文件是否已经结束的标记。具体地,最终标记表示“后续块”和“终止块”中的任一个。“后续块”表示一种该块被连接于下一个块的状态。即,“后续块”表示存在该块中的文件具有一个跟随部分并且文件接续到另一个块。“终止块”表示该块是终止的块。即,“终止块”表示存在该块中的文件在此块终止。
引用标记是一个用于指示引用附加管理信息的标记。具体地,引用标记表示“无引用信息”和“存在引用信息”两种状态中的任一种。“无引用信息”表示在该块的最末页冗余区中不存在有效的附加管理信息。“存在引用信息”表示在该块的最末页冗余区中存在有效的附加管理信息。
管理标记是一个用于指示块属性的标记。例如,管理标记表示该块是一个只读块还是一个也允许写的块。管理标记还表示该块是一个引导块还是一个数据块。
逻辑地址在它的字面意思中指示该块的逻辑地址。在数据被重写时,依需要更新逻辑地址的值。逻辑地址的值以这样的方式被设置多个块不同时占有逻辑地址值。
连接地址是一个与该块相连接的块的逻辑地址。即,存在该块中的文件具有一个跟随部分。如果该文件后续于另一个块,就将已存入文件的跟随部分的下一个块的逻辑地址值设为连接地址。
分布管理信息纠错码是一个用于校正管理标记、逻辑地址、连接地址和写在分布管理信息中的保留区上的数据的纠错码。注意分布管理信息纠错码不能校正允许/禁止标记、块标记、最终标记和引用标记中的每一个。因此,无须更新分布管理信息纠错码就能够重写允许/禁止标记、块标记、最终标记和引用标记。
数据纠错码是一个用于校正写在已存有数据纠错码的一页的数据区上的数据的纠错码。
包括在存储卡2中的纠错电路16使用分布管理信息纠错码和数据纠错码。因此,利用纠错码的错误校正不依赖于数据处理装置1,并且可以采用基于存储卡2的任意方法。
附加管理信息是存在块最末页上的16字节冗余区中并包含有不能只用分布管理信息管理的附加信息的信息。
具体地,如图6所示,附加管理信息由一个1字节允许/禁止标记,一个1字节块标记,一个4位最终标记,一个4位引用标记,一个1字节标识号,一个2字节有效数据大小,一个5字节保留区,一个2字节附加管理信息纠错码和一个3字节数据纠错码组成。
允许/禁止标记、块标记、最终标记、引用标记、保留区和数据纠错码与分布管理信息中的相应部分相似。附加管理信息纠错码相应于分布管理信息的分布管理信息纠错码。附加管理信息纠错码是一个用于校正附加管理信息中的标识号、有效数据大小和保留区的纠错码。
标识号和有效数据大小作为不能只用分布管理信息管理的附加信息被包括在附加管理信息中。
标识号是用于执行一个解除错误进程的信息,无论何时块中的数据被重写,标识号的值被加1。如果产生一个错误并存在具有相同逻辑地址的多个块,那么标识号被用于判断写在该块上的数据是新的还是旧的。标识号使用一个1字节区域,标识号的值为“0”到“255”。标识号的初始值为“0”。如果标识号大于“255”,则其值返回“0”。如果存在多个具有相同逻辑地址的数据块,则具有较小标识号的一个数据块为有效。如果如后所述存在多个具有相同逻辑地址的引导块,则具有较大标识号的一个引导块为有效。
有效数据大小是块中有效数据的大小。即,如果该块的数据区有一个空白部分,则一个用于表明写在数据区上的数据大小的值被设为有效数据大小。此时,分布管理信息中的引用标记被设为“存在引用信息”。如果该块的数据区没有空白部分,则“0xffff”作为一个用于表明该数据区没有空白部分的值而被设为有效数据大小。
无论何时块中的数据被更新,上述分布管理信息和附加管理信息总是被更新成最近的信息。
共同管理信息是通过集中每个块的分布管理信息而产生的信息,共同管理信息作为一个文件被存入闪速存储器12中。即,如图7所示,从每个块的分布管理信息中产生一个由共同管理信息构成的文件,它是用于集中管理所有块的信息。共同管理信息被存入一个预定块的一个数据区中。注意共同管理信息可被存在一个块或多个块中。数据处理装置1经常根据共同管理信息获取访问每个块所需的信息。
当存储卡2被引导时,数据处理装置1首先从引导块中读出引导数据。引导数据包括已被命令(instructed)并存有共同管理信息的块的一个物理地址。因此,数据处理装置1读出存在相应于该物理地址的块中的共同管理信息以在内部存储器4中产生共同管理信息。根据共同管理信息,数据处理装置1访问存储卡2。如果共同管理信息不能被正常地从闪速存储器12中读出,为了使用共同管理信息,数据处理装置1就读出所有块的分布管理信息以重构共同管理信息。
无论数据何时被重写,在产生需要时,数据处理装置1以这样的方式更新内部存储区4中产生的共同管理信息共同管理信息与闪速存储器12的实际状态一致(即,共同管理信息与分布管理信息的内容一致)。另一方面,无论数据重写等何时被执行,都不更新作为一个文件被存在闪速存储器12中的共同管理信息。共同管理信息的内容在适当的时刻被共同更新。例如,该适当时刻为断电之前的时刻,在长于预定时间的时期内没有对存储卡2的访问的时刻或执行数据重写不少于预定次数的时刻。
一般地,允许闪速存储器12重写数据的次数是有上限的。当作为一个文件被存在闪速存储器12中的共同管理信息的重写被几乎共同执行时,能够减少已存有共同管理信息的块的重写次数。这样,能够延长存储卡2的寿命。
现在描述作为本发明的重要部分的引导块进程。
引导数据是在存储卡2已被引导时由数据处理装置1首先读取的数据。引导数据包含访问存储卡2所需的信息。因此,如果在已存有引导数据的引导块中发生错误并且引导数据不能被正常地读出,就不能对存储卡2进行访问。从而,引导块必须具有另人满意的可靠性。
因此,依据本发明的存储卡2具有这样的结构引导数据总是被存在位于闪速存储器12的起始端的两个有效块中。注意“有效块”是处于允许使用状态的块。即,“有效块”是允许/禁止标记被设为“允许使用”的块。即,当引导数据被存入块中时,不使用并跳过无效块(即允许/禁止标记被设为“禁止使用”的每个块)。这样,引导数据被存入有效块中以产生引导块。
如上所述,依据本发明的存储卡2具有引导块不一定是固定和特定的块的结构。如果一个块成为无效块,则用于存储引导数据的块被改变。因此,引导数据总是存在两个有效块中。即,即使在起始端块中发生错误,引导数据也总是在两个有效块中存有备份。因此,能够令人满意地提高依据本发明的存储卡2的可靠性。
而且,依据本发明的存储卡2具有这样的结构包括在附加管理信息中的标识号在数据块和引导块之间被区别使用。
在数据块的情况下,如果存在多个具有相同逻辑地址的块,则通过利用标识号来标识存在这些块中的新、旧数据。存在多个具有相同逻辑地址的块的原因主要在于在更新数据块时发生了一个错误。此时,存在具有较小标识号的数据块中的数据是更新前的数据。因此,如果存在多个具有相同逻辑地址的块,就选择具有较小标识号的数据块,从而恢复数据被更新前的状态。这样,存在上述数据块中的数据被用作有效数据。
当一个逻辑地址被重新分配给该数据块时,数据块的标识号被初始化为“0”。在数据块被更新时,标识号加1。如上所述,如果标识号超过了“255”,该标识号就返回“0”。
在引导块的情况下,如上所述,标识号被用于标识存在位于闪速存储器12的起始端的两个有效块中的新、旧引导数据。引导数据是访问存储卡2所需的信息。因此,必须采用最近的信息。如果两个引导块的标识号彼此不同,在更新引导块时就会发生错误。存在具有较大标识号的引导块中的引导数据是包含新信息的引导数据。如果两个引导块具有不同的标识号,就选择具有较大标识号的数据块,使得存在上述引导块中的数据被用作引导数据。
在首次使用存储卡2时对其进行格式化。在执行格式化操作时,引导块的标识号被初始化为“0”。当存在引导块中的引导数据被更新时,标识号加1。在引导块的情况下,与数据块相似,如果标识号超过了“255”,该标识号就返回“0”。
现在说明用于使位于闪速存储器12的起始端的两个有效块成为引导块并且通过利用标识号来管理新或旧引导块的过程。
(1)格式化进程的处理过程如上所述,在首次使用依据本发明的存储卡2时对其进行格式化。在执行格式化操作时,产生引导块。因此,现在说明用于在执行格式化进程时产生引导块的过程。
在执行格式化进程时,数据处理装置1首先读出存在存储卡2的配置ROM 18中的信息。根据读出的信息等,数据处理装置产生被存在引导块中的数据(即引导数据)。为了使读出数据被标识为引导数据,表示读出数据为引导数据的信息(此后称“引导标识符”)被包括在必须存入引导块中的数据中。
然后,产生的引导数据被写到闪速存储器12的两个起始端块中的每一个上(即,在一个具有最小物理地址值的块和一个具有第二物理地址值的块中),以生成一个引导块和一个备用引导块。此时,写有上述引导数据的块的附加管理信息中的标识号被设为“0”。如果无任何错误地完成该进程,就完成了用于产生引导块的进程。
具体地,执行用于写引导数据的进程使主题块首先经过擦除进程。然后,引导数据被写到上述块上。如果主题块不能正常地经过该擦除进程或如果引导数据不能正常地写到经过擦除进程的块上,上述块的允许/禁止标记就被设为“禁止使用”。这样,就禁止使用上述块。如果允许/禁止标记不能被设为“禁止使用”,就多次重试用于将允许/禁止标记设为“禁止使用”的进程。如果在多次重试后仍不能执行该设置,数据处理装置1就判断出媒体异常。这样,数据处理装置1就不接收存储卡2。
如果在该块试图成为引导块的过程中发生错误,依据本发明的存储卡2同样试着将引导数据写到一个能被使用的块上。存储卡2继续上述进程直到产生两个具有相同内容的正常引导块为止。其结果是,具有相同内容的引导数据被分别存入闪速存储器12的两个起始端块中。这样,位于起始端的两个有效块成为了一个引导块和一个备用引导块。
如果在还没有生成两个具有相同内容的引导块时,主题块的物理地址达到了一个预定值M,就中断写引导数据的进程。预定值M是一个与闪速存储器12等的特性相适应的值。当主题块的物理地址已达到预定值M时,即使已经产生了一个引导块,用于产生引导块的进程也被中断。即使主题块的物理地址达到了预定值M并且没有产生引导块,也会产生一个媒体异常的判断。这样,数据处理装置1就不会接收存储卡2。
一般地,闪速存储器12在一个经过多次重写的块中出现错误的可能性较高。如果出现了一个错误,就可理解为以后也会出错。因此,用作引导块的块及其使用由于一个错误而被禁止,即使该错误只是一个临时错误,这个块也不会被再次使用。由于采用了上述规则,作为非常重要的信息的引导数据被存在一个具有令人满意的可靠性的块中。这样,就提高了引导块的可靠性。注意上述规则只适用于从起始端块到第二引导块的区域或只适用于到不存在第二引导块时的一个物理地址达到上述预定值M的块的区域。即,上述规则只适用于具有令人满意的可靠性的引导块并且对后续的块(即数据块)来说,相同的应用被禁止。其结果是,能够更有效地利用存储区域。
(2)用于更新引导块的过程引导数据不总是同一数据。当存储卡2被使用时,引导数据的内容一定被改变。因此,引导块有时被更新以重写引导数据。按照下面的规则执行重写引导数据的过程。
在引导数据被重写时,共同管理信息的内容一定发生变化。因此,作为文件存在闪速存储器12中的共同管理信息在引导数据被重写之前成为无效。当下次使用共同管理信息时,执行从分布管理信息中重构共同管理信息的过程。
当引导数据的内容被重写时,已存有引导数据的引导块经过擦除进程,从而新的引导数据被写到上述块上。即,在重写引导数据时,无须利用其他块,就能更新同一块的内容。如果在执行更新引导块的进程时发生错误并且上述块的使用被禁止,就不执行上述进程。
当执行用于重写成新引导数据的进程时,两个产生的具有较小物理地址的引导块中的一个要经过此进程。此时,内容已被更新的引导块的标识号加1。如果标识号的值在重写操作之前为“255”,则该值返回“0”。
当备用引导块(即,具有较大物理地址的引导块)被更新并且用于将引导数据重写成新引导数据以使其内容与其他引导块的内容相同的进程已被执行时,备用引导块的标识号成为与其他引导块的标识号相同。
现在参照图8说明一个用于依据上述规则更新引导块的过程。
在图8所示的例子中,一个具有物理地址“1”的块是一个经常被使用的引导块(此后称“第一引导块”),一个具有物理地址“2”的块是备用引导块(此后称“第二引导块”)。在图8所示的例子中,一种已正常写入引导数据并且能够读出引导数据的状态被标识为“OK”。一种由于例如正在执行重写引导数据的进程而不能读取引导数据的状态被标识为“NG”。
图8A示出了在执行重写引导块的进程之前的一种正常状态。此时,第一引导块和第二引导块的标识号具有相同的值。具体地,在图8A所示的例子中,第一引导块的标识号为“10”,并且第二引导块的标识号也为“10”。
当引导块被更新时,具有较小物理地址的引导块,即第一引导块经过用于重写引导数据的进程,如图8B所示。由于第一引导块处于用于重写引导数据的进程中,故第一引导块进入第一引导块不能被用作引导块的“NG”状态。
如果从数据处理装置1中强行取出存储卡2或如果该进程在上述状态中被中断,则在执行重启动时,第一引导块不能被用作一个引导块。在上述情况下,读出存在作为备用引导块的第二引导块中的引导数据,使得存储卡2被引导。在上述情况下,根据从第二引导块中读出的引导数据重构第一引导块。
在第一引导块已经被更新时,第一引导块的标识号加1,如图8C所示。在此实施例中,标识号的值变为“11”。在上述状态下,新的引导数据被存在第一引导块中,而旧的引导数据被存在第二引导块中。
当在上述情况下由于例如从数据处理装置1中强行取出存储卡2而使进程中断时,在执行重启动时读出存在第一引导块中的新引导数据(即存在具有较大标识号的引导块中的引导数据)。从而引导存储卡2。此时,按照存在具有较大标识号的引导块(即第一引导块)中的引导数据,更新存在具有较小标识号的引导块(即第二引导块)中的引导数据。
在完成了用于更新第一引导块的进程时,具有较大物理地址的引导块,即第二引导块被更新,如图8D所示。此时,第二引导块进入由于引导数据正被重写而不能被用作引导块的“NG”状态中。
如果此时由于例如从数据处理装置1中强行取出存储卡2而使进程中断时,使用第一引导块中的引导数据,以执行重启动来引导存储卡2。但是,一种不存在第二引导块的状态被实现(realize)。因此,此时依据从第一引导块中读出的引导数据重构作为备用引导块的第二引导块。
当第二引导块已被更新时,第二引导块的标识号加1,如图8E所示。在此实施例中,标识号的值变为“11”。其结果是,第一引导块和第二引导块的标识号具有相同的值。作为上述进程的结果,第一和第二引导块都进入已存储了新引导块的状态中。
(3)用于在存储卡被引导时读取引导块的过程在存储卡2已经与数据处理装置1相连并已经被引导时,由数据处理装置1首先读出存在引导块中的引导数据。现在说明一个用于在存储卡被引导时由数据处理装置1读取引导块的过程。
在一个正常状态中,存在两个具有相同的标识号和内容的引导块。因此,在存储卡被引导时总是执行一个用于确认上述事实的进程。具体地,以起始于起始端块的顺序执行下列进程以检查引导块。
●确认起始端页的分布管理信息是否能被正常读出。
●确认允许/禁止标记是否已经进入“允许使用”的状态。
●确认块标记是否已经进入“在起始端使用”的状态。
●检测引导标识符以确认所存的数据是否为引导数据。
●确认存在最末页上的附加管理信息是否能被正常读出。
●读取标识号。在第一引导块的情况下,存储第一引导块的标识号的值。在第二引导块的情况下,确认第二引导块的标识号是否与第一引导块的一致。
●读取引导块中的数据。在第一引导块的情况下,存储读出的数据。在第二引导块的情况下,确认读出数据与第一引导块中存储的数据是否彼此一致。
执行上述进程使得该进程起始于起始端块。在已经确认了两个具有相同标识号和内容的引导块时,用于读取引导块的操作被完成。如上所述,在存储卡2被引导时确认两个引导块,使得存储卡2的可靠性被大大提高。
如果在经过连续进行直到物理地址达到预定值M时为止的检查之后,右存在一个引导块,就利用存在该引导块中的引导数据来引导存储卡2。如果可用的块存在于起始端块至第M个块之间,就将引导数据写到该可用块上。这样,就生成了一个新的备用引导块。如果从起始端块到第M个块之间不存在可用块,就在只存在一个引导块的状态下操作存储卡2。如果在经过持续到第M个块的检查之后不存在引导块,数据处理装置1就判断媒体异常。这样,数据处理装置1就不会接收存储卡2。
如果即使在引导数据已经被正常地写到两个块上的状态中,它们的标识号也是互不相同的,就选定具有较大标识号的块为一个有效引导块。当存储卡2被引导时,使用存在具有较大标识号的块中的引导数据。如果两个块中一个块的标识号为“255”而另一个的标识号为“0”,就选定标识号为“0”的块为一个有效引导块。从而有效引导块中的引导数据被使用。如果引导数据只被正常地写到一个块上,则将上述块用作引导块。
现在参照图9到12的流程图详细说明用于在引导存储卡时读取引导块的过程。在此实施例中,采用变量I、WB、IDA和IDB。物理地址被输入到变量I和WB中的每一个,而标识号的值被输入到变量IDA和IDB中的每一个。
在步骤S1中,当存储卡被引导时,“0”被输入到变量I。而且,“0”被输入到变量IDA和IDB中的每一个。然后,进入步骤S2的处理。
在步骤S2中,必须被处理的块成为一个物理地址用变量I表示的块。然后,进入步骤S3的操作。
在步骤S3中,判断是否能从必须被处理的块中读出分布管理信息。如果能够读出分布管理信息,就进入步骤S4的操作。如果不能读出分布管理信息,就进入步骤S27的操作。
在步骤S4中,判断必须被处理的块的允许/禁止标记是否进入“允许使用”的状态。如果该状态为“允许使用”状态,就进入步骤S5的操作。如果该状态不是“允许使用”状态,就进入步骤S22的操作。
在步骤S5中,判断必须被处理的块的块标记是否为“在起始端使用”。如果该状态是“在起始端使用”,就进入步骤S6的操作。如果该状态不是“在起始端使用”,就进入步骤S24的操作。
在步骤S6中,判断是否已经将一个引导标识符提供给存在必须被处理的块中的数据。即,判断上述数据是否为引导数据。如果上述数据为引导数据,就进入到步骤S7的操作。如果上述数据不是引导数据,就进入到步骤S28的操作。
在步骤S7中,判断是否能从必须被处理的块中读出附加管理信息。如果能够读出附加管理信息,就进入步骤S8的操作。如果不能读出附加管理信息,就进入步骤S27的操作。
在步骤S8中,将必须被处理的块的标识号值代入变量IDA。然后,进入步骤S9的操作。
在步骤S9中,判断是否能从必须被处理的块中读出引导数据。如果能够读出引导数据,就进入步骤S10的操作。如果不能读出引导数据,就进入步骤S27的操作。
在步骤S10中,从必须被处理的块中读出引导数据以存储读出的引导数据。然后,进入步骤S11的操作。
在步骤S11中,将变量I的值代入变量WB并且变量I的值加1。然后进入步骤S12的操作。
在步骤S12中,使必须被处理的块为以变量I表示物理地址的块。然后,进入步骤S13的操作。
在步骤S13中,判断是否能从必须被处理的块中读出分布管理信息。如果能够读出分布管理信息,就进入步骤S14的操作。如果不能读出分布管理信息,就进入步骤S34的操作。
在步骤S14中,判断必须被处理的块的允许/禁止标记是否为“允许使用”的状态。如果该状态为“允许使用”状态,就进入步骤S15的操作。如果该状态不是“允许使用”状态,就进入步骤S29的操作。
在步骤S15中,判断必须被处理的块的块标记是否为“在起始端使用”。如果该状态是“在起始端使用”,就进入步骤S16的操作。如果该状态不是“在起始端使用”,就进入步骤S31的操作。
在步骤S16中,判断是否已经将一个引导标识符提供给存在必须被处理的块中的数据。即,判断上述数据是否为引导数据。如果上述数据为引导数据,就进入到步骤S17的操作。如果上述数据不是引导数据,就进入到步骤S35的操作。
在步骤S17中,判断是否能从必须被处理的块中读出附加管理信息。如果能够读出附加管理信息,就进入步骤S18的操作。如果不能读出附加管理信息,就进入步骤S34的操作。
在步骤S18中,将必须被处理的块的标识号值代入变量IDB。然后,进入步骤S19的操作。
在步骤S19中,比较变量IDA和IDB的值。如果变量IDA和IDB的值是相同的,就进入步骤S20的操作。如果变量IDA和IDB的值不相同,就进入步骤S32的操作。
在步骤S20中,判断是否能从必须被处理的块中读出引导数据。如果能够读出引导数据,就进入步骤S21的操作。如果不能读出引导数据,就进入步骤S34的操作。
在步骤S21中,从必须被处理的块中读出引导数据以存储读出的引导数据。然后,判断读出的引导数据与已经读出并已存储的引导数据是否一致。在从两个引导块读出引导数据的过程被正常执行时,引导数据项是彼此一致的。因此,进程到此就被完成了。如果引导数据项彼此不一致,就进入步骤S32的操作。
如果在图9所示的步骤S4中,允许/禁止标记不是“允许使用”状态,就进入步骤S22的操作,如上所述。
在步骤S22中,比较变量I的值和预定值M。如果变量I的值小于预定值M,就进入步骤S23的操作。如果在经过已经执行到第M个块的检查之后仍不能得到引导数据,那么变量I的值不小于预定值M。在这种情况下,作出错误的判断并终止该进程。
在步骤S23中,变量I的值加1。然后,返回步骤S2的操作并重复该进程。
如果在步骤S5中块标记不是“在起始端使用”状态,就进入步骤S24的操作,如上所述。在步骤S24中,判断上述块标记是否已经进入“非使用”状态。如果该状态为“非使用”状态,就进入图11所示的步骤S36的操作。如果该状态不是“非使用”状态,就进入步骤S25的操作。
在步骤S25中,必须被处理的块经过擦除进程。然后,进入步骤S26的操作。
在步骤S26中,判断步骤S25中的擦除进程是否被正常完成。如果已经正常完成该擦除进程,就进入图11所示的步骤S36的操作。如果还没有正常完成该擦除进程,就进入步骤S27的操作。
在步骤S27中,必须被处理的块的允许/禁止标记被设置为“禁止使用”状态。然后进入步骤S22的操作,以执行上述进程。
如果在步骤S6中数据不是引导数据,就进入步骤S28的操作,如上所述。
在步骤S28中,必须被处理的块被移到另一个块。然后进入步骤S25的操作以执行上述进程。
如果在步骤S3中,不能读出分布管理信息,如果在步骤S7中不能读出附加管理信息或如果在步骤S9中不能读出引导数据,就进入步骤S25的操作以执行上述进程。
如果在图10所示的步骤S14中允许/禁止标记没有进入“允许使用”状态,就进入步骤S29的操作,如上所述。在步骤S29中,比较变量I的值和预定值M。如果变量I的值小于预定值M,就进入步骤S30的操作。如果在经过已经执行到第M个块的检查之后仍不能得到第二引导数据,那么在步骤S29中,变量I的值不小于预定值M。在这种情况下,中断用于读取引导数据的进程。利用已经被读出并存储的引导数据来引导存储卡2。
在步骤S30中,变量I的值加1。然后返回步骤S12的操作以重复该进程。
如果在步骤S15中块标记不是“在起始端使用”状态,就进入步骤S31的操作,如上所述。在步骤S31中,判断上述块标记是否为“非使用”状态。如果该状态为“非使用”状态,就进入图12所示的步骤S47的操作。如果该状态不是“非使用”状态,就进入步骤S32的操作。
在步骤S32中,必须被处理的块经过擦除进程。然后,进入步骤S33的操作。
在步骤S33中,判断步骤S32中的擦除进程是否被正常完成,。如果已经正常完成该擦除进程,就进入图12所示的步骤S47的操作。如果还没有正常完成该擦除进程,就进入步骤S34的操作。
在步骤S34中,必须被处理的块的允许/禁止标记被设置为“禁止使用”状态。然后进入步骤S29的操作,以执行上述进程。
如果在步骤S16中数据不是引导数据,就进入步骤S35的操作,如上所述。在步骤S35中,必须被处理的块被移到另一个块。然后进入步骤S32的操作以执行上述进程。
如果在步骤S13中,不能读出分布管理信息、如果在步骤S17中不能读出附加管理信息、如果在步骤S19中变量IDA和变量IDB的值不一致、如果在步骤S20中不能读出引导数据或如果在步骤S21中引导数据项彼此不一致,就进入步骤S32的操作以执行上述进程。
如图11所示,在步骤S36中,将变量I的值代入变量WB。而且,变量I的值加1。然后进入步骤S37的操作。
在步骤S37中,使必须被处理的块为以变量I表示物理地址的块。然后,进入步骤S38的操作。
在步骤S38中,判断是否能从必须被处理的块中读出分布管理信息。如果能够读出分布管理信息,就进入步骤S39的操作。如果不能读出分布管理信息,就进入步骤S53的操作。
在步骤S39中,判断必须被处理的块的允许/禁止标记是否为“允许使用”的状态。如果该状态为“允许使用”状态,就进入步骤S52的操作。如果该状态不是“允许使用”状态,就进入步骤S45的操作。
在步骤52中,判断必须被处理的块的块标记是否为“在起始端使用”。如果该状态是“在起始端使用”,就进入步骤S40的操作。如果该状态不是“在起始端使用”,就进入步骤S54的操作并完成处理过程。
在步骤S40中,判断是否已经将一个块标识符提供给存在必须被处理的引导块中的数据。即,判断上述数据是否为引导数据。如果上述数据为引导数据,就进入到步骤S41的操作。
在步骤S41中,判断是否能从必须被处理的块中读出附加管理信息。如果能够读出附加管理信息,就进入步骤S42的操作。如果不能够读出附加管理信息,就进入步骤S53的操作。
在步骤S42中,判断是否能从必须被处理的块中读出引导数据。如果能够读出引导数据,就进入步骤S43的操作。如果不能够读出引导数据,就进入步骤S53的操作。
在步骤S43中,从必须被处理的块中读出引导数据以存储读出的引导数据。然后,进入步骤S44的操作。
在步骤S44中,将在步骤S43中读出并存储的引导数据写到以变量WB表示物理地址的块上。此时,中断用于读取引导数据的进程。利用在步骤S43中被读出并存储的引导数据来引导存储卡2。
如果在步骤S39中允许/禁止标记不处于“允许使用”状态,就进入步骤S45的操作,如上所述。在步骤S45中,比较变量I的值和预定值M。如果变量I的值小于预定值M,就进入步骤S46的操作。在步骤45中,如果在经过已经执行到第M个块的检查之后仍不能得到引导数据,那么使变量I的值不小于预定值M。在这种情况下,过程进行到步骤S54,从而作出错误的判断并完成该进程。
在步骤53中,必须被处理的块的允许/禁止标记设定为“禁止使用”状态。然后,过程进到步骤S45,从而执行前述的处理过程。
在步骤S46中,变量I的值加1。然后,返回步骤S37的操作并重复该进程。
如果在步骤S40中,数据不是引导数据,如果在步骤S41中不能读出附加管理信息或如果在步骤S42中不能读出引导数据,就执行作为一个错误的判断并完成该进程。在从两个引导块中的任一个中都不能读出引导数据时发生上述情况。
如图12所示,在步骤S47中判断变量IDB的值是否为“0xffff”。如果变量IDB的值不是“0xffff”,就进入步骤S48的操作。如果变量IDB的值为“0xffff”,就进入步骤S49的操作。
在步骤S48中,比较变量IDA的值和变量IDB加1后的值。如果两值相等,就进入步骤S49的操作。如果两值不相等,就进入步骤S51的操作。
在步骤S49中,将变量I的值代入变量WB。然后进入步骤S50的操作。
在步骤S50中,将已被读出并存储的引导数据写到以变量WB表示物理地址的块上。此时,完成用于读取引导数据的进程并利用已被读出和存储的引导数据来引导存储卡2。
在步骤S51中,比较变量IDB的值和变量IDA加1后的值。如果两值相等,就进入步骤S50的操作以执行上述操作。
当两个引导块的标识号不相同并且标识号不是序列号时,在步骤S51中的变量IDB的值和变量IDA加1后的值是不相等的。由于能够执行引导数据的读出,所以采用一种人工还原模式以使得数据处理装置1执行一个适当的进程。
这样,在存储卡被引导时执行用于读取引导块的进程。通过执行上述进程,在存储卡2被引导时确认两个引导块。因此,能够大大提高存储卡2的可靠性。
如上所述,依据本发明,引导数据被存储在多个不同的块中的每一个中。因此,即使不能使用一个已存入引导数据的块,也能够利用存在其他块中的引导数据来引导外部存储装置。
由于表示新、旧引导数据的标识号被存在该块中,所以总是能够利用最近的引导数据。即,依据部分们,即使实现了新引导数据与旧引导数据以混合方式共存的状态,也总是利用最近的引导数据。因此,能够保持数据的一致性。
因此,依据本发明,在读取引导数据时能够令人满意地防止错误的发生。从而,提供了一种可靠的外部存储装置。
尽管已经以最佳方式就本发明的特殊性进行了描述,但应当理解本发明最佳方式所公开的内容能够在不偏离本发明的发明构思和权利要求的保护范围的前提下,对具体结构和部件的排列与组合有所改变。
权利要求
1.一种外部存储装置,包括使数据以预定块为单位被擦除的块和一个用于在引导所述外部存储装置时首先被读取的引导数据的块,其中引导数据被存在多个不同的块中;以及在每个块中存有一个标识号,用以表明存在每个已存有引导数据的块中的引导数据是新的还是旧的。
2.如权利要求1所述的外部存储装置,其中在所述外部存储装置被引导时依据标识号读出存在多个不同的块中的引导数据中最近(latest)的引导数据,以便于利用最近的引导数据引导所述外部存储装置。
3.如权利要求1所述的外部存储装置,其中在所述外部存储装置被引导时,依据标识号判断存在多个不同的块中的每个引导数据是新的还是旧的,并在存在旧的引导数据的情况下,将引导数据重写成最近的引导数据。
4.一种数据处理方法,用于将在引导以预定块为单位擦除数据的外部存储装置时首先被读出的引导数据存入所述外部存储装置中,所述数据处理方法包括步骤将引导数据存在多个不同的块中的每个块中;以及将一个标识号存入每个已存有引导数据的块中,所述标识号用以表明存在块中的引导数据是新的还是旧的。
5.如权利要求4所述的数据处理方法,其中在所述外部存储装置被引导时,依据标识号读出存在多个不同的块中的引导数据中最近的引导数据,以及利用最近的引导数据引导所述外部存储装置。
6.如权利要求4所述的数据处理方法,其中在所述外部存储装置被引导时,依据标识号判断存在多个不同的块中的引导数据是新的还是旧的,并在存在旧的引导数据的情况下,将旧的引导数据重写成最近的引导数据。
全文摘要
一种外部存储装置,包括一以外导块为单位擦除数据的闪速存储器,引导数据被存在多个不同的块中,每个块中存有一标识号,用以表明存在每个已存有引导数据的块中的引导数据是新的还是旧的。在外部存储装置被引导时,依据标识号读出存在多个不同的块中的引导数据中最近的引导数据以引导外部存储装置,并判断存在多个不同的块中的每个引导数据是新的还是旧的,若是旧的,将旧的引导数据重写成最近的引导数据。
文档编号G11C16/02GK1220424SQ9812581
公开日1999年6月23日 申请日期1998年9月30日 优先权日1997年9月30日
发明者布施博明, 佐佐哲 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1