用于填充存储器的方法

文档序号:6454342阅读:284来源:国知局
专利名称:用于填充存储器的方法
技术领域
本发明涉及存储器的填充方法,存储装置,计算机程序和计算机 程序产品。
背景技术
在EEPR0M-存储器组件上存放了非易失的控制设备数据。为此要应 用各种存储器布局或存储器配置。 一种布局策略在于,将EEPROM-存储 器细分为容量相同的块,并且将真正的有用数据存放到这些块中。除 了这些有用数据,每个块还需要一种管理信息。用于块的管理信息此 外还可以被用于说明块是空的还是被占用的,或者存储在块中的有用 数据有多长,以及这些有用数据具有怎样的检验数据如校验和/CRC,以 及诸如此类。在通常情况下,该管理信息被作为有用数据存放在 EEPROM-存储器的其他区域。因此存在用于存放管理信息的区域和用于 存放有用数据的区域。这种情况可以与Windows环境下硬盘的FAT (File Allocation Table,文件分配表)文件系统相对照。此外众所 周知的是,在各种控制设备中采用面向块的EEPROM-文件系统。

发明内容
借助于本发明,提出具有权利要求l特征的方法,具有权利要求6 特征的存储装置,具有权利要求9特征的计算机程序以及具有权利要 求10特征的计算机程序产品。
本发明的优越性
在按照本发明的用于填充具有多个块的存储装置的方法中,使每 个块的管理信息和属于该块的有用数据一起存放。 本发明的有利扩建由从属权利要求产生。
按照本发明的存储装置被一定数量的块所填充,使每个块的管理
信息以及属于该块的有用数据一起存放。
借助于这种存储装置,按照本发明的方法的所有步骤得以实施。 此外,本发明还涉及具有程序编码介质的计算机程序,使得如果
该计算机程序在尤其具有按照本发明的存储装置的计算机上或者相应的计算单元上执行,则按照本发明方法的所有步骤得以实施。
此外,本发明还涉及具有被存储在计算机可读数据载体上的程序 编码介质的计算机程序产品,使得如果该计算机程序在尤其具有按照 本发明的存储装置的计算机上或者相应的计算单元上执行,则按照本 发明方法的所有步骤得以实施。
存储装置可以构建为 EEPROM(Electrically Erasable Programmable Read Only Memory),即电可擦除的可编程只读存储器, 或者构建为用在内嵌系统中的非易失的电存储组件。
本发明的方法以及因此而生的用于填充存储器的策略,可以避免 或者减小容量损失,所述容量损失是在面向块的存储装置或者文件系 统中由特定EEPROM中的边角料(Verschnitt)典型地产生的。
借助于本发明而考虑的策略因此适合于提供存储器填充或者存储 器布局,存储器规划或者存储装置的存储器分配,并且可以在各种 EEPROM存储器硬件上使用。因此可以通过在存储装置的块中结构化地 或以块的方式设置的数据存放,实现存储装置的各段的有效利用,该 数据不仅包含管理信息,而且包含有用数据。
因此借助于本发明可以设定,每个块的管理信息局部地与属于该 块的有用数据或数据组一起存放。块的有用数据可以由分别包含至少 一个有用数据或至少一个具有文件内容的数据组的数据组成。现在可 以使各个块的所有文件一起存放。
作为将EEPROM细分为用于存放管理信息和用于存放有用数据的两 大部分的替代方法,可以将存储器布局或存储器结构设定为,使块1 的有用数据跟随在块1的管理信息后.随后是块2的管理信息,再随 后是块2的有用数据等等,从而使块n的管理信息分别被该块n的有 用数据跟随,因此被一起存放。每次是管理信息还是至少一个有用数 据首先被存放,在此处并不重要。各个块的管理信息和至少一个有用 数据之间的交叠是可以的。
这种分配的优越性,产生于EEPROM存储器硬件的技术特性对每 一种EEPROM型号,存储器被细分为所谓的段。为了避免在写入EEPROM 或者存储装置时由于电压扰动而致的数据损失,使包含管理信息和有 用数据的不同数据在段边界上互相分离。因此在段容量不利时,如果 段不能被完全填满,会在两个有用数据之间产生边角料。此处提供的方法可以减小这种"边角料"并因此增大EEPROM存储 器的有效可使用容量。本方法的进一步特性是,本方法适合于各种段 容量。因此本方法可应用于各种EEPROM存储器型号,并且有助于既便 携、又可使用的装备的研发。
非易失有用数据的典型的灵敏的分类存储可以通过本方法尤其在 具有按照本发明的存储装置的控制设备上得以改善。
在第一个例子中,参照具有段容量为4字节(例如Freescale HC12 ) 的处理器,其中假定可能的状况是管理信息在每个块中填充3字节。有 用数据由最长具有21个字节长度的40个数据组成。
因此按照现有技术构建的存储器布局呈现下列尺寸的外观40乘 以1段,即40乘以4字节用于管理信息,从而使每个块出现3字节用 于数据以及1字节的边角料。此外,40乘以6个段,即40乘以24个 字节用于有用数据,其中对于最长的有用数据存在由优选用于数据的 21个字节和用于边角料的3个字节组成的块。在数据较短时,相应产 生更多的边角料。总共需要1120个字节。
在使用此处提供的按照本发明的方法的情况下,存储器填充或者 存储器布局在这种情况下呈现下列尺寸的外观40乘以6个段,即40 乘以24个字节用于管理信息和有用数据或数据组。对于最长的有用数 据,存在一个块由3个字节的管理数据和21个字节的有用数据组成, 即0字节的边角料。在数据较短时,此时也出现一个边角料。总共只 需要960个字节。
因此在该例子中产生了精简,因为管理信息的边角料和有用数据 的边角料之和始终至少相当于一个段的容量。因此通过按照本发明的 合并,可以为每个块精简一个段。
在第二个例子中,可以附加地对有用数据被一个以上的块分配的 选项加以观察。还是以HC12处理器为基础,其中管理信息在每个块中 填充3个字节。EEPROM拥有1024个字节的总容量。为了完全地充分利 用该容量,可以例如选择分配到32个块中,而每个块分别共有32个 字节用于管理信息和有用数据。由此,用于长度为29个字节的有用数 据的存储器需要量按照现有技术呈现下列情形,即每个块的32个字节 被细分为4个字节的l段用于管理信息和28个字节的7个段用于有用 数据。有用数据被两个块分配,其中最初的28个字节位于第一个块中,最后剩余的字节则存放在第二个块中。
在应用按照本发明的方法的情况下将产生下列情景每个块的32 个字节被细分为3个字节用于管理信息以及29个字节用于有用数据。 有用数据或数据组可以因此被安置在一个块中。精简量为一整个块, 并且在该例子中在管理信息内部按照现有技术得出的一个字节的边角 料,可以由此处提供的方法用于存放数据字节。
本发明,尤其是EEPROM存储装置,可以用在计算系统,例如内嵌 系统如所谓的Bodycomputer中,也适用于未来的具有用于存储非易失 有用数据的EEPR0M的Bodycomputer。本发明可以被转换应用到带有控 制设备的机动车上。利用此处提供的发明,面向块的EEPROM文件系统 得以进一步发展,因为保证了到具有不同特性的各种EEPR0M硬件的良 好转用性。
本发明进一步的优越性和扩建由说明书和附图得出。
显而易见,前面所述的以及后面将要说明的特征,不但可应用于
说明的各种组合,而且可应用于不偏离本发明范畴的其他组合或单独使用。
根据附图中的实施例对本发明示意地加以图示,并且在下面参考 附图加以详细iJL明。


图1示出按照现有技术的存储器填充的第一个实例。 图2示出按照本发明的存储器填充的第一个实例。 附图3示出按照现有技术的存储器填充的第二个实例。 附图4示出按照本发明的存储器填充的第二个实例。
具体实施例方式
在按照现有技术实施的面向块的存储器填充时,在图1中示出的 EEPROM存储器100中,将管理信息102, 104, 106和有用数据108, 110, 112存放在两个区域114, 116中,其中第一区域114包含所有块 的管理信息102, 104, 106,第二区域116包含所有块的有用数据108, 110,112。这两个区域114,116的顺序是任意的。在包含n个块的EEPR0M 存储器100中,详细的构造或者存储器结构如在附图1中所示出的那 样,其中存储器地址从左向右递升,同时Vx是块x的管理信息102, 104, 106, Dx是块x的有用数据108, 110, 112:VI 102, V2 104,…,Vn 106, Dl 108, D2 110,…,Dn 112
与此相反,在图2中提议的构建为EEPROM存储器的存储装置200 的存储器填充,在应用本发明的第一个例子中,只设定了一个区域, 其中一个块的管理信息202, 204, 206以及至少一个有用数据208, 210, 212分别被一起存放在所述区域中.在包含n个块的EEPROM存储器中 出现如下分配,其中Vx是块x的管理信息202, 204, 206, Dx是块x 的至少一个有用数据208, 210, 212:
VI 202, Dl 208, V2 204, D2 210,…,Vn 206, Dn 212
每次是管理信息202, 204, 206还是至少一个有用数据208, 210, 212首先被存放,在此处并不重要,在每个块的管理信息202, 204, 206和至少一个有用数据208, 210, 212之间甚至可以产生交叠。
这种分配的优越性由存储装置200的分段方式产生。段是这样来 定义的,即该段内部的存储单元可以被写入,而不会使其他段中的数 据一此处指包含管理信息202, 204, 206和有用数据208, 210, 212 的数据一通过这样的方式受到影响。同一个段内部的数据与此相反, 相互间不是完全独立的。
对于示出的EEPROM存储器具有一个段容量为4字节的处理器的情 况,每个段都可以与其他每个段无关地被修改。与此相反,同一个段 内部的4个字节每次必须一起被处理。在用数据对存储装置200进行 填充时,存储装置200的这种段结构对存储器构造或者对应的存储器 布局产生影响。在写入存储装置200时,始终考虑到在任意时刻例如 由于电源中断而引起的中断。在这种写入-中断中,正在写入的数据发 生流失是不可避免的。
利用本发明可以避免分别包含管理信息202, 204, 206和至少一 个有用数据208, 210, 212的其他数据或者块由此同样地被损坏。规 定,两个不同的数据绝不允许分享一个段。因此,如果写入了两个数 据的数据并因此更改了共同的段,则会阻止在写入该共同段时的写入-中断也损坏这两个数据。所以在存储装置200上,每个单独的数据都 在段的边界结束。因此如果数据没有完全地填满它的段时会产生边角 料。 一个长度为9个字节的数据例如在HC12上填充了 3个分别为4个 字节的段,其中第三段只占用了 1个字节,因此产生3个字节的边角 料。图3示出在EEPROM300上按照现有技术的存储器结构的第二个例 子,其中每一个块的管理信息302, 304, 306和有用数据308, 310, 312被相互分开。此时在EEPROM存储器300以及因此在介质上,在两 倍于按照本发明的方法的位置上出现边角料314,因为没有一个段被允 许包含多于一个块的管理信息302, 304, 306。否则在更新块的管理信 息302, 304, 306时的写入-中断,也会影响其他块的管理信息302, 304, 306。因此可能在两个相邻的管理信息302, 304, 306之间分别 产生一个边角料314。此外,没有一个段被允许包含多于一个块的有用 数据308, 310, 312,以此方式也可能在两个相邻的有用数据之间产生 边角料314。
为了清楚地说明这种情况,在以下对n个块的存储器分配加以说 明,这一次与图l相比,添加了所有可能产生边角料314的位置,以 从左到右递升的存储器地址排列,其中Vx用于块x的管理信息302, 3(M, 306, Dx用于块x的有用数据308, 310, 312, S表示可能的边角 料314:
VI 302,S314,V2 304, S314,…,S314, Vn 306, S314, Dl 308,S314,D2 310,S314,…,S314,Dn 310,S314
图4示出用于构建为EEPROM存储器的存储装置400的按照本发明 的存储器填充的第二个例子。此时对于从左到右递升的存储器地址, Vx表示块x的管理信息402, 404, 406以及Dx表示块x的有用数据 408, 410, 412, S表示可能的边角料414。
在本发明的这个例子中,单个块的管理信息402, 404, 406以及 至少一个有用数据408, 410, 412被相关联地保存,从而可能发生的 边角料"4将只出现在共同的数据之间,即不同块的管理信息402, 4(M, 406和有用数据408, 410, 412之间同一个块的管理信息402, 404, 406和至少一个有用数据408, 410, 412分别共同地使用 一个段。
VI 402, Dl 410,S414,V2 404, D2 410, S414,.." S414, Vn 406, Dn 412,S414
因此该发明能提高存储装置400的有效可利用容量。然后产生下 列情况,通过管理信息402, 404, 406和有用数据408, 410, 412的 组合,将比按照现有技术的分开放置少产生至少一个段容量的边角料 414。
权利要求
1.一种用于填充具有多个块的存储装置(200,400)的方法,其中每个块的管理信息(202,204,206,402,404,406)和属于该块的有用数据(208,210,212,408,410,412)被一起存放。
2. 如权利要求1所述的方法,其中每个块的管理信息(202, 204, 206, 402, 404, 406 )和属于该块的有用数据(208, 210, 212, 408, 410, 412)被存放在所述存储装置(200, 400 )的一个段中。
3. 如权利要求1或2所述的方法,其中第一块的管理信息(202, 204, 206, 402, 404, 406 )和有用数据(208, 210, 212, 408, 410, 412)通过至少一个段边界与至少一个其他块的管理信息(202, 204, 206, 402, 404, 406 )和有用数据(208, 210, 212, 408, 410, 412) 隔开。
4. 如上述权利要求中任一项所述的方法,其中管理信息(202, 204, 206, 402, 404, 406 )和有用数据(208, 210, 212, 408, 410, 412) 被物理地存放。
5. 如上述权利要求中任一项所述的方法,该方法用于被构建为 EEPROM存储器的存储装置(200, 400 )。
6. —种存储装置,该存储装置被一定数量的块填充,其中每个块 的管理信息(202, 204, 206, 402, 404, 406 )和属于该块的有用数 据(208, 210, 212, 408, 410, 412) —起存放。
7. 如权利要求6所述的存储装置,在该存储装置上物理地存放着 管理信息(202, 204, 206, 402, 404, 406 )和有用数据(208, 210, 212, 408, 410, 412)。
8. 如权利要求6或7所述的存储装置,其被构建为EEPROM存储器。
9. 一种带有编程代码介质的计算机程序,当该计算机程序在尤其 具有按照权利要求6至8中任一项所述的存储装置(200, 400 )的计 算机或者相应的计算单元上执行时,按照权利要求1至5中任一项所 述方法的所有步骤得以实施。
10. —种带有保存在计算机可读数据载体上的编程代码介质的计 算机程序产品,当该计算机程序在尤其具有按照权利要求6至8中任 一项所述的存储装置(200, 400 )的计算机或者相应的计算单元上执行时,按照权利要求1至5中任一项所述方法的所有步骤得以实施。
全文摘要
在按照本发明的用于填充具有多个块的存储装置(200)的方法中,使每个块的管理信息(202,204,206)和属于该块的有用数据(208,210,212)一起存放。
文档编号G06F12/02GK101410810SQ200780010448
公开日2009年4月15日 申请日期2007年3月14日 优先权日2006年3月24日
发明者D·赫尔曼, J·利贝亨谢尔 申请人:罗伯特.博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1