(57)【要約】【課題】  読出し時および待機時における消費電力を低減することが可能な半導体記憶装置を提供する。【解決手段】  ０番地の入力データは“００００００００”で“０”の数が多い。そのため、０番地のデータは反転されて“１１１１１１１１”となる。このとき同時に、反転したというフラグ情報“１”を、同じ０番地のフラグビットに書き込む。３番地の入力データも同じく“０”の数が多いので、データを反転し、フラグ情報“１”を書き込む。一方、１，２番地の入力データについては、“０”の数より“１”の数の方が多いため、データは反転されず、フラグ情報“０”が書き込まれる。書き込まれたデータは、読み出される際にフラグ信号ＦＬＡが“１”の番地のデータだけ再度反転され、データ出力信号ＤＯ０〜ＤＯ７として最終的に読み出される。【選択図】        図１０
2005044456.tif 000002
【特許請求の範囲】
【請求項１】
行列状に配置される複数のメモリセルを含むメモリセルアレイと、
データ入力信号を受けて、前記データ入力信号において一方の論理値の数が他方の論理値の数より多い番地のデータを反転するとともにフラグ信号の該番地を反転して前記メモリセルに書き込むデータ入力回路と、
前記フラグ信号に基づいて、一方の論理値の数が他方の論理値の数より多い番地のデータを前記メモリセルから再度反転して読み出すデータ出力回路とを備え、
前記複数のメモリセルの各々は、
データを記憶保持するデータ記憶部と、
前記データ記憶部からデータを読み出す読出ポート部とを含み、
前記読出ポート部は、
行方向に配置される読出ワード線と、
列方向に配置される読出ビット線と、
ソースが第１の電源線に接続され、ゲートが前記データ記憶部に接続される第１のトランジスタと、
前記第１のトランジスタと前記読出ビット線との間に接続され、ゲートが前記読出ワード線に接続される第２のトランジスタとを有する、半導体記憶装置。
【請求項２】
前記データ入力回路は、
前記データ入力信号における一方の論理値の数と他方の論理値の数とを比較し、該比較結果に応じて前記フラグ信号の対応する番地を反転または非反転とする多数決論理判定回路と、
前記フラグ信号に応じて、前記データ入力信号の反転信号および非反転信号のいずれか一方を選択するセレクタ回路と、
書込制御信号に応じて、前記セレクタ回路からの出力信号を前記メモリセルに書き込む書込みドライバ回路とを含む、請求項１に記載の半導体記憶装置。
【請求項３】
前記データ出力回路は、
前記メモリセルから読み出されるデータが一方の論理値であるか他方の論理値であるかを逐次判定するセンスアンプ回路と、
前記フラグ信号に応じて、前記センスアンプ信号からの出力信号の反転信号および非反転信号のいずれか一方を選択するセレクタ回路と、
データ出力制御信号に応じて、前記セレクタ回路からの出力信号をデータ出力信号として出力するバッファ回路とを含む、請求項１に記載の半導体記憶装置。
【請求項４】
前記データ入力回路は、前記データ入力信号のビット分割を行い、該ビット分割に応じて前記フラグ信号のフラグビットを複数設ける、請求項１に記載の半導体記憶装置。
【請求項５】
前記データ入力回路は、
クロック信号に同期して、前記データ入力信号をラッチするとともに、多数決線対の電位レベルを制御する複数のフリップフロップ回路と、
前記多数決線対の電位レベルに応じて、多数決論理判定信号を出力するセンスアンプ回路と、
前記多数決論理判定信号に応じて、前記複数のフリップフロップ回路からの出力信号の反転信号および非反転信号のいずれか一方を選択する複数のセレクタ回路と、
書込制御信号に応じて、前記複数のセレクタ回路からの出力信号を前記メモリセルに書き込む複数の書込みドライバ回路とを含む、請求項１に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体記憶装置に関し、より特定的には、リフレッシュ動作を実行することなく記憶データを保持することが可能な半導体記憶装置に関する。
【背景技術】
【０００２】
データ書込み時におけるランダムアクセスメモリの消費電力を削減する一手法が、特許文献１に開示されている。
【０００３】
特許文献１に記載された従来のデータ処理装置は、データ書込み時に“０”の数と“１”の数とを検出し、“０”の数が少ない場合には、反転したデータを書込むとともに、反転したかどうかのフラグ情報も書込む。そして、読出し時には、当該フラグ情報に応じてデータを反転する。これにより、メモリセルに保持されているデータを反転させる頻度が少なくなるため、データ書込み時における消費電力を低減することができる。
【特許文献１】特開２００２−３６６４１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された従来のデータ処理装置では、加算器を用いて“０”の数と“１”の数とを比較する回路例が示されている。この場合、データ入力が多ビットになると、論理回路の段数が増大する。これにより、遅延時間が増大し、回路規模も大きくなるという問題点があった。また、特許文献１に記載された従来のデータ処理装置は、メモリの具体的な回路構成について全く説明していないという問題点があった。
【０００５】
また、特許文献１に記載された従来のデータ処理装置において、通常のシングルポートＳＲＡＭ（Static Random Access Memory）のメモリセルでメモリブロックを構成した場合、読出し動作において、ビット線対のいずれか一方の電位レベルが必ず変化する。この場合、読出し動作の度に、ビット線の充放電による電力消費が必ず起きるという問題点があった。
【０００６】
また、特許文献１に記載されたようなデータ処理装置では、通常、書込みによって一度記憶させたデータを後々何度も読み出すことが多い。そのため、データ処理装置のマイクロプロセッサがメモリセルにアクセスする頻度は、一般に、書込みよりも読出しの方が多くなる。したがって、メモリアクセス時における消費電力を低減するには、書込み動作時よりも読出し動作時の消費電力を低減する方が、より効果的である。しかしながら、特許文献１に記載された従来のデータ処理装置は、書込み動作時の低消費電力化を図ったものであり、読出し動作時の低消費電力化を図ったものではないという問題点があった。
【０００７】
また、半導体集積回路の微細化にともない、特許文献１に記載されたようなデータ処理装置において、１チップに搭載するＳＲＡＭの搭載規模が増大してきている。ＳＲＡＭの搭載規模が増大すると、１チップ内に複数個のメモリブロックが搭載されるようになってくる。その結果、アクセスしている、すなわち動作状態のメモリブロックにおける読出し動作や書込み動作による消費電力ばかりでなく、アクセスしていない、すなわち待機状態のメモリブロックにおけるスタンバイリーク電流による消費電力も増大してくる。
【０００８】
半導体集積回路の微細化によってＭＯＳトランジスタのゲート長が１μｍ以下になってくると、ゲート絶縁膜も１０〜２０Å程度にまで薄膜化が進む。その結果、これまで無視されてきたゲートトンネルリーク電流成分も増大し、待機状態でのスタンバイリーク電流は、さらに増加してくる。したがって、ＳＲＡＭのスタンバイリーク電流を低減することも、チップ全体の消費電力を低減するためには重要となってきている。しかしながら、特許文献１に記載された従来のデータ処理装置は、書込み動作時の低消費電力化を図ったものであり、待機状態時の低消費電力化を図ったものではないという問題点があった。
【０００９】
また、特許文献１に記載された従来のデータ処理装置において、通常のシングルポートＳＲＡＭのメモリセルでメモリブロックを構成した場合、待機時に流れるスタンバイリーク電流は、保持データ（書込みデータ）が“０”であっても“１”であっても同じである。この場合、特許文献１のように書込みデータを反転しただけでは、待機時に流れるスタンバイリーク電流を低減する効果は得られないという問題点があった。
【００１０】
この発明は、上記の諸問題を解決するためになされたものであって、その目的は、読出し時および待機時における消費電力を低減することが可能な半導体記憶装置を提供することである。
【課題を解決するための手段】
【００１１】
この発明による半導体記憶装置は、行列状に配置される複数のメモリセルを含むメモリセルアレイと、データ入力信号を受けて、データ入力信号において一方の論理値の数が他方の論理値の数より多い番地のデータを反転するとともにフラグ信号の該番地を反転してメモリセルに書き込むデータ入力回路と、フラグ信号に基づいて、一方の論理値の数が他方の論理値の数より多い番地のデータをメモリセルから再度反転して読み出すデータ出力回路とを備える。複数のメモリセルの各々は、データを記憶保持するデータ記憶部と、データ記憶部からデータを読み出す読出ポート部とを含む。読出ポート部は、行方向に配置される読出ワード線と、列方向に配置される読出ビット線と、ソースが第１の電源線に接続され、ゲートがデータ記憶部に接続される第１のトランジスタと、第１のトランジスタと読出ビット線との間に接続され、ゲートが読出ワード線に接続される第２のトランジスタとを有する。
【発明の効果】
【００１２】
この発明によれば、読出し時および待機時における消費電力を低減することが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、この発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【００１４】
［実施の形態１］
図１は、この発明の実施の形態１による半導体記憶装置１Ａの概略的な構成を示したブロック図である。
【００１５】
図１を参照して、実施の形態１の半導体記憶装置１Ａは、メモリセルアレイ２と、書込ポート用行デコーダ３と、書込ポート用列デコーダ４と、データ入力回路５Ａと、書込ポート制御回路６と、読出ポート用行デコーダ７と、読出ポート用列デコーダ８と、データ出力回路９と、読出ポート制御回路１０とを備える。メモリセルアレイ２は、２ポートのメモリセルアレイであって、フラグビット用メモリセルアレイ２０と、データビット用メモリセルアレイ２１とを含む。メモリセルアレイ２の具体的な構成については、後に説明する。
【００１６】
書込ポート用行デコーダ３は、書込ポート用行アドレス信号ＲＡＡｉ（ｉ＝１〜ｍ：ｍは０以上の整数）に応じて、対応する書込ワード線ＷＷＬｉを活性化する。なお、総称的に記す場合には、添え字ｉを省略することもある。
【００１７】
データ入力回路５Ａは、多数決論理判定回路５１と、インバータ回路５２と、セレクタ５３と、書込みドライバ回路５４ｓ，５４ｔとを含む。
【００１８】
多数決論理判定回路５１は、ｎビット（ｎは自然数）のデータ入力信号ＤＩｎを受けて、当該データ入力信号ＤＩｎにおいて“０”の数と“１”の数のどちらが多いかを判定する。
【００１９】
“１”の数が“０”の数と同じかそれより多い場合、多数決論理判定回路５１は、フラグ信号ＦＬＡとして“０”をセレクタ５３および書込みドライバ回路５４ｓに出力する。逆に、“０”の数が“１”の数より多い場合、多数決論理判定回路５１は、フラグ信号ＦＬＡとして“１”をセレクタ５３および書込みドライバ回路５４ｓに出力する。
【００２０】
インバータ回路５２は、データ入力信号ＤＩｎを反転する。セレクタ５３は、データ入力信号ＤＩｎの非反転信号、およびデータ入力信号ＤＩｎの反転信号を受ける。フラグ信号ＦＬＡが“０”のとき、セレクタ５３は、データ入力信号ＤＩｎの非反転信号を選択して、それを書込みドライバ回路５４ｔに出力する。一方、フラグ信号ＦＬＡが“１”のとき、セレクタ５３は、データ入力信号ＤＩｎの反転信号を選択して、それを書込みドライバ回路５４ｔに出力する。
【００２１】
書込みドライバ回路５４ｓは、書込制御信号ＷＥに応じて、フラグビット用メモリセルアレイ２０の指定したアドレス番地に、書込データ線対ＷＤＬ，／ＷＤＬを介してフラグ信号ＦＬＡを書き込む。書込みドライバ回路５４ｔは、書込制御信号ＷＥに応じて、データビット用メモリセルアレイ２１の指定したアドレス番地に、書込データ線対ＷＤＬ，／ＷＤＬを介して、データ入力信号ＤＩｎの非反転信号、またはデータ入力信号ＤＩｎの反転信号を書き込む。書込みドライバ回路５４ｓ，５４ｔを代表した書込みドライバ回路５４の具体的な回路構成については、後に説明する。
【００２２】
書込ポート用列デコーダ４は、書込ポート用列アドレス信号ＣＡＡｊ（ｊ＝１〜ｋ：ｋは０以上の整数）に応じて、対応する書込ビット線対ＷＢＬｊを介してメモリセルアレイ２に信号データを書き込む。なお、書込ビット線ＷＢＬｊは、書込ビット線対ＷＢＬｊ，／ＷＢＬｊをも含んだ表現である。また、総称的に記す場合には、添え字ｊを省略することもある。
【００２３】
書込ポート制御回路６は、書込ポート用クロック信号ＣＬＫＡおよび書込制御信号ＷＥを受けて、書込ポート用行デコーダ３、書込ポート用列デコーダ４、およびデータ入力回路５Ａを制御する。書込み動作は、書込ポート用クロック信号ＣＬＫＡに同期して行われる。また、書込制御信号ＷＥは、データ入力信号ＤＩｎの書込みを行なうか否かを制御する。
【００２４】
読出ポート用行デコーダ７は、読出ポート用行アドレス信号ＲＡＢｉ（ｉ＝１〜ｍ：ｍは０以上の整数）に応じて、対応する読出ワード線ＲＷＬｉを活性化する。なお、総称的に記す場合には、添え字ｉを省略することもある。
【００２５】
読出ポート用列デコーダ８は、読出ポート用列アドレス信号ＣＡＢｊ（ｊ＝１〜ｋ：ｋは０以上の整数）に応じて、対応する読出ビット線対ＲＢＬｊを介してメモリセルアレイ２から信号データを読み出す。なお、読出ビット線ＲＢＬｊは、読出ビット線対ＲＢＬｊ，／ＲＢＬｊをも含んだ表現である。また、総称的に記す場合には、添え字ｊを省略することもある。
【００２６】
データ出力回路９は、センスアンプ回路９１と、フラグ出力判定回路９２と、インバータ回路９３と、セレクタ９４と、トライステートバッファ回路９５とを含む。
【００２７】
センスアンプ回路９１は、読出データ線ＲＤＬからのデータビット信号を受けて、当該データビット信号が“０”であるか“１”であるかを逐次判別する。センスアンプ回路９１の具体的な回路構成については、後に説明する。フラグ出力判定回路９２は、読出データ線ＲＤＬからのフラグ信号ＦＬＡを受けて、当該フラグ信号ＦＬＡが“０”であるか“１”であるかを判定し、その判定結果をセレクタ９４に出力する。
【００２８】
インバータ回路９３は、センスアンプ回路９１からの出力信号を反転する。セレクタ９４は、センスアンプ回路９１からの出力信号の非反転信号、およびセンスアンプ回路９１からの出力信号の反転信号を受ける。
【００２９】
フラグ信号ＦＬＡの判定結果が“０”のとき、セレクタ９４は、センスアンプ回路９１からの出力信号の非反転信号を選択して、それをトライステートバッファ回路９５に出力する。フラグ信号ＦＬＡが“０”のときには、データビット用メモリセルアレイ２１の指定したアドレス番地にデータ入力信号ＤＩｎの非反転信号が書き込まれているので、センスアンプ回路９１からの出力信号の非反転信号を選択することによって、元のデータ入力信号ＤＩｎを復元することができる。
【００３０】
一方、フラグ信号ＦＬＡの判定結果が“１”のとき、セレクタ９４は、センスアンプ回路９１からの出力信号の反転信号を選択して、それをトライステートバッファ回路９５に出力する。フラグ信号ＦＬＡが“１”のときには、データビット用メモリセルアレイ２１の指定したアドレス番地にデータ入力信号ＤＩｎの反転信号が書き込まれているので、センスアンプ回路９１からの出力信号の反転信号を選択することによって、元のデータ入力信号ＤＩｎを復元することができる。
【００３１】
トライステートバッファ回路９５は、データ出力制御信号ＯＥに応じて、センスアンプ回路９１からの出力信号の非反転信号、またはセンスアンプ回路９１からの出力信号の反転信号を、ｎビットのデータ出力信号ＤＯｎとして出力する。
【００３２】
読出ポート制御回路１０は、読出ポート用クロック信号ＣＬＫＢ、読出制御信号ＲＥ、およびデータ出力制御信号ＯＥを受けて、読出ポート用行デコーダ７、書込ポート用列デコーダ８、およびデータ出力回路９を制御する。読出し動作は、読出ポート用クロック信号ＣＬＫＢに同期して行われる。読出制御信号ＲＥは、データの読出しを行なうか否かを制御する。また、データ出力制御信号ＯＥは、データ出力信号ＤＯｎをフローティング状態にするか否かを制御する。
【００３３】
次に、半導体記憶装置１Ａにおけるメモリセルアレイ２の一例であるメモリセルアレイ２ａ，２ｂの具体的構成について詳細に説明する。
【００３４】
図２は、この発明の実施の形態１によるメモリセルアレイ２ａの具体的な構成を示した図である。
【００３５】
図２を参照して、実施の形態１のメモリセルアレイ２ａは、フラグビット用メモリセルアレイ２０ａと、データビット用メモリセルアレイ２１ａ１〜２１ａ４と、行方向に配置された読出ワード線ＲＷＬｐおよび書込ワード線ＷＷＬｐ（ｐ＝１〜１６）と、列方向に配置された読出ビット線ＲＢＬｑおよび書込ビット線ＷＢＬｑ（ｑ＝００，０１，１０，１１，…，４０，４１）とを含む。なお、データビット用メモリセル２１ａ３は、データビット用メモリセル２１ａ１，２１ａ２，２１ａ４から構成が類推可能であるため、図２ではスペースの関係により図示していない。同様に、読出ワード線ＲＷＬｐｉおよび書込ワード線ＷＷＬｐｉ（ｐｉ＝３〜１４）もまた、スペースの関係により、図２では図示していない。
【００３６】
図２のメモリセルアレイ２ａでは、簡単のため、データビット数がデータビット用メモリセルアレイ２１ａ１〜２１ａ４に対応して４ビット、行アドレスが４ビット、列アドレスが１ビット、およびフラグビット数がフラグビット用メモリセルアレイ２０ａに対応して１ビットの場合を示している。
【００３７】
行アドレスは４ビットなので、図１の書込ポート用行デコーダ３または読出ポート用行デコーダ７によって選択できる行数は１６となる。すなわち、メモリセルアレイ２ａの総行数は、図２に示すように１６行となる。一方、列アドレスは１ビットなので、図１の書込ポート用列デコーダ４または読出ポート用列デコーダ８によって選択できる列数は２となる。すなわち、データビット数１ビットに対してメモリセル列は２列となり、いまデータビット数は４ビットなので、データビット用メモリセルアレイ２１ａ１〜２１ａ４の総列数は８列となる。また、フラグビットは１ビットなので、メモリセル列が２列であることから、フラグビット用メモリセルアレイ２０ａは２列となる。
【００３８】
よって、フラグビット用メモリセルアレイ２０ａおよびデータビット用メモリセルアレイ２１ａ１〜２１ａ４から構成されるメモリセルアレイ２ａは、１６行１０列の構成となる。
【００３９】
フラグビット用メモリセルアレイ２０ａは、メモリセル２０１ａ〜２０８ａを含む。読出ビット線ＲＢＬ００および書込ビット線ＷＢＬ００は、メモリセル２０１ａ〜２０４ａに共通に接続される。読出ビット線ＲＢＬ０１および書込ビット線ＷＢＬ０１は、メモリセル２０５ａ〜２０８ａに共通に接続される。
【００４０】
データビット用メモリセルアレイ２１ａ１は、メモリセル２１１ａ〜２１８ａを含む。読出ビット線ＲＢＬ１０および書込ビット線ＷＢＬ１０は、メモリセル２１１ａ〜２１４ａに共通に接続される。読出ビット線ＲＢＬ１１および書込ビット線ＷＢＬ１１は、メモリセル２１５ａ〜２１８ａに共通に接続される。データビット用メモリセルアレイ２１ａ２〜２１ａ４は、データビット用メモリセルアレイ２１ａ１と同様の構成を有するので、ここでは説明を繰り返さない。
【００４１】
読出ワード線ＲＷＬ１および書込ワード線ＷＷＬ１は、メモリセル２０１ａ，２０５ａ，２１１ａ，２１５ａ，…，２４１ａ，２４５ａに共通に接続される。読出ワード線ＲＷＬ２〜ＲＷＬ１６および書込ワード線ＷＷＬ２〜ＷＷＬ１６についても同様なので、ここでは説明を繰り返さない。なお、読出ワード線ＲＷＬｐｉおよび書込ワード線ＷＷＬｐｉ（ｐｉ＝３〜１４）に対応するメモリセルは、スペースの関係により図２では図示していない。
【００４２】
なお、メモリセル２０１ａ〜２４８ａのうち、メモリセル２０１ａ〜２０８ａにのみハッチングが施されているが、これは、フラグビット用メモリセルアレイ２０ａにおけるメモリセルとデータビット用メモリセルアレイ２１ａ１〜２１ａ４におけるメモリセルとを視覚的に区別するためであって、メモリセル２０１ａ〜２４８ａの構成はすべて同一である。
【００４３】
図３は、この発明の実施の形態１によるメモリセルアレイ２ｂの具体的な構成を示した図である。
【００４４】
図３を参照して、実施の形態１のメモリセルアレイ２ｂは、フラグビット用メモリセルアレイ２０ｂと、データビット用メモリセルアレイ２１ｂ１〜２１ｂ４と、行方向に配置された読出ワード線ＲＷＬｐおよび書込ワード線ＷＷＬｐ（ｐ＝１〜１６）と、列方向に配置された読出ビット線ＲＢＬｑおよび書込ビット線対ＷＢＬｑ，／ＷＢＬｑ（ｑ＝００，０１，１０，１１，…，４０，４１）とを含む。なお、データビット用メモリセル２１ｂ３は、データビット用メモリセル２１ｂ１，２１ｂ２，２１ｂ４から構成が類推可能であるため、図３ではスペースの関係により図示していない。同様に、読出ワード線ＲＷＬｐｉおよび書込ワード線ＷＷＬｐｉ（ｐｉ＝３〜１４）もまた、スペースの関係により、図３では図示していない。
【００４５】
図３のメモリセルアレイ２ｂでは、メモリセルアレイ２ａと同じく、データビット数がデータビット用メモリセルアレイ２１ｂ１〜２１ｂ４に対応して４ビット、行アドレスが４ビット、列アドレスが１ビット、およびフラグビット数がフラグビット用メモリセルアレイ２０ｂに対応して１ビットの場合を示している。
【００４６】
よって、フラグビット用メモリセルアレイ２０ｂおよびデータビット用メモリセルアレイ２１ｂ１〜２１ｂ４から構成されるメモリセルアレイ２ｂは、メモリセルアレイ２ａと同じく、１６行１０列の構成となる。
【００４７】
フラグビット用メモリセルアレイ２０ｂは、メモリセル２０１ｂ〜２０８ｂを含む。読出ビット線ＲＢＬ００および書込ビット線対ＷＢＬ００，／ＷＢＬ００は、メモリセル２０１ｂ〜２０４ｂに共通に接続される。読出ビット線ＲＢＬ０１および書込ビット線対ＷＢＬ０１，／ＷＢＬ０１は、メモリセル２０５ｂ〜２０８ｂに共通に接続される。
【００４８】
データビット用メモリセルアレイ２１ｂ１は、メモリセル２１１ｂ〜２１８ｂを含む。読出ビット線ＲＢＬ１０および書込ビット線対ＷＢＬ１０，／ＷＢＬ１０は、メモリセル２１１ｂ〜２１４ｂに共通に接続される。読出ビット線ＲＢＬ１１および書込ビット線対ＷＢＬ１１，／ＷＢＬ１１は、メモリセル２１５ｂ〜２１８ｂに共通に接続される。データビット用メモリセルアレイ２１ｂ２〜２１ｂ４は、データビット用メモリセルアレイ２１ｂ１と同様の構成を有するので、ここでは説明を繰り返さない。
【００４９】
読出ワード線ＲＷＬ１および書込ワード線ＷＷＬ１は、メモリセル２０１ｂ，２０５ｂ，２１１ｂ，２１５ｂ，…，２４１ｂ，２４５ｂに共通に接続される。読出ワード線ＲＷＬ２〜ＲＷＬ１６および書込ワード線ＷＷＬ２〜ＷＷＬ１６についても同様なので、ここでは説明を繰り返さない。なお、読出ワード線ＲＷＬｐｉおよび書込ワード線ＷＷＬｐｉ（ｐｉ＝３〜１４）に対応するメモリセルは、スペースの関係により図３では図示していない。
【００５０】
なお、メモリセル２０１ｂ〜２４８ｂのうち、メモリセル２０１ｂ〜２０８ｂにのみハッチングが施されているが、これは、フラグビット用メモリセルアレイ２０ｂにおけるメモリセルとデータビット用メモリセルアレイ２１ｂ１〜２１ｂ４におけるメモリセルとを視覚的に区別するためであって、メモリセル２０１ｂ〜２４８ｂの構成はすべて同一である。
【００５１】
上記のようにメモリセルアレイ２ａ，２ｂを構成することによって、指定したアドレス番地にデータビットおよびフラグビットの情報を同時に書き込むことが可能となる。また、指定したアドレス番地におけるデータビットおよびフラグビットの情報を同時に読み出すことも可能となる。
【００５２】
次に、メモリセルアレイ２ａにおけるメモリセル２０１ａ〜２４８ａを代表したメモリセル２００ａ、およびメモリセルアレイ２ｂにおけるメモリセル２０１ｂ〜２４８ｂを代表したメモリセル２００ｂの各具体的な回路構成について詳細に説明する。
【００５３】
図４は、この発明の実施の形態１によるメモリセル２００ａの具体的な回路構成を示した回路図である。
【００５４】
図４を参照して、実施の形態１のメモリセル２００ａは、記憶ノードＮ１と記憶ノードＮ２との間に互いに環状に接続されたインバータ１０１，１０２と、記憶ノードＮ１と書込ビット線ＷＢＬとの間に接続されゲートが書込ワード線ＷＷＬに接続されたＮチャネルＭＯＳトランジスタ１０３と、記憶ノードＮ２と読出ビット線ＲＢＬとの間に接続されゲートが読出ワード線ＲＷＬに接続されたＮチャネルＭＯＳトランジスタ１０６とを含む。
【００５５】
ＮチャネルＭＯＳトランジスタ１０３、書込ワード線ＷＷＬ、および書込ビット線ＷＢＬは、第１のポート（書込ポート）を構成する。ＮチャネルＭＯＳトランジスタ１０６、読出ワード線ＲＷＬ、および読出ビット線ＲＢＬは、第２のポート（読出ポート）を構成する。このように、メモリセル２００ａは、書込ポートおよび読出ポートを備えた２ポートのＳＲＡＭメモリセル構成を有する。
【００５６】
図５は、この発明の実施の形態１によるメモリセル２００ｂの具体的な回路構成を示した回路図である。
【００５７】
図５を参照して、実施の形態１のメモリセル２００ｂは、記憶ノードＮ１と記憶ノードＮ２との間に互いに環状に接続されたインバータ１１１，１１２と、記憶ノードＮ１と書込ビット線ＷＢＬとの間に接続されゲートが書込ワード線ＷＷＬに接続されたＮチャネルＭＯＳトランジスタ１１３と、記憶ノードＮ２と書込ビット線／ＷＢＬとの間に接続されゲートが書込ワード線ＷＷＬに接続されたＮチャネルＭＯＳトランジスタ１１４と、ソースが接地線ＧＮＤに接続されゲートが記憶ノードＮ２に接続されたＮチャネルＭＯＳトランジスタ１１５と、ＮチャネルＭＯＳトランジスタ１１５のドレインと読出ビット線ＲＢＬとの間に接続されゲートが読出ワード線ＲＷＬに接続されたＮチャネルＭＯＳトランジスタ１１６とを含む。なお、接地線も電源線の一種である。
【００５８】
ＮチャネルＭＯＳトランジスタ１１３，１１４、書込ワード線ＷＷＬ、および書込ビット線対ＷＢＬ，／ＷＢＬは、第１のポート（書込ポート）を構成する。ＮチャネルＭＯＳトランジスタ１１５，１１６、読出ワード線ＲＷＬ、および読出ビット線ＲＢＬは、第２のポート（読出ポート）を構成する。このように、メモリセル２００ｂもまた、書込ポートおよび読出ポートを備えた２ポートのＳＲＡＭメモリセル構成を有する。
【００５９】
なお、メモリセル２００ａ，２００ｂは一例であって、読出ポートを備えた他のメモリセル（たとえば、ＲＯＭ（Read Only Memory）メモリセル）であってもよい。以下では、これらのメモリセルの中から代表して、メモリセル２００ｂの回路動作について詳細に説明する。
【００６０】
図６は、この発明の実施の形態１によるメモリセル２００ｂの第１のポートにおける書込み動作を説明するための動作波形図である。
【００６１】
図６を参照して、まず、図５のメモリセル２００ｂに“０”（Ｌレベル）のデータを書き込む場合について説明する。時刻ｔ１またはｔ５までに、書込ビット線対ＷＢＬ，／ＷＢＬの電位レベルがそれぞれＬレベル，Ｈレベルとなるように、図示しないドライブ回路によって予めドライブしておく。この状態で、時刻ｔ１またはｔ５において、書込ワード線ＷＷＬをＬレベルからＨレベルに変化させる。これにより、図５を参照して、ＮチャネルＭＯＳトランジスタ１１３，１１４（アクセストランジスタ）がオンとなり、書込ビット線ＷＢＬと記憶ノードＮ１、および書込ビット線／ＷＢＬと記憶ノードＮ２が、それぞれ電気的に接続される。
【００６２】
いま、書込ビット線対ＷＢＬ，／ＷＢＬはＬレベル，Ｈレベルにそれぞれ強くドライブされているので、記憶ノードＮ１，Ｎ２は、それまでの保持データにかかわらず、Ｌレベル，Ｈレベルにそれぞれ変化する。すなわち、時刻ｔ１〜ｔ３または時刻ｔ５〜ｔ７において、図５のメモリセル２００ｂ（記憶ノードＮ１）には“０”が書き込まれる。
【００６３】
その後、時刻ｔ２またはｔ６において、書込ワード線ＷＷＬがＨレベルからＬレベルとなる。これにより、図５を参照して、ＮチャネルＭＯＳトランジスタ１１３，１１４（アクセストランジスタ）がオフとなり、記憶ノードＮ１，Ｎ２は、各々書込まれた電位レベルで安定し、データを保持する。
【００６４】
次に、図５のメモリセル２００ｂに“１”（Ｈレベル）のデータを書き込む場合について説明する。時刻ｔ３までに、書込ビット線対ＷＢＬ，／ＷＢＬの電位レベルがそれぞれＨレベル，Ｌレベルとなるように、図示しないドライブ回路によって予めドライブしておく。この状態で、時刻ｔ３において、書込ワード線ＷＷＬをＬレベルからＨレベルに変化させる。これにより、図５を参照して、ＮチャネルＭＯＳトランジスタ１１３，１１４（アクセストランジスタ）がオンとなり、書込ビット線ＷＢＬと記憶ノードＮ１、および書込ビット線／ＷＢＬと記憶ノードＮ２が、それぞれ電気的に接続される。
【００６５】
いま、書込ビット線対ＷＢＬ，／ＷＢＬはＨレベル，Ｌレベルにそれぞれ強くドライブされているので、記憶ノードＮ１，Ｎ２は、それまでの保持データにかかわらず、Ｈレベル，Ｌレベルにそれぞれ変化する。すなわち、時刻ｔ３〜ｔ５において、図５のメモリセル２００ｂ（記憶ノードＮ１）には“１”が書き込まれる。
【００６６】
その後、時刻ｔ４において、書込ワード線ＷＷＬがＨレベルからＬレベルとなる。これにより、図５を参照して、ＮチャネルＭＯＳトランジスタ１１３，１１４（アクセストランジスタ）がオフとなり、記憶ノードＮ１，Ｎ２は、各々書込まれた電位レベルで安定し、データを保持する。
【００６７】
図７は、この発明の実施の形態１による書込みドライバ回路５４の具体的な回路構成を示した回路図である。
【００６８】
図７を参照して、実施の形態１の書込みドライバ回路５４は、インバータ回路５０１，５０３，５０４，５０５と、トランスファゲート回路５０２，５０６とを含む。
【００６９】
インバータ回路５０１は、入力信号ＳＩＮ（図１におけるセレクタ５３の出力信号またはフラグ信号ＦＬＡ）を反転する。トランスファゲート回路５０２は、書込制御信号ＷＥに応じて、インバータ回路５０１の出力と書込データ線ＷＤＬとを電気的に接続／分離する。インバータ回路５０３は、入力信号ＳＩＮを反転する。インバータ回路５０４は、インバータ回路５０３の出力信号をさらに反転する。インバータ回路５０５は、書込制御信号ＷＥを反転して、トランスファゲート回路５０２，５０６に与える。トランスファゲート回路５０６は、書込制御信号ＷＥに応じて、インバータ回路５０４の出力と書込データ線／ＷＤＬとを、トランスファゲート回路５０２と同期して、電気的に接続／分離する。
【００７０】
図７を参照して、書込み動作時には、書込制御信号ＷＥがＨレベルとなり、トランスファゲート回路５０２，５０６が導通する。これにより、書込データ線対ＷＤＬ，／ＷＤＬが入力信号ＳＩＮにドライブされる。一方、非書込み動作時には、書込制御信号ＷＥがＬレベルとなり、トランスファゲート回路５０２，５０６が非導通となる。このため、書込データ線対ＷＤＬ，／ＷＤＬは入力信号ＳＩＮにドライブされない。書込データ線対ＷＤＬ，／ＷＤＬは、書込ポート用列アドレス信号ＣＡＡｊを介して指定された列アドレスに対応する書込ビット線対ＷＢＬ，／ＷＢＬに接続される。
【００７１】
図８は、この発明の実施の形態１によるメモリセル２００ｂの第２のポートにおける読出し動作を説明するための動作波形図である。
【００７２】
図８を参照して、まず、図５のメモリセル２００ｂから“０”（Ｌレベル）のデータを読み出す場合について説明する。このとき、図５を参照して、記憶ノードＮ１，Ｎ２には、それぞれＬレベル，Ｈレベルが保持されている。また、ＮチャネルＭＯＳトランジスタ１１５はオン状態である。
【００７３】
時刻ｔ１またはｔ５までに、読出ビット線ＲＢＬの電位レベルがＨレベルとなるように、図示しないプリチャージ回路によって予めプリチャージしておく。この状態で、時刻ｔ１またはｔ５経過後において、読出ワード線ＲＷＬをＬレベルからＨレベルに変化させる。これにより、図５を参照して、ＮチャネルＭＯＳトランジスタ１１６がオンとなる。
【００７４】
いま、ＮチャネルＭＯＳトランジスタ１１５は既にオン状態であるため、読出ビット線ＲＢＬと接地線ＧＮＤとが、ＮチャネルＭＯＳトランジスタ１１５，１１６を介して電気的に接続される。これを受けて、読出ビット線ＲＢＬは、プリチャージレベルであるＨレベルからＬレベルに変化する。その結果、時刻ｔ１〜ｔ３または時刻ｔ５〜ｔ７において、図５のメモリセル２００ｂに保持されているデータ、すなわち記憶ノードＮ２の反転データ（記憶ノードＮ１のデータ）である“０”が読み出される。
【００７５】
その後、時刻ｔ２またはｔ６において、読出ワード線ＲＷＬがＨレベルからＬレベルとなる。これにより、図５を参照して、ＮチャネルＭＯＳトランジスタ１１６がオフとなり、読出ビット線ＲＢＬと接地線ＧＮＤとが電気的に遮断される。そして、次の読出し動作のため、時刻ｔ３またはｔ７までに、読出ビット線ＲＢＬを予めＨレベルに再びプリチャージしておく。
【００７６】
次に、図５のメモリセル２００ｂから“１”（Ｈレベル）のデータを読み出す場合について説明する。このとき、図５を参照して、記憶ノードＮ１，Ｎ２には、それぞれＨレベル，Ｌレベルが保持されている。また、ＮチャネルＭＯＳトランジスタ１１５はオフ状態である。
【００７７】
時刻ｔ３までに、読出ビット線ＲＢＬの電位レベルがＨレベルとなるように、図示しないプリチャージ回路によって予めプリチャージしておく。この状態で、時刻ｔ３経過後において、読出ワード線ＲＷＬをＬレベルからＨレベルに変化させる。これにより、図５を参照して、ＮチャネルＭＯＳトランジスタ１１６がオンとなる。
【００７８】
しかしながら、ＮチャネルＭＯＳトランジスタ１１５はオフ状態であるため、読出ビット線ＲＢＬと接地線ＧＮＤとは電気的に遮断されたままである。したがって、読出ビット線ＲＢＬは、プリチャージレベルであるＨレベルのまま変化しない。その結果、時刻ｔ３〜ｔ５において、図５のメモリセル２００ｂに保持されているデータ、すなわち記憶ノードＮ２の反転データ（記憶ノードＮ１のデータ）である“１”が読み出される。
【００７９】
その後、時刻ｔ４において、読出ワード線ＲＷＬがＨレベルからＬレベルとなる。これにより、図５を参照して、ＮチャネルＭＯＳトランジスタ１１６がオフとなる。そして、次の読出し動作のため、時刻ｔ５までに、読出ビット線ＲＢＬを予めＨレベルに再びプリチャージしておく。
【００８０】
このように、図５のメモリセル２００ｂは、“１”（Ｈレベル）のデータを読み出す場合において読出ビット線ＲＢＬの電位レベルは変化しないが、“０”（Ｌレベル）のデータを読み出す場合には、読出ビット線ＲＢＬの電位レベルが変化する。すなわち、“１”を読み出す場合には読出ビット線ＲＢＬにおける充放電によって電力は消費されないのに対して、“０”を読み出す場合には、読出ビット線ＲＢＬにおける充放電によって電力が消費される。
【００８１】
図９は、この発明の実施の形態１によるセンスアンプ回路９１の具体的な回路構成を示した回路図である。
【００８２】
図９を参照して、実施の形態１のセンスアンプ回路９１は、ＰチャネルＭＯＳトランジスタ９０１，９０２と、インバータ回路９０３，９０４とを含む。
【００８３】
ＰチャネルＭＯＳトランジスタ９０１は、ソースが電源線に接続され、ドレインが読出データ線ＲＤＬに接続され、ゲートに読出ポート用クロック信号ＣＬＫＢを受ける。ＰチャネルＭＯＳトランジスタ９０１は、読出ポート用クロック信号ＣＬＫＢに応じて、読出データ線ＲＤＬの電位レベルをＨレベルにプリチャージする。ＰチャネルＭＯＳトランジスタ９０２は、ソースが電源線に接続され、ドレインが読出データ線ＲＤＬに接続され、ゲートがインバータ回路９０３の出力端子に接続される。ＰチャネルＭＯＳトランジスタ９０２は、読出データ線ＲＤＬの電位レベルをＨレベルに弱く保持する。
【００８４】
インバータ回路９０３は、入力端子が読出データ線ＲＤＬに接続され、読出データ線ＲＤＬの電位レベルに応じて入力信号を反転する。インバータ回路９０４は、インバータ回路９０３の出力信号に応じて当該信号を反転し、それを図１のインバータ回路９３およびセレクタ９４に出力する。読出データ線ＲＤＬは、読出ポート用列アドレス信号ＣＡＢｊを介して指定された列アドレスに対応する読出ビット線ＲＢＬに接続される。
【００８５】
次に、図５のメモリセル２００ｂにおいて、書込み動作も読出し動作も行なっていない待機時におけるスタンバイリーク電流について説明する。
【００８６】
図５を参照して、ＮチャネルＭＯＳトランジスタ１１５では、メモリセル２００ｂの記憶保持データが“０”であるか“１”であるかによって、リーク電流の大小に大きく差が出る。
【００８７】
メモリセル２００ｂにおいて“０”のデータが記憶保持されている場合、すなわち記憶ノードＮ１，Ｎ２がそれぞれＬレベル，Ｈレベルの場合、ＮチャネルＭＯＳトランジスタ１１５はオンとなる。これにより、ＮチャネルＭＯＳトランジスタ１１５のゲート（記憶ノードＮ２）から接地線ＧＮＤにゲートリーク電流が流れる。一方、メモリセル２００ｂにおいて“１”のデータが記憶保持されている場合、すなわち記憶ノードＮ１，Ｎ２がそれぞれＨレベル，Ｌレベルの場合、ＮチャネルＭＯＳトランジスタ１１５はオフとなる。このため、ゲートリーク電流はほとんど流れない。
【００８８】
このように、図５のメモリセル２００ｂは、“１”（Ｈレベル）のデータが記憶保持されている場合においてゲートリーク電流はほとんど流れないが、“０”（Ｌレベル）のデータを読み出す場合には、ＮチャネルＭＯＳトランジスタ１１５のゲート（記憶ノードＮ２）から接地線ＧＮＤにゲートリーク電流が流れる。すなわち、“１”を読み出す場合にはゲートリーク電流によって電力はほとんど消費されないのに対して、“０”を読み出す場合には、ゲートリーク電流によって電力が消費される。
【００８９】
以上のように、図５のメモリセル２００ｂは、記憶保持しているデータが“０”であるか“１”であるかに依存して、読出し動作時および待機時における消費電力が変わる。つまり、“１”を保持しているメモリセルが多いほど、読出し動作時および待機時における電力消費量が少なくなる。これは、読出ポートを備えた他のメモリセル（図４のメモリセル２００ａを含む）であっても同じである。
【００９０】
そこで、実施の形態１の半導体記憶装置１Ａでは、図１において説明したように、多数決論理判定回路５１を用いて、データ入力信号ＤＩｎの“０”の数と“１”の数のどちらが多いかを判定している。この判定結果をフラグ信号ＦＬＡに反映してデータの反転／非反転を行なうことにより、データに“０”が多い場合にも電力消費を少なくすることができる。この動作原理の詳細について、次に図面を参照して説明する。
【００９１】
図１０は、この発明の実施の形態１による半導体記憶装置１Ａにおける多数決論理判定の動作原理の一例を説明するための動作原理図である。
【００９２】
図１０の動作原理図は、８ビットのデータを４ワード分記憶保持する場合の一例を示したものである。図中の１マスは、１ビットのメモリセルに対応する。図１０では、４行８列のメモリセルアレイを構成して、４ワード×８ビットのデータを記憶保持する例を示す。つまり、各行は１ワードのデータに対応し、各列は１ビットのデータに対応する。
【００９３】
前述したように、メモリセルは、“０”を記憶保持しているよりも“１”を記憶保持している方が消費電力は小さい。そこで、８ビット構成の１ワードのデータにおいて“０”の個数が“１”の個数より多い場合には、全データを反転させるようにする。その際、反転したデータか否かを示すフラグビットには“１”が書き込まれる。具体例について、図１０（Ａ），（Ｂ）を参照しながら説明する。
【００９４】
図１０（Ａ）は、多数決論理判定が行われる前の入力データを示し、図１０（Ｂ）は、多数決論理判定が行われた後のフラグビットを含むデータを示す。
【００９５】
図１０（Ａ）に示すように、０番地の入力データは“００００００００”で“０”の数が多い。そのため、図１０（Ｂ）に示すように、０番地のデータは反転されて“１１１１１１１１”となる。このとき同時に、反転したというフラグ情報“１”を、同じ０番地のフラグビットに書き込む。３番地の入力データも同じく“０”の数が多いので、データを反転し、フラグ情報“１”を書き込む。一方、１，２番地の入力データについては、“０”の数より“１”の数の方が多いため、データは反転されず、フラグ情報“０”が書き込まれる。書き込まれたデータは、読み出される際にフラグ信号ＦＬＡが“１”の番地のデータだけ再度反転され、データ出力信号ＤＯ０〜ＤＯ７として最終的に読み出される。
【００９６】
以上の操作により、４行８列のメモリセルアレイ全体において、“０”を記憶保持しているメモリセルの数が元々１９セルであったのを、５セルにまで減らすことができる。このように、入力データにおいて“０”の数が“１”のより多い番地のデータだけ反転して書きこみ、読み出す際にはフラグ情報に基づいて当該番地のデータを再度反転して読み出すことにより、“０”を記憶保持しているメモリセルの数を減らすことができる。その結果、読出し動作時および待機時における消費電力を少なくすることが可能となる。
【００９７】
図１１は、この発明の実施の形態１による半導体記憶装置１Ａにおける多数決論理判定の動作原理の他の一例を説明するための動作原理図である。
【００９８】
図１１の動作原理図は、４行８列のメモリセルアレイ構成という点では図１０の動作原理図と同様である。図１１の動作原理図では、データビット数を４ビットとし、列アドレスを設けることによって、８ワード×４ビットのデータを記憶保持する例を示す。つまり、各行は２ワード分のデータに対応し、列については２列で１ビットのデータに対応する。各ワードに対してフラグビットを１ビット設けるため、フラグビット用セルは、図１１（Ｂ）に示すように、２行×４列の合計８セルとなっている。
【００９９】
図１１における多数決論理判定の動作原理は、基本的には図１０と同様である。すなわち、“０”の個数が“１”の個数より多い場合には全データを反転させるようにし、その際、反転したデータか否かを示すフラグビットには“１”が書き込まれる。具体例について、図１１（Ａ），（Ｂ）を参照しながら説明する。
【０１００】
図１１（Ａ）は、多数決論理判定が行われる前の入力データを示し、図１１（Ｂ）は、多数決論理判定が行われた後のフラグビットを含むデータを示す。
【０１０１】
図１１（Ａ）に示すように、０番地の入力データは“００００”で“０”の数が多い。そのため、図１１（Ｂ）に示すように、０番地のデータは反転されて“１１１１”となる。このとき同時に、反転したというフラグ情報“１”を、同じ０番地のフラグビットに書き込む。１，４，６，７番地の入力データも同じく“０”の数が多いので、データを反転し、フラグ情報“１”を書き込む。一方、２，３，５番地の入力データについては、“０”の数より“１”の数の方が多いため、データは反転されず、フラグ情報“０”が書き込まれる。書き込まれたデータは、読み出される際にフラグ信号ＦＬＡが“１”の番地のデータだけ再度反転され、データ出力信号ＤＯ０〜ＤＯ３として最終的に読み出される。
【０１０２】
以上の操作により、４行８列のメモリセルアレイ全体において、“０”を記憶保持しているメモリセルの数が元々１９セルであったのを、５セルにまで減らすことができる。このように、入力データにおいて“０”の数が“１”のより多い番地のデータだけ反転して書きこみ、読み出す際にはフラグ情報に基づいて当該番地のデータを再度反転して読み出すことにより、“０”を記憶保持しているメモリセルの数を減らすことができる。その結果、読出し動作時および待機時における消費電力を少なくすることが可能となる。
【０１０３】
図１０，１１で説明した動作原理図では、各ワードに対してフラグビットを１ビット設け、反転・非反転を制御する動作原理を示した。次に、各ワードをビット分割し、分割ビットごとにフラグビットを設ける多数決論理判定の動作原理について説明する。
【０１０４】
図１２は、この発明の実施の形態１による半導体記憶装置１Ａにおける多数決論理判定の動作原理のさらに他の一例を説明するための動作原理図である。
【０１０５】
図１２の動作原理図は、４行８列のメモリセルアレイ構成で、データビットが８ビットという点では図１０の動作原理図と同様である。図１２の動作原理図では、データビットを上位４ビットと下位４ビットとに分割し、各々に対してフラグビットＦＬＡａ，ＦＬＡｂをそれぞれ設ける例を示す。
【０１０６】
図１２における多数決論理判定の動作原理は、基本的には図１０と同様である。すなわち、“０”の個数が“１”の個数より多い場合には全データを反転させるようにし、その際、反転したデータか否かを示すフラグビットには“１”が書き込まれる。具体例について、図１２（Ａ），（Ｂ）を参照しながら説明する。
【０１０７】
図１２（Ａ）は、多数決論理判定が行われる前の入力データを示し、図１２（Ｂ）は、多数決論理判定が行われた後のフラグビットを含むデータを示す。
【０１０８】
図１２（Ａ）に示すように、０番地の入力データは、上位４ビットおよび下位４ビットとも“００００”で“０”の数が多い。そのため、図１２（Ｂ）に示すように、０番地のデータは、上位４ビットおよび下位４ビットとも反転されて“１１１１”となる。このとき同時に、反転したというフラグ情報“１”を、同じ０番地のフラグビットに上位４ビットおよび下位４ビットとも書き込む。３番地の入力データも同じく上位４ビットおよび下位４ビットとも“０”の数が多いので、上位４ビットおよび下位４ビットともデータを反転し、両方にフラグ情報“１”を書き込む。一方、１番地の入力データについては、上位４ビットおよび下位４ビットとも“０”の数より“１”の数の方が多いため、上位４ビットおよび下位４ビットともデータは反転されず、両方にフラグ情報“０”が書き込まれる。
【０１０９】
２番地の入力データは、上位４ビットが“１１１１”で“１”の数が多いのに対し、下位４ビットは“０００１”で“０”の数が多い。そのため、図１２（Ｂ）に示すように、上位４ビットは反転されず“１１１１”のままで、フラグ情報“０”が書き込まれる。これに対し、下位４ビットは反転されて“１１１０”となり、フラグ情報“１”が書き込まれる。書き込まれたデータは、読み出される際にフラグ信号ＦＬＡａ，ＦＬＡｂが“１”の番地のデータだけ再度反転され、データ出力信号ＤＯ０〜ＤＯ７として最終的に読み出される。
【０１１０】
以上の操作により、４行８列のメモリセルアレイ全体において、“０”を記憶保持しているメモリセルの数が元々１９セルであったのを、３セルにまで減らすことができる。このように、データビットを上位４ビットと下位４ビットとに分割した上で、入力データにおいて“０”の数が“１”のより多い番地のデータだけ反転して書きこみ、読み出す際にはフラグ情報に基づいて当該番地のデータを再度反転して読み出すことにより、“０”を記憶保持しているメモリセルの数をさらに減らすことができる。その結果、読出し動作時および待機時における消費電力をさらに少なくすることが可能となる。
【０１１１】
なお、図１２の動作原理図では、データビットを上位４ビットと下位４ビットとに２分割する例について説明したが、これは一例であり、データビットをさらに細かく分割することによって、図１２の動作原理図の場合よりもさらに消費電力を低減することも可能である。
【０１１２】
ここで、図３を参照して、メモリセルアレイ２ｂにおいてデータを読み出す場合の具体例を説明する。たとえば、第１行目のデータを読み出す場合、アドレス信号によって読出ワード線ＲＷＬ１が選択活性化される。これにより読出ワード線ＲＷＬ１は、ＬレベルからＨレベルに変化する。一方、その他の読出ワード線ＲＷＬ２〜ＲＷＬ１６は、非選択であるため、すべてＬレベルである。読出ワード線ＲＷＬ１が選択活性化されたことにより、第１列目に配置されたメモリセル２０１ｂ，２０５ｂ，２１１ｂ，２１５ｂ，…，２４１ｂ，２４５ｂ（メモリセル２３１ｂ，２３５ｂは、前述の理由により明示せず）のデータが、読出ビット線ＲＢＬｑ（ｑ＝００，０１，１０，１１，…，４０，４１）にそれぞれ伝播される。
【０１１３】
いま、図１のデータ入力信号ＤＩｎにおいて“０”の数が“１”の数より多かったと仮定すると、先に説明したように、フラグ信号ＦＬＡは“１”となり、データビット用メモリセルアレイ２１ｂ１〜２１ｂ４の指定したアドレス番地には、データ入力信号ＤＩｎの反転信号が書き込まれている。
【０１１４】
したがって、読出ワード線ＲＷＬ１に接続されているメモリセル２０１ｂ，２０５ｂ，２１１ｂ，２１５ｂ，…，２４１ｂ，２４５ｂにおいて、“１”が記憶保持されているメモリセルの個数は、“０”が記憶保持されているメモリセルの個数より多くなる。すなわち、データビット用メモリセルアレイ２ｂ１〜２ｂ４に対応する８本の読出ビット線ＲＢＬｑ（ｑ＝００，０１，１０，１１，…，４０，４１）のうち、“１”のデータが伝播される読出ビット線の数は、“０”のデータが伝播される読出ビット線の数より多くなる。
【０１１５】
その際、図５において説明したように、メモリセルに記憶保持されているデータが“０”の場合には、対応する読出ビット線がＨレベルからＬレベルに変化する。一方、メモリセルに記憶保持されているデータが“１”の場合には、対応する読出ビット線はＨレベルのままで変化しない。つまり、半導体記憶装置１Ａの読出し動作において、電位レベルが変化しない読出ビット線の数を電位レベルが変化する読出ビット線の数より多くすることができる。
【０１１６】
従来のようにデータを反転／非反転制御せずにそのまま書き込んだ場合、“０”を記憶保持しているメモリセルの個数が“１”を記憶保持しているメモリセルの個数より多くなることがある。たとえば、極端な例として、すべてのデータ入力信号ＤＩｎが“０”、すなわち、同一読出ビット線に接続された複数個のメモリセルに記憶保持されているデータがすべて“０”の場合が挙げられる。このような場合、読出し動作において全ての読出ビット線がＨレベルからＬレベルに変化してしまう。そのため、ビット線の充放電電流による電力消費は大きい。
【０１１７】
一方、実施の形態１では、読出し動作において、変化する読出ビット線の数を減らすことができる。そのため、従来に比べて、ビット線の充放電電流による電力消費を低減することが可能となる。
【０１１８】
また、実施の形態１の半導体記憶装置１Ａでは、各行のメモリセルにおいて、“１”が記憶保持されているメモリセルの個数は、“０”が記憶保持されているメモリセルの個数より多い。この関係は、メモリセルアレイ全体においても成り立つ。一方、図５に示すメモリセル２００ｂにおいて、“１”を記憶保持している時のスタンバイ電流は、“０”を記憶保持している時のスタンバイ電流に比べて小さい。したがって、実施の形態１の半導体記憶装置１Ａでは、スタンバイ電流を減少させることが可能となる。そのため、従来に比べて、待機時における電力消費を低減することができる。
【０１１９】
以上のように、実施の形態１によれば、入力データにおいて“０”の数が“１”のより多い番地のデータだけ反転して書きこみ、読み出す際にはフラグ情報に基づいて当該番地のデータを再度反転して読み出すことにより、読出し時および待機時における消費電力を低減することが可能となる。
【０１２０】
［実施の形態２］
図１３は、この発明の実施の形態２による半導体記憶装置１Ｂの概略的な構成を示したブロック図である。
【０１２１】
図１３を参照して、実施の形態２の半導体記憶装置１Ｂは、データ入力回路５Ａがデータ入力回路５Ｂに置き換えられた点でのみ、実施の形態１の半導体記憶装置１Ａと異なる。したがって、半導体記憶装置１Ａと共通する部分の説明は、ここでは繰り返さない。データ入力回路５Ｂの詳細な回路構成について、次に説明する。
【０１２２】
図１４は、この発明の実施の形態２によるデータ入力回路５Ｂの具体的な回路構成を示した回路図である。
【０１２３】
図１４を参照して、実施の形態２のデータ入力回路５Ｂは、書込みドライバ回路５４ａ，５４ｂｋ（ｋ＝１〜ｎ）と、セレクタ５３＿ｋと、フリップフロップ回路５００＿ｋと、多数決論理判定用センスアンプ５１０と、プリチャージ回路５５０とを含む。
【０１２４】
プリチャージ回路５５０は、ＰチャネルＭＯＳトランジスタ５５１，５５２を含み、書込ポート用クロック信号ＣＬＫＡに同期して、多数決線対ＪＬ，／ＪＬをＨレベルにプリチャージする。フリップフロップ回路５００＿ｋは、書込ポート用クロック信号ＣＬＫＡに同期して、データ入力信号ＤＩｋ（ｋ＝１〜ｎ）をラッチするとともに、多数決線対ＪＬ，／ＪＬの電位レベルを制御する。フリップフロップ回路５００＿ｋを代表したフリップフロップ回路５００の詳細な回路構成および動作については、後に説明する。なお、データ入力信号ＤＩｋを総称して、データ入力信号ＤＩと記すこともある。
【０１２５】
多数決論理判定用センスアンプ５１０は、入力端子が多数決線対ＪＬ，／ＪＬに接続され、多数決線対ＪＬ，／ＪＬの電位レベルに応じて、多数決論理判定信号ＭＪを出力する。多数決論理判定用センスアンプ５１０の詳細な回路構成および動作については、後に説明する。セレクタ５３＿ｋは、多数決論理判定信号ＭＪに応じて、フリップフロップ回路５００＿ｋから出力される反転信号／Ｑおよび非反転信号Ｑのいずれか一方を選択する。
【０１２６】
多数決論理判定信号ＭＪがＬレベルのとき、セレクタ５３＿ｋは、フリップフロップ回路５００＿ｋから出力される非反転信号Ｑを選択して、それを書込みドライバ回路５４ｂｋに出力する。一方、多数決論理判定信号ＭＪがＨレベルのとき、セレクタ５３＿ｋは、フリップフロップ回路５００＿ｋから出力される反転信号／Ｑを選択して、それを書込みドライバ回路５４ｂｋに出力する。
【０１２７】
書込みドライバ回路５４ａは、書込制御信号ＷＥに応じて、図１３のフラグビット用メモリセルアレイ２０の指定したアドレス番地に、書込データ線対ＷＤＬ，／ＷＤＬを介して多数決論理判定信号ＭＪを書き込む。書込みドライバ回路５４ｂｋは、書込制御信号ＷＥに応じて、図１３のデータビット用メモリセルアレイ２１の指定したアドレス番地に、書込データ線対ＷＤＬ，／ＷＤＬを介して、フリップフロップ回路５００＿ｋから出力される非反転信号Ｑ、または反転信号／Ｑを書き込む。
【０１２８】
図１５は、この発明の実施の形態２によるフリップフロップ回路５００の具体的な回路構成を示した回路図である。
【０１２９】
図１５を参照して、実施の形態２のフリップフロップ回路５００は、ＮチャネルＭＯＳトランジスタ１５１〜１５４と、トランスファゲート回路１５５，１５８と、インバータ回路１５６，１５７，１５９，１６０，１６１とを含む。
【０１３０】
ＮチャネルＭＯＳトランジスタ１５１，１５２は、多数決線端子／Ｊと接地線ＧＮＤとの間に直列接続される。ＮチャネルＭＯＳトランジスタ１５３，１５４は、多数決線端子Ｊと接地線ＧＮＤとの間に直列接続される。ＮチャネルＭＯＳトランジスタ１５１，１５３のゲートは、いずれも書込ポート用クロック信号ＣＬＫＡを受ける。ＮチャネルＭＯＳトランジスタ１５２のゲートは、ノードＮ１１に接続される。ＮチャネルＭＯＳトランジスタ１５４のゲートは、ノードＮ１２に接続される。
【０１３１】
トランスファゲート回路１５５は、書込ポート用クロック信号ＣＬＫＡがＬレベルのときにはデータ入力信号ＤＩをノードＮ１１に導通し、書込ポート用クロック信号ＣＬＫＡがＨレベルのときにはデータ入力信号ＤＩをノードＮ１１に導通しない。インバータ１５６，１５７は、ノードＮ１１とノードＮ１２との間に互いに環状に接続され、マスタラッチ回路を構成する。
【０１３２】
トランスファゲート回路１５８は、書込ポート用クロック信号ＣＬＫＡがＨレベルのときにはノードＮ１２とノードＮ１３とを導通し、書込ポート用クロック信号ＣＬＫＡがＬレベルのときにはノードＮ１２とノードＮ１３とを遮断する。インバータ１５９，１６０は、ノードＮ１３とノードＮ１４との間に互いに環状に接続され、スレーブラッチ回路を構成する。インバータ１５９の出力信号は、非反転信号Ｑとなる。インバータ１６１は、ノードＮ１４に接続され、出力信号は反転信号／Ｑとなる。
【０１３３】
上記に説明したように、フリップフロップ回路５００は、書込ポート用クロック信号ＣＬＫＡの立ち上がりエッジに同期してデータ入力信号ＤＩをラッチする。また、データ入力信号ＤＩにおいて、“０”の数と”１”の数のどちらが多いかの多数決論理判定するために、図１５に示すように、インバータ１５６，１５７から構成されるマスタラッチ回路のノードＮ１１，Ｎ１２をＮチャネルＭＯＳトランジスタ１５２，１５４にそれぞれ接続している。
【０１３４】
書込ポート用クロック信号ＣＬＫＡがＬレベルからＨレベルに変化すると、データ入力信号ＤＩがインバータ１５６，１５７から構成されるマスタラッチ回路に取り込まれ、その後にデータ入力信号ＤＩが入力される端子とマスタラッチ回路とが遮断される。インバータ１５９，１６０から構成されるスレーブラッチ回路では、ノードＮ１２とノードＮ１３とが導通し、マスタラッチ回路に取り込まれたデータがスレーブラッチ回路に伝播される。また、マスタラッチ回路のノードＮ１１，Ｎ１２にそれぞれ接続された多数決論理判定用のＮチャネルＭＯＳトランジスタ１５１，１５３は共にオンとなる。
【０１３５】
したがって、書込ポート用クロック信号ＣＬＫＡがＬレベルからＨレベルに変化すると、直列接続されたＮチャネルＭＯＳトランジスタ１５１，１５２および直列接続されたＮチャネルＭＯＳトランジスタ１５３，１５４のどちらか一方は常に、両方のＮチャネルＭＯＳトランジスタがオンとなる。そのため、多数決線端子Ｊおよび多数決線端子／Ｊのどちらか一方は常に、接地線ＧＮＤと導通状態となる。
【０１３６】
その後、書込ポート用クロック信号ＣＬＫＡがＨレベルからＬレベルに変化すると、多数決線端子Ｊ，／Ｊに接続しているＮチャネルＭＯＳトランジスタ１５１，１５３は、ともにオフとなる。そのため、多数決線端子Ｊ，／Ｊは、ともに接地線ＧＮＤと非導通状態になる。
【０１３７】
図１６は、この発明の実施の形態２による多数決論理判定用センスアンプ５１０の具体的な回路構成を示した回路図である。
【０１３８】
図１６を参照して、実施の形態２の多数決論理判定用センスアンプ５１０は、ＰチャネルＭＯＳトランジスタ５１１，５１３，５１６，５１８と、ＮチャネルＭＯＳトランジスタ５１２，５１４，５１５と、ＮＡＮＤ回路５１７，５１９，５２０とを含む。
【０１３９】
ＰチャネルＭＯＳトランジスタ５１１は、電源線ＶＤＤとノードＮ５との間に接続され、ゲートがノードＮ６に接続される。ＮチャネルＭＯＳトランジスタ５１２は、ノードＮ５とノードＮ７との間に接続され、ゲートがノードＮ６に接続される。ＰチャネルＭＯＳトランジスタ５１３は、電源線ＶＤＤとノードＮ６との間に接続され、ゲートがノードＮ５に接続される。ＮチャネルＭＯＳトランジスタ５１４は、ノードＮ６とノードＮ７との間に接続され、ゲートがノードＮ５に接続される。ＮチャネルＭＯＳトランジスタ５１５は、ノードＮ７と接地線ＧＮＤとの間に接続され、ＮＡＮＤ回路５１７から出力されるセンス信号ＳＥをゲートに受ける。
【０１４０】
ＰチャネルＭＯＳトランジスタ５１６は、ノードＮ５と多数決線／ＪＬとの間に接続され、ＮＡＮＤ回路５１７から出力されるセンス信号ＳＥをゲートに受ける。ＰチャネルＭＯＳトランジスタ５１８は、ノードＮ６と多数決線ＪＬとの間に接続され、センス信号ＳＥをゲートに受ける。ＰチャネルＭＯＳトランジスタ５１１，５１３，５１６，５１８およびＮチャネルＭＯＳトランジスタ５１２，５１４，５１５は、センスラッチ回路を構成する。
【０１４１】
ＮＡＮＤ回路５１７は、入力端子に多数決線対ＪＬ，／ＪＬが接続され、センス信号ＳＥをＰチャネルＭＯＳトランジスタ５１６のゲートに出力する。センス信号ＳＥは、センスラッチ回路にラッチをかけるトリガ信号である。
【０１４２】
ＮＡＮＤ回路５１９は、入力端子にノードＮ５およびＮＡＮＤ回路５２０の出力端子が接続され、出力端子がＮＡＮＤ回路５２０の入力端子の一方に接続される。ＮＡＮＤ回路５２０は、入力端子にノードＮ６およびＮＡＮＤ回路５１９の出力端子が接続され、出力端子がＮＡＮＤ回路５１９の入力端子の一方に接続される。ＮＡＮＤ回路５１９，５２０は、センスしたデータを保持するためのＲＳラッチ回路であり、多数決論理判定信号ＭＪを出力する。
【０１４３】
図１７は、この発明の実施の形態２による多数決論理判定用センスアンプ５１０の回路動作を説明するための動作波形図である。
【０１４４】
図１７を参照して、初期状態において、多数決線対ＪＬ，／ＪＬはプリチャージ状態であり、ともに電源電位ＶＤＤ（Ｈレベル）となっている。一方、センス信号ＳＥは、図１６のＮＡＮＤ回路５１７により、接地線ＧＮＤ（Ｌレベル）となっている。このため、図１６において、ＮチャネルＭＯＳトランジスタ５１５はオフとなり、ＰチャネルＭＯＳトランジスタ５１６，５１８はオンとなる。また、ノードＮ５，Ｎ６は、ともにＨレベルとなる。このため、図１６において、ＮＡＮＤ回路５１９，５２０によって構成されるＲＳラッチ回路から出力される多数決論理判定信号ＭＪは、前の判定結果を保持している。
【０１４５】
時刻ｔ１において、書込ポート用クロック信号ＣＬＫＡがＬレベルからＨレベルに立ち上がり、書込み動作が開始される。書込み動作の開始により、時刻ｔ２以降において、多数決線対ＪＬ，／ＪＬは、図１５のデータ入力信号ＤＩにおける“０”の数と“１”の数との大小に応じて、電位レベルがＨレベルからＬレベルに下がってくる。データ入力信号における“１”の数が“０”の数より多い場合、多数決線／ＪＬは多数決線ＪＬよりも早くＨレベルからＬレベルに低下する。逆に、図１５のデータ入力信号における“０”の数が“１”の数より多い場合、多数決線ＪＬが多数決線／ＪＬよりも早くＨレベルからＬレベルに低下する。図１７では、データ入力信号における“１”の数が“０”の数より多い場合について図示している。
【０１４６】
多数決線対ＪＬ，／ＪＬの電位レベル変化が変化すると、図１６において、センスラッチ回路におけるノードＮ５，Ｎ６の電位レベルもまた、ＰチャネルＭＯＳトランジスタ５１６，５１８を介して変化する。そして、多数決線対ＪＬ，／ＪＬのいずれか一方の電位レベルが図１６のＮＡＮＤ回路５１７の入力しきい値以下に下がると、時刻ｔ３において、ＮＡＮＤ回路５１７から出力されるセンス信号ＳＥが、ＬレベルからＨレベルに変化する。その結果、図１６のＰチャネルＭＯＳトランジスタ５１６，５１８はオフ状態となり、図１６において、多数決線対／ＪＬ，ＪＬとノードＮ５，Ｎ６とは、それぞれ遮断される。
【０１４７】
また、このとき、図１６のＮチャネルＭＯＳトランジスタ５１５はオンとなる。このため、図１６において、中間電位レベル付近でわずかな電位差を有していたノードＮ５，Ｎ６は、完全にＨレベルまたはＬレベルに固定される。ノードＮ５，Ｎ６のＨレベル，Ｌレベルが確定することにより、図１６のＮＡＮＤ回路５１９，５２０によって構成されるＲＳラッチ回路は、時刻ｔ４において、多数決論理判定信号ＭＪを出力する。
【０１４８】
その後、時刻ｔ５において、書込ポート用クロック信号ＣＬＫＡがＨレベルからＬレベルに立ち下がる。時刻ｔ６において、図１６のＮＡＮＤ回路５１７から出力されるセンス信号ＳＥが、ＨレベルからＬレベルに立ち下がる。このため、図１６において、ＰチャネルＭＯＳトランジスタ５１６，５１８はオンとなり、ＮチャネルＭＯＳトランジスタ５１５はオフとなる。時刻ｔ７において、プリチャージ動作により多数決線対ＪＬ，／ＪＬは再びＨレベルにプリチャージされ、全体が初期状態に戻る。初期状態に戻ったことで、図１６において、ノードＮ５，Ｎ６はともにＨレベルとなるので、ＮＡＮＤ回路５１９，５２０によって構成されるＲＳラッチ回路はラッチ状態となる。その結果、図１６のＲＳラッチ回路における多数決論理判定信号ＭＪが保持される。
【０１４９】
以上のように、実施の形態２によれば、実施の形態１のデータ入力回路５Ａをデータ入力回路５Ｂに置き換えることによって、読出し時および待機時における消費電力を低減することが可能となる。また、実施の形態２のデータ入力回路５Ｂは、微小電位差を検知して判定する構成であるため、多ビットになっても遅延増大を招かないという利点がある。
【０１５０】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１５１】
【図１】この発明の実施の形態１による半導体記憶装置１Ａの概略的な構成を示したブロック図である。
【図２】この発明の実施の形態１によるメモリセルアレイ２ａの具体的な構成を示した図である。
【図３】この発明の実施の形態１によるメモリセルアレイ２ｂの具体的な構成を示した図である。
【図４】この発明の実施の形態１によるメモリセル２００ａの具体的な回路構成を示した回路図である。
【図５】この発明の実施の形態１によるメモリセル２００ｂの具体的な回路構成を示した回路図である。
【図６】この発明の実施の形態１によるメモリセル２００ｂの第１のポートにおける書込み動作を説明するための動作波形図である。
【図７】この発明の実施の形態１による書込みドライバ回路５４の具体的な回路構成を示した回路図である。
【図８】この発明の実施の形態１によるメモリセル２００ｂの第２のポートにおける読出し動作を説明するための動作波形図である。
【図９】この発明の実施の形態１によるセンスアンプ回路９１の具体的な回路構成を示した回路図である。
【図１０】この発明の実施の形態１による半導体記憶装置１Ａにおける多数決論理判定の動作原理の一例を説明するための動作原理図である。
【図１１】この発明の実施の形態１による半導体記憶装置１Ａにおける多数決論理判定の動作原理の他の一例を説明するための動作原理図である。
【図１２】この発明の実施の形態１による半導体記憶装置１Ａにおける多数決論理判定の動作原理のさらに他の一例を説明するための動作原理図である。
【図１３】この発明の実施の形態２による半導体記憶装置１Ｂの概略的な構成を示したブロック図である。
【図１４】この発明の実施の形態２によるデータ入力回路５Ｂの具体的な回路構成を示した回路図である。
【図１５】この発明の実施の形態２によるフリップフロップ回路５００の具体的な回路構成を示した回路図である。
【図１６】この発明の実施の形態２による多数決論理判定用センスアンプ５１０の具体的な回路構成を示した回路図である。
【図１７】この発明の実施の形態２による多数決論理判定用センスアンプ５１０の回路動作を説明するための動作波形図である。
【符号の説明】
【０１５２】
１Ａ，１Ｂ  半導体記憶装置、２  メモリセルアレイ、３  書込ポート用行デコーダ、４  書込ポート用列デコーダ、５Ａ  データ入力回路、６  書込ポート制御回路、７  読出ポート用行デコーダ、８  読出ポート用列デコーダ、９  データ出力回路、１０  読出ポート制御回路、２０  フラグビット用メモリセルアレイ、２１  データビット用メモリセルアレイ、５２，９３  インバータ回路、５３，９４  セレクタ、５４  書込みドライバ回路、９２  フラグ出力判定回路、９５  トライステートバッファ回路。
【図１】
2005044456.tif 000003
【図２】
2005044456.tif 000004
【図３】
2005044456.tif 000005
【図４】
2005044456.tif 000006
【図５】
2005044456.tif 000007
【図６】
2005044456.tif 000008
【図７】
2005044456.tif 000009
【図８】
2005044456.tif 000010
【図９】
2005044456.tif 000011
【図１０】
2005044456.tif 000012
【図１１】
2005044456.tif 000013
【図１２】
2005044456.tif 000014
【図１３】
2005044456.tif 000015
【図１４】
2005044456.tif 000016
【図１５】
2005044456.tif 000017
【図１６】
2005044456.tif 000018
【図１７】
2005044456.tif 000019