(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5726425
(24)【登録日】2015年4月10日
(45)【発行日】2015年6月3日
(54)【発明の名称】メモリデバイスにおいてデータを反転させるための方法および装置
(51)【国際特許分類】
G06F 12/00 20060101AFI20150514BHJP
【FI】
G06F12/00 560G
G06F12/00 597C
G06F12/00 550E
【請求項の数】7
【全頁数】11
(21)【出願番号】特願2010-48024(P2010-48024)
(22)【出願日】2010年3月4日
(62)【分割の表示】特願2003-129584(P2003-129584)の分割
【原出願日】2003年4月1日
(65)【公開番号】特開2010-118087(P2010-118087A)
(43)【公開日】2010年5月27日
【審査請求日】2010年4月2日
【新規性喪失の例外の表示】特許法第30条第1項適用 平成14年11月 エルピーダメモリ株式会社発行の「ELPIDA DATA SHEET 128M bits Self Terminated Interface DDR SDRAM DC0122A(4M words×32 bits)」に発表
【新規性喪失の例外の表示】特許法第30条第1項適用 平成15年3月13日 インターネットアドレス「http://www.elpida.com/en/news/2003‐03‐13.html」に発表
(73)【特許権者】
【識別番号】503167802
【氏名又は名称】エイティアイ テクノロジーズ インコーポレイテッド
(74)【代理人】
【識別番号】100066692
【弁理士】
【氏名又は名称】浅村 皓
(74)【代理人】
【識別番号】100072040
【弁理士】
【氏名又は名称】浅村 肇
(74)【代理人】
【識別番号】100094673
【弁理士】
【氏名又は名称】林 鉐三
(73)【特許権者】
【識別番号】500174247
【氏名又は名称】マイクロンメモリジャパン株式会社
(74)【代理人】
【識別番号】100066692
【弁理士】
【氏名又は名称】浅村 皓
(74)【代理人】
【識別番号】100072040
【弁理士】
【氏名又は名称】浅村 肇
(72)【発明者】
【氏名】ジョセフ マクリ
(72)【発明者】
【氏名】オルゲ ドレイプキン
(72)【発明者】
【氏名】グリゴーリ テムキン
(72)【発明者】
【氏名】ナガシマ オサム
【審査官】
桜井 茂行
(56)【参考文献】
【文献】
特開平08−314589(JP,A)
【文献】
特開2000−132964(JP,A)
【文献】
特開2002−093168(JP,A)
【文献】
特開2001−006398(JP,A)
【文献】
特開2000−099218(JP,A)
【文献】
特開平09−251336(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00−12/06
G06F 13/16−13/18
G06F 11/34
(57)【特許請求の範囲】
【請求項1】
各々が第1レベル値または第2レベル値を有する複数のビットを有する、読み出すべき同期式メモリデバイス内の現在のワードを検査する工程と、
前記現在のワードと前のワードとを比較し、前記前のワードにおける前記第1レベル値を有するビットから前記現在のワードにおける前記第2レベル値を有するビット又は前記前のワードにおける前記第2レベル値を有するビットから前記現在のワードにおける前記第1レベル値を有するビットへの遷移の数を決定する工程と、
前記遷移の数が閾値以上である時に、前記現在のワードを反転する工程と、
前記メモリデバイスから前記現在のワードを読み出す工程と、
現在のワードが反転されたかを示すために、各ワードに前記同期式メモリデバイスからデータ反転マスクビットを付与する工程とを備え、
該データ反転マスクビットは、書き込み動作中にデータ入力をマスクするために使用される前記同期式メモリデバイスのピンで送られる、同期式メモリデバイスから情報を読み出す方法。
【請求項2】
I/Oピンを有するデータアレイとデータ反転マスク発生器とを含む同期式メモリデバイスであって、
前記データ反転マスク発生器は、前記I/Oピンに作動的に結合され、少なくとも第1のビットセットと第2のビットセット間の遷移数に基づいて、選択的にデータ反転マスクビットを生成し、該データ反転マスクビットは、書き込み動作中にデータ入力をマスクするために使用される前記同期式メモリデバイスのピンで送られる、前記同期式メモリデバイス。
【請求項3】
同期式メモリデバイスであって、
フリップフロップの入力に接続されている読み取りデータバスと、
比較器の第1の入力と、
排他的ORゲートの第1の入力とを含み、
負荷信号は、前記フリップフロップのイネーブル入力に接続され
前記フリップフロップの出力は、ORゲートの第1の入力に接続され、
DC最適化信号は、前記ORゲートの第2の入力に接続され、
前記ORゲートの出力は、前記比較記の第2の入力に接続され、
前記比較器の出力は、読み出し動作中にデータ入力をマスクするために使用される前記同期式メモリデバイスのピンと、前記排他的ORゲートの第2の入力とに接続され、
前記排他的ORゲートの出力は、I/Oピンに接続され、
前記比較器は、現在のビットセットと前のビットセットとを比較し、該現在のビットセットと該前のビットセットとの間の遷移数が閾値を超える場合に高レベルのデータ反転マスクビットを生成する、前記同期式メモリデバイス。
【請求項4】
DRAMを含む同期式メモリデバイスであって、前記DRAMは
データが読み出される第1のデータバンクと、
データが読み出される第2のデータバンクと、
前記第1のデータバンクからの出力バスと前記第2のデータバンクからの出力バスを結合させて結合バスを形成するメモリコントローラとを含み、
前記結合バスはマイクロプロセッサの第1の入力に接続され、
書き込み動作中にデータ入力をマスクするために使用される前記第1のデータバンクのデータマスクピンは、排他的ORゲートの第1の入力に接続され、
書き込み動作中にデータ入力をマスクするために使用される前記第2のデータバンクのデータマスクピンは、前記排他的ORゲートの第2の入力に接続され、
前記第1及び第2のデータバンクのデータマスクピンは前記排他的ORゲートにデータ反転ビットを与え、
前記排他的ORゲートの出力は、前記マイクロプロセッサの第2の入力に接続されている、
前記同期式メモリデバイス。
【請求項5】
同期式メモリデバイスであって、
I/Oピンを有するデータアレイと、
前記I/Oピンに作動的に結合されているデータ反転マスク発生器とを含み、更に
第1の複数のビットを蓄積する第1のレジスタと、
第2の複数のビットを蓄積する第2のレジスタと、を含み、
前記データ反転マスク発生器は、前記第1のレジスタと前記第2のレジスタに作動的に接続され、データ反転マスクビットを書き込み動作中にデータをマスクするために使用されるピンに出力する比較器を有し、
前記比較器は、前記第1の複数のビットと前記第2の複数のビットとの間の遷移数が閾値を超える場合に高い論理レベルを出力する、前記同期式メモリデバイス。
【請求項6】
同期式メモリデバイスを含む装置であって、前記メモリデバイスは、
第1のビットセットと第2のビットセットを蓄積するよう作動するデータアレイと、
前記第1のビットセットと前記第2のビットセットに基づいて、書き込み動作中にデータをマスクするために使用されるピンで選択的にビット反転情報を提供するよう作動する、データ反転マスク発生器と、
前記メモリデバイスに作動的に結合されており、前記第1のビットセットに基づく出力データと、前記ビット反転情報に基づくビット反転出力とを提供するよう作動するメモリコントローラとを含む、前記装置。
【請求項7】
同期式メモリデバイスであって、
フリップフロップの入力に作動的に結合されているデータバスと、
比較器の第1の入力と、
ロジックゲートの第1の入力とを含み、
前記フリップフロップのイネーブル入力は、負荷信号を受けるよう作動し、
前記フリップフロップの出力は、ORゲートの第1の入力に作動的に結合され、
前記ORゲートの第2の入力は、DC最適化信号を受けるよう作動し、
前記ORゲートの出力は、前期比較器の第2の入力に作動的に結合され、
前期比較器の出力は、書き込み動作中にデータをマスクするために使用されるピンであってデータ反転マスクビットが与えられる該ピンと、前記ロジックゲートの第2の入力とに作動的に結合され、
前記ロジックゲートの出力は、I/Oピンに作動的に結合されている、
前記同期式メモリデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はデータの書き込みおよび読み出しの技術分野に関するものである。
【背景技術】
【0002】
デジタルデータは1および0としてメモリデバイスに記憶され、これらデータは「ピン」と称される導電パスを通してメモリデバイスとの間で転送される。データは1および0を示す高レベル信号および低レベル信号のストリングとしてメモリに書き込まれる。低レベル信号と高レベル信号との間で変化が生じるごとに、メモリデバイスの効率が低下する。しかしながら、データはある程度ランダムであるので、変化の数を減少させるようデータを制御する容易な方法はない。メモリデバイスとの間の書き込みを検討すればこの問題は理解できる。
【0003】
図1はデータソースおよびデータレシーバーのブロック図である。データソース100はバス101を介してデータレシーバー102と通信するようになっており、データは「バイト」と称される8ビットのブロックで転送される。各バイトは8本のライン上の8個のデータ信号としてパラレルにデータレシーバー102へ送られ、この場合、各信号ラインは送信されるデータに応じて高レベルまたは低レベルとなる。例えば「1」のデータ値が送られる場合、バスラインは高レベル状態となる。送られる次の信号が「0」である場合、バスラインは新しいデータを表示するために低レベル状態まで低下しなければならない。次に続く信号が「1」である場合、バスラインは高レベルの値まで再び上昇しなければならない。これら状態変化はデータ遷移として知られており、これを達成するのに時間およびエネルギーが必要である。データ受信回路102に書き込まれる8バイトのデータを示す次のシナリオを検討する。
【0004】
【表1】
【0005】
上記例における24ビットのバイト2、3および4でのデータの遷移の総数は20であり、すなわち83%である(このことは元のバイトが送られる時にバスの各ラインは低レベル状態にあったとみなすことに留意されたい)。この結果、データ転送システムは動作するのに時間とパワーの点で不利となる。
【0006】
データ反転方式
従来技術はメモリデバイスへの書き込み時にデータ遷移の数を低減するために「データ反転」として知られる方式を提供している。このデータ反転方式では1バイトと次のバイトとの間のデータ遷移の数を決定し、解析する。遷移の数が4よりも多ければ、送るバイトのデータを反転する。このようにすることにより遷移の数は4未満にされる。この方式は最大50%の遷移に対し、バイト毎に生じ得る遷移の最大数の限度を4に設定できる。次の表を参照してデータ反転方式の動作について説明する。
【0007】
【表2】
【0008】
最初のバイトが送られた後に反転をすることなくバイトを送った場合に遷移がどれだけ多くなるかを見るために次のバイトを検査する。ここで、バイトがオール0からオール1に変化した場合、遷移の数は8となる。この8の数は4よりも大であるので、バイトを反転し、オール0とする。このバイトを送る時にバスの各ラインは既に低レベル状態となっているのでデータの遷移はない。次のバイトを検査する際に、送られる実際のバイト(このケースでは反転されたバイト)と次のバイトとを比較し、生じ得る遷移の数を決定する。反転を行わない場合、遷移の数は2となり、この数は4未満であるので、反転を行うことなくバイトを送る。反転を行わないで送った場合、次のバイト(01110111)と既に送られたバイトとを比較すると、遷移の数は8となる。従って、バイトを(10001000)に反転し、遷移を起こすことなく送る。反転方式を使って同じデータを送る結果、24バイトのうち2つの遷移しか生じないことになり、すなわち8.3%の遷移しか生じない。このような改良の結果、データ転送動作が良好となり、より高速となる。
【発明の概要】
【発明が解決しようとする課題】
【0009】
このデータ反転方式の欠点は、受信回路からデータを読み出す時にデータだけでなくエキストラビットも正しく使用し、記憶できるよう、データバイトと共にエキストラビットを送らなければならないことである。これらエキストラビットはバス、データ送信回路および受信回路に対して別の書き込みをしなければならないので、システムの費用および複雑さが増すことになる。
【課題を解決するための手段】
【0010】
本発明は、書き込むべきN個のビット(各ビットは高レベル値または低レベル値を有する)の現在のワードを検査することにより、同期式メモリデバイスへ情報を書き込む方法に関する。前記現在のワードはN個のビットを有する前のワードと比較され、低レベル値から高レベル値、またはその逆の高レベル値から低レベル値へのビットの遷移の数を識別する。遷移の数がN/2よりも多ければ、現在ビットを反転する。反転の有無を表示するためにエクストラビットをデータバイトに付随させなくてもよいように、本発明は反転ビットを送るのに通常は読み出し動作中には使用されないデータマスクピンを活用するものである。反転されないデータは直接メモリデバイスへ書き込まれ、他方、反転されたデータは記憶ロケーションに書き込む前にまず再び反転されるのでメモリデバイスへは真のデータが記憶される。
【図面の簡単な説明】
【0011】
【
図1】データソースおよびデータレシーバーのブロック図である。
【
図2】デバイスへデータを書き込むための一実施例の図である。
【
図3】本発明のDRAMのための読み出し回路を示す。
【
図5】バースト読み出し動作中の本発明の動作を示すフローチャートである。
【
図6】マイクロプロセッサインターフェースと共に使用される本発明のブロック図である。
【
図7A】本発明の読み出しブロックの別の実施例のブロック図である。
【
図7B】本発明の書き込みブロックの別の実施例である。
【発明を実施するための形態】
【0012】
本発明はデータを読み出し、書き込みするための方法および装置に関する。次の説明では本発明の実施例をより完全に説明するために特定の細部が多数記載されている。しかしながら、当業者にはこれら特定の細部の記載がなくても本発明を実施することができることは明らかである。周知の特徴については発明を不明瞭にしないように詳細には説明していない。
現在のところ、ダイナミックランダムアクセスメモリ(DRAM)システムにおいて、データを反転させるための効率的な方式は提供されていない。システムにおいてDRAMを使用する利点の1つは、DRAMが低コストであり、かかるメモリデバイスの商品性にある。データ反転方式を使用するDRAMが反転情報のためのエクストラピンを必要とする場合、ジェオグラフィが少数のピンしか有しないDRAM用となっている多くのアプリケーションではDRAMを使用することができない。同様に、エクストラピンを有するDRAMを製造し、販売するための出費によってDRAMは商業的な発展性がなくなる。
【0013】
本発明はDRAMのデータピンに関連するデータマスク(DM)ピンと称される現行のピンを活用するものである。DMピンは一般にデータ入力端で使用されるが、データ出力端では使用されない。本発明はDMによってデータを出力する際にデータの反転をするかしないかを表示する信号を発生するために、データ出力端でDMピンを活用するものである。
【0014】
本発明の好ましい実施例のDRAMでは、32個のデータビットDQ0〜DQ31があり、これらデータビットは4つのバイト(各バイトはDQ0〜DQ7、DQ8〜DQ15、DQ16〜DQ23およびDQ24〜DQ31)に分割される。データバイトの各々は関連するデータマスクピンDM0〜DM3を有し、このデータマスクピンは適当な場合にデータ入力信号をマスクするために書き込み動作中に使用される。DM1〜DM3のいずれかが高レベルとなると、同じタイミングでデータ入力信号がマスクされる。
【0015】
書き込み動作
DRAMへの書き込み動作は入進データを反転するか、反転しないかの表示を伴なっていなければならない。DRAMが真の状態のデータを記憶できるように、書き込むべきデータと共にデータ反転マスク(DIM)ビットが含まれる。
図2にはこれを行うための1つの実現例が示されている。DIMビット202と共に、排他的ORゲート203に入力信号201として入進データが加えられる。DIMビットが高レベルであると、入進データは反転されているので、データアレイ204に記憶する前にXORゲート203を通してこれを再反転する。
【0016】
読み出し動作
図3は本発明に係わるDRAM用読み出し回路を示す。データの各バイトは関連するDMピンを有する。例えばデータバイトD[7:0]はDM0に関連しており、バイトD[15:8]はDM1に関連しており、バイトD[23:16]はDM2に関連しており、バイトD[31:24]はDM3に関連している。読み出し動作中、アレイ300からデータ入力ピンおよびDIM発生器、例えば発生器301.1〜301.4へ直接データが与えられる。DM発生器は読み出し動作中のデータの遷移を減少させるためにデータを反転すべきか否かを判断する。DIM発生器の出力信号はデータビットに関連するDMピンに出力される。
【0017】
図4にはDIM発生器の一例が示されている。最終データレジスタ401は(反転されたか、または反転されていない、実際に送られたままの)最も最近に送られたバイトを記憶する。新データレジスタ402は送るべき現在のデータバイトを記憶する。コンパレータ403へはレジスタ401および402の出力信号が与えられる。遷移の数が4より多ければ、コンパレータ403はデータバイトと共にDMピンに出力すべき高レベル信号を出力する。
【0018】
バースト動作
DRAMからはバーストモードで読み出しが行われることが多い。
図5はバーストモードの読み出し動作中の本発明の作動を示すフローチャートである。ブロック500でバースト読み出しがスタートする。ブロック510では前のデータレジスタの信号およびDM信号が低レベルにセットされる。ブロック520では現在のデータと前のデータとが比較され、現在のデータを送る際に生じる遷移の数を決定する。判断ブロック530では、遷移の数が4よりも多くなるかどうかを見るために遷移の数をチェックする。YESであれば、ブロック540でデータを反転し、DMを反転する。判断ブロック530での結果がNOであれば、ブロック550でデータを反転せず、前のDMの値を維持する。
【0019】
ブロック540または550のいずれかの後で判断ブロック560にてバースト動作が終了したかどうかの判断を行う。YESであれば、プロセスはブロック570で終了する。NOであれば、前のデータレジスタに現在データを記憶し、新しいデータバイトを得て、プロセスはブロック520へ戻る。
【0020】
ピンの利点
本発明は、特に読み出し動作のために過剰に多いピン数を必要とすることなく、DRAMのためにデータを反転できる能力を提供する利点を有する。通常、読み出し動作では使用されないピン、例えばDMピンを使用することにより、本発明は読み出し動作用の増設ピンを用いないでデータ反転を利用するバイト読み出しを可能にしている。
【0021】
ターミネーション
バースト読み出しの例を参照して既に説明したように、バースト読み出し動作が開始した時にバスは低レベル状態にあったとみなした。このことは必要なことではなく、本発明はかかる方式または仮定に限定されるものではない。バスのターミネーションは下記の多数の方法のうちのいずれかでよい。
【0022】
A.低レベルへのプル動作−本発明の一実施例ではバスは読み出し後徐々に低レベルにプル動作される。この方式では、バスラインにNMOSトランジスタが結合されており、NMOSトランジスタはある期間の間でバスラインを徐々にアースレベルまで下げる。この方式を使用する際は、すべてのラインが低レベル状態のままで、読み出し動作が開始すると仮定し、データの第1バイト用の遷移の数はこの仮定に基づいて決定される。
【0023】
B.高レベルへのプル動作−別の実施例では、バスへの作動後、所定時間の間、すべてのラインを高レベル状態にプルするようPMOS終端方式によりバスを高レベルにプル動作できる。この方式における仮定は、読み出し動作の開始時にすべてのラインが高レベルにあり、よってすべての高レベル状態に対する、第1バイトの遷移の数を決定するということである。
【0024】
C.中間点レベルでの終端−別の実施例では所定時間にわたってバスラインを中間レベルの状態にプルする。この方式を使用する際に、バスラインを中間レベルの状態から高レベルにプルすることと低レベルにプルすることには違いはないので、読み出し動作における第1バイトは非反転状態のまま送られる。
【0025】
D.アンラッチ状態で終端しない動作−この実施例ではバスラインは全くターミネートされず、最初のデータバイトは常にターミネートされない状態で送られる。この結果、第1バイトに対する効率が失われる。その理由は、最初のバイトに対し、遷移の数が5以上となり得るからである。
【0026】
E.ラッチ状態で終端しない動作−この実施例はバスラインをバス上の最近のバイトと同じ状態のままにしておき、この値にラッチする。その後の動作に対して、前のバイトレジスタはラッチされた値を含み、最初のバイトとこのラッチされた値とを比較し、遷移の数を決定する。
【0027】
プロセッサインターフェースロジックアプリケーション
DRAMに関連して本発明について説明したが、本発明は他の用途も有する。例えばデータ反転方式を使用できるようにマイクロプロセッサのインターフェースロジックに関連してこの方式を使用できる。
図6にはかかる一実施例が示されている。
【0028】
DRAM601は、例えば第1データバンク601Aおよび第2データバンク601Bを含み、各バンクは関連するDIM信号603Aおよび603Bと共に出力バス602Aおよび602Bを有する(DIM信号はDMピンに提供できることに留意されたい)。メモリコントローラ604へはDRAMの出力信号が与えられる。DRAMのデータ出力信号602Aと602Bとはマイクロプロセッサ608への16ビットバス605で組み合わされる。DIM信号603Aと603BとはXORゲート606への入力信号として結合され、マイクロプロセッサ608への出力信号607を発生する。
【0029】
パワーの最適化
図7Aには本発明の読み出しブロックの一実施例が示されている。この実施例はI/Oがオープンドレイン(すなわちバスは論理1にターミネートされている)の場合、DCパワー最適化を行うようになっている。
図7Aを参照すると、フリップフロップ702、コンパレータ703およびNORゲート704へは読み出しデータ701(8ビット)が結合される。フリップフロップ702のイネーブル入力端へは負荷信号705が結合される。ORゲート706の入力端にはDC最適化信号707と共にフリップフロップ702の出力信号が結合される。DC最適化信号は論理「1」であり、この信号はコンパレータブロック703の前のデータフィールドへOR演算入力される。このOR演算は、コンパレータブロック703の出力信号が論理「1」である値の半分よりも大きくなるようにし、DCパワーを節約するのを保証するものである。コンパレータ703は現在のデータフィールドと前のデータフィールドとを比較し、異なる値を有するビット数が5以上であるかどうかを見る。そうである場合、出力(DIN)は論理「1」であり、NORゲート704へ与えられ、データの適当な反転が行われる。
【0030】
バスが論理0にターミネートされる場合、DC最適化信号を論理「0」とすることができるので、出力端の半分よりも多い出力端が「0」にバイアスされ、これによってもパワーを節約できる。
【0031】
次に
図7Bを参照すると、ここには書き込みブロックのブロック図が示されている。フリップフロップ711では書き込みデータ710(例えば32ビット)が与えられ、フリップフロップ713へはDIM信号712が与えられる。双方のフリップフロップは書き込みにクロック信号714によってクロック制御される。これらフリップフロップの出力信号はNORゲート715への入力信号として結合され、メモリアレイに書き込むべきデータを発生する。
【0032】
以上でデータ伝送に関連して本発明について説明したが、本発明はアドレス信号またはコマンド信号を含むデジタル信号にも同じように適用できる。
【0033】
以上でメモリデバイスにおけるデータ反転用方法および装置について説明した。
【符号の説明】
【0034】
100 データソース
102 データレシーバー
401 最終データレジスタ
402 新データレジスタ
403 コンパレータ
604 メモリコントローラ
608 マイクロプロセッサ