JP2013182378A - 不揮発性メモリへのデータ記憶方法 - Google Patents

不揮発性メモリへのデータ記憶方法 Download PDF

Info

Publication number
JP2013182378A
JP2013182378A JP2012045283A JP2012045283A JP2013182378A JP 2013182378 A JP2013182378 A JP 2013182378A JP 2012045283 A JP2012045283 A JP 2012045283A JP 2012045283 A JP2012045283 A JP 2012045283A JP 2013182378 A JP2013182378 A JP 2013182378A
Authority
JP
Japan
Prior art keywords
data
memory block
block
memory
storage unit
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.)
Granted
Application number
JP2012045283A
Other languages
English (en)
Other versions
JP5787095B2 (ja
Inventor
Nobuya Uematsu
暢矢 植松
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2012045283A priority Critical patent/JP5787095B2/ja
Publication of JP2013182378A publication Critical patent/JP2013182378A/ja
Application granted granted Critical
Publication of JP5787095B2 publication Critical patent/JP5787095B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】記憶媒体の使用可能期間を延長することが可能な不揮発性メモリへのデータ記憶方法を提供する。
【解決手段】不揮発性メモリは、1以上のアドレスを有するメモリブロックを複数含み、メモリブロックは、それぞれ、データを記憶するデータ記憶領域と、自身のメモリブロックの一括消去を実行した消去回数を含むデータ管理情報を記憶するデータ管理情報記憶領域と、を含み、複数のメモリブロックうちの一つがデータ退避用メモリブロックとして予め決定され、データ記憶領域に記憶しておくべき更新用データのみを残し、更新用データ以外のデータを消去するデータ更新処理において、データ更新の対象となるメモリブロックであるデータ更新元メモリブロックの更新用データを、データ退避用メモリブロックへ退避した後、全てのメモリブロックのうちのいずれか一つを、それぞれのメモリブロックの消去回数に基づいて、新データ退避用メモリブロックに決定する。
【選択図】図3

Description

本発明は、不揮発性メモリへのデータ記憶方法に関し、特に、データ書き込みの前に消去を必要とし、その消去回数について限度があるような、フラッシュメモリ等のメモリへのデータ記憶方法に関する。
コンピュータ等の電子機器あるいは車両用の電子制御装置(ECU:Electronic Control Unitともいう)で用いられるデータを記憶させておく記憶媒体として、フラッシュメモリのような書換え可能な不揮発性メモリの使用が広がっている。
不揮発性メモリであるフラッシュメモリでは、動作原理上、消去状態を書き込み状態にする書き込み処理は、アドレス単位あるいはビット単位で実行できるが、書き込み状態を消去状態にする消去処理については、メモリブロック(メモリブロックともいう)単位で一括して行われ、アドレス単位あるいはビット単位で実行することはできない。
このため、不揮発性半導体記憶装置では、一般的に、所定のメモリブロックに既に書き込まれているデータの全部または一部を更新する場合、更新後のデータを一括消去処理済みのメモリブロックに書き込む書き込み処理を実行した後、更新前のデータが記憶された更新元メモリブロックを一括消去する一括消去処理を実行するデータ更新処理を実行している。
このとき、フラッシュメモリとは別にRAM(Random Access Memory:ランダムアクセスメモリ)を備え、データ更新処理の際に、メモリブロック内のデータを、データ退避領域であるRAMに退避させて、該メモリブロックの一括消去を行い。該メモリブロックあるいは別のメモリブロックに、RAMに退避したデータを書き込む技術が開示されている(特許文献1参照)。
特開2000−243093号公報
特許文献1の構成では、メモリブロック内のデータをRAMに退避させたときに、停電等でRAMに電力が供給されない事態が発生すると、退避データは消失するという問題がある。また、フラッシュメモリの他にRAMを必要とするので、回路を小型化できないとともに、製造コストが上昇する問題もある。
そこで、データ退避領域にも、RAMの代わりにフラッシュメモリを用いる構成も考えられる。図1に、この構成におけるフラッシュメモリへのデータ記憶方法が用いられる不揮発性半導体記憶装置(以下、ECUと称する)の構成例を示す。なお、図1では、フラッシュメモリへのデータ記憶方法の実行に直接関係する主要部分のみが示されている。
ECU1は、CPU2、CPU2が実行するプログラム等が記憶されているROM3、プログラムやデータが一時記憶されるRAM4、ECU1の動作に必要な各種データが記憶されるフラッシュメモリ5、入出力回路(図1では、I/Oと表記)6、を含み、これらは、バス7によりデータ伝送可能に接続されている。
また、入出力回路6には、センサ群10、アクチュエータ群11が接続されていてもよい。このような構成のときは、ECU1は、センサ群10の状態を取得して、その状態に基づいて、アクチュエータ群11の駆動制御を行う。そして、これらの制御に必要なデータを、フラッシュメモリ5に記憶する。
フラッシュメモリ5は、複数(図1では4個)のメモリブロック(以下、「ブロック」と略称する)A、B、C、Dを含み、ブロックA〜Cをデータ記憶用ブロックとして用い、ブロックDをデータ退避用ブロックとして用いる。また、図2ではブロックAを例示しているが、各ブロックの全領域を、データを記憶するデータ記憶部として用いる。
図10を用いて、図1および図2の構成におけるフラッシュメモリへのデータ記憶方法について説明する。まず、ステップS200では、ブロックAのデータ記憶部100の全てに、データが書き込まれた状態を示している。この状態で、ブロックAの古いデータ(A)を消去する場合、まず、ステップS210のように、ブロックAの最新データ(A)をブロックDのデータ記憶部400に書き込む。
一般に、フラッシュメモリのデータは、データIDとデータ値とが関連付けられて記憶されている。ブロックAに既に記憶されているデータが更新され、更新データが追記されたとき、ブロックAには同じデータIDを持つデータが複数記憶される。しかし、データはデータ記憶部100の先頭アドレスから書き込まれるので、同じデータIDで、最も末尾に近いアドレスに書き込まれているものが最新のデータであると判断できる。
次に、ステップS220のように、ブロックAのデータ記憶部100を一括消去する(すなわち、全領域がデータなしの状態にする)。次に、ステップS230のように、ブロックDに退避しておいたブロックAの最新データ(A)を、ブロックA(すなわちデータ記憶部100)に書き込む。最後に、ステップS240のように、ブロックD(すなわちデータ記憶部400)を一括消去する。
図11に、図10のデータ更新処理を繰り返し実行したときの、各ブロックの消去回数の推移を示す。1回目の状態(ブロック消去前の状態)では、各ブロックの消去回数は0回であるが、データ記憶量が一杯となったブロックBのデータ更新処理を行い、データ退避用ブロックであるブロックDの消去回数は0回から1増加する。2回目の状態では、再度データ記憶量が一杯となったブロックBのデータ更新処理を行い、データ退避用ブロックであるブロックDの消去回数は1回からさらに1増加する。同様に、3回目の状態では、データ記憶量が一杯となったブロックAのデータ更新処理を行い、ブロックDの消去回数は2回からさらに1増加する。
このように、データ退避用ブロックであるブロックDは、各データ記憶用ブロック(A〜C)で共用しているため、その消去回数はデータ記憶用ブロックの消去回数の和になる。そのため、データ退避用ブロックの消去回数は、データ記憶用ブロックの消去回数よりも早くフラッシュメモリの仕様上の限界値(例えば、500回)に達する。
このため、データ記憶用ブロックの消去回数が限界値に達しなくても、このフラッシュメモリは全体として使用できなくなり、ECU1も正常動作しなくなる可能性が高くなり、ECU1自体を交換する必要が生じ、このECUを使用するユーザがコストを負担しなければならない。
上記問題点を背景として、本発明の課題は、記憶媒体の使用可能期間を延長することが可能な不揮発性メモリへのデータ記憶方法を提供することにある。
課題を解決するための手段および発明の効果
上記課題を解決するための不揮発性メモリへのデータ記憶方法は、不揮発性メモリを備えた不揮発性半導体記憶装置における不揮発性メモリへのデータ記憶方法であって、不揮発性メモリは、1以上のアドレスを有するメモリブロックを複数含み、不揮発性メモリの個々のメモリブロックに対し、メモリブロック単位での一括消去、予め定められたアドレス数の記憶領域単位またはビット単位での書き込みを行うメモリ制御部を備え、複数のメモリブロックは、それぞれ、データを記憶するデータ記憶部と、自身のメモリブロックの一括消去を実行した消去回数を含むデータ管理情報を記憶するデータ管理情報記憶部と、を含んで構成され、複数のメモリブロックうちの一つが、他のメモリブロックに記憶されているデータを退避するためのデータ退避用メモリブロックに予め決定されており、メモリ制御部は、データ記憶部に記憶されているデータのうち、記憶しておくべき更新用データのみを残し、更新用データ以外のデータを消去するデータ更新処理を実行し、データ更新処理において、データ更新の対象となるメモリブロックであるデータ更新元メモリブロックの更新用データを、データ退避用メモリブロックへ退避した後、全てのメモリブロックのうちのいずれか一つを、それぞれのメモリブロックの消去回数に基づいて、新データ退避用メモリブロックに決定することを特徴とする。
上記構成によって、データ退避用メモリブロックが固定化されないため、各メモリブロックの消去回数を概ね平準化でき、不揮発性メモリの使用可能期間を延長することができるとともに、半導体記憶装置の製品寿命を延長することができ、ユーザのコスト負担も低減できる。
また、本発明の不揮発性メモリへのデータ記憶方法におけるメモリ制御部は、データ更新処理において、データ更新元メモリブロックの更新用データを、データ退避用メモリブロックのデータ記憶部へ退避するとともに、該データ更新元メモリブロックの消去回数を、該データ退避用メモリブロックのデータ管理情報記憶部に退避した後、該データ更新元メモリブロックの一括消去を行うとともに、データ退避用メモリブロックに退避した、データ更新元メモリブロックの消去回数を更新したものを、データ更新元メモリブロックのデータ管理情報記憶部に書き込み、その後、それぞれのメモリブロックの消去回数に基づいて、新データ退避用メモリブロックを決定する。
上記構成によって、各メモリブロックの消去回数を正確に把握できる。
また、本発明の不揮発性メモリへのデータ記憶方法におけるメモリ制御部は、データ更新処理において、消去回数の最も少ないメモリブロックを、新データ退避用メモリブロックに決定する。
上記構成によって、各メモリブロックの消去回数を概ね平準化できる。
また、本発明の不揮発性メモリへのデータ記憶方法におけるメモリ制御部は、データ更新処理において、データ更新元メモリブロックを新データ退避用メモリブロックに決定する。
上記構成によって、データ退避用メモリブロックから他のメモリブロックへのデータの移動を行わないため、データ退避用メモリブロックを一括消去する必要がなくなり、データ退避用メモリブロックの消去回数がいたずらに増えることを防止できる。
また、本発明の不揮発性メモリへのデータ記憶方法におけるメモリ制御部は、データ更新処理において、データ退避用メモリブロックを新データ退避用メモリブロックに決定し、そのときには、該データ退避用メモリブロックのデータ記憶部の記憶内容を、データ更新元メモリブロックのデータ記憶部に書き込むとともに、該データ退避用メモリブロックの消去回数を該データ更新元メモリブロックのデータ管理情報記憶部に書き込んだ後、該データ退避用メモリブロックの一括消去を行い、さらに、データ更新元メモリブロックのデータ管理情報記憶部に記憶されている、該データ退避用メモリブロックの消去回数を更新したものを、該データ退避用メモリブロックのデータ管理情報記憶部に書きこむ。
上記構成によって、データ更新元メモリブロックでもデータ退避用メモリブロックでもないメモリブロックの消去回数を増やすことなく、データ更新処理を行うことができる。
また、本発明の不揮発性メモリへのデータ記憶方法におけるメモリ制御部は、データ更新処理において、データ更新元メモリブロックおよびデータ退避用メモリブロックのいずれでもないメモリブロックを新データ退避用メモリブロックに決定し、そのときには、新データ退避用メモリブロックのデータ記憶部の記憶内容を、データ更新元メモリブロックのデータ記憶部に書きこむとともに、新データ退避用メモリブロックの消去回数を該データ更新元メモリブロックのデータ管理情報記憶部に書き込んだ後、該新データ退避用メモリブロックの一括消去を行い、さらに、データ更新元メモリブロックのデータ管理情報記憶部に記憶されている、新データ退避用メモリブロックの消去回数を更新したものを、該新データ退避用メモリブロックのデータ管理情報記憶部に書きこむ。
上記構成によって、データ更新元メモリブロックでもデータ退避用メモリブロックでもないメモリブロックも、新データ退避用メモリブロックとして用いることができ、各メモリブロックの消去回数の平準化につながる。
また、本発明の不揮発性メモリへのデータ記憶方法におけるデータ管理情報記憶部は、メモリブロックのデータ記憶部の記憶内容を識別するためのデータフラグを記憶し、メモリ制御部は、データ更新処理において、更新用データをデータ退避用メモリブロックへ退避するとともに、データ更新元メモリブロックに記憶されているデータフラグもデータ退避用メモリブロックのデータ管理情報記憶部に退避し、データ退避用メモリブロックへ退避した更新用データを他のメモリブロックのデータ記憶部に書き込む際には、該データ退避用メモリブロックへ退避したデータフラグも、該他のメモリブロックのデータ管理情報記憶部に書き込む。
上記構成によって、データ記憶部の記憶内容が別のメモリブロックへ移動しても、外部装置からは、所望のデータを参照することができる。
不揮発性半導体記憶装置のシステム構成例を示す図。 従来技術によるメモリブロックの構成例を示す図。 本発明のメモリブロックの構成例を示す図。 データ更新処理を説明するフロー図。 図4における各ブロックの状態遷移を示す図。 図5に続く各ブロックの状態遷移を説明する図。 図5に続く各ブロックの状態遷移を説明する図。 図4における新データ退避用ブロックの決定方法の別例を説明する図。 本発明のデータ更新処理における各ブロックの状態遷移を示す図。 従来技術によるデータ記憶方法を説明する図。 従来技術のデータ更新処理における各ブロックの状態遷移を示す図。
以下、本発明の不揮発性メモリへのデータ記憶方法について、図面を用いて説明する。不揮発性メモリへのデータ記憶方法が用いられる不揮発性半導体記憶装置は、図1のECU1と同様であるため、ここでは、従来構成との相違点のみを説明するにとどめる。また、CPU2が、本発明のメモリ制御部に相当する。
従来構成とは異なり、フラッシュメモリ5のブロックA〜Dは、それぞれがデータ記憶用ブロックおよびデータ退避用ブロックを兼ねている。また、メモリブロックは、1以上のアドレスを有している。また、CPU2は、個々のメモリブロックに対し、メモリブロック単位での一括消去、予め定められたアドレス数の記憶領域単位またはビット単位での書き込みを行う。
図3に、ブロックAを例示して、本発明におけるフラッシュメモリ5のメモリブロック(すなわち、ブロック)の構成について説明する。ブロックAは、記憶領域の全てを上述のデータ記憶部100として使用するのではなく、その一部を、データ管理情報を記憶するデータ管理情報記憶部110として使用する。データ管理情報記憶部110は、データ管理情報として、自ブロックの消去回数(本発明の「消去回数」)111、自ブロックにデータを移行させたブロックである移行元ブロックの消去回数112、およびCPU2等が参照し、メモリブロックのデータ記憶部の記憶内容を識別するためのインデックスともいえるデータフラグ113を記憶している。
図4〜図7を用いて、本発明におけるデータ更新処理について説明する。なお、本処理は、ROM3に記憶されたプログラムに含まれ、CPU2が実行する。また、図4では処理の流れを示し、図5〜図7では、図4の各ステップに対応した、各ブロックの状態を示している。
また、図4あるいは図5の初期状態(ステップS10)では、ブロックA〜Cが記憶用ブロックとなっており、ブロックDが退避用ブロック(本発明のデータ退避用メモリブロック)となっている。また、各ブロックの自ブロックの消去回数(111、211、311、411)は、それぞれα、β、γ、δとなっている。また、各ブロックの移行元ブロックの消去回数(112、212、312、412)は、全て「データなし(すなわち、データが消去された状態)」となっている。また、各ブロックのデータフラグ(113、213、313、413)は、それぞれA、B、C、Dとなっており、各ブロックの実アドレスとデータ内容とが一致している。
まず、例えば、ブロックAのデータ記憶部100のデータ記憶量が一杯になったとき、ブロックAを移行元ブロックとする(S10)。次に、ブロックAのデータ管理情報記憶部110の記憶内容である、最新データ(本発明の更新用データ)(A)と自ブロックの消去回数(α)とデータフラグ(A)を、データ退避用ブロック(図5の例では、ブロックD)の対応する記憶部(400あるいは410)にコピーする(S11)。なお、ブロックAの自ブロックの消去回数(α)は、ブロックDの移行元ブロックの消去回数412に記憶される。次に、ブロックAのデータを一括消去する(S12)。このとき、データ記憶部100およびデータ管理情報記憶部110の記憶内容は全て消去される。
次に、ブロックDにコピーされた、移行元ブロック(すなわち、ブロックA)の消去回数(412)に1を加えたもの(α+1)を、ブロックAのデータ管理情報記憶部110の自ブロックの消去回数(111)にコピーする(S13)。
この時点で、ブロックAの最新データおよびデータ管理部の情報は、ブロックDに移行し、CPU2が最新データ(A)を参照しようとするとき、まず、各ブロックのデータフラグを参照し、データフラグが「A」であるブロックDから最新データ(A)を読み出すことができる。
次に、ブロックA〜Dのうちから、次回の退避用ブロックである新データ退避用ブロック(「新退避用ブロック」と略称することもある)を決定する(S14)。例えば、各ブロックのうち、自ブロックの消去回数(111、211、311、411)が最小のものを新退避用ブロックとする。
ここで、移行元ブロックであるブロックAの消去回数が最も小さいとき、S15:Yes)、ブロックAを新退避用ブロックに決定する(S16)。そして、各ブロックが現在の状態を保ったまま本処理を終了する。このとき、各ブロックの状態は、図5のステップS13のようになっている。
一方、移行元ブロックであるブロックAの消去回数が最も小さくないとき、つまり、移行元ブロック以外のブロックを新退避用ブロックに決定したとき(S15:No)、そのブロックが、新退避用ブロックに決定する前は記憶用ブロックであるか否かを判定する。以降、各ブロックの状態については、図6を用いて説明する。図6の例では、ブロックBあるいはブロックCを、新退避用ブロックに決定したときに相当するが、ここでは、ブロックBを新退避用ブロックに決定したとする。
新退避用ブロックに決定したブロックBは、決定前は記憶用ブロックであるため(S17:Yes)、ブロックBの最新データ(B)と自ブロックの消去回数(β)とデータフラグ(B)を、以前の移行元ブロックであるブロックAにコピーする(S18)。なお、ブロックBの自ブロックの消去回数(β)は、ブロックAの移行元ブロックの消去回数112に記憶される。ここで、CPU2が最新データ(B)を参照しようとするとき、データフラグが「B」であるブロックAから最新データ(B)を読み出す。
次に、新退避用ブロックであるブロックBのデータを一括消去する(S19)。このとき、データ記憶部200およびデータ管理部210の記憶内容は全て消去される。
次に、ブロックAの移行元ブロック(すなわち、ブロックB)の消去回数112の内容(β)に1を加えたものを、ブロックBの自ブロックの消去回数211にコピーする(S20)。そして、本処理を終了する。
以降、各ブロックの状態については、図7を用いて説明する。新退避用ブロックが、決定前は記憶用ブロックでないとき、つまり、図7のように、新退避用ブロックが旧退避用ブロックであるブロックDに決定したとき(S17:No)、ブロックDに記憶されている最新データ(A)と自ブロックの消去回数(δ)とデータフラグ(A)を、以前の移行元ブロックであるブロックAにコピーする(S21)。なお、ブロックDの自ブロックの消去回数(δ)は、ブロックAの移行元ブロックの消去回数112に記憶される。つまり、ブロックの名称と記憶内容が一致したことになる。
次に、ブロックDのデータを一括消去する(S22)。このとき、データ記憶部400およびデータ管理部410の記憶内容は全て消去される。
次に、ブロックAの移行元ブロックの消去回数112の内容(δ)に1を加えたものを、ブロックDの自ブロックの消去回数411にコピーする(S23)。そして、本処理を終了する。
図8に、図4のステップS14の別例を示す。各メモリブロックの自ブロックの消去回数(111、211、311、411)を比較した結果、移行元ブロック(すなわち、一括消去を行ったブロック)の自ブロックの消去回数が最小のとき(S141:Yes)、移行元ブロックを新退避用ブロックに決定する(S148)。
一方、移行元ブロックの自ブロックの消去回数が最小でないとき(S141:No)、他のブロックのうちで、自ブロックの消去回数が最小となるブロックが複数あるかを調べる。その結果、自ブロックの消去回数が最小となるブロックが複数ないとき(S142:No)、自ブロックの消去回数が最小となるブロックを、新退避用ブロックの候補である候補ブロックに決定する(S147)。
一方、自ブロックの消去回数が最小となるブロックが複数あるとき(S142:Yes)、例えば以下に例示する、予め定められた優先順位に基づいて、優先順位の高いものを候補ブロックに決定する(S143)。
・最新データ量が少ないブロックほど優先順位を高くする。データ移動量が少ないため、処理時間を短縮できる。本構成は、移行元メモリブロックの消去回数が最小でないとき、かつ、該消去回数が最小となるメモリブロックが複数あるときには、データ記憶部の記憶量がより少ないメモリブロックを新データ退避用メモリブロックに決定するものである。
・フラッシュメモリ5内で、移行元ブロックにより近く配置されているブロックほど優先順位を高くする。データ移動距離が短いため、処理時間を短縮できる。
・ブロック名とデータフラグ(113、213、313、413)の内容とが一致させることができるブロックほど優先順位を高くする。すなわち、そのブロックに書き込まれるデータフラグがブロック名と同じにすることができる。あるいは、そのブロックからデータを移動するとき、移動先のブロック名と移動するデータのデータフラグを同じにすることができる。
次に、決定した候補ブロックの自ブロックの消去回数と、移行元ブロックの自ブロックの消去回数との差を計算し(S144)、その差が規定値(例えば、2のような固定値、または、例えば、1パーセントのような、メモリブロックの書き込み可能回数の所定割合に相当する値)を下回るか否かを調べる。
そして、規定値を下回るとき(S145:Yes)、移行元ブロックを新退避用ブロックに決定する(S148)。一方、規定値を上回るとき(S145:No)、候補ブロックを新退避用ブロックに決定する(S146)。
上記の構成は、現在の移行元メモリブロックの消去回数が最小でないとき、該消去回数が最小となるメモリブロックとの消去回数との差が、予め定められた値を下回るときには、移行元メモリブロックを新データ退避用メモリブロックに決定し、予め定められた値を上回るときには、該消去回数が最小となるメモリブロックを新データ退避用メモリブロックに決定するものである。例えば、両者の消去回数の差が数回程度であれば、以降のデータ更新処理によって、その差が縮まってくるので、敢えてここで消去回数を増やす必要はなく、データ更新処理の処理時間短縮と、ブロックの消去回数の節約につながる効果が期待できる。
図9に、図4の処理を所定回数(例えば500回)実行したときの、各ブロックの状態遷移を示す。1回目の状態では、全てのブロックの消去回数は0回である。この状態で、ブロックBのデータ記憶量が一杯になったとき、このときの退避用ブロックであるブロックDに、ブロックBの最新データ(データフラグを含む)をコピーする。そして、ブロックBのデータを一括消去する。消去回数は、ブロックB以外は0回であるが、ブロックBの消去回数が1であり、ブロックDの消去回数が最小、あるいはブロックBとブロックDとの消去回数の差が規定値を下回るので、ブロックDにブロックBのデータをコピーしたままとし、ブロックBを新退避用ブロックとする(2回目の状態)。
2回目の状態で、ブロックDのデータ記憶量が一杯になったとき、退避用ブロックであるブロックBにブロックDの最新データ(データフラグを含む)を移行する。そして、ブロックDのデータを一括消去する。このとき、消去回数の最も少ないブロックAを新退避用ブロックとする(3回目の状態)。そして、ブロックAの最新データ(データフラグを含む)をブロックDにコピーし、ブロックAのデータを一括消去する。ブロックAが新退避用ブロックとなった後に、ブロックB〜ブロックDのそれぞれに、新たにデータ(最新データ)が書き込まれ、ブロックCのデータ記憶量が一杯になっている。
上記処理を繰り返し、501回目の処理を行う(ブロックAのデータをブロックDに退避して、ブロックAを新退避用ブロックとする)状態では、図11とは異なり、特定のブロックの消去回数が突出して大きくなることを回避できる。
フラッシュメモリ以外にも、1以上のアドレスを有するメモリブロックを複数含み、個々のメモリブロックに対し、メモリブロック単位での一括消去、予め定められたアドレス数の記憶領域単位またはビット単位での書き込みを行う記憶媒体に適用可能である。
以上、本発明の実施の形態を説明したが、これらはあくまで例示にすぎず、本発明はこれらに限定されるものではなく、特許請求の範囲の趣旨を逸脱しない限りにおいて、当業者の知識に基づく種々の変更が可能である。
1 ECU(不揮発性半導体記憶装置)
2 CPU(メモリ制御部)
5 フラッシュメモリ
A〜D メモリブロック(ブロック、データ記憶用ブロック、データ退避用ブロック)
100 データ記憶部
110 データ管理情報記憶部
111 自ブロックの消去回数
112 移行元ブロックの消去回数
113 データフラグ

Claims (7)

  1. 不揮発性メモリを備えた不揮発性半導体記憶装置における不揮発性メモリへのデータ記憶方法であって、
    前記不揮発性メモリは、1以上のアドレスを有するメモリブロックを複数含み、
    前記不揮発性メモリの個々の前記メモリブロックに対し、メモリブロック単位での一括消去、予め定められたアドレス数の記憶領域単位またはビット単位での書き込みを行うメモリ制御部を備え、
    前記複数のメモリブロックは、それぞれ、データを記憶するデータ記憶部と、自身のメモリブロックの一括消去を実行した消去回数を含むデータ管理情報を記憶するデータ管理情報記憶部と、を含んで構成され、
    前記複数のメモリブロックうちの一つが、他のメモリブロックに記憶されているデータを退避するためのデータ退避用メモリブロックに予め決定されており、
    前記メモリ制御部は、前記データ記憶部に記憶されているデータのうち、記憶しておくべき更新用データのみを残し、前記更新用データ以外のデータを消去するデータ更新処理を実行し、
    前記データ更新処理において、データ更新の対象となるメモリブロックであるデータ更新元メモリブロックの前記更新用データを、前記データ退避用メモリブロックへ退避した後、全てのメモリブロックのうちのいずれか一つを、それぞれのメモリブロックの前記消去回数に基づいて、新データ退避用メモリブロックに決定することを特徴とする不揮発性メモリへのデータ記憶方法。
  2. 前記メモリ制御部は、前記データ更新処理において、
    前記データ更新元メモリブロックの前記更新用データを、前記データ退避用メモリブロックの前記データ記憶部へ退避するとともに、該データ更新元メモリブロックの前記消去回数を、該データ退避用メモリブロックのデータ管理情報記憶部に退避した後、該データ更新元メモリブロックの一括消去を行うとともに、
    前記データ退避用メモリブロックに退避した、前記データ更新元メモリブロックの前記消去回数を更新したものを、前記データ更新元メモリブロックのデータ管理情報記憶部に書き込み、
    その後、それぞれのメモリブロックの前記消去回数に基づいて、前記新データ退避用メモリブロックを決定する請求項1に記載の不揮発性メモリへのデータ記憶方法。
  3. 前記メモリ制御部は、前記データ更新処理において、前記消去回数の最も少ないメモリブロックを、前記新データ退避用メモリブロックに決定する請求項1または請求項2に記載の不揮発性メモリへのデータ記憶方法。
  4. 前記メモリ制御部は、前記データ更新処理において、前記データ更新元メモリブロックを前記新データ退避用メモリブロックに決定する請求項1ないし請求項3のいずれか1項に記載の不揮発性メモリへのデータ記憶方法。
  5. 前記メモリ制御部は、前記データ更新処理において、前記データ退避用メモリブロックを前記新データ退避用メモリブロックに決定し、
    そのときには、該データ退避用メモリブロックのデータ記憶部の記憶内容を、前記データ更新元メモリブロックのデータ記憶部に書き込むとともに、該データ退避用メモリブロックの前記消去回数を該データ更新元メモリブロックのデータ管理情報記憶部に書き込んだ後、該データ退避用メモリブロックの一括消去を行い、
    さらに、前記データ更新元メモリブロックのデータ管理情報記憶部に記憶されている、該データ退避用メモリブロックの前記消去回数を更新したものを、該データ退避用メモリブロックのデータ管理情報記憶部に書きこむ請求項1ないし請求項3のいずれか1項に記載の不揮発性メモリへのデータ記憶方法。
  6. 前記メモリ制御部は、前記データ更新処理において、前記データ更新元メモリブロックおよび前記データ退避用メモリブロックのいずれでもないメモリブロックを前記新データ退避用メモリブロックに決定し、
    そのときには、前記新データ退避用メモリブロックのデータ記憶部の記憶内容を、前記データ更新元メモリブロックのデータ記憶部に書きこむとともに、前記新データ退避用メモリブロックの前記消去回数を該データ更新元メモリブロックのデータ管理情報記憶部に書き込んだ後、該新データ退避用メモリブロックの一括消去を行い、
    さらに、前記データ更新元メモリブロックのデータ管理情報記憶部に記憶されている、前記新データ退避用メモリブロックの前記消去回数を更新したものを、該新データ退避用メモリブロックのデータ管理情報記憶部に書きこむ請求項1ないし請求項3のいずれか1項に記載の不揮発性メモリへのデータ記憶方法。
  7. 前記データ管理情報記憶部は、前記メモリブロックのデータ記憶部の記憶内容を識別するためのデータフラグを記憶し、
    前記メモリ制御部は、前記データ更新処理において、前記更新用データを前記データ退避用メモリブロックへ退避するとともに、前記データ更新元メモリブロックに記憶されているデータフラグも前記データ退避用メモリブロックの前記データ管理情報記憶部に退避し、
    前記データ退避用メモリブロックへ退避した更新用データを他のメモリブロックのデータ記憶部に書き込む際には、該データ退避用メモリブロックへ退避したデータフラグも、該他のメモリブロックのデータ管理情報記憶部に書き込む請求項1ないし請求項6のいずれか1項に記載の不揮発性メモリへのデータ記憶方法。
JP2012045283A 2012-03-01 2012-03-01 不揮発性メモリへのデータ記憶方法 Active JP5787095B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012045283A JP5787095B2 (ja) 2012-03-01 2012-03-01 不揮発性メモリへのデータ記憶方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012045283A JP5787095B2 (ja) 2012-03-01 2012-03-01 不揮発性メモリへのデータ記憶方法

Publications (2)

Publication Number Publication Date
JP2013182378A true JP2013182378A (ja) 2013-09-12
JP5787095B2 JP5787095B2 (ja) 2015-09-30

Family

ID=49272987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012045283A Active JP5787095B2 (ja) 2012-03-01 2012-03-01 不揮発性メモリへのデータ記憶方法

Country Status (1)

Country Link
JP (1) JP5787095B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116700602A (zh) * 2022-12-08 2023-09-05 荣耀终端有限公司 一种查询扩展内存寿命的方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0544252A2 (en) * 1991-11-28 1993-06-02 Fujitsu Limited Data management system for programming-limited type semiconductor memory and IC memory card having the data management system
JPH08273390A (ja) * 1995-03-28 1996-10-18 Kokusai Electric Co Ltd フラッシュメモリの消去回数の管理方法
US5963474A (en) * 1998-05-11 1999-10-05 Fujitsu Limited Secondary storage device using nonvolatile semiconductor memory
JP2001312891A (ja) * 2000-04-27 2001-11-09 Hitachi Ltd 半導体メモリ装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0544252A2 (en) * 1991-11-28 1993-06-02 Fujitsu Limited Data management system for programming-limited type semiconductor memory and IC memory card having the data management system
JPH05151097A (ja) * 1991-11-28 1993-06-18 Fujitsu Ltd 書換回数制限型メモリのデータ管理方式
US5530827A (en) * 1991-11-28 1996-06-25 Fujitsu Limited Data management system for programming-limited type semiconductor memory and IC memory card employing data save/erase process with flag assignment
JPH08273390A (ja) * 1995-03-28 1996-10-18 Kokusai Electric Co Ltd フラッシュメモリの消去回数の管理方法
US5963474A (en) * 1998-05-11 1999-10-05 Fujitsu Limited Secondary storage device using nonvolatile semiconductor memory
JPH11328043A (ja) * 1998-05-11 1999-11-30 Fujitsu Ltd 不揮発性半導体メモリを使用した2次記憶装置
JP2001312891A (ja) * 2000-04-27 2001-11-09 Hitachi Ltd 半導体メモリ装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116700602A (zh) * 2022-12-08 2023-09-05 荣耀终端有限公司 一种查询扩展内存寿命的方法及设备
CN116700602B (zh) * 2022-12-08 2024-04-12 荣耀终端有限公司 一种查询扩展内存寿命的方法及设备

Also Published As

Publication number Publication date
JP5787095B2 (ja) 2015-09-30

Similar Documents

Publication Publication Date Title
JP4844639B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US9996462B1 (en) Data storage device and data maintenance method thereof
US8055859B2 (en) Apparatus and method for providing atomicity with respect to request of write operation for successive sector
JP2011129192A (ja) 半導体記憶装置
JP4666081B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
WO2014185037A1 (ja) データ記憶システムおよびその制御方法
US10248526B2 (en) Data storage device and data maintenance method thereof
US9948809B2 (en) Image forming apparatus, memory management method for image forming apparatus, and program, using discretely arranged blocks in prioritizing information
JP5695112B2 (ja) データ記憶装置、データの記憶方法および車載用制御装置
JP5858081B2 (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
JP5787095B2 (ja) 不揮発性メモリへのデータ記憶方法
JP4910402B2 (ja) 不揮発性メモリの書き換え装置及び書き換え方法
JP5521437B2 (ja) 携帯端末装置、ソフトウェア更新方法及びプログラム
JP2009223435A (ja) データ記憶方法及び装置、並びにプログラム
JP7153435B2 (ja) 不揮発性メモリのデータ書換方法及び半導体装置
JP4952742B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4818453B1 (ja) 電子機器およびデータ読み出し方法
JP2006164354A (ja) カウンタ装置およびカウント方法
JP2013109404A (ja) 情報処理装置
JP2017097404A (ja) マイクロコンピュータ
JP2009211152A (ja) 情報処理装置、メモリシステムおよびその制御方法
WO2015194100A1 (ja) 記憶装置、フラッシュメモリ制御装置、及びプログラム
JP2012238277A (ja) フラッシュメモリ装置
JP2008171246A (ja) フラッシュメモリドライブ装置、その制御方法及びそのプログラム
JP2005071124A (ja) 不揮発メモリシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141010

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150611

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: 20150701

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150714

R151 Written notification of patent or utility model registration

Ref document number: 5787095

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250