(57)【要約】【課題】  フィールドプログラマブルゲートアレイ（ＦＰＧＡ）等の複数のＤＲＡＭメモリコントローラを用いて再構成可能なデバイスを再プログラミングする場合に、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）データを保持するシステムおよび方法。【解決手段】  ＤＲＡＭメモリコントローラは、内部または外部に位置するデータメンテナンスブロックに合わせて使用され、ＦＰＧＡは、ＤＲＡＭ入力／出力（Ｉ／Ｏ）の大部分を駆動し、データメンテナンスブロックは、複数のセルフリフレッシュコマンド入力を駆動する。たとえＦＰＧＡが再構成されても、複数のＤＲＡＭ入力の大部分は、トライステートであり、データメンテナンスブロックは、複数のセルフリフレッシュコマンド入力に安定した複数の入力レベルを提供する。【選択図】図１
2015225658.tif 000002
【特許請求の範囲】
【請求項１】
ＤＲＡＭメモリと、
前記ＤＲＡＭメモリの選択された複数の入力および複数の出力に結合されたメモリコントローラを有する再構成可能なロジックデバイスと、
前記再構成可能なロジックデバイスおよび前記ＤＲＡＭメモリの複数のセルフリフレッシュコマンド入力に結合されたデータメンテナンスブロックとを備え、
前記データメンテナンスブロックは、前記再構成可能なロジックデバイスが再構成される間、前記複数のセルフリフレッシュコマンド入力に安定した複数の入力レベルを提供する、コンピュータシステム。
【請求項２】
前記ＤＲＡＭメモリは、ＤＤＲ３に準拠した複数のメモリデバイスを有する、請求項１に記載のコンピュータシステム。
【請求項３】
前記再構成可能なロジックデバイスは、ＦＰＧＡを有する、請求項１または２に記載のコンピュータシステム。
【請求項４】
前記データメンテナンスブロックは、前記再構成可能なロジックデバイスの再構成コントローラに結合されたコマンドデコード部分を有する、請求項１から３のいずれか１項に記載のコンピュータシステム。
【請求項５】
前記データメンテナンスブロックの前記コマンドデコード部分は、前記再構成コントローラからのコマンドに応答して動作し、応答のアクノレッジ信号を提供する、請求項４に記載のコンピュータシステム。
【請求項６】
前記データメンテナンスブロックは、前記再構成可能なロジックデバイスの再構成コントローラに結合されたメモリブロックを有する、請求項１に記載のコンピュータシステム。
【請求項７】
前記メモリブロックは、前記再構成可能なロジックデバイスの前記再構成コントローラから受信されたデータを保持する、請求項６に記載のコンピュータシステム。
【請求項８】
前記データメンテナンスブロックは、ＣＰＬＤを有する、請求項１に記載のコンピュータシステム。
【請求項９】
前記再構成可能なロジックデバイスは、前記データメンテナンスブロックを有する、請求項１または８に記載のコンピュータシステム。
【請求項１０】
前記データメンテナンスブロックは、前記再構成可能なロジックデバイスが再構成される間、前記ＤＲＡＭメモリをセルフリフレッシュモードに保持する、請求項１、８または９のいずれか１項に記載のコンピュータシステム。
【請求項１１】
メモリコントローラを有する再構成可能なロジックデバイスに関連するＤＲＡＭメモリの複数のコンテンツを保存する方法であって、
前記再構成可能なロジックデバイスに結合されたデータメンテナンスブロックを提供する段階と、
前記ＤＲＡＭメモリの複数のセルフリフレッシュコマンド入力に前記データメンテナンスブロックを結合する段階と、
前記データメンテナンスブロックに前記再構成可能なロジックデバイスから受信されたデータを格納する段階と、
前記再構成可能なロジックデバイスが再構成される間、前記複数のセルフリフレッシュコマンド入力に複数の安定した入力レベルを維持する段階とを備える、方法。
【請求項１２】
提供する前記段階は、
前記再構成可能なロジックデバイスから複数のコマンドを受信し、前記再構成可能なロジックデバイスに、応答の複数のアクノレッジ信号を返すべく結合される、前記データメンテナンスブロックのコマンドデコード部分を提供する段階を有する、請求項１１に記載の方法。
【請求項１３】
格納する前記段階は、
前記再構成可能なデバイスから受信された前記データを格納し、再構成機能が完了すると、前記再構成可能なデバイスに前記データを返す前記データメンテナンスブロックに、メモリブロックを提供する段階を有する、請求項１１または１２に記載の方法。
【請求項１４】
格納する前記段階は、
前記ＤＲＡＭメモリから直接に受信された前記データを格納し、再構成機能が完了すると、前記ＤＲＡＭメモリに前記データを直接に返す前記データメンテナンスブロックにメモリブロックを提供する段階を有する、請求項１１から１３のいずれか１項に記載の方法。
【請求項１５】
前記データメンテナンスブロックを提供する前記段階は、
前記再構成可能なデバイスの一部を前記データメンテナンスブロックとして提供する段階を有する、請求項１１から１４のいずれか１項に記載の方法。
【請求項１６】
前記データメンテナンスブロックを提供する前記段階は、
ＣＰＬＤを前記データメンテナンスブロックとして提供する段階を有する、請求項１１から１５のいずれか１項に記載の方法。
【請求項１７】
前記データメンテナンスブロックを提供する前記段階は、
前記再構成可能なデバイスから受信された前記データを格納するブロックＲＡＭを提供する段階と、
前記再構成可能なデバイスに応答して、前記ＤＲＡＭメモリの複数のリセットおよびクロックイネーブル入力に結合されるコマンドデコード部分を提供する段階とを有する、請求項１１から１６のいずれか１項に記載の方法。
【請求項１８】
再構成可能なコンピュータ環境における複数のシーケンシャルコンピューティングタスクの間で前記データを渡す段階を更に備える、請求項１１から１７のいずれか１項に記載の方法。
【請求項１９】
前記再構成可能なロジックデバイスがパワーダウンする間、前記データを前記データメンテナンスブロックに保存する段階を更に備える、請求項１１から１８のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概ね、再構成可能なコンピューティングシステムの分野に関する。より詳細には、本発明は、複数のＤＲＡＭメモリコントローラを用いて再構成可能なデバイスを再プログラミングする場合にダイナミックランダムアクセスメモリ（ＤＲＡＭ）データを保持する、システムおよび方法に関する。
【０００２】
今日のプログラマブルロジック設計の大部分は、メモリサブシステムの中心にＤＲＡＭベースのメモリソリューションを含む。今日のＤＲＡＭデバイスは、前世代のものよりも著しく高速であるが、ますます複雑でリソースに集中するメモリコントローラを要求するという代償を払っている。一例は、読み取りおよび書き込み較正ロジックを必要とするダブルデータレート３および４（ＤＤＲ３およびＤＤＲ４）の複数のコントローラである。この追加ロジックは、以前のバージョンのＤＲＡＭ（例えば、ＤＤＲおよびＤＤＲ２）を用いるときには必要ではなかった。結果として、企業は、最新のＤＲＡＭ技術を使用して独自開発のＤＲＡＭコントローラを設計する場合、相当な設計コストおよび増大するプロジェクト完了時間を吸収せざるを得ない。
【０００３】
設計にＤＲＡＭベースの複数のメモリソリューションを含める場合、設計エンジニアリングコストおよび検証時間を軽減するべく、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）設計者が、販売業者により提供されるメモリコントローラの知的財産（ＩＰ）を実装することは極めてありふれたことである。例えば、「Ａｌｌａｎ，Ｇｒａｈａｍ；"ＤＤＲ  ＩＰ  Ｉｎｔｅｇｒａｔｉｏｎ：Ｈｏｗ  ｔｏ  Ａｖｏｉｄ  Ｌａｎｄｍｉｎｅｓ  ｉｎ  ｔｈｉｓ  Ｑｕｉｃｋｌｙ  Ｃｈａｎｇｉｎｇ  Ｌａｎｄｓｃａｐｅ"；Ｃｈｉｐ  Ｄｅｓｉｇｎ，Ｊｕｎｅ／Ｊｕｌｙ  ２００７；ｐｐ  ２０−２２」および「Ｗｉｌｓｏｎ，Ｒｏｎ；"ＤＲＡＭ  Ｃｏｎｔｒｏｌｌｅｒｓ  ｆｏｒ  Ｓｙｓｔｅｍ  Ｄｅｓｉｇｎｅｒｓ"；Ａｌｔｅｒａ  Ｃｏｒｐｏｒａｔｉｏｎ  Ａｒｔｉｃｌｅｓ，２０１２」を参照されたい。
【０００４】
ＦＰＧＡ設計者には、デバイス製造者のＩＰ設計を選択する傾向がある。検証され、試験され、著しく軽減された設計コストおよびプロジェクト完了時間という途方もない利益を有するからである。多くの場合、コントローラの性能を増大させるべく、プログラマブルデバイス内で専用回路を利用する付加的利益が存在するが、このことは、コントローラをゼロから設計する場合には、ただちに明らかになるとは限らない。
【０００５】
工場から供給されるＩＰメモリコントローラを使用する否定的側面は、複数の動作特性を変更することを試みる場合に、柔軟性があまり存在しないことである。ＦＰＧＡがライブアプリケーションにおいて再プログラミングされ、メモリコントローラのトライステートが全て、ＦＰＧＡデバイスとＤＲＡＭとの間で入力および出力（Ｉ／Ｏ）する場合には、重大な問題が再構成可能なコンピューティングにおいて生じる。その結果は、メモリサブシステムにおける破損データである。従って、動的に再構成可能な複数のプロセッサは、特にデータベースアプリケーションまたはコンテキストスイッチ処理について、実行可能なコンピューティングの選択肢としては除外されている。その理由は、ＤＲＡＭデータの全コンテンツをコピーし、システムの別の部分にそれを保存して、プロセッサを再構成し、次いで最終的にデータを取得してＤＲＡＭ内でそれを復元するのにかかる時間が通常の限度を超えることである。
【発明の概要】
【０００６】
再構成可能なデバイス、例えば、ＤＲＡＭメモリコントローラを有するＦＰＧＡが再構成され、再プログラミングされ、そうでなければパワーダウンされる場合に、複数のＤＲＡＭメモリコンテンツを保存するシステムおよび方法が、本明細書において開示される。ＦＰＧＡが再プログラミングされる場合に、複数のＤＲＡＭ入力は、複数のセルフリフレッシュコマンド信号を含むトライステートである。複数のリセットまたはクロックイネーブル入力に対する未定状態により、ＤＲＡＭデータの破損が生じる。
【０００７】
本発明のシステムおよび方法によれば、ＦＰＧＡベースのＤＲＡＭコントローラは、内部または外部に位置するデータメンテナンスブロックと合わせて使用される。動作において、ＦＰＧＡは、大部分のＤＲＡＭ入力／出力（Ｉ／Ｏ）を駆動し、データメンテナンスブロックは、複数のセルフリフレッシュコマンド入力を駆動する。たとえＦＰＧＡが再構成され、大部分のＤＲＡＭ入力がトライステートであっても、データメンテナンスブロックは、複数のセルフリフレッシュコマンド入力に安定した複数の入力レベルを提供する。
【０００８】
機能的には、データメンテナンスブロックは、メモリコントローラを含まず、従って、複数のセルフリフレッシュコマンド、特にＤＲＡＭセルフリフレッシュモードをいつ、どのように開始するかについて判断基準を有しない。また、本明細書において開示されるように、ＦＰＧＡにおけるメモリコントローラが、データメンテナンスブロックを介して複数のセルフリフレッシュコマンドをＤＲＡＭに向けることを可能にする、通信ポートは、ＦＰＧＡとデータメンテナンスブロックとの間、実装される。具体的には、これは、ＤＲＡＭをいつセルフリフレッシュモードにし、メモリにデータを保存するかを伴う。
【０００９】
このとき、ＤＲＡＭデータは、データメンテナンスブロックにより開始されたセルフリフレッシュモードによりＦＰＧＡ再構成全体に保存されているが、ここで、ＤＲＡＭコントローラは、複数の書き込み／読み取りタイミングウィンドウを確立しなければならず、較正／平準化処理中に必要とされる、保証済み書き込みデータおよび読み取りデータで特定の複数のアドレスコンテンツを破損することになる。結果として、ＤＲＡＭのセルフリフレッシュ能力を使用するのみでは、再構成中にデータ整合性を維持するのに十分ではない（較正／平準化中に使用される複数のメモリアドレスが知られており、通常、コントローラＩＰ仕様書において詳述されていることに留意されたい）。
【００１０】
これを実施するべく、システムは、「再構成要求」をＤＲＡＭコントローラに送信する。受信されると、ＦＰＧＡ販売業者が提供するメモリコントローラＩＰを取り囲むグルーロジックは、複数の読み取り要求を、較正／平準化処理中に使用される複数のアドレス位置を指定するコントローラに対して発行する。データがＤＲＡＭから取得されると、通信ポートを介してＦＰＧＡデバイスから、データメンテナンスブロック自体またはシステムの別の位置に存在するストレージ空間のブロックに送信される。
【００１１】
処理が完了すると、データメンテナンスブロックは、セルフリフレッシュコマンドをＤＲＡＭに送信し、アクノレッジ信号をＦＰＧＡに送信し返す。データメンテナンスブロックは、これをＦＰＧＡ初期パワーアップ条件に対するＦＰＧＡ再構成条件として認識し、この状態を後に使用するために保持する。
【００１２】
ＦＰＧＡが再プログラミングされると、ＤＲＡＭコントローラは、複数の較正設定を再度確立し、ＤＲＡＭ内のいくつかの特定のアドレスは、保証済み書き込み／読み取りデータの複数のパターンで破損される。このとき、販売業者のメモリコントローラＩＰを取り囲むグルーロジックには、データメンテナンスブロックにより（通信ポートを介して）、初期パワーアップ条件または再構成条件のいずれかから起動されたことが通知される。再構成条件が検出されると、次の複数のＤＭＡ要求を処理する前に、コントローラは、格納済みＤＲＡＭデータをデータメンテナンスブロック（再び通信ポートを介して）から取得し、較正／平準化処理中に破損された特定の複数のアドレス位置にそれを再度書き込む。完了すると、ＦＰＧＡにおけるＤＲＡＭコントローラは、従来の様式で複数のシステムメモリ要求を提供することを自由に開始する。
【００１３】
データメンテナンスブロックは、ＤＲＡＭをセルフリフレッシュモードに保持するように機能するので、ＦＰＧＡは、ＤＲＡＭを必要としない、極めてアプリケーション固有のコンピューテイングジョブを実行するべく自由に再プログラミングされることが、本発明のシステムおよび方法と共に提供される複数の利益のうちの１つである。これは、ＤＲＡＭコントローラを作製するべく、すでに予約された全てのデバイスリソースが、異なる複数の機能に今や自由に使用されることを意味する。
【００１４】
更に、ＤＲＡＭにすでに格納されたデータは、今や保存され、それを必要とする次のアプリケーションにより使用するために利用可能であるので、コンピュータシステム全体は、本発明から利益を得る。これは、一連の特定のデータ操作タスクを必要とする複数のコンピューティングソリューションが今や、小さな再構成可能なプロセッサにおいて実装される能力を有するという事実をもたらす。各アプリケーションは、意図される機能を実行し、データは、ＤＲＡＭを介して複数の再構成期間の間にアプリケーションからアプリケーションに渡される。
【００１５】
重要なこととして、複数のＤＲＡＭデータコンテンツは、たとえ再構成可能なデバイスがパワーダウンされても保持されることにも留意されたい。これは、例えば、本発明のシステムおよび方法が複数のモバイルデバイスにおいて実装される場合に特に重要である。
【００１６】
１または複数のＤＲＡＭコントローラを含むデバイスを再構成する場合に、複数のＤＲＡＭデータコンテンツを保存するシステムおよび方法が、本明細書において具体的に開示される。また、ＤＲＡＭコントローラを含まない新しい設計を用いてプログラマブルデバイスが再構成される場合に、再構成可能なコンピュータ環境に複数のＤＲＡＭデータコンテンツを保存するシステムおよび方法が、本明細書において具体的に開示される。更に、再構成可能なコンピュータ環境において、複数のシーケンシャルコンピューティングタスク間でＤＲＡＭデータを渡すシステムおよび方法、ならびに再構成可能なデバイスがパワーダウンされた場合に、複数のＤＲＡＭコンテンツを保存するシステムおよび方法が、本明細書において開示される。
【００１７】
また、ＤＲＡＭメモリと、ＤＲＡＭメモリの選択された複数の入力および複数の出力に結合されたメモリコントローラを有する再構成可能なロジックデバイスと、ＤＲＡＭメモリの再構成可能なロジックデバイスおよび複数のセルフリフレッシュコマンド入力に結合されたデータメンテナンスブロックとを備えるコンピュータシステムが、本明細書において具体的に開示される。再構成可能なロジックデバイスが再構成される間、データメンテナンスブロックは、複数のセルフリフレッシュコマンド入力に安定した複数の入力レベルを提供するように動作する。
【００１８】
更に、メモリコントローラを有する再構成可能なデバイスに関連するＤＲＡＭメモリの複数のコンテンツを保存する方法が、本明細書において具体的に開示される。本方法は、再構成可能なデバイスに結合されたデータメンテナンスブロックを提供する段階と、データメンテナンスブロックを、ＤＲＡＭメモリの複数のセルフリフレッシュコマンド入力に結合する段階と、データメンテナンスブロックに再構成可能なデバイスから受信されたデータを格納する段階と、再構成可能なロジックデバイスが再構成される間、複数のセルフリフレッシュコマンド入力に安定した複数の入力レベルを維持する段階とを備える。
【図面の簡単な説明】
【００１９】
好ましい実施形態の以下の説明を、添付の複数の図面と併せて参照することにより、本発明の上述および他の複数の特徴および目的、ならびにそれを実現する様式は、より明らかになり、発明自体もより良好に理解されるであろう。
【図１】ロジックデバイスが再構成される場合に、ＤＲＡＭデータを保持する本発明のデータメンテナンスブロックを図示する、関連するＤＲＡＭメモリを用いて再構成可能なＤＲＡＭコントローラを有する再構成可能なロジックデバイスを備える、コンピュータサブシステムの機能ブロック図である。
【図２】再構成可能なアプリケーションロジックに関連する本発明のシステムおよび方法による、複数のデータメンテナンスブロックおよびＤＲＡＭメモリのペアを組み込む、本発明の譲受人ＳＲＣ  Ｃｏｍｐｕｔｅｒ  ＬＬＣから入手されるもの等、再構成可能なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００２０】
ここで図１を参照すると、ＤＲＡＭメモリ１０２および再構成可能なロジックデバイス１０４を備えるコンピュータサブシステム１００の機能ブロック図が示される。本発明の代表的な実施形態において、再構成可能なロジックデバイス１０４は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）を有し得る。しかし、再構成可能なロジックデバイス１０４は、部分的認識能力を有する再構成可能なロジックデバイス、またはチップ内に含まれる複数の再プログラミング可能領域を有する特定用途向け集積回路（ＡＳＩＣ）デバイス等、複数のハイブリッドデバイスを含むあらゆる形態の再構成可能なロジックデバイスを有し得ることに留意されたい。
【００２１】
また、ロジックデバイス１０４がコンピュータサブシステム１００の動作中に再構成される場合に、ＤＲＡＭメモリ１０２のデータを保持する、本発明によるデータメンテナンスブロック１０６が図示される。本発明の代表的な実施形態において、データメンテナンスブロック１０６は、好都合なことに、複合プログラマブルロジックデバイス（ＣＰＬＤ）もしくは他の別個の集積回路デバイスとして提供され、または代替的な複数の実施形態において、再構成可能なロジックデバイス１０４を備えるＦＰＧＡの一部として提供され得る。
【００２２】
図示されるように、再構成要求コマンドを再構成コントローラ１１０に対して発行し、引き換えに再構成要求アクノレッジ（Ａｃｋ）信号を受信する、一次システムロジックブロック１０８を、再構成可能なロジックデバイス１０４は有する。
【００２３】
同様に、再構成コントローラ１１０は、データメンテナンスブロック１０６のコマンドデコードブロック１１２に対してコマンドを発行し、引き換えにアクノレッジ（Ａｃｋ）信号を受信する。データメンテナンスブロック１０６のブロックＲＡＭ部分１１４は、再構成コントローラ１１０とデータを交換する。再構成コントローラ１１０は、列アドレス選択（ＲＡＳ＃）信号、行アドレス選択（ＣＡＳ＃）信号、およびライトイネーブル（ＷＥ＃）信号をメモリコントローラおよび物理インターフェースブロック１１８から受信するべく結合された、リフレッシュタイマ１１６からの入力を受信する。
【００２４】
また、メモリコントローラおよび物理インターフェースブロック１１８は、ＤＲＡＭメモリ１０２に、ＲＡＳ＃信号、ＣＡＳ＃信号、およびＷＥ＃信号、ならびにクロック（ＣＫ、ＣＫ＃）信号、チップ選択（ＣＳ＃）信号、アドレス（Ａ）信号、バンクアドレス（ＢＡ）信号、データマスク（ＤＭ）信号、およびオンダイターミネーション（ＯＤＴ）入力信号を提供する。示されるように、双方向データ（ＤＱ）入力／出力（Ｉ／Ｏ）信号および差動データストローブ信号（ＤＱＳ／ＤＱＳ＃）は、ＤＲＡＭメモリ１０２、メモリコントローラ、および物理インターフェースブロック１１８の間で交換される。データメンテナンスブロック１０６は、ＤＲＡＭメモリ１０２に結合され、リセット（ＲＥＳＥＴ＃）信号およびクロックイネーブル（ＣＫＥ＃）信号をＤＲＡＭメモリ１０２に供給する。示されるように、メモリコントローラおよび物理インターフェースブロック１１８は、コントローラインターフェース１２０からの要求に応答して、ＤＲＡＭメモリ１０２から読み取られたデータ（Ｒｄデータ）を提供し、ＤＲＡＭメモリ１０２（Ｗｒデータ）に書き込まれるデータを受信する。また、図示されるように、ソースロジックブロック１２２は、コントローラインターフェース１２０、ならびに再構成コントローラ１１０に結合される。ソースロジックブロック１２２は、一次システムロジックブロック１０８からのデータ要求を受信し、ＤＲＡＭメモリ１０２から読み取られたデータを提供しつつ、ＤＲＡＭメモリ１０２に書き込まれるデータを受信する。
【００２５】
数字１のオペレーションにより示されるように、再構成要求は、再構成コントローラ１１０で、再構成可能なロジックデバイス１０４の一次システムロジックブロック１０８から受信される。再構成可能なロジックデバイス１０４が再構成された後、再構成コントローラ１１０は、較正／平準化シーケンスにおいて使用される複数のメモリアドレスに対して複数のダイレクトメモリアクセス（ＤＭＡ）読み取り要求を開始する。返されたデータは、再構成コントローラ１１０におけるブロックＲＡＭの小さいセクション（図示せず）に格納される。
【００２６】
数字２のオペレーションにより示されるように、再構成コントローラ１１０は、複数のブロックＲＡＭコンテンツを、データメンテナンスブロック１０６に位置するブロックＲＡＭ１１４の別の小さいセクションに格納する。完了すると、データメンテナンスブロック１０６は、コマンドデコードブロック１１２からのアクノレッジ信号をアサートする。数字３により示されるオペレーションで、再構成コントローラ１１０は、リフレッシュタイマ１１６からのリフレッシュコマンドを検出し、リフレッシュサイクルタイム（ｔＲＦＣ）を待ち、データメンテナンスブロック１０６に、ＣＫＥをＤＲＡＭメモリ１０２にデアサートするよう命令する。
【００２７】
再構成コントローラ１１０は、数字４により示されるオペレーションにおいて、再構成要求Ａｃｋ信号をアサートし、再構成可能なロジックデバイス１０４は、再構成される。数字５のオペレーションにより示されるように、再構成コントローラ１１０は、再構成後の条件（Ａｃｋ＝Ｈｉｇｈ）を認識し、メモリコントローラおよび物理インターフェース１１８をリセットに保持し、データメンテナンスブロック１０６に、ＣＫＥをＤＲＡＭメモリ１０２にアサートするよう命令する。次に、メモリコントローラおよび物理インターフェース１１８は、リセットから解放され、ＤＲＡＭメモリ１０２を初期化する。
【００２８】
数字６により示されるオペレーションで、再構成コントローラ１１０は、データメンテナンスブロック１０６のブロックＲＡＭ１１４の複数のコンテンツを取得し、再構成コントローラ１１０におけるブロックＲＡＭの小さいセクション（図示せず）に格納する。再構成コントローラ１１０は、メモリコントローラ、物理インターフェース１１８、およびＤＲＡＭメモリ１０２の初期化が数字７により示されるオペレーションで完了したことを検出し、複数のＤＭＡ書き込み要求を開始し、較正／平準化シーケンス中に再構成前に読み取られた複数のデータ値で破損された複数のメモリコンテンツを復元する。数字８により示されるオペレーションで、メモリコントローラおよび物理インターフェース１１８のグルーロジック（再構成コントローラ１１０、リフレッシュタイマ１１６、コントローラインターフェース１２０、およびソースロジックブロック１２２を含む）は、従来の様式で一次システムロジック１０８とのＤＭＡアクティビティを再開する。
【００２９】
上述のオペレーション上の複数の段階のうちあるものは、実際には、実質的に同時に動作し得ることに留意されたい。更に、機能上正確であるが、列挙されるオペレーション上の複数の段階のうちのいくつかは、オペレーション全体の論理的連続性を提供し、処理の理解を容易にするべく、順序を変えて記載されている。本発明のシステムおよび方法の特定の実装において、開示されるオペレーション上の複数の段階の１または複数は、ハードウェア全体の効率を向上させるべく、都合の良いように順序を変えてもよい。更に、所望であるものとして説明されたものに加えて、アクティブなアプリケーションへの比較的シームレスな統合を容易にするのに役立ち得る複数の段階が、提供され得る。
【００３０】
ここで図２を更に参照すると、再構成可能なアプリケーションロジック２０２に関連する本発明のシステムおよび方法による、複数のデータメンテナンスブロック１０６およびＤＲＡＭメモリ１０２のペアを組み込む再構成可能なコンピュータシステム２００のブロック図が、図示される。再構成可能なコンピュータシステム２００のこの代表的な実施形態において、ＤＲＡＭメモリ１０２は、３２ＧＢエラー訂正コード（ＥＣＣ）のシンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）の形態で図示される。
【００３１】
再構成可能なアプリケーションロジック２０２は、上記の図に関してすでに図示および説明された複数のデータメンテナンスブロック１０６およびＤＲＡＭメモリ１０２に結合され、また、いくつかの８ＧＢ  ＥＣＣのスタティックランダムアクセスメモリ（ＳＲＡＭ）のメモリモジュール２０４に結合されるものとして図示される。また、示されるように、再構成可能なアプリケーションロジック２０２は、ＳＲＣ  Ｃｏｍｐｕｔｅｒ  ＬＬＣのＳＮＡＰ（商標）およびいくつかのシリアルギガビットメディアインディペンデントインターフェース（ＳＧＭＩＩ）のリンクを有するネットワークプロセッサブロック２０６に結合される。再構成可能なアプリケーションブロック２０２におけるＤＲＡＭメモリ１０２のコントローラは、ＤＲＡＭメモリ１０２の複数のデータコンテンツが複数のデータメンテナンスブロック１０６内に維持されるので、次の複数の再構成において省略され得ることに留意されたい。
【００３２】
ＳＮＡＰおよびネットワークプロセッサブロック２０６は、マイクロプロセッササブシステム２１０と、１ＧＢピアＳＤＲＡＭシステムメモリ２０８への等しい読み取り／書き込みアクセスを共有する。また、図示されるように、マイクロプロセッササブシステム２１０は、ＳＧＭＩＩリンク、ならびにシリアルアドバンスドテクノロジーアタッチメント（ＳＡＴＡ）インターフェースのペアを備える。
【００３３】
本明細書における説明の連続性および明瞭さのために、「ＦＰＧＡ」という用語は、本発明のシステムおよび方法の代表的な実施形態と共に用いられ、１つのタイプの再構成可能なロジックデバイスのみを指す。しかし、本明細書において開示されるコンセプトは、部分的認識能力を有する複数の再構成可能なロジックデバイスまたはチップ内に含まれる複数の再プログラミング可能領域を有するＡＳＩＣデバイスを含む、複数のハイブリッドデバイスを含む再構成可能なロジックデバイスのあらゆる形態に適用可能であることに留意されたい。
【００３４】
ＤＲＡＭメモリ１０２、再構成可能なロジックデバイス１０４、関連する複数のマイクロプロセッサ、および複数のプログラミング技術を組み込む動的に再構成可能なコンピューティングシステムの代表的な実施形態は、本発明の譲受人ＳＲＣ  Ｃｏｍｐｕｔｅｒ  ＬＬＣに対する米国特許および米国特許公報である、米国特許第６，０２６，４５９号、米国特許第６，０７６，１５２号、米国特許第６，２４７，１１０号、米国特許第６，２９５，５９８号、米国特許第６，３３９，８１９号、米国特許第６，３５６，９８３号、米国特許第６，４３４，６８７号、米国特許第６，５９４，７３６号、米国特許第６，８３６，８２３号、米国特許第６，９４１，５３９号、米国特許第６，９６１，８４１号、米国特許第６，９６４，０２９号、米国特許第６，９８３，４５６号、米国特許第６，９９６，６５６号、米国特許第７，００３，５９３号、米国特許第７，１２４，２１１号、米国特許第７，１３４，１２０号、米国特許第７，１４９，８６７号、米国特許第７，１５５，６０２号、米国特許第７，１５５，７０８号、米国特許第７，１６７，９７６号、米国特許第７，１９７，５７５号、米国特許第７，２２５，３２４号、米国特許第７，２３７，０９１号、米国特許第７，２９９，４５８号、米国特許第７，３７３，４４０号、米国特許第７，４０６，５７３号、米国特許第７，４２１，５２４号、米国特許第７，４２４，５５２号、米国特許第７，５６５，４６１号、米国特許第７，６２０，８００号、米国特許第７，６８０，９６８号、米国特許第７，７０３，０８５号、米国特許第７，８９０，６８６号、米国特許第８，５８９，６６６号、米国特許公報第２０１２／０１１７３１８号、米国特許公報第２０１２／０１１７５３５号、および米国特許公報第２０１３／０１５７６３９の１または複数において開示され、その開示は全体が、参照により個別に本明細書に組み込まれる。  特定の装置および方法と共に本発明の原理が上記されているが、本発明の範囲の限定としてではなく、例としてのみ、上述の説明をしていることを明確に理解されたい。特に、上述の開示の教示は、他の複数の変形形態を当業者に示唆することを理解されたい。そのような複数の変形形態は、それ自体既に知られ、本明細書においてすでに説明された複数の特徴の代わりに、またはこれに加えて使用され得る、他の複数の特徴を含み得る。本願において、特許請求の範囲は、複数の特徴の特定の組み合わせとして定式化されているが、本明細書における開示の範囲は、いずれかの請求項で現在請求されるのと同一の発明に関するか、本発明が直面するのと同一の複数の技術的問題のいずれかまたは全てを軽減するか否かを問わず、明示的もしくは黙示的に開示されるいずれかの新規な特徴もしくは複数の特徴の新規な組み合わせ、または当業者に明らかである、そのいずれかの一般化もしくは変形も含むことを理解されたい。出願人は、本願、またはそれから派生する更なる出願の遂行中に、そのような複数の特徴および／またはそのような複数の特徴の組み合わせに対する新しい特許請求の範囲を定式化する権利を留保する。
【００３５】
本明細書において使用されるように、「備える」、「備えている」という用語、またはその他の改変形態は、非排他的な包含を含むことを意図し、従って、一定の複数の要素の列挙を含む処理、方法、物品、または装置は、それらの要素を必ずしも含まないのみならず、明示的に列挙されない、またはそのような処理、方法、物品、または装置に固有の他の複数の要素を含み得る。本願の説明のいずれも特定の要素、段階、または機能が特許請求の範囲に含まれなければならない本質的要素であることを暗示するものとして読まれるべきではなく、特許付与された主題の範囲は、許可された特許のみにより定義されるものである。更に、「の手段」という厳密な文言が使用され、その後に分詞が続かない限り、添付の特許請求の範囲は、合衆国法典第３５巻第１１２条６段落を援用することを意図する。
【図１】
2015225658.tif 000003
【図２】
2015225658.tif 000004
【外国語明細書】
2015225658000001.pdf