(57)【要約】【課題】処理性能を低下させることなく消費電力を低減することが可能なデータバス駆動回路、それを備えた半導体装置及び半導体記憶装置を提供すること。【解決手段】一実施の形態によれば、データバス駆動回路は、データＤｉ１に対して処理を施しデータＤａ１を出力するＥＣＣ複合化部１１２と、データＤａ１、及び、データＤａ１を構成する複数ビットのそれぞれの値を論理反転した反転データ、の何れかを判定結果信号ｒ１に基づいて選択し、データバスに出力する論理反転部１１４と、データＤｉ１と論理反転部１１４から出力されたデータＤｔ１とを比較して、その比較結果に基づいて判定結果信号ｒ１を出力する反転判定部１１３と、を備える。【選択図】図１
2018010663.tif 000002
【特許請求の範囲】
【請求項１】
第１の機能部と、
データバスを介して前記第１の機能部と接続される第２の機能部と、を備え、
前記第１の機能部は、
入力データに対して処理を施し処理データを出力するデータ処理部と、
判定結果信号に基づいて、前記処理データ、及び、当該処理データを構成する複数のビットのそれぞれの値を論理反転した反転データ、のいずれかを選択し、出力データとして前記データバスに出力する第１論理反転部と、
前記データ処理部により処理される前の前記入力データと前記第１論理反転部から出力された前記出力データとを比較して、その比較結果に基づき前記判定結果信号を出力する反転判定部と、を有し、
前記第２の機能部は、
前記第１の機能部から供給された前記判定結果信号に基づいて、前記データバスを介して伝達された前記出力データ、及び、その反転データ、のいずれかを選択して出力する第２論理反転部を有する、モジュール。
【請求項２】
前記第１論理反転部から前記反転判定部に供給される前記出力データは、前記データ処理部により処理される前の前記入力データよりも前のサイクルで入力された入力データに対応する、請求項１に記載のモジュール。
【請求項３】
前記反転判定部は、前記入力データを構成する複数ビットのそれぞれの値と、前記第１論理反転部から出力された前記出力データを構成する複数ビットのそれぞれの値とを比較した結果、異なる論理値を示すビット数と同じ論理値を示すビット数との大小に基づき前記判定結果信号を出力する、請求項１に記載のモジュール。
【請求項４】
前記第１の機能部は、
メモリ部をさらに有し、
前記入力データは前記メモリ部から読み出されたデータである、
請求項１に記載のモジュール。
【請求項５】
前記データ処理部は、ＥＣＣ復号化部であって、前記入力データに対してエラー訂正コードに基づくエラー訂正処理を施し、訂正された前記入力データを前記処理データとして出力する、請求項４に記載のモジュール。
【請求項６】
前記第１の機能部、及び、前記第２の機能部は、それぞれ異なるチップに搭載されている、請求項１に記載のモジュール。
【請求項７】
送信部と、
データバスを介して前記送信部と接続される受信部と、を備え、
前記送信部は、
入力データに対して処理を施し処理データを出力するデータ処理部と、
判定結果信号に基づいて、前記処理データ、及び、当該処理データを構成する複数のビットのそれぞれの値を論理反転した反転データ、のいずれかを選択し、出力データとして前記データバスに出力する第１論理反転部と、
前記データ処理部により処理される前の前記入力データと前記第１論理反転部から出力された前記出力データとを比較して、その比較結果に基づき前記判定結果信号を出力する反転判定部と、を有し、
前記受信部は、
前記送信部から供給された前記判定結果信号に基づいて、前記データバスを介して伝達された前記出力データ、及び、その反転データ、のいずれかを選択して出力する第２論理反転部を有する、システム。
【請求項８】
前記送信部、及び、前記受信部は、それぞれ異なるチップに搭載されている、
請求項７に記載のシステム。
【請求項９】
データバスに接続された複数のメモリ部と、
前記データバスを介して前記複数のメモリ部から出力された出力データを受けるロジック部と、を備え、
前記複数のメモリ部のそれぞれは、
メモリセルアレイと、
前記メモリセルアレイから読み出された読み出しデータに対して処理を施し処理データを出力するデータ処理部と、
判定結果信号に基づいて、前記処理データ、及び、当該処理データを構成する複数のビットのそれぞれの値を論理反転した反転データ、のいずれかを選択し、出力データとして前記データバスに出力する第１論理反転部と、
前記データ処理部により処理される前の前記読み出しデータと前記第１論理反転部から出力された前記出力データとを比較して、その比較結果に基づき前記判定結果信号を出力する反転判定部と、を有し
前記ロジック部は、
前記複数のメモリ部から供給された前記判定結果信号に基づいて、前記データバスを介して伝達された前記出力データ、及び、その反転データ、のいずれかを選択して出力する第２論理反転部、を有する、モジュール。
【請求項１０】
前記複数のメモリ部、及び、前記ロジック部は、それぞれ異なるチップに搭載されている、請求項９に記載のモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データバス駆動回路、それを備えた半導体装置及び半導体記憶装置に関し、例えば処理性能を低下させることなくデータバスの消費電力を低減させるのに適したデータバス駆動回路、それを備えた半導体装置及び半導体記憶装置に関する。
【背景技術】
【０００２】
メモリでは、プロセス微細化及び大容量化に伴い、メモリセルに保持されるデータが不安定になってきている。そこで、近年では、信頼性を向上させるため、誤ったデータが記憶されていることを検出して正しいデータに訂正するＥＣＣ(Error Check and Correct)機能を持たせたメモリが増加している。
【０００３】
また、単体メモリ及びメモリ内蔵ＬＳＩ(Large Scale Integration)では、システムの処理能力向上のため、メモリの大容量化及びデータビット数の増加が進んでいる。そのため、データバスにて消費される電力の全体に占める割合が大きくなってきている。
【０００４】
このような問題に対する解決策が、特許文献１に開示されている。特許文献１に開示されたデータ記憶装置は、データ記憶処理中に電力消費が少なくなるデータパターンとなるように、メインデータ及びそのエラー訂正コードを含むデータの全構成ビットの値を論理反転するか否かを判定し、その判定結果に基づいて当該データ又はその反転データをメモリセルアレイに書き込む。データの読み出し時には、メモリセルアレイから読み出されたデータが反転データである場合には、当該反転データを再度反転させてオリジナルデータに戻す。それにより、消費電流を低減している。
【０００５】
その他、特許文献２には、送信データとバス信号とを比較した結果に基づいて、送信データを構成するビット列の極性を反転させるか否かを制御する構成が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１７３８６０号公報
【特許文献２】特開平５−３３４２０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１に開示された構成では、ＥＣＣ処理時間に加えて、データの反転判定の処理に要する時間が別途必要になるため、メモリの処理性能が低下してしまうという問題があった。メモリに限らず、データに対して処理を施すデータ処理部と、当該データ処理部により処理されたデータをデータバスに伝達する際に論理反転させる否かを判定する反転判定部と、を備えた半導体装置では、データ処理に要する時間に加えて、データの反転判定の処理に要する時間が別途必要になるため、メモリの場合と同様に処理性能が低下してしまう、という問題があった。その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
一実施の形態によれば、データバス駆動回路は、入力データに対して処理を施し処理データを出力するデータ処理部と、前記処理データ、及び、当該処理データを構成する複数ビットのそれぞれの値を論理反転した反転データ、の何れかを判定結果信号に基づいて選択し、データバスに出力する第１論理反転部と、前記データ処理部により処理される前の前記入力データと前記第１論理反転部から出力されたデータとを比較して、その比較結果に基づいて前記判定結果信号を出力する反転判定部と、を備える。
【発明の効果】
【０００９】
前記一実施の形態によれば、処理性能を低下させることなく消費電力を低減することが可能なデータバス駆動回路、それを備えた半導体装置及び半導体記憶装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係る半導体装置を示すブロック図である。
【図２】図１に示す半導体装置が適用されたＬＳＩシステムを示すブロック図である。
【図３】実施の形態２に係る半導体装置を示すブロック図である。
【図４】図３に示す半導体装置が適用されたＬＳＩシステムを示すブロック図である。
【図５】実施の形態３に係る半導体装置を示すブロック図である。
【図６】実施の形態４に係る半導体装置を示すブロック図である。
【図７】データビット数と、全データビットのうち反転判定に用いられるデータビットの割合と、を各々設定した場合における、パワー削減効果を示す図である。
【図８】実施の形態５に係る半導体装置を示すブロック図である。
【図９】図８に示す半導体装置の動作を示すフローチャートである。
【図１０】図８に示す半導体装置の動作を示すフローチャートである。
【図１１】実施の形態６に係る半導体装置を示すブロック図である。
【図１２】図１１に示す半導体装置の動作を示すフローチャートである。
【図１３】図１１に示す半導体装置の動作を示すフローチャートである。
【図１４】実施の形態７に係る半導体装置を示すブロック図である。
【図１５】実施の形態８に係る半導体装置を示すブロック図である。
【図１６】実施の形態９に係る半導体装置を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しつつ、実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として実施の形態の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。
【００１２】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００１３】
さらに、以下の実施の形態において、その構成要素（動作ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等（個数、数値、量、範囲等を含む）についても同様である。
【００１４】
＜実施の形態１＞
図１は、実施の形態１に係る半導体装置１０を示すブロック図である。半導体装置１０は、メモリ部からデータを読み出す場合において、ＥＣＣ復号化部にて処理される前のデータを用いて、データバスに伝達するデータを反転させるか否かを判定する処理を行っている。それにより、ＥＣＣ復号化部によるＥＣＣ処理と、データバスに伝達するデータを反転させるか否かを判定する処理と、を並列に実行することが可能になるため、処理性能を低下させることなく消費電力を低減することができる。以下、具体的に説明する。
【００１５】
図１に示すように、半導体装置１０は、データの書き込み及び読み出しが行われるメモリ部１１と、メモリ部１１とデータの受け渡しを行うロジック部１２と、メモリ部１１及びロジック部１２間を接続するバスＤＢＵＳ，ＲＢＵＳと、を備える。バスＤＢＵＳは、メモリ部１１から読み出されたデータ、及び、メモリ部１１に書き込むデータが伝搬するバスである。バスＲＢＵＳは、後述する判定結果信号が伝搬するバスである。なお、図１には、メモリ部１１のデータ読み出し動作に関連する構成要素のみが示されている。
【００１６】
メモリ部１１は、メモリセルアレイ１１１と、ＥＣＣ復号化部１１２と、反転判定部１１３と、論理反転部１１４と、を備える。メモリ部１１は、例えば、ＤＲＡＭ、ＳＲＡＭ、ＲＯＭ、その他の各種不揮発性メモリである。なお、ＥＣＣ復号化部１１２と、反転判定部１１３と、論理反転部１１４と、により、データバス駆動回路が構成される。
【００１７】
メモリセルアレイ１１１は、行列状に配置された複数のメモリセルを備える。メモリセルアレイ１１１には、メインデータが記憶されるとともに、メインデータに基づき算出されるエラー訂正コード（例えば、ハミングコード、パリティデータ）が記憶される。
【００１８】
ＥＣＣ復号化部１１２は、メモリセルアレイ１１１から読み出されたデータＤｉ１に対して、エラー訂正コードＤｐ１に基づくエラー訂正処理を施し、訂正されたデータＤａ１を出力する。なお、データＤｉ１，Ｄａ１は、ｎ（ｎは２以上の整数）ビット幅のデータである。エラー訂正コードＤｐ１は、ｍ（ｍは１以上の整数）ビット幅のコードである。
【００１９】
論理反転部１１４は、判定結果信号ｒ１に基づいてデータＤａ１又はその反転データをデータＤｔ１としてデータバスＤＢＵＳに出力する。データＤａ１の反転データとは、データＤａ１を構成する複数ビットのそれぞれの値を論理反転したデータのことである。なお、データＤｔ１は、ｎビット幅のデータである。データバスＤＢＵＳは、ｎビット幅のバスである。
【００２０】
反転判定部１１３は、ＥＣＣ復号化部１１２にて処理される前のデータＤｉ１と、論理反転部１１４から出力され、データバスＤＢＵＳを伝搬する１サイクル前のデータＤｔ１と、を比較して、その比較結果に応じた判定結果信号ｒ１を出力する。なお、判定結果信号ｒ１は、論理値０又は１を示す１ビット幅の信号である。
【００２１】
具体的には、反転判定部１１３は、データＤｉ１を構成するｎビットのそれぞれの値と、データＤｔ１を構成するｎビットのそれぞれの値と、を比較して、異なる論理値を示すビットの数が同じ論理値を示すビットの数よりも多い場合、論理反転部１１４にデータＤａ１を反転させてデータＤｔ１として出力させるように判定結果信号ｒ１を出力する。
【００２２】
ロジック部１２は、ロジック回路１２１と、論理反転部１２４と、を備える。
【００２３】
論理反転部１２４は、メモリ部１１からバスＲＢＵＳを介して伝達された判定結果信号ｒ１に基づいて、メモリ部１１からデータバスＤＢＵＳを介して伝達されたデータＤｔ１又はその反転データをデータＤｏ１として出力する。
【００２４】
ロジック回路１２１は、論理反転部１２４から出力されたデータＤｏ１を受け取って所定の処理を実行する。
【００２５】
例えば、反転判定部１１３は、データＤｉ１を構成するｎビットのそれぞれの値と、データＤｔ１を構成するｎビットのそれぞれの値と、を比較して、異なる論理値を示すビットの数が同じ論理値を示すビットの数よりも多い場合、Ｈレベルの判定結果信号ｒ１を出力し、それ以外では、Ｌレベルの判定結果信号ｒ１を出力する。Ｈレベルの判定結果信号ｒ１が出力された場合、論理反転部１１４は、データＤａ１を反転させてデータＤｔ１として出力し、論理反転部１２４は、データＤｔ１を再度反転させてデータＤｏ１として出力する（データＤａ１を復元する）。一方、Ｌレベルの判定結果信号ｒ１が出力された場合、論理反転部１１４は、データＤａ１をそのままデータＤｔ１として出力し、論理反転部１２４は、データＤｔ１をそのままデータＤｏ１として出力する。それにより、読み出しデータの遷移に伴う、データＤｔ１を構成するｎビットのそれぞれの値の変化、を常に半分以下に抑えることができるため、消費電力を低減することができる。なお、バスＲＢＵＳは１ビットであるため、データバスＤＢＵＳのビット幅が大きくなるほど、バスＲＢＵＳの消費電力の影響は無視できるほどに小さくなる。
【００２６】
ここで、反転判定部１１３は、ＥＣＣ復号化部１１２にて処理される前のデータＤｉ１を用いて、論理反転部１１４にてデータＤａ１を反転させるか否かを判定している。つまり、反転判定部１１３は、ＥＣＣ復号化部１１２による処理結果を待たずに、ＥＣＣ復号化部１１２とともに並列に処理を実行している。それにより、ＥＣＣ復号化部１１２による処理結果を待って反転判定部１１３にて処理が実行される場合と比較して、処理性能を低下させることなく消費電力を低減することができる。
【００２７】
なお、ＥＣＣ復号化部１１２にて処理される前のデータＤｉ１には、エラービットが含まれている可能性があるが、その頻度及びビット数は無視できる程度に非常に少ない。そのため、データＤａ１を反転させるか否かの判定に影響を与えることはほとんどない。
【００２８】
このように、半導体装置１０は、データバスＤＢＵＳに伝達するデータを反転させるか否かを判定する処理を、ＥＣＣ復号化部１１２にて処理される前のデータを用いて行っている。それにより、ＥＣＣ復号化部によるＥＣＣ処理と、データバスに伝達するデータを反転させるか否かを判定する処理と、を並列に実行することが可能になるため、処理性能（処理速度）を低下させることなく消費電力を低減することができる。
【００２９】
また、大負荷のデータバスＤＢＵＳに伝達するデータの遷移を少なくすることにより、充放電のピーク電流を削減することができるため、電源ノイズを低減することも可能である。
【００３０】
さらに、メモリ部１１内でＥＣＣ復号化部１１２による処理が行われるため、エラー訂正コードを伝搬するデータバスを設ける必要が無い。そのため、データバスにて消費される電力の増大を抑制することができるとともに、回路規模の増大を抑制することができる。
【００３１】
図２は、半導体装置１０が適用されたＬＳＩシステム１を示すブロック図である。
【００３２】
図２に示すように、ＬＳＩシステム１は、複数のメモリ部１１と、ロジック部１２と、複数のメモリ部１１とロジック部１２との間を接続するバスＤＢＵＳ，ＲＢＵＳと、を備える。つまり、ＬＳＩシステム１は、半導体装置１０のうちメモリ部１１を複数備えたものと等価である。
【００３３】
ここで、複数のメモリ部１１は、大規模メモリを複数に分割して形成されたものである。複数のメモリ部１１のうちデータ読み出し対象のメモリ部１１のみを活性化して、残りを非活性化しておくことができるため、メモリ全体の消費電力を低減することができる。
【００３４】
しかしながら、大規模メモリを複数に分割した結果、複数のメモリ部１１とロジック部１２とを接続するデータバスＤＢＵＳが長くなり負荷容量が大きくなってしまう。そのため、データビット数が増加すると、データバスで消費される電力の割合はますます高くなる。
【００３５】
そこで、ＬＳＩシステム１は、半導体装置１０の仕組みを適用することで、処理性能を低下させることなく消費電力を低減している。
【００３６】
＜実施の形態２＞
図３は、実施の形態２に係る半導体装置２０を示すブロック図である。半導体装置２０は、ロジック部からメモリ部にデータを書き込む場合において、ＥＣＣ符号化部にて処理される前のデータを用いて、データバスに伝達するデータを反転させるか否かを判定する処理を行っている。それにより、ＥＣＣ符号化部による処理と、データバスに伝達するデータを反転させるか否かを判定する処理と、を並列に実行することが可能になるため、処理性能を低下させることなく消費電力を低減することができる。以下、具体的に説明する。
【００３７】
図３に示すように、半導体装置２０は、メモリ部２１と、ロジック部２２と、メモリ部２１及びロジック部２２間を接続するバスＤＢＵＳ，ＰＢＵＳ，ＲＢＵＳと、を備える。メモリ部２１及びロジック部２２は、それぞれメモリ部１１及びロジック部１２に対応する。データバスＰＢＵＳは、エラー訂正コードが伝搬するバスである。なお、図３には、メモリ部２１のデータ書き込み動作に関連する構成要素のみが示されている。
【００３８】
ロジック部２２は、ロジック回路２２１と、ＥＣＣ符号化部２２２と、ラッチ部２２４と、反転判定部２２３と、論理反転部２２５，２２６と、を備える。ロジック回路２２１は、ロジック回路１２１に対応する。なお、ＥＣＣ符号化部２２２と、ラッチ部２２４と、反転判定部２２３と、論理反転部２２５，２２６と、により、データバス駆動回路が構成される。
【００３９】
ロジック回路２２１は、メモリ部２１に書き込むデータＤｉ２を出力する。なお、データＤｉ２は、ｎビット幅のデータである。
【００４０】
ＥＣＣ符号化部２２２は、データＤｉ２に基づいてエラー訂正コードＤｐ２を算出して出力する。なお、エラー訂正コードＤｐ２は、ｍビット幅のデータである。
【００４１】
ラッチ部２２４は、クロック信号に同期して動作し、ＥＣＣ符号化部２２２が符号化処理を完了したのを受けて、データＤｉ２を後段の論理反転部２２５に出力する。なお、ラッチ部２２４と論理反転部２２５とにより一つのラッチ部が形成されていてもよい。
【００４２】
論理反転部２２５は、後述する判定結果信号ｒ２に基づいてデータＤｉ２又はその反転データをデータＤｔ２としてデータバスＤＢＵＳに出力する。論理反転部２２６は、判定結果信号ｒ２に基づいてエラー訂正コードＤｐ２又はその反転データをデータＤｐｔ２としてデータバスＰＢＵＳに出力する。なお、データバスＰＢＵＳは、ｍビット幅のバスである。
【００４３】
反転判定部２２３は、ＥＣＣ符号化部２２２にて処理される前のデータＤｉ２と、論理反転部２２５から出力され、データバスＤＢＵＳを伝搬する１サイクル前のデータＤｔ２と、を比較して、その比較結果に応じた判定結果信号ｒ２を出力する。なお、判定結果信号ｒ２は、論理値０又は１を示す１ビット幅の信号である。
【００４４】
具体的には、反転判定部２２３は、データＤｉ２を構成するｎビットのそれぞれの値と、データＤｔ２を構成するｎビットのそれぞれの値と、を比較して、異なる論理値を示すビットの数が同じ論理値を示すビットの数よりも多い場合、論理反転部２２５にデータＤｉ２を反転させてデータＤｔ２として出力させるとともに、論理反転部２２５にエラー訂正コードＤｐ２を反転させてデータＤｐｔ２として出力させるように、判定結果信号ｒ２を出力する。
【００４５】
メモリ部２１は、メモリセルアレイ２１１と、論理反転部２１５，２１６と、を備える。メモリセルアレイ２１１は、メモリセルアレイ１１１に対応する。
【００４６】
論理反転部２１５は、ロジック部２２からバスＲＢＵＳを介して伝達された判定結果信号ｒ２に基づいて、ロジック部２２からデータバスＤＢＵＳを介して伝達されたデータＤｔ２又はその反転データをデータＤｏ２として出力する。
【００４７】
論理反転部２１６は、ロジック部２２からバスＲＢＵＳを介して伝達された判定結果信号ｒ２に基づいて、ロジック部２２からデータバスＰＢＵＳを介して伝達されたデータＤｐｔ２又はその反転データをエラー訂正コードＤｐ２として出力する。
【００４８】
論理反転部２１５，２１６から出力されたデータＤｏ２及びエラー訂正コードＤｐ２は、メモリセルアレイ２１１に書き込まれる。
【００４９】
例えば、反転判定部２２３は、データＤｉ２を構成するｎビットのそれぞれの値と、データＤｔ２を構成するｎビットのそれぞれの値と、を比較して、異なる論理値を示すビットの数が同じ論理値を示すビットの数よりも多い場合、Ｈレベルの判定結果信号ｒ２を出力し、それ以外では、Ｌレベルの判定結果信号ｒ２を出力する。Ｈレベルの判定結果信号ｒ２が出力された場合、論理反転部２２５は、データＤｉ２を反転させてデータＤｔ２として出力し、論理反転部２１５は、データＤｔ２を再度反転させてデータＤｏ２として出力する（データＤｉ２を復元する）。一方、Ｌレベルの判定結果信号ｒ２が出力された場合、論理反転部２２５は、データＤｉ２をそのままデータＤｔ２として出力し、論理反転部２１５は、データＤｔ２をそのままデータＤｏ２として出力する。それにより、書き込みデータの遷移に伴う、データＤｔ２を構成するｎビットのそれぞれの値の変化、を常に半分以下に抑えることができるため、消費電力を低減することができる。なお、バスＲＢＵＳは１ビットであるため、データバスＤＢＵＳのビット幅が大きくなるほど、バスＲＢＵＳの消費電力の影響は無視できるほどに小さくなる。
【００５０】
ここで、反転判定部２２３は、ＥＣＣ符号化部２２２（及びラッチ部２２４）にて処理される前のデータＤｉ２を用いて、論理反転部２２５にてデータＤｉ２を反転させるか否かを判定している。つまり、反転判定部２２３は、ＥＣＣ符号化部２２２（及びラッチ部２２４）による処理結果を待たずに、ＥＣＣ符号化部２２２（及びラッチ部２２４）とともに並列に処理を実行している。それにより、ＥＣＣ符号化部２２２（及びラッチ部２２４）による処理結果を待って反転判定部２２３にて処理が実行される場合と比較して、処理性能を低下させることなく消費電力を低減することができる。
【００５１】
なお、反転判定部２２３は、ＥＣＣ符号化部２２２にて生成されるエラー訂正コードＤｐ２を反転させるか否かの判定を行わないが、一般的にはｎ＞ｍであるため、データセット（書き込みデータ＋エラー訂正コード）の反転判定における誤差は小さい。また、データＤｉ２のビット数ｎが増加すると、エラー訂正コードＤｐ２のビット数ｍの比率ｍ／ｎは小さくなる。そのため、データＤｉ２のビット数ｎが大きくなるほどデータセットの反転判定における誤差は小さくなる。つまり、より効率的に消費電力を削減することが可能になる。さらに、反転判定部２２３は、エラー訂正コードＤｐ２を反転させるか否かの判定を行わず、データＤｉ２を反転させるか否かの判定のみを行っているため、それぞれについて判定を行う場合よりも、判定処理速度を向上させることができる。
【００５２】
このように、半導体装置２０は、データバスＤＢＵＳに伝達するデータを反転させるか否かを判定する処理を、ＥＣＣ符号化部２２２（及びラッチ部２２４）にて処理される前のデータを用いて行っている。それにより、ＥＣＣ符号化部２２２（及びラッチ部２２４）による処理と、データバスに伝達するデータを反転させるか否かを判定する処理と、を並列に実行することが可能になるため、処理性能（処理速度）を低下させることなく消費電力を低減することができる。
【００５３】
また、大負荷のデータバスＤＢＵＳに伝達するデータの遷移を少なくすることにより、充放電のピーク電流を削減することができるため、電源ノイズを低減することも可能である。
【００５４】
図３では、エラー訂正コードの伝搬経路上に論理反転部２１６，２２６が設けられた場合について説明したが、これに限られない。エラー訂正コードは反転判定部３２３による反転判定の対象外であるため、論理反転部２１６，２２６は設けられていなくてもよい。
【００５５】
図４は、半導体装置２０が適用されたＬＳＩシステム２を示すブロック図である。
【００５６】
図４に示すように、ＬＳＩシステム２は、複数のメモリ部２１と、ロジック部２２と、複数のメモリ部２１とロジック部２２との間を接続するバスＤＢＵＳ，ＲＢＵＳと、を備える。つまり、ＬＳＩシステム２は、半導体装置２０のうちメモリ部２１を複数備えたものと等価である。
【００５７】
ここで、複数のメモリ部２１は、大規模メモリを複数に分割して形成されたものである。複数のメモリ部２１のうちデータ書き込み対象のメモリ部２１のみを活性化して、残りを非活性化しておくことができるため、メモリ全体の消費電力を低減することができる。
【００５８】
しかしながら、大規模メモリを複数に分割した結果、複数のメモリ部２１とロジック部２２とを接続するデータバスＤＢＵＳが長くなり負荷容量が大きくなってしまう。そのため、データビット数が増加すると、データバスで消費される電力の割合はますます高くなる。
【００５９】
そこで、ＬＳＩシステム２は、半導体装置２０の仕組みを適用することで、処理性能を低下させることなく消費電力を低減している。
【００６０】
なお、ＥＣＣ符号化部２２２は、ロジック部２２内に１つ設置すれば良く、複数のメモリ部２１のそれぞれに搭載される必要はない。そのため、回路規模の増大が抑制される。
【００６１】
続いて、半導体装置１０，２０の適用事例について説明する。
【００６２】
例えば、ＣＰＵのキャッシュメモリでは、データを読み出す動作の比率が高いので、データの読み出し動作に関連する構成に対して半導体装置１０の仕組みを適用する。それにより、データの読み出し動作において、処理性能を低下させることなく消費電力を低減することができる。一方、データの書き込み動作に関連する構成については、ＥＣＣ符号化部をロジック部ではなくメモリ部に設ける。それにより、データ書き込み時にエラー訂正コードが伝搬するバスＰＢＵＳを省略することが可能となる。
【００６３】
また、例えば、画像バッファでは、データの読み出し及び書き込みの動作比率はほぼ等しい。しかしながら、一般的にメモリには、データの書き込みによる消費電力が、データの読み出しによる消費電力よりも大きい傾向がある。そこで、画像バッファでは、データの書き込み動作に関連する構成に対して半導体装置２０の仕組みを適用する。それにより、データの書き込み動作において、処理性能を低下させることなく消費電力を低減することができる。一方、データの読み出しに関連する構成については、ＥＣＣ復号化部をメモリ部ではなくロジック部に設ける。それにより、メモリ部の回路面積を小さくしてコストを削減することができる。
【００６４】
このとき、回路面積やバス本数の削減効果はチップの設計条件によって異なるが、メモリ仕様やアプリケーション環境に合わせて高速性能化、パワー削減及びコスト削減を実現することが可能となる。
【００６５】
なお、ＤＲＡＭの場合、定期的にリフレッシュが必要になるので、ＥＣＣ復号化部及びＥＣＣ符号化部の搭載は、信頼性の向上とともにセルデータの保持時間を長くする（ホールド特性を改善する）効果を持つ。これは、リフレッシュ頻度を削減するので、スタンバイ電流の削減につながる。ここで、ＤＲＡＭは、メモリセル面積が小さいので、大規模メモリ構成を実現する場合に頻繁に使用される。そのため、ＤＲＡＭでは、メモリの大規模化に伴う速度遅れ、リフレッシュ電流増加、データの書き込み及び読み出し時のアクティブ電流増加の問題が生じやすく、半導体装置１０，２０の仕組みの適用は特に有効である。
【００６６】
＜実施の形態３＞
図５は、実施の形態３に係る半導体装置３０を示すブロック図である。半導体装置３０は、半導体装置１０，２０のそれぞれの仕組みを備えている。
【００６７】
図５に示すように、半導体装置３０は、メモリ部３１と、ロジック部３２と、メモリ部３１及びロジック部３２間を接続するバスＤＢＵＳ，ＰＢＵＳ，ＲＢＵＳと、を備える。メモリ部３１及びロジック部３２は、メモリ部１１及びロジック部１２に対応する。バスＤＢＵＳ，ＰＢＵＳ，ＲＢＵＳは、何れも、データの読み出し及び書き込みのそれぞれで共用される双方向バスである。
【００６８】
メモリ部３１は、メモリセルアレイ３１１と、ＥＣＣ復号化部３１２と、反転判定部３１３と、論理反転部３１４，３１５と、を備える。メモリセルアレイ３１１、ＥＣＣ復号化部３１２、反転判定部３１３及び論理反転部３１４，３１５は、それぞれメモリセルアレイ１１１、ＥＣＣ復号化部１１２、反転判定部１１３及び論理反転部１１４，２１５に対応する。
【００６９】
具体的には、メモリ部３１は、メモリ部１１と比較して、データバスＤＢＵＳを介して供給される書き込みデータをメモリセルアレイ３１１に伝達する信号経路と、当該信号経路上に設けられた論理反転部３１５と、データバスＰＢＵＳを介して供給されるエラー訂正コードをメモリセルアレイ３１１に伝達する信号経路と、をさらに備える。メモリ部３１のその他の構成については、メモリ部１１と同様であるため、その説明を省略する。
【００７０】
ロジック部３２は、ロジック回路３２１と、ＥＣＣ符号化部３２２と、ラッチ部３２６と、反転判定部３２３と、論理反転部３２４，３２５と、を備える。ロジック回路３２１、ＥＣＣ符号化部３２２、ラッチ部３２６、反転判定部３２３及び論理反転部３２４，３２５は、それぞれロジック回路２２１、ＥＣＣ符号化部２２２、ラッチ部２２４、反転判定部２２３及び論理反転部１２４，２２５に対応する。
【００７１】
具体的には、ロジック部３２は、ロジック部２２と比較して、データバスＤＢＵＳを介して供給される読み出しデータをロジック回路３２１に伝達する信号経路と、当該信号経路上に設けられた論理反転部３２４と、をさらに備える。ロジック部３２のその他の構成については、ロジック部２２と同様であるため、その説明を省略する。
【００７２】
半導体装置３０は、半導体装置１０，２０のそれぞれと同等の効果を奏することができる。さらに、半導体装置３０では、データバスがデータの読み出し及び書き込みのそれぞれで共用されている。そのため、バス本数を削減することが可能である。
【００７３】
＜実施の形態４＞
図６は、実施の形態４に係る半導体装置４０を示すブロック図である。半導体装置４０は、半導体装置１０，２０等を上位概念化した図である。
【００７４】
図６に示すように、半導体装置４０は、送信部４１と、受信部４２と、送信部４１及び受信部４２間を接続するバスＤＢＵＳ，ＲＢＵＳと、を備える。送信部４１は、処理回路（データ処理部）４１１と、論理反転部（第１論理反転部）４１４と、反転判定部４１３と、を備える。受信部４２は、論理反転部（第２論理反転部）４２４を備える。例えば、処理回路４１２、反転判定部４１３及び論理反転部４１４，４２４は、それぞれ、図１におけるＥＣＣ復号化部１１２、反転判定部１１３及び論理反転部１１４，１２４である。
【００７５】
処理回路４１２は、入力データセットＤｉに対して処理を施しデータＤａを出力する。論理反転部４１４は、判定結果信号ｒに基づいてデータＤａ又はその反転データをデータＤｔとしてデータバスＤＢＵＳに出力する。論理反転部４２４は、判定結果信号ｒに基づいてデータバスＤＢＵＳを介して伝達されたデータＤｔ又はその反転データをデータＤｏとして出力する。
【００７６】
反転判定部４１３は、処理回路４１２により処理される前のデータＤｉｊ（データＤｉの一部又は全部）と、論理反転部４１４から出力され、データバスＤＢＵＳを伝搬する１サイクル前のデータＤｔｊ（データＤｔの一部又は全部）と、を比較して、その比較結果に応じた判定結果信号ｒを出力する。
【００７７】
例えば、反転判定部４１３は、データＤｉｊを構成するｎビットのそれぞれの値と、データＤｔｊを構成するｎビットのそれぞれの値と、を比較して、異なる論理値を示すビットの数が同じ論理値を示すビットの数よりも多い場合、Ｈレベルの判定結果信号ｒを出力し、それ以外では、Ｌレベルの判定結果信号ｒを出力する。Ｈレベルの判定結果信号ｒが出力された場合、論理反転部４１４は、データＤａを反転させてデータＤｔとして出力し、論理反転部４２４は、データＤｔを再度反転させてデータＤｏとして出力する（データＤａを復元する）。一方、Ｌレベルの判定結果信号ｒが出力された場合、論理反転部４１４は、データＤｉをそのままデータＤｔとして出力し、論理反転部４２４は、データＤｔをそのままデータＤｏとして出力する。それにより、送信するデータの遷移に伴う、データＤｔを構成するｎビットのそれぞれの値の変化、を常に半分以下に抑えることができるため、消費電力を低減することができる。なお、バスＲＢＵＳは１ビットであるため、データバスＤＢＵＳのビット幅が大きくなるほど、バスＲＢＵＳの消費電力は無視できるほどに小さくなる。
【００７８】
ここで、反転判定部４１３は、処理回路４１２にて処理される前のデータＤｉｊを用いて、論理反転部４１４にてデータＤａを反転させるか否かを判定している。つまり、反転判定部４３は、処理回路４１２による処理結果を待たずに、処理回路４１２とともに並列に処理を実行している。それにより、処理回路４１２による処理結果を待って反転判定部４１３にて処理が実行される場合と比較して、処理性能を低下させることなく消費電力を低減することができる。
【００７９】
なお、処理回路４１２にて処理される前のデータＤｉには、処理された後のデータＤａと完全に一致しない可能性があるが、その頻度及びビット数が少なければ、データＤａを反転させるか否かの判定に与える影響は少ない。
【００８０】
図７は、データビット数と、処理回路４１２の処理前後のデータ間で一致するビット数の割合と、を各々設定した場合における、パワー削減効果を示す図である。例えば、処理回路４１２の処理前後のデータの誤差が小さいほど、処理回路４１２の処理前後のデータ間で一致するビット数の割合は大きくなる。一方、処理回路４１２の処理前後のデータの誤差が大きいほど、処理回路４１２の処理前後のデータ間で一致するビット数の割合は小さくなる。なお、本例では、論理反転処理が全く行われない場合におけるデータバスの消費電力を１００％として、各条件でのデータバスの消費電力の割合（％）、が示されている。
【００８１】
図７に示すように、データビット数が多くなるほど、データバスの消費電力は低減している（パワー削減効果は向上している）。また、処理回路４１２の処理前後のデータ間で一致するビット数の割合が大きい（即ち、処理回路４１２の処理前後のデータの誤差が小さい）ほど、データバスの消費電力は低減している。
【００８２】
例えば、反転判定部４１３にて消費される電力が１０〜１５％程度であると仮定すると、データバスＤＢＵＳの消費電力は８５％以下であることが好ましい。また、データビット数は８ビット以上が現実的である。これらを考慮すると、処理回路４１２の処理前後のデータ間で一致するビット数の割合が５０％以上でパワー削減効果を得られることがわかる。具体的には、ＥＣＣ復号化部１１２の処理前後のデータの誤差が５０％以下でパワー削減効果を得られることがわかる。
【００８３】
このように、半導体装置４０は、処理回路４１２の処理結果を待たずに、処理回路４１２にて処理される前のデータを用いて、反転判定部４１３による反転判定処理を行っている。それにより、処理回路４１２による処理と、反転判定部４１３による処理と、を並列に実行することが可能になるため、処理性能（処理速度）を低下させることなく消費電力を低減することができる。
【００８４】
半導体装置４０をより具体的に示したものが半導体装置１０，２０であるが、それ以外の具体的な構成例についても以降の実施形態で説明する。
【００８５】
＜実施の形態５＞
図８は、実施の形態５に係る半導体装置５０を示すブロック図である。半導体装置５０は、半導体装置４０の具体的構成の一つを示したものである。
【００８６】
図８に示すように、半導体装置５０は、バースト処理部５１と、ロジック部５２と、バースト処理部５１及びロジック部５２間を接続するバスＤＢＵＳ，ＲＢＵＳと、を備える。
【００８７】
バースト処理部５１は、パラレルシリアル変換部（以下、パラシリ変換部と称す）５１２と、反転判定部５１３と、論理反転部５１４と、を備える。
【００８８】
パラシリ変換部５１２は、ｎ×８ビットのパラレルデータＤｉ５を、ｎビットのシリアルデータＤａ５に変換する。パラレルデータＤｉ５は、ｎビットのバーストデータＤｉ５０〜Ｄｉ５７により構成される。シリアルデータＤａ５は、ｎビットのバーストデータＤａ５０〜Ｄａ５７がシリアル形式に連なって構成される。
【００８９】
論理反転部５１４は、反転判定部５１３からの判定結果信号ｒ５に基づいてシリアルデータＤａ５又はその反転データをデータＤｔ５としてデータバスＤＢＵＳに出力する。
【００９０】
反転判定部５１３は、パラシリ変換部５１２により処理される前のパラレルデータＤｉ５の一部（例えば、バーストデータＤｉ５０）と、論理反転部５１４から出力され、データバスＤＢＵＳを伝搬するバーストデータ（例えば、ひとつ前のシリアルデータＤｔ５の最後のバーストデータＤｔ５７）と、を比較して、その比較結果に応じた判定結果信号ｒ５を出力する。なお、判定結果信号ｒ５は、論理値０又は１を示す１ビット幅の信号である。また、判定結果信号ｒ５は、バーストデータＤａ５０〜Ｄａ５７に対応する判定結果信号ｒ５０〜ｒ５７がシリアル形式に連なって構成される。
【００９１】
ロジック部５２は、論理反転部５２４を備える。論理反転部５２４は、バースト処理部５１からデータバスＲＢＵＳを介して伝達された判定結果信号ｒ５に基づいて、バースト処理部５１からデータバスＤＢＵＳを介して伝達されたデータＤｔ５又はその反転データをデータＤｏ５として出力する。
【００９２】
図９は、半導体装置５０の動作を示すタイミングチャートである。
図９に示すように、パラシリ変換部５１２は、パラレルデータＤｉ５が入力されると、当該パラレルデータＤｉ５をシリアルデータＤａ５に変換する処理を行う。また、反転判定部５１３は、パラシリ変換部５１２とともに並列に処理を実行する。
【００９３】
具体的には、反転判定部５１３は、パラシリ変換部５１２により処理される前のパラレルデータＤｉ５のうちバーストデータＤｉ５０と、データバスＤＢＵＳを伝搬する１サイクル前のバーストデータＤａ５７と、を比較する。そして、その比較結果に応じた判定結果信号ｒ５０を出力する。
【００９４】
論理反転部５１４は、判定結果信号ｒ５０に基づいて、パラシリ変換部５１２から出力されているバーストデータＤａ５０又はその反転データを、データＤｔ５０としてデータバスＤＢＵＳに出力する。
【００９５】
パラシリ変換部５１２がバーストデータＤａ５０を出力している間、反転判定部５１３は、パラレルデータＤｉ５のうちバーストデータＤｉ５１と、データバスＤＢＵＳを伝搬する１サイクル前のバーストデータＤｔ５０と、を比較する。そして、その比較結果に応じた判定結果信号ｒ５１を出力する。
【００９６】
パラシリ変換部５１２が次のバーストデータＤａ５１を出力し始めると、論理反転部５１４は、判定結果信号ｒ５１に基づいて、パラシリ変換部５１２から出力されているバーストデータＤａ５１又はその反転データを、データＤｔ５１としてデータバスＤＢＵＳに出力する。
【００９７】
パラシリ変換部５１２がバーストデータＤａ５１を出力している間、反転判定部５１３は、パラレルデータＤｉ５のうちバーストデータＤｉ５２と、データバスＤＢＵＳを伝搬する１サイクル前のバーストデータＤｔ５１と、を比較する。そして、その比較結果に応じた判定結果信号ｒ５２を出力する。
【００９８】
パラシリ変換部５１２が次のバーストデータＤａ５２を出力し始めると、論理反転部５１４は、判定結果信号ｒ５２に基づいて、パラシリ変換部５１２から出力されているバーストデータＤａ５２又はその反転データを、データＤｔ５２としてデータバスＤＢＵＳに出力する。このような反転判定の処理が各バーストデータについて行われる。
【００９９】
ここで、反転判定部５１３は、パラシリ変換部５１２にて処理される前のパラレルデータＤｉ５を用いて、論理反転部５１４にてシリアルデータＤａ５を反転させるか否かを判定している。つまり、反転判定部５１３は、パラシリ変換部５１２による処理結果を待たずに、パラシリ変換部５１２とともに並列に処理を実行している。それにより、パラシリ変換部５１２による処理結果を待って反転判定部５１３にて処理が実行される場合と比較して、処理性能を低下させることなく消費電力を低減することができる。
【０１００】
なお、図１０に示すように、反転判定部５１３によるバーストデータＤａ５０の反転判定の処理が、パラシリ変換部５１２による変換処理の完了に間に合わない場合がある。その場合には、バーストデータＤａ５０の反転判定は省略される。この場合、本例では１／８の反転判定の誤差が生じるが、バーストデータの数が多くなるほど反転判定の誤差は小さくなる。
【０１０１】
このように、半導体装置５０は、パラシリ変換部５１２の処理結果を待たずに、パラシリ変換部５１２にて処理される前のデータを用いて、反転判定部５１３による反転判定処理を行っている。それにより、パラシリ変換部５１２による変換処理と、反転判定部５１３による処理と、を並列に実行することが可能になるため、処理性能（処理速度）低下させることなく消費電力を低減することができる。
【０１０２】
＜実施の形態６＞
図１１は、実施の形態６に係る半導体装置６０を示すブロック図である。半導体装置６０は、半導体装置４０の具体的構成の一つを示したものである。
【０１０３】
図１１に示すように、半導体装置６０は、バースト処理部６１と、ロジック部６２と、バースト処理部６１及びロジック部６２間を接続するバスＤＢＵＳ，ＲＢＵＳと、を備える。なお、データバスＤＢＵＳは、８本のｎビットのデータバスＤＢＵＳ０〜ＤＢＵＳ７により構成される。データバスＲＢＵＳは、８本の１ビットのデータバスＲＢＵＳ０〜ＲＢＵＳ７により構成される。
【０１０４】
バースト処理部６１は、シリアルパラレル変換部（以下、シリパラ変換部と称す）６１２と、反転判定部６１３と、８個の論理反転回路６１４０〜６１４７からなる論理反転部６１４と、を備える。
【０１０５】
シリパラ変換部６１２は、ｎビットのシリアルデータＤｉ６を、ｎ×８ビットのパラレルデータＤａ６に変換する。シリアルデータＤｉ６は、ｎビットのバーストデータＤｉ６０〜Ｄｉ６７がシリアル形式に連なって構成される。パラレルデータＤａ６は、ｎビットのデータＤａ６０〜Ｄａ６７により構成される。
【０１０６】
論理反転部６１４は、反転判定部６１３からの判定結果信号ｒ６に基づいて、パラレルデータＤａ６又はその反転データを、データＤｔ６としてデータバスＤＢＵＳに出力する。より具体的には、論理反転回路６１４０〜６１４７は、それぞれ、判定結果信号ｒ６０〜ｒ６７に基づいて、データＤａ６０〜Ｄａ６７又はそれらの反転データを、データＤｔ６０〜Ｄｔ６７としてデータバスＤＢＵＳ０〜ＤＢＵＳ７に出力する。
【０１０７】
反転判定部６１３は、シリパラ変換部６１２により処理される前のシリアルデータＤｉ６の一部（例えば、バーストデータＤｉ６０）と、論理反転部６１４から出力され、データバスＤＢＵＳを伝搬するパラレルデータの一部（例えば、ひとつ前のパラレルデータＤｔ６の一部であるバーストデータＤｔ６０）と、を比較して、その比較結果に応じた判定結果信号ｒ６を出力する。なお、判定結果信号ｒ６は、１ビットの判定結果信号ｒ６０〜ｒ６７により構成される。
【０１０８】
ロジック部６２は、８個の論理反転回路６２４０〜６２４７からなる論理反転部６２４を備える。論理反転部６２４は、バースト処理部６１からデータバスＲＢＵＳを介して伝達された判定結果信号ｒ６に基づいて、バースト処理部６１からデータバスＤＢＵＳを介して伝達されたパラレルデータＤｔ６又はその反転データをパラレルデータＤｏ６として出力する。
【０１０９】
図１２は、半導体装置６０の動作を示すタイミングチャートである。
図１２に示すように、シリパラ変換部６１２は、シリアルデータＤｉ６を構成するバーストデータＤｉ６０〜Ｄｉ６７が全て入力されると、当該シリアルデータＤｉ６をパラレルデータＤａ６に変換する処理を行う。また、反転判定部６１３は、シリパラ変換部６１２とともに並列に処理を実行する。
【０１１０】
具体的には、反転判定部６１３は、シリパラ変換部６１２により処理される前のシリアルデータＤｉ６のうちバーストデータＤｉ６０と、データバスＤＢＵＳ０を伝搬するバーストデータＤｔ６０と、を比較する。そして、その比較結果に応じた判定結果信号ｒ６０を出力する。
【０１１１】
同様にして、反転判定部６１３は、シリパラ変換部６１２により処理される前のシリアルデータＤｉ６のうちバーストデータＤｉ６１〜Ｄｉ６７と、データバスＤＢＵＳ１〜ＤＢＵＳ７を伝搬するバーストデータＤｔ６１〜Ｄｔ６７と、をそれぞれ比較する。そして、それらの比較結果に応じた判定結果信号ｒ６１〜ｒ６７を出力する。
【０１１２】
論理反転部６１４を構成する論理反転回路６１４０〜６１４７は、それぞれ、判定結果信号ｒ６０〜ｒ６７に基づいて、シリパラ変換部６１２から出力されているバーストデータＤａ６０〜Ｄａ６７又はそれらの反転データを、バーストデータＤｔ６０〜Ｄｔ６７（即ち、パラレルデータＤｔ６）としてデータバスＤＢＵＳ０〜ＤＢＵＳ７に出力する。
【０１１３】
ここで、反転判定部６１３は、シリパラ変換部６１２にて処理される前のシリアルデータＤｉ６を用いて、論理反転部６１４にてパラレルデータＤａ６を反転させるか否かを判定している。つまり、反転判定部６１３は、シリパラ変換部６１２による処理結果を待たずに、シリパラ変換部６１２とともに並列に処理を実行している。それにより、シリパラ変換部６１２による処理結果を待って反転判定部６１３にて処理が実行される場合と比較して、処理性能を低下させることなく消費電力を低減することができる。
【０１１４】
なお、図１３に示すように、反転判定部６１３は、バーストデータＤｉ６０〜Ｄｉ６７が一つ入力される毎に、バーストデータＤａ６０〜Ｄａ６７の対応する一つの反転判定の処理を実行することが可能である。しかしながら、反転判定部６１３による最後のバーストデータＤａ６７の反転判定の処理が、シリパラ変換部６１２による変換処理の完了に間に合わない場合がある。その場合には、バーストデータＤａ６７の反転判定は省略される。この場合、本例では１／８の反転判定の誤差が生じるが、バーストデータの数が多くなるほど反転判定の誤差は小さくなる。
【０１１５】
このように、半導体装置６０は、シリパラ変換部６１２の処理結果を待たずに、シリパラ変換部６１２にて処理される前のデータを用いて、反転判定部６１３による反転判定処理を行っている。それにより、シリパラ変換部６１２による変換処理と、反転判定部６１３による処理と、を並列に実行することが可能になるため、処理性能（処理速度）を低下させることなく消費電力を低減することができる。
【０１１６】
＜実施の形態７＞
図１４は、実施の形態７に係る半導体装置７０を示すブロック図である。半導体装置７０は、半導体装置４０の具体的構成の一つを示したものである。
【０１１７】
図１４に示すように、半導体装置７０は、メモリ部７１と、ロジック部７２と、メモリ部７１及びロジック部７２間を接続するバスＤＢＵＳ，ＦＢＵＳ，ＲＢＵＳと、を備える。なお、データバスＦＢＵＳは、反転フラグ信号が伝搬する１ビット幅のバスである。
【０１１８】
ロジック部７２は、ロジック回路７２１と、記憶データ判定部７２２と、反転判定部７２３と、論理反転部７２５，７２６と、を備える。ロジック回路７２１、反転判定部７２３及び論理反転部７２５，７２６は、それぞれ、ロジック回路２２１、反転判定部２２３及び論理反転部２２５，２２６に対応する。
【０１１９】
ロジック回路７２１は、メモリ部７１に書き込むデータＤｉ７を出力する。記憶データ判定部７２２は、データＤｉ７を反転してメモリ部７１に書き込むか否かを判定し、その判定結果に基づき反転フラグ信号Ｄｆ７及び書き込みデータＤｉ７を同期出力する。論理反転部７２５は、判定結果信号ｒ７に基づいてデータＤｉ７又はその反転データをデータＤｔ７としてデータバスＤＢＵＳに出力する。論理反転部７２６は、判定結果信号ｒ７に基づいて反転フラグ信号Ｄｆ７又はその反転データを反転フラグ信号Ｄｆｔ７としてデータバスＦＢＵＳに出力する。
【０１２０】
例えば、記憶データ判定部７２２は、メモリ部７１に書き込むためのデータＤｉ７を構成する複数ビットのうち、論理値１を示すビットの数が論理値０を示すビットの数より多い場合、反転フラグ信号をＨレベルにし（立ち上げ）、それ以外では、反転フラグ信号をＬレベルにする。
【０１２１】
反転判定部７２３は、記憶データ判定部７２２にて処理される前のデータＤｉ７と、論理反転部７２５から出力され、データバスＤＢＵＳを伝搬する１サイクル前のデータＤｔ７と、を比較して、その比較結果に応じた判定結果信号ｒ７を出力する。
【０１２２】
メモリ部７１は、メモリセルアレイ７１１と、論理反転部７１５〜７１７と、を備える。メモリセルアレイ７１１及び論理反転部７１５，７１６は、それぞれ、メモリセルアレイ２１１及び論理反転部２１５，２１６に対応する。以下では、メモリセルアレイ７１１に記憶されるデータのうち、論理値１を示すデータの方が、論理値０を示すデータよりも、データ保持に必要な消費電流が大きい、又は、データ保持性能が低い場合について説明する。
【０１２３】
論理反転部７１５は、ロジック部７２からバスＲＢＵＳを介して伝達された判定結果信号ｒ７に基づいて、ロジック部７２からデータバスＤＢＵＳを介して伝達されたデータＤｔ７又はその反転データをデータＤｏ７として出力する。
【０１２４】
論理反転部７１６は、ロジック部７２からバスＲＢＵＳを介して伝達された判定結果信号ｒ７に基づいて、ロジック部７２からデータバスＦＢＵＳを介して伝達された反転フラグ信号Ｄｆｔ７又はその反転データを反転フラグ信号Ｄｆ７として出力する。
【０１２５】
そして、論理反転部７１７は、この反転フラグ信号Ｄｆ７に基づいてデータＤｏ７又はその反転データを出力する。論理反転部７１６，７１８からそれぞれ出力された反転フラグ信号Ｄｆ７及びデータＤｏ７は、メモリセルアレイ７１１に書き込まれる。
【０１２６】
それにより、メモリセルアレイ７１１に書き込まれるデータＤｏ７を構成する複数ビットのうち、論理値１を示すビットの数を半分以下に抑えることができる。それにより、消費電流を低減するとともに、データ保持性能を向上させることができる。
【０１２７】
ここで、反転判定部７２３は、記憶データ判定部７２２にて処理される前のデータＤｉ７を用いて、論理反転部７２５にてデータＤｉ７を反転させるか否かを判定している。つまり、反転判定部７２３は、記憶データ判定部７２２による処理結果を待たずに、記憶データ判定部７２２とともに並列に処理を実行している。それにより、記憶データ判定部７２２による処理結果を待って反転判定部７２３にて処理が実行される場合と比較して、処理性能を低下させることなく消費電力を低減することができる。
【０１２８】
本実施の形態では、メモリセルアレイ７１１に記憶されるデータのうち、論理値１を示すデータの方が、論理値０を示すデータよりも、データ保持に必要な消費電流が大きい、又は、データ保持性能自体が低い場合について説明したが、これに限られない。メモリセルアレイ７１１に記憶されるデータのうち、論理値０を示すデータの方が、論理値１を示すデータよりも、データ保持に必要な消費電流が大きい、又は、データ保持性能自体が低い場合も考えられる。いずれにしても、メモリセルアレイ７１１に記憶されるデータのうち、データ保持に必要な消費電流が大きい、又は、データ保持性能が低い論理値を示すデータのビット数が半分以下となるように反転処理を施せばよい。
【０１２９】
＜実施の形態８＞
図１５は、実施の形態８に係る半導体装置８０を示すブロック図である。半導体装置８０は、半導体装置４０の具体的構成の一つを示したものである。
【０１３０】
図１５に示すように、半導体装置８０は、ノイズ処理部８１と、ロジック部８２と、ノイズ処理部８１及びロジック部８２間を接続するバスＤＢＵＳ，ＲＢＵＳと、を備える。ノイズ処理部８１及びロジック部８２は、それぞれ送信部４１及び受信部４２に対応する。
【０１３１】
ノイズ処理部８１は、ノイズフィルタ８１２と、反転判定部８１３と、論理反転部８１４と、を備える。ロジック部８２は、論理反転部８２４を備える。ノイズフィルタ８１２、反転判定部８１３、論理反転部８１４及び論理反転部８１４は、それぞれ処理回路４１２、反転判定部４１３、論理反転部４１４及び論理反転部４２４に対応する。
【０１３２】
つまり、半導体装置８０は、半導体装置４０のうち処理回路４１２をノイズフィルタ８１１に置き換えたものである。半導体装置８０のその他の構成については、半導体装置４０と同様であるため、その説明を省略する。
【０１３３】
ここで、反転判定部８１３は、ノイズフィルタ８１２にて処理される前のデータＤｉ８を用いて、論理反転部８１４にてデータＤａ８を反転させるか否かを判定している。つまり、反転判定部８１３は、ノイズフィルタ８１２による処理結果を待たずに、ノイズフィルタ８１２とともに並列に処理を実行している。それにより、ノイズフィルタ８１２にて処理される前のデータＤｉ８を用いた反転判定の誤差が小さければ、ノイズフィルタ８１２による処理結果を待って反転判定部８１３にて処理が実行される場合と比較して、処理性能を低下させることなく消費電力を低減することができる。
【０１３４】
＜実施の形態９＞
図１６は、実施の形態９に係る半導体装置９０を示すブロック図である。半導体装置９０は、半導体装置４０の具体的構成の一つを示したものである。
【０１３５】
図１６に示すように、半導体装置９０は、仕様変換部９１と、ロジック部９２と、仕様変換部９１及びロジック部９２間を接続するバスＤＢＵＳ，ＲＢＵＳと、を備える。仕様変換部９１及びロジック部９２は、それぞれ送信部４１及び受信部４２に対応する。
【０１３６】
仕様変換部９１は、ロジック信号の仕様を変換して出力する部である。本例では、データの電圧振幅を変換して出力する場合を例に説明するが、これに限られず、長配線伝送系における終端処理方法の変更、差動信号化、多値論理信号化等の仕様変更が行われてもよい。
【０１３７】
仕様変換部９１は、データＤｉ９の電圧振幅を変更してデータＤａ９として出力するレベルシフタ９１２と、反転判定部８１３と、論理反転部９１４と、論理反転部９１４の出力をレベルシフタ９１２による変換前の電圧振幅に戻すレベルシフタ９１５と、を備える。レベルシフタ９１２、反転判定部９１３及び論理反転部９１４は、それぞれ処理回路４１２、反転判定部４１３及び論理反転部４１４に対応する。
【０１３８】
反転判定部９１３は、レベルシフタ９１２にて処理される前のデータＤｉ９と、論理反転部９１４から出力され、データバスＤＢＵＳを伝搬する１サイクル前のデータＤｔ９をレベルシフタ９１５にて変換前の電圧振幅に戻したものと、を比較して、その比較結果に応じた判定結果信号ｒ９を出力する。
【０１３９】
つまり、半導体装置９０は、半導体装置４０のうち処理回路４１２をレベルシフタ９１２に置き換え、かつ、論理反転部９１４の出力を変換前の電圧振幅に戻すレベルシフタ９１５を追加したものである。半導体装置９０のその他の構成については、半導体装置４０と同様であるため、その説明を省略する。
【０１４０】
ここで、反転判定部９１３は、レベルシフタ９１２にて処理される前のデータＤｉ９を用いて、論理反転部９１４にてデータデータＤａ９を反転させるか否かを判定している。つまり、反転判定部９１３は、レベルシフタ９１２による処理結果を待たずに、レベルシフタ９１２とともに並列に処理を実行している。それにより、レベルシフタ９１２による処理結果を待って反転判定部９１３にて処理が実行される場合と比較して、処理性能を低下させることなく消費電力を低減することができる。
【０１４１】
なお、上記したように、反転判定部９１３に入力されるデータＤｔ９は、レベルシフタ９１５を用いて変換前の電圧振幅に戻される必要があるが、レベルシフタ９１５の処理は前サイクルに連動したデータ処理なので遅延を生むことはない。
【０１４２】
以上のように、上記実施の形態１〜９に半導体装置は、ＥＣＣ複合化部などの処理回路の処理結果を待たずに、処理回路にて処理される前のデータを用いて、データバスに伝達するデータを反転させるか否かを判定する処理を行っている。それにより、処理回路による処理と、データバスに伝達するデータを反転させるか否かを判定する処理と、を並列に実行することが可能になるため、処理性能（処理速度）を低下させることなく消費電力を低減することができる。
【０１４３】
なお、メモリセルアレイを搭載した半導体チップと、ロジック機能を有するシステムＬＳＩと、の間のデータバスに対しても、上記実施の形態に係る半導体装置の構成を適用することが可能である。この場合、データビット当たりの消費電流が大きいので、ビット当たりの電流削減効果は大きくなる。さらに、ＴＳＶなどの積層チップ間での接続技術部分に適応することも可能である。この場合、データビット幅が大きくできるので、電流削減効果はさらに大きくなる。このように、複数チップで構成されるモジュールもしくはシステム設計における電流削減にも展開応用する事が可能である。
【０１４４】
例えば、上記の実施の形態に係る半導体装置では、半導体基板、半導体層、拡散層（拡散領域）などの導電型（ｐ型もしくはｎ型）を反転させた構成としてもよい。そのため、ｎ型、及びｐ型の一方の導電型を第１の導電型とし、他方の導電型を第２の導電型とした場合、第１の導電型をｐ型、第２の導電型をｎ型とすることもできるし、反対に第１の導電型をｎ型、第２の導電型をｐ型とすることもできる。
【０１４５】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【０１４６】
１，２  ＬＳＩシステム
１０，２０，３０，４０，５０，６０，７０，８０，９０  半導体装置
１１，２１，３１，７１  メモリ部
１２，２２，３２，７２  ロジック部
１１１，２１１，３１１，７１１  メモリセルアレイ
１１２，３１２  ＥＣＣ復号化部
１１３，２２３，３１３，３２３  反転判定部
１１４，１２４  論理反転部
１２１，２２１，３２１  ロジック回路
２１５，２１６，２２５，２２６  論理反転部
２２２，３２２  ＥＣＣ符号化部
２２４，３２６  ラッチ部
３１４，３１５，３２４，３２５  論理反転部
４１  送信部
４２  受信部
４１２  処理回路
４１３  反転判定部
４１４，４２４  論理反転部
５１  バースト処理部
５２  ロジック部
５１２  パラシリ変換部
５１３  反転判定部
５１４，５２４  論理反転部
６１  バースト処理部
６２  ロジック部
６１２  シリパラ変換部
６１３  反転判定部
６１４，６２４  論理反転部
６１４０〜６１４７，６２４０〜６２４７  論理反転回路
７１５〜７１７，７２５，７２６  論理反転部
７２１  ロジック回路
７２２  記憶データ判定部
７２３  反転判定部
８１  ノイズ処理部
８２  ロジック部
８１２  ノイズフィルタ
８１３  反転判定部
８１４，８２４  論理反転部
９１  仕様変更部
９２  ロジック部
９１２，９１５  レベルシフタ
９１３  反転判定部
９１４，９２４  論理反転部
ＤＢＵＳ，ＰＢＵＳ，ＲＢＵＳ  データバス
ＤＢＵＳ０〜ＤＢＵＳ７  データバス
ＲＢＵＳ０〜ＲＢＵＳ７  データバス
【図１】
2018010663.tif 000003
【図２】
2018010663.tif 000004
【図３】
2018010663.tif 000005
【図４】
2018010663.tif 000006
【図５】
2018010663.tif 000007
【図６】
2018010663.tif 000008
【図７】
2018010663.tif 000009
【図８】
2018010663.tif 000010
【図９】
2018010663.tif 000011
【図１０】
2018010663.tif 000012
【図１１】
2018010663.tif 000013
【図１２】
2018010663.tif 000014
【図１３】
2018010663.tif 000015
【図１４】
2018010663.tif 000016
【図１５】
2018010663.tif 000017
【図１６】
2018010663.tif 000018