(57)【要約】【課題】従来はホストからの書込みデータを全てフラッシュメモリに転送していたため、例えば未書込み論理領域へのフラッシュメモリ初期値書込みといった処理において不要なデータ転送が発生し、処理速度が低下していた。【解決手段】ホストからの書込み処理の際に、書込みデータとフラッシュメモリ初期値とが等しいかどうかを判断し、書込みデータがフラッシュメモリ初期値に等しい場合には、フラッシュメモリへのデータ転送を抑制する。【選択図】図４
2007304920.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリへの書込みデータとフラッシュメモリ初期値との等価を判定する工程と、
書込み対象論理アドレスがフラッシュメモリの物理アドレスに割当済みかどうかを判定する工程と、
フラッシュメモリへの書込みデータとフラッシュメモリ初期値とが等価であり、かつ書込み対象論理アドレスがフラッシュメモリの物理アドレスに未割当であった場合に、フラッシュメモリへのデータ転送を取り止める工程とを備えたことを特徴とするフラッシュメモリ制御方法。
【請求項２】
フラッシュメモリへの書込みデータとフラッシュメモリ初期値との等価を判定する工程と、
フラッシュメモリへの書込みデータとフラッシュメモリ初期値とが等価であった場合に、フラッシュメモリの論理物理アドレス変換情報において、書込み対象論理アドレスをフラッシュメモリの物理アドレスに対して未割当とする工程と、
フラッシュメモリへの書込みデータとフラッシュメモリ初期値とが等価であった場合に、フラッシュメモリの論理物理アドレス変換情報のみを当該フラッシュメモリへ転送する工程とを備えたことを特徴とするフラッシュメモリ制御方法。
【請求項３】
フラッシュメモリへの書込みデータの特定アドレス以降のデータとフラッシュメモリ初期値との等価を判定する工程と、
フラッシュメモリへのデータ転送の際に、フラッシュメモリ初期値と等価な特定アドレス以後のフラッシュメモリへの書込みデータについては、フラッシュメモリへのデータ転送を取り止める工程とを備えたことを特徴とするフラッシュメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリ制御方法に関し、特にホストからフラッシュメモリへのデータ書込みの制御方法に関するものである。
【背景技術】
【０００２】
昨今、コンピュータ等の電子機器で用いられるデータを記憶させておく外部記憶装置として、書換え可能な不揮発性メモリを用いた、主としてカード形態の記憶装置（メモリカード）の使用が広がっている。
【０００３】
メモリカードにおいて記憶手段である不揮発性メモリの代表的なものに、フラッシュメモリがある。フラッシュメモリに保持するデータはブロック単位で管理され、データの消去がブロック単位で行われる。各ブロックは複数のページからなる。ページはデータの読出し及び書込みの最小単位である。
【０００４】
各ページはデータとは別に冗長部を有しており、この冗長部に当該ページに割当てられている論理アドレスに関した情報や、データの訂正符号を保持する。各ページにはフラッシュメモリ内で一意な物理アドレスが割当てられており、コントローラはフラッシュメモリにコマンドを送る際に、物理アドレスを指定することで、データ処理を制御することができる。
【０００５】
さて、ホストからメモリカードに対しデータアクセスを行う際、ホストはセクタと呼ばれるサイズでデータを取り扱う。ホストからのデータをフラッシュメモリ上で保持する際には、フラッシュメモリの管理単位である物理ブロックのサイズに合わせて、論理ブロックという単位で管理される。論理ブロックは一般的に複数のセクタから構成される。各セクタには論理的な順番である論理アドレスが付加されており、ホストはメモリカードに論理アドレスを指定することにより、データ処理の制御を行う。
【０００６】
図１は、一般的なメモリカードで実施されているデータ管理手法における論理アドレスと物理アドレスとの対応関係を示している。メモリカードへデータが書込まれた論理ブロックは、フラッシュメモリ内の物理ブロックと１対１で対応付けられ、かつ管理されている。ただし、未書込みの論理ブロックに対しては対応した物理ブロックは存在しない。ここで、Ｍ、Ｎをそれぞれ２以上の整数とするとき、Ｍ個の論理ブロックをまとめて論理セグメントを構成し、Ｎ個の物理ブロックをまとめて物理セグメントを構成する。またＳ、Ｔをそれぞれ２以上の整数とするとき、Ｓ個のセクタをまとめて論理ブロックを構成し、Ｔ個のページをまとめて物理ブロックを構成する。ある論理セグメントは１つの物理セグメントに割当てられ、当該論理セグメントを構成する論理データは、特定の物理セグメントで管理される領域に保持される。ただし、物理ブロック内には不良ブロックも存在するため、一般にＭ＜Ｎである。よって、フラッシュメモリ内に保持する論理ブロックと物理ブロックとのアドレス対応情報（以下、論理物理アドレス変換情報という）は、物理セグメント単位で管理されることになる。
【０００７】
図２は、メモリカードのブロック図の一例を示している。図２において、２１はホスト、２２はフラッシュメモリ、２３はフラッシュメモリ２２の制御を行うコントローラである。フラッシュメモリ２２とコントローラ２３とで、メモリカード２４が構成される。フラッシュメモリ２２は、論理物理アドレス変換情報を保持する管理情報保持領域２２１と、論理アドレスに割当てられるデータを保持するデータ保持領域２２２とから構成される。コントローラ２３は、ホスト２１からのデータを受取って、当該データをフラッシュメモリ２２のデータ保持領域２２２へ転送するデータバッファ２３１と、フラッシュメモリ２２の管理情報保持領域２２１が持つ論理物理アドレス変換情報を保持する管理情報保持メモリ２３２と、コントローラ２３とフラッシュメモリ２２及びホスト２１との間のデータ転送を制御するデータ転送制御回路２３３とから構成される。
【０００８】
以上のように構成されたメモリカード２４における、従来のフラッシュメモリ制御方法として、ホスト２１からのデータの書込み時の処理手順を、図３を用いて説明する。
【０００９】
図３において、Ｓ３１にてホスト２１からの書込み命令を受けたコントローラ２３は、Ｓ３２にて、ホスト２１からデータバッファ２３１に書込みデータが転送される。その後、Ｓ３３にて、データバッファ２３１に保持されているデータをデータ保持領域２２２のどの物理領域に書込むかを判断し、論理アドレスと物理アドレスとの対応情報を保持する管理情報保持メモリ２３２を更新する。Ｓ３４にて、データバッファ２３１に保持されているデータをデータ保持領域２２２に転送し、Ｓ３５にてＳ３３で更新された管理情報保持メモリ２３２の情報をフラッシュメモリ２２の管理情報保持領域２２１に転送する。転送完了後に、Ｓ３６にてコマンド処理を終了する。
【００１０】
以上のとおり、従来のフラッシュメモリ制御方法においては、ホストから転送されたデータは、常に管理情報とともにフラッシュメモリへ転送されていた（特許文献１参照）。
【特許文献１】特開２００１−１４２７７４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
近年、携帯電話機、デジタルカメラといった、フラッシュメモリを使用した記憶装置（例えばメモリカード）を活用するホストの種類及び数が著しく増加をしている。しかし、ホストからメモリカードに対する書込みデータサイズや開始アドレスといったデータ処理はホストの種類毎に異なり、またメモリカードも種類毎に性能の出やすい処理が異なるため、一部ホストとメモリカードとの組み合わせにおいては、性能劣化が著しいといった相性問題が発生している。特に、ホストからのメモリカードのデータ初期化を意図し、全データ領域にフラッシュメモリ初期値を上書きするといった使い方を実施した際に、メモリカード内でのデータ領域書換えを伴う場合においては、処理時間の増加やフラッシュメモリの書換え頻度の増加という課題があった。
【００１２】
そこで本発明では、ホストからの書込みデータをメモリカード内で確認し、フラッシュメモリへの書込みが必要かどうかを判断してから、フラッシュメモリへの書込み実行を判断することで、不要なフラッシュメモリへの書込みを抑制することが可能となり、処理時間の向上、書込み回数の低減により信頼性を向上させることが可能なフラッシュメモリ制御方法を提供する。
【課題を解決するための手段】
【００１３】
第１の発明は、フラッシュメモリへの書込みデータとフラッシュメモリ初期値との等価を判定する工程と、書込み対象論理アドレスがフラッシュメモリの物理アドレスに割当済みかどうかを判定する工程と、フラッシュメモリへの書込みデータとフラッシュメモリ初期値とが等価であり、かつ書込み対象論理アドレスがフラッシュメモリの物理アドレスに未割当であった場合に、フラッシュメモリへのデータ転送を取り止める工程とを備えたことを特徴とするフラッシュメモリ制御方法であって、フラッシュメモリへの書込みデータとフラッシュメモリ初期値とが等価であり、かつ書込み対象領域が未割当であった場合には、フラッシュメモリへのデータ転送を抑制することで、メモリカード等の処理速度の向上が図れ、かつ書換え回数を低減することができる。
【００１４】
第２の発明は、フラッシュメモリへの書込みデータとフラッシュメモリ初期値との等価を判定する工程と、フラッシュメモリへの書込みデータとフラッシュメモリ初期値とが等価であった場合に、フラッシュメモリの論理物理アドレス変換情報において、書込み対象論理アドレスをフラッシュメモリの物理アドレスに対して未割当とする工程と、フラッシュメモリへの書込みデータとフラッシュメモリ初期値とが等価であった場合に、フラッシュメモリの論理物理アドレス変換情報のみを当該フラッシュメモリへ転送する工程とを備えたことを特徴とするフラッシュメモリ制御方法であって、フラッシュメモリへの書込みデータとフラッシュメモリ初期値とが等価であった場合には、フラッシュメモリへ管理情報のみを転送することで、メモリカード等の処理速度の向上が図れ、かつ書換え回数を低減することができる。
【００１５】
第３の発明は、フラッシュメモリへの書込みデータの特定アドレス以降のデータとフラッシュメモリ初期値との等価を判定する工程と、フラッシュメモリへのデータ転送の際に、フラッシュメモリ初期値と等価な特定アドレス以後のフラッシュメモリへの書込みデータについては、フラッシュメモリへのデータ転送を取り止める工程とを備えたことを特徴とするフラッシュメモリ制御方法であって、フラッシュメモリへの書込みデータのうち特定アドレス以降のデータがフラッシュメモリ初期値と等価であった場合には、フラッシュメモリへの転送データ量を削減することで、メモリカード等の処理速度の向上を実現することができる。
【発明の効果】
【００１６】
本発明に係るフラッシュメモリ制御方法は、ホストからのフラッシュメモリ初期値書込み命令に対して、フラッシュメモリのデータ領域への書込み処理を行わないよう判断する工程を有し、メモリカード等の処理速度及び信頼性を向上させる効果がある。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照しながら本発明の実施の形態を説明する。ここでは、フラッシュメモリの消去とは全ビットを“１”とする処理をいい、書込みとは指定ビットを“０”とする処理をいうものとする。つまり、フラッシュメモリ初期値を“１”とする。
【００１８】
《実施の形態１》
図４は、実施の形態１によるフラッシュメモリ制御方法のフローチャートを示している。このフローチャートにおけるホストからメモリカードへのデータ書込み方法を、図２のブロック図を用いて説明する。
【００１９】
図４において、Ｓ４１にてホスト２１からの書込み命令を受けたコントローラ２３は、Ｓ４２にて、ホスト２１からデータバッファ２３１に書込みデータが転送される。その後、Ｓ４３にて、データバッファ２３１に保持されているデータがフラッシュメモリ初期値と等しいかどうかを確認する。データバッファ２３１に保持されているデータがフラッシュメモリ初期値と等しいと判断された場合は、Ｓ４４にて、コントローラ２３内の管理情報保持メモリ２３２にて、ホスト２１からの書込み対象論理アドレスがフラッシュメモリ２２の物理アドレスに割当られているかを確認する。ホスト２１からの書込み対象論理アドレスがフラッシュメモリ２２の物理アドレスに割当られていない場合は、Ｓ４８に進みコマンド処理を終了する。
【００２０】
Ｓ４３にてデータバッファ２３１に保持されているデータがフラッシュメモリ初期値と等しくない場合、及びＳ４４にてホスト２１からの書込み対象論理アドレスがフラッシュメモリ２２の物理アドレスに割当られている場合には、Ｓ４５の工程に進む。Ｓ４５では、コントローラ２３内の管理情報保持メモリ２３２の情報から、ホスト２１から指定された書込み対象論理アドレスに対して、Ｓ４６でデータを書込むフラッシュメモリ２２のデータ保持領域２２２内の物理アドレスを割当てる。その後、Ｓ４６にて、データバッファ２３１に保持されているデータをＳ４５で割当てたフラッシュメモリ２２のデータ保持領域２２２内の物理アドレスに転送し、Ｓ４７にてＳ４５で更新された管理情報保持メモリ２３２の情報をフラッシュメモリ２２の管理情報保持領域２２１へ転送する。最後に、Ｓ４８にてコマンド処理を終了する。
【００２１】
このような実施の形態１のフラッシュメモリ制御方法では、ホストから未割当論理アドレスに対するフラッシュメモリ初期値書込み命令に対して、Ｓ４５〜Ｓ４７の工程を実施しないことで、フラッシュメモリへの書込み回数を抑制することが可能となるため、データ処理速度の向上が図れ、かつフラッシュメモリの書込み回数低減により信頼性を向上できるという効果がある。
【００２２】
《実施の形態２》
図５は、実施の形態２によるフラッシュメモリ制御方法のフローチャートを示している。このフローチャートにおけるホストからメモリカードへのデータ書込み方法を、図２のブロック図を用いて説明する。
【００２３】
図５において、Ｓ５１にてホスト２１からの書込み命令を受けたコントローラ２３は、Ｓ５２にて、ホスト２１からデータバッファ２３１に書込みデータが転送される。その後、Ｓ５３にて、データバッファ２３１に保持されているデータがフラッシュメモリ初期値と等しいかどうかを確認する。データバッファ２３１に保持されているデータがフラッシュメモリ初期値と等しいと判断された場合は、Ｓ５４にて、コントローラ２３内の管理情報保持メモリ２３２の情報から、ホスト２１からの書込み対象論理アドレスに対してフラッシュメモリ２２の物理アドレスを未割当に更新し、Ｓ５７の工程を実施する。
【００２４】
Ｓ５３にてデータバッファ２３１に保持されているデータがフラッシュメモリ初期値と等しくないと判断された場合、Ｓ５５の工程に進む。Ｓ５５では、コントローラ２３内の管理情報保持メモリ２３２の情報から、ホスト２１から指定された書込み対象論理アドレスに対して、Ｓ５６でデータを書込むフラッシュメモリ２２のデータ保持領域２２２内の物理アドレスを割当てる。その後、Ｓ５６にて、データバッファ２３１に保持されているデータをＳ５５で割当てたフラッシュメモリ２２のデータ保持領域２２２内の物理アドレスに転送し、Ｓ５７に進む。
【００２５】
Ｓ５４又はＳ５６の工程完了後、Ｓ５７にてＳ５５で更新された管理情報保持メモリ２３２の情報をフラッシュメモリ２２の管理情報保持領域２２１へ転送する。最後に、Ｓ５８にてコマンド処理を終了する。
【００２６】
このような実施の形態２のフラッシュメモリ制御方法では、ホストからのフラッシュメモリ初期値書込み命令に対して、Ｓ５５〜Ｓ５６の工程を実施しないことで、フラッシュメモリへの書込み回数を抑制することが可能となるため、データ処理速度の向上が図れ、かつフラッシュメモリの書込み回数低減により信頼性を向上できるという効果がある。
【００２７】
《実施の形態３》
図６は、実施の形態３によるフラッシュメモリ制御方法のフローチャートを示している。このフローチャートにおけるホストからメモリカードへのデータ書込み方法を、図２のブロック図を用いて説明する。
【００２８】
図６において、Ｓ６１にてホスト２１からの書込み命令を受けたコントローラ２３は、Ｓ６２にて、ホスト２１からデータバッファ２３１に書込みデータが転送される。Ｓ６３では、コントローラ２３内の管理情報保持メモリ２３２の情報から、ホスト２１から指定された書込み対象論理アドレスに対して、データを書込むフラッシュメモリ２２のデータ保持領域２２２内の物理アドレスを割当てる。
【００２９】
その後、Ｓ６４にてデータバッファ２３１のデータについて、特定アドレス以降のデータがフラッシュメモリ初期値と同値になっていないかを判断し、特定アドレス以降のデータがフラッシュメモリ初期値と同値になっていない場合、つまり転送データの最終データがフラッシュメモリ初期値でない場合は、Ｓ６５２にてデータバッファ２３１に保持されているデータをＳ６３で割当てたフラッシュメモリ２２のデータ保持領域２２２内の物理アドレスに転送する。一方、Ｓ６４にて特定アドレス以降のデータがフラッシュメモリ初期値と同値になっている場合は、Ｓ６５１にて、データバッファ２３１に保持されている特定アドレスまでのデータをＳ６３で割当てたフラッシュメモリ２２のデータ保持領域２２２内の物理アドレスに転送する。その後、Ｓ６６にてＳ６３で更新された管理情報保持メモリ２３２の情報をフラッシュメモリ２２の管理情報保持領域２２１へ転送する。最後に、Ｓ６７にてコマンド処理を終了する。
【００３０】
このような実施の形態３のフラッシュメモリ制御方法では、ホストからの特定アドレス以降のデータがフラッシュメモリ初期値に等しい書込み命令に対して、Ｓ６５１の工程にてフラッシュメモリへの転送データ量を削減することで、データ処理速度を向上することができるという効果がある。例えばホストからのＦＡＴデータの書込みといった、書込み単位データ量に満たないデータを取り扱う際に特に有用である。
【産業上の利用可能性】
【００３１】
以上説明してきたとおり、本発明に係るフラッシュメモリ制御方法は、ホストからのフラッシュメモリ初期値書込み命令に対して、フラッシュメモリのデータ領域への書込み処理を行わないよう判断する工程を有し、例えばメモリカードの書込み処理速度と信頼性を向上する手段として有用である。
【図面の簡単な説明】
【００３２】
【図１】一般的なフラッシュメモリにおける論理データと物理データとの対応関係を示す概念図である。
【図２】一般的なメモリカードの構成を示すブロック図である。
【図３】従来のフラッシュメモリ制御方法による書込み処理のフローチャートである。
【図４】本発明の実施の形態１によるフラッシュメモリ制御方法のフローチャートである。
【図５】本発明の実施の形態２によるフラッシュメモリ制御方法のフローチャートである。
【図６】本発明の実施の形態３によるフラッシュメモリ制御方法のフローチャートである。
【符号の説明】
【００３３】
２１  ホスト
２２  フラッシュメモリ
２２１  管理情報保持領域
２２２  データ保持領域
２３  コントローラ
２３１  データバッファ
２３２  管理情報保持メモリ
２３３  データ転送制御回路
２４  メモリカード
【図１】
2007304920.tif 000003
【図２】
2007304920.tif 000004
【図３】
2007304920.tif 000005
【図４】
2007304920.tif 000006
【図５】
2007304920.tif 000007
【図６】
2007304920.tif 000008