JP5474837B2 - アドレス信号/制御信号のためのダブル・データ・レートのスキームを使用する、インタフェース・ピンの要件が低減された二重チャネル・メモリ・アーキテクチャ - Google Patents

アドレス信号/制御信号のためのダブル・データ・レートのスキームを使用する、インタフェース・ピンの要件が低減された二重チャネル・メモリ・アーキテクチャ Download PDF

Info

Publication number
JP5474837B2
JP5474837B2 JP2010548781A JP2010548781A JP5474837B2 JP 5474837 B2 JP5474837 B2 JP 5474837B2 JP 2010548781 A JP2010548781 A JP 2010548781A JP 2010548781 A JP2010548781 A JP 2010548781A JP 5474837 B2 JP5474837 B2 JP 5474837B2
Authority
JP
Japan
Prior art keywords
memory
clock signal
bus
memory device
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010548781A
Other languages
English (en)
Other versions
JP2011513845A (ja
Inventor
マオ、ジャン
サンクラトリ、ラグフ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2011513845A publication Critical patent/JP2011513845A/ja
Application granted granted Critical
Publication of JP5474837B2 publication Critical patent/JP5474837B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Static Random-Access Memory (AREA)

Description

本開示の実施形態は、一般に、メモリ・アーキテクチャに関し、特に、インタフェース・ピンの要件が低減された二重データ・チャネルのメモリ・アーキテクチャに関する。
いくつかのアプリケーションにおいて、プロセッサは、少量のデータを転送するメモリ・アクセス動作を大きな割合で有しうる。このようなメモリ・アクセス動作は、一般に、(例えば、バースト長読み取り、及び/あるいは、バースト長書き込みのような)バースト長アクセスとして周知である。現在のリサーチは、小規模のバースト長アクセスについて、メモリ・デバイスにアクセスする複数の狭い独立データ・チャネルは、広幅のメモリ・インタフェースを有する単一データ・チャネルよりも優れた性能を提供しうると示唆している。従って、単一の広チャネル・メモリ・インタフェースを有する既存のシステムは、各データ・チャネルのビット幅を低減しながら、データ・チャネルの数を増加させることによって、利益を得うる。
しかし、単一のデータ・チャネル・メモリ・インタフェースを有する既存の処理システムを、二重メモリ・インタフェースを有する処理システムにアップグレードすることは、いくつかの設計課題を提起しうる。例えば、二重チャネルを使用する従来型のメモリ・インタフェースは、アドレス・チャネル及び/あるいは制御チャネルに関連付けられた、より複雑な回路を有しうる。これは、より複雑なパッケージと回路基板設計をもたらし、もって、インタフェース・ピンや回路トレース等の数を増加させうる。このような結果は、費用と設計リスクの増加に不利な影響を及ぼしうる。更に、このような設計変更は、既存の構成要素及び/あるいはその他の既存のサブシステムとのいかなる類の下位互換性をも阻んでしまう。
従って、広チャネル・インタフェース用の既存のピンを利用しうる二重狭チャネル・インタフェースを有するメモリ・アーキテクチャが必要とされている。その結果として生じるメモリ・アーキテクチャは、ピン数の増加によるシステム費用に対する影響を与えることなく実現されうる。
インタフェース・ピンの要件を低減した二重チャネル・メモリ・アーキテクチャのための装置及び方法が以下に提示される。
1つの実施形態において、メモリ・アーキテクチャは、メモリ・コントローラと、共有アドレス・バス及び第1のクロック信号によってメモリ・コントローラに結合された第1のメモリ・デバイスとを含む。このメモリ・アーキテクチャは更に、共有アドレス・バス及び第2のクロック信号によってメモリ・コントローラに結合された第2のメモリ・デバイスを含む。ここで、第2のクロック信号の極性は、第1のクロック信号の極性の逆である。
別の実施形態において、データ・トランザクションを実行するための方法が提示される。この方法は、第1のメモリ・デバイス及び第2のメモリ・デバイスへ、共有アドレス・バスでアドレス信号を提供することと、共通クロック信号から導出され、極性を逆にされたクロック信号をメモリ・デバイスに提供することと、別々の狭データ・バスによって、クロック信号に基づいて交互にデータをメモリ・デバイスへ転送することとを含む。
更に別の実施形態において、メモリ・アーキテクチャは、メモリ・コントローラと、共有制御バス及び第1のクロック信号によってメモリ・コントローラに結合された第1のメモリ・デバイスと、共有制御バス及び第2のクロック信号によってメモリ・コントローラに結合された第2のメモリ・デバイスとを含みうる。ここで、第2のクロック信号の極性は、第1のクロック信号の極性の逆である。
本発明の別の実施形態において、メモリ・アーキテクチャは、メモリ・コントローラと、共有制御バス及び第1のクロック信号によってメモリ・コントローラに結合された第1のメモリ・デバイスと、共有制御バス及び第2のクロック信号によってメモリ・コントローラに結合された第2のメモリ・デバイスとを含みうる。ここで、第2のクロック信号の極性は、第1のクロック信号の極性の逆である。
添付された図面は、本発明の実施形態の説明を助けるように提示され、限定のためではなく、単に実施形態の例示のために提供される。
図1は、2つの狭チャネルのダブル・データ・レート(DDR)・メモリを使用する従来型の単一広チャネルのDDRメモリ・アーキテクチャのブロック図を示す。 図2は、従来型の二重狭チャネルのDDRメモリ・アーキテクチャのブロック図を示す。 図3は、二重狭チャネルのDDRメモリ・アーキテクチャのブロック図を示す。 図4は、図1乃至図3に例示されたメモリ・コントローラに関連付けられたタイミング図を示す。 図5Aは、二重狭チャネルのメモリ・アーキテクチャに従う典型的なDDRコントローラのブロック図を示す。 図5Bは、二重狭チャネルのメモリ・アーキテクチャに従う典型的なDDRコントローラのブロック図を示す。 図6は、二重狭チャネルのNANDメモリ・アーキテクチャのブロック図を示す。
本発明の態様は、本発明の特定の実施形態に関する以下の説明と、関連した図面とにおいて開示される。代替の実施形態は、本発明の範囲から逸脱することなく想到されうる。加えて、本発明に関係する詳細を不明瞭にすることがないように、本発明における周知の構成要素は詳細には説明されず、省略される。
単語「典型的」は本明細書において、「例、実例、例示として役立つこと」を意味するために使用される。「典型的」として本明細書において説明される実施形態は、必ずしもその他の態様より好ましい、あるいは有利なものとして解釈されるものではない。同様に、用語「本発明の実施形態」は、本発明の全ての実施形態が、説明された特徴、利点、あるいは動作モードを含んでいることを必要としているわけではない。
本明細書において使用される技術用語は、特定の実施形態を説明することのみを目的とし、本発明の実施形態を限定することは意図されていない。本明細書において使用されるように、単数形「a」、「an」、「the」は、コンテキストが明確にそうではないと示さない限りは、複数形も同様に含むことが意図されている。用語「備える」、「備えている」、「含む」、及び/あるいは「含んでいる」は、本明細書において使用された場合、記述された特徴、整数、ステップ、動作、エレメント、及び/あるいは構成要素の存在を明記するが、1あるいは複数のその他の特徴、整数、ステップ、動作、エレメント、構成要素、及び/あるいはそれらのグループの存在あるいは追加を排除しないということが更に理解されるだろう。
本明細書において使用されるように、ダブル・データ・レート(DDR)・メモリという用語は、当該技術において周知である多種多様な異なるメモリ・デバイス規格を称し、例えば、以下のような種類のメモリ・デバイスを含みうる:低電力ダブル・データ・レート(LPDDR)、スタンダードDDR、DDR2等。
更に、多くの実施形態が、例えば、コンピューティング・デバイスの構成要素によって実行されるアクションのシーケンスの観点から説明される。本明細書で説明される様々なアクションが、(例えば、アプリケーション特有集積回路(ASIC)のような)特定の回路、1あるいは複数のプロセッサによって実行されるプログラム命令群、あるいはその両方の組み合わせによって実行されうるということが認識されるだろう。加えて、本明細書で説明されるアクションのシーケンスは、実行中、関連付けられたプロセッサに、本明細書で説明された機能を実行させるコンピュータ命令群の対応するセットを格納した任意の形態のコンピュータ読取可能記録媒体内に完全に組み込まれると見なされる。このように、本発明の様々な態様は、複数の異なる形態に組み込まれ、それらの全ては特許請求された主題の範囲内であることが意図されている。加えて、本明細書で説明される実施形態の各々について、それら任意の実施形態の対応する形態が、例えば、説明されたアクションを実行する「ように構成されたロジック」のように、本明細書において説明されうる。
図1は、従来型の単一広チャネルのダブル・データ・レート(DDR)・メモリ・アーキテクチャ100のブロック図を示す。メモリ・アーキテクチャ100は、DDRコントローラ110と、XビットのDDRメモリ・デバイス120と、第2のXビットのDDRメモリ・デバイス130と、アドレス/制御(ADDR/CTRL)バス140と、上位バス及び下位バスを備える広データ・バス150とを含みうる。本明細書において使用されるように、用語Xは、(バス幅とも称される)データ・バスを通して同時に転送されうるビットの数を意味している。この変数「X」は、例えば、4、8、16、32、あるいはそれ以上のように、任意のビット数を表しうる。用語「2Xのビット」は、狭いバス幅のデータ・バスの二倍のバス幅を有する典型的な広データ・バスを意味するために本明細書において使用される。しかし、「2X」乗数は、限定的と見なされるべきではなく、本発明の様々な実施形態は、その他の乗算をも利用しうる。更に、広バス及び狭バスのそれぞれの幅の間の比率は、整数に限定されない(すなわち、広バスは、ビットの任意の数だけ、狭バスより広い幅である)。
広データ・バス150は、DDRコントローラ110とXビットのメモリ・デバイス120、130の各々との間でデータを転送するために使用されうる。広データ・バス150は、2X個の別々のラインDQ[2X−1:X]及びDQ[X−1:0]を使用して、同じ方式で、データを転送しうる。広データ・バス150は、データ・ストローブ信号(DQS)及びデータ・マスクを運ぶ専用ラインも有しうる。DQSは、データを捕捉するために使用されうる。DM信号は、有効なデータ・バイトを示すために使用されうる。これらの信号の名前が、どのDDR仕様が言及されているかによって様々である一方、その他様々なDDR仕様において使用される信号は、基本的に同様の機能を実行しうる。
XビットのDDRメモリ・デバイス120、130内のメモリを適切にアドレスするために、ADDR/CTRLバス140は、DDRコントローラ110からメモリ・デバイス120、130へ、アドレス情報及び/あるいは制御情報を提供するために使用されうる。一般的に、単一書き込み動作の間、データは、ADDR/CTRLバス140で単一アドレスを供給し、その後すぐに、データ・バス150で複数のデータ・ワードを供給することによって、DDRデバイスに書き込まれうる。特に、ADDR/CTRLバス140は、以下の信号を運ぶための専用ラインを含みうる:A[n:0]、BA[m:0]、/RAS/、/CAS、及び/あるいは/WE。ここで、「m」及び「n」は、メモリ・デバイス仕様に依存する行アドレス値及び列アドレス値である。上記で述べられたように、文字数が少ない(すなわち、バースト書き込み中の)場合、単一広チャネルDDRメモリ・アーキテクチャ100は、二重チャネルDDRデータ・バスを使用するシステムほど効率的ではない。これは、以下に示す図面の説明において議論される。
DDRコントローラ110は、複数のその他のクロック信号及び関連付けられた制御信号をも、各メモリ・デバイス120、130に提供する。例えば、DDRコントローラ150は、差分クロック信号CK、/CKを、各メモリ・デバイスに提供しうる。本明細書で定義されるように、/CKクロック信号は、CKクロック信号の反転されたバージョンでありうる。DDRコントローラ110は更に、第1のクロック・イネーブル信号(CKE0)及び第1のチップ選択信号(CS0)を、DDRメモリ・デバイス120に提供し、第2のクロック・イネーブル信号(CKE1)及び第2のチップ選択信号(CS1)をDDRメモリ・デバイス130に提供しうる。差分クロック信号は、DDRコントローラ110とメモリ・デバイス120、130との間でメモリが転送されるレートを判定しうる。チップ選択信号は、DDRコントローラ110に対するデータを、データ・バス150でいつ受け取り/提供すべきかをメモリ・デバイス120、130に伝えうる。この構成において、チップ選択信号(CS1)及びクロック・イネーブル信号(CKE1)は使用されないということに留意されたい。
DDRコントローラ110は更に、別々のデータ・バスでデータを転送する1あるいは複数の処理デバイス(図示せず)に結合されうる。このような処理デバイスは、マイクロプロセッサと、マイクロコントローラと、デジタル信号プロセッサとを含み、更にそれら任意の組み合わせも含みうるが、それらに限定はされない。
単一広チャネル(DDR)・アーキテクチャ100の応用例は、一般的に、例えば、モバイル・アクセス端末や、情報携帯端末や、デジタル・ビデオ/ミュージック・プレイヤ等のようなポータブル・デバイスを含みうる。
図2は、従来型の二重狭チャネルDDRメモリ・アーキテクチャ200のブロック図を示す。メモリ・アーキテクチャ200は、DDRコントローラ210と、XビットのDDRメモリ・デバイス220と、第2のXビットのDDRメモリ・デバイス230と、第1のアドレス/制御(ADDR/CTRL)バス240と、第2のアドレス/制御(ADDR/CTRL)バス245と、第1の狭データ・バス250と、第2のデータ・バス255とを含みうる。用語「Xビットの」は、狭バスの幅を有するデータ・バスを意味するように本明細書で使用される。
DDRメモリ・アーキテクチャ200において、2つの狭データ・バス250、255は、DDRコントローラ210とXビットのメモリ・デバイス220、230との間でデータを転送するために使用されうる。狭バス250は、XビットのDDRメモリ・デバイス230から/にデータの読み取り/書き込みをするために設けられ、狭バス255は、XビットのDDRメモリ・デバイス220から/にデータの読み取り/書き込みをするために設けられうる。各狭データ・バス250、255は、並列方式でXの別々のラインDQ[X−1:0]を使用して、データを転送しうる。各狭データ・バス250、255は更に、データ・ストローブ信号(DQS)及びデータ・マスクを運ぶ専用ラインを各々有しうる。
データ・バス250、255でのデータ転送が、低いバースト長を有する場合(すなわち、バースト読み取り/書き込みの間)、二重狭チャネルDDRメモリ・アーキテクチャ200は、図1において上記で説明されたメモリ・アーキテクチャ100よりも効率的だろう。
XビットのDDRメモリ・デバイス220、230内のメモリを適切にアドレスするために、2つの別々のADDR/CTRLバス240、250が、アドレス情報/制御情報をDDRコントローラ210からメモリ・デバイス220、230へ提供するために使用される。ADDR/CTRLバス240は、XビットのDDRメモリ・デバイス230に制御信号を提供するために設けられ、ADDR/CTRLバス245は、XビットのDDRメモリ・デバイス220に制御信号を提供するために設けられうる。特に、ADDR/CTRLバス240、245は、以下の信号を運ぶために専用ラインを各々含んでいる:A[n:0]、BA[m:0]、/RAS、/CAS、及び/あるいは/WE。
DDRコントローラ210は更に、各メモリ・デバイス220、230に、複数のその他のクロック信号、及び関連付けられた制御信号を提供する。例えば、DDRコントローラ210は、各メモリ・デバイスに、差分クロック信号CK、/CKを提供しうる。差分クロック信号は、DDRコントローラ210とメモリ・デバイス220、230との間でメモリが転送されるレートを判定しうる。DDRコントローラ210は更に、DDRメモリ・デバイス220に、チャネル0クロック・イネーブル信号(CKE_CH0)及びチャネル0チップ選択信号(CS_CH0)を提供し、DDRメモリ・デバイス230に、第2のクロック・イネーブル信号(CKE_CH1)及び第2のチップ選択信号(CS_CH1)を提供しうる。チップ選択信号は、DDRコントローラ210に対するデータを、それぞれの狭データ・バス250、255でいつ受け取り/提供すべきかを、メモリ・デバイス220、230に伝えうる。
DDRコントローラ210は更に、1あるいは複数の処理デバイス(図示せず)に結合されうる。二重データ・バス構造200は、データを転送するために別々の処理を同時に作動させる機会をより多く提供するので、DDRメモリ・アーキテクチャ200は、DDRコントローラ210が1より多くのプロセッサをサービス提供する場合に、より効率的である。
しかし、二重狭チャネルDDRメモリ・アーキテクチャ200の1つの欠点は、ADDR/CTRLバスの複製に必要となる付加的な回路複雑性にある。例えば、X=16ビットで2X=32ビットである場合、メモリ・アーキテクチャ200のピン数は、単一チャネル・メモリ・アーキテクチャ100のピン数より、およそ30%増加する。増加したピン数は、典型的な単一チャネル設計との非互換性を引き起こし、設計コスト及び実装コストを増加させる。
図3は、本発明の実施形態に従う二重狭チャネルDDRメモリ・アーキテクチャ300のブロック図を示す。メモリ・アーキテクチャ300は、DDRコントローラ310と、第1のXビットのDDRメモリ・デバイス320と、第2のXビットのDDRメモリ・デバイス330と、共有アドレス/制御(ADDR/CTRL)バス340と、第1の狭データ・バス350と、第2の狭データ・バス355とを含みうる。
DDRメモリ・アーキテクチャ300では、2つの狭データ・バス350、355は、DDRコントローラ310とXビットのメモリ・デバイス320、330の各々との間でデータを転送するために使用されうる。狭バス350は、XビットのDDRメモリ・デバイス330から/に、データの読み取り/書き込みをするために設けられ、狭バス355は、XビットのDDRメモリ・デバイス320から/に、データの読み取り/書き込みをするために設けられうる。各狭データ・バス350、355は、並列方式でDQ[X−1:0]を使用して、データを転送しうる。各狭データ・バス350、355は更に、データ・ストローブ信号(DQS)及びデータ・マスクを運ぶ専用ラインを各々有しうる。本発明の様々な実施形態において、2つの狭データ・バス350、355は、単一広バスを使用して実施されうる。例えば、2つの16ビット・バスは、32ビット・バスを分割することによって実現されうる。
XビットのDDRメモリ・デバイス320、330内のメモリを適切にアドレスするために、DDRコントローラ310からメモリ・デバイス320、330へ、アドレス情報及び/あるいは制御情報を提供するために、共有ADDR/CTRLバス340が使用されうる。特に、ADDR/CTRLバス340は、アドレス・バス及び制御バスでありうる。アドレス・バス及び制御バスの両方が利用される場合、バスは別々であるか、結合されうる。実施形態は、別々の制御バス及び共有アドレス・バスを有するアーキテクチャと、制御バス及びアドレス・バスが共有されているアーキテクチャとを含みうる。共有ADDR/CTRLバスは、メモリ・デバイス320、330の間で共有されるため、代替クロック・サイクルの各メモリ・デバイスにおいてアドレス情報を更新しうる。アドレス・バスは、以下のアドレス信号及びバンク・アドレス信号、A[n:0]及びBA[m:0]を運ぶために専用ラインを含みうる。様々な実施形態において、アドレス・バスは、16ビットの結合されたバス幅を有しうる。制御バスは、以下の制御信号を含みうる:/RAS、/CAS、及び/あるいは/WE。
二重狭チャネルDDRメモリ・アーキテクチャ300は、メモリ・デバイス320、330に対するバースト・アクセス読み取り及び書き込みの間、従来型の二重狭チャネルDDRメモリ・アーキテクチャ200の効率的な利点を共有する。しかし、DDRメモリ・アーキテクチャ300は、1つの共有ADDR/CTRLバス340を有しているのみであるため、インタフェース・ピン数は低減される。これは、回路基板上の配線の低減、ひいては、複雑性の低減をもたらす。
DDRコントローラ310も、各メモリ・デバイス320、330に複数のクロック信号を提供するが、従来型のDDRアーキテクチャ200とは異なる方式でそれを行う。DDRコントローラ310は、各メモリ・デバイスに差分クロック信号CK、/CKを提供するが、2つのメモリ・デバイス320、330の間でクロック信号の極性を逆にする。例えば、図3において示されるように、DDRコントローラ310は、DDRメモリ・デバイス320のために、CK入力にCK信号を、/CK入力に/CK信号を提供する。しかし、DDRメモリ330については、この構成が逆になる。DDRコントローラ310は、DDRメモリ330における入力にCKクロック信号を提供し、DDRメモリ330におけるCK入力に/CKクロック信号を提供する。この構成は、DDRコントローラ310とメモリ・デバイス320、330との間での交互のデータ転送を可能にする。これは、クロック信号CKの立ち上がり端及び立ち下り端の両方で生じる。本発明の様々なその他の実施形態は、CK及び/CKについて差分信号を使用することに限定されない。クロック信号CK、/CKは、逆極性を有しているため、メモリ・デバイスは、交互に読み込まれる。従って、クロック信号CK、/CKは、任意の従来技術を使用して、適宜に生成されうる。例えば、クロック信号CKは、任意の従来の方式で生成されうるし、クロック信号/CKは、極性を逆にするインバータを通してクロック信号を駆動することによって提供されうる。
DDRコントローラ310も、DDRメモリ・デバイス320に、第1のクロック・イネーブル信号(CKE_CH0)及び第1のチップ選択信号(CS_CH0)を提供し、DDRメモリ・デバイス330に、第2のクロック・イネーブル信号(CKE_CH1)及び第2のチップ選択信号(CS_CH1)提供しうる。以前のように、差分クロック信号は、DDRコントローラ360とメモリ・デバイス320、330との間でメモリが転送されるレートを判定することができる。チップ選択信号は、DDRコントローラ310に対するデータを、第1のデータ・バス350及び第2のバス355で、いつ受け取り/提供すべきかを、メモリ・デバイス320、330に伝えうる。図3において示された実施形態において、2つのDDRデータ・チャネルが利用されているため、DDRコントローラ310の実現は従来設計の単一チャネル設計とは異なりうる。従来のDDRコントローラを修正するための様々なアプローチが取られうる。DDRコントローラの2つの典型的な実施例が、図5A及び図5Bにおいて下記に提示されている。
共有ADDR/CTRLバス340を使用し、2つのDDRデータ・チャネルでアドレス信号を共有することによって、DDRコントローラ310は、従来の二重チャネルDDRコントローラ210のような効率的なバースト・アクセス動作の利点を有している。しかし、共有ADDR/CTRLバスは、DDRコントローラをメモリ・デバイスにインタフェースするために使用されるピンの数を統合する。このアプローチは、追加のピンを加える必要性を未然に防ぎ、既存の単一データ・チャネルのハードウェアとの下位互換性を維持する。よって、アーキテクチャ300の使用は、モバイル・アクセス端末と、低電力ランダム・アクセス・メモリ(RAM)にアクセスする組み込みプロセッサ/コントローラを有するその他のポータブル・デバイスとにおける使用についても有益である。
図4は、図1乃至図3において例示されたメモリ・コントローラに関連付けられたタイミング図を示す。タイミング図410は、図3のチャネル0(XビットDDRメモリ0(320))に対応するCK,/CK、ADDR/CTRL信号を示し、タイミング図420は、図3のチャネル1(XビットDDRメモリ1(330))に対応するCK、/CK、ADDR/CTRL信号を示す。タイミング図で示されるように、tIHは、アドレス入力ホールド時間、及び制御入力ホールド時間として定義され、tISは、アドレス入力設定時間、及び制御入力設定時間として定義され、TIPWは、アドレス入力パルス幅、及び制御入力パルス幅として定義されている。ここで、立ち上がりクロック遷移において、広データ・バス150でデータが転送される。クロック信号CKの立ち上がり遷移の間、共有ADDR/CTRLバス340は、読み取り/書き込み動作が生じることを可能にするアドレス情報及び制御情報を提供する。タイミング図430は、これらチャネル0とチャネル1とを合成したタイミング図である。データが第1、第2のデータ・バス350、355によって転送される場合、ADDR/CTRLバス340の動作はタイミング図430内では重ならないため干渉しない。
第1、第2のデータ・チャネル350、355でのデータ転送間のタイミングが密な場合、共有ADDR/CTRLバス340による可能性のある干渉を低減するために、クロック周波数CKが下げられる。これは、デバイスの電力消費を低減するという追加的な利益を提供しうる。
図5は、本発明の様々な実施形態に従うDDRコントローラ310A、310Bの典型的実施例を示す。図5Aにおいて、DDRコントローラ310Aは、トラフィックを2つの16ビット・メモリ・インタフェース・バスに送るために、プロセッサ側の2つのバスを利用しうる。この実施形態において、下位互換性を維持するために、2つの16ビット・バスが単一の32ビット・バス540として実現されていることに注意されたい。
特に、この実施形態について、DDRコントローラ310Aは、2つの高度な拡張可能インタフェース(AXI)・メモリ・コントローラ520A、520Bと、16/32ビット・コントローラ525と、16ビット・コントローラ530と、DDR I/Oロジック・インタフェース535とを含みうる。2つのAXIバス510A、510Bは、AXIメモリ・コントローラ520A、520Bと、それぞれデータを授受する。各AXIメモリ・コントローラ内において、データは、次の処理のためにバッファされ、最適化される。AXIバス510Aからのデータは、AXIメモリ・コントローラ520Aによってバッファされ、最適化され、その後、16/32ビット・メモリ・コントローラ525へ渡される。AXIバス510Bからのデータは、AXIメモリ・コントローラ520Bによってバッファされ、最適化され、その後、16ビット・コントローラ530へ渡される。
AXIメモリ・コントローラ520A、520Bは、低/高優先度付キュー(LPQ、HPQ)を含みうる。HPQは、比較的レイテンシ要件が少ないマスタにサービス提供するために、メモリ・コントローラ520A、520Bで使用されうる。その他の全てのマスタは、LPQを通してサービス提供されうる。Wバッファは、書き込みトランザクションを捕捉し、その他の保留のトランザクションのためにAXIバスを開放するように意図された書き込みバッファである。AXIメモリ・コントローラ520A、520B内のオプティマイザは、性能を改善するためにAXIバスからのトランザクションを再配列しうる。
16/32ビット・コントローラ525及び16ビット・コントローラ530からのデータ・ワードは、32ビットDDRバス540による、2つのチャネルでの16ビット・データ・バス転送を提供するために、DDR I/Oロジック・インタフェース535によってフォーマットされうる。図5Aに示された実施形態は、インタフェース・ピン数を低減しうる二重チャネル・メモリの比較的シンプルな実施例の特徴を有する。
既存の単一のデータ・チャネル・ハードウェアとの下位互換性を維持するために、DDRコントローラ310Aは、単一の(例えば、32ビットの)広バスをメモリ・インタフェースとして使用する代替的な動作モードが可能である。このモードは、本明細書において「レガシー・モード」と称される。DDRコントローラ310Aのモードは、初期化中に、プロセッサ(図示せず)によって設定されうる。初期化中、プロセッサは、設定バス545を使用して、DDRコントローラ310Aを設定しうる。設定バス545は、ソフトウェアによって制御される設定信号を提供するために、AXIメモリ・コントローラ520A、DDR I/Oロジック・インタフェース535、16/32ビット・コントローラ525、及び16ビット・コントローラ530、とインタフェースしうる。レガシー・モードで動作すると、16ビット・コントローラ530は機能せず、16/32ビット・コントローラ525のみが、32ビット・モードで運転可能な状態に留まる。レガシー・モードにおいて、AXIバス510A及びAXIメモリ・コントローラ520Aのみが動作し、AXIバス510B及びAXIメモリ・コントローラ520Bは、電源がオフになる。
図5Bにおいて、DDRコントローラ310Bは、トラフィックを2つの16ビット・メモリ・インタフェース・バスへと送るために、プロセッサ側の単一のバスを使用しうる。ここで、DDRコントローラ310Bは、1つの高度な拡張可能インタフェース(AXI)・メモリ・コントローラ522と、16/32ビット・コントローラ525と、16ビット・コントローラ530と、DDR I/Oロジック・インタフェース535とを含みうる。単一のAXIバス515は、AXIメモリ・コントローラ522と、データを授受しうる。AXIメモリ・コントローラ525によって処理されたデータは、2つのチャネルへと分割され、16/32ビット・コントローラ525及び16ビット・コントローラ530へ転送される。コントローラ525、530は、2つのチャネルのデータを、DDR I/Oロジック・インタフェースへ転送する。16/32ビット・コントローラ525及び16ビット・コントローラ530からのデータ・ワードは、32ビットDDRバス540での、2つのチャネルによる16ビット・データ・バス転送を提供するために、DDR I/Oロジック・インタフェース535によってフォーマットされうる。AXIメモリ・コントローラ522内において、データは、2つのチャネルでデータ・トラフィックを送ることによる複雑性に対処するために、二重チャネル・ルータ/バッファによって送られ、バッファされ、2つのオプティマイザによって最適化されうる。
AXIメモリ・コントローラ522は、二重チャネル・ルータ、及び低/高優先度付キュー(LPQ、HOQ)を含みうる。単一バスによる二重チャネル・スキームの実現のために、二重チャネル・ルータが使用され、トラフィックを1つのチャネルから2つのチャネルへと送る。比較的レイテンシ要件が少ないマスタにサービス提供するために、HPQがAXIメモリ・コントローラ522において使用されうる。その他の全てのマスタは、LPQを通してサービス提供されうる。Wバッファは、書き込みトランザクションを捕捉し、その他の保留のトランザクションのためにAXIバスをリリースするように意図された書き込みバッファである。AXIメモリ・コントローラ522は、性能を改善するために、AXIバスからのトランザクションを再配列するための2つのオプティマイザを含みうる。AXIメモリ・コントローラ525は、単一のパイプライン型のバス・システムであるプロトコルを利用しうる。単一のパイプライン・バスを使用することは、16/32ビット・コントローラ525及び16ビット・コントローラ530が、2つの別々のバスによってインタフェースされているかのように、それらのコントローラ両方にサービス提供しうる。
図5Aにおいて示された実施形態について上記で説明されたように、DDRコントローラ310Bは、既存の単一データ・チャネルのハードウェアとの下位互換性を維持するために、レガシー・モードでも動作しうる。DDRコントローラ310Bは、単一の(例えば、32ビットの)広バスをメモリ・インタフェースとして使用して、代替的なモードで動作しうる。上記のように、DDRコントローラ310Bのモードは、設定バス545を使用して、初期化中に、プロセッサ(図示せず)によって設定されうる。設定バス545は、ソフトウェアによって制御される設定信号を提供するために、AXIメモリ・コントローラ522、DDR I/Oロジック・インタフェース535、16/32ビット・コントローラ525、及び16ビット・コントローラ530、とインタフェースしうる。レガシー・モードで動作すると、16ビット・コントローラ530は機能せず、16/32ビット・コントローラ525のみが、32ビット・モードで運転可能な状態に留まる。
図6は、NANDフラッシュ・メモリを利用する本発明の実施形態に従う二重狭チャネルNANDメモリ・アーキテクチャ600のブロック図を示す。メモリ・アーキテクチャ600は、NANDフラッシュ・コントローラ610と、第1のXビットのNANDメモリ・デバイス620と、第2のXビットのNANDメモリ・デバイス630と、共有制御(CTRL)バス640と、第1のアドレス/データ・バス650と、第2のデータ・バス355とを含みうる。
NANDメモリ・アーキテクチャ600では、2つのアドレス/データ・バス650、655は、NANDコントローラ610と、XビットのNANDメモリ・デバイス620、630の各々との間で、データ及びアドレス情報の両方を転送するために使用されうる。この実施形態において、アドレス情報及びデータは、DQバス・ラインの同じ一組を使用して、多重化される。第1のバス650は、XビットのNANDメモリ・デバイス630にデータをアドレスすることと、このメモリ・デバイス630から/に、データの読み取り/書き込みをすることとの両方のために設けられ、第2のバス655は、XビットのNANDメモリ・デバイス620にデータをアドレスすることと、このメモリ・デバイス620から/に、データの読み取り/書き込みをすることとの両方のために設けられている。
各狭データ・バス650、655は、時分割多重化によってXの別々のラインDQ[X−1:0]を使用して、アドレス情報及びデータの両方を転送するために利用されうる。メモリへの書き込み動作の間、NANDフラッシュ・メモリ・コントローラ610は、アドレス/データ・バス650、655での転送の前に、アドレス・ビット及びデータ・ビットを多重化しうる。アドレス・ビット及びデータ・ビットは、その後、XビットのNANDメモリ620、630で、逆多重化されうる。メモリからの読み取り動作の間、この処理は同様であるが、データのフローは逆になる。動作を多重化/逆多重化することを実行するための回路(図示せず)は、NANDメモリ・コントローラとXビットのNANDメモリ・デバイス620、630とに組み込まれうる。別の実施形態において、多重化/逆多重化回路は、NANDメモリ・コントローラ610及び/あるいはXビットのNANDフラッシュ・メモリ・デバイス620、630の外側に実現されうる。狭データ・バス650、655は更に、別々のデータ・ストローブ信号を運ぶ専用ラインを各々有しうる。バス655は、データ・ストローブ信号DQS0を利用し、バス650は、データ・ストローブ信号DQS1を使用しうる。本発明の様々な実施形態において、2つの狭データ・バス650、655は、単一の広バスを使用して実現されうる。例えば、2つの16ビット・バスは、32ビットのデータ・バスを分割することによって実現されうる。この実施形態において、アドレスすることは、シングル・データ・レート(SDR)で動作する一方、データ転送は、ダブル・データ・レートで動作しうる。
XビットのNANDメモリ・デバイス620、630内にメモリを適切にアドレスするために、共有CTRLバス640は、NANDコントローラ610からの制御情報をNANDメモリ・デバイス620、630に提供するために使用されうる。バスで転送された制御信号は、SDRアドレスにも類似しているCLE、ALE、WE_N,RE_Nを含みうる。従って、DDRメモリ・デバイスについて上記で説明された二重チャネルの概念は、NANDタイプのメモリ・デバイスに適用可能でありうる。
アドレス・バスは、以下のアドレス信号及びバンク・アドレス信号A[n:0]及びBA[m:0]を運ぶために、データ・バスとラインを共有しうる。制御バスは、以下の制御信号を含みうる:/RAS、/CAS、及び/あるいは/WE。
NANDメモリ・コントローラ610も、各メモリ・デバイス620、630に複数のクロック信号を提供する。NANDコントローラ610は、XビットのNANDメモリ・デバイス620に直接提供されうる単一のクロック信号CKを提供する。CK信号は、XビットのNANDメモリ・デバイス630へ提供されうる/CK信号を生成するために反転されうる。この構成によって、NANDメモリ・コントローラ610と、NANDメモリ・デバイス620、630との間で交互にデータを転送することが可能になる。これは、クロック信号CKの立ち上がり端と立ち下り端の両方で生じる。本発明のその他様々な実施形態は、CK及び/CKのための差分信号を使用することに限定されない。クロック信号CK、/CKは、逆極性を有しているため、メモリ・デバイスは交互に読み込まれる。よって、クロック信号CK、/CKは、任意の従来の技術を使用して、適宜に生成されうる。
NANDコントローラ610は、第1のチップ選択信号(CS_CH0)をNANDメモリ・デバイス620に提供し、第2のチップ選択信号(CS_CH1)をNANDメモリ・デバイス630に提供する。チップ選択信号は、NANDコントローラ610に対するデータを、第1のデータ・バス650及び第2のデータ・バス655でいつ受け取り/提供すべきかを、メモリ・デバイス620、630に伝えうる。
情報及び信号が、任意の様々な異なる技術及び技法を使用して表されうることを、当業者は理解するだろう。例えば、上記の文中において言及されうる、実例、データ、命令、コマンド、情報、信号、ビット、記号、及びチップが、電圧、電流、電磁波、磁場もしくは磁気粒子、光学もしくは光学粒子、あるいはそれら任意の組み合わせによって表されうる。
従って、本発明は、例示された実例に限定されず、本明細書において説明された機能を実行する任意の手段は、本発明の実施形態に含まれる。
上述の開示が、本発明の例示的な実施形態を示している一方、添付された特許請求の範囲によって定義された本発明の範囲を逸脱することなく、様々な変更及び変形例が本明細書においてなされうる。本明細書において説明された発明の実施形態に従う方法クレームの機能、ステップ、及び/あるいは動作は、特定の順番で実行される必要はない。更に、本発明のエレメントは、単数形で説明あるいは権利主張されうるが、単数までの限定が明確に述べられていない限りは、複数であることが意図されている。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
メモリ・アーキテクチャであって、
メモリ・コントローラと、
共有アドレス・バス及び第1のクロック信号によって、前記メモリ・コントローラと結合された第1のメモリ・デバイスと、
前記共有バス及び第2のクロック信号によって、前記メモリ・コントローラと結合された第2のメモリ・デバイスとを備え、前記第2のクロック信号の極性が、前記第1のクロック信号の極性の逆であるメモリ・アーキテクチャ。
[C2]
前記第1のメモリ・デバイスと前記メモリ・コントローラとの間でデータを転送するための第1の狭バスと、
前記第2のメモリ・デバイスと前記メモリ・コントローラとの間でデータを転送するための第2の狭バスとを更に備えるC1に記載のメモリ・アーキテクチャ。
[C3]
前記第1の狭バス及び前記第2の狭バスが、単一の広バスによって実現されうるC2に記載のメモリ・アーキテクチャ。
[C4]
前記メモリ・コントローラが、下位互換性を維持するために、単一の広バスで動作するように構成されることができるC1に記載のメモリ・アーキテクチャ。
[C5]
前記メモリ・コントローラが、差分シグナリングを使用して、前記第1のクロック信号及び前記第2のクロック信号を直接提供するC1に記載のメモリ・アーキテクチャ。
[C6]
前記メモリ・コントローラが、前記第1及び第2のメモリ・デバイスの両方に、前記第1及び第2のクロック信号の両方を提供し、前記第2のメモリ・デバイスの第1及び第2のクロック信号のための入力が、前記第1及び第2のクロック信号が適用される前記第1のメモリ・デバイスの入力から逆にされているC5に記載のメモリ・アーキテクチャ。
[C7]
前記メモリ・コントローラは、前記第1のクロック信号を、前記第1のメモリ・デバイスに対してと、インバータに対して提供し、前記インバータは、前記第2のクロック信号を提供するC1に記載のメモリ・アーキテクチャ。
[C8]
前記第1及び第2のメモリ・デバイスに結合された共有制御バス
を更に備えるC1に記載のメモリ・アーキテクチャ。
[C9]
前記共有制御バスと前記共有アドレス・バスとが結合されているC8に記載のメモリ・アーキテクチャ。
[C10]
前記共有アドレス・バス及び前記共有制御バスのうちの少なくとも1つが、前記メモリ・コントローラを前記第1及び第2のメモリ・デバイスにインタフェースするのに必要とされるピンの数を統合するC8に記載のメモリ・アーキテクチャ。
[C11]
前記メモリ・デバイスは、DDRメモリ・デバイスあるいは低電力DDR(LPDDR)デバイスのうちの1つであるC1に記載のメモリ・アーキテクチャ。
[C12]
前記第1及び第2のメモリ・デバイスは、16ビット・デバイスから成り、前記第1の狭バスは、16ビット・バス幅を備え、前記第2の狭バスは16ビット・バス幅を含み、前記アドレス・バスは、16ビット・バスを備えるC11に記載のメモリ・アーキテクチャ。
[C13]
データ・トランザクションを実行する方法であって、
共有アドレス・バスで、アドレス信号を第1のメモリ・デバイス及び第2のメモリ・デバイスに提供することと、
共通クロック信号から導出され、極性を逆にされたクロック信号を、前記メモリ・デバイスに提供することと、
前記メモリ・デバイスに、別々の狭データ・バスで、前記クロック信号に基づいて交互にデータを転送することと
を備える方法。
[C14]
前記第1のメモリ・デバイスに第1のクロック信号を提供し、前記第2のメモリ・デバイスに第2のクロック信号を提供することを更に備え、前記第2のクロック信号の極性が、前記第1のクロック信号の極性の逆であるC13に記載の方法。
[C15]
前記第1のクロック信号及び前記第2のクロック信号を、差分シグナリングを使用して提供することを更に備えるC14に記載の方法。
[C16]
前記第1及び第2のメモリ・デバイスの両方に、前記第1及び第2のクロック信号の両方を提供することを更に備え、前記第2のメモリ・デバイスの第1及び第2のクロック信号のための入力が、前記第1及び第2のクロック信号が適用される前記第1のメモリ・デバイスの入力から逆にされているC13に記載の方法。
[C17]
前記第1のクロック信号を、前記第1のメモリ・デバイスに対してと、インバータに対して提供することを更に備え、前記インバータは、前記第2のクロック信号を提供するC13に記載の方法。
[C18]
前記第1及び第2メモリ・デバイスに、共有制御バスで、制御信号を提供することを更に備えるC13に記載の方法。
[C19]
前記共有アドレス・バスと前記共有制御バスとが結合されているC18に記載の方法。
[C20]
前記メモリ・コントローラを前記第1及び第2のメモリ・デバイスにインタフェースするのに必要とされるピンの数を統合することを更に備えるC13に記載の方法。
[C21]
DDRメモリ・アーキテクチャであって、
共有アドレス・バスで、第1のメモリ・デバイス及び第2のメモリ・デバイスに、アドレス信号を提供する手段と、
共通クロック信号から導出され、極性を逆にされたクロック信号を、前記メモリ・デバイスに提供する手段と、
前記メモリ・デバイスに、別々の狭データ・バスで、前記クロック信号に基づいて交互にデータを転送することと
を備えるDDRメモリ・アーキテクチャ。
[C22]
前記第1のメモリ・デバイスに第1のクロック信号を提供し、前記第2のメモリ・デバイスに第2のクロック信号を提供する手段を更に備え、前記第2のクロック信号の極性は、前記第1のクロック信号の極性の逆であるC21に記載のDDRメモリ・アーキテクチャ。
[C23]
前記第1のクロック信号及び前記第2のクロック信号を、差分シグナリングを使用して提供する手段
を更に備えるC22に記載のDDRメモリ・アーキテクチャ。
[C24]
前記第1及び第2のメモリ・デバイスの両方に、前記第1及び第2のクロック信号の両方を提供する手段を更に備え、更に、前記第2のメモリ・デバイスの第1及び第2のクロック信号のための入力が、前記第1及び第2のクロック信号が適用される前記第1のメモリ・デバイスの入力から逆にされているC21に記載のDDRメモリ・アーキテクチャ。
[C25]
前記第1のクロック信号を、前記第1のメモリ・デバイスに対してと、インバータに対して提供する手段を更に備え、更に、前記逆にされた第1のクロック信号は、前記第2のクロック信号を生成するC21に記載のDDRメモリ・アーキテクチャ。
[C26]
メモリ・アーキテクチャであって、
メモリ・コントローラと、
共有制御バス及び第1のクロック信号によって、前記メモリ・コントローラと結合された第1のメモリ・デバイスと、
前記共有制御バス及び第2のクロック信号によって、前記メモリ・コントローラと結合された第2のメモリ・デバイスとを備え、前記第2のクロック信号の極性は、前記第1のクロック信号の極性の逆であるメモリ・アーキテクチャ。
[C27]
前記第1のメモリ・デバイスと前記メモリ・コントローラとの間でデータを転送するための第1の狭バスと、
前記第2のメモリ・デバイスと前記メモリ・コントローラとの間でデータを転送するための第2の狭バスと
を更に備えるC26に記載のメモリ・アーキテクチャ。
[C28]
前記第1の狭データ・バス及び前記第2の狭データ・バスで、アドレス情報が多重化されるC27に記載のメモリ・アーキテクチャ。
[C29]
前記メモリ・コントローラが、下位互換性を維持するために、単一の広バスで動作するように構成されることができるC26に記載のメモリ・コントローラ。
[C30]
前記メモリ・コントローラが、前記第1のクロック信号を、前記第1のメモリ・デバイスに対してと、インバータに対して提供する手段を更に備え、更に、前記インバータは、前記第2のメモリ・デバイスに提供された前記第2のクロック信号を提供するC26に記載のメモリ・アーキテクチャ。
[C31]
前記メモリ・コントローラは、NANDフラッシュ・メモリ・コントローラを備え、前記第1及び第2のメモリ・デバイスは、NANDフラッシュ・メモリ・デバイスを各々備えるC26に記載のメモリ・アーキテクチャ。

Claims (24)

  1. メモリ・アーキテクチャであって、
    メモリ・コントローラと
    ドレス・バスと制御バスとが結合された共有バスと第1のクロック信号とによって、前記メモリ・コントローラと結合された第1のメモリ・デバイスと、
    前記共有バスと第2のクロック信号とによって、前記メモリ・コントローラと結合された第2のメモリ・デバイスとを備え、前記第2のクロック信号の極性が、前記第1のクロック信号の極性の逆であり、
    前記共有バスは、前記第1のクロック信号の立ち上がりクロック遷移において、前記第1のメモリ・デバイスにアドレス信号および/または制御信号を提供し、前記第2のクロック信号の立ち上がりクロック遷移において、前記第2のメモリ・デバイスにアドレス信号および/または制御信号を提供するように構成された、メモリ・アーキテクチャ。
  2. 前記第1のメモリ・デバイスと前記メモリ・コントローラとの間でデータを転送するための第1の狭バスと、
    前記第2のメモリ・デバイスと前記メモリ・コントローラとの間でデータを転送するための第2の狭バスとを更に備える請求項1に記載のメモリ・アーキテクチャ。
  3. 前記第1の狭バス及び前記第2の狭バスが、単一の広バスによって実現されうる請求項2に記載のメモリ・アーキテクチャ。
  4. 前記メモリ・コントローラが、下位互換性を維持するために、単一の広バスで動作するように構成されることができる請求項1に記載のメモリ・アーキテクチャ。
  5. 前記メモリ・コントローラが、差分シグナリングを使用して、前記第1のクロック信号及び前記第2のクロック信号を直接提供する請求項1に記載のメモリ・アーキテクチャ。
  6. 前記メモリ・コントローラが、前記第1及び第2のメモリ・デバイスの両方に、前記第1及び第2のクロック信号の両方を提供し、前記第2のメモリ・デバイスの第1及び第2のクロック信号のための入力が、前記第1及び第2のクロック信号が適用される前記第1のメモリ・デバイスの入力から逆にされている請求項5に記載のメモリ・アーキテクチャ。
  7. 前記メモリ・コントローラは、前記第1のクロック信号を、前記第1のメモリ・デバイスに対してと、インバータに対して提供し、前記インバータは、前記第2のクロック信号を提供する請求項1に記載のメモリ・アーキテクチャ。
  8. 前記共有バスは、交互のクロック・サイクルの前記第1および第2のメモリ・デバイスの各々において、アドレス情報および/または制御情報を更新するように構成される請求項1に記載のメモリ・アーキテクチャ。
  9. 前記共有バスは、前記メモリ・コントローラを前記第1及び第2のメモリ・デバイスにインタフェースするのに必要とされるピンの数を統合する請求項8に記載のメモリ・アーキテクチャ。
  10. 前記メモリ・デバイスは、DDRメモリ・デバイスあるいは低電力DDR(LPDDR
    )デバイスのうちの1つである請求項2に記載のメモリ・アーキテクチャ。
  11. 前記第1及び第2のメモリ・デバイスは、16ビット・デバイスから成り、前記第1の狭バスは、16ビット・バス幅を備え、前記第2の狭バスは16ビット・バス幅を含み、前記共有バスは、16ビット・バスを備える請求項10に記載のメモリ・アーキテクチャ。
  12. データ・トランザクションを実行する方法であって、
    アドレス・バスと制御バスとが結合された共有バスで、アドレス信号及び制御信号を第1のメモリ・デバイス及び第2のメモリ・デバイスに提供することと、
    共通クロック信号から導出され、極性を逆にされたクロック信号を、前記メモリ・デバイスに提供することと、
    前記メモリ・デバイスに、別々の狭データ・バスで、前記クロック信号に基づいて交互にデータを転送することと
    を備え、
    前記共通クロック信号から導出され、極性を逆にされたクロック信号を、前記メモリ・デバイスに提供することは、前記第1のメモリ・デバイスに第1のクロック信号を提供し、前記第2のメモリ・デバイスに第2のクロック信号を提供することを備え、
    前記第2のクロック信号の極性が、前記第1のクロック信号の極性の逆であり、
    前記共有バスは、前記第1のクロック信号の立ち上がりクロック遷移において、前記第1のメモリ・デバイスへアドレス信号および/または制御信号を提供し、前記第2のクロック信号の立ち上がりクロック遷移において、前記第2のメモリ・デバイスへアドレス信号および/または制御信号を提供するように構成された、方法。
  13. 前記第1のクロック信号及び前記第2のクロック信号を、差分シグナリングを使用して提供することを更に備える請求項12に記載の方法。
  14. 前記第1及び第2のメモリ・デバイスの両方に、前記第1及び第2のクロック信号の両方を提供することを更に備え、前記第2のメモリ・デバイスの第1及び第2のクロック信号のための入力が、前記第1及び第2のクロック信号が適用される前記第1のメモリ・デバイスの入力から逆にされている請求項12に記載の方法。
  15. 前記第1のクロック信号を、前記第1のメモリ・デバイスに対してと、インバータに対して提供することを更に備え、前記インバータは、前記第2のクロック信号を提供する請求項12に記載の方法。
  16. 前記メモリ・コントローラを前記第1及び第2のメモリ・デバイスにインタフェースするのに必要とされるピンの数を統合することを更に備える請求項12に記載の方法。
  17. DDRメモリ・アーキテクチャであって
    ドレス・バスと制御バスとが結合された共有バスで、第1のメモリ・デバイス及び第2のメモリ・デバイスに、アドレス信号及び制御信号を提供する手段と、
    共通クロック信号から導出され、極性を逆にされたクロック信号を、前記メモリ・デバイスに提供する手段と、
    前記メモリ・デバイスに、別々の狭データ・バスで、前記クロック信号に基づいて交互にデータを転送する手段
    を備え、
    前記共通クロック信号から導出され、極性を逆にされたクロック信号を、前記メモリ・デバイスに提供する手段は、前記第1のメモリ・デバイスに第1のクロック信号を提供し、前記第2のメモリ・デバイスに第2のクロック信号を提供する手段を更に備え、
    前記第2のクロック信号の極性は、前記第1のクロック信号の極性の逆であり、
    前記共有バスは、前記第1のクロック信号の立ち上がりクロック遷移において、前記第1のメモリ・デバイスへアドレス信号および/または制御信号を提供し、前記第2のクロック信号の立ち上がりクロック遷移において、前記第2のメモリ・デバイスへアドレス信号および/または制御信号を提供するように構成された、DDRメモリ・アーキテクチャ。
  18. 前記第1のクロック信号及び前記第2のクロック信号を、差分シグナリングを使用して提供する手段
    を更に備える請求項17に記載のDDRメモリ・アーキテクチャ。
  19. 前記第1及び第2のメモリ・デバイスの両方に、前記第1及び第2のクロック信号の両方を提供する手段を更に備え、更に、前記第2のメモリ・デバイスの第1及び第2のクロック信号のための入力が、前記第1及び第2のクロック信号が適用される前記第1のメモリ・デバイスの入力から逆にされている請求項17に記載のDDRメモリ・アーキテクチ
    ャ。
  20. 前記第1のクロック信号を、前記第1のメモリ・デバイスに対してと、インバータに対して提供する手段を更に備え、更に、前記逆にされた第1のクロック信号は、前記第2のクロック信号を生成する請求項17に記載のDDRメモリ・アーキテクチャ。
  21. メモリ・アーキテクチャであって、
    メモリ・コントローラと
    ドレス・バスと制御バスとが結合された共有バスと第1のクロック信号とによって、前記メモリ・コントローラと結合された第1のメモリ・デバイスと、
    前記共有バスと第2のクロック信号とによって、前記メモリ・コントローラと結合された第2のメモリ・デバイスとを備え、前記第2のクロック信号の極性は、前記第1のクロック信号の極性の逆であり、
    前記メモリ・アーキテクチャはさらに、
    前記第1のメモリ・デバイスと前記メモリ・コントローラとの間でデータを転送するための第1の狭バスと、
    前記第2のメモリ・デバイスと前記メモリ・コントローラとの間でデータを転送するための第2の狭バスと
    を備え、
    前記第1の狭バス及び前記第2の狭バスで、アドレス情報および制御情報が多重化され、
    前記共有バスは、前記第1のクロック信号の立ち上がりクロック遷移において、前記第1のメモリ・デバイスへアドレス信号および/または制御信号を提供し、前記第2のクロック信号の立ち上がりクロック遷移において、前記第2のメモリ・デバイスへアドレス信号および/または制御信号を提供するように構成された、メモリ・アーキテクチャ。
  22. 前記メモリ・コントローラが、下位互換性を維持するために、単一の広バスで動作するように構成されることができる請求項21に記載のメモリ・アーキテクチャ
  23. 前記メモリ・コントローラが、前記第1のクロック信号を、前記第1のメモリ・デバイスに対してと、インバータに対して提供し、前記インバータは、前記第2のメモリ・デバイスに提供された前記第2のクロック信号を提供する請求項21に記載のメモリ・アーキテクチャ。
  24. 前記メモリ・コントローラは、NANDフラッシュ・メモリ・コントローラを備え、前記第1及び第2のメモリ・デバイスは、NANDフラッシュ・メモリ・デバイスを各々備える請求項21に記載のメモリ・アーキテクチャ。
JP2010548781A 2008-02-29 2009-02-04 アドレス信号/制御信号のためのダブル・データ・レートのスキームを使用する、インタフェース・ピンの要件が低減された二重チャネル・メモリ・アーキテクチャ Expired - Fee Related JP5474837B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/039,908 US7804735B2 (en) 2008-02-29 2008-02-29 Dual channel memory architecture having a reduced interface pin requirements using a double data rate scheme for the address/control signals
US12/039,908 2008-02-29
PCT/US2009/033018 WO2009111125A1 (en) 2008-02-29 2009-02-04 Dual channel memory architecture having reduced interface pin requirements using a double data rate scheme for the address/control signals

Publications (2)

Publication Number Publication Date
JP2011513845A JP2011513845A (ja) 2011-04-28
JP5474837B2 true JP5474837B2 (ja) 2014-04-16

Family

ID=40674058

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010548781A Expired - Fee Related JP5474837B2 (ja) 2008-02-29 2009-02-04 アドレス信号/制御信号のためのダブル・データ・レートのスキームを使用する、インタフェース・ピンの要件が低減された二重チャネル・メモリ・アーキテクチャ

Country Status (7)

Country Link
US (2) US7804735B2 (ja)
EP (1) EP2263153B1 (ja)
JP (1) JP5474837B2 (ja)
KR (1) KR101108342B1 (ja)
CN (2) CN103279438B (ja)
AT (1) ATE552557T1 (ja)
WO (1) WO2009111125A1 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710384B2 (en) 2008-01-04 2017-07-18 Micron Technology, Inc. Microprocessor architecture having alternative memory access paths
US9015399B2 (en) * 2007-08-20 2015-04-21 Convey Computer Multiple data channel memory module architecture
US7804735B2 (en) * 2008-02-29 2010-09-28 Qualcomm Incorporated Dual channel memory architecture having a reduced interface pin requirements using a double data rate scheme for the address/control signals
TW201026070A (en) * 2008-12-29 2010-07-01 Sunplus Technology Co Ltd Apparatus and method for accessing data
US8589714B2 (en) 2009-12-18 2013-11-19 Texas Instruments Incorporated Falling clock edge JTAG bus routers
EP2539823B1 (en) 2010-02-23 2016-04-13 Rambus Inc. Time multiplexing at different rates to access different memory types
US8595402B1 (en) * 2010-03-02 2013-11-26 Marvell International Ltd. Dynamic arbitration schemes for multi-master memory systems
JP5471631B2 (ja) * 2010-03-10 2014-04-16 セイコーエプソン株式会社 電子機器
US8472279B2 (en) 2010-08-31 2013-06-25 Micron Technology, Inc. Channel skewing
KR101854251B1 (ko) 2010-11-30 2018-05-03 삼성전자주식회사 멀티 채널 반도체 메모리 장치 및 그를 구비하는 반도체 장치
US20130111122A1 (en) * 2011-10-31 2013-05-02 Futurewei Technologies, Inc. Method and apparatus for network table lookups
CN103129185B (zh) * 2011-12-05 2016-04-06 珠海天威技术开发有限公司 数据存储装置及其数据访问方法、成像设备
US10355001B2 (en) * 2012-02-15 2019-07-16 Micron Technology, Inc. Memories and methods to provide configuration information to controllers
US9348775B2 (en) 2012-03-16 2016-05-24 Analog Devices, Inc. Out-of-order execution of bus transactions
US10430190B2 (en) 2012-06-07 2019-10-01 Micron Technology, Inc. Systems and methods for selectively controlling multithreaded execution of executable code segments
US9323608B2 (en) 2012-06-07 2016-04-26 Micron Technology, Inc. Integrity of a data bus
US9009570B2 (en) 2012-06-07 2015-04-14 Micron Technology, Inc. Integrity of an address bus
TWI498812B (zh) * 2013-01-07 2015-09-01 Mstar Semiconductor Inc 資料存取方法以及使用此資料存取方法的電子裝置
CN103970479B (zh) * 2013-01-24 2018-05-22 晨星半导体股份有限公司 数据存取方法以及使用此数据存取方法的电子装置
US9811455B2 (en) * 2013-03-15 2017-11-07 The Boeing Company Accessing different types of memory by respective distinct command with different timing requirements
US9111607B2 (en) * 2013-05-31 2015-08-18 Freescale Semiconductor, Inc. Multiple data rate memory with read timing information
KR102149768B1 (ko) 2014-04-29 2020-08-31 삼성전자주식회사 불휘발성 메모리 시스템
JP6434870B2 (ja) 2015-07-28 2018-12-05 ルネサスエレクトロニクス株式会社 電子装置
JP6348234B2 (ja) * 2015-09-18 2018-06-27 株式会社日立製作所 メモリコントローラ、メモリ制御方法および半導体記憶装置
CN108885553B (zh) * 2016-01-22 2022-12-27 索尼互动娱乐股份有限公司 模拟向后兼容的传统总线行为
CN105760310B (zh) * 2016-02-05 2018-12-14 华为技术有限公司 地址分配方法及ddr控制器
US10380060B2 (en) * 2016-06-17 2019-08-13 Etron Technology, Inc. Low-pincount high-bandwidth memory and memory bus
US9773543B1 (en) * 2016-08-31 2017-09-26 Xilinx, Inc. Effective clamshell mirroring for memory interfaces
US9940984B1 (en) * 2016-09-28 2018-04-10 Intel Corporation Shared command address (C/A) bus for multiple memory channels
US10846018B2 (en) * 2017-04-05 2020-11-24 Mediatek Inc. Memory device, memory controller and associated memory system operated according to selected clock signals
KR20180113371A (ko) * 2017-04-06 2018-10-16 에스케이하이닉스 주식회사 데이터 저장 장치
US10541020B2 (en) 2018-02-27 2020-01-21 Seagate Technology Llc Controller architecture for reducing on-die capacitance
CN112449693B (zh) 2018-03-07 2024-05-24 美光科技公司 在存储***的两遍编程之前执行读取操作
US10635357B2 (en) 2018-07-03 2020-04-28 Nvidia Corporation Method for overlapping memory accesses
US11048654B2 (en) * 2018-10-24 2021-06-29 Innogrit Technologies Co., Ltd. Systems and methods for providing multiple memory channels with one set of shared address pins on the physical interface
TWI692759B (zh) * 2019-05-15 2020-05-01 瑞昱半導體股份有限公司 同時存取第一動態隨機存取記憶體與第二動態隨機存取記憶體的方法及相關的記憶體控制器
US10936234B2 (en) * 2019-05-22 2021-03-02 Macronix International Co., Ltd. Data transfer between memory devices on shared bus
CN112286842B (zh) * 2019-07-22 2023-07-04 苏州库瀚信息科技有限公司 用于存储器控制器与存储器设备互连的总线
US11409684B2 (en) * 2020-07-31 2022-08-09 Alibaba Group Holding Limited Processing accelerator architectures
US11360897B1 (en) * 2021-04-15 2022-06-14 Qualcomm Incorporated Adaptive memory access management

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6198688B1 (en) 1998-04-02 2001-03-06 Hyundai Electronics Industries, Co., Ltd. Interface for synchronous semiconductor memories
JP2000285016A (ja) 1999-03-30 2000-10-13 Sanyo Electric Co Ltd メモリ制御回路
US6675272B2 (en) * 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
JP4074110B2 (ja) * 2002-03-20 2008-04-09 Necエレクトロニクス株式会社 シングルチップ・マイクロコンピュータ
US7003684B2 (en) 2002-03-27 2006-02-21 Via Technologies, Inc. Memory control chip, control method and control circuit
US7023719B1 (en) * 2003-10-23 2006-04-04 Lsi Logic Corporation Memory module having mirrored placement of DRAM integrated circuits upon a four-layer printed circuit board
WO2005083572A1 (ja) 2004-03-02 2005-09-09 Sony Corporation メモリ制御装置、メモリ制御方法、メモリ制御プログラムおよび画像撮像装置
JP3829851B2 (ja) * 2004-03-09 2006-10-04 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US20060036826A1 (en) * 2004-07-30 2006-02-16 International Business Machines Corporation System, method and storage medium for providing a bus speed multiplier
KR20080063268A (ko) * 2005-07-27 2008-07-03 더 보오드 오브 트러스티스 오브 더 유니버시티 오브 일리노이즈 정전기적으로 작동되는 양방향 고속 동작의 마이크로밸브
US7177230B1 (en) * 2005-08-25 2007-02-13 Mediatek Inc. Memory controller and memory system
US7804735B2 (en) * 2008-02-29 2010-09-28 Qualcomm Incorporated Dual channel memory architecture having a reduced interface pin requirements using a double data rate scheme for the address/control signals

Also Published As

Publication number Publication date
WO2009111125A1 (en) 2009-09-11
CN101960436B (zh) 2013-07-17
JP2011513845A (ja) 2011-04-28
US20100318730A1 (en) 2010-12-16
ATE552557T1 (de) 2012-04-15
EP2263153B1 (en) 2012-04-04
CN103279438A (zh) 2013-09-04
CN103279438B (zh) 2016-01-20
KR20100117687A (ko) 2010-11-03
US8325525B2 (en) 2012-12-04
CN101960436A (zh) 2011-01-26
EP2263153A1 (en) 2010-12-22
US20090219779A1 (en) 2009-09-03
KR101108342B1 (ko) 2012-01-25
US7804735B2 (en) 2010-09-28

Similar Documents

Publication Publication Date Title
JP5474837B2 (ja) アドレス信号/制御信号のためのダブル・データ・レートのスキームを使用する、インタフェース・ピンの要件が低減された二重チャネル・メモリ・アーキテクチャ
EP1488323B1 (en) Memory system with burst length shorter than prefetch length
JP5784582B2 (ja) コンフィギュラブルな帯域幅メモリ・デバイスおよび方法
US6681301B1 (en) System for controlling multiple memory types
JPH11176164A (ja) 半導体メモリ装置のデータマスキング方法とその回路、及び該回路を有する半導体メモリ装置
US8738852B2 (en) Memory controller and a dynamic random access memory interface
JP2007527565A (ja) 選択的にアクセス可能な共有メモリ資源を組み込んだスイッチ/ネットワークアダプタポート
TW544690B (en) Semiconductor memory device and memory system for improving bus efficiency
JP2010134627A (ja) バス中継装置
KR20150145465A (ko) 메모리 시스템 및 이의 동작 방법
US10162522B1 (en) Architecture of single channel memory controller to support high bandwidth memory of pseudo channel mode or legacy mode
JPH09213070A (ja) 隠れプリチャージ式疑似キャッシュdram
US6425045B2 (en) Reducing memory latency by not performing bank conflict checks on idle banks
JP2012522311A (ja) マージドメモリコマンドプロトコルをサポートするメモリシステム、コントローラ、およびデバイス
TWI259941B (en) Motherboard and bridge module therefor
US8074033B1 (en) Cooperating memory controllers that share data bus terminals for accessing wide external devices
KR20050057060A (ko) 어드레스 디코드
WO2013147733A1 (en) Timing optimization for memory devices employing error detection coded transactions
US8074096B2 (en) Semiconductor integrated circuit, memory system, memory controller and memory control method
KR100880836B1 (ko) 반도체 메모리장치
JP2008009763A (ja) 情報処理装置及びバス制御方法
US20240143268A1 (en) Supporting multiple audio endpoints with a single integrated inter-chip sound controller
WO2009125543A1 (ja) メモリ制御装置
JPH1116339A (ja) メモリコマンド制御回路
JP2002073405A (ja) データ処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130129

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131030

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140205

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5474837

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees