JP2021068930A - 半導体集積回路およびコントローラ - Google Patents

半導体集積回路およびコントローラ Download PDF

Info

Publication number
JP2021068930A
JP2021068930A JP2019190509A JP2019190509A JP2021068930A JP 2021068930 A JP2021068930 A JP 2021068930A JP 2019190509 A JP2019190509 A JP 2019190509A JP 2019190509 A JP2019190509 A JP 2019190509A JP 2021068930 A JP2021068930 A JP 2021068930A
Authority
JP
Japan
Prior art keywords
circuit
output
input signal
signal
output node
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
JP2019190509A
Other languages
English (en)
Inventor
修司 松本
Shuji Matsumoto
修司 松本
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.)
Kioxia Corp
Original Assignee
Kioxia Corp
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 Kioxia Corp filed Critical Kioxia Corp
Priority to JP2019190509A priority Critical patent/JP2021068930A/ja
Priority to US17/011,850 priority patent/US11295790B2/en
Publication of JP2021068930A publication Critical patent/JP2021068930A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1048Data bus control circuits, e.g. precharging, presetting, equalising
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1069I/O lines read out arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Abstract

【課題】消費電力の削減を図ることができる半導体集積回路およびコントローラを提供することである。【解決手段】実施形態の半導体集積回路は、メモリシステムに用いられる半導体集積回路であって、第1出力バッファ回路と、第2出力バッファ回路と、スイッチング素子と、制御回路とを含む。前記第1出力バッファ回路は、第1出力ノードを含む。前記第2出力バッファ回路は、第2出力ノードを含む。前記スイッチング素子は、前記第1出力ノードと前記第2出力ノードとに電気的に接続され、前記第1出力ノードと前記第2出力ノードとの間の電気接続状態を切り替える。前記制御回路は、前記スイッチング素子を制御する。【選択図】図6

Description

本発明の実施形態は、半導体集積回路およびコントローラに関する。
HighレベルおよびLowレベルの信号を出力可能な出力バッファ回路を含む半導体集積回路が知られている。ところで、半導体集積回路は、消費電力の削減が期待されている。
特開2011−250107号公報
本発明が解決しようとする課題は、消費電力の削減を図ることができる半導体集積回路およびコントローラを提供することである。
実施形態の半導体集積回路は、メモリシステムに用いられる半導体集積回路であって、第1出力バッファ回路と、第2出力バッファ回路と、スイッチング素子と、制御回路とを含む。前記第1出力バッファ回路は、第1出力ノードを含む。前記第2出力バッファ回路は、第2出力ノードを含む。前記スイッチング素子は、前記第1出力ノードと前記第2出力ノードとに電気的に接続され、前記第1出力ノードと前記第2出力ノードとの間の電気接続状態を切り替える。前記制御回路は、前記スイッチング素子を制御する。
第1の実施形態のメモリシステムの構成を示すブロック図。 第1の実施形態のメモリコントローラおよびNAND装置の構成を示すブロック図。 第1の実施形態の出力バッファ回路の基本構成を示す回路構成図。 第1の実施形態の出力バッファ回路の基本動作を示すタイミングチャート。 第1の実施形態の基本動作の期間IIにおける電荷の移動を示す図。 第1の実施形態の基本動作の期間IVにおける電荷の移動を示す図。 第1の実施形態の第1回路ユニットの構成を示す回路構成図。 第1の実施形態の第1回路ユニットの動作を示すタイミングチャート。 第1の実施形態の期間IIにおける電荷の移動を示す図。 第1の実施形態の期間Iおよび期間IIIにおける電荷の移動を示す図。 第1の実施形態の期間IVにおける電荷の移動を示す図。 第1の実施形態のバイパス制御回路の動作を示す図。 第1の実施形態の実施例のバイパス制御回路の構成を示す回路構成図。 第1の実施形態の実施例のバイパス制御回路の動作を示すタイミングチャート。 第1の実施形態の第1変形例のバイパス制御回路の動作を示す図。 第1の実施形態の第2変形例のバイパス制御回路の動作を示す図。 第2の実施形態のバイパス制御回路の一部を示す回路構成図。 第2の実施形態のバイパス制御回路の別の一部を示す回路構成図。 第2の実施形態のバイパス制御回路の動作を示すタイミングチャート。 第3の実施形態のメモリコントローラおよびNAND装置の構成を示すブロック図。 第3の実施形態の第1回路ユニットの構成を示す回路構成図。 第3の実施形態の検出回路の一例を示す回路構成図。 第3の実施形態の第1回路ユニットの構成の一部を示す回路構成図。 第3の実施形態の第1から第4のバイパス制御回路を示す回路構成図。 実施形態の変形例の検出回路を示す回路構成図。
以下、実施形態の半導体集積回路およびコントローラを、図面を参照して説明する。以下の説明では、同一または類似の機能を有する構成に同一の符号を付す。そして、それら構成の重複する説明は省略する場合がある。本明細書で「XXに基づく」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。「XXに基づく」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば任意の情報)である。本明細書で「接続」とは、機械的な接続に限定されず、電気的な接続も含む。本明細書では、スイッチング素子の導通状態を「ON状態」と称し、スイッチング素子の非導通状態を「OFF状態」と称する場合がある。
メモリシステムに含まれる半導体集積回路は、電圧レベルとしてHighレベルの信号を出力する場合に出力バッファ回路の電源(VDD)から負荷に電荷を充電(蓄積)し、電圧レベルとしてLowレベルの信号を出力する場合に負荷に蓄積された電荷を出力バッファ回路のグランド(VSS)に放電する。この電荷の充電および放電は、半導体集積回路の消費電力において大きな割合を占める。
そこで、実施形態の半導体集積回路では、第1出力バッファ回路と第2出力バッファ回路との間で電荷の再利用を行うことで、半導体集積回路の消費電力の削減を図る。以下、このような半導体集積回路について説明する。ただし以下に説明する実施形態により本発明が限定されるものではない。
(第1の実施形態)
第1の実施形態は、互いに電荷を再利用する2つの出力バッファ回路を有した半導体集積回路がメモリコントローラに設けられた例である。なお以下に説明する半導体集積回路は、NAND接続インターフェースに代えて/加えて、ホスト接続インターフェースに設けられてもよく、メモリコントローラに代えて/加えて、ホスト装置、および/または、NAND装置に設けられてもよい。
<1.メモリシステムの全体構成>
図1は、第1の実施形態のメモリシステム1000の構成を示すブロック図である。メモリシステム1000は、例えば1つのストレージデバイスであり、ホスト装置2000と接続される。メモリシステム1000は、ホスト装置2000の外部記憶装置として機能する。ホスト装置2000は、例えば、モバイル型の情報処理装置であるが、サーバ装置や、パーソナルコンピュータなどでもよい。ホスト装置2000は、メモリシステム1000に対するアクセス要求(リード要求およびライト要求など)を発行する。
メモリシステム1000は、例えば、メモリコントローラ100と、複数のNAND装置200とを含む。メモリコントローラ100は、「コントローラ」の一例である。NAND装置200は、不揮発性半導体メモリとしてのメモリチップであり、例えばNAND型フラッシュメモリである。NAND装置200は、「半導体記憶装置」の一例である。
メモリコントローラ100は、例えば、ホスト接続インターフェース(以下「ホストI/F」と称する)110、RAM(Random Access Memory)120、ROM(Read Only Memory)130、CPU(Central Processing Unit)140、ECC(Error Correcting Code)回路150、およびNAND接続インターフェース160(以下「NANDI/F110」と称する)を含む。ホストI/F110、RAM120、ROM130、CPU140、ECC回路150、およびNANDI/F160は、バス170で互いに接続されている。例えば、メモリコントローラ100は、これら構成が1つのチップに纏められたSoC(System on a Chip)で構成されている。ただし、ホストI/F110、RAM120、ROM130、CPU140、ECC回路150、およびNANDI/F160の一部は、メモリコントローラ100の外部に設けられてもよい。
ホストI/Fコントローラ110は、CPU140による制御の下で、ホスト装置2とメモリシステム1との間の通信インターフェースの制御、およびホスト装置2とRAM120との間のデータ転送の制御を実行する。
RAM120は、例えば、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)などであるが、これらに限定されない。RAM120は、ホスト装置2とNAND装置200との間のデータ転送のためのバッファとして機能する。また、RAM120は、CPU140にワークエリアを提供する。RAM120には、メモリシステム1000の動作時に、ROM130に記憶されているファームウェア(プログラム)がロードされる。
CPU140は、ハードウェアプロセッサの一例である。CPU140は、例えばRAM120にロードされたファームウェアを実行することで、メモリコントローラ100の全体を制御する。例えば、CPU140は、NAND装置200に対するデータの書き込み、読み出し、および消去に関する動作を制御する。
ECC回路150は、NAND装置200への書き込み対象のデータに対してエラー訂正のための符号化を行う。ECC回路150は、NAND装置200から読み出されたデータにエラーが含まれる場合、書き込み動作時に付与したエラー訂正符号に基づき、読み出されたデータに対してエラー訂正を実行する。
NANDI/F160は、CPU140による制御の下で、RAM120とNAND装置200との間のデータ転送の制御を実行する。NANDI/F160は、メモリコントローラ100の物理層であり、送受信回路を含む。NANDI/F160は、メモリコントローラ100からNAND装置200に向けて送信されるデジタル信号を電気信号に変換し、変換した電気信号を、伝送線路Lを通じてNAND装置200に送信する。また、NANDI/F160は、伝送線路Lを通じてNAND装置200から電気信号を受信し、受信した電気信号をデジタル信号に変換する。NANDI/F160は、「半導体集積回路」の一例である。
本実施形態では、NANDI/F160は、複数のチャネルC(ch.0,ch.1,…,ch.m(mは自然数))を有する。各チャネルCは、複数のNAND装置200に接続されている。ただし、チャネルCは、1つでもよい。また、1つのチャネルCには、1つのNAND装置200だけが接続されていてもよい。
<2.メモリコントローラおよびNAND装置の構成>
次に、メモリコントローラ100およびNAND装置200の構成について説明する。ここでは、メモリコントローラ100と1つのNAND装置200とを抜き出して説明する。メモリコントローラ100と他のNAND装置200との関係は、以下に説明する内容と同様である。
図2は、メモリコントローラ100およびNAND装置200の構成を示すブロック図であり、出力バッファ回路に関係する部分を示す。図2では、ホストI/F110、RAM120、ROM130、CPU140、およびECC回路150の図示は省略されている。これは後述する図17でも同様である。図2に示す例では、1つのチャネルCは、複数(例えば8つ)の伝送線路L(L0〜L7)と接続されており、1つのNAND装置200に対して8ビットのデータ(信号)を並行して出力可能である。
<2.1 メモリコントローラの構成>
まず、メモリコントローラ100の構成について説明する。メモリコントローラ100は、例えば、NANDI/F160と、データ変換部180とを含む。
<2.1.1 NANDI/F>
NANDI/F160は、例えば、第1から第4の回路ユニットCU1〜CU4を含む。第1から第4の回路ユニットCU1〜CU4の各々は、第1出力バッファ回路10と、第2出力バッファ回路20とを含む。本明細書で「出力バッファ回路」とは、入力値に対応するHighレベルまたはLowレベルの信号を出力する回路である。
図2に示すように、第1回路ユニットCU1の第1出力バッファ回路10および第2出力バッファ回路20は、それぞれ、第1伝送線路L0および第2伝送線路L1に接続されている。第2回路ユニットCU2の第1出力バッファ回路10および第2出力バッファ回路20は、それぞれ、第3伝送線路L2および第4伝送線路L3に接続されている。第3回路ユニットCU3の第1出力バッファ回路10および第2出力バッファ回路20は、それぞれ、第5伝送線路L4および第6伝送線路L5に接続されている。第4回路ユニットCU4の第1出力バッファ回路10および第2出力バッファ回路20は、それぞれ、第7伝送線路L6および第8伝送線路L7に接続されている。
<2.1.2 データ変換部>
次に、データ変換部180について説明する。ここで、NAND装置200に書き込まれるデータ(以下「書き込みデータ」と称する)をホスト装置2000からメモリコントローラ100が受け取る場合、書き込みデータに含まれるデータ値(“0”または“1”)は、“0”または“1”のいずれか一方に偏っている場合がある。データ値が“0”または“1”のいずれか一方に偏った書き込みデータは、NAND装置200に記憶される場合に記憶の信頼性が低くなる場合がある。そこで、データ変換部180は、書き込みデータに対してランダマイズ(またはスクランブル)と呼ばれる処理を行い、書き込みデータに含まれるデータ値の“0”と“1”の割合を1対1に近付ける。
詳しく述べると、データ変換部180は、乱数生成部181と、演算部182とを含む。乱数生成部181は、乱数(例えば疑似乱数)を生成する。演算部182は、乱数生成部181により生成された乱数を用いて、書き込みデータに含まれるデータ値である“0”と“1”の割合を1対1に近付ける。例えば、演算部182は、乱数生成部181により生成された乱数と書き込みデータとの排他的論理和(XOR)を演算することで、データ値である“0”と“1”の割合を1対1に近づけたデータ(以下「ランダマイズされたデータ」と称する)を生成する。
データ変換部180は、ランダマイズされたデータを、NANDI/F160の各回路ユニットCU1〜CU4に含まれる第1出力バッファ回路10および第2出力バッファ回路20に入力値として入力する。このため、第1出力バッファ回路10に入力される入力値と、第2出力バッファ回路20に入力される入力値は、約50%の確率で互いに異なる、すなわち“0”と“1”が互いに逆になる。
本実施形態では、データ変換部180は、メモリコントローラ100に含まれるハードウェアプロセッサ(例えばCPU140)がプログラムを実行することで実現される。ただし、データ変換部180の一部または全部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、PLD(Programmable Logic Device)などのうち1つ以上の回路(circuitry)によって実現されてもよい。
<2.2 NAND装置の構成>
次に、NAND装置200の構成について説明する。NAND装置200は、例えば、インターフェース210、メモリセルアレイ220、および周辺回路230を有する。インターフェース210は、伝送線路L0〜L7を介してメモリコントローラ100のNANDI/F160と接続されており、NANDI/F160との間で信号を送受信する。メモリセルアレイ220は、複数のメモリセルトランジスタを含み、データを不揮発に保持する。周辺回路230は、メモリセルアレイ220に接続されている。例えば、周辺回路230は、インターフェース210が受け取る信号に基づきメモリセルアレイ220の各種配線に所定の電圧を印加することで、メモリセルアレイ220に書き込みデータを書き込む。
<3.回路ユニットの構成>
次に、第1から第4の回路ユニットCU1〜CU4の構成について説明する。なお、第1から第4の回路ユニットCU1〜CU4は、互いに同じ構成を有する。このため以下では、第1回路ユニットCU1を代表として説明する。
<3.1 出力バッファ回路の基本構成>
ここで、第1回路ユニットCU1に含まれる第1および第2の出力バッファ回路10,20の各々は、出力バッファ回路の基本構成(以下「出力バッファ回路BS」と称する)と同様の構成を有する。このため、出力バッファ回路BSについて先に説明する。
図3は、出力バッファ回路BSを示す回路構成図である。出力バッファ回路BSは、入力端子1、外部出力パッド2、PMOS(P-channel Metal-Oxide Semiconductor)トランジスタ3、NMOS(N-channel Metal-Oxide Semiconductor)トランジスタ4、PMOSトランジスタ制御回路5(以下「PMOS制御回路5」と称する)、およびNMOSトランジスタ制御回路6(以下「NMOS制御回路6」と称する)を含む。
入力端子1には、内部ロジックからの信号が入力値として入力される。本実施形態では、入力端子1には、ランダマイズされたデータに含まれるデータ値(“0”または“1”)が入力される。以下では説明の便宜上、データ値である“1”および“0”をそれぞれ“H”および“L”として説明する。
外部出力パッド2は、「出力ノード」の一例である。外部出力パッド2は、外部負荷容量7に接続される。外部負荷容量7は、伝送線路L、NAND装置200内の信号線およびボンディングワイヤ、他のNAND装置200の入力容量などによる寄生容量である。
PMOSトランジスタ3のソースは、電源(VDD)Pに接続されている。本実施形態では、電源Pは、3.0Vまたは1.8Vの電圧を有した電源である。PMOSトランジスタ3のドレインは、接続ノードCNを介して外部出力パッド2に接続されている。PMOSトランジスタ3は、「第1出力トランジスタ」の一例である。
NMOSトランジスタ4のソースは、グランド(VSS)Gに接続されている。NMOSトランジスタ4のドレインは、接続ノードCNを介して外部出力パッド2に接続されている。すなわち、NMOSトランジスタ4のドレインは、PMOSトランジスタ3のドレインと接続されている。NMOSトランジスタ4は、「第2出力トランジスタ」の一例である。
PMOS制御回路5は、入力端子1に入力された信号に対してレベルシフトやタイミング調整などの所定の処理を行い、所定の処理を行った信号をPMOSトランジスタ3の制御ゲートに出力する。これにより、PMOS制御回路5は、PMOSトランジスタ3を制御する。本実施形態では、PMOS制御回路5は、入力端子1に入力された信号(“H”または“L”)を反転させるとともに、入力端子1に入力される信号が“L”から“H”に変化する場合にだけ、上記変化に対してPMOS制御回路5から出力される信号が変化するタイミングを所定時間(後述する期間Iに対応する時間長さ)だけ遅延させる。
NMOS制御回路6は、入力端子1に入力された信号に対してレベルシフトやタイミング調整などの所定の処理を行い、所定の処理を行った信号をNMOSトランジスタ4の制御ゲートに出力する。これにより、NMOS制御回路6は、NMOSトランジスタ4を制御する。本実施形態では、NMOS制御回路6は、入力端子1に入力された信号(“H”または“L”)を反転させるとともに、入力端子1に入力される信号が“H”から“L”に変化する場合にだけ、上記変化に対してNMOS制御回路6から出力される信号が変化するタイミングを所定時間(後述する期間IIIに対応する時間長さ)だけ遅延させる。
<3.2 出力バッファ回路の基本動作>
次に、出力バッファ回路BSの基本動作について説明する。
図4は、出力バッファ回路BSの基本動作を示すタイミングチャートである。図4中の“IN”,“A”,“B”,“OUT”は、それぞれ、図3中に示す入力端子1、内部ノードA、内部ノードB、および外部出力パッド2における信号を示す。図4でハッチングが施された領域は、PMOSトランジスタ3およびNMOSトランジスタ4の両方がOFF状態にある期間を示す。また、図5Aおよび図5Bは、それぞれ、期間IIおよび期間IVにおける電荷の移動を示す図である。
[期間I]
まず、入力端子1に入力される入力信号(IN)が“L”から“H”に切り替わった直後の期間Iでは、NMOSトランジスタ4のゲート入力信号(B)が“H”から“L”に変化し、NMOSトランジスタ4がOFF状態になる。このとき、PMOSトランジスタ3のゲート入力信号(A)は、PMOS制御回路5によって信号の変化が遅延させられている。その結果、PMOSトランジスタ3は、OFF状態のままである。このため、期間Iでは、PMOSトランジスタ3およびNMOSトランジスタ4の両方がOFF状態であり、外部出力パッド2から出力される出力信号(OUT)は変化しない。
[期間II]
次に、期間IIでは、入力信号(IN)の変化から少し遅れ、PMOSトランジスタ3のゲート入力信号(A)が“H”から“L”に変化し、PMOSトランジスタ3がON状態になる。PMOSトランジスタ3がON状態になることで、外部負荷容量7に電源Pから電荷が充電され(図5A参照)、出力信号(OUT)が“L”から“H”に変化する。なお、出力信号(OUT)の“L”とは、Lowレベル(例えば0V)の信号が出力されることを意味する。出力信号(OUT)の“H”とは、Highレベル(例えば電源Pの電圧レベル)の信号を出力されることを意味する。
[期間III]
次に、入力信号(IN)が“H”から“L”に切り替わった直後の期間IIIでは、PMOSトランジスタ3のゲート入力信号(A)が“L”から“H”に変化し、PMOSトランジスタ3がOFF状態になる。このとき、NMOSトランジスタ4のゲート入力信号(B)は、NMOS制御回路6によって信号の変化が遅延させられている。その結果、NMOSトランジスタ4は、OFF状態のままである。このため、期間IIIでは、PMOSトランジスタ3およびNMOSトランジスタ4の両方がOFF状態であり、外部出力パッド2から出力される出力信号(OUT)は変化しない。
[期間IV]
次に、期間IVでは、入力信号(IN)の変化から少し遅れ、NMOSトランジスタ4のゲート入力信号(B)が“L”から“H”に変化し、NMOSトランジスタ4がON状態になる。NMOSトランジスタ4がON状態になることで、外部負荷容量7に充電されていた電荷がグランドGに放電され(図5B参照)、出力信号(OUT)が“H”から“L”に変化する。
以上のように、出力バッファ回路BSは、外部負荷容量7への電荷の充電および放電を行い、“L”を出力する状態と“H”を出力する状態とで切り替わる。ここで、期間Iおよび期間IIIが設けられている理由は、PMOSトランジスタ3およびNMOSトランジスタ4の両方が同時にON状態になり、貫通電流が流れることを防止するためである。
<3.3 第1回路ユニットの構成>
次に、第1回路ユニットCU1の構成について説明する。
図6は、第1回路ユニットCU1の構成を示す回路構成図である。第1回路ユニットCU1は、例えば、第1出力バッファ回路10、第2出力バッファ回路20、およびバイパス回路30を有する。
第1出力バッファ回路10および第2出力バッファ回路20の各々は、上述した出力バッファ回路BSと同じ構成を有する。以下では説明の便宜上、第1出力バッファ回路10の各構成には、出力バッファ回路BSの対応する構成の符号の数字に10を加えた符号を付し、第2出力バッファ回路20の各構成には、出力バッファ回路BSの対応する構成の符号の数字に20を加えた符号を付す。
バイパス回路30は、第1出力バッファ回路10と第2出力バッファ回路20との間に接続されている。バイパス回路30は、例えば、バイパストランジスタ31と、バイパス制御回路32とを含む。
バイパストランジスタ31のソースは、第1出力バッファ回路10の外部出力パッド12に接続されている。バイパストランジスタ31のドレインは、第2出力バッファ回路20の外部出力パッド22に接続されている。バイパストランジスタ31は、第1出力バッファ回路10の外部出力パッド12と第2出力バッファ回路20の外部出力パッド22との間の電気接続状態を切り替える。
バイパストランジスタ31は、バイパス制御回路32によって制御されてON状態になることで、第1出力バッファ回路10の外部出力パッド12と第2出力バッファ回路20の外部出力パッド22とを電気的に接続する。一方で、バイパストランジスタ31は、バイパス制御回路32によって制御されてOFF状態になることで、第1出力バッファ回路10の外部出力パッド12と第2出力バッファ回路20の外部出力パッド22との間の電気接続状態を遮断する。バイパストランジスタ31は、「スイッチング素子」の一例である。なお「スイッチング素子」は、第1出力バッファ回路10の外部出力パッド12と第2出力バッファ回路20の外部出力パッド22との間の電気接続状態を切り替えることができる部品であればよく、トランジスタ以外の部品でもよい。
バイパス制御回路32は、バイパストランジスタ31の制御ゲートにゲート入力信号を与えることで、バイパストランジスタ31をON状態とOFF状態との間で切り替える。本実施形態では、バイパス制御回路32は、期間Iの少なくとも一部と、期間IIIの少なくとも一部とにおいて、バイパストランジスタ31をON状態にするように、バイパストランジスタ31を制御する。なお、バイパス制御回路32については詳しく後述する。
<3.4 回路ユニットの動作>
次に、第1回路ユニットCU1の動作について説明する。
図7は、第1回路ユニットCU1の動作を示すタイミングチャートである。図7中の“10_IN”,“10_A”,“10_B”,“20_IN”,“20_A”,“20_B”,“BYP”,“10_OUT”,“20_OUT”は、それぞれ、図6中に示す入力端子11、内部ノード10A、内部ノード10B、入力端子21、内部ノード20A、内部ノード20B、バイパストランジスタ31の制御ゲート、外部出力パッド12、外部出力パッド22における信号を示す。なお図7は、第1出力バッファ回路10および第2出力バッファ回路20には、反転関係にある2つの入力信号(反転信号)が入力される例を示す。図7中の領域A1は、PMOSトランジスタ13およびNMOSトランジスタ14の両方がOFF状態になる期間を示す。図7中の領域A2は、PMOSトランジスタ23およびNMOSトランジスタ24の両方がOFF状態になる期間を示す。
また、図8Aは、期間IIにおける電荷の移動を示す図である。図8Bは、期間Iおよび期間IIIにおける電荷の移動(電荷の再利用)を示す図である。図8Cは、期間IVにおける電荷の移動を示す図である。図8A〜図8Cは、説明の便宜上、第1出力バッファ回路10の内部構成、第2出力バッファ回路20の内部構成、およびバイパス制御回路32の図示は省略している。
[期間I]
まず、第1出力バッファ回路10に入力される入力信号(10_IN)が“L”から“H”に切り替わるとともに、第2出力バッファ回路20に入力される入力信号(20_IN)が“H”から“L”に切り替わった直後の期間Iでは、出力バッファ回路BSの場合と同様に、2つの出力バッファ回路10,20のPMOSトランジスタ13,23およびPMOSトランジスタ14,24は、OFF状態になる。そのため、外部出力パッド12から出力される出力信号(10_OUT)および外部出力パッド22から出力される出力信号(20_OUT)は変化しない。このとき、出力信号(10_OUT)は“L”(VSSレベル)であり、出力信号(20_OUT)は“H”(VDDレベル)である。そのため、第1出力バッファ回路10に接続された外部負荷容量17には電荷の蓄積は無く、第2出力バッファ回路20に接続された外部負荷容量27には電荷が蓄積された状態である。また、バイパス制御回路32によってバイパストランジスタ31のゲート入力信号(BYP)が“H”に制御され、バイパストランジスタ31はOFF状態である。
次に、2つの出力バッファ回路10,20のPMOSトランジスタ13,23およびNMOSトランジスタ14,24が全てOFF状態となる期間において、バイパス制御回路32は、バイパストランジスタ31のゲート入力信号(BYP)を“L”に制御し、バイパストランジスタ31をON状態に遷移させる。これにより、第1出力バッファ回路10の外部出力パッド12と第2出力バッファ回路20の外部出力パッド22とが電気的に接続される。その結果、第2出力バッファ回路20に接続された外部負荷容量27から第1出力バッファ回路10に接続された外部負荷容量17に電荷の移動が起こる。この電荷の移動は、外部負荷容量17と外部負荷容量27との電位差のみで起こるため、電荷が移動して釣り合う電圧(例えば、外部負荷容量17と外部負荷容量27とが同じ容量の場合はVDD/2)になるまで続く。その後、バイパス制御回路32は、バイパストランジスタ31のゲート入力信号(BYP)を“H”に戻す。これにより、バイパストランジスタ31をOFF状態にすることで、出力バッファ回路BSの基本構成と同じ動作に戻る。図7中の領域B1は、外部負荷容量27から外部負荷容量17に電荷が移動する期間を示す。
[期間II]
次に、期間IIは、第1出力バッファ回路10では、PMOSトランジスタ13がON状態になり、外部負荷容量17への電荷の蓄積が行われて、出力信号(10_OUT)が“H”になる。一方で、第2出力バッファ回路20では、NMOSトランジスタ24がON状態になり、外部負荷容量27に蓄積された電荷の放電が行われて、出力信号(20_OUT)が“L”になる。このとき、第1出力バッファ回路10に接続された外部負荷容量17には、期間Iにおいて、バイパストランジスタ31経由で外部負荷容量27から移動した電荷が蓄積されている。このため、VDDレベルまで足りない分だけ電荷を充電すればよい。一方で、第2出力バッファ回路20に接続された外部負荷容量27には、移動しなかった電荷が残っているだけなので、残った電荷だけを放電すればよい。このように、外部負荷容量27で不要となる(放電される)電荷を、バイパストランジスタ31を用いて外部負荷容量17に移動させることで、電荷を再利用し、新しく消費する電荷(電流)を抑制することができる。
[期間III]および[期間IV]
期間IIIおよび期間IVでは、第1出力バッファ回路10と第2出力バッファ回路20の動作が逆になるだけで、同様に電荷の再利用が行われる。図7中の領域B2は、外部負荷容量17から外部負荷容量27に電荷が移動する期間を示す。
<4.バイパス制御回路>
<4.1 バイパス制御回路の動作>
図9は、バイパス制御回路32の動作を示す。「bit0」は、第1出力バッファ回路10に関するものであることを示す。「bit1」は、第2出力バッファ回路20に関するものであることを示す。「N」は、Nサイクル目の信号であることを示す。「N+1」は、(N+1)サイクル目の信号であることを示す。「0」および「1」は、入力信号の値を示す。「OFF」は、バイパストランジスタ31をOFF状態にする条件を示す。「ON」は、バイパストランジスタ31をON状態にする条件を示す。この定義は、後述する図12および図13でも同様である。
本実施形態のバイパス制御回路32は、あるサイクル(Nサイクル(Nは自然数))での入力信号(10_IN)と、上記サイクルの1つ後のサイクル((N+1)サイクル)での入力信号(10_IN)とが反転関係であり、Nサイクルでの入力信号(20_IN)と、(N+1)サイクルでの入力信号(20_IN)とが反転関係にあり、且つ、(N+1)サイクルで第1出力バッファ回路10に入力される入力信号(10_IN)と、(N+1)サイクルで第2出力バッファ回路20に入力される入力信号(20_IN)とが反転関係にある場合に限り、ゲート入力信号(BYP)として“L”を出力する。その他の場合は、バイパス制御回路32は、ゲート入力信号(BYP)として“H”を出力する。言い換えると、本実施形態のバイパス制御回路32は、図9中の「bit0」に関するテーブルの「ON」と、「bit0」に関するテーブルの「ON」とが揃った場合に限り、ゲート入力信号(BYP)として“L”を出力する。
このような構成によれば、第1出力バッファ回路10と第2出力バッファ回路20との間で、本来であれば捨てられていた電荷が再利用されて、充電が行われる。このため、半導体集積回路の消費電力の削減を図ることができる。
本実施形態では、第1出力バッファ回路10および第2出力バッファ回路20に供給される入力値は、データ変換部180によってランダマイズされたデータである。このため、第1出力バッファ回路10に入力される入力信号と、第2出力バッファ回路20に入力される入力信号は高い確率(約50%の確率)で反転関係にある。このような回路に対してバイパス回路30を設けることで、電荷の再利用をより効率的に行うことができる。
本実施形態では、電荷の再利用が有効に行われる場合に限り、バイパストランジスタ31がON状態になり電荷が移動する。このため、電荷が無駄に移動することを抑制することができ、第1回路ユニットCU1の発熱などを抑制し、効率的な電荷の再利用を図ることができる。
<5.バイパス制御回路の実施例>
次に、バイパス制御回路32の1つの実施例について説明する。ただし、バイパス制御回路32の構成は、以下の実施例に限定されるものではない。
<5.1 バイパス制御回路の構成例>
図10は、実施例のバイパス制御回路32を示す電気回路図である。バイパス制御回路32は、第1出力バッファ回路10に入力される入力信号(10_IN)と、第2出力バッファ回路20に入力される入力信号(20_IN)とを入力とし、バイパストランジスタ31に出力するゲート入力信号(BYP)を生成する。入力信号(10_IN)は、「第1入力信号」の一例である。入力信号(20_IN)は、「第2入力信号」の一例である。バイパス制御回路32は、例えば、反転確認部40Aと、トグル検知部40Bとを含む。反転確認部40Aおよびトグル検知部40Bは、協働することで「検出回路」の一例を構成している。本明細書で「トグル」とは、“L”から“H”への入力信号の切り替わり、または“H”から“L”への入力信号の切り替わりを意味する。
反転確認部40Aは、外部出力パッド12から出力予定の信号と、外部出力パッド22から出力予定の信号との反転関係を検出する。例えば、反転確認部40Aは、第1出力バッファ回路10に入力される入力信号(10_IN)と、第2出力バッファ回路20に入力される入力信号(20_IN)とに基づき、上記反転関係を検出する。
本実施例では、反転確認部40Aは、入力信号(10_IN)と入力信号(20_IN)とが反転関係であるか否かを判定する。例えば、反転確認部40Aは、EXNOR回路41を含む。EXNOR回路41の第1入力端子には、入力信号(10_IN)が入力される。EXNOR回路41の第2入力端子には、入力信号(20_IN)が入力される。EXNOR回路41の出力端子は、後述するAND回路48の第1入力端子に接続されている。
トグル検知部40Bは、入力信号(10_IN)および入力信号(20_IN)がそれぞれトグルしたか否かを検知する。トグル検知部40Bは、例えば、遅延素子42、EXNOR回路43、遅延素子44、EXNOR回路45、OR回路46、および遅延素子47を含む。EXNOR回路43およびEXNOR回路45は、それぞれ「判定回路」の一例である。
遅延素子42は、入力信号(10_IN)を遅延させる。EXNOR回路43の第1入力端子には、遅延素子42を介さずに入力信号(10_IN)が入力される。EXNOR回路43の第2入力端子には、遅延素子42によって遅延させられた入力信号(10_IN)が入力される。EXNOR回路43の出力端子は、OR回路46の第1入力端子に接続されている。
遅延素子44は、入力信号(20_IN)を遅延させる。EXNOR回路45の第1入力端子には、遅延素子44を介さずに入力信号(20_IN)が入力される。EXNOR回路45の第2入力端子には、遅延素子44によって遅延させられた入力信号(20_IN)が入力される。EXNOR回路45の出力端子は、OR回路46の第2入力端子に接続されている。
OR回路46の出力端子は、遅延回路47に接続されている。遅延回路47は、OR回路46から出力された信号を遅延させる。遅延回路47の出力端子は、OR回路48の第2入力端子に接続されている。OR回路46の出力端子は、バイパス制御回路32の出力端子であり、ゲート入力信号(BYP)を出力する。
<5.2 バイパス制御回路の動作例>
次に、実施例のバイパス制御回路32の動作について説明する。
図11は、実施例のバイパス制御回路32の動作を示すタイミングチャートである。図11中の“H”,“I”,“J”,“K”,“L”,“M”,“N”は、それぞれ、図10中に示す、ノードH、ノードI、ノードJ、ノードK、ノードL、ノードM、ノードNでの信号を示す。
入力信号(10_IN)が入力される遅延素子42の出力信号(H)は、遅延素子42の遅延量に依存した分だけ入力信号(10_IN)が遅れた信号となる。出力信号(H)と入力信号(10_IN)とが入力されたEXNOR回路43は、出力信号(H)と入力信号(10_IN)とが異なる期間だけが“L”となる出力信号(I)を生成する。
同様に、入力信号(20_IN)が入力される遅延素子44の出力信号(J)は、遅延素子44の遅延量に依存した分だけ入力信号(20_IN)が遅れた信号となる。出力信号(J)と入力信号(20_IN)とが入力されたEXNOR回路45は、出力信号(J)と入力信号(20_IN)とが異なる期間だけが“L”となる出力信号(K)を生成する。
出力信号(I)および出力信号(K)がOR回路46に入力されることで生成される出力信号(L)は、入力信号(10_IN)および入力信号(20_IN)の両方が同じサイクルでトグルする場合だけ“L”となる信号となる。出力信号(L)を入力とする遅延素子47の出力信号(M)は、遅延素子47の遅延量に依存した分だけ出力信号(L)が遅れた信号となる。
一方、入力信号(10_IN)と入力信号(20_IN)とが入力されるEXNOR回路41により、入力信号(10_IN)と入力信号(20_IN)とが反転関係にある場合にだけ“L”となる出力信号(N)が生成される。そして、反転確認部40Aの出力信号(N)とトグル検知部40Bの出力信号(M)とが入力されるOR回路48で生成される出力信号は、入力信号(10_IN)と入力信号(20_IN)とがどちらもトグルし、データが反転関係である場合だけ“L”となる信号となる。この出力信号を、バイパストランジスタ31のゲート入力信号(BYP)とすることで、上述した電荷の再利用が可能となる。
ここで、遅延素子42および遅延素子44の遅延量は、バイパストランジスタ31がON状態を継続する期間(時間の長さ)を決定する値である。また、遅延素子47の遅延量は、バイパストランジスタ31がON状態となるタイミング(期間Iおよび期間IIIにおいてどのタイミングでON状態になるか)を決定する値である。
このような構成によれば、例えば、フリップフロップ回路にクロックを供給することで同様の機能を実現する場合と比べて、クロックが必要ないため、消費電力を抑制することができる。すなわち本実施例の構成によれば、消費電力を抑制しつつ、電荷の再利用を図ることができる。
<6.変形例>
<6.1 第1実施形態の第1変形例>
図12は、第1変形例のバイパス制御回路32の動作を示す。第1変形例のバイパス制御回路32は、第1出力バッファ回路10(図中の「bit0」)に入力される入力信号(10_IN)と、第2出力バッファ回路20(図中の「bit1」)に入力される入力信号(20_IN)とが反転関係にある場合に、ゲート入力信号(BYP)として“L”を出力する。バイパス制御回路32は、入力信号(10_IN)と入力信号(20_IN)とが反転関係になり場合は、ゲート入力信号(BYP)として“H”を出力する。
ここで、第1変形例のバイパス制御回路32は、1つ前のサイクル(Nサイクル)における入力信号(10_IN,20_IN)の内容に関わらず、あるサイクル((N+1)サイクル)で2つの入力信号(10_IN,20_IN)が反転関係を有する場合は、バイパストランジスタ31をON状態にする。このようなバイパス制御回路32は、例えばEXNOR回路を用いることで構成可能である。
第1変形例の構成によれば、バイパストランジスタ31がON状態になっても電荷が移動しない場合も存在し得るが、図7で示すような条件が満たされた場合には、バイパストランジスタ31がON状態になることで電荷を再利用することができる。このような第1変形例の構成によれば、上述した第1の実施形態と比べて、バイパス制御回路32の構成を簡単にすることができる。
<7.2 第1実施形態の第2変形例>
図13は、第2変形例のバイパス制御回路32の動作を示す。第2変形例では、第1出力バッファ回路10に対応したバイパス制御回路32と、第2出力バッファ回路20に対応したバイパス制御回路32とがそれぞれ設けられる。そして、バイパストランジスタ31は、第1出力バッファ回路10に対応したバイパス制御回路32と、第2出力バッファ回路20に対応したバイパス制御回路32とのうち少なくとも一方から“L”のゲート入力信号(BYP)が入力された場合にON状態となる。
詳しく述べると、第1出力バッファ回路10に対応するバイパス制御回路32は、あるサイクル(Nサイクル)での入力信号(10_IN)と、上記サイクルの1つ次のサイクル((N+1)サイクル)での入力信号(10_IN)とが反転関係にある場合に、ゲート入力信号(BYP)として“L”を出力する。一方で、第1出力バッファ回路10に対応するバイパス制御回路32は、あるサイクル(Nサイクル)での入力信号(10_IN)と、上記サイクルの1つ次のサイクル((N+1)サイクル)での入力信号(10_IN)とが反転関係でない場合に、ゲート入力信号(BYP)として“H”を出力する。このようなバイパス制御回路32は、例えば、第1出力バッファ回路10に入力される入力信号のトグルを検出する遅延素子とEXNOR回路の組み合わせを用いることで構成可能である。なお、第2出力バッファ回路20に対応するバイパス制御回路32の構成は、第1出力バッファ回路10に対応するバイパス制御回路32の構成と同じである。
第2変形例の構成によれば、バイパストランジスタ31がON状態になっても電荷が移動しない場合も存在し得るが、図7で示すような条件が満たされた場合には、バイパストランジスタ31がON状態になることで電荷を再利用することができる。このような第2実施例の構成によれば、上述した第1の実施形態と比べて、バイパス制御回路32の構成を簡単にすることができる。
(第2の実施形態)
次に、第2の実施形態について説明する。第2の実施形態は、バイパス制御回路32がフリップフロック回路を有した点で、第1の実施形態とは異なる。なお以下に説明する以外の構成は、第1の実施形態の構成と同様である。
本実施形態では、フリップフロップ回路を用いてゲート入力信号(BYP)が生成される。第1の実施形態では、出力バッファ回路のすぐ近くでゲート入力信号(BYP)が生成されるが、本実施形態では出力用のフリップフロップ回路の近くでゲート入力信号(BYP)が生成される。例えば、パイプライン化されていたり、データ出力用のFIFO(First In First Out)バッファを備える場合には、出力するクロックサイクルよりも早い段階でトグルの判定、および/または、入力信号(10_IN)と入力信号(20_IN)との反転の判定を行うことができる。すなわち、ゲート入力信号(BYP)の元になる信号をフリップフロップ回路で受けることができるため、高い周波数で動作する場合の設計が楽になる場合がある。
図14は、第2の実施形態のバイパス制御回路32の一部を示す回路構成図である。バイパス制御回路32は、第1および第2のフリップフロップ回路51,52を含む。第1フリップフロップ回路51は、入力信号(FF10_IN)が入力されて、出力信号(FF10_OUT)を出力する。出力信号(FF10_OUT)は、第1の実施形態の入力信号(10_IN)に相当する。入力信号(FF10_IN)は、1サイクル前の入力信号(10_IN)に相当する。同様に、第2フリップフロップ回路_は、入力信号(FF20_IN)が入力されて、出力信号(FF20_OUT)を出力する。出力信号(FF20_OUT)は、第1の実施形態の入力信号(20_IN)に相当する。入力信号(FF20_IN)は、1サイクル前の入力信号(20_IN)に相当する。
本実施形態では、バイパス制御回路32は、出力バッファ回路10,20の直前の最終段に設けられたフリップフロップ回路51,52から出力される出力信号に基づき、ゲート入力信号(BYP)の内容(“L”または“H”)を決定する。ただし、パイプライン化されている場合などでは、さらに1サイクル以上前の信号に基づき、ゲート入力信号(BYP)の内容を決定することもできる。
図15は、第2の実施形態のバイパス制御回路32の別の一部を示す回路構成図である。バイパス制御回路32は、例えば、EXNOR回路61、EXNOR回路62、EXNOR回路63、OR回路64、OR回路65、反転素子66、遅延素子67、NAND回路68、および遅延素子69を有する。
EXNOR回路61には、第1フリップフロップ回路51から出力された入力信号(FF10_OUT)と、第2フリップフロップ回路52から出力された入力信号(FF20_OUT)とが入力される。EXNOR回路61は、信号が反転関係にある場合にだけ“L”となる出力信号(N)を生成する。出力信号(N)は、第1の実施形態における出力信号(N)と同じ動きとなる。すなわち、入力信号(FF10_OUT)と入力信号(FF20_OUT)とが異なる場合、出力信号(N)は“L”となる。入力信号(FF10_OUT)と入力信号(FF20_OUT)とが一致する場合、出力信号(N)は“H”となる。EXNOR回路61の出力信号(N)は、OR回路65に入力される。
EXNOR回路62は、第1フリップフロップ回路51から出力された入力信号(FF10_OUT)と、第1フリップフロップ回路51を経由しない入力信号(FF10_IN)とが入力される。EXNOR回路62により、信号が反転関係にある場合にだけ“L”となる出力信号(I)を生成する。EXNOR回路62の出力信号(I)は、OR回路64に入力される。出力信号(I)は、あるサイクルで第1出力バッファ回路10に入力される入力信号(FF10_OUT)と、第1出力バッファ回路10に入力される入力信号(FF10_IN)とが同じ値であるか否かをEXNOR回路62で判定した結果である。入力信号(FF10_OUT)と入力信号(FF10_IN)の値が異なる場合、出力信号(I)は“L”となる。入力信号(FF10_OUT)と入力信号(FF10_IN)の値が一致する場合、出力信号(I)は“H”となる。
EXNOR回路63には、第2フリップフロップ回路52から出力された入力信号(FF20_OUT)と、第2フリップフロップ回路52を経由しない入力信号(FF20_IN)とが入力される。EXNOR回路63により、信号が反転関係にある場合にだけ“L”となる出力信号(K)を生成する。EXNOR回路63の出力信号(K)は、OR回路64に入力される。出力信号(K)は、あるサイクルで第2出力バッファ回路20に入力される入力信号(FF20_OUT)と、次のサイクルで出力バッファ回路20に入力される入力信号(FF20_IN)とが同じ値であるか否かをEXNOR回路63で判定した結果である。入力信号(FF20_OUT)と入力信号(FF20_IN)の値が異なる場合、出力信号(K)は“L”となる。入力信号(FF20_OUT)と入力信号(FF20_IN)の値が一致する場合、出力信号(K)は“H”となる。
OR回路64の出力信号(L)は、出力信号(I)と出力信号(K)の両方が“L”の場合だけ“L”となり、それ以外の場合は“H”となる。OR回路64の出力信号(L)は、OR回路65に入力される。すなわち、OR回路64の出力信号(L)は、電荷を再利用するために結合されている2つの出力バッファ回路10,20の両方に入力される入力信号が変化するときだけ“L”となり、それ以外は“H”となる。
OR回路65の出力信号(P)は、出力信号(N)と出力信号(L)の値が共に“L”の場合だけ“L”となり、それ以外の場合は“H”となる。OR回路65の出力信号(P)は、反転素子66および遅延素子67を経由して、出力信号(Q)としてNAND回路68に入力される。NAND回路68には、ゲートクロック信号(GATE_CLK)が入力される。例えば、ゲートクロック信号(GATE_CLK)は、デューティが先に調整されている。NAND回路68は、出力信号(Q)と、ゲートクロック信号(GATE_CLK)とに対してNAND演算をすることで、出力信号(R)を生成する。なお、出力信号(R)は、上記例では、ゲートクロック信号(GATE_CLK)と論理演算することで生成されているが、必要な遅延をもったパルスを生成する他の回路によって生成されてもよい。
NAND回路68の出力信号(R)は、遅延素子69によって遅延させられてゲート入力信号(BYP)となる。ゲート入力信号(BYP)は、第1の実施形態の実施例のゲート入力信号(BYP)と同じである。すなわち、ゲート入力信号(BYP)は、電荷を再利用するときだけ“L”となり、電荷を再利用しないときは“H”となるパルスである。
図16は、第2の実施形態のバイパス制御回路32の動作を示すタイミングチャートである。図16中の“I”,“K”,“L”,“N”,“P”,“Q”,“R”は、それぞれ、図15中のノードI、ノードK、ノードL、ノードN、ノードP、ノードQ、ノードRでの信号を示す。
本実施形態では、出力データを保持するフリップフロップ51,52の前後で信号の変化を検出しているが、高速化などのために出力データを保持するフリップフロップ51,52をパイプライン構成にしたり、ステージングしたり、レジスタファイルなどによるFIFOバッファなどを持つ場合には、出力バッファ回路10,20の直前のフリップフロップ回路でなくても良いし、DDR(Double Data Rate)フリップフロップ回路などで奇サイクル用と偶サイクル用のフリップフロップ回路が分かれている場合には、奇サイクル用フリップフロップ回路と偶サイクル用フリップフロップ回路の入力または出力を使ってゲート入力信号(BYP)が生成されてもよい。パイプライン化されている場合や、DDRフリップフロップ回路の奇サイクルおよび偶サイクルの少なくとも一方は、フリップフロップ回路の入力側の信号でゲート入力信号(BYP)が生成される場合、出力サイクルよりも1クロックサイクル以上早いタイミングで、電荷再利用の条件の成立の可否を判定することができるので、ゲート入力信号(BYP)の元になる信号をフリップフロップ回路で受け、フリップフロップ回路の出力をパルス生成回路に入力することでゲート入力信号(BYP)のパルスが生成されてもよい。この場合、出力よりも前のサイクルで電荷再利用の処理が確定しているので、ゲート入力信号(BYP)がタイミング上のクリティカルパスになる場合には有効である。
(第3の実施形態)
次に、第3の実施形態について説明する。第3の実施形態は、3つ以上の出力バッファ回路の間で電荷が移動する点で、第1の実施形態とは異なる。なお以下に説明する以外の構成は、第1の実施形態の構成と同様である。
図17は、第3の実施形態のメモリコントローラ100およびNAND装置200の構成を示すブロック図である。第3の実施形態では、NANDI/F160は、2つの回路ユニットCU10,CU20を含む。第1および第2の回路ユニットCU10,CU20の各々は、第1から第4の出力バッファ回路10Z,20Z,30Z,40Zと、バイパス回路70(図18参照)を含む。第1から第4の出力バッファ回路10Z,20Z,30Z,40Zの各々は、互いに異なる伝送線路Lを介してNAND装置200に接続されている。第1および第2の回路ユニットCU10,CU20は、互いに同じ構成を有する。このため以下では、第1回路ユニットCU10を代表として説明する。
図18は、第1回路ユニットCU10の構成を示す回路構成図である。第1から第4の出力バッファ回路10Z,20Z,30Z,40Zの各々は、第1の実施形態で説明した出力バッファ回路BSと同じ構成を有する。
バイパス回路70は、第1から第4の出力バッファ回路10Z,20Z,30Z,40Zを互いに接続するように設けられている。バイパス回路70は、バイパス回路71〜74と、パイパス線(バイパスバス)75とを含む。バイパス線75には、後述する第1から第4のバイパストランジスタ81〜84が電気的に並列に接続されている。
第1バイパス回路71は、第1バイパストランジスタ81と、第1バイパス制御回路91とを含む。第1バイパストランジスタ81のソースは、第1出力バッファ回路10Zの外部出力パッド2に接続されている。第1バイパストランジスタ81のドレインは、バイパス線75に接続されている。第1バイパストランジスタ81は、第1出力バッファ回路10Zの外部出力パッド2とバイパス線75との間の電気接続状態を切り替える。第1バイパス制御回路91は、第1バイパストランジスタ81の制御ゲートにゲート入力信号(BYP)を与えることで、第1バイパストランジスタ81をON状態とOFF状態との間で切り替える。
第2バイパス回路72は、第2バイパストランジスタ82と、第2バイパス制御回路92とを含む。第2バイパストランジスタ82のソースは、第2出力バッファ回路20Zの外部出力パッド2に接続されている。第2バイパストランジスタ82のドレインは、バイパス線75に接続されている。第2バイパストランジスタ82は、第2出力バッファ回路20Zの外部出力パッド2とバイパス線75との間の電気接続状態を切り替える。第2バイパス制御回路92は、第2バイパストランジスタ82の制御ゲートにゲート入力信号(BYP)を与えることで、第2バイパストランジスタ82をON状態とOFF状態との間で切り替える。
第3バイパス回路73は、第3バイパストランジスタ83と、第3バイパス制御回路93とを含む。第3バイパストランジスタ83のソースは、第3出力バッファ回路30Zの外部出力パッド2に接続されている。第3バイパストランジスタ82のドレインは、バイパス線75に接続されている。第3バイパストランジスタ82は、第3出力バッファ回路30Zの外部出力パッド2とバイパス線75との間の電気接続状態を切り替える。第3バイパス制御回路93は、第3バイパストランジスタ83の制御ゲートにゲート入力信号(BYP)を与えることで、第3バイパストランジスタ83をON状態とOFF状態との間で切り替える。
第4バイパス回路74は、第4バイパストランジスタ84と、第4バイパス制御回路94とを含む。第4バイパストランジスタ84のソースは、第4出力バッファ回路40Zの外部出力パッド2に接続されている。第4バイパストランジスタ84のドレインは、バイパス線75に接続されている。第4バイパストランジスタ84は、第4出力バッファ回路40Zの外部出力パッド2とバイパス線75との間の電気接続状態を切り替える。第4バイパス制御回路94は、第4バイパストランジスタ84の制御ゲートにゲート入力信号(BYP)を与えることで、第4バイパストランジスタ84をON状態とOFF状態との間で切り替える。
第1から第4のバイパストランジスタ81,82,83,84の各々は、「スイッチング素子」の一例である。第1から第4のバイパス制御回路91,92,93,94の各々は、例えば、第1の実施形態の第2変形例のバイパス制御回路32と同様である。すなわち、第1から第4のバイパス制御回路91,92,93,94の各々には、それぞれ、第1から第4の出力バッファ回路10Z,20Z,30Z,40Zに入力される入力信号が入力される。第1から第4のバイパス制御回路91〜94の各々は、あるサイクル(Nサイクル)での入力信号と、その1つ次のサイクル((N+1)サイクル)での入力信号とが反転関係である場合に、ゲート入力信号(BYP)として“L”を出力する。一方で、第1から第4のバイパス制御回路91〜94の各々は、あるサイクル(Nサイクル)での入力信号と、その1つ次のサイクル((N+1)サイクル)での入力信号とが反転関係でない場合に、ゲート入力信号(BYP)として“H”を出力する。
言い換えると、バイパス制御回路91は、第1出力バッファ回路10Zに入力される第1入力信号のトグルを検出する第1検出回路91aを含み、第1検出回路91aによって第1入力信号のトグルが検出された場合に、第2から第4の出力バッファ回路20Z,30Z,40Zから出力予定の信号に対する第1出力バッファ回路10Zから出力予定の信号の反転関係の状態に関わらず、バイパストランジスタ81をON状態にする。
同様に、バイパス制御回路92は、第2出力バッファ回路20Zに入力される第2入力信号のトグルを検出する第2検出回路92aを含み、第2検出回路92aによって第2入力信号のトグルが検出された場合に、第1、第3、および第4の出力バッファ回路10Z,30Z,40Zから出力予定の信号に対する第2出力バッファ回路20Zから出力予定の信号の反転関係の状態に関わらず、バイパストランジスタ82をON状態にする。
バイパス制御回路93は、第3出力バッファ回路30Zに入力される第3入力信号のトグルを検出する第3検出回路93aを含み、第3検出回路93aによって第3入力信号のトグルが検出された場合に、第1、第2、および第4の出力バッファ回路10Z,20Z,40Zから出力予定の信号に対する第3出力バッファ回路30Zから出力予定の信号の反転関係の状態に関わらず、バイパストランジスタ83をON状態にする。
バイパス制御回路94は、第4出力バッファ回路40Zに入力される第4入力信号のトグルを検出する第4検出回路94aを含み、第4検出回路94aによって第4入力信号のトグルが検出された場合に、第1から第3の出力バッファ回路10Z,20Z,30Zから出力予定の信号に対する第4出力バッファ回路40Zから出力予定の信号の反転関係の状態に関わらず、バイパストランジスタ84をON状態にする。
図19は、第1から第4の検出回路91a,92a,93a,94aの一例を示す回路構成図である。第1から第4の検出回路91a,92a,93a,94aの各々は、遅延素子95と、EXNOR回路96とを含む。遅延素子95は、入力信号を遅延させる。EXNOR回路96の第1入力端子には、遅延素子95を介さずに入力信号が入力される。EXNOR回路96の第2入力端子には、遅延素子95によって遅延させられた入力信号が入力される。EXNOR回路96の出力端子は、バイパス制御回路91,92,93,94の各々の出力端子である。
このような構成によれば、第1の実施形態と比べて、3つ以上の出力バッファ回路の間で電荷が再利用されるため、電荷を再利用できる確率が高まる。このため、消費電力のさらなる削減を図ることができる。なお第3の実施形態の作用の詳細は、後述する第4の実施形態の作用と同様である。
(第4の実施形態)
次に、第4の実施形態について説明する。第4の実施形態は、バイパス制御回路91,92,93,94がフリップフロップ回路を有した点で、第3の実施形態とは異なる。なお以下に説明する以外の構成は、第3の実施形態の構成と同様である。
図20は、第1回路ユニットCU10の構成の一部を示す回路構成図である。本実施形態では、第1出力バッファ回路10Zの入力端子1には、入力信号(FF110_OUT)が入力される。第2出力バッファ回路20Zの入力端子1には、入力信号(FF120_OUT)が入力される。第3出力バッファ回路30Zの入力端子1には、入力信号(FF130_OUT)が入力される。第4出力バッファ回路40Zの入力端子1には、入力信号(FF140_OUT)が入力される。
第1バイパストランジスタ81は、ゲート入力信号(BYP110)によって制御される。第2バイパストランジスタ82は、ゲート入力信号(BYP120)によって制御される。第3バイパストランジスタ83は、ゲート入力信号(BYP130)によって制御される。第4バイパストランジスタ84は、ゲート入力信号(BYP140)によって制御される。
図21は、第1から第4のバイパス制御回路91,92,93,94を示す回路構成図である。第1バイパス制御回路91は、例えば、フリップフロップ回路101、反転素子102、遅延素子103、NAND回路104、および遅延素子105を含む。
フリップフロップ回路101は、入力信号(FF110_IN)が入力されて、出力信号(FF110_OUT)を出力する。出力信号(FF110_OUT)は、第1の実施形態の入力信号(10_IN)に相当する。入力信号(FF110_IN)は、1サイクル前の入力信号(10_IN)に相当する。出力信号(FF110_OUT)は、フリップフロップ回路101から第1出力バッファ回路10Zの入力端子1に入力される。
NAND回路104には、反転素子102および遅延素子103を経由しない出力信号(FF110_OUT)と、反転素子102および遅延素子103を経由した出力信号(FF110_OUT)とが入力される。NAND回路104の出力信号は、遅延素子103を経由して、ゲート入力回路(BYP)として出力される。
以上、第1バイパス制御回路91の構成について説明した。第2から第4のバイパス制御回路92,93,94の構成は、第1バイパス制御回路91の構成と同じである。このため、第2から第4のバイパス制御回路92,93,94の構成は、第1バイパス制御回路91に関する説明において、「入力信号(FF110_IN)」を「入力信号(FF120_IN)」、「入力信号(FF130_IN)」、または「入力信号(FF140_IN)」と読み替え、「出力信号(FF110_OUT)」を「出力信号(FF120_OUT)」、「出力信号(FF130_OUT)」、または「出力信号(FF140_OUT)」と読み替えればよい。
本実施形態は、2信号に限らず3信号以上で電荷を再利用する構成である。ここで、第1および第2の実施形態では、ペアとなる信号の出力信号レベル“0”と“1”が逆であり、かつ、ペアとなる信号の両方が変化する場合だけバイパスが行われる。なお本明細書で「バイパス」とは、スイッチング素子(例えばバイパストランジスタ)をON状態にすることによる電荷の再利用を意味する。
一方で、3信号以上で電荷を再利用する場合、組み合わされている他の信号との値の比較(反転関係の有無の確認)を行わずにバイパスを行っても効果が低下しにくい場合がある。すなわち、自分の信号の切り替わりだけを検出する方式が採用されても、信号が全て同じ方向に切り替わる確率は、組になる信号数が多くなるほど低くなるからである。例えば、メモリシステム1000のようにデータのランダマイズ処理が行われる場合には、電荷が再利用できる可能性がより高くなる。
図20に示す例では、第1から第4の出力バッファ回路10Z,20Z,30Z,40Zのうち値が変化するものだけがバイパス線75に接続され、値が変化しないものはバイパス線75には接続されない。この図では4個の出力バッファ回路10Z,20Z,30Z,40Zがバイパス線75に接続されているが、動作周波数を満足する範囲で任意の個数の出力バッファ回路をバイパス線75に接続することができる。データをランダマイズ処理することの多いメモリシステム1000では、各出力バッファの値がランダムに“0”になったり“1”になったりするので、バイパス線75に接続する出力バッファ回路の数が増えるほど、出力バッファ回路の出力信号の変化の方向を検出しなくても電荷の再利用できる確率が高くなる。
例えば、各出力バッファ回路が2サイクルで取る値の組み合わせは、(各サイクル“0”か“1”の2通り)×(2サイクル)=4パターンである。例えば、2つの出力バッファ回路を同一のバイパス線75に接続する場合、2つの出力バッファ回路が2サイクルの間に取る値の組み合わせは、4パターン×4パターン=16パターンあり、そのうち電荷が再利用できるのは、一方(「IO1」とする)が0から1に変化(IO1(0,1)と表記、以下同様)し、他方(「IO2」とする)が“1”から“0”に変化するとき(IO2(1,0))と、IO1(1,0),IO2(0,1)の2パターンだけである。このため発生確率は、2/16=1/8=12.5%である。
4つの出力バッファ回路では、以下のように、約半分のケースで電荷を再利用することができる。電荷の再利用では、各出力バッファ回路の出力(以下「IO」と称する)の“0”と“1”に関して対称なので、最初のサイクルでMSB(最上位ビット:Most Significant Bit)が“0”のケースだけを考え、MSBが“1”のケースはビットを反転させればよい。また、ビットの入れ替えに関しても対称なので、最初のサイクルを「全IOのうち、出力が“1”であるビット数」で分類してそれぞれ1つのケースだけ考えて他のケースはビット入れ替えを行えばよい。
以上から、最初のサイクルの“1”のビット数で分類した3ケースだけ、2サイクル目の全ての出力パターン(2通り)^(4ビット)=16通りのうち何通りで電荷が再利用できるかを考える。以下、1サイクル目の4ビットのIOの状態をIO_1=(IO_1_4,IO_1_3,IO_1_2,IO_1_1)、2サイクル目の4ビットのIOの状態をIO=2(IO_2_4,IO_2_3,IO_2_2,IO_2_1)のビット列で表現する。
(A)最初のサイクルのIOの出力の“1”のビット数が0ビットの場合、IO_1=(0,0,0,0)、すなわち出力が全て“0”の場合は、2サイクル目の出力16パターン全てで電荷の再利用はできない。
(A1)IOの変化がない場合、すなわち2サイクル目のIOの出力も全て“0”の場合、IO_2=(0,0,0,0)は、出力に変化が無いので、電荷の再利用はできない。(1パターン)
(A2)IOの変化がある場合、(A1)以外の場合、“0”から“1”に変化するビットはあるが、“1”から“0”に変化するビットが無いのでゲート入力信号(BYP)で電荷を供給するビットが存在しない。よって、電荷の再利用ができない。(16パターン‐1パターン=15パターン)
すなわち、16パターン全てで電荷の再利用ができない。
(B)最初のサイクルのIOの出力の“1”のビット数が1ビットの場合、代表例としてIO_1=(0,0,0,1)を考え、2サイクル目の出力16パターン全ての場合を考える。16パターン中、7パターンで電荷の再利用ができる。
(B1)3サイクル目のIOがすべて“0”になる場合、IO_=(0,0,0,0)にするは、LSB(最下位ビット:Least Significant Bit)側のIOの0ビット目だけ出力が“1”から“0”に変化するが、“0”から他の出力に変化するビットは無いので、電荷の再利用はできない。(1パターン)
(B2)2サイクル目のIOの1ビットが“1”、残りの3ビットが“0”になる場合は、IO_2=(0,0,0,1),(0,0,1,0),(0,1,0,0),(1,0,0,0)の4通りがある。この4通りのうち、3通りで電荷の再利用ができ、1通りで再利用ができない。
2サイクル目のIOのLSBが“1”のケース、すなわち、IO_2=(0,0,0,1)は1サイクル目から変化がないので、電荷の再利用はできない。
それ以外の3つの場合、IO_2=(0,0,1,0),(0,1,0,0),(1,0,0,0)は、“0”から“1”になるIOが1ビット、“1”から“0”になるIOが1ビットあるので、電荷の再利用ができる。(3パターン)
(B3)2サイクル目のIOの2ビットが“1”、残りの2ビットが“0”になる場合は、IO_2=(0,0,1,1),(0,1,0,1),(0,1,1,0),(1,0,0,1),(1,0,1,0),(1,1,0,0)の6通りがある。この6通りのうち、3通りは電荷の再利用ができ、3通りはできない。
2サイクル目のIOのLSB“1”のケース、すなわち、IO_2=(0,0,1,1),(0,1,0,1),(1,0,0,1)は、1サイクル目から2サイクル目に“1”から“0”に変化するビットがないので、電荷の再利用はできない(3パターン)。
2サイクル目のIOのLSBが“0”のケース、すなわち、IO_2=(0,1,1,0),(1,0,1,0),(1,1,0,0)は、1サイクル目から2サイクル目に“1”から“0”に変化するビットが1つ、1サイクル目から2サイクル目に“0”から“1”に変化するビットが2つあるので、電荷の再利用ができる。(3パターン)
(B4)2サイクル目のIOの3ビットが“1”、残り1ビットが“0”になる場合は、IO_2=(0,1,1,1),(1,0,1,1),(1,1,0,1),(1,1,1,0)の4通りがある。この6通りのうち、2通りは電荷の再利用ができ、2通りはできない。
2サイクル目のIOのLSBが“1”のケース、すなわち、IO_2=(0,1,1,1),(1,0,1,1),(1,1,0,1)は、1サイクル目から2サイクル目に“”1”から“0”に変化するビットがないので、電荷の再利用はできない。(3パターン)
2サイクル目のIOのLSBが“0”のケース、すなわち、IO_2=(1,1,1,0)は、1サイクル目から2サイクル目に“1”から“0”に変化するビットが1つ、1サイクル目から2サイクル目に“0”から“1”に変化するビットが3つあるので、電荷の再利用ができる。(1パターン)
(B5)2サイクル目のIOの全てが“1”になる場合は、IO_2=(1,1,1,1)の1通りがある。1サイクル目から2サイクル目に“1”から“0”に変化するビットが無いので、電荷の再利用はできない。
(B1)から(B5)をまとめると、1+4+6+4+1=16通りのうち、電荷の再利用ができるのは、0+3+3+1+0=7パターンであり、電荷の再利用ができないのは1+1+3+3+1=9パターンである。
最初のサイクルのIOの出力の“1”のビット数が1ビットの場合の他の例としてIO_1=(0,0,1,0),(0,1,0,0),(1,0,0,0)は、ビットをローテートさせると今回考えたIO_1=(0,0,0,1)と等価であるので、電荷の再利用ができるのは、7パターン×4=28パターンあり、電荷の再利用ができないのは、9パターン×4=36パターンある。
(c)最初のサイクルのIOの出力の“1”のビット数が2ビットの場合、代表例としてIO_1=(0,0,1,1)を考え、2サイクル目の出力16パターン全ての場合を考える。16パターン中、7パターンで電荷の再利用ができる。
(C1)2サイクル目のIOが全て“0”になる場合、IO_2=(0,0,0,0)にするには、LSB側のIOの0ビット目、1ビット目の出力が“1”から“0”に変化するが、“0”から“1”に変化するビットが無いので、ゲート入力信号(BYP)で電荷を供給するビットが存在しない。従って、電荷の再利用ができない。(1パターン)
(C2)2サイクル目のIOの1ビットが“1”、残りの3ビットが“0”になる場合は、IO_2=(0,0,0,1),(0,0,1,0),(0,1,0,0),(1,0,0,0)の4通りである。この4通りのうち、2通りで電荷の再利用ができ、2通りで再利用ができない。
2サイクル目のIOであるIO_2=(0,0,0,1)と(0,0,1,0)のケースは、1サイクル目から2サイクル目に“1”から“0”に変化するビットはあるが、“0”から“1”に変化するビットがないので、電荷の再利用はできない。(2パターン)
それ以外の2つの場合、IO_2=(0,1,0,0),(1,0,0,0)は、“0”から“1”になるIOが1ビット、“1”から“0”になるIOが2ビットあるので、電荷の再利用ができる。(2パターン)
(C3)2サイクル目のIOの2ビットが“1”、残りの2ビットが“0”になる場合は、IO_2=IO_2=(0,0,1,1),(0,1,0,1),(0,1,1,0),(1,0,0,1),(1,0,1,0),(1,1,0,0)の6通りがある。この6通りのうち、5通りは電荷の再利用ができ、1通りはできない。
2サイクル目のIOがIO_2=(0,0,1,1)のケースは、1サイクル目から2サイクル目に変化するビットがないので、電荷の再利用はできない。(1パターン)
2サイクル目のIOがIO_2=(0,1,0,1),(0,1,1,0),(1,0,0,1),(1,0,1,0)は、1サイクル目から2サイクル目に“1”から“0”に変化するビットが1つ、1サイクル目から2サイクル目に“0”から“1”に変化するビットが1つあるので、電荷の再利用ができる。(4パターン)
2サイクル目のIOがIO_2=(1,1,0,0)は、1サイクル目から2サイクル目に“1”から“0”に変化するビットが2つ、1サイクル目から2サイクル目に“0”から“1”に変化するビットが2つあるので、電荷の再利用ができる。これが、最も電荷再利用の効率が良いケースである。(1パターン)
(C4)2サイクル目のIOの3ビットが“1”、残りの1ビットが“0”になる場合は、IO_2=(0,1,1,1),(1,0,1,1),(1,1,0,1),(1,1,1,0)の4通りがある。この4通りのうち、2通りは電荷の再利用ができ、2通りはできない。
2サイクル目のIOがIO_2=(0,1,1,1),(1,0,1,1)のケースは、1サイクル目から2サイクル目に“1”から“0”に変化するビットがないので、電荷の再利用はできない。(2パターン)
2サイクル目のIOがIO_2=(1,1,0,1),(1,1,1,0)は、1サイクル目から2サイクル目に“1”から“0”に変化するビットが1つ、1サイクル目から2サイクル目に“0”から“1”に変化するビットが2つあるので、電荷の再利用ができる。(2パターン)
(C5)2サイクル目のIOの全てが“1”になる場合は、IO_2=(1,1,1,1)の1通りがある。1サイクル目から2サイクル目に“1”から“0”に変化するビットが無いので、電荷の再利用はできない。(1パターン)
(C1)から(C5)をまとめると、1+4+6+4+1=16通りのうち、電荷の再利用ができるのは、0+2+5+2+0=9パターンであり、電荷の再利用ができないのは、1+2+1+2+1=7パターンある。
最初のサイクルのIOの出力の“1”のビット数が2ビットの組み合わせは、他にIO_2=(0,1,0,1),(0,1,1,0),(1,0,0,1),(1,0,1,0),(1,1,0,0)の5通りの、合計6通りある。このため、電荷が再利用できるのは、9パターン×6通り=54パターンであり、電荷が再利用できないのは7パターン×6通り=42パターンである。
(D)最初のサイクルのIOの出力の“1”のビット数が3ビットの場合は、(B)のケースのビット反転と考えられるので、電荷利用できるケースとできないケースは、(B)と同じである。64パターンのうち、電荷の再利用ができるのは28パターンであり、再利用できないのは36パターンである。
(E)最初のサイクルのIOの出力の“1”のビット数が0ビットの場合は、(A)のビット反転なので、16パターン全てで電荷の再利用ができない。
以上、(A)から(E)をまとめると、電荷の再利用ができないのは16+36+42+36+16=146パターンであり、電荷の再利用ができるのは0+28+54+28+0=110パターンであり、256パターン中の110パターンの42.3%の場合に電荷の再利用ができる。
また、1サイクル目と2サイクル目で値が変化しないため、図_で示すゲート入力信号(BYP110,BYP120,BYP130,BYP140)のいずれもがイネーブル(Enable)にならない16パターンを除外すると、256−16=240パターン中の110パターンであり、45.8%で電荷が再利用される。さらに、(A)〜(E)の検討過程で見たように、1サイクル目または2サイクル目が全て同じ値、すなわちIO_1=(0,0,0,0),(1,1,1,1)またはIO_2=(0,0,0,0),(1,1,1,1)のいずれかの場合は“0”から“1”または“1”から“0”のいずれかにしか値が変化しないことが容易にわかるし、全ビットのAND演算またはOR演算をすることで簡単に検出できる。したがって、ゲート入力信号(BYP110,BYP120,BYP130,BYP140)の生成の前に全ビットのAND演算をしたものと、全ビットのOR演算をしたものをOR演算することで、全ビットが“0”または全ビットが“”1”のパターンを除外すると(値が変化しないケースはすでに除外済みなので)、ゲート入力信号(BYP110,BYP120,BYP130,BYP140)のどれかがイネーブルになる256−16−15−15=210パターン中の110パターン、52.4%で電荷を再利用できる。
以上のように、電荷再利用の同一グループに属するIO数を2から4に増やすと、電荷再利用率が12.5%から42.3%に向上する。電荷再利用の同一グループに属するIO数を2,4,8,16ビットと増やすと、ビットの変化を検出し、変化したビットの電荷再利用をするゲート入力信号をイネーブルにする実装での電荷再利用率が高くなることがわかる。
以上、いくつかの実施形態、実施例、および変形例について説明したが、実施形態や実施例は上記例に限定されない。例えば、第3および第4の実施形態では、4つの出力バッファ回路が1つのバイパス線により接続された例を示したが、5つ以上(例えば8つや16つ)の出力バッファ回路が1つのバイパス線に接続されてもよい。上記実施形態などは、データが任意の極性やタイミングで変化する場合を説明した。しかしながら、2つの出力バッファ回路の関係が、常に反転関係(Positive/Negative、True/Complement)となる差動信号の場合は、反転確認部40Aは不要となる。さらに、2つの差動信号の変化タイミングがクロック同期の場合は、トグル検知部40Bにて入力信号を直接用いず、クロックの変化点を検知する回路としてもよい。
図22は、1つの変形例として、第1出力バッファ回路10に入力される第1入力信号と同期関係にある同期信号を受け取り、同期信号に基づいて第1入力信号のトグルを検出する検出回路DCの一例を示す。検出回路DCは、例えば、EXNOR回路108を含む。EXNOR回路108の第1入力端子には、第1出力バッファ回路10に入力される第1入力信号(10_IN)が入力される。EXNOR回路108の第2入力端子には、第1入力信号(10_IN)と同期関係のあるクロックが入力される。クロックは、「同期信号」の一例である。このような構成によれば、EXNOR回路108によって第1入力信号のトグルを検出することができる。
以上説明した少なくともひとつの実施形態によれば、半導体集積回路は、第1出力バッファ回路の第1出力ノードと第2出力バッファ回路の第2出力ノードとの間の電気接続状態を切り替えるスイッチング素子と、上記スイッチング素子を制御する制御回路とを含む。このような構成によれば、消費電力の削減を図ることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
10,10Z…第1出力バッファ回路、20,20Z…第2出力バッファ回路、30Z…第3出力バッファ回路、40Z…第4出力バッファ回路、31,81,82,83,84…バイパストランジスタ、32,91,92,93,94…バイパス制御回路。75…バイパス線。

