JP4366283B2 - メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム - Google Patents
メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム Download PDFInfo
- Publication number
- JP4366283B2 JP4366283B2 JP2004286034A JP2004286034A JP4366283B2 JP 4366283 B2 JP4366283 B2 JP 4366283B2 JP 2004286034 A JP2004286034 A JP 2004286034A JP 2004286034 A JP2004286034 A JP 2004286034A JP 4366283 B2 JP4366283 B2 JP 4366283B2
- Authority
- JP
- Japan
- Prior art keywords
- flash memory
- address information
- data
- address
- holding means
- 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.)
- Active
Links
Images
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
前記アクセス制御手段は、前記コマンド情報保持手段にフラッシュメモリへのデータの書込みを指示する前記コマンド情報が保持されている場合、前記アドレス情報保持手段に保持された順序でそれぞれの前記アドレス情報に対応するフラッシュメモリ内の領域へのデータの書込みを制御する書込み制御を行い、
前記コマンド情報保持手段にフラッシュメモリからのデータの読出しを指示する前記コマンド情報が保持されている場合、前記アドレス情報保持手段に保持された順序でそれぞれの前記アドレス情報に対応するフラッシュメモリ内の領域からのデータの読出しを制御する読出し制御を行い、前記書込み制御又は前記読出し制御において、前記アドレス情報に対応するフラッシュメモリ内の領域へ1セクタのデータを書込んだとき又は前記アドレス情報に対応するフラッシュメモリ内の領域から1セクタのデータを読出したときに、当該データが書込まれたフラッシュメモリ内の領域又は当該データが読出されたフラッシュメモリ内の領域に対応する前記アドレス情報に属するセクタ数を1ずつ減らし、当該セクタ数が0になったときに前記アドレス情報保持手段に保持された順序が次の前記アドレス情報に対応するフラッシュメモリ内の領域にアクセス先を移行させることを特徴とする。
前記前置保持手段は、保持した前記アドレス情報が前記アドレス情報複写手段により前記アドレス情報保持手段に複写された後に新たな前記アドレス情報を保持してもよい。
図1は、本発明の実施形態に係るフラッシュメモリシステム1を概略的に示すブロック図である。
図1に示したようにフラッシュメモリシステム1は、フラッシュメモリ2と、それを制御するメモリコントローラ3とで構成されている。
以下に、フラッシュメモリ2とメモリコントローラ3の詳細を説明する。
フラッシュメモリ2は、NAND型フラッシュメモリで構成されている。例えば、1ブロックは32ページで構成されている。1ページは512バイトのユーザ領域と16バイトの冗長領域で構成されている。
ブロックとページの構成は、フラッシュメモリの仕様によって異なるが、一般的なフラッシュメモリでは、図2(a)に示したように、1ブロックが32ページ(P0〜P31)で構成され、それらの各ページが512バイトのユーザ領域と16バイトの冗長領域で構成されている。
エラ―コレクションコードとは、ユーザ領域に記憶されているデータに含まれる誤りを検出、訂正するための付加データであり、メモリコントローラ中の後述するECCブロックによって生成される。
メモリコントローラ3は、ホストインターフェース制御ブロック5と、マイクロプロセッサ6と、ホストインターフェースブロック7と、ワークエリア8と、バッファ9と、フラッシュメモリインターフェースブロック10と、ECC(エラー・コレクション・コード)ブロック11と、フラッシュメモリシーケンサブロック12とから構成される。これら機能ブロックによって構成されるメモリコントローラ3は、一つの半導体チップ上に集積されている。以下に各機能ブロックの機能を説明する。
ホストインターフェース制御ブロック5は、ホストインターフェースブロック7の動作を制御する機能ブロックである。ここで、ホストインターフェース制御ブロック5は、ホストインターフェースブロック7の動作を設定する動作設定レジスタ(図示せず)を備えており、この動作設定レジスタに基づきホストインターフェースブロック7は動作する。
ホストインターフェースブロック7には、ホストシステム4より供給されるアドレスが書き込まれるアドレスレジスタ15とホストシステム4から供給されるセクタ数が書き込まれるセクタカウントレジスタ16とが複数組設けられている。
例えば図3のように、アドレスレジスタA,B,C,……,Jと、これらに対応するセクタカウントレジスタA,B,C,……,Jとが、ホストインターフェースブロック7に設けられる。
ホストインターフェースブロック7には、さらに、ホストシステム4から供給されるコマンドが書き込まれるコマンドレジスタや、ホストシステム4にフラッシュメモリシステム1の状況を知らせるステータスレジスタや、ホストシステム4にエラーの種類を知らせるエラーレジスタ等が設けられている(図示せず)。尚、アドレスレジスタ15とセクタカウントレジスタ16の数については、フラッシュメモリシステム1の仕様に応じて適宜設定することができる。
ECCブロック11は、フラッシュメモリ2に書込むデ―タに付加されるエラーコレクションコードを生成するとともに、読出しデータに付加されたエラーコレクションコードに基づいて、読出したデータに含まれる誤りを検出・訂正する機能ブロックである。
ホストシステム4がフラッシュメモリシステム1にアクセスする場合、ホストシステム4からフラッシュメモリシステム1に書込みコマンドや読出しコマンドと共にアドレス及びセクタ数が供給される。
図4は、読み出し処理の説明図である。
この読出し処理では、まず図3に示したアドレスレジスタAに書き込まれている論理アドレスが、フラッシュメモリ2内の実アドレスである物理アドレスに変換される。通常、論理アドレスから物理アドレスへの変換は、フラッシュメモリ2のブロック単位で行なわれ、各ブロック内のページアドレスは、論理アドレスにおけるセクタのアドレス順と一致するように書き込まれる。アドレスレジスタAに書き込まれている論理アドレスに基づいて得られた物理アドレス(フラッシュメモリ2内のページアドレス)がA#0の場合、A#0のページに記憶されているデータが最初にバッファ9に読み出され、その後、A#0に続くA#1以降のページに記憶されているデータも、ページアドレスの順番でバッファ9に順次読み出されていく。
図6は、前置保持手段を用いた処理を説明する説明図である。
アドレスレジスタA〜JとセクタカウントレジスタA〜Jには、ホストシステム4が直接アドレスとセクタ数を書き込んでもよいが、この場合、ホストシステム4はアクセスするデータ群毎に異なるアドレスレジスタ15とセクタカウントレジスタ16とにアドレスとセクタ数とを書き込まなければならない。
この煩雑さを回避するために、図5に示した構成では、前置保持手段となるLBAレジスタ17とセクタ数レジスタ18を設けている。
図7は、本実施形態の利点を説明する図である。
2 フラッシュメモリ
3 メモリコントローラ
4 ホストシステム
5 ホストインターフェース制御ブロック
6 マイクロプロセッサ
7 ホストインターフェースブロック
8 ワークエリア
9 バッファ
10 フラッシュメモリインターフェースブロック
11 ECCブロック
12 フラッシュメモリシーケンサブロック
13 外部バス
14 内部バス
15 アドレスレジスタ
16 セクタカウントレジスタ
17 LBAレジスタ
18 セクタ数レジスタ
19 コマンドレジスタ
Claims (5)
- ホストシステムから供給されるアクセス対象の領域を特定するためのアドレス情報であって、セクタ単位のアドレスとアクセス対象の領域のセクタ数とからなる前記アドレス情報を複数保持するアドレス情報保持手段と、
ホストシステムから供給されるコマンド情報であって、フラッシュメモリへのデータの書込み又はフラッシュメモリからのデータの読出しを指示する前記コマンド情報を保持するコマンド情報保持手段と、
前記アドレス情報保持手段に保持された複数の前記アドレス情報に基づいてそれぞれの前記アドレス情報に対応するフラッシュメモリ内の領域を特定すると共に、前記コマンド情報保持手段に保持された前記コマンド情報に従って前記アドレス情報に基づいて特定したフラッシュメモリ内の領域に対するアクセスを制御するアクセス制御手段とを備え、
前記アクセス制御手段は、
前記コマンド情報保持手段にフラッシュメモリへのデータの書込みを指示する前記コマンド情報が保持されている場合、前記アドレス情報保持手段に保持された順序でそれぞれの前記アドレス情報に対応するフラッシュメモリ内の領域へのデータの書込みを制御する書込み制御を行い、
前記コマンド情報保持手段にフラッシュメモリからのデータの読出しを指示する前記コマンド情報が保持されている場合、前記アドレス情報保持手段に保持された順序でそれぞれの前記アドレス情報に対応するフラッシュメモリ内の領域からのデータの読出しを制御する読出し制御を行い、
前記書込み制御又は前記読出し制御において、前記アドレス情報に対応するフラッシュメモリ内の領域へ1セクタのデータを書込んだとき又は前記アドレス情報に対応するフラッシュメモリ内の領域から1セクタのデータを読出したときに、当該データが書込まれたフラッシュメモリ内の領域又は当該データが読出されたフラッシュメモリ内の領域に対応する前記アドレス情報に属するセクタ数を1ずつ減らし、当該セクタ数が0になったときに前記アドレス情報保持手段に保持された順序が次の前記アドレス情報に対応するフラッシュメモリ内の領域にアクセス先を移行させることを特徴とするメモリコントローラ。 - 前記ホストシステムから供給される前記アドレス情報を一時的に保持する前置保持手段と、
前記前置保持手段に前記ホストシステムから供給された前記アドレス情報が保持される毎に、前記前置保持手段に保持された前記アドレス情報を前記アドレス情報保持手段に複写するアドレス情報複写手段とを備え、
前記前置保持手段は、保持した前記アドレス情報が前記アドレス情報複写手段により前記アドレス情報保持手段に複写された後に新たな前記アドレス情報を保持することを特徴とする請求項1に記載のメモリコントローラ。 - 前記アクセス制御手段は、前記アドレス情報保持手段に保持されているそれぞれの前記アドレス情報に属するセクタ数が全て0になったときに、前記書込み制御又は前記読出し制御を終了させることを特徴とする請求項1又は2に記載のメモリコントローラ。
- 前記ホストシステムから供給された前記コマンド情報が前記コマンド情報保持手段に保持されたことに応答して、前記アクセス制御手段がフラッシュメモリに対するアクセスの制御を開始することを特徴とする請求項1乃至3のいずれか1項に記載のメモリコントローラ。
- 請求項1乃至4のいずれか1項に記載のメモリコントローラとフラッシュメモリを備えることを特徴とするフラッシュメモリシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004286034A JP4366283B2 (ja) | 2004-09-30 | 2004-09-30 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004286034A JP4366283B2 (ja) | 2004-09-30 | 2004-09-30 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006099517A JP2006099517A (ja) | 2006-04-13 |
JP4366283B2 true JP4366283B2 (ja) | 2009-11-18 |
Family
ID=36239250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004286034A Active JP4366283B2 (ja) | 2004-09-30 | 2004-09-30 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4366283B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101146059B1 (ko) * | 2006-07-31 | 2012-05-14 | 가부시끼가이샤 도시바 | 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템을 위한데이터 판독/기입 방법 |
-
2004
- 2004-09-30 JP JP2004286034A patent/JP4366283B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2006099517A (ja) | 2006-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4373943B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4177360B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4661497B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4501881B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4513786B2 (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 | |
JP4661191B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4177292B2 (ja) | メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4609406B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4655034B2 (ja) | メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法 | |
JP4241741B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP2005292925A (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4366283B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム | |
JP4697146B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4000124B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4177301B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP3934659B1 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4661748B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4194518B2 (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4235595B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4670370B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4304167B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4332108B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2005293177A (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4254930B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4497124B2 (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: 20090113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090602 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090721 |
|
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: 20090818 |
|
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: 20090824 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120828 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4366283 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: 20130828 Year of fee payment: 4 |