JP7293813B2 - semiconductor equipment - Google Patents
semiconductor equipment Download PDFInfo
- Publication number
- JP7293813B2 JP7293813B2 JP2019070146A JP2019070146A JP7293813B2 JP 7293813 B2 JP7293813 B2 JP 7293813B2 JP 2019070146 A JP2019070146 A JP 2019070146A JP 2019070146 A JP2019070146 A JP 2019070146A JP 7293813 B2 JP7293813 B2 JP 7293813B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- read
- counter
- test
- 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.)
- Active
Links
- 239000004065 semiconductor Substances 0.000 title claims description 27
- 230000015654 memory Effects 0.000 claims description 162
- 238000012360 testing method Methods 0.000 claims description 75
- 239000000872 buffer Substances 0.000 claims description 20
- 238000012937 correction Methods 0.000 claims description 20
- 238000001514 detection method Methods 0.000 claims description 16
- 101100533306 Mus musculus Setx gene Proteins 0.000 description 23
- 230000002950 deficient Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 13
- 238000000034 method Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000005856 abnormality Effects 0.000 description 7
- 230000006866 deterioration Effects 0.000 description 7
- 230000000630 rising effect Effects 0.000 description 6
- 229910052710 silicon Inorganic materials 0.000 description 5
- 239000010703 silicon Substances 0.000 description 5
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 241000724291 Tobacco streak virus Species 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 101150018075 sel-2 gene Proteins 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
本発明は、半導体装置に関する。 The present invention relates to semiconductor devices.
クロックに同期してシリアルデータを出力するメモリを試験する場合、最初のデータと中間のデータと最後のデータとでクロックの位相を変えることで、タイミングマージン試験の試験時間は短縮される(例えば、特許文献1参照)。 When testing a memory that outputs serial data in synchronization with a clock, changing the phase of the clock for the first data, the middle data, and the last data shortens the test time of the timing margin test (for example, See Patent Document 1).
メモリの監視機能付きのメモリコントローラは、監視の開始指示に基づいて、メモリから順次データを読み出して、エラーの有無およびエラーが修正可能かを判定し、修正可能な場合、データを修正してメモリに再書き込みする(例えば、特許文献2参照)。 A memory controller with a memory monitoring function sequentially reads data from the memory based on a monitoring start instruction, determines whether there is an error and whether the error can be corrected, and corrects the data if correctable. (see, for example, Patent Document 2).
メモリセルの不良を救済する冗長領域を有する不揮発性メモリにおいて、救済に使用する不良アドレスをヒューズにプログラムする代わりにセルアレイに記憶することで、チップ面積が削減され、歩留りが向上する(例えば、特許文献3参照)。 In a nonvolatile memory having a redundant area for relieving defective memory cells, by storing the defective address used for relieving in the cell array instead of programming it in the fuse, the chip area is reduced and the yield is improved (for example, patent Reference 3).
近時、CPU(Central Processing Unit)等のプロセッサが扱うデータ量が増加する傾向にあり、プロセッサによりアクセスされるメモリの記憶容量も増加する傾向にある。記憶容量の増加によるメモリレイテンシの増大を抑止するために、複数のメモリチップを積層することで配線の負荷容量を減らした積層メモリが使用されるようになってきている。 Recently, the amount of data handled by a processor such as a CPU (Central Processing Unit) tends to increase, and the storage capacity of memory accessed by the processor also tends to increase. In order to suppress an increase in memory latency due to an increase in storage capacity, a stacked memory has been used in which a plurality of memory chips are stacked to reduce the load capacity of wiring.
しかしながら、積層メモリは、TSV(Through-Silicon Via)等により複数のメモリチップを一体化しており、さらに一体化したメモリチップは、バンプを使用してシリコンインターポーザ等の基板等に接続される。このため、不良が発生したメモリチップだけを交換することは困難である。また、メモリチップに不良が発生した場合、システム停止等の深刻な障害が発生し得るため、不良が発生する可能性を予め検出し、予防的措置を行うことが好ましい。 However, in a stacked memory, a plurality of memory chips are integrated by TSV (Through-Silicon Via) or the like, and the integrated memory chip is connected to a substrate such as a silicon interposer using bumps. Therefore, it is difficult to replace only the defective memory chip. Further, when a defect occurs in a memory chip, a serious failure such as system stop may occur. Therefore, it is preferable to detect the possibility of occurrence of a defect in advance and take preventive measures.
1つの側面では、本発明は、積層メモリにおいて、不良の発生の可能性があるメモリブロックを検出し、当該メモリブロックの使用を停止することで、積層メモリの不良化を抑止することを目的とする。 According to one aspect of the present invention, it is an object of the present invention to detect a memory block that may be defective in a stacked memory and stop using the memory block, thereby preventing the stacked memory from becoming defective. do.
一つの観点によれば、半導体装置は、積層された複数のメモリを含む積層メモリと、前記複数のメモリが有する複数のメモリブロックからそれぞれ読み出される読み出しデータの読み出しマージンを減らしたテストを実行するテスト部と、前記テスト部によるテストでエラーが発生した回数を前記メモリブロックごとに保持する第1のカウンタ部と、前記積層メモリで発生する訂正可能なエラーを訂正するエラー検出訂正部と、前記エラー検出訂正部で訂正したエラー訂正回数を前記メモリブロックごとに保持する第2のカウンタ部と、前記第1のカウンタ部が保持する回数が予め定めた第1の閾値を超えたメモリブロックの使用を禁止し、前記第2のカウンタ部が保持するエラー訂正回数が予め定めた第2の閾値を超えたメモリブロックの使用を禁止するメモリ管理部と、を有する。
According to one aspect, a semiconductor device includes a stacked memory including a plurality of stacked memories, and a test for executing a test with a reduced read margin for read data read from a plurality of memory blocks included in the plurality of memories. a first counter unit that holds the number of times an error occurs in the test by the test unit for each memory block; an error detection/correction unit that corrects a correctable error that occurs in the stacked memory; A second counter unit that holds the number of error corrections corrected by the detection/correction unit for each memory block, and a memory block in which the number of times held by the first counter unit exceeds a predetermined first threshold is used. and a memory management unit that prohibits the use of a memory block in which the number of error corrections held by the second counter unit exceeds a predetermined second threshold.
1つの側面では、本発明は、積層メモリにおいて、不良の発生の可能性があるメモリブロックを検出し、当該メモリブロックの使用を停止することで、積層メモリの不良化を抑止することができる。 According to one aspect of the present invention, in a stacked memory, it is possible to prevent the stacked memory from becoming defective by detecting a memory block that may be defective and stopping the use of the memory block.
以下、図面を用いて実施形態が説明される。 Embodiments will be described below with reference to the drawings.
図1は、一実施形態における半導体装置の一例を示す。図1に示す半導体装置100は、積層された複数のメモリチップ10を含む積層メモリMEMと、テスト部12と、第1のカウンタ部14と、メモリ管理部16とを有する。メモリチップ10は、メモリの一例である。各メモリチップ10は、例えば、ユーザプログラムに割り当てる単位である複数のメモリブロック10a(メモリ領域)を有する。テスト部12は、積層メモリMEMに出力したアドレスに基づいてメモリブロック10aからそれぞれ読み出される読み出しデータの読み出しマージンを減らしたテストを実行する。例えば、テスト部12は、読み出しデータの取り込みタイミングを標準のタイミングよりも早めることで読み出しマージンを減らす。
FIG. 1 shows an example of a semiconductor device according to one embodiment. The
第1のカウンタ部14は、テスト部12による読み出しテストでエラーが発生した回数をメモリブロック10a毎に保持する複数のカウンタ領域を有する。第1のカウンタ部14は、8個のカウンタ領域が記載されているが、実際には、4つのメモリチップ10の全てのメモリブロック10aに対応するカウンタ領域を有する。テスト部12は、読み出しマージンを減らした読み出しテストでエラーが発生したメモリブロック10aに対応するカウンタ領域に保持されているカウンタ値を更新する。メモリ管理部16は、第1のカウンタ部14が保持する回数(カウンタ値)が、予め定めた第1の閾値を超えたメモリブロック10aの使用を禁止する。
The
テスト部12は、読み出しマージンを減らしてテストを実行するため、テストでエラーが発生したメモリブロック10aは、読み出しマージンを減らさなければ正常に動作する。しかしながら、テスト部12によるテストでエラーが発生したメモリブロック10aは、読み出しマージンが低下している。読み出しマージンの低下は、α線の入射や電源ノイズ等のソフト的な要因によっても発生するが、トランジスタの閾値電圧の上昇、内部配線やプラグ部の抵抗値の増加等、メモリ内部の特性劣化によって発生する場合もある。
Since the
読み出しマージンの低下がメモリ内部の特性劣化による場合、エラーが発生したメモリブロック10aは、将来、不良になる可能性がある。このため、読み出しマージン不足によるエラーが所定の回数(第1の閾値)を超えたメモリブロック10aは、不良の予兆と判断することが好ましい。すなわち、エラーの発生要因がソフト的なものか、メモリ内部の特性変動によるものかに関わらず、使用を禁止することが、半導体装置100の信頼性を維持するために好ましい。
If the deterioration of the read margin is due to deterioration of the internal characteristics of the memory, the
この実施形態では、読み出しマージンが低下したメモリブロック10aの使用を禁止することで、読み出しマージン不足のメモリブロック10aをアクセスし続けることを抑止することができ、メモリブロック10aが不良になることを抑止することができる。この結果、半導体装置100の信頼性を維持することができる。
In this embodiment, by prohibiting the use of the
使用を禁止したメモリブロック10aを含む積層メモリMEMの使用を継続する場合にも、不良が発生する可能性のあるメモリブロック10aはアクセスされないため、積層メモリMEMに不良が発生することはない。したがって、不良の積層メモリMEMを交換するメンテナンスが発生することはなく、メンテナンス性を向上できるとともに、半導体装置100を含むシステムの運用コストを削減することができる。例えば、エラーが発生する前に不良の発生の予兆をつかむことで、エラーの発生によりシステムダウンが発生する前に余裕を持って積層メモリMEMを交換することができる。
Even when the stacked memory MEM including the
図2は、別の実施形態における半導体装置の一例を示す。図1と同様の要素については、同じ符号を付し、詳細な説明は省略する。図2に示す半導体装置102は、図1と同様の積層メモリMEMと、CPUとを有する。CPUは、演算処理装置の一例である。特に限定されないが、積層メモリMEMは、例えば、HBM(High Bandwidth Memory)でもよい。なお、半導体装置102は、CPUの代わりに他のプロセッサを有してもよい。積層メモリMEMの構成は、図1と同様であるため、説明を省略する。
FIG. 2 shows an example of a semiconductor device according to another embodiment. Elements similar to those in FIG. 1 are denoted by the same reference numerals, and detailed description thereof is omitted. The
CPUは、テスト部12、第1のカウンタ部14、メモリ管理部17、出力バッファ20、エラー検出訂正部22および第2のカウンタ部24を有する。出力バッファ20は、積層メモリMEMから読み出される読み出しデータを、セット信号setXに同期してラッチし、ラッチした読み出しデータをテスト部12およびエラー検出訂正部22に出力する。
The CPU has a
テスト部12は、図1での説明と同様に、メモリブロック10aからそれぞれ読み出される読み出しデータの読み出しマージンを減らしたテストを実行する。テスト部12は、セット信号setに対して遷移エッジがずれたセット信号setXを生成することで、読み出しデータの読み出しマージンを減らす。テスト部12は、読み出しマージンを低下させた読み出しテストでエラーが発生したメモリブロック10aに対応する第1のカウンタ部14のカウンタ領域に保持されているカウンタ値を更新する(例えば、インクリメント)。カウンタ領域は、メモリチップ10の全てのメモリブロック10aに対応して設けられる。
The
エラー検出訂正部22は、例えば、エラー検出・訂正符号を用いて、出力バッファ20からの読み出しデータのエラーを検出し、訂正可能なエラーを訂正してメモリチップ10に書き戻す。第2のカウンタ部24は、第1のカウンタ部14と同様に、メモリブロック10aにそれぞれ対応するカウンタ領域を有する。エラー検出訂正部22は、エラーを検出した場合、メモリブロック10a毎に第2のカウンタ部24のカウンタ領域に保持されたカウンタ値を更新する(例えば、インクリメント)。
The error detection/
メモリ管理部17は、図1に示したメモリ管理部16と同様に、第1のカウンタ部14が保持する回数が、予め定めた第1の閾値を超えたメモリブロック10aの使用を禁止する機能を有する。さらに、メモリ管理部17は、第2のカウンタ部24が保持する回数が、予め定めた第2の閾値を超えたメモリブロック10aの使用を禁止する機能を有する。第1の閾値と第2の閾値は、同じ値でもよく、第2の閾値が第1の閾値より大きくてもよい。なお、以下の説明では、メモリブロック10aは、ページ10aとも称される。ページ10aは、CPUがユーザプログラムに割り当て可能な最小のメモリサイズを有し、メモリサイズは、例えば、4kBまたは64kB等である。
The
図3は、図2のテスト部12の要部の一例を示す。テスト部12は、選択番号を保持するレジスタ32と、選択番号のそれぞれに対応する複数の選択値sel(sel0、sel1、...seln:nは例えば”5”)を保持するレジスタ部34と、遅延調整回路36と、マルチプレクサ38とを有する。例えば、選択番号は、レジスタ部34に保持される選択値selが保持される領域のいずれかを示す。レジスタ部34は、選択番号の値に対応する領域に保持している選択値selをマルチプレクサ38に出力する。
FIG. 3 shows an example of a main part of the
遅延調整回路36は、セット信号setの論理を反転させるインバータと、インバータからの出力信号を順次遅延させる複数のバッファとを有する。遅延調整回路36は、セット信号setを遅延させない信号と、セット信号setの論理を反転し、順次遅延させた複数の信号とをマルチプレクサ38に出力する。
The
マルチプレクサ38は、レジスタ32に保持された選択番号に応じてレジスタ部34から出力される選択値selに対応する信号(セット信号setまたはセット信号setを反転して遅延した信号)を選択し、選択した信号をセット信号setXとして出力する。例えば、マルチプレクサ38は、選択値sel0を受けたとき、遅延させないセット信号setを選択し、選択値sel1を受けたとき、反転したセット信号setをバッファで1段遅延させた信号を選択する。また、マルチプレクサ38は、選択値sel2を受けたとき、反転したセット信号setをバッファで2段遅延させた信号を選択し、選択値selnを受けたとき、反転したセット信号setをバッファで最大段数遅延させた信号を選択する。図3では、簡易な論理回路により、出力バッファ20のラッチタイミングに使用するセット信号setXの発生タイミングを容易に生成することができる。
The
図4は、図3のテスト部12が生成するセット信号setXの一例を示す。例えば、選択値sel0が選択された場合、セット信号setに対してマルチプレクサ38の遅延時間だけ遅れたセット信号setXが出力される。選択値sel1-selnのいずれかが選択された場合、セット信号setの論理を反転し、かつセット信号setに対してバッファの遅延時間だけ遅れたセット信号setXがそれぞれ出力される。
FIG. 4 shows an example of the set signal setX generated by the
セット信号setに対するセット信号setXの遅延量は、選択値selの番号が大きいほど大きくなる。その結果、図2に示した出力バッファ20のラッチタイミングであるセット信号setXの立ち上がりエッジの位相は、選択値sel0が最も遅く、選択値sel1-selnの番号が小さいほど早い。
The delay amount of the set signal setX with respect to the set signal set increases as the number of the selection value sel increases. As a result, the phase of the rising edge of the set signal setX, which is the latch timing of the
図5は、図3のテスト部12による読み出しテストの一例を示す。テスト部12は、エラー検出訂正部22によりエラーを訂正するために、通常の読み出しテストを実行し、読み出しマージンの劣化を判定するために、読み出しマージンを減らした読み出しテストを実行する。
FIG. 5 shows an example of a read test by the
例えば、通常の読み出しテストと読み出しマージンを減らした読み出しテストとは、全てのページ10aの全てのメモリ領域(メモリセル)に対して周期的に実行される。また、図5に示す読み出しテストは、ユーザプログラム処理中に、ユーザプログラムの裏で実行される。すなわち、図5に示す読み出しテストは、いわゆるメモリパトロールにより繰り返し実行される。
For example, a normal read test and a read test with reduced read margin are periodically performed on all memory areas (memory cells) of all
テスト部12は、読み出しテストにおいて、通常時のセット信号setXの立ち上がりエッジに同期して、読み出しアドレスを積層メモリMEMに出力する。例えば、読み出しアドレスの出力期間は、セット信号setXの周期に等しく、セット信号setXの周期が読み出しサイクルになる。
In the read test, the
積層メモリMEMは、読み出しアドレスに基づいて、読み出しアドレスが示すメモリ領域にアクセスし、アクセスしたメモリ領域から出力される読み出しデータを出力する。出力バッファ20は、セット信号setXの立ち上がりエッジに同期して読み出しデータをラッチする。
The stacked memory MEM accesses the memory area indicated by the read address based on the read address, and outputs read data output from the accessed memory area. The
読み出しマージンを減らしていない通常の読み出しテストでは、読み出しデータが出力されてからセット信号setXの立ち上がりエッジまでの時間は、出力バッファ20が所定のマージン(セットアップ時間)を持って読み出しデータをラッチできる時間である。
In a normal read test in which the read margin is not reduced, the time from the output of read data to the rising edge of the set signal setX is the time during which the
これに対して、読み出しマージンを減らした読み出しテストでは、読み出しデータが出力されてからセット信号setXの立ち上がりエッジまでの時間は、通常の読み出しテストに比べて短い。このため、出力バッファ20が読み出しデータをラッチするタイミングマージンは減少する。
On the other hand, in a read test with a reduced read margin, the time from the output of read data to the rising edge of the set signal setX is shorter than in a normal read test. Therefore, the timing margin for the
なお、読み出しマージンを減らした読み出しテストにおけるセット信号setXの立ち上がりエッジのタイミングは、読み出し特性が劣化していないメモリチップ10から出力される読み出しデータを、出力バッファ20がラッチできるタイミングに設定される。このため、読み出し特性が劣化していないメモリチップ10では、読み出しマージンを減らした読み出しテストはパスする。
The timing of the rising edge of the set signal setX in the read test with the reduced read margin is set to the timing at which the
例えば、積層メモリMEMを半導体装置102に実装する前のテストにおいて、正常なメモリチップ10から出力される読み出しデータを出力バッファ20にラッチできるセット信号setXの出力タイミングが評価される。そして、評価により決定したセット信号setXの出力タイミングに対応する選択番号が決定する。テスト部12は、読み出しマージンを減らした読み出しテストでは、評価により決定した選択番号をレジスタ32にセットする。
For example, in a test before mounting the stacked memory MEM on the
なお、例えば、メモリチップ10において、トランジスタの閾値電圧の上昇、内部配線やプラグ部の抵抗値の局所的な増加により、読み出しデータの出力タイミングが遅くなったとする。この場合、読み出しマージンを減らした読み出しテストでは、出力バッファ20は、読み出しデータをラッチできず、エラーが発生する場合がある。エラーが発生した場合、テスト部12は、読み出しデータを出力したページ10aに対応する第1のカウンタ部14のカウンタ領域のカウンタ値をインクリメントする。そして、メモリ管理部17は、後述するように、第1のカウンタ部14が保持する回数が予め定めた第1の閾値を超えたページ10aの使用を禁止する。
For example, in the
図6は、図2のCPUが実行するユーザプログラム処理のフローの一例を示す。例えば、半導体装置102は、仮想記憶システムを採用している。そのため、物理アドレス空間に割り当てられた積層メモリMEMの各ページ10aは、メモリ領域の使用状況を管理するページテーブルPTBLに格納される論理アドレス情報により論理アドレス空間(仮想アドレス空間)に紐付けられる。例えば、ページテーブルPTBLは、各ページ10aにそれぞれ対応するエントリを有する。各エントリは、故障フラグ、バリッドフラグ、アクセスの可否、アクセスの制限、論理アドレスとの対応等の情報を格納する領域を有する。また、各エントリは、図2の第1のカウンタ部14および第2のカウンタ部24を有する。
FIG. 6 shows an example of the flow of user program processing executed by the CPU in FIG. For example, the
故障フラグは、テスト部12によりページ10aの読み出しマージンの劣化が判定されたときにセットされる。バリッドフラグは、ユーザプログラムまたはOS(Operating System)でページ10aを使用する場合にセットされる。アクセスの可否は、ユーザプログラムによるページ10aの使用を許可する場合にセットされる。アクセスの制限は、例えば、読み出しのみ可能、読み出しと書き込みの両方が可能等の情報が格納される。論理アドレスとの対応を示す領域には、例えば、紐付ける論理アドレスの上位の所定数のビットが格納される。
The failure flag is set when the
図6に示す処理フローでは、まず、ステップS10において、CPUが実行するOSは、ユーザプログラム処理を開始する前に、ユーザプログラムが使用するメモリ領域を確保する。この際、故障フラグがセットされたページ10aを避けてメモリ領域が確保される。次に、ステップS11において、OSは、確保したメモリ領域に対応して、ページテーブルPTBLを更新し、ユーザプログラムで使用するページ10aを決定する。次に、ステップS12において、確保したページ10aを使用してユーザプログラム処理が開始される。
In the processing flow shown in FIG. 6, first, in step S10, the OS executed by the CPU secures a memory area used by the user program before starting the user program processing. At this time, a memory area is secured by avoiding the
ユーザプログラム処理が終了した場合、ステップS13において、OSは、ユーザプログラムで使用したページ10aに対応する第1のカウンタ部14のカウンタ値および第2のカウンタ部24のカウンタ値に基づいて、故障フラグをセットする。第1のカウンタ部14のカウンタ値および第2のカウンタ部24のカウンタ値は、ユーザプログラム処理中に実行されるテスト部12によるメモリパトロールにより更新される。
When the user program processing ends, in step S13, the OS sets a failure flag based on the counter values of the
なお、故障フラグのセットは、ユーザプログラム処理中に実行されてもよく、ステップS15のページテーブルPTBLの初期化後に実行されてもよい。OSは、その後のユーザプログラム処理のフローにおいて、故障フラグがセットされたページ10aをメモリ領域として確保しない。
Note that the failure flag may be set during the user program processing, or after the page table PTBL is initialized in step S15. The OS does not secure the
次に、ステップS14において、OSは、ユーザプログラムで使用していたメモリ領域を開放する。次に、ステップS15において、OSは、ユーザプログラムで使用するために割り当てていたページ10aに対応するページテーブルPTBLのエントリを初期化して、ユーザプログラム処理に対する一連の動作を完了する。なお、故障フラグは、通常はエントリの初期化によっても初期化されないため、一度セットされた故障フラグがリセットされることを抑止することができる。
Next, in step S14, the OS releases the memory area used by the user program. Next, in step S15, the OS initializes the page table PTBL entry corresponding to the
図7は、図2のCPUが実行するメモリパトロールの起動フローの一例を示す。まず、ステップS20において、OSは、メモリパトロールの起動を指示する。ステップS21において、CPUは、OSからの起動の指示に基づいてメモリパトロールを開始する。 FIG. 7 shows an example of a memory patrol startup flow executed by the CPU in FIG. First, in step S20, the OS instructs activation of memory patrol. In step S21, the CPU starts memory patrol based on an activation instruction from the OS.
ステップS22において、CPUに搭載されるメモリアクセスコントローラは、メモリパトロールの開始に伴い、積層メモリMEMから読み出しデータを読み出すためにアドレスや制御信号を含む読み出しアクセス要求を積層メモリMEMに出力する。ステップS23において、積層メモリMEMは、読み出しアクセス要求に基づいて、対象のページ10aからデータを読み出す読み出し動作を実行する。
In step S22, the memory access controller mounted on the CPU outputs a read access request including an address and a control signal to the stacked memory MEM in order to read read data from the stacked memory MEM as the memory patrol starts. In step S23, the stacked memory MEM executes a read operation of reading data from the
この後、ステップS22、S23が繰り返し実行されることで、アクセス領域を変えながらメモリパトロールが繰り返し実行される。メモリパトロールの処理の例は、図8に示す。なお、メモリパトロールを停止する場合、OSは、CPUにメモリパトロールの停止を指示し、CPUはメモリパトロールを停止する。OSは、メモリパトロールの起動および停止の指示しかしないため、メモリパトロールによる負荷は小さい。また、メモリパトロールによる積層メモリMEMの制御は、メモリアクセスコントローラにより実行されるため、メモリパトロールによるCPUの負荷は小さい。 Thereafter, by repeatedly executing steps S22 and S23, the memory patrol is repeatedly executed while changing the access area. An example of memory patrol processing is shown in FIG. When stopping the memory patrol, the OS instructs the CPU to stop the memory patrol, and the CPU stops the memory patrol. Since the OS only instructs to start and stop the memory patrol, the load due to the memory patrol is small. In addition, since the memory access controller controls the stacked memory MEM by memory patrol, the load on the CPU due to memory patrol is small.
図8は、図2のCPUが実行するメモリパトロールの処理フローの一例を示す。ステップS30、S31、S32、S33は、図5に示した通常の読み出しテストによるメモリパトロール処理を示す。ステップS34、S35、S36、S37は、図5に示した読み出しマージンを減らした読み出しテストによるメモリパトロール処理を示す。例えば、メモリパトロールでは、誤り検出・訂正符号を用いて、1ビットのエラー訂正または2ビットのエラー検出が行われる。 FIG. 8 shows an example of a processing flow of memory patrol executed by the CPU in FIG. Steps S30, S31, S32, and S33 show memory patrol processing by the normal read test shown in FIG. Steps S34, S35, S36, and S37 show memory patrol processing by the read test with the reduced read margin shown in FIG. For example, in memory patrol, 1-bit error correction or 2-bit error detection is performed using an error detection/correction code.
まず、ステップS30において、CPUは、積層メモリMEMに読み出しアクセス要求を発行し、積層メモリMEMから出力される読み出しデータを受信する。なお、CPU(テスト部12)は、読み出しアクセス要求の発行前に、選択値sel0を選択するための選択番号をレジスタ32(図3)にセットする。このため、出力バッファ20は、遅延させないセット信号setに基づいて生成されたセット信号setXに同期して読み出しデータをラッチする。
First, in step S30, the CPU issues a read access request to the stacked memory MEM and receives read data output from the stacked memory MEM. Note that the CPU (test unit 12) sets a selection number for selecting the selection value sel0 in the register 32 (FIG. 3) before issuing the read access request. Therefore, the
次に、ステップS31において、CPUは、エラー検出訂正部22により読み出しデータのエラーが検出された場合、ステップS32に移行し、エラーが検出されない場合、ステップS34に移行する。なお、この例では、説明を簡単にするため、訂正できないエラーは発生しないものとする。
Next, in step S31, if the error detection/
ステップS32において、エラー検出訂正部22は、読み出しデータのエラーを訂正し、積層メモリMEMに書き戻す。次に、ステップS33において、エラー検出訂正部22は、第2のカウンタ部24において、エラーを検出したページ10aに対応するカウンタ領域のカウンタ値をインクリメントし、ステップS34に移行する。
In step S32, the error detection/
ステップS34において、CPU(テスト部12)は、セット信号setXを、読み出しマージンを減らすタイミングに設定するために、標準状態の選択番号が設定されたレジスタ32を、読み出しマージンを減らすための選択番号に書き換える。選択番号を格納するレジスタ32を設けることで、セット信号setXのタイミングを容易に調整することができる。
In step S34, the CPU (test unit 12) sets the set signal setX to the timing for reducing the read margin, by changing the
ステップS35において、CPUは、積層メモリMEMに読み出しアクセス要求を発行し、積層メモリMEMから出力される読み出しデータを受信する。出力バッファ20は、セット信号setを反転して所定量遅延させた信号に基づいて生成されたセット信号setXに同期して、読み出しデータをラッチする。
In step S35, the CPU issues a read access request to the stacked memory MEM and receives read data output from the stacked memory MEM. The
次に、ステップS36において、テスト部12は、読み出しデータのエラーを検出した場合、ステップS37に移行し、エラーが検出されない場合、処理を終了する。なお、ステップS36により検出されるエラーは、シングルビットエラーでもよく、複数ビットエラーでもよい。
Next, in step S36, if the
ステップS37において、第1のカウンタ部14において、エラーを検出したページ10aに対応するカウンタ領域のカウンタ値をインクリメントし、処理を終了する。
In step S37, the
この実施形態では、通常の読み出しテストと読み出しマージンを減らした読み出しテストとのそれぞれについて、エラーの発生数をカウントする。これにより、読み出しマージンの不足によるエラー以外のエラー(例えば、メモリ内部の特性変動によるエラー)が発生する場合にも、異常の予兆を検出することができ、エラーの発生したページ10aが不良になる前に縮退することができる。
In this embodiment, the number of error occurrences is counted for each of a normal read test and a read test with a reduced read margin. As a result, even if an error other than an error due to insufficient read margin occurs (for example, an error due to a characteristic variation inside the memory), a sign of abnormality can be detected, and the
図9は、図2のCPUが実行するページの使用を禁止する処理フローの一例を示す。例えば、図9に示す処理は、図6のステップS13に対応する処理である。図9に示す処理は、メモリ管理部17により、ページ10a毎に実行される。
FIG. 9 shows an example of a processing flow for prohibiting use of a page executed by the CPU in FIG. For example, the processing shown in FIG. 9 is processing corresponding to step S13 in FIG. The processing shown in FIG. 9 is executed by the
まず、ステップS40において、メモリ管理部17は、対象のページ10aに対応する第2のカウンタ部24のカウンタ領域からカウンタ値を読み出す。ステップS41において、メモリ管理部17は、読み出したカウンタ値が第2の閾値を超えている場合、劣化等の何らかの異常の予兆が見られると判断し、処理をステップS44に移行する。メモリ管理部17は、読み出したカウンタ値が第2の閾値を超えていない場合、処理をステップS42に移行する。
First, in step S40, the
ステップS41において、メモリ管理部17は、対象のページ10aに対応する第1のカウンタ部14のカウンタ領域からカウンタ値を読み出す。ステップS43において、メモリ管理部17は、読み出したカウンタ値が第1の閾値を超えている場合、劣化等の何らかの異常の予兆が見られると判断し、処理をステップS44に移行する。メモリ管理部17は、読み出したカウンタ値が第1の閾値を超えていない場合、処理をステップS45に移行する。
In step S41, the
ステップS44において、メモリ管理部17は、ページテーブルPTBLにおいて、対象のページ10aに対応するエントリの故障フラグをセットし処理を終了する。すなわち、第1および第2のカウンタ部14、24の評価対象のカウンタ値の一方または両方が、それぞれの閾値を超えた場合、該当ページ10aの使用を停止する縮退予約が行われる。この実施形態では、OSが管理する記憶領域はページ10a単位で割り当てられるため、縮退予約は、ページオフラインの動作である。なお、故障フラグのセットにより、セットされた故障フラグに対応するページ10aのユーザプログラムによる使用が禁止される。ステップS44の後、処理を終了せずにステップS45の処理が実行されてもよい。
In step S44, the
ステップS45において、メモリ管理部17は、対象のページ10aに対応する第1のカウンタ部14のカウンタ値と、対象のページ10aに対応する第2のカウンタ部24のカウンタ値とをクリアし(例えば、”0”)、処理を終了する。
In step S45, the
なお、第1のカウンタ部14のカウンタ値および第2のカウンタ部24のカウンタ値は、一定時間毎にクリアされてもよい。例えば、カウンタ値は、1日毎にクリアされ、あるいは、ページ10aのスワップの発生時にクリアされてもよい。これにより、カウンタ値が、ソフト的に発生したエラー数が長期間かけて蓄積されて閾値を超えたのか、劣化等の異常の予兆によりエラーの発生頻度が高くなってきたことにより閾値を超えたのかを判断することができる。
The counter value of the
例えば、第1の閾値は”10”であり、第2の閾値は”3”であり、第1の閾値は、第2の閾値より大きい。読み出しマージンを減らした読み出しテストは、通常の読み出しテストに比べてエラーが発生しやすいため、第1の閾値と第2の閾値とを同じ値にすると、図9のフローにおいて、常に第1の閾値超えにより故障フラグが発生する可能性が高くなる。このため、エラーの発生頻度を考慮して、第1の閾値を第2の閾値より大きくすることで、第1の閾値超えにより故障フラグをセットする頻度と、第2の閾値超えにより故障フラグをセットする頻度とを同等にすることができる。 For example, the first threshold is "10", the second threshold is "3", and the first threshold is greater than the second threshold. A read test with a reduced read margin is more likely to cause an error than a normal read test. Exceeding increases the likelihood of fault flags being generated. Therefore, by setting the first threshold larger than the second threshold in consideration of the frequency of occurrence of errors, the frequency of setting the failure flag when the first threshold is exceeded and the frequency of setting the failure flag when the second threshold is exceeded are calculated. can be equated with the set frequency.
図10は、図2の半導体装置102が搭載されるパッケージの一例を示す。半導体装置102は、TSVを介して複数のメモリチップ10およびロジックチップ50を相互に接続した積層メモリMEMと、CPUチップとをシリコンインターポーザを介して接続した構造を有する。各チップ間およびチップとシリコンインターポーザとの間は、バンプにより接続される。また、シリコンインターポーザは、バンプを介してパッケージ基板に接続される。さらに、パッケージ基板は、バンプを介して図示しないシステム基板等に接続される。
FIG. 10 shows an example of a package in which the
以上、図2から図10に示す実施形態において、図1に示す実施形態と同様の効果を得ることができる。すなわち、メモリパトロール時に、通常のパトロール動作とは別に、読み出しマージンを低下させたパトロール動作を実行することにより、メモリチップのトランジスタの劣化等による異常の予兆をページ10a毎に検出することができる。そして、異常の予兆が検出されたページ10aを縮退(オフライン)することで、その後に開始されるユーザプログラム処理に使用されることを抑止することができる。この結果、半導体装置102の信頼性を向上することができる。
As described above, in the embodiment shown in FIGS. 2 to 10, the same effects as in the embodiment shown in FIG. 1 can be obtained. In other words, during memory patrol, by executing a patrol operation with a reduced read margin in addition to the normal patrol operation, it is possible to detect a sign of an abnormality due to degradation of the memory chip transistor or the like for each
また、読み出しマージンを減らした読み出しテストだけでなく、通常の読み出しテストによるメモリパトロールを実行することで、通常の読み出しタイミングで発生するエラーに対応して故障フラグをセットすることができる。これにより、読み出しマージンの不足によるエラー以外のエラー(例えば、メモリ内部の特性変動によるエラー)が発生する場合にも、異常の予兆を検出することができ、エラーの発生したページ10aが不良になる前に縮退することができる。
In addition, by executing memory patrol by not only a read test with a reduced read margin but also a normal read test, it is possible to set a failure flag in response to an error that occurs at normal read timing. As a result, even if an error other than an error due to insufficient read margin occurs (for example, an error due to a characteristic variation inside the memory), a sign of abnormality can be detected, and the
第1の閾値を第2の閾値より大きくすることで、第1の閾値超えにより故障フラグをセットする頻度と、第2の閾値超えにより故障フラグをセットする頻度とを同等にすることができる。すなわち、2つの読み出しテストに基づく故障フラグのセットの頻度を、偏ることなく均等にすることができる。 By making the first threshold larger than the second threshold, the frequency of setting the failure flag when the first threshold is exceeded can be made equal to the frequency of setting the failure flag when the second threshold is exceeded. That is, it is possible to equalize the frequency of setting fault flags based on the two read tests.
半導体装置102が仮想記憶システムを採用し、CPUがユーザプログラム処理を行う毎にページ10aを割り当てる場合に、エラー数が閾値を超えたページのその後の使用を禁止することができ、半導体装置102の信頼性を向上することができる。
When the
第1のカウンタ部14のカウンタ値および第2のカウンタ部24のカウンタ値を、一定時間毎にクリアすることで、カウンタ値が閾値を超えた理由を判断することができる。
By clearing the counter value of the
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。 From the detailed description above, the features and advantages of the embodiments will become apparent. It is intended that the claims cover the features and advantages of such embodiments without departing from their spirit and scope. In addition, any improvements and modifications will readily occur to those skilled in the art. Accordingly, the scope of inventive embodiments is not intended to be limited to that described above, but can be relied upon by suitable modifications and equivalents within the scope disclosed in the embodiments.
10 メモリチップ
10a メモリブロック(ページ)
12 テスト部
14 第1のカウンタ部
16、17 メモリ管理部
20 出力バッファ
22 エラー検出訂正部
24 第2のカウンタ部
32 レジスタ
34 レジスタ部
36 遅延調整回路
100、102 半導体装置
MEM 積層メモリ
sel 選択値
set、setX セット信号
10
12
Claims (6)
前記複数のメモリが有する複数のメモリブロックからそれぞれ読み出される読み出しデータの読み出しマージンを減らしたテストを実行するテスト部と、
前記テスト部によるテストでエラーが発生した回数を前記メモリブロックごとに保持する第1のカウンタ部と、
前記積層メモリで発生する訂正可能なエラーを訂正するエラー検出訂正部と、
前記エラー検出訂正部で訂正したエラー訂正回数を前記メモリブロックごとに保持する第2のカウンタ部と、
前記第1のカウンタ部が保持する回数が予め定めた第1の閾値を超えたメモリブロックの使用を禁止し、前記第2のカウンタ部が保持するエラー訂正回数が予め定めた第2の閾値を超えたメモリブロックの使用を禁止するメモリ管理部と、
を有することを特徴とする半導体装置。 a stacked memory including a plurality of stacked memories;
a test unit that performs a test with a reduced read margin for read data read from a plurality of memory blocks of the plurality of memories;
a first counter unit that holds, for each memory block, the number of times an error has occurred in the test by the test unit;
an error detection and correction unit that corrects a correctable error that occurs in the stacked memory;
a second counter unit that holds the number of error corrections made by the error detection/correction unit for each memory block;
prohibiting the use of a memory block in which the number of times held by the first counter exceeds a predetermined first threshold , and the number of error corrections held by the second counter exceeds a predetermined second threshold; a memory management unit that prohibits the use of exceeding memory blocks ;
A semiconductor device comprising:
前記テスト部は、前記読み出しデータを前記バッファに取り込む取り込みタイミングを早めることで読み出しマージンを減らすことを特徴とする請求項1ないし請求項3のいずれか1項に記載の半導体装置。 Having a buffer that holds read data read from the stacked memory,
4. The semiconductor device according to claim 1, wherein the test section shortens a read margin by advancing timing of loading the read data into the buffer.
前記メモリ管理部は、前記ユーザプログラムの終了に基づいて、使用の禁止を決定したメモリブロックの使用を禁止することを特徴とする請求項1ないし請求項4のいずれか1項に記載の半導体装置。 a processor for executing a user program using a predetermined number of said memory blocks;
5. The semiconductor device according to any one of claims 1 to 4, wherein the memory management unit prohibits use of the memory block for which use prohibition has been determined based on the termination of the user program. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019070146A JP7293813B2 (en) | 2019-04-01 | 2019-04-01 | semiconductor equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019070146A JP7293813B2 (en) | 2019-04-01 | 2019-04-01 | semiconductor equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020170577A JP2020170577A (en) | 2020-10-15 |
JP7293813B2 true JP7293813B2 (en) | 2023-06-20 |
Family
ID=72745428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019070146A Active JP7293813B2 (en) | 2019-04-01 | 2019-04-01 | semiconductor equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7293813B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001501000A (en) | 1996-08-16 | 2001-01-23 | 東京エレクトロン株式会社 | Semiconductor memory device having error detection and correction |
JP2008299997A (en) | 2007-06-01 | 2008-12-11 | Toshiba Corp | Semiconductor memory unit |
JP2011170950A (en) | 2010-01-21 | 2011-09-01 | Renesas Electronics Corp | Information storage device and test method therefor |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0581138A (en) * | 1991-09-20 | 1993-04-02 | Nec Corp | Microprogram controller |
JPH11175409A (en) * | 1997-12-05 | 1999-07-02 | Nec Corp | Memory control system |
JP5618204B2 (en) * | 2010-11-17 | 2014-11-05 | Necプラットフォームズ株式会社 | Fault processing apparatus, information processing apparatus using the same, and fault processing method for information processing apparatus |
CN102841831A (en) * | 2011-06-24 | 2012-12-26 | 鸿富锦精密工业(深圳)有限公司 | System and method for testing server memory |
JP2017049902A (en) * | 2015-09-04 | 2017-03-09 | 日立オートモティブシステムズ株式会社 | Electronic control device |
-
2019
- 2019-04-01 JP JP2019070146A patent/JP7293813B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001501000A (en) | 1996-08-16 | 2001-01-23 | 東京エレクトロン株式会社 | Semiconductor memory device having error detection and correction |
JP2008299997A (en) | 2007-06-01 | 2008-12-11 | Toshiba Corp | Semiconductor memory unit |
JP2011170950A (en) | 2010-01-21 | 2011-09-01 | Renesas Electronics Corp | Information storage device and test method therefor |
Also Published As
Publication number | Publication date |
---|---|
JP2020170577A (en) | 2020-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102658230B1 (en) | Semiconductor memory devices, memory systems including the same and method of operating semiconductor memory devices | |
US10019312B2 (en) | Error monitoring of a memory device containing embedded error correction | |
TWI579844B (en) | Method and apparatus for refreshing and data scrubbing memory device | |
US9570201B2 (en) | Repair of memory devices using volatile and non-volatile memory | |
US9940457B2 (en) | Detecting a cryogenic attack on a memory device with embedded error correction | |
US9343184B2 (en) | Soft post package repair of memory devices | |
US8656252B2 (en) | Memory controller and non-volatile storage device | |
US11656935B2 (en) | Semiconductor memory devices and memory systems | |
US8010847B2 (en) | Memory repair | |
US20160211035A1 (en) | Selective Online Burn-In with Adaptive and Delayed Verification Methods for Memory | |
US9886339B2 (en) | Semiconductor device using fuse arrays to store weak cell addresses | |
KR20170098538A (en) | Semiconductor device and driving method thereof | |
JPH117761A (en) | Memory for image | |
US10649831B2 (en) | Processor and memory access method | |
KR20220039432A (en) | Semiconductor memory devices and methods of operating the same | |
JP4627411B2 (en) | Memory device and memory error correction method | |
US8261137B2 (en) | Apparatus, a method and a program thereof | |
JP7293813B2 (en) | semiconductor equipment | |
KR20240014950A (en) | Memory system, method of operation of memory system, and controller of memory device | |
KR100684471B1 (en) | Build-in self repair method and device for embedded SRAM | |
US10484007B2 (en) | Semiconductor device | |
US20240004757A1 (en) | Electronic device managing corrected error and operating method of electronic device | |
CN115756911A (en) | Memory fault processing method, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230130 |
|
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: 20230509 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230522 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7293813 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |