CN100409186C - 信息处理设备和信息处理方法 - Google Patents

信息处理设备和信息处理方法 Download PDF

Info

Publication number
CN100409186C
CN100409186C CNB200610071652XA CN200610071652A CN100409186C CN 100409186 C CN100409186 C CN 100409186C CN B200610071652X A CNB200610071652X A CN B200610071652XA CN 200610071652 A CN200610071652 A CN 200610071652A CN 100409186 C CN100409186 C CN 100409186C
Authority
CN
China
Prior art keywords
management information
memory device
information
messaging device
value
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 - Fee Related
Application number
CNB200610071652XA
Other languages
English (en)
Other versions
CN1841327A (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.)
Socionext Inc
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1841327A publication Critical patent/CN1841327A/zh
Application granted granted Critical
Publication of CN100409186C publication Critical patent/CN100409186C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)

Abstract

提供一种信息处理设备,其中将有效的初始程序传送至RAM,同时避开在低可靠存储设备(例如NAND型闪速存储器等设备)中存在的无效块。管理信息存储部分29存储指示第一存储设备31中的无效块的位置的管理信息30。当信息处理设备1通电时,控制传送确定部分20根据管理信息30从第一存储设备11的有效块中读取BSP26,并将所述BSP26传送至第二存储设备32。因此,可以避免读取存在于第一存储设备31中的无效块。

Description

信息处理设备和信息处理方法
技术领域
本发明涉及一种信息处理设备和信息处理方法。更特别地,本发明涉及用于通过执行存储在存储设备中(例如NAND型闪速存储器等)的程序来执行系统引导的信息处理设备和信息处理方法,所述存储设备可能原先就包含无效块也可能以后出现无效块。
背景技术
闪速存储器大致可以分为NOR型和NAND型。与NAND型闪速存储器相比,NOR型闪速存储器的优点是可以逐字节地进行随机存取,但是缺点是昂贵并且封装密度低。
另一方面,NAND型闪速存储器是一种如果无效块的比例小于或等于预定值则可以接受无效块的存储器。因此,当向NAND型闪速存储器写入数据或从中读取数据时,需要对无效块的位置进行管理。此外,NAND型闪速存储器仅可以被顺序地存取,并且在读取操作之后需要错误检测/纠正处理。尽管有这一缺点,但是与NOR型闪速存储器相比,NAND型闪速存储器的优点是比较便宜,并且具有较高的封装密度。
存在一种已知的信息处理设备,其使用具有这种优点的NAND型闪速存储器作为用于存储在系统引导期间执行的初始程序的存储设备。在这种传统的信息处理设备中,为了执行存储在诸如NAND型闪速存储器这样的低可靠性存储器中的程序,一开始,相对于系统中的低可靠性存储器的接口部分将初始程序从低可靠性存储器传送至RAM,之后,释放系统CPU的复位。接着,在释放复位之后,CPU根据初始程序将主程序从低可靠性存储器传送至RAM。在完成主程序的传送之后,CPU将处理转移至RAM中的主程序,之后执行RAM中的主程序(例如日本专利特开平公开No.2003-271391(第7页,附图2))。
在上述传统的信息处理设备中,当在系统引导期间将初始程序从NAND型闪速存储器传送到RAM时,不能够避开NAND型闪速存储器中的无效块。
因此,为了避开无效块,可以在系统引导期间逐块地从存储初始程序的块中读取数据,并且在读取数据的时候,可以使用块的校验符号来确定每个块是否是无效块。在此情况下,将计算的校验符号与校验符号的期望值进行比较,当计算的校验符号与期望值不匹配时,确定被如此检查的块是无效的。
然而,当检测到无效块时,需要停止启动过程,或者重新从其它块传送初始程序,从而导致时间效率低下。
校验符号,例如ECC等,对于具有预定数量或更多比特的错误是无效的。因此,当在校验单元中存在预定数量或更多比特的无效数据时,所述无效数据可能被错误地确定为有效数据。在此情况下,很可能将损坏的初始程序从NAND型闪速存储器传送至RAM,并由CPU执行。
发明内容
因此,本发明的一个目的是提供一种信息处理设备和信息处理方法,所述设备和方法可以将有效的初始程序传送给RAM,同时避开存在于诸如NAND型闪速存储器等的低可靠性存储设备中的无效块。
本发明的另一个目的是提供一种信息处理设备和信息处理方法,所述设备具有关于无效块的高度可靠的管理信息,并且可以容易地检测该管理信息本身的故障,所述无效块存在于存储初始程序的存储设备中。
本发明的又一个目的是提供一种信息处理设备和信息处理方法,该设备和方法能够减少启动系统所需的时间及制造成本。
本发明的第一个方面涉及一种用于使用存储在非易失性存储设备中的程序执行系统引导的信息处理设备。该信息处理设备包括:第一存储设备,其包含有效块和无效块,并提前以非易失性的方式存储用于执行系统引导的程序;第二存储设备;管理信息存储部分,其以非易失性的方式存储指示包含在第一存储设备中的无效块的位置的管理信息;传送设备,用于根据所存储的管理信息从第一存储设备向第二存储设备传送程序;CPU,用于通过执行由第二存储设备传送的程序来执行系统引导;以及CPU控制设备,用于禁止CPU的操作直到所述程序被传送设备完全传送完。
本发明的第二个方面涉及一种用于信息处理设备的信息处理方法,该信息处理设备包括:包含有效块和无效块并提前以非易失性的方式在有效块中存储用于执行系统引导的程序的第一存储设备,第二存储设备,指示存在于第一存储设备中的无效块的位置的管理信息,以及CPU。所述信息处理方法包括:程序传送步骤,该步骤包含传送确定步骤和传送步骤,所述传送确定步骤用于根据所述管理信息将第一存储设备的有效块设置成程序的传送源,所述传送步骤用于将所述程序从设置的传送源传送到第二存储设备;CPU禁止步骤,用于禁止CPU的操作直到完成程序传送步骤;以及系统引导步骤,在该步骤中,CPU执行传送至第二存储设备的程序以执行系统引导。
根据本发明的信息处理设备,当在系统引导之前传送初始程序时,使用有关无效块的管理信息来避免访问无效块,从而使得可以安全快速地执行系统引导,而不会读取或传送无效的初始程序。
此外,可以在诸如NAND型闪速存储器等的低可靠性存储器中提供管理信息,而不必使用诸如ROM等的高可靠性的存储器,从而能够减少系统的开销。
此外,通过检测在重写管理信息时出现的故障,可以使用高可靠性的管理信息,从而能够以高成功率启动系统。
通过以下结合附图对本发明的详细说明,本发明的这些及其他目的、特征、方面和优点将变得更加显而易见。
附图说明
附图1是说明根据本发明第一实施例的信息处理设备的结构的框图;
附图2是说明在NAND型闪速存储器中的块与页之间关系的示图;
附图3是说明附图1的引导程序(boot strap program,BSP)的结构的框图;
附图4是说明在附图1的信息处理设备中的管理信息的典型格式的示图;
附图5是说明附图1的传送确定部分的典型控制过程的流程图;
附图6是说明由附图1的信息处理设备中的CPU执行的典型的引导过程的流程图;
附图7是说明根据本发明的第二实施例的信息处理设备的结构的框图;
附图8是说明附图7的传送确定部分的典型控制过程的流程图;
附图9是说明根据本发明的第三实施例的信息处理设备的结构的框图;
附图10是说明根据本发明的第四实施例的信息处理设备的结构的框图;
附图11是说明根据本发明的第五实施例的信息处理设备的结构的框图;
附图12是说明根据本发明的第六实施例的信息处理设备的结构的框图;
附图13是说明附图12的多数裁定原则确定部分的典型控制过程的流程图;
附图14是说明根据本发明的第七实施例的信息处理设备的结构的框图;
附图15是说明附图14的第一至第三管理信息的实例的示图;
附图16是说明附图14的代比较部分的典型控制过程的流程图;
附图17是说明根据本发明的第八实施例的信息处理设备的结构的框图;
附图18是说明附图17的代比较部分的典型控制过程的流程图;
附图19是说明根据本发明的第九实施例的信息处理设备的结构的框图;
附图20是说明附图19的代比较部分的典型控制过程的流程图;
附图21是说明根据本发明的第十实施例的信息处理设备的框图;
附图22是说明附图21的代比较部分的典型控制过程的流程图;
附图23是说明根据本发明的第十一实施例的信息处理设备的结构的框图;
附图24是说明附图23的代比较部分的控制过程的流程图;
附图25是说明根据本发明的第十二实施例的信息处理设备的结构的框图;
附图26A是说明附图25的信息通知终端的典型结构的示图;
附图26B是说明附图25的信息通知存储部分的典型结构的示图;
附图27是说明根据本发明的第十三实施例的信息处理设备的结构的框图;
附图28是说明附图27的代比较部分的典型控制过程的流程图;
附图29是说明根据本发明的第十四实施例的信息处理设备的结构的框图;
附图30是说明由附图29的CPU执行的典型的管理信息的写入操作的流程图;
附图31是说明附图29的有效信息选择部分的典型控制过程的流程图;
附图32是说明根据本发明的第十五实施例的信息处理设备的结构的框图;
附图33A是说明附图32的第一存储设备的故障模式的示图;
附图33B是说明将管理信息写入附图32的第一存储设备的实例的示图;
附图34是说明附图32的管理信息获取部分的典型控制过程的流程图。
具体实施方式
(第一实施例)
附图1是说明根据本发明第一实施例的信息处理设备的结构的框图。附图2是说明NAND型闪速存储器中的块与页之间关系的示图。附图3是说明附图1的引导程序(BSP)的结构的框图。附图4是说明在附图1的信息处理设备中的管理信息的典型格式图。
如附图1所示,信息处理设备1包括CPU21,第一存储设备31,第二存储设备32,第三存储设备33,传送设备24以及CPU控制设备17。这些部分通过数据总线16a至16c相互连接。
CPU21是信息处理设备1的主CPU,并且通过执行由传送设备24从第一存储设备31传送至第二存储设备32的引导程序26(以下称作“BSP”)来进行系统引导。
第一存储设备31由包含不能正常用作存储器的无效块的非易失性存储设备构成。在第一实施例中,在第一存储设备31中使用NAND型闪速存储器。该NAND型闪速存储器具有被分成多个块的存储区,其中每个块又被进一步分成多个页,如附图2所示。例如,在特定NAND型闪速存储器中,每个块由8个页构成,每个页由512字节的数据部分和16字节的冗余部分构成(总共528字节)。应当注意,页的大小和块的大小根据NAND型闪速存储器的类型而变化,因此,一个页的大小可以不等于528字节,一个块的大小可以不等于8页。由NAND型闪速存储器构成的第一存储设备31包含附图2中由阴影线示出的无效块(块号2)。因此,当对第一存储设备31执行读或写操作时,需要在避开无效块的同时执行读或写操作。
如附图1所示,第一存储设备31在除无效块25以外的块中存储BSP 26和主程序27。
如附图3所示,BSP 26包括配置部分34和主程序传送部分35。配置部分34包括对系统进行基本配置所需的数据,例如用于设置总线控制器等的数据。当执行BSP 26时,根据包含在配置部分34中的这些数据对用于访问第三存储设备33等的存储器控制器进行设置。主程序传送部分35包括用于将主程序27传送至第三存储设备33的例程(routine)。主程序27是在完成系统引导之后由CPU 21执行的程序。通常,在信息处理设备中,主程序27要比BSP 26大。
应当注意,在对第一存储设备31执行写操作之前,通过使用预定的方法存取第一存储设备31,可以确定包含在该第一存储设备31中的块是有效的还是无效的。当对第一存储设备31执行写操作时,需要仅对有效块执行写操作,同时避开无效块25。以下,假定BSP 26存储在第一存储设备31的有效块中的、具有最少块数的一个或多个连续块中(在从第一页开始的连续页中),并且主程序27存储在第一存储设备31的有效块中的、存储BSP 26的块之后的一个或多个连续的块中(在从第一页开始的连续页中)。
第二存储设备32是可由CPU 21和传送设备24存取的易失性存储器,其没有特定的初始设置。将由CPU 21执行的BSP 26被传送至第二存储设备32。因此,第二存储设备32由具有比BSP 26大的容量的存储器构成。应当注意,当CPU 21执行完传送至第二存储设备32的BSP 26时,第二存储设备32失去其作用。因此,第二存储设备32可以由例如静态RAM构成,其代替专用存储器已被包含到系统LSI中。这种第二存储设备32可以用于构造信息处理设备1。
第三存储设备33是向其传送主程序27的存储设备,并且由具有比第二存储设备32更大的容量的存储器构成。因此,最好第三存储设备33由允许随机存取并且每比特价格较便宜的易失性存储器构成。第三存储设备33例如由SDRAM构成。
虽然这里为了简便,假定第二存储设备32和第三存储设备33是相互分离的存储设备,但是第二存储设备32和第三存储设备33也可以是在单个存储设备中分配的独立的存储区。在此情况下,在完成系统引导之后,分配为第二存储设备32的存储区可以用作工作存储区。
如附图1所示,传送设备24包括传送控制部分18,传送确定部分20,管理信息存储部分29,以及通知部分19。传送控制部分18具有在传送确定部分20的控制下,自动地将存储在第一存储设备31中的BSP 26传送至第二存储设备32的功能,以及在CPU21的控制下读取存储在第一存储设备31中的主程序27的功能。
在从第一存储设备31向第二存储设备32传送BSP 26之前,传送确定部分20根据存储在管理信息存储部分29中的管理信息30,对可能的存储BSP 26的块执行有效/无效确定处理,并指示传送控制部分18发送被确定为有效的块。
在完成BSP 26的传送之后,通知部分19将指示传送已完成的传送完成通知信号22输出给CPU控制设备17。
管理信息存储部分29是在由传送设备24从第一存储设备31读出BSP 26之前可被存取的、没有特定初始设置的非易失性存储区。优选地,管理信息存储部分29由可被随机读取的非易失性存储设备构成并且具有较小的容量,从而可以结合到系统LSI中。例如,作为管理信息存储部分29,可以使用FERAM(铁电随机存取存储器)。应当注意,除了具有随机读取的特征外,对于CPU21来说管理信息存储部分29可以是可重写的和可读的。
在管理信息存储部分29中,存储有指示存在于第一存储设备31中的无效块的位置的管理信息30。如附图4所示,管理信息30存储指示包含在第一存储设备31中的每个块是有效的还是无效的信息,对每个块使用一个比特。
例如,假定将具有256M字节的容量和16K字节的块大小的NAND型闪速存储器用作第一存储设备31。在此情况下,块的总数为16K。因此,管理信息存储部分29需要16K比特,即2K字节的区域。这里,假定管理信息30的对应于有效块的每个比特被设置成值“0”,对应于无效块的每个比特被设置成值“1”。在此情况下,附图4的管理信息30的例子指示第一存储设备31中第十三块(地址:1,比特:4)和第十八块(地址:2,比特:1)为无效块。
虽然以上已对管理信息30的典型格式进行了说明,但是也可以使用其他格式或为管理信息30提供附加信息。
CPU控制设备17根据从通知部分19输出的传送完成通知信号22输出CPU启动控制信号23,以便在直到传送设备24完成BSP 26的传送为止的时间内控制CPU 21的指令提取。例如,实际上CPU控制设备17一直传递CPU 21的复位信号直到传送完成通知信号22变为有效,并且在此期间,中止CPU 21。当传送完成通知信号22变为有效时,CPU控制设备17屏蔽复位信号并且CPU 21开始工作。CPU控制设备17的这种功能禁止CPU 21的指令提取直到传送完成通知信号22变为有效。
以下,将对传送设备24的操作进行更为详细的描述。
当电源接通时,传送设备24计算在第一存储设备31中存储BSP26的位置,并确定在所计算的存储位置的块是有效的还是无效的。当确定在所计算的存储位置上的块是有效的时,传送设备24逐页地连续读取BSP 26,并将BSP 26传送至第二存储设备32。
更特别地,当电源接通时,最初,传送确定部分20参考存储在管理信息存储部分29中的管理信息30来确定第一存储设备31中的第一块是有效的还是无效的。当第一存储设备31中的第一块是有效的块时,传送确定部分20指示传送控制部分18传送第一块。
应当注意,当传送控制部分18访问多个块时,传送确定部分20确定其中每个块是有效的还是无效的。如果传送确定部分20确定有一个块是无效的,则传送确定部分20停止系统引导或确定下一个块是有效的还是无效的。
传送控制部分18从开始读取存储在第一存储设备31中的内容,并将BSP 26传送至第二存储设备32。在此情况下,使用当电源接通时首先被CPU 21提取的命令所在的地址作为第一地址,连续地确定第二存储设备32中数据的目标地址。在此实施例中,首先被CUP 21提取的命令所在的地址被设置为第二存储设备32的第一地址。
附图5是说明传送确定部分20的典型控制过程的流程图。应当注意,为了简便,这里假定BSP的大小为一个块或更小。在附图5中,变量B指示从中读出BSP的块的编号。
结合附图1参照附图5,当电源接通时,最初,传送确定部分20将变量B设置为BSP搜索中的第一块的编号M(步骤S101)。从而,第一存储设备31中的读取开始位置被设置成所述第一块中的第一页。
接着,传送确定部分20读出对应于存储在管理信息存储部分29中的管理信息30的第B块的管理信息(步骤S102)。
接着,传送确定部分20确定所读出的第B块管理信息是否有效(步骤S103)。
当对应于第B块的管理信息具有指示有效块的值时(在步骤S 103中为是),传送确定部分20指示传送控制部分18传送存储在第B块中的内容(步骤S104)。当传送确定部分20指示传送控制部分18传送所存储的第B块的内容时,传送控制部分18从第一存储设备31读取所存储的第B块的内容,并将所述内容传送至第二存储设备32中的预定地址。在此情况下,BSP 26的传送成功,传送设备24结束处理。通知部分19将传送完成通知信号22输出至CPU控制设备17。
另一方面,当对应于第B块的管理信息具有指示无效块的值时(步骤S103为否),传送确定部分20将变量B加“1”(步骤S105),之后,确定变量B是否小于BSP搜索中的结束块的编号N(步骤S106)。
当B小于N时(步骤S106为是),传送确定部分20返回到步骤S102,并重复上述处理。当B不小于N时(步骤S106为否),则BSP26的传送失败,并且传送确定部分20结束处理。
通过这种控制,传送确定部分20可以在最多(N-M)个块内搜索BSP 26,同时避开无效块。应当注意,值M(搜索起始块)和N(搜索结束块)可以是预先存储在传送设备24中的预定值。可以配置信息处理设备1以使得能够使用开关等从外部改变值M和N。
之后,如上所述,当从通知部分19接收到传送完成通知信号22时,CPU控制设备17知道BSP 26的传送已正常结束,并改变CPU启动控制信号23从而使CPU 21开始工作。响应于此,CPU 21开始从第二存储设备32提取指令。与此相对照,当BSP 26的传送还没有正常完成时,通知部分19不输出传送完成通知信号22,从而CPU启动控制信号23不改变,并且CPU 21不执行从第二存储设备32提取指令。应当注意,也可以使用其他方法,例如控制将提供给CPU21的复位信号的方法,控制将提供给CPU 21的时钟信号的方法等等,作为使用CPU控制设备17控制CPU 21的指令提取的方法。
附图6是说明CPU 21的典型引导过程的流程图。应当注意,在附图6中,当读取主程序时,变量B指示块号。
结合附图1参照附图6,当已完成BSP 26到第二存储设备32的传送时,CPU 21首先使用存储在BSP 26的系统配置部分中的数据执行系统配置(步骤S201)。因此,例如,为存储器接口电路等设置各种参数,从而CPU21可以存取第三存储设备33。
接着,CPU 21将从中将读取主程序的块中的第一个块的编号P设置给变量B(步骤S202)。
接着,CPU 21从管理信息存储部分29读取对应于第B个块的管理信息(步骤S203)以确定该第B块是否有效(步骤S204)。当该第B块是有效的块时(步骤S204为是),CPU 21将存储在第一存储设备31的第B块中的内容复制到第三存储设备33中的预定地址(步骤S205),并给变量B加“1”(步骤S206)。当第B块是无效块时(步骤S204为否),CPU 21不执行步骤S205,并给变量B加“1”(步骤S206)。
之后,CPU 21确定变量B是否小于主程序搜索中的结束块的编号Q(步骤S207)。
当B小于Q时(步骤S207为是),CPU 21返回到步骤S203,并重复类似的处理。当B不小于Q时(步骤S207为否),CPU21传送主程序27并结束所述处理。
因此,CPU 21对最多(Q-P)个块执行第二存储设备32上的BSP26,同时避开无效块,从而将第一存储设备31的主程序27传送至第三存储设备33。之后,CPU 21执行第三存储设备33上的主程序27。
如上所述,根据信息处理设备1,即使当将诸如NAND型闪速存储器等等的低可靠性存储器用作第一存储设备31时,传送设备24也可以根据指示存在于第一存储设备31中的无效块的位置的管理信息30来传送存储在第一存储设备31中的程序,同时避开无效块。因此,CPU 21可以稳定地进行系统引导。
在该实施例的信息处理设备1中,不需要读取无效块及计算或比较校验符号,从而可以减少系统引导所需的时间。此外,可以避免不适当的传送使用校验符号不能检测到的无效块。
特别地,在本实施例中,传送设备24包括管理信息30,因此传送设备24不需要存取其他存储器。因而,传送设备24可以由简单的电路构成。
(第二实施例)
附图7是说明根据本发明第二实施例的信息处理设备的结构的框图。第二实施例的信息处理设备2具有类似于第一实施例的基本结构,因此,以下将主要对两者之间的差别进行说明。
首先,第二实施例的信息处理设备2与第一实施例不同之处在于,指示存在于第一存储设备37中的无效块的位置的管理信息41被存储在第一存储设备37中的预定的有效块中。与第一实施例的另一个差别在于,在传送设备40中还包含用于从第一存储设备37获取管理信息41的管理信息获取部分39。
附图8是说明传送确定部分38的典型控制过程的流程图。应当注意,在附图8中,BSP 26的大小同样是一个块或更小。
结合附图7参照附图8,当电源接通时,传送确定部分38将变量B设置为BSP搜索中的第一个块的编号M(步骤S301)。从而,第一存储设备37中的读取起始位置被设置成第一块的第一页。
接着,传送确定部分38指示管理信息获取部分39读取管理信息41(步骤S302)。
接着,当从管理信息获取部分39接收到管理信息41时(步骤S303),传送确定部分38从管理信息41中读取对应于第B块的数据并确定第B块是否有效(步骤S304)。
当对应于第B块的管理信息具有指示有效块的值时(步骤S304为是),传送确定部分38指示传送控制部分18传送存储在第B块中的内容(步骤S305)。当传送确定部分38指示传送控制部分18传送第B块的存储内容时,传送控制部分18读出第一存储设备37的第B块的存储内容,并将该内容传送至第二存储设备32中的预定地址。在此情况下,BSP 26的传送成功,并且传送设备40结束所述处理。通知部分19将传送完成通知信号22传送至CPU控制设备17。
另一方面,当对应于第B块的管理信息具有指示无效块的值时(步骤S304为否),传送确定部分38将变量B加“1”(步骤S306)。
之后,传送确定部分38确定变量B是否小于BSP搜索中的结束块的编号N(步骤S307)。
当B小于N时(步骤S307为是),传送确定部分38返回到步骤S302并重复类似于上述过程的处理。当B不小于N时(步骤S307为否),传送确定部分38认为BSP 26的传送失败,并结束所述处理。
因此,传送确定部分38在最多(N-M)个块内搜索BSP 26,同时避开了无效块。应当注意,上述值M和N可以是存储在传送设备40中的预定值。或者,可以配置信息处理设备2以使得可以使用开关等设备从外部来改变值M和N。虽然在第二实施例中配置管理信息获取部分39获取全部管理信息41,但是也可以仅获取对应于第B块的管理信息。
接着,信息处理设备2以类似于第一实施例的方式执行后续处理,因此,可以获得类似于第一实施例的结果。此外,在第二实施例的信息处理设备2中,管理信息41存储在第一存储设备37中,从而传送设备40不需要包含用于存储管理信息的非易失性存储设备。从而能够减少系统的成本。
(第三实施例)
附图9是说明根据本发明的第三实施例的信息处理设备的结构的框图。第三实施例的信息处理设备3具有类似于第二实施例(附图7)的基本结构,并且与第二实施例的不同之处在于传送设备45还包括管理信息指针存储部分44。
管理信息指针存储部分44由非易失性存储设备构成。配置传送设备45以使得CPU 21可以通过数据总线16d将数据写入到管理信息指针存储部分44。管理信息指针存储部分44存储保存在第一存储设备37中的管理信息41的地址作为管理信息指针。用作管理信息指针的值不受特别限制,并且例如可以是其中存储有管理信息41的第一存储设备37的块的编号。
当获取管理信息41时,管理信息获取部分43参照存储在管理信息指针存储部分44中的管理信息指针以指定管理信息41的存储位置。管理信息指针存储部分44被配置成与由CPU 21写入管理信息41相关联地进行更新。
利用上述配置,管理信息41本身存储在第一存储设备37中,并且仅有管理信息41的位置信息存储在由非易失性存储设备构成的管理信息指针存储部分44中,从而使得可以减少传送设备45所需的非易失性存储设备的容量。例如,当第一存储设备37由2048个块构成时,需要具有2048比特容量的非易失性存储设备以将全部管理信息41存储到传送设备45中。然而,当仅存储管理信息指针时,例如仅需要11比特。从而,可以减少系统成本。
即使是当存储管理信息41的块以后变为无效块时,也可以防止系统失效,因为管理信息41可以方便地移动到有效块中。
此外,如果配置传送设备45以使得CPU 21可以重写作为管理信息41的位置信息的管理信息指针,那么CPU 21可以与管理信息41的写入相关联地重写管理信息指针。在此情况下,如果控制管理信息指针存储部分44以与由CPU 21执行的管理信息41的写入相联系地对其进行更新,则可以防止未能更新作为位置信息的管理信息指针。
(第四实施例)
附图10是说明根据本发明第四实施例的信息处理设备的结构的框图。第四实施例的信息处理设备4具有类似于第二实施例(附图7)的基本结构,与第二实施例不同之处在于,第一存储设备47存储第一至第三管理信息48至50,信息处理设备4还包括管理信息选择终端54,传送设备53包括管理信息指针计算部分52。
例如,第一至第三管理信息48至50具有相同的值,并且被存储在第一存储设备47的相应的不同的有效块中。利用这种配置,当任何管理信息以后出现故障时,可以将其他管理信息用于备份。
管理信息选择终端54是用于从外部接收用于选择管理信息的选择信息的终端。
管理信息指针计算部分52根据从管理信息选择终端54输入的选择信息的值计算将提供给管理信息获取部分51的管理信息指针。输入到管理信息选择终端54的值没有特定限制,可以是利用其可以识别每段管理信息的值。
在初始状态下,在管理信息选择终端54中设置指定第一管理信息48的值。当使用第一管理信息48的系统引导失败时,用户将管理信息选择终端54的值转换为指定第二管理信息49的值,并再次执行系统引导。
利用这种配置,即使是当存储任何一个管理信息的块被损坏时,信息处理设备4也可以转换到其他管理信息以尝试再次引导。此外,由于管理信息指针计算部分52根据输入的选择信息计算位置信息,所以可以使用少量比特来配置管理信息选择终端54,从而可以减少系统成本。
虽然以上描述了在第一存储设备47中包含三段管理信息的例子,但是管理信息的段数并不必为三,也可以是两段或更多段中的任何数量。作为变形,可以配置信息处理设备4以使得从传送设备53中移除管理信息指针计算部分52,并且将从管理信息选择终端54输入的选择信息直接输入到管理信息获取部分51。此外,可以直接将第一至第三管理信息48至50的存储位置信息输入到管理信息选择终端54。
(第五实施例)
附图11是说明根据本发明第五实施例的信息处理设备的结构的框图。第五实施例的信息处理设备5具有类似于第四实施例(附图10)的基本结构,并且与第四实施例的重要不同在于存储在第一存储设备57中的程序等等。
如附图11所示,第一存储设备57存储第一管理信息58,第一BSP 59,第一主程序60,第二管理信息61,第二BSP 62,以及第二主程序63。应当注意,在第五实施例中,第一主程序60是不同于第二主程序63的程序。
在第一管理信息58中,其中存储有第一管理信息58、第一BSP59和第一主程序60的块被登记为有效块,并且其中存储有第二管理信息61、第二BSP 62和第二主程序63的块被登记为无效块。
相反,在第二管理信息61中,其中存储有第二管理信息61、第二BSP 62和第二主程序63的块被登记为有效块,并且其中存储有第一管理信息58、第一BSP 59和第一主程序60的块被登记为无效块。
第一BSP 59包括用于将第一主程序60从第一存储设备57传送至第三存储设备33的信息。第二BSP 62包括用于将第二主程序63从第一存储设备57传送至第三存储设备33的信息。
利用这种配置,当通过管理信息选择终端54选择第一管理信息58时,可以启动第一主程序60,并且当选择第二管理信息61时,可以启动第二主程序63。因此,如果需要,可以通过管理信息选择终端54从外部选择不同的程序并启动。
虽然在第五实施例中,信息处理设备5包括一对管理信息段,一对BSP,以及一对主程序,但是也可以提供三个或更多的管理信息段、三个或更多的BSP以及三个或更多的主程序。
(第六实施例)
附图12是说明根据本发明第六实施例的信息处理设备的结构的框图。第六实施例的信息处理设备6具有类似于第二实施例(附图7)的基本结构,并且与第二实施例的不同之处在于,第一至第三管理信息48至50被存储在第一存储设备67中,并且传送设备71还包括多数裁定原则确定部分69。
第一至第三管理信息48至50具有相同的数据。在第一存储设备67中,每段管理信息的存储位置可以是固定的,或者如同第二实施例一样可以自由改变。虽然在第六实施例中,第一存储设备67存储有三段管理信息,但是管理信息的段数并不必为三,其可以为两段或多段中的任何数量。
多数裁定原则确定部分69根据多数裁定原则,对于特定块从多段管理信息中选择一个占多数的值,并将选中的管理信息提供给传送确定部分68。当从传送确定部分68访问一个特定的块的管理信息时,多数裁定原则确定部分69首先针对所述块读取第一管理信息48、第二管理信息49和第三管理信息50中的每一个。接着,根据读取的管理信息,多数裁定原则确定部分69计算指示有效块的管理信息的数量和指示无效块的管理信息的数量。因此,当指示有效块的管理信息的数量大于指示无效块的管理信息的数量时,多数裁定原则确定部分69将指示所述访问块为有效块的信息返回给传送确定部分68。当指示有效块的管理信息的数量小于或等于指示无效块的管理信息的数量时,多数裁定原则确定部分69将指示所述访问块为无效块的信息返回给传送确定部分68。
附图13是说明多数裁定原则确定部分69的典型控制过程的流程图。结合附图12参照附图13,当从传送确定部分68访问第B块的管理信息时,多数裁定原则确定部分69利用“0”初始化变量T和变量F,所述变量T保存指示有效块的管理信息的数量,所述变量F保存指示无效块的管理信息的数量,并且利用“1”初始化保存读取的管理信息的数量的变量K(步骤S401)。
接着,多数裁定原则确定部分69通过管理信息获取部分70从第K个管理信息读取对应于第B块的管理信息的值(步骤S402)。
接着,多数裁定原则确定部分69根据在步骤S402读取的管理信息值确定第B块是否为有效块(步骤S403)。当第B块是有效块时(步骤S403为是),多数裁定原则确定部分69将变量T加“1”(步骤S404)。当第B块是无效块时(步骤S403为否),多数裁定原则确定部分69将变量F加“1”(步骤S405)。
接着,多数裁定原则确定部分69将变量K加“1”(步骤S406),之后,确定读取的管理信息的数量K是否大于所存储的管理信息的数量(步骤S407)。当K不大于存储的管理信息的数量时,并没有访问所有的管理信息,因此,多数裁定原则确定部分69返回到步骤S402并重复上述处理。
当K大于所存储的管理信息的数量时(步骤S407为是),多数裁定原则确定部分69比较变量T与变量F(步骤S408)。当变量T大于变量F时(步骤S408为是),即,多个管理信息中的大多数都具有指示有效块的值,因此多数裁定原则确定部分69确定第B块为有效块(步骤S409)。当变量T不大于变量F时(步骤S408为否),即多个管理信息中的半数或多半具有指示无效块的值,多数裁定原则确定部分69确定第B块为无效块(步骤S410)。在根据多数裁定原则选择管理信息值以后,多数裁定原则确定部分69将选择的管理信息返回给传送确定部分6,并结束所述处理。
利用这种配置,多数裁定原则确定部分69可以通过执行相对简单的处理,根据多数裁定原则来选择存储在第一存储设备67中的第一至第三管理信息48至50的值。从而,即使是当第一存储设备67突然中断,也可以保护管理信息的可靠性。
虽然在第六实施例中,多数裁定原则确定部分69被配置成访问所有多个管理信息,但是该多数裁定原则确定部分69也可以在首先检测到保存管理信息的总数中的大多数的值时,根据多数裁定原则来结束管理信息的选择过程。利用这种配置,多数裁定原则确定部分69可以及早结束多数裁定原则确定处理,由此可以减少系统引导所需的时间。
或者,当第一至第三管理信息48至50被存入第一存储设备67中时,第一至第三管理信息48至50中的每段信息都可以在执行预定比特数目的循环移位的同时被存储。在此情况下,多数裁定原则确定部分69可以在向与其存储时移位的方向相反的方向执行预定比特数目的循环移位时访问第一至第三管理信息48至50。
例如,当以5比特为单位向右进行循环移位时,第一管理信息48可以在不移位的情况下被存储,第二管理信息49可以被相对于原始值向右循环移位5比特,第三管理信息50可以被相对于原始值向右循环移位10比特。当执行读取操作时,多数裁定原则确定部分69可以在不移位的情况下访问第一管理信息48,可以在向左循环移位5比特之后访问第二管理信息49,以及可以在向左循环移位10比特之后访问第三管理信息50。
通常,在NAND型闪速存储器中,其结构很可能导致不同页上的相同列中的邻近地址比特的损坏。然而,利用上述配置,多段管理信息存储在不同的列地址中,从而减少了所有管理信息同时丢失的可能性。如果丢失一部分管理信息,则多数裁定原则确定部分69的处理备份丢失的信息,使得可以进一步提高对抗NAND型闪速存储器的故障的可靠性。
(第七实施例)
附图14是说明根据本发明第七实施例的信息处理设备的结构的框图。第七实施例的信息处理设备7具有类似于第二实施例(附图7)的基本结构,并且与第二实施例不同之处在于,第一存储设备67包括第一至第三管理信息48至50并且传送设备77还包括代比较部分75。
第一至第三管理信息48至50存储相同的值。应当注意,在第七实施例中,第一存储设备67存储三段管理信息,但是管理信息的数量并不必为三,也可以存储两段或更多段的管理信息。此外,在传送设备77中,每段管理信息的存储位置可以固定,或者可以与第二实施例相同自由改变。
以下,假定第一至第三管理信息48至50已被按此顺序写入到第一存储设备67中。在此情况下,管理信息获取部分76按写入顺序读取管理信息,即,按照第一管理信息48、第二管理信息49和第三管理信息50的顺序来读取它们。以下,还假定第一至第三管理信息48至50存储在三个连续的块中。
当传送确定部分74指示管理信息获取部分76获取管理信息时,代比较部分75指示管理信息获取部分76按照与执行写入时相同的顺序读取存储在第一存储设备67中的第一至第三管理信息48至50。代比较部分75比较由管理信息获取部分76连续读取的管理信息的值,并且在它们当中确定没无效的并且最有可能是最新的管理信息。之后,代比较部分75将没无效的并且最有可能是最新的管理信息返回给传送确定部分74。
特别地,当多段管理信息中的第一次被读取的管理信息与第二次被读取的具有相同的值时,代比较部分75将该值作为最新一代的管理信息传送给传送确定部分74。
另一方面,当第一次读取的管理信息和第二次读取的管理信息具有不同的值时,代比较部分75将第二次读取的管理信息与第三次读取的管理信息进行比较。当第二次读取的管理信息和第三次读取的管理信息具有不同的值时,代比较部分75将第一次读取的管理信息作为最新一代的管理信息传送至传送确定部分74。当第二次读取的管理信息和第三次读取的管理信息具有相同的值时,代比较部分75将第二次读取的管理信息作为前一代的管理信息传送至传送确定部分74。
附图15是说明第一至第三管理信息48至50的实例的示图。如上所述,按照第一至第三管理信息的顺序执行管理信息的写入。更具体地,根据假定在更新这些管理信息时会出现的故障的出现时间,附图15说明了管理信息的代信息的可能情况A到G。例如,附图15的情况B指示第一管理信息和第二管理信息被更新为最新一代的信息,但是第三管理信息未被更新并且仍旧为前一代信息。
附图16是说明代比较部分75的典型控制过程的流程图。结合附图14参照附图16,当传送确定部分74访问管理信息时,代比较部分75从第一存储设备67将第一管理信息48读入缓冲器I1(步骤S501),并将第二管理信息49读取到缓冲器I2中(步骤S502)。缓冲器I1和I2由例如包含在传送设备77中的非易失性存储设备构成。
接着,代比较部分75将存储在缓冲器I1中的内容与存储在缓冲器I2中的内容进行比较(步骤S503)。当缓冲器I1的存储内容等于缓冲器I2的存储内容时(步骤S503为是),代比较部分75确定缓冲器I1的存储内容是最新一代的,将所述内容传送至传送确定部分74(步骤S506),并结束所述处理。例如当如附图15的情况A、B、C和G中所示分布管理信息的代时执行这种处理。在此情况下,情况A和G不能相互区分。然而,即使是在情况A和情况G下,也不会将无效的管理信息传送至传送确定部分74。
另一方面,当缓冲器I1的存储内容不等于缓冲器I2的存储内容时(步骤S503为否),代比较部分75将第三管理信息50读取到缓冲器I3中(步骤S504),并且比较缓冲器I2和缓冲器I3(步骤S505)。当缓冲器I2的存储内容等于缓冲器I3的存储内容时(步骤S505为是),代比较部分75将缓冲器I2的存储内容作为管理信息传送至传送确定部分74(步骤S507),并结束所述处理。例如当如附图15的情况D和F中所示分布管理信息的代时,执行这种处理。在此情况下,情况D和F不能相互区分。然而,即使是在情况D和F下,也不会将无效的管理信息传送至传送确定部分74。
当缓冲器I2的存储内容不等于缓冲器I3的存储内容时(步骤S505为否),代比较部分75确定缓冲器I1为最新一代的管理信息,并将缓冲器I1的存储内容传送至传送确定部分74(步骤S506)。例如在附图15的情况E中执行这种处理。
通过执行上述控制处理,代比较部分75比较管理信息的值以消除无效的管理信息,并将极有可能是最新一代的管理信息传送至传送确定部分74。当在所述控制处理中没有获得最新一代的管理信息时,代比较部分75将前一代的管理信息传送至传送确定部分74。
如上所述,第七实施例的信息处理设备7比较存储在第一存储设备67中的第一至第三管理信息48至50的值,从而使得可以检测是否由于例如出现故障而中断了管理信息的更新。此外,信息处理设备7可以选择极有可能是有效的并且是最新一代的管理信息,从而使得可以提高管理信息的可靠性。
(第八实施例)
附图17是说明根据本发明的第八实施例的信息处理设备的结构的框图。第八实施例的信息处理设备8具有类似于第七实施例(附图14)的基本结构,并且与第七实施例不同之处在于,每段管理信息包括第一至第三更新标签81至83,并且传送设备86包括更新标签获取部分85。
第一更新标签81由具有预定长度的比特序列构成。每次更新第一管理信息48时,存储不同于前一比特值的比特值。例如,假定更新标签的比特长度为8比特,并且连续使用十六进制的“AA”和“55”作为将记录到所述更新标签中的值,当第一次更新第一管理信息48时,CPU21将“AA”写入到第一更新标签81中,并在下一次更新时将“55”写入到第一更新标签81中。在此情况下,更新标签获取部分85可以通过访问第一更新标签81来获取第一管理信息48的更新状态。应当注意,更新标签的比特长度和将写入到更新标签中的值可以具有其它值。第二更新标签82和第三更新标签83以与第一更新标签81类似的方式进行配置。
更新标签获取部分85以与当写入管理信息时的顺序相同的顺序读取对应于管理信息的更新标签。例如,在第八实施例中,当按照第一至第三管理信息48至50的顺序写入它们时,更新标签获取部分85以此顺序读取第一更新标签81,第二更新标签82和第三更新标签83。
当传送确定部分74指示管理信息获取部分76获取管理信息时,第八实施例的代比较部分84指示更新标签获取部分85按照已存入第一存储设备80中的多段管理信息的写入顺序获取对应于管理信息的更新标签。代比较部分84比较由更新标签获取部分85连续读取的第一至第三更新标签81至83的值,并选择没无效的并且极有可能是最新的管理信息。代比较部分84指示管理信息获取部分76获取极有可能是最新的管理信息,并将获取的管理信息的值返回到传送确定部分74。
附图18是说明代比较部分84的典型控制过程的流程图。结合附图17参照附图18,当传送确定部分74访问管理信息时,代比较部分84从第一存储设备80将对应于在第一次写入的第一管理信息48的第一更新标签81读取到缓冲器I1中(步骤S511),并从第一存储设备80将对应于在第二次写入的第二管理信息49的第二更新标签82读取到缓冲器I2中(步骤S512)。
接着,代比较部分84比较缓冲器I1的存储内容与缓冲器I2的存储内容(步骤S513)。当缓冲器I1的存储内容等于缓冲器I2的存储内容时(步骤S513为是),代比较部分84指示管理信息获取部分76获取对应于第一更新标签81的第一管理信息48(步骤S516)。之后,代比较部分84确定第一管理信息48为最新一代的管理信息,将该第一管理信息48传送至传送确定部分74(步骤S517),并结束所述处理。
另一方面,当缓冲器I1存储的内容不等于缓冲器I2存储的内容时(步骤S513为否),代比较部分84将对应于在第三次写入的第三管理信息50的第三更新标签83读取到缓冲器I3中(步骤S514),并比较缓冲器I2的存储内容与缓冲器I3的存储内容(步骤S515)。当缓冲器I2的存储内容等于缓冲器I3的存储内容时(步骤S515为是),代比较部分84确定不存在任何有效的并且为最新一代的管理信息,并且指示管理信息获取部分76获取对应于第二更新标签82的第二管理信息49(步骤S518)。之后,代比较部分84将第二管理信息49传送至传送确定部分74(步骤S519),并结束所述处理。
当缓冲器I2的存储内容不等于缓冲器I3的存储内容时(步骤S515为否),代比较部分84指示管理信息获取部分76获取对应于第一更新标签81的第一管理信息48(步骤S516)。之后,代比较部分84确定第一管理信息48为最新一代的管理信息,将第一管理信息48传送至传送确定部分74(步骤S517),并结束所述处理。
通过执行上述控制过程,代比较部分84可以使用第一至第三更新标签81至83以消除出现在管理信息更新过程中的无效的管理信息,并将极有可能是最新一代的管理信息传送至传送确定部分74。同样在该控制过程中,当未获得最新一代的管理信息时,代比较部分84将前一代的管理信息传送至传送确定部分74。
如上所述,第八实施例的信息处理设备8根据第一至第三更新标签81至83获取管理信息,从而使得可以减少将要读取的数据量和缓冲器的大小。因此,根据信息处理设备8,可以获得高速操作和低成本的系统。
例如,假定对具有2048个块的第一存储设备80的每个块使用一个比特的管理信息。在此情况下,如果使用管理信息本身来确定管理信息的代,将需要处理2048比特的数据量。然而,如果使用为每段管理信息提供的8个比特的更新标签来进行代确定,则确定过程所需的数据量仅为8比特。
(第九实施例)
附图19是说明根据本发明的第九实施例的信息处理设备的结构的框图。第九实施例的信息处理设备9具有类似于第八实施例(附图17)的基本结构,并且与第八实施例不同之处在于,传送设备91还包括更新标签存储部分90。
更新标签存储部分90由例如非易失性存储设备构成,每次更新第一至第三管理信息48至50时,存储用于更新的更新标签作为用于比较的标签。
当传送确定部分74指示管理信息获取部分76获取管理信息时,代比较部分89指示更新标签获取部分85按照存储在第一存储设备80中的第一至第三管理信息48至50的写入顺序读取第一至第三更新标签81至83。代比较部分89将由更新标签获取部分85读出的更新标签与存储在更新标签存储部分90中的比较标签进行比较。当这些标签具有相同的值时,代比较部分89确定对应于更新标签的管理信息是最新一代的管理信息。之后,代比较部分89指示管理信息获取部分76获取所确定的最新一代的管理信息,并将所获取的管理信息的值返回给传送确定部分74。
附图20是说明代比较部分89的典型控制过程的流程图。结合附图19参照附图20,当从传送确定部分74访问管理信息时,代比较部分89利用“0”初始化将被读取的标签的编号L(步骤S521)。
接着,代比较部分89将标签编号L加“1”(步骤S522),之后,将第L个更新标签读取到缓冲器I中(步骤S523),并且比较缓冲器I的值与存储在更新标签存储部分90中的比较标签的值(步骤S524)。当缓冲器I的值等于比较标签的值时(步骤S524为是),代比较部分89指示管理信息获取部分76获取第L个管理信息(步骤S525)。之后,代比较部分89将所获取的管理信息作为最新一代的管理信息传送至传送确定部分74(步骤S526),并结束所述处理。
另一方面,当缓冲器I的值不等于所述比较标签的值时(步骤S524为否),代比较部分89确定标签编号L是否是指示最后的更新标签的编号(步骤S527)。当标签编号L是指示最后的更新标签的编号时(步骤S527为是),代比较部分89不能获得有效的更新标签,从而所述处理失败。当标签编号L不是指示最后的更新标签的编号时,代比较部分89返回到步骤S522,并重复类似的处理。
通过执行上述控制过程,代比较部分89可以根据存储在更新标签存储部分90中的比较标签,可信地并且有效地检测最新一代的管理信息。
如上所述,在第九实施例的信息处理设备9中,通过使用存储在传送设备91的更新标签存储部分90中的比较标签,可以可信地检测最新一代的更新标签。此外,由于可以可信地使用最新一代的管理信息,从而可以提高管理信息的可靠性。
虽然在第九实施例中更新标签存储部分90存储与更新标签的内容相同的内容,但是更新标签存储部分90也可以存储用作比较标签的更新标签的编号。在此情况下,更新标签获取部分85可以使用对应于该更新标签的编号的更新标签。
(第十实施例)
附图21是说明根据本发明第十实施例的信息处理设备的框图。第十实施例的信息处理设备10具有类似于第七实施例(附图14)的基本结构,并且与第七实施例不同之处在于,第一存储设备94还包括第一至第三管理信息标记95至97,并且传送设备100的代比较部分98包括管理信息标记确定部分99。
第一管理信息标记95由多个比特构成。当第一管理信息48是管理信息时,第一管理信息标记95存储第一值,并且当第一管理信息48是其它数据时,存储第二值。从而,即使是除了管理信息之外的数据被写入第一管理信息48的区域中,也可以将第一管理信息48看作管理信息。每次重写第一管理信息48时,所述第一值就被设置到第一管理信息标记95中。应当注意,第二管理信息标记96和第三管理信息标记97中的每一个都与第一管理信息标记95类似。
管理信息标记确定部分99根据第一至第三管理信息标记95至97来区分对应于每个管理信息标记的管理信息和其它数据。
当第一次读取的管理信息与第二次读取的管理信息相同时,第十实施例的代比较部分98确定该值为最新一代的管理信息,并将该值传送至传送确定部分74。
另一方面,当第一次读取的管理信息不同于第二次读取的管理信息时,代比较部分98通过管理信息标记确定部分99访问第一次读取的管理信息的管理信息标记。因此,当第一次读取的管理信息的管理信息标记具有指示管理信息的第一值时,代比较部分98就将第一次读取的管理信息的值传送至传送确定部分74。当第一次读取的管理信息的管理信息标记具有指示其它数据的第二值时,代比较部分98将第二次读取的管理信息的值传送至传送确定部分74。
附图22是说明代比较部分98的典型控制过程的流程图。结合附
图21参照附图22,当从传送确定部分74访问管理信息时,代比较部分98将存储在第一存储设备94中的多段管理信息中的第一次写入的第一管理信息48、以及第一管理信息标记95读取到缓冲器I1中(步骤S531),并将第二次写入的第二管理信息49及第二管理信息标记96读入到缓冲器I2中(步骤S532)。
接着,代比较部分98将缓冲器I1存储的内容和缓冲器I2存储的内容进行比较(步骤S533)。当缓冲器I1存储的内容等于缓冲器I2存储的内容时(步骤S533为是),代比较部分98确定缓冲器I1存储的内容为最新一代的管理信息,并将所述值传送至传送确定部分74(步骤S536),并结束所述处理。
另一方面,当缓冲器I1存储的内容不等于缓冲器I2存储的内容时(步骤S533为否),代比较部分98使用管理信息标记确定部分99检查在缓冲器I1中获取的第一管理信息标记95的值(步骤S534)。因此,当第一管理信息标记95为指示管理信息的第一值时(步骤S534为是),代比较部分98确定缓冲器I1为最新一代的管理信息,将在缓冲器I1中获取的第一管理信息48传送至传送确定部分74(步骤S536),并结束所述处理。当第一管理信息标记95不是指示管理信息的第一值时(步骤S534为否),代比较部分98确定缓冲器I2为前一代的管理信息,将在缓冲器I2中获取的第二管理信息49传送至传送确定部分74(步骤S535),并结束所述处理。
通过执行上述控制过程,代比较部分98可以比较每段管理信息和管理信息标记的值,消除无效的管理信息,并将极有可能是最新一代的管理信息传送至确定部分。同样在这种控制中,当未获得最新一代的管理信息时,则将前一代的管理信息传送至传送确定部分74。
如上所述,在第十实施例的信息处理设备10中,可以可信地区分管理信息与其他数据,从而提高检测最新一代的管理信息的准确性,从而使得可以提高管理信息的可靠性。
优选地,第一至第三管理信息标记95至97具有8比特或更多比特的值。当管理信息标记具有大到一定程度的比特长度时,即使在第一存储设备94的擦除过程或写入过程期间发生故障,也可以避免管理信息标记偶然具有指示管理信息的值的情况。由于类似的原因,最好使用用于第一存储设备94的删除过程的比特形式以外的值作为管理信息标记的值。
(第十一实施例)
附图23是说明根据本发明第十一实施例的信息处理设备的结构框图。第十一实施例的信息处理设备11具有类似于第八实施例(附图17)的基本结构,并且与第八实施例不同之处在于,第一存储设备103还存储第一至第三管理信息标记95至97,代比较部分105包括管理信息标记确定部分99,传送设备106包括更新标签存储部分90,还包含附加信息获取部分104来代替附图17的更新标签获取部分。
应当注意,第一至第三管理信息标记95至97,以及代比较部分105中的管理信息标记确定部分99类似于第十实施例(附图21)中的对应部分。传送设备106的更新标签存储部分90类似于第九实施例(附图19)的对应部分。
当确定管理信息的代时,附加信息获取部分104能够从第一存储设备103获取对应于管理信息的更新标签和管理信息标记。
以下,假定第一至第三管理信息48至50存储在三个连续的块中。第一至第三更新标签81至83分别存储在与第一至第三管理信息48至50的块相同的块中。
附图24是说明代比较部分105的控制过程的流程图。结合附图23参照附图24,当传送确定部分74访问管理信息时,代比较部分105利用“0”初始化标签编号L、管理信息的编号C以及管理信息的代P,并利用十六进制数“FF”初始化缓冲器I1和缓冲器I2(步骤S541)。
代比较部分105将标签编号L加“1”,之后,通过附加信息获取部分104获取第L个管理信息标记和更新标签(步骤S542),并且进一步,确定管理信息的编号C的值(步骤S543)。
当管理信息的编号C为0时(步骤S543为是),还未检测第一段管理信息。代比较部分105使用管理信息标记确定部分99确定第L个管理信息标记是否具有指示管理信息的值(步骤S544)。因此,当第L个管理信息标记具有指示管理信息的第一值时(步骤S544为是),代比较部分105将第L个更新标签的值读入到缓冲器I1中(步骤S545),并将标签编号L设置给管理信息的编号C(步骤S546),之后,执行如下所述的步骤547的处理。
在步骤S544中,当第L个管理信息标记不具有指示管理信息的第一值时(步骤S544为否),代比较部分105不执行步骤S545和S546的处理,并执行如下所述的步骤S547的处理。
另一方面,当管理信息的编号C不为0时(步骤S543为否),缓冲器I1已经保存更新标签的值。代比较部分105使用管理信息标记确定部分99确定第L个管理信息标记是否具有指示管理信息的值(步骤S548)。因此,当第L个管理信息标记具有指示管理信息的第一值时(步骤S548为是),代比较部分105将第L个更新标签的值读入缓冲器I2(步骤S549),并将缓冲器I1存储的内容与缓冲器I2存储的内容进行比较(步骤S550)。当缓冲器I1存储的内容等于缓冲器I2存储的内容时(步骤S550为是),代比较部分105执行如下所述的步骤S547的处理。
在步骤S547中,代比较部分105确定所述标签编号L是否为最后的更新标签的编号。当该标签编号L不是最后的更新标签时(步骤S547为否),代比较部分105返回到步骤S542,并重复上述处理。当标签编号L是最后的更新标签时(步骤S547为是),代比较部分105执行如下所述的步骤S552的处理。
在步骤S548为否的情况下(当第L个管理信息标记不指示指示管理信息的第一值时),以及在步骤S550为否的情况下(当缓冲器I1的存储内容不等于缓冲器I2的存储内容时),代比较部分105将标签编号L减“1”(步骤S551),之后,执行如下所述的步骤S552的处理。
在步骤S552中,代比较部分105确定管理信息的编号C的值。当C为0时(步骤S552为是),代比较部分105确定未检测到有效的管理信息(步骤S557),并结束所述处理。
当C不为0时(步骤S552为否),代比较部分105将缓冲器I1的存储内容与存储在更新标签存储部分90中的比较标签进行比较(步骤S553)。当缓冲器I1等于比较标签时(步骤S553为是),代比较部分105将指示最新一代的“1”设置到管理信息的代P中(步骤S554)。当缓冲器I1不等于比较标签时(步骤S553为否),代比较部分105将指示前一代的“2”设置到使用的管理信息的代P中(步骤S555)。之后,代比较部分105通过管理信息获取部分76获取第C个管理信息,并将所获取的管理信息传送至传送确定部分74(步骤S556)。
通过代比较部分105的上述控制,可以使用第一至第三更新标签81至83、存储在更新标签存储部分90中的比较标签、以及第一至第三管理信息标记95至97来可信地确定第一至第三管理信息48至50的代。更具体地,当P为1时,确定第C至第L管理信息是最新一代的。当P为2时,确定第C至第L管理信息是前一代的。当P为0时,确定还未获取管理信息。
如上所述,根据第十一实施例信息处理设备11,可以更可信地确定管理信息的代,从而使得可以进一步提高管理信息的可靠性。
应当注意,在第十一实施例的信息处理设备11中,即使是当仅获取了前一代的管理信息时,代比较部分105也将前一代的管理信息传送至传送确定部分74。代替这种结构,当还未获取前一代的管理信息时,代比较部分105可以确定是系统错误,而不向传送确定部分74传送管理信息。
(第十二实施例)
附图25是说明根据本发明第十二实施例的信息处理设备的结构的框图。附图26A-26B分别是说明附图25的信息通知终端及信息通知存储部分的典型结构的示图。第十二实施例的信息处理设备12具有类似于第七实施例(附图14)的基本结构,并且与第七实施例的不同之处在于,该信息处理设备12还包括信息通知终端110,并且传送设备12还包括信息通知存储部分111。
信息通知终端110是用于将代比较部分109输出的各种信息提供给外部的终端。在第十二实施例中,如附图26A所示,信息通知终端110包括前一代信息使用通知终端113、错误匹配通知终端114以及使用信息通知终端115。在第十二实施例中,前一代信息使用通知终端113和错错误匹配通知终端114都是能输出1比特信息的终端,使用信息通知终端115是能输出2比特信息的终端。因此,信息通知终端110可以输出4比特信息。应当注意,每个终端不一定需要配置成具有这种比特数,可以根据需要增加或减少比特的数量。
前一代信息使用通知终端113是在代比较部分109确定仅获得前一代管理信息时使用的终端。例如,当代比较部分109确定存储在第一存储设备67中的第一至第三管理信息48至50中的每一个的代,并且结果是获取最新一代的管理信息时,代比较部分109通过前一代信息使用通知终端113输出低电平信号。当代比较部分109仅获得前一代管理信息时,代比较部分109通过前一代信息使用通知终端113输出高电平信号。
错误匹配通知终端114是当代比较部分109确定不是所有的管理信息都相同时使用的终端。例如,当代比较部分109确定存储在第一存储设备67中的第一至第三管理信息48至50中的每一个的代时,并且作为结果,当确定所有的管理信息都相同时,代比较部分109通过错误匹配通知终端114输出低电平信号。当代比较部分109确定不是所有的管理信息都相同时,代比较部分109通过错误匹配通知终端114输出高电平信号。
使用信息通知终端115是用于输出指明已从代比较部分109传送至传送确定部分74的管理信息的信息的终端。例如,当代比较部分109确定存储在第一存储设备67中的第一至第三管理信息48至50中的每一个的代,并且将第二管理信息49传送至传送确定部分74时,代比较部分109使用2比特终端输出“2”。类似的,当代比较部分109将第三管理信息50传送至传送确定部分74时,代比较部分109输出“3”。
如上所述,代比较部分109可以将第一至第三管理信息48至50的比较结果从信息通知终端110输出至外部。利用这种配置,代比较部分109可以在操作CPU 21之前通知外部有关CPU 21的状态。因此,当不能执行系统引导时,使得可以使用从信息通知终端110输出的信息对原因进行调查。
信息通知存储部分111是由例如易失性存储设备构成,并且存储从代比较部分109输出的信息。信息通知存储部分111被配置成能够被CPU 21通过数据总线16a和16d访问。在第十二实施例中,如附图26B所示,信息通知存储部分111包括前一代信息使用存储部分116,错误匹配存储部分117,以及使用信息存储部分118。第十二实施例的信息通知存储部分111由4比特寄存器构成。前一代信息使用存储部分116和错误匹配存储部分117每一个都可以存储1比特信息,并且使用信息存储部分118可以存储2比特信息。应当注意,这些比特数目可以根据需要增加或减少。
当代比较部分109确定仅获取了前一代管理信息时,使用前一代信息使用存储部分116。例如,当代比较部分109确定存储在第一存储设备67中的第一至第三管理信息48至50中的每一个的代,并且代比较部分109获取最新一代的管理信息时,前一代信息使用存储部分116存储“0”。当代比较部分109仅获取前一代管理信息时,前一代信息使用存储部分116存储“1”。
当代比较部分109确定不是所有的管理信息都相同时使用错误匹配存储部分117。例如,当代比较部分109确定存储在第一存储设备67中的第一至第三管理信息48至50中的每一个的代,并且确定所有管理信息都相同时,错误匹配存储部分117存储“0”。当代比较部分109确定不是所有管理信息都相同时,错误匹配存储部分117存储“1”。
使用信息存储部分118存储用于指明已从代比较部分109传送至传送确定部分74的管理信息的信息。例如,当代比较部分109确定存储在第一存储设备67中的第一至第三管理信息48至50中的每一个的代,并且代比较部分109将第二管理信息49传送至传送确定部分74时,使用信息存储部分118使用2比特寄存器存储“2”。类似地,当代比较部分109将第三管理信息50传送至传送确定部分74时,使用信息存储部分118存储“3”。
如上所述,信息通知存储部分111可以存储从代比较部分109获得的信息。利用这种配置,可以在系统引导以后检测被CPU 21启动之前的状态,因此可以在系统引导之后使用存储在信息通知存储部分111中的信息以采取必要的措施。
(第十三实施例)
附图27是说明根据本发明第十三实施例的信息处理设备的结构的框图。第十三实施例的信息处理设备13具有类似于第七实施例(附图14)的基本结构,并且与第七实施例不同之处在于,传送设备123还包括管理信息更新部分121。
当被代比较部分122通知了将被更新的管理信息以及最新一代的管理信息的位置时,管理信息更新部分121通过管理信息获取部分76获取最新一代的管理信息,之后重写将被更新的管理信息。
第十三实施例的代比较部分122具有类似于第七实施例的基本功能,并且可以检测不是最新一代的管理信息以及向管理信息更新部分121通知将被更新的管理信息和最新一代的管理信息的位置。
附图28是说明代比较部分122的典型控制过程的流程图。结合附图27参照附图28,当传送确定部分74访问管理信息时,代比较部分122将第一次写入的第一管理信息从第一存储设备67读入缓冲器I1(步骤S561),并且将第二次写入的第二管理信息读入缓冲器I2(步骤S562)。代比较部分122还将第三次写入的第三管理信息50写入缓冲器I3(步骤S563)。
接着,代比较部分122比较缓冲器I1的存储内容与缓冲器I2的存储内容(步骤S564)。当缓冲器I1存储的内容等于缓冲器I2存储的内容时(步骤S564为是),代比较部分122将缓冲器I2的存储内容与缓冲器I3的存储内容相比较(步骤S565)。当缓冲器I2存储的内容等于缓冲器I3存储的内容时(步骤S565为是),代比较部分122确定所有管理信息都是同一代的,并将缓冲器I1的存储内容传送至传送确定部分74(步骤S567)。
当缓冲器I2的存储内容不等于缓冲器I3的存储内容时(步骤S565为否),代比较部分122确定第三管理信息50不是最新一代的管理信息,并指示管理信息更新部分121利用第一管理信息48更新第三管理信息50(步骤S566)。之后,代比较部分122将缓冲器I1存储的内容传送至传送确定部分74(步骤S567),并结束所述处理。
另一方面,在步骤S564中,当缓冲器I1存储的内容不等于缓冲器I2存储的内容时(步骤S564为否),代比较部分122将缓冲器I2存储的内容与缓冲器I3存储的内容进行比较(步骤S568)。当缓冲器I2存储的内容等于缓冲器I3存储的内容时(步骤S568为是),代比较部分122确定缓冲器I2存储的内容为前一代管理信息,并将缓冲器I2存储的内容传送至传送确定部分74(步骤S570),并结束所述处理。在此情况下,由于不存在最新一代的管理信息,所以代比较部分122不指示管理信息更新部分121更新管理信息。
当缓冲器I2存储的内容不等于缓冲器I3存储的内容时(步骤S568为否),代比较部分122确定只有第一管理信息48是最新一代的,并且第一管理信息48指示管理信息更新部分121更新第二管理信息49(步骤S569)。此外,代比较部分122指示管理信息更新部分121利用第一管理信息48更新第三管理信息50(步骤S566)。之后,代比较部分122将缓冲器I1存储的内容传送至传送确定部分74,并结束所述处理。
通过上述控制,代比较部分122比较第一至第三管理信息48至50,并且如果存在任何不是最新一代的管理信息,则指示管理信息更新部分121利用最新一代的管理信息更新所述管理信息。此外,在第十三实施例中,当确定不存在最新一代的管理信息时,代比较部分122不执行管理信息的自动更新。
如上所述,在第十三实施例的信息处理设备13中,可以使用最新一代的管理信息自动更新不是最新一代的管理信息,从而使得可以进一步提高管理信息的可靠性。
(第十四实施例)
附图29是说明根据本发明第十四实施例的信息处理设备的结构的框图。第十四实施例的信息处理设备14具有类似于第二实施例(附图7)的基本结构,并且与第二实施例的不同之处在于,第一存储设备126还存储有效标记127,传送设备133还包括有效标记获取部分129和有效信息选择部分130,并且CPU 131包括有效标记写入部分132。
有效标记127被写入与写入管理信息41的块相同的块中,并且指示管理信息41是有效还是无效。与管理信息41的写入相结合地,用指示无效的值初始化有效标记127。
当传送确定部分128请求管理信息获取部分76获取管理信息41时,有效信息选择部分130指示有效标记获取部分129获取有效标记127。当由有效标记获取部分129获取的有效标记127具有指示有效的值时,有效信息选择部分130指示管理信息获取部分76获取管理信息41,并将获取的管理信息41传送至传送确定部分128。当有效标记127具有指示无效的值时,有效信息选择部分130不将管理信息传送至传送确定部分128。
当CPU131写入管理信息41时,有效标记写入部分132将该写入的管理信息41与存储在第二存储设备32或第三存储设备33中的写入源管理信息进行比较。当写入管理信息41与写入源管理信息相同时,有效标记写入部分132利用指示有效的值重写有效标记127。
附图30是说明由CPU 131执行的典型的管理信息的写入操作的流程图。结合附图29参照附图30,CPU 131将在第二存储设备32或第三存储设备33中准备的写入源管理信息写入第一存储设备126,同时将指示无效的值写入有效标记127(步骤S575)。指示有效标记127无效的值最好与当在第一存储设备126中执行擦除操作时写入的值相同。在此情况下,如果CPU 131在写入管理信息之前擦除在将写入管理信息的第一存储设备126的目标存储区域中的内容时,可以取消CPU 131将指示无效的值作为初始值写入到有效标记127中的操作。或者,在步骤S575中,CPU 131可以将除了指示有效的值之外的值写入到有效标记127,而代替写入指示无效的值。
在步骤S575写入管理信息41之后,CPU 131从第一存储设备126读取管理信息41(步骤S576),并比较读取的管理信息41和写入源管理信息(步骤S577)。当读取的管理信息41与写入源管理信息相同时(步骤S577为是),CPU 131将指示有效的值设置到第一存储设备126的有效标记127中(步骤S578),并结束所述处理。应当注意,指示有效标记127有效的值最好是除了第一存储设备126的擦除状态以外的值。
在步骤577,当读取的管理信息41与写入源管理信息不同时(步骤S577为否),CPU 131返回到步骤S575,并重复上述处理。
利用上述配置,CPU131仅在写入管理信息41与写入源管理信息相同时,才将指示有效的值设置到有效标记127中,根据有效标记127的内容,可以确保可信地执行了管理信息41的写入。
虽然在第十四实施例中仅描述了一段管理信息的情况,但是即使是当存在多段管理信息时,也可以通过提供有效标记类似地提高管理信息的有效性。
附图31是说明有效信息选择部分130的典型控制过程的流程图。结合附图29参照附图31,当传送确定部分128访问管理信息时(步骤S581),有效信息选择部分130指示有效标记获取部分129获取有效标记127(步骤S582)。
接着,有效信息选择部分130确定所获取的有效标记127是否具有指示有效的值(步骤S583)。当有效标记127的值指示除指示有效的值之外的值时(步骤S583为否),由于不存在有效的管理信息,有效信息选择部分130结束所述处理(处理失败)。
另一方面,当所获取的有效标记127的值是指示有效的值时(步骤S583为是),有效信息选择部分130指示管理信息获取部分76从第一存储设备126获取管理信息41(步骤S584)。之后,有效信息选择部分130将所获取的管理信息41提供给传送确定部分128(步骤S585),并结束所述处理(处理成功)。
虽然在第十四实施例中描述了一段管理信息的情况,但是即使当存在多段管理信息时,有效信息选择部分130也可以以几乎类似的方式选择有效管理信息。例如,在步骤S583,当有效标记127的值是除了指示有效的值之外的值时,可以获取其他管理信息,并且可以执行类似的处理。
如上所述,在第十四实施例的信息处理设备14中,可以使用有效标记127来可信地识别已成功写入的有效管理信息,从而使得当更新管理信息时可以确保管理信息的可靠性。
(第十五实施例)
附图32是说明根据本发明第十五实施例的信息处理设备的结构的框图。第十五实施例的信息处理设备具有类似于第二实施例(附图7)的基本结构,并且与第二实施例的不同之处在于,第一存储设备67包括第一至第三管理信息48至50,以及管理信息获取部分136还包括管理信息移位部分137。
第一至第三管理信息48至50保存相同的值。应当注意,第一至第三管理信息48至50存储在多个页中,同时以字节为单位循环移位。
当传送确定部分38请求获取管理信息时,管理信息移位部分137获取管理信息,并向与其保存时相反的方向、以与其保存时相同的移位量对所获取的管理信息进行循环移位,并且将移位后得到的管理信息传送至传送确定部分38。
以下,将对NAND型闪速存储器的故障属性和上述循环移位的效果进行描述。
附图33A是说明第一存储设备67的故障模式的示图,附图33B是说明管理信息的写入的实例的示图。第一存储设备67中使用的NAND型闪速存储器的结构导致出现下述情况的可能性,即,在相同的块中,在多个页的相同列地址处的存储区域被损坏。例如,如附图33A的阴影部分所示,在1号块中,所有页中的具有相同列地址D的存储区域可能被破坏。假定这种故障发生,例如,如果关于一个特定块的多段管理信息已被写入1号块的每个页中,则所有这些数据段同时失效。
因此,在第十五实施例中,当CPU 21将第一至第三管理信息48至50写入第一存储设备时,CPU 21在写入第二管理信息49和第三管理信息50中的每一个的同时执行循环移位。具体地,CPU 21按照现在的样子将第一管理信息写入第一存储设备;相对于第一管理信息的写入位置,将第二管理信息向右循环移位一个字节,将移位后的第二管理信息写入第一存储设备;类似地,将第三管理信息向右循环移位2个字节,将移位后的第三管理信息写入第一存储设备。
例如,参照附图33B,假定CPU将第一至第三管理信息48至50分别写入1号块的由页号0至2指定的存储区域中。在此情况下,CPU将第一管理信息48写入到其第一个地址为列地址D的区域中,将第二管理信息49循环移位一个字节,并将结果写入其第一地址为列地址(D+1)的区域中,将第三管理信息50循环移位2个字节,并将结果写入其第一地址为列地址(D+2)的区域中。
在此情况下,如附图33B的阴影部分所示,即使在1号块的所有页中的具有列地址D的存储区域都毁坏了,但是由于写入具有列地址D的存储区域中的数据值彼此不同,即,第一至第三管理信息48至50中的每一个之间不同,因此可以避免第一至第三管理信息48至50中的相同部分同时失效的情况。
虽然在第十五实施例中移位量以一字节为单位增加,但是该移位量也可以以除一字节以外的值为单位增加。最好移位量在管理信息之间不同。更具体地,移位量最好具有与写入单位或页号成比例的值。例如,每段管理信息的移位量可以使用管理信息编号确定为(管理信息编号-1)×1字节。此外,写入和读取管理信息时的移位方向最好提前固定。而且,在第十五实施例中,CPU 21在写入管理信息时执行循环移位。或者,例如,传送设备可以配置成还包括移位部分,并且该移位部分可以在写入管理信息时执行循环移位。
附图34是说明管理信息获取部分136的典型控制过程的流程图。结合附图32参照附图34,当传送确定部分38访问管理信息时(步骤S591),管理信息获取部分136从第一存储设备67获取管理信息(步骤S592)。接着,管理信息获取部分136根据预定的值或表达式计算管理信息的移位量(步骤S593),管理信息移位部分137向保存管理信息时相反的方向、以所计算的移位量对管理信息进行移位(步骤S594)。之后,管理信息获取部分136将移位的管理信息提供给传送确定部分38(步骤S595),并结束所述处理。
如上所述,在第十五实施例的信息处理设备15中,当CPU21将管理信息写入到第一存储设备67中时,CPU21向预定的方向、以预定的量逐字节地对管理信息进行循环移位,并将结果写入第一存储设备67。当读取管理信息时,管理信息移位部分137向与执行写入时的移位方向相反的方向、以与执行写入时移位的量相同的移位量对所获取的管理信息进行循环移位。因此,在第一存储设备67的相同块中,即使当多个页中具有相同列地址的存储区被破坏时,也可以避免多段管理信息的相同部分同时失效的情况。
本发明的信息处理设备及信息处理方法的特征在于,尽管初始程序存储在包含原始无效块或后天产生的无效块的存储设备中,但是也可以稳定地执行系统引导。例如,本发明的信息处理设备和信息处理方法可以应用到各种信息处理设备中,例如膝上型个人计算机,移动信息设备,移动电话,数码相机,可携式摄像机、游戏设备等等。
虽然已对本发明进行了详细说明,以上说明在所有方面都是说明性的而不是限制性的。应当理解,在不脱离本发明范围的情况下可以设计出其他多种变形和变化。

Claims (28)

1. 一种信息处理设备,用于使用存储在非易失性存储设备中的程序来执行系统引导,所述信息处理设备包括:
第一存储设备,包含有效块和无效块,并且事先以非易失性的方式存储用于执行系统引导的程序;
第二存储设备;
管理信息存储部分,用于以非易失性的方式存储指示包含在所述第一存储设备中的无效块的位置的管理信息;
传送设备,用于根据所述存储的管理信息,将所述程序从所述第一存储设备传送到所述第二存储设备;
CPU,用于通过执行由所述第二存储设备传送的程序来执行系统引导;以及
CPU控制设备,用于禁止所述CPU的操作,直到所述程序被所述传送设备完全传送。
2. 如权利要求1所述的信息处理设备,其中,所述传送设备包括所述管理信息存储部分。
3. 如权利要求1所述的信息处理设备,其中,所述管理信息存储在所述第一存储设备的预定的有效块中,
所述传送设备包括:
管理信息获取部分,用于获取所述管理信息;以及
传送确定部分,用于根据所述获取的管理信息确定所述第一存储设备的存储所述程序的块是否有效,以及
所述传送设备响应来自所述传送确定部分的指令传送所述程序。
4. 如权利要求3所述的信息处理设备,其中,所述传送设备还包括位置信息存储部分,用于存储指示所述第一存储设备中的所述管理信息的存储位置的位置信息,以及
所述管理信息获取部分根据所述存储的位置信息从所述第一存储设备获取所述管理信息。
5. 如权利要求4所述的信息处理设备,其中,存储在所述位置信息存储部分中的位置信息被所述CPU重写。
6. 如权利要求5所述的信息处理设备,其中,与所述管理信息的重写相结合地,由所述CPU对存储在所述位置信息存储部分中的所述位置信息进行更新。
7. 如权利要求3所述的信息处理设备,其中,所述第一存储设备存储多段管理信息,并且
所述管理信息获取部分根据从外部输入的选择信息获取所述多段管理信息中的一段。
8. 如权利要求7所述的信息处理设备,其中,所述传送设备还包括位置信息计算部分,用于根据所述选择信息计算指示所述第一存储设备中的所述管理信息的存储位置的位置信息。
9. 如权利要求8所述的信息处理设备,其中,所述第一存储设备存储多段相同的管理信息,并且
当使用所述多段相同的管理信息中的一段并且系统引导失败时,所述传送设备使用根据所述选择信息选择的所述多段相同的管理信息中的另一段来传送所述程序。
10. 如权利要求8所述的信息处理设备,其中,所述第一存储设备存储多个互不相同的程序,
提供对应于所述各个程序的多段管理信息,以及
所述传送设备根据所述选择信息切换所述管理信息。
11. 如权利要求3所述的信息处理设备,其中,所述第一存储设备存储多段具有相同内容的管理信息,
所述传送设备包括多数裁定原则确定部分,用于根据多数裁定原则为每个块选择所述多段管理信息的值中的一个,并将所述选中的值提供给所述传送确定部分。
12. 如权利要求11所述的信息处理设备,其中,当检测到由所述多段管理信息中的总数的一半或更多的管理信息拥有的值时,所述多数裁定原则确定部分确定该值为所述管理信息。
13. 如权利要求3所述的信息处理设备,其中,所述第一存储设备存储多段具有相同内容的管理信息,
所述管理信息获取部分按照与所述多段管理信息的写入顺序相同的顺序读取所述多段管理信息,
所述传送设备还包括代比较部分,用于将第一次读取的管理信息与另一段管理信息进行比较,并且当所述第一次读取的管理信息与所述另一段管理信息相同时,确定所述第一次读取的管理信息为最新一代的管理信息,并将所述已被确定为最新一代的管理信息提供给所述传送确定部分。
14. 如权利要求13所述的信息处理设备,其中,所述第一存储设备还包括多个由比特序列构成的更新标签,其中,当更新所述更新标签时,将不同于以前的值的值分配给所述更新标签,
所述传送设备还包括更新标签获取部分,用于按照与所述多段管理信息的写入顺序相同的顺序更新所述更新标签,以及
所述代比较部分根据所述更新标签确定所述管理信息。
15. 如权利要求14所述的信息处理设备,其中,所述传送设备还包括更新标签存储部分,用于以非易失性的方式存储更新所述管理信息时使用的更新标签,作为比较标签,以及
所述代比较部分将所述比较标签与所述读取的更新标签进行比较,以确定对应于与所述比较标签具有相同的值的更新标签的管理信息为最新一代的管理信息。
16. 如权利要求13所述的信息处理设备,其中,所述第一存储设备还包括管理信息标记,用于存储指示管理信息的第一值和指示其他数据的第二值,以及
所述代比较部分还包括管理信息标记确定部分,用于当所述管理信息标记指示所述第一值时确定该管理信息是有效的,以及当所述管理信息标记指示所述第二值时确定该管理信息是无效的。
17. 如权利要求13所述的信息处理设备,其中,所述第一存储设备还包括由比特序列构成的更新标签,其中,当更新所述更新标签时,将不同于以前的值的值分配给所述更新标签,并且还包括管理信息标记,用于存储指示管理信息的第一值和指示其他数据的第二值,
所述传送设备还包括:
更新标签存储部分,用于以非易失性的方式存储更新所述管理信息时使用的更新标签,作为比较标签;以及
附加信息获取部分,用于从所述第一存储设备获取所述更新标签和所述管理信息标记,
所述代比较部分还包括管理信息标记确定部分,用于当所述管理信息标记指示所述第一值时确定该管理信息是有效的,以及当所述管理信息标记指示所述第二值时确定该管理信息是无效的
当所述管理信息标记确定部分确定所述管理信息标记无效时,所述代比较部分确定与该管理信息标记对应的管理信息是无效的管理信息,
当所述管理信息标记确定部分确定所述管理信息标记有效并且所述更新标签与所述比较标签相同时,所述代比较部分确定与该更新标签对应的管理信息是最新一代的管理信息,并且
当所述管理信息标记确定部分确定所述管理信息标签有效并且所述更新标签不同于所述比较标签时,所述代比较部分确定与该更新标签对应的管理信息是前一代管理信息。
18. 如权利要求13所述的信息处理设备,其中,所述传送设备还包括前一代信息使用通知终端,用于向外界通知所述代比较部分确定仅能获取前一代管理信息。
19. 如权利要求13所述的信息处理设备,其中,当确定仅能获取前一代管理信息时,所述代比较部分将所述前一代管理信息提供给所述传送确定部分。
20. 如权利要求13所述的信息处理设备,其中,所述传送设备还包括前一代信息使用存储部分,用于存储指示前一代管理信息是否被使用的内容。
21. 如权利要求13所述的信息处理设备,其中所述传送设备还包括错误匹配存储部分,用于当所述代比较部分确定不是所有的所述多段管理信息都相同时,存储指示不是所有的所述多段管理信息都相同的内容。
22. 如权利要求13所述的信息处理设备,其中,所述传送设备还包括错误匹配通知终端,用于向外界通知所述代比较部分确定不是所有的所述多段管理信息都相同。
23. 如权利要求13所述的信息处理设备,其中,所述传送设备还包括使用信息存储部分,用于存储指明由所述传送确定部分使用的管理信息的信息。
24. 如权利要求13所述的信息处理设备,其中,所述传送设备还包括使用信息通知终端,用于向外界通知用于指明由所述传送确定部分使用的管理信息的信息。
25. 如权利要求13所述的信息处理设备,其中,所述传送设备还包括信息更新部分,用于利用所述被确定为最新一代的管理信息来更新存储在所述第一存储设备中的所述多段管理信息中的、被所述代比较部分确定为不是最新一代的管理信息。
26. 如权利要求3所述的信息处理设备,其中,所述第一存储设备还存储有效标记,其中,当写入管理信息时,在该有效标记中写入指示无效的值,
所述CPU还包括有效标记写入部分,用于在写入所述管理信息之后读取所述写入的管理信息,并且当所述读取的管理信息与所述写入的管理信息相同时,将所述有效标记重写为指示有效的值,
所述传送设备还包括读取所述有效标记的有效标记获取部分和根据所获取的标记是否有效确定是否获取所述管理信息的有效信息选择部分,以及
所述管理信息获取部分获取在所述有效标记中具有指示有效的值的管理信息。
27. 如权利要求3所述的信息处理设备,其中,所述第一存储设备存储向预定的方向循环移位预定的量的管理信息,以及
所述管理信息获取部分向与所述预定的方向相反的方向对所述获取的管理信息循环移位所述预定的量,并将移位后的管理信息提供给所述传送确定部分。
28. 一种用于信息处理设备的信息处理方法,所述信息处理设备包括包含有效块和无效块并以非易失性的方式预先在所述有效块中存储用于执行系统引导的程序的第一存储设备,第二存储设备,指示存在于所述第一存储设备中的所述无效块的位置的管理信息,以及CPU,所述方法包括:
程序传送步骤,包括:
传送确定步骤,用于根据所述管理信息将所述第一存储设备的有效块设置成所述程序的传送源;以及
传送步骤,用于将所述程序从所述设置的传送源传送至所述第二存储设备;
CPU禁止步骤,用于禁止所述CPU的操作,直到完成所述程序传送步骤;以及
系统引导步骤,在该步骤中,所述CPU执行传送至所述第二存储设备的所述程序以执行系统引导。
CNB200610071652XA 2005-03-29 2006-03-29 信息处理设备和信息处理方法 Expired - Fee Related CN100409186C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP096191/2005 2005-03-29
JP2005096191A JP2006277395A (ja) 2005-03-29 2005-03-29 情報処理装置及び情報処理方法

