JP2006099594A - メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 - Google Patents
メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 Download PDFInfo
- Publication number
- JP2006099594A JP2006099594A JP2004286975A JP2004286975A JP2006099594A JP 2006099594 A JP2006099594 A JP 2006099594A JP 2004286975 A JP2004286975 A JP 2004286975A JP 2004286975 A JP2004286975 A JP 2004286975A JP 2006099594 A JP2006099594 A JP 2006099594A
- Authority
- JP
- Japan
- Prior art keywords
- block
- physical
- flash memory
- chip
- physical block
- 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.)
- Pending
Links
Images
Abstract
【解決手段】 仮想的に結合される物理ブロックに、その物理ブロックと仮想的に結合される物理ブロックの物理アドレスを示す情報を書込み、この情報に基づいて、仮想的に結合される物理ブロックの物理アドレスを知得している。この様にしたことにより、仮想的に複数の物理ブロックが結合された仮想ブロックにアクセスするときに、1個のチップ内の物理ブロックに対するアドレス変換テーブルを作成するだけで、各仮想ブロックに属する全てチップ内の物理ブロックに対してアクセスすることができる。
【選択図】図7
Description
ホストコンピュータから供給される論理アドレスに基づいて、複数チップのフラッシュメモリにアクセスするメモリコントローラであって、
異なるチップ内の物理ブロックを仮想的に結合することにより仮想ブロックを形成する手段と、
前記仮想ブロックに対して論理アドレスが連続する記憶領域を割当てる手段と、
前記仮想ブロックを構成する物理ブロックに、同一の仮想ブロックに属する他の物理ブロックの物理アドレスを示すアドレス情報(リンク番号)を書込む手段と、
前記アドレス情報に基づいて、前記仮想ブロックに属する各物理ブロックにアクセスする手段と
を備えることを特徴とする。
前記異なるチップ内のゾーンを組み合わせて、ゾーン群を形成する手段とを備え、
前記ゾーン群を構成する前記各ゾーン内の物理ブロックを、仮想的に結合することにより仮想ブロックを形成するようにしてもよい。
ホストコンピュータから供給される論理アドレスに基づいて、複数チップのフラッシュメモリにアクセスするフラッシュメモリの制御方法であって、
各チップ内の物理ブロックに、他の物理ブロックの物理アドレスを示すアドレス情報を書込む処理と、
前記アドレス情報に基づいて仮想的に結合される物理ブロックに、論理アドレスが連続するデータを、ページ単位で順次書込む処理と、
を含むことを特徴とする。
前記仮想的に結合されている物理ブロックから、論理アドレスが連続するデータを、ページ単位で順次読み出す処理と、
を含んでいてもよい。
図1は、本発明の実施形態に係るフラッシュメモリシステム1を、概略的に示すブロック図である。
図1に示したように、フラッシュメモリシステム1は、フラッシュメモリ2と、それを制御するメモリコントローラ3で構成されている。又、フラッシュメモリシステム1は、通常、ホストシステム4に着脱可能に装着され、ホストシステム4に対して、一種の外部記憶装置として用いられる。
以下に、フラッシュメモリ2及びメモリコントローラ3の詳細を説明する。
このフラッシュメモリシステム1において、データが記憶されるフラッシュメモリ2は、NAND型フラッシュメモリで構成されている。NAND型フラッシュメモリは、ストレージデバイスへの用途として(ハードディスクの代わりになるものとして)開発された不揮発性メモリである。このNAND型フラッシュメモリは、ランダムアクセスを行なうことができず、書込みと読出しはページ単位で、消去はブロック単位で行なわれる。又、データの上書きができないので、データを書込むときは、消去されている領域にデータの書込みが行なわれる。
上記ブロックとページの構成は、フラッシュメモリ2の仕様によって異なるが、一般的なフラッシュメモリ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とから構成される。
以下に、各機能ブロックの機能を説明する。
マイクロプロセッサ6は、メモリコントローラ3を構成する各機能ブロック全体の、動作を制御する機能ブロックである。
ワークエリア8は、フラッシュメモリ2の制御に必要なデータが一時的に格納される作業領域であり、複数のSRAM(Static Random Access Memory)セルによって構成されている。
以上のような構成の本発明に係るフラッシュメモリシステム1では、複数チップでフラッシュメモリ2の記憶領域を構成し、互いに異なるチップに属する物理ブロックを仮想的に結合して、仮想ブロックを形成している。この仮想ブロックについて、図3及び図4を参照して説明する。
図3では、フラッシュメモリ2の記憶領域をチップ0、チップ1、チップ2及びチップ3の4個のチップにより構成した例を示している。チップ0〜3の各チップ内には、1024個の物理ブロックでゾーンが構成されている。各ゾーンを構成する物理ブロックには、0〜1023の連番(#0〜#1023)が付けられている。各チップ内に構成されたゾーンは、互いに異なるチップ内のゾーンとの対応関係が設定されており、チップ0内の1つのゾーン、チップ1内の1つのゾーン、チップ2内の1つのゾーン及びチップ3内の1つのゾーンで、一区画の記憶領域(ゾーン群)を形成している。
図4は、仮想ブロックを形成する各物理ブロックが、32個のページで構成されている場合を示している。この仮想ブロックは、4個の物理ブロックが結合されているので、1つの仮想ブロックには128ページ分のユーザーデータが記憶される。論理アドレスが連続する128ページ分のユーザーデータを、ページ単位で区切り、論理アドレスが若い方から順番にYD0〜YD127とすれば、論理アドレスが最も若いユーザーデータYD0が、チップ0内の物理ブロック#1のページ0(P0)に記憶される。以下、論理アドレスが若い方から順番に、ユーザーデータYD1が、チップ1内の物理ブロック#2のページ0(P0)に記憶され、ユーザーデータYD2が、チップ2内の物理ブロック#0のページ0(P0)に記憶され、ユーザーデータYD3が、チップ3内の物理ブロック#4のページ0(P0)に記憶される。この後も同様に、チップ0内の物理ブロック#1、チップ1内の物理ブロック#2、チップ2内の物理ブロック#0及びチップ3内の物理ブロック#4に対して、ユーザーデータYD4〜127が、論理アドレスが若い方から順番に割当てられる。
仮想ブロックと論理アドレスの対応関係は、仮想ブロックを1個の物理ブロックと見做して、ブロック単位で管理されている。図3に示したように、4個の物理ブロックを仮想的に結合して、仮想ブロックを形成した場合、物理ブロック4個分の記憶領域に対して、連続する論理アドレスが割当てられる。
この論理ブロック連番は、その論理ブロック連番に対応するユーザーデータが書込まれた物理ブロックの冗長領域に書込まれ、書込まれた論理ブロック連番に基づいて仮想ブロックと論理ブロック群の対応関係が管理される。例えば、LBA0〜LBA127に対応するユーザーデータが書込まれた物理ブロックの冗長領域にはLBN0が書込まれ、LBA128〜LBA255に対応するユーザーデータが書込まれた物理ブロックの冗長領域には、LBN1が書込まれる。
図6は、変換テーブルの説明図である。
前記図3に示したように、異なるチップ内の4個の物理ブロックを仮想的に結合して仮想ブロックを形成した場合、各論理ブロック連番に対して、異なるチップ内の4個の物理ブロックが対応する。従って、各論理ブロック連番に対応する物理ブロックを、チップ毎に示した変換テーブル(図6(a))が必要になる。しかし、図6(a)に示したような変換テーブルを作成する場合には、冗長領域に書込まれている論理ブロック連番を読み出す処理が、4つのゾーンに対して実行しなければならない。つまり、1つのゾーンが1024個の物理ブロックで構成されている場合には、4096個の物理ブロックに対して読出し処理を実行しなければならない。
上記のような変換テーブルの作成に掛かる負担を軽減するため、本発明に係るフラッシュメモリシステム1では、1個のチップ内のゾーンに対する変換テーブルだけを作成し、変換テーブルを作成しなかったチップ内の物理ブロックについては、後述するリンク番号に基づいて、対応する論理ブロック連番やLBAを知得する。
例えば図7では、チップ0内の物理ブロック#1、チップ1内の物理ブロック#2、チップ2内の物理ブロック#0及びチップ3内の物理ブロック#4は仮想的に結合されている。この仮想ブロックには、論理アドレス空間のLBA0〜LBA127が割当てられている。従って、これらのブロックの冗長領域には、LBA0〜LBA127に対応する論理ブロック連番LBN0が書込まれている。
2 フラッシュメモリ
3 メモリコントローラ
4 ホストシステム
5 ホストインターフェース制御ブロック
6 マイクロプロセッサ
7 ホストインターフェースブロック
8 ワークエリア
9 バッファ
10 フラッシュメモリインターフェースブロック
11 ECCブロック
12 フラッシュメモリシーケンサブロック
13 外部バス
14 内部バス
Claims (8)
- ホストコンピュータから供給される論理アドレスに基づいて、複数チップのフラッシュメモリにアクセスするメモリコントローラであって、
異なるチップ内の物理ブロックを仮想的に結合することにより仮想ブロックを形成する手段と、
前記仮想ブロックに対して論理アドレスが連続する記憶領域を割当てる手段と、
前記仮想ブロックを構成する物理ブロックに、同一の仮想ブロックに属する他の物理ブロックの物理アドレスを示すアドレス情報を書込む手段と、
前記アドレス情報に基づいて、前記仮想ブロックに属する各物理ブロックにアクセスする手段と
を備えることを特徴とするメモリコントローラ。 - 前記アドレス情報が、各物理ブロックの冗長領域に記憶されていることを特徴とする請求項1に記載のメモリコントローラ。
- 前記各チップ内に、複数の物理ブロックで構成されるゾーンを構成する手段と、
前記異なるチップ内のゾーンを組み合わせて、ゾーン群を形成する手段とを備え、
前記ゾーン群を構成する前記各ゾーン内の物理ブロックを、仮想的に結合することにより仮想ブロックを形成することを特徴とする請求項1又は2に記載のメモリコントローラ。 - 前記アドレス情報が、前記ゾーン内の各物理ブロックに割当てられた連番であることを特徴とする請求項3に記載のメモリコントローラ。
- 前記複数チップのいずれかのチップ内の物理ブロックの物理アドレスと、前記論理アドレスとの対応関係を示す変換テーブルを作成する手段を備えていることを特徴とする請求項1乃至4のいずれか1項に記載のメモリコントローラ。
- 請求項1乃至5のいずれか1項に記載のメモリコントローラと複数チップのフラッシュメモリを備えることを特徴とするフラッシュメモリシステム。
- ホストコンピュータから供給される論理アドレスに基づいて、複数チップのフラッシュメモリにアクセスするフラッシュメモリの制御方法であって、
各チップ内の物理ブロックに、他の物理ブロックの物理アドレスを示すアドレス情報を書き込む処理と、
前記アドレス情報に基づいて仮想的に結合される物理ブロックに、論理アドレスが連続するデータを、ページ単位で順次書き込む処理と、
を含むことを特徴とするフラッシュメモリの制御方法。 - 前記アドレス情報に基づいて、仮想的に結合されている物理ブロックを知得する処理と、
前記仮想的に結合されている物理ブロックから、論理アドレスが連続するデータを、ページ単位で順次読み出す処理と、
を含むことを特徴とする請求項7に記載のフラッシュメモリの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004286975A JP2006099594A (ja) | 2004-09-30 | 2004-09-30 | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004286975A JP2006099594A (ja) | 2004-09-30 | 2004-09-30 | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006099594A true JP2006099594A (ja) | 2006-04-13 |
Family
ID=36239316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004286975A Pending JP2006099594A (ja) | 2004-09-30 | 2004-09-30 | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006099594A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011018222A (ja) * | 2009-07-09 | 2011-01-27 | Toshiba Corp | インタリーブ制御装置、インタリーブ制御方法及びメモリシステム |
JP2012203508A (ja) * | 2011-03-24 | 2012-10-22 | Toshiba Corp | メモリシステムおよびプログラム |
-
2004
- 2004-09-30 JP JP2004286975A patent/JP2006099594A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011018222A (ja) * | 2009-07-09 | 2011-01-27 | Toshiba Corp | インタリーブ制御装置、インタリーブ制御方法及びメモリシステム |
JP4643729B2 (ja) * | 2009-07-09 | 2011-03-02 | 株式会社東芝 | インタリーブ制御装置、インタリーブ制御方法及びメモリシステム |
US8145858B2 (en) | 2009-07-09 | 2012-03-27 | Kabushiki Kaisha Toshiba | Interleave control device, interleave control method, and memory system |
JP2012203508A (ja) * | 2011-03-24 | 2012-10-22 | Toshiba Corp | メモリシステムおよびプログラム |
US8812774B2 (en) | 2011-03-24 | 2014-08-19 | Kabushiki Kaisha Toshiba | Memory system and computer program product |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4373943B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2006018373A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2007034581A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4661497B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4661191B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4609406B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4177292B2 (ja) | メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4235595B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4241741B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP2007323159A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4697146B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4254930B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2005292925A (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4000124B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP3934659B1 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4177301B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2006099594A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4670370B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4273106B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4194518B2 (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP2006178909A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2005293177A (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4332108B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4304167B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4366283B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20060313 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20060927 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20061005 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061031 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070104 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070123 |