JP4177301B2 - メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 - Google Patents
メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 Download PDFInfo
- Publication number
- JP4177301B2 JP4177301B2 JP2004222374A JP2004222374A JP4177301B2 JP 4177301 B2 JP4177301 B2 JP 4177301B2 JP 2004222374 A JP2004222374 A JP 2004222374A JP 2004222374 A JP2004222374 A JP 2004222374A JP 4177301 B2 JP4177301 B2 JP 4177301B2
- Authority
- JP
- Japan
- Prior art keywords
- flash memory
- block
- physical block
- page
- data
- 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
NAND型フラッシュメモリに含まれている複数のメモリセルのそれぞれは、消去状態のときに論理値“1”を示し、書込状態の時に“0”を示す。そして、複数のメモリセルは、他のメモリセルとは独立して消去状態から書込状態へと変化することができる。
図1は、本発明の実施形態に係るフラッシュメモリシステム1を概略的に示すブロック図である。
フラッシュメモリシステム1は、ホストシステム20に着脱可能に装着されて使用され、ホストシステム20の一種の外部記憶装置として用いられる。
マイクロプロセッサ6は、メモリコントローラ3を構成する各機能ブロック全体の動作を制御する機能ブロックである。
バッファ9は、フラッシュメモリ2から読出したデータ及びフラッシュメモリ2に書込むデータを一時的に保持する機能ブロックである。すなわち、フラッシュメモリ2から読出したデータは、ホストシステム20の受取準備ができるまでバッファ9に保持され、フラッシュメモリ2に書込むデータは、フラッシュメモリ2の書込み準備ができるまでバッファ9に保持される。
この複数のレジスタに内部コマンドを実行する際に必要な情報が設定されると、フラッシュメモリシーケンサブロック12は、その情報に基づいて処理を実行する。ここで、「内部コマンド」とは、メモリコントローラ3からフラッシュメモリ2に与えられるコマンドであり、ホストシステム20からフラッシュメモリシステム1に与えられるコマンドである「外部コマンド」と区別される。
フラッシュメモリシステム1で、データが記憶されるNAND型フラッシュメモリは、ストレージデバイスへの用途として(ハードディスクの代わりになるものとして)開発された不揮発性メモリである。このNAND型フラッシュメモリは、ランダムアクセスを行うことができず、書込みと読出しはページ単位で、消去はブロック単位で行われる。又、データの上書きができないので、データを書込むときは、消去されている領域にデータの書込みが行われる。
この論理ブロックアドレスと物理ブロックアドレスとの対応関係は、通常、その対応関係を示したアドレス変換テーブルによって管理される。
フラッシュメモリ2に対するアクセスを制御する場合について説明する。
ホストシステム20側から与えられるアドレス情報に基づく論理ブロックアドレスを、フラッシュメモリ2内のブロックアドレスである物理ブロックアドレスに変換し、得られた物理ブロックアドレスに基づいてフラッシュメモリ2にアクセスする。この際、論理ブロックアドレスから物理ブロックアドレスへの変換は、アドレス変換テーブルを用いる。
ユーザデータ領域は、ホストシステム20から与えられる書込データが記憶される領域であり、システムデータ領域は、ユーザデータ領域に書込まれるユーザデータを管理する情報が記憶される領域である。ユーザデータ領域に記憶される各ユーザデータ群「データ0」〜「データ3」は、ホストシステム20から与えられる書込み命令に基づいて連続して書込まれるデータの単位であり、例えば、書込み命令で書込むデータのページ数を32ページと指定する場合には、各ユーザデータ群「データ0」〜「データ3」は、それぞれ32ページ分のデータに対応する。従って、各物理ブロックが32ページで構成されていて、各ユーザデータ群「データ0」〜「データ3」のデータが各物理ブロックの先頭ページから書込まれていれば、各ユーザデータ群「データ0」〜「データ3」は、それぞれ1つの物理ブロックに書込まれる。従って、フラッシュメモリ2の記憶領域におけるユーザ領域の開始位置は、物理ブロックの先頭ページから始まることが好ましい。
この最適でない状態として、2つの例を説明する。この2つの例で、最適でない状態に陥った原因は異なるが、何れの場合も、ホストシステム20から与えられる書込み命令に基づくユーザデータ群の書込み開始ページが、物理ブロックの先頭ページに対応しない状態になっている。
図4に示した例では、ユーザデータ領域が物理ブロックの先頭ページから開始されているため、「データ0」、「データ1」については、32ページ分のデータであるユーザデータ群を高速書込みすることができる。しかしながら、「データ2」のデータ容量が32ページ分のデータより少なかったため、「データ3」が物理ブロック4、5に跨って書込まれる。従って、「データ3」の書込み処理では、書込先が物理ブロック4から物理ブロック5に切替るときに、アドレス変換や消去済の物理ブロックの割当てが行われる。この「データ3」の書込み処理では、高速書込みに対応することができない。
図5に示した例では、ユーザデータ領域が物理ブロックの先頭ページから開始されていないため、「データ0」〜「データ3」の全ての書込み処理が、高速書込みに対応できない。
書込み命令のときに、ホストシステム20から与えられるアドレス(論理アドレス)に対しては、全て同一のオフセットが与えられる。このオフセットは、読出し命令のときにホストシステム20から与えられるアドレス(論理アドレス)に対しても加えられる。従って、オフセットは、システムデータ領域等に保存しておくことが望ましい。
例えば、図6の「データ0」の書込処理で、ホストシステム20から書込先の先頭アドレス及び書込むデータのページ数(セクタ数)を含む書込み命令が、フラッシュメモリシステム1に与えられると、マイクロプロセッサ6は、与えられた書込先の先頭アドレスにオフセットを加え、オフセットを加えたアドレスから、論理ブロックアドレス部分を抽出し、この論理ブロックアドレスを、フラッシュメモリ2内の「ブロック3」に対応する物理ブロックアドレスに割当てる。ユーザデータ群の「データ0」のデータが物理アドレスの順番で、「ブロック3」の各ページに書込まれる。
このように、ユーザ領域の開始位置が物理ブロックの先頭ページに対応しない場合でも、ユーザデータ群に同一のオフセットを加えれば、高速書込みを行なうことができる。
尚、初期化やデータ消去等を行った場合、ホストシステム20は、設定情報により、高速書込みに対応できる状態に戻ったことを知ることができる。
なお、本発明は、上記実施形態に限定されず、種々の変形が可能である。
図7び図8は、本実施形態の変形例を示す説明図である。
上記実施形態では、ユーザデータ群が、1ブロック分のデータであったが、物理ブロックのデータ容量が大きい場合は、1つのユーザデータ群を1つの物理ブロックに対応させることができない。従って、複数のユーザデータ群を1つの物理ブロックに対応させなければならない。この場合、ユーザデータ群の書込み開始ページを、全て、物理ブロックの先頭ページに対応させることはできない。このような場合は、各物理ブロックを複数のサブブロックに分割して、各サブブロックをユーザデータ群に対応させるようにすればよい。この際、各物理ブロックは、2のべき乗の数のサブブロックで構成されることが好ましい。
尚、上述のアドレス(論理アドレス)にオフセットを加える方法は、核物理ブロックをサブブロックに分割して使用する場合にも、適用できる。
2 フラッシュメモリ
3 メモリコントローラ
5 ホストインターフェース制御ブロック
6 マイクロプロセッサ
7 ホストインターフェースブロック
8 ワークエリア
9 バッファ
10 内部インターフェースブロック
11 ECCブロック
12 フラッシュメモリシーケンサブロック
20 ホストシステム
Claims (3)
- データの書込みがページ単位で行われる記憶領域を有し、該記憶領域のデータの消去が、複数のページからなる物理ブロック単位で行われるフラッシュメモリとホストシステムとに接続され、該フラッシュメモリへの該ホストシステムのアクセスを制御するメモリコントローラであって、
前記ホストシステムから論理アドレスと共に与えられたユーザデータ群に対し、ユーザデータ群を書込む物理ブロックを示す物理ブロックアドレスを設定し、該ユーザデータ群を該物理ブロックアドレスに対応する位置に書込む書込手段と、
前記ユーザデータ群の書込み開始ページが前記物理ブロックの先頭ページに対応するか否かを判断し、その結果を判断情報として示す情報表示手段と、
前記記憶領域において、前記ユーザデータ群を書込むためのユーザデータ領域の開始位置が前記物理ブロックの先頭ページに対応するように、前記ホストシステムから与えられる前記論理アドレスに対して一定のオフセットを加えるオフセット設定手段と、
を備えることを特徴とするメモリコントローラ。 - データを記憶するフラッシュメモリと、
請求項1に記載のメモリコントローラと、
を備えたことを特徴とするフラッシュメモリシステム。 - データの書込みがページ単位で行われる記憶領域を有し、該記憶領域のデータの消去が、複数のページからなる物理ブロック単位で行われるフラッシュメモリに対し、該フラッシュメモリへのホストシステムのアクセスを制御する制御方法であって、
前記ホストシステムから、論理アドレスと共に与えられたユーザデータ群に対し、該ユーザデータ群を書込む物理ブロックを示す物理ブロックアドレスを設定し、該ユーザデータ群を該物理ブロックアドレスに対応する位置に書込む処理と、
前記ユーザデータ群の書込み開始ページが前記物理ブロックの先頭ページに対応するか否かを判断し、その結果を判断情報として示す情報表示処理と、
前記記憶領域において前記ユーザデータ群を書込むためのユーザデータ領域の開始位置が、前記物理ブロックの先頭ページに対応するように、前記ホストシステムから与えられる前記論理アドレスに対して一定のオフセットを加える処理と、
を行うことを特徴とするフラッシュメモリの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004222374A JP4177301B2 (ja) | 2004-07-29 | 2004-07-29 | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004222374A JP4177301B2 (ja) | 2004-07-29 | 2004-07-29 | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006040170A JP2006040170A (ja) | 2006-02-09 |
JP4177301B2 true JP4177301B2 (ja) | 2008-11-05 |
Family
ID=35905059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004222374A Expired - Fee Related JP4177301B2 (ja) | 2004-07-29 | 2004-07-29 | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4177301B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100468187C (zh) * | 2005-03-23 | 2009-03-11 | 三菱电机株式会社 | 摄像装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8392687B2 (en) * | 2009-01-21 | 2013-03-05 | Micron Technology, Inc. | Solid state memory formatting |
US8180995B2 (en) | 2009-01-21 | 2012-05-15 | Micron Technology, Inc. | Logical address offset in response to detecting a memory formatting operation |
-
2004
- 2004-07-29 JP JP2004222374A patent/JP4177301B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100468187C (zh) * | 2005-03-23 | 2009-03-11 | 三菱电机株式会社 | 摄像装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2006040170A (ja) | 2006-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4171749B2 (ja) | メモリコントローラおよびフラッシュメモリシステム | |
JP4373943B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4177360B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4661497B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4661369B2 (ja) | メモリコントローラ | |
JP4177292B2 (ja) | メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4661191B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4177301B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4609406B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4241741B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP3934659B1 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP2005292925A (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4000124B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4697146B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4194518B2 (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4273106B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4235595B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4366283B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム | |
JP4304167B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4332108B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4068594B2 (ja) | フラッシュメモリコントローラ、フラッシュメモリシステム、及びフラッシュメモリの制御方法 | |
JP2006178909A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4254930B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2005293177A (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4273109B2 (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: 20080701 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080708 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080728 |
|
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: 20080812 |
|
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: 20080821 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4177301 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: 20120829 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130829 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |