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

メモリコントローラ Download PDF

Info

Publication number
JP2008015699A
JP2008015699A JP2006184813A JP2006184813A JP2008015699A JP 2008015699 A JP2008015699 A JP 2008015699A JP 2006184813 A JP2006184813 A JP 2006184813A JP 2006184813 A JP2006184813 A JP 2006184813A JP 2008015699 A JP2008015699 A JP 2008015699A
Authority
JP
Japan
Prior art keywords
data
write
signal
burst
generation circuit
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.)
Pending
Application number
JP2006184813A
Other languages
English (en)
Inventor
Wataru Ochiai
渉 落合
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006184813A priority Critical patent/JP2008015699A/ja
Publication of JP2008015699A publication Critical patent/JP2008015699A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】周波数変調を行うことなく、タイミング設計を容易に行えるようにする。
【解決手段】ライトデータキュー201は、バーストライトを行うときに、ライトデータ群を保持する。ライトデータ生成回路301は、ライトデータ群の各ビートのデータが2種類のデータのみから構成されている場合に、2種類のデータを一方のデータと他方のデータとに分割する。ライトデータ生成回路301は、一方のデータと他方のデータとをデータ信号601として個別にメモリデバイス900に送信する。マスク信号生成回路302は、判定フラグ信号502、502の結果に基づいて、ライトデータ生成回路301により送信されたデータの一部をマスクするためのマスク信号を生成してメモリデバイス900に送信する。このように2回のバーストライトを行い、そのバーストライトにおける有効ビットをマスク信号602で指定する。
【選択図】図1

Description

本発明は、EMI(Electro Magnetic Interference、電磁妨害)や、同時スイッチングノイズ(SSO:Simultaneous Switching Output noise)を抑制する技術に関する。
半導体プロセスの向上により、LSIの集積度や動作周波数は飛躍的に向上している。このLSIを使用した機器の処理能力も飛躍的に向上している。
LSIの動作周波数の向上により、LSIの電磁放射も大きくなり、EMI(electro magnetic interference)の対策が困難になってきている。LSIの動作周波数が高くなると、クロック信号に含まれる高調波成分が大きくなり、高調波成分の放射が増大する。
EMIの対策として、スペクトラム拡散クロックジェネレータ、SSCG(Spread Spectrum Clock Generator)が使用されている。
SSCGは、LSIのクロック周波数を僅かに変動させて発振させる(周波数変調を行う)ことによって、EMIのピークを低く抑える働きをする。
また、LSIの動作周波数の向上に伴い、LSIにおける信号の品質、いわゆるシグナル・インテグリティーをいかに確保するかが重要になっている。
LSIチップ上のトランジスタがスイッチングすると、電源/グラウンド配線に高周波電流が流れる。この結果、電源/グラウンド配線に雑音(ノイズ)が発生する。いわゆる電源バウンス及びグラウンドバウンスである。このノイズはスイッチングするトランジスタの数に比例して大きくなる。
LSIチップに集積された数多くのトランジスタが同時にスイッチングすることによって生じる大きな電源バウンスやグラウンドバウンスを同時スイッチグノイズ(SSOノイズ)と呼んでいる。
特開平11−301018号公報
ところで、LSIの動作周波数と集積度との向上により、ノイズは増加している。その一方で、LSIの電源電圧の低下と動作周波数の向上とによりノイズマージンが減少している。
しかしながら、周波数変調を行ってEMIの対策を行う従来の方法では、EMIに対する充分な効果を得ようとして周波数変調を大きくすると、発振の安定化が損なわれてしまう。従って、DDR−SDRAMといった高速のメモリアクセスを実現するデバイスの制御等を行うためのタイミング設計が困難になるという問題がある。
本発明は、このような問題点に鑑みてなされたものであり、周波数変調を行うことなく、タイミング設計を容易に行えるようにすることを目的とする。
本発明は上記問題を解決するために、バーストライトを行うことが可能であり、書き込みのマスク制御をビート毎に行うことが可能であるメモリコントローラであって、メモリデバイスを制御するメモリコントローラにおいて、前記バーストライトを行うときに、ライトデータ群を保持する保持手段と、前記ライトデータ群の各ビートのデータが2種類のデータのみから構成されている場合に、それら2種類のデータを一方のデータと他方のデータとに分割する分割手段と、前記分割手段により分割された一方のデータでのバーストライトと、他方のデータでのバーストライトとの2回のバーストライトを行うバーストライト手段とを有し、前記バーストライト手段によりバーストライトされるデータの一部をマスクするためのマスク信号を生成するマスク信号生成手段とを有し、前記バーストライト手段によりバーストライトされるデータの有効ビットが、前記マスク信号生成手段により生成されたマスク信号に基づいて指定されるようにすることで要求メモリアドレスに対するデータの書き込みを実現することを特徴とするメモリコントローラ等を提供する。
本発明によれば、ライトデータ群の各ビートのデータが2種類のデータのみから構成されており、好ましくはそれら2種類のデータの組み合わせが全ビット反転したものである場合に、ライトデータをマスク信号で制御する。このため、バーストライト時に同時に変化する信号数を減らし、ノイズを減らすことが可能となる。その結果、周波数変調を行うことなく、タイミング設計を容易に行うことが可能となる。
以下に、図面を参照しながら、本発明の一実施形態について説明する。
図1は、本実施形態のメモリコントローラの構成の一例を示した図である。
図2は、メモリコントローラが出力するコマンド、データ、及びマスク信号の波形(メモリコントローラの出力信号)と、データが切り替わるときに発生するノイズ量とを示した図である。
図1において、100はメモリコントローラである。200はデータ判定回路である。
201は、バーストライトのライトデータ群を保持するライトデータキューである。
202、203は、ライトデータ群と比較するデータパターンである。データパターンの指定方法や数は任意である。本実施形態のメモリコントローラ100は、データパターン設定用レジスタを有し、データパターン202、203は、システムの起動直後に設定されるものとする。
204は、ライトデータキュー201内のライトデータ群と、データパターン202とを比較するデータ比較回路である。データ比較回路204は、ライトデータキュー201内のライトデータ群と、データパターン202とが一致すると判定フラグ信号502をセットする。
205は、ライトデータキュー201内のライトデータ群と、データパターン203とを比較するデータ比較回路である。データ比較回路205は、ライトデータキュー201内のライトデータ群と、データパターン203とが一致すると判定フラグ信号503をセットする。
300はデータ制御回路である。
301はライトデータ生成回路である。ライトデータ生成回路301は、判定フラグ信号502、503の何れかがセットされた場合に、ライトデータキュー201から受け取ったデータ信号501に基づいて、ライトデータキュー201で保持されているライトデータ群を分割する。そして、ライトデータ生成回路301は、分割したライトデータ群に基づくデータ信号601を出力する。ライトデータ生成回路301は、2種類のデータから構成されるライトデータ群のうち、一方のデータでのバーストライトと、他方のデータでのバーストライトとの2回のバーストライトを行う。また、ライトデータ生成回路301は、判定フラグ信号502、503の何れもがセットされなかった場合には、ライトデータ群501を分割することなく、1回のバーストライトを行う。
302は、判定フラグ信号502、503の何れかがセットされた場合に、どの判定フラグ信号がセットされているかによって、マスク信号602を生成するマスク信号生成回路である。
400はコマンド制御回路である。
401は、判定フラグ信号502、503の何れかがセットされた場合に、受け取ったコマンド(ライトコマンド)信号802を保持し、保持したコマンド信号に基づくコマンド信号603を2回繰り返して発行するコマンド生成回路である。
501は、ライトデータキュー201のライトデータ群をライトデータ生成回路301へ送信するためのデータ信号である。
502は、データ比較回路204の比較結果をライトデータ生成回路301、マスク信号生成回路302、及びコマンド生成回路401へ伝達する判定フラグ信号である。
503は、データ比較回路205の比較結果をライトデータ生成回路301、マスク信号生成回路302、及びコマンド生成回路401へ伝達する判定フラグ信号である。
601は、ライトデータ生成回路301で生成されたライトデータをメモリデバイス900へ出力するためのデータ信号である。ここではデータ信号601が8ビット幅の信号であるものとする。
602は、マスク信号生成回路302で生成されたマスク信号をメモリデバイス900へ出力するためのマスク信号である。ここでは8ビットのデータに対して1ビットのマスク信号602があるものとする。
603は、コマンド生成回路401で生成されたコマンドをメモリデバイス900へ出力するコマンド信号である。
801は、メモリコントローラ100に入力されたライトデータ群をライトデータキュー201に送信するためのデータ信号である。
802は、メモリコントローラ100に入力されたコマンドをコマンド制御回路400に送信するためのコマンド信号である。
900は、メモリコントローラ100に接続されたメモリデバイスである。
メモリコントローラ100からメモリデバイス900へバーストライトを行う場合の動作を以下に説明する。
データ信号801に基づいてライトデータ群がライトデータキュー201にライトされる。本実施形態では、1バイトのデータの4ビートのバーストを想定する。また、コマンド信号802に基づいてライトのコマンドがコマンド制御回路400に入力される。
データ比較回路204は、ライトデータキュー201にライトされたライト要求データである4つの1バイトのデータ(1バイトデータ×4)と、データパターン202とを比較する。これらが一致する場合、データ比較回路204は、判定フラグ信号502をセットする。例えば、ライト要求データが0xFF、0x00、0xFF、0x00であり、データパターン202が0xFF、0x00、0xFF、0x00であったとすると、データ比較回路204は判定フラグ信号502をセットする。
データ比較回路205は、ライトデータキュー201にライトされたライト要求データと、データパターン203とを比較する。これらが一致する場合、データ比較回路205は、判定フラグ信号503をセットする。例えば、ライト要求データが0xFF、0x00、0xFF、0x00であり、データパターン203が0x00、0xFF、0x00、0xFFであったとすると、データ比較回路205は判定フラグ信号503をセットしない。
判定フラグ信号502がセットされ、判定フラグ信号503がセットされていない状態であると、コマンド生成回路401は、コマンド信号802に含まれるライトコマンドを保持する。また、コマンド生成回路401は、そのライトコマンドに基づくコマンド信号603をメモリデバイス900に出力する。ここで出力されるコマンドは、図2の1つ目のライトコマンド(W)に相当する。
ライトデータ生成回路301は、データ信号501に含まれるライトデータ群を受け取り、判定フラグ信号502がセットされていることを受けて、2つのデータを生成する。
ここで生成される2つのデータはライトデータ群を構成する2種類のデータである。ライトデータ生成回路301は、まず、1ビート目のデータを1つ目のデータとして設定し、次に2ビート目のデータが1つ目のデータと異なっていれば、2ビート目のデータを2つ目のデータとして設定する。
一方、2ビート目のデータが1つ目のデータと一致していた場合、ライトデータ生成回路301は、1つ目のデータを3ビート目、4ビート目と順番に比較し、1つ目のデータと異なるデータを見つけたところで、そのデータを2つ目のデータとして設定する。
ここでは、1つ目のデータとして0xFFが設定され、2つ目のデータとして、0x00が設定される。
次に、データ信号601として4ビートのデータ(0xFF)を出力する。ここで出力されるデータは、図2の1つ目のデータに相当する。
マスク生成回路302は、判定フラグ信号502がセットされていることを受けて、1つ目のライトデータ(0xFF)に対して1ビート目と3ビート目とのデータを有効にし、2ビート目と4ビート目とを無効にするマスク信号(0101)を生成する。そしてマスク生成回路302は、生成したマスク信号602をメモリデバイス900に出力する。
ここで出力されるマスク信号602は、図2の1つ目の4ビートのデータの転送時のマスク信号に相当する。
1つ目の4ビートのデータの転送が完了すると、コマンド生成回路401は保持していたライトコマンドを再度発行する。ここで発行されるライトコマンドは、図2の2つ目のライトコマンド(W)に相当する。
ライトデータ生成回路301は、生成した2つ目のデータ(0x00)をデータ信号601として4ビートで出力する。ここで出力されるデータは、図2の2つ目のデータに相当する。
マスク生成回路302は、2つ目のデータに対して2ビート目と4ビート目とのデータを有効にし、1ビート目と3ビート目とを無効にするマスク信号(1010)を生成する。そしてマスク生成回路302は、生成したマスク信号602をメモリデバイス900に出力する。
ここで出力されるマスク信号602は、図2の2つ目の4ビートのデータの転送時のマスク信号に相当する。
以上述べたように、ライトデータキュー201は、バーストライトを行うときに、ライトデータ群を保持する。ライトデータ生成回路301は、ライトデータ群の各ビートのデータが2種類のデータのみから構成されている場合に、それら2種類のデータを一方のデータと他方のデータとに分割する。ライトデータ生成回路301は、一方のデータと、他方のデータとをデータ信号601として個別にメモリデバイス900に送信する。マスク信号生成回路302は、判定フラグ信号502、502の結果に基づいて、ライトデータ生成回路301により送信されたデータの一部をマスクするためのマスク信号602を生成してメモリデバイス900に送信する。
このように本実施形態では、2回のバーストライトを行い、その有効ビットをマスク信号602で指定することにより、正しくライト動作を実行することができる。従って、同時に変化する信号数を減らし、ノイズを減らすことが可能となる。その結果、周波数変調を行うことなく、タイミング設計を容易に行うことが可能となる。
図3は、従来のメモリコントローラが出力するコマンド、データ、及びマスク信号の波形(メモリコントローラの出力信号)と、データが切り替わるときに発生するノイズ量とを示した図である。図2と図3とから明らかなように、本実施形態の手法(図2)では、1度に切り替わる信号線の数を減らしているので、従来の手法(図3)と比較して、ノイズ量が減少する。
(本発明の他の実施形態)
前述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給してもよい。そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになる。また、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけでない。そのプログラムコードがコンピュータにおいて稼働しているオペレーティングシステムあるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードに備わるCPUが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
また、供給されたプログラムコードがコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいて機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
なお、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の実施形態を示し、メモリコントローラの構成の一例を示した図である。 本発明の実施形態を示し、メモリコントローラの出力信号とノイズ量との一例を表した図である。 従来の技術を示し、メモリコントローラの出力信号とノイズ量とを示した図である。
符号の説明
100 メモリコントローラ
200 データ判定回路
201 ライトデータキュー
202、203 データパターン
204、205 データ比較回路
300 データ制御回路
301 ライトデータ生成回路
302 マスク信号生成回路
400 コマンド制御回路
401 コマンド生成回路
501 データ信号
502、503 判定フラグ信号
601 データ信号
602 マスク信号
603 コマンド信号
801 データ信号
802 コマンド信号
900 メモリデバイス

Claims (2)

  1. バーストライトを行うことが可能であり、書き込みのマスク制御をビート毎に行うことが可能であるメモリコントローラであって、メモリデバイスを制御するメモリコントローラにおいて、
    前記バーストライトを行うときに、ライトデータ群を保持する保持手段と、
    前記ライトデータ群の各ビートのデータが2種類のデータのみから構成されている場合に、それら2種類のデータを一方のデータと他方のデータとに分割する分割手段と、
    前記分割手段により分割された一方のデータでのバーストライトと、他方のデータでのバーストライトとの2回のバーストライトを行うバーストライト手段と、
    前記バーストライト手段によりバーストライトされるデータの一部をマスクするためのマスク信号を生成するマスク信号生成手段とを有し、
    前記バーストライト手段によりバーストライトされるデータの有効ビットが、前記マスク信号生成手段により生成されたマスク信号に基づいて指定されるようにすることで要求メモリアドレスに対するデータの書き込みを実現することを特徴とするメモリコントローラ。
  2. 前記2種類のデータの組み合わせは、互いに全ビットが反転されたデータであることを特徴とする請求項1に記載のメモリコントローラ。
JP2006184813A 2006-07-04 2006-07-04 メモリコントローラ Pending JP2008015699A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006184813A JP2008015699A (ja) 2006-07-04 2006-07-04 メモリコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006184813A JP2008015699A (ja) 2006-07-04 2006-07-04 メモリコントローラ

Publications (1)

Publication Number Publication Date
JP2008015699A true JP2008015699A (ja) 2008-01-24

Family

ID=39072664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006184813A Pending JP2008015699A (ja) 2006-07-04 2006-07-04 メモリコントローラ

Country Status (1)

Country Link
JP (1) JP2008015699A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9335951B2 (en) 2012-08-29 2016-05-10 Samsung Electronics Co., Ltd. Memory device for reducing a write fail, a system including the same, and a method thereof
US9465757B2 (en) 2013-06-03 2016-10-11 Samsung Electronics Co., Ltd. Memory device with relaxed timing parameter according to temperature, operating method thereof, and memory controller and memory system using the memory device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9335951B2 (en) 2012-08-29 2016-05-10 Samsung Electronics Co., Ltd. Memory device for reducing a write fail, a system including the same, and a method thereof
US9465757B2 (en) 2013-06-03 2016-10-11 Samsung Electronics Co., Ltd. Memory device with relaxed timing parameter according to temperature, operating method thereof, and memory controller and memory system using the memory device

Similar Documents

Publication Publication Date Title
JP4921080B2 (ja) メモリ制御回路及びメモリ制御方法
KR100993542B1 (ko) 반도체장치
KR100670682B1 (ko) 반도체 기억 소자에서의 데이터 출력 회로 및 방법
JP2009093227A (ja) メモリアクセス制御装置及びメモリアクセス制御方法
JP2008015699A (ja) メモリコントローラ
JP2551338B2 (ja) 情報処理装置
KR101898150B1 (ko) 집적회로 칩 및 이를 포함하는 시스템
JP5457628B2 (ja) 半導体装置及びそのタイミング制御方法
US7028123B2 (en) Microcomputer, has selection circuit to select either testing-purpose interrupt request signal or interrupt request selection signal based on delayed selection signal, where selected signals are sent to interrupt controller
US7443222B1 (en) Dynamic clock control
JP2008102705A (ja) メモリアクセス制御回路及びその方法
KR101185550B1 (ko) 칩들을 포함하는 시스템, 집적회로 칩 및 데이터 패킷의 전송방법
KR102605637B1 (ko) 반도체 장치 및 데이터 처리 시스템
KR20010004018A (ko) 동기식 메모리소자의 데이터 입력제어회로
KR20010004213A (ko) 쓰기 동작에서만 데이터, 데이터스트로브, 및 데이터마스크 버퍼를 활성화시키는 디디알 에스디램
KR100583834B1 (ko) 논 파워다운 모드에서 전류 소모 감소를 위한 반도체 메모리 장치 및 상기 메모리 장치를 이용한 메모리 시스템
JP2008084882A (ja) 半導体集積回路
JP3119382B2 (ja) 半導体試験装置の波形整形回路
JP3278593B2 (ja) レジスタ設定方法およびレジスタ設定方式
KR100209555B1 (ko) 디지탈 타임 스위칭 회로
JP2005266856A (ja) シリアルインターフェイス回路
JPS59226936A (ja) 印刷出力装置
KR980011409A (ko) 싱크로너스 디램의 내부 전원전압 발생기
JP2007122427A (ja) 不揮発性記憶装置
JP2002040103A (ja) デジタル信号処理回路初期化装置、テストパターン、テスト装置、媒体及び情報集合体