(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5746474
(24)【登録日】2015年5月15日
(45)【発行日】2015年7月8日
(54)【発明の名称】記憶媒体の障害を予測するためのシステム及び方法
(51)【国際特許分類】
G06F 3/06 20060101AFI20150618BHJP
【FI】
G06F3/06 304R
【請求項の数】12
【全頁数】14
(21)【出願番号】特願2010-17547(P2010-17547)
(22)【出願日】2010年1月29日
(65)【公開番号】特開2010-250805(P2010-250805A)
(43)【公開日】2010年11月4日
【審査請求日】2012年11月26日
(31)【優先権主張番号】12/425,824
(32)【優先日】2009年4月17日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】508243639
【氏名又は名称】エルエスアイ コーポレーション
(74)【代理人】
【識別番号】100087642
【弁理士】
【氏名又は名称】古谷 聡
(74)【代理人】
【識別番号】100082946
【弁理士】
【氏名又は名称】大西 昭広
(74)【代理人】
【識別番号】100121061
【弁理士】
【氏名又は名称】西山 清春
(72)【発明者】
【氏名】シャオフア ヤン
【審査官】
坂東 博司
(56)【参考文献】
【文献】
特開平10−133899(JP,A)
【文献】
特開2003−331537(JP,A)
【文献】
特開2004−164767(JP,A)
【文献】
特開2007−214783(JP,A)
【文献】
国際公開第2004/112288(WO,A1)
【文献】
特開2009−273123(JP,A)
【文献】
国際公開第2008/015742(WO,A1)
【文献】
Richard Galbraith and Travis Oenning,Iterative Detection Read Channel Technology in Hard Disk Drives,HGST, a Western Digital company,2008年 8月,1〜6ページ,平成25年3月25日検索,URL,http://www.hgst.com/tech/techlib.nsf/techdocs/FB376A33027F5A5F86257509001463AE/$file/IDRC_WP_final.pdf
【文献】
G. F. Hughes, 外3名,IEEE TRANSACTIONS ON RELIABILITY,Improved Disk Drive Failure Warnings,米国,IEEE,2002年 9月,VOL. 51, NO. 3,350〜357ページ,平成25年3月25日検索,URL,http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1028408
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/06
(57)【特許請求の範囲】
【請求項1】
記憶装置であって、
記憶媒体と、
該記憶媒体から得られるデータセットを受信するデータ処理回路と
を備え、該データ処理回路が、
前記データセットを受信して該データセットからデータを検出するチャネル検出器回路と、
該チャネル検出器回路により検出された該データを受信して該データをデコードするデータデコーダ回路と、
健康状態検出回路とを含み、
該健康状態検出回路が、
前記データセットが前記チャネル検出器回路及び前記データデコーダ回路の両方によって処理されたときにカウント値がインクリメントされる第1のカウンタを含み、少なくとも該カウント値に基づいて前記記憶媒体の障害を予測する、
記憶装置。
【請求項2】
前記記憶媒体の障害の前記予測が、複数のデータセットの処理後に得られた前記カウント値の平均値に基づいて行われる、請求項1記載の記憶装置。
【請求項3】
前記データデコーダ回路がデータセットを順次複数回処理するように動作可能であり、前記健康状態検出回路が、該データセットが該データデコーダ回路によって処理されたときにカウント値がインクリメントされる第2のカウンタを含む、請求項1記載の記憶装置。
【請求項4】
前記健康状態検出回路が、前記第2のカウンタからカウント値を受信し、少なくとも該カウント値に基づいて該記憶媒体の障害を予測する、請求項3記載の記憶装置。
【請求項5】
記憶装置であって、
記憶媒体と、
該記憶媒体から得られるデータセットを受信するデータ処理回路と
を備え、該データ処理回路が、
前記データセットを受信して該データセットをデコードし、及び該データセットを順次複数回処理するように動作可能なデータデコーダ回路と、
健康状態検出回路とを含み、
該健康状態検出回路が、
前記データセットが前記データデコーダ回路によって処理されたときにカウント値がインクリメントされる第1のカウンタを含み、少なくとも該カウント値に基づいて前記記憶媒体の障害を予測する、
記憶装置。
【請求項6】
前記記憶媒体の障害の前記予測が、複数のデータセットの処理後に得られた前記カウント値の平均値に基づいて行われる、請求項5記載の記憶装置。
【請求項7】
前記データ処理回路が、
チャネル検出器回路であって、前記データセットを受信して該データセットからデータを検出し、該検出されたデータを前記データデコーダ回路が受信する、チャネル検出器回路
をさらに含む、請求項5記載の記憶装置。
【請求項8】
データ処理回路であって、
1回目に第1の入力データセットから、及び2回目に第2の入力データセットから、データを検出するように動作可能であって、該第1の入力データセット及び該第2の入力データセットが記憶媒体から得られる、第1のチャネル検出器回路と、
第2のチャネル検出器回路と、
前記第1の入力データセットに対応する前記第1のチャネル検出器回路により検出されたデータ、前記第2の入力データセットに対応する該第1のチャネル検出器回路により検出されたデータ、及び前記第2のチャネル検出器回路により検出されたデータを受信するように動作可能であり、並びに所与のデータセットを順次複数回処理するように動作可能である、データデコーダ回路と、
健康状態検出回路とを備え、
前記第2のチャネル検出器回路が、前記データデコーダ回路のデコード処理が収束できなかった場合にのみ、3回目に、前記第1の入力データセットに対応する該データデコーダ回路のデコード処理結果を使用して、該第1の入力データセットからデータを検出するように動作可能であり、該3回目が、該1回目、及び該2回目の後に続き、
前記健康状態検出回路が、前記データセットが前記データデコーダ回路によって処理されたときにカウント値がインクリメントされる第1のカウンタを含み、少なくとも該カウント値に基づいて前記記憶媒体の障害を予測する、
データ処理回路。
【請求項9】
前記記憶媒体の障害の前記予測が、複数のデータセットの処理後に得られた前記カウント値の平均値に基づいて行われる、請求項8記載のデータ処理回路。
【請求項10】
前記カウント値の前記平均値が、以下の式、
Local_Mean(i+1)=Local_Mean(i)+μ(LocalLoopCount-Local_Mean(i))
に従って計算されることができ、式中、iはローカルループカウント値に対応する瞬間を示し、μはスカラ値である、請求項9記載のデータ処理回路。
【請求項11】
前記健康状態検出回路が、前記データデコーダ回路と、前記第1のチャネル検出器回路及び前記第2のチャネル検出器回路のうちの1つとによって前記データセットが処理されたときにカウンタ値がインクリメントされる第2のカウンタを含み、該健康状態検出回路が、該カウント値に基づいて前記記憶媒体の障害を予測する、請求項8記載のデータ処理回路。
【請求項12】
前記記憶媒体の障害の前記予測が、複数のデータセットの処理後に得られた前記カウント値の平均値に基づいて行われる、請求項11記載のデータ処理回路。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は記憶媒体の健康状態を判定するためのシステム及び方法に関し、より詳細には、記憶媒体の潜在的な障害を間接的に予測するためのシステム及び方法に関する。
【背景技術】
【0002】
標準的な記憶装置は後で取り出すために情報が記憶される記憶媒体を含む。時間の経過につれて記憶装置の記憶媒体及び/又は他の回路及びモジュールは劣化し、潜在的な障害につながる。ハードディスクドライブに関しては、障害率はしばしばセクタ障害率として論じられ、許容可能な障害率はe
−15より低い。そのような低い障害率は検出するのが難しいことが多く、検出可能な場合でさえ測定に長い時間を必要とすることが多い。場合によっては、この長い時間のために、可能性のある障害の判定が非実用的になる。
【0003】
従って、少なくとも前述の理由のために、当技術分野では、記憶媒体の障害を予測するための先端的なシステム及び方法の必要がある。
【発明の概要】
【課題を解決するための手段】
【0004】
本発明は記憶媒体の健康状態を判定するためのシステム及び方法に関し、より詳細には、記憶媒体の潜在的な障害を間接的に予測するためのシステム及び方法に関する。
【0005】
本発明の様々な実施形態は記憶媒体及びデータ処理回路を含む記憶装置を提供する。データ処理回路は記憶媒体から得られるデータセットを受信する。データ処理回路はデータ検出器回路、データデコーダ回路、及び健康状態検出回路を含む。データ検出器回路はデータセットを受信し、検出された出力を提供する。データデコーダ回路は検出された出力の派生物を受信し、デコードされた出力を提供する。いくつかの場合には、検出された出力の派生物は検出された出力のインタリーブされたバージョンである。健康状態検出回路は、データセットがデータ検出器回路及びデータデコーダ回路の組合せによって処理される回数の指示を受信する。健康状態検出回路は、データセットがデータ検出器回路及びデータデコーダ回路の組合せによって処理される回数に少なくとも部分的に基づいて記憶媒体の間接的健康状態を生成する。この組合せによる処理のこの組合せはグローバル反復と呼ばれることもある。
【0006】
前述の実施形態のいくつかの場合には、健康状態検出回路は、データセットがデータ検出器回路及びデータデコーダ回路の組合せによって処理されたときにインクリメントされるグローバルループカウンタを含む。そのような場合には、データセットがデータ検出器回路及びデータデコーダ回路の組合せによって処理される回数はグローバルループカウンタによって提供されるグローバルループカウント値である。様々な場合において、記憶媒体の間接的健康状態は複数のデータセットの処理後に得られたグローバルループカウント値の平均値を含む。特定の場合には、グローバルループカウント値の平均値は以下の式、
Global_Mean(i+1)=Global_Mean(i)+μ(GlobalLoopCount-Global_Mean(i))、
に従って計算され、式中、iはグローバルループカウント値に対応する瞬間を示し、μはスカラ値である。
【0007】
前述の実施形態の1以上の場合には、データデコーダ回路はデータセットを順次複数回処理するように動作可能である。そのような場合には、健康状態検出回路はデータセットがデータデコーダ回路によって処理されたときにインクリメントされるローカルループカウンタを含んでもよい。いくつかのそのような場合には、健康状態検出回路はデータセットがデータデコーダ回路によって処理される回数の指示を受信し、健康状態検出回路はデータセットがデータデコーダ回路によって処理される回数に少なくとも部分的に基づいて記憶媒体の間接的健康状態を生成する。データセットがデータデコーダ回路によって処理される回数は、ローカルループカウンタによって提供されるローカルループカウント値である。いくつかの場合には、記憶媒体の間接的健康状態は複数のデータセットの処理後に得られたローカルループカウント値の平均値を含む。そのような場合には、ローカルループカウント値の平均値は以下の式、
Local_Mean(i+1)=Local_Mean(i)+μ(LocalLoopCount-Local_Mean(i))、
に従って計算され、式中、iは、ローカルループカウント値に対応する瞬間を示し、μはスカラ値である。
【0008】
本発明の他の実施形態は記憶媒体及びデータ処理回路を含む記憶装置を提供する。データ処理回路は記憶媒体から得られるデータセットを受信する。データ処理回路はデータデコーダ回路及び健康状態検出回路を含む。データデコーダ回路はデータセットの派生物を受信し、デコードされた出力を提供する。データデコーダ回路はデータセットの派生物を順次複数回処理するように動作可能である。健康状態検出回路はデータセットがデータデコーダ回路によって処理される回数の指示を受信し、健康状態検出回路はデータセットがデータデコーダ回路によって処理される回数に少なくとも部分的に基づいて記憶媒体の間接的健康状態を生成する。いくつかの場合には、健康状態検出回路はデータセットがデータデコーダ回路によって処理されたときにインクリメントされるローカルループカウンタを含む。データセットがデータデコーダ回路によって処理される回数はローカルループカウンタによって提供されるローカルループカウント値である。特定の場合には、記憶媒体の間接的健康状態は複数のデータセットの処理後に得られたローカルループカウント値の平均値を含む。
【0009】
前述の実施形態の様々な場合には、データ処理回路はデータ検出器回路をさらに含む。データ検出器回路はデータセットを受信し、検出された出力を提供する。そのような場合には、データセットの派生物は検出された出力の派生物である。いくつかの場合には、健康状態検出回路はデータセットがデータ検出器回路及びデータデコーダ回路の組合せによって処理されたときにインクリメントされるグローバルループカウンタを含む。データセットがデータ検出器回路及びデータデコーダ回路の組合せによって処理される回数はグローバルループカウンタによって提供されるグローバルループカウント値である。そのような場合には、記憶媒体の間接的健康状態は複数のデータセットの処理後に得られたグローバルループカウント値の平均値を含む。
【0010】
本発明の他の実施形態は第1のデータ検出器回路、第2のデータ検出器回路、データデコーダ回路、及び健康状態検出回路を含むデータ処理回路を提供する。第1のデータ検出器回路は1回目に第1の入力データセットに対して、2回目に第2の入力データセットに対してデータ検出を行うように動作可能である。第1の入力データセット及び第2の入力データセットは記憶媒体から得られる。データデコーダ回路は第1のデータセットに対応する第1のデータ検出器回路からの出力の派生物、第2のデータセットに対応する第1のデータ検出器回路からの出力、及び第2のデータ検出器回路からの出力の派生物を受信するように動作可能である。データデコーダ回路は所与のデータセットを順次複数回処理するようにさらに動作可能である。第2のデータ検出器回路はデコーダの出力が収束できなかった場合にのみ、3回目に、第1の入力データセットに対応するデータデコーダ回路の出力を使用して、第1の入力データセットに対してデータ検出を行うように動作可能である。3回目は1回目及び2回目の後に続く。健康状態検出回路は、データセットがデータデコーダ回路によって処理される回数の指示を受信し、データセットがデータデコーダ回路によって処理される回数に少なくとも部分的に基づいて記憶媒体の間接的健康状態を生成する。
【0011】
本概要は本発明のいくつかの実施形態の全体的な概略だけを提供する。本発明の他の多くの目的、特徴、利点、及び他の実施形態が、以下の詳細な説明、添付の特許請求の範囲、及び添付の図面からより十分に明らかになるであろう。
【0012】
本発明の様々な実施形態のさらなる理解は本明細書の残りの部分に記載の図を参照することにより実現されることができる。図では、同様の参照数字が、同様の構成要素を指すためにいくつかの図面全体にわたって使用される。いくつかの場合には、小文字アルファベットからなるサブラベルが、複数の同様の構成要素のうちの1つを示すために参照数字に関連付けられる。参照数字が既存のサブラベルを明記せずに参照されたときには、そのような複数の同様の構成要素全てを指すものとする。
【図面の簡単な説明】
【0013】
【
図1】本発明のいくつかの実施形態による、間接的記憶媒体障害機構を含むデータ処理回路を示す図である。
【
図2a】本発明の様々な実施形態による、データ処理システム内の間接的記憶媒体障害機構のための方法を示す流れ図である。
【
図2b】本発明の様々な実施形態による、データ処理システム内の間接的記憶媒体障害機構のための方法を示す流れ図である。
【
図3】本発明の1以上の実施形態による、間接的記憶媒体障害機構を有する記憶システムを示す図である。
【
図4】本発明のいくつかの実施形態による、間接的記憶媒体障害機構を含む他のデータ処理回路を例示する図である。
【発明を実施するための形態】
【0014】
本発明は記憶媒体の健康状態を判定するためのシステム及び方法に関し、より詳細には、記憶媒体の潜在的な障害を間接的に予測するためのシステム及び方法に関する。
【0015】
図1を参照すると、本発明のいくつかの実施形態による、間接的記憶媒体障害機構199を含むデータ処理回路100が示されている。データ処理回路100はデータ入力105を受信する入力サンプルバッファ110を含む。いくつかの場合には、データ入力105は記憶媒体から検知されたデータのセクタを表す一連のデータサンプルである。本明細書で提供される開示に基づいて、本発明の様々な実施形態に関して使用されることができる他のデータ入力及びそれらのソースを当業者は理解するであろう。サンプル出力115がチャネル検出器回路120に入力サンプルバッファ110によって提供される。チャネル検出器回路120は当技術分野で知られているいかなるチャネル検出器でもよい。例として、チャネル検出器回路120は当技術分野で知られているような軟出力ビタビアルゴリズム(SOVA)検出器でもよい。本明細書で提供される開示に基づいて、本発明の様々な実施形態に関して使用されることができる他のチャネル検出器を当業者は理解するであろう。
【0016】
チャネル検出器回路120はデータ入力105に対応する検出された出力125を提供する。検出された出力125はデコード回路130に提供される。デコード回路130は当技術分野で知られているいかなるデコード回路でもよい。例として、デコード回路130は当技術分野で知られているような低密度パリティ検査(LDPC)デコーダでもよい。本明細書で提供される開示に基づいて、本発明の様々な実施形態に関して使用されることができる他のデコーダを当業者は理解するであろう。デコード回路130はデコードされた出力135を軟/硬判定バッファ140に提供する。デコードされた出力135は当技術分野で知られているような軟判定情報及び硬判定情報の両方を含んでもよい。軟/硬判定バッファはデータ出力145を提供するのに備えて軟判定及び/又は硬判定を受信することができるいかなるメモリバッファでもよい。いくつかの場合には、デコードされた出力135はデコード回路130が収束するか、それともデータ入力105のための最大数の反復が行われたときに軟/硬判定バッファ140に提供される。デコード回路130はデコードされた出力135を軟/硬判定バッファ140に提供するのに加えて、デコードされた出力135が提供されたときにデータ完了信号181をパルスする。
【0017】
データ入力105の処理が収束できない場合には、1以上の追加の反復がローカル反復フィードバックループ137を使用してデコード回路130によって順次行われることができる。別のローカル反復が行われるたびにローカル開始信号185がデコード回路130によってパルスされる。最大数のローカル反復後に、データ入力105の処理が依然として収束できないときには、デコードされたデータ出力がグローバル反復フィードバックループ139を使用してチャネル検出器回路120に送り返されることができる。別のグローバル反復が行われるたびにグローバル開始信号183がデコード回路130によってパルスされる。デコード回路130を通る少なくとも1つの反復が常にあるので、ローカル開始信号185はデコード回路の最初の通過のためにパルスされなくてもよく、連続する反復ごとにパルスされるだけでよい。代替として、ローカル開始信号185はダウンストリームのために追加のカウントを数学的に調節して反復ごとにパルスされてもよい。
【0018】
データ完了カウンタ180はデータ完了信号181がパルスされるたびにインクリメントされる。さらに、データ完了カウンタ180はリセット信号179がアサートされるたびにリセットされる。グローバルループカウンタ182はグローバル開始信号183がパルスされるたびにインクリメントされる。さらに、グローバルループカウンタ182はリセット信号179がアサートされるたびにリセットされる。ローカルループカウンタ184はローカル開始信号185がパルスされるたびにインクリメントされる。さらに、ローカルループカウンタ182はリセット信号179がアサートされるたびにリセットされる。
【0019】
データ完了カウンタ180からデータ完了値191、グローバルループカウンタ182からグローバルループカウント値193、及びローカルループカウンタ184からローカルループカウント値195が記憶媒体メトリック計算モジュール190に提供される。記憶媒体メトリック計算モジュール190は前述のカウント値を使用して、データ入力105がそこから得られる媒体の潜在的な障害を予測する。さらに、記憶媒体メトリック計算モジュール190はデータ入力105がそこから得られる媒体の健康状態を識別するために使用されることができる様々な統計値197を提供する。そのような統計値は、例えば、データセットがグローバルループ(即ち、チャネル検出器回路120及びデコード回路130)を通過する平均回数、及びデータセットがローカルループ(即ち、デコード回路130)を通過する平均回数を含んでもよい。前述の平均値の数値は、例えば、ヒストグラム法、平均化法、又は最小平均2乗誤差法を使用して計算されることができる。例として、平均値は、以下の式、
Global_Mean(i+1)=Global_Mean(i)+μ(GlobalLoopCount193-Global_Mean(i))、
Local_Mean(i+1)=Local_Mean(i)+μ(LocalLoopCount195-Local_Mean(i))、
に従って計算されることができ、式中、iは値が計算される瞬間を示し、μはいつでも生じる可能性がある変動を制限するために選択される小さいスカラ値である。前述の式はデータ完了カウンタ180、グローバルループカウンタ182及びローカルループカウンタ184が各データセットに対する処理の終了時にリセットされると仮定する。従って、例えば、リセット179は、データのセクタの処理の終了時に、及びそれぞれのカウント値が取り出された後でアサートされることができる。そのような場合には、ローカル開始信号185はデコード回路130を通る最初のローカル反復のためにはパルスされない。本発明のいくつかの実施形態では、平均値はデータ完了信号181がパルスされるたびに(即ち、データ入力105を介して受信された各データセットの処理の終了時に)計算される。他の例として、平均値は、以下の式、
【数1】
に従って単純平均値として計算されることができ、式中、iは数値が計算される瞬間を示す。これらの式では、データ完了カウンタ180、グローバルループカウンタ182及びローカルループカウンタ184からのカウント値はデータセットの処理の終了時に必ずリセットされるわけではない。
【0020】
図2aを参照すると、流れ
図200は、本発明の様々な実施形態による記憶媒体障害を間接的に予測するために使用されることができる様々なメトリックを取得するための方法を示す。流れ
図200に従って、読み出されたデータセットが受信される(ブロック205)。いくつかの場合には、読み出されたデータセットは記憶媒体から得られたデータのセクタである。本明細書で提供される開示に基づいて、本発明の様々な実施形態に従って処理されることができる様々なデータセットを当業者は理解するであろう。読み出されたデータに対してデータ検出処理が行われる(ブロック210)。このデータ検出処理は、例えば、軟出力ビタビアルゴリズムデータ検出など、当技術分野で知られているいかなるデータ検出でもよい。他のチャネル検出器が本発明の様々な実施形態に関して使用されることができることを理解されたい。ローカル反復カウント及びグローバル反復カウントがインクリメントされ、検出処理の少なくとも1つの通過、及びデコード処理の1つの通過が完了することを保証されることを示す(ブロック215)。
【0021】
データ検出器からの出力に対してデータデコードが行われる(ブロック220)。データデコードは当技術分野で知られているいかなるデコードアルゴリズムを使用して行われてもよい。例えば、データデコードはLDPCデコーダを使用して行われてもよい。次に、デコード処理が収束した(即ち、正しい出力を生じた)かどうかが判定される(ブロック225)。デコード処理が収束できなかった場合には(ブロック225)、デコード回路を通る別のローカルループが使用されるべきかどうかが判定される(ブロック230)。これは、当技術分野に存在する判定機構を使用して判定されることができる。デコード処理を通る追加のローカルループが行われるべきである場合には(ブロック230)、ローカル反復カウンタが追加のローカルループを示すためにインクリメントされ(ブロック235)、ブロック220から230までの処理がデコード処理からの出力を使用して繰り返される。
【0022】
代替として、デコード処理を通る追加のループが要求されない場合には(ブロック230)、デコードされたデータが、別のデータ検出処理を行うためにデータ検出器に提供される(ブロック240)。データ検出を行うこと(ブロック240)に加えて、グローバル反復カウンタがインクリメントされ、別のグローバルループを示す(ブロック245)。次に、ブロック220から230までの処理が繰り返される。
【0023】
データが収束する(又は、タイムアウト条件を超えた)場合には(ブロック225)、デコード処理の結果として生じるデータがデータ出力として提供され(ブロック250)、データ完了カウントがインクリメントされ、完結したデータセットを示す(ブロック255)。新しいメトリック(グローバル反復カウント、ローカル反復カウント、及びデータ完了カウント)でメトリック更新処理が行われる(ブロック201)。メトリック更新処理は様々な統計値を数学的に計算すること、及び記憶媒体の障害の増大した可能性があるかどうかを判定することを含む。
【0024】
図2bを参照すると、流れ
図260は、本発明の様々な実施形態による、
図2aのブロック201のメトリック更新処理を行うための方法を示す。流れ
図260に従って、次のデータ処理が完了したかどうかが判定される(ブロック202)。いくつかの場合には、このブロックは
図2aのブロック225から255までと本質的に同じである。次のデータ処理が完了した場合には(ブロック202)、ローカル反復カウンタからローカル反復カウント値が取り出され(ブロック265)、グローバル反復カウンタからグローバル反復カウント値が取り出され(ブロック275)、データ完了カウンタからデータ完了値が取り出される(ブロック280)。
【0025】
前述の情報を使用して、ローカル反復の平均値(ブロック285)及びグローバル反復の平均値(ブロック290)が両方とも計算される。前述の平均値の数値は、例えば、ヒストグラム法、平均化法、又は最小平均2乗誤差法を使用して計算されることができる。例として、平均値は、以下の式、
Global_Mean(i+1)=Global_Mean(i)+μ(GlobalLoopCount-Global_Mean(i))、
Local_Mean(i+1)=Local_Mean(i)+μ(LocalLoopCount-Local_Mean(i))、
に従って計算されることができ、式中、iは値が計算される瞬間を示し、μはいつでも生じる可能性がある変動を制限するために選択される小さいスカラ値である。本発明のいくつかの実施形態では、平均値はデータセットが処理を完了するたびに計算される。他の例として、平均値は、以下の式、
【数2】
に従って単純平均値として計算されることができ、式中、iは数値が計算される瞬間を示す。
【0026】
次に、平均値は両方ともメモリに記憶される(ブロック295)。従って、平均値は、それらを使用する必要がある他のいかなる処理によってでも利用されることができる。次に、計算された平均値のどちらかが定義された閾値より大きいかどうかが判定される(ブロック203)。平均値の一方又は両方が定義された閾値より大きいと判定された場合には(ブロック203)、潜在的な障害が示される(ブロック204)。この潜在的な障害の報告は、例えば、記憶媒体へのアクセスを制御するプロセッサに対する割込みとして提供されることができる。いくつかの場合には、そのような割込みは記憶媒体のステータスチェックを生じさせる可能性がある。
【0027】
図3を参照すると、本発明の1以上の実施形態による、間接的記憶媒体障害機構を有する読出しチャネル回路310を含むストレージシステム300が示されている。ストレージシステム300は、例えば、ハードディスクドライブでもよい。読出しチャネル310の一部分として含まれる間接的記憶媒体障害機構は、
図1に関して論じたシステムでもよいが、それに限定されない。いくつかの場合には、読出しチャネル310の一部分として含まれる間接的記憶媒体障害機構は、
図2a〜2bに関して上記で説明された方法を使用して動作することができる。
【0028】
ストレージシステム300はまた、プリアンプ370、インターフェースコントローラ320、ハードディスクコントローラ366、モータコントローラ368、スピンドルモータ372、ディスクプラッタ378、及び読出し/書込みヘッド376を含む。インターフェースコントローラ320はディスクプラッタ378への/からのデータのアドレッシング及びタイミングを制御する。ディスクプラッタ378上のデータは、読出し/書込みヘッドアセンブリ376によって、アセンブリがディスクプラッタ378の上に適切に配置されたとき検出されることができる磁気信号のグループからなる。一実施形態では、ディスクプラッタ378は垂直記録方式に従って記録された磁気信号を含む。例えば、磁気信号は長手記録信号又は垂直記録信号のどちらかとして記録されることができる。
【0029】
典型的な読出し動作では、読出し/書込みヘッドアセンブリ376はモータコントローラ368によってディスクプラッタ378上の所望のデータトラックの上に正確に配置される。適切なデータトラックはインターフェースコントローラ320を介して受信されたアドレスによって定義される。モータコントローラ368はハードディスクコントローラ366の指令のもとに読出し/書込みヘッドアセンブリをディスクプラッタ378上の適切なデータトラックに移動することにより、読出し/書込みヘッドアセンブリ376をディスクプラッタ378に対して位置決めするのみならず、スピンドルモータ372をも駆動する。スピンドルモータ372は決められた回転速度(RPM)でディスクプラッタ378を回転させる。読出し/書込みヘッドアセンブリ376が適切なデータトラックの近くに位置決めされた後は、ディスクプラッタ378がスピンドルモータ372によって回転させられると、ディスクプラッタ378上のデータを表す磁気信号が読出し/書込みヘッドアセンブリ376によって検知される。検知された磁気信号はディスクプラッタ378上の磁気データを表す連続的な微小アナログ信号として提供される。この微小アナログ信号は読出し/書込みヘッドアセンブリ376からプリアンプ370を介して読出しチャネルモジュール310に転送される。プリアンプ370はディスクプラッタ378から入手できる微小アナログ信号を増幅するように動作可能である。次に、読出しチャネルモジュール310は、受信したアナログ信号をデコードし、デジタル化して、ディスクプラッタ378に初めに書き込まれた情報を再現する。書込み動作は実質的に前述の読出し動作の反対であり、書込みデータ301が読出しチャネルモジュール310に提供される。次に、このデータはエンコードされ、ディスクプラッタ378に書き込まれる。
【0030】
図4を参照すると、本発明のいくつかの実施形態による、間接的記憶媒体障害機構499(即ち、健康状態検出回路)を含む別のデータ処理回路400が示されている。間接的記憶媒体障害機構499とともに、データ処理回路400はチャネル検出器408に供給されるデータ入力404を含む。チャネル検出器408は、軟出力ビタビアルゴリズム検出器(SOVA)又は最大アポステリオリ(MAP)検出器を含むがそれに限定されない当技術分野で知られているいかなるタイプのチャネル検出器でもよい。本明細書で提供される開示に基づいて、本発明の様々な実施形態に従って使用されることができる様々なチャネル検出器を当業者は理解するであろう。さらに、データ入力404はデータ入力404から受信されるいくつかのデータセットを保持するように設計された入力データバッファ412に提供される。本発明のいくつかの実施形態では、そのようなデータセットは記憶媒体からのデータのセクタである。入力データバッファ412のサイズは、以下でより十分に説明されるように、データ入力404を介して入力されたデータセットが、少なくともその同じデータセットの最初の反復処理が完了し、処理されたデータがピンポンバッファ448(即ち、キューイングバッファ)で利用可能になるまで依然として利用可能であるように十分なバッファリングを提供するように選択されることができる。入力データバッファ412はデータセットをチャネル検出器416に提供する。チャネル検出器408と同様に、チャネル検出器416は、SOVA検出器又はMAP検出器を含むがそれに限定されない当技術分野で知られているいかなるタイプのチャネル検出器でもよい。さらに、本明細書で提供される開示に基づいて、本発明の様々な実施形態に従って使用されることができる様々なチャネル検出器を当業者は理解するであろう。
【0031】
チャネル検出器408及びチャネル検出器416の両方の出力がマルチプレクサ420を介してインタリーバ回路428に提供される。例えば、そのような出力はログ尤度比値でもよい。インタリーバ回路428は、2つのピンポンバッファ424、432を使用して、チャネル検出器408の出力をインタリーブし、チャネル検出器416の出力を別個にインタリーブする。ピンポンバッファ424内のバッファのうちの1つがチャネル検出器408からの出力の前のインタリーブ処理の結果を保持し、LDPCデコーダ436にアンロードされ、一方、ピンポンバッファ424の他方のバッファが現在インタリーブされているチャネル検出器408からのデータセットを保持する。同様に、ピンポンバッファ432内のバッファのうちの1つがチャネル検出器416からの出力の前のインタリーブ処理の結果を保持し、LDPCデコーダ436にアンロードされ、一方、ピンポンバッファ424の他方のバッファが現在インタリーブされているチャネル検出器416からのデータセットを保持する。
【0032】
LDPCデコーダ436は1以上のデータセットを同時にデコードすることができる。例として、LDPCデコーダ436は、ピンポンバッファ424からのインタリーブされたデータセット又はピンポンバッファ432からのインタリーブされたデータセットをデコードするように、或いは、ピンポンバッファ424及びピンポンバッファ432からのインタリーブされたデータセットを同時にデコードするように、設計されることができる。デコードされたデータは、硬判定出力440として提供される、及び/又は、ピンポンバッファ448を使用してデコードされたデータをデインタリーブし、デインタリーブされたデータを入力としてチャネル検出器416に提供するデインタリーバ回路444に提供される。ピンポンバッファ448内のバッファのうちの1つが、前のデインタリーブ処理の結果を保持し、チャネル検出器416にアンロードされ、一方、ピンポンバッファ448の他方のバッファが、現在デインタリーブされているデコードされたデータセットを保持する。硬判定出力440は、硬判定出力440をデインタリーブし、デインタリーブされた結果を出力データバッファ460に記憶するデインタリーバ回路456に提供される。最後に、デインタリーバ回路456は出力データバッファ460に出力470として記憶されるデインタリーブされたデータを提供する。硬出力440は、LDPCデコーダ436によって処理されたデータが収束するたびに、又は出力データバッファ460内のバッファが十分でなくなるたびに、LDPCデコーダ436から提供される。
【0033】
LDPCデコーダ436は1以上のローカル反復(即ち、LDPCデコーダ436による処理)を行うことができる。ローカル反復の1つが開始されるたびに、LDPCデコーダ436がローカル開始信号485をパルスする。さらに、デコードされたデータが、チャネル検出器416及びLDPCデコーダ436の別の通過を必要とするピンポンバッファ448に入れられるたびに、グローバル開始信号483がLDPCデコーダ436によってパルスされる。さらに、硬判定データ440が出力データバッファ460に提供されるたびに、データ完了信号481がLDPCデコーダ436によってパルスされる。間接的記憶媒体障害機構499はデータ完了信号481がパルスされるたびにインクリメントされるデータ完了カウンタ480を含む。さらに、データ完了カウンタ480はリセット信号479がアサートされるたびにリセットされる。グローバルループカウンタ482はグローバル開始信号483がパルスされるたびにインクリメントされる。さらに、グローバルループカウンタ482は、リセット信号479がアサートされるたびにリセットされる。ローカルループカウンタ484はローカル開始信号485がパルスされるたびにインクリメントされる。さらに、ローカルループカウンタ482はリセット信号479がアサートされるたびにリセットされる。
【0034】
データ完了カウンタ480からデータ完了値491、グローバルループカウンタ482からグローバルループカウント値493、及びローカルループカウンタ484からローカルループカウント値495が記憶媒体メトリック計算モジュール490に提供される。記憶媒体メトリック計算モジュール490は、前述のカウント値を使用して、データ入力404がそこから得られる媒体の潜在的な障害を予測する。さらに、記憶媒体メトリック計算モジュール490は、データ入力404がそこから得られる媒体の健康状態を識別するために使用されることができる様々な統計値497を提供する。そのような統計値は、例えば、データセットがグローバルループ(即ち、チャネル検出器回路408/416及びLDPCデコーダ回路436)を通過する平均回数、及びデータセットがローカルループ(即ち、デコード回路436)を通過する平均回数を含んでもよい。前述の平均値の数値は、例えば、ヒストグラム法、平均化法、又は最小平均2乗誤差法を使用して計算されることができる。例として、平均値は、以下の式、
Global_Mean(i+1)=Global_Mean(i)+μ(GlobalLoopCount493-Global_Mean(i))、
Local_Mean(i+1)=Local_Mean(i)+μ(LocalLoopCount495-Local_Mean(i))、
に従って計算されることができ、式中、iは値が計算される瞬間を示し、μはいつでも生じる可能性がある変動を制限するために選択される小さいスカラ値である。本発明のいくつかの実施形態では、平均値は、データ完了信号481がパルスされるたびに(即ち、データ入力404を介して受信された各データセットの処理の終了時に)計算される。他の例として、平均値は、以下の式、
【数3】
に従って単純平均値として計算されることができ、式中、iは数値が計算される瞬間を示す。間接的記憶媒体障害機構499はデータ処理回路400の動作状態を示し、入力404がそこから得られる媒体の健康状態を間接的に示す統計値497を提供するように動作可能である。
【0035】
念のため、いくつかのローカルループ反復及び/又はグローバルループ反復は各データセット(例えば、記憶媒体の各データセクタ)をデコードするために使用されることができる。データセットごとに実行されたループの数のカウントは、個別に維持される。これによって、データセットがそこから取り出される特定の領域の健康状態を判定することができるようになる。そのような個々のデータセットカウンタは、ピンポンバッファ448に、対応するデータセットとともにカウント値を記憶するために実現されることができる。データが追加の処理のためにピンポンバッファ448から再度取り出されたときには、それぞれのデータセットに関連するカウント値はカウンタ(即ち、グローバルループカウンタ482及びローカルループカウンタ484)にロードされ、適用されたいかなる追加の処理に応じてでもインクリメントされる。データセットは、さらに処理されるべきである場合には、ピンポンバッファ448に戻し入れられる。そのときには、グローバルループ値及びローカルループ値もピンポンバッファ448内の対応するロケーションに戻し入れられる。データセットが硬判定データ440として最終的に書き出されたときには、累積されたローカルループカウント及びグローバルループカウントは、特定のデータセットがそこから得られた記憶媒体上のロケーションに関連する統計値を提供するためにテストされる。このグローバルループカウント及びローカルループカウントを累積する処理はデータセットごとに個別に繰り返される。
【0036】
同様の記憶媒体障害機構499が他のデータ処理回路に適用されることができることに留意されたい。例えば、様々な統計値を生成する記憶媒体障害機構499は、Yang等によって2008年5月2日に出願された「Systems and Methods for Queue Based Data Detection and Decoding」という名称の米国特許出願第12/114,462号に開示されているデータ処理回路に適用されることができる。前述の特許出願の全体はあらゆる点で参照により本明細書に組み込まれている。
【0037】
終わりに、本発明は記憶媒体健康状態を判定するための新規のシステム、装置、方法及び構成を提供する。本発明の1以上の実施形態の詳細な説明が上記で提供されてきたが、本発明の趣旨から逸脱することなしに、様々な代替形態、変更形態、及び均等物が当業者には明らかであろう。さらに、本明細書で論じた技法はアナログ−デジタルコンバータにも適用されることができる。従って、上記説明は添付の特許請求の範囲によって定義されている本発明の範囲を限定すると考えられるべきではない。