説明

シーケンシャルROMインターフェース対応NAND型フラッシュメモリーデバイス及びそのコントローラ

【課題】シーケンシャルROMインターフェースを具備するホストシステムをNAND型フラッシュメモリーにアクセス可能に改良すること、及び、該改良されたホストシステムからアクセス可能なNAND型フラッシュメモリーデバイスの提供。
【解決手段】ホストシステムのシーケンシャルROMインターフェースにWait信号入力部を設け、前記Wait信号入力部にWaitが挿入されている間、アクセス対象に対するデータ読み出し信号の送出を待機するよう構成した。また、NAND型フラッシュメモリーデバイスを、コントローラとNAND型フラッシュメモリーとで構成し、コントローラには、Wait信号出力端子を有するシーケンシャルROMインターフェースを設けた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、NAND型フラッシュメモリーにアクセスし得る新規なホストシステムのシーケンシャルROMインターフェース及び該インターフェースを有するホストシステム、並びに該ホストシステムからアクセス可能なNAND型フラッシュメモリーデバイス、及びそのコントローラに関する。
【背景技術】
【0002】
ストレージ用として様々なメモリが提供されている。例えばマスクROMは製造時にデータが書き込まれるもので、データのランダム読み出しの他、シーケンシャル読み出しにも使用されている。
【0003】
また近年、フラッシュメモリーと呼ばれる半導体メモリが普及している。とりわけNAND型フラッシュメモリーはアレイ構造上シーケンシャル読み出しに向いている。特にコンピュータプログラムのコードデータ、画像データ、音声データなどは、その性質上、シーケンシャルに読み出されることが好ましい。
【0004】
ところで、ホストシステムからメモリへアクセスするには、ホストシステムとメモリのそれぞれの共通するインターフェースを介して行われる必要がある。例えば、NAND型フラッシュメモリーにアクセスするには、ホストシステムにNANDI/Fを具備する必要がある。この点、マスクROM用に設けたホストシステムのシーケンシャルROMインターフェース(MACRONIX社資料「MX23L51212」参照)から直接NAND型フラッシュメモリーにアクセスすることはできない。この場合、ホストシステムにNANDI/Fを具備すればよいが、ホストシステムの大幅な設計変更が必要となるという問題がある。
【非特許文献1】MACRONIX社資料「MX23L51212」
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、上記問題点に鑑みてなされたもので、その目的とするところは、シーケンシャルROMインターフェースを具備するホストシステムからNAND型フラッシュメモリーにアクセス可能な改良されたホストシステムを提供することにある。具体的には、ホストシステムにおいてシーケンシャルROMインターフェースの基本仕様をそのまま踏襲しつつNAND型フラッシュメモリーに対応する改良されたシーケンシャルROMインターフェースを提供すること、並びに該インターフェースを具備するホストシステムを提供することにある。
【0006】
第2の目的は、この改良されたホストシステムからアクセス可能なNAND型フラッシュメモリーデバイス及びそのコントローラを提供することにある。特に、NAND型フラッシュメモリーをシーケンシャルROM互換にするにあたり、不良ブロックや不良ビットのない完全なメモリとしてホストシステムが扱えるようにするNAND型フラッシュメモリー及びそのコントローラを提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明のホストシステムは、シーケンシャルROMインターフェースにアクセス対象から送出されたWait信号を入力するWait信号入力部を設けるともに、前記Wait信号入力部からWaitが挿入されている間、アクセス対象に対するデータ読み出し信号の送出を待機する構成とした。ホストシステムは、Direct Memory Access方式により、CPUを介さずに前記アクセス対象からデータを読み出すものとすることができる。
【0008】
また、本発明のNANDフラッシュメモリーデバイスは、請求項4乃至請求項10いずれか1項記載の通り構成される。さらに本発明のNAND型フラッシュメモリーデバイスのコントローラは請求項11記載の通り構成される。
【発明を実施するための最良の形態】
【0009】
以下、本発明が適用された実施例について図面及び表を用いて説明する。尚、本発明の実施の形態は、下記の実施例に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態の形態を採りうる。
【0010】
図1のブロック図を用いて、本発明のシーケンシャルROMインターフェース対応NAND型フラッシュメモリーデバイス及び該デバイスにアクセスしてシーケンシャルリードを行うホストシステムについて説明する。
【0011】
本発明のNAND型フラッシュメモリーデバイス1は、NAND型フラッシュメモリー11と、シーケンシャルROMインターフェースを具備するホストシステム2からの指令に従いNAND型フラッシュメモリー11に直接アクセスしてデータの読出しを行うコントローラ12とからなる。
【0012】
コントローラ12が具備するシーケンシャルROMインターフェース121は、ホストシステム2からの読出し指令、即ち、アドレスと制御信号を入力するとともに、読み出されたデータをホストシステム2へ出力する。端子構造としては、周知のCE(チップイネーブル)、ALEH(アドレスラッチイネーブルhigh)、ALEL(アドレスラッチイネーブルLow)、RD(リードストローブ)の各信号入力端子、AD0〜AD15のアドレス入力/データ出力端子の他、本願発明のホストシステム2の構成的特長の一つであるWait信号出力端子を有する。
【0013】
ホストシステム2のシーケンシャルROMインターフェース21のAD端子(図示せず)からは、シーケンシャルROMインターフェース121のAD端子に対し、データを読み出すべきアドレスが通知される。このアドレスは、データを読み出すべきアクセス対象のページを指定するページアドレスと、そのページを含むブロックを指定するブロックアドレスである。
【0014】
アクセス対象がマスクROMであればそのまま実行すればよいが、アクセス対象がNAND型フラッシュメモリーの場合は、論理ブロックアドレスと物理ブロックアドレスの関係で管理されているため、シーケンシャルROMインターフェースから通知されるアドレス情報中のブロック番号に関する情報を、NAND型フラッシュメモリーの論理ブロックアドレスに対するものとして扱う必要がある。そして、その論理ブロックアドレスに対応する物理ブロックアドレスを割り出し、その物理ブロックアドレスで特定されるブロック中の指定されたページアドレスからデータを読み出す必要がある。NAND型フラッシュメモリーの論理ブロックアドレスから物理ブロックアドレスの割り出しは、NAND型フラッシュメモリー11に対するデータの書込みが前提となるため、以下にこれにつき説明する。
【0015】
(データの書き込み)
NAND型フラッシュメモリー11に対しては、その論理ブロックアドレス(LBA)順にデータが書き込まれる。シーケンシャルリードを前提すると、論理ブロックアドレスと物理ブロックアドレス(PBA)はイコールの関係(LBAx=PBAx、xは0または正の整数)、即ち、物理ブロックアドレス順に、各ブロックにデータが書き込まれることが望ましい。
【0016】
しかしながらNAND型フラッシュメモリーの場合は、製造上不良ブロックが存在し、該不良ブロックにはデータを書き込むことができない。このため、論理ブロックアドレスとイコールの関係にある物理ブロックアドレスのブロックにはデータを書き込めない場合が生じる。
【0017】
この場合、不良ブロックを飛ばして、次の良ブロックにデータを書き込んでもよいが、論理ブロックアドレスと物理ブロックアドレスの関係にずれを生じる(両者のアドレスがイコールであると言う関係が崩れる)。このため本願では、不良ブロックを他の良ブロックで代替してデータ書き込みを実行する。以下これについて表1を用いて説明する。
(表1)
<アドレス管理テーブル>
LBA PBA
0 0
1 10(不良ブロックPBA1の代替)
2 2
3 3
4 4
5 5
6 11(不良ブロックPBA6の代替)
7 7
8 12(不良ブロックPBA8の代替)
9 9
10(スヘ゜ア) −
11(スヘ゜ア) −
12(スヘ゜ア) −
【0018】
表1で、LBAは論理ブロックアドレス(Logical Block Address)、PBAは、物理ブロックアドレス(Phygical Block Address)である。表1は、データ書き込み後の論理ブロックアドレスと物理ブロックアドレスの関係を示した「アドレス管理テーブル」の内容例である。このテーブルはメモリの管理領域に書き込まれる。
【0019】
表1では、説明を簡略化するために、物理ブロック数が13(PBA0〜12)、論理ブロック数が10(LBA0〜9、スペアLBA10〜12)として設定されている。表1では、LBA1に対応するPBA1が不良であるためこれをPBA10で代替してデータを書き込み、LBA6が不良であるためこれをPBA11で代替し、さらにLBA8に対応するPBA8が不良であるため、これをPBA12で代替していることを示す。
【0020】
不良ブロックに関する情報およびその代替テーブル(「不良ブロック代替テーブル」という)は、NAND型フラッシュメモリーの管理領域に、製造者により書き込まれている。表2に不良ブロック代替テーブル例を示す。
(表2)
<不良ブロック代替テーブル>
不良ブロックアドレス 代替ブロックアドレス
PBA1 → PBA10
PBA6 → PBA11
PBA8 → PBA12
【0021】
この「不良ブロック代替テーブル」は、電源投入時にCPU1200によりNAND型フラッシュメモリー11の管理領域からRAM1202に展開されるので、データ書き込み時において、書き込み対象ブロックが不良ブロックである場合は、表2の不良ブロック代替テーブルを用いて、その代替ブロックにデータの書き込みを行う。
【0022】
そして、前記不良ブロック代替テーブルを用いたデータ書き込みによって、表3に示す「アドレス変換テーブル」を作成する。この表は、左側の論理ブロックアドレス(LBA)に対して、矢印右側の物理ブロックアドレス(PBA)にデータが書き込まれており、表3に記載のない他の論理ブロックアドレスに対しては、その論理ブロックアドレスとイコールの関係にある物理ブロックアドレスにデータが書き込まれていることを意味する。即ち、代替された物理ブロックとその論理ブロックのアドレスの関係だけを抽出したものである。このアドレス変換テーブルは、メインファームウエア120のRAM1202に展開することができる。
(表3)
<アドレス変換テーブル>
LBA1 → PBA10
LBA6 → PBA11
LBA8 → PBA12
【0023】
NAND型フラッシュメモリー11に対する上記データの書き込みは、必ずしも本発明のNAND型フラッシュメモリーデバイス1において実行される必要はなく、他の装置でNAND型フラッシュメモリー11に書き込んでおき、これをコントローラ12と組み合わせて、NAND型フラッシュメモリーデバイス11を構成してもよい。
【0024】
ところで、NAND型フラッシュメモリーには、2値小ブロックと多値大ブロックの2種類が存在する。2値小ブロックは、例えば1ブロックが4ページで構成されている。この1ページは、512Byteのメインデータと16Byteの冗長データ(ECCその他の情報)で構成されている。
【0025】
多値大ブロックは、例えば1ブロックが16ページで構成される。本実施例では、512Byteのメインデータ+16Byteの冗長データを1ECCセクター単位と定義し、1ページを4ECCセクター単位で構成する(図3参照)。
【0026】
本発明は、2値小ブロックと多値大ブロックの両者に適応できる。
【0027】
(データの読み出し)
システムに電源が投入されると、CPU1200は、表3のアドレス変換テーブルをROM1201からRAM1202に展開する。ホストシステム2よりデータを読み出すべきアドレスがAD0乃至AD15を介して通知されると、CPU1200は、ホストシステム2から通知されたアドレスを論理ブロックアドレスとして、その対応する物理ブロックアドレスを割り出す。このとき、前記アドレス変換テーブルを用いる。
【0028】
例えば、ホストシステムから読み出し指令を受けたアドレスが、LBA1、LBA6、LBA8のいずれかに対するものであった場合、アドレス変換テーブルを参照し、対応する物理ブロックアドレスが、それぞれ、PBA10、PBA11、PBA12であることを割り出す。それ以外の論理ブロックアドレスに対する読み出し指令に対しては、論理ブロックアドレスと物理ブロックアドレスがイコールの関係(LBAx=PBAx)であると看做してシーケンシャルリードを続行する。
【0029】
データを読み出すべき物理ブロックアドレスが判明すると、CPU1200は、ハードウエアシーケンサ123に対し、実際にアクセスすべき物理ブロックのページアドレスをプログラムする。ハードウエアシーケンサ123は、このアドレスを基に、NAND型フラッシュメモリー11から1ページ分のデータを読み出すためのアドレス、制御信号、コマンドをNAND I/Fから、NAND型フラッシュメモリー11のNAND I/F(図示せず)に送る。ハードウエアシーケンサ123はNAND型フラッシュメモリー11から1ページ分のデータを読み出す。この場合のアクセス、即ちデータの読み出しは、通常のNAND型フラッシュメモリーで実行されるものと同じである。
【0030】
多値大ブロックの場合は、1ページのデータが上述の通り4ECCセクター単位構成となっているため、4ECCセクター単位分のデータ(528Byte×4)が読み出されることになる。このときNAND型フラッシュメモリー11は、Byte単位で読み出しアドレスを指定することができるので、1ECCセクター単位ずつ計4回に分けてデータを読み出すことができる。これは後述するエラーチェックを行う際有効である。尚、データは、NAND型フラッシュメモリー11のI/O端子(I/O0からI/O7:図示せず)から、8ビットずつ読み出される。
【0031】
データの読み出しにおいて、表1で述べたアドレス管理テーブルを用いることはもとより可能であるが、上記の通り、アドレス変換テーブルを用いれば、アドレス管理テーブルを用いる場合のように、ホストシステムよりアドレス指定された際、全ての論理ブロックアドレスと物理ブロックアドレスの対応をいちいち確認せずに済むので効率がよい。即ちデータの高速読み出しが可能である。また、不良ブロックを飛ばして次の良ブロックにデータを書き込むことによって生じる論理ブロックアドレスと物理ブロックアドレスのずれ、さらに当該ずれにより生じる読み出し遅延を防止できる。また、製造者によって提供されている不良ブロック代替テーブルを有効に活用することができる。
【0032】
尚、CPU1200は、ROM1201に格納している駆動用プログラムを基に、本NAND型フラッシュメモリーデバイス1を統括的に制御するものである。またRAM1202は、前述の通り、CPU1200の作業領域として使用される。
【0033】
ハードウエアシーケンサ123によって読み出された1ECCセクター単位のデータ52bByteは、ECC ENDEC/CORRECTOR部124に送出される。多値大ブロックの場合は、1ページが4ECCセクター単位構成となっているため、計4回送出されることになる。そしてECC ENDECのDECODERによりメインデータ(512Byte)に誤りがないか確認される(エラーチェック)。多値大ブロックの場合は、第1番目のECCセクター単位のメインデータのエラーチェックが終了し、次のECCセクター単位のメインデータのエラーチェックを開始できるようになってから、第2番目のセクターデータ単位のデータ(528Byte)がNAND型フラッシュメモリー11から読み出され、ECC ENDEC/CORRECTORに送出される。
【0034】
そしてメインデータ512Byteは、ハードウエアシーケンサ123に戻され、バッファマネージャー122を介してRAM125に格納される。RAM125は、1ページのメインデータ分の記憶容量を有している。2値小ブロックの場合は512Byteであり、多値大ブロックの場合はその4倍、即ち2048Byteである。尚、バッファマネージャー122は図示しないバッファメモリーを有し、前記読み出しデータ格納用RAMに該バッファメモリーを介して格納され、若しくは前記読み出しデータ格納用RAMから該バッファメモリーを介して読み出されるデータの緩衝制御を行う。
【0035】
ハードウエアシーケンサ123からバッファマネージャー122に対しては、ハードウエアシーケンサ123に読み出された8ビットのデータを2回シリアルにして、16ビットのデータが順次転送される。バッファマネージャー122からRAM125に対しても、16ビットのデータが送出される。
【0036】
途中、ECC ENDEC/CORRECTOR124のDECORDERによるチェックの結果、もしデータエラー(ECCエラー)が発見された場合は、その旨がハードウエアシーケンサ123に通知される。このエラー検出は、ハードウエアシーケンサ123のMPU(ファームウエア1230内/図示せず)が行ってもよいし、メインファームウエア120のCPU1200が行ってもよい。MPUで行う場合は、エラーチェックの高速化を図ることができる。エラーチェック中、ハードウエアシーケンサ123はNAND型フラッシュメモリー11からのデータ読み出しを停止する。
【0037】
データエラーがあると、ECC ENDEC/CORRECTOR124のCORRECTORは、データを訂正し、訂正データをバッファマネージャー122に送出する。そしてバッファマネージャー122は、訂正データをRAM125に格納するとともに(先に格納したデータの上書き)、当該データに、ホストシステム2に対する出力がOKであることを示すフラグを設定する。
【0038】
一方データエラーがないことが判明した場合は、ECC ENDEC/CORRECTOR124からハードウエアシーケンサ123にその旨通知され、ハードウエアシーケンサ123は、これを受けてData OKの通知をバッファマネージャー122に対して行うとともに、ホストシステム2に対する出力がOKであることを示すフラグを設定する。
【0039】
このホストシステム2に対する出力がOKであることを示すフラグは、2値小ブロックの場合も多値大ブロックの場合も、1ECCセクター単位(正確にはそのメインデータ単位)で設定される。
【0040】
データ出力OKのフラグが設定され、RAM125に格納したデータがホストシステム2に出力可能になると、バッファマネージャー122はシーケンシャルROMインターフェース121に対しREADY信号を送る。
【0041】
以下、図2のタイミングダイヤグラムを用いて、ホストシステム2に対するデータの出力について説明する。
【0042】
メインファームウエア120は、シーケンシャルROMインターフェース121のWait出力端子に対し、ALEL若しくはALEHの立下り時点でWait信号をHighで出力し、シーケンシャルROMインターフェース121に前記READY信号の入力があると、これをLowにする。
【0043】
Wait信号出力端子はホストシステム2のWait信号入力端子(図示せず)に繋がっており、且つこのWait信号入力端子にWaitが挿入されている間、ホストシステム2はデバイス1に対するデータの読み出し信号(RD信号)の送出を保留し、Waitが解除されるのを待つ。そして、Wait信号がLowになった段階で、ホストシステム2はRAM125に格納されているデータの出力の指示、即ちRD信号をシーケンシャルROMインターフェース121のRD入力端子に出力する。
【0044】
コントローラ12は、これを受けて、シーケンシャルROMインターフェース121のAD端子(AD0〜AD15)からRAM125に格納されているデータを出力する。このとき、バッファマネージャー122は、RAM125からシーケンシャルROMインターフェース121に転送されるデータの緩衝を制御する。
【0045】
尚、本実施例において、RD信号は、取り込むデータのByte数、即ち、2値小ブロックの場合は512回のトグル動作(LowとHighの繰り返し)により送出し、この512回のRD信号に従って、1Byteずつ計512Byteのデータがホストシステム2に取り込まれる。
【0046】
多値大ブロックの場合は、RD信号を2048回送出し、計2048Byteのデータがホストシステム2に取り込まれる。この取り込まれるデータは、RAM125に4分割して格納されていた1ページ分のメインデータ(512×4)がFIFO方式で16ビットずつ出力されるものである。
【0047】
Waitの挿入により、NAND型フラッシュシュメモリ特有のエラー訂正によって、読み出したデータをホストシステム2へ出力可能になるまでの時間にばらつきがあっても、ホストシステム2はRAM125から効率よくデータを取り込むことができる。
【0048】
尚、前記入力したWait信号を、ホストシステム2のCPUに伝達し、RD信号の管理を該CPU自体が行ってもよいし、あるいは、Direct Memory Access(DMA)方式により、CPUを介さずにアクセス対象からデータを読み出してもよい。後者の場合、CPUに付随するDMAコントローラなどに前記Wait信号を伝達し、該DMAコントローラがホストシステム2の他の入出力モジュールを直接コントロールして、NAND型フラッシュメモリーデバイス1からデータを読み出す構成とすればよい。こうすれば、データの転送速度を向上させ、CPUの負担を減らすことができる。
【0049】
ホストシステム2は、当該アドレスで指示したデータの取り込みを完了すると、次に読み出すべきアドレスを制御信号とともにNAND型フラッシュメモリーデバイス1のシーケンシャルROMインターフェース121に通知し、コントローラ12はこれを受けて当該アドレスに対応するデータの読み出しを同様に実行し、これをホストシステム2へ出力する。
【0050】
ホストシステム2は、NAND型フラッシュメモリー11に記憶している全データの読み出しが完了するまで、以上の処理を繰り返し行うが、先読み処理をおこなってもよい。即ち、ホストシステム2より通知された1のアドレス分のデータをNAND型フラッシュメモリー11から読み出してRAM125に格納した後、ホストシステムより次のアドレスが通知される前にこれを見越してデータの読み出しを実行してもよい。先読み処理は、ホストシステム2から送出されたアドレスをラッチして置き、これをコントローラ12内部でインクリメント処理して実行することができる。
【0051】
例えば、RAM125をNAND型フラッシュメモリー11のメインデータ2ページ分以上の容量とし、先読みしたデータをRAM125に格納しておけば、そのアドレスが通知された段階で既に出力できる状態になっていれば、ホストシステム2にWaitを掛けることなく、RD信号の入力に従い即出力する。このようにすれば、エラー訂正によりデータの出力に遅延が生じることがあっても、トータル的に出力時間を短縮することができる。
【0052】
尚、NAND型フラッシュメモリー11とコントローラ12は、一つのLSIパッケージに収納して構成してもよいし、それぞれ別個のモジュールで構成してもよい。
【0053】
又、ECC ENDEC/CORRECTOR部124のECC ENDECは、ECC DECORDERの他、ECC ENCORDERを含むが、これはデータの書き込み時に冗長領域にECCを書き込むためのものである。
【0054】
本発明の効果は以下の通りである。
1.本発明のホストシステムによれば、ホストシステムよりNAND型フラッシュメモリーにアクセスするにあたり、ホストシステムにシーケンシャルROMインターフェースしか具備されていない場合であっても、シーケンシャルROMインターフェースにWait入力部を設けることによりNAND型フラッシュメモリーから確実にデータを読み出すことができる。また従来のマスクROMに対するシーケンシャルアクセスにも同様に対応できる(上位互換)。これにより、ホストシステム製造者は、既存の資産を有効活用することができる。
【0055】
2.本発明のNANDフラッシュデメモリバイスによれば、ホストシステムの前記改良されたシーケンシャルROMインターフェースを介して、NAND型フラッシュメモリーからデータをシーケンシャルに読み出してこれをホストシステムに出力することができる。またこの場合、NANDフラッシュメモリーの不良ブロックや、データエラーに対応する手段を設けたので、ホストシステムに不良ブロックに対応するための手段を設ける必要がなく、また、ホストシステムに取り込まれたデータにはエラーがなく、従ってNAND型フラッシュメモリーをシーケンシャルROM(マスクROM)互換とすることができる。
【図面の簡単な説明】
【0056】
【図1】本発明のNAND型フラッシュメモリーデバイスのブロック図である。
【図2】本発明のNAND型フラッシュメモリーデバイスのタイミングダイヤグラムである。
【図3】多値大ブロック1ページのデータ構成例(表1)アドレス管理テーブルの内容を表す表である。(表2)不良ブロック代替テーブルの内容を表す表である。(表3)アドレス変換テーブルの内容を表す表である。
【符号の説明】
【0057】
1 本発明のNAND型フラッシュメモリーデバイス
2 ホストシステム
11 NAND型フラシュメモリ
12 コントローラ
21 シーケンシャルROMインターフェース(ホストシステム側)
120 メインファームウエア
121 シーケンシャルROM
インターフェース(デバイス側)
122 バッファマネージャー
123 ハードウエアシーケンサ
124 ECC ENDEC/CORRECTOR
125 RAM

【特許請求の範囲】
【請求項1】
アクセス対象から送出されたWait信号を入力するWait信号入力部を設けてなることを特徴とするホストシステムが具備するシーケンシャルROMインターフェース。
【請求項2】
請求項1記載のシーケンシャルROMインターフェースを具備しアクセス対象からシーケンシャルにデータの読み出しを行うホストシステムであって、該ホストシステムは、前記Wait信号入力部からWaitが挿入されている間、アクセス対象に対するデータ読み出し信号の送出を待機状態にするよう構成されていることを特徴とするホストシステム。
【請求項3】
ホストシステムは、Direct Memory Access方式により、CPUを介さずに前記アクセス対象からデータを読み出すものであることを特徴とする請求項2記載のホストシステム。
【請求項4】
請求項2記載のホストシステムがアクセス可能なNAND型フラッシュメモリーデバイスであって、該NAND型フラッシュメモリーデバイスは、NAND型フラッシュメモリーと、ホストシステムからのシーケンシャル読出し指令に対応して前記NAND型フラッシュメモリーからデータの読み出しを行ってこれをホストシステムに出力するコントローラからなり、
該コントローラは、
1)ホストシステムからアドレスと制御信号を入力するとともに、データを前記ホストシステムへ出力するシーケンシャルROMインターフェースと、
2) NAND型フラッシュメモリーと通信を行うNANDインターフェースを含み、該NANDインターフェースを介してNAND型フラッシュメモリーからデータを読み出すためのアドレス、コマンド及び制御信号を出力するハードウエアシーケンサと、
3)ホストシステムから読み出し指定されたアドレスからNAND型フラッシュメモリーの物理ブロックアドレスを割り出してNAND型フラッシュメモリーの実際にアクセスすべきアドレスを前記ハードウエアシーケンサにプログラムするとともに、該コントローラを統括的に制御するメインファームウエアと、
4)ホストシステムに出力するためのデータを一時格納する読み出しデータ格納用RAMと、
5)バッファメモリーを有し、前記読み出しデータ格納用RAMに該バッファメモリーを介して格納され、若しくは前記読み出しデータ格納用RAMから該バッファメモリーを介して読み出されるデータの緩衝制御を行うバッファマネージャーと、
6)NAND型フラッシュメモリーから読み出されたデータにエラーがないか判定するECC DECORDERと、
7)前記ECC DECORDERによりデータにエラーが発見された場合に、当該エラーを訂正するCORRECTORと、
を有し、
本NAND型フラッシュメモリーの前記シーケンシャルROMインターフェースは、前記データ格納用RAMに格納しているデータが、前記ホストシステムに出力可能になるまでホストシステムにWaitを挿入するWait出力端子を具備してなることを特徴とするシーケンシャルROMインターフェース対応NAND型フラッシュメモリーデバイス。
【請求項5】
NAND型フラッシュメモリーに対するデータの書き込みは、論理ブロックアドレスと物理ブロックアドレスがイコールの関係になるように順次実行され、所定の論理ブロックアドレスに対応するアドレスの物理ブロックが不良ブロックである場合は予備の良ブロックで代替して書き込みが実行されるものであることを特徴とする請求項4記載のシーケンシャルROMインターフェース対応NAND型フラッシュメモリーデバイス。
【請求項6】
前記物理ブロックを代替した論理ブロックアドレスと当該代替物理ブロックのアドレスの関係を、アドレス変換テーブルとして当該フラッシュメモリーに記憶しておき、フラッシュメモリーからのデータの読み出しは、前記アドレス変換テーブルを用いて実行されることを特徴とする請求項5記載のNAND型フラッシュメモリーデバイス。
【請求項7】
Waitの挿入は、ALEH若しくはALELの立下りを基点として実行されることを特徴とする請求項4記載のシーケンシャルROMインターフェース対応NAND型フラッシュメモリーデバイス。
【請求項8】
ホストシステムから入力したアドレスに対応するデータの読み出しを終了後、次回のアドレスの入力前に、該アドレスの入力があるものと見越して次のデータの読出しを実行することを特徴とする請求項4記載のシーケンシャルROMインターフェース対応NAND型フラッシュメモリーデバイス。
【請求項9】
請求項2又は3のシーケンシャルROMインターフェースを具備するホストシステムと請求項4乃至請求項7いずれか1項記載のシーケンシャルROMインターフェース対応NAND型フラッシュメモリーデバイスとのコンビネーション。
【請求項10】
NAND型フラッシュメモリーとコントローラは、一つのLSIパッケージに収納されてなることを特徴とする請求項4記載のシーケンシャルROMインターフェース対応NAND型フラッシュメモリーデバイス。
【請求項11】
請求項2記載のホストシステムがNAND型フラッシュメモリーからシーケンシャルにデータを読み出すためのNAND型フラッシュメモリー用のコントローラであって、
該コントローラは、
1)ホストシステムからアドレスと制御信号を入力するとともに、データを前記ホストシステムへ出力するシーケンシャルROMインターフェースと、
2) NAND型フラッシュメモリーと通信を行うNANDインターフェースを含み、該NANDインターフェースを介してNAND型フラッシュメモリーからデータを読み出すためのアドレス、コマンド及び制御信号を出力するハードウエアシーケンサと、
3)ホストシステムから読み出し指定されたアドレスからNAND型フラッシュメモリーの物理ブロックアドレスを割り出してNAND型フラッシュメモリーの実際にアクセスすべきアドレスを前記ハードウエアシーケンサにプログラムするとともに、該コントローラを統括的に制御するメインファームウエアと、
4)ホストシステムに出力するためのデータを一時格納する読み出しデータ格納用RAMと、
5)バッファメモリーを有し、前記読み出しデータ格納用RAMに該バッファメモリーを介して格納され、若しくは前記読み出しデータ格納用RAMから該バッファメモリーを介して読み出されるデータの緩衝制御を行うバッファマネージャーと、
6)NAND型フラッシュメモリーから読み出されたデータにエラーがないか判定するECC DECORDERと、
7)前記ECC DECORDERによりデータにエラーが発見された場合に、当該エラーを訂正するCORRECTORと、
を有し、
本コントローラが具備するシーケンシャルROMインターフェースは、前記データ格納用RAMに格納しているデータが、前記ホストシステムに出力可能になるまでホストシステムにWaitを挿入するWait出力端子を具備してなることを特徴とするシーケンシャルROMインターフェース対応NAND型フラッシュメモリーデバイスのコントローラ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2007−48090(P2007−48090A)
【公開日】平成19年2月22日(2007.2.22)
【国際特許分類】
【出願番号】特願2005−232516(P2005−232516)
【出願日】平成17年8月10日(2005.8.10)
【特許番号】特許第3747213号(P3747213)
【特許公報発行日】平成18年2月22日(2006.2.22)
【出願人】(594096966)株式会社ハギワラシスコム (32)
【Fターム(参考)】