CN100392590C - 更改控制器中软件的方法和装置以及相应的控制器 - Google Patents
更改控制器中软件的方法和装置以及相应的控制器 Download PDFInfo
- Publication number
- CN100392590C CN100392590C CNB2003801066326A CN200380106632A CN100392590C CN 100392590 C CN100392590 C CN 100392590C CN B2003801066326 A CNB2003801066326 A CN B2003801066326A CN 200380106632 A CN200380106632 A CN 200380106632A CN 100392590 C CN100392590 C CN 100392590C
- Authority
- CN
- China
- Prior art keywords
- software section
- memory block
- software
- old
- new
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012546 transfer Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 description 22
- 230000008901 benefit Effects 0.000 description 3
- 230000009191 jumping Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
更改在一个控制器的第一存储区中的软件来控制操作过程的方法和装置,其中通过执行新的软件部分代替执行旧的软件部分,并且在第一存储区中写入旧的软件部分,其中在第二存储区写入新的软件部分,和通过第一存储区内的第一转移,来代替第一存储区内的旧的软件部分而执行第二存储区内的新的软件部分,其中在执行新的软件部分后,通过第二存储区的第二转移,重新跳转回到第一存储区,并且继续执行在第一存储区中的其它的与旧的软件部分不同的软件,其中旧的软件仍保存在第一存储区。
Description
本发明涉及对在一个控制器中第一存储区内的软件进行更改的方法和装置以及相应的控制器并且涉及按照独立权利要求实现该方法的计算机程序。
特别是在汽车工业中,借助软件将越来越复杂的功能转换到单个的控制器中。越来越频繁需要在交给最终用户稍前或还有稍后将软件的更改注入控制器。一般可通过以下方式消除控制器的软件的更改,即将更改注入新的软件集成等级,并且将这个新建立的软件完整地装入控制器、特别是通过在所谓的快速EPROM存储器中存储、也即通过快速存储装入。由于现有的软件规模,控制器的快速存储譬如现在已经持续直到30分钟。由于不断提升功能和功能性,并且由于由此更大的软件规模和更多的软件包这个时间在将来提升更大。
因此,本发明的任务是减少用于控制器的快速存储的这种时间耗费,由此也可得到其它优点。
本发明的出发点是更改在一个控制器的第一存储区中软件的方法和装置,以控制操作过程、特别是在车辆以及相应控制器中,其中通过执行新的软件部分来代替执行旧的软件部分,并且在第一存储区中写入旧的软件部分。在大多数情况下,软件更改、特别是程序代码的更改与不需更改的软件部分相比很小。现在优选有目的地将待更改的部分或通常只是一个软件部分装入控制器,其中这些软件部分在说明书中也称为补丁容器或包含在这样一种补丁容器中。
因此,优选地只将新的软件部分写入第二存储区,其中通过在第一存储区的第一转移代替第一存储区的旧的软件部分而执行在第二存储区的新的软件部分,并且在执行新的软件部分后通过第二存储区的第二转移重新跳转回到第一存储区,其中继续执行在第一存储区的与旧软件部分不同的其它的软件,并且旧的软件部分仍存储在第一存储区内。
这就是说,为实现更改现有的软件、也即实现更改旧的软件部分,安装一个特殊的中央补丁管理,用该中央补丁管理有目的地通过跳入和跳出来更改软件的需更改的部分。由此一方面可优选在快速存储大的软件段或软件部分时明显地减少高的时间耗费,因为其一,不如上所述地重新写入整个软件,并且其二也可节省所需的用于更改软件、也即特别清除这些软件和写入新的软件的时间耗费。
此外,由此在更改软件和软件部分时得到一个较高的灵活性,并且另一方面通过尽可能地小的改写也就是清除和写入软件部分来得到一个较小的错误率。
优选地这特别通过以下方式得以实现,即使用第二存储区、也即补丁容器区,只用于记录新的软件部分并且在程序运行或软件运行时连入新的软件部分。
在此,优选地通过至少一个链表实现第一转移和第二转移。在此,链表提供节省储存数据的位置的可能性、特别是储存软件部分,这些软件部分同时具有时间上的而且也有逻辑的顺序。由于按照这种可比较的或相同的软件部分的方式方法具有多种版本,所以链表是一个适当的附件以储存事先不可确定数量的不同软件部分的版本。在链表中,对软件部分的每个版本或对每个软件部分都导入一个指向这个软件部分的下一个版本的指针。可使用一个特殊的指针状态以对下面情况进行编码,即所属的版本是各软件部分的当前版本。同样,这种特殊的指针状态用作为相应的软件部分的识别符或标识符。在此,作为指针使用相对的或绝对的地址。在一个链表中,由此与分别存储的软件部分一起或与如包括软件部分的一个数据记录的一个信息单元一起,存储一个指向各下一个逻辑相连的信息单元的存储位置的指针、特别是在这里指向下一个新软件部分的存储位置,或是指向具有新软件部分的数据记录的存储位置,或也指向其它的跟随在旧软件部分的后边的软件的存储位置。这样,首先在该时刻能够占据这些储存位置,在这个时刻提供待存储的或待执行的信息。此外,给这个信息分配各下一个空闲的储存位置是可能的,由此这个过程此外也导致无缝隙地使用存储器。
现在,优选地将一个新软件部分的起始地址用作第一转移,拟用于从第一存储区跳出,其中能够用这个地址至少部分地改写旧的软件部分、也即需更改的软件部分。作为替代方案也可在第一存储区中设置存储单元以嵌入跳出地址。由此,在第一存储区内设置一个到补丁容器内的跳转。然后优选将其它与旧软件部分不同的软件的起始地址用作第二转移,拟用于跳回,以使无缝隙地在转换旧的软件部分以后使用或处理在第一存储区的其它的跟随的软件。
优选在新的软件部分包含这样的信息,该信息给出应代替哪些旧的软件部分和/或这种信息说明了在通过哪些新的软件部分代替旧的软件部分。对此,第二存储区、也即特别是在包括新的软件部分以及也许包括附加信息的补丁表内的每个读入的补丁容器,除至少一个新的软件部分外,还包括一个用于第一转移的地址、用于第二转移的地址、和用于可通过至少一个新的软件部分代替的旧的软件部分的开始的地址。作为附加的信息,优选可在补丁容器中包括至少一个新的软件部分的长度和/或也包括至少一个旧的软件部分的长度。这些元素、也即用于第一转移的地址、用于第二转移的地址、用于旧的软件部分的开始的地址、以及也许还有新的软件部分的长度和/或旧的软件部分的长度都可综合成在补丁容器中的一个数据记录、也即在第二存储区的、特别是在补丁表中的一个数据记录。这样,为代替旧的软件部分所需的信息,优选地针对每个旧的软件部分分别综合在一个这样的数据记录内。
在此,优选第一存储区作为第一表格和优选第二存储区作为第二表格(补丁表格)在同一存储器中得以实现。
在此,此外第一存储区和第二存储区都可优选地划分成相同大小的软件段,其中在第二存储区中的每个软件段中可写入一个新的软件部分。
然后,优选地也可给每个数据记录或每个软件段根据实施方案配备一种识别符,该识别符允许列入一个旧的软件部分和一个代替此的新的软件部分。
其它的优点和优选的方案可从说明书中以及权利要求的特征中得到。
根据在附图中所示的进一步详细说明本发明。图中:
图1示出了一个具有相应的软件的控制器,其中旧的软件部分用新的软件部分代替,并且
图2示出了具有控制器软件的第一存储区以及按照本发明所述的补丁容器,并且
图3举例示出了在补丁容器中的一个可能的数据记录。
图1示出了具有处理单元101、特别是具有微控制器以及存储装置102、特别是被划分成两个存储区103和104的控制器100。这些存储区103和104可位于控制器100的同一存储器或不同的存储器内。通过除了线路连接的通信连接以外还可表现为无线的通信连接的接口105,相应的新的软件部分由一个带有第二存储装置107的信源106、譬如另一个计算机导入控制器100。通过只传送需更改的数据、也即只传送新的软件部分和不传送整个软件,这导致明显小的传输速率,特别是也能够使用空中接口、也即无线电、超声、红外等等。除此之外,在这个位置还可同样使用线路连接的传输。
现在,图2示出了第一存储区200和第二存储区201、特别是以表格形式所示的。在此,第一存储区包括单元格或软件段205-216。单元格205-216的相应的地址分别存储在块203中。同样,第二存储区201、也即补丁表包括多个单元格217-223,也是软件段,其中能够存入所谓的补丁容器。还有在这里在块204中,对各单元格、也即对各补丁容器存储相应的地址。
如在图2中所看到的,在从第一存储区200中的旧的软件部分内,在软件段207后在软件段208中产生一个跳出到补丁表201中。在此,用跳转地址亦即到软件段218的转移将旧的软件部分208至少部分地改写。这就是说,第一更改A1以从第一存储区200到第二存储区201的转移V1A1开始。在软件段218、219运行完之后,从带有第二转移V2A1的软件段220重新转回或跳回第一存储区软件段210。如此则通过在段218和219中的新的软件部分代替软件段208和209内的旧的软件部分、也即来回跳转。在此,旧的软件部分仍包含在第一存储区中的段208和209内。
第二更改A2举例示出了在段212后的一个跳出,跳转到在第二存储区201中的段223的起点,并且示出了一个跳回,跳回到存储段214的起点。这就是说,通过第一转移V1A2和跳回或第二转移V2A2,用软件段223在软件运行方面代替软件段213,其中至少部分地仍然保持在软件段213中的旧的软件部分。只代替包括补丁表的跳转地址的部分。
为产生如图2所示的这种状态,需要这样的信息,即哪种软件部分、也即从存储区200的哪些旧的软件部分应如何更改。该信息被装入补丁表201中。
在控制器重新启动时,用补丁管理建立存储区200和存储区201之间的地址关系。补丁管理譬如放置在引导装入器中、也即在启动控制器时被处理的启动程序中。在此,按照本发明根据花费在补丁表中可包括许多在补丁管理范围内的许多信息。这些信息、这些元素可综合在单个的数据记录内,如这在图3所示的那样。该管理也可由控制器的管理单元101以自身方式实现,方式是通过将相应的信息存放在补丁容器内。
为产生补丁表的数据记录,在此提供一个辅助装置、特别是在计算机106内的辅助装置,该辅助装置上分析源代码的更改,并且据此产生补丁表的数据记录或软件部分。这些数据记录譬如由一个跳出地址、由原始软件、也即旧的软件部分,补丁表的目的地址、也即指向一个补丁容器的指针、由新的软件部分、也即譬如更改的或新的十六进制代码组成,譬如也可由已更改的程序代码的长度、也即旧的软件部分长度或新的程序代码也即新的软件部分的长度组成,以及由到第一存储区的跳回地址、也即跳回到与旧的软件部分不同的其它软件、也即特别到原始程序的跳回地址组成。此外,可给补丁容器分配一个标始符和识别符,并且它们由此被包含在数据记录中。
在此,实现本发明所述方法的信息不是都需要的,这样,譬如从起始地址和软件部分的长度可确定最终地址。尽管如此,信息的使用或者意味着时间优势,因为一个地址不须计算,而是给出了,或者在这点上的冗余信息使得检验软件的更改成为可能,和由此可能提高安全性。
同样地,用一个如此建立起来的补丁管理重新取消在软件中的更改。然后,在这样一种取消中,在第一存储区中可设置针对跳出地址的存储空间,以致于在重新使用旧的软件部分时该部分不被部分地改写。
作为这样一个补丁容器或数据记录的例子,在图3中示出了存储块300。在此,用301譬如给出了一个程序地址、也即旧的需代替的软件部分的地址,用块302给出了在补丁表中的地址。程序块303给出了新的特殊的程序代码、也即应代替旧的软件部分的新的软件部分。用块304给出了譬如新的软件部分的长度、也即以比特、字节或任意其它量为单位的代码长度,并且最后块305给出了到其它软件部分的返回地址、也即特别到第一存储区200中源程序的返回地址。
除此以外,如上所述,同样也包括识别符、也即标识符,譬如代替给出的代码长度或者附加的。这样一个如程序块300的补丁容器或整个的补丁表可很简单地通过总线系统装入控制器,譬如通过具有CAN消息的CAN总线系统。如果象所谈到的那样使用识别符或标识符、也即将其分配给一个补丁容器,则可有目的地完全实现和跟踪譬如给用户的误差报告的更改,并且也可建立并存储更改的历史,无须损失稳定测试过的程序代码、也即无错误的软件的透明度。如果纠错并无所期望的反应,则很容易恢复旧的状态、也即简单地从补丁容器中取出。通过服务于本发明方法的小的数据率,一种简单的通过空中接口的软件改正或改进,如所提到的,是可能的。
此外,有利的是,将数据的存储区、也即软件分段成同样大小的数据文件、也即同样大小的软件段,这些软件段然后同样如上述的方法那样彼此链接并且针对更改存储在补丁表中。也就是说,在第一存储区200和第二存储区201中的单元格或数据包或在其中所保存的软件无须大小一定相同,而是通过地址和补丁管理进行管理。但是,使用在第一和第二存储区的大小相同的软件段是有利的,并且作为数据记录总是交换这样完整的软件段或通过新的软件段代替旧的软件段。
由此,通过详尽描述的本发明,得到具有全部优点的控制器的一个递增的快速存储。
Claims (19)
1.用于更改在一个控制器的第一存储区中的软件来控制操作过程的方法,其中通过执行新的软件部分来代替执行旧的软件部分,并且在第一存储区中写入所述旧的软件部分,其特征在于,在第二存储区写入所述新的软件部分,和通过第一存储区的第一转移,代替在第一存储区中的旧的软件部分来执行在第二存储区中的新的软件部分,其中通过第二存储区的第二转移在执行所述新的软件部分后,重新返回到第一存储区中,并且继续执行在第一存储区中的其它的与旧的软件部分不同的软件,其中所述旧的软件部分仍保存在第一存储区,
将该第二存储区中新软件部分的起始地址用作第一转移,其中用这个起始地址至少部分地改写所述旧的软件部分,
将其他与所述旧的软件部分不同的软件的该第一存储区中的起始地址用作第二转移。
2.按照权利要求1所述的方法,其特征在于,第二存储区只用于记录新的软件部分。
3.按照权利要求1所述的方法,其特征在于,通过至少一个链表实现所述第一转移和所述第二转移。
4.按照权利要求1所述的方法,其特征在于,在新的软件部分中包含这样的信息,该信息说明了应代替哪些旧的软件部分。
5.按照权利要求1所述的方法,其特征在于,在新的软件部分中包含这样的信息,该信息说明了应通过哪些新的软件部分来代替所述旧的软件部分。
6.按照权利要求1所述的方法,其特征在于,第二存储区除至少一个新的软件部分外,还包括针对第一转移的一个地址,针对第二转移的一个地址,和将要被至少一个新的软件部分代替的所述旧的软件部分的开始的地址。
7.按照权利要求6所述的方法,其特征在于,所述至少一个新的软件部分、所述针对第一转移的地址、所述针对第二转移的地址、和所述旧的软件部分的开始的地址综合到第二存储区的一个数据记录中。
8.按照权利要求6所述的方法,其特征在于,第二存储区此外还包括至少一个新的软件部分的长度和/或至少一个旧的软件部分的长度。
9.按照权利要求8所述的方法,其特征在于,所述至少一个新的软件部分的长度和/或所述至少一个旧的软件部分的长度、所述至少一个新的软件部分、所述针对第一转移的地址、所述针对第二转移的地址、和所述旧的软件部分的开始的地址综合到第二存储区的一个数据记录中。
10.按照权利要求6所述的方法,其特征在于,设置至少两个旧的软件部分和至少两个代替这两个旧的软件部分的新的软件部分,其中所述至少一个新的软件部分、所述针对第一转移的地址、所述针对第二转移的地址、和所述旧的软件部分的开始的地址分别综合到一个数据记录中,并且被写入第二存储区。
11.按照权利要求8所述的方法,其特征在于,设置至少两个旧的软件部分和至少两个代替这两个旧的软件部分的新的软件部分,其中所述至少一个新的软件部分的长度和/或所述至少一个旧的软件部分的长度、所述至少一个新的软件部分、所述针对第一转移的地址、所述针对第二转移的地址、和所述旧的软件部分的开始的地址分别综合到一个数据记录中,并且被写入第二存储区中。
12.按照权利要求1所述的方法,其特征在于,在同一存储器中,设置第一表格作为第一存储区,并设置第二表格作为第二存储区。
13.按照权利要求1或12所述的方法,其特征在于,将第一存储区和第二存储区划分成同样大小的软件段,其中在第二存储区的每个软件段中都能够写入一个新的软件部分。
14.按照权利要求7或者9所述的方法,其特征在于,每个数据记录都配有一个识别符。
15.按照权利要求13所述的方法,其特征在于,每个软件段都配有一个识别符。
16.按照权利要求14所述的方法,其特征在于,针对在第一存储区内的包含一个旧的软件部分的数据记录的识别符和具有代替所述旧的软件部分的新的软件部分的相应的数据记录的识别符是相同的。
17.按照权利要求15所述的方法,其特征在于,针对在第一存储区内的包含一个旧的软件部分的软件段的识别符和具有代替所述旧的软件部分的新的软件部分的相应的软件段的识别符是相同的。
18.用于更改在一个控制器的第一存储区中软件以控制操作过程的装置,其中通过执行新的软件部分代替执行旧的软件部分,并且在第一存储区中写入所述旧的软件部分,其特征在于,包含这样的装置,该装置将所述新的软件部分写入第二存储区,和将第一转移写入第一存储区,由此代替第一存储区中所述旧的软件部分而执行第二存储区中所述新的软件部分,其中该装置也将第二转移写入第二存储区,由此在执行所述新的软件部分后,重新返回到第一存储区,并且继续执行在第一存储区中的其它与所述旧的软件部分不同的软件,其中所述旧的软件仍保存在第一存储区内,其中将该第二存储区中新软件部分的起始地址用作第一转移,其中用这个起始地址至少部分地改写所述旧的软件部分,并且其中将其他与所述旧的软件部分不同的软件的该第一存储区中的起始地址用作第二转移。
19.带有第一存储区的控制器,使在该存储区中存有旧的软件部分和其它的与所述旧的软件部分不同的软件部分,其特征在于,该控制器包括第二存储区,该存储区包括代替所述旧的软件部分的新的软件部分,其特征在于,包括这样的装置,该装置将所述新的软件部分写入第二存储区,和将第一转移写入第一存储区,由此代替第一存储区中所述旧的软件部分而执行第二存储区中所述新的软件部分,其中该装置也将第二转移写入第二存储区,由此在执行所述新的软件部分后,重新返回到第一存储区,并且继续执行在第一存储区中的其它与所述旧的软件部分不同的软件,其中所述旧的软件部分仍保存在第一存储区内,其中将该第二存储区中新软件部分的起始地址用作第一转移,其中用这个起始地址至少部分地改写所述旧的软件部分,并且其中将其他与所述旧的软件部分不同的软件的该第一存储区中的起始地址用作第二转移。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10260103A DE10260103A1 (de) | 2002-12-19 | 2002-12-19 | Verfahren und Vorrichtung zur Änderung von Software in einem Steuergerät sowie entsprechendes Steuergerät |
DE10260103.8 | 2002-12-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1729449A CN1729449A (zh) | 2006-02-01 |
CN100392590C true CN100392590C (zh) | 2008-06-04 |
Family
ID=32404083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003801066326A Expired - Fee Related CN100392590C (zh) | 2002-12-19 | 2003-12-17 | 更改控制器中软件的方法和装置以及相应的控制器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20060156297A1 (zh) |
EP (1) | EP1614035A2 (zh) |
CN (1) | CN100392590C (zh) |
DE (1) | DE10260103A1 (zh) |
WO (1) | WO2004057465A2 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006016891A1 (de) | 2006-04-11 | 2007-10-25 | Robert Bosch Gmbh | Erweiterung der Funktionalität einer Serien-Software in einem Steuergerät |
SE534471C2 (sv) * | 2010-01-13 | 2011-09-06 | Scania Cv Ab | Metod och system för att uppdatera programvara |
DE102010039021B4 (de) | 2010-08-06 | 2023-02-23 | Robert Bosch Gmbh | Verfahren zur Rekonfiguration von Softwareparametern in einem Mikrocontroller sowie Mikrocontroller und Steuergerät |
US9395975B2 (en) * | 2014-07-21 | 2016-07-19 | Sandisk Technologies Llc | Method and system for generating a ROM patch |
US9626179B2 (en) | 2014-07-21 | 2017-04-18 | Sandisk Technologies Llc | Method and system for using a ROM patch |
JP7169340B2 (ja) | 2017-07-25 | 2022-11-10 | オーロラ ラブズ リミテッド | 車両ecuソフトウェアのためのソフトウェアデルタ更新の構築およびツールチェーンに基づく異常検出 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6076134A (en) * | 1993-02-12 | 2000-06-13 | Fujitsu Limited | Memory patching device |
GB2373888A (en) * | 2001-03-30 | 2002-10-02 | Toshiba Res Europ Ltd | Dynamic vector address allocation for a code patching scheme |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4831517A (en) * | 1986-10-10 | 1989-05-16 | International Business Machines Corporation | Branch and return on address instruction and methods and apparatus for implementing same in a digital data processing system |
US5481713A (en) * | 1993-05-06 | 1996-01-02 | Apple Computer, Inc. | Method and apparatus for patching code residing on a read only memory device |
US5619698A (en) * | 1995-05-05 | 1997-04-08 | Apple Computer, Inc. | Method and apparatus for patching operating systems |
US6421679B1 (en) * | 1995-10-27 | 2002-07-16 | International Business Machines Corporation | Concurrent patch to logical partition manager of a logically partitioned system |
US5802549A (en) * | 1995-12-14 | 1998-09-01 | International Business Machines Corporation | Method and apparatus for patching pages of ROM |
US5901225A (en) * | 1996-12-05 | 1999-05-04 | Advanced Micro Devices, Inc. | System and method for performing software patches in embedded systems |
US5938766A (en) * | 1997-03-21 | 1999-08-17 | Apple Computer, Inc. | System for extending functionality of a digital ROM using RAM/ROM jump tables and patch manager for updating the tables |
US6189145B1 (en) * | 1997-05-28 | 2001-02-13 | International Business Machines Corporation | Concurrent patch to logical partition manager of a logically partitioned system |
US7430670B1 (en) * | 1999-07-29 | 2008-09-30 | Intertrust Technologies Corp. | Software self-defense systems and methods |
JP2004536405A (ja) * | 2001-07-16 | 2004-12-02 | ユキング レン | 組み込みソフトウェア更新システム |
US8539469B2 (en) * | 2004-05-11 | 2013-09-17 | Microsoft Corporation | Efficient patching |
-
2002
- 2002-12-19 DE DE10260103A patent/DE10260103A1/de not_active Withdrawn
-
2003
- 2003-12-17 CN CNB2003801066326A patent/CN100392590C/zh not_active Expired - Fee Related
- 2003-12-17 US US10/539,494 patent/US20060156297A1/en not_active Abandoned
- 2003-12-17 EP EP03813535A patent/EP1614035A2/de not_active Withdrawn
- 2003-12-17 WO PCT/DE2003/004159 patent/WO2004057465A2/de active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6076134A (en) * | 1993-02-12 | 2000-06-13 | Fujitsu Limited | Memory patching device |
GB2373888A (en) * | 2001-03-30 | 2002-10-02 | Toshiba Res Europ Ltd | Dynamic vector address allocation for a code patching scheme |
Non-Patent Citations (2)
Title |
---|
IBM TECHNICAL DISCLOSURE BULLETIN. Batalden, GD Christie, RA Graham, CS Gregg, LE Sheppard,FP,page 273 line1-last line,page 274 line6-last line,figure 2,Maintainable ROS Code Through the Combination of ROMAnd EEPROM. 1990 |
IBM TECHNICAL DISCLOSURE BULLETIN. Batalden, GD Christie, RA Graham, CS Gregg, LE Sheppard,FP,page 273 line1-last line,page 274 line6-last line,figure 2,Maintainable ROS Code Through the Combination of ROMAnd EEPROM. 1990 * |
Also Published As
Publication number | Publication date |
---|---|
CN1729449A (zh) | 2006-02-01 |
WO2004057465A2 (de) | 2004-07-08 |
DE10260103A1 (de) | 2004-07-01 |
WO2004057465A3 (de) | 2005-01-13 |
EP1614035A2 (de) | 2006-01-11 |
US20060156297A1 (en) | 2006-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100334565C (zh) | 闪速存储器的数据管理设备和方法 | |
CN101763894B (zh) | 半导体存储装置和存储控制方法 | |
EP2965318B1 (en) | High speed flash controllers | |
CN100538659C (zh) | 非易失性存储器系统内有效允许失序写处理的方法和装置 | |
EP2939100B1 (en) | Method and system for asynchronous die operations in a non-volatile memory | |
CN102449607B (zh) | 具有多个闪存封装的存储系统 | |
CN101853207B (zh) | 存储装置 | |
EP1769343B1 (en) | Method and system for in-place updating content stored in a storage device | |
US20060259207A1 (en) | Electronic control system for automobile | |
CN103677884B (zh) | flash分区表文件生成及其数据升级方法、装置 | |
CN100416686C (zh) | 闪存及其在光驱中动态加载固件操作模块的方法 | |
JPS605023B2 (ja) | 記憶システム | |
CN106462479A (zh) | 车辆控制装置、改编程序系统 | |
CN100392590C (zh) | 更改控制器中软件的方法和装置以及相应的控制器 | |
CN106817259A (zh) | Vsm系统的升级方法及装置 | |
CN107678685A (zh) | 基于闪存的存储路径优化的键值存储管理方法 | |
CN100397339C (zh) | 集成内电路电路编程的装置与方法 | |
CN103399758A (zh) | 硬件加速方法、装置和系统 | |
KR101053948B1 (ko) | 메모리 시스템 및 컴퓨터 시스템 | |
CN101369251A (zh) | 快闪式内存及操作一快闪式内存的方法 | |
CN103339603A (zh) | 计算机重新编程方法、数据存储介质和机动车辆计算机 | |
WO2004027615A2 (en) | Method of and apparatus for detecting an error in writing to persistent memory | |
CN100449498C (zh) | 数据储存装置 | |
EP1461711B1 (en) | Method and apparatus for modifying the contents of a revision identification register | |
EP1022697B1 (en) | Control apparatus for vending machine |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080604 Termination date: 20101217 |