JP2015210533A - データバス駆動回路、それを備えた半導体装置及び半導体記憶装置 - Google Patents

データバス駆動回路、それを備えた半導体装置及び半導体記憶装置 Download PDF

Info

Publication number
JP2015210533A
JP2015210533A JP2014089398A JP2014089398A JP2015210533A JP 2015210533 A JP2015210533 A JP 2015210533A JP 2014089398 A JP2014089398 A JP 2014089398A JP 2014089398 A JP2014089398 A JP 2014089398A JP 2015210533 A JP2015210533 A JP 2015210533A
Authority
JP
Japan
Prior art keywords
data
unit
logic
inversion
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014089398A
Other languages
English (en)
Other versions
JP6200370B2 (ja
Inventor
高橋 弘行
Hiroyuki Takahashi
弘行 高橋
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2014089398A priority Critical patent/JP6200370B2/ja
Priority to US14/685,471 priority patent/US9740656B2/en
Publication of JP2015210533A publication Critical patent/JP2015210533A/ja
Priority to US15/651,091 priority patent/US10140241B2/en
Application granted granted Critical
Publication of JP6200370B2 publication Critical patent/JP6200370B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/02Arrangements for writing information into, or reading information out from, a digital store with means for avoiding parasitic signals
    • 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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/107Serial-parallel conversion of data or prefetch
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Dram (AREA)
  • Memory System (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】処理性能を低下させることなく消費電力を低減することが可能なデータバス駆動回路、それを備えた半導体装置及び半導体記憶装置を提供すること。【解決手段】一実施の形態によれば、データバス駆動回路は、データDi1に対して処理を施しデータDa1を出力するECC複合化部112と、データDa1、及び、データDa1を構成する複数ビットのそれぞれの値を論理反転した反転データ、の何れかを判定結果信号r1に基づいて選択し、データバスに出力する論理反転部114と、データDi1と論理反転部114から出力されたデータDt1とを比較して、その比較結果に基づいて判定結果信号r1を出力する反転判定部113と、を備える。【選択図】図1

Description

本発明は、データバス駆動回路、それを備えた半導体装置及び半導体記憶装置に関し、例えば処理性能を低下させることなくデータバスの消費電力を低減させるのに適したデータバス駆動回路、それを備えた半導体装置及び半導体記憶装置に関する。
メモリでは、プロセス微細化及び大容量化に伴い、メモリセルに保持されるデータが不安定になってきている。そこで、近年では、信頼性を向上させるため、誤ったデータが記憶されていることを検出して正しいデータに訂正するECC(Error Check and Correct)機能を持たせたメモリが増加している。
また、単体メモリ及びメモリ内蔵LSI(Large Scale Integration)では、システムの処理能力向上のため、メモリの大容量化及びデータビット数の増加が進んでいる。そのため、データバスにて消費される電力の全体に占める割合が大きくなってきている。
このような問題に対する解決策が、特許文献1に開示されている。特許文献1に開示されたデータ記憶装置は、データ記憶処理中に電力消費が少なくなるデータパターンとなるように、メインデータ及びそのエラー訂正コードを含むデータの全構成ビットの値を論理反転するか否かを判定し、その判定結果に基づいて当該データ又はその反転データをメモリセルアレイに書き込む。データの読み出し時には、メモリセルアレイから読み出されたデータが反転データである場合には、当該反転データを再度反転させてオリジナルデータに戻す。それにより、消費電流を低減している。
その他、特許文献2には、送信データとバス信号とを比較した結果に基づいて、送信データを構成するビット列の極性を反転させるか否かを制御する構成が開示されている。
特開2005−173860号公報 特開平5−334206号公報
しかし、特許文献1に開示された構成では、ECC処理時間に加えて、データの反転判定の処理に要する時間が別途必要になるため、メモリの処理性能が低下してしまうという問題があった。メモリに限らず、データに対して処理を施すデータ処理部と、当該データ処理部により処理されたデータをデータバスに伝達する際に論理反転させる否かを判定する反転判定部と、を備えた半導体装置では、データ処理に要する時間に加えて、データの反転判定の処理に要する時間が別途必要になるため、メモリの場合と同様に処理性能が低下してしまう、という問題があった。その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、データバス駆動回路は、入力データに対して処理を施し処理データを出力するデータ処理部と、前記処理データ、及び、当該処理データを構成する複数ビットのそれぞれの値を論理反転した反転データ、の何れかを判定結果信号に基づいて選択し、データバスに出力する第1論理反転部と、前記データ処理部により処理される前の前記入力データと前記第1論理反転部から出力されたデータとを比較して、その比較結果に基づいて前記判定結果信号を出力する反転判定部と、を備える。
前記一実施の形態によれば、処理性能を低下させることなく消費電力を低減することが可能なデータバス駆動回路、それを備えた半導体装置及び半導体記憶装置を提供することができる。
実施の形態1に係る半導体装置を示すブロック図である。 図1に示す半導体装置が適用されたLSIシステムを示すブロック図である。 実施の形態2に係る半導体装置を示すブロック図である。 図3に示す半導体装置が適用されたLSIシステムを示すブロック図である。 実施の形態3に係る半導体装置を示すブロック図である。 実施の形態4に係る半導体装置を示すブロック図である。 データビット数と、全データビットのうち反転判定に用いられるデータビットの割合と、を各々設定した場合における、パワー削減効果を示す図である。 実施の形態5に係る半導体装置を示すブロック図である。 図8に示す半導体装置の動作を示すフローチャートである。 図8に示す半導体装置の動作を示すフローチャートである。 実施の形態6に係る半導体装置を示すブロック図である。 図11に示す半導体装置の動作を示すフローチャートである。 図11に示す半導体装置の動作を示すフローチャートである。 実施の形態7に係る半導体装置を示すブロック図である。 実施の形態8に係る半導体装置を示すブロック図である。 実施の形態9に係る半導体装置を示すブロック図である。
以下、図面を参照しつつ、実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として実施の形態の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
さらに、以下の実施の形態において、その構成要素(動作ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等(個数、数値、量、範囲等を含む)についても同様である。
<実施の形態1>
図1は、実施の形態1に係る半導体装置10を示すブロック図である。半導体装置10は、メモリ部からデータを読み出す場合において、ECC復号化部にて処理される前のデータを用いて、データバスに伝達するデータを反転させるか否かを判定する処理を行っている。それにより、ECC復号化部によるECC処理と、データバスに伝達するデータを反転させるか否かを判定する処理と、を並列に実行することが可能になるため、処理性能を低下させることなく消費電力を低減することができる。以下、具体的に説明する。
図1に示すように、半導体装置10は、データの書き込み及び読み出しが行われるメモリ部11と、メモリ部11とデータの受け渡しを行うロジック部12と、メモリ部11及びロジック部12間を接続するバスDBUS,RBUSと、を備える。バスDBUSは、メモリ部11から読み出されたデータ、及び、メモリ部11に書き込むデータが伝搬するバスである。バスRBUSは、後述する判定結果信号が伝搬するバスである。なお、図1には、メモリ部11のデータ読み出し動作に関連する構成要素のみが示されている。
メモリ部11は、メモリセルアレイ111と、ECC復号化部112と、反転判定部113と、論理反転部114と、を備える。メモリ部11は、例えば、DRAM、SRAM、ROM、その他の各種不揮発性メモリである。なお、ECC復号化部112と、反転判定部113と、論理反転部114と、により、データバス駆動回路が構成される。
メモリセルアレイ111は、行列状に配置された複数のメモリセルを備える。メモリセルアレイ111には、メインデータが記憶されるとともに、メインデータに基づき算出されるエラー訂正コード(例えば、ハミングコード、パリティデータ)が記憶される。
ECC復号化部112は、メモリセルアレイ111から読み出されたデータDi1に対して、エラー訂正コードDp1に基づくエラー訂正処理を施し、訂正されたデータDa1を出力する。なお、データDi1,Da1は、n(nは2以上の整数)ビット幅のデータである。エラー訂正コードDp1は、m(mは1以上の整数)ビット幅のコードである。
論理反転部114は、判定結果信号r1に基づいてデータDa1又はその反転データをデータDt1としてデータバスDBUSに出力する。データDa1の反転データとは、データDa1を構成する複数ビットのそれぞれの値を論理反転したデータのことである。なお、データDt1は、nビット幅のデータである。データバスDBUSは、nビット幅のバスである。
反転判定部113は、ECC復号化部112にて処理される前のデータDi1と、論理反転部114から出力され、データバスDBUSを伝搬する1サイクル前のデータDt1と、を比較して、その比較結果に応じた判定結果信号r1を出力する。なお、判定結果信号r1は、論理値0又は1を示す1ビット幅の信号である。
具体的には、反転判定部113は、データDi1を構成するnビットのそれぞれの値と、データDt1を構成するnビットのそれぞれの値と、を比較して、異なる論理値を示すビットの数が同じ論理値を示すビットの数よりも多い場合、論理反転部114にデータDa1を反転させてデータDt1として出力させるように判定結果信号r1を出力する。
ロジック部12は、ロジック回路121と、論理反転部124と、を備える。
論理反転部124は、メモリ部11からバスRBUSを介して伝達された判定結果信号r1に基づいて、メモリ部11からデータバスDBUSを介して伝達されたデータDt1又はその反転データをデータDo1として出力する。
ロジック回路121は、論理反転部124から出力されたデータDo1を受け取って所定の処理を実行する。
例えば、反転判定部113は、データDi1を構成するnビットのそれぞれの値と、データDt1を構成するnビットのそれぞれの値と、を比較して、異なる論理値を示すビットの数が同じ論理値を示すビットの数よりも多い場合、Hレベルの判定結果信号r1を出力し、それ以外では、Lレベルの判定結果信号r1を出力する。Hレベルの判定結果信号r1が出力された場合、論理反転部114は、データDa1を反転させてデータDt1として出力し、論理反転部124は、データDt1を再度反転させてデータDo1として出力する(データDa1を復元する)。一方、Lレベルの判定結果信号r1が出力された場合、論理反転部114は、データDa1をそのままデータDt1として出力し、論理反転部124は、データDt1をそのままデータDo1として出力する。それにより、読み出しデータの遷移に伴う、データDt1を構成するnビットのそれぞれの値の変化、を常に半分以下に抑えることができるため、消費電力を低減することができる。なお、バスRBUSは1ビットであるため、データバスDBUSのビット幅が大きくなるほど、バスRBUSの消費電力の影響は無視できるほどに小さくなる。
ここで、反転判定部113は、ECC復号化部112にて処理される前のデータDi1を用いて、論理反転部114にてデータDa1を反転させるか否かを判定している。つまり、反転判定部113は、ECC復号化部112による処理結果を待たずに、ECC復号化部112とともに並列に処理を実行している。それにより、ECC復号化部112による処理結果を待って反転判定部113にて処理が実行される場合と比較して、処理性能を低下させることなく消費電力を低減することができる。
なお、ECC復号化部112にて処理される前のデータDi1には、エラービットが含まれている可能性があるが、その頻度及びビット数は無視できる程度に非常に少ない。そのため、データDa1を反転させるか否かの判定に影響を与えることはほとんどない。
このように、半導体装置10は、データバスDBUSに伝達するデータを反転させるか否かを判定する処理を、ECC復号化部112にて処理される前のデータを用いて行っている。それにより、ECC復号化部によるECC処理と、データバスに伝達するデータを反転させるか否かを判定する処理と、を並列に実行することが可能になるため、処理性能(処理速度)を低下させることなく消費電力を低減することができる。
また、大負荷のデータバスDBUSに伝達するデータの遷移を少なくすることにより、充放電のピーク電流を削減することができるため、電源ノイズを低減することも可能である。
さらに、メモリ部11内でECC復号化部112による処理が行われるため、エラー訂正コードを伝搬するデータバスを設ける必要が無い。そのため、データバスにて消費される電力の増大を抑制することができるとともに、回路規模の増大を抑制することができる。
図2は、半導体装置10が適用されたLSIシステム1を示すブロック図である。
図2に示すように、LSIシステム1は、複数のメモリ部11と、ロジック部12と、複数のメモリ部11とロジック部12との間を接続するバスDBUS,RBUSと、を備える。つまり、LSIシステム1は、半導体装置10のうちメモリ部11を複数備えたものと等価である。
ここで、複数のメモリ部11は、大規模メモリを複数に分割して形成されたものである。複数のメモリ部11のうちデータ読み出し対象のメモリ部11のみを活性化して、残りを非活性化しておくことができるため、メモリ全体の消費電力を低減することができる。
しかしながら、大規模メモリを複数に分割した結果、複数のメモリ部11とロジック部12とを接続するデータバスDBUSが長くなり負荷容量が大きくなってしまう。そのため、データビット数が増加すると、データバスで消費される電力の割合はますます高くなる。
そこで、LSIシステム1は、半導体装置10の仕組みを適用することで、処理性能を低下させることなく消費電力を低減している。
<実施の形態2>
図3は、実施の形態2に係る半導体装置20を示すブロック図である。半導体装置20は、ロジック部からメモリ部にデータを書き込む場合において、ECC符号化部にて処理される前のデータを用いて、データバスに伝達するデータを反転させるか否かを判定する処理を行っている。それにより、ECC符号化部による処理と、データバスに伝達するデータを反転させるか否かを判定する処理と、を並列に実行することが可能になるため、処理性能を低下させることなく消費電力を低減することができる。以下、具体的に説明する。
図3に示すように、半導体装置20は、メモリ部21と、ロジック部22と、メモリ部21及びロジック部22間を接続するバスDBUS,PBUS,RBUSと、を備える。メモリ部21及びロジック部22は、それぞれメモリ部11及びロジック部12に対応する。データバスPBUSは、エラー訂正コードが伝搬するバスである。なお、図3には、メモリ部21のデータ書き込み動作に関連する構成要素のみが示されている。
ロジック部22は、ロジック回路221と、ECC符号化部222と、ラッチ部224と、反転判定部223と、論理反転部225,226と、を備える。ロジック回路221は、ロジック回路121に対応する。なお、ECC符号化部222と、ラッチ部224と、反転判定部223と、論理反転部225,226と、により、データバス駆動回路が構成される。
ロジック回路221は、メモリ部21に書き込むデータDi2を出力する。なお、データDi2は、nビット幅のデータである。
ECC符号化部222は、データDi2に基づいてエラー訂正コードDp2を算出して出力する。なお、エラー訂正コードDp2は、mビット幅のデータである。
ラッチ部224は、クロック信号に同期して動作し、ECC符号化部222が符号化処理を完了したのを受けて、データDi2を後段の論理反転部225に出力する。なお、ラッチ部224と論理反転部225とにより一つのラッチ部が形成されていてもよい。
論理反転部225は、後述する判定結果信号r2に基づいてデータDi2又はその反転データをデータDt2としてデータバスDBUSに出力する。論理反転部226は、判定結果信号r2に基づいてエラー訂正コードDp2又はその反転データをデータDpt2としてデータバスPBUSに出力する。なお、データバスPBUSは、mビット幅のバスである。
反転判定部223は、ECC符号化部222にて処理される前のデータDi2と、論理反転部225から出力され、データバスDBUSを伝搬する1サイクル前のデータDt2と、を比較して、その比較結果に応じた判定結果信号r2を出力する。なお、判定結果信号r2は、論理値0又は1を示す1ビット幅の信号である。
具体的には、反転判定部223は、データDi2を構成するnビットのそれぞれの値と、データDt2を構成するnビットのそれぞれの値と、を比較して、異なる論理値を示すビットの数が同じ論理値を示すビットの数よりも多い場合、論理反転部225にデータDi2を反転させてデータDt2として出力させるとともに、論理反転部225にエラー訂正コードDp2を反転させてデータDpt2として出力させるように、判定結果信号r2を出力する。
メモリ部21は、メモリセルアレイ211と、論理反転部215,216と、を備える。メモリセルアレイ211は、メモリセルアレイ111に対応する。
論理反転部215は、ロジック部22からバスRBUSを介して伝達された判定結果信号r2に基づいて、ロジック部22からデータバスDBUSを介して伝達されたデータDt2又はその反転データをデータDo2として出力する。
論理反転部216は、ロジック部22からバスRBUSを介して伝達された判定結果信号r2に基づいて、ロジック部22からデータバスPBUSを介して伝達されたデータDpt2又はその反転データをエラー訂正コードDp2として出力する。
論理反転部215,216から出力されたデータDo2及びエラー訂正コードDp2は、メモリセルアレイ211に書き込まれる。
例えば、反転判定部223は、データDi2を構成するnビットのそれぞれの値と、データDt2を構成するnビットのそれぞれの値と、を比較して、異なる論理値を示すビットの数が同じ論理値を示すビットの数よりも多い場合、Hレベルの判定結果信号r2を出力し、それ以外では、Lレベルの判定結果信号r2を出力する。Hレベルの判定結果信号r2が出力された場合、論理反転部225は、データDi2を反転させてデータDt2として出力し、論理反転部215は、データDt2を再度反転させてデータDo2として出力する(データDi2を復元する)。一方、Lレベルの判定結果信号r2が出力された場合、論理反転部225は、データDi2をそのままデータDt2として出力し、論理反転部215は、データDt2をそのままデータDo2として出力する。それにより、書き込みデータの遷移に伴う、データDt2を構成するnビットのそれぞれの値の変化、を常に半分以下に抑えることができるため、消費電力を低減することができる。なお、バスRBUSは1ビットであるため、データバスDBUSのビット幅が大きくなるほど、バスRBUSの消費電力の影響は無視できるほどに小さくなる。
ここで、反転判定部223は、ECC符号化部222(及びラッチ部224)にて処理される前のデータDi2を用いて、論理反転部225にてデータDi2を反転させるか否かを判定している。つまり、反転判定部223は、ECC符号化部222(及びラッチ部224)による処理結果を待たずに、ECC符号化部222(及びラッチ部224)とともに並列に処理を実行している。それにより、ECC符号化部222(及びラッチ部224)による処理結果を待って反転判定部223にて処理が実行される場合と比較して、処理性能を低下させることなく消費電力を低減することができる。
なお、反転判定部223は、ECC符号化部222にて生成されるエラー訂正コードDp2を反転させるか否かの判定を行わないが、一般的にはn>mであるため、データセット(書き込みデータ+エラー訂正コード)の反転判定における誤差は小さい。また、データDi2のビット数nが増加すると、エラー訂正コードDp2のビット数mの比率m/nは小さくなる。そのため、データDi2のビット数nが大きくなるほどデータセットの反転判定における誤差は小さくなる。つまり、より効率的に消費電力を削減することが可能になる。さらに、反転判定部223は、エラー訂正コードDp2を反転させるか否かの判定を行わず、データDi2を反転させるか否かの判定のみを行っているため、それぞれについて判定を行う場合よりも、判定処理速度を向上させることができる。
このように、半導体装置20は、データバスDBUSに伝達するデータを反転させるか否かを判定する処理を、ECC符号化部222(及びラッチ部224)にて処理される前のデータを用いて行っている。それにより、ECC符号化部222(及びラッチ部224)による処理と、データバスに伝達するデータを反転させるか否かを判定する処理と、を並列に実行することが可能になるため、処理性能(処理速度)を低下させることなく消費電力を低減することができる。
また、大負荷のデータバスDBUSに伝達するデータの遷移を少なくすることにより、充放電のピーク電流を削減することができるため、電源ノイズを低減することも可能である。
図3では、エラー訂正コードの伝搬経路上に論理反転部216,226が設けられた場合について説明したが、これに限られない。エラー訂正コードは反転判定部323による反転判定の対象外であるため、論理反転部216,226は設けられていなくてもよい。
図4は、半導体装置20が適用されたLSIシステム2を示すブロック図である。
図4に示すように、LSIシステム2は、複数のメモリ部21と、ロジック部22と、複数のメモリ部21とロジック部22との間を接続するバスDBUS,RBUSと、を備える。つまり、LSIシステム2は、半導体装置20のうちメモリ部21を複数備えたものと等価である。
ここで、複数のメモリ部21は、大規模メモリを複数に分割して形成されたものである。複数のメモリ部21のうちデータ書き込み対象のメモリ部21のみを活性化して、残りを非活性化しておくことができるため、メモリ全体の消費電力を低減することができる。
しかしながら、大規模メモリを複数に分割した結果、複数のメモリ部21とロジック部22とを接続するデータバスDBUSが長くなり負荷容量が大きくなってしまう。そのため、データビット数が増加すると、データバスで消費される電力の割合はますます高くなる。
そこで、LSIシステム2は、半導体装置20の仕組みを適用することで、処理性能を低下させることなく消費電力を低減している。
なお、ECC符号化部222は、ロジック部22内に1つ設置すれば良く、複数のメモリ部21のそれぞれに搭載される必要はない。そのため、回路規模の増大が抑制される。
続いて、半導体装置10,20の適用事例について説明する。
例えば、CPUのキャッシュメモリでは、データを読み出す動作の比率が高いので、データの読み出し動作に関連する構成に対して半導体装置10の仕組みを適用する。それにより、データの読み出し動作において、処理性能を低下させることなく消費電力を低減することができる。一方、データの書き込み動作に関連する構成については、ECC符号化部をロジック部ではなくメモリ部に設ける。それにより、データ書き込み時にエラー訂正コードが伝搬するバスPBUSを省略することが可能となる。
また、例えば、画像バッファでは、データの読み出し及び書き込みの動作比率はほぼ等しい。しかしながら、一般的にメモリには、データの書き込みによる消費電力が、データの読み出しによる消費電力よりも大きい傾向がある。そこで、画像バッファでは、データの書き込み動作に関連する構成に対して半導体装置20の仕組みを適用する。それにより、データの書き込み動作において、処理性能を低下させることなく消費電力を低減することができる。一方、データの読み出しに関連する構成については、ECC復号化部をメモリ部ではなくロジック部に設ける。それにより、メモリ部の回路面積を小さくしてコストを削減することができる。
このとき、回路面積やバス本数の削減効果はチップの設計条件によって異なるが、メモリ仕様やアプリケーション環境に合わせて高速性能化、パワー削減及びコスト削減を実現することが可能となる。
なお、DRAMの場合、定期的にリフレッシュが必要になるので、ECC復号化部及びECC符号化部の搭載は、信頼性の向上とともにセルデータの保持時間を長くする(ホールド特性を改善する)効果を持つ。これは、リフレッシュ頻度を削減するので、スタンバイ電流の削減につながる。ここで、DRAMは、メモリセル面積が小さいので、大規模メモリ構成を実現する場合に頻繁に使用される。そのため、DRAMでは、メモリの大規模化に伴う速度遅れ、リフレッシュ電流増加、データの書き込み及び読み出し時のアクティブ電流増加の問題が生じやすく、半導体装置10,20の仕組みの適用は特に有効である。
<実施の形態3>
図5は、実施の形態3に係る半導体装置30を示すブロック図である。半導体装置30は、半導体装置10,20のそれぞれの仕組みを備えている。
図5に示すように、半導体装置30は、メモリ部31と、ロジック部32と、メモリ部31及びロジック部32間を接続するバスDBUS,PBUS,RBUSと、を備える。メモリ部31及びロジック部32は、メモリ部11及びロジック部12に対応する。バスDBUS,PBUS,RBUSは、何れも、データの読み出し及び書き込みのそれぞれで共用される双方向バスである。
メモリ部31は、メモリセルアレイ311と、ECC復号化部312と、反転判定部313と、論理反転部314,315と、を備える。メモリセルアレイ311、ECC復号化部312、反転判定部313及び論理反転部314,315は、それぞれメモリセルアレイ111、ECC復号化部112、反転判定部113及び論理反転部114,215に対応する。
具体的には、メモリ部31は、メモリ部11と比較して、データバスDBUSを介して供給される書き込みデータをメモリセルアレイ311に伝達する信号経路と、当該信号経路上に設けられた論理反転部315と、データバスPBUSを介して供給されるエラー訂正コードをメモリセルアレイ311に伝達する信号経路と、をさらに備える。メモリ部31のその他の構成については、メモリ部11と同様であるため、その説明を省略する。
ロジック部32は、ロジック回路321と、ECC符号化部322と、ラッチ部326と、反転判定部323と、論理反転部324,325と、を備える。ロジック回路321、ECC符号化部322、ラッチ部326、反転判定部323及び論理反転部324,325は、それぞれロジック回路221、ECC符号化部222、ラッチ部224、反転判定部223及び論理反転部124,225に対応する。
具体的には、ロジック部32は、ロジック部22と比較して、データバスDBUSを介して供給される読み出しデータをロジック回路321に伝達する信号経路と、当該信号経路上に設けられた論理反転部324と、をさらに備える。ロジック部32のその他の構成については、ロジック部22と同様であるため、その説明を省略する。
半導体装置30は、半導体装置10,20のそれぞれと同等の効果を奏することができる。さらに、半導体装置30では、データバスがデータの読み出し及び書き込みのそれぞれで共用されている。そのため、バス本数を削減することが可能である。
<実施の形態4>
図6は、実施の形態4に係る半導体装置40を示すブロック図である。半導体装置40は、半導体装置10,20等を上位概念化した図である。
図6に示すように、半導体装置40は、送信部41と、受信部42と、送信部41及び受信部42間を接続するバスDBUS,RBUSと、を備える。送信部41は、処理回路(データ処理部)411と、論理反転部(第1論理反転部)414と、反転判定部413と、を備える。受信部42は、論理反転部(第2論理反転部)424を備える。例えば、処理回路412、反転判定部413及び論理反転部414,424は、それぞれ、図1におけるECC復号化部112、反転判定部113及び論理反転部114,124である。
処理回路412は、入力データセットDiに対して処理を施しデータDaを出力する。論理反転部414は、判定結果信号rに基づいてデータDa又はその反転データをデータDtとしてデータバスDBUSに出力する。論理反転部424は、判定結果信号rに基づいてデータバスDBUSを介して伝達されたデータDt又はその反転データをデータDoとして出力する。
反転判定部413は、処理回路412により処理される前のデータDij(データDiの一部又は全部)と、論理反転部414から出力され、データバスDBUSを伝搬する1サイクル前のデータDtj(データDtの一部又は全部)と、を比較して、その比較結果に応じた判定結果信号rを出力する。
例えば、反転判定部413は、データDijを構成するnビットのそれぞれの値と、データDtjを構成するnビットのそれぞれの値と、を比較して、異なる論理値を示すビットの数が同じ論理値を示すビットの数よりも多い場合、Hレベルの判定結果信号rを出力し、それ以外では、Lレベルの判定結果信号rを出力する。Hレベルの判定結果信号rが出力された場合、論理反転部414は、データDaを反転させてデータDtとして出力し、論理反転部424は、データDtを再度反転させてデータDoとして出力する(データDaを復元する)。一方、Lレベルの判定結果信号rが出力された場合、論理反転部414は、データDiをそのままデータDtとして出力し、論理反転部424は、データDtをそのままデータDoとして出力する。それにより、送信するデータの遷移に伴う、データDtを構成するnビットのそれぞれの値の変化、を常に半分以下に抑えることができるため、消費電力を低減することができる。なお、バスRBUSは1ビットであるため、データバスDBUSのビット幅が大きくなるほど、バスRBUSの消費電力は無視できるほどに小さくなる。
ここで、反転判定部413は、処理回路412にて処理される前のデータDijを用いて、論理反転部414にてデータDaを反転させるか否かを判定している。つまり、反転判定部43は、処理回路412による処理結果を待たずに、処理回路412とともに並列に処理を実行している。それにより、処理回路412による処理結果を待って反転判定部413にて処理が実行される場合と比較して、処理性能を低下させることなく消費電力を低減することができる。
なお、処理回路412にて処理される前のデータDiには、処理された後のデータDaと完全に一致しない可能性があるが、その頻度及びビット数が少なければ、データDaを反転させるか否かの判定に与える影響は少ない。
図7は、データビット数と、処理回路412の処理前後のデータ間で一致するビット数の割合と、を各々設定した場合における、パワー削減効果を示す図である。例えば、処理回路412の処理前後のデータの誤差が小さいほど、処理回路412の処理前後のデータ間で一致するビット数の割合は大きくなる。一方、処理回路412の処理前後のデータの誤差が大きいほど、処理回路412の処理前後のデータ間で一致するビット数の割合は小さくなる。なお、本例では、論理反転処理が全く行われない場合におけるデータバスの消費電力を100%として、各条件でのデータバスの消費電力の割合(%)、が示されている。
図7に示すように、データビット数が多くなるほど、データバスの消費電力は低減している(パワー削減効果は向上している)。また、処理回路412の処理前後のデータ間で一致するビット数の割合が大きい(即ち、処理回路412の処理前後のデータの誤差が小さい)ほど、データバスの消費電力は低減している。
例えば、反転判定部413にて消費される電力が10〜15%程度であると仮定すると、データバスDBUSの消費電力は85%以下であることが好ましい。また、データビット数は8ビット以上が現実的である。これらを考慮すると、処理回路412の処理前後のデータ間で一致するビット数の割合が50%以上でパワー削減効果を得られることがわかる。具体的には、ECC復号化部112の処理前後のデータの誤差が50%以下でパワー削減効果を得られることがわかる。
このように、半導体装置40は、処理回路412の処理結果を待たずに、処理回路412にて処理される前のデータを用いて、反転判定部413による反転判定処理を行っている。それにより、処理回路412による処理と、反転判定部413による処理と、を並列に実行することが可能になるため、処理性能(処理速度)を低下させることなく消費電力を低減することができる。
半導体装置40をより具体的に示したものが半導体装置10,20であるが、それ以外の具体的な構成例についても以降の実施形態で説明する。
<実施の形態5>
図8は、実施の形態5に係る半導体装置50を示すブロック図である。半導体装置50は、半導体装置40の具体的構成の一つを示したものである。
図8に示すように、半導体装置50は、バースト処理部51と、ロジック部52と、バースト処理部51及びロジック部52間を接続するバスDBUS,RBUSと、を備える。
バースト処理部51は、パラレルシリアル変換部(以下、パラシリ変換部と称す)512と、反転判定部513と、論理反転部514と、を備える。
パラシリ変換部512は、n×8ビットのパラレルデータDi5を、nビットのシリアルデータDa5に変換する。パラレルデータDi5は、nビットのバーストデータDi50〜Di57により構成される。シリアルデータDa5は、nビットのバーストデータDa50〜Da57がシリアル形式に連なって構成される。
論理反転部514は、反転判定部513からの判定結果信号r5に基づいてシリアルデータDa5又はその反転データをデータDt5としてデータバスDBUSに出力する。
反転判定部513は、パラシリ変換部512により処理される前のパラレルデータDi5の一部(例えば、バーストデータDi50)と、論理反転部514から出力され、データバスDBUSを伝搬するバーストデータ(例えば、ひとつ前のシリアルデータDt5の最後のバーストデータDt57)と、を比較して、その比較結果に応じた判定結果信号r5を出力する。なお、判定結果信号r5は、論理値0又は1を示す1ビット幅の信号である。また、判定結果信号r5は、バーストデータDa50〜Da57に対応する判定結果信号r50〜r57がシリアル形式に連なって構成される。
ロジック部52は、論理反転部524を備える。論理反転部524は、バースト処理部51からデータバスRBUSを介して伝達された判定結果信号r5に基づいて、バースト処理部51からデータバスDBUSを介して伝達されたデータDt5又はその反転データをデータDo5として出力する。
図9は、半導体装置50の動作を示すタイミングチャートである。
図9に示すように、パラシリ変換部512は、パラレルデータDi5が入力されると、当該パラレルデータDi5をシリアルデータDa5に変換する処理を行う。また、反転判定部513は、パラシリ変換部512とともに並列に処理を実行する。
具体的には、反転判定部513は、パラシリ変換部512により処理される前のパラレルデータDi5のうちバーストデータDi50と、データバスDBUSを伝搬する1サイクル前のバーストデータDa57と、を比較する。そして、その比較結果に応じた判定結果信号r50を出力する。
論理反転部514は、判定結果信号r50に基づいて、パラシリ変換部512から出力されているバーストデータDa50又はその反転データを、データDt50としてデータバスDBUSに出力する。
パラシリ変換部512がバーストデータDa50を出力している間、反転判定部513は、パラレルデータDi5のうちバーストデータDi51と、データバスDBUSを伝搬する1サイクル前のバーストデータDt50と、を比較する。そして、その比較結果に応じた判定結果信号r51を出力する。
パラシリ変換部512が次のバーストデータDa51を出力し始めると、論理反転部514は、判定結果信号r51に基づいて、パラシリ変換部512から出力されているバーストデータDa51又はその反転データを、データDt51としてデータバスDBUSに出力する。
パラシリ変換部512がバーストデータDa51を出力している間、反転判定部513は、パラレルデータDi5のうちバーストデータDi52と、データバスDBUSを伝搬する1サイクル前のバーストデータDt51と、を比較する。そして、その比較結果に応じた判定結果信号r52を出力する。
パラシリ変換部512が次のバーストデータDa52を出力し始めると、論理反転部514は、判定結果信号r52に基づいて、パラシリ変換部512から出力されているバーストデータDa52又はその反転データを、データDt52としてデータバスDBUSに出力する。このような反転判定の処理が各バーストデータについて行われる。
ここで、反転判定部513は、パラシリ変換部512にて処理される前のパラレルデータDi5を用いて、論理反転部514にてシリアルデータDa5を反転させるか否かを判定している。つまり、反転判定部513は、パラシリ変換部512による処理結果を待たずに、パラシリ変換部512とともに並列に処理を実行している。それにより、パラシリ変換部512による処理結果を待って反転判定部513にて処理が実行される場合と比較して、処理性能を低下させることなく消費電力を低減することができる。
なお、図10に示すように、反転判定部513によるバーストデータDa50の反転判定の処理が、パラシリ変換部512による変換処理の完了に間に合わない場合がある。その場合には、バーストデータDa50の反転判定は省略される。この場合、本例では1/8の反転判定の誤差が生じるが、バーストデータの数が多くなるほど反転判定の誤差は小さくなる。
このように、半導体装置50は、パラシリ変換部512の処理結果を待たずに、パラシリ変換部512にて処理される前のデータを用いて、反転判定部513による反転判定処理を行っている。それにより、パラシリ変換部512による変換処理と、反転判定部513による処理と、を並列に実行することが可能になるため、処理性能(処理速度)低下させることなく消費電力を低減することができる。
<実施の形態6>
図11は、実施の形態6に係る半導体装置60を示すブロック図である。半導体装置60は、半導体装置40の具体的構成の一つを示したものである。
図11に示すように、半導体装置60は、バースト処理部61と、ロジック部62と、バースト処理部61及びロジック部62間を接続するバスDBUS,RBUSと、を備える。なお、データバスDBUSは、8本のnビットのデータバスDBUS0〜DBUS7により構成される。データバスRBUSは、8本の1ビットのデータバスRBUS0〜RBUS7により構成される。
バースト処理部61は、シリアルパラレル変換部(以下、シリパラ変換部と称す)612と、反転判定部613と、8個の論理反転回路6140〜6147からなる論理反転部614と、を備える。
シリパラ変換部612は、nビットのシリアルデータDi6を、n×8ビットのパラレルデータDa6に変換する。シリアルデータDi6は、nビットのバーストデータDi60〜Di67がシリアル形式に連なって構成される。パラレルデータDa6は、nビットのデータDa60〜Da67により構成される。
論理反転部614は、反転判定部613からの判定結果信号r6に基づいて、パラレルデータDa6又はその反転データを、データDt6としてデータバスDBUSに出力する。より具体的には、論理反転回路6140〜6147は、それぞれ、判定結果信号r60〜r67に基づいて、データDa60〜Da67又はそれらの反転データを、データDt60〜Dt67としてデータバスDBUS0〜DBUS7に出力する。
反転判定部613は、シリパラ変換部612により処理される前のシリアルデータDi6の一部(例えば、バーストデータDi60)と、論理反転部614から出力され、データバスDBUSを伝搬するパラレルデータの一部(例えば、ひとつ前のパラレルデータDt6の一部であるバーストデータDt60)と、を比較して、その比較結果に応じた判定結果信号r6を出力する。なお、判定結果信号r6は、1ビットの判定結果信号r60〜r67により構成される。
ロジック部62は、8個の論理反転回路6240〜6247からなる論理反転部624を備える。論理反転部624は、バースト処理部61からデータバスRBUSを介して伝達された判定結果信号r6に基づいて、バースト処理部61からデータバスDBUSを介して伝達されたパラレルデータDt6又はその反転データをパラレルデータDo6として出力する。
図12は、半導体装置60の動作を示すタイミングチャートである。
図12に示すように、シリパラ変換部612は、シリアルデータDi6を構成するバーストデータDi60〜Di67が全て入力されると、当該シリアルデータDi6をパラレルデータDa6に変換する処理を行う。また、反転判定部613は、シリパラ変換部612とともに並列に処理を実行する。
具体的には、反転判定部613は、シリパラ変換部612により処理される前のシリアルデータDi6のうちバーストデータDi60と、データバスDBUS0を伝搬するバーストデータDt60と、を比較する。そして、その比較結果に応じた判定結果信号r60を出力する。
同様にして、反転判定部613は、シリパラ変換部612により処理される前のシリアルデータDi6のうちバーストデータDi61〜Di67と、データバスDBUS1〜DBUS7を伝搬するバーストデータDt61〜Dt67と、をそれぞれ比較する。そして、それらの比較結果に応じた判定結果信号r61〜r67を出力する。
論理反転部614を構成する論理反転回路6140〜6147は、それぞれ、判定結果信号r60〜r67に基づいて、シリパラ変換部612から出力されているバーストデータDa60〜Da67又はそれらの反転データを、バーストデータDt60〜Dt67(即ち、パラレルデータDt6)としてデータバスDBUS0〜DBUS7に出力する。
ここで、反転判定部613は、シリパラ変換部612にて処理される前のシリアルデータDi6を用いて、論理反転部614にてパラレルデータDa6を反転させるか否かを判定している。つまり、反転判定部613は、シリパラ変換部612による処理結果を待たずに、シリパラ変換部612とともに並列に処理を実行している。それにより、シリパラ変換部612による処理結果を待って反転判定部613にて処理が実行される場合と比較して、処理性能を低下させることなく消費電力を低減することができる。
なお、図13に示すように、反転判定部613は、バーストデータDi60〜Di67が一つ入力される毎に、バーストデータDa60〜Da67の対応する一つの反転判定の処理を実行することが可能である。しかしながら、反転判定部613による最後のバーストデータDa67の反転判定の処理が、シリパラ変換部612による変換処理の完了に間に合わない場合がある。その場合には、バーストデータDa67の反転判定は省略される。この場合、本例では1/8の反転判定の誤差が生じるが、バーストデータの数が多くなるほど反転判定の誤差は小さくなる。
このように、半導体装置60は、シリパラ変換部612の処理結果を待たずに、シリパラ変換部612にて処理される前のデータを用いて、反転判定部613による反転判定処理を行っている。それにより、シリパラ変換部612による変換処理と、反転判定部613による処理と、を並列に実行することが可能になるため、処理性能(処理速度)を低下させることなく消費電力を低減することができる。
<実施の形態7>
図14は、実施の形態7に係る半導体装置70を示すブロック図である。半導体装置70は、半導体装置40の具体的構成の一つを示したものである。
図14に示すように、半導体装置70は、メモリ部71と、ロジック部72と、メモリ部71及びロジック部72間を接続するバスDBUS,FBUS,RBUSと、を備える。なお、データバスFBUSは、反転フラグ信号が伝搬する1ビット幅のバスである。
ロジック部72は、ロジック回路721と、記憶データ判定部722と、反転判定部723と、論理反転部725,726と、を備える。ロジック回路721、反転判定部723及び論理反転部725,726は、それぞれ、ロジック回路221、反転判定部223及び論理反転部225,226に対応する。
ロジック回路721は、メモリ部71に書き込むデータDi7を出力する。記憶データ判定部722は、データDi7を反転してメモリ部71に書き込むか否かを判定し、その判定結果に基づき反転フラグ信号Df7及び書き込みデータDi7を同期出力する。論理反転部725は、判定結果信号r7に基づいてデータDi7又はその反転データをデータDt7としてデータバスDBUSに出力する。論理反転部726は、判定結果信号r7に基づいて反転フラグ信号Df7又はその反転データを反転フラグ信号Dft7としてデータバスFBUSに出力する。
例えば、記憶データ判定部722は、メモリ部71に書き込むためのデータDi7を構成する複数ビットのうち、論理値1を示すビットの数が論理値0を示すビットの数より多い場合、反転フラグ信号をHレベルにし(立ち上げ)、それ以外では、反転フラグ信号をLレベルにする。
反転判定部723は、記憶データ判定部722にて処理される前のデータDi7と、論理反転部725から出力され、データバスDBUSを伝搬する1サイクル前のデータDt7と、を比較して、その比較結果に応じた判定結果信号r7を出力する。
メモリ部71は、メモリセルアレイ711と、論理反転部715〜717と、を備える。メモリセルアレイ711及び論理反転部715,716は、それぞれ、メモリセルアレイ211及び論理反転部215,216に対応する。以下では、メモリセルアレイ711に記憶されるデータのうち、論理値1を示すデータの方が、論理値0を示すデータよりも、データ保持に必要な消費電流が大きい、又は、データ保持性能が低い場合について説明する。
論理反転部715は、ロジック部72からバスRBUSを介して伝達された判定結果信号r7に基づいて、ロジック部72からデータバスDBUSを介して伝達されたデータDt7又はその反転データをデータDo7として出力する。
論理反転部716は、ロジック部72からバスRBUSを介して伝達された判定結果信号r7に基づいて、ロジック部72からデータバスFBUSを介して伝達された反転フラグ信号Dft7又はその反転データを反転フラグ信号Df7として出力する。
そして、論理反転部717は、この反転フラグ信号Df7に基づいてデータDo7又はその反転データを出力する。論理反転部716,718からそれぞれ出力された反転フラグ信号Df7及びデータDo7は、メモリセルアレイ711に書き込まれる。
それにより、メモリセルアレイ711に書き込まれるデータDo7を構成する複数ビットのうち、論理値1を示すビットの数を半分以下に抑えることができる。それにより、消費電流を低減するとともに、データ保持性能を向上させることができる。
ここで、反転判定部723は、記憶データ判定部722にて処理される前のデータDi7を用いて、論理反転部725にてデータDi7を反転させるか否かを判定している。つまり、反転判定部723は、記憶データ判定部722による処理結果を待たずに、記憶データ判定部722とともに並列に処理を実行している。それにより、記憶データ判定部722による処理結果を待って反転判定部723にて処理が実行される場合と比較して、処理性能を低下させることなく消費電力を低減することができる。
本実施の形態では、メモリセルアレイ711に記憶されるデータのうち、論理値1を示すデータの方が、論理値0を示すデータよりも、データ保持に必要な消費電流が大きい、又は、データ保持性能自体が低い場合について説明したが、これに限られない。メモリセルアレイ711に記憶されるデータのうち、論理値0を示すデータの方が、論理値1を示すデータよりも、データ保持に必要な消費電流が大きい、又は、データ保持性能自体が低い場合も考えられる。いずれにしても、メモリセルアレイ711に記憶されるデータのうち、データ保持に必要な消費電流が大きい、又は、データ保持性能が低い論理値を示すデータのビット数が半分以下となるように反転処理を施せばよい。
<実施の形態8>
図15は、実施の形態8に係る半導体装置80を示すブロック図である。半導体装置80は、半導体装置40の具体的構成の一つを示したものである。
図15に示すように、半導体装置80は、ノイズ処理部81と、ロジック部82と、ノイズ処理部81及びロジック部82間を接続するバスDBUS,RBUSと、を備える。ノイズ処理部81及びロジック部82は、それぞれ送信部41及び受信部42に対応する。
ノイズ処理部81は、ノイズフィルタ812と、反転判定部813と、論理反転部814と、を備える。ロジック部82は、論理反転部824を備える。ノイズフィルタ812、反転判定部813、論理反転部814及び論理反転部814は、それぞれ処理回路412、反転判定部413、論理反転部414及び論理反転部424に対応する。
つまり、半導体装置80は、半導体装置40のうち処理回路412をノイズフィルタ811に置き換えたものである。半導体装置80のその他の構成については、半導体装置40と同様であるため、その説明を省略する。
ここで、反転判定部813は、ノイズフィルタ812にて処理される前のデータDi8を用いて、論理反転部814にてデータDa8を反転させるか否かを判定している。つまり、反転判定部813は、ノイズフィルタ812による処理結果を待たずに、ノイズフィルタ812とともに並列に処理を実行している。それにより、ノイズフィルタ812にて処理される前のデータDi8を用いた反転判定の誤差が小さければ、ノイズフィルタ812による処理結果を待って反転判定部813にて処理が実行される場合と比較して、処理性能を低下させることなく消費電力を低減することができる。
<実施の形態9>
図16は、実施の形態9に係る半導体装置90を示すブロック図である。半導体装置90は、半導体装置40の具体的構成の一つを示したものである。
図16に示すように、半導体装置90は、仕様変換部91と、ロジック部92と、仕様変換部91及びロジック部92間を接続するバスDBUS,RBUSと、を備える。仕様変換部91及びロジック部92は、それぞれ送信部41及び受信部42に対応する。
仕様変換部91は、ロジック信号の仕様を変換して出力する部である。本例では、データの電圧振幅を変換して出力する場合を例に説明するが、これに限られず、長配線伝送系における終端処理方法の変更、差動信号化、多値論理信号化等の仕様変更が行われてもよい。
仕様変換部91は、データDi9の電圧振幅を変更してデータDa9として出力するレベルシフタ912と、反転判定部813と、論理反転部914と、論理反転部914の出力をレベルシフタ912による変換前の電圧振幅に戻すレベルシフタ915と、を備える。レベルシフタ912、反転判定部913及び論理反転部914は、それぞれ処理回路412、反転判定部413及び論理反転部414に対応する。
反転判定部913は、レベルシフタ912にて処理される前のデータDi9と、論理反転部914から出力され、データバスDBUSを伝搬する1サイクル前のデータDt9をレベルシフタ915にて変換前の電圧振幅に戻したものと、を比較して、その比較結果に応じた判定結果信号r9を出力する。
つまり、半導体装置90は、半導体装置40のうち処理回路412をレベルシフタ912に置き換え、かつ、論理反転部914の出力を変換前の電圧振幅に戻すレベルシフタ915を追加したものである。半導体装置90のその他の構成については、半導体装置40と同様であるため、その説明を省略する。
ここで、反転判定部913は、レベルシフタ912にて処理される前のデータDi9を用いて、論理反転部914にてデータデータDa9を反転させるか否かを判定している。つまり、反転判定部913は、レベルシフタ912による処理結果を待たずに、レベルシフタ912とともに並列に処理を実行している。それにより、レベルシフタ912による処理結果を待って反転判定部913にて処理が実行される場合と比較して、処理性能を低下させることなく消費電力を低減することができる。
なお、上記したように、反転判定部913に入力されるデータDt9は、レベルシフタ915を用いて変換前の電圧振幅に戻される必要があるが、レベルシフタ915の処理は前サイクルに連動したデータ処理なので遅延を生むことはない。
以上のように、上記実施の形態1〜9に半導体装置は、ECC複合化部などの処理回路の処理結果を待たずに、処理回路にて処理される前のデータを用いて、データバスに伝達するデータを反転させるか否かを判定する処理を行っている。それにより、処理回路による処理と、データバスに伝達するデータを反転させるか否かを判定する処理と、を並列に実行することが可能になるため、処理性能(処理速度)を低下させることなく消費電力を低減することができる。
なお、メモリセルアレイを搭載した半導体チップと、ロジック機能を有するシステムLSIと、の間のデータバスに対しても、上記実施の形態に係る半導体装置の構成を適用することが可能である。この場合、データビット当たりの消費電流が大きいので、ビット当たりの電流削減効果は大きくなる。さらに、TSVなどの積層チップ間での接続技術部分に適応することも可能である。この場合、データビット幅が大きくできるので、電流削減効果はさらに大きくなる。このように、複数チップで構成されるモジュールもしくはシステム設計における電流削減にも展開応用する事が可能である。
例えば、上記の実施の形態に係る半導体装置では、半導体基板、半導体層、拡散層(拡散領域)などの導電型(p型もしくはn型)を反転させた構成としてもよい。そのため、n型、及びp型の一方の導電型を第1の導電型とし、他方の導電型を第2の導電型とした場合、第1の導電型をp型、第2の導電型をn型とすることもできるし、反対に第1の導電型をn型、第2の導電型をp型とすることもできる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
1,2 LSIシステム
10,20,30,40,50,60,70,80,90 半導体装置
11,21,31,71 メモリ部
12,22,32,72 ロジック部
111,211,311,711 メモリセルアレイ
112,312 ECC復号化部
113,223,313,323 反転判定部
114,124 論理反転部
121,221,321 ロジック回路
215,216,225,226 論理反転部
222,322 ECC符号化部
224,326 ラッチ部
314,315,324,325 論理反転部
41 送信部
42 受信部
412 処理回路
413 反転判定部
414,424 論理反転部
51 バースト処理部
52 ロジック部
512 パラシリ変換部
513 反転判定部
514,524 論理反転部
61 バースト処理部
62 ロジック部
612 シリパラ変換部
613 反転判定部
614,624 論理反転部
6140〜6147,6240〜6247 論理反転回路
715〜717,725,726 論理反転部
721 ロジック回路
722 記憶データ判定部
723 反転判定部
81 ノイズ処理部
82 ロジック部
812 ノイズフィルタ
813 反転判定部
814,824 論理反転部
91 仕様変更部
92 ロジック部
912,915 レベルシフタ
913 反転判定部
914,924 論理反転部
DBUS,PBUS,RBUS データバス
DBUS0〜DBUS7 データバス
RBUS0〜RBUS7 データバス

Claims (14)

  1. 入力データに対して処理を施し処理データを出力するデータ処理部と、
    前記処理データ、及び、当該処理データを構成する複数ビットのそれぞれの値を論理反転した反転データ、の何れかを判定結果信号に基づいて選択し、データバスに出力する第1論理反転部と、
    前記データ処理部により処理される前の前記入力データと前記第1論理反転部から出力されたデータとを比較して、その比較結果に基づいて前記判定結果信号を出力する反転判定部と、を備えた、データバス駆動回路。
  2. 前記反転判定部は、前記入力データを構成する複数ビットのそれぞれの値と、前記第1論理反転部から出力されたデータを構成する複数ビットのそれぞれの値と、を比較した結果、異なる論理値を示すビット数が同じ論理値を示すビット数より多い場合には、前記第1論理反転部から前記反転データを出力させるように前記判定結果信号を出力する、請求項1に記載のデータバス駆動回路。
  3. 前記反転判定部は、異なる論理値を示すビット数が同じ論理値を示すビット数以下である場合には、前記第1論理反転部から前記処理データをそのまま出力させるように前記判定結果信号を出力する、請求項2に記載のデータバス駆動回路。
  4. 請求項1に記載のデータバス駆動回路と、
    前記データバスを介して伝達された前記反転データを前記判定結果信号に基づいて再度反転することで前記処理データを復元する第2論理反転部と、を備えた、請求項1に記載の半導体装置。
  5. 前記データ処理部は、ECC復号化部であって、メモリセルアレイから読み出された前記入力データに対して、エラー訂正コードに基づくエラー訂正処理を施し、訂正された前記入力データを前記処理データとして出力する、請求項1に記載のデータバス駆動回路。
  6. 前記メモリセルアレイと、
    請求項5に記載のデータバス駆動回路と、を備えた、半導体記憶装置。
  7. 請求項6に記載の半導体記憶装置と、
    ロジック部と、
    前記半導体記憶装置と前記ロジック部とを接続する前記データバスと、を備え、
    前記ロジック部は、
    前記データバスを介して伝達された前記反転データを前記判定結果信号に基づいて再度反転することで前記処理データを復元する第2論理反転部と、
    前記処理データを受け取り所定の処理を実行するロジック回路と、を有する、半導体装置。
  8. メモリセルアレイと、
    前記メモリセルアレイから読み出されたデータに対して、エラー訂正コードに基づくエラー訂正処理を施し、訂正された前記データを出力するECC復号化部と、
    前記訂正されたデータ、及び、当該訂正されたデータを構成する複数ビットのそれぞれの値を論理反転した反転データ、の何れかを判定結果信号に基づいて選択し、データバスに出力する第1論理反転部と、
    訂正される前の前記データと、前記第1論理反転部から出力されたデータと、を比較して、その比較結果に基づいて前記判定結果信号を出力する反転判定部と、を備えた、半導体記憶装置。
  9. 請求項8に記載の半導体記憶装置と、
    ロジック部と、
    前記半導体記憶装置と前記ロジック部とを接続する前記データバスと、を備え、
    前記ロジック部は、
    前記データバスを介して伝達された前記反転データを前記判定結果信号に基づいて再度反転することで前記訂正されたデータを復元する第2論理反転部と、
    前記訂正されたデータを受け取り所定の処理を実行するロジック回路と、を有する、半導体装置。
  10. 前記データ処理部は、パラレルデータである前記入力データをシリアルデータである前記処理データに変換するパラレルシリアル変換部である、請求項1に記載のデータバス駆動回路。
  11. 前記データ処理部は、シリアルデータである前記入力データをパラレルデータである前記処理データに変換するシリアルパラレル変換部である、請求項1に記載のデータバス駆動回路。
  12. 前記データ処理部は、記憶データ判定部であって、メモリセルアレイに書き込むための前記入力データを前記処理データとして出力するとともに、前記入力データを構成する複数ビットのうち論理値1を示すビットの数が論理値0を示すビットの数よりも多い場合に前記処理データを反転させるための反転フラグ信号を出力する、請求項1に記載のデータバス駆動回路。
  13. 前記データ処理部は、ノイズフィルタである、請求項1に記載のデータバス駆動回路。
  14. 前記データ処理部は、前記入力データの電圧振幅を変換して前記処理データとして出力する第1レベルシフタであって、
    前記第1論理反転部から出力されたデータの電圧振幅を前記データ処理部にて変換される前の電圧振幅に戻す第2レベルシフタをさらに備え、
    前記反転判定部は、前記データ処理部により処理される前の前記入力データと、前記第2レベルシフタの出力データと、を比較して、その比較結果に基づいて前記判定結果信号を出力する、請求項1に記載のデータバス駆動回路。
JP2014089398A 2014-04-23 2014-04-23 データバス駆動回路、それを備えた半導体装置及び半導体記憶装置 Active JP6200370B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014089398A JP6200370B2 (ja) 2014-04-23 2014-04-23 データバス駆動回路、それを備えた半導体装置及び半導体記憶装置
US14/685,471 US9740656B2 (en) 2014-04-23 2015-04-13 Data bus driving circuit, and semiconductor device and semiconductor memory device including the same
US15/651,091 US10140241B2 (en) 2014-04-23 2017-07-17 Data bus driving circuit, and semiconductor device and semiconductor memory device including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014089398A JP6200370B2 (ja) 2014-04-23 2014-04-23 データバス駆動回路、それを備えた半導体装置及び半導体記憶装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017161890A Division JP6431583B2 (ja) 2017-08-25 2017-08-25 モジュール、及び、システム

Publications (2)

Publication Number Publication Date
JP2015210533A true JP2015210533A (ja) 2015-11-24
JP6200370B2 JP6200370B2 (ja) 2017-09-20

Family

ID=54334881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014089398A Active JP6200370B2 (ja) 2014-04-23 2014-04-23 データバス駆動回路、それを備えた半導体装置及び半導体記憶装置

Country Status (2)

Country Link
US (2) US9740656B2 (ja)
JP (1) JP6200370B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9613714B1 (en) * 2016-01-19 2017-04-04 Ememory Technology Inc. One time programming memory cell and memory array for physically unclonable function technology and associated random code generating method
CN109961824A (zh) * 2019-03-27 2019-07-02 苏州浪潮智能科技有限公司 一种内存测试方法
CN112712832B (zh) * 2019-10-25 2024-09-20 长鑫存储技术(上海)有限公司 写操作电路、半导体存储器和写操作方法
US11237834B2 (en) * 2020-02-27 2022-02-01 Taiwan Semiconductor Manufacturing Company, Ltd. Memory device, access controller thereof and method for accessing memory device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334206A (ja) * 1992-05-29 1993-12-17 Toshiba Corp インターフェース制御装置
JPH0720973A (ja) * 1993-07-01 1995-01-24 Sony Corp バス駆動回路
JPH096500A (ja) * 1995-06-16 1997-01-10 Nec Corp インターフェース回路
JP2005173860A (ja) * 2003-12-10 2005-06-30 Sony Corp データ記憶装置、および記憶データ処理方法、並びにコンピュータ・プログラム
US20090182918A1 (en) * 2008-01-16 2009-07-16 Micron Technology, Inc. Data bus inversion apparatus, systems, and methods
US20100122130A1 (en) * 2008-11-12 2010-05-13 Gil-Shin Moon Semiconductor Memory Device Supporting Read Data Bus Inversion Function and Method of Testing the Semiconductor Memory Device
US20140286087A1 (en) * 2013-03-22 2014-09-25 Katsuyuki Fujita Semiconductor memory device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365516A (en) * 1991-08-16 1994-11-15 Pinpoint Communications, Inc. Communication system and method for determining the location of a transponder unit
JPH06275098A (ja) * 1993-03-24 1994-09-30 Mitsubishi Electric Corp 半導体記憶装置
JP3720934B2 (ja) * 1996-12-17 2005-11-30 富士通株式会社 半導体記憶装置とデータ読み出し及び書き込み方法
JP4447200B2 (ja) * 2002-07-19 2010-04-07 Necエレクトロニクス株式会社 映像データ転送方法、表示制御回路及び液晶表示装置
US8120960B2 (en) * 2007-11-07 2012-02-21 Spansion Israel Ltd. Method and apparatus for accessing a non-volatile memory array comprising unidirectional current flowing multiplexers
JP5340378B2 (ja) * 2009-02-26 2013-11-13 パナソニック株式会社 チャネル信号生成装置、音響信号符号化装置、音響信号復号装置、音響信号符号化方法及び音響信号復号方法
JP5780796B2 (ja) * 2011-03-24 2015-09-16 オリンパス株式会社 データ処理装置およびデータ処理方法
JP6143646B2 (ja) * 2013-11-05 2017-06-07 株式会社東芝 半導体装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334206A (ja) * 1992-05-29 1993-12-17 Toshiba Corp インターフェース制御装置
JPH0720973A (ja) * 1993-07-01 1995-01-24 Sony Corp バス駆動回路
JPH096500A (ja) * 1995-06-16 1997-01-10 Nec Corp インターフェース回路
JP2005173860A (ja) * 2003-12-10 2005-06-30 Sony Corp データ記憶装置、および記憶データ処理方法、並びにコンピュータ・プログラム
US20090182918A1 (en) * 2008-01-16 2009-07-16 Micron Technology, Inc. Data bus inversion apparatus, systems, and methods
US20100122130A1 (en) * 2008-11-12 2010-05-13 Gil-Shin Moon Semiconductor Memory Device Supporting Read Data Bus Inversion Function and Method of Testing the Semiconductor Memory Device
US20140286087A1 (en) * 2013-03-22 2014-09-25 Katsuyuki Fujita Semiconductor memory device

Also Published As

Publication number Publication date
JP6200370B2 (ja) 2017-09-20
US9740656B2 (en) 2017-08-22
US10140241B2 (en) 2018-11-27
US20170315952A1 (en) 2017-11-02
US20150309861A1 (en) 2015-10-29

Similar Documents

Publication Publication Date Title
KR101875098B1 (ko) 데이터 버스 반전 시그널링을 이용한 동시 스위칭 출력들의 감소
US9166579B2 (en) Methods and apparatuses for shifting data signals to match command signal delay
US20110246857A1 (en) Memory system and method
JP4820795B2 (ja) 半導体記憶装置
JP4936746B2 (ja) 半導体装置
JP6200370B2 (ja) データバス駆動回路、それを備えた半導体装置及び半導体記憶装置
US7983106B2 (en) Voltage stabilization circuit and semiconductor memory apparatus using the same
US8566685B2 (en) Command control circuit, integrated circuit having the same, and command control method
US9166625B2 (en) Circuits, integrated circuits, and methods for interleaved parity computation
US20110235446A1 (en) Write strobe generation for a memory interface controller
US9275700B2 (en) Semiconductor device
US20070291576A1 (en) Address latch circuit of semiconductor memory device
KR20070095641A (ko) 데이터 출력 속도를 증가시키는 파이프 래치 회로와 이를포함하는 반도체 메모리 장치, 및 그 데이터 출력 동작방법
US8331170B2 (en) Data transfer circuit, method thereof, and memory device including data transfer circuit
US9239755B2 (en) Semiconductor device and semiconductor system including the same
US8520466B2 (en) Internal command generation circuit
JP6431583B2 (ja) モジュール、及び、システム
US6950357B2 (en) Test mode flag signal generator of semiconductor memory device
US7733737B2 (en) Semiconductor memory device using bus inversion scheme
US7941573B2 (en) Semiconductor memory device
US9058432B2 (en) Data transferring circuit and data transferring/receiving system
JP2009169981A (ja) 半導体装置およびクロック伝送方法
US20100034040A1 (en) Semiconductor integrated circuit
JP2012033241A (ja) 半導体装置、及び半導体試験方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161006

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170721

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170825

R150 Certificate of patent or registration of utility model

Ref document number: 6200370

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150