(57)【要約】【課題】信号レベルの遷移数が多いことによるデータ転送を効率の低下を防止すること【解決手段】前記現在のワードはＮ個のビットを有する前のワードと比較され、低レベル値から高レベル値、またはその逆の高レベル値から低レベル値へのビットの遷移の数を識別する。遷移の数がＮ／２よりも多ければ、現在ビットを反転する。反転の有無を表示するためにエクストラビットをデータバイトに付随させなくてもよいように、反転ビットを送るのに通常は書き込み動作中には使用されないデータマスクピンを活用する。【選択図】      図５
2004310700.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ個のビット（該ビットの各々は低レベル値または高レベル値を有する）を有する、書き込むべき現在のワードを検査する工程と、
前記現在のワードとＮ個のビットを有する前のワードとを比較し、前記前のワードにおける前記低レベル値から前記現在のワードにおける前記高レベル値への遷移の数を決定する工程と、
前記遷移の数がＮ／２以上である時に、前記現在のワードを反転する工程と、同期式メモリデバイスへ前記現在のワードを書き込む工程とを備えた、同期式メモリデバイスへ情報を書き込む方法。
【請求項２】
前記現在のワードを反転したことを表示するよう、前記現在のワードと共にデータ反転マスク（ＤＩＭ）ビットを送る工程を更に含む、請求項１記載の方法。
【請求項３】
前記同期式メモリデバイスがＤＲＡＭを含む、請求項１記載の方法。
【請求項４】
前記ワードがデータを表示する、請求項１記載の方法。
【請求項５】
前記ワードがグラフィカルデータを表示する、請求項１記載の方法。
【請求項６】
前記情報が１つ以上のコマンドを表示する、請求項１記載の方法。
【請求項７】
前記情報がアドレス情報を表示する、請求項１記載の方法。
【請求項８】
Ｎ個のビット（該ビットの各々は低レベル値または高レベル値を有する）を有する、読み出すべき同期式メモリデバイス内の現在のワードを検査する工程と、
前記現在のワードとＮ個のビットを有する前のワードとを比較し、前記前のワードにおける前記低レベル値を有するビットから前記現在のワードにおける前記高レベル値を有するビットへの遷移の数を決定する工程と、
前記遷移の数がＮ／２以上である時に、前記現在のワードを反転する工程と、
前記同期式メモリデバイスから前記現在のワードを読み出す工程とを備えた、同期式メモリデバイスから情報を読み出す方法。
【請求項９】
前記現在のワードを反転したことを表示するよう、前記現在のワードと共にデータ反転マスク（ＤＩＭ）ビットを送る工程を更に含む、請求項８記載の方法。
【請求項１０】
前記メモリデバイス上の現在のピンで前記ＤＩＭビットを送る請求項９記載の方法。
【請求項１１】
前記現在のピンがデータマスク（ＤＭ）ピンである請求項１０記載の方法。
【請求項１２】
前記前のワードが未知の時に前記前のワードのすべてが低レベル値を有すると見なす請求項８記載の方法。
【請求項１３】
前記前のワードが未知の時に前記前のワードのすべてが高レベル値を有すると見なす請求項８記載の方法。
【請求項１４】
前記前のワードが未知の時に前記現在のワードを反転しない請求項８記載の方法。
【請求項１５】
後の読み出し動作で前記現在のワードをラッチし、前記前のワードとして使用する請求項８記載の方法。
【請求項１６】
前記情報がデータを含む、請求項８記載の方法。
【請求項１７】
前記情報がグラフィカルデータを含む、請求項８記載の方法。
【請求項１８】
前記情報が１つ以上のコマンドを含む、請求項８記載の方法。
【請求項１９】
前記情報がアドレス情報を含む、請求項８記載の方法。
【請求項２０】
前記同期式メモリデバイスがＤＲＡＭを含む、請求項８記載の方法。
【請求項２１】
前記現在のワードを反転するかどうかによって前記現在のワードをバイアスし、１つの論理値以上を有するように前記前のワードをバイアスするためのバイアス手段を前記システムが有する、請求項８記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータの書き込みおよび読み出しの技術分野に関するものである。
【０００２】
【従来の技術】
デジタルデータは１および０としてメモリデバイスに記憶され、これらデータは「ピン」と称される導電パスを通してメモリデバイスとの間で転送される。データは１および０を示す高レベル信号および低レベル信号のストリングとしてメモリに書き込まれる。低レベル信号と高レベル信号との間で変化が生じるごとに、メモリデバイスの効率が低下する。しかしながら、データはある程度ランダムであるので、変化の数を減少させるようデータを制御する容易な方法はない。メモリデバイスとの間の書き込みを検討すればこの問題は理解できる。
【０００３】
図１はデータソースおよびデータレシーバーのブロック図である。データソース１００はバス１０１を介してデータレシーバー１０２と通信するようになっており、データは「バイト」と称される８ビットのブロックで転送される。各バイトは８本のライン上の８個のデータ信号としてパラレルにデータレシーバー１０２へ送られ、この場合、各信号ラインは送信されるデータに応じて高レベルまたは低レベルとなる。例えば「１」のデータ値が送られる場合、バスラインは高レベル状態となる。送られる次の信号が「０」である場合、バスラインは新しいデータを表示するために低レベル状態まで低下しなければならない。次に続く信号が「１」である場合、バスラインは高レベルの値まで再び上昇しなければならない。これら状態変化はデータ遷移として知られており、これを達成するのに時間およびエネルギーが必要である。データ受信回路１０２に書き込まれる８バイトのデータを示す次のシナリオを検討する。
【０００４】
【表１】
2004310700.tif 000003
【０００５】
上記例における２４ビットのバイト２、３および４でのデータの遷移の総数は２０であり、すなわち８３％である（このことは元のバイトが送られる時にバスの各ラインは低レベル状態にあったとみなすことに留意されたい）。この結果、データ転送システムは動作するのに時間とパワーの点で不利となる。
【０００６】
データ反転方式  従来技術はメモリデバイスへの書き込み時にデータ遷移の数を低減するために「データ反転」として知られる方式を提供している。このデータ反転方式では１バイトと次のバイトとの間のデータ遷移の数を決定し、解析する。遷移の数が４よりも多ければ、送るバイトのデータを反転する。このようにすることにより遷移の数は４未満にされる。この方式は最大５０％の遷移に対し、バイト毎に生じ得る遷移の最大数の限度を４に設定できる。次の表を参照してデータ反転方式の動作について説明する。
【０００７】
【表２】
2004310700.tif 000004
【０００８】
最初のバイトが送られた後に反転をすることなくバイトを送った場合に遷移がどれだけ多くなるかを見るために次のバイトを検査する。ここで、バイトがオール０からオール１に変化した場合、遷移の数は８となる。この８の数は４よりも大であるので、バイトを反転し、オール０とする。このバイトを送る時にバスの各ラインは既に低レベル状態となっているのでデータの遷移はない。次のバイトを検査する際に、送られる実際のバイト（このケースでは反転されたバイト）と次のバイトとを比較し、生じ得る遷移の数を決定する。反転を行わない場合、遷移の数は２となり、この数は４未満であるので、反転を行うことなくバイトを送る。反転を行わないで送った場合、次のバイト（０１１１０１１１）と既に送られたバイトとを比較すると、遷移の数は８となる。従って、バイトを（１０００１０００）に反転し、遷移を起こすことなく送る。反転方式を使って同じデータを送る結果、２４バイトのうち２つの遷移しか生じないことになり、すなわち８．３％の遷移しか生じない。このような改良の結果、データ転送動作が良好となり、より高速となる。
【０００９】
【発明が解決しようとする課題】
このデータ反転方式の欠点は、受信回路からデータを読み出す時にデータだけでなくエキストラビットも正しく使用し、記憶できるよう、データバイトと共にエキストラビットを送らなければならないことである。これらエキストラビットはバス、データ送信回路および受信回路に対して別の書き込みをしなければならないので、システムの費用および複雑さが増すことになる。
【００１０】
【課題を解決するための手段】
本発明は、書き込むべきＮ個のビット（各ビットは高レベル値または低レベル値を有する）の現在のワードを検査することにより、同期式メモリデバイスへ情報を書き込む方法に関する。前記現在のワードはＮ個のビットを有する前のワードと比較され、低レベル値から高レベル値、またはその逆の高レベル値から低レベル値へのビットの遷移の数を識別する。遷移の数がＮ／２よりも多ければ、現在ビットを反転する。反転の有無を表示するためにエクストラビットをデータバイトに付随させなくてもよいように、本発明は反転ビットを送るのに通常は書き込み動作中には使用されないデータマスクピンを活用するものである。反転されないデータは直接メモリデバイスへ書き込まれ、他方、反転されたデータは記憶ロケーションに書き込む前にまず再び反転されるのでメモリデバイスへは真のデータが記憶される。
【００１１】
【発明の実施の形態】
本発明はデータを読み出し、書き込みするための方法および装置に関する。次の説明では本発明の実施例をより完全に説明するために特定の細部が多数記載されている。しかしながら、当業者にはこれら特定の細部の記載がなくても本発明を実施することができることは明らかである。周知の特徴については発明を不明瞭にしないように詳細には説明していない。
【００１２】
現在のところ、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）システムにおいて、データを反転させるための効率的な方式は提供されていない。システムにおいてＤＲＡＭを使用する利点の１つは、ＤＲＡＭが低コストであり、かかるメモリデバイスの商品性にある。データ反転方式を使用するＤＲＡＭが反転情報のためのエクストラピンを必要とする場合、ジェオグラフィが少数のピンしか有しないＤＲＡＭ用となっている多くのアプリケーションではＤＲＡＭを使用することができない。同様に、エクストラピンを有するＤＲＡＭを製造し、販売するための出費によってＤＲＡＭは商業的な発展性がなくなる。
【００１３】
本発明はＤＲＡＭのデータピンに関連するデータマスク（ＤＭ）ピンと称される現行のピンを活用するものである。ＤＭピンは一般にデータ入力端で使用されるが、データ出力端では使用されない。本発明はＤＭによってデータを出力する際にデータの反転をするかしないかを表示する信号を発生するために、データ出力端でＤＭピンを活用するものである。
【００１４】
本発明の好ましい実施例のＤＲＡＭでは、３２個のデータビットＤＱ０〜ＤＱ３１があり、これらデータビットは４つのバイト（各バイトはＤＱ０〜ＤＱ７、ＤＱ８〜ＤＱ１５、ＤＱ１６〜ＤＱ２３およびＤＱ２４〜ＤＱ３１）に分割される。データバイトの各々は関連するデータマスクピンＤＭ０〜ＤＭ３を有し、このデータマスクピンは適当な場合にデータ入力信号をマスクするために書き込み動作中に使用される。ＤＭ１〜ＤＭ３のいずれかが高レベルとなると、同じタイミングでデータ入力信号がマスクされる。
【００１５】
書き込み動作
ＤＲＡＭへの書き込み動作は入進データを反転するか、反転しないかの表示を伴なっていなければならない。ＤＲＡＭが真の状態のデータを記憶できるように、書き込むべきデータと共にデータ反転マスク（ＤＩＭ）ビットが含まれる。図２にはこれを行うための１つの実現例が示されている。ＤＩＭビット２０２と共に、排他的ＯＲゲート２０３に入力信号２０１として入進データが加えられる。ＤＩＭビットが高レベルであると、入進データは反転されているので、データアレイ２０４に記憶する前にＸＯＲゲート２０３を通してこれを再反転する。
【００１６】
読み出し動作
図３は本発明に係わるＤＲＡＭ用読み出し回路を示す。データの各バイトは関連するＤＭピンを有する。例えばデータバイトＤ［７：０］はＤＭ０に関連しており、バイトＤ［１５：８］はＤＭ１に関連しており、バイトＤ［２３：１６］はＤＭ２に関連しており、バイトＤ［３１：２４］はＤＭ３に関連している。読み出し動作中、アレイ３００からデータ入力ピンおよびＤＩＭ発生器、例えば発生器３０１．１〜３０１．４へ直接データが与えられる。ＤＭ発生器は読み出し動作中のデータの遷移を減少させるためにデータを反転すべきか否かを判断する。ＤＩＭ発生器の出力信号はデータビットに関連するＤＭピンに出力される。
【００１７】
図４にはＤＩＭ発生器の一例が示されている。最終データレジスタ４０１は（反転されたか、または反転されていない、実際に送られたままの）最も最近に送られたバイトを記憶する。新データレジスタ４０２は送るべき現在のデータバイトを記憶する。コンパレータ４０３へはレジスタ４０１および４０２の出力信号が与えられる。遷移の数が４より多ければ、コンパレータ４０３はデータバイトと共にＤＭピンに出力すべき高レベル信号を出力する。
【００１８】
バースト動作
ＤＲＡＭからはバーストモードで読み出しが行われることが多い。図５はバーストモードの読み出し動作中の本発明の作動を示すフローチャートである。ブロック５００でバースト読み出しがスタートする。ブロック５１０では前のデータレジスタの信号およびＤＭ信号が低レベルにセットされる。ブロック５２０では現在のデータと前のデータとが比較され、現在のデータを送る際に生じる遷移の数を決定する。判断ブロック５３０では、遷移の数が４よりも多くなるかどうかを見るために遷移の数をチェックする。ＹＥＳであれば、ブロック５４０でデータを反転し、ＤＭを反転する。判断ブロック５３０での結果がＮＯであれば、ブロック５５０でデータを反転せず、前のＤＭの値を維持する。
【００１９】
ブロック５４０または５５０のいずれかの後で判断ブロック５６０にてバースト動作が終了したかどうかの判断を行う。ＹＥＳであれば、プロセスはブロック５７０で終了する。ＮＯであれば、前のデータレジスタに現在データを記憶し、新しいデータバイトを得て、プロセスはブロック５２０へ戻る。
【００２０】
ピンの利点
本発明は、特に読み出し動作のために過剰に多いピン数を必要とすることなく、ＤＲＡＭのためにデータを反転できる能力を提供する利点を有する。通常、読み出し動作では使用されないピン、例えばＤＭピンを使用することにより、本発明は読み出し動作用の増設ピンを用いないでデータ反転を利用するバイト読み出しを可能にしている。
【００２１】
ターミネーション
バースト読み出しの例を参照して既に説明したように、バースト読み出し動作が開始した時にバスは低レベル状態にあったとみなした。このことは必要なことではなく、本発明はかかる方式または仮定に限定されるものではない。バスのターミネーションは下記の多数の方法のうちのいずれかでよい。
【００２２】
Ａ．低レベルへのプル動作−本発明の一実施例ではバスは読み出し後徐々に低レベルにプル動作される。これを行う１つの方法は、本発明の譲受人に譲渡された「ＮＭＯＳターミネーション」を発明の名称とし、２００  年    月    日に出願された継続中の米国特許出願第                号に記載されている。この方式では、バスラインにＮＭＯＳトランジスタが結合されており、ＮＭＯＳトランジスタはある期間の間でバスラインを徐々にアースレベルまで下げる。この方式を使用する際は、すべてのラインが低レベル状態のままで、読み出し動作が開始すると仮定し、データの第１バイト用の遷移の数はこの仮定に基づいて決定される。
【００２３】
Ｂ．高レベルへのプル動作−別の実施例では、バスへの作動後、所定時間の間、すべてのラインを高レベル状態にプルするようＰＭＯＳ終端方式によりバスを高レベルにプル動作できる。この方式における仮定は、読み出し動作の開始時にすべてのラインが高レベルにあり、よってすべての高レベル状態に対する、第１バイトの遷移の数を決定するということである。
【００２４】
Ｃ．中間点レベルでの終端−別の実施例では所定時間にわたってバスラインを中間レベルの状態にプルする。この方式を使用する際に、バスラインを中間レベルの状態から高レベルにプルすることと低レベルにプルすることには違いはないので、読み出し動作における第１バイトは非反転状態のまま送られる。
【００２５】
Ｄ．アンラッチ状態で終端しない動作−この実施例ではバスラインは全くターミネートされず、最初のデータバイトは常にターミネートされない状態で送られる。この結果、第１バイトに対する効率が失われる。その理由は、最初のバイトに対し、遷移の数が５以上となり得るからである。
【００２６】
Ｅ．ラッチ状態で終端しない動作−この実施例はバスラインをバス上の最近のバイトと同じ状態のままにしておき、この値にラッチする。その後の動作に対して、前のバイトレジスタはラッチされた値を含み、最初のバイトとこのラッチされた値とを比較し、遷移の数を決定する。
【００２７】
プロセッサインターフェースロジックアプリケーション
ＤＲＡＭに関連して本発明について説明したが、本発明は他の用途も有する。例えばデータ反転方式を使用できるようにマイクロプロセッサのインターフェースロジックに関連してこの方式を使用できる。図６にはかかる一実施例が示されている。
【００２８】
ＤＲＡＭ６０１は、例えば第１データバンク６０１Ａおよび第２データバンク６０１Ｂを含み、各バンクは関連するＤＩＭ信号６０３Ａおよび６０３Ｂと共に出力バス６０２Ａおよび６０２Ｂを有する（ＤＭピンにはＤＩＭ信号を提供できないことに留意されたい）。メモリコントローラ６０４へはＤＲＡＭの出力信号が与えられる。ＤＲＡＭのデータ出力信号６０２Ａと６０２Ｂとはマイクロプロセッサ６０８への１６ビットバス６０５で組み合わされる。ＤＩＭ信号６０３Ａと６０３ＢとはＸＯＲゲート６０６への入力信号として結合され、マイクロプロセッサ６０８への出力信号６０７を発生する。
【００２９】
パワーの最適化
図７Ａには本発明の読み出しブロックの一実施例が示されている。この実施例はＩ／Ｏがオープンドレイン（すなわちバスは論理１にターミネートされている）の場合、ＤＣパワー最適化を行うようになっている。図７Ａを参照すると、フリップフロップ７０２、コンパレータ７０３およびＮＯＲゲート７０４へは読み出しデータ７０１（８ビット）が結合される。フリップフロップ７０２のイネーブル入力端へは負荷信号７０５が結合される。ＯＲゲート７０６の入力端にはＤＣ最適化信号７０７と共にフリップフロップ７０２の出力信号が結合される。ＤＣ最適化信号は論理「１」であり、この信号はコンパレータブロック７０３の前のデータフィールドへＯＲ演算入力される。このＯＲ演算はコンパレータブロック７０３の出力信号が論理「１」である値の半分よりも大きくならないようにし、ＤＣパワーを節約するのを保証するものである。コンパレータ７０３は現在のデータフィールドと前のデータフィールドとを比較し、異なる値を有するビット数が５以上であるかどうかを見る。そうである場合、出力（ＤＩＮ）は論理「１」であり、ＮＯＲゲート７０４へ与えられ、データの適当な反転が行われる。
【００３０】
バスが論理０にターミネートされる場合、ＤＣ最適化信号を論理「０」とすることができるので、出力端の半分よりも多い出力端が「０」にバイアスされ、これによってもパワーを節約できる。
【００３１】
次に図７Ｂを参照すると、ここには書き込みブロックのブロック図が示されている。フリップフロップ７１１では書き込みデータ７１０（例えば３２ビット）が与えられ、フリップフロップ７１３へはＤＩＭ信号７１２が与えられる。双方のフリップフロップは書き込みにクロック信号７１４によってクロック制御される。これらフリップフロップの出力信号はＮＯＲゲート７１５への入力信号として結合され、メモリアレイに書き込むべきデータを発生する。
【００３２】
以上でデータ伝送に関連して本発明について説明したが、本発明はアドレス信号またはコマンド信号を含むデジタル信号にも同じように適用できる。
【００３３】
以上でメモリデバイスにおけるデータ反転用方法および装置について説明した。
【図面の簡単な説明】
【図１】データソースおよびデータレシーバーのブロック図である。
【図２】デバイスへデータを書き込むための一実施例の図である。
【図３】本発明のＤＲＡＭのための読み出し回路を示す。
【図４】ＤＩＭ発生器の一例である。
【図５】バースト読み出し動作中の本発明の動作を示すフローチャートである。
【図６】マイクロプロセッサインターフェースと共に使用される本発明のブロック図である。
【図７Ａ】本発明の読み出しブロックの別の実施例のブロック図である。
【図７Ｂ】本発明の書き込みブロックの別の実施例である。
【符号の説明】
１００  データソース
１０２  データレシーバー
４０１  最終データレジスタ
４０２  新データレジスタ
４０３  コンパレータ
６０４  メモリコントローラ
６０８  マイクロプロセッサ
【図１】
2004310700.tif 000005
【図２】
2004310700.tif 000006
【図３】
2004310700.tif 000007
【図４】
2004310700.tif 000008
【図５】
2004310700.tif 000009
【図６】
2004310700.tif 000010
【図７Ａ】
2004310700.tif 000011
【図７Ｂ】
2004310700.tif 000012
【外国語明細書】
2004310700.tif 000013
2004310700.tif 000014
2004310700.tif 000015
2004310700.tif 000016
2004310700.tif 000017
2004310700.tif 000018
2004310700.tif 000019
2004310700.tif 000020
2004310700.tif 000021
2004310700.tif 000022
2004310700.tif 000023
2004310700.tif 000024
2004310700.tif 000025
2004310700.tif 000026
2004310700.tif 000027
2004310700.tif 000028
2004310700.tif 000029
2004310700.tif 000030
2004310700.tif 000031
2004310700.tif 000032
2004310700.tif 000033
2004310700.tif 000034
2004310700.tif 000035
2004310700.tif 000036
2004310700.tif 000037