JP2009211152A - 情報処理装置、メモリシステムおよびその制御方法 - Google Patents

情報処理装置、メモリシステムおよびその制御方法 Download PDF

Info

Publication number
JP2009211152A
JP2009211152A JP2008050817A JP2008050817A JP2009211152A JP 2009211152 A JP2009211152 A JP 2009211152A JP 2008050817 A JP2008050817 A JP 2008050817A JP 2008050817 A JP2008050817 A JP 2008050817A JP 2009211152 A JP2009211152 A JP 2009211152A
Authority
JP
Japan
Prior art keywords
read
logical block
attribute
data
rewrite frequency
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.)
Withdrawn
Application number
JP2008050817A
Other languages
English (en)
Inventor
Kiminori Yamato
仁典 大和
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008050817A priority Critical patent/JP2009211152A/ja
Publication of JP2009211152A publication Critical patent/JP2009211152A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】記憶媒体の物理ブロックに対するデータの書き換え回数をより的確に平滑化することができる情報処理装置、メモリシステムおよびその制御方法を提供する。
【解決手段】本発明に係る情報処理装置10は、CPU11、メインメモリ12(RAM)およびメモリシステム20を有する。メモリシステム20は、メモリコントローラ21、不揮発性メモリ22および変換テーブル23を有する。メモリコントローラ21は、少なくとも論理ブロック番号と物理ブロック番号とを関連付けて変換テーブルに記憶させる変換テーブル管理部と、必要に応じてread onlyフラグの変更に応じて論理ブロックの書換え頻度フラグを変更する頻度フラグ設定部と、書換え頻度フラグおよびread onlyフラグにもとづいて書換え頻度が少ないデータを的確に書込み回数が多い物理ブロックに割り当てる処理を実行する平滑化部とを有する。
【選択図】 図1

Description

本発明は、書換え可能な不揮発性メモリを備えたメモリシステムおよびその制御方法ならびにこのメモリシステムを有する情報処理装置に関する。
書換えが可能な不揮発性メモリには、データを書き換えると少しずつ劣化していくものがある。たとえば、物理ブロック単位で書換えが行われるNAND型フラッシュメモリは、数万回の書換えで内部の記憶素子が破壊されてしまう可能性がある。
この書換え限度回数は、記憶媒体全体に対する書換えの限度回数ではなく、それぞれの記憶素子に対する書換えの限度回数である。物理ブロックは、1つまたは複数の記憶素子により構成される。このため、物理ブロック単位で書換えが行われ、かつ記憶素子に書換え限度回数がある不揮発性メモリにおいては、書換えが特定の物理ブロックに集中してしまわないように制御することが望ましく、従来、全ての物理ブロックに対するデータの書換え回数を平滑化するために、種々の技術が提案されている(たとえば特許文献1参照)。
特開2002−32256号公報
従来の技術では、各データの書換え回数および各物理ブロックの書換え回数を考慮し、書換え回数の多いデータは積算書換え回数の少ない物理ブロックに格納する一方、書換え回数の少ないデータは積算書換え回数の多い物理ブロックに格納することにより、物理ブロックに対するデータの書換え回数を平滑化するようになっている。
しかし、従来の技術では、データの書換え回数として、このデータに対応する論理ブロックに対する積算書換え回数(過去の書換え回数の履歴)を用いている。このため、従来の技術では、論理ブロックの書換え頻度の傾向に変化があった場合には、全く対応することができず、物理ブロックに対するデータの書換え回数を的確に平滑化することが難しい。
たとえば、論理ブロックに割り当てられたデータが変更され、新たに割り当てられたデータが今後書換えをほとんど行われないデータである場合でも、この論理ブロックに対する積算書換え回数が多ければ、この新たに割り当てられた書換え頻度の低いデータは積算書換え回数の少ない物理ブロックに割り当てられてしまう。
本発明は、上述した事情を考慮してなされたもので、記憶媒体の物理ブロックに対するデータの書き換え回数をより的確に平滑化することができる情報処理装置、メモリシステムおよびその制御方法を提供することを目的とする。
本発明に係るメモリシステムは、上述した課題を解決するために、物理ブロック単位で書換え可能な不揮発性メモリと、前記不揮発性メモリに対するデータの読み書きを制御するメモリコントローラと、を備え、前記不揮発性メモリの物理ブロックは、少なくとも物理ブロックに対する書込み回数を記憶する書込み回数領域を有し、前記メモリコントローラは、論理ブロック番号と物理ブロック番号とを関連付けて変換テーブルに記憶させる変換テーブル管理手段と、前記論理ブロック番号に対応するデータの読取り専用属性と、必要に応じて前記読取り専用属性の変更に応じて変更される前記論理ブロックの書換え頻度属性と、を、前記論理ブロック番号に対してさらに関連付けて変換テーブルに記憶させる頻度フラグ設定手段と、前記書換え頻度属性が書換え頻度が低いことを示す状態でありかつ前記読取り専用属性が読み書き可能を示す状態である論理ブロックに対してデータの書込み要求があると、このデータを前記書込み回数領域に記憶された前記書込み回数が多い物理ブロックに書込むよう制御する平滑化手段と、を有することを特徴とするものである。
また、本発明に係る情報処理装置は、上述した課題を解決するために、物理ブロック単位で書換え可能であり、前記物理ブロックのそれぞれは少なくとも前記物理ブロックに対する書込み回数を記憶する書込み回数領域を有する不揮発性メモリと、前記不揮発性メモリに対するデータの読み書きを制御するメモリコントローラと、論理ブロック番号と物理ブロック番号とを関連付けて変換テーブルに記憶させる変換テーブル管理手段と、前記論理ブロック番号に対応するデータの読取り専用属性と、前記読取り専用属性の変更に応じて変更される前記論理ブロックの書換え頻度属性と、を、前記論理ブロック番号に対してさらに関連付けて変換テーブルに記憶させる頻度フラグ設定手段と、前記書換え頻度属性が書換え頻度が低いことを示す状態でありかつ前記読取り専用属性が読み書き可能を示す状態である論理ブロックに対してデータの書込み要求があると、このデータを前記書込み回数領域に記憶された前記書込み回数が多い物理ブロックに書込むよう制御する平滑化手段と、を備えたことを特徴とするものである。
一方、本発明に係る制御方法は、上述した課題を解決するために、物理ブロック単位で書換え可能な不揮発性メモリに対するデータの読み書きを制御する制御方法であって、論理ブロック番号と物理ブロック番号とを関連付けて記憶するステップと、前記論理ブロック番号に対応するデータの読取り専用属性と、前記読取り専用属性の変更に応じて変更される前記論理ブロックの書換え頻度属性と、を、前記論理ブロック番号に対してさらに関連付けて記憶するステップと、前記書換え頻度属性が書換え頻度が低いことを示す状態でありかつ前記読取り専用属性が読み書き可能を示す状態である論理ブロックに対してデータの書込み要求があると、このデータを前記書込み回数領域に記憶された前記書込み回数が多い物理ブロックに書込むよう制御するステップと、を有することを特徴とする方法である。
本発明に係る情報処理装置、メモリシステムおよびその制御方法によれば、記憶媒体の物理ブロックに対するデータの書き換え回数をより的確に平滑化することができる。
本発明に係る情報処理装置、メモリシステムおよびその制御方法の実施の形態について、添付図面を参照して説明する。
図1は、本発明に係る情報処理装置の第1実施形態を示す概略的な全体構成図である。情報処理装置10は、CPU11、メインメモリ12(RAM)およびメモリシステム20を有する。
CPU11は、メモリシステム20を含む情報処理装置10全体の処理を制御する。また、メインメモリ12は、CPU11が実行するプログラムおよびデータを一時的に格納するワークエリアを提供する。
メモリシステム20は、メモリコントローラ21、不揮発性メモリ22および変換テーブル23を有する。
メモリコントローラ21は、不揮発性メモリ22に対するデータの読み書きを制御する。
不揮発性メモリ22は、NAND型フラッシュメモリなどの、物理ブロック単位で書換え可能な不揮発性の記憶媒体であり、メモリコントローラ21により読取りおよび書込み可能に構成される。
図2は、不揮発性メモリ22の概略的な構成図である。
図2に示すように、不揮発性メモリ22は複数の物理ブロックにより構成される。各物理ブロックは、複数(一般に32個程度)の固定長データの集まりであるページと、各ページの管理情報を記憶する冗長領域24とにより構成される。各ページのサイズには、512byteのものや2KBのものなどがある。冗長領域24のサイズは、たとえばページサイズが512byteの場合は一般に16byte、2KBの場合は一般に64byteである。
不揮発性メモリ22には、大きく次の二つの特徴がある。
第1の特徴は、データの消去を物理ブロック単位で行う必要があるという特徴である。消去にはブロック消去コマンドを使用する。消去されると、物理ブロックの全てのデータビット(ページおよび冗長領域24の全てのデータビット)が立ち0xFFとなる。
第2の特徴は、データの上書きが原則不可能であるという特徴である。より詳細には、0のビットを1に上書きすることは不可能であるが、1のビットに0を上書きすることは可能である。このため、第1の特徴として説明したように、同一の物理ブロックの内容を変更するためには、この物理ブロックの全てのデータを一度消去する必要がある。
不揮発性メモリ22は、数万回の書換え(消去および書込み)で内部素子が破壊されてしまう可能性がある。破壊された内部素子を含む物理ブロックは、メモリコントローラ21からは故障ブロックとして扱われてしまい、アクセスの対象外となってしまう。このため、不揮発性メモリ22を利用する際は、特定の物理ブロックに対して書込みが集中しないように制御するとよい。
なお、本実施形態では、物理ブロック単位で消去および書込みを行う不揮発性メモリ22について説明する。この種の不揮発性メモリ22においては、物理ブロックの書換え回数は、消去回数または書込み回数と同義であることに注意する。
図3は、論理ブロック番号と物理ブロック番号とを関連付けるために用いられる変換テーブル23の一部について一例を示す説明図である。
不揮発性メモリ22を利用する場合、物理ブロックが故障しているか否かによらずアプリケーションがアクセス可能となるように、アドレス変換機構が用いられる。アドレス(番号)には、不揮発性メモリ22上の実際のブロック(物理ブロック)のアドレスである物理ブロック番号と、アプリケーションなどから見た見かけ上のブロック(論理ブロック)のアドレスである論理ブロック番号とがある。
アプリケーションがデータの読み書きを行う際には、このデータに対応する論理ブロック番号を用いてメモリコントローラ21に対してアクセスする。メモリコントローラ21は、変換テーブル23にもとづいてこの論理ブロック番号を物理ブロック番号に変換する。そして、メモリコントローラ21によって不揮発性メモリ22の物理ブロックに対するアクセスが行われる(図3参照)。
メモリコントローラ21は、論理ブロックに関連付けられた物理ブロックに故障がある場合には、この論理ブロックに対する関連付け先を他の物理ブロックに変更するよう、速やかに変換テーブル23を変更する。このため、アプリケーションは物理ブロックが故障しているか否かを気にすることなく不揮発性メモリ22を利用することができるようになっている。
図4は、不揮発性メモリ22の冗長領域24の構成例を示す図である。
冗長領域24は、少なくともEraseフラグ領域、論理アドレス領域、バージョン情報領域、書込み回数領域を有する。
図5は、物理ブロックの状態と、Eraseフラグ領域および論理アドレス領域の情報との関係について示す説明図である。
Eraseフラグ領域および論理アドレス領域は、物理ブロックの状態を表す。物理ブロックの状態には、図5に示すように、Assign状態、Erase状態およびClean状態の3つの状態がある。
Assign状態は、物理ブロックにデータが記録されているとともにこの記録されているデータが有効であり、アプリケーションによりこのデータが利用可能である状態である。Assign状態では、Eraseフラグ領域は0xFFである。また、論理アドレス領域には、メモリコントローラ21により、変換テーブル23の情報にもとづいて有効な論理アドレスが格納される。
Erase状態は、物理ブロックにデータが記録されているとともにこの記録されているデータが無効であり、アプリケーションによりこのデータが利用できない状態である。Erase状態では、Eraseフラグ領域は0x00である。つまり、アプリケーションによる物理ブロックに対するアクセスを禁止したい場合は、物理ブロックのデータを全て消去せずとも、Eraseフラグ領域を0x00に上書きするだけでよい。なお、不揮発性メモリ22は、1のビットに対して0を上書きすることは可能である(上述の第2の特徴参照)。
Clean状態は、物理ブロックにデータが記録されていない状態である。Clean状態では、Eraseフラグ領域も論理アドレス領域もともに0xFFである。
なお、以下の説明では、Erase状態およびClean状態の物理ブロックを総称して、フリーブロックという。
バージョン番号領域には、物理ブロックの新旧を判別するために用いられるバージョン番号が格納される。物理ブロックの書込み回数の平滑化のために、ある物理ブロックのデータを他の物理ブロックにコピーした後、元の物理ブロックのデータを消去する場合を考える。この場合、元の物理ブロックのデータを消去する直前に情報処理装置10の電源が落ちるなどした場合、同一のデータを有する物理ブロックが二つ存在してしまう場合がある。
ある物理ブロックのデータを他の物理ブロックにコピーする際に、冗長領域24のバージョン番号を1つインクリメントしておけば、同一のデータを有する物理ブロックが二つ存在してしまう場合にも、バージョン番号の大小で物理ブロックの新旧を判別することができる。
書込み回数領域は、各ページに対する書込み回数を記憶しておく。以下の説明において、物理ブロックの書込み回数という場合には、物理ブロックを構成するページの書込み回数のうち最も多い回数を指すものとする。
なお、冗長領域24に、故障ブロックであることを示す指標を格納する領域など、図4に示した領域以外の領域を設けてもよい。
図6は、図1に示すメモリコントローラ21の構成例を示す概略的なブロック図である。なお、各部31〜33は、プロセッサ、RAMおよびROMを用いて、プロセッサがROM内に記憶された書換え回数平滑化プログラムおよびプログラムの実行のために必要なデータをRAMへロードし、書換え回数平滑化プログラムに従ってプロセッサが各部31〜33として機能するようにしてもよい。
次に、メモリコントローラ21の各部31〜33について説明する。
メモリコントローラ21は、少なくとも変換テーブル管理部31、頻度フラグ設定部32および平滑化部33を有する。
変換テーブル管理部31は、論理ブロック番号と物理ブロック番号とを関連付けて変換テーブル23に記憶させる。
頻度フラグ設定部32は、フラグ判定部34、フラグ変更部35および変更後書換え回数判定部36を有する。
図7は、変換テーブル23の内容の一例を示す説明図である。
図7において、read-onlyは、論理ブロック番号に対応するデータの読取り専用属性(Read Only フラグ、以下ROフラグという)を表す。ROフラグは、各論理ブロックに対応するデータについて、このデータに対する書込みを禁止するために用いられる。例えば、ROフラグが1の場合は、この論理ブロックに対応するデータが読取り専用であることを示す。一方、ROフラグが0の場合は、このデータが読み書き可能であることを示す。
たとえば、アプリケーションプログラムに係るデータに対応する論理ブロックは、データのアップデートの際を除き、誤って書き換えてしまうことがないよう、ROフラグを1にしておくとよい。
また、図7において、assign policyとは、論理ブロックの書換え頻度属性(Assign Policy フラグ、以下APフラグという)を表す。APフラグは、書込み回数が少ない物理ブロックに書換え頻度が多いデータを割り当て、書込み回数が多い物理ブロックに書換え頻度が少ないデータを割り当てることにより、効率よく物理ブロックの書込み回数を平滑化するために用いられる。例えば、APフラグが1の場合は、論理ブロックの書換え頻度が低いことを示す。一方、APフラグが0の場合は、論理ブロックの書換え頻度が高いことを示す。
このため、APフラグが1のデータは書込み回数が多い物理ブロックに割り当て、APフラグが0のデータは書込み回数が少ない物理ブロックに割り当てるとよい。
一般に、アプリケーションプログラムのアップデートに代表されるように、ROフラグが1(読取り専用)から0(読み書き可能)に変更された場合には、1回から数回の書込み後に再び読取り専用となることが多い。このため、ROフラグが1から0に変更された場合は、この論理ブロックを書込み回数が多い物理ブロックに割り当てるようにするとよい。
なお、APフラグおよびROフラグの初期値はゼロであるものとする。
フラグ判定部34は、論理ブロックのROフラグに対する変更要求があったかどうかを判定する。
フラグ変更部35は、ROフラグおよび論理ブロックの書換え頻度属性(Assign Policy フラグ、以下APフラグという)を論理ブロック番号に対して関連付けて変換テーブル23に記憶させる。このため、変換テーブル23は、図7に示すように、APフラグ、ROフラグ、論理ブロック番号および物理ブロック番号が互いに関連付けられて記憶することになる。
フラグ変更部35は、ROフラグの変更要求に応じてROフラグを変更するとともに、必要に応じてROフラグの変更に応じて論理ブロックの書換え頻度属性(Assign Policy フラグ、以下APフラグという)を変更する。
変更後書換え回数判定部36は、論理ブロックのAPフラグが1(書換え頻度が低いことを示す状態)に変更された後に論理ブロックに対して行われた書込み要求回数が所定の回数に達したかどうかを判定する。
平滑化部33は、最多ブロック抽出部37、フリーブロック抽出部38、ブロック状態変更部39およびデータコピー部40を有する。
最多ブロック抽出部37は、APフラグが0(書換え頻度が高いことを示す状態)でありかつROフラグが0(読み書き可能を示す状態)である論理ブロックに関連付けられた物理ブロックのうち、書込み回数領域に記憶された書込み回数が最多の物理ブロックを抽出する。
フリーブロック抽出部38は、フリーブロックを抽出する。
ブロック状態変更部39は、必要に応じて、物理ブロックをErase状態またはClear状態にする。
データコピー部40は、複数のブロック間でデータのコピーを行う。
次に、本実施形態に係る情報処理装置10の動作の一例について説明する。
図8は、図1に示すメモリコントローラ21の頻度フラグ設定部32により、ROフラグの変更要求に応じてROフラグを変更するとともに、必要に応じてROフラグの変更に応じて論理ブロックのAPフラグを変更する際の手順を示すフローチャートである。図8において、Sに数字を付した符号は、フローチャートの各ステップを示す。
まず、ステップS1において、フラグ判定部34は、論理ブロックのROフラグに対する変更要求があったかどうかを判定する。変更要求があった場合は、ステップS2に進む。一方、なかった場合は、引き続き論理ブロックのROフラグに対する変更要求があったかどうかを監視する。
次に、ステップS2において、フラグ判定部34は、ROフラグの変更要求が、0から1に変更すべき要求であるかどうかを判定する。0から1に変更すべき要求である場合はステップS3に進む。一方、1から0に変更すべき要求である場合はステップS4に進む。
次に、ステップS3において、フラグ変更部35は、ROフラグを0から1に変更し、一連の手順は終了となる。
他方、ステップS4において、フラグ変更部35は、ROフラグを1から0に変更し、かつAPフラグを0から1に変更する。このAPフラグの変更は、1回から数回の書込み後に再び読取り専用となる(ROフラグが1に戻る)ことを予測した変更である。
次に、ステップS5において、フラグ判定部34は、APフラグが1かつROフラグが0の論理ブロックがあるかどうか判定する。(AP、RO)=(1、0)の論理ブロックがある場合はステップS6に進む。一方、ない場合は、一連の手順は終了となる。
次に、ステップS6において、変更後書換え回数判定部36は、(AP、RO)=(1、0)の論理ブロックについて、APフラグが1に変更された後に論理ブロックに対して行われた書込み要求回数が、所定の回数に達したかどうかを判定する。所定の回数に達している場合は、ステップS4における「ROフラグが1に戻る」予測が外れたと判定し、ステップS7に進む。一方、所定の回数に達した論理ブロックがない場合は、一連の手順は終了となる。
次に、ステップS7において、フラグ変更部35は、(AP、RO)=(1、0)を(AP、RO)=(0、0)に変更する。
以上の手順により、ROフラグの変更要求に応じてROフラグを変更するとともに、必要に応じてROフラグの変更に応じて論理ブロックのAPフラグを変更することができる。
図9は、図1に示すメモリコントローラ21の平滑化部33および変換テーブル管理部31により、APフラグが1かつROフラグが0の論理ブロックに対する書換え処理の様子を示す状態遷移図である。
なお、図9において、四角の枠はそれぞれ1つの物理ブロックを示す。また、四角の枠の内側のハッチングは、物理ブロックにデータが記録されていることを示し、四角の枠の左上に付した×印は、このブロックの状態がErase状態であることを示す。また、四角の枠のみでハッチングがない物理ブロックはClear状態であることを示す。
また、図10は、図1に示すメモリコントローラ21の平滑化部33および変換テーブル管理部31により、APフラグが1かつROフラグが0の論理ブロックに対する書換え処理の手順を示すフローチャートである。図10において、Sに数字を付した符号は、フローチャートの各ステップを示す。なお、以下の説明では、この(AP、RO)=(1、0)に関連付けられた元の物理ブロックをBorgという。
まず、ステップS11において、最多ブロック抽出部37は、(AP、RO)=(0、0)である論理ブロックに関連付けられた物理ブロックのうち、書込み回数領域に記憶された書込み回数が最多の物理ブロック(以下、この物理ブロックをBmaxという)を抽出する(図9の(901)参照)。
次に、ステップS12において、フリーブロック抽出部38は、フリーブロック(以下、この物理ブロックをBfという)を抽出する(図9の(902)参照)。
次に、ステップS13において、ブロック状態変更部39は、フリーブロックBreeに対して書込みが実行できるように、BfをClear状態にする(図9の(903)参照)。なお、このステップS13は、ステップS12において抽出されたBfがClear状態である場合には実行する必要はない。
次に、ステップS14において、データコピー部40は、BmaxのデータをBfにコピーする(図9の(904)参照)。
次に、ステップS15において、変換テーブル管理部31は、Bmaxに関連付けられていた論理ブロックをBfに関連付けるよう変換テーブル23を変更する。
次に、ステップS16において、データコピー部40は、Bmaxの書込み回数をメインメモリ12などの記憶媒体にコピーする。
次に、ステップS17において、ブロック状態変更部39は、BmaxをClear状態にする(図9の(905)参照)。
次に、ステップS18において、データコピー部40は、Borgの書換えデータをBmaxに書込む。
図9には、書換え箇所が物理ブロックの中間付近のページにある場合の書込み手順の一例について示した。この場合、たとえば図9に示したように、まずBorgの前半部分をBmaxに書込み(図9の(906)参照)、次にBorgの書換え箇所をBmaxに書込み(図9の(907)参照)、最後に、Borgの後半部分をBmaxのページ領域に、インクリメントしたバージョン番号をバージョン番号領域に、ステップS16でメインメモリ12などの記憶媒体にコピーされていたBmaxの書込み回数をインクリメントして書込み回数領域に、それぞれ書込む(図9の(908)参照)ようにする。
次に、ステップS19において、ブロック状態変更部39は、BorgをErase状態にする(図9の(909)参照)。
次に、ステップS20において、変換テーブル管理部31は、Borgに関連付けられていた論理ブロックをBmaxに関連付けるよう変換テーブル23を変更する。
以上の手順により、APフラグが1かつROフラグが0の論理ブロックに対する書換え処理を実行することができる。
従来の技術では、論理ブロックの書換え頻度の履歴と、物理ブロックの書込み回数とにもとづいて、物理ブロックの書込み回数の平滑化を行っている。このため、たとえば読取り専用のデータがあって、このデータに対応する論理ブロックに関連付けられた物理ブロックの書込み回数が最少であり、平滑化処理を行ってこの最少書込み回数の物理ブロックをフリーブロックとした直後に、この読取り専用のデータが一時的に読み書き可能となって書込み要求された場合、再び最少書込み回数の物理ブロックにこのデータが割り当てられてしまうという不具合があった。
一方、本実施形態に係るメモリシステム20およびこのメモリシステム20を用いた情報処理装置10は、書換え頻度が低いと予想される論理ブロックに対してAPフラグを立て、このAPフラグが立っている論理ブロックに対して書込み回数が最大の物理ブロックを割り当てることができる。このため、書換え頻度を予測することによって、書換え頻度が低い論理ブロックを書込み回数が多い物理ブロックに対して的確に割り当てることができる。
したがって、本実施形態に係るメモリシステム20およびこのメモリシステム20を用いた情報処理装置10によれば、頻繁に書換えが発生するデータを的確に書込み回数が少ない物理ブロックに割り当てることができ、従来の技術に比べ、物理ブロックの書き換え回数をより的確かつ容易に平滑化することができる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
たとえば、上述したメモリコントローラ21の構成の一部または全部を、CPU11によりプログラムを実行させて機能させることもできる。この場合、この書換え回数平滑化プログラムをCD−ROM、磁気ディスクなどからメインメモリ12にインストールし、あるいはメインメモリ12に通信回線を介してダウンロードするなどして、このメインメモリ12に格納された書換え回数平滑化プログラムをCPU11により実行すればよい。
また、本実施形態では、図8のステップS4における「ROフラグが1に戻る」予測が外れたかどうかの判定を、図8のステップS6およびS7で実行する場合の例について示したが、このステップS6およびS7と同等の手順は、図10に示した手順の中で実行するなど、いずれかの論理ブロックに対する書換え要求があるごとに行うようにしてもよい。
さらに、本実施形態では、変更後書換え回数判定部36により所定の回数に達した場合に図8のステップS4における「ROフラグが1に戻る」予測が外れたものとしてAPフラグを0に戻す例について説明したが、所定の時間経過など、他の判断基準によってこの予測が外れたものとしてAPフラグを0に戻すようにしてもよい。
また、本実施形態では、フローチャートの各ステップは、記載された順序に沿って時系列的に行われる処理の例を示したが、必ずしも時系列的に処理されなくとも、並列的あるいは個別実行される処理をも含むものである。
たとえば、図10のステップS11で、Bmaxをフリーブロックから抽出するようにすれば、ステップS12からS15は省略することができ、一連の書換え処理を高速に行うことができる。また、このフリーブロックであるBmaxがClear状態であれば、さらにステップS16およびS17を省略することができる。
本発明に係る情報処理装置の第1実施形態を示す概略的な全体構成図。 不揮発性メモリの概略的な構成図。 論理ブロック番号と物理ブロック番号とを関連付けるために用いられる変換テーブルの一部について一例を示す説明図。 不揮発性メモリの冗長領域の構成例を示す図。 物理ブロックの状態と、Eraseフラグ領域および論理アドレス領域の情報との関係について示す説明図。 図1に示すメモリコントローラの構成例を示す概略的なブロック図。 変換テーブルの内容の一例を示す説明図。 図1に示すメモリコントローラの頻度フラグ設定部により、ROフラグの変更要求に応じてROフラグを変更するとともに、必要に応じてROフラグの変更に応じて論理ブロックのAPフラグを変更する際の手順を示すフローチャート。 図1に示すメモリコントローラの平滑化部および変換テーブル管理部により、APフラグが1かつROフラグが0の論理ブロックに対する書換え処理の様子を示す状態遷移図。 図1に示すメモリコントローラの平滑化部および変換テーブル管理部により、APフラグが1かつROフラグが0の論理ブロックに対する書換え処理の手順を示すフローチャート。
符号の説明
10 情報処理装置
11 CPU
12 メインメモリ
20 メモリシステム
21 メモリコントローラ
22 不揮発性メモリ
23 変換テーブル
24 ブロック
25 ページ
26 冗長領域
31 変換テーブル管理部
32 頻度フラグ設定部
33 平滑化部
34 フラグ判定部
35 フラグ変更部
36 変更後書換え回数判定部
37 最多ブロック抽出部
38 フリーブロック抽出部
39 ブロック状態変更部
40 データコピー部

Claims (11)

  1. 物理ブロック単位で書換え可能な不揮発性メモリと、
    前記不揮発性メモリに対するデータの読み書きを制御するメモリコントローラと、
    を備え、
    前記不揮発性メモリの物理ブロックは、
    少なくとも物理ブロックに対する書込み回数を記憶する書込み回数領域を有し、
    前記メモリコントローラは、
    論理ブロック番号と物理ブロック番号とを関連付けて変換テーブルに記憶させる変換テーブル管理手段と、
    前記論理ブロック番号に対応するデータの読取り専用属性と、必要に応じて前記読取り専用属性の変更に応じて変更される前記論理ブロックの書換え頻度属性と、を、前記論理ブロック番号に対してさらに関連付けて変換テーブルに記憶させる頻度フラグ設定手段と、
    前記書換え頻度属性が書換え頻度が低いことを示す状態でありかつ前記読取り専用属性が読み書き可能を示す状態である論理ブロックに対してデータの書込み要求があると、このデータを前記書込み回数領域に記憶された前記書込み回数が多い物理ブロックに書込むよう制御する平滑化手段と、
    を有することを特徴とするメモリシステム。
  2. 前記頻度フラグ設定手段は、
    前記データの読取り専用属性が読取り専用を示す状態から読み書き可能を示す状態に変更されると、前記論理ブロックの書換え頻度属性を書換え頻度が低いことを示す状態に変更する、
    請求項1記載のメモリシステム。
  3. 前記平滑化手段は、
    前記書換え頻度属性が書換え頻度が低いことを示す状態でありかつ前記読取り専用属性が読み書き可能を示す状態である論理ブロックに対してデータの書込み要求があると、このデータを、前記書換え頻度属性が書換え頻度が高いことを示す状態でありかつ前記読取り専用フラグが読み書き可能を示す状態である論理ブロックに関連付けられた物理ブロックのうち前記書込み回数領域に記憶された前記書込み回数が多い物理ブロックに書込むよう制御する、
    請求項1または2に記載のメモリシステム。
  4. 前記頻度フラグ設定手段は、
    前記論理ブロックの書換え頻度属性が書換え頻度が低いことを示す状態に変更された後に前記論理ブロックに対して行われた書込み要求回数が所定の回数に達すると、前記変換テーブルに記憶された前記論理ブロックの書換え頻度属性を書換え頻度が高いことを示す状態に変更する、
    請求項3記載のメモリシステム。
  5. 前記変換テーブルは、前記不揮発性メモリに格納される、
    請求項1ないし請求項4のいずれか1項に記載のメモリシステム。
  6. 物理ブロック単位で書換え可能であり、前記物理ブロックのそれぞれは少なくとも前記物理ブロックに対する書込み回数を記憶する書込み回数領域を有する不揮発性メモリと、
    前記不揮発性メモリに対するデータの読み書きを制御するメモリコントローラと、
    論理ブロック番号と物理ブロック番号とを関連付けて変換テーブルに記憶させる変換テーブル管理手段と、
    前記論理ブロック番号に対応するデータの読取り専用属性と、前記読取り専用属性の変更に応じて変更される前記論理ブロックの書換え頻度属性と、を、前記論理ブロック番号に対してさらに関連付けて変換テーブルに記憶させる頻度フラグ設定手段と、
    前記書換え頻度属性が書換え頻度が低いことを示す状態でありかつ前記読取り専用属性が読み書き可能を示す状態である論理ブロックに対してデータの書込み要求があると、このデータを前記書込み回数領域に記憶された前記書込み回数が多い物理ブロックに書込むよう制御する平滑化手段と、
    を備えたことを特徴とする情報処理装置。
  7. 前記頻度フラグ設定手段は、
    前記データの読取り専用属性が読取り専用を示す状態から読み書き可能を示す状態に変更されると、前記論理ブロックの書換え頻度属性を書換え頻度が低いことを示す状態に変更する、
    請求項6記載の情報処理装置。
  8. 前記平滑化手段は、
    前記書換え頻度属性が書換え頻度が低いことを示す状態でありかつ前記読取り専用属性が読み書き可能を示す状態である論理ブロックに対してデータの書込み要求があると、このデータを、前記書換え頻度属性が書換え頻度が高いことを示す状態でありかつ前記読取り専用フラグが読み書き可能を示す状態である論理ブロックに関連付けられた物理ブロックのうち前記書込み回数領域に記憶された前記書込み回数が多い物理ブロックに書込むよう制御する、
    請求項6または7に記載の情報処理装置。
  9. 前記論理ブロックの書換え頻度属性が書換え頻度が低いことを示す状態に変更された後に前記論理ブロックに対して行われた書込み要求回数が、所定の回数に達したか否かを判定する変更後書換え回数判定手段、
    をさらに備え、
    前記頻度フラグ設定手段は、
    前記書込み要求回数が前記所定の回数に達すると、前記変換テーブルに記憶された前記論理ブロックの書換え頻度属性を書換え頻度が高いことを示す状態に変更する、
    請求項8記載の情報処理装置。
  10. 物理ブロック単位で書換え可能な不揮発性メモリに対するデータの読み書きを制御する制御方法であって、
    論理ブロック番号と物理ブロック番号とを関連付けて記憶するステップと、
    前記論理ブロック番号に対応するデータの読取り専用属性と、前記読取り専用属性の変更に応じて変更される前記論理ブロックの書換え頻度属性と、を、前記論理ブロック番号に対してさらに関連付けて記憶するステップと、
    前記書換え頻度属性が書換え頻度が低いことを示す状態でありかつ前記読取り専用属性が読み書き可能を示す状態である論理ブロックに対してデータの書込み要求があると、このデータを前記書込み回数領域に記憶された前記書込み回数が多い物理ブロックに書込むよう制御するステップと、
    を有することを特徴とする制御方法。
  11. 前記論理ブロックの書換え頻度属性は、
    前記データの読取り専用属性が読取り専用を示す状態から読み書き可能を示す状態に変更されると、前記論理ブロックの書換え頻度属性を書換え頻度が低いことを示す状態に変更される、
    請求項10記載の制御方法。
JP2008050817A 2008-02-29 2008-02-29 情報処理装置、メモリシステムおよびその制御方法 Withdrawn JP2009211152A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008050817A JP2009211152A (ja) 2008-02-29 2008-02-29 情報処理装置、メモリシステムおよびその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008050817A JP2009211152A (ja) 2008-02-29 2008-02-29 情報処理装置、メモリシステムおよびその制御方法

Publications (1)

Publication Number Publication Date
JP2009211152A true JP2009211152A (ja) 2009-09-17

Family

ID=41184283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008050817A Withdrawn JP2009211152A (ja) 2008-02-29 2008-02-29 情報処理装置、メモリシステムおよびその制御方法

Country Status (1)

Country Link
JP (1) JP2009211152A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011203916A (ja) * 2010-03-25 2011-10-13 Toshiba Corp メモリコントローラ、および半導体記憶装置
JP2021149325A (ja) * 2020-03-17 2021-09-27 株式会社デンソー 車両用データ記録装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011203916A (ja) * 2010-03-25 2011-10-13 Toshiba Corp メモリコントローラ、および半導体記憶装置
JP2021149325A (ja) * 2020-03-17 2021-09-27 株式会社デンソー 車両用データ記録装置
JP7287318B2 (ja) 2020-03-17 2023-06-06 株式会社デンソー 車両用データ記録装置

