米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> ヒューレット・パッカード・カンパニー

発明の名称 メモリセグメントの信頼性を評価するシステムおよび方法
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2003−7088(P2003−7088A)
公開日 平成15年1月10日(2003.1.10)
出願番号 特願2002−120881(P2002−120881)
出願日 平成14年4月23日(2002.4.23)
代理人 【識別番号】100099623
【弁理士】
【氏名又は名称】奥山 尚一 (外2名)
【テーマコード(参考)】
2G132
5L106
【Fターム(参考)】
2G132 AA08 AH01 AH07 AK07 AK09 AK11 AK13 AK29 
5L106 CC14 CC17 DD24 DD25
発明者 ブライアン・ウィリアム・ヒューズ / ジェイ・マイケル・ヒル / ウォレン・クルト・ハウレット
要約 課題
メモリセグメントの信頼性を評価するシステムおよび方法を提供する
解決手段
メモリセグメントの定義された幾何学的パターンの少なくとも1つのインスタンスにおける機能不良素子をカウントするステップ205と、カウントされた機能不良素子の数が、故障閾値と少なくとも等しい場合、メモリセグメント内の故障状態を宣言するステップ209と、宣言された故障状態に応答して、メモリセグメントを再マッピングするステップ214と、を含む。
特許請求の範囲
【請求項1】 メモリセグメントの信頼性を評価する方法であって、前記メモリセグメントの定義された幾何学的パターンの少なくとも1つのインスタンスにおける機能不良素子をカウントするステップと、前記カウントされた機能不良素子の数が、故障閾値に少なくとも等しい場合、前記メモリセグメント内の故障状態を宣言するステップと、前記宣言された故障状態に応答して、前記メモリセグメントを再マッピングするステップと、を含む方法。
【請求項2】 前記機能不良素子をカウントするステップが、前記メモリセグメントの少なくとも1つの列における機能不良素子をカウントするステップを含む、請求項1記載の方法。
【請求項3】 前記メモリセグメントの少なくとも1つの列における機能不良素子をカウントする前記ステップが、前記メモリセグメントのすべての列における機能不良素子をカウントするステップを含む、請求項2記載の方法。
【請求項4】 定義された幾何学的パターンにおける機能不良素子をカウントする前記ステップが、前記メモリセグメントの少なくとも1つの行における機能不良素子をカウントするステップを含む、請求項1記載の方法。
【請求項5】 前記故障状態を宣言する前記ステップが、前記メモリセグメントについて合格状態および故障状態のうちの一方を示すフラグを設定するステップを含む、請求項1記載の方法。
【請求項6】 前記フラグを設定する前記ステップが完了次第、前記カウントするステップの結果を破棄するステップをさらに含む、請求項5記載の方法。
【請求項7】 前記メモリセグメントにおいて前記カウントされた機能不良素子の総数を記録しないようにするステップをさらに含む、請求項1記載の方法。
【請求項8】 メモリセグメントの動作を維持するシステムであって、行先行順で前記メモリセグメントの素子を評価する手段と、前記評価された素子のうち故障した素子を識別する手段と、前記メモリセグメントの各列について見つかった、前記評価された素子のうちの前記識別された故障素子のカウントを生成する手段と、前記評価された素子の前記識別された故障素子の前記カウントの値に基づいて、前記メモリセグメントについて合格状態および故障状態のうちの一方を確立する手段と、を備えている、システム。
【請求項9】 前記メモリセグメントの1つの列のみについて、前記生成されたカウントについての情報を一度に保存する手段をさらに備えている、請求項8記載のシステム。
【請求項10】 新しい列の全探索を開始次第、前記評価された素子のうち前記識別された故障素子のカウントをリセットする手段をさらに備えている、請求項8記載のシステム。
発明の詳細な説明
【0001】(関連出願)本出願は、同時出願され、「DEVICE TO INHIBIT DUPLICATE CACHE REPAIRS」と題する、共通の譲渡人に譲渡された同時係属中の米国特許出願第(代理人整理番号10004547−1)に関連し、この開示が参照により本明細書に援用される。
【0002】
【発明の属する技術分野】本発明は、概してコンピュータハードウェアに関し、特にコンピュータシステムのエラーを検出するシステムおよび方法に関する。
【0003】
【従来の技術】コンピュータハードウェアの分野においては、記憶素子および/または処理素子(processing element)のアレイを試験して、機能不良素子を識別することが一般に望ましい。機能不良素子は、一般に、かかる素子に含まれるデータを適切なデータテンプレートと比較することによって識別される。1つまたは複数の機能不良素子が識別される場合、機能不良素子に代わる新しいハードウェアロケーションの適切な置換が一般に実施される。
【0004】先行技術による1つのアプローチは、ハードウェアを採用して、試験中のアレイのビットマップまたは他のハードウェアアーキテクチャを格納することを含む。このビットマップは一般に、おそらくはアレイ内の誤ったデータを含む素子の行番号および列番号によってロケーションをカタログ化する。次いで、修正動作が、機能不良素子または機能不良素子を含む素子の連続シーケンスに代わり、チップ上の付近の領域を使用することができる。一般に、ビットマップは、試験下のアレイまたは他のデータ処理アーキテクチャ全体の記述に十分なデータを含むため、一般に、シリコンチップ上に相当量のスペースが必要である。
【0005】ビットマップアプローチに関連する1つの問題は、アレイの状態を完全に識別するのに十分なデータを格納するために、相当なシリコン領域が一般に必要とされることである。さらに、ビットマップを処理し、最適な修復戦略の識別に必要なデータ処理資源は、一般に、複雑なオンチップ回路を必要とする。ビットマップアプローチは、別個のマイクロプロセッサを備えた外付けのテスタを使用してオフチップで実施することもできる。しかし、このようなオフチップ解決策を採用する場合、一般に、完全な修復がチップの試験時に求められる。さらに、ビットマップアプローチを用いる場合、メモリセグメントの修復を効率的に行うために、機能不良素子の行および列の双方を知る必要がある。
【0006】
【発明が解決しようとする課題】したがって、ビットマップ診断アプローチでは、一般に、一定量のチップ空間をビットマップの格納および処理に割り当てる必要があることが、当分野における問題である。
【0007】さらに、ビットマップアプローチに関連するデータ処理資源は、一般に、オンチップで実施される場合には複雑な回路を必要とすることが、当分野における問題である。
【0008】
【課題を解決するための手段】本発明は、メモリセグメントの信頼性を評価するシステムおよび方法を対象とし、この方法は、メモリセグメントの定義された幾何学的パターンの少なくとも1つのインスタンス(instance)における機能不良素子をカウントするステップと、カウントされた機能不良素子の数が、故障閾値と少なくとも等しい場合、メモリセグメント内の故障状態を宣言するステップと、宣言された故障状態に応答して、メモリセグメントを再マッピングするステップと、を含む。
【0009】
【発明の実施の形態】本発明は、メモリまたは他のコンピュータ構成要素の特定領域で発生するコンピュータハードウェア装置要素の故障を識別しカウントするシステムおよび方法を対象とする。本発明の機構は、選択された領域についてエラーの閾値数を確立することが好ましく、閾値数未満では、選択された領域が、本発明の機構により変更されないまま残される。しかし、エラー数が、好ましくは調整可能なこの閾値を満たす、すなわち閾値を超える場合、修正動作がメモリ領域全体に対して行われることが好ましい。本用途において特に関係するのは、メモリセグメントまたは領域の1つの列内等、特定の幾何学的パターンで発生するエラーである。
【0010】好ましい実施形態では、本発明の機構は、キャッシュ領域またはキャッシュメモリ領域、または限定されたアレイ全探索順序(array traversal order)を採用した他のタイプのアレイでありうるメモリ素子アレイにおける素子を検査する。好ましくは、全探索は、連続した列中の素子に移動する前に、試験中のアレイ内の特定の列におけるすべての素子を試験するように行われる。このような全探索は、概して、本明細書では「行先行順全探索(row-fast order traversal)」または「行先行全探索」と称される。本発明の機構は、好ましくは、特定の列に存在することのできる閾値故障素子数を確立する。この閾値が満たされるすなわち閾値を越える場合、本発明の機構は、好ましくは、アレイ全体を故障と識別し、適切な修正動作を行う。好ましくは、修正動作は、影響を受けたメモリセグメントに当初使用されていた領域の代わりに、影響を受けたチップ上のシリコンの代替領域を使用することを含む。一般に、単一列内の故障の閾値数を満たすメモリ領域は、全体としてアレイの使用を中断することを保証するのに十分欠陥のあるものとして解釈される。このようにして、本発明のアプローチは、好ましくは、故障とすでに識別された列と同じアレイ内にある連続した列における故障検出の結果を反映するデータを保存する必要をなくす。
【0011】一般に、アレイ全体にわたって分散した故障素子があるが、任意の1列内に、本発明によりアレイ全体が故障しているという決定をトリガするのに十分な数存在しない場合、より狭い範囲の修正を行うことができる。たとえば、1つまたは複数の故障素子を有するアレイの行において、行の交換を行うことができる。本質的に異なるロケーションにおける分散した故障の選出の存在を誤って列故障とみなす代わりに、真の列故障を検出可能なことに留意する。また、ビットマップハードウェアを省き、それによって診断回路の設計を簡略化し、シリコンの面積を節約するように操作することができる。
【0012】図1は、本発明の好ましい実施形態を採用したアレイの試験に適したRAMアレイ100のサブセットの図である。図1の左下部分は、行修復レイヤブロック102を含む修復ロジックを示す。図1には、参照符号110〜117それぞれを有する行0〜7、参照符号118〜123それぞれを有する列0〜5の第1の群、および参照符号124〜129それぞれを有する列6〜11の第2の群に編成されるデータ記憶素子のアレイが含まれる。一般に、行番号および列番号の一意の組み合わせそれぞれが、1つのデータ記憶素子を識別する。第1のキャッシュ領域130を画定し、6つの列および8つの行を有する第1の列群は、一般に、48個のデータ記憶素子を含む。第2のキャッシュ領域131は、行0〜7および列6〜11によって画定される。考慮する装置がキャッシュメモリ領域以外である場合、個々の要素は、データ記憶素子以外であってもよい。たとえば、マイクロプロセッサでは、アレイの要素は処理素子であることができる。
【0013】好ましい実施形態においては、アドレスがアレイ100に提供され、アドレスは行復号器101によって処理される。好ましくは、行アドレスは、アドレスを復号化し、アレイ100を横切る水平線すなわち「ワード線」のうちの1本を駆動する行復号器101に送信される。好ましくは、ワード線がアレイを横切って駆動されると、その行のすべてのセルがアクセスされ、図中の垂直線であるビット線にデータが駆動される。一般に、6つの値が、アレイ100の底部にある列MUX106および107に提示される。
【0014】ここで、参照符号118〜123それぞれで表される列0〜5の群は、キャッシュ領域1 130と呼ばれる。列が識別されると、データ記憶素子の行番号を特定することで、列MUX(マルチプレクサ)106へのアレイ100内のデータ記憶素子を一意に識別する。
【0015】好ましい実施形態においては、データ記憶素子を試験する場合、本発明の機構は、データをアレイ100に書き込み、それによって個々のデータ記憶素子を期待される状態にする。格納されたこのデータは、後にアレイ100から読み出され、適切なデータテンプレートと比較され、素子に格納されたデータが、期待値をなお保持しているかどうかを決定する。比較が、試験中の記憶素子が期待値を保持していないことを示す場合、この比較の失敗は、関連するデータ記憶素子におけるハードウェアの故障を示すものと解釈される。故障データ記憶素子の発生数がカウントされ、特定のキャッシュセグメントまたはメモリセグメント内に発生した故障の程度を追跡することが好ましい。特定のキャッシュ領域内のデータ記憶素子の故障の程度に応じて、ある範囲の修正対策を利用することが可能である。
【0016】好ましい実施形態においては、XOR(排他的論理和)ゲート105が、アレイ100内の列からデータを受信し、受信したデータをデータの期待値と比較し、比較が成功したかそれとも失敗したかを示す。比較が失敗する場合、カウンタ104は、現行の故障カウントにその故障を追加する。
【0017】好ましい実施形態においては、1つまたは複数の故障がアレイ内で検出される場合、多くのオプションがアレイの修復に関して存在する。1つのアプローチは、キャッシュセグメント130等キャッシュセグメント全体の代わりに、代替の物理的なシリコンチップ上の領域を使用することを含む。それほど極端ではない修正対策は、一般に、選択された行のみが故障したデータ記憶素子を含むことがわかった、キャッシュ領域内の選択された行を、交換することを含む。
【0018】図2は、本発明の好ましい実施形態によるアレイにおける故障データ記憶素子をカウントする方法ステップを含むフローチャートを示す。一般に、本アプローチは、キャッシュセグメント130または131内のいずれか1つの列が、故障データ記憶素子の閾値数を満たす、すなわち閾値数を越えるかどうかを決定することを含む。このような閾値が満たされる、すなわち閾値を超える場合、このような列を含むキャッシュセグメントまたはメモリセグメントは、好ましくは、故障とフラグ付けられる。好ましくは、図2のフローチャートに記述する動作は、並列ハードウェアを採用して、同時に2つ以上のキャッシュ領域で実施することができ、このようなハードウェアは、XORゲート、カウンタ104等のカウンタ、および期待データソースを含む。しかし、以下の考察は、単一のキャッシュ領域に対する本発明の動作を対象としている。
【0019】好ましい実施形態においては、本発明の方法はステップ201で開始される。ステップ202において、本発明の方法は、行カウンタおよび列カウンタを0に設定する。複数のカウンタが採用される場合、列カウントについての異なる初期化値の群が、一般に採用される。ステップ203において、現在の行および列のカウントによって指示される素子が、好ましくは、格納されているデータをその素子に期待された値と比較することによって試験される。好ましくは、素子が試験に失敗する場合、決定ブロック204が実行をステップ205に配向し、ここで、現在の列についての故障カウントが増分される。素子が試験に合格する場合、実行は、好ましくは、増分ステップ205をスキップするように配向される。
【0020】好ましい実施形態では、ステップ206において、本発明の機構が、現在の行カウントが、アレイにおける最後の行を識別しているかどうかを決定する。現在の行がアレイ100における最後の行でない場合、ステップ207において、行カウントが増分されることが好ましい。次に、ステップ203において実行が再開されることが好ましい。現在の行がアレイにおける最後の行である場合、実行が進み、ステップ210において、故障の閾値数が現在の列においてカウントされたかどうかを決定する。閾値に見合わなかった場合、ステップ211において、カウンタがリセットされる。閾値に見合った場合、現在のキャッシュセグメントが故障していることを示すフラグを設定する。このフラグは、後に試験中のキャッシュセグメントの修復戦略を決定するときに、適宜使用することができる。ステップ209においてフラグが設定された後、ステップ208において、実行が再開されることが好ましい。
【0021】好ましくは、ステップ208において、本発明の機構は、現在の列が、試験中のキャッシュセグメントにおける最後の列であるかどうかを決定する。現在の列がキャッシュセグメントにおける最後の列である場合、実行はステップ213に進み、最後の列ではない場合、実行はステップ212に進む。ステップ213において「故障キャッシュセグメント」フラグが設定される場合、ステップ214において、キャッシュセグメントが修復される。ステップ213において評価されるときに、「故障キャッシュセグメント」フラグが設定されない場合、実行はステップ215において終了する。同様に、キャッシュセグメント修復ステップ214が完了した後、実行はステップ215において終了する。
【0022】好ましくは、ステップ212において、行カウントが0に設定され、列カウントが増分される。ステップ212が完了すると、ステップ203において、実行が再開されることが好ましい。代替の実施形態においては、キャッシュセグメント内の任意の列が、閾値数の故障を有することがわかった場合、かかるキャッシュセグメント中の列をそれ以上いずれも試験せずに、その略直後にキャッシュセグメントを修復することができる。
【0023】本明細書において、アレイの「修復」とは、一般に、キャッシュセグメントが故障しているとわかったときに、現在使用されているスペースの代用としてシリコンチップ上に面積すなわちスペースを配置することを指す。好ましくは、このようなハードウェア置換は、再配置されたキャッシュセグメントにアクセスする任意のプログラムと独立して実施されるため、このようなアクセスプログラムを、キャッシュセグメントの物理的な再マッピングに適応するように変更する必要がない。
【0024】本考察は主に、一列におけるエラーの総数がカウントされ、この総数を用いて、アレイ全体を修復すべきかどうかを決定する実施形態を対象としているが、エラーカウントは、行等他の特定の幾何学的パターン内で、またはアレイ内の非幾何学的パターンを含む数学的に定義されるパターン内で行うこともでき、このようなアレイの全体的な健康状態を示すために採用される結果、およびこのような変形は、本発明の範囲内に含まれることが理解されよう。
【0025】図3は、本発明の好ましい実施形態による条件付きリセット機構の実施に適したハードウェアのブロック図である。図3の実施形態は、キャッシュセグメント130等の単一のキャッシュセグメントでの動作に適している。一般に、アレイにおける各キャッシュセグメントについて、条件付きリセット機構300が一度実施される。図3における故障カウンタ301は、一般に、図1に示すカウンタ104および109に対応する。
【0026】好ましい実施形態においては、リセット機構300は、3つの入力を有する。好ましくは、故障入力312は通常ロー(低)であり、試験中のキャッシュセグメントにおいて現在示されている素子に、故障状態が検出される場合にハイ(高)に遷移する。好ましくは、LAST_COLUMN(最後列)入力308は通常ローであり、現在のキャッシュセグメントの最後の列に達した場合にハイに遷移する。好ましくは、LAST_ROW(最後行)入力307は通常ローであり、現在のキャッシュセグメントの最後の行に達する場合にハイに遷移する。
【0027】好ましい実施形態においては、故障カウンタ301の閾値すなわち最大値を設定することができる。一般に、特定の列内で発生する、またはアレイ内の定義されたパターンの別の形態内で発生する故障の数が、閾値に達すると、この列を含むキャッシュセグメント全体が、故障とみなされる。好ましい実施形態においては、この閾値は、3の値に設定することができるが、3よりも小さいまたは大きい値を選択してもよく、このようなすべての変形は本発明の範囲内に含まれる。
【0028】好ましい実施形態においては、カウンタ301は、2つの入力、すなわち増分信号312およびリセット信号302を有する。好ましくは、増分信号312がハイの場合、カウンタは増分する。リセット信号302がハイの場合、カウンタ301がリセットされることが好ましい。好ましくは、回路300が適宜動作できるようにするために、増分信号312は、ハイに遷移してから、リセット信号302がハイに遷移する前に再度ローに遷移する。この事象のシーケンスにより、故障カウンタ301が、必要であれば、リセット前に最後の行および列における故障をカウントできるようにすることが好ましい。
【0029】好ましい実施形態においては、故障カウンタ301は2つの出力、すなわちカウンタ値の最上位ビットであるOUT0 303およびカウンタ値の最下位ビットであるOUT1 304を有する。
【0030】好ましい実施形態においては、図2の試験シーケンスの最初において、カウンタ301が0に初期化され、LAST_COLUMN308信号は0(偽)であり、LAST_ROW307信号は0(偽)である。故障が現在の列で検出されると、カウンタは、検出された各故障ごとに1度増分される。好ましくは、現在の列の最後の行が試験された後、「LAST_ROW」信号307が、ハイに遷移する。
【0031】一般に、カウンタ301は、0、1、または2の値を有する場合、最大値ではなく、COUNTER_MAX(カウンタ最大)信号310はハイになり、リセット信号302をハイに遷移させることができる。カウンタ301の値が3である場合、COUNTER_MAX信号310はローになり、リセット信号302は、ハイに遷移することができない。後者の場合、COUNTER_MAX信号310は、残りの試験プロセス中ローのままであり、プロセスの終了時に、関連するキャッシュセグメントが、列故障を有すると考えられるものとして識別される。
【0032】図4は、本発明の好ましい実施形態によるキャッシュセグメント交換に適したハードウェアのブロック図である。図4の実施形態は、キャッシュ修復構成が決定された後に、キャッシュセグメントを物理的に再マッピングするに好ましいアプローチを示す。図4の上部には、6つのキャッシュセグメント130、131、401〜404、および6個の列マルチプレクサ409〜414がある。好ましくは、列マルチプレクサ405〜408は、読み取りおよび書き込みの双方をキャッシュセグメント130、131、401〜404に対して行うことができる。
【0033】図4の好ましい実施形態では、列冗長マルチプレクサ405〜408は、列マルチプレクサ130、131、401〜404の下に示される。列冗長マルチプレクサは、どのキャッシュセグメントが、組み込み自己試験(BIST)ハードウェアおよびCPUコアに可視であるかを選択する。こういったマルチプレクサの左側にある選択入力は、修復構成を記述するBISTハードウェアにおけるレジスタによって駆動される。
【0034】好ましい実施形態においては、デフォルト構成において、各列冗長マルチプレクサは、最も左側の入力を使用し、参照符号130、131、401、および402それぞれで示されるキャッシュセグメント0〜3にBISTおよびCPUアクセスを与える。こういったキャッシュセグメントのいずれかが、ハードウェア故障を有することがわかった場合、列冗長マルチプレクサ405〜408に対する入力が駆動され、必要に応じて入力を右にシフトし、故障したセグメントをバイパスする。冗長マルチプレクサ405〜408は、1つまたは2つのセグメントを右にシフトすることができ、よって2つの故障キャッシュセグメントに対応することができる。一般に、3つ以上のセグメントが故障する場合、キャッシュは修復不可能である。
【0035】以下の表は、どのように列冗長マルチプレクサが異なる故障キャッシュセグメントについて構成されることが好ましいかを示す。「L」は、列冗長マルチプレクサへの最も左側の入力を指し、「M」は、中間の入力を指し、「R」は、最も右側の入力を指す。
【0036】
【表1】

【0037】図5は、本発明の好ましい実施形態との併用に適合可能なコンピュータシステム500のブロック図を示す。中央演算処理装置(CPU)501は、システムバス502に連結される。CPU501は、Hewlett PackardPA−8200等、任意の汎用CPUであることができる。しかし、本発明は、CPU501が、本明細書において述べた本発明の動作をサポートする限り、CPU501のアーキテクチャによって制限されない。バス502は、SRAM、DRAM、またはSDRAMでありうるランダムアクセスメモリ(RAM)503に連結される。PROM、EPROM、またはEEPROMでありうるROM504も、バス502に連結される。RAM503およびROM504は、当分野で周知のように、ユーザデータ、システムデータ、およびプログラムを保持する。
【0038】図5を参照すると、バス502は、入出力(I/O)アダプタ505、通信アダプタカード511、ユーザインタフェースアダプタ508、およびディスプレイアダプタ509にも連結される。I/Oアダプタ505は、ハードドライブ、CDドライブ、フレキシブルディスクドライブ、テープドライブのうちの1つまたは複数等の格納装置506をコンピュータシステムに接続する。通信アダプタ511は、コンピュータシステム500をネットワーク512に連結するように適合され、ネットワーク512は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、イーサネット(登録商標)、またはインターネットネットワークの1つまたは複数でありうる。ユーザインタフェースアダプタ508は、キーボード513およびポインティングデバイス507等のユーザ入力装置をコンピュータシステム500に連結する。ディスプレイアダプタ509は、CPU501によって駆動され、表示装置510上の表示を制御する。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013