JP4791525B2 - 読み出し処理装置および読み出し方法 - Google Patents

読み出し処理装置および読み出し方法 Download PDF

Info

Publication number
JP4791525B2
JP4791525B2 JP2008500362A JP2008500362A JP4791525B2 JP 4791525 B2 JP4791525 B2 JP 4791525B2 JP 2008500362 A JP2008500362 A JP 2008500362A JP 2008500362 A JP2008500362 A JP 2008500362A JP 4791525 B2 JP4791525 B2 JP 4791525B2
Authority
JP
Japan
Prior art keywords
data
error
read
correction code
processing unit
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
JP2008500362A
Other languages
English (en)
Other versions
JPWO2007094045A1 (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2007094045A1 publication Critical patent/JPWO2007094045A1/ja
Application granted granted Critical
Publication of JP4791525B2 publication Critical patent/JP4791525B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、データを記録した記録装置からエラー訂正コードの作成対象となるデータを読み出す読み出し処理装置および読み出し方法に関するものである。
近年、半導体技術の微細化に伴いCPU(Central Processing Unit)に搭載されるRAM(Random Access Memory)を構成する記憶素子も微細化し、RAMの記憶情報の反転が発生しやすくなってきた。また、RAM内部の回路については、動作周波数の向上を目指して内部動作タイミングの調整値のマージンを削るようになってきており、動作可能な電圧・温度が制限されるため、電圧変動・温度変動に対する耐性が低くなってきている。
上記した事情により、従来では考えられなかった故障モードが発生するようになってきている。この故障モードの例としては、α線などの影響によってRAMセルに間欠故障が発生し、RAM内部の情報が壊れてしまう間欠不良、書き込み時にRAMセルの値を正しく更新できないことで発生する間欠書き込み不良、RAM回路におけるライトリカバリー不良などにより、RAMには正しい値が格納されているにもかかわらず、正しい値を読み出せない間欠読み出し不良などがある。
図7および図8は、RAM回路におけるライトリカバリー不良を説明するための説明図である。ライトリカバリー不良とは、RAM(例えばSRAM<Static RAM>)に対してデータの書き込みをおこなった直後に、データの読み出しをおこなった場合、読み出し直前の書き込みデータがビット線に残留して次サイクルの読み出しのマージンを低下させる現象である。例えば、SRAMを設定値以上の動作サイクルで動作させる場合や、トランジスタの構造ばらつきが設計者の想像以上に大きい場合には、ライトリカバリー不良が発生してしまう。
SRAM回路の設計上は、書き込み後にデータが残留しないようビット線をプリチャージトランジスタ(図7に示すTrA、TrB、TrC)を用いて規定時間内でVdd(電源電圧)まで充電(ショート)させる構造となっている。すなわち、データの書き込み時には、ビット線対(図7のBitおよび/Bit)を書き込みデータに応じて片側(図8の波形図においてはBit側)をLowレベルに落としセルに書き込みを行い、書き込みが終了したら次サイクルの読み出し開始までにビット線対(Bit、/Bit)をVddにショートすることで書き込みデータを一掃する。
しかし、プリチャージトランジスタが弱い場合には、ビット線上の電圧は、図8の上から3段目の破線で示されるような波形となり、次の読み出しが開始されても電圧がVddまで上がりきらずビット線に電位差が残ったままになってしまう。この状態で次の読み出しが開始されると本来センスアンプが取り込む振幅が減少してしまい、読み出しエラー、すなわち間欠読み出し不良が発生していた。
そこで、特許文献1では、各故障モードに対応すべく、データを直接演算装置に転送するモード(直接転送モード)と、RAMに記憶されたデータのエラーの検出・訂正を行い演算装置に転送するモード(訂正転送モード)とを利用して、RAMに記憶されたデータを演算装置に転送している。すなわち、迅速に演算装置に転送する必要のあるデータを直接転送モードによって演算装置に転送し、迅速に転送する必要のないデータを訂正転送モードによって演算装置に転送することで、効率よくRAMに発生する故障モードの問題を解決していた。
特開平9−134314号公報
しかしながら、上述した従来技術では、ライトリカバリー不良に起因する間欠読み出し不良に適切に対応することができないという問題があった。
なぜなら、間欠読み出し不良は、RAMに正確な情報が記録されている場合でも、不規則に読み出しエラーが発生する現象であるため、一度データを読み取ってエラーチェックを行いエラーが検出されなかった場合にでも、再度同じデータを読み出した際に擬似的な読み出しエラー、すなわち間欠読み出し不良が発生してしまう可能性が高いからである。
このような間欠読み出し不良がCPUのオペランドキャッシュに対するストア(Store)時に発生した場合には、たとえ1ビットのエラーであっても訂正不能のエラー(Uncorrectable Error)として処理され深刻なものとなっている。
また、ライトリカバリー不良に起因する間欠読み出し不良は、そもそもデータの読み出し元となったRAMには正常なデータが記録されているため、間欠読み出し不良にかかるエラーを検出し、検出したエラーをわざわざ訂正する処理には無駄がある。
本発明は、上記に鑑みてなされたものであって、ライトリカバリー不良に起因する間欠読み出し不良に適切に対応することができるエラー救済処理装置を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、データを記録した記録装置からエラー訂正コードの作成対象となるデータを読み出す読み出し処理装置であって、前記記録装置からエラー訂正コードの作成対象となるデータを読み出し、当該データに読み出しエラーが発生したか否かを判定するエラー判定手段と、前記エラー判定手段によってエラーが発生したと判定された場合に、前記記録装置から前記データと同一のデータを再度読み出す再読み出し手段と、を備えたことを特徴とする。
また、本発明は、データを記録した記録装置からエラー訂正コードの作成対象となるデータを読み出す読み出し方法であって、前記記録装置からエラー訂正コードの作成対象となるデータを読み出し、当該データに読み出しエラーが発生したか否かを判定するエラー判定工程と、前記エラー判定工程によってエラーが発生したと判定された場合に、前記記録装置から前記データと同一のデータを再度読み出す再読み出し工程と、を含んだことを特徴とする。
本発明によれば、ストア時において、データを記録する記録装置からエラー訂正コードの作成対象となるデータを読み出し、当該データに読み出しエラーが発生したか否かを判定し、読み出しエラーが発生している場合に、記録装置から再度同一のデータを読み出すことにより、RAMの間欠読み出し不良による1ビットエラーがUE(Uncorrectable Error)に進展してしまうといった問題を解消することができるという効果を奏する。
また、ライトリカバリー不足に起因する読み取りエラーは、オペランドキャッシュに記録されているデータに障害が発生しているわけではないので、本発明のように、データの読み出しを再度実行するだけで正常なデータを得ることができ、エラー訂正にかかる処理を簡略化することができるという効果を奏する。
以下に、本発明にかかる読み出し処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
まず、本発明の特徴について説明する。本発明では、CPU(Central Processing Unit)のオペランドキャッシュ(1次キャッシュ)からデータを読み出し、読み出したデータを基にしてエラー訂正コード(ECC<Error Correcting Code>)を作成する処理の過程で、ライトリカバリー不良に起因する読み取りエラーが発生した場合に、読み取りエラーの発生したデータに対応するデータを再度オペランドキャッシュから読み出す。
このように、本発明では、読み取りエラーの発生したデータに対応するデータを再度オペランドキャッシュから読み出すことによって、間欠読み出し不良によるRAMの1ビットエラーがUE(Uncorrectable Error)になってしまうといった問題を解消することができる。
また、ライトリカバリー不足に起因する読み取りエラーは、オペランドキャッシュに記録されているデータに障害が発生しているわけではないので、本発明のように、データの読み出しを再度実行するだけで正常なデータを取得することができ、エラー訂正にかかる処理を簡略化することができる。
ここで、CPUの概要構成について説明しておく。図1は、CPUの概要構成を示す機能ブロック図である。同図に示すようにこのCPU10は、セカンドキャッシュ10、オペランドキャッシュ30、命令キャッシュ40、命令処理部50、演算処理部60を有する。また、CPU10はシステム全体を制御するシステムコントローラ(System Controller)に接続されている。
ここで、セカンドキャッシュ20は、システムコントローラから転送されるデータ、オペランドキャッシュ30から転送されるデータを一時的に記録する記録装置である。オペランドキャッシュ30は、セカンドキャッシュ20から転送されるデータ、命令処理部50から転送されるデータおよび演算処理部60から転送されるデータを一時的に記録する記録装置である。
命令キャッシュ40は、セカンドキャッシュ20から転送されるデータを一時的に記録する記録装置である。なお、命令キャッシュ40は、命令処理部50が用いる命令のデータを記録する。命令処理部50は、命令キャッシュ40から命令のデータを取得して命令を解釈し、種種の演算命令を演算処理部60におこなう装置である。演算処理部60は、命令処理部60から演算命令を取得し、この演算命令に基づいてオペランドキャッシュ30からデータを読み込んで演算を実行し、演算結果をオペランドキャッシュ30に書き込む装置である。
続いて、本実施例にかかるCPUの構成について説明する。図2は、本実施例にかかるCPUの構成を示す機能ブロック図である。同図に示すように、このCPU15は、セカンドキャッシュ20、ECCパリティ処理部21、ECC処理部22、オペランドキャッシュ30、ストアマージ処理部31、L1ECC記憶部32、命令処理部50、アドレス選択部51、演算処理部60、ストアデータ処理部61、キャッシュ制御部70、エラー検出部71、エラー制御部72を有する。
セカンドキャッシュ20は、図1に示したセカンドキャッシュ20と同様に、コントローラから転送されたデータを記録する記録装置である。また、セカンドキャッシュ20は、データとこのデータに対応するECCとを関連付けて記憶する。セカンドキャッシュ20は、制御部(図示しない)からのデータの転送命令を取得した場合に、転送対象のデータとECCとをECCパリティ処理部21に転送する。
ECCパリティ処理部21は、セカンドキャッシュ20からデータおよびECCを取得し、ECCによるデータのエラーチェックおよびエラー訂正を実行すると共に、データのパリティを生成し、生成したパリティをデータに付加してオペランドキャッシュ30に転送する装置である。
ECC処理部22は、オペランドキャッシュ30に記録されたデータおよびL1ECC記憶部32に記録されたECCを取得し、ECCによるデータのエラーチェックおよびエラー訂正を実行すると共に、ECCによるデータのチェックおよび訂正を実行したデータをセカンドキャッシュ20に転送する装置である。ここで、L1ECC記憶部32は、オペランドキャッシュ30に記録されたデータに対応するECCを記録する装置である。
オペランドキャッシュ30は、セカンドキャッシュ20から転送されるデータなどを記録する記録装置である。オペランドキャッシュ30は、ラインとよばれる所定の領域ごとにデータを記録している。このラインに記録されたデータラインの全てもしくは一部分が、ストアデータ処理部61によって更新される。以下、ストアデータ処理部61によって更新されるオペランドキャッシュ30のデータをストア対象データと表記する。
ストアデータ処理部61は、演算処理部60から演算結果となるデータ(以下、ストアデータと表記する)を取得し、取得したストアデータによってオペランドキャッシュ30のストア対象データを更新する装置である。演算処理部60は、図1に示した演算処理部60と同様に、命令処理部50から演算命令を取得し、取得した演算命令に従って、演算処理を実行する装置である。そして、演算処理部60は、演算結果であるストアデータをストアデータ処理部61に渡す。
命令処理部50は、図1に示した命令処理部50と同様に、命令キャッシュ(図2では省略)からデータを取得して命令を解釈し、種種の命令をアドレス選択部51、キャッシュ制御部70および演算処理部60に対して行う装置である。
ストアマージ処理部31は、オペランドキャッシュ30に記録されたデータに対応するECCを生成し、生成したECCをL1ECC記憶部32に記録する装置である。また、ストアマージ処理部31は、ストアデータ処理部61がオペランドキャッシュ30のストア対象データを更新する場合に、ストアデータおよびストア対象データを含んだラインの残りデータ(ストア対象外データ)をストアデータ処理部61およびオペランドキャッシュ30からそれぞれ取得して結合し、結合したデータを基にECCを生成し、生成したECCをL1ECC記憶部32に記録する。
さらに、ストアマージ処理部31は、ストアデータおよびストア対象外データを結合し、ECCを生成する場合に、キャッシュ制御部70から再読み出し要求を取得した場合には、作成したECCを破棄し、再度該当ラインのデータをオペランドキャッシュ30から読み出してECCを生成し、作成したECCをL1ECC記憶部32に記録する。なお、再読み出しを実行する場合には、ストア対象データは、ストアデータ処理部61によって更新済みであるため、ストアマージ処理部31は、データ結合は実行せず、ラインに記録されたデータ(更新済みのストアデータ+ストア対象外データ)を読み出してECCを生成することになる。
キャッシュ制御部70は、エラー検出部71から読み出しエラーが発生した旨の通知を取得した場合に、ストアマージ処理部31に対して再読み出し要求を行う装置である。ここで、エラー検出部71は、ストアマージ処理部31がECCを生成する場合に、ストアマージ処理部31がオペランドキャッシュ30から読み出したデータに読み出しエラーが発生したか否かを判定する装置である。エラー検出部71は、読み出しエラーが発生したと判定した場合に、読み出しエラーが発生した旨をキャッシュ制御部70に通知する。なお、エラー制御部72は、キャッシュ制御中のエラーを処理する処理部である。
アドレス選択部51は、命令処理部50またはキャッシュ制御部70の命令に従い、オペランドキャッシュ30に記録されたデータのアドレスを選択する装置である。例えば、命令実行部50が、命令キャッシュからのデータによって命令を解釈し、演算処理部60に演算を実行させる場合には、アドレス選択部51に命令して演算対象となるデータのアドレスを選択させる。そして、演算処理部60は、アドレス選択部51に選択されたアドレスのデータを読み取って演算を実行する。
また、キャッシュ制御部70が、エラー検出部71から読み出しエラーが発生した旨の通知を取得した場合に、再度オペランドキャッシュ30に記憶されたデータをストアマージ処理部31に読み出させるべく、読み出しエラーの発生したデータを含むラインのアドレスをアドレス選択部51に選択させる。ストアマージ処理部31は、アドレス選択部51に選択されたデータを再度読み出すことで、ライトリカバリー不良に起因するエラーが救済されたデータを読み出すことができ、適切なECCを生成することができる。
つぎに、ストアマージ処理部31がECCを生成する処理について説明する。図3は、ストアマージ処理部31がECCを生成する処理を説明する説明図である。なお、図3においては、オペランドキャッシュ30からの読み出しエラーは発生しないものとして説明をおこなう。
まず、図3のサイクル(cycle)「0」において、セカンドキャッシュ20から転送されるデータとストアデータとの優先順位が決定される。ここで、セカンドキャッシュ20から転送されるデータの優先順位がストアデータの優先順位よりも高い場合には、サイクル「1」において、オペランドキャッシュ30にセカンドキャッシュ20から転送されたデータが書き込まれ、ストアマージ処理部31が、サイクル「3」において、転送されたデータのECCを生成し、生成したECCをサイクル「4」においてL1ECC記憶部32に記録する。
一方、サイクル「0」において、ストアデータの優先順位がセカンドキャッシュ20から転送されるデータの優先順位よりも高い場合には、サイクル「1」においてストアデータ処理部61がストアデータをオペランドキャッシュ30に記録し、サイクル「2」においてストアマージ処理部31がストアデータとストア対象外データとを結合し、サイクル「3」において結合したデータに対するECCを生成し、生成したECCをサイクル「4」においてL1ECC記憶部32に記録する。
続いて、ストアマージ処理部31がおこなう処理を、読み出しエラーが発生した場合と発生しない場合とを比較して説明する。図4は、読み出しエラーが発生した場合とそうでない場合におけるストアマージ処理部31の処理を説明するための説明図である。
まず、読み出しエラーが発生しない場合のストアマージ処理31の処理について説明する。図4の上段に示すように、オペランドキャッシュ30のラインにはエラーチェック済みのデータ(エラーのないデータ)が格納されており、このデータに対応するECCは、L1ECC記憶部32に格納されている。
そして、オペランドキャッシュ30に対するストアが実行される場合に、ストアマージ処理部31は、ストアデータをストアデータ処理部61から取得し、オペランドキャッシュ30からストア対象外データを読み出し、取得したストアデータおよびストア対象外のデータと結合して新しいECCを生成し、生成したECCをL1ECC記憶部32に記録する。
つぎに、ライトリカバリー不良に起因する読み出しエラーが発生した場合の処理について説明する。図4の下段に示すように、オペランドキャッシュ30のラインにはエラーチェック済みのデータが格納されており、このデータに対応するECCは、L1ECC記憶部32に記録されている。
そして、オペランドキャッシュ30に対するストアが実行される場合に、ストアマージ処理部31は、ストアデータをストアデータ処理部61から取得し、オペランドキャッシュ30からストア対象外データを読み出す。このストア対象外データをオペランドキャッシュ30から読み出す際に、読み出しエラーが発生した(読み出しエラーはエラー検出部71によって検出される)場合には、キャッシュ制御部より、再度同一ラインを読み出す要求が行われ、ストアマージ処理部31は、再度オペランドキャッシュ30のラインに記録されたデータを読み出してECCを生成し、生成したECCをL1ECC記憶部32に記録する。
なお、ストアマージ処理部31は、オペランドキャッシュ30からデータを再度読み出してECCを生成する場合には、ストアデータとストア対象外データとの結合は実行しない。これは、オペランドキャッシュ30のラインに対するストアデータの書込みが完了しているためである。
続いて、オペランドキャッシュ30のストア対象データを更新する場合の処理をフローチャートにて説明する。図5は、オペランドキャッシュ30のストア対象データを更新する場合の処理を示すフローチャートである。同図に示すように、キャッシュ制御部70が、命令処理部50からストア要求(st1)を取得し(ステップS101)、エラー制御部72がストア対象となるデータがオペランドキャッシュ30に存在するか否かを判定する(ステップS102)。
そして、ストア対象となるデータがオペランドキャッシュ30に存在する場合に、キャッシュ制御部70がストア対象ラインにエラーが存在するか否かを判定する(ステップS103)。
そして、ストア対象ラインにエラーが存在する場合には(ステップS104,Yes)、エラー制御部72はエラー処理を実行し(ステップS105)、エラーリカバリー処理を行い、再度リクエストを発行し、ステップS101に移行する。一方、ストア対象ラインにエラーが存在しない場合には(ステップS104,No)、キャッシュ制御部70は、命令処理部50からストア要求(st2)を取得し(ステップS106)、ストアデータ処理部61がストアデータをストア対象ラインに登録する(ステップS107)。
続いて、エラー検出部71が、オペランドキャッシュ30から読み出されたデータに読み出しエラーが発生したか否かを判定し(ステップS108)、読み出しエラーが発生していない場合には(ステップS109,No)、ストアマージ処理部31がストアデータとストア対象外のデータとをマージし(ステップS110)、ECCを作成し(ステップS111)、作成したECCをL1ECC記憶部32に登録する(ステップS112)。
一方、エラー検出部71が、読み出しエラーが発生したと判定した場合には(ステップS109,Yes)、キャッシュ制御部70が、ストアマージ処理部31に対してリカバリー処理(再読み出し)を要求する(ステップS113)。
そして、ストアマージ処理部31は、再度、同一ラインからラインデータを読み出すと共に、当該読み出されたデータに読み出しエラーが発生したか否かをエラー検出部71が判定する(ステップS115)。
そして、読み出しエラーが存在しない場合には(ステップS115,No)、ステップS111に移行し、読み出しエラーが発生した場合には、キャッシュ制御部70がエラー処理を実行する(ステップS116)。このステップS116において、訂正不能なエラーであることを示すフラグを付けてエラー処理を行い、ステップS101に移行する。
このように、ストアマージ処理部31は、キャッシュ制御部70の指示に従って、オペランドキャッシュ30に記憶されたデータの再読み出しを行うので、ライトリカバリー不良にかかる読み出しエラーを効率よく回避することができる。
つぎに、読み出しエラーにかかる救済フローのタイムチャートを示す。図6は、読み出しエラーにかかる救済フローのタイムチャートを示す図である。同図に示すように、サイクル「0」〜サイクル「4」において、エラー修正部71がストア対象ラインのエラーチェックを実行する(ストア実行処理st1)。
そして、ストア実行処理st1においてエラーが検出されなければ、ストア実行処理st2を、サイクル「5」〜サイクル「10」において実行する。このストア実行処理st2のサイクル「10」において、エラー検出部71は、読み出しエラーが発生したか否かを判定する。
エラー検出部71がサイクル「10」において読み出しエラーが発生したと判定した場合には、キャッシュ制御部70に対して「st2_read_pe」を出力する。キャッシュ制御部70は、「st2_read_pe」を1τ受けて、「inh_set_xxx_req」を上げて、サイクル「12」において他のリクエストが処理されないように抑止する。また、サイクル「12」において、キャッシュ制御部70は、「st2_read_pe」を2τ受けて、「inh_set_xxx_req」を上げて、サイクル「13」においてパージ以外のリクエストを流さないように抑止する。上述の「inh_set_xxx_req」によって、サイクル「12」ではRAMへの書き込みがおこらないように制御を行っており、休止サイクルを設けることにより、ライトリカバリー不足による読み出し不良回避を図っている。
そして、キャッシュ制御部70は、読み出しエラー発生から2サイクルあけて、リカバリーフローのプライオリティーを取得し、サイクル「15」において、オペランドキャッシュ30のライン(読み出しエラーの発生したデータを格納しているライン)をアドレス選択部51に選択させ、サイクル「16」においてストアマージ処理部31がECCを生成し、サイクルL1ECC記憶部32にECCを記録する。
上述してきたように、本実施例では、ECCの生成処理の過程において、ストアマージ処理部31が、オペランドキャッシュ30からストア対象外データを読み出す場合に、エラー検出部71が、ストア対象外データに読み出しエラーが発生したか否かを判定し、読み出しエラーが発生した場合には、ストアマージ処理部31は、再度、オペランドキャッシュ30から該当ラインのデータを読み出して、ECCの生成を行うことにより、RAMの間欠読み出し不良による1ビットエラーによるUEを回避することができる。
また、ライトリカバリー不足に起因する読み取りエラーは、オペランドキャッシュに記録されているデータに障害が発生しているわけではないので、本実施例のように、ストアマージ処理部31がデータの読み出しを再度実行するだけで正常なデータを得ることができ、エラー訂正にかかる処理を簡略化することができる。
以上のように、本発明にかかるデータ読み出し装置は、ライトリカバリー不良に起因する読み出しエラーの発生に対処する必要のある制御装置などに対して有用である。
図1は、CPUの概要構成を示す機能ブロック図である。 図2は、本実施例にかかるCPUの構成を示す機能ブロック図である。 図3は、ストアマージ処理部がECCを生成する処理を説明する説明図である。 図4は、読み出しエラーが発生した場合とそうでない場合におけるストアマージ処理部の処理を説明するための説明図である。 図5は、オペランドキャッシュのストア対象データを更新する場合の処理を示すフローチャートである。 図6は、読み出しエラーにかかる救済フローのタイムチャートを示す図である。 図7は、RAM回路におけるライトリカバリー不良を説明するための説明図(1)である。 図8は、RAM回路におけるライトリカバリー不良を説明するための説明図(2)である。
符号の説明
10 CPU
20 セカンドキャッシュ
21 ECCパリティ処理部
22 ECC処理部
30 データキャッシュ(オペランドキャッシュ)
31 ストアマージ処理部
32 L1ECC記憶部
40 命令キャッシュ
50 命令処理部
51 アドレス選択部
60 演算処理部
61 ストアデータ処理部
70 キャッシュ制御部
71 エラー検出部
72 エラー制御部

Claims (8)

  1. データを記録した記録装置からエラー訂正コードの作成対象となるデータを読み出す読み出し処理装置であって、
    前記記録装置の所定の領域に記憶されたデータの一部のデータが更新された場合に、更新されたデータと同一の領域に含まれ、エラー訂正コードの作成対象となる未更新のデータを読み出して読み出しエラーが発生したか否かを判定するエラー判定手段と、
    前記エラー判定手段によって前記未更新のデータに読み出しエラーが発生したと判定された場合に、前記記録装置から前記未更新のデータを再度読み出す再読み出し手段と、
    読み出しエラーの発生していない前記未更新のデータと更新されたデータとを基にしてエラー訂正コードを生成する訂正コード生成手段と
    を備えたことを特徴とする読み出し処理装置。
  2. 前記エラー訂正コードは、CPU(Central Processing Unit)の1次キャッシュから2次キャッシュに転送されるデータのエラー訂正に使用されるエラー訂正コードであることを特徴とする請求項1に記載の読み出し処理装置。
  3. 前記記録装置に記録されたデータに発生したエラーを前記エラー訂正コードに基づいて訂正する訂正手段を更に備え、前記エラー判定手段は、前記訂正手段によってエラーを訂正されたデータに対する読み出し要求を取得した場合に、読み出し対象となるデータを読み出し、当該データに読み出しエラーが発生したか否かを判定することを特徴とする請求項1または2に記載の読み出し処理装置。
  4. 前記記録装置の所定の領域に含まれる更新対象となるデータは、データの演算を実行する演算装置の演算結果にかかるデータであることを特徴とする請求項に記載の読み出し処理装置。
  5. データを記録した記録装置からエラー訂正コードの作成対象となるデータを読み出す読み出し方法であって、
    前記記録装置の所定の領域に記憶されたデータの一部のデータが更新された場合に、更新されたデータと同一の領域に含まれ、エラー訂正コードの作成対象となる未更新のデータを読み出して読み出しエラーが発生したか否かを判定するエラー判定工程と、
    前記エラー判定工程によって前記未更新のデータに読み出しエラーが発生したと判定された場合に、前記記録装置から前記未更新のデータを再度読み出す再読み出し工程と、
    読み出しエラーの発生していない前記未更新のデータと更新されたデータとを基にしてエラー訂正コードを生成する訂正コード生成工程と
    を含んだことを特徴とする読み出し方法。
  6. 前記エラー訂正コードは、CPU(Central Processing Unit)の1次キャッシュから2次キャッシュに転送されるデータのエラー訂正に使用されるエラー訂正コードであることを特徴とする請求項に記載の読み出し方法。
  7. 前記記録装置に記録されたデータに発生したエラーを前記エラー訂正コードに基づいて訂正する訂正工程を更に含み、前記エラー判定工程は、前記訂正工程によってエラーを訂正されたデータに対する読み出し要求を取得した場合に、読み出し対象となるデータを読み出し、当該データに読み出しエラーが発生したか否かを判定することを特徴とする請求項5または6に記載の読み出し方法。
  8. 前記記録装置の所定の領域に含まれる更新対象となるデータは、データの演算を実行する演算装置の演算結果にかかるデータであることを特徴とする請求項に記載の読み出し方法。
JP2008500362A 2006-02-14 2006-02-14 読み出し処理装置および読み出し方法 Expired - Fee Related JP4791525B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/302532 WO2007094045A1 (ja) 2006-02-14 2006-02-14 読み出し処理装置および読み出し方法

Publications (2)

Publication Number Publication Date
JPWO2007094045A1 JPWO2007094045A1 (ja) 2009-07-02
JP4791525B2 true JP4791525B2 (ja) 2011-10-12

Family

ID=38371241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008500362A Expired - Fee Related JP4791525B2 (ja) 2006-02-14 2006-02-14 読み出し処理装置および読み出し方法

Country Status (3)

Country Link
US (1) US8286053B2 (ja)
JP (1) JP4791525B2 (ja)
WO (1) WO2007094045A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10042725B2 (en) 2013-09-06 2018-08-07 Kabushiki Kaisha Toshiba Memory control circuit, cache memory and memory control method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008155850A1 (ja) 2007-06-20 2008-12-24 Fujitsu Limited キャッシュ制御装置、キャッシュ制御方法およびキャッシュ制御プログラム
CN101689141B (zh) 2007-06-20 2012-10-17 富士通株式会社 高速缓存装置、运算处理装置及其控制方法
JP5822123B2 (ja) * 2011-10-04 2015-11-24 大日本印刷株式会社 セキュリティトークン、データの更新方法及びコンピュータプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324943A (ja) * 1993-05-17 1994-11-25 Hitachi Ltd 主記憶制御方法
JPH09134314A (ja) * 1995-11-08 1997-05-20 Hitachi Ltd メモリアクセス制御装置
JPH1196079A (ja) * 1997-09-19 1999-04-09 Hitachi Ltd キャッシュ制御方式
JPH11328015A (ja) * 1998-02-17 1999-11-30 Internatl Business Mach Corp <Ibm> 割振り解除方法およびデ―タ処理システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4654847A (en) * 1984-12-28 1987-03-31 International Business Machines Apparatus for automatically correcting erroneous data and for storing the corrected data in a common pool alternate memory array
US6178503B1 (en) * 1998-09-11 2001-01-23 Powerquest Corporation Managing multiple operating systems on a single computer
US6868517B1 (en) * 2001-05-15 2005-03-15 Marvell International Ltd. Method and apparatus for checking read errors with two cyclic redundancy check stages
CN100451967C (zh) * 2007-02-14 2009-01-14 威盛电子股份有限公司 基本输入输出***文件切换方法及可支持其切换的控制器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324943A (ja) * 1993-05-17 1994-11-25 Hitachi Ltd 主記憶制御方法
JPH09134314A (ja) * 1995-11-08 1997-05-20 Hitachi Ltd メモリアクセス制御装置
JPH1196079A (ja) * 1997-09-19 1999-04-09 Hitachi Ltd キャッシュ制御方式
JPH11328015A (ja) * 1998-02-17 1999-11-30 Internatl Business Mach Corp <Ibm> 割振り解除方法およびデ―タ処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10042725B2 (en) 2013-09-06 2018-08-07 Kabushiki Kaisha Toshiba Memory control circuit, cache memory and memory control method

Also Published As

Publication number Publication date
WO2007094045A1 (ja) 2007-08-23
JPWO2007094045A1 (ja) 2009-07-02
US8286053B2 (en) 2012-10-09
US20080294961A1 (en) 2008-11-27

Similar Documents

Publication Publication Date Title
JP5138319B2 (ja) メモリーシステム及び該動作方法。
JP5010271B2 (ja) エラー訂正コード生成方法、およびメモリ制御装置
US8972823B2 (en) Error correcting for improving reliability by combination of storage system and flash memory device
US7299400B2 (en) Error correction circuit
JP4283221B2 (ja) 繰返し失敗したメモリ位置を無効にする実行をイネーブルにするため、失敗したメモリ位置を追跡する各種方法及び装置
TWI515742B (zh) 偵測不穩定記憶胞之分佈的記憶體系統與方法
KR100714487B1 (ko) 동적 메모리 장치 및 그 리프레쉬 주기 결정 방법
JP5162763B2 (ja) メモリアクセスシステム
US8572444B2 (en) Memory apparatus and testing method thereof
JP4834721B2 (ja) メモリ制御装置およびメモリ制御方法
US10223197B2 (en) Integrated circuit device and method for applying error correction to SRAM memory
JP4791525B2 (ja) 読み出し処理装置および読み出し方法
JP4339914B2 (ja) エラー訂正コード生成方法及びメモリ管理装置
JP2010067098A (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2007310916A (ja) メモリカード
JP2012252557A (ja) メモリコントローラ
JP3106947B2 (ja) 不揮発性半導体記憶装置
KR20080114208A (ko) 에러 정정 기능을 갖는 불휘발성 메모리 장치의 카피투프로그램방법
JP6941971B2 (ja) 半導体記憶装置、メモリコントローラ及びメモリの監視方法
JP2007257628A (ja) 記憶された情報データの読み取りのための誤り訂正と誤り検出の方法およびそのための記憶制御ユニット
US11955989B2 (en) Memory device and test method thereof
JP3190867B2 (ja) メモリ再書き込み動作誤り検出装置及び方法
CN112289366B (zh) 存储器存储装置及数据存取方法
JPH09160728A (ja) 記憶装置のエラー訂正方法
JPH05274227A (ja) 電子ディスク装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110616

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: 20110712

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110721

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees