(57)【要約】【課題】メモリチップ、メモリモジュールの書き込み、読み出し時のデータ切り替えに伴うノイズを削減できるようにすることを目的としている。【解決手段】複数個のバーストから成るライトデータをメモリに書き込む際に、前記バーストの順番を並べ替えてｎ種類のライトデータを生成するとともに、前記ｎ種類のライトデータの中から、メモリに書き込む際のデータ切り替え回数が前記バーストの順番を並べ替える前よりも少ないライトデータを選択し、更に選択されたライトデータのバースト並び順を冗長ビットにエンコードするようにして、前記選択されたライトデータと、前記エンコードされた冗長ビットとを前記メモリに書き込むようにすることにより、メモリリード、ライト時のデータ切り替え回数をできる限り低減できるようにする。【選択図】図１
2008059449.tif 000002
【特許請求の範囲】
【請求項１】
複数個のバーストから成るライトデータをメモリに書き込む制御を行うとともに、前記メモリに書き込まれたデータを読み出す制御を行うメモリ制御回路であって、
前記バーストの順番を並べ替えてｎ種類のライトデータを生成するライトデータ生成手段と、
前記ライトデータ生成手段によって生成されたｎ種類のライトデータの中から、メモリに書き込む際のデータ切り替え回数が前記バーストの順番を並べ替える前よりも少ないライトデータを選択するライトデータ選択手段と、
前記ライトデータ選択手段によって選択されたライトデータのバースト並び順を冗長ビットにエンコードするエンコード手段と、
前記ライトデータ選択手段によって選択されたライトデータと、前記エンコード手段によってエンコードされた冗長ビットとを前記メモリに書き込む書き込み手段と、
前記書き込み手段によって書き込まれたライトデータと冗長ビットとを前記メモリから読み出す読み出し手段と、
前記読み出し手段によって読み出された冗長ビットをデコードするデコード手段と、
前記デコード手段のデコーダ結果に従って、前記読み出し手段によって前記メモリから読み出されたリードデータのバースト並び順を検出するバースト並び順検出手段と、
前記バースト並び順検出手段の検出結果に従って前記リードデータのバースト並び順を並べ替えて前記並び替えを行う前のバーストの順番となるように復元するデータ復元手段とを有することを特徴とするメモリ制御回路。
【請求項２】
前記ライトデータ選択手段は、前記ライトデータの切り替え回数が最小となるように前記バーストの順番が並べ替えられたライトデータを選択することを特徴とする請求項１に記載のメモリ制御回路。
【請求項３】
前記ライトデータ生成手段は、予め定めた並び替えパターンに基づいてデータの並び替えを行うことを特徴とする請求項１または２に記載のメモリ制御回路。
【請求項４】
前記ライトデータ生成手段によって並び替えられたライトデータが特定パターンであるか否かを判定するパターン判定手段を有し、
前記エンコード手段は、前記パターン判定が特定パターンであると判定したパターンの情報を冗長ビットにエンコードすることを特徴とする請求項３に記載のメモリ制御回路。
【請求項５】
前記パターン判定手段が特定パターンであると判定したパターンをメモリに書き込むライトデータとして固定するライトデータ固定手段を有することを特徴とする請求項３または４に記載のメモリ制御回路。
【請求項６】
複数個のバーストから成るライトデータをメモリに書き込む制御を行うとともに、前記メモリに書き込まれたデータを読み出す制御を行うメモリ制御方法であって、
前記バーストの順番を並べ替えてｎ種類のライトデータを生成するライトデータ生成工程と、
前記ライトデータ生成工程において生成されたｎ種類のライトデータの中から、メモリに書き込む際のデータ切り替え回数が前記バーストの順番を並べ替える前よりも少ないライトデータを選択するライトデータ選択工程と、
前記ライトデータ選択工程において選択されたライトデータのバースト並び順を冗長ビットにエンコードするエンコード工程と、
前記ライトデータ選択工程において選択されたライトデータと、前記エンコード工程においてエンコードされた冗長ビットとを前記メモリに書き込む書き込み工程と、
前記書き込み工程において書き込まれたライトデータと冗長ビットとを前記メモリから読み出す読み出し工程と、
前記読み出し工程において読み出された冗長ビットをデコードするデコード工程と、
前記デコード工程におけるデコーダ結果に従って、前記読み出し工程において前記メモリから読み出されたリードデータのバースト並び順を検出するバースト並び順検出工程と、
前記バースト並び順検出工程における検出結果に従って前記リードデータのバースト並び順を並べ替えて前記並び替えを行う前のバーストの順番となるように復元するデータ復元工程とを有することを特徴とするメモリ制御方法。
【請求項７】
複数個のバーストから成るライトデータをメモリに書き込む制御を行うとともに、前記メモリに書き込まれたデータを読み出す制御を行うメモリ制御方法をコンピュータに実行させるプログラムであって、
前記バーストの順番を並べ替えてｎ種類のライトデータを生成するライトデータ生成工程と、
前記ライトデータ生成工程において生成されたｎ種類のライトデータの中から、メモリに書き込む際のデータ切り替え回数が前記バーストの順番を並べ替える前よりも少ないライトデータを選択するライトデータ選択工程と、
前記ライトデータ選択工程において選択されたライトデータのバースト並び順を冗長ビットにエンコードするエンコード工程と、
前記ライトデータ選択工程において選択されたライトデータと、前記エンコード工程においてエンコードされた冗長ビットとを前記メモリに書き込む書き込み工程と、
前記書き込み工程において書き込まれたライトデータと冗長ビットとを前記メモリから読み出す読み出し工程と、
前記読み出し工程において読み出された冗長ビットをデコードするデコード工程と、
前記デコード工程におけるデコーダ結果に従って、前記読み出し工程において前記メモリから読み出されたリードデータのバースト並び順を検出するバースト並び順検出工程と、
前記バースト並び順検出工程における検出結果に従って前記リードデータのバースト並び順を並べ替えて前記並び替えを行う前のバーストの順番となるように復元するデータ復元工程とを有するメモリ制御方法をコンピュータに実行させることを特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリ制御回路及びメモリ制御方法に関する。特に、ＥＭＩ(電磁妨害) 、同時スイッチングノイズ（ＳＳＯ）を抑制するために用いて好適な技術に関する。
【背景技術】
【０００２】
近年、半導体プロセスの向上により、ＬＳＩの集積度、動作周波数は飛躍的に向上し、このＬＳＩを使用した機器の処理能力も飛躍的に向上している。動作周波数の向上により、ＬＳＩの電磁放射も大きくなり、ＥＭＩ(electro magnetic interference)の対策が困難になってきている。ＬＳＩの動作周波数が高くなると、クロック信号に含まれる高周波での高調波成分が大きくなり、高調波成分の放射が増大する。
【０００３】
ＥＭＩ対策として、スペクトラム拡散クロックジェネレータ、ＳＳＣＧ(Spread Spectrum Clock Generator)が使用されている。ＳＳＣＧは、ＬＳＩのクロック周波数をわずかに変動させて発振させる（周波数変調）ことによって、ＥＭＩのピークを低く抑える働きをする。また、ＬＳＩの動作周波数の向上に伴い、その信号の品質、いわゆるシグナル・インテグリティーをいかに確保するかが重要になってきている。
【０００４】
ところで、ＬＳＩチップ上のトランジスタがスイッチングすると、電源/グラウンド配線に高周波電流が流れる結果、電源/グラウンド配線に雑音が発生する。いわゆる電源バウンス、グラウンド・バウンスである。
【０００５】
このノイズは、スイッチングするトランジスタの数に比例して大きくなる。ＬＳＩチップに集積した数多くのトランジスタが同時にスイッチングすることによって生じる大きな電源バウンス、グラウンド・バウンスを同時スイッチグノイズ（ＳＳＯノイズ）と呼んでいる。
【０００６】
ＬＳＩの動作周波数と集積度の向上により、ノイズは増加しているが、その一方で、ＬＳＩ電源電圧低下と動作周波数の向上によりノイズマージンが減少しており、ノイズ対策が重要課題となってきている。前記のようなノイズ及びＥＭＩを有効に低減するための技術として、特許文献１には「メモリアクセス信号生成回路」が提案されている。
【０００７】
【特許文献１】特開２００４―２１３５６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前記特許文献１に記載の「メモリアクセス信号生成回路」においては、デジタル信号の遷移を検出しその信号を遅延させた場合は、同時に遷移を検出した次段のデジタル信号を遅延させないよう制御している。更に、同時に遷移を検出した次段のデジタル信号を遅延させるよう制御することにより、アドレスまたはデータ信号等のデジタル信号で発生する同時スイッチング数を常に１／２に制御する。ことにより、消費電力、ノイズ及びＥＭＩを適切に低減できるようにしている。
【０００９】
しかしながら、前記特許文献１に記載の「メモリアクセス信号生成回路」の場合には、メモリリード、ライト時のデータ切り替え回数を低減する工夫が施されていなかった。このため、データ切り替え回数が多くなるとノイズが大きくなり、本ノイズによる動作マージン低減が問題となっていた。
【００１０】
本発明は前述の問題点に鑑み、メモリチップ、メモリモジュールの書き込み、読み出し時のデータ切り替えに伴うノイズを削減できるようにすることを目的としている。
【課題を解決するための手段】
【００１１】
本発明のメモリ制御回路は、複数個のバーストから成るライトデータをメモリに書き込む制御を行うとともに、前記メモリに書き込まれたデータを読み出す制御を行うメモリ制御回路であって、前記バーストの順番を並べ替えてｎ種類のライトデータを生成するライトデータ生成手段と、前記ライトデータ生成手段によって生成されたｎ種類のライトデータの中から、メモリに書き込む際のデータ切り替え回数が前記バーストの順番を並べ替える前よりも少ないライトデータを選択するライトデータ選択手段と、前記ライトデータ選択手段によって選択されたライトデータのバースト並び順を冗長ビットにエンコードするエンコード手段と、前記ライトデータ選択手段によって選択されたライトデータと、前記エンコード手段によってエンコードされた冗長ビットとを前記メモリに書き込む書き込み手段と、前記書き込み手段によって書き込まれたライトデータと冗長ビットとを前記メモリから読み出す読み出し手段と、前記読み出し手段によって読み出された冗長ビットをデコードするデコード手段と、前記デコード手段のデコーダ結果に従って、前記読み出し手段によって前記メモリから読み出されたリードデータのバースト並び順を検出するバースト並び順検出手段と、前記バースト並び順検出手段の検出結果に従って前記リードデータのバースト並び順を並べ替えて前記並び替えを行う前のバーストの順番となるように復元するデータ復元手段とを有することを特徴とする。
【００１２】
本発明のメモリ制御方法は、複数個のバーストから成るライトデータをメモリに書き込む制御を行うとともに、前記メモリに書き込まれたデータを読み出す制御を行うメモリ制御方法であって、前記バーストの順番を並べ替えてｎ種類のライトデータを生成するライトデータ生成工程と、前記ライトデータ生成工程において生成されたｎ種類のライトデータの中から、メモリに書き込む際のデータ切り替え回数が前記バーストの順番を並べ替える前よりも少ないライトデータを選択するライトデータ選択工程と、前記ライトデータ選択工程において選択されたライトデータのバースト並び順を冗長ビットにエンコードするエンコード工程と、前記ライトデータ選択工程において選択されたライトデータと、前記エンコード工程においてエンコードされた冗長ビットとを前記メモリに書き込む書き込み工程と、前記書き込み工程において書き込まれたライトデータと冗長ビットとを前記メモリから読み出す読み出し工程と、前記読み出し工程において読み出された冗長ビットをデコードするデコード工程と、前記デコード工程におけるデコーダ結果に従って、前記読み出し工程において前記メモリから読み出されたリードデータのバースト並び順を検出するバースト並び順検出工程と、前記バースト並び順検出工程における検出結果に従って前記リードデータのバースト並び順を並べ替えて前記並び替えを行う前のバーストの順番となるように復元するデータ復元工程とを有することを特徴とする。
【００１３】
本発明のプログラムは、複数個のバーストから成るライトデータをメモリに書き込む制御を行うとともに、前記メモリに書き込まれたデータを読み出す制御を行うメモリ制御方法をコンピュータに実行させるプログラムであって、前記バーストの順番を並べ替えてｎ種類のライトデータを生成するライトデータ生成工程と、前記ライトデータ生成工程において生成されたｎ種類のライトデータの中から、メモリに書き込む際のデータ切り替え回数が前記バーストの順番を並べ替える前よりも少ないライトデータを選択するライトデータ選択工程と、前記ライトデータ選択工程において選択されたライトデータのバースト並び順を冗長ビットにエンコードするエンコード工程と、前記ライトデータ選択工程において選択されたライトデータと、前記エンコード工程においてエンコードされた冗長ビットとを前記メモリに書き込む書き込み工程と、前記書き込み工程において書き込まれたライトデータと冗長ビットとを前記メモリから読み出す読み出し工程と、前記読み出し工程において読み出された冗長ビットをデコードするデコード工程と、前記デコード工程におけるデコーダ結果に従って、前記読み出し工程において前記メモリから読み出されたリードデータのバースト並び順を検出するバースト並び順検出工程と、前記バースト並び順検出工程における検出結果に従って前記リードデータのバースト並び順を並べ替えて前記並び替えを行う前のバーストの順番となるように復元するデータ復元工程とを有するメモリ制御方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、メモリリード、ライト時のデータ切り替え回数を低減することでＥＭＩノイズ、ＳＳＯノイズの低減することができる。また、切り替え回数低減により、メモリリードライト時の消費電力を低減することができる。
【発明を実施するための最良の形態】
【００１５】
（第１の実施形態）
以下、本発明の実施形態について図面を参照しながら詳述する。
まず、本発明の第１の実施形態に係る画像表示システムについて説明する。
図１は、本実施形態に係るメモリシステムについて説明する。
【００１６】
図１において、２０００はメモリコントローラ、２１００はメモリである。メモリコントローラ２０００はバスインターフェース２０１０、コマンド生成回路２０４０、ライトデータ生成回路２０３０、リードデータ受信回路２０２０より構成されている。
【００１７】
ライトデータ生成回路２０３０は、ライトデータバッファ２０３３、データ判定部２０３１、エンコード部２０３２より構成されている。また、リードデータ受信回路２０２０はリードデータバッファ２０２１、データ並び替え制御回路２０２２、デコード部２０２３から構成されている。
【００１８】
システムバスからライト要求を受け取ったメモリコントローラ２０００は、バスインターフェース２０１０でバスプロトコルに応じてコマンド、ライトデータを生成する。そして、コマンドはコマンド生成回路２０４０に送信し、ライトデータはライトデータ生成回路２０３０に送信する。
【００１９】
コマンド生成回路２０４０は、受け取ったコマンドをメモリコマンドに変換する。ライトデータ生成回路２０３０は、受信したライトデータをライトデータバッファ２０３３に書き込む。ライトデータバッファ２０３３内に書き込まれたライトデータは、データ判定部２０３１で並び替えの順序を判定される。データ判定部２０３１の判定結果をエンコード部２０３２でエンコードする。次に、データ判定部２０３１とエンコード部２０３２の出力結果により、メモリ２１００に書き込むメモリライトデータを生成する。
【００２０】
一方、リード時には、デコード部２０２３のデコード結果を元にデータ並び替え制御回路２０２２でデータの並び替えを行う。リードデータバッファ２０２１はデータ並び替え後のデータを保持し、バスインターフェース２０１０を介して、システムバスにリードデータを送信する。
【００２１】
次に、図２を用いてデータ判定部２０３１について説明する。
本実施形態のデータ判定部２０３１は、データ並び替え部０〜ｎ（１１０−０〜１１０−ｎ）、データ切り替わりカウント部０〜ｎ（１２０−０〜１２０−ｎ）、最小値判定回路１３０、データ選択回路１４０等により構成されている。
【００２２】
本実施形態では、バースト長４を使用して説明する。ライトデータバッファ２０３３内のライトデータは、バースト０〜バースト３（１０１〜１０４）のデータに各々分割される。バースト０〜バースト３（１０１〜１０４）のデータは、並び替え部０〜ｎ(１１０−０〜１１０−ｎ)で各並び替えパターンに基づきデータの並び替えが行われる。
【００２３】
データ並び替え後のデータは、切り替わりカウント部０〜ｎ（１２０−０〜１２０−ｎ）に入力され、各データパターンの切り替わり回数が出力される。最小値判定回路１３０は、データ切り替わりカウント部０〜ｎ（１２０−０〜１２０−ｎ）の出力の最小値を判定し、判定結果をエンコード部（エンコーダ）２０３２、データ選択回路１４０に出力する。データ選択回路１４０の選択結果をメモリライトデータの一部として出力する。
【００２４】
次に、図３を用いて、データ並び替えの具体例を示す。本実施形態では、バースト長４、データ８ビット幅を使用して説明する。また、ライトデータが「FF→０F→F０→FF」の場合を使用して説明する。
並び替え０（０→１→２→３、データの並び替えをしない）の場合、バースト０〜バースト１の間に４ビット、バースト１〜バースト２の間に８ビット、バースト２〜バースト３の間に４ビットのデータが切り替わる。これをまとめると、１バースト中にデータの切り替わりが１６回発生する。
【００２５】
次に、並び替え１（バースト１→バースト０→バースト３→バースト２の順の並び替えを行う）の場合、各バースト間で、４ビット、０ビット、４ビットのデータ切り替わりが発生し、トータルで８ビットの切り替わりが発生する。同様に、並び替え２は、１２ビットの切り替えが発生する。データ切り替え回数が最小となるのは、並び替え１のパターンであり、本データ並び替え結果をエンコードした「００１１」がメモリライトデータに付加される。
【００２６】
図４にタイミングチャートの一例を示す。図４において、DQSはデータストローブ、DQはデータ信号、DQMはデータマスク信号を示している。従来例（本実施形態を適用していない例）ではライトデータをそのまま、DQに出力していた。それに対して、本実施形態においてはDQ冗長ビットを用いてエンコード結果を送信し、かつ、データ並び替え結果を通常のDQで転送を行っている。
【００２７】
これにより、メモリリード及びライト時に行うデータ切り替え回数を低減することが可能となり、ＥＭＩノイズ、ＳＳＯノイズを低減することができる。また、切り替え回数を低減することにより、メモリリード及びライトを行うことにより消費される電力を低減することができる。
【００２８】
次に、図１０を参照しながらメモリ制御手順の一例を説明する。
先ず、最初のステップＳ１０１において、ライトデータバッファ２０３３内のライトデータのバースト順番を並び替えてｎ種類のライトデータを生成する。
【００２９】
次に、ステップＳ１０２において、各ライトデータにおけるデータパターンの切り替わり回数を検出する。次に、ステップＳ１０３においてデータ切り替わり回数が最も少ないライトデータを選択する。
【００３０】
次に、ステップＳ１０４において、ステップＳ１０３において選択されたライトデータのバースト並び順を冗長ビットにエンコードする。このエンコードは、前述したように例えば、４ビットで符号化される。そして、エンコードした冗長ビットがライトデータに付加される。次に、ステップＳ１０５において、前記選択されたライトデータと、前記エンコードされた冗長ビットとを前記メモリ２１００に書き込む。
【００３１】
次に、ステップＳ１０６に進み、前述のようにしてメモリ２１００に書き込まれたライトデータと冗長ビットとを前記メモリから読み出す。次に、ステップＳ１０７に進み、読み出された冗長ビットをデコードする。次に、ステップＳ１０８に進み、ステップＳ１０７で行われたデコーダ結果に従って、メモリ２１００から読み出されたリードデータのバースト並び順を検出する。
【００３２】
次に、ステップＳ１０９に進み、バースト並び順検出結果に従って、メモリ２１００から読み出されたリードデータのバースト並び順を並べ替えて、前記並び替えを行う前のバーストの順番となるようにリードデータを復元する。
【００３３】
本実施形態のメモリ制御方法は、前述したようにして、メモリ２１００に書き込む際のデータ切り替え回数が最も少なくなるように、バーストの順番を並べ替えてライトデータを生成する。これにより、メモリ２１００に書き込む際のノイズ、及びメモリ２１００から読み出す際のノイズを低減することができる。
【００３４】
（第２の実施形態）
次に、本発明の第２の実施形態に係る画像表示システムについて説明する。
図５は、本実施形態に係るメモリシステムについて説明する。
３０００はメモリコントローラ、３１００はメモリである。メモリコントローラ３０００は、バスインターフェース３０１０、コマンド生成回路３０４０、ライトデータ生成回路３０３０、リードデータ受信回路３０２０等より構成されている。
【００３５】
ライトデータ生成回路３０３０は、ライトデータバッファ３０３３、データ判定部３０３１、エンコード部３０３２、データ固定制御部３０３４等により構成されている。また、リードデータ受信回路３０２０は、リードデータバッファ３０２１、リードデータ選択部３０２２、デコード部３０２３等から構成されている。
【００３６】
システムバスからライト要求を受け取ったメモリコントローラ３０００は、バスインターフェース３０１０でバスプロトコルに応じてコマンド、ライトデータを生成する。そして、コマンドはコマンド生成回路３０４０、ライトデータはライトデータ生成回路３０３０に送信される。
【００３７】
コマンド生成回路３０４０は、受け取ったコマンドをメモリコマンドに変換する。ライトデータ生成回路３０３０は、受信したライトデータをライトデータバッファ３０３３に書き込む。ライトデータバッファ３０３３内のライトデータは、データ判定部３０３１でライトデータが特定パターンと一致するかを判定する。データ判定部３０３１の判定結果をエンコード部３０３２でエンコードする。
【００３８】
また、データ固定制御部３０３４は、データ判定部３０３１に応じてメモリにライトするデータを固定する。データ固定制御部３０３４とエンコード部３０３２の出力結果により、メモリライトデータが生成される。
【００３９】
リード時には、デコード部３０２３でメモリリードデータをデコードし、特定パターンと一致しているか判定する。リードデータ選択部３０２２で一致している場合には、リードデータを特定パターンに変更し、リードデータバッファ３０２１に送信する。リードデータバッファ３０２１はデータ並び替え後のデータを保持し、バスインターフェース３０１０を介して、システムバスにリードデータを送信する。
【００４０】
次に、図６を用いてデータ判定部３０３１について説明する。
データ判定部３０３１は、データ比較回路（２１０−０〜２１０−ｎ）、データパターン保持回路２２０、データヒットフラグ生成回路２３０等より構成されている。本実施形態では、バースト長４を使用して説明する。
【００４１】
ライトデータバッファ３０３３内のライトデータは、バースト０〜バースト３（２０１〜２０４）のデータに分割できる。バースト０〜バースト３のデータは、データ比較回路（２１０−０〜２１０−ｎ）で各データパターンとの比較が行われる。データ比較結果はエンコーダ部３０３２に送信され、エンコードされる。また、比較結果は演算されヒットフラグが生成され、データ固定制御部３０３４に送信される。
【００４２】
データ固定制御部３０３４は、ヒットフラグが「１」の場合、ライトデータを固定し、それ以外の場合には、ライトデータをそのまま、メモリライトデータの一部として出力する。
【００４３】
次に、図７及び図１０を用いて、データ固定の具体的な処理手順の一例を説明する。本実施形態では、バースト長４、データ８ビット幅を使用して説明する。
先ず、ステップＳ１０１において、ライトデータを、パターン０〜パターンｎと比較する。図７に示したように、ライトデータが「FF→００→FF→００」の場合、パターン１に一致するため、データ判定部３０３１は、ヒット１とヒットフラグが「１」となる。エンコード部３０３２は、ヒット０〜nの結果を元に「００１０」をエンコードする。また、データ固定制御部３０３４は、ヒットフラグが立っているため、データを「０」に固定して送信する。なお、パターン０〜パターンｎは、データの切り替え回数の多いパターンである。
【００４４】
また、ライトデータが「００→０１→０２→０３」の場合、パターンに一致しないので、エンコード部３０３２は「００００」を出力し、データ固定制御部３０３４はライトデータをそのまま、メモリライトデータとして出力する。
【００４５】
次に、図８にタイミングチャートを示す。従来例（本実施形態を適用していない例）ではライトデータをそのまま、DQに出力していたのに対して、DQ冗長ビットを用いてエンコード結果を送信し、かつ、データ固定結果を通常のDQで転送を行っている。A０へのライトの場合、アクセスパターンに一致するため、DQ[７:０]は「０」に固定され、DQ冗長ビットにエンコードされた結果が送信される。A１へのライト時には、アクセスパターンに一致せず、ライトデータがそのまま、DQ[７:０]に出力され、DQ冗長ビットは「００００」となる。
【００４６】
次に、図９を用いて、リードデータ選択部３０２２について説明する。
リードデータ選択部３０２２は、データパターン選択回路３１０及びデータパターン保持回路３２０より構成されている。本実施形態ではデータパターン保持回路３２０をリード、ライト個別に設けたが、同一のデータを保持するため共用も可能である。デコード部３０２３からのデコード結果に基づき、リードデータを選択する。
【００４７】
デコード結果が「００００」の場合、図７より特定パターンに該当しないため、メモリリードデータがそのまま、リードバッファに出力される。また、デコード結果により特定パターンに一致した場合、データパターン保持回路３２０からのデータが選択される。
【００４８】
以上、説明した手順により、本実施形態のメモリシステムにおいては、データの切り替え回数を削減することができ、メモリチップ、メモリモジュールの書き込み、読み出し時のデータ切り替えに伴うノイズを削減することができる。
【００４９】
（本発明に係る他の実施形態）
前述した本発明の実施形態におけるメモリ制御回路を構成する各手段、並びにメモリ制御方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００５０】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能である。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００５１】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図１０に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接されてもよい。あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００５２】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００５３】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００５４】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどである。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）なども含む。
【００５５】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、前記ホームページから本発明のコンピュータプログラムそのものをダウンロードすることによっても供給できる。もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００５６】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００５７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００５８】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００５９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００６０】
【図１】本発明のメモリコントローラの第１の実施形態の構成を示す図である。
【図２】第１の実施形態のデータ判定部の構成を示す図である。
【図３】第１の実施形態におけるデータ順序の入れ替え例を示す図である。
【図４】第１の実施形態におけるライト時のメモリインターフェースの動作タイミングを示す図である。
【図５】本発明のメモリコントローラの第２の実施形態の構成を示す図である。
【図６】第２の実施形態のデータ判定部の構成を示す図である。
【図７】第２の実施形態におけるデータパターン比較例を示す図である。
【図８】第２の実施形態におけるライト時のメモリインターフェースの動作タイミングを示す図である。
【図９】第２の実施形態におけるリードデータ復元回路の構成を示す図である。
【図１０】データをメモリに書き込むとき、及びメモリからデータを読み出すときの処理手順の一例を説明するフローチャートである。
【符号の説明】
【００６１】
２０００  メモリコントローラ
２１００  メモリ
２０１０  バスインターフェース
２０２０  リードデータ受信回路
２０３０  ライトデータ生成回路
２０４０  コマンド生成回路
２０２１  リードデータバッファ
２０２２  データ並び替え制御回路
２０２３  デコード部
２０３１  データ判定部
２０３２  エンコード部
２０３３  ライトデータバッファ回路
【図１】
2008059449.tif 000003
【図２】
2008059449.tif 000004
【図３】
2008059449.tif 000005
【図４】
2008059449.tif 000006
【図５】
2008059449.tif 000007
【図６】
2008059449.tif 000008
【図７】
2008059449.tif 000009
【図８】
2008059449.tif 000010
【図９】
2008059449.tif 000011
【図１０】
2008059449.tif 000012