(57)【特許請求の範囲】
【請求項１】
書き換え可能な不揮発性メモリと、バッファメモリと、コントローラとを備えるメモリシステムであって、
前記コントローラは、第１のデータバッファを有する第１のデータ転送制御部と、第２のデータバッファを有する第２のデータ転送制御部とを有し、
前記バッファメモリは、前記第１のデータバッファを介して外部装置に接続され、及び、前記第２のデータバッファを介して前記不揮発性メモリに接続され、
前記コントローラは、前記外部装置からのライトアクセス要求に応答して、前記第１のデータバッファから前記バッファメモリへのデータブロックの書き込み処理と、続く前記バッファメモリから前記第２のデータバッファへの該データブロックの読み出し処理とを実施し、さらに、該書き込み処理と該読み出し処理とに並行して、該書き込み処理と該読み出し処理とが実施される前記データブロックの次のデータブロックが前記外部装置から前記第１のデータバッファに転送されることとなるように、かつ、該書き込み処理と該読み出し処理とが実施される前記データブロックの１つ前のデータブロックが前記第２のデータバッファから前記不揮発性メモリに転送されることとなるように時分割方式で制御を行い、
前記時分割方式による制御が繰り返されて、前記第２のデータバッファから前記不揮発性メモリに２以上の所定数の一連のデータブロックが転送された後に、前記不揮発性メモリは、前記コントローラからのコマンドに応答して、該不揮発性メモリへの該一連のデータブロックの書き込み動作を開始し、
前記書き込み動作において書き込みを正常に終了した場合は、前記不揮発性メモリは書き込みの正常終了を前記コントローラに通知し、
前記書き込み動作において書き込みエラーを生じた場合は、前記不揮発性メモリは書き込み失敗を前記コントローラに通知し、
前記コントローラは、前記書き込み失敗が通知されると、前記不揮発性メモリに失敗に係る書き込み処理を要求すると共に、前記外部装置からの後続の書き込みデータの転送を受けることからなる、メモリシステム。
【請求項２】
前記コントローラは、前記外部装置からのリードアクセス要求に応答して、前記第２のデータバッファから前記バッファメモリへのデータブロックの書き込み処理と、続く前記バッファメモリから前記第１のデータバッファへの該データブロックの読み出し処理とを実施し、さらに、該書き込み処理と該読み出し処理とに並行して、該書き込み処理と該読み出し処理とが実施される前記データブロックの次のデータブロックが前記不揮発性メモリから前記第２のデータバッファに転送されることとなるように、かつ、該書き込み処理と該読み出し処理とが実施される前記データブロックの１つ前のデータブロックが前記第１のデータバッファから前記外部装置に転送されることとなるように時分割方式で制御を行うことからなる、請求項１に記載のメモリシステム。
【請求項３】
前記コントローラは、前記外部装置からのライトアクセス要求に対する全ての処理を終了すると、前記外部装置にライト転送終了通知を与える、請求項１または２に記載のメモリシステム。
【請求項４】
前記コントローラは、前記外部装置からのリードアクセス要求に対する全ての処理を終了すると、前記外部装置にリード転送終了通知を与える、請求項２に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部からのアクセス要求に応答して外部インタフェースと不揮発性メモリのアクセス制御とを行うメモリシステムにおけるアクセスデータのバッファリング技術に関し、例えばフラッシュメモリカードに適用して有効な技術に関する。
【背景技術】
【０００２】
フラッシュメモリカードはフラッシュメモリとコントローラを備え、フラッシュメモリカードに接続するホスト装置の動作速度に比べてフラッシュメモリの動作速度、特に書き込み若しくは書き換え動作速度が遅いため、その動作速度の違いを吸収するためにコントローラはバッファメモリを備える。前記コントローラは外部からの書き込み要求に応答して、外部からの書き込みデータをバッファメモリに入力し、入力したデータをフラッシュメモリに書き込み制御する。また、コントローラは外部からの読み出し要求に応答して、フラッシュメモリから読み出したデータをバッファメモリに一時的に蓄積し、蓄積したデータを外部に出力する。従来のバッファメモリには比較的小容量のＳＲＡＭ（Static Random Access Memory）若しくはスタティックラッチ等を採用するものが多い。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、小容量のＳＲＡＭを採用したのでは、外部からバッファメモリに入力したデータをフラッシュメモリに書き込みが完了するまでホスト装置からメモリカードへのデータ転送を待たせなければならない。また、フラッシュメモリからバッファメモリに蓄積した読み出しデータを外部に出力するまでフラッシュメモリの新たな読み出し動作を待たせなければならない。特に、フラッシュメモリへの書き込みを失敗した場合、例えば当初の書き込み動作を行ったセクタの不良により代替セクタへの再書き込みを行わなければならないとき、ホスト装置から次の書き込みデータをバッファメモリに受取ることができない。すなわち、フラッシュメモリとコントローラとの間の問題によりホスト装置とコントローラ間のデータ転送を待たせなければならない。これによって、ホスト装置の負担及び処理時間が増えて、データ処理効率が低下するとい問題を生ずる。
【０００４】
本発明者は上記問題点を検討する過程において、公知ではないが、本出願人による特許出願の存在を確認した。特願２００１−１７４９７８、特願２００１−１７７９２４、特願２００１−２１３６３９、特願２００１−２１３６４０である。これらの出願は揮発性メモリとしてのＳＤＲＡＭの記憶情報をバックアップするのに不揮発性メモリとしてのフラッシュメモリを用いる技術を提供する。ＳＤＲＡＭはバッファメモリとして位置付けられていない。
【０００５】
本発明の目的は、メモリアクセスを伴うデータ処理即率の向上に寄与するメモリシステムを提供することにある。
【０００６】
本発明の別の目的は、外部からのアクセス要求に応答して外部インタフェースと不揮発性メモリのアクセス制御とを行うメモリシステムにおいて、ホスト装置との間のデータ転送に関するホスト装置の待ち時間短縮、処理負担低減、処理時間低減に寄与することができるメモリシステムを提供することにある。
【０００７】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００９】
［１］メモリシステムは、書き換え可能な不揮発性メモリと、バッファメモリと、コントローラとを有する。前記コントローラは、外部装置からのアクセス要求に応答して、前記コントローラと前記外部装置との間の第１データ転送、前記コントローラと前記不揮発性メモリとの間の第２データ転送、及び前記コントローラと前記バッファメモリとの間の第３データ転送を制御し、前記第３データ転送における前記コントローラから前記バッファメモリへの転送と前記バッファメモリから前記コントローラへの転送とを時分割で制御し、この時分割による転送に並行して前記第１データ転送又は前記第２データ転送を可能にする。
【００１０】
上記より、外部からのライトアクセス要求に応答するときコントローラは、バッファメモリへの書込みデータの蓄積とバッファメモリに蓄積した書込みデータの出力とを時分割で行ない、その書き込みデータ蓄積処理に並行して第２データ転送による不揮発性メモリへの書込みデータの転送を行なうことができ、また、その書き込みデータ出力処理に並行して第１データ転送による外部装置からの次の書き込みデータの入力を行なうことができる。外部からのリードアクセス要求に応答するときコントローラは、バッファメモリへの読み出しデータの蓄積とバッファメモリに蓄積した読み出しデータの出力とを時分割で行ない、その読み出しデータ蓄積処理に並行して第１データ転送による外部装置への読み出しデータの転送を行なうことができ、また、その読み出しデータ出力処理に並行して第２データ転送による不揮発性メモリからの次の読み出しデータの入力を行なうことができる。
【００１１】
上記バッファメモリのバッファリング機能により、外部装置例えばホスト装置による複数の書込みデータの供給タイミングに多くの待ち時間を必要とせず、また、ホスト装置による複数の読み出しデータの取得タイミングに多くの待ち時間を必要としない。したがって、ホスト装置とコントローラとの間のデータ転送に関するホスト装置の待ち時間短縮、処理負担低減、処理時間低減に寄与することができる。これは、メモリアクセスを伴うデータ処理即率の向上に寄与する。
【００１２】
本発明の望ましい一つの態様として、上記バッファリング機能を最大限発揮させるには前記第３データ転送の動作速度を、前記第１データ転送速度の大凡２倍よりも速くすることが望ましい。理論上ホスト装置の待ち時間がなくなる。
【００１３】
本発明の望ましい一つの態様として、前記バッファメモリをシングルポートのクロック同期型の揮発性メモリとし、ＦＩＦＯ動作させるのがよい。バッファメモリの高速化とアクセス制御の容易を実現できる。不揮発性メモリは例えばフラッシュメモリである。
【００１４】
第１転送と第３転送との間のバッファリング、第２転送と第３転送との間のバッファリングを実現する一つの態様として、前記コントローラは、前記外部装置とバッファメモリとの間に配置されるデュアルポートのデータバッファと、前記バッファメモリと前記不揮発性メモリとの間に配置されるデュアルポートのデータバッファとを有するのが望ましい。第１データ転送と第３データ転送の並列化、第２データ転送と第３データ転送の並列化のための制御が更に容易になる。
【００１５】
［２］本発明の別の観点によるメモリシステムは、書き換え可能な不揮発性メモリと、バッファメモリと、コントローラとを有する。前記コントローラは、外部装置に接続される第１データ転送制御部と、前記不揮発性メモリに接続される第２データ転送制御部と、前記バッファメモリに接続され前記第１データ転送制御部からの転送要求及び第２データ転送制御部からの転送要求に応答してバッファメモリとの間のデータ転送を制御する転送調停部とを有する。前記第１データ転送制御部は、デュアルポートのデータバッファを介して外部装置と転送調停部に接続され、転送調停部に転送要求を出力する。前記第２データ転送制御部は、デュアルポートのデータバッファを介して不揮発性メモリと転送調停部に接続され、転送調停部に転送要求を出力する。転送調停部は、第１データ転送制御部からの転送要求と第２データ転送制御部からの転送要求に対し、前記バッファメモリに対する書き込み方向の転送と前記バッファメモリに対する読み出し方向の転送とを時分割で制御する。
【００１６】
上記より、外部装置とコントローラとの間のデータ転送は第１データ転送制御部におけるデータバッファでバッファリングされ、不揮発性メモリとコントローラとの間のデータ転送は第２データ転送制御部におけるデータバッファでバッファリングされ、双方のデータバッファとバッファメモリとの間のデータ転送を時分割で行なうことができる。よって、外部からのライトアクセス要求に応答するときコントローラは、バッファメモリへの書込みデータの蓄積とバッファメモリに蓄積した書込みデータの出力とを時分割で行ない、その書き込みデータ蓄積処理に並行して第２転送制御部のデータバッファから不揮発性メモリに書込みデータの転送を行なうことができ、また、その書き込みデータ出力処理に並行して第１転送制御部のデータバッファに外部装置からの次の書き込みデータを取り込むことができる。外部装置からのリードアクセス要求に応答するときコントローラは、バッファメモリへの読み出しデータの蓄積とバッファメモリに蓄積した読み出しデータの出力とを時分割で行ない、その読み出しデータ蓄積処理に並行して第１転送制御部のデータバッファから外部装置へ読み出しデータの転送を行なうことができ、また、その読み出しデータ出力処理に並行して第２転送制御部にデータバッファに不揮発性メモリからの次の読み出しデータの取込みを行なうことができる。
【００１７】
上記バッファリング機能により、外部装置例えばホスト装置による複数の書込みデータの供給タイミングに多くの待ち時間を必要とせず、また、ホスト装置による複数の読み出しデータの取得タイミングに多くの待ち時間を必要としない。したがって、ホスト装置とコントローラ間のデータ転送に関するホスト装置の待ち時間短縮、処理負担低減、処理時間低減に寄与することができる。これは、メモリアクセスを伴うデータ処理即率の向上に寄与する。
【００１８】
本発明の具体的な態様として、外部からのライトアクセス要求に応答するとき、前記第１データ転送制御部は外部装置からデータバッファに所定量のデータが蓄積されたとき転送調停部にバッファメモリに対する書き込みのための転送要求を出力し、前記第２データ転送制御部はデータバッファに所定量のデータがないとき転送調停部にバッファメモリからデータバッファに対する読み出しのための転送要求を出力する。また、外部からのリードアクセス要求に応答するとき、前記第２データ転送制御部はバッファメモリからデータバッファに所定量のデータが蓄積されたとき転送調停部にバッファメモリに対する書き込みのための転送要求を出力し、前記第１データ転送制御部はデータバッファに所定量のデータがないとき転送調停部にバッファメモリに対する読み出しのための転送要求を出力する。
【００１９】
本発明の望ましい一つの態様として、上記バッファリング機能を最大限発揮させるには、前記調停部によるバッファメモリとの間のデータ転送の動作速度を、前記第１転送制御部による外部との間のデータ転送の動作速度に対して大凡２倍よりも速くすることが望ましい。理論上ホスト装置の待ち時間がなくなる。
【００２０】
本発明の望ましい一つの態様として、前記バッファメモリをシングルポートのクロック同期型の揮発性メモリで構成し、ＦＩＦＯ動作させるのがよい。バッファメモリの高速化とアクセス制御が容易である。不揮発性メモリは例えばフラッシュメモリである。
【発明の効果】
【００２１】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００２２】
すなわち、外部からのライトアクセス要求に応答するときコントローラは、バッファメモリへの書込みデータの蓄積とバッファメモリに蓄積した書込みデータの出力とを時分割で行なうことができる。データバッファをデュアルポート化すれば、その書き込みデータ蓄積処理に並行して第２データ転送による不揮発性メモリへの書込みデータの転送を行なうことができ、また、その書き込みデータ出力処理に並行して第１データ転送による外部装置からの次の書き込みデータの入力を行なうことができる。
【００２３】
外部からのリードアクセス要求に応答するときコントローラは、バッファメモリへの読み出しデータの蓄積とバッファメモリに蓄積した読み出しデータの出力とを時分割で行なう。データバッファのデュアルポート化により、その読み出しデータ蓄積処理に並行して第１データ転送による外部装置への読み出しデータの転送を行なうことができ、また、その読み出しデータ出力処理に並行して第２データ転送による不揮発性メモリからの次の読み出しデータの入力を行なうことができる。
【００２４】
これにより、外部装置例えばホスト装置による複数の書込みデータの供給タイミングに多くの待ち時間を必要とさせず、また、ホスト装置による複数の読み出しデータの取得タイミングに多くの待ち時間を必要とさせない。したがって、ホスト装置とコントローラ間のデータ転送に関するホスト装置の待ち時間短縮、処理負担低減、処理時間低減に寄与することができる。メモリアクセスを伴うデータ処理効率を向上させることができる。
【図面の簡単な説明】
【００２５】
【図１】本発明に係るメモリシステムの一例であるフラッシュメモリカードのブロック図である。
【図２】ファイルメモリとして機能されるフラッシュメモリのローカルなメモリアドレスマッピング図である。
【図３】コントローラのホストインタフェース部分のアドレスマッピングを全体的に示す説明図である。
【図４】ＳＤＲＡＭのＦＩＦＯ形式を例示する説明図である。
【図５】転送調停部による制御動作を例示するフローチャートである。
【図６】ライト転送要求時におけるＣＰＵの制御動作を例示するフローチャートである。
【図７】リードアクセス要求時におけるＣＰＵの制御動作を例示するフローチャートである。
【図８】ライトアクセス要求があったときのホスト装置、ＳＤＲＡＭ及びフラッシュメモリのデータ転送動作を相関的に示すタイミングチャートである。
【図９】リードアクセス要求があったときのホスト装置、ＳＤＲＡＭ及びフラッシュメモリのデータ転送動作を相関的に示すタイミングチャートである。
【図１０】ＳＤＲＡＭの書き込みサイクルＴｄｗの一例を示すタイミングチャートである。
【図１１】ＳＤＲＡＭの読み出しサイクルＴｄｒの一例を示すタイミングチャートである。
【図１２】フラッシュメモリに対する書き込みサイクルＴｆｗの一例を示すタイミングチャートである。
【図１３】フラッシュメモリに対する読み出しサイクルＴｆｒの一例を示すタイミングチャートである。
【図１４】ライトアクセス要求に応答するデータ転送処理フローとしてフラッシュメモリに対する書き込みエラーがない場合を示したフローチャートである。
【図１５】ライトアクセス要求に応答する別のデータ転送処理フローとしてフラッシュメモリに対する書き込みエラーがある場合を示したフローチャートである。
【図１６】リードアクセス要求に応答するデータ転送処理フローを例示するフローチャートである。
【実施例】
【００２６】
図１には本発明に係るメモリシステムの一例であるフラッシュメモリカードが例示される。同図に示されるフラッシュメモリカード１は、所定のセクタアドレス（物理アドレス）単位にデータ記憶領域とその管理領域とを有するフラッシュメモリ（不揮発性メモリ）２と、メモリシステムの外部に接続される外部情報処理装置例えばホスト装置３からの要求に応答して前記フラッシュメモリ２に対するアクセス制御を行うコントローラ４、前記コントローラ４に接続されたバッファメモリ５とを有する。
【００２７】
前記フラッシュメモリ２は、特に図示はしないが、電気的に消去及び書き込み可能なフラッシュッメモリセルをマトリクス配置したメモリセルアレイを有する。フラッシュッメモリセルは、特に制限されないが、チャンネル領域の上に絶縁膜で分離されたフローティングゲートとコントロールゲートを有し、例えば、電子をフローティングゲートにホットエレクトロン注入することでメモリセルの閾値電圧を上げ（例えば書き込みと称する）、また、フローティングゲートに注入されている電子をゲート絶縁膜を介してトンネル電流で放出させることによりメモリセルの閾値電圧を低くする（消去と称する）。フラッシュメモリセルのドレインはビット線に、ソースはソース線に、コントロールゲートはワード線に接続される。例えば、ワード線に割り当てられたアドレスが前記セクタアドレスである。セクタドレス信号によるワード線選択はワード線選択回路で行われる。セクタアドレスで指定された複数のフラッシュメモリセルの一部に対する選択はカラムアドレスを起点にカラムアドレスカウンタで生成されるカラムアドレス信号に基づいて行われる。尚、フラッシュメモリとして例えば特開２００１−２３３８３公報に記載の構成を採用することができる。
【００２８】
前記フラッシュメモリ２は例えばファイルメモリとして機能され、ローカルなメモリアドレスマッピングは図２に例示されるように、セクタアドレス１〜ｎの各アドレスに管理領域とユーザデータ記憶領域が割当てられ、管理領域には各セクタの良否（有効性）更には代替先の有無などの情報が記憶される。
【００２９】
前記バッファメモリ５は例えばクロック同期型の揮発性メモリであるシングルポートのＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）によって構成される。以下バッファメモリ５を単にＳＤＲＡＭ５とも記す。前記ＳＤＲＡＭ５は例えばダイナミック型メモリセルをマトリクス配置したメモリセルアレイを有し、クロック同期でコマンド及びアドレス等を入力し、コマンドで指定されるライトアクセス又はリードアクセスなどをクロック信号に同期して高速に行なうことができる。例えばホスト装置３とコントローラ４との間のバスを介するデータ転送（第１データ転送）の速度を１００ＭＢ（メガ・バイト）／ｓ（秒）とすると、ＳＤＲＡＭ５とコントローラ４との間のバスを介するデータ転送（第３データ転送）の速度はその２倍以上である２６６ＭＢ／ｓとされる。フラッシュメモリ２とコントローラ４との間のバスを介するデータ転送（第２データ転送）の速度はフラッシュッメモリ２自体のアクセス速度が遅いのでそれに合わせて２０ＭＢ／ｓ程度である。
【００３０】
前記コントローラ４は、ホストデータ転送制御部（第１データ転送制御部）１１、フラッシュデータ転送制御部（第２データ転送制御部）１２、転送調停部１３、ＣＰＵ１４、及び制御レジスタ１５から成る。
【００３１】
前記制御レジスタ１５はコマンドレジスタ（１５Ｃ）、アドレスレジスタ（１５Ａ）及びステータスレジスタ（１５Ｓ）を有する。ホスト装置３はフラッシュメモリカード１をアクセスするときコマンドレジスタ１５Ｃにリード又はライトなどのコマンドをセットし、アクセスアドレスをアドレスレジスタ１５Ａにセットする。ホスト装置３とフラッシュメモリカード１との状態はステータスレジスタ１５Ｓを介して相互に認識可能にされる。
【００３２】
ＣＰＵ１４はフラッシュメモリカード１を全体的に制御する。コマンドレジスタ１５Ｃにコマンドがセットされると、ＣＰＵ１４はそのコマンドを解釈し、フラッシュメモリ２に対するメモリインタフェース制御と、ホスト装置３との間のデータインタフェース制御、そして、インタフェース制御されるデータに対するバッファ制御等を行なうことによって、アドレスレジスタ１５Ａにセットされたアドレスに対応するフラッシュメモリ２のセクタに対するアクセスを完了する。
【００３３】
前記ホストデータ転送制御部１１はデュアルポートのデータバッファ２０を介してホスト装置３と転送調停部１３を接続する。転送要求回路２１は転送調停部１３に対して信号ＨＤＲＱで転送要求を出し、信号ＨＤＡＣＫでアクノリッジを受けることにより転送調停部１３との間でデータバッファ２０がデータの入力又は出力動作される。この入力又は出力は、ホストデータ転送制御部１１が、信号ＨＤＩＲを使って転送調停部１３に指示する。このＨＤＩＲ信号は、ＣＰＵ１４が転送動作開始前に、ホストデータ転送制御部１１に設定する。ホストデータ転送制御部１１は信号ＨＤＡＣＫによるアクノリッジに応答して開始したデータバッファ２０の転送調停部１３に対する入力又は出力動作量が規定量に達したとき信号ＨＥＮＤ＿ＩＲＱをＣＰＵにアサートして転送動作を終了する。これによってＣＰＵ１４は転送調停部１３に新たな転送要求を受付可能にする。ホストデータ転送制御部１１はホスト装置３にウェイト信号ＨＷＡＩＴを出力し、それをアサートすることによってホスト装置３に動作の休止を指示することができる。
【００３４】
尚、図示はしないが、データバッファ２０とホスト装置３側との間の転送動作の可否についてはステータスレジスタ１５Ｓを介するステータスの交換により判断する。ホスト装置３から見るとデータバッファ２１はそのアドレス空間にマッピングされている。コントローラ４のホストインタフェース部分のアドレスマッピングを全体的に示すと図３のようになる。
【００３５】
前記フラッシュデータ転送制御部１２はデュアルポートのデータバッファ２２を介してフラッシュメモリ２と転送調停部１３を接続する。データバッファ２２はデュアルポートのＦＩＦＯバッファにより構成される。転送要求回路２３は転送調停部１３に対して信号ＦＤＲＱで転送要求を出し、信号ＦＤＡＣＫでアクノリッジを受けることにより転送調停部１３との間でデータバッファ２２がデータの入力又は出力動作される。この入力又は出力は、フラッシュデータ転送制御部１３が、信号ＦＤＩＲを使って転送調停部１３に指示する。この信号ＦＤＩＲは、ＣＰＵ１４が転送動作開始前に、フラッシュデータ転送制御部１２に設定する。フラッシュデータ転送制御部１２は信号ＦＤＡＣＫによるアクノリッジに応答して開始したデータバッファ２２の転送調停部１３に対する入力又は出力動作量が規定量に達したとき信号ＦＥＮＤ＿ＩＲＱをＣＰＵにアサートして転送動作を終了する。これによってＣＰＵ１４は転送調停部１３に新たな転送要求を受付可能にする。尚、図示はしないが、データバッファ２２とフラッシュメモリ２側との間の転送動作の可否についてはフラッシュデータ転送制御部１２がフラッシュッメモリ２のステータスレジスタを介するステータスの交換により判断する。
【００３６】
転送調停部１３は、転送許可回路３０、ホスト転送用アドレスカウンタ３１及びフラッシュ転送用アドレスカウンタ３２から成る。前記ホスト転送用アドレスカウンタ３１はデータバッファ２０とバッファメモリ５との間のデータ転送におけるＳＤＲＡＭ５のアクセスアドレスを生成する。前記フラッシュ転送用アドレスカウンタ３２はデータバッファ２２とフラッシュメモリ２との間のデータ転送におけるＳＤＲＡＭ５のアクセスアドレスを生成する。前記アドレスカウンタ３１，３２に対するアドレスプリセットはホスト装置３からのアクセス要求毎にＣＰＵ１４が行なう。ここでは、ＳＤＲＡＭ５は図４に例示されるようにＦＩＦＯ形式でアクセス制御される。前記ホスト転送用アドレスカウンタ３１はデータバッファ２０からＳＤＲＡＭ５への書き込みにおいてはライトアドレスポインタとして機能され、ＳＤＲＡＭ５からデータバッファ２０への読み出しにおいてはリードアドレスポインタとして機能される。前記フラッシュ転送用アドレスカウンタ３２はデータバッファ２２からＳＤＲＡＭ５への書き込みにおいてはライトアドレスポインタとして機能され、ＳＤＲＡＭ５からデータバッファ２２への読み出しにおいてはリードアドレスポインタとして機能される。転送許可回路３０は転送要求信号ＨＤＲＱとＦＤＲＱとの競合を調停し、調停結果を信号ＨＤＡＣＫ、ＦＤＡＣＫにより転送要求回路２１，２３に返す。
【００３７】
図５には転送調停部１３による制御動作が例示される。転送調停部１３は信号ＨＤＲＱによってホスト転送要求があるか（Ｓ１）、信号ＦＤＲＱによってフラッシュ転送要求があるか（Ｓ２）、リフレッシュする必要があるか（Ｓ３）を順次サイクリックに判定している。信号ＨＤＲＱによりホスト転送要求がある場合、ホスト装置３からのライトアクセス要求に応答する処理ではアドレスカウンタ３１が示すＳＤＲＡＭ５のアドレスへの書き込みを行ない、ホスト装置３からのリードアクセス要求に応答する処理ではアドレスカウンタ３１が示すＳＤＲＡＭ５のアドレスに対する読み出しを行なって（Ｓ１Ａ）、アドレスカウンタ３１をインクリメントする（Ｓ１Ｂ）。信号ＦＤＲＱによりフラッシュ転送要求がある場合、ホスト装置３からのライトアクセス要求に応答する処理ではアドレスカウンタ３２が示すＳＤＲＡＭ５のアドレスに対する読み出し、ホスト装置３からのリードアクセス要求に応答する処理ではアドレスカウンタ３２が示すＳＤＲＡＭ５のアドレス対する書き込みを行なって、アドレスカウンタ３２をインクリメントする。リフレッシュを要すると判断されればＳＤＲＡＭ５に対する記憶情報のリフレッシュを行なう。リフレッシュアドレスは転送調停部１３が保有する図示しないリフレッシュアドレスカウンタを用いて生成される。
【００３８】
図５より明らかなように、ホスト装置３からのライトアクセス要求に応答する処理では、アドレスカウンタ３１が示すＳＤＲＡＭ５のアドレスへの書き込みと、アドレスカウンタ３２が示すＳＤＲＡＭ５のアドレスに対する読み出しを、８バイト単位などで時分割即ち交互に行なうことができる。ホスト装置３からのリードアクセス要求に応答する処理ではアドレスカウンタ３１が示すＳＤＲＡＭ５のアドレスに対する読み出しと、アドレスカウンタ３２が示すＳＤＲＡＭのアドレス対する書き込みを、８バイト単位などで時分割即ち交互に行なうことができる。
【００３９】
図６にはライト転送要求時におけるＣＰＵの制御動作が例示される。ＣＰＵ１４は、ホスト装置３からのライトアクセス要求を検出すると（Ｓ１０）、ホスト転送用アドレスカウンタ３１のセット、即ち、初期化若しくは初期値のプリセットを行なう（Ｓ１１）。更にＣＰＵ１４はホストデータ転送制御部１１にホスト装置３からデータバッファ２０に入力されるデータを転送調停部１３に転送制御する指示を与える（Ｓ１２）。この後、ＣＰＵ１４はステータスレジスタ１５Ｓに転送可能ステータスをセットしてホスト装置３に書き込みデータのデータバッファ２０への転送開始を通知する（Ｓ１３）。これによって転送調停部１３は図５で説明した前記ホスト転送要求（Ｓ１）があった時の処理を行うことにより、ホスト装置３からデータバッファ２０に８バイトのデータが入力される度にそのデータをアドレスカウンタ３１で指定されるＳＤＲＡＭ５に格納可能にされる。更にＣＰＵ１４は、アドレスレジスタ１５Ａに入力されたアクセスアドレスからフラッシュメモリ２の物理アドレス即ちセクタアドレスを算出し（Ｓ１４）、算出したセクタアドレスへのライトコマンドをフラッシュデータ転送制御部４を介してフラッシュメモリ２に設定する（Ｓ１５）。この後、ＣＰＵ１４はフラッシュ転送用アドレスカウンタ３２のセット、即ち、初期化若しくは初期値のプリセットを行なう（Ｓ１６）。そしてＣＰＵ１４はフラッシュデータ転送制御部１２にＳＤＲＡＭ５からデータバッファ２２に８バイトのデータが入力される度にそのデータをフラッシュメモリ２に転送可能とする指示を与える（Ｓ１７）。この間に転送調停部１３は図５で説明した前記フラッシュ転送要求（Ｓ２）があった時の処理を行うことにより、データバッファ２２の保持データが８バイトになるように、ＳＤＲＡＭ５の記憶データをアドレスカウンタ３２の値に従ってデータバッファ２２の転送する。
【００４０】
ＣＰＵ１４は図５のホスト転送要求に応ずる処理とフラッシュ転送要求に応ずる処理が時分割で繰り返されていくいとき、前記信号ＨＥＮＤ＿ＩＲＱ及びＦＥＮＤ＿ＩＲＱが共にアクティブになる状態を検出して（Ｓ１８）、ライトアクセス要求待ち状態に入る（Ｓ１０）。即ち、ホスト装置３から指示されたライトアクセス要求に応答して実行すべきライトデータ数に応ずるデータがＳＤＲＡＭ５に格納されたときＨＥＮＤ＿ＩＲＱがアクティブにされ、前記実行すべきライトデータ数に応ずるデータがＳＤＲＡＭ５から読み出されたとき信号ＦＥＮＤ＿ＩＲＱがアクティブにされる。
【００４１】
図７にはリードアクセス要求時におけるＣＰＵの制御動作が例示される。ＣＰＵ１４は、ホスト装置３からのリードアクセス要求を検出すると（Ｓ２０）、アドレスレジスタ１５Ａに入力されたアクセスアドレスからフラッシュメモリ２の物理アドレス即ちセクタアドレスを算出し（Ｓ２１）、算出したセクタアドレスへのリードコマンドをフラッシュデータ転送制御部４を介してフラッシュメモリ２に設定する（Ｓ２２）。そしてＣＰＵ１４はフラッシュ転送用アドレスカウンタ３２のセット、即ち、初期化若しくは初期値のプリセットを行なう（Ｓ２３）。更にＣＰＵ１４はフラッシュデータ転送制御部１２に、フラッシュメモリ２からデータバッファ２２に入力されるデータを転送調停部１３に転送制御する指示を与える（Ｓ２４）。これによって転送調停部１３は図５で説明した前記フラッシュ転送要求（Ｓ２）があった時の処理を行うことにより、フラッシュメモリ２からデータバッファ２２に例えば８バイトのデータが入力される度に、そのデータをアドレスカウンタ３２で指定されるＳＤＲＡＭ５に格納可能にする。この後、ＣＰＵ１４はホスト転送用アドレスカウンタ３１のセット、即ち、初期化若しくは初期値のプリセットを行なう（Ｓ２５）。そしてＣＰＵ１４はホストデータ転送制御部１１にＳＤＲＡＭ５からデータを読み出してデータバッファ２０に供給する指示を与える（Ｓ２６）。ＣＰＵ１４はステータスレジスタ１５に転送可能ステータスをセットしてホスト装置３に読み出しデータの取込みが可能であることを通知し（Ｓ１３）、転送調停部１３は図５で説明した前記ホスト転送要求（Ｓ１）があった時の処理を行なって、データバッファ２０の保持データが８バイトになるようにＳＤＲＡＭ５の記憶データをアドレスカウンタ３１の値に従ってデータバッファ２０の転送する。
【００４２】
ＣＰＵ１４は図５のホスト転送要求に応ずる処理とフラッシュ転送要求に応ずる処理が時分割で繰り返されていくいとき、前記信号ＨＥＮＤ＿ＩＲＱ及びＦＥＮＤ＿ＩＲＱが共にアクティブになる状態を検出して（Ｓ２８）、リードアクセス要求待ち状態に入る（Ｓ２０）。即ち、ホスト装置３から指示されたリードアクセス要求に応答して実行すべきリードデータ数に応ずるデータがＳＤＲＡＭ５に格納されたときＦＥＮＤ＿ＩＲＱがアクティブにされ、前記実行すべきリードデータ数に応ずるデータがＳＤＲＡＭ５から読み出されたとき信号ＨＥＮＤ＿ＩＲＱがアクティブにされる。
【００４３】
図８にはライトアクセス要求があったときのホスト装置３、ＳＤＲＡＭ５及びフラッシュメモリ２のデータ転送動作を相関的に示す。（Ａ）はホスト装置３の動作状態、（Ｂ）はＳＤＲＡＭ５の動作状態、（Ｃ）はフラッシュメモリ２の動作状態を示す。Ｈ＿ＡＤＲはホスト装置３からコントローラ４に接続するアドレスバス、Ｈ＿ＤＡＴはホスト装置３とコントローラ４を接続するデータバス、Ｈ＿ＷＥはホスト装置３が出力するライトイネーブル信号、Ｈ＿ＯＥはホスト装置３が出力するアウトプットイネーブル信号である。Ｄ＿ＣＬＫはＳＤＲＡＭ５に供給される同期クロック信号、Ｄ＿ＷＥはコントローラ４からＳＤＲＡＭ５に供給されるライトイネーブル信号、Ｄ＿ＤＡＴはコントローラ４とＳＤＲＡＭ５を接続するデータバスである。Ｆ＿ＯＥはコントローラ４がフラッシュメモリ２に出力するアウトプットイネーブル信号、Ｆ＿ＷＥはコントローラ４からフラッシュメモリ２に供給されるライトイネーブル信号、Ｆ＿ＣＳはコントローラ４からフラッシュメモリ２に出力されるシリアルクロック信号、Ｆ＿ＤＡＴはコントローラ４とフラッシュメモリ２を接続するデータバスである。
【００４４】
ホスト装置３はコントローラ４に向けて、アドレスレジスタ１５Ａにアドレス値、コマンドレジスタ１５Ｃにライト転送コマンドを出力し、コントローラ４のステータスレジスタ１５Ｓを読み込む。転送可能を示すステータスを読み込んだ後、データバッファ２０のデータレジスタにデータを転送していく。データ転送はブロック単位であり、各ブロック例えば８バイトである。コントローラ４はフラッシュメモリ２に書き込みのセクタアドレス値、ライト転送コマンドを与えておく。コントローラ４はデータブロック１のデータを入力すると、そのデータをＳＤＲＡＭ５に書き込む。このときの書き込みサイクルはＴｄｗで示される。これによって書き込まれたデータブロック１のデータは今度はＳＤＲＡＭ５からコントローラ４に読み出される。このときの読み出しサイクルはＴｄｒで示される。コントローラ４に読み出されたデータブロック１のデータはフラッシュメモリ２に転送される。ＳＤＲＡＭ５がデータブロック１のデータに対して書き込みサイクルＴｄｗと読み出しサイクルを行っている最中に、ホスト装置３は、次のデータブロック２のデータをコントローラ４のバッファ２０に向けて出力している。フラッシュメモリ２にデータブロック１のデータを転送しているときＳＤＲＡＭ５にはデータブロック２のデータに対するライトサイクルとリードサイクルが時分割で行われる。データブロック４までのデータに対して上記と同様の処理が行なわれる。
【００４５】
この例に従えば、コントローラ４が例えばデータバッファ２０の転送調停部１３側ポートからデータブロック３のデータを読み出してＳＤＲＡＭ５に格納し（Ｔｉ〜Ｔｊ）、これに続けてＳＤＲＡＭ５に格納したデータをデータバッファ２２にその転送調停部１３側ポートから格納しているとき（Ｔｊ〜Ｔｋ）、データバッファ２０のホスト装置３側ポートから次のデータブロック４のデータがデータバッファ２０に入力されると共に、データバッファ２２のフラッシュメモリ２側ポートからその前のデータブロック２のデータがフラッシュメモリ２に転送される。要するに、ホスト装置３からのライトアクセス要求に応答するときコントローラ４は、ＳＤＲＡＭ５への書込みデータの蓄積とＳＤＲＡＭ５に蓄積した書込みデータの出力とを時分割で行ない、前記ＳＤＲＡＭ５への書き込みデータ蓄積処理に並行してフラッシュメモリ２への書込みデータの転送を行なうことができ、また、ＳＤＲＡＭ５からの前記書き込みデータ出力処理に並行してホスト装置３からの次の書き込みデータの入力を行なうことができる。
【００４６】
図８の例では、フラッシュメモリ２に対するライトコマンド列は、アドレス値（セクタドレス値）、ライト転送コマンド、書き込みデータ（データブロック１〜データブロック４）、及びライトスタートコマンドとされ、フラッシュメモリ２はライトスタートコマンドが入力されること条件に、その直前までに入力された情報を一かたまりのコマンド列と解釈し、その結果にしたがってフラッシュメモリ２の内部で書き込み動作を開始する。図８においてアドレス値入力からライトスタートコマンド入力までのコマンド列供給サイクルはＴｆｗとして図示される。
【００４７】
図９にはリードアクセス要求があったときのホスト装置、ＳＤＲＡＭ及びフラッシュメモリのデータ転送動作を相関的に示す。（Ａ）はホスト装置３の動作状態、（Ｂ）はＳＤＲＡＭ５の動作状態、（Ｃ）はフラッシュメモリ２の動作状態を示す。
【００４８】
ホスト装置３はコントローラ４に向けて、アドレスレジスタ１５Ａにアドレス値、コマンドレジスタ１５Ｃにリード転送コマンドを出力する。コントローラ４はそのアドレス値とフラッシュリード転送コマンドをフラッシュメモリ２に与える。これによって、フラッシュメモリ２はクロック信号Ｆ＿ＣＳに同期してデータブロック１〜データブロック４のデータを順次読み出す。図９においてその読み出しサイクルはＴｆｒとして図示される。最初に読み出されたデータブロック１のデータはデータバッファ２２を介してＳＤＲＡＭ５に書き込まれる。この書き込みサイクルはＴｄｗとして図示される。更に書き込まれたデータブロック１のデータはＳＤＲＡＭ５から読み出されてデータバッファ２０に供給される。この読み出しサイクルはＴｄｒとして図示される。データバッファ２０にデータブロック１のデータが揃ったところで、ステータスレジスタ１５Ｓが転送可能とされる。ホスト装置３はそのステータスを認識することによりデータブロック１のデータを取りこむ。データブロック２〜データブロック４についても上記同様の処理が行なわれる。
【００４９】
この例に従えば、コントローラ４が例えばデータバッファ２２の転送調停部１３側ポートからデータブロック３のデータを読み出してＳＤＲＡＭ５に格納し（Ｔｐ〜Ｔｑ）、これに続けてＳＤＲＡＭ５に格納したデータをデータバッファ２０に格納しているとき（Ｔｑ〜Ｔｒ）、データバッファ２２のフラッシュメモリ２側ポートから次のデータブロック４のデータがデータバッファ２２に入力されると共に、データバッファ２０のホスト装置３側ポートからその前のデータブロック２のデータがホスト装置３に取り込まれる。要するに、ホスト装置３からのリードアクセス要求に応答するときコントローラ４は、ＳＤＲＡＭ５に対する読み出しデータの蓄積とＳＤＲＡＭ５に蓄積した読み出しデータの出力とを時分割で行ない、前記ＳＤＲＡＭ５に対する読み出しデータ蓄積処理に並行してホスト装置３がバッファメモリ２０から読み出しデータを取り込むことができ、また、ＳＤＲＡＭ５から前記読み出しデータを出力する処理に並行してフラッシュメモリ２からの次の読み出しデータをバッファメモリ２２に入力する処理を行なうことができる。
【００５０】
図１０には前記ＳＤＲＡＭの書き込みサイクルＴｄｗの一例が示される。ＣＬＫは前記Ｄ＿ＣＬＫに対応するクロック信号、ＣＫＥはクロックイネーブル信号、ＣＳ＿Ｎはチップ選択信号、ＲＡＳ＿Ｎはロウアドレスストローブ信号、ＣＡＳ＿Ｎは絡むアドレスストローブ信号、ＷＥ＿Ｎは前記Ｄ＿ＷＥに対応するライトイネーブル信号、Ａ１４〜Ａ０はアドレス信号、Ｄ１５〜Ｄ０はデータである。
【００５１】
図１１には前記ＳＤＲＡＭの読み出しサイクルＴｄｒの一例が示される。
【００５２】
図１２にはフラッシュメモリ２に対する書き込みサイクルＴｆｗの一例が示される。１ＦＨはライト転送コマンド、ＳＡ８（１）、ＳＡ（２）はアドレス値、４０Ｈはライトスタートコマンドを意味する。書込みデータ（Ｄｉｎ）はシリアルクロックＳＣに同期して入力される。
【００５３】
図１３にはフラッシュメモリ２に対する読み出しサイクルＴｆｒの一例が示される。００Ｈ／Ｆ０Ｈはリードト転送コマンド、ＳＡ８（１）、ＳＡ（２）はアドレス値を意味する。読み出しデータ（Ｄｏｕｔ）はシリアルクロックＳＣに同期して出力される。
【００５４】
図１４にはライトアクセス要求に応答するデータ転送処理フローが例示される。同図の処理フローはフラッシュメモリ２に対する書き込みエラーがない場合を想定する。ホスト装置３からライトアクセス要求が発行されると、コントローラ４はホスト装置３にライト転送準備可能を通知し、フラッシュメモリ２にライト転送要求を出す。これを受けてホスト装置３はコントローラ４に書込みデータのライト転送を行い、コントローラ４はフラッシュメモリ２に書込みデータをライト転送する。フラッシュメモリ２はライト動作を行ない、ここでは、コントローラ４に正常終了を返す。データバッファ２０に新たなブロックの書込みデータを蓄積する余裕がないような場合にコントローラ４は信号ＨＷＡＩＴをアサートしてライト転送一時中断要求をホスト装置３に出す。コントローラ４は新たなブロックの書込みデータを蓄積可能になると、信号ＨＷＡＩＴをネゲートしてライト転送再開をホスト装置３に与える。これによって、ホスト装置３はコントローラ４にライト転送を再開し、コントローラ４はフラッシュメモリ２に書き込みデータの転送を再開する。ライトアクセス要求に応答する全ての処理を終えるとコントローラ４はホスト装置３にライト転送終了通知を与える。
【００５５】
図１５にはライトアクセス要求に応答する別のデータ転送処理フローが例示される。同図の処理フローはフラッシュメモリ２に対する書き込みエラーがある場合を想定する。ホスト装置３からライトアクセス要求が発行されると、コントローラ４はホスト装置３にライト転送準備可能を通知し、フラッシュメモリ２にライト転送要求を出す。これを受けてホスト装置３はコントローラ４に書込みデータのライト転送を行い、コントローラ４はフラッシュメモリ２に書込みデータをライト転送する。フラッシュメモリ２はライト動作を行ない、ここでは、書き込みエラーを生じ、コントローラ４に書き込み失敗終了を通知する。これを受けてコントローラ４は信号ＨＷＡＩＴをアサートしてライト転送一時中断要求をホスト装置３に出す。その後、コントローラ４は、信号ｂＨＷＡＩＴをネゲートしてホスト装置３にライト転送再開を通知し、フラッシュメモリ２に代替ブロックライト転送要求を出す。そして、ホスト装置３が書込みデータをコントローラ４にライト転送し、コントローラ４はそのライトデータをフラッシュメモリ２にライト転送する。ここではフラッシュメモリ２は更に書き込み失敗し、書き込み失敗終了をコントローラ４に通知する。その後もコントローラ４は失敗に係る書き込み処理をフラッシュメモリ２に要求する。この間に、ホスト装置３は後続のライトデータをコントローラ４に予め転送しておくことができる。最後にライトアクセス要求に応答する全ての処理を終えるとコントローラ４はホスト装置３にライト転送終了通知を与える。
【００５６】
図１６にはリードアクセス要求に応答するデータ転送処理フローが例示される。ホスト装置３からリードアクセス要求が発行されると、コントローラ４はホスト装置３にリード転送準備可能を通知し、フラッシュメモリ２にリード転送要求を出す。これを受けてフラッシュメモリ２は読み出しデータをコントローラ４にリード転送し、コントローラ４はそのリードデータをホスト装置３にリード転送する。ここでは、フラッシュメモリ２はコントローラ４に正常終了を返す。データバッファ２０に新たなブロックの読み出しデータを蓄積する余裕がないような場合にコントローラ４は信号ＨＷＡＩＴをアサートしてリード転送一時中断要求をホスト装置３に出す。コントローラ４は新たなブロックの読み出しデータを蓄積可能になると、信号ＨＷＡＩＴをネゲートしてリード転送再開をホスト装置３に要求し、フラッシュメモリ２にリード転送要求を出す。これにより、上記同様に、フラッシュメモリ２は読み出しデータをコントローラ４にリード転送し、コントローラ４はそのリードデータをホスト装置３にリード転送する。リードアクセス要求に応答する全ての処理を終えるとコントローラ４はホスト装置３にリード転送終了通知を与える。
【００５７】
コントローラ４によるＳＤＲＡＭ５を用いた上記バッファリング機能により、ホスト装置３による複数の書込みデータの供給タイミングに多くの待ち時間を必要とせず、また、ホスト装置３による複数の読み出しデータの取得タイミングに多くの待ち時間を必要としない。したがって、ホスト装置３とコントローラ４間のデータ転送に関するホスト装置３の待ち時間短縮、処理負担低減、処理時間低減に寄与することができる。これは、フラッシュメモリカード１に対するアクセスを伴うデータ処理効率を向上させることができる。
【００５８】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００５９】
例えば、不揮発性メモリはフラッシュメモリに限定されず、高誘電体メモリ等その他の記憶形式を採用する書換え可能な不揮発性メモリであってよい。また、１個のメモリセルに対する情報記憶ビット数も１ビットに限定されず、２ビット以上であってもよい。また、メモリシステムはＰＣカードのようなフラッシュメモリカードに限定されず、データプロセッサを実装したプロセッサボード上において構成することも可能である。また、コントローラにおいてホストインタフェース部分のデータバッファ、不揮発性メモリインタフェース部分のデータバッファはデュアルポートに限定されず、シングルポートのメモリ、若しくはレジスタ或はラッチ回路であってもよい。要するに、バッファメモリに対する前記時分割によるデータ転送に並行してホストインタフェース又はフラッシュインタフェース部分でデータ入出力が可能であればよい。
【００６０】
以下に、本発明の実施態様を列挙する。
【００６１】
１．書き換え可能な不揮発性メモリと、バッファメモリと、コントローラとを有し、
前記コントローラは、外部装置に接続される第１データ転送制御部と、前記不揮発性メモリに接続される第２データ転送制御部と、前記バッファメモリに接続され前記第１データ転送制御部からの転送要求及び第２データ転送制御部からの転送要求に応答してバッファメモリとの間のデータ転送を制御する転送調停部とを有し、
前記第１データ転送制御部は、データバッファを介して外部装置と転送調停部に接続され、転送調停部に転送要求を出力し、
前記第２データ転送制御部は、データバッファを介して不揮発性メモリと転送調停部に接続され、転送調停部に転送要求を出力し、
転送調停部は、第１データ転送制御部からの転送要求と第２データ転送制御部からの転送要求に対し、前記バッファメモリに対する書き込み方向の転送と前記バッファメモリに対する読み出し方向の転送とを時分割で制御し、
外部からのライトアクセス要求に応答するとき、前記第１データ転送制御部は外部装置からデータバッファに所定量のデータが蓄積されたとき転送調停部にバッファメモリに対する書き込みのための転送要求を出力し、前記第２データ転送制御部はデータバッファに所定量のデータがないとき転送調停部にバッファメモリからデータバッファに対する読み出しのための転送要求を出力することを特徴とするメモリシステム。
【００６２】
２．外部からのリードアクセス要求に応答するとき、前記第２データ転送制御部はバッファメモリからデータバッファに所定量のデータが蓄積されたとき転送調停部にバッファメモリに対する書き込みのための転送要求を出力し、前記第１データ転送制御部はデータバッファに所定量のデータがないとき転送調停部にバッファメモリに対する読み出しのための転送要求を出力することを特徴とする前項１に記載のメモリシステム。
【符号の説明】
【００６３】
１ ・・・ フラッシュメモリカード
２ ・・・ フラッシュメモリ
３ ・・・ ホスト装置
４ ・・・ コントローラ
５ ・・・ バッファメモリ（ＳＤＲＡＭ）
１１ ・・・ ホストデータ転送制御部
１２ ・・・ フラッシュデータ転送制御部
１３ ・・・ 転送調停部
１４ ・・・ ＣＰＵ
１５ ・・・ 制御レジスタ（コマンドレジスタ、アドレスレジスタ、ステータスレジスタ）
２０ ・・・ データバッファ
２１ ・・・ 転送要求回路
２２ ・・・ データバッファ
２３ ・・・ 転送要求回路
３１ ・・・ ホスト転送アドレスカウンタ
３２ ・・・ フラッシュ転送アドレスカウンタ
３３ ・・・ 転送許可回路
【図１】
0005607118.tif 000002
【図２】
0005607118.tif 000003
【図３】
0005607118.tif 000004
【図４】
0005607118.tif 000005
【図５】
0005607118.tif 000006
【図６】
0005607118.tif 000007
【図７】
0005607118.tif 000008
【図８】
0005607118.tif 000009
【図９】
0005607118.tif 000010
【図１０】
0005607118.tif 000011
【図１１】
0005607118.tif 000012
【図１２】
0005607118.tif 000013
【図１３】
0005607118.tif 000014
【図１４】
0005607118.tif 000015
【図１５】
0005607118.tif 000016
【図１６】
0005607118.tif 000017