(57)【特許請求の範囲】
【請求項１】
メモリのアドレスを指定し信号ラインを介してメモリにデータを書き込む書込部と、前記メモリのアドレスを指定し前記信号ラインを介して前記メモリからデータの読み出す読出部とを備え、
前記書込部が、前記信号ラインを介して前記メモリに書き込まれる伝送データのビット列の「１」と「０」との並びが置換対象として設定された対象パターンである場合に、前記メモリに書き込む以前に、前記対象パターンの初期ビット列を、「１」と「０」との並びが前記対象パターンとは異なる置換後パターンとなる置換ビット列に置き換える置換ユニットを備え、
前記読出部が、前記メモリから読み出したデータの前記置換ビット列を前記初期ビット列に復元する復元ユニットを備え、
前記置換ユニットが、
前記伝送データのビット列の「１」と「０」との並びが前記対象パターンであるかを判定するパターン判定モジュールと、
前記パターン判定モジュールで前記対象パターンであることを判定した場合に、前記初期ビット列を前記置換ビット列に置き換える置換モジュールと、
前記置換モジュールでの置き換えを行った場合に、前記対象パターンと、前記置換ビット列が書き込まれる前記メモリのアドレスを特定するためのアドレスデータと、を関連付けて記憶させる記憶モジュールと、を備え、
前記復元ユニットが、
前記アドレスデータに基づいて、前記メモリから読み出したデータの中に含まれる前記置換ビット列を特定する特定モジュールと、
前記アドレスデータに関連付けられている前記対象パターンに基づいて、前記置換ビット列を置き換え前の前記初期ビット列に復元する復元モジュールと、を備えているメモリコントローラ。
【請求項２】
メモリのアドレスを指定し信号ラインを介してメモリにデータを書き込む書込部と、前記メモリのアドレスを指定し前記信号ラインを介して前記メモリからデータの読み出す読出部とを備え、
前記書込部が、前記信号ラインを介して前記メモリに書き込まれる伝送データのビット列の「１」と「０」との並びが置換対象として設定された対象パターンである場合に、前記メモリに書き込む以前に、前記対象パターンの初期ビット列を、「１」と「０」との並びが前記対象パターンとは異なる置換後パターンとなる置換ビット列に置き換える置換ユニットを備え、
前記読出部が、前記メモリから読み出したデータの前記置換ビット列を前記初期ビット列に復元する復元ユニットを備え、
前記置換ユニットによる置き換え前のデータに含まれるビット列の「１」と「０」の並びのパターンの出現頻度が、予め定められた基準値よりも高いパターンの中の少なくとも一つを、前記対象パターンに設定し、
前記出現頻度が、前記基準値よりも低いパターンの中の少なくとも一つを、前記置換後パターンに設定しているメモリコントローラ。
【請求項３】
メモリのアドレスを指定し信号ラインを介してメモリにデータを書き込む書込部と、前記メモリのアドレスを指定し前記信号ラインを介して前記メモリからデータの読み出す読出部とを備え、
前記書込部が、前記信号ラインを介して前記メモリに書き込まれる伝送データのビット列の「１」と「０」との並びが置換対象として設定された対象パターンである場合に、前記メモリに書き込む以前に、前記対象パターンの初期ビット列を、「１」と「０」との並びが前記対象パターンとは異なる置換後パターンとなる置換ビット列に置き換える置換ユニットを備え、
前記読出部が、前記メモリから読み出したデータの前記置換ビット列を前記初期ビット列に復元する復元ユニットを備え、
前記信号ラインを複数備えると共に、複数の前記信号ラインにより第１伝送レーンと第２伝送レーンとを少なくとも含む複数のデータ伝送レーンが構成され、
前記置換ユニットは、前記第１伝送レーンを介して伝送される前記置換ビット列の「１」と「０」との並びにより生じるオンオフ周波数と、前記第２伝送レーンを介して伝送される前記置換ビット列の「１」と「０」との並びにより生じるオンオフ周波数とが異なるように、前記第１伝送レーンと前記第２伝送レーンとで異なる前記置換後パターンを設定しているメモリコントローラ。
【請求項４】
メモリのアドレスを指定し信号ラインを介してメモリにデータを書き込む書込部と、前記メモリのアドレスを指定し前記信号ラインを介して前記メモリからデータの読み出す読出部とを備え、
前記書込部が、前記信号ラインを介して前記メモリに書き込まれる伝送データのビット列の「１」と「０」との並びが置換対象として設定された対象パターンである場合に、前記メモリに書き込む以前に、前記対象パターンの初期ビット列を、「１」と「０」との並びが前記対象パターンとは異なる置換後パターンとなる置換ビット列に置き換える置換ユニットを備え、
前記読出部が、前記メモリから読み出したデータの前記置換ビット列を前記初期ビット列に復元する復元ユニットを備え、
前記信号ラインを複数備えると共に、複数の前記信号ラインにより第１伝送レーンと第２伝送レーンとを少なくとも含む複数のデータ伝送レーンが構成され、
前記置換ユニットは、前記第１伝送レーンを介して伝送される前記置換ビット列の「１」と「０」との境界のタイミングと、前記第２伝送レーンを介して伝送される前記置換ビット列の「１」と「０」との境界のタイミングとが異なるように、前記第１伝送レーンと前記第２伝送レーンとで異なる前記置換後パターンを設定しているメモリコントローラ。
【請求項５】
メモリのアドレスを指定し信号ラインを介してメモリにデータを書き込む書込部と、前記メモリのアドレスを指定し前記信号ラインを介して前記メモリからデータの読み出す読出部とを備え、
前記書込部が、前記信号ラインを介して前記メモリに書き込まれる伝送データのビット列の「１」と「０」との並びが置換対象として設定された対象パターンである場合に、前記メモリに書き込む以前に、前記対象パターンの初期ビット列を、「１」と「０」との並びが前記対象パターンとは異なる置換後パターンとなる置換ビット列に置き換える置換ユニットを備え、
前記読出部が、前記メモリから読み出したデータの前記置換ビット列を前記初期ビット列に復元する復元ユニットを備え、
前記書込部は、前記伝送データが書き込まれる前記アドレスが、前記メモリの記憶領域の中にある複数の区分領域のいずれに属するかに応じて、或いは、前記伝送データの送信元のデバイスが、前記メモリにアクセス可能な複数のデバイスの中のいずれであるかに応じて、前記対象パターン及び前記置換後パターンの少なくとも一方を異ならせているメモリコントローラ。
【請求項６】
前記置換ユニットによる置き換え前のデータに含まれるビット列の「１」と「０」の並びのパターンのうち、予め定められたノイズ周波数域のノイズを発生させるパターンの中の少なくとも一つを、前記対象パターンに設定し、
前記ノイズ周波数域のノイズを発生させるパターン以外のパターンの中の少なくとも一つを、前記置換後パターンに設定している請求項１及び３から５のいずれか一項に記載のメモリコントローラ。
【請求項７】
前記置換後パターンが、「０」だけが連続するビット列、又は、「１」だけが連続するビット列である請求項１から６のいずれか一項に記載のメモリコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリに対して信号ラインを介してデータ伝送を行うメモリコントローラに関する。
【背景技術】
【０００２】
上記の技術として、例えば、下記の特許文献１には、信号ライン（引例ではデータバス）の各ビットを、２ビット以上の転送データに変換してデータバスに送り出し、データバスを送られた転送データを、復号回路により元のデータに復元することでバスノイズを低減するものが開示されている。
【０００３】
この特許文献１の技術では、転送データの複数のビットが、「１」又は「０」の状態から「０」又は「１」の状態への極端な変化が回避されることにより、電源や接地電位に対するノイズの発生を防止している。
【０００４】
メモリコントローラとメモリとの間のデータバスを考えると、データバスに送られるデータは「１」と「０」との組み合わせで成るため、例えば、「１」と「０」とが交互に伝送される場合には、バスクロックと同期した周波数の電磁波ノイズの発生に繋がるものであった。
【０００５】
特許文献１の技術は信号ラインでのノイズの発生を抑制するものの、転送データを生成するための論理回路と、転送データを元のデータに復元するための論理回路とを必要とし、コストが上昇するだけでなく、論理回路を配置するための回路基板のスペースの確保を必要とする課題がある。
【０００６】
また、ノイズの影響を抑制するために、金属性のシールドを回路基板に設けたり、回路設計を変更することなども行われているが、このような対策はコストの上昇の要因になると共に、変更が容易ではないために、様々な使用環境やノイズ要因に応じて柔軟に対策をとることが困難であるという問題があった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１‐６８８６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
そこで、メモリに対して信号ラインを介してデータ伝送を行う構成において、信号ラインで発生するノイズを効果的に抑制することができる技術が求められる。
【課題を解決するための手段】
【０００９】
上記に鑑みたメモリコントローラの技術的特徴は、メモリのアドレスを指定し信号ラインを介してメモリにデータを書き込む書込部と、前記メモリのアドレスを指定し前記信号ラインを介して前記メモリからデータを読み出す読出部とを備え、
前記書込部が、前記信号ラインを介して前記メモリに書き込まれる伝送データのビット列の「１」と「０」との並びが置換対象として設定された対象パターンである場合に、前記メモリに書き込む以前に、前記対象パターンの初期ビット列を、「１」と「０」との並びが前記対象パターンとは異なる置換後パターンとなる置換ビット列に置き換える置換ユニットを備え、
前記読出部が、前記メモリから読み出したデータの前記置換ビット列を前記初期ビット列に復元する復元ユニットを備えている点にある。
【００１０】
この構成によれば、対象パターン及び置換後パターンを適切に設定することにより、問題となるノイズを発生させるビット列のパターンを別のパターンに置き換えることができるため、メモリに対してデータを書き込む場合とメモリからデータを読み出す場合の双方において、信号ラインで発生するノイズを低減することが可能となる。
またこの際、ソフトウエア的に対象パターン及び置換後パターンの設定を変更するだけで様々な周波数のノイズを低減することができる。従って、例えば信号ラインを覆うシールドを設け、或いは、回路設計によりノイズ対策を行う場合に比べ、容易に低減対象のノイズ周波数を変更することができる。従って、メモリ及びメモリコントローラの使用環境に応じて柔軟にノイズ対策を実施できる。
【図面の簡単な説明】
【００１１】
【図１】メモリコントローラとメモリとの関係を示すブロック回路図である。
【図２】メモリコントローラの構成を示すブロック回路図である。
【図３】初期ビット列と置換ビット列とを模式的に示す図である。
【図４】複数のビット列を示す図である。
【図５】書き込み処理のフローチャートである。
【図６】読み出し処理のフローチャートである。
【図７】出現頻度テーブルのデータ構造を模式的に示す図である。
【図８】周波数毎のビット列パターンの出現頻度の一例を表したグラフである。
【図９】パターン特定情報のデータ構造を模式的に示す図である。
【図１０】ノイズ分析装置の構成を示すブロック回路図である。
【図１１】分析処理のフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面に基づいて説明する。
１．実施形態
〔基本構成〕
メモリコントローラＣの実施形態について図面に基づいて説明する。図１にはメモリＭに対してデータの読み書きを行うメモリコントローラＣを示している。このメモリＭとメモリコントローラＣとは、パーソナルコンピュータに限らず、オーディオ機器や、車載のカーナビゲーション機器、携帯通信機器等に備えられるものを対象としている。
【００１３】
メモリＭは、１６ビットのデータバスＤ（データ伝送レーンの一例）を介し、バーストモードでのデータの読み書きが可能なＤＲＡＭを想定している。メモリＭとメモリコントローラＣとの間には、コマンド・アドレスライン１を備えている。データバスＤは複数（１６本）の信号ラインＤＬを並列に配置したものである。尚、データバスＤは１６ビットに限らず、１６ビット以上や、これ未満のビット数でも良い。
【００１４】
また、データバスＤは、８ビットのバスとなる第１伝送レーンＤＧ１と第２伝送レーンＤＧ２とを並列した構造を有し、メモリコントローラＣが各々を独立して管理できるように構成されている。
【００１５】
データバスＤ（データ伝送レーン）を構成する複数の信号ラインＤＬでは、データ伝送の基準クロックに同期してデータを伝送するめ、例えば、図３に「初期ビット列」として示すように、データが「１」と「０」とが交互に連続するビット列となる場合には、基準クロックに同期した周波数のノイズが発生する。また、例えば図４（ａ）に示すように、「１」と「０」とが２個ずつ交互に連続するビット列となる場合には、基準クロックの半分の周波数のノイズが発生する。尚、伝送されるビット列の具体例は、これらの他にも、例えば図４において（ｂ）、（ｃ）として例を挙げたもののように、様々なパターンのビット列が出現し得る。ノイズは電磁波であるため、周辺の回路に意図しない信号を発生させるなどの問題を生じさせる可能性もある。前記のようなビット列のパターンに応じて生じる各周波数のノイズのうちで、出現頻度が高いビット列のパターンが、より多くのノイズを発生させる可能性がある。また、出現頻度が高くない場合であっても、周辺の回路の構成等によって特定の周波数のノイズが特に問題を生じさせ易い場合もあり得る。
【００１６】
このような理由から、メモリコントローラＣは、例えば図３に示すように、「初期ビット列」が特定の周波数のノイズを発生させるビット列である場合には、同図に「置換ビット列」として示すように他の周波数となるビット列に変換する機能を有している。尚、図３に示す例では、基準クロックと同じ周波数のノイズを発生させる「１」と「０」とが交互に連続する「初期ビット列」を、基準クロックの１／３の周波数のノイズを発生させる「１」と「０」とが３個ずつ交互に連続する「置換ビット列」に置換している。これにより、信号ラインＤＬで発生する基準クロックと同じ周波数のノイズを低減している。更に、このメモリコントローラＣでは、メモリＭに書き込まれた置換ビット列を読み出した場合には、復元処理により元のビット列に復元される。
【００１７】
この実施形態では、メモリＭに書き込むためメモリコントローラＣが受け取った伝送データの「１」と「０」との並びのビット列を初期ビット列と称している。更に、初期ビット列のうち、置換対象に設定された「１」と「０」との並びを対象パターンと称している。更に、置換により対象パターンと異なるように設定されたパターンを置換後パターンと称し、この置換後パターンの「１」と「０」との並びを置換ビット列と称している。図３に示す例では、「１」と「０」とが交互に連続するビット列を対象パターンに設定し、「１」と「０」とが３個ずつ交互に連続するビット列を置換後パターンに設定している。
【００１８】
これにより、メモリＭにデータが伝送される場合（書き込まれる場合）と、メモリＭからデータが伝送される場合（読み出される場合）との何れの場合にも、信号ラインＤＬに伝送されるデータにおける特定の周波数のノイズ、すなわち対象パターンに設定されたビット列により生じる周波数のノイズの低減を行うことができる。なお、対象パターンをどのように設定するかについては、後述する。
【００１９】
〔メモリコントローラ〕
図１に示すように、メモリコントローラＣは、データの読み書きのコマンドとアドレスを指定するコマンド・アドレス生成部５と、メモリＭへの伝送データの書き込みを実行する書込部６と、メモリＭからデータの読み出しを実行する読出部７とを備えている。
【００２０】
このメモリコントローラＣは、マイクロプロセッサやＤＳＰ等と同様にプログラムにより所定の処理を実行する機能を有するものである。この機能を利用することにより、メモリコントローラＣは、後述する置換処理と復元処理とを実現する。
【００２１】
図２に示すように、書込部６は、データライトユニット６ａと、置換ユニット６ｂとを備えている。置換ユニット６ｂは、信号ラインＤＬを介してメモリＭに書き込まれる伝送データのビット列の「１」と「０」との並びが置換対象として設定された対象パターンである場合に、メモリＭに書き込む以前に、対象パターンの初期ビット列を、「１」と「０」との並びが対象パターンとは異なる置換後パターンとなる置換ビット列に置き換える処理を行う。そのために、置換ユニット６ｂは、置換モジュール１１と、パターン判定モジュール１２と、出現頻度テーブル１３と、記憶モジュール１４と、記憶回路１５とを備えている。パターン判定モジュール１２は、伝送データのビット列の「１」と「０」との並びが設定された対象パターンであるかを判定する。置換モジュール１１は、パターン判定モジュール１２で対象パターンであることを判定した場合に、当該対象パターンの初期ビット列を置換ビット列に置き換える。記憶モジュール１４は、置換モジュール１１での置き換えを行った場合に、対象パターンと、置換ビット列が書き込まれるメモリＭのアドレスを特定するためのアドレスデータと、を関連付けて記憶回路１５に記憶させる。本実施形態のメモリコントローラＣでは、内部に記憶回路１５を備えているが、記憶モジュール１４によりデータを記憶する対象がメモリＭの一部の領域であっても良い。
【００２２】
読出部７は、データリードユニット７ａと、復元ユニット７ｂとを備えている。復元ユニット７ｂは、メモリＭから読み出したデータの置換ビット列を初期ビット列に復元する処理を行う。そのために、復元ユニット７ｂは、復元モジュール２１と特定モジュール２２とで構成されている。特定モジュール２２は、記憶回路１５に記憶されたアドレスデータに基づいて、メモリＭから読み出したデータの中に含まれる置換ビット列を特定する。復元モジュール２１は、記憶回路１５に記憶されたアドレスデータに関連付けられている対象パターンに基づいて、置換ビット列を置き換え前の初期ビット列に復元する。
【００２３】
データライトユニット６ａは、コマンド・アドレス生成部５からの情報に基づいて伝送データのメモリＭへの書き込みを実行する。尚、同図では、理解を容易にするため２つのコマンド・アドレス生成部５を示しているが、通常、このコマンド・アドレス生成部５は、メモリコントローラＣに１つ備えられていればよい。
【００２４】
出現頻度テーブル１３のデータ構造の一例を図７に示している。同図では、出現頻度が高いものからパターン（０１）、パターン（０２）‥‥パターン（２０）となる順序で複数の対象パターンを記憶したデータ構造であることを示している。また、この出現頻度テーブル１３では、各々のパターンを識別するため、各々のパターンにビット列情報が関連付けられており、複数の対象パターンを出現頻度に基づいて区別するための基準値Ｅが設定されている。この出現頻度テーブル１３は、後述するノイズ分析装置ＡＮによる分析により得られたものとすることができる。
【００２５】
図８は、周波数を横軸とし、出現頻度を縦軸として、周波数毎のノイズを生じさせるビット列パターンの出現頻度の一例を表したグラフである。この例では、基準クロックと同じ周波数（周波数＝ｎ）のノイズを生じさせるビット列パターンの出現頻度が最も高く、基準値Ｅを超えている。そこで、本実施形態においては、基準クロックと同じ周波数（周波数＝ｎ）のノイズを生じさせる単数又は複数のビット列パターンの少なくとも一つを対象パターンに設定している。また、図８の例では、基準クロックの１／４の周波数（周波数＝ｎ／４）のノイズを生じさせるビット列パターンの一つを置換後パターンに設定している。これにより、基準クロックの１／４の周波数（周波数＝ｎ／４）のノイズを増加させる代わりに、出現頻度が基準値Ｅを超えている基準クロック周波数（周波数＝ｎ）のノイズを低減することができており、結果的に、全ての周波数において出現頻度が基準値Ｅ以下に抑えられている。ここで、基準値Ｅは、例えば、予め定められた周波数域毎の出現頻度の平均値に設定することができる。なお、平均値に代えて、最多値、中央値等、他の基準に基づいて基準値Ｅを設定してもよい。また、各周波数のノイズを生じさせるビット列パターンの出現頻度は、実質的に各周波数のノイズの大きさに対応しているため、図８のグラフにおいて、縦軸をノイズレベルと置き換えることもできる。
【００２６】
〔処理形態〕
図５のフローチャートには、書込部６での書き込み処理の概要を示しており、図６のフローチャートには、読出部７での読み出し処理の概要を示している。
【００２７】
書き込みを実行する場合には、メモリＭにバーストモードで書き込むためにメモリコントローラＣに与えられた全てのデータについて、対象パターンのビット列であるかの判定が行われる。この判定は、データバスＤを構成する複数のデータ伝送レーン（ＤＧ１、ＤＧ２）の各々について行われ、判定の結果、対象パターンの初期ビット列（対象ビット列）を、置換後パターンのビット列である置換ビット列に置き換える処理が行われる。
【００２８】
なお、バーストモードで書き込みが行われる場合には、対象パターンのビット列のビット長は、バーストモードで転送されるビット長と同じに設定すると好適であるが、バーストモードで転送されるビット長より短いビット列に設定してもよい。
【００２９】
〔処理形態：書き込み処理〕
メモリコントローラＣに伝送データを伝送してメモリＭへの書き込み要求があった場合には、図５のフローチャートに示す書き込み処理が実行される。この書き込み処理では、複数のデータ伝送レーン（ＤＧ１、ＤＧ２）での伝送データのビット列（初期ビット列）が取得され、各々のパターンの判定が行われる。この判定の結果、予め設定されている対象パターンである場合には置き換え対象に設定する（＃１０１、＃１０２ステップ）。
【００３０】
この処理では、置換モジュール１１が、メモリコントローラＣがメモリＭに書き込むべき初期の伝送データを取得し、パターン判定モジュール１２に与える。パターン判定モジュール１２は出現頻度テーブル１３を参照することにより、複数のデータ伝送レーン（ＤＧ１、ＤＧ２）に転送されるデータの伝送データの「１」と「０」との並びが対象パターンであるか否かの判定を行う。
【００３１】
つまり、この判定では、伝送データの初期ビット列が、図７に示す複数のパターンのうち基準値Ｅより出現頻度が高いものの中から設定された対象パターンと合致した場合に、その初期ビット列を対象パターンのビット列であると判定する。そして、基準値Ｅより出現頻度が低いパターンの中から設定された置換後パターンのビット列に置き換える。すなわち、本実施形態では、出現頻度が基準値Ｅより高いパターンの中の少なくとも１つを対象パターンに設定し、出現頻度が基準値Ｅより低いパターンの中の少なくとも１つを置換後パターンに設定している。以下では、説明の簡略化のため、データ伝送レーン（ＤＧ１、ＤＧ２）毎に１つの対象パターンと１つの置換後パターンを設定する場合を例として説明する。この処理では、基準値Ｅより出現頻度が低いパターンを置換後パターンに設定するものであるが、これに代えて、出現頻度テーブル１３には記憶されていないビット列を置換ビット列とするように処理形態を設定しても良い。また、例えば、図７に示す出現頻度テーブル１３において基準値Ｅより出現頻度が高いパターンの全てを対象パターンに設定してもよい。その場合には、この判定では出現頻度テーブル１３において基準値Ｅより出現頻度が高い各パターンに関連付けられたビット列情報と、伝送データの初期ビット列との比較により対象パターンに合致するものか否かの判定が行われる。
【００３２】
置換モジュール１１は、上記のように設定された置換後パターンに基づいて、対象パターンの初期ビット列を、置換後パターンに対応する置換ビット列に置き換える置換処理を実行する。そして、置き換えに連係して、記憶モジュール１４が、対象パターンと、当該対象パターンに合致するとして置き換えられた置換ビット列が書き込まれるメモリＭのアドレスを特定するためのアドレスデータとを関連付けた状態で記憶回路１５に記憶する。そして、置換された後の置換ビット列がメモリＭに書き込まれる。なお、対象パターンとは異なるパターンの初期ビット列のデータは、そのままメモリＭに書き込まれる（＃１０３〜＃１０５ステップ）。
【００３３】
本例では、この処理において、記憶モジュール１４が、置換モジュール１１により置換した初期ビット列に係る対象パターンを置換モジュール１１又はパターン判定モジュール１２から取得し、置換ビット列が書き込まれるメモリＭのアドレスを特定するためのアドレスデータをデータライトユニット６ａから取得する。この取得の後に、これらを互いに関連付けた状態で記憶回路１５に書き込む。
【００３４】
アドレスデータは、置換ビット列が書き込まれるメモリＭ内の領域の先頭アドレスと、ビット長のデータとの組み合わせとするのが一般的である。一方、別の例として、置換モジュール１１による置換処理を行っていない初期ビット列の状態で置換後パターンと同じパターンであるビット列を、アドレスを記憶する対象のビット列とし、当該対象のビット列が書き込まれるメモリＭのアドレスを特定するデータをアドレスデータとしても好適である。上記のとおり、対象パターンは、出現頻度が高いパターンに設定され、置換後パターンは出現頻度が低いパターンに設定されることが多い。そのような場合、対象パターンに合致するビット列の出現数と、初期ビット列の状態で置換後パターンと同じパターンであるビット列の出現数とでは、後者の方が少なくなる可能性が高い。従って、初期ビット列の状態で置換後パターンと同じパターンであるビット列のアドレスをアドレス情報とする方が、対象パターンに合致するビット列のアドレスをアドレス情報とする場合よりも、記憶回路１５に記憶する必要があるアドレス情報の数、すなわちデータ量を低減することができる。
【００３５】
本実施形態のように、複数のデータ伝送レーン（ＤＧ１、ＤＧ２）を備える場合には、当該の複数のデータ伝送レーン（ＤＧ１、ＤＧ２）のそれぞれについて、互いに異なる置換後パターンを設定すると好適である。この場合において、複数のデータ伝送レーン（ＤＧ１、ＤＧ２）のそれぞれを伝送される置換後ビット列によるオンオフ周波数が、互いに異なるオンオフ周波数となるように、置換後パターンを設定すると好適である。これにより、置換ユニット６ｂによる置換処理によって、特定の周波数のノイズが増加することを抑制できる。そこで、本実施形態では、置換ユニット６ｂは、第１伝送レーンＤＧ１を介して伝送される置換ビット列の「１」と「０」との並びにより生じるオンオフ周波数と、第２伝送レーンＤＧ２を介して伝送される置換ビット列の「１」と「０」との並びにより生じるオンオフ周波数とが異なるように、第１伝送レーンＤＧ１と第２伝送レーンＤＧ２とで異なる置換後パターンを設定している。例えば、第１伝送レーンＤＧ１の置換後パターンを図４（ｂ）に示すビット列のパターンとし、第２伝送レーンＤＧ２の置換後パターンを図４（ｃ）に示すビット列のパターンとすると、第１伝送レーンＤＧ１の置換後ビット列によるオンオフ周波数が基準クロックの１／４の周波数となり、第２伝送レーンＤＧ２の置換後ビット列によるオンオフ周波数が基準クロックの１／８の周波数となる。この場合において、第１伝送レーンＤＧ１についての対象パターンと、第２伝送レーンＤＧ２についての対象パターンとが、同じであっても良いし、異なっていても良い。なお、データ伝送レーンが３つ以上ある場合、それぞれにおいて伝送される置換ビット列のオンオフ周波数が、互いに異なる周波数となるように設定されると好適であるが、一部のデータ伝送レーンについての置換ビット列のオンオフ周波数が同じになることを妨げるものではない。
【００３６】
また、複数のデータ伝送レーン（ＤＧ１、ＤＧ２）のそれぞれを伝送される置換後ビット列の「１」と「０」との境界のタイミングが互いに異なるように、置換後パターンを設定すると好適である。これにより、置換ユニット６ｂによる置換処理の後、複数のデータ伝送レーン（ＤＧ１、ＤＧ２）での置換後ビット列の「１」と「０」との境界のタイミングが同じになることに起因して当該タイミングでノイズが増加することを抑制できる。そこで、本実施形態では、置換ユニット６ｂは、第１伝送レーンＤＧ１を介して伝送される置換ビット列の「１」と「０」との境界のタイミングと、第２伝送レーンＤＧ２を介して伝送される置換ビット列の「１」と「０」との境界のタイミングとが異なるように、第１伝送レーンＤＧ１と第２伝送レーンＤＧ２とで異なる置換後パターンを設定している。例えば、第１伝送レーンＤＧ１の置換後パターンを図４（ｄ）に示すビット列のパターンとし、第２伝送レーンＤＧ２の置換後パターンを図４（ｅ）に示すビット列のパターンとすると、第１伝送レーンＤＧ１の置換後ビット列と第２伝送レーンＤＧ２の置換後ビット列とは、「１」と「０」との境界のタイミングが互いに異なると共に、オンオフ周波数も互いに異なるものとなる。また、例えば、第１伝送レーンＤＧ１の置換後パターンを図４（ｃ）に示すビット列のパターンとし、第２伝送レーンＤＧ２の置換後パターンを図４（ｅ）に示すビット列のパターンとすると、第１伝送レーンＤＧ１の置換後ビット列と第２伝送レーンＤＧ２の置換後ビット列とは、オンオフ周波数が同じであるが、「１」と「０」との境界のタイミングが互いに異なるものとなる。この場合において、第１伝送レーンＤＧ１についての対象パターンと、第２伝送レーンＤＧ２についての対象パターンとが、同じであっても良いし、異なっていても良い。なお、データ伝送レーンが３つ以上ある場合、それぞれにおいて伝送される置換ビット列の「１」と「０」との境界のタイミングが、互いに異なるように設定されると好適であるが、一部のデータ伝送レーンについての置換ビット列の「１」と「０」との境界のタイミングが同じになることを妨げるものではない。
【００３７】
いずれにしても、置換ユニット６ｂは、対応するデータ伝送レーン（ＤＧ１、ＤＧ２）毎に、対象パターンの初期ビット列を、置換後パターンの置換ビット列に置き換える置換処理を実行する。
【００３８】
〔処理形態：読み出し処理〕
図６に示すように、読み出し処理では、指定されたアドレス領域（指定アドレス領域）からデータが読み出された場合には、指定アドレス領域が記憶回路１５に記憶されているアドレスデータにより特定されるアドレスに該当するかの判定が行われる（＃２０１、＃２０２ステップ）。
【００３９】
この処理では、メモリコントローラＣに読み出しの要求があり、データリードユニット７ａがメモリＭからデータを読み出した場合には、データリードユニット７ａで読み出したデータが復元モジュール２１に与えられる。これと連係して、データリードユニット７ａは、特定モジュール２２に指定アドレスの情報を与え、特定モジュール２２は、記憶回路１５に記憶されているアドレスデータにより特定されるアドレスと比較する。この比較では、指定アドレスが、記憶回路１５に記憶されているアドレスデータにより特定されるアドレスに該当するかの判定が行われる。
【００４０】
指定アドレスが記憶回路１５に記憶されているアドレスデータにより特定されるアドレスに該当すると判定した場合には、特定モジュール２２は、メモリＭから読み出したデータのうち、対応するアドレスデータにより特定されるアドレスの情報と、当該アドレスデータに関連付けられている対象パターンの情報とを復元モジュール２１に与える。これにより、復元モジュール２１は、メモリＭから読み出したデータを復元処理し、要求元に対して復元されたデータを転送する。また、復元が不要である場合には、取得したデータを、そのまま伝送する（＃２０３〜＃２０６ステップ）。
【００４１】
ここでは、１つのデータ伝送レーンについての読み出し処理の形態を説明したが、当然のことながら、本実施形態のように、複数のデータ伝送レーン（ＤＧ１、ＤＧ２）を備える場合には、当該の複数のデータ伝送レーン（ＤＧ１、ＤＧ２）それぞれについて、この読み出し処理が行われる。
【００４２】
〔出現頻度テーブルの設定〕
出現頻度テーブル１３は、信号ラインＤＬを介してメモリＭに転送される転送データの「１」と「０」のビット列が予め設定された複数の対象パターンの何れかに含まれるかの判定と、含まれる場合には何れの対象パターンであるかの判定とに用いられる。この出現頻度テーブル１３は、出現頻度の高いパターンと、出現頻度が低いパターンとを記憶したデータ構造を有している。
【００４３】
この出現頻度は、図１０に示すノイズ分析装置ＡＮによって予め取得された出現頻度情報に基づいて設定される。前述したように、メモリコントローラＣは、マイクロプロセッサやＤＳＰ等と同様にプログラムに従う処理を実現するものである。この構成を利用して、メモリコントローラＣのプログラムを設定することで、図１０に示すノイズ分析装置ＡＮが構成される。このノイズ分析装置ＡＮでは、専用のコンピュータ等が接続され、出力された出現頻度情報は、専用のコンピュータ等で取得され、出現頻度テーブル１３に記憶されることになる。或いは、ノイズ分析装置ＡＮ自体が、出現頻度情報に基づいて、出現頻度テーブル１３を生成したり、随時更新したりする構成とされても好適である。
【００４４】
本実施形態では、ノイズ分析装置ＡＮは、データリード部３１と、データライト部３２と、パターン判定部３３と、判定パターンテーブル３４と、積算処理部３５と、頻度出力部３７と、デバイス識別部３８と、出力タイミング設定部３９とを備えている。ここで、パターン判定部３３は、信号ラインＤＬを介してメモリＭに読み書きされる伝送データのビット列の「１」と「０」の並びのパターンが、設定された少なくとも１つの判定パターンに合致するか否かを判定する。判定パターンテーブル３４には、設定された少なくとも１つの判定パターンの情報、具体的には判定パターンのビット列が記憶されている。積算処理部３５は、パターン判定部３３で判定された判定パターンの出現回数を積算値として取得する。頻度出力部３７は、積算処理部３５により取得された積算値と、当該積算値が表す判定パターンを特定するパターン特定情報と、を関連付けた出現頻度情報を出力する。
【００４５】
このノイズ分析装置ＡＮでは、各種のデバイスが、メモリＭに記憶されたデータに対して現実にアクセスする場合に、信号ラインＤＬを伝送される「１」と「０」のビット列のパターンを取得し、各パターンの出現頻度を取得する。図１１のフローチャートには、その処理の概要を示している。また、出現頻度情報を取得する対象は、分析対象として設定された少なくとも一つの判定パターンに合致する伝送データのビット列である。
【００４６】
つまり、データリード部３１又はデータライト部３２を介して、メモリＭに読み書きされる伝送データのビット列が信号ラインＤＬを介して伝送された場合には、パターン判定部３３が当該伝送データを取得し、判定パターンテーブル３４のデータに基づき、設定された少なくとも一つの判定パターンに合致するか否かの判定を行う（＃３０１〜＃３０３ステップ）。
【００４７】
次に、積算処理部３５が、パターン判定部３３で判定された判定パターンの出現回数を積算値として取得する。この際、積算処理部３５は、パターン判定部３３で判定パターンに合致すると判定された伝送データについて、その判定パターンを特定するパターン特定情報を取得し、判定パターン毎の出現回数を積算する。また、本実施形態では、積算処理部３５は、メモリＭにデータを書き込む場合と、メモリＭからデータを読み出す場合とを区別して積算値を取得する。また、積算処理部３５は、伝送データが書き込まれるメモリＭ内のアドレスが、メモリＭの記憶領域の中にある複数の区分領域のいずれに属するかに応じて、当該区分領域毎に積算値を取得する。更に、積算処理部３５は、伝送データの送信元のデバイスが、メモリＭにアクセス可能な複数のデバイスの中の何れであるかに応じて、当該デバイス毎に積算値を取得する。そのために、積算処理部３５は、パターン判定部３３で判定パターンと判定された伝送データについて、アクセス情報と、区分領域情報と、デバイス情報と、を含む属性情報を取得する。そして、取得したパターン特定情報に、当該属性情報を関連付けて、各判定パターンの出現回数を積算し、積算値として取得する（＃３０４〜＃３０６ステップ）。
【００４８】
図９は、積算処理部３５が取得する、パターン特定情報と属性情報とに関連付けられた積算値データの一例を示している。同図に示すように複数種の判定パターンを識別するため、積算値データのそれぞれは、パターン特定情報をインデックスとしており、属性情報として、（Ｒ）と（Ｗ）とで示すアクセス情報、（Ａ１〜Ａ３）で示す区分領域情報、（Ｄ１〜Ｄ３）で示すデバイス情報、の各々を備えている。また、このパターン特定情報には、当該パターン特定情報により特定される判定パターンのビット列情報が関連付けられている。
【００４９】
具体的には、アクセス情報の（Ｒ）と（Ｗ）は、メモリＭにデータ（ビット列情報）を書き込む場合（Ｒ）と、メモリＭからデータ（ビット列情報）を読み出す場合（Ｗ）との区別を示している。区分領域情報の（Ａ１〜Ａ３）は、判定パターンの伝送データ（ビット列情報）が書き込まれるメモリＭ内のアドレスが、メモリＭの記憶領域の中にある複数の区分領域（Ａ１〜Ａ３）のいずれに属するかを示している。デバイス情報の（Ｄ１〜Ｄ３）は、判定パターンの伝送データ（ビット列情報）の送信元のデバイスが、メモリＭにアクセス可能な複数のデバイス（Ｄ１〜Ｄ３）の中の何れであるかを示している。ここで、送信元のデバイスが何れであるかは、デバイス識別部３８により識別され、その識別情報が積算処理部３６に与えられる。尚、区分領域情報は上記した３つの領域に限らず、デバイスの数も３つに限らない。
【００５０】
そして、積算処理部３５は、パターン特定情報により特定された判定パターン毎、及び各属性情報毎に、出現回数を積算し、その積算値をインクリメントする（＃３０６ステップ）。具体的には、メモリＭに読み書きされる伝送データのビット列が判定パターンに合致する毎に、積算処理部３５は、当該の伝送データ（ビット列情報）についてのパターン特定情報と、属性情報としての（Ｒ）と（Ｗ）とで示すアクセス情報、（Ａ１〜Ａ３）で示す区分領域情報、及び（Ｄ１〜Ｄ３）で示すデバイス情報を取得する。そして、積算処理部３５は、当該取得した情報に応じて、図９に示すような、積算値データであって、当該判定パターンを特定するパターン特定情報を有するデータについて、アクセス情報の（Ｒ）と（Ｗ）の何れかの値をインクリメントし、区分領域情報の（Ａ１〜Ａ３）の何れかの値をインクリメントし、デバイス情報の（Ｄ１〜Ｄ３）の何れかの値をインクリメントする。
【００５１】
そして、頻度出力部３７が、予め設定された出力タイミングで、出現頻度情報を出力する（＃３０７、＃３０８ステップ）。ここで、出現頻度情報は、積算処理部３５により取得された積算値と、当該積算値が表す判定パターンを特定するパターン特定情報と、を関連付けた情報である。本実施形態では、出現頻度情報は、更に、アクセス情報と、区分領域情報と、デバイス情報と、を含む属性情報も、積算値及びパターン特定情報に関連付けた情報となっている。具体的には、頻度出力部３７は、出力タイミングとなった時点での上記積算値データ（図９参照）を積算処理部３５から取得し、その時点での積算値データを出現頻度情報として出力する。また、これらの＃３０１〜＃３０８ステップの処理は、リセットされるまで反復して実行される（＃３０９ステップ）。
【００５２】
出力タイミング設定部３９は、設定された出力タイミングに従って、頻度出力部３７に対して出力のトリガー情報を与える。頻度出力部３７は、このトリガー情報に応じて出現頻度情報を出力する。本実施形態では、出力タイミング設定部３９は、積算処理部３５による積算値が予め設定した出力閾値を超える毎、又は当該積算値の積算期間が予め設定した出力期間を超える毎に、頻度出力部３７に出力のトリガー情報を与える。具体的には、出力タイミング設定部３９は、図９に示す積算値データの各項目の積算値の中でも最も値が大きいものが、予め設定した出力閾値を超える毎、又は、積算値データの積算値の積算期間が予め設定した出力期間を超える毎に、トリガー情報を頻度出力部３７に対して出力する。尚、出力タイミング設定部３９は、予め設定した出力閾値を超えるという値条件と、積算値データの積算値の積算期間が予め設定した出力期間を超えるという期間条件と、の双方を満たす毎にトリガー情報を出力する構成とされてもよい。
【００５３】
この分析処理により得られる出現頻度情報に基づいて、各属性情報の積算値をソートすることにより、アクセス情報と区分領域情報デバイス情報との何れか１つ又はこれらの組み合わせを基準にした出現頻度を得ることができる。
【００５４】
例えば、車載のカーナビゲーション機器等、メモリＭが使用される機器によっては、メモリＭの記憶領域が予め複数の区分領域に区分され、区分領域毎に異なる種類のデータが記憶される構成となっている場合がある。例えば、第１の区分領域には地図情報を記憶し、第２の区分領域には静止画像情報を記憶し、第３の区分領域には音声情報を記憶し、第４の区分領域にはプログラムの情報を記憶する等、データ種別毎に記憶される区分領域が予め定まっている場合がある。同様に、メモリＭに対してアクセス可能なデバイスが複数存在する場合であって、デバイス毎に異なる種類のデータが伝送される場合がある。例えば、メモリコントローラＣを介してメモリＭにアクセス可能に構成された複数のデバイスのうち、地図描画デバイスが地図データを伝送し、画像表示デバイスが静止画データを伝送し、オーディオ再生デバイスが音声情報を伝送し、演算処理デバイスがプログラムデータを伝送する等、メモリＭにアクセスするデバイス毎に異なる種別のデータ伝送が行われる場合がある。そして、このようなデータ種別に応じて、メモリコントローラＣとメモリＭとの間で伝送されるデータのビット列の「１」と「０」との組み合せパターンの出現頻度にも偏りが生じ、その偏りに一定の傾向が現れる場合がある。従って、伝送データのビット列の中で出現頻度が高いパターンも、メモリＭの中の区分領域毎、或いは、メモリＭにアクセスするデバイス毎に異なる場合がある。
【００５５】
そこで、伝送データが書き込まれるアドレスが、メモリＭの記憶領域の中にある複数の区分領域のいずれに属するかに応じて、或いは、伝送データの送信元のデバイスが、メモリＭにアクセス可能な複数のデバイスの中のいずれであるかに応じて、対象パターン及び置換後パターンの少なくとも一方を異ならせると好適である。例えば、上述した出現頻度情報に基づいて、メモリＭの区分領域毎の出現頻度を取得し、伝送データが書き込まれるアドレスが属する区分領域毎に、出現頻度が基準値Ｅより高いパターンの中の少なくとも一つを対象パターンに設定し、出現頻度が基準値Ｅより低いパターンの中の少なくとも一つを置換後パターンに設定するとよい。或いは、出現頻度情報に基づいて、伝送データの送信元のデバイス毎の出現頻度を取得し、伝送データの送信元のデバイス毎に、出現頻度が基準値Ｅより高いパターンの中の少なくとも一つを対象パターンに設定し、出現頻度が基準値Ｅより低いパターンの中の少なくとも一つを置換後パターンに設定してもよい。
【００５６】
２．その他の実施形態
（１）上記の実施形態では、複数のデータ伝送レーン（ＤＧ１、ＤＧ２）を備える場合に、データ伝送レーン（ＤＧ１、ＤＧ２）毎に１つの対象パターンと１つの置換後パターンを設定する場合を例として説明した。しかし、当然ながら、データ伝送レーン（ＤＧ１、ＤＧ２）毎に複数の対象パターンを設定すると共に、複数の対象パターンのそれぞれに対応して置換後パターンを設定しても好適である。当然ながら、データ伝送レーンが１つの場合に、複数の対象パターンと複数の置換後パターンを設定しても好適である。また、全てのデータ伝送レーン（ＤＧ１、ＤＧ２）について共通の１つ又は複数の対象パターンを設定してもよい。
【００５７】
（２）上記の実施形態では、データ伝送レーン（ＤＧ１、ＤＧ２）のそれぞれが、複数の信号ラインＤＬを備えている場合を例として説明した。しかし、当然ながら、データ伝送レーン（ＤＧ１、ＤＧ２）のそれぞれが、１本の信号ラインＤＬにより構成されていてもよい。すなわち、信号ラインＤＬ毎に、対象パターンと置換後パターンを設定してもよい。
【００５８】
（３）上記の実施形態では、置換後パターンを、出現頻度が基準値Ｅより低いパターンの中から設定する場合を例として説明した。しかし、これ以外の構成とすることもできる。例えば、置換後パターンを、「０」だけが連続するビット列、又は、「１」だけが連続するビット列としても好適である。このような置換後パターンを設定することにより、置換ビット列が、信号ラインＤＬにおいて全て同じ電位となるため、ノイズを有効に低減させることができる。また、このような置換後パターンを用いる場合、ノイズを発生させやすい複数のパターンの初期ビット列の全てを「０」又は「１」だけが連続する置換ビット列に置換することも可能となる。従って、置換ユニット６ｂでの処理を単純にして処理速度の向上を図ることも可能となる。
【００５９】
（４）上記の実施形態では、対象パターンを、出現頻度が基準値Ｅより高いパターンの中の少なくとも１つに設定し、置換後パターンを、出現頻度が基準値Ｅより低いパターンの中の少なくとも１つに設定する場合について説明した。しかし、これに限定されず、対象パターン及び置換後パターンを、出現頻度以外の他の基準に基づいて設定してもよい。例えば、置換ユニット６ｂによる置き換え前のデータに含まれるビット列の「１」と「０」の並びのパターンが、予め定められたノイズ周波数域のノイズを発生させるパターンの中の少なくとも一つを、対象パターンに設定し、当該ノイズ周波数域のノイズを発生させるパターン以外のパターンの中の少なくとも一つを、置換後パターンに設定しても好適である。ノイズを低減したい周波数域が既に決まっている場合には、このような設定とすることで、有効にノイズを低減することができる。なお、低減したい周波数域のノイズを発生させるビット列のパターンが複数存在する場合には、それらの一部または全部のパターンを対象パターンに設定するとよい。
【００６０】
（５）上記実施形態では、頻度出力部３７により出力される出現頻度情報が、積算値と、パターン特定情報と、属性情報とを関連付けた情報である場合を例として説明した。しかし、出現頻度情報が、積算値と、パターン特定情報と、を関連付けただけの情報であってもよい。また、上記の実施形態では、属性情報として、アクセス情報と、区分領域情報と、デバイス情報と、が含まれる場合を例として説明した。しかし、属性情報として、これらの一部のみが含まれる構成としてもよいし、これら以外の情報が含まれる構成としてもよい。
【００６１】
（６）なお、上述した各実施形態で開示された構成は、矛盾が生じない限り、他の実施形態で開示された構成と組み合わせて適用することも可能である。その他の構成に関しても、本明細書において開示された実施形態は全ての点で単なる例示に過ぎない。従って、本開示の趣旨を逸脱しない範囲内で、適宜、種々の改変を行うことが可能である。
【００６２】
３．上記実施形態の概要
以下、上記において説明したメモリコントローラの概要について説明する。
【００６３】
メモリコントローラ（Ｃ）は、メモリ（Ｍ）のアドレスを指定し信号ライン（ＤＬ）を介してメモリ（Ｍ）にデータを書き込む書込部（６）と、前記メモリ（Ｍ）のアドレスを指定し前記信号ライン（ＤＬ）を介して前記メモリ（Ｍ）からデータを読み出す読出部（７）とを備え、
前記書込部（Ｍ）が、前記信号ライン（ＤＬ）を介して前記メモリ（Ｍ）に書き込まれる伝送データのビット列の「１」と「０」との並びが置換対象として設定された対象パターンである場合に、前記メモリ（Ｍ）に書き込む以前に、前記対象パターンの初期ビット列を、「１」と「０」との並びが前記対象パターンとは異なる置換後パターンとなる置換ビット列に置き換える置換ユニット（６ｂ）を備え、
前記読出部（７）が、前記メモリ（Ｍ）から読み出したデータの前記置換ビット列を前記初期ビット列に復元する復元ユニット（７ｂ）を備えている。 
【００６４】
この構成によれば、対象パターン及び置換後パターンを適切に設定することにより、問題となるノイズを発生させるビット列のパターンを別のパターンに置き換えることができるため、メモリ（Ｍ）に対してデータを書き込む場合とメモリ（Ｍ）からデータを読み出す場合の双方において、信号ライン（ＤＬ）で発生するノイズを低減することが可能となる。
またこの際、ソフトウエア的に対象パターン及び置換後パターンの設定を変更するだけで様々な周波数のノイズを低減することができる。従って、例えば信号ライン（ＤＬ）を覆うシールドを設け、或いは、回路設計によりノイズ対策を行う場合に比べ、容易に低減対象のノイズ周波数を変更することができる。従って、メモリ（Ｍ）及びメモリコントローラ（Ｃ）の使用環境に応じて柔軟にノイズ対策を実施できる。
【００６５】
また、前記置換ユニット（６ｂ）が、
前記伝送データのビット列の「１」と「０」との並びが前記対象パターンであるかを判定するパターン判定モジュール（１２）と、
前記パターン判定モジュール（１２）で前記対象パターンであることを判定した場合に、前記初期ビット列を前記置換ビット列に置き換える置換モジュール（１１）と、
前記置換モジュール（１１）での置き換えを行った場合に、前記対象パターンと、前記置換ビット列が書き込まれる前記メモリ（Ｍ）のアドレスを特定するためのアドレスデータと、を関連付けて記憶させる記憶モジュール（１４）と、を備え、
前記復元ユニット（７ｂ）が、
前記アドレスデータに基づいて、前記メモリ（Ｍ）から読み出したデータの中に含まれる前記置換ビット列を特定する特定モジュール（２２）と、
前記アドレスデータに関連付けられている前記対象パターンに基づいて、前記置換ビット列を置き換え前の前記初期ビット列に復元する復元モジュール（２１）と、を備えると好適である。
【００６６】
この構成によれば、メモリ（Ｍ）に書き込まれる伝送データが対象パターンであることをパターン判定モジュール（１２）が判定した場合には、置換モジュール（１１）が、対象パターンの初期ビット列を置換ビット列に置き換え、このように書き換えられた置換ビット列がメモリ（Ｍ）に書き込まれる。また、置き換え時には、対象パターンとアドレスデータとが関連付けられて記憶モジュール（１４）により所定の記憶部等に記憶される。この後にメモリ（Ｍ）から読み出されたデータに置換ビット列が含まれることを、特定モジュール（２２）が判定した場合には、その置換ビット列が復元モジュール（２１）で初期ビット列に復元される。
【００６７】
また、前記置換ユニット（６ｂ）による置き換え前のデータに含まれるビット列の「１」と「０」の並びのパターンの出現頻度が、予め定められた基準値（Ｅ）よりも高いパターンの中の少なくとも一つを、前記対象パターンに設定し、
前記出現頻度が、前記基準値（Ｅ）よりも低いパターンの中の少なくとも一つを、前記置換後パターンに設定すると好適である。
【００６８】
この構成によれば、出現頻度が基準値（Ｅ）より高いビット列のパターンを、出現頻度が基準値（Ｅ）より低いパターンのビット列に置き換えて信号ライン（ＤＬ）を伝送させることができる。従って、出現頻度が高いためにノイズを発生させる可能性が高いビット列のパターンを少なくすることができ、信号ライン（ＤＬ）で発生するノイズを低減することが可能となる。
【００６９】
或いは、前記置換ユニット（６ｂ）による置き換え前のデータに含まれるビット列の「１」と「０」の並びのパターンが、予め定められたノイズ周波数域のノイズを発生させるパターンの中の少なくとも一つを、前記対象パターンに設定し、
前記ノイズ周波数域のノイズを発生させるパターン以外のパターンの中の少なくとも一つを、前記置換後パターンに設定すると好適である。
【００７０】
この構成によれば、予め定められたノイズ周波数域のノイズを発生させるビット列のパターンを、当該周波数域のノイズを発生させないパターンのビット列に置き換えて信号ライン（ＤＬ）を伝送させることができる。従って、低減させたい周波数域のノイズを発生させるビット列のパターンを少なくすることができ、信号ライン（ＤＬ）で発生する当該周波数域のノイズを低減することが可能となる。ノイズを低減したい周波数域が既に決まっている場合には、このような設定とすることで、有効にノイズを低減することができる。
【００７１】
また、前記信号ライン（ＤＬ）を複数備えると共に、複数の前記信号ライン（ＤＬ）により第１伝送レーン（ＤＧ１）と第２伝送レーン（ＤＧ２）とを少なくとも含む複数のデータ伝送レーンが構成され、
前記置換ユニット（６ｂ）は、前記第１伝送レーン（ＤＧ１）を介して伝送される前記置換ビット列の「１」と「０」との並びにより生じるオンオフ周波数と、前記第２伝送レーンを介して伝送される前記置換ビット列の「１」と「０」との並びにより生じるオンオフ周波数とが異なるように、前記第１伝送レーン（ＤＧ１）と前記第２伝送レーン（ＤＧ２）とで異なる前記置換後パターンを設定すると好適である。
【００７２】
この構成によれば、複数のデータ伝送レーンにおける置換ビット列のオンオフ周波数を分散させることができるので、置換ユニット（６ｂ）による置換処理によって特定の周波数のノイズが増加することを抑制できる。
【００７３】
また、前記信号ライン（ＤＬ）を複数備えると共に、複数の前記信号ライン（ＤＬ）により第１伝送レーン（ＤＧ１）と第２伝送レーン（ＤＧ２）とを少なくとも含む複数のデータ伝送レーンが構成され、
前記置換ユニット（６ｂ）は、前記第１伝送レーン（ＤＧ１）を介して伝送される前記置換ビット列の「１」と「０」との境界のタイミングと、前記第２伝送レーン（ＤＧ２）を介して伝送される前記置換ビット列の「１」と「０」との境界のタイミングとが異なるように、前記第１伝送レーン（ＤＧ１）と前記第２伝送レーン（ＤＧ２）とで異なる前記置換後パターンを設定すると好適である。
【００７４】
この構成によれば、置換ユニット（６ｂ）による置換処理の後、複数のデータ伝送レーン（ＤＧ１、ＤＧ２）での置換後ビット列の「１」と「０」との境界のタイミングが同じになることに起因して、当該タイミングでノイズが増加することを抑制できる。
【００７５】
前記書込部（６）は、前記伝送データが書き込まれる前記アドレスが、前記メモリ（Ｍ）の記憶領域の中にある複数の区分領域のいずれに属するかに応じて、或いは、前記伝送データの送信元のデバイスが、前記メモリ（Ｍ）にアクセス可能な複数のデバイスの中のいずれであるかに応じて、前記対象パターン及び前記置換後パターンの少なくとも一方を異ならせると好適である。
【００７６】
メモリ（Ｍ）が使用される機器によっては、メモリ（Ｍ）の記憶領域が予め複数の区分領域に区分され、区分領域毎に異なる種類のデータが記憶される構成となっている場合がある。また、メモリ（Ｍ）に対してアクセス可能なデバイスが複数存在する場合であって、デバイス毎に異なる種類のデータが伝送される場合がある。そして、このようなデータ種別に応じて、メモリコントローラ（Ｃ）とメモリ（Ｍ）との間で伝送されるデータのビット列の「１」と「０」との組み合せパターンの出現頻度にも偏りが生じ、その偏りに一定の傾向が現れる場合がある。従って、伝送データのビット列の中で出現頻度が高いパターンも、メモリ（Ｍ）の中の区分領域毎、或いは、メモリ（Ｍ）にアクセスするデバイス毎に異なる場合がある。上記の構成によれば、このようなデータ種別毎の偏りに応じて、対象パターン及び置換後パターンの少なくとも一方を適切に設定することができる。従って、信号ライン（ＤＬ）で発生するノイズを効果的に低減することができる。
【００７７】
また、前記置換後パターンが、「０」だけが連続するビット列、又は、「１」だけが連続するビット列であっても好適である。
【００７８】
この構成によれば、置換ビット列が、信号ライン（ＤＬ）において全て同じ電位となるため、ノイズを有効に低減させることができる。また、このような置換後パターンを用いる場合、ノイズを発生させやすい複数のパターンの初期ビット列の全てを「０」又は「１」だけが連続する置換ビット列に置換することも可能となる。従って、置換ユニット（６ｂ）での処理を単純にして処理速度の向上を図ることも可能となる。
【産業上の利用可能性】
【００７９】
本開示に係る技術は、メモリに対して信号ラインを介してデータ伝送を行うメモリコントローラに利用することができる。
【符号の説明】
【００８０】
６          書込部
６ｂ        置換ユニット
７          読出部
７ｂ        復元ユニット
１１        置換モジュール
１２        パターン判定モジュール
１４        記憶処理モジュール
２１        復元モジュール
Ｄ          データバス
ＤＬ        信号ライン
ＤＧ１      第１伝送レーン
ＤＧ２      第２伝送レーン
Ｅ          基準値
Ｍ          メモリ
【図１】
0006414497.tif 000002
【図２】
0006414497.tif 000003
【図３】
0006414497.tif 000004
【図４】
0006414497.tif 000005
【図５】
0006414497.tif 000006
【図６】
0006414497.tif 000007
【図７】
0006414497.tif 000008
【図８】
0006414497.tif 000009
【図９】
0006414497.tif 000010
【図１０】
0006414497.tif 000011
【図１１】
0006414497.tif 000012