(57)【要約】【課題】ホスト装置側の煩雑な操作を要することなく、容易に、しかも的確にアクセスすることが可能な半導体記憶装置および信号処理システムを提供する。【解決手段】フラッシュメモリモジュール２のフラッシュコントローラ２１は、ホスト装置としてのＣＰＵ３とはアドレス、コマンドバス、データバスでつながり、バッファの容量以上のメモリ空間に割り当てられ、アクセスされた空間がバッファにロードされている空間であるかどうかを自動的に判断し、異なる場合にそれに相当する記録メディア中、すなわちＮＡＮＤ型フラッシュメモリ２２のデータをバッファであるＳＲＡＭ２１４にロードし、ＣＰＵ３からランダムリードアクセスできるように制御する。【選択図】図２
2007280140.tif 000002
【特許請求の範囲】
【請求項１】
ランダムアクセスが困難な記録メディアと、
ランダムアクセス可能なバッファと、
上記バッファの容量以上のメモリ空間を割り当てられ、アクセスされた空間が上記バッファにロードされている空間である否かを自動的に判断し、異なる場合に当該空間に相当する記録メディア中のデータを上記バッファにロードするコントローラと、
を有する半導体記憶装置。
【請求項２】
上記コントローラは、上記バッファにロードされている空間に対して書き込みがされたことを記録保持する機能を有し、書き込みがされたときのみ上記記録メディアへ書き戻す
請求項１記載の半導体記憶装置。
【請求項３】
上記コントローラは、上記バッファにアクセス要求を出した装置側に、要求されたデータのロードが完了するまで、レディ信号を非アクティブとしてウェイトをかけ、ロードが完了すると、レディ信号をアクティブとしてアクセスを許可する
請求項１記載の半導体記憶装置。
【請求項４】
上記記録メディアは、複数のバンクを有し、
上記コントローラは、入力アドレスと上記バッファにデータがロードされているカレントバンクナンバーとを比較し、一致しない場合には上記レディ信号を非アクティブとし、一致すると上記レディ信号をアクティブとする
請求項３記載の半導体記憶装置。
【請求項５】
上記コントローラは、上記記録メディアから上記バッファへのロード中にウェイトさせるためのレディ信号の代わりに、識別するためのアドレスを上記バッファ内に割り付け、当該アドレスを読むことにより、読むたびに異なる値が読めれば非レディ、同じ値が読めればレディであることが識別することができるように制御する
請求項１記載の半導体記憶装置。
【請求項６】
上記コントローラは、上記記録メディアから上記バッファへのロード中にウェイトさせるためのレディ信号の代わりに、識別するためのアドレスを上記バッファ内に割り付け、当該アドレスを読むことにより、読むたびに異なる値が読めれば非レディ、同じ値が読めればレディであることが識別することができるように制御する
請求項２記載の半導体記憶装置。
【請求項７】
上記記録メディアは、ＮＡＮＤ型フラッシュメモリである
請求項１記載の半導体記憶装置。
【請求項８】
半導体記憶装置と、
上記半導体記憶装置のアクセスのコントロールおよび上記半導体記憶装置に格納されたデータに従って所定の信号処理を行うホスト装置と、を有し、
上記半導体記憶装置は、
ランダムアクセスが困難な記録メディアと、
ランダムアクセス可能なバッファと、
上記バッファの容量以上のメモリ空間を割り当てられ、上記ホスト装置からアクセスされた空間が上記バッファにロードされている空間である否かを自動的に判断し、異なる場合に当該空間に相当する記録メディア中のデータを上記バッファにロードするコントローラと、を含む
信号処理システム。
【請求項９】
上記コントローラは、上記バッファにロードされている空間に対して書き込みがされたことを記録保持する機能を有し、書き込みがされたときのみ上記記録メディアへ書き戻す
請求項８記載の信号処理システム。
【請求項１０】
上記コントローラは、上記バッファにアクセス要求を出したホスト装置側に、要求されたデータのロードが完了するまで、レディ信号を非アクティブとしてウェイトをかけ、ロードが完了すると、レディ信号をアクティブとして上記ホスト装置にアクセスを許可する
請求項８記載の信号処理システム。
【請求項１１】
上記記録メディアは、複数のバンクを有し、
上記コントローラは、入力アドレスと上記バッファにデータがロードされているカレントバンクナンバーとを比較し、一致しない場合には上記レディ信号を非アクティブとし、一致すると上記レディ信号をアクティブとする
請求項１０記載の信号処理システム。
【請求項１２】
上記コントローラは、上記記録メディアから上記バッファへのロード中にウェイトさせるためのレディ信号の代わりに、識別するためのアドレスを上記バッファ内に割り付け、当該アドレスを読むことにより、読むたびに異なる値が読めれば非レディ、同じ値が読めればレディであることが上記ホスト装置側で識別することができるように制御する
請求項８記載の信号処理システム。
【請求項１３】
第１の半導体記憶装置と、
上記第１の半導体記憶装置の格納データが読み出される第２の半導体記憶装置と、
上記第１および第２の半導体記憶装置のアクセスのコントロールおよび上記第２の半導体記憶装置に格納されたデータに従って所定の信号処理を行うホスト装置と、を有し、
上記第１の半導体記憶装置は、
ランダムアクセスが困難な記録メディアと、
ランダムアクセス可能なバッファと、
上記バッファの容量以上のメモリ空間を割り当てられ、上記ホスト装置からアクセスされた空間が上記バッファにロードされている空間である否かを自動的に判断し、異なる場合に当該空間に相当する記録メディア中のデータを上記バッファにロードするコントローラと、を含む
信号処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえばＮＡＮＤ型フラッシュメモリのようにデータをシーケンシャルに高速に読み出し、もしくは書き込みを行う半導体記憶装置およびその半導体記憶装置を備えた信号処理システムに関するものである。
【背景技術】
【０００２】
ＮＡＮＤ型フラッシュメモリにおいては、複数個のメモリトランジスタを直列に接続してメモリストリングを構成し、２個のメモリストリングで１個のビットコンタクトおよびソース線を共有することにより、高集積化が実現されている。
【０００３】
一般的なＮＡＮＤ型フラッシュメモリにおいて、消去動作は、たとえば選択されたメモリストリングが接続された全ワード線に０Ｖ、非選択のメモリストリングが接続された全ワード線をフローティングとして、メモリアレイの基板に高電圧（２０Ｖ）を印加する。
その結果、選択メモリストリングのメモリトランジスタのみフローティングゲートから基板に電子が引き抜かれる。その結果、メモリトランジスタのしきい値電圧は負方向にシフトして、たとえば−３Ｖになる。
【０００４】
また、データの書き込み動作は、選択するワード線に接続されたメモリトランジスタ一括に、数百〜数千バイトのいわゆるページ単位で行われる。
具体的には、たとえば選択するワード線に高電圧（たとえば１８Ｖ）を、書き込むべき（０データ）メモリトランジスタが接続されたビット線に０Ｖ、書き込みを禁止すべき（１データ）メモリトランジスタが接続されたビット線にハイレベル（たとえば３．３Ｖ）を印加する。
その結果、書き込むべき選択メモリトランジスタのみ、フローティングゲート中に電子が注入されて、選択メモリトランジスタのしきい値電圧は正方向にシフトして、たとえば２Ｖ程度になる。
【０００５】
このようなＮＡＮＤ型フラッシュメモリにおいては、データの書き込みおよび消去ともＦＮ(Fowler Nordheim) トンネル電流により行うため、動作電流をチップ内昇圧回路から供給することが比較的容易であり、単一電源で動作させやすいという利点がある。
さらに、ページ単位で、つまり選択するワード線に接続されたメモリトランジスタ一括にデータの書き込みが行われるため、ＮＯＲ型フラッシュメモリに比較して書き込み速度の点で優位である。
【０００６】
また、ＮＡＮＤ型フラッシュメモリにおけるデータの読み出しは、ランダムアクセスされたページ単位で、メモリセルに格納されたデータをセンスアンプを通して確定させてデータレジスタに格納し、その後、ページデータを１あるいは２バイト単位ずつ、シリアルに外部転送することにより行われる。
具体的には、たとえば選択されたワード線に０Ｖを、非選択の全ワード線に４Ｖ程度の電圧を印加する。
ＮＡＮＤ型フラッシュメモリの場合、複数のメモリセルが直列に接続されていることから、ＮＯＲ型フラッシュメモリに比較して、メモリセルの読み出し電流が少ないため、メモリセルに格納されたデータをセンスアンプを通して確定させる、いわゆるランダムアクセス時間が長い。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述したように、ＮＡＮＤ型フラッシュメモリにおける通常の読み出しおよび書き込み時のアクセス方法は、その開始アドレスとコマンドを入力するとデータバスからデータが次々と出力あるいは、入力されるいわゆるシーケンシャルなアクセス方法である。
したがって、これらのデータをいわゆるホスト装置としてのＣＰＵが利用する場合には、それらのデータを一旦ＣＰＵ自身のメインメモリへ展開してからそれを加工するという２段階の処理が必要となる。
つまり、ＮＡＮＤ型フラッシュメモリのアクセス方法は、通常のＲＡＭのように、ＣＰＵバスとアドレスバス、データバスで接続してアクセスしたいアドレスを出力するとそのデータが出力されるというシンプルなアクセス方法ではない。
【０００８】
そのため、ＮＡＮＤ型フラッシュメモリを使用するには、一般的にそれ専用のインタフェース（I/F）をＣＰＵ（あるいはシステム）に追加するか、ＣＰＵ（システム）がサポートしている既存のインタフェース（I/F）とつなげるような変換ＬＳＩにより形成されるフラッシュコントローラを使用する。
【０００９】
通常使われる既存のインタフェースとしては、ＮＡＮＤ型フラッシュメモリがシーケンシャルアクセスのためＨＤＤ用のインタフェースを流用するのが一般的である。
あるいは、メモリカードなどのような独自のインタフェース（I/F）、あるいはＵＳＢなどを使用する場合もある。
いずれにせよこれらはすべてシーケンシャルにアクセスすることについては同じであり、高速なランダムアクセスできないという不利益がある。
【００１０】
他の技術としては、ＣＰＵの通常のバスに接続できるようなインタフェース（I/F）をもつコントローラもある。
このコントローラは、ＮＡＮＤ型フラッシュメモリと外部バスとの間にバッファ（Buffer）を持ち、これを介してデータの授受（やりとり）を行う。このバッファは外部からランダムにアクセスできる。
しかし、このバッファのサイズはＮＡＮＤ型フラッシュメモリの容量に比べてはるかに小さいため、ＮＡＮＤ型フラッシュメモリから必要なデータをバッファへ読み出させてからバッファへアクセスするという処理をＣＰＵから指示することが必要であり、通常のＲＡＭへアクセスする処理と同じ処理ですむわけではない。
【００１１】
つまり、既存技術では、ＮＡＮＤ型フラッシュメモリに対する煩雑な操作をホスト装置側が行わない限り読み出しおよび書き込みを行うことができないという不利益がある。
【００１２】
本発明は、ホスト装置側の煩雑な操作を要することなく、容易に、しかも的確にアクセスすることが可能な半導体記憶装置および信号処理システムを提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明の第１の観点の半導体記憶装置は、ランダムアクセスが困難な記録メディアと、ランダムアクセス可能なバッファと、上記バッファの容量以上のメモリ空間を割り当てられ、アクセスされた空間が上記バッファにロードされている空間である否かを自動的に判断し、異なる場合に当該空間に相当する記録メディア中のデータを上記バッファにロードするコントローラと、を有する。
【００１４】
好適には、上記コントローラは、上記バッファにロードされている空間に対して書き込みがされたことを記録保持する機能を有し、書き込みがされたときのみ上記記録メディアへ書き戻す。
【００１５】
好適には、上記コントローラは、上記バッファにアクセス要求を出した装置側に、要求されたデータのロードが完了するまで、レディ信号を非アクティブとしてウェイトをかけ、ロードが完了すると、レディ信号をアクティブとしてアクセスを許可する。
【００１６】
好適には、上記記録メディアは、複数のバンクを有し、上記コントローラは、入力アドレスと上記バッファにデータがロードされているカレントバンクナンバーとを比較し、一致しない場合には上記レディ信号を非アクティブとし、一致すると上記レディ信号をアクティブとする。
【００１７】
好適には、上記コントローラは、（上記記録メディアから上記バッファへのロード中にウェイトさせるためのレディ信号の代わりに、）識別するためのアドレスを上記バッファ内に割り付け、当該アドレスを読むことにより、読むたびに異なる値が読めれば非レディ、同じ値が読めればレディであることが識別することができるように制御する。
【００１８】
本発明の第２の観点の信号処理システムは、半導体記憶装置と、上記半導体記憶装置のアクセスのコントロールおよび上記半導体記憶装置に格納されたデータに従って所定の信号処理を行うホスト装置と、を有し、上記半導体記憶装置は、ランダムアクセスが困難な記録メディアと、ランダムアクセス可能なバッファと、上記バッファの容量以上のメモリ空間を割り当てられ、上記ホスト装置からアクセスされた空間が上記バッファにロードされている空間である否かを自動的に判断し、異なる場合に当該空間に相当する記録メディア中のデータを上記バッファにロードするコントローラと、を含む。
【００１９】
本発明の第３の観点の信号処理システムは、第１の半導体記憶装置と、上記第１の半導体記憶装置の格納データが読み出される第２の半導体記憶装置と、上記第１および第２の半導体記憶装置のアクセスのコントロールおよび上記第２の半導体記憶装置に格納されたデータに従って所定の信号処理を行うホスト装置と、を有し、上記第１の半導体記憶装置は、ランダムアクセスが困難な記録メディアと、ランダムアクセス可能なバッファと、上記バッファの容量以上のメモリ空間を割り当てられ、上記ホスト装置からアクセスされた空間が上記バッファにロードされている空間である否かを自動的に判断し、異なる場合に当該空間に相当する記録メディア中のデータを上記バッファにロードするコントローラと、を含む。
【発明の効果】
【００２０】
本発明によれば、ホスト装置側の煩雑な操作を要することなく、容易に、しかも的確にアクセスすることが可能となる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施形態を、図面に関連付けて説明する。
【００２２】
図１は、本発明に係る半導体記憶装置を採用した信号処理システムの全体構成を示すブロック図である。
本実施形態においては、半導体記憶装置として、複数のメモリセルを直列に接続したメモリストリングが選択用スイッチを介してビット線およびソース線に接続されるＮＡＮＤ型フラッシュメモリとそのコントローラを含むＮＡＮＤ型フラッシュメモリモジュールを採用している。
【００２３】
本信号処理システム１は、図１に示すように、第１の半導体記憶装置としてのＮＡＮＤ型フラッシュメモリモジュール（ＮＤＦＬＭ）２、ホスト装置としてのＣＰＵ３、第２の半導体記憶装置としてのたとえばＤＲＡＭ４、並びに、ＣＰＵ３とフラッシュメモリモジュール２およびＤＲＡＭ４とを接続するバス５とを有している。
バス５は、アドレス、コマンドバス、データバスを含む。
【００２４】
本信号処理システム１においては、たとえばＮＡＮＤ型フラッシュメモリの特性を活かして、ＮＡＮＤ型フラッシュメモリは、システムのＯＳプログラムやアプリケーションプログラムの格納、または画像や音声データのストレージとして適用する。
そして、信号処理システム１においては、電源オン時、強制的なリセット時、あるいはシステムリセット時等に、ＮＡＮＤ型フラッシュメモリに記憶されているデータを高速、たとえば１００ＭＢ／ｓ程度の高速で読み出して、ＣＰＵ３、バス５を通してＤＲＡＭ４に高速に転送する。
以後、ＣＰＵ３は、ＤＲＡＭ４をアクセスすることによりシステムを高速に起動させることができ、さらに、画像処理、音声処理、あるいはこれらに伴う表示処理や音声出力処理等の、アプリケーションに応じた各種信号処理を行うことができる。
【００２５】
図２は、本実施形態に係るＮＡＮＤ型フラッシュメモリモジュール２の構成例を示すブロック図である。
【００２６】
フラッシュメモリモジュール２は、図２に示すように、フラッシュコントローラ２１と、フラッシュコントローラ２１にチャネルＣｈ．０、Ｃｈ．１を介して接続された記録メディアとしてのＮＡＮＤ型フラッシュメモリ２２−０，２２−１とを有する。
図２の例は、５１２Ｍビットの２つのチップＮＡＮＤ型フラッシュメモリ２２−０，２２−１を接続した場合で１２８ＭＢ（メガバイト）の総容量となっている。
【００２７】
信号処理システム１においては、ホスト側であるＣＰＵ３とＮＡＮＤ型フラッシュメモリ２２（−０，−１）は、フラッシュコントローラ２１を介して接続されている。
ＣＰＵ３からのフラッシュメモリ２２に対する読み出し（以降、リード）、書き込み（以降、ライト）、消去(イレーズ)のアクセス要求は、一旦、フラッシュコントローラ２１が受け付ける。
フラッシュコントローラ２１は、アドレス変換処理（ＣＰＵ３の指定する論理アドレスをフラッシュメモリ上の物理アドレスに変換するマッピング処理、論理・物理アドレス変換処理）、フラッシュメモリ２２からのリードデータに対するエラー検出・訂正処理、およびフラッシュメモリ２へのライトデータに対するエラー検出・訂正符号の付加等を行う。
本実施形態のフラッシュコントローラ２１は、これらの機能に加えて以下に説明する特徴的な機能を有する。
【００２８】
以下に、本実施形態に係るフラッシュコントローラ２１のより具体的な構成および機能を中心に説明する。
【００２９】
本実施形態のフラッシュコントローラ２１は、図２に示すように、ホストバスインタフェース（HI/F）２１１、メモリインタフェース(MI/F)２１２、コントローラ２１３、およびランダムアクセス可能なバッファである、容量が４ＫＢ（キロバイト）のＳＲＡＭ２１４を有する。
【００３０】
本実施形態のフラッシュメモリモジュール２は、ランダムアクセスが困難な記録メディア、すなわち、ＮＡＮＤ型フラッシュメモリ２２とランダムアクセス可能なバッファとしてのＳＲＡＭ(バッファ)２１４を有する記録メディアシステムを形成している。
フラッシュメモリモジュール２のフラッシュコントローラ２１は、ホスト装置としてのＣＰＵ３とはアドレス、コマンドバス、データバスでつながり、バッファの容量以上のメモリ空間に割り当てられ、アクセスされた空間がバッファにロードされている空間であるかどうかを自動的に判断し、異なる場合にそれに相当する記録メディア中、すなわちＮＡＮＤ型フラッシュメモリ２２のデータをバッファであるＳＲＡＭ２１４にロードし、ＣＰＵ３からランダムリードアクセスできるように制御する。この制御機能は、オートバンクチェンジ(Automatic Bank change)機能という。
また、本実施形態のフラッシュメモリモジュール２は、バッファであるＳＲＡＭ２１４にロードされている空間に対して書き込みがされたことを記録保持する機能を有し、書き込みがされたときのみ記録メディアであるＮＡＮＤ型フラッシュメモリ２２に書き戻す機能を有する。
【００３１】
図３は、本実施形態に係るＮＡＮＤ型フラッシュメモリのセルアレイ構造例を示す図である。
【００３２】
ＮＡＮＤ型フラッシュメモリ２２のセルアレイ２２１は、図３に示すように、直列に接続された複数、たとえば１６個のメモリトランジスタＭ０〜Ｍ１５およびその両端に直列に接続された２個の選択トランジスタＳＴ０，ＳＴ１により構成されたメモリセルユニットＭＣＵＴ００，ＭＣＵＴ０１，ＭＣＵＴ０４２２３がマトリクス状に配置されている。
なお、図３では、図面の簡単化のために、１行４２２４列の４２２４個のメモリセルユニットＭＣＵＴ００〜ＭＣＵＴ０４２２３が配列された１行のブロックＢＬＫ０のみについて示しているが、実際には、ブロックＢＬＫ０と同様の構成を有する複数（ｍ個）のブロックＢＬＫ１〜ＢＬＫｍがさらに配列される。
また、図３の例では、ビット線本数は、通常５１２バイトに予備の１６バイトを加えた５２８バイト、つまり４２２４本としている。
【００３３】
ローデコーダ２２２は、ブロックアドレスデコーダ２２３により導通状態が制御される転送ゲート群２２２１、ワード線デコーダから供給されるワード線および選択ゲート線用駆動電圧供給線ＶＣＧ０〜ＶＣＧ１５，ＶＳＳＬ，ＶＧＳＬを有している。
なお、図３では、図面の簡単化のために、ブロックＢＬＫ０に対応するブロックアドレスデコーダ部分並びに転送ゲート群を示しているが、実際には、複数配列される図示しないブロックに対応してブロックアドレスデコーダ部分並びに転送ゲート群が設けられる。
転送ゲート群２２２１は、転送ゲートＴＷ０〜ＴＷ１５，ＴＤ０およびＴＳ０により構成されている。
転送ゲート群２２２１は、ブロックアドレスデコーダ２２３でデコードされたブロックアドレスに応答して生成され、対応するブロックの選択ゲート線およびワード線を駆動するための信号ＢＳＥＬによって導通状態に保持させる。
具体的には、ブロックＢＬＫ０がアドレス指定されていた場合、各転送ゲートＴＷ０〜ＴＷ１５は、それぞれブロックアドレスデコーダ２２３の出力信号ＢＳＥＬ０に応じてワード線ＷＬ０〜ＷＬ１５と駆動電圧供給線ＶＣＧ０〜ＶＣＧ１５とを作動的に接続し、転送ゲートＴＤ０，ＴＳ０は同じくブロックアドレスデコーダ２２３の出力信号ＢＳＥＬ０に応じて選択ゲート線ＳＳＬ，ＧＳＬと駆動電圧供給線ＶＤＳＧ，ＶＳＳＧとを作動的に接続する。
【００３４】
ブロックアドレスデコーダ２２３は、ブロックアドレスをデコードし、デコードしたブロックアドレスに応答して、ローデコーダ２２２の対応するブロックの選択ゲート線およびワード線を駆動するための転送ゲート群２２２１を信号ＢＳＥＬによって導通状態に保持させる。
【００３５】
ホストバスインタフェース２１１は、たとえばデータバスとして１６ビットバス幅（Ｄ［１５：０］を有し、アドレスバスとして１８ビットバス幅（Ａ［１７：０］）を有する。
また、ホスト装置であるＣＰＵ３からホストバスインタフェース２１１に転送される信号としては、リセット信号ＲＳＴ＃、バーストイネーブル信号ＢＥ＃、チップイネーブル信号ＣＥ［０：１］＃、リードイネーブル信号ＯＥ＃、ライトイネーブル信号ＷＥ、バーストクロックＢＳＴＣＬＫ等が含まれる。
ホストバスインタフェース２１１からＣＰＵ３に転送される信号としては、レディ信号ＲＤＹ、バッファレディ信号ＢＲＤＹ、インタラプト信号ＩＮＴ＃等が含まれる。
これらの信号で、＃符号が付されている信号はローレベルでアクティブの信号である。
【００３６】
本実施形態のホストバスインタフェース２１１は、非同期モードと同期モードの２つのアクセス方法をサポートしている。
この非同期モードと同期モードの切り替えは、バーストイネーブル信号ＢＥ＃により制御され、このモード変更は後で説明するコンフィギュレーションレジスタ(Configuration Register)におけるフラグを変更することにより可能である。バーストイネーブル信号ＢＥ＃がローレベルであれば同期モードを意味する。
ホストバスインタフェース２１１がＣＰＵ３に転送するレディ信号ＲＤＹは、バッファとしてのＳＲＡＭ２１４に、要求されたデータの準備が間に合わない場合にネゲート(negate)して、ホスト装置であるＣＰＵ３に待ってもらう役割をする。
【００３７】
ホストバスインタフェース２１１は、図４に示すようなメモリ空間１００を割り当てる。
メモリ空間１００は、ＮＡＮＤ型フラッシュメモリ２２の先頭２５６ＫＢがそのまま見えるランダムアクセス空間（ランダムアクセス領域という場合もある）１１０と、ＮＡＮＤ型フラッシュメモリ２２を制御するためのコマンドやそのパラメータを書き込むレジスタやステータス（Status）を読むレジスタ、データを読み書きするレジスタなどを含むレジスタ空間１２０の二つに分かれる。
それらのランダムアクセス空間１１０とレジスタ空間１２０が通常のメモリ空間に割り
当てられ、基本的にはアドレス、データ、リード、ライト（R/W）信号、レディ信号ＲＤＹでアクセスが可能である。
【００３８】
レジスタ空間１２０に割り当てられる各種レジスタには、ＮＡＮＤデータレジスタ(NAND Data reg)１２１、コンフィギュレーションレジスタ(Config reg)１２２、バンクレジスタ(Bank reg)１２３、セクタカウントレジスタ(Sector count reg)１２４、アドレスハイレジスタ(Address High reg)１２５、アドレスローレジスタ(Address Low reg)１２６、コマンドレジスタ(Command reg)１２７、ステータスレジスタ(Status reg)１２８、インタラプトレジスタ(INT reg)１２９、インタラプトイネーブルレジスタ(INTEN reg)１３０、リセットレジスタ(Reset reg)１３１、等を含む。
【００３９】
ＮＡＮＤデータレジスタ１２１は、ホスト装置としてのＣＰＵ３からフラッシュメモリモジュール２内のバッファ（ＳＲＡＭ）２１４へ、またはバッファ（ＳＲＡＭ）２１４
からＣＰＵ３にデータを転送するために使用される。
【００４０】
コンフィギュレーションレジスタ１２２は、動作設定を変更するレジスタであり、同期モードと非同期モードの切り替えを行うために使用可能である。たとえばレジスタ１２２の所定ビットが０(ディフォルト値)にセットされると、非同期モードを示し、１にセットされると同期モードを示す。
【００４１】
バンクレジスタ１２３は、バンクチェンジコマンドを実行するとき、読み出すバンクの値（たとえば０〜６３）がセットされる。本レジスタ１２３を読み出すと、ランダムアクセス領域１１０で読み出せるバンクの値を示すことになる。
【００４２】
セクタカウントレジスタ１２４は、コマンドの実行するセクタ数を書き込むレジスタである。実行するセクタ数をセットするコマンドでは、ＣＰＵ３（ホスト）−メモリデバイス間の残りの転送セクタ数が読み出される。
【００４３】
アドレスハイレジスタ１２５は、コマンドを開始するセクタアドレスのＬＢＡ［２７：１６］を書き込むレジスタである。コマンドの正常終了時に本レジスタ１２５からアクセスした最終セクタアドレスのＬＢＡ［２７：１６］を読み出すことができる。開始するアドレスをセットするコマンドでは、ＣＰＵ３（ホスト）−メモリデバイス間でこれから転送するアドレスが読み出される。
【００４４】
アドレスローレジスタ１２６は、コマンドを開始するセクタアドレスのＬＢＡ［１５：００］を書き込むレジスタである。コマンドの終了時に本レジスタ１２５からアクセスした最終セクタアドレスのＬＢＡ［１５：００］を読み出すことができる。開始するアドレスをセットするコマンドでは、ＣＰＵ３（ホスト）−メモリデバイス間でこれから転送するアドレスが読み出される。
【００４５】
コマンドレジスタ１２７は、メモリデバイスに対してコマンドを発行するためのレジスタであり、コマンドが書き込まれると速やかにコマンド処理を開始する。本レジスタ１２７からＣＰＵ３が書き込んだ値が読み出し可能である。
【００４６】
ステータスレジスタ１２８は、メモリデバイスの状態を返す読み出し専用のレジスタである。ステータスレジスタ１２８は、先行するコマンドのエラー情報を提供するエラービット群、ＢＳＹビット、ＣＯＲＲビット、ＢＦＲＤＹビット、ＢＲＤＹビットを含む。
ＢＳＹビットは、たとえば１がセットされるとメモリデバイスがコマンド受付不可状態であることを示し、０がセットされるとメモリデバイスがコマンド受付可能状態であることを示す。
ＣＯＲＲビットは、直前のコマンド実行中にコレクタブルエラーが発生し、データを訂正した場合に１がセットされる。
ＢＦＲＤＹビットは、たとえば１がセットされるとバンクレジスタ１２３で示されたバンク値のデータが読み出せることを示し、０がセットされると、ランダムアクセス空間（領域）１１０のデータが読み出せないことを示す。このＢＦＲＤＹビットは、パワーオンリセット、ハードウェアリセット、ソフトウェアリセット、または、コマンドレジスタ１２７へのコマンドの書き込みで０になる。
ＢＲＤＹビットは、たとえば１がセットされるとパワーオンリセット、ハードウェアリセット時にランダムアクセス領域のバンク０のデータが正常に読み出せたことを示し、０がセットされるとワーオンリセット、ハードウェアリセット時にランダムアクセス領域のデータが正常に読み出せなかったことを示す。ＢＲＤＹビットは、パワーオンリセット、ハードウェアリセットで０になる。
【００４７】
インタラプトレジスタ１２９は、割り込み状態を示し、ＥＲＲＯＲＩＮＴビット、ＣＭＤＣＰＩＮＴビット、ＷＲＲＤＹＩＮＴビット、ＲＤＲＤＹＩＮＴビットを含む。
ＥＲＲＯＲＩＮＴビットは、コマンド発行中にエラーが発生したときに１になる。また、オートバンクチェンジでエラーが発生した場合も１になる。
ＣＭＤＣＰＩＮＴビットは、コマンドが正常終了したときにセットされる。
ＷＲＲＤＹＩＮＴビットは、ＣＰＵ３がデータレジスタ１２１にデータが書き込み可能なとき、１セクタごとに１になる。
ＲＤＲＤＹＩＮＴビットは、ＣＰＵ３がデータレジスタ１２１からデータを読み出し可能なとき、１セクタごとに１になる。
【００４８】
インタラプトイネーブルレジスタ１３０は、割り込みビットの有効、無効をセットするレジスタである。
【００４９】
リセットレジスタ１３１は、ＣＰＵ３がリセット（ハードウェアリセット、ソフトウェアリセット）を要求するときにセットするレジスタである。
【００５０】
本実施形態においては、各種レジスタを経由してＮＡＮＤメモリ空間（１２８ＭＢ）の全部をアクセスする本来の基本的機能に加えて、先頭の２５６ＫＢのアドレス空間を本発明の方法でアクセスできる機能を併せ持つ。
【００５１】
次に、以上の基本的機能に加えて、本実施形態の特徴的な機能である、フラッシュメモリモジュール２のコントローラ２１３におけるバンクチェンジ(Bank change)機能を、図５に関連付けて説明する。
なお、ここでは、説明のため、ＮＡＮＤ型フラッシュメモリの先頭アドレスから４ＫＢ単位にくぎりそれをバンクという単位で呼ぶ。この４ＫＢはバッファとしてのＳＲＡＭ２１４のサイズと同じである。したがって、バンクナンバー(バンク値)は０〜６３である。
【００５２】
本実施形態のオートバンクチェンジ機能においては、バンクレジスタ１２３がＳＲＡＭ２１４にデータを格納するバンクナンバー(バンク値)を保持する。異なる(他の)アドレスが要求されると、コントローラ２１３がレディ信号ＲＤＹをネゲートし、ＮＡＮＤ型フラッシュメモリ２２からＳＲＡＭ２１４にデータをロードし、そしてレディ信号ＲＤＹをアサート(assert)する。このバンクチェンジに要する時間は、１００μｓ程度である。
このように、オートバンクチェンジ機能においては、コントローラ２１３は、アドレスラインに従って自動的にバンクを変更(チェンジ)する。そして、このバンクチェンジ期間中は、コントローラ２１３は、レディ信号ＲＤＹをネゲートする。
【００５３】
さらに、コントローラ２１３は、コマンドバンクチェンジ機能を有し、ホスト装置であるＣＰＵ３により発行されたバンクチェンジコマンドをトリガとしてバンクチェンジを行う。そして、コントローラ２１３は、ＮＡＮＤ型フラッシュメモリ２２からＳＲＡＭ２１４へのデータロードを開始する。
ＣＰＵ３は、ステータスレジスタ１２８を読むことによって、バンクチェンジンが終了したかを知ることができる。あるいは、ＣＰＵ３はインタラプト信号ＩＮＴ＃によってもバンクチェンジが終了したかを知ることができる。
このコマンドバンクチェンジ機能により、ホスト装置であるＣＰＵ３がバンク切り替えの間他の仕事をすることも可能である。
【００５４】
以下に、バッファとしてのＳＲＡＭを用いたランダムアクセス処理についての基本的な動作を説明する。
【００５５】
ＮＡＮＤフラッシュメモリモジュール２において、電源投入（オン）後、初期化を含む起動処理を実行した後、ランダムアクセス領域の先頭４ＫＢデータをＮＡＤＮ型フラッシュメモリ２２から読み出し、４ＫＢのバッファであるＳＲＡＭ２１４にロード(コピー)する。ロードが完了すると、その旨をバッファレディ信号ＢＲＤＹをハイレベルに設定してホスト装置であるＣＰＵ３に伝達する。
ＣＰＵ３は、フラッシュメモリモジュール２とはアドレスバス、データバス、リードイネーブル信号ＯＥ＃、ライトイネーブル信号ＷＥ＃、レディ信号ＲＤＹにより接続する。
ＣＰＵ３が０から２５６ＫＢまでの間のランダムアクセス領域をリードしようとする場合、それが先頭４ＫＢであれば、すでにバッファであるＳＲＡＭ２１４にロードされているのでそのままリードできる。
もしそれ以外の場所であると、フラッシュメモリモジュール２はレディ信号ＲＤＹをネゲートし、ＮＡＮＤ型フラッシュメモリ２２の記憶領域から必要とする４ＫＢ分のデータを読み出しＳＲＡＭ２１４にロード（コピー）する。それが完了すると、フラッシュメモリモジュール２はレディＳ信号ＲＤＹをアサートし、これにより、ＣＰＵ３はデータを読むことができる。
【００５６】
ＳＲＡＭ２１４にコピーされているバンクとホスト装置であるＣＰＵ３がアクセスしようとするバンクが同じかどうかは、ＳＲＡＭのバンクナンバーを保持しているバンクレジスタ１２３とアドレスバスの上位ビットを比較することにより可能である。これが異なれば必要とするバンクのデータをＮＡＮＤ型フラッシュメモリ２２からＳＲＡＭ２１４にコピーする作業を行う。
【００５７】
このようなメカニズムにより、ＣＰＵ３は、コマンドベースでやりとりしていた面倒な処理を一切行うことなくＮＡＮＤ型フラッシュメモリ２２にアクセスすることができる。
また、シーケンシャルアクセスが基本のため、ハードディスクや光ディスクのメディアのようにファイルシステムを介してアクセスする必要があったものが、本実施形態によれば、ホスト装置であるＣＰＵ３と接続すればその必要もない。
【００５８】
本実施形態においては、ランダムアクセス領域を２５６ＫＢに限っていたが、アドレスピンを追加すれば同じ方法でいくらでもランダムアクセス空間を拡張できる。
また、バンク切り替えの際にそのバンクをＮＡＮＤ型フラッシュメモリ２２にライトバックする処理を追加すればライト動作にも対応できる。
この場合、ＳＲＡＭ２１４への書き込みがされたかどうかをフラグ（Flag）に記録しておき、バンク切り替えの際にそのフラグによってライトバックするかどうかを制御すれば無駄なライト処理をしなくてすむ。
また、ＳＲＡＭを複数設ければ、たとえばホスト装置が離れた２バンクにわたる部分を頻繁にアクセスする場合においてもバンク切り替えが発生しないようにできる。
【００５９】
また、本実施形態においては、自動でバンク切り替えができるモードに加え、通常のバンクの切り替えを命ずるコマンドも装備しており、ホストが事前に、アクセスしたいバンクに切り替えてからその切り替え作業が終了したことをステータスレジスタのフラグか、あるいはハード的なレディ信号ＲＤＹ、あるいは終了をインタラプト (割り込み)によりするなどしてからそのアドレスにアクセスすることもできる。このようにすればホストがバンク切り替えの間他の仕事をすることも可能である。
【００６０】
以上、本実施形態に係るフラッシュメモリモジュールの構成および機能に付いて説明した。以下に、本実施形態に係るフラッシュメモリモジュールにおけるオートバンクチェンジ回路の具体的な構成例について説明する。
【００６１】
図６は、本実施形態に係るフラッシュメモリモジュールにおけるリードのみに対応したオートバンクチェンジ回路の具体的な構成例を示す図である。
なお、図６においては、図１および図２と同一構成部分は同一符号をもって表している。
【００６２】
図６のオートバンクチェンジ回路３００は、フラッシュコントローラ２１３、バッファであるＳＲＡＭ２１４、ＮＡＮＤ型フラッシュメモリ２２に加えて、バンクレジスタ１２３は、バンクナンバーレジスタ１２３−１とカレントバンクナンバーレジスタ１２３-２を含み、さらに、２入力負論理ＡＮＤゲート３０１、スルーラッチ３０２、比較器３０３、インバータ３０４、制御端子付インバータ３０５、ＣＰＵ(制御部)３０６、バス３０７を有している。
【００６３】
図６において、ホスト装置であるＣＰＵ３(図６は図示せず)がデータをリードしようとすると、ＣＰＵ３が発行した１８ビットのアドレスＡＤＲ［０：１７］のうちの６ビットのアドレスＡＤＲ［１１：１７］がチップイネーブル信号ＣＥ＃、リード信号ＲＤ＃に同期してスルーラッチ３０２を通し、比較器３０３に入力される。
比較器３０３においては、カレントバンクナンバーレジスタ１２３−２の保持データと入力アドレスＡＤＲ［１１：１７］とが比較される。カレントバンクナンバーレジスタ１２３−２には現在４ＫＢのバッファであるＳＲＡＭ２１４にデータロードされているバンクナンバーがセットされている。入力アドレス値がこの値と同じであれば、比較器３０３の出力はローレベルＬとなり、インバータ３０５を介してレディ信号ＲＤＹがハイレベルＨとなる。これにより、ホスト装置であるＣＰＵ３は４ＫＢバッファであるＳＲＡＭ２１４からデータを読み出す。
比較器３０３の比較処理の結果、入力アドレス値がカレントバンクナンバーレジスタ１２３−２のバンクナンバーと同じでない場合は、比較器３０３の出力がハイレベルとなり、インバータ３０５を介してレディ信号ＲＤＹがローレベルＬとなる。その結果、ホスト装置であるＣＰＵ３は、リード処理が待ち状態（Wait）となる。
【００６４】
これと並行して、インバータ３０４の出力がローレベルＬとなって、ＣＰＵ３０６にインタラプト(割り込み)がかかりＣＰＵ３０６はそれによって処理を開始する。
まず、ホスト装置であるＣＰＵ３が要求しているバンクナンバーをバンクナンバーレジスタ１２３−１から読み出し、これに基づきフラッシュコントローラ２１３を制御してＮＡＮＤ型フラッシュメモリ２２から４ＫＢのデータをバッファであるＳＲＡＭ２１４に読み出す。
この処理が完了すると、ＣＰＵ３０６はカレントバンクナンバーレジスタ１２３−２にそのバンクナンバーをセットする。これにより、比較器３０３の出力がローレベルＬとなり、インバータ３０５を介してレディ信号ＲＤＹがハイレベルＨとなる。これにより、ホスト装置であるＣＰＵ３はリード作業を再開し、４ＫＢのバッファであるＳＲＡＭ２１４から要求したアドレスのデータを読み出し、リード処理を完了する。
【００６５】
図７は、本実施形態に係るフラッシュメモリモジュールにおけるリードおよびライトに対応したオートバンクチェンジ回路の具体的な構成例を示す図である。
なお、図７においては、図６と同一構成部分は同一符号をもって表している。
図７のオートバンクチェンジ回路３００Ａは、図６の回路の構成要件に加えて、２入力負論理ＡＮＤゲート３０８、２入力ＮＯＲゲート３０９、およびフリップフロップ（ＤＦＦ１−１）３１０を有している。
【００６６】
リード処理について、基本的に図６の場合と同様である。
ライト時には、ライト信号ＷＤ＃、チップイネーブル信号ＣＥ＃がローレベルとなり、要求されたアドレスＡＤＲ［１１：１７］がスルーラッチ３０２を通して比較器３０３に入力される。
比較器３０３においては、入力アドレス値がカレントバンクナンバーレジスタ１２３−２のバンクナンバーと同じ場合は、比較器３０３の出力がローレベルＬとなり、インバータ３０５を介してレディ信号ＲＤＹがハイレベルＨとなる。その結果、ホスト装置であるＣＰＵ３は４ＫＢのバッファであるＳＲＡＭ２１４に対して書き込みがされアクセスが終了する。
その際に、負論理ＡＮＤゲート３０８の出力信号Ｓ３０８がローレベルＬからハイレベルＨとなり、このエッジでフリップフロップ（DFF1-1）３１０がセットされる。このフリップフロップ（DFF1-1）３１０はＣＰＵ３０６からリセットされるまではこの状態を保持する。
次に、カレントバンクと異なるアドレスにリードあるいはライトしようとすると、比較器３０３の出力がハイレベルＨとなり、インバータ３０５を介してレディ信号ＲＤＹがローレベルＬとなりホスト装置であるＣＰＵ３に対してウェイト（Wait）をかける。
【００６７】
これと並行して、インバータ３０４の出力がローレベルＬとなって、ＣＰＵ３０６にインタラプト(割り込み)がかかりＣＰＵ３０６はそれによって処理を開始する。
ＣＰＵ３０６は、フリップフロップ（DFF1-1）３１０の値（WRあり）を読み、これがハイレベルＨの場合は現在の４ＫＢ中に書き込みがされた履歴であるのでまず、４ＫＢの内容をフラッシュメモリ２２のしかるべきところへ書き戻す制御をフラッシュコントローラ２１３に行う。
その処理が終了後、今度はホスト装置であるＣＰＵ３から要求されているバンクのデータをフラッシュメモリ２２から読み出し４ＫＢのバッファであるＳＲＡＭ２１４にロードする制御を行う。
これが完了すると、ＣＰＵ３０６はカレントバンクナンバーレジスタ１２３−２に新たなバンクナンバーをセットし、これと並行して、フリップフロップ（DFF1-1）３１０をWRクリア信号によりクリアする。
これにより、比較器３０３の出力はローレベルＬとなり、インバータ３０５を介してレディ信号ＲＤＹがハイレベルＨとなり、ホスト装置であるＣＰＵ３は動作を再開し、リードあるいはライトを行い、処理を完了する。
【００６８】
参考のため、以上のレディ信号を用いたリードおよびライト動作に対応したタイミングチャートを図８〜図１１に示す。
図８は非同期リード時のタイミングチャートであり、図９は非同期ライト時のタイミングチャートであり、図１０は同期バーストリードのタイミングチャートであり、図１１は同期バーストライトのタイミングチャートである。
【００６９】
以上の説明では、レディ信号ＲＤＹを用いたシステム制御について説明したが、ホスト装置側にレディ信号ＲＤＹの受け口がないシステムも考えられる。
そのようなシステムでの対応可能な構成について以下に説明する。
【００７０】
図１２は、レディ信号ＲＤＹを使用しない場合のバンクチェンジの説明図である。
図１２に示すように、各バンク０〜６３の先頭番地をレディRDYの識別のためのチェックアドレスＣＨＫＡとして使用する。
ホスト装置であるＣＰＵ３は、バンクを超えるアクセスをする際にまずはそのバンクの0番地をリードする。
【００７１】
図１３は、レディ信号を使用しない場合のバンクチェンジ回路の構成例を示す図である。
図１３においては、図６および図７の構成に追加される部分のみを記述してある。図１３中の比較器３０３、４ＫＢバッファとしてのＳＲＡＭ２１４は図６および図７中のそれそのもののことである。
図１３のオートバンクチェンジ回路３００Ｂは、図７の回路の構成要件に加えて、２入力ＮＡＮＤゲート３１１〜３１４、アドレスデコーダ３１５、インバータ３１６，３１７、およびフリップフロップ（ＤＦＦ４−１）３１８を有している。
【００７２】
ホスト装置であるＣＰＵ３は，バンクを超えるアクセスをするときは、まず、そのバンク内の先頭番地をアクセスする。
もし、カレントバンクナンバーとおなじバンクであれば、比較器３０３の出力はローレベルＬとなり４ＫＢのバッファであるＳＲＡＭ２１４へのＣＥ端子にはホスト装置であるＣＰＵ３からのチップイネーブル信号ＣＥ＃が２入力ＮＡＮＤゲート３１１〜３１４を通してそのまま入り通常の動作をする。
異なるバンクをアクセスするときには、まず、そのバンクの先頭番地をアクセスする。すると比較器３０３の出力がハイレベルＨとなり、ＮＡＮＤゲート３１３の出力であるリードアドレス０（Read address 0）信号ＲＡ０がローレベルＬとなる。それによってインバータ３１７の出力DATA0にはフリップフロップ３１８の値が出力される。
ホスト装置であるＣＰＵ３にはＲＤＹ信号ピンが接続されないのでウェイト（Wait）されることなくリード処理が完了する。完了する際にフリップフロップ３１８のクロック入力が立ち上がりフリップフロップ３１８の値を反転させる。ホスト装置であるＣＰＵ３はもう一度同じアドレスを読みに行くと、同様にフリップフロップ３１８が読めるが、値が反転しているため前回と異なる値が読める。このリードが完了する際に、同様にフリップフロップ３１８の値が反転する。
【００７３】
このように、読むたびに値が反転するため、ホスト装置であるＣＰＵ３側は連続して読んだ値が一致しない。この間に、ＣＰＵ３０６（図６、図７）は図６、図７に関連付けて説明したようにフラッシュコントローラ２１３を制御してホスト装置であるＣＰＵ３が要求したバンクのデータをフラッシュメモリ２２から読み出し４ＫＢのバッファであるＳＲＡＭ２１４に用意する。
これが完了すると比較器３０３の出力がローレベルＬとなりリードアドレス信号ＲＡ０がハイレベルＨとなり４ＫＢバッファであるＳＲＡＭ２１４のＣＥ端子にホスト装置であるＣＰＵ３のチップイネーブル信号ＣＥ＃がＮＡＮＤゲート３１１〜３１４を通してアクティブのローレベルで入力され、４ＫＢのＳＲＡＭ２１４にアクセスできるようになる。
ホスト装置であるＣＰＵ３は連続して読み出し値が一致することを確認してバンクが切り替わったことを知る。
【００７４】
図１４は、図１３で説明したケースにおいて、ホスト装置側のソフト制御のフローチャートである。
また、図１５は図１４のフロー中のバンクチェンジ確認方法部分のフローチャートである。
【００７５】
図１４の処理は、ステップＳＴ１において、ホスト装置であるＣＰＵ３はバンクの境界を超えるか否かの判定を行う。
バンクの境界を超える場合にはアドレスを発行し、フラッシュメモリモジュール２に対してバンクチェンジ要求を行う（ＳＴ２）。そして、バンクチェンジ確認を行う（ＳＴ３）。
バンクチェンジ確認後あるいはステップＳＴ１においてバンクの境界を超えないと判定した場合、アドレスを発行し、目的のデータを読み出す（ＳＴ４，ＳＴ５）。
【００７６】
ステップＳＴ３のバンク確認処理は、図１５に示すように、チェックアドレスＣＨＫＡを読み込み（ＳＴ３１）、ウェイトをかけ（ＳＴ３２）、再度チェックアドレスＣＨＫＡを読み込み（ＳＴ３３）、前回と一致しているか否かを判定（ＳＴ３４）。
ステップＳＴ３４において、一致していると判定した場合はバックチェンジ確認処理を出力する。
一方、一致していないと判定した場合にはステップＳＴ３２の処理に戻り、一致判定が得られるまでステップＳＴ３２〜ＳＴ３４の処理を繰り返す。
【００７７】
この方法により、ホスト装置であるＣＰＵ３とのインタフェース（I/F）２１１にレディ信号ＲＤＹのための端子がなくても、ソフト制御だけでバンクチェンジが可能であり、またその制御のために追加のメモリ空間も必要なく、しかも与えられたメモリ空間を占有することもない。この方法であれば既存のＣＰＵのインタフェース（I/F）で使用することができる。
【００７８】
以上説明したように、本実施形態によれば、フラッシュメモリモジュール２のフラッシュコントローラ２１は、ホスト装置としてのＣＰＵ３とはアドレス、コマンドバス、データバスでつながり、バッファの容量以上のメモリ空間に割り当てられ、アクセスされた空間がバッファにロードされている空間であるかどうかを自動的に判断し、異なる場合にそれに相当する記録メディア中、すなわちＮＡＮＤ型フラッシュメモリ２２のデータをバッファであるＳＲＡＭ２１４にロードし、ＣＰＵ３からランダムリードアクセスできるように制御することから、ＮＡＮＤ型フラッシュメモリがランダムアクセス空間としてみえ、コマンド制御方法など煩雑な手続きぬきにＮＡＮＤ型フラッシュメモリにアクセスすることができる。
【００７９】
また、本実施形態のフラッシュメモリモジュール２は、バッファであるＳＲＡＭ２１４にロードされている空間に対して書き込みがされたことを記録保持する機能を有し、書き込みがされたときのみ記録メディアであるＮＡＮＤ型フラッシュメモリ２２に書き戻す機能を有することから、以下の効果を得ることができる。
ランダムアクセスができるインタフェース（I/F）をもったＮＡＮＤ型フラッシュッメモリあるいはシステムも存在するが、ランダムアクセスする前にしかるべき手順でコマンドを発行して、必要なデータをＮＡＮＤ型フラッシュメモリからランダムアクセスできるＲＡＭへ読み出すという作業を事前にする必要があり煩雑であるが、これに対して、本実施形態では煩雑な手順が不要となり、容易にアクセスが可能である。
【００８０】
また、メモリ（メディア）からからバッファ（本実施形態ではＳＲＡＭ）へのロード中にホスト装置に対してウェイト（Wait）をさせるためのレディ信号ＲＤＹの代わりに、識別するためのアドレスをバッファ内に割り付け、そのアドレスを読むことにより、読むたびに異なる値が読めれば非レディ（Not ready）、同じ値が読めればレディRDYであることが識別することができるようにしたので、以下の効果を得ることができる。
ＮＡＮＤ型フラッシュメモリの容量にくらべてそれ以下のサイズの実ＲＡＭを用意するだけでＮＡＮＤ型フラッシュメモリの容量分をメモリ空間にわりあてて、ホストから自由にランダムアクセスが可能となる。ミス（Miss）ヒットしない場合の処理もすべて制御装置がおこない、ホスト装置側になんら特別な仕組みを必要としない。
そして、この方法により、ホスト装置とのインタフェース（I/F）にレディ信号用端子がなくても、ソフト制御だけでバンクチェンジが可能であり、またその制御のために専用のレジスタを割り付けるなどの追加のメモリ空間も必要なく、しかも与えられたメモリ空間を占有することもない。この方法であれば既存のＣＰＵのインタフェース（I/F）で使用することができるという利点がある。
【図面の簡単な説明】
【００８１】
【図１】本発明に係る半導体記憶装置を採用した信号処理システムの全体構成を示すブロック図である。
【図２】本実施形態に係るＮＡＮＤ型フラッシュメモリモジュールの構成例を示すブロック図である。
【図３】本実施形態に係るＮＡＮＤ型フラッシュメモリのセルアレイ構造例を示す図である。
【図４】本実施形態のメモリ空間を説明するための図である。
【図５】本実施形態のフラッシュメモリモジュールのコントローラにおけるバンクチェンジ(Bank change)機能を説明するための図である。
【図６】本実施形態に係るフラッシュメモリモジュールにおけるリードのみに対応したオートバンクチェンジ回路の具体的な構成例を示す図である。
【図７】本実施形態に係るフラッシュメモリモジュールにおけるリードおよびライトに対応したオートバンクチェンジ回路の具体的な構成例を示す図である。
【図８】非同期リード時のタイミングチャートである。
【図９】非同期ライト時のタイミングチャートである。
【図１０】同期バーストリードのタイミングチャートである。
【図１１】同期バーストライトのタイミングチャートである。
【図１２】レディ信号ＲＤＹを使用しない場合のバンクチェンジの説明図である。
【図１３】レディ信号を使用しない場合のバンクチェンジ回路の構成例を示す図である。
【図１４】図１３で説明したケースにおいて、ホスト装置側のソフト制御のフローチャートである。
【図１５】図１４のフロー中のバンクチェンジ確認方法部分のフローチャートである。
【符号の説明】
【００８２】
１・・・信号処理システム、２・・・ＮＡＮＤ型フラッシュメモリモジュール（ＮＤＦＬＭ）、３・・・ホスト装置としてのＣＰＵ、４・・・ＤＲＡＭ、５・・・バス、２１・・・フラッシュメモリモジュール、２１・・・フラッシュコントローラ、２２（−１，−２）ＮＡＮＤ型フラッシュメモリ、２１１・・・ホストバスインタフェース（HI/F）、２１２・・・メモリインタフェース(MI/F)、２１３・・・コントローラ、２１４・・・バッファ（ＳＲＡＭ）、１００・・・メモリ空間、１１０・・・ランダムアクセス空間、１２０・・・レジスタ空間。
【図１】
2007280140.tif 000003
【図２】
2007280140.tif 000004
【図３】
2007280140.tif 000005
【図４】
2007280140.tif 000006
【図５】
2007280140.tif 000007
【図６】
2007280140.tif 000008
【図７】
2007280140.tif 000009
【図８】
2007280140.tif 000010
【図９】
2007280140.tif 000011
【図１０】
2007280140.tif 000012
【図１１】
2007280140.tif 000013
【図１２】
2007280140.tif 000014
【図１３】
2007280140.tif 000015
【図１４】
2007280140.tif 000016
【図１５】
2007280140.tif 000017