Publications (2)

Publication Number Publication Date
CN1841327A CN1841327A (zh) 2006-10-04
CN100409186C true CN100409186C (zh) 2008-08-06

Family

ID=37030366

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200610071652XA Expired - Fee Related CN100409186C (zh) 2005-03-29 2006-03-29 信息处理设备和信息处理方法

Country Status (4)

Country Link
US (1) US7543137B2 (zh)
JP (1) JP2006277395A (zh)
KR (1) KR20060104947A (zh)
CN (1) CN100409186C (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006309375A (ja) * 2005-04-27 2006-11-09 Hitachi Ltd システム情報に基づいて動作する記憶装置システム及びその記憶装置システムの制御方法
JP4876793B2 (ja) * 2006-08-29 2012-02-15 富士ゼロックス株式会社 データ保管装置及びプログラム
JP2008077783A (ja) * 2006-09-22 2008-04-03 Fujitsu Ltd 記憶データ処理装置、記憶装置、記憶データ処理プログラム
JP2008077458A (ja) * 2006-09-22 2008-04-03 Fujitsu Ltd 記憶データ処理装置、記憶装置、記憶データ処理プログラム
JP2008134736A (ja) * 2006-11-27 2008-06-12 Fujifilm Corp 電子機器
JP4719167B2 (ja) * 2007-02-19 2011-07-06 株式会社東芝 半導体メモリ情報蓄積装置とその書き込み不良対策方法
US7715679B2 (en) 2007-05-07 2010-05-11 Adc Telecommunications, Inc. Fiber optic enclosure with external cable spool
JP2009146061A (ja) * 2007-12-12 2009-07-02 Canon Inc 情報処理装置及び前記装置の起動方法
US8775717B2 (en) 2007-12-27 2014-07-08 Sandisk Enterprise Ip Llc Storage controller for flash memory including a crossbar switch connecting a plurality of processors with a plurality of internal memories
JP2009187199A (ja) * 2008-02-05 2009-08-20 Panasonic Corp 情報処理システム及び情報処理方法
JP5398551B2 (ja) 2008-02-08 2014-01-29 富士通株式会社 バックアップ方法、コントローラ、及びディスクアレイシステム
KR20090096121A (ko) * 2008-03-07 2009-09-10 삼성전자주식회사 IPv6 네트워크의 상태 보존형 주소 설정 프로토콜 처리방법 및 그 장치
JP2011123830A (ja) * 2009-12-14 2011-06-23 Toshiba Corp データ書き込み装置及びデータ書き込み方法
JP6118045B2 (ja) * 2012-07-31 2017-04-19 株式会社メガチップス 半導体記憶装置
JP6152999B2 (ja) * 2012-08-10 2017-06-28 株式会社メガチップス 半導体記憶装置
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9454448B2 (en) * 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9448876B2 (en) * 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
KR102415385B1 (ko) * 2015-07-22 2022-07-01 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함하는 저장 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004054818A (ja) * 2002-07-24 2004-02-19 Konica Minolta Holdings Inc プログラム実行装置
CN1498367A (zh) * 2002-01-31 2004-05-19 ���µ�����ҵ��ʽ���� 信息处理装置、存储器管理装置、存储器管理方法及信息处理方法
CN1567213A (zh) * 2003-06-21 2005-01-19 华为技术有限公司 一种利用边界扫描器件进行flash加载的方法
US20050050314A1 (en) * 2003-08-27 2005-03-03 Fumio Ohkita Electronic apparatus and method for starting up system of such apparatus
JP2005071303A (ja) * 2003-08-28 2005-03-17 Toshiba Corp プログラム起動装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4413327A (en) * 1970-06-09 1983-11-01 The United States Of America As Represented By The Secretary Of The Navy Radiation circumvention technique
AU569857B2 (en) * 1982-12-09 1988-02-25 Sequoia Systems, Inc. Memory backup system
US4591976A (en) * 1983-06-17 1986-05-27 The United States Of America As Represented By The Secretary Of The Air Force Multiple task oriented processor
JPH10116187A (ja) * 1996-10-11 1998-05-06 Mitsubishi Electric Corp マイクロコンピュータ
JP2002055822A (ja) * 2000-08-08 2002-02-20 Nec Corp 端末装置のプログラム制御方式およびその方法、並びにその制御プログラムを記録する記録媒体
DE10050604A1 (de) * 2000-10-12 2002-04-25 Siemens Ag Verfahren zum Starten einer Datenverarbeitungsanlage sowie zugehörige Komponenten
JP4808839B2 (ja) * 2000-11-16 2011-11-02 インヴェンサス・コーポレイション メモリシステム
US7386653B2 (en) * 2001-08-06 2008-06-10 Sandisk Il Ltd Flash memory arrangement
JP3816788B2 (ja) * 2001-11-22 2006-08-30 株式会社東芝 不揮発性半導体記憶装置
TWI228220B (en) * 2002-03-08 2005-02-21 Samsung Electronics Co Ltd System boot using NAND flash memory and method thereof
US7234052B2 (en) * 2002-03-08 2007-06-19 Samsung Electronics Co., Ltd System boot using NAND flash memory and method thereof
JP3556649B2 (ja) * 2002-07-26 2004-08-18 沖電気工業株式会社 メモリの異常動作検出回路,集積回路,及び異常動作検出方法
JP2004103162A (ja) * 2002-09-11 2004-04-02 Fujitsu Ltd Nand型フラッシュメモリ
JP2005010942A (ja) * 2003-06-17 2005-01-13 Matsushita Electric Ind Co Ltd ブートコードが格納されるシーケンシャルアクセス・メモリデバイスを備えた装置及び前記装置の起動方法
GB2404748B (en) * 2003-08-01 2006-10-04 Symbian Ltd Computing device and method
US8185705B2 (en) * 2003-10-31 2012-05-22 Panasonic Corporation Information recording medium, information recording medium accessing apparatus and accessing method
JP4404625B2 (ja) * 2003-12-25 2010-01-27 パナソニック株式会社 情報処理装置および該装置用のromイメージ生成装置
JP4357331B2 (ja) * 2004-03-24 2009-11-04 東芝メモリシステムズ株式会社 マイクロプロセッサブートアップ制御装置、及び情報処理システム
KR100678047B1 (ko) * 2004-05-06 2007-02-02 삼성전자주식회사 낸드 플래시 메모리를 구비한 이동 통신 단말기 및 그의부팅 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1498367A (zh) * 2002-01-31 2004-05-19 ���µ�����ҵ��ʽ���� 信息处理装置、存储器管理装置、存储器管理方法及信息处理方法
JP2004054818A (ja) * 2002-07-24 2004-02-19 Konica Minolta Holdings Inc プログラム実行装置
CN1567213A (zh) * 2003-06-21 2005-01-19 华为技术有限公司 一种利用边界扫描器件进行flash加载的方法
US20050050314A1 (en) * 2003-08-27 2005-03-03 Fumio Ohkita Electronic apparatus and method for starting up system of such apparatus
JP2005071303A (ja) * 2003-08-28 2005-03-17 Toshiba Corp プログラム起動装置

Also Published As

Publication number Publication date
KR20060104947A (ko) 2006-10-09
JP2006277395A (ja) 2006-10-12
CN1841327A (zh) 2006-10-04
US7543137B2 (en) 2009-06-02
US20060224841A1 (en) 2006-10-05

Similar Documents

Publication Publication Date Title
CN100409186C (zh) 信息处理设备和信息处理方法
EP2003569A9 (en) Flash memory controller
KR100377301B1 (ko) 비휘발성 메모리에 데이터를 저장하는 방법
KR100849446B1 (ko) 기억 장치, 메모리 관리 장치, 메모리 관리 방법, 및 컴퓨터-판독가능한 기록 매체
US20030093610A1 (en) Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof
TWI397821B (zh) 資料串傳送方法、系統及其控制器
CN102737715B (zh) 用于nor闪存的数据掉电保护方法
KR20050069925A (ko) 비휘발성 기억장치의 제어방법
WO2013095819A1 (en) Wear leveling of memory devices
US20150006939A1 (en) Management method for nonvolatile memory system following power-off
CN104750565A (zh) Nand坏块处理方法及nand闪存设备
CN103092764A (zh) 用于获得和使用非易失性存储器健康信息的系统和方法
US20090037646A1 (en) Method of using a flash memory for a circular buffer
JP2005242897A (ja) フラッシュディスク装置
CN108776627B (zh) 一种数据存储方法、装置、读取方法及装置
CN104598165A (zh) 在嵌入式设备上对存储器提高耐用性的方法及装置
CN105917303A (zh) 一种控制器、识别数据块稳定性的方法和存储系统
US20130219244A1 (en) Storage device
CN114089915A (zh) 基于flash存储器的文件追加写操作方法及装置
CN107341049B (zh) 一种事务处理的优化处理方法及装置
US8321626B2 (en) Management of configuration data using persistent memories requiring block-wise erase before rewriting
KR101826778B1 (ko) 플래쉬 라이프 사이클 및 성능 개선을 고려한 eeprom 에뮬레이션 구현 방법
JP6009290B2 (ja) 車両の電子制御装置
CN105868120A (zh) 基于芯片内部flash替代eeprom的数据存储方法
JP5983512B2 (ja) 書き込み装置

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20151118

Address after: Kanagawa

Patentee after: Co., Ltd. Suo Si future

Address before: Osaka Japan

Patentee before: Matsushita Electric Industrial Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080806

Termination date: 20210329