JP2002366447A - メモリコントローラエミュレータ - Google Patents

メモリコントローラエミュレータ

Info

Publication number
JP2002366447A
JP2002366447A JP2002126736A JP2002126736A JP2002366447A JP 2002366447 A JP2002366447 A JP 2002366447A JP 2002126736 A JP2002126736 A JP 2002126736A JP 2002126736 A JP2002126736 A JP 2002126736A JP 2002366447 A JP2002366447 A JP 2002366447A
Authority
JP
Japan
Prior art keywords
memory
output
data
address
counter
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.)
Withdrawn
Application number
JP2002126736A
Other languages
English (en)
Other versions
JP2002366447A5 (ja
Inventor
B Reinhamu Michael
マイケル・ビー・レインハム
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2002366447A publication Critical patent/JP2002366447A/ja
Publication of JP2002366447A5 publication Critical patent/JP2002366447A5/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56004Pattern generation
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】実際のメモリシステムが完全に構成される前
に、メモリシステムのテストを実行することができるメ
モリコントローラエミュレータを提供する。 【解決手段】メモリシステム(100)内のメモリデバイス
(112)を制御するためのメモリコントローラエミュレー
タ(106)であって、該エミュレータは、複数のアドレス
値を生成するためのカウンタ(304)を備える。メモリア
ドレス情報、メモリデバイスに格納されるメモリデー
タ、及び、メモリデバイスの動作を制御するためのメモ
リコマンドを格納するための複数の記憶装置(310,314,3
18,328,332,338,346及び352)が、カウンタに結合され
る。複数の記憶装置の各々は、カウンタから受信したア
ドレス値に基づいて、格納しているデータを出力するよ
うに構成される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、メモリシステムの
テストに関する。特に、本発明は、メモリシステムテス
ト用のメモリコントローラエミュレータに関する。
【0002】
【従来の技術】メモリシステムをテストするための方策
として2つある。第1に、完全に機能するメモリコント
ローラおよびDIMM(dual in-line memory module)
を備え、完全に構成されたメモリシステムに対して、標
準的なテストを行うことができる。しかし、メモリシス
テムが構成されていない場合は、テストは通常、標準的
なメモリモジュール上の個々のダイナミックRAM(D
RAM)チップ、またはDRAMチップおよびサポート
チップのテストに限られる。通常、このようなテスト
は、非常にコストの高いシステムである製造品メモリテ
スタによって行われる。高コストに加え、この手法に伴
う別の問題は、製造品メモリテスタが、実際のメモリシ
ステムとは異なる環境においてメモリデバイスをテスト
することである。通常、製造品メモリテスタは、「集中
化された」単純なテスト負荷を用いるが、メモリシステ
ムにおける実際の負荷は、DIMM、メモリコントロー
ラ、ターミネータ、および他の負荷等が「分散した」伝
送ラインである。メモリ供給業者は、実際のシステムの
パラメータとは異なりうるタイミングパラメータを有す
るデータシートを発行するため、これにより問題が生じ
ることが多い。
【0003】
【発明が解決しようとする課題】従って、本発明の目的
は、実際のメモリシステムが完全に構成される前に、メ
モリシステムのテストを実行することができるメモリコ
ントローラエミュレータを提供することである。
【0004】
【課題を解決するための手段】本発明の一形態は、メモ
リシステムにおけるメモリデバイスを制御するメモリコ
ントローラエミュレータを提供する。メモリコントロー
ラエミュレータは、複数のアドレス値を生成するカウン
タを備える。メモリアドレス情報を格納する複数の記憶
装置、メモリデバイスに格納されるメモリデータ、およ
びメモリデバイスの動作を制御するメモリコマンドが、
カウンタに結合される。複数の記憶装置はそれぞれ、カ
ウンタから受信したアドレス値に基づいて、格納されて
いるデータを出力するように構成される。
【0005】本発明の別の形態は、メモリシステムにお
けるメモリデバイスを制御するメモリコントローラをエ
ミュレートする方法を提供する。メモリアドレス情報、
メモリデバイスに格納されるメモリデータ、およびメモ
リデバイスの動作を制御するメモリコマンドが、格納さ
れる。複数の順次値が自動的に生成される。格納された
メモリアドレス情報、メモリデータ、およびメモリコマ
ンドは、生成された順次値に基づいて出力される。
【0006】本発明の別の形態は、メモリコントローラ
からメモリモジュールに送信される信号を表す信号情報
を格納する少なくとも1つの記憶装置を備えるメモリコ
ントローラエミュレータを提供する。少なくとも1つの
記憶装置に、アドレス発生器が結合される。アドレス発
生器は、アドレス情報を出力するように構成される。少
なくとも1つの記憶装置は、アドレス発生器から受信し
たアドレス情報に基づいて信号情報を出力するように構
成される。
【0007】
【発明の実施の形態】以下の好ましい実施形態の詳細な
説明では、本発明の一部をなし、本発明を実施しうる特
定の実施形態を例示した添付図面を参照する。他の実施
形態も利用することが可能であり、本発明の範囲から逸
脱せずに、構造的なまたは論理的な変更を行いうること
が理解されよう。したがって、以下の詳細な説明は、限
定の意味で解釈されるべきではなく、本発明の範囲は、
特許請求の範囲によって画定される。
【0008】図1に、本発明の一実施形態によるメモリ
コントローラエミュレータを備えたメモリシステムを示
す電気ブロック図を示す。メモリシステム100は、ク
ロックドライバ102、メモリコントローラエミュレー
タ106、ターミネータ110、メモリデバイスである
シンクロナスDRAM(SDRAM)DIMM(dualin
-line memory module)112A〜112H(集合的に
SDRAM DIMM112と呼ぶ)、終端部(ターミ
ネータ)114、終端部電圧源116、発振器118、
および電源120を備える。一実施形態では、メモリシ
ステム100は、必要であればSDRAM DIMM1
12用のメモリソケット、メモリバスパターン、および
メモリバッファを含むプリント回路基板(PCB)上に
実装される。本発明の一形態では、メモリコントローラ
エミュレータ106はプログラマブルロジックデバイス
(PLD)である。メモリコントローラエミュレータ1
06は、USB(ユニバーサルシリアルバス)入力を備
え、このUSB入力は、エミュレータ106の構成を
「オンザフライ」で変更するために、NTワークステー
ション等のコンピュータ(図示せず)に接続することが
できる。一実施形態では、SDRAM DIMM112
はそれぞれ、DDR(ダブルデータレート)SDRAM
チップを備える。本発明の一形態では、メモリシステム
100は、電子素子技術連合評議会(JEDEC)によ
って発行された「SSTL−2(StubSeries Terminate
d Logic for 2.5 Volts)」規格に準拠する。
【0009】メモリコントローラエミュレータ106
は、出力ライン108A〜108D(集合的に出力ライ
ン108と呼ぶ)を備え、出力ライン108は終端部1
10に結合される。終端部110および114は、望ま
しくない信号反射の防止を助けるため、終端抵抗器を備
える。一実施形態では、終端部110は直列終端部を用
い、終端部114は並列終端部を用いる。エミュレータ
106は1ビットスコープ同期(1ビットスコープシン
ク)出力(1 bit scope sync output)を含み、1ビッ
トスコープ同期出力を、テスト目的のためにオシロスコ
ープ(図示せず)に結合することができる。エミュレー
タ106はクロック出力を備え、クロック出力はクロッ
クドライバ102に接続される。エミュレータ106は
発振器118に結合され、一実施形態では、発振器11
8は、100MHzクロック信号をエミュレータ106
に提供する。エミュレータ106は電源120によって
電力供給され、電源120はSDRAM DIMM11
2にも電力を供給する。一実施形態では、電源120は
2.5ボルト電源である。
【0010】一実施形態では、ライン108Aは、アド
レス/コマンド(CMD)出力であり、総計22本の出
力ラインを含み、ライン108Bは行選択出力であり、
総計8本の出力ラインを含み、ライン108Cは、デー
タ/エラー修正コード(ECC)/ストローブ出力であ
り、総計81本の出力ラインを含み、ライン108Dも
またデータ/ECC/ストローブ出力であり、総計81
本の出力ラインを含む。
【0011】アドレス/CMDライン108Aは、SD
RAM DIMM112のそれぞれ1つずつに結合さ
れ、アドレス情報(バンクアドレス情報、行アドレス情
報、および列アドレス情報を含む)およびコマンド情報
をSDRAM DIMM112に出力するために、エミ
ュレータ106によって使用される。アドレス/CMD
ライン108Aは、終端部114において終端する。終
端部114は、終端部電圧を提供する電源116に結合
される。本発明の形態では、電源116は1.5ボルト
の終端部電圧を提供する。行選択ライン108Bは、S
DRAM DIMM112のそれぞれ1つに結合され、
チップ選択情報をSDRAM DIMM112に出力す
るためにエミュレータ106によって使用される。一実
施形態では、SDRAM DIMM112はそれぞれ、
2行のメモリチップを備える。行選択ライン108Bで
搬送される8ビットチップ選択情報により、エミュレー
タ106は、各SDRAM DIMM112上の2行の
メモリチップの一方を選択することができる。データ/
ECC/ストローブライン108Cは、SDRAMDI
MM112B、112D、112F、および112Hに
結合され、データ、ECC情報、およびストローブ信号
を送信するために、エミュレータ106によって使用さ
れる。データ/ECC/ストローブライン108Dは、
SDRAMDIMM112A、112C、112E、お
よび112Gに結合され、データ、ECC情報、および
ストローブ信号を送信するために、エミュレータ106
によって使用される。データ/ECC/ストローブライ
ン108Cおよび108Dは、終端部114において終
端する。
【0012】一実施形態では、データ/ECC/ストロ
ーブ出力ライン108Cおよび108Dはそれぞれ、デ
ータ用の出力ラインを64本、ECC情報用の出力ライ
ンを8本、およびストローブ信号用の出力ラインを9本
(すなわち、データのバイトごとに1つのストローブ)
含む。したがって、本発明の一形態では、メモリシステ
ム100は、144ビット幅メモリシステムである(1
28データビットおよび16ECCビット)。代替の実
施形態では、他のメモリ構成を使用してもよい。
【0013】メモリコントローラエミュレータ106
は、クロック信号を差動クロックドライバ102に出力
する。一実施形態では、クロックドライバ102に出力
されるクロック信号は、100MHzクロック信号であ
る。エミュレータ106から受信したクロック信号に基
づいて、クロックドライバ102は、8つの100MH
z差動クロックペア信号104を出力する。差動クロッ
ク信号の1つのペアが、SDRAM DIMM112の
それぞれ1つに結合されている。
【0014】図2に、本発明の一実施形態によるメモリ
コントローラエミュレータを示す電気ブロック図を示
す。メモリコントローラエミュレータ106は、位相ロ
ックループ(PLL)302A〜302D(集合的にP
LL302と呼ぶ)、カウンタ304、定数部306、
コンパレータ308、記憶装置であるROM310、レ
ジスタ(REG)312、ROM314、レジスタ(R
EG)316、ROM318、レジスタ(REG)32
0、フリップフロップ322および324、ANDゲー
ト326、ROM328、レジスタ(REG)330、
ROM332、レジスタ(REG)334および33
6、ROM338、レジスタ(REG)340、マルチ
プレクサ(MUX)342、レジスタ(REG)34
3、トランシーバ344、ROM346、レジスタ(R
EG)348および350、ROM352、レジスタ
(REG)354、マルチプレクサ356、レジスタ
(REG)358、およびトランシーバ360を備え
る。図2に示すブロック図は、図3Aおよび図3Bにお
ける2つの拡大図に分割され、図3Aおよび図3Bは、
完全なブロック図を示すために端同士をくっつけて配置
することができる。
【0015】PLL302は、発振器118(図1に示
す)に結合され、発振器118から100MHzクロッ
ク信号を受信する。PLL302Aは、100MHzク
ロック信号を、クロックドライバ102(図1に示
す)、カウンタ304、レジスタ312および316、
フリップフロップ322および324、およびレジスタ
320、348、および334に出力する。PLL30
2Bは、+180度位相がずれた100MHzクロック
信号をレジスタ336、340、350、および354
に出力する。PLL302Cは、200MHzクロック
信号をレジスタ343に出力する。PLL302Dは、
+180度位相のずれた200MHzクロック信号をレ
ジスタ358に出力する。一実施形態では、各PLL3
02の位相ずれを個別に変えて、発振器118により提
供される100MHzクロック信号に対してメモリタイ
ミングを変化させることができる。
【0016】一実施形態では、カウンタ304は、25
6個のアドレスを通して循環する8ビットカウンタであ
る。開始アドレスおよび終了アドレスは、定数部306
およびコンパレータ308を変更することによってプロ
グラム可能であり、これによって、NとMの間で循環で
きるようになる。但し、NおよびMは、0〜255の範
囲の整数値を表す。開始アドレスは、定数部306によ
って提供される。終了アドレスは、コンパレータ308
によって提供される。カウンタ304はアドレスを通し
て循環し、コンパレータ308は、各アドレスを、格納
されている終了アドレスと比較する。カウンタ304が
格納されている終了アドレスに達すると、コンパレータ
308が、1ビット「ロード」信号をカウンタ304に
出力し、これにより、定数部306に格納される開始ア
ドレスがカウンタ304にロードされる。次に、カウン
タ304が、ロードされた開始アドレスからカウントを
開始する。
【0017】一実施形態では、ROM310、314、
318、および328はそれぞれ、カウンタ304と同
じ数のアドレス(たとえば、256個のアドレス)、お
よび所与の機能に対応する出力幅(たとえば、スコープ
同期=1ビット、行選択=8ビット、コマンド/アドレ
ス=22ビット、および出力イネーブル化=9ビット)
を有する。レジスタ312、316、320、および3
30は、ROM310、314、318、および328
にそれぞれ結合され、PLL302Aによって提供され
るクロック信号の立ち上がりクロック遷移(すなわち立
ち上がりエッジ)においてそれぞれのROMの出力をラ
ッチする。
【0018】レジスタ312は、1ビットスコープ同期
信号を出力するが、この同期信号を、テスト目的のため
にオシロスコープ(図示せず)に結合することもでき
る。レジスタ316は8ビットの行選択値を出力し、こ
れは、出力ライン108B(図1に示す)に出力され
る。レジスタ320は22ビットのアドレス/CMD値
を出力し、これは出力ライン108A(図1に示す)に
出力される。一実施形態では、レジスタ320によって
出力される22ビットのアドレス/CMD値は、クロッ
クイネーブル信号用の2ビット、バンクアドレス用の3
ビット、アクティブ(ACTIVE)、読み出し(RE
AD)、および書き込み(WRITE)などのメモリチ
ップコマンドを選択するためのコマンド選択ビットであ
る行アドレスストローブ(RAS)、列アドレスストロ
ーブ(CAS)、および書き込みイネーブル(WE)用
の3ビット、列アドレスおよび行アドレス用の14ビッ
トを含む。レジスタ330は、9ビットの出力イネーブ
ル値を出力し、このうちの8ビットがトランシーバ34
4に提供され、1ビットがトランシーバ360に提供さ
れる。レジスタ330によって出力される出力イネーブ
ルビットは、トランシーバ344および360からの出
力をイネーブルやディセーブルにするために使用され
る。
【0019】ROM332および338はそれぞれ、カ
ウンタ304と同じ数のアドレス(たとえば、256個
のアドレス)を有し、それぞれ144ビットの出力幅を
有する。各ROM332および338によって出力され
る144ビットは、データ用の128ビットおよびEC
C用の16ビットを含む。一実施形態では、必要なデー
タレートを実現するために、データは、偶数バンクおよ
び奇数バンクに格納される。ROM332に格納される
データは偶数バンクデータを表し、ROM338に格納
されるデータは奇数バンクデータを表す。ROM332
の入力は、カウンタ304に結合される。レジスタ33
4は、ROM332の出力に結合され、PLL302A
により提供されるクロック信号の立ち上がりクロック遷
移において、ROM334の出力(偶数データ/EC
C)をラッチする。ROM338は、入力レジスタ33
6および出力レジスタ340に結合される。レジスタ3
36および340はPLL302Bに結合され、PLL
302Bは、PLL302Aによって提供される100
MHzクロック信号と+180度位相がずれた100M
Hzクロック信号を提供する。レジスタ336は、PL
L302Bによって提供されるクロック信号の立ち上が
りクロック遷移において、カウンタ304からのアドレ
スをラッチする。レジスタ340は、PLL302Bに
よって提供されるクロック信号の立ち上がりクロック遷
移において、ROM338の出力(奇数データ/EC
C)をラッチする。レジスタ334および340の14
4ビット出力は、マルチプレクサ342に結合される。
【0020】データおよびECC情報と同様に、一実施
形態では、必要なデータレートを達成するために、スト
ローブ信号も偶数バンクおよび奇数バンクに配置され
る。ストローブ信号は、ROM346および352に格
納される。ROM346および352はそれぞれ、カウ
ンタ304と同じ数のアドレス(たとえば、256個の
アドレス)を有し、それぞれ18ビットの出力幅を有す
る。ROM346に格納されるデータは偶数バンクスト
ローブを表し、ROM352に格納されるデータは奇数
バンクストローブを表す。ROM346の入力は、カウ
ンタ304に結合される。レジスタ348は、ROM3
46の出力に結合され、PLL302Aによって提供さ
れるクロック信号の立ち上がりクロック遷移において、
ROM346の出力(偶数バンクストローブ)をラッチ
する。ROM352は、入力レジスタ350および出力
レジスタ354に結合される。レジスタ350および3
54はPLL302Bに結合され、PLL302Bは、
PLL302Aによって提供される100MHzクロッ
ク信号から+180度位相がずれた100MHzクロッ
ク信号を提供する。レジスタ350は、PLL302B
によって提供されるクロック信号の立ち上がりクロック
遷移において、カウンタ304からのアドレスをラッチ
する。レジスタ354は、PLL302Bによって提供
されるクロック信号の立ち上がりクロック遷移におい
て、ROM352の出力(奇数バンクストローブ)をラ
ッチする。レジスタ348および354の18ビット出
力は、マルチプレクサ356に結合される。
【0021】マルチプレクサ342および356はそれ
ぞれ、ANDゲート326により出力されるバンク選択
信号に基づいて、2つの入力のうちの一方を出力する。
ANDゲート326の2つの入力は、フリップフロップ
322およびフリップフロップ324の出力に結合され
る。フリップフロップ322の入力は、カウンタ304
によって出力される最下位(LS)アドレスビットに結
合される。フリップフロップ324の入力は、フリップ
フロップ322の出力に結合される。フリップフロップ
322および324は双方とも、100MHzクロック
信号を受信するためにPLL302Aに結合される。一
実施形態では、ANDゲート326の出力がハイである
とき、マルチプレクサ342および356は、偶数バン
クからのデータ/ECC信号およびストローブ信号(す
なわち、レジスタ334からのデータ/ECC、及び、
レジスタ348からのストローブ信号)を出力する。A
NDゲート326の出力がローであるとき、マルチプレ
クサ342および356は、奇数バンクからのデータ/
ECC信号およびストローブ信号(すなわち、レジスタ
340からのデータ/ECC、及び、レジスタ354か
らのストローブ信号)を出力する。
【0022】マルチプレクサ342の出力は、レジスタ
343に結合される。レジスタ343はPLL302C
に結合され、PLL302Cは200MHzクロック信
号を提供する。レジスタ343は、PLL302Cによ
って提供されるクロック信号の立ち上がりクロック遷移
において、マルチプレクサ342からの受信データをラ
ッチする。したがって、データ/ECCビットは、20
0MHzのレートで出力される。
【0023】マルチプレクサ356の出力は、レジスタ
358に結合される。レジスタ358はPLL302D
に結合され、PLL302Dは、PLL302Cによっ
て出力される200MHzクロック信号から+180度
位相がずれた200MHzクロック信号を提供する。レ
ジスタ358は、PLL302Dによって提供されるク
ロック信号の立ち上がりクロック遷移において、マルチ
プレクサ356から受信するストローブ信号をラッチす
る。したがって、ストローブ信号は、200MHzのレ
ートで出力され、データ/ECC信号に対して180度
位相がずれる。
【0024】レジスタ343および358の出力は、ト
ランシーバ344および360それぞれに結合される。
一実施形態では、トランシーバ344および360は、
トライステートトランシーバである。トランシーバ34
4および360の出力は、ROM328およびレジスタ
330からの信号によってイネーブルまたはディセーブ
ルにされる。トランシーバ344は、イネーブルにされ
ると、レジスタ343から144データ/ECCビット
を出力する。トランシーバ360は、イネーブルにされ
ると、18ビットのストローブ信号を出力する。144
データ/ECCビットおよび18ビットのストローブ信
号は、組み合わせられて、総計162ビットのデータ/
ECC/ストローブビットを形成する。162データ/
ECC/ストローブビットは、2本の81ビットライン
108Cおよび108D(図1に示す)においてSDR
AM DIMM112に出力される。一実施形態では、
トランシーバ344および360は、SDRAM DI
MM112に情報を送信するようにのみ構成され、SD
RAM DIMM112から情報を受信するようには構
成されない。したがって、トランシーバ344および3
60内の受信回路は、接続されない(NC:not connec
ted)。しかし、SDRAM DIMM112からの読
み出しデータは、テスト目的のために入力ピンにおいて
測定することが可能である。代替の実施形態では、メモ
リコントローラエミュレータ106は、SDRAM D
IMM112に対して情報を送受信するように構成され
る。
【0025】メモリコントローラエミュレータ106内
のROMに結合される各種レジスタは、クロック−出力
時間を最小化するために、パイプラインレジスタとして
機能する。いくつかのメモリコントローラ信号および機
能を所望の速度で繰り返すために、ROMと共に追加の
入力および出力レジスタを使用することが必要な場合も
ある。
【0026】図1に示すように、メモリコントローラエ
ミュレータ106は、USB(ユニバーサルシリアルバ
ス)入力を備える。USB入力は、エミュレータ106
の構成を「オンザフライ」で変更するために、NTワー
クステーションなどのコンピュータ(図示せず)に接続
することができる。変更は、異なるメモリシステム、メ
モリモジュール、メモリシーケンス、またはデータパタ
ーンをサポートするために行うことができる。ROM3
10、314、318、328、332、338、34
6、および352のうちの任意のROMにおけるデータ
を、そのROMについての「.mif」データファイル、ア
ドレスファイル、およびコマンドファイルを編集してか
ら、変更した構成をエミュレータ106にダウンロード
することにより、ワークステーションによって変更する
ことができる。これにより、ROMビットを適宜設定す
ることで、DDR SDRAMについてのJEDEC仕
様に示される初期化シーケンスを含む、任意の読み出し
/書き込みの組み合わせを生成することができる。
【0027】エミュレータ106のスコープ同期出力
(ROM310に格納される)は、シーケンス内の特定
のメモリサイクルの安定な監視を容易にする。エミュレ
ータ106からのスコープ同期出力を、オシロスコープ
に結合して、データ収集を制御すると共に、自動波形測
定およびジッタ、スキューの統計学的解析、および「ア
イ(eye)」として知られる定性的測定を行うことがで
きる。ジッタはクロック発生器に関連しており、大部分
のクロック発生器において現在使用されている位相ロッ
クループ回路のために、クロックエッジが予期される位
置からランダムに動くことになる。クロック配信チップ
からのジッタは、タイミングバジェット(タイミング割
り当て)において考慮する必要がある。また、メモリモ
ジュールは、通常、クロックを再生成する位相ロックル
ープを有し、こういった位相ロックループもまた、タイ
ミングバジェットにおいて考慮しなければならないジッ
タを導入する。スキューは、複数の出力を有するクロッ
ク発生器が、異なる伝播遅延をもたらす、厳密には整合
していない信号パターンを有する可能性があるところ
の、クロック配信において主に発生する。トータルスキ
ューをクロック期間から差し引くと、データ伝播、セッ
トアップ、およびホールド時間を満足するには最悪の場
合となる。「アイ」は、システムホールド時間およびセ
ットアップ時間の定性的なテストであり、この場合、受
信データは、比較的長期間にわたって蓄積されたときに
クロックエッジと比較される。結果得られる「アイ」の
中央は開いていなければならない。結果得られる「ア
イ」が閉じている場合、これは通常、セットアップ時間
および/またはホールド時間に関する問題を示す。
【0028】メモリコントローラエミュレータ106の
1つの重要な用途は、実際のメモリシステムにおける波
形を、すべてのコンポーネントに電気モデルを用いるシ
ミュレートされたシステムにおける波形と比較すること
である。これにより、シミュレーションモデルの正確性
を査定することができる。システムシミュレーション
は、通常、一般のシステムでは実際に測定だけでは行う
ことができない、タイミングおよび雑音余裕(ノイズマ
ージン)についての多くのシステム変数を変化させるこ
との影響を予測するために使用される。メモリシステム
100を使用して、タイミングを理論上のタイミングバ
ジェットと比較することができ、また雑音余裕を理論上
の雑音余裕と比較することができる。システムタイミン
グは、異なる周波数および異なる位相ずれを生成するよ
うにPLL302を変更することにより、マージンテス
トについて変更することが可能である。マージンテスト
は、様々に変更させた電圧、温度、製造公差、メモリバ
ス負荷、および信号タイミングまたは信号の振幅に影響
する他のパラメータの下で、メモリおよびコントローラ
タイミングマージンおよび雑音余裕が満足されることを
検証することを含む。マージンテストは、メモリシステ
ムを含む製品が製造され、特定の温度、湿度、標高、お
よび他の製造業者の規格範囲内で使用される場合に、信
頼性のある動作を保証するために役立つ。エミュレータ
出力ドライバシミュレーションモデルはすでに検証され
ており、かつ既知数であるため、これにより、実際のメ
モリコントローラなしでのシステムマージンを特徴付け
ることが可能である。
【0029】本発明の実施形態は、メモリシステムを基
本レベルおよび最高速度で動作させることが可能な低コ
ストのメモリテストソリューションを提供する。本発明
の実施形態では、メモリ技術サポート用のインフラスト
ラクチャが存在する前に、メモリテストを実行すること
ができる。したがって、たとえば、完全なメモリシステ
ムが構築される前に、「DDR2」および他の新しいメ
モリ技術に対してテストを行うことができる。本発明の
実施形態は、最高速度(たとえば、DDR用途の場合、
200MHzデータ転送速度および100MHzコマン
ド/アドレス転送速度)で動作する。
【0030】メモリコントローラをエミュレートするこ
とに加え、本明細書で説明した技術は、「高速スキニー
バス(fast skinny bus)」をエミュレートするために
も使用可能である。高速スキニーバスは、メモリ入力/
出力コントローラと、データ、アドレス、およびコマン
ドをバッファリングする周辺メモリデバイスとの間、ま
たはメモリ入力/出力コントローラと、PCI133M
Hzまたは150MHz入力/出力スロットへのデー
タ、アドレス、およびコマンドをバッファリングする周
辺入力/出力装置との間での通信のために一般に使用さ
れる高速バスである。高速スキニーバスは、通常、入力
/出力スロットおよびメモリモジュールを、メモリ入力
/出力コントローラの隣の同一場所にすべて配置できな
い場合、及び、必要なピンの数が過度に多いところの、
より大きな、より高速のシステムに使用される。ビット
数を制限するが、バスをより高速に動作させることによ
り、同等のスループットまたは帯域幅を維持することが
できる。本発明の技術を高速スキニーバスに適用するこ
とにより、メモリ入力/出力コントローラを利用するこ
とができるようになる前に、システムの有効性を確認す
ることができる。
【0031】好ましい実施形態の説明を目的として特定
の実施形態について本明細書で図示し、説明したが、当
業者には、広範な代替および/または同等の構成が、本
発明の範囲から逸脱せずに、図示し、説明した特定の実
施形態に代わりうることが理解されよう。化学、機械、
電子機械、電気、およびコンピュータの分野における当
業者には、様々な実施形態で本発明を実施できることが
容易に理解されよう。本出願には、本明細書において説
明した好ましい実施形態の任意の適用または変形が含ま
れる。したがって、本発明は、特許請求の範囲およびそ
の等価物によってのみ制限されるべきものである。
【0032】以下においては、本発明の種々の構成要件
の組み合わせからなる例示的な実施態様を示す。 1.メモリシステム(100)におけるメモリデバイス(112)
を制御するためのメモリコントローラエミュレータ(10
6)であって、複数のアドレス値を生成するためのカウン
タ(304)と、前記カウンタに結合され、メモリアドレス
情報、前記メモリデバイスに格納されるメモリデータ、
および前記メモリデバイスの動作を制御するためのメモ
リコマンドを格納するための複数の記憶装置(310,314,3
18,328,332,338,346,及び352)であって、各々の記憶装
置が、前記カウンタから受信したアドレス値に基づい
て、格納されているデータを出力するように構成される
ことからなる、複数の記憶装置と、を備える、メモリコ
ントローラエミュレータ。 2.前記メモリコントローラエミュレータは、プログラ
マブルロジックデバイス(または、プログラム可能な装
置)である、上項1記載のメモリコントローラエミュレ
ータ。 3.前記記憶装置はROMである、上項2記載のメモリ
コントローラエミュレータ。 4.クロック信号を受信するためのクロック入力と、前
記クロック入力に結合され、異なる周波数および異なる
位相ずれの複数のクロック信号を生成するための複数の
位相ロックループ(302A〜302D)と、をさらに備える、上
項1記載のメモリコントローラエミュレータ。 5.前記複数の位相ロックループによって生成される前
記クロック信号の前記周波数および位相ずれは、プログ
ラム可能である、上項4記載のメモリコントローラエミ
ュレータ。 6.前記カウンタは、前記位相ロックループのうちの最
初の位相ロックループに結合され、前記カウンタは、前
記最初の位相ロックループ(302A)によって生成されるク
ロック信号の遷移において、アドレス値を出力するよう
に構成される、上項4記載のメモリコントローラエミュ
レータ。 7.複数の出力レジスタ(312,316,320,330,334,340,34
8,及び及び354)であって、各出力レジスタが、前記記
憶装置のうちの1つおよび前記位相ロックループのうち
の1つに結合され、及び、各出力レジスタが、該出力レ
ジスタに結合された前記位相ロックループによって生成
されるクロック信号の遷移において、前記記憶装置の出
力をラッチするように構成されることからなる、複数の
出力レジスタをさらに備える、上項4記載のメモリコン
トローラエミュレータ。 8.メモリシステム(100)におけるメモリデバイス(112)
を制御するためのメモリコントローラをエミュレートす
る方法であって、メモリアドレス情報、前記メモリデバ
イスに格納されるメモリデータ、および前記メモリデバ
イスの動作を制御するためのメモリコマンドを格納する
ステップと、複数の順次値(または連続値)を自動的に
生成するステップと、前記生成された順次値に基づい
て、格納されているメモリアドレス情報、メモリデー
タ、およびメモリコマンドを出力するステップと、を含
む、方法。 9.メモリアドレス情報、メモリデータ、およびメモリ
コマンドをコンピュータに入力するステップと、前記メ
モリアドレス情報、メモリデータ、およびメモリコマン
ドをプログラマブルロジックデバイス(106)にダウンロ
ードするステップと、をさらに含む、上項8記載の方
法。 10.メモリコントローラからメモリモジュール(112)
に送信される信号を表す信号情報を格納するための少な
くとも1つの記憶装置(310,314,318,328,332,338,346,
または352)と、前記少なくとも1つの記憶装置に結合さ
れ、アドレス情報を出力するように構成されたアドレス
発生器(106)と、を備え、前記少なくとも1つの記憶装
置は、前記アドレス発生器から受信したアドレス情報に
基づいて、信号情報を出力するように構成されることか
らなる、メモリコントローラエミュレータ(106)。
【0033】本発明の概要は次のようである。メモリシ
ステム(100)内のメモリデバイス(112)を制御するための
メモリコントローラエミュレータ(106)であって、該エ
ミュレータは、複数のアドレス値を生成するためのカウ
ンタ(304)を備える。メモリアドレス情報、メモリデバ
イスに格納されるメモリデータ、及び、メモリデバイス
の動作を制御するためのメモリコマンドを格納するため
の複数の記憶装置(310,314,318,328,332,338,346及び35
2)が、カウンタに結合される。複数の記憶装置の各々
は、カウンタから受信したアドレス値に基づいて、格納
しているデータを出力するように構成される。
【0034】
【発明の効果】本発明によれば、メモリシステムを基本
レベルおよび最高速度で動作させることが可能な低コス
トのメモリテストソリューションが提供される。本発明
によれば、メモリ技術サポート用のインフラストラクチ
ャが構築される前に、メモリテストを実行することがで
きる。したがって、たとえば、完全なメモリシステムが
構築される前に、「DDR2」および他の新しいメモリ
技術に対してテストを行うことができる。また、本発明
の技術を高速スキニーバスに適用することにより、メモ
リ入力/出力コントローラを利用することができるよう
になる前に、システムの有効性を確認することができ
る。
【図面の簡単な説明】
【図1】本発明の一実施形態によるメモリコントローラ
エミュレータを備えるメモリシステムを示す電気ブロッ
ク図である。
【図2】本発明の一実施形態によるメモリコントローラ
エミュレータを示す電気ブロック図である。
【図3A】図2に示す電気ブロック図の第1の部分の拡
大図である。
【図3B】図2に示す電気ブロック図の第2の部分の拡
大図である。
【符号の説明】
100 メモリシステム 106 メモリコントローラエミュレータ 112 SDRAM DIMM 302A〜302D 位相ロックループ 304 カウンタ 310 ROM 312 レジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マイケル・ビー・レインハム アメリカ合衆国カリフォルニア州95033, ロスゲイトス,クヌス・ロード・18219 Fターム(参考) 5B018 GA03 HA40

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】メモリシステム(100)におけるメモリデバ
    イス(112)を制御するためのメモリコントローラエミュ
    レータ(106)であって、 複数のアドレス値を生成するためのカウンタ(304)と、 前記カウンタに結合され、メモリアドレス情報、前記メ
    モリデバイスに格納されるメモリデータ、および前記メ
    モリデバイスの動作を制御するためのメモリコマンドを
    格納するための複数の記憶装置(310,314,318,328,332,3
    38,346,及び352)であって、各々の記憶装置が、前記カ
    ウンタから受信したアドレス値に基づいて、格納されて
    いるデータを出力するように構成されることからなる、
    複数の記憶装置と、を備える、メモリコントローラエミ
    ュレータ。
JP2002126736A 2001-05-03 2002-04-26 メモリコントローラエミュレータ Withdrawn JP2002366447A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/848019 2001-05-03
US09/848,019 US6978352B2 (en) 2001-05-03 2001-05-03 Memory controller emulator for controlling memory devices in a memory system

Publications (2)

Publication Number Publication Date
JP2002366447A true JP2002366447A (ja) 2002-12-20
JP2002366447A5 JP2002366447A5 (ja) 2005-09-08

Family

ID=25302123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002126736A Withdrawn JP2002366447A (ja) 2001-05-03 2002-04-26 メモリコントローラエミュレータ

Country Status (3)

Country Link
US (1) US6978352B2 (ja)
JP (1) JP2002366447A (ja)
TW (1) TWI253651B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019153118A (ja) * 2018-03-05 2019-09-12 東芝情報システム株式会社 評価解析対象メモリ装置及びメモリ評価解析システム

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040201968A1 (en) * 2003-04-09 2004-10-14 Eric Tafolla Multi-bank memory module
US7188208B2 (en) * 2004-09-07 2007-03-06 Intel Corporation Side-by-side inverted memory address and command buses
US20060247905A1 (en) * 2005-04-29 2006-11-02 Vikas Agrawal System, method and apparatus for placing and routing
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US8090897B2 (en) 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
US7392338B2 (en) 2006-07-31 2008-06-24 Metaram, Inc. Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US20080028136A1 (en) 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US8244971B2 (en) 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US9542352B2 (en) 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
US8041881B2 (en) 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US8438328B2 (en) 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US7609567B2 (en) * 2005-06-24 2009-10-27 Metaram, Inc. System and method for simulating an aspect of a memory circuit
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US20080082763A1 (en) 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US7386656B2 (en) 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
JP5242397B2 (ja) 2005-09-02 2013-07-24 メタラム インコーポレイテッド Dramをスタックする方法及び装置
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
EP3364298B1 (en) * 2006-07-31 2019-12-11 Google LLC Memory circuit system and method
US7724589B2 (en) 2006-07-31 2010-05-25 Google Inc. System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits
US8209479B2 (en) 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
US8080874B1 (en) 2007-09-14 2011-12-20 Google Inc. Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween
EP2441007A1 (en) * 2009-06-09 2012-04-18 Google, Inc. Programming of dimm termination resistance values
KR101742892B1 (ko) 2012-11-30 2017-06-01 인텔 코포레이션 다중 사이클 명령에 의한 메모리 디바이스 액세스를 위한 장치, 방법 및 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381715B1 (en) * 1998-12-31 2002-04-30 Unisys Corporation System and method for performing parallel initialization and testing of multiple memory banks and interfaces in a shared memory module

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019153118A (ja) * 2018-03-05 2019-09-12 東芝情報システム株式会社 評価解析対象メモリ装置及びメモリ評価解析システム

Also Published As

Publication number Publication date
US6978352B2 (en) 2005-12-20
TWI253651B (en) 2006-04-21
US20020165706A1 (en) 2002-11-07

Similar Documents

Publication Publication Date Title
JP2002366447A (ja) メモリコントローラエミュレータ
US10114073B2 (en) Integrated circuit testing
US8166361B2 (en) Integrated circuit testing module configured for set-up and hold time testing
US8001439B2 (en) Integrated circuit testing module including signal shaping interface
KR100592648B1 (ko) 다중 모드형 동기식 메모리 소자 및 그 동작 및 검사 방법
US7307442B2 (en) Integrated circuit test array including test module
US8427892B2 (en) Write strobe generation for a memory interface controller
KR101405690B1 (ko) 메모리 컨트롤러를 사용하는 로버스트한 메모리 링크 테스팅
US7365557B1 (en) Integrated circuit testing module including data generator
KR100626375B1 (ko) 고주파로 동작하는 반도체 메모리 장치 및 모듈
WO2006102241A1 (en) Integrated circuit testing module
US7171611B2 (en) Apparatus for determining the access time and/or the minimally allowable cycle time of a memory
US7446551B1 (en) Integrated circuit testing module including address generator
US7502267B2 (en) Clock frequency doubler method and apparatus for serial flash testing
US20030025540A1 (en) Register capable of corresponding to wide frequency band and signal generating method using the same
US7765424B2 (en) System and method for injecting phase jitter into integrated circuit test signals
US6578180B2 (en) Method and system for testing interconnected integrated circuits
JP2010169480A (ja) 半導体デバイス試験装置及び半導体装置
JP3650757B2 (ja) 同期メモリ回路をテストするためのテスト回路
US7549092B2 (en) Output controller with test unit
KR100633455B1 (ko) 반도체 소자 테스터를 위한 신호 분배 장치
KR101082426B1 (ko) 클럭 생성 회로 및 클럭 생성 회로를 포함하는 테스트 시스템
JP4041801B2 (ja) 半導体デバイス試験装置
US7668027B2 (en) Semiconductor device, testing and manufacturing methods thereof
JP2001319494A (ja) メモリ回路用の組込み自己試験装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050310

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050310

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20070110