JP2016167125A - Data write/read control method to memory device, and memory device - Google Patents
Data write/read control method to memory device, and memory device Download PDFInfo
- Publication number
- JP2016167125A JP2016167125A JP2015045805A JP2015045805A JP2016167125A JP 2016167125 A JP2016167125 A JP 2016167125A JP 2015045805 A JP2015045805 A JP 2015045805A JP 2015045805 A JP2015045805 A JP 2015045805A JP 2016167125 A JP2016167125 A JP 2016167125A
- Authority
- JP
- Japan
- Prior art keywords
- memory device
- bit
- bit string
- writing
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
Description
本発明は、メモリ装置へのデータ書き込み及び読み出し制御方法及びメモリ装置に関し、例えば、DDR−SDRAM(Double Data Rate-Synchronous Dynamic Random Access Memory)、DDR2−SDRAM、DDR3−SDRAMなどのSSTL(Stub Series Terminated Logic)インタフェースを具備したDDRメモリに適用し得るものである。 The present invention relates to a data write and read control method for a memory device and a memory device, for example, a SSTL (Stub Series Terminated) such as a DDR-SDRAM (Double Data Rate-Synchronous Dynamic Random Access Memory), a DDR2-SDRAM, or a DDR3-SDRAM. Logic) can be applied to a DDR memory having an interface.
例えば、パーソナルコンピュータやサーバの主記憶装置として使用されるDRAMは、現在DDR3−DRAMが主流である。このDDR3−SDRAMは、非特許文献1に記載されているように主に下記に示す信号ピンを備えている。
For example, DDR3-DRAM is currently the mainstream DRAM used as a main storage device for personal computers and servers. As described in Non-Patent
CK、CK#:クロック信号。CKは、DDR3−SDRAMの動作基準となるタイミング決定を行う差動クロックを入力する。CKの上がりエッジとCK#の下がりエッジの交点を基準にすべてのアドレスと制御入力信号はサンプリングされる。またCKはデータの出力を行う。 CK, CK #: Clock signal. CK inputs a differential clock for determining timing as an operation reference of the DDR3-SDRAM. All addresses and control input signals are sampled based on the intersection of the rising edge of CK and the falling edge of CK #. CK outputs data.
CKE:クロックイネーブル信号。CKEは、デバイスの入出力信号に対してクロックの有効、無効を決定する。CKE入力がHighの場合にはクロックは有効、Lowの場合にはクロックは無効となる。プリチャージパワーダウン、セルフリフレッシュ、またはアクティブパワーダウン時にはCKEをLowにする。 CKE: Clock enable signal. CKE determines whether the clock is valid or invalid for the input / output signals of the device. When the CKE input is High, the clock is valid, and when it is Low, the clock is invalid. CKE is set to Low during precharge power down, self refresh, or active power down.
CS#:チップセレクト信号。Lowの場合にコマンド入力は有効、Highの場合にすべてのコマンド入力は無効となる。ただし動作中のコマンドはCS#をHighにしても継続される。 CS #: Chip select signal. Command input is valid when Low, and all command input is invalid when High. However, the command in operation is continued even if CS # is High.
RAS#,CAS#,WE#:ロウアドレスストローブ信号(RAS)、カラムアドレスストローブ信号、(CAS),ライトイネーブル信号(WE)。RAS#,CAS#,WE#は、DDR3−SDRAMの動作を決定するコマンドを入力する。 RAS #, CAS #, WE #: row address strobe signal (RAS), column address strobe signal, (CAS), write enable signal (WE). RAS #, CAS #, and WE # input a command that determines the operation of the DDR3-SDRAM.
ODT:オンダイターミネーション信号。Highの場合に内蔵する終端抵抗Rtが有効となる。ODTはDQ、DQS、DQS#、DMのみ接続され、それ以外の入力ピン(CKE、CS#、RAS#、CAS#、WE#、ODT、RESET#、BA0−BA2、A0−Ax(xはメモリ容量による))には接続されていない。 ODT: On-die termination signal. In the case of High, the built-in termination resistor Rt is effective. ODT is connected only to DQ, DQS, DQS #, DM, and other input pins (CKE, CS #, RAS #, CAS #, WE #, ODT, RESET #, BA0-BA2, A0-Ax (x is a memory) Not connected to))).
DM(DMU DML):データマスク信号。ライト動作時にHighの場合、データ入力はマスクされデバイスへ書き込みが行われない。 DM (DMU DML): Data mask signal. If High during the write operation, the data input is masked and writing to the device is not performed.
BA0−BA2:バンクアドレス信号。BA0−BA2は、アクティブコマンド時にリード/ライトするバンクを選択する。また、BA0−BA2は、モードレジスタの種類(MR0〜MR3)を選択するためにも利用される。 BA0-BA2: Bank address signals. BA0 to BA2 select a bank to be read / written at the time of an active command. BA0-BA2 are also used to select the type of mode register (MR0 to MR3).
A0−Ax:アドレス信号。A0−Axは、メモリアレイのリード/ライトを実施するセル位置を指定するアドレスを入力する。A0−Axは、アクティブコマンド入力時にロウアドレス、リード/ライトコマンド入力時にバースト動作の先頭カラムアドレスを選択する。A0−Axは、モードレジスタ設定にも用いられる。 A0-Ax: Address signal. In A0-Ax, an address for designating a cell position for reading / writing the memory array is input. A0-Ax selects a row address when an active command is input, and a leading column address of a burst operation when a read / write command is input. A0-Ax is also used for mode register setting.
A10/AP:オートプリチャージ信号。リード/ライトコマンド時に指定するカラムアドレスにA10は使用せず、代わりにA10はリード/ライト後にアクセスしているバンクに対して、オートプリチャージを行うか(A10=High)、行わないか(A10=Low)を指定するために用いられる。またプリチャージコマンド入力時にA10はプリチャージの対象バンクの選択に用いられる。A10がLowのときプリチャージはバンク1つに対してのみ行い、A10がHighのときプリチャージは全てのバンクに対して行われる。プリチャージの対象バンクはバンクアドレスで選択する。 A10 / AP: Auto precharge signal. A10 is not used for the column address designated at the time of the read / write command. Instead, A10 performs auto precharge (A10 = High) or not (A10) for the bank accessed after read / write. = Low). When a precharge command is input, A10 is used to select a target bank for precharge. When A10 is Low, precharging is performed for only one bank, and when A10 is High, precharging is performed for all banks. The bank to be precharged is selected by bank address.
A12/BC#:バーストチョップ信号。リード/ライトコマンド入力時バースト動作を4データ分で中断するか(A12=Low)、又は行わないか(A12=High)を選択する。 A12 / BC #: Burst chop signal. When a read / write command is input, it is selected whether the burst operation is interrupted by four data (A12 = Low) or not (A12 = High).
RESET#:リセット信号。リセットピンにLowを入力するとデバイスはリセットされる。 RESET #: Reset signal. When Low is input to the reset pin, the device is reset.
DQ:データ信号。データの入出力を行う。 DQ: Data signal. Input and output data.
DQS DQS#:データストローブ信号。DQS DQS#は、データのリード/ライトのタイミングを指定する差動ストローブ信号である。 DQS DQS #: Data strobe signal. DQS DQS # is a differential strobe signal that specifies data read / write timing.
DDRメモリの上記の信号はCPUやFPGAなどのメモリコントローラと接続されるが、動作周波数の高速化にともなって生じるノイズや反射による信号の劣化を低減するために、DDRメモリは、図2に示す構造をしたSSTLインタフェースが採用されている。 The above signal of the DDR memory is connected to a memory controller such as a CPU or FPGA. In order to reduce signal degradation due to noise and reflection caused by the increase in operating frequency, the DDR memory is shown in FIG. A structured SSTL interface is employed.
SSTLインタフェースは、DDRメモリの電源電圧の1/2の電圧に接続された終端抵抗がある。例えば、DDR3−SDRAMであれば、電源電圧1.5Vなので終端抵抗には0.75Vが接続される。DDR3−SDRAMではこの終端抵抗はDQピン、DQSピンおよびDMピンにはDDRメモリに内蔵されており、アドレスなどの制御信号ピンには、終端抵抗を近傍に実装することが推奨されている。この終端抵抗RTに流れる電流の方向は、コントローラの各端子の出力信号レベルで異なり、出力信号がHighの場合に電流はソース方向、出力信号がLowの場合に電流はシンク方向となる。 The SSTL interface has a termination resistor connected to a voltage that is half the power supply voltage of the DDR memory. For example, in the case of a DDR3-SDRAM, since the power supply voltage is 1.5V, 0.75V is connected to the termination resistor. In the DDR3-SDRAM, this termination resistor is built in the DDR memory at the DQ pin, the DQS pin, and the DM pin, and it is recommended that the termination resistor be mounted in the vicinity of the control signal pins such as an address. The direction of the current flowing through the termination resistor RT varies depending on the output signal level of each terminal of the controller. When the output signal is High, the current is in the source direction, and when the output signal is Low, the current is in the sink direction.
DDRメモリを使用した回路の構成(トポロジー)としては主に3つが考えられる。 There are mainly three possible circuit configurations (topologies) using the DDR memory.
1つ目は基本的な構成として図3に示す様に、CPUやFPGAに搭載されるメモリコントローラ51とDDRメモリ(DDR_a)52とが1対1で接続されるトポロジーである。アドレスなどの制御信号およびデータは全てメモリコントローラ51と1対1で接続される構成となっている。
The first is a topology in which a
2つ目は図4に示す様に、1つのコントローラ51が、複数(図4では4個)のDDRメモリ(DDR_a〜DDR_d)52−1〜52−4とツリー状に接続されるトポロジーである。このトポロジーは、例えばDDR2−SDRAMで採用されており、Tブランチトポロジーと呼ばれている。アドレスなどの制御信号はメモリコントローラ51から出て枝分かれして各DDRメモリ(DDR2−SRAM)52−1〜52−4に接続する構成となっており、データはメモリコントローラ52と各DDRメモリ52−1〜52−4との1対1で接続する構成となっている。
The second is a topology in which one
最後に3つ目は図5に示す様に、1つのメモリコントローラ51から複数(図5では4個)のDDRメモリ(DDR_a〜DDR_d)52−1〜52−4に対し、カスケードに接続されるトポロジーである。このトポロジーは、例えばDDR3−SDRAMから採用されており、フライバイ・トポロジーと呼ばれている。アドレス、コマンド、クロックの制御信号が全てのDDRメモリ(DDR3−SDRAM)に対し、カスケードに接続される構成となっており、各々のデバイスへの信号到着時刻のずれを考慮してデータの入出力制御を行っている。データはメモリコントローラ51と各DDRメモリ52−1〜52−4との1対1で接続する構成となっている。
Finally, as shown in FIG. 5, the third one is connected in cascade from one
例えば上記のようなDDRメモリの特性を使用したものに特許文献1がある。この特許文献1の記載技術は、画像の隣接画素にはデータの相関がある。つまり同じようなデータであることを利用し、片方の画素データを反転してDDRメモリにライトすることで、DQのシンク電流とソース電流が相殺されるように構成し、消費電流を抑制するものである。
For example, there is
しかしながら、上述した特許文献1の記載技術は取り扱うデータが画像データである必要があるため、それ以外のデータでは利用することができないという問題がある。
However, since the technique described in
そのため、メモリ装置への高密度実装によるノイズの影響を受け易くなっていることと、ecoの観点から装置の低消費電力化、つまり回路の消費電力低減が望まれている。 Therefore, it is desired to be easily affected by noise due to high-density mounting on the memory device, and to reduce the power consumption of the device, that is, to reduce the power consumption of the circuit from the viewpoint of eco.
DDRメモリのデータバス(DQ)のシンク電流及びソース電流は相殺されて差分の端子の終端電流のみがVtt電源に流れる。 The sink current and source current of the data bus (DQ) of the DDR memory are canceled out, and only the terminal current of the difference terminal flows to the Vtt power source.
そこで、本発明は、出力信号レベルのHighとLowの本数が同じであった場合、Vtt電源には終端電流は流れないことに着目し、できるだけHighとLowの本数が等しくなるようにデータを変換し、回路の消費電力を抑えること、また消費電流を低く抑え、ノイズの発生を抑制し、誤動作のリスクを低減することができるメモリ装置への書き込み及び読み出し制御方法及びメモリ装置を提供しようとするものである。 Therefore, the present invention pays attention to the fact that the termination current does not flow in the Vtt power supply when the number of output signal levels is high and low, and converts the data so that the number of high and low is as equal as possible. An object of the present invention is to provide a memory device writing and reading control method and a memory device that can suppress power consumption of a circuit, suppress current consumption, suppress noise, and reduce a risk of malfunction. Is.
かかる課題を解決するために、第1の本発明に係るメモリ装置への書き込み及び読み出し制御方法は、メモリ装置の出力状態に応じて終端抵抗に流す電流方向を変えてメモリ装置に電源供給を行う電源供給インタフェース部を備えるメモリ装置への書き込み及び読み出し制御方法であって、(1)入力データのビット列を、消費電力値の小さくなる論理値を含むビット列に変換し、その変換後ビット列をメモリ装置に書き込む書き込み工程と、(2)メモリ装置に書き込んだ変換後ビット列を、書き込み前のビット列に逆変換してデータを読み出す読み出し工程とを有することを特徴とする。 In order to solve such a problem, the write and read control method for the memory device according to the first aspect of the present invention supplies power to the memory device by changing the direction of the current flowing through the termination resistor according to the output state of the memory device. A method for controlling writing to and reading from a memory device including a power supply interface unit, wherein (1) a bit string of input data is converted into a bit string including a logical value with a low power consumption value, and the converted bit string is converted into a memory device And (2) a read step of reading data by reversely converting the converted bit string written in the memory device into a bit string before writing.
第2の本発明に係るメモリ装置は、メモリ装置の出力状態に応じて終端抵抗に流す電流方向を変えてメモリ装置に電源供給を行う電源供給インタフェース部を備えるメモリ装置において、(1)入力データのビット列を、消費電力値の小さくなる論理値を含むビット列に変換し、その変換後ビット列を書き込む書き込み手段と、(2)メモリ装置に書き込んだ変換後ビット列を、書き込み前のビット列に逆変換してデータを読み出す読み出し手段とを備えることを特徴とする。 According to a second aspect of the present invention, there is provided a memory device including: a power supply interface unit that supplies power to the memory device by changing a direction of a current flowing through the termination resistor according to an output state of the memory device; And a writing means for writing the converted bit string into a bit string including a logical value with a low power consumption value, and (2) reverse-converting the converted bit string written in the memory device into the bit string before writing. And reading means for reading data.
本発明によれば、出力信号レベルのHighとLowの本数が等しくなるようにデータを変換し、回路の消費電力を抑え、また消費電流を低く抑え、ノイズの発生を抑制し、誤動作のリスクを低減することができる。 According to the present invention, data is converted so that the number of high and low output signal levels is equal, the power consumption of the circuit is reduced, the current consumption is reduced, the generation of noise is suppressed, and the risk of malfunction is reduced. Can be reduced.
(A)主たる実施形態
以下では、本発明に係るメモリ装置へのデータ書き込み/読み出し制御方法及びメモリ装置の実施形態を、図面を参照しながら詳細に説明する。
(A) Main Embodiments Hereinafter, embodiments of a data write / read control method and a memory device according to the present invention will be described in detail with reference to the drawings.
(A−1)実施形態の構成
図1は、実施形態に係るメモリコントローラの構成を示す構成図である。図1では、メモリコントローラ1がメモリ装置としてのDDRメモリ部2と接続している場合の構成を示している。
(A-1) Configuration of Embodiment FIG. 1 is a configuration diagram illustrating a configuration of a memory controller according to the embodiment. FIG. 1 shows a configuration when the
DDRメモリ部2は、複数のDDRメモリを有して構成されるものであり、DDRメモリ部2を構成する各DDRメモリは、メモリコントローラ1と接続されている。また、DDRメモリ部2を構成する各DDRメモリは、動作周波数の高速化に伴って生じるノイズや反射による信号の劣化を低減するために、電源供給インタフェースとしてSSTL21を備えている。DDRメモリ部2を構成する各DDRメモリは、例えば、DDR−SDRAM、DDR2−SDRAM、DDR3−SDRAM等を適用することができる。
The
メモリコントローラ1は、DDRメモリ部2を構成する複数のDDRメモリに対して書き込み及び読み出しを行うものである。メモリコントローラ1は、図1に示すように、メモリコントローラ部11、制御部12、8B/10Bエンコーダ/デコーダ部13を有する。
The
制御部12は、例えばCPUやFPGAを適用することができる。
For example, a CPU or FPGA can be applied to the
メモリコントローラ部11は、アドレス/制御線32及びデータバス32を介してDDRメモリ部2と接続しており、制御部12の制御を受けて、アドレス等の制御信号及びデータ信号を授受するものである。メモリコントローラ部11は、既存のメモリコントローラを適用することができるため、ここでの詳細な説明は省略する。
The
8B/10Bエンコーダ/デコーダ部13は、DDRメモリ部2にデータ書き込みを行う際に、制御部12からのデータ(8bitデータ)を8bitデータから10bitデータに変換し、その変換後の10bitデータをメモリコントローラ部11に与える。また、8B/10Bエンコーダ/デコーダ部13は、DDRメモリ部2からデータ読み出しをする際に、メモリコントローラ部11からの10bitデータを8bitデータに変換して、元の8bitデータに戻してCPU12に与える。
When writing data to the
(A−2)実施形態の動作
次に、この実施形態に係るメモリコントローラ1におけるメモリ装置2への書き込み制御及び読み出し制御の処理の動作を、図面を参照しながら詳細に説明する。
(A-2) Operation of Embodiment Next, the operation of the write control and read control processing to the
DDRメモリ部2は、上述したように複数のDDRメモリを有して構成されており、メモリコントローラ1が、上記複数のDDRメモリに対してデータ書き込み及びデータ読み出しを実施する。
The
例えば、データバス(DQ)が16bitの5個のDDRメモリで構成されているとすると、DDRメモリ部2とメモリコントローラ部11を含む制御部12は80bitのデータバス32で接続される。
For example, if the data bus (DQ) is composed of five 16-bit DDR memories, the
CPU等の制御部12からDDRメモリ部2の各DDRメモリへの書き込みを実施するデータは、8B/10Bエンコーダ/デコーダ部13に与えられる。8B/10Bエンコーダ/デコーダ部13では、制御部12からの8bitデータが10bitデータに変換されるため、データは20%のオーバヘッドを持つことになる。つまり、80bitのうち、64bitが制御部12からの有効データであり、残りの16bitはオーバヘッドとなる。
Data to be written to each DDR memory of the
8B/10Bエンコーダ/デコーダ部13は、シリアルデータの中にクロックを埋め込むことで、データとクロックの転送を同一信号にて行うことが特徴であり、高速シリアル通信に用いられている。ここで、データの転送先はクロックを再生するため、ビット0とビット1の出現に偏りが生じないよう工夫がされた方式となっている。
The 8B / 10B encoder /
例えば、この再生方式は、8bitのデータを3bitと5bitに分け、3bitを4bitに変換する3B/4B符号変換処理と、5bitを6bitに変換する5B/6B符号変換処理を行い、3bit及び5bitに分割したそれぞれに1bitを付加して6bitと4bitに変換している。 For example, this reproduction method divides 8-bit data into 3 bits and 5 bits, performs 3B / 4B code conversion processing that converts 3 bits into 4 bits, and performs 5B / 6B code conversion processing that converts 5 bits into 6 bits, and converts them into 3 bits and 5 bits. 1 bit is added to each divided and converted to 6 bits and 4 bits.
図6は、実施形態に係る5B/6B符号変換及び3B/4B符号変換に係る変換テーブルの構成を示す構成図である。図6(A)は、5B/6B符号変換テーブルであり、図6(B)は、3B/4B符号変換テーブルである。 FIG. 6 is a configuration diagram illustrating a configuration of a conversion table related to 5B / 6B code conversion and 3B / 4B code conversion according to the embodiment. 6A is a 5B / 6B code conversion table, and FIG. 6B is a 3B / 4B code conversion table.
図6(A)において、5B/6B符号変換には、変換前の5bitデータを6bitデータに変換した変換後のbit列について、ビット0の数とビット1の数との差分(図6(A)では、「01差分」と表記している。)が「+2」(すなわち、ビット1の数がビット0の数よりも「+2」)若しくは「0」(すなわち、差分が「0」)の32個の変換パターンと、ビット0の数とビット1の数との差が「−2」(ビット1が「−2」)若しくは「0」(すなわち、差分が「0」)の32個の変換パターンがある。
In FIG. 6A, for 5B / 6B code conversion, the difference between the number of
また、図6(B)において、3B/4B符号変換についても同様に、変換前の3bitデータを4bitデータに変換した変換後のbit列について、ビット0の数とビット1の数との差(「01差分」)が「+2」若しくは「0」の8個の変換パターンと、ビット0数とビット1の数との差が「−2」若しくは「0」の8個の変換パターンがある。
Also, in FIG. 6B, similarly for 3B / 4B code conversion, the difference between the number of
このように、ビット0の数とビット1の数の差分の不均衡はランニング・ディスパリティと呼ばれ、符号変換済みデータのbit列が、ビット0とビット1のどちらに偏っているのかを表している。ビット0の数がビット1よりも多い場合には「RD−」、ビット1の数がビット0よりも多い場合には「RD+」と表現される。RD+の状態で符号変換を実施する場合にはRD−のパターンを選択し、逆にRD−の状態ならば符号変換時はRD+のパターンを選択する。ただし、ビット1の数とビット0の数が同じであれば、RDの極性は継続される。この性質を用いて極性の違反を検出することにより、それ以前の送信データにエラーが含まれていることを検出することも可能である。
Thus, the imbalance between the difference between the number of
例えば、8B/10Bエンコーダ/デコーダ部13は、符号変換前の有効な64bitデータを64bit長のシリアルデータと考え、8B/10B符号変換処理を実施する。64bitをどのようにして3bit群と5bit群に分けるのかは任意であるが、並びは3bit群と5bit群を交互に配置する。また、RDの初期値を「−」とするか又は「+」とするのかについても任意である。ただし、設定として一度決定した3bit群と5bit群の分け方、配置およびRDの初期値は統一して実施することが必要となる。
For example, the 8B / 10B encoder /
図7は、実施形態に係る8B/10B符号変換処理の動作を示すフローチャートである。 FIG. 7 is a flowchart showing an operation of 8B / 10B code conversion processing according to the embodiment.
図8は、符号変換前データのLSB(最下位ビット:Least Significant bit)から5bit群、3bit群に割り当てた例を示す図である。つまり、図8に示すように、LSBから順番に5bitを5bit群に割り当て、次の3bitを3bit群に割り当てている。 FIG. 8 is a diagram illustrating an example in which LSB (least significant bit) of data before code conversion is assigned to a 5-bit group and a 3-bit group. That is, as shown in FIG. 8, 5 bits are assigned to the 5-bit group in order from the LSB, and the next 3 bits are assigned to the 3-bit group.
また、図9は、符号化変換前データを3bit群、5bit群に対しランダムに割り当てた例を示す図である。つまり、図9では、8bitのうち先頭ビットを3bit群に割り当て、次の7bitについてランダムに3bit群、5bit群に割り当てるようにしているが、先頭ビットを除く7bit列の各bitを、3bit群と5bit群のいずれかに分配する規則性は一貫するようにしている。なお、図9では、先頭ビットを3bit群に分配しているが、規則性を保持できるのであれば、先頭ビットを5bit群に分配するようにしても良い。 FIG. 9 is a diagram illustrating an example in which pre-encoding data is randomly assigned to a 3-bit group and a 5-bit group. In other words, in FIG. 9, the first bit of 8 bits is assigned to the 3-bit group, and the next 7 bits are randomly assigned to the 3-bit group and 5-bit group. However, each bit of the 7-bit sequence excluding the first bit is assigned to the 3-bit group. The regularity distributed to any of the 5-bit groups is made consistent. In FIG. 9, the first bit is distributed to the 3-bit group. However, if regularity can be maintained, the first bit may be distributed to the 5-bit group.
8B/10Bエンコーダ/デコーダ部13は、符号変換後の80bitのデータをそのままメモリコントローラ部11を経由して、メモリコントローラ1を含んだCPUなどのデバイスの端子から出力され、DDRメモリ部2へ書き込みが実施される。
The 8B / 10B encoder /
ここで、制御部12からのデータをDDRメモリ部2に書き込むときの動作を具体的に説明する。ここでは、図8に例示する割り当て方法を用いて説明する。
Here, the operation when the data from the
例えば、制御部12からの書き込みデータが64bitであり、書き込みデータが「000_00000_000_00000_000_00000_000_00000_000_00000_000_00000_000_00000_000_00000」(全てゼロ)である場合を例示する。
For example, the case where the write data from the
8B/10Bエンコーダ/デコーダ部13は、すべてゼロの64bitデータを最下位ビットから順に5ビット群及び3ビット群に割り当てて、80bitデータに変換する。このとき、80bitのデータはRDの初期値を「−」とした場合(S101)、最下位の1ビット目〜5ビット目の5bit(00000)は、5B/6B符号変換テーブルの「RD−」のパターンに変換されるため(111001)となる(S102)。
The 8B / 10B encoder /
次に、8B/10Bエンコーダ/デコーダ部13は、直前までの符号変換後のビット列のビット0とビット1の累積差分を求め(S103)、ビット0の数<ビット1の数の場合に処理はS104に移行し、ビット0の数=ビット1の数の場合に処理はS105に移行し、ビット0の数>ビット1の数の場合に処理はS106に移行する。
Next, the 8B / 10B encoder /
例えば、8B/10Bエンコーダ/デコーダ部13は、その上の6ビット目〜8ビット目の3bit(000)を3B/4B符号変換するが、直前までの符号変換後のビット列(111001)はビット1の方が2bitだけ多く「RD+」であったため、処理をS104に移行する。そして、8B/10Bエンコーダ/デコーダ部13は、3B/4B符号変換テーブルを参照して、6ビット目〜8ビット目の3bit(000)を、3B/4B符号変換テーブルの「RD+」のパターンの(0010)に変換する。上記のようにして、1bit目〜8bit目の符号変換を実施できる。
For example, the 8B / 10B encoder /
次に、8B/10Bエンコーダ/デコーダ部13は、その上の9ビット目〜13ビット目の5bit(00000)について、同様に、5B/6B符号変換する。このとき、全bitについて符号変換が完了していないため(S107)、8B/10Bエンコーダ/デコーダ部13は、符号変換したbitの直前までの符号変換後のビット列のビット0とビット1の累積差分を求め(S108)、ビット0の数<ビット1の数の場合に処理はS109に移行し、ビット0の数=ビット1の数の場合に処理はS110に移行し、ビット0の数>ビット1の数の場合に処理はS111に移行する。
Next, the 8B / 10B encoder /
例えば、9ビット目〜13ビット目の5bit(00000)について符号変換を行うとき、直前までの符号変換後のビット列は(1110010010)である。このとき、直前の符号変化後のビット列はビット0の数とビット1の数は等しい(ビット0の数もビット1の数も「5個」である)ため、5B/6B符号変換ではRD+を保持し、9ビット目〜13ビット目の5bit(00000)は、5B/6符号変換テーブルのRD+のパターン(000110)に変換される。
For example, when code conversion is performed on the 9th to 13th bits of 5 bits (00000), the bit string after the code conversion up to immediately before is (1110010010). At this time, since the number of
このようにして、制御部12からの64bitの書き込みデータを全て変換すると、変換後の80bitデータは、「1101_000110_0010_111001_1101_000110_0010_111001_1101_000110_0010_111001_1101_000110_0010_111001」となる。
When all the 64-bit write data from the
この80bitのビット列は、ビット0とビット1の数の差が0となっている。CPUなどのメモリコントローラ部11を含んだデバイスの端子とDDRメモリのDQ端子を接続する80bitのデータバス32のうち、ビット0のバスはシンク電流が流れ、ビット1のバスはソース電流が流れる。
In this 80-bit bit string, the difference between the number of
例えば、シンク/ソース電流が10mAであったとすると、従来の8B/10Bエンコーダ/デコーダ部13が無い構成では、シンク電流が10mA×80bitでVtt電源は800mAの電流を供給することになる。これに対して、この実施形態のメモリコントローラ1によれば、シンク電流が10mA×40bitとなり、ソース電流が10mA×40bitとなり、シンク電流とソース電流とは互いの電流の向きが逆であるため相殺されてVtt電源に流れる電流はゼロとなるのである。
For example, if the sink / source current is 10 mA, the sink current is 10 mA × 80 bits and the Vtt power supply supplies a current of 800 mA in the configuration without the conventional 8B / 10B encoder /
次に、制御部12がDDRメモリ部2からデータを読み出すときの動作を説明する。
Next, an operation when the
CPUなどの制御部12がDDRメモリ部2からの読み出しを実施する場合は、DDRメモリ部2から出力されたデータが、メモリコントローラ部11を経由して、8B/10Bエンコーダ/デコーダ部13に入力される。8B/10Bエンコーダ/デコーダ部13は、入力された80bitを、64bitに変換して制御部2に与える。
When the
例えば、上記の書き込み処理の動作説明で、DDRメモリ部2に書き込んだアドレスからデータを読み出す場合を例示する。このとき、DDRメモリ部2から出力される80bitのビット列は、書き込み時と同じ「1101_000110_0010_111001_1101_000110_0010_111001_1101_000110_0010_111001_1101_000110_0010_111001」となる。
For example, in the above description of the operation of the writing process, a case where data is read from an address written in the
ビット0はシンク電流が流れ、ビット1はソース電流が流れる。シンク/ソース電流が10mAであったとすると、シンク電流が10mA×40bit、ソース電流が10mA×40bit、互いの電流の向きが逆であるため相殺されて、書き込み時と同様Vtt電源に流れる電流はゼロとなる。
In
メモリコントローラ部11を経由して8B/10Bエンコーダ/デコーダ部13に入力された80bitのデータは、まず5B/6B符号変換テーブルの「RD−(書き込み時の初期RDを−としていたため)」から、最下位の1ビット目〜6ビット目の6bit(111001)のパターンを検索し、該当する元のデータ(00000)へ復元する。
The 80-bit data input to the 8B / 10B encoder /
ここで、8B/10Bエンコーダ/デコーダ部13は、直前までの符号変換後のビット列(1ビット目〜6ビット目の6bit)(111001)のビット0とビット1の累積差分は、ビット0の数<ビット1の数である。
Here, the 8B / 10B encoder /
次に、8B/10Bエンコーダ/デコーダ部13は、その上の7ビット目〜10ビット目の4bit(0010)を3B/4B符号変換テーブルの「RD+」より検索し、7ビット目〜10ビット目の4bit(0010)を元のデータ(000)へ復元する。
Next, the 8B / 10B encoder /
これ以後、同様にデータを復元していくと、64bitのデータは「000_00000_000_00000_000_00000_000_00000_000_00000_000_00000_000_00000_000_00000」(すべてゼロ)となり、元のデータに復元することができるのである。 Thereafter, when the data is restored in the same manner, the 64-bit data becomes “000_00000_000_00000_000_00000_000_00000_000_00000_000_00000_000_00000_000_00000” (all zeros), and can be restored to the original data.
なお、各符号変換テーブルを用いて元のデータへ復元する際に、符号変換テーブルにはないパターンとなっていれば、書き込み時もしくは読み出し時にbit誤り(エラー)が発生していることを検出することが可能である。 When restoring to the original data using each code conversion table, if the pattern does not exist in the code conversion table, it is detected that a bit error (error) has occurred during writing or reading. It is possible.
これまではDDRメモリ部2は個別のDDRメモリデバイスを5つ搭載した形態で説明をしたが、例えば複数のDDRメモリで構成されたDIMM(Dual Inline Memory Module)に対し、書き込みまたは読み出しを実施する構成としてもよい。一般的にDIMMは64bit以上のデータバスであるため、64bitのデータバスで考えると、CPUなどの制御部2からDDRメモリ部2へ書き込みを実施したいデータは8B/10Bエンコーダ/デコーダ部13の8B/10B符号変換により、20%のオーバヘッドをもつことになる。つまり64bitのうち48bitが制御部2からの有効データであり、12bitがオーバヘッド、残りの4bitは未使用となる。
Up to now, the
(A−3)実施形態の効果
以上のように、この実施形態によれば、DDRメモリに書き込むデータに8B/10B符号変換を施すことで、DDRメモリへのデータ書き込み時および読み出し時のデータバスのHighレベルとなるbitとLowレベルとなるbitの数の差は±2もしくは0となる。データバスのSSTLインタフェースの終端抵抗に流れるシンク電流、ソース電流は、HighとLowのbit数の差が0の場合はシンク電流、ソース電流がすべて相殺され、終端抵抗の電源としては電流を消費しない。また、HighとLowのbit数の差が±2の場合でもほとんどのシンク電流、ソース電流は相殺され、電源としては最小限の消費電流で済むという効果が得られる。また、消費電流を極力低く抑えているため、電流が急激に変化しない、すなわち磁界や電界が急激に変化しないためノイズの発生を抑制することができ、誤動作のリスクを低減することが可能となる。
(A-3) Effect of Embodiment As described above, according to this embodiment, the data bus at the time of data writing to and reading from the DDR memory is obtained by performing 8B / 10B code conversion on the data to be written to the DDR memory. The difference between the number of high level bits and the number of low level bits is ± 2 or 0. The sink current and source current flowing through the termination resistor of the SSTL interface of the data bus are all canceled out when the difference between the number of bits of High and Low is 0, and no current is consumed as the power supply for the termination resistor. . Further, even when the difference between the number of bits of High and Low is ± 2, most of the sink current and source current are canceled out, and an effect that a minimum current consumption is sufficient for the power supply can be obtained. In addition, since the current consumption is kept as low as possible, the current does not change abruptly, that is, the magnetic field or the electric field does not change abruptly, so that the generation of noise can be suppressed and the risk of malfunction can be reduced. .
また、この実施形態によれば、8B/10B符号変換により元のデータに復元する際、DDRメモリより読み出したデータが符号変換テーブルにないデータであればデータが誤っているとしてエラーを検出することが可能である。 Further, according to this embodiment, when restoring to the original data by 8B / 10B code conversion, if the data read from the DDR memory is not in the code conversion table, an error is detected as erroneous data. Is possible.
(B)他の実施形態
上述した実施形態では、SSTLインタフェースを具備したDDRメモリについて説明したが、HSTLインタフェースを具備したQDRメモリについても同様の終端抵抗を使用するため適用が可能である。
(B) Other Embodiments In the above-described embodiments, the DDR memory having the SSTL interface has been described. However, the QDR memory having the HSTL interface can be applied because the same termination resistor is used.
1…メモリコントローラ、11…メモリコントローラ部、12…制御部、13…8B/10Bエンコーダ/デコーダ部、2…DDRメモリ部、21…SSTLインタフェース、31…アドレス/制御線、32…データバス。
DESCRIPTION OF
Claims (9)
入力データのビット列を、消費電力値の小さくなる論理値を含むビット列に変換し、その変換後ビット列を上記メモリ装置に書き込む書き込み工程と、
上記メモリ装置に書き込んだ上記変換後ビット列を、書き込み前のビット列に逆変換してデータを読み出す読み出し工程と
を有することを特徴とするメモリ装置への書き込み及び読み出し制御方法。 A method of controlling writing and reading to a memory device including a power supply interface unit that supplies power to the memory device by changing a direction of a current flowing through a termination resistor according to an output state of the memory device,
A step of converting the bit string of the input data into a bit string including a logical value with a low power consumption value, and writing the converted bit string into the memory device;
A method for controlling writing to and reading from a memory device, comprising: a step of reversely converting the converted bit string written in the memory device into a bit string before writing and reading the data.
上記変換後ビット列を構成する異なる論理値の数が同数又は近似した数となるように、入力データのビット列を上記変換後ビット列に変換し、
上記変換後ビット列に応じた出力信号を上記メモリ装置に書き込む
ことを特徴とする請求項1に記載のメモリ装置への書き込み及び読み出し制御方法。 The writing step is
The bit string of the input data is converted into the bit string after conversion so that the number of different logical values constituting the bit string after conversion is the same number or an approximate number,
The method for controlling writing and reading in a memory device according to claim 1, wherein an output signal corresponding to the converted bit string is written in the memory device.
上記電源供給インタフェース部の上記終端抵抗に流れるソース電流とシンク電流とが相殺されるように、入力データのビット列を上記変換後ビット列に変換し、
上記変換後ビット列に応じた出力信号を上記メモリ装置に書き込む
ことを特徴とする請求項1に記載のメモリ装置への書き込み及び読み出し制御方法。 The writing step is
The input data bit string is converted into the converted bit string so that the source current and the sink current flowing through the termination resistor of the power supply interface unit are offset,
The method for controlling writing and reading in a memory device according to claim 1, wherein an output signal corresponding to the converted bit string is written in the memory device.
上記読み出し工程が、上記所定の符号変換テーブルを用いて、上記変換後ビット列を逆変換する
ことを特徴とする請求項1〜3のいずれかに記載のメモリ装置への書き込み及び読み出し制御方法。 The writing step converts a bit string of input data into the converted bit string using a predetermined code conversion table,
The method for controlling writing and reading to a memory device according to any one of claims 1 to 3, wherein the reading step reversely converts the converted bit string using the predetermined code conversion table.
上記読み出し工程が、上記メモリ装置からの変換後ビット列に含まれる10ビットを8ビットに変換する
ことを特徴とする請求項1〜4のいずれかに記載のメモリ装置への書き込み及び読み出し制御方法。 The writing step converts 8 bits included in the bit string of the input data into 10 bits,
5. The method for controlling writing and reading in a memory device according to claim 1, wherein the reading step converts 10 bits included in a bit string after conversion from the memory device into 8 bits.
入力データのビット列から抽出した8ビットを、所定規則により3ビット群又は5ビット群に割り当て、
3ビット群を4ビット群に変換し、
5ビット群を6ビット群に変換する
ことを特徴とする請求項5に記載のメモリ装置への書き込み及び読み出し制御方法。 The writing step is
8 bits extracted from a bit string of input data are assigned to a 3 bit group or a 5 bit group according to a predetermined rule,
Convert 3 bit group to 4 bit group,
6. The method of controlling writing and reading to a memory device according to claim 5, wherein the 5-bit group is converted into a 6-bit group.
入力データのビット列から抽出した8ビットを、所定規則により5ビット群又は3ビット群に割り当て、
5ビット群を6ビット群に変換し、
3ビット群を4ビット群に変換する
ことを特徴とする請求項5に記載のメモリ装置への書き込み及び読み出し制御方法。 The writing step is
8 bits extracted from the bit string of the input data are assigned to 5 bit groups or 3 bit groups according to a predetermined rule,
Convert 5 bit group to 6 bit group,
6. The method for controlling writing and reading to a memory device according to claim 5, wherein a 3-bit group is converted into a 4-bit group.
入力データのビット列を、消費電力値の小さくなる論理値を含むビット列に変換し、その変換後ビット列を書き込む書き込み手段と、
上記メモリ装置に書き込んだ上記変換後ビット列を、書き込み前のビット列に逆変換してデータを読み出す読み出し手段と
を備えることを特徴とするメモリ装置。 In a memory device including a power supply interface unit that supplies power to the memory device by changing the direction of the current flowing through the termination resistor according to the output state of the memory device,
A writing means for converting a bit string of input data into a bit string including a logical value with a low power consumption value and writing the bit string after the conversion;
A memory device comprising: a reading unit that reversely converts the converted bit string written in the memory device into a bit string before writing and reads data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015045805A JP6398801B2 (en) | 2015-03-09 | 2015-03-09 | Data write / read control method for memory device and memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015045805A JP6398801B2 (en) | 2015-03-09 | 2015-03-09 | Data write / read control method for memory device and memory device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016167125A true JP2016167125A (en) | 2016-09-15 |
JP6398801B2 JP6398801B2 (en) | 2018-10-03 |
Family
ID=56898487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015045805A Active JP6398801B2 (en) | 2015-03-09 | 2015-03-09 | Data write / read control method for memory device and memory device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6398801B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016184233A (en) * | 2015-03-25 | 2016-10-20 | アイシン・エィ・ダブリュ株式会社 | Memory controller |
JP2019153368A (en) * | 2018-02-28 | 2019-09-12 | 株式会社東芝 | Magnetic memory and memory system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5910056A (en) * | 1982-06-30 | 1984-01-19 | インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン | Code producing system |
WO2001080249A1 (en) * | 2000-04-19 | 2001-10-25 | Fujitsu Limited | Data write/read control method and memory device |
JP2002366419A (en) * | 2001-06-07 | 2002-12-20 | Mitsubishi Electric Corp | Data processor and data processing method |
JP2005520458A (en) * | 2001-05-31 | 2005-07-07 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Parallel data communication that consumes low power |
JP2010204881A (en) * | 2009-03-03 | 2010-09-16 | Sony Corp | Information processing apparatus, method, and program |
WO2010146715A1 (en) * | 2009-06-19 | 2010-12-23 | 富士通株式会社 | Data transfer method, code conversion circuit, and device |
JP2011123609A (en) * | 2009-12-09 | 2011-06-23 | Toshiba Corp | Semiconductor device and memory system |
-
2015
- 2015-03-09 JP JP2015045805A patent/JP6398801B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5910056A (en) * | 1982-06-30 | 1984-01-19 | インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン | Code producing system |
WO2001080249A1 (en) * | 2000-04-19 | 2001-10-25 | Fujitsu Limited | Data write/read control method and memory device |
JP2005520458A (en) * | 2001-05-31 | 2005-07-07 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Parallel data communication that consumes low power |
JP2002366419A (en) * | 2001-06-07 | 2002-12-20 | Mitsubishi Electric Corp | Data processor and data processing method |
JP2010204881A (en) * | 2009-03-03 | 2010-09-16 | Sony Corp | Information processing apparatus, method, and program |
WO2010146715A1 (en) * | 2009-06-19 | 2010-12-23 | 富士通株式会社 | Data transfer method, code conversion circuit, and device |
JP2011123609A (en) * | 2009-12-09 | 2011-06-23 | Toshiba Corp | Semiconductor device and memory system |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016184233A (en) * | 2015-03-25 | 2016-10-20 | アイシン・エィ・ダブリュ株式会社 | Memory controller |
JP2019153368A (en) * | 2018-02-28 | 2019-09-12 | 株式会社東芝 | Magnetic memory and memory system |
Also Published As
Publication number | Publication date |
---|---|
JP6398801B2 (en) | 2018-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102625427B1 (en) | Apparatuses and methods for multi-bit duty cycle monitor | |
US9805787B2 (en) | Calibration circuit and memory device including the same | |
JP7258523B2 (en) | Memory device, memory system and method of operation | |
US20120113732A1 (en) | Pseudo-open drain type output driver having de-emphasis function, semiconductor memory device, and control method thereof | |
US10372330B1 (en) | Apparatuses and methods for configurable memory array bank architectures | |
US20100332718A1 (en) | System and method for providing configurable latency and/or density in memory devices | |
US8917570B2 (en) | Memory device and method for operating the same | |
KR20170054182A (en) | Semiconductor device | |
US11573916B2 (en) | Apparatuses and methods for writing data to a memory | |
US11923038B2 (en) | Apparatuses and methods including multilevel command and address signals | |
JP6398801B2 (en) | Data write / read control method for memory device and memory device | |
US9659608B2 (en) | Semiconductor memory apparatus, and method for training reference voltage | |
US10714161B2 (en) | Semiconductor device | |
US11869574B2 (en) | Semiconductor memory device and memory system including the same | |
US9747970B2 (en) | Refresh circuit | |
JP2016005075A (en) | Semiconductor device | |
CN113314177A (en) | Apparatus, system, and method for latch reset logic | |
US20090122856A1 (en) | Method and apparatus for encoding data | |
JP2015207333A (en) | Semiconductor device and information processing system including the same | |
US8635418B2 (en) | Memory system and method for passing configuration commands | |
KR102545175B1 (en) | Operating method of memeory device including address table and memory controller thereof | |
US10417145B2 (en) | Memory system including a plurality of memory devices having different latencies and operation method thereof | |
US20130113516A1 (en) | Termination circuit and dc balance method thereof | |
JP2015204120A (en) | Semiconductor device and information processing system | |
JP2010020433A (en) | Memory module |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180718 |
|
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: 20180807 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180820 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6398801 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |