(57)【要約】【課題】  フラッシュメモリに最良の機能を発揮させる制御方法の提供。【解決手段】  ページ或いはブロックを単位としたフラッシュメモリのデータアクセスに対する管理方法であり、ホスト（コンピュータ、カードリーダー、携帯電話等）がフラッシュメモリ中にデータ書き込みを行なう時、このデータの容量により選択的にページ単位或いはブロック単位でデータを書き込み、書き込み速度を高め、並びにフラッシュメモリの消去の動作を減らし、フラッシュメモリの使用寿命を延長する。【選択図】        図１
2005174468.tif 000002
【特許請求の範囲】
【請求項１】
ページ或いはブロックを単位としてフラッシュメモリのデータデータアクセスに対する管理を行なうフラッシュメモリのアクセス制御方法において、
ホストがフラッシュメモリにデータを書き込む時、このデータの容量により、ブロックを単位とするデータ消去、ページ読み出し、ページ書き込みの時間及び回数、及びこのデータの容量により、ページを単位とするページ消去、ページ書き込みの時間及び回数を計算し、さらにこれらの計算により得られたデータにより、最良の書き込み方式を選択し、ブロックを単位とする消去回数が少なく且つデータ転送速度が速ければ、ブロックを単位とするデータ書き込みを選択し、もしページを単位とする消去回数が少なく且つデータ転送速度が速ければ、ページを単位とするデータ書き込みを選択することを特徴とする、フラッシュメモリのアクセス制御方法。
【請求項２】
請求項１記載のフラッシュメモリのアクセス制御方法において、ページ読み出しの時間をｐｒ、ページ書き込みの時間をｐｐ、ページ消去の時間をｐｅ、ブロック消去の時間をｂｅとすると、ページ消去の方式でＮ個のページにアクセスする時間はｐｅ×Ｎ＋ｐｐ×Ｎで、ブロック消去方式のアクセスにかかる時間は、ｂｅ×１＋ｐｒ×（３２−Ｎ）＋ｐｐ×３２であることを特徴とする、フラッシュメモリのアクセス制御方法。
【請求項３】
請求項１記載のフラッシュメモリのアクセス制御方法において、ホストがコンピュータ、カードリーダー、携帯電話のいずれかとされたことを特徴とする、フラッシュメモリのアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はフラッシュメモリのアクセス制御方法に係り、特に、ページ（Ｐａｇｅ）或いはブロック（Ｂｌｏｃｋ）を単位とした、フラッシュメモリの行なうデータアクセスに対する管理方法に関する。
【背景技術】
【０００２】
一般にフラッシュメモリのアクセス方式は、フラッシュメモリ自身の構造設計の関係に制限されるため、読み取り時には一つのページを単位とし、各ページ内の任意のアドレスよりデータ読み取りを開始する。書き込み時には、ブロックを単位とし、先ず全体のブロックを消去してからでなければ１ページずつの書き込みが行なえない。このため処理容量が一つのブロックのデータより小さい時、アクセス方式の設定はフラッシュメモリの構造に制限される。
【０００３】
フラッシュメモリの物理特性は、フラッシュメモリ中にデータが皆無のときにはじめて一つのセクタのデータを完全にフラッシュメモリの一つのページに書き込むことができる。ゆえに、このページ中にデータを書き込む時は、先ずこのページが「空」であることを確認する。いわゆる「空」であるとは、このページのもともとのデータがいずれも「１」であることを指す。これまでフラッシュメモリの管理はブロックを単位とし、もしデータをブロック内の一つのページ中に書き込みたいときは、便利さと安全面から、フラッシュメモリ中よりデータのない新しいブロック（いわゆる予備のブロック）を探し出し、このデータを該新しいブロックに対応するページ中に書き込み、もとの古いブロックのデータは完全に新しいブロック中に移し、更に古いブロックを消去して、別の新しいブロックとなす。
【０００４】
もし処理するデータ容量が連続する数ブロックに及ぶ時は、フラッシュメモリ中より新しいブロックを探し出し、データを対応するページに書き込み、全てのデータの書き込み完成後に、古いブロックにあったデータを新しいブロックの対応するページ中に書き込み、さらに古いブロックを消去する。ホスト（コンピュータ、カードリーダー、携帯電話等）は不断にフラッシュメモリのファイル配置表（ＦＡＴ）を更新し、且つもし複製のデータが一つの小ファイルである場合、フラッシュメモリに関して言えば、一度に多くのページのデータを処理する訳ではないのに、フラッシュメモリは不断に新しいブロックを探し出し、並びに不断に古いブロックのデータを新しいブロックに移し、及び不断に古いブロックを消去しなければならない。
【０００５】
フラッシュメモリの物理特性に基づき、フラッシュメモリの行なう消去の動作が１００万界を越えると、フラッシュメモリ内部の損壊が形成されやすく、ゆえにフラッシュメモリの寿命を延長させるためには、フラッシュメモリに対する消去の動作を減らす必要がある。このため、これまでのブロックを単位としてフラッシュメモリを管理する方法はフラッシュメモリの破壊率がページを単位とする管理よりも高くなる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は一種のフラッシュメモリのアクセス制御方法を提供することを目的とし、それは、フラッシュメモリに最良の性能を発揮させる制御方法であり、書き込みの速度を高め、並びにフラッシュメモリの行なう消去の動作を減らし、従来の技術の多くの欠点を排除できる方法である。
【０００７】
本発明の主要な目的は、ページ或いはブロックを単位とした、フラッシュメモリのデータデータアクセスに対する管理方法を提供し、ホスト（コンピュータ、カードリーダー、携帯電話等）がフラッシュメモリにデータ書き込みを行なう時、このデータの容量により、ブロックを単位とする消去、データ転送の時間及び回数を計算し、及びページを単位とする消去、データ転送の時間及び回数を計算し、さらに上述の計算で得たデータに基づき、一種類の最良の書き込み方式を選択し、書き込みの速度を加速し、並びに該フラッシュメモリの行なう消去の動作を減らし、これによりフラッシュメモリの使用寿命を延長することにある。
【課題を解決するための手段】
【０００８】
請求項１の発明は、ページ或いはブロックを単位としてフラッシュメモリのデータデータアクセスに対する管理を行なうフラッシュメモリのアクセス制御方法において、
ホストがフラッシュメモリにデータを書き込む時、このデータの容量により、ブロックを単位とするデータ消去、ページ読み出し、ページ書き込みの時間及び回数、及びこのデータの容量により、ページを単位とするページ消去、ページ書き込みの時間及び回数を計算し、さらにこれらの計算により得られたデータにより、最良の書き込み方式を選択し、ブロックを単位とする消去回数が少なく且つデータ転送速度が速ければ、ブロックを単位とするデータ書き込みを選択し、もしページを単位とする消去回数が少なく且つデータ転送速度が速ければ、ページを単位とするデータ書き込みを選択することを特徴とする、フラッシュメモリのアクセス制御方法としている。
請求項２の発明は、請求項１記載のフラッシュメモリのアクセス制御方法において、ページ読み出しの時間をｐｒ、ページ書き込みの時間をｐｐ、ページ消去の時間をｐｅ、ブロック消去の時間をｂｅとすると、ページ消去の方式でＮ個のページにアクセスする時間はｐｅ×Ｎ＋ｐｐ×Ｎで、ブロック消去方式のアクセスにかかる時間は、ｂｅ×１＋ｐｒ×（３２−Ｎ）＋ｐｐ×３２であることを特徴とする、フラッシュメモリのアクセス制御方法としている。
請求項３の発明は、請求項１記載のフラッシュメモリのアクセス制御方法において、ホストがコンピュータ、カードリーダー、携帯電話のいずれかとされたことを特徴とする、フラッシュメモリのアクセス制御方法としている。
【発明の効果】
【０００９】
本発明のフラッシュメモリのアクセス制御方法は、ページ或いはブロックを単位とした、フラッシュメモリのデータデータアクセスに対する管理方法であり、ホスト（コンピュータ、カードリーダー、携帯電話等）がフラッシュメモリにデータ書き込みを行なう時、このデータの容量により、ブロックを単位とする消去、データ転送の時間及び回数を計算し、及びページを単位とする消去、データ転送の時間及び回数を計算し、さらに上述の計算で得たデータに基づき、一種類の最良の書き込み方式を選択し、書き込みの速度を加速し、並びに該フラッシュメモリの行なう消去の動作を減らし、これによりフラッシュメモリの使用寿命を延長する。
【発明を実施するための最良の形態】
【００１０】
図１は本発明の全体システム構造図である。このシステムはシングルチップフラッシュメモリコントローラ１１、フラッシュメモリ１２、ホストインタフェース１３及びホスト１４（コンピュータ、カードリーダー、携帯電話等）を具えている。そのうち、シングルチップフラッシュメモリコントローラ１１はフラッシュメモリ１２は接続され、並びにホストインタフェース１３を介してホスト１４（コンピュータ、カードリーダー、携帯電話等）と接続され、ホスト１４によりシングルチップフラッシュメモリコントローラ１１が制御されてフラッシュメモリ１２中のデータとアクセスし、シングルチップフラッシュメモリコントローラ１１にプログラムメモリ１５が内蔵されるか外接され、このシングルチップフラッシュメモリコントローラ１１が該プログラムメモリ１５に事前に設定されたプログラムにより、フラッシュメモリ１２に対してアクセス動作を行なう。
【００１１】
図２の本発明のページを基本アクセス単位とするフラッシュメモリ構造図を参照されたい。毎回書き込みの前にはページ／ブロックに対する消去の動作を行ない、そのうち消去のタイミングは図３に示されるとおりであり、書き込みはページを単位として行なわれ、書き込みのタイミングは図４に示されるとおりである。
【００１２】
本発明中、図１、５、６に示されるように、本発明の方法は書き込むデータの容量のページ数により、新しいブロック（予備のブロック）を決定して新しいデータを保存するかを決定するか、或いは更新したいページ５１を直接消去し、そのページ５１を「空」の状態とした後（図５）、更に新しいデータをこの新しいページ５１中（図６）に書き込み、消去の動作を減らし、フラッシュメモリ１２の毀損を防止し、フラッシュメモリ１２の使用寿命を延長する。
【００１３】
さらに、仕様書に基づく特性によると、ブロック消去（Ｂｌｏｃｋ  Ｅｒａｓｅ）の時間は４ｍｓ、ページ消去の時間は４ｍｓである。ページ書き込みの時間は２００μｓ、一つのブロックが全部で３２個のページを有するため、ブロック書き込み（Ｂｌｏｃｋ  Ｐｒｏｇｒａｍ）の時間はページ書き込み時間（Ｐａｇｅ  Ｐｒｏｇｒａｍ）の時間×３２で、６．４ｍｓとなり、ページ読み出し（Ｐａｇｅ  ｒｅａｄ）の時間は５μｓ（Ｆｉｒｓｔ  ｂｙｔｅ  ｌａｔｅｎｃｙ）に、５０ｎｓに５２８を乗じたものを加えたもので、３１．４μｓである。ゆえに、従来のブロックを単位とする管理方式は、ブロック内のある一つのページを変更するだけででも、新しいページのデータを外部コントローラーより入力するだけでなく、その他の３１個のページのデータも古いブロックから新しいブロックに転送しなければならず（図７〜図１１）、全部で少なくともブロック消去（Ｂｌｏｃｋ  Ｅｒａｓｅ）×１に、ページ読み出し（Ｐａｇｅ  ｒｅａｄ）×３１とページ書き込み（Ｐａｇｅ  ｒｅａｄ）×３１を加えた、１１．３７ｍｓが必要である。ただし、ページを単位とする管理の時は、図５、６に示されるように、ただ一つのページ消去に一つのページ書き込みを加えた４．２ｍｓかかるだけで、その他の３１個のページの古いブロックから新しいブロックへの移送の時間を省略できる。
【００１４】
ただし、ページ消去とブロック消去の時間が等しく、いずれも４ｍｓであるため、もし３２個のページのデータがすべてもとのデータと異なっていて、全部消去しなければならない時は、ページ消去の方式のみで処理すると、ページ消去×３２にページ書き込み×３２を加えた１３４．４ｍｓかかり、ブロック方式が、一つのブロック消去に、ページ書き込み×３２を加えた１０．４より非常に多くなってしまう。このためいつページ消去により処理し、いつブロック消去により処理するかは、フラッシュメモリ１２中の規格のページ書き込みの時間、ページ消去の時間、及びブロック消去の時間により決定しなければならない。アクセスするページが少ない時、ページ消去は比較的有利であり、アクセスするページが多い時は、ブロック消去による処理のほうが時間がかからない。
【００１５】
この個数の多い少ないをどのように決定するかについて、我々は各時間のパラメータを仮定していくつのページにどの方法でアクセスすれば最も有利な結果が得られるかを計算する。
【００１６】
まず、ページ読み出しの時間をｐｒとし、ページ書き込みの時間をｐｐとし、ページ消去の時間をｐｅとし、ブロック消去の時間をｂｅとすると、ページ消去の方式でＮ個のページにアクセスするのに費やす時間は、ｐｅ×Ｎ＋ｐｐ×Ｎであり、このほか、ブロック消去の方式でアクセスするのにかかる時間は、ｂｅ×１＋ｐｒ×（３２−Ｎ）＋ｐｐ×３２である。両者を比較すると、ページ消去の時間はブロック消去の時間より少なくしたいなら、ｐｅ×Ｎ＋ｐｐ×Ｎ＜ｂｅ×１＋ｐｒ×（３２−Ｎ）＋ｐｐ×３２にこのフラッシュメモリ１２のパラメータ、即ち、ｐｅ＝４ｍｓ、ｐｐ＝２００μｓ、ｐｒ＝３１．４μｓ、ｂｅ＝４ｍｓを代入し、計算した結果、Ｎ＜２．６の時にページ消去の方式を使用すれば、良好な性能が得られることが分かる。その原因は、このフラッシュメモリ１２のページ消去の時間とブロック消去の時間が同じことにある。もし将来、ページ消去の時間がブロック消去の時間よりも少ない新たな規格のフラッシュメモリが出現すれば、Ｎ値を高めて、フラッシュメモリの弾性を更に大きくすることができる。
【００１７】
以上は本発明の好ましい実施例であるが、本発明の実施範囲を限定するものではなく、本発明に基づきなしうる細部の修飾或いは改変は、いずれも本発明の請求範囲に属するものとする。
【図面の簡単な説明】
【００１８】
【図１】本発明の全体システム構造図である。
【図２】本発明のページを基本アクセス単位とするフラッシュメモリ構造図である。
【図３】本発明の消去実行のタイミング図である。
【図４】本発明のページを単位とした書き込みのタイミング図である。
【図５】本発明のページ消去の表示図である。
【図６】本発明のページを単位とする書き込みの表示図である。
【図７】本発明のブロックを単位とする書き込みの表示図の一である。
【図８】本発明のブロックを単位とする書き込みの表示図の二である。
【図９】本発明のブロックを単位とする書き込みの表示図の三である。
【図１０】本発明のブロックを単位とする書き込みの表示図の四である。
【図１１】本発明のブロックを単位とする書き込みの表示図の五である。
【符号の説明】
【００１９】
１１  シングルチップフラッシュメモリコントローラ
１２  フラッシュメモリ
１３  ホストインタフェース
１４  ホスト
１５  プログラムメモリ
【図１】
2005174468.tif 000003
【図２】
2005174468.tif 000004
【図３】
2005174468.tif 000005
【図４】
2005174468.tif 000006
【図５】
2005174468.tif 000007
【図６】
2005174468.tif 000008
【図７】
2005174468.tif 000009
【図８】
2005174468.tif 000010
【図９】
2005174468.tif 000011
【図１０】
2005174468.tif 000012
【図１１】
2005174468.tif 000013