JP2020170904A - Semiconductor device and system - Google Patents

Semiconductor device and system Download PDF

Info

Publication number
JP2020170904A
JP2020170904A JP2019070147A JP2019070147A JP2020170904A JP 2020170904 A JP2020170904 A JP 2020170904A JP 2019070147 A JP2019070147 A JP 2019070147A JP 2019070147 A JP2019070147 A JP 2019070147A JP 2020170904 A JP2020170904 A JP 2020170904A
Authority
JP
Japan
Prior art keywords
data
inversion
logic
inverting
inverted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019070147A
Other languages
Japanese (ja)
Inventor
明夫 常世田
Akio Tokiyoda
明夫 常世田
須賀 誠
Makoto Suga
誠 須賀
剛 橋本
Takeshi Hashimoto
剛 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019070147A priority Critical patent/JP2020170904A/en
Publication of JP2020170904A publication Critical patent/JP2020170904A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Dc Digital Transmission (AREA)

Abstract

To reduce the power consumption of a semiconductor device without reducing the efficiency of data transmission.SOLUTION: A semiconductor device includes a first inversion portion that inverts the logic of first partial data in which data is divided into a plurality of pieces of data and enables first inversion information assigned to each first partial data when the number of changes in the bit value exceeds half of the number of bits for each of first partial data compared with the previous transmission, a second inversion portion that determines whether to invert the logic of second partial data in which data is divided into a plurality of pieces of data, which is supplied as the first partial data to the first inversion portion according to the ratio in which the number of changes in the bit value exceeds half of the number of bits compared to the previous transmission, and enables second inversion information when the logic is inverted, and a transmission portion that transmits the first inversion information and the second inversion information together with the first partial data generated by the first inversion portion.SELECTED DRAWING: Figure 1

Description

本発明は、半導体装置およびシステムに関する。 The present invention relates to semiconductor devices and systems.

データバスを介して装置間で伝送されるデータが”0”に駆動される頻度を下げて電力消費の増加を抑制するために、データの伝送サイクル後のサイクルを用いて、ビット値を反転させたことを示すデータバス反転ベクトルが伝送される。また、デーバス反転ベクトルのビット値を反転させたことを示すグローバルデータバス反転標識がデータマスク線を利用して伝送される。(例えば、特許文献1参照)。 In order to reduce the frequency with which data transmitted between devices via the data bus is driven to "0" and suppress an increase in power consumption, the bit value is inverted using the cycle after the data transmission cycle. A data bus inversion vector indicating that is transmitted. In addition, a global data bus inversion indicator indicating that the bit value of the dabus inversion vector has been inverted is transmitted using the data mask line. (See, for example, Patent Document 1).

メモリとCPU(Central Processing Unit)との間で伝送されるデータにおいて所定の論理値の出現率を高くするために、データの反転処理が行われ、データの反転を示す反転/非反転信号がデータとともに出力される(例えば、特許文献2参照)。 In order to increase the appearance rate of a predetermined logical value in the data transmitted between the memory and the CPU (Central Processing Unit), data inversion processing is performed, and an inversion / non-inversion signal indicating data inversion is data. Is output together with (for example, see Patent Document 2).

特表2013−524383号公報Special Table 2013-524383 特開2006−203756号公報Japanese Unexamined Patent Publication No. 2006-203756

データの伝送サイクルに加えてデータバス反転ベクトルの伝送サイクルを設ける場合、データを受信したサイクルでデータの論理を再生することができない。この結果、データの伝送に寄与しないサイクルが挿入されることで、データの伝送効率が低下し、単位データの伝送当たりに消費される電力が増加する。 When a data bus inversion vector transmission cycle is provided in addition to the data transmission cycle, the data logic cannot be reproduced in the cycle in which the data is received. As a result, by inserting a cycle that does not contribute to data transmission, the data transmission efficiency is lowered and the power consumed per unit data transmission is increased.

1つの側面では、本発明は、データの伝送効率を低下させることなく、半導体装置の消費電力を削減することを目的とする。 In one aspect, the present invention aims to reduce the power consumption of a semiconductor device without reducing the efficiency of data transmission.

一つの観点によれば、半導体装置は、データを複数に分けた第1の部分データ毎に、前回の送信に比べてビット値の変化数がビット数の半数を超える場合、第1の部分データの論理を反転し、第1の部分データ毎に割り当てられた第1の反転情報を有効にする第1の反転部と、データを複数に分けた第2の部分データにおいて、前回の送信に比べてビット値の変化数がビット数の半数を超える比率に応じて、前記第1の反転部に第1の部分データとして供給する第2の部分データの論理を反転するかを判定し、論理を反転する場合、第2の反転情報を有効にする第2の反転部と、前記第1の反転部が生成した前記第1の部分データとともに、前記第1の反転情報と前記第2の反転情報とを送信する送信部と、を有することを特徴とする。 According to one viewpoint, in the semiconductor device, when the number of changes in the bit value exceeds half of the number of bits in each of the first partial data in which the data is divided into a plurality of data, the first partial data In the first inversion part that inverts the logic of and enables the first inversion information assigned to each first partial data, and in the second partial data in which the data is divided into a plurality of data, compared with the previous transmission. It is determined whether to invert the logic of the second partial data supplied as the first partial data to the first inversion portion according to the ratio in which the number of changes in the bit value exceeds half of the number of bits, and the logic is determined. In the case of inversion, the first inversion information and the second inversion information are provided together with the second inversion portion that enables the second inversion information and the first partial data generated by the first inversion portion. It is characterized by having a transmission unit for transmitting and.

1つの側面では、本発明は、データの伝送効率を低下させることなく、半導体装置の消費電力を削減することができる。 In one aspect, the present invention can reduce the power consumption of a semiconductor device without reducing the data transmission efficiency.

一実施形態における半導体装置を含むシステムの一例を示すブロック図である。It is a block diagram which shows an example of the system including the semiconductor device in one Embodiment. 別の実施形態における半導体装置を有するシステム・イン・パッケージの一例を示す側面図である。It is a side view which shows an example of the system-in-package which has a semiconductor device in another embodiment. 図2の積層メモリとプロセッサチップとの間で送受信されるデータの構成の一例を示す説明図である。It is explanatory drawing which shows an example of the structure of the data which is transmitted and received between the stacked memory of FIG. 2 and a processor chip. データマスク領域への全反転ビットの割り当ての一例を示す説明図である。It is explanatory drawing which shows an example of the allocation of all inversion bits to a data mask area. 図2のプロセッサチップの一例を示すブロック図である。It is a block diagram which shows an example of the processor chip of FIG. 図2のプロセッサチップから積層メモリに送信するデータの一例を示す説明図である。It is explanatory drawing which shows an example of the data transmitted from the processor chip of FIG. 2 to the stacked memory. 図2のプロセッサチップから積層メモリに送信するデータの別の例を示す説明図である。It is explanatory drawing which shows another example of the data transmitted from the processor chip of FIG. 2 to the stacked memory. 図2のプロセッサチップから積層メモリに送信するデータのさらなる別の例を示す説明図である。It is explanatory drawing which shows another example of the data transmitted from the processor chip of FIG. 2 to the stacked memory. 図2のプロセッサチップが積層メモリにデータを送信する場合の動作の一例を示すフロー図である。It is a flow chart which shows an example of the operation when the processor chip of FIG. 2 transmits data to a stacked memory. 図1のプロセッサチップが積層メモリからデータを受信する場合の動作の一例を示すフロー図である。It is a flow chart which shows an example of the operation when the processor chip of FIG. 1 receives data from a stacked memory. 別の実施形態の半導体装置におけるデータマスク領域の割り当ての一例を示す説明図である。It is explanatory drawing which shows an example of the allocation of the data mask area in the semiconductor device of another embodiment. 図11のデータマスク領域の割り当てが適用されるプロセッサチップの一例を示すブロック図である。It is a block diagram which shows an example of the processor chip to which the allocation of the data mask area of FIG. 11 is applied. 図11のデータマスク領域の割り当てが適用されるプロセッサチップの動作の概要を示す説明図である。It is explanatory drawing which shows the outline of the operation of the processor chip to which the allocation of the data mask area of FIG. 11 is applied. 図11のデータマスク領域の割り当てが適用されるプロセッサチップから積層メモリに送信するデータの一例を示す説明図である。It is explanatory drawing which shows an example of the data which is transmitted to the stacked memory from the processor chip to which the allocation of the data mask area of FIG. 11 is applied. 図11のデータマスク領域の割り当てが適用されるプロセッサチップから積層メモリにデータを送信する場合の動作の一例を示すフロー図である。FIG. 5 is a flow chart showing an example of an operation when data is transmitted from the processor chip to which the allocation of the data mask area of FIG. 11 is applied to the stacked memory. 図11のデータマスク領域の割り当てが適用されるプロセッサチップが積層メモリからデータを受信する場合の動作の一例を示すフロー図である。FIG. 5 is a flow chart showing an example of an operation when the processor chip to which the allocation of the data mask area of FIG. 11 is applied receives data from the stacked memory.

以下、図面を用いて実施形態を説明する。 Hereinafter, embodiments will be described with reference to the drawings.

図1は、一実施形態における半導体装置を含むシステムの一例を示す。図1に示す例では、システム100は、一対の半導体装置1a、1bを有する。例えば、半導体装置1aは、CPU等のプロセッサであり、半導体装置1bは、メモリである。しかしながら、半導体装置1a、1bは、上記に限定されず、例えば、CPUとGPU(Graphics Processing Unit)でもよく、CPUとロジックデバイスでもよい。 FIG. 1 shows an example of a system including a semiconductor device in one embodiment. In the example shown in FIG. 1, the system 100 has a pair of semiconductor devices 1a and 1b. For example, the semiconductor device 1a is a processor such as a CPU, and the semiconductor device 1b is a memory. However, the semiconductor devices 1a and 1b are not limited to the above, and may be, for example, a CPU and a GPU (Graphics Processing Unit), or a CPU and a logic device.

図1は、半導体装置1a、1bにおいて、データDTを送受信するインタフェース部分を示している。半導体装置1a、1bは、図に示した要素以外にも、データDTを処理する回路や、データDTを記憶する回路等を有する。半導体装置1a、1bのインタフェース部分は、互いに同じ構成であるため、以下では、半導体装置1aについて説明する。なお、システム100がシステム・イン・パッケージの場合、データDTを送受信するインタフェース部分は、後述する図2の入出力インタフェース部PHYに相当する。 FIG. 1 shows an interface portion for transmitting and receiving data DT in semiconductor devices 1a and 1b. In addition to the elements shown in the drawings, the semiconductor devices 1a and 1b include a circuit for processing data DT, a circuit for storing data DT, and the like. Since the interface portions of the semiconductor devices 1a and 1b have the same configuration as each other, the semiconductor device 1a will be described below. When the system 100 is a system-in-package, the interface portion for transmitting and receiving data DT corresponds to the input / output interface portion PHY of FIG. 2 described later.

半導体装置1aは、第2の反転部2、第1の反転部3、送信部4、受信部5、第3の反転部6および第4の反転部7を有する。 The semiconductor device 1a has a second inversion unit 2, a first inversion unit 3, a transmission unit 4, a reception unit 5, a third inversion unit 6, and a fourth inversion unit 7.

第1の反転部3は、前回の送信したデータDTに対する今回送信するデータDTのビット値の変化数を算出する。第1の反転部3は、データDTを複数に分けた第1の部分データDT10−DT13毎に、前回の送信時に比べてビット値の変化数(すなわち、論理の反転数)がビット数の半数を超えるかを判定する。そして、第1の反転部3は、ビット値の変化数がビット数の半数を超える第1の部分データDTの論理を反転する。第1の反転部3は、論理を反転した第1の部分データDTに対応して割り当てられた第1の反転情報IV(IV10−IV13)を有効状態(例えば、論理1)に設定する。そして、第1の反転部3は、第1の部分データDT10−DT13と反転情報IV10−IV13とを送信部4に出力する。 The first inversion unit 3 calculates the number of changes in the bit value of the data DT transmitted this time with respect to the data DT transmitted last time. In the first inversion unit 3, the number of changes in the bit value (that is, the number of logic inversions) is half of the number of bits for each of the first partial data DT10-DT13 obtained by dividing the data DT into a plurality of data DT10-DT13. Determine if it exceeds. Then, the first inversion unit 3 inverts the logic of the first partial data DT in which the number of changes in the bit value exceeds half of the number of bits. The first inversion unit 3 sets the first inversion information IV (IV10-IV13) assigned corresponding to the first partial data DT whose logic is inverted to the valid state (for example, logic 1). Then, the first inversion unit 3 outputs the first partial data DT10-DT13 and the inversion information IV10-IV13 to the transmission unit 4.

第2の反転部2は、前回送信したデータDTに対する今回送信すると予測されるデータDTのビット値の変化数を算出する。なお、図示は省略するが、第2の反転部2は、前回送信したデータDTを第1の反転部3から受信してもよい。第2の反転部2は、データDTを複数に分けた第2の部分データDT(DT20−DT23)において、前回の送信に比べてビット値の変化数がビット数の半数を超えるかを判定する。なお、図1では、第1の部分データDTの数と第2の部分データDTの数とを等しくしているが、例えば、第2の部分データDTの数は、第1の部分データDTの数より多くてもよい。図1に示す例では、データDT=第1の部分データDT10−DT13=第2の部分データDT20−DT23の関係が成立する。 The second inversion unit 2 calculates the number of changes in the bit value of the data DT predicted to be transmitted this time with respect to the previously transmitted data DT. Although not shown, the second inversion unit 2 may receive the previously transmitted data DT from the first inversion unit 3. The second inversion unit 2 determines whether the number of changes in the bit value exceeds half of the number of bits in the second partial data DT (DT20-DT23) in which the data DT is divided into a plurality of parts as compared with the previous transmission. .. In FIG. 1, the number of the first partial data DT and the number of the second partial data DT are equal to each other. For example, the number of the second partial data DT is the number of the first partial data DT. It may be more than the number. In the example shown in FIG. 1, the relationship of data DT = first partial data DT10-DT13 = second partial data DT20-DT23 is established.

第2の反転部2は、複数の第2の部分データDTのうち、ビット値の変化数がビット数の半数を超える第2の部分データDTの比率に応じて、第1の反転部3に供給する第2の部分データDTの論理を反転するかを判定する。例えば、第2の反転部2は、上記比率が0.5を超える場合、第1の反転部3に供給する第2の部分データDTの論理を反転する。第2の反転部2は、第2の部分データDTの論理を反転する場合、第2の反転情報IV2を有効状態(例えば、論理1)に設定する。 The second inversion unit 2 is attached to the first inversion unit 3 according to the ratio of the second partial data DT in which the number of changes in the bit value exceeds half of the number of bits among the plurality of second partial data DTs. It is determined whether to invert the logic of the second partial data DT to be supplied. For example, when the ratio exceeds 0.5, the second inversion unit 2 inverts the logic of the second partial data DT supplied to the first inversion unit 3. When the logic of the second partial data DT is inverted, the second inversion unit 2 sets the second inversion information IV2 to the valid state (for example, the logic 1).

以下では、第1の反転部3が、判定結果に基づき、反転情報IV10−IV13のうち第1の反転情報IV10−IV12を有効状態に設定し、有効状態に設定した第1の反転情報IVに対応する第1の部分データDT10−DT12の論理を反転したとする。この場合、例えば、第2の反転部2は、前回の送信に比べて、第1の部分データDT10−DT12に対応する第2の部分データDT20−DT22のビット値の変化数が半数を超えると判定する。 In the following, the first reversing unit 3 sets the first reversing information IV10-IV12 of the reversing information IV10-IV13 to the valid state based on the determination result, and sets the first reversing information IV set to the valid state. It is assumed that the logic of the corresponding first partial data DT10-DT12 is reversed. In this case, for example, in the second inversion unit 2, when the number of changes in the bit value of the second partial data DT20-DT22 corresponding to the first partial data DT10-DT12 exceeds half as compared with the previous transmission. judge.

すなわち、第2の反転部2は、ビット値の変化数が半数を超える第2の部分データDTの数の比率が、50%を超えると判定する。この例では、第2の部分データDTの75%において、ビット値の変化数が半数を超える。第2の反転部2は、過半数の第2の部分データDTにおいて、ビット値の変化数が半数を超える場合、第1の反転部3に供給する第2の部分データDTの論理を予め反転する。 That is, the second inversion unit 2 determines that the ratio of the number of the second partial data DTs in which the number of changes in the bit value exceeds half exceeds 50%. In this example, in 75% of the second partial data DT, the number of changes in the bit value exceeds half. The second inversion unit 2 inverts in advance the logic of the second partial data DT supplied to the first inversion unit 3 when the number of changes in the bit value exceeds half in the majority of the second partial data DT. ..

第1の反転部3は、受信した第2の部分データDTのうち、ビット値の変化数が半数を超える第2の部分データDTがないと判定し、第1の反転情報IV10−IV12の論理を無効状態に維持する。これにより、第1の部分データDT10−DT12の論理が反転されて、反転情報IV10−IV12の論理が有効状態に反転されることを抑止することができる。 The first inversion unit 3 determines that among the received second partial data DTs, there is no second partial data DT in which the number of changes in the bit value exceeds half, and the logic of the first inversion information IV10-IV12. Keeps disabled. As a result, it is possible to prevent the logic of the first partial data DT10-DT12 from being inverted and the logic of the inverted information IV10-IV12 being inverted to the valid state.

送信部4は、例えば、第1の反転部3が生成した第1の部分データDT10−DT13および第1の反転情報IV10−IV13を送信するサイクルで、第2の反転部2が生成した第2の反転情報IV2を送信する。なお、第2の反転情報IV2は、第1の反転部3を経由することなく送信部4に直接出力されてもよい。 The transmission unit 4 transmits, for example, the first partial data DT10-DT13 generated by the first inversion unit 3 and the first inversion information IV10-IV13, and the second inversion unit 2 generates the second inversion information IV10-IV13. Inversion information IV2 of is transmitted. The second inversion information IV2 may be directly output to the transmission unit 4 without passing through the first inversion unit 3.

例えば、送信部4が、第1の部分データDTおよび第1の反転情報IV以外に、用途を定めない所定のビット数の付加情報を送信する場合、第2の反転情報IV2は付加情報に含めて送信される。なお、半導体装置1aが第1の部分データDTの誤り検出・訂正符号を生成する符号生成部を有する場合、送信部4は、誤り検出・訂正符号を付加情報の一部として送信し、第2の反転情報IVを付加情報の他の一部として送信してもよい。 For example, when the transmission unit 4 transmits additional information having a predetermined number of bits for which the purpose is not defined, in addition to the first partial data DT and the first inversion information IV, the second inversion information IV2 is included in the additional information. Will be sent. When the semiconductor device 1a has a code generation unit that generates an error detection / correction code of the first partial data DT, the transmission unit 4 transmits the error detection / correction code as a part of the additional information, and the second The inverted information IV of the above may be transmitted as another part of the additional information.

この実施形態では、第2の反転部2の動作により、論理が反転される第1の反転情報IVの数を削減することができるため、半導体装置1aから半導体装置1bに送信される信号において、論理が変化するビット数を削減することができる。また、第2の反転情報IV2は、第1の部分データDT10−DT13および第1の反転情報IV10−IV13とともに送信される。換言すれば、第2の反転情報IV2を半導体装置1bに転送するサイクルが新たに設けられることはない。したがって、データDTの伝送効率を低下させることなく、半導体装置1a、1bのインタフェース部分の消費電力を削減することができる。 In this embodiment, since the number of the first inversion information IV whose logic is inverted can be reduced by the operation of the second inversion unit 2, the signal transmitted from the semiconductor device 1a to the semiconductor device 1b can be reduced. The number of bits whose logic changes can be reduced. Further, the second inversion information IV2 is transmitted together with the first partial data DT10-DT13 and the first inversion information IV10-IV13. In other words, there is no new cycle for transferring the second inversion information IV2 to the semiconductor device 1b. Therefore, the power consumption of the interface portion of the semiconductor devices 1a and 1b can be reduced without lowering the transmission efficiency of the data DT.

一方、受信部5は、データの送信元の半導体装置1bから第1の部分データDT10−DT13とともに、第1の反転情報IV10−IV13および第2の反転情報IV2を受信する。受信部5は、受信した第1の部分データDT10−DT13、第1の反転情報IV10−IV13および第2の反転情報IV2を第3の反転部6に出力する。なお、第2の反転情報IV2は、第3の反転部6を経由することなく第4の反転部7に直接出力されてもよい。 On the other hand, the receiving unit 5 receives the first inverted information IV10-IV13 and the second inverted information IV2 together with the first partial data DT10-DT13 from the semiconductor device 1b from which the data is transmitted. The receiving unit 5 outputs the received first partial data DT10-DT13, the first inverted information IV10-IV13, and the second inverted information IV2 to the third inverted unit 6. The second inversion information IV2 may be directly output to the fourth inversion unit 7 without passing through the third inversion unit 6.

第3の反転部6は、受信部5から受信した第1の部分データDT10−DT13と第1の反転情報IV10−IV13とに基づいて、有効状態の第1の反転情報IVに対応する第1の部分データDTの論理を反転する。第3の反転部6は、論理を反転した第1の部分データDTを含むデータDTを、第2の部分データDT20−DT23として第4の反転部7に出力する。 The third reversing unit 6 corresponds to the first reversing information IV in the valid state based on the first partial data DT10-DT13 received from the receiving unit 5 and the first reversing information IV10-IV13. The logic of the partial data DT of is reversed. The third inversion unit 6 outputs the data DT including the first partial data DT whose logic is inverted to the fourth inversion unit 7 as the second partial data DT20-DT23.

第4の反転部7は、送信元の半導体装置1bから受信する第2の反転情報VI2に基づいて、有効状態の第2の反転情報IVに対応する第2の部分データDTの論理を反転することで、送信元の半導体装置1bから受信したデータDTを生成する。 The fourth inversion unit 7 inverts the logic of the second partial data DT corresponding to the second inversion information IV in the valid state based on the second inversion information VI2 received from the transmission source semiconductor device 1b. As a result, the data DT received from the semiconductor device 1b of the transmission source is generated.

以上、図1に示す実施形態では、論理が反転される第1の反転情報IVの数を削減することができ、半導体装置1aから半導体装置1bに送信される信号において、論理が変化するビット数を削減することができる。この結果、半導体装置1a、1b間の伝送路に、反転情報IVを伝送する新たな信号線を設けることなく、充放電量を削減することができ、システム100の消費電力を削減することができる。また、第1の反転情報IVおよび第2の反転情報IVは、第1の部分データDTとともに送受信されるため、データDTの伝送効率を低下させることなく、半導体装置1a、1bのインタフェース部分の消費電力を削減することができる。 As described above, in the embodiment shown in FIG. 1, the number of first inversion information IV whose logic is inverted can be reduced, and the number of bits whose logic changes in the signal transmitted from the semiconductor device 1a to the semiconductor device 1b. Can be reduced. As a result, the charge / discharge amount can be reduced and the power consumption of the system 100 can be reduced without providing a new signal line for transmitting the inverted information IV in the transmission line between the semiconductor devices 1a and 1b. .. Further, since the first inversion information IV and the second inversion information IV are transmitted and received together with the first partial data DT, the interface portion of the semiconductor devices 1a and 1b is consumed without lowering the transmission efficiency of the data DT. Power can be reduced.

図2は、別の実施形態における半導体装置を有するシステム・イン・パッケージの一例を示す。図2に示すシステム・イン・パッケージ102は、複数のメモリチップ10と1つのロジックチップ20とを積層した積層メモリ30と、プロセッサチップ40と、シリコンインターポーザ50と、パッケージ基板60とを有する。プロセッサチップ40および積層メモリ30は、半導体装置の一例である。なお、メモリチップ10の積層数は、4つに限定されない。以下では、プロセッサチップ40および積層メモリ30は、デバイスとも称される。 FIG. 2 shows an example of a system-in-package with semiconductor devices in another embodiment. The system-in-package 102 shown in FIG. 2 includes a stacked memory 30 in which a plurality of memory chips 10 and one logic chip 20 are laminated, a processor chip 40, a silicon interposer 50, and a package substrate 60. The processor chip 40 and the stacked memory 30 are examples of semiconductor devices. The number of stacked memory chips 10 is not limited to four. Hereinafter, the processor chip 40 and the stacked memory 30 are also referred to as devices.

例えば、メモリチップ10およびロジックチップ20は、それぞれTSV(Through-Silicon Via)を有しており、メモリチップ10とロジックチップ20とは、バンプとTSVとを介して相互に接続されている。図2は、システム・イン・パッケージ102を横から見た状態を示しており、バンプは、丸印で示されている。ロジックチップ20は、プロセッサチップ40に対して信号を入出力するための入出力インタフェース部PHYを有している。 For example, the memory chip 10 and the logic chip 20 each have a TSV (Through-Silicon Via), and the memory chip 10 and the logic chip 20 are connected to each other via bumps and TSVs. FIG. 2 shows the system-in-package 102 viewed from the side, with bumps indicated by circles. The logic chip 20 has an input / output interface unit PHY for inputting / outputting signals to / from the processor chip 40.

例えば、プロセッサチップ40は、GPU(Graphics Processing Unit)、CPUまたはSoC(System on a Chip)等であり、ロジックチップ20に対して信号を入出力するための入出力インタフェース部PHYを有している。プロセッサチップ40の入出力インタフェース部PHYとロジックチップ20の入出力インタフェース部PHYとは、シリコンインターポーザ50を介して相互に接続されている。 For example, the processor chip 40 is a GPU (Graphics Processing Unit), a CPU, a SoC (System on a Chip), or the like, and has an input / output interface unit PHY for inputting / outputting signals to / from the logic chip 20. .. The input / output interface PHY of the processor chip 40 and the input / output interface PHY of the logic chip 20 are connected to each other via a silicon interposer 50.

積層メモリ30のロジックチップ20は、バンプを介してシリコンインターポーザ50に接続され、プロセッサチップ40は、バンプを介してシリコンインターポーザ50に接続されている。ロジックチップ20の外部端子(バンプ)の一部およびプロセッサチップ40の外部端子(バンプ)の一部は、シリコンインターポーザ50を介してパッケージ基板60に接続される。パッケージ基板60において、図2の下側に示すバンプは、例えば、図示しない情報処理装置等(サーバ等)のマザーボード等に接続される。 The logic chip 20 of the stacked memory 30 is connected to the silicon interposer 50 via bumps, and the processor chip 40 is connected to the silicon interposer 50 via bumps. A part of the external terminal (bump) of the logic chip 20 and a part of the external terminal (bump) of the processor chip 40 are connected to the package substrate 60 via the silicon interposer 50. In the package substrate 60, the bump shown on the lower side of FIG. 2 is connected to, for example, a motherboard or the like of an information processing device or the like (server or the like) (not shown).

図3は、図2の積層メモリ30とプロセッサチップ40との間で送受信されるデータの構成の一例を示す。 FIG. 3 shows an example of the configuration of data transmitted / received between the stacked memory 30 of FIG. 2 and the processor chip 40.

図2に示すプロセッサチップ40は、読み出しアクセス要求または書き込みアクセス要求を積層メモリ30に発行する。図2に示す積層メモリ30は、読み出しアクセス要求に含まれるアドレス(例えば、カラムアドレス)の受信に基づいて、読み出しデータを4サイクル連続して出力するバースト機能を有している(バースト長BL=4)。プロセッサチップ40は、4サイクル連続して積層メモリ30から出力される読み出しデータを受信するバースト機能を有している。このため、図3では、読み出しアクセス要求に対応する1回のバースト動作により積層メモリから4サイクルで出力されるデータを示している。 The processor chip 40 shown in FIG. 2 issues a read access request or a write access request to the stacked memory 30. The stacked memory 30 shown in FIG. 2 has a burst function of continuously outputting read data for four cycles based on reception of an address (for example, a column address) included in a read access request (burst length BL =). 4). The processor chip 40 has a burst function of receiving read data output from the stacked memory 30 for four consecutive cycles. Therefore, FIG. 3 shows the data output from the stacked memory in four cycles by one burst operation corresponding to the read access request.

また、プロセッサチップ40は、データの書き込み先のアドレスを含む書き込みアクセス要求とともに、書き込みデータを積層メモリ30に出力する。プロセッサチップ40は、書き込み動作において、読み出し動作と同様に、カラムアドレスに基づいて書き込みデータを4サイクル連続して積層メモリ30に出力するバースト機能を有している。積層メモリ30は、4サイクル連続してプロセッサチップ40から出力される書き込みデータを受信するバースト機能を有している。 Further, the processor chip 40 outputs the write data to the stacked memory 30 together with the write access request including the address of the data write destination. In the write operation, the processor chip 40 has a burst function of continuously outputting write data to the stacked memory 30 for four cycles based on the column address, similar to the read operation. The stacked memory 30 has a burst function of receiving write data output from the processor chip 40 for four consecutive cycles.

なお、図3は、例えば、積層メモリ30の1チャネル当たりのデータDQを示しており、各メモリアクセスサイクルにおいて1チャネル当たり160ビットのデータDQが、積層メモリ30に対して入出力される。例えば、積層メモリ30が8チャネルを有する場合、図3の8倍のデータDQが、積層メモリ30とプロセッサチップ40との間で送受信される。1チャネルに対応する160ビットのデータDQは、128ビットのデータDQ(情報処理等が実施されるデータそのもの)と、16ビットの反転ビットDBI(Data Bus Inversion)と、8ビットのデータマスクDM(Data Mask)とを含む。以下では、データマスクDMが設定される領域をデータマスク領域DMとも称し、データマスク領域DMに設定されるビットをデータマスクビットDMとも称する。データマスクDMは、付加情報の一例である。160ビットのデータのうちの太枠で示す半分は、スードチャネル(Pseudo Channel)として割り当てられる。すなわち、1チャネルのデータは、2つのスードチャネルを含む。 Note that FIG. 3 shows, for example, the data DQ per channel of the stacked memory 30, and 160 bits of data DQ per channel is input / output to and from the stacked memory 30 in each memory access cycle. For example, when the stacked memory 30 has 8 channels, eight times as many data DQs as shown in FIG. 3 are transmitted and received between the stacked memory 30 and the processor chip 40. The 160-bit data DQ corresponding to one channel includes 128-bit data DQ (data itself on which information processing is performed), 16-bit inverted bit DBI (Data Bus Inversion), and 8-bit data mask DM (8-bit data mask DM). Data Mask) and included. Hereinafter, the area in which the data mask DM is set is also referred to as a data mask area DM, and the bit set in the data mask area DM is also referred to as a data mask bit DM. The data mask DM is an example of additional information. Half of the 160-bit data shown in bold is assigned as a Pseudo Channel. That is, one channel of data includes two puddle channels.

反転ビットDBIは、8ビットのデータDQ毎に1ビット設けられる。データDQを送信するデバイスは、8ビットのデータDQの論理を反転せずに送信する場合、反転ビットDBIを論理0に設定し、8ビットのデータの論理を反転して送信する場合、反転ビットDBIを論理1に設定する。ここで、データDQを送信するデバイスは、ロジックチップ20またはプロセッサチップ40である。反転ビットDBIの論理(”0”または”1”)は、例えば、1つ前のサイクルで送信したデータDQおよび反転ビットDBIの論理に対して、今回送信するデータDQおよび反転ビットDBIのビット値の論理の変化が少なくなる方に設定される。 One inverting bit DBI is provided for every 8-bit data DQ. The device that transmits the data DQ sets the inverting bit DBI to logic 0 when transmitting the 8-bit data DQ without inverting the logic, and the inverting bit when transmitting the 8-bit data logic in inverting. Set DBI to logic 1. Here, the device that transmits the data DQ is the logic chip 20 or the processor chip 40. The logic of the inverted bit DBI ("0" or "1") is, for example, the bit value of the data DQ and the inverted bit DBI transmitted this time with respect to the logic of the data DQ and the inverted bit DBI transmitted in the previous cycle. It is set to the one where the change in the logic of is small.

例えば、8ビットのデータDQにおいて、1つ前のサイクルに比べて論理が変化するビット数が5ビット以上である場合、出力するデータDQの論理は反転され、反転ビットDBIは論理1に設定される。また、8ビットのデータDQで論理が変化するビット数が4ビットであり、かつ反転ビットDBIが論理1の場合、出力するデータDQの論理は反転され、反転ビットDBIは論理1に設定される。それ以外の場合、出力するデータDQの論理はそのままにされ、反転ビットDBIは論理0に設定される。 For example, in an 8-bit data DQ, when the number of bits whose logic changes compared to the previous cycle is 5 bits or more, the logic of the output data DQ is inverted and the inverted bit DBI is set to logic 1. To. Further, when the number of bits whose logic changes in the 8-bit data DQ is 4 bits and the inverted bit DBI is logical 1, the logic of the output data DQ is inverted and the inverted bit DBI is set to logical 1. .. In other cases, the logic of the data DQ to be output is left as it is, and the inverting bit DBI is set to logic 0.

これにより、8ビットのデータDQと1ビットの反転ビットDBIの合計9ビットのうち、論理が変化するビットの数を常に4ビット以下にすることができる。デバイス30、40間のデータ線上に伝達されるデータDQおよび反転ビットDBIのうち、トグルするビットを常に4ビット以下にすることで、データDQを送受信するインタフェース部分(例えば、図2のPHY)の消費電力を抑えることができる。 As a result, the number of bits whose logic changes can always be 4 bits or less out of a total of 9 bits of 8-bit data DQ and 1-bit inversion bit DBI. Of the data DQ and the inverting bit DBI transmitted on the data line between the devices 30 and 40, the interface portion (for example, PHY in FIG. 2) for transmitting and receiving the data DQ by always setting the toggle bit to 4 bits or less. Power consumption can be suppressed.

データDQを受信するデバイス(ロジックチップ20またはプロセッサチップ40)は、8ビットのデータDQとともに論理1の反転ビットDBIを受信した場合、受信したDQの論理を反転する。また、データDQを受信するデバイスは、8ビットのデータDQとともに論理0の反転ビットDBIを受信した場合、受信したDQの論理を反転しない。 When the device (logic chip 20 or processor chip 40) that receives the data DQ receives the inverted bit DBI of the logic 1 together with the 8-bit data DQ, it inverts the logic of the received DQ. Further, when the device that receives the data DQ receives the inversion bit DBI of logic 0 together with the 8-bit data DQ, the device does not invert the logic of the received DQ.

データマスクDMは、本来の使い方では、8ビットのデータDQ毎に1ビット設けられ、8ビットのデータDQをマスクするか否かを設定するために使用される。一方、本実施形態では、バースト動作の2サイクル分の256ビットのデータDQの誤り検出・訂正のために、24ビットのデータマスク領域DMが使用される。以下では、誤り検出・訂正の単位であるバースト動作の2サイクル分の256ビット(図3の破線枠)は、ECC(Error Correction Code)グループと称する。 In the original usage, the data mask DM is provided with 1 bit for each 8-bit data DQ, and is used to set whether or not to mask the 8-bit data DQ. On the other hand, in the present embodiment, a 24-bit data mask area DM is used for error detection / correction of 256-bit data DQ for two cycles of burst operation. Hereinafter, 256 bits (broken line frame in FIG. 3) for two cycles of burst operation, which is a unit of error detection / correction, will be referred to as an ECC (Error Correction Code) group.

特に限定されないが、この実施形態では、S8EC−D8ED(288,256)等のブロック誤り訂正コードが使用される。ECCグループ内の32ビットのデータマスク領域DMのうち、誤り検出・訂正用に使用されるビットは24ビットであるため、残りの8ビットは誤り検出・訂正以外の用途に使用することができる。本実施形態では、図4で説明するように、残りの8ビットを使用して、反転ビットDBIのトグルを少なくするための全反転ビットDAI(Data All Inversion)を設定することで、データのインタフェース部分の消費電力をさらに削減することができる。 Although not particularly limited, in this embodiment, a block error correction code such as S8EC-D8ED (288,256) is used. Of the 32-bit data mask area DM in the ECC group, 24 bits are used for error detection / correction, so the remaining 8 bits can be used for purposes other than error detection / correction. In the present embodiment, as described with reference to FIG. 4, the remaining 8 bits are used to set an all-inverted bit DAI (Data All Inversion) for reducing the toggle of the inverted bit DBI, thereby performing a data interface. The power consumption of the part can be further reduced.

図4は、データマスク領域DMへの全反転ビットDAIの割り当ての一例を示す。上述したバースト動作での各サイクルにおいて、空いている4ビットのデータマスク領域DMは、128ビットのデータDQ毎に、全反転ビットDAI(DAI0−DAI3)が割り当てられる。全反転ビットDAIの各々は、32ビットのデータDQと、32ビットのデータDQの8ビット毎にそれぞれ割り当てられる4ビットの反転ビットDBIとに対応して設定される。 FIG. 4 shows an example of allocating the fully inverted bit DAI to the data mask area DM. In each cycle of the burst operation described above, a fully inverted bit DAI (DAI0-DAI3) is assigned to each 128-bit data DQ in the free 4-bit data mask area DM. Each of the fully inverted bit DAIs is set corresponding to a 32-bit data DQ and a 4-bit inverted bit DBI assigned to each 8 bits of the 32-bit data DQ.

図4に示す例では、128ビットのデータDQの最上位の32ビットと4ビットのDBIとに対応して全反転ビットDAI0が割り当てられる。128ビットのデータDQの2番目に上位の32ビットと4ビットのDBIとに対応して全反転ビットDAI1が割り当てられる。また、128ビットのデータDQの3番目に上位の32ビットと4ビットのDBIとに対応して全反転ビットDAI2が割り当てられる。そして、128ビットのデータDQの最下位の32ビットと4ビットのDBIとに対応して全反転ビットDAI3が割り当てられる。 In the example shown in FIG. 4, the fully inverted bit DAI0 is assigned corresponding to the uppermost 32 bits of the 128-bit data DQ and the 4-bit DBI. All inverting bits DAI1 are assigned corresponding to the second highest 32-bit and 4-bit DBI of the 128-bit data DQ. Further, the fully inverted bit DAI2 is assigned corresponding to the third upper 32 bits and the 4-bit DBI of the 128-bit data DQ. Then, the fully inverted bit DAI3 is assigned corresponding to the lowest 32 bits of the 128-bit data DQ and the 4-bit DBI.

