Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3497066B2 - フラッシュメモリにおけるデータ書き込み/読み出し方法およびフラッシュメモリを用いた記憶装置 - Google Patents
[go: Go Back, main page]

JP3497066B2 - フラッシュメモリにおけるデータ書き込み/読み出し方法およびフラッシュメモリを用いた記憶装置 - Google Patents

フラッシュメモリにおけるデータ書き込み/読み出し方法およびフラッシュメモリを用いた記憶装置

Info

Publication number
JP3497066B2
JP3497066B2 JP26993397A JP26993397A JP3497066B2 JP 3497066 B2 JP3497066 B2 JP 3497066B2 JP 26993397 A JP26993397 A JP 26993397A JP 26993397 A JP26993397 A JP 26993397A JP 3497066 B2 JP3497066 B2 JP 3497066B2
Authority
JP
Japan
Prior art keywords
block
data
magic
written
flash memory
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
Application number
JP26993397A
Other languages
English (en)
Other versions
JPH10177527A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP26993397A priority Critical patent/JP3497066B2/ja
Publication of JPH10177527A publication Critical patent/JPH10177527A/ja
Application granted granted Critical
Publication of JP3497066B2 publication Critical patent/JP3497066B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Power Sources (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】パソコン、ワークステーショ
ン、汎用計算機、スーパーコンピュータ、携帯端末、携
帯電話等を含むコンピュータ、通信機器の内部で、電源
を切っても記憶内容が消えることがないフラッシュメモ
リが多用されるようになってきている。本発明は上記し
たフラッシュメモリにおけるデータの書き込み/読み出
し方法およびフラッシュメモリを用いた記憶装置に関
し、特に本発明は、書き込み途中で突然の電源断が発生
しても記憶内容が失われることがないフラッシュメモリ
におけるデータの書き込み/読み出し方法およびフラッ
シュメモリを用いた記憶装置に関するものである。
【0002】
【従来の技術】フラッシュメモリは、それ自身、電源を
切っても記憶が消えない性質を持つメモリデバイスであ
り、従来から携帯電話などの小型電子機器の内部設定値
の記憶や、固定ディスク装置に置き換えて使用できる半
導体ディスク等に応用されている。上記した従来のフラ
ッシュメモリの応用においては、フラッシュメモリへの
データの書き込み途中における突然の電源断の発生につ
いては考慮されておらず、最悪の場合にはそれまでにフ
ラッシュメモリに書き込んだ設定値が失われて装置が起
動しないなどの影響を及ぼす可能性があった。
【0003】
【発明が解決しようとする課題】フラッシュメモリへの
データの書き込みは、通常、チップ全体または全体をい
くつかの部分に分割したブロック単位に消去したのち、
1バイト毎のデータを書き込んでいく。このため、フラ
ッシュメモリのデータを更新する際に、消去を行った直
後またはデータを書き込んでいる最中に電源断が発生す
ると、更新前のデータは消去されたが新しいデータが書
き込まれずに装置が停止することとなる。したがって
次に装置を起動してデータを読もうとした時に一貫性が
失われて情報が失われるしまう。本発明は上記した従来
技術の問題点を考慮してなされたものであって、その目
的とするところは、データ更新中に電源断になっても、
情報が失われたり不正な値になってしまうことがないフ
ラッシュメモリにおけるデータの書き込み/読み出し方
法およびフラッシュメモリを用いた記憶装置を提供する
ことである。
【0004】
【課題を解決するための手段】図1は本発明の原理図で
ある。同図は原理動作を示すため、一つのデータ単位を
扱う記憶装置として構成されている。同図において、1
はフラッシュメモリであり、フラッシュメモリ1はブロ
ック0とブロック1の2つのブロックから構成されてお
り、フラッシュメモリ1の各ブロック0,1には、デー
タの書き込み順序を示すシーケンシャル・ナンバと、デ
ータが有効であるか否かを管理するためのマジック・ナ
ンバと、実際のデータが書き込まれる。2はフラッシュ
メモリを消去したり、フラッシュメモリに、データ、シ
ーケンシャル・ナンバ、マジック・ナンバを書き込む消
去・書き込み手段、3はマジック・ナンバが正しい値で
あるか否かを調べるマジック・ナンバ検査手段である。
【0005】4,4’,6はセレクタ手段であり、セレ
クタ手段4,4’はマジック・ナンバ検査手段3により
マジック・ナンバが正しいと判断された場合には、フラ
ッシュメモリ1から読み出されたシーケンシャル・ナン
バを選択して出力し、マジック・ナンバが正しくない場
合、”0”を選択して出力する。セレクタ手段6は、後
述する比較手段5の比較結果に基づき、上記セレクタ手
段4,4’が出力するシーケンシャル・ナンバの値の大
きい方のフラッシュメモリ1のブロックからデータを読
み出す。
【0006】5は比較手段であり、比較手段5はセレク
タ手段4,4’の出力を比較する。そして、その比較結
果に基づき次のようにしてフラッシュメモリ1からのデ
ータの読み出し、消去、書き込みが行われる。 データの読み出し時、セレクタ手段4,4’が出力
するシーケンシャル・ナンバの内、シーケンシャル・ナ
ンバが大きい方のフラッシュメモリ1のブロックをセレ
クタ手段6により選択し、そのブロックからデータを読
み出す。 データの書き込み時、セレクタ手段4,4’が出力
するシーケンシャル・ナンバの内、シーケンシャル・ナ
ンバが小さい方のフラッシュメモリ1のブロックを消去
してデータを書き込む。また、ブロック0,1のシーケ
ンシャルナンバの内、大きい方のシーケンシャルナンバ
の値を+1して、データを書き込んだブロックにシーケ
ンシャルナンバの値を書き込む。
【0007】次に、本発明により〔書き込み〕、〔読み
出し〕を繰り返して行ったときの動作を説明する。な
お、初期状態では、フラッシュメモリ1の値は全て0xFF
である。また、マジック・ナンバの値は任意の特定値を
用いることができるが、ここでは、0x12345678(32bit)
とする。シーケンシャル番号は、4バイト(32bit) で表
される整数でヘッダに書き込まれものとする。次に図2
〜図7により、本発明において、書き込み、読み出しを
繰り返して行う場合の動作を説明する。
【0008】(a) データAの書き込み 初期状態においては、図2に示すように、フラッシュメ
モリ1のそれぞれのブロックのマジックナンバはどちら
も0xFFFFFFFFであり、正しい値ではない。マジックナン
バの値が正しくない時、図1にセレクタ手段4,4’
は”0”を選択する。すなわち、シーケンシャルナンバ
は”0”と見なされる。このようにすれば、”0”より
小さい値はないので、データの書き込み時、マジックナ
ンバの正しくない方のブロックが消去され、データが書
き込まれることとなる(図1に示すようにシーケンシャ
ルナンバの値の小さい方のブロックにデータが書き込ま
れるため)。また、データの読み出し時には、マジック
ナンバの正しい方のブロックからデータが読み出される
こととなる(図1に示すようにシーケンシャルナンバの
大きい方のブロックからデータが読み出されるため)。
【0009】最初は、マジックナンバが両ブロックとも
正しくないので、どちらも0と見なされ、比較の結果は
どちらでもよいが、ここではデータを書き込むブロック
として、ブロック0を選択するとする。ブロック0が選
択されると、図2に示すように、消去・書き込み手段2
はブロック0を消去し、データAを書き込む。ついで、
ブロック0,1のシーケンシャルナンバの内、大きい方
の値0を+1して1を得て、ブロック0のシーケンシャ
ルナンバに1を書き込む。最後にマジックナンバ0x1234
5678をブロック0に書き込む。
【0010】(b) データの読み出し 図3に示すように、ブロック0のマジックナンバは正し
いので、セレクタ手段4を介してブロック0のシーケン
シャルナンバは1と読み出される。また、ブロック1の
マジックナンバは正しくないので、セレクタ手段4’に
よりブロック1のシーケンシャル番号は0とみなされ
る。比較手段5はこれらを比較し、セレクタ手段6が、
シーケンシャルナンバの値の大きい方のブロック0を選
択し、ブロック0に書き込まれたデータAが読み出され
る。
【0011】(c) データBの書き込み(データA→Bへ
の内容更新) 図3に示すようにフラッシュメモリ1のブロック0にデ
ータAが書き込まれた状態からフラッシュメモリ1の内
容をデータBに更新する場合は、図4に示すようにシー
ケンシャルナンバが0と見なされるブロック1に新たな
データBが書き込まれ、ブロック1のシーケンシャルナ
ンバに2が設定される。すなわち、次のようにしてデー
タBが書き込まれる。ブロック0のマジックナンバは正
しいので、ブロック0のシーケンシャルナンバは1と読
み出され、また、ブロック1のマジックナンバは正しく
ないので、0と見なされる。比較手段5はこれらを比較
して、図4に示すように、シーケンシャルナンバの値の
小さい方のブロックであるブロック1を選択し、ブロッ
ク1を消去してデータBを書き込む。ついで、ブロック
0,1のシーケンシャルナンバの内、大きい方の値1に
1を加えて2を得て、ブロック1のシーケンシャルナン
バに2を書き込む。最後にブロック1にマジックナンバ
0x12345678を書き込む。
【0012】(d) データの読み出し 図4に示すデータA,Bが書き込まれたフラッシュメモ
リ1からのデータの読み出しは次のように行われる。図
5に示すように、ブロック0のマジックナンバは正しい
ので、シーケンシャルナンバは1と読み出される。ま
た、ブロック1のマジックナンバも正しいので、ブロッ
ク1のシーケンシャル番号は2と読み出される。比較手
段5はこれらを比較して、シーケンシャルナンバの値の
大きい方のブロック1が選択され、ブロック1に書き込
まれたデータBが読み出される。すなわち、新たに書き
込まれたデータBが読み出され、データがA→Bに更新
されたように読み出される。ここで、データBの書き込
中に電源断になると、更新データBの書き込みは中断
されデータBは書き込みが不完全となるが、ブロック0
のデータAが残っており、データが消えてしまうことが
ない。
【0013】(e) データCの書き込み(データB→Cへ
の内容更新) 図5に示すようにフラッシュメモリ1のブロック0,1
にそれぞれデータA,Bが書き込まれた状態からフラッ
シュメモリ1の内容をデータCに更新する場合は、図6
に示すようにシーケンシャルナンバが1と見なされるブ
ロック0に新たなデータCが書き込まれ、ブロック0の
シーケンシャルナンバに3が設定される。すなわち、次
のようにしてデータCが書き込まれる。ブロック0のマ
ジックナンバは正しいので、ブロック0のシーケンシャ
ルナンバは1と読み出され、また、ブロック1のマジッ
クナンバは正しいので、2と読み出される。比較手段5
はこれらを比較して、図6に示すように、シーケンシャ
ルナンバの値の小さい方のブロックであるブロック0を
選択し、ブロック0を消去してデータCを書き込む。つ
いで、ブロック0,1のシーケンシャルナンバの内、大
きい方の値2に1を加えて3を得て、ブロック0のシー
ケンシャルナンバに3を書き込む。最後にブロック0に
マジックナンバ0x12345678を書き込む。
【0014】(f) データの読み出し 図6に示すデータB,Cが書き込まれたフラッシュメモ
リ1からのデータの読み出しは次のように行われる。図
7に示すように、ブロック0のマジックナンバは正しい
ので、シーケンシャルナンバは3と読み出される。ま
た、ブロック1のマジックナンバも正しいので、ブロッ
ク1のシーケンシャル番号は2と読み出される。比較手
段5はこれらを比較して、シーケンシャルナンバの値の
大きい方のブロック0が選択され、ブロック9に書き込
まれたデータCが読み出される。すなわち、新たに書き
込まれたデータCが読み出され、データがB→Cに更新
されたように読み出される。
【0015】以上の操作を繰り返すことで、常に更新さ
れたデータが正しく読み出される。以上の過程のどこか
の操作で、突然の電源断などで処理が不完全のままにな
ってしまった場合、上記したように、2つのブロックの
内の一方しか消去/書き込み操作をしておらず、しか
も、マジックナンバおよびシーケンシャルナンバによ
り、それぞれのブロックのデータのどちらが正しいもの
で、かつ新しいものかを管理しているので、データが失
われたり内容が破壊されてしまうことがない。例えば、
図6において、データCを書き込んだのち、シーケンシ
ャルナンバを書き込んでいるときに電源断が発生した場
合であっても、マジックナンバは最後に書き込まれるの
で、マジックナンバが正しい値にならずそのデータが正
しいものと認識されることがない。
【0016】 以上のように本発明は次のようにして前
記課題を解決する。 (1)ブロック毎に消去ができ、バイト毎に書き込みが
できるフラッシュメモリにおいて、フラッシュメモリを
2つのブロックに分割し、フラッシュメモリの各ブロッ
クに、データが有効であることを示す任意の特定値であ
るマジックナンバと、データの書き込み履歴を示すシー
ケンシャルナンバを書き込むヘッダ領域を設け、フラッ
シュメモリにデータ単位を書き込む際、2つのブロック
のヘッダ領域に格納されたマジックナンバを調べ、マジ
ックナンバがともに正しい値でないとき、第1のブロッ
クを選択してそのブロックを消去して書き込むべきデー
タ単位を第1のブロックに書き込み、ついで該ブロック
のヘッダ領域のシーケンシャル番号に1を書き込み、マ
ジックナンバの一方のみが正しい値のとき、マジックナ
ンバが正しい値でない方のブロックを選択して、該ブロ
ックを消去して、書き込むべきデータ単位を上記ブロッ
クに書き込み、ついで該ブロックのヘッダ領域のシーケ
ンシャル番号に、他方のブロックのヘッダ領域に記憶さ
れているシーケンシャル番号に1を加えた値を書き込
み、マジックナンバが共に正しい値のとき、両方のブロ
ックからシーケンシャルナンバを読み出して比較し、シ
ーケンシャルナンバの値が小さい方のブロックを選択
し、該ブロックを消去して書き込むべきデータ単位を書
き込み、ついで該ブロックのヘッダ領域のシーケンシャ
ル番号に、他方のブロックのヘッダ領域に記憶されてい
るシーケンシャル番号に1を加えた値を書き込み、最後
に、上記ブロックのヘッダ領域にマジックナンバを書き
込む。 (2)フラッシュメモリに格納されたデータ単位を読み
出す際、2つのブロックのヘッダ領域に格納されたマジ
ックナンバを調べ、マジックナンバの一方が正しい値で
あるとき、マジックナンバの正しい値であるブロックか
ら読み出し、 マジックナンバがともに正しい値のと
き、書き込み履歴を示すシーケンャルナンバの値の大き
いブロックから読み出す
【0017】
【0018】
【発明の実施の形態】次に、計算機のシステムのシステ
ム制御装置において、システムの構成情報などのデータ
をフラッシュメモリにより設定する実施例について説明
する。なお、以下の説明では、ソフトウェアによりフラ
ッシュメモリの消去、書き込み操作に行う場合ついて説
明するが、本発明は、ハードウェアにより実現すること
もできる。
【0019】図8は本発明の実施例のシステムの構成を
示す図である。同図において、10は計算機システム、
11はホスト計算機であり、ホスト計算機11は計算機
システム10のシステム制御装置12内に設けられたホ
ストインタフェース12bを介して計算機システム10
と接続されている。計算機システム10において、12
はシステム制御装置であり、システム制御装置12はマ
イククロプロセッサ12aと、前記ホストインタフェー
ス12bと、前記システム構成情報等を記憶するフラッ
シュメモリ12cと、複数の演算装置13およびネット
ワーク装置14と接続される制御インタフェース12d
を備えている。演算装置13はネットワーク装置14を
介して相互に接続されており、演算装置13により各種
処理が行われる。また、15は、プリンタ、キーボー
ド、ディスプレイ、外部記憶装置等の各種I/O装置で
ある。
【0020】上記計算機システム10のシステム制御装
置12においては、計算機システム10の電源制御やエ
ラー監視などの機能を実現するため、システム構成要素
(演算装置13やI/O装置15)の数や種類を記憶し
ておかなければならない。システムの構成の変更や増設
の際には、この設定値は変更されるが、この情報が失わ
れるとシステム全体の起動/停止やエラー監視が不可能
となり、重大な支障をきたす。そこで、本実施例におい
ては、上記フラッシュメモリ12cを前記したようにブ
ロック0、ブロック1に分け、それぞれのブロックに交
互に上記システム構成要素の数や種類に関するデータを
書き込み、また、それぞれのブロックから交互に上記デ
ータを読み出す。
【0021】図9、図10は本実施例におけるデータの
書き込み/読み出し処理を示すフローチャートであり、
同図を参照しながら本実施例の処理を説明する。フラッ
シュメモリ12cに上記システム構成要素の数や種類に
関するデータを書き込む際、ホスト計算機11はシステ
ム制御装置12に対して設定データを書き込むコマンド
を発行し、上記システム構成要素の数や種類に関するデ
ータを送る。上記コマンドとデータはシステム制御装置
12のホストインタフェース12bで受信され、マイク
ロプロセッサ12aは上記データをフラッシュメモリ1
2cに書き込む。
【0022】図9は上記データを書き込む際のフローチ
ャートである。データの書き込み時、まず、マイクロプ
ロセッサ12aは、フラッシュメモリ12cのブロック
0のマジックナンバを読み出してメモリ等の記憶領域ma
gic0に書き込む(図9のステップS1)。ついで、magi
c0に書き込まれたブロック0のマジックナンバが0x1234
5678であるか否かを確認する(ステップS2)。ブロッ
ク0のマジックナンバが正しい値であると(上記0x1234
5678に等しい)、ステップS4に進み、マイクロプロセ
ッサ12aは、ブロック0のシーケンシャルナンバを読
み出して、記憶領域seq0に書き込む。また、マジックナ
ンバが正しい値でない場合には(上記0x12345678に等し
くない)、記憶領域seq0に0を書き込み、ステップS5
に進む。ステップS5において、ブロック1のマジック
ナンバを読み出して、記憶領域magic1に書き込む。
【0023】ついで、magic1に書き込まれたブロック1
のマジックナンバが0x12345678であるか否かを確認する
(ステップS6)。ブロック1のマジックナンバが正し
い値であると(上記0x12345678に等しい)、ステップS
8に進み、マイクロプロセッサ12aはブロック1のシ
ーケンシャルナンバを読み出して、記憶領域seq1に書き
込む。また、マジックナンバが正しい値でない場合には
(上記0x12345678に等しくない)、記憶領域seq1に0を
書き込み、ステップS9に進む。ステップS9におい
て、マイクロプロセッサ12aはseq0とseq1の値を比較
し、seq0の値がseq1の値より小さい場合には、ブロック
0を消去して(ステップ10)、データをブロック0に
書き込む(ステップS11)。そして、ブロック1のシ
ーケンシャルナンバseq1の値に1を加えて、ブロック0
のシーケンシャルナンバ格納域に格納する(ステップS
12)。さらに、ブロック0のマジックナンバ格納域に
マジックナンバ(=0x12345678)を書き込み(ステップ
S13)処理を終了する。
【0024】また、seq0の値がseq1の値より大きい場合
には、ブロック1を消去して(ステップ14)、データ
をブロック1に書き込む(ステップS15)。そして、
ブロック1のシーケンシャルナンバseq0の値に1を加え
て(ステップS16)、ブロック1のシーケンシャルナ
ンバ格納域に格納する。さらに、ブロック1のマジック
ナンバ格納域にマジックナンバ(=0x12345678)を書き
込み(ステップS17)、処理を終了する。上記のよう
にして、フラッシュメモリ12cにシステム構成要素の
数や種類に関するデータが書き込まれると、システムの
起動等の際、システム制御装置12のマイクロプロセッ
サ12aは、上記フラッシュメモリ12cに書き込まれ
たデータを読み出し、その情報等にしたがって演算装置
13等に制御インタフェース12dを介して制御信号等
を送出する。
【0025】図10はフラッシュメモリ12cに書き込
まれたデータを読み出す際の処理を示すフローチャート
である。データの読み出し時、まず、マイクロプロセッ
サ12aは、フラッシュメモリ12cのブロック0のマ
ジックナンバを読み出して記憶領域magic0に書き込む
(図10のステップS1)。ついで、magic0に書き込ま
れたブロック0のマジックナンバが0x12345678であるか
否かを確認する(ステップS2)。ブロック0のマジッ
クナンバが正しい値であると(上記0x12345678に等し
い)、ステップS4に進み、マイクロプロセッサ12a
は、ブロック0のシーケンシャルナンバを読み出して、
記憶領域seq0に書き込む。また、マジックナンバが正し
い値でない場合には(上記0x12345678に等しくない)、
マイクロプロセッサ12aの記憶領域seq0に0を書き込
み、ステップS5に進む。
【0026】ステップS5において、ブロック1のマジ
ックナンバを読み出して、記憶領域magic1に書き込む。
ついで、magic1に書き込まれたブロック1のマジックナ
ンバが0x12345678であるか否かを確認する(ステップS
6)。ブロック1のマジックナンバが正しい値であると
(上記0x12345678に等しい)、ステップS8に進み、マ
イクロプロセッサ12aはブロック1のシーケンシャル
ナンバを読み出して、記憶領域seq1に書き込む。また、
マジックナンバが正しい値でない場合には(上記0x1234
5678に等しくない)、記憶領域seq1に0を書き込み、ス
テップS9に進む。
【0027】ステップS9において、マイクロプロセッ
サ12aはseq0とseq1の値を比較し、seq0の値がseq1の
値より小さい場合には、データをブロック1から読み出
す。(ステップS10)。また、seq0の値がseq1の値よ
り大きい場合には、データをブロック0から読み出す。
(ステップ11) 以上のように、マジックナンバによりデータの正さを確
認しながら、シーケンシャルナンバによりデータの更新
順序を確認し、フラッシュメモリの2つのブロックに交
互にデータを書き込むとともに、フラッシュメモリの2
つのブロックから交互にデータを読み出すことにより、
電源断になってもデータが失われたり、破壊されること
がない。
【0028】
【発明の効果】以上説明したように本発明においては、
フラッシュメモリの各ブロックにデータが有効であるこ
とを示すマジックナンバと、データの書き込み履歴を示
すシーケンシャルナンバを示すヘッダ領域を設け、各ブ
ロックのマジックナンバと、シーケンシャルナンバを調
べ、一つの記憶すべきデータ単位をフラッシュメモリの
2つのブロックに交互に書き込み、データ読み出し時、
2つのブロックに格納されたデータ単位の内、正常に書
き込みが行われた最新のデータ単位を読み出すようにし
ているので、いかなるタイミングにおいても装置の電源
断によって情報が失われることがない。また、フラッシ
ュメモリのデータ更新中であった場合には、更新が失敗
するだけであり、以前に書き込まれた情報がなくなって
しまったり、あるいは不正な値になってしまうことがな
い。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明における書き込み/読み出し動作を説明
する図(その1)である。
【図3】本発明における書き込み/読み出し動作を説明
する図(その2)である。
【図4】本発明における書き込み/読み出し動作を説明
する図(その3)である。
【図5】本発明における書き込み/読み出し動作を説明
する図(その4)である。
【図6】本発明における書き込み/読み出し動作を説明
する図(その5)である。
【図7】本発明における書き込み/読み出し動作を説明
する図(その6)である。
【図8】本発明の実施例のシステムの構成を示す図であ
る。
【図9】本発明の実施例の書き込み/読み出し処理を示
す図(その1)である。
【図10】本発明の実施例の書き込み/読み出し処理を
示す図(その2)である。
【符号の説明】
1 フラッシュメモリ 2 消去・書き込み手段 3 マジック・ナンバ検査手段 4,4’,6 セレクタ手段 5 比較手段 10 計算機システム 11 ホスト計算機 12 システム制御装置 12a マイククロプロセッサ 12b ホストインタフェース 12c フラッシュメモリ 12d 制御インタフェース 13 演算装置 14 ネットワーク装置 15 I/O装置
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平7−262099(JP,A) 特開 平5−143468(JP,A) 特開 平7−248978(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/16 G11C 16/02

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 ブロック毎に消去ができ、バイト毎に書
    き込みができるフラッシュメモリのデータ更新方法であ
    って、 フラッシュメモリを2つのブロックに分割し、フラッシ
    ュメモリの各ブロックに、データが有効であることを示
    任意の特定値であるマジックナンバと、データの書き
    込み履歴を示すシーケンシャルナンバを書き込むヘッダ
    領域を設け、 フラッシュメモリにデータ単位を書き込む際、2つのブ
    ロックのヘッダ領域に格納されたマジックナンバを調
    べ、マジックナンバがともに正しい値でないとき、第1
    のブロックを選択してそのブロックを消去して書き込む
    べきデータ単位を第1のブロックに書き込み、ついで該
    ブロックのヘッダ領域のシーケンシャル番号に1を書き
    込み、 マジックナンバの一方のみが正しい値のとき、マジック
    ナンバが正しい値でない方のブロックを選択して、該ブ
    ロックを消去して、書き込むべきデータ単位を上記ブロ
    ックに書き込み、ついで該ブロックのヘッダ領域のシー
    ケンシャル番号に、他方のブロックのヘッダ領域に記憶
    されているシーケンシャル番号に1を加えた値を書き込
    み、 マジックナンバが共に正しい値のとき、両方のブロック
    からシーケンシャルナンバを読み出して比較し、シーケ
    ンシャルナンバの値が小さい方のブロックを選択し、該
    ブロックを消去して書き込むべきデータ単位を書き込
    み、ついで該ブロックのヘッダ領域のシーケンシャル番
    号に、他方のブロックのヘッダ領域に記憶されているシ
    ーケンシャル番号に1を加えた値を書き込み、 最後に、上記ブロックのヘッダ領域にマジックナンバを
    書き込む ことを特徴とするフラッシュメモリのデータ更
    新方法。
  2. 【請求項2】 ブロック毎に消去ができ、バイト毎に書
    き込みができるフラッシュメモリを用いた記憶装置であ
    って、 フラッシュメモリを2つのブロックに分割し、フラッシ
    ュメモリの各ブロックに、データが有効であることを示
    任意の特定値であるマジックナンバと、データの書き
    込み履歴を示すシーケンシャルナンバからなるヘッダ領
    域を設け、 上記マジックナンバと、シーケンシャルナンバを調べ
    て、一つの記憶すべきデータ単位を上記2つのブロック
    に交互に書き込み2つのブロックに格納されたデータ
    単位の内、正常に書き込みが行われた最新のデータ単位
    を読み出す書き込み/読み出し手段を設け、上記書き込み/読み出し手段は、フラッシュメモリにデ
    ータ単位を書き込む際、 2つのブロックのヘッダ領域に格納されたマジックナン
    バを調べ、マジックナンバがともに正しい値でないと
    き、第1のブロックを選択してそのブロックを消去して
    書き込むべきデータ単位を第1のブロックに書き込み、
    ついで該ブロックのヘッダ領域のシーケンシャル番号に
    1を書き込み、 マジックナンバの一方のみが正しい値のとき、マジック
    ナンバが正しい値でない方のブロックを選択して、該ブ
    ロックを消去して、書き込むべきデータ単位を上記ブロ
    ックに書き込み、ついで該ブロックのヘッダ領域のシー
    ケンシャル番号に、他方のブロックのヘッダ領域に記憶
    されているシーケンシャル番号に1を加えた値を書き込
    み、 マジックナンバが共に正しい値のとき、両方のブロック
    からシーケンシャルナンバを読み出して比較し、シーケ
    ンシャルナンバの値が小さい方のブロックを選択し、該
    ブロックを消去して書き込むべきデータ単位を書き込
    み、ついで該ブロックのヘッダ領域のシーケンシャル番
    号に、他方のブロックのヘッダ領域に記憶されているシ
    ーケンシャル番号に1を加えた値を書き込み、 最後に、上記ブロックのヘッダ領域にマジックナンバを
    書き込む ことを特徴とするフラッシュメモリを用いた記
    憶装置。
  3. 【請求項3】 上記書き込み/読み出し手段、フラッ
    シュメモリに格納されたデータ単位を読み出す際、 2つのブロックのヘッダ領域に格納されたマジックナン
    バを調べ、マジックナンバの一方が正しい値であると
    き、マジックナンバの正しい値であるブロックから読み
    出し、マジックナンバがともに正しい値のとき、書き込み履歴
    を示すシーケンャルナンバの値 の大きいブロックから読
    み出す ことを特徴とする請求項2のフラッシュメモリを
    用いた記憶装置。
  4. 【請求項4】 ブロック毎に消去ができ、バイト毎に書
    き込みができるフラッシュメモリのデータ書き込み/読
    み出しプログラムを記録したコンピュータ読み取り可能
    な記録媒体であって、 上記プログラムは、一つの記憶すべきデータ単位を2つ
    に分割され、分割された各ブロックに、データが有効で
    あることを示す任意の特定値であるマジックナンバと、
    データの書き込み履歴を示すシーケンシャルナンバを
    き込むヘッダ領域を備えたフラッシュメモリの各ブロッ
    クにデータ単位を書き込む際、 2つのブロックのヘッダ領域に格納されたマジックナン
    バを調べ、マジックナンバがともに正しい値でないと
    き、第1のブロックを選択してそのブロックを消去して
    書き込むべきデータ単位を第1のブロックに書き込み、
    ついで該ブロックのヘッダ領域のシーケンシャル番号に
    1を書き込み、 マジックナンバの一方のみが正しい値のとき、マジック
    ナンバが正しい値でない方のブロックを選択して、該ブ
    ロックを消去して、書き込むべきデータ単位を上記ブロ
    ックに書き込み、ついで該ブロックのヘッダ領域のシー
    ケンシャル番号に、他方のブロックのヘッダ領域に記憶
    されているシーケンシャル番号に1を加えた値を書き込
    み、 マジックナンバが共に正しい値のとき、両方のブロック
    からシーケンシャルナンバを読み出して比較し、シーケ
    ンシャルナンバの値が小さい方のブロックを選択し、該
    ブロックを消去して書き込むべきデータ単位を書き込
    み、ついで該ブロックのヘッダ領域のシーケンシャル番
    号に、他方のブロックのヘッダ領域に記憶されているシ
    ーケンシャル番号に1を加えた値を書き込み、 最後に、上記ブロックのヘッダ領域にマジックナンバを
    書き込む ことを特徴とするフラッシュメモリのデータ書
    き込み/読み出しプログラムを記録したコンピュータ読
    み取り可能な記録媒体。
JP26993397A 1996-10-16 1997-10-02 フラッシュメモリにおけるデータ書き込み/読み出し方法およびフラッシュメモリを用いた記憶装置 Expired - Fee Related JP3497066B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26993397A JP3497066B2 (ja) 1996-10-16 1997-10-02 フラッシュメモリにおけるデータ書き込み/読み出し方法およびフラッシュメモリを用いた記憶装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP27356496 1996-10-16
JP8-273564 1996-10-16
JP26993397A JP3497066B2 (ja) 1996-10-16 1997-10-02 フラッシュメモリにおけるデータ書き込み/読み出し方法およびフラッシュメモリを用いた記憶装置

Publications (2)

Publication Number Publication Date
JPH10177527A JPH10177527A (ja) 1998-06-30
JP3497066B2 true JP3497066B2 (ja) 2004-02-16

Family

ID=26548995

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26993397A Expired - Fee Related JP3497066B2 (ja) 1996-10-16 1997-10-02 フラッシュメモリにおけるデータ書き込み/読み出し方法およびフラッシュメモリを用いた記憶装置

Country Status (1)

Country Link
JP (1) JP3497066B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2990181B1 (ja) * 1998-09-28 1999-12-13 日本電気アイシーマイコンシステム株式会社 フラッシュメモリ、フラッシュメモリを備えたマイクロコンピュータおよびフラッシュメモリへのプログラム格納方法
JP2001209543A (ja) 2000-01-28 2001-08-03 Nec Ic Microcomput Syst Ltd フラッシュ・マイコンにおけるプログラム書き換え方法
JP3709338B2 (ja) 2000-11-22 2005-10-26 日本電気株式会社 携帯電話のユーザー設定情報管理方法とユーザー設定情報管理システム
EP1574952B1 (en) * 2004-03-10 2008-04-16 Sony Ericsson Mobile Communications AB Automatic backup store in firmware upgrades

Also Published As

Publication number Publication date
JPH10177527A (ja) 1998-06-30

Similar Documents

Publication Publication Date Title
US6154808A (en) Method and apparatus for controlling data erase operations of a non-volatile memory device
US7840796B2 (en) Booting to a recovery/maintenance environment
US6671785B2 (en) Programming protection status indicators for flash memory
US6601132B2 (en) Nonvolatile memory and method of writing data thereto
JP2990181B1 (ja) フラッシュメモリ、フラッシュメモリを備えたマイクロコンピュータおよびフラッシュメモリへのプログラム格納方法
US20020129195A1 (en) Microcomputer with built-in programmable nonvolatile memory
JP2002278783A (ja) ファームウェア書き換えシステム
JP3212960B2 (ja) フラッシュメモリを利用したデータ管理方法
US5901311A (en) Access key protection for computer system data
JP4960364B2 (ja) ハードウェア支援されたデバイス設定検出
JP3497066B2 (ja) フラッシュメモリにおけるデータ書き込み/読み出し方法およびフラッシュメモリを用いた記憶装置
CN114300026B (zh) 一种单调计数器、计数方法、电子设备及存储介质
CN114115700B (zh) 闪存数据读写方法和闪存数据读写装置
JP3924568B2 (ja) フラッシュメモリにおけるデータアクセス制御方法、データアクセス制御プログラム
US6604194B1 (en) Program updating method and apparatus for communication terminal system
JP2003196165A (ja) 不揮発性メモリ及びそのデータ更新方法
JP3376331B2 (ja) フラッシュメモリを用いる記憶方法及び記憶制御プログラムを記録した記録媒体
US5901285A (en) Hierarchical erasure key protection for computer system data
US8225051B2 (en) Access control method for a memory, memory controller for controlling access to the memory, and data processing apparatus
JP4031693B2 (ja) 不揮発性メモリおよびこれを有したデータ記憶装置
KR100316584B1 (ko) 시스템에서 부팅 및 수행 프로그램을 공유하는 플래시메모리 및 그 메모리 갱신 방법
JP2003150458A (ja) 障害検出装置、障害検出方法、プログラム及びプログラム記録媒体
CN116126382B (zh) 复杂可编程逻辑器件在线升级方法和装置
CN119806889B (zh) 显示面板的数据烧录及自检方法、装置及Flash IC闪存芯片
JP2005056144A (ja) フラッシュメモリ搭載電子装置、そのメモリデータ管理方法およびプログラム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031118

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081128

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081128

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091128

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101128

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101128

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131128

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees