JP3672695B2 - Semiconductor memory device, microcomputer, and data processing device - Google Patents
Semiconductor memory device, microcomputer, and data processing device Download PDFInfo
- Publication number
- JP3672695B2 JP3672695B2 JP12683097A JP12683097A JP3672695B2 JP 3672695 B2 JP3672695 B2 JP 3672695B2 JP 12683097 A JP12683097 A JP 12683097A JP 12683097 A JP12683097 A JP 12683097A JP 3672695 B2 JP3672695 B2 JP 3672695B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- data
- circuit
- comparison
- cell array
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、半導体記憶装置のパリティチェック技術、さらにはパリティチェックにおいて複数ビット同時エラーを検出可能とするための技術に関し、例えばシングルチップマイクロコンピュータにキャッシュメモリとして内蔵される半導体記憶装置に適用して有効な技術に関する。
【0002】
【従来の技術】
マイクロコンピュータなどのデータ処理装置の処理性能を向上させるために、キャッシュメモリを内蔵する手法が従来から適用されている。また、ユーザが実メモリを意識せずに、オペレーティングシステムがメモリ管理を行う分野では、データ処理装置が、アドレス変換機構をサポートする必要がある。アドレス変換機構とは、仮想記憶を実現するために仮想アドレスを物理アドレスに変換する機構である。
【0003】
さらに、アドレス変換機構を高速に実行するために、仮想アドレスと物理アドレスの変換対を保持するアドレス変換バッファ(Translation lookaside buffer、以下単にTLBとも記す)を、マイクロコンピュータに内蔵する技術も従来から採用されている。
マイクロコンピュータに内蔵されるようなキャッシュメモリでは、仮想アドレスによってアクセスされ、当該キャッシュメモリのタグ部から読み出されたタグ情報を、物理アドレスの上位ビットと比較することで、キャッシュミス・ヒットの判定を行うようにしているため、シノニム(synonym)の問題がある。つまり、本来的に実メモリであるメインメモリのブロックのコピーを保持しているにもかかわらず、それを仮想アドレスでアクセスしようとすることによってシノニムの問題を生ずる。そこで、キャッシュメモリ中に同一物理アドレスのデータが複数存在する事態を防止するため、キャッシュメモリのタグ部と基本的に同一内容の情報を記憶するシノニムチェック部が設けられる。同一物理アドレスのデータが存在するか否かの判別はこのシノニムチェック部において行われ、その判別結果に基づいて、キャッシュメモリのライト時の動作が制御される。つまり、キャッシュミス時のライト動作において、同一物理アドレスのデータが既に存在する場合には、キャッシュメモリ中に同一物理アドレスのデータが複数存在する事態を防止するため、既にデータ部に格納されているデータのうち、当該物理アドレスについてのデータが無効とされ、代わりにメインメモリから読み出された新たなデータによってキャッシュメモリが更新される。
【0004】
上記シノニムチェック部には、物理アドレスに基づいてメモリセルアレイから読み出された多ビットデータを比較データと比較するための比較回路が設けられている。比較データは物理アドレスの上位複数ビットとされる。メモリセルアレイから読み出された多ビットデータと比較データとの比較はビット単位に同時に行われ、そしてその多ビット比較結果のオア論理が後段のオア回路でとられることにより、全ビット一致か否かが検出される。メモリセルアレイから読み出された多ビットデータと比較データとの比較において、全てのビットが一致するれば、それは、キャッシュメモリ中に同一物理アドレスのデータが複数存在することを意味するから、既にデータ部に格納されているデータのうち、当該物理アドレスについてのデータが無効とされ、代わりにメインメモリから読み出された新たなデータが取込まれる。
【0005】
尚、キャッシュメモリについて記載された文献の例としては、1995年11月5日に朝倉書店から発行された「計算機アーキテクチャと構成方式(第273頁から第308頁)がある。
【0006】
【発明が解決しようとする課題】
ところで、メモリセルアレイは行方向及び列方向に複数のメモリセルが配列されおり、メモリセルアレイのワード構成は、行方向のへメモリセル配列数と、列方向へのメモリセル配列数との乗算形式で示される。例えば32ワードが1×32で構成されるものとすると、それは行方向へのメモリセル配列数が1個で、列方向へのメモリセル配列数が32個で構成されることを意味する。
【0007】
シノニムなどに適用されるような半導体記憶装置においては、α(アルファ)線やノイズに対するデータの信頼性を高めるため、パリティチェックが行われる。多ビット同時読み出しが可能とされる半導体記憶装置において、パリティチェックは、同時読み出しにかかる全ビット分のデータを一つのパリティ演算回路に取り込み、それらの排他的論理和演算により、α線やノイズ等によってエラーを生じているか否かを判別するようにしている。
【0008】
しかしながら、メモリセルアレイにおいて互いに隣接する2ビット間で同時にデータエラーが生じた場合(これを「隣接2ビット同時エラー」という)、既存のパリティチェック方法では、それをエラーと判断することができないため、読み出しデータは正しいものとして扱われてしまう。例えば、メモリセルアレイにおけるビット0と、それに隣接するビット1のデータがそれぞれ論理値‘1’、論理値‘0’であり、それがα線やノイズの影響により、隣接2ビット同時エラーを生じて、それぞれ論理値‘0’、論理値‘1’のように、隣接2ビットが同時に論理反転してしまったにもかかわらず、それは既存のパリティチェック結果に何ら影響を及ぼすものではないため、そのようなエラーを検出することができない。
【0009】
上記のような隣接2ビット同時エラーを検出可能とするため、例えば32ワード構成を2×16とすることが考えられる。ワード構成を2×16とした場合、カラム系の選択により、隣接2ビット間の一方が選択されることになり、隣接2ビットが同時に読み出されることはないから、少なくとも上記のような2ビット同時エラーは検出することができる。
【0010】
しかしながら、32ワード構成を2×16とすると、メモリセルアレイのチップレイアウトが不所望に横長の形状になってしまい、例えばワード線が不所望に長くなって、そこでの遅延時間が無視できなくなるため、ワード線駆動から実際にデータが出力されるまでの時間が長くなってしまう。従って、32ワード構成を2×16として、隣接2ビット同時エラーの検出を可能ならしめるのは、半導体記憶装置のアクセス速度を犠牲にすることになるため、得策ではない。
【0011】
本発明の目的は、半導体記憶装置のアクセス速度を犠牲にすることなく、隣接ビット間の同時エラーを検出するための技術を提供することにある。
【0012】
本発明の別の目的は、アクセス速度を犠牲にすることなく、隣接ビット間の同時エラーを検出することができる半導体記憶装置を提供することにある。
【0013】
本発明の別の目的は、そのような半導体記憶装置を内蔵するマイクロコンピュータを提供することにある。
【0014】
さらに本発明の別の目的は、そのようなマイクロコンピュータを備えたデータ処理装置を提供することにある。
【0015】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【0016】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0017】
すなわち、1列毎にビット割付けが行われたメモリセルアレイ(42)で互いに隣接しない複数ビット分のデータ群毎に、パリティチェックのための論理演算を行うものである。互いに隣接しない複数ビット分のデータ群毎に、パリティチェックのための論理演算を行うことで、隣接ビット同時エラーの検出を可能とする。このとき、1列毎にビット割付けが行われているため、メモリセルアレイが横長にレイアウトされるのを回避することができ、ワード線が不所望に長くなるのを阻止することができるので、半導体記憶装置のアクセス速度の高速化を達成する。
【0018】
また、メモリセルアレイから、ビット割付け方向に1ビットおき又は複数ビットおきにデータを取り込んでパリティチェックのための論理演算を行うパリティ演算回路を含んで半導体記憶装置を構成することにより、アクセス速度を犠牲にすることなく、隣接ビット間の同時エラーを検出可能な半導体記憶装置を構成することができる。
【0019】
1列毎にビット割付けが行われたメモリセルアレイと、上記メモリセルアレイにおける複数のビット分の読み出しデータとそれに対応するパリティビットデータとの論理演算により、上記メモリセルアレイからの読み出しデータのパリティチェックを可能とするパリティチェック部(46)に加えて、上記メモリセルアレイから読み出された複数ビット構成の第1データ群と、その第1データ群の比較対照とされる第2データ群とをビット単位で比較するための比較部(44)が設けられるとき、上記パリティチェック部は、上記メモリセルアレイから、ビット割付け方向に1ビットおき又は複数ビットおきにデータを取り込んでパリティチェックのための論理演算を行うパリティ演算回路(461,462)を含んで構成し、上記比較部は、上記第1データ群及び上記第2データ群のビット構成に対応して配置され、それぞれ上記第1データ群と、上記第2データ群とをビット単位で比較するための複数のビット比較回路66−1〜66−nと、上記複数のビット比較回路からの比較結果のうちの任意の1ビットの論理状態に基づいて活性化され、且つ、活性化された状態で、上記複数のビット比較回路のうちの上記任意の1ビットを除く全てのビットの論理和を得るためのオア回路(45)とを含んで構成することができる。かかる構成においては、上記複数のビット比較回路からの比較結果のうちの任意の1ビットの論理状態を利用して、オア回路の活性及び非活性の切り換えが可能とされるから、プリチャージ動作のタイミング制御のためのクロック信号が不要であり、上記クロック信号のタイミングマージンも不要となる。しかも、スタティック回路で多ビット比較回路を形成する場合に比べて回路段数を削減することができる。このことが、多ビット比較回路の動作の高速化、さらにはそのような多ビット比較回路をキャッシュメモリのシノニムチェック部に適用した場合のキャッシュメモリの動作の高速化を達成する。そして、上記のようにアクセス速度を犠牲にすることなく隣接ビット間の同時エラーを検出することができるから、キャッシュメモリに適用した場合の動作の高速化とともに、キャッシュデータの信頼性の向上を達成する。従って、上記構成の半導体記憶装置を、1チップ化されたマイクロコンピュータ(31)に、キャッシュメモリ(10)としてオンチップ化した場合には、キャッシュメモリの動作の高速化により、マイクロコンピュータさらにはそれを含むデータ処理装置における演算処理時間の短縮化、及びキャッシュデータの信頼性の向上により演算処理結果の信頼性の向上を達成する。
【0020】
【発明の実施の形態】
図2には本発明にかかるデータ処理装置の一例であるコンピュータシステムが示される。
【0021】
このコンピュータシステムは、システムバスBUSを介して、マイクロコンピュータ31、SDRAM(シンクロナス・ダイナミック・ランダム・アクセス・メモリ)32、SRAM33(スタティック・ランダム・アクセス・メモリ)、ROM(リード・オンリ・メモリ)34、周辺装置制御部35、表示制御部36などが、互いに信号のやり取り可能に結合され、予め定められたプログラムに従って所定のデータ処理を行う。上記マイクロコンピュータ31は、本システムの論理的中核とされ、主として、アドレス指定、情報の読み出しと書き込み、データの演算、命令のシーケンス、割り込の受付け、記憶装置と入出力装置との情報交換の起動等の機能を有し、演算制御部や、バス制御部、メモリアクセス制御部などから構成される。上記SDRAM32や、SRAM33、及びROM34は内部記憶装置として位置付けられている。SDRAM32は、マイクロコンピュータ31での計算や制御における作業領域として利用される。SRAM33はマイクロコンピュータ31で実行されるプログラムなどがロードされるメインメモリとして機能する。ROM34には読出し専用のプログラムが格納される。周辺装置制御部35によって、ハードディスクなどの外部憶装置38の動作制御や、キーボード39などからの情報入力制御が行われる。また、上記表示制御部36によってCRTディスプレイ40への情報表示制御が行われる。この表示制御部36には描画処理のための半導体チップや画像メモリなどが含まれる。
【0022】
図3には上記マイクロコンピュータ31の構成例が示される。このマイクロコンピュータ31は、特に制限されないがキャッシュメモリ10、アドレス変換バッファ(以下単に「TLB」ともいう)11、コントロールユニット12、及び周辺モジュール13を内蔵し、それらが内部バス14,15などに結合されて、一つのの半導体基板に形成されて成る。
【0023】
コントロールユニット12は、中央処理装置、バスコントローラ、上記キャッシュメモリ10及びTLB11の制御回路、外部インタフェース回路などの機能を総称する回路ブロックであり、同図には内外との入出力制御機能を代表する回路ブロックとして内部コントローラ121と外部バスコントローラ122が示される。上記内部バス14にはキャッシュメモリ10、TLB11、内部コントローラ121が接続され、内部バス15にはTLB11、周辺モジュール13、外部バスコントローラ122が接続される。周辺モジュール13は、それぞれ図示しないタイマ、シリアルコミュニケーションインタフェース、RAM(ランダムアクセスメモリ)、ROM(リードオンリメモリ)、及びDMAC(ダイレクトメモリアクセスコントローラ)などの適宜の周辺回路が含まれる。同図において16はキャッシュメモリ10に対する制御信号線群、17はTLB11に対する制御信号線群、18はTLB11と周辺回路モジュール13との間の制御信号線群、19は周辺モジュール13に対する制御信号線群、20はキャッシュメモリ10とTLB11との間の制御信号線群である。本構成例のマイクロコンピュータ31は、特に制限されないが、システムバスBUSを介してSRAM33に接続される。この構成例において、仮想記憶を実現するためのアドレス変換機構は、TLB11及びそれを制御するためのコントロールユニット12内の回路から構成される。
【0024】
図4には、上記キャッシュメモリ10の構成例が示される。
【0025】
図4に示されるように、キャッシュメモリ10は、タグ部72、データ部73、比較部74、シノニムチェック部75を含む。
【0026】
仮想アドレスがタグ部72及びデータ部73に入力され、当該仮想アドレスに対応する物理アドレスが比較部74、シノニムチェック部75に入力される。仮想アドレスに基づいてタグ部72からタグ情報が読み出され、それが比較部74に伝達される。比較部74では、タグ部72から出力されたタグ情報と、上記物理アドレスとが比較される。この比較において、タグ部72から出力されたタグ情報と、上記物理アドレスとが一致していればキャッシュヒット、不一致であればキャッシュミスとされる。キャッシュヒットの場合には、当該仮想アドレスに対応するデータがデータ部73から読み出されるが、キャッシュミスの場合、データ部73からのデータ読み出しは行われない。その場合、SRAM33から新たなデータ取り込みが行われ、そのデータによってキャッシュメモリの内容が更新される。
【0027】
また、キャッシュメモリ中に同一物理アドレスのデータが複数存在する事態を防止するため、物理アドレスが入力された場合に、当該物理アドレスに基づいてシノニムチェック部75内のメモリセルアレイから読み出された情報と、当該物理アドレスから作り出された比較データとがビット単位で比較されるようになっている。比較データは物理アドレスの上位複数ビットとされ、下位復数ビットはシノニムチャック回路75内のメモリアクセスに使用される。キャッシュミス時のライト動作において、同一物理アドレスのデータが既に存在する場合には、キャッシュメモリ中に同一物理アドレスのデータが複数存在する事態を防止するため、既にデータ部に格納されているデータのうち、当該物理アドレスについてのデータが無効とされ、代わりに新たなデータが取込まれる。
【0028】
図5には上記シノニムチェック部75の構成例が示される。
【0029】
図5に示されるようにシノニムチェック部75は、複数のスタティック型メモリセルが配列されて成るメモリセルアレイ42、アドレスAdrをデコードするためのデコーダ41、上記メモリセルアレイ42から読み出された信号を増幅するためのセンスアンプ43、このセンスアンプ43の出力信号と比較データCD0〜CDnとをビット単位に比較するための比較部44、この比較部44からの複数ビットの比較結果の論理和を求めるオア回路45、メモリセルアレイ42から読み出されたデータがα線やノイズなどによって論理反転しているか否かをパリティチェックにより判定するためのパリティチェック部46とを含んで成る。パリティチェック部46でメモリセルアレイ42からの読み出しデータが正常と判断された場合、オア回路45の出力OUTが、シノニムチェック結果として有効とされるが、パリティチェック部46でデータエラーが検出された場合には、オア回路45の出力OUTは無効とされる。上記デコーダ41に入力されるアドレスは、物理アドレスの下位複数ビットとされ、上記比較部44に入力される比較データCD0〜CDnは、物理アドレスの上位複数ビットとされる。
【0030】
尚、実際には、図5に示される構成回路が複数セット設けられる。例えば、仮想アドレスが3ビットの場合、2の3乗個、つまり8個の仮想空間が存在し、4ウェイ・セットアソシアティブ形式の場合には32個(=8×4)の仮想空間が存在するため、シノニムチェックのためには、この仮想空間に対応して、図5に示される回路構成が32個設けられ、仮想アドレスが物理アドレスに変換される毎に、それぞれにおいて上記のシノニムチェック動作が行われる。
【0031】
図1には、上記メモリセルアレイ42とパリティチェック部46との関係が示される。
【0032】
上記メモリセルアレイ42は、特に制限されないが、メモリセルアレイは行方向及び列方向に複数のメモリセルが配列されて成る。例えばこのメモリセルアレイ42は、32ワードが1×32で構成されており、行方向へのメモリセル配列数は1個で、列方向へのメモリセル配列数は32個である。パリティチェック部46は、特に制限されないが、第1パリティ演算回路461と第2パリティ演算回路462とを含んで成る。ビットBIT0〜BIT17のうち、ビット0〜BIT15までがデータに割り当てられ、ビットBIT16,BIT17がパリティビットとされる。
【0033】
偶数番目のビットであるビット0,2,4〜16のデータは、センスアンプ43を介して第1パリティ演算回路461に伝達され、奇数番目のビットであるビット1,3,5〜17のデータは、センスアンプ43を介して第2パリティチェック部462に伝達される。つまり、メモリセルアレイで互いに隣接しない複数ビット分のデータ群毎に、第1パリティ演算回路461、第2パリティ演算回路462において、それぞれ上記パリティチェックのための論理演算が行われる。換言すれば、第1パリティ演算回路461、第2パリティ演算回路462において、それぞれ1ビットおきのデータ群についての論理演算が行われるようになっている。それにより、偶数番目のビットについて、エラーが発生した場合には、それは第1パリティ演算回路461において検出され、奇数番目のビットについて、エラーが発生した場合には、それは第2パリティ演算回路462において検出される。そのように第1パリティ演算回路461、第2パリティ演算回路462において、それぞれ1ビットおきのデータ群についての論理演算が行われるようになっていることから、隣接ビット間で同時にエラーを生じた場合でも、それを的確に検出することができる。例えば、メモリセルアレイにおけるビット0と、それに隣接するビット1のデータがそれぞれ論理値‘1’、論理値‘0’であり、それがα線やノイズの影響により、隣接2ビット同時エラーを生じて、それぞれ論理値‘0’、論理値‘1’のように、隣接2ビットが同時に論理反転してしまった場合には、ビット0のデータが第1パリティ演算回路461に伝達され、ビット1のデータが第1パリティ演算回路461に伝達されることから、それぞれ第1パリティ演算回路461、第2パリティ演算回路462において上記エラー検出が行われる。
【0034】
また、隣接3ビット同時エラーを生じた場合にも、それを検出することができる。例えば、ビット0,1,2において同時エラーを生じた場合には、第1パリティ演算回路461ではエラー検出が行えないが、第2パリティ演算回路462においてエラー検出が行われる。故に、メモリセルアレイ42からの読み出しデータのパリティチェック結果として、第1パリティ演算回路461の出力信号P1と、第2パリティ演算回路462の出力信号P2とを使用することにより、隣接3ビット同時エラーを検出し、それをパリティ演算結果として、メモリセル42からの読み出しデータの処理に反映させることができる。
【0035】
図6には上記第1パリティ演算回路461の構成例が代表的に示される。
【0036】
図6に示されるように、第1パリティ演算回路461は、それぞれ排他的論理和を得るための排他的論理和回路(「EOR」と略記する)111〜118によって構成される。ビットBIT0,ビットBIT2の排他的論理和がEOR111によって得られ、ビットBIT4,ビットBIT6の排他的論理和がEOR112によって得られ、ビットBIT8,ビットBIT10の排他的論理和がEOR113によって得られ、ビットBIT12,ビットBIT14の排他的論理和がEOR14によって得られる。そして、EOR111の出力信号とEOR112の出力信号との排他的論理和がEOR115によって得られ、EOR113の出力信号とEOR114の出力信号との排他的論理和がEOR116によって得られ、EOR115の出力信号とEOR116の出力信号との排他的論理和がEOR117によって得られ、さらに、EOR117の出力信号と、パリティビットであるビットBIT16との排他的論理和がEOR118によって得られることにより、第1パリティ演算回路461の出力信号P1が得られる。
【0037】
尚、図6に示されるのは第1パリティ演算回路461の構成例であるが、第2パリティ演算回路462もそれと同一構成とされる。
【0038】
図7には、図5における比較部44の構成例、及びそれとオア回路45との関係が示される。
【0039】
図7に示されるように、比較部44は、メモリセルアレイ42から同時に読み出されるビット数に対応する複数個のビット比較回路61−1〜61−nから成る。複数個のビット比較回路61−1〜61−nには、それぞれ対応する比較データCD0〜CDnが入力され、メモリセルアレイ42から同時に読み出され、上記センスアンプ43で増幅された信号と、比較データCD0〜CDnとのビット単位での論理比較が行われるようになっている。ビット比較回路61−1〜61−nの数はメモリセルアレイ42からの多ビット出力に対応する。そのうちの任意のビット比較回路例えばn番目のビット比較回路61−nの比較結果のみが、インバータ63により反転されてから、オア回路45の活性化信号φ1とてオア回路45に入力されるようになっている。また、n番目のビット比較回路61−nを除くビット比較回路、すなわち、1番目からn−1番目のビット比較回路61−1〜61−n−1の比較結果は、それらの論理和を求めるために、オア回路45に入力される。
【0040】
図8には、複数のビット比較回路61−1〜61−nのうち、ビット比較回路61−1の構成例が代表的に示される。
【0041】
図8に示されるように、ビット比較回路61−1は、nチャンネル型MOSトランジスタQ31とpチャンネル型MOSトランジスタQ32とが並列接続され、nチャンネル型MOSトランジスタQ33とpチャンネル型MOSトランジスタQ34とが並列接続され、それに、n番目の比較データCDnによって上記MOSトランジスタQ31〜Q34を動作制御するためのインバータ50,51が結合されて成る。n番目の比較データCDnはインバータ50によって反転されてから、nチャンネル型MOSトランジスタQ31のゲート電極、及びpチャンネル型MOSトランジスタQ34のゲート電極に伝達される。また、インバータ50の出力信号は、後段のインバータ51で反転されてから、pチャンネル型MOSトランジスタQ32のゲート電極、及びnチャンネル型MOSトランジスタQ33のゲート電極に伝達される。センスアンプ43からの出力信号が相補レベルのデータ線D,D*(*は信号反転又はローアクティブを意味する)を介して伝達されるとき、データ線DはMOSトランジスタQ31,Q32に結合され、データ線D*はMOSトランジスタQ33,Q34に結合される。センスアンプ43からの出力信号とn番目の比較データとが一致する場合には、このビット比較回路61−1の出力信号はローレベルとされ、それとは逆に、センスアンプ43からの出力信号とn番目の比較データとが不一致の場合には、ビット比較回路61−1の出力信号はハイレベルとされる。
【0042】
n番目の比較データCDnがローレベルの場合には、nチャンネル型MOSトランジスタQ31及びpチャンネル型MOSトランジスタQ32がオンされる。このとき、nチャンネル型MOSトランジスタQ33及びpチャンネル型MOSトランジスタQ34はオフ状態とされる。その場合において、データ線Dの論理がMOSトランジスタQ31,Q32を介してオア回路45へ伝達される。データ線Dがハイレベルの場合には、それはn番目の比較データCDnのローレベルとは不一致であり、オア回路45へはハイレベル出力がなされる。それに対して、データ線Dがローレベルの場合には、それはn番目の比較データCDnのローレベルと一致し、オア回路45へはローレベル出力がなされる。
【0043】
また、n番目の比較データCDnがハイレベルの場合には、nチャンネル型MOSトランジスタQ33及びpチャンネル型MOSトランジスタQ34がオンされる。このとき、nチャンネル型MOSトランジスタQ31及びpチャンネル型MOSトランジスタQ32はオフ状態とされる。その場合において、データ線D*の論理がMOSトランジスタQ33,Q34を介してオア回路45へ伝達される。データ線D*がハイレベルの場合、データ線Dはローレベルであることを意味するから、データ不一致を意味する。データ線D*がハイレベルの場合には、それはデータ線Dがローレベルであることを意味するから、データ不一致により、オア回路45へはハイレベル出力がなされる。
【0044】
尚、他のビット比較回路61−2〜61−nについても上記と同様に構成される。
【0045】
図9には、図5に示される上記オア回路45の構成例が示される。
【0046】
pチャンネル型MOSトランジスタQ21,Q22が並列接続され、pチャンネル型MOSトランジスタQ23,Q24が並列接続される。pチャンネル型MOSトランジスタQ21,Q22,Q23,Q24のドレイン電極は高電位側電源Vddに結合される。pチャンネル型MOSトランジスタQ21,Q22のソース電極は、ノードNAを介してnチャンネル型MOSトランジスタQ27〜Q29のドレイン電極、nチャンネル型MOSトランジスタQ25のベース電極、及びpチャンネル型MOSトランジスタQ23のゲート電極に接続される。この接続箇所をノードNAと称する。pチャンネル型MOSトランジスタQ23,Q24のソース電極は、ノードNBを介してpチャンネル型MOSトランジスタQ22のゲート電極、及びnチャンネル型MOSトランジスタQ25のドレイン電極に結合される。nチャンネル型MOSトランジスタQ25,Q27,Q28,Q29のソース電極は、nチャンネル型MOSトランジスタQ26を介して低電位側電源Vssに結合される。nチャンネル型MOSトランジスタQ27,Q28,Q29のゲート電極は、それぞれ端子T1,T2,T3を介してビット比較回路61−1,61−2,61−3の出力端子に結合される。また、nチャンネル型MOSトランジスタQ26のゲート電極は、端子Tnを介してビット比較回路61−nの出力端子に結合される。
【0047】
端子Tnを介して取り込まれた活性化信号φ1がハイレベルのとき、nチャンネル型MOSトランジスタQ26がオンされて、nチャンネル型MOSトランジスタQ25,Q27〜Q29のソース電極が低電位側電源Vssに導通されることにより、このオア回路45が活性化される。活性化信号φ1がローレベルの場合には、nチャンネル型MOSトランジスタQ26がオフ状態とされて、nチャンネル型MOSトランジスタQ25,Q27〜Q29のソース電極が低電位側電源Vssに導通されないから、このオア回路45は非活性状態とされる。
【0048】
ここで、センスアンプ43の出力信号と、それに対応する比較データCD0〜CDnとが完全に一致する場合を考える。この場合、ビット比較回路61−1〜61−nの出力信号は全てローレベルとされる。ビット比較回路61−nの出力信号がローレベルとされる場合には、それがインバータ63で論理反転されて得られた活性化信号φ1がハイレベルとされるから、nチャンネル型MOSトランジスタQ26がオンされ、nチャンネル型MOSトランジスタQ25,Q27〜Q29のソース電極がnチャンネル型MOSトランジスタQ26を介して低電位側電源Vssに導通されることにより、このオア回路45が活性状態とされる。このとき、ビット比較回路61−1〜61−3の出力信号が全てローレベルとされているので、nチャンネル型MOSトランジスタQ27,Q28,Q29がオフ状態とされ、ノードNAはハイレベルとされるから、nチャンネル型MOSトランジスタQ25がオンされ、それにより、ノードNBがローレベルとされる。ノードNBがローレベルの場合、このオア回路45の出力信号OUTもローレベルとなる。オア回路45の出力信号OUTのローレベル出力は、センスアンプ43の出力信号と、それに対応する比較データCD0〜CDnとが完全に一致することを示している。
【0049】
それに対して、ビット比較回路61−1〜61−nのうち、ビット比較回路61―nのみがハイレベルとされる場合には、活性化信号φ1がローレベルとされ、nチャンネル型MOSトランジスタQ26がオフされるから、このオア回路45は非活性状態とされる。活性化信号φ1がローレベルとされる場合、pチャンネル型MOSトランジスタQ24がオンされることで、ノードNBがハイレベルとされることから、出力信号OUTもハイレベルとされる。また、ビット比較回路61―nを除くビット比較回路61−1〜61−n−1のうちの少なくとも一つがハイレベル出力とされる場合には、ノードNAがローレベルとされるから、nチャンネル型MOSトランジスタQ25がオフされ、ノードNAがハイレベルとされるから、このオア回路45の出力信号OUTもハイレベルとされる。オア回路45の出力信号OUTのハイレベルは、センスアンプ43の出力信号と、それに対応する比較データCD0〜CDnとが完全には一致しないことを示している。
【0050】
そのようにして、センスアンプ43の出力信号と、それに対応する比較データCD0〜CDnとが完全に一致する場合と、そうでない場合との判別結果(出力信号OUT)が得られる。
【0051】
上記した例によれば以下の作用効果が得られる。
【0052】
(1)互いに隣接しない複数ビット分のデータ群毎に、パリティチェックのための論理演算を行うことで、隣接ビット同時エラーの検出が可能とされる。このとき、1列毎にビット割付けが行われているため、例えば32ワードを2K×16で構成する場合のように、メモリセルアレイが横長にレイアウトされるのを回避することができ、ワード線が不所望に長くなるのを阻止することができるので、メモリセルアレイ42のアクセス速度の高速化を図ることができる。
【0053】
(2)複数のビット比較回路61−1〜61−nのうちの任意の1ビットを除く全てのビットの論理和を得るためのオア回路45が上記任意の1ビットによって活性、非活性が切り換えられるから、タイミング制御のためのクロック信号を特別に形成する必要が無く、上記クロック信号のタイミングマージンも不要となる。しかも、スタティック回路で多ビット比較回路を形成する場合に比べて回路段数を削減することができる。それにより、比較動作の高速化を図ることができる。また、上記上記任意の1ビットによってオア回路45が非活性状態とされている場合には、当該オア回路45での電流消費がほとんどないから、回路の消費電流の低減を図ることができる。
【0054】
(3)上記複数のビット比較回路に対応して配置され、且つ、互いに並列接続されたnチャンネル型MOSトランジスタQ27〜Q29と、上記nチャンネル型MOSトランジスタのドレイン電極に結合されたベース電極を有するnチャンネル型MOSトランジスタQ25と、それらのソース電極に共通接続された電流源MOSトランジスタQ26とを設け、上記電流源MOSトランジスタのゲート電極に、上記複数のビット比較回路からの比較結果のうちの任意の1ビットを伝達可能に構成することで、上記オア回路を容易に形成することができる。
【0055】
(4)他ビット同時比較の高速化により高速動作可能なキャッシュメモリ10と、仮想アドレスを物理アドレスに変換するための変換対を格納するアドレス変換バッファ11と、上記キャッシュメモリとアドレス変換バッファとを制御するコントロールユニット12とを含んでマイクロコンピュータ31を構成することにより、命令フェッチなどの時間短縮が可能となり、マイクロコンピュータの演算処理の高速化を図ることができる。
【0056】
(5)そのように演算処理の高速化が図られたマイクロコンピュータ31と、バスBUS9を介して上記マイクロコンピュータ31によってアクセスされるSRAM33とを含んでデータ処理装置を構成することにより、当該データ処理の高速化を図ることができる。
【0057】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【0058】
例えば、上記の例ではビット割付け方向に1ビットおきのデータを第1パリティ演算回路461、第2パリティ演算回路462に取り込んで、パリティチェックのための論理演算を行うようにしたが、ビット割付け方向に2ビット以上おきのデータを取り込んでパリティチェックのための論理演算を行うようにしてもよい。
【0059】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるマイクロコンピュータ内蔵キャッシュメモリに適用した場合について説明したが、マイクロコンピュータ内部又は外部に配置される各種半導体記憶装置に広く適用することができる。
【0060】
本発明は、少なくともパリティチェックを行うことを条件に適用することができる。
【0061】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【0062】
すなわち、1列毎にビット割付けが行われたメモリセルアレイで互いに隣接しない複数ビット分のデータ群毎に、パリティチェックのための論理演算を行うことで、隣接ビット同時エラーの検出が可能とされる。このとき、1列毎にビット割付けが行われているため、メモリセルアレイが横長にレイアウトされるのを回避することができ、ワード線が不所望に長くなるのを阻止することができるので、半導体記憶装置のアクセス速度の高速化を図ることができる。
【0063】
また、メモリセルアレイから、ビット割付け方向に1ビットおき又は複数ビットおきにデータを取り込んでパリティチェックのための論理演算を行うパリティ演算回路を含んで半導体記憶装置を構成することにより、アクセス速度を犠牲にすることなく、隣接ビット間の同時エラーを検出可能な半導体記憶装置を構成することができる。
【0064】
それぞれ上記第1データ群と、上記第2データ群とをビット単位で比較するための複数のビット比較回路と、複数のビット比較回路からの比較結果のうちの任意の1ビットの論理状態に基づいて活性化され、且つ、活性化された状態で、上記複数のビット比較回路のうちの上記任意の1ビットを除く全てのビットの論理和を得るためのオア回路とを含んで上記比較部が構成されることにより、上記複数のビット比較回路からの比較結果のうちの任意の1ビットの論理状態を利用して、オア回路の活性及び非活性の切り換えが可能とされるから、プリチャージ動作のタイミング制御のためのクロック信号が不要であり、上記クロック信号のタイミングマージンも不要となる。しかも、スタティック回路で多ビット比較回路を形成する場合に比べて回路段数を削減することができる。それにより、多ビット比較回路の動作の高速化、さらにはそのような多ビット比較回路をキャッシュメモリのシノニムチェック部に適用した場合のキャッシュメモリの動作の高速化を図ることができる。そして、上記のようにアクセス速度を犠牲にすることなく隣接ビット間の同時エラーを検出することができるから、キャッシュメモリの動作の高速化、及びキャッシュデータの信頼性の向上を図ることができる。上記構成の半導体記憶装置をキャッシュメモリとしてマイクロコンピュータにオンチップ化した場合には、キャッシュメモリの動作の高速化により、マイクロコンピュータさらにはそれを含むデータ処理装置における演算処理時間の短縮化、及びキャッシュデータの信頼性の向上により演算処理結果の信頼性の向上を図ることができる。
【図面の簡単な説明】
【図1】本発明にかかる半導体記憶装置に含まれるパリティチェック部の構成例ブロック図である。
【図2】上記半導体記憶装置を内蔵して成るマイクロコンピュータが適用されたコンピュータシステムの構成例ブロック図である。
【図3】上記マイクロコンピュータの構成例ブロック図ある。
【図4】上記マイクロコンピュータに含まれるキャッシュメモリの構成例ブロック図である。
【図5】上記キャッシュメモリに含まれるシノニムチェック回路の構成例ブロック図である。
【図6】パリティチェック部に含まれるパリティ演算回路の構成例回路図である。
【図7】上記シノニムチェック回路における主要部の構成例ブロック図である。
【図8】図7に含まれるビット比較回路の構成例回路図である。
【図9】図7に含まれるオア回路の構成例回路図である。
【符号の説明】
10 キャッシュメモリ
11 アドレス変換バッファ
12 コントロール回路
13 周辺モジュール
31 マイクロコンピュータ
32 SDRAM
33 SRAM
34 ROM
35 周辺装置制御部
36 表示制御部
38 外部記憶装置
40 キーボード
41 デコーダ
42 メモリセルアレイ
43 センスアンプ
44 比較部
45 オア回路
46 パリティチェック部
61−1〜61−n ビット比較回路
63 インバータ
72 タグ部
73 データ部
74 比較部
75 シノニムチェック部
111〜118 EOR
461 第1パリティ演算回路
462 第2パリティ演算回路[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a parity check technique for a semiconductor memory device, and more particularly to a technique for enabling simultaneous detection of a plurality of bits in a parity check. For example, the present invention is applied to a semiconductor memory device incorporated as a cache memory in a single-chip microcomputer. It relates to effective technology.
[0002]
[Prior art]
In order to improve the processing performance of a data processing apparatus such as a microcomputer, a technique incorporating a cache memory has been conventionally applied. In the field where the operating system manages the memory without the user being aware of the real memory, the data processing device needs to support the address translation mechanism. The address translation mechanism is a mechanism for converting a virtual address into a physical address in order to realize virtual storage.
[0003]
Furthermore, in order to execute the address translation mechanism at a high speed, a technology that incorporates an address translation buffer (translation lookaside buffer, hereinafter simply referred to as TLB) in the microcomputer to hold a translation pair of a virtual address and a physical address has also been conventionally employed. Has been.
In a cache memory such as a built-in microcomputer, a cache miss hit is determined by comparing tag information read from the tag portion of the cache memory accessed by a virtual address with the upper bits of the physical address. There is a problem with synonyms. That is, a synonym problem arises by trying to access a copy of a block of main memory, which is essentially a real memory, with a virtual address. Therefore, in order to prevent a situation in which a plurality of pieces of data having the same physical address exist in the cache memory, a synonym check unit that stores basically the same information as the tag unit of the cache memory is provided. Whether or not data with the same physical address exists is determined by this synonym check unit, and the operation at the time of writing to the cache memory is controlled based on the determination result. That is, in the write operation at the time of a cache miss, if data with the same physical address already exists, it is already stored in the data portion to prevent a situation in which a plurality of data with the same physical address exists in the cache memory. Of the data, the data for the physical address is invalidated, and the cache memory is updated with new data read from the main memory instead.
[0004]
The synonym check unit is provided with a comparison circuit for comparing multi-bit data read from the memory cell array based on a physical address with comparison data. The comparison data is the upper bits of the physical address. The comparison between the multi-bit data read from the memory cell array and the comparison data is simultaneously performed in bit units, and the OR logic of the multi-bit comparison result is taken by the OR circuit in the subsequent stage, so that all bits match. Is detected. In the comparison between the multi-bit data read from the memory cell array and the comparison data, if all the bits match, it means that there are a plurality of data of the same physical address in the cache memory, so the data has already been stored. Among the data stored in the storage unit, the data for the physical address is invalidated, and new data read from the main memory is taken in instead.
[0005]
An example of a document describing the cache memory is “Computer Architecture and Configuration (pages 273 to 308)” issued by Asakura Shoten on November 5, 1995.
[0006]
[Problems to be solved by the invention]
By the way, the memory cell array has a plurality of memory cells arranged in the row direction and the column direction, and the word configuration of the memory cell array is a multiplication form of the number of memory cells arranged in the row direction and the number of memory cells arranged in the column direction. Indicated. For example, if 32 words are composed of 1 × 32, this means that the number of memory cell arrays in the row direction is 1 and the number of memory cell arrays in the column direction is 32.
[0007]
In a semiconductor memory device applied to a synonym or the like, a parity check is performed in order to improve data reliability against α (alpha) rays and noise. In a semiconductor memory device capable of simultaneous multi-bit reading, parity check is performed by fetching all bits of data required for simultaneous reading into a single parity operation circuit and performing an exclusive OR operation on them for alpha rays, noise, etc. Whether or not an error has occurred is determined.
[0008]
However, if a data error occurs simultaneously between two adjacent bits in the memory cell array (this is called “adjacent 2-bit simultaneous error”), the existing parity check method cannot determine it as an error. The read data is treated as correct. For example, the data of bit 0 and
[0009]
To make it possible to detect the adjacent 2-bit simultaneous error as described above, for example, it is conceivable that the 32 word configuration is 2 × 16. When the word configuration is 2 × 16, one of the adjacent 2 bits is selected by the column system selection, and the adjacent 2 bits are not read at the same time. Errors can be detected.
[0010]
However, if the 32 word configuration is 2 × 16, the chip layout of the memory cell array becomes undesirably horizontally long, for example, the word line becomes undesirably long, and the delay time cannot be ignored. The time from the word line drive to the actual output of data becomes long. Therefore, it is not a good idea to set the 32-word configuration to 2 × 16 and enable detection of adjacent 2-bit simultaneous errors because the access speed of the semiconductor memory device is sacrificed.
[0011]
An object of the present invention is to provide a technique for detecting a simultaneous error between adjacent bits without sacrificing the access speed of a semiconductor memory device.
[0012]
Another object of the present invention is to provide a semiconductor memory device capable of detecting simultaneous errors between adjacent bits without sacrificing access speed.
[0013]
Another object of the present invention is to provide a microcomputer incorporating such a semiconductor memory device.
[0014]
Still another object of the present invention is to provide a data processing apparatus having such a microcomputer.
[0015]
The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
[0016]
[Means for Solving the Problems]
The following is a brief description of an outline of typical inventions disclosed in the present application.
[0017]
That is, a logical operation for parity check is performed for each data group of a plurality of bits that are not adjacent to each other in the memory cell array (42) in which bit allocation is performed for each column. By performing a logical operation for parity check for each data group of a plurality of bits that are not adjacent to each other, it is possible to detect an adjacent bit simultaneous error. At this time, since bit allocation is performed for each column, the memory cell array can be prevented from being laid out horizontally, and the word line can be prevented from becoming undesirably long. Achieving higher access speed of storage devices.
[0018]
Also, the access speed is sacrificed by configuring the semiconductor memory device including a parity operation circuit that takes in data from the memory cell array in every bit or every plurality of bits in the bit allocation direction and performs a logical operation for parity check. Thus, a semiconductor memory device capable of detecting a simultaneous error between adjacent bits can be configured.
[0019]
Parity check of read data from the memory cell array can be performed by logical operation of the memory cell array in which bit allocation is performed for each column, and the read data for a plurality of bits in the memory cell array and the corresponding parity bit data. In addition to the parity check unit (46), a first data group having a multi-bit configuration read from the memory cell array and a second data group to be compared with the first data group in bit units. When a comparison unit (44) for comparison is provided, the parity check unit takes in data from the memory cell array in every bit or every plurality of bits in the bit allocation direction and performs a logical operation for parity check. It includes a parity operation circuit (461, 462). A plurality of bit comparison circuits 66- are arranged corresponding to the bit configurations of the first data group and the second data group, and each compare the first data group and the second data group in bit units. 1 to 66-n and any one of the comparison results from the plurality of bit comparison circuits are activated based on the logical state of one bit, and in the activated state, the plurality of bit comparison circuits An OR circuit (45) for obtaining a logical sum of all the bits except the one arbitrary bit can be configured. In such a configuration, the active state of the OR circuit can be switched between active and inactive using the logic state of any one bit among the comparison results from the plurality of bit comparison circuits. A clock signal for timing control is unnecessary, and the timing margin of the clock signal is also unnecessary. In addition, the number of circuit stages can be reduced as compared with the case where the multi-bit comparison circuit is formed by a static circuit. This achieves speeding up of the operation of the multi-bit comparison circuit, and further speeding up of the operation of the cache memory when such a multi-bit comparison circuit is applied to the synonym check unit of the cache memory. And, as mentioned above, simultaneous errors between adjacent bits can be detected without sacrificing access speed, so the operation speed when applied to cache memory is improved and the reliability of cache data is improved. To do. Therefore, when the semiconductor memory device having the above-described configuration is made on-chip as the cache memory (10) in the microcomputer (31) that is made into one chip, the microcomputer is further improved by increasing the operation speed of the cache memory. The reliability of arithmetic processing results is achieved by shortening the arithmetic processing time in a data processing apparatus including the above and improving the reliability of cache data.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 2 shows a computer system which is an example of a data processing apparatus according to the present invention.
[0021]
This computer system includes a
[0022]
FIG. 3 shows a configuration example of the
[0023]
The
[0024]
FIG. 4 shows a configuration example of the
[0025]
As shown in FIG. 4, the
[0026]
A virtual address is input to the
[0027]
In addition, in order to prevent a situation in which a plurality of pieces of data having the same physical address exist in the cache memory, when a physical address is input, information read from the memory cell array in the
[0028]
FIG. 5 shows a configuration example of the
[0029]
As shown in FIG. 5, the
[0030]
In practice, a plurality of sets of the constituent circuits shown in FIG. 5 are provided. For example, when the virtual address is 3 bits, there are 2 to the 3rd power, that is, 8 virtual spaces, and in the case of the 4-way set associative format, there are 32 (= 8 × 4) virtual spaces. Therefore, for the synonym check, 32 circuit configurations shown in FIG. 5 are provided corresponding to the virtual space, and the above synonym check operation is performed each time the virtual address is converted into the physical address. Done.
[0031]
FIG. 1 shows the relationship between the
[0032]
The
[0033]
The data of
[0034]
Further, even when an adjacent 3-bit simultaneous error occurs, it can be detected. For example, when simultaneous errors occur in
[0035]
FIG. 6 representatively shows a configuration example of the first
[0036]
As shown in FIG. 6, the first
[0037]
FIG. 6 shows a configuration example of the first
[0038]
FIG. 7 shows a configuration example of the
[0039]
As shown in FIG. 7, the
[0040]
FIG. 8 representatively shows a configuration example of the bit comparison circuit 61-1 among the plurality of bit comparison circuits 61-1 to 61-n.
[0041]
As shown in FIG. 8, the bit comparison circuit 61-1 includes an n-channel MOS transistor Q31 and a p-channel MOS transistor Q32 connected in parallel, and an n-channel MOS transistor Q33 and a p-channel MOS transistor Q34. The
[0042]
When the n-th comparison data CDn is at a low level, the n-channel MOS transistor Q31 and the p-channel MOS transistor Q32 are turned on. At this time, the n-channel MOS transistor Q33 and the p-channel MOS transistor Q34 are turned off. In that case, the logic of the data line D is transmitted to the
[0043]
When the nth comparison data CDn is at a high level, the n-channel MOS transistor Q33 and the p-channel MOS transistor Q34 are turned on. At this time, the n-channel MOS transistor Q31 and the p-channel MOS transistor Q32 are turned off. In that case, the logic of the data line D * is transmitted to the
[0044]
The other bit comparison circuits 61-2 to 61-n are configured in the same manner as described above.
[0045]
FIG. 9 shows a configuration example of the
[0046]
P-channel MOS transistors Q21 and Q22 are connected in parallel, and p-channel MOS transistors Q23 and Q24 are connected in parallel. The drain electrodes of the p-channel MOS transistors Q21, Q22, Q23, Q24 are coupled to the high potential side power supply Vdd. The source electrodes of the p-channel MOS transistors Q21 and Q22 are the drain electrodes of the n-channel MOS transistors Q27 to Q29, the base electrode of the n-channel MOS transistor Q25, and the gate electrode of the p-channel MOS transistor Q23 via the node NA. Connected to. This connection location is referred to as a node NA. The source electrodes of p-channel MOS transistors Q23 and Q24 are coupled to the gate electrode of p-channel MOS transistor Q22 and the drain electrode of n-channel MOS transistor Q25 via node NB. The source electrodes of n channel type MOS transistors Q25, Q27, Q28, Q29 are coupled to low potential side power supply Vss through n channel type MOS transistor Q26. The gate electrodes of n-channel MOS transistors Q27, Q28, Q29 are coupled to the output terminals of bit comparison circuits 61-1, 61-2, 61-3 via terminals T1, T2, T3, respectively. The gate electrode of the n-channel MOS transistor Q26 is coupled to the output terminal of the bit comparison circuit 61-n through the terminal Tn.
[0047]
When the activation signal φ1 taken in through the terminal Tn is at a high level, the n-channel MOS transistor Q26 is turned on, and the source electrodes of the n-channel MOS transistors Q25 and Q27 to Q29 are conducted to the low potential side power supply Vss. As a result, the
[0048]
Here, consider a case where the output signal of the
[0049]
On the other hand, when only the bit comparison circuit 61-n is set to the high level among the bit comparison circuits 61-1 to 61-n, the activation signal φ1 is set to the low level, and the n-channel MOS transistor Q26. Is turned off, the
[0050]
In this way, a discrimination result (output signal OUT) between the case where the output signal of the
[0051]
According to the above example, the following effects can be obtained.
[0052]
(1) An adjacent bit simultaneous error can be detected by performing a logical operation for parity check for each data group of a plurality of bits that are not adjacent to each other. At this time, since bit allocation is performed for each column, it is possible to avoid the memory cell array from being laid out horizontally as in the case where 32 words are configured by 2K × 16, for example. Since an undesirably long length can be prevented, the access speed of the
[0053]
(2) The OR
[0054]
(3) n-channel MOS transistors Q27 to Q29 arranged corresponding to the plurality of bit comparison circuits and connected in parallel to each other, and a base electrode coupled to the drain electrode of the n-channel MOS transistor An n-channel MOS transistor Q25 and a current source MOS transistor Q26 commonly connected to the source electrodes thereof are provided, and an arbitrary one of the comparison results from the plurality of bit comparison circuits is provided at the gate electrode of the current source MOS transistor. Therefore, the above OR circuit can be easily formed.
[0055]
(4)
[0056]
(5) By configuring the data processing apparatus to include the
[0057]
Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof.
[0058]
For example, in the above example, every other bit of data in the bit allocation direction is taken into the first
[0059]
In the above description, the case where the invention made mainly by the present inventor is applied to the microcomputer built-in cache memory, which is the field of use behind it, has been described. However, the present invention is applied to various semiconductor memory devices arranged inside or outside the microcomputer. Can be widely applied.
[0060]
The present invention can be applied on condition that at least a parity check is performed.
[0061]
【The invention's effect】
The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
[0062]
That is, it is possible to detect an adjacent bit simultaneous error by performing a logical operation for parity check for each data group of a plurality of bits not adjacent to each other in a memory cell array in which bit allocation is performed for each column. . At this time, since bit allocation is performed for each column, the memory cell array can be prevented from being laid out horizontally, and the word line can be prevented from becoming undesirably long. The access speed of the storage device can be increased.
[0063]
Also, the access speed is sacrificed by configuring the semiconductor memory device including a parity operation circuit that takes in data from the memory cell array in every bit or every plurality of bits in the bit allocation direction and performs a logical operation for parity check. Thus, a semiconductor memory device capable of detecting a simultaneous error between adjacent bits can be configured.
[0064]
A plurality of bit comparison circuits for comparing the first data group and the second data group in bit units, respectively, and based on a logical state of any one bit among the comparison results from the plurality of bit comparison circuits And an OR circuit for obtaining a logical sum of all the bits of the plurality of bit comparison circuits except for the arbitrary one bit in the activated state. By being configured, the OR circuit can be switched between active and inactive using the logic state of any one of the comparison results from the plurality of bit comparison circuits, so that the precharge operation The clock signal for controlling the timing is unnecessary, and the timing margin of the clock signal is also unnecessary. In addition, the number of circuit stages can be reduced as compared with the case where the multi-bit comparison circuit is formed by a static circuit. Accordingly, it is possible to increase the operation speed of the multi-bit comparison circuit, and further to increase the operation speed of the cache memory when such a multi-bit comparison circuit is applied to the synonym check unit of the cache memory. Since a simultaneous error between adjacent bits can be detected without sacrificing the access speed as described above, it is possible to increase the operation speed of the cache memory and improve the reliability of the cache data. When the semiconductor memory device having the above configuration is formed on-chip in a microcomputer as a cache memory, the operation time of the microcomputer and the data processing apparatus including the microcomputer can be shortened by increasing the operation speed of the cache memory. By improving the reliability of the data, it is possible to improve the reliability of the operation processing result.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration example of a parity check unit included in a semiconductor memory device according to the present invention;
FIG. 2 is a block diagram illustrating a configuration example of a computer system to which a microcomputer including the semiconductor memory device is applied;
FIG. 3 is a block diagram illustrating a configuration example of the microcomputer.
FIG. 4 is a block diagram illustrating a configuration example of a cache memory included in the microcomputer.
FIG. 5 is a block diagram illustrating a configuration example of a synonym check circuit included in the cache memory.
FIG. 6 is a circuit diagram of a configuration example of a parity operation circuit included in a parity check unit.
FIG. 7 is a block diagram illustrating a configuration example of a main part in the synonym check circuit.
8 is a circuit diagram of a configuration example of a bit comparison circuit included in FIG. 7;
FIG. 9 is a circuit diagram illustrating a configuration example of an OR circuit included in FIG. 7;
[Explanation of symbols]
10 Cache memory
11 Address translation buffer
12 Control circuit
13 Peripheral modules
31 Microcomputer
32 SDRAM
33 SRAM
34 ROM
35 Peripheral device controller
36 Display controller
38 External storage
40 keyboard
41 Decoder
42 Memory cell array
43 sense amplifier
44 comparison part
45 OR circuit
46 Parity check section
61-1 to 61-n bit comparison circuit
63 Inverter
72 Tag part
73 Data section
74 Comparison part
75 Synonym check section
111-118 EOR
461 First parity operation circuit
462 Second parity operation circuit
Claims (3)
上記メモリセルアレイから読み出された複数ビット構成の第1データ群と、その第1データ群の比較対照とされる第2データ群とをビット単位で比較するための比較部と、を含む半導体記憶装置において、
上記パリティチェック部は、上記メモリセルアレイから、ビット割付け方向に1ビットおき又は複数ビットおきにデータを取り込んでパリティチェックのための論理演算を行うパリティ演算回路を含んで成り、
上記比較部は、上記第1データ群及び上記第2データ群のビット構成に対応して配置され、それぞれ上記第1データ群と、上記第2データ群とをビット単位で比較するための複数のビット比較回路と、
上記複数のビット比較回路からの比較結果のうちの任意の1ビットの論理状態に基づいて活性化され、且つ、活性化された状態で、上記複数のビット比較回路のうちの上記任意の1ビットを除く全てのビットの論理和を得るためのオア回路と、を含んで成ることを特徴とする半導体記憶装置。Parity check of read data from the memory cell array can be performed by logical operation of the memory cell array in which bit allocation is performed for each column, and the read data for a plurality of bits in the memory cell array and the corresponding parity bit data. A parity check unit and
A semiconductor memory including a first data group having a multi-bit configuration read from the memory cell array and a comparison unit for comparing, in bit units, a second data group to be compared with the first data group. In the device
The parity check unit includes a parity operation circuit that takes in data from the memory cell array in every bit or every plurality of bits in the bit allocation direction and performs a logical operation for parity check,
The comparison unit is arranged corresponding to a bit configuration of the first data group and the second data group, and each of the plurality of comparison units compares the first data group and the second data group in bit units. A bit comparison circuit;
The arbitrary one bit of the plurality of bit comparison circuits is activated based on the logic state of one arbitrary bit among the comparison results from the plurality of bit comparison circuits, and in the activated state. the semiconductor memory device characterized by comprising: a OR circuit for obtaining the logical sum of all the bits except for.
上記キャッシュメモリとして、請求項1記載の半導体記憶装置を適用して成ることを特徴とするマイクロコンピュータ。A cache memory that uses virtual address information as search information, an address translation buffer that stores a translation pair for translating a virtual address into a physical address, and a control unit that controls the cache memory and the address translation buffer. In a one-chip microcomputer,
As the cache memory, a microcomputer, characterized in that formed by applying the semiconductor memory device according to claim 1, wherein.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12683097A JP3672695B2 (en) | 1997-05-16 | 1997-05-16 | Semiconductor memory device, microcomputer, and data processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12683097A JP3672695B2 (en) | 1997-05-16 | 1997-05-16 | Semiconductor memory device, microcomputer, and data processing device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10320299A JPH10320299A (en) | 1998-12-04 |
| JP3672695B2 true JP3672695B2 (en) | 2005-07-20 |
Family
ID=14944975
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP12683097A Expired - Fee Related JP3672695B2 (en) | 1997-05-16 | 1997-05-16 | Semiconductor memory device, microcomputer, and data processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3672695B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5380392B2 (en) * | 2010-08-04 | 2014-01-08 | ルネサスエレクトロニクス株式会社 | Semiconductor device, bus interface device, and computer system |
| JP5324676B2 (en) * | 2012-02-17 | 2013-10-23 | ルネサスエレクトロニクス株式会社 | Processor, bus interface device, and computer system |
-
1997
- 1997-05-16 JP JP12683097A patent/JP3672695B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH10320299A (en) | 1998-12-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5752260A (en) | High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses | |
| KR940008140B1 (en) | Semiconductor memory device having cash memory | |
| US7035152B1 (en) | System and method for redundancy memory decoding | |
| US20060112321A1 (en) | Transparent error correcting memory that supports partial-word write | |
| US6374325B1 (en) | Content addressable memory (CAM) | |
| US7426683B2 (en) | Semiconductor memory device equipped with error correction circuit | |
| EP2799997A1 (en) | Data processing device | |
| US5657291A (en) | Multiport register file memory cell configuration for read operation | |
| JP4309086B2 (en) | Semiconductor integrated circuit device | |
| KR100540964B1 (en) | Semiconductor device | |
| US7606054B2 (en) | Cache hit logic of cache memory and processor chip having the same | |
| KR20090013797A (en) | Non-competitive layer bit line of internal memory and its method | |
| JP2669303B2 (en) | Semiconductor memory with bit error correction function | |
| US7350016B2 (en) | High speed DRAM cache architecture | |
| JP2002175692A (en) | Semiconductor storage device and data processing system | |
| JPH0845275A (en) | Memory read / write control method and memory device using the method | |
| JPH0863975A (en) | Static RAM and processing device having the static RAM | |
| JP3672695B2 (en) | Semiconductor memory device, microcomputer, and data processing device | |
| US5936909A (en) | Static random access memory | |
| JP2008262648A (en) | Semiconductor integrated circuit device | |
| US5926424A (en) | Semiconductor memory device capable of performing internal test at high speed | |
| US6967882B1 (en) | Semiconductor memory including static memory | |
| US7047363B2 (en) | Cache memory and control method thereof | |
| JP3833022B2 (en) | Semiconductor device | |
| JPH08115593A (en) | Semiconductor memory device and data processing device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040618 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040706 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040906 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050419 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050420 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080428 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 6 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 6 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120428 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120428 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130428 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |