(57)【要約】【課題】消費電力を低減することが可能な半導体装置を提供する。【解決手段】半導体装置１Ａは、複数個の第１のデータ群のデータを並べ替えて複数個の第２のデータ群を生成する並べ替え回路５６と、第２のデータ群における第１および第２の論理値のデータ数を比較した結果に基づいて第２のデータ群を反転する書き込みデータ制御回路６１と、書き込みデータ制御回路６１から受けた反転または反転されていない複数個の第２のデータ群をメモリセルに書き込む書き込み回路７１と、複数個の第２のデータ群をメモリセルから読み出す読み出し回路７２と、読み出した第２のデータ群が反転されていた場合には、第２のデータ群を反転する読み出しデータ制御回路６２と、読み出しデータ制御回路６２から受けた複数個の第２のデータ群のデータを並べ替えて複数個の第１のデータ群に復元する並べ替え回路９６とを備える。【選択図】図１
2008059717.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する複数個のメモリセルと、
それぞれデータを複数ビット有する複数個の第１のデータ群を受けて、前記複数個の第１のデータ群の有するデータを並べ替えてそれぞれデータを複数ビット有する複数個の第２のデータ群を生成する第１の並べ替え回路と、
前記複数個の第２のデータ群を受けて、前記第２のデータ群における第１の論理値のデータの数および第２の論理値のデータの数を比較し、前記比較結果に基づいて前記第２のデータ群を反転する書き込みデータ制御回路と、
前記書き込みデータ制御回路から受けた反転または反転されていない前記複数個の第２のデータ群を前記複数個のメモリセルに書き込む書き込み回路と、
前記複数個の第２のデータ群を前記複数個のメモリセルから読み出す読み出し回路と、
前記読み出した第２のデータ群が前記書き込みデータ制御回路によって反転されていた場合には、前記第２のデータ群を反転する読み出しデータ制御回路と、
前記読み出しデータ制御回路から受けた前記複数個の第２のデータ群の有するデータを並べ替えて前記複数個の第１のデータ群に復元する第２の並べ替え回路とを備える半導体装置。
【請求項２】
前記第１の並べ替え回路は、前記複数個の第１のデータ群における同じビット順のデータを集めて前記複数個の第２のデータ群の各々を生成する請求項１記載の半導体装置。
【請求項３】
前記複数個の第１のデータ群は、隣接する複数個の画素データに対応する請求項１記載の半導体装置。
【請求項４】
前記複数個の第１のデータ群は、１個おきに配置された複数個の画素データに対応する請求項１記載の半導体装置。
【請求項５】
前記メモリセルは、
データを記憶するデータ記憶部と、
前記データ記憶部からデータを読み出す読み出しポート部とを含み、
前記読み出しポート部は、
読み出しワード線と、
読み出しビット線と、
制御電極が前記読み出しワード線に電気的に接続され、第１の導通電極が前記データ記憶部に電気的に接続され、第２の導通電極が前記読み出しビット線に電気的に接続されるトランジスタとを含む請求項１記載の半導体装置。
【請求項６】
前記メモリセルは、
データを記憶するデータ記憶部と、
前記データ記憶部からデータを読み出す読み出しポート部とを含み、
前記読み出しポート部は、
読み出しワード線と、
読み出しビット線と、
第１の導通電極が所定電位に電気的に接続され、制御電極が前記データ記憶部に電気的に接続される第１のトランジスタと、
第１の導通電極が前記第１のトランジスタの第２の導通電極に電気的に接続され、第２の導通電極が前記読み出しビット線に電気的に接続され、制御電極が前記読み出しワード線に電気的に接続される第２のトランジスタとを含む請求項１記載の半導体装置。
【請求項７】
前記半導体装置は、さらに、
フラグ用メモリセルを備え、
前記書き込みデータ制御回路は、さらに、前記第２のデータ群を反転する場合には、前記第２のデータ群が反転されていることを表わすフラグデータを前記書き込み回路へ出力し、
前記書き込み回路は、さらに、前記フラグデータを前記フラグ用メモリセルに書き込み、
前記読み出し回路は、さらに、前記フラグデータを前記フラグ用メモリセルから読み出し、
前記読み出しデータ制御回路は、前記読み出した第２のデータ群が反転されていることを前記読み出したフラグデータが表わす場合には、前記読み出した第２のデータ群を反転する請求項１記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、特に、リフレッシュ動作を実行することなく記憶データを保持することが可能な半導体装置に関する。
【背景技術】
【０００２】
ＭＯＳ（Metal Oxide Semiconductor）技術により構成されるＲＡＭ(Random Access Memory)には、ＤＲＡＭ(Dynamic RAM)とＳＲＡＭ(Static RAM)が存在する。ＤＲＡＭ（Dynamic Random Access Memory）は、コンデンサに蓄えられた電荷の有無を論理値”１”および論理値”０”に対応させるものである。ＤＲＡＭは、１個のトランジスタおよび１個の容量のみでメモリセルが構成されるため、大容量化に適しており低価格となるが、リフレッシュ動作が必要であるためＳＲＡＭと比較して動作速度が遅い。
【０００３】
一方、ＳＲＡＭではフリップフロップ回路によりメモリセルが構成されるためにメモリセルの面積が大きくなるが、（１）読み出し/書き込み動作が高速であり、（２）待機時の消費電力が小さく、（３）システムへの組み込みが容易であり、（４）ＣＭＯＳ（Complementary Metal Oxide Semiconductor）ロジックプロセスで実現できるため、システムＬＳＩに集積化しやすいという種々の利点を有する。このため、コンピュータのキャッシュメモリ、電池で駆動される携帯機器の記憶装置ならびにＣＰＵ（Central Processing Unit）およびＤＳＰ（Digital Signal Processing）に搭載されるキャッシュメモリとして広く利用されている。
【０００４】
ＳＲＡＭの一例として、たとえば、特許文献１には、以下のような半導体記憶装置が開示されている。すなわち、行列状に配置される複数のメモリセルを含むメモリセルアレイと、データ信号を入力し、データ信号において一方の論理値の数が他方の論理値の数より多い場合にデータ信号を反転し、反転または非反転のデータ信号およびデータ信号が反転および非反転のいずれであるかを示すデータ信号のフラグ信号をメモリセルに書き込むデータ入力回路と、反転または非反転のデータ信号および該データ信号のフラグ信号をメモリセルから読み出し、フラグ信号が反転を示す場合、反転または非反転のデータ信号を再度反転するデータ出力回路とを備え、複数のメモリセルの各々は、データを記憶保持するデータ記憶部と、データ記憶部からデータを読み出す読み出しポート部とを含み、読み出しポート部は、行方向に配置される読み出しワード線と、列方向に配置される読み出しビット線と、ソースが第１の電源線に接続され、ゲートがデータ記憶部に接続される第１のトランジスタと、第１のトランジスタと読み出しビット線との間に接続され、ゲートが読み出しワード線に接続される第２のトランジスタとを有する。このような構成により、消費電力の低減を図ることができる。
【特許文献１】特開２００５−４４４５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、近年、メモリの面積が増大しており、ＩＴＲＳ(International Technology Roadmap for Semiconductors)２００３によれば２０１３年にはＳｏＣ(System on a Chip)においてメモリの占める面積の割合は９０％以上に達すると予想されている。実時間動画像処理プロセッサにおいても、この傾向が現れている。たとえば、ＨＤＴＶ（High Definition Television）に使用される、Ｈ２６４規格のエンコーダにはサーチウインドウバッファとして、少なくとも５００ｋｂｉｔのメモリが必要であり、全消費電力のうち４０％が消費される。また、プロセスの微細化が進むにつれ、実時間動画像処理プロセッサのフレームバッファなどに大容量のＳＲＡＭが使用され、消費電力の大部分を占めると考えられる。
【０００６】
したがって、実時間動画像処理プロセッサ等の低消費電力化には、ＳＲＡＭ等のさらなる低消費電力化が必要不可欠である。
【０００７】
それゆえに、本発明の目的は、消費電力を低減することが可能な半導体装置を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある局面に係る半導体装置は、データを記憶する複数個のメモリセルと、それぞれデータを複数ビット有する複数個の第１のデータ群を受けて、複数個の第１のデータ群の有するデータを並べ替えてそれぞれデータを複数ビット有する複数個の第２のデータ群を生成する第１の並べ替え回路と、複数個の第２のデータ群を受けて、第２のデータ群における第１の論理値のデータの数および第２の論理値のデータの数を比較し、比較結果に基づいて第２のデータ群を反転する書き込みデータ制御回路と、書き込みデータ制御回路から受けた反転または反転されていない複数個の第２のデータ群を複数個のメモリセルに書き込む書き込み回路と、複数個の第２のデータ群を複数個のメモリセルから読み出す読み出し回路と、読み出した第２のデータ群が書き込みデータ制御回路によって反転されていた場合には、第２のデータ群を反転する読み出しデータ制御回路と、読み出しデータ制御回路から受けた複数個の第２のデータ群の有するデータを並べ替えて複数個の第１のデータ群に復元する第２の並べ替え回路とを備える。
【発明の効果】
【０００９】
本発明によれば、消費電力を低減することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【００１１】
図１は、本発明の実施の形態に係る半導体装置１Ａの概略的な構成を示す機能ブロック図である。
【００１２】
図１を参照して、本発明の実施の形態に係る半導体装置１Ａは、メモリセルアレイ２と、書き込みデータ制御回路６１と、並べ替え回路（第１の並べ替え回路）５６と、書き込み回路７１と、読み出し回路７２と、読み出しデータ制御回路６２と、並べ替え回路（第２の並べ替え回路）９６と、トライステートバッファ回路９５とを備える。書き込み回路７１は、書き込みポート用行デコーダ３と、書き込みポート用列デコーダ４と、書き込みポート制御回路６と、書き込みドライバ回路５４ｓおよび５４ｔとを含む。読み出し回路７２は、読み出しポート用行デコーダ７と、読み出しポート用列デコーダ８と、読み出しポート制御回路１０と、センスアンプ回路９１とを含む。
【００１３】
書き込みデータ制御回路６１は、論理制御回路５１と、インバータ回路５２と、セレクタ５３とを含む。読み出しデータ制御回路６２は、フラグ判定回路９２と、インバータ回路９３と、セレクタ９４とを含む。
【００１４】
メモリセルアレイ２は、フラグビット用メモリセルアレイ２０と、データビット用メモリセルアレイ２１とを含む。フラグビット用メモリセルアレイ２０と、データビット用メモリセルアレイ２１とは、それぞれデータを記憶する複数個のメモリセルを含む。メモリセルアレイ２の具体的な構成については、後で説明する。
【００１５】
書き込みポート用行デコーダ３は、書き込みポート用行アドレス信号ＲＡＡｉ（ｉ＝１〜ｍ：ｍは０以上の整数）が示す書き込みワード線ＷＷＬｉを活性化する。なお、総称的に記す場合には、添え字ｉを省略することもある。
【００１６】
並べ替え回路５６は、ｎビット（ｎは自然数）の入力データＤＩｎを受ける。入力データＤＩｎは、各々が、複数個の第１のデータ群を含む。並べ替え回路５６は、複数個の第１のデータ群の有するデータを並べ替えてデータを複数ビット有する複数個の第２のデータ群を生成する。
【００１７】
書き込みデータ制御回路６１は、並べ替え回路５６から受けた第２のデータ群における論理値”１”のデータの数および論理値”０”のデータの数を比較し、比較結果に基づいて、第２のデータ群を反転する。より詳細には、書き込みデータ制御回路６１は、並べ替え回路５６から受けた第２のデータ群の有する複数ビットのデータのうち、論理値“０”（以下、単に“０”で表わす場合もある）のデータ数が論理値“１”（以下、単に“１”で表わす場合もある）のデータ数以上である場合には、第２のデータ群の有する複数ビットのデータの論理値を反転し、書き込み回路７１へ出力する。
【００１８】
書き込み回路７１は、書き込みデータ制御回路６１から受けた反転または反転されていない複数個の第２のデータ群をデータビット用メモリセルアレイ２１における複数個のメモリセルに書き込む。
【００１９】
読み出し回路７２は、書き込みデータ制御回路６１が書き込んだ複数個の第２のデータ群をデータビット用メモリセルアレイ２１における複数個のメモリセルから読み出して出力する。
【００２０】
読み出しデータ制御回路６２は、読み出し回路７２から受けた第２のデータ群のデータの論理値が書き込みデータ制御回路６１によって反転されていた場合には、第２のデータ群の有する複数ビットのデータの論理値を反転して出力する。
【００２１】
並べ替え回路９６は、読み出しデータ制御回路６２から受けた複数個の第２のデータ群の有するデータを並べ替えて複数個の第１のデータ群に復元する。
【００２２】
次に、上記の動作に対応する、より下位レベルの回路の動作を説明する。論理制御回路５１は、並べ替え回路５６から受けた第２のデータ群の有する複数ビットのデータのうち、“０”のデータおよび“１”のデータのどちらが多いかを判定する。論理制御回路５１は、“１”のデータが“０”のデータより多い場合、“０”のフラグデータＦＬＡをセレクタ５３および書き込みドライバ回路５４ｓに出力する。一方、論理制御回路５１は、“１”のデータが“０”のデータより少ないか同じ数である場合、“１”のフラグデータＦＬＡをセレクタ５３および書き込みドライバ回路５４ｓに出力する。
【００２３】
インバータ回路５２は、並べ替え回路５６から受けたデータの論理値を反転する。セレクタ５３は、フラグデータＦＬＡの論理値が“０”のとき、並べ替え回路５６から受けたデータを選択し、選択したデータを書き込みドライバ回路５４ｔに出力する。一方、セレクタ５３は、フラグデータＦＬＡの論理値が“１”のとき、インバータ回路５２から受けたデータを書き込みドライバ回路５４ｔに出力する。
【００２４】
書き込みドライバ回路５４ｓは、書き込み制御信号ＷＥに応じて、書き込みデータ線対ＷＤＬ，／ＷＤＬを介してフラグデータＦＬＡを書き込みポート用列デコーダ４に出力する。書き込みドライバ回路５４ｔは、書き込み制御信号ＷＥに応じて、書き込みデータ線対ＷＤＬ，／ＷＤＬを介して、セレクタ５３から受けたデータを書き込みポート用列デコーダ４に出力する。
【００２５】
書き込みポート用列デコーダ４は、フラグビット用メモリセルアレイ２０における指定されたアドレスに、フラグデータＦＬＡを書き込む。また、書き込みポート用列デコーダ４は、データビット用メモリセルアレイ２１における指定されたアドレスに、セレクタ５３から受けたデータを書き込む。すなわち、書き込みポート用列デコーダ４は、書き込みポート用列アドレス信号ＣＡＡｊ（ｊ＝１〜ｋ：ｋは０以上の整数）が示す書き込みビット線対ＷＢＬｊを介してメモリセルアレイ２にデータを書き込む。なお、書き込みビット線ＷＢＬｊは、書き込みビット線ＷＢＬｊのみを意味する場合もあり、書き込みビット線対ＷＢＬｊ，／ＷＢＬｊを意味する場合もある。また、総称的に記す場合には、添え字ｊを省略することもある。
【００２６】
書き込みポート制御回路６は、書き込みポート用クロック信号ＣＬＫＡおよび書き込み制御信号ＷＥを受けて、書き込みポート用行デコーダ３、書き込みポート用列デコーダ４、および書き込みデータ制御回路６１を制御して、メモリセルアレイ２に対するデータ書き込みを行なう。データ書き込みは、書き込みポート用クロック信号ＣＬＫＡに同期して行われる。また、書き込み制御信号ＷＥは、メモリセルアレイ２に対してデータ書き込みを行なうか否かを制御するための信号である。
【００２７】
読み出しポート用行デコーダ７は、読み出しポート用行アドレス信号ＲＡＢｉ（ｉ＝１〜ｍ：ｍは０以上の整数）が示す読み出しワード線ＲＷＬｉを活性化する。なお、総称的に記す場合には、添え字ｉを省略することもある。
【００２８】
読み出しポート用列デコーダ８は、読み出しポート用列アドレス信号ＣＡＢｊ（ｊ＝１〜ｋ：ｋは０以上の整数）が示す読み出しビット線対ＲＢＬｊに現れる、メモリセルアレイ２の記憶データに基づく読み出し信号を読み出しデータ線ＲＤＬに出力する。なお、読み出しビット線ＲＢＬｊは、読み出しビット線ＲＢＬｊを意味する場合もあり、読み出しビット線対ＲＢＬｊ，／ＲＢＬｊを意味する場合もある。また、総称的に記す場合には、添え字ｊを省略することもある。
【００２９】
センスアンプ回路９１は、読み出しデータ線ＲＤＬからの読み出し信号を受けて、メモリセルアレイ２の記憶データの論理値が“０”であるか“１”であるかを判別する。フラグ判定回路９２は、読み出しデータ線ＲＤＬからの読み出し信号を受けて、メモリセルアレイ２が記憶するフラグデータＦＬＡの論理値が“０”であるか“１”であるかを判定し、判定結果をセレクタ９４に出力する。
【００３０】
インバータ回路９３は、センスアンプ回路９１から受けたデータの論理値を反転する。セレクタ９４は、センスアンプ回路９１からのデータ、およびインバータ回路９３からのデータを受ける。
【００３１】
セレクタ９４は、フラグデータＦＬＡの論理値が“０”であると判定された場合には、センスアンプ回路９１からのデータを選択し、並べ替え回路９６に出力する。すなわち、フラグデータＦＬＡの論理値が“０”である場合には、データビット用メモリセルアレイ２１における指定されたアドレスに対応するメモリセルの記憶データは並べ替え回路５６の出力データであるため、読み出しデータ制御回路６２は、センスアンプ回路９１から受けたデータを選択することによって、並べ替え回路５６の出力データに復元することができる。
【００３２】
一方、セレクタ９４は、フラグデータＦＬＡの論理値が“１”であると判定された場合には、インバータ回路９３からのデータを選択し、並べ替え回路９６に出力する。すなわち、フラグデータＦＬＡの論理値が“１”である場合には、データビット用メモリセルアレイ２１における指定されたアドレスに対応するメモリセルの記憶データは書き込みデータ制御回路５３によって論理値が反転されたデータであるため、インバータ９３から受けたデータを選択することによって、並べ替え回路５６の出力データに復元することができる。
【００３３】
並べ替え回路９６は、セレクタ９４から受けたデータ、すなわち複数個の第２のデータ群の有するデータを並べ替えて複数個の第１のデータ群に復元する。
【００３４】
トライステートバッファ回路９５は、データ出力制御信号ＯＥに応じて、並べ替え回路９６から受けたデータを読み出しデータＤＯｎとして出力する。
【００３５】
読み出しポート制御回路１０は、読み出しポート用クロック信号ＣＬＫＢ、読み出し制御信号ＲＥ、およびデータ出力制御信号ＯＥを受けて、読み出しポート用行デコーダ７、書き込みポート用列デコーダ８、および読み出しデータ制御回路６２を制御して、メモリセルアレイ２に対するデータ読み出しを行なう。データ読み出しは、読み出しポート用クロック信号ＣＬＫＢに同期して行われる。読み出し制御信号ＲＥは、メモリセルアレイ２に対してデータ読み出しを行なうか否かを制御するための信号である。また、データ出力制御信号ＯＥは、読み出しデータＤＯｎが出力されるノードをフローティング状態にするか否かを制御するための信号である。
【００３６】
次に、半導体装置１Ａにおけるメモリセルアレイ２の一例であるメモリセルアレイ２ａの具体的構成について詳細に説明する。
【００３７】
図２は、本発明の実施の形態に係るメモリセルアレイ２ａの具体的な構成を示す図である。
【００３８】
図２を参照して、本発明の実施の形態に係るメモリセルアレイ２ａは、フラグビット用メモリセルアレイ２０ａと、データビット用メモリセルアレイ２１ａ１〜２１ａ４と、行方向に配置された読み出しワード線ＲＷＬｐおよび書き込みワード線ＷＷＬｐ（ｐ＝１〜１６）と、列方向に配置された読み出しビット線ＲＢＬｑおよび書き込みビット線ＷＢＬｑ（ｑ＝００，０１，１０，１１，…，４０，４１）とを含む。なお、データビット用メモリセル２１ａ３は、データビット用メモリセル２１ａ１，２１ａ２，２１ａ４から構成が類推可能であるため、図２ではスペースの関係により図示していない。同様に、読み出しワード線ＲＷＬｐｉおよび書き込みワード線ＷＷＬｐｉ（ｐｉ＝３〜１４）もまた、スペースの関係により、図２では図示していない。また、図２は、メモリセルアレイ２ａの行アドレスのビット数が４ビットであり、列アドレスのビット数が１ビットである場合を示している。
【００３９】
行アドレスのビット数は４ビットなので、図１の書き込みポート用行デコーダ３および読み出しポート用行デコーダ７が選択できる行数は１６である。すなわち、メモリセルアレイ２ａの総行数は、図２に示すように１６行となる。一方、列アドレスのビット数は１ビットなので、図１の書き込みポート用列デコーダ４および読み出しポート用列デコーダ８が選択できる列数は２である。すなわち、データビット用メモリセルアレイ２１ａ１〜２１ａ４の総列数は８列となる。また、フラグビット用メモリセルアレイ２０ａにおけるメモリセルの列数は２となる。
【００４０】
よって、フラグビット用メモリセルアレイ２０ａおよびデータビット用メモリセルアレイ２１ａ１〜２１ａ４から構成されるメモリセルアレイ２ａは、１６行１０列の構成となる。
【００４１】
フラグビット用メモリセルアレイ２０ａは、メモリセル２０１ａ〜２０８ａを含む。読み出しビット線ＲＢＬ００および書き込みビット線ＷＢＬ００は、メモリセル２０１ａ〜２０４ａに共通に接続される。読み出しビット線ＲＢＬ０１および書き込みビット線ＷＢＬ０１は、メモリセル２０５ａ〜２０８ａに共通に接続される。
【００４２】
データビット用メモリセルアレイ２１ａ１は、メモリセル２１１ａ〜２１８ａを含む。読み出しビット線ＲＢＬ１０および書き込みビット線ＷＢＬ１０は、メモリセル２１１ａ〜２１４ａに共通に接続される。読み出しビット線ＲＢＬ１１および書き込みビット線ＷＢＬ１１は、メモリセル２１５ａ〜２１８ａに共通に接続される。データビット用メモリセルアレイ２１ａ２〜２１ａ４は、データビット用メモリセルアレイ２１ａ１と同様の構成を有するので、ここでは説明を繰り返さない。
【００４３】
読み出しワード線ＲＷＬ１および書き込みワード線ＷＷＬ１は、メモリセル２０１ａ，２０５ａ，２１１ａ，２１５ａ，…，２４１ａ，２４５ａに共通に接続される。読み出しワード線ＲＷＬ２〜ＲＷＬ１６および書き込みワード線ＷＷＬ２〜ＷＷＬ１６についても同様なので、ここでは説明を繰り返さない。なお、読み出しワード線ＲＷＬｐｉおよび書き込みワード線ＷＷＬｐｉ（ｐｉ＝３〜１４）に対応するメモリセルは、スペースの関係により図２では図示していない。
【００４４】
なお、メモリセル２０１ａ〜２４８ａのうち、メモリセル２０１ａ〜２０８ａにのみハッチングが施されているが、これは、フラグビット用メモリセルアレイ２０ａにおけるメモリセルとデータビット用メモリセルアレイ２１ａ１〜２１ａ４におけるメモリセルとを視覚的に区別するためであって、メモリセル２０１ａ〜２４８ａの構成はすべて同一である。
【００４５】
次に、半導体装置１Ａにおけるメモリセルアレイ２の一例であるメモリセルアレイ２ｂの具体的構成について詳細に説明する。
【００４６】
図３は、本発明の実施の形態に係るメモリセルアレイ２ｂの具体的な構成を示す図である。
【００４７】
図３を参照して、本発明の実施の形態に係るメモリセルアレイ２ｂは、フラグビット用メモリセルアレイ２０ｂと、データビット用メモリセルアレイ２１ｂ１〜２１ｂ４と、行方向に配置された読み出しワード線ＲＷＬｐおよび書き込みワード線ＷＷＬｐ（ｐ＝１〜１６）と、列方向に配置された読み出しビット線ＲＢＬｑおよび書き込みビット線対ＷＢＬｑ，／ＷＢＬｑ（ｑ＝００，０１，１０，１１，…，４０，４１）とを含む。なお、データビット用メモリセル２１ｂ３は、データビット用メモリセル２１ｂ１，２１ｂ２，２１ｂ４から構成が類推可能であるため、図３ではスペースの関係により図示していない。同様に、読み出しワード線ＲＷＬｐｉおよび書き込みワード線ＷＷＬｐｉ（ｐｉ＝３〜１４）もまた、スペースの関係により、図３では図示していない。また、図３は、メモリセルアレイ２ｂは、メモリセルアレイ２ａと同じく、行アドレスのビット数が４ビットであり、列アドレスのビット数が１ビットである場合を示している。
【００４８】
よって、フラグビット用メモリセルアレイ２０ｂおよびデータビット用メモリセルアレイ２１ｂ１〜２１ｂ４から構成されるメモリセルアレイ２ｂは、メモリセルアレイ２ａと同じく、１６行１０列の構成となる。
【００４９】
フラグビット用メモリセルアレイ２０ｂは、メモリセル２０１ｂ〜２０８ｂを含む。読み出しビット線ＲＢＬ００および書き込みビット線対ＷＢＬ００，／ＷＢＬ００は、メモリセル２０１ｂ〜２０４ｂに共通に接続される。読み出しビット線ＲＢＬ０１および書き込みビット線対ＷＢＬ０１，／ＷＢＬ０１は、メモリセル２０５ｂ〜２０８ｂに共通に接続される。
【００５０】
データビット用メモリセルアレイ２１ｂ１は、メモリセル２１１ｂ〜２１８ｂを含む。読み出しビット線ＲＢＬ１０および書き込みビット線対ＷＢＬ１０，／ＷＢＬ１０は、メモリセル２１１ｂ〜２１４ｂに共通に接続される。読み出しビット線ＲＢＬ１１および書き込みビット線対ＷＢＬ１１，／ＷＢＬ１１は、メモリセル２１５ｂ〜２１８ｂに共通に接続される。データビット用メモリセルアレイ２１ｂ２〜２１ｂ４は、データビット用メモリセルアレイ２１ｂ１と同様の構成を有するので、ここでは説明を繰り返さない。
【００５１】
読み出しワード線ＲＷＬ１および書き込みワード線ＷＷＬ１は、メモリセル２０１ｂ，２０５ｂ，２１１ｂ，２１５ｂ，…，２４１ｂ，２４５ｂに共通に接続される。読み出しワード線ＲＷＬ２〜ＲＷＬ１６および書き込みワード線ＷＷＬ２〜ＷＷＬ１６についても同様なので、ここでは説明を繰り返さない。なお、読み出しワード線ＲＷＬｐｉおよび書き込みワード線ＷＷＬｐｉ（ｐｉ＝３〜１４）に対応するメモリセルは、スペースの関係により図３では図示していない。
【００５２】
なお、メモリセル２０１ｂ〜２４８ｂのうち、メモリセル２０１ｂ〜２０８ｂにのみハッチングが施されているが、これは、フラグビット用メモリセルアレイ２０ｂにおけるメモリセルとデータビット用メモリセルアレイ２１ｂ１〜２１ｂ４におけるメモリセルとを視覚的に区別するためであって、メモリセル２０１ｂ〜２４８ｂの構成はすべて同一である。
【００５３】
上記のようにメモリセルアレイ２をメモリセルアレイ２ａまたは２ｂのように構成することによって、指定したアドレスにデータビットおよびフラグビットの情報をメモリセルアレイ２に同時に書き込むことが可能となる。また、指定したアドレスにおけるデータビットおよびフラグビットの情報をメモリセルアレイ２から同時に読み出すことも可能となる。
【００５４】
次に、メモリセルアレイ２ａにおけるメモリセル２０１ａ〜２４８ａを代表したメモリセル２００ａの具体的な回路構成について詳細に説明する。
【００５５】
図４は、本発明の実施の形態に係るメモリセル２００ａの具体的な回路構成を示す回路図である。
【００５６】
図４を参照して、本発明の実施の形態に係るメモリセル２００ａは、データ記憶部Ｍ１と、書き込みポート部ＷＰ１と、読み出しポート部ＲＰ１とを含む。書き込みポート部ＷＰ１は、書き込みビット線ＷＢＬと、書き込みワード線ＷＷＬと、ＮチャネルＭＯＳトランジスタ１０３とを含む。読み出しポート部ＲＰ１は、読み出しビット線ＲＢＬと、読み出しワード線ＲＷＬと、ＮチャネルＭＯＳトランジスタ１０６とを含む。データ記憶部Ｍ１は、記憶ノードＮ１およびＮ２と、インバータ１０１および１０２とを含む。
【００５７】
インバータ１０１および１０２は、記憶ノードＮ１と記憶ノードＮ２との間に互いに環状に接続される。
【００５８】
ＮチャネルＭＯＳトランジスタ１０６は、記憶ノードＮ２と読み出しビット線ＲＢＬとの間に接続される。すなわち、ＮチャネルＭＯＳトランジスタ１０６は、ゲート（制御電極）が読み出しワード線に電気的に接続され、ソース（導通電極）が記憶ノードＮ２に電気的に接続され、ドレイン（導通電極）が読み出しビット線ＲＢＬに電気的に接続される。
【００５９】
ＮチャネルＭＯＳトランジスタ１０３は、記憶ノードＮ１と書き込みビット線ＷＢＬとの間に接続される。すなわち、ＮチャネルＭＯＳトランジスタ１０３は、ゲート（制御電極）が書き込みワード線ＷＷＬに電気的に接続され、ソース（導通電極）が記憶ノードＮ１に電気的に接続され、ドレイン（導通電極）が書き込みビット線ＷＢＬに電気的に接続される。
【００６０】
データ記憶部Ｍ１は、データを記憶する。書き込みポート部ＷＰ１は、データ記憶部Ｍ１にデータを書き込む。読み出しポート部ＲＰ１は、データ記憶部Ｍ１から記憶データを読み出す。
【００６１】
このように、メモリセル２００ａは、書き込みポートおよび読み出しポートを備えた２ポートＳＲＡＭのメモリセル構成を有する。
【００６２】
次に、メモリセルアレイ２ｂにおけるメモリセル２０１ｂ〜２４８ｂを代表したメモリセル２００ｂの具体的な回路構成について詳細に説明する。
【００６３】
図５は、本発明の実施の形態に係るメモリセル２００ｂの具体的な回路構成を示す回路図である。
【００６４】
図５を参照して、本発明の実施の形態に係るメモリセル２００ｂは、データ記憶部Ｍ２と、書き込みポート部ＷＰ２と、読み出しポート部ＲＰ２とを含む。書き込みポート部ＷＰ２は、書き込みビット線ＷＢＬ，／ＷＢＬと、書き込みワード線ＷＷＬと、ＮチャネルＭＯＳトランジスタ１１３および１１４とを含む。読み出しポート部ＲＰ２は、読み出しビット線ＲＢＬと、読み出しワード線ＲＷＬと、ＮチャネルＭＯＳトランジスタ１１５および１１６とを含む。データ記憶部Ｍ２は、記憶ノードＮ１およびＮ２と、インバータ１１１および１１２とを含む。
【００６５】
インバータ１１１および１１２は、記憶ノードＮ１と記憶ノードＮ２との間に互いに環状に接続される。
ＮチャネルＭＯＳトランジスタ１１３は、ソース（導通電極）が記憶ノードＮ１に電気的に接続され、ドレイン（導通電極）が書き込みビット線ＷＢＬに電気的に接続され、ゲート（制御電極）が書き込みワード線ＷＷＬに電気的に接続される。ＮチャネルＭＯＳトランジスタ１１４は、ソース（導通電極）が記憶ノードＮ２に電気的に接続され、ドレイン（導通電極）が書き込みビット線／ＷＢＬに電気的に接続され、ゲート（制御電極）が書き込みワード線ＷＷＬに電気的に接続される。
【００６６】
ＮチャネルＭＯＳトランジスタ（第１のトランジスタ）１１５は、ソース（導通電極）が接地線ＧＮＤすなわち接地電位に電気的に接続され、ゲート（制御電極）が記憶ノードＮ２に電気的に接続される。ＮチャネルＭＯＳトランジスタ（第２のトランジスタ）１１６は、ソース（導通電極）がＮチャネルＭＯＳトランジスタ１１５のドレイン（導通電極）に電気的に接続され、ドレイン（導通電極）が読み出しビット線ＲＢＬに電気的に接続され、ゲート（制御電極）が読み出しワード線ＲＷＬに電気的に接続される。
【００６７】
データ記憶部Ｍ２は、データを記憶する。書き込みポート部ＷＰ２は、データ記憶部Ｍ２にデータを書き込む。読み出しポート部ＲＰ２は、データ記憶部Ｍ２から記憶データを読み出す。
【００６８】
このように、メモリセル２００ｂもまた、書き込みポートおよび読み出しポートを備えた２ポートＳＲＡＭのメモリセル構成を有する。
【００６９】
なお、メモリセル２００ａおよび２００ｂは一例であって、読み出しポートを備えた他のメモリセル（たとえば、ＲＯＭ（Read Only Memory）メモリセル）であってもよい。以下では、これらのメモリセルの中から代表して、メモリセル２００ｂの動作について詳細に説明する。
【００７０】
図６は、本発明の実施の形態に係るメモリセル２００ｂにおける書き込みポート部ＷＰ２の書き込み動作を説明するための波形図である。
【００７１】
図６を参照して、まず、図５のメモリセル２００ｂに“０”（Ｌレベル）のデータを書き込む場合について説明する。時刻ｔ１またはｔ５までに、書き込みビット線対ＷＢＬ，／ＷＢＬの電位がそれぞれＬレベル，Ｈレベルとなるように、図示しないドライブ回路によって予めドライブしておく。この状態で、時刻ｔ１またはｔ５において、書き込みワード線ＷＷＬをＬレベルからＨレベルに変化させる。これにより、ＮチャネルＭＯＳトランジスタ１１３および１１４（アクセストランジスタ）がオンとなり、書き込みビット線ＷＢＬおよび記憶ノードＮ１が電気的に接続され、また、書き込みビット線／ＷＢＬおよび記憶ノードＮ２が電気的に接続される。
【００７２】
ここで、書き込みビット線対ＷＢＬ，／ＷＢＬはＬレベル，Ｈレベルにそれぞれ強くドライブされているので、記憶ノードＮ１およびＮ２は、それまでの保持データにかかわらず、Ｌレベル，Ｈレベルにそれぞれ変化する。すなわち、時刻ｔ１〜ｔ３または時刻ｔ５〜ｔ７において、図５のメモリセル２００ｂ（記憶ノードＮ１）には“０”が書き込まれる。
【００７３】
その後、時刻ｔ２またはｔ６において、書き込みワード線ＷＷＬがＨレベルからＬレベルとなる。これにより、ＮチャネルＭＯＳトランジスタ１１３および１１４（アクセストランジスタ）がオフとなり、記憶ノードＮ１およびＮ２は、各々書き込まれたレベルすなわちＬレベル，Ｈレベルで安定し、データを保持する。
【００７４】
次に、図５のメモリセル２００ｂに“１”（Ｈレベル）のデータを書き込む場合について説明する。時刻ｔ３までに、書き込みビット線対ＷＢＬ，／ＷＢＬの電位がそれぞれＨレベル，Ｌレベルとなるように、図示しないドライブ回路によって予めドライブしておく。この状態で、時刻ｔ３において、書き込みワード線ＷＷＬをＬレベルからＨレベルに変化させる。これにより、図５を参照して、ＮチャネルＭＯＳトランジスタ１１３および１１４（アクセストランジスタ）がオンとなり、書き込みビット線ＷＢＬおよび記憶ノードＮ１が電気的に接続され、また、書き込みビット線／ＷＢＬおよび記憶ノードＮ２が電気的に接続される。
【００７５】
ここで、書き込みビット線対ＷＢＬ，／ＷＢＬはＨレベル，Ｌレベルにそれぞれ強くドライブされているので、記憶ノードＮ１およびＮ２は、それまでの保持データにかかわらず、Ｈレベル，Ｌレベルにそれぞれ変化する。すなわち、時刻ｔ３〜ｔ５において、図５のメモリセル２００ｂ（記憶ノードＮ１）には“１”が書き込まれる。
【００７６】
その後、時刻ｔ４において、書き込みワード線ＷＷＬがＨレベルからＬレベルとなる。これにより、ＮチャネルＭＯＳトランジスタ１１３および１１４（アクセストランジスタ）がオフとなり、記憶ノードＮ１およびＮ２は、各々書き込まれたレベルすなわちＨレベル，Ｌレベルで安定し、データを保持する。
【００７７】
図７は、本発明の実施の形態に係るメモリセル２００ｂにおける読み出しポート部ＲＰ２の読み出し動作を説明するための波形図である。
【００７８】
図７を参照して、まず、図５のメモリセル２００ｂから“０”（Ｌレベル）のデータを読み出す場合について説明する。このとき、記憶ノードＮ１およびＮ２には、それぞれＬレベル，Ｈレベルが保持されている。また、ＮチャネルＭＯＳトランジスタ１１５はオンである。
【００７９】
時刻ｔ１またはｔ５までに、読み出しビット線ＲＢＬの電位がＨレベルとなるように、図示しないプリチャージ回路によって予めプリチャージしておく。この状態で、時刻ｔ１またはｔ５経過後において、読み出しワード線ＲＷＬをＬレベルからＨレベルに変化させる。これにより、ＮチャネルＭＯＳトランジスタ１１６がオンとなる。
【００８０】
ここで、ＮチャネルＭＯＳトランジスタ１１５は既にオンであるため、読み出しビット線ＲＢＬと接地線ＧＮＤとが、ＮチャネルＭＯＳトランジスタ１１５，１１６を介して電気的に接続される。このため、読み出しビット線ＲＢＬは、プリチャージレベルであるＨレベルからＬレベルに変化する。その結果、時刻ｔ１〜ｔ３または時刻ｔ５〜ｔ７において、図５のメモリセル２００ｂに保持されているデータ、すなわち記憶ノードＮ２の反転データ（記憶ノードＮ１のデータ）である“０”が読み出される。
【００８１】
その後、時刻ｔ２またはｔ６において、読み出しワード線ＲＷＬがＨレベルからＬレベルとなる。これにより、ＮチャネルＭＯＳトランジスタ１１６がオフとなり、読み出しビット線ＲＢＬと接地線ＧＮＤとが電気的に遮断される。そして、次の読み出し動作のため、時刻ｔ３またはｔ７までに、読み出しビット線ＲＢＬを予めＨレベルに再びプリチャージしておく。
【００８２】
次に、図５のメモリセル２００ｂから“１”（Ｈレベル）のデータを読み出す場合について説明する。このとき、記憶ノードＮ１およびＮ２には、それぞれＨレベル，Ｌレベルが保持されている。また、ＮチャネルＭＯＳトランジスタ１１５はオフである。
【００８３】
前述のように、時刻ｔ３までに、読み出しビット線ＲＢＬの電位がＨレベルとなるように、図示しないプリチャージ回路によって予めプリチャージされている。この状態で、時刻ｔ３経過後において、読み出しワード線ＲＷＬをＬレベルからＨレベルに変化させる。これにより、ＮチャネルＭＯＳトランジスタ１１６がオンとなる。
【００８４】
ここで、ＮチャネルＭＯＳトランジスタ１１５はオフであるため、読み出しビット線ＲＢＬと接地線ＧＮＤとは電気的に遮断されたままである。したがって、読み出しビット線ＲＢＬは、プリチャージレベルであるＨレベルのまま変化しない。その結果、時刻ｔ３〜ｔ５において、図５のメモリセル２００ｂに保持されているデータ、すなわち記憶ノードＮ２の反転データ（記憶ノードＮ１のデータ）である“１”が読み出される。
【００８５】
その後、時刻ｔ４において、読み出しワード線ＲＷＬがＨレベルからＬレベルとなる。これにより、ＮチャネルＭＯＳトランジスタ１１６がオフとなる。そして、次の読み出し動作のため、時刻ｔ５までに、読み出しビット線ＲＢＬを予めＨレベルに再びプリチャージしておく。
【００８６】
このように、図５のメモリセル２００ｂは、“１”（Ｈレベル）のデータが読み出される場合において読み出しビット線ＲＢＬの電位は変化しないが、“０”（Ｌレベル）のデータが読み出される場合には、読み出しビット線ＲＢＬの電位が変化する。すなわち、“１”を読み出す場合には読み出しビット線ＲＢＬにおける充放電によって電力は消費されないのに対して、“０”を読み出す場合には、読み出しビット線ＲＢＬにおける充放電によって電力が消費される。
【００８７】
次に、図５のメモリセル２００ｂにおいて、書き込み動作も読み出し動作も行なわれていない待機時におけるスタンバイリーク電流について説明する。
【００８８】
図５を参照して、ＮチャネルＭＯＳトランジスタ１１５では、メモリセル２００ｂの記憶データの論理値が“０”であるか“１”であるかによって、リーク電流の大小に大きく差が出る。
【００８９】
メモリセル２００ｂにおいて“０”のデータが記憶されている場合、すなわち記憶ノードＮ１およびＮ２がそれぞれＬレベル，Ｈレベルの場合、ＮチャネルＭＯＳトランジスタ１１５はオンとなる。これにより、ＮチャネルＭＯＳトランジスタ１１５のゲート（記憶ノードＮ２）から接地線ＧＮＤにゲートリーク電流が流れる。一方、メモリセル２００ｂにおいて“１”のデータが記憶されている場合、すなわち記憶ノードＮ１およびＮ２がそれぞれＨレベル，Ｌレベルの場合、ＮチャネルＭＯＳトランジスタ１１５はオフとなる。このため、ゲートリーク電流はほとんど流れない。
【００９０】
このように、メモリセル２００ｂが“１”（Ｈレベル）のデータを記憶している場合には、ゲートリーク電流がほとんど流れないことから電力はほとんど消費されない。これに対して、メモリセル２００ｂが“０”（Ｌレベル）のデータを記憶している場合には、ＮチャネルＭＯＳトランジスタ１１５のゲート（記憶ノードＮ２）から接地線ＧＮＤにゲートリーク電流が流れることから電力が消費される。
【００９１】
以上のように、図５のメモリセル２００ｂは、記憶しているデータの論理値が“０”であるか“１”であるかに応じて、読み出し動作時および待機時における消費電力が変わる。つまり、“１”を保持しているメモリセルが多いほど、読み出し動作時および待機時における電力消費量が少なくなる。これは、読み出しポートを備えた他のメモリセルたとえば図４のメモリセル２００ａであっても同様である。
【００９２】
図８は、本発明の実施の形態に係る半導体装置１Ａにおける論理制御回路５１の動作を説明するための図である。
【００９３】
図８における１個の四角形は、１ビットのデータを記憶するメモリセルに対応する。図８は、メモリセルアレイが４行８列のメモリセルで構成され、４ワード×８ビットのデータすなわち８ビットのデータを４ワード分記憶する例を示している。つまり、各行は１ワードのデータに対応し、各列は１ビットのデータに対応する。
【００９４】
前述したように、メモリセルは、“０”を記憶しているよりも“１”を記憶している方が消費電力は小さい。そこで、８ビットからなる１ワードのデータにおいて“０”の個数が“１”の個数より多い場合には、全データの論理値を反転させる。その際、反転したデータか否かを示すフラグビットには“１”が設定される。具体例について、図８（Ａ），（Ｂ）を参照しながら説明する。
【００９５】
図８（Ａ）は、論理制御回路５１が受けるデータを示し、図８（Ｂ）は、論理制御回路５１が出力するデータを示す。
【００９６】
図８（Ａ）に示すように、０番地のデータは“００００００００”で“０”の数が多い。そのため、図８（Ｂ）に示すように、０番地のデータは反転されて“１１１１１１１１”となる。また、反転したというフラグ情報“１”が、同じ０番地のフラグビットに設定される。３番地のデータも同じく“０”の数が多いので、論理値が反転され、フラグ情報“１”がフラグビットに設定される。一方、１番地および２番地のデータについては、“０”の数より“１”の数の方が多いため、データは反転されず、フラグ情報“０”がフラグビットに設定される。
【００９７】
論理制御回路５１によって反転または反転されなかった０番地〜３番地のデータは、メモリセルアレイ２におけるメモリセルに書き込まれる。メモリセルに書き込まれたデータは、メモリセルに対するデータ読み出し時、フラグデータＦＬＡの論理値が“１”である番地に対応するデータだけ読み出しデータ制御回路６２によって反転され、読み出しデータＤＯ０〜ＤＯ７として出力される。
【００９８】
以上のような動作により、４行８列のメモリセルアレイにおいて、“０”を記憶しているメモリセルが１９個存在するところを５個に減らすことができる。このように、“０”のデータ数が“１”のデータ数より多い番地のデータだけ反転してメモリセルに書き込み、メモリセルからデータを読み出す際にはフラグ情報に基づいて当該番地のデータを反転して読み出すことにより、“０”を記憶するメモリセルの数を減らすことができる。その結果、読み出し動作時および待機時における消費電力を低減することが可能となる。
【００９９】
図９は、書き込みデータ制御回路６１および読み出しデータ制御回路６２による消費電力削減効果を示すグラフ図である。図９において、横軸は半導体装置１Ａの入力データＤＩｎの１ワードにおける論理値”１”のデータ数を示す。縦軸はメモリセルの記憶データの１ワードにおける論理値”０”のデータ数を示す。入力データＤＩｎのビット幅は８ｂｉｔすなわち１ワードが８ｂｉｔであると仮定している。グラフＡは、半導体装置１Ａが並べ替え回路５６および５９ならびに書き込みデータ制御回路６１および読み出しデータ制御回路６２を備えないと仮定した場合を示す。グラフＢは、半導体装置１Ａが並べ替え回路５６および５９を備えないと仮定した場合を示す。
【０１００】
図９を参照して、入力データＤＩｎの１ワード中に論理値“１”のデータが８個存在する場合、グラフＢの半導体装置は、入力データＤＩｎの反転を行なわず、メモリセルの記憶データの１ワード中の論理値”０”のデータはフラグビットの１個だけとなる。一方、グラフＡの半導体装置では、メモリセルの記憶データの１ワード中に論理値”０”のデータが存在しない。したがって、グラフＢの半導体装置の方が読み出しビット線ＲＢＬにおける充放電による電力消費が大きくなる。
【０１０１】
つまり、入力データＤＩｎの１ワードにおける論理値“１”のデータ数が５個以上である場合には、フラグビットの論理値が”０”となるため、フラグビットによるオーバヘッドＶＨが発生する。一方、入力データＤＩｎの１ワードにおける論理値“１”のデータ数が４個以下である場合には、論理制御回路５１が入力データＤＩｎを反転するため、入力データＤＩｎの１ワードにおける論理値”０のデータ数が削減されて論理値”１”のデータ数が増加することから、読み出しビット線ＲＢＬにおける充放電による電力消費を削減することができる。
【０１０２】
ここで、入力データＤＩｎが完全なランダムパターンである場合における、グラフＢの半導体装置の消費電力削減効果について解析する。
【０１０３】
グラフＡの半導体装置では、メモリセルの記憶データの１ワードにおける論理値”０”のデータの平均個数μａは以下のようになる。
【０１０４】
【数１】
2008059717.tif 000003
【０１０５】
一方、グラフＢの半導体装置では、メモリセルの記憶データの１ワードにおける論理値”０”のデータの平均個数μｂは以下のようになる。
【０１０６】
【数２】
2008059717.tif 000004
【０１０７】
したがって、入力データＤＩｎが完全なランダムパターンである場合、半導体装置がデータ制御回路６１および読み出しデータ制御回路６２を備える構成とすることにより、読出しビット線ＲＢＬにおける充放電による電力消費を１８％削減することができる。
【０１０８】
そして、本発明の実施の形態に係る半導体装置１Ａでは、並べ替え回路５６および９６を備えることにより、読出しビット線ＲＢＬにおける充放電による電力消費をさらに低減する。以下、並べ替え回路５６の動作について説明する。
【０１０９】
図１０は、本発明の実施の形態に係る半導体装置１Ａにおける並べ替え回路５６の動作を説明するための図である。
【０１１０】
図１０を参照して、並べ替え回路５６は、各々が、データを８ビット有するｍ（ｍは２以上の整数）個の第１のデータ群Ｇ１〜Ｇｍを受ける。第１のデータ群Ｇ１〜Ｇｍは、たとえばＨ２６４規格の動画像における隣接するｍ個の画素データに対応する。ここでは、１個の画素データは、８ビットのデータで構成されると仮定する。なお、半導体装置１Ａが、走査線を１本おきに変更して１つの画像を２回に分けて更新するインターレース方式に対応する等の場合には、第１のデータ群Ｇ１〜Ｇｍは、１個おきに配置されたｍ個の画素データに対応する構成であってもよい。
【０１１１】
並べ替え回路５６は、たとえば第１のデータ群Ｇ１〜Ｇｍにおける同じビット順のデータをグループ化して第２のデータ群ＲＧ１〜ＲＧ８を生成する。すなわち、並べ替え回路５６は、第１のデータ群Ｇ１〜Ｇｍの７ビット目のデータを集めて第２のデータ群ＲＧ１とし、第１のデータ群Ｇ１〜Ｇｍの６ビット目のデータを集めて第２のデータ群ＲＧ２とし、同様に、第１のデータ群Ｇ１〜Ｇｍの５ビット目〜０ビット目のデータを集めてそれぞれ第２のデータ群ＲＧ３〜ＲＧ８を生成する。
【０１１２】
書き込みデータ制御回路６１は、並べ替え回路５６から第２のデータ群ＲＧ１〜ＲＧ８を受けて、第２のデータ群の有する８ビットのデータのうち、“１”のデータが“０”のデータより少ないか同じ数である場合、第２のデータ群の論理値を反転する。そして、書き込みデータ制御回路６１は、第２のデータ群の論理値を反転した場合には、反転したデータであることを示す“１”をフラグビットに設定する。
【０１１３】
図１０に示す例では、書き込みデータ制御回路６１は、第２のデータ群ＲＧ１においては“０”のデータが“１”のデータより多いため、第２のデータ群ＲＧ１の論理値を反転し、かつフラグビットに“１”を設定している。また、書き込みデータ制御回路６１は、第２のデータ群ＲＧ２およびＲＧ８においては“１”のデータが“０”のデータより多いため、第２のデータ群ＲＧ２およびＲＧ８の論理値を反転せず、かつフラグビットに“０”を設定している。
【０１１４】
そして、読み出しデータ制御回路６２は、読み出し回路７２から受けた第２のデータ群が書き込みデータ制御回路６１によって反転されているか否かを対応のフラグビットに基づいて判断し、反転されている場合には第２のデータ群を反転する。
【０１１５】
ここでは、読み出しデータ制御回路６２は、対応のフラグビットの論理値が”１”であることから第２のデータ群ＲＧ１の論理値を反転して出力し、また、対応のフラグビットの論理値が”０”であることから第２のデータ群ＲＧ２およびＲＧ８の論理値を反転せずに出力する。
【０１１６】
並べ替え回路９６は、並べ替え回路５６が行なった並べ替え手順と逆の並べ替え手順に従って、読み出しデータ制御回路６２から受けた第２のデータ群ＲＧ１〜ＲＧ８を第１のデータ群Ｇ１〜Ｇｍに復元する。
【０１１７】
ここで、一般的に、動画像は隣接する複数個の画素間で強い相関性をもつ。特に、画素データの上位ビットほど相関性が強く、隣接する複数個の画素の最上位ビットの論理値は高い確率ですべて”０”または”１”となる。また、画素データの下位ビットほど相関性が弱く、隣接する複数個の画素の最下位ビットの論理値はランダムとなる。
【０１１８】
図１１は、Ｈ２６４規格のコーデックが処理するデータ構造の一例を示す図である。
図１１を参照して、Ｈ２６４規格のコーデックが処理するデータには、ＹＵＶフォーマットが用いられる。１個の画素データは、８ビットの輝度信号（Ｙ信号）と、４ビットの色差信号（Ｕ信号およびＶ信号）とを含む。ここでは、簡単のためにＹ信号のみを用いて説明を行なっている。また、Ｈ２６４規格のコーデックが処理する動画像として、１０種類のＨＤＴＶ（High Definition Television）解像度の標準テスト用の動画像シーケンスである、“Bronze with Credit”(Bronze)、“Building along the Canal”(Canal)、“Church”(Church)、“Intersections”(Inters)、“Japanese Room”(Jpnroom)、“European Market”(Market)、“Yachting”(Sail)、“Street Car”(Stcar)、“Whale Show”(Whale)および“Yacht Harbor”(Yacht)を用いて説明する。以下、これらの動画像シーケンスを、シーケンスＳ１〜Ｓ１０とも称する。
【０１１９】
図１２（ａ）は、シーケンスＳ６において隣接する８個の画素データ間のビット順ごとの相関性を示すグラフ図である。図１２（ｂ）は、シーケンスＳ２において隣接する８個の画素データ間のビット順ごとの相関性を示すグラフ図である。図１２（ａ）および（ｂ）において、横軸は半導体装置１Ａの入力データＤＩｎにおける１ワード（８ビット）あたりの論理値”１”のデータ数を示す。縦軸は隣接する８個の画素データにおける同じビット順のデータにおいて、論理値”１”のデータ数が所定数となる確率を示す。
【０１２０】
図１２（ａ）および（ｂ）を参照して、隣接する各画素のデータの最上位ビットである７ビット目（ＭＳＢ）の論理値は、すべて”０”または”１”になる可能性が大きい。また、隣接する各画素のデータの最下位ビットである０ビット目（ＬＳＢ）の確率分布は、ほぼ二項分布となっており、隣接する各画素のデータの最下位ビット同士は相関性が低いということが分かる。
【０１２１】
図１３は、ＨＤＴＶ解像度の標準テスト用の動画像シーケンスを記憶処理した場合における、書き込みデータ制御回路６１および読み出しデータ制御回路６２による消費電力削減効果を示すグラフ図である。図１３において、横軸は動画像シーケンスの種類を示す。縦軸は図９に示すグラフＡの半導体装置における読み出しビット線ＲＢＬの充放電電力を１００％とした場合の、グラフＢの半導体装置における読み出しビット線ＲＢＬの充放電電力を示す。
【０１２２】
図１３を参照して、半導体装置がデータ制御回路６１および読み出しデータ制御回路６２を備える構成とすることにより、１０種類の動画像シーケンスにおいて、読出しビット線ＲＢＬにおける充放電による電力消費を平均で２０％削減することができる。
【０１２３】
次に、入力データＤＩｎのデータ構成について説明する。ここでは、半導体装置１Ａが入力データＤＩｎとして隣接する８個の画素のデータを取得する場合について説明する。また、画像には画素が行列状に配置され、図１４においては横方向を行方向とし、縦方向を列方向とする。
【０１２４】
図１４（ａ）は、半導体装置１Ａが１行８列の画素データを取得する場合の入力データＤＩｎの構成を示す図である。図１４（ｂ）は、半導体装置１Ａが２行４列の画素データを取得する場合の入力データＤＩｎの構成を示す図である。図１４（ｃ）は、半導体装置１Ａが４列の画素を１行飛ばしで２行取得する場合の入力データＤＩｎの構成を示す図である。図１４（ｄ）は、半導体装置１Ａが４行２列の画素データを取得する場合の入力データＤＩｎの構成を示す図である。図１４（ｅ）は、半導体装置１Ａが２列の画素データを１行飛ばしで４行取得する場合の入力データＤＩｎの構成を示す図である。図１４（ｆ）は、半導体装置１Ａが８行１列の画素データを取得する場合の入力データＤＩｎの構成を示す図である。図１４（ｇ）は、半導体装置１Ａが１列の画素データを１行飛ばしで８行取得する場合の入力データＤＩｎの構成を示す図である。図１４において、半導体装置１Ａは、０〜７の付された８個の画素データを取得し、次に、ａ〜ｈの付された８個の画素データを取得する。
【０１２５】
図１５は、インターレース画像の一例を示す図である。図１５を参照して、インターレース画像では、奇数行の画素および偶数行の画素の更新されるタイミングが異なる。したがって、図１４（ｃ）、（ｅ）および（ｇ）に示したように、画像の縦方向に画素データを取得する場合には、１行飛ばしで画素データを取得する方が各画素データの相関性が高くなる可能性がある。
【０１２６】
図１６は、ＨＤＴＶ解像度の標準テスト用の動画像シーケンスを記憶処理した場合における、画素データの取得方法と半導体装置１Ａによる消費電力削減効果との関係を示すグラフ図である。
【０１２７】
図１６において、横軸は動画像シーケンスの種類を示す。縦軸は図９に示すグラフＡの半導体装置における読み出しビット線ＲＢＬの充放電電力を１００％とした場合の、本発明の第１の実施の形態に係る半導体装置１Ａにおける読み出しビット線ＲＢＬの充放電電力を示す。
【０１２８】
図１６を参照して、図１４（ａ）に示す画素データの取得方法すなわち半導体装置１Ａが画像の横方向に連続する８個の画素データを取得する場合、読み出しビット線ＲＢＬの充放電電力を最も削減することができる。これは、前述のようにインターレース画像では、奇数行の画素および偶数行の画素の更新されるタイミングが異なるため、画像の縦方向に連続する画素データを取得する場合、各画素データの相関性が低くなるからである。また、１行飛ばしに画素データを取得する場合には、インターレース画像において、奇数行の画素および偶数行の画素間での更新タイミングの相違による影響を排除できるが、縦方向に離れた画素のデータを取得するため、取得した画素データ同士の相関性が低くなってしまうからである。
【０１２９】
図１７は、ＨＤＴＶ解像度の標準テスト用の動画像シーケンスを記憶処理した場合における、半導体装置１Ａによる消費電力削減効果を示すグラフ図である。
【０１３０】
図１７において、横軸は動画像シーケンスの種類を示す。縦軸は図９に示すグラフＡの半導体装置における読み出しビット線ＲＢＬの充放電電力を１００％とした場合の、本発明の第１の実施の形態に係る半導体装置１Ａにおける読み出しビット線ＲＢＬの充放電電力を示す。ｍは、半導体装置１Ａが画像の横方向に連続して取得する画素データの個数である。
【０１３１】
図１７を参照して、ｍ＝８の場合、すなわち半導体装置１Ａが画像の横方向に８個の画素データを連続して取得する構成である場合、読み出しビット線ＲＢＬの充放電電力の削減効果は最大となる。すなわち、１０種類の動画像シーケンスにおいて、読出しビット線ＲＢＬにおける充放電による電力消費を平均で４５％削減することができる。
【０１３２】
図１８は、ＨＤＴＶ解像度の標準テスト用の動画像シーケンスの再構成画像を記憶処理した場合における、半導体装置１Ａによる消費電力削減効果を示すグラフ図である。ここで、再構成画像とは、Ｈ２６４規格のコーデックにおいて、原画像を符号化し、符号化したデータをループフィルタへ出力し、ループフィルタを通過した後のデータに対応する画像のことであり、動き補償器で使用されるものである。図の他の見方は図１７と同様である。
【０１３３】
図１８を参照して、ｍ＝８の場合、すなわち半導体装置１Ａが画像の横方向に８個の画素データを連続して取得する構成である場合、読み出しビット線ＲＢＬの充放電電力の削減効果は最大となる。すなわち、１０種類の動画像シーケンスの再構成画像において、読出しビット線ＲＢＬにおける充放電による電力消費を平均で５３％削減することができる。
【０１３４】
ところで、本発明の実施の形態に係る半導体装置１Ａでは、並べ替え回路５６が、それぞれデータを複数ビット有する複数個の第１のデータ群を受けて、複数個の第１のデータ群の有するデータを並べ替えてそれぞれデータを複数ビット有する複数個の第２のデータ群を生成する。そして、書き込みデータ制御回路６１が、並べ替え回路５６から受けた第２のデータ群における論理値”１”のデータの数および論理値”０”のデータの数を比較し、比較結果に基づいて、第２のデータ群を反転する。
【０１３５】
このような構成により、並べ替え回路５６が、所定のアルゴリズムに基づいて、複数個の第１のデータ群のデータを同じ論理値のデータが連続するように並べ替えて読み出しデータ制御回路６２へ出力することができる。すなわち、メモリセルアレイ２に書き込まれるデータの論理値が”０”となる確率を高めることができ、データ読み出し時の読み出しビット線における充放電による電力消費、および待機時のゲートリーク電流による電力消費をさらに低減することができる。
【０１３６】
なお、並べ替え回路５６および９６は、たとえば、配線のみを含み、後段の回路との接続関係を所定のアルゴリズムに基づいて構成することによって、複数個の第１のデータ群の並べ替えおよび複数個の第２のデータ群の並べ替えを実現する。また、並べ替え回路５６および９６は、論理回路を含み、論理回路の組み合わせによって複数個の第１のデータ群の並べ替えおよび複数個の第２のデータ群の並べ替えを実現する構成であってもよい。また、ＣＰＵ（Central Processing Unit）等の機能の一部として並べ替え回路５６および９６が構成され、複数個の第１のデータ群の並べ替えおよび複数個の第２のデータ群の並べ替えを実現する構成であってもよい。
【０１３７】
また、本発明の実施の形態に係る半導体装置１Ａでは、メモリセルアレイ２におけるメモリセルは、記憶しているデータの論理値に応じて読み出し動作時および待機時における消費電力が変わる構成であるとしたが、これに限定するものではない。半導体装置が備える何らかの回路に起因して、メモリセルが記憶しているデータの論理値に応じて消費電力が変わる半導体装置であれば、本発明を適用することができる。
【０１３８】
また、本発明は、Ｈ２６４規格だけでなく、ＭＰＥＧ（Moving Picture Coding Experts Group）−２およびＭＰＥＧ−４等、他の画像処理一般にも適用することが可能である。
【０１３９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１４０】
【図１】本発明の実施の形態に係る半導体装置１Ａの概略的な構成を示す機能ブロック図である。
【図２】本発明の実施の形態に係るメモリセルアレイ２ａの具体的な構成を示す図である。
【図３】本発明の実施の形態に係るメモリセルアレイ２ｂの具体的な構成を示す図である。
【図４】本発明の実施の形態に係るメモリセル２００ａの具体的な回路構成を示す回路図である。
【図５】本発明の実施の形態に係るメモリセル２００ｂの具体的な回路構成を示す回路図である。
【図６】本発明の実施の形態に係るメモリセル２００ｂにおける書き込みポート部ＷＰ２の書き込み動作を説明するための波形図である。
【図７】本発明の実施の形態に係るメモリセル２００ｂにおける読み出しポート部ＲＰ２の読み出し動作を説明するための波形図である。
【図８】本発明の実施の形態に係る半導体装置１Ａにおける論理制御回路５１の動作を説明するための図である。
【図９】書き込みデータ制御回路６１および読み出しデータ制御回路６２による消費電力削減効果を示すグラフ図である。
【図１０】本発明の実施の形態に係る半導体装置１Ａにおける並べ替え回路５６の動作を説明するための図である。
【図１１】Ｈ２６４規格のコーデックが処理するデータ構造の一例を示す図である。
【図１２】（ａ）は、シーケンスＳ６において隣接する８個の画素データ間のビット順ごとの相関性を示すグラフ図である。（ｂ）は、シーケンスＳ２において隣接する８個の画素データ間のビット順ごとの相関性を示すグラフ図である。
【図１３】ＨＤＴＶ解像度の標準テスト用の動画像シーケンスを記憶処理した場合における、書き込みデータ制御回路６１および読み出しデータ制御回路６２による消費電力削減効果を示すグラフ図である。
【図１４】（ａ）は、半導体装置１Ａが１行８列の画素データを取得する場合の入力データＤＩｎの構成を示す図である。（ｂ）は、半導体装置１Ａが２行４列の画素データを取得する場合の入力データＤＩｎの構成を示す図である。（ｃ）は、半導体装置１Ａが４列の画素を１行飛ばしで２行取得する場合の入力データＤＩｎの構成を示す図である。（ｄ）は、半導体装置１Ａが４行２列の画素データを取得する場合の入力データＤＩｎの構成を示す図である。（ｅ）は、半導体装置１Ａが２列の画素データを１行飛ばしで４行取得する場合の入力データＤＩｎの構成を示す図である。（ｆ）は、半導体装置１Ａが８行１列の画素データを取得する場合の入力データＤＩｎの構成を示す図である。（ｇ）は、半導体装置１Ａが１列の画素データを１行飛ばしで８行取得する場合の入力データＤＩｎの構成を示す図である。
【図１５】インターレース画像の一例を示す図である。
【図１６】ＨＤＴＶ解像度の標準テスト用の動画像シーケンスを記憶処理した場合における、画素データの取得方法と半導体装置１Ａによる消費電力削減効果との関係を示すグラフ図である。
【図１７】ＨＤＴＶ解像度の標準テスト用の動画像シーケンスを記憶処理した場合における、半導体装置１Ａによる消費電力削減効果を示すグラフ図である。
【図１８】ＨＤＴＶ解像度の標準テスト用の動画像シーケンスの再構成画像を記憶処理した場合における、半導体装置１Ａによる消費電力削減効果を示すグラフ図である。
【符号の説明】
【０１４１】
１Ａ  半導体装置、２，２ａ，２ｂ  メモリセルアレイ、３  書き込みポート用行デコーダ、４  書き込みポート用列デコーダ、６  書き込みポート制御回路、７  読み出しポート用行デコーダ、８  読み出しポート用列デコーダ、１０  読み出しポート制御回路、２０，２０ａ，２０ｂ  フラグビット用メモリセルアレイ、２１，２１ａ１〜２１ａ４，２１ｂ１〜２１ｂ４  データビット用メモリセルアレイ、５１  論理制御回路、５２，９３  インバータ回路、５３，９４  セレクタ、５４ｓ，５４ｔ  書き込みドライバ回路、５６  並べ替え回路（第１の並べ替え回路）、６１  書き込みデータ制御回路、６２  読み出しデータ制御回路、７１  書き込み回路、７２  読み出し回路、９１  センスアンプ回路、９２  フラグ判定回路、９５  トライステートバッファ回路、９６  並べ替え回路（第２の並べ替え回路）、１０１，１０２，１１１，１１２  インバータ、１０３〜１０６  ＮチャネルＭＯＳトランジスタ、２００ａ，２００ｂ  メモリセル、Ｍ１，Ｍ２  データ記憶部、Ｎ１，Ｎ２  記憶ノード、ＲＷＬ，ＲＷＬｐ  読み出しワード線、ＷＷＬ，ＷＷＬｐ  書き込みワード線、ＲＢＬ，／ＲＢＬ，ＲＢＬｑ，／ＲＢＬｑ  読み出しビット線、ＷＢＬ，／ＷＢＬ，ＷＢＬｑ，／ＷＢＬｑ  書き込みビット線、ＷＰ１，ＷＰ２  書き込みポート部、ＲＰ１，ＲＰ２  読み出しポート部。
【図１】
2008059717.tif 000005
【図２】
2008059717.tif 000006
【図３】
2008059717.tif 000007
【図４】
2008059717.tif 000008
【図５】
2008059717.tif 000009
【図６】
2008059717.tif 000010
【図７】
2008059717.tif 000011
【図８】
2008059717.tif 000012
【図９】
2008059717.tif 000013
【図１０】
2008059717.tif 000014
【図１１】
2008059717.tif 000015
【図１２】
2008059717.tif 000016
【図１３】
2008059717.tif 000017
【図１４】
2008059717.tif 000018
【図１５】
2008059717.tif 000019
【図１６】
2008059717.tif 000020
【図１７】
2008059717.tif 000021
【図１８】
2008059717.tif 000022