(57)【要約】  本発明は、第１のメモリと第２のメモリとを備えるメモリ配置であって、前記第２のメモリが、前記メモリ配置の外部の一つ以上のコンポーネントへの前記メモリ配置の外部インタフェースとして作用し、前記第１のメモリの異なる部分を同時アクセスするように、前記第１のメモリに動作可能に結合されたメモリ配置を含む、方法、装置およびシステムを提供する。
2011510408.tif 000002
【特許請求の範囲】
【請求項１】
第１のメモリと、前記第１のメモリに動作可能に結合された第２のメモリとを備えるメモリ配置であって、前記第２のメモリが、前記メモリ配置の外部の一つ以上のコンポーネントへの前記メモリ配置の外部インタフェースとして作用し、前記第１のメモリの異なる部分の同時アクセスを促進するように構成されている、メモリ配置。
【請求項２】
前記第１のメモリが第１のポートを備え、前記第２のメモリが前記第１のポートに動作可能に結合された第２のポートを備え、前記メモリ配置が前記メモリ配置の外部の前記一つ以上の外部素子と動作可能に結合されるように構成された第３のポートを更に備えている、請求項１記載のメモリ配置。
【請求項３】
前記第１のメモリが第１の記憶容量を有し、前記第２のメモリが前記第１の記憶容量より実質的に小さい第２の記憶容量を有している、請求項１記載のメモリ配置。
【請求項４】
前記第２のメモリが読み出しアクセス時間と書き込みアクセス時間を有し、前記書き込みアクセス時間が前記読み出しアクセス時間と実質的に同じである、請求項１記載のメモリ配置。
【請求項５】
前記第１のメモリが他の読み出しアクセス時間と他の書き込みアクセス時間を有し、前記他のアクセス書き込み時間が前記他の読み出しアクセス時間と実質的に同じである、請求項４記載のメモリ配置。
【請求項６】
前記第１のメモリがページタイプメモリである、請求項１記載のメモリ配置。
【請求項７】
前記第２のメモリがページタイプメモリである、請求項６記載のメモリ配置。
【請求項８】
前記第１のメモリが第１のランダムアクセスレイテンシを有し、前記第２のメモリが第１のランダムアクセスレイテンシより低い第２のランダムアクセスレイテンシを有している、請求項１記載のメモリ配置。
【請求項９】
前記メモリ配置が単一集積回路上に配置されている、請求項１記載のメモリ配置。
【請求項１０】
第１のメモリと、前記第１のメモリに動作可能に結合された第２のメモリとを備えるメモリ配置であって、前記第２のメモリが、前記メモリ配置の外部の一つ以上のコンポーネントへの前記メモリ配置の外部インタフェースとして作用するように構成されたメモリ配置と、
前記メモリ配置に動作可能に結合され、前記一つ以上のコンポーネントによる前記第１のメモリの異なる部分の同時アクセスを促進するように構成されたコントローラと、
を備える、システム。
【請求項１１】
前記第１のメモリが第１のポートを備え、前記第２のメモリが前記第１のポートに動作可能に結合された第２のポートを備え、前記メモリ配置が前記メモリ配置の外部の前記一つ以上の外部素子と動作可能に結合されるように構成された第３のポートを更に備えている、請求項１０記載のシステム。
【請求項１２】
前記第１のメモリが第１の記憶容量を有し、前記第２のメモリが前記第１の記憶容量より実質的に小さい第２の記憶容量を有している、請求項１０記載のシステム。
【請求項１３】
前記第１のメモリ及び前記第２のメモリの少なくとも一つが読み出しアクセス時間と書き込みアクセス時間を有し、前記書き込みアクセス時間が前記読み出しアクセス時間と実質的に同じである、請求項１０記載のシステム。
【請求項１４】
前記第１のメモリが第１のランダムアクセスレイテンシを有し、前記第２のメモリが第１のランダムアクセスレイテンシより低い第２のランダムアクセスレイテンシを有している、請求項１０記載のシステム。
【請求項１５】
前記第１のメモリ及び前記第２のメモリの少なくとも一つがページメモリである、請求項１０記載のシステム。
【請求項１６】
前記コントローラが前記メモリ配置へのアドレスをパイプライン化するように構成されている、請求項１０記載のシステム。
【請求項１７】
前記コントローラが前記アドレスをアドレスストローブの立上りエッジ及び立下りエッジでパイプライン化するように構成されている、請求項１６記載のシステム。
【請求項１８】
前記一つ以上のコンポーネントが一つ以上のプロセッサを備えている、請求項１０記載のシステム。
【請求項１９】
前記一つ以上のコンポーネントが単一集積回路上に配置された一つ以上のプロセッサを備えている、請求項１０記載のシステム。
【請求項２０】
前記システムが単一集積回路上に配置されている、請求項１０記載のシステム。
【請求項２１】
第１のメモリと前記第１のメモリに動作可能に結合された第２のメモリとを備えるメモリ配置を動作させる方法であって、該方法は、
前記メモリ配置の外部の一つ以上のコンポーネントから、前記第１のメモリの異なる部分をアクセスするための少なくとも２つのアクセスコマンドを前記第２のメモリにより受信するステップと、
前記少なくとも２つのアクセスコマンドに応答して前記第１のメモリの異なる部分を同時にアクセスするステップと、
を備える、メモリ配置の動作方法。
【請求項２２】
前記第１のメモリの異なる部分を同時にアクセスするステップは、前記第１のメモリ用の複数のメモリセルからの第１のサブセットの第１の一つ以上のメモリセルを、前記第１のメモリ用の前記複数のメモリセルからの第２のサブセットの第２の一つ以上のメモリセルと同時にアクセスするステップ備え、前記第１及び前記第２のサブセットがメモリセルを共有しない、請求項２１記載の方法。
【請求項２３】
前記受信ステップは、前記第１のメモリと関連するアドレスをアドレスストローブの立上りエッジと立下りエッジで受信するステップを備える、請求項２１記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は集積回路の分野に関し、より具体的にはディジタルメモリ装置及び従属接続メモリ配置に関する。
【背景技術】
【０００２】
半導体メモリは多くの電子システムにおいて極めて重要な役割を演じている。データ記憶、コード（命令）記憶及びデータ検索／アクセスなどのそれらの機能は多種多様のアプリケーションに広がり続けている。スタンドアロン／個別メモリ製品形式及び例えばモジュール又はモノリシック集積回路内に論理機能などの他の機能と一緒に集積されたメモリのような組み込み形式の双方においてこれらのメモリの利用が成長し続けている。コスト、動作電力、帯域幅、レイテンシ、使いやすさ、広範なアプリケーションをサポートする能力及び不揮発性はすべて広範囲のアプリケーションにおいて望ましい属性である。
【０００３】
いくつかのシステムにおいては、メモリのページを開くことでメモリバンクの別のページへのアクセスを阻止し得る。これはアクセス及びサイクルタイムを有効に高めることができる。マルチプロセッサ又はマルチコアシステムにおいては、種々のアプリケーションを実行している間にメモリを並列にアクセスする試みはメモリバンクのロックアップのために遅延が増加する。
【０００４】
その上、同じデータが２つ以上のプロセッサ又はコアによりメモリ位置から読み出され、コピーされ、そのデータが次に少なくとも一つのプロセッサ又はコアにより変更される場合には、データインコヒーレンシーのリスクが存在し得る。変更された直前の更新データが、場合により、すべてのプロセッサ又はコアに利用できないか利用不可にされる場合に、一つ以上のプロセッサ又はコアがデータの古いコピーに対して動作する可能性がある。
【発明の概要】
【０００５】
本発明の実施例は添付の図面と関連する以下の詳細な説明から容易に理解されよう。本発明の実施例は例示であって、添付図面に示されるものに限定されない。
【図面の簡単な説明】
【０００６】
【図１】本発明の種々の実施例による模範的メモリ配置を含む機能システムブロック図を示す。
【図２】種々の実施例によるメモリ配置を含む模範的システムを示す。
【図３】種々の実施例によるメモリ配置を含む別の模範的システムを示す。
【図４】種々の実施例によるＧＤＳ又はＧＤＳIIデータフォーマットにコンパイルされたハードウェア設計仕様のブロック図を示す。
【発明を実施するための形態】
【０００７】
以下の詳細な説明では、本明細書の一部を構成する添付図面を参照する。図面には説明のために種々の実施例が示され、実施可能に説明されている。本発明の範囲から外れることなく他の実施例を利用することも、構造的又は論理的変更を加えることもできることを理解すべきである。従って、以下の詳細な説明は限定を意図するものでなく、本発明による実施の範囲は添付の請求項及びそれらの等価物により特定される。
【０００８】
本発明の実施例の理解に役立つように、種々の動作が多数の個別の動作として順に記載されるが、この記載の順序は、これらの動作が順序依存であると解釈すべきではない。更に、いくつかの実施例は記載されているより多数又は少数の動作を含むことができる。
【０００９】
明細書において使用する語句「一実施例において」又は「いくつかの実施例において」は各々一つ以上の同じ又は異なる実施例に関係するものとし得る。更に、本発明の実施例と関連して使用される語「備える」、「含む」、「有する」などは同義である。
【００１０】
明細書及び請求項中で使用されている語「アクセス動作」は一つ以上のメモリデバイスに対する読み出し、書き込み又は他のアクセス動作に関係するものとし得る。
【００１１】
本発明の種々の実施例は、第１のメモリ及び第２のメモリを含むメモリ配置であって、第２のメモリがメモリ配置の外部の一つ以上のコンポーネントへの外部インタフェースとして作用して第１のメモリの異なる部分を同時にアクセスするように第１のメモリに動作可能に結合されているメモリ回路配置を含む。第１のメモリの異なる部分への同時アクセスは、同時の読み出し／読み出し、読み出し／書き込み及び書き込み／書き込みを可能にし、種々の他のシステムに対して改善されたデータコヒーレンシーをもたらすことができる。
【００１２】
図１を参照すると、本発明の種々の実施例に従って、第１のメモリ１０２と第１のメモリ１０２に動作可能に結合された第２のメモリ１０４とを含む模範的なメモリ配置１００のブロック図が示されている。第２のメモリ１０４は、メモリ配置１００の一つ以上の外部コンポーネント１０６へのメモリ配置１００の外部インタフェースとして作用するように構成することができる。
【００１３】
第２のメモリ１０４は、第１のメモリ１０２の異なる部分を同時にアクセスするために外部コンポーネント１０６へのメモリ配置１００の外部インタフェースとして作用するように構成することができる。これらの実施例の一つでは、第２のメモリ１０４をポート１０８及び１１０を含むデュアルポートメモリとすることができ、第１のメモリ１０２はポート１１２を含む単一ポートメモリとすることができる。第２のメモリ１０２のポート１０８は第１のメモリ１０２のポート１１２に動作可能に結合することができる。第２のメモリ１０２のポート１１０は外部コンポーネント１０６の一つ以上と動作可能に結合するように構成することができる。
【００１４】
第２のメモリ１０４のポート１０８及び１１０の各々は読み出し及び書き込みアクセス動作を許可するように構成することができる。従って、種々の実施例では、読み出し又は書き込み動作をポート１０８を介して実行することができるとともに、読み出し又は書き込み動作をポート１１０を介して実行することができる。この新規な構成の利点は、データコヒーレンシーを維持するために第１のメモリ１０２の異なる部分への同時アクセスを可能にすることにある。例えば、第１のメモリ１０２から第２のメモリ１０４にコピーされたデータが変更された場合、変更されたデータをポート１０８を介して第１のメモリ１０２に書き戻すことができ、これによりデータを更新することができるが、同時に、第２のメモリ１０４を別の読み出し又は書き込み動作のためにポート１１０を介して外部コンポーネント１０６によりアクセスすることができる。この場合、第１のメモリ１０２への変更データの書き戻しを最小の遅延で実行できる。
【００１５】
第１のメモリ１０２及び第２のメモリ１０４は目的に適した任意のタイプのメモリセルを備えることができる。例えば、第１のメモリ１０２及び／又は第２のメモリ１０４は、アプリケーションに依存してダイナミックランダムアクセスメモリ（ＤＲＡＭ）セル又はスタティックランダムアクセスメモリ（ＳＲＡＭ）セルを備えることができる。更に、図に示されていないが、メモリデバイスは、アプリケーションに依存してセンス増幅回路、デコーダ、及び／又は論理回路を含むことができる。
【００１６】
第１のメモリ１０２及び／又は第２のメモリ１０４は、例えばメモリページ又はメモリバンクのようなメモリのいくつかのサブセット(部分集合)を備えるメモリユニットに区分化することができ、各サブセットは複数のメモリセル（図示せず）を備えることができる。例えば、いくつかの実施例では、第１のメモリ１０２及び／又は第２のメモリ１０４はページタイプメモリを備えることができる。
【００１７】
種々の実施例では、第１のメモリ１０２の異なる部分を同時にアクセスすることができる。第１のメモリ１０２の異なる部分はメモリセルの互いに素なサブセット(部分集合)とすることができ、またメモリセルの交差（積）／非互いに素なサブセット(部分集合)とすることができる。第１のメモリ１０２の異なる部分が交差／非互いに素なサブセットであるいくつかの実施例では、同時アクセス動作を同時読み出し動作に限定して、例えばデータインコヒーレンシーのようなコンフリクトを避けることができる。他方、第１のメモリ１０２の異なる部分が交差(積)サブセットであるいくつかの実施例では、種々の並列アクセス動作を実行することができる。例えば、読み出し又は書き込み動作を第１の一つ以上のメモリセルに実行するとともに、読み出し又は書き込み動作を第２の一つ以上のメモリセルに実行することができる。
【００１８】
種々の実施例では、第１のメモリ１０２は第２のメモリ１０４の記憶容量より大きな記憶容量を有するものとし得る。更に、種々の実施例では、第１のメモリ１０２は第２のメモリ１０４より低速のメモリとすることができる。第１のメモリ１０２は、例えば比較的低速で大形で高密度のＤＲＡＭ，ＳＲＡＭ又は擬似ＳＲＡＭを備えることができるが、第２のメモリ１０４は、例えば低いレイテンシで高い帯域幅のＳＲＡＭ又はＤＲＡＭを備えることができる。いくつかの実施例では、例えば第１のメモリ１０２はＤＲＡＭを備え、第２のメモリ１０４はＳＲＡＭを備える。第１のメモリ１０２及び／又は第２のメモリ１０４は、アプリケーションに依存して、フラッシュメモリ、相変化メモリ、カーボンナノチューブメモリ、磁気抵抗メモリ及びポリマメモリのいずれか一つ以上を備えることができる。
【００１９】
上述したように、いくつかの実施例においては、第２のメモリ１０４は低いレイテンシのメモリを備えることが望ましい。従って、種々の実施例では、第２のメモリ１０４は第１のメモリ１０２のランダムアクセスレイテンシより著しく低いランダムアクセスレイテンシを有するものとし得る。
【００２０】
更に、いくつかの実施例では、第２のメモリ１０４はほぼ同一の読み出しアクセス時間及び書き込みアクセス時間を有するメモリを備えることができる。いくつかの実施例ではあまり重要ではないが、第１のメモリ１０２もほぼ同一の読み出しアクセス時間及び書き込みアクセス時間を有するメモリを備えることができる。
【００２１】
メモリ配置１００は、アプリケーションに依存して、個別のデバイスを備えることができ、また複数の要素からなるシステムを備えることができる。例えば、種々の実施例では、第１のメモリ１０２及び第２のメモリ１０４は単一集積回路上に共通配置することができる。
【００２２】
外部コンポーネント１０６は、一般にメモリへのアクセスを要求する種々のコンポーネントのいずれか一つ以上を備えることができる。図２に示されるように、例えば模範的なコンピュータシステム２００は一つ以上のプロセッシングユニット２０４ａ，２０４ｂを含む外部コンポーネント２１４を備えることができる。
【００２３】
システム２００は、例えば図１のメモリ配置１００のようなメモリ配置２１６を備えることができる。図に示されているように、メモリ配置２１６は第１のメモリ２１８及び第２のメモリ２２０を含む。メモリ配置２１６は一つ以上のプロセッシングユニット２０４ａ，２０４ｂによりアクセスすることができる。図２に示される実施例では、２つのプロセッシングユニット２０４ａ，２０４ｂはメモリコントローラ２２２を介してメモリ配置２１６に動作可能に結合される。しかし、種々の実施例では、もっと多数の又は少数のプロセッシングユニットをメモリ配置２１６に結合することができる。
【００２４】
種々の実施例では、システム２００は、メモリ配置２１６を動作させるためにメモリ配置２１６及び外部コンポーネント２１４に動作可能に結合されたメモリコントローラ２２２を含むことができる。いくつかの実施例では、メモリコントローラ２２２は、例えばメモリ配置２１６に読み出し及び書き込みアクセスコマンドを発行するように構成することができる。
【００２５】
いくつかの実施例では、少なくとも一つのコアを有する各プロセッシングユニット２０４ａ，２０４ｂは同じＩＣ上に集積化されたメモリコントローラを含むことができる。他のいくつかの実施例では、それぞれ少なくとも一つのコアを有するいくつかのプロセッシングユニット２０４ａ，２０４ｂは単一のメモリコントローラを共有することができる。いくつかの代替実施例では、メモリ配置２１６がコントローラ（図示せず）を含み、メモリコントローラ２２２の機能の一部分又はすべてをメモリ配置２１６内で有効に実行することができる。このような機能はメモリ配置２１６内のモードレジスタの使用により実行することができる。
【００２６】
種々の実施例では、アクセスコマンドをメモリ配置２１６へ発行するとき、メモリコントローラ２２２はアクセスすべきメモリ配置２１６のメモリセルに対応するアドレスをパイプライン化するように構成することができる。アドレスのパイプライン化中、メモリコントローラ２２２は一連の行及び列アドレスを連続的に受信し、次に行及び列アドレスをバンクコンフリクトが回避されるように特定のバンク又はメモリにマップすることができる。これらの実施例のそれぞれにおいては、メモリコントローラ２２２はアドレスをアドレスストローブ（又はクロック）の立上りエッジ又は立下りエッジでパイプライン化するように構成することができる。メモリコントローラ２２２はパイプライン化されたアドレスをメモリに送ることができる複数のアドレスライン出力を含むことができる。
【００２７】
ここに記載されるように、第２のメモリ２２０は、第１のメモリ２１８の異なる部分を同時にアクセスするために、外部コンポーネント２１４へのメモリ配置２１６の外部インタフェースとして作用するように構成することができる。種々の実施例では、メモリコントローラ２２２は同時アクセスを促進するように構成することができる。これらの実施例のそれぞれにおいては、第２のメモリ２２０はポート２２４，２２６を含むデュアルポートメモリとすることができ、第１のメモリ２１８はポート２２８を含む単一ポートメモリとすることができる。第２のメモリ２２０のポート２２４は第１のメモリ２１８のポート２２８に動作可能に結合することができる。第２のメモリ２２０のポート２２６はメモリコントローラ２２２で促進される一つ以上の外部コンポーネント２１４と動作可能に結合されるように構成することができる。
【００２８】
図３は本発明の実施例を内蔵するコンピュータシステム３００を示す。図に示されるように、システム３００は一つ以上のプロセッサ３３０と、例えば図１のメモリ配置１００又は図２のメモリ配置２１６のようなシステムメモリ３３２とを含むことができる。
【００２９】
更に、コンピュータシステム３００は、本発明の教えの一部又はすべてに従って具体化された、メモリ３３２を動作させるためのメモリコントローラ３３４を含むことができる。メモリコントローラ３３４は図２のメモリコントローラ２２２に類似のメモリコントローラを備えることができる。
【００３０】
更に、コンピュータシステム３００は、大容量記憶装置３３６（例えば、ディスケット、ハードドライブ、ＣＤＲＯＭなど）、入力／出力デバイス３３８（例えば、キーボード、カーソルコントロールなど）及び通信インタフェース３４０（例えば、ネットワークインタフェースカード、モデムなど）を含むことができる。これらの要素はシステムバス３４２を介して互いに結合することができ、システムバス３４２は一つ以上のバスを代表することができる。複数バスの場合には、これらのバスを一つ以上のバスブリッジ（図示せず）で橋渡しすることができる。
【００３１】
本発明の種々の実施例の教え以外は、コンピュータシステム３００の各要素は従来既知の通常の機能を実行することができる。特に、メモリ３３２及び大容量記憶装置３３６は一つ以上のアプリケーションを実行するプログラム命令の作業用コピー及び永久コピーを記憶するために使用できる。
【００３２】
図３はコンピュータシステムを示すが、本発明の実施例は、当業者に認識されるように、ＤＲＡＭ又は他のタイプのディジタルメモリを用いる他のデバイス、例えば、次のものに限定されないが、携帯電話、携帯情報端末（ＰＤＡ）、ゲームデバイス、高精細度テレビジョン（ＨＤＴＶ）デバイス、電気機器、ネットワークデバイス、ディジタル音楽プレーヤ、ディジタル媒体プレーヤ、ラップトップコンピュータ、携帯電子デバイス、電話並びに既知の他のデバイスを用いて実施することができる。
【００３３】
ここに述べられているように、種々の実施例では、ここに記載のメモリ配置は集積回路内に具体化することができる。集積回路は、いくつかのハードウェア設計言語のいずれか一つ、例えば、次のものに限定されないが、ＶＨＤＬ又はＶｅｒｉｌｏｇを用いて記述することができる。コンパイルされた設計は、いくつかのデータフォーマットのいずれか一つ、例えば、次のものに限定されないが、ＧＤＳ又はＧＤＳIIフォーマットで格納することができる。ソース設計及び／又はコンパイルされた設計はいくつかの媒体のいずれか一つ、例えば、次のものに限定されないが、ＤＶＤに格納することができる。図４はハードウェア設計仕様４４４のコンパイルを示すブロック図を示し、ハードウェア設計仕様４４４をコンパイラ４４６に通して本発明の種々の実施例に従う集積回路を記述するＧＤＳ又はＧＤＳIIデータフォーマット４４８を生成することができる。
【００３４】
好適実施例の説明のために所定の実施例を図示し記載したが、同じ目的を達成するように適合させた様々な代替実施例及び／又は等価実施例又は実装を本発明の範囲から外れることなくここに図示され記載された実施例の代わりとすることができることは当業者に認識されよう。当業者は、本発明による実施例は多種多様の方法で実現することができることは容易に認識しよう。本願はここに記載された実施例の任意の適応例又は変形例をカバーすることを意図している。従って、本発明による実施例は請求項及びその等価物によってのみ限定されることを明白に意図している。
【図１】
2011510408.tif 000003
【図２】
2011510408.tif 000004
【図３】
2011510408.tif 000005
【図４】
2011510408.tif 000006
【国際調査報告】
2011510408.tif 000007
2011510408.tif 000008
2011510408.tif 000009