(57)【要約】【課題】フラッシュメモリのように書き込みと消去が同時にできないメモリ特性を有する不揮発性メモリ管理システムにおいて、不良ブロックの検知処理を別途設けなくても、不良ブロックの検知を可能とする。【解決手段】不揮発性メモリ管理システムは、メモリコントローラに制御信号と制御データを出力するＭＰＵと、不揮発性メモリにデータと書込み命令を出力してデータを書き込むメモリコントローラとを有し、ＭＰＵがメモリコントローラに対して、不揮発性メモリの書込み単位であるセクタごとに、データの書込みが完了したときに、そのセクタの２ｗｏｒｄ目に、ヘッダ情報として、そのセクタの次のセクタのセクタコードを書き込み、そのセクタの次のセクタの１ｗｏｒｄ目にヘッダ情報として、そのセクタの次のセクタのセクタコードを書き込むように制御する。【選択図】  図４
2018049513.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリにデータを読み書きする不揮発性メモリ管理システムであって、
メモリコントローラに制御信号と制御データを出力するＭＰＵと、
不揮発性メモリにデータと書込み命令を出力してデータを書き込むメモリコントローラとを有し、
前記ＭＰＵが前記メモリコントローラに対して、不揮発性メモリの書込み単位であるセクタごとに、データの書込みが完了したときに、そのセクタの２ｗｏｒｄ目に、第一種のヘッダ情報を書き込み、そのセクタの次のセクタの１ｗｏｒｄ目に第二種のヘッダ情報を書き込むように制御することを特徴とする不揮発性メモリ管理システム。
【請求項２】
前記第一種のヘッダ情報は、そのセクタの次のセクタのセクタコードであり、
前記第二種のヘッダ情報は、そのセクタの次のセクタのセクタコードであることを特徴とする請求項１記載の不揮発性メモリ管理システム。
【請求項３】
不揮発性メモリにデータと書込み命令と消去命令を出力する不揮発性メモリコントローラであって、
第一の面の不揮発性メモリのセクタと第二の面の不揮発性メモリのセクタを交互に順番付けて、第一の面の不揮発性メモリのＮ（Ｎは、０以上の整数）番目のセクタにデータ書込みを実施しているときに、第二の面の不揮発性メモリのＮ＋１番目以降のセクタの消去をすることを特徴とする不揮発性メモリコントローラ。
【請求項４】
第一の面の不揮発性メモリのＮ（Ｎ≧０の整数）番目のセクタにデータ書込みを実施しているときに、第二の面の不揮発性メモリのＮ＋１番目のセクタ及びＮ＋２番目のセクタの消去をすることを特徴とする請求項３記載の不揮発性メモリコントローラ。
【請求項５】
不揮発性メモリにデータを読み書きする不揮発性メモリ管理システムによる不揮発性メモリ管理方法であって、
前記不揮発性メモリ管理システムは、
メモリコントローラに制御信号と制御データを出力するＭＰＵと、
不揮発性メモリにデータと書込み命令を出力してデータを書き込むメモリコントローラとを有し、
前記ＭＰＵが前記メモリコントローラに対して、不揮発性メモリの書込み単位であるセクタごとに、データの書込みが完了したときに、そのセクタの２ｗｏｒｄ目に、第一種のヘッダ情報を書き込み、そのセクタの次のセクタの１ｗｏｒｄ目に第二種のヘッダ情報を書き込むように制御するステップを有することを特徴とする不揮発性メモリ管理方法。
【請求項６】
前記第一種のヘッダ情報は、そのセクタの次のセクタのセクタコードであり、
前記第二種のヘッダ情報は、そのセクタの次のセクタのセクタコードであることを特徴とする請求項５記載の不揮発性メモリ管理方法。
【請求項７】
不揮発性メモリにデータと書込み命令と消去命令を出力する不揮発性メモリコントローラによる不揮発性メモリ管理方法であって、
前記メモリコントローラが、第一の面の不揮発性メモリのセクタと第二の面の不揮発性メモリのセクタを交互に順番付けて、第一の面の不揮発性メモリのＮ（Ｎ≧０の整数）番目のセクタにデータ書込みを実施しているときに、第二の面の不揮発性メモリのＮ＋１番目以降のセクタの消去をするステップを有することを特徴とする不揮発性メモリ管理方法。
【請求項８】
第一の面の不揮発性メモリのＮ（Ｎは、０以上の整数）番目のセクタにデータ書込みを実施しているときに、第二の面の不揮発性メモリのＮ＋１番目のセクタ及びＮ＋２番目のセクタの消去をすることを特徴とする請求項７記載の不揮発性メモリ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリ管理システム、不揮発性メモリコントローラ及び不揮発性メモリ管理方法に係り、特に、フラッシュメモリのように書き込みと消去が同時にできないメモリ特性を有するメモリのスループットと信頼性を向上させる用途に好適な不揮発性メモリ管理システム、不揮発性メモリコントローラ及び不揮発性メモリ管理方法に関する。
【背景技術】
【０００２】
フラッシュメモリは、ＦＥＴ（Field effect transistor：電界効果トランジスタ）で、ホットエレクトロンを浮遊ゲートに注入してデータ記録を行う形式の不揮発性メモリの一種であり、現在、比較的大容量を実現できることから、様々な電子機器のデータ記憶装置として利用されている。
【０００３】
フラッシュメモリは、データを新たに書き込む前に、ブロック単位で消去を行なわなければならないという特性がある。
【０００４】
特許文献１には、メモリコントローラ部が、音声データ用、飛行データ用に各々に２つのチップを用意し、それぞれのデータを２つのチップに対して交互にブロック単位の書き込み、消去を行うことにより、連続記録を可能にするメモリ管理を行うボイスフライトデータレコーダが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−１３７６９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のフラッシュメモリの管理では、書き込みと消去は同時にできずに、ブロック単位で消去をしてから、データを書き込むことが必要であった。特許文献１に記載されたメモリ管理では、データの特性に応じて、各々チップを用意し、かつ、それぞれ２つのチップを用意して、データの書き込みの連続的に記録することを可能としている。
【０００７】
しかしながら、このメモリ管理方法においても、データの書き込み・消去と他方のチップのデータの書き込み・消去を交互に行なっているだけであり、ブロック消去の次に書き込みを行うというサイクルを変わっておらず、フラッシュメモリの書き込みと消去が同時に行なえないという問題点は解決されていない。
【０００８】
また、従来のフラッシュメモリのメモリ管理では、不良ブロックを排除するために、消去、書き込みの後に、不良ブロックの検知処理を行なって、そのようなブロックは冗長バイト内に不良ブロックを示すフラグ情報を書き込み、それ以降で、そのブロックを使用しないことにより、メモリの信頼性を確保していた。しかしながら、このメモリ管理方法では、別個、不良ブロックの検知処理が必要であり、そのためメモリのスループットが向上しないという問題点があった。
【０００９】
本発明は、上記問題点を解決するためになされたもので、その目的は、フラッシュメモリのように書き込みと消去が同時にできないメモリ特性を有する不揮発性メモリ管理システムにおいて、メモリのスループットを向上させ、不良ブロックの検知処理を別途設けなくても、不良ブロックの検知が可能となる不揮発性メモリ管理システム及び不揮発性メモリ管理方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の不揮発性メモリ管理システムは、不揮発性メモリにデータを読み書きする不揮発性メモリ管理システムであって、メモリコントローラに制御信号と制御データを出力するＭＰＵ（Micro Processing Unit）と、不揮発性メモリにデータと書込み命令を出力してデータを書き込むメモリコントローラとを有する。そして、ＭＰＵがメモリコントローラに対して、不揮発性メモリの書込み単位であるセクタごとに、データの書込みが完了したときに、そのセクタの２ｗｏｒｄ目に、第一種のヘッダ情報を書き込み、そのセクタの次のセクタの１ｗｏｒｄ目に第二種のヘッダ情報を書き込むように制御するようにしたものである。
また、好ましくは、第一種のヘッダ情報は、そのセクタの次のセクタのセクタコードであり、第二種のヘッダ情報は、そのセクタの次のセクタのセクタコードであるようにする。
【００１１】
また、本発明の不揮発性メモリコントローラは、不揮発性メモリにデータと書込み命令と消去命令を出力する不揮発性メモリコントローラであって、第一の面の不揮発性メモリのセクタと第二の面の不揮発性メモリのセクタを交互に順番付けて、第一の面の不揮発性メモリのＮ（Ｎ≧０の整数）番目のセクタにデータ書込みを実施しているときに、第二の面の不揮発性メモリのＮ＋１番目以降のセクタの消去をするようにしたものである。
【００１２】
また、好ましくは、第一の面の不揮発性メモリのＮ（Ｎは、０以上の整数）番目のセクタにデータ書込みを実施しているときに、第二の面の不揮発性メモリのＮ＋１番目のセクタ及びＮ＋２番目のセクタの消去をするようにする。
【発明の効果】
【００１３】
本発明によれば、フラッシュメモリのように書き込みと消去が同時にできないメモリ特性を有する不揮発性メモリ管理システムにおいて、メモリのアクセス速度と向上させ、不良ブロックの検知処理を別途設けなくても、不良ブロックの検知が可能となる不揮発性メモリ管理システム及び不揮発性メモリ管理方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】一実施形態に係る不揮発性メモリ管理システムの全体構成図である。
【図２】従来技術に係る不揮発性メモリ管理システムの全体構成図である。
【図３】フラッシュメモリチップ１（１００）、フラッシュメモリチップ２（１００）における書き込みと消去の様子を示す図である。
【図４】セクタにおけるヘッダ情報を説明する図である。
【図５】セクタのヘッダ情報、書き込みデータ、その状況の関係をまとめた表である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態を、図１ないし図５を用いて説明する。
【００１６】
先ず、図１及び図２を用いて本発明の一実施形態に係る不揮発性メモリ管理システムの構成と動作の概要について説明する。  
図１は、一実施形態に係る不揮発性メモリ管理システムの全体構成図である。
図２は、従来技術に係る不揮発性メモリ管理システムの全体構成図である。
【００１７】
本実施形態では、電話機の通話録音メモリに適用されたフラッシュメモリの記憶システムを、従来技術と対比して説明する。
【００１８】
本発明の一実施形態に係る不揮発性メモリ管理システムは、図１に示されるように、ＭＰＵ１０、メモリコントローラ２０、コーデック３０、バススイッチ４０、フラッシュメモリチップ１（１００）、フラッシュメモリチップ２（１００）からなる。
【００１９】
ＭＰＵ１０は、メモリコントローラ２０に制御を与えるマイクロプロセッサである。ＭＰＵ１０は、外部からの録音開始の制御信号を受け、メモリコントローラ２０に対して、制御信号と制御データを出力する。
【００２０】
メモリコントローラ２０は、コーデック３０から音声のデジタルデータの入出力を行えない、バススイッチ４０を介して、フラッシュメモリチップ１（１００）、フラッシュメモリチップ２（１００）に、書込み命令、読出し命令、消去命令を指示し、音声データの入出力を行う。メモリコントローラ２０には、イレーズ制御部２０１が備わっており、ＭＰＵ１０からの指示を受けなくとも、フラッシュメモリチップ１（１００）、フラッシュメモリチップ２（１００）に、消去命令を指示できるようになっている。
【００２１】
コーデック３０は、マイクからの音声（アナログ信号）を、コード化してデジタルデータに変換したり、デジタルデータを音声に変換する部分である。
【００２２】
本実施形態の不揮発性メモリ管理システムは、２面のフラッシュメモリチップ１（１００）、フラッシュメモリチップ２（１００）を有しており、各々独立に、書込み命令、読出し命令、消去命令を受けて、並列的に動作可能である。
【００２３】
次に、本実施形態の不揮発性メモリ管理システムを、従来技術に係る不揮発性メモリ管理システムと対比して説明する。  
図２に示した従来技術に係る不揮発性メモリ管理システムでは、メモリコントローラ２０′に、イレーズ制御部は備わっておらず、ＭＰＵ１０から消去命令を出力することにより、行なっていた。そのため、消去命令を出力ためバスが占有されて、フラッシュメモリの書き込みと消去の並列動作ができなかった。
【００２４】
また、フラッシュメモリチップ１００は、１面しか有していなかった。
【００２５】
これに対して、本実施形態の不揮発性メモリ管理システムでは、メモリコントローラ内に、イレーズ制御部２０１を有しているため、ＭＰＵ１０の指示に関らず、フラッシュメモリチップ１（１００）、フラッシュメモリチップ２（１００）における消去が可能となり、書き込みと消去の並列動作を行うことができる。
【００２６】
また、フラッシュメモリチップ１（１００）、フラッシュメモリチップ２（１００）と、記憶素子を２面有しており、各々独立に書き込み、読み出し、消去が可能であるため、処理の並列性を確保することができる。
【００２７】
次に、図３ないし図５を用いて、本実施形態の不揮発性メモリ管理システムのメモリ管理における特徴を説明する。  
図３は、フラッシュメモリチップ１（１００）、フラッシュメモリチップ２（１００）における書き込みと消去の様子を示す図である。  
図４は、セクタにおけるヘッダ情報を説明する図である。  
図５は、セクタのヘッダ情報、書き込みデータ、その状況の関係をまとめた表である。
【００２８】
（１）フラッシュメモリチップの面と、セクタごとの書き込みについて
本実施形態では、上で説明したように、フラッシュメモリの制御できる面を２面持つこととする。ここで、「面」とは、メモリコントローラ２０が制御できる単位であり、一つのメモリチップを１面に対応するように構成、一つのメモリ内に複数の面を構成、複数のメモリチップで1面を構成、いずれで実施するようにしてもよい。
「セクタ」は、メモリコントローラ２０がフラッシュメモリチップに、アクセスするときの最小の記録単位であり、例えば、１２８バイトで構成される。  
図３に示されるように、一つの面の中には、連続的にセクタがとられている。
【００２９】
本実施形態では、フラッシュメモリチップ１（１００）、フラッシュメモリチップ２（１００）をそれぞれの面とする２面のフラッシュメモリを使用して、フラッシュメモリチップ１（１００）の書込みセクタ（セクタＮ）にデータを書き込んでいるときに、フラッシュメモリチップ２（１００）のセクタＮ＋１，セクタＮ＋３の消去を実施する。このように、あるセクタに書き込んでいるときに、二つのセクタを消去することにより、そのセクタ（セクタＮ）の書き込みが完了した際には、消去済の面は、セクタＮ＋１，セクタＮ＋２，セクタＮ＋３の３面となる。ここで、セクタＮ＋２は、フラッシュメモリチップ２（１００）のセクタＮ−１の面にデータを書き込んでいるときに、消去が実施されたセクタである。
【００３０】
このように書込みセクタに対して、常に先行して、三つの消去済みのセクタを確保できるため、仮に、セクタＮ＋１にセクタ不良が発生したとしても、セクタＮ＋２，セクタＮ＋３の二つのセクタが消去済セクタであり、それを書込みセクタとして使用することができる。
【００３１】
（２）セクタのヘッダ情報とそれによる不良セクタの判別
本実施形態のメモリ管理では、ＭＰＵ１０がデータを書き込み完了時に、自セクタの２ｗｏｒｄ目に次セクタのセクタコード、次セクタの１ｗｏｒｄ目に次セクタのセクタコード（次セクタから見れば、自らのセクタコード）を記入する。これにより、ＭＰＵ１０がセクタの１ｗｏｒｄ目と２ｗｏｒｄ目を参照することにより、図５に示されるような状態判別が可能になる。
【００３２】
例えば、項番０４に示されるように、１ｗｏｒｄ目に自セクタ情報があり、２ｗｏｒｄ目が空（“ＦＦＦＦ”）であり、書込みデータの領域に書込みデータが存在するときには、書込みが完了していないセクタと判別することができ、そのようなセクタは不良セクタと判断し、それ以降のデータ書込みの対象外とする。
【００３３】
なお、このメモリ管理手法を用いるときには、セクタ０の１ｗｏｒｄ目は、フラッシュメモリの初期化時（消去時）に、０（“００００”）を書き込む必要がある。また、本実施形態では、１ｗｏｒｄを２バイトとしたが、その他のバイト数でも、このメモリ管理手法を適用することは、可能である。
【００３４】
また、この例では、“ＦＦＦＦ”を空としため、具体的には、フラッシュメモリチップにおける１面が、２１６−２＝６５５３４セクタまでの構成で使用することができる。
【００３５】
このメモリ管理手法によれば、ＭＰＵ１０が各々のセクタの１ｗｏｒｄ目、２ｗｏｒｄ目に書き込まれたヘッダ情報に基づいて、そのセクタを書込み・消去の対象から除外して、フラッシュメモリ全体をイレーズするまで、そのセクタを使用不可セクタとして管理することが可能となる。
【符号の説明】
【００３６】
１０…ＭＰＵ、２０…メモリコントローラ、３０…コーデック、４０…バススイッチ、１００…フラッシュメモリチップ１、フラッシュメモリチップ２。
【図１】
2018049513.tif 000003
【図２】
2018049513.tif 000004
【図３】
2018049513.tif 000005
【図４】
2018049513.tif 000006
【図５】
2018049513.tif 000007