运行存储装置的方法

文档序号:6780976阅读:146来源:国知局

专利名称::运行存储装置的方法
技术领域
:本发明涉及运行存储装置的方法,用于运行存储装置的设备,存储装置,计算机程序和计算机程序产品。技术背景存储装置或存储介质具有主要由写过程的数量确定的有限的寿命。随着写过程数量的增加,数据保存的时间缩短。因此存储装置研发的一个目标是,针对重要的操作节省地使用存储装置,并且因此通过减少写过程来保护存储器硬件以及其他。在需要时可以为此在适当的范围内采用其他的资源,如RAM,R0M或运行时。以此方式实现存储装置寿命的延长。
发明内容本发明涉及具有权利要求1特征的方法,具有权利要求12特征的设备,具有权利要求13特征的存储装置,具有权利要求14特征的计算机程序和具有权利要求15特征的计算机程序产品。在可以使用本方法的面向块的存储装置或文件系统里,存储区域通常被细分为例如容量相同的逻辑块。块可以具有各种状态,像例如空置的或被占用的。块包含至少一个不必与数据一起存放的管理信息。同时可以将数据存放在块的链接表中。每个链接表由至少一个块组成。一般设定数据和存储区域在介质上没有固定的对应配置,从而数据始终能被存储在不同块的不同位置上。由此使存储装置比从数据到块或者存储区域具有固定对应配置的情况更均匀地承载。在写入数据之前,必需寻找空置的块。在寻找空置的块时,应该不挑选有缺陷的块。但是总之应该始终有尽可能多的空置的块供使用。在实施按照本发明的用于运行具有多个块的存储装置的方法时,给实施了与写操作分开的清除操作后的块的存储区域,即至少一个存储单元,分配第一位组合(Bitmuster)。在该存储区域内的至少一个位发生翻转的情况下,可以为该块识别状态的变化。本方法的进一步实施形式,可以从从属权利要求得出。按照本发明的用于运行具有一定数量的块的存储装置的设备,被构建用于给实施了与写操作分开的清除操作后的块的存储区域,即至少一个存储单元分配位组合,从而在该存储区域内的至少一个位发生翻转的情况时,可以为该块识别状态的变化。此外本发明还涉及存储装置,所述存储装置具有一定数量的块,并被构建用于给实施了与写操作分开的清除操作后的块的存储区域,即至少一个存储单元分配位组合,从而在该存储区域内的至少一个位发生翻转的情况时,可以为该块识别状态的变化。按照本发明的方法的所有步骤都可利用按照本发明的设备以及按照本发明的存储装置实施。在按照本发明的设备和按照本发明的存储装置之间可以存在一种相互作用。在本发明可能的实施形式中,可以将该设备构建为存储装置的组成部分,或者将存储装置构建为该设备的组成部分。按照本发明的具有编程代码介质的计算机程序,被构建用于实施按照本发明的方法的所有步骤,如果使计算机程序在计算机上或者相应的计算单元上,尤其在按照本发明的设备上实施的话。此外,本发明涉及具有被保存在计算机可读数据载体上的编程代码介质的计算机程序产品,使按照本发明的方法的所有步骤得以实施,如果使计算机程序在计算机上或者相应的计算单元上,尤其在按照本发明的设备上实施的话。在实施按照本发明的方法时,通过引入新状态将块分类为已清空的并相应地作上标记,其中给该块的至少一个存储单元分配两个可能的位值或位中的第一个。对该块的以往内容的清除操作,与该块新内容的写操作分开进行,从而使清除操作和写操作尤其在时间上独立并互相分开,并且不像在其他的情况下那样通常自动或直接地依次进行。块通常具有多个存储单元,至少一个块可以尤其被用于存储尤其是非易失的数据,该数据可以通过内容上的修改被该至少一个块的存储单元保存和清除。本方法尤其用于一种存储装置,在这种存储装置中,第一位值通过翻转而成为第二位值的几率,大于第二位值通过翻转而成为第一位值的几率。通过这种清除操作、写操作以及"已清空"新状态的分配的分开实施,可以对一般由物理影响引起的尤其所谓的由存储器引起的块状态改变更好地加以识别,其中给该块的至少一个存储单元分配第一位值。结合清除操作将该块标记为已清空或者分配"已清空"状态,可以尤其直接在清除操作之后以及因此紧随在清除操作之后进行。在实现本发明时,这也可以表示"已清空"状态的分配隐含地已随着清除过程进行,并且因此作为清除过程的一部分进行。借助于本发明,尤其可以在面向块的存储装置或者文件系统,例如EEPR0M中,提高这种存储装置的寿命,并因此改善用于管理和/或存储例如非易失数据的服务的可使用性。所提供的方法减小了物理损坏的块被用于保存数据的几率。此外可以避免物理上完好无损的块没有被用于存储。如果将新的数据写入存储装置的块中,则该块按照公知的处理方式被自动清空。其中写过程和清除过程一起实施或者相互关联地实施。在本发明中,对于例如被构建为EEPR0M的、通过硬件和软件支持的面向块的存储装置则与之相反,使清除操作或清除过程与写操作或写过程分开执行。两种操作因此在时间上是互相独立的。紧接着的或者以后的写入,导致相应的存储区域具有与如按照传统处理方式包含有清除过程的写过程相同的负荷。在分开进行清除操作和写操作的情况下,充分利用块可以不影响写操作或者写访问的数量而具有其他状态"已清空"的特性。同时分配该状态或者给块进行相应的标记可以在实施清除过程时完成。被清空的块可以对应地作上标记。由此可以对特定的状态编码。"已清空,,状态由该块的存储区域的至少一个存储单元或者所有存储单元的特定位组合标记并以该位组合为特征。通过"已清空,,附加状态的应用,可以达到延长存储装置或相应介质寿命的目的。如果使清除操作和写操作一起执行则与之相反地不可能延长寿命。在存储装置上用"已清空"新状态进行标记以及使清除操作和写操作分开的目的在于,提高正确识别块状态的几率。为此使每个块的管理信息以及数据的边界条件和代码在实施本方法时以适当的方式相匹配。在可能的构造中,为本发明方法增加一种用于识别损坏的块的措施。按照本发明方法的这种构造,可以将块标记为无损的,在这种情况下块是空置的或者是被占用的。如果对于块来说发生了尤其由存储器引起的状态改变,这种状态改变涉及无意的或者不希望的状态改变,而不是由使用者的操作而引起的,则该块可以被标记为损坏的或者不可靠的。这种状态改变可以由至少一个错误引起,并且通过至少一个存储装置的至少一个位的翻转而被自动察觉。依据该错误的方式或频度的不同,将块评定成不可靠的或者损坏的并进行相应的分类。可以明确地标记为不可靠的或者损坏的。被标记或识别为不可靠的块可以;故用于进一步研发。至少原本无损的块在出现第一个错误之后,可以被标记为不可靠的。按照这种处理方式,只有在两个连续的错误之后,块才被标记为损坏的,其中第二个错误必须以不可靠的状态出现。在充分利用这些状态的条件下,可以附加地提高正确识别块状态的几率.为了实现本发明方法,在以下说明的实施形式中,假定本发明方法应用于具有一定数量块的面向块的文件系统或者面向块的存储装置。每个块由数据或有效数据以及提供有关块的状况和类型情况并且提供指向下一个块的指针的管理信息组成。此外可以采用检验数据。通过确定这种检验数据,可以对至少一个位发生翻转的块检查该块的内容是否处于已被写的状态。因此通过该检验数据,假设的由存储器引起的状态变化,以及由故意操作有针对性引起的状态变化都可以被识别。从现在开始假设,在前述的实施形式中可以通过存储单元的代码或位组合对块的状态进行编码。在该实施形式所提出的方法中,不限制普遍性地规定,存储单元可以具有二进制值1("1")和O("0")。在本发明的其他结构中,可以向存储单元赋予优选表达成明确的二进制值的任意适当的符号。数据组包括第一个块,并且可以包含多个取决于数据长度的其他的块。在下列表格1中,列举了处于各种状态的块及其各自的代码的例子。其中在该实施例中每个代码包括8个存储单元,所述代码用于确定和/或标记相应块的状态。在表格1示出的例子中,在空置的以及因此清空的块中,该代码的存储单元的所有值为1。在数据组的第一个块中,该代码的第一个存储单元是1,其余的存储单元除了空置块的位组合以外被任意的位值占据。在不可靠的块中,该代码的第一个存储单元是o,其余的存储单元都是l,该数据的其他块的代码的第一个存储单元是o,其余的存储单元除了不可靠块的位组合以外都是任意的。<table>tableseeoriginaldocumentpage8</column></row><table>表格l如果块在实施清除操作时被清空,这意味着其内容以及数据被清除,则尤其给每个块的代码的第一个存储单元分配或者赋予值"1",也就是逻辑1。这样的赋值或标记可以自动地或者隐含地随着清除操作或至少直接在清除操作之后进行。通过这项措施,可以通过该代码对块的状态或状况加以标记,并且因此在检查时被快速而可靠地识别。如果该代码内的位值从"1"翻转到状态"0"、即逻辑0比从"0"翻转到状态"r,更有可能,则比较合理的是给用于确定块状况的第一个存储单元分配值或者位值"r,。此外可以在该代码中对所涉及的块是数据组内部的第一个块还是其他块的状态进4于编码。此外ID代码也位于此处,在该ID代码下可以在存储装置里找到数据。被占用的块因此在除了第一存储单元以外的至少一个存储单元上包含值"逻辑o"。该被占用的块可以在本发明的进一步扩建中通过检验数据的确定被识别出是正确的还是错误的。损坏的块看上去与不可靠的块一样,但是在损坏块的代码中值或者位值"0"位于至少一个其它的存储单元上。如果要将一个块标记为空置的块,则清空它。这样就可以通过清除操作和写操作的分离,对存储装置"已清空"的附加状态充分地加以利用。为已清空的并且因此空置的块作上标记是不需要写访问的。只有当被清空的块又被写入数据时,才进行写访问。因为位值从"1"翻转到"0"比位值从"0"翻转到"1"更有可能,所以在本发明的进一步扩建中,为空置的或已清空的块的代码选择由1组成的位组合"1…1"。所述方法还可以在扩建中包含下列可能性,即通过提供该位组合自动地进行清除操作,按照所述位组合给至少一个存储单元分配第一个位值并因此将该块标记为已清空的,从而将该块标记为已清空的还能够与清除操作相一致或者包括清除操作。如此一方面能够对可能的存储错误加以识别,另一方面也保护了存储装置或者介质,因为状态的识别不需要写访问。在不可靠的块中也能够以很高的几率识别出错误。不可靠块的代码只能通过存储单元与空置块的代码加以区分。在该代码的对状态作标记的优选第一个存储单元上的这个位,也被用于区分数据组的第一个块和该数据组的其他块。如果错误出现在空值块的代码的对状态作标记的存储单元上,则该块将变成不可靠的块.如果错误出现在该不可靠块的对状态作标记的存储单元上,则可以将该块亳无疑问地应用于除了第一个块以外的数据组的任何块。将第一个块和所有其他块的代码的区别选择成,使得能够以比从清单上的其他块中获得第一个块大得多的几率从清单上的第一个块中获得其他的块。在本发明方法的进一步有利扩建中,可以将表格1中的代码用于其他的状态。例如在特定的存储器中仅仅由"0"组成的状况非常适合用于标记损坏的块。在这种形式的存储装置或者文件系统中,除了用于使用者可视的功能,如读、写和清除以外,还设定了其他的用于清理存储装置的功能。该功能包括例如不完整链的释放以及给不可靠块作标记。在所有所叙述的操作中,必须对块的状况进行识别或作标记。用于实现本发明的详细措施可以取决于对系统的非功能性要求。可以按照非功能性要求的重要性确定本方法的细节。尤其可以确定,在什么时刻以及在何种操作中对哪种型号的块如何作标记,并且允许使用哪种型号的块以保存数据。为各个代码的至少一个存储单元作标记,其中块的状况由该至少一个存储单元显示,是按照使用情况选择的,使得尤其在考虑了位翻转以及清除和写过程被中断的情况下,能以较高的几率将根据尤其由存储器引起的状态变化而成为损坏的块识别为损坏的,以及将完好的块识别为无损的。一般对于错误的存储内容的起因不能以百分百的安全性加以识别。所述错误可以例如是存储器硬件上的物理故障,或者由于电压中断或者复位造成的未结束的写过程。因此在识别存储器错误时常常不是将相应的块标记为损坏的并且不再使用,就是对该错误加以忽视并且再使用该块。在本发明方法的扩建中,可以将块标记为已清空的并且因此标记为空置的,以及标记为无损的,不可靠的以及损坏的。以此方式可以提高已保存和待保存数据的可使用性。本方法同样可以包含对不可靠块再生或再激活的策略。对于这些策略存在各种观点,例如在需要时、在某个时间之后和/或按照特定的预设再生,由此例如只有必需数量的块或者所有不可靠的、未损坏的块得以再生。该策略的特定扩建同样取决于对存储装置的非功能性要求。非功能性要求重要性的例子可以包括,判定是存储装置的数据安全性还是寿命更重要。为此一个可能的问题是,是具有被写入的数据不能被读取这种后果的数据流失,还是具有存储单元被误判为损坏的这种后果的存储器损失更能被接受。可以依据所使用的硬件和软件给出相反的前提条件存储单元的清空状态对应于"0",并且位从"0"翻转到"1"的几率大于从"1"到"0"。这仅仅要求至少一个存储单元的位组合的另外的、尤其反向的编码或布局。与此相应的对用于识别其他前述状态的其它标记进行修改。由此使本方法本身保持不变。可以使代码例如针对结构和/或管理信息和数据的组成部分进行改变。这可以涉及块的状况,即类型和状态,对数据的下一个块的参考和/或校验和的应用和类型及其布置。此外可以使代码依据面向块的存储装置的类型变化。可以例如规定,管理信息与数据分开保存。在作为备选方案构建的存储装置中,可以与此相反地使管理信息与数据一起存放。本发明可以用在分别具有按照本发明的存储装置和/或与该存储装置相互作用的嵌入式系统,例如汽车中的控制设备中。通过对由清空操作和写操作的分开实施而提供的"已清空"附加状态的充分利用,可以减少写过程的数量,并且延长存储装置的寿命。通过应用所iJL明的方法,可以在特定的面向块的、将块标记为无损的、不可靠的或损坏的EEPR0M文件系统中提高可使用性。本发明的其他优越性和扩建,由说明书和附图产生。不言而喻,前述的以及后面将要阐释的特征不仅可使用在每个规定的组合中,而且还可使用在不偏离本发明范畴的其他组合或单独使用。根据附图中的实施例对本发明示意地加以图示,并且在以下参考附图加以详细iJt明。图1以示意图示出具有本发明方法实施形式的块的设备以及存储装置的实施例。具体实施方式在图1中被示意地加以图示的存储装置2(用虚线画出的方框)和设备4在实施本方法所描述的实施形式中相互作用。存储装置2具有任意数量的用于存储数据的块。在图1中示出了块6的各种状态。将这些状态分别通过分配给块6的存储单元14的位值标记。在第一种状态,块6被写入数据。可以通过给代码14的第一个存储单元赋予位值"0",也就是逻辑0,给四个其他的在该实施例中用于表示数据的存储单元14赋予位值"1010"来加以标记。在实施本方法时,位于块6上的内容被设备4清除并因此执行清除操作16。直接在这种清除操作16后给块6的第一个存储单元14和四个其他的存储单元14分别赋予位值"1",也就是逻辑l。通过这种形式的赋值,块6本身被标记为已清空的,从而使得该被清空的块6能够在寻找空置的块时被快速地识别以保存新的数据。对于要出现块6发生状态变化18的情况,所述状态变化在该实施例中是由存储器引起的状态变化18,使这种状态变化通过在本实施例中块的第一个存储单元14的位值从"1"翻转为"0"来引起注意。在该实施例中适用于存储单元2的是,由存储器引起的位值从"1"翻转到"0"的几率大于从"0"翻转到"1"的几率。这种偶然或无意的翻转通常由相应的存储单元14上的错误造成。通过对块的存储单元14的代码或存储单元14的位组合的选择,可以使例如由错误引起的位值的翻转自动地并且因此自觉地引起注意,从而使块6的状态变化18能够被良好地识别。在以后的时刻,可以与为清空的块6进行的清除过程16无关地通过设备4进行写操作20,在进行所述写操作时,新的数据被保存在块6中。同时给块6的第一个存储单元14赋值"0"。其余的存储单元14被赋予表示新数据的位值"0101"。权利要求1.一种用于运行具有一定数量的块(6)的存储装置(2)的方法,其中给实施了与写操作(20)分开的清除操作(16)之后的块(6)的存储区域,即至少一个存储单元(14),分配位组合,使得在该存储区域内的至少一个位翻转的情况下,能够对该块(6)识别出状态变化(18)。2.如权利要求1所述的方法,其中在至少一个位翻转以后实施所述块(6)的状态的明确变化。3.如权利要求1或2所述的方法,其中通过将位组合分配给至少一个存储单元(14),将所述块(6)标记为已清空的。4.如上迷权利要求中任一项所述的方法,其中所述块(6)的状态通过至少一个存储单元(14)的位组合表征。5.如上述权利要求中任一项所述的方法,其中给所述块(6)的所有存储单元(14)分配特定的位组合。6.如上述权利要求中任一项所述的方法,其中进一步设定,借助于所述块(6)的检验数据检查该块(6)的至少一个位的翻转是否通过尤其由存储器引起的状态变化造成。7.如上述权利要求中任一项所述的方法,其中在所述块(6)的至少一个位翻转以后,将该块(6)标记为不可靠的。8.如上述权利要求中任一项所述的方法,其中如果所述块(6)被清空,则给所述块(6)内的存储区域赋予位组合"1…1",并且为了标记不可靠的块(6)而使用一种位组合,所述位组合除了至少一个"0"之外在任意位置上只具有位值"1"。9.如权利要求1至7中任一项所述的方法,其中如果块(6)被清空,则给所述块(6)内的存储区域赋予位组合"0…0",并且为了标记不可靠的块(6)而使用一种位组合,所述位组合除了至少一个"1"之外在任意位置上只具有位值"0"。10.如上述权利要求中任一项所述的方法,该方法用于数据的块(6),所述数据保存在一定数量的相互链接的块(6)中。11.如上述权利要求中任一项所述的方法,该方法用于存储装置(2),所述存储装置的硬件被构建成EEPROM。12.—种用于运行具有一定数量的块(6)的存储装置(2)的设备,其中该设备(4)给实施了与写操作(20)分开的清除操作(16)之后的块(6)的存储区域,即至少一个存储单元(14),分配位组合,使得在该存储区域内的至少一个位翻转的情况下能够对该块(6)识别出状态变化(18)。13.—种具有一定数量的块(6)的存储装置,该存储装置给实施了与写操作(20)分开的清除操作(16)之后的块(6)的存储区域,即至少一个存储单元(14),分配位组合,使得在该存储区域内的至少一个位翻转的情况下,能够对该块(6)识别出状态变化(18)。14.一种具有程序代码介质的计算机程序,用于实施如权利要求1至ll中任一项所述的方法的所有步骤,如果使计算机程序在计算机或相应的计算单元上,尤其在如权利要求12所述的设备(4)上实施的话。15.—种具有保存在计算机可读数据载体上的程序代码介质的计算机程序产品,用于实施如权利要求1至11中任一项所述的方法的所有步骤,如果使计算机程序在计算机或相应的计算单元上,尤其在如权利要求12所述的设备(4)上实施的话。全文摘要本发明涉及运行具有一定数量块(6)的存储装置(2)的方法。在实施本方法时,给实施了与写操作(20)分开的清除操作(16)之后的块(6)的存储区域,即至少一个存储单元(14),分配位组合,使得在该存储区域内的至少一个位翻转的情况下能够对该块(6)识别出状态变化(18)。文档编号G11C29/00GK101405816SQ200780010382公开日2009年4月8日申请日期2007年3月14日优先权日2006年3月24日发明者J·利贝亨谢尔,J·博特彻申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1