論理1の全反転ビットDAIは、対応する32ビットのデータDQの論理が、反転ビットDBIによる反転とは別に反転されていることを示す。論理0の全反転ビットDAIは、対応する32ビットのデータDQの論理が、反転ビットDBIによる反転以外では反転されていないことを示す。このため、データDQの受信側のデバイスは、受信した全反転ビットDAIが論理1の場合、反転ビットDBIによる反転とは別に、32ビットのデータDQを反転する。データDQの受信側のデバイスは、受信した全反転ビットDAIが論理0の場合、反転ビットDBIにより反転された、または反転されていない32ビットのデータDQを受信データとして扱う。 The fully inverted bit DAI of logic 1 indicates that the logic of the corresponding 32-bit data DQ is inverted separately from the inversion by the inversion bit DBI. The fully inverted bit DAI of logic 0 indicates that the logic of the corresponding 32-bit data DQ is not inverted except by inversion by the inversion bit DBI. Therefore, when the received total inversion bit DAI is logic 1, the device on the receiving side of the data DQ inverts the 32-bit data DQ separately from the inversion by the inversion bit DBI. When the received all-inverted bit DAI is logic 0, the device on the receiving side of the data DQ treats the 32-bit data DQ inverted or uninverted by the inverted bit DBI as received data.

なお、バースト動作により積層メモリ30から読み出されるデータDQおよび積層メモリ30に書き込まれるデータDQは、バースト長=4に対応する4サイクルCYCの範囲において転送順序が保証される。一方、互いに隣接するバースト動作間ではデータの転送順序は保証されない。このため、バースト動作の最初のサイクルCYC0では、比較対象である1つ前のサイクルCYCのデータDQが存在せず、32ビットのデータDQを反転するか否かを判定できない。したがって、データマスク領域DMの空き4ビットは、サイクルCYC1、CYC2、CYC3では使用されるが、サイクルCYC0では使用されない。 The transfer order of the data DQ read from the stacked memory 30 and the data DQ written to the stacked memory 30 by the burst operation is guaranteed within the range of 4-cycle CYC corresponding to the burst length = 4. On the other hand, the data transfer order is not guaranteed between burst operations adjacent to each other. Therefore, in the first cycle CYC0 of the burst operation, the data DQ of the previous cycle CYC to be compared does not exist, and it cannot be determined whether or not the 32-bit data DQ is inverted. Therefore, the free 4 bits of the data mask area DM are used in the cycles CYC1, CYC2, and CYC3, but not in the cycle CYC0.

図5は、図2のプロセッサチップ40の一例を示す。プロセッサチップ40は、ラッチ回路41、反転予測回路42、反転処理回路43、ECC生成回路44、DBI反転回路45、データ入出力回路46(PHY)、DBI反転回路47、ECC訂正回路48および反転処理回路49を有する。反転予測回路42および反転処理回路43は、第2の反転部の一例であり、DBI反転回路45は、第1の反転部の一例である。データ入出力回路46は、送信部および受信部の一例である。DBI反転回路47は、第3の反転部の一例であり、反転処理回路49は、第4の反転部の一例である。ECC生成回路44は、符号生成部の一例である。 FIG. 5 shows an example of the processor chip 40 of FIG. The processor chip 40 includes a latch circuit 41, an inverting prediction circuit 42, an inverting processing circuit 43, an ECC generation circuit 44, a DBI inverting circuit 45, a data input / output circuit 46 (PHY), a DBI inverting circuit 47, an ECC correction circuit 48, and an inverting process. It has a circuit 49. The inverting prediction circuit 42 and the inverting processing circuit 43 are examples of the second inverting section, and the DBI inverting circuit 45 is an example of the first inverting section. The data input / output circuit 46 is an example of a transmitting unit and a receiving unit. The DBI inverting circuit 47 is an example of a third inverting unit, and the inverting processing circuit 49 is an example of a fourth inverting unit. The ECC generation circuit 44 is an example of a code generation unit.

ラッチ回路41は、反転処理回路43から出力される反転ビットDBIpおよびデータDQpを、1つ前のサイクルCYCでプロセッサチップ40が積層メモリ30に送信した反転ビットDBIおよびデータDQとして保持する。ラッチ回路41は、保持した反転ビットDBIpおよびデータDQpを反転予測回路42に出力する。 The latch circuit 41 holds the inverting bit DBIp and the data DQp output from the inverting processing circuit 43 as the inverting bit DBI and the data DQp transmitted by the processor chip 40 to the stacked memory 30 in the previous cycle CYC. The latch circuit 41 outputs the held inverting bit DBIp and data DQp to the inverting prediction circuit 42.

反転予測回路42は、積層メモリ30に書き込むデータDQ(書き込みデータ)とラッチ回路41からの1つ前のサイクルCYCの情報とに基づいて動作する。反転予測回路42は、今回のサイクルCYC(CYC1、CYC2またはCYC3)で送信するデータDQの論理が前回のサイクルCYCで送信したデータDQに対して何ビット反転(変化)するかを、8ビット毎に求める。 The inverting prediction circuit 42 operates based on the data DQ (written data) written to the stacked memory 30 and the information of the previous cycle CYC from the latch circuit 41. The inverting prediction circuit 42 determines how many bits the logic of the data DQ transmitted in the current cycle CYC (CYC1, CYC2 or CYC3) is inverted (changed) with respect to the data DQ transmitted in the previous cycle CYC every 8 bits. Ask for.

そして、反転予測回路42は、8ビットのデータDQのそれぞれに対応する反転ビットDBIの論理がDBI反転回路45により反転されるか否かを予測する。反転予測回路42は、予測した反転ビットDBIの論理の反転数(変化数)を、データDQとともに反転処理回路43に出力する。 Then, the inverting prediction circuit 42 predicts whether or not the logic of the inverting bit DBI corresponding to each of the 8-bit data DQs is inverted by the DBI inverting circuit 45. The inversion prediction circuit 42 outputs the predicted inversion number (change number) of the logic of the inversion bit DBI to the inversion processing circuit 43 together with the data DQ.

反転処理回路43は、反転予測回路42から受信する反転ビットDBIの論理の反転数に基づいて、32ビット(4バイト)のデータDQ毎に4ビットの反転ビットDBIの論理の反転数が3ビット以上か否かを判定する。反転処理回路43は、反転ビットDBIの論理の反転数が3ビット以上の場合、対応する32ビットのデータDQの論理を反転し、論理1の全反転ビットDAIを生成する。反転処理回路43は、反転ビットDBIの論理の反転数が2ビット以下の場合、対応する32ビットのデータDQの論理を反転せず、論理0の全反転ビットDAIを生成する。全反転ビットDAIは、第2の反転情報の一例である。 The inversion processing circuit 43 has a 4-bit inversion bit DBI logic inversion number of 3 bits for every 32 bits (4 bytes) of data DQ based on the inversion number of the inversion bit DBI logic received from the inversion prediction circuit 42. Judge whether or not it is the above. When the number of inversions of the logic of the inversion bit DBI is 3 bits or more, the inversion processing circuit 43 inverts the logic of the corresponding 32-bit data DQ and generates the all-inverted bit DAI of the logic 1. When the number of inversions of the logic of the inversion bit DBI is 2 bits or less, the inversion processing circuit 43 does not invert the logic of the corresponding 32-bit data DQ, and generates all inversion bits DAI of logic 0. The fully inverted bit DAI is an example of the second inverted information.

ここで、反転処理回路43は、サイクルCYC毎に送信される128ビットのデータDQのうちの32ビット毎に全反転ビットDAI(DAI0−DAI3)を生成する。そして、反転処理回路43は、生成した全反転ビットDAIを、反転処理回路43内で処理したデータDQとともにECC生成回路44に出力する。また、反転処理回路43は、反転処理回路43内で処理したデータDQに対応してDBI反転回路45が生成する反転ビットDBIの予測値を、反転ビットDBIpとしてラッチ回路41に出力する。さらに、反転処理回路43は、DBI反転回路45が反転ビットDBIともに生成する送信データDQの予測値を送信データDQpとしてラッチ回路41に出力する。 Here, the inverting processing circuit 43 generates a total inverting bit DAI (DAI0-DAI3) for every 32 bits of the 128-bit data DQ transmitted in each cycle CYC. Then, the inverting processing circuit 43 outputs the generated total inverting bit DAI to the ECC generation circuit 44 together with the data DQ processed in the inverting processing circuit 43. Further, the inverting processing circuit 43 outputs the predicted value of the inverting bit DBI generated by the DBI inverting circuit 45 corresponding to the data DQ processed in the inverting processing circuit 43 to the latch circuit 41 as the inverting bit DBIp. Further, the inverting processing circuit 43 outputs the predicted value of the transmission data DQ generated by the DBI inverting circuit 45 together with the inverting bit DBI as the transmission data DQp to the latch circuit 41.

ECC生成回路44は、反転処理回路43から受信したデータDQに基づいて、24ビットの誤り検出・訂正符号を生成し、生成した誤り検出・訂正符号をデータDQおよび全反転ビットDAIとともにDBI反転回路45に出力する。ここで、ECC生成回路44は、図4に示したECCグループ内の256ビットのデータDQを単位として誤り検出・訂正符号を生成する。 The ECC generation circuit 44 generates a 24-bit error detection / correction code based on the data DQ received from the inverting processing circuit 43, and uses the generated error detection / correction code together with the data DQ and the total inverting bit DAI as a DBI inverting circuit. Output to 45. Here, the ECC generation circuit 44 generates an error detection / correction code in units of 256-bit data DQ in the ECC group shown in FIG.

DBI反転回路45は、ECC生成回路44を介して受信するデータDQに基づいて、8ビットのデータDQ毎に反転ビットDBIを生成し、生成した反転ビットDBIが論理1の場合、対応するデータDQの論理を反転する。反転ビットDBIは、第1の反転情報の一例である。DBI反転回路45は、生成した反転ビットDBIが論理0の場合、対応するデータDQの論理を反転しない。そして、DBI反転回路45は、生成した反転ビットDBIと、反転ビットDBIに基づいて処理したデータDQとをデータ入出力回路46に出力する。 The DBI inverting circuit 45 generates an inverting bit DBI for each 8-bit data DQ based on the data DQ received via the ECC generation circuit 44, and when the generated inverting bit DBI is logic 1, the corresponding data DQ Invert the logic of. The inverting bit DBI is an example of the first inverting information. The DBI inversion circuit 45 does not invert the logic of the corresponding data DQ when the generated inversion bit DBI is logic 0. Then, the DBI inverting circuit 45 outputs the generated inverting bit DBI and the data DQ processed based on the inverting bit DBI to the data input / output circuit 46.

また、DBI反転回路45は、ECC生成回路44が生成した誤り検出・訂正符号(24ビットのデータマスクビットDM)と、反転処理回路43が生成した全反転ビットDAI(残り8ビットのデータマスクビットDM)とをデータ入出力回路46に出力する。例えば、DBI反転回路45は、データDQ等を1サイクル分(160ビット)毎にデータ入出力回路46に出力してもよい。 Further, the DBI inverting circuit 45 includes an error detection / correction code (24-bit data mask bit DM) generated by the ECC generation circuit 44 and a total inverting bit DAI (data mask bit of the remaining 8 bits) generated by the inverting processing circuit 43. DM) is output to the data input / output circuit 46. For example, the DBI inverting circuit 45 may output the data DQ or the like to the data input / output circuit 46 every one cycle (160 bits).

データ入出力回路46は、DBI反転回路45から受信するデータDQ、反転ビットDBI、誤り検出・訂正符号および全反転ビットDAIを、積層メモリ30に順次転送する。また、データ入出力回路46は、積層メモリ30から順次受信するデータDQ、反転ビットDBI、誤り検出・訂正符号および全反転ビットDAIをDBI反転回路47に出力する。 The data input / output circuit 46 sequentially transfers the data DQ, the inverting bit DBI, the error detection / correction code, and the total inverting bit DAI received from the DBI inverting circuit 45 to the stacked memory 30. Further, the data input / output circuit 46 outputs the data DQ, the inverting bit DBI, the error detection / correction code, and the all inverting bit DAI sequentially received from the stacked memory 30 to the DBI inverting circuit 47.

DBI反転回路47は、データ入出力回路46から受信した反転ビットDBIに基づいてデータDQを反転し、またはデータDQを反転せずにECC訂正回路48に出力する。また、DBI反転回路47は、データ入出力回路46から受信した誤り検出・訂正符号および全反転ビットDAIをECC訂正回路48に出力する。 The DBI inverting circuit 47 inverts the data DQ based on the inverting bit DBI received from the data input / output circuit 46, or outputs the data DQ to the ECC correction circuit 48 without inverting the data DQ. Further, the DBI inverting circuit 47 outputs the error detection / correction code and the total inverting bit DAI received from the data input / output circuit 46 to the ECC correction circuit 48.

ECC訂正回路48は、誤り検出・訂正符号を用いて、DBI反転回路47により処理されたデータDQの誤りを検出し、データDQに誤りがある場合、誤りを訂正して反転処理回路49に出力する。なお、ECC訂正回路48は、データ入出力回路46から受信した全反転ビットDAIを反転処理回路49に出力する。 The ECC correction circuit 48 detects an error in the data DQ processed by the DBI inversion circuit 47 using an error detection / correction code, and if there is an error in the data DQ, corrects the error and outputs it to the inversion processing circuit 49. To do. The ECC correction circuit 48 outputs the fully inverted bit DAI received from the data input / output circuit 46 to the inverting processing circuit 49.

反転処理回路49は、ECC訂正回路48から受信するデータDQの論理を、全反転ビットDAIに基づいて反転する処理を実施する。反転処理回路49は、全反転ビットDAIが論理1の場合、全反転ビットDAIに対応する32ビットのデータDQの論理を反転し、読み出しデータとして出力する。反転処理回路49は、全反転ビットDAIが論理0の場合、全反転ビットDAIに対応する32ビットのデータDQの論理を反転せずに、そのまま読み出しデータとして出力する。 The inverting process circuit 49 performs a process of inverting the logic of the data DQ received from the ECC correction circuit 48 based on the total inverting bit DAI. When the all-inverted bit DAI is logic 1, the inversion processing circuit 49 inverts the logic of the 32-bit data DQ corresponding to the all-inverted bit DAI and outputs it as read data. When the all-inverted bit DAI is logic 0, the inverting processing circuit 49 outputs the logic of the 32-bit data DQ corresponding to the all-inverted bit DAI as read data as it is without inverting the logic.

なお、図5に示すプロセッサチップ40に含まれる符号41〜符号49で示す各要素は、積層メモリ30にも搭載される。すなわち、図5のプロセッサチップ40を積層メモリ30とし、図5の積層メモリ30をプロセッサチップ40とし、書き込みデータを読み出しデータとし、読み出しデータを書き込みデータとすることで、積層メモリ30の例が示される。 Each element represented by reference numerals 41 to 49 included in the processor chip 40 shown in FIG. 5 is also mounted on the stacked memory 30. That is, an example of the stacked memory 30 is shown by using the processor chip 40 of FIG. 5 as the stacked memory 30, the stacked memory 30 of FIG. 5 as the processor chip 40, the write data as the read data, and the read data as the write data. Is done.

この場合、積層メモリ30は、ラッチ回路41、反転予測回路42、反転処理回路43、ECC生成回路44、DBI反転回路45およびデータ入出力回路46を用いて、プロセッサチップ40に送信するデータDQと、データDQに付随する情報とを生成する。また、積層メモリ30は、データ入出力回路46、DBI反転回路47、ECC訂正回路48および反転処理回路49を用いて、プロセッサチップ40から受信するデータを復元する。 In this case, the stacked memory 30 together with the data DQ to be transmitted to the processor chip 40 by using the latch circuit 41, the inverting prediction circuit 42, the inverting processing circuit 43, the ECC generation circuit 44, the DBI inverting circuit 45, and the data input / output circuit 46. , Generates information associated with the data DQ. Further, the stacked memory 30 restores the data received from the processor chip 40 by using the data input / output circuit 46, the DBI inverting circuit 47, the ECC correction circuit 48, and the inverting processing circuit 49.

図6は、図2のプロセッサチップ40から積層メモリ30に送信するデータDQの一例を示す。説明を分かりやすくするために、図6では、サイクルCYC毎に転送される128ビット(16バイト)のデータDQのうち、32ビット(4バイト)のデータDQを示す。実際には、サイクルCYC毎の128ビット(16バイト)のデータDQに対応して、図6に示す処理が4回実行される。なお、誤り検出・訂正の単位では、2サイクルCYC毎に256ビット(32バイト)のデータが転送される。図6では、ECC生成回路44およびECC訂正回路48の処理の説明は省略する。なお、積層メモリ30からプロセッサチップ40にデータDQを転送する場合も、図6と同じ処理が実行される。 FIG. 6 shows an example of data DQ transmitted from the processor chip 40 of FIG. 2 to the stacked memory 30. For the sake of clarity, FIG. 6 shows a 32-bit (4 byte) data DQ of the 128-bit (16-byte) data DQ transferred in each cycle CYC. Actually, the process shown in FIG. 6 is executed four times corresponding to the 128-bit (16 bytes) data DQ for each cycle CYC. In the unit of error detection / correction, 256 bits (32 bytes) of data are transferred every two cycles of CYC. In FIG. 6, the description of the processing of the ECC generation circuit 44 and the ECC correction circuit 48 will be omitted. When the data DQ is transferred from the stacked memory 30 to the processor chip 40, the same process as in FIG. 6 is executed.

図6(a)の”1サイクル前の送信データ”は、サイクルCYC1でデータDQを送信する場合、サイクルCYC0でデータ入出力回路46が積層メモリ30に送信したデータDQと反転ビットDBIとを示す。また、”1サイクル前の送信データ”は、サイクルCYC3でデータDQを送信する場合、サイクルCYC2でデータ入出力回路46が積層メモリ30に送信したデータDQと反転ビットDBIとを示す。 The “transmission data one cycle before” in FIG. 6A shows the data DQ and the inverting bit DBI transmitted by the data input / output circuit 46 to the stacked memory 30 in the cycle CYC0 when the data DQ is transmitted in the cycle CYC1. .. Further, the "transmission data one cycle before" indicates the data DQ and the inversion bit DBI transmitted by the data input / output circuit 46 to the stacked memory 30 in the cycle CYC2 when the data DQ is transmitted in the cycle CYC3.

図6(b)の”当該サイクルで送信したいデータ”は、プロセッサチップ40が演算処理等により生成したデータであって、積層メモリ30に実際に書き込まれるデータである。換言すれば、”当該サイクルで送信したいデータ”の論理は、プロセッサチップ40から積層メモリ30に送信(出力)するデータDQの論理とは異なる場合がある。以下の説明においても、”送信したいデータ”の論理は、データDQを受信するデバイスが扱うデータDQの論理であり、”送信するデータ”の論理は、データDQを受信するデバイスまでの伝送路上を伝送されるデータDQの論理である。 The “data to be transmitted in the cycle” in FIG. 6B is data generated by the processor chip 40 by arithmetic processing or the like, and is data actually written in the stacked memory 30. In other words, the logic of "data to be transmitted in the cycle" may be different from the logic of data DQ transmitted (output) from the processor chip 40 to the stacked memory 30. Also in the following description, the logic of "data to be transmitted" is the logic of data DQ handled by the device that receives the data DQ, and the logic of "data to be transmitted" is on the transmission path to the device that receives the data DQ. This is the logic of the data DQ to be transmitted.

図6(c)の”DQ,DBIの反転ビット数”は、図5の反転予測回路42により算出され、当該サイクルで送信したいデータDQの各バイトと反転ビットDBIとが、1サイクル前に送信したデータDQおよび反転ビットDBIから何ビット変化するかを示す。データDQの各バイトは、送信するデータDQを複数に分けた第2の部分データの一例である。括弧内は、DBI反転回路45がデータDQを反転するか否かを示す。反転予測回路42は、算出したバイト毎の反転ビット数を反転処理回路43に出力する。なお、反転予測回路42は、”反転有り”、”反転無し”を示す情報をバイト毎に反転処理回路43に出力してもよい。 The “number of inverted bits of DQ and DBI” in FIG. 6C is calculated by the inverted prediction circuit 42 of FIG. 5, and each byte of the data DQ to be transmitted in the cycle and the inverted bit DBI are transmitted one cycle before. It shows how many bits change from the data DQ and the inverted bit DBI. Each byte of the data DQ is an example of the second partial data in which the data DQ to be transmitted is divided into a plurality of parts. The numbers in parentheses indicate whether or not the DBI inversion circuit 45 inverts the data DQ. The inverting prediction circuit 42 outputs the calculated number of inverting bits for each byte to the inverting processing circuit 43. The inversion prediction circuit 42 may output information indicating "with inversion" and "without inversion" to the inversion processing circuit 43 for each byte.

上述したように、DBI反転回路45は、例えば、論理が変化するデータDQのビット数が5ビット以上である場合、データDQの論理が反転されると判定する。また、DBI反転回路45は、論理が変化するデータDQのビット数が4ビットであり、かつ1サイクル前の反転ビットDBIが論理1の場合、データDQの論理が反転されると判定する。 As described above, the DBI inverting circuit 45 determines that the logic of the data DQ is inverted when, for example, the number of bits of the data DQ whose logic changes is 5 bits or more. Further, the DBI inverting circuit 45 determines that the logic of the data DQ is inverted when the number of bits of the data DQ whose logic changes is 4 bits and the inverting bit DBI one cycle before is logic 1.

反転処理回路43は、反転予測回路42からの情報に基づいて、4バイトのデータDQのうち、DBI反転回路45によるデータDQの反転が3バイト以上の場合、全反転ビットDAIを論理1に設定する。また、反転処理回路43は、反転予測回路42からの情報に基づいて、4バイトのデータDQのうち、DBI反転回路45によるデータDQの反転が2バイト以下の場合、全反転ビットDAIを論理0に設定する。 Based on the information from the inverting prediction circuit 42, the inverting processing circuit 43 sets the total inverting bit DAI to logic 1 when the inverting of the data DQ by the DBI inverting circuit 45 is 3 bytes or more among the 4-byte data DQ. To do. Further, based on the information from the inverting prediction circuit 42, the inverting processing circuit 43 logically sets the all inverting bit DAI to 0 when the inverting of the data DQ by the DBI inverting circuit 45 is 2 bytes or less among the 4-byte data DQ. Set to.

換言すれば、例えば、反転処理回路43は、DBI反転回路45により論理1に設定される反転ビットDBIの数の比率が半数(50%)を超える場合、全反転ビットDAIを論理1に設定する。反転処理回路43は、DBI反転回路45により論理1に設定される反転ビットDBIの数の比率が半数(50%)以下の場合、全反転ビットDAIを論理0に設定する。 In other words, for example, the inverting processing circuit 43 sets all inverting bits DAI to logic 1 when the ratio of the number of inverting bits DBI set in logic 1 by the DBI inverting circuit 45 exceeds half (50%). .. When the ratio of the number of inverting bits DBI set in logic 1 by the DBI inverting circuit 45 is less than half (50%), the inverting processing circuit 43 sets all inverting bits DAI to logic 0.

但し、反転予測回路42は、全反転ビットDAIの論理1の設定時のデータDQ、反転ビットDBIおよび全反転ビットDAIの反転ビット数が、全反転ビットDAIの論理0の設定時よりもが多い場合、全反転ビットDAIを論理0に設定する。これにより、1サイクル前に送信したデータDQだけでなく、データDQ、反転ビットDBIおよび全反転ビットDAIの論理が変化する総数を削減することができ、データDQのインタフェース部分の消費電力をさらに削減することができる。全反転ビットDAIを例外的に論理0に設定する例は、図8で説明する。 However, in the inverting prediction circuit 42, the number of inverting bits of the data DQ, the inverting bit DBI, and the inverting bit DAI when the logic 1 of the all inverting bit DAI is set is larger than that when the logic 0 of the all inverting bit DAI is set. If so, the fully inverted bit DAI is set to logical 0. As a result, not only the data DQ transmitted one cycle before, but also the total number of changes in the logic of the data DQ, the inverted bit DBI, and the totally inverted bit DAI can be reduced, and the power consumption of the interface portion of the data DQ can be further reduced. can do. An example of exceptionally setting the all-inverted bit DAI to logic 0 will be described with reference to FIG.

図6(c)では、DBI反転回路45によりデータDQが3バイト以上反転することが予想される。このため、図6(d)において、反転処理回路43は、図6(b)の当該サイクルで送信したいデータ”の各バイトの論理を反転し、全反転ビットDAIを論理1に設定する。 In FIG. 6C, it is expected that the data DQ is inverted by 3 bytes or more by the DBI inversion circuit 45. Therefore, in FIG. 6D, the inversion processing circuit 43 inverts the logic of each byte of the data to be transmitted in the cycle of FIG. 6B, and sets the all-inverted bit DAI to logic 1.

図6(e)では、DBI反転回路45は、反転処理回路43から受信するデータDQに基づいて、1サイクル前に送信したデータDQに対してデータDQの論理が何ビット反転するかをバイト毎に判定する。論理が反転するビットには、下線を付している。DBI反転回路45が判定するバイトは、第1の部分データの一例である。 In FIG. 6E, the DBI inverting circuit 45 determines how many bits the logic of the data DQ is inverted for each byte with respect to the data DQ transmitted one cycle before, based on the data DQ received from the inverting processing circuit 43. Judge to. Bits whose logic is inverted are underlined. The byte determined by the DBI inverting circuit 45 is an example of the first partial data.

そして、DBI反転回路45は、判定結果に応じて当該サイクルで送信するデータDQと反転ビットDBIとの論理をバイト毎に決定する。図6の例では、各バイトにおいて、1サイクル前に送信したデータDQの論理に対する反転ビット数がいずれも4ビット以下であるため、DBI反転回路45は、各バイトのデータDQを反転せず、各バイトに対応する反転ビットDBIを論理0に設定する。 Then, the DBI inverting circuit 45 determines the logic of the data DQ to be transmitted in the cycle and the inverting bit DBI byte by byte according to the determination result. In the example of FIG. 6, since the number of inverting bits for the logic of the data DQ transmitted one cycle before is 4 bits or less in each byte, the DBI inverting circuit 45 does not invert the data DQ of each byte. The inverting bit DBI corresponding to each byte is set to logical 0.

すなわち、図6(i)〜図6(m)で説明するように、全反転ビットDAIが論理0の場合、3つの反転ビットDBIが論理1に設定されるのに対して、全反転ビットDAIを論理1に設定することで、反転ビットDBIを論理0に維持することができる。この結果、デバイス間を伝送される信号の論理の変化数を削減することができ、消費電力を削減することができる。 That is, as described with reference to FIGS. 6 (i) to 6 (m), when the fully inverted bit DAI is logic 0, the three inverted bits DBI are set to logic 1, whereas the fully inverted bit DAI is set. Can be maintained at logic 0 by setting the inverting bit DBI to logic 1. As a result, the number of changes in the logic of the signal transmitted between the devices can be reduced, and the power consumption can be reduced.

そして、DBI反転回路45は、決定した論理のデータDQと反転ビットDBIとを、ECC生成回路44を介してデータ入出力回路46に出力する。データ入出力回路46は、DBI反転回路45が生成したデータDQおよび反転ビットDBIと、反転処理回路43が生成した全反転ビットDAIとを積層メモリ30に送信する。 Then, the DBI inverting circuit 45 outputs the determined logic data DQ and the inverting bit DBI to the data input / output circuit 46 via the ECC generation circuit 44. The data input / output circuit 46 transmits the data DQ and the inverting bit DBI generated by the DBI inverting circuit 45 and the fully inverting bit DAI generated by the inverting processing circuit 43 to the stacked memory 30.

図6(f)は、1サイクル前に対する図6(e)の送信データであるデータDQ、反転ビットDBIおよび全反転ビットDAIの反転ビット数を示す。この例では、32ビットのデータDQに対応する反転ビット数の総数は14ビットである。 FIG. 6 (f) shows the number of inverted bits of the data DQ, the inverted bit DBI, and the total inverted bit DAI, which are the transmission data of FIG. 6 (e) with respect to one cycle before. In this example, the total number of inverted bits corresponding to the 32-bit data DQ is 14 bits.

図6(g)は、プロセッサチップ40からデータDQ等を受信した積層メモリ30のロジックチップ20に設けられるDBI反転回路47が出力するデータDQの論理をバイト毎に示す。図6(e)に示したように、各バイトの反転ビットDBIは論理0であるため、DBI反転回路47は、プロセッサチップ40から受信したデータDQの論理をそのまま出力する。 FIG. 6 (g) shows the logic of the data DQ output by the DBI inverting circuit 47 provided in the logic chip 20 of the stacked memory 30 that has received the data DQ and the like from the processor chip 40 byte by byte. As shown in FIG. 6E, since the inverting bit DBI of each byte has logic 0, the DBI inverting circuit 47 outputs the logic of the data DQ received from the processor chip 40 as it is.

図6(h)は、積層メモリ30のロジックチップ20に設けられる反転処理回路49が出力するデータDQの論理をバイト毎に示す。反転処理回路49は、プロセッサチップ40から受信した論理1の全反転ビットDAIに基づいて、DBI反転回路47が出力したデータDQの論理を反転して出力する。これにより、図6(b)に示した”当該サイクルで送信したいデータ”が積層メモリ30に書き込まれる。 FIG. 6H shows the logic of the data DQ output by the inverting processing circuit 49 provided in the logic chip 20 of the stacked memory 30 byte by byte. The inverting processing circuit 49 inverts and outputs the logic of the data DQ output by the DBI inverting circuit 47 based on the all-inverted bit DAI of the logic 1 received from the processor chip 40. As a result, the "data to be transmitted in the cycle" shown in FIG. 6B is written in the stacked memory 30.

図6(i)〜図6(m)は、全反転ビットDAIが論理0に設定された場合に、プロセッサチップ40から積層メモリ30に転送されるデータDQの例を示す。図6(i)では、反転処理回路43は、図6(b)の”当該サイクルで送信したデータ”の論理をそのままDBI反転回路45に出力する。 6 (i) to 6 (m) show an example of data DQ transferred from the processor chip 40 to the stacked memory 30 when the fully inverted bit DAI is set to logic 0. In FIG. 6 (i), the inverting processing circuit 43 outputs the logic of the “data transmitted in the cycle” of FIG. 6 (b) to the DBI inverting circuit 45 as it is.

図6(j)では、図6(e)と同様に、DBI反転回路45は、1サイクル前に送信したデータDQに対して論理が変化するビット数に応じて、当該サイクルで送信するデータDQと反転ビットDBIとの論理を決定する。図6(j)においても、論理が反転するビットには、下線を付している。図6の例では、論理が5ビット反転するバイト3、バイト2、バイト1は、データDQの論理が反転され、反転ビットDBIが論理1に設定される。論理が4ビット反転するバイト0は、元のデータDQの論理が送信データに設定され、反転ビットDBIが論理0に設定される。 In FIG. 6 (j), similarly to FIG. 6 (e), the DBI inverting circuit 45 transmits the data DQ in the cycle according to the number of bits whose logic changes with respect to the data DQ transmitted one cycle before. Determines the logic of and the inverted bit DBI. Also in FIG. 6 (j), the bits whose logic is inverted are underlined. In the example of FIG. 6, for bytes 3, bytes 2, and bytes 1 whose logic is inverted by 5 bits, the logic of the data DQ is inverted, and the inverted bit DBI is set to logic 1. For byte 0 in which the logic is inverted by 4 bits, the logic of the original data DQ is set in the transmission data, and the inversion bit DBI is set in logic 0.

この場合、図6(k)に示すように、32ビットのデータDQに対応する反転ビット数の総数は16ビットであり、全反転ビットDAIを論理1に設定した方が、論理が反転するビット数が少なくなる。このため、プロセッサチップ40から積層メモリ30へのデータDQの転送は、図6(a)〜図6(h)により実施される。 In this case, as shown in FIG. 6 (k), the total number of inverting bits corresponding to the 32-bit data DQ is 16 bits, and the logic is inverted when the all inverting bits DAI are set to logic 1. The number will decrease. Therefore, the transfer of the data DQ from the processor chip 40 to the stacked memory 30 is carried out according to FIGS. 6A to 6H.

図6(l)では、図6(g)と同様に、積層メモリ30のロジックチップ20に設けられるDBI反転回路47は、受信した反転ビットDBIの論理に基づいて、受信したデータDQの論理を生成する。全反転ビットDAIが論理0の場合、DBI反転回路47は、図6(b)に示す”当該サイクルで送信したいデータ”に示される論理のデータDQを出力する。 In FIG. 6 (l), similarly to FIG. 6 (g), the DBI inverting circuit 47 provided in the logic chip 20 of the stacked memory 30 determines the logic of the received data DQ based on the logic of the received inverting bit DBI. Generate. When the total inverting bit DAI is logic 0, the DBI inverting circuit 47 outputs the data DQ of the logic shown in "data to be transmitted in the cycle" shown in FIG. 6 (b).

図6(m)では、全反転ビットDAIが論理0であるため、積層メモリ30のロジックチップ20に設けられる反転処理回路49は、DBI反転回路47から受信するデータDQの論理をそのまま出力する。そして、”当該サイクルで送信したいデータ”が積層メモリ30に書き込まれる。 In FIG. 6M, since the all-inverted bit DAI is logic 0, the inverting processing circuit 49 provided in the logic chip 20 of the stacked memory 30 outputs the logic of the data DQ received from the DBI inverting circuit 47 as it is. Then, "data to be transmitted in the cycle" is written in the stacked memory 30.

図7は、図2のプロセッサチップ40から積層メモリ30に送信するデータDQの別の例を示す。図6と同じ処理については、詳細な説明は省略する。なお、積層メモリ30からプロセッサチップ40にデータDQを転送する場合も、図7と同じ処理が実行される。図7は、図7(a)の”1サイクル前の送信データ”のデータDQと反転ビットDBIとの論理が、図6(a)に対して異なっている。また、図7(b)の”当該サイクルで送信したいデータ”のデータDQの論理が、図6(b)に対して異なっている。 FIG. 7 shows another example of the data DQ transmitted from the processor chip 40 of FIG. 2 to the stacked memory 30. A detailed description of the same processing as in FIG. 6 will be omitted. When the data DQ is transferred from the stacked memory 30 to the processor chip 40, the same process as in FIG. 7 is executed. In FIG. 7, the logic of the data DQ of the “transmission data one cycle before” in FIG. 7A and the inversion bit DBI is different from that in FIG. 6A. Further, the logic of the data DQ of "data to be transmitted in the cycle" in FIG. 7 (b) is different from that in FIG. 6 (b).

図7(c)では、反転予測回路42は、バイト3〜バイト1を反転有りと判定し、バイト0を反転無しと判定し、各バイトの反転ビット数をデータDQとともに反転処理回路43に出力する。図7(c)に示すように、DBI反転回路45によりデータDQが3バイト以上反転することが予想されるため、図7(d)では、反転処理回路43は、”当該サイクルで送信したいデータ”の各バイトの論理を反転し、全反転ビットDAIは論理1に設定する。 In FIG. 7C, the inversion prediction circuit 42 determines that bytes 3 to 1 are inverted, byte 0 is determined not to be inverted, and outputs the number of inverted bits of each byte to the inversion processing circuit 43 together with the data DQ. To do. As shown in FIG. 7 (c), it is expected that the data DQ is inverted by 3 bytes or more by the DBI inversion circuit 45. Therefore, in FIG. 7 (d), the inversion processing circuit 43 "data to be transmitted in the cycle". The logic of each byte of "is inverted, and the fully inverted bit DAI is set to logic 1.

図7(e)では、図6(e)と同様に、DBI反転回路45は、1サイクル前に送信したデータDQの論理に対する反転ビット数が4ビット以下であるバイト3〜バイト1では、データDQを反転せず、各バイトに対応する反転ビットDBIを論理0に設定する。一方、DBI反転回路45は、1サイクル前に送信したデータDQの論理に対する反転ビット数が5ビット以上であるバイト0では、データDQを反転し、対応する反転ビットDBIを論理1に設定する。DBI反転回路45が生成したデータDQと反転ビットDBIは、ECC生成回路44を介してデータ入出力回路46に出力される。データ入出力回路46は、DBI反転回路45が生成したデータDQおよび反転ビットDBIと、反転処理回路43が生成した全反転ビットDAIとを積層メモリ30に送信する。 In FIG. 7 (e), similarly to FIG. 6 (e), the DBI inverting circuit 45 has data in bytes 3 to 1 in which the number of inverting bits with respect to the logic of the data DQ transmitted one cycle before is 4 bits or less. The inverted bit DBI corresponding to each byte is set to logical 0 without inverting the DQ. On the other hand, the DBI inverting circuit 45 inverts the data DQ and sets the corresponding inverting bit DBI to logic 1 at byte 0 where the number of inverting bits with respect to the logic of the data DQ transmitted one cycle before is 5 bits or more. The data DQ and the inverting bit DBI generated by the DBI inverting circuit 45 are output to the data input / output circuit 46 via the ECC generation circuit 44. The data input / output circuit 46 transmits the data DQ and the inverting bit DBI generated by the DBI inverting circuit 45 and the fully inverting bit DAI generated by the inverting processing circuit 43 to the stacked memory 30.

図7(f)に示すように、1サイクル前に対する32ビットのデータDQ、データDQのバイト毎に対応する反転ビットDBIおよび全反転ビットDAIの反転ビット数の総数は12ビットである。 As shown in FIG. 7 (f), the total number of inverted bits of the 32-bit data DQ, the inverted bit DBI corresponding to each byte of the data DQ, and the total inverted bit DAI with respect to one cycle before is 12 bits.

図7(g)では、積層メモリ30のロジックチップ20に設けられるDBI反転回路47は、反転ビットDBIが論理0のバイト3〜バイト1では、データDQの論理をそのまま出力する。DBI反転回路47は、反転ビットDBIが論理1のバイト0では、データDQの論理を反転して出力する。 In FIG. 7 (g), the DBI inverting circuit 47 provided in the logic chip 20 of the stacked memory 30 outputs the logic of the data DQ as it is in bytes 3 to 1 in which the inverting bit DBI is logic 0. The DBI inversion circuit 47 inverts the logic of the data DQ and outputs it when the inversion bit DBI is byte 0 of the logic 1.

図7(h)では、積層メモリ30のロジックチップ20に設けられる反転処理回路49は、論理1の全反転ビットDAIに基づいて、DBI反転回路47が出力したデータDQの論理を反転して出力する。これにより、図6と同様に、図7(b)に示した”当該サイクルで送信したいデータ”が積層メモリ30に書き込まれる。 In FIG. 7 (h), the inverting processing circuit 49 provided in the logic chip 20 of the stacked memory 30 inverts the logic of the data DQ output by the DBI inverting circuit 47 based on the all inverting bits DAI of the logic 1 and outputs the logic. To do. As a result, similarly to FIG. 6, "data to be transmitted in the cycle" shown in FIG. 7B is written in the stacked memory 30.

図7(i)〜図7(m)は、全反転ビットDAIが論理0に設定された場合に、プロセッサチップ40から積層メモリ30に転送されるデータDQの例を示す。図7(k)に示すように、全反転ビットDAIが論理0に設定された場合の32ビットのデータDQに対応する反転ビット数の総数は16ビットであり、全反転ビットDAIを論理1に設定した方が、論理が反転するビット数が少ない。このため、プロセッサチップ40から積層メモリ30へのデータDQの転送は、図7(a)〜図7(h)により実施される。 7 (i) to 7 (m) show an example of data DQ transferred from the processor chip 40 to the stacked memory 30 when the fully inverted bit DAI is set to logic 0. As shown in FIG. 7 (k), when the fully inverted bit DAI is set to logic 0, the total number of inverted bits corresponding to the 32-bit data DQ is 16 bits, and the fully inverted bit DAI is set to logic 1. The number of bits for which the logic is inverted is smaller when set. Therefore, the transfer of the data DQ from the processor chip 40 to the stacked memory 30 is carried out according to FIGS. 7 (a) to 7 (h).

図8は、図2のプロセッサチップ40から積層メモリ30に送信するデータDQのさらなる別の例を示す。図6と同じ処理については、詳細な説明は省略する。図8は、図8(a)の”1サイクル前の送信データ”のバイト3〜バイト2の反転ビットDBIの論理が、図6(a)に対して異なっている。図8(b)の”当該サイクルで送信したいデータ”のデータDQの論理は、図6(b)と同じである。なお、積層メモリ30からプロセッサチップ40にデータDQを転送する場合も、図8と同じ処理が実行される。 FIG. 8 shows yet another example of data DQ transmitted from the processor chip 40 of FIG. 2 to the stacked memory 30. A detailed description of the same processing as in FIG. 6 will be omitted. In FIG. 8, the logic of the inverted bit DBI of bytes 3 to 2 of the “transmission data one cycle before” in FIG. 8A is different from that in FIG. 6A. The logic of the data DQ of "data to be transmitted in the cycle" in FIG. 8 (b) is the same as that in FIG. 6 (b). When the data DQ is transferred from the stacked memory 30 to the processor chip 40, the same process as in FIG. 8 is executed.

図8(a)および図8(b)のデータDQの論理は、図6(a)および図6(b)とそれぞれ同じであるため、図8(c)の反転ビット数は図6(c)と同じである。図8(d)は、図6(d)と同じであり、図8(e)は、図6(e)と同じである。但し、バイト3〜バイト2の反転ビットDBIの論理は、”1サイクル前の送信データ”の反転ビットDBIの論理と異なるため、図8(f)の反転ビット数は、図6より2ビット多い16ビットになる。図8(g)および図8(h)は、図6(g)および図6(h)とそれぞれ同じである。 Since the logic of the data DQ in FIGS. 8 (a) and 8 (b) is the same as that in FIGS. 6 (a) and 6 (b), the number of inverted bits in FIG. 8 (c) is FIG. 6 (c). ) Is the same. 8 (d) is the same as FIG. 6 (d), and FIG. 8 (e) is the same as FIG. 6 (e). However, since the logic of the inverted bit DBI of bytes 3 to 2 is different from the logic of the inverted bit DBI of "transmission data one cycle before", the number of inverted bits in FIG. 8 (f) is 2 bits larger than that in FIG. It becomes 16 bits. 8 (g) and 8 (h) are the same as FIGS. 6 (g) and 6 (h), respectively.

一方、全反転ビットDAIを論理0に設定する図8(i)〜図8(m)では、図8(k)の反転ビット数が異なることを除き、図6(i)〜図6(m)と同じである。図8(k)において、バイト3〜バイト2の反転ビットDBIの論理は、”1サイクル前の送信データ”の反転ビットDBIの論理と同じであるため、反転ビット数の総数は、図6(k)に比べて2つ少ない”14”になる。その結果、全反転ビットDAIを論理0にした方が、全反転ビットDAIを論理1にするよりも反転ビット数の総数を減らすことができる。 On the other hand, in FIGS. 8 (i) to 8 (m) in which the all inversion bits DAI are set to logic 0, FIGS. 6 (i) to 6 (m) except that the number of inversion bits in FIG. 8 (k) is different. ) Is the same. In FIG. 8 (k), the logic of the inverted bit DBI of bytes 3 to 2 is the same as the logic of the inverted bit DBI of "transmission data one cycle before", so that the total number of inverted bits is shown in FIG. It becomes "14" which is two less than k). As a result, it is possible to reduce the total number of inverted bits by setting the all-inverted bit DAI to logic 0 as compared to setting the all-inverted bit DAI to logic 1.

このため、反転処理回路43は、図8(d)に示す論理ではなく、図8(i)に示す論理をDBI反転回路45に出力する。DBI反転回路45は、図8(e)に示す論理でなく、図8(j)に示す論理を積層メモリ30に向けて出力する。 Therefore, the inverting processing circuit 43 outputs the logic shown in FIG. 8 (i) to the DBI inverting circuit 45 instead of the logic shown in FIG. 8 (d). The DBI inverting circuit 45 outputs not the logic shown in FIG. 8 (e) but the logic shown in FIG. 8 (j) toward the stacked memory 30.

このように、DBI反転回路45によるデータDQの反転が3バイト以上の場合でも、データ入出力回路46から出力されるデータ等の反転ビット数が、全反転ビットDAIが論理0の場合より多い場合、全反転ビットDAIは論理0に設定される。換言すれば、反転ビットDBIの3ビット以上が論理1に設定される場合にも、前回の送信に比べて論理が反転する信号の総数が増える場合、全反転ビットDAIは論理0に設定される。これにより、上述したように、データDQ、反転ビットDBIおよび全反転ビットDAIの論理が変化する総数を削減することができ、データDQのインタフェース部分の消費電力をさらに削減することができる。 In this way, even when the inversion of the data DQ by the DBI inversion circuit 45 is 3 bytes or more, the number of inversion bits of the data or the like output from the data input / output circuit 46 is larger than that in the case where the total inversion bit DAI is logic 0. , The fully inverted bit DAI is set to logical 0. In other words, even when 3 or more bits of the inverting bit DBI are set to logic 1, if the total number of signals whose logic is inverted increases compared to the previous transmission, the all inverting bits DAI are set to logic 0. .. As a result, as described above, the total number of changes in the logic of the data DQ, the inverting bit DBI, and the total inverting bit DAI can be reduced, and the power consumption of the interface portion of the data DQ can be further reduced.

図9は、図2のプロセッサチップ40が積層メモリ30にデータDQを送信する場合の動作の一例を示す。なお、図9は、プロセッサチップ40にデータDQを送信する積層メモリ30の動作の一例も示している。すなわち、図9は、プロセッサチップ40による積層メモリ30への書き込みデータDQの転送方法と、積層メモリ30によるプロセッサチップ40への読み出しデータDQの転送方法の一例を示している。 FIG. 9 shows an example of the operation when the processor chip 40 of FIG. 2 transmits data DQ to the stacked memory 30. Note that FIG. 9 also shows an example of the operation of the stacked memory 30 that transmits data DQ to the processor chip 40. That is, FIG. 9 shows an example of a method of transferring the write data DQ to the stacked memory 30 by the processor chip 40 and a method of transferring the read data DQ to the processor chip 40 by the stacked memory 30.

積層メモリ30がプロセッサチップ40にデータDQを転送する例は、以下の説明中の”プロセッサチップ40”を”積層メモリ30”に置き換えることで説明される。図9に示す動作は、バースト動作の開始に基づいて開始される。なお、図9に示す動作は、32ビットのデータDQ毎に実行され、1サイクルの128ビットのデータDQでは、図9に示す動作が4回並列に実行される。 An example in which the stacked memory 30 transfers data DQ to the processor chip 40 will be described by replacing the "processor chip 40" in the following description with the "stacked memory 30". The operation shown in FIG. 9 is started based on the start of the burst operation. The operation shown in FIG. 9 is executed for each 32-bit data DQ, and in one cycle of 128-bit data DQ, the operation shown in FIG. 9 is executed four times in parallel.

まず、ステップS10において、プロセッサチップ40は、バースト動作のサイクルCYC0の場合、動作をステップS24に移行し、バースト動作のサイクルCYC1−CYC3の場合、動作をステップS12に移行する。 First, in step S10, the processor chip 40 shifts the operation to step S24 in the case of the burst operation cycle CYC0, and shifts the operation to step S12 in the case of the burst operation cycle CYC1-CYC3.

ステップS12において、プロセッサチップ40の反転予測回路42は、ラッチ回路41が保持する1サイクル前のデータDQと反転ビットDBIとに基づいて、DBI反転回路45が論理を反転するビット数を算出する。ここで、DBI反転回路45が論理を反転するビット数は、”当該サイクルで送信したいデータDQ”と1サイクル前に送信したデータDQとを用いて算出される予測値であり、DBI反転回路45が実際に論理を反転するビット数ではない。反転予測回路42は、算出したビット数を各バイトに対応させて反転処理回路43に出力する。 In step S12, the inverting prediction circuit 42 of the processor chip 40 calculates the number of bits for which the DBI inverting circuit 45 inverts the logic based on the data DQ one cycle before and the inverting bit DBI held by the latch circuit 41. Here, the number of bits for which the DBI inverting circuit 45 inverts the logic is a predicted value calculated using "data DQ to be transmitted in the cycle" and data DQ transmitted one cycle before, and the DBI inverting circuit 45 Is not the number of bits that actually invert the logic. The inverting prediction circuit 42 outputs the calculated number of bits to the inverting processing circuit 43 in correspondence with each byte.

次に、ステップS14において、反転処理回路43は、反転予測回路42から受信した反転ビット数に基づいて、論理が5ビット以上反転するバイトが3バイト以上であるか否かを判定する。すなわち、反転処理回路43は、前回の送信に比べてビット値の変化数がビット数の半数を超えるバイトの比率が50%を超えるか否かを判定する。論理が5ビット以上反転するバイトが3バイト以上である場合、動作はステップS16に移行され、論理が5ビット以上反転するバイトが2バイト以下である場合、動作はステップS20に移行される。 Next, in step S14, the inversion processing circuit 43 determines whether or not the number of bytes whose logic is inverted by 5 bits or more is 3 bytes or more based on the number of inversion bits received from the inversion prediction circuit 42. That is, the inversion processing circuit 43 determines whether or not the ratio of bytes in which the number of changes in the bit value exceeds half of the number of bits exceeds 50% as compared with the previous transmission. When the number of bytes in which the logic is inverted by 5 bits or more is 3 bytes or more, the operation is shifted to step S16, and when the number of bytes in which the logic is inverted by 5 bits or more is 2 bytes or less, the operation is shifted to step S20.

ステップS16において、反転処理回路43は、全反転ビットDAIを論理1に設定した方が、全反転ビットDAIを論理0に設定するより、総反転ビット数が少ないか否かを判定する。ここで、データDQ、反転ビットDBIおよび全反転ビットDAIが、総反転ビット数の判定に使用される。 In step S16, the inverting processing circuit 43 determines whether or not the total number of inverting bits is smaller when the all-inverted bit DAI is set to logic 1 than when the all-inverted bit DAI is set to logic 0. Here, the data DQ, the inverting bit DBI, and the total inverting bit DAI are used to determine the total number of inverted bits.

全反転ビットDAIを論理1に設定した方が、総反転ビット数が少ない場合、動作はステップS18に移行され、全反転ビットDAIを論理1に設定しても、総反転ビット数が少なくならない場合、動作はステップS20に移行される。 If the total number of inverted bits is smaller when the all-inverted bit DAI is set to logic 1, the operation is shifted to step S18, and the total number of inverted bits does not decrease even if the all-inverted bit DAI is set to logic 1. , The operation is shifted to step S20.

ステップS18において、反転処理回路43は、論理1の全反転ビットDAIと、”当該サイクルで送信したいデータDQ”の論理を反転したデータDQとをDBI反転回路45に向けて出力し、動作をステップS22に移行する。一方、ステップS20において、反転処理回路43は、論理0の全反転ビットDAIと、”当該サイクルで送信したいデータDQ”とをDBI反転回路45に向けて出力し、動作をステップS22に移行する。 In step S18, the inversion processing circuit 43 outputs the all-inverted bit DAI of the logic 1 and the data DQ in which the logic of the "data DQ to be transmitted in the cycle" is inverted to the DBI inversion circuit 45, and steps the operation. Move to S22. On the other hand, in step S20, the inverting processing circuit 43 outputs the all-inverted bit DAI of logic 0 and the "data DQ to be transmitted in the cycle" to the DBI inverting circuit 45, and shifts the operation to step S22.

ステップS22において、DBI反転回路45は、反転処理回路43から受信したデータDQと1サイクル前に送信したデータDQとに基づいて、データDQの論理を反転するかどうかを決め、論理を反転する場合、反転ビットDBIを論理1に設定する。DBI反転回路45は、反転ビットDBIの論理に応じて論理を設定したデータDQをデータ入出力回路46に出力し、動作をステップS24に移行する。 In step S22, the DBI inverting circuit 45 determines whether to invert the logic of the data DQ based on the data DQ received from the inverting processing circuit 43 and the data DQ transmitted one cycle before, and inverts the logic. , The inverting bit DBI is set to logic 1. The DBI inverting circuit 45 outputs the data DQ whose logic is set according to the logic of the inverting bit DBI to the data input / output circuit 46, and shifts the operation to step S24.

ステップS24において、データ入出力回路46は、DBI反転回路45から受信したデータDQおよび反転ビットDBIと、反転処理回路43が生成した全反転ビットDAIとを送信し、動作を終了する。なお、バースト動作のサイクルCYC0の場合、例えば、反転ビットDBIおよび全反転ビットDAIは、論理0に設定される。 In step S24, the data input / output circuit 46 transmits the data DQ and the inverting bit DBI received from the DBI inverting circuit 45 and the fully inverting bit DAI generated by the inverting processing circuit 43, and ends the operation. In the case of the burst operation cycle CYC0, for example, the inverting bit DBI and the fully inverting bit DAI are set to logic 0.

図10は、図1のプロセッサチップ40が積層メモリ30からデータDQを受信する場合の動作の一例を示す。なお、図10は、プロセッサチップ40からデータDQを受信する積層メモリ30の動作の一例も示している。すなわち、図10は、プロセッサチップ40による積層メモリ30からの読み出しデータDQの受信方法と、積層メモリ30によるプロセッサチップ40からの書き込みデータDQの受信方法の一例を示す。 FIG. 10 shows an example of the operation when the processor chip 40 of FIG. 1 receives data DQ from the stacked memory 30. Note that FIG. 10 also shows an example of the operation of the stacked memory 30 that receives the data DQ from the processor chip 40. That is, FIG. 10 shows an example of a method of receiving read data DQ from the stacked memory 30 by the processor chip 40 and a method of receiving write data DQ from the processor chip 40 by the stacked memory 30.

積層メモリ30がプロセッサチップ40から出力される書き込みデータDQを受信する例は、以下の説明中の”プロセッサチップ40”を”積層メモリ30”に置き換えることで説明される。図10に示す動作は、バースト動作の開始に基づいて開始される。なお、図10に示す動作は、32ビットのデータDQ毎に実行され、1サイクルの128ビットのデータDQでは、図10に示す動作が4回並列に実行される。 An example in which the stacked memory 30 receives the write data DQ output from the processor chip 40 will be described by replacing the "processor chip 40" in the following description with the "stacked memory 30". The operation shown in FIG. 10 is started based on the start of the burst operation. The operation shown in FIG. 10 is executed for each 32-bit data DQ, and in one cycle of 128-bit data DQ, the operation shown in FIG. 10 is executed four times in parallel.

まず、ステップS30において、プロセッサチップ40のデータ入出力回路46は、データDQ、反転ビットDBIおよび全反転ビットDAIを受信する。次に、ステップS32において、プロセッサチップ40は、バースト動作のサイクルCYC0の場合、動作を終了し、バースト動作のサイクルCYC1−CYC3の場合、動作をステップS34に移行する。サイクルCYC0の場合、反転ビットDBIおよび全反転ビットDAIは無効であり、プロセッサチップ40は、データ入出力回路46が受信したデータDQを用いて、データ処理等を実行する。 First, in step S30, the data input / output circuit 46 of the processor chip 40 receives the data DQ, the inverted bit DBI, and the fully inverted bit DAI. Next, in step S32, the processor chip 40 ends the operation in the case of the burst operation cycle CYC0, and shifts the operation to step S34 in the case of the burst operation cycle CYC1-CYC3. In the case of cycle CYC0, the inverting bit DBI and the fully inverting bit DAI are invalid, and the processor chip 40 executes data processing or the like using the data DQ received by the data input / output circuit 46.

ステップS34において、プロセッサチップ40のDBI反転回路47は、データDQのバイト毎に、受信したDBIが論理1の場合、受信したデータDQの論理を反転し、反転処理回路49に向けて出力する。次に、ステップS36において、プロセッサチップ40の反転処理回路49は、受信した全反転ビットDAIが論理1の場合、受信した32ビットのデータDQの論理を反転し、動作を終了する。 In step S34, the DBI inverting circuit 47 of the processor chip 40 inverts the logic of the received data DQ and outputs it to the inverting processing circuit 49 for each byte of the data DQ when the received DBI is logic 1. Next, in step S36, when the received total inversion bit DAI is logic 1, the inverting processing circuit 49 of the processor chip 40 inverts the logic of the received 32-bit data DQ and ends the operation.

以上、図2から図10に示す実施形態においても、図1に示した実施形態と同様の効果を得ることができる。例えば、論理が反転される反転ビットDBIの数を削減することができ、デバイス30、40間を伝送される信号において、論理が変化する信号のビット数を削減することができる。この結果、データ入出力回路46の消費電力を削減することができ、システム・イン・パッケージ102の消費電力を削減することができる。また、全反転ビットDAIをデータDQとともに1つのサイクルで伝送することで、全反転ビットDAIを伝送する専用のサイクルを不要にすることができる。この結果、データDQの伝送効率を低下させることなく、データ入出力回路46の消費電力を削減することができる。 As described above, even in the embodiments shown in FIGS. 2 to 10, the same effects as those in the embodiment shown in FIG. 1 can be obtained. For example, the number of inverting bit DBIs whose logic is inverted can be reduced, and the number of bits of a signal whose logic changes can be reduced in the signal transmitted between the devices 30 and 40. As a result, the power consumption of the data input / output circuit 46 can be reduced, and the power consumption of the system-in-package 102 can be reduced. Further, by transmitting the fully inverted bit DAI together with the data DQ in one cycle, it is possible to eliminate the need for a dedicated cycle for transmitting the fully inverted bit DAI. As a result, the power consumption of the data input / output circuit 46 can be reduced without lowering the transmission efficiency of the data DQ.

さらに、図2から図10に示す実施形態では、以下に示す効果を得ることができる。例えば、反転予測回路42は、全反転ビットDAIの論理1の設定時のデータDQ、反転ビットDBIおよび全反転ビットDAIの反転ビット数が、全反転ビットDAIの論理0の設定時よりもが多い場合、全反転ビットDAIを論理0に設定する。これにより、1サイクル前に送信したデータDQだけでなく、データDQ、反転ビットDBIおよび全反転ビットDAIの論理が変化する総数を削減することができ、データDQのインタフェース部分の消費電力をさらに削減することができる。 Further, in the embodiments shown in FIGS. 2 to 10, the following effects can be obtained. For example, in the inverting prediction circuit 42, the number of inverting bits of the data DQ, the inverting bit DBI, and the inverting bit DAI when the logic 1 of the inverting bit DAI is set is larger than that when the logic 0 of the inverting bit DAI is set. If so, the all-inverted bit DAI is set to logical 0. As a result, not only the data DQ transmitted one cycle before but also the total number of changes in the logic of the data DQ, the inverted bit DBI and the fully inverted bit DAI can be reduced, and the power consumption of the interface portion of the data DQ can be further reduced. can do.

また、データマスクビットDMのうち、誤り検出・訂正符号に使用されない8ビットを使用して、反転ビットDBIのトグルを少なくするための全反転ビットDAIを設定することで、データDQのインタフェース部分の消費電力をさらに削減することができる。 Further, by using 8 bits of the data mask bit DM that are not used for the error detection / correction code and setting the fully inverted bit DAI to reduce the toggle of the inverted bit DBI, the interface portion of the data DQ can be set. The power consumption can be further reduced.

図11は、別の実施形態の半導体装置におけるデータマスク領域の割り当ての一例を示す。図2から図10で説明した内容と同様の内容については、詳細な説明は省略する。例えば、図11のデータマスク領域の割り当てが適用される半導体装置は、図2と同様に、システム・イン・パッケージ102に搭載されるプロセッサチップ40Aまたは積層メモリ30A(図12)である。すなわち、プロセッサチップ40Aは、図2のプロセッサチップ40の代わりにシステム・イン・パッケージ102に搭載することができる。 FIG. 11 shows an example of allocation of a data mask area in the semiconductor device of another embodiment. Detailed description of the contents similar to those described with reference to FIGS. 2 to 10 will be omitted. For example, the semiconductor device to which the data mask area allocation of FIG. 11 is applied is the processor chip 40A or the stacked memory 30A (FIG. 12) mounted on the system-in-package 102, as in FIG. That is, the processor chip 40A can be mounted in the system-in-package 102 instead of the processor chip 40 of FIG.

図11では、ECCグループ内の4つの64ビットのデータDQが32ビットずつのメイングループA、B、C、D、E、F、G、Hに分割される。例えば、メイングループA、B、C、DのデータDQは、バースト動作のサイクルCYC0、CYC2で送受信されるデータDQであり、メイングループE、F、G、HのデータDQは、バースト動作のサイクルCYC1、CYC3で送受信されるデータDQである。 In FIG. 11, the four 64-bit data DQs in the ECC group are divided into main groups A, B, C, D, E, F, G, and H of 32 bits each. For example, the data DQs of the main groups A, B, C, and D are the data DQs transmitted and received in the burst operation cycles CYC0 and CYC2, and the data DQs of the main groups E, F, G, and H are the burst operation cycles. It is a data DQ transmitted and received by CYC1 and CYC3.

さらに、各メイングループA−Hは、4ビットずつの8つのサブグループS(S0、S1、S2、S3、S4、S5、S6、S7)に分割される。サブグループS0−S7のデータは、第2の部分データの一例である。一方、データマスク領域DMにおいて、誤り検出・訂正符号に使用されない空きビットは、以下のように使用される。サイクルCYC0の空きの4ビットには、2ビットの基本反転パターンBRP[1:0]が割り当てられる。サイクルCYC1の空きの4ビットには、メイングループE、F、G、Hの反転ビットRB−E、RB−F、RB−G、RB−H(各1ビット)がそれぞれ割り当てられる。 Further, each main group AH is divided into eight subgroups S (S0, S1, S2, S3, S4, S5, S6, S7) of 4 bits each. The data of the subgroups S0-S7 is an example of the second partial data. On the other hand, in the data mask area DM, the empty bits that are not used for the error detection / correction code are used as follows. A 2-bit basic inversion pattern BRP [1: 0] is assigned to the empty 4 bits of the cycle CYC0. The inverting bits RB-E, RB-F, RB-G, and RB-H (1 bits each) of the main groups E, F, G, and H are assigned to the empty 4 bits of the cycle CYC1.

サイクルCYC2の空きの4ビットには、メイングループA、B、C、Dの反転ビットRB−A、RB−B、RB−C、RB−D(各1ビット)がそれぞれ割り当てられる。サイクルCYC3の空きの4ビットには、サイクルCYC1と同様に、メイングループE、F、G、Hの反転ビットRB−E、RB−F、RB−G、RB−H(各1ビット)がそれぞれ割り当てられる。 The inverting bits RB-A, RB-B, RB-C, and RB-D (1 bits each) of the main groups A, B, C, and D are assigned to the empty 4 bits of the cycle CYC2. Similar to cycle CYC1, the empty 4 bits of cycle CYC3 have inverted bits RB-E, RB-F, RB-G, and RB-H (1 bit each) of the main groups E, F, G, and H, respectively. Assigned.

以下では、反転ビットRB−A、RB−B、RB−C、RB−D、RB−E、RB−F、RB−G、RB−Hを区別なく説明する場合、反転ビットRBと称する。基本反転パターンBRPは、グループ識別情報の一例であり、反転ビットRBは、反転ペア情報の一例であり、基本反転パターンBRPおよび反転ビットRBは、第2の反転情報の一例である。 Hereinafter, when the inverting bits RB-A, RB-B, RB-C, RB-D, RB-E, RB-F, RB-G, and RB-H are described without distinction, they are referred to as inverting bits RB. The basic inversion pattern BRP is an example of group identification information, the inversion bit RB is an example of inversion pair information, and the basic inversion pattern BRP and the inversion bit RB are an example of the second inversion information.

図11に示すデータマスク領域DMに割り当てられる基本反転パターンBRPおよび反転ビットRBにより、送受信するデータがどのように制御されるかの例は、図13で説明する。 An example of how the transmitted / received data is controlled by the basic inversion pattern BRP and the inversion bit RB assigned to the data mask area DM shown in FIG. 11 will be described with reference to FIG.

図12は、図11のデータマスク領域DMの割り当てが適用されるプロセッサチップ40Aの一例を示す。図5のプロセッサチップ40と同様の要素については、同じ符号を付し、詳細な説明は省略する。プロセッサチップ40Aは、反転処理回路43A、ECC生成回路44、DBI反転回路45、データ入出力回路46(PHY)、DBI反転回路47、ECC訂正回路48および反転処理回路49Aを有する。反転処理回路43Aは、第2の判定部の一例であり、反転処理回路49Aは、第4の反転部の一例である。 FIG. 12 shows an example of the processor chip 40A to which the allocation of the data mask area DM of FIG. 11 is applied. The same elements as those of the processor chip 40 of FIG. 5 are designated by the same reference numerals, and detailed description thereof will be omitted. The processor chip 40A includes an inverting processing circuit 43A, an ECC generation circuit 44, a DBI inverting circuit 45, a data input / output circuit 46 (PHY), a DBI inverting circuit 47, an ECC correction circuit 48, and an inverting processing circuit 49A. The inverting processing circuit 43A is an example of a second determination unit, and the inverting processing circuit 49A is an example of a fourth inverting unit.

反転処理回路43Aは、4つのサイクルCYC0−CYC3を使用して1回のバースト動作で転送される512ビットのデータDQについて、送信するデータDQの論理をサイクルCYC毎に決定する。送信するデータDQの論理をバースト動作の単位毎に決定するため、反転処理回路43Aは、512ビットのデータDQ(書き込みでデータ)の受信に基づいて動作する。反転処理回路43Aの動作の例については、図13および図14で説明する。 The inverting processing circuit 43A determines the logic of the data DQ to be transmitted for each cycle CYC for the 512-bit data DQ transferred in one burst operation using the four cycles CYC0-CYC3. In order to determine the logic of the data DQ to be transmitted for each unit of burst operation, the inversion processing circuit 43A operates based on the reception of 512-bit data DQ (data by writing). An example of the operation of the inverting processing circuit 43A will be described with reference to FIGS. 13 and 14.

ECC生成回路44、DBI反転回路45、データ入出力回路46、DBI反転回路47およびECC訂正回路48は、図5のECC生成回路44、DBI反転回路45、データ入出力回路46、DBI反転回路47およびECC訂正回路48と同様の機能を有する。 The ECC generation circuit 44, the DBI inverting circuit 45, the data input / output circuit 46, the DBI inverting circuit 47, and the ECC correction circuit 48 are the ECC generation circuit 44, the DBI inverting circuit 45, the data input / output circuit 46, and the DBI inverting circuit 47 of FIG. And has the same function as the ECC correction circuit 48.

反転処理回路49Aは、ECC訂正回路48から受信するデータDQの論理を、基本反転パターンBRPと反転ビットRBとに基づいて、サブグループS毎に反転する処理を実施する。反転処理回路49Aは、基本反転パターンBRPが”00”の場合、偶数番号のサブグループSに属するデータDQのうち、論理1の反転ビットRBに対応するデータDQの論理を反転し、読み出しデータDQとして出力する。反転処理回路49Aは、基本反転パターンBRPが”10”の場合、奇数番号のサブグループSに属するデータDQのうち、論理1の反転ビットRBに対応するデータDQの論理を反転し、読み出しデータDQとして出力する。反転処理回路49Aは、基本反転パターンBRPが”11”(無効情報)の場合、受信したデータDQの論理を変えずに読み出しデータDQとして出力する。 The inverting process circuit 49A performs a process of inverting the logic of the data DQ received from the ECC correction circuit 48 for each subgroup S based on the basic inverting pattern BRP and the inverting bit RB. When the basic inversion pattern BRP is "00", the inversion processing circuit 49A inverts the logic of the data DQ corresponding to the inversion bit RB of the logic 1 among the data DQ belonging to the even numbered subgroup S, and reads out the data DQ. Output as. When the basic inversion pattern BRP is "10", the inversion processing circuit 49A inverts the logic of the data DQ corresponding to the inversion bit RB of the logic 1 among the data DQ belonging to the odd-numbered subgroup S, and reads out the data DQ. Output as. When the basic inversion pattern BRP is "11" (invalid information), the inverting processing circuit 49A outputs the read data DQ without changing the logic of the received data DQ.

偶数番号のサブグループS0、S2、S4、S6は、第1のグループ(偶数グループ)の一例であり、奇数番号のサブグループS1、S3、S5、S7は、第2のグループ(奇数グループ)の一例である。サブグループS0/S1、S2/S3、S4/S5、S6/S7の各々は、部分データペアの一例である。基本反転パターンBRP[1:0]により示される偶数番号のサブグループSまたは奇数番号のサブグループSは、優位グループの一例である。 The even-numbered subgroups S0, S2, S4, and S6 are examples of the first group (even-numbered group), and the odd-numbered subgroups S1, S3, S5, and S7 are of the second group (odd-numbered group). This is an example. Each of the subgroups S0 / S1, S2 / S3, S4 / S5, and S6 / S7 is an example of a partial data pair. The even-numbered subgroup S or the odd-numbered subgroup S indicated by the basic inversion pattern BRP [1: 0] is an example of the dominant group.

なお、図12に示すプロセッサチップ40Aに含まれる符号43A、44〜48、49Aで示す各要素は、積層メモリ30にも搭載される。すなわち、プロセッサチップ40Aを積層メモリ30Aとし、積層メモリ30Aをプロセッサチップ40Aとし、書き込みデータDQを読み出しデータDQとし、読み出しデータDQを書き込みデータDQとすることで、積層メモリ30Aの例が示される。 Each element represented by reference numerals 43A, 44 to 48, and 49A included in the processor chip 40A shown in FIG. 12 is also mounted on the stacked memory 30. That is, an example of the stacked memory 30A is shown by using the processor chip 40A as the stacked memory 30A, the stacked memory 30A as the processor chip 40A, the write data DQ as the read data DQ, and the read data DQ as the write data DQ.

この場合、積層メモリ30Aは、反転処理回路43A、ECC生成回路44、DBI反転回路45およびデータ入出力回路46を用いて、プロセッサチップ40Aに送信するデータDQと、データDQに付随する情報とを生成する。また、積層メモリ30Aは、データ入出力回路46、DBI反転回路47、ECC訂正回路48および反転処理回路49Aを用いて、プロセッサチップ40から受信するデータを復元する。 In this case, the stacked memory 30A uses the inverting processing circuit 43A, the ECC generation circuit 44, the DBI inverting circuit 45, and the data input / output circuit 46 to transmit the data DQ to be transmitted to the processor chip 40A and the information accompanying the data DQ. Generate. Further, the stacked memory 30A restores the data received from the processor chip 40 by using the data input / output circuit 46, the DBI inverting circuit 47, the ECC correction circuit 48, and the inverting processing circuit 49A.

図13は、図11のデータマスク領域DMの割り当てが適用されるプロセッサチップ40Aの動作の概要を示す。図13は、1回のバースト動作において、サイクルCYC0−CYC3で512ビットのデータDQが積層メモリ30Aに送信される場合を示す。 FIG. 13 shows an outline of the operation of the processor chip 40A to which the allocation of the data mask area DM of FIG. 11 is applied. FIG. 13 shows a case where 512-bit data DQ is transmitted to the stacked memory 30A in the cycle CYC0-CYC3 in one burst operation.

サイクルCYC0では、プロセッサチップ40は、当該サイクルで送信したいデータDQの論理を操作せず、DBI反転回路45を介して積層メモリ30Aに送信する。サイクルCYC0で送信される基本反転パターンBRPの値は、図12で説明したように、バースト動作が開始される前に、反転処理回路43Aにより決められる。 In the cycle CYC0, the processor chip 40 does not operate the logic of the data DQ to be transmitted in the cycle, but transmits the data to the stacked memory 30A via the DBI inverting circuit 45. The value of the basic inversion pattern BRP transmitted in the cycle CYC0 is determined by the inversion processing circuit 43A before the burst operation is started, as described with reference to FIG.

基本反転パターンBRPが2進数で”00”の場合、サイクルCYC1−CYC3において、論理1の反転ビットRBに対応するメイングループ(A−Hのいずれか)の偶数番号のサブグループSのデータDQの論理を反転することを示す。図13に示す例では、”00”の基本反転パターンBRPに基づいて、論理1の反転ビットRBに対応する太枠で示す偶数番号のサブグループSのデータDQの論理が反転され、DBI反転回路45を介して積層メモリ30Aに送信される。 When the basic inversion pattern BRP is "00" in binary, in the cycle CYC1-CYC3, the data DQ of the even-numbered subgroup S of the main group (any of AH) corresponding to the inversion bit RB of logic 1. Indicates that the logic is reversed. In the example shown in FIG. 13, the logic of the data DQ of the even-numbered subgroup S shown in the thick frame corresponding to the inversion bit RB of the logic 1 is inverted based on the basic inversion pattern BRP of “00”, and the DBI inversion circuit It is transmitted to the stacked memory 30A via 45.

基本反転パターンBRPが2進数で”10”の場合、サイクルCYC1−CYC3において、論理1の反転ビットRBに対応するメイングループ(A−Hのいずれか)の奇数番号のサブグループSのデータDQの論理が反転される。基本反転パターンBRPが2進数で”11”の場合、サイクルCYC1−CYC3において、サブグループ単位でのデータDQの論理の反転は実行されず、サイクルCYC0と同じ動作が実行される。 When the basic inversion pattern BRP is "10" in binary, in the cycle CYC1-CYC3, the data DQ of the odd-numbered subgroup S of the main group (any of AH) corresponding to the inversion bit RB of the logic 1. The logic is reversed. When the basic inversion pattern BRP is "11" in binary, in the cycle CYC1-CYC3, the logic inversion of the data DQ in the subgroup unit is not executed, and the same operation as the cycle CYC0 is executed.

なお、2進数で”01”の基本反転パターンBRPは使用されない。このため、基本反転パターンBRPが2進数で”11”または”01”の場合、上述した”11”の場合と同じ動作が実行されてもよい。 The basic inversion pattern BRP of "01" in binary is not used. Therefore, when the basic inversion pattern BRP is "11" or "01" in binary, the same operation as in the case of "11" described above may be executed.

この実施形態では、反転処理回路43Aは、各バースト動作における512ビットのデータDQの論理の変化の傾向に基づいて、32ビットの各メイングループA−H内の16ビット毎にデータDQの論理を反転するか否かを決めることができる。 In this embodiment, the inversion processing circuit 43A performs the logic of the data DQ every 16 bits in each of the 32-bit main groups AH based on the tendency of the logic of the 512-bit data DQ to change in each burst operation. You can decide whether or not to flip.

図14は、図11のデータマスク領域DMの割り当てが適用されるプロセッサチップ40Aから積層メモリ30Aに送信するデータDQの一例を示す。積層メモリ30Aに送信するデータDQは、反転処理回路43Aにより決定される。図14では、ECC生成回路44およびECC訂正回路48の処理の説明は省略する。なお、積層メモリ30Aからプロセッサチップ40AにデータDQを送信する場合も、図14と同じ処理が実行される。 FIG. 14 shows an example of data DQ transmitted from the processor chip 40A to which the allocation of the data mask area DM of FIG. 11 is applied to the stacked memory 30A. The data DQ to be transmitted to the stacked memory 30A is determined by the inverting processing circuit 43A. In FIG. 14, the description of the processing of the ECC generation circuit 44 and the ECC correction circuit 48 will be omitted. When data DQ is transmitted from the stacked memory 30A to the processor chip 40A, the same processing as in FIG. 14 is executed.

反転処理回路43Aは、サイクルCYC0で送信するデータDQの論理(図14(a))とサイクルCYC1で送信したいデータDQの論理(図14(b))とを比較し、サブグループS毎に論理が反転する反転ビット数を算出する(図14(c))。反転処理回路43Aは、反転ビット数に基づいて、(判定式1)、(判定式2)のいずれが有効か、あるいは、(判定式1)、(判定式2)のいずれも有効でないかを判定する。 The inversion processing circuit 43A compares the logic of the data DQ transmitted in the cycle CYC0 (FIG. 14 (a)) with the logic of the data DQ to be transmitted in the cycle CYC1 (FIG. 14 (b)), and logics each subgroup S. Calculates the number of inverted bits in which is inverted (FIG. 14 (c)). Based on the number of inverting bits, the inverting processing circuit 43A determines which of (determination formula 1) and (determination formula 2) is valid, or whether either (determination formula 1) or (judgment formula 2) is valid. judge.

(判定式1):(S0の反転ビット数>2)&(S1の反転ビット数<2)&(S2の反転ビット数>2)&(S3の反転ビット数<2)&(S4の反転ビット数>2)&(S5の反転ビット数<2)&(S6の反転ビット数>2)&(S7の反転ビット数<2)
(判定式2):(S0の反転ビット数<2)&(S1の反転ビット数>2)&(S2の反転ビット数<2)&(S3の反転ビット数>2)&(S4の反転ビット数<2)&(S5の反転ビット数>2)&(S6の反転ビット数<2)&(S7の反転ビット数>2)
(Determination formula 1): (Number of inverted bits in S0> 2) & (Number of inverted bits in S1 <2) & (Number of inverted bits in S2> 2) & (Number of inverted bits in S3 <2) & (Inversion of S4) Number of bits> 2) & (Number of inverted bits in S5 <2) & (Number of inverted bits in S6> 2) & (Number of inverted bits in S7 <2)
(Determination formula 2): (Number of inverted bits in S0 <2) & (Number of inverted bits in S1> 2) & (Number of inverted bits in S2 <2) & (Number of inverted bits in S3> 2) & (Inversion of S4) Number of bits <2) & (Number of inverted bits in S5> 2) & (Number of inverted bits in S6 <2) & (Number of inverted bits in S7> 2)

(判定式1)では、偶数グループの全てのサブグループSで、前回の送信に比べてビット値の変化数がビット数の半数を超え、奇数グループの全てのサブグループSで、前回の送信に比べてビット値の変化数がビット数の半数以下であることが判定される。(判定式2)では、奇数グループの全てのサブグループSで、前回の送信に比べてビット値の変化数がビット数の半数を超え、偶数グループの全てのサブグループSで、前回の送信に比べてビット値の変化数がビット数の半数以下であることが判定される。そして、反転処理回路43Aは、(判定式1)または(判定式2)を満足する場合、ビット値の変化数がビット数の半数を超えたグループを優位グループと判定する。 In (judgment formula 1), in all the subgroups S of the even-numbered group, the number of changes in the bit value exceeds half of the number of bits compared to the previous transmission, and in all the subgroups S of the odd-numbered group, the previous transmission is performed. By comparison, it is determined that the number of changes in the bit value is less than half of the number of bits. In (judgment formula 2), in all the subgroups S of the odd-numbered group, the number of changes in the bit value exceeds half of the number of bits compared to the previous transmission, and in all the subgroups S of the even-numbered group, the previous transmission is performed. By comparison, it is determined that the number of changes in the bit value is less than half of the number of bits. Then, when the inversion processing circuit 43A satisfies (determination formula 1) or (determination formula 2), the inversion processing circuit 43A determines that the group in which the number of changes in the bit value exceeds half of the number of bits is the dominant group.

次に、反転処理回路43Aは、(判定式1)、(判定式2)による判定結果に基づいて、サイクルCYC1で送信するデータDQを仮決定する(図14(d))。 Next, the inversion processing circuit 43A tentatively determines the data DQ to be transmitted in the cycle CYC1 based on the determination results by (determination formula 1) and (determination formula 2) (FIG. 14 (d)).

反転処理回路43Aは、(判定式1)が有効であると判定した場合、偶数番号のサブグループSの反転ビット数が3ビット以上のデータDQの論理を反転してサイクルCYC1で送信するデータDQを生成する。すなわち、(判定式1)が有効である場合、偶数番号の4つのサブグループSのうち、前回の送信に比べてデータDQのビット値の変化数がビット数の半数を超えるサブグループSのデータDQの論理が反転される。 When the inverting processing circuit 43A determines that (determination formula 1) is valid, the data DQ transmitted in the cycle CYC1 by inverting the logic of the data DQ in which the number of inverted bits of the even-numbered subgroup S is 3 bits or more. To generate. That is, when (judgment formula 1) is valid, among the four even-numbered subgroups S, the data of the subgroup S in which the number of changes in the bit value of the data DQ exceeds half of the number of bits compared to the previous transmission. The logic of DQ is reversed.

反転処理回路43Aは、(判定式2)が有効である判定した場合、奇数番号のサブグループSの反転ビット数が3ビット以上のデータDQの論理を反転してサイクルCYC1で送信するデータDQを生成する。すなわち、(判定式2)が有効である場合、奇数番号の4つのサブグループSのうち、前回の送信に比べてデータDQのビット値の変化数がビット数の半数を超えるサブグループSのデータDQの論理が反転される。 When the inversion processing circuit 43A determines that (determination formula 2) is valid, the inversion processing circuit 43A inverts the logic of the data DQ in which the number of inversion bits of the odd-numbered subgroup S is 3 bits or more and transmits the data DQ in the cycle CYC1. Generate. That is, when (judgment formula 2) is valid, among the four odd-numbered subgroups S, the data of the subgroup S in which the number of changes in the bit value of the data DQ exceeds half of the number of bits compared to the previous transmission. The logic of DQ is reversed.

反転処理回路43Aは、(判定式1)、(判定式2)のいずれも有効でないと判定した場合、サイクルCYC1で送信したいデータDQをサイクルCYC1で送信するデータDQとする。 When it is determined that neither (determination formula 1) nor (determination formula 2) is valid, the inverting processing circuit 43A sets the data DQ to be transmitted in the cycle CYC1 as the data DQ to be transmitted in the cycle CYC1.

次に、反転処理回路43Aは、サイクルCYC1で送信するデータDQ(仮決定)の論理とサイクルCYC2で送信したいデータDQの論理(図14(e))とを比較し、サブグループS毎に論理が反転する反転ビット数を算出する(図14(f))。反転処理回路43Aは、反転ビット数に基づいて、(判定式1)、(判定式2)のいずれが有効か、あるいは、いずれも有効でないかを判定する。そして、反転処理回路43Aは、サイクルCYC1で送信するデータDQを決定したときと同様に、有効と判定した判定式を用いて、サイクルCYC2で送信するデータDQを仮決定する(図14(g))。 Next, the inversion processing circuit 43A compares the logic of the data DQ (provisional determination) transmitted in the cycle CYC1 with the logic of the data DQ to be transmitted in the cycle CYC2 (FIG. 14 (e)), and logics each subgroup S. Calculates the number of inverted bits in which is inverted (FIG. 14 (f)). The inverting processing circuit 43A determines whether (determination formula 1) or (determination formula 2) is valid or neither is valid based on the number of inverting bits. Then, the inversion processing circuit 43A tentatively determines the data DQ to be transmitted in the cycle CYC2 by using the determination formula determined to be valid in the same manner as when the data DQ to be transmitted in the cycle CYC1 is determined (FIG. 14 (g)). ).

次に、反転処理回路43Aは、上述と同様に、サイクルCYC2で送信するデータDQの論理(仮決定)とサイクルCYC3で送信したいデータDQ(図14(h))の論理とを比較し、サブグループS毎に論理が反転する反転ビット数を算出する(図14(i))。反転処理回路43Aは、上述と同様に、(判定式1)、(判定式2)を用いて、サイクルCYC3で送信するデータDQを仮決定する(図14(j))。 Next, the inverting processing circuit 43A compares the logic of the data DQ transmitted in the cycle CYC2 (tentative determination) with the logic of the data DQ to be transmitted in the cycle CYC3 (FIG. 14 (h)) in the same manner as described above, and substituting the logic. The number of inverted bits whose logic is inverted is calculated for each group S (FIG. 14 (i)). The inverting processing circuit 43A tentatively determines the data DQ to be transmitted in the cycle CYC3 by using (determination formula 1) and (determination formula 2) in the same manner as described above (FIG. 14 (j)).

次に、反転処理回路43Aは、サイクルCYC1−CYC3のうち、(判定式1)が有効と判定したサイクルCYCが2つ以上ある場合、偶数番号のサブグループSのデータDQの論理を反転することが有効と判断し、基本反転パターンBRPを”00”に設定する。この場合、反転処理回路43Aは、反転ビット数が3ビット以上の偶数番号のサブグループSに対応する反転ビットRBを論理1に設定し、反転ビット数が2ビット以下の偶数番号のサブグループSに対応する反転ビットRBを論理0に設定する。 Next, the inversion processing circuit 43A inverts the logic of the data DQ of the even-numbered subgroup S when there are two or more cycle CYCs determined by (determination formula 1) to be valid in the cycles CYC1-CYC3. Is determined to be valid, and the basic inversion pattern BRP is set to "00". In this case, the inverting processing circuit 43A sets the inverting bit RB corresponding to the even-numbered subgroup S having an inverting bit number of 3 bits or more in logic 1, and the inverting bit number of the even-numbered subgroup S having 2 bits or less. The inverting bit RB corresponding to is set to logical 0.

反転処理回路43Aは、サイクルCYC1−CYC3のうち、(判定式2)が有効と判定したサイクルCYCが2つ以上ある場合、奇数番号のサブグループSのデータDQの論理を反転することが有効と判断し、基本反転パターンBRPを”10”に設定する。この場合、反転処理回路43Aは、反転ビット数が3ビット以上の奇数番号のサブグループSに対応する反転ビットRBを論理1に設定し、反転ビット数が2ビット以下の奇数番号のサブグループSに対応する反転ビットRBを論理0に設定する。 When the inverting processing circuit 43A has two or more cycle CYCs determined by (determination formula 2) to be valid among the cycles CYC1-CYC3, it is effective to invert the logic of the data DQ of the odd-numbered subgroup S. Judgment is made, and the basic inversion pattern BRP is set to "10". In this case, the inverting processing circuit 43A sets the inverting bit RB corresponding to the odd-numbered subgroup S having an inverting bit number of 3 bits or more in logic 1, and the inverting bit number is an odd-numbered subgroup S having 2 bits or less. The inverting bit RB corresponding to is set to logical 0.

反転処理回路43Aは、サイクルCYC1−CYC3のうち、(判定式1)、(判定式2)が有効と判定したサイクルCYCがいずれも1つ以下の場合、各サブグループSのデータDQの論理を反転しないことが有効と判断する。そして、反転処理回路43Aは、基本反転パターンBRPを”11”に設定する。この場合、反転ビットRBの論理は、いずれに設定されてもよい。 The inverting processing circuit 43A determines the logic of the data DQ of each subgroup S when the number of cycle CYCs determined to be valid by (determination formula 1) and (judgment formula 2) is one or less among the cycles CYC1-CYC3. It is judged that it is effective not to reverse. Then, the inverting processing circuit 43A sets the basic inverting pattern BRP to "11". In this case, the logic of the inverting bit RB may be set to any.

そして、反転処理回路43Aは、基本反転パターンBRPが”00”の場合、送信したいデータDQにおいて、反転ビット数が3以上の偶数番号のサブグループSのデータDQの論理を反転し、DBI反転回路45に向けて出力する。図14は、基本反転パターンBRPが”00”に設定された場合の例を示しており、下線で示した反転ビット数が3以上の偶数番号のサブグループSのデータDQの論理が反転され、DBI反転回路45に供給される。 Then, when the basic inversion pattern BRP is "00", the inversion processing circuit 43A inverts the logic of the data DQ of the even numbered subgroup S having 3 or more inversion bits in the data DQ to be transmitted, and the DBI inversion circuit. Output toward 45. FIG. 14 shows an example when the basic inversion pattern BRP is set to “00”, and the logic of the data DQ of the even-numbered subgroup S in which the number of inverted bits shown underline is 3 or more is inverted. It is supplied to the DBI inverting circuit 45.

反転処理回路43Aは、基本反転パターンBRPが”10”の場合、送信したいデータDQにおいて、反転ビット数が3以上の奇数番号のサブグループSのデータDQの論理を反転し、DBI反転回路45に向けて出力する。反転処理回路43Aは、基本反転パターンBRPが”11”の場合、送信したいデータDQを、反転することなく送信するデータDQとしてDBI反転回路45に向けて出力する。 When the basic inversion pattern BRP is "10", the inversion processing circuit 43A inverts the logic of the data DQ of the odd number subgroup S having 3 or more inversion bits in the data DQ to be transmitted, and causes the DBI inversion circuit 45. Output toward. When the basic inverting pattern BRP is "11", the inverting processing circuit 43A outputs the data DQ to be transmitted to the DBI inverting circuit 45 as the data DQ to be transmitted without inverting.

図15は、図11のデータマスク領域DMの割り当てが適用されるプロセッサチップ40から積層メモリ30にデータDQを送信する場合の動作の一例を示す。なお、図15は、プロセッサチップ40AにデータDQを送信する積層メモリ30Aの動作の一例も示している。すなわち、図15は、プロセッサチップ40Aによる積層メモリ30Aへの書き込みデータDQの転送方法と、積層メモリ30Aによるプロセッサチップ40Aへの読み出しデータDQの転送方法の一例を示している。 FIG. 15 shows an example of an operation when data DQ is transmitted from the processor chip 40 to which the allocation of the data mask area DM of FIG. 11 is applied to the stacked memory 30. Note that FIG. 15 also shows an example of the operation of the stacked memory 30A that transmits data DQ to the processor chip 40A. That is, FIG. 15 shows an example of a method of transferring the write data DQ to the stacked memory 30A by the processor chip 40A and a method of transferring the read data DQ to the processor chip 40A by the stacked memory 30A.

積層メモリ30Aがプロセッサチップ40AにデータDQを転送する例は、以下の説明中の”プロセッサチップ40A”を”積層メモリ30A”に置き換えることで説明される。図15に示す動作は、バースト動作を開始する場合に、バースト動作で転送する512ビットのデータDQを反転処理回路43Aが受信したことに基づいて開始される。 An example in which the stacked memory 30A transfers data DQ to the processor chip 40A will be described by replacing the "processor chip 40A" in the following description with the "stacked memory 30A". The operation shown in FIG. 15 is started based on the fact that the inversion processing circuit 43A receives the 512-bit data DQ transferred in the burst operation when the burst operation is started.

まず、ステップS40において、プロセッサチップ40Aの反転処理回路43Aは、サイクルCYC1での反転ビット数をサブグループS毎に算出する。次に、ステップS42において、反転処理回路43Aは、(判定式1)、(判定式2)のいずれが有効かを判定し、有効と判定した判定式を用いて、サイクルCYC1でDBI反転回路45に出力するデータDQの論理を仮決定する。 First, in step S40, the inverting processing circuit 43A of the processor chip 40A calculates the number of inverting bits in the cycle CYC1 for each subgroup S. Next, in step S42, the inverting processing circuit 43A determines which of (determination formula 1) and (determination formula 2) is valid, and uses the determination formula determined to be valid to use the determination formula determined to be valid, and the DBI inverting circuit 45 in cycle CYC1. Tentatively determine the logic of the data DQ to be output to.

次に、ステップS44において、反転処理回路43Aは、サイクルCYC2での反転ビット数をサブグループS毎に算出する。次に、ステップS46において、反転処理回路43Aは、(判定式1)、(判定式2)のいずれが有効かを判定し、有効と判定した判定式を用いて、サイクルCYC2でDBI反転回路45に出力するデータDQの論理を仮決定する。 Next, in step S44, the inverting processing circuit 43A calculates the number of inverting bits in the cycle CYC2 for each subgroup S. Next, in step S46, the inverting processing circuit 43A determines which of (determination formula 1) and (determination formula 2) is valid, and uses the determination formula determined to be valid to use the determination formula determined to be valid, and the DBI inverting circuit 45 in cycle CYC2. Tentatively determine the logic of the data DQ to be output to.

次に、ステップS48において、反転処理回路43Aは、サイクルCYC3での反転ビット数をサブグループS毎に算出する。次に、ステップS50において、反転処理回路43Aは、(判定式1)、(判定式2)のいずれが有効かを判定し、有効と判定した判定式を用いて、サイクルCYC3でDBI反転回路45に出力するデータDQの論理を仮決定する。 Next, in step S48, the inverting processing circuit 43A calculates the number of inverting bits in the cycle CYC3 for each subgroup S. Next, in step S50, the inverting processing circuit 43A determines which of (determination formula 1) and (determination formula 2) is valid, and uses the determination formula determined to be valid to use the determination formula determined to be valid, and the DBI inverting circuit 45 in cycle CYC3. Tentatively determine the logic of the data DQ to be output to.

次に、ステップS52において、反転処理回路43Aは、サイクルCYC1、CYC2、CYC3で有効と判定した(判定式1)、(判定式2)の数に基づいて、基本反転パターンBRPを決定する。次に、ステップS54において、反転処理回路43Aは、ステップS52で決定した基本反転パターンBRPに基づいて、反転ビット数が3ビット以上の偶数番号または奇数番号のいずれかのサブグループSに対応する反転ビットRBを論理1に設定する。 Next, in step S52, the inversion processing circuit 43A determines the basic inversion pattern BRP based on the numbers of (determination formula 1) and (determination formula 2) determined to be valid in the cycles CYC1, CYC2, and CYC3. Next, in step S54, the inversion processing circuit 43A corresponds to the subgroup S of either an even number or an odd number having an inversion bit number of 3 bits or more based on the basic inversion pattern BRP determined in step S52. Bit RB is set to logic 1.

次に、ステップS56において、反転処理回路43Aは、基本反転パターンBRPに基づいて、論理1の反転ビットRBに対応する偶数番号のサブグループSまたは奇数番号のサブグループSのデータDQの論理を反転する。 Next, in step S56, the inversion processing circuit 43A inverts the logic of the data DQ of the even-numbered subgroup S or the odd-numbered subgroup S corresponding to the inversion bit RB of the logic 1 based on the basic inversion pattern BRP. To do.

次に、ステップS58において、反転処理回路43Aは、ステップS54で生成したデータDQを含む512ビットのデータDQをサイクルCYC毎にDBI反転回路45に向けて出力する。そして、DBI反転回路45は、8ビットのデータDQ毎に論理を反転するか否かを決定し、論理を反転する場合、反転ビットDBIを論理1に設定し、データ入出力回路46に出力する。そして、データ入出力回路46は、データDQ、反転ビットDBI、RBおよび全反転ビットDAIをサイクル毎に順次送信し、バースト動作でのデータDQの送信処理が終了する。 Next, in step S58, the inverting processing circuit 43A outputs 512-bit data DQ including the data DQ generated in step S54 to the DBI inverting circuit 45 for each cycle CYC. Then, the DBI inverting circuit 45 determines whether or not to invert the logic for each 8-bit data DQ, and when the logic is inverted, the inverting bit DBI is set to logic 1 and output to the data input / output circuit 46. .. Then, the data input / output circuit 46 sequentially transmits the data DQ, the inverting bits DBI, RB, and the all inverting bits DAI for each cycle, and the data DQ transmission process in the burst operation is completed.

図16は、図11のデータマスク領域DMの割り当てが適用されるプロセッサチップ40が積層メモリ30からデータDQを受信する場合の動作の一例を示す。なお、図16は、プロセッサチップ40AからデータDQを受信する積層メモリ30Aの動作の一例も示している。すなわち、図16は、プロセッサチップ40Aによる積層メモリ30Aからの読み出しデータDQの受信方法と、積層メモリ30Aによるプロセッサチップ40Aからの書き込みデータDQの受信方法の一例を示す。 FIG. 16 shows an example of the operation when the processor chip 40 to which the allocation of the data mask area DM of FIG. 11 is applied receives the data DQ from the stacked memory 30. Note that FIG. 16 also shows an example of the operation of the stacked memory 30A that receives the data DQ from the processor chip 40A. That is, FIG. 16 shows an example of a method of receiving read data DQ from the stacked memory 30A by the processor chip 40A and a method of receiving write data DQ from the processor chip 40A by the stacked memory 30A.

積層メモリ30Aがプロセッサチップ40Aから出力される書き込みデータDQを受信する例は、以下の説明中の”プロセッサチップ40A”を”積層メモリ30A”に置き換えることで説明される。図16に示す動作は、バースト動作の開始に基づいて開始される。 An example in which the stacked memory 30A receives the write data DQ output from the processor chip 40A will be described by replacing the "processor chip 40A" in the following description with the "stacked memory 30A". The operation shown in FIG. 16 is started based on the start of the burst operation.

