JP6030485B2 - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP6030485B2
JP6030485B2 JP2013058175A JP2013058175A JP6030485B2 JP 6030485 B2 JP6030485 B2 JP 6030485B2 JP 2013058175 A JP2013058175 A JP 2013058175A JP 2013058175 A JP2013058175 A JP 2013058175A JP 6030485 B2 JP6030485 B2 JP 6030485B2
Authority
JP
Japan
Prior art keywords
data
tool
ecu
processor
block
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.)
Active
Application number
JP2013058175A
Other languages
English (en)
Other versions
JP2014182859A (ja
Inventor
俊史 三宅
俊史 三宅
雄介 阿部
雄介 阿部
康司 湯浅
康司 湯浅
新井 敏央
敏央 新井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
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
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2013058175A priority Critical patent/JP6030485B2/ja
Priority to CN201480016490.2A priority patent/CN105144299B/zh
Priority to GB1516785.1A priority patent/GB2526992B/en
Priority to PCT/JP2014/054484 priority patent/WO2014148208A1/ja
Priority to US14/778,896 priority patent/US9996296B2/en
Priority to MX2015012412A priority patent/MX361290B/es
Publication of JP2014182859A publication Critical patent/JP2014182859A/ja
Application granted granted Critical
Publication of JP6030485B2 publication Critical patent/JP6030485B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • 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/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Description

本発明は、電子制御装置のデータを書き換える技術に関する。
電子制御装置においては、フラッシュROM(Read Only Memory)などの不揮発性メモリに書き込まれたデータを書き換える場合、特開平9−128229号公報(特許文献1)に記載されるような方法が採用されていた。即ち、電子制御装置に接続されたツールからの指示に応答して、不揮発性メモリのデータ書換え領域を消去してから、ツールから順次送信されるデータを不揮発性メモリに書き込んでいた。
特開平9−128229号公報
しかしながら、不揮発性メモリに書き込まれたデータと一部分のみが異なるデータを書き換える場合にも、データ書換え領域のすべてのデータを消去し、ツールから電子制御装置へとすべてのデータを転送しなければならなかった。このため、データ転送速度が低いことと相俟って、不揮発性メモリのデータ書換えに長時間を要していた。
そこで、本発明は、フラッシュROMなどの不揮発性メモリのデータ書換えに要する時間を短縮可能な、電子制御装置を提供することを目的とする。
電子制御装置は、消去ブロック単位でデータを消去可能であると共に、消去ブロックよりも小さい書込ブロック単位でデータを書込み可能な不揮発性メモリを有する。そして、電子制御装置は、外部からのデータ書換え要求に応答して、消去ブロック単位で、不揮発性メモリに書き込むデータの識別情報と、不揮発性メモリに書き込まれているデータの識別情報と、の同一性を判定し、同一性がないと判定された消去ブロックについて、不揮発性メモリのデータを消去ブロック単位で消去し、不揮発性メモリに書込ブロック単位でデータを書き込む。
本発明によれば、フラッシュROMなどの不揮発性メモリのデータ書換えに要する時間を短縮することができる。
データ書換えシステムの一例を示す概要図である。 電子制御装置の一例を示す内部構造図である。 フラッシュROMのメモリマップの一例を示す説明図である。 ツールの一例を示す内部構造図である。 データ書換え処理の第1実施形態の一例を示すフローチャートである。 フラッシュROMのメモリマップを簡略標記する方法の説明図である。 データ書換え処理の第2実施形態の一例を示すフローチャートである。 フラッシュROMのデータをRAMに退避した状態を示す説明図である。 データ書換え処理の第3実施形態の一例を示すフローチャートである。 データ書換え処理の第1実施形態及び第2実施形態を組み合わせた、第1応用実施形態の一例を示すフローチャートである。 データ書換え処理の第1実施形態及び第2実施形態を組み合わせた、第1応用実施形態の一例を示すフローチャートである。 データ書換え処理の第1実施形態及び第2実施形態を組み合わせた、第2応用実施形態の一例を示すフローチャートである。 データ書換え処理の第1実施形態及び第2実施形態を組み合わせた、第2応用実施形態の一例を示すフローチャートである。
以下、添付された図面を参照し、本発明を実施するための実施形態について詳述する。
図1は、自動車に搭載される電子制御装置(ECU:Electronic Control Unit)のデータを書き換える、データ書換えシステムの一例を示す。
データ書換え対象となるECU100は、CAN(Controller Area Network),シリアル通信,FlexRay(登録商標)などのネットワークケーブル200を介して、作業者がECU100のデータ書換え作業を行う、ツール300に着脱可能に接続される。なお、ECU100とツール300とは、ネットワークケーブル200を使用した有線に限らず、無線送受信機を使用した無線によって相互に接続されるようにしてもよい。
ECU100は、自動車に搭載された各種機器、例えば、燃料噴射弁,変速機,電動ブレーキシステム,ABS(Antilock Brake System),可変バルブタイミング機構,ブラシレスモータなどを制御する電子機器であって、マイクロコンピュータを内蔵している。具体的には、ECU100は、図2に示すように、CPU(Central Processing Unit)などのプロセッサ110と、ネットワークに接続するための通信回路120と、不揮発性メモリの一例としてのフラッシュROM130と、揮発性メモリの一例としてのRAM(Random Access Memory)140と、プロセッサ110,通信回路120,フラッシュROM130及びRAM140を相互に接続するバス150と、を有している。ここで、通信回路120は、ネットワークケーブル200を着脱可能に接続するコネクタ(図示せず)を含む。
フラッシュROM130は、図3に示すように、所定サイズ(例えば、32Kバイト,64Kバイトなど)の複数の消去ブロック1〜nと、消去ブロックごとに所定サイズ(例えば、256バイト)の複数の書込ブロック1〜mと、に区画されている。ここで、消去ブロックは、データを消去する最小単位を規定し、書込ブロックは、データを書き込む最小単位を規定する概念であり、消去ブロックが書込ブロックより大きいという特性を有している。そして、ある書込ブロックのデータを書き換える場合、その書込ブロックが属する消去ブロックのデータをすべて消去した後、データを消去した消去ブロックに属するすべての書込ブロックにデータを書き込む、という手順を経るようになっている。これは、フラッシュROM130のデータを書き換える場合の保障を確保するためである。なお、フラッシュROM130における消去ブロックのサイズが同一でない場合には、各消去ブロックに属する書込ブロックの数は異なっていてもよい。
ツール300は、作業者がECU100のデータ書換え作業を行う電子機器であって、例えば、パーソナルコンピュータなどのコンピュータから構成される。具体的には、ツール300は、図4に示すように、CPUなどのプロセッサ310と、ネットワークに接続するための通信回路320と、ハードディスク装置,SSD(Solid State Drive)などのストレージ330と、作業者へのインターフェースとなる入出力装置340と、を有している。ここで、通信回路320は、ネットワークケーブル200を着脱可能に接続するコネクタ(図示せず)を含む。また、入出力装置340は、LCD(Liquid Crystal Display)などのディスプレイと、キーボードと、マウスなどのポインティングデバイスと、を含む。なお、ストレージ330は、例えば、図示しないネットワークに接続されたNAS(Network Attached Storage),サーバのストレージなどであってもよい。
ストレージ330には、ECU100のフラッシュROM130を書き換えるための書換えデータが格納されている。書換えデータは、例えば、自動車に搭載された各種機器を制御する制御プログラム、その制御プログラムで使用される定数,マップなどの制御パラメータなどを含む。
図5は、ECU100のフラッシュROM130のデータを書き換える、データ書換え処理の第1実施形態の一例を示す。データ書換え処理は、作業者がネットワークケーブル200を介してECU100とツール300とを接続した後、ツール300において、作業者が書換えデータ及び被書換えデータを指定して、所定の操作を行ったときに実行される。なお、図5に示すデータ書換え処理は、書換えデータの消去ブロックごとに実行される(第2実施形態でも同様)。
ここでは、ECU100は、ネットワークケーブル200を介してツール300と接続されたときに、電力が供給されて起動することを前提とするが、別の電源ケーブルの接続により起動する形態もあり得る。また、以下の説明では、説明の便宜上、ECU100におけるフラッシュROM130のメモリマップは、図6に示すように、消去ブロックを「EBn」、書込ブロックを「WBm」(m,n:自然数)で表すこととする。
ステップ100(図では「S100」と略記する。以下同様。)では、ツール300のプロセッサ310は、消去ブロックEBx(x:自然数1〜n)のハッシュ値を算出する。即ち、プロセッサ310は、SHA(Secure Hash Algorithm),MD5(Message Digest Algorithm 5)などの公知のハッシュ関数を使用して、書換えデータにおける消去ブロックEBxのデータのハッシュ値を算出する。ここで、ハッシュ値は、データの同一性を比較するための識別情報の一例であって、類似するデータでも大きく異なる値をとるものを採用する。そして、プロセッサ310は、消去ブロックEBxのデータから算出したハッシュ値を、図示しないRAMなどの記憶媒体に一時的に記憶させておく。
ステップ101では、ツール300のプロセッサ310が、ECU100に対して、例えば、消去ブロックEBxのアドレスを指定することで、フラッシュROM130に書き込まれている被書換えデータにおける消去ブロックEBxのデータのハッシュ値を要求する。
ステップ200では、ECU100のプロセッサ110が、ツール300からのハッシュ値の要求に応答して、フラッシュROM130に書き込まれている被書換えデータの指定アドレスから始まる消去ブロックEBxのデータのハッシュ値を算出する。ここで、プロセッサ110は、ツール300においてハッシュ値の比較が可能となるように、ツール300と同一のハッシュ関数を使用してハッシュ値を算出する。そして、プロセッサ110は、消去ブロックEBxから算出したハッシュ値をツール300に返送する。
ステップ102では、ツール300のプロセッサ310が、記憶媒体に記憶されているハッシュ値とECU100から返送されたハッシュ値とを比較することで、2つのハッシュ値に差異があるか否かを判定する。即ち、プロセッサ310は、書換えデータと被書換えデータとの間で、対応する消去ブロックのデータに違いがあるか否か、要するに、同一性があるか否かを判定する。そして、プロセッサ310は、2つのハッシュ値に差異があると判定すれば処理をステップ103へと進める一方(Yes)、2つのハッシュ値に差異がないと判定すれば消去ブロックEBxの処理を終了させる(No)。
ステップ103では、ツール300のプロセッサ310が、ECU100に対して、フラッシュROM130における消去ブロックEBxのデータ消去を要求する。即ち、書換えデータと被書換えデータとの間で対応する消去ブロックのデータに差異があったため、消去ブロックのデータ書換えを可能にすべく、プロセッサ310は、ECU100に対して消去ブロックEBxのデータ消去を要求する。
ステップ201では、ECU100のプロセッサ110が、ツール300からの消去要求に応答して、例えば、フラッシュROM130における消去ブロックEBxに所定データを書き込むことで、そのデータを消去する。
ステップ202では、ECU100のプロセッサ110が、ツール300に対して、フラッシュROM130における消去ブロックEBxのデータ消去が終了したことを通知する。なお、このような通知は、ECU100とツール300との間で同期をとるために行われる(以下同様)。
ステップ104では、ツール300のプロセッサ310が、ECU100からの通知に応答して、書換えデータから消去ブロックEBxに属する書込ブロックWBy(y:自然数1〜m)のデータを順次抽出し、これをECU100に対して送信する。即ち、プロセッサ310は、ECU100のフラッシュROM130の記憶領域のうち、データを消去した領域に書き込むデータをECU100に順次送信する。
ステップ203では、ECU100のプロセッサ110が、ツール300から受信したデータをフラッシュROM130の書込ブロックWByに書き込む。
ステップ204では、ECU100のプロセッサ110が、ツール300に対して、フラッシュROM130の書込ブロックWByへのデータ書き込みが終了したことを通知する。
ステップ105では、ツール300のプロセッサ310が、ECU100からの通知に応答して、例えば、書込ブロックWBmまで処理が終了したか否かを介して、消去ブロックEBxへのデータの書込みが終了したか否かを判定する。そして、プロセッサ310は、データ書込みが終了したと判定すれば消去ブロックEBxの処理を終了させる一方(Yes)、データ書込みが終了していないと判定すれば処理をステップ104へと戻す(No)。
かかるデータ書換え処理の第1実施形態によれば、データの同一性を評価可能なハッシュ値を使用して、消去ブロックごとに、書換えデータと被書換えデータとの間に差異があるか否かが判定される。そして、書換えデータと被書換えデータとの間で対応する消去ブロックのデータに差異がある場合には、ツール300からECU100に対して、差異がある消去ブロックのデータ消去要求が送信されると共に、その消去ブロックに属する書込ブロックを書き込むためのデータが順次送信される。ECU100においては、ツール300からのデータ消去要求に応答して、消去ブロックのデータを消去すると共に、ツール300から順次送信されたデータを書込ブロックに書き込む。
一方、書換えデータと被書換えデータとの間で対応する消去ブロックのデータに差異がない場合には、ツール300からECU100へのデータ消去要求及びデータ通信を行わず、次の消去ブロックの処理へと移行する。
従って、制御パラメータの変更など、被書換えデータの一部分のみが変更された書換えデータでECU100のフラッシュROM130を書き換える場合、変更箇所を含む消去ブロックについて、フラッシュROM130のデータ消去及びデータ転送が行われる。このため、ツール300からECU100へと転送する情報の総量が減り、フラッシュROM130のデータ書換えに要する時間を短縮することができる。なお、フラッシュROM130のデータ書換えに要する時間は、ツール300からECU100へのデータ転送時間が過半数を占めるため、データ転送量の低減による効果は大であるといえる。
要するに、書換えデータと被書換えデータとの間で差異がある消去ブロックについてのみ、データ消去及びデータ転送を行うことで、通信量の削減を通して、フラッシュROM130のデータ書換えに要する時間を短縮することができる。
図7は、ECU100のフラッシュROM130のデータを書き換える、データ書換え処理の第2実施形態の一例を示す。データ書換え処理は、作業者がネットワークケーブル200を介してECU100とツール300とを接続した後、ツール300において、作業者が書換えデータ及び被書換えデータを指定して、所定の操作を行ったときに実行される。なお、以下の説明では、先の第1実施形態と共通する処理については、重複説明を排除する観点から、簡略化することとする(以下同様)。
ステップ300では、ツール300のプロセッサ310が、ECU100に対して、フラッシュROM130における消去ブロックEBxのデータ消去を要求する。
ステップ400では、ECU100のプロセッサ110が、ツール300からの消去要求に応答して、図8に示すように、フラッシュROM130の消去ブロックEBxに書き込まれている書込ブロックWByのデータをRAM140に退避(コピー)する。
ステップ401では、ECU100のプロセッサ110が、フラッシュROM130における消去ブロックEBxのデータを消去する。
ステップ402では、ECU100のプロセッサ110が、ツール300に対して、フラッシュROM130における消去ブロックEBxのデータ消去が終了したことを通知する。
ステップ301では、ツール300のプロセッサ310が、公知のハッシュ関数を使用して、書換えデータの消去ブロックEBxに属する各書込ブロックWByのデータのハッシュ値を順次算出する。そして、プロセッサ310は、書込ブロックWByのデータから算出したハッシュ値を記憶媒体に一時的に記憶させておく。
ステップ302では、ツール300のプロセッサ310が、ECU100に対して、例えば、書込ブロックWByのアドレスを指定することで、フラッシュROM130に書き込まれている被書換えデータにおける書込ブロックWByのデータのハッシュ値を要求する。
ステップ403では、ECU100のプロセッサ110が、ツール300からのハッシュ値の要求に応答して、フラッシュROM130に書き込まれている被書換えデータの指定アドレスから始まる書込ブロックWByのデータのハッシュ値を算出する。ここで、プロセッサ110は、ツール300においてハッシュ値の比較が可能となるように、ツール300と同一のハッシュ関数を使用してハッシュ値を算出する。そして、プロセッサ110は、書込ブロックWByから算出したハッシュ値をツール300に返送する。
ステップ303では、ツール300のプロセッサ310が、記憶媒体に記憶されているハッシュ値とECU100から返送されたハッシュ値とを比較することで、2つのハッシュ値に差異があるか否かを判定する。即ち、プロセッサ310は、書換えデータと被書換えデータとの間で、対応する書込ブロックのデータに違いがあるか否か、要するに、同一性があるか否かを判定する。そして、プロセッサ310は、2つのハッシュ値に差異があると判定すれば処理をステップ304へと進める一方(Yes)、2つのハッシュ値に差異がないと判定すれば処理をステップ305へと進める(No)。
ステップ304では、ツール300のプロセッサ310が、書換えデータから書込ブロックWByのデータを順次抽出し、これをECU100に対して送信する。
ステップ404では、ECU100のプロセッサ110が、ツール300から受信したデータをフラッシュROM130の書込ブロックWByに書き込む。その後、プロセッサ110は、処理をステップ406へと進める。
ステップ305では、ツール300のプロセッサ310が、ECU100に対して、RAM140に退避してある消去ブロックEBxのデータについて、書込ブロックWByのデータをフラッシュROM130の書込ブロックWByに書き込むことを要求する。
ステップ405では、ECU100のプロセッサ110が、ツール300からの書込み要求に応答して、RAM140に退避してある消去ブロックEBxのデータについて、書込ブロックWByのデータをフラッシュROM130の書込ブロックWByに書き込む。
ステップ406では、ECU100のプロセッサ110が、ツール300に対して、書込ブロックWByのデータの書き込みが終了したことを通知する。
ステップ306では、ツール300のプロセッサ310が、ECU100からの通知に応答して、例えば、書込ブロックWBmまで処理したか否かを介して、消去ブロックEBxへのデータ書込みが終了したか否かを判定する。そして、プロセッサ310は、データ書込みが終了したと判定すれば消去ブロックEBxの処理を終了させる一方(Yes)、データ書込みが終了していないと判定すれば処理をステップ301へと戻す(No)。
かかるデータ書換え処理の第2実施形態によれば、ECU100は、ツール300からの消去要求に応答して、フラッシュROM300の消去ブロックEBxのデータをRAM140に退避させてから、消去ブロックEBxのデータを消去する。その後、データの同一性を評価可能なハッシュ値を使用して、書換えデータの書込ブロックWByと被書換えデータの書込ブロックWByとの間に差異があるか否かが判定される。そして、書換えデータと被書換えデータとの間に差異がある場合には、ツール300からECU100へと送信された書込ブロックWByのデータがフラッシュROM130に書き込まれる。一方、書換えデータと被書換えデータとの間に差異がない場合には、RAM140に退避させてある書込ブロックWByのデータがフラッシュROM130に書き込まれる。
従って、ツール300とECU100との間で送受信されるデータは、各種の要求及び応答を除き、書換えデータと被書換えデータとの間で差異がある書込データWByのみとなる。このため、先の第1実施形態と比べて、ツール300からECU100へと送信されるデータの総量が更に減り、データ転送時間の更なる短縮により、フラッシュROM130のデータ書換えに要する時間をより短縮することができる。
ECU100において、フラッシュROM130からRAM140へのデータ退避に要する時間と、RAM140のデータをフラッシュROM130に書き込むのに要する時間との和は、同一サイズのデータをツール300からECU100へと送信するのに要する時間よりも短い。なぜならば、ECU100の内部でのデータ転送速度は、ツール300からECU100へのデータ転送速度よりも速いためである。このため、ツール300とECU100との間で送受信される要求及び応答が多少増えても、ツール300からECU100へと送信されるデータが減るため、先の第1実施形態と比較して、フラッシュROM130のデータ書換えに要する時間が短くなる。
図9は、ECU100のフラッシュROM130のデータを書き換える、データ書換え処理の第3実施形態の一例を示す。データ書換え処理は、作業者がネットワークケーブル200を介してECU100とツール300とを接続した後、ツール300において、作業者が書換えデータ及び被書換えデータを指定して、所定の操作を行ったときに実行される。
データ書換え処理の第3実施形態の前提として、ツール300のストレージ330には、消去ブロックEBxごとに、書換えデータと被書換えデータとの間に差異があるか否かを特定するためのレコードが格納されたデータベースが構築されている。なお、データベースにおいては、書込ブロックWByごとに、書換えデータと被書換えデータとの間に差異があるか否かを特定するためのレコードを格納しておいてもよい。
ステップ500では、ツール300のプロセッサ310が、ECU100に対して、被書換えデータを識別するためのデータ識別情報を要求する。
ステップ600では、ECU100のプロセッサ110が、例えば、フラッシュROM130に書き込まれている被書換えデータからデータ識別情報を読み出し、これをツール300へと返送する。
ステップ501では、ツール300のプロセッサ310が、ECU100から返送されたデータ識別情報に基づいて、ECU100のフラッシュROM130に書き込まれている被書換えデータを特定する。
ステップ502では、ツール300のプロセッサ310が、ストレージ330のデータベースを参照し、書換えデータと被書換えデータとの差分情報、即ち、どの消去ブロックEBxに差異があるかを特定するための情報を算出する。具体的には、プロセッサ310は、データベースを参照し、書換えデータのデータ識別情報及び被書換えデータの識別情報により特定されるレコードを検索する。そして、プロセッサ310は、そのレコードの内容を読み出し、書換えデータ及び被書換えデータの対応する消去ブロックEBxを比較することで、差分情報を生成する。
ステップ503では、ツール300のプロセッサ310が、書換えデータと被書換えデータとの間で差異がある消去ブロックEBxについて、ECU100に対してフラッシュROM130の消去ブロックEBxのデータ消去を順次要求する。
ステップ601では、ECU100のプロセッサ110が、ツール300からの消去要求に応答して、フラッシュROM130の消去ブロックEBxのデータを消去する。
ステップ602では、ECU100のプロセッサ110が、ツール300に対して、フラッシュROM130の消去ブロックEBxのデータ消去が終了したことを通知する。
ステップ504では、ツール300のプロセッサ310が、ECU100からの通知に応答して、書込みデータから消去ブロックEBxに属する書込ブロックWByのデータを順次抽出し、これをECU100に対して送信する。
ステップ603では、ECU100のプロセッサ110が、ツール300から受信したデータをフラッシュROM130の書込ブロックWByに書き込む。
ステップ604では、ECU100のプロセッサ110が、ツール300に対して、フラッシュROM130の書込ブロックWByへのデータ書き込みが終了したことを通知する。
ステップ505では、ツール300のプロセッサ310が、ECU100からの通知に応答して、消去ブロックEBxへのデータの書込みが終了したか否かを判定する。そして、プロセッサ310は、データ書込みが終了したと判定すれば処理をステップ506へと進める一方(Yes)、データ書込みが終了していないと判定すれば処理をステップ504へと戻す(No)。
ステップ506では、ツール300のプロセッサ310が、書換えデータと被書換えデータとの間で差異があるすべての消去ブロックEBxについて処理をしたか否かを介して、すべての差分の書込みが終了したか否かを判定する。そして、プロセッサ310は、すべての差分の書込みが終了したと判定すればデータ書換え処理を終了させる一方(Yes)、すべての差分の書込みが終了していないと判定すれば処理をステップ503へと戻す(No)。
かかるデータ書換え処理の第3実施形態によれば、ツール300において、ストレージ330のデータベースが参照され、書換えデータと被書換えデータとの間の差分情報が算出される。そして、差分情報により特定される、書換えデータと被書換えデータとの間で差異がある消去ブロックEBxについて、フラッシュROM130の消去ブロックEBxのデータ消去、及び、ツール300からECU100への書込ブロックWByのデータ転送が行われる。従って、先の第1実施形態及び第2実施形態とは異なり、書換えデータと被書換えデータとの同一性を評価するためにハッシュ値を算出する必要がなく、第2実施形態よりも、フラッシュROM130のデータ書換えに要する時間を短縮することができる。
書換えデータと被書換えデータとの間で差異がある消去ブロックEBxを書き換えるとき、先の第2実施形態のように、消去ブロックEBxのデータをRAM140に退避し、ツール300からECU100に差異がある書込ブロックWByのデータのみを送信して、フラッシュROM130のデータを書き換えるようにしてもよい。この場合には、ツール300のストレージ330のデータベースには、書込ブロックWByごとに、書換えデータと被書換えデータとの間に差異があるか否かを特定するためのレコードを格納しておく必要がある。
ここで、データ書換え処理の第1実施形態〜第3実施形態に関し、技術的に矛盾がないことを条件として、各実施形態の技術的思想を適宜組み合わせたり、また、各実施形態の技術的思想を適宜入れ替えたりしてもよい。また、データ書換え処理の第1実施形態〜第3実施形態においては、データ書換え処理はツール300が主体となっていたが、ECU100が主体となっていてもよい。以下、その具体例について説明する。
図10及び図11は、第1実施形態及び第2実施形態の技術的思想を組み合わせた、データ書換え処理の第1応用実施形態の一例を示す。なお、第1応用実施形態は、データ書換え処理の主体をツール300にしたものである。
ステップ700では、ツール300のプロセッサ310が、書換えデータにおける消去ブロックEBxのデータのハッシュ値を算出する。
ステップ701では、ツール300のプロセッサ310が、ECU100に対して、被書換えデータにおける消去ブロックEBxのデータのハッシュ値を要求する。
ステップ800では、ECU100のプロセッサ110が、ツール300からのハッシュ値の要求に応答して、被書換えデータにおける消去ブロックEBxのデータのハッシュ値を算出する。そして、プロセッサ110は、消去ブロックEBxから算出したハッシュ値をツール300に返送する。
ステップ702では、ツール300のプロセッサ310が、対応する消去ブロックEBxについて、書換えデータのハッシュ値と被書換えデータのハッシュ値との間に差異があるか否かを判定する。そして、プロセッサ310は、2つのハッシュ値に差異があると判定すれば処理をステップ703へと進める一方(Yes)、2つのハッシュ値に差異がないと判定すれば消去ブロックEBxの処理を終了させる(No)。
ステップ703では、ツール300のプロセッサ310が、ECU100に対して、フラッシュROM130における消去ブロックEBxのデータ消去を要求する。
ステップ801では、ECU100のプロセッサ110が、ツール300からの消去要求に応答して、フラッシュROM130の消去ブロックEBxに書き込まれているデータをRAM140に退避する。
ステップ802では、ECU100のプロセッサ110が、フラッシュROM130における消去ブロックEBxのデータを消去する。
ステップ803では、ECU100のプロセッサ110が、ツール300に対して、フラッシュROM130における消去ブロックEBxのデータ消去が終了したことを通知する。
ステップ704では、ツール300のプロセッサ310が、公知のハッシュ関数を使用して、書換えデータの消去ブロックEBxに属する各書込ブロックWByのデータのハッシュ値を順次算出する。
ステップ705では、ツール300のプロセッサ310が、ECU100に対して、被書換えデータにおける書込ブロックWByのデータのハッシュ値を要求する。
ステップ804では、ECU100のプロセッサ110が、ツール300からのハッシュ値の要求に応答して、被書換えデータにおける書込ブロックWByのデータのハッシュ値を算出する。そして、プロセッサ110は、書込ブロックWByから算出したハッシュ値をツール300に返送する。
ステップ706では、ツール300のプロセッサ310が、対応する書込ブロックWByについて、書換えデータのハッシュ値と被書換えデータのハッシュ値との間に差異があるか否かを判定する。そして、プロセッサ310は、2つのハッシュ値に差異があると判定すれば処理をステップ707へと進める一方(Yes)、2つのハッシュ値に差異がないと判定すれば処理をステップ708へと進める(No)。
ステップ707では、ツール300のプロセッサ310が、書換えデータから書込ブロックWByのデータを順次抽出し、これをECU100に対して送信する。
ステップ805では、ECU100のプロセッサ110が、ツール300から受信したデータをフラッシュROM130の書込ブロックWByに書き込む。その後、プロセッサ110は、処理をステップ807へと進める。
ステップ708では、ツール300のプロセッサ310が、ECU100に対して、ROM140に退避してある消去ブロックEBxのデータについて、書込ブロックWByのデータをフラッシュROM130の書込ブロックWByに書き込むことを要求する。
ステップ806では、ECU100のプロセッサ110が、ツール300からの書込み要求に応答して、RAM140に退避してある消去ブロックEBxのデータについて、書込ブロックWByのデータをフラッシュROM130の書込ブロックWByに書き込む。
ステップ807では、ECU100のプロセッサ110が、ツール300に対して、書込ブロックWByのデータの書き込みが終了したことを通知する。
ステップ709では、ツール300のプロセッサ310が、ECU100からの通知に応答して、消去ブロックEBxへのデータ書込みが終了したか否かを判定する。そして、プロセッサ310は、データ書込みが終了したと判定すれば消去ブロックEBxの処理を終了させる一方(Yes)、データ書込みが終了していないと判定すれば処理をステップ704へと戻す(No)。
かかるデータ書換え処理の第1応用実施形態によれば、書換えデータと被書換えデータとの間で差異がある消去ブロックについて、各書込ブロックの同一性が評価される。そして、対応する書込ブロックに同一性があれば、RAM140に退避されたデータがフラッシュROM130に書き込まれ、対応する書込ブロックに同一性がなければ、ツール300からECU100に送信されたデータがフラッシュROM130に書き込まれる。
従って、先の第1実施形態及び第2実施形態と比べて、ツール300からECU100へと送信されるデータの総量が更に減り、フラッシュROM130のデータ書込みに要する時間を短縮することができる。
図12及び図13は、第1実施形態及び第2実施形態の技術的思想を組み合わせた、データ書換え処理の第2応用実施形態の一例を示す。なお、第2応用実施形態は、データ書換え処理の主体をECU100にしたものである。
ステップ900では、ツール300のプロセッサ310が、書換えデータにおける消去ブロックEBxのデータのハッシュ値を算出する。
ステップ901では、ツール300のプロセッサ310が、ECU100に対して、被書換えデータにおける消去ブロックEBxのデータ消去を要求すると共に、ステップ900で算出したハッシュ値を送信する。
ステップ1000では、ECU100のプロセッサ110が、ツール300からの消去要求に応答して、被書換えデータにおける消去ブロックEBxのデータのハッシュ値を算出する。
ステップ1001では、ECU100のプロセッサ110が、ツール300から受信したハッシュ値とステップ1000で算出したハッシュ値とを比較することで、2つのハッシュ値に差異があるか否かを判定する。そして、プロセッサ110は、2つのハッシュ値に差異があると判定すれば処理をステップ1002へと進める一方(Yes)、2つのハッシュ値に差異がないと判定すれば消去ブロックEBxの処理を終了させる(No)。
ステップ1002では、ECU100のプロセッサ110が、フラッシュROM130の消去ブロックEBxに書き込まれているデータをRAM140に退避する。
ステップ1003では、ECU100のプロセッサ110が、フラッシュROM130における消去ブロックEBxのデータを消去する。
ステップ1004では、ECU100のプロセッサ110が、RAM140に退避してある消去ブロックEBxのデータから、書込ブロックWByのデータのハッシュ値を順次算出する。
ステップ1005では、ECU100のプロセッサ110が、ツール300に対して、書換えデータの消去ブロックEBxに属する書込ブロックWByのデータのハッシュ値を要求する。
ステップ902では、ツール300のプロセッサ310が、ECU100からのハッシュ値の要求に応答して、書換えデータにおける書込ブロックWByのデータのハッシュ値を算出する。そして、プロセッサ310は、書込ブロックWByから算出したハッシュ値をECU100に返送する。
ステップ1006では、ECU100のプロセッサ110が、対応する書込ブロックWByについて、書換えデータのハッシュ値と被書換えデータのハッシュ値との間に差異があるか否かを判定する。そして、プロセッサ110は、2つのハッシュ値に差異があると判定すれば処理をステップ1007へと進める一方(Yes)、2つのハッシュ値に差異がないと判定すれば処理をステップ1009へと進める(No)。
ステップ1007では、ECU100のプロセッサ110が、ツール300に対して、書換えデータにおける書込ブロックWByのデータを要求する。
ステップ903では、ツール300のプロセッサ310が、ECU100からの要求に応答して、書換えデータから書込ブロックWByのデータを順次抽出し、これをECU100に対して送信する。
ステップ1008では、ECU100のプロセッサ110が、ツール300から受信したデータをフラッシュROM130の書込ブロックWByに書き込む。その後、プロセッサ110は、処理をステップ1010へと進める。
ステップ1009では、ECU100のプロセッサ110が、RAM140に退避してある消去ブロックEBxのデータについて、書込ブロックWByのデータをフラッシュROM130の書込ブロックWByに書き込む。
ステップ1010では、ECU100のプロセッサ110が、消去ブロックEBxへのデータ書込みが終了したか否かを判定する。そして、プロセッサ110は、データ書込みが終了したと判定すれば消去ブロックEBxの処理を終了させる一方(Yes)、データ書込みが終了していないと判定すれば処理をステップ1004へと戻す(No)。
かかるデータ書換え処理の第2応用実施形態によれば、データ書込み処理は、基本的な消去ブロックEBxの消去要求,書込みブロックWByのハッシュ値の変更及び書込みブロックWByの送信を除き、ECU100において行われる。このため、例えば、機能追加などによりデータ書込み処理を変更しても、ツール300における処理の変更を要しない。但し、例えば、書換えデータにおける消去ブロックEBx,書込ブロックWByのデータのハッシュ値を算出するハッシュ関数を変更する場合には、ツール300における処理も変更する必要があるが、基本的な処理には影響が少ないため、その変更箇所を少なくすることができる。ツール300は、多様なECU100に対して共通して使用されるため、このような効果は有用である。なお、他の作用及び効果は、先の第1応用実施形態と同様であるので、必要があればその説明を参照されたい。
このように、データ書換え処理の第1実施形態〜第3実施形態の技術的思想を適宜組み合わせたり、また、各実施形態の技術的思想を適宜入れ替えたりすることで、多様な作用及び効果を奏する、データ書換えシステムを構築することができる。
なお、第1実施形態及び第2実施形態において、消去ブロックEBx及び書込ブロックWByのデータのハッシュ値を前もって算出しておき、これを書換えデータ及び被書換えデータに関連付けて記憶させておいてもよい。このようにすれば、フラッシュROM130のデータを書き換えるとき、ハッシュ値を算出する処理が不要となるため、ツール300及びECU100の負荷を低減することができる。
また、ECU100のフラッシュROM130へのデータ書込み処理は、ECU100が車両に搭載された状態で行うようにしてもよい。このようにすれば、例えば、機能拡張などにより制御プログラムなどが変更されても、車両に搭載されたECU100のデータを書き換えることができる。
ここで、前記実施形態から把握し得る請求項以外の技術的思想について、以下に効果と共に記載する。
(イ)前記データの識別情報は、ハッシュ値である、ことを特徴とする請求項2又は請求項3に記載の電子制御装置。
かかる技術的思想によれば、2つのデータの同一性を容易に判定することができる。
(ロ)前記ツールは、前記不揮発性メモリに書き込むデータと前記不揮発性メモリに書き込まれているデータとの間で同一性がない消去ブロック単位のデータについて、前記電子制御装置にデータ書換え要求を送信する、ことを特徴とする請求項4に記載の電子制御装置。
かかる技術的思想によれば、2つのデータ間で同一性がある消去ブロック単位のデータは、データの消去及び書き込みが実行されないため、データ転送量の削減を通して、不揮発性メモリのデータ書換えに要する時間を更に短縮することができる。
(ハ)前記ツールは、前記不揮発性メモリに書き込むデータと前記不揮発性メモリに書き込まれているデータとの差分情報が格納されたデータベースを参照し、前記電子制御装置から送信されたデータ識別情報に応じた差分情報を求める、ことを特徴とする請求項4又は(ロ)に記載の電子制御装置。
かかる技術的思想によれば、不揮発性メモリに書き込まれているデータに基づいて、不揮発性メモリに書き込むデータと不揮発性メモリに書き込まれているデータとの差分情報を求めることができる。
100 ECU
110 プロセッサ
120 通信回路
130 フラッシュROM(不揮発性メモリ)
140 RAM(揮発性メモリ)
200 ネットワークケーブル
300 ツール
310 プロセッサ
320 通信回路

Claims (4)

  1. 消去ブロック単位でデータを消去可能であると共に、前記消去ブロックよりも小さい書込ブロック単位でデータを書込み可能な不揮発性メモリを有する電子制御装置であって、
    外部からのデータ書換え要求に応答して、前記消去ブロック単位で、前記不揮発性メモリに書き込むデータの識別情報と、前記不揮発性メモリに書き込まれているデータの識別情報と、の同一性を判定し、前記同一性がないと判定された消去ブロックについて、前記不揮発性メモリのデータを消去ブロック単位で消去し、前記不揮発性メモリに書込ブロック単位でデータを書き込む、
    ことを特徴とする電子制御装置。
  2. 前記消去ブロック単位で、前記不揮発性メモリに書き込まれているデータを揮発性メモリに退避してから消去し、
    前記書込ブロック単位で、前記不揮発性メモリに書き込むデータの識別情報と、前記揮発性メモリに退避されたデータの識別情報と、の同一性を判定し、前記同一性がある場合、前記揮発性メモリに退避されたデータを前記不揮発性メモリに書き込む一方、前記同一性がない場合、外部からのデータを不揮発性メモリに書き込む
    ことを特徴とする請求項1に記載の電子制御装置。
  3. 前記電子制御装置に対して接続されるツールを更に含み、
    前記ツールは、前記不揮発性メモリに書き込むデータと前記不揮発性メモリに書き込まれているデータとの差分情報に基づいて、前記電子制御装置にデータ書換え要求を送信する
    ことを特徴とする請求項1又は請求項2に記載の電子制御装置。
  4. 前記データの識別情報は、ハッシュ値である、
    ことを特徴とする請求項1〜請求項3のいずれか1つに記載の電子制御装置。
JP2013058175A 2013-03-21 2013-03-21 電子制御装置 Active JP6030485B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2013058175A JP6030485B2 (ja) 2013-03-21 2013-03-21 電子制御装置
CN201480016490.2A CN105144299B (zh) 2013-03-21 2014-02-25 电子控制装置以及数据改写方法
GB1516785.1A GB2526992B (en) 2013-03-21 2014-02-25 Electronic control unit and method for rewriting data
PCT/JP2014/054484 WO2014148208A1 (ja) 2013-03-21 2014-02-25 電子制御装置及びデータ書換え方法
US14/778,896 US9996296B2 (en) 2013-03-21 2014-02-25 Electronic control unit and method for rewriting data
MX2015012412A MX361290B (es) 2013-03-21 2014-02-25 Unidad de control electrónico y método para reescribir datos.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013058175A JP6030485B2 (ja) 2013-03-21 2013-03-21 電子制御装置

Publications (2)

Publication Number Publication Date
JP2014182859A JP2014182859A (ja) 2014-09-29
JP6030485B2 true JP6030485B2 (ja) 2016-11-24

Family

ID=51579900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013058175A Active JP6030485B2 (ja) 2013-03-21 2013-03-21 電子制御装置

Country Status (6)

Country Link
US (1) US9996296B2 (ja)
JP (1) JP6030485B2 (ja)
CN (1) CN105144299B (ja)
GB (1) GB2526992B (ja)
MX (1) MX361290B (ja)
WO (1) WO2014148208A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6308074B2 (ja) * 2014-08-27 2018-04-11 株式会社デンソー マイクロコンピュータ
JP6699324B2 (ja) 2016-04-26 2020-05-27 株式会社デンソー 電子制御装置及びデータ書換えシステム
JP6913621B2 (ja) * 2017-12-19 2021-08-04 日立Astemo株式会社 自動車用電子制御装置
JP2021043843A (ja) * 2019-09-13 2021-03-18 日立オートモティブシステムズ株式会社 転送装置、電子制御装置及びこれを製造する方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06162786A (ja) * 1992-11-18 1994-06-10 Hitachi Ltd フラッシュメモリを用いた情報処理装置
JPH08202626A (ja) * 1995-01-31 1996-08-09 Isuzu Motors Ltd メモリ制御装置
JPH08315596A (ja) * 1995-05-12 1996-11-29 Nec Corp 半導体記憶装置
JPH09128229A (ja) 1995-11-06 1997-05-16 Denso Corp 電子制御装置
JPH11141391A (ja) * 1997-11-06 1999-05-25 Hitachi Ltd 自動車用制御装置
JP2000192844A (ja) * 1998-12-25 2000-07-11 Hitachi Ltd エンジン制御装置
JP2002014833A (ja) * 2000-06-30 2002-01-18 Konica Corp フラッシュメモリの書き換え方式、制御装置、画像形成装置及びプログラム更新方式
JP2003131898A (ja) * 2001-10-24 2003-05-09 Sharp Corp 電子機器、及びフラッシュメモリの書き換えシステム
JP2003272389A (ja) * 2002-03-20 2003-09-26 Sony Corp データ記憶回路及び同データ記憶回路におけるデータ書込み方法及びデータ記憶装置
US20080132204A1 (en) * 2006-12-04 2008-06-05 Motorola, Inc. System and method for updating at least one attribute stored at a mobile station
JP5107776B2 (ja) * 2008-04-07 2012-12-26 スパンション エルエルシー メモリコントローラ、メモリシステム、及びメモリデバイスへのデータの書込方法
JP2010009164A (ja) * 2008-06-25 2010-01-14 Kyocera Mita Corp 記録装置、画像形成装置、及びオプション装置
US8285970B2 (en) * 2008-11-06 2012-10-09 Silicon Motion Inc. Method for managing a memory apparatus, and associated memory apparatus thereof
US8769188B2 (en) * 2009-11-18 2014-07-01 Mediatek Inc. Nonvolatile memory controller and method for writing data to nonvolatile memory
US8406059B2 (en) * 2009-12-24 2013-03-26 Samsung Electronics Co., Ltd. Nonvolatile semiconductor memory devices, data updating methods thereof, and nonvolatile semiconductor memory systems
WO2012081099A1 (ja) 2010-12-15 2012-06-21 富士通株式会社 データ移行プログラム、計算機およびデータ移行方法
US9032137B2 (en) * 2012-11-21 2015-05-12 Intel Corporation Flexible wear management for non-volatile memory

Also Published As

Publication number Publication date
WO2014148208A1 (ja) 2014-09-25
GB2526992B (en) 2020-05-06
CN105144299B (zh) 2021-01-12
CN105144299A (zh) 2015-12-09
MX2015012412A (es) 2016-07-15
JP2014182859A (ja) 2014-09-29
US20160048336A1 (en) 2016-02-18
US9996296B2 (en) 2018-06-12
GB201516785D0 (en) 2015-11-04
GB2526992A (en) 2015-12-09
MX361290B (es) 2018-12-03

Similar Documents

Publication Publication Date Title
US9858008B2 (en) Method to reduce flash memory IOs with host maintained address mapping table
CN104423894B (zh) 数据储存装置以及快闪存储器控制方法
US10481837B2 (en) Data storage device and method for operating data storage device with efficient trimming operations
KR102567097B1 (ko) 임베디드 시스템의 부트 롬 업데이트 방법 및 부팅 방법
JP6030485B2 (ja) 電子制御装置
US11042323B2 (en) Offload defrag operation for host-managed storage
US9081658B2 (en) Storage device and data management method thereof
JP4745465B1 (ja) 半導体記憶装置及び半導体記憶装置の制御方法
WO2019090493A1 (zh) 内存块回收方法和装置
US11775188B2 (en) Communications to reclaim storage space occupied by proof of space plots in solid state drives
US12008235B2 (en) Data storage device and method for rewriting parameters thereof
US20140219041A1 (en) Storage device and data processing method thereof
US9524236B1 (en) Systems and methods for performing memory management based on data access properties
KR101465460B1 (ko) 트림 방법 및 데이터 관리 장치
JP2016170471A (ja) 電子制御装置
US20140075094A1 (en) Method to implement a binary flag in flash memory
KR20170139730A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN107257281B (zh) Nor flash存储密钥记录的方法、装置及计算机可读存储介质
JP5204265B2 (ja) 半導体記憶装置及び半導体記憶装置の制御方法
KR101691091B1 (ko) 컴퓨팅 시스템 및 그것의 하이버네이션 방법
JP2016504695A (ja) 不揮発性半導体マスメモリを安全に消去するための方法、コンピュータシステム、及びコンピュータプログラム
JP2009223435A (ja) データ記憶方法及び装置、並びにプログラム
JP5180726B2 (ja) 記憶装置およびデータ書き込み制御方法
JP2012027806A (ja) メモリ管理装置およびメモリ管理方法
JP4973844B2 (ja) オブジェクト指向型車両用制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160909

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161020

R150 Certificate of patent or registration of utility model

Ref document number: 6030485

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250