データ一括比較処理回路、データ一括比較処理方法およびデータ一括比較プログラム
【課題】ブロック間のデータを一括で比較し、データ量に依存しないで高速にデータ比較が行える処理方法等を提供する。
【解決手段】各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する1本のワードラインとから構成される1ビットのメモリセルが上段と下段に隣接し、隣接する2個のメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する1本のモード制御ラインと、を備えたメモリセルペアを配列させたメモリセルアレイを用いる。メモリセルペアの上段・下段に比較すべきデータを書き込み、モード制御ラインを導通し、メモリセルペアのノードを接続し、電源電圧をフローティング状態にし、データの一致性を判定する。
【解決手段】各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する1本のワードラインとから構成される1ビットのメモリセルが上段と下段に隣接し、隣接する2個のメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する1本のモード制御ラインと、を備えたメモリセルペアを配列させたメモリセルアレイを用いる。メモリセルペアの上段・下段に比較すべきデータを書き込み、モード制御ラインを導通し、メモリセルペアのノードを接続し、電源電圧をフローティング状態にし、データの一致性を判定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ブロック間のデータを一括で比較し、データ量に依存しないで高速にデータ比較が可能なデータ一括比較処理に関する技術である。
【背景技術】
【0002】
近年のSRAM等のメモリセルは、SoCに搭載されるCMOSプロセス技術が進展し、集積回路のスケーリングサイズが縮小され、より高いチップ密度と低いチップコストが実現され、メモリ容量が増大している。スケーリングサイズの縮小は、SRAM等のメモリセルを構成するトランジスタの閾値電圧のばらつきを拡大し、メモリセルにおける読み出しや書き込みのノイズマージンを低下させ、メモリセル動作を不安定性化し、ビット誤り率を増大させている。
【0003】
上記状況に鑑みて、本発明者らは、アプリケーションやメモリ状況に応じてメモリセルのビット信頼性を動的に変化させることができ、動作の安定性を確保して低消費電力化および高信頼性化を実現できるメモリを提供することを目的として、1ビットが1個のメモリセルで構成されるモード(通常モードと呼ぶ)と、1ビットが2個のメモリセルを連結して構成されるモード(高信頼モードと呼ぶ)とを動的に切り替えることができ、通常モードから高信頼モードに切り替えることにより、1ビットの動作安定性の増大および読出し動作のセル電流の増大を行い、またビットエラーの自己修復が行えるといったメモリセルを提案している(特許文献1)。
【0004】
かかる提案のメモリセルの具体的な回路構成は、図1に示すように、各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通が制御し得る1本のワードラインとから構成されるメモリセルにおいて、隣接する2つのメモリセルのデータ保持ノード間に、1対のP型MOSトランジスタと、該P型MOSトランジスタが導通するように制御し得る1本のモード制御ラインを追加した構成とされる。
【0005】
ここで、図1のメモリセルの回路動作を簡単に説明する。
図2に示すメモリセル(MC01)は、電源電位VDDAおよび接地電位の間に直列に接続されるP型MOSトランジスタ(M00)およびN型MOSトランジスタ(M02)と、電源電位VDDAおよび接地電位の間に直列に接続されるP型MOSトランジスタ(M01)およびN型MOSトランジスタ(M03)とからなるラッチ回路を構成している。メモリセル(MC01)自体は、一般的な6トランジスタの構成のメモリセルである。
メモリセル(MC10)も同様に、電源電位VDDBおよび接地電位の間に直列に接続されるP型MOSトランジスタ(M10)およびN型MOSトランジスタ(M12)と、電源電位VDDBおよび接地電位の間に直列に接続されるP型MOSトランジスタ(M11)およびN型MOSトランジスタ(M13)とからなるラッチ回路を構成している。メモリセル(MC10)自体も、一般的な6トランジスタの構成のメモリセルである。
【0006】
メモリセル(MC01)では、P型MOSトランジスタ(M00)およびN型MOSトランジスタ(M02)のゲート端子は、共にP型MOSトランジスタ(M01)およびN型MOSトランジスタ(M03)のノード(N01)に接続されている。また、P型MOSトランジスタ(M01)およびN型MOSトランジスタ(M03)のゲート端子は、共にP型MOSトランジスタ(M00)およびN型MOSトランジスタ(M02)のノード(N00)に接続されている。このようにM00〜M03のトランジスタはクロスカップル接続されているため、P型MOSトランジスタ(M00,M01)は負荷トランジスタとして動作し、N型MOSトランジスタ(M02,M03)は駆動トランジスタとして動作する。メモリセル(MC10)も同様である。
【0007】
また、メモリセル(MC01)は、相補なビットライン(BLA,BL_NA)と、ノード(N00,N01)との間にそれぞれ接続されたN型MOSトランジスタ(M04、M05)のスイッチ部を備える。N型MOSトランジスタ(M04,M05)のゲート端子は、共に共通のワードライン(WLA)に接続されており、N型MOSトランジスタ(M04,M05)のゲート電位はワードライン(WLA)により制御される。すわなち、メモリセル(MC01)においては、P型MOSトランジスタ(M00,M01)を負荷トランジスタとし、N型MOSトランジスタ(M02,M03)を駆動トランジスタし、N型MOSトランジスタ(M04,M05)をスイッチ部として動作する。
【0008】
また、メモリセル(MC10)も、相補なビットライン(BLB,BL_NB)と、ノード(N10,N11)との間にそれぞれ接続されたN型MOSトランジスタ(M14、M15)のスイッチ部を備える。N型MOSトランジスタ(M14,M15)のゲート端子は、共に共通のワードライン(WLB)に接続されており、N型MOSトランジスタ(M14,M15)のゲート電位はワードライン(WLB)により制御される。
【0009】
そして、メモリセル(MC01,MC10)のデータ保持ノード間(N00とN10の間、N01とN11の間)に、モード制御スイッチ部となる1対のP型MOSトランジスタ(M20、M21)が設けられ、このP型MOSトランジスタ(M20、M21)の導通を制御する1本のモード制御ライン(CTRL)が設けられている。
【0010】
以上のような回路構成のメモリセルでは、1ビットのデータをメモリセル(MC01)に記憶する場合と、1ビットのデータをメモリセル(MC01)とメモリセル(MC10)の2つのメモリセルに記憶する場合とを、モード制御ライン(CTRL)を用いて、使い分けることが可能である。上記回路構成のメモリセルは、1ビットが1個のメモリセルで構成されるモード(通常モード)と、1ビットが2個のメモリセルを連結して構成されるモード(高信頼モード)の2つの状態を有し、アプリケーションやメモリ状況に応じてメモリセルのビット信頼性を動的に変化させることができ、動作の安定性を確保して低消費電力化および高信頼性化を実現する。
【0011】
以上説明したような1ビットが1個のメモリセルで構成されるモード(通常モード)と、1ビットが2個のメモリセルを連結して構成されるモード(高信頼モード)の切り替えは、図2に示すように、メモリセルのブロック単位で制御することができる。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】国際公開2009/088020のパンフレット
【発明の概要】
【発明が解決しようとする課題】
【0013】
従来、データ比較処理において、同時に比較可能なデータ量はバス幅などによって制限されている。このため、データ比較処理は、比較するデータ量に比例して、処理時間が増大するといった問題がある。
【0014】
上記状況に鑑みて、本発明は、既に提案したメモリセルを利用して、メモリブロック間のデータを一括で比較し、データ量に依存しないで高速にデータ比較が行えるデータ一括比較処理回路、データ一括比較処理方法およびデータ一括比較プログラムを提供することを目的とする。
【課題を解決するための手段】
【0015】
上述したように、提案中のメモリセルでは、通常モードと高信頼モードの2つの動作モードの切り替え制御をメモリブロック毎に一様に行うことが可能である。
本発明者らは、鋭意研究を行い、提案中のメモリセルを利用し、一部の周辺回路を付加し所定の処理を行うことで、メモリセルペア間におけるデータの比較をメモリブロック単位でまとめて実行でき、データ量に依存しないで高速に比較が行えることを発案した。
【0016】
すなわち、上記目的を達成するため、本発明のデータ一括比較処理方法は、各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する1本のワードラインと、から構成される1ビットのメモリセルが上段と下段に隣接し、隣接する2個のメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する1本のモード制御ラインと、を備えたメモリセルペアをアレイ状に配列させ、電源電圧を行方向に共通化したメモリセルアレイを用いたデータ一括比較処理方法であって、下記(1)〜(6)の処理を行う。
【0017】
(1)メモリセルペアのモード制御ラインをOFFする。
(2)メモリセルペアの上段・下段に比較すべきデータを書き込む。
(3)メモリセルペアのモード制御ラインをONし、上段・下段のメモリセルペアのノードを接続する。
(4)メモリセルペアの電源電圧(VDDA,VDDB)をフローティング状態にする。
(5)メモリセルペアの電源電圧(VDDA,VDDB)の変化を検知する。
(6)メモリセルペアの電源電圧(VDDA,VDDB)がメモリセルを構成するMOSトランジスタの閾値電圧に向かって降下している場合、メモリセルペアの上段・下段に書き込まれたデータは不一致と判定し、そうでない場合、メモリセルペアの上段・下段に書き込まれたデータは一致と判定する。
【0018】
提案中の半導体メモリのメモリセルアレイに、上記の(1)〜(6)の処理を行うことにより、メモリセルペア間におけるデータの比較をメモリブロック単位でまとめて実行でき、データ量に依存しないで高速に比較が行える。
先ず、メモリセルペアのモード制御ラインをOFFして(上記(1)の処理)、メモリセルペアを2個の独立したメモリセルにする。次に、上記(2)のメモリセルペアの上段・下段に比較すべきデータを書き込み(上記(2)の処理)、メモリセルペアのモード制御ラインをONし、上段・下段のメモリセルペアのノードを接続する(上記(3)の処理)。この際、上段・下段のメモリセルに記憶されたデータが異なる場合は、メモリセルペア内に電源からGNDへの放電パスが発生する。
そのため、メモリセルペアの電源電圧をフローティング状態にすると(上記(4)の処理)、異なるデータが記憶されたメモリセルペアのメモリセルの電源電圧は放電される。メモリセルを構成するMOSトランジスタの閾値あたりまで電圧が下降することになる。
【0019】
一方、同一のデータが記憶されていた場合も、リーク電流によってメモリセルの電源電圧は徐々に下降する。しかしながら、異なるデータが記憶されたメモリセルペアの電源電圧と同一のデータが記憶されたメモリセルペアの電源電圧とを比較すると明らかに電圧差が生じることになる。従って、メモリセルペアの電源電圧の変化を検知することで(上記(5)の処理)、異なるデータが記憶されたメモリセルペアか同一のデータが記憶されたメモリセルペアかを判別することが可能となる。
【0020】
すなわち、メモリセルペアの電源電圧(VDDA,VDDB)がメモリセルを構成するMOSトランジスタの閾値電圧まで下がっている場合、メモリセルペアの上段・下段に書き込まれたデータは不一致と判定し、そうでない場合、メモリセルペアの上段・下段に書き込まれたデータは一致と判定する(上記(6)の処理)。
【0021】
具体的には、上記(5)のメモリセルペアの電源電圧の変化を検知する処理は、メモリセルペアの電源電圧(VDDA,VDDB)を参照電圧(VDDREF)と比較することにより行う。
メモリセルペアの電源電圧(VDDA,VDDB)を参照電圧(VDDREF)と比較し、メモリセルペアの上段・下段に書き込まれたデータが同一か異なるかを判定するのである。
【0022】
また、上記(5)のメモリセルペアの電源電圧の変化を検知する処理は、メモリセルアレイ内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)を参照電圧(VDDREF)と同時に比較することにより、ブロック単位でデータ一括比較を行うことが好ましい。
メモリセルの電源は行方向に共通化されており、複数行のメモリセルの電源電圧(VDDA,VDDB)を同時に参照電圧(VDDREF)と比較することにより、データ量に依存しないブロック単位での比較が実現できることになる。
【0023】
以上のようなデータ比較処理を行うことで、メモリセルペアの上段・下段に比較すべきデータを書き込んだ後(上記(2)の処理)、上記(3)のメモリセルペアのモード制御ラインをONにする処理、上記(4)のメモリセルペアの電源電圧をフローティング状態にするために電源電圧ラインから切り離す処理、上記(5)のメモリセルペアの電源電圧の変化をセンスアンプなどで検知する処理で、ブロックデータの一括比較が可能となる。
ここで、上記(5)の処理における電源電圧ラインの放電時間が、他の処理よりも若干時間を要する。
【0024】
次に、上記目的を達成するため、本発明の第1の観点のデータ一括比較処理回路は、以下の(A)〜(E)の回路で構成されるものである。
【0025】
(A)各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する1本のワードラインと、から構成される1ビットのメモリセルが上段と下段に隣接し、隣接する2個のメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する1本のモード制御ラインと、を備えたメモリセルペアをアレイ状に配列させ、電源電圧を行方向に共通化したメモリセルアレイ。
【0026】
(B)上記(A)のメモリセルペアよりもリークの多く発生する構造のメモリセル回路で構成され、不一致データのメモリセルペアが存在する電源電圧ラインよりも高く、全てのメモリセルペアが一致している電源電圧ラインよりも低い電圧を参照電圧(VDDREF)として供給し得るダミーセル。
(C)ダミーセル及び上記メモリセルアレイのブロック内の全てのメモリセルペアのモード制御ラインを比較データブロック単位で一括に導通させるモード制御ライン制御バッファ回路。
(D)ダミーセル及び上記メモリセルアレイのブロック内の全てのメモリセルペアの電源電圧(VDDA,VDDB)を一括でON/OFFするメモリセル電源スイッチ回路。
(E)メモリセルアレイのブロック内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)とダミーセルの参照電圧(VDDREF)を同時に比較する比較回路。
【0027】
提案中の半導体メモリのメモリセルアレイ(上記(A))に、ダミーセル(上記(B))、モード制御ライン制御バッファ回路(上記(C))、メモリセル電源スイッチ回路(上記(D))、比較回路(上記(E))を付加することにより、メモリセルペア間におけるデータの比較をメモリブロック単位でまとめて実行でき、データ量に依存しないで高速に比較が行える。
【0028】
ここで、ダミーセルは、通常のメモリセルペアよりもリークの多く発生する構造のメモリセル回路で構成される。従って、不一致データのメモリセルペアが存在する電源電圧ラインよりも高く、全てのメモリセルペアが一致している電源電圧ラインよりも低い電圧を生成でき、それを参照電圧(VDDREF)として用いる。
【0029】
メモリセルの電源は行方向に共通化されているため、メモリセルアレイ内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)とダミーセルの参照電圧(VDDREF)を比較する。そして、メモリセルペアの電源電圧(VDDA,VDDB)が、ダミーセルの参照電圧(VDDREF)から大きく差があり、具体的には、メモリセルを構成するMOSトランジスタの閾値電圧まで下がっているような場合には、メモリセルペアの上段・下段に書き込まれたデータは不一致と判定する。また、メモリセルペアの電源電圧(VDDA,VDDB)が、ダミーセルの参照電圧(VDDREF)と差が殆ど無い場合には、メモリセルペアの上段・下段に書き込まれたデータは一致と判定する。
【0030】
また、本発明の第2の観点のデータ一括比較処理回路は、以下の(A´)〜(D´)の回路で構成されるものである。第2の観点のデータ一括比較処理回路は、上述の第1の観点のデータ一括比較処理回路と比べて、ダミーセルがなく、メモリセルアレイのブロック内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)と直接に参照電圧(VDDREF)と比較するものである。
【0031】
(A´)各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する1本のワードラインと、から構成される1ビットのメモリセルが上段と下段に隣接し、隣接する2個のメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する1本のモード制御ラインと、を備えたメモリセルペアをアレイ状に配列させ、電源電圧を行方向に共通化したメモリセルアレイ。
(B´)メモリセルアレイのブロック内の全てのメモリセルペアのモード制御ラインを比較データブロック単位で一括に導通させるモード制御ライン制御バッファ回路。
(C´)メモリセルアレイのブロック内の全てのメモリセルペアの電源電圧(VDDA,VDDB)を一括でON/OFFするメモリセル電源スイッチ回路。
(D´)メモリセルアレイのブロック内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)と参照電圧(VDDREF)を同時に比較する比較回路。
【0032】
ここで、本発明の第1の観点又は第2の観点のデータ一括比較処理回路における比較回路は、具体的には、センスアンプを複数並列に用いて、複数行のメモリセルペアの電源電圧(VDDA,VDDB)と参照電圧(VDDREF)を同時に比較し、該センスアンプの出力を論理和回路の入力とし、該論理和回路の出力をデータ一括比較の判定結果の出力信号とすることが好ましい態様である。
メモリセルペア間におけるデータの比較をブロック単位でまとめて実行でき、データ量に依存しないで高速に比較が行えるのである。
【0033】
ここで、センスアンプは、メモリセルからの電圧を増幅するための回路である。メモリセルは非常に小さなコンデンサで構成され、ビットラインに読み出された電圧は数百mV程度と小さいことから、かかる電圧を増幅してデジタルレベルとして取り扱えるレベルにまで増幅を行なう。
【0034】
次に、本発明のデータ一括比較プログラムは、上述の本発明の第1の観点又は第2の観点のデータ一括比較処理回路をドライブするプログラムであって、コンピュータに、以下の手順A〜手順Eを実行させるものである。
【0035】
(手順A)モード制御ライン制御バッファ回路にOFF信号を送り、メモリセルペアのモード制御ラインを一括でOFFし、モード制御スイッチ部を非導通とする。
(手順B)メモリセルペアの上段・下段に比較すべきデータを書き込む。
(手順C)モード制御ライン制御バッファ回路にON信号を送り、メモリセルペアのモード制御ラインを一括でONし、モード制御スイッチ部を導通させて、上段・下段のメモリセルペアのノードを接続する。
(手順D)メモリセル電源スイッチ回路にOFF信号を送り、メモリセルペアの電源電圧(VDDA,VDDB)をフローティング状態にする。
(手順E)比較回路の出力結果が、複数行のメモリセルの電源電圧(VDDA,VDDB)の全てが参照電圧(VDDREF)よりも所定閾値電圧以上大きい場合、メモリセルアレイのブロック内の全てのメモリセルペアの上段・下段に書き込まれたデータは一致と判定し、そうでない場合、データは不一致と判定する。
【0036】
本発明のデータ一括比較プログラムは、メモリセルペア間におけるデータの比較をメモリブロック単位でまとめて実行でき、データ量に依存しないで高速に比較が行えるものであり、オペレーティングシステム(OS)レベルのプログラムに位置づけられるものである。
また、参照電圧(VDDREF)は、上述した如く、通常のメモリセルペアよりもリークの多く発生する構造のメモリセル回路により生成され、不一致データのメモリセルペアが存在する電源電圧ラインよりも高く、全てのメモリセルペアが一致している電源電圧ラインよりも低い電圧となっている。
このため、上記の手順Eにおける一致・不一致の判定に関しては、複数行のメモリセルの電源電圧(VDDA,VDDB)の全てが参照電圧(VDDREF)より電位が、例えば0.1以上大きければ一致と判定し、複数行のメモリセルの電源電圧(VDDA,VDDB)のいずれかが参照電圧(VDDREF)より0.1V未満と電位が小さければ不一致という判定を行う。
この他、上記の手順Eにおいて、参照電圧(VDDREF)と複数行のメモリセルの電源電圧(VDDA,VDDB)の全てが略一致する結果の場合、メモリセルアレイのブロック内の全てのメモリセルペアの上段・下段に書き込まれたデータは一致と判定し、そうでない場合、メモリセルアレイのブロック内の全てのメモリセルペアの上段・下段に書き込まれたデータは不一致と判定してもよい。これは、不一致データのメモリセルが存在する場合、複数行のメモリセルの電源電圧(VDDA,VDDB)の内のいずれかが、メモリセルを構成するMOSトランジスタの閾値電圧に向かって降下しており、参照電圧(VDDREF)と比較して明らかに電位差が生じるからである。なお、電源電圧が1.0〜1.5Vの場合、参照電圧(VDDREF)と複数行のメモリセルの電源電圧(VDDA,VDDB)の電圧差が0.1V未満、好ましくは、0.05V未満の範囲にあれば、ブロック内の全てのメモリセルペアの上段・下段に書き込まれたデータは一致と判定と判定する。
【0037】
また、本発明のデータ一括比較プログラムを用いた処理プログラム評価方法は、
a)メモリセルペアの上段に第1の処理プログラムの演算結果データを記憶し、
b)メモリセルペアの下段に第2の処理プログラムの演算結果データを記憶し、
c)上述のデータ一括比較プログラムを用いて、第1の処理プログラムと第2の処理プログラムの演算結果データを比較するものである。
かかる処理プログラム評価方法によれば、同一もしくは異なる処理プログラムの演算結果データの評価を行い、一過性のデータエラーを排除し、信頼性の高いデータを得ることができる。
【発明の効果】
【0038】
本発明のデータ一括比較処理回路、データ一括比較処理方法およびデータ一括比較プログラムによれば、メモリブロック間のデータを一括で比較し、データ量に依存しないで高速にデータ比較が行える。
【0039】
また、本発明のデータ一括比較プログラムを用いた処理プログラム評価方法は、図3のデータ比較の概念図に示すように、空間冗長や時間冗長などによる高信頼化手法において、演算データ結果を比較する必要がある異なる処理プログラムの演算データ比較処理に用いることが可能である。図中のCOMPに相当する部分が、本発明のデータ一括比較処理回路に相当する。
【図面の簡単な説明】
【0040】
【図1】提案中のメモリセルの回路構成図
【図2】メモリセルブロックの概念図
【図3】異なる処理プログラムの演算データ比較の概念図
【図4】ブロックデータの一括比較の概念図
【図5】提案中のメモリセルにおける放電パスの説明図
【図6】比較シーケンス波形の説明図
【図7】実施例1のデータ一括比較処理回路のブロック図8
【図8】メモリセルアレイの書き込みの説明図9
【図9】メモリセルアレイのブロックの使用方法の説明図10
【図10】モード制御ラインの制御方法の説明図11
【図11】ダミーセルの回路構成図12
【図12】メモリセル電源スイッチ回路およびモード制御ライン制御バッファ回路の回路構成図13
【図13】データ一括比較処理回路の全体ブロック図14
【図14】メモリセルの内部ノードの電圧波形シミュレーション結果15-1
【図15−1】データ一致のメモリセルのシミュレーション結果15-2
【図15−2】データ不一致のシミュレーション結果16
【図16】実施例3のデータ一括比較処理回路のブロック図17
【図17】実施例4のデータ一括比較処理方法のフローチャート18
【図18】実施例5のデータ一括比較プログラムのフローチャート
【発明を実施するための最良の形態】
【0041】
以下、本発明の実施形態について、図面を参照しながら詳細に説明していく。なお、本発明の範囲は、以下の実施例や図示例に限定されるものではなく、幾多の変更及び変形が可能である。
【実施例1】
【0042】
本発明は、図4に示すように、メモリセルアレイ内のブロックデータ(ブロックAとブロックB)の一括比較を行い、全メモリセルペアのデータが一致するか否かを短時間で検知できるものである。メモリセルアレイは、本発明者らが既に提案した上述のメモリセルペアがアレイ状に配列されたものである。メモリセルペアで構成されるメモリセルアレイは、論理的にブロックAとブロックBの2つのメモリセルブロックに分けられる。個々のメモリセルブロックは、図1に示すように、メモリセルA(Memory Cell A)又はメモリセルB(Memory Cell B)から構成される。本明細書では、図1の回路の位置関係から、メモリセルAとメモリセルBを、それぞれ上段のメモリセル、下段のメモリセルと表すことにする。
【0043】
図4では、メモリセルペアの上段のメモリセルがメモリブロックAを構成し、メモリセルペアの下段のメモリセルがメモリブロックBを構成する。
メモリブロックAのメモリセルの全データとメモリブロックBのメモリセルの全データを比較する際は、メモリブロックAとメモリブロックBで構成されるメモリブロック内の全メモリセルペアの上段と下段のメモリセルのデータを比較する。そして、図4の“Different data in MC Pair”で示すように、メモリセルペアの上段と下段のメモリセルに、異なるデータが記憶されているものを検知するのである。
【0044】
ここで、メモリセルペアの上段と下段のメモリセルに、異なるデータが記憶されているものを検知する仕組みについて、図5を参照して説明する。
図5(1)は、メモリセルペアの上段のメモリセルAと下段のメモリセルBに、同じデータ(“1”)が記憶されている。また、図5(2)は、メモリセルペアの上段のメモリセルAと下段のメモリセルBに、異なるデータ(“0”,“1”)が記憶されている。
図5(1)の状態でモード制御ライン(CTRL)を用いて、モード制御スイッチのPMOSトランジスタを導通させても、リーク電流以外に何も発生しない。ここで、図中の円で囲んだMOSトランジスタが導通状態となっている。
【0045】
一方、図5(2)の状態でモード制御ライン(CTRL)を用いて、モード制御スイッチのPMOSトランジスタを導通させた場合、図中に示す矢印に放電パスが生じることになる。図5(2)の状態、すなわち、メモリセルペアの上段のメモリセルAと下段のメモリセルBに、異なるデータが記憶され、上段と下段でデータが不一致となる場合、メモリセルの電源電圧VDDA,VDDBの電圧が放電されるのである。なお、図中の円で囲んだMOSトランジスタが導通状態となっている。
【0046】
メモリセルペアの上段と下段でデータが一致する場合、メモリセルの電源電圧VDDA,VDDBには何も変化がなく、一方、メモリセルペアの上段と下段でデータが不一致となる場合、メモリセルの電源電圧VDDA,VDDBの電圧が放電されることから、図6に示すような比較シーケンス波形を得ることができる。
【0047】
図6に示す比較シーケンス波形について説明する。
先ず、メモリセルペアのモード制御ライン(CTRL)を制御して、モード制御スイッチ部を導通させ、上段・下段のメモリセルペアのノードを接続する。
次に、SW信号により、メモリセルペアの電源電圧(VDDA,VDDB)をフローティング状態にする。
その結果、メモリセルペアの上段・下段に書き込まれたデータが同じ場合は、放電パスは生じず電源電圧には変化がないが、メモリセルペアの上段・下段に書き込まれたデータが異なる場合は、放電パスが生じて電流が流れるために、メモリセルの電源電圧(VDDA,VDDB)は放電によって降下していく。
【0048】
すなわち、上記の処理により、メモリセルペアの上段・下段のデータを比較できる。このことから、メモリセルペアがアレイ状に配置されたメモリセルアレイで構成されるメモリブロックにおいても、少ない時間コストでブロックのデータを一括で比較することができることになる。
【0049】
次に、実施例1のデータ一括比較処理回路の回路構成について、図7を参照しながら具体的に説明する。
実施例1のデータ一括比較処理回路は、上述のメモリセルペアがアレイ状に配置されたメモリセルアレイ10と、メモリセルペアと同じ回路で構成され、電源電圧として参照電圧(VDDREF)が供給されるダミーセル18と、ダミーセル18及びメモリセルアレイ10のブロック内の全てのメモリセルペアのモード制御ラインを一括で導通させ、かつ、全てのメモリセルペアの電源電圧(VDDA,VDDB)を一括でON/OFFするメモリセル電源スイッチ回路12と、メモリセルアレイ10のブロック内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)とダミーセル18の参照電圧(VDDREF)を同時に比較する比較回路20で構成される。
【0050】
ダミーセル18は、通常のメモリセルペアよりもリークの多く発生する構造のメモリセル回路で構成される。従って、不一致データのメモリセルペアが存在する電源電圧ラインよりも高く、全てのメモリセルペアのデータが一致している時の電源電圧ラインよりも低い電圧を生成できる。そして、生成された電圧(VDD_DMY)を参照電圧(VDDREF)として用いる。
図11にダミーセル18の回路構成図を示す。ダミーセルは、一致データのメモリセルセルよりもリークを多く発生させるように、インバータカップルの入力ゲート(INV0,INV1)はGNDに導通させ、それぞれのMOSトランジスタ(M00〜M03,M10〜M13)のサイズを通常のメモリセルよりも大きく構成している。
【0051】
また、メモリセル電源スイッチ回路およびモード制御ライン制御バッファ回路の回路構成の一例を、図12に示す。
図に示すように、メモリセル電源スイッチ回路は、個々の電源ライン(VDDAまたはVDDB)に設けられたPMOSトランジスタの入力ゲートをSW信号によって制御できるものである。
【0052】
また、図12に示すように、モード制御ライン制御バッファ回路は、電源電位と接地電位の間を2個のPMOSトランジスタで接続され、2個のPMOSトランジスタの間のノードは、各メモリセルのモード制御ライン(CNTL)に接続されている。モード制御ライン制御バッファ回路は、CNTLMC信号(又はCNTLNC信号)で制御される。2個のPMOSトランジスタの入力ゲートは、図に示すように、上段をCNTLMC信号(又はCNTLNC信号)、下段をCNTLMC信号(又はCNTLNC信号)の反転信号に接続される。かかる回路構成により、ダミーセル18及びメモリセルアレイ10のブロック内の行方向のメモリセルペアのモード制御ラインを一括で導通する。
【0053】
図12に示すように、モード制御ライン制御バッファ回路では、メモリセルのモード制御ライン(CNTL)は、CNTLMC信号で制御されるものと、CNTLNC信号で制御されるものの2種類が存在する。以下では、モード制御ライン(CNTL)が2種類の制御に分けられる理由を説明する。
先ず、図10(a)を参照して、従来のデータ比較時におけるモード制御ライン(CNTL)の一括制御の問題点を説明する。図10(a)に示す上段・下段のメモリセルペア間において、同一のデータが記憶されていた場合は、上段・下段のメモリセルの電源ライン(VDDA,VDDB)はインバータカップルのPMOSトランジスタと内部ノードを接続しているPMOSトランジスタによって導通する。上述したモード制御ライン制御バッファ回路データ比較処理において、不一致データを保持するメモリセルペアは、電源ラインを放電することを想定している。そのために、電源ラインの容量は重要な値となる。
【0054】
しかし、従来の回路においては、一致データのメモリセルペアによって縦方向の電源ライン(図の場合、VDDA<0>,VDDB<0>,VDDA<1>,VDDB<1>)が共通化され、横方向に共通化された電源ラインだけでなく、メモリセルアレイの全ての電源ラインが単一のノードとなってしまうことになる。これらの容量を一つの不一致データのメモリセルで放電することは、比較時間のオーバーヘッドや比較機能そのものの障害となる。
【0055】
そのために、図10(b)のように、偶数行と奇数行でCTRL信号をCTRLM,CTRLNに分け、それぞれの放電タイミングをずらすことにより、不一致データのメモリセルによって引き抜く電源ラインを横方向のみに限定できる。この制御方法によって,縦方向に電源ラインが導通する状態は発生しないで、各行の電源ライン電圧を比較し、その結果をドミノOR回路で論理和をとることで、大きなブロック単位でのデータ比較を実現する。
ここで、データ比較を行う際は、縦方向に電源ラインが導通する状態を発生させないようにすべく、CTRLM,CTRLNのどちらか一方のCTRL信号のみを"Low"とすることを想定している。このため、一度にデータ比較できるメモリセルペアは、CTRLMまたはCTRLNが"Low"となっている行のみとなる。従って、一度にデータ比較できるメモリセル容量は、ブロック容量の半分となる。
例えば、16KBの容量のメモリセルアレイを想定する。このメモリセルアレイは、メモリセルペア(1つのメモリセルペアは2ビット容量である)で構成されるものである。このメモリセルアレイが、メモリセルペアの上段と下段のメモリセルのデータを比較するために、ブロックAとブロックBに分けられているとする。ブロック中でCTRL信号が"Low"となり、各メモリセルペアの内部ノードを接続してデータ比較が行われるデータ容量は8KBであるが、上記のように一度にデータ比較できるメモリセルペアはCTRLMまたはCTRLNが"Low"となっている行のみとなることから、内部ノードを接続してデータ比較が行われるメモリセルのデータ容量はメモリセルAとBでそれぞれ4KBとなる。従って、仮に8KB全てデータ比較を行う場合は、放電するCTRL信号を変更して、もう一度比較を行う必要がある。なお、比較できるデータ量は、一度に制御するCTRL行の数に比例して増やせることから、要求仕様に応じで速度を落とさずに容易に拡張可能である。
【0056】
また、CTRL信号を0Vまで放電してデータの比較を行う場合は、データ不一致のメモリセルペアによって電源ラインが放電され、他のメモリセルペアのデータが破壊されてしまう可能性がある。そこで、モード制御ライン制御バッファ回路をPMOSトランジスタのみの構成とする。CTRL信号をPMOSトランジスタで放電することで、モード制御ライン制御用のPMOSトランジスタを“Weakly
ON”の状態とさせて、各メモリセル間に流れる電流を減少させる。これにより、各メモリセルの内部データの破壊を防ぐことが可能となる。
【0057】
図14に、シミュレーションによるデータ比較時のメモリセルの内部ノード(N00,N01,N10,N11)の電圧波形を示す。電源ラインは、メモリセルペアのデータが一致・不一致の場合で電圧差が生じているが、内部ノードは破壊されないことが確認できる。なお、シミュレーションは、65nmプロセスに対して、125℃の温度条件で、1万回モンテカルロシミュレーションした結果である。1ブロックサイズは16KB(=128rows×8columns×16bits/word)である。1ブロックには上段・下段のメモリセルをペアにしたメモリセルペアがアレイ状に配置されている。従って、ブロック内の上段のメモリセルAの8KB(=64rows×8columns×16bits/word)のデータとブロック内の下段のメモリセルBの8KB(=64rows×8columns×16bits/word)のデータを比較することになる。2種類のCTRL信号をそれぞれ異なるタイミングで制御するため,一度の比較においては半分の4KB(=32rows×8columns×16bits/word)のデータを比較する.
シミュレーション結果に示されるように、25nsで4KB(=32rows×8columns×16bits/word)のデータを一括で比較できることがわかる。
【0058】
また、比較回路は、図7および図12に示すように、センスアンプ14を複数並列に用いて、メモリセルアレイ10内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)と参照電圧(VDDREF)を同時に比較し、センスアンプ14の出力をOR回路16の入力とし、OR回路16の出力信号(Result)をデータ一括比較の判定結果の出力信号としている。なお、図12に示すように、比較は各行ごとに行われ、その比較結果はドミノOR回路16によってResult信号を出力する。
【0059】
図13に、データ一括比較処理回路の全体ブロック図を示す。メモリセルペア(64行×128列)を内蔵するメモリセルアレイ(128行×128列)の周辺回路として、ワードラインのデコーダ回路(WL
row decoder)、アドレスおよびタイマー回路(ADBUF&TG)、ビットラインの入出力回路(I/O Circuit)、ダミーセル(Dummy cell:1行×128列)、メモリセル電源スイッチ回路およびモード制御ライン制御バッファ回路(CTRL control buffer & VDD
switch)から構成される。
【0060】
実施例1のデータ一括比較処理回路をシミュレーションした結果を、図15−1と図15−2に示す。データ一括比較処理回路の回路スペックは、65nmCOMSプロセスとし、1ブロックサイズは16KB(=128rows×8columns×16bits/word)である。1ブロックには上段・下段のメモリセルをペアにしたメモリセルペアがアレイ状に配置されている。従って、ブロック内の上段のメモリセルAの8KB(=64rows×8columns×16bits/word)のデータとブロック内の下段のメモリセルBの8KB(=64rows×8columns×16bits/word)のデータを比較することになる。2種類のCTRL信号をそれぞれ異なるタイミングで制御するため,一度の比較においては半分の4KB(=32rows×8columns×16bits/word)のデータ比較が実行される.
図15−1と図15−2のシミュレーション結果に示されるように、25nsで4KB(=32rows×8columns×16bits/word)のデータを一括で比較できることがわかる。
【実施例2】
【0061】
図9は、実施例1のデータ一括比較処理回路を用いて、2つのコアプロセッサの演算処理結果を比較する処理の説明図を示している。2つのコアプロセッサ(CORE)は、各々のキャッシュメモリ(L1)内のデータAおよびデータBを、実施例1のデータ一括比較処理回路のメモリセルアレイに書き込む。その際、データAはブロックAに、データBはブロックBにそれぞれ書き込む。上述したように、ブロックAとブロックBは、それぞれメモリセルアレイの上段のメモリセル群、下段のメモリセル群に対応する。図中の右下の模式図に示されるように、ブロックAとブロックBの領域は交互にかみ合うような形になる。
この状態で、ブロックAとブロックBの全メモリセルを一括比較し、その結果(Result)をキャッシュメモリ(L1)に格納する。
【実施例3】
【0062】
実施例2のデータ一括比較処理回路の回路構成について、図16を参照して説明する。
実施例2のデータ一括比較処理回路は、図16に示されるように、上述のメモリセルペアがアレイ状に配置されたメモリセルアレイ10と、メモリセルアレイ10のブロック内の全てのメモリセルペアのモード制御ラインを一括で導通させ、かつ、全てのメモリセルペアの電源電圧(VDDA,VDDB)を一括でON/OFFするメモリセル電源スイッチ回路12と、メモリセルアレイ10内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)と参照電圧(VDDREF)を同時に比較する比較回路20で構成される。
【実施例4】
【0063】
実施例3として、本発明のデータ一括比較処理方法について、図17のフローチャートを参照して説明する。
本発明のデータ一括比較処理方法は、上述のメモリセルペアをアレイ状に配列させ、電源電圧を行方向に共通化したメモリセルアレイのブロックに対して、以下のステップS01〜S08を行う。
(ステップS01)メモリセルアレイのブロック内の全メモリセルペアのモード制御ラインをまとめてOFFする。
(ステップS02)メモリセルアレイのブロック内のメモリセルペアの上段・下段に比較すべきデータを書き込む。
(ステップS03)メモリセルアレイのブロック内の全メモリセルペアのモード制御ラインをまとめてONし、上段・下段のメモリセルペアのノードを接続する。
(ステップS04)メモリセルアレイのブロック内の全メモリセルペアの電源電圧(VDDA,VDDB)をフローティング状態にする。
(ステップS05)メモリセルアレイのブロック内のメモリセルペアの電源電圧(VDDA,VDDB)の変化を検知する。
(ステップS06)メモリセルペアの電源電圧(VDDA,VDDB)がメモリセルを構成するMOSトランジスタの閾値電圧に向かって降下している場合、メモリセルペアの上段・下段に書き込まれたデータは不一致と判定し(ステップS07)、そうでない場合、メモリセルペアの上段・下段に書き込まれたデータは一致と判定する(ステップS08)。
【実施例5】
【0064】
実施例4として、本発明のデータ一括比較プログラムについて、図18のフローチャートを参照して説明する。
本発明のデータ一括比較プログラムは、上述の実施例1のデータ一括比較処理回路に対して、コンピュータに以下の手順A〜Eを実行させる。
(手順A)モード制御ライン制御バッファ回路にOFF信号を送り(ステップS21)、メモリセルペアのモード制御ラインを一括でOFFし、モード制御スイッチ部を非導通とする。
(手順B)メモリセルペアの上段・下段に比較すべきデータを書き込む(ステップS22)。
(手順C)モード制御ライン制御バッファ回路にON信号を送り(ステップS23)、メモリセルペアのモード制御ラインを一括でONし、モード制御スイッチ部を導通させて、上段・下段のメモリセルペアのノードを接続する。
(手順D)メモリセル電源スイッチ回路にOFF信号を送り(ステップS24)、メモリセルペアの電源電圧(VDDA,VDDB)をフローティング状態にする。
(手順E)比較回路の出力結果が、複数行のメモリセルの電源電圧(VDDA,VDDB)の全てが参照電圧(VDDREF)よりも所定閾値電圧以上大きい場合(ステップS25)、メモリセルアレイのブロック内の全てのメモリセルペアの上段・下段に書き込まれたデータは一致と判定し(ステップS26)、そうでない場合、メモリセルアレイ内の全てのメモリセルペアの上段・下段に書き込まれたデータは不一致と判定する(ステップS27)。
【産業上の利用可能性】
【0065】
本発明は、コンピュータのキャッシュメモリのデータ比較に有用である。
【符号の説明】
【0066】
10 メモリセルアレイ
12 メモリセル電源スイッチ回路およびモード制御ライン制御バッファ回路
14 センスアンプ
16 OR回路
18 ダミーセル
20 比較回路
【技術分野】
【0001】
本発明は、ブロック間のデータを一括で比較し、データ量に依存しないで高速にデータ比較が可能なデータ一括比較処理に関する技術である。
【背景技術】
【0002】
近年のSRAM等のメモリセルは、SoCに搭載されるCMOSプロセス技術が進展し、集積回路のスケーリングサイズが縮小され、より高いチップ密度と低いチップコストが実現され、メモリ容量が増大している。スケーリングサイズの縮小は、SRAM等のメモリセルを構成するトランジスタの閾値電圧のばらつきを拡大し、メモリセルにおける読み出しや書き込みのノイズマージンを低下させ、メモリセル動作を不安定性化し、ビット誤り率を増大させている。
【0003】
上記状況に鑑みて、本発明者らは、アプリケーションやメモリ状況に応じてメモリセルのビット信頼性を動的に変化させることができ、動作の安定性を確保して低消費電力化および高信頼性化を実現できるメモリを提供することを目的として、1ビットが1個のメモリセルで構成されるモード(通常モードと呼ぶ)と、1ビットが2個のメモリセルを連結して構成されるモード(高信頼モードと呼ぶ)とを動的に切り替えることができ、通常モードから高信頼モードに切り替えることにより、1ビットの動作安定性の増大および読出し動作のセル電流の増大を行い、またビットエラーの自己修復が行えるといったメモリセルを提案している(特許文献1)。
【0004】
かかる提案のメモリセルの具体的な回路構成は、図1に示すように、各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通が制御し得る1本のワードラインとから構成されるメモリセルにおいて、隣接する2つのメモリセルのデータ保持ノード間に、1対のP型MOSトランジスタと、該P型MOSトランジスタが導通するように制御し得る1本のモード制御ラインを追加した構成とされる。
【0005】
ここで、図1のメモリセルの回路動作を簡単に説明する。
図2に示すメモリセル(MC01)は、電源電位VDDAおよび接地電位の間に直列に接続されるP型MOSトランジスタ(M00)およびN型MOSトランジスタ(M02)と、電源電位VDDAおよび接地電位の間に直列に接続されるP型MOSトランジスタ(M01)およびN型MOSトランジスタ(M03)とからなるラッチ回路を構成している。メモリセル(MC01)自体は、一般的な6トランジスタの構成のメモリセルである。
メモリセル(MC10)も同様に、電源電位VDDBおよび接地電位の間に直列に接続されるP型MOSトランジスタ(M10)およびN型MOSトランジスタ(M12)と、電源電位VDDBおよび接地電位の間に直列に接続されるP型MOSトランジスタ(M11)およびN型MOSトランジスタ(M13)とからなるラッチ回路を構成している。メモリセル(MC10)自体も、一般的な6トランジスタの構成のメモリセルである。
【0006】
メモリセル(MC01)では、P型MOSトランジスタ(M00)およびN型MOSトランジスタ(M02)のゲート端子は、共にP型MOSトランジスタ(M01)およびN型MOSトランジスタ(M03)のノード(N01)に接続されている。また、P型MOSトランジスタ(M01)およびN型MOSトランジスタ(M03)のゲート端子は、共にP型MOSトランジスタ(M00)およびN型MOSトランジスタ(M02)のノード(N00)に接続されている。このようにM00〜M03のトランジスタはクロスカップル接続されているため、P型MOSトランジスタ(M00,M01)は負荷トランジスタとして動作し、N型MOSトランジスタ(M02,M03)は駆動トランジスタとして動作する。メモリセル(MC10)も同様である。
【0007】
また、メモリセル(MC01)は、相補なビットライン(BLA,BL_NA)と、ノード(N00,N01)との間にそれぞれ接続されたN型MOSトランジスタ(M04、M05)のスイッチ部を備える。N型MOSトランジスタ(M04,M05)のゲート端子は、共に共通のワードライン(WLA)に接続されており、N型MOSトランジスタ(M04,M05)のゲート電位はワードライン(WLA)により制御される。すわなち、メモリセル(MC01)においては、P型MOSトランジスタ(M00,M01)を負荷トランジスタとし、N型MOSトランジスタ(M02,M03)を駆動トランジスタし、N型MOSトランジスタ(M04,M05)をスイッチ部として動作する。
【0008】
また、メモリセル(MC10)も、相補なビットライン(BLB,BL_NB)と、ノード(N10,N11)との間にそれぞれ接続されたN型MOSトランジスタ(M14、M15)のスイッチ部を備える。N型MOSトランジスタ(M14,M15)のゲート端子は、共に共通のワードライン(WLB)に接続されており、N型MOSトランジスタ(M14,M15)のゲート電位はワードライン(WLB)により制御される。
【0009】
そして、メモリセル(MC01,MC10)のデータ保持ノード間(N00とN10の間、N01とN11の間)に、モード制御スイッチ部となる1対のP型MOSトランジスタ(M20、M21)が設けられ、このP型MOSトランジスタ(M20、M21)の導通を制御する1本のモード制御ライン(CTRL)が設けられている。
【0010】
以上のような回路構成のメモリセルでは、1ビットのデータをメモリセル(MC01)に記憶する場合と、1ビットのデータをメモリセル(MC01)とメモリセル(MC10)の2つのメモリセルに記憶する場合とを、モード制御ライン(CTRL)を用いて、使い分けることが可能である。上記回路構成のメモリセルは、1ビットが1個のメモリセルで構成されるモード(通常モード)と、1ビットが2個のメモリセルを連結して構成されるモード(高信頼モード)の2つの状態を有し、アプリケーションやメモリ状況に応じてメモリセルのビット信頼性を動的に変化させることができ、動作の安定性を確保して低消費電力化および高信頼性化を実現する。
【0011】
以上説明したような1ビットが1個のメモリセルで構成されるモード(通常モード)と、1ビットが2個のメモリセルを連結して構成されるモード(高信頼モード)の切り替えは、図2に示すように、メモリセルのブロック単位で制御することができる。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】国際公開2009/088020のパンフレット
【発明の概要】
【発明が解決しようとする課題】
【0013】
従来、データ比較処理において、同時に比較可能なデータ量はバス幅などによって制限されている。このため、データ比較処理は、比較するデータ量に比例して、処理時間が増大するといった問題がある。
【0014】
上記状況に鑑みて、本発明は、既に提案したメモリセルを利用して、メモリブロック間のデータを一括で比較し、データ量に依存しないで高速にデータ比較が行えるデータ一括比較処理回路、データ一括比較処理方法およびデータ一括比較プログラムを提供することを目的とする。
【課題を解決するための手段】
【0015】
上述したように、提案中のメモリセルでは、通常モードと高信頼モードの2つの動作モードの切り替え制御をメモリブロック毎に一様に行うことが可能である。
本発明者らは、鋭意研究を行い、提案中のメモリセルを利用し、一部の周辺回路を付加し所定の処理を行うことで、メモリセルペア間におけるデータの比較をメモリブロック単位でまとめて実行でき、データ量に依存しないで高速に比較が行えることを発案した。
【0016】
すなわち、上記目的を達成するため、本発明のデータ一括比較処理方法は、各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する1本のワードラインと、から構成される1ビットのメモリセルが上段と下段に隣接し、隣接する2個のメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する1本のモード制御ラインと、を備えたメモリセルペアをアレイ状に配列させ、電源電圧を行方向に共通化したメモリセルアレイを用いたデータ一括比較処理方法であって、下記(1)〜(6)の処理を行う。
【0017】
(1)メモリセルペアのモード制御ラインをOFFする。
(2)メモリセルペアの上段・下段に比較すべきデータを書き込む。
(3)メモリセルペアのモード制御ラインをONし、上段・下段のメモリセルペアのノードを接続する。
(4)メモリセルペアの電源電圧(VDDA,VDDB)をフローティング状態にする。
(5)メモリセルペアの電源電圧(VDDA,VDDB)の変化を検知する。
(6)メモリセルペアの電源電圧(VDDA,VDDB)がメモリセルを構成するMOSトランジスタの閾値電圧に向かって降下している場合、メモリセルペアの上段・下段に書き込まれたデータは不一致と判定し、そうでない場合、メモリセルペアの上段・下段に書き込まれたデータは一致と判定する。
【0018】
提案中の半導体メモリのメモリセルアレイに、上記の(1)〜(6)の処理を行うことにより、メモリセルペア間におけるデータの比較をメモリブロック単位でまとめて実行でき、データ量に依存しないで高速に比較が行える。
先ず、メモリセルペアのモード制御ラインをOFFして(上記(1)の処理)、メモリセルペアを2個の独立したメモリセルにする。次に、上記(2)のメモリセルペアの上段・下段に比較すべきデータを書き込み(上記(2)の処理)、メモリセルペアのモード制御ラインをONし、上段・下段のメモリセルペアのノードを接続する(上記(3)の処理)。この際、上段・下段のメモリセルに記憶されたデータが異なる場合は、メモリセルペア内に電源からGNDへの放電パスが発生する。
そのため、メモリセルペアの電源電圧をフローティング状態にすると(上記(4)の処理)、異なるデータが記憶されたメモリセルペアのメモリセルの電源電圧は放電される。メモリセルを構成するMOSトランジスタの閾値あたりまで電圧が下降することになる。
【0019】
一方、同一のデータが記憶されていた場合も、リーク電流によってメモリセルの電源電圧は徐々に下降する。しかしながら、異なるデータが記憶されたメモリセルペアの電源電圧と同一のデータが記憶されたメモリセルペアの電源電圧とを比較すると明らかに電圧差が生じることになる。従って、メモリセルペアの電源電圧の変化を検知することで(上記(5)の処理)、異なるデータが記憶されたメモリセルペアか同一のデータが記憶されたメモリセルペアかを判別することが可能となる。
【0020】
すなわち、メモリセルペアの電源電圧(VDDA,VDDB)がメモリセルを構成するMOSトランジスタの閾値電圧まで下がっている場合、メモリセルペアの上段・下段に書き込まれたデータは不一致と判定し、そうでない場合、メモリセルペアの上段・下段に書き込まれたデータは一致と判定する(上記(6)の処理)。
【0021】
具体的には、上記(5)のメモリセルペアの電源電圧の変化を検知する処理は、メモリセルペアの電源電圧(VDDA,VDDB)を参照電圧(VDDREF)と比較することにより行う。
メモリセルペアの電源電圧(VDDA,VDDB)を参照電圧(VDDREF)と比較し、メモリセルペアの上段・下段に書き込まれたデータが同一か異なるかを判定するのである。
【0022】
また、上記(5)のメモリセルペアの電源電圧の変化を検知する処理は、メモリセルアレイ内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)を参照電圧(VDDREF)と同時に比較することにより、ブロック単位でデータ一括比較を行うことが好ましい。
メモリセルの電源は行方向に共通化されており、複数行のメモリセルの電源電圧(VDDA,VDDB)を同時に参照電圧(VDDREF)と比較することにより、データ量に依存しないブロック単位での比較が実現できることになる。
【0023】
以上のようなデータ比較処理を行うことで、メモリセルペアの上段・下段に比較すべきデータを書き込んだ後(上記(2)の処理)、上記(3)のメモリセルペアのモード制御ラインをONにする処理、上記(4)のメモリセルペアの電源電圧をフローティング状態にするために電源電圧ラインから切り離す処理、上記(5)のメモリセルペアの電源電圧の変化をセンスアンプなどで検知する処理で、ブロックデータの一括比較が可能となる。
ここで、上記(5)の処理における電源電圧ラインの放電時間が、他の処理よりも若干時間を要する。
【0024】
次に、上記目的を達成するため、本発明の第1の観点のデータ一括比較処理回路は、以下の(A)〜(E)の回路で構成されるものである。
【0025】
(A)各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する1本のワードラインと、から構成される1ビットのメモリセルが上段と下段に隣接し、隣接する2個のメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する1本のモード制御ラインと、を備えたメモリセルペアをアレイ状に配列させ、電源電圧を行方向に共通化したメモリセルアレイ。
【0026】
(B)上記(A)のメモリセルペアよりもリークの多く発生する構造のメモリセル回路で構成され、不一致データのメモリセルペアが存在する電源電圧ラインよりも高く、全てのメモリセルペアが一致している電源電圧ラインよりも低い電圧を参照電圧(VDDREF)として供給し得るダミーセル。
(C)ダミーセル及び上記メモリセルアレイのブロック内の全てのメモリセルペアのモード制御ラインを比較データブロック単位で一括に導通させるモード制御ライン制御バッファ回路。
(D)ダミーセル及び上記メモリセルアレイのブロック内の全てのメモリセルペアの電源電圧(VDDA,VDDB)を一括でON/OFFするメモリセル電源スイッチ回路。
(E)メモリセルアレイのブロック内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)とダミーセルの参照電圧(VDDREF)を同時に比較する比較回路。
【0027】
提案中の半導体メモリのメモリセルアレイ(上記(A))に、ダミーセル(上記(B))、モード制御ライン制御バッファ回路(上記(C))、メモリセル電源スイッチ回路(上記(D))、比較回路(上記(E))を付加することにより、メモリセルペア間におけるデータの比較をメモリブロック単位でまとめて実行でき、データ量に依存しないで高速に比較が行える。
【0028】
ここで、ダミーセルは、通常のメモリセルペアよりもリークの多く発生する構造のメモリセル回路で構成される。従って、不一致データのメモリセルペアが存在する電源電圧ラインよりも高く、全てのメモリセルペアが一致している電源電圧ラインよりも低い電圧を生成でき、それを参照電圧(VDDREF)として用いる。
【0029】
メモリセルの電源は行方向に共通化されているため、メモリセルアレイ内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)とダミーセルの参照電圧(VDDREF)を比較する。そして、メモリセルペアの電源電圧(VDDA,VDDB)が、ダミーセルの参照電圧(VDDREF)から大きく差があり、具体的には、メモリセルを構成するMOSトランジスタの閾値電圧まで下がっているような場合には、メモリセルペアの上段・下段に書き込まれたデータは不一致と判定する。また、メモリセルペアの電源電圧(VDDA,VDDB)が、ダミーセルの参照電圧(VDDREF)と差が殆ど無い場合には、メモリセルペアの上段・下段に書き込まれたデータは一致と判定する。
【0030】
また、本発明の第2の観点のデータ一括比較処理回路は、以下の(A´)〜(D´)の回路で構成されるものである。第2の観点のデータ一括比較処理回路は、上述の第1の観点のデータ一括比較処理回路と比べて、ダミーセルがなく、メモリセルアレイのブロック内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)と直接に参照電圧(VDDREF)と比較するものである。
【0031】
(A´)各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する1本のワードラインと、から構成される1ビットのメモリセルが上段と下段に隣接し、隣接する2個のメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する1本のモード制御ラインと、を備えたメモリセルペアをアレイ状に配列させ、電源電圧を行方向に共通化したメモリセルアレイ。
(B´)メモリセルアレイのブロック内の全てのメモリセルペアのモード制御ラインを比較データブロック単位で一括に導通させるモード制御ライン制御バッファ回路。
(C´)メモリセルアレイのブロック内の全てのメモリセルペアの電源電圧(VDDA,VDDB)を一括でON/OFFするメモリセル電源スイッチ回路。
(D´)メモリセルアレイのブロック内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)と参照電圧(VDDREF)を同時に比較する比較回路。
【0032】
ここで、本発明の第1の観点又は第2の観点のデータ一括比較処理回路における比較回路は、具体的には、センスアンプを複数並列に用いて、複数行のメモリセルペアの電源電圧(VDDA,VDDB)と参照電圧(VDDREF)を同時に比較し、該センスアンプの出力を論理和回路の入力とし、該論理和回路の出力をデータ一括比較の判定結果の出力信号とすることが好ましい態様である。
メモリセルペア間におけるデータの比較をブロック単位でまとめて実行でき、データ量に依存しないで高速に比較が行えるのである。
【0033】
ここで、センスアンプは、メモリセルからの電圧を増幅するための回路である。メモリセルは非常に小さなコンデンサで構成され、ビットラインに読み出された電圧は数百mV程度と小さいことから、かかる電圧を増幅してデジタルレベルとして取り扱えるレベルにまで増幅を行なう。
【0034】
次に、本発明のデータ一括比較プログラムは、上述の本発明の第1の観点又は第2の観点のデータ一括比較処理回路をドライブするプログラムであって、コンピュータに、以下の手順A〜手順Eを実行させるものである。
【0035】
(手順A)モード制御ライン制御バッファ回路にOFF信号を送り、メモリセルペアのモード制御ラインを一括でOFFし、モード制御スイッチ部を非導通とする。
(手順B)メモリセルペアの上段・下段に比較すべきデータを書き込む。
(手順C)モード制御ライン制御バッファ回路にON信号を送り、メモリセルペアのモード制御ラインを一括でONし、モード制御スイッチ部を導通させて、上段・下段のメモリセルペアのノードを接続する。
(手順D)メモリセル電源スイッチ回路にOFF信号を送り、メモリセルペアの電源電圧(VDDA,VDDB)をフローティング状態にする。
(手順E)比較回路の出力結果が、複数行のメモリセルの電源電圧(VDDA,VDDB)の全てが参照電圧(VDDREF)よりも所定閾値電圧以上大きい場合、メモリセルアレイのブロック内の全てのメモリセルペアの上段・下段に書き込まれたデータは一致と判定し、そうでない場合、データは不一致と判定する。
【0036】
本発明のデータ一括比較プログラムは、メモリセルペア間におけるデータの比較をメモリブロック単位でまとめて実行でき、データ量に依存しないで高速に比較が行えるものであり、オペレーティングシステム(OS)レベルのプログラムに位置づけられるものである。
また、参照電圧(VDDREF)は、上述した如く、通常のメモリセルペアよりもリークの多く発生する構造のメモリセル回路により生成され、不一致データのメモリセルペアが存在する電源電圧ラインよりも高く、全てのメモリセルペアが一致している電源電圧ラインよりも低い電圧となっている。
このため、上記の手順Eにおける一致・不一致の判定に関しては、複数行のメモリセルの電源電圧(VDDA,VDDB)の全てが参照電圧(VDDREF)より電位が、例えば0.1以上大きければ一致と判定し、複数行のメモリセルの電源電圧(VDDA,VDDB)のいずれかが参照電圧(VDDREF)より0.1V未満と電位が小さければ不一致という判定を行う。
この他、上記の手順Eにおいて、参照電圧(VDDREF)と複数行のメモリセルの電源電圧(VDDA,VDDB)の全てが略一致する結果の場合、メモリセルアレイのブロック内の全てのメモリセルペアの上段・下段に書き込まれたデータは一致と判定し、そうでない場合、メモリセルアレイのブロック内の全てのメモリセルペアの上段・下段に書き込まれたデータは不一致と判定してもよい。これは、不一致データのメモリセルが存在する場合、複数行のメモリセルの電源電圧(VDDA,VDDB)の内のいずれかが、メモリセルを構成するMOSトランジスタの閾値電圧に向かって降下しており、参照電圧(VDDREF)と比較して明らかに電位差が生じるからである。なお、電源電圧が1.0〜1.5Vの場合、参照電圧(VDDREF)と複数行のメモリセルの電源電圧(VDDA,VDDB)の電圧差が0.1V未満、好ましくは、0.05V未満の範囲にあれば、ブロック内の全てのメモリセルペアの上段・下段に書き込まれたデータは一致と判定と判定する。
【0037】
また、本発明のデータ一括比較プログラムを用いた処理プログラム評価方法は、
a)メモリセルペアの上段に第1の処理プログラムの演算結果データを記憶し、
b)メモリセルペアの下段に第2の処理プログラムの演算結果データを記憶し、
c)上述のデータ一括比較プログラムを用いて、第1の処理プログラムと第2の処理プログラムの演算結果データを比較するものである。
かかる処理プログラム評価方法によれば、同一もしくは異なる処理プログラムの演算結果データの評価を行い、一過性のデータエラーを排除し、信頼性の高いデータを得ることができる。
【発明の効果】
【0038】
本発明のデータ一括比較処理回路、データ一括比較処理方法およびデータ一括比較プログラムによれば、メモリブロック間のデータを一括で比較し、データ量に依存しないで高速にデータ比較が行える。
【0039】
また、本発明のデータ一括比較プログラムを用いた処理プログラム評価方法は、図3のデータ比較の概念図に示すように、空間冗長や時間冗長などによる高信頼化手法において、演算データ結果を比較する必要がある異なる処理プログラムの演算データ比較処理に用いることが可能である。図中のCOMPに相当する部分が、本発明のデータ一括比較処理回路に相当する。
【図面の簡単な説明】
【0040】
【図1】提案中のメモリセルの回路構成図
【図2】メモリセルブロックの概念図
【図3】異なる処理プログラムの演算データ比較の概念図
【図4】ブロックデータの一括比較の概念図
【図5】提案中のメモリセルにおける放電パスの説明図
【図6】比較シーケンス波形の説明図
【図7】実施例1のデータ一括比較処理回路のブロック図8
【図8】メモリセルアレイの書き込みの説明図9
【図9】メモリセルアレイのブロックの使用方法の説明図10
【図10】モード制御ラインの制御方法の説明図11
【図11】ダミーセルの回路構成図12
【図12】メモリセル電源スイッチ回路およびモード制御ライン制御バッファ回路の回路構成図13
【図13】データ一括比較処理回路の全体ブロック図14
【図14】メモリセルの内部ノードの電圧波形シミュレーション結果15-1
【図15−1】データ一致のメモリセルのシミュレーション結果15-2
【図15−2】データ不一致のシミュレーション結果16
【図16】実施例3のデータ一括比較処理回路のブロック図17
【図17】実施例4のデータ一括比較処理方法のフローチャート18
【図18】実施例5のデータ一括比較プログラムのフローチャート
【発明を実施するための最良の形態】
【0041】
以下、本発明の実施形態について、図面を参照しながら詳細に説明していく。なお、本発明の範囲は、以下の実施例や図示例に限定されるものではなく、幾多の変更及び変形が可能である。
【実施例1】
【0042】
本発明は、図4に示すように、メモリセルアレイ内のブロックデータ(ブロックAとブロックB)の一括比較を行い、全メモリセルペアのデータが一致するか否かを短時間で検知できるものである。メモリセルアレイは、本発明者らが既に提案した上述のメモリセルペアがアレイ状に配列されたものである。メモリセルペアで構成されるメモリセルアレイは、論理的にブロックAとブロックBの2つのメモリセルブロックに分けられる。個々のメモリセルブロックは、図1に示すように、メモリセルA(Memory Cell A)又はメモリセルB(Memory Cell B)から構成される。本明細書では、図1の回路の位置関係から、メモリセルAとメモリセルBを、それぞれ上段のメモリセル、下段のメモリセルと表すことにする。
【0043】
図4では、メモリセルペアの上段のメモリセルがメモリブロックAを構成し、メモリセルペアの下段のメモリセルがメモリブロックBを構成する。
メモリブロックAのメモリセルの全データとメモリブロックBのメモリセルの全データを比較する際は、メモリブロックAとメモリブロックBで構成されるメモリブロック内の全メモリセルペアの上段と下段のメモリセルのデータを比較する。そして、図4の“Different data in MC Pair”で示すように、メモリセルペアの上段と下段のメモリセルに、異なるデータが記憶されているものを検知するのである。
【0044】
ここで、メモリセルペアの上段と下段のメモリセルに、異なるデータが記憶されているものを検知する仕組みについて、図5を参照して説明する。
図5(1)は、メモリセルペアの上段のメモリセルAと下段のメモリセルBに、同じデータ(“1”)が記憶されている。また、図5(2)は、メモリセルペアの上段のメモリセルAと下段のメモリセルBに、異なるデータ(“0”,“1”)が記憶されている。
図5(1)の状態でモード制御ライン(CTRL)を用いて、モード制御スイッチのPMOSトランジスタを導通させても、リーク電流以外に何も発生しない。ここで、図中の円で囲んだMOSトランジスタが導通状態となっている。
【0045】
一方、図5(2)の状態でモード制御ライン(CTRL)を用いて、モード制御スイッチのPMOSトランジスタを導通させた場合、図中に示す矢印に放電パスが生じることになる。図5(2)の状態、すなわち、メモリセルペアの上段のメモリセルAと下段のメモリセルBに、異なるデータが記憶され、上段と下段でデータが不一致となる場合、メモリセルの電源電圧VDDA,VDDBの電圧が放電されるのである。なお、図中の円で囲んだMOSトランジスタが導通状態となっている。
【0046】
メモリセルペアの上段と下段でデータが一致する場合、メモリセルの電源電圧VDDA,VDDBには何も変化がなく、一方、メモリセルペアの上段と下段でデータが不一致となる場合、メモリセルの電源電圧VDDA,VDDBの電圧が放電されることから、図6に示すような比較シーケンス波形を得ることができる。
【0047】
図6に示す比較シーケンス波形について説明する。
先ず、メモリセルペアのモード制御ライン(CTRL)を制御して、モード制御スイッチ部を導通させ、上段・下段のメモリセルペアのノードを接続する。
次に、SW信号により、メモリセルペアの電源電圧(VDDA,VDDB)をフローティング状態にする。
その結果、メモリセルペアの上段・下段に書き込まれたデータが同じ場合は、放電パスは生じず電源電圧には変化がないが、メモリセルペアの上段・下段に書き込まれたデータが異なる場合は、放電パスが生じて電流が流れるために、メモリセルの電源電圧(VDDA,VDDB)は放電によって降下していく。
【0048】
すなわち、上記の処理により、メモリセルペアの上段・下段のデータを比較できる。このことから、メモリセルペアがアレイ状に配置されたメモリセルアレイで構成されるメモリブロックにおいても、少ない時間コストでブロックのデータを一括で比較することができることになる。
【0049】
次に、実施例1のデータ一括比較処理回路の回路構成について、図7を参照しながら具体的に説明する。
実施例1のデータ一括比較処理回路は、上述のメモリセルペアがアレイ状に配置されたメモリセルアレイ10と、メモリセルペアと同じ回路で構成され、電源電圧として参照電圧(VDDREF)が供給されるダミーセル18と、ダミーセル18及びメモリセルアレイ10のブロック内の全てのメモリセルペアのモード制御ラインを一括で導通させ、かつ、全てのメモリセルペアの電源電圧(VDDA,VDDB)を一括でON/OFFするメモリセル電源スイッチ回路12と、メモリセルアレイ10のブロック内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)とダミーセル18の参照電圧(VDDREF)を同時に比較する比較回路20で構成される。
【0050】
ダミーセル18は、通常のメモリセルペアよりもリークの多く発生する構造のメモリセル回路で構成される。従って、不一致データのメモリセルペアが存在する電源電圧ラインよりも高く、全てのメモリセルペアのデータが一致している時の電源電圧ラインよりも低い電圧を生成できる。そして、生成された電圧(VDD_DMY)を参照電圧(VDDREF)として用いる。
図11にダミーセル18の回路構成図を示す。ダミーセルは、一致データのメモリセルセルよりもリークを多く発生させるように、インバータカップルの入力ゲート(INV0,INV1)はGNDに導通させ、それぞれのMOSトランジスタ(M00〜M03,M10〜M13)のサイズを通常のメモリセルよりも大きく構成している。
【0051】
また、メモリセル電源スイッチ回路およびモード制御ライン制御バッファ回路の回路構成の一例を、図12に示す。
図に示すように、メモリセル電源スイッチ回路は、個々の電源ライン(VDDAまたはVDDB)に設けられたPMOSトランジスタの入力ゲートをSW信号によって制御できるものである。
【0052】
また、図12に示すように、モード制御ライン制御バッファ回路は、電源電位と接地電位の間を2個のPMOSトランジスタで接続され、2個のPMOSトランジスタの間のノードは、各メモリセルのモード制御ライン(CNTL)に接続されている。モード制御ライン制御バッファ回路は、CNTLMC信号(又はCNTLNC信号)で制御される。2個のPMOSトランジスタの入力ゲートは、図に示すように、上段をCNTLMC信号(又はCNTLNC信号)、下段をCNTLMC信号(又はCNTLNC信号)の反転信号に接続される。かかる回路構成により、ダミーセル18及びメモリセルアレイ10のブロック内の行方向のメモリセルペアのモード制御ラインを一括で導通する。
【0053】
図12に示すように、モード制御ライン制御バッファ回路では、メモリセルのモード制御ライン(CNTL)は、CNTLMC信号で制御されるものと、CNTLNC信号で制御されるものの2種類が存在する。以下では、モード制御ライン(CNTL)が2種類の制御に分けられる理由を説明する。
先ず、図10(a)を参照して、従来のデータ比較時におけるモード制御ライン(CNTL)の一括制御の問題点を説明する。図10(a)に示す上段・下段のメモリセルペア間において、同一のデータが記憶されていた場合は、上段・下段のメモリセルの電源ライン(VDDA,VDDB)はインバータカップルのPMOSトランジスタと内部ノードを接続しているPMOSトランジスタによって導通する。上述したモード制御ライン制御バッファ回路データ比較処理において、不一致データを保持するメモリセルペアは、電源ラインを放電することを想定している。そのために、電源ラインの容量は重要な値となる。
【0054】
しかし、従来の回路においては、一致データのメモリセルペアによって縦方向の電源ライン(図の場合、VDDA<0>,VDDB<0>,VDDA<1>,VDDB<1>)が共通化され、横方向に共通化された電源ラインだけでなく、メモリセルアレイの全ての電源ラインが単一のノードとなってしまうことになる。これらの容量を一つの不一致データのメモリセルで放電することは、比較時間のオーバーヘッドや比較機能そのものの障害となる。
【0055】
そのために、図10(b)のように、偶数行と奇数行でCTRL信号をCTRLM,CTRLNに分け、それぞれの放電タイミングをずらすことにより、不一致データのメモリセルによって引き抜く電源ラインを横方向のみに限定できる。この制御方法によって,縦方向に電源ラインが導通する状態は発生しないで、各行の電源ライン電圧を比較し、その結果をドミノOR回路で論理和をとることで、大きなブロック単位でのデータ比較を実現する。
ここで、データ比較を行う際は、縦方向に電源ラインが導通する状態を発生させないようにすべく、CTRLM,CTRLNのどちらか一方のCTRL信号のみを"Low"とすることを想定している。このため、一度にデータ比較できるメモリセルペアは、CTRLMまたはCTRLNが"Low"となっている行のみとなる。従って、一度にデータ比較できるメモリセル容量は、ブロック容量の半分となる。
例えば、16KBの容量のメモリセルアレイを想定する。このメモリセルアレイは、メモリセルペア(1つのメモリセルペアは2ビット容量である)で構成されるものである。このメモリセルアレイが、メモリセルペアの上段と下段のメモリセルのデータを比較するために、ブロックAとブロックBに分けられているとする。ブロック中でCTRL信号が"Low"となり、各メモリセルペアの内部ノードを接続してデータ比較が行われるデータ容量は8KBであるが、上記のように一度にデータ比較できるメモリセルペアはCTRLMまたはCTRLNが"Low"となっている行のみとなることから、内部ノードを接続してデータ比較が行われるメモリセルのデータ容量はメモリセルAとBでそれぞれ4KBとなる。従って、仮に8KB全てデータ比較を行う場合は、放電するCTRL信号を変更して、もう一度比較を行う必要がある。なお、比較できるデータ量は、一度に制御するCTRL行の数に比例して増やせることから、要求仕様に応じで速度を落とさずに容易に拡張可能である。
【0056】
また、CTRL信号を0Vまで放電してデータの比較を行う場合は、データ不一致のメモリセルペアによって電源ラインが放電され、他のメモリセルペアのデータが破壊されてしまう可能性がある。そこで、モード制御ライン制御バッファ回路をPMOSトランジスタのみの構成とする。CTRL信号をPMOSトランジスタで放電することで、モード制御ライン制御用のPMOSトランジスタを“Weakly
ON”の状態とさせて、各メモリセル間に流れる電流を減少させる。これにより、各メモリセルの内部データの破壊を防ぐことが可能となる。
【0057】
図14に、シミュレーションによるデータ比較時のメモリセルの内部ノード(N00,N01,N10,N11)の電圧波形を示す。電源ラインは、メモリセルペアのデータが一致・不一致の場合で電圧差が生じているが、内部ノードは破壊されないことが確認できる。なお、シミュレーションは、65nmプロセスに対して、125℃の温度条件で、1万回モンテカルロシミュレーションした結果である。1ブロックサイズは16KB(=128rows×8columns×16bits/word)である。1ブロックには上段・下段のメモリセルをペアにしたメモリセルペアがアレイ状に配置されている。従って、ブロック内の上段のメモリセルAの8KB(=64rows×8columns×16bits/word)のデータとブロック内の下段のメモリセルBの8KB(=64rows×8columns×16bits/word)のデータを比較することになる。2種類のCTRL信号をそれぞれ異なるタイミングで制御するため,一度の比較においては半分の4KB(=32rows×8columns×16bits/word)のデータを比較する.
シミュレーション結果に示されるように、25nsで4KB(=32rows×8columns×16bits/word)のデータを一括で比較できることがわかる。
【0058】
また、比較回路は、図7および図12に示すように、センスアンプ14を複数並列に用いて、メモリセルアレイ10内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)と参照電圧(VDDREF)を同時に比較し、センスアンプ14の出力をOR回路16の入力とし、OR回路16の出力信号(Result)をデータ一括比較の判定結果の出力信号としている。なお、図12に示すように、比較は各行ごとに行われ、その比較結果はドミノOR回路16によってResult信号を出力する。
【0059】
図13に、データ一括比較処理回路の全体ブロック図を示す。メモリセルペア(64行×128列)を内蔵するメモリセルアレイ(128行×128列)の周辺回路として、ワードラインのデコーダ回路(WL
row decoder)、アドレスおよびタイマー回路(ADBUF&TG)、ビットラインの入出力回路(I/O Circuit)、ダミーセル(Dummy cell:1行×128列)、メモリセル電源スイッチ回路およびモード制御ライン制御バッファ回路(CTRL control buffer & VDD
switch)から構成される。
【0060】
実施例1のデータ一括比較処理回路をシミュレーションした結果を、図15−1と図15−2に示す。データ一括比較処理回路の回路スペックは、65nmCOMSプロセスとし、1ブロックサイズは16KB(=128rows×8columns×16bits/word)である。1ブロックには上段・下段のメモリセルをペアにしたメモリセルペアがアレイ状に配置されている。従って、ブロック内の上段のメモリセルAの8KB(=64rows×8columns×16bits/word)のデータとブロック内の下段のメモリセルBの8KB(=64rows×8columns×16bits/word)のデータを比較することになる。2種類のCTRL信号をそれぞれ異なるタイミングで制御するため,一度の比較においては半分の4KB(=32rows×8columns×16bits/word)のデータ比較が実行される.
図15−1と図15−2のシミュレーション結果に示されるように、25nsで4KB(=32rows×8columns×16bits/word)のデータを一括で比較できることがわかる。
【実施例2】
【0061】
図9は、実施例1のデータ一括比較処理回路を用いて、2つのコアプロセッサの演算処理結果を比較する処理の説明図を示している。2つのコアプロセッサ(CORE)は、各々のキャッシュメモリ(L1)内のデータAおよびデータBを、実施例1のデータ一括比較処理回路のメモリセルアレイに書き込む。その際、データAはブロックAに、データBはブロックBにそれぞれ書き込む。上述したように、ブロックAとブロックBは、それぞれメモリセルアレイの上段のメモリセル群、下段のメモリセル群に対応する。図中の右下の模式図に示されるように、ブロックAとブロックBの領域は交互にかみ合うような形になる。
この状態で、ブロックAとブロックBの全メモリセルを一括比較し、その結果(Result)をキャッシュメモリ(L1)に格納する。
【実施例3】
【0062】
実施例2のデータ一括比較処理回路の回路構成について、図16を参照して説明する。
実施例2のデータ一括比較処理回路は、図16に示されるように、上述のメモリセルペアがアレイ状に配置されたメモリセルアレイ10と、メモリセルアレイ10のブロック内の全てのメモリセルペアのモード制御ラインを一括で導通させ、かつ、全てのメモリセルペアの電源電圧(VDDA,VDDB)を一括でON/OFFするメモリセル電源スイッチ回路12と、メモリセルアレイ10内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)と参照電圧(VDDREF)を同時に比較する比較回路20で構成される。
【実施例4】
【0063】
実施例3として、本発明のデータ一括比較処理方法について、図17のフローチャートを参照して説明する。
本発明のデータ一括比較処理方法は、上述のメモリセルペアをアレイ状に配列させ、電源電圧を行方向に共通化したメモリセルアレイのブロックに対して、以下のステップS01〜S08を行う。
(ステップS01)メモリセルアレイのブロック内の全メモリセルペアのモード制御ラインをまとめてOFFする。
(ステップS02)メモリセルアレイのブロック内のメモリセルペアの上段・下段に比較すべきデータを書き込む。
(ステップS03)メモリセルアレイのブロック内の全メモリセルペアのモード制御ラインをまとめてONし、上段・下段のメモリセルペアのノードを接続する。
(ステップS04)メモリセルアレイのブロック内の全メモリセルペアの電源電圧(VDDA,VDDB)をフローティング状態にする。
(ステップS05)メモリセルアレイのブロック内のメモリセルペアの電源電圧(VDDA,VDDB)の変化を検知する。
(ステップS06)メモリセルペアの電源電圧(VDDA,VDDB)がメモリセルを構成するMOSトランジスタの閾値電圧に向かって降下している場合、メモリセルペアの上段・下段に書き込まれたデータは不一致と判定し(ステップS07)、そうでない場合、メモリセルペアの上段・下段に書き込まれたデータは一致と判定する(ステップS08)。
【実施例5】
【0064】
実施例4として、本発明のデータ一括比較プログラムについて、図18のフローチャートを参照して説明する。
本発明のデータ一括比較プログラムは、上述の実施例1のデータ一括比較処理回路に対して、コンピュータに以下の手順A〜Eを実行させる。
(手順A)モード制御ライン制御バッファ回路にOFF信号を送り(ステップS21)、メモリセルペアのモード制御ラインを一括でOFFし、モード制御スイッチ部を非導通とする。
(手順B)メモリセルペアの上段・下段に比較すべきデータを書き込む(ステップS22)。
(手順C)モード制御ライン制御バッファ回路にON信号を送り(ステップS23)、メモリセルペアのモード制御ラインを一括でONし、モード制御スイッチ部を導通させて、上段・下段のメモリセルペアのノードを接続する。
(手順D)メモリセル電源スイッチ回路にOFF信号を送り(ステップS24)、メモリセルペアの電源電圧(VDDA,VDDB)をフローティング状態にする。
(手順E)比較回路の出力結果が、複数行のメモリセルの電源電圧(VDDA,VDDB)の全てが参照電圧(VDDREF)よりも所定閾値電圧以上大きい場合(ステップS25)、メモリセルアレイのブロック内の全てのメモリセルペアの上段・下段に書き込まれたデータは一致と判定し(ステップS26)、そうでない場合、メモリセルアレイ内の全てのメモリセルペアの上段・下段に書き込まれたデータは不一致と判定する(ステップS27)。
【産業上の利用可能性】
【0065】
本発明は、コンピュータのキャッシュメモリのデータ比較に有用である。
【符号の説明】
【0066】
10 メモリセルアレイ
12 メモリセル電源スイッチ回路およびモード制御ライン制御バッファ回路
14 センスアンプ
16 OR回路
18 ダミーセル
20 比較回路
【特許請求の範囲】
【請求項1】
各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する1本のワードラインと、から構成される1ビットのメモリセルが上段と下段に隣接し、隣接する2個のメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する1本のモード制御ラインと、を備えたメモリセルペアをアレイ状に配列させ、電源電圧を行方向に共通化したメモリセルアレイを用いたデータ一括比較処理方法であって、
(1)メモリセルペアのモード制御ラインをOFFし、
(2)メモリセルペアの上段・下段に比較すべきデータを書き込み、
(3)メモリセルペアのモード制御ラインをONし、上段・下段のメモリセルペアのノードを接続し、
(4)メモリセルペアの電源電圧(VDDA,VDDB)をフローティング状態にし、
(5)メモリセルペアの電源電圧(VDDA,VDDB)の変化を検知し、
(6)メモリセルペアの電源電圧(VDDA,VDDB)がメモリセルを構成するMOSトランジスタの閾値電圧に向かって降下している場合、メモリセルペアの上段・下段に書き込まれたデータは不一致と判定し、そうでない場合、データは一致と判定する、
ことを特徴とするデータ一括比較処理方法。
【請求項2】
上記(5)メモリセルペアの電源電圧の変化を検知する処理は、メモリセルペアの電源電圧(VDDA,VDDB)を参照電圧(VDDREF)と比較することにより行うことを特徴とする請求項1に記載のデータ一括比較処理方法。
【請求項3】
上記(5)メモリセルペアの電源電圧の変化を検知する処理は、前記メモリセルアレイ内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)を参照電圧(VDDREF)と同時に比較することにより、ブロック単位でデータ一括比較を行うことを特徴とする請求項1に記載のデータ一括比較処理方法。
【請求項4】
(1)各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する1本のワードラインと、から構成される1ビットのメモリセルが上段と下段に隣接し、隣接する2個のメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する1本のモード制御ラインと、を備えたメモリセルペアをアレイ状に配列させ、電源電圧を行方向に共通化したメモリセルアレイと、
(2)前記メモリセルペアよりもリークの多く発生する構造のメモリセル回路で構成され、不一致データのメモリセルペアが存在する電源電圧ラインよりも高く、全てのメモリセルペアが一致している電源電圧ラインよりも低い電圧を参照電圧(VDDREF)として供給し得るダミーセルと、
(3)前記ダミーセル及び前記メモリセルアレイのブロック内の全てのメモリセルペアのモード制御ラインを比較データブロック単位で一括に導通させるモード制御ライン制御バッファ回路と、
(4)前記ダミーセル及び前記メモリセルアレイのブロック内の全てのメモリセルペアの電源電圧(VDDA,VDDB)を一括でON/OFFするメモリセル電源スイッチ回路と、
(5)前記メモリセルアレイのブロック内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)と前記ダミーセルの参照電圧(VDDREF)を同時に比較する比較回路と、
を備えたことを特徴とするデータ一括比較処理回路。
【請求項5】
(1)各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する1本のワードラインと、から構成される1ビットのメモリセルが上段と下段に隣接し、隣接する2個のメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する1本のモード制御ラインと、を備えたメモリセルペアをアレイ状に配列させ、電源電圧を行方向に共通化したメモリセルアレイと、
(2)前記メモリセルアレイのブロック内の全てのメモリセルペアのモード制御ラインを比較データブロック単位で一括に導通させるモード制御ライン制御バッファ回路と、
(3)前記メモリセルアレイのブロック内の全てのメモリセルペアの電源電圧(VDDA,VDDB)を一括でON/OFFするメモリセル電源スイッチ回路と、
(4)前記メモリセルアレイのブロック内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)と参照電圧(VDDREF)を同時に比較する比較回路と、
を備えたことを特徴とするデータ一括比較処理回路。
【請求項6】
前記比較回路は、センスアンプを複数並列に用いて、複数行のメモリセルペアの電源電圧(VDDA,VDDB)と参照電圧(VDDREF)を同時に比較し、該センスアンプの出力を論理和回路の入力とし、該論理和回路の出力をデータ一括比較の判定結果の出力信号とすることを特徴とする請求項4又は5に記載のデータ一括比較処理回路。
【請求項7】
請求項4〜6のいずれかのデータ一括比較処理回路をドライブするプログラムであって、
コンピュータに、
(a)前記モード制御ライン制御バッファ回路にOFF信号を送り、メモリセルペアのモード制御ラインを一括でOFFし、モード制御スイッチ部を非導通とする手順A、
(b)メモリセルペアの上段・下段に比較すべきデータを書き込む手順B、
(c)前記モード制御ライン制御バッファ回路にON信号を送り、メモリセルペアのモード制御ラインを一括でONし、モード制御スイッチ部を導通させて、上段・下段のメモリセルペアのノードを接続する手順C、
(d)前記メモリセル電源スイッチ回路にOFF信号を送り、メモリセルペアの電源電圧(VDDA,VDDB)をフローティング状態にする手順D、
(e)前記比較回路の出力結果が、複数行のメモリセルの電源電圧(VDDA,VDDB)の全てが参照電圧(VDDREF)よりも所定閾値電圧以上大きい場合、前記メモリセルアレイのブロック内の全てのメモリセルペアの上段・下段に書き込まれたデータは一致と判定し、そうでない場合、データは不一致と判定する手順E、
を実行させるためのデータ一括比較プログラム。
【請求項8】
前記メモリセルペアの上段に第1の処理プログラムの演算結果データを記憶し、
前記メモリセルペアの下段に第2の処理プログラムの演算結果データを記憶し、
請求項7のデータ一括比較プログラムを用いて、第1の処理プログラムと第2の処理プログラムの演算結果データを比較する処理プログラム評価方法。
【請求項1】
各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する1本のワードラインと、から構成される1ビットのメモリセルが上段と下段に隣接し、隣接する2個のメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する1本のモード制御ラインと、を備えたメモリセルペアをアレイ状に配列させ、電源電圧を行方向に共通化したメモリセルアレイを用いたデータ一括比較処理方法であって、
(1)メモリセルペアのモード制御ラインをOFFし、
(2)メモリセルペアの上段・下段に比較すべきデータを書き込み、
(3)メモリセルペアのモード制御ラインをONし、上段・下段のメモリセルペアのノードを接続し、
(4)メモリセルペアの電源電圧(VDDA,VDDB)をフローティング状態にし、
(5)メモリセルペアの電源電圧(VDDA,VDDB)の変化を検知し、
(6)メモリセルペアの電源電圧(VDDA,VDDB)がメモリセルを構成するMOSトランジスタの閾値電圧に向かって降下している場合、メモリセルペアの上段・下段に書き込まれたデータは不一致と判定し、そうでない場合、データは一致と判定する、
ことを特徴とするデータ一括比較処理方法。
【請求項2】
上記(5)メモリセルペアの電源電圧の変化を検知する処理は、メモリセルペアの電源電圧(VDDA,VDDB)を参照電圧(VDDREF)と比較することにより行うことを特徴とする請求項1に記載のデータ一括比較処理方法。
【請求項3】
上記(5)メモリセルペアの電源電圧の変化を検知する処理は、前記メモリセルアレイ内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)を参照電圧(VDDREF)と同時に比較することにより、ブロック単位でデータ一括比較を行うことを特徴とする請求項1に記載のデータ一括比較処理方法。
【請求項4】
(1)各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する1本のワードラインと、から構成される1ビットのメモリセルが上段と下段に隣接し、隣接する2個のメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する1本のモード制御ラインと、を備えたメモリセルペアをアレイ状に配列させ、電源電圧を行方向に共通化したメモリセルアレイと、
(2)前記メモリセルペアよりもリークの多く発生する構造のメモリセル回路で構成され、不一致データのメモリセルペアが存在する電源電圧ラインよりも高く、全てのメモリセルペアが一致している電源電圧ラインよりも低い電圧を参照電圧(VDDREF)として供給し得るダミーセルと、
(3)前記ダミーセル及び前記メモリセルアレイのブロック内の全てのメモリセルペアのモード制御ラインを比較データブロック単位で一括に導通させるモード制御ライン制御バッファ回路と、
(4)前記ダミーセル及び前記メモリセルアレイのブロック内の全てのメモリセルペアの電源電圧(VDDA,VDDB)を一括でON/OFFするメモリセル電源スイッチ回路と、
(5)前記メモリセルアレイのブロック内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)と前記ダミーセルの参照電圧(VDDREF)を同時に比較する比較回路と、
を備えたことを特徴とするデータ一括比較処理回路。
【請求項5】
(1)各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する1本のワードラインと、から構成される1ビットのメモリセルが上段と下段に隣接し、隣接する2個のメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する1本のモード制御ラインと、を備えたメモリセルペアをアレイ状に配列させ、電源電圧を行方向に共通化したメモリセルアレイと、
(2)前記メモリセルアレイのブロック内の全てのメモリセルペアのモード制御ラインを比較データブロック単位で一括に導通させるモード制御ライン制御バッファ回路と、
(3)前記メモリセルアレイのブロック内の全てのメモリセルペアの電源電圧(VDDA,VDDB)を一括でON/OFFするメモリセル電源スイッチ回路と、
(4)前記メモリセルアレイのブロック内の複数行のメモリセルペアの電源電圧(VDDA,VDDB)と参照電圧(VDDREF)を同時に比較する比較回路と、
を備えたことを特徴とするデータ一括比較処理回路。
【請求項6】
前記比較回路は、センスアンプを複数並列に用いて、複数行のメモリセルペアの電源電圧(VDDA,VDDB)と参照電圧(VDDREF)を同時に比較し、該センスアンプの出力を論理和回路の入力とし、該論理和回路の出力をデータ一括比較の判定結果の出力信号とすることを特徴とする請求項4又は5に記載のデータ一括比較処理回路。
【請求項7】
請求項4〜6のいずれかのデータ一括比較処理回路をドライブするプログラムであって、
コンピュータに、
(a)前記モード制御ライン制御バッファ回路にOFF信号を送り、メモリセルペアのモード制御ラインを一括でOFFし、モード制御スイッチ部を非導通とする手順A、
(b)メモリセルペアの上段・下段に比較すべきデータを書き込む手順B、
(c)前記モード制御ライン制御バッファ回路にON信号を送り、メモリセルペアのモード制御ラインを一括でONし、モード制御スイッチ部を導通させて、上段・下段のメモリセルペアのノードを接続する手順C、
(d)前記メモリセル電源スイッチ回路にOFF信号を送り、メモリセルペアの電源電圧(VDDA,VDDB)をフローティング状態にする手順D、
(e)前記比較回路の出力結果が、複数行のメモリセルの電源電圧(VDDA,VDDB)の全てが参照電圧(VDDREF)よりも所定閾値電圧以上大きい場合、前記メモリセルアレイのブロック内の全てのメモリセルペアの上段・下段に書き込まれたデータは一致と判定し、そうでない場合、データは不一致と判定する手順E、
を実行させるためのデータ一括比較プログラム。
【請求項8】
前記メモリセルペアの上段に第1の処理プログラムの演算結果データを記憶し、
前記メモリセルペアの下段に第2の処理プログラムの演算結果データを記憶し、
請求項7のデータ一括比較プログラムを用いて、第1の処理プログラムと第2の処理プログラムの演算結果データを比較する処理プログラム評価方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15−1】
【図15−2】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15−1】
【図15−2】
【図16】
【図17】
【図18】
【公開番号】特開2012−74120(P2012−74120A)
【公開日】平成24年4月12日(2012.4.12)
【国際特許分類】
【出願番号】特願2010−219902(P2010−219902)
【出願日】平成22年9月29日(2010.9.29)
【出願人】(504150450)国立大学法人神戸大学 (421)
【公開日】平成24年4月12日(2012.4.12)
【国際特許分類】
【出願日】平成22年9月29日(2010.9.29)
【出願人】(504150450)国立大学法人神戸大学 (421)
[ Back to top ]