[go: up one dir, main page]

JP4679581B2 - メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法 - Google Patents

メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法 Download PDF

Info

Publication number
JP4679581B2
JP4679581B2 JP2007528440A JP2007528440A JP4679581B2 JP 4679581 B2 JP4679581 B2 JP 4679581B2 JP 2007528440 A JP2007528440 A JP 2007528440A JP 2007528440 A JP2007528440 A JP 2007528440A JP 4679581 B2 JP4679581 B2 JP 4679581B2
Authority
JP
Japan
Prior art keywords
logical address
physical
logical
size
segment
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
Application number
JP2007528440A
Other languages
English (en)
Other versions
JPWO2007013372A1 (ja
Inventor
雅浩 中西
哲志 笠原
智紹 泉
公則 松野
大介 国宗
和明 田村
祥之 小西
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2007013372A1 publication Critical patent/JPWO2007013372A1/ja
Application granted granted Critical
Publication of JP4679581B2 publication Critical patent/JP4679581B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、フラッシュメモリ等の不揮発性メモリを制御するメモリコントローラおよび不揮発性メモリのアドレス管理方法に関する、本発明はまた、不揮発性メモリに対するデータの書き込み、読み出しを行う不揮発性記憶装置及び不揮発性記憶システムに関する。
書き換え可能な不揮発性メモリを備えた不揮発性記憶装置は、半導体メモリカードを中心に、パーソナルコンピュータ(PC)に代表されるノンリアルタイム記録用の機器や、デジタルビデオカメラに代表されるリアルタイム記録用の機器に対する外部記録装置として、その需要が広まっている。かかる半導体メモリカードには様々な種類があり、その一つとしてSD(セキュアデジタル(登録商標))メモリカードがある。
このSDメモリカードは、不揮発性メモリであるフラッシュメモリと、それを制御するメモリコントローラとを備えている。メモリコントローラは、PC等のアクセス装置からの読み書き指示に応じてフラッシュメモリに対する読み書き制御を行う。
このようなSDメモリカードをPC等のアクセス装置に取り付け、アクセス装置側からリムーバブルディスクと見なして、FATファイルシステムで管理し、データのアクセスを行う場合を考える。FATファイルシステムでは、記録デバイスへファイルやデータを記録する際にファイル・アローケション・テーブル(FAT)を用いて、通常、クラスタ単位ごとにデータの読み書きが指示される。
半導体メモリカードの主記憶メモリとして使用されるフラッシュメモリは、消去単位である複数の物理ブロックから構成され、各物理ブロックは書き込み単位であるページから構成される。このようなフラッシュメモリを使用した半導体メモリカードは、書き換え回数の制限という固有の問題を有しており、新たなメモリ技術の採用によって改良が続けられてはいるものの、外部記憶装置として使用する上では、データ記憶の信頼性の面で完全ではない。このため、半導体メモリカードにおいては、データのリード/ライトだけでなく、データの信頼性についても管理することが必要である。
通常、半導体メモリカードにおいては、代替ブロックが用意されており、リード/ライトエラーなどが発生した不良ブロックを代替ブロックに置換することによって信頼性の向上が図られている。また特定の物理ブロックに書き換えが集中しないようにするために、ウェアレベリングといったアドレス管理方法が導入されている。ウェアレベリングは、アクセス装置が指定した論理アドレスをフラッシュメモリの物理アドレスに変換する、いわゆる論理−物理変換の技術であり、通常、アドレス管理テーブルを用いて実現する。
ウェアレベリングの一つの方法として、従来から分散型アドレス管理方法が使用されている。分散型アドレス管理方法とは、書き込み単位であるページの管理領域にそのブロックの論理アドレスや状態フラグを記憶しておき、初期化時に、それらの情報を読み出し、読み出した情報に基づいてメモリコントローラ内のRAMにアドレス管理テーブルを構成する方法である。
しかし、大容量メモリ空間を有する不揮発性記憶装置においては、初期化時に全メモリ空間の管理領域を読み出すには多大な時間を要してしまう。これでは不揮発性記憶装置の規格上の初期化時間上限値を超えてしまう等の規格違反が生じる。また特に規格が無い不揮発性記憶装置においては、規格違反ではないものの、アクセス可能になるまでの待ち時間が長いというデメリットがあった。更にはアドレス管理テーブルを一時記憶するRAMの容量が膨大となり、コスト面でも問題がある。
この問題を解決するために、例えば特許文献1に示すような記憶装置においては(1)セグメント管理方法と(2)集中型アドレス管理方法の2つの技術を組み合わせて使用している。
セグメント管理方法とは、アクセス装置が管理している論理アドレスの空間全体を複数の論理アドレス範囲に分割し、この複数の論理アドレス範囲を、フラッシュメモリを物理的に区分した複数の物理領域(セグメント)に対応づけて管理する方法である。
一方、集中型アドレス管理方法とは、アドレス管理テーブルそのものをフラッシュメモリに記憶し、アクセス装置からのデータの書き込み命令毎にアドレス管理テーブルをRAMに読み出し、データの書き込み終了後にアドレス管理テーブルをRAM上で更新してフラッシュメモリに書き戻す方法である。
特開2003―323352号公報
従来の不揮発性記憶装置においては、図17に示すように物理空間が各々均等なサイズのセグメント(物理領域)に分割されている。物理空間の各セグメントのサイズは同じであるため、書き換え可能な回数は各セグメントで等しくなる。一方、論理空間も各々均等なサイズに分割されている。
ファイルアロケーションテーブル(FAT)は他のデータと比べて書き換え頻度が高く、また、通常アドレス範囲の先頭領域に書き込まれる(例えば、図17における論理アドレス範囲0)。
FATのような書き替え頻度が高いデータが存在する場合、そのようなデータを含む論理アドレス範囲(論理アドレス範囲0)へのアクセス頻度が他の論理アドレス範囲(論理アドレス範囲1〜15)へのアクセス頻度よりも高くなる。そのため、アドレス範囲0に対応するセグメント(セグメント0)が、他のセグメント(セグメント1〜15)よりも早く書き換え寿命がきてしまい、有効な記憶領域が存在するにも関わらず、結果的に不揮発性記憶装置はセグメント0の寿命と同時に使用不可能になってしまうといった問題がある。
本発明は、このような従来の問題点に鑑みてなされたものであって、長寿命を実現する不揮発性記憶装置を実現する技術を提供することを目的とする。
本発明に係るメモリコントローラは、外部のアクセス装置から与えられるコマンドと論理アドレスにしたがい不揮発性メモリに対してデータの書き込み、読み出しを行うメモリコントローラである。メモリコントローラは、不揮発性メモリに対してデータの読み出し、書き込みの制御を行う、読み書き制御手段と、論理アドレス空間全体を複数の論理アドレス範囲に分割し、各論理アドレス範囲毎に個別のアドレス管理を行うとともに、不揮発性メモリの記憶領域を物理的に複数の物理領域に分割し、論理アドレス範囲と物理領域とを対応づけて管理するアドレス管理手段とを備える。アドレス管理手段は、少なくとも1つの論理アドレス範囲について物理領域のサイズに対する論理アドレス範囲のサイズの比を、他の論理アドレス範囲のものと異ならせるように、各論理アドレス範囲及び前記各物理領域を割り当てる領域割当て手段を含む。
領域割当て手段は、各論理アドレス範囲のサイズが各々均等となるように論理アドレス範囲を割り当て、かつ、少なくとも1つの物理領域のサイズが他の物理領域のサイズと異なるように物理領域を割り当ててもよい。この場合、書き換え頻度の高いデータを格納する論理アドレス範囲に対応した物理領域のサイズを、他の物理領域のサイズよりも大きなサイズに設定してもよい。
または、領域割当て手段は、各物理領域のサイズが各々均等となるように物理領域を割り当て、かつ、少なくとも1つの論理アドレス範囲のサイズが他の論理アドレス範囲のサイズと異なるように前記論理アドレス範囲を割り当ててもよい。この場合、書き換え頻度の高いデータを格納する論理アドレス範囲のサイズを、他の論理アドレス範囲のサイズよりも小さなサイズに設定してもよい。
書き換え頻度の高いデータは、例えば、ファイルアロケーションテーブル(FAT)のようなファイル管理に使用される管理情報である。
本発明に係る不揮発性記憶装置は、不揮発性メモリと、不揮発性メモリに対してデータの書き込み、読み出しを行う上記のメモリコントローラとを含む。
本発明に係る不揮発性記憶システムは、上記の不揮発性装置と、不揮発性装置に対して論理アドレスを指定してアクセスするアクセス装置とを含む。
本発明に係るアドレス管理方法は、アクセス装置から与えられるコマンドと論理アドレスにしたがいデータの書き込み、読み出しを行い、複数の物理ブロックを含む不揮発性メモリのアドレス管理方法である。そのアドレス管理方法は、論理アドレス空間全体を複数の論理アドレス範囲に分割し、各論理アドレス範囲毎に個別のアドレス管理を行い、不揮発性メモリの記憶領域を物理的に複数の物理領域に分割し、論理アドレス範囲と物理領域とを対応づけて管理し、少なくとも1つの論理アドレス範囲について物理領域のサイズに対する論理アドレス範囲のサイズの比を、他の論理アドレス範囲のものと異ならせるように論理アドレス範囲及び物理領域を割り当てる。
本発明によれば、データの書き換え頻度が高い論理アドレス範囲について、セグメントのサイズに対する論理アドレス範囲のサイズの比を、他の論理アドレス範囲のものと異ならせるように論理アドレス範囲及びセグメントの割り当てを行う。これにより、各セグメントにおいてデータ書き換え頻度が均一化され、不揮発性記憶装置の長寿命化が図れる。
以下、本発明の実施の形態による不揮発性記憶システムについて、添付の図面を用いて説明する。
(実施の形態1)
1.1 システム構成
図1は本発明の実施の形態1における不揮発性記憶システムの構成を示した図である。不揮発性記憶システムは、アクセス装置200と、アクセス装置200によりデータの書き込み、読み出しが行われる不揮発性記憶装置240とを含む。
不揮発性記憶装置240は、アクセス装置200からのデータ書き込み命令にしたがい、データを記憶し、データ読み出し命令にしたがい、記憶されたデータが読み出される。不揮発性記憶装置240はメモリコントローラ220及び不揮発性メモリ230を含む。メモリコントローラ220は、ホストインタフェース201、バッファメモリ202、CPU203、RAM204、ROM205、領域割当て部206、アドレス変換部208、読み書き制御部211を有する。領域割当て部206とアドレス変換部208はアドレス管理部215を構成する。
領域割当て部206は領域割当てテーブル207を含み、アドレス変換部208は物理領域管理テーブル209と論理物理変換テーブル210を含む。
領域割当て部206は、論理アドレス空間の論理アドレス範囲と物理アドレス空間のセグメントとの対応づけを行う。以下、論理アドレス範囲とセグメントについて説明する。
図2は、本実施の形態における論理アドレス空間と物理アドレス空間の対応を表すメモリマップである。論理アドレス空間は、アクセス装置200が書き込み、読み出し時に指定するアドレスの空間であり、物理アドレス空間はフラッシュメモリなどの不揮発性メモリ230内の物理的なアドレス空間である。本実施形態では、論理アドレス空間は論理アドレス範囲0〜15の16の範囲に分割され、物理アドレス空間はセグメント0〜15までの16セグメントに分割される。各セグメントは複数の物理ブロックから構成され、1物理ブロックのサイズは16kByteとする。同図において、PBtn(S)は、セグメントSに含まれる物理ブロックの総数を表す。PBsn(S)は、セグメントSにおける物理ブロックの開始番号を表す。Sは0〜15までの整数である。領域割当て部206は図2に示す論理アドレス範囲とセグメントとの対応づけを行う。
図1に戻り、アドレス変換部208は、領域割当て部206の領域割当て処理に基づいてデータの書き込み先などのアドレスを決定する。読み書き制御部211はアドレス変換部208が指定した物理アドレスに対してデータの書き込みや読み出しを行う。
領域割当てテーブル207は、領域割当て部206に内蔵の不揮発性RAM(図示せず)に記憶させてもよいし、または、不揮発性メモリ230に記憶しておき、不揮発性記憶装置240の初期化時に揮発性RAMに読み出すようにしてもよい。本実施の形態においては、説明の簡単化の為に領域割当てテーブル207は不揮発性RAMに記憶するものとする。
物理領域管理テーブル209と論理物理変換テーブル210は、不揮発性メモリ230のセグメント毎に一組ずつ記憶されており、一組の物理領域管理テーブル209と論理物理変換テーブル210は、一つのセグメント範囲内のアドレスを管理する。なお、物理領域管理テーブル209と論理物理変換テーブル210の全ての組をまとめて、以降「アドレス管理テーブル」と称する。
不揮発性メモリ230は1GByte(1,073,741,824Byte)の記憶容量を有する。アクセス装置200からみたアドレス空間すなわち論理アドレス空間は図2に示すとおり1,040,187,392Byteである。
図3は不揮発性メモリ230の物理ブロックの構成を示した図である。1つの物理ブロックは32ページで構成され、各ページは512Byteのデータ領域と16Byteの管理領域とから構成される。1物理ブロックにおいて16kByte(512Byte×32ページ)のデータを記憶することができる。1クラスタ(1論理ブロックに相当)の書き込みに対して、1物理ブロックのページ0〜ページ31の領域に順番に書き込まれる。ページ0の管理領域には、その物理ブロックに関する分散管理情報が格納される。分散管理情報は、アクセス装置200が指定する論理ブロック番号と物理ブロックのステータスを示すブロックステータスとを含む。不揮発性メモリ240の初期化時に、セグメント番号Sに対応する不揮発性メモリ230の領域に含まれる物理ブロックのそれぞれから分散管理情報が読み出されて、セグメントSに関するアドレス管理テーブルが作成され、セグメントSの領域に格納される。
図4は物理領域管理テーブル209を説明した図である。図4において、物理領域管理テーブル209の各エントリのアドレスは、不揮発性メモリ230のセグメントS内の物理ブロック番号PBN(S)に対応する。物理領域管理テーブル209は、物理ブロック毎に、その状態(ブロックステータス)に関する情報として「有効」、「無効」、「不良」等を格納する。具体的には、2進数で「00」が有効ブロックを示し、既に有効なデータが書き込まれているブロックを表す。2進数で「11」が無効ブロックを示し、消去済みブロック、又は既にデータは書き込まれているが不要なブロックを示す。2進数で「10」が不良ブロックを示し、メモリセル上のソリッドエラー等により使用できなくなったブロックである。2進数で「01」は、その物理ブロックが、アドレス管理テーブルを記憶している物理ブロックであることを示す。このように少なくとも4つの状態が存在する。
図5は論理物理変換テーブル210を説明した図である。図5において、論理物理変換テーブル210の各エントリのアドレスは、セグメントS内の論理ブロック番号LBN(S)に対応する。そのアドレスの領域に、論理ブロック番号LBN(S)に対応する物理ブロック番号PBN(S)が記憶されている。
図6は領域割当てテーブル207のメモリマップである。領域割当てテーブル207の各エントリのアドレスはセグメント番号Sに対応し、当該アドレスの領域に各セグメントSの物理ブロック開始番号PBsn(S)と物理ブロック総数PBtn(S)が記憶されている。すなわち、領域割当てテーブル207は、物理ブロック開始番号PBsn(S)を記憶した部分と、物理ブロック総数PBtn(S)を記憶した部分とを含む。前者は各セグメントの開始番地に対応し、後者は各セグメントを構成する物理ブロックの総数を表す。
図7は論理セクタ番号LSN(論理セクタアドレス)と、物理セクタ番号PSN(物理セクタアドレス)との対応を示したアドレスフォーマットである。論理セクタ番号LSNのビット0〜ビット4(LSN[4:0])は物理ブロックのページ番号(PSN[4:0])に対応する。論理セクタ番号LSNのビット20〜ビット5は論理ブロック番号LBNである。論理ブロック番号LBNはクラスタ番号に対応する。領域割当て部206は、この論理ブロック番号LBNに基づいて図6に示す領域割当て処理を実行する。
1.2 動作
以上のように構成された不揮発性記憶装置240について、以下その動作を説明する。
1.2.1 基本動作
まず、本不揮発性記憶装置240が出荷された後、最初に使用される際は、不揮発性メモリ230の良ブロックは全て消去された状態となっている。但し、各セグメント内に、そのセグメントのアドレス管理を行うためのアドレス管理テーブルがそのセグメントの最終アドレスの1物理ブロックにまとめて記憶されるものとする。この時、物理領域管理テーブル209において、当該物理領域管理テーブル209を含むアドレス管理テーブルが記憶された物理ブロック、すなわち最終アドレスの物理ブロックに対応するステータスフラグは「01」に設定され、不良ブロックである物理ブロックに対応するステータスフラグは「10」に設定される。なお、実際にはシステム情報が記憶されたシステム領域が存在するが、本発明の思想とは直接関係ないのでその説明は省略する。
不揮発性記憶装置240の電源がONされた後、CPU203はROM205に記憶されたプログラムに基づいて初期化処理を行った後、アクセス装置200からの読み書き等のコマンドの受信待ち状態に入る。
その後アクセス装置200が所望の論理アドレス範囲内への書き込み指示を行う。画像データなどのいわゆるコンテンツデータ(以降単に「データ」と称す。)は全ての論理アドレス範囲に対して書き込みがなされるが、FATは論理アドレス範囲0に対してのみ書き込まれる。データやFATの書き込み毎に、書き込み先の論理アドレス範囲に対応する不揮発性メモリ230のセグメント内に記憶されたアドレス管理テーブルが、当該セグメントの最終アドレスの1物理ブロックから読み出される。読み出されたアドレス管理テーブルに基づき物理領域管理テーブル209と論理物理変換テーブル210が構成され、アドレス変換部208内のRAMに格納される。
データやFATの書き込みに際しては、物理領域管理テーブル209と論理物理変換テーブル210に基づいて書き込み先の物理ブロックを決定し、その物理ブロックに対して書き込みがなされる。データやFATの書き込み後、物理領域管理テーブル209と論理物理変換テーブル210は、アドレス変換部208によってRAM上で更新され、再び不揮発性メモリ230に書き戻される。アドレス管理テーブルを記憶する物理ブロックもウェアレベリングの対象であるので、後述する通り、書き戻し先の物理ブロックは、データやFATの書き込み毎に変更される。
ここで、書き込みは、説明の簡単化のために下記の前提条件にてなされるものとする。
<書き込みの前提条件>
(1)不揮発性記憶装置の書き込みレートは2MB/秒とする。
(2)データ1秒分の書き込みにおいて1回のFAT書き込みがなされる。
(3)データは1回のライトコマンドにおいて1クラスタ(16kByte)分が書き込まれるものとする。
(4)FATはFAT1とFAT2に2重化されており、それぞれ16kByteの容量、合計32kByteの容量を有する。FATは1回のライトコマンドにおいて32kByte分が書き込まれるものとする。
(5)物理ブロックサイズは16kByteとする(図3参照)。
(6)不揮発性メモリ230の不良ブロック発生率は2%であり、セグメント毎においてもそれぞれ2%の不良ブロック発生率とする。
(7)物理領域管理テーブル209(約1kByte)と論理物理変換テーブル210(約8kByte)は、対応するセグメント内の1つの物理ブロックにまとめて記憶される。このまとめたものをアドレス管理テーブルと呼ぶ。
(8)不揮発性メモリ230の各セグメント内の1物理ブロックに1つのアドレス管理テーブルが記憶されており、アクセス装置200からのアクセスがある毎に、アドレス変換部208内のRAMに読み出され物理領域管理テーブル209と論理物理変換テーブル210が構成される。データやFATの書き込みが実行された後にRAM上においての物理領域管理テーブル209と論理物理変換テーブル210が更新され、更新後アドレス管理テーブルとして前記物理ブロックとは別の物理ブロックに書き戻される。
1.2.2 書き換え頻度の検討
以上の前提条件に従って書き込みがなされる場合において、従来の不揮発性記憶装置と対比しながら本発明の実施の形態1の不揮発性記憶装置の各セグメントの書き換え頻度について検討する。
<従来の不揮発性記憶装置>
従来の不揮発性記憶装置は、図19に示すように各セグメントサイズは同じサイズであるので、全論理空間すなわち約1GByte分の領域を書き換える場合においては、FATを格納するセグメント0が他のセグメントよりも書き換え頻度が高くなる。
具体的に説明すると、まず全論理空間すなわち約1GByte分の領域に記憶していたデータを一通り書き換えることにより、各セグメントにおいてデータが書き換えられた物理ブロック数は、対応する論理アドレス範囲を構成するクラスタ数に等しい3968個となる。この書き換えに要する時間は、前提条件(1)及び式(1)により512秒となる。
1GByte÷2MB/秒=512秒 ・・・(1)
前提条件(2)、(4)、(5)により、512秒の間にFAT(32kByte分)は512回書き換わることになる。FATはセグメント0のみに割当てられるので、このFATの書き換えによりセグメント0においてFATが書き換えられた物理ブロック数は式(2)により1024個となる。
(32kByte/16kByte)個×512回=1024個 ・・・(2)
セグメント1〜セグメント15まではデータのみを記憶するセグメントであるので、各物理ブロックが書き換えられる頻度は、式(3)により0.97回となる。
3968個/4096個≒0.97回 ・・・(3)
これに対して、セグメント0はデータとFATを含むので、セグメント0において各物理ブロックが書き換えられる頻度は式(4)により1.22回となる。なお、式(4)の左辺の「−2個」は、FAT1、2の2クラスタ分を除く事に対応する。
(3968個−2個+1024個)/4096個≒1.22回 ・・・(4)
式(3)、(4)により、セグメント0が他のセグメントよりも書き換え頻度が高く、比較的早く書き換え保証回数(例えば10万回)に到達してしまうことがわかる。すなわち、従来の不揮発性記憶装置の寿命は、セグメント0の書き換え保証回数への到達速度と等しくなってしまう。
<本発明の第1の実施の形態における不揮発性記憶装置>
本発明の実施の形態1における不揮発性記憶装置240においては、書き換え頻度の高いセグメント0に含まれる物理ブロック数が、他のセグメントに含まれる物理ブロック数よりも多くなるように領域割当てを調整している。これにより、各セグメントの書き換え保証回数への到達速度を平均化し、長寿命化を図る。
すなわち、本実施の形態における不揮発性記憶装置240は、図2に示すように書き換え頻度の高いセグメント0のサイズを他のセグメント1〜15のサイズよりも大きくした。セグメントサイズの算出は、不揮発性メモリ230の不良ブロック発生率やメモリコントローラのアーキテクチャ等によって異なるが、本実施の形態においては、以下のようにして各論理アドレス範囲を決定した。決定に際しての基本的な考え方は、セグメント0のサイズをできるだけ大きく確保するために、それ以外のセグメント1〜15のサイズを可能な限り小さくすることである。
具体的には、まず式(5)によりセグメント1〜15の各々のセグメントの物理ブロック数を決定する。式(5)における係数0.02は不揮発性メモリ230の不良ブロック発生率(例えば2%)に対応する係数であり、左辺の1個はアドレス管理テーブルを格納する物理ブロック1個分に対応する。
{(3968個+1個)/(1−0.02)}=4050個 ・・・(5)
すなわち、セグメント1〜15の大きさを、不良ブロック発生率を考慮した最小限必要なサイズとして求める。
次にセグメント0の物理ブロック数は式(6)により決定する。
65536個−(4050個×15セグメント)=4786個 ・・・(6)
ここで65536個は不揮発性メモリ230の総物理ブロック数である。なお、本実施の形態においては、簡単のためにシステム領域など発明と直接関係のない領域については省略した。
よって、セグメント1〜セグメント15において各物理ブロックが書き換えられる頻度は、次式により0.98回となる。
3968個/4050個≒0.98回 ・・・(7)
セグメント0において各物理ブロックが書き換えられる頻度は次式により1.04回となる。
(3968個−2個+1024個)/4786個≒1.04回 ・・・(8)
上記の算出結果を参照すると、本実施形態によれば、従来技術に比してセグメント0の書き換え頻度が大幅に低減され、セグメント0とそれ以外のセグメント1〜15との間の書き換え頻度の差が従来技術に比してより小さくなっていることが分かる。よって、本実施形態により、書き換え頻度の均一化が図れ、不揮発性メモリ230の超寿命化が可能となる。
式(5)、(6)により、各セグメントの物理的な境界が決まるが、この情報は図6に示すような領域割当てテーブル207として、領域割当て部206内の不揮発性RAMに記憶される。なお領域割当てテーブル207は不揮発性メモリ230のどこかの物理ブロックに記憶させておき、初期化時においてRAMに読み出すようにしても構わない。RAMは領域割当て部206内に設けても良いし、RAM204の一部の領域を使用してもよい。
1.2.3 アドレス管理部の処理
以下、アクセス装置200から、1クラスタ分のデータについて書き換え指示がなされた場合について、アドレス管理部215(領域割当て部206及びアドレス変換部208)の処理を説明する。
メモリコントローラ220がアクセス装置200から書き込みコマンドを受信すると、CPU203は制御をアドレス管理部215に移す。アドレス管理部215において領域割当て部206は、領域割当てテーブル207を参照しながら、アクセス装置200が指定した論理アドレスに対するセグメント番号Sやセグメント内論理ブロック番号LBN(S)を決定する。具体的には、領域割当て部206は図8に示すフローチャート通りに処理を行う。
まず、領域割当て部206は、アクセス装置200から論理セクタ番号LSNを受信し(S11)、受信した論理セクタ番号LSNに基づいて論理ブロック番号LBNを式(9)に従って算出する(S12)。式(7)において、>>は右シフトを表す演算子であり、論理セクタ番号LSNを5ビット分右にシフトすることにより、図7に示したビットフォーマットにしたがい論理ブロック番号LBNが求まる。
LBN=LSN>>5 ・・・(9)
次に、式(10)、(11)に基づき、論理ブロック番号LBNから、セグメント番号Sとセグメント内の論理ブロック番号LBN(S)を算出する(S13)。なお、式(10)において、int()は整数を求める演算子である。また式(11)において、%は剰余を求める演算子である。
S=int(LBN/3968) ・・・(10)
LBN(S)=LBN%3968 ・・・(11)
式(10)で求めたセグメント番号Sに基づき領域割当てテーブル207を参照し、各セグメントの物理ブロック開始番号PBsn(S)と物理ブロック総数PBtn(S)を決定する(S14)。最後に、セグメント番号Sと、セグメント内論理ブロック番号LBN(S)と、物理ブロック開始番号PBsn(S)と、物理ブロック総数PBtn(S)とを、アドレス変換部208に転送し(S15)、処理を終了する。
その後、アドレス変換部208は図9に示すフローチャートに従ってデータ書き換え先の物理アドレスを決定する。
まず、アドレス変換部208は、領域割当て部206から、セグメント番号Sと、セグメント内論理ブロック番号LBN(S)と、物理ブロック開始番号PBsn(S)と、物理ブロック総数PBtn(S)とを受信する(S21)。アドレス変換部208は、セグメント番号Sに対応する不揮発性メモリ230の領域からアドレス管理テーブルを読み出し、読み出したアドレス管理テーブルから物理領域管理テーブル209と論理物理変換テーブル210を生成する(S22)。
アドレス変換部208は、物理領域管理テーブル209内の無効ブロックをサーチし、書込み先であるPBN(S)を決定する(S23)。但し、サーチ範囲は0〜PBtn(S)−1である。
そして、物理領域管理テーブル209においてPBN(S)の位置にあるビットを有効にし(S24)、論理物理変換テーブル210のLBN(S)の位置に、PBN(S)を書き込む(S25)。
その後、不揮発性メモリ230への書き込みにおいて、書込み先の物理ブロック番号PBNを式(12)に基づき決定し(S26)、更に式(13)に基づき、セクタ単位での物理アドレス、すなわち物理セクタ番号PSNを決定する(S27)。なお、式(13)において、「|」は論理和を示す演算子であり、LSN[4:0]は図7の論理セクタ番号LSNのビット0〜ビット4のビット列を示す。
PBN=PBsn(S)+PBN(S) ・・・(12)
PSN=(PBN<<5)|LSN[4:0] ・・・(13)
書き込み先の物理ブロックを消去した後、その物理ブロックのページ0からページ31へ順にアクセス装置200が転送したデータを書き込む(S28)。なお、書き込みデータはFATである場合もある。
1.3 まとめ
以上のように、本実施の形態においては、アドレス管理部215は、論理アドレス範囲の大きさを均一にするとともに、データの書き換え頻度が高いセグメント0の大きさが他のセグメント1〜15より大きくなるように、論理アドレス範囲及びセグメントの割り当てを行う。これにより、セグメント0が他のセグメント1〜15よりも多くの物理ブロック数を確保することとなり、セグメント0内の各物理ブロックあたりの書き換え頻度を他のセグメント内の物理ブロックあたりの書き換え頻度と同等にすることができる。よって、各セグメントにおいてデータ書き換え頻度が均一化され、不揮発性メモリ230の長寿命化を実現している。また、不揮発性メモリ230を複数のセグメントに分割し、各セグメント毎にアドレス管理を行うことでアドレス管理テーブルのサイズを小さくすることが可能となる。その結果、不揮発性記憶装置のコストを低減できる。
(実施の形態2)
本実施形態の不揮発性システムは、不揮発性記憶装置の構成が実施の形態1のものと異なる。それ以外の構成、及び動作は実施の形態1のものと同様である。以下、本実施形態において、実施の形態1と相違する構成、動作について説明する。
本実施の形態における不揮発性記憶装置においては、書き換え頻度の高いセグメントに対応した論理アドレス範囲に含まれる論理ブロック数が、他の論理アドレス範囲に含まれる論理ブロック数よりも少なくなるように領域割当てすることにより、物理アドレス空間における各セグメントの書き換え保証回数への到達速度を平均化し、長寿命化を図っている。
2.1 システム構成
図10は本発明の実施の形態2における不揮発性記憶システムの構成を示した図である。
不揮発性記憶装置240bは、実施の形態1の不揮発性記憶装置240と基本的に同様の構成を有するが、領域割当て部206bとアドレス変換部208bの構成が実施の形態1のものとは異なる。
図11は、本実施の形態における論理アドレス空間と物理アドレス空間の対応を表すメモリマップである。論理空間は論理アドレス範囲0〜15までの16の範囲に分割される。物理空間はセグメント0〜15までの16セグメントに分割される。論理アドレス範囲とセグメントは一対一に対応する。各セグメントは複数の物理ブロックから構成され、物理ブロックサイズは16kByteとする。同図において、LBtn(S)は、論理アドレス範囲Sにおける論理ブロックの総数を表す。またLBsn(S)は、論理アドレス範囲Sにおける論理ブロックの開始番号を表す。但しSは0〜15までの整数値である。
図11に示すように、本実施形態では、書き換え頻度の高いセグメントに対応した論理アドレス範囲(論理アドレス範囲0)のサイズは、51,453,125MByteであり、それ以外の論理アドレス範囲(論理アドレス範囲1〜15)のサイズは、62,703,125MByteである。このように、書き換え頻度の高いセグメントに対応した論理アドレス範囲のサイズを他の論理アドレス範囲のサイズよりも小さくし、かつ、各セグメントの大きさが均等になるように、領域割当てを調整している。このように、書き換え頻度の高いセグメントに関する、セグメントと論理アドレス範囲のサイズの比率を、他のセグメントについてのサイズの比率と異ならせることで、各セグメントの書き換え保証回数への到達速度を平均化し、長寿命化を図っている。
図12は実施の形態2における物理領域管理テーブル209bを説明した図である。図12において、物理領域管理テーブル209bのエントリのアドレスは、不揮発性メモリ230のセグメント内の物理ブロック番号PBN(S)に対応し、各物理ブロックの状態(ブロックステータス)として、「有効」、「無効」、「不良」等を記憶する。ブロックステータスを示すステータスフラッグの値の意味は実施の形態1で説明したものと同様である。
図13は実施の形態2における論理物理変換テーブル210bを示した図である。図13において、論理物理変換テーブル210bのエントリのアドレスはセグメント内論理ブロック番号LBN(S)に対応し、そのアドレス位置に、論理ブロック番号LBN(S)の論理ブロックに対応する、物理ブロックの物理ブロック番号PBN(S)が記憶されている。
図14は本実施形態の領域割当てテーブル207bのメモリマップである。領域割当てテーブル207bのエントリのアドレスはセグメント番号Sであり、当該アドレスに、セグメントSの論理ブロック開始番号LBsn(S)と論理ブロック総数LBtn(S)とが記憶されている。論理ブロック開始番号LBsn(S)は、セグメントSに対応する論理アドレス範囲の開始番地に対応し、論理ブロック総数LBtn(S)は、セグメントSに対応する論理アドレス範囲に含まれる論理ブロックの総数を表す。
論理セクタ番号LSN(論理セクタアドレス)と物理セクタ番号PSN(物理セクタアドレス)との対応は、実施の形態1における図7に示すとおりである。
2.2 動作
本実施形態の不揮発性記憶システムの基本動作は実施の形態1と同様である。
2.2.1 書き換え頻度の検討
本実施の形態における書き換え頻度について検討する。なお、書き込みの前提条件は実施の形態1で示したとおりである。
本実施の形態における不揮発性記憶装置240bは、図11に示すように、各セグメントのサイズを均等に設定しつつ、書き換え頻度の高いセグメント0に対応した論理アドレス範囲0のサイズを、それ以外の論理アドレス範囲1〜15のサイズよりも小さくしている。
論理アドレス範囲の算出は、不揮発性メモリ230の不良ブロック発生率やメモリコントローラのアーキテクチャ等によって異なるが、本実施形態では、以下のようにして各論理アドレス範囲を決定した。決定に際しての基本的な考え方は、論理アドレス範囲0のサイズを小さくするために、それ以外の論理アドレス範囲1〜15のサイズを可能な限り大きくすることである。
具体的には、本実施の形態においては、まず式(14)により論理アドレス範囲1〜15の論理ブロック数を決定する。式(14)における係数0.02は不揮発性メモリ230の不良ブロック発生率(例えば2%)に対応する係数であり、左辺の第2項目の「1」はアドレス管理テーブルを格納する物理ブロック1個分に対応する。
{4096(個)×(1−0.02)}−1個≒4013個 ・・・(14)
次に論理アドレス範囲0の論理ブロック数を式(15)により決定する。
63488個−(4013個×15セグメント)=3293個 ・・・(15)
ここで63,488個は不揮発性メモリ230の総論理ブロック数である。なお、本実施の形態においては、簡単のためにシステム領域など発明と直接関係のない領域については省略した。以上のようにして論理アドレス範囲0の範囲を求めることで、最大限可能な論理アドレス範囲0のサイズが求まる。
よって、セグメント1〜セグメント15において各物理ブロックが書き換えられる頻度は、次式により0.98回となる。
4013個/4096個≒0.98回 ・・・(16)
セグメント0において各物理ブロックが書き換えられる頻度は次式により1.05回となる。
(3293個−2個+1024個)/4096個≒1.05回 ・・・(17)
上記の算出結果を参照すると、本実施形態によれば、従来技術に比してセグメント0の書き換え頻度が大幅に低減され、セグメント0とそれ以外のセグメント1〜15との間の書き換え頻度の差が従来技術に比してより小さくなっていることが分かる。よって、本実施形態によっても、書き換え頻度の均一化が図れ、不揮発性メモリ230の超寿命化が可能となる。
式(14)、(15)により各セグメントの論理的な境界が決まるが、境界を決定するための情報は図14に示すような領域割当てテーブル207bとして、領域割当て部206b内の不揮発性RAMに記憶される。なお領域割当てテーブル207bは不揮発性メモリ230のどこかの物理ブロックに記憶させておき、初期化時においてRAMに読み出すようにしても構わない。RAMは領域割当て部206b内に設けても良いし、RAM204の一部の領域を使用してもよい。
2.2.2 アドレス管理部の処理
以下、アクセス装置200から、1クラスタ分のデータについて書き換え指示がなされた場合について、アドレス管理部215b(領域割当て部206b及びアドレス変換部208b)の処理を説明する。
メモリコントローラ220bがアクセス装置200から書き込みコマンドを受信すると、CPU203は制御をアドレス管理部215bに移す。アドレス管理部215bにおいて領域割当て部206bは、領域割当てテーブル207bを参照しながら、アクセス装置200が指定した論理アドレスに対するセグメント番号Sやセグメント内論理ブロック番号LBN(S)を決定する。具体的には、領域割当て部206bは図15に示すフローチャート通りに処理を行う。
図15において、領域割当て部206bはまず、アクセス装置200から論理セクタ番号LSNを受信し(S41)、受信した論理セクタ番号LSNに基づいて論理ブロック番号LBNを式(18)に従って算出する(S42)。式(18)において、論理セクタ番号LSNを5ビット分右にシフトすることにより、図7に示したビットフォーマットにしたがい、論理ブロック番号LBNが求まる。
LBN=LSN>>5 ・・・(18)
次に、論理ブロック番号LBNから、セグメント番号Sとセグメント内論理ブロック番号LBN(S)とを算出する(S43)。式(19)を満たす最小のSがセグメント番号となり、また、式(20)により論理ブロック番号LBN(S)を求める。
LBN−LBsn(S)<LBtn(S) ・・・(19)
LBN(S)=LBN−LBsn(S) ・・・(20)
最後に、セグメント番号Sとセグメント内論理ブロック番号LBN(S)をアドレス変換部208bに転送し(S44)、処理を終了する。
その後、アドレス変換部208bは図16に示すフローチャートに従って、データ書き換え先の物理アドレスを決定する。
図16において、アドレス変換部208bはまず、領域割当て部206bからセグメント番号Sとセグメント内論理ブロック番号LBN(S)を受信する(S51)。アドレス変換部208bは、セグメント番号Sに対応する不揮発性メモリ230の領域からアドレス管理テーブルを読み出し、読み出したアドレス管理テーブルから物理領域管理テーブル209bと論理物理変換テーブル210bを生成する(S52)。
物理領域管理テーブル209b内の無効ブロックをサーチし、書込み先である論理ブロック番号PBN(S)を決定する(S53)。サーチ範囲(S)は0〜4095である。そして物理領域管理テーブル209bにおいて、物理ブロック番号PBN(S)の位置にあるビットを有効にし(S54)、論理物理変換テーブル210bの論理ブロック番号LBN(S)の位置に物理ブロック番号PBN(S)を書き込む(S55)。
その後、不揮発性メモリ230への書き込みにおいて、書込み先の物理ブロック番号PBNを式(21)に基づき決定し(S56)、更に式(22)に基づき、セクタ単位での物理アドレス、すなわち物理セクタ番号PSNを決定する(S57)。
PBN=4096×S+PBN(S) ・・・(21
PSN=(PBN<<5)|LSN[4:0] ・・・(22
書き込み先の物理ブロックを消去した後、その物理ブロックのページ0からページ31まで順に、アクセス装置200から転送されたデータを書き込む(S58)。なお、書き込みデータはFATである場合もある。
2.3 まとめ
以上のように、本実施の形態においては、アドレス管理部215bは、セグメントの大きさを均一にするとともに、データの書き換え頻度が高い論理アドレス範囲0の大きさが他の論理アドレス範囲1〜15より小さくなるように、論理アドレス範囲及びセグメントの割り当てを行う。これにより、論理アドレス範囲0に対応するセグメント0に書き込まれるデータの論理アドレス数が減少するため、セグメント0の書き換え頻度が低下し、よって、各セグメントにおいてデータ書き換え頻度が均一化され、不揮発性メモリ230の長寿命化が実現される。また、不揮発性メモリ230を複数のセグメントに分割し、各セグメント毎にアドレス管理を行うことでアドレス管理テーブルのサイズを小さくすることが可能となる。
すなわち、本発明の実施形態1、2においては、データの書き換え頻度が高い論理アドレス範囲について、セグメントのサイズに対する論理アドレス範囲のサイズの比を、他の論理アドレス範囲のものと異ならせるように論理アドレス範囲及びセグメントの割り当てを行っている。これにより、各セグメントにおいてデータ書き換え頻度が均一化され、不揮発性記憶装置の長寿命化を図っている。
なお、本発明の実施の形態1及び2においては、論理空間及び物理空間の分割サイズとして、論理空間及び物理空間の一方を各々均等な固定サイズとし、もう一方を可変サイズとすることにより不揮発性記憶装置の長寿命化を実現したが、両空間とも可変サイズとして分割する場合においても、領域サイズを適切に決定することで同様の効果が得られる。
また、論理アドレス範囲0以外に書き換え頻度の高い論理アドレス範囲が存在する場合は、論理アドレス範囲0に加えて、その論理アドレス範囲についても、論理アドレス範囲とセグメント間のサイズ比を他の論理アドレス範囲のものと異ならせるようにしてもよい。
また、特定のセグメントの不良ブロック発生率が他のセグメントに比べて高く、使用可能な物理ブロック数に差が出るような場合、前述した書き換え頻度の高いデータが存在する場合と同様に特定のセグメントのみ早く書き換え寿命がきてしまうという問題が起こり得る。このような場合に対しても、実施の形態2と同様の方法で対策が可能となる。すなわち、不良ブロック発生率が高いセグメントに対応した論理アドレス範囲のサイズを他の論理アドレス範囲のサイズよりも小さく割当てて、各セグメントへのデータの書き込み頻度を調整する。これにより、各セグメントの書き換え保証回数への到達速度が平均化され、結果として不揮発性記憶装置の長寿命化が実現できる。
本発明は、特定の実施形態について説明されてきたが、当業者にとっては他の多くの変形例、修正、他の利用が明らかである。それゆえ、本発明は、ここでの特定の開示に限定されず、添付の請求の範囲によってのみ限定され得る。なお、本出願は日本国特許出願、特願2005−219958号(2005年7月29日提出)及び特願2005−331060号(2005年11月16日提出)に関連し、それらの内容は参照することにより本文中に組み入れられる。
本発明の不揮発性記憶装置は、不揮発性メモリ(フラッシュメモリ)を用いたメモリカード等の長寿命化を可能とし、特に、パーソナルコンピュータ、静止記録再生装置や動画記録再生装置等のポータブルAV機器、あるいは携帯電話等のポータブル通信機器の記録媒体に有用である。
本発明の実施の形態1における不揮発性記憶システムの全体構成を示したブロック図 本発明の実施の形態1による論理アドレス空間と物理アドレス空間の対応を表すメモリマップを示す図 本発明の不揮発性記憶装置の不揮発性メモリにおける物理ブロックを説明した図 本発明の実施の形態1の不揮発性記憶装置の物理領域管理テーブルを示す図 本発明の実施の形態1の不揮発性記憶装置の論理物理変換テーブルを示す図 本発明の実施の形態1の不揮発性記憶装置の領域割当てテーブルのメモリマップを示す図 本発明の実施の形態1の不揮発性記憶装置の論理セクタ番号LSN(論理セクタアドレス)と物理セクタ番号PSN(物理セクタアドレス)との対応を示したアドレスフォーマットを示す図 本発明の実施の形態1の不揮発性記憶装置の領域割当て部の処理を表すフローチャート 本発明の実施の形態1の不揮発性記憶装置のアドレス変換部の処理を表すフローチャート 本発明の実施の形態2における不揮発性記憶システムの全体構成を示したブロック図 本発明の実施の形態2における論理アドレス空間と物理アドレス空間の対応を表すメモリマップを示す図 本発明の実施の形態2の不揮発性記憶装置の物理領域管理テーブルを示す図 本発明の実施の形態2の不揮発性記憶装置の論理物理変換テーブルを示す図 本発明の実施の形態2の不揮発性記憶装置の領域割当てテーブルのメモリマップを示す図 本発明の実施の形態2の不揮発性記憶装置の領域割当て部の処理を表すフローチャート 本発明の実施の形態2の不揮発性記憶装置のアドレス変換部の処理を表すフローチャート 従来の論理アドレス空間と物理アドレス空間の対応を表すメモリマップを示す図
符号の説明
200 アクセス装置
201 ホストインタフェース
202 バッファメモリ
203 CPU
204 RAM
205 ROM
206、206b 領域割当て部
207、207b 領域割当てテーブル
208、208b アドレス変換部
209、209b 物理領域管理テーブル
210、210b 論理物理変換テーブル
211 読み書き制御部
215、215b アドレス管理部
220b メモリコントローラ
230 不揮発性メモリ
240、240b 不揮発性記憶装置

Claims (8)

  1. 外部のアクセス装置から与えられるコマンドと論理アドレスにしたがい不揮発性メモリに対してデータの書き込み、読み出しを行うメモリコントローラであって、
    前記不揮発性メモリに対してデータの読み出し、書き込みの制御を行う、読み書き制御手段と、
    前記論理アドレス空間全体を複数の論理アドレス範囲に分割し、各論理アドレス範囲毎に個別のアドレス管理を行うとともに、前記不揮発性メモリの記憶領域を物理的に複数の物理領域に分割し、論理アドレス範囲と物理領域とを対応づけて管理するアドレス管理手段とを備え、
    前記アドレス管理手段は、少なくとも1つの論理アドレス範囲について物理領域のサイズに対する論理アドレス範囲のサイズの比を、他の論理アドレス範囲のものと異ならせるように前記各論理アドレス範囲及び前記各物理領域を割り当てる領域割当て手段を含み、
    前記領域割当て手段は、各論理アドレス範囲のサイズが各々均等となるように前記論理アドレス範囲を割り当て、かつ、少なくとも1つの物理領域のサイズが他の物理領域のサイズと異なるように前記物理領域を割り当て、さらに書き換え頻度の高いデータを格納する論理アドレス範囲に対応した物理領域のサイズを、他の物理領域のサイズよりも大きなサイズに設定する、ことを特徴とするメモリコントローラ。
  2. 前記書き換え頻度の高いデータは、ファイル管理に使用される管理情報である、ことを特徴とする請求項1に記載のメモリコントローラ。
  3. 前記管理情報はファイルアロケーションテーブル(FAT)である、ことを特徴とする請求項2に記載のメモリコントローラ。
  4. 不揮発性メモリと、
    前記不揮発性メモリに対してデータの書き込み、読み出しを行う、請求項1、2または3に記載のメモリコントローラと
    を含む、ことを特徴とする不揮発性記憶装置。
  5. 請求項4記載の不揮発性装置と、
    前記不揮発性装置に対して論理アドレスを指定してアクセスするアクセス装置とを含む、ことを特徴とする不揮発性記憶システム。
  6. アクセス装置から与えられるコマンドと論理アドレスにしたがいデータの書き込み、読み出しを行い、複数の物理ブロックを含む不揮発性メモリのアドレス管理用法であって、
    論理アドレス空間全体を複数の論理アドレス範囲に分割し、各論理アドレス範囲毎に個別のアドレス管理を行い、
    前記不揮発性メモリの記憶領域を物理的に複数の物理領域に分割し、論理アドレス範囲と物理領域とを対応づけて管理し、
    少なくとも1つの論理アドレス範囲について物理領域のサイズに対する論理アドレス範囲のサイズの比を、他の論理アドレス範囲のものと異ならせるように前記論理アドレス範囲及び前記物理領域を割り当て、
    前記論理アドレス範囲は、各論理アドレス範囲のサイズが各々均等となるように割り当てられ、前記物理領域は、少なくとも1つの物理領域のサイズが他の物理領域のサイズと異なるように割り当てられ、
    書き換え頻度の高いデータを格納する論理アドレス範囲に対応した物理領域のサイズを、他の物理領域のサイズよりも大きなサイズに設定する、ことを特徴とするアドレス管理方法。
  7. 前記書き換え頻度の高いデータは、ファイル管理に使用される管理情報である、ことを特徴とする請求項6に記載のアドレス管理方法。
  8. 前記管理情報はファイルアロケーションテーブル(FAT)である、ことを特徴とする請求項7に記載のアドレス管理方法。
JP2007528440A 2005-07-29 2006-07-21 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法 Expired - Fee Related JP4679581B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2005219958 2005-07-29
JP2005219958 2005-07-29
JP2005331060 2005-11-16
JP2005331060 2005-11-16
PCT/JP2006/314496 WO2007013372A1 (ja) 2005-07-29 2006-07-21 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法

Publications (2)

Publication Number Publication Date
JPWO2007013372A1 JPWO2007013372A1 (ja) 2009-02-05
JP4679581B2 true JP4679581B2 (ja) 2011-04-27

Family

ID=37683270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007528440A Expired - Fee Related JP4679581B2 (ja) 2005-07-29 2006-07-21 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法

Country Status (4)

Country Link
US (1) US8051268B2 (ja)
EP (1) EP1912123A4 (ja)
JP (1) JP4679581B2 (ja)
WO (1) WO2007013372A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150077410A (ko) * 2012-10-23 2015-07-07 샌디스크 테크놀로지스, 인코포레이티드 데이터 리텐션 파티션을 가진 플래시 메모리
US9158678B2 (en) 2013-03-13 2015-10-13 Kabushiki Kaisha Toshiba Memory address management system and method

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4686358B2 (ja) * 2005-12-26 2011-05-25 ジヤトコ株式会社 フラッシュメモリを備えた制御装置
KR20080072201A (ko) 2007-02-01 2008-08-06 삼성전자주식회사 메모리 포맷이 가능한 디지털 전자기기, 메모리 포맷 방법,그리고, 저장기능을 가지는 디지털 전자기기 및 저장방법
JP4661809B2 (ja) * 2007-03-15 2011-03-30 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
TW200917277A (en) * 2007-10-15 2009-04-16 A Data Technology Co Ltd Adaptive hybrid density memory storage device and control method thereof
JP4737223B2 (ja) * 2008-04-21 2011-07-27 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JPWO2009139109A1 (ja) * 2008-05-13 2011-09-15 パナソニック株式会社 メモリ制御装置、およびこれを備えた情報処理装置
JP4703753B2 (ja) * 2009-09-30 2011-06-15 株式会社東芝 情報処理装置、半導体記憶装置、及びプログラム
DE112010004667T5 (de) * 2009-12-03 2013-01-17 Hitachi, Ltd. Speichervorrichtung und Speichersteuerung
CN102467459B (zh) * 2010-11-11 2015-05-06 群联电子股份有限公司 数据写入方法、存储器控制器与存储器储存装置
JP2012178194A (ja) * 2011-02-25 2012-09-13 Renesas Electronics Corp 不揮発性半導体記憶装置
US9501392B1 (en) * 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US8793429B1 (en) * 2011-06-03 2014-07-29 Western Digital Technologies, Inc. Solid-state drive with reduced power up time
US20150186056A1 (en) * 2012-09-07 2015-07-02 Hitachi, Ltd. Storage device system
KR20150081635A (ko) * 2014-01-06 2015-07-15 삼성전자주식회사 불휘발성 반도체 메모리를 포함하는 저장 장치 및 그것의 관리 방법
KR102430198B1 (ko) 2014-06-12 2022-08-05 삼성전자주식회사 플래시 저장 장치의 어드레스 매핑 테이블 정리 방법
WO2016086411A1 (zh) 2014-12-05 2016-06-09 华为技术有限公司 一种控制器、闪存装置、识别数据块稳定性的方法以及在闪存装置中存储数据的方法
CN106326133B (zh) * 2015-06-29 2020-06-16 华为技术有限公司 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法
KR102498668B1 (ko) 2017-05-17 2023-02-09 삼성전자주식회사 플래시-인지 힙 메모리 관리 방법 및 호스트 장치
US10860474B2 (en) * 2017-12-14 2020-12-08 Micron Technology, Inc. Multilevel addressing

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004040455A2 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Method and apparatus for splitting a logical block
WO2004040586A1 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Automated wear leveling in non-volatile storage systems
WO2004053888A2 (en) * 2002-12-09 2004-06-24 Sandisk Corporation Zone boundary adjustment for defects in non-volatile memories
JP2004326165A (ja) * 2003-04-21 2004-11-18 Toshiba Corp メモリ制御装置およびメモリ制御方法
JP2005107600A (ja) * 2003-09-26 2005-04-21 Tdk Corp メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2006209608A (ja) * 2005-01-31 2006-08-10 Sony Corp メモリ制御装置、メモリ制御方法、プログラム
JP2006221627A (ja) * 2005-02-07 2006-08-24 Samsung Electronics Co Ltd 複数のマッピング技法を採用した適応型フラッシュメモリ制御装置及びそれを含むフラッシュメモリシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0418638A (ja) * 1990-05-11 1992-01-22 Fujitsu Ltd 静的メモリ割当て処理方法
WO2001029670A2 (en) 1999-10-21 2001-04-26 Matsushita Electric Industrial Co., Ltd. A semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US6671791B1 (en) * 2001-06-15 2003-12-30 Advanced Micro Devices, Inc. Processor including a translation unit for selectively translating virtual addresses of different sizes using a plurality of paging tables and mapping mechanisms
JP3928500B2 (ja) 2002-02-26 2007-06-13 株式会社日立製作所 メモリ装置
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
JP4418439B2 (ja) 2006-03-07 2010-02-17 パナソニック株式会社 不揮発性記憶装置およびそのデータ書込み方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004040455A2 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Method and apparatus for splitting a logical block
WO2004040586A1 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Automated wear leveling in non-volatile storage systems
WO2004053888A2 (en) * 2002-12-09 2004-06-24 Sandisk Corporation Zone boundary adjustment for defects in non-volatile memories
JP2004326165A (ja) * 2003-04-21 2004-11-18 Toshiba Corp メモリ制御装置およびメモリ制御方法
JP2005107600A (ja) * 2003-09-26 2005-04-21 Tdk Corp メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2006209608A (ja) * 2005-01-31 2006-08-10 Sony Corp メモリ制御装置、メモリ制御方法、プログラム
JP2006221627A (ja) * 2005-02-07 2006-08-24 Samsung Electronics Co Ltd 複数のマッピング技法を採用した適応型フラッシュメモリ制御装置及びそれを含むフラッシュメモリシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150077410A (ko) * 2012-10-23 2015-07-07 샌디스크 테크놀로지스, 인코포레이티드 데이터 리텐션 파티션을 가진 플래시 메모리
US9158678B2 (en) 2013-03-13 2015-10-13 Kabushiki Kaisha Toshiba Memory address management system and method

Also Published As

Publication number Publication date
EP1912123A1 (en) 2008-04-16
JPWO2007013372A1 (ja) 2009-02-05
US8051268B2 (en) 2011-11-01
WO2007013372A1 (ja) 2007-02-01
EP1912123A4 (en) 2008-10-29
US20090055618A1 (en) 2009-02-26

Similar Documents

Publication Publication Date Title
JP4679581B2 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法
US9514055B2 (en) Distributed media cache for data storage systems
JP4456486B2 (ja) 不揮発性記憶システムにおける摩耗一様化
KR100914089B1 (ko) 비휘발성 저장 시스템의 소거 카운트 유지 방법 및 장치
KR100877448B1 (ko) 비휘발성 기억 시스템
JP5480913B2 (ja) 記憶装置、およびメモリコントローラ
US20100017557A1 (en) Memory controller, nonvolatile memory device,access device, and nonvolatile memory system
US20100064111A1 (en) Information processing device including memory management device managing access from processor to memory and memory management method
JP2006504221A (ja) 不揮発性記憶システムにおける最高頻度消去ブロックの追跡
JP2006504220A (ja) 不揮発性記憶システムにおける平均消去カウントの維持
JP2006504196A (ja) 消去カウントブロックを管理する方法および装置
JP2006515086A (ja) ブロック内のページをグループ化する方法及び装置
JP2006504199A (ja) 不揮発性メモリシステムにおける最低頻度消去ブロックの追跡
JP2009199625A (ja) メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法
WO2015076354A1 (ja) ストレージ装置と方法並びにプログラム
JP4356686B2 (ja) メモリ装置及びメモリ制御方法
US8327068B2 (en) Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method
JP2010538385A (ja) セクタの集合を利用したキャッシュ運用方法及びキャッシュ装置
US20100180072A1 (en) Memory controller, nonvolatile memory device, file system, nonvolatile memory system, data writing method and data writing program
JP4561246B2 (ja) メモリ装置
JPWO2008139689A1 (ja) メモリコントローラ、半導体記録装置及び書き換え回数通知方法
JPWO2007105688A1 (ja) メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
JP2021068129A (ja) メモリコントローラ及びフラッシュメモリシステム
JP2009146539A (ja) 情報記録装置および情報記録方法
US20210389889A1 (en) Data storage device self-configuring based on customer prediction model

Legal Events

Date Code Title Description
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: 20110104

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: 20110201

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees