JP4678966B2 - 停電時及び復電時のデータ処理方法 - Google Patents
停電時及び復電時のデータ処理方法 Download PDFInfo
- Publication number
- JP4678966B2 JP4678966B2 JP2001061723A JP2001061723A JP4678966B2 JP 4678966 B2 JP4678966 B2 JP 4678966B2 JP 2001061723 A JP2001061723 A JP 2001061723A JP 2001061723 A JP2001061723 A JP 2001061723A JP 4678966 B2 JP4678966 B2 JP 4678966B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- memory
- flash memory
- stored
- 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
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
この発明は外部から入力されバッファに記憶されたデータを、CPUの指令に基づいてフラッシュメモリに読み書きする停電時及び復電時のデータ処理方法に関するものである。
【0002】
【従来の技術】
図9は、例えば特開平8−17192号公報に示された従来のフラッシュメモリのメモリブロック図、図10は図9のフラッシュメモリのデータが書込まれているアドレスにデータを上書きする方法についての説明図である。
【0003】
図10(a)は、図9の1つのメモリブロックを取り出して説明しており、最初の停電時に第1のデータ(1stとして図示部分)をブロックの頭から書込み、ポインタをビット(単位)でブロックの尾部に置き、1ビットづつ落として行くことで、データ位置を表示するものである。
【0004】
図10(b)は、図10(a)で書込んだデータに続いて、次回の停電において第2のデータ(2ndとして図示部分)が第1のデータの次に書込まれ、そのポインタは第1のデータポインタの直ぐ左隣の位置に”1”から”0”に落とされて、そのアドレスが書込まれる。
【0005】
同様に第3回の停電事故時についての図10(c)は、第2のデータの次に第3のデータ(3rdとして図示部分)が書込まれ、そのポインタは第2のデータポインタのすぐ左隣の位置に”1”から”0”に落とされて格納される。
【0006】
【発明が解決しようとする課題】
従来のフラッシュメモリの記憶処理方法は以上のように形成され、メモリブロック(セクタ)内に複数のデータとそのデータのアドレスを記憶させておいて、該アドレスに基づいてデータにアクセスするようにしているのでメモリブロック(セクタ)内のデータ容量が多くなると共に、データへのアクセス時間が長くなるという問題があった。
【0007】
この発明は上記のような問題点を解決するためになされたもので、外部から入力されバッファに記憶されたデータを、CPUの指令に基づいてフラッシュメモリに、不揮発性メモリを使って読み書きする停電時及び復電時のデータ処理方法とし、フラッシュメモリのメモリブロック(セクタ)のメモリ容量を大きくすることなく、データに短時間でアクセスすると共に、電源遮断時や停電時後の復旧におけるCPUの再立上げ時においては、フラッシュメモリに最後に記憶されたデータのアドレスに短時間でアクセスしてフラッシュメモリのデータをバッファに記憶することを目的とする。
【0008】
また、この発明ではフラッシュメモリとは別に不揮発メモリを使用するが、この不揮発メモリの許容書き込み回数を超えないようにして、長寿命化を図る必要がある。不揮発メモリの長寿命化を図って安定したフラッシュメモリの記憶処理を可能とすることが第2の目的である。
【0009】
【課題を解決するための手段】
この発明に係わる停電時及び復電時のデータ処理方法は、外部から入力されバッファに記憶されたデータを、CPUの指令に基づいてフラッシュメモリに、不揮発性メモリを使って読み書きする停電時及び復電時のデータ処理方法であって、停電時に、上記バッファに記憶されたデータを上記フラッシュメモリのセクタ内にバイト毎に各データを書き込むステップと、上記フラッシュメモリに書き込まれた各データの最終アドレスを上記不揮発性メモリに書込むステップとを有し、復電時に、上記不揮発性メモリが記憶した読み出し対象データの最終アドレスを検出するステップと、検出した最終アドレスに基づいて上記フラッシュメモリの対応するデータを読み出し上記バッファに記憶させるステップとを有するものである。
【0010】
また、不揮発性メモリに各データの最終アドレスを書き込むステップは、上記不揮発性メモリのメモリ領域に複数個のアドレスを、任意のデータの最終アドレスを書き込むアドレスとして割り当て、上記複数個のアドレスをリング状にして順次上記任意のデータの最終アドレスを書き込み、連続的書き込みを可能としたステップとし、上記不揮発性メモリが記憶した読み出し対象データの最終アドレスを検出するステップは、リング状にした複数アドレスの内、一番最後に書き込んだアドレスに記憶された最終アドレスを検出するステップとしたものである。
【0011】
【発明の実施の形態】
実施の形態1.
図1はこの発明の実施の形態1に係るフラッシュメモリ記憶方法を説明する回路ブロック図である。
図1において、1はCPU(中央処理演算装置)で、外部から入力されたデータ2を内部のバッファ3に記憶し、アドレスバス5とデータバス6で接続されたフラッシュメモリ(Fush.Electrically.Erasable.Programable.Read.Only.Memory)4をコントロール信号7で制御する。
【0012】
8は不揮発性メモリ(Electrically.Erasable.Programable.Read.Only.Memory)で、シリアル信号9でCPUとのデータ送受信を行い、コントロール信号10で制御される。
11は停電時のデータ処理を行うためのコンデンサである。
【0013】
図2はこの発明の実施の形態1に係るデータの書込み動作を説明するフローチャートで、図3はフラッシュメモリと不揮発性メモリのデータ書き込み時のメモリ領域を示す図である。
以下、図1乃至図3を用いてデータの書込み動作を説明する。
(1)CPU1は外部データ2(nバイトデータXおよびmバイトデータY)
を読取り、バッファ3へ記憶する。(ステップ201)
【0014】
(2)CPU1はフラッシュメモリ4をコントロール信号7で制御しながら、アドレスバス5により書込みアドレス(A−n)番地を指定し、データバス6によりデータXを書込みA番地にデータXを記憶するまでn回繰返す。(ステップ202、ステップ203)
【0015】
(3)不揮発性メモリ8のあらかじめ決められたa番地にフラッシュメモリ4の最終アドレスAを記憶する。(ステップ204)
(4)バッファ3で記憶しているmバイトデータYを同様にA+1番地に書込む。A+m+1番地にデータYを記憶するまでm回繰返す。(ステップ205、ステップ206)
(5)不揮発性メモリ4のあらかじめ決められたb番地にフラッシュメモリ4の最終アドレスA+m+1を記憶する。(ステップ207)
図3に示すようにデータ及び各データの最終アドレスが記憶される。
なお、これらのデータは通常、所定のセクタ内でバイト毎に書き込まれる。
【0016】
図4はこの発明の実施の形態1に係るデータの読出し動作を説明するフローチャートで、図5はフラッシュメモリと不揮発性メモリのデータ書き込み時のメモリ領域を示す図である。
図1及び図4・図5を用いて、データの読み出し動作を説明する。
(11)CPU1は不揮発性メモリ4のa番地よりフラッシュメモリ4の最終アドレスAを読出す。(ステップ301)
【0017】
(12)CPU1はフラッシュメモリ4をコントロール信号7で制御しながら、アドレスバス5により読出しアドレス(A−n)番地を指定し、データバス6によりデータXを読出す。A番地のデータXを読出すまでn回繰返す。(ステップ302、ステップ303)
なお、CPU1はアドレス(A−n)からアドレスA番地まで読み出すことを認識してデータXの読み出し動作を行う。
【0018】
(13)バッファ3に読出したnバイトデータXを記憶する。(ステップ304)
(14)同様にCPU1は不揮発性メモリ4のb番地よりフラッシュメモリ4の最終アドレスA+m+1を読出す。(ステップ305)
【0019】
(15)CPU1はフラッシュメモリ4をコントロール信号7で制御しながら、アドレスバス5により読出しアドレス(A+m+1)番地を指定し、データバス6によりデータYを読出す。A+1番地のデータYを読出すまで、m−1回繰返す。(ステップ306、307)
(16)バッファ3に読出したmバイトデータYを記憶する。(ステップ308)
図5に示すようにデータの最終アドレス及びそのデータが読み出される。
【0020】
このように実施の形態1によれば、メモリブロック(セクタ)のメモリ容量を大きくすることなく、データに短時間でアクセスすることができる。
特に停電時においては、コンデンサ11の蓄積電力によりデータを記憶させておいて、復電時に不揮発性メモリ8に書込んだフラッシュメモリ4の最終アドレスから、フラッシュメモリ4に記憶させたデータを読出すことができるので、フラッシュメモリはデータのみを記憶するためメモリ容量を大きくする必要がなく、データのアクセスを短時間で行うことができる。
【0021】
実施の形態2.
実施の形態1で不揮発メモリに各データの最終アドレスを記憶するようにしたが、不揮発メモリは寿命があり、書き込み回数が所定の制限回数を超えると記憶できなくなる。例えば、同じメモリ領域に書き込む制限回数は10万回と言われる。この発明の実施の形態2は不揮発性メモリが許容する書込み回数を超過して記憶不能になることを防止するものである。
【0022】
図6はこの発明の実施の形態2に係る不揮発性メモリのメモリ領域を説明する図で、図7はこの発明の実施の形態2に係る不揮発性メモリからのデータの読出し動作を説明するフローチャートである。また、図8は実施の形態1の不揮発メモリのメモリ領域との関係を示す図である。
以下、この発明の実施の形態2に係わる不揮発性メモリからのデータの読み出し動作について説明する。
【0023】
図6において、1つのデータの最終アドレスを記憶する不揮発メモリ8のメモリ領域として、アドレスc番地からc+2番地までの複数のアドレスを使用し、これらの複数アドレスをリング状にして最終アドレスを書き込む毎に順次アドレスを進める。そして図6(a)から(b)のようにデータの更新時、アドレスc+1番地にデータを書込み完了すると、前アドレスc番地は消去(オール1)して、連続的に書き込み可能にする。このようにすると同じメモリ領域を使用する回数が少なくなり不揮発メモリの寿命を長くすることができる。
【0024】
また、停電時にデータをフラッシュメモリ4にデータを記憶し、そのデータの最終アドレスを不揮発メモリ8に記憶した場合、次に復電した時のデータの読み出しを、図7のフローチャートに示す。
【0025】
(101)不揮発性メモリのc番地のデータを読出し(ステップ401)、オール1であることを確認する。(ステップ402)
(102)オール1以外であれば、フラッシュメモリの最終アドレスとし(ステップ407)、上述したフラッシュメモリ4からの読出し処理(図4のステップ302、306)を行う。
(103)オール1であれば、c+1番地を読出し(ステップ403)、オール1であることを確認する。(ステップ404)
【0026】
(104)オール1以外であれば、フラッシュメモリの最終アドレスとし(ステップ407)、上述したフラッシュメモリ4からの読出し処理(図4のステップ302、306)を行う。
(105)以降同様にc+2番地を読出し1以外のデータを確認する。(ステップ405、406)
【0027】
以上のように、不揮発性メモリ8に記憶させるデータの最終アドレスをリング状に連続的に書込むようにしたので、不揮発性メモリ8の同一場所への書込み回数を低減することができ、メモリの長寿命化を図ることができる。
【0028】
なお、図8は実施の形態1で説明したデータX、データYの最終アドレスが不揮発性メモリ8のアドレスa,アドレスbに記憶されているが、これと図4に示すアドレスcとの関係を示す一例である。図8では、データX,データYの最終アドレスが不揮発性メモリ8のアドレスa,アドレスbに書き込まれ、次のデータ(例えば、データZ)を書き込んだとき、その最終アドレスを不揮発性メモリ8のアドレスcに書き込み、次にアドレスcに書き込む場合は、アドレスc+1に書き込む。
【0029】
また、図8において、不揮発性メモリ8のアドレスaもアドレスa+1,a+2とメモリ領域を割り当て、アドレスbもアドレスb+1,b+2とメモリ領域の割り当て、それぞれリング状にして使用してもよい。
【0030】
【発明の効果】
以上のようにこの発明は、外部から入力されバッファに記憶されたデータを、CPUの指令に基づいてフラッシュメモリに、不揮発性メモリを使って読み書きする停電時及び復電時のデータ処理方法であって、停電時に、上記バッファに記憶されたデータを上記フラッシュメモリのセクタ内にバイト毎に各データを書き込むステップと、上記フラッシュメモリに書き込まれた各データの最終アドレスを上記不揮発性メモリに書込むステップとを有し、復電時に、上記不揮発性メモリが記憶した読み出し対象データの最終アドレスを検出するステップと、検出した最終アドレスに基づいて上記フラッシュメモリの対応するデータを読み出し上記バッファに記憶させるステップとを有する停電時及び復電時のデータ処理方法としたので、フラッシュメモリのメモリ容量を大きくすることなく、フラッシュメモリのデータに短時間でアクセスしてフラッシュメモリのデータをバッファに記憶することができる。
【0031】
また、不揮発性メモリの長寿命化を図ることができる。
【図面の簡単な説明】
【図1】 この発明の実施の形態1に係るフラッシュメモリ記憶方法を説明する回路ブロック図である。
【図2】 この発明の実施の形態1に係るデータの書込み動作を説明するフローチャートである。
【図3】 この発明の実施の形態1に係るフラッシュメモリと不揮発性メモリのデータ書き込み時のメモリ領域を説明する図である。
【図4】 この発明の実施の形態1に係るデータの読出し動作を説明するフローチャートである。
【図5】 この発明の実施の形態1に係るフラッシュメモリと不揮発性メモリのデータ読み込み時のメモリ領域を説明する図である。
【図6】 この発明の実施の形態2に係る不揮発性メモリのメモリ領域を説明する図である。
【図7】 この発明の実施の形態2に係る不揮発性メモリのメモリ領域を説明する図である。
説明するフローチャートである。
【図8】 この発明の実施の形態2に係る不揮発性メモリのメモリ領域を説明する図である。
【図9】 従来のフラッシュメモリのメモリブロック図である。
【図10】 図9のフラッシュメモリのデータが書込まれているアドレスにデータを上書き方法について説明する図である。
【符号の説明】
1 CPU、2 外部データ入力、3 バッファ、4 フラッシュメモリ、
5 アドレスバス、6 データバス、7 コントロール信号、
8 不揮発性メモリ、9 シリアルデータ、10 コントロール信号、
11 コンデンサ。
Claims (2)
- 外部から入力されバッファに記憶されたデータを、CPUの指令に基づいてフラッシュメモリに、不揮発性メモリを使って読み書きする停電時及び復電時のデータ処理方法であって、
停電時に、上記バッファに記憶されたデータを上記フラッシュメモリのセクタ内にバイト毎に各データを書き込むステップと、上記フラッシュメモリに書き込まれた各データの最終アドレスを上記不揮発性メモリに書込むステップとを有し、
復電時に、上記不揮発性メモリが記憶した読み出し対象データの最終アドレスを検出するステップと、検出した最終アドレスに基づいて上記フラッシュメモリの対応するデータを読み出し上記バッファに記憶させるステップとを有することを特徴とする停電時及び復電時のデータ処理方法。 - 上記不揮発性メモリに各データの最終アドレスを書き込むステップは、上記不揮発性メモリのメモリ領域に複数個のアドレスを、任意のデータの最終アドレスを書き込むアドレスとして割り当て、上記複数個のアドレスをリング状にして順次上記任意のデータの最終アドレスを書き込み、連続的書き込みを可能としたステップとし、
上記不揮発性メモリが記憶した読み出し対象データの最終アドレスを検出するステップは、リング状にした複数アドレスの内、一番最後に書き込んだアドレスに記憶された最終アドレスを検出するステップとしたことを特徴とする請求項1記載の停電時及び復電時のデータ処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001061723A JP4678966B2 (ja) | 2001-03-06 | 2001-03-06 | 停電時及び復電時のデータ処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001061723A JP4678966B2 (ja) | 2001-03-06 | 2001-03-06 | 停電時及び復電時のデータ処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002259204A JP2002259204A (ja) | 2002-09-13 |
JP4678966B2 true JP4678966B2 (ja) | 2011-04-27 |
Family
ID=18920965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001061723A Expired - Fee Related JP4678966B2 (ja) | 2001-03-06 | 2001-03-06 | 停電時及び復電時のデータ処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4678966B2 (ja) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0421999A (ja) * | 1990-05-15 | 1992-01-24 | Mitsubishi Electric Corp | 分割型メモリ書き込み方式 |
JPH05290567A (ja) * | 1992-04-03 | 1993-11-05 | Toshiba Corp | メモリカード装置 |
JPH0798992A (ja) * | 1993-09-30 | 1995-04-11 | Toshiba Corp | データ処理装置 |
JPH07239165A (ja) * | 1994-02-28 | 1995-09-12 | Toshiba Corp | 自動製氷機付き冷蔵庫の動作記憶装置 |
JPH0817192A (ja) * | 1994-06-27 | 1996-01-19 | Yaskawa Electric Corp | フラッシュメモリによる位置記憶方法 |
JPH08287697A (ja) * | 1995-04-18 | 1996-11-01 | Nippondenso Co Ltd | メモリ装置 |
JPH11249968A (ja) * | 1998-03-05 | 1999-09-17 | Sanyo Electric Co Ltd | ファイル記録方法及びファイルシステム |
-
2001
- 2001-03-06 JP JP2001061723A patent/JP4678966B2/ja not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0421999A (ja) * | 1990-05-15 | 1992-01-24 | Mitsubishi Electric Corp | 分割型メモリ書き込み方式 |
JPH05290567A (ja) * | 1992-04-03 | 1993-11-05 | Toshiba Corp | メモリカード装置 |
JPH0798992A (ja) * | 1993-09-30 | 1995-04-11 | Toshiba Corp | データ処理装置 |
JPH07239165A (ja) * | 1994-02-28 | 1995-09-12 | Toshiba Corp | 自動製氷機付き冷蔵庫の動作記憶装置 |
JPH0817192A (ja) * | 1994-06-27 | 1996-01-19 | Yaskawa Electric Corp | フラッシュメモリによる位置記憶方法 |
JPH08287697A (ja) * | 1995-04-18 | 1996-11-01 | Nippondenso Co Ltd | メモリ装置 |
JPH11249968A (ja) * | 1998-03-05 | 1999-09-17 | Sanyo Electric Co Ltd | ファイル記録方法及びファイルシステム |
Also Published As
Publication number | Publication date |
---|---|
JP2002259204A (ja) | 2002-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070214309A1 (en) | Nonvolatile storage device and data writing method thereof | |
CA2420986C (en) | Non-volatile memory control method | |
US9058254B2 (en) | Memory device | |
US6154808A (en) | Method and apparatus for controlling data erase operations of a non-volatile memory device | |
EP2003569A2 (en) | Flash memory controller | |
EP1739565A1 (en) | Storage system using flash memory | |
US20080195800A1 (en) | Flash Memory Device and Flash Memory System Including a Buffer Memory | |
US20100318760A1 (en) | Memory controller, nonvolatile storage device, and nonvolatile storage system | |
JPH1185609A (ja) | 半導体記憶装置及びそのデータ管理方法 | |
EP0969378A2 (en) | Data storage, data processing system and method | |
US20090210612A1 (en) | Memory controller, nonvolatile memory device, and nonvolatile memory system | |
EP3057100B1 (en) | Memory device and operating method of same | |
US20070047308A1 (en) | Memory controller, flash memory system and control method for flash memory | |
JP4308780B2 (ja) | 半導体メモリ装置、メモリコントローラ及びデータ記録方法 | |
JP4678966B2 (ja) | 停電時及び復電時のデータ処理方法 | |
JP2007233838A (ja) | メモリシステムの制御方法 | |
JP2007179479A (ja) | メモリコントローラおよびフラッシュメモリシステム | |
JP4655034B2 (ja) | メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法 | |
CN103389943A (zh) | 控制装置、存储装置及存储控制方法 | |
JP4334331B2 (ja) | フラッシュメモリのアクセス制御方法 | |
JP3670151B2 (ja) | フラッシュメモリのアクセス方法、フラッシュメモリへアクセスするドライバを備えるシステム、および、フラッシュメモリ | |
JP4697146B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4661748B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4710274B2 (ja) | メモリ装置、メモリ装置の制御方法およびデータ処理システム | |
JP4766781B2 (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070919 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100914 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100928 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101027 |
|
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: 20110125 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110201 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4678966 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140210 Year of fee payment: 3 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |