JP4203994B2 - メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 - Google Patents
メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 Download PDFInfo
- Publication number
- JP4203994B2 JP4203994B2 JP2003336496A JP2003336496A JP4203994B2 JP 4203994 B2 JP4203994 B2 JP 4203994B2 JP 2003336496 A JP2003336496 A JP 2003336496A JP 2003336496 A JP2003336496 A JP 2003336496A JP 4203994 B2 JP4203994 B2 JP 4203994B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- zone
- data
- flash memory
- spare
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
3つ以上の前記ゾーンで構成されるゾーン群をグループとして管理するグループ管理手段と、
前記グループ内の1つのゾーンを予備的ゾーンとして取扱い、前記グループ内の前記予備的ゾーン以外のゾーンで不良ブロックが発生した場合に、前記予備的ゾーン内のブロックを前記不良ブロックの代替として割当てる代替管理手段とを備えたことを特徴とするメモリコントローラによって達成される。又、このメモリコントローラとフラッシュメモリを備えることを特徴とするフラッシュメモリシステムによっても達成される。
3つ以上の前記ゾーンで構成されたグループ内の1つのゾーンを予備的ゾーンとして取扱い、前記グループ内の前記予備的ゾーン以外のゾーンで不良ブロックが発生した場合に、前記予備的ゾーン内のブロックを前記不良ブロックの代替として割当てることを特徴とするフラッシュメモリの制御方法によっても達成される。
[フラッシュメモリシステム1の説明]
図1は、本発明に係るフラッシュメモリシステム1を概略的に示すブロック図である。図1に示したようにフラッシュメモリシステム1は、フラッシュメモリ2と、それを制御するコントローラ3で構成されている。又、フラッシュメモリシステム1は、通常ホストシステム4に着脱可能に装着されて使用され、ホストコンシステム4に対して一種の外部記憶装置として用いられる。
[メモリセルの説明]
次に、図2及び3を参照して図1に示したフラッシュメモリ2を構成するメモリセル16の具体的な構造について説明する。
[フラッシュメモリのメモリ構造の説明]
次に、フラッシュメモリのメモリ構造を説明する。図4は、フラッシュメモリのメモリ構造を概略的に示す図である。図4に示したように、フラッシュメモリはデータの読出し及び書込みにおける処理単位であるページと、データの消去単位であるブロックで構成されている。
[論理ブロックアドレスと物理ブロックアドレスの説明]
フラッシュメモリはデータの上書きができないため、データの書替えを行なう場合には、ブロック消去されている消去済ブロックに新たなデータ(書替後のデータ)を書込み、古いデータ(書替前のデータ)が書込まれていたブロックを消去するという処理を行なわなければならない。この際、消去はブロック単位で処理されるため、古いデータ(書替前のデータ)が書込まれていたページが含まれるブロックの、全ページのデータが消去されてしまう。従って、データの書替えを行なう場合、書替えるページが含まれるブロックの、他のページのデータについても、消去済ブロックに移動させる処理が必要となる。
[ゾーンの構成の説明]
次に、フラッシュメモリ内の複数のブロックで構成したゾーンを、論理ブロックアドレスの空間に割当てるゾーン管理について図面を参照して説明する。図5は、1024のブロックでゾーンを構成した例を示している。図5に示した例では、ゾーンは、1024のブロックB0000〜B1023(物理ブロックアドレスの0000〜1023)で構成され、各ブロックは、読出し及び書込み処理の単位である32のページP00〜P31で構成されている。そして、このゾーンが1000ブロック分の論理ブロックアドレスの空間に割当てられている。ここで、ブロックは消去処理の単位であり、ページは読出し及び書込み処理の単位である。又、ゾーンを構成するブロックが、24ブロック分余計に割当てられているのは、不良ブロックの発生を考慮したためである。
[アドレス変換テーブルの説明]
次に、アドレス変換テーブルについて、図面を参照して説明する。図9は、図6に示したサブゾーンに対するアドレス変換テーブルの一例を示したものであり、各論理ブロックアドレスに対応するデータが格納されているフラッシュメモリ内での物理ブロックアドレスが、論理ブロックアドレス順に記述されている。つまり、各サブゾーンに割当てられている論理ブロックアドレスと物理ブロックアドレスの対応関係が、論理ブロックアドレス順に記述されている。又、フラッシュメモリにデータが格納されていない論理ブロックアドレスについては、アドレス変換テーブルのその論理ブロックアドレスに対応した部分に、物理ブロックアドレスではなく、データが格納されていないことを示すフラグ(以下、対応するデータが格納されていないことを示すフラグを未格納フラグと言う。)を設定する。
[候補テーブルの説明]
次に、候補テーブルについて、図面を参照して説明する。この候補テーブルは、データの書込み先として準備しておく消去済ブロック(以下、データの書込み先として準備しておく消去済ブロックを書込み候補ブロックと言う。)を設定しておくテーブルであり、各サブゾーン毎に作成される。
[代替ブロックの割当ての説明]
サブゾーン内のブロックが不良ブロック化した場合に、スペアゾーン内のブロックを代替ブロックとして割当てる管理について説明する。尚、通常のフラッシュメモリシステムでは、特定のブロックが不良ブロック化した場合、そのブロックの使用を禁止する処置はとっているが、不良ブロック化による使用可能ブロック数の減少に対する処置はとられていない。
サブゾーン0:B0000〜B0124(物理ブロックアドレスの0000〜0124)
サブゾーン1:B0125〜B0249(物理ブロックアドレスの0125〜0249)
サブゾーン2:B0250〜B0374(物理ブロックアドレスの0250〜0374)
サブゾーン3:B0375〜B0499(物理ブロックアドレスの0375〜0499)
サブゾーン4:B0500〜B0624(物理ブロックアドレスの0500〜0624)
サブゾーン5:B0625〜B0749(物理ブロックアドレスの0625〜0749)
サブゾーン6:B0750〜B0874(物理ブロックアドレスの0750〜0874)
サブゾーン7:B0875〜B0999(物理ブロックアドレスの0875〜0999)
スペアゾーン:B1000〜B1023(物理ブロックアドレスの1000〜1023)
又、B1000(物理ブロックアドレスの1000)は、代替管理ブロックであり、代替管理ブロックには図12に示したような代替管理データが格納されている。
1)内部コマンドとして内部読出しコマンドが、フラッシュメモリシーケンサブロック内の所定のレジスタに設定される。
2)代替管理ブロックB1000(物理ブロックアドレスの1000)内のページのアドレスが、フラッシュメモリシ―ケンサブロック内の所定のレジスタに設定される。
1)内部コマンドとして内部消去コマンドが、フラッシュメモリシーケンサブロック内の所定のレジスタに設定される。
2)代替管理ブロックB1000(物理ブロックアドレスの1000)の物理ブロックアドレスが、フラッシュメモリシ―ケンサブロック内の所定のレジスタに設定される。
1)内部コマンドとして内部書込みコマンドが、フラッシュメモリシーケンサブロック内の所定のレジスタに設定される。
2)代替管理ブロックB1000(物理ブロックアドレスの1000)内のページのアドレスが、フラッシュメモリシ―ケンサブロック内の所定のレジスタに設定される。
1)内部コマンドとして内部書込みコマンドが、フラッシュメモリシーケンサブロック内の所定のレジスタに設定される。
2)書込み先となるブロックB1008(物理ブロックアドレスの1008)内のページのアドレスが、フラッシュメモリシ―ケンサブロック内の所定のレジスタに設定される。
1)内部コマンドとして内部読出しコマンドが、フラッシュメモリシーケンサブロック内の所定のレジスタに設定される。
2)読出すデータが格納されているブロックB1008(物理ブロックアドレスの1008)内のページが、フラッシュメモリシ―ケンサブロック内の所定のレジスタに設定される。
2 フラッシュメモリ
3 コントローラ
4 ホストコンピュータ
5 ホストインターフェース制御ブロック
6 マイクロプロセッサ
7 ホストインターフェースブロック
8 ワークエリア
9 バッファ
10 フラッシュメモリインターフェースブロック
11 ECCブロック
12 フラッシュメモリシーケンサブロック
13 外部バス
14 内部バス
16 メモリセル
17 P型半導体基板
18 ソース拡散領域
19 ドレイン拡散領域
20 トンネル酸化膜
21 フローティングゲート電極
22 絶縁膜
23 コントロールゲート電極
24 チャネル
25 ユーザ領域
26 冗長領域
Claims (7)
- ホストシステムから与えられるコマンド及び論理アドレスに従って、複数個のページを含むブロック単位でデータの消去が行われるフラッシュメモリの動作を制御するメモリコントローラであって、
複数個の前記ブロックで構成されたゾーンを3個以上含むグループを複数個形成し、それぞれの前記グループに含まれる複数個の前記ゾーンのうち、1個の前記ゾーンを予備ゾーンに、残りの前記ゾーンをサブゾーンに割り当てるグループ管理手段と、
同一の前記グループに属する前記予備ゾーンと前記サブゾーンとの間で、前記予備ゾーン内の前記ブロックを、前記サブゾーンに割り当てる予備ゾーン管理手段と、
前記論理アドレスと前記ブロックとの対応関係を管理するためのアドレス変換テーブルを前記サブゾーン毎に作成するテーブル作成手段と、
前記論理アドレスと前記サブゾーンとの対応関係に従ってデータの書き込み先となる前記サブゾーンを特定し、特定された前記サブゾーン内の前記ブロック又は特定された前記サブゾーンに対して前記予備ゾーンから割り当てられた前記ブロックに、前記論理アドレスが割り当てられているデータを書き込むデータ書き込み手段と、
前記データ書き込み手段によってデータが書き込まれた前記ブロックに、書き込まれたデータに対応する前記論理アドレスを示す情報を書き込む論理アドレス書き込み手段と
を備え、
前記テーブル作成手段は、いずれかの前記サブゾーンに対応する前記アドレス変換テーブルを作成する際に、前記いずれかの前記サブゾーン内の前記ブロック及び前記いずれかの前記サブゾーンと同一の前記グループに属する前記予備ゾーン内の前記ブロックから前記論理アドレスを示す情報を読み出し、読み出した前記論理アドレスを示す情報に基づいて、前記いずれかの前記サブゾーンに対応する前記アドレス変換テーブルを作成する
ことを特徴とするメモリコントローラ。 - 前記予備ゾーン管理手段は、前記予備ゾーンから前記サブゾーンに割り当てられた前記ブロックを管理するための予備ゾーン管理情報を前記グループ単位で作成し、
前記テーブル作成手段は、前記いずれかの前記サブゾーンに対応する前記アドレス変換テーブルを作成する際に、前記予備ゾーン管理情報に基づいて、前記いずれかの前記サブゾーンと同一の前記グループに属する前記予備ゾーン内の前記ブロックのうち、前記いずれかの前記サブゾーンに対して割り当てられた前記ブロックだけから前記論理アドレスを示す情報を読み出す
ことを特徴とする請求項1に記載のメモリコントローラ。 - それぞれの前記グループに対応する前記予備ゾーン管理情報を、前記それぞれの前記グループに属する前記予備ゾーン内の前記ブロックに保存する
ことを特徴とする請求項2に記載のメモリコントローラ。 - 請求項1乃至3のうちのいずれか1項に記載のメモリコントローラと、
前記メモリコントローラによって制御されるフラッシュメモリと
を備えるフラッシュメモリシステム。 - ホストシステムから与えられるコマンド及び論理アドレスに従って、複数個のページを含むブロック単位でデータの消去が行われるフラッシュメモリの動作を制御する、フラッシュメモリの制御方法であって、
複数個の前記ブロックで構成されたゾーンを3個以上含むグループを複数個形成し、それぞれの前記グループに含まれる複数個の前記ゾーンのうち、1個の前記ゾーンを予備ゾーンに、残りの前記ゾーンをサブゾーンに割り当てるグループ管理ステップと、
同一の前記グループに属する前記予備ゾーンと前記サブゾーンとの間で、前記予備ゾーン内の前記ブロックを、前記サブゾーンに割り当てる予備ゾーン管理ステップと、
前記論理アドレスと前記ブロックとの対応関係を管理するためのアドレス変換テーブルを前記サブゾーン毎に作成するテーブル作成ステップと、
前記論理アドレスと前記サブゾーンとの対応関係に従ってデータの書き込み先となる前記サブゾーンを特定し、特定された前記サブゾーン内の前記ブロック又は特定された前記サブゾーンに対して前記予備ゾーンから割り当てられた前記ブロックに、前記論理アドレスが割り当てられているデータを書き込むデータ書き込みステップと、
前記データ書き込みステップによってデータが書き込まれた前記ブロックに、書き込まれたデータに対応する前記論理アドレスを示す情報を書き込む論理アドレス書き込みステップと
を備え、
前記テーブル作成ステップでは、いずれかの前記サブゾーンに対応する前記アドレス変換テーブルを作成する際に、前記いずれかの前記サブゾーン内の前記ブロック及び前記いずれかの前記サブゾーンと同一の前記グループに属する前記予備ゾーン内の前記ブロックから前記論理アドレスを示す情報を読み出し、読み出した前記論理アドレスを示す情報に基づいて、前記いずれかの前記サブゾーンに対応する前記アドレス変換テーブルを作成する
ことを特徴とするフラッシュメモリの制御方法。 - 前記予備ゾーン管理ステップでは、前記予備ゾーンから前記サブゾーンに割り当てられた前記ブロックを管理するための予備ゾーン管理情報を前記グループ単位で作成し、
前記テーブル作成ステップでは、前記いずれかの前記サブゾーンに対応する前記アドレス変換テーブルを作成する際に、前記予備ゾーン管理情報に基づいて、前記いずれかの前記サブゾーンと同一の前記グループに属する前記予備ゾーン内の前記ブロックのうち、前記いずれかの前記サブゾーンに対して割り当てられた前記ブロックだけから前記論理アドレスを示す情報を読み出す
ことを特徴とする請求項5に記載のフラッシュメモリの制御方法。 - それぞれの前記グループに対応する前記予備ゾーン管理情報を、前記それぞれの前記グループに属する前記予備ゾーン内の前記ブロックに保存する
ことを特徴とする請求項6に記載のフラッシュメモリの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003336496A JP4203994B2 (ja) | 2003-09-26 | 2003-09-26 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003336496A JP4203994B2 (ja) | 2003-09-26 | 2003-09-26 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005107600A JP2005107600A (ja) | 2005-04-21 |
JP4203994B2 true JP4203994B2 (ja) | 2009-01-07 |
Family
ID=34532586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003336496A Expired - Fee Related JP4203994B2 (ja) | 2003-09-26 | 2003-09-26 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4203994B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4679581B2 (ja) * | 2005-07-29 | 2011-04-27 | パナソニック株式会社 | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法 |
JP5541194B2 (ja) | 2011-02-23 | 2014-07-09 | 株式会社デンソー | フラッシュメモリに対してデータの読み出しおよび書き込みを行う制御装置 |
-
2003
- 2003-09-26 JP JP2003336496A patent/JP4203994B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005107600A (ja) | 2005-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI393140B (zh) | 在一非揮發性記憶體中儲存資料之方法 | |
US8176236B2 (en) | Memory controller, memory system with memory controller, and method of controlling flash memory | |
KR100858241B1 (ko) | 하이브리드 플래시 메모리 장치 및 그것의 가용 블록 할당방법 | |
US8200891B2 (en) | Memory controller, memory system with memory controller, and method of controlling flash memory | |
JP2005251219A (ja) | フラッシュメモリ内のブロックにおける移動セクタ | |
US8200892B2 (en) | Memory controller, memory system with memory controller, and method of controlling flash memory | |
JP2005190288A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP2006018373A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4173410B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム | |
JP4661191B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4433792B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4203994B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4513786B2 (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 | |
JP4461754B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
US8200890B2 (en) | Memory controller, flash memory system with memory controller, and method of controlling flash memory | |
JP4213053B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4194473B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム | |
JP4419525B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4000124B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4251950B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP3934659B1 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP2005316793A (ja) | フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4235595B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4332108B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4282410B2 (ja) | フラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080401 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080602 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20080602 |
|
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: 20081009 |
|
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: 20081009 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111024 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: 20121024 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |