(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-19
(54)【発明の名称】擬似チャネルベースのメモリシステムにおけるレイテンシの低減
(51)【国際特許分類】
G06F 13/16 20060101AFI20241112BHJP
G06F 12/00 20060101ALI20241112BHJP
【FI】
G06F13/16 510D
G06F12/00 597R
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024520748
(86)(22)【出願日】2022-10-03
(85)【翻訳文提出日】2024-04-04
(86)【国際出願番号】 US2022045561
(87)【国際公開番号】W WO2023075993
(87)【国際公開日】2023-05-04
(32)【優先日】2021-10-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】507364838
【氏名又は名称】クアルコム,インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100163522
【氏名又は名称】黒田 晋平
(72)【発明者】
【氏名】シャムクマール・ソジーア
(72)【発明者】
【氏名】パンカジ・デシュムク
(72)【発明者】
【氏名】ジュンウォン・ス
(72)【発明者】
【氏名】スッバラオ・パラチャルラ
【テーマコード(参考)】
5B160
【Fターム(参考)】
5B160MB00
(57)【要約】
様々な実施形態は、擬似チャネルベースのメモリシステムにおけるレイテンシを低減させる方法及びデバイスを含む。実施形態は、複数の擬似チャネルのうちの1つを第1の入力/出力(IO)に選択的に通信可能に接続するように構成された第1の擬似チャネル選択デバイスと、複数の擬似チャネルのうちの1つを第2のIOに選択的に通信可能に接続するように構成された第2の擬似チャネル選択デバイスとを含んでもよく、第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスは、複数の擬似チャネルのうちの第1の擬似チャネルを第1のIO及び第2のIOに同時に通信可能に接続するように動作可能であってもよい。実施形態は、第1の擬似チャネルをターゲットとするメモリアクセスコマンドを受信し、メモリアクセスコマンドを実行するために第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを使用するように構成された擬似チャネルベースのメモリシステムを含んでもよい。
【特許請求の範囲】
【請求項1】
擬似チャネルベースのメモリシステムであって、
複数の擬似チャネルのうちの1つを第1の入力/出力(IO)に選択的に通信可能に接続するように構成された第1の擬似チャネル選択デバイスと、
前記複数の擬似チャネルのうちの1つを第2のIOに選択的に通信可能に接続するように構成された第2の擬似チャネル選択デバイスと、を備え、
前記第1の擬似チャネル選択デバイス及び前記第2の擬似チャネル選択デバイスは、第1の動作モードにおいて、前記複数の擬似チャネルのうちの第1の擬似チャネルを前記第1のIO及び前記第2のIOに同時に通信可能に接続するように動作可能である、擬似チャネルベースのメモリシステム。
【請求項2】
前記第1のIOは、第1の擬似チャネルデータバスを含み、前記第2のIOは、第2の擬似チャネルデータバスを含み、前記擬似チャネルベースのメモリシステムは、
前記第1の擬似チャネルデータバスよりも大きいビット幅を有し、前記第1の擬似チャネルに通信可能に接続された、第1の内部データバスと、
前記第1の擬似チャネルデータバスと同じビット幅を有し、前記第1の内部データバスの第1の部分と前記第1の擬似チャネル選択デバイスとの間に通信可能に接続された第2の内部データバスと、
前記第2の擬似チャネルデータバスと同じビット幅を有し、前記第1の内部データバスの第2の部分と前記第2の擬似チャネル選択デバイスとの間に通信可能に接続された第3の内部データバスと、を更に備える、請求項1に記載の擬似チャネルベースのメモリシステム。
【請求項3】
前記第1の内部データバスは、前記第1の擬似チャネルデータバスの整数倍に等しいビット幅を有する、請求項2に記載の擬似チャネルベースのメモリシステム。
【請求項4】
前記第1の擬似チャネルデータバスよりも大きいビット幅を有し、前記複数の擬似チャネルのうちの第2の擬似チャネルに通信可能に接続された第4の内部データバスと、
前記第1の擬似チャネルデータバスと同じビット幅を有し、前記第4の内部データバスの第1の部分と前記第1の擬似チャネル選択デバイスとの間に通信可能に接続された第5の内部データバスと、
前記第2の擬似チャネルデータバスと同じビット幅を有し、前記第4の内部データバスの第2の部分と前記第2の擬似チャネル選択デバイスとの間に通信可能に接続された第6の内部データバスと、を更に備える、請求項2に記載の擬似チャネルベースのメモリシステム。
【請求項5】
前記第1の擬似チャネル選択デバイス及び前記第2の擬似チャネル選択デバイスは、前記擬似チャネルベースのメモリシステムが前記第1の擬似チャネルをターゲットとする低レイテンシタイプメモリアクセスコマンドを受信したことに応じて、前記第1の擬似チャネルを前記第1のIO及び前記第2のIOに同時に通信可能に接続するように動作可能である、請求項1に記載の擬似チャネルベースのメモリシステム。
【請求項6】
メモリ制御デバイスを更に備え、前記メモリ制御デバイスは、
前記第1の擬似チャネルをターゲットとする前記低レイテンシタイプメモリアクセスコマンドを受信し、
前記低レイテンシタイプメモリアクセスコマンドを受信したことに応じて、前記第1の擬似チャネル選択デバイス及び前記第2の擬似チャネル選択デバイスに、前記第1の擬似チャネルを前記第1のIO及び前記第2のIOに同時に通信可能に接続させるために、少なくとも1つの擬似チャネル選択信号を前記第1の擬似チャネル選択デバイス及び前記第2の擬似チャネル選択デバイスに送信するように構成されている、請求項5に記載の擬似チャネルベースのメモリシステム。
【請求項7】
前記第1の擬似チャネル選択デバイス及び前記第2の擬似チャネル選択デバイスは、前記擬似チャネルベースのメモリシステムが、前記擬似チャネルベースのメモリシステムに、連続メモリアクセスコマンドを低レイテンシタイプメモリアクセスコマンドとして扱わせるように構成されたモードレジスタ書き込みコマンドを受信したことに応じて、かつ前記擬似チャネルベースのメモリシステムが前記第1の擬似チャネルをターゲットとする連続メモリアクセスコマンドを受信したことに応じて、前記第1の擬似チャネルを前記第1のIO及び前記第2のIOに同時に通信可能に接続するように動作可能である、請求項1に記載の擬似チャネルベースのメモリシステム。
【請求項8】
メモリ制御デバイスを更に備え、前記メモリ制御デバイスは、
前記モードレジスタ書き込みコマンドを受信し、
前記モードレジスタ書き込みコマンドを受信したことに応じて、前記メモリ制御デバイスに、前記連続メモリアクセスコマンドを低レイテンシタイプメモリアクセスコマンドとして扱わせるように構成されたレジスタ値を設定し、
前記第1の擬似チャネルをターゲットとする前記連続メモリアクセスコマンドを受信し、
前記連続メモリアクセスコマンドを受信したことに応じて、前記第1の擬似チャネル選択デバイス及び前記第2の擬似チャネル選択デバイスに、前記第1の擬似チャネルを前記第1のIO及び前記第2のIOに同時に通信可能に接続させるために、少なくとも1つの擬似チャネル選択信号を前記第1の擬似チャネル選択デバイス及び前記第2の擬似チャネル選択デバイスに送信するように構成されている、請求項7に記載の擬似チャネルベースのメモリシステム。
【請求項9】
前記第1の擬似チャネル選択デバイス及び前記第2の擬似チャネル選択デバイスは各々、少なくとも1つのマルチプレクサを含む、請求項1に記載の擬似チャネルベースのメモリシステム。
【請求項10】
第2の動作モードにおいて、前記第1の擬似チャネル選択デバイスは、前記第1の擬似チャネルを前記第1のIOに通信可能に接続するように動作可能であり、前記第2の擬似チャネル選択デバイスは、前記複数の擬似チャネルのうちの第2の擬似チャネルを前記第2のIOに通信可能に接続するように動作可能である、請求項1に記載の擬似チャネルベースのメモリシステム。
【請求項11】
擬似チャネルベースのメモリシステムにおけるレイテンシを低減させる方法であって、
複数の擬似チャネルのうちの1つを複数の入力/出力(IO)のうちの第1のIOに選択的に通信可能に接続するように構成された第1の擬似チャネル選択デバイスによって、前記複数の擬似チャネルのうちの第1の擬似チャネルを前記第1のIOに通信可能に接続することと、
第1の動作モードにおいて、前記第1の擬似チャネル選択デバイスによって前記第1の擬似チャネルを前記第1のIOに通信可能に接続するのと同時に、第2の擬似チャネル選択デバイスによって前記第1の擬似チャネルを前記複数のIOのうちの第2のIOに通信可能に接続することと、を含み、前記第2の擬似チャネル選択デバイスは、前記複数の擬似チャネルのうちの1つを前記第2のIOに選択的に通信可能に接続するように構成されている、方法。
【請求項12】
前記第1のIOは、第1の擬似チャネルデータバスを含み、前記第2のIOは、第2の擬似チャネルデータバスを含み、前記方法は、
前記第1の擬似チャネルデータバスよりも大きいビット幅を有し、前記第1の擬似チャネルに通信可能に接続された第1の内部データバスと、前記第1の擬似チャネルデータバスと同じビット幅を有し、前記第1の内部データバスの第1の部分と前記第1の擬似チャネル選択デバイスとの間に通信可能に接続された第2の内部データバスとを介して、前記第1の擬似チャネルデータバスと前記第1の擬似チャネルとの間でデータを送信することと、
前記第1の内部データバスと、前記第2の擬似チャネルデータバスと同じビット幅を有し、前記第1の内部データバスの第2の部分と前記第2の擬似チャネル選択デバイスとの間に通信可能に接続された第3の内部データバスとを介して、前記第2の擬似チャネルデータバスと前記第1の擬似チャネルとの間でデータを送信することと、を更に含む、請求項11に記載の方法。
【請求項13】
前記第1の内部データバスは、前記第1の擬似チャネルデータバスの整数倍に等しいビット幅を有する、請求項12に記載の方法。
【請求項14】
前記第1の擬似チャネルデータバスよりも大きいビット幅を有し、前記第2の擬似チャネルに通信可能に接続された第4の内部データバスと、前記第1の擬似チャネルデータバスと同じビット幅を有し、前記第4の内部データバスの第1の部分と前記第1の擬似チャネル選択デバイスとの間に通信可能に接続された第5の内部データバスとを介して、前記第1の擬似チャネルデータバスと前記複数の擬似チャネルのうちの第2の擬似チャネルとの間でデータを送信することと、
前記第4の内部データバスと、前記第2の擬似チャネルデータバスと同じビット幅を有し、前記第4の内部データバスの第2の部分と前記第2の擬似チャネル選択デバイスとの間に通信可能に接続された第6の内部データバスとを介して、前記第2の擬似チャネルデータバスと前記第2の擬似チャネルとの間でデータを送信することと、を更に含む、請求項12に記載の方法。
【請求項15】
前記第1の擬似チャネルをターゲットとする低レイテンシタイプメモリアクセスコマンドを受信することを更に含み、
前記第1の擬似チャネル選択デバイスによって前記第1の擬似チャネルを前記第1のIOに通信可能に接続することと同時に、前記第2の擬似チャネル選択デバイスによって前記第1の擬似チャネルを前記第2のIOに通信可能に接続することは、前記低レイテンシタイプメモリアクセスコマンドを受信したことに応じて行われる、請求項11に記載の方法。
【請求項16】
前記低レイテンシタイプメモリアクセスコマンドを受信したことに応じて、前記第1の擬似チャネル選択デバイス及び前記第2の擬似チャネル選択デバイスに、前記第1の擬似チャネルを前記第1のIO及び前記第2のIOに同時に通信可能に接続させるために、少なくとも1つの擬似チャネル選択信号を前記第1の擬似チャネル選択デバイス及び前記第2の擬似チャネル選択デバイスに送信することを更に含む、請求項15に記載の方法。
【請求項17】
前記擬似チャネルベースのメモリシステムに、連続メモリアクセスコマンドを低レイテンシタイプメモリアクセスコマンドとして扱わせるように構成されたモードレジスタ書き込みコマンドを受信することと、
前記第1の擬似チャネルをターゲットとする連続メモリアクセスコマンドを受信することと、を更に含み、
前記第1の擬似チャネル選択デバイスによって前記第1の擬似チャネルを前記第1のIOに通信可能に接続することと同時に、前記第2の擬似チャネル選択デバイスによって前記第1の擬似チャネルを前記第2のIOに通信可能に接続することは、前記モードレジスタ書き込みコマンドを受信したことに応じて、かつ前記連続メモリアクセスコマンドを受信することに応じて行われる、請求項11に記載の方法。
【請求項18】
前記モードレジスタ書き込みコマンドを受信したことに応じて、前記擬似チャネルベースのメモリシステムに前記連続メモリアクセスコマンドを低レイテンシタイプメモリアクセスコマンドとして扱わせるように構成されたレジスタ値を設定することと、
前記連続メモリアクセスコマンドを受信したことに応じて、前記第1の擬似チャネル選択デバイス及び前記第2の擬似チャネル選択デバイスに、前記第1の擬似チャネルを前記第1のIO及び前記第2のIOに同時に通信可能に接続させるために、少なくとも1つの擬似チャネル選択信号を前記第1の擬似チャネル選択デバイス及び前記第2の擬似チャネル選択デバイスに送信することと、を更に含む、請求項17に記載の方法。
【請求項19】
前記第1の擬似チャネル選択デバイス及び前記第2の擬似チャネル選択デバイスは各々、少なくとも1つのマルチプレクサを含む、請求項11に記載の方法。
【請求項20】
第2の動作モードにおいて、前記第2の擬似チャネル選択デバイスによって、前記複数の擬似チャネルのうちの第2の擬似チャネルを前記複数のIOのうちの前記第2のIOに通信可能に接続することを更に含む、請求項11に記載の方法。
【請求項21】
第1の擬似チャネルを含む複数の擬似チャネルを備える擬似チャネルベースのメモリシステムであって、
前記擬似チャネルベースのメモリシステムは、
前記第1の擬似チャネルをターゲットとするメモリアクセスコマンドを受信し、
前記メモリアクセスコマンドを実行するために、第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを使用するように構成されている、擬似チャネルベースのメモリシステム。
【請求項22】
前記メモリアクセスコマンドは、読み取りメモリアクセスコマンドであり、
前記擬似チャネルベースのメモリシステムは、前記メモリアクセスコマンドを実行するために前記第1の擬似チャネルデータバス及び前記第2の擬似チャネルデータバスを使用することが、前記第1の擬似チャネルデータバス及び前記第2の擬似チャネルデータバスを同時に介して、前記読み取りメモリアクセスコマンドに応じて前記第1の擬似チャネルからデータを出力することを含むように構成されている、請求項21に記載の擬似チャネルベースのメモリシステム。
【請求項23】
前記メモリアクセスコマンドは、書き込みメモリアクセスコマンドであり、
前記擬似チャネルベースのメモリシステムは、前記メモリアクセスコマンドを実行するために前記第1の擬似チャネルデータバス及び前記第2の擬似チャネルデータバスを使用することが、前記第1の擬似チャネルデータバス及び前記第2の擬似チャネルデータバスを同時に介して前記第1の擬似チャネルについての前記書き込みメモリアクセスコマンドのデータを受信することを含むように構成されている、請求項21に記載の擬似チャネルベースのメモリシステム。
【請求項24】
前記メモリアクセスコマンドは、前記メモリアクセスコマンドが低レイテンシタイプメモリアクセスコマンドであることを前記擬似チャネルベースのメモリシステムに指示するように構成されている、請求項21に記載の擬似チャネルベースのメモリシステム。
【請求項25】
前記擬似チャネルベースのメモリシステムは、前記擬似チャネルベースのメモリシステムに、連続メモリアクセスコマンドを低レイテンシタイプメモリアクセスコマンドとして扱わせるように構成されたモードレジスタ書き込みコマンドを受信するように更に構成され、前記第1の擬似チャネルをターゲットとする前記メモリアクセスコマンドは、前記モードレジスタ書き込みコマンドに対する連続メモリアクセスコマンドである、請求項21に記載の擬似チャネルベースのメモリシステム。
【請求項26】
第1の擬似チャネルを含む複数の擬似チャネルを有する擬似チャネルベースのメモリシステムにおけるレイテンシを低減させる方法であって、
前記第1の擬似チャネルをターゲットとするメモリアクセスコマンドを受信することと、
前記メモリアクセスコマンドを実行するために第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを使用することと、を含む、方法。
【請求項27】
前記メモリアクセスコマンドは、読み取りメモリアクセスコマンドであり、
前記メモリアクセスコマンドを実行するために前記第1の擬似チャネルデータバス及び前記第2の擬似チャネルデータバスを使用することは、前記第1の擬似チャネルデータバス及び前記第2の擬似チャネルデータバスを同時に介して、前記読み取りメモリアクセスコマンドに応じて前記第1の擬似チャネルからデータを出力することを含む、請求項26に記載の方法。
【請求項28】
前記メモリアクセスコマンドは、書き込みメモリアクセスコマンドであり、
前記メモリアクセスコマンドを実行するために前記第1の擬似チャネルデータバス及び前記第2の擬似チャネルデータバスを使用することは、前記第1の擬似チャネルデータバス及び前記第2の擬似チャネルデータバスを同時に介して前記第1の擬似チャネルについての前記書き込みメモリアクセスコマンドのデータを受信することを含む、請求項26に記載の方法。
【請求項29】
前記メモリアクセスコマンドは、前記メモリアクセスコマンドが低レイテンシタイプメモリアクセスコマンドであることを前記擬似チャネルベースのメモリシステムに指示するように構成されている、請求項26に記載の方法。
【請求項30】
前記擬似チャネルベースのメモリシステムに、連続メモリアクセスコマンドを低レイテンシタイプメモリアクセスコマンドとして扱わせるように構成されたモードレジスタ書き込みコマンドを受信することを更に含み、前記第1の擬似チャネルをターゲットとする前記メモリアクセスコマンドは、前記モードレジスタ書き込みコマンドに対する連続メモリアクセスコマンドである、請求項26に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、2021年10月28日に出願された米国非仮特許出願第17/452,606号からの優先権の利益を主張する。なお、当該出願の内容全体は、参照により本明細書に組み込まれる。
【背景技術】
【0002】
次世代のダブルデータレートランダムアクセスメモリ(本明細書では「DDR」と呼ばれる)は、高性能、低電力、競争力のあるメモリコスト、様々なパッケージタイプ、並びにモバイル用途及び非モバイル用途に魅力的なマルチソーシング可用性をバランス良く提供することができるので、モバイルデバイスに広く使用されると思われる。しかしながら、提案されたDDRシステム又は既存のDDRシステムは、より大きいレイテンシを示すデータ通信プロトコルを使用する高性能、低レイテンシ、及び低電力方式に基づいており、それによって、これらのシステムの使用及び効率は、車両安全関連システムなどの多くの用途に許容可能な使用及び効率を下回るレベルに制限される。例えば、提案された低電力DDR(「LPDDR」)システムは、前の世代と比較したときに、いくつかの動作点について劣化したレイテンシをもたらす手法を利用し得る。
【発明の概要】
【課題を解決するための手段】
【0003】
開示される様々な態様は、擬似チャネルベースのメモリシステムにおけるレイテンシを低減させるデバイス及び方法を含む。様々な態様は、複数の擬似チャネルのうちの1つを第1の入力/出力(IO)に選択的に通信可能に接続するように構成された第1の擬似チャネル選択デバイスと、複数の擬似チャネルのうちの1つを第2のIOに選択的に通信可能に接続するように構成された第2の擬似チャネル選択デバイスとを含む擬似チャネルベースのメモリシステムを含んでもよく、第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスは、第1の動作モードにおいて複数の擬似チャネルのうちの第1の擬似チャネルを第1のIO及び第2のIOに同時に通信可能に接続するように動作可能である。
【0004】
いくつかの態様では、第1のIOは、第1の擬似チャネルデータバスを含んでもよく、第2のIOは、第2の擬似チャネルデータバスを含んでもよく、擬似チャネルベースのメモリシステムは、第1の擬似チャネルデータバスよりも大きいビット幅を有し、第1の擬似チャネルに通信可能に接続された第1の内部データバスと、第1の擬似チャネルデータバスと同じビット幅を有し、第1の内部データバスの第1の部分と第1の擬似チャネル選択デバイスとの間に通信可能に接続された第2の内部データバスと、第2の擬似チャネルデータバスと同じビット幅を有し、第1の内部データバスの第2の部分と第2の擬似チャネル選択デバイスとの間に通信可能に接続された第3の内部データバスとを更に含んでもよい。
【0005】
いくつかの態様では、第1の内部データバスは、第1の擬似チャネルデータバスの整数倍に等しいビット幅を有してもよい。
【0006】
いくつかの態様は、第1の擬似チャネルデータバスよりも大きいビット幅を有し、複数の擬似チャネルのうちの第2の擬似チャネルに通信可能に接続された第4の内部データバスと、第1の擬似チャネルデータバスと同じビット幅を有し、第4の内部データバスの第1の部分と第1の擬似チャネル選択デバイスとの間に通信可能に接続された第5の内部データバスと、第2の擬似チャネルデータバスと同じビット幅を有し、第4の内部データバスの第2の部分と第2の擬似チャネル選択デバイスとの間に通信可能に接続された第6の内部データバスとを更に含んでもよい。
【0007】
いくつかの態様では、第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスは、擬似チャネルベースのメモリシステムが第1の擬似チャネルをターゲットとする低レイテンシタイプメモリアクセスコマンドを受信したことに応じて、第1の擬似チャネルを第1のIO及び第2のIOに同時に通信可能に接続するように動作可能であってもよい。
【0008】
いくつかの態様は、第1の擬似チャネルをターゲットとする低レイテンシタイプメモリアクセスコマンドを受信し、低レイテンシタイプメモリアクセスコマンドを受信したことに応じて、第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスに、第1の擬似チャネルを第1のIO及び第2のIOに同時に通信可能に接続させるために、少なくとも1つの擬似チャネル選択信号を第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスに送信するように構成されたメモリ制御デバイスを更に含んでもよい。
【0009】
いくつかの態様では、第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスは、擬似チャネルベースのメモリシステムに、連続メモリアクセスコマンドを低レイテンシタイプメモリアクセスコマンドとして扱わせるように構成されたモードレジスタ書き込みコマンドを、擬似チャネルベースのメモリシステムが受信したことに応じて、かつ擬似チャネルベースのメモリシステムが第1の擬似チャネルをターゲットとする連続メモリアクセスコマンドを受信したことに応じて、第1の擬似チャネルを第1のIO及び第2のIOに同時に通信可能に接続するように動作可能であってもよい。
【0010】
いくつかの態様は、モードレジスタ書き込みコマンドを受信し、モードレジスタ書き込みコマンドを受信したことに応じて、メモリ制御デバイスに、連続メモリアクセスコマンドを低レイテンシタイプメモリアクセスコマンドとして扱わせるように構成されたレジスタ値を設定し、第1の擬似チャネルをターゲットとする連続メモリアクセスコマンドを受信し、連続メモリアクセスコマンドを受信したことに応じて、第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスに、第1の擬似チャネルを第1のIO及び第2のIOに同時に通信可能に接続させるために、少なくとも1つの擬似チャネル選択信号を第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスに送信するように構成されたメモリ制御デバイスを更に含んでもよい。
【0011】
いくつかの態様では、第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスは各々、少なくとも1つのマルチプレクサを含んでもよい。
【0012】
いくつかの態様では、第2の動作モードにおいて、第1の擬似チャネル選択デバイスは、第1の擬似チャネルを第1のIOに通信可能に接続するように動作可能であり、第2の擬似チャネル選択デバイスは、複数の擬似チャネルのうちの第2の擬似チャネルを第2のIOに通信可能に接続するように動作可能である。
【0013】
様々な態様は、第1の擬似チャネルを含む複数の擬似チャネルを含む擬似チャネルベースのメモリシステムを含んでもよく、擬似チャネルベースのメモリシステムは、第1の擬似チャネルをターゲットとするメモリアクセスコマンドを受信し、メモリアクセスコマンドを実行するために第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを使用するように構成されている。
【0014】
いくつかの態様では、メモリアクセスコマンドは、読み取りメモリアクセスコマンドであってもよく、擬似チャネルベースのメモリシステムは、メモリアクセスコマンドを実行するために第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを使用することが、第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを同時に介して、読み取りメモリアクセスコマンドに応じて第1の擬似チャネルからデータを出力することを含むように構成されてもよい。
【0015】
いくつかの態様では、メモリアクセスコマンドは書き込みメモリアクセスコマンドであってもよく、擬似チャネルベースのメモリシステムは、メモリアクセスコマンドを実行するために第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを使用することが、第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを同時に介して第1の擬似チャネルについての書き込みメモリアクセスコマンドのデータを受信することを含むように構成されてもよい。
【0016】
いくつかの態様では、メモリアクセスコマンドは、メモリアクセスコマンドが低レイテンシタイプメモリアクセスコマンドであることを擬似チャネルベースのメモリシステムに示すように構成されてもよい。
【0017】
いくつかの態様では、擬似チャネルベースのメモリシステムは、擬似チャネルベースのメモリシステムに、連続メモリアクセスコマンドを低レイテンシタイプメモリアクセスコマンドとして扱わせるように構成されたモードレジスタ書き込みコマンドを受信するように更に構成されてもよく、第1の擬似チャネルをターゲットとするメモリアクセスコマンドは、モードレジスタ書き込みコマンドに対する連続メモリアクセスコマンドであってもよい。
【0018】
更なる態様は、上記で要約されたシステムの動作を実行する方法を含む。
【0019】
本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、様々な実施形態のうちの例示的な実施形態を示し、上記の一般的な説明及び下記の発明を実施するための形態とともに、特許請求の範囲の特徴を説明するのに役立つ。
【図面の簡単な説明】
【0020】
【
図1】様々な実施形態を実装するのに適した例示的なコンピューティングデバイスを示す構成要素ブロック図である。
【
図2】様々な実施形態を実装するのに好適な例示的な擬似チャネルベースのメモリシステムを示す構成要素ブロック図である。
【
図3A】様々な実施形態を実装するのに適した例示的な擬似チャネルベースのメモリシステムを示す構成要素ブロック図である。
【
図3B】様々な実施形態を実装するのに適した例示的な擬似チャネルベースのメモリシステムを示す構成要素ブロック図である。
【
図4A】様々な実施形態を実装するのに適した例示的な擬似チャネルベースのメモリシステムを示す構成要素ブロック図及び機能図である。
【
図4B】様々な実施形態を実装するのに適した例示的な擬似チャネルベースのメモリシステムを示す構成要素ブロック図及び機能図である。
【
図4C】様々な実施形態を実装するのに適した例示的な擬似チャネルベースのメモリシステムを示す構成要素ブロック図及び機能図である。
【
図5】一実施形態による、擬似チャネルベースのメモリシステムにおけるレイテンシを低減させる方法を示すプロセスフロー図である。
【
図6】一実施形態による、擬似チャネルベースのメモリシステムにおけるレイテンシを低減させる方法を示すプロセスフロー図である。
【
図7】一実施形態による、読み取りメモリコマンドのために擬似チャネルベースのメモリシステムにおけるレイテンシを低減させる方法を示すプロセスフロー図である。
【
図8】一実施形態による、書き込みメモリコマンドのために擬似チャネルベースのメモリシステムにおけるレイテンシを低減させる方法を示すプロセスフロー図である。
【
図9】一実施形態による、擬似チャネルベースのメモリシステムにおけるレイテンシを低減させる方法を示すプロセスフロー図である。
【
図10A】一実施形態による、擬似チャネルベースのメモリシステムにおいてレイテンシを低減させる場合及びレイテンシを低減させない場合のメモリアクセスコマンドの例を示すタイミング図である。
【
図10B】一実施形態による、擬似チャネルベースのメモリシステムにおいてレイテンシを低減させる場合及びレイテンシを低減させない場合のメモリアクセスコマンドの例を示すタイミング図である。
【
図11A】一実施形態による、擬似チャネルベースのメモリシステムにおけるレイテンシを低減させる場合及びレイテンシを低減させない場合のメモリアクセスコマンドの例を示すタイミング図である。
【
図11B】一実施形態による、擬似チャネルベースのメモリシステムにおけるレイテンシを低減させる場合及びレイテンシを低減させない場合のメモリアクセスコマンドの例を示すタイミング図である。
【
図12】一実施形態に係る、低レイテンシタイプメモリアクセスコマンドを使用して擬似チャネルベースのメモリシステムにおけるレイテンシを低減させる一例を示すタイミング図である。
【
図13A】一実施形態による、モードレジスタ書き込みを使用して低レイテンシタイプメモリアクセスコマンドを有効にする擬似チャネルベースのメモリシステムにおけるレイテンシを低減させる例を示すタイミング図である。
【
図13B】一実施形態による、モードレジスタ書き込みを使用して低レイテンシタイプメモリアクセスコマンドを有効にする擬似チャネルベースのメモリシステムにおけるレイテンシを低減させる例を示すタイミング図である。
【
図14A】一実施形態による、擬似チャネルベースのメモリシステムにおけるレイテンシを低減させる場合及びレイテンシを低減させない場合のメモリアクセスコマンドの例を示すタイミング図である。
【
図14B】一実施形態による、擬似チャネルベースのメモリシステムにおけるレイテンシを低減させる場合及びレイテンシを低減させない場合のメモリアクセスコマンドの例を示すタイミング図である。
【
図15】様々な実施形態を実装するのに適した例示的なモバイルコンピューティングデバイスを示す構成要素ブロック図である。
【
図16】様々な実施形態を実装するのに適した例示的なモバイルコンピューティングデバイスを示す構成要素ブロック図である。
【
図17】様々な実施形態を実装するのに適した例示的なサーバを示す構成要素ブロック図である。
【発明を実施するための形態】
【0021】
添付の図面を参照しながら、様々な実施形態について詳細に説明する。可能な場合はどこでも、同じか又は同様の部分を指すために、図面全体にわたって同じ参照番号が使用される。特定の例及び実装形態に対してなされる参照は、例示を目的としており、特許請求の範囲を限定するものではない。
【0022】
様々な実施形態は、擬似チャネルベースのメモリシステムにおいてレイテンシを低減させる方法、及びそのような方法を実施するコンピューティングデバイスを含む。擬似チャネル選択デバイスは、擬似チャネルベースのメモリシステムにおいて使用されてもよい。複数の擬似チャネルは、擬似チャネルの専用入力/出力(IO)データバスよりも広い内部データバスを介して擬似チャネル選択デバイスに通信可能に接続されてもよい。擬似チャネル選択デバイスは、擬似チャネルベースのメモリシステムが、複数の擬似チャネルの複数のIOを並列に使用して、擬似チャネルからデータを読み取ること、及び/又は擬似チャネルにデータを書き込むことを可能にするように構成されてもよい。
【0023】
「コンピューティングデバイス」という用語は、パーソナルコンピュータ、デスクトップコンピュータ、オールインワンコンピュータ、ワークステーション、スーパーコンピュータ、メインフレームコンピュータ、埋め込み型コンピュータ(車両及び他のより大きいシステムなど)、コンピュータ化された車両(例えば、乗用車、商用車、レクリエーショナルビークル、軍用車両、ドローンなど、部分的又は完全に自律型の地上、航空、及び/又は水中車両)、サーバ、マルチメディアコンピュータ、及びゲームコンソールを含む固定コンピューティングデバイスを指すことがある。「コンピューティングデバイス」及び「モバイルコンピューティングデバイス」という用語は、セルラー電話、スマートフォン、パーソナル又はモバイルマルチメディアプレーヤ、携帯情報端末(PDA)、ラップトップコンピュータ、タブレットコンピュータ、コンバーチブルラップトップ/タブレット(2-in-1コンピュータ)、スマートブック、ウルトラブック、ネットブロック、パームトップコンピュータ、ワイヤレス電子メール受信機、マルチメディアインターネット対応セルラー電話、モバイルゲームコンソール、ワイヤレスゲームコントローラ、並びに、メモリ及びプログラマブルプロセッサを含む同様のパーソナル電子デバイスのうちのいずれか1つ又はすべてを指すために本明細書において互換的に使用される。
【0024】
説明を容易かつ明瞭にするために、様々な実施形態をコード、例えばプロセッサ実行可能命令に関して説明するが、任意のデータ、例えばコード、プログラムデータ、又はメモリに記憶された他の情報に同様に適用可能である場合がある。「コード」、「データ」、及び「情報」という用語は、本明細書では互換的に使用され、様々な実施形態を説明する際に例として使用されるコード、データ、情報のタイプに請求項及び説明の範囲を制限するように意図されない。
【0025】
次世代のダブルデータレートランダムアクセスメモリ(本明細書では「DDR」と呼ぶ)は、高性能、低電力、競争力のあるメモリコスト、様々なパッケージタイプ、及び/又はモバイル用途並びに非モバイル用途にとって魅力的なマルチソーシング可用性をバランス良く提供することができる。既存のDDRシステムは、複数の擬似チャネルがDDRシステムのチャネルごとに実現される擬似チャネルモードをサポートする。しかしながら、提案されたDDRシステム又は既存のDDRシステムは、高レイテンシを示すことがあるデータ通信プロトコルを使用する高性能、低レイテンシ、及び/又は低電力方式に基づく。このようなレイテンシは、これらのシステムの使用及び効率を、多くの用途に許容可能な使用及び効率を下回るレベルに制限する。
【0026】
提案されたDDRシステム又は既存のDDRシステムは、DDRシステムのチャネルごとに複数の擬似チャネルが実現される擬似チャネルモードをサポートする。各擬似チャネルは、専用バンク及び専用データバスを有し、少なくとも1つの他の擬似チャネルとコマンド及びアドレスバスを共有するか、又は専用コマンド及びアドレスバスを有し得る。擬似チャネルのIOは、IO方式、具体的には、パルス振幅変調(PAM)コーディングを介して書き込み/読み取りごとに複数バイトのデータ(例えば、2バイト)を送るPAM(例えば、PAM4)と、書き込み/読み取りサイクルごとに1バイトのデータを送る非0復帰(NRZ)コーディングとの組合せによって管理され得る。PAMコーディングは、1600MHzより大きいクロック周波数に使用され得、一方、NRZ符号化は、1600MHz以下のクロック周波数に使用され得る。PAMコーディングに基づくIOシグナリングは、PAM送信機がPAMマルチレベル信号を駆動するときにDC電流を消費するので、その動作周波数が低下するにつれてIO電力効率を悪化させる。しかしながら、NRZ送信機は、それほど多くのDC電流を消費せず、NRZ信号インターフェースは、携帯電話などの電力効率に依存するシステムにおける低周波数により適している。その結果、2つの異なるIO方式は、同じデータ伝送を達成するために、書き込み/読み取り動作中に動的バースト長を必要とする。書き込み/読み取りバースト長のこれらの差は、異なるIO方式間のレイテンシの差をもたらす。正味の結果として、NRZコーディングが使用されるとき、あるクロック周波数(例えば、1600MHz)未満では、メモリバンクへのデータの転送又はメモリバンクからのデータの転送により時間がかかるようになり、レイテンシが増大する。このことは、いくつかの用途では許容できない場合がある。
【0027】
本明細書で説明する実施形態は、DDRシステムの複数の擬似チャネルのうちの少なくとも1つの選択された擬似チャネルを、複数の擬似チャネルのうちの少なくとも2つによって共有されるIOデータバスに選択的に通信可能に接続するように構成された1つ又は複数の擬似チャネル選択デバイスを使用することによって、DDRシステムにおける読み取り動作及び/又は書き込み動作についてのレイテンシを低減させて、DDRシステムの前述の問題に対処する。本明細書で説明する実施形態は、DDR、LPDDR、GDDR、WideIOなどの任意のDDRシステムに適用され得る。例えば、1つ又は複数の擬似チャネル選択デバイスの実装形態は、2つ(又はそれより大)のデータバス(例えば、16ビットデータバス)を同時に使用してデータ(例えば、32ビット、64ビットなど)を転送することによってNRZコーディングIO方式が実施されるときに、DDRを低周波数(例えば、≦1600MHz)で動作させるとレイテンシを低減させ得る。別の例として、1つ又は複数の擬似チャネル選択デバイスの実装形態は、DDRを高周波数(例えば、>1600MHz)で動作させ、PAMコーディングIO方式が、2つ(又はそれより大)のデータバス(例えば、16ビットデータバス)を同時に使用してデータ(例えば、32ビット、64ビットなど)を転送することによって実施されるときに、レイテンシを低減させ得る。
【0028】
様々な実施形態は、提案されたDDRシステム又は既存のDDRシステムと比較して、メモリアクセストランザクションのレイテンシを低減させる、DDRシステムにおける擬似チャネルについての適応IO方式を含む。DDRシステムは、DDRチップ上に集積された、多重化能力及び逆多重化能力を伴って構成されたマルチプレクサなど、1つ又は複数の擬似チャネル選択デバイスを含んでもよい。各擬似チャネル選択デバイスは、2つ(又はそれより大)の擬似チャネルがDDRシステムの専用データバスを共有することを可能にし得る。いくつかの例では、より大きい擬似チャネル選択デバイスは、複数のより小さい擬似チャネル選択デバイスを含んでもよい。
【0029】
図3A及び
図4A~
図4Cを参照して以下で詳細に説明する1つの実施形態では、2つ以上の擬似チャネル選択デバイスの各々は、DDRシステムのそれぞれの専用データバス(例えば、16ビットバス)に接続されてもよく、2つ(又はそれより大)の擬似チャネルが専用データバスを共有することを可能にしてもよい。2つ(又はそれより大)の擬似チャネル選択デバイスを提供し、擬似チャネル選択デバイスを2つ(又はそれより大)の擬似チャネルに接続することによって、2つ(又はそれより大)の擬似チャネルは、結合されたデータバス(例えば、32ビットバス)にアクセスし得る。結合データバスは、2つ以上の擬似チャネル選択デバイスに接続された専用データバスを含んでもよく、したがって、個々の専用データバスよりも大きい幅(例えば、2倍)を有してもよい。言い換えれば、結合データバスの幅は、ビット単位では、各メモリバンクに接続された専用データバスの幅の「1」よりも大きい倍数であってもよい。各擬似チャネルは、内部データバスによって2つ(又はそれより大)の擬似チャネル選択デバイスに通信可能に接続されてもよい。擬似チャネルにおける内部データバスのビット幅は、結合データバスと同じ幅であってもよく、各擬似チャネル選択デバイスにおける内部データバスのビット幅は、内部データバスのビット幅の半分以下など、内部データバスのビット幅の何分の一であってもよい。例えば、各内部データバスは、擬似チャネルにおいて32ビットの内部データバスであってもよく、2つ又は(それより大)の擬似チャネル選択デバイスの各々において16ビット以下の内部データバスであってもよい。2つ(又はそれより大)の擬似チャネル選択デバイスは、それぞれの内部データバスを介して、選択された擬似チャネルを結合データバスに選択的に接続してもよい。2つ(又はそれより大)の擬似チャネル選択デバイスは、mn:mマルチプレクサであってもよい。ここで、「m」及び「n」は、専用データバスの幅に等しい整数「m」、及びそれぞれの擬似チャネル選択デバイスに通信可能に接続された擬似チャネルの数に等しい整数「n」など、「1」よりも大きい整数である。例えば、擬似チャネル選択デバイスは16n:16マルチプレクサであってもよい。別の例として、2つの擬似チャネルに対して、擬似チャネル選択デバイスは32:16マルチプレクサであってもよい。
【0030】
図3B及び
図4A~
図4Cを参照しながら以下で詳細に説明する別の実装形態では、擬似チャネル選択デバイスは、DDRシステムの2つ(又はそれより大)の専用データバス(例えば、16ビットバス)に接続され得、2つ(又はそれより大)の擬似チャネルが専用データバスを共有することを可能にし得る。擬似チャネル選択デバイスを提供し、擬似チャネル選択デバイスを2つ(又はそれより大)の擬似チャネルに接続することによって、2つ(又はそれより大)の擬似チャネルは、結合データバス(例えば、32ビットバス)へのアクセスを有し得る。結合データバスは、擬似チャネル選択デバイスに接続された専用データバスを含んでもよく、したがって、個々の専用データバスよりも大きい幅(例えば、2倍)を有してもよい。言い換えれば、結合データバスの幅は、ビット単位では、各メモリバンクに接続された専用データバスの幅の「1」よりも大きい倍数であってもよい。各擬似チャネルは、内部データバスによって擬似チャネル選択デバイスに通信可能に接続されてもよい。内部データバスのビット幅は、結合データバスと同じ幅であってもよい。例えば、各内部データバスは32ビットの内部データバスであってもよい。擬似チャネル選択デバイスは、それぞれの内部データバスを介して、選択された擬似チャネルを結合データバスに選択的に接続してもよい。擬似チャネル選択デバイスは、pn:pマルチプレクサであってもよい。ここで、「p」及び「n」は、結合データバスの幅に等しい整数「p」、及び擬似チャネル選択デバイスに通信可能に接続された擬似チャネルの数に等しい整数「n」など、「1」より大きい整数である。例えば、擬似チャネル選択デバイスは32n:32マルチプレクサであってもよい。別の例として、2つの擬似チャネルに対して、擬似チャネル選択デバイスは64:32マルチプレクサであってもよい。擬似チャネル選択デバイスは、上述の2つ(又はそれより大)の擬似チャネル選択デバイスと同様に構成された複数のより小さい擬似チャネル選択デバイスを更に含んでもよい。
【0031】
DDRシステムは、少なくとも2つの擬似チャネルなど、DDRチップごとに任意の数の擬似チャネルで構成されてもよい。例えば、DDRチップは、2つの擬似チャネル、3つの擬似チャネル、4つの擬似チャネル、6つの擬似チャネル、8つの擬似チャネルなどを含んでもよい。1つ又は複数の擬似チャネル選択デバイスは、DDRチップの擬似チャネルのうちの少なくとも1つを選択するように構成されてもよい。DDRチップは、結合データバスに並列に通信可能に接続された複数の擬似チャネル選択デバイスを含んでもよい。複数の擬似チャネル選択デバイスは、上述したように、より大きい擬似チャネル選択デバイスとして一緒に機能するように構成されてもよく、その結果、結合データバスに選択的に通信可能に接続する擬似チャネルの選択は、複数の擬似チャネル選択デバイスを介して制御されてもよい。
【0032】
メモリアクセストランザクションのために擬似チャネルのうちの少なくとも1つを選択する1つ又は複数の擬似チャネル選択デバイスを使用するDDRシステムは、接続された擬似チャネルごとに結合データバスの幅を使用することを可能にすることによって、特に既存のDDRシステムのNRZコーディングIO方式と比較して、レイテンシを低減させる。より広い幅の結合データバスを介してデータを送信するためのバースト長は、1回の書き込み又は読み取り動作においてNRZを使用して送信されるビット数を2倍(又はそれより大)にすることによって、より狭い幅の専用データバスと比較して短縮される。より広い幅の結合データバス及び短縮されたバースト長の結果として、データ伝送のレイテンシは、従来のDDRシステムと比較して低減される。
【0033】
図1は、様々な実施形態とともに使用するのに適したコンピューティングデバイス100を含むシステムを示す。コンピューティングデバイス100は、中央処理ユニット104と、メモリ106と、通信インターフェース108と、メモリインターフェース110と、周辺デバイスインターフェース120と、処理デバイス124とを有するシステムオンチップ(SoC)102を含んでもよい。コンピューティングデバイス100は、ワイヤード又はワイヤレスモデムなどの通信構成要素112、メモリ114、ワイヤレス通信リンクを確立するためのアンテナ116、及び/又は周辺デバイス122を更に含んでもよい。プロセッサ124は、様々な処理デバイスのいずれか、例えば、いくつかのプロセッサコアを含んでもよい。
【0034】
「システムオンチップ」又は「SoC」という用語は、通常、限定はしないが、処理デバイス、メモリ、及び通信インターフェースを含む相互接続された電子回路のセットを指すために本明細書において使用される。処理デバイスは、中央処理ユニット(CPU)104、並びに/又は汎用プロセッサ、中央処理ユニット(CPU)104、デジタル信号プロセッサ(DSP)、グラフィックス処理ユニット(GPU)、加速処理ユニット(APU)、セキュア処理ユニット(SPU)、知的財産ユニット(IPU)、カメラサブシステム用の画像プロセッサ若しくはディスプレイ用のディスプレイプロセッサなどのコンピューティングデバイスの特定の構成要素のサブシステムプロセッサ、補助プロセッサ、周辺デバイスプロセッサ、シングルコアプロセッサ、マルチコアプロセッサ、コントローラ、及び/若しくはマイクロコントローラを含むプロセッサ124などの、様々な異なるタイプのプロセッサ並びに/又はプロセッサコアを含んでもよい。処理デバイスは、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、他のプログラマブル論理デバイス、個別ゲート論理、トランジスタ論理、性能監視ハードウェア、ウォッチドッグハードウェア、及び/又は時間基準などの、他のハードウェア及びハードウェアの組合せを更に組み入れてもよい。集積回路は、集積回路の構成要素がシリコンなどの単体の半導体材料上に存在するように構成されてもよい。
【0035】
SoC102は、1つ又は複数のCPU104及びプロセッサ124を含んでもよい。コンピューティングデバイス100は、2つ以上のSoC102を含み、それによって、CPU104、プロセッサ124、及びプロセッサコアの数を増やしてもよい。コンピューティングデバイス100はまた、SoC102に関連付けられていないCPU104及びプロセッサ124を含んでもよい。個々のCPU104及びプロセッサ124は、マルチコアプロセッサであってもよい。CPU104及びプロセッサ124は各々、コンピューティングデバイス100の他のCPU104及びプロセッサ124と同じであることも異なっていることもある、特定の目的のために構成されてもよい。同じ構成又は異なる構成のCPU104、プロセッサ124、及びプロセッサコアのうちの1つ又は複数は、一緒にグループ化されてもよい。CPU104、プロセッサ124、又はプロセッサコアのグループは、マルチプロセッサクラスタと呼ばれることがある。
【0036】
SoC102のメモリ106は、SoC102のCPU104、プロセッサ124、又は他の構成要素によるアクセスのためにデータ及びプロセッサ実行可能コードを記憶するように構成された、揮発性又は不揮発性のメモリであってもよい。コンピューティングデバイス100及び/又はSoC102は、様々な目的のために構成された1つ又は複数のメモリ106を含んでもよい。1つ又は複数のメモリ106は、メインメモリ又はキャッシュメモリとして実装される、DDRを含む、ランダムアクセスメモリ(RAM)などの揮発性メモリを含んでもよい。これらのメモリ106は、データセンサ若しくはサブシステムから受信されたデータ、不揮発性メモリから要求され、様々なファクタに基づいて将来のアクセスを予想して不揮発性メモリからメモリ106にロードされるデータ及び/若しくはプロセッサ実行可能コード命令、並びに/又はCPU104及び/若しくはプロセッサ124によって生成され、不揮発性メモリには記憶されずに将来迅速にアクセスできるように一時的に記憶される中間処理データ及び/若しくはプロセッサ実行可能コード命令の限られた量を、一時的に保持するように構成されてもよい。メモリ106は、SoC102のCPU104、プロセッサ124、又は他の構成要素のうちの1つ又は複数によるアクセスのために、別のメモリ106又はメモリ114などの、別のメモリデバイスからメモリ106にロードされるデータ及びプロセッサ実行可能コードを、少なくとも一時的に記憶するように構成されてもよい。いくつかの実施形態では、任意の数及び組合せのメモリ106が、ワンタイムプログラマブル又は読み取り専用メモリを含んでもよい。
【0037】
メモリインターフェース110及びメモリ114は、コンピューティングデバイス100がデータ及びプロセッサ実行可能コードを揮発性及び/又は不揮発性記憶媒体に記憶し、データ及びプロセッサ実行可能コードを揮発性及び/又は不揮発性記憶媒体から検索することを可能にするために同時に作動してもよい。メモリ114は、メモリ114がSoC102のCPU104、プロセッサ124、又は他の構成要素のうちの1つ又は複数によるアクセスのためにデータ又はプロセッサ実行可能コードを記憶してもよい、メインメモリなどのメモリ106の実施形態とほとんど同じように構成されてもよい。いくつかの実施形態では、不揮発性であるメモリ114は、コンピューティングデバイス100の電源が切断された後に情報を保持してもよい。電源が再び投入され、コンピューティングデバイス100が再起動すると、メモリ114上に記憶された情報は、コンピューティングデバイス100に利用可能であってもよい。いくつかの実施形態では、揮発性であるメモリ114は、コンピューティングデバイス100の電源が切断された後に情報を保持しなくてもよい。メモリインターフェース110は、メモリ114へのアクセスを制御し、SoC102のCPU104、プロセッサ124、又は他の構成要素がメモリ114からデータを読み取り、メモリ114にデータを書き込むことを可能にしてもよい。
【0038】
コンピューティングデバイス100及び/又はSoC102の構成要素の一部又は全部は、依然として様々な実施形態の機能を果たしながら、異なるように配置され、かつ/又は組み合わされてもよい。コンピューティングデバイス100は、構成要素の各々のうちの1つに限定されなくてもよく、各構成要素の複数のインスタンスが、コンピューティングデバイス100の様々な構成の中に含まれてもよい。
【0039】
図2は、様々な実施形態を実装するのに適した例示的な擬似チャネルベースのメモリシステム(例えば、
図1のメモリ106、メモリ114)を示す。
図1及び
図2を参照すると、例示的な擬似チャネルベースのメモリシステムは、任意の数のDDRチップ200を含んでもよい。各DDRチップ200は、任意の数のバンク224a、224bを含んでもよい。例えば、DDRチップ200は、32個のバンクを含んでもよい。バンク224a、224bは、任意の数及び組み合わせで配置されて、任意の数のバンクグループ222a、222bを形成し得る。例えば、DDRチップ200は、16個のバンクグループ222a、222bを含んでもよく、各バンクグループ222a、222bは、2個のバンク224a、224bを含んでもよい。バンクグループ222aは、2つのバンク224aを含み、バンクグループ222bは、2つのバンク224bを含む。バンク224a、224b及びバンクグループ222a、222bは、少なくとも2つの擬似チャネル220a、220bを形成するために、任意の数及び組み合わせで配置されてもよい。言い換えれば、各擬似チャネル220a、220bは、1つ又は複数のバンクグループ222a、222bを含んでもよく、各バンクグループ222a、222bは、1つ又は複数のバンク224a、224bを含んでもよい。擬似チャネル220a、220bの異なるバンクグループ222a、222bは、同じ数のバンク224a、224bを含んでもよく、又は異なる数のバンク224a、224bを含んでもよい。異なる擬似チャネル220a、220bは、同じ数のバンクグループ222a、222bを含んでもよく、又は異なる数のバンクグループ222a、222bを含んでもよい。例えば、DDRチップ200は、2つの擬似チャネル220a、220bを含んでもよく、各擬似チャネル220a、220bは、8つのバンクグループ222a、222bを含んでもよく、各バンクグループ222a、222bは、2つのバンク224a、224bを含んでもよい。より具体的には、擬似チャネル220aは8つのバンクグループ222aを含んでもよく、各バンクグループ222aは2つのバンク224aを含んでもよく、擬似チャネル220bは8つのバンクグループ222bを含んでもよく、各バンクグループ222bは2つのバンク224bを含んでもよい。
【0040】
バンク224a、224bを含む擬似チャネル220a、220bは、内部バス230を介して擬似チャネルIO202a、202b及び共有IO210に通信可能に接続することができる。例えば、各擬似チャネル220a、220bは、擬似チャネルIO202a、202bのうちの専用チャネルに通信可能に接続されてもよく、少なくとも2つの擬似チャネル220a、220bは、共有IO210に通信可能に接続されてもよい。したがって、DDRチップ200は、同じ数の擬似チャネル220a、220b及び擬似チャネルIO202a、202bを含んでもよい。
【0041】
各擬似チャネルIO202a、202bは、それぞれデータバス204a、204bを含んでもよい。各擬似チャネルIO202a、202bは、DDRチップ200がホスト(例えば、
図1のCPU104、プロセッサ124)からデータを受信し、通信可能に接続されたデータバス204a、204bを介して擬似チャネル220a、220bにデータを送信することを可能にするように構成されてもよい。更に、各擬似チャネルIO202a、202bは、DDRチップ200が擬似チャネル220a、220bからデータを受信し、通信可能に接続されたデータバス204a、204bを介してホストにデータを送信することを可能にするように構成されてもよい。データバス204a、204bは、通信可能に接続された擬似チャネルIO202a、202b専用のデータバス204a、204bよりも大きいデータバスの一部であってもよい。各擬似チャネルIO202a、202bは、擬似チャネルIO202a、202bに通信可能に接続された擬似チャネル220a、220bの動作のための信号を提供するように構成された書き込みクロック206a、206b及び読み取りストローブ208a、208bを更に含んでもよい。
【0042】
各共有IO210は、コマンドアドレス(CA)バス214を含んでもよい。CAバス214は、DDRチップ200が、共有IO210に通信可能に接続された擬似チャネル220a、220b内の指定されたアドレスにおいて、読み取り及び/又は書き込みなどのメモリアクセスコマンドを実行することを可能にするように構成されてもよい。各共有IO210は、共有IO210に通信可能に接続された擬似チャネル220a、220bの動作のための信号を提供するように構成されたクロック212、チップ選択216、及びリセット218を更に含んでもよい。
【0043】
従来、各擬似チャネル220a、220bは、擬似チャネルIO202a、202bのそれぞれの専用チャネルのみに通信可能に接続されてもよく、他の擬似チャネルIO202a、202bには通信可能に接続されなくてもよい。例えば、擬似チャネル220aは、擬似チャネルIO202aのみに通信可能に接続されてもよく、擬似チャネル220bは、擬似チャネルIO202bのみに通信可能に接続されてもよい。特に、擬似チャネル220aは、擬似チャネルIO202aのデータバス204aのみに通信可能に接続されてもよく、擬似チャネル220bは、擬似チャネルIO202bのデータバス204bのみに通信可能に接続されてもよい。本明細書で提供される実施形態では、各擬似チャネル220a、220bは、複数の擬似チャネルIO202a、202bに通信可能に接続されてもよい。例えば、擬似チャネル220aは、擬似チャネルIO202a、202bに通信可能に接続されてもよく、擬似チャネル220bは、擬似チャネルIO202a、202bに通信可能に接続されてもよい。特に、擬似チャネル220aは、擬似チャネルIO202aのデータバス204a及び擬似チャネルIO202bのデータバス204bに通信可能に接続されてもよく、擬似チャネル220bは、擬似チャネルIO202aのデータバス204a及び擬似チャネルIO202bのデータバス204bに接続されてもよい。このように擬似チャネル220a、220bを複数のデータバス204a、204bに通信可能に接続すると、擬似チャネル220a、220bには、従来のように擬似チャネル220a、220bをデータバス204a、204bのうちの専用データバスのみに接続する場合よりも大きいデータバスのより大きい部分へのアクセスが提供され得る。例えば、擬似チャネル220a、220bを複数のデータバス204a、204bに接続すると、擬似チャネル220a、220bには、組み合わされたデータバス204a、204bのサイズのより大きいデータバスの一部へのアクセスが提供され得る。従来のように擬似チャネル220a、220bをデータバス204a、204bのうちの専用データバスのみに接続すると、擬似チャネル220a、220bには、個々のデータバス204a、204bのサイズのより大きいデータバスの一部へのアクセスが提供される。
【0044】
図3A及び
図3Bは、様々な実施形態を実装するのに適した例示的な擬似チャネルベースのメモリシステム(例えば、
図1のメモリ106、メモリ114)を示す。
図1~
図3Bを参照すると、例示的な擬似チャネルベースのメモリシステムは、任意の数のDDRチップ300a、300b(例えば、
図2のDDRチップ200)を含んでもよい。DDRチップ300a、300bは、任意の数及び組み合わせのバンク224a、224b、バンクグループ222a、222b、及び擬似チャネル220a、220bを含んでもよい。説明を容易にし、明確にするために、本明細書で提示される例は、2つの擬似チャネルに基づく。しかしながら、そのような例は、特許請求の範囲又は説明の範囲を限定することを意味せず、本明細書で提示される例は、2つの擬似チャネル、3つの擬似チャネル、4つの擬似チャネル、6つの擬似チャネル、8つの擬似チャネル、「x」が「0」よりも大きい整数である2
x個の擬似チャネルなどを含むDDRチップに同様に適用されてもよい。
【0045】
DDRチップ300a、300bは、各擬似チャネル220a、220bに関連付けられたプリフェッチメモリ302a、302bを更に含んでもよい。プリフェッチメモリ302a、302bは、関連付けられた擬似チャネル220a、220bのバンク224a、224bから検索されたデータを保持するように構成されてもよい。プリフェッチメモリ302a、302bは、一般に、バンク224a、224bに比べて容量がより小さくてもよい。いくつかの例では、プリフェッチメモリ302a、302bは、本明細書で更に説明する内部データバス306a、306bのビット幅に等しい容量を有してもよい。例えば、プリフェッチメモリ302a、302bは、256ビットの結合容量を有するレジスタのアレイであってもよい。
【0046】
図3Aに示す例では、DDRチップ300aは、擬似チャネル選択デバイス304a、304bを更に含んでもよい。例えば、擬似チャネル選択デバイス304a、304bは、任意の数及び組み合わせのマルチプレクサであってもよい。各擬似チャネル選択デバイス304a、304bは、擬似チャネルデータバス312a、312b(例えば、
図2のデータバス204a、204b)に通信可能に接続されてもよい。各擬似チャネル選択デバイス304a、304bは、少なくとも2つの擬似チャネル220a、220bに通信可能に接続されてもよい。擬似チャネル選択デバイス304a、304bは、内部データバス306a、306b、308a、308b、308c、308dを介して擬似チャネル220a、220bに通信可能に接続されてもよい。例えば、内部データバス306a及び308aは、擬似チャネル選択デバイス304aと擬似チャネル220aとを通信可能に接続してもよく、内部データバス306a及び308bは、擬似チャネル選択デバイス304bと擬似チャネル220aとを通信可能に接続してもよい。更に、内部データバス306b及び308cは、擬似チャネル選択デバイス304aと擬似チャネル220bとを通信可能に接続してもよく、内部データバス306b及び308dは、擬似チャネル選択デバイス304bと擬似チャネル220bとを通信可能に接続してもよい。擬似チャネル選択デバイス304a、304bは、本明細書で更に説明するように、内部データバス306a、306b、308a、308b、308c、308dを介して複数の擬似チャネルデータバス312a、312bに擬似チャネル220a、220bを通信可能に接続するように構成されてもよい。内部データバス306a、306bは、内部データバス306a、306bが通信可能に接続され得る少なくとも2つの擬似チャネルデータバス312a、312bと同じビット幅を有するようにサイズを決定されてもよい。例えば、内部データバス306a、306bはそれぞれ32ビット幅を有してもよく、擬似チャネルデータバス312a、312bはそれぞれ16ビット幅を有してもよい。内部データバス308a、308b、308c、308dは、内部データバス308a、308b、308c、308dが通信可能に接続され得る擬似チャネルデータバス312a、312bと同じビット幅を有するようにサイズを決定されてもよい。例えば、内部データバス308a、308b、308c、308dはそれぞれ16ビット幅を有してもよく、擬似チャネルデータバス312a、312bは各々、16ビット幅を有してもよい。
【0047】
別の例として、専用内部データバス(図示せず)は、擬似チャネル220a、220bをそれぞれの擬似チャネル選択デバイス304a、304bと通信可能に接続してもよい。専用内部データバスは、専用内部データバスが通信可能に接続され得る擬似チャネルデータバス312a、312bと同じビット幅を有するようにサイズを決定されてもよい。例えば、専用内部データバスはそれぞれ16ビット幅を有してもよく、擬似チャネルデータバス312a、312bは各々、16ビット幅を有してもよい。プリフェッチメモリ302a、302bは、それぞれの専用内部データバスの組み合わせビット幅に等しい容量を有してもよく、又は専用内部データバスごとに別々のプリフェッチメモリが設けられてもよい。
【0048】
DDRチップ300aは、擬似チャネル選択信号線318a、318bを介して、CAバス314(例えば、
図2のCAバス214)及び擬似チャネル選択デバイス304a、304bに通信可能に接続され得る擬似チャネルコントローラ316を含んでもよい。擬似チャネルコントローラ316は、CAバス314を介してメモリアクセスコマンドを受信するように構成されてもよい。擬似チャネルコントローラ316は、メモリアクセスコマンドを解釈して、擬似チャネル選択信号線318a、318bを介して擬似チャネル選択デバイス304a、304bに擬似チャネル選択信号を提供するかどうかを判定する(擬似チャネル選択信号をアサート又はデアサートすることによって判定することを含む)ように構成されてもよい。擬似チャネルコントローラ316は、メモリアクセスが低レイテンシタイプメモリアクセスであることを示すように構成されたメモリアクセスコマンドを受信してもよい。例えば、メモリアクセスコマンドは、低レイテンシタイプメモリアクセスの、フィールド内の値などの指示を含んでもよい。別の例として、モードレジスタ書き込みが、メモリアクセスコマンドに先行してもよく、モードレジスタ書き込みは、任意の後続のメモリアクセスコマンドが低レイテンシタイプメモリアクセスとして実施されるべきであることを擬似チャネルコントローラ316に指示するためにレジスタ値を設定するように構成されてもよい。擬似チャネルコントローラ316はまた、低レイテンシタイプメモリアクセスのターゲットとなる擬似チャネル220a、220bを決定し、擬似チャネル選択デバイス304a、304bに擬似チャネル選択信号を発行してもよい。擬似チャネル選択信号は、メモリアクセスのターゲットとなる擬似チャネル220a、220bを内部データバス306a、306b、308a、308b、308c、308dを介して擬似チャネルデータバス312a、312bに通信可能に接続するように構成するように、擬似チャネル選択デバイス304a、304bに促し得る。いくつかの例では、擬似チャネル選択デバイス304a、304bへの擬似チャネル選択信号は、同じ擬似チャネル選択信号であってもよい。いくつかの例では、擬似チャネル選択デバイス304a、304bへの擬似チャネル選択信号は、それぞれに異なる擬似チャネル選択信号であってもよい。前述の例のいずれかにおいて、DDRチップ300a、並びに/又は擬似チャネル選択デバイス304a、304b及び擬似チャネルコントローラ316を含むDDRチップ300aの構成要素は、メモリアクセスコマンドが、メモリアクセスが低レイテンシタイプメモリアクセスであることを示すように構成されているか、又はメモリアクセスコマンドがモードレジスタ書き込みの後に続くかにかかわらず、低レイテンシタイプメモリアクセスを実施する第1の動作モードで動作し得る。
【0049】
同様に、擬似チャネルコントローラ316は、メモリアクセスが標準タイプメモリアクセス又は非低レイテンシタイプメモリアクセスであることを示すように構成されたメモリアクセスコマンドを受信してもよい。例えば、メモリアクセスコマンドは、標準タイプメモリアクセス又は非低レイテンシタイプメモリアクセスの、フィールド内の値などの指示を含んでもよい。別の例として、メモリアクセスコマンドは、任意の後続のメモリアクセスコマンドが低レイテンシタイプメモリアクセスとして実施されるべきであることを擬似チャネルコントローラ316に指示するためにレジスタ値を設定するように構成されたモードレジスタ書き込みの後に続かなくてもよい。更に、メモリアクセスコマンドは、任意の後続のメモリアクセスコマンドが標準タイプメモリアクセス又は非低レイテンシタイプメモリアクセスとして実施されるべきであることを擬似チャネルコントローラ316に指示するためにレジスタ値を設定するように構成されたモードレジスタ書き込みの後に続いてもよい。
【0050】
擬似チャネルコントローラ316はまた、標準タイプメモリアクセス又は非低レイテンシタイプメモリアクセスがターゲットとされる擬似チャネル220a、220bを決定し、擬似チャネル選択信号を擬似チャネル選択デバイス304a、304bに発行してもよい。擬似チャネル選択信号は、メモリアクセスのターゲットとなる擬似チャネル220a、220bを内部データバス306a、306b、308a、308b、308c、308dを介してそれぞれの擬似チャネルデータバス312a、312bに通信可能に接続するように構成するように、擬似チャネル選択デバイス304a、304bに促し得る。いくつかの実施形態では、擬似チャネル選択デバイス304a、304bへの擬似チャネル選択信号は、同じ擬似チャネル選択信号であってもよい。いくつかの実施形態において、擬似チャネル選択デバイス304a、304bへの擬似チャネル選択信号は、それぞれに異なる擬似チャネル選択信号であってもよい。これらの実施形態のいずれかにおいて、DDRチップ300a、並びに/又は擬似チャネル選択デバイス304a、304b及び擬似チャネルコントローラ316を含むDDRチップ300aの構成要素は、メモリアクセスコマンドが、メモリアクセスが標準タイプメモリアクセス又は非低レイテンシタイプメモリアクセスであることを示すように構成されているかどうかにかかわらず、メモリアクセスコマンドが、任意の後続のメモリアクセスを低レイテンシタイプメモリアクセスとして実施させるモードレジスタ書き込みの後に続かない場合、又はメモリアクセスコマンドが、任意の後続のメモリアクセスを標準タイプメモリアクセス又は非低レイテンシタイプメモリアクセスとして実施させるモードレジスタ書き込みの後に続く場合、標準タイプメモリアクセス又は非低レイテンシタイプメモリアクセスを実施する第2の動作モードで動作してもよい。
【0051】
図3Bに示す例では、DDRチップ300bは、擬似チャネル選択デバイス320を更に含んでもよく、擬似チャネル選択デバイス320は、
図3Aを参照しながら本明細書で説明したようないくつかの擬似チャネル選択デバイス304a、304b及びそれらの組合せを含んでもよい。擬似チャネル選択デバイス320は、擬似チャネルデータバス312a、312b(例えば、
図2のデータバス204a、204b)に通信可能に接続されてもよい。擬似チャネル選択デバイス320はまた、少なくとも2つの擬似チャネル220a、220bに通信可能に接続されてもよい。擬似チャネル選択デバイス320は、内部データバス306a、306bを介して擬似チャネル220a、220bに通信可能に接続されてもよい。擬似チャネル選択デバイス320は、内部データバス306a、306b、308a、308b、308c、308dを通信可能に接続してもよく、擬似チャネル選択デバイス304a、304bは、
図3Aを参照して本明細書で説明したように、内部データバス306a、306b、308a、308b、308c、308dを介して擬似チャネル220a、220bに通信可能に接続されてもよい。別の例として、擬似チャネル選択デバイス320は、
図3Aを参照して本明細書で説明したように、専用内部データバス(図示せず)を介して擬似チャネル220a、220b及び擬似チャネル選択デバイス304a、304bに通信可能に接続されてもよい。
【0052】
DDRチップ300bは、
図3Aを参照して本明細書で説明したようなCAバス314(例えば、
図2のCAバス214)に通信可能に接続され得、かつ擬似チャネル選択信号線(単数又は複数)318cを介して擬似チャネル選択デバイス320に通信可能に接続され得る擬似チャネルコントローラ316を含んでもよい。擬似チャネルコントローラ316は、擬似チャネル選択デバイス320を介して擬似チャネル選択デバイス304a、304bに通信可能に接続されてもよい。擬似チャネルコントローラ316は、CAバス314を介してメモリアクセスコマンドを受信するように構成されてもよい。擬似チャネルコントローラ316は、メモリアクセスコマンドを解釈して、擬似チャネル選択信号線318cを介して擬似チャネル選択デバイス320、304a、304bに擬似チャネル選択信号を提供するかどうかを判定する(擬似チャネル選択信号をアサート又はデアサートすることによって決定することを含む)ように構成されてもよい。擬似チャネルコントローラ316は、メモリアクセスが低レイテンシタイプメモリアクセスであることを示すように構成されたメモリアクセスコマンドを受信し、
図3Aを参照して本明細書で説明したように、低レイテンシタイプメモリアクセスがターゲットとされる擬似チャネル220a、220bを決定してもよい。擬似チャネルコントローラ316は、擬似チャネル選択信号を擬似チャネル選択デバイス320に発行してもよく、擬似チャネル選択デバイス320は、擬似チャネル選択信号を擬似チャネル選択デバイス304a、304bに送信してもよい。いくつかの実施形態では、擬似チャネル選択デバイス320は、擬似チャネル選択信号を擬似チャネル選択デバイス304a、304bのうちの1つ又は複数に転送してもよい。擬似チャネル選択信号は、
図3Aを参照して本明細書で説明したように、メモリアクセスのターゲットとなる擬似チャネル220a、220bを内部データバス306a、306b、308a、308b、308c、308dを介して擬似チャネルデータバス312a、312bに通信可能に接続するように構成するように、擬似チャネル選択デバイス304a、304bに促し得る。前述の例のいずれかにおいて、メモリアクセスコマンドが、メモリアクセスが低レイテンシタイプメモリアクセスであることを示すように構成されているか、又はメモリアクセスコマンドがモードレジスタ書き込みの後に続くかにかかわらず、DDRチップ300b及び/又は擬似チャネル選択デバイス304a、304b、320及び擬似チャネルコントローラ316を含むDDRチップ300bの構成要素は、低レイテンシタイプメモリアクセスを実施する第1の動作モードで動作してもよい。
【0053】
同様に、擬似チャネルコントローラ316は、
図3Aを参照して本明細書で説明したように、メモリアクセスが標準タイプメモリアクセス又は非低レイテンシタイプメモリアクセスであることを示すように構成されたメモリアクセスコマンドを受信し、標準タイプメモリアクセス又は非低レイテンシタイプメモリアクセスがターゲットとされる擬似チャネル220a、220bを決定してもよい。擬似チャネルコントローラ316は、擬似チャネル選択信号を擬似チャネル選択デバイス320に発行してもよく、擬似チャネル選択デバイス320は、擬似チャネル選択信号を擬似チャネル選択デバイス304a、304bに送信してもよい。いくつかの実施形態では、擬似チャネル選択デバイス320は、擬似チャネル選択信号を擬似チャネル選択デバイス304a、304bのうちの1つ又は複数に転送してもよい。擬似チャネル選択信号は、
図3Aを参照して本明細書で説明したように、メモリアクセスのターゲットとなる擬似チャネル220a、220bを内部データバス306a、306b、308a、308b、308c、308dを介してそれぞれの擬似チャネルデータバス312a、312bに通信可能に接続するように構成するように、擬似チャネル選択デバイス304a、304bに促し得る。DDRチップ300b、及び/又は擬似チャネル選択デバイス304a、304b、320及び擬似チャネルコントローラ316を含むDDRチップ300bの構成要素は、メモリアクセスコマンドが、メモリアクセスが標準タイプメモリアクセス又は非低レイテンシタイプメモリアクセスであることを示すように構成されているかどうかにかかわらず、メモリアクセスコマンドが、任意の後続のメモリアクセスを低レイテンシタイプメモリアクセスとして実施させるためのモードレジスタ書き込みの後に続かない場合、又はメモリアクセスコマンドが、任意の後続のメモリアクセスを標準タイプメモリアクセス又は非低レイテンシタイプメモリアクセスとして実施させるモードレジスタ書き込みの後に続く場合、標準タイプメモリアクセス又は非低レイテンシタイプメモリアクセスを実施する第2の動作モードで動作してもよい。
【0054】
本明細書で提供される例では、構成要素の数、サイズ、及び/又は容量などの特定の値は、特許請求の範囲及び説明の範囲を限定することを意味しない。本明細書で提示される例は、本明細書で提供される例示的な数、サイズ、及び/若しくは容量よりも大きい並びに/又は小さい構成要素の数、サイズ、及び/若しくは容量を同様に適用してもよい。例えば、プリフェッチメモリ302a、302bは、256ビットより大きいか又は小さい2
Xビットの容量を有してもよい。別の例として、内部データバス306a、306bは、32ビットよりも大きいか又は小さい2
Xビット幅を有してもよい。別の例として、擬似チャネルデータバス312a、312bは、16ビットよりも大きいか又は小さい2
Xビット幅を有してもよい。別の例として、内部データバス308a、308b、308c、308dは、16ビットよりも大きいか又は小さい2
Xビット幅を有してもよい。前述の例では、「X」は「0」よりも大きい整数である。本明細書で指摘されるように、DDRチップ300a、300bは、2つよりも多くの擬似チャネル220a、220bを含んでもよい。したがって、DDRチップ300a、300bは、本明細書で提供される実施形態を実装するために、適切な数の擬似チャネル選択デバイス304a、304b、320、内部データバス306a、306b、308a、308b、308c、308d、及び擬似チャネル選択信号線318a、318b、318cを含んでもよい。例えば、DDRチップ300a、300bは、
図3に示す例のように、擬似チャネル220a、220b、擬似チャネル選択デバイス304a、304b、320、内部データバス306a、306b、308a、308b、308c、308d、及び擬似チャネル選択信号線318a、318b、318cの1つ又は複数の複製を含んでもよい。別の例として、DDRチップ300a、300bは、
図3A及び
図3Bに示す例を拡張する追加の擬似チャネル、擬似チャネル選択デバイス、内部データバス、及び擬似チャネル選択信号線を含んでもよい。例えば、1つ又は複数の追加の擬似チャネルは、追加の内部データバスを介して、擬似チャネル選択デバイス304a、304b、320のうちの1つ又は複数及び少なくとも1つの追加の擬似チャネル選択デバイスに通信可能に接続されてもよく、追加の擬似チャネル選択信号線は、任意の追加の擬似チャネル選択デバイスに通信可能に接続されてもよい。
【0055】
図4A~
図4Cは、様々な実施形態を実装するのに適した擬似チャネルベースのメモリシステム(例えば、
図1のメモリ106、メモリ114)の例示的な機能を示す。
図1~
図4Cを参照すると、例示的な擬似チャネルベースのメモリシステムは、DDRチップ300a(例えば、
図2のDDRチップ200)を含んでもよく、DDRチップ300aは、擬似チャネル220a、220b、バンク224a、224b、バンクグループ222a、222b、プリフェッチメモリ302a、302b、擬似チャネル選択デバイス304a、304b、内部データバス306a、306b、308a、308b、308c、308d、擬似チャネルコントローラ316、及び擬似チャネル選択信号線318a、318bを含む。DDRチップ300aはまた、擬似チャネルデータバス312a、312b、及びCAバス314を含んでもよい。
【0056】
図4A及び
図4Bに示す例は、DDRチップ300a、並びに/又は低レイテンシタイプメモリアクセスを実施する第1の動作モードで動作する擬似チャネル選択デバイス304a、304b及び擬似チャネルコントローラ316を含むDDRチップ300aの構成要素の例であり得る。
図4Aを参照すると、擬似チャネルコントローラ316は、擬似チャネル220aをターゲットとする低レイテンシタイプメモリアクセスを決定してもよい。擬似チャネルコントローラ316は、擬似チャネル選択デバイス304aに、擬似チャネル220aを擬似チャネルデータバス312aに通信可能に接続させるように構成された擬似チャネル選択信号を、擬似チャネル選択デバイス304aに送ってもよい。これに応じて、擬似チャネル選択デバイス304aは、内部データバス306a、308aを介して擬似チャネル220aを擬似チャネルデータバス312aに通信可能に接続してもよい。擬似チャネル220aをターゲットとする同じ低レイテンシタイプメモリアクセスの場合、擬似チャネルコントローラ316は、擬似チャネル選択デバイス304bに、擬似チャネル220aを擬似チャネルデータバス312bに通信可能に接続させるように構成された擬似チャネル選択信号を、擬似チャネル選択デバイス304bに送ってもよい。これに応じて、擬似チャネル選択デバイス304bは、内部データバス306a、308bを介して擬似チャネル220aを擬似チャネルデータバス312bに通信可能に接続してもよい。擬似チャネル220aを擬似チャネルデータバス312a、312bに通信可能に接続することは、擬似チャネル選択デバイス304a、304bによって擬似チャネル220bを擬似チャネルデータバス312a、312bから通信可能に切断することを含んでもよい(破線の内部データバス306b、308c、308dを用いて示されている)。
【0057】
低レイテンシタイプ読み取りメモリアクセスの場合、データは、擬似チャネル220aに関連付けられたプリフェッチメモリ302aから読み出されてもよく、内部データバス306a、308a、308b及び擬似チャネル選択デバイス304a、304bを介して擬似チャネルデータバス312a、312bに提供されてもよい。低レイテンシタイプ書き込みメモリアクセスの場合、データは、擬似チャネル220aに関連付けられたバンク224aに書き込まれてもよく、内部データバス306a、308a、308b及び擬似チャネル選択デバイス304a、304bを介して擬似チャネルデータバス312a、312bから提供される。
【0058】
上述したように、代替的な実装形態では、擬似チャネル選択デバイス304aは、専用内部データバス(図示せず)を介して擬似チャネル220aを擬似チャネルデータバス312aに通信可能に接続してもよい。同様に、擬似チャネル選択デバイス304bは、専用内部データバス(図示せず)を介して擬似チャネル220aを擬似チャネルデータバス312bに通信可能に接続してもよい。
【0059】
図4Bを参照すると、擬似チャネルコントローラ316は、擬似チャネル220bをターゲットとする低レイテンシタイプメモリアクセスを決定してもよい。擬似チャネルコントローラ316は、擬似チャネル選択デバイス304aに、擬似チャネル220bを擬似チャネルデータバス312aに通信可能に接続させるように構成された擬似チャネル選択信号を、擬似チャネル選択デバイス304aに送ってもよい。これに応じて、擬似チャネル選択デバイス304aは、内部データバス306b、308cを介して擬似チャネル220bを擬似チャネルデータバス312aに通信可能に接続してもよい。擬似チャネル220bを対象とする同じ低レイテンシタイプメモリアクセスの場合、擬似チャネルコントローラ316は、擬似チャネル選択デバイス304bに、擬似チャネル220bを擬似チャネルデータバス312bに通信可能に接続させるように構成された擬似チャネル選択信号を、擬似チャネル選択デバイス304bに送ってもよい。これに応じて、擬似チャネル選択デバイス304bは、内部データバス306b、308dを介して擬似チャネル220bを擬似チャネルデータバス312bに通信可能に接続してもよい。擬似チャネル220bを擬似チャネルデータバス312a、312bに通信可能に接続することは、擬似チャネル選択デバイス304a、304bによって擬似チャネル220aを擬似チャネルデータバス312a、312bから通信可能に切断すること(破線の内部データバス306a、308a、308bを用いて示されている)を含んでもよい。
【0060】
低レイテンシタイプ読み取りメモリアクセスの場合、データは、擬似チャネル220bに関連付けられたプリフェッチメモリ302bから読み出されてもよく、内部データバス306b、308c、308d及び擬似チャネル選択デバイス304a、304bを介して擬似チャネルデータバス312a、312bに提供されてもよい。低レイテンシタイプ書き込みメモリアクセスの場合、データは、擬似チャネル220bに関連付けられたバンク224bに書き込まれてもよく、内部データバス306b、308c、308d及び擬似チャネル選択デバイス304a、304bを介して擬似チャネルデータバス312a、312bから提供されてもよい。
【0061】
上述したように、代替的な実装形態では、擬似チャネル選択デバイス304aは、専用内部データバス(図示せず)を介して擬似チャネル220bを擬似チャネルデータバス312aに通信可能に接続してもよい。同様に、擬似チャネル選択デバイス304bは、専用内部データバス(図示せず)を介して擬似チャネル220bを擬似チャネルデータバス312bに通信可能に接続してもよい。
【0062】
図4Cに示す例は、DDRチップ300a、及び/又は擬似チャネル選択デバイス304a、304b及び擬似チャネルコントローラ316を含むDDRチップ300aの構成要素の例であり、DDRチップ300a及び/又はその構成要素は、標準タイプメモリアクセス又は非低レイテンシタイプメモリアクセスを実施する第2の動作モードで動作する。
図4Cを参照すると、擬似チャネルコントローラ316は、擬似チャネル220a、220bのいずれかをターゲットとする標準タイプメモリアクセス又は非低レイテンシタイプメモリアクセスを決定してもよい。擬似チャネルコントローラ316は、擬似チャネル選択デバイス304aに、擬似チャネル220aを擬似チャネルデータバス312aに通信可能に接続させるように構成された擬似チャネル選択信号を、擬似チャネル選択デバイス304aに送ってもよい。これに応じて、擬似チャネル選択デバイス304aは、内部データバス306a、308aを介して擬似チャネル220aを擬似チャネルデータバス312aに通信可能に接続してもよい。擬似チャネル220aを擬似チャネルデータバス312aに通信可能に接続することは、擬似チャネル選択デバイス304aによって擬似チャネル220bを擬似チャネルデータバス312aから通信可能に切断すること(破線の内部データバス308cを用いて示されている)を含んでもよい。擬似チャネル220a、220bのいずれかをターゲットとする同じ標準タイプメモリアクセス又は非低レイテンシタイプメモリアクセスの場合、擬似チャネルコントローラ316は、擬似チャネル選択デバイス304bに、擬似チャネル220bを擬似チャネルデータバス312bに通信可能に接続させるように構成された擬似チャネル選択信号を、擬似チャネル選択デバイス304bに送ってもよい。これに応じて、擬似チャネル選択デバイス304bは、内部データバス306b、308dを介して擬似チャネル220bを擬似チャネルデータバス312bに通信可能に接続してもよい。擬似チャネル220bを擬似チャネルデータバス312bに通信可能に接続することは、擬似チャネル選択デバイス304bによって擬似チャネル220aを擬似チャネルデータバス312bから通信可能に切断すること(破線の内部データバス308bを用いて示されている)を含んでもよい。
【0063】
標準タイプメモリアクセス又は非低レイテンシタイプの読み取りメモリアクセスの場合、データは、ターゲットとされた擬似チャネル220a、220bに関連付けられたプリフェッチメモリ302a、302bから読み出されてもよく、ターゲットとされた擬似チャネル220a、220bに通信可能に接続された擬似チャネルデータバス312a、312bに適切な内部データバス306a、306b、308a、308d及び適切な擬似チャネル選択デバイス304a、304bを介して提供されてもよい。標準タイプ書き込みメモリアクセス又は非低レイテンシタイプ書き込みメモリアクセスの場合、データは、ターゲットとされた擬似チャネル220a、220bに関連付けられたバンク224a、224bに書き込まれてもよく、ターゲットとされた擬似チャネル220a、220bに通信可能に接続された擬似チャネルデータバス312a、312bから適切な内部データバス306a、306b、308a、308d及び適切な擬似チャネル選択デバイス304a、304bを介して提供されてもよい。
【0064】
代替実装形態では、擬似チャネル選択デバイス304aは、専用内部データバス(図示せず)を介して擬似チャネル220aを擬似チャネルデータバス312aに通信可能に接続してもよい。同様に、擬似チャネル選択デバイス304bは、専用内部データバス(図示せず)を介して擬似チャネル220bを擬似チャネルデータバス312bに通信可能に接続してもよい。
【0065】
図4A~
図4Cを参照して説明した前述の例は、DDRチップ300b(例えば、
図2のDDRチップ200)(図示せず)を含む、
図3Bに示す例示的な擬似チャネルベースのメモリシステムに同様に適用可能であり得、DDRチップ300bは、擬似チャネル220a、220b、バンク224a、224b、バンクグループ222a、222b、プリフェッチメモリ302a、302b、擬似チャネル選択デバイス304a、304b、320、内部データバス306a、306b、308a、308b、308c、308d、擬似チャネルコントローラ316、及び擬似チャネル選択信号線(単数又は複数)318cを含む。DDRチップ300bはまた、擬似チャネルデータバス312a、312b、及びCAバス314を含んでもよい。しかしながら、擬似チャネルコントローラ316が擬似チャネル選択信号線318a、318を介して擬似チャネル選択信号を擬似チャネル選択デバイス304a、304bに送信するのではなく、擬似チャネルコントローラ316は、擬似チャネル選択信号線(単数又は複数)318cを介して擬似チャネル選択信号(単数又は複数)を擬似チャネル選択デバイス304a、304b、320に送信してもよい。いくつかの実施形態では、擬似チャネルコントローラ316は、1つ又は複数の擬似チャネル選択信号を擬似チャネル選択デバイス320に送信してもよく、擬似チャネル選択デバイス320は、1つ又は複数の擬似チャネル選択信号を擬似チャネル選択デバイス304a、304bに送信してもよい。
【0066】
図5は、いくつかの実施形態による、擬似チャネルベースのメモリシステム(例えば、
図1のメモリ106、メモリ114、
図2のDDR200、
図3A~
図4CのDDR300a、DDR300b)におけるレイテンシを低減させる方法500を示す。
図1~
図5を参照すると、方法500は、コンピューティングデバイス(例えば、
図1のコンピューティングデバイス100)において実施されても、ハードウェアにおいて実施されても、プロセッサにおいて実行されるソフトウェアにおいて実施されても、又はソフトウェア構成プロセッサと、様々なメモリ/キャッシュ(例えば、
図1のメモリ106、メモリ114、
図2のDDR200、
図3A~
図4CのDDR300a、300b、
図2~
図4Cのバンク224a、224b)及び様々なメモリ/キャッシュコントローラ(例えば、
図3A~
図4Cの擬似チャネルコントローラ316)などの他の個々の構成要素を含む専用ハードウェアとの組合せにおいて実施されてもよい。様々な実施形態において使用可能な代替構成を包含するために、方法500を実施するハードウェアは、本明細書では「メモリ制御デバイス」と呼ばれる。
【0067】
ブロック502において、メモリ制御デバイスは、メモリアクセスコマンドを受信してもよい。メモリアクセスコマンドは、標準タイプメモリアクセスコマンド若しくは非低レイテンシタイプメモリアクセスコマンド、又は低レイテンシタイプメモリアクセスコマンドを含んでもよい。標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンド及び低レイテンシタイプメモリアクセスコマンドは、低レイテンシタイプメモリアクセスコマンドが標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドよりも低いレイテンシを伴ってメモリアクセスを提供するように構成され得るメモリアクセスタイプコマンドであってもよい。いくつかの例では、メモリアクセスコマンドは、メモリアクセスコマンドが低レイテンシタイプメモリアクセスコマンドであるかどうかを示すように構成された態様を含んでもよい。例えば、メモリアクセスコマンドは、メモリアクセスコマンドが低レイテンシタイプメモリアクセスコマンドであるかどうかを示す値を有するように構成されたフィールドを含んでもよい。メモリアクセスコマンドはまた、メモリアクセスコマンドについてのターゲットアドレスに関連付けられてもよく、ターゲットアドレスは、擬似チャネル(例えば、
図2~
図4Cの擬似チャネル220a、220b)内に存在してもよい。
【0068】
メモリアクセスコマンドは、CAバス(例えば、
図2のCAバス214、
図3A~
図4CのCAバス314)を介してメモリ制御デバイスによって受信されてもよい。いくつかの例では、メモリアクセスコマンドは、書き込みメモリアクセスであってもよく、書き込みメモリアクセスに関連付けられたデータは、1つ又は複数の擬似チャネルデータバス(例えば、
図2のデータバス204a、204b、
図3A~
図4Cの擬似チャネルデータバス312a、312b)を介して、メモリ制御デバイスに関連付けられたメモリ又はメモリ制御デバイスに含まれるメモリ(例えば、
図1のメモリ106、メモリ114、
図2のDDR200、
図3A~
図4CのDDR300a、300b)において受信されてもよい。例えば、標準タイプ書き込みメモリアクセス又は非低レイテンシタイプ書き込みメモリアクセスの場合、データは、ターゲット擬似チャネル専用の擬似チャネルデータバス上で受信されてもよい。別の例では、低レイテンシタイプ書き込みメモリアクセスの場合、データは、複数の擬似チャネルデータバス上で受信されてもよく、複数の擬似チャネルデータバスのうちの1つは、ターゲット擬似チャネル専用の擬似チャネルデータバスであってもよい。いくつかの例では、ブロック502においてメモリアクセスコマンドを受信するメモリ制御デバイスは、擬似チャネルコントローラ(例えば、
図3A~
図4Cの擬似チャネルコントローラ316)を含んでもよい。
【0069】
ブロック504において、メモリ制御デバイスは、メモリアクセスコマンドの擬似チャネルを決定してもよい。メモリ制御デバイスは、受信されたアドレスをメモリアクセスコマンドに使用し、そのアドレスが存在する擬似チャネルを決定することができる。いくつかの例では、メモリ制御デバイスは、擬似チャネルの擬似チャネル識別子(ID)を擬似チャネルについてのアドレス範囲に関連付ける、テーブル、アレイなどのデータ構造にアクセスしてもよい。メモリ制御デバイスは、メモリアクセスコマンドのアドレスを擬似チャネルのアドレス範囲と比較し、メモリアクセスコマンドのアドレスが存在するアドレス範囲に関連付けられた擬似チャネルIDを決定することができる。いくつかの例では、ブロック504においてメモリアクセスコマンドの擬似チャネルを決定するメモリ制御デバイスは、擬似チャネルコントローラを含んでもよい。
【0070】
判定ブロック506において、メモリ制御デバイスは、受信されたメモリアクセスコマンドが低レイテンシタイプメモリアクセスコマンドであるかどうかを判定してもよい。メモリ制御デバイスは、メモリアクセスコマンドが低レイテンシタイプメモリアクセスコマンドであるかどうかを示すように構成されたメモリアクセスコマンドの態様を解釈して、受信されたメモリアクセスコマンドが低レイテンシタイプメモリアクセスコマンドであるかどうかを判定してもよい。例えば、メモリアクセスコマンドのフィールド内の値は、メモリアクセスコマンドが低レイテンシタイプメモリアクセスコマンドであるかどうかを示すように構成されてもよい。いくつかの例では、値は、ビット値であり得、ビット値の「1」が、低レイテンシタイプメモリアクセスコマンドを示してもよく、ビット値の「0」が、標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドを示してもよく、又はその逆であってもよい。いくつかの例では、判定ブロック506において、受信されたメモリアクセスコマンドが低レイテンシタイプメモリアクセスコマンドであるかどうかを判定するメモリ制御デバイスは、擬似チャネルコントローラを含んでもよい。
【0071】
受信されたメモリアクセスコマンドが低レイテンシタイプメモリアクセスコマンドであると判定したこと(すなわち、判定ブロック506=「Yes」)に応じて、メモリ制御デバイスは、ブロック508において、2つ以上の擬似チャネル選択デバイス(例えば、
図3A~
図4Cの擬似チャネル選択デバイス304a、304b、320)に擬似チャネル選択信号を送信してもよい。擬似チャネル選択信号は、擬似チャネル選択デバイスに、1つ又は複数の擬似チャネルデータバスと複数の内部データバス(例えば、
図3A~
図4Cの内部データバス306a、306b、308a、308b、308c、308d)との間の通信接続を構成させるように構成されてもよい。事実上、擬似チャネル選択信号は、擬似チャネル選択デバイスに、1つ又は複数の擬似チャネルデータバスと、擬似チャネルのバンク(例えば、
図2~
図4Cのバンク224a、224b)を含む擬似チャネルとの間の通信接続を構成させるように構成されてもよい。擬似チャネル選択信号は、低レイテンシタイプメモリアクセスコマンドによってターゲットにされた擬似チャネルを複数の擬似チャネルデータバスに通信可能に接続するように擬似チャネル選択デバイスに指示し得る。いくつかの例では、メモリ制御デバイスは、同じ擬似チャネル選択信号を擬似チャネル選択デバイスに送信してもよい。いくつかの例では、メモリ制御デバイスは、それぞれに異なる擬似チャネル選択信号を擬似チャネル選択デバイスに送信してもよい。いくつかの例では、擬似チャネル選択信号を擬似チャネル選択デバイスに送信することは、擬似チャネル選択信号を送信しないことを含んでもよい。例えば、擬似チャネル選択信号を受信しないことに応じて、擬似チャネル選択デバイスは、デフォルトで特定の(予め構成された)擬似チャネルを選択してもよい。メモリ制御デバイスは、低レイテンシタイプメモリアクセスを実現する第1の動作モードで動作してもよい。いくつかの例では、ブロック508において擬似チャネル選択信号を擬似チャネル選択デバイスに送信するメモリ制御デバイスは、擬似チャネルコントローラを含んでもよい。
【0072】
ブロック510において、メモリ制御デバイスは、擬似チャネルIO(例えば、
図2の擬似チャネルIO202a、202b、データバス204a、204b、
図3A~
図4Cの擬似チャネル選択デバイス304a、304b、320、擬似チャネルデータバス312a、312b)を同時に介してターゲット擬似チャネルからデータを読み取り、かつ/又はターゲット擬似チャネルにデータを書き込んでもよい。低レイテンシタイプメモリアクセスコマンドのターゲットとされた擬似チャネルは、擬似チャネル選択デバイスによって構成された通信接続を介して複数の擬似チャネルデータバスを使用してメモリから読み取られ、及び/又はメモリに書き込まれ得る。従来、任意のメモリアクセスコマンドのターゲットとされた擬似チャネルは、擬似チャネルに専用の単一の擬似チャネルデータバスのみを使用して、読み取り及び/又は書き込みされてもよい。したがって、擬似チャネルのIOのビット幅は、単一の擬似チャネルデータバスのビット幅によって制限される。複数の擬似チャネルデータバスを同時に使用して低レイテンシタイプメモリアクセスコマンドのターゲットとされた擬似チャネルからの読み取り及び/又はターゲットとされた擬似チャネルへの書き込みを可能にすることによって、擬似チャネルのIOのビット幅は、複数の擬似チャネルデータバスの最大全ビット幅を使用することによる単一の擬似チャネルデータバスの使用と比較して増加されてもよい。更に、複数の擬似チャネルデータバスを使用してより多くのデータを同時に読み取りかつ/又は書き込むことができるので、擬似チャネルのIOのビット幅の増加は、擬似チャネルからの読み取り及び/又は擬似チャネルへの書き込みのためのバースト長の短縮を可能にすることができる。いくつかの実施形態では、ブロック510において、擬似チャネルIOを同時に介して擬似チャネルからデータを読み取り、かつ/又は擬似チャネルにデータを書き込むメモリ制御デバイスは、擬似チャネルコントローラ、擬似チャネル選択デバイス、及び/又は擬似チャネルIO(例えば、
図2の擬似チャネルIO202a、202b)を含んでもよい。
【0073】
受信されたメモリアクセスコマンドが低レイテンシタイプメモリアクセスコマンドではないと判定したこと(すなわち、判定ブロック506=「No」)に応じて、メモリ制御デバイスは、ブロック512において、擬似チャネル選択信号を1つ又は複数の擬似チャネル選択デバイスに送信してもよい。擬似チャネル選択信号は、ブロック508において説明した擬似チャネル選択信号と同様であってもよい。しかしながら、擬似チャネル選択信号は、擬似チャネル選択デバイスに、標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドによってターゲットにされた擬似チャネルを、擬似チャネル専用の単一の擬似チャネルデータバスに通信可能に接続させ得る。メモリ制御デバイスは、標準タイプメモリアクセス又は非低レイテンシタイプメモリアクセスを実施する第2の動作モードで動作してもよい。いくつかの例では、ブロック512において擬似チャネル選択信号を擬似チャネル選択デバイスに送信するメモリ制御デバイスは、擬似チャネルコントローラを含んでもよい。
【0074】
ブロック514において、メモリ制御デバイスは、単一の専用擬似チャネルIOを介して、ターゲット擬似チャネルからデータを読み取り、かつ/又はターゲット擬似チャネルにデータを書き込んでもよい。標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドのターゲット擬似チャネルは、それぞれの擬似チャネル選択デバイスによって構成された通信接続を介して、単一の専用擬似チャネルデータバスを使用して読み取られ、かつ/又は書き込まれてもよい。いくつかの実施形態では、ブロック514において単一の専用擬似チャネルIOを介して擬似チャネルからデータを読み取り、かつ/又は擬似チャネルにデータを書き込むメモリ制御デバイスは、擬似チャネルコントローラ、擬似チャネル選択デバイス、及び/又は擬似チャネルIO(例えば、
図2の擬似チャネルIO202a、202b)を含んでもよい。
【0075】
図6は、いくつかの実施形態による、擬似チャネルベースのメモリシステム(例えば、
図1のメモリ106、メモリ114、
図2のDDR200、
図3A~
図4CのDDR300a、300b)におけるレイテンシを低減させる方法600を示す。
図1~
図6を参照すると、方法600は、コンピューティングデバイス(例えば、
図1のコンピューティングデバイス100)において実施されても、ハードウェアにおいて実施されても、プロセッサにおいて実行されるソフトウェアにおいて実施されても、又はソフトウェア構成プロセッサと、様々なメモリ/キャッシュ(例えば、
図1のメモリ106、メモリ114、
図2のDDR200、
図3A~
図4CのDDR300a、300b、
図2~
図4Cのバンク224a、224b)及び様々なメモリ/キャッシュコントローラ(例えば、
図3A~
図4Cの擬似チャネルコントローラ316)などの他の個々の構成要素を含む専用ハードウェアとの組合せにおいて実施されてもよい。様々な実施形態において使用可能な代替構成を包含するために、方法600を実施するハードウェアは、本明細書では「メモリ制御デバイス」と呼ばれる。ブロック502、504、508、510は、
図5を参照して本明細書で説明した方法500の同様に番号付けされたブロックと同様に実施されてもよい。
【0076】
ブロック602において、メモリ制御デバイスは、低レイテンシタイプメモリアクセスについてのモードレジスタ書き込みコマンドを受信してもよい。モードレジスタ書き込みコマンドは、任意の後続のメモリアクセスコマンドが低レイテンシタイプメモリアクセスとして実施されるべきであることをメモリ制御デバイスに示すためにレジスタ値を設定するように、メモリ制御デバイスに促すように構成されてもよい。
【0077】
ブロック604において、メモリ制御デバイスは、低レイテンシタイプメモリアクセスについてのレジスタ値を設定してもよい。その後、メモリ制御デバイスは、低レイテンシタイプメモリアクセスを実施する第1の動作モードで動作してもよい。ブロック602において低レイテンシタイプメモリアクセスについてのモードレジスタ書き込みコマンドを受信し、ブロック604において低レイテンシタイプメモリアクセスについてのレジスタ値を設定するメモリ制御デバイスは、擬似チャネルコントローラ(例えば、
図3A~
図4Cの擬似チャネルコントローラ316)を含んでもよい。
【0078】
ブロック502において、メモリ制御デバイスは、メモリアクセスコマンドを受信してもよい。いくつかの例では、ブロック502においてメモリアクセスコマンドを受信するメモリ制御デバイスは、擬似チャネルコントローラ(例えば、
図3A~
図4Cの擬似チャネルコントローラ316)を含んでもよい。
【0079】
ブロック504において、メモリ制御デバイスは、メモリアクセスコマンドの擬似チャネル(例えば、
図2~
図4Cの擬似チャネル220a、220b)を決定してもよい。いくつかの例では、ブロック504においてメモリアクセスコマンドの擬似チャネルを決定するメモリ制御デバイスは、擬似チャネルコントローラを含んでもよい。
【0080】
ブロック508において、メモリ制御デバイスは、擬似チャネル選択信号を擬似チャネル選択デバイス(例えば、
図3A~
図4Cの擬似チャネル選択デバイス304a、304b、320)に送信してもよい。いくつかの例では、ブロック508において擬似チャネル選択信号を擬似チャネル選択デバイスに送信するメモリ制御デバイスは、擬似チャネルコントローラを含んでもよい。
【0081】
ブロック510において、メモリ制御デバイスは、擬似チャネルIO(例えば、
図2のデータバス204a、204b、
図3A~
図4Cの擬似チャネル選択デバイス304a、304b、320、擬似チャネルデータバス312a、312b)を同時に介して擬似チャネルからデータを読み取り、かつ/又は擬似チャネルにデータを書き込んでもよい。いくつかの実施形態では、ブロック510において、擬似チャネルIOを同時に介して擬似チャネルからデータを読み取り、かつ/又は擬似チャネルにデータを書き込むメモリ制御デバイスは、擬似チャネルコントローラ、擬似チャネル選択デバイス、及び/又は擬似チャネルIO(例えば、
図2の擬似チャネルIO202a、202b)を含んでもよい。
【0082】
図7は、一実施形態による、読み取りメモリコマンドについての擬似チャネルベースのメモリシステム(例えば、
図1のメモリ106、メモリ114、
図2のDDR200、
図3A~
図4CのDDR300a、300b)におけるレイテンシを低減させる方法700を示す。
図1~
図7を参照すると、方法700は、コンピューティングデバイス(例えば、
図1のコンピューティングデバイス100)において実施されても、ハードウェアにおいて実施されても、プロセッサにおいて実行されるソフトウェアにおいて実施されても、又はソフトウェア構成プロセッサと、様々なメモリ/キャッシュ(例えば、
図1のメモリ106、メモリ114、
図2のDDR200、
図3A~
図4CのDDR300a、300b、
図2~
図4Cのバンク224a、224b、
図3A~
図4Cの擬似チャネル選択デバイス304a、304b、320)及び様々なメモリ/キャッシュコントローラ(例えば、
図3A~
図4Cの擬似チャネルコントローラ316)などの他の個々の構成要素を含む専用ハードウェアとの組合せにおいて実施されてもよい。様々な実施形態において使用可能な代替構成を包含するために、方法700を実施するハードウェアは、本明細書では「メモリ制御デバイス」と呼ばれる。ブロック702、704、706、708は、説明したような方法500、600のブロック510における動作に関する更なる詳細を含む。
【0083】
ブロック702において、メモリ制御デバイスは、擬似チャネル読み取りデータを受信してもよい。擬似チャネル読み取りデータは、低レイテンシタイプ読み取りメモリアクセスのターゲット擬似チャネル(例えば、
図3A~
図4Cの擬似チャネル220a、220b)に関連付けられたプリフェッチメモリ(例えば、
図3A~
図4Cのプリフェッチメモリ302a、302b)又はターゲット擬似チャネルに含まれるプリフェッチメモリから読み取られてもよい。擬似チャネル読み取りデータは、内部データバス(例えば、
図3A~
図4Cの内部データバス306a、306b、308a、308b、308c、308d)を介して複数の擬似チャネル選択デバイス(例えば、
図3A~
図4Cの擬似チャネル選択デバイス304a、304b、320)に送信されてもよい。いくつかの例では、ブロック702において擬似チャネル読み取りデータを受信するメモリ制御デバイスは、複数の擬似チャネル選択デバイスを含んでもよい。
【0084】
ブロック704において、メモリ制御デバイスは、擬似チャネル選択信号を受信してもよい。擬似チャネル選択信号は、説明したような方法500、600のブロック508において送信される擬似チャネル選択信号であってもよい。擬似チャネル選択信号は、複数の擬似チャネル選択デバイスにおいて受信されてもよい。いくつかの例では、ブロック704において擬似チャネル選択信号を受信するメモリ制御デバイスは、複数の擬似チャネル選択デバイスを含んでもよい。
【0085】
ブロック706において、メモリ制御デバイスは、擬似チャネル読み取りデータをターゲット擬似チャネルから複数の擬似チャネルIO(例えば、
図2の擬似チャネルIO202a、202b、データバス204a、204b、
図3A~
図4Cの擬似チャネルデータバス312a、312b)に出力するように擬似チャネル選択デバイスを構成してもよい。擬似チャネル選択デバイスは、それぞれの擬似チャネルデータバス(例えば、
図2のデータバス204a、204b、
図3A~
図4Cの擬似チャネルデータバス312a、312b)と複数の内部データバスとを通信可能に接続するように構成されてもよい。事実上、擬似チャネル選択デバイスは、複数の擬似チャネルデータバスと、ターゲット擬似チャネルのバンク(例えば、
図2~
図4Cのバンク224a、224b)を含むターゲット擬似チャネルとを通信可能に接続するように構成されてもよい。擬似チャネル選択デバイスは、擬似チャネル選択信号に応じて、低レイテンシタイプ読み取りメモリアクセスのターゲットとなる擬似チャネルを複数の擬似チャネルデータバスに通信可能に接続するように構成されてもよい。いくつかの例では、ブロック706においてターゲット擬似チャネルから複数の擬似チャネルIOに擬似チャネル読み取りデータを出力するように擬似チャネル選択デバイスを構成するメモリ制御デバイスは、複数の擬似チャネル選択デバイスを含んでもよい。
【0086】
ブロック708において、メモリ制御デバイスは、擬似チャネル選択デバイスにおける擬似チャネル読み取りデータを擬似チャネルIOに出力してもよい。メモリ制御デバイスは、ブロック706において、低レイテンシタイプ読み取りメモリアクセスのターゲット擬似チャネルに通信可能に接続された複数の擬似チャネルIOに、ブロック702において受信された擬似チャネル読み取りデータを同時に出力してもよい。いくつかの例では、ブロック708において擬似チャネル選択デバイスにおける擬似チャネル読み取りデータを擬似チャネルIOに出力するメモリ制御デバイスは、複数の擬似チャネル選択デバイス及び/又は擬似チャネルIOを含んでもよい。
【0087】
図8は、一実施形態による、書き込みメモリコマンドについての擬似チャネルベースのメモリシステム(例えば、
図1のメモリ106、メモリ114、
図2のDDR200、
図3A~
図4CのDDR300a、300b)におけるレイテンシを低減させる方法800を示す。
図1~
図8を参照すると、方法800は、コンピューティングデバイス(例えば、
図1のコンピューティングデバイス100)において実施されても、ハードウェアにおいて実施されても、プロセッサにおいて実行されるソフトウェアにおいて実施されても、又はソフトウェア構成プロセッサと、様々なメモリ/キャッシュ(例えば、
図1のメモリ106、メモリ114、
図2のDDR200、
図3A~
図4CのDDR300a、300b、
図2~
図4Cのバンク224a、224b、
図3A~
図4Cの擬似チャネル選択デバイス304a、304b、320)及び様々なメモリ/キャッシュコントローラ(例えば、
図3A~
図4Cの擬似チャネルコントローラ316)などの他の個々の構成要素を含む専用ハードウェアとの組合せにおいて実施されてもよい。様々な実施形態において使用可能な代替構成を包含するために、方法800を実施するハードウェアは、本明細書では「メモリ制御デバイス」と呼ばれる。ブロック802、804、806は、
図5及び
図6を参照して本明細書で説明した方法500、600のブロック510において実行され得るより詳細な動作を含む。
【0088】
ブロック802において、メモリ制御デバイスは、複数の擬似チャネルIO(例えば、
図2の擬似チャネルIO202a、202b、データバス204a、204b、
図3A~
図4Cの擬似チャネルデータバス312a、312b)を介して擬似チャネル選択デバイス(例えば、
図3A~
図4Cの擬似チャネル選択デバイス304a、304b、320)において擬似チャネル書き込みデータを受信してもよい。擬似チャネル書き込みデータは、低レイテンシタイプ書き込みメモリアクセスのために、複数の擬似チャネルデータバス(例えば、
図2のデータバス204a、204b、
図3A~
図4Cの擬似チャネルデータバス312a、312b)を介してホスト(例えば、
図1のCPU104、プロセッサ124)から同時に受信されてもよい。各擬似チャネルデータバスは、異なる擬似チャネル選択デバイスに通信可能に接続されてもよい。各擬似チャネルデータバスによって送信されたデータは、それぞれの通信可能に接続された擬似チャネル選択デバイスにおいて同時に受信されてもよい。いくつかの例では、ブロック802において複数の擬似チャネルIOを介して擬似チャネル選択デバイスにおいて擬似チャネル書き込みデータを受信するメモリ制御デバイスは、複数の擬似チャネル選択デバイスを含んでもよい。
【0089】
ブロック704において、メモリ制御デバイスは、擬似チャネル選択信号を受信してもよい。擬似チャネル選択信号は、
図5及び
図6を参照して本明細書で説明した方法500、600のブロック508において送信される擬似チャネル選択信号であり得る。擬似チャネル選択信号は、複数の擬似チャネル選択デバイスにおいて受信されてもよい。いくつかの例では、ブロック804において擬似チャネル選択信号を受信するメモリ制御デバイスは、複数の擬似チャネル選択デバイスを含んでもよい。
【0090】
ブロック804において、メモリ制御デバイスは、複数の擬似チャネルIOからの擬似チャネル書き込みデータを低レイテンシタイプ書き込みメモリアクセスのターゲット擬似チャネル(例えば、
図3A~
図4Cの擬似チャネル220a、220b)に出力するように擬似チャネル選択デバイスを構成してもよい。擬似チャネル選択デバイスは、それぞれの擬似チャネルデータバス(例えば、
図2のデータバス204a、204b、
図3A~
図4Cの擬似チャネルデータバス312a、312b)と複数の内部データバス(例えば、
図3A~
図4Cの内部データバス306a、306b、308a、308b、308c、308d)とを通信可能に接続するように構成されてもよい。事実上、擬似チャネル選択デバイスは、複数の擬似チャネルデータバスと、ターゲット擬似チャネルのバンク(例えば、
図2~
図4Cのバンク224a、224b)を含むターゲット擬似チャネルとを通信可能に接続するように構成されてもよい。擬似チャネル選択デバイスは、擬似チャネル選択信号に応じて、低レイテンシタイプ書き込みメモリアクセスのターゲットとなる擬似チャネルを複数の擬似チャネルデータバスに通信可能に接続するように構成されてもよい。いくつかの例では、ブロック806において、複数の擬似チャネルIOからの擬似チャネル書き込みデータを低レイテンシタイプ書き込みメモリアクセスのターゲット擬似チャネルに出力するように擬似チャネル選択デバイスを構成するメモリ制御デバイスは、複数の擬似チャネル選択デバイスを含んでもよい。
【0091】
ブロック806において、メモリ制御デバイスは、擬似チャネル選択デバイスにおける擬似チャネル書き込みデータを、低レイテンシタイプ書き込みメモリアクセスのターゲット擬似チャネルに出力してもよい。メモリ制御デバイスは、ブロック806において、複数の擬似チャネルIOに通信可能に接続された低レイテンシタイプ書き込みメモリアクセスのターゲット擬似チャネルに、ブロック802において受信された擬似チャネル書き込みデータを出力してもよい。いくつかの例では、ブロック808において、擬似チャネル選択デバイスにおける擬似チャネル書き込みデータを低レイテンシタイプ書き込みメモリアクセスのターゲット擬似チャネルに出力するメモリ制御デバイスは、複数の擬似チャネル選択デバイスを含んでもよい。
【0092】
図9は、一実施形態による、擬似チャネルベースのメモリシステム(例えば、
図1のメモリ106、メモリ114、
図2のDDR200、
図3A~
図4CのDDR300a、300b)におけるレイテンシを低減させる方法900を示す。
図1~
図9を参照すると、方法900は、コンピューティングデバイス(例えば、
図1のコンピューティングデバイス100)において実施されても、ハードウェアにおいて実施されても、プロセッサにおいて実行されるソフトウェアにおいて実施されても、又はソフトウェア構成プロセッサと、様々なメモリ/キャッシュ(例えば、
図1のメモリ106、メモリ114、
図2のDDR200、
図3A~
図4CのDDR300a、300b、
図2~
図4Cのバンク224a、224b)及び様々なメモリ/キャッシュコントローラ(例えば、
図3A~
図4Cの擬似チャネルコントローラ316)などの他の個々の構成要素を含む専用ハードウェアとの組合せにおいて実施されてもよい。様々な実施形態において可能な代替構成を包含するために、方法900を実施するハードウェアは、本明細書では「メモリ制御デバイス」と呼ばれる。いくつかの例では、方法900は、
図5及び
図6を参照して本明細書で説明した方法500、600より前に実施されてもよく、かつ/又は方法500、600と同時に実施されてもよい。
【0093】
判定ブロック902において、メモリ制御デバイスは、低レイテンシメモリアクセスコマンドを実行すべきかどうかを判定してもよい。いくつかの例では、低レイテンシメモリアクセスコマンドを実行すべきかどうかを判定するための条件が満たされてもよい。例えば、低レイテンシメモリアクセスコマンドを実施することは、擬似チャネルベースのメモリシステムのクロック周波数に依存し得る。例えば、低レイテンシメモリアクセスコマンドは、1600MHzなどのしきい値以下の擬似チャネルベースのメモリシステムのクロック周波数について実施されてもよい。別の例として、低レイテンシメモリアクセスコマンドを実施することは、擬似チャネルベースのメモリシステムについて実施されるIO方式に依存し得る。例えば、低レイテンシメモリアクセスコマンドは、擬似チャネルベースのメモリシステムについて実施されるNRZコーディングIO方式に関して実施されてもよい。別の例として、低レイテンシメモリアクセスコマンドを実施することは、擬似チャネルベースのメモリシステムのクロック周波数と、擬似チャネルベースのメモリシステムについて実施されるIO方式との組合せに依存し得る。例えば、低レイテンシメモリアクセスコマンドは、1600MHzなどのしきい値以下の擬似チャネルベースのメモリシステムのクロック周波数について実施され、かつ擬似チャネルベースのメモリシステムについて実施されるNRZコーディングIO方式に関して実施されてもよい。いくつかの例では、ブロック902において低レイテンシメモリアクセスコマンドを実行すべきかどうかを判定するメモリ制御デバイスは、擬似チャネルコントローラ(例えば、
図3A~
図4Cの擬似チャネルコントローラ316)を含んでもよい。
【0094】
低レイテンシメモリアクセスコマンドを実行すると判定したこと(すなわち、判定ブロック902=「はい」)に応じて、メモリ制御デバイスは、例えば、
図5を参照して本明細書で説明したブロック502、504、506のいずれかにおける動作から開始する方法500、又は例えば、
図6を参照して本明細書で説明したブロック602、604のいずれかにおける動作から開始する方法600を実行してもよい。低レイテンシメモリアクセスコマンドを実行しないと判定したこと(すなわち、判定ブロック902=「いいえ」)に応じて、メモリ制御デバイスは、
図5を参照しながら本明細書で説明した方法500のブロック512における動作を実行してもよい。
【0095】
図10A、
図10B、
図11A、及び
図11Bは、いくつかの実施形態による、擬似チャネルベースのメモリシステム(例えば、
図1のメモリ106、メモリ114、
図2のDDR200、
図3A~
図4CのDDR300a、300b)におけるレイテンシを低減させる場合及びレイテンシを低減させない場合のメモリアクセスコマンドのタイミング図の例を示す。
図1~
図11Bを参照すると、第2の動作モードで動作するDDR(例えば、
図2のDDR200、
図3A~
図4CのDDR300a、300b)は、
図10A及び
図11Aに示すように、標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドを従来通りに実施してもよく、第1の動作モードで動作するDDRは、
図10B及び
図11Bに示すように、低レイテンシタイプメモリアクセスコマンドを実施してもよい。DDRは、複数の擬似チャネルデータバス(例えば、
図2のデータバス204a、204b、
図3A~
図4Cの擬似チャネルデータバス312a、312b)(「データバスA」、「データバスB」)を含んでもよい。擬似チャネルデータバスは、特定のビット幅を有してもよい。例えば、擬似チャネルデータバスのビット幅は16ビットであってもよい。
【0096】
標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドの従来の実装形態では、DDRは、特定のバースト長を必要とする単一の専用擬似チャネルデータバス、例えばデータバスA上でデータを送信又は受信してもよい。
図10Aに示す例では、バースト長は32バイトである。
図11Aに示す例では、バースト長は64バイトである。低レイテンシタイプメモリアクセスコマンドを実施する場合、DDRは、複数の擬似チャネルデータバス、例えば、データバスA及びデータバスB上で同時にデータを送信又は受信してもよい。例えば、DDRは、複数の擬似チャネルデータバス上でデータの奇数バイト及び偶数バイトを代わる代わる送信又は受信してもよい。
図10B及び
図11Bに示す例では、DDRは、データバスA上でデータの奇数バイトを送信又は受信し、データバスB上でデータの偶数バイトを送信又は受信してもよい。別の例(図示せず)として、DDRは、データバスA上でデータの偶数バイトを送信又は受信し、データバスB上でデータの奇数バイトを送信又は受信してもよい。データバスA及びB上で送信又は受信される奇数及び偶数バイトの対は、上位バイト及び下位バイトを有するデータのワードであってもよい。上位バイトは、データバスA又はB上のうちの一方上で送信又は受信されてもよく、下位バイトは、データバスA又はB上のうちの他方上で送信又は受信されてもよい。例えば、上位バイトは、低レイテンシタイプメモリアクセスコマンドのターゲット擬似チャネル(例えば、
図3A~
図4Cの擬似チャネル220a、220b)専用のデータバスA又はB上で送信又は受信されてもよく、下位バイトは、他方のデータバスA又はB上で送信又は受信されてもよい。複数の擬似チャネルデータバス上でデータを送信又は受信すると、標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドの従来の実装形態と比較して、バースト長を短縮することが可能になる。例えば、標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドの従来の実装形態のバースト長は、データを送信又は受信するために使用される擬似チャネルデータバスの数によって除算されてもよい。
図10Bに示す例では、バースト長が16バイトであるのに対し、
図10Aに示す例では32バイトである。
図11Bに示す例では、バースト長が32バイトであるのに対して、
図11Aに示す例では64バイトである。また、バースト長を短縮すると、標準メモリアクセスコマンド又はレイテンシメモリアクセスコマンドと比較して、低レイテンシメモリアクセスコマンドを完了するためのクロックサイクルの数を減少させ得る。
【0097】
図12は、いくつかの実施形態による、低レイテンシタイプメモリアクセスコマンドを使用して擬似チャネルベースのメモリシステム(例えば、
図1のメモリ106、メモリ114、
図2のDDR200、
図3A~
図4CのDDR300a、300b)におけるレイテンシを低減させる例示的なタイミング図を示す。
図1~
図12を参照すると、第1の動作モードで動作するDDR(例えば、
図2のDDR200、
図3A~
図4CのDDR300a、300b)は、低レイテンシタイプ読み取りメモリアクセスを実施してもよい。DDRは、低レイテンシタイプ読み取りメモリアクセスを実施するための信号、例えば、列アドレスストローブ(「CAS」)、及び擬似チャネル(例えば、
図3A~
図4Cの擬似チャネル220a、220b)についての低レイテンシタイプ読み取りメモリアクセスを実施するための信号(「RD_LL_PC0」)を受信してもよい。DDRは、低レイテンシタイプ読み取りメモリアクセスを実施するための信号に応じて、複数の擬似チャネルデータバス(例えば、
図2のデータバス204a、204b、
図3A~
図4Cの擬似チャネルデータバス312a、312b)、データバスA及びデータバスB上のターゲット擬似チャネルからデータを出力してもよい。
【0098】
図13A及び
図13Bは、一実施形態による、低レイテンシタイプメモリアクセスコマンドを有効にするためにモードレジスタ書き込みを使用する擬似チャネルベースのメモリシステム(例えば、
図1のメモリ106、メモリ114、
図2のDDR200、
図3A~
図4CのDDR300a、300b)におけるレイテンシを低減させる例を示すタイミング図である。
図1~
図13Bを参照すると、第1の動作モードで動作するDDR(例えば、
図2のDDR200、
図3A~
図4CのDDR300a、300b)は、モードレジスタ書き込みイネーブル低レイテンシタイプメモリアクセスコマンドに続いて低レイテンシタイプ読み取りメモリアクセスを実施してもよい。DDRは、DDRに連続メモリアクセスコマンドを低レイテンシタイプメモリアクセスコマンドとして実施するように促す、モードレジスタ書き込みについての信号(単数又は複数)(
図13Aの「MRW」、
図13Bの「MRW1」及び「MRW2」)を受信してもよい。モードレジスタ書き込みについて信号(単数又は複数)は、DDR内のレジスタアドレスと、レジスタに書き込むためのデータとを含んでもよい。例えば、
図13Bを参照すると、MRW1及びMRW2は共に、単一モードレジスタ書き込みを形成し得る。MRW1は、DDR内のレジスタアドレスを含んでもよく、MRW2は、レジスタに書き込むためのデータを含んでもよい。DDRは、読み取りメモリアクセスを実施するための信号、例えば、列アドレスストローブ(「CAS」)、及び擬似チャネル(例えば、
図3A~
図4Cの擬似チャネル220a、220b)についての標準読み取りメモリアクセス又は非低レイテンシ読み取りメモリアクセスを実施するための信号(「RD_PC0」)を受信してもよい。DDRは、モードレジスタ書き込みについての信号及び読み取りメモリアクセスを実施するための信号に応じて、読み取りメモリアクセスを低レイテンシタイプ読み取りメモリアクセスとして実施し、ターゲット擬似チャネルからのデータを複数の擬似チャネルデータバス(例えば、
図2のデータバス204a、204b、
図3A~
図4Cの擬似チャネルデータバス312a、312b)、データバスA及びデータバスB上に出力してもよい。
【0099】
図14A及び
図14Bは、一実施形態による、擬似チャネルベースのメモリシステム(例えば、
図1のメモリ106、メモリ114、
図2のDDR200、
図3A~
図4CのDDR300a、300b)におけるレイテンシを低減させる場合及びレイテンシを低減させない場合のメモリアクセスコマンドの例を示すタイミング図である。
図1~
図14Bを参照すると、第2の動作モードで動作するDDR(例えば、
図2のDDR200、
図3A~
図4CのDDR300a、300b)は、
図14Aに示されるような標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドを従来通りに実施してもよく、第1の動作モードで動作するDDRは、
図14Bに示されるような低レイテンシタイプメモリアクセスコマンドを実施してもよい。DDRは、複数の擬似チャネル(例えば、
図2~
図4Cの擬似チャネル220a、220b)(「PC0」、「PC1」)と、擬似チャネルデータバス(例えば、
図2のデータバス204a、204b、
図3A~
図4Cの擬似チャネルデータバス312a、312b)(「DQ0」、「DQ1」)とを含んでもよい。
【0100】
図14A及び
図14Bに示す例では、それぞれのチップ選択(CS)信号は、それぞれのコマンド及びアドレス(CA)有効性信号(
図14AのA、B、C、D及び
図14BのQ、R、S、T)並びにそれぞれのメモリアクセスコマンド(コマンド)信号(
図14AのE、F、G、H及び
図14BのU、V、W、X)に対応してもよい。データ信号(
図14AのI、J、
図14BのY1、Y2、Z1、Z2)の送信は、それぞれのコマンド信号に対応してもよい。擬似チャネルベースのメモリシステムは、システムクロック(CK_c、CK_t)及びそれぞれの擬似チャネルについてのクロック(PC0、PC1)など、PC0についての書き込みクロック(WCK0_c、WCK0_t)及びPC0についての読み取りクロック(RDQS0_t、RDQS0_c)、並びにPC1についての書き込みクロック(WCK1_c、WCK1_t)及びPC1についての読み取りクロック(RDQS1_t、RDQS1_c)など、様々なクロックの様々なクロックサイクルに従ってメモリアクセスコマンドを実施してもよい。
【0101】
図14Aに示される例におけるメモリアクセスコマンドの場合、CA有効性信号Aは、第1のCAS信号Eに対応してもよく、CA有効性信号Bは、第1の標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドFに対応してもよい。CA有効性信号Cは、第2のCAS信号Gに対応し得、CA有効性信号Dは、第2の標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドHに対応してもよい。擬似チャネルについての標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドの従来の実装形態では、DDRは、各標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドについてのデータを単一の専用擬似チャネルデータバス上で送信又は受信してもよく、例えば、PC0(F)の読み取りメモリアクセスについてのDQ0及びPC1(H)の読み取りメモリアクセスについてのDQ1を送信又は受信してもよく、各読み取りメモリアクセスについて特定のバースト長が必要になる。
図14Aに示す例では、バースト長は32バイトである。それぞれに異なる擬似チャネルについての連続標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドは、同時に実施され得るが、同時に開始し完了するようには揃い得ず、単一の標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドを完了するために必要とされるよりも多くのクロックサイクルが必要になる。例えば、PC0(F)の読み取りメモリアクセスに応じてDQ0上で送信されるデータ信号(I)は、PC1(H)の読み取りメモリアクセスに応じてDQ1上で送信されるデータ信号(J)と揃わないことがある。
【0102】
図14Bに示される例におけるメモリアクセスコマンドについて、CA有効性信号Qは、第1のCAS信号Uに対応してもよい。CA有効性信号Rは、第1の低レイテンシタイプメモリアクセスコマンドVに対応してもよい。CA有効性信号Sは、第2のCAS信号Wに対応してもよく、CA有効性信号Tは、第2の低レイテンシタイプメモリアクセスコマンドXに対応してもよい。擬似チャネルについての低レイテンシタイプメモリアクセスコマンド(V,X)を実施するために、DDRは、PC0(V)又はPC1(X)の低レイテンシタイプ読み取りメモリアクセスについてのDQ0及びDQ1などの、複数の擬似チャネルデータバス上で同時にデータを送信又は受信してもよい。例えば、DDRは、複数の擬似チャネルデータバス上でデータの奇数バイト及び偶数バイトを代わる代わる送信又は受信してもよい。
図14Bに示す例では、DDRは、DQ0上でデータの奇数バイトを送信又は受信し、同時にDQ1上でデータの偶数バイトを送信又は受信してもよい。複数の擬似チャネルデータバス上でデータを送信又は受信すると、標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドの従来の実装形態と比較してバースト長を短縮することが可能になる。例えば、標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドの従来の実装形態のバースト長は、データを送信又は受信するために使用される擬似チャネルデータバスの数によって除算されてもよい。
図14Bに示す例では、バースト長が16バイトであるのに対し、
図14Aに示す例では32バイトである。コマンドアドレス(CA)ラインに示されるように、PC0及びPC1などの、それぞれに異なる擬似チャネルについての連続低レイテンシタイプメモリアクセスコマンドが連続的に実施されてもよく、バースト長を短縮すると、同じ数の標準タイプメモリアクセスコマンド又は非低レイテンシタイプメモリアクセスコマンドを完了するために必要とされるよりも少ないクロックサイクルを使用することが可能になり得る。例えば、データ信号(Y1)は、PC0(V)の読み取りメモリアクセスに応じてDQ1上で送信されるデータ信号(Y2)と同時にDQ0上で送信されてもよく、データ信号(Z1)は、PC1(X)の連続読み取りメモリアクセスに応じてDQ1上で送信されるデータ信号(Z2)と同時にDQ0上で送信されてもよい。
【0103】
(限定はしないが、
図1~
図14Bを参照して上記で説明した実施形態を含む)様々な実施形態によるシステムは、モバイルコンピューティングデバイスを含む多種多様なコンピューティングシステムにおいて実現されてもよく、様々な実施形態とともに使用するのに適したモバイルコンピューティングデバイスの一例が
図15に示されている。モバイルコンピューティングデバイス1500は、タッチスクリーンコントローラ1504と内部メモリ1506とに結合されたプロセッサ1502を含んでもよい。プロセッサ1502は、汎用処理タスク又は特定の処理タスクに指定された1つ又は複数のマルチコア集積回路であり得る。内部メモリ1506は、揮発性又は不揮発性のメモリであってもよく、また、セキュアメモリ及び/若しくは暗号化メモリ、又は非セキュアメモリ及び/若しくは非暗号化メモリ、又はそれらの任意の組合せであってもよい。活用されてもよいメモリタイプの例には、限定はしないが、DDR、LPDDR、GDDR、WIDEIO、RAM、SRAM、DRAM、P-RAM、R-RAM、M-RAM、STT-RAM、及び埋込みDRAMが含まれる。タッチスクリーンコントローラ1504及びプロセッサ1502はまた、抵抗感知タッチスクリーン、容量性感知タッチスクリーン、赤外線感知タッチスクリーンなど、タッチスクリーンパネル1512に結合されてもよい。追加として、モバイルコンピューティングデバイス1500のディスプレイは、タッチスクリーン機能を有する必要はない。
【0104】
モバイルコンピューティングデバイス1500は、互いに結合され、かつ/又はプロセッサ1502に結合された、通信を送信及び受信するための1つ又は複数の無線信号トランシーバ1508(例えば、Peanut、Bluetooth、ZigBee、Wi-Fi、RF無線など)及びアンテナ1510を有する場合がある。トランシーバ1508及びアンテナ1510は、様々なワイヤレス送信プロトコルスタック及びインターフェースを実現するために、上述の回路とともに使用されてもよい。モバイルコンピューティングデバイス1500は、セルラーネットワークを経由した通信を可能にするとともにプロセッサに結合されているセルラーネットワークワイヤレスモデムチップ1516を含んでもよい。
【0105】
モバイルコンピューティングデバイス1500は、プロセッサ1502に結合された周辺デバイス接続インターフェース1518を含んでもよい。周辺デバイス接続インターフェース1518は、1つのタイプの接続を受け入れるように単独で構成されてもよく、又はユニバーサルシリアルバス(USB)、FireWire、Thunderbolt、若しくはPCIeなどの、一般的若しくはプロプライエタリな様々なタイプの物理接続及び通信接続を受け入れるように構成されてもよい。周辺デバイス接続インターフェース1518はまた、同様に構成された周辺デバイス接続ポート(図示せず)に結合されてもよい。
【0106】
モバイルコンピューティングデバイス1500はまた、オーディオ出力を提供するスピーカー1514を含んでもよい。モバイルコンピューティングデバイス1500はまた、本明細書で説明する構成要素の全部又は一部を収容する、プラスチック、金属、又は材料の組合せから構成されたハウジング1520を含んでもよい。モバイルコンピューティングデバイス1500は、使い捨てバッテリー又は充電式バッテリーなどの、プロセッサ1502に結合された電源1522を含んでもよい。充電式バッテリーはまた、モバイルコンピューティングデバイス1500の外部のソースから充電電流を受け取るために、周辺デバイス接続ポートに結合されてもよい。モバイルコンピューティングデバイス1500はまた、ユーザ入力を受け取る物理ボタン1524を含んでもよい。モバイルコンピューティングデバイス1500はまた、モバイルコンピューティングデバイス1500をオンオフする電源ボタン1526を含んでもよい。
【0107】
(限定はしないが、
図1~
図14Bを参照して上記で説明した実施形態を含む)様々な実施形態によるシステムは、その一例が
図16に示されているラップトップコンピュータ1600を含む多種多様なコンピューティングシステムにおいて実装されてもよい。多くのラップトップコンピュータは、コンピュータのポインティングデバイスとして働くタッチパッドのタッチ面1617を含み、したがって、タッチスクリーンディスプレイを装備した上述のコンピューティングデバイス上で実施されるものと同様のドラッグジェスチャー、スクロールジェスチャー、及びフリックジェスチャーを受信する場合がある。ラップトップコンピュータ1600は通常、揮発性メモリ1612と、フラッシュメモリのディスクドライブ1613などの大容量不揮発性メモリとに結合されたプロセッサ1602を含む。加えて、コンピュータ1600は、プロセッサ1602に結合されたワイヤレスデータリンク及び/又はセルラー電話送受信機1616に接続されてもよい、電磁放射を送受信するための1つ又は複数のアンテナ1608を有し得る。コンピュータ1600はまた、プロセッサ1602に結合されたフロッピーディスクドライブ1614及びコンパクトディスク(CD)ドライブ1615を含む場合がある。ノートブック構成では、コンピュータハウジングは、すべてがプロセッサ1602に結合されたタッチパッド1617、キーボード1618、及びディスプレイ1619を含む。コンピューティングデバイスの他の構成はよく知られているように、(例えば、USB入力を介して)プロセッサに結合されたコンピュータマウス又はトラックボールを含んでよく、それらはまた、様々な実施形態とともに使用されてもよい。
【0108】
(限定はしないが、
図1~
図14Bを参照して上記で説明した実施形態を含む)様々な実施形態によるシステムが、様々な市販のサーバのうちのいずれかなど、固定コンピューティングシステムにおいて実装されてもよい。例示的なサーバ1700を
図17に示す。そのようなサーバ1700は、通常、揮発性メモリ1702と、ディスクドライブ1704などの大容量不揮発性メモリとに結合された、1つ又は複数のマルチコアプロセッサアセンブリ1701を含む。
図17に示すように、マルチコアプロセッサアセンブリ1701は、それらをアセンブリのラックに挿入することによって、サーバ1700に追加されてもよい。サーバ1700はまた、プロセッサ1701に結合されたフロッピーディスクドライブ、コンパクトディスク(CD)又はデジタル多用途ディスク(DVD)ディスクドライブ1706を含んでもよい。サーバ1700はまた、他のブロードキャストシステムコンピュータ及びサーバに結合されたローカルエリアネットワーク、インターネット、公衆交換電話網、並びに/又はセルラーデータネットワーク(例えば、CDMA、TDMA、GSM、PCS、3G、4G、LTE、5G又は任意の他のタイプのセルラーデータネットワーク)など、ネットワーク1705とのネットワークインターフェース接続を確立するための、マルチコアプロセッサアセンブリ1701に結合されたネットワークアクセスポート1703を含んでもよい。
【0109】
実装例について、以下の段落において説明する。以下の実装形態例のいくつかについて、例示的なシステム、デバイス、又は方法に関して説明するが、更なる例示的な実装形態は、例示的なシステム又はデバイスの動作を実行する方法として実装される、以下の段落において論じられる例示的なシステム又はデバイス、例示的なシステム、デバイス、又は方法の動作を実行するための処理デバイス実行可能命令を伴って構成された処理デバイスを備えるコンピューティングデバイスによって実装される、以下の段落において論じられる例示的なシステム、デバイス、又は方法、例示的なシステム、デバイス、又は方法の機能を実行する手段を含むコンピューティングデバイスによって実装される、以下の段落において論じられる例示的なシステム、デバイス、又は方法、及びコンピューティングデバイスのプロセッサに例示的なシステム、デバイス、又は方法の動作を実行させるように構成されたプロセッサ実行可能命令を記憶した非一時的プロセッサ可読記憶媒体として実装される、以下の段落において論じられる例示的なシステム、デバイス、又は方法を含んでもよい。
【0110】
実施例1.擬似チャネルベースのメモリシステムであって、複数の擬似チャネルのうちの1つを第1の入力/出力(IO)に選択的に通信可能に接続するように構成された第1の擬似チャネル選択デバイスと、複数の擬似チャネルのうちの1つを第2のIOに選択的に通信可能に接続するように構成された第2の擬似チャネル選択デバイスとを含み、第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスは、第1の動作モードにおいて複数の擬似チャネルのうちの第1の擬似チャネルを第1のIO及び第2のIOに同時に通信可能に接続するように動作可能である、擬似チャネルベースのメモリシステム。
【0111】
実施例2.第1のIOは、第1の擬似チャネルデータバスを含み、第2のIOは、第2の擬似チャネルデータバスを含み、擬似チャネルベースのメモリシステムは、第1の擬似チャネルデータバスよりも大きいビット幅を有し、第1の擬似チャネルに通信可能に接続された第1の内部データバスと、第1の擬似チャネルデータバスと同じビット幅を有し、第1の内部データバスの第1の部分と第1の擬似チャネル選択デバイスとの間に通信可能に接続された第2の内部データバスと、第2の擬似チャネルデータバスと同じビット幅を有し、第1の内部データバスの第2の部分と第2の擬似チャネル選択デバイスとの間に通信可能に接続された第3の内部データバスとを更に含む、実施例1に記載の擬似チャネルベースのメモリシステム。
【0112】
実施例3.第1の内部データバスは、第1の擬似チャネルデータバスの整数倍に等しいビット幅を有する、実施例2に記載の擬似チャネルベースのメモリシステム。
【0113】
実施例4.第1の擬似チャネルデータバスよりも大きいビット幅を有し、複数の擬似チャネルのうちの第2の擬似チャネルに通信可能に接続された第4の内部データバスと、第1の擬似チャネルデータバスと同じビット幅を有し、第4の内部データバスの第1の部分と第1の擬似チャネル選択デバイスとの間に通信可能に接続された第5の内部データバスと、第2の擬似チャネルデータバスと同じビット幅を有し、第4の内部データバスの第2の部分と第2の擬似チャネル選択デバイスとの間に通信可能に接続された第6の内部データバスとを更に含む、実施例2又は3に記載の擬似チャネルベースのメモリシステム。
【0114】
実施例5.第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスは、擬似チャネルベースのメモリシステムが第1の擬似チャネルをターゲットとする低レイテンシタイプメモリアクセスコマンドを受信したことに応じて、第1の擬似チャネルを第1のIO及び第2のIOに同時に通信可能に接続するように動作可能である、実施例1から4のいずれかに記載の擬似チャネルベースのメモリシステム。
【0115】
実施例6.第1の擬似チャネルをターゲットとする低レイテンシタイプメモリアクセスコマンドを受信し、低レイテンシタイプメモリアクセスコマンドを受信したことに応じて、第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスに、第1の擬似チャネルを第1のIO及び第2のIOに同時に通信可能に接続させるために、少なくとも1つの擬似チャネル選択信号を第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスに送信するように構成されたメモリ制御デバイスを更に含む、実施例5に記載の擬似チャネルベースのメモリシステム。
【0116】
実施例7.第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスは、擬似チャネルベースのメモリシステムが、擬似チャネルベースのメモリシステムに、連続メモリアクセスコマンドを低レイテンシタイプメモリアクセスコマンドとして扱わせるように構成されたモードレジスタ書き込みコマンドを受信したことに応答し、かつ擬似チャネルベースのメモリシステムが第1の擬似チャネルをターゲットとする連続メモリアクセスコマンドを受信したことに応じて、第1の擬似チャネルを第1のIO及び第2のIOに同時に通信可能に接続するように動作可能である、実施例1から4のいずれかに記載の擬似チャネルベースのメモリシステム。
【0117】
実施例8.メモリ制御デバイスを更に含み、メモリ制御デバイスは、モードレジスタ書き込みコマンドを受信し、モードレジスタ書き込みコマンドを受信したことに応じて、メモリ制御デバイスに、連続メモリアクセスコマンドを低レイテンシタイプメモリアクセスコマンドとして扱わせるように構成されたレジスタ値を設定し、第1の擬似チャネルをターゲットとする連続メモリアクセスコマンドを受信し、連続メモリアクセスコマンドを受信したことに応じて、第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスに、第1の擬似チャネルを第1のIO及び第2のIOに同時に通信可能に接続させるために、少なくとも1つの擬似チャネル選択信号を第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスに送信するように構成されている、実施例7に記載の擬似チャネルベースのメモリシステム。
【0118】
実施例9.第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスは各々、少なくとも1つのマルチプレクサを含む、実施例1から8のいずれかに記載の擬似チャネルベースのメモリシステム。
【0119】
実施例10.第2の動作モードにおいて、第1の擬似チャネル選択デバイスは、第1の擬似チャネルを第1のIOに通信可能に接続するように動作可能であり、第2の擬似チャネル選択デバイスは、複数の擬似チャネルのうちの第2の擬似チャネルを第2のIOに通信可能に接続するように動作可能である、実施例1から9のいずれかに記載の擬似チャネルベースのメモリシステム。
【0120】
実施例11.擬似チャネルベースのメモリシステムにおけるレイテンシを低減させる方法であって、複数の擬似チャネルのうちの1つを複数の入力/出力(IO)のうちの第1のIOに選択的に通信可能に接続するように構成された第1の擬似チャネル選択デバイスによって、複数の擬似チャネルのうちの第1の擬似チャネルを第1のIOに通信可能に接続することと、第1の動作モードにおいて、第1の擬似チャネル選択デバイスによって第1の擬似チャネルを第1のIOに通信可能に接続するのと同時に、第2の擬似チャネル選択デバイスによって第1の擬似チャネルを複数のIOのうちの第2のIOに通信可能に接続することと、を含み、第2の擬似チャネル選択デバイスは、複数の擬似チャネルのうちの1つを第2のIOに選択的に通信可能に接続するように構成されている、方法。
【0121】
実施例12.第1のIOは、第1の擬似チャネルデータバスを含み、第2のIOは、第2の擬似チャネルデータバスを含み、方法は、第1の擬似チャネルデータバスよりも大きいビット幅を有し、第1の擬似チャネルに通信可能に接続された第1の内部データバスと、第1の擬似チャネルデータバスと同じビット幅を有し、第1の内部データバスの第1の部分と第1の擬似チャネル選択デバイスとの間に通信可能に接続された第2の内部データバスとを介して、第1の擬似チャネルデータバスと第1の擬似チャネルとの間でデータを送信することと、第1の内部データバスと、第2の擬似チャネルデータバスと同じビット幅を有し、第1の内部データバスの第2の部分と第2の擬似チャネル選択デバイスとの間に通信可能に接続された第3の内部データバスとを介して、第2の擬似チャネルデータバスと第1の擬似チャネルとの間でデータを送信することと、を更に含む、実施例11に記載の方法。
【0122】
実施例13.第1の内部データバスは、第1の擬似チャネルデータバスの整数倍に等しいビット幅を有する、実施例12に記載の方法。
【0123】
実施例14.第1の擬似チャネルデータバスよりも大きいビット幅を有し、第2の擬似チャネルに通信可能に接続された第4の内部データバスと、第1の擬似チャネルデータバスと同じビット幅を有し、第4の内部データバスの第1の部分と第1の擬似チャネル選択デバイスとの間に通信可能に接続された第5の内部データバスとを介して、第1の擬似チャネルデータバスと複数の擬似チャネルのうちの第2の擬似チャネルとの間でデータを送信することと、第4の内部データバスと、第2の擬似チャネルデータバスと同じビット幅を有し、第4の内部データバスの第2の部分と第2の擬似チャネル選択デバイスとの間に通信可能に接続された第6の内部データバスとを介して、第2の擬似チャネルデータバスと第2の擬似チャネルとの間でデータを送信することと、を更に含む、実施例12又は13に記載の方法。
【0124】
実施例15.第1の擬似チャネルをターゲットとする低レイテンシタイプメモリアクセスコマンドを受信することを更に含み、第1の擬似チャネル選択デバイスによって第1の擬似チャネルを第1のIOに通信可能に接続することと同時に、第2の擬似チャネル選択デバイスによって第1の擬似チャネルを第2のIOに通信可能に接続することが、低レイテンシタイプメモリアクセスコマンドを受信したことに応じて行われる、実施例11から14のいずれかに記載の方法。
【0125】
実施例16.低レイテンシタイプメモリアクセスコマンドを受信したことに応じて、第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスに、第1の擬似チャネルを第1のIO及び第2のIOに同時に通信可能に接続させるために、少なくとも1つの擬似チャネル選択信号を第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスに送信することを更に含む、実施例15に記載の方法。
【0126】
実施例17.擬似チャネルベースのメモリシステムに、連続メモリアクセスコマンドを低レイテンシタイプメモリアクセスコマンドとして扱わせるように構成されたモードレジスタ書き込みコマンドを受信することと、第1の擬似チャネルをターゲットとする連続メモリアクセスコマンドを受信することと、を更に含み、第1の擬似チャネル選択デバイスによって第1の擬似チャネルを第1のIOに通信可能に接続するのと同時に、第2の擬似チャネル選択デバイスによって第1の擬似チャネルを第2のIOに通信可能に接続することは、モードレジスタ書き込みコマンドを受信したことに応答し、かつ連続メモリアクセスコマンドを受信したことに応じて行われる、実施例11から14のいずれかに記載の方法。
【0127】
実施例18.モードレジスタ書き込みコマンドを受信したことに応じて、擬似チャネルベースのメモリシステムに、連続メモリアクセスコマンドを低レイテンシタイプメモリアクセスコマンドとして扱わせるように構成されたレジスタ値を設定することと、連続メモリアクセスコマンドを受信したことに応じて、第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスに、第1の擬似チャネルを第1のIO及び第2のIOに同時に通信可能に接続させるために、少なくとも1つの擬似チャネル選択信号を第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスに送信することと、を更に含む、実施例17に記載の方法。
【0128】
実施例19.第1の擬似チャネル選択デバイス及び第2の擬似チャネル選択デバイスは各々、少なくとも1つのマルチプレクサを含む、実施例11から18のいずれかに記載の方法。
【0129】
実施例20.第2の動作モードにおいて、第2の擬似チャネル選択デバイスによって、複数の擬似チャネルのうちの第2の擬似チャネルを複数のIOのうちの第2のIOに通信可能に接続することを更に含む、実施例11から19のいずれかに記載の方法。
【0130】
実施例21.第1の擬似チャネルを含む複数の擬似チャネルを含む擬似チャネルベースのメモリシステムであって、第1の擬似チャネルをターゲットとするメモリアクセスコマンドを受信し、メモリアクセスコマンドを実行するために第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを使用するように構成されている、擬似チャネルベースのメモリシステム。
【0131】
実施例22.メモリアクセスコマンドは、読み取りメモリアクセスコマンドであり、擬似チャネルベースのメモリシステムは、メモリアクセスコマンドを実行するために第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを使用することが、第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを同時に介して、読み取りメモリアクセスコマンドに応じて第1の擬似チャネルからデータを出力することを含むように構成されている、実施例21に記載の擬似チャネルベースのメモリシステム。
【0132】
実施例23.メモリアクセスコマンドは、書き込みメモリアクセスコマンドであり、擬似チャネルベースのメモリシステムは、メモリアクセスコマンドを実行するために第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを使用することが、第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを同時に介して第1の擬似チャネルについて書き込みメモリアクセスコマンドのデータを受信することを含むように構成されている、実施例21又は22に記載の擬似チャネルベースのメモリシステム。
【0133】
実施例24.メモリアクセスコマンドは、メモリアクセスコマンドが低レイテンシタイプメモリアクセスコマンドであることを擬似チャネルベースのメモリシステムに指示するように構成されている、実施例21から23のいずれかに記載の擬似チャネルベースのメモリシステム。
【0134】
実施例25.擬似チャネルベースのメモリシステムは、擬似チャネルベースのメモリシステムに、連続メモリアクセスコマンドを低レイテンシタイプメモリアクセスコマンドとして扱わせるように構成されたモードレジスタ書き込みコマンドを受信するように更に構成されており、第1の擬似チャネルをターゲットとするメモリアクセスコマンドは、モードレジスタ書き込みコマンドに対する連続メモリアクセスコマンドである、実施例21から23のいずれかに記載の擬似チャネルベースのメモリシステム。
【0135】
実施例26.第1の擬似チャネルを含む複数の擬似チャネルを有する擬似チャネルベースのメモリシステムにおけるレイテンシを低減させる方法であって、第1の擬似チャネルをターゲットとするメモリアクセスコマンドを受信することと、メモリアクセスコマンドを実行するために第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを使用することと、を含む方法。
【0136】
実施例27.メモリアクセスコマンドは、読み取りメモリアクセスコマンドであり、メモリアクセスコマンドを実行するために第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを使用することは、第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを同時に介して、読み取りメモリアクセスコマンドに応じて第1の擬似チャネルからデータを出力することを含む、実施例26に記載の方法。
【0137】
実施例28.メモリアクセスコマンドは、書き込みメモリアクセスコマンドであり、メモリアクセスコマンドを実行するために第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを使用することは、第1の擬似チャネルデータバス及び第2の擬似チャネルデータバスを同時に介して、第1の擬似チャネルについての書き込みメモリアクセスコマンドのデータを受信することを含む、実施例26又は27に記載の方法。
【0138】
実施例29.メモリアクセスコマンドは、メモリアクセスコマンドが低レイテンシタイプメモリアクセスコマンドであることを擬似チャネルベースのメモリシステムに指示するように構成されている、実施例26から28のいずれかに記載の方法。
【0139】
実施例30.擬似チャネルベースのメモリシステムに、連続メモリアクセスコマンドを低レイテンシタイプメモリアクセスコマンドとして扱わせるように構成されたモードレジスタ書き込みコマンドを受信することを更に含み、第1の擬似チャネルをターゲットとするメモリアクセスコマンドは、モードレジスタ書き込みコマンドに対する連続メモリアクセスコマンドである、実施例26から28のいずれかに記載の方法。
【0140】
様々な実施形態の動作を実行するためのプログラマブルプロセッサ上での実行のためのコンピュータプログラムコード又は「プログラムコード」は、C、C++、C#、Smalltalk、Java、JavaScript、Visual Basic、Structured Query Language(例えば、Transact-SQL)、Perlなどの高水準プログラミング言語又は様々な他のプログラミング言語で記述される場合がある。本出願で使用するコンピュータ可読記憶媒体上に記憶されたプログラムコード又はプログラムは、そのフォーマットがプロセッサによって理解可能である(オブジェクトコードなどの)機械語コードを指す場合がある。
【0141】
上記の方法の説明及びプロセスフロー図は、単に説明のための例として提供されており、様々な実施形態の動作が提示された順序で実行されなければならないことを要求又は暗示するものではない。当業者によって理解されるように、上述の実施形態における動作の順序は、任意の順序で実施されてもよい。「その後(thereafter)」、「次いで(then)」、「次に(next)」などの語は、動作の順序を限定するものではない。これらの語は、方法の説明を通じて単に読者を導くために使用される。更に、例えば、冠詞「a」、「an」、又は「the」を使用する、単数形での請求項要素へのいかなる言及も、その要素を単数形に限定するものとして解釈されるべきではない。
【0142】
様々な実施形態に関して説明した様々な例示的な論理ブロック、モジュール、回路、及びアルゴリズム動作は、電子ハードウェア、コンピュータソフトウェア、又は両方の組合せとして実装されてもよい。ハードウェア及びソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路及び動作について、概してそれらの機能性に関して上記で説明してきた。そのような機能がハードウェアとして実装されるのか又はソフトウェアとして実装されるのかは、特定の適用例及びシステム全体に課される設計上の制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装してよいが、そのような実装決定は、特許請求の範囲からの逸脱を引き起こすものとして解釈されるべきではない。
【0143】
本明細書で開示する実施形態に関して説明した様々な例示的な論理、論理ブロック、モジュール、及び回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)若しくは他のプログラマブル論理デバイス、個別ゲート論理若しくはトランジスタ論理、個別ハードウェア構成要素、又は本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装又は実行されてもよい。汎用プロセッサはマイクロプロセッサであってもよいが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又は状態機械であってもよい。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアと連携した1つ又は複数のマイクロプロセッサ、又は任意の他のそのような構成として実装されてもよい。代替的に、いくつかの動作又は方法は、所与の機能に固有の回路によって実行されてもよい。
【0144】
1つ又は複数の実施形態では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実現されてもよい。ソフトウェアにおいて実現される場合、機能は、1つ又は複数の命令又はコードとして、非一時的コンピュータ可読媒体又は非一時的プロセッサ可読媒体上に記憶されてもよい。本明細書で開示する方法又はアルゴリズムの動作は、非一時的コンピュータ可読記憶媒体又はプロセッサ可読記憶媒体上に存在し得るプロセッサ実行可能ソフトウェアモジュールにおいて具現化されてもよい。非一時的コンピュータ可読又はプロセッサ可読記憶媒体は、コンピュータ又はプロセッサによってアクセスされてもよい任意の記憶媒体であってもよい。限定ではなく例として、そのような非一時的コンピュータ可読媒体又は非一時的プロセッサ可読媒体は、RAM、ROM、EEPROM、FLASHメモリ、CD-ROM若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、又は命令若しくはデータ構造の形態で所望のプログラムコードを記憶するために使用されてよく、コンピュータによってアクセスされてよい、任意の他の媒体を含んでよい。本明細書で使用するディスク(Disk)及びディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、及びBlu-ray(登録商標)ディスク(disc)を含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せも、非一時的コンピュータ可読及びプロセッサ可読媒体の範囲内に含まれる。追加として、方法又はアルゴリズムの動作は、コンピュータプログラム製品の中に組み込まれてもよい非一時的プロセッサ可読媒体及び/又は非一時的コンピュータ可読媒体上のコード及び/又は命令のうちの1つ、又はその任意の組合せ若しくはセットとして存在してもよい。
【0145】
開示する実施形態の前述の説明は、任意の当業者が特許請求の範囲を製作又は使用することを可能にするために提供される。これらの実施形態への様々な修正が当業者には容易に明らかになり、本明細書において定義される一般原理は、特許請求の範囲から逸脱することなく他の実施形態及び実装形態に適用されてもよい。したがって、本開示は、本明細書で説明した実施形態及び実装形態に限定されることが意図されるものではなく、以下の特許請求の範囲、並びに本明細書で開示される原理及び新規の特徴と一致する最も広い範囲が与えられるべきである。
【国際調査報告】