(57)【要約】【課題】組み込みシステムに使用するフラッシュメモリのドライバは、商用電源を使うことが少なく電池を使用することが多く耐電源障害性に強いことが要求される。更に多値のフラッシュメモリのドライバにおいては、書き込み中に電源断が生じれば、書き込んでいるページばかりではなく、同一セル内にある他のページの内容も壊してしまう可能性があり、さらに修復が不可能な課題がある。【解決手段】そこで本発明は、あるブロックにデータを書き込むときは、別の他のブロックを用意して、交互にそれそれのブロックの相対するページに同一のデータを書き込むステップを持つことにより、電源断等、電源障害が生じたときでもデータを消滅することなく書き込むことが可能となる。【選択図】図４
2008158955.tif 000002
【特許請求の範囲】
【請求項１】
１つのセルに少なくとも２値より多くの状態を持つ多値フラッシュメモリ用ドライバであって、同一セル内に複数の異なるページの一部を持つ該多値フラッシュメモリのセルにデーターを書き込む手法において、該多値フラッシュメモリの複数のブロックから２つのブロックを選びその相対するページに同一のデータを書き込むステップを含む多値フラッシュメモリ用ドライバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、耐電源障害性を保証した多値フラッシュメモリ用ドライバであって、該多値フラッシュメモリのセルにデータを書き込む手法に関するものである。
【背景技術】
【０００２】
多値フラッシュメモリは、１つのセルに４値又は８値または１６値なる２のべき乗の状態を持つフラッシュメモリであり、１つのセル内に多値の値を取るために、便宜上複数の異なる記憶層が多層に積み上がる概念を持ち、全てのセルが複数の記憶層を有することとした。また各層は１つのセルに１ｂｉｔの情報量を持ち、複数のセルをまとめてページと称し、ページが集まったものをブロックと称する。また、ブロックも複数個集まり全体のメモリとなる。４値の場合は２層の記憶層を有し、８値の場合は３層の記憶層を有し、１６値の場合は４層の記憶層を有する。またデータが何も書かれていないときは全ての記憶層の各セルの状態が１であり、何れの記憶層も状態が変化したときに０の値をとる。
【０００３】
ここでは図１に示すように４値の場合で２つの層が各々１ページある構成を説明する、またセルとは図１の中で太線で示す部分を言う。１つの層（下層）をＡページもう１つの層（上層）をＢページと称する。ＡページＢページは２段積みとなり縦方向に８ｂｉｔ（１ｂｙｔｅ）が並び、横方向に（２０４８＋６４）ｂｙｔｅが並ぶ構成である。このようにＡページとＢページの２ページが１塊（Ａページ＋Ｂページ）となり６４塊で１ブロックを構成する。図２で示すように１つのブロック、例えばブロック０はＡページＢページとも６４ページありＡページＢページがページ０からページ１２７まで、必ずしもＡページ、次にそのＡページに対応するＢページが交互に現れるわけではなく１２８ページを構成している。しかし、ブロックの先頭のページ（ページ０）は必ずＡページである、しかし次にくるページ（ページ数の若い順に）はそのＡページに対応するＢページがくるかどうかは不定(メモリの実装方法に依存する)で、次の塊（次のＡページ＋Ｂページ）のＡページがくる場合もある。しかし、同一の塊（Ａページ＋Ｂページ）では必ずＡページが若いページ数となり先に出現する。次にブロックは全部で２０４８ブロックあり、ページの並び（ＡページＢページの関係）は全てのブロックは同一である。
【０００４】
次に、多値メモリの書き込みについて説明する。基本的にはページ単位での書き込みとなるが、１つのセル上でのＡページ、Ｂページの書き込みを想定して説明する。図３で示すように、あるセルに何も書かれていない場合はＡページ、Ｂページが１、１（第１の状態と呼ぶ）であり、次にＡページのみ０を書き込んだときはＡページ、Ｂページが０、１（第２の状態と呼ぶ）に移行する。更にＡページは０でＢページに０が書かれたときはＡページ、Ｂページが１、０（第３の状態と呼ぶ）の状態を経由し、その後にＡページ、Ｂページが０、０（第４の状態と呼ぶ）の状態まで移行する。また、この順序で状態は移行するが（第１の状態から第４の状態への順次移行はするが）、移行の順序が後戻り（例えば、第４の状態から第１の状態などの変化）することはない。ただし、ブロック単位で消去すると、そのブロックにあるすべてのページの状態が第１の状態になる。
【０００５】
ここで、多値メモリ特有の状況を説明する。ＡページＢページとも何も書かれていない状態（第１の状態）でＡページのみ０を書き込むと、次の状態（第２の状態）へ移行し、Ａページは変化するがＢページは変化しない。また任意のセルにＡページを書き込む場合は、かならず、Ｂページの書き込みの前にＡページが書き込まれる約束となっているため、Ａページに０を書き込んでもＢページには影響が無い。しかし、Ａページに０を書き込んだ状態（第２の状態）から、Ｂページにも０を書き込む（第４の状態にする）とＢページは１から０に変化するがＡページは０から一旦、１になってまた０に戻る（第２の状態から第３の状態を経て第４の状態へ移る）という現象が現れる。次にＡページ、Ｂページとも１のとき（第１の状態から）Ｂページに０を書き込むと（第３の状態に移行する）、Ｂページは１から０に変化するがＡページは１から一旦０になってまた１に戻る（第１の状態から第２の状態を経て第３の状態へ移る）という現象が生じる。
【０００６】
このように多値フラッシュメモリでは、Ａページにデータを書くときはＢページは何ら変化はしないが、Ｂページにデータを書くときはＡページはその状態がいったん変化した後、さらに元へ戻るという状態変化が生じる。フラッシュメモリに対する耐電源障害性については、２値のフラッシュメモリに対してのみ耐電源障害性を保証したフラッシュファイルドライバは下記文献のように存在する。
【非特許文献１】長澤恒也著  「フラッシュメモリの基礎と電源障害に強いファイルシステムの構築」ＩｎｔｅｒＦａｃｅ  Ｄｅｃ．２００４
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ここで課題は、多値フラッシュメモリは書き込み中に、電源断が生じれば、Ａページに書き込んでいるときはＡページの状態は保障できない。また、Ｂページに書き込んでいるときは、Ｂページの値が保障できないばかりでなく、Ｂページに書き込み中、Ａページの値が過渡的に変化するため、Ａページの値も保障できなくなる。さらに、Ａページの値はどこにもバッファされていないので、修正も永久に不可能となる。このような耐電源障害性を保証した多値フラッシュファイルドライバは現在では存在しない。
【課題を解決するための手段】
【０００８】
本発明はこの課題を解決するために、同一セル内に複数の異なるページの一部を持つ該多値フラッシュメモリのセルにデーターを書き込む手法において、該多値フラッシュメモリの複数のブロックから２つのブロックを選びその相対するページに同一のデータを書き込むステップを含む手法を発明した。
【発明の効果】
【０００９】
本発明は、多値フラッシュメモリにおいて、耐電源障害性を保証するものである。現在では２値のフラッシュメモリに対して耐電源障害性を保証したものは存在するが多値のフラッシュメモリのおいては存在しない。従って、全く新しい価値を創造した。また、携帯機器ばかりでなく車載機器についても電圧が著しく降下することが多いので本発明は有効である。
【実施例１】
【００１０】
図４は本発明の４値の場合の１実施例のブロックの構成図である。２つのブロックを用意（ブロックＭとブロックＮとする）し、ブロックＭのページ０にデータを書き込み、次に同一のデータをブロックＮのページ０に書き込む。この時点でページ０のデータが確定する。このように２つのブロックの相対するページに同一のデータを書き込んでいく。次に、ページ０やページ１のようなＡページであれば万一書き込み中に電源断が生じても書き込みが終了されているデータは保存される。しかし、ページ２のようにＢページであればページ２に書き込み中に電源断が生ずれば、ページ０（ページ２と同一セルのＡページ）のデータを壊す可能性がある。
従って、ブロックＭのページ２にデータを書き込むときに電源断が生じた場合、ブロックＭのページ０のデータを壊す可能性がある。しかし、ページ０の内容はブロックＮのページ０にも存在するので、ページ０の内容は消滅しない。電源が回復後、別のブロックに、ページ０についてはブロックＮのページ０を、ページ１については(データは壊れていないので)そのままのデータを、ページ２については電源断時に書き込もうとしていたページ２の値をそれぞれ書き込めば良い。つぎに、ブロックＮのページ２にデータを書き込むときに電源断が生じた場合、ブロックＮのページ０が壊される可能性がある。しかしこの場合も、ブロックＮのページ０と同一の内容がブロックＭのページ０に存在するため、もし壊されることがあっても、再度別のブロックに書き込むことによりデータは回復する。
このような方法で複数のブロックの中から２つのブロックを選び相対するページに同一データを書き込むことにより、ブロックＭもしくはブロックＮに必ずデータが残ることになる。当実施例ではブロックＭとブロックＮのページ１２７まで同一データを書き込むことにより、ページＡやページＢを気にすることなく書き込みが可能となる。
【実施例２】
【００１１】
次に８値の場合の実施例を説明すると、ページの構成は図１で示すＡページ、Ｂページの上にさらにＣページ（図示はしていない）があるものと考える。Ａページに書き込み中の電源断はＢページ、Ｃページともに影響はない。しかしＢページに書き込み中の電源断はＣページには影響はないがＡページのデータを壊す可能性がある。また、Ｃページに書き込み中の電源断はＡページ、Ｂページともにデータを壊す可能性がある。また、図４においてもＡページ（６４ページ）とＢページ（６４ページ）のみだが、Ｃページ（図示はしていない）も６４ページ存在すると考える。ここで、当発明の書き込み手順は図４のブロックＭのページ０（Ａページ）にデータを書き込み同一のデータをブロックＮのページ０（Ａペ−ジ）に書き込む。次にブロックＭのページ１（Ａページ）にデータを書き込み同一のデータをブロックＮのページ１（Ａペ−ジ）に書き込む。さらに、ブロックＭのページ２（Ｂページ）にデータを書き込み同一のデータをブロックＮのページ２（Ｂペ−ジ）に書き込む。このようにして、次にＣページ（図示していない）が現れても同様に、ブロックＭのＣページにデータを書き込み同一のデータをブロックＮのＣページに書き込む。このような書き込みをすると、４値の時と同じようにたとえ電源断が生じても、ブロックＭかブロックＮのどちらかにデータが保存される。
【産業上の利用可能性】
【００１２】
今後のシステムにおいて、組み込みシステムが増えさらにメモリ容量がより多く必要とすると、フラッシュメモリにおいてもその多値化が要求させる。そのような環境の中、耐電源障害性に強い多値フラッシュファイルドライバは必要不可欠であり、産業上の利用価値は極めて高いものである。
【図面の簡単な説明】
【００１３】
【図１】多値フラッシュメモリのページの構成を示した説明図である。
【図２】多値フラッシュメモリ全体とブロックの構成を示した説明図である。
【図３】多値フラッシュメモリのセル上の各ページにデータを書き込む状態遷移を示した説明図である。
【図４】多値フラッシュメモリの２つのブロックの相対するページに同一のデータを書き込む説明図である。（実施例１）
【図１】
2008158955.tif 000003
【図２】
2008158955.tif 000004
【図３】
2008158955.tif 000005
【図４】
2008158955.tif 000006