Similar Documents

Publication Publication Date Title
JP5336060B2 (ja) 不揮発性メモリ装置およびそれを動作させる方法
KR100531192B1 (ko) 비휘발성 메모리의 제어방법
TWI440042B (zh) 半導體儲存裝置及儲存控制方法
CN110895514A (zh) 映射表更新方法
JP2005242897A (ja) フラッシュディスク装置
US20070016719A1 (en) Memory device including nonvolatile memory and memory controller
JP2001209543A (ja) フラッシュ・マイコンにおけるプログラム書き換え方法
WO2007000862A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
JP2010287049A (ja) メモリシステムおよびメモリシステムの管理方法
JP2015191336A (ja) メモリ制御装置、情報処理装置とその制御方法、及びプログラム
JP2009205689A (ja) フラッシュディスク装置
US20100180072A1 (en) Memory controller, nonvolatile memory device, file system, nonvolatile memory system, data writing method and data writing program
JP2004326165A (ja) メモリ制御装置およびメモリ制御方法
JP5541194B2 (ja) フラッシュメモリに対してデータの読み出しおよび書き込みを行う制御装置
JPH06349286A (ja) フラッシュメモリ用書き込み制御方法および制御装置
JP2009211152A (ja) 情報処理装置、メモリシステムおよびその制御方法
JP4513786B2 (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
KR100654344B1 (ko) 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법
JP2018185842A (ja) メモリ制御装置及び情報処理システム
KR100654343B1 (ko) 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법
JP2011081641A (ja) メモリ制御装置
JP5100789B2 (ja) 半導体記憶装置および半導体記憶装置の制御方法
JP2013109404A (ja) 情報処理装置
JP5787095B2 (ja) 不揮発性メモリへのデータ記憶方法
JP5707695B2 (ja) フラッシュディスク装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100317

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100426

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20111104