(57)【特許請求の範囲】
【請求項１】
ホストプロセッサを含む処理システムにおけるメモリデバイスのためのコントローラであって、前記ホストプロセッサと前記コントローラとはシステムバスにより接続され、前記コントローラは前記メモリデバイスと通信するものであり、
前記ホストプロセッサにより前記メモリデバイスに送信される少なくとも１つのプログラム可能なビットシーケンスを検出するよう構成されたロジック部と、
前記検出されたビットシーケンスに基づいて、前記メモリデバイスに命令を発行するよう構成されたロジック部と、
前記発行された命令に基づく前記メモリデバイスにおける動作の実行を検出するために前記メモリデバイスからのビジー信号のステータスを監視するよう構成されたロジック部と、
前記ビジー信号がディアサートされたことが検出されたとき、前記ホストプロセッサからの指示なしに前記メモリデバイスに対して自動的にステータス読出し命令を発行するよう構成されたロジック部と、
前記発行されたステータス読出し命令に対して前記メモリデバイスから応答を読出すよう構成されたロジック部と、
前記メモリデバイスから前記読出された応答に基づいて、前記ホストプロセッサに割込み要求を送信するよう構成されたロジック部とを有し、
前記割込み要求は読出しステータスエラーが発生したときに、前記ホストプロセッサに送信されることを特徴とするコントローラ。
【請求項２】
前記メモリデバイスに送信される前記プログラム可能なビットシーケンスは、前記メモリデバイスからの応答が読出される必要があるかどうかを示すことを特徴とする請求項１に記載のコントローラ。
【請求項３】
前記メモリデバイスからの応答と格納された応答とを比較することにより、読出しステータスエラーが発生したことが判断されることを特徴とする請求項１に記載のコントローラ。
【請求項４】
前記メモリデバイスからの特定の応答に対応する、前記ホストプロセッサにより送信されるアドレスとデータとを追跡するように構成されたロジック部と、
前記少なくとも１つのプログラム可能なビットシーケンスを格納する少なくとも１つのレジスタと、
の内の少なくとも１つをさらに有することを特徴とする請求項１に記載のコントローラ。
【請求項５】
前記割込み要求を送信するよう構成されたロジック部は、前記メモリデバイスにおけるステータスレジスタの状態についてマスクを用いてチェックを行うように構成されていることを特徴とする請求項１に記載のコントローラ。
【請求項６】
ホストプロセッサとメモリコントローラとを含む処理システムにおけるメモリデバイスを制御する方法であって、
前記ホストプロセッサにより送信される少なくとも１つのプログラム可能なビットシーケンスの検出に基づいて、前記メモリデバイスに命令を送信する工程と、
前記命令に基づく前記メモリデバイスにおける動作の実行を検出するために前記メモリデバイスからのビジー信号のステータスを前記メモリコントローラにより監視する工程と、
前記ビジー信号がディアサートされたことが検出されたとき、前記ホストプロセッサからの指示なしに前記メモリコントローラにより前記メモリデバイスに対して自動的にステータス読出し命令を発行する工程と、
前記メモリコントローラにより、前記メモリデバイスによる前記ステータス読出し命令に対する応答を読出す工程と、
前記読出した応答が読出しステータスエラーを示すなら、前記メモリコントローラにより、前記ホストプロセッサに割込み要求を送信する工程とを有することを特徴とする方法。
【請求項７】
前記メモリデバイスに送信される前記プログラム可能なビットシーケンスは、前記メモリデバイスからの応答が読出される必要があるかどうかを示すことを特徴とする請求項６に記載の方法。
【請求項８】
前記割込み要求を送信する工程は、前記メモリデバイスからの応答と格納された応答とを比較することにより、前記読出した応答が読出しステータスエラーを示すと判断する工程を含むことを特徴とする請求項６に記載の方法。
【請求項９】
前記メモリデバイスによる特定の応答に対応する、前記ホストプロセッサにより送信されるアドレスとデータとを追跡する工程と、
前記メモリコントローラに少なくとも１つの期待される応答を格納する工程と、
の内の少なくとも１つをさらに有することを特徴とする請求項６に記載の方法。
【請求項１０】
前記割込み要求を送信する工程は、前記メモリデバイスにおけるステータスレジスタの状態についてマスクを用いてチェックを行う工程を含むことを特徴とする請求項６に記載の方法。
【請求項１１】
コンピュータにより実行されるときに、ホストプロセッサとメモリコントローラとを含む処理システムにおけるメモリデバイスを制御する方法を前記コンピュータに実行させるようにする命令を格納したコンピュータ可読媒体であって、前記方法は、
前記ホストプロセッサにより送信される少なくとも１つのプログラム可能なビットシーケンスの検出に基づいて、前記メモリデバイスに命令を送信する工程と、
前記命令に基づく前記メモリデバイスにおける動作の実行を検出するために前記メモリデバイスからのビジー信号のステータスを前記メモリコントローラにより監視する工程と、
前記ビジー信号がディアサートされたことが検出されたとき、前記ホストプロセッサからの指示なしに前記メモリコントローラにより前記メモリデバイスに対して自動的にステータス読出し命令を発行する工程と、
前記メモリコントローラにより、前記メモリデバイスによる前記ステータス読出し命令に対する応答を読出す工程と、
前記読出した応答が読出しステータスエラーを示すなら、前記メモリコントローラにより、前記ホストプロセッサに割込み要求を送信する工程とを有することを特徴とするコンピュータ可読媒体。
【請求項１２】
前記メモリデバイスに送信される前記命令は、前記メモリデバイスからの応答が読出される必要があるかどうかを示すことを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１３】
前記割込み要求を送信する工程は、前記メモリデバイスからの応答と格納された応答とを比較することにより、前記読出した応答が読出しステータスエラーを示すと判断する工程を含むことを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１４】
前記方法はさらに、
前記メモリデバイスによる特定の応答に対応する、前記ホストプロセッサにより送信されるアドレスとデータとを追跡する工程と、
前記メモリコントローラに少なくとも１つの期待される応答を格納する工程と、
の内の少なくとも１つを有することを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１５】
前記割込み要求を送信する工程は、前記メモリデバイスにおけるステータスレジスタの状態についてマスクを用いてチェックを行う工程を含むことを特徴とする請求項１１に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子処理回路に関し、特に、そのような回路とデバイスとの間のデータ転送を制御する方法とデバイスとに関する。
【背景技術】
【０００２】
ハードディスク、読出専用メモリカード、フラッシュメモリカードのような１つ以上の外部メモリデバイスと入出力を行うプロセッサを多くの電子デバイスはもっている。今日、フラッシュメモリアクセスは、システムバスを介してデバイスのホストプロセッサに接続されたフラッシュメモリ・インタフェースコントローラにより制御される。
【０００３】
図１はフラッシュメモリアクセスを制御する典型的な構成を含む処理システム１００のブロック図である。その関連部分において、システム１００はホストプロセッサ１０２とインタフェースコントローラ１０４と、おそらくはシステムバス１１２を介して通信する他の種々のデバイス１０６、１０８、１１０とを含む。インタフェースコントローラ１０４は、制御バス信号とデータバス信号を用いてフラッシュメモリデバイス１１４に対して、そして、フラッシュメモリデバイス１１４からデータを転送することを担当する。これらの信号は通常、フラッシュメモリ産業で広く受け入れられている標準的技法に準拠している。データをデバイス１１４と交換する他に、コントローラ１０４は制御信号をデバイス１１４に送信して、デバイス１１４からレディ／ビジー信号を受信する。
【０００４】
各“ページ書込み”の後に、メモリデバイス１１４はホストプロセッサ１０２により照会され、その書込み動作がうまくいったかどうかを判断するのが一般的である。その命令の特定のフォーマットとその応答のコンテンツはメモリデバイス１１４の製造者によって設定されるが、多くの製造者は“読出しステータス”命令が“０ｘ７０ｈ”であることを規定し、“０ｘ００ｈ”以外の応答がエラーであることを示す業界のデファクト標準を固守している。なお、その命令と応答とは１６進表記で書かれており、ｘは気に止める必要のない（ドントケア：don't care）ことを示している。
【０００５】
そのようなインタフェースコントローラの１つの構成はアサノら（Asano et al.）に特許された特許文献１に記載されており、特許文献１では、周辺機器からのデータ要求に応答してホストに対する割込み要求を生成し、その周辺機器のステータスがホストにより読込まれるなら割込み要求を消去する、周辺機器に対するインタフェース回路を記載していることを述べている。そのインタフェース回路はホストが後読み（post-read）モードで動作していることを検出し、後読みモード検出信号とホストによるステータス読出しに応答して、ホストへの割込み要求の再生成を可能にしている。
【０００６】
チョイら（Choi et al.）に特許された特許文献２は、例えば、動作ステータスを示す“ステータス読出し”動作を提供するフラッシュメモリデバイスを記載している。
【０００７】
各“ページ書込み”動作の後に、メモリデバイスは通常、“読出しステータス”が照会されて、その書込み動作がうまくいったかどうかを判断する。このことは、ホストプロセッサが標準的な“ステータス読出し”命令を発行し、それからメモリデバイスにより返される応答を読出すことによりなされる。通常の“ステータス読出し”動作は、フラッシュメモリデバイスがページデータをその内部バッファからその記憶アレイに転送した直後に実行される。この転送は終わりは、フラッシュメモリデバイスのレディ／ビジー信号出力がディアサートされることによりマークされる。ホストプロセッサはそのディアサーションを検出し、それから“ステータス読出し”命令を発行する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許第５，４５７，７８７号明細書
【特許文献２】米国特許第６，２４９，４６１号明細書
【特許文献３】米国特許第５，６４０，３４９号明細書
【特許文献４】米国特許第６，９８５，７７８号明細書
【特許文献５】米国特許第５，７９９，１６８号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００９】
各“読出しステータス”をチェックしなければならないホストプロセッサからは問題が生じている。ホストプロセッサは他のシステム動作を停止して、“ステータス読出し”命令を発行し、その応答を読込み、そして、（通常はまれであるが）エラーに遭遇したならば適切に対応して動作しなければならない。これによりシステムの全体的な性能が低下し、ホストプロセッサが連続的にメモリの“ステータス読出し”動作に対するサービスを行うためにそらされねばならないために、その性能低下はおそらく劇的なものであろう。別の観点からすると、その問題は“ページ書込み”動作に続くメモリデバイスステータスの照会のためにホストプロセッサによって必要とされる過度のバンド幅である。
【００１０】
カキヌマら（Kakinuma et al.）に特許された特許文献３は、２つのフラッシュメモリと、バッファメモリのペアとデータバスのペアをもつフラッシュメモリコントローラとを記載している。データバスは並列に動作可能なので、ホストとフラッシュメモリカードとの間の転送時間は短縮される。特許文献３は、応答が読取られる必要があるのかどうかを示すフラッシュメモリに送信されるプログラム可能なビットシーケンスを検出すること、或は、エラーの結果となるメモリアクセス（マルチバッファキュー方式におけるアドレスとデータ）を追跡することを記載していない。
【００１１】
キムら（Kim et al.）に特許された特許文献４は、ホストプロセッサとＮＡＮＤフラッシュメモリとの間のインタフェースを記載している。そのインタフェースは、ホストプロセッサからの命令を受信して格納し、ＮＡＮＤフラッシュメモリの動作とその命令を実行するための動作情報とを制御するレジスタを含んでいる。また、そのメモリにおけるフラッシュインタフェース部は、制御信号を制御してＮＡＮＤフラッシュメモリを動作させ、命令、動作情報、或は、ホストデータを出力し、ＮＡＮＤフラッシュメモリに入力されるデータにより入力／出力接続を制御する。特許文献４は、応答が読取られる必要があるのかどうかを示すフラッシュメモリに送信されるプログラム可能なビットシーケンスを検出すること、或は、エラーの結果となるメモリアクセス（マルチバッファキュー方式におけるアドレスとデータ）を追跡することを記載していない。
【００１２】
バン（Ban）に特許された特許文献５は、メモリ回路固有の命令にプロセッサからの汎用命令を変換したり、或は、その逆の変換を行うフラッシュメモリコントローラを記載している。書込み或は消去後に、そのコントローラは自動的に“ステータス読出し”に移行し、そして、そのコントローラは所定のレジスタとソフトウェアポーリングを介して読出しステータス情報を抽出することができる。特許文献５は、応答が読取られる必要があるのかどうかを示すフラッシュメモリに送信されるプログラム可能なビットシーケンスを検出すること、或は、エラー応答に遭遇するとき割込み要求を発行ことを記載していない。
【課題を解決するための手段】
【００１３】
通常の“ステータス読出し”動作の代わりに、本発明ではホストプロセッサに他のシステム動作を担当させる一方で、別のコントローラがメモリデバイスを監視する。そのようなコントローラは“ステータス読出し”命令を発行し、その応答を読取り、自動的に適切であればホストに割込みを発行する。従って、ホストプロセッサは他の動作のために解放され、その結果、システム性能が改善される。
【００１４】
本発明の１つの側面からすれば、ホストプロセッサを含む処理システムにおけるメモリデバイスのためのコントローラが備えられる。そのホストプロセッサとコントローラとはシステムバスにより接続され、そのコントローラは前記メモリデバイスと通信するものである。そのコントローラは、前記ホストプロセッサにより前記メモリデバイスに送信される少なくとも１つのプログラム可能なビットシーケンスを検出するよう構成されたロジック部と、前記検出されたビットシーケンスに基づいて、前記メモリデバイスに命令を発行するよう構成されたロジック部と、前記発行された命令に対して前記メモリデバイスから少なくとも１つの応答を読出すよう構成されたロジック部と、前記メモリから読出された少なくとも１つの応答に基づいて、前記ホストプロセッサに割込み要求を送信するよう構成されたロジック部とを有する。前記割込み要求は読出しステータスエラーが発生したときに、前記ホストプロセッサに送信される。
【００１５】
本発明の別の側面からすれば、ホストプログラムとメモリコントローラとを含む処理システムにおけるメモリデバイスを制御する方法が備えられる。その方法は、前記メモリデバイスに命令を送信する工程と、前記メモリコントローラにより、前記メモリデバイスによる前記命令に対する応答を読出す工程と、読出した応答が読出しステータスエラーを示すなら、前記メモリコントローラにより、前記ホストプロセッサに割込み要求を送信する工程とを有する。
【００１６】
本発明のさらに別の側面からすれば、コンピュータにより実行されるときに、ホストプログラムとメモリコントローラとを含む処理システムにおけるメモリデバイスを制御する方法を前記コンピュータに実行させるようにする命令を格納したコンピュータ可読媒体が備えられる。その方法は、前記メモリデバイスに命令を送信する工程と、前記メモリコントローラにより、前記メモリデバイスによる前記命令に対する応答を読出す工程と、読出した応答が読出しステータスエラーを示すなら、前記メモリコントローラにより、前記ホストプロセッサに割込み要求を送信する工程とを有する。
【００１７】
出願人の発明の目的、特徴、及び利点については添付図面とあわせてこの説明を読むことにより理解されるであろう。
【図面の簡単な説明】
【００１８】
【図１】フラッシュメモリアクセスを制御する代表的な構成を含む処理システムのブロック図である。
【図２】代表的なインタフェースコントローラのブロック図である。
【図３】代表的なメモリデバイスに対する通常の“ページ書込み”動作を示す図である。
【図４】改良型インタフェースコントローラのブロック図である。
【図５】ステータスレジスタのビットを識別する代表的なテーブルを示す図である。
【図６】外部メモリデバイスに対する改良された“ページ書込み”動作を示す図である。
【発明を実施するための形態】
【００１９】
図１に描写された通常の構成において、インタフェースコントローラ１０４は、システムのホストコンピュータ１０２とメモリデバイス１０４との間のブリッジとして動作し、“ステータス読出し”動作のためにシステムバンド幅の低下を緩和するものではない。図２は通常のインタフェースコントローラ１０４のブロック図であり、その内部のインタフェース制御ロジック部２０４を示している。そのロジック部はシステムバス１１２を介して、上述のようなメモリデバイス１１４に対する、また、メモリデバイス１１４からのデータと制御信号の転送を扱う。
【００２０】
図２に描写されているように、インタフェース制御ロジック２０４は本質的にはメモリデバイス１１４からのレディ／ビジー信号をただ、割込み信号として、ホストプロセッサ１０２に受け渡すだけである。その割込み信号はホストプロセッサ１０２にとりわけ“ステータス読出し”命令を発行しなければならないことを通知する。従って、ホストプロセッサ１０２は“ステータス読出し”動作を実行する必要がある度ごとに割込みを受ける。
【００２１】
図３はホストプロセッサ１０２の通常の割込みを必要とする通常の“ページ書込み”動作を示す図である。その動作は、ホストプロセッサが“ページ書込み”命令をインタフェースコントローラ１０４に送信することで開始する。インタフェースコントローラ１０４は適切な命令をメモリデバイス１１４に送信することによりこれに応じる。ホストプロセッサ１０２はそれからアドレス情報をインタフェースコントローラ１０４に送信する。ホストプロセッサ１０２はそれから、格納されるデータをインタフェースコントローラ１０４に送信する。インタフェースコントローラ１０４は、そのデータをメモリデバイス１１４に送信することによりこれに応じる。メモリデバイス１１４はそのデータを内部バッファに一時的に格納する。ホストプロセッサ１０２は“ページ書込み”確認命令をインタフェースコントローラ１０４に送信する。インタフェースコントローラ１０４は適切な確認命令をメモリデバイス１１２に送信することによりこれに応じる。そして、データがメモリデバイス１１４のバッファから以前に送られたアドレスでデバイス１１４の記憶アレイに書込まれるという結果になる。
【００２２】
データが記憶アレイに書込まれた後に、メモリデバイス１１４はその“ビジー”制御信号をディアサートする。インタフェースコントローラ１０４は常にその信号に対して、ホストプロセッサ１０２へ割込み信号を送信することによって応答する。その割込み信号に応答して、ホストプロセッサ１０２は“ステータス読出し”命令をインタフェースコントローラ１０４に送信する。インタフェースコントローラ１０４は適切な“ステータス読出し”命令をメモリデバイス１１４に送信する。その“ステータス読出し”命令に応答して、メモリデバイス１１４は適切な“ステータス読出し”応答（例えば、エラーなし）をインタフェースコントローラ１０４に送信する。次に、インタフェースコントローラ１０４は適切な“ステータス読出し”応答をホストプロセッサ１０２に送信する。ホストプロセッサ１０２はその“ステータス読出し”応答をチェックし、もし、その応答がエラーを示しているなら、ホストプロセッサ１０２はメモリデバイス１１４の修復動作或は他の調査を実行する。
【００２３】
図３に描かれた動作は時間のかかるものであり、ホストプロセッサに負荷のかかるものであり、これにより、システム性能が低下、例えば、システムの動作が遅くなることが理解されるであろう。μ秒のオーダでの遅延は各“ページ書込み”動作に対しては異常なことではない。
【００２４】
発明者はそのような性能低下が、メモリデバイス１１４を監視し、ホストプロセッサ１０２に他のシステム動作を担当させるのを可能にする読出しステータスコントローラ（ＲＳＣ）によって回避できることを認識した。ＲＳＣは“ステータス読出し”命令を発行し、その応答を読込み、そして、適切であるなら、割込み命令をホストプロセッサ１０２に対して自動的に、即ち、ホストプロセッサ１０２を関与させることなく発行する。これにより、ホストプロセッサを他の動作のために解放し、全体的なシステム性能を向上させるものとなる。図３に描かれた通常の“ステータス読出し”動作の代わりに、ホストプロセッサ１０２は他のシステム動作を行うことができる一方で、ＲＳＣはメモリデバイス１１４を監視するのである。
【００２５】
図４は改良型インタフェースコントローラ１０４’のブロック図である。図４に描かれているように、ＲＳＣ４００はその他の点では従来のインタフェースコントローラ１０４’に含まれ、その他の点では従来の制御ロジック部２０４’と並列動作する。ＲＳＣ４００は適切に構成されたアプリケーション専用集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートウェイ（ＦＰＧＡ）、プログラマブルプロセッサ、或は、同等のロジック部により実装される。当業者であれば通常のインタフェースコントローラ１０４はしばしば同じ方法で実装されることを理解するであろう。また、当業者であればこの説明では主にフラッシュメモリデバイスに焦点を合わせているが、本発明は適切な“ステータス読出し”照会命令と応答の構造を備えたどんなメモリデバイスにでも採用することができることを理解するであろう。
【００２６】
ＲＳＣ４００はシステムバス１１２の制御ラインと信号ラインとを監視し、“ページ書込み”動作を表わす特有なセットの信号パターンを探す。これらのパターンはシステムバス１１２を介してＲＳＣ４００へとプログラムされ、ＲＳＣ４００のロジック部内部のレジスタ４０２に格納される。システムバスで情報がＲＳＣ４００を通過するとき、ＲＳＣ４００はその情報ストリームを格納されたパターンと比較し、もし格納されたパターンがシステムバス上の情報に検出されたなら、ＲＳＣの適切な動作がトリガされる。従って、ＲＳＣ４００は、システムバス１１２の制御ラインと信号ライン上の、また、メモリデバイス１１４への制御ラインと信号ライン上の何らかの知られた信号シーケンスを検出するのに十分に柔軟性がある。当業者であれば、ＡＳＩＣやＦＰＧＡなどをどのように構成し、そのパターンを格納し、システムバスのアクティビティと格納されたパターンを比較し、そして、パターンの存在を検出するのかを理解するであろう。
【００２７】
知られた信号パターンと従って“ページ書込み”動作の実行を検出する際に、ＲＳＣ４００は、インタフェース制御ロジック部２０４’にも備えられたメモリデバイス１１４のレディ／ビジー信号出力を監視する。“ビジー”がディアサートされた後、ＲＳＣ４００は自動的に適切な“ステータス読出し”命令をメモリデバイス１１４に発行する。それから、ＲＳＣ４００はメモリデバイス１１４からの応答を読込む、もし、ＲＳＣ４００がエラーに遭遇、例えば、ＲＳＣ４００が“０ｘ００ｈ”或は他の適切な格納パターン以外の応答を検出するなら、ＲＳＣ４００はホストプロセッサ１０２に割込み命令を発行でき、もし所望なら、一時的にインタフェース制御ロジック部２０４’が割込みを発行することを防止することができる。“ステータス読出し”命令と応答コードは現在のところ、標準化されていないために、従来のインタフェースコントローラ２０４は通常、このような動作を監視することはない。従って、“ステータス読出し”命令と予想される応答がレジスタ４０２内にプログラムされることには利点がある。
【００２８】
上述のように、妥当な“ステータス読出し”応答のリストはシステムバス１１２によりＲＳＣ４００の内部レジスタ４０２へとプログラムされる。また、付加的な割込み条件がシステムバスによりＲＳＣ４００にプログラムされ、ＲＳＣが他の応答に対してホストプロセッサ１０２への割込みを制御できるようにしても良い。
【００２９】
例えば、“ステータス読出し”命令は通常、メモリデバイス１１４のオンボードのステータスレジスタ１１６のコンテンツを照会する。それは通常８ビットである。図５は各メモリデバイスのステータスレジスタ（ＳＲ）ビット、その名称、及び、そのビットの２つの値（ロジックレベル）についての定義を示す代表的なテーブルである。図５における情報は、スイス、ジュネーブ（Geneva, Switzerland）のＳＴマイクロエレクトロニクス（ST Microelectronics）製のＮＡＮＤ０１Ｇ−ＢとＮＡＮＤ０２−ＢというＮＡＮＤフラッシュメモリデバイスに対応している。しかしながら、広範な他のデータ、他の名称、定義が用いられることを理解されたい。図５に示すように、ＳＲ６とＳＲ０ビットは“キャッシュ  プログラム”と“キャッシュ読出し”動作の期間中で異なる意味をもち、ＳＲ５とＳＲ１ビットは“キャッシュ  プログラム”動作に対してのみ有効であり、他の動作に対しては、ＳＲ５ビットはＳＲ６ビットと同じで良く、ＳＲ１ビットは“ドントケア（don't care）”で良い。
【００３０】
本発明に従えば、ＲＳＣ４００は“ステータス読出し”命令に対する“００ｘ０”応答の他に、メモリデバイスのステータスレジスタ１１６の種々の状態、或は、値についてのチェックを行うことができる。ＲＳＣ４００は、ＲＳＣ４００がそのステータスレジスタの特定のビットを無視し、これにより特定のステータス情報だけをチェックすることができるようにする“マスク”を用いて、メモリデバイスのステータスレジスタ１１６を読み出すことができる。そのようなマスクを用いることで、メモリデバイスのステータスレジスタ１１６のあるビットは無視され、ＲＳＣ４００はレジスタ４０２にプログラムされた“００ｘ０ｈ”ではない応答で割込み信号を生成することができる。本願での説明のために便宜上、適切なマスクにより識別されるステータスレジスタ１１６の読出しエラーステータスと特定の状態とは、本願では“読出しステータスエラー”と呼ばれる。
【００３１】
図６はＲＳＣでの“ページ書込み”動作の図である。なお、図３とは対照的に、ホストプロセッサ１０２は各“ステータス読出し”に対して割込みを受ける必要はない。ホストプロセッサ１０２は“ステータス読出し”エラーが発生したときにのみ割込みを受ける。従って、本願で説明したようなＲＳＣの利点は“ステータス読出し”エラーに遭遇しないなら、ホストプロセッサは他のシステムレベルでのタスクにサービスを行うことができる点にある。
【００３２】
図６では、その動作は、ホストプロセッサがインタフェースコントローラ１０４’に対して“ページ書込み”命令を送信することで開始する。インタフェースコントローラ１０４’はその適切な命令をメモリデバイス１１４に送信することにより応答する。それから、ホストプロセッサ１０２はアドレス情報をインタフェースコントローラ１０４’に送信し、インタフェースコントローラ１０４’はアドレスをメモリデバイス１１４に送信することにより応答する。それから、ホストプロセッサ１０２は格納されるデータをインタフェースコントローラ１０４’に送信する。インタフェースコントローラ１０４’はそのデータをメモリデバイス１１４に送信することで応答する。メモリデバイス１１４はそのデータを内部バッファに一時的に格納する。ホストプロセッサ１０２はインタフェースコントローラ１０４’に“ページ書込み”確認命令を送信する。インタフェースコントローラ１０４’は適切な確認命令をメモリデバイス１１４に送信することにより応答する。そして、メモリデバイス１１４のバッファからメモリデバイス１１４の記憶アレイに以前に送信されたアドレスでデータを書込むという結果になる。
【００３３】
データが記憶アレイに書込まれた後、メモリデバイス１１４はその“ビジー”制御信号をディアサートする。その信号に対して、インタフェースコントローラ１０４’はメモリデバイス１１４に適切な“ステータス読出し”命令を送信することにより応答する。“ステータス読出し”命令に応じて、メモリデバイス１１４は適切な“ステータス読出し”応答（例えば、エラーなし）をインタフェースコントローラ１０４’に送信する。インタフェースコントローラ１０４’は、従来の動作ではホストプロセッサ１０２がちょうど行ったようにその応答をチェックする。もし、その応答がエラーなしを示しているなら、インタフェースコントローラ１０４’はＲＳＣ４００の動作を介してホストプロセッサ１０２に割込み信号を送信することはしない。その応答がエラーを示しているなら、そのときだけは、インタフェースコントローラ１０４’はＲＳＣ４００の動作を介してホストプロセッサ１０２に割込み信号と“ステータス読出し”応答を送信する。ホストプロセッサ１０２はその情報を従って動作することができる。
【００３４】
図６に描写した動作は、図３に描写した動作と比較してあまり時間のかからない、ホストプロセッサに負荷の小さいものであり、システム性能が相対的に改善されることが理解できる。
【００３５】
割込みとメモリデバイスアクセスとを同期させるのをアシストするために、ＲＳＣ４００はレジスタ４０２においてメモリデバイス１１４に転送される命令とアドレスデータ情報を監視し、これらを格納することができる。このことには利点がある。なぜなら、より大きなシステム１００における潜在的な待ち時間のために、発生する割込みと、その割込みを生じさせる特定のアクセスとを関係付ける必要があるからである。レジスタ４０２或はＲＳＣ４００によりアクセス可能な他の適切なメモリに格納された命令とアドレス情報とは、割込みが発生した場合に違反するページを識別するためのマーカとして作用する。レジスタ４０２は、割込みに対処する際に、ホストプロセッサ１０２によりシステムバス１１２を介して読出される。
【００３６】
現在のところ、そのような同期方式は第１には直接メモリアクセス（ＤＭＡ）コントローラ或はインタフェースコントローラ１０４’に対して複数の命令のチェインを発行する何らかの他のバスマスタのために用いられると信じられている。インタフェースコントローラ１０４’により発行された“ステータス読出し”割込みは時間どおりにバスマスタに達しないかもしれないので、そのバスマスタは、割込みを受信する前に次のアクセスのための命令の発行を開始したかもしれない。従って、割込みはそれの原因となる特定のアクセスと結び合わされなければならない。それは“ステータス読出し”命令を発行する直前にそのアクセスのアドレスを書込むことによりなされる。都合のよいことにそのアドレスはレジスタ４０２に書込まれる。そして、割込みを得る際には、バスマスタはレジスタ４０２に照会し特定のどのアドレスが割込みの原因となったのを判断することができる。
【００３７】
上述の割込み方式は従って、ホストプロセッサ１０２を関与させることなく、バスマスタ或はＤＭＡコントローラへとプログラムされたアクセスのチェインをＲＳＣ４００が単に速くさせることで、マルチページの自律的な転送を容易にすることができる。もし、エラーがなければ、命令のチェインはホストプロセッサ１０２を停止させることなく、そして、ホストプロセッサ１０２を関与させることなく、コントローラ１０４’に発行される。ＲＳＣ４００はコマンドチェインのこの部分を自動化する。“ステータス読出し”の応答の自動チェックを扱うことができないＤＭＡコントローラについては、デシジョン−メイキングロジック（即ち、ＲＳＣ）がこれら複数アクセスがなされる速度をサポートする。
【００３８】
上述したＲＳＣ４００はメモリ１１４のような外部デバイスに送信されたプログラム可能なビットシーケンスを検出することができることが認識されるであろう。そのビットシーケンスは外部デバイスからの応答が読出される必要があるのかどうかを示す。ＲＳＣ４００はまた、外部デバイスからの応答を読出し、適切に動作する、例えば、そのデバイスの実際の応答を１つ以上のプログラム可能に決定された応答と比較することにより、“読出しステータス”エラーが発生したかどうか判断することができる。特定の応答、例えば、エラーを示す応答を読出したとき、ＲＳＣは更なる動作のためにシステムプロセッサに割込み要求を発行することができる。ＲＳＣはまた、どのアクセス（マルチバッファキュー方式でのアドレスとデータ）が特定の応答が発生する原因となったかを追跡することができる。
【００３９】
上述した手順が必要であれば繰り返し実行される。そして、理解を容易にするために、出願人の発明の多くの特徴について、例えば、プログラム可能なコンピュータシステムの構成要素によって実行される動作シーケンスにより説明したことが認識されるであろう。種々の動作は、専用の回路（例えば、専用の機能を実行するために内部接続されたディスクリートなロジックゲートやＡＳＩＣ）により、１つ以上のプロセッサにより実行されるコンピュータ命令により、或は、これらの両方により実行されるものであることが認識されるであろう。
【００４０】
従って、本発明は多くの異なる様式で実施することができ、それらの全てが先に説明された訳ではない。そして、そのような様式の全てが本発明の範囲の内にあるものであると考えられる。本発明の種々の側面各々について、何らかのそのような様式は、説明した動作を実行する“ように構成されたロジック部”、或は、その代わりに説明した動作を実行する“ロジック部”として言及されるかもしれない。
【００４１】
本出願で用いられる“有する”或は“有している”という用語は、陳述した特徴、数値、工程（ステップ）、或は、構成要素の存在を特定するものであり、１つ以上の他の特徴、数値、工程（ステップ）、構成要素、或は、それらのグループの存在や付加を排除するものではないことを強調しておきたい。
【００４２】
上述した特定の実施例は単なる例示的なものであり、本発明をいかようにも限定するものとして考えられるべきものではない。本発明の範囲は次の請求の範囲により定められ、請求の範囲の中にある全ての変形例や均等物は、そこに含められるものであることが意図されている。
【図１】
0005442634.tif 000002
【図２】
0005442634.tif 000003
【図３】
0005442634.tif 000004
【図４】
0005442634.tif 000005
【図５】
0005442634.tif 000006
【図６】
0005442634.tif 000007