まず、ステップS60において、プロセッサチップ40Aの反転処理回路49Aは、サイクルCYC0において、データDQおよび基本反転パターンBRPを、DBI反転回路47を介して受信する。次に、ステップS62において、反転処理回路49Aは、受信したデータDQを読み出しデータとして出力する。 First, in step S60, the inverting processing circuit 49A of the processor chip 40A receives the data DQ and the basic inverting pattern BRP via the DBI inverting circuit 47 in the cycle CYC0. Next, in step S62, the inverting processing circuit 49A outputs the received data DQ as read data.

次に、ステップS64において、反転処理回路49Aは、サイクルCYC1でデータDQおよび反転ビットRBを、DBI反転回路47を介して受信する。次に、ステップS66において、反転処理回路49Aは、基本反転パターンBRPと反転ビットRBとに基づいて、論理1の反転ビットRBに対応する偶数番号または奇数番号のサブグループSのデータDQの論理を反転する。そして、反転処理回路49Aは、サイクルCYC1での128ビットのデータDQを読み出しデータDQとして出力する。 Next, in step S64, the inverting processing circuit 49A receives the data DQ and the inverting bit RB in the cycle CYC1 via the DBI inverting circuit 47. Next, in step S66, the inverting processing circuit 49A performs the logic of the data DQ of the even-numbered or odd-numbered subgroup S corresponding to the inverting bit RB of the logic 1 based on the basic inverting pattern BRP and the inverting bit RB. Invert. Then, the inverting processing circuit 49A reads out the 128-bit data DQ in the cycle CYC1 and outputs it as the data DQ.

次に、ステップS68において、反転処理回路49Aは、サイクルCYC2でデータDQおよび反転ビットRBを、DBI反転回路47を介して受信する。次に、ステップS70において、反転処理回路49Aは、基本反転パターンBRPと反転ビットRBとに基づいて、論理1の反転ビットRBに対応する偶数番号または奇数番号のサブグループSのデータDQの論理を反転する。そして、反転処理回路49Aは、サイクルCYC2での128ビットのデータDQを読み出しデータとして出力する。 Next, in step S68, the inverting processing circuit 49A receives the data DQ and the inverting bit RB via the DBI inverting circuit 47 in the cycle CYC2. Next, in step S70, the inverting processing circuit 49A performs the logic of the data DQ of the even-numbered or odd-numbered subgroup S corresponding to the inverting bit RB of the logic 1 based on the basic inverting pattern BRP and the inverting bit RB. Invert. Then, the inverting processing circuit 49A outputs the 128-bit data DQ in the cycle CYC2 as read data.

次に、ステップS72において、反転処理回路49Aは、サイクルCYC3でデータDQおよび反転ビットRBを、DBI反転回路47を介して受信する。次に、ステップS74において、反転処理回路49Aは、基本反転パターンBRPと反転ビットRBとに基づいて、論理1の反転ビットRBに対応する偶数番号または奇数番号のサブグループSのデータDQの論理を反転する。そして、反転処理回路49Aは、サイクルCYC3での128ビットのデータDQを読み出しデータとして出力し、バースト動作でのデータDQの受信処理が終了する。 Next, in step S72, the inverting processing circuit 49A receives the data DQ and the inverting bit RB via the DBI inverting circuit 47 in the cycle CYC3. Next, in step S74, the inverting processing circuit 49A performs the logic of the data DQ of the even-numbered or odd-numbered subgroup S corresponding to the inverting bit RB of the logic 1 based on the basic inverting pattern BRP and the inverting bit RB. Invert. Then, the inverting processing circuit 49A outputs the 128-bit data DQ in the cycle CYC3 as read data, and the reception processing of the data DQ in the burst operation is completed.

以上、図11から図16に示す実施形態においても、図1から図10に示した実施形態と同様に、論理が反転される反転ビットDBIの数を削減でき、デバイス30A、40A間を伝送される信号において、論理が変化するビット数を削減することができる。この結果、データ入出力回路46の消費電力を削減することができ、システム・イン・パッケージ102の消費電力を削減することができる。また、基本反転パターンBRPと反転ビットRBとをデータDQとともに伝送することで、基本反転パターンBRPおよび反転ビットRBを伝送する専用のサイクルを不要にすることができる。この結果、データDQの伝送効率を低下させることなく、データ入出力回路46の消費電力を削減することができる。 As described above, also in the embodiments shown in FIGS. 11 to 16, the number of inverting bit DBIs whose logic is inverted can be reduced as in the embodiments shown in FIGS. 1 to 10, and transmission is performed between the devices 30A and 40A. It is possible to reduce the number of bits whose logic changes in a signal. As a result, the power consumption of the data input / output circuit 46 can be reduced, and the power consumption of the system-in-package 102 can be reduced. Further, by transmitting the basic inversion pattern BRP and the inversion bit RB together with the data DQ, it is possible to eliminate the need for a dedicated cycle for transmitting the basic inversion pattern BRP and the inversion bit RB. As a result, the power consumption of the data input / output circuit 46 can be reduced without lowering the transmission efficiency of the data DQ.

さらに、図11から図16に示す実施形態では、反転処理回路43Aは、各バースト動作における512ビットのデータDQの論理の変化の傾向に基づいて、各メイングループA−H内の16ビット毎にデータDQの論理を反転するか否かを決めることができる。 Further, in the embodiment shown in FIGS. 11 to 16, the inversion processing circuit 43A is used for every 16 bits in each main group AH based on the tendency of the logic change of the 512-bit data DQ in each burst operation. It is possible to decide whether or not to invert the logic of the data DQ.

以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。 The above detailed description will clarify the features and advantages of the embodiments. It is intended that the claims extend to the features and advantages of the embodiments as described above, without departing from their spirit and scope of rights. Also, anyone with ordinary knowledge in the art should be able to easily come up with any improvements or changes. Therefore, there is no intention of limiting the scope of the embodiments having invention to those described above, and it is possible to rely on suitable improvements and equivalents included in the scope disclosed in the embodiments.

1a、1b 半導体装置
2 第2の反転部
3 第1の反転部
4 送信部
5 受信部
6 第3の反転部
7 第4の反転部7
10 メモリチップ
20 ロジックチップ
30 積層メモリ
40 プロセッサチップ
41 ラッチ回路
42 反転予測回路
43 反転処理回路
44 ECC生成回路
45 DBI反転回路
46 データ入出力回路(PHY)
47 DBI反転回路
48 ECC訂正回路
49 反転処理回路
50 シリコンインターポーザ
60 パッケージ基板
100 システム
102 システム・イン・パッケージ
BRP 基本反転パターン
DAI 全反転ビット
DBI 反転ビット
DM データマスクビット、データマスク領域
DQ データ
DT データ
IV10−IV13 第1の反転情報
IV2 第2の反転情報
RB 反転ビット
S(S0−S7) サブグループ
1a, 1b Semiconductor device 2 Second inversion unit 3 First inversion unit 4 Transmission unit 5 Reception unit 6 Third inversion unit 7 Fourth inversion unit 7
10 Memory chip 20 Logic chip 30 Stacked memory 40 Processor chip 41 Latch circuit 42 Inversion prediction circuit 43 Inversion processing circuit 44 ECC generation circuit 45 DBI inversion circuit 46 Data input / output circuit (PHY)
47 DBI inverting circuit 48 ECC correction circuit 49 inverting circuit 50 Silicon interposer 60 Package board 100 System 102 System-in-package BRP Basic inverting pattern DAI Full inverting bit DBI inverting bit DM data mask bit, data mask area DQ data DT data IV10 -IV13 First inversion information IV2 Second inversion information RB Inversion bit S (S0-S7) Subgroup

Claims (10)

データを複数に分けた第1の部分データ毎に、前回の送信に比べてビット値の変化数がビット数の半数を超える場合、第1の部分データの論理を反転し、第1の部分データ毎に割り当てられた第1の反転情報を有効にする第1の反転部と、
データを複数に分けた第2の部分データにおいて、前回の送信に比べてビット値の変化数がビット数の半数を超える比率に応じて、前記第1の反転部に第1の部分データとして供給する第2の部分データの論理を反転するかを判定し、論理を反転する場合、第2の反転情報を有効にする第2の反転部と、
前記第1の反転部が生成した前記第1の部分データとともに、前記第1の反転情報と前記第2の反転情報とを送信する送信部と、を有することを特徴とする半導体装置。
When the number of changes in the bit value exceeds half of the number of bits for each of the first partial data in which the data is divided into a plurality of data, the logic of the first partial data is inverted and the first partial data is inverted. A first reversing part that enables the first reversing information assigned to each
In the second partial data obtained by dividing the data into a plurality of pieces, the data is supplied as the first partial data to the first inversion portion according to the ratio in which the number of changes in the bit value exceeds half of the number of bits as compared with the previous transmission. When determining whether to invert the logic of the second partial data to be performed and inverting the logic, a second inversion part that enables the second inversion information and
A semiconductor device comprising: a transmission unit for transmitting the first inversion information and the second inversion information together with the first partial data generated by the first inversion unit.
データの送信元の半導体装置から前記第1の部分データと前記第1の反転情報と前記第2の反転情報とを受信する受信部と、
前記受信部が受信した前記第1の部分データと前記第1の反転情報とに基づいて、有効状態の前記第1の反転情報に対応する前記第1の部分データの論理を反転する第3の反転部と、
前記送信元の半導体装置から受信する前記第2の反転情報に基づいて、前記第3の反転部が出力するデータの論理を反転することで、前記送信元の半導体装置からのデータを生成する第4の反転部と、を有することを特徴とする請求項1に記載の半導体装置。
A receiving unit that receives the first partial data, the first inverted information, and the second inverted information from the semiconductor device that transmits the data.
A third that inverts the logic of the first partial data corresponding to the first inverted information in the valid state based on the first partial data received by the receiving unit and the first inverted information. Inverted part and
By inverting the logic of the data output by the third inverting unit based on the second inversion information received from the semiconductor device of the transmission source, the data from the semiconductor device of the transmission source is generated. The semiconductor device according to claim 1, further comprising an inversion portion of 4.
前記第2の反転部は、前回の送信に比べて、前記第1の部分データ、前記第1の反転情報および前記第2の反転情報のビット値の変化の総数が増える場合、前記比率にかかわらず、前記第2の反転情報を有効に設定することを抑止すること、を特徴とする請求項1または請求項2に記載の半導体装置。 When the total number of changes in the bit values of the first partial data, the first inversion information, and the second inversion information increases as compared with the previous transmission, the second inversion unit is irrespective of the ratio. The semiconductor device according to claim 1 or 2, wherein the second inversion information is prevented from being effectively set. 前記第2の部分データの2つずつは、部分データペアに割り当てられ、
前記部分データペアの各々の前記第2の部分データは、第1のグループまたは第2のグループに割り当てられ、
前記第2の反転部は、
複数回の送信において、前記第1のグループと前記第2のグループのうち、前回の送信に比べてビット値の変化数がビット数の半数を超える前記第2の部分データの数が多い優位グループを判定し、
判定した前記優位グループにおいて、前記半数を超える前記第2の部分データの論理を反転し、
判定した前記優位グループを示すグループ識別情報と、論理を反転した前記第2の部分データを含む前記部分データペアを示す反転ペア情報とを前記第2の反転情報として設定すること、を特徴とする請求項2に記載の半導体装置。
Two of the second partial data are assigned to the partial data pair.
The second partial data of each of the partial data pairs is assigned to a first group or a second group.
The second reversing part is
Of the first group and the second group in a plurality of transmissions, the dominant group having a large number of the second partial data in which the number of changes in the bit value exceeds half of the number of bits as compared with the previous transmission. Judging,
In the determined superior group, the logic of the second partial data exceeding half of the above is reversed.
The group identification information indicating the determined superior group and the inverted pair information indicating the partial data pair including the second partial data whose logic is inverted are set as the second inverted information. The semiconductor device according to claim 2.
前記第4の反転部は、前記反転ペア情報が示す前記部分データペアにおいて、前記グループ識別情報が示すグループに属する前記第2の部分データの論理を反転すること、を特徴とする請求項4に記載の半導体装置。 4. The fourth inversion portion is characterized in that, in the partial data pair indicated by the inverted pair information, the logic of the second partial data belonging to the group indicated by the group identification information is inverted. The semiconductor device described. 前記第2の反転部は、
複数回の送信の各々において、前記第1のグループまたは前記第2のグループの一方の全ての前記第2の部分データで、前回の送信に比べてビット値の変化数がビット数の半数を超え、前記第1のグループおよび前記第2のグループの他方の全ての前記第2の部分データで、前回の送信に比べてビット値の変化数がビット数の半数以下である場合、前記半数を超えたグループを前記優位グループに判定し、
前記優位グループが存在しない場合、前記グループ識別情報に無効情報を設定すること、を特徴とする請求項4に記載の半導体装置。
The second reversing part is
In each of the plurality of transmissions, the number of changes in the bit value of all the second partial data of one of the first group or the second group exceeds half of the number of bits as compared with the previous transmission. When the number of changes in the bit value is less than half of the number of bits in all the other second partial data of the first group and the second group as compared with the previous transmission, the number exceeds half of the above. Judged as the superior group
The semiconductor device according to claim 4, wherein invalid information is set in the group identification information when the superior group does not exist.
前記第4の反転部は、前記グループ識別情報が無効情報の場合、前記第2の部分データの論理の反転処理を抑止すること、を特徴とする請求項6に記載の半導体装置。 The semiconductor device according to claim 6, wherein the fourth inversion unit suppresses the logic inversion processing of the second partial data when the group identification information is invalid information. 前記送信部は、複数回の送信の各々において、前記第1の部分データおよび第1の反転情報以外に、用途を定めない所定のビット数の付加情報を送信し、
前記第2の反転情報は、前記付加情報に含まれること、を特徴とする請求項1ないし請求項7のいずれか1項に記載の半導体装置。
In each of the plurality of transmissions, the transmission unit transmits additional information having a predetermined number of bits for which the purpose is not specified, in addition to the first partial data and the first inversion information.
The semiconductor device according to any one of claims 1 to 7, wherein the second inversion information is included in the additional information.
半導体装置はさらに、前記第1の部分データの誤り検出・訂正符号を生成する符号生成部を有し、
前記送信部は、前記誤り検出・訂正符号を前記付加情報の一部として送信し、前記第2の反転情報を前記付加情報の他の一部として送信すること、を特徴とする請求項8に記載の半導体装置。
The semiconductor device further has a code generation unit that generates an error detection / correction code of the first partial data.
The eighth aspect of the present invention is characterized in that the transmission unit transmits the error detection / correction code as a part of the additional information, and transmits the second inversion information as another part of the additional information. The semiconductor device described.
データを送受信する複数の半導体装置を有するシステムにおいて、
前記複数の半導体装置の各々は、
データを複数に分けた第1の部分データ毎に、前回の送信に比べてビット値の変化数がビット数の半数を超える場合、第1の部分データの論理を反転し、第1の部分データ毎に割り当てられた第1の反転情報を有効にする第1の反転部と、
データを複数に分けた第2の部分データにおいて、前回の送信に比べてビット値の変化数がビット数の半数を超える比率に応じて、前記第1の反転部に第1の部分データとして供給する第2の部分データの論理を反転するかを判定し、論理を反転する場合、第2の反転情報を有効にする第2の反転部と、
前記第1の反転部が生成した前記第1の部分データとともに、前記第1の反転情報と前記第2の反転情報とを送信する送信部と、
データの送信元の半導体装置から前記第1の部分データと前記第1の反転情報と前記第2の反転情報とを受信する受信部と、
前記受信部が受信した前記第1の部分データと前記第1の反転情報とに基づいて、有効状態の前記第1の反転情報に対応する前記第1の部分データの論理を反転する第3の反転部と、
前記送信元の半導体装置から受信する前記第2の反転情報に基づいて、前記第3の反転部が出力するデータの論理を反転することで、前記送信元の半導体装置からのデータを生成する第4の反転部と、を有することを特徴とするシステム。
In a system having multiple semiconductor devices that send and receive data
Each of the plurality of semiconductor devices
When the number of changes in the bit value exceeds half of the number of bits for each of the first partial data in which the data is divided into a plurality of data, the logic of the first partial data is inverted and the first partial data is inverted. A first reversing part that enables the first reversing information assigned to each
In the second partial data obtained by dividing the data into a plurality of pieces, the data is supplied as the first partial data to the first inversion portion according to the ratio in which the number of changes in the bit value exceeds half of the number of bits as compared with the previous transmission. When determining whether to invert the logic of the second partial data to be performed and inverting the logic, a second inversion part that enables the second inversion information and
A transmission unit that transmits the first inversion information and the second inversion information together with the first partial data generated by the first inversion unit.
A receiving unit that receives the first partial data, the first inverted information, and the second inverted information from the semiconductor device that transmits the data.
A third that inverts the logic of the first partial data corresponding to the first inverted information in the valid state based on the first partial data received by the receiving unit and the first inverted information. Inverted part and
The second inversion information received from the semiconductor device of the transmission source is used to invert the logic of the data output by the third inversion unit to generate data from the semiconductor device of the transmission source. A system characterized by having an inversion portion of 4.
JP2019070147A 2019-04-01 2019-04-01 Semiconductor device and system Pending JP2020170904A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019070147A JP2020170904A (en) 2019-04-01 2019-04-01 Semiconductor device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019070147A JP2020170904A (en) 2019-04-01 2019-04-01 Semiconductor device and system

Publications (1)

Publication Number Publication Date
JP2020170904A true JP2020170904A (en) 2020-10-15

Family

ID=72746800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019070147A Pending JP2020170904A (en) 2019-04-01 2019-04-01 Semiconductor device and system

Country Status (1)

Country Link
JP (1) JP2020170904A (en)

Similar Documents

Publication Publication Date Title
CN109643563B (en) Semiconductor layering device with data bus
US8539312B2 (en) Memory system and method using a memory device die stacked with a logic die using data encoding, and system using the memory system
KR101875098B1 (en) Reducing simultaneous switching outputs using data bus inversion signaling
KR100825002B1 (en) Semiconductor memory device with ability to effectively check an error of data outputted in serial
US20090182918A1 (en) Data bus inversion apparatus, systems, and methods
JP2011528837A (en) Memory system and method using stacked memory device dice, and system using the memory system
TWI729514B (en) Semiconductor apparatuses with first-in-first-out circuit
US8726124B2 (en) Cyclic redundancy check generation via distributed time multiplexed linear feedback shift registers
US11409676B2 (en) System on chip, memory device, electronic device comprising the SoC and memory device, and method for storing data in the electronic device
TWI768435B (en) Semiconductor layered device with data bus inversion
US11954059B2 (en) Signal processing chip and signal processing system
CN105513625B (en) Semiconductor device and system capable of reducing peak current in transmission signal
TW201804466A (en) Memory device and method for reading data from the memory device
US20140026022A1 (en) Cyclic redundancy check generation via distributed time multiplexed linear feedback shift registers
US8064283B2 (en) Semiconductor memory apparatus and a method for reading data stored therein
US7852685B2 (en) Semiconductor memory device
JP5090934B2 (en) Interface device and inter-chip communication interface device
JP2020170904A (en) Semiconductor device and system
TWI667904B (en) Transmitting device for high speed communication
CN110556154B (en) Semiconductor device including multi-input shift register circuit
EP2405362B1 (en) A connection arrangement
US9438210B1 (en) Semiconductor devices employing a data inversion scheme for improved input/output characteristics
US9774328B2 (en) Semiconductor devices
JP2009009289A (en) Semiconductor memory device
US20240143278A1 (en) Processing-in-memory (pim) devices