JP3730898B2 - データ・ストローブ・プロトコルを使用した主記憶装置 - Google Patents
データ・ストローブ・プロトコルを使用した主記憶装置 Download PDFInfo
- Publication number
- JP3730898B2 JP3730898B2 JP2001311731A JP2001311731A JP3730898B2 JP 3730898 B2 JP3730898 B2 JP 3730898B2 JP 2001311731 A JP2001311731 A JP 2001311731A JP 2001311731 A JP2001311731 A JP 2001311731A JP 3730898 B2 JP3730898 B2 JP 3730898B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- data
- strobe
- circuits
- read
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/106—Data output latches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1066—Output synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1087—Data input latches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1093—Input synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/107—Serial-parallel conversion of data or prefetch
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Memory System (AREA)
Description
【発明の属する技術分野】
本発明は、一般にコンピュータに関し、特にデータ・ストローブ・プロトコルを使用してコンピュータの主記憶装置と制御装置との間でデータを転送するコンピュータの主記憶装置に関する。
【0002】
【従来の技術】
コンピュータの主記憶装置(メインメモリ)は、データ格納用のDRAM(Dynamic Random Access Memory)など多くの個別のメモリから構成されている。このようなコンピュータでは、通常、適切なクロック方式に従って個別のDRAMと制御装置(コントローラ)との間でデータをやり取りする。例えば、DRAMと制御装置との間のデータのやり取り、すなわち読み書きには、通常、制御装置から少なくとも1つの選択したDRAMに送るデータ信号を生成するステップと、制御装置から選択したDRAMにデータを書き込む、または、選択したDRAMからデータを読み出して制御装置に返すステップとが含まれている。
【0003】
今日の改良されたDRAMは、業界でDDRデバイスと呼ばれているダブル・データ・レート(Double Data Rate)DRAM級のものである。
【0004】
これらダブル・データ・レートDRAMでは、データとストローブのプロトコルを使って、メモリと制御装置との間におけるデータ転送を行なう。コンピュータのメモリに対してデータ・ワードを転送すなわち読み書きしうる期間は、メモリ・システム・クロックの1サイクルの1/2に等しい。DDRデバイスからデータを読み出すとき、DDRデバイスは、データ・バスとストローブを同時に駆動する。制御装置はストローブを使って読み出しが完了するまで入来するデータをラッチしているので、すべてのデータが読み出されるまで、DDRデバイスからデータを読み出すごとにストローブを切り替える必要がある。ストローブは、エッジで位置合わせされている。すなわち、ストローブは、データと同期して状態遷移する。したがって、データを受け取っている制御装置は、ストローブを使って入来するデータ・ワードをラッチするために、ストローブの位相をシフトさせる必要がある。
【0005】
DDRデバイスにデータを書き込むとき、制御装置は、データに対してストローブを中央に配置してデータ・バスを駆動する。すなわち、ストローブは、データ有効期間の中央で状態遷移する。制御装置は、データを受け取っているDDRデバイスにデータを送るごとにストローブを切り替える。したがって、DDRデバイスは、入来するデータ・ワードをラッチするためにしかストローブを使う必要がない(すなわちDDRデバイスがストローブを使うのは、入来するデータ・ワードをラッチするときだけである)。
【0006】
データを読み出している制御装置、または、データを書き込んでいるDDRデバイスにおいてすべてのデータ入力が有効である期間は、「データ・アイ(data eye)」と呼ばれている。コンピュータのメモリ・クロック周波数が増大し続けるのにつれて、このデータ・アイ期間はますます短くなり、ストローブとデータ・アイとの間の関係はますます窮屈になってきている。この結果、出力を同時にスイッチングすることに起因する時間の変動、基準電圧のノイズ、経路長と伝搬遅延の不整合、クロストークなどの影響により、これら独立の信号すなわちストローブとデータ・アイを位置合わせするのがますます困難になってきている。
【0007】
以上のように、DDRデバイスの現在のプロトコルは、リード/ライト・データの転送ごとにストローブを切り替えるものであり、ストローブとデータ転送の回数に制約を設けるものである。周波数が高くなるのにつれて、ストローブとデータに対するこれらの制約は非常に厳しくなるので、すぐに限界に到達し、DDRデバイスに対してもはやデータを読み書きすることができなくなる。
【0008】
したがって、現在使われているプロトコルには、データ・アイを使ってストローブを位置合わせする点に問題がある。データ転送速度が増大し続けるのにつれて、この位置合わせの問題は、ますます厳しくなる。それ故、この問題によって、DDRデバイスは、その潜在能力を十分に活用することができない状態にある。
【0009】
【発明が解決しようとする課題】
本発明の目的は、データの状態遷移がない場合を除いて読み書き用のストローブとデータ・アイの関係を必要なくすることである。
【0010】
本発明の別の目的は、データが変化している場合にストローブとデータ・アイとの位置合わせの必要をなくして、データ・アイをより小さくすると共に、コンピュータのデータ転送速度をより早くすることである。
【0011】
【課題を解決するための手段】
本発明によれば、読み書き用のストローブとデータ・アイとの関係を緩和することができるので、潜在能力を完全に引き出した形でDDRデバイスを使うことが可能になる。したがって、本発明によれば、より高い周波数のメモリ・クロックを使うことができるので、データ・アイを小さくすることができると共に、データ転送速度を速くすることができる。
【0012】
本発明によれば、ストローブとデータ・アイとを位置合わせするのに必要なタイミング要件を緩和させることにより、DDRデバイスをその潜在能力一杯に使うことが可能になる。本発明では、データ・ワードに状態遷移がある場合にデータを自己ラッチさせることにより、このことを実現している。データ・ワードとは、単一のクロック・エッジでDDRデバイスに対してやり取り(読み書き)するすべてのデータ・ビットのまとまりのことである。状態遷移とは、データ・ワードのビットの変化、例えば「1」から「0」へ(またはこの逆)の変化のことである。この自己ラッチ手順は、データ・ワードに変化がない場合にしかストローブを必要としない、ということを意味している。
【0013】
このように、本発明によれば、従来技術のプロトコルで見い出されていたストローブとデータ・アイとの位置合わせ問題を緩和させることができるので、より小さなデータ・アイを使うことが可能になる結果、データ転送速度を速めることができる。
【0014】
本発明では、メモリ制御装置のライト回路とリード回路の他に、従来技術のDDRデバイスのライト回路とリード回路を変更することにより、これらの好適な結果を実現している。具体的には、従来技術のDDRデバイスのライト回路と制御装置のリード回路を、ストローブ生成器を付加し、ストローブとデータ入力の双方にこのストローブ生成器を接続することにより変更している。また、DDRデバイスのリード回路と制御装置のライト回路を、出力ラッチとチップ駆動回路を初期化・有効化回路を使って制御するデータ比較回路を備えるように変更している。これらの変更によって、本発明では、データの状態遷移に基づいてデータを自己ラッチさせることができると共に、データの状態遷移がない場合を除いてストローブを使う必要がなくなる。
【0015】
【発明の実施の形態】
図1は、典型的なコンピュータのブロック図である。制御装置10には、制御論理ブロック12が接続されている。制御装置10は、複数線のバス17、22を介してメモリ11に接続されている。制御装置10には、システム・クロック14も線29を介して接続されている。メモリ11は、ライト・ブロック18、リード・ブロック19、ストローブ回路23、データ遅延位相調整ブロック26、記憶アレイ21、および内部クロック27から成る。記憶アレイ21は、DDR DRAMなどの記憶デバイスを複数個備えている。
【0016】
特に、制御装置10は、複数の双方向データ・バス17によって複数のライト回路を備えたライト・ブロック18に接続されていると共に、複数のリード回路を備えたリード・ブロック19に接続されている。
【0017】
各ライト・ブロック18のライト回路と各リード・ブロック19のリード回路は、各々さらに、複数の双方向バス20のそれぞれの線を介して記憶アレイ21に接続されている。リード・ブロック19のリード回路は、さらに、制御装置10が出力する外部アドレス制御信号を配送する単線の一方向バス16を介して制御装置10に接続されている。
【0018】
ライト・ブロック18とリード・ブロック19には複数のライト回路とリード回路があるけれども、複数線バス25を介してライト・ブロック18の複数のライト回路の各々に接続し、線24を介してリード・ブロック19の複数のリード回路の各々に接続しているストローブ回路23は、1個しか必要としない。ストローブ回路23は、さらに、システム・クロック14が駆動しているデータ遅延調整クロック(DDL)26に接続されている。システム・クロック14は、単線バス28を介してライト・ブロック18の各ライト回路に接続されている内部クロック27も駆動している。
【0019】
無論、コンピュータは他の多くの回路(図示せず)を備えていることは周知である。しかし、このようなコンピュータの一般的な回路、動作方法、使用方法は当技術分野で周知であるので、このようなコンピュータの動作に必要な機能、動作、回路であっても、本発明の核心に関連しないものをこれ以上示して説明する必要はないと考える。
【0020】
次に、図2と図3を参照して、従来技術の記憶アレイ21への公知の回路とプロトコルを使った情報の書き込みを説明する。
【0021】
コンピュータは、通常、ライト・ブロック18に複数の(普通は16個の)ライト回路を、リード・ブロック19に複数の(やはり普通は16個の)リード回路を備えている。しかし、本発明の説明を簡単にするために、ライト・ブロック18は2個のライト回路しか備えておらず、リード・ブロック19は2個のリード回路しか備えていないものと仮定する。
【0022】
また、ストローブ回路23の第1の部分はライト回路と相互作用し、第2の部分はリード回路と相互作用するので、ストローブ回路23は、ライト部23aとリード部bを有するものとして説明する。
【0023】
したがって、図2には、ストローブ回路23のライト部23bに接続された2個のライト回路18a、18bしか示してない。しかし、任意の1個のライト回路の動作は任意の他のライト回路の動作と同一であるから、詳細なブロックの形ではライト回路18aしか示さず、下ではその動作しか詳細には説明しない。
【0024】
図2に示すように、ライト回路18aは、データ・バス17中の複数のデータ線のうちの個別の1本を介して制御装置10に接続されたデータ受信器30を備えている。このデータ受信器30は、ライト・バッファ回路31、遅延回路32、多重ラッチ回路33を通じて記憶アレイ21にも接続されている。
【0025】
ストローブ回路23のライト部23bは、ストローブ信号線22を介して制御装置10に接続されたストローブ受信器40を備えている。ストローブ受信器40は、さらに、ストローブ・バッファ回路41を通じてワン・ショット回路42に接続されている。ワン・ショット回路42は、ストローブ信号線22に現れるすべてのストローブ信号の先行エッジ(すなわち立ち上がりエッジ)と後行エッジ(立ち下がりエッジ)の双方を検出するように設計されている。このことは、後述するように、ワン・ショット回路42は2つの出力線44、45を備え、その各々が多重ラッチ回路33の様々な個別のラッチにそれぞれ接続されている必要がある、ということを意味する。
【0026】
多重ラッチ回路33は、複数の個々のデータ・ビット・ラッチ34、35、36、37、38から成る。これらのデータ・ビット・ラッチ34、35、36、37、38は、各々、第1および第2の入力端子と単一の出力端子を備え、当技術分野で公知のように、制御装置10から記憶アレイ21へのデータ転送によって(あるいはデータ転送の間に)生じる不一致(あるいは誤り)を均等にするように相互接続されている。
【0027】
ラッチ34と35は、各々、遅延回路32の出力端子に共通接続された第1の入力端子を備えている。ラッチ34は、ストローブ信号の先行エッジに起因するワン・ショット回路42の出力を運ぶ線44に接続された第2の入力端子を備えている。ラッチ34の出力端子は、ラッチ36の第1の入力端子に接続されている。ラッチ35と36は、ワン・ショット回路42から導出された線45に共通接続された第2の入力端子を備えている。この線45は、ストローブ信号の後行エッジに起因するワン・ショット回路42の出力を運んでいる。したがって、ラッチ35と36の双方は、ストローブ信号の後行エッジに応答する。ラッチ35の出力端子はラッチ38の入力端子に接続されており、ラッチ36の出力端子はラッチ37の入力端子に接続されている。
【0028】
ラッチ37と38の第1の入力端子は、内部クロック回路27の出力端子に共通接続されている。ラッチ37と38の出力は、共に、バス20を介して記憶アレイ21に供給されている。
【0029】
次に、特に図3を参照するが、図2も引き続き参照して、記憶アレイ21にデータを書き込むときに使う従来技術のプロトコルによる書き込み手順を簡潔に説明する。
【0030】
始めに、システム・クロック14が走っており、交番周期クロック信号CKを供給している。同時に、システム・クロック14が駆動する内部クロック27も走っており、ラッチ37と38の第2の入力端子に供給される信号INTを供給している。この内部クロック信号INTは、複数の正のパルス46、47、48、49から成る。これらのパルス46、47、48、49は、各々、交番システム・クロック信号CKの第1のの半分すなわち正の半分の各々と同期している。
【0031】
上述したように、記憶アレイ21がDDRデバイスから成る場合、読み書きプロトコルは、記憶アレイ21からデータを転送する(読み出し動作)または記憶アレイ21にデータを転送する(書き込み動作)のにデータ信号とストローブ信号を必要とする。ここで、4個のデータ・ワード(WORD1、WORD2、WORD3、WORD4)から成るデータ・ストリームを記憶アレイ21に書き込むものと仮定する。さらに、各データ・ワードは2個のデータ・ビットから成り、WORD2とWORD3は互いに同一である、と仮定する。さらに、これらのデータ・ワードは、各々、各データ・アイ55、56、57、58の間に転送するものと仮定する。
【0032】
図2の回路を使って記憶アレイ21に書き込む場合、制御装置10は、ストローブ回路23の出力DQS(通常は中性)をプリアンブル状態(すなわち負の状態)にすることにより、ストローブ回路23のライト部23aを駆動する。制御装置10は、データ・アイ55の間に第1のデータ・ワードのすべてのビットをデータ・バス17を介してライト・ブロック18のすべてのライト回路に同時に転送する。このように、第1のデータ・ワードの第1のビットをライト回路18aに供給し、同時に、第1のデータ・ワードの第2のビットをライト回路18bに供給する。ここで、データ・ワードが2を超える数のビットを含んでいる場合、メモリ・ブロックは、データ・ワードのビット数に等しい数のライト回路を備える必要がある、という点を理解すべきである。このような場合、データ・ワードの第3のビットは第3のライト回路に送り、データ・ワードの第4のビットは第4のライト回路に送り、・・・、データ・ワードの最後の(N番目の)ビットは最後の(N番目の)ライト回路に送ることになる。
【0033】
各ライト回路では、制御装置10が出力する各データ・ビットは、データ受信器30、バッファ回路31、遅延回路32を通過したのち、多重ラッチ回路33が受け取る。
【0034】
同時に、第1のデータ・ワード(WORD1)の各データ・ビットを各ライト回路18a、18bに送るので、制御装置10は、データ・アイ55の中央でストローブ線22を駆動してクロック・サイクルの1/2の間だけ正にする。このことは、図3にストローブ・パルス50として示してある。
【0035】
したがって、ストローブ・パルス50は、データ・アイ55の中央に位置する先行エッジ50aとデータ・アイ56の中央に位置する後行エッジ50bを備えている。ストローブ・パルス50はこのように配置されているので、詳細は後述するが、各データ・ワードを転送している間に多重ラッチ回路33のラッチ34、35、36、37、38を様々に切り替えることができる。
【0036】
上述したように、第2のデータ・ワード(WORD2)は第1のデータ・ワード(WORD1)とは異なるので、ここでも状態遷移があるから、上述したサイクルを繰り返す。
【0037】
このように、記憶アレイ21に多くのデータ・ワードのデータ・ストリームを書き込む。そして、図4と図5と共に後述する回路を使って記憶アレイ21から多くのデータ・ワードのデータ・ストリームを読み出すことができる。
【0038】
図4は、コンピュータのメモリ・バンクに格納されているデータを読み出し、その読み出したデータをコンピュータに転送するのに必要な従来技術によるDDR回路のブロック図である。
【0039】
上述したように、リード回路ブロック19は、図1に示したように、16個の同一のリード回路19a〜19pから成る。
【0040】
また、この図4に示すリード回路で使われている回路の構成要素の中には、図1と図2に示した回路要素と同一のものがあり、それらには、図1と図2で使用したのと同じ符号が付してある点に留意されたい。
【0041】
このようなリード回路は、各々図4に示すように、マルチプレクサ61とリード・データ駆動回路63を通じて制御装置10に記憶アレイ21から読み出すべきデータを選択するように設計されたポインタ回路60を備えている。図4には、16個のリード回路すべての面倒を見ているストローブ回路23のリード部23bが示してある。リード部23bは、初期化・有効化回路64、トグル回路65、ストローブ駆動回路66から成る。ストローブ駆動回路66は、線22を介して制御装置10に接続されている。ポインタ回路60には、2つの入力がある。第1のものは、システム・クロックが駆動しているデータ遅延位相調整クロック26が出力するDDLクロック入力27である。第2のものは、制御装置10が出力する外部アドレス供給Aoである。DDLクロック入力27は、線24を介してストローブ回路23のリード部23bの初期化・有効化回路64に接続されている。線16上の外部アドレス供給Aoは、制御装置10が供給するものであり、記憶アレイ21から読み出すべきデータ・ワードの第1のビットを選択するのに使用する。同時に、DDLクロックは、初期化・有効化回路64を駆動している。
【0042】
初期化・有効化回路64の出力は、トグル65とストローブ駆動回路66に供給される。図5には、パルス70a、70b、70c、70d、70eとして示してある。トグル回路65の出力は、「1」と「0」の繰り返しである。
【0043】
ポインタ回路60が記憶アレイ21を駆動すると、そこから読み出される特定のデータDQYの各ビットは、リード回路ブロック19の個別リード回路の個別マルチプレクサを通じてリード・データ駆動回路63に転送される。当該データは、リード・データ駆動回路63から制御装置10に送られる。トグル回路65は、図5に示すように、ストローブ・パルスがデータ・ストリームDQYの各バーストと位置合わせできるようにストローブ駆動回路66を駆動する。
【0044】
まとめると、従来技術のダブル・データ・レート(DDR)SDRAMでは、記憶アレイ21と制御装置10との間でデータを転送するのにデータとストローブのプロトコルを使う。従来技術のダブル・データ・レート(DDR)SDRAMに書き込む場合、制御装置10は、データ・アイの中央に配置されたストローブ(DQS)パルスを使ってデータ・バスを駆動し、データ・ワードを書き込むごとにストローブを切り替える。入来するデータ・ワードをラッチするには、ストローブ(DQS)を使うだけでよい。これに対して、従来技術のダブル・データ・レート(DDR)SDRAMから読み出す場合には、データ・バスとストローブを共に駆動する必要がある。したがって、リード・バーストが完了するまで、データ・ワードを読み出すごとにDDLクロックによってエッジ位置合わせしたストローブを切り替える。
【0045】
ここでも、リード回路の数に関係なく、リード回路ブロック19のすべてのリード回路の面倒を見るのに、ストローブ回路23のリード部23bは1つしか必要としない、という点に留意すべきである。ストローブ回路23のこのリード部23bは、初期化・有効化回路64、トグル回路65、およびストローブ駆動回路66から成る。ストローブ駆動回路66は、線22を介して制御装置10に接続されている。
【0046】
ポインタ回路60は、2つの入力を有する。第1のものは、システム・クロック14が駆動するデータ遅延位相調整クロック26からの入力である。第2のものは、制御装置10が供給する外部アドレス供給16である。また、DDLクロックは、線24を介して初期化・有効化回路64、トグル回路65、マルチプレクサ61、およびリード・データ駆動回路63にも接続されている。
【0047】
次に、特に図5を参照するが、図4も引き続き参照して、記憶アレイ21からデータを読み出すときに使う従来技術のプロトコルによる読み出し手順を簡潔に説明する。
【0048】
記憶アレイ21に以前に書き込んだ4個のデータ・ワード(WORD1、WORD2、WORD3、WORD4)から成るデータ・ストリームを記憶アレイ21から読み出すものと仮定する。
【0049】
始めに、システム・クロックCKとデータ遅延クロックDDLの双方が図5に示すように走っている。パルス70a、70b、70c、70d、70eから分かるように、DDLクロックは、システム・クロック14の2倍の速度で走っている。記憶アレイ21からデータを読み出すべきときには、ストローブDQSを負に駆動してプリアンブル・モードにしたのち、DDLパルス70cと協働して正に駆動する(パルス69a)。同時に、ポインタ回路60を駆動して記憶アレイ21から読み出すべき第1のデータ・ワード(WORD1)の第1のビットを選択する外部アドレス供給信号が、制御装置10から線16を介して送られる。次いで、DDLパルス70cが、マルチプレクサ61、リード・データ駆動回路63、トグル回路65、および初期化・有効化回路64を駆動する。
【0050】
ポインタ回路60が記憶アレイ21を駆動しているので、記憶アレイ21から読み出すように特定されたデータ・ワード(WORD1)の第1のビットは、データ・アイ71の間にリード回路19aのマルチプレクサ61を通じてリード・データ駆動回路63に転送され、そこから制御装置10に送られる。同様に、上記データ・ワード(WORD1)の第2のビットは、リード回路19bによって制御装置10に転送される(読み出される)。
【0051】
トグル回路65は、初期化・有効化回路64が初期化しているので、各DDLクロック・パルスによって「0」から「1」に切り替わって「1」と「0」の繰り返しを生成する。この「1」と「0」の繰り返しは、ストローブ駆動回路66に供給される。これにより、ストローブ駆動回路66は、読み出したデータ・ワードを制御装置10に転送する状態に設定される。
【0052】
いったん第1のデータ・ワード(WORD1)を読み出したら、正のパルス69aを終了させて、ストローブDQSを負に駆動する(パルス69b)。この結果、データ・アイ72の間に記憶アレイ21からデータ・ストリームの第2のデータ・ワード(WORD2)を読み出すことができる。その後、第2のデータ・ワード(WORD2)を読み出したのち、再びストローブ・パルスを正に駆動し(パルス69c)、データ・アイ73の間に第3のデータ・ワード(WORD3)を読み出す。このサイクルを続けて、データ・ストリーム中のすべてのデータ・ワードが読み出されるようにする。
【0053】
トグル回路65が出力する「0」と「1」の繰り返し列がストローブ駆動回路66を駆動して、必要なときに正と負の繰り返しパルス69a、69b、69c、69dを生成する。
【0054】
まとめると、図2、図3、図4、図5に示した従来技術の回路では、データとストローブのプロトコルを使って、記憶アレイ21と制御装置10との間でデータ・ワードを転送すなわち読み書きする。従来技術のプロトコルを使って書き込む場合、制御装置10は、データ・アイの中央に配置されたストローブ(DQS)パルス50を使ってデータ・バス17を駆動し、データ・ワードを書き込むごとにストローブを切り替える。入来するデータ・ワードをラッチするのに、ストローブ(DQS)を使うだけでよい。これに対して、従来技術のプロトコルを使って読み出す場合には、データ・バスとストローブを共に駆動する。ストローブは、データ・アイを使ってエッジ位置合わせすると共に、読み出しが完了するまでデータ・ワードを読み出すごとに正負を切り替える。
【0055】
したがって、書き込まれる場所が入来するデータ・ワードをラッチするのにストローブしか使っていないとしても、周波数が増大するのにつれて、データ・アイは小さくなり、ストローブとデータ・アイとの間の関係は厳しくなるので、ストローブとデータ・アイを独立して位置合わせするのがますます困難になる。これらの困難は、同時にスイッチングする出力、基準電圧のノイズ、経路長伝搬遅延不一致、クロストークなどに起因する。これらのすべてによって、システムの速度は制限される。
【0056】
上述したリード回路、ライト回路、読み出しプロトコル、書き込みプロトコルは従来技術のDRAM用には好適であるけれども、それらは、より新しいDDRDRAMをその潜在能力と速度を完全に生かして使うには動作速度が十分ではない。
【0057】
本発明は、データ・ワードの変化すなわち状態遷移に基づいてデータ・ビットを自己ラッチすることにより、ストローブDQSとデータ・アイとの位置合わせを緩和して、データの状態遷移がないときにしかストローブを使う必要がなくなるようにするものである。データの状態遷移がない場合、データは2データ・サイクルの間変化しないので、データ・アイは非常に大きくなる。この結果、ストローブとデータ・アイを位置合わせするのが極めて容易になる。これにり、データ転送速度をより速くすることが可能になると共に、それに対応してデータ・アイをより小さくすることが可能になる。
【0058】
次に、図6、図7、図8、図9、図10、図11、図12を参照して、本発明のライト回路、リード回路、およびプロトコルを下で説明する。本発明は、より新しいDDR DRAMで構成した記憶アレイに対して効率的にデータをやり取りするのに必要なものである。
【0059】
広義には、本発明によれば、制御装置と記憶装置は、データの状態遷移、すなわち記憶アレイ21に対して読み書きしているデータの変化を利用して、データ・ビットごとにローカル・ラッチ・ストローブを生成することができる。これは、ストローブ生成器の中で、データ・ワード中のローカル・ラッチ・ストローブをすべて組み合わせて、入来するデータ・ワードをラッチする単一のグローバル・ラッチ・ストローブを生成することにより、実現することができる。しかし、データに状態遷移がない、すなわち受け取るデータ・ワードが先行するデータ・ワードと同一である場合、ストローブDQSは、ストローブ生成器中を通過しグローバル・ラッチ・ストローブのように振る舞う。
【0060】
このように、本発明によれば、データ・ワードの位置合わせにとってストローブは必要なくなり、装置は自己ラッチするようになるので、データを読み書きし転送する速度が速くなる。このように速度が速くなると、より新しくより速いDDR DRAMをその設計速度で使うことが可能になる。
【0061】
図6は、本発明の改良したライト回路118a、118bを、新しく高速のDDR DRAMを用いた記憶アレイ21用に設計した改良したストローブ回路123のライト部123aと共に示すブロック図である。ここで、本発明は既存の遅いDDR DRAMを扱うこともできる、という点を理解すべきである。
【0062】
本実施形態の以下の説明において、ここでもライト回路ブロック118のライト回路はすべて同一である、という点に留意されたい。したがって、ライト回路118aは、ライト回路118bと同一である。それ故、以下ではライト回路118aとその動作しか詳細には説明しない。本実施形態で使用する回路のいくつかの構成要素は、図2に示した等価な回路要素と同一である。したがって、図2で用いたのと同じ符号を用いてこれら同一の回路要素を識別する。
【0063】
ライト回路118aは、データ・バス17の複数のデータ線の個別の1本に接続されると共に、データ・バッファ回路131、遅延回路32、および多重ラッチ回路33を通じて記憶アレイ21に接続されたデータ受信器30を備えている。データ・バッファ回路131は、ワン・ショット回路142aを介してストローブ生成器149にも接続されている。同様に、ライト回路118bも、ワン・ショット回路142bを介してストローブ生成器149に接続されている。ストローブ回路123のライト部123aは、ストローブ信号線22を介して制御装置10に接続されると共に、ワン・ショット回路143を通じてストローブ生成器149に接続する信号を出力するストローブ・バッファ回路141に接続されたストローブ受信器140を備えている。
【0064】
図8に示すストローブ生成器149は、ワン・ショット回路が出力するパルスを組み合わせるように設計されており、ワン・ショット回路142a、142bが出力するパルスをすべて取り込み、ラッチ150の出力と共に、それらをOR回路154で組み合わせて、受信したすべての個々のパルスの状態に基づいて単一の出力パルスを生成する。この出力パルスは、OR回路154からトグル回路161と1対2デマルチプレクサ162に送られる。また、ストローブ生成器149には、ワン・ショット回路142bを介してライト回路118bが接続されている。
【0065】
ここで、2個を超えるライト回路がある場合、各ライト回路は個別のワン・ショット回路を通じてストローブ生成器149に接続されている、という点を理解すべきである。すなわち、もし、16個のライト回路があれば、各ライト回路は個別のワン・ショット回路を通じてストローブ生成器149に接続されている。
【0066】
図8に示すストローブ生成器149は、交差接続されたNOR回路151、152から成るラッチ150を備えている。NOR回路151は、2入力NORであり、第1の入力151aはNOR回路152の出力端子に接続されており、別の入力151bはストローブ駆動のワン・ショット回路143に接続されている。NOR回路151の出力151cはNOR回路152の第1の入力に交差接続している。NOR回路152は、この第1の入力151cの他に、余分の複数の入力を有する。ここに示す例では、2個のライト回路118a、118bしかストローブ生成器149に接続しているように示されていない。したがって、図8では、余分の入力152a、152bが存在する。入力152a、152bは、各々、ワン・ショット回路142a、142bの各出力に接続されている。このNOR回路152の入力の数は、NOR回路152に接続しているワン・ショット回路の数、すなわち転送すべきデータ・ワードのビット数に、図8に示すと共に上述したように、NOR回路151の出力の数を加えた数と等しくなければならない。例えば、16ビットのデータ・ワードを記憶アレイ21に書き込む場合、NOR回路152は17個の入力を有することになる。このうち16個の入力は16個のライト回路に接続するのに必要であり、17番目の入力はNOR回路151の出力に接続するのに必要である。
【0067】
ワン・ショット回路142a、142b、143は、すべて、自身を通過する信号の先行エッジと後行エッジの双方を検出するように設計されている。
【0068】
ラッチ150の出力153は、ワン・ショット回路142a、142bのすべての出力と共にOR回路154に供給されている。上述した例に従えば、OR回路154は、17個の入力を有する必要がある。このうち16個の入力は16個のライト回路に接続するのに必要であり、17番目の入力はNOR回路151の出力に接続するのに必要である。OR回路154は、これらの入力をすべて取り込んで単一のパルスを出力する。この出力パルスは、トグル回路161と出力線144、145を有する1対2デマルチプレクサ162に送られる。
【0069】
このように、ストローブ生成器149は、すべてのデータ・ワードが状態遷移すると、すなわち直前に先行したデータ・ワードから変化すると、それを検出する。
【0070】
これらの状態遷移をこのように検出できるのは、ストローブ生成器149がストローブ生成器149のすべての入力をストローブ生成器149の出力144と145に多重化するからである。チャネル144は、使用する最初のチャネルである。次いで、ストローブ生成器149の出力信号が出力線144と145を交互に使うようにトグル回路161が切り替える。
【0071】
図6に示す、ストローブ生成器149の出力に接続された多重ラッチ回路33は、個別の第1の入力と第2の入力と単一の出力を有する複数の個々のラッチ34、35、36、37、38から成る点において、図2に示したものと同一である。
【0072】
ラッチ34、35の第1の入力は、遅延回路32の出力に共通接続されている。ラッチ34の第2の入力は、ストローブ生成器149の第1の出力144に接続されている。ラッチ34の出力は、ラッチ36の第1の入力に接続されている。ラッチ35、36の第2の入力は、ストローブ生成器149の出力145に共通接続されている。したがって、ラッチ35、36は、線145上の信号に応答する。ラッチ35の出力は、ラッチ38の第1の入力に接続されている。ラッチ36の出力は、ラッチ37の第1の入力に接続されている。ラッチ37、38の第2の入力は、制御装置10の内部クロック回路14の出力に共通接続されている。ラッチ37、38の出力は、両方とも、ライト・バス20を介して記憶アレイ21に接続されている。
【0073】
図7は、制御論理回路から図6に示したライト回路にデータを転送するのに使用する制御装置転送回路119のブロック図である。ここで使用しているいくつかの構成要素は図4に示した回路要素と同一であるので、図4で使用したのと同一の符号で識別する、という点に留意する必要がある。
【0074】
制御装置10は、図7に示すように、図6のライト回路と同じ複数の同一のデータ・ビット選択・転送回路119a、119bを備えている。
【0075】
説明を簡明にするために、データ・ビット選択・転送回路119aだけを詳細に説明する。したがって、データ・ビット選択・転送回路119aは、図6に示したライト回路118aに書き込むデータ・ストリームの最初のビットを送るべき、制御論理211の論理回路を選択するように設計されたポインタ回路60を備えている。同様に、データ・ビット選択・転送回路119bは、図6に示したライト回路118bに書き込むデータ・ストリームの次のビットを送る。したがって、制御論理221から受け取った各データ・ビットは、マルチプレクサ61、リード・データ駆動回路63、バス17を通じて図6のライト回路に送られる。また、この制御装置転送回路119は、図6のすべてのライト回路の面倒を見るストローブ回路123も備えている。
【0076】
ここでも、複数のデータ・ビット選択・転送回路119a、119bがあるけれども、すべてのデータ・ビット選択・転送回路の面倒を見るのに1個のストローブ回路123しか必要としない。このことは、データ・ビット選択・転送回路が2個の場合に限らず、上述した例のように16個ある場合にも当てはまる。
【0077】
このストローブ回路123は、初期化・有効化回路64、トグル回路65、および線22を介して図6のライト回路に接続されたデータ駆動回路66を備えている。ポインタ回路60は、2個の入力を有する。第1の入力は、システム・クロック14が駆動するデータ遅延位相調整クロック26が出力するDDLクロック入力67である。第2の入力は、外部アドレス供給16である。DDLクロックは、線124aを介して初期化・有効化回路64とトグル回路65に、線124bを介してマルチプレクサ61とリード・データ駆動回路63に接続されている。
【0078】
次に、図6、図7、図8、図9を特に参照して、本発明の書き込みプロトコルを簡明に説明する。
【0079】
始めに、システム・クロック14が走っており、周期的なクロック信号CKを供給している。システム・クロック14が駆動する内部クロック27も走っており、複数の正のパルス156、157、158、159から成る信号INTを生成している。これらのパルスは、ラッチ37、38の第2の入力に供給されている。各パルスは、交番しているシステム・クロック信号CKの第1の半分すなわち正の半分と同期している。
【0080】
本発明の書き込みプロトコルは、記憶アレイ21にデータ・ワードを転送する(すなわち書き込む)のにストローブ信号も必要とする。しかし、本発明では、多重ラッチ回路33を通ってデータを転送するのに使うローカル・ラッチ信号をストローブ生成器149が生成しているので、引き続くデータ・ワードが状態遷移する(すなわち変化する)場合、制御装置10が出力するストローブ信号を変化させる(すなわち反転させる)必要がない。したがって、本発明では、引き続いて転送するデータ・ワードに状態遷移(すなわち差異)がないときにだけ、ストローブ信号を生成すればよい。
【0081】
本発明では、ストローブ生成器149を使ってこれを実現している。すなわち、ストローブ生成器149は、引き続くデータ・ワードの差異をすべて検出し、検出した差異を使ってトグル回路161と1対2デマルチプレクサ162を駆動して、ストローブ生成器149の出力144、145に適切な信号を交互に生成し、それらを制御する。出力144、145に交互に現れるこれらの信号は、多重ラッチ回路33を操作して、受け取ったデータを多重ラッチ回路33中を転送して記憶アレイ21に書き込みうるようにする。こうすることにより、制御装置10は、引き続くデータ・ワードが先行して転送したデータ・ワードと比べて変化していない場合に、ストローブ信号DQSの状態を変化させるだけでよい。このストローブ生成器149の動作は、下で詳細に説明する。
【0082】
説明目的だけのために、次のように仮定する。すなわち、4個のデータ・ワード(WORD1、WORD2、WORD3、WORD4)から成るデータ・ストリームを記憶アレイ21に書き込む。WORD2とWORD3は、同一である。そして、各データ・ワードは、2個のデータ・ビットから成り、各データ・アイの間に転送する。
【0083】
図6の回路を使って記憶アレイ21に書き込む場合、制御装置10は、線22を介し、通常は中性のストローブ出力DQSを負に駆動してプリアンブル・モードにする。この負のプリアンブル・モードは、ストローブ受信器140、バッファ回路141、ワン・ショット回路143を通じてストローブ生成器149に至る。同時に、制御装置10は、バス12を介してすべて「0」から成るプリアンブル・ワードをライト・ブロック118のすべてのライト回路に送信する。このプリアンブル・ワードを形成するビットは、ワン・ショット回路142a、142bをストローブ生成器149に予調整するのに使う。
【0084】
このプリアンブル・ワードに続いて、データ・ストリームを初期化したのち、第1のデータ・ワード(WORD1)のデータ・ビット(2ビット)を制御論理回路からそれぞれのデータ転送回路119a、119bを経由してそれぞれのライト回路118a、118bに送る。すなわち、データ・ワードの第1のビットを制御装置の転送回路119aからライト回路118aに供給し、データ・ワードの第2のビットを制御装置の転送回路119bからライト回路118bに供給する。ここでも、データ・ワードが2ビット超のビット数である場合、メモリ・ブロックは、データ・ワードのビット数と同一の個数のライト回路を備えている必要がある、という点を理解すべきである。このような場合、データ・ワードの第3のビットは第3のライト回路に送り、データ・ワードの第4のビットは第4のライト回路に送り、・・・、データ・ワードの最後の(すなわちN番目の)ビットは最後の(すなわちN番目の)ライト回路に送る。
【0085】
各ライト回路では、制御装置10が出力するデータ・ビットは、それぞれ、ライト受信器30、バッファ回路131、遅延回路32を通ったのち、多重ラッチ回路33が受け取る。バッファ回路131は、ワン・ショット回路142aを介してストローブ生成器149に対する信号の送信も行なう。同時に、ワン・ショット回路143を介してストローブ生成器149にストローブ信号が送られる。
【0086】
ストローブ生成器149では、ラッチ150がすべてのワン・ショット回路142a、142b、143が出力するすべての信号を受信したのち、出力153を介してOR回路154に出力を供給する。OR回路154は、ワン・ショット回路142a、142bの出力も受信したのち、これらの信号のORをとって単一のパルスを出力する。この単一のパルスは、トグル回路161と出力線144、145を備えた1対2デマルチプレクサ162との双方に送られる。
【0087】
OR回路154が出力するこの出力信号は、デマルチプレクサ162を通ったのち出力線144にパルス170としてのせられる。パルス170は、ラッチ34をセットして第1のデータ・ビット(WORD1)を受信したのち、トグル回路161を切り替える。この結果、第2のデータ・ワードを受信すると、デマルチプレクサ162が出力する次のパルス171は、出力線145にのせられ、ラッチ35をセットして次のデータ・ワード(WORD2)の第1のビットを受信したのち、ラッチ36をセットしてデータストリーム中のWORD1の第1のビットを受信する。次いで、内部クロック158がラッチ37、38をセットして始めの2個のデータ・ワード(WORD1とWORD2)を記憶アレイ21に書き込む。このように、データ・ビットは、多重ラッチ回路33を通ったのち、記憶アレイ21に書き込まれる。次のパルス171も、同じ方法で、各データ・ワードが転送されている間に多重ラッチ回路33のラッチ34、35、36を様々に切り替える。
【0088】
次いで、OR回路154は、パルスを送ってトグル回路161にデマルチプレクサ162をリセットさせる。この結果、デマルチプレクサ162に送られる次の信号は、始めに出力線144に送られる。
【0089】
ストローブ・パルスDQSは、先行するデータ・ワードと同一のデータ・ワードを受信するまで、このプリアンブル状態では“L”を維持する。上述したように、WORD3はWORD2と同一である。この場合、ローカル・ラッチ・ストローブは、上述した回路によって生成されない。したがって、WORD3を記憶アレイ21に書き込むことができるようにする前に、ストローブ・パルスDQSを正に駆動する必要がある。
【0090】
図6の回路を使って記憶アレイ21に書き込む場合、制御装置10は、ストローブ回路123のライト部123aを駆動してその出力DQS(通常は中性)をプリアンブル状態すなわち負の状態に入れる。同時に、第1のデータ・アイ175の間に、制御装置10は、データ・バス12を介してライト・ブロック118のすべてのライト回路にプリアンブル・データ・ワードを送信する。このプリアンブル・データ・ワードは、すべて「0」から成り、データ入力を予調整する。というのは、データ入力は、ワン・ショット回路が機能するように予調整する必要があるからである。
【0091】
プリアンブル・データ・ワードの第1のビットを転送回路119aを介してライト回路118aに供給する。同時に、プリアンブル・データ・ワードの第2のビットを転送回路119bを介してライト回路118bに供給する。ここでも、データ・ワードが2ビット超のビット数である場合、メモリ・ブロックは、データ・ワードのビット数と同一の個数のライト回路を備えている必要がある、という点を理解すべきである。このような場合、データ・ワードの第3のビットは第3のライト回路に送り、データ・ワードの第4のビットは第4のライト回路に送り、・・・、データ・ワードの最後の(すなわちN番目の)ビットは最後の(すなわちN番目の)ライト回路に送る。
【0092】
各ライト回路では、制御装置10が各ライト回路に送ったデータ・ビットは、それぞれ、ライト回路のライト受信器、バッファ回路、および遅延回路を通過してライト回路の多重ラッチ回路に送られる。データ・ビットが各回路のバッファ回路を通過するときに、各バッファ回路は、ストローブ生成器に接続されたそれぞれのワン・ショット回路に信号を送信する。次いで、各ワン・ショット回路は、ストローブ生成器にパルスを転送する。ストローブ生成器では、受信したパルスをすべて組み合わせて、受信したデータ・ワードを記憶アレイ21に通過させるように、各ライト回路の多重ラッチ回路を制御するのに使う。
【0093】
より正確に述べると、ライト回路118aが制御装置10からデータ・ワードWORD1の第1のデータ・ビットを受信すると、受信したデータ・ビットは、ライト受信器30、バッファ回路131、および遅延回路32を通過してラッチ34の第1の入力に至る。バッファ回路131を通過中のデータ・ビットは、ワン・ショット回路142aに送られ、そこからストローブ生成器149に送られる信号を生成する。同時に、ライト回路118bは、データ・ワードWORD1の第2のデータ・ビットを受信し、そのバッファ回路は、ストローブ生成器149に転送される同様の信号をワン・ショット回路142bに送る。ストローブ生成器149では、これらの信号を組み合わせたのち、1対2デマルチプレクサ162を介して出力線144に送信して、多重ラッチ回路33のラッチ34を起動する。
【0094】
第1のデータ・アイ176が終了すると、次のデータ・アイ177が始まる。制御装置10は、ライト・ブロック118のすべてのライト回路にデータ・ワードWORD2のすべてのビットを送信する。このように、データ・ワードWORD2の第1のデータ・ビットはライト回路118aに供給される。同時に、データ・ワードWORD2の第2のデータ・ビットはライト回路118bに供給される。ここでも、ライト回路118aが制御装置10からデータ・ワードWORD2の第1のデータ・ビットを受信すると、受信したデータ・ビットは、ライト受信器30、バッファ回路131、および遅延回路32を通過してラッチ34の第1の入力に至る。バッファ回路131を通過中のデータ・ビットは、ワン・ショット回路142aに送られ、そこからストローブ生成器149に送られる信号を生成する。同時に、ライト回路118bは、データ・ワードWORD2の第2のデータ・ビットを受信し、そのバッファ回路は、ストローブ生成器149に転送される同様の信号をワン・ショット回路142bに送る。ここでも、ストローブ生成器149では、これらの信号を組み合わせたのち、1対2デマルチプレクサ162を介して出力線145に送信して、多重ラッチ回路33のラッチ35、36を起動する。
【0095】
上述したように、第1のデータ・ワード(WORD1)は第2のデータ・ワード(WORD2)とは異なっている。ストローブ生成器149は、この差異を認識してローカル・ラッチ・パルス170、171を発する。すなわち、データ・ワードWORD1を送信すると、ストローブ生成器149は、ワン・ショット回路142a、142b、143が出力するパルスをすべて受信したのち組み合わせて線144にローカル・ラッチ・パルス170を生成する。これにより、多重ラッチ回路33のラッチ34は、データ・ワードを受信することができるようになる。
【0096】
しかし、WORD3はWORD2と同一であるから、ストローブ生成器149は、ローカル・ラッチ・パルスを生成しない。したがって、制御装置10がグローバル・ラッチ・ストローブDQSをパルス172として送信する必要がある。このグローバル・ラッチ・ストローブDQSの立ち上がりエッジは、ストローブ生成器149の出力線144にパルス173を生成するのに使う。このパルス173によって、多重ラッチ回路33を通じてWORD3をラッチする。
【0097】
WORD4はWORD3とは異なるから、WORD1とWORD2に関連して上述したように、ローカル・ラッチ・パルス174を生成する。
【0098】
図10、図11、図12を参照して、本発明のリード回路とその動作を説明する。図10は、本発明の改良されたリード回路219a、219bを、新しく高速のDDR DRAMを用いたコンピュータと共に使用するように設計されたストローブ回路223のリード部223bと共に示すブロック図である。図11は、図10のリード回路が出力するデータをコンピュータに転送するのに使用する、本発明の制御回路を示すブロック図である。図12は、コンピュータの記憶アレイ21に格納されているデータ・ワードを読み出すのに必要な様々なクロックやデータのパルスを示す図である。無論、本発明は新しく高速のDDR DRAMの他に古くて遅いDDR DRAMも扱うこともできる、という点を理解すべきである。
【0099】
本発明の以下の説明では、リード回路219aはリード回路219bと同一であるから、リード回路219aとその動作しか詳細には説明しない、という点に留意されたい。また、図10のリード回路に使われているいくつかの回路は図4に示したリード回路と実質的に同一であるから、これら同一の回路要素は、図4で使用した符号によって識別する。
【0100】
各リード回路は、図10に示すように、記憶アレイ21から読み出すべきデータを選択するように設計されたポインタ回路60を備えている。そのように選択したデータは、記憶アレイ21がマルチプレクサ61を通じてリード・データ駆動回路63に送る。リード・データ駆動回路63は、読み出したデータをバス17を介して制御装置10に供給する。
【0101】
ここでも、使用しているリード回路の数に関係なく、回路ブロック219のすべてのリード回路の面倒を見るのに必要な、ストローブ回路223のリード部223bは、たった1つしか必要としない。ストローブ回路223のリード部223bは、初期化・有効化回路64、トグル回路65、データ比較回路80、および、線22を介して制御装置10に接続されたストローブ駆動回路66を備えている。ここでも、ポインタ回路60は、2個の入力を有する。第1の入力は、システム・クロック14が駆動しているデータ遅延位相調整クロック26が出力するDDLクロック67である。第2の入力は、制御装置10が出力する外部アドレス供給16である。DDLクロックは、初期化・有効化回路64、トグル回路65、およびデータ比較回路80にも接続されている。線16上の外部アドレス供給Aoは、制御装置10が供給するものであり、記憶アレイ21から読み出すべきデータ・ワードの第1のビットを選択するのに使う。
【0102】
図11は、図10に示したリード回路が出力するデータを制御論理回路12に転送するのに使う従来技術の制御装置回路の部分のブロック図である。制御装置10のこの部分は、図11に示すように、図10のリード回路の数と等しい複数の同一の回路218a、218bを備えている。図11は、本発明の改良された制御装置リード転送回路218a、218bを、新しく高速のDDR DRAMを用いたシステムと共に使うように設計された、改良されたストローブ回路223の部分223aと共に示すブロック図である。ここで、本発明は古くて遅いDDR DRAMをも扱うことができる、という点を理解すべきである。
【0103】
本発明の以下の説明では、制御装置リード転送回路ブロック218のすべての回路は互いに同一であると共に、図6に示したものと実質的に同一である、という点に留意されたい。したがって、リード転送回路218aはリード転送回路218bと同一であるから、リード転送回路218aしか詳細には説明しない。図11に示したリード転送回路の回路要素のうち、図6に示したライト回路で使用した回路要素と同一のものは、図6で使用したのと同じ符号によって識別する。
【0104】
リード転送回路218aは、データ・バス17の複数のデータ線のうちの1本に接続されたデータ受信器30を備えており、データ・バッファ回路131と多重ラッチ回路33を通じて記憶アレイ21に接続されている。リード転送回路218aのデータ・バッファ回路131は、ワン・ショット回路142aを介してストローブ生成器149にも接続されている。同様に、リード転送回路218bも、ワン・ショット回路142bを介してストローブ生成器149に接続されている。ストローブ回路223の部分223aは、ストローブ信号線22を介して制御装置10に接続された受信器140、ストローブ・バッファ回路141を備えている。ストローブ・バッファ回路141の出力は、遅延回路132とワン・ショット回路143を介してストローブ生成器149に接続されている。ストローブ生成器149の出力は、図6に示したのと同じ方法で、多重ラッチ回路33に接続されている。
【0105】
図11に示すストローブ生成器149は、図8に示したものと同一であり、同一の方法で動作するように設計されている。
【0106】
ここで、リード転送回路が3個以上ある場合、各リード転送回路はそれぞれのワン・ショット回路を通じてストローブ生成器149に接続する、という点を理解すべきである。すなわち、リード転送回路が16個あっても、各リード転送回路は、それぞれのワン・ショット回路を通じてストローブ生成器149に接続する。
【0107】
当業者が容易に理解できるように、図11に示す回路は、図10に示したリード回路からデータを転送する点において、図6に示した回路と実質的に同一の方法で動作する。したがって、制御論理回路12の動作は、これ以上説明しない。
【0108】
次に、特に図12を参照するが、図10も引き続き参照して、記憶アレイ21からデータを読み出すのに本発明が使用するプロトコルを簡明に説明する。
【0109】
記憶アレイ21から読み出すべきデータ・ストリームは、以前に記憶アレイ21に書き込んだプリアンブルと4個のデータ・ワード(WORD1、WORD2、WORD3、WORD4)から成るものと仮定する。
【0110】
始めに、システム・クロックCKとデータ遅延クロックDDLの双方が、図12に示すように走っている。パルス17a、17b、17c、17d、17eから分かるように、DDLクロックは、システム・クロック14の2倍の速度で走っている。記憶アレイ21からデータを読み出す場合、DDLパルス174bを受信するのと同時にストローブDQSを負に駆動してプリアンブル・モードにする。DDLパルス174bは、マルチプレクサ61、データ駆動回路63、トグル回路65、初期化・有効化回路64も駆動すると共に、制御装置10が線16を介して送ってくる外部アドレス供給信号Aoと一緒にポインタ回路60を駆動してプリアンブル・ワード(WORD0)の第1のビットを選択して、データ・アイ180の間に記憶アレイ21からプリアンブル・ワード(WORD0)を読み出す。同時に、リード回路119bが、プリアンブル・ワードの第2のビットを同様にして転送する(読み出す)。プリアンブル・ワード(WORD0)を成すすべてのビットは、比較回路80に送られ、そこで保持される。
【0111】
プリアンブル・ワードの第1のビットは、データ・アイ180の間にリード回路219aのマルチプレクサ61を通じてリード・データ駆動回路63に転送され、そこから制御装置10に送られる。
【0112】
トグル回路65は、初期化・有効化回路64によって初期化されているので、DDLクロック・パルスによって切り替えられて、「1」と「0」の繰り返しを生成する。この「1」と「0」の繰り返しは、ストローブ駆動回路66に供給されて、第1のリード・データ・ワード(WORD1)を制御装置10に転送する状態にそれをセットする。
【0113】
次のDDLパルス174cが始まると、データ・アイ181の間に記憶アレイ21からデータ・ワードWORD1が読み出される。上述したように、このデータ・ワードWORD1を成すすべてのビットも、比較回路80に送られ、そこでプリアンブル・ワードと比較される。第1のデータ・ワード(WORD1)はプリアンブル・ワードとは異なるから、比較回路80は、トグル回路65をそのままの状態に維持してトグル回路65がグローバル・ストローブDQSを駆動していようにする。その結果、グローバル・ストローブDQSは負に維持されたまま、今度はデータ・アイ182の間に記憶アレイ21から第2のデータ・ワード(WORD2)を読み出す。
【0114】
第1のデータ・ワード(WORD1)が読み出されたので、第1のデータ・ワード(WORD1)とは異なる、データ・ストリーム中の第2のデータ・ワード(WORD2)を、ストローブDQSを負の状態に維持したままデータ・アイ182の間に記憶アレイ21から読み出すことができる。その後、第3のデータ・ワード(WORD3)は先行する第2のデータ・ワード(WORD2)と同一であるから、ストローブDQSを正に駆動してデータ・アイ183の間に第3のデータ・ワード(WORD3)を読み出すことができるようにする必要がある。
【0115】
本発明によれば、データ・ワード中の変化すなわち状態遷移に基づいてデータ・ビットが自己ラッチされるようにすることにより、ストローブとデータ・ワードとの位置合わせにおけるタイミングが緩和される。この結果、ストローブは、データに状態遷移がない場合にしか必要としない。また、実効データ・アイを極めて大きくとることができる(例えばWORD2のデータ・アイ182とWORD3のデータ・アイ183を1つのデータ・アイとみなすことができる)。これにより、高速のデータ転送速度と、それに対応して小さなデータ・アイを使用することが可能になる。
【0116】
以上で、本発明の好適な実施形態の説明を終える。ここで述べた本発明の範囲の内で上述した構成を変更することができるから、上述した説明に含まれる、または添付図面に示されているすべての事項は、説明を目的としたものとして解釈すべきであり、限定を意味するように解釈すべきではない。したがって、他の置換や変更は特許請求の範囲に開示した本発明の本旨と範囲の内のものである、ということは、当業者にとって明らかである。
【0117】
まとめとして以下の事項を開示する。
(1)複数のダブル・データ・レートDRAMを搭載し、制御装置、制御論理回路、システム・クロック、記憶アレイを含む記憶装置、内部クロック、データ遅延クロック、ストローブ回路、前記記憶アレイにデータを書き込む複数のライト回路、前記記憶アレイからデータを読み出す複数のリード回路、および、ライト・ストローブ回路を備えたコンピュータであって、
前記ライト回路は、各々、データ受信回路、ライト・バッファ回路、および、第1のバスを介して前記制御装置に接続された遅延回路を備え、前記制御装置からデータを受け取り、多重ラッチ回路を通じて前記記憶アレイに前記データを書き込み、
前記ライト・ストローブ回路は、複数の入力を有するストローブ生成器を備え、前記入力は各々複数のワン・ショット回路のうちの1つに接続されており、前記複数のワン・ショット回路のうちの第1のものはストローブ受信器に接続されており、残りの複数のワン・ショット回路は各々前記ライト回路のうちの1つのライト・バッファに接続されており、
前記ストローブ生成器はさらに前記多重ラッチ回路に接続された複数の出力を備えている
コンピュータ。
(2)前記多重ラッチ回路が直列に接続された複数のデータ・ビット・ラッチを有する第1および第2の並列経路を備えている、
上記(1)に記載のコンピュータ。
(3)前記ストローブ生成器が、
自身に接続されたすべてのワン・ショット回路の出力を組み合わせ、受信したすべての個別パルスの状態に基づいて単一の出力パルスを生成し、
この単一のパルスを、前記第1の並列経路の1対のデータ・ビット・ラッチ、および、前記第2の並列経路のデータ・ビット・ラッチに送る、
上記(2)に記載のコンピュータ。
(4)前記ストローブ生成器が、
OR回路の第1の入力に接続された共通の出力を有する1対の交差接続されたNOR回路から成るストローブ生成ラッチ
を備え、
前記OR回路は余分の入力を備えており、この余分の入力は前記複数のワン・ショット回路のうちの1つに接続されており、
前記OR回路はさらにトグル回路および1対2デマルチプレクサに接続された出力を備えている、
上記(1)に記載のコンピュータ。
(5)前記ストローブ生成ラッチが
第1および第2の交差接続されたNOR回路
を備え、
第1のNOR回路は、第1および第2の入力ならびに1つの出力を有する2入力NORであって、第1の入力はストローブ駆動のワン・ショット回路に接続されており、第2の入力は第2のNOR回路の出力に接続されており、前記出力は第2のNOR回路の第1の入力に接続されており、
前記第2のNOR回路は、前記第1の入力の他に自身に接続されているワン・ショット回路の数に等しい複数個の余分の入力および1つの出力を備えており、前記複数個の余分の入力は各々ワン・ショット回路のそれぞれの出力に接続されており、前記出力は前記第1のNOR回路の前記第2の入力およびOR回路の入力に接続されている、
上記(3)に記載のコンピュータ。
(6)前記リード回路が、各々、記憶アレイから読み出すべきデータを選択するポインタ回路、マルチプレクサ、読み出したデータを前記第1のバスを介して前記制御装置に配送するリード・データ駆動回路、初期化・有効化回路を備えたリード・ストローブ回路、トグル回路、データ比較回路、および、前記制御装置に接続された駆動回路を備えている、
上記(1)に記載のコンピュータ。
(7)前記ポインタ回路は1対の入力を有し、第1の入力はデータ遅延クロックに接続されており、第2の入力は前記制御装置が出力する外部アドレス供給に接続されており、
前記データ遅延回路は前記初期化・有効化回路、前記トグル回路、および前記データ比較回路に接続されており、
前記外部アドレス供給は前記記憶アレイから読み出すべきデータ・ワードの第1のビットを選択するように前記制御装置が供給する、
上記(6)に記載のコンピュータ。
(8)
前記制御装置はデータ転送回路を複数組備えており、
データ転送回路の第1の組は、1組の制御論理回路から第1のストローブ回路に接続された前記ライト回路にデータを転送し、
データ転送回路の第2の組は、前記リード回路から第2のストローブ回路に接続された前記組の制御論理回路にデータを転送し、
データ転送回路の前記第1の組の各データ転送回路は、
前記ライト回路に書き込むべきデータを受信する論理回路を駆動するように設計されたポインタ回路と、
前記組の制御論理回路に接続されたマルチプレクサと、
前記マルチプレクサに接続されると共に前記第1のバスを介して前記ライト回路に接続された第1のデータ駆動回路と
を備え、
前記組の制御論理回路に接続された前記第1のストローブ回路は、
初期化・有効化回路、トグル回路、および、第2のバスを介してライト回路に接続された第1のストローブ駆動回路と、
前記ストローブに接続されたデータ遅延クロック、前記マルチプレクサ、前記第1の駆動回路、および、前記ポインタ回路と
を備え、
データ転送回路の前記第2の組の各データ転送回路は、
バッファ回路を通じて接続された第1のデータ・バス、および、前記制御装置に接続された複数の個々のラッチを備えた多重ラッチ回路
を備え、
ストローブ回路は第2のストローブ信号線を介して前記リード回路に接続されたストローブ受信器を備え、
前記第2のストローブ信号線は、さらにストローブ・バッファ回路、遅延回路、および、自身に導入されるすべてのストローブ信号の先行エッジすなわち立ち上がりエッジと後行エッジすなわち立ち下がりエッジの双方を検出するように設計されたワン・ショット回路を通じて、ストローブ生成器、前記多重ラッチ回路の様々なラッチに接続されており、
前記多重ラッチ回路は、第1、第2、第3、第4、第5の個別のデータ・ビット・ラッチを備え、これらのデータ・ビット・ラッチは各々第1および第2の入力と単一の出力を有し、前記記憶アレイへのデータの転送の間のすべての不一致やエラーをならすように内部接続されている、
上記(1)に記載のコンピュータ。
(9)前記第1、第2、第3のラッチは第1の経路に直列に配置されており、前記第4、第5のラッチは前記第1の経路と平行な第2の経路に直列に配置されており、
前記第1および第4のラッチは前記第1のバスを介して共通の出力に接続された第1の入力を有し、前記第1のラッチは前記ストローブ生成器の第1の出力に接続された第2の入力を有し、
前記第2および第4のラッチは前記ストローブ生成器の第2の出力に共通接続された第2の入力を有し、
前記第3および第5のラッチは前記内部クロックに共通接続された第2の入力を有する、
上記(8)に記載のコンピュータ。
(10)複数のDRAMを搭載し、システム・クロック、ストローブ生成器を内蔵するストローブ回路を備えた制御装置、複数のリード転送回路、複数のライト転送回路、記憶アレイを含む記憶装置、内部クロック、データ遅延クロック、データ・バスを介して前記記憶アレイにデータを書き込む複数のライト回路、および、前記データ・バスを介して前記記憶アレイからデータを読み出す複数のリード回路を備え、前記リード回路および前記ライト回路が前記ストローブ回路に接続されているコンピュータを操作する方法であって、
前記データ・バスにプリアンブル・パルスを供給して前記データ・バスを、選択した電圧レベルに設定したのち、プリアンブル・データ・ワードを供給するステップと、
前記ストローブ生成器で前記記憶アレイに書き込む第1のデータ・ワードのデータ・ビットと前記プリアンブル・データ・ワードのデータ・ビットとを比較し、前記記憶アレイに書き込む第1のデータ・ワードのデータ・ビットと前記プリアンブル・データ・ワードのデータ・ビットとの間に差異が発見された場合に前記ストローブ生成器で入来するデータ・ワードをラッチするローカル・ラッチ・ストローブを生成し、前記記憶アレイに書き込む第1のデータ・ワードのデータ・ビットと前記プリアンブル・データ・ワードのデータ・ビットとの間に差異が発見さなかった場合に前記データ・バスの状態を維持するステップと、
前記ストローブ生成器で前記記憶アレイに書き込む引き続くデータ・ワードのデータ・ビットと前記記憶アレイに直前に先行して書き込んだデータ・ワードのデータ・ビットとを比較し、前記ストローブ生成器で前記記憶アレイに書き込む引き続くデータ・ワードのデータ・ビットと前記記憶アレイに直前に先行して書き込んだデータ・ワードのデータ・ビットとの間に差異が発見された場合に前記ストローブ生成器で入来するデータ・ワードをラッチするローカル・ラッチ・ストローブを生成し、前記ストローブ生成器で前記記憶アレイに書き込む引き続くデータ・ワードのデータ・ビットと前記記憶アレイに直前に先行して書き込んだデータ・ワードのデータ・ビットとの間に差異が発見されなかった場合に前記データ・バスの状態を維持するステップと、
前記記憶アレイから読み出す第1のデータ・ワードのデータ・ビットと直前に読み出したデータ・ワードのデータ・ビットとの間に差異が存在しない場合、または、前記記憶アレイに書き込むデータ・ワードのデータ・ビットと直前に書き込んだデータ・ワードのデータ・ビットとの間に差異が存在しない場合にだけ前記ストローブ生成器でグローバル・ストローブ・パルスを生成することにより、データ転送速度を速めるステップと
を備えた方法。
【図面の簡単な説明】
【図1】 リード回路とライト回路を用いたコンピュータのブロック図である。
【図2】 現在使われている従来技術のDDRライト回路を組み込んだコンピュータのブロック図である。
【図3】 図2の回路を使ってコンピュータのメモリ・バンクにデータを書き込む時の様々なクロックとデータ・パルスを示す図である。
【図4】 現在使われている従来技術のDDRリード回路のブロック図である。
【図5】 図4の回路を使ってコンピュータのメモリ・バンクからデータを読み出す時の様々なクロックとデータ・パルスを示す図である。
【図6】 本発明のDDRライト回路のブロック図である。
【図7】 制御装置から図6のライト回路にデータを転送するのに使う、本発明の制御回路のブロック図である。
【図8】 図6に示すストローブ生成器のブロック図である。
【図9】 図6のライト回路を使ってコンピュータのメモリ・バンクにデータを書き込む時の様々なクロックとデータ・パルスを示す図である。
【図10】 本発明のDDRリード回路のブロック図である。
【図11】 図10のリード回路からコンピュータにデータを転送するのに使う、本発明の制御回路のブロック図である。
【図12】 図10のリード回路を使ってコンピュータのメモリ・バンクからデータを読み出す時の様々なクロックとデータ・パルスを示す図である。
【符号の説明】
10…制御装置、11…メモリ、14…システム・クロック、17…バス、18…ライト・ブロック、18a…ライト回路、18b…ライト回路、19…リード・ブロック、21…記憶アレイ、22…ストローブ信号線、23…ストローブ回路、23a…ライト部、23b…リード部、24…線、25…バス、26…データ遅延位相調整ブロック、27…内部クロック、28…バス、29…線、30…データ受信器、31…ライト・バッファ回路、32…遅延回路、33…多重ラッチ回路、34…データ・ビット・ラッチ、35…データ・ビット・ラッチ、36…データ・ビット・ラッチ、37…データ・ビット・ラッチ、38…データ・ビット・ラッチ、40…ストローブ受信器、41…ストローブ・バッファ回路、42…ワン・ショット回路、44…出力線、45…出力線、46…パルス、47…パルス、48…パルス、49…パルス、55…データ・アイ、56…データ・アイ、57…データ・アイ、58…データ・アイ、60…ポインタ回路、61…マルチプレクサ回路、63…リード・データ駆動回路、64…初期化・有効化回路、65…トグル回路、66…ストローブ駆動回路、69a…パルス、69b…パルス、69c…パルス、69d…パルス、70a…パルス、70b…パルス、70c…パルス、70d…パルス、70e…パルス、80…データ比較回路、118…ライト回路ブロック、118a…ライト回路、118b…ライト回路、119…制御装置転送回路、119a…データ・ビット選択・転送回路、119b…データ・ビット選択・転送回路、123…ストローブ回路、123a…ライト部、131…データ・バッファ回路、140…ストローブ受信器、141…ストローブ・バッファ回路、142a…ワン・ショット回路、142b…ワン・ショット回路、143…ワン・ショット回路、149…ストローブ生成器、150…ラッチ、151…NOR回路、151c…出力、152…NOR回路、152a…入力、152b…入力、154…OR回路、156…パルス、157…パルス、158…パルス、159…パルス、161…トグル回路、162…1対2デマルチプレクサ、211…制御論理、218a…リード転送回路、218b…リード転送回路、219a…リード回路、219b…リード回路、223…ストローブ回路、223b…リード部。
Claims (10)
- 複数のダブル・データ・レートDRAMを搭載し、制御装置と、前記制御装置に夫々接続された制御論理回路およびシステム・クロックと、前記制御装置および前記システム・クロックに接続された記憶装置とを備え、前記記憶装置が、記憶アレイと、前記システム・クロックに夫々接続された内部クロックおよびデータ遅延クロックと、前記制御装置および前記データ遅延クロックに接続されたストローブ回路と、前記制御装置、前記内部クロックおよび前記ストローブ回路に接続され、前記記憶アレイにデータを書き込む複数のライト回路と、前記制御装置、前記データ遅延クロックおよび前記ストローブ回路に接続され、前記記憶アレイからデータを読み出す複数のリード回路とを含む、コンピュータであって、
前記ライト回路は、各々、データ受信回路、ライト・バッファ回路、および遅延回路を備え、第1のバスを介して前記制御装置に接続され、前記制御装置からデータを受け取り、多重ラッチ回路を通じて前記記憶アレイに前記データを書き込み、
前記ストローブ回路は、複数の入力を有するストローブ生成器を備え、前記入力は各々複数のワン・ショット回路のうちの1つに接続されており、前記複数のワン・ショット回路のうちの第1のものは前記制御装置からのストローブ信号を受信するストローブ受信器に接続されており、残りの複数のワン・ショット回路は各々前記ライト回路のうちの1つのライト・バッファに接続されており、
前記ストローブ生成器はさらに前記多重ラッチ回路に接続された複数の出力を備えている
コンピュータ。 - 前記多重ラッチ回路が直列に接続された複数のデータ・ビット・ラッチを有する第1および第2の並列経路を備えている、
請求項1に記載のコンピュータ。 - 前記ストローブ生成器が、
自身に接続されたすべてのワン・ショット回路の出力を組み合わせ、受信したすべての個別パルスの状態に基づいて単一の出力パルスを生成し、
この単一のパルスを、前記第1の並列経路の1対のデータ・ビット・ラッチ、および、前記第2の並列経路のデータ・ビット・ラッチに送る、
請求項2に記載のコンピュータ。 - 前記ストローブ生成器が、
1対の交差接続されたNOR回路から成り、この1対のNOR回路の共通の出力がOR回路の第1の入力に接続されたストローブ生成ラッチを備え、
前記OR回路は余分の入力を備えており、この余分の入力は、各々、前記複数のワン・ショット回路のうちの1つに接続されており、
前記OR回路はさらにトグル回路および1対2デマルチプレクサに接続された出力を備えている、
請求項1に記載のコンピュータ。 - 前記ストローブ生成器が
第1および第2の交差接続されたNOR回路を備え、
第1のNOR回路は、第1および第2の入力ならびに1つの出力を有する2入力NORであって、第1の入力はストローブ駆動のワン・ショット回路に接続されており、第2の入力は第2のNOR回路の出力に接続されており、前記出力は第2のNOR回路の第1の入力に接続されており、
前記第2のNOR回路は、前記第1の入力の他に自身に接続されているワン・ショット回路の数に等しい複数個の余分の入力および1つの出力を備えており、前記複数個の余分の入力は各々ワン・ショット回路のそれぞれの出力に接続されており、前記出力は前記第1のNOR回路の前記第2の入力およびOR回路の入力に接続されている、
請求項1に記載のコンピュータ。 - 前記リード回路が、各々、記憶アレイから読み出すべきデータを選択するポインタ回路、マルチプレクサ、読み出したデータを前記第1のバスを介して前記制御装置に配送するリード・データ駆動回路を備え、前記ストローブ回路が、初期化・有効化回路、トグル回路、データ比較回路、および、前記制御装置に接続された駆動回路を備えている、
請求項1に記載のコンピュータ。 - 前記ポインタ回路は1対の入力を有し、第1の入力は前記データ遅延クロックに接続されており、第2の入力は前記制御装置が出力する外部アドレス供給に接続されており、
前記データ遅延クロックは前記初期化・有効化回路、前記トグル回路、および前記データ比較回路に接続されており、
前記外部アドレス供給は前記記憶アレイから読み出すべきデータ・ワードの第1のビットを選択するように前記制御装置が供給する、
請求項6に記載のコンピュータ。 - 前記制御装置はデータ転送回路を複数組備えており、
データ転送回路の第1の組は、第1のストローブ回路に接続され、1組の制御論理回路から前記ライト回路にデータを転送し、
データ転送回路の第2の組は、第2のストローブ回路に接続され、前記リード回路から前記組の制御論理回路にデータを転送し、
データ転送回路の前記第1の組の各データ転送回路は、
前記ライト回路に書き込むべきデータを受信する論理回路を駆動するように設計されたポインタ回路と、
前記組の制御論理回路に接続されたマルチプレクサと、
前記マルチプレクサに接続されると共に前記第1のバスを介して前記ライト回路に接続された第1のデータ駆動回路と
を備え、
前記組の制御論理回路に接続された前記第1のストローブ回路は、
初期化・有効化回路、トグル回路、データ比較回路、および、第2のバスを介してライト回路に接続された第1のストローブ駆動回路と、
を備え、
データ転送回路の前記第2の組の各データ転送回路は、
バッファ回路を通じて接続された第1のデータ・バス、および、前記制御装置に接続された複数の個々のラッチを備えた多重ラッチ回路
を備え、
前記第2のストローブ回路は第2のストローブ信号線を介して前記リード回路に接続されたストローブ受信器を備え、前記第2の組の各データ転送回路の前記バッファ回路からの入力を有し、
前記第2のストローブ信号線は、さらにストローブ・バッファ回路、遅延回路、および、自身に導入されるすべてのストローブ信号の先行エッジすなわち立ち上がりエッジと後行エッジすなわち立ち下がりエッジの双方を検出するように設計されたワン・ショット回路を通じて、第2のストローブ生成器、前記第2の組の各データ転送回路の前記多重ラッチ回路の様々なラッチに接続されており、
前記第2の組の各データ転送回路の前記多重ラッチ回路は、第1、第2、第3、第4、第5の個別のデータ・ビット・ラッチを備え、これらのデータ・ビット・ラッチは各々第1および第2の入力と単一の出力を有し、前記記憶アレイへのデータの転送の間のすべての不一致やエラーをならすように内部接続されている、
請求項1に記載のコンピュータ。 - 前記第1、第2、第3のラッチは第1の経路に直列に配置されており、前記第4、第5のラッチは前記第1の経路と平行な第2の経路に直列に配置されており、
前記第1および第4のラッチは前記第1のバスを介して共通の出力に接続された第1の入力を有し、前記第1のラッチは前記第2のストローブ生成器の第1の出力に接続された第2の入力を有し、
前記第2および第4のラッチは前記第2のストローブ生成器の第2の出力に共通接続された第2の入力を有し、
前記第3および第5のラッチは前記内部クロックに共通接続された第2の入力を有する、
請求項8に記載のコンピュータ。 - 複数のDRAMを搭載し、システム・クロックと、複数のリード転送回路および複数のライト転送回路を備え、前記システム・クロックに接続された制御装置と、記憶アレイ、ストローブ生成器を内蔵し前記制御装置に接続されたストローブ回路、前記システム・クロックに接続された内部クロックおよびデータ遅延クロック、前記制御装置、前記ストローブ回路および前記内部クロックに接続され、データ・バスを介して前記記憶アレイにデータを書き込む複数のライト回路、および、前記制御装置、前記ストローブ回路および前記データ遅延クロックに接続され、前記データ・バスを介して前記記憶アレイからデータを読み出す複数のリード回路を備えた記憶装置と、含むコンピュータを操作する方法であって、
前記データ・バスにプリアンブル・パルスを供給して前記データ・バスを、選択した電圧レベルに設定したのち、プリアンブル・データ・ワードを供給するステップと、
前記ストローブ生成器で前記記憶アレイに書き込む第1のデータ・ワードのデータ・ビットと前記プリアンブル・データ・ワードのデータ・ビットとを比較し、前記記憶アレイに書き込む第1のデータ・ワードのデータ・ビットと前記プリアンブル・データ・ワードのデータ・ビットとの間に差異が発見された場合に前記ストローブ生成器で入来するデータ・ワードをラッチするローカル・ラッチ・ストローブを生成し、前記記憶アレイに書き込む第1のデータ・ワードのデータ・ビットと前記プリアンブル・データ・ワードのデータ・ビットとの間に差異が発見さなかった場合に前記データ・バスの状態を維持するステップと、
前記ストローブ生成器で前記記憶アレイに書き込む引き続くデータ・ワードのデータ・ビットと前記記憶アレイに直前に先行して書き込んだデータ・ワードのデータ・ビットとを比較し、前記ストローブ生成器で前記記憶アレイに書き込む引き続くデータ・ワードのデータ・ビットと前記記憶アレイに直前に先行して書き込んだデータ・ワードのデータ・ビットとの間に差異が発見された場合に前記ストローブ生成器で入来するデータ・ワードをラッチするローカル・ラッチ・ストローブを生成し、前記ストローブ生成器で前記記憶アレイに書き込む引き続くデータ・ワードのデータ・ビットと前記記憶アレイに直前に先行して書き込んだデータ・ワードのデータ・ビットとの間に差異が発見されなかった場合に前記データ・バスの状態を維持するステップと、
前記記憶アレイから読み出す第1のデータ・ワードのデータ・ビットと直前に読み出したデータ・ワードのデータ・ビットとの間に差異が存在しない場合、または、前記記憶アレイに書き込むデータ・ワードのデータ・ビットと直前に書き込んだデータ・ワードのデータ・ビットとの間に差異が存在しない場合にだけ前記ストローブ生成器でグローバル・ストローブ・パルスを生成することにより、データ転送速度を速めるステップと
を備えた方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/689,090 US6529993B1 (en) | 2000-10-12 | 2000-10-12 | Data and data strobe circuits and operating protocol for double data rate memories |
US09/689090 | 2000-10-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002182974A JP2002182974A (ja) | 2002-06-28 |
JP3730898B2 true JP3730898B2 (ja) | 2006-01-05 |
Family
ID=24766999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001311731A Expired - Fee Related JP3730898B2 (ja) | 2000-10-12 | 2001-10-09 | データ・ストローブ・プロトコルを使用した主記憶装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6529993B1 (ja) |
JP (1) | JP3730898B2 (ja) |
KR (1) | KR100417780B1 (ja) |
TW (1) | TWI221963B (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6651122B2 (en) * | 2000-12-07 | 2003-11-18 | Micron Technology, Inc. | Method of detecting a source strobe event using change detection |
US7002378B2 (en) * | 2000-12-29 | 2006-02-21 | Intel Corporation | Valid data strobe detection technique |
US7062625B1 (en) * | 2001-09-14 | 2006-06-13 | Denali Software, Inc. | Input/output cells for a double data rate (DDR) memory controller |
DE10146149B4 (de) * | 2001-09-19 | 2004-04-29 | Infineon Technologies Ag | Schaltungsanordnung zum Empfang eines Datensignals |
US6909315B2 (en) * | 2002-03-20 | 2005-06-21 | International Business Machines Corporation | Data strobe signals (DQS) for high speed dynamic random access memories (DRAMs) |
US7171574B2 (en) | 2003-02-18 | 2007-01-30 | Marvell Semiconductor Israel Ltd. | DDR clocking |
JP2004287691A (ja) * | 2003-03-20 | 2004-10-14 | Renesas Technology Corp | 半導体集積回路 |
US6922367B2 (en) * | 2003-07-09 | 2005-07-26 | Micron Technology, Inc. | Data strobe synchronization circuit and method for double data rate, multi-bit writes |
JP4450586B2 (ja) * | 2003-09-03 | 2010-04-14 | 株式会社ルネサステクノロジ | 半導体集積回路 |
US7031205B2 (en) * | 2003-09-29 | 2006-04-18 | Infineon Technologies North America Corp. | Random access memory with post-amble data strobe signal noise rejection |
US20050073901A1 (en) * | 2003-10-06 | 2005-04-07 | Infineon Technologies North America Corp. | Random access memory with data strobe locking circuit |
US7346095B1 (en) * | 2004-02-20 | 2008-03-18 | Zilog, Inc. | Spread spectrum clock generator with controlled delay elements |
JP4284527B2 (ja) * | 2004-03-26 | 2009-06-24 | 日本電気株式会社 | メモリインターフェイス制御回路 |
WO2006058051A2 (en) * | 2004-11-24 | 2006-06-01 | Qualcomm Incorporated | Methods and systems for updating a buffer |
US7082073B2 (en) * | 2004-12-03 | 2006-07-25 | Micron Technology, Inc. | System and method for reducing power consumption during extended refresh periods of dynamic random access memory devices |
US7543211B2 (en) * | 2005-01-31 | 2009-06-02 | Everspin Technologies, Inc. | Toggle memory burst |
US7120067B2 (en) * | 2005-03-14 | 2006-10-10 | Infineon Technologies Ag | Memory with data latching circuit including a selector |
US7280417B2 (en) * | 2005-04-26 | 2007-10-09 | Micron Technology, Inc. | System and method for capturing data signals using a data strobe signal |
US7123524B1 (en) | 2005-05-13 | 2006-10-17 | Infineon Technologies Ag | Input circuit having updated output signal synchronized to clock signal |
KR100660639B1 (ko) * | 2005-12-02 | 2006-12-21 | 삼성전자주식회사 | 더블 데이터 레이트 반도체 장치의 데이터 출력 회로 및이를 구비하는 반도체 장치 |
JP2008084206A (ja) | 2006-09-28 | 2008-04-10 | Fujitsu Ltd | ストレージ装置およびデータ転送方法 |
US20100014368A1 (en) * | 2008-07-17 | 2010-01-21 | Peter Schneider | System that increases data eye widths |
KR102155190B1 (ko) * | 2014-05-12 | 2020-09-11 | 삼성전자주식회사 | 입력 버퍼 및 이를 포함하는 메모리 장치 |
US9811273B1 (en) * | 2014-12-23 | 2017-11-07 | Cadence Design Systems, Inc. | System and method for reliable high-speed data transfer in multiple data rate nonvolatile memory |
WO2020176448A1 (en) | 2019-02-27 | 2020-09-03 | Rambus Inc. | Low power memory with on-demand bandwidth boost |
JP2021149659A (ja) | 2020-03-19 | 2021-09-27 | キオクシア株式会社 | 半導体集積回路、メモリコントローラ、およびメモリシステム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4712190A (en) | 1985-01-25 | 1987-12-08 | Digital Equipment Corporation | Self-timed random access memory chip |
US4644185A (en) | 1985-05-03 | 1987-02-17 | National Semiconductor Corporation | Self clocking CMOS latch |
US5258952A (en) | 1990-12-14 | 1993-11-02 | Sgs-Thomson Microelectronics, Inc. | Semiconductor memory with separate time-out control for read and write operations |
US5550533A (en) | 1992-12-30 | 1996-08-27 | Intel Corporation | High bandwidth self-timed data clocking scheme for memory bus implementation |
KR100223675B1 (ko) | 1996-12-30 | 1999-10-15 | 윤종용 | 고속동작용 반도체 메모리 장치에 적합한 데이터 출력관련 회로 |
US5877987A (en) | 1997-02-14 | 1999-03-02 | Micron Technology, Inc. | Method and circuit for self-latching data read lines in the data output path of a semiconductor memory device |
US5940337A (en) | 1997-10-23 | 1999-08-17 | Integrated Silicon Solution, Inc. | Method and apparatus for controlling memory address hold time |
US6081477A (en) * | 1998-12-03 | 2000-06-27 | Micron Technology, Inc. | Write scheme for a double data rate SDRAM |
KR100333683B1 (ko) * | 1998-12-30 | 2002-06-20 | 박종섭 | 반도체장치의데이터스트로브신호발생기 |
US6279073B1 (en) * | 1999-09-30 | 2001-08-21 | Silicon Graphics, Inc. | Configurable synchronizer for double data rate synchronous dynamic random access memory |
-
2000
- 2000-10-12 US US09/689,090 patent/US6529993B1/en not_active Expired - Fee Related
-
2001
- 2001-09-28 KR KR10-2001-0060476A patent/KR100417780B1/ko not_active IP Right Cessation
- 2001-10-09 TW TW090124964A patent/TWI221963B/zh not_active IP Right Cessation
- 2001-10-09 JP JP2001311731A patent/JP3730898B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
TWI221963B (en) | 2004-10-11 |
US6529993B1 (en) | 2003-03-04 |
KR100417780B1 (ko) | 2004-02-05 |
KR20020029303A (ko) | 2002-04-18 |
JP2002182974A (ja) | 2002-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3730898B2 (ja) | データ・ストローブ・プロトコルを使用した主記憶装置 | |
JP4159415B2 (ja) | メモリモジュール及びメモリシステム | |
US8654864B2 (en) | System and method for selectively performing single-ended and differential signaling | |
US6658509B1 (en) | Multi-tier point-to-point ring memory interface | |
KR100567065B1 (ko) | 메모리 장치용 입력 회로 | |
US8467486B2 (en) | Memory controller with flexible data alignment to clock | |
KR100512895B1 (ko) | 고속메모리시스템 | |
US6987704B2 (en) | Synchronous semiconductor memory device with input-data controller advantageous to low power and high frequency | |
KR100311334B1 (ko) | 복수의 메모리 모듈과 제어기를 구비한 데이터 고속 전송 시스템 | |
US6324119B1 (en) | Data input circuit of semiconductor memory device | |
TW201142867A (en) | Semiconductor memory device and method for operating the same | |
KR100753421B1 (ko) | 반도체 메모리 장치의 어드레스 래치 회로 | |
JP2004021409A (ja) | メモリシステム及びその制御方法 | |
KR100362193B1 (ko) | 디디알 동기식 메모리 장치의 데이터 출력 장치 | |
KR20050010704A (ko) | 고주파로 동작하는 반도체 메모리 장치 및 모듈 | |
KR20030009032A (ko) | 입출력 인터페이스 및 반도체 집적 회로 | |
KR20210034219A (ko) | 신호 생성 회로 및 이를 이용하는 반도체 장치 | |
KR100933667B1 (ko) | 버스 반전 기술을 적용한 반도체 메모리 장치 | |
KR100224718B1 (ko) | 동기식 메모리장치의 내부 클락 발생기 | |
CN113870914A (zh) | 存储装置、包括其的半导体系统及其操作方法 | |
KR100190373B1 (ko) | 리드 패스를 위한 고속 동기식 메모리 장치 | |
JP3719865B2 (ja) | データ高速転送システム | |
KR100389038B1 (ko) | 레이트 라이트 기능을 갖는 동기형 에스램 장치 | |
KR100486199B1 (ko) | 반도체메모리장치의하이임피던스제어신호발생회로 | |
JP3090104B2 (ja) | 半導体メモリ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040901 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040928 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20041215 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20041220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050328 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050524 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050812 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050818 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050831 |
|
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: 20050920 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051007 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081014 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091014 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091014 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101014 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |