JP6414497B2 - メモリコントローラ - Google Patents

メモリコントローラ Download PDF

Info

Publication number
JP6414497B2
JP6414497B2 JP2015063178A JP2015063178A JP6414497B2 JP 6414497 B2 JP6414497 B2 JP 6414497B2 JP 2015063178 A JP2015063178 A JP 2015063178A JP 2015063178 A JP2015063178 A JP 2015063178A JP 6414497 B2 JP6414497 B2 JP 6414497B2
Authority
JP
Japan
Prior art keywords
replacement
bit string
memory
pattern
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015063178A
Other languages
English (en)
Other versions
JP2016184233A (ja
Inventor
峰信 成瀬
峰信 成瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aisin AW Co Ltd
Original Assignee
Aisin AW Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aisin AW Co Ltd filed Critical Aisin AW Co Ltd
Priority to JP2015063178A priority Critical patent/JP6414497B2/ja
Priority to PCT/JP2016/059472 priority patent/WO2016153005A1/ja
Priority to US15/552,337 priority patent/US20180024747A1/en
Priority to EP16768908.2A priority patent/EP3242211B1/en
Priority to CN201680016795.2A priority patent/CN107408066B/zh
Publication of JP2016184233A publication Critical patent/JP2016184233A/ja
Application granted granted Critical
Publication of JP6414497B2 publication Critical patent/JP6414497B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Dc Digital Transmission (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Communication Control (AREA)

Description

本発明は、メモリに対して信号ラインを介してデータ伝送を行うメモリコントローラに関する。
上記の技術として、例えば、下記の特許文献1には、信号ライン(引例ではデータバス)の各ビットを、2ビット以上の転送データに変換してデータバスに送り出し、データバスを送られた転送データを、復号回路により元のデータに復元することでバスノイズを低減するものが開示されている。
この特許文献1の技術では、転送データの複数のビットが、「1」又は「0」の状態から「0」又は「1」の状態への極端な変化が回避されることにより、電源や接地電位に対するノイズの発生を防止している。
メモリコントローラとメモリとの間のデータバスを考えると、データバスに送られるデータは「1」と「0」との組み合わせで成るため、例えば、「1」と「0」とが交互に伝送される場合には、バスクロックと同期した周波数の電磁波ノイズの発生に繋がるものであった。
特許文献1の技術は信号ラインでのノイズの発生を抑制するものの、転送データを生成するための論理回路と、転送データを元のデータに復元するための論理回路とを必要とし、コストが上昇するだけでなく、論理回路を配置するための回路基板のスペースの確保を必要とする課題がある。
また、ノイズの影響を抑制するために、金属性のシールドを回路基板に設けたり、回路設計を変更することなども行われているが、このような対策はコストの上昇の要因になると共に、変更が容易ではないために、様々な使用環境やノイズ要因に応じて柔軟に対策をとることが困難であるという問題があった。
特開平11‐68860号公報
そこで、メモリに対して信号ラインを介してデータ伝送を行う構成において、信号ラインで発生するノイズを効果的に抑制することができる技術が求められる。
上記に鑑みたメモリコントローラの技術的特徴は、メモリのアドレスを指定し信号ラインを介してメモリにデータを書き込む書込部と、前記メモリのアドレスを指定し前記信号ラインを介して前記メモリからデータ読み出す読出部とを備え、
前記書込部が、前記信号ラインを介して前記メモリに書き込まれる伝送データのビット列の「1」と「0」との並びが置換対象として設定された対象パターンである場合に、前記メモリに書き込む以前に、前記対象パターンの初期ビット列を、「1」と「0」との並びが前記対象パターンとは異なる置換後パターンとなる置換ビット列に置き換える置換ユニットを備え、
前記読出部が、前記メモリから読み出したデータの前記置換ビット列を前記初期ビット列に復元する復元ユニットを備えている点にある。
この構成によれば、対象パターン及び置換後パターンを適切に設定することにより、問題となるノイズを発生させるビット列のパターンを別のパターンに置き換えることができるため、メモリに対してデータを書き込む場合とメモリからデータを読み出す場合の双方において、信号ラインで発生するノイズを低減することが可能となる。
またこの際、ソフトウエア的に対象パターン及び置換後パターンの設定を変更するだけで様々な周波数のノイズを低減することができる。従って、例えば信号ラインを覆うシールドを設け、或いは、回路設計によりノイズ対策を行う場合に比べ、容易に低減対象のノイズ周波数を変更することができる。従って、メモリ及びメモリコントローラの使用環境に応じて柔軟にノイズ対策を実施できる。
メモリコントローラとメモリとの関係を示すブロック回路図である。 メモリコントローラの構成を示すブロック回路図である。 初期ビット列と置換ビット列とを模式的に示す図である。 複数のビット列を示す図である。 書き込み処理のフローチャートである。 読み出し処理のフローチャートである。 出現頻度テーブルのデータ構造を模式的に示す図である。 周波数毎のビット列パターンの出現頻度の一例を表したグラフである。 パターン特定情報のデータ構造を模式的に示す図である。 ノイズ分析装置の構成を示すブロック回路図である。 分析処理のフローチャートである。
以下、本発明の実施形態を図面に基づいて説明する。
1.実施形態
〔基本構成〕
メモリコントローラCの実施形態について図面に基づいて説明する。図1にはメモリMに対してデータの読み書きを行うメモリコントローラCを示している。このメモリMとメモリコントローラCとは、パーソナルコンピュータに限らず、オーディオ機器や、車載のカーナビゲーション機器、携帯通信機器等に備えられるものを対象としている。
メモリMは、16ビットのデータバスD(データ伝送レーンの一例)を介し、バーストモードでのデータの読み書きが可能なDRAMを想定している。メモリMとメモリコントローラCとの間には、コマンド・アドレスライン1を備えている。データバスDは複数(16本)の信号ラインDLを並列に配置したものである。尚、データバスDは16ビットに限らず、16ビット以上や、これ未満のビット数でも良い。
また、データバスDは、8ビットのバスとなる第1伝送レーンDG1と第2伝送レーンDG2とを並列した構造を有し、メモリコントローラCが各々を独立して管理できるように構成されている。
データバスD(データ伝送レーン)を構成する複数の信号ラインDLでは、データ伝送の基準クロックに同期してデータを伝送するめ、例えば、図3に「初期ビット列」として示すように、データが「1」と「0」とが交互に連続するビット列となる場合には、基準クロックに同期した周波数のノイズが発生する。また、例えば図4(a)に示すように、「1」と「0」とが2個ずつ交互に連続するビット列となる場合には、基準クロックの半分の周波数のノイズが発生する。尚、伝送されるビット列の具体例は、これらの他にも、例えば図4において(b)、(c)として例を挙げたもののように、様々なパターンのビット列が出現し得る。ノイズは電磁波であるため、周辺の回路に意図しない信号を発生させるなどの問題を生じさせる可能性もある。前記のようなビット列のパターンに応じて生じる各周波数のノイズのうちで、出現頻度が高いビット列のパターンが、より多くのノイズを発生させる可能性がある。また、出現頻度が高くない場合であっても、周辺の回路の構成等によって特定の周波数のノイズが特に問題を生じさせ易い場合もあり得る。
このような理由から、メモリコントローラCは、例えば図3に示すように、「初期ビット列」が特定の周波数のノイズを発生させるビット列である場合には、同図に「置換ビット列」として示すように他の周波数となるビット列に変換する機能を有している。尚、図3に示す例では、基準クロックと同じ周波数のノイズを発生させる「1」と「0」とが交互に連続する「初期ビット列」を、基準クロックの1/3の周波数のノイズを発生させる「1」と「0」とが3個ずつ交互に連続する「置換ビット列」に置換している。これにより、信号ラインDLで発生する基準クロックと同じ周波数のノイズを低減している。更に、このメモリコントローラCでは、メモリMに書き込まれた置換ビット列を読み出した場合には、復元処理により元のビット列に復元される。
この実施形態では、メモリMに書き込むためメモリコントローラCが受け取った伝送データの「1」と「0」との並びのビット列を初期ビット列と称している。更に、初期ビット列のうち、置換対象に設定された「1」と「0」との並びを対象パターンと称している。更に、置換により対象パターンと異なるように設定されたパターンを置換後パターンと称し、この置換後パターンの「1」と「0」との並びを置換ビット列と称している。図3に示す例では、「1」と「0」とが交互に連続するビット列を対象パターンに設定し、「1」と「0」とが3個ずつ交互に連続するビット列を置換後パターンに設定している。
これにより、メモリMにデータが伝送される場合(書き込まれる場合)と、メモリMからデータが伝送される場合(読み出される場合)との何れの場合にも、信号ラインDLに伝送されるデータにおける特定の周波数のノイズ、すなわち対象パターンに設定されたビット列により生じる周波数のノイズの低減を行うことができる。なお、対象パターンをどのように設定するかについては、後述する。
〔メモリコントローラ〕
図1に示すように、メモリコントローラCは、データの読み書きのコマンドとアドレスを指定するコマンド・アドレス生成部5と、メモリMへの伝送データの書き込みを実行する書込部6と、メモリMからデータの読み出しを実行する読出部7とを備えている。
このメモリコントローラCは、マイクロプロセッサやDSP等と同様にプログラムにより所定の処理を実行する機能を有するものである。この機能を利用することにより、メモリコントローラCは、後述する置換処理と復元処理とを実現する。
図2に示すように、書込部6は、データライトユニット6aと、置換ユニット6bとを備えている。置換ユニット6bは、信号ラインDLを介してメモリMに書き込まれる伝送データのビット列の「1」と「0」との並びが置換対象として設定された対象パターンである場合に、メモリMに書き込む以前に、対象パターンの初期ビット列を、「1」と「0」との並びが対象パターンとは異なる置換後パターンとなる置換ビット列に置き換える処理を行う。そのために、置換ユニット6bは、置換モジュール11と、パターン判定モジュール12と、出現頻度テーブル13と、記憶モジュール14と、記憶回路15とを備えている。パターン判定モジュール12は、伝送データのビット列の「1」と「0」との並びが設定された対象パターンであるかを判定する。置換モジュール11は、パターン判定モジュール12で対象パターンであることを判定した場合に、当該対象パターンの初期ビット列を置換ビット列に置き換える。記憶モジュール14は、置換モジュール11での置き換えを行った場合に、対象パターンと、置換ビット列が書き込まれるメモリMのアドレスを特定するためのアドレスデータと、を関連付けて記憶回路15に記憶させる。本実施形態のメモリコントローラCでは、内部に記憶回路15を備えているが、記憶モジュール14によりデータを記憶する対象がメモリMの一部の領域であっても良い。
読出部7は、データリードユニット7aと、復元ユニット7bとを備えている。復元ユニット7bは、メモリMから読み出したデータの置換ビット列を初期ビット列に復元する処理を行う。そのために、復元ユニット7bは、復元モジュール21と特定モジュール22とで構成されている。特定モジュール22は、記憶回路15に記憶されたアドレスデータに基づいて、メモリMから読み出したデータの中に含まれる置換ビット列を特定する。復元モジュール21は、記憶回路15に記憶されたアドレスデータに関連付けられている対象パターンに基づいて、置換ビット列を置き換え前の初期ビット列に復元する。
データライトユニット6aは、コマンド・アドレス生成部5からの情報に基づいて伝送データのメモリMへの書き込みを実行する。尚、同図では、理解を容易にするため2つのコマンド・アドレス生成部5を示しているが、通常、このコマンド・アドレス生成部5は、メモリコントローラCに1つ備えられていればよい。
出現頻度テーブル13のデータ構造の一例を図7に示している。同図では、出現頻度が高いものからパターン(01)、パターン(02)‥‥パターン(20)となる順序で複数の対象パターンを記憶したデータ構造であることを示している。また、この出現頻度テーブル13では、各々のパターンを識別するため、各々のパターンにビット列情報が関連付けられており、複数の対象パターンを出現頻度に基づいて区別するための基準値Eが設定されている。この出現頻度テーブル13は、後述するノイズ分析装置ANによる分析により得られたものとすることができる。
図8は、周波数を横軸とし、出現頻度を縦軸として、周波数毎のノイズを生じさせるビット列パターンの出現頻度の一例を表したグラフである。この例では、基準クロックと同じ周波数(周波数=n)のノイズを生じさせるビット列パターンの出現頻度が最も高く、基準値Eを超えている。そこで、本実施形態においては、基準クロックと同じ周波数(周波数=n)のノイズを生じさせる単数又は複数のビット列パターンの少なくとも一つを対象パターンに設定している。また、図8の例では、基準クロックの1/4の周波数(周波数=n/4)のノイズを生じさせるビット列パターンの一つを置換後パターンに設定している。これにより、基準クロックの1/4の周波数(周波数=n/4)のノイズを増加させる代わりに、出現頻度が基準値Eを超えている基準クロック周波数(周波数=n)のノイズを低減することができており、結果的に、全ての周波数において出現頻度が基準値E以下に抑えられている。ここで、基準値Eは、例えば、予め定められた周波数域毎の出現頻度の平均値に設定することができる。なお、平均値に代えて、最多値、中央値等、他の基準に基づいて基準値Eを設定してもよい。また、各周波数のノイズを生じさせるビット列パターンの出現頻度は、実質的に各周波数のノイズの大きさに対応しているため、図8のグラフにおいて、縦軸をノイズレベルと置き換えることもできる。
〔処理形態〕
図5のフローチャートには、書込部6での書き込み処理の概要を示しており、図6のフローチャートには、読出部7での読み出し処理の概要を示している。
書き込みを実行する場合には、メモリMにバーストモードで書き込むためにメモリコントローラCに与えられた全てのデータについて、対象パターンのビット列であるかの判定が行われる。この判定は、データバスDを構成する複数のデータ伝送レーン(DG1、DG2)の各々について行われ、判定の結果、対象パターンの初期ビット列(対象ビット列)を、置換後パターンのビット列である置換ビット列に置き換える処理が行われる。
なお、バーストモードで書き込みが行われる場合には、対象パターンのビット列のビット長は、バーストモードで転送されるビット長と同じに設定すると好適であるが、バーストモードで転送されるビット長より短いビット列に設定してもよい。
〔処理形態:書き込み処理〕
メモリコントローラCに伝送データを伝送してメモリMへの書き込み要求があった場合には、図5のフローチャートに示す書き込み処理が実行される。この書き込み処理では、複数のデータ伝送レーン(DG1、DG2)での伝送データのビット列(初期ビット列)が取得され、各々のパターンの判定が行われる。この判定の結果、予め設定されている対象パターンである場合には置き換え対象に設定する(#101、#102ステップ)。
この処理では、置換モジュール11が、メモリコントローラCがメモリMに書き込むべき初期の伝送データを取得し、パターン判定モジュール12に与える。パターン判定モジュール12は出現頻度テーブル13を参照することにより、複数のデータ伝送レーン(DG1、DG2)に転送されるデータの伝送データの「1」と「0」との並びが対象パターンであるか否かの判定を行う。
つまり、この判定では、伝送データの初期ビット列が、図7に示す複数のパターンのうち基準値Eより出現頻度が高いものの中から設定された対象パターンと合致した場合に、その初期ビット列を対象パターンのビット列であると判定する。そして、基準値Eより出現頻度が低いパターンの中から設定された置換後パターンのビット列に置き換える。すなわち、本実施形態では、出現頻度が基準値Eより高いパターンの中の少なくとも1つを対象パターンに設定し、出現頻度が基準値Eより低いパターンの中の少なくとも1つを置換後パターンに設定している。以下では、説明の簡略化のため、データ伝送レーン(DG1、DG2)毎に1つの対象パターンと1つの置換後パターンを設定する場合を例として説明する。この処理では、基準値Eより出現頻度が低いパターンを置換後パターンに設定するものであるが、これに代えて、出現頻度テーブル13には記憶されていないビット列を置換ビット列とするように処理形態を設定しても良い。また、例えば、図7に示す出現頻度テーブル13において基準値Eより出現頻度が高いパターンの全てを対象パターンに設定してもよい。その場合には、この判定では出現頻度テーブル13において基準値Eより出現頻度が高い各パターンに関連付けられたビット列情報と、伝送データの初期ビット列との比較により対象パターンに合致するものか否かの判定が行われる。
置換モジュール11は、上記のように設定された置換後パターンに基づいて、対象パターンの初期ビット列を、置換後パターンに対応する置換ビット列に置き換える置換処理を実行する。そして、置き換えに連係して、記憶モジュール14が、対象パターンと、当該対象パターンに合致するとして置き換えられた置換ビット列が書き込まれるメモリMのアドレスを特定するためのアドレスデータとを関連付けた状態で記憶回路15に記憶する。そして、置換された後の置換ビット列がメモリMに書き込まれる。なお、対象パターンとは異なるパターンの初期ビット列のデータは、そのままメモリMに書き込まれる(#103〜#105ステップ)。
本例では、この処理において、記憶モジュール14が、置換モジュール11により置換した初期ビット列に係る対象パターンを置換モジュール11又はパターン判定モジュール12から取得し、置換ビット列が書き込まれるメモリMのアドレスを特定するためのアドレスデータをデータライトユニット6aから取得する。この取得の後に、これらを互いに関連付けた状態で記憶回路15に書き込む。
アドレスデータは、置換ビット列が書き込まれるメモリM内の領域の先頭アドレスと、ビット長のデータとの組み合わせとするのが一般的である。一方、別の例として、置換モジュール11による置換処理を行っていない初期ビット列の状態で置換後パターンと同じパターンであるビット列を、アドレスを記憶する対象のビット列とし、当該対象のビット列が書き込まれるメモリMのアドレスを特定するデータをアドレスデータとしても好適である。上記のとおり、対象パターンは、出現頻度が高いパターンに設定され、置換後パターンは出現頻度が低いパターンに設定されることが多い。そのような場合、対象パターンに合致するビット列の出現数と、初期ビット列の状態で置換後パターンと同じパターンであるビット列の出現数とでは、後者の方が少なくなる可能性が高い。従って、初期ビット列の状態で置換後パターンと同じパターンであるビット列のアドレスをアドレス情報とする方が、対象パターンに合致するビット列のアドレスをアドレス情報とする場合よりも、記憶回路15に記憶する必要があるアドレス情報の数、すなわちデータ量を低減することができる。
本実施形態のように、複数のデータ伝送レーン(DG1、DG2)を備える場合には、当該の複数のデータ伝送レーン(DG1、DG2)のそれぞれについて、互いに異なる置換後パターンを設定すると好適である。この場合において、複数のデータ伝送レーン(DG1、DG2)のそれぞれを伝送される置換後ビット列によるオンオフ周波数が、互いに異なるオンオフ周波数となるように、置換後パターンを設定すると好適である。これにより、置換ユニット6bによる置換処理によって、特定の周波数のノイズが増加することを抑制できる。そこで、本実施形態では、置換ユニット6bは、第1伝送レーンDG1を介して伝送される置換ビット列の「1」と「0」との並びにより生じるオンオフ周波数と、第2伝送レーンDG2を介して伝送される置換ビット列の「1」と「0」との並びにより生じるオンオフ周波数とが異なるように、第1伝送レーンDG1と第2伝送レーンDG2とで異なる置換後パターンを設定している。例えば、第1伝送レーンDG1の置換後パターンを図4(b)に示すビット列のパターンとし、第2伝送レーンDG2の置換後パターンを図4(c)に示すビット列のパターンとすると、第1伝送レーンDG1の置換後ビット列によるオンオフ周波数が基準クロックの1/4の周波数となり、第2伝送レーンDG2の置換後ビット列によるオンオフ周波数が基準クロックの1/8の周波数となる。この場合において、第1伝送レーンDG1についての対象パターンと、第2伝送レーンDG2についての対象パターンとが、同じであっても良いし、異なっていても良い。なお、データ伝送レーンが3つ以上ある場合、それぞれにおいて伝送される置換ビット列のオンオフ周波数が、互いに異なる周波数となるように設定されると好適であるが、一部のデータ伝送レーンについての置換ビット列のオンオフ周波数が同じになることを妨げるものではない。
また、複数のデータ伝送レーン(DG1、DG2)のそれぞれを伝送される置換後ビット列の「1」と「0」との境界のタイミングが互いに異なるように、置換後パターンを設定すると好適である。これにより、置換ユニット6bによる置換処理の後、複数のデータ伝送レーン(DG1、DG2)での置換後ビット列の「1」と「0」との境界のタイミングが同じになることに起因して当該タイミングでノイズが増加することを抑制できる。そこで、本実施形態では、置換ユニット6bは、第1伝送レーンDG1を介して伝送される置換ビット列の「1」と「0」との境界のタイミングと、第2伝送レーンDG2を介して伝送される置換ビット列の「1」と「0」との境界のタイミングとが異なるように、第1伝送レーンDG1と第2伝送レーンDG2とで異なる置換後パターンを設定している。例えば、第1伝送レーンDG1の置換後パターンを図4(d)に示すビット列のパターンとし、第2伝送レーンDG2の置換後パターンを図4(e)に示すビット列のパターンとすると、第1伝送レーンDG1の置換後ビット列と第2伝送レーンDG2の置換後ビット列とは、「1」と「0」との境界のタイミングが互いに異なると共に、オンオフ周波数も互いに異なるものとなる。また、例えば、第1伝送レーンDG1の置換後パターンを図4(c)に示すビット列のパターンとし、第2伝送レーンDG2の置換後パターンを図4(e)に示すビット列のパターンとすると、第1伝送レーンDG1の置換後ビット列と第2伝送レーンDG2の置換後ビット列とは、オンオフ周波数が同じであるが、「1」と「0」との境界のタイミングが互いに異なるものとなる。この場合において、第1伝送レーンDG1についての対象パターンと、第2伝送レーンDG2についての対象パターンとが、同じであっても良いし、異なっていても良い。なお、データ伝送レーンが3つ以上ある場合、それぞれにおいて伝送される置換ビット列の「1」と「0」との境界のタイミングが、互いに異なるように設定されると好適であるが、一部のデータ伝送レーンについての置換ビット列の「1」と「0」との境界のタイミングが同じになることを妨げるものではない。
いずれにしても、置換ユニット6bは、対応するデータ伝送レーン(DG1、DG2)毎に、対象パターンの初期ビット列を、置換後パターンの置換ビット列に置き換える置換処理を実行する。
〔処理形態:読み出し処理〕
図6に示すように、読み出し処理では、指定されたアドレス領域(指定アドレス領域)からデータが読み出された場合には、指定アドレス領域が記憶回路15に記憶されているアドレスデータにより特定されるアドレスに該当するかの判定が行われる(#201、#202ステップ)。
この処理では、メモリコントローラCに読み出しの要求があり、データリードユニット7aがメモリMからデータを読み出した場合には、データリードユニット7aで読み出したデータが復元モジュール21に与えられる。これと連係して、データリードユニット7aは、特定モジュール22に指定アドレスの情報を与え、特定モジュール22は、記憶回路15に記憶されているアドレスデータにより特定されるアドレスと比較する。この比較では、指定アドレスが、記憶回路15に記憶されているアドレスデータにより特定されるアドレスに該当するかの判定が行われる。
指定アドレスが記憶回路15に記憶されているアドレスデータにより特定されるアドレスに該当すると判定した場合には、特定モジュール22は、メモリMから読み出したデータのうち、対応するアドレスデータにより特定されるアドレスの情報と、当該アドレスデータに関連付けられている対象パターンの情報とを復元モジュール21に与える。これにより、復元モジュール21は、メモリMから読み出したデータを復元処理し、要求元に対して復元されたデータを転送する。また、復元が不要である場合には、取得したデータを、そのまま伝送する(#203〜#206ステップ)。
ここでは、1つのデータ伝送レーンについての読み出し処理の形態を説明したが、当然のことながら、本実施形態のように、複数のデータ伝送レーン(DG1、DG2)を備える場合には、当該の複数のデータ伝送レーン(DG1、DG2)それぞれについて、この読み出し処理が行われる。
〔出現頻度テーブルの設定〕
出現頻度テーブル13は、信号ラインDLを介してメモリMに転送される転送データの「1」と「0」のビット列が予め設定された複数の対象パターンの何れかに含まれるかの判定と、含まれる場合には何れの対象パターンであるかの判定とに用いられる。この出現頻度テーブル13は、出現頻度の高いパターンと、出現頻度が低いパターンとを記憶したデータ構造を有している。
この出現頻度は、図10に示すノイズ分析装置ANによって予め取得された出現頻度情報に基づいて設定される。前述したように、メモリコントローラCは、マイクロプロセッサやDSP等と同様にプログラムに従う処理を実現するものである。この構成を利用して、メモリコントローラCのプログラムを設定することで、図10に示すノイズ分析装置ANが構成される。このノイズ分析装置ANでは、専用のコンピュータ等が接続され、出力された出現頻度情報は、専用のコンピュータ等で取得され、出現頻度テーブル13に記憶されることになる。或いは、ノイズ分析装置AN自体が、出現頻度情報に基づいて、出現頻度テーブル13を生成したり、随時更新したりする構成とされても好適である。
本実施形態では、ノイズ分析装置ANは、データリード部31と、データライト部32と、パターン判定部33と、判定パターンテーブル34と、積算処理部35と、頻度出力部37と、デバイス識別部38と、出力タイミング設定部39とを備えている。ここで、パターン判定部33は、信号ラインDLを介してメモリMに読み書きされる伝送データのビット列の「1」と「0」の並びのパターンが、設定された少なくとも1つの判定パターンに合致するか否かを判定する。判定パターンテーブル34には、設定された少なくとも1つの判定パターンの情報、具体的には判定パターンのビット列が記憶されている。積算処理部35は、パターン判定部33で判定された判定パターンの出現回数を積算値として取得する。頻度出力部37は、積算処理部35により取得された積算値と、当該積算値が表す判定パターンを特定するパターン特定情報と、を関連付けた出現頻度情報を出力する。
このノイズ分析装置ANでは、各種のデバイスが、メモリMに記憶されたデータに対して現実にアクセスする場合に、信号ラインDLを伝送される「1」と「0」のビット列のパターンを取得し、各パターンの出現頻度を取得する。図11のフローチャートには、その処理の概要を示している。また、出現頻度情報を取得する対象は、分析対象として設定された少なくとも一つの判定パターンに合致する伝送データのビット列である。
つまり、データリード部31又はデータライト部32を介して、メモリMに読み書きされる伝送データのビット列が信号ラインDLを介して伝送された場合には、パターン判定部33が当該伝送データを取得し、判定パターンテーブル34のデータに基づき、設定された少なくとも一つの判定パターンに合致するか否かの判定を行う(#301〜#303ステップ)。
次に、積算処理部35が、パターン判定部33で判定された判定パターンの出現回数を積算値として取得する。この際、積算処理部35は、パターン判定部33で判定パターンに合致すると判定された伝送データについて、その判定パターンを特定するパターン特定情報を取得し、判定パターン毎の出現回数を積算する。また、本実施形態では、積算処理部35は、メモリMにデータを書き込む場合と、メモリMからデータを読み出す場合とを区別して積算値を取得する。また、積算処理部35は、伝送データが書き込まれるメモリM内のアドレスが、メモリMの記憶領域の中にある複数の区分領域のいずれに属するかに応じて、当該区分領域毎に積算値を取得する。更に、積算処理部35は、伝送データの送信元のデバイスが、メモリMにアクセス可能な複数のデバイスの中の何れであるかに応じて、当該デバイス毎に積算値を取得する。そのために、積算処理部35は、パターン判定部33で判定パターンと判定された伝送データについて、アクセス情報と、区分領域情報と、デバイス情報と、を含む属性情報を取得する。そして、取得したパターン特定情報に、当該属性情報を関連付けて、各判定パターンの出現回数を積算し、積算値として取得する(#304〜#306ステップ)。
図9は、積算処理部35が取得する、パターン特定情報と属性情報とに関連付けられた積算値データの一例を示している。同図に示すように複数種の判定パターンを識別するため、積算値データのそれぞれは、パターン特定情報をインデックスとしており、属性情報として、(R)と(W)とで示すアクセス情報、(A1〜A3)で示す区分領域情報、(D1〜D3)で示すデバイス情報、の各々を備えている。また、このパターン特定情報には、当該パターン特定情報により特定される判定パターンのビット列情報が関連付けられている。
具体的には、アクセス情報の(R)と(W)は、メモリMにデータ(ビット列情報)を書き込む場合(R)と、メモリMからデータ(ビット列情報)を読み出す場合(W)との区別を示している。区分領域情報の(A1〜A3)は、判定パターンの伝送データ(ビット列情報)が書き込まれるメモリM内のアドレスが、メモリMの記憶領域の中にある複数の区分領域(A1〜A3)のいずれに属するかを示している。デバイス情報の(D1〜D3)は、判定パターンの伝送データ(ビット列情報)の送信元のデバイスが、メモリMにアクセス可能な複数のデバイス(D1〜D3)の中の何れであるかを示している。ここで、送信元のデバイスが何れであるかは、デバイス識別部38により識別され、その識別情報が積算処理部36に与えられる。尚、区分領域情報は上記した3つの領域に限らず、デバイスの数も3つに限らない。
そして、積算処理部35は、パターン特定情報により特定された判定パターン毎、及び各属性情報毎に、出現回数を積算し、その積算値をインクリメントする(#306ステップ)。具体的には、メモリMに読み書きされる伝送データのビット列が判定パターンに合致する毎に、積算処理部35は、当該の伝送データ(ビット列情報)についてのパターン特定情報と、属性情報としての(R)と(W)とで示すアクセス情報、(A1〜A3)で示す区分領域情報、及び(D1〜D3)で示すデバイス情報を取得する。そして、積算処理部35は、当該取得した情報に応じて、図9に示すような、積算値データであって、当該判定パターンを特定するパターン特定情報を有するデータについて、アクセス情報の(R)と(W)の何れかの値をインクリメントし、区分領域情報の(A1〜A3)の何れかの値をインクリメントし、デバイス情報の(D1〜D3)の何れかの値をインクリメントする。
そして、頻度出力部37が、予め設定された出力タイミングで、出現頻度情報を出力する(#307、#308ステップ)。ここで、出現頻度情報は、積算処理部35により取得された積算値と、当該積算値が表す判定パターンを特定するパターン特定情報と、を関連付けた情報である。本実施形態では、出現頻度情報は、更に、アクセス情報と、区分領域情報と、デバイス情報と、を含む属性情報も、積算値及びパターン特定情報に関連付けた情報となっている。具体的には、頻度出力部37は、出力タイミングとなった時点での上記積算値データ(図9参照)を積算処理部35から取得し、その時点での積算値データを出現頻度情報として出力する。また、これらの#301〜#308ステップの処理は、リセットされるまで反復して実行される(#309ステップ)。
出力タイミング設定部39は、設定された出力タイミングに従って、頻度出力部37に対して出力のトリガー情報を与える。頻度出力部37は、このトリガー情報に応じて出現頻度情報を出力する。本実施形態では、出力タイミング設定部39は、積算処理部35による積算値が予め設定した出力閾値を超える毎、又は当該積算値の積算期間が予め設定した出力期間を超える毎に、頻度出力部37に出力のトリガー情報を与える。具体的には、出力タイミング設定部39は、図9に示す積算値データの各項目の積算値の中でも最も値が大きいものが、予め設定した出力閾値を超える毎、又は、積算値データの積算値の積算期間が予め設定した出力期間を超える毎に、トリガー情報を頻度出力部37に対して出力する。尚、出力タイミング設定部39は、予め設定した出力閾値を超えるという値条件と、積算値データの積算値の積算期間が予め設定した出力期間を超えるという期間条件と、の双方を満たす毎にトリガー情報を出力する構成とされてもよい。
この分析処理により得られる出現頻度情報に基づいて、各属性情報の積算値をソートすることにより、アクセス情報と区分領域情報デバイス情報との何れか1つ又はこれらの組み合わせを基準にした出現頻度を得ることができる。
例えば、車載のカーナビゲーション機器等、メモリMが使用される機器によっては、メモリMの記憶領域が予め複数の区分領域に区分され、区分領域毎に異なる種類のデータが記憶される構成となっている場合がある。例えば、第1の区分領域には地図情報を記憶し、第2の区分領域には静止画像情報を記憶し、第3の区分領域には音声情報を記憶し、第4の区分領域にはプログラムの情報を記憶する等、データ種別毎に記憶される区分領域が予め定まっている場合がある。同様に、メモリMに対してアクセス可能なデバイスが複数存在する場合であって、デバイス毎に異なる種類のデータが伝送される場合がある。例えば、メモリコントローラCを介してメモリMにアクセス可能に構成された複数のデバイスのうち、地図描画デバイスが地図データを伝送し、画像表示デバイスが静止画データを伝送し、オーディオ再生デバイスが音声情報を伝送し、演算処理デバイスがプログラムデータを伝送する等、メモリMにアクセスするデバイス毎に異なる種別のデータ伝送が行われる場合がある。そして、このようなデータ種別に応じて、メモリコントローラCとメモリMとの間で伝送されるデータのビット列の「1」と「0」との組み合せパターンの出現頻度にも偏りが生じ、その偏りに一定の傾向が現れる場合がある。従って、伝送データのビット列の中で出現頻度が高いパターンも、メモリMの中の区分領域毎、或いは、メモリMにアクセスするデバイス毎に異なる場合がある。
そこで、伝送データが書き込まれるアドレスが、メモリMの記憶領域の中にある複数の区分領域のいずれに属するかに応じて、或いは、伝送データの送信元のデバイスが、メモリMにアクセス可能な複数のデバイスの中のいずれであるかに応じて、対象パターン及び置換後パターンの少なくとも一方を異ならせると好適である。例えば、上述した出現頻度情報に基づいて、メモリMの区分領域毎の出現頻度を取得し、伝送データが書き込まれるアドレスが属する区分領域毎に、出現頻度が基準値Eより高いパターンの中の少なくとも一つを対象パターンに設定し、出現頻度が基準値Eより低いパターンの中の少なくとも一つを置換後パターンに設定するとよい。或いは、出現頻度情報に基づいて、伝送データの送信元のデバイス毎の出現頻度を取得し、伝送データの送信元のデバイス毎に、出現頻度が基準値Eより高いパターンの中の少なくとも一つを対象パターンに設定し、出現頻度が基準値Eより低いパターンの中の少なくとも一つを置換後パターンに設定してもよい。
2.その他の実施形態
(1)上記の実施形態では、複数のデータ伝送レーン(DG1、DG2)を備える場合に、データ伝送レーン(DG1、DG2)毎に1つの対象パターンと1つの置換後パターンを設定する場合を例として説明した。しかし、当然ながら、データ伝送レーン(DG1、DG2)毎に複数の対象パターンを設定すると共に、複数の対象パターンのそれぞれに対応して置換後パターンを設定しても好適である。当然ながら、データ伝送レーンが1つの場合に、複数の対象パターンと複数の置換後パターンを設定しても好適である。また、全てのデータ伝送レーン(DG1、DG2)について共通の1つ又は複数の対象パターンを設定してもよい。
(2)上記の実施形態では、データ伝送レーン(DG1、DG2)のそれぞれが、複数の信号ラインDLを備えている場合を例として説明した。しかし、当然ながら、データ伝送レーン(DG1、DG2)のそれぞれが、1本の信号ラインDLにより構成されていてもよい。すなわち、信号ラインDL毎に、対象パターンと置換後パターンを設定してもよい。
(3)上記の実施形態では、置換後パターンを、出現頻度が基準値Eより低いパターンの中から設定する場合を例として説明した。しかし、これ以外の構成とすることもできる。例えば、置換後パターンを、「0」だけが連続するビット列、又は、「1」だけが連続するビット列としても好適である。このような置換後パターンを設定することにより、置換ビット列が、信号ラインDLにおいて全て同じ電位となるため、ノイズを有効に低減させることができる。また、このような置換後パターンを用いる場合、ノイズを発生させやすい複数のパターンの初期ビット列の全てを「0」又は「1」だけが連続する置換ビット列に置換することも可能となる。従って、置換ユニット6bでの処理を単純にして処理速度の向上を図ることも可能となる。
(4)上記の実施形態では、対象パターンを、出現頻度が基準値Eより高いパターンの中の少なくとも1つに設定し、置換後パターンを、出現頻度が基準値Eより低いパターンの中の少なくとも1つに設定する場合について説明した。しかし、これに限定されず、対象パターン及び置換後パターンを、出現頻度以外の他の基準に基づいて設定してもよい。例えば、置換ユニット6bによる置き換え前のデータに含まれるビット列の「1」と「0」の並びのパターンが、予め定められたノイズ周波数域のノイズを発生させるパターンの中の少なくとも一つを、対象パターンに設定し、当該ノイズ周波数域のノイズを発生させるパターン以外のパターンの中の少なくとも一つを、置換後パターンに設定しても好適である。ノイズを低減したい周波数域が既に決まっている場合には、このような設定とすることで、有効にノイズを低減することができる。なお、低減したい周波数域のノイズを発生させるビット列のパターンが複数存在する場合には、それらの一部または全部のパターンを対象パターンに設定するとよい。
(5)上記実施形態では、頻度出力部37により出力される出現頻度情報が、積算値と、パターン特定情報と、属性情報とを関連付けた情報である場合を例として説明した。しかし、出現頻度情報が、積算値と、パターン特定情報と、を関連付けただけの情報であってもよい。また、上記の実施形態では、属性情報として、アクセス情報と、区分領域情報と、デバイス情報と、が含まれる場合を例として説明した。しかし、属性情報として、これらの一部のみが含まれる構成としてもよいし、これら以外の情報が含まれる構成としてもよい。
(6)なお、上述した各実施形態で開示された構成は、矛盾が生じない限り、他の実施形態で開示された構成と組み合わせて適用することも可能である。その他の構成に関しても、本明細書において開示された実施形態は全ての点で単なる例示に過ぎない。従って、本開示の趣旨を逸脱しない範囲内で、適宜、種々の改変を行うことが可能である。
3.上記実施形態の概要
以下、上記において説明したメモリコントローラの概要について説明する。
メモリコントローラ(C)は、メモリ(M)のアドレスを指定し信号ライン(DL)を介してメモリ(M)にデータを書き込む書込部(6)と、前記メモリ(M)のアドレスを指定し前記信号ライン(DL)を介して前記メモリ(M)からデータ読み出す読出部(7)とを備え、
前記書込部(M)が、前記信号ライン(DL)を介して前記メモリ(M)に書き込まれる伝送データのビット列の「1」と「0」との並びが置換対象として設定された対象パターンである場合に、前記メモリ(M)に書き込む以前に、前記対象パターンの初期ビット列を、「1」と「0」との並びが前記対象パターンとは異なる置換後パターンとなる置換ビット列に置き換える置換ユニット(6b)を備え、
前記読出部(7)が、前記メモリ(M)から読み出したデータの前記置換ビット列を前記初期ビット列に復元する復元ユニット(7b)を備えている。
この構成によれば、対象パターン及び置換後パターンを適切に設定することにより、問題となるノイズを発生させるビット列のパターンを別のパターンに置き換えることができるため、メモリ(M)に対してデータを書き込む場合とメモリ(M)からデータを読み出す場合の双方において、信号ライン(DL)で発生するノイズを低減することが可能となる。
またこの際、ソフトウエア的に対象パターン及び置換後パターンの設定を変更するだけで様々な周波数のノイズを低減することができる。従って、例えば信号ライン(DL)を覆うシールドを設け、或いは、回路設計によりノイズ対策を行う場合に比べ、容易に低減対象のノイズ周波数を変更することができる。従って、メモリ(M)及びメモリコントローラ(C)の使用環境に応じて柔軟にノイズ対策を実施できる。
また、前記置換ユニット(6b)が、
前記伝送データのビット列の「1」と「0」との並びが前記対象パターンであるかを判定するパターン判定モジュール(12)と、
前記パターン判定モジュール(12)で前記対象パターンであることを判定した場合に、前記初期ビット列を前記置換ビット列に置き換える置換モジュール(11)と、
前記置換モジュール(11)での置き換えを行った場合に、前記対象パターンと、前記置換ビット列が書き込まれる前記メモリ(M)のアドレスを特定するためのアドレスデータと、を関連付けて記憶させる記憶モジュール(14)と、を備え、
前記復元ユニット(7b)が、
前記アドレスデータに基づいて、前記メモリ(M)から読み出したデータの中に含まれる前記置換ビット列を特定する特定モジュール(22)と、
前記アドレスデータに関連付けられている前記対象パターンに基づいて、前記置換ビット列を置き換え前の前記初期ビット列に復元する復元モジュール(21)と、を備えると好適である。
この構成によれば、メモリ(M)に書き込まれる伝送データが対象パターンであることをパターン判定モジュール(12)が判定した場合には、置換モジュール(11)が、対象パターンの初期ビット列を置換ビット列に置き換え、このように書き換えられた置換ビット列がメモリ(M)に書き込まれる。また、置き換え時には、対象パターンとアドレスデータとが関連付けられて記憶モジュール(14)により所定の記憶部等に記憶される。この後にメモリ(M)から読み出されたデータに置換ビット列が含まれることを、特定モジュール(22)が判定した場合には、その置換ビット列が復元モジュール(21)で初期ビット列に復元される。
また、前記置換ユニット(6b)による置き換え前のデータに含まれるビット列の「1」と「0」の並びのパターンの出現頻度が、予め定められた基準値(E)よりも高いパターンの中の少なくとも一つを、前記対象パターンに設定し、
前記出現頻度が、前記基準値(E)よりも低いパターンの中の少なくとも一つを、前記置換後パターンに設定すると好適である。
この構成によれば、出現頻度が基準値(E)より高いビット列のパターンを、出現頻度が基準値(E)より低いパターンのビット列に置き換えて信号ライン(DL)を伝送させることができる。従って、出現頻度が高いためにノイズを発生させる可能性が高いビット列のパターンを少なくすることができ、信号ライン(DL)で発生するノイズを低減することが可能となる。
或いは、前記置換ユニット(6b)による置き換え前のデータに含まれるビット列の「1」と「0」の並びのパターンが、予め定められたノイズ周波数域のノイズを発生させるパターンの中の少なくとも一つを、前記対象パターンに設定し、
前記ノイズ周波数域のノイズを発生させるパターン以外のパターンの中の少なくとも一つを、前記置換後パターンに設定すると好適である。
この構成によれば、予め定められたノイズ周波数域のノイズを発生させるビット列のパターンを、当該周波数域のノイズを発生させないパターンのビット列に置き換えて信号ライン(DL)を伝送させることができる。従って、低減させたい周波数域のノイズを発生させるビット列のパターンを少なくすることができ、信号ライン(DL)で発生する当該周波数域のノイズを低減することが可能となる。ノイズを低減したい周波数域が既に決まっている場合には、このような設定とすることで、有効にノイズを低減することができる。
また、前記信号ライン(DL)を複数備えると共に、複数の前記信号ライン(DL)により第1伝送レーン(DG1)と第2伝送レーン(DG2)とを少なくとも含む複数のデータ伝送レーンが構成され、
前記置換ユニット(6b)は、前記第1伝送レーン(DG1)を介して伝送される前記置換ビット列の「1」と「0」との並びにより生じるオンオフ周波数と、前記第2伝送レーンを介して伝送される前記置換ビット列の「1」と「0」との並びにより生じるオンオフ周波数とが異なるように、前記第1伝送レーン(DG1)と前記第2伝送レーン(DG2)とで異なる前記置換後パターンを設定すると好適である。
この構成によれば、複数のデータ伝送レーンにおける置換ビット列のオンオフ周波数を分散させることができるので、置換ユニット(6b)による置換処理によって特定の周波数のノイズが増加することを抑制できる。
また、前記信号ライン(DL)を複数備えると共に、複数の前記信号ライン(DL)により第1伝送レーン(DG1)と第2伝送レーン(DG2)とを少なくとも含む複数のデータ伝送レーンが構成され、
前記置換ユニット(6b)は、前記第1伝送レーン(DG1)を介して伝送される前記置換ビット列の「1」と「0」との境界のタイミングと、前記第2伝送レーン(DG2)を介して伝送される前記置換ビット列の「1」と「0」との境界のタイミングとが異なるように、前記第1伝送レーン(DG1)と前記第2伝送レーン(DG2)とで異なる前記置換後パターンを設定すると好適である。
この構成によれば、置換ユニット(6b)による置換処理の後、複数のデータ伝送レーン(DG1、DG2)での置換後ビット列の「1」と「0」との境界のタイミングが同じになることに起因して、当該タイミングでノイズが増加することを抑制できる。
前記書込部(6)は、前記伝送データが書き込まれる前記アドレスが、前記メモリ(M)の記憶領域の中にある複数の区分領域のいずれに属するかに応じて、或いは、前記伝送データの送信元のデバイスが、前記メモリ(M)にアクセス可能な複数のデバイスの中のいずれであるかに応じて、前記対象パターン及び前記置換後パターンの少なくとも一方を異ならせると好適である。
メモリ(M)が使用される機器によっては、メモリ(M)の記憶領域が予め複数の区分領域に区分され、区分領域毎に異なる種類のデータが記憶される構成となっている場合がある。また、メモリ(M)に対してアクセス可能なデバイスが複数存在する場合であって、デバイス毎に異なる種類のデータが伝送される場合がある。そして、このようなデータ種別に応じて、メモリコントローラ(C)とメモリ(M)との間で伝送されるデータのビット列の「1」と「0」との組み合せパターンの出現頻度にも偏りが生じ、その偏りに一定の傾向が現れる場合がある。従って、伝送データのビット列の中で出現頻度が高いパターンも、メモリ(M)の中の区分領域毎、或いは、メモリ(M)にアクセスするデバイス毎に異なる場合がある。上記の構成によれば、このようなデータ種別毎の偏りに応じて、対象パターン及び置換後パターンの少なくとも一方を適切に設定することができる。従って、信号ライン(DL)で発生するノイズを効果的に低減することができる。
また、前記置換後パターンが、「0」だけが連続するビット列、又は、「1」だけが連続するビット列であっても好適である。
この構成によれば、置換ビット列が、信号ライン(DL)において全て同じ電位となるため、ノイズを有効に低減させることができる。また、このような置換後パターンを用いる場合、ノイズを発生させやすい複数のパターンの初期ビット列の全てを「0」又は「1」だけが連続する置換ビット列に置換することも可能となる。従って、置換ユニット(6b)での処理を単純にして処理速度の向上を図ることも可能となる。
本開示に係る技術は、メモリに対して信号ラインを介してデータ伝送を行うメモリコントローラに利用することができる。
6 書込部
6b 置換ユニット
7 読出部
7b 復元ユニット
11 置換モジュール
12 パターン判定モジュール
14 記憶処理モジュール
21 復元モジュール
D データバス
DL 信号ライン
DG1 第1伝送レーン
DG2 第2伝送レーン
E 基準値
M メモリ

Claims (7)

  1. メモリのアドレスを指定し信号ラインを介してメモリにデータを書き込む書込部と、前記メモリのアドレスを指定し前記信号ラインを介して前記メモリからデータの読み出す読出部とを備え、
    前記書込部が、前記信号ラインを介して前記メモリに書き込まれる伝送データのビット列の「1」と「0」との並びが置換対象として設定された対象パターンである場合に、前記メモリに書き込む以前に、前記対象パターンの初期ビット列を、「1」と「0」との並びが前記対象パターンとは異なる置換後パターンとなる置換ビット列に置き換える置換ユニットを備え、
    前記読出部が、前記メモリから読み出したデータの前記置換ビット列を前記初期ビット列に復元する復元ユニットを備え
    前記置換ユニットが、
    前記伝送データのビット列の「1」と「0」との並びが前記対象パターンであるかを判定するパターン判定モジュールと、
    前記パターン判定モジュールで前記対象パターンであることを判定した場合に、前記初期ビット列を前記置換ビット列に置き換える置換モジュールと、
    前記置換モジュールでの置き換えを行った場合に、前記対象パターンと、前記置換ビット列が書き込まれる前記メモリのアドレスを特定するためのアドレスデータと、を関連付けて記憶させる記憶モジュールと、を備え、
    前記復元ユニットが、
    前記アドレスデータに基づいて、前記メモリから読み出したデータの中に含まれる前記置換ビット列を特定する特定モジュールと、
    前記アドレスデータに関連付けられている前記対象パターンに基づいて、前記置換ビット列を置き換え前の前記初期ビット列に復元する復元モジュールと、を備えているメモリコントローラ。
  2. メモリのアドレスを指定し信号ラインを介してメモリにデータを書き込む書込部と、前記メモリのアドレスを指定し前記信号ラインを介して前記メモリからデータの読み出す読出部とを備え、
    前記書込部が、前記信号ラインを介して前記メモリに書き込まれる伝送データのビット列の「1」と「0」との並びが置換対象として設定された対象パターンである場合に、前記メモリに書き込む以前に、前記対象パターンの初期ビット列を、「1」と「0」との並びが前記対象パターンとは異なる置換後パターンとなる置換ビット列に置き換える置換ユニットを備え、
    前記読出部が、前記メモリから読み出したデータの前記置換ビット列を前記初期ビット列に復元する復元ユニットを備え
    前記置換ユニットによる置き換え前のデータに含まれるビット列の「1」と「0」の並びのパターンの出現頻度が、予め定められた基準値よりも高いパターンの中の少なくとも一つを、前記対象パターンに設定し、
    前記出現頻度が、前記基準値よりも低いパターンの中の少なくとも一つを、前記置換後パターンに設定しているメモリコントローラ。
  3. メモリのアドレスを指定し信号ラインを介してメモリにデータを書き込む書込部と、前記メモリのアドレスを指定し前記信号ラインを介して前記メモリからデータの読み出す読出部とを備え、
    前記書込部が、前記信号ラインを介して前記メモリに書き込まれる伝送データのビット列の「1」と「0」との並びが置換対象として設定された対象パターンである場合に、前記メモリに書き込む以前に、前記対象パターンの初期ビット列を、「1」と「0」との並びが前記対象パターンとは異なる置換後パターンとなる置換ビット列に置き換える置換ユニットを備え、
    前記読出部が、前記メモリから読み出したデータの前記置換ビット列を前記初期ビット列に復元する復元ユニットを備え
    前記信号ラインを複数備えると共に、複数の前記信号ラインにより第1伝送レーンと第2伝送レーンとを少なくとも含む複数のデータ伝送レーンが構成され、
    前記置換ユニットは、前記第1伝送レーンを介して伝送される前記置換ビット列の「1」と「0」との並びにより生じるオンオフ周波数と、前記第2伝送レーンを介して伝送される前記置換ビット列の「1」と「0」との並びにより生じるオンオフ周波数とが異なるように、前記第1伝送レーンと前記第2伝送レーンとで異なる前記置換後パターンを設定しているメモリコントローラ。
  4. メモリのアドレスを指定し信号ラインを介してメモリにデータを書き込む書込部と、前記メモリのアドレスを指定し前記信号ラインを介して前記メモリからデータの読み出す読出部とを備え、
    前記書込部が、前記信号ラインを介して前記メモリに書き込まれる伝送データのビット列の「1」と「0」との並びが置換対象として設定された対象パターンである場合に、前記メモリに書き込む以前に、前記対象パターンの初期ビット列を、「1」と「0」との並びが前記対象パターンとは異なる置換後パターンとなる置換ビット列に置き換える置換ユニットを備え、
    前記読出部が、前記メモリから読み出したデータの前記置換ビット列を前記初期ビット列に復元する復元ユニットを備え
    前記信号ラインを複数備えると共に、複数の前記信号ラインにより第1伝送レーンと第2伝送レーンとを少なくとも含む複数のデータ伝送レーンが構成され、
    前記置換ユニットは、前記第1伝送レーンを介して伝送される前記置換ビット列の「1」と「0」との境界のタイミングと、前記第2伝送レーンを介して伝送される前記置換ビット列の「1」と「0」との境界のタイミングとが異なるように、前記第1伝送レーンと前記第2伝送レーンとで異なる前記置換後パターンを設定しているメモリコントローラ。
  5. メモリのアドレスを指定し信号ラインを介してメモリにデータを書き込む書込部と、前記メモリのアドレスを指定し前記信号ラインを介して前記メモリからデータの読み出す読出部とを備え、
    前記書込部が、前記信号ラインを介して前記メモリに書き込まれる伝送データのビット列の「1」と「0」との並びが置換対象として設定された対象パターンである場合に、前記メモリに書き込む以前に、前記対象パターンの初期ビット列を、「1」と「0」との並びが前記対象パターンとは異なる置換後パターンとなる置換ビット列に置き換える置換ユニットを備え、
    前記読出部が、前記メモリから読み出したデータの前記置換ビット列を前記初期ビット列に復元する復元ユニットを備え
    前記書込部は、前記伝送データが書き込まれる前記アドレスが、前記メモリの記憶領域の中にある複数の区分領域のいずれに属するかに応じて、或いは、前記伝送データの送信元のデバイスが、前記メモリにアクセス可能な複数のデバイスの中のいずれであるかに応じて、前記対象パターン及び前記置換後パターンの少なくとも一方を異ならせているメモリコントローラ。
  6. 前記置換ユニットによる置き換え前のデータに含まれるビット列の「1」と「0」の並びのパターンのうち、予め定められたノイズ周波数域のノイズを発生させるパターンの中の少なくとも一つを、前記対象パターンに設定し、
    前記ノイズ周波数域のノイズを発生させるパターン以外のパターンの中の少なくとも一つを、前記置換後パターンに設定している請求項1及び3から5のいずれか一項に記載のメモリコントローラ。
  7. 前記置換後パターンが、「0」だけが連続するビット列、又は、「1」だけが連続するビット列である請求項1からのいずれか一項に記載のメモリコントローラ。
JP2015063178A 2015-03-25 2015-03-25 メモリコントローラ Active JP6414497B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2015063178A JP6414497B2 (ja) 2015-03-25 2015-03-25 メモリコントローラ
PCT/JP2016/059472 WO2016153005A1 (ja) 2015-03-25 2016-03-24 メモリコントローラ
US15/552,337 US20180024747A1 (en) 2015-03-25 2016-03-24 Memory controller
EP16768908.2A EP3242211B1 (en) 2015-03-25 2016-03-24 Memory controller
CN201680016795.2A CN107408066B (zh) 2015-03-25 2016-03-24 存储器控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015063178A JP6414497B2 (ja) 2015-03-25 2015-03-25 メモリコントローラ

Publications (2)

Publication Number Publication Date
JP2016184233A JP2016184233A (ja) 2016-10-20
JP6414497B2 true JP6414497B2 (ja) 2018-10-31

Family

ID=56977612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015063178A Active JP6414497B2 (ja) 2015-03-25 2015-03-25 メモリコントローラ

Country Status (5)

Country Link
US (1) US20180024747A1 (ja)
EP (1) EP3242211B1 (ja)
JP (1) JP6414497B2 (ja)
CN (1) CN107408066B (ja)
WO (1) WO2016153005A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7211273B2 (ja) 2019-06-17 2023-01-24 株式会社アイシン 半導体記憶装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004096376A (ja) * 2002-08-30 2004-03-25 Matsushita Electric Ind Co Ltd データ圧縮方法、データ通信方法および半導体装置
JP4921080B2 (ja) * 2006-09-01 2012-04-18 キヤノン株式会社 メモリ制御回路及びメモリ制御方法
JP5089129B2 (ja) * 2006-10-18 2012-12-05 キヤノン株式会社 メモリシステム、データ書込み方法及びデータ読み出し方法
JP5233165B2 (ja) * 2007-05-24 2013-07-10 富士ゼロックス株式会社 データ伝送装置
JP2011015322A (ja) * 2009-07-06 2011-01-20 Renesas Electronics Corp 半導体装置
JP5650497B2 (ja) * 2010-10-29 2015-01-07 パナソニック株式会社 リフレッシュ制御装置、無線受信機および半導体集積回路
JP2012128778A (ja) * 2010-12-17 2012-07-05 Sony Corp データ転送装置、メモリ制御装置、およびメモリシステム
WO2012120813A1 (ja) * 2011-03-08 2012-09-13 ルネサスエレクトロニクス株式会社 ビットパターン逆置換装置、コンピュータ装置、ビットパターン置換装置、ライタ装置、ビットパターン変換方法、及びプログラム
US8666068B2 (en) * 2011-10-20 2014-03-04 Sandisk Technologies Inc. Method for scrambling shaped data
US20150178193A1 (en) * 2012-07-11 2015-06-25 Industry-University Cooperation Foundation, Hanyang University Apparatus and method for managing flash memory by means of writing data pattern recognition
US9311181B2 (en) * 2012-11-15 2016-04-12 Samsung Electronics Co., Ltd. Memory controller changing partial data in memory device and method for changing partial data thereof
CN103019873B (zh) * 2012-12-03 2016-08-10 华为技术有限公司 一种存储器故障单元的替换方法及装置、数据存储系统
JP6317550B2 (ja) * 2013-07-03 2018-04-25 株式会社メガチップス Emi対策回路
JP6398801B2 (ja) * 2015-03-09 2018-10-03 沖電気工業株式会社 メモリ装置へのデータ書き込み/読み出し制御方法及びメモリ装置
JP6394458B2 (ja) * 2015-03-25 2018-09-26 アイシン・エィ・ダブリュ株式会社 ノイズ分析装置およびメモリコントローラ

Also Published As

Publication number Publication date
EP3242211B1 (en) 2018-11-21
US20180024747A1 (en) 2018-01-25
JP2016184233A (ja) 2016-10-20
WO2016153005A1 (ja) 2016-09-29
EP3242211A4 (en) 2017-12-27
CN107408066A (zh) 2017-11-28
EP3242211A1 (en) 2017-11-08
CN107408066B (zh) 2020-10-23

Similar Documents

Publication Publication Date Title
CN110059020B (zh) 扩展内存的访问方法、设备以及系统
KR101561769B1 (ko) 스토리지 디바이스 및 데이터 처리 방법
US8583856B2 (en) Memory system
US9223680B2 (en) Information processing apparatus and debugging method
JP2016042351A (ja) コンピューティングシステムにおける動的なメモリアドレス再マッピング
US10635356B2 (en) Data management method and storage controller using the same
CN114860329B (zh) 动态一致性偏置配置引擎及方法
US20090327613A1 (en) System and Method for a Software Managed Cache in a Multiprocessing Environment
JP5658336B1 (ja) ストアマージ処理装置、ストアマージ処理システム、ストアマージ処理方法、及び、ストアマージ処理プログラム
JP2014115851A (ja) データ処理装置及びその制御方法
JP6414497B2 (ja) メモリコントローラ
US7598891B2 (en) Data development device and data development method
KR102628851B1 (ko) 반도체 장치 및 그것을 구비한 반도체 시스템
JP6394458B2 (ja) ノイズ分析装置およびメモリコントローラ
CN107577775A (zh) 一种读取数据方法、装置、电子设备及可读存储介质
JP2014002557A (ja) 試験データ生成方法、試験方法、試験データ生成装置、および試験データ生成プログラム
US11307991B2 (en) Apparatus and method and computer program product for generating a storage mapping table
US8065496B2 (en) Method for updating information used for selecting candidate in LRU control
JP5953808B2 (ja) 乱数処理装置、乱数処理方法、及びプログラム
CN109213692B (zh) 存储装置管理系统以及存储装置管理方法
US20170235688A1 (en) Access control method, bus system, and semiconductor device
WO2020039927A1 (ja) 不揮発性記憶装置、ホスト装置、及びデータ記憶システム
WO2017087002A1 (en) Shared memory for distributed data
KR20160057296A (ko) 링크드 리스트 어레이 하드웨어를 포함하는 장치와 이를 포함하는 시스템
KR20060081440A (ko) 데이터 처리장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180807

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180918

R150 Certificate of patent or registration of utility model

Ref document number: 6414497

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150