JP5752091B2 - Memory controller - Google Patents
Memory controller Download PDFInfo
- Publication number
- JP5752091B2 JP5752091B2 JP2012164208A JP2012164208A JP5752091B2 JP 5752091 B2 JP5752091 B2 JP 5752091B2 JP 2012164208 A JP2012164208 A JP 2012164208A JP 2012164208 A JP2012164208 A JP 2012164208A JP 5752091 B2 JP5752091 B2 JP 5752091B2
- Authority
- JP
- Japan
- Prior art keywords
- timing parameter
- command
- value
- timing
- device management
- 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.)
- Expired - Fee Related
Links
Images
Description
本発明は、メモリーコントローラーに関するものである。 The present invention relates to a memory controller.
半導体プロセスの微細化が進み、SoC(System On a Chip)の内部動作周波数は、日々高くなってきている。その一方で、メモリーデバイスの動作周波数も高くなってきているとともに、メモリーインターフェイス規格も改良されており、例えば、DDR3−SDRAM(Double Data Rate 3 - Synchronous Dynamic Random Access Memory)では、1GHz以上の動作周波数が達成されている。 With the progress of miniaturization of semiconductor processes, the internal operating frequency of SoC (System On a Chip) is increasing day by day. On the other hand, the operating frequency of memory devices is increasing and the memory interface standard is also improved. For example, in DDR3-SDRAM (Double Data Rate 3-Synchronous Dynamic Random Access Memory), the operating frequency is 1 GHz or more. Has been achieved.
メモリーデバイスとSoC内部のシステムバスとの間には、メモリーコントローラーが設けられており、SoC内部のシステムバスのプロトコルを解釈し、メモリーデバイスの仕様に準じたコマンドに変換し、そのコマンドをメモリーデバイスに対して出力し、データのリード・ライトを行う(例えば特許文献1参照)。このとき、メモリーコントローラーは、メモリーデバイスの状態に基づき、各種コマンドについて、コマンドの発行タイミングがメモリーデバイスについて規定されているタイミング規約に違反しないようにコマンドを発行する。 A memory controller is provided between the memory device and the system bus inside the SoC, interprets the protocol of the system bus inside the SoC, converts it to a command conforming to the specifications of the memory device, and converts the command to the memory device. And read / write data (see, for example, Patent Document 1). At this time, based on the state of the memory device, the memory controller issues commands for various commands so that the command issue timing does not violate the timing rules defined for the memory devices.
DDR3−SDRAMといった最新のメモリーデバイスでは、リードレべリング、ライトレべリングといった細かいタイミング調整が行われるため、メモリーデバイスのベンダーによって、メモリーデバイスを直接的に制御する物理層の標準ライブラリーが提供されることが多い。また、このようなメモリーコントローラーの物理層と、その上位に設けられる論理層との間のインターフェイスとしては、個々に開発されたものや、DFIといった規格のものが使用される。 In the latest memory devices such as DDR3-SDRAM, fine timing adjustments such as read leveling and write leveling are performed, so the memory device vendor provides a standard library for the physical layer that directly controls the memory device. There are many cases. In addition, as an interface between the physical layer of such a memory controller and a logical layer provided above the memory controller, an interface developed individually or a standard such as DFI is used.
メモリーコントローラーの物理層および論理層は、メモリーデバイスの動作周波数と同一の動作周波数で動作させることが好ましい。これは、同一の動作周波数であれば、異なる周波数のドメインの境界においてFIFO(First-In First-Out)などのバッファーが不要となり、レイテンシーの増加が抑えられるからである。 The physical layer and logical layer of the memory controller are preferably operated at the same operating frequency as the operating frequency of the memory device. This is because a buffer such as a FIFO (First-In First-Out) is not required at the boundary between domains of different frequencies if the operating frequency is the same, and an increase in latency can be suppressed.
しかしながら、近年のメモリーデバイスの動作周波数は高いため、メモリーコントローラーを、メモリーデバイスの動作周波数と同一の動作周波数で動作させることは困難である。そのような場合、メモリーデバイスの動作周波数をn分の1(n>1)である低速の動作周波数で、メモリーコントローラーは動作する。 However, since the operating frequency of recent memory devices is high, it is difficult to operate the memory controller at the same operating frequency as the operating frequency of the memory device. In such a case, the memory controller operates at a low operating frequency that is 1 / n (n> 1) of the operating frequency of the memory device.
メモリーコントローラーの少なくとも論理層が、メモリーデバイスの動作周波数をn分の1(n>1)で動作する場合、論理層からのコマンド発行の単位時間(最小間隔)がメモリーデバイスのnクロックとなるため、メモリーデバイスから見て、コマンドの発行周期が必要以上に長くなり、帯域やレイテンシーが悪化する可能性がある。 When at least the logical layer of the memory controller operates at a memory device operating frequency of 1 / n (n> 1), the unit time (minimum interval) for issuing commands from the logical layer is n clocks of the memory device. From the perspective of the memory device, the command issuance period may be longer than necessary, and the bandwidth and latency may deteriorate.
なお、メモリーデバイスに対するコマンド発行をn系統に並列させることでそのような帯域やレイテンシーの悪化を回避することも考えられるが、メモリーコントローラーの回路構成が複雑になり、メモリーコントローラーのコストが増加してしまう。 Although it may be possible to avoid such deterioration of bandwidth and latency by parallelizing command issuance to memory devices in n systems, the circuit configuration of the memory controller becomes complicated and the cost of the memory controller increases. End up.
本発明は、上記の問題に鑑みてなされたものであり、低コストで、動作周波数がメモリーデバイスの動作周波数をn分の1(n>1)であっても効率よくコマンドを発行しメモリーデバイスを高速に制御するメモリーコントローラーを得ることを目的とする。 The present invention has been made in view of the above problems, and is capable of efficiently issuing commands even when the operating frequency is 1 / n (n> 1) of the operating frequency of the memory device at a low cost. The purpose is to obtain a memory controller that can control the system at high speed.
上記の課題を解決するために、本発明では以下のようにした。 In order to solve the above problems, the present invention is configured as follows.
本発明に係るメモリーコントローラーは、メモリーデバイスの状態を管理するデバイス管理部と、メモリーデバイスに対してコマンドを発行させるコマンド発行部とを備える。デバイス管理部およびコマンド発行部は、動作周波数設定データの値であるnに基づくメモリーデバイスの動作周波数のn分の1(n>1)の周波数で動作する。そして、デバイス管理部は、コマンド発行部によるコマンドの発行タイミングを制限するタイミングパラメーターの値を、デバイス管理部およびコマンド発行部がメモリーデバイスの動作周波数で動作する際のタイミングパラメーターの設定値をそのnで除算した値にセットし、コマンド発行部は、デバイス管理部により値をセットされたタイミングパラメーターに違反しないようにコマンドを発行する。そして、デバイス管理部は、上述の除算において端数が発生する場合、タイミングパラメーターの種別に応じて、端数を切り上げるか、切り捨てる。 A memory controller according to the present invention includes a device management unit that manages the state of a memory device, and a command issuing unit that issues a command to the memory device. The device management unit and the command issuing unit operate at a frequency that is 1 / n (n> 1) of the operating frequency of the memory device based on n that is the value of the operating frequency setting data. Then, the device management unit sets the timing parameter value for limiting the command issuance timing by the command issuing unit, and the timing parameter setting value when the device management unit and the command issuing unit operate at the operating frequency of the memory device. The command issuance unit issues a command so as not to violate the timing parameter set by the device management unit. Then, when a fraction occurs in the above division, the device management unit rounds up or rounds down the fraction according to the type of the timing parameter.
これにより、タイミングパラメーターの値がn分の1となることで、コマンドがメモリーデバイスの動作周波数に合わせて発行されやすくなる。したがって、低コストで、動作周波数がメモリーデバイスの動作周波数をn分の1(n>1)であっても効率よくコマンドを発行しメモリーデバイスを高速に制御することができる。また、上述の除算において端数が発生した場合においても、デバイス管理部およびコマンド発行部がメモリーデバイスの動作周波数で動作する際のタイミング規約に違反することなく、コマンドが発行される。 As a result, the value of the timing parameter becomes 1 / n, so that the command is easily issued in accordance with the operating frequency of the memory device. Therefore, even if the operating frequency is 1 / n (n> 1) of the operating frequency of the memory device, the command can be issued efficiently and the memory device can be controlled at high speed at low cost. Further, even when a fraction occurs in the above division, the command is issued without violating the timing rule when the device management unit and the command issuing unit operate at the operating frequency of the memory device.
また、本発明に係るメモリーコントローラーは、上記のメモリーコントローラーに加え、次のようにしてもよい。この場合、上述の動作周波数設定データの値は切り替え可能である。 In addition to the above memory controller, the memory controller according to the present invention may be as follows. In this case, the value of the above operating frequency setting data can be switched.
これにより、メモリーデバイスの動作周波数などに応じて、メモリーコントローラーの動作周波数を適宜設定することができ、その設定された動作周波数に応じた値がタイミングパラメーターにセットされる。 Thus, the operating frequency of the memory controller can be set as appropriate according to the operating frequency of the memory device, and a value corresponding to the set operating frequency is set as the timing parameter.
また、本発明に係るメモリーコントローラーは、上記のメモリーコントローラーに加え、次のようにしてもよい。この場合、デバイス管理部は、タイミングパラメーターが上限値を指定するものである場合、上述の端数を切り捨てる。 In addition to the above memory controller, the memory controller according to the present invention may be as follows. In this case, the device management unit rounds down the above-mentioned fraction when the timing parameter specifies the upper limit value.
また、本発明に係るメモリーコントローラーは、上記のメモリーコントローラーに加え、次のようにしてもよい。この場合、デバイス管理部は、タイミングパラメーターが下限値を指定するものである場合、上述の端数を切り上げる。 In addition to the above memory controller, the memory controller according to the present invention may be as follows. In this case, the device management unit rounds up the above-mentioned fraction when the timing parameter specifies the lower limit value.
また、本発明に係るメモリーコントローラーは、上記のメモリーコントローラーに加え、次のようにしてもよい。この場合、デバイス管理部は、コマンドの発行タイミングに関するある期間の開始までの時間の上限値を示す第1タイミングパラメーターと、その期間の長さの下限値を示す第2タイミングパラメーターについて、第1タイミングパラメーターについて端数を切り捨てるとき、第2タイミングパラメーターについて、第2タイミングパラメーターの設定値に第1のタイミングパラメーターについての除算余りを加算した値を上述のnで除算する。コマンド発行部は、デバイス管理部により値をセットされた第1タイミングパラメーターおよび第2タイミングパラメーターに違反しないようにコマンドを発行する。 In addition to the above memory controller, the memory controller according to the present invention may be as follows. In this case, the device management unit sets the first timing for the first timing parameter indicating the upper limit value of the time until the start of a certain period regarding the command issuance timing and the second timing parameter indicating the lower limit value of the length of the period. When rounding down the parameters, for the second timing parameter, the value obtained by adding the remainder of the division for the first timing parameter to the set value of the second timing parameter is divided by n described above. The command issuing unit issues a command so as not to violate the first timing parameter and the second timing parameter set by the device management unit.
これにより、上述の期間の長さの下限値を示す第2タイミングパラメーターをそのままnで除算する場合に比べ、上述の期間の終わりが適切にセットされる。 Thereby, the end of the above period is appropriately set as compared with the case where the second timing parameter indicating the lower limit value of the length of the above period is divided by n as it is.
また、本発明に係るメモリーコントローラーは、上記のメモリーコントローラーに加え、次のようにしてもよい。この場合、デバイス管理部は、ある期間の開始までの時間の下限値を示す第1タイミングパラメーターと、その期間の長さの上限値を示す第2タイミングパラメーターについて、第1タイミングパラメーターについて端数を切り上げるとき、第2タイミングパラメーターについて、第2タイミングパラメーターの設定値から第1のタイミングパラメーターについての除算余りを減算した値を上述のnで除算する。コマンド発行部は、デバイス管理部により値をセットされた第1タイミングパラメーターおよび第2タイミングパラメーターに違反しないようにコマンドを発行する。 In addition to the above memory controller, the memory controller according to the present invention may be as follows. In this case, the device management unit rounds up the first timing parameter with respect to the first timing parameter indicating the lower limit value of the time until the start of a certain period and the second timing parameter indicating the upper limit value of the length of the period. For the second timing parameter, a value obtained by subtracting the remainder of division for the first timing parameter from the set value of the second timing parameter is divided by n described above. The command issuing unit issues a command so as not to violate the first timing parameter and the second timing parameter set by the device management unit.
これにより、上述の期間の長さの上限値を示す第2タイミングパラメーターをそのままnで除算する場合に比べ、上述の期間の終わりが適切にセットされる。 Thereby, the end of the above-mentioned period is appropriately set as compared with the case where the second timing parameter indicating the upper limit value of the length of the above-mentioned period is divided by n as it is.
また、本発明に係るメモリーコントローラーは、上記のメモリーコントローラーに加え、次のようにしてもよい。この場合、デバイス管理部は、複数のタイミングパラメーターを含む演算式の値でコマンドの発行タイミングが制限される場合、デバイス管理部およびコマンド発行部がメモリーデバイスの動作周波数で動作する際の複数のタイミングパラメーターの設定値を含む演算式の値を上述のnで除算する。コマンド発行部は、デバイス管理部による除算結果の値に違反しないようにコマンドを発行する。 In addition to the above memory controller, the memory controller according to the present invention may be as follows. In this case, the device management unit has a plurality of timings when the device management unit and the command issuing unit operate at the operating frequency of the memory device when the command issuance timing is limited by the value of the arithmetic expression including a plurality of timing parameters. The value of the arithmetic expression including the parameter setting value is divided by n described above. The command issuing unit issues a command so as not to violate the value of the division result by the device management unit.
これにより、上述の複数のタイミングパラメーターの1つ1つを別々にnで除算する場合に比べ、コマンドの発行タイミングが適切に規制される。 As a result, the command issue timing is appropriately regulated as compared with the case where each of the plurality of timing parameters is divided by n separately.
本発明によれば、低コストで、動作周波数がメモリーデバイスの動作周波数をn分の1(n>1)であっても効率よくコマンドを発行しメモリーデバイスを高速に制御するメモリーコントローラーを得ることができる。 According to the present invention, it is possible to obtain a memory controller that issues a command efficiently and controls a memory device at high speed at low cost even when the operating frequency is 1 / n (n> 1). Can do.
以下、図に基づいて本発明の実施の形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
実施の形態1.
図1は、本発明の実施の形態に係るメモリーコントローラーの構成を示すブロック図である。図1に示すメモリーコントローラーは、論理層1および物理層2を有し、物理層2は、外部のメモリーデバイス3を直接的に制御し、論理層1は、物理層2に対して各種信号を供給して物理層2を動作させてメモリーデバイス3を制御する。メモリーデバイス3は、DDR3−SDRAMなどといったSDRAM形式の揮発性メモリーである。論理層1と物理層2とは、別々のクロックドメイン(周波数ドメイン)とされる。
FIG. 1 is a block diagram showing a configuration of a memory controller according to an embodiment of the present invention. The memory controller shown in FIG. 1 has a
論理層1は、ホストインターフェイス11、調停部12、ストローブ信号生成部13、リフレッシュコントローラー14、トランザクションバッファー15、デバイス管理部16、コマンド発行部17、コマンド出力部18、および物理層インターフェイス19を有する。
The
ホストインターフェイス11は、システムバスを介してメモリーデバイス3に対するアクセス要求を受け付け、そのアクセス要求を調停部12に出力する。また、ライトアクセス要求の場合、ホストインターフェイス11は、ライト対象のデータを受け付け、ストローブ信号生成部13に出力する。リードアクセス要求の場合、ホストインターフェイス11は、リード対象のデータをストローブ信号生成部13から受け付け、システムバスを介して、リードアクセス要求の発行元に出力する。
The
調停部12は、ホストインターフェイス11からのアクセス要求、リフレッシュコントローラー14からのリフレッシュ要求などの各種要求を調停し、それらの要求を順番にトランザクションバッファー15に登録する。
The
ストローブ信号生成部13は、ストローブ信号を生成し、物理層インターフェイス19を介して物理層2との間でアクセス対象のデータの送受を行う。
The
リフレッシュコントローラー14は、図示せぬレジスターに設定された周期で定期的にリフレッシュ要求を出力する。
The
トランザクションバッファー15は、調停部12により登録される要求をキューイングし順番に出力する。
The
図2は、図1におけるデバイス管理部16の構成を示すブロック図である。デバイス管理部16は、係数設定部21、タイミングパラメーター設定部22、および状態監視部23を有する。
FIG. 2 is a block diagram showing a configuration of the
係数設定部21は、メモリーデバイス3の種別、動作周波数などに応じて、動作周波数設定データを設定する。デバイス管理部16およびコマンド発行部17は、論理層1内にあり、その動作周波数設定データの値n(以下、係数nという)に基づくメモリーデバイス3の動作周波数のn分の1(n>1,nは整数)の周波数で動作する。
The
実施の形態1では、論理層1において、その動作周波数設定データの値は切り替え可能である。
In the first embodiment, in the
タイミングパラメーター設定部22は、コマンド発行部17によるコマンドの発行タイミングを制限するタイミングパラメーターの値をセットする。タイミングパラメーター設定部22は、タイミングパラメーターの値を、論理層1(つまり、デバイス管理部16およびコマンド発行部17)がメモリーデバイス3の動作周波数で動作する際のタイミングパラメーターの設定値を上述の係数nで除算した値にセットする。コマンド発行部17は、その値をセットされたタイミングパラメーターに違反しないようにコマンドを発行する。なお、このタイミングパラメーターの設定値は、例えば図示せぬインターフェイスを介してホスト装置から設定され、論理層1において予め記憶されている。
The timing
実施の形態1では、タイミングパラメーター設定部22は、上述の除算において端数が発生する場合、タイミングパラメーターの種別に応じて、その端数を切り上げるか、切り捨てる。具体的には、タイミングパラメーター設定部22は、タイミングパラメーターが上限値を指定するものである場合、その端数を切り捨て、タイミングパラメーターが下限値を指定するものである場合、その端数を切り上げる。
In the first embodiment, when a fraction occurs in the above division, the timing
タイミングパラメーターの値はクロック数で表現されており、整数演算としての除算が実行される。 The value of the timing parameter is expressed by the number of clocks, and division as an integer operation is executed.
例えば、タイミングパラメーターtRCは、ACT(Active)コマンドの発行から、COLコマンド(RD(Read)コマンド、RDA(Read with auto-close)コマンド、WR(Write)コマンド、またはWRA(Write with auto-close)コマンド)の発行までの最低時間を規定する、DDR2−SDRAMおよびDDR3−SDRAMのタイミングパラメーターである。このタイミングパラメーターtRCは下限値を設定するものであるので、タイミングパラメーターtRCについての除算において端数が発生した場合には、端数を切り上げられた除算結果の値がタイミングパラメーターtRCとしてセットされる。 For example, the timing parameter tRC is determined by issuing an ACT (Active) command, a COL command (RD (Read) command, RDA (Read with auto-close) command, WR (Write) command, or WRA (Write with auto-close)). This is a timing parameter for DDR2-SDRAM and DDR3-SDRAM that defines the minimum time until the command is issued. Since this timing parameter tRC sets a lower limit value, when a fraction occurs in the division for the timing parameter tRC, the value of the division result obtained by rounding up the fraction is set as the timing parameter tRC.
例えば、タイミングパラメーターtREFIは、REF(Auto refresh)コマンドの最大間隔を規定する、DDR2−SDRAMおよびDDR3−SDRAMのタイミングパラメーターである。このタイミングパラメーターtREFIは所定回数のREFコマンドの平均間隔の上限値を設定するものであるので、タイミングパラメーターtREFIについての除算において端数が発生した場合には、端数を切り捨てられた除算結果の値がタイミングパラメーターtREFIとしてセットされる。 For example, the timing parameter tREFI is a timing parameter of DDR2-SDRAM and DDR3-SDRAM that defines the maximum interval of REF (Auto refresh) commands. Since this timing parameter tREFI sets the upper limit value of the average interval of a predetermined number of REF commands, when a fraction occurs in the division for the timing parameter tREFI, the value of the division result with the fraction rounded down is the timing. Set as parameter tREFI.
実施の形態1では、タイミングパラメーター設定部22は、コマンドの発行タイミングに関するある期間の開始までの時間の上限値を示す第1タイミングパラメーターと、その期間の長さの下限値を示す第2タイミングパラメーターについて、第1タイミングパラメーターについて上述の端数を切り捨てるとき、第2タイミングパラメーターについて、第2タイミングパラメーターの設定値に第1のタイミングパラメーターについての除算余りを加算した値を上述の係数nで除算する。コマンド発行部17は、タイミングパラメーター設定部22により値をセットされた第1タイミングパラメーターおよび第2タイミングパラメーターに違反しないようにコマンドを発行する。
In the first embodiment, the timing
例えば、リードコマンドおよびライトコマンドからODT(On Die Termination)オン開始までの期間の上限値を示す第1タイミングパラメーター、およびそのODTオン期間の下限値を示す第2パラメーターの場合、第1タイミングパラメーターについて上述の係数nで除算したときに端数が発生しその端数を切り捨てる除算結果の値が、第1タイミングパラメーターにセットされ、その端数を切り捨てた除算結果の値が第1タイミングパラメーターにセットされたときには、第2タイミングパラメーターについて、第2タイミングパラメーターの設定値に第1のタイミングパラメーターについての除算余りを加算した値が上述の係数nで除算され、その除算結果(その除算結果に端数がある場合には、その端数を切り上げた値)が、第2タイミングパラメーターにセットされる。 For example, in the case of a first timing parameter indicating an upper limit value of a period from a read command and a write command to ODT (On Die Termination) on start, and a second parameter indicating a lower limit value of the ODT on period, the first timing parameter When a division result is generated when dividing by the above-mentioned coefficient n and the fraction is rounded down, the division result value is set in the first timing parameter, and when the division result value obtained by rounding down the fraction is set in the first timing parameter For the second timing parameter, a value obtained by adding the remainder of the division for the first timing parameter to the set value of the second timing parameter is divided by the above-mentioned coefficient n, and the division result (when the division result has a fraction) Is the value rounded up to the second time) It is set to grayed parameters.
また、同様に、実施の形態1では、タイミングパラメーター設定部22は、ある期間の開始までの時間の下限値を示す第1タイミングパラメーターと、その期間の長さの上限値を示す第2タイミングパラメーターについて、第1タイミングパラメーターについて端数を切り上げるとき、第2タイミングパラメーターについて、第2タイミングパラメーターの設定値から第1のタイミングパラメーターについての除算余りを減算した値を上述の係数nで除算する。コマンド発行部17は、タイミングパラメーター設定部22により値をセットされた第1タイミングパラメーターおよび第2タイミングパラメーターに違反しないようにコマンドを発行する。
Similarly, in the first embodiment, the timing
状態監視部23は、コマンド発行に対応してコマンド発行部17から供給される状態遷移指令に基づいて、所定のコマンドの発行からの期間を計時して、タイミングパラメーター設定部22により値をセットされたタイミングパラメーターにより指定される条件をその計測時間が満たすか否かを示すフラグをセットし、そのフラグの値をデバイス状態情報としてコマンド発行部17に供給する。
The
また、コマンド発行部17は、トランザクションバッファー15から、順番に、ROWコマンド要求、COLコマンド要求、ROWアドレス、およびCOLアドレスを受け付け、それらのコマンドについてのコマンド発行要求をそれらのアドレスとともにコマンド出力部18に供給する。また、コマンド発行部17は、上述のデバイス状態情報に基づいて、上述の条件を満たすように各種コマンドについてのコマンド発行要求をそれらのアドレスとともにコマンド出力部18に供給する。
Further, the command issuing unit 17 sequentially receives a ROW command request, a COL command request, a ROW address, and a COL address from the
コマンド発行部17は、コマンド発行要求を発行すると、そのコマンドの種別を示す通知(状態遷移指令)をデバイス管理部16に供給する。
When issuing a command issue request, the command issuing unit 17 supplies a notification (state transition command) indicating the type of the command to the
コマンド出力部18は、コマンド発行部17からのコマンド発行要求に従って、要求されるコマンドを実行するための各種信号を物理層インターフェイス19に供給する。コマンド出力部18は、データ転送トリガーをストローブ信号生成部13に供給し、ストローブ信号生成部13は、そのデータ転送トリガーに従ってデータ転送を行う。
The
物理層インターフェイス19は、論理層1と物理層2との間のインターフェイスであって、異なるクロックドメインに属する論理層1および物理層2の間で各種信号を転送する。
The
次に、上記メモリーコントローラーの動作について説明する。ここでは、タイミングパラメーターtRC,tREFIおよびODTに関する上述のタイミングパラメーターに関連するデバイス管理部16の動作について説明する。
Next, the operation of the memory controller will be described. Here, the operation of the
(1)タイミングパラメーターtRCのセット (1) Set timing parameter tRC
図3は、図2に示すデバイス管理部11によるタイミングパラメーターtRCのセットを説明するフローチャートである。
FIG. 3 is a flowchart for explaining the setting of the timing parameter tRC by the
デバイス管理部16において、タイミングパラメーターtRCについて、タイミングパラメーター設定部22は、動作周波数設定データから上述の係数nを特定するとともに、タイミングパラメーターtRCの設定値を特定する(ステップS1)。
In the
次に、タイミングパラメーター設定部22は、タイミングパラメーターtRCの設定値を係数nで除算する(ステップS2)。
Next, the timing
タイミングパラメーター設定部22は、その除算結果に端数があるか否か(つまり余りがあるか否か)を判定し(ステップS3)、その除算結果に端数がある場合、その除算結果を切り上げた値を、タイミングパラメーターtRCの値とする(ステップS4)。
The timing
例えば、タイミングパラメーターtRCの設定値tRCdが奇数であって、係数nが2である場合、端数が発生するので、タイミングパラメーターtRCの設定値は、tRCd/2より大きい整数のうちのtRCd/2に最も近い整数とされる。 For example, when the set value tRCd of the timing parameter tRC is an odd number and the coefficient n is 2, a fraction is generated. Therefore, the set value of the timing parameter tRC is set to tRCd / 2 among integers larger than tRCd / 2. The closest integer.
タイミングパラメーター設定部22は、このタイミングパラメーターtRCの値を状態監視部23にセットする(ステップS5)。つまり、除算結果に端数がある場合には、切り上げ後の値がセットされ、除算結果に端数がない場合には、除算結果がそのままセットされる。
The timing
(2)タイミングパラメーターtREFIのセット (2) Set timing parameter tREFI
図4は、図2に示すデバイス管理部11によるタイミングパラメーターtREFIのセットを説明するフローチャートである。
FIG. 4 is a flowchart for explaining the setting of the timing parameter tREFI by the
デバイス管理部16において、タイミングパラメーターtREFIについて、タイミングパラメーター設定部22は、動作周波数設定データから上述の係数nを特定するとともに、タイミングパラメーターtREFIの設定値を特定する(ステップS11)。
In the
次に、タイミングパラメーター設定部22は、タイミングパラメーターtREFIの設定値を係数nで除算する(ステップS12)。
Next, the timing
タイミングパラメーター設定部22は、その除算結果に端数があるか否か(つまり余りがあるか否か)を判定し(ステップS13)、その除算結果に端数がある場合、その除算結果を切り捨てた値を、タイミングパラメーターtREFIの値とする(ステップS14)。
The timing
例えば、タイミングパラメーターtREFIの設定値tREFIdが奇数であって、係数nが2である場合、端数が発生するので、タイミングパラメーターtREFIの設定値は、tREFId/2より小さい整数のうちのtREFId/2に最も近い整数とされる。 For example, when the set value tREFId of the timing parameter tREFI is an odd number and the coefficient n is 2, a fraction is generated. Therefore, the set value of the timing parameter tREFI is set to tREFId / 2 of integers smaller than tREFId / 2. The closest integer.
タイミングパラメーター設定部22は、このタイミングパラメーターtREFIの値を状態監視部23にセットする(ステップS15)。つまり、除算結果に端数がある場合には、切り捨て後の値がセットされ、除算結果に端数がない場合には、除算結果がそのままセットされる。
The timing
(3)ODTについてのタイミングパラメーターのセット (3) Timing parameter set for ODT
図5は、図2に示すデバイス管理部11によるODTについてのタイミングパラメーターのセットを説明するフローチャートである。
FIG. 5 is a flowchart for explaining a timing parameter set for ODT by the
デバイス管理部16において、第1タイミングパラメーター(ODTオン開始までの時間の上限値)および第2パラメーター(ODTオン期間の長さの下限値)について、タイミングパラメーター設定部22は、動作周波数設定データから上述の係数nを特定するとともに、その第1および第2タイミングパラメーターの設定値を特定する(ステップS21)。
In the
次に、タイミングパラメーター設定部22は、第1タイミングパラメーターの設定値を係数nで除算する(ステップS22)。
Next, the timing
タイミングパラメーター設定部22は、その除算結果に端数があるか否か(つまり余りがあるか否か)を判定し(ステップS23)、その除算結果に端数がある場合、その除算結果を切り捨てた値を、第1タイミングパラメーターの値とする(ステップS24)。
The timing
タイミングパラメーター設定部22は、この第1タイミングパラメーターの値を状態監視部23にセットする(ステップS25)。つまり、除算結果に端数がある場合には、切り捨て後の値がセットされ、除算結果に端数がない場合には、除算結果がそのままセットされる。
The timing
次に、タイミングパラメーター設定部22は、第1タイミングパラメーターについての除算結果に端数があったか否かを判定する(ステップS26)。
Next, the timing
第1タイミングパラメーターについての除算結果に端数があった場合、タイミングパラメーター設定部22は、第1タイミングパラメーターについての除算の余りを、第2タイミングパラメーターの設定値に加算する(ステップS27)。タイミングパラメーター設定部22は、その設定値とその余りとの和を係数nで除算する(ステップS28)。タイミングパラメーター設定部22は、その除算結果に端数があるか否か(つまり余りがあるか否か)を判定し(ステップS29)、その除算結果に端数がある場合、その除算結果を切り上げた値を、第2タイミングパラメーターの値とする(ステップS30)。タイミングパラメーター設定部22は、この第2タイミングパラメーターの値を状態監視部23にセットする(ステップS31)。つまり、除算結果に端数がある場合には、切り上げ後の値がセットされ、除算結果に端数がない場合には、除算結果がそのままセットされる。
If there is a fraction in the division result for the first timing parameter, the timing
一方、ステップS26において、第1タイミングパラメーターについての除算結果に端数がなかったと判定された場合、タイミングパラメーター設定部22は、第2タイミングパラメーターの設定値を係数nで除算する(ステップS32)。タイミングパラメーター設定部22は、その除算結果に端数があるか否か(つまり余りがあるか否か)を判定し(ステップS29)、その除算結果に端数がある場合、その除算結果を切り上げた値を、第2タイミングパラメーターの値とする(ステップS30)。タイミングパラメーター設定部22は、この第2タイミングパラメーターの値を状態監視部23にセットする(ステップS31)。つまり、除算結果に端数がある場合には、切り上げ後の値がセットされ、除算結果に端数がない場合には、除算結果がそのままセットされる。
On the other hand, when it is determined in step S26 that the division result for the first timing parameter has no fraction, the timing
(4)デバイス管理部16の状態監視部23およびコマンド発行部17の動作
(4) Operations of the
以上のようにして各タイミングパラメーターの値が状態監視部23にセットされ、状態監視部23は、各タイミングパラメーターに対応する計時開始タイミングからの経過時間(経過クロック数)に応じて、各タイミングパラメーターに対応するフラグの値をセットする。そして、コマンド発行部17は、そのフラグの値に応じて、各タイミングパラメーターに対応するコマンドの発行を禁止するか否かを決定する。
As described above, the value of each timing parameter is set in the
例えば、タイミングパラメーターtRCについては、ACTコマンドの発行からの時間(クロック数)が計測され、その計測時間が、タイミングパラメーターtRCを超えると、タイミングパラメーターtRCに対応するフラグの値が所定の第1値から所定の第2値へ変化する。コマンド発行部17は、このフラグの値がその第1値であるときに、RDコマンド、RDAコマンド、WRコマンド、およびWRAコマンドを発行し、このフラグの値がその第2値であるときには、RDコマンド、RDAコマンド、WRコマンド、およびWRAコマンドの発行を禁止する。 For example, for the timing parameter tRC, the time (number of clocks) from the issuance of the ACT command is measured, and when the measurement time exceeds the timing parameter tRC, the value of the flag corresponding to the timing parameter tRC is a predetermined first value. To a predetermined second value. The command issuing unit 17 issues an RD command, an RDA command, a WR command, and a WRA command when the value of the flag is the first value. When the value of the flag is the second value, the command issuing unit 17 Issuing commands, RDA commands, WR commands, and WRA commands is prohibited.
以上のように、上記実施の形態1によれば、論理層1内のデバイス管理部16およびコマンド発行部17は、動作周波数設定データの値であるnに基づくメモリーデバイスの動作周波数のn分の1(n>1)の周波数で動作する。そして、デバイス管理部16は、コマンド発行部17によるコマンドの発行タイミングを制限するタイミングパラメーターの値を、デバイス管理部16およびコマンド発行部17がメモリーデバイス3の動作周波数で動作する際のタイミングパラメーターの設定値をそのnで除算した値にセットし、コマンド発行部17は、デバイス管理部16により値をセットされたタイミングパラメーターに違反しないようにコマンドを発行する。
As described above, according to the first embodiment, the
これにより、タイミングパラメーターの値がn分の1となることで、コマンドがメモリーデバイスの動作周波数に合わせて発行されやすくなる。したがって、低コストで、動作周波数がメモリーデバイス3の動作周波数をn分の1(n>1)であっても効率よくコマンドを発行しメモリーデバイス3を高速に制御することができる。
As a result, the value of the timing parameter becomes 1 / n, so that the command is easily issued in accordance with the operating frequency of the memory device. Therefore, even if the operating frequency is 1 / n (n> 1) of the operating frequency of the
実施の形態2. Embodiment 2. FIG.
本発明の実施の形態2に係るメモリーコントローラーでは、デバイス管理部16は、複数のタイミングパラメーターを含む演算式の値でコマンドの発行タイミングが制限される場合、その複数のタイミングパラメーターの設定値を含む演算式の値を上述のnで除算し、コマンド発行部17は、デバイス管理部16による除算結果の値に違反しないようにコマンドを発行する。
In the memory controller according to Embodiment 2 of the present invention, the
例えば、メモリーデバイス3がDDR2−SDRAMである場合、WRコマンドの発行からRDコマンドの発行までの最小時間は、3つのタイミングパラメーターWL,BL,tWTRの演算式WL+BL/2+tWTで規定される。
For example, when the
このとき、タイミングパラメーター設定部22は、演算式(WL+BL/2+tWT)の演算結果を上述の係数nで除算する。そして、この除算において端数が発生した場合には、除算結果を切り上げた値が、WRコマンドの発行からRDコマンドの発行までの最小時間を示す値として、状態監視部23にセットされる。
At this time, the timing
なお、実施の形態2に係るメモリーコントローラーのその他の構成および動作については実施の形態1と同様であるので、その説明を省略する。 Since the other configuration and operation of the memory controller according to the second embodiment are the same as those of the first embodiment, the description thereof is omitted.
以上のように、上記実施の形態2によれば、上述の複数のタイミングパラメーターの1つ1つを別々にnで除算する場合に比べ、コマンドの発行タイミングが適切に規制される。 As described above, according to the second embodiment, the command issue timing is appropriately regulated as compared with the case where each of the plurality of timing parameters is divided by n separately.
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。 Each embodiment described above is a preferred example of the present invention, but the present invention is not limited to these, and various modifications and changes can be made without departing from the scope of the present invention. It is.
例えば、上記各実施の形態において、メモリーデバイス3が複数のランクを有する場合、ランクごとに独立したタイミングパラメーターが設定されるようにしてもよい。
For example, in each of the above embodiments, when the
また、上記各実施の形態において、ある期間の上限値を指定するタイミングパラメーター(例えば、上述のtREFI)については、除算の端数が発生した場合、その除算の余りを、そのタイミングパラメーター自体の値は変更せずに、次回の除算時に、そのタイミングパラメーターの値とその除算余りとの和を上述のnで除算するようにしてもよい。これにより、期間の上限値の平均が、タイミングパラメーターの値に合わせることができる。 In each of the above embodiments, for a timing parameter that specifies an upper limit value for a certain period (for example, the above-described tREFI), when a fraction is generated, the remainder of the division is calculated, and the value of the timing parameter itself is Without changing, the sum of the value of the timing parameter and the remainder of the division may be divided by the above-mentioned n at the next division. Thereby, the average of the upper limit values of the periods can be adjusted to the value of the timing parameter.
また、上記各実施の形態においてタイミングパラメーターを例示しているが、例示していないタイミングパラメーターについても同様に値がセットされる。 Further, although the timing parameters are exemplified in the respective embodiments, values are similarly set for timing parameters that are not exemplified.
また、上記各実施の形態において、係数nの値が固定値である場合には、係数nに関する上述の演算結果の値を予め保持しておき、係数nに関する上述の演算を行わずに、その保持している演算結果の値を使用するようにしてもよい。 In each of the above embodiments, when the value of the coefficient n is a fixed value, the value of the calculation result related to the coefficient n is held in advance, and the calculation is not performed without performing the calculation related to the coefficient n. You may make it use the value of the calculation result currently hold | maintained.
本発明は、例えば、DDR2−SDRAM、DDR3−SDRAMなどのメモリーコントローラーに適用可能である。 The present invention is applicable to memory controllers such as DDR2-SDRAM and DDR3-SDRAM.
1 論理層
2 物理層
3 メモリーデバイス
16 デバイス管理部
17 コマンド発行部
DESCRIPTION OF
Claims (7)
前記メモリーデバイスに対してコマンドを発行させるコマンド発行部とを備え、
前記デバイス管理部および前記コマンド発行部は、動作周波数設定データの値であるnに基づく前記メモリーデバイスの動作周波数のn分の1(n>1)の周波数で動作し、
前記デバイス管理部は、前記コマンド発行部によるコマンドの発行タイミングを制限するタイミングパラメーターの値を、前記デバイス管理部および前記コマンド発行部が前記メモリーデバイスの動作周波数で動作する際の前記タイミングパラメーターの設定値を前記nで除算した値にセットし、
前記コマンド発行部は、前記デバイス管理部により値をセットされた前記タイミングパラメーターに違反しないように前記コマンドを発行し、
前記デバイス管理部は、前記除算において端数が発生する場合、前記タイミングパラメーターの種別に応じて、前記端数を切り上げるか、切り捨てること、
を特徴とするメモリーコントローラー。 A device management unit for managing the state of the memory device;
A command issuing unit for issuing a command to the memory device;
The device management unit and the command issuing unit operate at a frequency of 1 / n (n> 1) of the operating frequency of the memory device based on n which is a value of operating frequency setting data,
The device management unit sets a timing parameter value for limiting a command issuance timing by the command issuing unit, and sets the timing parameter when the device management unit and the command issuing unit operate at an operating frequency of the memory device. Set the value to the value divided by n,
The command issuing unit issues the command so as not to violate the timing parameter whose value is set by the device management unit ,
The device management unit, when a fraction occurs in the division, rounds up or rounds down the fraction according to the type of the timing parameter,
A memory controller characterized by
前記コマンド発行部は、前記デバイス管理部により値をセットされた前記第1タイミングパラメーターおよび前記第2タイミングパラメーターに違反しないように前記コマンドを発行すること、
を特徴とする請求項1記載のメモリーコントローラー。 The device management unit performs the first timing with respect to a first timing parameter indicating an upper limit value of a time until the start of a certain period regarding a command issuance timing and a second timing parameter indicating a lower limit value of the length of the period. When rounding down the fraction for a parameter, for the second timing parameter, the value obtained by adding the remainder of the division for the first timing parameter to the setting value of the second timing parameter is divided by the n,
The command issuing unit issues the command so as not to violate the first timing parameter and the second timing parameter set by the device management unit;
The memory controller of claim 1 Symbol mounting characterized.
前記コマンド発行部は、前記デバイス管理部により値をセットされた前記第1タイミングパラメーターおよび前記第2タイミングパラメーターに違反しないように前記コマンドを発行すること、
を特徴とする請求項1記載のメモリーコントローラー。 The device management unit performs the first timing with respect to a first timing parameter indicating a lower limit value of a time until the start of a certain period related to the issue timing of the command and a second timing parameter indicating an upper limit value of the length of the period. When rounding up the fraction for a parameter, for the second timing parameter, the value obtained by subtracting the remainder of the division for the first timing parameter from the set value of the second timing parameter is divided by the n,
The command issuing unit issues the command so as not to violate the first timing parameter and the second timing parameter set by the device management unit;
The memory controller of claim 1 Symbol mounting characterized.
前記コマンド発行部は、前記デバイス管理部による前記除算結果の値に違反しないように前記コマンドを発行すること、
を特徴とする請求項1記載のメモリーコントローラー。 The device management unit, when the issue timing of the command is limited by a value of an arithmetic expression including a plurality of timing parameters, the device management unit and the command issue unit when operating at the operating frequency of the memory device Divide the value of the arithmetic expression including the set values of multiple timing parameters by the n,
The command issuing unit issues the command so as not to violate a value of the division result by the device management unit;
The memory controller according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012164208A JP5752091B2 (en) | 2012-07-24 | 2012-07-24 | Memory controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012164208A JP5752091B2 (en) | 2012-07-24 | 2012-07-24 | Memory controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014026349A JP2014026349A (en) | 2014-02-06 |
JP5752091B2 true JP5752091B2 (en) | 2015-07-22 |
Family
ID=50199959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012164208A Expired - Fee Related JP5752091B2 (en) | 2012-07-24 | 2012-07-24 | Memory controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5752091B2 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08297606A (en) * | 1995-04-26 | 1996-11-12 | Ricoh Co Ltd | Image formation device |
JP3800164B2 (en) * | 2002-10-18 | 2006-07-26 | ソニー株式会社 | Information processing device, information storage device, information processing method, and information processing program |
US8572322B2 (en) * | 2010-03-29 | 2013-10-29 | Freescale Semiconductor, Inc. | Asynchronously scheduling memory access requests |
-
2012
- 2012-07-24 JP JP2012164208A patent/JP5752091B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2014026349A (en) | 2014-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020170532A (en) | Impedance compensation based on detecting sensor data | |
EP2973571B1 (en) | A memory system | |
KR101695338B1 (en) | Dynamic frequency memory control | |
JP6146128B2 (en) | Data processing device | |
JP2006260472A (en) | Memory access device | |
US8539146B2 (en) | Apparatus for scheduling memory refresh operations including power states | |
US9330025B2 (en) | Information processing apparatus, memory control apparatus, and control method thereof | |
KR101525872B1 (en) | Method for operating semiconductor memory system | |
TW201719379A (en) | Memory management systems and methods | |
KR20180003000A (en) | Memory controller, asynchronous memory buffer chip and memory system including the same | |
US10929317B2 (en) | Semiconductor device and access control method | |
US20060026375A1 (en) | Memory controller transaction scheduling algorithm using variable and uniform latency | |
US8412891B2 (en) | Arbitrated access to memory shared by a processor and a data flow | |
JP2009251713A (en) | Cache memory control unit | |
US20090013144A1 (en) | Integrated circuit, and integrated circuit system | |
US9360915B1 (en) | Dynamically controlling clocking rate of a processor based on user defined rule | |
JP5917307B2 (en) | Memory controller, volatile memory control method, and memory control system | |
JP5752091B2 (en) | Memory controller | |
JP2009116702A (en) | Semiconductor integrated circuit | |
JP2011034214A (en) | Memory controller | |
JP6274774B2 (en) | Memory interface device and control method thereof | |
EP1513069A2 (en) | Resource management apparatus | |
WO2016185878A1 (en) | Memory control circuit and memory control method | |
JPWO2007007599A1 (en) | Memory control device | |
US11842071B2 (en) | Data transfer device and data transfer method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140619 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150226 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150304 |
|
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: 20150423 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150519 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5752091 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |