用于更新程序的方法和设备技术

技术编号:22570075 阅读:16 留言:0更新日期:2019-11-17 10:16
一种用于在使用MLC技术的情况下在闪速存储器中更新程序的方法(10),其特征在于以下特征:当将程序的地址空间(18)映射到块上并且在单级模式中运行所述块时,实施所述程序的第一映像(11);将所述第一映像的一部分从所述地址空间(18)内的被映射到所述块下的一个块上的地址区域复制(12)到所述存储器的备份块(19)中;当将所述地址区域暂时映射到所述备份块(19)上时,将所述块置于多级模式并且除了所述第一映像的所述部分之外还利用所述程序的第二映像(17)的一部分对所述块进行编程(13);当所述块保持在所述多级模式中时,将所述地址区域又转换(14)到所述块上;只要第二映像(17)是不完整的(15,N),就利用所述映像的其他部分重复复制(12)、编程(13)和转换(14);以及一旦所述第二映像(17)是完整的(15,Y),则可以替代所述第一映像而实施(16)所述第二映像。

Methods and devices for updating programs

A method (10) for updating a program in flash memory using MLC technology is characterized in that when the address space (18) of the program is mapped to a block and the block is run in a single level mode, the first image (11) of the program is implemented; a part of the first image is mapped from the address space (18) to the The address area on a block under the block is copied (12) to the backup block (19) of the memory; when the address area is temporarily mapped to the backup block (19), the block is placed in a multi-level mode and the block is programmed with a part of the second image (17) of the program in addition to the part of the first image; when the address area is temporarily mapped to the backup block (19), the block is When the block is kept in the multi-level mode, the address area is converted (14) to the block again; as long as the second image (17) is incomplete (15, n), the other parts of the image are used to duplicate (12), program (13) and transform (14); and once the second image (17) is complete (15, y), the first image can be replaced The second image is applied (16).

【技术实现步骤摘要】
【国外来华专利技术】用于更新程序的方法和设备
本专利技术涉及用于更新程序的方法。本专利技术此外涉及相应的设备、相应的计算机程序和相应的存储介质。
技术介绍
其内容可被电擦除的非易失性电子存储模块对于本领域技术人员而言作为电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,EEPROM)是已知的。在以下陈述的范围中,术语“EEPROM”在此在广泛词义上被使用并且除了常规的EEPROM之外同样包括较新的–可逐块擦除的–所谓的闪速存储器。为了能够实现在低能量消耗下的非易失性存储,在根据现有技术的车辆电子设备情况下优先地使用所述闪速EEPROM存储器,在所述闪速EEPROM存储器情况下储存在各个存储单元中的信息以电荷的形式被存储在浮栅上或被存储在金属绝缘体半导体场效应晶体管(metalinsulatorsemiconductorfield-effecttransistor,MISFET)的电荷俘获存储元件中。原则上,存储单元在此情况下以所谓的单元阵列(Zellfeld)(cellarray)的方式作为矩阵布置,其中,在一个坐标上,地址线用于选择存储单元的列或行,并且在另一坐标中,数据线通向存储单元。为了提高存储密度,在此情况下有时使用多级单元(multi-levelcell,MLC),在所述多级单元中,对于每个单元存储多于一个比特。为了能够实现这一点,储存在存储单元中的电荷量更精细地被计量(dosiert)并且在读出时也更准确地被分析,以便区分多于两个的可能状态并且能够存储多于一个比特。与单级单元(single-levelcell,SLC)相比,这引起降低的读和写速度的缺点。此外,MLC显著更敏感地对可能的电荷损失作出反应。在DE102014223035A1中提出一种用于在计算机系统内在易失性存储器的存储器接口、尤其MLC-NAND存储器的存储器接口和微控制器的接口之间传输数据的方法,所述方法包括:在微控制器的启动(Boot)过程开始时从MLC-NAND存储器的存储器接口读入数据并且将所读入的数据提供给易失性存储器的存储器接口。
技术实现思路
本专利技术提供根据独立权利要求所述的用于更新程序的方法、相应的设备、相应的计算机程序以及相应的存储介质。根据本专利技术的方案在此情况下所基于的认识为:由车辆电子系统的软件(SW)的与车间绑定的(werkstattgebundenen)更新的高成本决定地,在现代系统中,包括指令和数据的程序或者系统映像(image(映像))越来越多地通过空中接口(overtheair(空中),OTA)被改变。为了执行这样的更新,呈现各种可能性;这些可能性分别具有不同的优点和缺点。一种常规方法基于,提供两个系统映像:在发动机控制的情况下,从一个系统映像例如维持发动机运行,而将一个新的系统映像安装到相关的控制设备(electroniccontrolunit(电子控制单元),ECU)上。在下一次起动发动机时,可以基于该新的系统映像运行控制设备。为了支持该常规方法,需要比在不具有OTA能力的控制设备情况下多一倍的存储空间,这是因为两个系统映像必须同时被安置在非易失性存储器(non-volatilememory,NVM)中。这引起在制造相应的控制设备时单件造价高的缺点–而与其OTA能力最终是否由车辆制造商或原始设备制造商(originalequipmentmanufacturer,OEM)使用无关。因此建议:对于两个系统映像的存储时间段,为了更新的目的作为MLC、也即至少两级地使用存储单元。该方法的优点在于其与常规方法相比减少的存储单元需求。更确切地说,通过使用MLC技术,仅仅需要附加存储容量的一小部分。通过在从属权利要求中列出的措施,在独立权利要求中说明的基本思想的有利改进和改善是可能的。因此可以规定,在车辆控制设备情况下在OTA更新的范围内基于微控制器(μC)应用所述方法。以此方式,可以在该应用中判定:是否以常规的方式(具有相应的成本缺点)使用具有更多闪速存储器的μC或者暂时容受降低的系统性能(performance(性能)),以便在NVM中为OTA提供两个系统映像。附图说明在附图中示出并且在以下描述中更详细地阐述本专利技术的实施例。其中:图1示出根据第一实施方式的方法的流程图。图2示出所述方法的第一步骤。图3示出所述方法的第二步骤。图4示出所述方法的第三步骤。图5示出所述方法的第四步骤。图6示出所述方法的结果。图7示意性地示出根据第二实施方式的控制设备。具体实施方式图1图解所建议的方法(10)的基本功能方面,从现在起应以综述的方式分别利用图2至6之一对所述基本功能方面进行阐述。在后者的图中,在SLC模式下运行的单元在此情况下以实线示出,而在MLC模式下运行的单元以虚线示出。图2在此首先示出正常的运行状态(11),其中,当所有存储块的单元作为SLC、也即单级地被运行时,在连续的地址空间(18)中实施程序的第一映像(Abbild)。在此情况下,单个块可能分别包括1M字节,其中,相同大小的非强制地由程序的地址空间(18)包括的首先尚未被使用的备份块(Sicherungsblock)(19)准备着用于等待处理的更新。图3阐明在请求新映像之后的配置。在这里,块的内容已被复制(12)到备份块(19)中。最初分配给原始块的地址区域(Adressbereich)现在按硬件被映射到备份块(19)上,其因此从运行的程序的角度看似乎“插入(eingeblendet)”到程序的地址空间(18)中。现在,如图4中所示的,最初的块可以被转换到MLC模式,并且除了第一映像(ersten)之外,第二映像(17)的对应于块大小的一部分可以被编程(13)。因为程序的地址空间(18)中的待编程的块仍旧在一定程度上(quasi)以备份块(19)来“交换”,所以第一映像的功能能力不受该编程过程损害。然后,MLC块又可以在上述意义上在最初的地址处被插入(14),而所述MLC块保持在多级模式中,使得可以如图5中那样继续实施第一映像。以相应的方式对待其他块,直到所有块都处于MLC模式中并且因此两个映像完全存在于NVM中(判定15,图1),这对应于根据图6的状态(16)。在该最终状态(16)中,可以可选地实施程序的第一或第二映像。在(例如结合如此更新的车辆的不同的控制设备)确保第二映像(17)的功能能力之后,可以根据相反的方法按顺序地又将块转换回到单级模式上,以便在持续运行中使程序的可靠性最大化。所述方法(10)可以例如以软件或硬件或以由软件和硬件组成的混合形式例如在控制单元(20)中实现,如图7的示意图阐明的那样。本文档来自技高网
...

【技术保护点】
1.一种用于在包括多个块的存储器中更新程序的方法(10),其特征在于以下特征:/n- 当将所述程序的地址空间(18)映射到所述块上并且在单级模式中运行所述块时,实施(11)所述程序的第一映像,/n- 将所述第一映像的一部分从所述地址空间(18)内的被映射到所述块下的特定块上的地址区域复制(12)到所述存储器的备份块(19)中,/n- 当将所述地址区域暂时映射到所述备份块(19)上时,将所述块置于多级模式并且除了所述第一映像的所述部分之外利用所述程序的第二映像(17)的一部分对所述块进行编程(13),/n- 当所述块保持在所述多级模式中时,将所述地址区域又转换(14)到所述块上,/n- 只要第二映像(17)是不完整的(15,N),则利用所述映像的其他部分重复复制(12)、编程(13)和转换(14),以及/n- 一旦所述第二映像(17)是完整的(15,Y),则可以替代所述第一映像实施(16)所述第二映像。/n

【技术特征摘要】
【国外来华专利技术】20170329 DE 102017205274.01.一种用于在包括多个块的存储器中更新程序的方法(10),其特征在于以下特征:
-当将所述程序的地址空间(18)映射到所述块上并且在单级模式中运行所述块时,实施(11)所述程序的第一映像,
-将所述第一映像的一部分从所述地址空间(18)内的被映射到所述块下的特定块上的地址区域复制(12)到所述存储器的备份块(19)中,
-当将所述地址区域暂时映射到所述备份块(19)上时,将所述块置于多级模式并且除了所述第一映像的所述部分之外利用所述程序的第二映像(17)的一部分对所述块进行编程(13),
-当所述块保持在所述多级模式中时,将所述地址区域又转换(14)到所述块上,
-只要第二映像(17)是不完整的(15,N),则利用所述映像的其他部分重复复制(12)、编程(13)和转换(14),以及
-一旦所述第二映像(17)是完整的(15,Y),则可以替代所述第一映像实施(16)所述第二映像。


2.根据权利要求1所述的方法(10),其特征在于以下特征:
-在所述实施(16)期间检查所述第二映像(17)的功能能力,以及
-如果所述功能能力得以保证,则使所述块恢复到所述单级模式。


3.根据权利要求1所述的方法(10),其特征在于以下特征:
-以更多的访问时间运行所述存储器,以便能够实现对多级单元...

【专利技术属性】
技术研发人员:HW施米特A奥厄M施莱贝
申请(专利权)人:罗伯特·博世有限公司
类型:发明
国别省市:德国;DE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利