Claims (13)

  1. メモリシステムに用いられる半導体集積回路であって、
    第1出力ノードを含む第1出力バッファ回路と、
    第2出力ノードを含む第2出力バッファ回路と、
    前記第1出力ノードと前記第2出力ノードとに電気的に接続され、前記第1出力ノードと前記第2出力ノードとの間の電気接続状態を切り替えるスイッチング素子と、
    前記スイッチング素子を制御する制御回路と、
    を備えた半導体集積回路。
  2. 前記制御回路は、前記第1出力ノードから出力予定の信号と、前記第2出力ノードから出力予定の信号との反転関係を検出する検出回路を含み、前記検出回路によって前記反転関係が検出されたことを含む条件が満たされた場合に、前記スイッチング素子をON状態にする、
    請求項1に記載の半導体集積回路。
  3. 前記検出回路は、前記第1出力バッファ回路に入力される第1入力信号と、前記第2出力バッファ回路に入力される第2入力信号とに基づき、前記反転関係を検出する、
    請求項2に記載の半導体集積回路。
  4. 前記制御回路は、前記第1出力バッファ回路に入力される第1入力信号のトグルを検出する検出回路を含み、前記検出回路によって前記第1入力信号のトグルが検出されたことを含む条件が満たされた場合に、前記スイッチング素子をON状態にする、
    請求項1に記載の半導体集積回路。
  5. 前記検出回路は、遅延素子と、判定回路とを含み、前記遅延素子を経由して前記判定回路に入力される前記第1入力信号と、前記遅延素子を経由せずに前記判定回路に入力される前記第1入力信号とに基づき、前記第1入力信号のトグルを検出する、
    請求項4に記載の半導体集積回路。
  6. 前記検出回路は、前記第1出力バッファ回路に入力される第1入力信号と同期関係にある同期信号を受け取り、前記同期信号に基づいて前記第1入力信号のトグルを検出する、
    請求項4に記載の半導体集積回路。
  7. 前記制御回路は、フリップフロップ回路を含み、
    前記検出回路は、あるサイクルでの前記第1入力信号と、前記フリップフロップ回路によって保持された前記サイクルの1つ前のサイクルでの前記第1入力信号とに基づき、前記第1入力信号のトグルを検出する、
    請求項4に記載の半導体集積回路。
  8. 前記検出回路は、前記第2出力バッファ回路に入力される第2入力信号のトグルを検出し、
    前記制御回路は、前記検出回路によって前記第1入力信号のトグルと前記第2入力信号のトグルとが検出されたことを含む条件が満たされた場合に、前記スイッチング素子をON状態にする、
    請求項4に記載の半導体集積回路。
  9. 前記検出回路は、前記第1出力ノードから出力予定の信号と、前記第2出力ノードから出力予定の信号との反転関係を検出し、
    前記制御回路は、前記検出回路によって、前記第1入力信号のトグルと、前記第2入力信号のトグルと、前記反転関係とが検出された場合に、前記スイッチング素子をON状態にする、
    請求項8に記載の半導体集積回路。
  10. 第1出力ノードを含む第1出力バッファ回路と、
    第2出力ノードを含む第2出力バッファ回路と、
    第3出力ノードを含む第3出力バッファ回路と、
    バイパス線と、
    前記第1出力ノードと前記バイパス線とに電気的に接続され、前記第1出力ノードと前記バイパス線との間の電気接続状態を切り替える第1スイッチング素子と、
    前記第2出力ノードと前記バイパス線とに電気的に接続され、前記第2出力ノードと前記バイパス線との間の電気接続状態を切り替える第2スイッチング素子と、
    前記第3出力ノードと前記バイパス線とに電気的に接続され、前記第3出力ノードと前記バイパス線との間の電気接続状態を切り替える第3スイッチング素子と、
    前記第1スイッチング素子、前記第2スイッチング素子、および前記第3スイッチング素子を制御する制御回路と、
    を備えた半導体集積回路。
  11. 前記制御回路は、前記第1出力バッファ回路に入力される第1入力信号のトグルを検出する第1検出回路を含み、前記第1検出回路によって前記第1入力信号のトグルが検出された場合に、前記第2出力ノードから出力予定の信号および前記第3出力ノードから出力予定の信号に対する前記第1出力ノードから出力予定の信号の反転関係の状態に関わらず、前記第1スイッチング素子をON状態にする、
    請求項10に記載の半導体集積回路。
  12. 前記制御回路は、前記第2出力バッファ回路に入力される第2入力信号のトグルを検出する第2検出回路を含み、前記第2検出回路によって前記第2入力信号のトグルが検出された場合に、前記第1出力ノードから出力予定の信号および前記第3出力ノードから出力予定の信号に対する前記第2出力ノードから出力予定の信号の反転関係の状態に関わらず、前記第2スイッチング素子をON状態にする、
    請求項11に記載の半導体集積回路。
  13. 乱数を生成する乱数生成部と、前記乱数生成部により生成された乱数に基づきデータを変換する演算部とを有したデータ変換部と、
    第1出力ノードを含み、前記データ変換部によって変換されたデータに基づく第1信号を出力する第1出力バッファ回路と、
    第2出力ノードを含み、前記データ変換部によって変換されたデータに基づく第2信号を出力する第2出力バッファ回路と、
    前記第1出力ノードと前記第2出力ノードとに電気的に接続され、前記第1出力ノードと前記第2出力ノードとの間の電気接続状態を切り替えるスイッチング素子と、
    前記スイッチング素子を制御する制御回路と、
    を備えたコントローラ。
JP2019190509A 2019-10-17 2019-10-17 半導体集積回路およびコントローラ Pending JP2021068930A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019190509A JP2021068930A (ja) 2019-10-17 2019-10-17 半導体集積回路およびコントローラ
US17/011,850 US11295790B2 (en) 2019-10-17 2020-09-03 Memory interface circuit and controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019190509A JP2021068930A (ja) 2019-10-17 2019-10-17 半導体集積回路およびコントローラ

Publications (1)

Publication Number Publication Date
JP2021068930A true JP2021068930A (ja) 2021-04-30

Family

ID=75492557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019190509A Pending JP2021068930A (ja) 2019-10-17 2019-10-17 半導体集積回路およびコントローラ

Country Status (2)

Country Link
US (1) US11295790B2 (ja)
JP (1) JP2021068930A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11462279B1 (en) * 2021-05-13 2022-10-04 Western Digital Technologies, Inc. Modified distribution of memory device states

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4313537B2 (ja) 2001-02-02 2009-08-12 富士通株式会社 低振幅電荷再利用型低電力cmos回路装置、加算器回路及び加算器モジュール
KR100744640B1 (ko) * 2005-11-02 2007-08-01 주식회사 하이닉스반도체 클럭 드라이버
JP2011250107A (ja) 2010-05-26 2011-12-08 Renesas Electronics Corp 負荷容量の駆動回路
KR101495334B1 (ko) 2013-04-19 2015-02-24 주식회사 맵스 입력 절연형 스위칭 소자용 게이트 드라이버
JP6499065B2 (ja) 2015-12-04 2019-04-10 東芝メモリ株式会社 乱数発生回路および半導体記憶装置
JP6542171B2 (ja) 2016-09-15 2019-07-10 東芝メモリ株式会社 ランダマイザおよび半導体記憶装置
US11044123B2 (en) * 2019-08-30 2021-06-22 Renesas Electronics America Inc. Auto-zero receiver with integrated DFE, VGA and eye monitor

Also Published As

Publication number Publication date
US11295790B2 (en) 2022-04-05
US20210118474A1 (en) 2021-04-22

Similar Documents

Publication Publication Date Title
US9891283B2 (en) Multi-bit flip-flops and scan chain circuits
US9494647B1 (en) Systems and methods involving data inversion devices, circuitry, schemes and/or related aspects
JP3557640B2 (ja) 同期回路
US7983106B2 (en) Voltage stabilization circuit and semiconductor memory apparatus using the same
WO2014146027A2 (en) Systems and methods involving data bus inversion memory circuitry, configuration and/or operation.
US8791722B2 (en) Output buffer, operating method thereof and devices including the same
US11296703B2 (en) Multiplexing latch circuit and method
US11805638B2 (en) Semiconductor device with first-in-first-out circuit
KR101906371B1 (ko) 듀티 사이클 에러 누적 회로 및 이를 포함하는 듀티 사이클 보정 회로
US20160241244A1 (en) Method and apparatus for improving a load independent buffer
US10854271B2 (en) Clock signal generator generating four-phase clock signals
JP2021068930A (ja) 半導体集積回路およびコントローラ
JP2009130441A (ja) データ保持回路
US11031056B2 (en) Clock generation circuitry for memory device to generate multi-phase clocks and output data clocks to sort and serialize output data
JP7385419B2 (ja) 半導体装置
JPH04213146A (ja) ディジタル・バスを駆動する方法および装置
CN112600547A (zh) 一种宽范围输入输出接口电路
JP5757888B2 (ja) 半導体装置
CN110875068B (zh) 存储器装置的命令在管线中计数器
JP6273308B2 (ja) 負荷に依存しないバッファを改善するための方法及び装置
JP4293018B2 (ja) 多数決回路
JP2012157062A (ja) データ保持回路
CN113659964A (zh) 多位触发器及其控制方法
KR20190128518A (ko) 복수의 클락 도메인들을 포함하는 집적 회로
JP2014168118A (ja) 半導体装置