JP2020170904A - Semiconductor device and system - Google Patents
Semiconductor device and system Download PDFInfo
- 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
Links
Images
Landscapes
- Dc Digital Transmission (AREA)
Abstract
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).
データの伝送サイクルに加えてデータバス反転ベクトルの伝送サイクルを設ける場合、データを受信したサイクルでデータの論理を再生することができない。この結果、データの伝送に寄与しないサイクルが挿入されることで、データの伝送効率が低下し、単位データの伝送当たりに消費される電力が増加する。 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.
以下、図面を用いて実施形態を説明する。 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
図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
半導体装置1aは、第2の反転部2、第1の反転部3、送信部4、受信部5、第3の反転部6および第4の反転部7を有する。
The semiconductor device 1a has a
第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
第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
第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
以下では、第1の反転部3が、判定結果に基づき、反転情報IV10−IV13のうち第1の反転情報IV10−IV12を有効状態に設定し、有効状態に設定した第1の反転情報IVに対応する第1の部分データDT10−DT12の論理を反転したとする。この場合、例えば、第2の反転部2は、前回の送信に比べて、第1の部分データDT10−DT12に対応する第2の部分データDT20−DT22のビット値の変化数が半数を超えると判定する。
In the following, the
すなわち、第2の反転部2は、ビット値の変化数が半数を超える第2の部分データDTの数の比率が、50%を超えると判定する。この例では、第2の部分データDTの75%において、ビット値の変化数が半数を超える。第2の反転部2は、過半数の第2の部分データDTにおいて、ビット値の変化数が半数を超える場合、第1の反転部3に供給する第2の部分データDTの論理を予め反転する。
That is, the
第1の反転部3は、受信した第2の部分データDTのうち、ビット値の変化数が半数を超える第2の部分データDTがないと判定し、第1の反転情報IV10−IV12の論理を無効状態に維持する。これにより、第1の部分データDT10−DT12の論理が反転されて、反転情報IV10−IV12の論理が有効状態に反転されることを抑止することができる。
The
送信部4は、例えば、第1の反転部3が生成した第1の部分データDT10−DT13および第1の反転情報IV10−IV13を送信するサイクルで、第2の反転部2が生成した第2の反転情報IV2を送信する。なお、第2の反転情報IV2は、第1の反転部3を経由することなく送信部4に直接出力されてもよい。
The
例えば、送信部4が、第1の部分データDTおよび第1の反転情報IV以外に、用途を定めない所定のビット数の付加情報を送信する場合、第2の反転情報IV2は付加情報に含めて送信される。なお、半導体装置1aが第1の部分データDTの誤り検出・訂正符号を生成する符号生成部を有する場合、送信部4は、誤り検出・訂正符号を付加情報の一部として送信し、第2の反転情報IVを付加情報の他の一部として送信してもよい。
For example, when the
この実施形態では、第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
一方、受信部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
第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
第4の反転部7は、送信元の半導体装置1bから受信する第2の反転情報VI2に基づいて、有効状態の第2の反転情報IVに対応する第2の部分データDTの論理を反転することで、送信元の半導体装置1bから受信したデータDTを生成する。
The
以上、図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
図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-
例えば、メモリチップ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-
例えば、プロセッサチップ40は、GPU(Graphics Processing Unit)、CPUまたはSoC(System on a Chip)等であり、ロジックチップ20に対して信号を入出力するための入出力インタフェース部PHYを有している。プロセッサチップ40の入出力インタフェース部PHYとロジックチップ20の入出力インタフェース部PHYとは、シリコンインターポーザ50を介して相互に接続されている。
For example, the
積層メモリ30のロジックチップ20は、バンプを介してシリコンインターポーザ50に接続され、プロセッサチップ40は、バンプを介してシリコンインターポーザ50に接続されている。ロジックチップ20の外部端子(バンプ)の一部およびプロセッサチップ40の外部端子(バンプ)の一部は、シリコンインターポーザ50を介してパッケージ基板60に接続される。パッケージ基板60において、図2の下側に示すバンプは、例えば、図示しない情報処理装置等(サーバ等)のマザーボード等に接続される。
The logic chip 20 of the stacked
図3は、図2の積層メモリ30とプロセッサチップ40との間で送受信されるデータの構成の一例を示す。
FIG. 3 shows an example of the configuration of data transmitted / received between the
図2に示すプロセッサチップ40は、読み出しアクセス要求または書き込みアクセス要求を積層メモリ30に発行する。図2に示す積層メモリ30は、読み出しアクセス要求に含まれるアドレス(例えば、カラムアドレス)の受信に基づいて、読み出しデータを4サイクル連続して出力するバースト機能を有している(バースト長BL=4)。プロセッサチップ40は、4サイクル連続して積層メモリ30から出力される読み出しデータを受信するバースト機能を有している。このため、図3では、読み出しアクセス要求に対応する1回のバースト動作により積層メモリから4サイクルで出力されるデータを示している。
The
また、プロセッサチップ40は、データの書き込み先のアドレスを含む書き込みアクセス要求とともに、書き込みデータを積層メモリ30に出力する。プロセッサチップ40は、書き込み動作において、読み出し動作と同様に、カラムアドレスに基づいて書き込みデータを4サイクル連続して積層メモリ30に出力するバースト機能を有している。積層メモリ30は、4サイクル連続してプロセッサチップ40から出力される書き込みデータを受信するバースト機能を有している。
Further, the
なお、図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
反転ビット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
例えば、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
これにより、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
データ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
データマスク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
なお、バースト動作により積層メモリ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
図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
ラッチ回路41は、反転処理回路43から出力される反転ビットDBIpおよびデータDQpを、1つ前のサイクルCYCでプロセッサチップ40が積層メモリ30に送信した反転ビットDBIおよびデータDQとして保持する。ラッチ回路41は、保持した反転ビットDBIpおよびデータDQpを反転予測回路42に出力する。
The
反転予測回路42は、積層メモリ30に書き込むデータDQ(書き込みデータ)とラッチ回路41からの1つ前のサイクルCYCの情報とに基づいて動作する。反転予測回路42は、今回のサイクルCYC(CYC1、CYC2またはCYC3)で送信するデータDQの論理が前回のサイクルCYCで送信したデータDQに対して何ビット反転(変化)するかを、8ビット毎に求める。
The inverting
そして、反転予測回路42は、8ビットのデータDQのそれぞれに対応する反転ビットDBIの論理がDBI反転回路45により反転されるか否かを予測する。反転予測回路42は、予測した反転ビットDBIの論理の反転数(変化数)を、データDQとともに反転処理回路43に出力する。
Then, the inverting
反転処理回路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
ここで、反転処理回路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
ECC生成回路44は、反転処理回路43から受信したデータDQに基づいて、24ビットの誤り検出・訂正符号を生成し、生成した誤り検出・訂正符号をデータDQおよび全反転ビットDAIとともにDBI反転回路45に出力する。ここで、ECC生成回路44は、図4に示したECCグループ内の256ビットのデータDQを単位として誤り検出・訂正符号を生成する。
The
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反転回路45は、ECC生成回路44が生成した誤り検出・訂正符号(24ビットのデータマスクビットDM)と、反転処理回路43が生成した全反転ビットDAI(残り8ビットのデータマスクビットDM)とをデータ入出力回路46に出力する。例えば、DBI反転回路45は、データDQ等を1サイクル分(160ビット)毎にデータ入出力回路46に出力してもよい。
Further, the
データ入出力回路46は、DBI反転回路45から受信するデータDQ、反転ビットDBI、誤り検出・訂正符号および全反転ビットDAIを、積層メモリ30に順次転送する。また、データ入出力回路46は、積層メモリ30から順次受信するデータDQ、反転ビットDBI、誤り検出・訂正符号および全反転ビットDAIをDBI反転回路47に出力する。
The data input /
DBI反転回路47は、データ入出力回路46から受信した反転ビットDBIに基づいてデータDQを反転し、またはデータDQを反転せずにECC訂正回路48に出力する。また、DBI反転回路47は、データ入出力回路46から受信した誤り検出・訂正符号および全反転ビットDAIをECC訂正回路48に出力する。
The
ECC訂正回路48は、誤り検出・訂正符号を用いて、DBI反転回路47により処理されたデータDQの誤りを検出し、データDQに誤りがある場合、誤りを訂正して反転処理回路49に出力する。なお、ECC訂正回路48は、データ入出力回路46から受信した全反転ビットDAIを反転処理回路49に出力する。
The
反転処理回路49は、ECC訂正回路48から受信するデータDQの論理を、全反転ビットDAIに基づいて反転する処理を実施する。反転処理回路49は、全反転ビットDAIが論理1の場合、全反転ビットDAIに対応する32ビットのデータDQの論理を反転し、読み出しデータとして出力する。反転処理回路49は、全反転ビットDAIが論理0の場合、全反転ビットDAIに対応する32ビットのデータDQの論理を反転せずに、そのまま読み出しデータとして出力する。
The
なお、図5に示すプロセッサチップ40に含まれる符号41〜符号49で示す各要素は、積層メモリ30にも搭載される。すなわち、図5のプロセッサチップ40を積層メモリ30とし、図5の積層メモリ30をプロセッサチップ40とし、書き込みデータを読み出しデータとし、読み出しデータを書き込みデータとすることで、積層メモリ30の例が示される。
Each element represented by
この場合、積層メモリ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
図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
図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 /
図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
図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
上述したように、DBI反転回路45は、例えば、論理が変化するデータDQのビット数が5ビット以上である場合、データDQの論理が反転されると判定する。また、DBI反転回路45は、論理が変化するデータDQのビット数が4ビットであり、かつ1サイクル前の反転ビットDBIが論理1の場合、データDQの論理が反転されると判定する。
As described above, the
反転処理回路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
換言すれば、例えば、反転処理回路43は、DBI反転回路45により論理1に設定される反転ビットDBIの数の比率が半数(50%)を超える場合、全反転ビットDAIを論理1に設定する。反転処理回路43は、DBI反転回路45により論理1に設定される反転ビットDBIの数の比率が半数(50%)以下の場合、全反転ビットDAIを論理0に設定する。
In other words, for example, the inverting
但し、反転予測回路42は、全反転ビットDAIの論理1の設定時のデータDQ、反転ビットDBIおよび全反転ビットDAIの反転ビット数が、全反転ビットDAIの論理0の設定時よりもが多い場合、全反転ビットDAIを論理0に設定する。これにより、1サイクル前に送信したデータDQだけでなく、データDQ、反転ビットDBIおよび全反転ビットDAIの論理が変化する総数を削減することができ、データDQのインタフェース部分の消費電力をさらに削減することができる。全反転ビットDAIを例外的に論理0に設定する例は、図8で説明する。
However, in the
図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
図6(e)では、DBI反転回路45は、反転処理回路43から受信するデータDQに基づいて、1サイクル前に送信したデータDQに対してデータDQの論理が何ビット反転するかをバイト毎に判定する。論理が反転するビットには、下線を付している。DBI反転回路45が判定するバイトは、第1の部分データの一例である。
In FIG. 6E, the
そして、DBI反転回路45は、判定結果に応じて当該サイクルで送信するデータDQと反転ビットDBIとの論理をバイト毎に決定する。図6の例では、各バイトにおいて、1サイクル前に送信したデータDQの論理に対する反転ビット数がいずれも4ビット以下であるため、DBI反転回路45は、各バイトのデータDQを反転せず、各バイトに対応する反転ビットDBIを論理0に設定する。
Then, the
すなわち、図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
そして、DBI反転回路45は、決定した論理のデータDQと反転ビットDBIとを、ECC生成回路44を介してデータ入出力回路46に出力する。データ入出力回路46は、DBI反転回路45が生成したデータDQおよび反転ビットDBIと、反転処理回路43が生成した全反転ビットDAIとを積層メモリ30に送信する。
Then, the
図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
図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
図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
図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
この場合、図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
図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
図6(m)では、全反転ビットDAIが論理0であるため、積層メモリ30のロジックチップ20に設けられる反転処理回路49は、DBI反転回路47から受信するデータDQの論理をそのまま出力する。そして、”当該サイクルで送信したいデータ”が積層メモリ30に書き込まれる。
In FIG. 6M, since the all-inverted bit DAI is
図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
図7(c)では、反転予測回路42は、バイト3〜バイト1を反転有りと判定し、バイト0を反転無しと判定し、各バイトの反転ビット数をデータDQとともに反転処理回路43に出力する。図7(c)に示すように、DBI反転回路45によりデータDQが3バイト以上反転することが予想されるため、図7(d)では、反転処理回路43は、”当該サイクルで送信したいデータ”の各バイトの論理を反転し、全反転ビットDAIは論理1に設定する。
In FIG. 7C, the
図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
図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
図7(h)では、積層メモリ30のロジックチップ20に設けられる反転処理回路49は、論理1の全反転ビットDAIに基づいて、DBI反転回路47が出力したデータDQの論理を反転して出力する。これにより、図6と同様に、図7(b)に示した”当該サイクルで送信したいデータ”が積層メモリ30に書き込まれる。
In FIG. 7 (h), the inverting
図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
図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
図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
一方、全反転ビット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
このため、反転処理回路43は、図8(d)に示す論理ではなく、図8(i)に示す論理をDBI反転回路45に出力する。DBI反転回路45は、図8(e)に示す論理でなく、図8(j)に示す論理を積層メモリ30に向けて出力する。
Therefore, the inverting
このように、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
図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
積層メモリ30がプロセッサチップ40にデータDQを転送する例は、以下の説明中の”プロセッサチップ40”を”積層メモリ30”に置き換えることで説明される。図9に示す動作は、バースト動作の開始に基づいて開始される。なお、図9に示す動作は、32ビットのデータDQ毎に実行され、1サイクルの128ビットのデータDQでは、図9に示す動作が4回並列に実行される。
An example in which the stacked
まず、ステップS10において、プロセッサチップ40は、バースト動作のサイクルCYC0の場合、動作をステップS24に移行し、バースト動作のサイクルCYC1−CYC3の場合、動作をステップS12に移行する。
First, in step S10, the
ステップS12において、プロセッサチップ40の反転予測回路42は、ラッチ回路41が保持する1サイクル前のデータDQと反転ビットDBIとに基づいて、DBI反転回路45が論理を反転するビット数を算出する。ここで、DBI反転回路45が論理を反転するビット数は、”当該サイクルで送信したいデータDQ”と1サイクル前に送信したデータDQとを用いて算出される予測値であり、DBI反転回路45が実際に論理を反転するビット数ではない。反転予測回路42は、算出したビット数を各バイトに対応させて反転処理回路43に出力する。
In step S12, the inverting
次に、ステップS14において、反転処理回路43は、反転予測回路42から受信した反転ビット数に基づいて、論理が5ビット以上反転するバイトが3バイト以上であるか否かを判定する。すなわち、反転処理回路43は、前回の送信に比べてビット値の変化数がビット数の半数を超えるバイトの比率が50%を超えるか否かを判定する。論理が5ビット以上反転するバイトが3バイト以上である場合、動作はステップS16に移行され、論理が5ビット以上反転するバイトが2バイト以下である場合、動作はステップS20に移行される。
Next, in step S14, the
ステップS16において、反転処理回路43は、全反転ビットDAIを論理1に設定した方が、全反転ビットDAIを論理0に設定するより、総反転ビット数が少ないか否かを判定する。ここで、データDQ、反転ビットDBIおよび全反転ビットDAIが、総反転ビット数の判定に使用される。
In step S16, the inverting
全反転ビットDAIを論理1に設定した方が、総反転ビット数が少ない場合、動作はステップS18に移行され、全反転ビットDAIを論理1に設定しても、総反転ビット数が少なくならない場合、動作はステップS20に移行される。
If the total number of inverted bits is smaller when the all-inverted bit DAI is set to
ステップS18において、反転処理回路43は、論理1の全反転ビットDAIと、”当該サイクルで送信したいデータDQ”の論理を反転したデータDQとをDBI反転回路45に向けて出力し、動作をステップS22に移行する。一方、ステップS20において、反転処理回路43は、論理0の全反転ビットDAIと、”当該サイクルで送信したいデータDQ”とをDBI反転回路45に向けて出力し、動作をステップS22に移行する。
In step S18, the
ステップS22において、DBI反転回路45は、反転処理回路43から受信したデータDQと1サイクル前に送信したデータDQとに基づいて、データDQの論理を反転するかどうかを決め、論理を反転する場合、反転ビットDBIを論理1に設定する。DBI反転回路45は、反転ビットDBIの論理に応じて論理を設定したデータDQをデータ入出力回路46に出力し、動作をステップS24に移行する。
In step S22, the
ステップS24において、データ入出力回路46は、DBI反転回路45から受信したデータDQおよび反転ビットDBIと、反転処理回路43が生成した全反転ビットDAIとを送信し、動作を終了する。なお、バースト動作のサイクルCYC0の場合、例えば、反転ビットDBIおよび全反転ビットDAIは、論理0に設定される。
In step S24, the data input /
図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
積層メモリ30がプロセッサチップ40から出力される書き込みデータDQを受信する例は、以下の説明中の”プロセッサチップ40”を”積層メモリ30”に置き換えることで説明される。図10に示す動作は、バースト動作の開始に基づいて開始される。なお、図10に示す動作は、32ビットのデータDQ毎に実行され、1サイクルの128ビットのデータDQでは、図10に示す動作が4回並列に実行される。
An example in which the stacked
まず、ステップ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 /
ステップS34において、プロセッサチップ40のDBI反転回路47は、データDQのバイト毎に、受信したDBIが論理1の場合、受信したデータDQの論理を反転し、反転処理回路49に向けて出力する。次に、ステップS36において、プロセッサチップ40の反転処理回路49は、受信した全反転ビットDAIが論理1の場合、受信した32ビットのデータDQの論理を反転し、動作を終了する。
In step S34, the
以上、図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
さらに、図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
また、データマスクビット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
図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
反転処理回路43Aは、4つのサイクルCYC0−CYC3を使用して1回のバースト動作で転送される512ビットのデータDQについて、送信するデータDQの論理をサイクルCYC毎に決定する。送信するデータDQの論理をバースト動作の単位毎に決定するため、反転処理回路43Aは、512ビットのデータDQ(書き込みでデータ)の受信に基づいて動作する。反転処理回路43Aの動作の例については、図13および図14で説明する。
The inverting
ECC生成回路44、DBI反転回路45、データ入出力回路46、DBI反転回路47およびECC訂正回路48は、図5のECC生成回路44、DBI反転回路45、データ入出力回路46、DBI反転回路47およびECC訂正回路48と同様の機能を有する。
The
反転処理回路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
偶数番号のサブグループ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
この場合、積層メモリ30Aは、反転処理回路43A、ECC生成回路44、DBI反転回路45およびデータ入出力回路46を用いて、プロセッサチップ40Aに送信するデータDQと、データDQに付随する情報とを生成する。また、積層メモリ30Aは、データ入出力回路46、DBI反転回路47、ECC訂正回路48および反転処理回路49Aを用いて、プロセッサチップ40から受信するデータを復元する。
In this case, the
図13は、図11のデータマスク領域DMの割り当てが適用されるプロセッサチップ40Aの動作の概要を示す。図13は、1回のバースト動作において、サイクルCYC0−CYC3で512ビットのデータDQが積層メモリ30Aに送信される場合を示す。
FIG. 13 shows an outline of the operation of the
サイクルCYC0では、プロセッサチップ40は、当該サイクルで送信したいデータDQの論理を操作せず、DBI反転回路45を介して積層メモリ30Aに送信する。サイクルCYC0で送信される基本反転パターンBRPの値は、図12で説明したように、バースト動作が開始される前に、反転処理回路43Aにより決められる。
In the cycle CYC0, the
基本反転パターン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
基本反転パターン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
なお、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
図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
反転処理回路43Aは、サイクルCYC0で送信するデータDQの論理(図14(a))とサイクルCYC1で送信したいデータDQの論理(図14(b))とを比較し、サブグループS毎に論理が反転する反転ビット数を算出する(図14(c))。反転処理回路43Aは、反転ビット数に基づいて、(判定式1)、(判定式2)のいずれが有効か、あるいは、(判定式1)、(判定式2)のいずれも有効でないかを判定する。
The
(判定式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
次に、反転処理回路43Aは、(判定式1)、(判定式2)による判定結果に基づいて、サイクルCYC1で送信するデータDQを仮決定する(図14(d))。
Next, the
反転処理回路43Aは、(判定式1)が有効であると判定した場合、偶数番号のサブグループSの反転ビット数が3ビット以上のデータDQの論理を反転してサイクルCYC1で送信するデータDQを生成する。すなわち、(判定式1)が有効である場合、偶数番号の4つのサブグループSのうち、前回の送信に比べてデータDQのビット値の変化数がビット数の半数を超えるサブグループSのデータDQの論理が反転される。
When the inverting
反転処理回路43Aは、(判定式2)が有効である判定した場合、奇数番号のサブグループSの反転ビット数が3ビット以上のデータDQの論理を反転してサイクルCYC1で送信するデータDQを生成する。すなわち、(判定式2)が有効である場合、奇数番号の4つのサブグループSのうち、前回の送信に比べてデータDQのビット値の変化数がビット数の半数を超えるサブグループSのデータDQの論理が反転される。
When the
反転処理回路43Aは、(判定式1)、(判定式2)のいずれも有効でないと判定した場合、サイクルCYC1で送信したいデータDQをサイクルCYC1で送信するデータDQとする。
When it is determined that neither (determination formula 1) nor (determination formula 2) is valid, the inverting
次に、反転処理回路43Aは、サイクルCYC1で送信するデータDQ(仮決定)の論理とサイクルCYC2で送信したいデータDQの論理(図14(e))とを比較し、サブグループS毎に論理が反転する反転ビット数を算出する(図14(f))。反転処理回路43Aは、反転ビット数に基づいて、(判定式1)、(判定式2)のいずれが有効か、あるいは、いずれも有効でないかを判定する。そして、反転処理回路43Aは、サイクルCYC1で送信するデータDQを決定したときと同様に、有効と判定した判定式を用いて、サイクルCYC2で送信するデータDQを仮決定する(図14(g))。
Next, the
次に、反転処理回路43Aは、上述と同様に、サイクルCYC2で送信するデータDQの論理(仮決定)とサイクルCYC3で送信したいデータDQ(図14(h))の論理とを比較し、サブグループS毎に論理が反転する反転ビット数を算出する(図14(i))。反転処理回路43Aは、上述と同様に、(判定式1)、(判定式2)を用いて、サイクルCYC3で送信するデータDQを仮決定する(図14(j))。
Next, the inverting
次に、反転処理回路43Aは、サイクルCYC1−CYC3のうち、(判定式1)が有効と判定したサイクルCYCが2つ以上ある場合、偶数番号のサブグループSのデータDQの論理を反転することが有効と判断し、基本反転パターンBRPを”00”に設定する。この場合、反転処理回路43Aは、反転ビット数が3ビット以上の偶数番号のサブグループSに対応する反転ビットRBを論理1に設定し、反転ビット数が2ビット以下の偶数番号のサブグループSに対応する反転ビットRBを論理0に設定する。
Next, the
反転処理回路43Aは、サイクルCYC1−CYC3のうち、(判定式2)が有効と判定したサイクルCYCが2つ以上ある場合、奇数番号のサブグループSのデータDQの論理を反転することが有効と判断し、基本反転パターンBRPを”10”に設定する。この場合、反転処理回路43Aは、反転ビット数が3ビット以上の奇数番号のサブグループSに対応する反転ビットRBを論理1に設定し、反転ビット数が2ビット以下の奇数番号のサブグループSに対応する反転ビットRBを論理0に設定する。
When the inverting
反転処理回路43Aは、サイクルCYC1−CYC3のうち、(判定式1)、(判定式2)が有効と判定したサイクルCYCがいずれも1つ以下の場合、各サブグループSのデータDQの論理を反転しないことが有効と判断する。そして、反転処理回路43Aは、基本反転パターンBRPを”11”に設定する。この場合、反転ビットRBの論理は、いずれに設定されてもよい。
The inverting
そして、反転処理回路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
反転処理回路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
図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
積層メモリ30Aがプロセッサチップ40AにデータDQを転送する例は、以下の説明中の”プロセッサチップ40A”を”積層メモリ30A”に置き換えることで説明される。図15に示す動作は、バースト動作を開始する場合に、バースト動作で転送する512ビットのデータDQを反転処理回路43Aが受信したことに基づいて開始される。
An example in which the stacked
まず、ステップS40において、プロセッサチップ40Aの反転処理回路43Aは、サイクルCYC1での反転ビット数をサブグループS毎に算出する。次に、ステップS42において、反転処理回路43Aは、(判定式1)、(判定式2)のいずれが有効かを判定し、有効と判定した判定式を用いて、サイクルCYC1でDBI反転回路45に出力するデータDQの論理を仮決定する。
First, in step S40, the inverting
次に、ステップS44において、反転処理回路43Aは、サイクルCYC2での反転ビット数をサブグループS毎に算出する。次に、ステップS46において、反転処理回路43Aは、(判定式1)、(判定式2)のいずれが有効かを判定し、有効と判定した判定式を用いて、サイクルCYC2でDBI反転回路45に出力するデータDQの論理を仮決定する。
Next, in step S44, the inverting
次に、ステップS48において、反転処理回路43Aは、サイクルCYC3での反転ビット数をサブグループS毎に算出する。次に、ステップS50において、反転処理回路43Aは、(判定式1)、(判定式2)のいずれが有効かを判定し、有効と判定した判定式を用いて、サイクルCYC3でDBI反転回路45に出力するデータDQの論理を仮決定する。
Next, in step S48, the inverting
次に、ステップS52において、反転処理回路43Aは、サイクルCYC1、CYC2、CYC3で有効と判定した(判定式1)、(判定式2)の数に基づいて、基本反転パターンBRPを決定する。次に、ステップS54において、反転処理回路43Aは、ステップS52で決定した基本反転パターンBRPに基づいて、反転ビット数が3ビット以上の偶数番号または奇数番号のいずれかのサブグループSに対応する反転ビットRBを論理1に設定する。
Next, in step S52, the
次に、ステップS56において、反転処理回路43Aは、基本反転パターンBRPに基づいて、論理1の反転ビットRBに対応する偶数番号のサブグループSまたは奇数番号のサブグループSのデータDQの論理を反転する。
Next, in step S56, the
次に、ステップ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
図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
積層メモリ30Aがプロセッサチップ40Aから出力される書き込みデータDQを受信する例は、以下の説明中の”プロセッサチップ40A”を”積層メモリ30A”に置き換えることで説明される。図16に示す動作は、バースト動作の開始に基づいて開始される。
An example in which the stacked
まず、ステップS60において、プロセッサチップ40Aの反転処理回路49Aは、サイクルCYC0において、データDQおよび基本反転パターンBRPを、DBI反転回路47を介して受信する。次に、ステップS62において、反転処理回路49Aは、受信したデータDQを読み出しデータとして出力する。
First, in step S60, the inverting
次に、ステップ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
次に、ステップ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
次に、ステップ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
以上、図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
さらに、図11から図16に示す実施形態では、反転処理回路43Aは、各バースト動作における512ビットのデータDQの論理の変化の傾向に基づいて、各メイングループA−H内の16ビット毎にデータDQの論理を反転するか否かを決めることができる。
Further, in the embodiment shown in FIGS. 11 to 16, the
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。 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,
10 Memory chip 20
47
Claims (10)
データを複数に分けた第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の反転情報とに基づいて、有効状態の前記第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のグループまたは第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.
複数回の送信の各々において、前記第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.
前記第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.
前記送信部は、前記誤り検出・訂正符号を前記付加情報の一部として送信し、前記第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.
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) |
-
2019
- 2019-04-01 JP JP2019070147A patent/JP2020170904A/en active Pending
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 |