JP2006065470A - メモリ制御方法および装置 - Google Patents

メモリ制御方法および装置 Download PDF

Info

Publication number
JP2006065470A
JP2006065470A JP2004245216A JP2004245216A JP2006065470A JP 2006065470 A JP2006065470 A JP 2006065470A JP 2004245216 A JP2004245216 A JP 2004245216A JP 2004245216 A JP2004245216 A JP 2004245216A JP 2006065470 A JP2006065470 A JP 2006065470A
Authority
JP
Japan
Prior art keywords
data
memory control
signal
strobe
output
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.)
Granted
Application number
JP2004245216A
Other languages
English (en)
Other versions
JP4661134B2 (ja
Inventor
Yoshinori Awata
恵徳 粟田
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2004245216A priority Critical patent/JP4661134B2/ja
Publication of JP2006065470A publication Critical patent/JP2006065470A/ja
Application granted granted Critical
Publication of JP4661134B2 publication Critical patent/JP4661134B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Dram (AREA)

Abstract

【課題】
特殊な回路を使わずに、電源・温度の変化や、プリント基板上の配線層や、層間接続、素材のばらつき等があっても、安定的に動作させることが可能なメモリ制御方法および装置を提供する。
【解決手段】
メモリ装置であるDDR−SDRAM2が出力するデータを、DDRインタフェイス70でDDR−SDRAM2が出力する複数のストローブ信号のうち、少なくとも2つのストローブ信号のそれぞれに基づいて取り込み、選択部40が、DDRインタフェイス70が取り込んだデータのいずれかを選択して出力する。
【選択図】 図1

Description

本発明は、メモリ制御方法および装置に関し、特に、ストローブ信号に基づいてデータの読み出しを行うメモリ制御方法および装置に関する。
近年、大容量な半導体メモリとしては、同期型のシンクロナスDRAM(Synchronous Dynamic Random Access Memory:以下、SDRAMと略称する)が主流になってきている。しかしながら、SDRAMでは、DRAM(Dynamic Random Access Memory)自体を高速化することは困難であるために、その入出力部(I/O)を高速化するDouble Data Rate(以下、DDRと略称する)のSDRAMが利用され始めている。
DDR−SDRAMは、ストローブ信号の両エッジを使ってデータ転送するために、データ(nビット)とストローブ信号のタイミング関係が非常に厳しくなっている。具体的には、DDR266と称される規格においては、制御回路は133MHz(周期7.5ns)で動作するものの、データ転送部分は266MHz(周期3.7ns)となっており、半導体デバイス設計のみならず、プリント基板の信号配線設計も困難を極めている。
ここで、DDR−SDRAMへのデータの書き込みとDDR−SDRAMからのデータの読み出しを制御するメモリ制御装置について説明する。
図7は、メモリ制御装置が適用されるシステムの構成例を示した図である。同図に示すように、メモリ制御装置501は、DDR−SDRAM502と接続されるとともに、プロセッサ503とシステムバス504を介して接続される。
プロセッサ503は、システム全体を制御するものであり、メモリ制御装置501を介してDDR−SDRAM502へのデータの書き込みやDDR−SDRAM502からのデータの読み出しを行う。また、システムバス504には、ネットワークを介してデータの送受信を行うNIC(Network Interface Controller)等(不図示)が接続されている。
ここで、図7に示した構成におけるデータの書き込みおよびデータの読み出し時の動作について説明する。図8は、図7に示した構成においてプロセッサ503がDDR−SDRAM502にデータを書き込む際の信号のタイミングを示した図であり、図9は、図7に示した構成においてプロセッサ503がDDR−SDRAM502からデータを読み出す際の信号のタイミングを示した図である。
プロセッサ503がDDR−SDRAM502にデータを書き込む際には、メモリ制御装置501は、プロセッサ503からSYSTEM_CLK、ChipSelect、ADDR、DATA、R/Wの各信号を受けて、DDR−SDRAM502へ送出するCK、nCK、Command、DQS0、DQ[7:0]、DQS1、DQ[15:8]の各信号を所定のタイミングで生成する。
SYSTEM_CLKは、図7に示したシステムに共通のクロックであり、ChipSelectは、DDR−SDRAM502を制御するメモリ制御装置501を選択する信号、ADDRは、データの書き込み先のアドレスを示す信号、DATAは、DDR−SDRAM502へ書き込むデータ、R/Wは、DDR−SDRAM502に対するデータの書き込み若しくは読み出しを指示する信号(0が書き込み指示)である。
CKとnCKは、DDR−SDRAM502を動作させるクロックであり、Commandは動作指示、DQ[7:0]は、DQ0乃至DQ7として表される8ビットのデータ、DQS0は、DQ[7:0]に対応するストローブ信号、DQ[15:8]は、DQ8乃至DQ15として表される8ビットのデータ、DQS1は、DQ[15:8]に対応するストローブ信号である。
また、プロセッサ503がDDR−SDRAM502からデータを読み出す際には、メモリ制御装置501は、プロセッサ503からSYSTEM_CLK、ChipSelect、ADDR、R/Wの各信号を受けて、DDR−SDRAM502へ送出するCK、nCK、Commandの各信号を所定のタイミングで生成する。そして、DDR−SDRAM502からDQS0、DQ[7:0]、DQS1、DQ[15:8]の各信号が返されると、メモリ制御装置501は、DATA信号をプロセッサ503へ送出する。
SYSTEM_CLKは、図7に示したシステムに共通のクロックであり、ChipSelectは、DDR−SDRAM502を選択する信号、ADDRは、データの読み出し元のアドレスを示す信号、DATAは、DDR−SDRAM502から読み出したむデータ、R/Wは、DDR−SDRAM502に対するデータの書き込み若しくは読み出しを指示する信号(1が読み出し指示)である。
CKとnCKは、DDR−SDRAM502を動作させるクロックであり、Commandは動作指示、DQ[7:0]は、DQ0乃至DQ7として表される8ビットのデータ、DQS0は、DQ[7:0]に対応するストローブ信号、DQ[15:8]は、DQ8乃至DQ15として表される8ビットのデータ、DQS1は、DQ[15:8]に対応するストローブ信号である。
続いて、プロセッサ503がDDR−SDRAM502からデータを読み出す際のメモリ制御装置501の動作について説明する。図10は、メモリ制御装置501の構成を示した図であり、図11は、プロセッサ503がDDR−SDRAM502からデータを読み出す際のメモリ制御装置501内の信号のタイミングを示した図である。なお、図10においては、メモリ制御装置501のうち、8ビットのデータDQ[7:0]を処理する部分のみを示しており、他の部分は省略している。
図10に示すように、メモリ制御装置501は、データリード制御部510と、ラッチ511−L、ラッチ511−H、ラッチ520−L、ラッチ520−H、DLL(Delay Locked Loop)530を具備して構成される。この構成においては、DLL530は、DDR−SDRAM502から入力されるストローブ信号DQS0の位相を90度遅らせた内部DQS0を生成する。ラッチ520−Lは、DLL530が生成した内部DQS0の立ち上がりに同期してDDR−SDRAM502から入力されるデータDQ[7:0]をラッチしてdata_in[7:0]Lを取得し、ラッチ520−Hは、DLL530が生成した内部DQS0の立ち下がりに同期してDDR−SDRAM502から入力されるデータDQ[7:0]をラッチしてdata_in[7:0]Hを取得する。ラッチ511−Lとラッチ511−Hは、データリード制御部510に配され、システムクロックに同期して、それぞれ、data_in[7:0]Lとdata_in[7:0]Hを取得し、データとしてint_DQ[7:0]L、int_DQ[7:0]Hを出力する。
ところで、DQS0とDQ[7:0]は、同期してDDR−SDRAM502から入力されるために上述の処理でデータを取得することができるが、DQS0とDQ[7:0]は厳密には同期していない。これは、プリント基板上の配線長のズレや電源・温度変化、プリント基板上の配線層、層間接続、素材ばらつき等により、DQ[7:0]にタイミングのズレ(以下、スキューと称する)が生じることが原因である。
スキューが発生した場合に、その大きさが許容範囲内であれば、図12に示すように正しいデータを取得することができるが、スキューが大きくなった場合には、図13に示すように、データを正しく取得することができなくなってしまう。なお、図13に示す状態は、DQ[3]とDQ[15]を正しく取得することができていない状態である。
このため、一般的には、プリント基板上の配線を等長配線とすることで、スキューの発生を抑制している。図14は、等長配線の1例を示した図である。プリント基板上では、データストローブとデータの1つの塊(図14では、DQS0とDQ[7:0])が等しい長さになるように、ミアンダと呼ばれる長さ調整のための曲線配線を行っている。
特に、Dual Inline Memory Module(以下、DIMMと略称する)のような多ビット、例えば64ビットのデータをもつ場合には、1つのストローブに対し、データ信号を8本割り当てて、8本の中でタイミングばらつきの押さえ込みを行っている。
しかしながら、実際には、等長配線を行うにも限界があり、長さには多少のズレがでている。さらに、電源や温度変化、プリント基板上の配線層、層間接続、素材ばらつき等の影響で全ての信号を同期させることは不可能に近い。
このため、可変遅延回路を備えて、データの最適遅延量を決め、これを設定して利用する技術(例えば、特許文献1参照)や、可変容量回路を備えて、データの遅延を調整する技術(例えば、特許文献2参照)、プリント基板上の配線を考慮して、チップの1辺にデータ信号を並べる技術(例えば、特許文献3参照)等が提案されている。
特開2001−337862号公報 特開2001−307480号公報 特開2000−243893号公報
しかしながら、上述の特許文献1や特許文献2に記載の技術においては、可変遅延回路や可変容量回路自体の特性が入り込むため、電源電圧や温度、プロセスの影響を含めた可変量を特定することは困難である。あわせて遅延精度や容量精度をたかめるということは、半導体プロセスに精度をもとめることになり、結果としてコストがかかる。その上、精度よく遅延を調整しても、電源・温度の変化や、プリント基板上の配線層や、層間接続、素材ばらつきのために、必ずしも最適のタイミングで動作させることは、困難である。
また、特許文献3に記載された技術のように、チップの1辺にデータ信号を並べることは、物理的に効果があることであるが、LSIのパッケージが多ピン化した場合には、この方法では限界を迎える。つまり、DDR−SDRAMのDIMMをアクセスするのに必要な信号は、データに関してDQS[7:0]、DQ[63:0]、DM[7:0]の80ピンであり、チップの1辺に全てを並べるということは、80ピン×4辺の320ピンのQuadFlatPackage(以下、QFPと略称する)という大きなサイズのパッケージを使用することが余儀なくされ、プリント基板サイズが大きくなるという副次的なコストアップが発生してしまう。さらに、最近主流のBallGridArray(以下、BGAと略称する)パッケージでは、内部デバイスからピン端子までの配線も関係するために1辺に並べることで大きな効果が期待できるものではない。
また、以上のような高速化への対応をせずに動作クロック自体を低速にすることで、技術的障壁を下げることも考えられるが、DDR−SDRAMには、DLLという信号の位相制御回路が内蔵されており、標準化団体JEDECより発行されている文書JESD79「DDR SDRAM Specification」によると、クロック周期の最大値は15ns、すなわち、クロック周波数は66.6MHz以上となっている。この数値は、メモリデバイスメーカーによっては、84MHz以上という制約になっている場合もあり、必ずしも技術的に簡易になるとは、いいがたい。
そこで、本発明は、特殊な回路を使わずに、電源・温度の変化や、プリント基板上の配線層や、層間接続、素材のばらつき等があっても、安定的に動作させることが可能なメモリ制御方法および装置を提供することを目的とする。
上述した目的を達成するため、請求項1の発明は、複数のストローブ信号を出力するとともに該ストローブ信号に同期してデータを出力するメモリ装置を制御するメモリ制御方法であって、メモリ装置が出力するデータを、該メモリ装置が出力する複数のストローブ信号のうち、少なくとも2つのストローブ信号のそれぞれに基づいて取り込み、該取り込んだデータのいずれかを選択して出力することを特徴とする。
また、請求項2の発明は、請求項1の発明において、前記ストローブ信号に基づいて取り込んだデータの正誤を判定し、該判定により正と判定されたデータを選択して出力することを特徴とする。
また、請求項3の発明は、請求項2の発明において、前記選択は、前記ストローブ信号のうち特定のストローブ信号で取り込んだデータが誤りと判定された場合に、該特定のストローブ信号とは別のストローブ信号で取り込んだデータを出力することにより行われることを特徴とする。
また、請求項4の発明は、請求項2の発明において、前記判定は、前記メモリ装置の初期化処理時に行われることを特徴とする。
また、請求項5の発明は、請求項1の発明において、前記データは、前記ストローブ信号の位相をシフトした信号のエッジと同期して取り込まれることを特徴とする。
また、請求項6の発明は、請求項5の発明において、前記データは、前記ストローブ信号の位相をシフトした信号の立ち上がりエッジと立ち下がりエッジのそれぞれに同期して取り込まれることを特徴とする。
また、請求項7の発明は、請求項1の発明において、前記ストローブ信号は、前記メモリ装置に接続された複数の信号線のそれぞれから出力され、該信号線のうち近傍に配置された少なくとも2つの信号線のそれぞれから出力されるストローブ信号に基づいて前記データを取り込むことを特徴とする。
また、請求項8の発明は、請求項1の発明において、前記ストローブ信号は、前記メモリ装置に接続された複数の信号線のそれぞれから出力され、該信号線のうち対称に配置された少なくとも2つの信号線のそれぞれから出力されるストローブ信号に基づいて前記データを取り込むことを特徴とする。
また、請求項9の発明は、複数のストローブ信号を出力するとともに該ストローブ信号に同期してデータを出力するメモリ装置を制御するメモリ制御装置において、メモリ装置が出力するデータを、該メモリ装置が出力する複数のストローブ信号のうち、少なくとも2つのストローブ信号のそれぞれに基づいて取り込むデータ取得手段と、前記データ取得手段が取り込んだデータのいずれかを選択して出力する選択手段とを具備することを特徴とする。
また、請求項10の発明は、請求項9の発明において、前記データ取得手段は、1のストローブ信号に基づいてデータを取り込むデータ取り込み手段を少なくとも2つ具備することを特徴とする。
また、請求項11の発明は、請求項9の発明において、前記選択手段が選択したデータの正誤を判定する判定手段をさらに具備し、前記選択手段は、前記判定手段の判定結果に基づいて選択するデータを変更することを特徴とする。
また、請求項12の発明は、請求項11の発明において、前記判定手段は、前記選択手段が選択したデータが誤りと判定された場合に、前記選択手段に該誤りと判定されたデータを取り込んだストローブ信号とは別のストローブ信号で取り込んだデータ選択させることを特徴とする。
また、請求項13の発明は、請求項11の発明において、前記判定手段は、前記メモリ装置の初期化処理時に前記判定を行うことを特徴とする。
また、請求項14の発明は、請求項9の発明において、前記ストローブ信号の位相をシフトした信号を生成する位相シフト手段をさらに具備し、前記データ取得手段は、前記位相シフト手段が生成した信号のエッジと同期してデータを取り込むことを特徴とする。
また、請求項15の発明は、請求項14の発明において、前記データ取得手段は、前記位相シフト手段が生成した信号の立ち上がりエッジと立ち下がりエッジのそれぞれに同期してデータを取り込むことを特徴とする。
また、請求項16の発明は、請求項9の発明において、前記ストローブ信号は、前記メモリ装置に接続された複数の信号線のそれぞれから出力され、前記データ取得手段は、前記信号線のうち近傍に配置された少なくとも2つの信号線のそれぞれから出力されるストローブ信号に基づいて前記データを取り込むことを特徴とする。
また、請求項17の発明は、請求項9の発明において、前記ストローブ信号は、前記メモリ装置に接続された複数の信号線のそれぞれから出力され、前記データ取得手段は、前記信号線のうち対称に配置された少なくとも2つの信号線のそれぞれから出力されるストローブ信号に基づいて前記データを取り込むことを特徴とする。
本発明によれば、メモリ装置が出力するデータを、該メモリ装置が出力する複数のストローブ信号のうち、少なくとも2つのストローブ信号のそれぞれに基づいて取り込み、該取り込んだデータのいずれかを選択して出力するように構成したので、特殊な回路を用いることなく、電源・温度の変化や、プリント基板上の配線層や、層間接続、素材ばらつきがあっても、メモリの読み出し動作を安定的にすることができる。
以下、本発明に係るメモリ制御方法および装置の一実施の形態について、添付図面を参照して詳細に説明する。
図1は、本発明を適用したメモリ制御装置の概略構成を示すブロック図である。同図に示すように、メモリ制御装置1は、データリード制御部10と、選択部40、判定部50、システムバスインタフェイス60、DDRインタフェイス70、データライト制御部80を具備して構成される。
システムバスインタフェイス60は、システムバス4との接続を制御するもので、双方向データ制御と入出力、制御情報の取得を行う。また、システムバス4を介して、プロセッサ3等と接続されている。
DDRインタフェイス70は、DDR−SDRAM2との接続を制御するもので、DDR−SDRAM2との制御信号やり取りや双方向データ制御と入出力を行う。
データライト制御部80は、システムバスインタフェイス60を介してプロセッサ3から指示されたDDR−SDRAM2へのデータの書き込み要求に基づいて、DDR−SDRAM2への書き込み制御を行う。
データリード制御部10は、システムバスインタフェイス60を介してプロセッサ3から指示されたDDR−SDRAM2からのデータの読み出し要求に基づいて、DDR−SDRAM2からの読み出し制御を行う。
選択部40は、DDRインタフェイス70がDDR−SDRAM2から取り込んだデータの接続組替えを行い、判定部50は、データリード制御部10に取り込んだデータの状況を確認して、選択部40の接続組替え情報を決定する。
続いて、プロセッサ3がDDR−SDRAM2からデータを読み出す際のメモリ制御装置1の動作について説明する。図2は、メモリ制御装置1の詳細な構成を示した図であり、図3は、プロセッサ3がDDR−SDRAM2からデータを読み出す際のメモリ制御装置1内の信号のタイミングを示した図である。なお、図3においては、メモリ制御装置1のうち、8ビットのデータDQ[7:0]とDQ[15:8]を処理する部分のみを示しており、他の部分は省略している。
図2に示すように、メモリ制御装置1は、データリード制御部10−0と、データリード制御部10−1、ラッチ11−0L、ラッチ11−0H、ラッチ11−1L、ラッチ11−1H、ラッチ20−0L、ラッチ20−0H、ラッチ20−1L、ラッチ20−1H、ラッチ21−0L、ラッチ21−0H、ラッチ21−1L、ラッチ21−1H、DLL30−0、DLL30−1、選択部40−0、選択部40−1、判定部50−0、判定部50−1を具備して構成される。
この構成においては、DLL30−0は、DDR−SDRAM2から入力されるストローブ信号DQS0の位相を90度遅らせた内部DQS0を生成し、DLL30−1は、DDR−SDRAM2から入力されるストローブ信号DQS1の位相を90度遅らせた内部DQS1を生成する。
ラッチ20−0Lは、DLL30−0が生成した内部DQS0の立ち上がりに同期してDDR−SDRAM2から入力されるデータDQ[7:0]をラッチしてdata_in[7:0]L0を取得し、ラッチ20−0Hは、DLL30−0が生成した内部DQS0の立ち下がりに同期してDDR−SDRAM2から入力されるデータDQ[7:0]をラッチしてdata_in[7:0]H0を取得する。
ラッチ21−0Lは、DLL30−1が生成した内部DQS1の立ち上がりに同期してDDR−SDRAM2から入力されるデータDQ[7:0]をラッチしてdata_in[7:0]L1を取得し、ラッチ21−0Hは、DLL30−1が生成した内部DQS1の立ち下がりに同期してDDR−SDRAM2から入力されるデータDQ[7:0]をラッチしてdata_in[7:0]H1を取得する。
ラッチ20−1Lは、DLL30−0が生成した内部DQS0の立ち上がりに同期してDDR−SDRAM2から入力されるデータDQ[15:8]をラッチしてdata_in[15:8]L0を取得し、ラッチ20−1Hは、DLL30−0が生成した内部DQS0の立ち下がりに同期してDDR−SDRAM2から入力されるデータDQ[15:8]をラッチしてdata_in[15:8]H0を取得する。
ラッチ21−1Lは、DLL30−1が生成した内部DQS1の立ち上がりに同期してDDR−SDRAM2から入力されるデータDQ[15:8]をラッチしてdata_in[15:8]L1を取得し、ラッチ21−1Hは、DLL30−1が生成した内部DQS1の立ち下がりに同期してDDR−SDRAM2から入力されるデータDQ[15:8]をラッチしてdata_in[15:8]H1を取得する。
選択部40−0は、判定部50−0から入力される接続組替え情報に基づいて、data_in[7:0]L0とdata_in[7:0]L1のいずれかのデータを各ビット毎に選択してdata_in[7:0]Lを出力するとともに、data_in[7:0]H0とdata_in[7:0]H1のいずれかのデータを各ビット毎に選択してdata_in[7:0]Hを出力する。
同様に、選択部40−1は、判定部50−1から入力される接続組替え情報に基づいて、data_in[15:8]L0とdata_in[15:8]L1のいずれかのデータを各ビット毎に選択してdata_in[15:8]Lを出力するとともに、data_in[15:8]H0とdata_in[15:8]H1のいずれかのデータを各ビット毎に選択してdata_in[15:8]Hを出力する。
ラッチ11−0Lとラッチ11−0Hは、データリード制御部10−0に配され、システムクロックに同期して、それぞれ、data_in[7:0]Lとdata_in[7:0]Hを取得し、データとしてint_DQ[7:0]L、int_DQ[7:0]Hを出力する。
ラッチ11−1Lとラッチ11−1Hは、データリード制御部10−1に配され、システムクロックに同期して、それぞれ、data_in[15:8]Lとdata_in[15:8]Hを取得し、データとしてint_DQ[15:8]L、int_DQ[15:8]Hを出力する。
判定部50−0は、ラッチ11−0Lとラッチ11−0Hが出力するint_DQ[7:0]L、int_DQ[7:0]Hを取得し、これらに誤りのあるデータを含んでいた場合には、該当するビットのデータを別のデータから選択するような接続組替え情報を生成し、生成した接続組替え情報を選択部40−0へ出力する。
判定部50−1は、ラッチ11−1Lとラッチ11−1Hが出力するint_DQ[15:8]L、int_DQ[15:8]Hを取得し、これらに誤りのあるデータを含んでいた場合には、該当するビットのデータを別のデータから選択するような接続組替え情報を生成し、生成した接続組替え情報を選択部40−1へ出力する。
例えば、図3に示した状態では、data_in[7:0]L0は、DQ[3]の誤りを含むが、data_in[7:0]L1のDQ[3]は正しい値である。したがって、この状態では、判定部50−0は、DQ[0]からDQ[2]とDQ[4]からDQ[7]をdata_in[7:0]L0から選択し、DQ[3]をdata_in[7:0]L1から選択するような接続組替え情報を生成し、生成した接続組替え情報を選択部40−0へ出力する。また、判定部50−0は、DQ[0]からDQ[2]とDQ[4]からDQ[7]をdata_in[7:0]H0から選択し、DQ[3]をdata_in[7:0]H1から選択するような接続組替え情報を生成する。
同様に、data_in[15:8]L1は、DQ[15]の誤りを含むが、data_in[15:8]L0のDQ[15]は正しい値である。したがって、この状態では、判定部50−1は、DQ[8]からDQ[14]をdata_in[15:8]L1から選択し、DQ[15]をdata_in[15:8]L0から選択するような接続組替え情報を生成し、生成した接続組替え情報を選択部40−1へ出力する。また、判定部50−1は、DQ[8]からDQ[14]をdata_in[15:8]H1から選択し、DQ[15]をdata_in[15:8]H0から選択するような接続組替え情報を生成する。
ここで、メモリ制御装置1の動作の流れを説明する。図4は、メモリ制御装置1の動作の流れを示すフローチャートである。なお、ここでは、DQ[7:0]の8ビットのデータに対する処理の流れを説明するが、メモリ制御装置1は、DQ[15:8]等の他のデータに対しても同様の処理を同時に行っているものとする。
メモリ制御装置1は、動作を開始すると、まず、メモリ制御装置1自体の初期化とDDR−SDRAM2の初期化処理を行い(ステップ101)、データライト制御部80が、確認用のデータとして「FF(DQ[7:0]の全ビットが1のデータ)」と、「00(DQ[7:0]の全ビットが0のデータ)」を順次DDR−SDRAM2へ書き込む(ステップ102)。
続いて、データリード制御部10−0がDDR−SDRAM2から確認用のデータを読み出すが(ステップ103)、このとき、判定部50−0は、DQ[7:0]の全てのビットをdata_in[7:0]L0から選択するような接続組替え情報を生成し、選択部40−0が、接続組替え情報に基づいて、data_in[7:0]L0の全ビットをdata_in[7:0]Lとして選択する。ここで、読み出した確認用データに誤りが無ければ(ステップ104でYES)、メモリ制御装置1は、初期化が正常に終了した旨をプロセッサ3に通知して(ステップ105)、初期化処理を終了する。そして、以降の処理では、data_in[7:0]L0の全ビットをdata_in[7:0]Lとして選択することとなる。
一方、読み出した確認用データに誤りがあった場合には(ステップ104でNO)、その誤りのあった回数が予め指定した回数未満、例えば、n回未満であれば(ステップ106でNO)、判定部50−0は、誤りのあるビットのデータをdata_in[7:0]L1から選択するような接続組替え情報、例えば、図3に示した状態では、DQ[3]をdata_in[7:0]L1から選択するような接続組替え情報を生成して選択部40−0に入力する(ステップ107)。
続いて、データライト制御部80が、確認用のデータとして「FF」と、「00」を順次DDR−SDRAM2へ書き込み(ステップ102)、データリード制御部10−0がDDR−SDRAM2から確認用のデータを読み出す(ステップ103)。このとき、選択部40−0は、ステップ106の処理で入力された接続組替え情報に基づいてデータを選択するため、例えば、DQ[3]をdata_in[7:0]L1から選択し、他のビットのデータをdata_in[7:0]L1から選択する。
その結果、読み出した確認用データに誤りが無ければ(ステップ104でYES)、メモリ制御装置1は、初期化が正常に終了した旨をプロセッサ3に通知して(ステップ105)、初期化処理を終了する。そして、以降の処理では、DQ[3]をdata_in[7:0]L1から選択し、他のビットをdata_in[7:0]L0から選択したデータをdata_in[7:0]Lとして選択することとなる。
また、ステップ103で読み出した確認用データに誤りがあった場合には(ステップ104でNO)、同様の処理を繰り返すが、その誤りのあった回数が予め指定した回数であるn回に達した場合には(ステップ106でYES)、メモリ制御装置1は、その時点での環境では、DDR−SDRAM2に正常にアクセスすることができないため、プロセッサ3に異常を通知して(ステップ108)、処理を終了する。
ところで、上述の説明では、各データを2つのストローブ信号のそれぞれで取得し、そのいずれかを選択するものとして説明したが、各データを3つ以上のストローブ信号のそれぞれから取得するようにしてもよい。そして、データを取得する際に利用するストローブ信号は、どのような組み合わせであってもよく、例えば、DQS0とDQS1の組み合わせでもよく、DQS0とDQS4の組み合わせを利用するようにしてもよい。
また、利用するストローブ信号の組み合わせは、メモリ制御装置1とDDR−SDRAM2の間の配線が図5に示すような場合には、DQS0とDQS1、DQS2とDQS3、DQS4とDQS5、DQS6とDQS7といったような配線が物理的に近傍であるストローブ信号を組み合わせ、メモリ制御装置1とDDR−SDRAM2の間の配線が図6に示すような場合には、DQS0とDQS7、DQS1とDQS6、DQS2とDQS5、DQS3とDQS4といったような配線が物理的に対称であるストローブ信号を組み合わせることで、より安定的な動作を実現することが可能である。
本発明を適用したメモリ制御装置の概略構成を示すブロック図である。 メモリ制御装置1の詳細な構成を示した図である。 プロセッサ3がDDR−SDRAM2からデータを読み出す際のメモリ制御装置1内の信号のタイミングを示した図である。 メモリ制御装置1の動作の流れを示すフローチャートである。 物理的に近傍であるストローブ信号を組み合わせる場合の配線例を示した図である。 物理的に対称であるストローブ信号を組み合わせる場合の配線例を示した図である。 メモリ制御装置が適用されるシステムの構成例を示した図である。 図7に示した構成においてプロセッサ503がDDR−SDRAM502にデータを書き込む際の信号のタイミングを示した図である。 図7に示した構成においてプロセッサ503がDDR−SDRAM502からデータを読み出す際の信号のタイミングを示した図である。 メモリ制御装置501の構成を示した図である。 プロセッサ503がDDR−SDRAM502からデータを読み出す際のメモリ制御装置501内の信号のタイミングを示した図である。 発生したスキューが許容範囲内である場合に取得するデータを説明するための図である。 発生したスキューが許容範囲外であり、データを正しく取得できない場合を説明するための図である。 等長配線の1例を示した図である。
符号の説明
1 メモリ制御装置
2 DDR−SDRAM
3 プロセッサ
4 システムバス
10、10−0、10−1 データリード制御部
11−0L、11−0H、11−1L、11−1H ラッチ
20−0L、20−0H、20−1L、20−1H ラッチ
21−0L、21−0H、21−1L、21−1H ラッチ
30−0、30−1 DLL
40、40−0、40−1 選択部
50、50−0、50−1 判定部
60 システムバスインタフェイス
70 DDRインタフェイス
80 データライト制御部

Claims (17)

  1. 複数のストローブ信号を出力するとともに該ストローブ信号に同期してデータを出力するメモリ装置を制御するメモリ制御方法であって、
    メモリ装置が出力するデータを、該メモリ装置が出力する複数のストローブ信号のうち、少なくとも2つのストローブ信号のそれぞれに基づいて取り込み、該取り込んだデータのいずれかを選択して出力することを特徴とするメモリ制御方法。
  2. 前記ストローブ信号に基づいて取り込んだデータの正誤を判定し、該判定により正と判定されたデータを選択して出力することを特徴とする請求項1記載のメモリ制御方法。
  3. 前記選択は、前記ストローブ信号のうち特定のストローブ信号で取り込んだデータが誤りと判定された場合に、該特定のストローブ信号とは別のストローブ信号で取り込んだデータを出力することにより行われることを特徴とする請求項2記載のメモリ制御方法。
  4. 前記判定は、前記メモリ装置の初期化処理時に行われることを特徴とする請求項2記載のメモリ制御方法。
  5. 前記データは、前記ストローブ信号の位相をシフトした信号のエッジと同期して取り込まれることを特徴とする請求項1記載のメモリ制御方法。
  6. 前記データは、前記ストローブ信号の位相をシフトした信号の立ち上がりエッジと立ち下がりエッジのそれぞれに同期して取り込まれることを特徴とする請求項5記載のメモリ制御方法。
  7. 前記ストローブ信号は、前記メモリ装置に接続された複数の信号線のそれぞれから出力され、該信号線のうち近傍に配置された少なくとも2つの信号線のそれぞれから出力されるストローブ信号に基づいて前記データを取り込むことを特徴とする請求項1記載のメモリ制御方法。
  8. 前記ストローブ信号は、前記メモリ装置に接続された複数の信号線のそれぞれから出力され、該信号線のうち対称に配置された少なくとも2つの信号線のそれぞれから出力されるストローブ信号に基づいて前記データを取り込むことを特徴とする請求項1記載のメモリ制御方法。
  9. 複数のストローブ信号を出力するとともに該ストローブ信号に同期してデータを出力するメモリ装置を制御するメモリ制御装置において、
    メモリ装置が出力するデータを、該メモリ装置が出力する複数のストローブ信号のうち、少なくとも2つのストローブ信号のそれぞれに基づいて取り込むデータ取得手段と、
    前記データ取得手段が取り込んだデータのいずれかを選択して出力する選択手段と
    を具備することを特徴とするメモリ制御装置。
  10. 前記データ取得手段は、1のストローブ信号に基づいてデータを取り込むデータ取り込み手段を少なくとも2つ具備することを特徴とする請求項9記載のメモリ制御装置。
  11. 前記選択手段が選択したデータの正誤を判定する判定手段をさらに具備し、
    前記選択手段は、前記判定手段の判定結果に基づいて選択するデータを変更する
    ことを特徴とする請求項9記載のメモリ制御装置。
  12. 前記判定手段は、前記選択手段が選択したデータが誤りと判定された場合に、前記選択手段に該誤りと判定されたデータを取り込んだストローブ信号とは別のストローブ信号で取り込んだデータ選択させることを特徴とする請求項11記載のメモリ制御装置。
  13. 前記判定手段は、前記メモリ装置の初期化処理時に前記判定を行うことを特徴とする請求項11記載のメモリ制御装置。
  14. 前記ストローブ信号の位相をシフトした信号を生成する位相シフト手段をさらに具備し、
    前記データ取得手段は、前記位相シフト手段が生成した信号のエッジと同期してデータを取り込む
    ことを特徴とする請求項9記載のメモリ制御装置。
  15. 前記データ取得手段は、前記位相シフト手段が生成した信号の立ち上がりエッジと立ち下がりエッジのそれぞれに同期してデータを取り込むことを特徴とする請求項14記載のメモリ制御装置。
  16. 前記ストローブ信号は、前記メモリ装置に接続された複数の信号線のそれぞれから出力され、
    前記データ取得手段は、前記信号線のうち近傍に配置された少なくとも2つの信号線のそれぞれから出力されるストローブ信号に基づいて前記データを取り込む
    ことを特徴とする請求項9記載のメモリ制御装置。
  17. 前記ストローブ信号は、前記メモリ装置に接続された複数の信号線のそれぞれから出力され、
    前記データ取得手段は、前記信号線のうち対称に配置された少なくとも2つの信号線のそれぞれから出力されるストローブ信号に基づいて前記データを取り込む
    ことを特徴とする請求項9記載のメモリ制御装置。
JP2004245216A 2004-08-25 2004-08-25 メモリ制御方法および装置 Expired - Fee Related JP4661134B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004245216A JP4661134B2 (ja) 2004-08-25 2004-08-25 メモリ制御方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004245216A JP4661134B2 (ja) 2004-08-25 2004-08-25 メモリ制御方法および装置

Publications (2)

Publication Number Publication Date
JP2006065470A true JP2006065470A (ja) 2006-03-09
JP4661134B2 JP4661134B2 (ja) 2011-03-30

Family

ID=36111934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004245216A Expired - Fee Related JP4661134B2 (ja) 2004-08-25 2004-08-25 メモリ制御方法および装置

Country Status (1)

Country Link
JP (1) JP4661134B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008023793A1 (fr) * 2006-08-24 2008-02-28 Panasonic Corporation Circuit intégré à semi-conducteur, système de mémoire et dispositif d'imagerie électronique
JP2008071249A (ja) * 2006-09-15 2008-03-27 Ricoh Co Ltd メモリ制御装置
JP2009025171A (ja) * 2007-07-20 2009-02-05 Jeol Ltd Nmr用パルス発生装置
US9146880B2 (en) 2012-05-16 2015-09-29 Samsung Electronics Co., Ltd. System-on-chip for providing access to shared memory via chip-to-chip link, operation method of the same, and electronic system including the same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001195884A (ja) * 1999-11-05 2001-07-19 Mitsubishi Electric Corp 半導体装置
JP2003173290A (ja) * 2001-12-06 2003-06-20 Ricoh Co Ltd メモリ制御装置
JP2004185608A (ja) * 2002-11-21 2004-07-02 Matsushita Electric Ind Co Ltd データのラッチタイミング調整装置
US6760263B2 (en) * 2002-03-22 2004-07-06 Via Technologies, Inc. Method and device for controlling data latch time

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001195884A (ja) * 1999-11-05 2001-07-19 Mitsubishi Electric Corp 半導体装置
JP2003173290A (ja) * 2001-12-06 2003-06-20 Ricoh Co Ltd メモリ制御装置
US6760263B2 (en) * 2002-03-22 2004-07-06 Via Technologies, Inc. Method and device for controlling data latch time
JP2004185608A (ja) * 2002-11-21 2004-07-02 Matsushita Electric Ind Co Ltd データのラッチタイミング調整装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008023793A1 (fr) * 2006-08-24 2008-02-28 Panasonic Corporation Circuit intégré à semi-conducteur, système de mémoire et dispositif d'imagerie électronique
JPWO2008023793A1 (ja) * 2006-08-24 2010-01-14 パナソニック株式会社 半導体集積回路及びメモリシステム及び電子撮像装置
US7907472B2 (en) 2006-08-24 2011-03-15 Panasonic Corporation Semiconductor integrated circuit for fetching read data from a DDR-SDRAM operating in synchronization with a clock
JP2008071249A (ja) * 2006-09-15 2008-03-27 Ricoh Co Ltd メモリ制御装置
US7518946B2 (en) 2006-09-15 2009-04-14 Ricoh Company, Ltd. Memory control device
JP2009025171A (ja) * 2007-07-20 2009-02-05 Jeol Ltd Nmr用パルス発生装置
US9146880B2 (en) 2012-05-16 2015-09-29 Samsung Electronics Co., Ltd. System-on-chip for providing access to shared memory via chip-to-chip link, operation method of the same, and electronic system including the same

Also Published As

Publication number Publication date
JP4661134B2 (ja) 2011-03-30

Similar Documents

Publication Publication Date Title
US9552853B2 (en) Methods for calibrating a read data path for a memory interface
US10884923B2 (en) Memory module with local synchronization and method of operation
US7975164B2 (en) DDR memory controller
US8351283B2 (en) Semiconductor storage device
US7849373B2 (en) Method of testing a memory module and hub of the memory module
JP5649293B2 (ja) メモリモジュール
US7965568B2 (en) Semiconductor integrated circuit device and method of testing same
KR20110033234A (ko) 적층된 메모리 디바이스 다이들을 이용하는 메모리 시스템 및 방법, 및 그 메모리 시스템을 이용하는 시스템
JP4959264B2 (ja) メモリ制御装置
JP2009223854A (ja) 半導体装置及びデータプロセッサ
US20100124129A1 (en) Data writing apparatus and method for semiconductor integrated circuit
JP2003173290A (ja) メモリ制御装置
JP4661134B2 (ja) メモリ制御方法および装置
US7492661B2 (en) Command generating circuit and semiconductor memory device having the same
JP2010079520A (ja) メモリモジュールのコントローラ及びメモリモジュールのコントローラの制御方法
US9300282B2 (en) Semiconductor device and semiconductor system including the same
US6504767B1 (en) Double data rate memory device having output data path with different number of latches
WO2020131528A1 (en) Signal skew in source-synchronous system
CN114518837B (zh) 运用于存储器系统的多循环写入均衡程序的处理方法
US20240046975A1 (en) Memory module adjusting inter-rank clock timing, memory system and training method thereof
JP2010198715A (ja) 半導体記憶装置
KR100321729B1 (ko) 동기 반도체 메모리를 위한 인터페이스
KR20230155935A (ko) 반도체 메모리 장치 및 그 메모리 시스템
JP2011170771A (ja) 半導体集積回路及びそのタイミング調整方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101111

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: 20101207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101220

R150 Certificate of patent or registration of utility model

Ref document number: 4661134

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees