JP4235595B2 - メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 - Google Patents
メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 Download PDFInfo
- Publication number
- JP4235595B2 JP4235595B2 JP2004288124A JP2004288124A JP4235595B2 JP 4235595 B2 JP4235595 B2 JP 4235595B2 JP 2004288124 A JP2004288124 A JP 2004288124A JP 2004288124 A JP2004288124 A JP 2004288124A JP 4235595 B2 JP4235595 B2 JP 4235595B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- zone
- flash memory
- physical
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
複数のフラッシュメモリチップを備えたフラッシュメモリの異なるフラッシュメモリチップ内の物理ブロックを、仮想的に結合することにより仮想ブロックを形成し、論理アドレスが連続する記憶領域に割当てられた前記仮想ブロックに対して、ホストコンピュータから供給される論理アドレスに基づいてアクセスするメモリコントローラであって、
フラッシュメモリチップ内の物理ブロックを複数個集めたグループをそれぞれのフラッシュメモリチップ内に複数個形成し、それぞれのフラッシュメモリチップ内に形成された複数個のグループを、前記仮想ブロックを構成するための所定の結合関係が設定される物理ブロックが属するゾーンと前記所定の結合関係が設定されない物理ブロックが属する代替ゾーンとに割当て、前記ゾーン又は前記代替ゾーンに属する物理ブロックを管理する第1のゾーン管理手段と、
異なるフラッシュメモリチップ内の前記ゾーンに関する相互の対応関係を管理する第2のゾーン管理手段と、
異なるフラッシュメモリチップ内の相互に対応する前記ゾーンに属する物理ブロックに対して前記所定の結合関係を設定し、設定した前記所定の結合関係に従って前記仮想ブロックを形成する仮想ブロック形成手段と、
前記仮想ブロックに対して前記論理アドレスが連続する記憶領域を割当てる記憶領域管理手段と、
前記論理アドレスに基づいて前記仮想ブロックにアクセスするアクセス手段とを備え、
前記第1のゾーン管理手段は、前記ゾーンに属する物理ブロックが不良ブロックになったときに、前記代替ゾーンに属する物理ブロックを前記不良ブロックの代替ブロックとして割当てると共に、前記代替ブロックとして割当てられた物理ブロックを示す情報を代替ブロック割当情報として管理し、
前記アクセス手段は、前記代替ブロック割当情報に基づいて、前記代替ブロックが含まれる前記仮想ブロックにアクセスし、
前記所定の結合関係は、前記ゾーンに属する複数個の物理ブロックに付けられた前記ゾーン内での連番に基づいて設定され、代替ブロック割当情報は、前記代替ゾーンに属する複数個の物理ブロックに付けられた前記代替ゾーン内での連番に基づいて管理されることを特徴とする。
複数のフラッシュメモリチップを備えたフラッシュメモリの異なるフラッシュメモリチップ内の物理ブロックを、仮想的に結合することにより仮想ブロックを形成し、論理アドレスが連続する記憶領域に割当てられた前記仮想ブロックに対して、ホストコンピュータから供給される論理アドレスに基づいてアクセスするフラッシュメモリの制御方法であって、
フラッシュメモリチップ内の物理ブロックを複数個集めたグループをそれぞれのフラッシュメモリチップ内に複数個形成し、それぞれのフラッシュメモリチップ内に形成された複数個のグループを、前記仮想ブロックを構成するための所定の結合関係が設定される物理ブロックが属するゾーンと前記所定の結合関係が設定されない物理ブロックが属する代替ゾーンに割当て、前記ゾーン又は前記代替ゾーンに属する物理ブロックを管理する第1のゾーン管理ステップと、
異なるフラッシュメモリチップ内の前記ゾーンに関する相互の対応関係を管理する第2のゾーン管理ステップと、
異なるフラッシュメモリチップ内の相互に対応する前記ゾーンに属する物理ブロックに対して前記所定の結合関係を設定し、設定した前記所定の結合関係に従って前記仮想ブロックを形成する仮想ブロック形成ステップと、
前記仮想ブロックに対して前記論理アドレスが連続する記憶領域を割当てる記憶領域管理ステップと、
前記論理アドレスに基づいて前記仮想ブロックにアクセスするアクセスステップとを備え、
前記第1のゾーン管理ステップでは、前記ゾーンに属する物理ブロックが不良ブロックになったときに、前記代替ゾーンに属する物理ブロックを前記不良ブロックの代替ブロックとして割当てると共に、前記代替ブロックとして割当てられた物理ブロックを示す情報を代替ブロック割当情報として管理し、
前記アクセスステップでは、前記代替ブロック割当情報に基づいて、前記代替ブロックが含まれる前記仮想ブロックにアクセスし、
前記所定の結合関係は、前記ゾーンに属する複数個の物理ブロックに付けられた前記ゾーン内での連番に基づいて設定され、代替ブロック割当情報は、前記代替ゾーンに属する複数個の物理ブロックに付けられた前記代替ゾーン内での連番に基づいて管理されることを特徴とする。
図1は、本発明の実施形態に係るフラッシュメモリシステム1を、概略的に示すブロック図である。
図1に示したように、フラッシュメモリシステム1は、フラッシュメモリ2と、それを制御するメモリコントローラ3で構成されている。又、フラッシュメモリシステム1は、通常、ホストシステム4に着脱可能に装着され、ホストシステム4に対して、一種の外部記憶装置として用いられる。
尚、ホストシステム4としては、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置が挙げられる。
以下に、フラッシュメモリ2及びメモリコントローラ3の詳細を説明する。
このフラッシュメモリシステム1において、データが記憶されるフラッシュメモリ2は、NAND型フラッシュメモリで構成されている。NAND型フラッシュメモリは、ストレージデバイスへの用途として(ハードディスクの代わりになるものとして)開発された不揮発性メモリである。このNAND型フラッシュメモリは、ランダムアクセスを行なうことができず、書込みと読出しはページ単位で、消去はブロック単位で行なわれる。又、データの上書きができないので、データを書込むときは、消去されている領域にデータの書込みが行なわれる。
上記ブロックとページの構成は、フラッシュメモリの仕様によって異なるが、一般的なフラッシュメモリでは、図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は、一つの半導体チップ上に集積されている。以下に、各機能ブロックの機能を説明する。
ホストインターフェース制御ブロック5は、ホストインターフェースブロック7の動作を制御する機能ブロックである。ここで、ホストインターフェース制御ブロック5は、ホストインターフェースブロック7の動作を設定する動作設定レジスタ(図示せず)を備えており、この動作設定レジスタに基づいて、ホストインターフェースブロック7は動作する。
フラッシュメモリインターフェースブロック10は、内部バス14を介して、フラッシュメモリ2とデータ、アドレス情報、ステータス情報、内部コマンド情報及びデバイスID情報等の授受を行なう機能ブロックである。
本発明に係るフラッシュメモリシステム1では、複数チップで記憶領域を構成し、互いに異なるチップに属する物理ブロックを仮想的に結合して、仮想ブロックを形成している。この仮想ブロックについて、図3及び図4を参照して説明する。
図3では、フラッシュメモリ2の記憶領域をチップ0、チップ1、チップ2及びチップ3の4個のチップにより構成した例を示している。チップ0〜3の各チップ内には、1024個の物理ブロックでゾーンが構成されている。各ゾーンを構成する物理ブロックには、0〜1023の連番(#0〜#1023)が付けられている。各チップ内に構成されたゾーンは、互いに異なるチップ内のゾーンとの対応関係が設定されており、チップ0内の1つのゾーン20a、チップ1内の1つのゾーン21a、チップ2内の1つのゾーン22a及びチップ3内の1つのゾーン23aで、一区画の記憶領域(ゾーン群)を形成している。
ここで、仮想ブロックに記憶されるユーザーデータの配列について説明する。図4は、仮想ブロックを形成する各物理ブロックが、32個のページで構成されている場合を示している。
LBAはセクタ単位で付けた連番であり、1セクタの容量がフラッシュメモリの1ページの容量と等しく、各物理ブロックが32個のページで構成されている場合、4個の物理ブロックを結合した仮想ブロックは、論理アドレス空間の128セクタに割当てられる。従って、論理アドレス空間の128セクタ分の領域を1つの論理ブロック群とすれば、1つの仮想ブロックに1つの論理ブロック群が割当てられる。
例えば、図3に示した記憶領域の構成で、図6に示したようなゾーン20aの物理ブロックと、論理ブロック群との対応関係を示す変換テーブルが作成されていれば、この変換テーブルに基づいて、ゾーン21a、ゾーン22a及びゾーン23aに属する物理ブロックにアクセスすることができる。論理ブロック連番LBN0に対応するユーザーデータにアクセスする場合には、図6に示した変換テーブルに基づいて、論理ブロック連番LBN0が、ゾーン20aの物理ブロック#2に対応することが分かるので、ゾーン20aの物理ブロック#2と共に、この物理ブロックと仮想的に結合されるゾーン21aの物理ブロック#2、ゾーン22aの物理ブロック#2及びゾーン23aの物理ブロック#2に対してアクセスする。
2 フラッシュメモリ
3 メモリコントローラ
4 ホストシステム
5 ホストインターフェース制御ブロック
6 マイクロプロセッサ
7 ホストインターフェースブロック
8 ワークエリア
9 バッファ
10 フラッシュメモリインターフェースブロック
11 ECCブロック
12 フラッシュメモリシーケンサブロック
13 外部バス
14 内部バス
Claims (5)
- 複数のフラッシュメモリチップを備えたフラッシュメモリの異なるフラッシュメモリチップ内の物理ブロックを、仮想的に結合することにより仮想ブロックを形成し、論理アドレスが連続する記憶領域に割当てられた前記仮想ブロックに対して、ホストコンピュータから供給される論理アドレスに基づいてアクセスするメモリコントローラであって、
フラッシュメモリチップ内の物理ブロックを複数個集めたグループをそれぞれのフラッシュメモリチップ内に複数個形成し、それぞれのフラッシュメモリチップ内に形成された複数個のグループを、前記仮想ブロックを構成するための所定の結合関係が設定される物理ブロックが属するゾーンと前記所定の結合関係が設定されない物理ブロックが属する代替ゾーンとに割当て、前記ゾーン又は前記代替ゾーンに属する物理ブロックを管理する第1のゾーン管理手段と、
異なるフラッシュメモリチップ内の前記ゾーンに関する相互の対応関係を管理する第2のゾーン管理手段と、
異なるフラッシュメモリチップ内の相互に対応する前記ゾーンに属する物理ブロックに対して前記所定の結合関係を設定し、設定した前記所定の結合関係に従って前記仮想ブロックを形成する仮想ブロック形成手段と、
前記仮想ブロックに対して前記論理アドレスが連続する記憶領域を割当てる記憶領域管理手段と、
前記論理アドレスに基づいて前記仮想ブロックにアクセスするアクセス手段とを備え、
前記第1のゾーン管理手段は、前記ゾーンに属する物理ブロックが不良ブロックになったときに、前記代替ゾーンに属する物理ブロックを前記不良ブロックの代替ブロックとして割当てると共に、前記代替ブロックとして割当てられた物理ブロックを示す情報を代替ブロック割当情報として管理し、
前記アクセス手段は、前記代替ブロック割当情報に基づいて、前記代替ブロックが含まれる前記仮想ブロックにアクセスし、
前記所定の結合関係は、前記ゾーンに属する複数個の物理ブロックに付けられた前記ゾーン内での連番に基づいて設定され、代替ブロック割当情報は、前記代替ゾーンに属する複数個の物理ブロックに付けられた前記代替ゾーン内での連番に基づいて管理されることを特徴とするメモリコントローラ。 - 前記代替ブロック割当情報が、前記代替ゾーンに属する物理ブロックに書込まれていることを特徴とする請求項1に記載のメモリコントローラ。
- 請求項1又は2に記載のメモリコントローラと複数チップのフラッシュメモリを備えることを特徴とするフラッシュメモリシステム。
- 複数のフラッシュメモリチップを備えたフラッシュメモリの異なるフラッシュメモリチップ内の物理ブロックを、仮想的に結合することにより仮想ブロックを形成し、論理アドレスが連続する記憶領域に割当てられた前記仮想ブロックに対して、ホストコンピュータから供給される論理アドレスに基づいてアクセスするフラッシュメモリの制御方法であって、
フラッシュメモリチップ内の物理ブロックを複数個集めたグループをそれぞれのフラッシュメモリチップ内に複数個形成し、それぞれのフラッシュメモリチップ内に形成された複数個のグループを、前記仮想ブロックを構成するための所定の結合関係が設定される物理ブロックが属するゾーンと前記所定の結合関係が設定されない物理ブロックが属する代替ゾーンに割当て、前記ゾーン又は前記代替ゾーンに属する物理ブロックを管理する第1のゾーン管理ステップと、
異なるフラッシュメモリチップ内の前記ゾーンに関する相互の対応関係を管理する第2のゾーン管理ステップと、
異なるフラッシュメモリチップ内の相互に対応する前記ゾーンに属する物理ブロックに対して前記所定の結合関係を設定し、設定した前記所定の結合関係に従って前記仮想ブロックを形成する仮想ブロック形成ステップと、
前記仮想ブロックに対して前記論理アドレスが連続する記憶領域を割当てる記憶領域管理ステップと、
前記論理アドレスに基づいて前記仮想ブロックにアクセスするアクセスステップとを備え、
前記第1のゾーン管理ステップでは、前記ゾーンに属する物理ブロックが不良ブロックになったときに、前記代替ゾーンに属する物理ブロックを前記不良ブロックの代替ブロックとして割当てると共に、前記代替ブロックとして割当てられた物理ブロックを示す情報を代替ブロック割当情報として管理し、
前記アクセスステップでは、前記代替ブロック割当情報に基づいて、前記代替ブロックが含まれる前記仮想ブロックにアクセスし、
前記所定の結合関係は、前記ゾーンに属する複数個の物理ブロックに付けられた前記ゾーン内での連番に基づいて設定され、代替ブロック割当情報は、前記代替ゾーンに属する複数個の物理ブロックに付けられた前記代替ゾーン内での連番に基づいて管理されることを特徴とするフラッシュメモリの制御方法。 - 前記代替ブロック割当情報が、前記代替ゾーンに属する物理ブロックに書込まれていることを特徴とする請求項4に記載のフラッシュメモリの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004288124A JP4235595B2 (ja) | 2004-09-30 | 2004-09-30 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004288124A JP4235595B2 (ja) | 2004-09-30 | 2004-09-30 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006099696A JP2006099696A (ja) | 2006-04-13 |
JP4235595B2 true JP4235595B2 (ja) | 2009-03-11 |
Family
ID=36239401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004288124A Expired - Fee Related JP4235595B2 (ja) | 2004-09-30 | 2004-09-30 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4235595B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7669092B2 (en) * | 2007-02-26 | 2010-02-23 | Micron Technology, Inc. | Apparatus, method, and system of NAND defect management |
JP4720891B2 (ja) * | 2008-09-30 | 2011-07-13 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP6523193B2 (ja) * | 2016-03-08 | 2019-05-29 | 東芝メモリ株式会社 | ストレージシステム、情報処理システムおよび制御方法 |
-
2004
- 2004-09-30 JP JP2004288124A patent/JP4235595B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006099696A (ja) | 2006-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4787266B2 (ja) | スクラッチパッドブロック | |
JP4373943B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
US20040264254A1 (en) | Erase block data splitting | |
JP2006018373A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4661497B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4661191B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4636005B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4153535B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4235595B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4241741B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4609406B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4177292B2 (ja) | メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4254930B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4697146B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP3934659B1 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP2005292925A (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4000124B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4177301B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4254933B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP2006099594A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4332108B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4194518B2 (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP2006178909A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4273109B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4569554B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060313 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080919 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080930 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081120 |
|
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: 20081209 |
|
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: 20081215 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
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: 20111219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |