(57)【特許請求の範囲】
【請求項１】
データバスインバージョン（ＤＢＩ）を使ってエンコーディングされたデータを受信する段階であって、前記データは、前記データのビット数の半分に対応する第１デルタを有する、段階と、
前記データのデータ“０”の数をバランスするために前記データをバランスコーディングする段階と、
ゼロより大きいが前記ビット数の半分と同じか小さい最小数と、前記第１デルタより小さな第２デルタを前記最小数に加えた最大数との間で相異なるデータ“０”の数を有するデータを出力する段階と、
を備え、
前記バランスコーディング段階は、
それぞれのケースに対して、マルチビットデータとインバージョンインジケータとを含むＤＢＩデータ内のデータ“０”の数をカウンティングする段階と、
前記データ“０”の数を前記最小数と比べる段階と、
前記数が前記最小数より大きいか同じである時、フラグを“１”に設定し、前記フラグと前記ＤＢＩデータとをエンコーディングされたデータに出力する段階と、
前記数が前記最小数より小さい時、前記フラグを“０”に設定する段階と、
前記データ“０”の数に１を加算したものを前記最小数と比べる段階と、
前記データ“０”の数に１を加算したものが前記最小数より大きいか同じである時、前記フラグ及び前記ＤＢＩデータをエンコーディングされたデータに出力する段階と、
データ“０”の数に１を加算したものが前記最小数より小さい時、前記マルチビットデータ内の少なくとも最下位２ビットの値を変更し、前記インバージョンインジケータ、前記フラグ、及び前記変更されたマルチビットデータをエンコーディングされたデータに出力する段階と、
を備えることを特徴とする方法。
【請求項２】
前記第２デルタは、前記第１デルタの２分の１であることを特徴とする請求項１に記載の方法。
【請求項３】
前記バランスコーディングは、ｎ回反復され、前記第２デルタは、前記第１デルタを２ｎで割ったものより大きいか同じであることを特徴とする請求項１に記載の方法。
【請求項４】
前記変更する段階は、
少なくとも最下位２ビットをインバーティングする段階を含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記変更する段階は、
少なくとも最下位２ビットをゼロに設定する段階を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記少なくとも最下位２ビットは、前記マルチビットデータのビットの数の２分の１より小さく、前記マルチビットデータのビットの数の４分の１より大きいか同じように変更されることを特徴とする請求項１に記載の方法。
【請求項７】
前記バランスコーディングは、ｎ回反復され、前記少なくとも最下位２ビットは、前記マルチビットデータのビットの数を２ｎで割ったものより小さく、前記マルチビットデータのビットの数を２ｎ＋１で割ったものより大きいか同じように変更されることを特徴とする請求項１に記載の方法。
【請求項８】
前記出力段階は、
前記エンコーディングされたデータをメモリに保存する段階を含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記方法は、
前記メモリに保存されたエンコーディングされたデータを読み取る段階と、
前記インバージョンインジケータの値、前記フラグの値、及び前記少なくとも最下位２ビットの値によって前記少なくとも最下位２ビットを保存する段階と、をさらに備えることを特徴とする請求項８に記載の方法。
【請求項１０】
前記方法は、
前記インバージョンインジケータによって前記マルチビットデータを反転させる段階をさらに備えることを特徴とする請求項９に記載の方法。
【請求項１１】
バランシング部を備えるシステムにおいて、
前記バランシング部は、
マルチビットデータ及びインバージョンインジケータを含むデータバスインバージョンデータを受信し、前記ＤＢＩデータ内のデータ“０”の数がゼロより大きく、前記マルチビットデータのビット数の半分より小さいか同じであるデータ“０”の最小数より小さい時に第１値になり、前記ＤＢＩデータ内のデータ“０”の数が前記最小数より大きいか同じである時に第２値になるフラグを出力し、またデータ“０”の数に１を加算したものが前記最小数より小さい時にトリガー信号を出力するロジックレベル検出器と、
前記ロジックレベル検出器から前記マルチビットデータの少なくとも最下位２ビットと前記トリガー信号とを受信し、前記トリガー信号に応答して前記少なくとも最下位２ビットを変更し、一方では変更されていない前記最下位ビットを出力するマルチプレクサと、
を備え、
前記バランシング部は、
前記変更されていない前記最下位ビットを除いたマルチビットデータ、前記インバージョンインジケータ、及び前記フラグをさらに出力することを特徴とするシステム。
【請求項１２】
前記マルチプレクサは、前記少なくとも最下位２ビットを反転させることを特徴とする請求項１１に記載のシステム。
【請求項１３】
前記マルチプレクサは、前記少なくとも最下位２ビットをゼロに設定することを特徴とする請求項１１に記載のシステム。
【請求項１４】
前記バランシング部は、ｎ回使われ、最下位ビットの数は、前記マルチビットデータのビットの数を２ｎで割ったものより小さく、前記マルチビットデータのビットの数を２ｎ＋１で割ったものより大きいか同じように変更されることを特徴とする請求項１１に記載のシステム。
【請求項１５】
前記システムは、前記バランシング部からの出力を保存するためのメモリをさらに備えることを特徴とする請求項１１に記載のシステム。
【請求項１６】
前記システムは、前記インバージョンインジケータ、前記フラグ、前記最下位ビットを除いたマルチプルビットデータ及び前記最下位ビットを受信し、前記インバージョンインジケータの値、前記フラグの値、及び前記フラグの前記少なくとも最下位２ビットの値によって前記最下位ビットを復旧し、一方では変更されていない前記最下位ビットを出力するバランスリバーシング部をさらに備えることを特徴とする請求項１１に記載のシステム。
【請求項１７】
前記システムは、
バランスリバーシング部をさらに備え、
前記バランスリバーシング部は、
前記インバージョンインジケータ、前記少なくとも最下位２ビット及び前記フラグを受信し、前記インバージョンインジケータ、前記フラグ、及び前記少なくとも最下位２ビットのパターンが前記最下位ビットが変更されたということを表わす時にトリガー（ｔｒｉｇｇｅｒ）信号を出力するパターン検出器と、
前記最下位ビット及び前記トリガー信号を受信し、前記トリガー信号に応答して前記最下位ビットを復旧し、一方では変更されていない前記最下位ビットを出力するマルチプレクサと、を含み、
前記バランスリバーシング部は、前記最下位ビットを除いた前記インバージョンインジケータ及びマルチビットデータをさらに出力することを特徴とする請求項１１に記載のシステム。
【請求項１８】
前記システムは、
前記インバージョンインジケータ及び前記マルチビットデータを受信し、前記マルチビットデータを復旧するデコーディング部をさらに備えることを特徴とする請求項１７に記載のシステム。
【請求項１９】
プロセッサによって実行される時、前記プロセッサが方法を実行させる実行可能な命令を提供する記録媒体（ｍａｃｈｉｎｅ−ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）において、
前記方法は、
マルチビットデータとインバージョンインジケータとを含むデータバスインバージョン（ＤＢＩ）データ内のデータ“０”の数をカウンティングする段階と、
前記データ“０”の数をゼロより大きくて前記マルチビットデータのビット数の半分より小さいか同じであるデータ“０”の最小数と比べる段階と、
前記数が前記最小数より大きいか同じである時、フラグを“１”に設定し、前記フラグと前記ＤＢＩデータとをエンコーディングされたデータに出力する段階と、
前記数が前記最小数より小さい時、前記フラグを“０”に設定する段階と、
前記データ“０”の数に１を加算したものと前記最小数とを比べる段階と、
前記データ“０”の数に１を加算したものが前記最小数より大きいか同じである時、前記フラグ及び前記ＤＢＩデータをエンコーディングされたデータに出力する段階と、
前記データ“０”の数に１を加算したものが前記最小数より小さい時、前記マルチビットデータ内の少なくとも最下位２ビットの値を変更し、前記インバージョンインジケータ、前記フラグ、及び前記変更されたマルチビットデータをエンコーディングされたデータに出力する段階と、
を備えることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリリフレッシュ（ｒｅｆｒｅｓｈ）に必要な電力を減らすための方法及び装置に係り、より詳細には、メモリのリフレッシュ期間の間に使われるバランシングコーディングのための方法及び装置に関する。
【背景技術】
【０００２】
インターフェースシステムは、基本的に情報を信号に変換する送信器（ｔｒａｎｓｍｉｔｔｅｒ）、前記信号を伝送する伝送媒体、前記信号を受信して使うことができる情報に変換する受信器とを含む。
【０００３】
通常のインターフェースシステムに使われるドライバーは、インバーター型であり、例えば、データが１である時は電流パスがなく、データが０である時は前記伝送媒体を介して電流パスがある。
【０００４】
したがって、前記データレベルによって前記ドライバーの全体電流消耗は変化することができ、これは結果的に同時スイッチングノイズ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｓｗｉｔｃｈｉｎｇ  Ｎｏｉｓｅ、ＳＳＮ）を発生させうる。
【０００５】
また、前記インターフェースシステムの電圧源の間の寄生インダクタンスは、ノイズ、例えば、ジッタ（ｊｉｔｔｅｒ）の原因になり、前記データ信号の電圧マージン（ｖｏｌｔａｇｅ  ｍａｒｇｉｎ）や時間マージンを減少させうる。結局ノイズは、データ周波数及びシステム性能を低下させうる。
【０００６】
速くて高性能（例えば、減少されたノイズ）の伝送（ｔｒａｎｓｍｉｓｓｉｏｎ）を提供するのに使われうる多くのコーディング技術が存在する。
【０００７】
相異なるコーディング技術は、相異なるトレードオフ（ｔｒａｄｏｆｆｓ）、例えば、ｄｅｐｌｏｙｍｅｎｔ、オーバーへッド（ｏｖｅｒｈｅａｄ）、遷移密度（ｔｒａｎｓｉｔｉｏｎ  ｄｅｎｓｉｔｙ）及びＤＣバランス、アライメント（ａｌｉｇｎｍｅｎｔ）、エラー（保護、検出、複製（ｒｅｐｌｉｃａｔｉｏｎｓ））、及び複雑性（ｃｏｍｐｌｅｘｉｔｙ、ゲート数（ｇａｔｅ  ｃｏｕｎｔ））を提供できる。
【０００８】
８Ｂ／１０Ｂは、ストリーム（ｓｔｒｅａｍ）内に０と１との数が同一になるように保証することで適切なＤＣバランスを保証する效果的な遷移（ｔｒａｎｓｉｔｉｏｎｓ）、整列の容易性（前記バイトがビットストリーム内で開始する所を探すこと）、強靭性（ｒｏｂｕｓｔｎｅｓｓ、エラーに対する耐性（ｔｏｌｅｒａｎｃｅ））、及び低いデザイン複雑度（ｌｏｗ  ｄｅｓｉｇｎ  ｃｏｍｐｌｅｘｉｔｙ）を提供する広く使われるコーディング技術の一つである。
【０００９】
前記８Ｂ／１０Ｂコーディング方法は、８ビットシンボルを１０ビットシンボルにマッピングする。前記８Ｂ／１０Ｂ内で使われるすべてのコードは、３ないし１０の遷移を有する。
【００１０】
各コードワードは、一つの列（ｒｏｗ）で４個よりさらに多い１または０を発生させないか、または一つよりさらに大きい不均衡（ｉｍｂａｌａｎｃｅ）をもたらさない。このような性質を用いてそれぞれのキャラクター（ｃｈａｒａｃｔｅｒ）は、二つのマッピング（前記コード及び前記コードの反転）に割り当てられ、前記伝送過程は、＋１と−１との間で不一致（ｒｕｎｎｉｎｇ  ｄｉｓｐａｒｉｔｙ）を維持するために適当なコード（＋／−）を選択できる。
【００１１】
これは、二つのシンボルのストリングで０ほど１が存在するということを意味し、列であまりにも多い０または１が存在しないということを意味する。
【００１２】
これは、インタシンボル干渉（ｉｎｔｅｒｓｙｍｂｏｌ  ｉｎｔｅｒｆｅｒｅｎｃｅ）を減らすのに助けになるために高速（ｈｉｇｈ  ｒａｔｅｓ）で伝送される必要がある信号のために重要な特性（ａｔｔｒｉｂｕｔｅ）である。
【００１３】
このようなすべての特性は、８Ｂ／１０Ｂが最も広く使われるコーディング方法になるようにした。しかし、８Ｂ／１０Ｂは、２５％の大きいオーバーヘッド（例えば、データの比率より２５％さらに大きいシンボル比率）、高いコーディング複雑性（ｈｉｇｈ  ｃｏｄｉｎｇ  ｃｏｍｐｌｅｘｉｔｙ）、及び大きいレイアウト面積（ｌａｒｇｅ  ｌａｙｏｕｔ  ａｒｅａ）を有する。
【００１４】
また、さらに速いコンピュータ装置（ｃｏｍｐｕｔｉｎｇ  ｄｅｖｉｃｅｓ）のための要求が増加するにつれてこのような装置が動作する周波数が増加して来た。このようなさらに高い周波数はさらに多い電力を要求する。大部分のコンピューティングシステムは、保存されたデータを維持するために周期的なリフレッシングを要求することができる動的メモリ（ｄｙｎａｍｉｃ  ｍｅｍｏｒｉｅｓ）を使う。
【００１５】
典型的に、マルチビットデータが“１”をさらに多く含むほど、前記マルチビットデータをリフレッシュするのにさらに多い電力が要求される。
【００１６】
図９に図示されたデータバスインバージョン（Ｄａｔａ  Ｂｕｓ  Ｉｎｖｅｒｓｉｏｎ、ＤＢＩ）方法は、前記８Ｂ／１０Ｂ方法のコーディングの複雑性、レイアウト面積、及び電力消耗を減らすために使われうる。
【００１７】
具体的に、前記ＤＢＩ方法は、マルチビットデータ（例えば、８ビットデータ）を受信する段階（Ｓ９１０）、及び前記マルチビットデータで０と１との数を計算する段階（Ｓ９２０）を含む。
【００１８】
その次に、Ｓ９３０段階で、０の数が既定の値（ｋ、例えば、８ビットデータに対して４）を超過するか否かが決定されうる。
【００１９】
Ｓ９４０段階で、前記既定の値（ｋ）が超過されれば、前記データワードは反転されることができ、フラグ（ｆｌａｇ）は第１値（例えば、１）に設定しうる。
【００２０】
Ｓ９５０段階で、前記既定の値（ｋ）が超過されていなければ、前記データワードは維持されることができ、前記フラグは第２値（例えば、０）に設定しうる。
【００２１】
前記データは、前記フラグ値によってデコーディングされうる。前記フラグは、インバージョン指示器（ｉｎｖｅｒｓｉｏｎ  ｉｎｄｉｃａｔｏｒ）としての役割を果す。
【００２２】
しかし、前記ＤＢＩ方法が使われてもデータ“０”の数は、一つから四つの間であり得る。したがって、前記最高電流消耗は、相変らず４×ＩＤＱ（静的電流（ｑｕｉｅｓｃｅｎｔ  ｃｕｒｒｅｎｔ））であり得る。ここで、１×ＩＤＱは、一つのＤＱ当り電流消耗の量を表わす。
【発明の開示】
【発明が解決しようとする課題】
【００２３】
本発明が果そうとする技術的な課題は、前記関連技術（ｒｅｌａｔｅｄ  ａｒｔ）の制限と短所とに起因した一つ以上の問題を実質的に克服するバランスコーディングのための方法及び装置を提供することにある。
【課題を解決するための手段】
【００２４】
したがって、メモリリフレッシュに必要な電力消耗を減らす方法及び装置を提供することが本発明の一実施形態の一特徴である。
【００２５】
メモリリフレッシュの間にノイズを減らす方法及び装置を提供することが本発明の一実施形態の一特徴である。
【００２６】
メモリリフレッシュの間に使うバランシングコーディングのための方法及び装置を提供することが本発明の一実施形態の一特徴である。
【００２７】
前述した本発明の特徴、本発明の他の特徴及び長所のうち少なくとも一つは、ゼロ（ｚｅｒｏ）とＤＢＩ最大値との間で相異なる場合のためのゼロの数の間に第１デルタを有するデータであるデータバスインバージョンを使ってエンコーディングされたデータを受信する段階、前記ＤＢＩデータのうち（ａｃｒｏｓｓ  ｔｈｅ  ＤＢＩ  ｄａｔａ）ゼロの数をバランスするために前記ＤＢＩデータをバランスコーディングする段階、及びゼロよりさらに大きくて前記ＤＢＩ最大値より小さいか同じである最小数と前記最小数に前記第１デルタより小さな第２デルタを加えたものと同一の最大数との間で、相異なる場合のためのゼロの数を有するデータを出力する段階を含む方法を提供することによって実現されうる。
【００２８】
前記第２デルタは、前記第１デルタの２分の１になりうる。前記バランスコーディングは、ｎ回反復されることができ、前記第２デルタは、前記第１デルタを２ｎで割ったものより大きいか同じであり得る。
【００２９】
前記バランスコーディングは、それぞれの場合のためにマルチビットデータとインバージョン指示器とを含むＤＢＩデータ内のデータ“０”の数をカウンティングする段階、前記データ“０”の数を前記最小数と比べる段階、前記数が前記最小数より大きいか同じである時にフラグを“１”に設定し、前記フラグと前記ＤＢＩデータとをエンコーディングされたデータに出力する段階、前記数が前記最小数より小さい時に前記フラグを“０”に設定する段階、前記データ“０”の数に１を加算したものが前記最小数より大きいか同じである時に前記フラグ及び前記ＤＢＩデータをエンコーディングされたデータに出力する段階、及びデータ“０”の数に１を加算したものが前記最小数より小さい時に前記マルチビットデータ内の少なくとも最下位２ビットの値を変更し、前記インバージョン指示器、前記フラグ、及び前記変更されたマルチビットデータをエンコーディングされたデータに出力する段階とを含みうる。
【００３０】
前記変更する段階は、前記少なくとも最下位２ビットをインバーティングする段階を含みうる。前記変更する段階は、前記少なくとも最下位２ビットをゼロに設定する段階を含みうる。
【００３１】
変更された前記少なくとも最下位２ビットは、前記マルチビットデータのビットの数の２分の１より小さく、前記マルチビットデータのビットの数の４分の１より大きいか同じであり得る。
【００３２】
前記バランスコーディングは、ｎ回反復されうる。変更された前記少なくとも最下位２ビットは、前記マルチビットデータのビットの数を２ｎで割ったものより小さく、前記マルチビットデータのビットの数を２ｎ＋１で割ったものより大きいか同じであり得る。
【００３３】
前記出力段階は、前記エンコーディングされたデータをメモリに保存する段階を含みうる。前記方法は、前記メモリに保存されたエンコーディングされたデータを読み取る段階、及び前記インバージョン指示器の値、前記フラグの値、及び前記少なくとも最下位２ビットの値によって前記少なくとも最下位２ビットを保存する段階とを含みうる。前記方法は、前記インバージョン指示器の値によって前記マルチビットデータを反転させる段階を含みうる。
【００３４】
前述した本発明の特徴、本発明の他の特徴及び長所のうち少なくとも一つは、マルチビットデータ及びインバージョン指示器を含むデータバスインバージョンデータを受信し、前記ＤＢＩデータ内のデータ“０”の数がゼロより大きくてＤＢＩ最大ゼロの数より小さいか同じであるデータ“０”の最小数より小さい時に第１値になり、前記ＤＢＩデータ内のデータ“０”の数が前記最小数より大きいか同じである時に第２値になるフラグを出力し、またデータ“０”の数に１を加算したものが前記最小数より小さい時にトリガー信号を出力するロジックレベル検出器と、前記ロジックレベル検出器から前記マルチビットデータの少なくとも最下位２ビットと前記トリガー信号とを受信し、前記トリガー信号に応答して前記少なくとも最下位２ビットを変更し、一方では変更されていない前記最下位ビットを出力するマルチプレクサを含むバランシング部と、を備えるシステムを提供することで実現されうる。
【００３５】
また、前記バランシング部は、前記変更されていない前記最下位ビットを除いたマルチビットデータ、前記インバージョン指示器、及び前記フラグをさらに出力できる。
【００３６】
前記マルチプレクサは、前記少なくとも最下位２ビットを反転させるか前記少なくとも最下位２ビットをゼロに設定できる。
【００３７】
前記バランシング部は、ｎ回使われることができ、前記最下位ビットの数は前記マルチビットデータのビットの数を２ｎで割ったものより小さく、前記マルチビットデータのビットの数を２ｎ＋１で割ったものより大きいか同じように変更されうる。
【００３８】
前記システムは、前記バランシング部からの出力を保存するためのメモリを含みうる。前記システムは、前記インバージョン指示器、前記フラグ、前記最下位ビットを除いたマルチプルビットデータ及び前記最下位ビットを受信し、前記インバージョン指示器の値、前記フラグの値、及び前記マルチビットデータの前記少なくとも最下位ビットの値によって前記最下位ビットを復旧し、一方では変更されていない前記最下位ビットを出力するバランスリバーシング部を含みうる。
【００３９】
前記システムは、前記インバージョン指示器、前記少なくとも最下位２ビット及び前記フラグを受信し、前記インバージョン指示器、前記フラグ、及び前記少なくとも最下位２ビットのパターンが前記最下位ビットが変更されたということを表わす時にトリガー（ｔｒｉｇｇｅｒ）信号を出力するパターン検出器と、前記最下位ビット及び前記トリガー信号を受信し、前記トリガー信号に応答して前記最下位ビットを復旧し、一方では変更されていない前記最下位ビットを出力するマルチプレクサを含むバランスリバーシング部と、を含みうる。
【００４０】
前記バランスリバーシング部は、前記最下位ビットを除いた前記インバージョン指示器及びマルチビットデータをさらに出力できる。
【００４１】
前記システムは、前記インバージョン指示器及び前記マルチビットデータを受信し、前記マルチビットデータを復旧するデコーディング部を含みうる。
【００４２】
前述した本発明の特徴、本発明の他の特徴及び長所のうち少なくとも一つは、プロセッサによって実行される時、前記プロセッサが前述した何れか方法を実行させる実行可能な命令を提供する記録媒体を提供することによって実現されうる。
【発明の効果】
【００４３】
本発明によれば、メモリリフレッシュに必要な電力消耗を減らしうる。また、メモリリフレッシュの間にノイズを減らしうる。
【発明を実施するための最良の形態】
【００４４】
前記技術的課題を果たすための本発明と本発明の動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには、本発明の望ましい実施形態を例示する添付図面及び添付図面に記載された内容を参照しなければならない。以下、添付した図面を参照して、本発明の望ましい実施形態を説明することによって、本発明を詳しく説明する。各図面に付された同じ参照符号は、同じ部材を表わす。
【００４５】
本発明の実施形態によるコーディング方法は、２以上のフラグ（例えば、電力消費及び／またはノイズをさらに減少させるためのインバージョン指示器に追加して一つ以上のフラグ）を使うことができる。
【００４６】
図１は、本発明の一実施形態によるエンコーディング方法のフローチャートである。まず、Ｓ１１０段階で、前記マルチビットデータ内のデータ“０”の数がカウントされうる。次に、Ｓ１２０段階で、この数が既定の値（Ｚ）と比較されうる。前記既定の値（Ｚ）は、前記マルチビットデータ内のビットの数の半分と同じかさらに大きくなりうる。
【００４７】
Ｓ１３０段階で、前記既定の値（Ｚ）が超過されれば、前記マルチビットデータは反転されることができ、第１フラグＦｌａｇ１は、第１値（例えば、１）に設定しうる。
【００４８】
Ｓ１４０段階で、前記既定の値（Ｚ）が超過されていなければ、前記マルチビットデータは維持されることができ、前記第１フラグＦｌａｇ１は、第２値（例えば、０）に設定しうる。前記第１フラグＦｌａｇ１は、前記インバージョン指示器としての役割を果す。
【００４９】
次に、Ｓ１５０段階で、前記Ｓ１１０段階でカウントされたデータ“０”の数と前記第１フラグＦｌａｇ１の値との和が既定の値（Ｍ）と比較されうる。前記既定の値（Ｍ）は、前記既定の値（Ｚ）と同一であり得る。
【００５０】
Ｓ１７０段階で、前記和が前記Ｍより少なければ、第２フラグＦｌａｇ２は、第１値（例えば、０）に設定しうる。Ｓ１８０段階では、Ｓ１１０段階でカウントされた前記データ“０”の数、前記第１フラグＦｌａｇ１の値、及び前記第２フラグＦｌａｇ２の値の和が前記既定の値（Ｍ）と比較されうる。
【００５１】
前記和が前記Ｍと同じかさらに大きければ、前記マルチビットデータは維持されることができ、前記方法は前記データを伝送できるＳ１９１段階に進行しうる。
【００５２】
前記和が前記Ｍより小さければ、前記マルチビットデータのうち少なくとも２ビットはゼロに変更（ｃｈａｎｇｅ）されうる。例えば、前記マルチビットデータ内でビットの数の半分までゼロに変更されうる。次に、前記方法は、前記データを伝送できるＳ１９１段階に進行しうる。
【００５３】
Ｓ１６０段階で、前記和が前記Ｍと同じかさらに大きければ、前記マルチビットデータは維持されることができ、前記第２フラグＦｌａｇ２は、第２値（例えば、１）に設定しうる。次に、前記方法は、前記データを伝送できるＳ１９１段階に進行しうる。
【００５４】
図２は、本発明の一実施形態による８ビットデータのためのコーディングテーブルを表わす。図２に図示されたように、前記マルチビットデータ（ここでは、８ビットデータ）は、エンコーディングされたデータ内のゼロの数を一つないし少なくともマルチビットの数の半分（例えば、４）の間の範囲にあるようにする前記ＤＢＩ方法が適用可能である。
【００５５】
次に、前記ＤＢＩコーディングされたデータは、前記マルチビットデータのうちゼロの数の範囲内の差を減らし、それによってノイズを減らすために図１に図示されたＳ１５０ないしＳ１９０過程を経る。
【００５６】
具体的に、ＣＡＳＥ１ないしＣＡＳＥ５で、ゼロの数が前記既定の値（Ｚ）を超過するので、前記マルチビットデータは反転されることができ、前記第１フラグＦｌａｇ１は、第１値（例えば、１）に設定しうる。
【００５７】
一方、ＣＡＳＥ６ないしＣＡＳＥ９で、ゼロの数が前記既定の値（Ｚ）を超過しないので、前記マルチビットデータは維持されることができ、前記第１フラグＦｌａｇ１は、第２値（例えば、０）に設定しうる。
【００５８】
図２に図示されたように、バランスエンコーディングの間に前記ＤＢＩエンコーディング後にゼロの数の前記範囲に対する中間数（例えば、２）より小さな数を有する場合（ここでは、ＣＡＳＥ１、ＣＡＳＥ２、及びＣＡＳＥ９）に対しては、前記第２フラグＦｌａｇ２は、第１値（例えば、０）になるように設定しうる。
【００５９】
他のすべての場合のためには、前記第２フラグＦｌａｇ２は、第２値（例えば、１）になるように設定しうる。前記第１フラグＦｌａｇ１及び前記第２フラグＦｌａｇ２のための前記第１及び第２値は、同一ではないこともある。
【００６０】
ある場合（ｃａｓｅ）に対する全体ゼロの数が相変らず前記中間数より小さな場合（例えば、ＣＡＳＥ１）、前記データの多数の最下位ビット（ｌｅａｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔｓ、例えば、最後の２ビット）は、２ビットデータ（２３０）によって指示されたようにゼロに設定しうる。したがって、ゼロの数は、２個から４個の間の範囲にある。
【００６１】
したがって、前記コードはバランスされることができ、例えば、相異なる場合の間のデルタ（ｄｅｌｔａ）は減少しうる。具体的に、前記デルタは、４ＩＤＱから２ＩＤＱに減少しうる。
【００６２】
図３は、本発明の一実施形態によるマルチビットデータをデコーディングするためのフローチャートである。Ｓ３１０段階で、前記エンコーディングされたマルチビットデータ、前記第１フラグＦｌａｇ１、及び前記第２フラグＦｌａｇ２は受信されうる。
【００６３】
Ｓ３２０段階で、パターン一致が決定されうる。例えば、前記第２フラグＦｌａｇ２値と前記ゼロの数とがチェックされうる。
【００６４】
Ｓ３３０段階で、前記第２フラグＦｌａｇ２がゼロであり、前記ゼロの数が前記Ｍより大きい場合、前記コード化されたマルチビットデータ内の前記ゼロは、Ｓ３４０段階に進行する前に１に復旧されうる。そうではなければ、前記プロセスは、Ｓ３４０段階に進行しうる。
【００６５】
前記第１フラグＦｌａｇ１値が決定されうる。Ｓ３４０段階で、前記第１フラグＦｌａｇ１が１であれば、前記マルチビットデータは反転されうる。Ｓ３６０段階で、前記第１フラグＦｌａｇ１が１ではなければ、前記マルチビットデータは維持されうる。
【００６６】
図４は、シングルエンド並列データインターフェースシステム７００のブロック図である。前記システム７００は、送信器７１０及び受信器７２０を含む。
【００６７】
前記送信器７１０は、データ保存部７１１、エンコーディング部８００、及びドライバー部７１４を含む。前記エンコーディング部８００は、ＤＢＩエンコーディング部８１０及びバランス部８２０を含む。前記エンコーディング部８００については、図５Ａ及び図５Ｂと関連して下記でさらに詳しく説明する。
【００６８】
前記受信器７２０は、デコーディング部９００及びデータ保存部７２３を含みうる。前記デコーディング部９００は、バランスリバーシング部（ｂａｌａｎｃｅ  ｒｅｖｅｒｓｉｎｇ  ｕｎｉｔ）９１０及びＤＢＩデコーディング部９２０を含みうる。
【００６９】
前記デコーディング部９００については、図６Ａ及び図６Ｂと関連して下記でさらに詳しく説明する。
【００７０】
図５Ａは、前記エンコーディング部８００のブロック図を表わし、図５Ｂは、前記ＤＢＩエンコーディング部８１０及び前記バランス部８２０を含む前記エンコーディング部８００の概略図を表わす。
【００７１】
前記バランス部８２０は、マルチプレクサ（ＭＵＸ）８２１及びロジックレベル検出器８２２を含みうる。例えば、８ビットデータの各ビットに対して前記８ビットデータのうち最初の６ビットのデータは、前記ロジックレベル検出器８２２に出力されることができ、一方では如何なる追加プロセッシング（ｐｒｏｃｅｓｓｉｎｇ）もなしにＤＱ１ないしＤＱ６として前記バランス部８２０を介してパス（ｐａｓｓ）されうる。
【００７２】
前記８ビットデータのうち最後の２ビットも前記ロジックレベル検出器８２２及び前記ＭＵＸ８２１に出力されうる。前記第１フラグＦｌａｇ１も前記ロジックレベル検出器８２２に出力されることができ、一方では如何なる追加プロセッシングもなしに前記バランス部８２０を介してパスされうる。
【００７３】
前記ＭＵＸ８２１も外部から前記２ビットデータ８３０を受信することができ、前記ロジックレベル検出器８２２からトリガーＴを受信できる。前記トリガーＴは、前記８ビットデータ及び前記第１フラグＦｌａｇ１内にあるゼロの数によって決定されうる。
【００７４】
前記ＭＵＸ８２１は、ＤＱ７及びＤＱ８を出力することができ、前記ロジックレベル検出器８２２は、前記第２フラグＦｌａｇ２を出力できる。
【００７５】
図５Ｂに図示されたように、前記ロジックレベル検出器８２２は、ＡＮＤゲート及び２個のＯＲゲートを含むことができ、前記ＭＵＸ８２１は、一対のマルチプレクサ（Ｍｕｌｔｉｐｌｅｘｅｒｓ）を含みうる。
【００７６】
具体的に、前記マルチビットデータの各ビットと前記第１フラグＦｌａｇ１は、ＡＮＤ演算されることができ、演算結果は前記トリガーＴとして前記ＭＵＸ８２１に出力されうる。
【００７７】
前記トリガーＴが１である時、前記入力データＩＮ７、ＩＮ８は維持されることができ、前記出力データＤＱ７、ＤＱ８に出力されうる。
【００７８】
前記トリガーＴが０である時、前記出力データＤＱ７、ＤＱ８は、ゼロに出力されうる。
前記トリガーＴは、また前記ＯＲゲートのうち最後のＯＲゲートに出力されうる。残ったＡＮＤゲートは、個別的に反転された順次な入力を有する前記マルチビットデータ及び前記第１フラグＦｌａｇ１をＡＮＤ演算した結果を前記ＯＲゲートのうち最初のＯＲゲートに出力できる。
【００７９】
前記最初のＯＲゲートは、演算結果を前記最後のＯＲゲートに出力することができ、その次に、前記最後のＯＲゲートは、前記第２フラグＦｌａｇ２を出力できる。
【００８０】
図６Ａは、前記デコーディング部９００のブロック図を表わし、図６Ｂは、前記バランスリバーシング部９１０及び前記ＤＢＩデコーディング部９２０を含む前記デコーディング部９００の概略図を表わす。前記バランスリバーシング部９１０は、ＭＵＸ９１１及びパターン検出器（ｐａｔｔｅｒｎ  ｄｅｔｅｃｔｏｒ）９１２を含みうる。
【００８１】
前記８ビットデータのうち前記最初の６ビットデータは、如何なる追加プロセッシングもなしに前記バランスリバーシング部９１０を介して前記ＤＢＩデコーディング部９２０にパスされうる。
【００８２】
前記８ビットデータのうち最後の２ビットは、前記パターン検出器９１２及び前記ＭＵＸ９１１に出力されうる。前記第１フラグＦｌａｇ１も前記パターン検出器９１２に出力されることができ、一方では如何なる追加プロセッシングもなしに前記バランスリバーシング部９１０を介してパスできる。
【００８３】
また、前記ＭＵＸ９１１は、外部から２ビットデータ（“１１”）を受信することができ、前記パターン検出器９１２からトリガーＱを受信できる。前記トリガーＱは、前記８ビットデータのうち前記最後の２ビットデータ、前記第１フラグＦｌａｇ１、及び前記第２フラグＦｌａｇ２によって決定されうる。
【００８４】
次に、前記ＭＵＸ９１１は、前記ＤＢＩデコーディング部９２０に前記最後の２ビットデータを出力できる。
【００８５】
図６Ｂに図示されたように、前記パターン検出器９１２は、前記第１フラグＦｌａｇ１と前記ＤＱ７、ＤＱ８、及び前記第２フラグＦｌａｑ２の反転された入力を受信するＡＮＤゲートとを含むことができ、演算結果を前記トリガーＱとして前記ＭＵＸ９１１に出力できる。
【００８６】
前記トリガーＱが１である時、前記出力データＤＱ７、ＤＱ８は、１に復旧されうる。前記トリガーＱが０である時、前記出力データＤＱ７、ＤＱ８は、維持されうる。
【００８７】
図７Ａ及び図７Ｂは、コーディングしていない信号と本発明の一実施形態によってコーディングされた信号に対するアイダイヤグラム（ｅｙｅ  ｄｉａｇｒａｍｓ）を表わす。図７Ａ及び図７Ｂに図示されたように、本発明の一実施形態によるコーディングは顕著に、例えば、半分以上ジッタを減少させうる。
【００８８】
図８は、本発明の他の実施形態による８ビットデータに対するコーディングテーブルを表わす。図８に図示されたように、前記マルチビットデータ（ここでは、８ビットデータ）は、先にエンコーディングされたデータ内にゼロの数が０ないし少なくとも前記マルチビットの半分ほどの範囲にあるようにする前記ＤＢＩ方法を受けられうる。
【００８９】
次に、前記ＤＢＩコーディングされたデータは、前記マルチビットデータのうちゼロの数の範囲において差を減らし、それによってノイズを減らすために図１のＳ１５０段階ないしＳ１８０段階を経られうる。
【００９０】
しかし、ゼロが十分ではない時、前記最下位ビット、ここでは、前記マルチビットデータの最後の３ビットを強制にゼロにするよりは前記最下位ビットが反転されうる。
【００９１】
例えば、図８に図示されたように、ゼロの数の範囲内の中間数（例えば、２）より小さいか同じである場合（ここでは、ＣＡＳＥ１、ＣＡＳＥ２、ＣＡＳＥ３、ＣＡＳＥ８、及びＣＡＳＥ９）に対して前記第２フラグＦｌａｇ２は、ゼロになるように設定しうる。すべての他の場合に対しては、前記第２フラグＦｌａｇ２は、１になるように設定しうる。
【００９２】
前記ゼロの数が相変らず前記中間数より小さいか同じである場合（例えば、ＣＡＳＥ１、ＣＡＳＥ２、及びＣＡＳＥ９）、前記データの前記最後の３ビットが反転されうる。したがって、いま前記ゼロの数は、３ないし５の間の範囲にあり得る。したがって、ノイズが減少されながら相異なる場合の間にデルタは減少する。具体的に、例えば、前記デルタは、４ＩＤＱから２ＩＤＱに減少する。
【００９３】
本発明の実施形態が説明の便宜上、８ビットワードであるマルチビットデータと関連して記述されたが、本発明の実施形態によるバランスコーディングは、他のマルチビットデータ（例えば、１６ビットデータ、６４ビットデータなど）にも拡張されうる。
【００９４】
ここでは、説明の便宜上、単に一つのバランスコーディングのみが説明されたが反復されたバランスコーディングも適用可能である。
【００９５】
例えば、ｎバランスコーディングが使われる時、最初のマルチビットデータ内のゼロの最大数とゼロの最小数との間の最初デルタ（Δｉ）は、２（ｎ＋１）まで減少しうる。ｎ＝０は、単にデータバスインバージョン（ＤＢＩ）だけが起きたということ、例えば、如何なるバランスコーディングも実行されなかったということを表わす。
【００９６】
すなわち、ｎバランスコーディング後に結果として生ずるデルタ（Δｎ）は、次の数式１を満足できる。
【数１】
0005230960.tif 000002
【００９７】
また、ゼロに設定されるか反転される最下位ビットとして使われうるｍビットを有するマルチビットデータ内のビットの数（ｘ）は、次の数式２を満足できる。
【数２】
0005230960.tif 000003
【００９８】
以上、本発明の実施形態が開示され、特定用語が適用されたとしても、それらは一般的で技術的な意味として使われて解釈されるものであり、制限的な目的のためのものではない。例えば、本発明の実施形態による前記マルチビットデータのバランシングは、ソフトウェア、例えば、機械によって接近された時、前記機械が本発明の方法によって前記マルチビットデータをバランスさせるデータを含む機械接近可能な媒体（ｍａｃｈｉｎｅ−ａｃｃｅｓｓｉｂｌｅ  ｍｅｄｉｕｍ）を有する一つの製品として具現可能である。
【００９９】
また、８ビットデータとしてマルチビットデータの例を挙げたが、本発明の実施形態は、他のサイズのマルチビットデータにも適用可能である。それぞれの追加的なフラグは、コーディングされたデータの間のデルタを２の因数（ａ  ｆａｃｔｏｒ  ｏｆ  ｔｗｏ）まで減少させうる。
【０１００】
したがって、当業者ならば、これより多様な変形及び均等な他実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決まるべきである。
【産業上の利用可能性】
【０１０１】
メモリリフレッシュに必要な電力を減らすための方法及び装置関連の技術分野に適用可能である。
【図面の簡単な説明】
【０１０２】
【図１】本発明の一実施形態によるエンコーディング過程に対するフローチャートである。
【図２】本発明の一実施形態によるコーディングテーブルを表わす図である。
【図３】本発明の一実施形態によるエンコーディング過程に対するフローチャートである。
【図４】本発明の一実施形態によるシングルエンド並列データインターフェースシステムのブロック図を表わす。
【図５Ａ】本発明の一実施形態による図４に図示されたエンコーディング部のブロック図である。
【図５Ｂ】本発明の一実施形態による図５Ａに図示されたエンコーディング部の概略図である。
【図６Ａ】本発明の一実施形態による図４に図示されたデコーディング部のブロック図である。
【図６Ｂ】本発明の一実施形態による図６Ａに図示されたデコーディング部の概略図である。
【図７Ａ】コーディングを使っていないアイダイヤグラムを表わす図である。
【図７Ｂ】本発明の一実施形態によるコーディングを使ったアイダイヤグラムを表わす図である。
【図８】本発明の一実施形態によるコーディングテーブルを表わす図である。
【図９】一般的なエンコーディング方法のフローチャートである。
【符号の説明】
【０１０３】
７００：シングルエンド並列データインターフェースシステム
７１０：送信器                        ７１１：データ保存部
７１４：ドライバー部                  ７２０：受信器
７２３：データ保存部                  ８００：エンコーディング部
８１０：ＤＢＩエンコーディング部      ８２０：バランス部
８２１：マルチプレクサ（ＭＵＸ）      ８２２：ロジックレベル検出器
９００：デコーディング部              ９１０：バランスリバーシング部
９１１：ＭＵＸ                        ９１２：パターン検出器
９２０：ＤＢＩデコーディング部
【図１】
0005230960.tif 000004
【図２】
0005230960.tif 000005
【図３】
0005230960.tif 000006
【図４】
0005230960.tif 000007
【図５Ａ】
0005230960.tif 000008
【図５Ｂ】
0005230960.tif 000009
【図６Ａ】
0005230960.tif 000010
【図６Ｂ】
0005230960.tif 000011
【図８】
0005230960.tif 000012
【図９】
0005230960.tif 000013
【図７Ａ】
0005230960.tif 000014
【図７Ｂ】
0005230960.tif 000015