(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】2019523946
(43)【公表日】20190829
(54)【発明の名称】低ピンカウント広帯域幅メモリ及びメモリバス
(51)【国際特許分類】
   G06F 12/02 20060101AFI20190802BHJP
   G06F 12/00 20060101ALI20190802BHJP
   G06F 13/16 20060101ALI20190802BHJP
【FI】
   !G06F12/02 580J
   !G06F12/00 597C
   !G06F13/16 520A
【審査請求】未請求
【予備審査請求】未請求
【全頁数】59
(21)【出願番号】2018565379
(86)(22)【出願日】20170613
(85)【翻訳文提出日】20181212
(86)【国際出願番号】IB2017001333
(87)【国際公開番号】WO2018015817
(87)【国際公開日】20180125
(31)【優先権主張番号】15/618,907
(32)【優先日】20170609
(33)【優先権主張国】US
(31)【優先権主張番号】62/351,556
(32)【優先日】20160617
(33)【優先権主張国】US
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
(71)【出願人】
【識別番号】508059915
【氏名又は名称】エトロン テクノロジー,インコーポレイテッド
【氏名又は名称原語表記】Etron Technology,Inc.
【住所又は居所】台湾 30078,フシンチュ,フシンチュ サイエンス パーク,テクノロジー ロード 5,ナンバー 6
(74)【代理人】
【識別番号】100099623
【弁理士】
【氏名又は名称】奥山 尚一
(74)【代理人】
【識別番号】100107319
【弁理士】
【氏名又は名称】松島 鉄男
(74)【代理人】
【識別番号】100125380
【弁理士】
【氏名又は名称】中村 綾子
(74)【代理人】
【識別番号】100142996
【弁理士】
【氏名又は名称】森本 聡二
(74)【代理人】
【識別番号】100166268
【弁理士】
【氏名又は名称】田中 祐
(74)【代理人】
【識別番号】100170379
【弁理士】
【氏名又は名称】徳本 浩一
(74)【代理人】
【識別番号】100180231
【弁理士】
【氏名又は名称】水島 亜希子
(74)【代理人】
【識別番号】100096769
【弁理士】
【氏名又は名称】有原 幸一
(72)【発明者】
【氏名】クリスプ,リチャード・デュウィット
【住所又は居所】アメリカ合衆国カリフォルニア州95325,ホーニートス,ピー・オー・ボックス 317
【テーマコード(参考)】
5B160
【Fターム(参考)】
5B160AB17
5B160MB06
5B160MB09
5B160MM03
(57)【要約】
メモリコントローラ集積回路(メモリIC)120と、メモリバスと、メモリIC110とを含み、それらが全て同じピーク帯域幅の共通のDDRタイプメモリより少ない信号を使用する、メモリサブシステムが提供される。22個以下のスイッチング信号を使用して、そのサブシステムは、それらのICを相互接続するバスを介して3000メガバイト/秒超でデータを転送することができる。アドレス/制御コマンドをデータ転送のために使用される同じ信号のうちの少なくともいくつかに時分割多重化することによって、信号カウント削減が達成される。単一のバス信号を用いてバス動作を開始し、動作すると、単一の信号が、この単一のバス信号の16ビットサンプルに基づいて、シリアルプロトコルを介して、データ転送と同時にアドレス指定及び制御情報をメモリIC110に転送することができる。
【選択図】図1
【特許請求の範囲】
【請求項1】
少なくとも1つのメモリ記憶装置集積回路(メモリIC)をコントローラICに相互接続するように構成されるバスであって、
前記メモリIC上の一群の端子に電気的に接続され、前記コントローラIC上の対応する端子に電気的に結合されるように構成される複数の電気バス導体を備えており、
前記バス導体は、前記バス導体を通して送信される信号のタイプに基づいて、以下のグループである、データバスグループ、データストローブグループ、クロックグループ、チップセレクトグループ又は制御グループのうちの1つ以上に分類され、
前記データバスグループ内の前記1つ以上のバス導体は、コマンド転送時間中に、前記コントローラICから前記メモリICにパラレルコマンドを移送するように構成され、データ転送時間中にバーストモードを用いて前記メモリICと前記コントローラICとの間でデータを移送するように更に構成され、
前記制御グループ内の前記1つ以上のバス導体は、シリアルコマンドが前記メモリICの動作を制御することができるように、前記データ転送時間中に前記コントローラICから前記メモリICに前記シリアルコマンドを移送するように構成される単一の導体を備えるものである、バス。
【請求項2】
前記シリアルコマンドは、該シリアルコマンドの機能を指定するオペレーションコードを含み、該機能は、ヌルオペレーション機能、バーストモード機能、アクティベーション機能又はユーティリティ機能のうちの1つであり、該ユーティリティ機能は、進行中のバーストモードメモリ動作を終了するように前記メモリICに指示する手段を含み、その中に含まれるバンクをプリチャージするように前記メモリICに指示する手段を含むものである、請求項1に記載のバス。
【請求項3】
前記バスは、前記コントローラICから前記メモリICに第1のシリアルコマンドを移送し、その直後に、前記メモリICに第2のシリアルコマンドを移送することができるものである、請求項2に記載のバス。
【請求項4】
前記シリアルコマンドは、前記メモリICがバーストメモリ動作を実行している間に、前記バスの動作モードを読出しモードと書込みモードとの間で、かつ書込みモードと読出しモードとの間で切り替えることを提供する、請求項3に記載のバス。
【請求項5】
前記データバスの幅は1バイトであり、ただし、1バイトは8ビット又は9ビットのうちの一方であり、前記データストローブグループは2つの導体を備える、請求項1に記載のバス。
【請求項6】
前記データバスの幅は2バイトであり、ただし、1バイトは8ビット又は9ビットのうちの一方であり、前記データストローブグループは2つの導体を備える、請求項1に記載のバス。
【請求項7】
前記データバスの幅は2バイトであり、ただし、1バイトは8ビット又は9ビットのうちの一方であり、前記データストローブグループは4つの導体を備える、請求項1に記載のバス。
【請求項8】
前記データバスの幅は4バイトであり、ただし、1バイトは8ビット又は9ビットのうちの一方であり、前記データストローブグループは8つの導体を備える、請求項1に記載のバス。
【請求項9】
前記データバスの幅は6バイトであり、ただし、1バイトは8ビット又は9ビットのうちの一方であり、前記データストローブグループは12個の導体を備える、請求項1に記載のバス。
【請求項10】
データバスの幅は8バイトであり、ただし、1バイトは8ビット又は9ビットのうちの一方であり、前記データストローブグループは16個の導体を備える、請求項1に記載のバス。
【請求項11】
バースト書込み動作の一部として、前記データバスを介して書込みマスクが転送される、請求項1に記載のバス。
【請求項12】
前記バスは、無期限の持続バーストモードにおいて動作するように構成される、請求項4に記載のバス。
【請求項13】
前記バスは、コントローラICダイ及びメモリICダイを含む単一の半導体パッケージ内に配置され、前記メモリICダイ及び前記コントローラICダイはスタック構成において配置され、前記バス導体は一群の特有ボンドワイヤを備え、前記メモリICダイ上の各バスインターフェース端子は特有ボンドワイヤを介して前記コントローラICダイ上の対応するバスインターフェース端子に結合され、前記メモリICダイの背面は前記コントローラICダイの正面に面する、請求項12に記載のバス。
【請求項14】
前記バスはコントローラICダイ及びメモリICダイを含む単一の半導体パッケージ内に配置され、前記コントローラICダイのバス端子はフリップチップ技術を用いて基板上に配置される金属導体に結合され、前記メモリICダイのアクティブ面が前記基板と反対に面するように、かつ各バス導体が、前記コントローラICの各バスインターフェース端子が特有基板金属導体の第1の端部に電気的に結合されるよう構成される、ボンドワイヤ及び基板金属導体の直列結合から構成されるように、前記メモリICダイは前記コントローラICダイとスタックダイ構成において配置され、前記メモリICの各バスインターフェース端子が、前記基板上に配置される少なくとも特有ボンドワイヤ及び特有導体の直列接続を介して前記コントローラICの対応するバスインターフェース端子に結合されるように、各特有基板金属導体トレースの第2の端部が、特有ワイヤボンドを介して前記メモリICダイ上の対応するバスインターフェース端子に電気的に結合される、請求項12に記載のバス。
【請求項15】
前記メモリIC及び前記コントローラICはそれぞれ個別パッケージ内に配置され、各ICのバスインターフェース端子が各パッケージの外側にある外部バス端子に電気的に結合され、前記メモリICの各外部バスインターフェース端子が基板上に配置される一群の個別導体のうちの特有の1つの導体の第1の端部に結合されるように、前記バス導体が前記基板上に配置される該一群の個別導体から構成され、前記メモリICの各バスインターフェース端子が前記基板上に配置される特有個別導体を介して前記コントローラICの対応するバスインターフェース端子に結合されるようにして、前記個別導体の第2の端部が前記コントローラICの対応する外部バスインターフェース端子に結合される、請求項12に記載のバス。
【請求項16】
前記メモリIC及び前記コントローラICはそれぞれ個別パッケージ内に配置され、前記バス導体が、パッケージオンパッケージスタック構成において、前記メモリICパッケージの各バスインターフェース外部端子を、前記コントローラICパッケージの対応する外部バスインターフェース端子に電気的に結合するはんだ接続を含むようにして、各ICの前記バスインターフェース端子が各パッケージの外側にある外部バスインターフェース端子に電気的に結合され、前記メモリICパッケージが前記コントローラICパッケージ上に配置される、請求項12に記載のバス。
【請求項17】
前記バス導体は一群の特有ワイヤボンドから構成され、各メモリICバスインターフェース端子が前記コントローラICの対応するバスインターフェース端子に結合されるように、各特有ワイヤボンドが、コントローラICダイのバスインターフェース端子をメモリICダイの対応するバスインターフェース端子に電気的に結合し、前記メモリICダイ及び前記コントローラICダイは、各ダイの背面が基板に面するようにして、共通の平面内で該基板上に互いに隣接して配置される、請求項12に記載のバス。
【請求項18】
メモリICダイ及びコントローラICダイがそれぞれ共通の基板上に配置され、各ダイの背面は前記基板に面し、前記メモリICダイの各バスインターフェース端子は、それを前記基板上に配置される特有金属導体の第1の端部に電気的に結合するワイヤボンドを有し、前記メモリIC上の各バスインターフェース端子が前記コントローラIC上の対応するバスインターフェース端子に電気的に結合されるようにして、前記金属導体の第2の端部は、それをコントローラダイの対応するバスインターフェース端子に電気的に結合するワイヤボンドを有し、各バス導体は、特有の第1のボンドワイヤ、特有の基板導体及び特有の第2のボンドワイヤの直列結合からなる電気回路を備える、請求項12に記載のバス。
【請求項19】
コントローラICダイ及びメモリICダイはそれぞれ、アクティブ面がフリップチップ基板に面するようにして配置され、前記メモリICダイ上の各バスインターフェース端子が、前記フリップチップ基板上に配置される特有導体を用いて前記コントローラICダイ上の対応するバスインターフェース端子に電気的に結合されるように、フリップチップ技術を用いてその上に配置される金属導体に電気的に結合されるバスインターフェース端子を有し、基板導体が前記バス導体を含むものである、請求項12に記載のバス。
【請求項20】
バス導体が2つのダイのうちの少なくとも一方を貫通するチャネル内に配置される金属導体を備えるように、前記メモリICダイの前記メモリインターフェース端子はそれぞれ、前記バス導体を介して、前記コントローラICダイ上の前記対応するメモリインターフェース端子に電気的に結合される、請求項12に記載のバス。
【請求項21】
少なくとも1つの特有金属バンプが、メモリICダイの各バスインターフェース端子を前記コントローラIC上の対応するバスインターフェース端子と電気的に結合するように、前記バス導体は、前記メモリICダイ及びコントローラICダイのうちの一方の上にある前記バスインターフェース端子上に配置される金属バンプを備え、両方のダイのアクティブ面は対面する、請求項12に記載のバス。
【請求項22】
少なくとも1つのメモリICをコントローラICと相互接続するバスであって、該バスは同じ導体を用いてメモリコマンド及びデータを転送するように構成され、該バスはメモリコマンド及びデータを移送するように構成される16個の導体から構成され、2つの導体はクロックを移送するように構成され、5個以下の更なる導体はデータストローブ及びメモリ制御信号を移送するように構成され、該バスは、少なくとも3000メガバイト/秒のピーク帯域幅においてデータを転送するように構成されるものである、バス。
【請求項23】
少なくとも1つのメモリ記憶装置集積回路(メモリIC)をコントローラICに相互接続する手段であって、
以下のタイプである、データ信号、送信される情報の安定性の指示、クロック信号、チップ選択信号、又は制御信号のうちの1つ以上の信号を送信する手段を含む、前記メモリIC上の一群の端子を前記コントローラIC上の対応する端子に電気的に結合する手段と、
シリアルコマンドが前記メモリICの動作を制御することができるように、単一のピンを通して、データ転送時間中に前記コントローラICから前記メモリICに該シリアルコマンドを送信する手段と
を備えてなる手段。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、実行メモリ又はバッファメモリ、及びメモリとの通信のために有用なバス等の、コンピューティング及びデータバッファリングアプリケーションにおいて使用されるバス及びメモリデバイスの分野に関する。
【0002】
[関連出願の相互参照]
本出願は、2016年6月17日に出願された米国仮特許出願第62/351,556号の出願日の利益を主張する、2017年6月9日に出願された米国特許出願第15/618,907号の継続出願であり、その開示内容は、引用することにより本明細書の一部をなすものとする。
【背景技術】
【0003】
広帯域幅バッファメモリ及びバスは、メモリバスを用いてメモリをシステムロジックに接続するのが有利である、ビデオアプリケーションを含む複数のアプリケーションにおいて使用することができる。
【0004】
ポータブルデバイス内のビデオディスプレイシステムは、ディスプレイ上の情報が不変であるときに電力を節約できるようにするために、ディスプレイパネル内に「パネルセルフリフレッシュ」バッファメモリを組み込む場合がある。
【0005】
画像品質を改善し、フリッカを低減するために、大型ディスプレイシステムは、バッファメモリを組み込むスキャンレートコンバータ技術を利用することによって、新たな情報がディスプレイに与えられる速度より速い速度においてディスプレイをスキャンすることができる。
【0006】
タッチスクリーンディスプレイシステムは、デジタイザフレームバッファ内にバッファメモリを組み込む場合がある。
【0007】
ポータブルビデオ機器は、ビデオキャプチャ、圧縮、解凍、記憶、編集、表示又はビデオ再生に関連して使用されるバッファメモリを組み込む場合がある。
【0008】
ポータブルパノラマ撮像システムは、レンズひずみ補正アルゴリズムによって使用されるバッファメモリを組み込む場合がある。
【0009】
いくつかのタイプのシステムは、2つ以上のメモリ又はメモリタイプに対応することができるバス上で使用されるメモリを組み込む場合がある。
【0010】
数多くのコンピューティング及びビデオシステムが、動作命令及び/又はデータを記憶するためにメモリを必要とする。最小のメモリ容量を除く全ての場合に、一般には、システム論理IC基板上に記憶装置を集積するより、個別のメモリIC又はICの組み合わせを用いてメモリ記憶装置を設ける方が、費用対効果が高い。コントローラICを1つ以上のメモリICと相互接続するために、多くの場合にバスが使用される。コントローラICは、ビデオ処理、プログラマブルロジック又は他の機能等のシステム動作に関連する他のタスクを実行することができ、メモリインターフェース処理のみに限らない。
【0011】
メモリ技術は、メモリに接続されるバスによって使用されるプロトコルに関する要件を部分的に決定する。同時に、バスプロトコル及び物理的特性が、バスを使用するメモリIC及びコントローラの帯域幅及び機能的要件を確立する。バス信号の数、バス信号が切り替わる速度、及びシグナリングプロトコルが、メモリバスの性能を最終的に制限する。
【0012】
メモリICは一般に、データセンタサーバにおいて使用される大容量メモリシステムから、一例としてWIFIルータにおいて使用されるシングルチップバッファメモリまでに及ぶ広範なアプリケーションにおいて使用されるように設計される。これらのアプリケーションにおけるメモリバス信号のための電気的接続の長さは、1ミリメートル未満から、数十センチメートルまでに及ぶ可能性がある。バス信号完全性要件は、整合長ワイヤボンドから、PCBインピーダンス制御、整合トレース長及びシグナリング経路内のコネクタとの並列終端までに及ぶ場合がある。
【0013】
メモリICは一般に、この広範なアプリケーションをサポートするので、メモリICは通常、メモリICの機能の全てを明らかにし、アクセスするために、コントローラICへの電気的接続用として数十個の信号を組み込む。例えば、単一のメモリシステムを形成するために組み合わされるメモリの複数のランクの構成をサポートするために、メモリIC上に、ストローブとともにチップセレクト信号が組み込まれ、特定の動作の場合に特定のメモリICのみを選択できるようにする。
【0014】
いくつかのアプリケーションは、数千バイトのサイズとすることができる、一連のバイトからなる複数のブロックの移動を伴うメモリアクセスパターンを有し、一方、他のアプリケーションは、サイクルごとの観点から極めてランダムであるメモリアクセスパターンを有する。そのため、大部分のメモリIC上で、データバス信号とは別の個別のアドレス指定信号を用いて、アドレス指定及びデータ転送を同時に可能にする。
【0015】
一方において、メモリICをストローブするため、選択するため、及びアドレス指定するために別々のリソースを有することは、そのようなメモリICを使用するアプリケーションにおいて高度な普遍性を提供するが、他方では、各メモリICに接続するために、45個以上のバス信号を使用するのが一般的である。単一のメモリICによって成し遂げられ、データのブロックに関する演算を行うアプリケーションの場合、信号の多くは十分に活用されていないリソースであり、最低限の利益もほとんどないままコストを増大させる。
【0016】
メモリに接続する各信号は、コントローラIC上に回路を必要とし、コントローラに電気的に接続できるようにするために、コントローラICダイ上に端子も必要とする。そのような端子又はボンディングパッドは、コントローラICダイ上の空間を占有するので、コントローラICダイのサイズは、作製するために使用されるIC製造及びパッケージング技術のための設計ルールと組み合わせて、そのようなボンディングパッドの数によって専ら決定される可能性がある。
【0017】
そのような構成では、メモリバスを用いて、データ、又はアドレス/制御情報のいずれかを送信することができるが、両方を同時に送信することはできないので、アクセスパターンによっては、システムメモリバスの効率を低下させる場合がある。例えば、そのようなメモリバス構成を使用するときに、メモリビットの個別の内部バンクがアクティベートされる時点において、マルチバンクDRAMにバースト読出しモードにおいてアクセスするのは実現不可能な場合がある。結果として、メモリバス効率が低下し、平均バス帯域幅の減少を引き起こす。
【発明の概要】
【0018】
結果として、数多くのタイプのアプリケーションの場合に、すなわち、大容量メモリシステムを必要としないアプリケーションの場合に、メモリICに接続するために必要とされる信号の数を削減することが望ましい。メモリアクセスパターンが主に、大きい一連のデータブロックである場合等の、いくつかのシステムでは、別の状況ではデータ情報を搬送する信号上に、アドレス及び制御情報を多重化することによって、著しい数のメモリインターフェース信号を削減することができる。この方法は、メモリに接続するために必要とされるメモリコントローラIC信号の数を著しく削減することができ、それにより、電力だけでなく、メモリコントローラICダイの面積及びコストも節約することができる。
【0019】
それゆえ、より効率的なメモリプロトコルは、より低い動作周波数を用いて、同じ平均帯域幅を提供することができる。これは、電力を削減することができ、IC設計だけでなく、PCBも簡単にすることができる。
【0020】
本発明は、改善されたメモリバスと、メモリバス上で使用されるICとに関し、それらは削減された信号カウントを特徴とするが、小型コンピューティング、ビデオ、バッファリング及び他の帯域幅集約的アプリケーションにおいて使用されるときに、高い平均及びピーク帯域幅並びに動作効率に対応する。DRAMメモリ技術の特徴及び要件の効率的なサポートが、バス及びプロトコルの特徴のうちの1つである。本発明の一実施形態は、データ処理システムの総コストを削減する改善されたメモリデバイスを動作させるためのバス及びプロトコルを提供する。
【0021】
本発明の一実施形態は、メモリ集積回路(IC)をメモリコントローラICに相互接続するバス信号の数を削減する。
【0022】
本発明の一実施形態は、メモリICデバイスをメモリコントローラICに相互接続することに関連付けられる電力と、その動作に関連付けられる電力とを削減する。
【0023】
本発明の一実施形態は、単一の機能信号を使用することによって、DRAM読出し、書込み、アクティベーション、プリチャージ及びリフレッシュの機能のための制御及びアドレス指定情報を移送するメモリバスアーキテクチャである。
【0024】
本発明の一実施形態は、共通バスを介して相互接続される2つのメモリIC及び1つのコントローラを含むメモリシステムである。
【0025】
本発明の一実施形態は、バースト書込みモードにおいて不整列データ構造に対応するメモリアーキテクチャである。
【0026】
本発明の一実施形態は、マルチダイパッケージングにおいて使用するために最適化された広帯域幅バッファメモリアーキテクチャである。
【0027】
本発明の一実施形態は、マルチダイ相互接続アセンブリ内の要素として上記広帯域幅メモリのダイと機械的に積み重ねられるときに、コントローラICの機械的に限られた最小物理サイズを縮小できるように設計されたICフロアプランを有する、改善された広帯域幅メモリICである。
【0028】
本発明の一実施形態は、スタックベアダイアセンブリを使用することなく小型システムを構成するために、別々にパッケージされたメモリコントローラICと組み合わせて使用される、ウェハレベルパッケージングに適した低信号カウント広帯域幅メモリである。
【0029】
本発明の一実施形態は、論理ICを含む第2のパッケージ上に積み重ねられた1つ以上のメモリICを含むパッケージを含む、スタックパッケージ構成であり、2つのパッケージは下側パッケージ上の上向き端子を部分的に使用して電気的に相互接続される。
【0030】
本発明の一実施形態は、同じメモリバスを共有し、同じメモリバスを介してメモリコントローラに相互接続される少なくとも2つのメモリダイを含むマルチチップメモリパッケージである。
【0031】
一実施形態は、少なくとも1つのメモリ記憶装置集積回路(IC)をコントローラICに相互接続するように構成されるバスを提供する。バスは、メモリIC上の一群の端子に、及びコントローラIC上の対応する端子に電気的に結合されるように構成される複数の電気バス導体を備え、バス導体は、バス導体を通して伝送される信号のタイプに基づいて、以下のグループ、すなわち、データバスグループ、データストローブグループ、クロックグループ、チップセレクトグループ又は制御グループのうちの1つ以上に分類される。データバスグループ内の1つ以上のバス導体は、コマンド転送時間中にコントローラICからメモリICにパラレルコマンドを移送するように構成され、データ転送時間中にバーストモードを用いてメモリICとコントローラICとの間でデータを移送するように更に構成され、制御グループ内の1つ以上のバス導体は、シリアルコマンドがメモリICの動作を制御することができるように、データ転送時間中にコントローラICからメモリICにシリアルコマンドを移送するように構成される単一の導体を備える。
【0032】
いくつかの例では、シリアルコマンドは、シリアルコマンドの機能を指定するオペレーションコードを含み、機能はヌルオペレーション機能、バーストモード機能、アクティベーション機能又はユーティリティ機能のうちの1つであり、ユーティリティ機能は、進行中のバーストモードメモリ動作を終了するようにメモリICに指示する手段を含み、その中に含まれるバンクをプリチャージするようにメモリICに指示する手段を含む。例えば、バスはコントローラICからメモリICに第1のシリアルコマンドを移送し、その直後に、メモリICに第2のシリアルコマンドを移送することができる。シリアルコマンドは、メモリICがバーストメモリ動作を実行している間に、バスの動作モードを読出しモードと書込みモードとの間で、かつ書込みモードと読出しモードとの間で切り替えることを提供することができる。データバスの幅は、1、2、4、6又は8バイトとすることができ、ただし、1バイトは8ビット又は9ビットのうちの一方であり、データストローブグループは、2、4、8、12又は16個の導体を備えることができる。
【0033】
いくつかの例では、バースト書込み動作の一部として、データバスを介して書込みマスクが転送される。バスは、無期限の持続バーストモードにおいて動作するように構成することができる。
【0034】
バスは、コントローラICダイ及びメモリICダイを含む単一の半導体パッケージ内に配置することができ、メモリICダイ及びコントローラICダイはスタック構成において配置され、バス導体は一群の特有ボンドワイヤを備え、メモリICダイ上の各バスインターフェース端子は特有ボンドワイヤを介してメモリコントローラICダイ上の対応するバスインターフェース端子に結合され、メモリICダイの背面はコントローラICダイの正面に面する。他の構成も企図されるであろう。
【0035】
別の実施形態は、少なくとも1つのメモリICをコントローラICと相互接続するバスであって、バスは同じ導体を用いてメモリコマンド及びデータを転送するように構成され、バスはメモリコマンド及びデータを移送するように構成される16個の導体から構成され、2つの導体はクロックを移送するように構成され、5個以下の更なる導体がデータストローブ及びメモリ制御信号を移送するように構成され、バスは、少なくとも3000メガバイト/秒のピーク帯域幅においてデータを転送するように構成される、バスを提供する。
【0036】
更に別の実施形態は、少なくとも1つのメモリ記憶装置集積回路(IC)をコントローラICに相互接続する手段であって、以下のタイプ、すなわち、データ信号、送信される情報の安定性の指示、クロック信号、チップ選択信号、又は制御信号のうちの1つ以上の信号を送信する手段を含む、メモリIC上の一群の端子をコントローラIC上の対応する端子に電気的に結合する手段と、シリアルコマンドがメモリICの動作を制御することができるように、単一のピンを通して、データ転送時間中にコントローラICからメモリICにシリアルコマンドを送信する手段とを備える、手段を提供する。
【図面の簡単な説明】
【0037】
【図1】メモリコントローラダイの上に積み重ねられ、ワイヤボンドを用いて電気的に相互接続されるメモリダイを示す図である。
【図2】一般に使用されるDDR3タイプダイナミックランダムアクセスメモリ(DRAM)に接続するために従来技術において使用される主要なバス信号を示す図である。
【図3】本発明の一実施形態を使用するメモリへのアドレスストリーミングを示すバス動作図である。
【図4】個別のメモリチャネルにそれぞれにディスパッチされる複数のメモリダイを使用する、本発明の一実施形態のパッケージオンパッケージ構成を示す図である。
【図5】低ピンカウント(LPC:Low Pin Count)DRAMに接続する信号を示す図である。
【図6】LPC DRAMのブロック図である。
【図7】中速メモリコアと高速外部ポートとの間の帯域幅整合を示す図である。
【図8】フロントエンド及びバックエンドクロック供給システムを使用するLPC DRAMにおけるパイプライン式アドレス指定及びデータアクセスを示すタイミング図である。
【図9】待ち時間依存遅延を使用する、フロントエンドクロックとバックエンドクロックとの間の関係を示すタイミング図である。
【図10】LPC DRAMの内部レジスタを示す図である。
【図11】LPC DRAMのハイレベル状態遷移図である。
【図12】図11のハイレベル状態遷移図のより詳細な図である。
【図13】図12のLPC DRAM状態遷移図のより詳細な図の続きである。
【図14】図12のLPC DRAM状態遷移図のより詳細な図の続きである。
【図15】バースト読出し動作を示すタイミング図である。
【図16】パラレル要求パケット(Parallel Request Packet)を示す図である。
【図17】バースト書込み動作を示すタイミング図である。
【図18】整列及び不整列データ構造を示す図である。
【図19】パラレル要求パケットフォーマットを示す図である。
【図20】アクティベーションサイクルと、後続のパラレル要求パケットとを示すタイミング図である。
【図21】バンクプリチャージサイクルのためのパラレル要求パケットフォーマットである。
【図22】バンクプリチャージと、後続のパラレル要求パケットとを示すタイミング図である。
【図23】モードレジスタセットパラレル要求パケット内に含まれるフィールドを示す図である。
【図24】LPC DRAM上で使用されるIO回路及び入力回路の概略図である。
【図25】モードレジスタセット動作と、後続のパラレル要求パケットとのタイミング図である。
【図26】ユーティリティレジスタ動作のためのパラレル要求パケットを示す図である。
【図27】ユーティリティレジスタ書込みと、後続のユーティリティレジスタ読出しと、後続のパラレル要求パケットとを示すタイミング図である。
【図28】ビットフィールド状態割当てのいくつかを有するシリアルパケットのフォーマットを示す図である。
【図29】オートリフレッシュ動作を示すタイミング図である。
【図30】汎用シリアルパケットフォーマットを示す図である。
【図31】バーストシリアルパケットフォーマットを示す図である。
【図32】シリアルパケットを使用するバースト読出しサイクルを示すタイミング図である。
【図33】シリアルパケットを伴うバースト読出しサイクルと、ユーティリティバーストストップコマンドとを示すタイミング図である。
【図34】ユーティリティバーストストップシリアルパケットフォーマットを示す図である。
【図35】シリアルパケット書込みスイッチを伴うバースト読出しサイクルを示すタイミング図である。
【図36】サイクル開始を伴うNOPシリアルパケットフォーマットを示す図である。
【図37】ユーティリティトグルRWパケットフォーマットを示す図である。
【図38】ユーティリティバンクプリチャージパケットフォーマットを示す図である。
【図39】パイプライン式プリチャージ及びアクティベーションを伴うバースト読出しサイクルを示すタイミング図である。
【図40】シリアルアクティベートパケットフォーマットを示す図である。
【図41】シリアルパケット読出しスイッチを伴うバースト書込みサイクルを示すタイミング図である。
【図42】信号フロー方向ごとに直列終端方式を使用して、シグナリングのために相互接続される特定用途向け集積回路(ASIC)及びDRAMのIO回路の概略図である。
【図43】図42の方式の場合のASIC/DRAMシグナリングの2つの等価回路を示す図である。
【図44】図42のシグナリング構成のためのタイミング図である。
【図45】一方向のフローに関して直列終端方式を使用し、反対方向のフローに関して並列終端方式を使用して、シグナリングのために相互接続されるASIC及びDRAMのIO回路の概略図である。
【図46】図45の方式の場合のASIC/DRAMシグナリングの2つの等価回路を示す図である。
【図47】図45のシグナリング構成のためのタイミング図である。
【図48】低ピンカウントを有するDRAMのボンディングパッド構成を示す図である。
【図49】ワイヤボンドを用いてともに相互接続されるASIC及びDRAMを使用するスタックダイアセンブリのためのパッケージング方式を示す図である。
【図50】図49のスタックダイアセンブリにおいて使用されるASICの機械的に限られたダイサイズを規定する式を示す図である。
【図51】ワイヤボンドを用いてともに相互接続されるASIC及びDRAMを使用するスタックダイアセンブリのための別のパッケージング方式を示す図である。
【図52】図51の別のスタックダイアセンブリにおいて使用されるASICの機械的に限られたダイサイズを規定する式を示す図である。
【図53】LPC DRAMの場合のウェハレベルチップスケールパッケージ及び3つのボールマップ配列を示す図である。
【図54】フィールドプログラマブルゲートアレイ(FPGA)とともに使用されるLPC DRAMを、個別のパッケージ内の各チップと相互接続するために使用される信号を示す図である。
【図55】小型ウェアラブルビデオシステムにおいて使用されるLPC DRAMのウェハレベルチップスケールパッケージバージョンのシステム使用を示す図である。
【図56】マルチダイパッケージ内でフリップチップASICと積み重ねられるLPC DRAMを示す図である。
【図57】平面実装LPC DRAMを使用する4チャネル広帯域幅POPメモリスタックを示す図である。
【図58】階段状スタックLPC DRAMを使用する4チャネル広帯域幅POPメモリスタックを示す図である。
【図59】LPC DRAMダイの別の平面構成を使用する4チャネル広帯域幅POPメモリスタックを示す図である。
【図60】x8LPC DRAMに接続する信号を示す図である。
【図61】中速メモリコアと高速外部ポートとの間の帯域幅整合を示す図である。
【図62】フロントエンド及びバックエンドクロック供給システムを使用するx8LPC DRAMにおけるパイプライン式アドレス指定及びデータアクセスを示すタイミング図である。
【図63】x8LPC DRAMの内部レジスタを示す図である。
【図64】x8LPC DRAMのバースト読出し動作を示すタイミング図である。
【図65】x8LPC DRAMパラレル要求パケットを示す図である。
【図66】x8LPC DRAMバースト書込み動作を示すタイミング図である。
【図67】FPGAとともに使用されるx8LPC DRAMを別のパッケージ内の各チップと相互接続するために使用される信号を示す図である。
【図68】LPCメモリバスに適合する2つのダイを含む、スタックダイデュアルダイメモリパッケージを示す図である。
【図69】図68からのデュアルダイメモリパッケージにおいて使用されるバス信号の概略図である。
【図70】図68及び図69からのコントローラ及びマルチダイメモリパッケージを示すPCB構成である。
【図71】x32、x48及びx64バージョンを含む、LPC DRAMの広幅バス実施態様のためのバースト読出しタイミング図である。
【図72】x64LPC DRAM及びASICのためのシステム相互接続図である。
【図73】x48LPC DRAM及びASICのためのシステム相互接続図である。
【図74】x32LPC DRAM及びASICのためのシステム相互接続図である。
【図75】ユーティリティレジスタを使用して出力及び終端インピーダンス値をトレーニングする方法を示すフローチャートである。
【図76】共通のパッケージ内に配置され、ワイヤボンド技術を使用する、LPC DRAM及びコントローラの2つの異なるスタックダイ構成の断面図である。
【図77】共通のパッケージ内に配置され、ワイヤボンド及びフリップチップ技術を使用する、LPC DRAM及びコントローラのスタックダイ結合の断面図である。
【図78】共通の基板上に配置される、パッケージされたLPC DRAM及びパッケージされたコントローラICの断面図である。
【図79】LPC DRAM及びメモリコントローラのパッケージオンパッケージスタッキングの2つの異なる構成を示す図である。
【図80】バスインターフェース端子を互いに結合するように構成されるワイヤボンドを用いる、共通基板上に配置されるLPC DRAMダイ及びコントローラダイを示す図である。
【図81】バスインターフェース端子を互いに結合するように構成されるワイヤボンド及び基板導体を用いる、共通基板上に配置されるLPC DRAMダイ及びコントローラダイを示す図である。
【図82】バスインターフェース端子を互いに結合するように構成されるフリップチップ技術及び基板導体を用いる、共通フリップチップ基板上に配置されるLPC DRAMダイ及びコントローラダイを示す図である。
【図83】LPC DRAMダイのバスインターフェース端子をコントローラダイのバスインターフェース端子に結合するために、スルーシリコンビア技術を使用するための3つの構成を示す図である。
【図84】LPC DRAMダイのバスインターフェース端子をコントローラダイのバスインターフェース端子に結合するために使用される対面バンピング(face to face bumping)を用いる、コントローラダイ上に配置されるLPC DRAMダイを示す図である。
【発明を実施するための形態】
【0038】
メモリICは、バスを介してコントローラICに接続することができ、メモリ関連システム要件を満たすことができる。場合によっては、メモリICは、同じパッケージ内でコントローラICと組み合わされる。
【0039】
図1は一例の構成を示しており、メモリICが、ベアダイの形でコントローラICの上に積み重ねられ、メモリICへの電気的接続を設けるためにワイヤボンディング技術を用いて相互接続される。同じパッケージ内に配置される複数のダイを相互接続する数多くの他の方法がある。どの方法が使用されるにしても、製造上の観点から、これらの電気的接続の数を最小限に抑えることが有益である。本発明は、メモリバスのために使用される接続の数を削減することに関する。
【0040】
本明細書におけるいくつかの例において、「信号」という用語は、デジタル情報を移送するように構成される電気導体を意味する。他の例において、「信号」という用語は、データ又は他の情報の伝送を指す場合がある。その用語の意味は、文脈に応じて当業者によって理解されるべきである。
【0041】
バス信号を少なくするほど、コントローラIC上のメモリインターフェース回路のために必要とされるシリコンの面積が小さくなる。また、信号の数が少ないことによって、コントローラICのフロアプランにおいて信号を小さい領域内にまとめるのが容易になり、ICレイアウトに関する利点を提供することができる。また、信号の数が少なくなるほど、メモリICとコントローラICとを相互接続するために使用される接続が少なくなることを意味する。しかし、信号の数が少なくなるにつれて、所与のスイッチング速度の場合のバスの最大帯域幅も狭くなり、それにより単に、情報を移送するスイッチング信号が少なくなる。
【0042】
メモリバスは、コントローラICとメモリICとの間でデータを移送するだけでなく、メモリデバイスにアドレス指定及び制御情報を移送することもできる。アドレス指定及び制御情報は、要求された動作を実行するようにメモリに指示するために使用され、データは、トランザクションにおけるペイロードである。バスによって必要とされる他の信号は、基準電圧又は終端電源等の、シグナリング技術をサポートするために使用される信号を含みうる。
【0043】
図2は、DDR3 DRAMをコントローラに相互接続するために使用される従来技術のDDR3タイプメモリバスを示す。DDR3 DRAMバスは、DDR3メモリバスを構成する、クロック信号や、データ信号や、アドレス信号や、バンクアドレス信号や、コマンド信号や、ストローブ信号や、基準電圧信号や、終端電圧などを有する。DDR3バスとともに、全部で46個以上の信号が使用される。
【0044】
アドレス指定/制御情報をデータバスピン上で多重化することによってDDR3タイプバスから信号ピンを除去するには、時分割によってアドレス/コマンド情報及びデータ情報を転送するために、同じ信号線を時分割することが必要になる。アドレス/コマンド転送時間中にデータを転送することはできないので、バスの効率は著しく低下することになる。
【0045】
メモリへのアクセスパターンは、アプリケーションによって著しく異なる場合がある。写真画像又はビデオを伴ういくつかのアプリケーションは、長い順次バーストにおいてメモリにアクセスする場合があり、メモリトラフィックの中に非順次のジャンプが散在する。メモリが実行メモリとして使用されるアプリケーションでは、アクセスは多くの場合にキャッシュラインを満たすことになり、順次の投機的プリフェッチを含む場合がある。キャッシュラインは多くの場合に16〜32バイトのグループである。これらの例のいずれにおいても、そのような多重化されたバスメモリは、複数バイトのバーストにおいて順次に、又は他の所定の順序でアクセスされる。それらの場合に、メモリバスは、メモリへのアクセスを開始するために、開始アドレス及びバースト情報のみを転送する場合がある。すなわち、アドレス及び制御情報転送は、データに比べて頻度が少ない場合がある。説明された多重化バスは、或る特定の種類のアプリケーションにおける効率要件を満たすことができ、専用アドレス、コマンド及びデータ信号を使用する従来のDDR3タイプバスに比べて、少ない数の信号を使用する。メモリトランザクションの一部において、アドレス及び制御情報を転送するためにデータ信号が使用される場合があり、別の部分においてデータを転送するためにデータ信号が使用される。そのような方式では、バスから著しい数の信号を除去することができ、それでもバスの動作効率に及ぼす影響は許容できる程度である。そのような方式では、バスは、メモリトランザクションを開始するために、メモリにアドレス及び制御情報を転送することになる。或る待ち時間が経過した後に、データが後続することになる。
【0046】
多重化バスを用いて、コマンド/アドレス指定情報を送信し、そして、データを転送するので、バス効率(データ転送のために使用されるクロックサイクルをトランザクションに関する全クロックサイクルで割った比)には限界がある。この効率限界は、平均帯域幅を、ピーク帯域幅より低い値に低下させる。アドレス指定及びコマンドのためのオーバーヘッドは限られた数のクロックサイクルであるので、短いバーストに対して長いバーストの場合に効率が改善される。
【0047】
それゆえ、そのようなバス上のメモリトラフィックは、それぞれがコマンド/アドレス転送期間及びデータ転送期間を含む、一群のトランザクションを含みうる。そのようなバス上の実効帯域幅を最適化することは、読出しトラフィックにしても、書込みトラフィックにしても、長い順次データバーストをスケジューリングすることを含む。いくつかのデータタイプに関して、これはビデオ等のデータの自然な特徴である。他のアプリケーションでは、データバースト長を増やすことは簡単なことでない場合がある。
【0048】
本開示において説明される本発明のバスは、直前に説明した多重化バスより優れている。多重化バス構成の効率を高めるために、本発明のバスは、バス上のデータトラフィックに関係なく、コマンド及びアドレス指定情報をメモリに転送するために使用される専用の狭帯域信号経路を組み込む。このようにして、バスによってデータが転送されるとの同時に、アドレス指定及びコマンド情報をメモリにストリーミングすることができる。バスプロトコルにおいてパイプライン式アドレス及びコマンド復号方式を使用することによって、サイクルごとに、任意選択的なランダムアドレス指定とともに、データ転送を連続して実行することができる。図3は、高い動作効率を与えるために、バスプロトコルに含まれる単一の信号を使用するアドレス/コマンドストリーミング機能を組み込む、本発明の一例を示す。図3を参照されたい。
【0049】
ベアコントローラICの上に積み重ねられるベアメモリICを組み合わせることによって形成されるバスの電気的環境は、信号完全性の観点から利益をもたらすことができる。短い接続を使用すること、及び別々のパッケージを相互接続するためにPCB上で或る距離だけメモリバスをルーティングするのではなく、高速メモリバス信号を単一のマルチチップパッケージ内に限定することによって、スプリアスEMI(電磁干渉)放射を低減することができる。
【0050】
そのようなスタックダイアプリケーションにおいてメモリをコントローラに直接相互接続するために、ワイヤボンディング技術が使用される場合には、そのような接続は相対的に短くすることができ、多くの場合に1mm未満にすることができる。結果として、バス整定時間も短く、並列終端の使用を回避することによって終端要件が簡単になり、場合によっては電力が節約される。
【0051】
少数の信号を有することの別の利点は、メモリICフロアプラン上の配置である。すなわち、全てのスイッチング信号をダイの短い側に沿って配列することができる。同様に、コントローラダイの共通領域内に所与のメモリチャネルのためのコントローラICのメモリインターフェース信号の全てを配置するのが有利であるので、少数にすることは、その目標を助長する。
【0052】
信号接続の数を削減する更に別の利点によれば、信号長間の整合がより簡単な作業になる。すなわち、長さ及びインピーダンスを整合させる信号が少なくなる。また、接続が短いとき、ドライバ及び受信機のために設計される回路の複雑さを緩和することもできる。例えば、PLL及びDDLを回避することができ、電力が節約され、複雑さが緩和され、起動時間が短縮される。
【0053】
メモリIC及びコントローラICが別々のパッケージ内に配置され、PCBを介して相互接続されるとき、動作周波数及びバスルーティングの全長に応じて、シールド、トレース長整合、インピーダンス制御及び適切な終端の実施に関して細心の注意が払われる場合がある。
【0054】
いくつかのシステムにおいて、1つ以上のメモリICを含むパッケージが、垂直な電気的接続を用いて、下側論理ICパッケージの上に直接積み重ねられる。そのような構成はPOP(「パッケージオンパッケージ」)と呼ばれる場合があり、上側及び下側半導体パッケージの周辺部に沿って電気的接続を配置し、はんだ付け技術を用いてそれらの電気的接続を形成することによって作製することができる。はんだ接続は、パッケージの周辺部に沿った1つ以上の行として配置することができる。
【0055】
上側パッケージは1つ以上のメモリICを含む場合があり、下側パッケージはシステム論理ICを含む。
【0056】
それゆえ、複数のメモリICを並列に動作させることに関する帯域幅上の利点は、POPパッケージング方式を使用するマルチパラレルチャネル構成において経済的に展開される場合がある。図4の例において、それぞれが1つのメモリICを備える、4つの別々のメモリチャネルが、POP技術を用いて配置される。この例において、4つのLPCメモリダイ410が共通基板420上に配置され、ワイヤボンド技術を介して電気的に接続される。4つのダイは並列に動作し、全帯域幅に関して4xの増加を与える。メモリアセンブリ400は、パッケージオンパッケージPOP構成において下側パッケージ470の上に配置される。これは、PCB上で信号をルーティングすることなく、そして、メモリパッケージ及び信号ルーティングエリアのために空間を占有することなく、広いメモリ帯域幅を与える。従来のメモリダイよりこの手法が優れている利点のうちの1つが、必要とされる信号数が少ないことであり、それにより、垂直接続のために使用される信号間のピッチを大きくできるようになり、結果として、下側パッケージ470に関する低コストの技術オプションにつながる。
【0057】
いくつかのシステムにおいて、メモリコントローラIC上の各メモリインターフェースは、単一のメモリICのみを含むメモリバスに接続される、自らのメモリバス信号を有する。他のシステム構成では、メモリバスは、同じタイプ、又は場合によっては異なるタイプの複数のメモリICを含む場合がある。一例は、いずれも同じメモリバスに接続される、DRAMメモリIC及びフラッシュメモリICである。
【0058】
同じメモリバス上で、異なる帯域幅及び待ち時間特性を有するメモリICを混在させることができる。メモリバスは、そのような異なるデバイスに対応するように設計することができる。例えば、メモリバスは、いわゆる、DDRシグナリングを用いていくつかのメモリICにアクセスするように設計することができ、一方、異なるタイプのメモリにアクセスするために、SDRシグナリングを使用することができる。また、異なるアクセス特性を有するデバイスの要件に対応するために、メモリバスのために使用されるシステムクロックの周波数を動的に変更することもできる。
【0059】
x16低ピンカウントバス(「LPC BUS」)は、従来のメモリバスより少ない信号を用いてメモリをコントローラに相互接続するように設計される、広帯域幅x16バス(3000メガバイト/秒を超える)である。バス及び動作プロトコルは、DRAM技術を使用するメモリデバイスをバス上で効率的に使用できるように特に設計される。
【0060】
低ピンカウントDRAM(「LPC DRAM」)は、LPCバス上で使用されるように設計されるメモリICである。それは、従来のメモリアーキテクチャより少ないピン(又は他の信号端子)を用いて広帯域幅データIOを提供する。LPC DRAMは、バス内で複数の別々のアドレス及び制御信号を使用するのを回避するために、データバス信号を用いて、異なる時点においてアドレス及び制御情報を受信する。また、LPC DRAMデバイスは、単一の単方向信号を用いて、コントローラからアドレス指定及びコマンド情報を受信し、動作効率を高める。
【0061】
図5は、LPC DRAM500の一例を示す。そのDRAMのスイッチング信号は、データバス510と、クロック520と、データストローブ530と、ストローブ(STB)540と、クロックイネーブル(CKE)550とを含む。これらの信号は、LPCバスにおいて使用される高速スイッチング信号を含む。
【0062】
x16LPC DRAMは、ワードと呼ばれる32バイト(256ビット)グループにおいてデータを記憶し、呼び出すように設計される。DRAMの記憶場所のアドレス指定は、ワードレベルまで指定される。書込みマスクを用いて、ワード内の特定のバイトへの書込みを制限することができる。
【0063】
図6は、DRAMのブロック図を示す。メモリアレイ610が1つ以上のバンクに編成される。メモリアレイ610は、ダイナミックメモリアレイであり、アクセスする所与のワードを指定するために、バンクアドレス、行アドレス及び列アドレスを受信する。データ記憶及び検索のためにバンクを使用できる前に、バンクは最初に、プリチャージされ、アクティベートされる。アクティベーションは、バンク内の特定のワード線を復号し、そのワード線が選択するビットを検知することを意味する。
【0064】
アドレス指定及びコマンドは、異なるプロトコルを使用する、データバス680及びSTB690外部信号の両方を介して与えられる。
【0065】
アドレス指定及び制御は、パケットを用いてDRAMに与えられる。パケットは、パラレルプロトコルを使用するデータバス680によって、又はシリアルプロトコルを使用するSTB信号690によって供給することができる。
【0066】
アドレス計算及び復号器/制御(「ACDC」)650ブロックは、パケットを受信し、内部アドレスインクリメント回路を含む。共通の動作モードは、DRAMが、メモリアレイ610内のワードにアクセスするために使用されるパケットからアドレスを受信することである。後続のアドレスは、パケットプロトコルを介して元々受信された、以前に使用されたアドレスを自動的にインクリメントすることによって生成することができる。また、ACDC650は、複数の空きページをサポートするために、行アドレス情報を記憶する。ACDCブロックは更に、メモリアレイにアクセスするために復号されるべきアドレスを選択し、スケジューリングする。さらに、ACDCブロックは、パイプライン式アレイ及びバス動作のために、これらの動作を順序付ける。
【0067】
また、非順次アドレス指定又は他の制御が望まれる場合には、アクティブサイクル中にSTB信号690を介してパイプライン方式で移送されるシリアル要求パケットプロトコルを介して、DRAMにランダムな列アドレスを与えることもできる。
【0068】
広帯域幅コアアーキテクチャ
図7は、クロック(750)サイクルあたり2回、16ビットデータサンプルを与える、外部データバス710を示す。クロック周波数がFである場合、データバスは周波数4Fにおいてバイトを転送する。回路設計の制約に起因して、メモリコア700は、外部クロックと同じ速さでサイクル動作することはできない。結果として、メモリコアは、F/8の低減された周波数において動作する。メモリコア700は、データバスと同じ帯域幅においてコアデータ730を与えるので、コアデータパスの幅は、外部データバスより16倍大きい。16ビット幅DDRタイプデータバスの場合、内部コアデータパスは256ビット幅である。それゆえ、メモリアレイは、一度に1ワード(例えば、256ビット)ずつアクセスされ、DRAMの最小アドレス指定粒度である。
【0069】
内部クロック供給
図8を参照すると、フロントエンドクロック880及びバックエンドクロック890を含む、2つの内部クロック供給ドメインが存在する。受信されたパケット880は、フロントエンドクロックを用いて、フレーム化及びクロック供給され、フロントエンドクロックは、ACDCブロックのアドレス復号化に内部アドレス指定情報810を与え、結果として、内部被復号化アドレス820がメモリコアに供給される。それゆえ、クロックが周波数Fにおいて動作しているとき、周波数F/8において、メモリコアに新たなアドレスを与えることができる。被復号化アドレス情報820は、内部データバス852上に内部データA830を与えるメモリアクセスのために使用される。
【0070】
メモリコアへのデータ演算は、バックエンドクロック890に対してフレーム化される。バックエンドクロック890は、待ち時間依存遅延895を用いて、フロントエンドクロック880からタイミングオフセットを受ける。内部データの全てのサンプリング、並びにデータワードの制御及びタイミングは、データパケットを送信又は受信するときに、バックエンドクロック890に対してフレーム化される。
【0071】
図9に示される待ち時間依存遅延922は、モードレジスタ内のビットによって制御される(図10、待ち時間制御1030を参照)。プログラム可能な待ち時間のために3つの待ち時間制御ビットが割り振られ、3つのビットに関連付けられる8つの取り得る値があるが、明確にするために図9には3つの例のみが示される。図9は、3つの異なる待ち時間値、すなわち、待ち時間A910、待ち時間B911及び待ち時間C912を示しており、それらの待ち時間はバックエンドクロック920に対するタイミングオフセットを決定する。
【0072】
動作
最初に電力が加えられるとき、使用前にDRAMが初期化される。初期化は、DRAMをパワーダウン状態にすることからなる。CKE信号をローにドライブし、DRAMに一度だけクロック供給することによって、パワーダウン状態に入れられる。その後、クロックは停止することができる。CKEがローである(偽又は無効)である間にクロックを再開し、その後、STB信号がハイである間にCKEをハイにドライブすることによって、パワーダウン状態から抜けられる。
【0073】
DRAMは、図11に示される3つの主な動作モード1100、すなわち、パワーダウン1110、アイドル1120及びアクティブ1130を有する。
【0074】
CKE信号が偽状態にある間に、DRAMはパワーダウンモードに入ったままである。
【0075】
CKE信号がアサートされると(1140)、DRAMはアイドルモード1120に遷移する。アイドルモード1120にある間、DRAMは通常に動作する準備ができている。STB信号1150上のローへの遷移を用いて、アクティブモード1130の開始をシグナリングする。アクティブモードに入ると、DRAMの挙動は、図12、図13及び図14に示される状態図に従う。
【0076】
図12は、ハイレベル状態遷移図を示す。アクティブモード1130は、図13及び図14において更に詳細に説明される。
【0077】
図13は、アクティブモード1130の詳細な状態遷移図の2ページのうちの1ページ目である。これは、パラレルコマンドによって制御される動作を示す。
【0078】
図14は、アクティブモード1130の詳細な状態遷移図の2ページのうちの2ページ目である。これは、シリアルコマンドによって制御されるバースト動作を示す。
【0079】
バースト読出しサイクル
図15は、バースト読出しサイクル1500を示すタイミング図を示す。アイドル1120にあるとき、STB信号540上でサイクル開始1570プリアンブルが受信されると、アクティブ状態1130が開始する。サイクル開始1570プリアンブルは、STB信号540がローにドライブされた後のクロック520の最初の立ち上がりエッジにおいて開始する。2クロックサイクル後に、データバス510上でパラレル要求パケット1510が受信される。パラレル要求パケット1510が受信される直前に、書込みプリアンブル1520でデータストローブ530がドライブされる。データバス510がパラレル要求パケット1510を含む時点において、クロックとの直交DQSタイミング1530関係において、データストローブ530がドライブされる。直交は、データバスが或る安定値を含む時点の、基本的に中央においてストローブが遷移することを意味する。CLKの立ち上がりエッジは、CLK#524信号の立ち上がりエッジではなく、CLK522信号の立ち上がりエッジを意味する。これら2つの信号は差動対を構成し、デバイスがパワーダウン状態において動作しないときに、相補的に動作する。
【0080】
パラレル要求パケット1510が受信されるとの同時に、シリアルパケット1512の存在に対して、STB信号540がサンプリングされる。8クロックサイクル等の所定の数のクロックサイクル後に、シリアルパケットの存在に対して、クロックサイクルごとにSTB信号が再びサンプリングされる。STB信号のこの周期的なサンプリングは、DRAMがアイドル状態に戻り、サイクルがリタイアされると言われるまで継続する。
【0081】
アクセス待ち時間1590後に、バースト読出しサイクルのための要求されたデータパケット1580が、データバス510上に現れ始める。データパケット1580がデータバス上に現れ始める1クロックサイクル前に、DRAMは、データストローブ上に読出しプリアンブル1540をドライブする。DRAMがデータパケットをドライブしている時点で、DRAMは、エッジ整列DQSタイミング1550でデータストローブ530をドライブする。エッジ整列DQSタイミングは、DQS信号がDB510信号と同相で遷移することを意味する。その際、DRAMは、列アドレスを自動的にインクリメントし、順次アドレスからの後続のワードをデータバス510上でシームレスストリームにおいて与える。
【0082】
データストローブ及びデータバスは、サイクルがリタイアされる時点にバーストカウント1620が達するまで、このようにして繰り返される。その時点で、DRAMは、データバス及びデータストローブをハイインピーダンス状態1560にする。
【0083】
バースト読出し及びバースト書込みサイクルのためのパラレル要求パケットフォーマット
図16は、要求パケットフォーマット1600を示す。パラレル要求パケット1510は、データバス510信号を用いてDRAMに伝送され、その妥当性はデータストローブ530信号によって指示される。バースト読出しサイクルの場合、要求パケットは、その情報を転送するために2つのバスサンプルを必要とする。バスは、CLK520の立ち上がりエッジにおいて最初にサンプリングされる。
【0084】
第1のサンプル1621中に、オペコード1610、バーストカウント1620、バンクアドレス1630及び列アドレス1640の列アドレスP1 1641が、データバス510からサンプリングされる。第2のサンプル1622中に、列アドレス1640の列アドレスP2 1642及び行アドレス1650が、データバス510からサンプリングされる。
【0085】
パラレル要求パケットに含まれるビットフィールド割当ての順序は重要でない場合がある。しかしながら、実施上の理由から、いくつかの特定の編成が好ましい場合がある。本セクション並びに他のセクション及び例示において説明されるような、フィールドの場所の特定の割当ては、本発明を実施する上で限定的であると見なされるべきではない。
【0086】
バースト書込みサイクル
サイクルがバースト読出しサイクルである場合には、2つのバスサンプル1621及び1622が、パラレル要求パケット1510全体を構成する。サイクルがバースト書込みサイクルである場合には、データバス510は更に4回サンプリングされる。4つの更なるサンプルのために使用される特定のタイムスロットは、IC実施態様の検討事項に基づいて、要求パケットの第1の部分から時間分離される場合があるが、メモリに書き込まれるべき第1のデータワードが送信される前に、マスクが送信される。
【0087】
バスサンプル3 1623を用いて、第1ワード書込みマスクロー1661フィールドを取り込み、第4のサンプル1624を用いて、第1ワード書込みマスクハイ1662を取り込む。第5のサンプル1625は、最終ワード書込みマスクロー1671を与え、第6のサンプル1626は、最終ワードマスクハイ1672を与える。その名称から暗示されるように、第1ワード書込みマスク1660はバースト書込みにおける第1のワードに当てはまり、一方、最終ワード書込みマスク1670は、マルチワードバースト書込みにおける最後のワードに当てはまる。
【0088】
図17は、バースト書込みサイクル1700のテンプレートを示す。バースト読出しサイクル1500と比べて、サイクルテンプレートにはいくつかの違いがある。バースト書込み1710のためのパラレル要求パケットは、全部で96ビットにわたる6つのバスサンプル(1621、1622、1623、1624、1625、1626)から構成される。最後の4つのバスサンプル(1623〜1626)を用いて、第1ワード書込みマスク1660及び最終ワード書込みマスク1670を転送する。書込み待ち時間1790は、読出し待ち時間1590より短くなり、すなわち、好ましい実施形態において、8クロックサイクル以下になる。データストローブ530がDRAMへの入力であり、DRAMによって書込みデータパケットが受信される前に、データストローブ530上に書込みプリアンブル1520がドライブされる。書込みプリアンブル1520直後に、データバス530上のデータに対して直交DQSタイミング1530を有するデータストローブサイクルが生じる。直交タイミングは、データが安定しているときに、DB信号の妥当性窓(validity window)の中央においてDQS信号が遷移することを意味する。バースト読出しの事例と同様に、バースト書込みは、バーストカウントに達するまで順次の列アドレスから継続する。その時点において、サイクルはリタイアされ、DRAMは、図示される例ではアイドル状態1120に戻る。
【0089】
不整列データ構造
書込みサイクル中にワード内バイトをアドレス指定できるようにするために、要求パケットの一部としてデータマスクの転送を含むことによって、バースト書込みサイクル1700は、動作上、バースト読出しサイクル1500とは異なる。第1ワードマスク1660は全部で32ビットであり、各ビットはそのワード内のバイト位置に対応する。ビット0は、32バイトワード内の第1のバイトに当てはまる。ビット1は、32バイトワード内の第2のバイトに当てはまり、それ以降も同様である。データマスクが「1」に設定された任意のビットを有する場合には、対応するバイトは書き込まれない。第1ワードマスク1660は、バースト書込みにおける第1のワードにのみ当てはまる。最終ワードマスク1670は、マルチワードバースト書込みにおける最後のワードにのみ当てはまる。マルチワードバースト書込みにおいて転送される他のワードはマスクされない。
【0090】
この方法は、1ワード内のバイト書込みをサポートできるようにする。このデュアルマスク書込み方式を用いて、32バイト境界に整列しないデータ構造(「不整列データ」)をサポートすることもできる。
【0091】
不整列データ書込みサイクルの場合に、書込みマスク処理は、特定のワード内にデータを書き込むときに変更されるべきでないバイトに書き込むのを防ぐために、読出し−変更−書込みサイクルを使用するのを回避する方法を提供する。図18には、整列の事例1810及び2つの異なる不整列の事例1820及び1830が示される。整列構造の事例1810では、データ構造1812を構成する4つの32バイトワードが存在する。これらは、4つの書込みワードにおいて転送される。このデータをDRAMに書き込むとき、バイトマスク処理は使用されない。
【0092】
1820に示される不整列データの場合、データ構造は3つの32バイトワード1822から構成され、それらのワードは、32バイト境界上に整列せず、代わりに、32バイト境界から8バイトだけオフセットされる。DRAMは、データ構造内に含まれる3つの不整列ワードを書き込むために、4つの書込みワードのバーストを必要とする。バースト内で転送される第1のワードは、下位8バイト1824がマスクされ、最初の32バイトデータワードのうちの下位24バイトが書き込まれることになる。バースト内で転送される第2のワード及び第3のワードは、転送される各ワード内の全てのバイトが書き込まれるが、不整列構造内のバイトが、不整列に応じてオフセットされ、2つの隣接する32バイトワード間に割り当てられる。バースト内で転送される最後のワードは、不整列データ構造1822の最後の32バイトワード1828の上位8バイトを転送し、転送されるデータワード内の上位24バイト1826をマスクすることによって、それらの8バイトを書き込む。
【0093】
第2の不整列の事例1830では、データ構造1838をDRAMに書き込むために、データ構造は全部で60バイトにわたる5つの12バイト量から構成される。最初の12バイト量634は32バイト境界1890に整列するが、データ構造1838の全長が32バイトの整数倍ではないので、バースト内で転送される最後のワードは、上位8バイト1836がマスクされる。DRAMにデータ構造を書き込むために、2つの転送されるワードのバーストを要する。
【0094】
パラレル要求パケットを使用することによって開始することができる他の動作がある。いくつかの例が、ページプリチャージ、行アクティベーション、モードレジスタ書込み動作を含む。更なる動作は、リフレッシュ、及びユーティリティレジスタ読出し/書込み動作を含む。
【0095】
ページアクティベーション
DRAMを用いてデータを書き込むか、又は読み出すことができる前に、対象となる行及びバンクがアクティベートされる。パラレル要求パケットを用いて、指定されたバンク内の指定された行アドレスをアクティベートすることができる。別の用語では、特定の列及びバンクアドレスは「ページ」と呼ぶことができ、それらの用語は、本明細書において同義で使用される。
【0096】
図17は、アクティベートコマンドのために使用されるパラレル要求パケット1510フォーマットのサブセットを示す。ページがアクティベートされるとき、バーストカウント1620又は列アドレス1640が使用されないので、それらのフィールドはアクティベートコマンドにおいて定義されない。存続するフィールドは、オペコード1610、バンクアドレス1630及び行アドレス1650である。DRAMがパラレル要求パケット1510を受信するには、データバス510の2回のサンプリング1621、1622が必要とされる。
【0097】
一般に、ランダムアドレスから1つの列を読み出すために行うより、ページをアクティベートするには多くの時間を必要とするので、ページアクティベーションコマンドを完了するのに、2つ以上の8クロックサイクル周期が必要とされる場合がある。必要とされる具体的な時間は、特定のDRAM設計に特有のタイミング仕様である。
【0098】
ページアクティベーションを実行するのに有限の時間が必要とされるので、パラレル要求パケット2020を介して送信される任意の後続のコマンドは最短時間であるポストアクティベーション遅延2030にわたって延期される場合があり、最短時間は別の設計特有の仕様である。このポストアクティベーション遅延2030は、図20のタイミング図に示される。また、第1のページアクティベーションを開始するパラレル要求パケット2010も示され、この最短時間であるポストアクティベーション遅延2030後に、DRAMに第2のパラレル要求パケット2020を供給することができる。
【0099】
バンクプリチャージ
ページをアクティベートできる前に、対象となるバンクがプリチャージされる。これは、図21に示されるパラレル要求パケット2110を介して行うことができる。必要とされるフィールドはオペコード1610、及びどのバンクをプリチャージすべきかに関する情報である。動作効率を改善するために、一度に2つ以上のバンクをプリチャージすることが多くの場合に有利である。複数のバンクプリチャージ処理をサポートするために、パラレル要求パケット2110は、DRAM内の各バンクに対応する一群のビット1670を有する。これらのビットは、バンクセレクトビット1670と呼ばれる。論理値「真」に設定されたビットごとに、バンクプリチャージサイクル中に対応するバンクがプリチャージされる。
【0100】
図22は、パラレル要求パケット2210の使用によって開始されるバンクプリチャージ動作2200のタイミング図を示す。バンクプリチャージ動作を完了できるようにするために、任意の後続のパラレル要求パケット2220がDRAMに供給される前に、ポストプリチャージ遅延2230と呼ばれる最短遅延が満了できるようにする。ポストプリチャージ遅延2230は、設計依存パラメータである。
【0101】
モードレジスタセット及びIOインピーダンス
DRAMは、DRAMによって使用されるいくつかの動作パラメータを記憶するために使用されるモードレジスタを含む。モードレジスタは、図23に示されるパラレル要求パケット2310を用いて書き込まれる。パラレル要求パケットに含まれるのは、オペコードフィールド1610、ODTインピーダンス2370フィールド、出力インピーダンス2360フィールド及び待ち時間フィールド2350である。具体的なビット割当て順序は重要ではなく、IC実施態様に利益をもたらすように最適化することができる。
【0102】
図24は、IO回路2402及び入力回路2404に関連付けられる調整可能インピーダンスの簡略化された概略図を示す。入力回路2404の場合、インピーダンスT0 2431a、T1 2432a及びT2 2433aを有する3つの終端が存在し、それらの終端は、オンダイ終端(ODT:on-die-termination)インピーダンスを、モードレジスタ内で設定されるODTインピーダンス2370ビット(2371、2372、2373)によって制御される8つの値のうちのいずれか1つに設定するために、並列に組み合わせることができる。モードレジスタビットT0 2371が論理「真」状態に設定されるとき、オンダイ終端機能がアクティブであるときに、T0抵抗器2431がオンに切り替えられる。T0レジスタが選択される方法と同じようにして、モードレジスタ内のビットT1 2372及びT2 2373が、抵抗器T1 2432及びT2 2433を選択する。これら3ビットが全て論理「偽」状態に設定される場合には、オンダイ終端機能が無効にされる。有効にされたオンダイ終端の実効インピーダンスは、有効にされた抵抗器の並列の組み合わせである。DRAM上に含むために選択される抵抗器の具体的な値は、或る範囲の有用なインピーダンスをプログラム可能な制御下でサポートできるようにされる。DRAMにモードレジスタセットコマンドを発行できる任意の時点において、インピーダンス値を変更することができる。これを用いて、動的なインピーダンス調整をサポートし、信号完全性を最適化することができる。
【0103】
DRAMは、2点間シグナリング環境において使用するのに対応する。場合によっては、2点間シグナリングリンクを使用するときに、並列DCタイプ終端の使用によって電力を消費するのを回避するために、直列終端を使用するのが有利である。モードレジスタ内に、出力インピーダンス(2360)を制御する特定のパラレル要求パケットビット(2361、2362、2363、2364)に対応する4つのビットが存在する。オンチップ抵抗器を選択して並列に組み合わせることによるオンダイ終端インピーダンスのモードレジスタ制御と同じようにして、モードレジスタの出力インピーダンス2360フィールド内の書込み可能ビットによって、IO回路2402の出力インピーダンスを制御することができる。ビットZ0 2361は抵抗器Z0(2421)を選択し、ビットZ1 2362は抵抗器Z1 2422を選択し、ビットZ2 2363は抵抗器Z2 2423を選択し、ビットZ3 2364は抵抗器Z3 2424を選択する。抵抗器Z3は短絡であり、直列終端を解除するように設計される。Z3が設定される場合には、他のビットが無視される。ビットZ0〜Z3のうちの少なくとも1つが選択される。
【0104】
IO回路2402の他の要素は、出力ドライバ2410及び入力受信機2450である。入力回路2404は、入力受信機2450a及びオンダイ終端抵抗器を含むが、出力ドライバ2410又は出力インピーダンス回路2420を含まない。
【0105】
DRAMは、2点間シグナリングにおいて使用することができるか、又はマルチドロップシグナリング環境において使用することができる。DRAM IO回路2402が図24に示される。また、同じ図に入力回路2404が示される。IO回路は、プログラム可能な出力インピーダンス回路2420を有し、プログラム可能オンダイ並列終端、ODT2430を有する。ODT回路は、受信モードにおいて信号がIO回路に流れるときにのみ有効にされる。ODT回路のインピーダンスは、3つの終端抵抗器2431、2432及び2433のうちのどの抵抗器がモードレジスタを介して選択されるかによって設定される。いずれも選択されない場合には、ODT機能はアクティベートされない。
【0106】
類似の回路が入力回路2404として使用される。入力回路は、IO回路に類似であるが、出力構造が取り除かれている。ODT構造はそのままであり、IO回路の場合と同じようにして動作する。
【0107】
IO回路はデータバス及びデータストローブのために使用され、一方、入力回路2404は、CKE、クロック及びSTB信号のために使用される。
【0108】
図25は、モードレジスタ書込み2500のタイミング図を示す。パラレル要求パケット2510によってサイクルが開始される。そのサイクルは8クロックサイクル後にリタイアされる。MRS遅延2530後に、別のパラレル要求パケット2520が送信される場合がある。
【0109】
ユーティリティレジスタ
図26は、ユーティリティレジスタ動作2710のためのパラレル要求パケットを示す。そのパケットは、オペコード2610フィールドと、第1のバスサンプル1621において取り込まれる読出し/書込み(R/W#)ビット2620とを含む。動作が書込みである場合には、ユーティリティレジスタ内に記憶されるべきデータがバスサンプル3 1623及びバスサンプル4 1624中に供給される。動作がユーティリティレジスタ読出し動作である場合には、図27に示されるように、読出し遅延2732後に、ユーティリティレジスタから返されたデータが、データバス510からサンプリングされる。
【0110】
バックトゥバックサイクル
図28は、ちょうど上記に説明された、サイクル内でサンプリングされるシリアルパケット1512内のビットのうちのいくつかを示す。シリアルパケット1512は全部で16ビットを含み、Clk522の立ち上がりエッジ及び立ち下がりエッジ上でサンプリングすることによって、8つの連続したクロックサイクル520を用いてSTB信号上でシリアルに伝送される。この方法を用いて受信されるビットはs0〜s15の番号を付され、図28に示されるように、s0は最初に受信されるビットであり、s15は最後に受信されるビットである。s0及びs1はオペレーションコード(「オペコード」)2830であり、シリアルパケット機能を定義する。
【0111】
アクティブサイクルの終了時にシリアルパケットがサンプリングされるときに、s0及びs1ビットがいずれも「1」に等しい場合には、そのシリアルパケットは、NOPシリアルパケットと呼ばれる。NOPシリアルパケットの最後の4ビット、s12、s13、s14及びs15は、サイクルトリガビット2840と呼ばれ、サイクル開始1570が要求されるか否かを確認するためにサンプリングされる。パケット内の残りのビットは無視される。サイクルトリガビットが、サイクル開始1570を示す場合には、s15ビットが転送された後に、Clk522の最初の立ち上がりエッジにおいて、新たなパラレル要求パケットがサンプリングされ始める。s14及びs15タイムスロット中に、後続のパラレル要求パケットに先行して、このクロックサイクル内でデータストローブ530が書込みプリアンブル1520を供給する。
【0112】
最後のNOPシリアルパケットの終わりにサイクル開始が示されず、ポストアクティベーション遅延2030又はポストプリチャージ遅延2230等の、必要とされるパラレル要求パケット間の遅延時間が指定されない場合には、そのサイクルはリタイアされ、DRAMデバイスはアイドル状態1120に戻る。
【0113】
アイドル状態からのサイクル開始
アイドル状態1120に入ると、DRAMは、Clk522の各立ち上がりエッジにおいてSTBピンをサンプリングし、サイクル開始が要求されるか否かを確認する。DRAMがアイドル状態にある間に、立ち上がりClk522エッジにおいてSTB信号上で論理「0」状態が観測されると、サイクル開始1570が示され、STB信号は、次の1.5クロックサイクル(立ち下がりエッジ、立ち上がりエッジ、立ち下がりエッジ)にわたってローのままである。サイクル開始1570の開始後のCLK522の立ち上がりエッジにおいて、データストローブ530上に書込みプリアンブルが与えられ、その後、次のClk522立ち上がりエッジにおいて、パラレル要求パケットの第1の部分が与えられる。
【0114】
パラレル要求パケットを介してのオートリフレッシュ
図29に示されるように、パラレル要求パケット2910がオートリフレッシュを開始することができる。パラレル要求パケットフォーマットは、図21に示されるプリチャージバンクフォーマットと同じである。オペコード1610が、オートリフレッシュ動作からプリチャージを区別する。
【0115】
バンクセレクトビット1670は、どのバンクがリフレッシュされるべきであるかを示す。例えば、プリチャージ動作の場合、各バンクは対応するバンクセレクトビットを有する。論理「1」に設定されたバンクセレクトビットがオートリフレッシュされる。一度に1つのバンクのみがリフレッシュされる。最も小さい番号を付されたバンクから開始して、選択されたバンクが順次にリフレッシュされる。
【0116】
オートリフレッシュ動作は、選択されたバンク内の各行をリフレッシュする。結果として、DRAMは、リフレッシュを完了するのに数千サイクルを要することになり、その実際の数はアレイ設計によって決まる。パラレル要求パケットがDRAMに最初に与えられた8クロック後に、両方のデータストローブ530をローにドライブすることによってリフレッシュするときに、DRAMは、ビジー2910であることを示す。両方のデータストローブ530は、最後の行がリフレッシュされるまでローのままである。その時点で、DRAMは、相補データストローブ538をローにしたまま、非反転データストローブ536をハイにドライブする。ストローブは、完全な1クロックサイクルにわたってこの状態に保持され、その後、ハイインピーダンス状態にされ、その時点で、シリアルプロトコルを介してSTBピン上にサイクル開始1570が示されなかった場合には、DRAMはオートリフレッシュサイクルをリタイアし(1152)、アイドル1120状態に戻る。サイクルトリガ2840のビットによってサイクル開始が示された場合には、他の事例と同様に、パラレル要求パケット1510とともに、新たなDQS書込みプリアンブル1520が与えられる。
【0117】
シリアルパケット
アクティブモード1130の開始時に、シリアルパケット1512を受信するためにSTB540信号がサンプリングされる方法を定義するシリアルプロトコルが開始される。シリアルパケット1512を用いて、アクティブサイクル中にDRAMにコマンド及びアドレス情報を与えることができる。シリアルプロトコルは、16ビットシリアルパケット1512を定義する。アクティブサイクル1130の開始時にSTB信号がサンプリングされ、8クロックサイクルの周期にわたってクロック520エッジごとにサンプリングされ、完全な16ビットシリアルパケット1512が受信される。8クロック520サイクル後に、シリアルパケット1512は、完全に転送されており、新たなパケットが同じようにしてサンプリングされ始める。そのプロセスは、そのサイクルがリタイアされ(1152)、DRAMがアイドル状態1120に戻るまで、8クロックサイクルごとに繰り返す。
【0118】
シリアルパケット(1512)フォーマットが図30に示される。明確にするために、16ビット位置が割り当てられ、指示子はs0からs15に及ぶ。s0はシリアルパケット1512において受信される最初のビットである。ビットs0及びs1は、テーブル2832に従ってマッピングされる4つのオペコード2830を定義する。
【0119】
図31は、バーストシリアルパケット3110のためのビット割当てを示す。最初の2ビットは、図19に示されるように、s0=0及びs1=1である。ビットs2は、そのバーストがバースト読出しであるか、又はバースト書込みであるかを示すために使用される。s2=1である場合には、それはバースト読出しサイクルであり、s2=0である場合には、それはバースト書込みサイクルである。ビットs3及びs4は、BA0=s3及びBA1=s4であるような2進符号化を用いて、バンクアドレスに割り当てられる。ビットs5、s6、s7、s8、s9及びs10はCA0〜CA5に割り当てられる。CA0はs5に対応し、CA1はs6に対応し、それ以降も同様である。バーストシリアルパケット内の残りの全てのビットは論理「1」に設定される。繰り返すが、本発明を実施する上で具体的なビット割当ては重要ではなく、他の特定のフォーマットが利用される場合がある。
【0120】
バーストシリアルパケットは、DRAMがアクティブであり、データバス510を用いてデータを転送している間に、DRAMにバンク及び列アドレスを与える。例えば、DRAMがバースト読出し動作を実行しており、データバス510上でデータを転送している間に、DRAMは、そのバーストにおいて次のバンク/列アドレスとして使用されるべき新たなバンク及び列アドレスを受信することができる。このようにして、任意の長いバーストにわたって、シームレスなデータバス占有を持続することができる。バーストシリアルパケット3110は、DRAM内の任意の空きバンク内の任意の列にアクセスすることができ、各バーストシリアルパケットは、単一のワードと同じ程度に小さいデータにアクセスすることができる。シリアルバーストにおいて転送される各ワードは、アクティベートされたページ内の異なるバンク及び/又は列アドレスから来ることができ、データバスは100%占有されたままである。
【0121】
図32には、バーストシリアルパケット3110を組み込むバースト読出しサイクル3200が示される。パラレル要求パケット3210が、ロケーションA(特定のバンク及び列アドレス)からバースト読出しサイクルを開始する。パラレル要求パケットがDRAMに与えられるのと同時に、STB信号上でDRAMにシリアルパケット3110が与えられる。図32において、図示される最初のシリアルパケットはバースト読出しパケットであり、ロケーションBを指している。ロケーションAからのパラレル要求パケットによってアドレス指定されるデータの最初のワードがDRAM3280によって転送された後に、ロケーションBからのバーストシリアルパケット3282によってアドレス指定されるデータの最初のワードが直ちに後続する。後続のシリアルパケットがNOP(s0=1、s1=1)である場合には、アクセスされる次のワードは、次の順次アドレス、例えば、ロケーションB+1から来ることになる。NOPがシリアルパケットを介して連続して供給され続ける場合には、空いた行内の最後の列アドレスがアクセスされるまで、アドレスは厳密に昇順に自動的にインクリメントし続ける。バーストは途切れることなく継続するが、アドレスは、アクセスされる行の開始列アドレスにおいて開始する。これは、シリアルパケットを介して受信されたユーティリティバーストストップ3314コマンドを介してバーストがリタイアされるまで継続する。したがって、言い換えると、バーストシリアルパケット3110が受信されると、開始パラレル要求パケット内の元のバーストカウントは無視され、ユーティリティバーストストップ3314シリアルパケットのみを用いて、バーストを停止することができる。
【0122】
ユーティリティバーストストップを介してのバーストサイクルのリタイア処理
バーストシリアルパケット3110がDRAMに発行されると、パラレル要求パケット内のバースト長フィールドは無視される。STB信号を介して、シリアルプロトコルを用いてユーティリティバーストストップ3314パケットを発行することによって、バーストサイクルが停止される。ユーティリティバーストストップパケットのフォーマットが図34に示される。DRAMが、図33に示されるユーティリティバーストストップコマンド3314を受信すると、進行中であるデータ演算を完了し、その後、更なるアクティブサイクルがスケジュールされない場合には、アイドル状態に入る。
【0123】
図33を参照すると、ユーティリティバーストストップ3314は、バーストサイクルを終了するプロセスを開始する。ストップコマンド3314の直後に、STB信号上に3つのNOPコマンド(3315、3316、3317)が順次に供給され、その後、DRAMはアイドル状態に入る。しかしながら、図33に示される事例では、最後のNOP3317内でサイクル開始(1570)コマンドが発行される。結果として、先行するNOPパケット3317)の終了時に、新たなアクティブサイクル3321の開始を示すサイクル開始コマンド1570を含んだパラレル要求パケット(3320)が受信される。動作基準(a frame of reference)として、パラレル要求パケットが受信されると、アクティブサイクル3311、3321が始まる。
【0124】
アクティブサイクル3321はバースト読出しサイクルである。パラレル要求パケット3320が受信されている時点において、STB信号上でNOP3315が受信される。結果として、バースト読出しからの最初の2つのワードは、ロケーションCから開始してパラレル要求パケット3320内に含まれるバンク及び列アドレスによってアドレス指定される順次ワードである。第2のシリアルパケットタイムスロット中に、異なるバンク及び列アドレスとすることができる、ロケーションDをアドレス指定するバースト読出しシリアルパケット3341コマンドが受信される。バースト読出しシリアルパケット3341にユーティリティバーストストップ3314コマンドが後続し、図示されるように、3つの必要とされるNOPのうちの2つ(3315、3315)が直ちに次々に後続する。
【0125】
パラレル要求パケット3320は、ロケーションCからのバースト読出しを要求し、そのデータパケット3383は、アクセス待ち時間1590後にDRAMによってドライブされる。次のワード3384は、ロケーションC+1からアクセスされる。第3のワード3385は、ロケーションDから、バースト読出しシリアルパケット3341によってアドレス指定される。データパケットDからのワードが転送された後に、最後のNOP3315後のサイクルにおいてサイクル開始コマンドが受信されない場合には、DRAMはアイドル状態1120に戻る。
【0126】
バーストサイクル中の読出し/書込みモードのトグル動作
アドレス指定/制御のためにシリアルパケットを使用しているバースト読出し又はバースト書込みサイクル中に、ユーティリティトグルパケット3514を用いて、読出しから書込み、又は書込みから読出しにモードを切り替えることができる。図35に示されるように、ユーティリティトグルパケット3514は、バースト読出しサイクル中に受信される。待ち行列内の任意のデータサイクルが、ユーティリティバーストストップが動作する方法と同じようにして完了する。アクティブサイクルがバースト読出しサイクルである場合には、ユーティリティトグル(図37)コマンドは、直ちに後続する単一のNOPコマンド3313(図36)を必要とする。NOP3313コマンドには、バースト書込みコマンド3516が後続し、この場合、そのコマンドはロケーションCをアドレス指定している。
【0127】
未決のデータパケット3181及び3182が出力されると、DRAMが書込みモードにおいて動作するように切り替えられるのに応じて、データバス510はハイインピーダンス状態に入る。バスがハイインピーダンス状態に入れられている時点において、ロケーションCに書き込まれるデータが与えられる前に、バーストの最初のワード及び最後のワード3592のためのデータマスクがDRAMに与えられる。マスクは、パラレル要求パケットを伴うバースト書込みの事例と同様に使用される。すなわち、第1のデータマスクは書き込まれる第1のワードに適用され、一方、第2のデータマスクはマルチワードバーストにおける最後のワードに適用される。
【0128】
図35に示される事例の場合、シリアル書込みは2ワード長であるので、データマスク3592内に適切なビットが設定される場合には、いずれのワードもマスクすることができる。
【0129】
パイプライン式プリチャージ処理及びバンクのアクティベーション
読出しバースト又は書込みバースト動作中に、(パイプライン式プリチャージとも呼ばれる)ユーティリティバンクプリチャージコマンド3913を用いて、バンクを選択的にプリチャージすることができる。図39に示されるように、プリチャージ間隔3952後に、シリアルアクティベートパケット4010によってバンクをアクティベートすることができる。ユーティリティバンクプリチャージシリアルパケット3913のフォーマットは図38に示されており、シリアルアクティベートパケット4010のフォーマットは図40に示される。
【0130】
図39は、パラレル要求パケット1510によってアドレス指定されるようなロケーションAからの1つのワードにアクセスするアクティブバースト読出しサイクルを示す。アクティブサイクルの開始時に、ロケーションBからのデータを要求する、シリアルバースト読出しパケット3912が受信される。シリアルバースト読出しパケット3912の直後に、ユーティリティバンクプリチャージパケット3913が後続し、そのパケットは、ロケーションB+1から順次に継続するバースト読出しと同時に、ロケーションCを含むバンクをプリチャージする。プリチャージ間隔3952だけ待った後に、DRAMにロケーションCを含むバンク/行をアクティベートするように指示する、シリアルバンクアクティベート3916コマンドが受信される。このアクティベーションは、進行中のバースト転送と同時に行われる。アクティベーション間隔3954後に、ロケーションC3912へのシリアルバースト読出し要求がDRAMに発行され、アクセス待ち時間後に、データパケット3988がDRAMから読み出される。アクティブサイクルにおいて、バースト読出しデータのこのシーケンスがデータバス510上に現れ始めると、データバス510は、DRAMをアイドル状態に戻すユーティリティバーストストップコマンドが発行されるまでシームレスに動作する。
【0131】
同じアクティブサイクル内で、読出しから書込みに、又は書込みから読出しにトグルし、パイプライン式バンクプリチャージ及びパイプライン式アクティベーションを全て使用することも可能である。アクティブサイクルが開始すると、その長さに制限はない。例えば、図41にはバースト書込みサイクルのタイミング図が示されており、そのサイクルをバースト読出しサイクルに切り替えるシリアルユーティリティトグルRW3514が受信される。読出しバーストにおいて2つのワード(3284及び3286)を転送した後に、ユーティリティバーストストップ3217を用いて、バースト動作を停止する。読出しバーストサイクルの最後のNOP4120内に、パラレル要求パケット3210が後続することを示すサイクル開始1570が含まれる。
【0132】
シリアルプロトコルを介してのリフレッシュ動作
数多くのビデオフレームバッファアプリケーションにおいて、フレームバッファは、データを表示するために読み出されている間に、新たなデータで絶えず更新されることになる。そのようなアプリケーションにおいて、DRAMのためのデータリフレッシュは任意選択的にすることができる。例えば、ディスプレイのスキャン速度及びDRAMの編成に起因して、DRAMのためのデータリフレッシュは増分利益(incremental benefit)のみを有することができる。
【0133】
リフレッシュが望まれる場合には、シリアルパケットを用いてリフレッシュを開始することもできる。すなわち、リフレッシュされるべきバンクはパケット内で指定され、DRAMは、その際、リフレッシュコマンドがパラレル要求パケットを介して発行されたときに機能するのと同様に機能する。
【0134】
2点間環境におけるシグナリングの動作
図42は、ASIC42990コントローラICとDRAM42995とを相互接続する単一の双方向信号を示す。相互接続信号線42100の両端において概ね同一の構造を有することによって、直列終端シグナリング方式を利用することができる。直列終端方式を利用する主な利点は、並列終端回路に関連付けられるDC電力の消費を回避することである。
【0135】
直列終端方式において使用されるようにIO回路を構成するために、両方のIC、ASIC及びDRAM上の図24に示されるオンダイ終端(ODT)回路2430、2430aが、モードレジスタビットによって無効にされる。図24に示されるプログラム可能出力インピーダンス2420は、外部相互接続リンクのインピーダンスを近似するように構成される。
【0136】
図43は、直列終端動作モードのための等価回路を示す。事例1では、ASICは、相互接続リンクのインピーダンスを近似するように選択される出力インピーダンス42396で信号42100をドライブしている。DRAMがASICへの信号をドライブするとき、類似の構成が使用され、出力インピーダンス42496がモードレジスタビットによって設定される。
【0137】
DRAMがリンクをドライブする事例2も、図43に示される。いずれの場合も、従来の直列終端スイッチング/シグナリングが使用される。各事例内の受信機は並列終端を有しないので、終端によってDC電力は消費されない。
【0138】
これらの2つの事例1及び事例2のタイミング波形が図44に示される。ローからハイへの遷移及びハイからローの遷移の過渡条件に適用される一方向パス遅延42211が示される。ライン42201及び42301の各端部において、直列終端インピーダンスを通してドライバをリンクに接続するノードだけでなく、リンク42200及び42300の両端部も示される。過渡期間中に、リンク42200又は42300のドライバ端には、アクティブドライバ出力42201又は42301において観測される入射電圧ステップの半分において一方向パス遅延42211の2倍に等しいドエル期間(dwell period)が生じる。事例1又は事例2のいずれの受信機も、2点間回路トポロジにおいて、事例1又は事例2において入射波に関する完全な信号遷移を受信する。
【0139】
図45は、DRAMと組み合わせて使用される従来の低インピーダンスドライバを備える構成を示す。この例において、ASIC45990のIO構造は、直列終端抵抗器を含まず、いかなるODT構造も含まない。DRAM45995上のIO構造は、DRAMがリンク45100をドライブするときに直列終端ドライバを提供し、ASICがリンクをドライブするときに、方向選択性ODTを介して並列終端受信機を提供するように構成される。
【0140】
図46は、オンダイ終端を備えない低インピーダンスドライバを用いてDRAMに接続するときの2つの事例の場合の等価回路を示す。事例1は、ASICが、DRAMに接続するリンク45100をドライブする場合である。DRAMが信号を受信しているときに、DRAM上の方向選択性ODTが、モードレジスタ選択可能終端インピーダンス45493をDRAM内部のリンクに動的に接続する。事例2においてDRAMがリンクをドライブするとき、この終端インピーダンスがオフに切り替えられる。DRAMは、モードレジスタ選択可能直列終端抵抗器45496を通してリンクをドライブする。これは、図43の直列終端事例2と同等である。図46の等価回路のスイッチング特性のためのタイミング波形が図47に示される。
【0141】
ASICがリンクをドライブする事例1の場合、DRAM端からの反射はODT45493によって吸収される。DRAMがリンクをドライブする第2の事例の場合、ASICの受信機45700からの反射は、図42、図43及び図44に示される全直列終端事例と同様に、DRAM上の直列終端45496によって吸収される。
【0142】
マルチドロップ環境におけるシグナリングの動作
マルチドロップ環境の場合、一般に、直列終端単独で使用することはできないので、並列終端が好ましい。DRAM上のODT回路は、書込みサイクルのために、そしてパラレルパケットを受信するために使用されることになる。また、コントローラは、コントローラに搭載されるODT回路も使用する。このようにして、供給源に関係なく、バス信号に常に適切な終端が適用される。終端はモードレジスタを介して有効にされ、出力インピーダンス及び並列終端インピーダンスの値を設定するために使用される。
【0143】
デバイスフロアプラン
DRAMフロアプラン48000は、図48に示されるように、ダイの単一のエッジに隣接して配置されるボンディングパッド48100を有する。DRAMの1つのバージョンにおいて、ダイは長方形であり、約2:1.25のアスペクト比を有するが、他の形状及びサイズも可能であることは理解されたい。ボンディングパッドはダイの短い方のエッジに隣接して配置され、スタックダイアセンブリ構成の場合に利点をもたらす。
【0144】
DRAMは全部で22個のスイッチング信号を有するので、適切な数の電源信号及び接地信号を考慮して、ボンディングパッドは、それぞれが20個のボンディングパッドを含む、2つの垂直な列に配列される。パッド距離48200はパッドピッチによって設定される。パッドピッチ値が小さいほど、結果として、必要されるパッド距離の全長が短くなる。このパッド距離は、DRAMの1つのバージョンにおいてY寸法より著しく短くすることができる。
【0145】
スタックダイパッケージングアセンブリ
図49は、基板49300に機械的に取り付けられるASICダイ49200を組み込むスタックダイアセンブリ49000を示す。ASIC上のボンディングパッド49600が、ASICの2つのエッジに沿って配列される。これらのボンディングパッドを用いて、ASICの外部インターフェースボンディングパッド49600を、ボンドワイヤを介して基板49300に接続する。
【0146】
DRAMダイは、ASICダイの露出面に機械的に取り付けられ、スタックダイアセンブリ49000が形成される。DRAMボンディングパッド48100は、ボンドワイヤ49440及び49420を介して、ASICメモリインターフェースボンディングパッド49500に接続される。
【0147】
スタックダイアセンブリ49000を作製するために、ワイヤボンディングプロセスが必要とされる。その上にDRAMダイが積み重ねられたASICダイへのボンドワイヤを形成するために、ワイヤボンドを収容するASICダイの任意の領域に関して、ボンディングシェルフ幅49800のボンディングシェルフと呼ばれるASICダイの露出領域が必要とされる。
【0148】
ボンディングシェルフに関するこの要件は、構造49000のための機械的なアセンブリ要件によって設定されるような、取り得る最も小さいASICを確立する。
【0149】
図50は、これらの機械的検討事項によって設定されるような、最小サイズのASICダイを計算するために使用される式を示す。X寸法50001は、DRAM X寸法とボンディングシェルフ寸法との和から任意の許容可能なダイ張り出し49900を引いた値である。Y寸法50002は、DRAM Y寸法に、2つのボンディングシェルフ幅を足した値に等しい。ボンディングシェルフの標準値は約0.5ミリメートルとすることができ、ダイの最大張り出しの場合に、1.5ミリメートル程の値を標準値とすることができる。
【0150】
それらの標準値を用いるとき、ASICの最小ダイサイズは、X=DRAM X寸法−1mm及びY=DRAM Y寸法+1mmになる。
【0151】
図51は、ASIC51200及びDRAM51100のスタックダイアセンブリのための別の構成を示す。ASIC51200は、基板51300に機械的に取り付けられる。ASICの外部インターフェースボンディングパッド51600がダイの単一のエッジに隣接して配列され、2つの平行な行に分けられる。ASIC51200上で2行ワイヤボンディングを用いて、これらのパッドを基板ボンディングパッド51700に接続する。DRAM51100はASICダイの露出面に機械的に取り付けられ、X方向及びY方向の両方において張り出す。
【0152】
図52は、この構造51000に関する機械的なアセンブリ要件によって設定されるような、最小サイズASICダイを計算するために使用される式を示す。X寸法52111は、DRAM寸法に単一行ボンディングシェルフ幅寸法を足した値から、DRAM51100の長手方向におけるダイ張り出しを引いた値に等しい。
【0153】
Y寸法52112は、DRAM Y寸法52982に2行ボンディングシェルフ幅51800を足した値から、Yの張り出し52994を引いた値に等しい。Yの張り出しは、列あたりのDRAMボンディングパッドの数と、パッド距離52980を確立するパッドピッチとによって部分的に決定される。Y張り出しは、DRAM Y寸法とパッド距離との差の2分の1にマージン距離を足した値である。マージンは、一例として、ボンディングパッドをダイエッジのどのくらい近くに配置することができるかを含みうる。2行ボンディングシェルフ幅は0.7ミリメートルの値とすることができ、DRAM上のボンディングパッドピッチは60マイクロメートルとすることができる。DRAM上のパッド距離は約1.14mmとすることができる。
【0154】
この構成51000を使用するとき、アセンブリ機械的検討事項によって設定されるような最小サイズASICダイは、図49のスタックダイアセンブリ49000より小さくすることができる。
【0155】
個別DRAMパッケージング
図53は、LPC DRAMダイ53400の輪郭と、少なくとも40個のボール(22個のスイッチング信号+18個の電源及び接地ボール)を組み込むためのボールマップフットプリントの可能性を示す3つの異なる輪郭とを示す。LPC DRAM上に少数のボンディングパッドが配置されるので、約2.5mm×4.0mmのLPC DRAM物理ダイサイズの場合、ファンインタイプウェハレベルチップスケールパッケージ(「FI−WLCSP」又は「WLCSP」)が、デバイス信号のために400マイクロメートル以上のボールピッチを使用することができる。テーブル53500は、4列、5列及び6列のボールのX(列幅)を示し、このテーブルは、10行、8行及び7行のY(行)幅を示すテーブル53600とともに使用され、全ボールカウントは、それぞれ40個、40個及び42個(53100、53200、53300)になる。全ての事例において、2.5mm×4.0mmLPCダイの周辺部に最少でも40ボールを配置することができ、その数はLPC DRAMアーキテクチャによって必要とされる少数の実際の信号に起因する。従来のDDR3タイプx16編成のDRAMと比べると、96ボールに対して、全部で40ボールが存在する。同じ2.5×4.0サイズのDDR3タイプダイの面上に96ボールが配置されていたなら、96ボールは0.45mm×0.25mmピッチ上に配置されたことになり、それは現在の低コストPCB技術の場合に非常に挑戦的である。LPC DRAMの場合に低信号カウントであるため、低コストPCB製造に適合するために0.5mm×0.5mmより大きいピッチを用いて、2.5mm×4.0mmダイの面上に全部で40ボールを配置することができる。
【0156】
図54は、ウェアラブルビデオシステム等のシステムにおいて使用されるFPGA及びLPC DRAMのシステムレベル図を示す。全部で22個の信号を用いて、LPC DRAMをコントローラに相互接続する。この場合、カスタムASICも使用できるが、コントローラのためにFPGAが使用される。メモリインターフェース信号の数が限られることによって、コントローラ上で必要とされる信号の全数が削減され、それにより、コントローラの物理サイズが縮小され、コストが削減される。
【0157】
図55は、システムの物理的パッケージング要件を満たすために、小型エレクトロニクスアセンブリ55100を必要とするウェアラブルビデオシステム55400を示す。プリント回路基板55150は、FPGA55200及びLPC DRAM55300を含み、小型エレクトロニクスアセンブリ55100が形成される。この小型エレクトロニクスアセンブリは、物理サイズが小さいために、眼鏡型機器等のウェアラブルビデオシステム55400に組み込むことができる。FPGA及びLPC DRAMパッケージをPCBに相互接続するために使用されるはんだボールの機械的間隔が400マイクロメートルを超えることから、従来のPCB及びはんだ付けプロセスを用いて、小型エレクトロニクスアセンブリ55100を作製することができるので、先端アセンブリ技術を使用するのに比べて、アセンブリにかかるコストが最小限に抑えられ、それでも小型エレクトロニクスアセンブリが作製される。
【0158】
図56は、フリップチップコントローラASIC5610を使用するマルチチップスタックダイ構成5600と、LPC DRAMを使用する上向きワイヤボンド接続メモリ5620とを示す。LPC DRAMによって使用される少数の信号が、基板内の高速メモリ信号のルーティングに利益をもたらす。メモリダイの1つのエッジに沿って少数の信号がディスパッチされるので、ASICダイ上で信号を極めて近接させておくことができる。少数の長さ整合信号を用いて、基板ルーティングを簡単にする。LPCメモリインターフェースによって使用される信号の数は、従来のメモリ未満であるので、そのインターフェースのためのASICダイ面積の量を少なくすることができ、その結果、ASICダイを小型化することができる。
【0159】
図57は、LPC DRAM5720を用いて形成される4チャネルPOP MCP5700を示す。4つのLPC DRAMダイ5720が、共通の基板上に配置され、上向き構成においてワイヤボンド接続される。LPC DRAMの信号カウントが少ないことから、4つのダイとASICとの間で88個のスイッチング信号しか転送される必要がない。4つのLPC DRAMダイに関してPOPパッケージング方式5705を使用することによって、12ギガバイト/秒以上を伝送しながら、小さいメモリ/ASIC PCBフットプリントが可能である。高速メモリ信号は少数であり、メモリダイのエッジに配置されるので、メモリをコントローラに接続するための電気経路長を短くすることができ、2つの基板5780、5785において必要とされる信号ルーティング層の数を極めて少なくしながら、容易に整合させることができる。スイッチング信号の数が少ないことによって、ASIC5770を含む下側パッケージにおいて垂直相互接続技術のための信号ピッチを緩和できるようになる。ピッチが緩和されたPOP技術を使用することによって、低コストPOPパッケージング技術を使用できるようになるので、コストが削減される。
【0160】
図58は、4チャネルPOPパッケージに編成される4つのLPC DRAMダイの別の構成を示す。この構成は、反対に面するワイヤボンドを備える2つの階段状スタックDRAMスタック5720を含む。この構成によれば、図57に示される平面的な4ダイ構成より、POPのための全フットプリントサイズを小さくできるようになる。
【0161】
図59は、別の4ダイ平面構成5900を示し、結果として正方形のプットプリントになり、メモリPOPパッケージの各側にメモリチャネルが割り当てられるように設計される。
【0162】
POPを使用する場合の3つのマルチダイ/マルチチャネルメモリパッケージが示されてきたが、これらは、本発明の適用例を全く制限しない。これらは、パッケージング相互接続方式のための機械的レイアウトに関して、低ピンカウントアーキテクチャによって提供される利点を示すことを意図した例である。
【0163】
X8バージョン:更なるピンカウント削減
LPC DRAMは8ビットワイドデータバスを用いて構築することができる。図60は、x8LPC DRAM6000のためのスイッチング信号を示す。データバス510は8ビット幅である。他の信号は、本明細書において説明されたx16バージョンと同じようにして動作する。
【0164】
コアの動作が図61に示される。x16バージョンと同様に、外部帯域幅は内部帯域幅と一致する。同様の回路クロック供給制約が当てはまるので、同じ8:1クロック供給比が保持される。その結果は、8ビット幅の外部データバス510を備える128ビット幅コアデータパス幅61730である。
【0165】
図62は、主な内部パイプライン信号を示す。クロックサイクルあたり全部で16ビットが転送される場合、外部データバス510はクロックあたり2回サンプリングされる。要求パケットが受信されると、x16デバイスと同様に、復号化及びパイプライン処理が機能する。主な違いは、x16デバイスに比べて、パラレル要求パケットを転送するのに2倍だけ多くのクロックを要することである。
【0166】
図63は、x8LPC DRAMの内部レジスタ63100を示す。ユーティリティレジスタ63110は全部で16ビットを含む。
【0167】
図64は、x8LPC DRAMを使用するバースト読出しサイクル6400を示す。最初の2つのクロックサイクルは、8ビットワイドデータバス510にわたって、32ビットパラレル要求パケット6410を送信するために必要とされる。
【0168】
図65は、x8LPC DRAMのためのパラレル要求パケットビットマッピングを示す。LPC DRAMのx16バージョンによって使用される同じ情報が、x8パラレル要求パケット6500内に含まれるが、8ビットワイドバスにわたって2クロックサイクルにおいて転送される。結果として、ビットマッピングは異なるように割り当てられる。第1のバスサンプル6521においてオペコード6510を送信することが有利である。この図はビットマッピングの一例を示し、本発明の全体を実施するのに重要ではない。他のビット割当ては、LPC DRAMの制御及びアドレス指定によって使用される情報を与えることができる。
【0169】
図66は、x8LPC DRAMのためのバースト書込みサイクル6600を示す。パラレル要求パケット6610は8ビットワイドデータバス510を介して2クロックサイクル内で送信され、マスクは別の2クロックサイクルを必要とする。
【0170】
図67は、ASIC又はFPGA(67100)を使用するx8LPC DRAM(6000)のシステム使用を示す。2つのデバイスを相互接続するために、全部で14個のスイッチング信号が使用される。F=300MHz未満等の低減されたクロック周波数の場合、シングルエンドクロック及びデータストローブシグナリングを使用することが可能である。これは、低速x8タイプデバイスの場合に、信号カウントを全部で12個まで削減する。
【0171】
マルチドロップ構成
図68は、LPCメモリバス仕様に適合するメモリダイを使用するデュアルダイMCP6800を示す。ダイは、メモリと同一のタイプ、又は異なるタイプとすることができる。この場合、2つのメモリダイ6810及び6820が階段状に積み重ねられ、ワイヤボンディングを用いて、それらのメモリダイを下方にある基板に接続する。そのアセンブリはオーバーモールドされる。
【0172】
図69は、図68及び図70に示されるように展開されるようなLPCメモリバスにおいて使用される単一の双方向信号の概略図を示す。ホスト6910はメモリ6800とは別々にパッケージされ、メモリは、共通のバス6920上で同じパッケージ内に配置される2つのダイ6810及び6820を有する。複数のメモリダイが共通のバス上で使用されるとき、同じパッケージ内に両方のメモリダイを配置する必要はない。各メモリダイは個別にパッケージすることができるか、又は共通のパッケージ内に3つ全てのダイを配置することができる。プログラム可能なODT及びドライバの出力インピーダンスは、設計者が、そのアプリケーションのために最良のパッケージング方式を使用するが、信号完全性を依然として妥協する必要がないように自由度を与える。
【0173】
図70は、それぞれがLPCメモリバスを使用し、共通のPCB7010で相互接続される、ホスト6910及びMCP6800を示す。
【0174】
バス幅及び容量スケーリング
図71は、LPC DRAM及びバスの広幅バス実施形態のためのタイミング図を示す。基本的なLPC DRAMバースト読出しサイクル71000は、x16LPC DRAMと同様に動作する。x32バージョン71020の場合、データバスに16ビット拡張71510が追加される。データバス530、71530、71531、71532の各8ビットフィールドにわたって、差動双方向データストローブが使用される。x48バージョン71030の場合、2つの更なる差動双方向バイトワイドデータストローブ71631及び71632とともに、更なる16ビットフィールド71610がデータバスに追加される。x64バージョン71040は、更に2つの差動双方向バイトワイドデータストローブ71731及び71732とともに追加される別の16ビットワイドフィールド71710を有する。
【0175】
所与のクロック周波数の場合に、LPC DRAMの広幅バージョン71020、71030及び71040は、x16LPC DRAMデータバスと比べて、LPC DRAMのデータバスの幅に比例して更なる帯域幅を提供する。x64LPC DRAMの場合、それゆえ、帯域幅はx16バージョンより4倍大きい。このようにして、異なるバス幅に対応するように、帯域幅を拡大縮小することができる。データストローブは、本発明の趣旨から逸脱することなく、16ビットデータバスフィールド、8ビットデータバスフィールド、9ビットデータバスフィールド又は任意の他の値とともに使用することができる。
【0176】
x64バージョンの場合、LPC DRAMは84個のスイッチング信号を有し、そのうちの80個がデータバス信号又はデータストローブ信号である。
【0177】
図72は、システム相互接続図を示し、ASIC72100がx64LPC DRAM71040に接続される。2つのICを相互接続するために全部で84個のスイッチング信号が使用される。
【0178】
図73は、システム相互接続図を示し、ASIC73100がx48LPC DRAM71030に接続される。2つのICを相互接続するために全部で64個のスイッチング信号が使用される。
【0179】
図74は、システム相互接続図を示し、ASIC74100がx32LPC DRAM71020に接続される。2つのICを相互接続するために全部で44個のスイッチング信号が使用される。
【0180】
LPC DRAM71020、71030、71040の広幅バスバージョンは、バス幅比に比例して、x16バージョンより大きいビット容量を有する。x64LPC DRAMの場合、メモリ容量は、x16LPC DRAMに比べて4倍増加する。
【0181】
バス幅比に比例して、プリフェッチサイズも増加する。それゆえ、x64LPC DRAMは、x16LPC DRAMより4倍大きいプリフェッチサイズを有する。このようにして、バス幅を追加することによって帯域幅が拡大されるので、容量も拡大される。それゆえ、LPC DRAMのアーキテクチャは、実質的に一定の帯域幅/容量比を保持する。ビデオディスプレイスケーリングの場合、4倍のピクセルカウント増加は、フレームバッファ記憶ビット数及びフレームバッファ帯域幅を同じく4倍だけ増加させることに結び付けることができる。それゆえ、LPC DRAMアーキテクチャは、或る範囲の異なるディスプレイ解像度及びメモリ帯域幅をサポートすることができる一群のASICビデオコントローラをサポートすることができる。
【0182】
図75は、ユーティリティレジスタを用いて、出力インピーダンス及び任意選択的なODT終端インピーダンスを設定するために使用することができるアルゴリズムのためのフローチャートを示す。メモリデバイスは最初に、低い周波数クロックで、この例では、1MHzで動作する(7510)。出力インピーダンスRseries45496は最初にデフォルトの低インピーダンスに設定され、任意選択的なRterm45493はデフォルトの中インピーダンスに設定される(7520)。ユーティリティレジスタは、その後、選択されたデータパターンを書き込まれ(7530)、そして、読み戻され(7540)、書き込まれた値と比較される(7550)。パターンが一致しない場合には(7560)、或るアルゴリズムを用いて、上記出力インピーダンス及び/又は上記終端インピーダンスを調整する(7520)。上記ユーティリティレジスタが新たなデータパターンを書き込まれ(7530)、読み戻され(7540)、書き込まれたデータと再び比較される(7550)。パターンが一致する場合には、クロック周波数が調整され、この例では、2倍にされ(7570)、そして、クロック周波数上限と比較され(7580)、所望の動作周波数に達するまで(7590)、そのサイクルが繰り返される。
【0183】
システム物理的パッケージング
図76は、LPC DRAM76010及びコントローラ76020の2つのスタックダイ構成を示し、バス信号はボンドワイヤ76040及び76095を用いて相互接続されている。図76aにおいて、2つのダイスタックが基板76030上に配置され、スタックダイパッケージアセンブリ76060が形成される。図76bにおいて、2つのダイスタックが示され、リードフレーム76070上に配置され、スタックダイパッケージアセンブリ76080が形成される。いずれの場合も、簡単にするために、オーバーモールドによる封入は図示されない。
【0184】
図77は、LPC DRAM76010及びコントローラ77020のスタックダイ構成を示す。コントローラ77020は、フリップチップ技術を用いて、フリップチップ基板77030に結合される。ボンドワイヤ77050は、LPC DRAMのバス端子をフリップチップ基板77030上に配置される導体77060に結合し、導体は、コントローラ77020のバスインターフェース端子に結合されるフリップチップバンプ77070に結合する。
【0185】
図78は、個別のパッケージ上にそれぞれ配置され、いずれも共通の基板78060上に配置されるLPC DRAM78020及びコントローラ78010を示す。LPC DRAM78020のためのバス端子78040は、コントローラバス端子78050に結合するために、基板78060上に配置される導体78030に結合する。簡単にするために、1つのそのようなバス導体経路が示される。残りのバス導体は、同じようにして、チップ間に結合される。
【0186】
図79は、パッケージされたLPC DRAM79010及びコントローラ79080のパッケージオンパッケージ結合を示す。図79a及び図79bの両方において、LPC DRAMダイ79020がパッケージ79010内に配置され、LPC DRAMのバスインターフェース端子がコントローラの対応するバスインターフェース端子に結合されるように、外部端子79050がコントローラパッケージ79080上に配置される導体79060に結合されている。図79aは、コントローラパッケージ79080の上面上に配置されるメモリパッケージを示す。図79bは、コントローラパッケージ79080の下面上に配置されるLPCメモリパッケージ79010を示す。
【0187】
図80は、いずれも共通の基板80040上に配置される、LPC DRAMダイ80010及びコントローラダイ80030を示す。LPC DRAMの各バスインターフェース端子がコントローラ上の対応する端子に結合されるように、各ダイ上のバス端子が、ボンドワイヤ80020を用いて、端子ごとに互いに結合される。
【0188】
図81は、いずれも共通の基板81040上に配置される、LPC DRAM81010及びコントローラ81070を示す。LPC DRAMの各バスインターフェース端子がコントローラ上の対応する端子に結合されるように、LPC DRAM及びコントローラにそれぞれ結合され、基板81040上に配置される導体81060に結合されるボンドワイヤ81030及び81050を用いて、LPC DRAMのバス端子がコントローラの対応するバス端子に結合される。
【0189】
図82は、いずれも共通のフリップチップ基板81010上に配置される、LPC DRAM81020及びコントローラ81040を示す。フリップチップ技術を用いて、LPC DRAMのバス端子81060が、基板上に配置される導体81030に結合される。同様に、LPC DRAM上の各バスインターフェース端子がコントローラ上の対応する端子に結合されるように、コントローラ81040のバス端子81050が、基板上に配置される導体81030に結合される。
【0190】
図83は、スルーシリコンビア(「TSV」)技術を用いて形成された導体を用いて、LPC DRAMのバスインターフェース端子をコントローラのバスインターフェース端子に結合するための3つの異なる構成を示す。図83a〜図83cの違いは、DRAMのアクティブ面及びコントローラのアクティブ面が面する方向からなる。図83aでは、コントローラ83010のアクティブ面83030は、LPC DRAM83020のアクティブ面83040と反対方向を向く。TSV83050は両方のICを貫通してエッチングされたチャネル内に形成され、両方のICへの電気的接続が形成されるように、導電性金属材料83060で満たされる。図83bでは、コントローラ83010のアクティブ面83030及びLPC DRAM83020のアクティブ面83040は同じ方向を向いている。結果として、TSV83050は、コントローラICのみを貫通しなければならない。図83cでは、LPC DRAM83020のアクティブ面83040は、コントローラ83010のアクティブ面83030と同じ方向を面するが、TSV83050がDRAMのみを貫通している。
【0191】
図84は、DRAM84030のアクティブ面84040がコントローラ84020のアクティブ面84010に面するように、コントローラIC84020上に配置されるLPC DRAM84030を示す。LPC DRAMの各バスインターフェース端子は、金属バンプ84050を用いて、コントローラの対応するバスインターフェース端子に結合される。
【0192】
上記の例示的な実施形態は、広帯域幅であるが、低ピンカウントのメモリを構成するのに有用な構成要素をコントローラサブシステムに提供するという点で有利である。低ピンカウントは、低減されたシリコン面積、低減されたコスト、低減された電力、低減された物理サイズを含む数多くの利点を提供し、広範なシステム展開構成のための数多くのパッケージングオプションを提供する。
【0193】
上記で論じられた特徴のこれらの、そして他の変形及び組み合わせは、特許請求の範囲によって規定されるような本開示から逸脱することなく利用することができるので、それらの実施形態の上記の説明は、特許請求の範囲によって規定されるような開示を制限するものではなく、例示として解釈されるべきである。また、本開示の例の提供(並びに「〜等」、「例えば」、「〜含む」等の言い回しによる箇条)は、本開示を具体例に制限するものと解釈されるべきではなく、むしろ、それらの例は、数多くの取り得る実施形態のうちのいくつかのみを例示することを意図することも理解されよう。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図54】
【図55】
【図56】
【図57】
【図58】
【図59】
【図60】
【図61】
【図62】
【図63】
【図64】
【図65】
【図66】
【図67】
【図68】
【図69】
【図70】
【図71】
【図72】
【図73】
【図74】
【図75】
【図76】
【図77】
【図78】
【図79】
【図80】
【図81】
【図82】
【図83】
【図84】
【国際調査報告】