(57)【要約】  通信インターフェース（たとえば、メモリインターフェース）には、データソースに結合されるよう適応され、かつ多くのデータ処理段階を有するデータ処理チャネルが含まれる。バイパスネットワーク又はパイプラインが、データ処理チャネルに結合され、データ処理チャネル内の少なくとも１つの段階をバイパスするよう構成可能である。コントローラが、パフォーマンス基準に基づいてデータ処理チャネルの少なくとも１つの段階をバイパスするバイパスネットワークを構成するよう、バイパスネットワークに結合される。いくつかの実施形態又はオペレーションモードによっては、バイパスネットワークは、アイドル期間後のアイドルレイテンシを減少させるために、データ処理チャネルの少なくとも１つの段階をバイパスするよう構成される。代替実施形態又はオペレーションモードによっては、バイパスチャネルは、データスループットを増加するために、データ処理チャネルの少なくとも１つの段階を含むよう構成される。
2008523499.tif 000002
【特許請求の範囲】
【請求項１】
データソースに結合されるよう適応され、かつ第１のデータ処理段階を含むデータ処理チャネルと、
前記データ処理チャネルに結合され、かつ前記データ処理チャネル内の前記第１のデータ処理段階をバイパスするよう構成可能であるバイパスネットワークと、
パフォーマンス基準に基づいて前記第１のデータ処理段階をバイパスするバイパスチャネルを構成するよう前記バイパスチャネルに結合された回路と
を含むメモリインターフェース。
【請求項２】
前記パフォーマンス基準が、アイドルレイテンシである請求項１に記載のメモリインターフェース。
【請求項３】
前記データ処理チャネルが、第２のデータ処理段階を含み、前記バイパスネットワークが、アイドル期間後のアイドルレイテンシを減少させるために、前記データ処理チャネルの少なくとも１つの段階をバイパスするよう構成された請求項２に記載のメモリインターフェース。
【請求項４】
前記パフォーマンス基準が、データスループットである請求項１に記載のメモリインターフェース。
【請求項５】
前記バイパスネットワークが、データスループットを増加するために、前記データ処理チャネルの少なくとも１つの段階を含むよう構成された請求項４に記載のメモリインターフェース。
【請求項６】
前記メモリインターフェースが、メモリデバイスの一部である請求項１に記載のメモリインターフェース。
【請求項７】
前記データ処理チャネルが、前記データをエンコードするよう構成された請求項６に記載のメモリインターフェース。
【請求項８】
前記レイテンシモードが、メモリコントローラから受信された情報から決定される請求項１に記載のメモリインターフェース。
【請求項９】
前記メモリインターフェースが、メモリコントローラの一部である請求項１に記載のメモリインターフェース。
【請求項１０】
前記データ処理チャネルが、前記データをデコードするよう構成された請求項９に記載のメモリインターフェース。
【請求項１１】
前記データ処理チャネルが、第１のフォーマットを使用して前記データの第１の部分をエンコードし、第２のフォーマットを使用して前記データの第２の部分をエンコードする請求項１に記載のメモリインターフェース。
【請求項１２】
前記レイテンシモードが、前記データ内に含まれている情報から決定される請求項１に記載のメモリインターフェース。
【請求項１３】
前記バイパスネットワークが、前記データ処理チャネルの少なくとも１つの段階をバイパスするよう構成された複数のスイッチを含む請求項１に記載のメモリインターフェース。
【請求項１４】
前記バイパスネットワークが、前記メモリデバイス内のアイドル検出論理に基づいて前記メモリデバイスによって構成された請求項１に記載のメモリインターフェース。
【請求項１５】
データ処理チャネルを有するメモリインターフェースのためのデータ処理方法であって、
データソースからデータを検索すること、
レイテンシモードに基づいて前記データ処理チャネルに結合されたバイパスネットワークを構成することであって、前記バイパスネットワークが、前記データ処理チャネルの少なくとも１つの段階をバイパスするよう構成されること、及び、
前記データ処理チャネルを使用して前記データの少なくともいくつかを処理すること
を含むデータ処理方法。
【請求項１６】
前記バイパスネットワークを構成することが、
アイドル期間後のレイテンシを減少させるために、前記データ処理チャネルの少なくとも１つの段階をバイパスするよう前記バイパスネットワークを構成することを含む請求項１５に記載の方法。
【請求項１７】
前記バイパスネットワークを構成することが、
データスループットを増加するために、前記データ処理チャネルの少なくとも１つの段階を含むよう前記バイパスネットワークを構成することを含む請求項１５に記載の方法。
【請求項１８】
プロセッサによって実行された場合には、前記プロセッサに、
データソースからデータを検索し、
レイテンシモードを判断し、
前記レイテンシモードに基づいてデータ処理チャネルに結合されたバイパスネットワークを構成することであって、前記バイパスネットワークが、前記データ処理チャネルの少なくとも１つの段階をバイパスするよう構成され、
前記データ処理チャネルを使用して少なくともいくつかの前記データを処理する、
オペレーションを遂行させる命令が格納されているコンピュータ読取可能媒体。
【請求項１９】
前記バイパスネットワークを構成するための前記命令が、アイドル期間後のアイドルレイテンシを減少させるために、前記データ処理チャネルの少なくとも１つの段階をバイパスするよう前記バイパスネットワークを構成するための命令を含む請求項１８に記載のコンピュータ読取可能媒体。
【請求項２０】
前記バイパスネットワークを構成するための前記命令が、データスループットを増加するために、前記データ処理チャネルの少なくとも１つの段階を含むよう前記バイパスネットワークを構成するための命令を含む請求項１８に記載のコンピュータ読取可能媒体。
【請求項２１】
第１の関連付けられたレイテンシを有する第１のデータ処理チャネルと、
第２の関連付けられたレイテンシを有する第２のデータ処理チャネルと、
前記第１及び第２のデータ処理チャネルに結合され、かつ前記第１及び前記第２のデータ処理チャネルの少なくとも１つを伝送媒体に結合するよう構成された選択モジュールと
を含む通信インターフェース。
【請求項２２】
前記第２のデータ処理チャネルが、前記データを用いてクロック信号をエンコードするエンコード段階を含む請求項２１に記載のインターフェース。
【請求項２３】
前記エンコード段階が、マルチトーンエンコーダを含む請求項２１に記載のインターフェース。
【請求項２４】
前記選択モジュールが、選択信号に応答するマルチプレクサである請求項２１に記載のインターフェース。
【請求項２５】
前記選択信号が、前記伝送媒体に結合される請求項２４に記載のインターフェース。
【請求項２６】
前記第２のデータ処理チャネルが、マルチレベルパルス振幅変調（ＰＡＭ）データ信号を処理する請求項２１に記載のインターフェース。
【請求項２７】
前記第１のデータ処理チャネルが、２レベルＰＡＭデータ信号を処理する請求項２６に記載のインターフェース。
【請求項２８】
データ処理チャネルを有するメモリインターフェースのためのデータ処理システムであって、
データソースからデータを検索する手段と、
レイテンシモードを決定する手段と、
前記レイテンシモードに基づいてバイパスネットワークを構成する手段とであって、前記バイパスネットワークが、前記データ処理チャネルの少なくとも１つの段階をバイパスするよう構成される手段と、
前記データ処理チャネルを使用して前記データの少なくともいくつかを処理する手段と
を含むデータ処理システム。
【請求項２９】
回路を示すデータを含むコンピュータ読取可能媒体であって、
データソースに結合されるよう適応され、かつ第１のデータ処理段階を含むデータ処理チャネルと、
前記データ処理チャネルに結合され、かつ前記データ処理チャネル内の前記第１のデータ処理段階をバイパスするよう構成可能であるバイパスネットワークと、
パフォーマンス基準に基づいて前記第１のデータ処理段階をバイパスする前記バイパスチャネルを構成するよう前記バイパスチャネルに結合された回路と
を含むコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、一般に、集積回路装置、たとえばメモリデバイス及び／又はコントローラデバイスにおけるシグナリングに関する。
【背景技術】
【０００２】
最新の高速相互接続ソリューションにおいては、ますます要求が厳しくなってきているパフォーマンス要件（たとえば、高いデータ帯域幅）を満たすために、高パフォーマンスのデータ処理技術が用いられ始めている。メモリシステムに適用される場合には、初期データのレイテンシ又はアイドルレイテンシが、高いデータ帯域幅と同様に重要である。しかし、帯域幅を向上させるためのデータ処理技術を用いると、メモリシステムのアイドルレイテンシが増加する場合がある。メモリシステムは、通常、そのワークロードの動的な性質に関係する、一意の要件を有する。たとえば、いくつかのメモリシステムは、相互接続が使用されない長いアイドル時間を有する。そのアイドル時間に、通信パイプラインを空にすることができる。通信パイプラインを再始動し、有用なデータの通信を再始動することは、使用されるエンコード／デコードアルゴリズムの性質によっては、比較的長い時間がかかり得る。アイドル期間後の、通信パイプライン内の第１のデータは、通常、データ処理を再始動するのに使用され、この初期データに対する応答時間は、全システムパフォーマンスにとって重要である。この場合、メモリシステムの帯域幅は、そのアイドルレイテンシ（即ち、メモリ要求が出された時から要求側が第１のデータを受信するまでの時間量）ほど重要ではないことがある。同様に、通信パイプラインが再始動され、メモリシステムがかなりの量のデータを格納又は検索した後は、メモリシステムのアイドルレイテンシは、その帯域幅ほど重要ではないことがある。
【発明を実施するための最良の形態】
【０００３】
以下により詳細に記述するように、いくつかの実施形態においては、メモリインターフェースには、データソースに結合されるよう適応され、かつ多くのデータ処理段階を有するデータ処理チャネルが含まれる。バイパスネットワークが、データ処理チャネルに結合され、そのデータ処理チャネル内の少なくとも１つの段階をバイパスするよう構成可能である。コントローラ回路が、レイテンシモード又はパフォーマンス基準に従って、データ処理チャネルの少なくとも１つの段階をバイパスするバイパスネットワークを構成するようバイパスネットワークに結合される。いくつかの実施形態又はオペレーションモードによっては、バイパスネットワークは、アイドル期間後のアイドルレイテンシを減少させるために、データ処理チャネルの少なくとも１つの段階をバイパスするよう構成される。代替実施形態又はオペレーションモードによっては、バイパスチャネルは、データスループットを増加するために、データ処理チャネルの少なくとも１つの段階を含むよう構成される。
【０００４】
いくつかの実施形態においては、通信インターフェースには、第１の関連付けられたレイテンシを有する第１のデータ処理チャネルと、第２の関連付けられたレイテンシを有する第２のデータ処理チャネルと、第１及び第２のデータ処理チャネルに結合され、かつ第１及び第２のデータ処理チャネルの少なくとも１つを伝送媒体に結合するよう構成された選択モジュールとが含まれる。
【０００５】
メモリデバイス
図１は、バイパス能力を有するメモリデバイス１００の実施形態を示すブロック図である。メモリデバイス１００は、メモリアレイ１０２と、外部インターフェース１０４と、メモリアクセスコントローラ１０６と、データ処理チャネル１０７（たとえば、回路及びメモリコアからインターフェースへとデータを運ぶ信号経路を有する読み出し経路）と、バイパスネットワーク１１０と、書き込み経路１１２と、制御経路１１４とを含む。いくつかの実施形態においては、メモリデバイス１００は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）又はシンクロナスＤＲＡＭ（ＳＤＲＡＭ）などの、揮発性メモリデバイスのタイプである。代替実施形態においては、メモリデバイス１００は、ＦＬＡＳＨなどの、不揮発性メモリデバイスのタイプである。メモリデバイスは、１つの集積回路、又はデュアルインラインメモリモジュール（ＤＩＭＭ）などのメモリモジュールの一部であり得る。図１は、読み出しデータを処理するためのデータ処理チャネルを示しているが、書き込みデータを処理するためのデータ処理チャネルもあり得る。しかし、所望のレベルのエンコード／デコードは、メモリデバイスのアーキテクチャによっては、書き込みオペレーションと読み出しオペレーションとでは異なるものであり得る。さらに、システムパフォーマンスは、一般に、読み出しオペレーションのレイテンシほど、書き込みオペレーションのレイテンシに敏感でなく、したがって、この経路におけるレイテンシを最小限に抑えることはそれほど重要ではない。開示の実施形態は、メモリインターフェースに制限されるものではなく、銅ベースの光学及びワイヤレスの通信システムを含む、データのエンコード／デコード技術を用いる任意の通信インターフェースでの使用に適応され得ることに留意されたい。
【０００６】
メモリアクセス要求が、メモリアクセスコントローラ１０６により、制御経路１１４を介して受信される。書き込み要求が制御経路１１４で受信されると、書き込み経路１１２で受信された書き込みデータが、メモリアクセスコントローラ１０６により、メモリアレイ１０２に書き込まれる。読み出し要求が制御経路１１４で受信されると、読み出しデータが、メモリアクセスコントローラ１０６により、メモリアレイ１０２から検索され、データ処理チャネル１０７に提供される。データ処理チャネル１０７は、読み出しデータを処理し、これを外部インターフェース１０４を介して再び要求側に送信する。書き込みデータ及び読み出しデータは、メモリデバイスの同じ外部インターフェースを共用し、外部データバスに双方向に多重化されることがある。
【０００７】
メモリアクセスコントローラ１０６は、メモリデバイス１００の設計アーキテクチャにより、列及び行のアドレス、及びストローブ（たとえば、ＲＡＳ、ＣＡＳ）をアサートするための回路、及び／又は他のアクセスコマンド及び／又はクロックを含む。外部インターフェース１０４は、広く使用されている高速バスの仕様（たとえば、ＬＶＴ（低電圧ＢｉＣＭＯＳ）、ＧＴＬ＋（Ｇｕｎｎｉｎｇ  Ｔｒａｎｓｆｅｒ  Ｌｏｇｉｃ）、ＳＳＴＬ＿２（Ｓｔｕｂ  Ｓｅｒｉｅｓ  Ｔｅｒｍｉｎａｔｉｏｎ  Ｌｏｇｉｃ）に従って、伝送路又はバスで伝送するためにデータを調整するためのデバイス又は回路を含む。
【０００８】
データ処理チャネル１０７は、（本明細書においては、パイプラインとも呼ぶ）、メモリアレイ１０２から読み出されたデータを共同で処理する、１つ以上の処理段階１０８ａ，．．．，１０８ｎ（総称して、１０８）を含む。データ処理チャネル１０７は、ハードウェア若しくはソフトウェア又は両方の組合せであり得る。いくつかの実施形態においては、データ処理チャネル１０７は、より多くのデータスループット又は帯域幅を提供するために、データに対して信号処理を遂行する。たとえば、読み出しデータは、データストリーム内の冗長性を活用するために、圧縮エンコード技術（たとえば、エントロピエンコード）を使用して圧縮され得るか、又はより低いコモンモード雑音（たとえば、クロストーク、電磁干渉）を有する高いデータ転送速度のスループットを提供するために、多くのレベル（たとえば、マルチＰＡＭ）又は周波数（たとえば、離散マルチトーン）にエンコードされ得る。代替形態として、データは、伝送路の望ましくないある特性（たとえば、符号間干渉（ＩＳＩ））を取り除くために、誤り訂正コードを用いてエンコードされることがある。いくつかの実施形態においては、データエンコードは、クロックデータリカバリ（ＣＤＲ）回路によって回復され、かつ受信機内の着信データをサンプリングするのに使用され得る、クロック信号の追加を含み得る。このような技術は、クロックリカバリを可能にするためのシリアルデータストリームの十分な遷移を確実にするための８Ｂ／１０Ｂエンコードと、ＤＣバランスを維持するために、同数の１及びゼロとを含むことがある。
【０００９】
データ処理チャネル１０７は、スイッチ、ＳＷ１、ＳＷ２、ＳＷ３、ＳＷ４、ＳＷ５、ＳＷ６，．．．，ＳＷｘ、ＳＷＹを含む、バイパスネットワーク１１０に結合される。これらのスイッチは、１つ以上のパフォーマンス基準（たとえば、レイテンシ、帯域幅など）に基づいて、１つ以上の段階１０８ａ，．．．，１０８ｎをバイパスするよう選択的に活性化され得る。いくつかの実施形態においては、バイパスネットワーク１１０は、制御経路１１４で受信されたスイッチ制御信号１１６に応じて、１つ以上の段階１０８ａ，．．．，１０８ｎをバイパスするよう構成される。スイッチ制御信号１１６は、制御経路１１４を介してメモリアクセスコマンド内に組み込まれ得る、又は、別個の信号、制御経路１１４の若しくは別個の伝送媒体の信号として伝送され得る。
【００１０】
代替実施形態においては、送信機（たとえば、メモリデバイス１００）及び受信機（たとえば、メモリコントローラ）が、１つ以上のトリガー事象に基づいてバイパスネットワーク１１０を構成するための、予め定められたポリシーを有し得る。たとえば、メモリデバイスが、複数の予め定義されたレイテンシモードのうちの特定のレイテンシモードを指定するメモリアクセス要求を受信することがある。代替形態として、メモリデバイスが、特定のレイテンシモードがメモリデバイスの要求又は状態のいずれか又はその両方に基づいて推測され得るメモリアクセス要求を受信することがある。それぞれの予め定義されたレイテンシモードが、レイテンシと帯域幅との間の各バランスを表す又はこれに対応し、さらに、各エンコードレベルに対応する。エンコードレベル及び／又はレイテンシモードは、メモリコントローラによりメモリデバイスに通信され得る。次いで、メモリデバイスは、レイテンシモード及び／又はエンコードレベル情報を使用して、その要求に応じてバイパスネットワーク１１０内のスイッチを調整する。
【００１１】
いくつかのメモリシステムの実施形態においては、長いアイドル時間があることがある。このアイドル時間に、データ処理チャネル１０７を空にすることができる。段階の数によっては、データ処理チャネル１０７を再始動し、有用なデータの通信を開始するのに、数クロックサイクルかかり得る。３サイクルのレイテンシ（たとえば、３エンコード段階）を有するデータ処理チャネルにおいては、任意の有用なデータが伝送される前に、４クロックサイクルかかることがある。したがって、アイドル期間直後のクロックサイクルのためのデータ処理チャネル１０７において、１つ以上の段階１０８ａ，．．．，１０８ｎをバイパスすることにより、有用なデータが、データ処理チャネル１０７が満杯になるまでの少ないレイテンシで伝送され得る、又は少ないレイテンシのオペレーションモードを使用して、予め定義された量のデータが伝送される。パイプラインが満杯になった後、又は予め定義された量のデータが伝送された後、バイパスネットワーク１１０は、データ処理チャネル１０７の段階１０８のより多く又はすべてを利用するよう調整され、これにより、メモリシステムのスループットが増加するが、レイテンシも増加する。レイテンシは、バイパスネットワーク１１０が段階１０８のいずれもバイパスしないよう（又は少ないレイテンシモードより少ない数の段階１０８をバイパスするよう）構成されている場合に使用される、それぞれの追加のエンコード段階１０８のレイテンシによって増加する。
【００１２】
データ処理チャネルの１つ以上の段階がアイドル期間後のレイテンシを減少させるためにバイパスされることがある、いくつかの例に、ｆｕｌｌ  ｓｗｉｎｇ  ｅｌｉｍｉｎａｔｉｏｎ（ＦＳＥ）を有するマルチレベルパルス振幅変調（ＰＡＭ）、クロックデータリカバリ（ＣＤＲ）コード、マルチトーンコード、又はデータ圧縮コードがある。アプリケーションの例には、少ないレイテンシ要求のための２レベルのパルス振幅変調（ＰＡＭ）エンコードと高い帯域幅要求のための４レベルのＰＡＭエンコードとをサポートするメモリシステムが含まれる。このようなアプリケーションにおいては、データ処理チャネルは、アイドル時間後の初期データ転送のために２レベルのＰＡＭエンコードを使用し、次いで、４レベルのＰＡＭを使用してエンコードを切り替えることがある。
【００１３】
バイパスネットワーク１１０は、たとえばメモリアクセスコントローラ１０６内のキャッシュ内に格納されている、ルックアップテーブル（ＬＵＴ）を使用して構成され得る。バイパスネットワーク１１０内に様々なスイッチを設定することにより、１つ以上の段階が、データ処理チャネル１０７から取り除かれる。表Ｉは、３段階、Ａ、Ｂ及びＣを含む、データ処理チャネル用のスイッチ構成ＬＵＴの一例である。この例においては、それぞれの段階が、１サイクルのレイテンシを有すると想定される。（図１に示されている）スイッチＳＷｘ及びＳＷＹは、表Ｉには、スイッチＳＷ７及びＳＷ８として列挙されていることに留意されたい。
【００１４】
【表１】
2008523499.tif 000003
【００１５】
表Ｉに示されているように、スイッチ構成番号１は、段階Ａ、Ｂ及びＣを含み、したがって、３クロックサイクルのレイテンシを有する。スイッチ構成番号２は、段階Ｂ及びＣを含み、２クロックサイクルのレイテンシを有する。スイッチ構成番号３は、段階Ｃを含み、１クロックサイクルのレイテンシを有する。スイッチ構成番号４は、段階を含まず（即ち、完全なバイパス）、データ処理チャネルに関連付けられたレイテンシを有さない。最後に、スイッチ構成５は、それぞれの段階を同時に初期化し、同じデータを直接受信機に提供する。この最後の構成においては、段階が初期化されると、スイッチ構成は、たとえばスイッチ構成番号１に変更されて、帯域幅又はデータスループットを最大化し得る。レイテンシが減少するので、トランザクションはより早く始まることができ、したがってより早く完了する。これにより、その後のトランザクションもより早く始まることができ、この結果、アクティブのバーストの間に非アクティブ時間を有するアプリケーションについて、帯域幅が増加し、レイテンシが減少する。上記の表Ｉに記述されているスイッチ構成は、１つの特定の実施形態のみを表すものであることに留意されたい。代替実施形態においては、バイパスネットワーク１１０は、データ処理チャネル１０７の１つ以上の段階１０８をバイパスするために多様な構成で配置される、より多くの又はより少ないスイッチを含み得る。これらのスイッチ構成は、制御バス上のコマンドを読み出すよう応答するステートマシンにより容易に制御され得る。
【００１６】
図７は、外部インターフェース１０４が外部データバスの１サイクル内で配信し得るものより、１つのコアアクセスオペレーションでより多くのデータを取り出すよう構成された、ＤＲＡＭ又はＳＤＲＡＭデバイスなどのメモリデバイスを示している。この例においては、１６ビットが、メモリアレイ１０２からメモリアレイインターフェース１２０を介して検索され、内部で同時に利用可能となる。１つのアクセスオペレーションによって検索されるデータビットの数は、他の実施形態においては、これより大きい場合もあればこれより小さい場合もあることに留意されたい。読み出しパイプラインが空である場合、１６の検索された（読み出された）ビットが、同時に読み出しパイプラインの様々な段階に向けられる。この例においては、メモリアレイは、１つのアクセスオペレーションで１６ビットを提供し、エンコード段階Ｃ（１０８ｃ）で４データビットがロードされ、次いで、１クロックサイクルでこれを外部インターフェース１０４に駆動する。エンコード段階Ｂ１０８ｂ及びエンコード段階Ａ１０８ａが、それぞれ、４及び８データビットでロードされる。エンコード段階Ａ１０８ａは、十分なエンコードを遂行して、外部インターフェース１０４のスループット（即ち、クロックサイクル毎に伝送されるビットの数）を増加する。ここで読み出しパイプラインは満杯となり、デバイスは、（そうでない場合には使用されなかった）外部データバスの２クロックを使用した。その後の読み出しオペレーションが、引き続き読み出しパイプラインを満杯にし、その後のすべての読み出しデータは、エンコード段階Ａ１０８ａを経由し、これにより、データ伝送速度がその最高のスループットに維持される。読み出しパイプラインが空の時に開始した初期の読み出しオペレーションのみが、バイパスを利用する。何故なら、その後の読み出しは、エンコード段階Ｂ１０８ｂ及びエンコード段階Ｃ１０８ｃを利用して、データが既に読み出しパイプライン内にある間に発生するからである。
【００１７】
図８は、図７と同様であるが、例外として、メモリデバイスは、プリフェッチロジック（たとえば、図１のメモリアクセスコントローラ１０６の一部）とメモリアレイ１０２又はメモリデバイスのコアから（メモリアレインターフェース１２０を介して）プリフェッチされたデータを格納するレジスタ１２２とを含む、プリフェッチメカニズムを含む。
【００１８】
メモリコントローラ
図２は、バイパス能力を有するメモリコントローラ２００の実施形態を示すブロック図である。メモリコントローラ２００は、フロントサイドバス（ＦＳＢ）インターフェース２０２と、アービトレーションユニット２０６と、キュー２０４及び２０８と、入出力（Ｉ／Ｏ）インターフェース２１０と、コントローラ２１２と、データ処理チャネル２１３（即ち、読み出し経路）と、外部インターフェース２１６とを含む。メモリアクセス要求が、ＣＰＵ又は他の要求側からＦＳＢインターフェース２０４を介して受信され、メモリアクセス要求が、Ｉ／Ｏデバイス、又は多くのＩ／Ｏデバイスに結合されたＩ／Ｏコントローラから、Ｉ／Ｏインターフェース２１０を介して受信される。ＦＳＢインターフェース２０２及びＩ／Ｏインターフェース２１０は、信号調整を提供し、かつ通信プロトコルを実施するための回路を含む。ＦＳＢインターフェース２０２及びＩ／Ｏインターフェース２１０からの要求は、それぞれ、キュー２０４及び２０８内に格納される。キュー２０４及び２０８は、ハードウェア若しくはソフトウェア又は両方の組合せ内で実施され得る。キュー２０４、２０８は、メモリコントローラ２００のアーキテクチャによって、先入れ先出し（ＦＩＦＯ）又は後入れ先出し（ＬＩＦＯ）などの多様なデータ構造を有し得る。
【００１９】
いくつかの実施形態においては、ＣＰＵ又は他の要求側は、メモリコントローラ２００として同じチップ、同じ集積回路又はモジュール内に置かれる。このような実施形態においては、ＦＳＢインターフェース２０２は、内部インターフェースである。
【００２０】
アービトレーションユニット２０６は、キュー２０４及び２０８、及びコントローラ２１２に結合される。アービトレーションユニット２０６は、キュー２０４、２０８からメモリアクセス要求を検索し、これらをコントローラ２１２に提供する。アービトレーションユニット２０６は、メモリ要求管理スキーム（たとえば、優先順位、総当たり法など）に基づいてメモリアクセス要求を管理する論理を含む。コントローラ２１２は、１つの集積回路チップ、チップセット、又は埋め込み式プロセッサ、又はメモリ管理ユニット（ＭＭＵ）であり得る。
【００２１】
インターフェース２０２及び２１０から受信された書き込みデータが、書き込み経路２１８及び外部インターフェース２１６を介して、メモリデバイス（たとえば、メモリデバイス１００）に書き込まれる。読み出しデータが、外部インターフェース２１６から受信され、データ処理チャネル２１３によって処理される。外部インターフェース２１６は、ＬＶＴ、ＧＴＬ＋、ＳＳＴＬ＿２などの、任意の好適な高速バス仕様に従って、伝送路又はバスで伝送するためのデータを調整するよう、公知のデバイスを含む。制御経路２２０は、メモリアクセス要求などの様々な制御情報をメモリデバイスに提供するための、１つ以上の制御ラインを含む。いくつかの実施形態においては、図１について上述したように、制御経路２２０は、データ処理チャネル１０７内に、段階１０８ａ，．．．，１０８ｎをバイパスするバイパスネットワーク１１０を構成するよう、メモリデバイス１００内のバイパスネットワーク１１０に１つ以上のスイッチ制御信号を提供する。
【００２２】
データ処理チャネル２１３は、外部インターフェース２１６から読み出されたデータを共同で処理する、１つ以上の処理段階２１４ａ，．．．，２１４ｎを含む。データ処理チャネル２１３は、ハードウェア又はソフトウェア、又は両方の組合せで実施され得る。いくつかの実施形態においては、データ処理チャネル２１３は、データを伝送したデバイスにより以前にエンコードされたデータを回復するよう、そのデータに対して信号処理を遂行する。たとえば、データ処理チャネル２１３は、図１のデータ処理チャネル１０７によってエンコードされたデータをデコードするデコードプロセスを提供し得る。いくつかの実施形態においては、データのデコードは、ＣＤＲ回路を使用してクロック信号を回復することを含み得る。次いで、これは、以下に図３及び図４について記述するように、受信機内の着信データをサンプリングするのに使用され得る。
【００２３】
データ処理チャネル２１３は、スイッチ、ＳＷ１、ＳＷ２、ＳＷ３、ＳＷ４、ＳＷ５、ＳＷ６，．．．，ＳＷｘ、ＳＷＹを含む、バイパスネットワーク２２２に結合される。これらのスイッチは、１つ以上のパフォーマンス基準（たとえば、レイテンシ、帯域幅など）に基づいて、１つ以上の段階２１４ａ，．．．，２１４ｎをバイパスするよう選択的に活性化され得る。いくつかの実施形態においては、バイパスネットワーク１１０は、コントローラ２１２によって生成されたスイッチ制御信号２１５に応じて、１つ以上の段階２１４ａ，．．．，２１４ｎをバイパスするよう構成される。
【００２４】
いくつかの実施形態においては、バイパスネットワーク２２２は、たとえばコントローラ２１２内のキャッシュメモリ内に格納されている、ルックアップテーブル（ＬＵＴ）を使用して構成される。他の実施形態においては、バイパスネットワーク２２２は、アービトレーションユニット２０６によって出された要求に従ってバイパスネットワークのスイッチを調整する（たとえば、コントローラ２１２内の）ステートマシンによって構成される。バイパスネットワーク２２２内に様々なスイッチを設定することにより、１つ以上の段階２１４ａ，．．．，２１４ｎが、データ処理チャネル２１３から取り除かれる。表Ｉに示されているスイッチ構成の例は、メモリデバイス１００のデータ処理チャネル１０７内でバイパスされる、段階１０８ａ，．．．，１０８ｎに対応するデータ処理チャネル２１３内で、段階２１４ａ，．．．，２１４ｎをバイパスするよう（必要な場合には）修正され得ることに留意されたい。
【００２５】
上述したように、いくつかの実施形態においては、送信機（たとえば、メモリデバイス１００）及び受信機（たとえば、メモリコントローラ２００）が、１つ以上の事象に基づいて、それらの各バイパスネットワーク１１０、２２２を構成するために予め定められたポリシーを有し得る。たとえば、メモリコントローラが、複数の予め定義されたレイテンシモードのうちの特定のレイテンシモードを指定するメモリアクセス要求を受信することがある。代替形態として、メモリコントローラ２００が、特定のレイテンシモードがメモリコントローラの要求又は状態又はメモリデバイスの状態又はこれらのいくつかの組合せに基づいて推測され得る（即ち、メモリコントローラ２００によって判断され得る）、メモリアクセス要求を受信することがある。それぞれの予め定義されたレイテンシモードは、レイテンシと帯域幅との間の各バランスを表す又はこれに対応し、さらに、各エンコードレベルに対応する。判断されたエンコードレベル及び／又はレイテンシモードは、メモリコントローラによりメモリデバイスに通信され得る。次いで、これは、レイテンシモード及び／又はエンコードレベル情報を使用して、その要求に応じてそのバイパスネットワーク１１０内のスイッチを構成する。同様に、判断されたエンコードレベル及び／又はレイテンシモードは、そのバイパスネットワーク２２２内のスイッチを構成するよう、メモリコントローラによって使用される。
【００２６】
ワークロード適応型送信機
図３は、ワークロード適応型送信機３００の実施形態を示すブロック図である。送信機３００は、１つ以上のエンコード段階により、第１の関連付けられたレイテンシを有する第１のデータ処理チャネル３０２と、第２の関連付けられたレイテンシを有する第２のデータ処理チャネル３０４とを含む。第２のデータ処理チャネル３０４は、ＣＤＲエンコーダ３１０（たとえば、８Ｂ／１０Ｂエンコーダ）と、選択モジュール３１２（たとえば、マルチプレクサ）と、ドライバ３１４と、パッド３１６とを含む。選択信号３１８に応じて、選択モジュール３１２は、データソース３０８によって生成されたデータストリームを、クロック信号ＣＬＫをエンコードする又はこれをデータストリーム内に埋め込むＣＤＲエンコーダ３１０に結合する。ＣＤＲエンコーダ３１０の出力部は、マルチプレクサ３１２により、パッド３１６上のデータ信号を駆動するドライバ３１４に結合される。いくつかの実施形態においては、データソース３０８は、非ゼロ復帰（ＮＲＺ）波形（たとえば、ユニポーラ、ポーラ、マンチェスタＩＩなど）でエンコードされた、ｎレベルのＰＡＭ（たとえば、４レベルのＰＡＭ）を生成する。代替実施形態においては、データソース３０８は、ゼロ復帰（ＲＺ）波形（たとえば、ユニポーラ、ポーラなど）を生成する。
【００２７】
異なる選択信号３１８に応じて、マルチプレクサ３１２は、ＣＤＲエンコーダ３１０をバイパスすることにより、データソース３０６からのデータストリームを直接ドライバ３１４及びパッド３１６に結合する。いくつかの実施形態においては、データソース３０６は、ＮＲＺ波形でエンコードされた、ｍレベルのＰＡＭ（たとえば、２レベルのＰＡＭ）を生成する。代替実施形態においては、データソース３０６は、ＲＺ波形を生成する。データソース３０６及び３０８は、別個かつ独立したデータソースである場合も、同じデータソースである場合もある。
【００２８】
選択信号３１８は、埋め込み式コントローラ、ステートマシン、又はアイドル期間後の未使用のクロックサイクルを利用する他の処理ユニットによって生成され得る。たとえば、アイドル期間後に、送信機３００は、第１のデータ処理チャネル３０２を介して、少ないレイテンシで、２レベルのＰＡＭ記号を受信機に送信し得る。記号は、周波数情報を含むアイドルパターンを使用して、受信機と同期され得る。次いで、その後のクロックサイクルが、送信機３００によって使用されて、第２のデータ処理チャネル３０４を通ってＣＤＲエンコーダ３１０へとデータを向けることにより、パッド３１６に結合された外部リンク上で４レベルのＰＡＭ記号を送信し得る。この例示的システムにおいては、ＣＤＲエンコーダ３１０は、（たとえば、８Ｂ／１０Ｂエンコードを使用することにより）クロックリカバリ情報をチャネル３０４上のデータストリームに追加し、これを１連の４レベルのＰＡＭ記号として伝送するよう準備し、これにより、第１のデータ処理チャネル３０２全体に向けられたデータより多いレイテンシが生じる。受信機でデータを適切に回復することを確実にするために、いくつかの実施形態においては、送信機３００は、伝送される信号の性質に関する情報を受信機に送信する。たとえば、選択信号３１８がデータストリーム（点線）内で多重化され得るか、或いは、情報が別個の伝送媒体を介して受信機に送信され得る。データフォーマットプロトコルが送信機及び受信機によって予め定められている場合、選択信号を送信する必要がない。たとえば、送信機及び受信機がプログラムされている場合、又はアイドル期間後の第１のデータがＣＤＲ情報なしで送信され、第２のデータがＣＤＲ情報と共に送信されるように設計されている場合、レイテンシがさらに減少し得る。
【００２９】
上記においては、図３について、アイドル期間後に初期データを伝送するための少ないレイテンシデータ経路を有する２レベルのＰＡＭを使用し、次いで、その後のデータのためにより高い帯域幅及びより多いレイテンシデータ経路を有する４レベルのＰＡＭに切り換えるよう構成された形で記述してきたが、別のワークロード適応型実施形態においては、２つのデータ経路間の選択がワークロードに基づくことがある。特に、低いワークロード条件においては、図３のデバイス又はシステムは、データストリームを少ないレイテンシデータ処理チャネル３０２を通るように向け、高いワークロード条件においては、図３のデバイス又はシステムは、データストリームを高い帯域幅の多いレイテンシデータ処理チャネル３０４を通るように向ける。ワークロード条件は、送信側のデバイスの又は受信側のデバイスのコントローラ（たとえば、図１の１０６、又は図２の２１２）によって検出されることがある。
【００３０】
受信機システム
図４は、図３のワークロード適応型送信機３００からデータを受信する受信機システム４００の実施形態を示すブロック図である。受信機システム４００は、受信機４０２と、ＣＤＲ回路４０４と、位相ロックループ（ＰＬＬ）４０６とを含む。データストリームが、受信機４０２によって受信され、ＰＬＬ４０６によって提供されるサンプリングクロックを用いてサンプリングされる。サンプリングクロックは、公知のクロックリカバリ技術を使用するＣＤＲ回路４０４によって回復され得る、エンコードされたクロック信号ＣＬＫに基づいてＰＬＬ４０６によって導き出される。ＣＤＲ回路４０４をバイパスする又はこれを第２のデータ処理経路３０４から取り除くために、選択信号がデータストリーム内に埋め込まれ得ることに留意されたい。したがって、先の例を使用して、アイドル期間後のクロックサイクル（少ないレイテンシ）に対応し、かつクロック信号ＣＬＫを含まない、受信されたデータの第１の部分は、ＣＤＲ回路４０４によって処理されないか又は無視され、その後のクロックサイクルに対応する（より高い帯域幅及びレイテンシで伝送された）データの第２の部分が、クロック信号ＣＬＫを回復するよう、ＣＤＲ回路４０４によって処理される。
【００３１】
アイドル時間中、正しい位相及びクロック情報を維持するために、送信機は、受信機が同期を維持するのに十分なクロッキング情報を含む公知のパターンを伝送する必要があることがある。
【００３２】
送信機のためのエンコードプロセス
図５は、高速データリンク内の送信機のためのエンコードプロセスの実施形態を示す流れ図である。このプロセスは、たとえば、図１のメモリデバイス１００によって実行され得る。このプロセスは、受信機に伝送されるべきデータを読み取る５００ことによって始まる。いくつかの実施形態においては、データは、メモリ又は他の記憶装置から読み出される。代替実施形態においては、データは、送信機によって生成される。次に、エンコードモード（本明細書においては、レイテンシモードと呼ぶこともある）が判断される５０２。たとえば、メモリアクセスコントローラ１０６（図１）は、（たとえば、読み出し経路パイプラインが空である時のアイドルモードを検出するための）アイドル検出回路を含むことがある。いくつかの実施形態においては、メモリアクセスコントローラ１０６は、読み出し経路パイプラインの状態に従ってエンコードモードを設定する。他の実施形態においては、エンコード又はレイテンシモードは、データエンコードプロセスを始動したメモリアクセス要求により、モードインジケータ（たとえば、データパケットのヘッダ内に置かれたフラグ）のデータそのものを調べることにより、ＣＰＵ若しくはアイドル時間を検出することが可能な他のデバイスによって伝送された制御信号により、又はこれらのいくつかの組合せにより指定されることがある。送信機がデータ伝送５０２の少ないレイテンシモードを使用すべきであると判断すると、バイパスネットワークが、少ないレイテンシエンコードのために送信機のデータ処理チャネル内の１つ以上のエンコード段階をバイパスするよう構成される５０４。たとえば、すべてのエンコード段階が、レイテンシを最小限に抑えるようバイパスされ得る。代替形態として、エンコード段階の部分集合がバイパスされ得る。バイパスネットワークが構成された５０４後、データは、データ処理チャネル内に残っている（もしあれば、であるが）エンコード段階により、少ないレイテンシでエンコードされる５０６（即ち、バイパスされなかった段階）。エンコードステップ５０６を完了すると、処理されたデータは、受信機に伝送される５０８。
【００３３】
送信機が、データ伝送５０２の高い帯域幅の多いレイテンシモードを使用するべきであると判断すると、バイパスネットワークが、多いレイテンシのエンコードのために送信機のデータ処理チャネル内の段階のすべての又は好適な部分集合を利用するよう構成される５１０。データ処理チャネルのこの組の段階は、多いレイテンシの組のエンコード段階と呼ばれることがある。バイパスが構成された５１０後、データは、データ処理チャネル内の高い帯域幅の多いレイテンシの組のエンコード段階により、高い帯域幅の多いレイテンシでエンコードされる５１２。エンコードステップ５１２が完了すると、処理されたデータは、受信機に伝送される５０８。
【００３４】
受信機のためのデコードプロセス
図６は、高速データリンク内の受信機のためのデコードプロセスの実施形態を示す流れ図である。このプロセスは、たとえば、図２のメモリコントローラ２００によって実行され得る。このプロセスは、高速相互接続又は他の通信媒体を介して送信機からデータ６００を受信することによって始まる。代替実施形態においては、データは、バッファ又は他の記憶装置から検索され、このデータは、受信機がデータをデコードする準備が完了するまで格納されていることがある。次に、エンコードモードが検出される又は判断される６０２。エンコードモードは、たとえば、受信されたデータにより、又は送信機又は受信機の状態、又はこれらの組合せにより表示されることがある。少ないレイテンシモードが検出される又は判断される６０２と、バイパスネットワークが、受信機のデータ処理チャネル内の１つ以上のデコード段階をバイパスするよう構成される６０４。バイパスが構成された６０４後、データは、データ処理チャネル内に残っている任意のデコード段階により、少ないレイテンシでデコードされ６０６、プロセスは、より多くのデータを受信するようステップ６００に戻る。
【００３５】
高い帯域幅／多いレイテンシモードが検出される６０２と、バイパスネットワークは、多いレイテンシのデコードのために受信機のデータ処理チャネル内のデコード段階のすべての又は好適な部分集合を利用するよう構成される６０８。データ処理チャネルのこの組の段階は、高い帯域幅／多いレイテンシの組のデコード段階と呼ばれることがある。バイパスが構成された６０８後、データは、データ処理チャネル内の、高い帯域幅／多いレイテンシの組のデコード段階によってデコードされる６１０。
【００３６】
本明細書に記述されているデバイス及び回路は、本業界において利用可能なコンピュータ支援設計ツールを使用して実施され、記憶媒体に格納されている又は搬送波によって通信される、レジスタトランスファ、論理構成要素、トランジスタ、及びレイアウトジオメトリのレベルの行動記述において、このような回路のソフトウェア記述を含むコンピュータ読取可能ファイルによって具現化され得る。このような記述が実施され得るデータフォーマットは、Ｃのような行動言語をサポートするフォーマット、Ｖｅｒｉｌｏｇ及びＶＨＤＬのようなレジスタトランスファレベルＲＴＬ言語をサポートするフォーマット、並びにＧＤＳＩＩ、ＧＤＳＩＩＩ、ＧＤＳＩＶ、ＣＩＦ及びＭＥＢＥＳ、並びに他の好適なフォーマット及び言語のようなジオメトリ記述言語をサポートするフォーマットを含むが、これらに制限されるものではない。搬送波を含む、機械可読媒体でのこのようなファイルのデータ転送が、インターネット上の多種多様な媒体を介して、又はたとえば電子メールを通じて電子的に行われ得る。物理ファイルが、４ｍｍ磁気テープ、８ｍｍ磁気テープ、３．５インチフロッピー（登録商標）媒体、ＣＤ、ＤＶＤなどの機械可読媒体に実装され得る。
【００３７】
上記の記述においては、一定の実施形態を参照しながら説明してきた。しかし、上記の議論の例は、網羅的なものではなく、また本発明を開示されている正確な形態に制限するものでもない。上記の教示を勘案することにより、多くの修正形態及び変形形態が可能である。これらの実施形態は、本発明の原理及びそれらの実際的な適用形態を最も良く説明するために選び、記述したものである。したがって、当業者なら、本発明及び様々な実施形態、さらに、考えられる特定の使用に好適な様々な修正形態を最良の形で利用することができよう。
【図面の簡単な説明】
【００３８】
【図１】バイパス能力を有するメモリデバイスの実施形態を示すブロック図である。
【図２】バイパス能力を有するメモリコントローラの実施形態を示すブロック図である。
【図３】ワークロード適応型送信機の実施形態を示すブロック図である。
【図４】図３の送信機からデータを受信する受信機システムの実施形態を示すブロック図である。
【図５】高速データリンク内の送信機のためのエンコードプロセスの一実施形態を示す流れ図である。
【図６】高速データリンク内の受信機のためのデコードプロセスの実施形態を示す流れ図である。
【図７】バイパス能力を有するメモリデバイスの実施形態を示すブロック図である。
【図８】プリフェッチ能力及びバイパス能力を有するメモリデバイスの実施形態を示すブロック図である。
【図１】
2008523499.tif 000004
【図２】
2008523499.tif 000005
【図３】
2008523499.tif 000006
【図４】
2008523499.tif 000007
【図５】
2008523499.tif 000008
【図６】
2008523499.tif 000009
【図７】
2008523499.tif 000010
【図８】
2008523499.tif 000011
【国際調査報告】
2008523499.tif 000012
2008523499.tif 000013
2008523499.tif 000014
2008523499.tif 000015