(57)【要約】      （修正有）【課題】  フラッシュメモリに対するデータの書き込み不能状態を回避し、データを高速かつ連続して書き込むことが出来るメモリ管理方法および装置を提供すること。【解決手段】  空きページ表と書き込み回数表から書き込み順序表を決定し、速度ランク表と前記書き込み順序表から、データ・レートに応じた連続書き込み時間を計算し表示する。この連続書き込み時間がユーザにとって満足できない場合、空きページ表と速度ランク表から新たな書き込み順序表を決定し、速度ランク表と前記新たな書き込み順序表から新たな連続書き込み時間を計算し表示する。連続書き込み時間がユーザにとって満足できる場合、書き込み順序決定後、書き込み処理が開始され、各ページの書き込みに要した時間とブロック毎の消去時間を測定し、書き込み終了後に前記各表を更新し、データ書き込みが終了する。【選択図】      図２
2006059287.tif 000002
【特許請求の範囲】
【請求項１】
空きページ表と書き込み回数表とをもとにフラッシュメモリへの書き込み順序を決定し、前記決定した書き込み順序をもとに前記フラッシュメモリへの書き込みを行い、前記書き込み終了後、前記空きページ表と書き込み回数表とを更新する、フラッシュメモリを使用したメモリカードシステムにおけるメモリ管理方法であって、
前記決定した書き込み順序により前記フラッシュメモリへ書き込みを行なった際のブロック単位の消去およびページ単位の書き込みに要する時間を測定する測定ステップと、
前記測定ステップにおいて測定した前記ブロック単位の消去およびページ単位の書き込みに要する時間を速度ランク表として格納する速度ランク表作成ステップと、
を備えたことを特徴とするメモリ管理方法。
【請求項２】
前記測定ステップは、基準信号を計数して時間経過を計測する計時手段により、フラッシュメモリのステータス出力が「ビジィ状態」から「レディ状態」へ戻るまでの時間を計測することで、ブロック単位の消去およびページ単位の書き込みに要する時間を測定することを特徴とする請求項１記載のメモリ管理方法。
【請求項３】
空きページ表と書き込み回数表とをもとにフラッシュメモリへの書き込み順序を決定し、前記決定した書き込み順序をもとに前記フラッシュメモリへの書き込みを行う、フラッシュメモリを使用したメモリカードシステムにおいて、
前記決定した書き込み順序により前記フラッシュメモリへ書き込みを行なった際のブロック単位の消去およびページ単位の書き込みに要する時間を測定する測定手段と、
前記測定手段により測定した前記ブロック単位の消去およびページ単位の書き込みに要する時間をもとに速度ランク表を作成する速度ランク表作成手段と、
を備えたことを特徴とするメモリカードシステム。
【請求項４】
前記空きページ表と前記書き込み回数表をもとに、書き込み回数が少ないページから優先的に使用する書き込み順序表を作成する書き込み順序表作成手段と、
前記書き込み順序表作成手段により作成した書き込み順序表と、前記速度ランク表作成手段により作成した速度ランク表とをもとに、書き込みデータ・レートごとの連続書き込み時間を算出して表示する連続書き込み時間算出表示手段と、
を備えたことを特徴とする請求項３記載のメモリカードシステム。
【請求項５】
前記連続書き込み時間算出表示手段により算出した連続書き込み時間が、使用者の要求を満たしていない場合、前記空きページ表と前記速度ランク表とをもとに、書き込み速度が速いページから優先的に使用する書き込み順序表を再作成する書き込み順序表再作成手段と、
前記書き込み順序表再作成手段により再作成した書き込み順序表と前記速度ランク表とをもとに、書き込みデータ・レートごとの連続書き込み時間を再度算出し表示する再算出表示手段と、
を備えたことを特徴とする請求項４記載のメモリカードシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの書き込みを高速化できるメモリ管理方法および装置に関する。
【背景技術】
【０００２】
従来の記憶装置、特にフラッシュメモリを用いた記憶装置は、記憶データを保持するための電力が不要であることから近年、盛んに用いられるようになっている。特に、携帯電話装置を含む、携帯用の端末装置にはメモリとしてフラッシュメモリが多く用いられている。このようなフラッシュメモリを用いた記憶装置においては、データの書き込みに要する時間を短縮し、高速でデータの書き込みを行なえるようにする必要がある。
【０００３】
しかしながら、フラッシュメモリは、書き込むデータを入力するのに要するデータ入力時間に対し、その書き込むデータをフラッシュメモリのセルに実際に書き込むのに要するプログラム時間が比較的長いため、書き込むデータの量が、フラッシュメモリへ一度に入力可能な量よりも多いと、フラッシュメモリにデータを入力してから、次のデータを入力するまでに、少なくともプログラム時間だけの待ち時間が発生することになり、データの書き込みに時間を要し、高速での書き込みが出来ないことになる。
【０００４】
図３は、このようなフラッシュメモリを複数用いた従来のメモリカード１００の構成を示すブロック図である。このメモリカード１００は、データの書き込みや読み出しの制御を主に行うフラッシュメモリ制御回路２０１と、１６個のフラッシュメモリ２０２と、論理物理変換、ガベージ処理、ウエア・レベリングなどの管理を行うフラッシュメモリ管理回路２０３を備えている。なお、論理物理変換とは、フラッシュメモリでは出荷時から欠陥ブロックが存在し代替ブロックを使用することが多く、このときユーザが使用する論理アドレスとメモリ上の物理アドレスとを変換テーブルにより変換する処理である。また、ガベージ処理とは、消去と書き込みを繰り返すと、一部分のページだけが書き込まれたブロックが増加するため、これら断片的なページを統合し出来るだけ多くのブロックを消去済みにしてブロック全体を書き込み可能な状態にする処理である。また、ウエア・レベリングとは、フラッシュメモリは書き換え回数が有限であり、書き換えを繰り返すとそのブロックは徐々に劣化するため、同一のブロックに書き換えが繰り返されないように均等化する処理である。
また、このフラッシュメモリでは読み出し誤りが発生するため「誤り訂正」が必要となるが、このフラッシュメモリを用いたメモリカードで用いられている誤り訂正符号は、例えばハミング符号などのような、１ビット誤り訂正／２ビット誤り検出程度の能力を有したものである。
【０００５】
フラッシュメモリ制御回路２０１は、図示していないリーダとの間でデータや各種信号の送受を行うためのリーダインタフェース回路２１１、各部の制御を行うマイクロプロセッシングユニット（ＭＰＵ）２１２、バッファ２１３、論理物理変換表２１４、誤り訂正手段であるＥＣＣ２１５およびフラッシュメモリ２０２との間のインタフェースを行うフラッシュインタフェース回路２１６を備えている。また、フラッシュメモリ管理回路２０３は、書き込み可能な論理アドレスを格納した空きページ表２２１と各ページのこれまで書き換えられた回数を示す書き込み回数表２２２とを備えている。なお、これら空きページ表２２１と書き込み回数表２２２は、システムまたはフラッシュメモリの内部に格納されていてもよい。
【０００６】
図４は、図３に示すフラッシュメモリを使用したメモリカード１００における書き込み制御についてのメモリ管理方法および装置を示すフローチャートである。以下、このフローチャートを参照し、従来のメモリカード１００におけるメモリ管理方法および装置についての動作説明をする。前記リーダとのインタフェースから、リーダインタフェース回路２１１を介してフラッシュメモリ制御回路２０１へデータ書き込み命令が入力されると、フラッシュメモリ管理回路２０３が呼び出され、フラッシュメモリ管理回路２０３は、空きページ表２２１と書き込み回数表２２２から書き込み順序を決定し（ステップＳ１０１）、これをフラッシュメモリ制御回路２０１へ伝える。その後、フラッシュメモリ制御回路２０１が１６個のフラッシュメモリ２０２を制御して実際の書き込みが開始され（ステップＳ１０２）、書き込みが終了したら（ステップＳ１０３）、フラッシュメモリ管理回路２０３の空きページ表２２１と書き込み回数表２２２を更新し（ステップＳ１０４）、データの書き込み処理が終了する。
【０００７】
以上の説明は特に書き込み制御に関するものであり、「論理物理変換」はフラッシュメモリ制御回路２０１内で書き込み制御が開始され論理アドレスが指定された時に論理物理変換表を参照して物理アドレスに変換する際に行われる。「ガベージ処理」は、書き込み時のメモリー管理とは別の空き時間を使って行われる。また、書き込みや消去でエラーが発生した場合には代替ブロックを用いることになるので、論理物理変換表は書き換えられることになる。
図４のフローチャートにおいて、書き込み回数表２２２を参照して書き込み順序を決定するのが「ウェア・レベリング」である。すなわち、書き込み回数表２２２を参照し、今までの書き込み回数が少ないページから順番に書いていくように書き込み順序を決定することで、書き込み回数が均等化され、フラッシュメモリの長寿命化が達成される。
【０００８】
このようなメモリカードを構成する複数のフラッシュメモリへデータを並列的に書き込むことで、データの書き込みに要する時間の短縮化を図る記録方式がある。
これは、例えば、複数のフラッシュメモリのうちの１のチップにデータを入力し、その入力が終了すると、次のデータを他のチップに入力し、その入力が終了すると、さらに次のデータをさらに他のチップに入力するものである。すなわち、１のチップにおいて、入力されたデータがメモリセルに書き込まれている間に、次のデータを他の１のチップに入力するものであり、この結果、１のチップのプログラム時間を待たずに、次のデータの入力を行うことが出来、データの書き込みに要する時間を短縮することが可能になるものである（例えば、特許文献１参照）。
【特許文献１】特開２０００−１２２９２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
かかる従来の記録方式では、以下の短所が付随している。すなわち、高速のデータを連続して書き込みたい場合、どのくらいのデータ量（時間）までなら連続して書き込むことが出来るかを知ることはできない。つまり、各ページの書き込み時間が不明なので、高速データの書き込みが終了する前に、フラッシュメモリ制御回路２０１内のバッファ２１３がオーバーフローしてしまう可能性が避けられないという課題があった。
【００１０】
本発明は、このような事情に鑑みてなされたものであり、データの書き込みが終了する前に、フラッシュメモリに対するデータの書き込みが不能になってしまう状態を回避し、データを高速かつ連続して書き込むことが出来るメモリ管理方法および装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述の目的を達成するため、本発明にかかるメモリ管理方法は、空きページ表と書き込み回数表とをもとにフラッシュメモリへの書き込み順序を決定し、前記決定した書き込み順序をもとに前記フラッシュメモリへの書き込みを行い、前記書き込み終了後、前記空きページ表と書き込み回数表とを更新する、フラッシュメモリを使用したメモリカードシステムにおけるメモリ管理方法および装置であって、前記決定した書き込み順序により前記フラッシュメモリへ書き込みを行なった際のブロック単位の消去およびページ単位の書き込みに要する時間を測定する測定ステップと、前記測定ステップにおいて測定した前記ブロック単位の消去およびページ単位の書き込みに要する時間を速度ランク表として格納する速度ランク表作成ステップとを備えたことを特徴とする。
【００１２】
上述の目的を達成するため、本発明にかかるメモリカードシステムは、決定した書き込み順序によりフラッシュメモリへ書き込みを行なった際のブロック単位の消去およびページ単位の書き込みに要する時間を測定する測定手段と、前記測定手段により測定した前記ブロック単位の消去およびページ単位の書き込みに要する時間をもとに速度ランク表を作成する速度ランク表作成手段とを備えたことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、フラッシュメモリにデータを書き込んだ時の書き込み時間をページ単位、消去時間をブロック単位で計測し、速度ランク表を作成するため、これに基づいて連続書き込み時間を計算することが可能になり、データ・レートに応じた連続書き込み可能時間を知ることが出来、データの書き込みが終了する前に、フラッシュメモリへのデータの書き込みが不能になってしまう状態を回避でき、高速にデータを連続して書き込むことが出来るメモリ管理方法および装置を提供できる。
【発明を実施するための最良の形態】
【００１４】
データの書き込みが終了する前に、フラッシュメモリに対するデータの書き込みが不能になってしまう状態を回避でき、高速にデータを連続して書き込むことが出来るメモリ管理方法を提供するという目的を、決定した書き込み順序により前記フラッシュメモリへ書き込みを行なった際のブロック単位の消去およびページ単位の書き込みに要する時間を測定ステップで測定し、前記測定ステップにおいて測定した前記ブロック単位の消去およびページ単位の書き込みに要する時間を速度ランク表作成ステップにより速度ランク表として格納することで実現した。
【００１５】
データの書き込みが終了する前に、フラッシュメモリに対するデータの書き込みが不能になってしまう状態を回避でき、高速にデータを連続して書き込むことが出来るメモリカードシステムを提供するという目的を、決定した書き込み順序により前記フラッシュメモリへ書き込みを行なった際のブロック単位の消去およびページ単位の書き込みに要する時間を測定手段により測定し、前記測定手段により測定した前記ブロック単位の消去およびページ単位の書き込みに要する時間をもとに速度ランク表作成手段により速度ランク表を作成することで実現した。
【実施例１】
【００１６】
以下、本発明の一実施例について説明する。
図１は、この実施例１のデータ記録方法が適用されるメモリカード１の構成を示すブロック図である。なお、図１において図３と同一または相当の部分については同一の符号を付してある。このメモリカード１は、データの書き込みや読み出しの制御を主に行うフラッシュメモリ制御回路２０１と、１６個のフラッシュメモリ２０２と、論理物理変換、ガベージ処理、ウエア・レベリングなどの管理を行うフラッシュメモリ管理回路２０３と、データ・レートに応じた連続書き込み時間を表示する表示手段３０１を備えている。なお、論理物理変換とは、フラッシュメモリでは出荷時から欠陥ブロックが存在し代替ブロックを使用することが多く、このときユーザが使用する論理アドレスとメモリ上の物理アドレスとを変換テーブルにより変換する処理である。また、ガベージ処理とは、消去と書き込みを繰り返すと、一部分のページだけが書き込まれたブロックが増加するため、これら断片的なページを統合し出来るだけ多くのブロックを消去済みにしてブロック全体を書き込み可能な状態にする処理である。また、ウエア・レベリングとは、フラッシュメモリは書き換え回数が有限であり、書き換えを繰り返すとそのブロックは徐々に劣化するため、同一のブロックに書き換えが繰り返されないように均等化する処理である。
また、このフラッシュメモリでは読み出し誤りが発生するため「誤り訂正」が必要となるが、このフラッシュメモリを用いたメモリカードで用いられている誤り訂正符号は、例えばハミング符号などのような、１ビット誤り訂正／２ビット誤り検出程度の能力を有したものである。
【００１７】
フラッシュメモリ制御回路２０１は、図示していないリーダとの間でデータや各種信号の送受を行うためのリーダインタフェース回路２１１、各部の制御を行うマイクロプロセッシングユニット（ＭＰＵ）２１２、バッファ２１３、論理物理変換表２１４、誤り訂正手段であるＥＣＣ２１５およびフラッシュメモリ２０２との間のインタフェースを行うフラッシュインタフェース回路２１６を備えている。また、フラッシュメモリ管理回路２０３は、書き込み可能な論理アドレスを格納した空きページ表２２１と各ページのこれまで書き換えられた回数を示す書き込み回数表２２２と速度ランク表２２３とを備えている。なお、これら空きページ表２２１と書き込み回数表２２２は、システムまたはフラッシュメモリの内部に格納されていてもよい。
【００１８】
図２は、図１に示すフラッシュメモリを使用したメモリカード１における書き込み制御についてのメモリ管理方法を示すフローチャートである。以下、このフローチャートを参照し、メモリカード１におけるメモリ管理方法についての動作説明を行う。
この実施例１で開示される本発明の基本的な部分は、フラッシュメモリにデータを書き込んだ時の書き込み時間をページ単位で、消去時間をブロック単位で調べることである。これは、書き込みまたは消去の際に、ステータス出力が「ビジィ状態」から「レディ状態」へ戻るまでの時間を例えば基準クロック信号を使ったカウンタで測定することで可能になる。
先ず、図示していないリーダとのインタフェースから、リーダインタフェース回路２１１を介してフラッシュメモリ制御回路２０１へデータ書き込み命令が入力されると、フラッシュメモリ管理回路２０３が呼び出され、書き込み順序が決定済みであるかどうかを確認する（ステップＳ１）。この結果、書き込み順序が決定済みでない場合には、空きページ表２２１と書き込み回数表２２２から、書き込み回数が少ないものから優先的に使うように書き込み順序表を決定する（ステップＳ６）。次に、速度ランク表２２３と前記決定した書き込み順序表から、データ・レートに応じた連続書き込み時間を計算し、表示手段３０１へ表示する（ステップＳ７）。ユーザは、表示手段３０１により表示された前記連続書き込み時間を確認し（ステップＳ８）、満足できるものであればこれにより書き込み順序が決定する（ステップＳ９）。一方、前記連続書き込み時間に対しユーザが満足できない場合、空きページ表２２１と速度ランク表２２３から、書き込み速度の速いページを優先的に使うように、新たな書き込み順序表を決定する（ステップＳ１０）。次に、速度ランク表２２３と前記新たな書き込み順序表から新たな連続書き込み時間を計算し、表示手段３０１へ表示する（ステップＳ１１）。ユーザはこの新たな連続書き込み時間を確認し（ステップＳ１２）、満足できるものであればこれにより書き込み順序が決定する（ステップＳ９）。一方、この新たな連続書き込み時間でも満足できない場合には、メディア（メモリカード）を交換し（ステップＳ１３）、ステップＳ６へ戻り、ステップＳ６以降の処理を再度実行することになる。
【００１９】
書き込み順序が決定すると（ステップＳ９）、フラッシュメモリ制御回路２０１は１６個のフラッシュメモリ２０２を制御し、実際の書き込み処理が開始される（ステップＳ２）。ここで、各ページの書き込みに要した時間を測定しておく。同様に、消去が行われた場合には、ブロック毎の消去時間を測定しておく（ステップＳ３）。そして、書き込みが終了したら（ステップＳ４）、フラッシュメモリ管理回路２０３内の空きページ表２２１と書き込み回数表２２２および速度ランク表２２３を更新し（ステップＳ５）、データ書き込みが終了する。以上のような手順を踏むことによって、ユーザーは所望のデータ・レートで連続書き込みが可能な時間を知ることが出来る。
【００２０】
ＨＤ−ＣＡＭ，  ＤＶＣＡＭ などという略称の、ＥＮＧ用途で用いられる放送局用ＶＣＲのフォーマットがあり、これらは代表的なデータ・レートの例になっている。ＨＤ−ＳＲなどの速いレートの場合は、遅いページが使われるとバッファがオーバフローするので、メモリカードの残り容量と比較して、連続書き込み時間は短く計算される。ＤＶＣＡＭなどの遅いレートであれば、ほとんどすべての残り容量が使えるので、長い時間記録できることになる。表示手段３０１を使用し、この連続書き込み時間をユーザに知らせることで、使い勝手の良い安心して使えるメモリカードを実現することが出来る。
【００２１】
なお、請求項１の測定ステップは、図２のフローチャートに示すステップＳ３に対応する。また、請求項１の速度ランク表作成ステップは、図２のフローチャートに示すステップＳ５に対応する。
【００２２】
以上のように、この実施例１によれば、フラッシュメモリにデータを書き込んだ時の書き込み時間をページ単位、消去時間をブロック単位で計測し、速度ランク表を作成し、これに基づいて連続書き込み時間を計算することで、データ・レートに応じた連続書き込み可能時間を知ることが出来、データの書き込みが終了する前に、フラッシュメモリへのデータの書き込みが不能になってしまう状態を回避でき、高速にデータを連続して書き込むことが出来るメモリ管理方法および装置を提供できる効果がある。
また、高速データを長時間書き込みたい場合には、一時的に寿命に対する配慮を無視し、書き込み速度優先で書き込むことも出来るため、ユーザ固有の使用形態や状況に柔軟に対応できる使い勝手の良いメモリ管理方法および装置を提供できる効果がある。
また、速度優先でも要求を満たさない場合、または速度優先では使用したくない場合、
メディア交換の必要性が生じるが、このメディア交換の判断が的確に出来る効果がある。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施例１のデータ記録方法が適用されるメモリカードの構成を示すブロック図である。
【図２】本発明の実施例１のフラッシュメモリを使用したメモリカードにおける書き込み制御についてのメモリ管理方法を示すフローチャートである。
【図３】従来のメモリカードの構成を示すブロック図である。
【図４】従来のフラッシュメモリを使用したメモリカードにおける書き込み制御についてのメモリ管理方法を示すフローチャートである。
【符号の説明】
【００２４】
フラッシュメモリ……２０２、２０１……フラッシュメモリ制御回路、２１２……マイクロプロセッシングユニット（測定手段、速度ランク表作成手段、書き込み順序表作成手段、連続書き込み時間算出表示手段、書き込み順序表再作成手段、再算出表示手段）、２２１……空きページ表、２２２……書き込み回数表、２２３……速度ランク表、３０１……表示手段。
【図１】
2006059287.tif 000003
【図２】
2006059287.tif 000004
【図３】
2006059287.tif 000005
【図４】
2006059287.tif 000006