JP6520755B2 - 情報処理装置、半導体装置、及びメモリ検査方法 - Google Patents

情報処理装置、半導体装置、及びメモリ検査方法 Download PDF

Info

Publication number
JP6520755B2
JP6520755B2 JP2016032180A JP2016032180A JP6520755B2 JP 6520755 B2 JP6520755 B2 JP 6520755B2 JP 2016032180 A JP2016032180 A JP 2016032180A JP 2016032180 A JP2016032180 A JP 2016032180A JP 6520755 B2 JP6520755 B2 JP 6520755B2
Authority
JP
Japan
Prior art keywords
single bit
memory
bit error
unit
inspection
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.)
Active
Application number
JP2016032180A
Other languages
English (en)
Other versions
JP2017151620A (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
Priority to JP2016032180A priority Critical patent/JP6520755B2/ja
Priority to US15/412,095 priority patent/US10114695B2/en
Publication of JP2017151620A publication Critical patent/JP2017151620A/ja
Application granted granted Critical
Publication of JP6520755B2 publication Critical patent/JP6520755B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1072Adding 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 multilevel memories
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理装置、半導体装置、及びメモリ検査方法に関する。
DRAM(Dynamic Random Access Memory)等のRAMセルは、中性子線等の影響によりビット反転が発生することがある。複数のRAMセルを有するメモリでは、複数のビットからなるデータの1ビットがビット反転してしまったシングルビットエラー状態を放置すると、さらに他のビットがビット反転等してマルチビットエラー状態に進行する懸念がある。そのため、シングルビットエラーを早期に検出し訂正できるように、一定時間内にメモリのすべてのRAMセルに対する診断アクセスを行うパトロール動作が行われている。また、メモリを積層した3次元メモリが提案されている(例えば、特許文献1〜3参照)。
特開2004−334845号公報 特表2015−515061号公報 特開2015−135577号公報
RAMセルを有するメモリチップを複数の階層に実装している(3次元実装している)半導体装置では、中性子線等の影響によるビット反転が複数のメモリチップで同時発生する可能性がある。発生したエラーがシングルビットエラーであればECC(Error Checking and Correcting)等で検出し訂正できるが、検出し訂正するまでにシングルビットエラーがマルチビットエラーに進行しシステムダウン等に至る懸念があるため、早期にシングルビットエラーを検出し訂正する必要がある。しかし、メモリチップを3次元実装している半導体装置において、ビット反転が複数のメモリチップで同時発生した場合、それによる複数のメモリチップでのシングルビットエラーのすべてがパトロール動作によって検出されるまでに時間がかかる。1つの側面では、本発明の目的は、メモリチップを複数の階層に実装した半導体装置で同時発生した複数のメモリチップでのシングルビットエラーを早期に検出できるようにする。
情報処理装置の一態様は、データに処理を施す処理部と、データが記憶されるメモリチップを複数の階層に実装した記憶部とを有する。記憶部は、データの検査を行い、シングルビットエラーが検出された場合にはデータに訂正処理を施す検査訂正部と、第1階層のメモリチップでシングルビットエラーが検出された場合、該シングルビットエラーが発生した位置に基づいて他の階層のメモリチップでの検査領域を決定し、検査訂正部による検査領域におけるデータの検査を実行させる診断制御部とを有する。
発明の一態様においては、シングルビットエラーが発生した位置に基づいて他の階層での検査領域を決定しデータの検査を実行させることで、同時発生した複数のメモリチップでのシングルビットエラーを早期に検出可能になり信頼性を向上させることができる。
第1の実施形態における情報処理装置の構成例を示す図である。 第1の実施形態におけるメモリの構成例を示す図である。 第1の実施形態におけるメモリチップの実装例を示す図である。 第1の実施形態におけるメモリの動作を説明する図である。 第1の実施形態における優先パトロールを説明する図である。 第1の実施形態における優先パトロール制御部の例を示す図である。 第2の実施形態における優先パトロールを説明する図である。 第2の実施形態における優先パトロール制御部の例を示す図である。 CPUチップとメモリチップとの実装例を示す図である。
以下、本発明の実施形態を図面に基づいて説明する。
(第1の実施形態)
本発明の第1の実施形態について説明する。
図1は、第1の実施形態における情報処理装置の構成例を示すブロック図である。本実施形態における情報処理装置は、処理部(CPU:Central Processing Unit)1及びメモリ(主記憶)4を有する。処理部1は、メモリ4からデータを読み出して処理を施したり、処理結果として得られたデータをメモリ4に書き込んだりする。処理部1は、命令に応じた処理を行うCPUコア2と、メモリ4のデータを保持するキャッシュ部3とを有する。メモリ4は、処理部1での処理に係るデータ等を記憶する。
図2は、第1の実施形態におけるメモリ4の構成例を示す図である。本実施形態におけるメモリ4は、後述するように複数のメモリチップを有し、それらメモリチップが複数の階層に実装(3次元実装)されている。本実施形態では、一例として3つのメモリチップを有するものとし、上側から順に1層目、2層目、3層目とする。本実施形態におけるメモリ4は、優先パトロール制御部10、エラー情報保持部20、アクセス制御部30、メモリ部40、エラーチェック・訂正部50、及びエラーチェックコード生成部60を有する。
エラー情報保持部20には、メモリ4が有するメモリチップにおいて検出されたシングルビットエラーに係るエラー情報が保持される。エラー情報保持部20は、1層目(最も上側に配されたメモリチップ)のエラー情報21−1、2層目(中間に配されたメモリチップ)のエラー情報21−2、及び3層目(最も下側に配されたメモリチップ)のエラー情報21−3を保持する領域をそれぞれ有する。
エラー情報は、バリッドフラグ(Valid)及びシングルビットエラー位置情報(SE位置情報)を有する。バリッドフラグ(Valid)は、シングルビットエラーが検出されたか否かを示すものであり、リードアクセス又は通常のパトロールの動作でシングルビットエラーが検出された場合、シングルビットエラーが検出されたメモリチップに対応するバリッドフラグが設定される。また、シングルビットエラー位置情報(SE位置情報)はシングルビットエラーが発生した位置を示すものであり、シングルビットエラーが検出されたRAMセル(メモリセル)の位置を示す情報がシングルビットエラー位置情報として保持される。
ここで、エラー情報における位置情報は、一般的にはプログラムによってアクセスされるときのメモリアドレスとは異なり、メモリチップでのRAMセルの物理的な位置を示している。例えば、プログラムがアクセスするメモリアドレスを実際の物理的な位置を示す情報にメモリ4内で変換することにより得られる。なお、パトロールとは、メモリにおけるエラーの検出を行うための診断アクセスである。
優先パトロール制御部10は、エラー情報保持部20に保持されたエラー情報に基づいて優先パトロールの動作に係る制御を行う。優先パトロールは、通常のパトロールとは異なるパトロールの動作であり、リードアクセス又は通常のパトロールでシングルビットエラーが検出された場合に、検出されたシングルビットエラーの情報に基づいて領域を決定し診断アクセスが実行される。
優先パトロール制御部10は、領域サイズ設定部11、範囲決定部12、実行制御部13、及びエラー情報更新部14を有する。領域サイズ設定部11は、優先パトロールを実行する領域(検査領域)の大きさが設定される。なお、優先パトロールを実行する領域の大きさは、設定により可変可能である。範囲決定部12は、エラー情報保持部20に保持されているエラー情報及び領域サイズ設定部11に設定された領域の大きさに応じて、優先パトロールを実行する領域(検査領域)を決定する。
実行制御部13は、範囲決定部12により決定された領域に対するパトロールの動作の実行を制御する。実行制御部13は、例えば範囲決定部12により決定された優先パトロールを実行する領域に基づいて、診断アクセスを行うアドレスの生成や更新を行ったり、診断アクセスの実行を指示したりする。エラー情報更新部14は、実行制御部13から優先パトロールの実行結果を受けて、エラー情報保持部20に保持されているエラー情報を更新する。
アクセス制御部30は、メモリ部40に対するアクセスを制御する。アクセス制御部30は、処理部1等からのメモリ4に対するリードアクセスやライトアクセス等のメモリアクセス、優先パトロール、及び通常のパトロールの実行を所定の優先順位に従って制御する。アクセス制御部30は、第1のマルチプレクサ31及び第2のマルチプレクサ32を有する。
第1のマルチプレクサ31は、優先パトロールの実行タイミング信号SPTEが活性化されている場合には優先パトロールの実行要求SPTを出力し、それ以外の場合には通常パトロールの実行要求NPTを出力する。第2のマルチプレクサ32は、メモリアクセスの実行タイミング信号MACEが活性化されている場合にはメモリアクセスの実行要求MACを出力し、それ以外の場合には第1のマルチプレクサ31から出力される実行要求を出力する。すなわち、アクセス制御部30は、メモリアクセスの実行タイミングではメモリアクセスを実行させ、メモリアクセスの実行タイミングではなく且つ優先パトロールの実行タイミングでは優先パトロールを実行させる。
メモリ部40は、図3に示すように複数の階層に実装された(3次元実装された)複数のメモリチップ41−1、41−2、41−3を有する。図3は、第1の実施形態におけるメモリチップの実装例を示す図であり、1層目におけるメモリチップ41−1、2層目におけるメモリチップ41−2、3層目におけるメモリチップ41−3が積層されるように3次元実装されている。メモリチップ41−1〜41−3のそれぞれは複数のRAMセル(メモリセル)を有する。
メモリ部40の各メモリチップ41−1〜41−3が有するRAMセルは、例えばDRAMセル又はSRAM(Static Random Access Memory)セルであるが、これに限定されるものではない。本実施形態は、中性子線等の影響によるビット反転など、外部要因によりエラーが発生するようなメモリセル(例えば、電荷をデータ記憶に用いるメモリセル等)を有するメモリチップを複数の階層に実装したメモリに対して適用可能である。
エラーチェック・訂正部50は、メモリ部40から読み出されたデータRDTAに対してエラー検査を行い、必要に応じてエラー訂正処理を施したデータRDTBをリードデータとして出力する。また、エラーチェック・訂正部50は、リードアクセス又は通常のパトロールの動作でシングルビットエラーを検出した場合、データにエラー訂正処理を施すとともに、エラー情報保持部20にエラー情報を設定する。
エラーチェックコード生成部60は、データRDTB又は通常のメモリアクセスに係るライトデータMAWDTに基づいてECC等のエラーチェックコードを生成する。エラーチェックコード生成部60により生成されたエラーチェックコードは、データRDTB又はデータMAWDTに付加されてメモリ部40に書き込まれる。なお、本実施形態においてエラーチェックコードはECC等に限定されるものではなく、シングルビットエラーを検出し訂正可能なエラーチェックコードが適用可能である。本実施形態では、例えば図2に示した各機能部が1つの半導体装置に集積されていて、半導体装置内の機能部でメモリ部に対するパトロールを実行する。
図4(A)は、第1の実施形態におけるメモリアクセス時の優先順位を説明するフローチャートである。まず、通常のメモリアクセスが発生しているか否かが判定され(401)、通常のメモリアクセスが発生している場合、通常のメモリアクセスが実行される(402)。通常のメモリアクセスが発生していなければ、次に優先パトロールが発生しているか否かが判定され(403)、優先パトロールが発生している場合、優先パトロールが実行される(404)。通常のメモリアクセス及び優先パトロールがともに発生していなければ、次に通常のパトロールが発生しているか否かが判定され(405)、通常のパトロールが発生している場合、通常のパトロールが実行される(406)。
このように本実施形態では、メモリ部40に対するアクセスは、通常のメモリアクセスが最優先で行われ、通常のメモリアクセスが発生しないタイミングで優先パトロールが行われる。また、通常のメモリアクセス及び優先パトロールが行われないタイミングで、通常のパトロールが行われる。
例えば、図4(B)に一例を示すように、通常パトロール−Aに示すタイミング411−1、411−2、411−3で、通常のメモリアクセスや優先パトロールがなければ通常のパトロールを実施するものとする。それに対して、通常メモリアクセスに示すタイミング412で通常のメモリアクセスが発生し、優先パトロールに示すタイミング413で優先パトロールが発生したとする。
この場合には、通常のメモリアクセスが発生したタイミングと重なっているタイミング411−2での通常のパトロールは次のタイミングに実施され、優先パトロールが発生したタイミングと重なっているタイミング411−3での通常のパトロールは次のタイミングに実施されることになる。すなわち、通常パトロール−Bに示すように、タイミング414−1、414−2、414−3で通常のパトロールが実施される。
第1の実施形態では、複数のメモリチップでシングルビットエラーが検出された場合に優先パトロールを実行する。検出されたシングルビットエラーが中性子線等の影響により発生したと仮定し、優先パトロール制御部10が、各メモリチップにおいてシングルビットエラーが検出された位置から中性子線等の進行方向を推定し、他の階層のメモリチップにおいて優先パトロールを行う検査領域を決定し実行する。
図5(A)及び図5(B)を参照して、第1の実施形態における優先パトロールを説明する。図5(A)は、メモリ部40のメモリチップ41−1〜41−3を立体的に示しており、図5(B)は、メモリ部40のメモリチップ41−1〜41−3を上部から重ねて見た様子を示している。
例えば、図5(A)に示すように1層目のメモリチップ41−1及び2層目のメモリチップ41−2でシングルビットエラーが検出されたとする。このとき、優先パトロール制御部10は、エラー情報に基づいてシングルビットエラーが発生した1層目及び2層目のRAMセルの位置501、502を通る直線と3層目のメモリチップ41−3との交点を求め、3層目における優先パトロールの実施領域の中心位置503とする。
続いて、優先パトロール制御部10は、図5(B)に示すように、中心位置503と、設定されている横方向の領域サイズΔHc及び縦方向の領域サイズΔVcとから、優先パトロールの開始位置(スタート座標)SP及び終了位置(エンド座標)EPをそれぞれ求めることで優先パトロールを実行する領域504を決定する。そして、優先パトロール制御部10は、決定した領域504での優先パトロールを実行し、領域内のすべてのRAMセルに対する診断アクセスを行う。
第1の実施形態における優先パトロール制御部10の動作について説明する。図6は、第1の実施形態における優先パトロール制御部10の例を示す図である。メモリ部40が有する複数のメモリチップでシングルビットエラーが検出されると、シングルビットエラーが検出されていない他の階層の優先パトロールが起動される。優先パトロール制御部10の範囲決定部12では、選択部601、602、603が、エラー情報21−1〜21−3のバリッドフラグV1〜V3に基づいて位置情報としての座標を出力する。
すなわち、選択部601、602、603のそれぞれは、設定されているバリッドフラグに応じて、シングルビットエラーが検出されたRAMセルの座標を選択し出力する。選択部601が出力する座標(Xa,Ya)及び選択部602が出力する座標(Xb,Yb)は、シングルビットエラーが検出されたRAMセルの座標の差分(図5に示す例では位置501と位置502との差分)を計算するために使用される。また、選択部603が出力する座標(Xc,Yc)は、優先パトロールを実行する領域の中心位置503を計算するために使用される。
したがって、例えば1層目及び2層目でシングルビットエラーが検出された場合、すなわちバリッドフラグV1、V2が設定されている場合、選択部601はエラー情報21−1における座標(X1、Y1)を座標(Xa,Ya)として出力し、選択部602はエラー情報21−2における座標(X2、Y2)を座標(Xb,Yb)として出力する。選択部603は、エラー情報21−1における座標(X1、Y1)又はエラー情報21−2における座標(X2、Y2)の何れかを座標(Xc,Yc)として出力する。
また、例えば1層目及び3層目でシングルビットエラーが検出された場合、すなわちバリッドフラグV1、V3が設定されている場合、選択部601はエラー情報21−1における座標(X1、Y1)を座標(Xa,Ya)として出力し、選択部602はエラー情報21−3における座標(X3、Y3)を座標(Xb,Yb)として出力する。選択部603は、エラー情報21−1における座標(X1、Y1)又はエラー情報21−3における座標(X3、Y3)の何れかを座標(Xc,Yc)として出力する。
また、例えば2層目及び3層目でシングルビットエラーが検出された場合、すなわちバリッドフラグV2、V3が設定されている場合、選択部601はエラー情報21−2における座標(X2、Y2)を座標(Xa,Ya)として出力し、選択部602はエラー情報21−3における座標(X3、Y3)を座標(Xb,Yb)として出力する。選択部603は、エラー情報21−2における座標(X2、Y2)又はエラー情報21−3における座標(X3、Y3)の何れかを座標(Xc,Yc)として出力する。
次に、範囲決定部12では、演算部604が、選択部601から出力された座標(Xa,Ya)と選択部602から出力された座標(Xb,Yb)とから、X座標の差分値ΔXd(=Xa−Xb)及びY座標の差分値ΔYd(=Ya−Yb)を計算する。続いて、範囲決定部12では、演算部605が、演算部604で計算された差分値ΔXd、ΔYdと、選択部603から出力された座標(Xc,Yc)と、領域サイズ設定部11に設定されている領域サイズΔHc、ΔVcとから、優先パトロールを実行する領域を決定する。
演算部605は、まず、演算部604で計算された差分値ΔXd、ΔYdと、選択部603から出力された座標(Xc,Yc)とから、優先パトロールを実行する領域の中心位置503の座標(X0,Y0)を計算する。メモリ部40におけるチップの実装間隔が等間隔である場合、座標(X0,Y0)は、座標(Xc,Yc)に対して差分値ΔXd、ΔYd(又はその整数倍)を加算又は減算することで算出される。
例えば、1層目及び2層目でシングルビットエラーが検出され、座標(Xc,Yc)としてエラー情報21−1における座標(X1、Y1)が出力されている場合、座標(X0,Y0)は、X0=Xc+2ΔXd、Y0=Yc+2ΔYdで求められる。また、例えば、1層目及び2層目でシングルビットエラーが検出され、座標(Xc,Yc)としてエラー情報21−2における座標(X2、Y2)が出力されている場合、座標(X0,Y0)は、X0=Xc+ΔXd、Y0=Yc+ΔYdで求められる。なお、メモリ部40におけるチップの実装間隔が等間隔でない場合には、間隔の違いに応じて差分値ΔXd、ΔYdを適宜補正すればよい。
続いて、演算部605は、算出された座標(X0,Y0)と、領域サイズ設定部11に設定されている領域サイズΔHc、ΔVcとから、優先パトロールを実行する領域の開始位置SPを示すスタート座標(XS,YS)及び終了位置EPを示すエンド座標(XE,YE)をそれぞれ計算する。スタート座標(XS,YS)は、XS=X0−ΔHc、YS=Y0−ΔVcで求められ、エンド座標(XE,YE)は、XE=X0+ΔHc、YE=Y0+ΔVcで求められる。このようにして、演算部605は、優先パトロールを実行する領域を決定する。
優先パトロールを実行する領域が範囲決定部12により決定されると、実行制御部13は、範囲決定部12で算出されたスタート座標(XS,YS)及びエンド座標(XE,YE)に従って優先パトロールを実行する。実行制御部13は、スタート座標(XS,YS)からエンド座標(XE,YE)まで座標を順次更新しつつ、座標をアドレスに変換して領域内のすべてのRAMセルに対する診断アクセスを行う。この診断アクセスにおいて、シングルビットエラーが検出された場合、エラーチェック・訂正部50によるエラー訂正処理が施されてメモリ部40にデータが書き戻される。
エンド座標(XE,YE)に達し領域内のすべてのRAMセルに対する診断アクセスが完了すると、実行制御部13は、優先パトロールの完了をエラー情報更新部14に通知する。その通知を受けたエラー情報更新部14は、エラー情報21−1〜21−3に設定されているバリッドフラグをクリアする。以上のようにして、優先パトロールが終了する。
第1の実施形態によれば、複数のメモリチップでシングルビットエラーが検出された場合、その位置に基づいて他の階層のメモリチップにおいてシングルビットエラーが発生しうる領域を推定して、通常のパトロールよりも優先してパトロールを実行する。これにより、シングルビットエラーが検出された場合に他の階層のメモリチップでのシングルビットエラーを早期に検出可能になりメモリの信頼性を向上させることができる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。第2の実施形態における情報処理装置及びメモリの構成は第1の実施形態と同様である。以下の説明では、第2の実施形態において、第1の実施形態と同様の点については説明を省略する。
第2の実施形態では、複数のメモリチップの内の何れか1つのメモリチップでシングルビットエラーが検出された場合に優先パトロールを実行する。シングルビットエラーが検出された位置を中心位置とし、シングルビットエラーが検出されたメモリチップとの距離(間隔長)が大きくなるにつれて優先パトロールを行う領域を広げるようにして、他の階層のメモリチップでの優先パトロールを実行する。すなわち、シングルビットエラーが検出されたメモリチップから離れるほど他の階層のメモリチップでの優先パトロールを行う領域を広くする。
図7(A)及び図7(B)を参照して、第2の実施形態における優先パトロールを説明する。図7(A)は、メモリ部40のメモリチップ41−1〜41−3を立体的に示しており、図7(B)は、メモリ部40のメモリチップ41−1〜41−3を上部から重ねて見た様子を示している。
例えば、図7(A)に示すように1層目のメモリチップ41−1でシングルビットエラーが検出されたとする。このとき、優先パトロール制御部10は、エラー情報に基づいてシングルビットエラーが発生した1層目のRAMセルの位置701を、他の階層で優先パトロールを実行する際の中心位置とする。そして、優先パトロール制御部10は、図7(B)に示すように、中心位置701と、設定されている横方向の領域サイズΔHc2及び縦方向の領域サイズΔVc2とから、2層目における優先パトロールの開始位置(スタート座標)SP2及び終了位置(エンド座標)EP2をそれぞれ求めることで優先パトロールを実行する領域702を決定する。
また、優先パトロール制御部10は、中心位置701と、設定されている横方向の領域サイズΔHc3及び縦方向の領域サイズΔVc3とから、3層目における優先パトロールの開始位置(スタート座標)SP3及び終了位置(エンド座標)EP3をそれぞれ求めることで優先パトロールを実行する領域703を決定する。ここで、本実施形態では、シングルビットエラーが検出されたメモリチップからより遠いため、領域サイズΔHc3、ΔVc3の大きさは、領域サイズΔHc2、ΔVc2の大きさよりも大きく設定されている。なお、領域サイズΔHc2、ΔVc2及び領域サイズΔHc3、ΔVc3は、設定により可変可能である。
第2の実施形態における優先パトロール制御部10の動作について説明する。図8は、第2の実施形態における優先パトロール制御部10の例を示す図である。以下では、1層目のメモリチップでシングルビットエラーが検出され、2層目及び3層目のメモリチップで優先パトロールを実行する場合を例に説明する。なお、2層目のメモリチップでシングルビットエラーが検出された場合には、1層目及び3層目のメモリチップに同様な大きさの検査領域を決定して優先パトロールを実行すればよい。また、3層目のメモリチップでシングルビットエラーが検出された場合には、2層目よりも1層目の検査領域を広くするようにして2層目及び1層目のメモリチップに検査領域を決定して優先パトロールを実行すればよい。
1層目のメモリチップでシングルビットエラーが検出されると、エラー情報21−1のバリッドフラグV1が設定されるとともに、エラーが検出されたRAMセルの位置を示す座標(X1,Y1)が保持される。エラー情報21−1のバリッドフラグV1が設定されたことで、1層目を除く他の階層の優先パトロールが起動される。範囲決定部12では、演算部801が、エラー情報21−1における座標(X1,Y1)と、領域サイズ設定部11に設定されている領域サイズΔHc2、ΔVc2とから、2層目で優先パトロールを実行する領域を決定する。
演算部801は、座標(X1,Y1)及び設定されている領域サイズΔHc2、ΔVc2を基に、2層目で優先パトロールを実行する領域の開始位置SP2を示すスタート座標(XS2,YS2)及び終了位置EP2を示すエンド座標(XE2,YE2)をそれぞれ計算する。スタート座標(XS2,YS2)は、XS2=X1−ΔHc2、YS2=Y1−ΔVc2で求められ、エンド座標(XE2,YE2)は、XE2=X1+ΔHc2、YE2=Y1+ΔVc2で求められる。
優先パトロールを実行する領域が範囲決定部12により決定されると、実行制御部13では、実行部802が、範囲決定部12で算出されたスタート座標(XS2,YS2)及びエンド座標(XE2,YE2)に従って2層目での優先パトロールを実行する。実行部802は、スタート座標(XS2,YS2)からエンド座標(XE2,YE2)まで座標を順次更新しつつ、座標をアドレスに変換して領域内のすべてのRAMセルに対する診断アクセスを行う。この診断アクセスにおいて、シングルビットエラーが検出された場合、エラーチェック・訂正部50によるエラー訂正処理が施されてメモリ部40にデータが書き戻される。
エンド座標(XE2,YE2)に達し2層目での優先パトロールが完了すると、範囲決定部12では、演算部803が、エラー情報21−1における座標(X1,Y1)と、領域サイズ設定部11に設定されている領域サイズΔHc3、ΔVc3とから、3層目で優先パトロールを実行する領域を決定する。
演算部803は、座標(X1,Y1)及び設定されている領域サイズΔHc3、ΔVc3を基に、3層目で優先パトロールを実行する領域の開始位置SP3を示すスタート座標(XS3,YS3)及び終了位置EP3を示すエンド座標(XE3,YE3)をそれぞれ計算する。スタート座標(XS3,YS3)は、XS3=X1−ΔHc3、YS3=Y1−ΔVc3で求められ、エンド座標(XE3,YE3)は、XE3=X1+ΔHc3、YE3=Y1+ΔVc3で求められる。
優先パトロールを実行する領域が範囲決定部12により決定されると、実行制御部13では、実行部804が、範囲決定部12で算出されたスタート座標(XS3,YS3)及びエンド座標(XE3,YE3)に従って3層目での優先パトロールを実行する。実行部804は、スタート座標(XS3,YS3)からエンド座標(XE3,YE3)まで座標を順次更新しつつ、座標をアドレスに変換して領域内のすべてのRAMセルに対する診断アクセスを行う。この診断アクセスにおいて、シングルビットエラーが検出された場合、エラーチェック・訂正部50によるエラー訂正処理が施されてメモリ部40にデータが書き戻される。
エンド座標(XE3,YE3)に達し3層目での優先パトロールが完了し、すべての層での優先パトロールが完了すると、実行制御部13は、優先パトロールの完了をエラー情報更新部14に通知する。その通知を受けたエラー情報更新部14は、エラー情報21−1に設定されているバリッドフラグV1をクリアする。以上のようにして、優先パトロールが終了する。
なお、前述した説明では、2層目での優先パトロールを実行した後に3層目での優先パトロールを実行するようにしているが、優先パトロールを実行する順序は任意である。シングルビットエラーが検出された階層のメモリチップとは異なるすべての階層のメモリチップで、検出されたシングルビットエラーに基づく優先パトロールが実行されればよい。
第2の実施形態によれば、複数のメモリチップの何れか1つのメモリチップでシングルビットエラーが検出された場合、その位置に基づいて他の階層のメモリチップにおけるパトロール領域を決定し、通常のパトロールよりも優先してパトロールを実行する。これにより、シングルビットエラーが検出された場合に他の階層のメモリチップでのシングルビットエラーを早期に検出可能になりメモリの信頼性を向上させることができる。
なお、前述した実施形態では、複数のメモリチップを複数の階層に実装した例を示したが、これに限定されるものではない。例えば、図9に示すようにCPUチップ901とメモリチップ903、904とが複数の階層に実装されており、CPUチップ901内にRAMマクロで構成され、コア部とメモリチップ903、904との間でデータを保持するキャッシュメモリ902を有する場合にも、同様に適用可能である。また、キャッシュメモリに限らず、RAMマクロで構成されたローカルメモリやレジスタバッファ等を有するチップとメモリチップとが3次元実装されている場合にも前述した実施形態は適用可能である。
また、前述した第1の実施形態に示した優先パトロールに係る機能と第2の実施形態に示した優先パトロールに係る機能とを1つの半導体装置(メモリ)に備えるようにしてもよい。この場合には、第1の実施形態に示した優先パトロールを実行するか、第2の実施形態に示した優先パトロールを実行するかを、モード設定等に応じて切り替えできるようにすればよい。
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
1 処理部(CPU)
2 CPUコア
3 キャッシュメモリ
4 メモリ
10 優先パトロール制御部
11 領域サイズ設定部
12 範囲決定部
13 実行制御部
14 エラー情報更新部
20 エラー情報保持部
30 アクセス制御部
40 メモリ部
41−1〜41−3 メモリチップ
50 エラーチェック・訂正部
60 エラーチェックコード生成部

Claims (11)

  1. データに処理を施す処理部と、
    前記データが記憶されるメモリチップを複数の階層に実装した記憶部とを有し、
    前記記憶部は、
    記憶している前記データの検査を行い、シングルビットエラーが検出された場合には前記データに訂正処理を施す検査訂正部と、
    第1階層のメモリチップでシングルビットエラーが検出された場合、該シングルビットエラーが発生した位置に基づいて他の階層のメモリチップでの検査領域を決定し、前記検査訂正部による前記検査領域におけるデータの検査を実行させる診断制御部とを有することを特徴とする情報処理装置。
  2. 前記診断制御部は、さらに前記第1階層とは異なる第2階層のメモリチップでシングルビットエラーが検出された場合、前記第1階層のメモリチップでシングルビットエラーが発生した位置と前記第2階層のメモリチップでシングルビットエラーが発生した位置とに基づいて他の階層のメモリチップでの前記検査領域を決定することを特徴とする請求項1記載の情報処理装置。
  3. 前記診断制御部は、前記第1階層のメモリチップでシングルビットエラーが発生した位置と前記第2階層のメモリチップでシングルビットエラーが発生した位置とを結ぶ直線上を中心に他の階層のメモリチップでの前記検査領域を決定することを特徴とする請求項2記載の情報処理装置。
  4. 前記診断制御部は、前記第1階層のメモリチップでシングルビットエラーが発生した位置を中心に他の階層のメモリチップでの前記検査領域を決定し、前記第1階層から離れるほど前記検査領域を広くすることを特徴とする請求項1記載の情報処理装置。
  5. 前記シングルビットエラーが発生した位置の情報を有するエラー情報を保持する情報保持部を有し、
    前記診断制御部は、前記情報保持部に保持されている前記エラー情報を用いて他の階層のメモリチップでの前記検査領域を決定することを特徴とする請求項1〜4の何れか1項に記載の情報処理装置。
  6. 前記エラー情報は、前記シングルビットエラーが検出されたか否かを示す情報を有し、
    前記診断制御部は、他の階層のメモリチップでの前記検査領域におけるデータの検査の実行が完了した場合、前記シングルビットエラーが検出されていない状態に前記エラー情報を更新することを特徴とする請求項5記載の情報処理装置。
  7. 前記検査領域の大きさを任意に設定可能であることを特徴とする請求項1〜6の何れか1項に記載の情報処理装置。
  8. 前記診断制御部が決定した前記検査領域に対する前記検査訂正部によるデータの検査を、一定時間内に前記記憶部のすべての記憶領域に対するデータの検査を行う通常のパトロール動作に優先して実行させることを特徴とする請求項1〜7の何れか1項に記載の情報処理装置。
  9. 複数の階層に実装され、データをそれぞれ記憶する複数のメモリチップと、
    記憶している前記データの検査を行い、シングルビットエラーが検出された場合には前記データに訂正処理を施す検査訂正部と、
    第1階層のメモリチップでシングルビットエラーが検出された場合、該シングルビットエラーが発生した位置に基づいて他の階層のメモリチップでの検査領域を決定し、前記検査訂正部による前記検査領域におけるデータの検査を実行させる診断制御部とを有することを特徴とする半導体装置。
  10. 前記データに処理を施す処理部と、前記処理部と前記複数のメモリチップとの間で前記データを保持するキャッシュメモリとを有するチップをさらに有することを特徴とする請求項9記載の半導体装置。
  11. 複数の階層に実装され、データをそれぞれ記憶する複数のメモリチップを有する半導体装置のメモリ検査方法であって、
    前記半導体装置の診断制御部が、第1階層のメモリチップでシングルビットエラーが検出された場合、該シングルビットエラーが発生した位置に基づいて他の階層のメモリチップでの検査領域を決定し、
    前記診断制御部が、前記半導体装置の検査訂正部による前記検査領域におけるデータの検査を実行させ、
    前記検査訂正部が、前記検査領域におけるデータの検査を行い、シングルビットエラーが検出された場合には前記データに訂正処理を施すことを特徴とするメモリ検査方法。
JP2016032180A 2016-02-23 2016-02-23 情報処理装置、半導体装置、及びメモリ検査方法 Active JP6520755B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016032180A JP6520755B2 (ja) 2016-02-23 2016-02-23 情報処理装置、半導体装置、及びメモリ検査方法
US15/412,095 US10114695B2 (en) 2016-02-23 2017-01-23 Information processing device, semiconductor device, and memory inspection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016032180A JP6520755B2 (ja) 2016-02-23 2016-02-23 情報処理装置、半導体装置、及びメモリ検査方法

Publications (2)

Publication Number Publication Date
JP2017151620A JP2017151620A (ja) 2017-08-31
JP6520755B2 true JP6520755B2 (ja) 2019-05-29

Family

ID=59629387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016032180A Active JP6520755B2 (ja) 2016-02-23 2016-02-23 情報処理装置、半導体装置、及びメモリ検査方法

Country Status (2)

Country Link
US (1) US10114695B2 (ja)
JP (1) JP6520755B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102669545B1 (ko) 2019-07-23 2024-05-27 삼성전자주식회사 휘발성 메모리 장치의 리페어 제어 방법 및 이를 수행하는 스토리지 장치
JP7306945B2 (ja) * 2019-10-03 2023-07-11 ファナック株式会社 メモリエラー判別装置及びメモリエラー判別用コンピュータプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3070573B2 (ja) * 1998-03-31 2000-07-31 日本電気株式会社 メモリ回路
US7206987B2 (en) 2003-04-30 2007-04-17 Hewlett-Packard Development Company, L.P. Error detection and correction in a layered, 3-dimensional storage architecture
CN104205233B (zh) 2012-03-30 2017-06-23 英特尔公司 用于堆叠的存储器架构的内建自测试
JP6221762B2 (ja) 2014-01-16 2017-11-01 富士通株式会社 記憶装置、記憶方法及び制御装置

Also Published As

Publication number Publication date
US10114695B2 (en) 2018-10-30
JP2017151620A (ja) 2017-08-31
US20170242750A1 (en) 2017-08-24

Similar Documents

Publication Publication Date Title
JP6377751B2 (ja) メモリ中のエラーを処理するためのエラー訂正ポインタの使用
US9935658B2 (en) Data processing apparatus
US8732551B2 (en) Memory controller with automatic error detection and correction
US8966345B2 (en) Selective error correction in memory to reduce power consumption
US9092349B2 (en) Storage of codeword portions
US20130198587A1 (en) Memory buffer performing error correction coding (ecc)
US8572444B2 (en) Memory apparatus and testing method thereof
KR20170039057A (ko) 메모리 시스템 및 메모리 에러 정정 방법
RU2015147646A (ru) Системы и способы предотвращения несанкционированного перемещения стека
JP2008299922A (ja) 半導体メモリ、半導体メモリの動作方法およびシステム
US10482990B2 (en) Memory device and memory system
JP6520755B2 (ja) 情報処理装置、半導体装置、及びメモリ検査方法
US9830218B2 (en) Cache memory with fault tolerance
JP5409936B2 (ja) メモリ診断装置及びメモリ診断方法及びプログラム
JP2014523034A (ja) ランク別巡回冗長検査
US10649831B2 (en) Processor and memory access method
JP2017126357A5 (ja)
JP6218652B2 (ja) 計算機、障害処理方法及びプログラム
JP2017156940A (ja) エラー検知装置、記憶装置およびエラー訂正方法
JP5087970B2 (ja) 情報処理装置および情報処理方法
TWI509622B (zh) 具分散錯誤功能的記憶體及其分散錯誤位元的方法
WO2017065802A1 (en) Scrubbing data in a memory device
JP2021061077A (ja) メモリエラー判別装置及びメモリエラー判別用コンピュータプログラム
CN111352754A (zh) 一种数据存储检错纠错方法及数据存储装置
CN114153648B (zh) 数据读取、写入方法及装置、软错误处理系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181011

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190322

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

R150 Certificate of patent or registration of utility model

Ref document number: 6520755

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190415