Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3672695B2 - Semiconductor memory device, microcomputer, and data processing device - Google Patents
[go: Go Back, main page]

JP3672695B2 - Semiconductor memory device, microcomputer, and data processing device - Google Patents

Semiconductor memory device, microcomputer, and data processing device Download PDF

Info

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
Application number
JP12683097A
Other languages
Japanese (ja)
Other versions
JPH10320299A (en
Inventor
康弘 藤村
武史 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP12683097A priority Critical patent/JP3672695B2/en
Publication of JPH10320299A publication Critical patent/JPH10320299A/en
Application granted granted Critical
Publication of JP3672695B2 publication Critical patent/JP3672695B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 bit 1 adjacent to it in the memory cell array are the logical value “1” and the logical value “0”, respectively, and this causes an adjacent 2-bit simultaneous error due to the influence of α rays and noise. Even though two adjacent bits are logically inverted at the same time, such as logical value “0” and logical value “1”, respectively, it does not affect the existing parity check result. Such an error cannot be detected.
[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 microcomputer 31, SDRAM (Synchronous Dynamic Random Access Memory) 32, SRAM 33 (Static Random Access Memory), ROM (Read Only Memory) via a system bus BUS. 34, the peripheral device control unit 35, the display control unit 36, and the like are coupled so that signals can be exchanged with each other, and perform predetermined data processing according to a predetermined program. The microcomputer 31 is the logical core of the system, and mainly handles addressing, information reading and writing, data operations, instruction sequences, interrupt acceptance, and information exchange between the storage device and the input / output device. It has functions such as activation, and is composed of an arithmetic control unit, a bus control unit, a memory access control unit and the like. The SDRAM 32, SRAM 33, and ROM 34 are positioned as internal storage devices. The SDRAM 32 is used as a work area for calculation and control in the microcomputer 31. The SRAM 33 functions as a main memory into which a program executed by the microcomputer 31 is loaded. The ROM 34 stores a read-only program. The peripheral device control unit 35 performs operation control of the external storage device 38 such as a hard disk and information input control from the keyboard 39 or the like. The display control unit 36 controls information display on the CRT display 40. The display control unit 36 includes a semiconductor chip and an image memory for drawing processing.
[0022]
FIG. 3 shows a configuration example of the microcomputer 31. The microcomputer 31 includes a cache memory 10, an address translation buffer (hereinafter also simply referred to as “TLB”) 11, a control unit 12, and a peripheral module 13, which are not particularly limited, and are coupled to internal buses 14 and 15. And formed on a single semiconductor substrate.
[0023]
The control unit 12 is a circuit block that collectively refers to the functions of the central processing unit, bus controller, control circuit of the cache memory 10 and TLB 11, external interface circuit, and the like. In FIG. An internal controller 121 and an external bus controller 122 are shown as circuit blocks. The internal memory 14 is connected to the cache memory 10, the TLB 11, and the internal controller 121, and the internal bus 15 is connected to the TLB 11, the peripheral module 13, and the external bus controller 122. The peripheral module 13 includes appropriate peripheral circuits such as a timer, a serial communication interface, a RAM (random access memory), a ROM (read only memory), and a DMAC (direct memory access controller) not shown. In the figure, 16 is a control signal line group for the cache memory 10, 17 is a control signal line group for the TLB 11, 18 is a control signal line group between the TLB 11 and the peripheral circuit module 13, and 19 is a control signal line group for the peripheral module 13. , 20 is a control signal line group between the cache memory 10 and the TLB 11. The microcomputer 31 of this configuration example is not particularly limited, but is connected to the SRAM 33 via the system bus BUS. In this configuration example, the address translation mechanism for realizing the virtual memory is composed of the TLB 11 and a circuit in the control unit 12 for controlling the TLB 11.
[0024]
FIG. 4 shows a configuration example of the cache memory 10.
[0025]
As shown in FIG. 4, the cache memory 10 includes a tag unit 72, a data unit 73, a comparison unit 74, and a synonym check unit 75.
[0026]
A virtual address is input to the tag unit 72 and the data unit 73, and a physical address corresponding to the virtual address is input to the comparison unit 74 and the synonym check unit 75. Tag information is read from the tag unit 72 based on the virtual address and transmitted to the comparison unit 74. The comparison unit 74 compares the tag information output from the tag unit 72 with the physical address. In this comparison, if the tag information output from the tag unit 72 matches the physical address, a cache hit is detected, and if the tag information does not match, a cache miss is determined. In the case of a cache hit, data corresponding to the virtual address is read from the data unit 73, but in the case of a cache miss, data reading from the data unit 73 is not performed. In that case, new data is fetched from the SRAM 33, and the contents of the cache memory are updated with the data.
[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 synonym check unit 75 based on the physical address The comparison data generated from the physical address is compared in bit units. The comparison data is the upper bits of the physical address, and the lower reciprocal bits are used for memory access in the synonym chuck circuit 75. In a write operation at the time of a cache miss, if data with the same physical address already exists, in order to prevent a situation in which a plurality of data with the same physical address exists in the cache memory, Of these, the data for the physical address is invalidated and new data is taken in instead.
[0028]
FIG. 5 shows a configuration example of the synonym check unit 75.
[0029]
As shown in FIG. 5, the synonym check unit 75 amplifies a memory cell array 42 in which a plurality of static memory cells are arranged, a decoder 41 for decoding an address Adr, and a signal read from the memory cell array 42. Sense amplifier 43, a comparison unit 44 for comparing the output signal of the sense amplifier 43 and the comparison data CD0 to CDn in bit units, and an OR for obtaining a logical sum of the comparison results of a plurality of bits from the comparison unit 44. A circuit 45 and a parity check unit 46 for determining whether or not the data read from the memory cell array 42 is logically inverted by α-rays, noise, or the like by a parity check. When the parity check unit 46 determines that the read data from the memory cell array 42 is normal, the output OUT of the OR circuit 45 is validated as a synonym check result. However, when the parity check unit 46 detects a data error In this case, the output OUT of the OR circuit 45 is invalidated. The address input to the decoder 41 is the lower multiple bits of the physical address, and the comparison data CD0 to CDn input to the comparison unit 44 are the upper multiple bits of the physical address.
[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 memory cell array 42 and the parity check unit 46.
[0032]
The memory cell array 42 is not particularly limited, but the memory cell array includes a plurality of memory cells arranged in the row direction and the column direction. For example, the memory cell array 42 is composed of 32 words of 1 × 32, 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. Although not particularly limited, the parity check unit 46 includes a first parity calculation circuit 461 and a second parity calculation circuit 462. Of bits BIT0 to BIT17, bits 0 to BIT15 are assigned to data, and bits BIT16 and BIT17 are used as parity bits.
[0033]
The data of bits 0, 2, 4 to 16, which are even-numbered bits, is transmitted to the first parity operation circuit 461 via the sense amplifier 43, and the data of bits 1, 3, 5 to 17 which are odd-numbered bits. Is transmitted to the second parity check unit 462 via the sense amplifier 43. That is, the first parity operation circuit 461 and the second parity operation circuit 462 perform the logical operation for the parity check for each data group of a plurality of bits that are not adjacent to each other in the memory cell array. In other words, each of the first parity calculation circuit 461 and the second parity calculation circuit 462 performs a logical operation for every other data group. Accordingly, when an error occurs for the even-numbered bits, it is detected by the first parity operation circuit 461. When an error occurs for the odd-numbered bits, it is detected by the second parity operation circuit 462. Detected. As described above, in the first parity operation circuit 461 and the second parity operation circuit 462, since logical operations are performed on data groups every other bit, errors occur simultaneously between adjacent bits. But it can be detected accurately. For example, the data of bit 0 and bit 1 adjacent to it in the memory cell array are the logical value “1” and the logical value “0”, respectively, and this causes an adjacent 2-bit simultaneous error due to the influence of α rays and noise. When the adjacent two bits are logically inverted at the same time as in the logic value “0” and the logic value “1”, respectively, the data of bit 0 is transmitted to the first parity operation circuit 461 and the bit 1 Since the data is transmitted to the first parity calculation circuit 461, the error detection is performed in the first parity calculation circuit 461 and the second parity calculation circuit 462, respectively.
[0034]
Further, even when an adjacent 3-bit simultaneous error occurs, it can be detected. For example, when simultaneous errors occur in bits 0, 1, and 2, error detection cannot be performed by the first parity calculation circuit 461, but error detection is performed by the second parity calculation circuit 462. Therefore, by using the output signal P1 of the first parity operation circuit 461 and the output signal P2 of the second parity operation circuit 462 as the parity check result of the read data from the memory cell array 42, an adjacent 3-bit simultaneous error can be obtained. It can be detected and reflected in the processing of read data from the memory cell 42 as a parity calculation result.
[0035]
FIG. 6 representatively shows a configuration example of the first parity operation circuit 461.
[0036]
As shown in FIG. 6, the first parity operation circuit 461 is configured by exclusive OR circuits (abbreviated as “EOR”) 111 to 118 for obtaining exclusive OR. The exclusive OR of the bits BIT0 and BIT2 is obtained by the EOR111, the exclusive OR of the bits BIT4 and BIT6 is obtained by the EOR112, the exclusive OR of the bits BIT8 and BIT10 is obtained by the EOR113, and the bit BIT12 , Bit BIT14 is exclusive-ORed by EOR14. An exclusive OR of the output signal of EOR 111 and the output signal of EOR 112 is obtained by EOR 115, and an exclusive OR of the output signal of EOR 113 and the output signal of EOR 114 is obtained by EOR 116, and the output signal of EOR 115 and EOR 116 are obtained. Is obtained by the EOR 117, and the exclusive OR of the output signal of the EOR 117 and the bit BIT16 which is the parity bit is obtained by the EOR 118, so that the first parity operation circuit 461 An output signal P1 is obtained.
[0037]
FIG. 6 shows a configuration example of the first parity calculation circuit 461, but the second parity calculation circuit 462 has the same configuration.
[0038]
FIG. 7 shows a configuration example of the comparison unit 44 in FIG. 5 and a relationship between the comparison unit 44 and the OR circuit 45.
[0039]
As shown in FIG. 7, the comparison unit 44 includes a plurality of bit comparison circuits 61-1 to 61-n corresponding to the number of bits simultaneously read from the memory cell array 42. Corresponding comparison data CD0 to CDn are input to the plurality of bit comparison circuits 61-1 to 61-n, read simultaneously from the memory cell array 42, amplified by the sense amplifier 43, and comparison data. A logical comparison is performed in units of bits with CD0 to CDn. The number of bit comparison circuits 61-1 to 61-n corresponds to the multi-bit output from the memory cell array 42. Only the comparison result of an arbitrary bit comparison circuit, for example, the nth bit comparison circuit 61-n is inverted by the inverter 63 and then input to the OR circuit 45 as the activation signal φ1 of the OR circuit 45. It has become. Further, the comparison results of the bit comparison circuits excluding the nth bit comparison circuit 61-n, that is, the 1st to (n-1) th bit comparison circuits 61-1 to 61-n-1, obtain the logical sum of them. Therefore, it is input to the OR circuit 45.
[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 inverters 50 and 51 are connected in parallel and coupled to control the operation of the MOS transistors Q31 to Q34 by the nth comparison data CDn. The nth comparison data CDn is inverted by the inverter 50 and then transmitted to the gate electrode of the n-channel MOS transistor Q31 and the gate electrode of the p-channel MOS transistor Q34. The output signal of the inverter 50 is inverted by the inverter 51 in the subsequent stage and then transmitted to the gate electrode of the p-channel MOS transistor Q32 and the gate electrode of the n-channel MOS transistor Q33. When the output signal from the sense amplifier 43 is transmitted through complementary level data lines D and D * (* means signal inversion or low active), the data line D is coupled to the MOS transistors Q31 and Q32. Data line D * is coupled to MOS transistors Q33 and Q34. When the output signal from the sense amplifier 43 matches the nth comparison data, the output signal of the bit comparison circuit 61-1 is set to the low level, and conversely, the output signal from the sense amplifier 43 is When the nth comparison data does not match, the output signal of the bit comparison circuit 61-1 is set to the high level.
[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 OR circuit 45 via the MOS transistors Q31 and Q32. When the data line D is at high level, it does not match the low level of the nth comparison data CDn, and a high level output is made to the OR circuit 45. On the other hand, when the data line D is at the low level, it coincides with the low level of the nth comparison data CDn, and a low level output is made to the OR circuit 45.
[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 OR circuit 45 via the MOS transistors Q33 and Q34. When the data line D * is at the high level, it means that the data line D is at the low level, which means data mismatch. When the data line D * is at a high level, this means that the data line D is at a low level. Therefore, a high level output is made to the OR circuit 45 due to a data mismatch.
[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 OR circuit 45 shown in FIG.
[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 OR circuit 45 is activated. When the activation signal φ1 is at a low level, the n-channel MOS transistor Q26 is turned off, and the source electrodes of the n-channel MOS transistors Q25 and Q27 to Q29 are not conducted to the low potential side power supply Vss. The OR circuit 45 is deactivated.
[0048]
Here, consider a case where the output signal of the sense amplifier 43 and the corresponding comparison data CD0 to CDn completely match. In this case, all the output signals of the bit comparison circuits 61-1 to 61-n are set to the low level. When the output signal of the bit comparison circuit 61-n is set to the low level, the activation signal φ1 obtained by logically inverting it by the inverter 63 is set to the high level, so that the n-channel MOS transistor Q26 When 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 source Vss via the n-channel MOS transistor Q26, the OR circuit 45 is activated. At this time, since the output signals of the bit comparison circuits 61-1 to 61-3 are all at the low level, the n-channel MOS transistors Q27, Q28, and Q29 are turned off, and the node NA is set to the high level. Thus, the n-channel MOS transistor Q25 is turned on, whereby the node NB is set to the low level. When the node NB is at a low level, the output signal OUT of the OR circuit 45 is also at a low level. The low level output of the output signal OUT of the OR circuit 45 indicates that the output signal of the sense amplifier 43 and the corresponding comparison data CD0 to CDn completely match.
[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 OR circuit 45 is deactivated. When the activation signal φ1 is set to the low level, the p-channel MOS transistor Q24 is turned on, so that the node NB is set to the high level, so that the output signal OUT is also set to the high level. Further, when at least one of the bit comparison circuits 61-1 to 61-n-1 other than the bit comparison circuit 61-n is set to the high level output, the node NA is set to the low level. Since the type MOS transistor Q25 is turned off and the node NA is set to the high level, the output signal OUT of the OR circuit 45 is also set to the high level. The high level of the output signal OUT of the OR circuit 45 indicates that the output signal of the sense amplifier 43 and the corresponding comparison data CD0 to CDn do not completely match.
[0050]
In this way, a discrimination result (output signal OUT) between the case where the output signal of the sense amplifier 43 and the corresponding comparison data CD0 to CDn completely coincide with each other is not obtained.
[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 memory cell array 42 can be increased.
[0053]
(2) The OR circuit 45 for obtaining the logical sum of all bits except for one arbitrary bit among the plurality of bit comparison circuits 61-1 to 61-n is switched between active and inactive by the arbitrary one bit. Therefore, it is not necessary to specially form a clock signal for timing control, and the timing margin of the clock signal is not necessary. 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. As a result, the comparison operation can be speeded up. Further, when the OR circuit 45 is inactivated by the one arbitrary bit, the current consumption in the OR circuit 45 is almost zero, so that the current consumption of the circuit can be reduced.
[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) A cache memory 10 capable of operating at high speed by speeding up other bit simultaneous comparison, an address translation buffer 11 for storing a translation pair for converting a virtual address into a physical address, and the cache memory and the address translation buffer. By configuring the microcomputer 31 including the control unit 12 to be controlled, it is possible to shorten the time for instruction fetching and the like, and to speed up the arithmetic processing of the microcomputer.
[0056]
(5) By configuring the data processing apparatus to include the microcomputer 31 in which the calculation processing is speeded up and the SRAM 33 accessed by the microcomputer 31 via the bus BUS9, the data processing is performed. Can be speeded up.
[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 parity calculation circuit 461 and the second parity calculation circuit 462 to perform a logical operation for parity check. Alternatively, every two bits or more of data may be taken in and a logical operation for parity check may be performed.
[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データ群と、その第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.
請求項記載のマイクロコンピュータと、バスを介して上記マイクロコンピュータによってアクセスされるメインメモリとを含んで成ることを特徴とするデータ処理装置。A microcomputer according to claim 2, the data processing apparatus characterized by comprising: a main memory accessed by the microcomputer via the bus.
JP12683097A 1997-05-16 1997-05-16 Semiconductor memory device, microcomputer, and data processing device Expired - Fee Related JP3672695B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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