RU2006135632A - Автоматическое резервное сохранение при модификациях встроенного программного обеспечения - Google Patents

Автоматическое резервное сохранение при модификациях встроенного программного обеспечения Download PDF

Info

Publication number
RU2006135632A
RU2006135632A RU2006135632/09A RU2006135632A RU2006135632A RU 2006135632 A RU2006135632 A RU 2006135632A RU 2006135632/09 A RU2006135632/09 A RU 2006135632/09A RU 2006135632 A RU2006135632 A RU 2006135632A RU 2006135632 A RU2006135632 A RU 2006135632A
Authority
RU
Russia
Prior art keywords
memory
address space
version
memory block
block
Prior art date
Application number
RU2006135632/09A
Other languages
English (en)
Other versions
RU2375769C2 (ru
Inventor
Петер ЛЮНГ (SE)
Петер ЛЮНГ
Original Assignee
Сони Эрикссон Мобайл Коммьюникейшнз Аб (Se)
Сони Эрикссон Мобайл Коммьюникейшнз Аб
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
Priority claimed from EP04005700A external-priority patent/EP1574952B1/en
Application filed by Сони Эрикссон Мобайл Коммьюникейшнз Аб (Se), Сони Эрикссон Мобайл Коммьюникейшнз Аб filed Critical Сони Эрикссон Мобайл Коммьюникейшнз Аб (Se)
Publication of RU2006135632A publication Critical patent/RU2006135632A/ru
Application granted granted Critical
Publication of RU2375769C2 publication Critical patent/RU2375769C2/ru

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • 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/445Program loading or initiating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Claims (10)

1. Способ обновления программного обеспечения, представленного в первой версии (V1) на устройстве (40), посредством приема и исполнения дельта-файла (D12) для модификации упомянутой первой версии до второй версии (V2), причем данное программное обеспечение разделено и сохранено во множестве блоков (201-204) памяти, определенных в адресном пространстве (211) физической памяти (48) в устройстве, при этом способ содержит этапы, на которых определяют дополнительный блок (212) памяти, ассоциированный с упомянутым множеством блоков памяти, изначально размещенный перед первым блоком памяти, расположенным с одной стороны области памяти;
стирают упомянутый дополнительный блок памяти;
записывают обновленные данные для первого блока памяти в упомянутый дополнительный блок памяти;
перемещают дополнительный блок памяти на один блок вперед; и
обрабатывают все из упомянутого множества блоков памяти один за другим путем выполнения этапов, на которых стирают упомянутый дополнительный блок памяти;
записывают обновленные данные для блока памяти, соседнего для дополнительного блока памяти и следующего за ним, в дополнительный блок памяти;
единовременно перемещают упомянутый дополнительный блок памяти на один блок вперед;
пока все из упомянутого множества блоков памяти не будут сдвинуты на один интервал в адресном пространстве.
2. Способ по п.1, содержащий этап, на котором изменяют порядок записи блоков памяти в адресном пространстве с упомянутой модификации от первой версии до второй версии на другую модификацию от упомянутой второй версии до третьей версии.
3. Способ по п.2, содержащий этапы, на которых
посредством упомянутого устройства, перед приемом и исполнением дельта-файла, соединяются с сервером и передают информацию, относящуюся к состоянию текущего адресного пространства, определяющую, какого типа дельта-файл применим для модифицирования упомянутого программного обеспечения, в зависимости от имеющегося положения упомянутого дополнительного блока в упомянутом адресном пространстве, причем первый тип дельта-файла предназначен для модификации программного обеспечения, представленного в упомянутых блоках памяти в одном порядке в адресном пространстве, а второй тип дельта-файла предназначен для модификации программного обеспечения, представленного в упомянутых блоках памяти в обратном порядке в адресном пространстве;
загружают дельта-файл подходящего типа дельта-файла с упомянутого сервера на упомянутое устройство; и
модифицируют упомянутое программное обеспечение, используя подходящий дельта-файл.
4. Способ по любому из предыдущих пунктов, содержащий этап, на котором преобразуют начальный адрес в пределах упомянутого адресного пространства в загрузочном коде для упомянутого программного обеспечения в зависимости от перемещения данных между упомянутыми блоками памяти во время записи, как задано упомянутым дельта-файлом.
5. Компьютерный программный продукт, предназначенный для использования в электронном устройстве (40) с компьютерным управлением для обновления программного обеспечения, представленного в первой версии (V1) на этом устройстве, причем данное устройство содержит средство для приема и исполнения дельта-файла (D12) для модифицирования упомянутой первой версии до второй версии (V2), причем данное программное обеспечение разделено и сохранено во множестве блоков (201-204) памяти, определенных в адресном пространстве (211) физической памяти (48) в устройстве, при этом упомянутый компьютерный программный продукт содержит исполняемый компьютерный программный код, разработанный для предписания устройству выполнять этапы
определения дополнительного блока (212) памяти, ассоциированного с упомянутым множеством блоков памяти, изначально размещенного перед первым блоком памяти, расположенным с одной стороны области памяти;
стирания упомянутого дополнительного блока памяти;
записи обновленных данных для первого блока памяти в упомянутый дополнительный блок памяти;
перемещения дополнительного блока памяти на один блок вперед; и
обработки всех из упомянутого множества блоков памяти один за другим посредством
стирания упомянутого дополнительного блока памяти,
записи обновленных данных для блока памяти, соседнего для дополнительного блока памяти и следующего за ним, в дополнительный блок памяти,
единовременного перемещения упомянутого дополнительного блока памяти на один блок вперед,
пока все из упомянутого множества блоков памяти не будут сдвинуты на один интервал в адресном пространстве.
6. Компьютерный программный продукт по п.5, содержащий исполняемый компьютерный программный код, разработанный для предписания устройству выполнять этапы любого из предыдущих пп.2-4.
7. Терминал (40) радиосвязи, содержащий компьютерную систему (47) с соответствующим компьютерным кодом для обновления программного обеспечения, представленного в первой версии (V1) на терминале, и средство (46) для приема и исполнения дельта-файла (D12) для модифицирования упомянутой первой версии до второй версии (V2), причем данное программное обеспечение разделено и сохранено во множестве блоков (201-204) памяти, определенных в адресном пространстве (211) физической памяти (48) в терминале, отличающийся тем, что дополнительный блок (212) памяти, соответствующий упомянутому множеству блоков памяти, определен в упомянутом адресном пространстве, будучи изначально размещенным перед первым блоком памяти, расположенным с одной стороны области памяти, и тем, что дополнительно содержит средство для стирания упомянутого дополнительного блока памяти; средство записи данных для записи обновленных данных для первого блока памяти в дополнительный блок памяти; средство для перемещения дополнительного блока памяти на один блок вперед; и средство для обработки всех из упомянутого множества блоков памяти один за другим посредством
стирания упомянутого дополнительного блока памяти;
записи обновленных данных для блока памяти, соседнего для дополнительного блока памяти и следующего за ним, в дополнительный блок памяти;
единовременного перемещения упомянутого дополнительного блока памяти на один блок вперед;
пока все из упомянутого множества блоков памяти не будут сдвинуты на один интервал в адресном пространстве.
8. Терминал радиосвязи по п.7, отличающийся тем, что содержит средство для изменения порядка записи блоков памяти в адресном пространстве с упомянутой модификации от первой версии до второй версии на другую модификацию от упомянутой второй версии до третьей версии.
9. Терминал радиосвязи по п.8, отличающийся тем, что выполнен с возможностью соединения с сервером перед приемом и исполнением дельта-файла для передачи информации, относящейся к состоянию текущего адресного пространства, определяющей, какого типа дельта-файл применим для модифицирования упомянутого программного обеспечения, в зависимости от имеющегося положения упомянутого дополнительного блока в упомянутом адресном пространстве, причем первый тип дельта-файла предназначен для модификации программного обеспечения, представленного в упомянутых блоках памяти в одном порядке в адресном пространстве, а второй тип дельта-файла предназначен для модификации программного обеспечения, представленного в упомянутых блоках памяти в обратном порядке в адресном пространстве, причем упомянутый терминал содержит средство для загрузки дельта-файл подходящего типа дельта-файла с упомянутого сервера на упомянутый терминал и средство для модифицирования упомянутого программного обеспечения, используя подходящий дельта-файл.
10. Терминал радиосвязи по любому из предыдущих пп.7-9, отличающийся тем, что содержит средство для преобразования начального адреса в пределах упомянутого адресного пространства в загрузочном коде для упомянутого программного обеспечения в зависимости от перемещения данных между упомянутыми блоками памяти во время записи, как задано упомянутым дельта-файлом.
RU2006135632/09A 2004-03-10 2005-02-17 Автоматическое резервное сохранение при модификациях встроенного программного обеспечения RU2375769C2 (ru)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP04005700.2 2004-03-10
EP04005700A EP1574952B1 (en) 2004-03-10 2004-03-10 Automatic backup store in firmware upgrades
US55368704P 2004-03-16 2004-03-16
US60/553,687 2004-03-16

Publications (2)

Publication Number Publication Date
RU2006135632A true RU2006135632A (ru) 2008-04-20
RU2375769C2 RU2375769C2 (ru) 2009-12-10

Family

ID=34921306

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2006135632/09A RU2375769C2 (ru) 2004-03-10 2005-02-17 Автоматическое резервное сохранение при модификациях встроенного программного обеспечения

Country Status (3)

Country Link
KR (1) KR101130875B1 (ru)
RU (1) RU2375769C2 (ru)
WO (1) WO2005085997A2 (ru)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100750169B1 (ko) * 2006-03-08 2007-08-21 삼성전자주식회사 델타 파일 생성 방법 및 이를 이용한 소프트웨어 업데이트방법
EP2030119A4 (en) * 2006-06-19 2009-07-22 Samsung Electronics Co Ltd INFORMATION UPDATE SYSTEM AND METHOD FOR AN OTA DEVICE
US20100145906A1 (en) * 2007-06-27 2010-06-10 France Telecom Storage method
WO2017057111A1 (ja) * 2015-09-29 2017-04-06 日立オートモティブシステムズ株式会社 車載制御装置、プログラム更新システム、及び、プログラム更新ソフトウェア
US11222121B2 (en) * 2019-04-02 2022-01-11 Motional Ad Llc Secure boot of vehicular processors
CN113590155B (zh) * 2021-07-29 2023-06-20 深圳锦弘霖科技有限公司 远程增量式更新自研rtos的方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0398545A1 (en) * 1989-05-19 1990-11-22 Delco Electronics Corporation Method and apparatus for storing data in a non-volatile memory
DE19520030C1 (de) * 1995-05-31 1996-05-15 Siemens Ag Verfahren zur Aktualisierung der Programmstruktur einer modularen Kommunikationsanlage
US5960445A (en) * 1996-04-24 1999-09-28 Sony Corporation Information processor, method of updating a program and information processing system
DE19652628A1 (de) * 1996-12-18 1998-06-25 Philips Patentverwaltung Kommunikationssystem
US6327597B1 (en) 1999-08-06 2001-12-04 International Business Machines Corporation Method, memory system, and computer program product for implementing lock based delayed space recycle control
JP2001209543A (ja) * 2000-01-28 2001-08-03 Nec Ic Microcomput Syst Ltd フラッシュ・マイコンにおけるプログラム書き換え方法
US7100011B2 (en) * 2002-03-01 2006-08-29 Arris International, Inc. Method and system for reducing storage requirements for program code in a communication device
US6938140B2 (en) * 2002-08-29 2005-08-30 Micron Technology, Inc. System and method for linear object reallocation in place

Also Published As

Publication number Publication date
KR20070006831A (ko) 2007-01-11
WO2005085997A2 (en) 2005-09-15
RU2375769C2 (ru) 2009-12-10
KR101130875B1 (ko) 2012-03-28
WO2005085997A3 (en) 2006-06-29

Similar Documents

Publication Publication Date Title
JP4801041B2 (ja) ファームウェアアップグレードにおける自動バックアップストア
RU2006135632A (ru) Автоматическое резервное сохранение при модификациях встроенного программного обеспечения
EP1548599A3 (en) Faster write operations to nonvolatile memory by manipulation of frequently accessed sectors
US9043552B2 (en) Systems and methods for operating a flash memory file system
JP4921174B2 (ja) フラッシュメモリのデータ書込み方法
CN101957765A (zh) 一种实现设备固件更新的方法及系统、设备
JP4391781B2 (ja) データ書換装置及びデータ書換方法
CN108804118A (zh) 固件升级方法、设备及存储介质
KR100927446B1 (ko) 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법및 이를 이용한 펌웨어 업그레이드 시스템
US8271721B2 (en) Data writing method and data storage device
US7493485B2 (en) Structure of embedded memory unit with loader and system structure and operation method for the embedded memory apparatus
KR20030073824A (ko) 범용 직렬 버스를 이용한 시스템의 펌웨어 업그레이드방법 및 장치
JP2007148965A (ja) フラッシュディスク装置のエラーブロック管理方法及び装置
US8225028B2 (en) Memory devices and methods for programming flash memory utilizing spare blocks
CN116048387A (zh) 数据传输方法、数据传输装置和存储介质
JP2007052558A (ja) フラッシュメモリ書換え装置、フラッシュメモリ書換え方法及びフラッシュメモリ書換えプログラム
CN110968337A (zh) 软件升级方法及装置
JP2010117944A (ja) ソフトウェア更新システム、ソフトウェア更新方法、携帯電話端末及びプログラム
CN105204877B (zh) 一种终端固件升级方法及装置
CN114816833B (zh) 一种flash数据的写入方法、装置以及系统
KR100432857B1 (ko) 기록 매체 재생 장치를 이용한 주변 기기 펌웨어업그레이드 방법 및 장치
JP2011215871A (ja) 書き込み装置、書き込み方法、及び書き込みプログラム
CN1716216A (zh) 移动通讯终端的软件存储方法
KR20000033437A (ko) 부트스트랩로더 기능 구현 장치
WO2005038663A1 (en) Method for providing extended usb functions using standard ums communication

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20170218