(57)【要約】チップ上システムにおけるメモリ容量要件の結果、ＤＲＡＭ型のメモリデバイスを使用するようになってきた。これらデバイスの特徴は、データのバースト指向のアクセスである。これらバーストは、メモリ内のエンティティとしてのみアクセス可能な連続した重なり合わないデータのブロックと考えることができる。従って、データエンティティがアクセスされる場合、データエンティティと同一の粒度（グラニュラリティ）を有するグリッドに常に整列される。データエンティティのサイズはバーストの長さ及びメモリバスの幅により決まる。バースト当たりのバイトの量は等しいままとするが、整列グリッドを細かくするような方法が提案される。幾つかの並列なメモリデバイスに対して共有のアドレスバスの代わりに別個のアドレスバスを特徴とするようなメモリコントローラのための解決策が提示される。精細化された整列グリッドにより、転送オーバーヘッドの量を大幅に低減することができる。チップ外メモリデバイスに対する本発明の欠点は、システム費用及び電力消費の増加である。しかしながら、埋め込み型ＤＲＡＭの場合は、追加費用は限定される。
2005517242.tif 000002
【特許請求の範囲】
【請求項１】
アドレスバスのアドレスラインにより２以上のメモリデバイスセットを有するアドレス空間に動作的に接続されたメモリコントローラを有するようなデバイスシステムにおいて、前記コントローラはあるメモリデバイスセットに対してアドレスラインを設け、該アドレスラインは該メモリデバイスセットに対して、他のアドレスラインが他のメモリデバイスセットに対して適用されるのとは異なるように適用されることを特徴とするデバイスシステム。
【請求項２】
請求項１に記載のデバイスシステムにおいて、前記アドレスラインは前記メモリデバイスセットに対して別個に、特には単独で、適用されることを特徴とするデバイスシステム。
【請求項３】
請求項１又は請求項２に記載のデバイスシステムにおいて、前記メモリデバイスセットが単一のメモリデバイスからなることを特徴とするデバイスシステム。
【請求項４】
請求項１ないし３の何れか一項に記載のデバイスシステムにおいて、単一のメモリコントローラが完全な前記アドレス空間に動作的に接続されていることを特徴とするデバイスシステム。
【請求項５】
請求項１ないし４の何れか一項に記載のデバイスシステムにおいて、前記アドレス空間がチップ外メモリであることを特徴とするデバイスシステム。
【請求項６】
請求項１ないし５の何れか一項に記載のデバイスシステムにおいて、該デバイスシステムがチップ上プロセッサシステムであることを特徴とするデバイスシステム。
【請求項７】
請求項１ないし６の何れか一項に記載のデバイスシステムにおいて、前記メモリデバイスがＤＲＡＭ型デバイス、特にはＳＤＲＡＭ型デバイスであることを特徴とするデバイスシステム。
【請求項８】
請求項１ないし７の何れか一項に記載のデバイスシステムにおいて、前記コントローラは前記アドレス空間の前記２以上のメモリデバイスに対して単一の共通アドレスラインを設けることを特徴とするデバイスシステム。
【請求項９】
請求項１ないし８の何れか一項に記載のデバイスシステムにおいて、前記コントローラはメモリデバイスに対してデータラインを有するデータバスを設け、該データラインは該メモリデータに対して他のデータラインとは異なるように専用であることを特徴とするデバイスシステム。
【請求項１０】
−  メモリコントローラと、
−  アドレスバスと、
−  アドレス空間と、
を有するデバイスシステムであって、前記アドレスバスは２以上のメモリデバイスセットを有する完全な前記アドレス空間に対してアクセスするように構成されると共に、少なくとも１つのメモリデバイスセットに他のメモリデバイスセットとは異なるようにアクセスするように構成されていることを特徴とするデバイスシステム。
【請求項１１】
２以上のメモリデバイスセットを有するアドレス空間であって、あるメモリデバイスセットは、該メモリデバイスセットを他のメモリデバイスセットがメモリコントローラに接続されるのとは異なるようにメモリコントローラに接続するように構成された少なくとも１つのアドレスライン接続部を有していることを特徴とするアドレス空間。
【請求項１２】
アドレスバスを有するバスシステムであって、該アドレスバスは、アドレス空間の２以上のメモリデバイスセットから選択されたあるメモリデバイスセットを、他のメモリデバイスセットがメモリコントローラに接続されるのとは異なるようにメモリコントローラに接続するように構成されたアドレスラインを有していることを特徴とするバスシステム。
【請求項１３】
２以上のメモリデバイスセットを有する完全なアドレス空間にアクセスするためのメモリコントローラであって、前記メモリコントローラは少なくとも１つのアドレスライン接続部を有し、当該アドレスライン接続部はあるメモリデバイスセットを他のメモリデバイスセットが他のアドレスライン接続部により接続されるのとは異なるように当該アドレスライン接続部に接続するように構成されていることを特徴とするメモリコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アドレス空間、バスシステム、メモリコントローラ、並びにアドレス空間、バスシステム及びメモリコントローラを有するデバイスシステムに関する。
【背景技術】
【０００２】
チップ上大型システム（ＳｏＣ）におけるメモリ容量要件は、高い集積密度を特徴とするＤＲＡＭ型メモリデバイスの使用へと繋がってきた。斯かるデバイスは、通常、別個の行及び列アドレスを用いてアクセスされるダイナミックセルのアレイを含んでいる。従って、斯様なメモリにおける単一のワードのアクセスは、幾つかのメモリコマンド、即ち行アドレス（行活性化）、列アドレス（読み取り又は書き込み）及びプリチャージ（当該アレイにおけるアクセスされた行を更新するため）、が発せられることを必要とする。持続メモリ帯域幅を最大化すべく、メモリバスの高度の利用を可能にするために、バーストアクセスモードが設けられる。列アドレスにより読取又は書込コマンドが発せられた場合、データのバースト（例えば、４ワード）がメモリデバイスへ又はメモリデバイスから転送される。行の活性化及びプリチャージ処理の間においては、メモリアレイにおいてはデータにアクセスすることはできない。従って、ダイナミックセルの幾つかのアレイ（マルチバンクと呼ばれる）が、集積化され、独立にアクセスすることができる。斯かるバンクの１つにおける活性化及びプリチャージ時間の間においては、他のバンクにアクセスすることができ、これにより、活性化される又はプリチャージされるバンクにアクセスすることができない時間を隠蔽する。
【０００３】
これらの効率最適化の結果は、データが、データバーストのグラニュラリティ（粒度）でしかアクセスすることができないということである。これらのデータバーストはメモリ中に連続的に配置される。従って、データのバーストは、メモリ内におけるエンティティとしてのみアクセスすることが可能なデータの重なり合わないブロックと考えることができる。バーストの長さはアクセスのグラニュラリティを決定し、プログラマブルであり得る。典型的には、これは構成（コンフィギュレーション）時に得ることができる。
【０００４】
英国特許第GB2287808号には、ＤＲＡＭにアクセスする方法が開示されており、所定の固定のバースト長より短い複数のワードをＤＲＡＭから読み取り又はＤＲＡＭへ書き込むことを可能化又は不能化するイネーブルラインを用意している。しかしながら、このような方法は、性能の損失を生じ得ると共に、実現されるべき不可避的努力を必要とする。DRR2 SDRAMのような新世代ＤＲＡＭは、上述したようなフィーチャは最早設けていない。即ち、バーストは最早中断することはできない。従って、英国特許第GB2287808号に記載されたような方法は、新世代ＤＲＡＭとは互換性がないであろう。
【０００５】
チップ上システムにおける広帯域幅要件を満たすために、メモリバスは一層広くなる。この傾向の結果は、アクセスすることが可能なデータエンティティのグラニュラリティが増加するということである。
【０００６】
ＳｏＣ技術における現在の傾向は、システムチップ上にＤＲＡＭを埋め込むことに向けられている。斯様なシステムの例示的構成は、１９９９年８月の消費者向け電子機器に関するIEEE会報（米国）第４５巻、第３号、第８４２〜５０頁のSchu M他の論文“動き補償走査レート変換、ピクチャインピクチャ処理、スプリットスクリーンアプリケーション及び表示処理のためのシリコンＩＣ上システム”及び２００１年６月１９〜２１日、米国、カリフォルニア州、ロサンゼルス、消費者向け電子機器についての国際会議の技術論文ダイジェスト第９４〜９５頁のChu M他の“高品質消費者用ビデオ処理のためのシリコン上システム解決策−次世代”に概説されている。現在のところ、チップ外（オフチップ）メモリを要する殆どのチップ上システム（ＳｏＣ）は、シングルデータレート（ＳＤＲ）ＳＤＲＡＭ、ダブルデータレート（ＤＤＲ）ＳＤＲＡＭ又はダイレクトＲＡＭＢＵＳ（ＲＤＲＡＭ）のようなＳＤＲＡＭ型のメモリデバイスを使用している。このようなシステムは、１つのメモリコントローラと、共通アドレスバスに接続されたアドレス空間の全てのＳＤＲＡＭメモリデバイスに共通なアドレスバスとを利用する。
【０００７】
これら全てのタイプのデバイスシステムは、小さな粒度のデータブロックにアクセスする場合に、バーストのアクセス整列グリッドの粒度が増加するために、データバーストのサイズが増加すると転送オーバーヘッドが著しく増加するという問題を被る。このことは、要求されたデータブロックが、バーストの整列グリッドに跨る場合に特に不利となる。
【０００８】
幾つかのシステム設計は、アドレス空間の各メモリデバイスに対して別個のメモリコントローラを伴う幾つかの独立したデータバスを利用することにより、データバーストサイズ及び整列グリッドの粒度を減少させるように試みている。このようなシステムは、２００１年、３月〜４月のＩＥＥＥマイクロにおけるB. Khailany他による“Imagine：ストリームによるメディア処理”に記載されている。しかしながら、斯様なシステムの各メモリコントローラはアドレス空間の自身のメモリデバイス、即ち全アドレス空間の一部のみ、にしかアクセスすることができない。１つの斯様コントローラは全アドレス空間にアクセスすることはできない。従って、複数のコントローラが必要となり、これは費用、設計及び設備に関して不利である。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記が本発明に到った理由であり、本発明の目的は転送オーバーヘッドを減少させることができ、これにより要求されたデータに対して利用可能な帯域幅を改善し、バスシステムの一層効率的な使用を可能にするようなデバイスシステム、アドレス空間、バスシステム及びメモリコントローラを規定することにある。
【課題を解決するための手段】
【００１０】
本発明によれば、請求項１によるデバイスシステムが提案され、該デバイスシステムは、アドレスバスのアドレスラインにより２以上のメモリデバイスセットを有するアドレス空間に動作的に接続されたメモリコントローラを有し、該コントローラはあるメモリデバイスセットに対してアドレスラインを設け、該アドレスラインは該メモリデバイスセットに対して、他のアドレスラインが他のメモリデバイスセットに対して適用されるのとは異なるように適用される。有利には、上記アドレスラインは別個に適用され、特には専用とされ、特には当該メモリデバイスセットに対してのみ適用される。
【００１１】
他の変形例においては、本発明は請求項１０に記載のデバイスシステムとなり、該デバイスシステムは、
−  メモリコントローラと、
−  アドレスバスと、
−  アドレス空間と、
を有し、前記アドレスバスは２以上のメモリデバイスセットを有する完全なアドレス空間に対してアクセスするように構成されると共に、少なくとも１つのメモリデバイスセットに他のメモリデバイスセットとは異なるようにアクセスするように構成され、有利には上記アドレスバスの或るアドレスラインは別個に、特には当該メモリデバイスセットのみにアクセスする。
【００１２】
更に、本発明は請求項１１に記載したアドレス空間ともなり、本発明による該アドレス空間は２以上のメモリデバイスセットを有し、あるメモリデバイスセットは、該メモリデバイスセットを他のメモリデバイスセットがメモリコントローラに接続されるのとは異なるようにメモリコントローラに接続するように構成された少なくとも１つのアドレスライン接続部を有している。有利には、上記アドレスライン接続部は当該メモリデバイスセットをメモリコントローラに別々に、特にはメモリコントローラに単独で接続するように構成される。
【００１３】
更に、本発明は請求項１２に記載したようなバスシステムでもあり、本発明による該バスシステムは、アドレスバスを有し、該アドレスバスは、アドレス空間の２以上のメモリデバイスセットから選択されたあるメモリデバイスセットを、他のメモリデバイスセットがメモリコントローラに接続されるのとは異なるようにメモリコントローラに接続するように構成されたアドレスラインを有している。
【００１４】
更に、本発明は請求項１３に記載のメモリコントローラでもあり、該メモリコントローラは２以上のメモリデバイスセットを有する完全なアドレス空間にアクセスし、前記メモリコントローラは少なくとも１つのアドレスライン接続部を有し、当該アドレスライン接続部はあるメモリデバイスセットを他のメモリデバイスセットが他のアドレスライン接続部により接続されるのとは異なるように当該アドレスライン接続部により接続するように構成されている。特には、少なくとも１つのアドレスラインが、即ち１以上のアドレスラインが存在する。
【００１５】
本発明に関しては、“異なるように”なる用語は、上述したライン（特に、アドレスライン）のうちの少なくとも１つが他のラインとは異なる値又は品質を有するという意味を示している。例えば、異なるように適用されたアドレスラインの値は０である一方、上記他のラインは１であり得る。更に、異なるように適用されたアドレスラインの品質、例えば電圧又は帯域幅又は他の特性、は上記他のアドレスラインのものとは相違する。これにより、異なるメモリデバイスセットに対して異なるアドレスを有することが可能になる。例えば、列アドレスがメモリデバイスセット毎に相違し得る。上記少なくとも１つのアドレスラインは必ずしも他のラインとは異なる値又は品質を有する必要はなく、異なる値を有する可能性を可能にするだけでよい。例えば、常にではなく、当該アドレス空間におけるメモリデバイスセットに対する少なくともアクセス時のように時々だけ、アドレスラインのうちの少なくとも１つが他のラインとは異なる値又は品質を有するようにする。即ち、前記コントローラは或るメモリデバイスセットに対してアドレスラインを設け、該アドレスラインは当該メモリデバイスセットに対して、他のアドレスラインが他のメモリデバイスセットに対して適用されるのとは異なるように適用される。有利には、このことは、勿論、当該アドレスラインが当該メモリデバイスセットに対して別個に、特に単独で適用される場合に達成することができる。このような形で、或るメモリデバイスセットに対して異なるように適用されたラインは、該メモリデバイスセット専用となる。
【００１６】
好ましくは、メモリデバイスセットは単一のメモリデバイスからなるが、２以上のメモリデバイスを有してもよい。特に、メモリデバイスセットなる用語は、当該組（セット）の全メモリデバイスが同じ方法で制御されると共に特に１以上のアドレスラインを共通に有するようなメモリデバイスの組を指す。
【００１７】
アドレス空間なる用語は、本発明に関しては、アドレス空間が複数の全てのメモリデバイスセット及びメモリデバイスに関して指定するという意味で示されている。また、アドレス空間なる用語は、コンピュータの全記憶空間とは注意深く区別されなければならない。アドレス空間は、コンピュータのＨＤＤメモリ空間は含まない。
【００１８】
メモリの２つの構成が、アドレス空間の例として挙げられる。この場合、アドレス空間の各構成は６４ビットの総メモリデータバス幅を有する。第１の構成においては、アドレス空間は４つのメモリデバイスセットからなり、各メモリデバイスセットは単一のメモリデバイスを有し、各メモリデバイスは１６ビットのデータバスを有する。第２の構成においては、アドレス空間は８個のメモリデバイスセットからなり、各メモリデバイスセットは単一のメモリデバイスを有し、各メモリデバイスは８ビットのデータバスを有する。メモリデバイス自体は、例えば、１６メガビット又は３２メガビットの容量を有することができる。上記第１及び第２構成におけるメモリデバイスが、両方とも同一のメモリ容量を有するとしたら、第２構成は第１構成におけるものの２倍のアドレス空間を有することになる。これは、第２構成においては第１構成と比較して２倍多いデバイスを有しているからである。結果として、第２構成のアドレスバスは、第１構成のアドレスバスの幅を１ビットだけ超えるような幅のものとなる。
【００１９】
これは、アドレス空間の容量が、アドレス空間の異なるアドレス値の量により規定されるからである。例えば、１０本のアドレスラインは２１０＝１０２４ワードのアドレス空間に当てはまり、これがアドレスの合計数となる。ワードは、特定のメモリ構成（configurator）のデータバス上の単一の値として定義される。例えば、３２ビットのデータバスは３２ビット幅のワードを転送するように構成される。従って、メモリシステムのアドレス空間は常にワードの倍数、即ち上述した例の場合は３２ビットの倍数である。完全なアドレス空間のメモリデバイス及びセットの数は、各メモリデバイスのデータバス幅に依存しても変化する。例えば、６４ビットのデータバスを提供するには、３２ビットデータバスの２つのメモリデバイスを適用することができるか、又は１６ビットデータバスの４個のメモリデバイス、又は８ビットデータバスの８個のデバイス、又は４ビットデータバスの１６個のデバイスを適用することができる。特定のアプリケーションに応じて、更なる如何なる数のデータバス幅のメモリデバイスも選択することができる。
【００２０】
バスシステムは、各々が複数のラインを有するデータバス及びアドレスバスを提供することができる。ラインは、アドレスバスに関してはアドレスラインと呼び、データバスに関してはデータラインと呼ぶ。バスとは、１本又は数本のラインを有することを意味する。ラインは、コントローラと単一のメモリデバイスセットとの間に単一のラインとして接続することができると共に、更にコントローラを単一のデバイスセットの複数のデバイスに接続するために単一のラインに分割することもできる。このような仮定によれば、バスは上記に概要を述べたように共有ライン及び／又は異なるように適用されたラインを有することができる。共有ラインとは、複数のデバイスセットを同時に接続することを意味する。共有アドレスラインは接続されたデバイスセットに同一の情報を供給する。接続されたメモリデバイスセットに対しては共有ラインを介して異なる情報を供給することはできない。特に、上に概要を述べたような、異なるように適用されるアドレスラインは、アドレス空間の特定のデバイスセットを該アドレス空間の他のデバイスセットとは異なる態様でアドレス指定するのに適している。該異なるように適用されるアドレスラインは、コントローラと単一のメモリデバイスセットとの間に単一のラインとして接続することができると共に、上述した特定のデバイスセットの幾つかのデバイスを接続するために更に分割することができる。該特定のデバイスセットの斯かる幾つかのデバイスは、同一の共通の方法でアドレス指定される。
【００２１】
本発明は、データバースト内のバイトの量は等しいままであるが整列グリッドを細かくする方法を提案したいとの要望から生じた。本発明の主たるアイデアは、異なるように適用されるラインの量がデータエンティティの粒度（グラニュラリティ）及び同時的データエンティティの量を決定するという洞察の結果である。従って、幾つかのメモリデバイスに対して異なるアドレス指定を行うことができるようなデバイスシステム、アドレス空間、バスシステム及びメモリコントローラが提案される。これによれば、アドレスラインの一部は依然として、バンクアドレスラインのように全てのメモリデバイスによる共有ラインとすることができる。少なくとも１つのアドレスラインのような、上記アドレスラインのうちの他の部分は異なるように、有利には１以上のメモリデバイスのメモリデバイスセットに対し別個に又は単独で、適用される。好ましくは、複数のアドレスラインが設けられ、斯かるアドレスラインの各々は、対応する１つのメモリデバイスセットに異なるように適用される。即ち、斯かる異なるように適用されるアドレスラインは専用となる。特に、１つのメモリコントローラと、１つの若しくは複数の共有アドレスラインの代わりに又は斯かるラインに加えて、幾つかの並列なメモリデバイスに対するアドレスバスの別個のアドレスラインとを特徴とするようなデバイスシステムが提供される。これにより、バースト当たりのバイトの数は等しいままであるが、整列グリッドは細かくされる。細かくされた整列グリッドにより、転送オーバーヘッドの量を大幅に低減することができる。
【００２２】
本発明の更に継続して発展された構成が、従属請求項に記載されている。
【００２３】
好ましい構成においては、単一のメモリコントローラが、完全なアドレス空間に動作的に接続される。該完全なメモリ空間は複数のメモリデバイスセットからなる。
【００２４】
上記デバイスシステムはチップ外メモリを有することができる。また、チップ上メモリを有するシステムの場合は、当該提案されたデバイスは特に有利となる。何故なら、埋め込みＤＲＡＭに関しては、追加的コストは限られたものであるからである。
【００２５】
好ましい構成においては、上記デバイスシステムはチップ上プロセッサを有する。メモリがチップ上である場合は、ＤＲＡＭ型のメモリが有利である。斯様な構成は低コストで達成することができる。ＤＲＡＭ型メモリは信号のみを提供することができ、クロックは必要ではない。当該メモリがチップ外である場合は、ＳＤＲＡＭ型メモリが好ましい。この場合、フリップフロップによりゲートされたＤＲＡＭ、即ちＳＤＲＡＭが同期の理由で好ましい。更なる利点は、図面を参照して説明される。
【００２６】
更に、全メモリデバイスに共通の１以上のアドレスラインは、例えばバンクアドレスラインを設けるのに有利である。また、単一のアドレスラインも斯様な目的にとり好適である。或るメモリデバイスに対して、上記コントローラは好ましくは少なくとも１つのデータラインを設け、該少なくとも１つのデータラインは１つのメモリデバイスに対して別個に、特に単独で専用される。
【００２７】
提案されたデバイスシステム、アドレス空間、バスシステム又はメモリコントローラは、好ましくは、チップ外の又は埋め込みのＤＲＡＭ型メモリの使用を必要とする全てのチップ上システムにおいて使用される。これらは、全てのメディア処理ＩＣ、ＤＳＰ、ＣＰＵ等とすることができる。
【００２８】
以下、本発明の好ましい実施例を、添付図面を参照して説明する。これらは、好ましい実施例の詳細な説明に関連して及び従来技術との対比において本発明の思想を明確にするための例を示すものである。
【００２９】
本発明の好ましい実施例であると考えられるものを提示及び記載するが、勿論、形態及び細部の種々の変更及び変形を本発明の趣旨から逸脱することなしに容易になすことができると理解される。従って、本発明は、後に請求項に記載されるように、ここに提示及び記載されるそのままの形態及び細部に限定されるものでも、ここに開示される本発明の全体以下の如何なるものに限定されるものではないことを意図するものである。更に、本発明を開示する説明及び図面並びに図面に記載される特徴は、本発明にとり単独又は組合せで必須であり得る。
【発明を実施するための最良の形態】
【００３０】
図１には、アクセスのグラニュラリティ（粒度）を決定するバーストの長さを示す一例が示されている。例えば、バースト長が“４”である場合、４ワードのバーストは以下の条件を満たすメモリロケーションに配置される：
列アドレスＭＯＤＵＬＯ４ワード＝０
これらは、バーストの何処かでアクセスすることができる。しかしながら、バーストは、後の表１に関連して説明されるように、エンティティとしてのみアクセスすることができる。データバーストのサイズは、バースト長に依存するのみならず、メモリバスの幅にも依存する。例えば、“４”なるバースト長及び６４ビットメモリバスは、結果として３２バイトのデータバーストとなる。
【００３１】
図１は、メモリデバイス１０のメモリ行１２及びメモリ列１３による図式的データの構成の一例を示している。データエンティティ、即ちデータバースト１４は３２バイトを含み、整列グリッド１５によるものである。２５６バイト（１６の異なるメモリ行１２からの１６バイト）のデータブロックにアクセスするために、１６ｘ１６バイトがデータブロック１６として要求されるが、バーストはエンティティとしてのみアクセス可能であるから、１６ｘ６４バイトがアクセスされ（要求されたものの４倍多い）、結果として転送オーバーヘッド１７は３００％となる。特に小さな粒度のデータブロック１６にアクセスする場合には、データバーストサイズ１４が増加すると、転送オーバーヘッド１７が著しく増加する。このことは、要求されたデータブロック１６がグリッド境界１５と重なる場合に特に当てはまる。データバースト１４のサイズはバス幅及びバースト長に固有のものであるが、オーバーヘッドの一部はデータバースト１４の離散的ロケーションにより生じる。メモリアクセスは、データバースト１４の整列１５においてのみ適用することができる。図１の場合、３２バイト転送を、要求されたデータブロック１６の始点から開始することができた場合にのみ、オーバーヘッド１７は（３００％の代わりに）１００％となるであろう。
【００３２】
メモリ帯域幅を低減するために、例えばＣＰＵデータ、ＣＰＵ命令及びストリームメディアデータ等に存在するようなデータの空間的局在性を利用することにより、ローカルキャッシュメモリを用いて転送オーバーヘッド１７の一部を再使用することができる。しかしながら、斯様なシステムにおいても、データバーストの始点が３２バイトメモリグリッド１５に必ずしも整列されていなかった場合には、キャッシュ性能は著しく改善し得る。これは、当該システムが、転送オーバーヘッド１７における高いキャッシュヒット可能性を持つデータを捕らえるのを可能にする。列１３の任意の位置におけるデータバースト１４の開始ロケーションが最適であろうが、整列グリッド１５の如何なる細分化も、帯域幅効率を改善するであろう。
【００３３】
図２に示すように、主流のメモリデバイス２２を図２のデバイスシステム２０に使用することができる。斯様なメモリデバイス２２は、４、８又は１６ビットのデータバスを含むことができる。データバス２３は、１６ビット幅を有している。全てのデータライン２３からなる６４ビットメモリバスを形成するために、幾つかのメモリデバイス２２が並列に接続されねばならない。通常、これらメモリデバイスは同一のアドレスライン２１を共有する。しかしながら、複数のアドレスライン又はバスを有することにより、依然として同一の総帯域幅を提供しながら、デバイス２２を別個にアドレス指定することができる。各メモリデバイス２２は、別個のデータバス２３を用いて、全メモリデバイス２２のアドレス空間に共通なメモリコントローラ２４に接続されている。メモリコントローラ２４は、６４ビットライン２６によりチップ上システム２７に接続されている。
【００３４】
図４の好ましい実施例４０はメモリコントローラ４４を設け、該コントローラは幾つかのメモリデバイス４２に対して別個のアドレスバス４８及びデータバス４３を設けている。全部のアドレスライン４１及び４８である上記アドレスバスの一部４１は、バンクアドレスラインのように、全てのメモリデバイス４２により依然として共有されている。上記アドレスバスの他の部分４８は専用であって、各ライン４８は単一のデバイスセット４２に対するものである。この実施例においては、１つのメモリデバイスセット４２は単一のメモリデバイスからなっている。変形例においては、アドレスライン４８の幾つか又は全てを、メモリデバイスセットを確立する２以上のメモリデバイスに対して各々対応して動作的に接続することができる。上記コントローラに単一ラインとして接続されるアドレスライン４８の量は、２、４、８等とすることができ、メモリデバイスの量により制限される。各々の単一のラインは、一群のラインにより置換することもできる。ライン４３からなる６４ビット幅のメモリバスが１６ｘ４ビットメモリデバイスを用いて構成されるとすると、アドレスバスのライン４８は１６倍までだぶらされ得る。図４に概略示す本提案は、特にキャッシュ性能の改善のために、転送オーバーヘッドを低減すると共に転送オーバーヘッドのメモリロケーションを制御するためにアドレス指定の一層の柔軟性を提供する。コントローラ４４は、６４ビットバス４６によりチップ上システム４７に接続される。図４の好ましい実施例においては、メモリデバイス４２のアドレス空間はチップ外（オフチップ）である。他の好ましい実施例においては、斯かるアドレス空間は同様にチップ上であり得る。
【００３５】
整列グリッド１５の粒度を減少させるための従来技術の他のもっと素直な解決策３０は、図３に示すように、別個のメモリコントローラ３９を備える幾つかの独立したアドレスバス３８を有することである。従来技術の斯様なシステム３０においては、メモリデバイス３２の帯域幅及びアドレス空間は、全てのメモリコントローラ３９にわたって分割される。この解決策３０も、コントローラ３９の量と比例的ではあるが、データバースト１４の粒度を減少させる。上記好ましい実施例とは対照的に、複数のメモリデバイス３２の全アドレス空間を制御するためには複数のコントローラ３９が必要である。各メモリデバイス３２は、別個のメモリコントローラ３９に割り当てられる。
【００３６】
この解決策の前記提案した解決策４０に対する利点は、各メモリデバイスにおけるデータエンティティのアドレス指定が、同一のメモリバンク内であるという制約を受けない点にある。しかしながら、図４のシステム４０と比較した場合の欠点は、より重大である。即ち、
−  各メモリコントローラ３９は全アドレス空間の小さな部分３２にしかアクセスすることができない；
−  複数のメモリコントローラ３９はシステム３０の費用を比例的に増加させる；
−  メモリ要求を発すると共に全トランザクションを処理するための信号線を複数倍設けなければならない；
−  完全なメモリアドレスバス３８は複数倍設けられ、これによりチップ外メモリシステムの場合の価格を増加させる；及び
−  該システム３０のメモリクライアント３７に対する構成３６は、図２における解決策２０と互換性がなくなり、従って、６４ビットデータライン２６を備える６４ビットメモリコントローラ２４の全てのクライアントは再設計を必要とする。
【００３７】
図４のメモリアーキテクチャ４０の好ましい実施例において、メモリコントローラ４４は、物理メモリ空間４２がどの様に詳細に構成されているかからメモリクライアント４７を要約する。従って、ＳｏＣにおけるメモリクライアント４７の構成４６は、図２に示したシステム２０と互換性がある。かくして、メモリコントローラ４４の既存クライアント２７の設計は有効なままとなる。しかしながら、メモリデバイス４２を有するメモリ空間におけるデータの編成は図５に概要を示すように相違する。図５を図１と比較すると、２つの相違点に気付くことができる。より精細な整列グリッド５５により、要求されたデータブロック５６にアクセスするためには、合計で３２バイトのデバイス及び行５２当たり１つのデータバースト５４で充分であるのに対し、図１においては行当たり２つのデータバースト１４が必要であった。更に、オーバーヘッド５７の一部５８のロケーションは、選択することができる。この場合、選択は要求されたデータブロック５６の前又は要求されたデータブロック５６の背後の列５３の間で行うことができる。この柔軟性は、キャッシュ性能を改善するために利用することができる。
【００３８】
図３に示すような４つのアドレスバスを考えると、３２バイトのデータバーストは、同時にアドレス指定される４ｘ８バイトデータエンティティ５９となる。これらの４ｘ８バイトデータのエンティティ５９は、アドレス空間５０内に連続的に配置される必要はない。この柔軟性は、例えばメモリ内の異なるロケーションにおける幾つかの小さなデータエンティティ５４を同時に必要とする信号処理ユニットのために利用することができる。例えば、メモリ内の連続するビデオフレームからピクセルを読み出す時間的ビデオフィルタである。各データエンティティは、異なるビデオフレームに配置することができる。しかしながら、各バーストのアドレス指定に対する幾つかの制約があり、これは、ここでは８バイトデータエンティティ５４である。各データエンティティ５４は他のメモリデバイス４２内に配置されねばならず、各データエンティティ５４のバンクアドレスは等しくなければならない。後者の制約は、共用されたバンクアドレスラインにより必要とされ、メモリコマンドの異なるスケジューリング動作を防止する。この問題についての詳細は、図６により説明する。
【００３９】
複数のアドレスバス４８の使用は、明らかに設計に費用が増加することになる。特に、メモリデバイス４２のアドレス空間がチップ外に位置する場合である。複数のアドレスバス４８はチップデバイス上により多くのピンを必要とし、これはデバイスパッケージに多くの費用が掛かることになると共に、電力も増加する。更に、メモリコントローラ４４におけるアドレス発生部の小さな部分は、複数の構成を要する。しかしながら、当該概念はアクセスの柔軟性とシステムコストとの間での幾つかの重要な取引を可能にする。例えば、アドレスバス４５の大きな部分を共有することが可能である。例えば、メモリ４２が概ねリニアな形でアクセスされる場合、１行５２内で４ｘ８バイトデータエンティティを柔軟にアドレス指定するだけで充分である。このことは、列アドレスライン５３だけが複数倍構成されることを要することを意味する。また、アドレス発生部のうちの複数倍構成されることを要する部分は、列アドレス発生器に限定することができる。行内に例えば２５６列を有するようなメモリデバイスの場合、８本のアドレスラインしか複数倍構成されない。
【００４０】
複数アドレスバスに関する追加のコストは、図４に示すようなチップ外メモリに対してのみかなりのものになることに注意されたい。チップ上の埋め込みＤＲＡＭを備えるＳｏＣの場合は、斯かる追加のコストは限定的である。
【００４１】
図６はＳＤＲＡＭ６０の機能ブロック図を示す。物理メモリセル６１はバンク０〜３に分割され、これらバンクは行アドレス５２及び列アドレス５３により別個にアドレス可能である。４つのバンクデバイスの場合、バンク０、１、２又は３は入力ピンＢＡ０及びＢＡ１により選択される。
【００４２】
バンク内の或るメモリアドレスを発することができる前に、当該データが含まれるメモリ行５２が先ず活性化されねばならない。行５２の活性化の間に、完全な行５２が、Ｉ／Ｏゲーティングページ６２におけるＳＤＲＡＭページレジスタに転送される。かくして、ページ６２内の列５３のランダムアクセスを実行することができる。各バンク０、１、２又は３においては、１つの行５２しか同時に活性化することができないが、ページ６２内のページレジスタのランダムアクセスの間においては、バンク０、１、２又は３の間の切り換えは不利益無しに許可される。各バンクに対しては、１つのページが存在する。従って、４バンクデバイスの場合、各バンク０、１、２及び３において１つの行５２をアドレス指定することにより、４つの行５２をランダムにアクセスすることができる。行データのページレジスタ６２への転送の間において、当該ＤＲＡＭバンク内の行のセルは放電される。従って、バンク内の新たな行が活性化されねばならない場合は、新たな行の活性コマンドを発生することができる前に、上記ページレジスタは先ずＤＲＡＭにコピー戻しされるべきである。これは、“ページクローズ”コマンドとも呼ばれる特別なプリチャージにより実行される。ＪＥＤＥＣ規格によれば、読取及び書込コマンドは自動プリチャージと共に発することができる。このように、ページレジスタ６２が行内の最後のアクセスに対して自動プリチャージを伴う読み取り又は書き込みを実行することによりクローズされる場合、追加のプリチャージコマンドは必要とされない。
【００４３】
一方、ここには図示されない好ましい実施例の他の変形例においては、データのスケジューリングは異なるメモリデバイス４２においては異なるようにすることができる。このようなスケジューリングは、メモリコントローラ４４内の２以上のスケジューラにより実行される。これにより、異なるデバイスにおける異なる列及び行のアドレス指定が確立される。というのは、上記２以上のスケジューラは、異なるデバイスにおける異なる行のアドレス指定に関してプリチャージ及び活性化並びに他のタイミング制約を処理することができるからである。このような好ましい実施例の変形例は、アドレス空間の一層複雑及び一層柔軟性のあるアドレス指定を可能にする。一方、好ましい実施例４０の他の変形例においては、メモリコントローラ４４内で単一のスケジューラが使用され、異なるデバイス内の行のアドレス指定が同一に維持されるようにすることもできる。好ましい実施例４０の斯様な他の変形例は、異なるデバイスにおける行の、プリチャージ及び活性化並びにタイミング制約に関して自動的スケジューリングを可能にする。従って、好ましい実施例４０は、列発生器のみが適合されることを要する後者の変形例において一層簡略化された解決策を可能にする。上記好ましい実施例の前者の変形例内では、アドレス空間の一層柔軟性のある一層複雑なアドレス指定が可能となる。
【００４４】
上記好ましい実施例により提案されたメモリコントローラは、例えば４ｘ８バイトデータエンティティ５４を同時にアドレス指定する。該メモリコントローラが各データエンティティに関して何れかのバンク０、１、２又は３における何れかの行５２をアドレス指定するような柔軟性を可能にするとしたら、メモリコマンドのスケジューリングは各メモリデバイス４２に対して異なるであろう。例えば、或るデバイスは同一のバンクから２つの異なる行を連続的にアドレス指定し得る。結果として、行活性化コマンドは当該バンクがプリチャージされるまで、遅延されねばならない。他のメモリデバイスに対しては、後続の行アドレスは異なるバンク内に位置し、行活性化コマンドの遅延は必要としない。全てのメモリデバイス４２に対してメモリコントローラ４４の殆どの部分を共有するために、バンクアドレスは共有され、これにより等しいメモリコマンドのスケジュールを保証する。
【００４５】
図６のＳＤＲＡＭ６０は、例えば134,217,728ビットを含む高速ＣＭＯＳダイナミックランダムアクセスメモリとして得られるような１２８ＭｂのDDR SDRAMとすることができる。該１２８ＭｂのDDR SDRAMは、図６に示すように内部的に四バンクＤＲＡＭとして構成される。該１２８ＭｂのDDR SDRAMは、高速動作を達成するためにダブルデータレートのアーキテクチャを使用する。ダブルデータレートアーキテクチャは本質的に２ｎプリフェッチアーキテクチャであり、Ｉ／Ｏピンにおいてクロックサイクル当たり２つのデータワードを転送するように設計されたインターフェースを備える。１２８ＭｂのDDR SDRAMに対する単一の読出又は書込アクセスは、内部ＤＲＡＭコアにおける単一の２ｎビット幅の１クロックサイクルデータ転送と、Ｉ／Ｏピンにおける２つの対応するｎビット幅の１／２クロックサイクルデータ転送とからなる。
【００４６】
DDR SDRAMに対する読取及び書込アクセスはバースト指向のものである。即ち、アクセスは選択されたロケーションにおいて開始すると共に、プログラムされた数のロケーションにわたりプログラムされたシーケンスで継続する。アクセスは、ACTIVEコマンドの登録で始まり、該コマンドには次いでREAD又はWRITEコマンドが後続する。上記ACTIVEコマンドと同時に登録されたアドレスビットが、アクセスされるべきバンク及び行を選択するために使用され、アドレスバスにより転送される。ＢＡ０及びＢＡ１がバンクを選択し、Ａ０〜Ａ１１は行を選択する。上記READ又はWRITEコマンドと同時に登録されたアドレスビットは、バーストアクセスのための開始列ロケーションを選択するために使用される。通常の動作に先立ち、DDR SDRAMは初期化されねばならない。DDR SDRAMは電源供給され、所定の態様で初期化される。これは、特定の閾及びタイムシーケンスに関する電源電圧の利用に関するものである。
【００４７】
デバイス動作は、特定の定義により案内される。モードレジスタは、DDR SDRAMの特定の動作モードを定義するために使用される。この定義は、バースト長、バーストタイプ、ＣＡＳレイテンシ及び動作モードの選択を含む。該モードレジスタは、当該制御ロジック内のコマンドデコーダにコマンドを転送するコマンドバーを介してプログラムされる。該モードレジスタはプログラムされると共に、記憶された情報を、再びプログラムされるか又は当該デバイスが電源を失うまで保持する。正しく実行される限り、該モードレジスタの再プログラミングは上記メモリの内容を変化させることはない。該モードレジスタは、全てのバンクがアイドル状態であり、如何なるバーストも進行中でない場合にロードされ又は再ロードされるべきである。また、上記コントローラは次の動作を開始する前に指定された時間待たなければならない。これらの要件に違反すると、不定な動作となり得る。
【００４８】
モードレジスタのビットＡ０〜Ａ２は、例えばバースト長を指定する。Ａ３はバーストのタイプ（例えば、シーケンシャル又はインターリーブ）を指定し、Ａ４〜Ａ６はＣＡＳレイテンシを指定し、Ａ７〜Ａ１１は動作モードを指定する。特に、コマンドバスは以下のパラメータに関するコマンドを転送する。ＣＫ（入力クロック）は、全てのアクセス及び制御入力信号がＣＫの正のエッジ上の交差でサンプルされるようにする。ＣＳ（入力チップ選択）は当該コマンドデコーダをイネーブルする。ＣＳがハイにされると、全てのコマンドはマスクされる。ＣＳは、複数バンクを持つシステム上で外部のバンク選択を可能にする。ＣＳはコマンドコードの一部と見なされる。クロックＲＡＳ（行アドレスストローブ）の正の立ち上がりエッジでサンプルされた場合に、ＣＡＳ（列アドレスストローブ）及びＷＥ（書込イネーブル）は当該ＳＤＲＡＭにより実行されるべき動作を定義する。
【００４９】
更に、上述したように、アドレス入力であるＡ０〜Ａ１１及びバンク選択であるＢＡ０〜ＢＡ１は、アドレスレジスタに供給される。ＢＡ０〜ＢＡ１は、どのバンクが活性状態であるべきかを選択する。バンク活性化コマンドサイクルの間において、Ａ０〜Ａ１１は行アドレスを規定する。また、READ又はWRITEコマンドサイクルの間において、上記アドレスラインの一部、例えばＡ０〜Ａ９が列アドレスを規定する。Ａ１０は、バーストREAD又はWRITEサイクルの終了時に自動プリチャージ動作を生じさせるために使用される。プリチャージコマンドサイクルの間において、Ａ１０はＢＡ０、ＢＡ１と一緒に使用されて、どのバンクをプリチャージするかを制御する。Ａ１０がハイの場合、全バンクがプリチャージされる。Ａ１０がローの場合は、ＢＡ０及びＢＡ１が、どのバンクをプリチャージするかを規定するために使用される。
【００５０】
バースト長に関しては、DDR SDRAMに対するREAD及びWRITEアクセスはバースト指向であって、バースト長はプログラム可能である。バーストプログラミングシーケンスにおけるバーストの定義は、表１に示される。バースト長は、所与のREAD又はWRITEコマンドに関してアクセスすることが可能な列ロケーションの最大数を定義する。シーケンシャルな又はインターリーブ型バーストタイプの両者に対して２、４又は８ロケーションのバースト長が利用可能である。
【００５１】
【表１】
2005517242.tif 000003
【００５２】
表１は、単位内でのアクセスの順序を示している。これは、基本的には、データバーストはメモリ内の重なり合わないデータエンティティであることを意味している。しかしながら、当該データエンティティ内のワードが転送される順序には幾らかの柔軟性が存在する。READ又はWRITEコマンドが発せられた場合、バースト長に等しい列のブロックが実効的に選択される。当該バーストに関する全てのアクセスは、このブロック内で生じ、これは、境界に到達したら該バーストは当該ブロック内で折り返すであろうことを意味する。当該ブロックは、バースト長が２に設定されている場合Ａ１〜Ａｉにより、バースト長が４に設定されている場合Ａ２〜Ａｉにより、バースト長が８に設定されている場合Ａ３〜Ａｉにより固有に選択される（ここで、Ａｉは所与の構成に対して最上位の列アドレスビットである）。残りの（下位側の）アドレスビットは当該ブロック内の開始ロケーションを選択するために使用される。プログラムされたバースト長は、READ及びWRITEバーストの両者に当てはまる。
【００５３】
更に、バーストタイプもプログラムすることができる。所与のバースト内でのアクセスは、シーケンシャル又はインターリーブの何れかとなるようにプログラムすることができる。これは、バーストタイプと呼ばれ、特定のビットを介して選択することができる。
【００５４】
概要を述べたように、広帯域幅性能を得るために、ＳＤＲＡＭはバーストアクセスを行う。このモードは、１つのみの読取又は書込コマンドを与えることにより複数の連続したデータワードにアクセスするのを可能にする。出力におけるクロックレートはコマンドレートである入力におけるレートよりは高いが、メモリアクセスを開始するためには幾つかのコマンドが必要であることに注意すべきである。この利用可能な出力帯域幅を使用するために、読取及び書込アクセスはバースト指向でなければならない。バースト５４の長さはプログラム可能であり、所与のREAD又はWRITEコマンドに対してアクセスすることが可能な列ロケーション５３の最大数を決める。これは、行５２をバースト長に等しい連続した単位に分割する。READ又はWRITEコマンドが発せられると、斯かる単位の１つのみがアドレス指定される。バーストの始点は斯かる単位内の何処に配置することもできるが、当該単位の終点に到達したら、バーストは折り返される。例えば、バースト長が“４”である場合、２つの最下位列アドレスビットが、単位内でアドレス指定されるべき最初の列を選択する。
【図面の簡単な説明】
【００５５】
【図１】図１は、従来技術のデバイスシステムにおけるメモリからの要求されたデータブロックに対する転送オーバーヘッドの図示である。
【図２】図２は、図１に示したような転送オーバーヘッドを被るデバイスシステムにおける従来のメモリ構成である。
【図３】図３は、従来技術の他の例としての、複数コントローラを備えるデバイスシステムにおけるメモリ構成である。
【図４】図４は、好ましい実施例の、各メモリデバイスに異なるように適用される複数アドレスライン及び共有アドレスラインの両者、並びに共有コントローラを備えるデバイスシステムにおけるメモリ構成である。
【図５】図５は、図１に示した従来技術のデバイスシステムにおけるメモリと比較した、好ましい実施例のデバイスシステムにおけるメモリからの要求されたデータブロックに対する限られた転送オーバーヘッドの図示である。
【図６】図６は、好ましい実施例によるＳＤＲＡＭメモリの機能ブロック図である。
【図１】
2005517242.tif 000004
【図２】
2005517242.tif 000005
【図３】
2005517242.tif 000006
【図４】
2005517242.tif 000007
【図５】
2005517242.tif 000008
【図６】
2005517242.tif 000009
【国際調査報告】
2005517242.tif 000010
2005517242.tif 000011
2005517242.tif 000012