JP4661191B2 - メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 - Google Patents
メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 Download PDFInfo
- Publication number
- JP4661191B2 JP4661191B2 JP2004346576A JP2004346576A JP4661191B2 JP 4661191 B2 JP4661191 B2 JP 4661191B2 JP 2004346576 A JP2004346576 A JP 2004346576A JP 2004346576 A JP2004346576 A JP 2004346576A JP 4661191 B2 JP4661191 B2 JP 4661191B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- page
- physical
- address
- 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
- 230000015654 memory Effects 0.000 title claims description 180
- 238000000034 method Methods 0.000 title claims description 135
- 230000000717 retained effect Effects 0.000 claims description 14
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 229960001716 benzalkonium Drugs 0.000 claims 2
- CYDRXTMLKJDRQH-UHFFFAOYSA-N benzododecinium Chemical compound CCCCCCCCCCCC[N+](C)(C)CC1=CC=CC=C1 CYDRXTMLKJDRQH-UHFFFAOYSA-N 0.000 claims 2
- 238000004886 process control Methods 0.000 claims 2
- 238000006243 chemical reaction Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 8
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 4
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Landscapes
- Memory System (AREA)
Description
ホストシステムから読出しコマンドと共に与えられる読出し先の領域の先頭アドレスを示す論理アドレスと読出すデータの容量を示すセクタ数とに基づいて、複数の物理ページを含む物理ブロックを処理単位としてデータ消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記ホストシステムから与えられるセクタ単位の論理アドレスが割当てられている領域を、2 n (nは1以上の整数)セクタの領域を含む論理ブロック単位の領域に分割する論理領域分割手段と、
前記ホストシステムから与えられる論理アドレス及びセクタ数に基づいて前記読出し先の領域を特定し、更に、当該読出し先の領域の論理アドレスをビット表示したものの下位側からnビット目のビットより上位側のビットに基づいて、当該読出し先の領域を前記論理ブロックの境界で区分する領域区分手段と、
前記領域区分手段により区分されたそれぞれの領域をページ単位の領域として特定する手段であって、当該区分された領域内の先頭の論理アドレスをビット表示したものの下位nビットと当該区分された領域内の末尾の論理アドレスをビット表示したものの下位nビットに基づいて、当該区分された領域内の先頭ページのページ番号と当該区分された領域に含まれるページのページ数を求めるページ情報取得手段と、
前記論理ブロックと前記物理ブロックとの対応関係を管理する対応関係管理手段と、
前記論理ブロックと前記物理ブロックとの対応関係に基づいて、前記領域区分手段により区分された領域が属する前記論理ブロックに対応する前記物理ブロックの物理アドレスを求める物理アドレス取得手段と、
前記物理アドレス取得手段により求められた前記物理アドレスと、前記ページ情報取得手段により求められた前記ページ番号及び前記ページ数とを保持する情報保持手段と、
前記情報保持手段に保持されている前記物理アドレス、前記ページ番号及び前記ページ数に基づいて、前記領域区分手段により区分された領域に対応する前記物理ブロックからのデータの読出しを制御する読出し制御手段とを備え、
前記情報保持手段は、
前記物理アドレスと前記ページ番号を保持する際に、当該物理アドレスをビット表示したものの下位側に当該ページ番号をビット表示したものを連結し、
前記読出し制御手段により1ページ分のデータが読出される毎に、保持している前記ページ番号を1ずつ増加させると共に、保持している前記ページ数を1ずつ減らし、
保持している前記ページ数が0になった後に、前記物理アドレス、前記ページ番号及び前記ページ数を新たに保持し、
前記読出し制御手段は、前記情報保持手段に保持されている前記物理アドレスと前記ページ番号が連結されたものを、読出し先の前記物理ページを指示するアドレスとして、フラッシュメモリに与え、
物理アドレス取得手段は、前記読出し制御手段が前記領域区分手段により区分された複数の領域のうちのいずれかの領域に関する読出し処理を実行しているときに、当該いずれかの領域に後続する領域に対応する物理アドレスを求める処理を実行することを特徴とする。
ホストシステムから書込みコマンドと共に与えられる書込み先の領域の先頭アドレスを示す論理アドレスと書込むデータの容量を示すセクタ数とに基づいて、複数の物理ページを含む物理ブロックを処理単位としてデータ消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記ホストシステムから与えられるセクタ単位の論理アドレスが割当てられている領域を、2 n (nは1以上の整数)セクタの領域を含む論理ブロック単位の領域に分割する論理領域分割手段と、
前記ホストシステムから与えられる論理アドレス及びセクタ数に基づいて前記書込み先の領域を特定し、更に、当該書込み先の領域の論理アドレスをビット表示したものの下位側からnビット目のビットより上位側のビットに基づいて、当該書込み先の領域を前記論理ブロックの境界で区分する領域区分手段と、
前記領域区分手段により区分されたそれぞれの領域をページ単位の領域として特定する手段であって、当該区分された領域内の先頭の論理アドレスをビット表示したものの下位nビットと当該区分された領域内の末尾の論理アドレスをビット表示したものの下位nビットに基づいて、当該区分された領域内の先頭ページのページ番号と当該区分された領域に含まれるページのページ数を求めるページ情報取得手段と、
消去状態の前記物理ブロックを前記論理ブロックに割当てる割当て手段と、
前記領域区分手段により区分された領域が属する前記論理ブロックに割当てられている前記物理ブロックの物理アドレスを求める物理アドレス取得手段と、
前記物理アドレス取得手段により求められた前記物理アドレスと、前記ページ情報取得手段により求められた前記ページ番号及び前記ページ数とを保持する情報保持手段と、
前記情報保持手段に保持されている前記物理アドレス、前記ページ番号及び前記ページ数に基づいて、前記領域区分手段により区分された領域に対応する前記物理ブロックへのデータの書込みを制御する書込み制御手段とを備え、
前記情報保持手段は、
前記物理アドレスと前記ページ番号を保持する際に、当該物理アドレスをビット表示したものの下位側に当該ページ番号をビット表示したものを連結し、
前記書込み制御手段により1ページ分のデータが書込まれる毎に、保持している前記ページ番号を1ずつ増加させると共に、保持している前記ページ数を1ずつ減らし、
保持している前記ページ数が0になった後に、前記物理アドレス、前記ページ番号及び前記ページ数を新たに保持し、
前記書込み制御手段は、前記情報保持手段に保持されている前記物理アドレスと前記ページ番号が連結されたものを、書込み先の前記物理ページを指示するアドレスとして、フラッシュメモリに与え、
物理アドレス取得手段は、前記書込み制御手段が前記領域区分手段により区分された複数の領域のうちのいずれかの領域に関する書込み処理を実行しているときに、当該いずれかの領域に後続する領域に対応する物理アドレスを求める処理を実行することを特徴とする。
ホストシステムから読出しコマンドと共に与えられる読出し先の領域の先頭アドレスを示す論理アドレスと読出すデータの容量を示すセクタ数とに基づいて、複数の物理ページを含む物理ブロックを処理単位としてデータ消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記ホストシステムから与えられるセクタ単位の論理アドレスが割当てられている領域を、2 n (nは1以上の整数)セクタの領域を含む論理ブロック単位の領域に分割する論理領域分割処理と、
前記ホストシステムから与えられる論理アドレス及びセクタ数に基づいて前記読出し先の領域を特定し、更に、当該読出し先の領域の論理アドレスをビット表示したものの下位側からnビット目のビットより上位側のビットに基づいて、当該読出し先の領域を前記論理ブロックの境界で区分する領域区分処理と、
前記領域区分処理により区分されたそれぞれの領域をページ単位の領域として特定する処理であって、当該区分された領域内の先頭の論理アドレスをビット表示したものの下位nビットと当該区分された領域内の末尾の論理アドレスをビット表示したものの下位nビットに基づいて、当該区分された領域内の先頭ページのページ番号と当該区分された領域に含まれるページのページ数を求めるページ情報取得処理と、
前記論理ブロックと前記物理ブロックとの対応関係を管理する対応関係管理処理と、
前記論理ブロックと前記物理ブロックとの対応関係に基づいて、前記領域区分処理により区分された領域が属する前記論理ブロックに対応する前記物理ブロックの物理アドレスを求める物理アドレス取得処理と、
前記物理アドレス取得手段により求められた前記物理アドレスと、前記ページ情報取得手段により求められた前記ページ番号及び前記ページ数とを情報保持手段に保持する情報保持処理と、
前記情報保持手段に保持されている前記物理アドレス、前記ページ番号及び前記ページ数に基づいて、前記領域区分手段により区分された領域に対応する前記物理ブロックからのデータの読出しを制御する読出し制御処理とを含み、
前記情報保持処理では、
前記物理アドレスと前記ページ番号を保持する際に、当該物理アドレスをビット表示したものの下位側に当該ページ番号をビット表示したものを連結し、
前記読出し制御処理により1ページ分のデータが読出される毎に、前記情報保持手段が保持している前記ページ番号を1ずつ増加させると共に、前記情報保持手段が保持している前記ページ数を1ずつ減らし、
前記情報保持手段が保持している前記ページ数が0になった後に、前記物理アドレス、前記ページ番号及び前記ページ数を前記情報保持手段に新たに保持し、
前記読出し制御処理では、前記情報保持手段が保持している前記物理アドレスと前記ページ番号が連結されたものを、読出し先の前記物理ページを指示するアドレスとして、フラッシュメモリに与え、
前記読出し制御処理により前記領域区分処理により区分された複数の領域のうちのいずれかの領域に関する読出し処理が実行されているときに、物理アドレス取得処理により当該いずれかの領域に後続する領域に対応する物理アドレスを求める処理が実行されることを特徴とする。
ホストシステムから書込みコマンドと共に与えられる書込み先の領域の先頭アドレスを示す論理アドレスと書込むデータの容量を示すセクタ数とに基づいて、複数の物理ページを含む物理ブロックを処理単位としてデータ消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記ホストシステムから与えられるセクタ単位の論理アドレスが割当てられている領域を、2 n (nは1以上の整数)セクタの領域を含む論理ブロック単位の領域に分割する論理領域分割処理と、
前記ホストシステムから与えられる論理アドレス及びセクタ数に基づいて前記書込み先の領域を特定し、更に、当該書込み先の領域の論理アドレスをビット表示したものの下位側からnビット目のビットより上位側のビットに基づいて、当該書込み先の領域を前記論理ブロックの境界で区分する領域区分処理と、
前記領域区分処理により区分されたそれぞれの領域をページ単位の領域として特定する処理であって、当該区分された領域内の先頭の論理アドレスをビット表示したものの下位nビットと当該区分された領域内の末尾の論理アドレスをビット表示したものの下位nビットに基づいて、当該区分された領域内の先頭ページのページ番号と当該区分された領域に含まれるページのページ数を求めるページ情報取得処理と、
消去状態の前記物理ブロックを前記論理ブロックに割当てる割当て処理と、
前記領域区分処理により区分された領域が属する前記論理ブロックに割当てられている前記物理ブロックの物理アドレスを求める物理アドレス取得処理と、
前記物理アドレス取得手段により求められた前記物理アドレスと、前記ページ情報取得手段により求められた前記ページ番号及び前記ページ数とを情報保持手段に保持する情報保持処理と、
前記情報保持手段に保持されている前記物理アドレス、前記ページ番号及び前記ページ数に基づいて、前記領域区分手段により区分された領域に対応する前記物理ブロックへのデータの書込みを制御する書込み制御処理とを含み、
前記情報保持処理では、
前記物理アドレスと前記ページ番号を保持する際に、当該物理アドレスをビット表示したものの下位側に当該ページ番号をビット表示したものを連結し、
前記書込み制御処理により1ページ分のデータが書込まれる毎に、前記情報保持手段が保持している前記ページ番号を1ずつ増加させると共に、前記情報保持手段が保持している前記ページ数を1ずつ減らし、
前記情報保持手段が保持している前記ページ数が0になった後に、前記物理アドレス、前記ページ番号及び前記ページ数を前記情報保持手段に新たに保持し、
前記書込み制御処理では、前記情報保持手段が保持している前記物理アドレスと前記ページ番号が連結されたものを、書込み先の前記物理ページを指示するアドレスとして、フラッシュメモリに与え、
前記書込み制御処理により前記領域区分処理により区分された複数の領域のうちのいずれかの領域に関する書込み処理が実行されているときに、物理アドレス取得処理により当該いずれかの領域に後続する領域に対応する物理アドレスを求める処理が実行されることを特徴とする。
図1に示したように、フラッシュメモリシステム1は、フラッシュメモリ2と、それを制御するメモリコントローラ3で構成されている。又、フラッシュメモリシステム1は、通常、ホストシステム4に着脱可能に装着され、ホストシステム4に対して、一種の外部記憶装置として用いられる。
尚、ホストシステム4としては、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータや、デジタルスチルカメラをはじめとする各種情報処理装置が挙げられる。
以下に、フラッシュメモリ2及びメモリコントローラ3の詳細を説明する。
このフラッシュメモリシステム1において、データが記憶されるフラッシュメモリ2は、NAND型フラッシュメモリで構成されている。NAND型フラッシュメモリは、ストレージデバイスへの用途として(ハードディスクの代わりになるものとして)開発された不揮発性メモリである。このNAND型フラッシュメモリは、ランダムアクセスを行なうことができず、書込みと読出しはページ単位で、消去はブロック単位で行なわれる。又、データの上書きができないので、データを書込むときは、消去されている領域にデータの書込みが行なわれる。
上記ブロックとページの構成は、フラッシュメモリの仕様によって異なるが、本実施形態のフラッシュメモリ2では、図2(a)に示したように、1ブロックが32ページ(P0〜P31)で構成され、各ページが512バイトのユーザー領域と16バイトの冗長領域で構成されている。又、記憶容量の増加に伴い、図2(b)に示したように、1ブロックが64ページ(P0〜P63)で構成され、各ページが2048バイトのユーザー領域と64バイトの冗長領域で構成されているものも提供されている。
メモリコントローラ3は、ホストインターフェース制御ブロック5と、マイクロプロセッサ6と、ホストインターフェースブロック7と、ワークエリア8と、バッファ9と、フラッシュメモリインターフェースブロック10と、ECC(エラー・コレクション・コード)ブロック11と、フラッシュメモリシーケンサブロック12とから構成される。これら機能ブロックによって構成されるメモリコントローラ3は、1つの半導体チップ上に集積されている。以下に、各機能ブロックの機能を説明する。
ホストインターフェース制御ブロック5は、ホストインターフェースブロック7の動作を制御する機能ブロックである。ここで、ホストインターフェース制御ブロック5は、ホストインターフェースブロック7の動作を設定する動作設定レジスタ(図示せず)を備えており、この動作設定レジスタに基づいて、ホストインターフェースブロック7は動作する。
本実施例に係るフラッシュメモリシステム1では、複数の物理ブロックでゾーンを形成し、各ゾーンに対して、予め設定された論理アドレスの領域を割当てている。
図3に示した例では、1024個の物理ブロックでゾーンが形成されている。又、このゾーンに対して、1000ブロック分(物理ブロック1000個分)の論理ブロック空間が割当てられている。
ここで、1セクタの容量がフラッシュメモリ2の1ページの容量と等しく、各物理ブロックが32個のページで構成されている場合、ゾーン内の各物理ブロックは、論理アドレス空間の32セクタ分の領域に割当てられる。従って、論理アドレス空間の32セクタ分の領域を1個の論理ブロックとすれば、1個の物理ブロックに対して1個の論理ブロックが割当てられる。
この変換テーブルは、1つのゾーンに対して作成されたものであり、ゾーンに割当てられている論理アドレス空間の論理ブロック連番LB0〜LB999と、これ対応する物理ブロックの物理ブロック連番#0〜#1023の対応関係を示している。図4に示した例では、論理ブロック連番LB0は、物理ブロック連番#3に対応し、論理ブロック連番LB1は、物理ブロック連番#1に対応し、論理ブロック連番LB2は、物理ブロック連番#5に対応する。このように、各論理ブロック連番に対応する物理ブロック連番が示されているので、ホストシステム4からコマンドと共にアドレス情報としてLBAが供給された場合は、そのLBAが属する論理ブロックの論理ブロック連番を変換テーブル上で検索することにより、それに対応する物理ブロックの物理ブロック連番を求めることができる。
図6は、グループ分割の例を示す説明図である。
例えば、ホストシステム4から論理アドレスとしてLBA16が供給され、セクタ数として31が供給された場合、図5に示したように、LBA16から31セクタ分の領域、つまり、LBA16からLBA46までの領域が、アクセスの対象として指定される。
図5に示した例では、LBA16〜LBA31が論理ブロック連番LB0の論理ブロックに属し、LBA32〜LBA46が論理ブロック連番LB1の論理ブロックに属している。従って、論理ブロック連番LB0の論理ブロックに対応する物理ブロックの物理ブロック連番を求める論物変換処理と、論理ブロック連番LB1の論理ブロックに対応する物理ブロックの物理ブロック連番を求める論物変換処理を実行しなければならない。
アクセスの対象の先頭アドレスがLBA16で、セクタ数が31の場合、LBA16からLBA46までがアクセスの対象となる。これを論理ブロック毎のグループに分割すると、LBA16〜LBA31のグループと、LBA32〜LBA46のグループに分割される。これを2進数で表示して説明すれば、000 0000 0001 0000B(2進数)から000 0000 0010 1110(2進数)までのアクセスの対象が、000 0000 0001 0000B(2進数)から000 0000 0001 1111(2進数)までのグループと、000 0000 0010 0000B(2進数)から000 0000 0010 1110(2進数)までのグループに分割される。
図7は、読出し処理の要求を受けた場合の処理を示すフローチャートである。
続いて、最初のグループの論物変換処理を実行し、グループ内の先頭セクタに対応する物理アドレスを求める(ステップ2)。フラッシュメモリシーケンサブロック12が処理を実行しているか否かをチェックし(ステップ3)、処理が終了した後に(ステップ3:NO)、ステップ4を実行する。
ステップ4の読出しシーケンス処理が終了しているか否かをチェックし(ステップ6)、処理が終了した後に(ステップ6:NO)、ステップ7を実行する。
ステップ7で、開始した読出しシーケンス処理の処理対象が最後のグループであれば(ステップ8:YES)、ホストシステム4から与えられた読出しコマンドに基づいた処理を終了する。ステップ7で、開始した読出しシーケンス処理の処理対象が最後のグループでない場合は(ステップ8:NO)、読出しシーケンス処理の終了を待たずに、次のグループに対する論物変換処理が開始される(ステップ5)。この後、最後のグループに対する読出しシーケンス処理が実行されるまで、ステップ5からステップ8までの処理を繰り返す。
図8は、書込み処理における論理ブロックと物理ブロックの対応関係を示す説明図であり、LBA0からLBA95までの3個の論理ブロックを処理対象として書込み処理を実行した場合の論理ブロックと物理ブロックの対応関係を示している。
図9は、書込み処理の要求を受けた場合の処理を示すフローチャートである。
尚、説明を簡略化するため、物理ブロック内の全てのページに、ホストシステム4側から供給されるユーザーデータが書込まれる場合について説明する。従って、古いデータが書込まれていた物理ブロックからの転送処理は行われない。
この書込みシーケンス処理では、グループの論理ブロック内の各セクタに対応するユーザーデータが、書込み先の物理ブロック内の各ページに順次書込まれていく。
ステップ17では、フラッシュメモリシーケンサブロック12内のレジスタに、フラッシュメモリ2に与えられる書込みコマンドと、ステップ15で求めた消去済みの物理ブロックの物理アドレス(先頭ページの物理アドレス)と、グループの論理ブロックに含まれるセクタのセクタ数“32”を設定した後、ステップ14と同様にフラッシュメモリ2に対する書込みシーケンス処理を開始する。
この書込みシーケンス処理では、前回の書込みシーケンス処理で処理対象となったグループの論理ブロックの次のグループの論理ブロックが処理対象となる。
2 フラッシュメモリ
3 メモリコントローラ
4 ホストシステム
5 ホストインターフェース制御ブロック
6 マイクロプロセッサ
7 ホストインターフェースブロック
8 ワークエリア
9 バッファ
10 フラッシュメモリインターフェースブロック
11 ECCブロック
12 フラッシュメモリシーケンサブロック
13 外部バス
14 内部バス
Claims (5)
- ホストシステムから読出しコマンドと共に与えられる読出し先の領域の先頭アドレスを示す論理アドレスと読出すデータの容量を示すセクタ数とに基づいて、複数の物理ページを含む物理ブロックを処理単位としてデータ消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記ホストシステムから与えられるセクタ単位の論理アドレスが割当てられている領域を、2 n (nは1以上の整数)セクタの領域を含む論理ブロック単位の領域に分割する論理領域分割手段と、
前記ホストシステムから与えられる論理アドレス及びセクタ数に基づいて前記読出し先の領域を特定し、更に、当該読出し先の領域の論理アドレスをビット表示したものの下位側からnビット目のビットより上位側のビットに基づいて、当該読出し先の領域を前記論理ブロックの境界で区分する領域区分手段と、
前記領域区分手段により区分されたそれぞれの領域をページ単位の領域として特定する手段であって、当該区分された領域内の先頭の論理アドレスをビット表示したものの下位nビットと当該区分された領域内の末尾の論理アドレスをビット表示したものの下位nビットに基づいて、当該区分された領域内の先頭ページのページ番号と当該区分された領域に含まれるページのページ数を求めるページ情報取得手段と、
前記論理ブロックと前記物理ブロックとの対応関係を管理する対応関係管理手段と、
前記論理ブロックと前記物理ブロックとの対応関係に基づいて、前記領域区分手段により区分された領域が属する前記論理ブロックに対応する前記物理ブロックの物理アドレスを求める物理アドレス取得手段と、
前記物理アドレス取得手段により求められた前記物理アドレスと、前記ページ情報取得手段により求められた前記ページ番号及び前記ページ数とを保持する情報保持手段と、
前記情報保持手段に保持されている前記物理アドレス、前記ページ番号及び前記ページ数に基づいて、前記領域区分手段により区分された領域に対応する前記物理ブロックからのデータの読出しを制御する読出し制御手段とを備え、
前記情報保持手段は、
前記物理アドレスと前記ページ番号を保持する際に、当該物理アドレスをビット表示したものの下位側に当該ページ番号をビット表示したものを連結し、
前記読出し制御手段により1ページ分のデータが読出される毎に、保持している前記ページ番号を1ずつ増加させると共に、保持している前記ページ数を1ずつ減らし、
保持している前記ページ数が0になった後に、前記物理アドレス、前記ページ番号及び前記ページ数を新たに保持し、
前記読出し制御手段は、前記情報保持手段に保持されている前記物理アドレスと前記ページ番号が連結されたものを、読出し先の前記物理ページを指示するアドレスとして、フラッシュメモリに与え、
物理アドレス取得手段は、前記読出し制御手段が前記領域区分手段により区分された複数の領域のうちのいずれかの領域に関する読出し処理を実行しているときに、当該いずれかの領域に後続する領域に対応する物理アドレスを求める処理を実行することを特徴とするメモリコントローラ。 - ホストシステムから書込みコマンドと共に与えられる書込み先の領域の先頭アドレスを示す論理アドレスと書込むデータの容量を示すセクタ数とに基づいて、複数の物理ページを含む物理ブロックを処理単位としてデータ消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記ホストシステムから与えられるセクタ単位の論理アドレスが割当てられている領域を、2 n (nは1以上の整数)セクタの領域を含む論理ブロック単位の領域に分割する論理領域分割手段と、
前記ホストシステムから与えられる論理アドレス及びセクタ数に基づいて前記書込み先の領域を特定し、更に、当該書込み先の領域の論理アドレスをビット表示したものの下位側からnビット目のビットより上位側のビットに基づいて、当該書込み先の領域を前記論理ブロックの境界で区分する領域区分手段と、
前記領域区分手段により区分されたそれぞれの領域をページ単位の領域として特定する手段であって、当該区分された領域内の先頭の論理アドレスをビット表示したものの下位nビットと当該区分された領域内の末尾の論理アドレスをビット表示したものの下位nビットに基づいて、当該区分された領域内の先頭ページのページ番号と当該区分された領域に含まれるページのページ数を求めるページ情報取得手段と、
消去状態の前記物理ブロックを前記論理ブロックに割当てる割当て手段と、
前記領域区分手段により区分された領域が属する前記論理ブロックに割当てられている前記物理ブロックの物理アドレスを求める物理アドレス取得手段と、
前記物理アドレス取得手段により求められた前記物理アドレスと、前記ページ情報取得手段により求められた前記ページ番号及び前記ページ数とを保持する情報保持手段と、
前記情報保持手段に保持されている前記物理アドレス、前記ページ番号及び前記ページ数に基づいて、前記領域区分手段により区分された領域に対応する前記物理ブロックへのデータの書込みを制御する書込み制御手段とを備え、
前記情報保持手段は、
前記物理アドレスと前記ページ番号を保持する際に、当該物理アドレスをビット表示したものの下位側に当該ページ番号をビット表示したものを連結し、
前記書込み制御手段により1ページ分のデータが書込まれる毎に、保持している前記ページ番号を1ずつ増加させると共に、保持している前記ページ数を1ずつ減らし、
保持している前記ページ数が0になった後に、前記物理アドレス、前記ページ番号及び前記ページ数を新たに保持し、
前記書込み制御手段は、前記情報保持手段に保持されている前記物理アドレスと前記ページ番号が連結されたものを、書込み先の前記物理ページを指示するアドレスとして、フラッシュメモリに与え、
物理アドレス取得手段は、前記書込み制御手段が前記領域区分手段により区分された複数の領域のうちのいずれかの領域に関する書込み処理を実行しているときに、当該いずれかの領域に後続する領域に対応する物理アドレスを求める処理を実行することを特徴とするメモリコントローラ。 - 請求項1又は2に記載のメモリコントローラと、このメモリコントローラより制御されるフラッシュメモリとを備えることを特徴とするフラッシュメモリシステム。
- ホストシステムから読出しコマンドと共に与えられる読出し先の領域の先頭アドレスを示す論理アドレスと読出すデータの容量を示すセクタ数とに基づいて、複数の物理ページを含む物理ブロックを処理単位としてデータ消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記ホストシステムから与えられるセクタ単位の論理アドレスが割当てられている領域を、2 n (nは1以上の整数)セクタの領域を含む論理ブロック単位の領域に分割する論理領域分割処理と、
前記ホストシステムから与えられる論理アドレス及びセクタ数に基づいて前記読出し先の領域を特定し、更に、当該読出し先の領域の論理アドレスをビット表示したものの下位側からnビット目のビットより上位側のビットに基づいて、当該読出し先の領域を前記論理ブロックの境界で区分する領域区分処理と、
前記領域区分処理により区分されたそれぞれの領域をページ単位の領域として特定する処理であって、当該区分された領域内の先頭の論理アドレスをビット表示したものの下位nビットと当該区分された領域内の末尾の論理アドレスをビット表示したものの下位nビットに基づいて、当該区分された領域内の先頭ページのページ番号と当該区分された領域に含まれるページのページ数を求めるページ情報取得処理と、
前記論理ブロックと前記物理ブロックとの対応関係を管理する対応関係管理処理と、
前記論理ブロックと前記物理ブロックとの対応関係に基づいて、前記領域区分処理により区分された領域が属する前記論理ブロックに対応する前記物理ブロックの物理アドレスを求める物理アドレス取得処理と、
前記物理アドレス取得手段により求められた前記物理アドレスと、前記ページ情報取得手段により求められた前記ページ番号及び前記ページ数とを情報保持手段に保持する情報保持処理と、
前記情報保持手段に保持されている前記物理アドレス、前記ページ番号及び前記ページ数に基づいて、前記領域区分手段により区分された領域に対応する前記物理ブロックからのデータの読出しを制御する読出し制御処理とを含み、
前記情報保持処理では、
前記物理アドレスと前記ページ番号を保持する際に、当該物理アドレスをビット表示したものの下位側に当該ページ番号をビット表示したものを連結し、
前記読出し制御処理により1ページ分のデータが読出される毎に、前記情報保持手段が保持している前記ページ番号を1ずつ増加させると共に、前記情報保持手段が保持している前記ページ数を1ずつ減らし、
前記情報保持手段が保持している前記ページ数が0になった後に、前記物理アドレス、前記ページ番号及び前記ページ数を前記情報保持手段に新たに保持し、
前記読出し制御処理では、前記情報保持手段が保持している前記物理アドレスと前記ページ番号が連結されたものを、読出し先の前記物理ページを指示するアドレスとして、フラッシュメモリに与え、
前記読出し制御処理により前記領域区分処理により区分された複数の領域のうちのいずれかの領域に関する読出し処理が実行されているときに、物理アドレス取得処理により当該いずれかの領域に後続する領域に対応する物理アドレスを求める処理が実行されることを特徴とするフラッシュメモリの制御方法。 - ホストシステムから書込みコマンドと共に与えられる書込み先の領域の先頭アドレスを示す論理アドレスと書込むデータの容量を示すセクタ数とに基づいて、複数の物理ページを含む物理ブロックを処理単位としてデータ消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記ホストシステムから与えられるセクタ単位の論理アドレスが割当てられている領域を、2 n (nは1以上の整数)セクタの領域を含む論理ブロック単位の領域に分割する論理領域分割処理と、
前記ホストシステムから与えられる論理アドレス及びセクタ数に基づいて前記書込み先の領域を特定し、更に、当該書込み先の領域の論理アドレスをビット表示したものの下位側からnビット目のビットより上位側のビットに基づいて、当該書込み先の領域を前記論理ブロックの境界で区分する領域区分処理と、
前記領域区分処理により区分されたそれぞれの領域をページ単位の領域として特定する処理であって、当該区分された領域内の先頭の論理アドレスをビット表示したものの下位nビットと当該区分された領域内の末尾の論理アドレスをビット表示したものの下位nビットに基づいて、当該区分された領域内の先頭ページのページ番号と当該区分された領域に含まれるページのページ数を求めるページ情報取得処理と、
消去状態の前記物理ブロックを前記論理ブロックに割当てる割当て処理と、
前記領域区分処理により区分された領域が属する前記論理ブロックに割当てられている前記物理ブロックの物理アドレスを求める物理アドレス取得処理と、
前記物理アドレス取得手段により求められた前記物理アドレスと、前記ページ情報取得手段により求められた前記ページ番号及び前記ページ数とを情報保持手段に保持する情報保持処理と、
前記情報保持手段に保持されている前記物理アドレス、前記ページ番号及び前記ページ数に基づいて、前記領域区分手段により区分された領域に対応する前記物理ブロックへのデータの書込みを制御する書込み制御処理とを含み、
前記情報保持処理では、
前記物理アドレスと前記ページ番号を保持する際に、当該物理アドレスをビット表示したものの下位側に当該ページ番号をビット表示したものを連結し、
前記書込み制御処理により1ページ分のデータが書込まれる毎に、前記情報保持手段が保持している前記ページ番号を1ずつ増加させると共に、前記情報保持手段が保持している前記ページ数を1ずつ減らし、
前記情報保持手段が保持している前記ページ数が0になった後に、前記物理アドレス、前記ページ番号及び前記ページ数を前記情報保持手段に新たに保持し、
前記書込み制御処理では、前記情報保持手段が保持している前記物理アドレスと前記ページ番号が連結されたものを、書込み先の前記物理ページを指示するアドレスとして、フラッシュメモリに与え、
前記書込み制御処理により前記領域区分処理により区分された複数の領域のうちのいずれかの領域に関する書込み処理が実行されているときに、物理アドレス取得処理により当該いずれかの領域に後続する領域に対応する物理アドレスを求める処理が実行されることを特徴とするフラッシュメモリの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004346576A JP4661191B2 (ja) | 2004-11-30 | 2004-11-30 | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004346576A JP4661191B2 (ja) | 2004-11-30 | 2004-11-30 | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006155335A JP2006155335A (ja) | 2006-06-15 |
JP4661191B2 true JP4661191B2 (ja) | 2011-03-30 |
Family
ID=36633550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004346576A Expired - Fee Related JP4661191B2 (ja) | 2004-11-30 | 2004-11-30 | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4661191B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2047368A4 (en) | 2006-07-31 | 2009-09-23 | Toshiba Kk | NON-VOLATILE MEMORY SYSTEM AND DATA READING / WRITING METHOD FOR NON-VOLATILE MEMORY SYSTEM |
US7711889B2 (en) | 2006-07-31 | 2010-05-04 | Kabushiki Kaisha Toshiba | Nonvolatile memory system, and data read/write method for nonvolatile memory system |
JP4661748B2 (ja) * | 2006-09-22 | 2011-03-30 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP5400875B2 (ja) * | 2009-05-21 | 2014-01-29 | パナソニック株式会社 | メモリコントローラ、不揮発性記憶装置、アクセス装置、不揮発性記憶システム、データ書き込み方法、および、プログラム |
JP2012128644A (ja) | 2010-12-15 | 2012-07-05 | Toshiba Corp | メモリシステム |
JP5722685B2 (ja) * | 2011-04-12 | 2015-05-27 | 株式会社日立製作所 | 半導体装置、不揮発性メモリ装置の制御方法 |
KR101856506B1 (ko) | 2011-09-22 | 2018-05-11 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 데이터 쓰기 방법 |
CN113196258A (zh) * | 2018-12-19 | 2021-07-30 | 索尼集团公司 | 信息处理装置、信息处理方法和信息处理程序 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000284996A (ja) * | 1999-03-31 | 2000-10-13 | Toshiba Corp | メモリ管理装置及びメモリ管理方法 |
JP2004070691A (ja) * | 2002-08-07 | 2004-03-04 | Tdk Corp | メモリコントローラ及びこれを備えるメモリシステム並びにフラッシュメモリの制御方法 |
-
2004
- 2004-11-30 JP JP2004346576A patent/JP4661191B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000284996A (ja) * | 1999-03-31 | 2000-10-13 | Toshiba Corp | メモリ管理装置及びメモリ管理方法 |
JP2004070691A (ja) * | 2002-08-07 | 2004-03-04 | Tdk Corp | メモリコントローラ及びこれを備えるメモリシステム並びにフラッシュメモリの制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2006155335A (ja) | 2006-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4171749B2 (ja) | メモリコントローラおよびフラッシュメモリシステム | |
JP4661191B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4153535B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4434171B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4241741B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4609406B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4235646B2 (ja) | メモリコントローラおよびフラッシュメモリシステム | |
JP4177292B2 (ja) | メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4661497B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4661748B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4000124B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4235595B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4177301B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4697146B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2005190289A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP2005292925A (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4254930B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4569554B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4497124B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP3934659B1 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4213166B2 (ja) | メモリコントローラおよびフラッシュメモリシステム | |
JP4539621B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4332108B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4227989B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4194473B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070312 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100524 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100622 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100820 |
|
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: 20101207 |
|
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: 20101220 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4661191 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: 20140114 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |