特許第5777040号(P5777040)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エスアールシー コンピューターズ、エルエルシーの特許一覧

特許5777040複数のDRAMメモリコントローラを用いて複数の再構成可能なデバイスを再プログラミングする場合にDRAMデータを保持するシステムおよび方法
<>
  • 特許5777040-複数のDRAMメモリコントローラを用いて複数の再構成可能なデバイスを再プログラミングする場合にDRAMデータを保持するシステムおよび方法 図000002
  • 特許5777040-複数のDRAMメモリコントローラを用いて複数の再構成可能なデバイスを再プログラミングする場合にDRAMデータを保持するシステムおよび方法 図000003
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】5777040
(24)【登録日】2015年7月17日
(45)【発行日】2015年9月9日
(54)【発明の名称】複数のDRAMメモリコントローラを用いて複数の再構成可能なデバイスを再プログラミングする場合にDRAMデータを保持するシステムおよび方法
(51)【国際特許分類】
   G06F 12/00 20060101AFI20150820BHJP
【FI】
   G06F12/00 550K
   G06F12/00 550B
【請求項の数】19
【外国語出願】
【全頁数】11
(21)【出願番号】特願2015-28587(P2015-28587)
(22)【出願日】2015年2月17日
【審査請求日】2015年5月11日
(31)【優先権主張番号】14/288,094
(32)【優先日】2014年5月27日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】513304194
【氏名又は名称】エスアールシー コンピューターズ、エルエルシー
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】ティモシー ジェー. ティウォルト
【審査官】 後藤 彰
(56)【参考文献】
【文献】 特開2013− 80283(JP,A)
【文献】 特開2010−262645(JP,A)
【文献】 特開2001−265647(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
(57)【特許請求の範囲】
【請求項1】
DRAMメモリと、
前記DRAMメモリの選択された複数の入力および複数の出力に結合されたメモリコントローラを有する再構成可能なロジックデバイスと、
前記再構成可能なロジックデバイスおよび前記DRAMメモリの複数のセルフリフレッシュコマンド入力に結合されたデータメンテナンスブロックとを備え、
前記データメンテナンスブロックは、前記再構成可能なロジックデバイスが再構成される間、前記複数のセルフリフレッシュコマンド入力に安定した複数の入力レベルを提供する、コンピュータシステム。
【請求項2】
前記DRAMメモリは、DDR3に準拠した複数のメモリデバイスを有する、請求項1に記載のコンピュータシステム。
【請求項3】
前記再構成可能なロジックデバイスは、FPGAを有する、請求項1または2に記載のコンピュータシステム。
【請求項4】
前記データメンテナンスブロックは、前記再構成可能なロジックデバイスの再構成コントローラに結合されたコマンドデコード部分を有する、請求項1から3のいずれか1項に記載のコンピュータシステム。
【請求項5】
前記データメンテナンスブロックの前記コマンドデコード部分は、前記再構成コントローラからのコマンドに応答して動作し、応答のアクノレッジ信号を提供する、請求項4に記載のコンピュータシステム。
【請求項6】
前記データメンテナンスブロックは、前記再構成可能なロジックデバイスの再構成コントローラに結合されたメモリブロックを有する、請求項1に記載のコンピュータシステム。
【請求項7】
前記メモリブロックは、前記再構成可能なロジックデバイスの前記再構成コントローラから受信されたデータを保持する、請求項6に記載のコンピュータシステム。
【請求項8】
前記データメンテナンスブロックは、CPLDを有する、請求項1に記載のコンピュータシステム。
【請求項9】
前記再構成可能なロジックデバイスは、前記データメンテナンスブロックを有する、請求項1または8に記載のコンピュータシステム。
【請求項10】
前記データメンテナンスブロックは、前記再構成可能なロジックデバイスが再構成される間、前記DRAMメモリをセルフリフレッシュモードに保持する、請求項1、8または9のいずれか1項に記載のコンピュータシステム。
【請求項11】
メモリコントローラを有する再構成可能なロジックデバイスに関連するDRAMメモリの複数のコンテンツを保存する方法であって、
前記再構成可能なロジックデバイスに結合されたデータメンテナンスブロックを提供する段階と、
前記DRAMメモリの複数のセルフリフレッシュコマンド入力に前記データメンテナンスブロックを結合する段階と、
前記データメンテナンスブロックに前記再構成可能なロジックデバイスから受信されたデータを格納する段階と、
前記再構成可能なロジックデバイスが再構成される間、前記複数のセルフリフレッシュコマンド入力に複数の安定した入力レベルを維持する段階とを備える、方法。
【請求項12】
提供する前記段階は、
前記再構成可能なロジックデバイスから複数のコマンドを受信し、前記再構成可能なロジックデバイスに、応答の複数のアクノレッジ信号を返すべく結合される、前記データメンテナンスブロックのコマンドデコード部分を提供する段階を有する、請求項11に記載の方法。
【請求項13】
格納する前記段階は、
前記再構成可能なデバイスから受信された前記データを格納し、再構成機能が完了すると、前記再構成可能なデバイスに前記データを返す前記データメンテナンスブロックに、メモリブロックを提供する段階を有する、請求項11または12に記載の方法。
【請求項14】
格納する前記段階は、
前記DRAMメモリから直接に受信された前記データを格納し、再構成機能が完了すると、前記DRAMメモリに前記データを直接に返す前記データメンテナンスブロックにメモリブロックを提供する段階を有する、請求項11から13のいずれか1項に記載の方法。
【請求項15】
前記データメンテナンスブロックを提供する前記段階は、
前記再構成可能なデバイスの一部を前記データメンテナンスブロックとして提供する段階を有する、請求項11から14のいずれか1項に記載の方法。
【請求項16】
前記データメンテナンスブロックを提供する前記段階は、
CPLDを前記データメンテナンスブロックとして提供する段階を有する、請求項11から15のいずれか1項に記載の方法。
【請求項17】
前記データメンテナンスブロックを提供する前記段階は、
前記再構成可能なデバイスから受信された前記データを格納するブロックRAMを提供する段階と、
前記再構成可能なデバイスに応答して、前記DRAMメモリの複数のリセットおよびクロックイネーブル入力に結合されるコマンドデコード部分を提供する段階とを有する、請求項11から16のいずれか1項に記載の方法。
【請求項18】
再構成可能なコンピュータ環境における複数のシーケンシャルコンピューティングタスクの間で前記データを渡す段階を更に備える、請求項11から17のいずれか1項に記載の方法。
【請求項19】
前記再構成可能なロジックデバイスがパワーダウンする間、前記データを前記データメンテナンスブロックに保存する段階を更に備える、請求項11から18のいずれか1項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概ね、再構成可能なコンピューティングシステムの分野に関する。より詳細には、本発明は、複数のDRAMメモリコントローラを用いて再構成可能なデバイスを再プログラミングする場合にダイナミックランダムアクセスメモリ(DRAM)データを保持する、システムおよび方法に関する。
【0002】
今日のプログラマブルロジック設計の大部分は、メモリサブシステムの中心にDRAMベースのメモリソリューションを含む。今日のDRAMデバイスは、前世代のものよりも著しく高速であるが、ますます複雑でリソースに集中するメモリコントローラを要求するという代償を払っている。一例は、読み取りおよび書き込み較正ロジックを必要とするダブルデータレート3および4(DDR3およびDDR4)の複数のコントローラである。この追加ロジックは、以前のバージョンのDRAM(例えば、DDRおよびDDR2)を用いるときには必要ではなかった。結果として、企業は、最新のDRAM技術を使用して独自開発のDRAMコントローラを設計する場合、相当な設計コストおよび増大するプロジェクト完了時間を吸収せざるを得ない。
【0003】
設計にDRAMベースの複数のメモリソリューションを含める場合、設計エンジニアリングコストおよび検証時間を軽減するべく、フィールドプログラマブルゲートアレイ(FPGA)設計者が、販売業者により提供されるメモリコントローラの知的財産(IP)を実装することは極めてありふれたことである。例えば、「Allan,Graham;"DDR IP Integration:How to Avoid Landmines in this Quickly Changing Landscape";Chip Design,June/July 2007;pp 20−22」および「Wilson,Ron;"DRAM Controllers for System Designers";Altera Corporation Articles,2012」を参照されたい。
【0004】
FPGA設計者には、デバイス製造者のIP設計を選択する傾向がある。検証され、試験され、著しく軽減された設計コストおよびプロジェクト完了時間という途方もない利益を有するからである。多くの場合、コントローラの性能を増大させるべく、プログラマブルデバイス内で専用回路を利用する付加的利益が存在するが、このことは、コントローラをゼロから設計する場合には、ただちに明らかになるとは限らない。
【0005】
工場から供給されるIPメモリコントローラを使用する否定的側面は、複数の動作特性を変更することを試みる場合に、柔軟性があまり存在しないことである。FPGAがライブアプリケーションにおいて再プログラミングされ、メモリコントローラのトライステートが全て、FPGAデバイスとDRAMとの間で入力および出力(I/O)する場合には、重大な問題が再構成可能なコンピューティングにおいて生じる。その結果は、メモリサブシステムにおける破損データである。従って、動的に再構成可能な複数のプロセッサは、特にデータベースアプリケーションまたはコンテキストスイッチ処理について、実行可能なコンピューティングの選択肢としては除外されている。その理由は、DRAMデータの全コンテンツをコピーし、システムの別の部分にそれを保存して、プロセッサを再構成し、次いで最終的にデータを取得してDRAM内でそれを復元するのにかかる時間が通常の限度を超えることである。
【発明の概要】
【0006】
再構成可能なデバイス、例えば、DRAMメモリコントローラを有するFPGAが再構成され、再プログラミングされ、そうでなければパワーダウンされる場合に、複数のDRAMメモリコンテンツを保存するシステムおよび方法が、本明細書において開示される。FPGAが再プログラミングされる場合に、複数のDRAM入力は、複数のセルフリフレッシュコマンド信号を含むトライステートである。複数のリセットまたはクロックイネーブル入力に対する未定状態により、DRAMデータの破損が生じる。
【0007】
本発明のシステムおよび方法によれば、FPGAベースのDRAMコントローラは、内部または外部に位置するデータメンテナンスブロックと合わせて使用される。動作において、FPGAは、大部分のDRAM入力/出力(I/O)を駆動し、データメンテナンスブロックは、複数のセルフリフレッシュコマンド入力を駆動する。たとえFPGAが再構成され、大部分のDRAM入力がトライステートであっても、データメンテナンスブロックは、複数のセルフリフレッシュコマンド入力に安定した複数の入力レベルを提供する。
【0008】
機能的には、データメンテナンスブロックは、メモリコントローラを含まず、従って、複数のセルフリフレッシュコマンド、特にDRAMセルフリフレッシュモードをいつ、どのように開始するかについて判断基準を有しない。また、本明細書において開示されるように、FPGAにおけるメモリコントローラが、データメンテナンスブロックを介して複数のセルフリフレッシュコマンドをDRAMに向けることを可能にする、通信ポートは、FPGAとデータメンテナンスブロックとの間、実装される。具体的には、これは、DRAMをいつセルフリフレッシュモードにし、メモリにデータを保存するかを伴う。
【0009】
このとき、DRAMデータは、データメンテナンスブロックにより開始されたセルフリフレッシュモードによりFPGA再構成全体に保存されているが、ここで、DRAMコントローラは、複数の書き込み/読み取りタイミングウィンドウを確立しなければならず、較正/平準化処理中に必要とされる、保証済み書き込みデータおよび読み取りデータで特定の複数のアドレスコンテンツを破損することになる。結果として、DRAMのセルフリフレッシュ能力を使用するのみでは、再構成中にデータ整合性を維持するのに十分ではない(較正/平準化中に使用される複数のメモリアドレスが知られており、通常、コントローラIP仕様書において詳述されていることに留意されたい)。
【0010】
これを実施するべく、システムは、「再構成要求」をDRAMコントローラに送信する。受信されると、FPGA販売業者が提供するメモリコントローラIPを取り囲むグルーロジックは、複数の読み取り要求を、較正/平準化処理中に使用される複数のアドレス位置を指定するコントローラに対して発行する。データがDRAMから取得されると、通信ポートを介してFPGAデバイスから、データメンテナンスブロック自体またはシステムの別の位置に存在するストレージ空間のブロックに送信される。
【0011】
処理が完了すると、データメンテナンスブロックは、セルフリフレッシュコマンドをDRAMに送信し、アクノレッジ信号をFPGAに送信し返す。データメンテナンスブロックは、これをFPGA初期パワーアップ条件に対するFPGA再構成条件として認識し、この状態を後に使用するために保持する。
【0012】
FPGAが再プログラミングされると、DRAMコントローラは、複数の較正設定を再度確立し、DRAM内のいくつかの特定のアドレスは、保証済み書き込み/読み取りデータの複数のパターンで破損される。このとき、販売業者のメモリコントローラIPを取り囲むグルーロジックには、データメンテナンスブロックにより(通信ポートを介して)、初期パワーアップ条件または再構成条件のいずれかから起動されたことが通知される。再構成条件が検出されると、次の複数のDMA要求を処理する前に、コントローラは、格納済みDRAMデータをデータメンテナンスブロック(再び通信ポートを介して)から取得し、較正/平準化処理中に破損された特定の複数のアドレス位置にそれを再度書き込む。完了すると、FPGAにおけるDRAMコントローラは、従来の様式で複数のシステムメモリ要求を提供することを自由に開始する。
【0013】
データメンテナンスブロックは、DRAMをセルフリフレッシュモードに保持するように機能するので、FPGAは、DRAMを必要としない、極めてアプリケーション固有のコンピューテイングジョブを実行するべく自由に再プログラミングされることが、本発明のシステムおよび方法と共に提供される複数の利益のうちの1つである。これは、DRAMコントローラを作製するべく、すでに予約された全てのデバイスリソースが、異なる複数の機能に今や自由に使用されることを意味する。
【0014】
更に、DRAMにすでに格納されたデータは、今や保存され、それを必要とする次のアプリケーションにより使用するために利用可能であるので、コンピュータシステム全体は、本発明から利益を得る。これは、一連の特定のデータ操作タスクを必要とする複数のコンピューティングソリューションが今や、小さな再構成可能なプロセッサにおいて実装される能力を有するという事実をもたらす。各アプリケーションは、意図される機能を実行し、データは、DRAMを介して複数の再構成期間の間にアプリケーションからアプリケーションに渡される。
【0015】
重要なこととして、複数のDRAMデータコンテンツは、たとえ再構成可能なデバイスがパワーダウンされても保持されることにも留意されたい。これは、例えば、本発明のシステムおよび方法が複数のモバイルデバイスにおいて実装される場合に特に重要である。
【0016】
1または複数のDRAMコントローラを含むデバイスを再構成する場合に、複数のDRAMデータコンテンツを保存するシステムおよび方法が、本明細書において具体的に開示される。また、DRAMコントローラを含まない新しい設計を用いてプログラマブルデバイスが再構成される場合に、再構成可能なコンピュータ環境に複数のDRAMデータコンテンツを保存するシステムおよび方法が、本明細書において具体的に開示される。更に、再構成可能なコンピュータ環境において、複数のシーケンシャルコンピューティングタスク間でDRAMデータを渡すシステムおよび方法、ならびに再構成可能なデバイスがパワーダウンされた場合に、複数のDRAMコンテンツを保存するシステムおよび方法が、本明細書において開示される。
【0017】
また、DRAMメモリと、DRAMメモリの選択された複数の入力および複数の出力に結合されたメモリコントローラを有する再構成可能なロジックデバイスと、DRAMメモリの再構成可能なロジックデバイスおよび複数のセルフリフレッシュコマンド入力に結合されたデータメンテナンスブロックとを備えるコンピュータシステムが、本明細書において具体的に開示される。再構成可能なロジックデバイスが再構成される間、データメンテナンスブロックは、複数のセルフリフレッシュコマンド入力に安定した複数の入力レベルを提供するように動作する。
【0018】
更に、メモリコントローラを有する再構成可能なデバイスに関連するDRAMメモリの複数のコンテンツを保存する方法が、本明細書において具体的に開示される。本方法は、再構成可能なデバイスに結合されたデータメンテナンスブロックを提供する段階と、データメンテナンスブロックを、DRAMメモリの複数のセルフリフレッシュコマンド入力に結合する段階と、データメンテナンスブロックに再構成可能なデバイスから受信されたデータを格納する段階と、再構成可能なロジックデバイスが再構成される間、複数のセルフリフレッシュコマンド入力に安定した複数の入力レベルを維持する段階とを備える。
【図面の簡単な説明】
【0019】
好ましい実施形態の以下の説明を、添付の複数の図面と併せて参照することにより、本発明の上述および他の複数の特徴および目的、ならびにそれを実現する様式は、より明らかになり、発明自体もより良好に理解されるであろう。
図1】ロジックデバイスが再構成される場合に、DRAMデータを保持する本発明のデータメンテナンスブロックを図示する、関連するDRAMメモリを用いて再構成可能なDRAMコントローラを有する再構成可能なロジックデバイスを備える、コンピュータサブシステムの機能ブロック図である。
図2】再構成可能なアプリケーションロジックに関連する本発明のシステムおよび方法による、複数のデータメンテナンスブロックおよびDRAMメモリのペアを組み込む、本発明の譲受人SRC Computer LLCから入手されるもの等、再構成可能なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0020】
ここで図1を参照すると、DRAMメモリ102および再構成可能なロジックデバイス104を備えるコンピュータサブシステム100の機能ブロック図が示される。本発明の代表的な実施形態において、再構成可能なロジックデバイス104は、フィールドプログラマブルゲートアレイ(FPGA)を有し得る。しかし、再構成可能なロジックデバイス104は、部分的認識能力を有する再構成可能なロジックデバイス、またはチップ内に含まれる複数の再プログラミング可能領域を有する特定用途向け集積回路(ASIC)デバイス等、複数のハイブリッドデバイスを含むあらゆる形態の再構成可能なロジックデバイスを有し得ることに留意されたい。
【0021】
また、ロジックデバイス104がコンピュータサブシステム100の動作中に再構成される場合に、DRAMメモリ102のデータを保持する、本発明によるデータメンテナンスブロック106が図示される。本発明の代表的な実施形態において、データメンテナンスブロック106は、好都合なことに、複合プログラマブルロジックデバイス(CPLD)もしくは他の別個の集積回路デバイスとして提供され、または代替的な複数の実施形態において、再構成可能なロジックデバイス104を備えるFPGAの一部として提供され得る。
【0022】
図示されるように、再構成要求コマンドを再構成コントローラ110に対して発行し、引き換えに再構成要求アクノレッジ(Ack)信号を受信する、一次システムロジックブロック108を、再構成可能なロジックデバイス104は有する。
【0023】
同様に、再構成コントローラ110は、データメンテナンスブロック106のコマンドデコードブロック112に対してコマンドを発行し、引き換えにアクノレッジ(Ack)信号を受信する。データメンテナンスブロック106のブロックRAM部分114は、再構成コントローラ110とデータを交換する。再構成コントローラ110は、列アドレス選択(RAS#)信号、行アドレス選択(CAS#)信号、およびライトイネーブル(WE#)信号をメモリコントローラおよび物理インターフェースブロック118から受信するべく結合された、リフレッシュタイマ116からの入力を受信する。
【0024】
また、メモリコントローラおよび物理インターフェースブロック118は、DRAMメモリ102に、RAS#信号、CAS#信号、およびWE#信号、ならびにクロック(CK、CK#)信号、チップ選択(CS#)信号、アドレス(A)信号、バンクアドレス(BA)信号、データマスク(DM)信号、およびオンダイターミネーション(ODT)入力信号を提供する。示されるように、双方向データ(DQ)入力/出力(I/O)信号および差動データストローブ信号(DQS/DQS#)は、DRAMメモリ102、メモリコントローラ、および物理インターフェースブロック118の間で交換される。データメンテナンスブロック106は、DRAMメモリ102に結合され、リセット(RESET#)信号およびクロックイネーブル(CKE#)信号をDRAMメモリ102に供給する。示されるように、メモリコントローラおよび物理インターフェースブロック118は、コントローラインターフェース120からの要求に応答して、DRAMメモリ102から読み取られたデータ(Rdデータ)を提供し、DRAMメモリ102(Wrデータ)に書き込まれるデータを受信する。また、図示されるように、ソースロジックブロック122は、コントローラインターフェース120、ならびに再構成コントローラ110に結合される。ソースロジックブロック122は、一次システムロジックブロック108からのデータ要求を受信し、DRAMメモリ102から読み取られたデータを提供しつつ、DRAMメモリ102に書き込まれるデータを受信する。
【0025】
数字1のオペレーションにより示されるように、再構成要求は、再構成コントローラ110で、再構成可能なロジックデバイス104の一次システムロジックブロック108から受信される。再構成可能なロジックデバイス104が再構成された後、再構成コントローラ110は、較正/平準化シーケンスにおいて使用される複数のメモリアドレスに対して複数のダイレクトメモリアクセス(DMA)読み取り要求を開始する。返されたデータは、再構成コントローラ110におけるブロックRAMの小さいセクション(図示せず)に格納される。
【0026】
数字2のオペレーションにより示されるように、再構成コントローラ110は、複数のブロックRAMコンテンツを、データメンテナンスブロック106に位置するブロックRAM114の別の小さいセクションに格納する。完了すると、データメンテナンスブロック106は、コマンドデコードブロック112からのアクノレッジ信号をアサートする。数字3により示されるオペレーションで、再構成コントローラ110は、リフレッシュタイマ116からのリフレッシュコマンドを検出し、リフレッシュサイクルタイム(tRFC)を待ち、データメンテナンスブロック106に、CKEをDRAMメモリ102にデアサートするよう命令する。
【0027】
再構成コントローラ110は、数字4により示されるオペレーションにおいて、再構成要求Ack信号をアサートし、再構成可能なロジックデバイス104は、再構成される。数字5のオペレーションにより示されるように、再構成コントローラ110は、再構成後の条件(Ack=High)を認識し、メモリコントローラおよび物理インターフェース118をリセットに保持し、データメンテナンスブロック106に、CKEをDRAMメモリ102にアサートするよう命令する。次に、メモリコントローラおよび物理インターフェース118は、リセットから解放され、DRAMメモリ102を初期化する。
【0028】
数字6により示されるオペレーションで、再構成コントローラ110は、データメンテナンスブロック106のブロックRAM114の複数のコンテンツを取得し、再構成コントローラ110におけるブロックRAMの小さいセクション(図示せず)に格納する。再構成コントローラ110は、メモリコントローラ、物理インターフェース118、およびDRAMメモリ102の初期化が数字7により示されるオペレーションで完了したことを検出し、複数のDMA書き込み要求を開始し、較正/平準化シーケンス中に再構成前に読み取られた複数のデータ値で破損された複数のメモリコンテンツを復元する。数字8により示されるオペレーションで、メモリコントローラおよび物理インターフェース118のグルーロジック(再構成コントローラ110、リフレッシュタイマ116、コントローラインターフェース120、およびソースロジックブロック122を含む)は、従来の様式で一次システムロジック108とのDMAアクティビティを再開する。
【0029】
上述のオペレーション上の複数の段階のうちあるものは、実際には、実質的に同時に動作し得ることに留意されたい。更に、機能上正確であるが、列挙されるオペレーション上の複数の段階のうちのいくつかは、オペレーション全体の論理的連続性を提供し、処理の理解を容易にするべく、順序を変えて記載されている。本発明のシステムおよび方法の特定の実装において、開示されるオペレーション上の複数の段階の1または複数は、ハードウェア全体の効率を向上させるべく、都合の良いように順序を変えてもよい。更に、所望であるものとして説明されたものに加えて、アクティブなアプリケーションへの比較的シームレスな統合を容易にするのに役立ち得る複数の段階が、提供され得る。
【0030】
ここで図2を更に参照すると、再構成可能なアプリケーションロジック202に関連する本発明のシステムおよび方法による、複数のデータメンテナンスブロック106およびDRAMメモリ102のペアを組み込む再構成可能なコンピュータシステム200のブロック図が、図示される。再構成可能なコンピュータシステム200のこの代表的な実施形態において、DRAMメモリ102は、32GBエラー訂正コード(ECC)のシンクロナスダイナミックランダムアクセスメモリ(SDRAM)の形態で図示される。
【0031】
再構成可能なアプリケーションロジック202は、上記の図に関してすでに図示および説明された複数のデータメンテナンスブロック106およびDRAMメモリ102に結合され、また、いくつかの8GB ECCのスタティックランダムアクセスメモリ(SRAM)のメモリモジュール204に結合されるものとして図示される。また、示されるように、再構成可能なアプリケーションロジック202は、SRC Computer LLCのSNAP(商標)およびいくつかのシリアルギガビットメディアインディペンデントインターフェース(SGMII)のリンクを有するネットワークプロセッサブロック206に結合される。再構成可能なアプリケーションブロック202におけるDRAMメモリ102のコントローラは、DRAMメモリ102の複数のデータコンテンツが複数のデータメンテナンスブロック106内に維持されるので、次の複数の再構成において省略され得ることに留意されたい。
【0032】
SNAPおよびネットワークプロセッサブロック206は、マイクロプロセッササブシステム210と、1GBピアSDRAMシステムメモリ208への等しい読み取り/書き込みアクセスを共有する。また、図示されるように、マイクロプロセッササブシステム210は、SGMIIリンク、ならびにシリアルアドバンスドテクノロジーアタッチメント(SATA)インターフェースのペアを備える。
【0033】
本明細書における説明の連続性および明瞭さのために、「FPGA」という用語は、本発明のシステムおよび方法の代表的な実施形態と共に用いられ、1つのタイプの再構成可能なロジックデバイスのみを指す。しかし、本明細書において開示されるコンセプトは、部分的認識能力を有する複数の再構成可能なロジックデバイスまたはチップ内に含まれる複数の再プログラミング可能領域を有するASICデバイスを含む、複数のハイブリッドデバイスを含む再構成可能なロジックデバイスのあらゆる形態に適用可能であることに留意されたい。
【0034】
DRAMメモリ102、再構成可能なロジックデバイス104、関連する複数のマイクロプロセッサ、および複数のプログラミング技術を組み込む動的に再構成可能なコンピューティングシステムの代表的な実施形態は、本発明の譲受人SRC Computer LLCに対する米国特許および米国特許公報である、米国特許第6,026,459号、米国特許第6,076,152号、米国特許第6,247,110号、米国特許第6,295,598号、米国特許第6,339,819号、米国特許第6,356,983号、米国特許第6,434,687号、米国特許第6,594,736号、米国特許第6,836,823号、米国特許第6,941,539号、米国特許第6,961,841号、米国特許第6,964,029号、米国特許第6,983,456号、米国特許第6,996,656号、米国特許第7,003,593号、米国特許第7,124,211号、米国特許第7,134,120号、米国特許第7,149,867号、米国特許第7,155,602号、米国特許第7,155,708号、米国特許第7,167,976号、米国特許第7,197,575号、米国特許第7,225,324号、米国特許第7,237,091号、米国特許第7,299,458号、米国特許第7,373,440号、米国特許第7,406,573号、米国特許第7,421,524号、米国特許第7,424,552号、米国特許第7,565,461号、米国特許第7,620,800号、米国特許第7,680,968号、米国特許第7,703,085号、米国特許第7,890,686号、米国特許第8,589,666号、米国特許公報第2012/0117318号、米国特許公報第2012/0117535号、および米国特許公報第2013/0157639の1または複数において開示され、その開示は全体が、参照により個別に本明細書に組み込まれる。 特定の装置および方法と共に本発明の原理が上記されているが、本発明の範囲の限定としてではなく、例としてのみ、上述の説明をしていることを明確に理解されたい。特に、上述の開示の教示は、他の複数の変形形態を当業者に示唆することを理解されたい。そのような複数の変形形態は、それ自体既に知られ、本明細書においてすでに説明された複数の特徴の代わりに、またはこれに加えて使用され得る、他の複数の特徴を含み得る。本願において、特許請求の範囲は、複数の特徴の特定の組み合わせとして定式化されているが、本明細書における開示の範囲は、いずれかの請求項で現在請求されるのと同一の発明に関するか、本発明が直面するのと同一の複数の技術的問題のいずれかまたは全てを軽減するか否かを問わず、明示的もしくは黙示的に開示されるいずれかの新規な特徴もしくは複数の特徴の新規な組み合わせ、または当業者に明らかである、そのいずれかの一般化もしくは変形も含むことを理解されたい。出願人は、本願、またはそれから派生する更なる出願の遂行中に、そのような複数の特徴および/またはそのような複数の特徴の組み合わせに対する新しい特許請求の範囲を定式化する権利を留保する。
【0035】
本明細書において使用されるように、「備える」、「備えている」という用語、またはその他の改変形態は、非排他的な包含を含むことを意図し、従って、一定の複数の要素の列挙を含む処理、方法、物品、または装置は、それらの要素を必ずしも含まないのみならず、明示的に列挙されない、またはそのような処理、方法、物品、または装置に固有の他の複数の要素を含み得る。本願の説明のいずれも特定の要素、段階、または機能が特許請求の範囲に含まれなければならない本質的要素であることを暗示するものとして読まれるべきではなく、特許付与された主題の範囲は、許可された特許のみにより定義されるものである。更に、「の手段」という厳密な文言が使用され、その後に分詞が続かない限り、添付の特許請求の範囲は、合衆国法典第35巻第112条6段落を援用することを意図する。
【要約】
【課題】
フィールドプログラマブルゲートアレイ(FPGA)等の複数のDRAMメモリコントローラを用いて再構成可能なデバイスを再プログラミングする場合に、ダイナミックランダムアクセスメモリ(DRAM)データを保持するシステムおよび方法。
【解決手段】
DRAMメモリコントローラは、内部または外部に位置するデータメンテナンスブロックに合わせて使用され、FPGAは、DRAM入力/出力(I/O)の大部分を駆動し、データメンテナンスブロックは、複数のセルフリフレッシュコマンド入力を駆動する。たとえFPGAが再構成されても、複数のDRAM入力の大部分は、トライステートであり、データメンテナンスブロックは、複数のセルフリフレッシュコマンド入力に安定した複数の入力レベルを提供する。
【選択図】図1
図1
図2