JP6407653B2 - MEMORY CONTROL DEVICE, SEMICONDUCTOR DEVICE, CONTROL PROGRAM, AND MEMORY CONTROL DEVICE OPERATION METHOD - Google Patents
MEMORY CONTROL DEVICE, SEMICONDUCTOR DEVICE, CONTROL PROGRAM, AND MEMORY CONTROL DEVICE OPERATION METHOD Download PDFInfo
- Publication number
- JP6407653B2 JP6407653B2 JP2014203792A JP2014203792A JP6407653B2 JP 6407653 B2 JP6407653 B2 JP 6407653B2 JP 2014203792 A JP2014203792 A JP 2014203792A JP 2014203792 A JP2014203792 A JP 2014203792A JP 6407653 B2 JP6407653 B2 JP 6407653B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- phase
- adjustment
- unit
- 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
Links
- 238000000034 method Methods 0.000 title claims description 35
- 239000004065 semiconductor Substances 0.000 title description 38
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 238000012545 processing Methods 0.000 claims description 28
- 238000013481 data capture Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000005192 partition Methods 0.000 description 5
- 230000001934 delay Effects 0.000 description 3
- 230000010363 phase shift Effects 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Memory System (AREA)
Description
本発明は、メモリを制御するメモリ制御装置に関する。 The present invention relates to a memory control device that controls a memory.
従来から、メモリを制御するメモリ制御装置に関する様々な技術が提案されている。特許文献1には、DDR(Double Data Rate)型のSDRAM (Synchronous Dynamic Random Access Memory) を制御するメモリ制御装置に関する技術が開示されている。
Conventionally, various techniques related to a memory control device for controlling a memory have been proposed.
さて、メモリ制御装置がメモリからデータを読み出す際には、メモリ制御装置がメモリからのデータを取り込む際の基準となる制御信号がメモリから出力されることがある。例えば、DDR型のSDRAMからは、データストローブ信号と呼ばれる制御信号が、データとともに出力される。メモリ制御装置は、この制御信号に基づいてメモリからのデータを取り込む。 When the memory control device reads data from the memory, a control signal that serves as a reference when the memory control device fetches data from the memory may be output from the memory. For example, a control signal called a data strobe signal is output together with data from a DDR type SDRAM. The memory control device takes in data from the memory based on this control signal.
メモリ制御装置では、上記の制御信号の位相が適切でなければ、当該制御信号に基づいて、メモリからのデータを適切に取り込めない可能性がある。 In the memory control device, if the phase of the control signal is not appropriate, there is a possibility that the data from the memory cannot be properly captured based on the control signal.
そこで、本発明は上述の点に鑑みて成されたものであり、メモリからデータとともに出力される制御信号の位相を適切な値に設定することが可能な技術を提供することを目的とする。 Therefore, the present invention has been made in view of the above points, and an object thereof is to provide a technique capable of setting the phase of a control signal output together with data from a memory to an appropriate value.
上記課題を解決するため、本発明に係るメモリ制御装置の一態様は、メモリを制御するメモリ制御装置であって、前記メモリ制御装置が前記メモリからデータを読み出す際に当該メモリがデータとともに出力する第1制御信号に対して位相調整を行う第1位相調整部と、前記第1制御信号に基づいて、前記メモリから読み出されたデータを取り込むデータ取り込み部とを備え、前記メモリ制御装置は、前記第1制御信号に対する位相調整用の第1調整用データを前記メモリに書き込み、前記データ取り込み部は、前記メモリ制御装置が前記メモリから読み出した前記第1調整用データを前記第1制御信号に基づいて取り込み、前記第1位相調整部は、前記データ取り込み部によって取り込まれた前記第1調整用データが適切か否かを判定し、その判定結果に基づいて前記第1制御信号に対する位相調整を行い、前記メモリ制御装置は、前記第1調整用データに含まれる複数種類の第1データのそれぞれについて、当該第1データを前記メモリに書き込んだ後、当該第1データを前記メモリから読み出す処理を複数回実行し、前記第1位相調整部は、前記複数種類の第1データのそれぞれについて、当該第1データを用いた前記処理が前記メモリ制御装置で実行されるたびに、前記第1制御信号の位相を変化させ、前記第1位相調整部は、前記複数種類の第1データのそれぞれについて、前記メモリ制御装置が前記処理を実行するたびに前記データ取り込み部によって取り込まれた当該第1データがそれぞれ適切であるか否かを判定し、その判定結果に基づいて、前記複数種類の第1データのそれぞれについて、前記データ取り込み部によって取り込まれた当該第1データが適切となる前記第1制御信号の位相範囲を特定し、特定した複数の位相範囲が重複する範囲の中央値を前記第1制御信号の位相の適切な値とする。 In order to solve the above problems, one aspect of a memory control device according to the present invention is a memory control device that controls a memory, and the memory control device outputs data together with the data when the memory control device reads data from the memory A first phase adjusting unit that performs phase adjustment on the first control signal; and a data capturing unit that captures data read from the memory based on the first control signal. The first adjustment data for phase adjustment with respect to the first control signal is written to the memory, and the data capturing unit uses the first adjustment data read from the memory by the memory control device as the first control signal. The first phase adjustment unit determines whether the first adjustment data captured by the data capture unit is appropriate, There line phase adjustment to the determination that said first control signal based on the, the memory controller, wherein each of the plurality of types of first data contained in the first adjustment data, the said first data memory , The process of reading the first data from the memory is executed a plurality of times, and the first phase adjustment unit performs the process using the first data for each of the plurality of types of first data. Each time it is executed by the memory control device, the phase of the first control signal is changed, and the first phase adjustment unit executes the process for each of the plurality of types of first data. Each time it is determined whether each of the first data captured by the data capturing unit is appropriate, and based on the determination result, the plurality of types of first data For each of the data, the phase range of the first control signal in which the first data captured by the data capturing unit is appropriate is identified, and the median of the range where the identified plurality of phase ranges overlap is the first value The phase of one control signal is set to an appropriate value .
また、本発明に係るメモリ制御装置の一態様では、前記第1位相調整部は、前記データ取り込み部によって取り込まれた前記第1データに対してパリティチェックを行うことによって、当該第1データが適切か否かを判定する。 Further, in one embodiment of a memory controller according to the present invention, the first phase adjustment unit, by performing a parity check with respect to the first data captured by the data capturing unit, the first de It is determined whether the data is appropriate.
また、本発明に係るメモリ制御装置の一態様では、前記メモリ制御装置と前記メモリとの間のデータバスのビット数は、N(≧2)ビットであり、前記複数種類の第1データのそれぞれは、パターンデータであって、前記複数種類の第1データは、Nビットから成る第1単位データと、Nビットから成る第2単位データとが交互に現れる第1パターンデータと、Nビットから成る第3単位データと、Nビットから成る第4単位データとが交互に現れる第2パターンデータとを含み、前記第1及び第2単位データの間では1ビットだけ相違し、前記第3及び第4単位データの間ではNビットすべて相違する。 In one aspect of the memory control device according to the present invention, the number of bits of the data bus between the memory control device and the memory is N (≧ 2) bits, and each of the plurality of types of first data Is pattern data, and the plurality of types of first data includes first pattern data in which first unit data consisting of N bits and second unit data consisting of N bits appear alternately, and N bits. 3rd unit data and 2nd pattern data in which the 4th unit data which consists of N bits appear alternately, differ only 1 bit between the 1st and 2nd unit data, and the 3rd and 4th All N bits are different between unit data.
また、本発明に係るメモリ制御装置の一態様では、前記メモリ制御装置が、前記メモリにデータを書き込む際に出力する、当該メモリが当該データを取り込む際の基準となる第2制御信号に対して位相調整を行う第2位相調整部が設けられ、前記メモリ制御装置は、前記第2制御信号に対する位相調整用の第2調整用データを前記メモリに書き込み、前記データ取り込み部は、前記メモリ制御装置が前記メモリから読み出した前記第2調整用データを前記第1制御信号に基づいて取り込み、前記第2位相調整部は、前記データ取り込み部によって取り込まれた前記第2調整用データが適切か否かを判定し、その判定結果に基づいて前記第2制御信号に対する位相調整を行う。 In one aspect of the memory control device according to the present invention, the memory control device outputs a second control signal that is output when the memory writes data into the memory and serves as a reference when the memory takes in the data. A second phase adjustment unit configured to perform phase adjustment; the memory control device writes second adjustment data for phase adjustment with respect to the second control signal to the memory; and the data capturing unit includes the memory control device. Fetches the second adjustment data read from the memory based on the first control signal, and the second phase adjustment unit determines whether the second adjustment data fetched by the data fetch unit is appropriate. And adjusting the phase of the second control signal based on the determination result.
また、本発明に係るメモリ制御装置の一態様では、前記メモリ制御装置が、前記メモリにデータを書き込む際あるいは当該メモリからデータを読み出す際に、当該データに先立って出力する第3制御信号に対して位相調整を行う第3位相調整部が設けられ、前記メモリ制御装置は、前記第3制御信号に対する位相調整用の第3調整用データを前記メモリに書き込み、前記データ取り込み部は、前記メモリ制御装置が前記メモリから読み出した前記第3調整用データを前記第1制御信号に基づいて取り込み、前記第3位相調整部は、前記データ取り込み部によって取り込まれた前記第3調整用データが適切か否かを判定し、その判定結果に基づいて前記第3制御信号に対する位相調整を行う。 In one aspect of the memory control device according to the present invention, when the memory control device writes data to the memory or reads data from the memory, the third control signal output prior to the data is output. A third phase adjustment unit for performing phase adjustment, the memory control device writes third adjustment data for phase adjustment with respect to the third control signal to the memory, and the data capturing unit is configured to control the memory control. The apparatus reads the third adjustment data read from the memory based on the first control signal, and the third phase adjustment unit determines whether the third adjustment data read by the data acquisition unit is appropriate. And adjusting the phase of the third control signal based on the determination result.
また、本発明に係る半導体装置は、上記のメモリ制御装置と、前記メモリ制御装置が制御するメモリとを備える。 A semiconductor device according to the present invention includes the above-described memory control device and a memory controlled by the memory control device.
また、本発明に係る制御プログラムの一態様は、メモリを制御するメモリ制御装置を制御するための制御プログラムであって、前記メモリ制御装置に、(a)前記メモリ制御装置が前記メモリからデータを読み出す際に、当該メモリがデータとともに出力する制御信号に対する位相調整用の調整用データを前記メモリに書き込み、書き込んだ前記調整用データを前記メモリから読み出す工程と、(b)前記メモリから読み出された前記調整用データを前記制御信号に基づいて取り込む工程と、(c)前記制御信号に基づいて取り込まれた前記調整用データが適切か否かを判定し、その判定結果に基づいて前記制御信号に対する位相調整を行う工程とを実行させ、前記工程(a)は、前記調整用データに含まれる複数種類のデータのそれぞれについて、当該データを前記メモリに書き込んだ後、当該データを前記メモリから読み出す処理を複数回実行する工程を含み、前記工程(b)は、前記複数種類のデータのそれぞれについて、当該データを用いた前記処理が実行されるたびに、前記制御信号の位相を変化させて前記データを前記制御信号に基づいて取り込む工程を含み、前記工程(c)は、前記複数種類のデータのそれぞれについて、前記処理が実行されるたびに取り込まれた当該データがそれぞれ適切であるか否かを判定し、その判定結果に基づいて、前記複数種類のデータのそれぞれについて、取り込まれた当該データが適切となる前記制御信号の位相範囲を特定し、特定した複数の位相範囲が重複する範囲の中央値を前記制御信号の位相の適切な値とする工程を含む。 Another aspect of the control program according to the present invention is a control program for controlling a memory control device that controls a memory, wherein the memory control device receives data from the memory. when reading, the adjustment data for phase adjustment to the control signal to which the memory is output together with data write in the memory, a step of reading out the adjustment data written from the memory, read out from the (b) said memory (C) determining whether or not the adjustment data acquired based on the control signal is appropriate, and performing the control based on the determination result to execute a step of performing phase adjustment to signals, wherein the step (a), each of the plurality of types of data included in the adjustment data Then, after writing the data into the memory, the process includes a step of executing a process of reading the data from the memory a plurality of times, and the step (b) uses the data for each of the plurality of types of data. Each time the processing is executed, the method includes a step of changing the phase of the control signal and taking in the data based on the control signal, wherein the step (c) includes the processing for each of the plurality of types of data. Each time when is executed, it is determined whether or not the captured data is appropriate, and based on the determination result, for each of the plurality of types of data, the captured data becomes appropriate Specifying a phase range of the signal, and setting a median value of a range where the specified plurality of phase ranges overlap as an appropriate value of the phase of the control signal .
また、本発明に係るメモリ制御装置の動作方法の一態様は、メモリを制御するメモリ制御装置の動作方法であって、(a)前記メモリ制御装置が前記メモリからデータを読み出す際に、当該メモリがデータとともに出力する制御信号に対する位相調整用の調整用データを前記メモリに書き込み、書き込んだ前記調整用データを前記メモリから読み出す工程と、(b)前記メモリから読み出された前記調整用データを前記制御信号に基づいて取り込む工程と、(c)前記制御信号に基づいて取り込まれた前記調整用データが適切か否かを判定し、その判定結果に基づいて前記制御信号に対する位相調整を行う工程とを備え、前記工程(a)は、前記調整用データに含まれる複数種類のデータのそれぞれについて、当該データを前記メモリに書き込んだ後、当該データを前記メモリから読み出す処理を複数回実行する工程を含み、前記工程(b)は、前記複数種類のデータのそれぞれについて、当該データを用いた前記処理が実行されるたびに、前記制御信号の位相を変化させて前記データを前記制御信号に基づいて取り込む工程を含み、前記工程(c)は、前記複数種類のデータのそれぞれについて、前記処理が実行されるたびに取り込まれた当該データがそれぞれ適切であるか否かを判定し、その判定結果に基づいて、前記複数種類のデータのそれぞれについて、取り込まれた当該データが適切となる前記制御信号の位相範囲を特定し、特定した複数の位相範囲が重複する範囲の中央値を前記制御信号の位相の適切な値とする工程を含む。
An aspect of the operation method of the memory control device according to the present invention is an operation method of the memory control device that controls a memory, and (a) when the memory control device reads data from the memory, the memory process and, (b) the adjustment data read out from said memory but to read write the adjustment data for phase adjustment to the control signal to be output with the data in the memory, the adjustment data written from the memory (C) determining whether or not the adjustment data acquired based on the control signal is appropriate, and performing phase adjustment on the control signal based on the determination result and a step, wherein the step (a) for each of the plurality of types of data included in the adjustment data, writing the data to the memory A process of reading the data from the memory a plurality of times, and the step (b) is performed each time the process using the data is performed for each of the plurality of types of data. A step of capturing the data based on the control signal by changing a phase of the control signal, and the step (c) is captured each time the processing is executed for each of the plurality of types of data. Whether or not the data is appropriate, and based on the determination result, for each of the multiple types of data, identify the phase range of the control signal for which the captured data is appropriate, A step of setting a median value of a range where the plurality of identified phase ranges overlap to an appropriate value of the phase of the control signal .
本発明の一態様によれば、メモリからデータとともに出力される制御信号の位相を適切な値に設定することができる。 According to one embodiment of the present invention, the phase of a control signal output together with data from a memory can be set to an appropriate value.
図1は実施の形態に係る半導体装置1の構成を示す図である。図1に示されるように、半導体装置1は、メモリ2及び半導体集積回路3を備えている。メモリ2は、例えばDDR型のSDRAMである。半導体集積回路3は、例えば、入力される画像データに対して圧縮処理等の各種画像処理を行う画像処理回路である。半導体集積回路3は、画像データ等をメモリ2に書き込んだり、メモリ2内の画像データ等を読み出したりする。半導体集積回路3は、メモリ2を制御するメモリ制御装置4を備えている。メモリ制御装置4は、メモリ2にデータを書き込み、メモリ2からデータを読み出す。メモリ制御装置4とメモリ2とは、様々な信号線によって互いに接続されており、当該信号線を使用して信号のやり取りを行う。なお、半導体集積回路3は画像処理回路以外であっても良い。
FIG. 1 is a diagram showing a configuration of a
本実施の形態では、半導体集積回路3とメモリ2とは別々のパッケージに収められている。そして、半導体集積回路3及びメモリ2は、プリント基板10上に搭載されており、当該プリント基板10上に設けられた配線によって互いに接続されている。なお、半導体集積回路3とメモリ2とは一つのパッケージに収められても良い。
In the present embodiment, the semiconductor integrated
メモリ制御装置4は、クロック信号CLKに同期して動作する。またメモリ制御装置4は、メモリ2に対してクロック信号CLKを出力する。メモリ2はクロック信号CLKに同期して動作する。
The
メモリ制御装置4とメモリ2とは、データDQのやり取りを行うデータ線DQLによって互いに接続されている。データ線DQLは双方向の信号線である。メモリ制御装置4が出力するデータDQはデータ線DQLを通じてメモリ2に入力され、メモリ2が出力するデータDQはデータ線DQLを通じてメモリ制御装置4に入力される。データ線DQLにデータDQが出力されていない場合には、データ線DQLはハイインピーダンスとなる。
The
データ線DQLはN(≧2)ビットのデータバスである。データDQはNビットデータである。したがって、メモリ制御装置4とメモリ2との間のデータのやり取りはNビット単位で行われる。本実施の形態では、例えばN=8である。なお、Nの値はこれに限られない。例えば、N=4、N=16、N=32であっても良い。以後、メモリ2から読み出されるデータDQを「リードデータrDQ」と呼び、メモリ2に書き込まれるデータDQを「ライトデータwDQ」と呼ぶことがある。
The data line DQL is an N (≧ 2) bit data bus. Data DQ is N-bit data. Therefore, data exchange between the
メモリ制御装置4とメモリ2とは、データストローブ信号DQSのやり取りを行うデータストローブ線DQSLによって互いに接続されている。データストローブ線DQSLは双方向の信号線である。メモリ制御装置4が出力するデータストローブ信号DQSはデータストローブ線DQSLを通じてメモリ2に入力され、メモリ2が出力するデータストローブ信号DQSはデータストローブ線DQSLを通じてメモリ制御装置4に入力される。データストローブ線DQSLにデータストローブ信号DQSが出力されていない場合には、データストローブ線DQSLはハイインピーダンスとなる。
The
メモリ制御装置4は、データストローブ信号DQS以外の複数種類の制御信号CNTをメモリ2に出力する。複数種類の制御信号CNTには、アドレス信号ADDR、ロウアドレスストローブ信号RAS、カラムアドレスストローブ信号CAS、チップセレクト信号CS、ライトイネーブル信号WE等が含まれている。メモリ制御装置4は、リードサイクル及びライトサイクルにおいて、データストローブ信号DQS及びデータDQに先立って制御信号CNTを出力する。以後、制御信号CNTを「先行制御信号CNT」と呼ぶことがある。
The
図2は、クロック信号CLK、データDQ及びデータストローブ信号DQSの理想的な関係を示す図である。図2の上から1番目にはクロック信号CLKが示されている。図2の上から2番目にはデータストローブ信号DQSが示されている。図2の上から3番目にはリードデータrDQが示されている。そして、図2の一番下にはライトデータwDQが示されている。 FIG. 2 is a diagram illustrating an ideal relationship among the clock signal CLK, the data DQ, and the data strobe signal DQS. The clock signal CLK is shown first from the top in FIG. The data strobe signal DQS is shown second from the top in FIG. Read data rDQ is shown third from the top in FIG. The write data wDQ is shown at the bottom of FIG.
データストローブ信号DQSは、クロック信号CLKに同期して、Highレベル及びLowレベルを交互に繰り返す信号である。つまり、データストローブ信号DQSは、クロック信号CLKに同期して、立ち上がりエッジ及び立ち上がりエッジを交互に繰り返す信号である。データストローブ信号DQSの周期はクロック信号CLKの周期と一致する。 The data strobe signal DQS is a signal that alternately repeats a high level and a low level in synchronization with the clock signal CLK. That is, the data strobe signal DQS is a signal that alternately repeats the rising edge and the rising edge in synchronization with the clock signal CLK. The cycle of the data strobe signal DQS coincides with the cycle of the clock signal CLK.
リードサイクルでは、理想的には、メモリ2から出力されるデータストローブ信号DQSにエッジが現れるたびに、当該エッジのタイミングで、メモリ2からのリードデータrDQの出力が開始する。1回のリードサイクルにおいては、データストローブ信号DQSに複数回エッジが現れることから、1回のリードサイクルでは、8ビットのリードデータrDQがメモリ2から複数回出力される。つまり、1回のリードサイクルにおいて、リードデータrDQがバースト的にメモリ2から出力される。
Ideally, in the read cycle, every time an edge appears in the data strobe signal DQS output from the
一方で、ライトサイクルでは、理想的には、メモリ制御装置4から出力されるデータストローブ信号DQSにエッジが現れるたびに、当該エッジのタイミングから1/4サイクル前に、メモリ制御装置4からのライトデータwDQの出力が開始する。1回のライトサイクルにおいては、データストローブ信号DQSに複数回エッジが現れることから、1回のライトサイクルでは、8ビットのライトデータwDQがメモリ制御装置4から複数回出力される。つまり、1回のライトサイクルにおいて、ライトデータwDQがバースト的にメモリ制御装置4から出力される。
On the other hand, in the write cycle, ideally, every time an edge appears in the data strobe signal DQS output from the
リードサイクルにおいて、メモリ制御装置4内でのデータストローブ信号DQS及びリードデータrDQの位相の関係が図2に示される関係であれば、メモリ制御装置4は、入力されたデータストローブ信号DQSの位相を90°だけ遅らせるだけで、データストローブ信号DQSの各エッジのタイミングでリードデータrDQを適切に取り込むことができる。しかしながら、メモリ制御装置4とメモリ2とを実際に接続すると、配線遅延、同時スイッチングノイズなどが原因で、メモリ制御装置4内では、データストローブ信号DQS及びリードデータrDQの位相の関係が図2のような理想的な関係にはならない可能性がある。したがって、メモリ制御装置4は、入力されたデータストローブ信号DQSの位相を90°だけ遅延させるだけでは、リードデータrDQを適切に取り込むことができない可能性がある。
If the phase relationship between the data strobe signal DQS and the read data rDQ in the
また、ライトサイクルにおいて、メモリ2内でのデータストローブ信号DQS及びライトデータwDQの位相の関係が図2に示される関係であれば、メモリ2は、入力されたデータストローブ信号DQSの各エッジのタイミングでライトデータwDQを取り込むことができる。しかしながら、メモリ制御装置4とメモリ2とを実際に接続すると、配線遅延、同時スイッチングノイズなどが原因で、メモリ2内では、データストローブ信号DQS及びライトデータwDQの位相の関係が図2のような理想的な関係にはならない可能性がある。したがって、メモリ2は、入力されたデータストローブ信号DQSの各エッジのタイミングでライトデータwDQを取り込んだとしても、当該ライトデータwDQを適切に取り込むことができない可能性がある。
Further, in the write cycle, if the phase relationship between the data strobe signal DQS and the write data wDQ in the
また、市場に投入された実運用中の半導体装置1においては、温度変化、電源電圧の変化等によって、リードサイクルでのデータストローブ信号DQS及びリードデータrDQの位相の関係が変化することがある。したがって、その位相関係が調整されない場合には、あるタイミングにおいて、メモリ制御装置4が、入力されたデータストローブ信号DQSに基づいてリードデータrDQを適切に取り込むことができたとしても、別のタイミングでは、入力されたデータストローブ信号DQSに基づいてリードデータrDQを適切に取り込むことができない可能性がある。
Further, in the
同様に、実運用中の半導体装置1においては、温度変化、電源電圧の変化等によって、ライトサイクルでのデータストローブ信号DQS及びライトデータwDQの位相の関係が変化することがある。したがって、その位相関係が調整されない場合には、あるタイミングにおいて、メモリ2が、入力されたデータストローブ信号DQSに基づいてライトデータwDQを適切に取り込むことができたとしても、別のタイミングでは、入力されたデータストローブ信号DQSに基づいてライトデータwDQを適切に取り込むことができない可能性がある。
Similarly, in the
そこで、本実施の形態に係るメモリ制御装置4は、当該メモリ制御装置4においてリードデータrDQを適切に取り込むことができ、メモリ2においてもライトデータwDQを適切に取り込むことができるように、データストローブ信号DQSの位相を適切な値に設定できるように構成されている。
Therefore, the
また、メモリ制御装置4が、リードサイクルあるいはライトサイクルにおいて、データストローブ信号DQS及びデータDQに先立って出力する、アドレス信号ADDR等の先行制御信号CNTの位相については、メモリ制御装置4単体では適切な値になっていたとしても、メモリ制御装置4とメモリ2とを実際に接続すると、配線遅延、同時スイッチングノイズなどが原因で適切な値にならない可能性がある。また、実運用中の半導体装置1では、温度変化、電源電圧の変化等によって、先行制御信号CNTの位相が変化することがある。したがって、先行制御信号CNTの位相が調整されない場合には、メモリ制御装置4は、メモリ2から適切にデータを読み出すことができなかったり、メモリ2に対して適切にデータを書き込めなかったりする可能性がある。
The phase of the preceding control signal CNT such as the address signal ADDR that the
そこで、本実施の形態に係るメモリ制御装置4は、メモリ2から適切にデータを読み出したり、メモリ2に対して適切にデータを書き込めたりできるように、先行制御信号CNTの位相も適切な値に設定できるように構成されている。以下にメモリ制御装置4について詳細に説明する。
Therefore, the
<メモリ制御装置の詳細について>
本実施の形態では、メモリ制御装置4は、動作モードとして、位相調整モードを備えている。位相調整モードでは、データストローブ信号DQS等の制御信号の位相が調整される。以後、メモリ制御装置4での、位相調整モード以外の動作モードを「通常モード」と呼ぶ。通常モードでは、位相調整モードで位相が適切に調整された各種制御信号が使用されて、メモリ2に対してライトアクセス及びリードアクセスが行われる。
<Details of memory control device>
In the present embodiment, the
図3はメモリ制御装置4の構成を示す図である。図3に示されるように、メモリ制御装置4は、主制御部40と、調整部41,42,43と、位相調整用制御部44と、セレクタ45と、データ取り込み部46と、判定部47とを備えている。メモリ制御装置4は、一種のコンピュータ装置である。
FIG. 3 is a diagram showing a configuration of the
主制御部40は、メモリ制御装置4全体の動作を管理する。また主制御部40は、半導体集積回路3全体の動作も管理する。主制御部40は、例えば、CPU400及び記憶部401等を備えている。記憶部401は、ROM(Read Only Memory)及びRAM(Random Access Memory)等の、CPU400が読み取り可能な非一時的な記録媒体で構成されている。記憶部401内には、メモリ制御装置4あるいは半導体集積回路3を制御するための様々な制御プログラムが記憶されている。例えば、記憶部401には、メモリ制御装置4を制御するための制御プログラムの一種である位相調整用プログラム402が記憶されている。位相調整用プログラム402は、データストローブ信号DQS等の制御信号の位相を調整するための制御プログラムである。CPU400が記憶部401内の位相調整用プログラム402を実行することによって、メモリ制御装置4の動作モードは位相調整モードとなる。
The
主制御部40は、メモリ2に供給するクロック信号CLK及び複数種類の先行制御信号CNTを生成して出力する。また主制御部40は、メモリ制御装置4が通常モードで動作する際にメモリ2に書き込むライトデータwDQを生成して出力する。以後、当該ライトデータwDQを「通常ライトデータwDQn」と呼ぶことがある。
The
さらに主制御部40は、ライトサイクルにおいて、データストローブ信号DQSを生成して出力する。以後、当該データストローブ信号DQSを「ライト側データストローブ信号wDQS」と呼ぶことがある。
Further,
調整部41は、主制御部40が出力する複数種類の先行制御信号CNTの位相を調整する。調整部41で位相が調整された複数種類の先行制御信号CNTはメモリ2に入力される。本実施の形態では、複数種類の先行制御信号CNTの位相はまとめて調整されるが、複数種類の先行制御信号CNTのそれぞれの位相は個別に調整されても良い。
The
調整部42は、主制御部40が出力するライト側データストローブ信号wDQSの位相を調整する。調整部42で位相が調整されたライト側データストローブ信号wDQSはメモリ2に入力される。
The
調整部43は、リードサイクルにおいて、メモリ2が出力するデータストローブ信号DQSの位相を調整する。以後、当該データストローブ信号DQSを「リード側データストローブ信号rDQS」と呼ぶことがある。調整部43で位相が調整されたリード側データストローブ信号rDQSはデータ取り込み部46に入力される。
The
位相調整用制御部44は、主制御部40によって制御される。位相調整用制御部44は、調整部41,42,43のそれぞれを個別に制御する。また位相調整用制御部44は、メモリ制御装置4が位相調整モードで動作する際に、データストローブ信号DQS等の制御信号に対する位相調整用のライトデータwDQを出力する。以後、当該ライトデータwDQを「調整用データwDQt」と呼ぶことがある。
The phase
調整部41,42のそれぞれは、入力される制御信号の位相を遅延させる複数の遅延バッファを有している。調整部41,42のそれぞれは、遅延バッファのカスケード接続段数を変化させることによって、入力される制御信号の位相を遅延させる。つまり、調整部41,42のそれぞれは、入力される制御信号の位相についての、入力時の位相に対する遅延量を設定することによって、当該制御信号の位相を設定する。
Each of the
調整部43は、例えば、入力される制御信号(リード側データストローブ信号rDQS)を遅延させるDLL(Digital Locked Loop)回路を有している。調整部43は、当該DLL回路を使用して、入力される制御信号の位相についての、入力時の位相に対する相対的な遅延量を設定することによって、当該制御信号の位相を設定する。
The
以後、制御信号の位相の遅延量と言えば、制御信号の位相についての、入力時の位相に対する遅延量を意味する。 Hereinafter, the amount of delay of the phase of the control signal means the amount of delay of the phase of the control signal with respect to the phase at the time of input.
セレクタ45は、2つの入力端子450,451を有している。一方の入力端子450には、通常ライトデータwDQnが入力され、他方の入力端子451には、調整用データwDQtが入力される。セレクタ45は、位相調整用制御部44による制御によって、2つの入力端子450,451のどちらか一方を選択し、選択した入力端子に入力される信号を出力する。セレクタ45は、メモリ制御装置4が通常モードで動作するときには入力端子450を選択し、メモリ制御装置4が位相調整モードで動作するときには入力端子451を選択する。したがって、メモリ制御装置4が通常モードで動作するときには、セレクタ45からは通常ライトデータwDQnが出力され、メモリ制御装置4が位相調整モードで動作するときには、セレクタ45からは調整用データwDQtが出力される。セレクタ45から出力されるライトデータwDQはメモリ2に入力される。
The
データ取り込み部46は、調整部43で位相調整されたリード側データストローブ信号rDQSに基づいて、メモリ2から出力されるリードデータrDQを取り込む。具体的には、データ取り込み部46は、例えばフリップフロップ回路を有しており、リード側データストローブ信号rDQSの立ち上がりエッジ及び立下りエッジのそれぞれのタイミングにおいて、メモリ2からのリードデータrDQを当該フリップフロップ回路によって保持する。
The
判定部47は、データ取り込み部46で取り込まれたリードデータrDQが適切であるか否かを判定する。そして、判定部47は、その判定結果を主制御部40に出力する。主制御部40は、判定部47から通知される判定結果を記憶部401に記憶する。
The
なお、判定部47での判定結果は、本実施の形態に係る半導体装置1の外部に出力されても良い。この場合には、判定部47での判定結果が、半導体装置1の外部の表示装置に表示されても良い。
Note that the determination result in the
<通常モードについて>
次に通常モードのメモリ制御装置4の動作について説明する。通常モードのメモリ制御装置4では、位相調整用制御部44は、主制御部40による制御によって、入力端子450を選択するようにセレクタ45を制御する。これにより、通常モードのメモリ制御装置4からは通常ライトデータwDQnがメモリ2に出力される。
<Regarding the normal mode>
Next, the operation of the
また、通常モードのメモリ制御装置4では、調整部41,42,43のそれぞれは、位相調整用制御部44によって制御されない。これにより、通常モードのメモリ制御装置4では、調整部41,42,43のそれぞれが設定する制御信号の位相は一定である。
In the normal mode
通常モードのメモリ制御装置4では、リードサイクルにおいて、主制御部40が、メモリ2からデータを読み出すために必要な先行制御信号CNTを出力する。この先行制御信号CNTは調整部41を通じてメモリ2に出力される。リードサイクルでは、メモリ2は、メモリ制御装置4からのアドレス信号ADDR等の先行制御信号CNTで指定される記憶領域からリードデータrDQを読み出してメモリ制御装置4に出力するとともに、リード側データストローブ信号rDQSをメモリ制御装置4に出力する。通常モードのメモリ制御装置4では、メモリ2からのリード側データストローブ信号rDQSが調整部43を通じてデータ取り込み部46に入力され、メモリ2からのリードデータrDQもデータ取り込み部46に入力される。データ取り込み部46は、入力されるリードデータrDQを、調整部43が出力するリード側データストローブ信号rDQSに基づいて取り込む。そして、データ取り込み部46は、取り込んだリードデータrDQを主制御部40に出力する。これにより、主制御部40は、メモリ2から読み出されたリードデータrDQを取得することができる。
In the
また、通常モードのメモリ制御装置4では、ライトサイクルにおいて、主制御部40が、メモリ2にデータを書き込むために必要な先行制御信号CNTを出力する。この先行制御信号CNTは調整部41を通じてメモリ2に出力される。ライトサイクルでは、その後、主制御部40が通常ライトデータwDQnとライト側データストローブ信号wDQSを出力する。通常ライトデータwDQnはセレクタ45を通じてメモリ2に出力され、ライト側データストローブ信号wDQSは調整部42を通じてメモリ2に出力される。メモリ2は、メモリ制御装置4からの通常ライトデータwDQnを、メモリ制御装置4からのライト側データストローブ信号wDQSに基づいて取り込む。そして、メモリ2は、取り込んだ通常ライトデータwDQnを、メモリ制御装置4からのアドレス信号ADDR等の先行制御信号CNTによって指定される記憶領域に記憶する。
In the
<位置調整モードについて>
次に位置調整モードのメモリ制御装置4の動作について説明する。図4は位置調整モードのメモリ制御装置4が行う位置調整処理を示すフローチャートである。CPU400が記憶部401内の位相調整用プログラム402を実行することによって、図4に示される位相調整処理がメモリ制御装置4で行われる。図4に示される位相調整処理は、例えば、実運用中の半導体装置1の電源が投入された直後に実行される。また、図4に示される位相調整処理は、実運用中の半導体装置1において、定期的にあるいは不定期的に繰り返して実行される。
<About the position adjustment mode>
Next, the operation of the
図4に示されるように、位相調整処理では、まずステップs1において、リード側データストローブ信号rDQSに対する位相調整が行われる。その後、ステップs2において、ライト側データストローブ信号wDQSに対する位相調整が行われる。最後にステップs3において、アドレス信号ADDR等の先行制御信号CNTに対する位相調整が行われる。 As shown in FIG. 4, in the phase adjustment process, first, in step s1, phase adjustment is performed on the read-side data strobe signal rDQS. Thereafter, in step s2, phase adjustment for the write side data strobe signal wDQS is performed. Finally, in step s3, phase adjustment is performed on the preceding control signal CNT such as the address signal ADDR.
ここで、先行制御信号CNTの位相のずれの許容範囲は比較的広いことから、先行制御信号CNTの位相のずれに基づく不具合(メモリ2からのデータの読み出しミス、メモリ2に対するデータの書き込みミス)が発生する可能性は比較的低い。
Here, since the permissible range of the phase shift of the preceding control signal CNT is relatively wide, a defect based on the phase shift of the preceding control signal CNT (data read error from the
また、ライトデータwDQ及びライト側データストローブ信号wDQSは、クロック信号CLKと同様にメモリ制御装置4で生成される信号である。したがって、メモリ2においては、クロック信号CLKの位相とライトデータwDQの位相とライト側データストローブ信号wDQSの位相との関係が図2のような理想的な関係から大きくずれる可能性は比較的低い。そのため、クロック信号CLKに基づいて動作するメモリ2が、図2のような理想的な関係に基づいてライトデータwDQをライト側データストローブ信号wDQSのエッジのタイミングで取り込んだとしても、ライトデータwDQを適切に取り込むことができる可能性が比較的高い。
The write data wDQ and the write side data strobe signal wDQS are signals generated by the
一方で、メモリ2は、メモリ制御装置4からのクロック信号CLKに基づいてリード側データストローブ信号rDQSを生成する。このとき、メモリ2では、DLL回路等の遅延回路が使用され、この遅延回路によって、リード側データストローブ信号rDQSにジッタが発生することがある。このため、メモリ制御装置4においては、リード側データストローブ信号rDQSの位相とリードデータrDQの位相との関係が上述の図2のような理想的な関係から大きくずれる可能性が比較的高い。そのため、メモリ制御装置4が、図2のような理想的な関係を考慮して、リード側データストローブ信号rDQSの位相を遅延させると、リード側データストローブ信号rDQSに基づいてリードデータrDQを適切に取り込むことができない可能性が比較的高い。
On the other hand, the
このように、先行制御信号CNTの位相のずれに基づく不具合が発生する可能性、及びメモリ2がライト側データストローブ信号wDQSに基づいて適切にライトデータwDQを取り込むことができない可能性は比較的低く、メモリ制御装置4がリード側データストローブ信号rDQSに基づいて適切にリードデータrDQを取り込むことができない可能性は比較的高い。
As described above, there is a relatively low possibility that a malfunction based on the phase shift of the preceding control signal CNT occurs and that the
そこで、本実施の形態では、メモリ制御装置4は、まずステップs1において、リード側データストローブ信号rDQSの位相を適切な値に調整する。そして、リード側データストローブ信号rDQSの位相が適切な値に調整された後、メモリ制御装置4は、ステップs2において、ライト側データストローブ信号wDQSの位相を適切な値に調整する。そして、リード側データストローブ信号rDQS及びライト側データストローブ信号wDQSの位相が適切な値に調整された後、メモリ制御装置4は、ステップs3において、先行制御信号CNTの位相を適切な値に調整する。なお、ステップs1〜s3の実行順序はこれに限られない。以下に、ステップs1〜s3での処理について詳細に説明する。
Therefore, in the present embodiment, the
<リード側データストローブ信号に対する位相調整の詳細>
本実施の形態では、ステップs1において、メモリ制御装置4は、メモリ2に対して書き込んだ調整用データwDQtを当該メモリ2から読み出し、読み出した調整用データwDQtをリード側データストローブ信号rDQSに基づいて取り込む。そして、メモリ制御装置4は、取り込んだ調整用データwDQtが適切でるか否かを判定し、その判定結果に基づいて、リード側データストローブ信号rDQSの位相を調整する。本実施の形態では、主制御部40、位相調整用制御部44、調整部43及び判定部47によって、取り込まれた調整用データwDQtが適切であるか否かを判定し、その判定結果に基づいてリード側データストローブ信号rDQSの位相を調整する第1位相調整部100(図3において破線で囲まれた部分)が構成される。
<Details of phase adjustment for read side data strobe signal>
In the present embodiment, in step s1, the
また本実施の形態では、調整用データwDQtとして、複数種類のパターンデータが規定されている。図5は当該複数種類のパターンデータの一例を示す図である。図5に示されるように、本実施の形態では、調整用データwDQtとして、9種類のパターンデータが規定されている。具体的には、調整用データwDQtとして、1ビット目変化パターンデータ、2ビット目変化パターンデータ、3ビット目変化パターンデータ、4ビット目変化パターンデータ、5ビット目変化パターンデータ、6ビット目変化パターンデータ、7ビット目変化パターンデータ、8ビット目変化パターンデータ、全ビット変化パターンデータが規定されている。 In the present embodiment, a plurality of types of pattern data are defined as the adjustment data wDQt. FIG. 5 is a diagram showing an example of the plurality of types of pattern data. As shown in FIG. 5, in this embodiment, nine types of pattern data are defined as the adjustment data wDQt. Specifically, as the adjustment data wDQt, the first bit change pattern data, the second bit change pattern data, the third bit change pattern data, the fourth bit change pattern data, the fifth bit change pattern data, and the sixth bit change Pattern data, 7th bit change pattern data, 8th bit change pattern data, and all bit change pattern data are defined.
各パターンデータは、8ビット(Nビット)から成る第1単位データと、8ビットから成る第2単位データとが交互に現れるパターンデータである。本実施の形態に係る各パターンデータでは、第1及び第2単位データのそれぞれが例えば4回現れる。メモリ制御装置4とメモリ2との間のデータバスのビット数は8ビットであることから、メモリ制御装置4は、パターンデータをメモリ2に書き込む際には、8ビットのライトデータwDQとして、第1単位データ及び第2単位データを交互に出力する。またメモリ制御装置4がパターンデータをメモリ2から読み出す際には、メモリ2は、8ビットのリードデータrDQとして、第1単位データ及び第2単位データを交互に出力する。
Each pattern data is pattern data in which first unit data composed of 8 bits (N bits) and second unit data composed of 8 bits appear alternately. In each pattern data according to the present embodiment, each of the first and second unit data appears four times, for example. Since the number of bits of the data bus between the
1ビット目変化パターンデータでは、第1単位データは“0x00”(16進数表記の“00”)であり、第2単位データは“0x01”である。したがって、1ビット目変化パターンデータの第1及び第2単位データの間では、下位から1ビット目だけ相違する。 In the first bit change pattern data, the first unit data is “0x00” (“00” in hexadecimal notation), and the second unit data is “0x01”. Accordingly, the first and second unit data of the first bit change pattern data differ by the first bit from the lower order.
2ビット目変化パターンデータでは、第1単位データは“0x00”であり、第2単位データは“0x02”である。したがって、2ビット目変化パターンデータの第1及び第2単位データの間では、下位から2ビット目だけ相違する。 In the second bit change pattern data, the first unit data is “0x00”, and the second unit data is “0x02”. Therefore, the first and second unit data of the second bit change pattern data differ by only the second bit from the lower order.
3ビット目変化パターンデータでは、第1単位データは“0x00”であり、第2単位データは“0x04”である。したがって、3ビット目変化パターンデータの第1及び第2単位データの間では、下位から3ビット目だけ相違する。 In the third bit change pattern data, the first unit data is “0x00”, and the second unit data is “0x04”. Therefore, the first and second unit data of the third bit change pattern data differ by the third bit from the lower order.
4ビット目変化パターンデータでは、第1単位データは“0x00”であり、第2単位データは“0x08”である。したがって、4ビット目変化パターンデータの第1及び第2単位データの間では、下位から4ビット目だけ相違する。 In the fourth bit change pattern data, the first unit data is “0x00”, and the second unit data is “0x08”. Accordingly, the first and second unit data of the fourth bit change pattern data differ by the fourth bit from the lower order.
5ビット目変化パターンデータでは、第1単位データは“0x00”であり、第2単位データは“0x10”である。したがって、5ビット目変化パターンデータの第1及び第2単位データの間では、下位から5ビット目だけ相違する。 In the fifth bit change pattern data, the first unit data is “0x00”, and the second unit data is “0x10”. Therefore, the first and second unit data of the fifth bit change pattern data differ by the fifth bit from the lower order.
6ビット目変化パターンデータでは、第1単位データは“0x00”であり、第2単位データは“0x20”である。したがって、6ビット目変化パターンデータの第1及び第2単位データの間では、下位から6ビット目だけ相違する。 In the sixth bit change pattern data, the first unit data is “0x00”, and the second unit data is “0x20”. Therefore, the first and second unit data of the sixth bit change pattern data differ by the sixth bit from the lower order.
7ビット目変化パターンデータでは、第1単位データは“0x00”であり、第2単位データは“0x40”である。したがって、7ビット目変化パターンデータの第1及び第2単位データの間では、下位から7ビット目だけ相違する。 In the 7th bit change pattern data, the first unit data is “0x00”, and the second unit data is “0x40”. Therefore, the first and second unit data of the seventh bit change pattern data differ by the seventh bit from the lower order.
8ビット目変化パターンデータでは、第1単位データは“0x00”であり、第2単位データは“0x80”である。したがって、8ビット目変化パターンデータの第1及び第2単位データの間では、下位から8ビット目だけ相違する。 In the eighth bit change pattern data, the first unit data is “0x00” and the second unit data is “0x80”. Therefore, the first and second unit data of the eighth bit change pattern data differ by the eighth bit from the lower order.
全ビット変化パターンデータでは、第1単位データは“0x00”であり、第2単位データは“0xff”である。したがって、全ビット変化パターンデータの第1及び第2単位データの間では、8ビットすべてが相違する。 In all bit change pattern data, the first unit data is “0x00”, and the second unit data is “0xff”. Therefore, all the 8 bits are different between the first and second unit data of the all bit change pattern data.
本実施の形態では、9種類のパターンデータのすべてが使用されてリード側データストローブ信号rDQSの位相の調整が行われる。以後、1ビット目変化パターンデータ、2ビット目変化パターンデータ、3ビット目変化パターンデータ、4ビット目変化パターンデータ、5ビット目変化パターンデータ、6ビット目変化パターンデータ、7ビット目変化パターンデータ及び8ビット目変化パターンデータを特に区別する必要が無い場合には、それぞれを「1ビット変化パターンデータ」と呼ぶ。 In the present embodiment, all nine types of pattern data are used to adjust the phase of the read-side data strobe signal rDQS. Thereafter, the first bit change pattern data, the second bit change pattern data, the third bit change pattern data, the fourth bit change pattern data, the fifth bit change pattern data, the sixth bit change pattern data, and the seventh bit change pattern data. When there is no need to distinguish the 8th bit change pattern data, each is referred to as “1 bit change pattern data”.
また本実施の形態では、リード側データストローブ信号rDQSの位相の設定値について、複数種類の設定値が用意されている。例えば、32種類の設定値が用意されている。調整部43は、32種類の設定値のうちのいずれか一つを、リード側データストローブ信号rDQSの位相に設定する。
In the present embodiment, a plurality of types of setting values are prepared for the phase setting values of the read-side data strobe signal rDQS. For example, 32 types of setting values are prepared. The
図6はリード側データストローブ信号rDQSの位相についての複数種類の設定値の一例を示す図である。本実施の形態では、リード側データストローブ信号rDQSの位相の設定値は、リード側データストローブ信号rDQSの位相の遅延量を示している。図6に示されるように、本実施の形態では、“0”〜“31”までの32種類の設定値が規定されている。設定値“x”(0≦x≦31)は、リード側データストローブ信号rDQSの位相の遅延量が(11.25×x)°であることを示している。調整部43は、リード側データストローブ信号rDQSの位相の遅延量を11.25°間隔で設定することが可能である。以後、リード側データストローブ信号rDQSの位相の設定値を「rDQS用設定値」と呼ぶことがある。リード側データストローブ信号rDQSの位相の初期値としては、図2に示される、リード側データストローブ信号rDQS及びリードデータrDQの位相の理想的な関係に基づいて、例えば、rDQS用設定値“8”(遅延量90°)が採用される。
FIG. 6 is a diagram illustrating an example of a plurality of types of setting values for the phase of the read-side data strobe signal rDQS. In the present embodiment, the set value of the phase of the read side data strobe signal rDQS indicates the amount of delay of the phase of the read side data strobe signal rDQS. As shown in FIG. 6, in this embodiment, 32 types of set values from “0” to “31” are defined. The set value “x” (0 ≦ x ≦ 31) indicates that the phase delay amount of the read-side data strobe signal rDQS is (11.25 × x) °. The
図7はステップs1での処理を詳細に示すフローチャートである。図7に示されるように、ステップs11において、主制御部40は、調整用データwDQtの9種類のパターンデータのいずれか一つを、処理対象のパターンデータとして決定し、決定したパターンデータを位相調整用制御部44に通知する。
FIG. 7 is a flowchart showing in detail the processing in step s1. As shown in FIG. 7, in step s11, the
次にステップs12において、第1位相調整部100は、リード側データストローブ信号rDQSの位相を決定する。具体的には、主制御部40が、rDQS用設定値“0”〜“31”のうちの一つを選択し、選択したrDQS用設定値を位相調整用制御部44を通じて調整部43に通知する。調整部43は、リード側データストローブ信号rDQSが入力されると、その位相を、通知されたrDQS用設定値に設定する。つまり、調整部43は、リード側データストローブ信号rDQSの位相の遅延量を、主制御部40から位相調整用制御部44を介して通知された値に設定する。
Next, in step s12, the first
次にステップs13において、メモリ制御装置4は、ステップs11で決定された処理対象のパターンデータをメモリ2に書き込む。このとき、調整部41,42のそれぞれでは、入力される制御信号の位相の遅延量が初期値に設定される。ステップs13では、主制御部40が、メモリ2にデータを書き込む際に必要な先行制御信号CNTと、ライト側データストローブ信号wDQSを出力する。また位相調整用制御部44が、ステップs11で決定された処理対象のパターンデータを生成して出力する。位相調整モードのメモリ制御装置4では、セレクタ45は入力端子451を選択していることから、位相調整用制御部44が出力するパターンデータはメモリ2に入力される。
Next, in step s13, the
次にステップs14において、メモリ制御装置4は、ステップs13でメモリ2に書き込まれたパターンデータをメモリ2から読み出す。ステップs14では、主制御部40が、メモリ2からデータを読み出す際に必要な先行制御信号CNTを出力する。メモリ2から読み出されたパターンデータはデータ取り込み部46に入力され、メモリ2が出力するリード側データストローブ信号rDQSは調整部43に入力される。調整部43は、入力されるリード側データストローブ信号rDQSの位相を、ステップs12で通知されたrDQS用設定値に設定して、当該リード側データストローブ信号rDQSをデータ取り込み部46に出力する。
Next, in step s14, the
次にステップs15において、データ取り込み部46は、ステップs14で読み出されたパターンデータを、調整部43から出力されるリード側データストローブ信号rDQSの各エッジのタイミングで取り込む。そして、データ取り込み部46は、取り込んだパターンデータを判定部47に出力する。
In step s15, the
次にステップs16において、判定部47は、ステップs15で取り込まれたパターンデータが適切か否かを判定する。つまり、判定部47は、取り込まれたパターンデータがステップs13でメモリ2に書き込まれた処理対象のパターンデータと一致するか否かを判定する。
Next, in step s16, the
本実施の形態では、判定部47は、例えば、取り込まれたパターンデータに対するパリティチェックを行うことによって、当該パターンデータが適切であるか否かを判定する。上述の図5に示されるように、各パターンデータでは、4byte単位(第1単位データとそれに続く第2単位データの組が2組)で見ると、“1”を示すビットの数が偶数となる。判定部47は、取り込まれたパターンデータのパリティチェックを行う際には、当該パターンデータを4byteごとに区切って、複数の区分データを生成する。そして、判定部47は、取り込まれたパターンデータを構成する複数の区分データのそれぞれについて、当該区分データに含まれる、“1”を示すビットの数が偶数であるか否かを判定する。
In the present embodiment, the
ここで、区分データに含まれる、“1”を示すビットの数が偶数である場合には、当該区分データのパリティが“0”であるとし、区分データに含まれる、“1”を示すビットの数が奇数である場合には、当該区分データのパリティが“1”であるとする。判定部47は、取り込まれたパターンデータを構成する複数の区分データのそれぞれについてのパリティが“0”である場合には、当該パターンデータが適切であると判定する。つまり、判定部47は、取り込まれたパターンデータが、ステップs13でメモリ2に書き込まれたパターンデータと一致すると判定する。一方で、判定部47は、取り込まれたパターンデータを構成する複数の区分データに、パリティが“1”である区分データが含まれる場合には、当該パターンデータが適切ではないと判定する。つまり、判定部47は、取り込まれたパターンデータが、ステップs13でメモリ2に書き込まれたパターンデータと一致しないと判定する。判定部47は、取り込まれたパターンデータが適切であるか否かの判定結果を主制御部40に通知する。主制御部40は、ステップs17において、判定部47から通知された判定結果を記憶部401に記憶する。このとき、主制御部40は、判定結果と、ステップs11で決定された処理対象のパターンデータを特定する情報と、ステップs12で決定されたrDQS用設定値を特定する情報とを互いに対応付けて記憶部401に記憶する。
Here, if the number of bits indicating “1” included in the partition data is an even number, the parity of the partition data is assumed to be “0”, and the bit indicating “1” included in the partition data. Is the odd number, it is assumed that the parity of the segmented data is “1”. The
次にステップs18において、主制御部40は、リード側データストローブ信号rDQSの位相を所定範囲変化させたか否かを判定する。具体的には、主制御部40は、32種類のrDQS用設定値のすべてを、リード側データストローブ信号rDQSの位相に設定したか否かを判定する。ステップs18においてNoと判定されると、再度ステップs12が実行される。ここでのステップs12では、32種類のrDQS用設定値のうち、リード側データストローブ信号rDQSの位相として未だ採用されていないrDQS用設定値が選択される。その後、ステップs13が実行されて、処理対象のパターンデータがメモリ2に書き込まれる。以後、ステップs14〜s17が同様に実行される。
Next, in step s18, the
一方で、ステップs18においてYesと判定されると、つまり、判定部47において、リード側データストローブ信号rDQSの位相についての32種類のrDQS用設定値にそれぞれに対応する32個の判定結果が得られると、主制御部40は、ステップs19において、9種類のパターンデータのすべてを処理対象としたかを判定する。ステップs19においてNoと判定されると、ステップs11が再度実行される。ここでのステップs11では、9種類のパターンデータにおいて処理対象とされてないパターンデータが新たな処理対象とされる。その後、ステップs12以降が同様に実行される。
On the other hand, if it is determined Yes in step s18, that is, the
なお、ステップs11において処理対象のパターンデータが新たに決定された場合には、主制御部40は、リード側データストローブ信号rDQSの位相に、32種類のrDQS用設定値のそれぞれをあらためて設定する。したがって、ステップs11において処理対象のパターンデータが新たに決定された後、ステップs18においてYesと判定されると、主制御部40は、32種類のrDQS用設定値にそれぞれに対応する、当該処理対象のパターンデータに応じた32個の判定結果を記憶している。
When the pattern data to be processed is newly determined in step s11, the
ステップs19においてYesと判定されると、つまり、9種類のパターンデータのそれぞれに関して、32種類のrDQS用設定値にそれぞれ対応する32個の判定結果が主制御部40に記憶されると、ステップs20において、主制御部40は、これらの判定結果に基づいて、リード側データストローブ信号rDQSの位相の適切な値を決定する。
If it is determined Yes in step s19, that is, if 32 determination results respectively corresponding to 32 types of rDQS setting values are stored in the
図8は、ステップs19においてYesと判定された後に主制御部40に記憶されている判定結果の一例を示す図である。図中の丸印は、取り込まれたパターンデータが適切であることを示し、図中の×印は、取り込まれたパターンデータが適切でないことを示している。後述の図10,12においても同様である。
FIG. 8 is a diagram illustrating an example of a determination result stored in the
ステップs20において、主制御部40は、9種類のパターンデータのそれぞれについて、当該パターンデータに応じた32個の判定結果に基づいて、データ取り込み部46で取り込まれる当該パターンデータが適切となる、リード側データストローブ信号rDQSの位相範囲を特定する。言い換えれば、主制御部40は、9種類のパターンデータのそれぞれについて、当該パターンデータに応じた32個の判定結果に基づいて、データ取り込み部46で取り込まれる当該パターンデータが適切となる、リード側データストローブ信号rDQSの位相の遅延量の範囲を特定する。
In step s20, the
図8の例では、データ取り込み部46で取り込まれる1ビット目変化パターンデータが適切となる、リード側データストローブ信号rDQSの位相範囲は、rDQS用設定値“7”〜“12”の範囲である。また、データ取り込み部46で取り込まれる2ビット目変化パターンデータが適切となる、リード側データストローブ信号rDQSの位相範囲は、rDQS用設定値“7”〜“12”の範囲である。また、データ取り込み部46で取り込まれる3ビット目変化パターンデータが適切となる、リード側データストローブ信号rDQSの位相範囲は、rDQS用設定値“7”〜“13”の範囲である。
In the example of FIG. 8, the phase range of the read-side data strobe signal rDQS in which the first bit change pattern data captured by the
主制御部40は、9種類のパターンデータのそれぞれについて、データ取り込み部46で取り込まれる当該パターンデータが適切となる、リード側データストローブ信号rDQSの位相範囲を特定すると、特定した複数の位相範囲が重複する重複範囲110からリード側データストローブ信号rDQSの位相の適切な値を決定する。主制御部40は、例えば、当該重複範囲110の中央の値を、リード側データストローブ信号rDQSの位相の適切な値とする。図8の例では、重複範囲110はrDQS用設定値“8”〜“12”の範囲である。そして、リード側データストローブ信号rDQSの位相の適切な値はrDQS用設定値“10”となる。
When the
以上の説明から理解できるように、本実施の形態では、メモリ制御装置4は、処理対象のパターンデータをメモリ2に書き込んだ後、処理対象のパターンデータをメモリ2から読み出す処理を複数回実行する(ステップs13,s14)。第1位相調整部100は、メモリ制御装置4で当該処理が実行されるたびに、リード側データストローブ信号rDQSの位相を変化させる(ステップs12)。そして、第1位相調整部100は、メモリ制御装置4が当該処理を実行するたびにデータ取り込み部46によって取り込まれた処理対象のパターンデータがそれぞれ適切であるか否かを判定し(ステップs15,s16)、その判定結果に基づいて、当該処理対象のパターンが適切となるリード側データストローブ信号rDQSの位相範囲を特定する(ステップs20)。メモリ制御装置4は、これらの処理を9種類のパターンデータのそれぞれについて行う。そして、第1位相調整部100は、特定された複数の位相範囲が重複する重複範囲110から、リード側データストローブ信号rDQSの位相の適切な値を決定する。
As can be understood from the above description, in the present embodiment, the
主制御部40は、リード側データストローブ信号rDQSの位相の適切な値を決定すると、その適切な値を位相調整用制御部44を通じて調整部43に通知する。これにより、ステップs1での、リード側データストローブ信号rDQSに対する位相調整が完了する。通常モードのメモリ制御装置4では、リードアクセスにおいて、調整部43は、入力されるリード側データストローブ信号rDQSの位相を、ステップs1で決定された適切な値に設定する。図8の例では、調整部43は、リード側データストローブ信号rDQSの位相をrDQS用設定値“10”に設定する。
When the
なお、調整用データwDQtはパターンデータでなくても良い。また上記の例では、調整用データwDQtとして、複数種類のパターンデータが使用されているが、メモリ制御装置4は、1種類のパターンデータのみを用いて、リード側データストローブ信号rDQSに対する位相調整を行っても良い。この場合には、主制御部40には、1種類のパターンデータ応じた32個の判定結果が記憶される。第1位相調整部100は、当該32個の判定結果に基づいて、データ取り込み部46で取り込まれるパターンデータが適切となる、リード側データストローブ信号rDQSの位相範囲を特定し、その位相範囲から適切な値を決定する。例えば、第1位相調整部100は、当該位相範囲の中央の値を適切な値とする。
The adjustment data wDQt may not be pattern data. In the above example, plural types of pattern data are used as the adjustment data wDQt. However, the
また上記の例では、第1位相調整部100は、データ取り込み部46によって取り込まれたパターンデータに対してパリティチェックを行うことによって、当該パターンデータが適切か否かを判定しているが、これ以外の方法で、データ取り込み部46によって取り込まれた調整用データwDQtが適切か否かを判定しても良い。例えば、第1位相調整部100は、ステップs15においてデータ取り込み部46によって取り込まれたパターンデータの全ビットと、ステップs13においてメモリ2に書き込まれたパターンデータの全ビットとを直接比較し、両パターンデータが一致するか否かによって、データ取り込み部46によって取り込まれたパターンデータが適切であるか否かを判定しても良い。
In the above example, the first
以上のように、本実施の形態では、主制御部40、位相調整用制御部44、調整部43及び判定部47によって構成される第1位相調整部100は、データ取り込み部46によって取り込まれた調整用データwDQtが適切であるか否かを判定し、その判定結果に基づいてリード側データストローブ信号rDQSの位相を調整する。そのため、第1位相調整部100は、データ取り込み部46によって取り込まれる、メモリ2からのリードデータrDQが適切となるように、リード側データストローブ信号rDQSの位相を適切な値に設定することができる。
As described above, in the present embodiment, the first
また、本実施の形態では、第1位相調整部100は、データ取り込み部46によって取り込まれた調整用データwDQtに対してパリティチェックを行うことによって、当該調整用データwDQtが適切か否かを判定する。したがって、メモリ2に書き込んだ調整用データwDQtの全ビットと、データ取り込み部46によって取り込まれた調整用データwDQtの全ビットとを直接比較して、当該調整用データwDQtが適切か否かを判定する場合と比べて処理が簡素化される。
Further, in the present embodiment, the first
また、本実施の形態では、調整用データwDQtとして、複数種類のパターンデータが使用されている。そして、第1位相調整部100は、データ取り込み部46によって取り込まれた当該複数種類のパターンデータのそれぞれが適切か否かを判定し、その判定結果に基づいてリード側データストローブ信号rDQSに対して位相調整を行う。したがって、メモリ2から読み出されるリードデータrDQのパターンにかかわらず、データ取り込み部46によって取り込まれたリードデータrDQが適切となるように、リード側データストローブ信号rDQSの位相を適切な値に設定することができる。
In the present embodiment, a plurality of types of pattern data are used as the adjustment data wDQt. Then, the first
また、本実施の形態では、データ取り込み部46で取り込まれる調整用データwDQtが適切となるリード側データストローブ信号rDQSの位相範囲が特定され、当該位相範囲からリード側データストローブ信号rDQSの位相の適切な値が決定される。したがって、実運用中の半導体装置1が動作している間に、温度変化、電源電圧の変化等によって、リード側データストローブ信号rDQS及びリードデータrDQの位相の関係が多少変化する場合であっても、データ取り込み部46で取り込まれるリードデータrDQが適切とならないことを抑制することができる。
In the present embodiment, the phase range of the read-side data strobe signal rDQS in which the adjustment data wDQt captured by the
また、本実施の形態では、調整用データwDQtについての複数種類のパターンデータのそれぞれについて、データ取り込み部46で取り込まれた当該パターンデータが適切となるリード側データストローブ信号rDQSの位相範囲が特定され、特定された複数の位相範囲が重複する重複範囲からリード側データストローブ信号rDQSの位相の適切な値が決定される。したがって、実運用中の半導体装置1が動作している間に、リード側データストローブ信号rDQS及びリードデータrDQの位相の関係が多少変化する場合であっても、メモリ2から読み出されるリードデータrDQのパターンにかかわらず、データ取り込み部46で取り込まれるリードデータrDQが適切とならないことを抑制することができる。
In the present embodiment, the phase range of the read-side data strobe signal rDQS to which the pattern data captured by the
また、本実施の形態では、調整用データwDQtとして、第1及び第2単位データの間では1ビットだけ相違する1ビット変化パターンデータと、第1及び第2単位データの間では8ビットすべて相違する全ビット変化パターンデータとが使用されている。メモリ2から1ビット変化パターンデータが読み出される際には、同時スイッチングノイズの影響は少なく、メモリ2から全ビット変化パターンデータが読み出される際には、同時スイッチングノイズの影響は大きい。
Further, in this embodiment, as the adjustment data wDQt, 1-bit change pattern data that is different by 1 bit between the first and second unit data and all 8 bits are different between the first and second unit data. All bit change pattern data to be used is used. When 1-bit change pattern data is read from the
同時スイッチングノイズの影響が大きい状況だけが考慮されて、リード側データストローブ信号rDQSの位相が調整される場合には、同時スイッチングノイズの影響が小さい状況において、データ取り込み部46で取り込まれるリードデータrDQが適切とならない可能性がある。本実施の形態では、1ビット変化パターンデータと全ビット変化パターンデータの両方が使用されてリード側データストローブ信号rDQSの位相が調整されるため、同時スイッチングノイズの影響が小さい状況と、同時スイッチングノイズの影響が大きい状況との両方が考慮され、リード側データストローブ信号rDQSの位相が調整される。したがって、同時スイッチングノイズの影響の大きさにかかわらず、データ取り込み部46で取り込まれるリードデータrDQが適切とならないことを抑制することができる。
When the phase of the read-side data strobe signal rDQS is adjusted considering only the situation where the influence of the simultaneous switching noise is large, the read data rDQ captured by the
<ライト側データストローブ信号に対する位相調整の詳細>
ライト側データストローブ信号wDQSに対する位相調整は、リード側データストローブ信号rDQSに対する位相調整と同様に行われる。ステップs2において、メモリ制御装置4は、メモリ2に対して書き込んだ調整用データwDQtを当該メモリ2から読み出し、読み出した調整用データwDQtをリード側データストローブ信号rDQSに基づいて取り込む。そして、メモリ制御装置4は、取り込んだ調整用データwDQtが適切であるか否かを判定し、その判定結果に基づいて、ライト側データストローブ信号wDQSの位相を調整する。本実施の形態では、主制御部40、位相調整用制御部44、調整部42及び判定部47によって、取り込まれた調整用データwDQtが適切であるか否かを判定し、その判定結果に基づいてライト側データストローブ信号wDQSの位相を調整する第2位相調整部200(図3において一点鎖線で囲まれた部分)が構成される。
<Details of phase adjustment for write side data strobe signal>
The phase adjustment for the write side data strobe signal wDQS is performed in the same manner as the phase adjustment for the read side data strobe signal rDQS. In step s2, the
また本実施の形態では、ステップs2で使用される調整用データwDQtは、例えば、ステップs1で使用される調整用データwDQtと同じである。ステップs2での調整用データwDQtとして、上述の図5に示される複数種類のパターンデータが使用される。なお、ステップs2で使用される調整用データwDQtは、ステップs1で使用される調整用データwDQtと異なっても良い。 In the present embodiment, the adjustment data wDQt used in step s2 is the same as the adjustment data wDQt used in step s1, for example. As the adjustment data wDQt in step s2, a plurality of types of pattern data shown in FIG. 5 are used. Note that the adjustment data wDQt used in step s2 may be different from the adjustment data wDQt used in step s1.
また本実施の形態では、ライト側データストローブ信号wDQSの位相の設定値について、複数種類の設定値が用意されている。例えば、32種類の設定値が用意されている。調整部42は、32種類の設定値のうちのいずれか一つを、ライト側データストローブ信号wDQSの位相に設定する。以後、ライト側データストローブ信号wDQSの位相の設定値を「wDQS用設定値」と呼ぶことがある。
In the present embodiment, a plurality of types of setting values are prepared for the phase setting values of the write-side data strobe signal wDQS. For example, 32 types of setting values are prepared. The
wDQS用設定値は、ライト側データストローブ信号wDQSの位相の遅延量を示している。クロック信号CLKの周期が例えば2.5nsであるとすると、調整部42は、ライト側データストローブ信号wDQSの位相の遅延量を例えば0.1ns間隔で設定することが可能である。本実施の形態では、“0”〜“31”までの32種類のwDQS用設定値が規定されている。wDQS用設定値は、その値が大きいほど、ライト側データストローブ信号wDQSの位相の遅延量が大きいことを示している。ライト側データストローブ信号wDQSの位相の初期値としては、例えば、wDQS用設定値“16”が採用される。
The set value for wDQS indicates the phase delay amount of the write-side data strobe signal wDQS. If the period of the clock signal CLK is, for example, 2.5 ns, the
図9はステップs2での処理を詳細に示すフローチャートである。図9に示されるように、ステップs21において、主制御部40は、上述のステップs11と同様に、調整用データwDQtの9種類のパターンデータのいずれか一つを、処理対象のパターンデータとして決定し、決定したパターンデータを位相調整用制御部44に通知する。
FIG. 9 is a flowchart showing in detail the processing in step s2. As shown in FIG. 9, in step s21, the
次にステップs22において、第2位相調整部200は、ライト側データストローブ信号wDQSの位相を決定する。具体的には、主制御部40が、wDQS用設定値“0”〜“31”のうちの一つのwDQS用設定値を選択し、選択したwDQS用設定値を位相調整用制御部44を通じて調整部42に通知する。調整部42は、ライト側データストローブ信号wDQSが入力されると、その位相を、通知されたwDQS用設定値に設定する。つまり、調整部42は、ライト側データストローブ信号wDQSの位相の遅延量を、主制御部40から位相調整用制御部44を介して通知された値に設定する。
Next, in step s22, the second
次にステップs23において、メモリ制御装置4は、上述のステップs13と同様に、ステップs21で決定された処理対象のパターンデータをメモリ2に書き込む。このとき、調整部41では、入力される制御信号の位相が初期値に設定される。また制御部43では、リード側データストローブ信号rDQSの位相は、ステップs1で求められた適切な値に設定される。
Next, in step s23, the
次にステップs24において、メモリ制御装置4は、上述のステップs14と同様に、ステップs23でメモリ2に書き込まれたパターンデータをメモリ2から読み出す。
Next, in step s24, the
次にステップs25において、データ取り込み部46は、ステップs24で読み出されたパターンデータを、調整部43から出力されるリード側データストローブ信号rDQSの各エッジのタイミングで取り込む。そして、データ取り込み部46は、取り込んだパターンデータを判定部47に出力する。
Next, in step s25, the
次にステップs26において、判定部47は、上述のステップs16と同様にして、ステップs25で取り込まれたパターンデータが適切か否かを判定する。そして、判定部47は、取り込まれたパターンデータが適切であるか否かの判定結果を主制御部40に通知する。主制御部40は、ステップs27において、判定部47から通知された判定結果を記憶部401に記憶する。このとき、主制御部40は、判定結果と、ステップs21で決定された処理対象のパターンデータを特定する情報と、ステップs22で決定されたwDQS用設定値を特定する情報とを互いに対応付けて記憶部401に記憶する。
Next, in step s26, the
次にステップs28において、主制御部40は、ライト側データストローブ信号wDQSの位相を所定範囲変化させたか否かを判定する。具体的には、主制御部40は、32種類のwDQS用設定値のすべてを、ライト側データストローブ信号wDQSの位相に設定したか否かを判定する。ステップs28においてNoと判定されると、再度ステップs22が実行される。ここでのステップs22では、32種類のwDQS用設定値のうち、ライト側データストローブ信号wDQSの位相として未だ採用されていないwDQS用設定値が選択される。その後、ステップs23が実行されて、処理対象のパターンデータがメモリ2に書き込まれる。以後、ステップs24〜s27が同様に実行される。
Next, in step s28, the
一方で、ステップs28においてYesと判定されると、つまり、判定部47において、ライト側データストローブ信号wDQSの位相についての32種類のwDQS用設定値にそれぞれに対応する32個の判定結果が得られると、主制御部40は、ステップs29において、9種類のパターンデータのすべてを処理対象としたかを判定する。ステップs29においてNoと判定されると、ステップs21が再度実行される。ここでのステップs21では、9種類のパターンデータにおいて処理対象とされてないパターンデータが新たな処理対象とされる。その後、ステップs22以降が同様に実行される。
On the other hand, if it is determined Yes in step s28, that is, the
なお、ステップs21において処理対象のパターンデータが新たに決定された場合には、主制御部40は、ライト側データストローブ信号wDQSの位相に、32種類のwDQS用設定値のそれぞれをあらためて設定する。したがって、ステップs21において処理対象のパターンデータが新たに決定された後、ステップs28においてYesと判定されると、主制御部40には、32種類のwDQS用設定値にそれぞれ対応する、当該処理対象のパターンデータに応じた32個の判定結果が記憶される。
When the pattern data to be processed is newly determined in step s21, the
ステップs29においてYesと判定されると、つまり、9種類のパターンデータのそれぞれに関して、32種類のwDQS用設定値にそれぞれ対応する32個の判定結果が主制御部40に記憶されると、ステップs30において、主制御部40は、これらの判定結果に基づいて、ライト側データストローブ信号wDQSの位相の適切な値を決定する。
If it is determined Yes in step s29, that is, if 32 determination results respectively corresponding to 32 types of wDQS setting values are stored in the
図10は、ステップs29においてYesと判定された後に主制御部40に記憶されている判定結果の一例を示す図である。
FIG. 10 is a diagram illustrating an example of a determination result stored in the
ステップs30において、主制御部40は、9種類のパターンデータのそれぞれについて、当該パターンデータに応じた32個の判定結果に基づいて、データ取り込み部46で取り込まれる当該パターンデータが適切となる、ライト側データストローブ信号wDQSの位相範囲を特定する。
In step s30, the
図10の例では、データ取り込み部46で取り込まれる1ビット目変化パターンデータが適切となる、ライト側データストローブ信号wDQSの位相範囲はwDQS用設定値“22”〜“28”の範囲である。また、データ取り込み部46で取り込まれる2ビット目変化パターンデータが適切となる、ライト側データストローブ信号wDQSの位相範囲はwDQS用設定値“21”〜“27”の範囲である。また、データ取り込み部46で取り込まれる3ビット目変化パターンデータが適切となる、ライト側データストローブ信号wDQSの位相範囲はwDQS用設定値“21”〜“29”の範囲である。
In the example of FIG. 10, the phase range of the write-side data strobe signal wDQS in which the first bit change pattern data captured by the
主制御部40は、9種類のパターンデータのそれぞれについて、データ取り込み部46で取り込まれる当該パターンデータが適切となる、ライト側データストローブ信号wDQSの位相範囲を特定すると、特定した複数の位相範囲が重複する重複範囲210からライト側データストローブ信号wDQSの位相の適切な値を決定する。主制御部40は、例えば、当該重複範囲210の中央の値を、ライト側データストローブ信号wDQSの位相の適切な値とする。図10の例では、重複範囲210はwDQS用設定値“22”〜“26”の範囲である。そして、ライト側データストローブ信号wDQSの位相の適切な値はwDQS用設定値“24”となる。
When the
主制御部40は、ライト側データストローブ信号wDQSの位相の適切な値を決定すると、その適切な値を位相調整用制御部44を通じて調整部42に通知する。これにより、ステップs2での、ライト側データストローブ信号wDQSに対する位相調整が完了する。通常モードのメモリ制御装置4では、ライトサイクルにおいて、調整部42は、入力されるライト側データストローブ信号wDQSの位相を、ステップs2で決定された適切な値に設定する。図10の例では、調整部42は、ライト側データストローブ信号wDQSの位相をwDQS用設定値“24”に設定する。
When determining the appropriate value of the phase of the write side data strobe signal wDQS, the
なお、ライト側データストローブ信号wDQSの位相を調整する際の調整用データwDQtについても、パターンデータでなくても良い。また、リード側データストローブ信号rDQSの位相を調整する場合と同様に、メモリ制御装置4は、1種類のパターンデータのみを用いて、ライト側データストローブ信号wDQSに対する位相調整を行っても良い。また第2位相調整部200は、データ取り込み部46によって取り込まれたパターンデータに対してパリティチェックを行う以外の方法で、当該パターンデータが適切か否かを判定しても良い。
Note that the adjustment data wDQt for adjusting the phase of the write-side data strobe signal wDQS may not be pattern data. Similarly to the case of adjusting the phase of the read-side data strobe signal rDQS, the
以上のように、本実施の形態では、主制御部40、位相調整用制御部44、調整部42及び判定部47によって構成される第2位相調整部200は、データ取り込み部46によって取り込まれた調整用データwDQtが適切であるか否かを判定し、その判定結果に基づいてライト側データストローブ信号wDQSの位相を調整する。
As described above, in the present embodiment, the second
ここで、ステップs1の実行によって、リード側データストローブ信号rDQSの位相は適切な値に設定されることから、データ取り込み部46に入力されるリード側データストローブ信号rDQS及びリードデータrDQの位相の関係は適切であり、データ取り込み部46がリードデータrDQを適切に取り込むことができる。このような場合には、メモリ2が、メモリ制御装置4からの調整用データwDQtを、メモリ制御装置4からのライト側データストローブ信号wDQSに基づいて適切に取り込むことができれば、メモリ制御装置4のデータ取り込み部46が取り込む、メモリ2からの調整用データwDQtは適切なデータとなる。したがって、データ取り込み部46が取り込む調整用データwDQtが適切であれば、メモリ2が、メモリ制御装置4からの調整用データwDQtを、メモリ制御装置4からのライト側データストローブ信号wDQSに基づいて適切に取り込むことができたと考えることができる。一方で、データ取り込み部46が取り込む調整用データwDQtが適切でなければ、メモリ2が、メモリ制御装置4からの調整用データwDQtを、メモリ制御装置4からのライト側データストローブ信号wDQSに基づいて適切に取り込むことができなかったと考えることができる。よって、ステップs2において、第2位相調整部200が、データ取り込み部46によって取り込まれた調整用データwDQtが適切であるか否かの判定結果に基づいてライト側データストローブ信号wDQSの位相を調整することにより、第2位相調整部200は、メモリ2においてライトデータwDQがライト側データストローブ信号wDQSに基づいて適切に取り込まれるように、ライト側データストローブ信号wDQSの位相を適切な値に設定することができる。
Here, since the phase of the read-side data strobe signal rDQS is set to an appropriate value by executing step s1, the relationship between the phases of the read-side data strobe signal rDQS and the read data rDQ input to the
また、ステップs2においては、ステップs1と同様に、第2位相調整部200は、データ取り込み部46によって取り込まれた調整用データwDQtに対してパリティチェックを行うことによって、当該調整用データwDQtが適切か否かを判定する。そのため、データ取り込み部46によって取り込まれた調整用データwDQtが適切であるか否かを簡単に判定するができる。
In step s2, as in step s1, the second
また、ステップs2においては、ステップs1と同様に、調整用データwDQtとして複数種類のパターンデータが使用されているため、メモリ2に書き込むライトデータwDQのパターンにかかわらず、メモリ2においてライトデータwDQがライト側データストローブ信号wDQSに基づいて適切に取り込まれるように、ライト側データストローブ信号wDQSの位相を適切な値に設定することができる。
In step s2, similarly to step s1, since plural types of pattern data are used as the adjustment data wDQt, the write data wDQ is stored in the
また、ステップs2においては、データ取り込み部46で取り込まれる調整用データwDQtが適切となるライト側データストローブ信号wDQSの位相範囲が特定され、当該位相範囲からライト側データストローブ信号wDQSの位相の適切な値が決定される。したがって、実運用中の半導体装置1が動作している間に、温度変化、電源電圧の変化等によって、ライト側データストローブ信号wDQS及びライトデータwDQの位相の関係が多少変化したとしても、メモリ2においてライトデータwDQが適切に取り込まれないことを抑制することができる。
In step s2, the phase range of the write side data strobe signal wDQS in which the adjustment data wDQt captured by the
また、ステップs2においては、調整用データwDQtについての複数種類のパターンデータのそれぞれについて、データ取り込み部46で取り込まれた当該パターンデータが適切となるライト側データストローブ信号wDQSの位相範囲が特定され、特定された複数の位相範囲が重複する重複範囲からライト側データストローブ信号wDQSの位相の適切な値が決定されている。したがって、実運用中の半導体装置1が動作している間に、ライト側データストローブ信号wDQS及びライトデータwDQの位相の関係が多少変化する場合であっても、メモリ2に書き込むライトデータwDQのパターンにかかわらず、メモリ2においてライトデータwDQが適切に取り込まれないことを抑制することができる。
In step s2, the phase range of the write-side data strobe signal wDQS for which the pattern data captured by the
また、ステップs2において、ステップs1と同様に、調整用データwDQtとして1ビット変化パターンデータと全ビット変化パターンデータとが使用される。そのため、同時スイッチングノイズの影響が小さい状況と、同時スイッチングノイズの影響が大きい状況との両方が考慮されて、ライト側データストローブ信号wDQSの位相が調整される。したがって、同時スイッチングノイズの影響の大きさにかかわらず、メモリ2においてライトデータwDQが適切に取り込まれないことを抑制することができる。
In step s2, similarly to step s1, 1-bit change pattern data and all-bit change pattern data are used as the adjustment data wDQt. Therefore, the phase of the write-side data strobe signal wDQS is adjusted in consideration of both the situation where the influence of the simultaneous switching noise is small and the situation where the influence of the simultaneous switching noise is large. Therefore, it is possible to prevent the write data wDQ from being properly captured in the
<先行制御信号に対する位相調整の詳細>
先行制御信号CNTに対する位相調整は、ライト側データストローブ信号wDQSに対する位相調整と同様に行われる。ステップs3において、メモリ制御装置4は、メモリ2に対して書き込んだ調整用データwDQtを当該メモリ2から読み出し、読み出した調整用データwDQtをリード側データストローブ信号rDQSに基づいて取り込む。そして、メモリ制御装置4は、取り込んだ調整用データwDQtが適切でるか否かを判定し、その判定結果に基づいて、各先行制御信号CNTの位相を調整する。本実施の形態では、主制御部40、位相調整用制御部44、調整部41及び判定部47によって、取り込まれた調整用データwDQtが適切であるか否かを判定し、その判定結果に基づいて先行制御信号CNTの位相を調整する第3位相調整部300(図3において二点鎖線で囲まれた部分)が構成される。
<Details of phase adjustment for preceding control signal>
The phase adjustment for the preceding control signal CNT is performed in the same manner as the phase adjustment for the write-side data strobe signal wDQS. In step s3, the
また本実施の形態では、ステップs3で使用される調整用データwDQtは、例えば、ステップs1,s2で使用される調整用データwDQtと同じである。ステップs3での調整用データwDQtとして、上述の図5に示される複数種類のパターンデータが使用される。なお、ステップs3で使用される調整用データwDQtは、ステップs1で使用される調整用データwDQtと異なっても良い。また、ステップs3で使用される調整用データwDQtは、ステップs2で使用される調整用データwDQtと異なっても良い。 In the present embodiment, the adjustment data wDQt used in step s3 is the same as the adjustment data wDQt used in steps s1 and s2, for example. As the adjustment data wDQt in step s3, a plurality of types of pattern data shown in FIG. 5 are used. The adjustment data wDQt used in step s3 may be different from the adjustment data wDQt used in step s1. Further, the adjustment data wDQt used in step s3 may be different from the adjustment data wDQt used in step s2.
また本実施の形態では、先行制御信号CNTの位相の設定値について、複数種類の設定値が用意されている。例えば、32種類の設定値が用意されている。調整部41は、32種類の設定値のうちのいずれか一つを、各先行制御信号CNTの位相に設定する。以後、先行制御信号CNTの位相の設定値を「CNT用設定値」と呼ぶことがある。
In the present embodiment, a plurality of types of setting values are prepared for the phase setting value of the preceding control signal CNT. For example, 32 types of setting values are prepared. The
CNT用設定値は、先行制御信号CNTの位相の遅延量を示している。調整部41は、調整部42と同様に、先行制御信号CNTの位相の遅延量を例えば0.1ns間隔で設定することが可能である。本実施の形態では、“0”〜“31”までの32種類のCNT用設定値が規定されている。CNT用設定値は、その値が大きいほど、先行制御信号CNTの位相の遅延量が大きいことを示している。各先行制御信号CNTの位相の初期値としては、例えば、CNT用設定値“16”が採用される。
The set value for CNT indicates the phase delay amount of the preceding control signal CNT. Similar to the
図11はステップs3での処理を詳細に示すフローチャートである。図11に示されるように、ステップs31において、主制御部40は、上述のステップs11,s21と同様に、調整用データwDQtの9種類のパターンデータのいずれか一つを、処理対象のパターンデータとして決定し、決定したパターンデータを位相調整用制御部44に通知する。
FIG. 11 is a flowchart showing in detail the processing in step s3. As shown in FIG. 11, in step s31, the
次にステップs32において、第3位相調整部300は、各先行制御信号CNTの位相を決定する。具体的には、主制御部40が、CNT用設定値“0”〜“31”のうちの一つのCNT用設定値を選択し、選択したCNT用設定値を位相調整用制御部44を通じて調整部41に通知する。調整部41は、先行制御信号CNTが入力されると、その位相を、通知されたCNT用設定値に設定する。
Next, in step s32, the third
次にステップs33において、メモリ制御装置4は、上述のステップs13,s23と同様に、ステップs31で決定された処理対象のパターンデータをメモリ2に書き込む。このとき、調整部42では、ライト側データストローブ信号wDQSの位相は、ステップs2で求められた適切な値に設定される。また制御部43では、リード側データストローブ信号rDQSの位相は、ステップs1で求められた適切な値に設定される。
Next, in step s33, the
次にステップs34において、メモリ制御装置4は、上述のステップs14,s24と同様に、ステップs33でメモリ2に書き込まれたパターンデータをメモリ2から読み出す。
Next, in step s34, the
次にステップs35において、データ取り込み部46は、ステップs34で読み出されたパターンデータを、調整部43から出力されるリード側データストローブ信号rDQSの各エッジのタイミングで取り込む。そして、データ取り込み部46は、取り込んだパターンデータを判定部47に出力する。
Next, in step s35, the
次にステップs36において、判定部47は、上述のステップs16,s26と同様にして、ステップs35で取り込まれたパターンデータが適切か否かを判定する。そして、判定部47は、取り込まれたパターンデータが適切であるか否かの判定結果を主制御部40に通知する。主制御部40は、ステップs37において、判定部47から通知された判定結果を記憶部401に記憶する。このとき、主制御部40は、判定結果と、ステップs31で決定された処理対象のパターンデータを特定する情報と、ステップs32で決定されたCNT用設定値を特定する情報とを互いに対応付けて記憶部401に記憶する。
Next, in step s36, the
次にステップs38において、主制御部40は、先行制御信号CNTの位相を所定範囲変化させたか否かを判定する。具体的には、主制御部40は、32種類のCNT用設定値のすべてを、先行制御信号CNTの位相に設定したか否かを判定する。ステップs38においてNoと判定されると、再度ステップs32が実行される。ここでのステップs32では、32種類のCNT用設定値のうち、先行制御信号CNTの位相として未だ採用されていないCNT用設定値が選択される。その後、ステップs33が実行されて、処理対象のパターンデータがメモリ2に書き込まれる。以後、ステップs34〜s37が同様に実行される。
Next, in step s38, the
一方で、ステップs38においてYesと判定されると、つまり、判定部47において、先行制御信号CNTの位相についての32種類のCNT用設定値にそれぞれ対応する32個の判定結果が得られると、主制御部40は、ステップs39において、9種類のパターンデータのすべてを処理対象としたかを判定する。ステップs39においてNoと判定されると、ステップs31が再度実行される。ここでのステップs31では、9種類のパターンデータにおいて処理対象とされてないパターンデータが新たな処理対象とされる。その後、ステップs32以降が同様に実行される。
On the other hand, when it is determined Yes in step s38, that is, when the
なお、ステップs31において処理対象のパターンデータが新たに決定された場合には、主制御部40は、先行制御信号CNTの位相に、32種類のCNT用設定値のそれぞれをあらためて設定する。したがって、ステップs31において処理対象のパターンデータが新たに決定された後、ステップs38においてYesと判定されると、主制御部40には、32種類のCNT用設定値にそれぞれ対応する、当該処理対象のパターンデータに応じた32個の判定結果が記憶されている。
When the pattern data to be processed is newly determined in step s31, the
ステップs39においてYesと判定されると、つまり、9種類のパターンデータのそれぞれに関して、32種類のCNT用設定値にそれぞれ対応する32個の判定結果が主制御部40に記憶されると、ステップs40において、主制御部40は、これらの判定結果に基づいて、各先行制御信号CNTの位相の適切な値を決定する。
If it is determined Yes in step s39, that is, if 32 determination results respectively corresponding to 32 types of CNT setting values are stored in the
図12は、ステップs39においてYesと判定された後に主制御部40に記憶されている判定結果の一例を示す図である。
FIG. 12 is a diagram illustrating an example of a determination result stored in the
ステップs40において、主制御部40は、9種類のパターンデータのそれぞれについて、当該パターンデータに応じた32個の判定結果に基づいて、データ取り込み部46で取り込まれる当該パターンデータが適切となる、先行制御信号CNTの位相範囲を特定する。
In step s40, the
図12の例では、データ取り込み部46で取り込まれる1ビット目変化パターンデータが適切となる、先行制御信号CNTの位相範囲は、CNT用設定値“12”〜“19”の範囲である。また、データ取り込み部46で取り込まれる2ビット目変化パターンデータが適切となる、先行制御信号CNTの位相範囲は、CNT用設定値“12”〜“17”の範囲である。また、データ取り込み部46で取り込まれる3ビット目変化パターンデータが適切となる、先行制御信号CNTの位相範囲は、CNT用設定値“12”〜“19”の範囲である。
In the example of FIG. 12, the phase range of the preceding control signal CNT in which the first bit change pattern data captured by the
主制御部40は、9種類のパターンデータのそれぞれについて、データ取り込み部46で取り込まれる当該パターンデータが適切となる、先行制御信号CNTの位相範囲を特定すると、特定した複数の位相範囲が重複する重複範囲310からライト側データストローブ信号wDQSの位相の適切な値を決定する。主制御部40は、例えば、当該重複範囲310の中央の値を、先行制御信号CNTの位相の適切な値とする。図12の例では、重複範囲310はCNT用設定値“12”〜“17”の範囲である。そして、重複範囲310の中央の値は、CNT用設定値“14”及び“15”である。このように、重複範囲310の中央の値が2つ存在する場合には、当該2つのうちのどちらを、先行制御信号CNTの位相の適切な値としても良い。ここでは、CNT用設定値“14”が、先行制御信号CNTの位相の適切な値とされる。
When the
主制御部40は、先行制御信号CNTの位相の適切な値を決定すると、その適切な値を位相調整用制御部44を通じて調整部41に通知する。これにより、ステップs3での、各先行制御信号CNTに対する位相調整が完了する。通常モードのメモリ制御装置4では、リードサイクルあるいはライトサイクルにおいて、調整部41は、入力される先行制御信号CNTの位相を、ステップs3で決定された適切な値に設定する。図12の例では、調整部41は、各先行制御信号CNTの位相をCNT用設定値“14”に設定する。
When the
なお、先行制御信号CNTの位相を調整する際の調整用データwDQtについても、パターンデータでなくても良い。また、リード側データストローブ信号rDQSの位相を調整する場合と同様に、メモリ制御装置4は、1種類のパターンデータのみを用いて、先行制御信号CNTに対する位相調整を行っても良い。また第3位相調整部300は、データ取り込み部46によって取り込まれたパターンデータに対してパリティチェックを行う以外の方法で、当該パターンデータが適切か否かを判定しても良い。
Note that the adjustment data wDQt for adjusting the phase of the preceding control signal CNT may not be pattern data. Similarly to the case of adjusting the phase of the read-side data strobe signal rDQS, the
以上のように、本実施の形態では、主制御部40、位相調整用制御部44、調整部41及び判定部47によって構成される第3位相調整部300は、データ取り込み部46によって取り込まれた調整用データwDQtが適切であるか否かを判定し、その判定結果に基づいて先行制御信号CNTの位相を調整する。
As described above, in the present embodiment, the third
ここで、ステップs1,s2の実行によって、リード側データストローブ信号rDQS及びライト側データストローブ信号wDQSの位相は適切な値に設定されることから、データ取り込み部46に入力されるリード側データストローブ信号rDQS及びリードデータrDQの位相の関係は適切であり、メモリ2でのライト側データストローブ信号wDQS及びライトデータwDQの位相の関係は適切である。このような場合には、先行制御信号CNTの位相が適切であれば、データ取り込み部46が取り込む調整用データwDQtは適切なデータとなる。したがって、データ取り込み部46が取り込む調整用データwDQtが適切であれば、各制御信号CNTの位相は適切であると考えることができる。一方で、データ取り込み部46が取り込む調整用データwDQtが適切でなければ、制御信号CNTの位相は適切でないと考えることができる。よって、ステップs3において、第3位相調整部300が、データ取り込み部46によって取り込まれた調整用データwDQtが適切であるか否かの判定結果に基づいて先行制御信号CNTの位相を調整することにより、第3位相調整部300は、先行制御信号CNTの位相を適切な値に設定することができる。その結果、メモリ2からのデータの読み出しミスが発生したり、メモリ2に対するデータの書き込みミスが発生したりすることが抑制される。
Here, by executing steps s1 and s2, the phases of the read side data strobe signal rDQS and the write side data strobe signal wDQS are set to appropriate values. The phase relationship between rDQS and read data rDQ is appropriate, and the phase relationship between write-side data strobe signal wDQS and write data wDQ in
また、ステップs3においては、ステップs1,s2と同様に、第3位相調整部300は、データ取り込み部46によって取り込まれた調整用データwDQtに対してパリティチェックを行うことによって、当該調整用データwDQtが適切か否かを判定する。そのため、データ取り込み部46によって取り込まれた調整用データwDQtが適切であるか否かを簡単に判定するができる。
In step s3, similarly to steps s1 and s2, the third
また、ステップs3においては、ステップs1,s2と同様に、調整用データwDQtとして、複数種類のパターンデータが使用されているため、メモリ2に書き込むライトデータwDQのパターン及びメモリ2から読み出すリードデータrDQのパターンにかかわらず、先行制御信号CNTの位相を適切な値に設定することができる。
In step s3, similar to steps s1 and s2, since plural types of pattern data are used as the adjustment data wDQt, the pattern of the write data wDQ to be written to the
また、ステップs3においては、データ取り込み部46で取り込まれる調整用データwDQtが適切となる先行制御信号CNTの位相範囲が特定され、当該位相範囲から先行制御信号CNTの位相の適切な値が決定される。したがって、実運用中の半導体装置1が動作している間に、温度変化、電源電圧の変化等によって、先行制御信号CNTの位相が多少変化したとしても、メモリ2からのデータの読み出しミスが発生したり、メモリ2に対するデータの書き込みミスが発生したりすることが抑制される。
In step s3, the phase range of the preceding control signal CNT in which the adjustment data wDQt captured by the
また、ステップs3においては、調整用データwDQtについての複数種類のパターンデータのそれぞれについて、データ取り込み部46で取り込まれた当該パターンデータが適切となる先行制御信号CNTの位相範囲が特定され、特定された複数の位相範囲が重複する重複範囲から先行制御信号CNTの位相の適切な値が決定されている。したがって、実運用中の半導体装置1が動作している間に、先行制御信号CNTの位相が多少変化する場合であっても、メモリ2に書き込むライトデータwDQのパターン及びメモリ2から読み出すリードデータrDQのパターンにかかわらず、メモリ2からのデータの読み出しミスが発生したり、メモリ2に対するデータの書き込みミスが発生したりすることが抑制される。
In step s3, for each of a plurality of types of pattern data for the adjustment data wDQt, the phase range of the preceding control signal CNT in which the pattern data captured by the
また、ステップs3において、ステップs1,s2と同様に、調整用データwDQtとして1ビット変化パターンデータと全ビット変化パターンデータとが使用される。そのため、同時スイッチングノイズの影響が小さい状況と、同時スイッチングノイズの影響が大きい状況との両方が考慮されて、先行制御信号CNTの位相が調整される。したがって、同時スイッチングノイズの影響の大きさにかかわらず、メモリ2からのデータの読み出しミスが発生したり、メモリ2に対するデータの書き込みミスが発生したりすることが抑制される。
In step s3, similarly to steps s1 and s2, 1-bit change pattern data and all-bit change pattern data are used as the adjustment data wDQt. Therefore, the phase of the preceding control signal CNT is adjusted in consideration of both the situation where the influence of the simultaneous switching noise is small and the situation where the influence of the simultaneous switching noise is large. Therefore, regardless of the influence of the simultaneous switching noise, occurrence of a data read error from the
なお、リード側データストローブ信号rDQS等の制御信号に対する位相調整に使用される調整用データwDQtには、図5に示されるパターンデータ以外のパターンデータが含められても良い。例えば、図13に示されるような、第1及び第2単位データの間で2ビットだけが相違する2ビット変化パターンデータが調整用データwDQtに含められても良い。また図14に示されるような、第1及び第2単位データの間で4ビットだけが相違する4ビット変化パターンデータが調整用データwDQtに含められても良い。2ビット変化パターンデータ及び4ビット変化パターンデータの少なくとも一方が使用されて制御信号の位相が調整されることによって、同時スイッチングノイズの影響が小さい状況(1ビット変化パターンデータ)と、同時スイッチングノイズの影響がやや大きい状況(2ビット変化パターンデータ、4ビット変化パターンデータ)と、同時スイッチングノイズの影響がかなり大きい状況(全ビット変化パターンデータ)とが考慮されて、制御信号の位相が調整される。 Note that the adjustment data wDQt used for phase adjustment with respect to control signals such as the read-side data strobe signal rDQS may include pattern data other than the pattern data shown in FIG. For example, as shown in FIG. 13, 2-bit change pattern data in which only 2 bits differ between the first and second unit data may be included in the adjustment data wDQt. Further, as shown in FIG. 14, 4-bit change pattern data in which only 4 bits differ between the first and second unit data may be included in the adjustment data wDQt. When at least one of 2-bit change pattern data and 4-bit change pattern data is used to adjust the phase of the control signal, the influence of simultaneous switching noise is small (1-bit change pattern data), and The phase of the control signal is adjusted in consideration of a situation where the influence is slightly large (2-bit change pattern data, 4-bit change pattern data) and a situation where the influence of simultaneous switching noise is quite large (all bit change pattern data). .
また上記の例では、図4に示される位相調整処理は、実運用中の半導体装置1において実行されていた。しかしながら、メモリ制御装置4とメモリ2とが接続された状態で半導体装置1の出荷が行われる場合には、つまり、半導体装置1全体が一つの製品として出荷される場合には、半導体装置1の出荷検査(製造工場での検査)において、図4に示される位相調整処理が実行されても良い。また、半導体集積回路3とメモリ2とが別々の製品として出荷され、ユーザが半導体集積回路3とメモリ2とを接続して半導体装置1を製作する場合には、半導体集積回路3とメモリ2との接続確認テストの際に、図4に示される位相調整処理が行われても良い。
In the above example, the phase adjustment processing shown in FIG. 4 is executed in the
また上記の例では、ステップs1が実行される際に、ライト側データストローブ信号wDQSとライトデータwDQの位相の関係が大きくずれており、メモリ制御装置4がメモリ2に対してデータを適切に書き込むことができない場合には、ステップs1においてデータ取り込み部46が取り込んだパターンデータは常に不適切となる。したがって、ステップs20において、メモリ制御装置4は、リード側データストローブ信号rDQSの位相の適切な値を求めることができない。図15に示されるように、メモリ制御装置4は、ステップs1(ステップs20)においてリード側データストローブ信号rDQSの位相の適切な値を求めることができない場合には(ステップs50)、リード側データストローブ信号rDQSの位相を初期値に設定した上でステップs2及びステップs3を順次実行し、その後、ステップs1を再度実行しても良い。このとき、図16に示されるように、ステップs2においてライト側データストローブ信号wDQSの位相について適切な値が求められない場合には(ステップs60のNo)、メモリ制御装置4は、ステップs3を実行せずに、リード側データストローブ信号rDQSの位相を変化させた上で(ステップs61)再度ステップs2を実行しても良い。そして、このステップs2においても、ライト側データストローブ信号wDQSの位相について適切な値が求められない場合(ステップs60のNo)には、メモリ制御装置4は、リード側データストローブ信号rDQSの位相をさらに変化させて(ステップs61)、ステップs2を実行する。メモリ制御装置4は、ステップs2においてライト側データストローブ信号wDQSの位相について適切な値が求められるまでこれを繰り返す。メモリ制御装置4は、ステップs2おいてライト側データストローブ信号wDQSの位相について適切な値が求められると(ステップs60のYes)、ステップs3を実行し、その後ステップs1を実行する。
In the above example, when step s1 is executed, the phase relationship between the write-side data strobe signal wDQS and the write data wDQ is greatly shifted, and the
以上のように、半導体装置1は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
As described above, the
1 半導体装置
2 メモリ
4 メモリ制御装置
46 データ取り込み部
100 第1位相調整部
200 第2位相調整部
300 第3位相調整部
402 位置調整用プログラム
DESCRIPTION OF
Claims (8)
前記メモリ制御装置が前記メモリからデータを読み出す際に当該メモリがデータとともに出力する第1制御信号に対して位相調整を行う第1位相調整部と、
前記第1制御信号に基づいて、前記メモリから読み出されたデータを取り込むデータ取り込み部と
を備え、
前記メモリ制御装置は、前記第1制御信号に対する位相調整用の第1調整用データを前記メモリに書き込み、
前記データ取り込み部は、前記メモリ制御装置が前記メモリから読み出した前記第1調整用データを前記第1制御信号に基づいて取り込み、
前記第1位相調整部は、前記データ取り込み部によって取り込まれた前記第1調整用データが適切か否かを判定し、その判定結果に基づいて前記第1制御信号に対する位相調整を行い、
前記メモリ制御装置は、前記第1調整用データに含まれる複数種類の第1データのそれぞれについて、当該第1データを前記メモリに書き込んだ後、当該第1データを前記メモリから読み出す処理を複数回実行し、
前記第1位相調整部は、前記複数種類の第1データのそれぞれについて、当該第1データを用いた前記処理が前記メモリ制御装置で実行されるたびに、前記第1制御信号の位相を変化させ、
前記第1位相調整部は、前記複数種類の第1データのそれぞれについて、前記メモリ制御装置が前記処理を実行するたびに前記データ取り込み部によって取り込まれた当該第1データがそれぞれ適切であるか否かを判定し、その判定結果に基づいて、前記複数種類の第1データのそれぞれについて、前記データ取り込み部によって取り込まれた当該第1データが適切となる前記第1制御信号の位相範囲を特定し、特定した複数の位相範囲が重複する範囲の中央値を前記第1制御信号の位相の適切な値とする、メモリ制御装置。 A memory control device for controlling a memory,
A first phase adjustment unit that performs phase adjustment on a first control signal that the memory outputs together with data when the memory control device reads data from the memory;
A data capturing unit that captures data read from the memory based on the first control signal;
The memory control device writes phase adjustment first adjustment data for the first control signal to the memory,
The data capturing unit captures the first adjustment data read from the memory by the memory control device based on the first control signal,
The first phase adjustment unit, the data acquisition part of the first adjustment data captured by it is determined whether it is appropriate, have rows phase adjustment to the first control signal based on the determination result,
The memory control device performs a process of reading the first data from the memory a plurality of times after writing the first data to the memory for each of the plurality of types of first data included in the first adjustment data. Run,
The first phase adjustment unit changes the phase of the first control signal for each of the plurality of types of first data each time the processing using the first data is executed by the memory control device. ,
The first phase adjustment unit determines whether or not each of the plurality of types of first data is appropriate for each of the first data fetched by the data fetching unit each time the memory control device executes the process. And determining a phase range of the first control signal in which the first data captured by the data capturing unit is appropriate for each of the plurality of types of first data based on the determination result. A memory control device, wherein a median value of a range where a plurality of specified phase ranges overlap is set to an appropriate value of the phase of the first control signal .
前記第1位相調整部は、前記データ取り込み部によって取り込まれた前記第1データに対してパリティチェックを行うことによって、当該第1データが適切か否かを判定する、メモリ制御装置。 The memory control device according to claim 1,
The first phase adjustment portion, said by performing a parity check with respect to the first data captured by the data capturing unit, determines whether the first data is correct, the memory controller .
前記メモリ制御装置と前記メモリとの間のデータバスのビット数は、N(≧2)ビットであり、
前記複数種類の第1データのそれぞれは、パターンデータであって、
前記複数種類の第1データは、
Nビットから成る第1単位データと、Nビットから成る第2単位データとが交互に現れる第1パターンデータと、
Nビットから成る第3単位データと、Nビットから成る第4単位データとが交互に現れる第2パターンデータと
を含み、
前記第1及び第2単位データの間では1ビットだけ相違し、
前記第3及び第4単位データの間ではNビットすべて相違する、メモリ制御装置。 A memory control device according to any one of claims 1 and 2 ,
The number of bits of the data bus between the memory controller and the memory is N (≧ 2) bits,
Each of the plurality of types of first data is pattern data,
The plurality of types of first data are:
First pattern data in which first unit data composed of N bits and second unit data composed of N bits appear alternately;
Including third unit data composed of N bits and second pattern data in which fourth unit data composed of N bits appear alternately,
There is a difference of 1 bit between the first and second unit data,
A memory control device, wherein all N bits are different between the third and fourth unit data.
前記メモリ制御装置が、前記メモリにデータを書き込む際に出力する、当該メモリが当該データを取り込む際の基準となる第2制御信号に対して位相調整を行う第2位相調整部を備え、
前記メモリ制御装置は、前記第2制御信号に対する位相調整用の第2調整用データを前記メモリに書き込み、
前記データ取り込み部は、前記メモリ制御装置が前記メモリから読み出した前記第2調整用データを前記第1制御信号に基づいて取り込み、
前記第2位相調整部は、前記データ取り込み部によって取り込まれた前記第2調整用データが適切か否かを判定し、その判定結果に基づいて前記第2制御信号に対する位相調整を行う、メモリ制御装置。 A memory control device according to any one of claims 1 to 3 ,
The memory control device includes a second phase adjustment unit that adjusts a phase with respect to a second control signal that is output when the data is written to the memory and that is a reference when the memory captures the data
The memory control device writes phase adjustment second adjustment data for the second control signal to the memory;
The data capturing unit captures the second adjustment data read from the memory by the memory control device based on the first control signal,
The second phase adjustment unit determines whether or not the second adjustment data acquired by the data acquisition unit is appropriate, and performs phase adjustment on the second control signal based on the determination result apparatus.
前記メモリ制御装置が、前記メモリにデータを書き込む際あるいは当該メモリからデータを読み出す際に、当該データに先立って出力する第3制御信号に対して位相調整を行う第3位相調整部を備え、
前記メモリ制御装置は、前記第3制御信号に対する位相調整用の第3調整用データを前記メモリに書き込み、
前記データ取り込み部は、前記メモリ制御装置が前記メモリから読み出した前記第3調整用データを前記第1制御信号に基づいて取り込み、
前記第3位相調整部は、前記データ取り込み部によって取り込まれた前記第3調整用データが適切か否かを判定し、その判定結果に基づいて前記第3制御信号に対する位相調整を行う、メモリ制御装置。 A memory control device according to any one of claims 1 to 4 ,
When the memory control device writes data to the memory or reads data from the memory, the memory control device includes a third phase adjustment unit that performs phase adjustment on a third control signal that is output prior to the data,
The memory control device writes third adjustment data for phase adjustment to the third control signal in the memory;
The data capturing unit captures the third adjustment data read from the memory by the memory control device based on the first control signal,
The third phase adjustment unit determines whether or not the third adjustment data captured by the data capture unit is appropriate, and performs phase adjustment on the third control signal based on the determination result. apparatus.
前記メモリ制御装置が制御するメモリと
を備える、半導体装置。 A memory control device according to any one of claims 1 to 5 ;
And a memory controlled by the memory control device.
前記メモリ制御装置に、
(a)前記メモリ制御装置が前記メモリからデータを読み出す際に、当該メモリがデータとともに出力する制御信号に対する位相調整用の調整用データを前記メモリに書き込み、書き込んだ前記調整用データを前記メモリから読み出す工程と、
(b)前記メモリから読み出された前記調整用データを前記制御信号に基づいて取り込む工程と、
(c)前記制御信号に基づいて取り込まれた前記調整用データが適切か否かを判定し、その判定結果に基づいて前記制御信号に対する位相調整を行う工程と
を実行させ、
前記工程(a)は、前記調整用データに含まれる複数種類のデータのそれぞれについて、当該データを前記メモリに書き込んだ後、当該データを前記メモリから読み出す処理を複数回実行する工程を含み、
前記工程(b)は、前記複数種類のデータのそれぞれについて、当該データを用いた前記処理が実行されるたびに、前記制御信号の位相を変化させて前記データを前記制御信号に基づいて取り込む工程を含み、
前記工程(c)は、前記複数種類のデータのそれぞれについて、前記処理が実行されるたびに取り込まれた当該データがそれぞれ適切であるか否かを判定し、その判定結果に基づいて、前記複数種類のデータのそれぞれについて、取り込まれた当該データが適切となる前記制御信号の位相範囲を特定し、特定した複数の位相範囲が重複する範囲の中央値を前記制御信号の位相の適切な値とする工程を含む、制御プログラム。 A control program for controlling a memory control device for controlling a memory,
In the memory control device,
(A) when the memory controller reads data from the memory, the adjustment data for phase adjustment to the control signal to which the memory is output together with data write in the memory, the said adjustment data written memory Reading from
(B) capturing the adjustment data read from the memory based on the control signal;
(C) determining whether or not the adjustment data captured based on the control signal is appropriate, and performing a phase adjustment on the control signal based on the determination result ;
The step (a) includes, for each of a plurality of types of data included in the adjustment data, a step of executing a process of reading the data from the memory a plurality of times after writing the data to the memory,
The step (b) includes, for each of the plurality of types of data, changing the phase of the control signal and capturing the data based on the control signal each time the processing using the data is executed. Including
In the step (c), for each of the plurality of types of data, it is determined whether or not the captured data is appropriate each time the processing is executed, and the plurality of types of data are determined based on the determination result. For each type of data, the phase range of the control signal for which the captured data is appropriate is identified, and the median value of the range where the plurality of identified phase ranges overlap is the appropriate value for the phase of the control signal. A control program including a step of performing.
(a)前記メモリ制御装置が前記メモリからデータを読み出す際に、当該メモリがデータとともに出力する制御信号に対する位相調整用の調整用データを前記メモリに書き込み、書き込んだ前記調整用データを前記メモリから読み出す工程と、
(b)前記メモリから読み出された前記調整用データを前記制御信号に基づいて取り込む工程と、
(c)前記制御信号に基づいて取り込まれた前記調整用データが適切か否かを判定し、その判定結果に基づいて前記制御信号に対する位相調整を行う工程と
を備え、
前記工程(a)は、前記調整用データに含まれる複数種類のデータのそれぞれについて、当該データを前記メモリに書き込んだ後、当該データを前記メモリから読み出す処理を複数回実行する工程を含み、
前記工程(b)は、前記複数種類のデータのそれぞれについて、当該データを用いた前記処理が実行されるたびに、前記制御信号の位相を変化させて前記データを前記制御信号に基づいて取り込む工程を含み、
前記工程(c)は、前記複数種類のデータのそれぞれについて、前記処理が実行されるたびに取り込まれた当該データがそれぞれ適切であるか否かを判定し、その判定結果に基づいて、前記複数種類のデータのそれぞれについて、取り込まれた当該データが適切となる前記制御信号の位相範囲を特定し、特定した複数の位相範囲が重複する範囲の中央値を前記制御信号の位相の適切な値とする工程を含む、メモリ制御装置の動作方法。 An operation method of a memory control device for controlling a memory, comprising:
(A) when the memory controller reads data from the memory, the adjustment data for phase adjustment to the control signal to which the memory is output together with data write in the memory, the said adjustment data written memory Reading from
(B) capturing the adjustment data read from the memory based on the control signal;
(C) determining whether or not the adjustment data captured based on the control signal is appropriate, and performing phase adjustment on the control signal based on the determination result ,
The step (a) includes, for each of a plurality of types of data included in the adjustment data, a step of executing a process of reading the data from the memory a plurality of times after writing the data to the memory,
The step (b) includes, for each of the plurality of types of data, changing the phase of the control signal and capturing the data based on the control signal each time the processing using the data is executed. Including
In the step (c), for each of the plurality of types of data, it is determined whether or not the captured data is appropriate each time the processing is executed, and the plurality of types of data are determined based on the determination result. For each type of data, the phase range of the control signal for which the captured data is appropriate is identified, and the median value of the range where the plurality of identified phase ranges overlap is the appropriate value for the phase of the control signal. A method for operating a memory control device , comprising the step of :
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014203792A JP6407653B2 (en) | 2014-10-02 | 2014-10-02 | MEMORY CONTROL DEVICE, SEMICONDUCTOR DEVICE, CONTROL PROGRAM, AND MEMORY CONTROL DEVICE OPERATION METHOD |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014203792A JP6407653B2 (en) | 2014-10-02 | 2014-10-02 | MEMORY CONTROL DEVICE, SEMICONDUCTOR DEVICE, CONTROL PROGRAM, AND MEMORY CONTROL DEVICE OPERATION METHOD |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016071821A JP2016071821A (en) | 2016-05-09 |
JP6407653B2 true JP6407653B2 (en) | 2018-10-17 |
Family
ID=55867013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014203792A Active JP6407653B2 (en) | 2014-10-02 | 2014-10-02 | MEMORY CONTROL DEVICE, SEMICONDUCTOR DEVICE, CONTROL PROGRAM, AND MEMORY CONTROL DEVICE OPERATION METHOD |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6407653B2 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005056334A (en) * | 2003-08-07 | 2005-03-03 | Ricoh Co Ltd | Data taking-in circuit for taking in data from synchronous memory |
JP2005141725A (en) * | 2003-10-16 | 2005-06-02 | Pioneer Plasma Display Corp | Memory access circuit, operating method therefor, and display device using the memory access circuit |
JP5268392B2 (en) * | 2008-03-07 | 2013-08-21 | パナソニック株式会社 | Memory device, memory system, and access timing adjustment method in memory system |
JP2010182149A (en) * | 2009-02-06 | 2010-08-19 | Renesas Electronics Corp | Memory controller and memory control method |
JP2012252530A (en) * | 2011-06-03 | 2012-12-20 | Fujitsu Ltd | Memory controller and control method |
-
2014
- 2014-10-02 JP JP2014203792A patent/JP6407653B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016071821A (en) | 2016-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100205386A1 (en) | Memory controller and memory control method | |
US8624647B2 (en) | Duty cycle correction circuit for memory interfaces in integrated circuits | |
KR102121891B1 (en) | System and method for frequency mode detection and implementation | |
US20080276112A1 (en) | Semiconductor integrated circuit | |
US20110128794A1 (en) | Apparatus and method for controlling operation timing in semiconductor memory device | |
JP2009278478A (en) | Counter circuit, latency counter and semiconductor memory device with the same, and, data processing system | |
US7272054B2 (en) | Time domain bridging circuitry for use in determining output enable timing | |
JP2011170516A (en) | Memory controller, semiconductor memory device and memory system including them | |
US7493461B1 (en) | Dynamic phase alignment for resynchronization of captured data | |
US20040008069A1 (en) | Method and apparatus for skewing data with respect to command on a DDR interface | |
TWI514377B (en) | Random access memory and method of adjusting read timing thereof | |
JP2015103262A (en) | Semiconductor device | |
JP6407653B2 (en) | MEMORY CONTROL DEVICE, SEMICONDUCTOR DEVICE, CONTROL PROGRAM, AND MEMORY CONTROL DEVICE OPERATION METHOD | |
JP4757583B2 (en) | Output control signal generation circuit | |
JP4854258B2 (en) | Data output time adjustment method for synchronous memory device | |
TWI404339B (en) | Method for adjusting memory signal phase | |
JP4206508B2 (en) | Signal control circuit | |
US20230005515A1 (en) | Apparatus, memory device, and method reducing clock training time | |
US20180166112A1 (en) | Semiconductor device | |
US9263104B2 (en) | Semiconductor device | |
JP2012058997A (en) | Semiconductor integrated circuit | |
US9043511B2 (en) | Semiconductor memory device and operation method thereof | |
JP2009301612A (en) | Semiconductor memory device | |
US20070121775A1 (en) | Memory controller and method thereof | |
KR100579629B1 (en) | Apparatus for controlling a dqs in a ddr memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170901 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180629 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180710 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180820 |
|
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: 20180911 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180919 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6407653 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |