JP3766396B2 - メモリ制御装置およびメモリ制御方法 - Google Patents
メモリ制御装置およびメモリ制御方法 Download PDFInfo
- Publication number
- JP3766396B2 JP3766396B2 JP2003115845A JP2003115845A JP3766396B2 JP 3766396 B2 JP3766396 B2 JP 3766396B2 JP 2003115845 A JP2003115845 A JP 2003115845A JP 2003115845 A JP2003115845 A JP 2003115845A JP 3766396 B2 JP3766396 B2 JP 3766396B2
- Authority
- JP
- Japan
- Prior art keywords
- logical page
- address
- page address
- physical
- logical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は不揮発性メモリを制御するメモリ制御装置およびメモリ制御方法に関する。
【0002】
【従来の技術】
近年、PDA、携帯電話、デジタルカメラ等の各種携帯型電子機器が開発されている。この種の携帯型電子機器においては、フラッシュEEPROMから構成される不揮発性メモリが記憶装置として用いられている。不揮発性メモリにデータをファイルとして書き込むことにより、パーソナルコンピュータなどの他の機器との間の互換性を維持することが出来る。
【0003】
不揮発性メモリの記憶領域は複数の物理ブロック(消去ブロック)から構成されており、データの消去は物理ブロック単位で行われる。各物理ブックは複数の物理ページから構成されている。データ書き込みは、ページ単位で行われる。このような不揮発性メモリを制御するための装置としては、論理ブロックと物理ブックとの対応関係を管理するためのアドレス変換テーブルを使用して論理アドレスを物理アドレスに変換する装置が知られている(例えば、特許文献1参照。)。
【0004】
【特許文献1】
特開平11−110283号公報
【0005】
【発明が解決しようとする課題】
しかし、上記のようなアドレス変換では、論理ページと不揮発性メモリの物理ページとの関係が全てブロック単位で管理されることとなるため、ある特定の論理ページに対する更新が頻繁に行われるような環境においては、ページ書き込みの度に消去済みの新たな物理ブロックを用意し、その新たな物理ブロックに対して更新ページを書き込む処理と、更新前ページデータが存在していた物理ブロック内から他のページそれぞれのデータを読み出して新たな物理ブロックに書き込む処理(コピー処理)とを行うことが必要となる。
【0006】
このため、ページ更新に伴って発生する処理量が増え、結果的に更新ページデータの書き込みに要する時間の増大を招くことになる。また物理ブロックに対する消去処理の回数も増えるため、不揮発性メモリの寿命にも影響を及ぼす。
【0007】
本発明は上述の事情を考慮してなされたものであり、更新ページデータの書き込みに要する時間の短縮及び不揮発性メモリの長寿命化を実現することが可能なメモリ制御装置およびメモリ制御方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
上述の課題を解決するため、本発明は、不揮発性メモリを制御するメモリ制御装置において、所定の複数の論理ページアドレスが登録される論理ページアドレス指定テーブルと、ホストからの論理ページアドレスが前記論理ページアドレス指定テーブルに登録された前記所定の複数の論理ページアドレスの一つであるか否かを判別する手段と、前記ホストからの論理ページアドレスが前記所定の複数の論理ページアドレス以外の他の論理ページアドレスである場合、前記ホストからの論理ページアドレスを、論理ブロックと前記不揮発性メモリの物理ブロックとの対応関係を示すアドレス変換情報に従って前記不揮発性メモリ内の物理ページに対応付け、前記ホストからの論理ページアドレスが前記所定の複数の論理ページアドレスの一つである場合、前記所定の複数の論理ページアドレスが前記不揮発性メモリ内の所定の同一の物理ブロック内における互いに異なる物理ページ群にそれぞれ対応付けられるように、前記ホストからの論理ページアドレスを前記所定の同一の物理ブロック内の該当する物理ページ群に対応付ける手段と、前記ホストから前記所定の複数の論理ページアドレスの一つに対する書き込みが要求される度に前記一つの論理ページアドレスに対する更新データが前記一つの論理ページアドレスに対応付けられた物理ページ群に追記されていくように、前記一つの論理ページアドレスに対する書き込み要求に応答して、前記一つの論理ページアドレスを対応付けるべき、前記所定の物理ブロック内の物理ページアドレスの値を更新する手段とを具備することを特徴とする。
【0009】
このメモリ制御装置においては、ある所定の複数の論理ページアドレス以外の論理ページアドレスについては論理ブロックと不揮発性メモリの物理ブロックとの対応関係を示すアドレス変換情報に従って不揮発性メモリの物理ページに対応付けられるが、所定の複数の論理ページアドレスについては不揮発性メモリ内の所定の同一の物理ブロック内における互いに異なる物理ページ群に対応付けされ、所定の複数の論理ページアドレスの各々が対応する物理ページ群に対して追記処理される。よって、更新頻度の高い論理ページアドレスを前記所定の論理ページアドレスとして定義することにより、更新頻度の高い論理ページアドレスについてはその更新ページデータの書き込みがページ書き込みだけで完了するので、ページデータの書き込みに要する時間の短縮及び不揮発性メモリの長寿命化を実現することが可能となる。
【0010】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
図1には、本発明の一実施形態に係るメモリ制御装置を備えた携帯型電子機器の構成が示されている。この携帯型電子機器は例えばPDAとして機能するものであり、図示のように、CPU101、ホストブリッジ102、主メモリ103、表示コントローラ104、表示装置を構成するLCD105、フラッシュコントローラ106、各種I/Oデバイス107、および不揮発性メモリ108が設けられている。
【0011】
不揮発性メモリ108は各種プログラムおよびデータをファイルとして格納するための2次記憶装置として使用される。この不揮発性メモリ108は、CPU101及びそれ以外の他のコンポーネントと同様にして、システムボード上に実装されている。不揮発性メモリ108としては、例えばNAND型のフラッシュEEPROMが用いられる。
【0012】
CPU101は本PDAの動作を制御するためのプロセッサであり、不揮発性メモリ108から主メモリ103にロードされるオペレーティングシステムおよび各種アプリケーションプログラムを実行する。主メモリ103はDRAMから構成されている。ホストブリッジ102はCPU101のプロセッサバスとPCIなどのシステムバス1との間を接続するブリッジデバイスであり、ここには主メモリ103を制御するためのDRAMコントローラも内蔵されている。表示コントローラ104は、LCD105を制御し、CPU101からの表示データをLCD105の画面上に表示する。
【0013】
フラッシュコントローラ106は不揮発性メモリ108を制御するメモリ制御装置である。このフラッシュコントローラ106は、そのホストとして機能するCPU111からのアクセス要求に応じて、不揮発性メモリ108に対するアクセスを実行する。CPU111はオペレーティングシステムのファイル管理システム、さらには不揮発性メモリ108を制御するためのドライバプログラム等を実行することにより、フラッシュコントローラ106に対してアクセス要求を発行する。CPU111からフラッシュコントローラ106に発行されるアクセス要求には、論理ページアドレスが含まれる。論理ページアドレスは、ディスクアクセスのために使用されるセクタアドレスに対応する。
【0014】
不揮発性メモリ108は、図示のように、ページバッファ301と、メモリセルアレイから構成されるデータ記憶領域302とを備えている。データ記憶領域302は複数の物理ブロック(消去ブロック)から構成されている。各物理ブロックは複数の物理ページから構成されている。一つの物理ページは、1セクタ(512バイト)分のデータ領域と数バイト分の冗長領域とを有している。データ記憶領域302に対するデータ書き込み/読み出しは、ページバッファ301を介してページ単位で実行される。またデータ記憶領域302のデータ消去は、物理ブロック単位で実行される。
【0015】
フラッシュコントローラ106は、図示のように、ホストインタフェース201、MPU202、ROM203、RAM204、およびメモリインタフェース205を備えている。MPU202はフラッシュコントローラ106の動作を制御するための制御プロセッサであり、ROM203に格納された制御プログラムを実行することによって論理ページアドレスを物理ページアドレスに変換するアドレス変換処理、リード/ライトアクセス処理、およびブロック消去処理等を実行する。アドレス変換は、不揮発性メモリ108の所定の物理ブックからRAM204に読み出されるアドレス変換情報に基づいて実行される。
【0016】
本実施形態においては、大別して第1および第2の2種類のアドレス変換テーブルを使用する。第1のアドレス変換テーブルは、論理ブロックと不揮発性メモリ108の物理ブロックとの対応関係を示すアドレス変換情報であり、論理アドレス空間内の論理ページと不揮発性メモリ108内の物理ページとを一対一に対応付けるために用いられる。連続する複数の論理ページアドレスを含む論理ブロック毎に一つの物理ブロックが対応付けられ、物理ブロックへのアドレス割り当ての変更は、論理ブロック単位、つまり同一の論理ブロック内に属する連続する複数の論理ページアドレス単位で行われる。
【0017】
第2のアドレス変換テーブルは、論理ページと物理ブロックとの対応関係を示すアドレス変換情報であり、特定の論理ページを不揮発性メモリ108内のある任意の物理ブロックに対応付けるために用いられる。
【0018】
この第2のアドレス変換テーブルは、更新頻度が高いことが予め予測されている特定の幾つかの論理ページアドレスに対するアドレス変換のために用いられる。これにより、更新頻度が高い特定の論理ページアドレスについては、特定の物理ページではなく、その論理ページアドレス用の物理ブロックに対応付けされる。一方、特定の幾つかの論理ページアドレス以外の他の全ての論理ページアドレスのアドレス変換は第1のアドレス変換テーブルを用いて行われ、連続する複数の論理ページアドレスを含む論理ブロック単位で論理ページと物理ページとが一対一で対応付けられる。
【0019】
第2のアドレス変換テーブルによって特定の論理ページアドレスを物理ブロックに対応付けることにより、その物理ブロック内の全ての物理ページを、当該特定の論理ページアドレスに対する更新データの書き込みに使用することが可能となる。よって、特定の論理ページアドレスに対する更新データを同一物理ブロック内の複数の物理ページに追記していくことで、更新ページデータの書き込みがページ書き込みだけで完了する。
【0020】
本実施形態における論理ページアドレスと物理ページアドレスとの対応関係の一例を図2に示す。
【0021】
いま、ある論理ブロックLB1内の論理ページアドレスP10,P11それぞれが更新頻度の高い特定論理ページアドレスであるとする。論理ブロックLB1内の他の論理ページアドレスは、論理ブロックLB1に対応する物理ブロックPB1内の物理ページアドレスにそれぞれ対応付けされるが、論理ページアドレスP10について物理ブロックPB2に、論理ページアドレスP10について物理ブロックPB3に対応付けされる。論理ページアドレスP10に対する更新ページデータA1,A2,…は、その更新の度に、物理ブロックPB2内の先頭の物理ページから順に追記されていく。同様に、論理ページアドレスP11に対する更新ページデータB1,B2,…は、その更新の度に、物理ブロックPB3内の先頭の物理ページから順に追記されていく。
【0022】
次に、図3を参照して、フラッシュコントローラ106によって実行されるアドレス変換動作を説明する。
【0023】
フラッシュコントローラ106には、アドレス変換処理を実行するための機能部として、図3に示すように、論理ページアドレス変換制御部401、論理ページアドレス指定テーブル402、論理ページアドレス分解処理部403、論理ブロック−物理ブロックアドレス変換テーブル404、論理ページ−物理ブロックアドレス変換テーブル406、論理ページ−物理ページオフセットアドレス変換テーブル407、物理ページアドレス合成部408、およびメモリアクセス制御部409が設けられている。
【0024】
論理ページアドレス変換制御部401、論理ページアドレス分解処理部403、物理ページアドレス合成部408、およびメモリアクセス制御部409はそれぞれMPU202によって実行される制御プログラム、または専用のハードウェアによって実現されている。
【0025】
フラッシュコントローラ106においては、ホストからの論理ページアドレス信号1−1は論理ページアドレス変換制御部401に送られる。論理ページアドレス変換制御部401は、ホストからの論理ページアドレスが論理ページアドレス指定テーブル402に登録されているかどうかを調べることにより、ホストからの論理ページアドレスが予め決められた特定の論理ページアドレスであるかどうかを判別する。論理ページアドレス指定テーブル402には、更新頻度数高いことが判っている特定の論理ページアドレスが予め複数登録されている。例えば、ファイル管理情報を記憶するための論理ページアドレスや、アクセス中のページやブロックに関する現在のステータス情報を管理するために使用される論理ページアドレスなどが、論理ページアドレス指定テーブル402に登録される。もちろん、通常のデータ記憶領域として使用される特定の論理ページアドレスを登録しても良い。
【0026】
ホストからの論理ページアドレスが論理ページアドレス指定テーブル402に登録されていない場合には、論理ページアドレス分解処理部403、および論理ブロック−物理ブロックアドレス変換テーブル404を用いてアドレス変換処理が実行され、登録されている場合には、論理ページ−物理ブロックアドレス変換テーブル406、および論理ページ−物理ページオフセットアドレス変換テーブル407を用いてアドレス変換処理が実行される。
【0027】
論理ページアドレス分解処理部403は、論理ページアドレスを論理ブロックアドレスと物理ページオフセットアドレスに分解する。論理ブロックアドレスは論理ブロック−物理ブロックアドレス変換テーブル404に送られ、物理ページオフセットアドレスは物理ページアドレス合成部408に送られる。
【0028】
論理ブロック−物理ブロックアドレス変換テーブル404は、論理ブロックアドレスと物理ブロックアドレスとの対応関係を示すアドレス変換情報を保持するテーブルであり、そのアドレス変換情報に従って論理ブロックアドレスを物理ブロックアドレスに変換する。この論理ブロック−物理ブロックアドレス変換テーブル404は上述の第1のアドレス変換テーブルに対応するものである。
【0029】
論理ページ−物理ブロックアドレス変換テーブル406は、論理ページアドレス指定テーブル402に登録された特定の幾つかの論理ページアドレスについてその論理ページアドレスと物理ブロックアドレスとの対応関係を示すアドレス変換情報を保持するテーブルであり、そのアドレス変換情報に従って特定の論理ページアドレスを物理ブロックアドレスに変換する。この論理ページ−物理ブロックアドレス変換テーブル406は、上述の第2のアドレス変換テーブルに対応するものである。
【0030】
論理ページ−物理ページオフセットアドレス変換テーブル407は、論理ページアドレス指定テーブル402に登録された特定の幾つかの論理ページアドレスについてその論理ページアドレスと物理ページオフセットアドレスとの対応関係を示すオフセットアドレス情報を保持するテーブルであり、そのオフセットアドレス情報に従って論理ページアドレスを物理ページオフセットアドレスに変換する。物理ページオフセットアドレスは、物理ブロック内における先頭物理ページからのオフセットアドレスである。このオフセットアドレスの値は、該当する論理ページアドレスに対する更新ページデータの書き込みの度に自動的に更新される。
【0031】
物理ページアドレス合成部408は、論理ブロック−物理ブロックアドレス変換テーブル404からの出力と論理ページアドレス分解処理部403からの物理ページオフセットアドレスとの組み合わせを合成することにより、あるいは論理ページ−物理ブロックアドレス変換テーブル406の出力と論理ページ−物理ページオフセットアドレス変換テーブル407との組み合わせを合成することによって、不揮発性メモリ108をアクセスするための物理ページアドレスを生成する生成する。
【0032】
メモリアクセス制御部409は、物理ページアドレス合成部408によって得られた物理ページアドレス、データ信号1−2、およびアクセス制御信号1−3に応じて、不揮発性メモリ108に対するメモリアクセス制御を実行する。
【0033】
次に、図4乃至図6のフローチャートを参照して、不揮発性メモリ108を制御するために実行される一連の処理手順について説明する。
【0034】
不揮発性メモリ108に対するホストからのアクセス要求を受けると、MPU202は、まず、論理ページアドレス指定テーブル402を参照して、ホストからの論理ページアドレスが予め決められた特定の幾つかの論理ページアドレスのいずれか一つに該当するか否かを判別する(ステップS101)。予め決められた特定の幾つかの論理ページアドレスのいずれにも該当しない場合、つまり更新頻度の高い論理ページアドレス以外の論理ページアドレスに対するアクセス要求であれば(ステップS101のNO)、論理ブロック−物理ブロックアドレス変換テーブル404からの出力と論理ページアドレス分解処理部403からの物理ページオフセットアドレスとの組み合わせを用いたアドレス変換処理を含む通常処理が実行される(ステップS102)。この通常処理における処理手順については図6で後述する。
【0035】
予め決められた特定の幾つかの論理ページアドレスのいずれかに該当した場合、つまり更新頻度の高い論理ページアドレスに対するアクセス要求であれば(ステップS101のYES)、MPU202は、論理ページ−物理ブロックアドレス変換テーブル406と論理ページ−物理ページオフセットアドレス変換テーブル407とを用いたアドレス変換処理によって、ホストからの論理ページアドレスに対応する物理ページアドレスを生成する(ステップS103)。
【0036】
いま、ホストからの論理ページアドレスがAで、論理ページ−物理ブロックアドレス変換テーブル406には論理ページアドレスAに対応する物理ブロックアドレスとしてxが、また論理ページ−物理ページオフセットアドレス変換テーブル407には論理ページアドレスAに対応する物理ページオフセットアドレスとしてyが登録されているとする。この場合、論理ページアドレスAに対応する物理ページアドレスは、物理ブロックアドレスxの下位ビット側に物理ページオフセットアドレスyを付加する合成処理によって生成される。この合成処理を(x,y)と表記することとする。
【0037】
次に、MPU202は、ホストからのアクセス要求がライトアクセス/リードアクセスのいずれであるかを判別する(ステップS104)。リードアクセスであれば、MPU202は、ステップS103で生成した物理ページアドレスを用いて不揮発性メモリ108をリードアクセスする(ステップS105)。
【0038】
ライトアクセスであれば、MPU202は、論理ページアドレスAを対応付けるべき、物理ブロックx内の現在の物理ページアドレスの値yが、物理ブロックx内の最終物理ページアドレスであるかどうかを判別する(ステップS106)。一つの物理ブロック内に含まれている総物理ページ数は予め判っているので、ステップS106の判定は、物理ページオフセットアドレスの値yが最大ページオフセットアドレスであるかどうかを調べることによって行われる。
【0039】
物理ページオフセットアドレスの値yが最大ページオフセットアドレスではない場合には(ステップS106のNO)、MPU202は、論理ページ−物理ページオフセットアドレス変換テーブル407に登録されている論理ページアドレスAに対応する物理ページオフセットアドレスyの値をy+1に更新した後(ステップS107)、(x,y+1)の合成処理によって書き込み先の物理ページアドレスを生成する(ステップS108)。そして、MPU202は、書き込み先の物理ページアドレスをライトアクセスして、ホストからの論理ページアドレスAに対する更新ページデータを不揮発性メモリ108の書き込み先物理ページに書き込むページライト処理を実行する(ステップS109)。
【0040】
一方、物理ページオフセットアドレスの値yが最大ページオフセットアドレスである場合には(ステップS106のYES)、MPU202は、不揮発性メモリ108内の空き物理ブロック(消去済みで未書き込みの新たなブロック)を検出する(図5のステップS201)。空き物理ブロックの管理は、不揮発性メモリ108内の各物理ブロック毎にそれが消去済みで未書き込みのブロックであるか否かを示す情報を、例えば、不揮発性メモリ108内のある特定の物理ブロック内に保持しておくことによって実現される。
【0041】
空き物理ブロックβが検出されると、MPU202は、論理ページ−物理ブロックアドレス変換テーブル406を更新して論理ページアドレスAに対応付けるべき物理ブロックをxからβに変更すると共に、論理ページ−物理ページオフセットアドレス変換テーブル407を更新して論理ページアドレスAに対応する物理ページオフセットアドレスを先頭ページを示す値0に変更する(ステップS202)。
【0042】
次いで、MPU202は、(β,0)の合成処理によって書き込み先の物理ページアドレスを生成する(ステップS203)。そして、MPU202は、書き込み先の物理ページアドレスをライトアクセスして、ホストからの論理ページアドレスAに対する更新ページデータを不揮発性メモリ108の書き込み先物理ページに書き込むページライト処理を実行する(ステップS204)。
【0043】
次に、図6のフローチャートを参照して、図5のステップS102で実行される通常処理の処理手順を説明する。
【0044】
MPU202は、ホストからのアクセス要求がライトアクセス/リードアクセスのいずれであるかを判別する(ステップS301)。リードアクセスであれば、MPU202は、論理ブロック−物理ブロックアドレス変換テーブル404と論理ページアドレス分解処理部403からの物理ページオフセットアドレスとを用いたアドレス変換処理によって、物理ページアドレスを生成する(ステップS302)。
【0045】
いま、ホストからの論理ブロックアドレスがaで、論理ブロック−物理ブロックアドレス変換テーブル404には論理ブロックアドレスaに対応する物理ブロックアドレスとしてxが登録されているとする。論理ブロックアドレスaは、ホストからの論理ブロックアドレスの上位ビット部である。この場合、ホストからの論理ページアドレスに対応する物理ページアドレスは、物理ブロックアドレスxの下位ビット側に論理ページアドレス分解処理部403によって得られた物理ページオフセットアドレスを付加する合成処理によって生成される。論理ページアドレス分解処理部403からの物理ページオフセットアドレスは、ホストからの論理ページアドレスの下位ビット部である。そして、MPU202は、ステップS302で生成した物理ページアドレスを用いて不揮発性メモリ108をリードアクセスする(ステップS303)。
【0046】
一方、ライトアクセスであれば、MPU202は、ステップS302と同じ手順で、論理ブロック−物理ブロックアドレス変換テーブル404と論理ページアドレス分解処理部403からの物理ページオフセットアドレスとから物理ページアドレスを生成する(ステップS304)。次いで、MPU202は、空き物理ブロックを検出する(ステップS305)。空き物理ブロックβが検出されると、MPU202は、論理ブロックアドレスaに対応する物理ブロックx内の他の全てのページの内容と論理ページアドレスに対するホストからの更新ページデータを空き物理ブロックβに書き込む(ステップS306〜S308)。
【0047】
いま、図7に示されているように、ステップS304で生成された物理ページアドレスがPxで、その物理ページPxの上位側のページ群をS、下位側のページ群をTとする。この場合、MPU202は、最初にページ群Sの内容を物理ブロックxから読み出して物理ブロックβにコピーし、次いで物理ページPxに対する更新ページデータを物理ブロックβ内の対応するページに書き込んだ後、ページ群Tの内容を物理ブロックxから読み出して物理ブロックβにコピーする。
【0048】
この後、MPU202は、論理ブロック−物理ブロックアドレス変換テーブル404を更新して、論理ブロックアドレスaに対応する物理ブロックアドレスをβに変更する(ステップS309)。物理ブロックxについては消去処理されることにより、空きブロックとなる。
【0049】
以上のように、本実施形態によれば、更新頻度の高い論理ページアドレスに対してはそれを物理ブロックに対応付けて更新ページデータの追記処理が行われるので、ページ更新処理の高速化および消去処理回数の低減を図ることが出来、またそれ以外の論理ページアドレスに対しては論理ブロックと物理ブロックとの対応付けに従って論理ページと物理ページとを一対一で対応付けているので不揮発性メモリ108の記憶領域を有効利用することが出来る。
【0050】
なお、本実施形態ではオンボード上の不揮発性メモリを制御する場合を例示して説明したが、不揮発性メモリを内蔵したメモリカードが取り外し自在に装着可能な電子機器においては、そのメモリカードの制御に本実施形態のメモリ制御装置を使用することも出来る。また、メモリカード内のコントローラに本実施形態のメモリ制御装置の機能を搭載することも出来る。
【0051】
また、本実施形態では、特定の複数の論理ページを互いに異なる物理ブロックに対応付けたが、不揮発性メモリの大容量化に伴い1物理ブロック内に含まれる物理ページ数は増大する傾向にあるので、このような場合には、特定の複数の論理ページアドレスを同一の物理ブロックに対応付けてもよい。例えば、2つの論理ページアドレスをある一つの物理ブロックに対応付ける場合には、一方の論理ページアドレスについてはその物理ブロック内の前半の物理ページ群を使用し、他方の論理ページアドレスについてはその物理ブロック内の後半の物理ページ群を使用するように、物理オフセットアドレスの値を管理すればよい。
【0052】
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0053】
【発明の効果】
以上説明したように、本発明によれば、更新ページデータの書き込みに要する時間の短縮及び不揮発性メモリの長寿命化を実現することが可能となる。
【図面の簡単な説明】
【図1】 本発明の一実施形態に係るメモリ制御装置を備えた電子機器の構成を示すブロック図。
【図2】 同実施形態における論理アドレスと物理アドレスとの対応関係の例を示す図。
【図3】 同実施形態におけるアドレス変換の動作とそのアドレス変換のための構成を示すブロック図。
【図4】 同実施形態における不揮発性メモリ制御処理の手順の一部を示すフローチャート。
【図5】 同実施形態における不揮発性メモリ制御処理の手順の残りの一部を示すフローチャート。
【図6】 同実施形態における不揮発性メモリ制御処理の手順のさらに残りの一部を示すフローチャート。
【図7】 同実施形態において更新対象ページを含む物理ブロックの内容を他の物理ブロックに書き込む様子を示す図。
【符号の説明】
101…CPU、106…フラッシュコントローラ、202…MPU、108…不揮発性メモリ、401…論理ページアドレス変換制御部、402…論理ページアドレス指定テーブル、403…論理ページアドレス分解処理部、404…論理ブロック−物理ブロックアドレス変換テーブル、406…論理ページ−物理ブロックアドレス変換テーブル、407…論理ページ−物理ページオフセットアドレス変換テーブル、408…物理ページアドレス合成部、409…メモリアクセス制御部。
Claims (4)
- 不揮発性メモリを制御するメモリ制御装置において、
所定の複数の論理ページアドレスが登録される論理ページアドレス指定テーブルと、
ホストからの論理ページアドレスが前記論理ページアドレス指定テーブルに登録された前記所定の複数の論理ページアドレスの一つであるか否かを判別する手段と、
前記ホストからの論理ページアドレスが前記所定の複数の論理ページアドレス以外の他の論理ページアドレスである場合、前記ホストからの論理ページアドレスを、論理ブロックと前記不揮発性メモリの物理ブロックとの対応関係を示すアドレス変換情報に従って前記不揮発性メモリ内の物理ページに対応付け、前記ホストからの論理ページアドレスが前記所定の複数の論理ページアドレスの一つである場合、前記所定の複数の論理ページアドレスが前記不揮発性メモリ内の所定の同一の物理ブロック内における互いに異なる物理ページ群にそれぞれ対応付けられるように、前記ホストからの論理ページアドレスを前記所定の同一の物理ブロック内の該当する物理ページ群に対応付ける手段と、
前記ホストから前記所定の複数の論理ページアドレスの一つに対する書き込みが要求される度に前記一つの論理ページアドレスに対する更新データが前記一つの論理ページアドレスに対応付けられた物理ページ群に追記されていくように、前記一つの論理ページアドレスに対する書き込み要求に応答して、前記一つの論理ページアドレスを対応付けるべき、前記所定の物理ブロック内の物理ページアドレスの値を更新する手段とを具備することを特徴とするメモリ制御装置。 - 前記所定の複数の論理ページアドレス以外の他の論理ページアドレスに対する前記ホストからの書き込み要求に応答して、その書き込み要求された論理ページアドレスに対応する物理ブロック内の他の全ての物理ページの内容と前記書き込み要求された論理ページアドレスに対する更新データを、前記不揮発性メモリの消去済みの新たな物理ブロックに書き込む手段と、
前記書き込み要求された論理ページアドレスを含む論理ブロック内の論理ページアドレスが前記新たな物理ブロックに対応付けられるように、前記アドレス変換情報を更新する手段とをさらに具備することを特徴とする請求項1記載のメモリ制御装置。 - メモリ制御装置によって不揮発性メモリを制御するメモリ制御方法において、
ホストからの論理ページアドレスが前記メモリ制御装置に設けられた論理ページアドレス指定テーブルに登録された所定の複数の論理ページアドレスの一つであるか否かを判別するステップと、
前記ホストからの論理ページアドレスが前記所定の複数の論理ページアドレス以外の他の論理ページアドレスである場合、前記ホストからの論理ページアドレスを、論理ブロックと前記不揮発性メモリの物理ブロックとの対応関係を示すアドレス変換情報に従って前記不揮発性メモリ内の物理ページに対応付け、前記ホストからの論理ページアドレスが前記所定の複数の論理ページアドレスの一つである場合、前記所定の複数の論理ページアドレスが前記不揮発性メモリ内の所定の同一の物理ブロック内における互いに異なる物理ページ群にそれぞれ対応付けられるように、前記ホストからの論理ページアドレスを前記所定の同一の物理ブロック内の該当する物理ページ群に対応付けるステップと、
前記ホストから前記所定の複数の論理ページアドレスの一つに対する書き込みが要求される度に前記一つの論理ページアドレスに対する更新データが前記一つの論理ページアドレスに対応付けられた物理ページ群に追記されていくように、前記一つの論理ページアドレスに対する書き込み要求に応答して、前記一つの論理ページアドレスを対応付けるべき、前記所定の物理ブロック内の物理ページアドレスの値を更新するステップとを具備することを特徴とするメモリ制御方法。 - 前記所定の複数の論理ページアドレス以外の他の論理ページアドレスに対する前記ホストからの書き込み要求に応答して、その書き込み要求された論理ページアドレスに対応する物理ブロック内の他の全ての物理ページの内容と前記書き込み要求された論理ページアドレスに対する更新データを、前記不揮発性メモリの消去済みの新たな 物理ブロックに書き込むステップと、
前記書き込み要求された論理ページアドレスを含む論理ブロック内の論理ページアドレスが前記新たな物理ブロックに対応付けられるように、前記アドレス変換情報を更新するステップとをさらに具備することを特徴とする請求項3記載のメモリ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003115845A JP3766396B2 (ja) | 2003-04-21 | 2003-04-21 | メモリ制御装置およびメモリ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003115845A JP3766396B2 (ja) | 2003-04-21 | 2003-04-21 | メモリ制御装置およびメモリ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004326165A JP2004326165A (ja) | 2004-11-18 |
JP3766396B2 true JP3766396B2 (ja) | 2006-04-12 |
Family
ID=33496277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003115845A Expired - Fee Related JP3766396B2 (ja) | 2003-04-21 | 2003-04-21 | メモリ制御装置およびメモリ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3766396B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7877569B2 (en) | 2004-04-28 | 2011-01-25 | Panasonic Corporation | Reduction of fragmentation in nonvolatile memory using alternate address mapping |
JP5617873B2 (ja) * | 2005-06-06 | 2014-11-05 | ソニー株式会社 | 記憶装置 |
EP1912123A4 (en) * | 2005-07-29 | 2008-10-29 | Matsushita Electric Ind Co Ltd | MEMORY CONTROL UNIT, NON-VOLATILE MEMORY, NON-VOLATILE MEMORY SYSTEM, AND MEMORY ADDRESS MANAGEMENT METHOD |
US7627733B2 (en) * | 2005-08-03 | 2009-12-01 | Sandisk Corporation | Method and system for dual mode access for storage devices |
KR100781517B1 (ko) * | 2006-02-16 | 2007-12-03 | 삼성전자주식회사 | 비휘발성 메모리의 맵핑 정보 관리 장치 및 방법 |
JP5577238B2 (ja) * | 2008-02-29 | 2014-08-20 | パナソニック株式会社 | アクセス装置、情報記録装置、コントローラ、及び情報記録システム |
JP5193822B2 (ja) | 2008-11-19 | 2013-05-08 | 株式会社東芝 | 追記型メモリデバイス |
JP4818404B2 (ja) * | 2009-06-26 | 2011-11-16 | 株式会社東芝 | 素材サーバおよび素材蓄積方法 |
WO2011021367A1 (ja) | 2009-08-21 | 2011-02-24 | パナソニック株式会社 | 不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム |
JP4818453B1 (ja) | 2010-07-30 | 2011-11-16 | 株式会社東芝 | 電子機器およびデータ読み出し方法 |
KR101739556B1 (ko) | 2010-11-15 | 2017-05-24 | 삼성전자주식회사 | 데이터 저장 장치, 사용자 장치 및 그것의 주소 맵핑 방법 |
CN116661704B (zh) * | 2023-07-07 | 2024-03-08 | 深圳宏芯宇电子股份有限公司 | 存储装置数据读写方法、存储器存储装置及存储器控制器 |
-
2003
- 2003-04-21 JP JP2003115845A patent/JP3766396B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004326165A (ja) | 2004-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7009896B2 (en) | Apparatus and method for managing bad blocks in a flash memory | |
US8230160B2 (en) | Flash memory storage system and flash memory controller and data processing method thereof | |
US10509570B2 (en) | Method, device, and program for managing a flash memory for mass storage | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US20080120488A1 (en) | Apparatus and method of managing nonvolatile memory | |
WO2008013228A1 (fr) | Contrôleur de mémoire, dispositif de stockage non-volatile, dispositif d'accès et système de stockage non-volatile | |
JP4373943B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2008192154A (ja) | メモリマッピング方法およびメモリマッピングシステム | |
US7287117B2 (en) | Flash memory and mapping control apparatus and method for flash memory | |
TWI423022B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
JP3766396B2 (ja) | メモリ制御装置およびメモリ制御方法 | |
JP4745465B1 (ja) | 半導体記憶装置及び半導体記憶装置の制御方法 | |
JP2006079434A (ja) | 記憶装置、メモリ管理方法及びプログラム | |
US20100180072A1 (en) | Memory controller, nonvolatile memory device, file system, nonvolatile memory system, data writing method and data writing program | |
JP2008305061A (ja) | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム | |
JP2012058770A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
CN113885808A (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
JP4737223B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP5204265B2 (ja) | 半導体記憶装置及び半導体記憶装置の制御方法 | |
JP2012068765A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP3826115B2 (ja) | 記憶装置、メモリ管理方法及びプログラム | |
WO2020039927A1 (ja) | 不揮発性記憶装置、ホスト装置、及びデータ記憶システム | |
JP3934659B1 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4235595B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 | |
US20240202113A1 (en) | Memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060106 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060126 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100203 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100203 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110203 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120203 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120203 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130203 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |