(57)【特許請求の範囲】
【請求項１】
メモリのためのレジスタリングクロックドライブ(RCD)にシングルデータレート(SDR)モードまたはダブルデータレート(DDR)モードを実現するための方法であって、
1つまたは複数のデータレートモード選択基準を決定するステップと、
前記1つまたは複数のデータレートモード選択基準に基づいて、コマンド/アドレス(CA)バスにデータレートモードを選択するステップであって、前記1つまたは複数のデータレートモード選択基準は、アクセス統計またはアドレス相関メトリックを使用して定量化されるデータトラフィック特性のうち1つを含む、選択するステップと、
前記データレートモードに対するホストインターフェースを構成するステップと、
前記データレートモードに対する前記レジスタリングクロックドライブ(RCD)のRCD入力インターフェースを構成するステップと
を含む、方法。
【請求項２】
前記データレートモードは、前記SDRモードまたは前記DDRモードのうちの1つである、
請求項1に記載の方法。
【請求項３】
前記ホストインターフェースが、入力バスを介して前記レジスタリングクロックドライブ(RCD)に接続するためのホストの出力部である、請求項2に記載の方法。
【請求項４】
前記RCD入力インターフェースが、前記入力バスを介して前記ホストに接続するための前記レジスタリングクロックドライブ(RCD)の入力部である、請求項3に記載の方法。
【請求項５】
前記データレートモードが初期化で設定され、かつセッション全体を通して変化しないままである、請求項1に記載の方法。
【請求項６】
前記データレートモードが、セッション全体を通して前記SDRモードと前記DDRモードとの間で可変である、請求項1に記載の方法。
【請求項７】
クロック信号を使用して、前記ホストインターフェースと前記RCD入力インターフェースとの間でデータを転送するステップをさらに含む、請求項1に記載の方法。
【請求項８】
前記データを転送するステップが書込み動作を含む、請求項7に記載の方法。
【請求項９】
前記データを転送するステップが読取り動作を含む、請求項7に記載の方法。
【請求項１０】
前記データがコマンドまたはアドレスを含む、請求項7に記載の方法。
【請求項１１】
1Nモードまたは2Nモードのいずれかで前記クロック信号を使用してRCD出力インターフェースから前記データを転送するステップをさらに含み、前記1Nモードはすべてのクロックエッジで前記データを転送し、前記2Nモードは1つおきのクロックエッジで前記データを転送する、請求項7に記載の方法。
【請求項１２】
前記RCD出力インターフェースが、出力バスを介した前記メモリへの前記RCDの出力部である、請求項11に記載の方法。
【請求項１３】
前記メモリが、ダイナミックランダムアクセスメモリ(DRAM)である、請求項12に記載の方法。
【請求項１４】
前記ホストインターフェース上および前記RCD入力インターフェース上で前記クロック信号をアクティブ化するステップをさらに含む、請求項7に記載の方法。
【請求項１５】
クロック信号を使用して前記ホストインターフェース上でデータ転送を開始するために前記ホストインターフェースを構成するステップをさらに含む、請求項1に記載の方法。
【請求項１６】
前記クロック信号を使用して前記RCD入力インターフェース上でデータ受信を開始するために前記RCD入力インターフェースを構成するステップをさらに含む、請求項15に記載の方法。
【請求項１７】
前記1つまたは複数のデータレートモード選択基準が、バースト長、読取り/書込み比率、レイテンシ、ページクラスタリング、ストリーミング特性、またはdc電力制約のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項１８】
メモリのためのレジスタリングクロックドライブ(RCD)にシングルデータレート(SDR)モードまたはダブルデータレート(DDR)モードを実現するための装置であって、
1つまたは複数のデータレートモード選択基準に基づいて、コマンド/アドレス(CA)バスにデータレートモードを選択し、前記データレートモードに対するホストインターフェースを構成し、前記データレートモードに対するRCD入力インターフェースを構成し、前記1つまたは複数のデータレートモード選択基準は、アクセス統計またはアドレス相関メトリックを使用して定量化されるデータトラフィック特性のうち1つを含む、メモリコントローラと、
前記メモリコントローラに結合されたクロックジェネレータであって、前記ホストインターフェース上および前記RCD入力インターフェース上でクロック信号をアクティブ化する、クロックジェネレータと、
前記メモリコントローラに結合されたホストであって、前記クロック信号を使用して、前記ホストインターフェースと前記RCD入力インターフェースとの間でデータを転送する、ホストと
を備える、装置。
【請求項１９】
前記メモリコントローラに結合されたレジスタリングクロックドライブ(RCD)をさらに備え、前記RCDが、1Nモードまたは2Nモードのいずれかで前記クロック信号を使用してRCD出力インターフェースから前記データを転送し、前記1Nモードはすべてのクロックエッジで前記データを転送し、前記2Nモードは1つおきのクロックエッジで前記データを転送する、請求項18に記載の装置。
【請求項２０】
前記ホストが前記ホストインターフェースを備え、前記レジスタリングクロックドライブ(RCD)が、前記RCD入力インターフェースと前記RCD出力インターフェースとを備える、請求項19に記載の装置。
【請求項２１】
前記データレートモードは、前記SDRモードまたは前記DDRモードのうちの1つである、請求項18に記載の装置。
【請求項２２】
前記データレートモードが初期化で設定され、かつセッション全体を通して変化しないままである、請求項21に記載の装置。
【請求項２３】
前記データレートモードが、セッション全体を通して前記SDRモードと前記DDRモードとの間で可変である、請求項21に記載の装置。
【請求項２４】
メモリのためのレジスタリングクロックドライブ(RCD)にシングルデータレート(SDR)モードまたはダブルデータレート(DDR)モードを実現するための装置であって、
1つまたは複数のデータレートモード選択基準を決定するための手段と、
前記1つまたは複数のデータレートモード選択基準に基づいて、コマンド/アドレス(CA)バスにデータレートモードを選択するための手段であって、前記1つまたは複数のデータレートモード選択基準は、アクセス統計またはアドレス相関メトリックを使用して定量化されるデータトラフィック特性のうち1つを含む、選択するための手段と、
前記データレートモードに対するホストインターフェースを構成するための手段と、
前記データレートモードに対する前記レジスタリングクロックドライブ(RCD)のRCD入力インターフェースを構成するための手段と
を含む装置。
【請求項２５】
前記ホストインターフェース上および前記RCD入力インターフェース上でクロック信号をアクティブ化するための手段と、
前記クロック信号を使用して前記ホストインターフェースから前記RCD入力インターフェースへデータを転送するための手段と、
をさらに含む請求項24に記載の装置。
【請求項２６】
1Nモードまたは2Nモードのいずれかで前記クロック信号を使用してRCD出力インターフェースから前記データを転送するための手段をさらに含み、
前記1Nモードはすべてのクロックエッジで前記データを転送し、前記2Nモードは1つおきのクロックエッジで前記データを転送する、請求項25に記載の装置。
【請求項２７】
前記データレートモードは、前記SDRモードまたは前記DDRモードのうちの1つである、
請求項24に記載の装置。
【請求項２８】
少なくとも1つのプロセッサおよび前記少なくとも1つのプロセッサに結合された少なくとも1つのメモリを備えるデバイス上で動作可能な、コンピュータ実行可能コードを記憶するコンピュータ可読記録媒体であって、前記少なくとも1つのプロセッサが、メモリのためのレジスタリングクロックドライブ(RCD)にシングルデータレート(SDR)モードまたはダブルデータレート(DDR)モードを実現するように構成され、前記コンピュータ実行可能コードが、
コンピュータに、1つまたは複数のデータレートモード選択基準を決定させるための命令と、
前記コンピュータに、前記1つまたは複数のデータレートモード選択基準に基づいて、コマンド/アドレス(CA)バスにデータレートモードを選択させるための命令であって、前記1つまたは複数のデータレートモード選択基準は、アクセス統計またはアドレス相関メトリックを使用して定量化されるデータトラフィック特性のうち1つを含む、選択させるための命令と、
前記コンピュータに、前記データレートモードに対するホストインターフェースを構成させるための命令と、
前記コンピュータに、前記データレートモードに対する前記レジスタリングクロックドライブ(RCD)のRCD入力インターフェースを構成させるための命令と、
を含む、コンピュータ可読記録媒体。
【請求項２９】
前記コンピュータに、前記ホストインターフェース上および前記RCD入力インターフェース上でクロック信号をアクティブ化させるための命令と、
前記コンピュータに、前記クロック信号を使用して前記ホストインターフェースから前記RCD入力インターフェースへデータを転送させるための命令と、
をさらに含み、
前記データレートモードは、前記SDRモードまたは前記DDRモードのうちの1つである、
請求項28に記載のコンピュータ可読記録媒体。
【請求項３０】
前記コンピュータに、1Nモードまたは2Nモードのいずれかで前記クロック信号を使用してRCD出力インターフェースから前記データを転送させるための命令を含み、
前記1Nモードはすべてのクロックエッジで前記データを転送し、前記2Nモードは1つおきのクロックエッジで前記データを転送する、
請求項29に記載のコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2017年2月27日に米国特許商標庁に出願された係属中の米国仮出願第62/463,896号、および2018年2月21日に米国特許商標庁に出願された非仮出願第15/901,693号の優先権を主張し、これらの出願の内容全体が、参照により本明細書に組み込まれる。
【０００２】
本開示は、一般的に、メモリデバイスのコマンドおよびアドレス(CA)バスの分野に関し、詳細には、ダイナミックランダムアクセスメモリ(DRAM)のためのレジスタリングクロックドライブ(RCD)のコマンドおよびアドレス(CA)バスにシングルデータレート(SDR)モードまたはダブルデータレート(DDR)モードを実現することに関する。
【背景技術】
【０００３】
ダイナミンクランダムアクセスメモリ(DRAM)技術は、アドレッシング機構、たとえばホストからのレジスタリングクロックドライブ(RCD)のコマンド/アドレス(CA)入力バス上でデュアルデータレート(DDR)モードを、DRAMデバイスへのRCDのCA出力バス上でシングルデータレート(SDR)モードを利用する場合がある。一例では、CA入力バスは、ホストからRCD入力への長い信号経路で通される場合がある。しかしながら、経路長、経路雑音、経路減衰、および経路反射(たとえば、インピーダンス不整合)により、CA入力バスのシグナルインテグリティ(signal integrity)は、特にクロックレートが上がるにつれて、著しく損なわれる場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
たとえば、シグナルインテグリティ低下が、全体的な処理システム性能を向上させるためのクロック周波数スケーリング(すなわち、クロック周波数をより高いレートで実行すること)を制限する場合がある。加えて、シグナルインテグリティ低下が、DRAM初期化中に最適未満の信号較正になる場合がある。また、複数のメモリデバイス(たとえば、DRAM)が、バス負荷を増大させ、さらなるシグナルインテグリティ低下につながる場合がある共通のCAバスで導入されるとき、シグナルインテグリティ低下が悪化する場合がある。したがって、クロック周波数が上がるとき、メモリ制御経路(たとえば、CAバス)のシグナルインテグリティ要件を保持する改善された記憶要素アーキテクチャの必要がある。
【課題を解決するための手段】
【０００５】
以下において、本開示の1つまたは複数の態様の基本的理解を与えるために、そのような態様の簡略化された概要を提示する。本概要は、本開示のすべての企図される特徴の広範な概要でなく、本開示のすべての態様の主要または重要な要素を識別することを意図するものでも、本開示のいずれかまたはすべての態様の範囲を定めることを意図するものでもない。その唯一の目的は、後で提示するより詳細な説明の前置きとして、本開示の1つまたは複数の態様のいくつかの概念を簡略化された形態で提示することである。
【０００６】
一態様では、本開示は、モード選択を実現する。したがって、メモリのためのレジスタリングクロックドライブ(RCD)にシングルデータレート(SDR)モードまたはダブルデータレート(DDR)モードを実現するための方法は、1つまたは複数のデータレートモード選択基準を決定するステップと、1つまたは複数のデータレートモード選択基準に基づいてデータレートモードを選択するステップと、データレートモードに対するホストインターフェースを構成するステップと、データレートモードに対するレジスタリングクロックドライブ(RCD)のRCD入力インターフェースを構成するステップとを含む。
【０００７】
一例では、データレートモードは、SDRモードまたはDDRモードのうちの一方である。一例では、ホストインターフェースは、入力バスを介してレジスタリングクロックドライブ(RCD)に接続するためのホストの出力部である。一例では、RCD入力インターフェースは、入力バスを介してホストに接続するためのレジスタリングクロックドライブ(RCD)の入力部である。一例では、データレートモードは、初期化で設定され、セッション全体を通して変化しないままである。一例では、データレートモードは、セッション全体を通してSDRモードとDDRモードとの間で可変である。
【０００８】
一例では、本方法は、クロック信号を使用して、ホストインターフェースとRCD入力インターフェースとの間でデータを転送するステップをさらに含む。一例では、データを転送するステップは、書込み動作を含む。一例では、データを転送するステップは、読取り動作を含む。一例では、データは、コマンドまたはアドレスを含む。
【０００９】
一例では、本方法は、1Nモードまたは2Nモードのいずれかでクロック信号を使用してRCD出力インターフェースからデータを転送するステップをさらに含む。一例では、RCD出力インターフェースは、出力バスを介したメモリへのRCDの出力部である。一例では、メモリは、ダイナミックランダムアクセスメモリ(DRAM)である。
【００１０】
一例では、本方法は、ホストインターフェース上およびRCD入力インターフェース上でクロック信号をアクティブ化するステップをさらに含む。一例では、本方法は、クロック信号を使用してホストインターフェース上でデータ転送を開始するためにホストインターフェースを構成するステップをさらに含む。一例では、本方法は、クロック信号を使用してRCD入力インターフェース上でデータ受信を開始するためにRCD入力インターフェースを構成するステップをさらに含む。一例では、1つまたは複数のデータレートモード選択基準が、クロック速度、バースト長、アクセス統計、読取り/書込み比率、レイテンシ、デューティファクタ、ページクラスタリング、ストリーミング特性、dc電力制約、またはアドレス相関メトリックを使用して定量化されるデータトラフィック特性のうちの少なくとも1つを含む。
【００１１】
本開示の別の態様は、メモリのためのレジスタリングクロックドライブ(RCD)に、シングルデータレート(SDR)モードまたはダブルデータレート(DDR)モードを実現するための装置を提供し、本装置は、メモリコントローラであって、1つまたは複数のデータレートモード選択基準を決定し、1つまたは複数のデータレートモード選択基準に基づいてデータレートモードを選択し、データレートモードに対するホストインターフェースを構成し、データレートモードに対するRCD入力インターフェースを構成する、メモリコントローラと、メモリコントローラに結合されたクロックジェネレータであって、ホストインターフェース上およびRCD入力インターフェース上でクロック信号をアクティブ化する、クロックジェネレータと、メモリコントローラに結合されたホストであって、クロック信号を使用して、ホストインターフェースとRCD入力インターフェースとの間でデータを転送する、ホストとを含む。
【００１２】
一例では、本装置は、メモリコントローラに結合されたレジスタリングクロックドライブ(RCD)をさらに含み、RCDは、1Nモードまたは2Nモードのいずれかでクロック信号を使用してRCD出力インターフェースからデータを転送する。一例では、ホストは、ホストインターフェースを含み、レジスタリングクロックドライブ(RCD)は、RCD入力インターフェースと、RCD出力インターフェースとを含む。一例では、データレートモードは、SDRモードまたはDDRモードのうちの一方である。一例では、データレートモードは、初期化で設定され、セッション全体を通して変化しないままである。一例では、データレートモードは、セッション全体を通してSDRモードとDDRモードとの間で可変である。
【００１３】
本開示の別の態様は、メモリのためのレジスタリングクロックドライブ(RCD)にシングルデータレート(SDR)モードまたはダブルデータレート(DDR)モードを実現するための装置であって、1つまたは複数のデータレートモード選択基準を決定するための手段と、1つまたは複数のデータレートモード選択基準に基づいてデータレートモードを選択するための手段と、データレートモードに対するホストインターフェースを構成するための手段と、データレートモードに対するレジスタリングクロックドライブ(RCD)のRCD入力インターフェースを構成するための手段とを含む、装置を提供する。
【００１４】
一例では、本装置は、ホストインターフェース上およびRCD入力インターフェース上でクロック信号をアクティブ化するための手段と、クロック信号を使用してホストインターフェースからRCD入力インターフェースへデータを転送するための手段とをさらに含む。一例では、本装置は、1Nモードまたは2Nモードのいずれかでクロック信号を使用してRCD出力インターフェースからデータを転送するための手段をさらに含む。一例では、データレートモードは、SDRモードまたはDDRモードのうちの一方である。
【００１５】
本開示の別の態様は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサに結合された少なくとも1つのメモリとを含むデバイス上で動作可能な、コンピュータ実行可能コードを記憶するコンピュータ可読媒体を提供し、少なくとも1つのプロセッサは、メモリのためのレジスタリングクロックドライブ(RCD)にシングルデータレート(SDR)モードまたはダブルデータレート(DDR)モードを実現するように構成され、コンピュータ実行可能コードは、コンピュータに1つまたは複数のデータレートモード選択基準を決定させるための命令と、コンピュータに1つまたは複数のデータレートモード選択基準に基づいてデータレートモードを選択させるための命令と、コンピュータにデータレートモードに対するホストインターフェースを構成させるための命令と、コンピュータにデータレートモードに対するレジスタリングクロックドライブ(RCD)のRCD入力インターフェースを構成させるための命令とを含む。
【００１６】
一例では、コンピュータ可読媒体は、コンピュータにホストインターフェース上およびRCD入力インターフェース上でクロック信号をアクティブ化させるための命令と、コンピュータにクロック信号を使用してホストインターフェースからRCD入力インターフェースへデータを転送させるための命令であって、データレートモードがSDRモードまたはDDRモードのうちの一方である、命令と、コンピュータに1Nモードまたは2Nモードのいずれかでクロック信号を使用してRCD出力インターフェースからデータを転送させるための命令とをさらに含む。
【００１７】
以下の詳細な説明を検討すれば、本発明のこれらおよび他の態様がより十分に理解されよう。添付の図とともに本発明の特定の例示的な実施形態の以下の説明を検討すれば、本発明の他の態様、特徴、および実施形態が当業者に明らかとなろう。本発明の特徴について、以下のいくつかの実施形態および図に関して説明する場合があるが、本発明のすべての実施形態が、本明細書で説明する有利な特徴のうちの1つまたは複数を含むことができる。言い換えれば、1つまたは複数の実施形態について、いくつかの有利な特徴を有するものとして説明する場合があるが、そのような特徴のうちの1つまたは複数が、本明細書で説明する本発明の様々な実施形態に従って使用される場合もある。同様に、例示的な実施形態について、デバイス実施形態、システム実施形態、または方法実施形態として以下で説明する場合があるが、そのような例示的な実施形態を様々なデバイス、システム、および方法に実装できることを理解されたい。
【図面の簡単な説明】
【００１８】
【図１】メモリコントローラとメモリとの間のシグナリングを示す例示的なメモリシステムを示す図である。
【図２】ホストとメモリとの間にレジスタリングクロックデバイス(RCD)がある例示的なメモリシステムを示す図である。
【図３】2つの入力バスと、4つの出力バスとともに2チャネルRCDの一例を示す図である。
【図４】シングルデータレート(SDR)モードの1ユニットインターバル(UI)タイミング図の一例を示す図である。
【図５】シングルデータレート(SDR)モードの2ユニットインターバル(UI)タイミング図の一例を示す図である。
【図６】ダイナミックランダムアクセスメモリ(DRAM)のためのレジスタリングクロックドライブ(RCD)用のコマンド/アドレス(CA)バスにデータレートモードを選択し、実行するための例示的なフロー図である。
【発明を実施するための形態】
【００１９】
添付の図面に関して以下に記載する詳細な説明は、本開示の様々な態様の説明を意図するものであり、本開示を実践できる唯一の態様を表すことを意図するものではない。本開示で説明する各態様は、単に本開示の例または例示として提供されており、必ずしも他の態様より好ましいまたは有利であると解釈されるべきではない。詳細な説明は、本開示を完全に理解できるようにするために、具体的な詳細を含む。しかしながら、これらの具体的な詳細なしに本開示が実践され得ることは、当業者には明らかであろう。場合によっては、本開示の概念を曖昧にするのを避けるために、周知の構造およびデバイスがブロック図の形で示される。頭字語および他の記述的用語は、単に便宜上および明確にするために使用される場合があるにすぎず、本開示の範囲を限定することを意図するものではない。
【００２０】
説明を簡単にするために、方法を一連の行為として図示および説明しているが、いくつかの行為は、1つまたは複数の態様に従って、本明細書で図示および説明した順序とは異なる順序で、および/または他の行為と同時に行われる場合があるので、方法は行為の順序によって限定されないことを理解され、諒解されたい。たとえば、本方法は、代わりに、状態図などにおいて一連の相互に関係する状態またはイベントとして表すことができることは、当業者に理解され、諒解されよう。さらに、1つまたは複数の態様に従って方法を実装するために、示されるすべての行為が必要とされるとは限らない場合がある。
【００２１】
ダイナミックランダムアクセスメモリ(DRAM)デバイスは、一般的に、パーソナルコンピュータ(PC)、ラップトップコンピュータ、モバイルデバイス、携帯情報端末(PDA)などの処理システム内の記憶要素として使用される。DRAMは、複数のメモリセルを含んでもよく、各メモリセルは、情報の単一ビットを記憶するためにトランジスタおよびキャパシタを含んでもよい。DRAMは、少なくとも2つのタイプのデータ転送動作、すなわち書込み動作および読取り動作に使用されてもよい。DRAMは、メモリへのデータ記憶のために、書込み動作、すなわちデータソースからDRAMデータ入力ポートへビットを転送するために書込みデータ線を使用して、複数のビットをメモリに記憶してもよい。また、DRAMは、メモリからのデータ検索のために、読取り動作、すなわちDRAMデータ出力ポートからデータ宛先へビットを転送するために読取りデータ線を使用して、複数のビットをメモリから検索してもよい。書込みおよび読取り動作は、別個の制御経路、たとえばコマンド/アクセス(CA)バスにより制御されてもよい。コマンドは、所望の動作または状態、たとえば書込み、読取り、クリア、リセットなどを指定するビットパターンのセットである。アドレスは、書込み動作または読取り動作のいずれかのために所望のメモリ位置を指定するビットパターンの特定のグループである。アドレスビットパターンのビットの量が、書込みまたは読取り動作のいずれかで転送されるビットの量に必ずしも等しいとは限らないことに留意されたい。
【００２２】
一般に、処理システムでのデータ転送動作は、ホストと記憶要素との間で行われる。ホストは、プロセッサ(たとえば、中央プロセッサユニット(CPU)、マイクロプロセッサ、マイクロコントローラ、マルチプロセッサなど)を含んでもよい。一例では、ホストから記憶要素(たとえば、DRAM)への制御経路(たとえば、CAバス)は、信号調整のための介在デバイス(たとえば、レジスタリングクロックドライブ(RCD))を必要とする場合がある。信号調整は、たとえばバッファリング、信号登録、リクロッキング(re-clocking)、リドライビング(re-driving)などを含んでもよい。RCDは、記憶要素、たとえばDRAMの一部であってもよく、またはメモリモジュール、たとえばデュアルインラインメモリモジュール(DIMM)の1つの構成要素であってもよい。
【００２３】
メモリデバイス(たとえば、DRAM)は、DRAMの同期動作を調節するために、クロック信号、たとえば周期的な方形波基準信号(たとえば、交互にローレベルおよびハイレベルを有する)を使用してもよい。クロック信号は、複数の反復クロックサイクルを含んでもよい。一般に、DRAMは、様々なモード、たとえばデータレートモードで機能してもよい。使用される2つのデータレートモードは、シングルデータレート(SDR)モード、およびデュアルデータレート(DDR)モードである。データレートモードは、制御経路(たとえば、CAバス)に使用されてもよい。たとえば、SDRモードでは、データは、クロックサイクルの立上りエッジ(すなわち、ロー/ハイ遷移)または立下りエッジ(すなわち、ハイ/ロー遷移)のいずれかでのみ転送される。すなわち、データ転送動作は、クロックサイクルにつき1度だけ行われる。DDRモードでは、データは、クロックサイクルの立上りエッジと立下りエッジの両方で転送される。すなわち、データ転送動作は、クロックサイクルにつき2度行われる。
【００２４】
DRAM技術は、時間とともに進化し、徐々により能力の高いメモリデバイスを実現した。たとえば、DRAM技術は、DDR1からDDR2、DDR3、DDR4、DDR5などまで進歩した。DRAMインターフェース要件は、異なるベンダー間のデバイス互換性を保証するために、業界標準化団体、たとえば電子機器技術評議会(JEDEC:Joint Electron Device Engineering Council)によって指定される。
【００２５】
揮発性メモリ(すなわち、記憶要素)の一形態が、ダイナミックランダムアクセスメモリ(DRAM)である。ホスト(たとえば、コンピュータ、プロセッサ、コントローラなど)が、データおよび命令の高速記憶および検索にDRAMを採用する場合がある。データは、データ記憶またはデータ検索のDRAM位置を指定するためにアドレッシング機構(たとえば、メモリ制御経路)を使用して、DRAMで記憶および/または検索されてもよい。メモリ制御経路の1つのタイプが、コマンド/アドレス(CA)バスである。場合によっては、レジスタリングクロックドライブ(RCD)として知られる介在デバイスが、信号調整を施すことによってホストとDRAMとの間で仲介する。RCDは、入力CAバスと、出力CAバスとを有する。仲介の1つの形式は、データレートモードの仲介である。使用される2つのDRAMデータレートモードは、シングルデータレート(SDR)モード、およびデュアルデータレート(DDR)モードである。
【００２６】
図1は、メモリコントローラとメモリとの間のシグナリングを示す例示的なメモリシステム100を示す。図1には、2つの要素、すなわちメモリコントローラ110と、メモリ120とが示される。また図1には、メモリコントローラ110とメモリ120との間の3つの信号経路、すなわちa)コマンド/アドレス(CA)バス130と、b)データバス140と、c)クロック信号150とが示される。一例では、メモリコントローラ110は、書込み動作の一部としてメモリ120へデータバス140上でデータを送信する、または読取り動作の一部としてメモリ120からデータバス140上でデータを受信するホストの一部である。コマンド/アドレス(CA)バス130は、書込みまたは読取り動作を実行するために、およびいずれの動作でも所望のメモリアドレスを指定するために使用されてもよい。加えて、クロック信号150は、書込みおよび読取り動作のペースを同期的に整えるために使用されてもよい。一例では、クロック信号150は、メモリコントローラ110に結合されるクロックジェネレータ160によって生成される。別の例では、図示していないが、クロックジェネレータ160は、メモリ120に直接結合される場合がある。別の例では、クロックジェネレータ160は、クロック分配回路(図示せず)を介して、メモリコントローラ110およびメモリ120のいずれか、またはこれらの両方に結合される場合がある。
【００２７】
図2は、ホスト210とメモリ230との間にレジスタリングクロックデバイス(RCD)220がある例示的なメモリシステム200を示す。一例では、メモリ230は、ダイナミックランダムアクセスメモリ(DRAM)である。図2には、制御/アドレス(CA)入力バス240と、制御/アドレス(CA)出力バス250とが示される。ホスト210は、RCD220に入力されるCA入力バス240に接続されたホスト210の出力部であるホストインターフェースを含んでもよい。RCD220は、ホスト210からのCA入力バス240に接続されたRCDへの入力部であるRCD入力インターフェースを含んでもよい。ホストインターフェースおよびRCD入力インターフェースは、CA入力バス240を使用して、ホスト210とRCD220との間の相互接続を可能にする。RCD220は、メモリ230へのCA出力バス250を介するメモリ230への出力部であるRCD出力インターフェースを含んでもよい。
【００２８】
(N+p)ビットを有するCA入力バス240は、ホスト210からRCD220へ、コマンドデータおよびアドレス入力データを届ける。Nは、CA入力バスによって転送されているビットの量を示し、pは、CA入力バスによるパリティビットの量を示す。たとえば、p=0は、パリティがない場合を示し、p=1は、シングルパリティの場合を示し、p=2は、ダブルパリティの場合を示すなどである。(2N+q)ビットを有するCA出力バス250は、RCD220からメモリ230へ、コマンド出力データおよびアドレス出力データを届ける。2Nは、CA出力バスによって転送されているビットの量を示し、pは、CA出力バスによるパリティビットの量を示す。CA出力バスは、パリティビットを追加してもよく(すなわち、q≠0)、またはパリティビットを追加しなくてもよい(すなわち、q=0)。また、モード選択制御線260が、RCDへのモード選択入力として示される。一例では、モード選択制御線260は、CA入力バス240にデータレートモードを選択するために使用されてもよい。たとえば、データレートモードは、シングルデータレート(SDR)、ダブルデータレート(DDR)、4倍データレート(QDR:Quadruple Data Rate)などであってもよい。一例では、データレートモードは、初期化で設定されてもよく、セッションの間変化しないままであってもよい。別の例では、データレートモードは、セッションにわたって可変であるものであってもよい。すなわち、データレートモードは、SDRモードとDDRモードとの間で変動してもよい。一例では、セッションは、動作ステップのグループでは実行の継続時間である。たとえば、セッションは、ユーザログインとユーザログアウトとの間の継続時間であってもよい。
【００２９】
一例では、データレートモード選択は、動作シナリオの最適化を可能にしてもよい。たとえば、データレートモード選択は、様々な動作シナリオに応じてSDRモードまたはDDRモードのいずれかの選択を最適化してもよい。一態様では、データレートモード選択は、クロック速度、バースト長、dc電力制約、データトラフィック特性、アクセス統計、読取り/書込み比率、レイテンシ、デューティファクタ、ページクラスタリング、および/またはストリーミング特性に基づいてもよい。たとえば、DDRモード動作は、(たとえば、DDRモードではより高い速度スケーリングが限定されるために)最大DDRモードクロック速度によって制限される場合があるので、データレートモードは、クロック速度に応じて選択されてもよい。たとえば、SDRモードが最適であるように、長いバースト長はより高いデータ転送レートをもたらすので、データレートモードは、バースト長に応じて選択されてもよい。たとえば、DDRモード動作はSDRモードよりも多くのdc電力を消費する可能性があるので、データレートモードは、dc電力制約に応じて選択されてもよい。たとえば、データレートモードは、アクセス統計またはデータトラフィック特性(たとえば、ランダムアクセスまたはクラスタ化された(相関)アクセス)に応じて選択されてもよい。一例では、DDRモードでランダムアクセスがより適切である場合があり、SDRモードでクラスタ化されたアクセスがより適切である場合がある。一例では、データトラフィック特性は、アドレス相関メトリックを使用して定量化されてもよい。アドレス相関メトリックは、連続的メモリアクセスのランダム性を定量化する。一例では、アドレス相関メトリックは、0から1までの正規化された値であり、ここで0は全体的に無相関な連続的メモリアクセス(たとえば、ランダムアクセス)を示し、1は全体的に相関する連続的メモリアクセス(たとえば、クラスタ化されたメモリアクセス)を示す。
【００３０】
一例では、データレートモード選択は、SDRモードが選択されるとき、より緩和されたタイミング制約、dc電力節約、短縮されたチャネル特性トレーニング時間(たとえば、イコライザトレーニング)などを可能にする場合がある。たとえば、より緩和されたタイミング制約は、より緩和されたインターフェースセットアップおよびホールド時間を含んでもよく、たとえばDDRモードのハーフクロックサイクルから、SDRモードのフルクロックサイクルに緩和される。一例では、この緩和されたタイミング制約は、より高いクロック速度へのスケーリングおよび厳しいクロックスキュー要件の達成を容易にする。さらに、一例では、基板制約が、DDRモードの利用を可能にしない場合がある。
【００３１】
図3は、2つのCA入力バスと、4つのCA出力バスとともに2チャネルRCD300の一例を示す。図3の例では、2つのCA入力バス(D0CA 320およびD1CA 330)が示され、4つのCA出力バス(Q0ACA 340、Q0BCA 350、Q1ACA 360、およびQ1BCA 370)が示される。RCD300の各チャネルは、1つのCA入力バスと、2つのCA出力バスを含んでもよい。たとえば、第1のチャネルが、CA入力バスのD0CA 320と、2つのCA出力バスのQ0ACA 340およびQ0BCA 350とを含んでもよい。たとえば、第2のチャネルが、CA入力バスのD1CA 330と、2つのCA出力バスのQ1ACA 360およびQ1BCA 370とを含んでもよい。一例では、CA入力バスは、各々Nビットを含み、CA出力バスは、各々2Nビットを含む。CA入力バスは、長さpビット、すなわちp=0、p=1またはp>1の入力パリティビットを含む場合もある。また、CA出力バスは、長さqビット、すなわちq=0、q=1またはq>1の出力パリティビットを含む場合がある。一例では、CA入力バスは、SDRモードまたはDDRモードのいずれかで動作してもよく、CA出力バスは、SDRモードで動作してもよい。CA出力バスでは、SDRモードは、2Nモードとして示される場合もある。2Nモードでは、データは、1つおきのクロックエッジ、たとえば1つおきの立上りエッジでのみ転送される。1Nモードでは、データは、すべてのクロックエッジ、たとえばすべての立上りエッジで転送される。
【００３２】
一例では、RCD300は、CA入力バス上のビットの登録を制御するためにCA入力バス上で(すなわち、ホストに面して)、2つの入力データレートモード、すなわちSDR(シングルデータレート)モードおよびDDR(ダブルデータレート)モードをサポートする。たとえば、入力データレートモードは、RCDへのモード選択制御線を使用して選択されてもよい。モード選択制御線の一例が、モード選択制御線260として図2に示される。別の例では、入力データモードは、RCDにモード制御ビットをプログラムすることによって選択されてもよい。モード制御ビットは、たとえばCA入力バス上のコマンドによりプログラムされる。
【００３３】
一例では、モード選択制御線のデフォルト状態は、SDRモードである。一例では、デフォルト状態は、システム状態を設定するために明示的なコマンドが使用されない場合に採用されるシステム状態である。CA入力バスは、Nビットのビット幅を有する。一例では、N=7である。例として、単一の入力パリティビットまたは複数の入力パリティビットが、Nビットを超えて、CA入力バスに追加される場合がある。すなわち、p=1またはp>1である。CA出力バスは、2Nビットのビット幅を有する。一例では、2N=14である。例として、出力パリティビットがCA出力バスに追加されない、すなわちq=0である場合がある。または、出力パリティビットが、CA出力バスに追加される、すなわちq=1またはq>1である場合がある。一例では、RCDは、CA入力バスのビット幅を、CA出力バス上ではNビットから2Nビットに拡張してもよい。
【００３４】
Table 1(表1)は、CA出力バスビット(別名QCA)へのCA入力バスビット(別名DCA)の1つの可能なマッピングを示す。たとえば、CA入力バスビットは、入力ビット0、入力ビット1、入力ビット2などとして個々に指定されてもよく、入力ビット0は、CA入力バスビットの最下位ビット(LSB)であってもよい。たとえば、DCA0は、D0CAまたはD1CAのいずれかの入力ビット0を指してもよい、DCA1は、D0CAまたはD1CAのいずれかの入力ビット1を指してもよい、DCA2は、D0CAまたはD1CAのいずれかの入力ビット2を指してもよい、などである。たとえば、CA出力バスビットは、出力ビット0、出力ビット1、出力ビット2などとして個々に指定されてもよく、出力ビット0は、CA出力バスビットの最下位ビット(LSB)であってもよい。たとえば、QCA0は、Q0CAまたはQ1CAのいずれかの出力ビット0を指してもよい、QCA1は、Q0CAまたはQ1CAのいずれかの出力ビット1を指してもよい、QCA2は、Q0CAまたはQ1CAのいずれかの出力ビット2を指してもよい、などである。
【表１】
0006873257.tif 000002
【００３５】
また、一例では、UIは、シンボル持続時間の別名でも知られる、ユニットインターバルを示す。たとえば、1つのUIは、信号状態変化間の最小の時間間隔(たとえば、パルス時間またはシンボル持続時間)であり、1つのUIは、各連続パルスまたはシンボルが要する時間である。一例では、Table 1(表1)は、入力データの出力データへのマッピングを示し、入力データ(たとえば、DCA)の7ビットと、出力データ(たとえば、QCA)の14ビットとがある場合がある。たとえば、入力データ(たとえば、DCA)は、UI 0およびUI 1と表示された2つのUIにわたって転送されてもよい。たとえば、UI 0からの入力データが、出力データの第1のサブセット(たとえば、QCA 0〜QCA 6)を生成してもよく、UI 1からの入力データが、出力データの第2のサブセット(たとえば、QCA 7〜QCA 13)を生成してもよい。
【００３６】
たとえば、CA入力バス(すなわち、DCA)に対してSDRモードでは、モード選択制御線は、ホストインターフェースに対してSDRモードのままであり、CA出力バス(すなわち、QCA)は、CA入力バス(DCA)上でSDRモードが有効であるとき、2Nモードで動作する。この場合、RCDは、シグナルインテグリティマージンを向上させる、2NモードのCA出力バス上でより多くのセットアップおよびホールド時間を取得するということが利点である場合がある。
【００３７】
一例では、データが、クロック信号の次の立下りエッジではなく、クロック信号の次の立上りエッジで捕捉されるので、SDRモードのCA出力バス上でさらなる半周期のクロック遅延がある場合がある。一例では、読取りレイテンシは一般的に数十クロックサイクルであるので、この遅延の性能への影響はごく小さい。加えて、CA出力バス利用率は、SDRモードでは倍増する場合があるが、各コマンドのデータをDRAMに転送するのに一般的に8クロックサイクルかかるので、性能への影響はごく小さい。
【００３８】
図4は、シングルデータレート(SDR)モードの1ユニットインターバル(UI)タイミング図400の一例を示す。図4の例では、コマンドまたはアドレスが、1UIにわたって転送され、1UIは、シンボル持続時間を表す。入力クロックDCK_tおよびその補数(complement)DCK_cが、クロック立上りエッジを上昇する矢印で示した図4の上部に示される。入力チップ選択信号DCS_nが、メモリ入力動作のためにチップを選択するのに使用される。コマンドまたはアドレスが、入力CAバス信号DCAを使用して転送される。一例では、DCAは、DCA[6:0]として示される、7入力ビットを有する。入力CAバス信号用のパリティは、パリティ信号DPAR(図示せず)を使用して伝えられてもよい。出力クロックQCK_tおよびその補数QCK_cもまた示される。出力チップ選択信号QCS_nが、メモリ出力動作のためにチップを選択するのに使用される。コマンドまたはアドレスは、出力CAバス信号QCAを使用して転送される。一例では、QCAは、DCA[13:0]として示される、14出力ビットを有する。一例では、QCAは、クロックサイクルごとに、すなわちUIにつき1度、データを転送する。
【００３９】
図5は、シングルデータレート(SDR)モードの2ユニットインターバル(UI)タイミング図500の一例を示す。図5の例では、コマンドまたはアドレスが、2UIにわたって転送され、1UIは、シンボル持続時間を表す。入力クロックDCK_tおよびその補数(complement)DCK_cが、クロック立上りエッジを上昇する矢印で示した図5の上部に示される。入力チップ選択信号DCS_nが、メモリ入力動作のためにチップを選択するのに使用される。コマンドまたはアドレスが、入力CAバス信号DCAを使用して転送される。一例では、DCAは、DCA[6:0]として示される、7入力ビットを有する。入力CAバス信号用のパリティは、パリティ信号DPAR(図示せず)を使用して伝えられてもよい。出力クロックQCK_tおよびその補数QCK_cもまた示される。出力チップ選択信号QCS_nが、メモリ出力動作のためにチップを選択するのに使用される。コマンドまたはアドレスは、出力CAバス信号QCAを使用して転送される。一例では、QCAは、DCA[13:0]として示される、14出力ビットを有する。一例では、QCAは、1つおきのクロックサイクルで、すなわち2UIにつき1度、データを転送する。
【００４０】
Table 2(表2)は、レジスタリングクロックドライブ(RCD)を介した伝搬遅延tPDMの特性を示す。
【表２】
0006873257.tif 000003
【００４１】
図6は、ダイナミックランダムアクセスメモリ(DRAM)のためのレジスタリングクロックドライブ(RCD)用のコマンド/アドレス(CA)バスにデータレートモードを選択し、実行するための例示的なフロー図600を示す。ブロック610において、1つまたは複数のデータレートモード選択基準を決定する。一態様では、データレートモード選択基準は、メモリ特性および/または応用ニーズに基づいてもよい。メモリ特性の例は、クロック速度および/またはバースト長を含む場合がある。応用ニーズの例は、アクセス統計、読取り/書込み比率、レイテンシ、デューティファクタ、ページクラスタリング、および/またはストリーミング特性を含む場合がある。一例では、データレートモード選択基準は、dc電力制約および/またはデータトラフィック特性を含んでもよい。
【００４２】
たとえば、速度しきい値を超えるクロック速度については、DDRモードが実行可能ではない場合があり、データレートモード選択基準は、クロック速度に基づいてもよい。一例では、クロック速度が速度しきい値を超える場合、SDRモードを選択する。クロック速度が速度しきい値を超えない場合、DDRモードを選択する。一例では、速度しきい値は、4.8ギガトランスファー毎秒(Gtps)であってもよい。
【００４３】
たとえば、データレートモード選択基準は、バースト長に基づいてもよい。一例では、バースト長がバースト長しきい値以上である場合、SDRモードを選択する。バースト長がバースト長しきい値未満である場合、DDRモードを選択する。一例では、バースト長しきい値は、16クロックサイクルである。別の例では、バースト長しきい値は、32クロックサイクルである。一例では、バースト長は、CA入力バス240(図2に示す)で転送される(クロックサイクルで測定される)シンボルのグループである。
【００４４】
たとえば、データレートモード選択基準は、データトラフィック特性、またはアドレス相関メトリックなどのアクセス統計に基づいてもよい。アドレス相関メトリックは、連続的メモリアクセスのランダム性を定量化する。一例では、アドレス相関メトリックは、0から1までの正規化された値であり、ここで0は全体的に無相関な連続的メモリアクセス(たとえば、ランダムアクセス)を示し、1は全体的に相関する連続的メモリアクセス(たとえば、クラスタ化されたメモリアクセス)を示す。一例では、データレートモード選択基準のためにアドレス相関メトリックしきい値を定義する。たとえば、アドレス相関メトリックがアドレス相関メトリックしきい値を超える場合、SDRモードを選択する。そうでない場合、DDRモードを選択する。一例では、ブロック610のステップは、メモリコントローラ(たとえば、メモリコントローラ110)によって行われる。
【００４５】
ブロック620において、1つまたは複数のデータレートモード選択基準に基づいて、データレートモードを選択する。一例では、データレートモードは、シングルデータレート(SDR)モード、およびダブルデータレート(DDR)モードである。別の例では、データレートモードは、4倍データレート(QDR)モードである。一例では、ブロック620のステップは、メモリコントローラ(たとえば、メモリコントローラ110)によって行われる。
【００４６】
ブロック630において、データレートモードに対するホストインターフェースを構成する。ホストインターフェースは、たとえば第1のバス(たとえば、図2に示すCA入力バス240)を介したRCDへのホストの出力部である。たとえば、SDRモードがデータレートモードである場合、ホストインターフェースは、SDRモード用に構成される。別の例では、DDRモードがデータレートモードである場合、ホストインターフェースは、DDRモード用に構成される。一態様では、ホストインターフェースは、第1のコマンド/アドレスバスインターフェースである。一態様では、ホストインターフェースは、第1のデータバスと、第1のクロック信号とを含む。一態様では、ホストインターフェースを構成することは、第1のクロック信号を使用して第1のデータバスによりホストインターフェース上でデータ転送を開始することを含んでもよい。一例では、ブロック630のステップは、メモリコントローラ(たとえば、メモリコントローラ110)によって行われる。
【００４７】
ブロック640において、データレートモード(すなわち、SDRモードまたはDDRモード)用にRCD入力インターフェースを構成する。RCD入力インターフェースは、たとえば第1のバス(たとえば、図2に示すCA入力バス240)を介したホストからの、RCDへの入力部である。一例では、RCD入力インターフェースは、第2のコマンド/アドレスバスインターフェースである。第1のコマンド/アドレスバスインターフェースおよび第2のコマンド/アドレスバスインターフェースは、CA入力バスに接続されてもよい。一例では、SDRモード用のホストインターフェースおよびRCD入力インターフェースは、N入力ビットを含む。また、別の例では、DDRモード用のホストインターフェースおよびRCD入力インターフェースは、N入力ビットを含む。一例では、ホストインターフェースおよびRCD入力インターフェースは、複数の入力パリティビットを含んでもよい。また、一態様では、RCD入力インターフェースを構成することが、クロック信号を使用してRCD入力インターフェース上でデータ受信を開始することを含んでもよい。一例では、ブロック640のステップは、メモリコントローラ(たとえば、メモリコントローラ110)によって行われる。
【００４８】
ブロック650において、ホストインターフェース上およびRCD入力インターフェース上でクロック信号をアクティブ化する。一例では、クロック信号は、方形波信号である。別の例では、クロック信号は、正弦波信号である。別の例では、クロック信号は、クロックレートRを有する周期信号である。一例では、SDRモードは、クロック信号立上りエッジでデータを転送する。別の例では、SDRモードは、クロック信号立下りエッジでデータを転送する。一例では、DDRモードは、クロック信号立上りエッジとクロック信号立下りエッジの両方でデータを転送する。一例では、ブロック650のステップは、クロックジェネレータ(たとえば、クロックジェネレータ160)によって行われる。
【００４９】
ブロック660において、データレートモード(すなわち、SDRモードまたはDDRモード)用のクロック信号を使用して、ホストインターフェースからRCD入力インターフェースへデータを転送する。一例では、転送されるデータはコマンドである。一例では、転送されるデータはアドレスである。一例では、アドレスは、データ記憶またはデータ検索のためにメモリ位置を指定するために使用される。一例では、ブロック660において、データは、ホストインターフェースとRCD入力インターフェースとの間で転送される。一例では、データを転送することは、書込み動作を含む。一例では、データを転送することは、読取り動作を含む。一例では、データは、コマンドまたはアドレスを含む。一例では、コマンドは、所望の動作または状態、たとえば書込み、読取り、クリア、リセットなどを指定するビットパターンのセットを含む。一例では、アドレスは、書込み動作または読取り動作のいずれかのために所望のメモリ位置を指定するビットパターンの特定のグループである。
【００５０】
一例では、ブロック660のステップは、ホスト(たとえば、ホスト210)によって行われる。一例では、ブロック660のステップは、RCD(たとえば、RCD220)と連携したホスト(たとえば、ホスト210)によって行われる。一例では、ブロック660のステップは、入力バス(たとえば、CA入力バス240)を使用して行われる。
【００５１】
ブロック670において、1Nモードまたは2Nモードのいずれかでクロック信号を使用して、RCD出力インターフェースからメモリへデータを転送する。1Nモードでは、データは、すべてのクロック信号エッジ、たとえばすべての立上りエッジまたはすべての立下りエッジで転送される。RCD出力インターフェースは、第2のバス(たとえば、図2に示すCA出力バス250)を介したメモリ(たとえば、図2に示すメモリ230)へのRCDの出力部である。2Nモードでは、データは、1つおきのクロック信号エッジ、たとえば1つおきの立上りエッジまたは1つおきの立下りエッジで転送される。一例では、転送されるデータはコマンドである。一例では、転送されるデータはアドレスである。一例では、アドレスは、データ記憶(たとえば、書込み動作)またはデータ検索(たとえば、読取り動作)のためにメモリ位置を指定するために使用される。一例では、メモリは、ダイナミックランダムアクセスメモリ(DRAM)である。一例では、ブロック670のステップは、RCD(たとえば、RCD220)によって行われる。一例では、ブロック670のステップは、メモリ(たとえば、メモリ230)と連携したRCD(たとえば、RCD220)によって行われる。一例では、ブロック670のステップは、出力バス(たとえば、CA出力バス250)を使用して行われる。
【００５２】
図6の例示的なフロー図の中で開示するステップは、本開示の範囲および趣旨から逸脱することなくそれらの順序を入れ替えることができることは、当業者には理解されよう。また、フロー図の中で示すステップは排他的ではなく、本開示の範囲および趣旨に影響を及ぼすことなく、他のステップが含まれてよく、または例示的なフロー図の中の1つまたは複数のステップが削除されてよいことも、当業者には理解されよう。
【００５３】
本明細書で開示する例に関して説明する様々な例示的な構成要素、論理ブロック、および/またはアルゴリズムステップは、電子ハードウェア、ファームウェア、コンピュータソフトウェア、またはそれらの組合せとして実装される場合があることを当業者はさらに諒解されよう。ハードウェア、ファームウェア、およびソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、論理ブロック、および/またはアルゴリズムステップは、概して、それらの機能の観点から上記で説明した。そのような機能をハードウェア、ファームウェア、またはソフトウェアのいずれとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は説明した機能を特定の適用例ごとに様々な方法で実装してもよいが、そのような実装の決定は、本開示の範囲または趣旨からの逸脱を引き起こすものと解釈されるべきでない。
【００５４】
たとえば、図6のブロックで説明する様々なステップに対して、実装形態は、ハードウェアおよび/またはソフトウェアを含んでもよい。いくつかの例では、ホスト(たとえば、図2に示すホスト210)に、またはホストの外部にあるメモリコントローラが、ハードウェアおよび/またはソフトウェアを収容してもよい。ハードウェア実装形態の場合、処理ユニットは、1つまたは複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、本明細書で説明する機能を実行するように設計された他の電子ユニット、またはそれらの組合せ内に実装されてもよい。ソフトウェアであれば、実装形態は、本明細書で説明する機能を実行するモジュール(たとえば、プロシージャ、ファンクションなど)によるものであってもよい。ソフトウェアコードは、メモリユニットに記憶され、プロセッサユニットによって実行されてもよい。加えて、本明細書で説明する様々な例示的フロー図、論理ブロックおよび/またはアルゴリズムステップは、当技術分野で知られている任意のコンピュータ可読媒体上で搬送される、または当技術分野で知られている任意のコンピュータプログラム製品に実装される、コンピュータ可読命令として符号化される場合もある。一態様では、コンピュータ可読媒体は、非一時的コンピュータ可読媒体を含む。
【００５５】
コンピュータ可読媒体は、コンピュータ記憶媒体と、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体の両方を含んでもよい。記憶媒体は、コンピュータによってアクセスされることが可能である任意の利用可能な媒体であってもよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形態で所望のプログラムコードを搬送もしくは記憶するために使用されることが可能で、コンピュータによってアクセスされることが可能である任意の他の媒体を含んでもよい。
【００５６】
一態様では、図6の、ダイナミックランダムアクセスメモリ(DRAM)のためにレジスタリングクロックドライブ(RCD)のコマンドおよびアドレス(CA)バスにシングルデータレート(SDR)モードまたはダブルデータレート(DDR)モードを実現するためのステップの1つまたは複数が、ハードウェア、ソフトウェア、ファームウェアなどを含む場合がある1つまたは複数のプロセッサによって実行されてもよい。一態様では、図6のステップの1つまたは複数が、ハードウェア、ソフトウェア、ファームウェアなどを含む場合がある1つまたは複数のプロセッサによって実行されてもよい。1つまたは複数のプロセッサは、たとえば図6のフロー図のステップを行うために必要なソフトウェアまたはファームウェアを実行するために使用されてもよい。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、または他の名称で呼ばれるかにかかわらず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、プロシージャ、関数などを意味するように広く解釈されるべきである。ソフトウェアは、コンピュータ可読媒体上に存在してもよい。コンピュータ可読媒体は、非一時的コンピュータ可読媒体であってもよい。非一時的コンピュータ可読媒体は、例として、磁気記憶デバイス(たとえば、ハードディスク、フロッピーディスク、磁気ストリップ)、光ディスク(たとえば、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD))、スマートカード、フラッシュメモリデバイス(たとえば、カード、スティック、またはキードライブ)、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、レジスタ、リムーバブルディスク、ならびにコンピュータによってアクセスされ、読み取られる場合があるソフトウェアおよび/または命令を記憶するための任意の他の好適な媒体を含む。
【００５７】
コンピュータ可読媒体はまた、例として、搬送波、伝送線路、ならびにコンピュータによってアクセスされるとともに読み取られる場合があるソフトウェアおよび/または命令を送信するための任意の他の好適な媒体を含んでもよい。コンピュータ可読媒体は、処理システム内に存在してもよく、処理システムの外部に存在してもよく、または処理システムを含む複数のエンティティにわたって分散されてもよい。コンピュータ可読媒体は、コンピュータプログラム製品において具現化される場合がある。例として、コンピュータプログラム製品は、パッケージング材料の中のコンピュータ可読媒体を含んでもよい。コンピュータ可読媒体は、ダイナミックランダムアクセスメモリ(DRAM)のためにレジスタリングクロックドライブ(RCD)のコマンドおよびアドレス(CA)バスのシングルデータレート(SDR)モードまたはダブルデータレート(DDR)モード用のソフトウェアまたはファームウェアを含んでもよい。特定の適用例およびシステム全体に課される全体的な設計制約に応じて、本開示全体にわたって提示する、説明した機能をどのように最良に実装すべきかを当業者は認識されよう。
【００５８】
開示する態様の前述の説明は、当業者が本開示を作製または使用できるようにするために提供される。これらの態様への様々な変更は、当業者に容易に明らかとなり、本明細書で定義される一般原理は、本開示の趣旨または範囲から逸脱することなく他の態様に適用される場合がある。
【符号の説明】
【００５９】
100  メモリシステム
110  メモリコントローラ
120  メモリ
130  コマンド/アドレス(CA)バス
140  データバス
150  クロック信号
160  クロックジェネレータ
200  メモリシステム
210  ホスト
220  レジスタリングクロックデバイス(RCD)
230  メモリ
240  制御/アドレス(CA)入力バス
250  制御/アドレス(CA)出力バス
260  モード選択制御線
【図１】
0006873257.tif 000004
【図２】
0006873257.tif 000005
【図３】
0006873257.tif 000006
【図４】
0006873257.tif 000007
【図５】
0006873257.tif 000008
【図６】
0006873257.tif 000009