JP4821844B2 - メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 - Google Patents
メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 Download PDFInfo
- Publication number
- JP4821844B2 JP4821844B2 JP2008326310A JP2008326310A JP4821844B2 JP 4821844 B2 JP4821844 B2 JP 4821844B2 JP 2008326310 A JP2008326310 A JP 2008326310A JP 2008326310 A JP2008326310 A JP 2008326310A JP 4821844 B2 JP4821844 B2 JP 4821844B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- physical block
- physical
- flash memory
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims 23
- 238000006243 chemical reaction Methods 0.000 claims 24
- 238000012217 deletion Methods 0.000 claims 2
- 230000037430 deletion Effects 0.000 claims 2
Images
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理手段と、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックと前記物理ブロックとの対応関係を管理するブロック管理手段と、
前記アクセス指示により指定された領域が属する前記論理ブロックと対応する前記物理ブロックにホストシステム側から与えられたデータを書き込むデータ書き込み手段と、
前記物理ブロックに対して新たに前記論理ブロックが割り当てられる毎にカウント値を更新するカウント手段と、
前記カウント値に基づいて決定されるカウント情報を、新たに前記論理ブロックが割り当てられた前記物理ブロックに書き込むカウント情報書き込み手段と、
前記カウント値と前記物理ブロックに書き込まれている前記カウント情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断手段と、
前記判断手段により肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送手段とを備える。前記判断手段は、前記カウント情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をする。
ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理手段と、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックを前記物理ブロックに割り当てる論理ブロック割り当て手段と、
前記論理ブロック割り当て手段により設定された前記論理ブロックと前記物理ブロックとの対応関係を示すアドレス変換テーブルを管理するアドレス変換テーブル管理手段と、
前記アドレス変換テーブル管理手段により前記アドレス変換テーブルの少なくとも一部の前記論理ブロックと前記物理ブロックとの対応関係が変更されたときに、前記アドレス変換テーブルの保存先の前記物理ブロックであるテーブル保存ブロックに、前記アドレス変換テーブルを保存するアドレス変換テーブル保存手段と、
前記テーブル保存ブロックに、前記アドレス変換テーブルを保存するための空き領域が無くなったとき、別の前記物理ブロックを前記テーブル保存ブロックとして新たに割り当てるテーブル保存ブロック管理手段と、
前記テーブル保存ブロック管理手段により新たな前記テーブル保存ブロックの割り当てが行われたときに、空き領域が無くなった前記テーブル保存ブロックに記憶されているカウント値と一致するカウント値である直前のカウント値を更新し、更新後のカウント値である最新のカウント値を、新たに前記テーブル保存ブロックとして割り当てられた前記物理ブロックに書き込むカウント情報書き込み手段と、
前記最新のカウント値に基づいて、前記論理ブロックが新たに割り当てられた前記物理ブロックに書き込む版数情報を決定する版数情報決定手段と、
前記版数情報決定手段により決定された前記版数情報を、前記論理ブロックが新たに割り当てられた前記物理ブロックに書き込む版数情報書き込み手段と、
前記物理ブロックに書き込まれている前記版数情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断手段と、
前記判断手段により肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送手段とを備える。前記判断手段は、前記版数情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をする。
ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理手段と、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックを前記物理ブロックに割り当てる論理ブロック割り当て手段と、
前記論理ブロック割り当て手段により設定された前記論理ブロックと前記物理ブロックとの対応関係を示すアドレス変換テーブルを管理するアドレス変換テーブル管理手段と、
前記アドレス変換テーブル管理手段により前記アドレス変換テーブルの少なくとも一部の前記論理ブロックと前記物理ブロックとの対応関係が変更されたときに、前記アドレス変換テーブルの保存先の前記物理ブロックであるテーブル保存ブロックに、前記アドレス変換テーブルを保存するアドレス変換テーブル保存手段と、
前記テーブル保存ブロックに、前記アドレス変換テーブルを保存するための空き領域が無くなったとき、別の前記物理ブロックを前記テーブル保存ブロックとして新たに割り当てるテーブル保存ブロック管理手段と、
前記テーブル保存ブロックとして割り当てられている前記物理ブロックが変わったときに、前記テーブル保存ブロックとして割り当てられている前記物理ブロックを示す管理情報を、前記管理情報の保存先の前記物理ブロックである管理情報ブロックに保存する管理情報保存手段と、
前記管理情報ブロックに、前記管理情報を保存するための空き領域が無くなったとき、別の前記物理ブロックを前記管理情報ブロックとして新たに割り当てる管理情報ブロック管理手段と、
前記管理情報ブロック管理手段により新たな前記管理情報ブロックの割り当てが行われたときに、空き領域が無くなった前記管理情報ブロックに記憶されているカウント値と一致するカウント値である直前のカウント値を更新し、更新後のカウント値である最新のカウント値を、新たに前記管理情報ブロックとして割り当てられた前記物理ブロックに書き込むカウント情報書き込み手段と、
前記最新のカウント値に基づいて、前記論理ブロックが新たに割り当てられた前記物理ブロックに書き込む版数情報を決定する版数情報決定手段と、
前記版数情報決定手段により決定された前記版数情報を、前記論理ブロックが新たに割り当てられた前記物理ブロックに書き込む版数情報書き込み手段と、
前記物理ブロックに書き込まれている前記版数情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断手段と、
前記判断手段により肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送手段とを備える。前記判断手段は、前記版数情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をする。
ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理手段と、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックと前記物理ブロックとの対応関係を管理するブロック管理手段と、
前記物理ブロックに対して前記論理ブロックが新たに割り当てられる毎にカウント値を更新するカウント手段と
前記カウント値が所定の値に達したときに、前記論理ブロックを割り当てた物理ブロックに書き込む版数情報を更新する版数情報管理手段と、
前記論理ブロックが新たに割り当てられた前記物理ブロックに、前記版数情報を書き込む版数情報書き込み手段と、
前記物理ブロックに書き込まれている前記版数情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断手段と、
前記判断手段により肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送手段とを備える。前記判断手段は、前記版数情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をする。
ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理手段と、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックと前記物理ブロックとの対応関係を管理するブロック管理手段と、
前記フラッシュメモリ内の消去状態の前記物理ブロックである空きブロックを検索する手段であって、前記フラッシュメモリ内の前記物理ブロックが消去状態であるか否かを所定の順番で判断していく空きブロック検索手段と、
前記空きブロック検索手段で検出された消去状態の前記物理ブロックに対して前記論理ブロックを割り当てる論理ブロック割り当て手段と、
前記空きブロック検索手段における所定の順番の検索が所定回数巡回する毎に、前記論理ブロックを割り当てた物理ブロックに書き込む版数情報を更新する版数情報管理手段と、
前記論理ブロックが新たに割り当てられた前記物理ブロックに、前記版数情報を書き込む版数情報書き込み手段と、
前記物理ブロックに書き込まれている前記版数情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断手段と、
前記判断手段により肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送手段とを備える。前記判断手段は、前記版数情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をする。
ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理ステップと、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックと前記物理ブロックとの対応関係を管理するブロック管理ステップと、
前記アクセス指示により指定された領域が属する前記論理ブロックと対応する前記物理ブロックにホストシステム側から与えられたデータを書き込むデータ書き込みステップと、
前記物理ブロックに対して新たに前記論理ブロックが割り当てられる毎にカウント値を更新するカウントステップと、
前記カウント値に基づいて決定されるカウント情報を、新たな前記論理ブロックが割り当てられた前記物理ブロックに書き込むカウント情報書き込みステップと、
前記カウント値と前記物理ブロックに書き込まれている前記カウント情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判
断する判断ステップと、
前記判断ステップで肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送ステップとを備える。前記判断ステップでは、前記カウント情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をする。
ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理ステップと、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックを前記物理ブロックに割り当てる論理ブロック割り当てステップと、
前記論理ブロック割り当てステップにより設定された前記論理ブロックと前記物理ブロックとの対応関係を示すアドレス変換テーブルを管理するアドレス変換テーブル管理ステップと、
前記アドレス変換テーブル管理ステップにより前記アドレス変換テーブルの少なくとも一部の前記論理ブロックと前記物理ブロックとの対応関係が変更されたときに、前記アドレス変換テーブルの保存先の前記物理ブロックであるテーブル保存ブロックに、前記アドレス変換テーブルを保存するアドレス変換テーブル保存ステップと、
前記テーブル保存ブロックに、前記アドレス変換テーブルを保存するための空き領域が無くなったとき、別の前記物理ブロックを前記テーブル保存ブロックとして新たに割り当てるテーブル保存ブロック管理ステップと、
前記テーブル保存ブロック管理ステップにより新たな前記テーブル保存ブロックの割り当てが行われたときに、空き領域が無くなった前記テーブル保存ブロックに記憶されているカウント値と一致するカウント値である直前のカウント値を更新し、更新後のカウント値である最新のカウント値を、新たに前記テーブル保存ブロックとして割り当てられた前記物理ブロックに書き込むカウント情報書き込みステップと、
前記最新のカウント値に基づいて、前記論理ブロックが新たに割り当てられた前記物理ブロックに書き込む版数情報を決定する版数情報決定ステップと、
前記版数情報決定ステップにより決定された前記版数情報を、前記論理ブロックが新たに割り当てられた前記物理ブロックに書き込む版数情報書き込みステップと、
前記物理ブロックに書き込まれている前記版数情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断ステップと、
前記判断ステップにより肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送ステップとを備える。前記判断ステップでは、前記版数情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をする。
ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理ステップと、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックを前記物理ブロックに割り当てる論理ブロック割り当てステップと、
前記論理ブロック割り当てステップにより設定された前記論理ブロックと前記物理ブロックとの対応関係を示すアドレス変換テーブルを管理するアドレス変換テーブル管理ステップと、
前記アドレス変換テーブル管理ステップにより前記アドレス変換テーブルの少なくとも一部の前記論理ブロックと前記物理ブロックとの対応関係が変更されたときに、前記アドレス変換テーブルの保存先の前記物理ブロックであるテーブル保存ブロックに、前記アドレス変換テーブルを保存するアドレス変換テーブル保存ステップと、
前記テーブル保存ブロックに、前記アドレス変換テーブルを保存するための空き領域が無くなったとき、別の前記物理ブロックを前記テーブル保存ブロックとして新たに割り当てるテーブル保存ブロック管理ステップと、
前記テーブル保存ブロックとして割り当てられている前記物理ブロックが変わったときに、前記テーブル保存ブロックとして割り当てられている前記物理ブロックを示す管理情報を、前記管理情報の保存先の前記物理ブロックである管理情報ブロックに保存する管理情報保存ステップと、
前記管理情報ブロックに、前記管理情報を保存するための空き領域が無くなったとき、別の前記物理ブロックを前記管理情報ブロックとして新たに割り当てる管理情報ブロック管理ステップと、
前記管理情報ブロック管理ステップにより新たな前記管理情報ブロックの割り当てが行われたとき、空き領域が無くなった前記管理情報ブロックに記憶されているカウント値と一致するカウント値である直前のカウント値を更新し、更新後のカウント値である最新のカウント値を、新たに前記管理情報ブロックとして割り当てられた前記物理ブロックに書き込むカウント情報書き込みステップと、
前記最新のカウント値に基づいて、前記論理ブロックが新たに割り当てられた前記物理ブロックに書き込む版数情報を決定する版数情報決定ステップと、
前記版数情報決定ステップにより決定された前記版数情報を、前記論理ブロックが新たに割り当てられた前記物理ブロックに書き込む版数情報書き込みステップと、
前記物理ブロックに書き込まれている前記版数情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断ステップと、
前記判断ステップにより肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送ステップとを備える。前記判断ステップでは、前記版数情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をする。
ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理ステップと、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックと前記物理ブロックとの対応関係を管理するブロック管理ステップと、
前記物理ブロックに対して前記論理ブロックが新たに割り当てられる毎にカウント値を更新するカウントステップと
前記カウント値が所定の値に達したときに、前記論理ブロックを割り当てた物理ブロックに書き込む版数情報を更新する版数情報管理ステップと、
前記論理ブロックが新たに割り当てられた前記物理ブロックに、前記版数情報を書き込む版数情報書き込みステップと、
前記物理ブロックに書き込まれている前記版数情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断ステップと、
前記判断ステップにより肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送ステップとを備える。前記判断ステップでは、前記版数情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をする。
ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理ステップと、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックと前記物理ブロックとの対応関係を管理するブロック管理ステップと、
前記フラッシュメモリ内の消去状態の前記物理ブロックである空きブロックを検索するステップであって、前記フラッシュメモリ内の前記物理ブロックが消去状態であるか否かを所定の順番で判断していく空きブロック検索ステップと、
前記空きブロック検索ステップで検出された消去状態の前記物理ブロックに対して前記論理ブロックを割り当てる論理ブロック割り当てステップと、
前記空きブロック検索ステップにおける所定の順番の検索が所定回数巡回する毎に、前記論理ブロックを割り当てた物理ブロックに書き込む版数情報を更新する版数情報管理ステップと、
前記論理ブロックが新たに割り当てられた前記物理ブロックに、前記版数情報を書き込む版数情報書き込みステップと、
前記物理ブロックに書き込まれている前記版数情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断ステップと、
前記判断ステップにより肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送ステップとを備える。前記判断ステップでは、前記版数情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をする。
等の付加データとが消去される((4A)参照)。また、カウント値が、“00 00 40 00h”から“00 00 40 01h”にカウントアップされる。
等の付加データとが消去される((4B)参照)。また、カウント値が、“00 00 40 01h”から“00 00 40 02h”にカウントアップされる。
等の付加データとが消去される((4C)参照)。また、カウント値が、“00 00 40 02h”から“00 00 40 03h”にカウントアップされる。
Claims (37)
- ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理手段と、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックと前記物理ブロックとの対応関係を管理するブロック管理手段と、
前記アクセス指示により指定された領域が属する前記論理ブロックと対応する前記物理ブロックにホストシステム側から与えられたデータを書き込むデータ書き込み手段と、
前記物理ブロックに対して新たに前記論理ブロックが割り当てられる毎にカウント値を更新するカウント手段と、
前記カウント値に基づいて決定されるカウント情報を、新たに前記論理ブロックが割り当てられた前記物理ブロックに書き込むカウント情報書き込み手段と、
前記カウント値と前記物理ブロックに書き込まれている前記カウント情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断手段と、
前記判断手段により肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送手段とを備え、
前記判断手段は、前記カウント情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をするメモリコントローラ。 - 前記フラッシュメモリ内の消去状態の前記物理ブロックである空きブロックを検索する空きブロック検索手段を更に備え、
前記肯定的な判断の対象の前記物理ブロックに記憶されているデータの転送先となる別の前記物理ブロックは、前記空きブロック検索手段により検出された前記空きブロックであり、
前記判断手段は、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数未満のときに、更に、前記転送先となる別の前記物理ブロックの消去回数と第2の所定基準回数とを比較し、前記転送先となる別の前記物理ブロックの消去回数が前記第2の所定基準回数未満の場合、肯定的な判断に代えて否定的な判断をする、
請求項1に記載のメモリコントローラ。 - 前記空きブロック検索手段は、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数未満のときに、所定検索条件の下で、消去回数が前記第2の所定基準回数以上の前記空きブロックを検出するための検索を行い、
前記判断手段は、前記検索条件の下で、前記空きブロック検索手段により消去回数が前記第2の所定基準回数以上の前記空きブロックが検出されなかった場合、肯定的な判断に代えて否定的な判断をする、
請求項2に記載のメモリコントローラ。 - 前記第2の所定基準回数が、予め定められた一定の値、前記フラッシュメモリを構成する複数個の前記物理ブロックにおける平均消去回数に基づいて決定される値及び前記フラッシュメモリを構成する複数個の前記物理ブロックにおける消去回数が最大の前記物理ブロックの消去回数に基づいて決定される値のうちのいずれか1つの値である請求項2又は3に記載のメモリコントローラ。
- 前記第1の所定基準回数が、予め定められた一定の値、前記フラッシュメモリを構成する複数個の前記物理ブロックにおける平均消去回数に基づいて決定される値及び前記フラッシュメモリを構成する複数個の前記物理ブロックにおける消去回数が最大の前記物理ブロックの消去回数に基づいて決定される値のうちのいずれか1つの値である請求項1乃至4のうちのいずれか1項に記載のメモリコントローラ。
- 前記カウント情報は、前記カウント値を2進数表示したときの所定範囲の桁を切り出した数値情報である、
請求項1乃至5のうちのいずれか1項に記載のメモリコントローラ。 - 前記肯定的な判断の対象となる前記物理ブロックに記憶されている前記カウント情報と、前記カウント値の前記カウント情報を示す部分の値との差が所定値以上である、
請求項1乃至6のうちのいずれか1項に記載のメモリコントローラ。 - 前記所定値は、前記フラッシュメモリを構成する前記物理ブロックの数に基づいて決定された値である、請求項7に記載のメモリコントローラ。
- ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理手段と、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックを前記物理ブロックに割り当てる論理ブロック割り当て手段と、
前記論理ブロック割り当て手段により設定された前記論理ブロックと前記物理ブロックとの対応関係を示すアドレス変換テーブルを管理するアドレス変換テーブル管理手段と、
前記アドレス変換テーブル管理手段により前記アドレス変換テーブルの少なくとも一部の前記論理ブロックと前記物理ブロックとの対応関係が変更されたときに、前記アドレス変換テーブルの保存先の前記物理ブロックであるテーブル保存ブロックに、前記アドレス変換テーブルを保存するアドレス変換テーブル保存手段と、
前記テーブル保存ブロックに、前記アドレス変換テーブルを保存するための空き領域が無くなったとき、別の前記物理ブロックを前記テーブル保存ブロックとして新たに割り当てるテーブル保存ブロック管理手段と、
前記テーブル保存ブロック管理手段により新たな前記テーブル保存ブロックの割り当てが行われたときに、空き領域が無くなった前記テーブル保存ブロックに記憶されているカウント値と一致するカウント値である直前のカウント値を更新し、更新後のカウント値である最新のカウント値を、新たに前記テーブル保存ブロックとして割り当てられた前記物理ブロックに書き込むカウント情報書き込み手段と、
前記最新のカウント値に基づいて、前記論理ブロックが新たに割り当てられた前記物理ブロックに書き込む版数情報を決定する版数情報決定手段と、
前記版数情報決定手段により決定された前記版数情報を、前記論理ブロックが新たに割り当てられた前記物理ブロックに書き込む版数情報書き込み手段と、
前記物理ブロックに書き込まれている前記版数情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断手段と、
前記判断手段により肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送手段とを備え、
前記判断手段は、前記版数情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をするメモリコントローラ。 - ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理手段と、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックを前記物理ブロックに割り当てる論理ブロック割り当て手段と、
前記論理ブロック割り当て手段により設定された前記論理ブロックと前記物理ブロックとの対応関係を示すアドレス変換テーブルを管理するアドレス変換テーブル管理手段と、
前記アドレス変換テーブル管理手段により前記アドレス変換テーブルの少なくとも一部の前記論理ブロックと前記物理ブロックとの対応関係が変更されたときに、前記アドレス変換テーブルの保存先の前記物理ブロックであるテーブル保存ブロックに、前記アドレス変換テーブルを保存するアドレス変換テーブル保存手段と、
前記テーブル保存ブロックに、前記アドレス変換テーブルを保存するための空き領域が無くなったとき、別の前記物理ブロックを前記テーブル保存ブロックとして新たに割り当てるテーブル保存ブロック管理手段と、
前記テーブル保存ブロックとして割り当てられている前記物理ブロックが変わったときに、前記テーブル保存ブロックとして割り当てられている前記物理ブロックを示す管理情報を、前記管理情報の保存先の前記物理ブロックである管理情報ブロックに保存する管理情報保存手段と、
前記管理情報ブロックに、前記管理情報を保存するための空き領域が無くなったとき、別の前記物理ブロックを前記管理情報ブロックとして新たに割り当てる管理情報ブロック管理手段と、
前記管理情報ブロック管理手段により新たな前記管理情報ブロックの割り当てが行われたときに、空き領域が無くなった前記管理情報ブロックに記憶されているカウント値と一致するカウント値である直前のカウント値を更新し、更新後のカウント値である最新のカウント値を、新たに前記管理情報ブロックとして割り当てられた前記物理ブロックに書き込むカウント情報書き込み手段と、
前記最新のカウント値に基づいて、前記論理ブロックが新たに割り当てられた前記物理ブロックに書き込む版数情報を決定する版数情報決定手段と、
前記版数情報決定手段により決定された前記版数情報を、前記論理ブロックが新たに割り当てられた前記物理ブロックに書き込む版数情報書き込み手段と、
前記物理ブロックに書き込まれている前記版数情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断手段と、
前記判断手段により肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送手段とを備え、
前記判断手段は、前記版数情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をするメモリコントローラ。 - ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理手段と、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックと前記物理ブロックとの対応関係を管理するブロック管理手段と、
前記物理ブロックに対して前記論理ブロックが新たに割り当てられる毎にカウント値を更新するカウント手段と
前記カウント値が所定の値に達したときに、前記論理ブロックを割り当てた物理ブロックに書き込む版数情報を更新する版数情報管理手段と、
前記論理ブロックが新たに割り当てられた前記物理ブロックに、前記版数情報を書き込む版数情報書き込み手段と、
前記物理ブロックに書き込まれている前記版数情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断手段と、
前記判断手段により肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送手段とを備え、
前記判断手段は、前記版数情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をするメモリコントローラ。 - 前記フラッシュメモリ内の消去状態の前記物理ブロックである空きブロックを検索する空きブロック検索手段を更に備え、
前記肯定的な判断の対象の前記物理ブロックに記憶されているデータの転送先となる別の前記物理ブロックは、前記空きブロック検索手段により検出された前記空きブロックであり、
前記判断手段は、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数未満のときに、更に、前記転送先となる別の前記物理ブロックの消去回数と第2の所定基準回数とを比較し、前記転送先となる別の前記物理ブロックの消去回数が前記第2の所定基準回数未満の場合、肯定的な判断に代えて否定的な判断をする、
請求項9乃至11のうちのいずれか1項に記載のメモリコントローラ。 - 前記空きブロック検索手段は、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数未満のときに、所定検索条件の下で、消去回数が前記第2の所定基準回数以上の前記空きブロックを検出するための検索を行い、
前記判断手段は、前記検索条件の下で、前記空きブロック検索手段により消去回数が前記第2の所定基準回数以上の前記空きブロックが検出されなかった場合、肯定的な判断に代えて否定的な判断をする、
請求項12に記載のメモリコントローラ。 - ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理手段と、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックと前記物理ブロックとの対応関係を管理するブロック管理手段と、
前記フラッシュメモリ内の消去状態の前記物理ブロックである空きブロックを検索する手段であって、前記フラッシュメモリ内の前記物理ブロックが消去状態であるか否かを所定の順番で判断していく空きブロック検索手段と、
前記空きブロック検索手段で検出された消去状態の前記物理ブロックに対して前記論理ブロックを割り当てる論理ブロック割り当て手段と、
前記空きブロック検索手段における所定の順番の検索が所定回数巡回する毎に、前記論理ブロックを割り当てた物理ブロックに書き込む版数情報を更新する版数情報管理手段と、
前記論理ブロックが新たに割り当てられた前記物理ブロックに、前記版数情報を書き込む版数情報書き込み手段と、
前記物理ブロックに書き込まれている前記版数情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断手段と、
前記判断手段により肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送手段とを備え、
前記判断手段は、前記版数情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をするメモリコントローラ。 - 前記肯定的な判断の対象の前記物理ブロックに記憶されているデータの転送先となる別の前記物理ブロックは、前記空きブロック検索手段により検出された前記空きブロックであり、
前記判断手段は、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数未満のときに、更に、前記転送先となる別の前記物理ブロックの消去回数と第2の所定基準回数とを比較し、前記転送先となる別の前記物理ブロックの消去回数が前記第2の所定基準回数未満の場合、肯定的な判断に代えて否定的な判断をする、
請求項14に記載のメモリコントローラ。 - 前記第2の所定基準回数が、予め定められた一定の値、前記フラッシュメモリを構成する複数個の前記物理ブロックにおける平均消去回数に基づいて決定される値及び前記フラッシュメモリを構成する複数個の前記物理ブロックにおける消去回数が最大の前記物理ブロックの消去回数に基づいて決定される値のうちのいずれか1つの値である請求項12、13又は15に記載のメモリコントローラ。
- 前記第1の所定基準回数が、予め定められた一定の値、前記フラッシュメモリを構成する複数個の前記物理ブロックにおける平均消去回数に基づいて決定される値及び前記フラッシュメモリを構成する複数個の前記物理ブロックにおける消去回数が最大の前記物理ブロックの消去回数に基づいて決定される値のうちのいずれか1つの値である請求項9乃至16のうちのいずれか1項に記載のメモリコントローラ。
- 前記版数情報は、所定の順序で循環する予め用意された少なくとも3種類の版数を示す情報であり、
前記肯定的な判断の対象の前記物理ブロックは、現在の前記版数情報より所定順番以上前の前記版数情報が記憶されている物理ブロックである、
請求項9乃至17のうちのいずれか1項に記載のメモリコントローラ。 - 請求項1乃至18のうちのいずれか1項に記載のメモリコントローラと、
前記メモリコントローラによりアクセスされるフラッシュメモリと、
を備えるフラッシュメモリシステム。 - ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理ステップと、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックと前記物理ブロックとの対応関係を管理するブロック管理ステップと、
前記アクセス指示により指定された領域が属する前記論理ブロックと対応する前記物理ブロックにホストシステム側から与えられたデータを書き込むデータ書き込みステップと、
前記物理ブロックに対して新たに前記論理ブロックが割り当てられる毎にカウント値を更新するカウントステップと、
前記カウント値に基づいて決定されるカウント情報を、新たな前記論理ブロックが割り当てられた前記物理ブロックに書き込むカウント情報書き込みステップと、
前記カウント値と前記物理ブロックに書き込まれている前記カウント情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判
断する判断ステップと、
前記判断ステップで肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送ステップとを備え、
前記判断ステップでは、前記カウント情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をするフラッシュメモリの制御方法。 - 前記フラッシュメモリ内の消去状態の前記物理ブロックである空きブロックを検索する空きブロック検索ステップを更に備え、
前記肯定的な判断の対象の前記物理ブロックに記憶されているデータの転送先となる別の前記物理ブロックは、前記空きブロック検索ステップにより検出された前記空きブロックであり、
前記判断ステップでは、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数未満のときに、更に、前記転送先となる別の前記物理ブロックの消去回数と第2の所定基準回数とを比較し、前記転送先となる別の前記物理ブロックの消去回数が前記第2の所定基準回数未満の場合、肯定的な判断に代えて否定的な判断をする、
請求項20に記載のフラッシュメモリの制御方法。 - 前記空きブロック検索ステップでは、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数未満のときに、所定検索条件の下で、消去回数が前記第2の所定基準回数以上の前記空きブロックを検出するための検索を行い、
前記判断ステップでは、前記検索条件の下で、前記空きブロック検索ステップにより消去回数が前記第2の所定基準回数以上の前記空きブロックが検出されなかった場合、肯定的な判断に代えて否定的な判断をする、
請求項21に記載のフラッシュメモリの制御方法。 - 前記第2の所定基準回数が、予め定められた一定の値、前記フラッシュメモリを構成する複数個の前記物理ブロックにおける平均消去回数に基づいて決定される値及び前記フラッシュメモリを構成する複数個の前記物理ブロックにおける消去回数が最大の前記物理ブロックの消去回数に基づいて決定される値のうちのいずれか1つの値である請求項21又は22に記載のフラッシュメモリの制御方法。
- 前記第1の所定基準回数が、予め定められた一定の値、前記フラッシュメモリを構成する複数個の前記物理ブロックにおける平均消去回数に基づいて決定される値及び前記フラッシュメモリを構成する複数個の前記物理ブロックにおける消去回数が最大の前記物理ブロックの消去回数に基づいて決定される値のうちのいずれか1つの値である請求項20乃至23のうちのいずれか1項に記載のフラッシュメモリの制御方法。
- 前記カウント情報は、前記カウント値を2進数表示したときの所定範囲の桁を切り出した数値情報である、
請求20乃至24のうちのいずれか1項に記載のフラッシュメモリの制御方法。 - 前記肯定的な判断の対象となる前記物理ブロックに記憶されている前記カウント情報と、前記カウント値の前記カウント情報を示す部分の値との差が所定値以上である、
請求項20乃至25のうちのいずれか1項に記載のフラッシュメモリの制御方法。 - 前記所定値は、前記フラッシュメモリを構成する前記物理ブロックの数に基づいて決定された値である、
請求項26に記載のフラッシュメモリの制御方法。 - ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理ステップと、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックを前記物理ブロックに割り当てる論理ブロック割り当てステップと、
前記論理ブロック割り当てステップにより設定された前記論理ブロックと前記物理ブロックとの対応関係を示すアドレス変換テーブルを管理するアドレス変換テーブル管理ステップと、
前記アドレス変換テーブル管理ステップにより前記アドレス変換テーブルの少なくとも一部の前記論理ブロックと前記物理ブロックとの対応関係が変更されたときに、前記アドレス変換テーブルの保存先の前記物理ブロックであるテーブル保存ブロックに、前記アドレス変換テーブルを保存するアドレス変換テーブル保存ステップと、
前記テーブル保存ブロックに、前記アドレス変換テーブルを保存するための空き領域が無くなったとき、別の前記物理ブロックを前記テーブル保存ブロックとして新たに割り当てるテーブル保存ブロック管理ステップと、
前記テーブル保存ブロック管理ステップにより新たな前記テーブル保存ブロックの割り当てが行われたときに、空き領域が無くなった前記テーブル保存ブロックに記憶されているカウント値と一致するカウント値である直前のカウント値を更新し、更新後のカウント値である最新のカウント値を、新たに前記テーブル保存ブロックとして割り当てられた前記物理ブロックに書き込むカウント情報書き込みステップと、
前記最新のカウント値に基づいて、前記論理ブロックが新たに割り当てられた前記物理ブロックに書き込む版数情報を決定する版数情報決定ステップと、
前記版数情報決定ステップにより決定された前記版数情報を、前記論理ブロックが新たに割り当てられた前記物理ブロックに書き込む版数情報書き込みステップと、
前記物理ブロックに書き込まれている前記版数情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断ステップと、
前記判断ステップにより肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送ステップとを備え、
前記判断ステップでは、前記版数情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をするフラッシュメモリの制御方法。 - ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理ステップと、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックを前記物理ブロックに割り当てる論理ブロック割り当てステップと、
前記論理ブロック割り当てステップにより設定された前記論理ブロックと前記物理ブロックとの対応関係を示すアドレス変換テーブルを管理するアドレス変換テーブル管理ステップと、
前記アドレス変換テーブル管理ステップにより前記アドレス変換テーブルの少なくとも一部の前記論理ブロックと前記物理ブロックとの対応関係が変更されたときに、前記アドレス変換テーブルの保存先の前記物理ブロックであるテーブル保存ブロックに、前記アドレス変換テーブルを保存するアドレス変換テーブル保存ステップと、
前記テーブル保存ブロックに、前記アドレス変換テーブルを保存するための空き領域が無くなったとき、別の前記物理ブロックを前記テーブル保存ブロックとして新たに割り当てるテーブル保存ブロック管理ステップと、
前記テーブル保存ブロックとして割り当てられている前記物理ブロックが変わったときに、前記テーブル保存ブロックとして割り当てられている前記物理ブロックを示す管理情報を、前記管理情報の保存先の前記物理ブロックである管理情報ブロックに保存する管理情報保存ステップと、
前記管理情報ブロックに、前記管理情報を保存するための空き領域が無くなったとき、別の前記物理ブロックを前記管理情報ブロックとして新たに割り当てる管理情報ブロック管理ステップと、
前記管理情報ブロック管理ステップにより新たな前記管理情報ブロックの割り当てが行われたとき、空き領域が無くなった前記管理情報ブロックに記憶されているカウント値と一致するカウント値である直前のカウント値を更新し、更新後のカウント値である最新のカウント値を、新たに前記管理情報ブロックとして割り当てられた前記物理ブロックに書き込むカウント情報書き込みステップと、
前記最新のカウント値に基づいて、前記論理ブロックが新たに割り当てられた前記物理ブロックに書き込む版数情報を決定する版数情報決定ステップと、
前記版数情報決定ステップにより決定された前記版数情報を、前記論理ブロックが新たに割り当てられた前記物理ブロックに書き込む版数情報書き込みステップと、
前記物理ブロックに書き込まれている前記版数情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断ステップと、
前記判断ステップにより肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送ステップとを備え、
前記判断ステップでは、前記版数情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をするフラッシュメモリの制御方法。 - ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理ステップと、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックと前記物理ブロックとの対応関係を管理するブロック管理ステップと、
前記物理ブロックに対して前記論理ブロックが新たに割り当てられる毎にカウント値を更新するカウントステップと
前記カウント値が所定の値に達したときに、前記論理ブロックを割り当てた物理ブロックに書き込む版数情報を更新する版数情報管理ステップと、
前記論理ブロックが新たに割り当てられた前記物理ブロックに、前記版数情報を書き込む版数情報書き込みステップと、
前記物理ブロックに書き込まれている前記版数情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断ステップと、
前記判断ステップにより肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送ステップとを備え、
前記判断ステップでは、前記版数情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をするフラッシュメモリの制御方法。 - 前記フラッシュメモリ内の消去状態の前記物理ブロックである空きブロックを検索する空きブロック検索ステップを更に備え、
前記肯定的な判断の対象の前記物理ブロックに記憶されているデータの転送先となる別の前記物理ブロックは、前記空きブロック検索ステップにより検出された前記空きブロックであり、
前記判断ステップでは、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数未満のときに、更に、前記転送先となる別の前記物理ブロックの消去回数と第2の所定基準回数とを比較し、前記転送先となる別の前記物理ブロックの消去回数が前記第2の所定基準回数未満の場合、肯定的な判断に代えて否定的な判断をする、
請求項28乃至30のうちのいずれか1項に記載のフラッシュメモリの制御方法。 - 前記空きブロック検索ステップでは、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数未満のときに、所定検索条件の下で、消去回数が前記第2の所定基準回数以上の前記空きブロックを検出するための検索を行い、
前記判断ステップでは、前記検索条件の下で、前記空きブロック検索ステップにより消去回数が前記第2の所定基準回数以上の前記空きブロックが検出されなかった場合、肯定的な判断に代えて否定的な判断をする、
請求項31に記載のフラッシュメモリの制御方法。 - ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記フラッシュメモリを構成するそれぞれの前記物理ブロックの消去回数を管理する消去回数管理ステップと、
ホストシステム側の論理アドレス空間における複数セクタの領域で構成された論理ブロックと前記物理ブロックとの対応関係を管理するブロック管理ステップと、
前記フラッシュメモリ内の消去状態の前記物理ブロックである空きブロックを検索するステップであって、前記フラッシュメモリ内の前記物理ブロックが消去状態であるか否かを所定の順番で判断していく空きブロック検索ステップと、
前記空きブロック検索ステップで検出された消去状態の前記物理ブロックに対して前記論理ブロックを割り当てる論理ブロック割り当てステップと、
前記空きブロック検索ステップにおける所定の順番の検索が所定回数巡回する毎に、前記論理ブロックを割り当てた物理ブロックに書き込む版数情報を更新する版数情報管理ステップと、
前記論理ブロックが新たに割り当てられた前記物理ブロックに、前記版数情報を書き込む版数情報書き込みステップと、
前記物理ブロックに書き込まれている前記版数情報に基づいて、前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するか否かを判断する判断ステップと、
前記判断ステップにより肯定的な判断がなされたときに、前記肯定的な判断の対象の前記物理ブロックに記憶されているデータを別の前記物理ブロックに転送するデータ転送ステップとを備え、
前記判断ステップでは、前記版数情報に基づいて肯定的な判断をするときに、更に、当該判断対象の前記物理ブロックの消去回数と第1の所定基準回数とを比較し、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数以上の場合、肯定的な判断に代えて否定的な判断をするフラッシュメモリの制御方法。 - 前記肯定的な判断の対象の前記物理ブロックに記憶されているデータの転送先となる別の前記物理ブロックは、前記空きブロック検索ステップにより検出された前記空きブロックであり、
前記判断ステップでは、前記当該判断対象の前記物理ブロックの消去回数が前記第1の所定基準回数未満のときに、更に、前記転送先となる別の前記物理ブロックの消去回数と第2の所定基準回数とを比較し、前記転送先となる別の前記物理ブロックの消去回数が前記第2の所定基準回数未満の場合、肯定的な判断に代えて否定的な判断をする、
請求項33に記載のフラッシュメモリの制御方法。 - 前記第2の所定基準回数が、予め定められた一定の値、前記フラッシュメモリを構成する複数個の前記物理ブロックにおける平均消去回数に基づいて決定される値及び前記フラッシュメモリを構成する複数個の前記物理ブロックにおける消去回数が最大の前記物理ブロックの消去回数に基づいて決定される値のうちのいずれか1つの値である請求項31、32又は34に記載のメモリコントローラ。
- 前記第1の所定基準回数が、予め定められた一定の値、前記フラッシュメモリを構成する複数個の前記物理ブロックにおける平均消去回数に基づいて決定される値及び前記フラッシュメモリを構成する複数個の前記物理ブロックにおける消去回数が最大の前記物理ブロックの消去回数に基づいて決定される値のうちのいずれか1つの値である請求項28乃至35のうちのいずれか1項に記載のフラッシュメモリの制御方法。
- 前記版数情報は、所定の順序で循環する予め用意された少なくとも3種類の版数を示す情報であり、
前記肯定的な判断の対象の前記物理ブロックは、現在の前記版数情報より所定順番以上前の前記版数情報が記憶されている物理ブロックである、
請求項28乃至36のうちのいずれか1項に記載のフラッシュメモリの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008326310A JP4821844B2 (ja) | 2008-12-22 | 2008-12-22 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008326310A JP4821844B2 (ja) | 2008-12-22 | 2008-12-22 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010146512A JP2010146512A (ja) | 2010-07-01 |
JP4821844B2 true JP4821844B2 (ja) | 2011-11-24 |
Family
ID=42566844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008326310A Active JP4821844B2 (ja) | 2008-12-22 | 2008-12-22 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4821844B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6167646B2 (ja) * | 2013-04-30 | 2017-07-26 | 富士通株式会社 | 情報処理装置、制御回路、制御プログラム、および制御方法 |
JP5858081B2 (ja) * | 2014-03-27 | 2016-02-10 | Tdk株式会社 | メモリコントローラ、メモリシステム及びメモリ制御方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06131891A (ja) * | 1992-10-14 | 1994-05-13 | Toshiba Corp | 半導体ファイル装置 |
JP3507132B2 (ja) * | 1994-06-29 | 2004-03-15 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
JPH1040176A (ja) * | 1996-07-25 | 1998-02-13 | Canon Inc | 電子機器におけるメモリ管理システム,メモリ管理方法およびコンピュータで読み出し可能なメモリ管理プログラムを格納した記憶媒体 |
JP3421581B2 (ja) * | 1998-06-29 | 2003-06-30 | 株式会社日立製作所 | 不揮発性半導体メモリを用いた記憶装置 |
JP2004310650A (ja) * | 2003-04-10 | 2004-11-04 | Renesas Technology Corp | メモリ装置 |
KR100526190B1 (ko) * | 2004-02-06 | 2005-11-03 | 삼성전자주식회사 | 플래시 메모리의 재사상 방법 |
JP2007164318A (ja) * | 2005-12-12 | 2007-06-28 | Renesas Technology Corp | 記憶装置 |
JP4366420B2 (ja) * | 2007-10-30 | 2009-11-18 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP4488048B2 (ja) * | 2007-09-27 | 2010-06-23 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
-
2008
- 2008-12-22 JP JP2008326310A patent/JP4821844B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010146512A (ja) | 2010-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4844639B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US8239612B2 (en) | Memory controller, flash memory system with memory controller, and control method of flash memory | |
JP4666080B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US8239615B2 (en) | Memory controller, flash memory system with memory controller, and method of controlling flash memory | |
US8219742B2 (en) | Memory controller, flash memory system with memory controller, and method of controlling flash memory | |
JP4666081B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4952740B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4821845B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2009205689A (ja) | フラッシュディスク装置 | |
JP4488048B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4366420B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2021068129A (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP5858081B2 (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 | |
JP4821844B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4636005B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US8200890B2 (en) | Memory controller, flash memory system with memory controller, and method of controlling flash memory | |
JP4952742B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4952741B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4434171B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4241741B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP2013200726A (ja) | 半導体記憶装置 | |
JP2015191295A (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 | |
JP2008112335A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2007172066A (ja) | メモリコントローラ及びフラッシュメモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110727 |
|
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: 20110809 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110822 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4821844 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140916 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |