JP2018028905A - データスクラビングを実行する電子装置、方法、及びデータスクラビング装置 - Google Patents

データスクラビングを実行する電子装置、方法、及びデータスクラビング装置 Download PDF

Info

Publication number
JP2018028905A
JP2018028905A JP2017150129A JP2017150129A JP2018028905A JP 2018028905 A JP2018028905 A JP 2018028905A JP 2017150129 A JP2017150129 A JP 2017150129A JP 2017150129 A JP2017150129 A JP 2017150129A JP 2018028905 A JP2018028905 A JP 2018028905A
Authority
JP
Japan
Prior art keywords
data
attribute
data element
scrubbing
error correction
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.)
Granted
Application number
JP2017150129A
Other languages
English (en)
Other versions
JP6788554B2 (ja
JP2018028905A5 (ja
Inventor
晟 邱
Sheng Qiu
晟 邱
亮 ソク 奇
Yang Seok Ki
亮 ソク 奇
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2018028905A publication Critical patent/JP2018028905A/ja
Publication of JP2018028905A5 publication Critical patent/JP2018028905A5/ja
Application granted granted Critical
Publication of JP6788554B2 publication Critical patent/JP6788554B2/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/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
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • 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/064Management of blocks
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】向上した性能を有するストレージ装置を提供する。【解決手段】本発明の側面によれば、スマートストレージ装置はアプリケーションによって伝達されるデータ位置以外の属性を含む情報に基づいて知能的にデータを選択し、そしてこのようなデータを読み出し、スクラビングを遂行し、そして結果をアプリケーションに報告する。【選択図】図1

Description

本発明は電子装置、方法、及びデータストレージ装置に係り、特にデータスクラビング(scrubbing)を実行する電子装置、方法、及びデータスクラビング装置に関する。
データスクラビング(data scrubbing)は周期的にエラーについてメモリ又はストレージをチェックし、そしてチェックサム(checksums)、エラー訂正コード、又はデータのコピーの形態にある冗長データ(redundant data)を利用してエラーを訂正する背景作業である。
多くのアプリケーション(applications)がデータスクラビングを使用する。例えば、ファイルシステムはストレージ装置に格納されたデータの無欠性(integrity)をチェックするためにデータスクラビングを活用し、そしてデータベースはデータベース記録の無欠性をチェックするためにデータスクラビングを活用する。
データスクラビング動作の一例として、アプリケーションは一般的にデータの位置(例えば、開始論理ブロックアドレス及び長さ)をストレージ装置に伝達することによって、どのデータにおいてスクラビングを遂行するかを識別する。その後ストレージ装置は指定されたデータを読み出し、そしてその無欠性をチェックする。
この背景技術について記載した上述の情報は発明の背景技術の理解を助けるためのものであり、この分野に一般的な技術を有する者に既に公知の従来技術にない情報を含み得る。
米国特許第9,081,693号公報 米国特許第8,543,556号公報 米国特許第8,280,858号公報 米国特許第8,307,259号公報 米国特許第7,661,045号公報 米国特許公開第2014/0006859号明細書
本発明の目的は、データスクラビングを実行する電子装置、方法、及びデータスクラビング装置を提供することにある。
本発明の側面によれば、スマートストレージ装置はアプリケーション(applications)によって伝達される情報(データ位置以外の属性を含む)に基づいて知能的にデータを選択し、そしてこのようなデータにスクラビング(例えば、読出しスクラビング)を遂行し、そして結果をアプリケーションに報告する。
本発明の一側面によれば、電子装置が提供される。電子装置はスクラビング検索基準を受信するように構成されるストレージ制御器を含む。ストレージ制御器はデータ分析エンジン及びエラー検出エンジンを含む。データ分析エンジンはコンピュータにより読み出される媒体に含まれたデータ要素と連関されたデータ属性客体にアクセスするように構成される。各データ要素はデータ属性客体と連関されて格納され、各データ要素はデータ客体及びエラー訂正客体を含み、前記データ分析エンジンは前記スクラビング検索基準に対応するデータ属性客体と連関された前記コンピュータにより読み出される媒体に含まれたデータ要素を検索するようにさらに構成される。エラー検出エンジンは前記スクラビング検索基準に対応するデータ属性客体と連関して検索された各データ要素に対して、前記データ客体を前記エラー訂正客体と比較して前記データ客体がエラーを含むか否かを判断するように構成される。
一実施形態において、電子装置は前記コンピュータにより読み出される媒体をさらに含む。
一実施形態において、前記エラー検出エンジンはどのデータ要素がエラーを含むデータ客体を含むかを示す報告を出力するようにさらに構成される。
一実施形態において、前記ストレージ制御器は識別されたバッファ位置を受信するようにさらに構成され、前記エラー検出エンジンは前記報告を前記識別されたバッファ位置に出力するようにさらに構成される。
一実施形態において、前記データ属性客体に含まれた各属性に対する属性インデックスをさらに含む。前記データ分析エンジンは前記属性インデックスへのアクセスによって、データ要素と連関されたデータ属性客体にアクセスする。そして、前記データ分析エンジンは前記属性インデックスの活用によって、前記スクラビング検索基準に対応するデータ属性客体と連関されたデータ要素を検索してどのデータ要素が前記スクラビング検索基準に対応するか否かを判断する。
一実施形態において、前記属性インデックスは整列されたツリー(sorted tree)形態である。
一実施形態において、前記ストレージ制御器はデータ及び前記データを記述する属性値を受信するようにさらに構成され、そして前記ストレージ制御器は新しいデータ要素及び前記新しいデータ要素と連関された新しいデータ属性客体を生成するように構成され、前記新しいデータ属性客体は前記受信された属性値を含み、前記新しいデータ要素の前記データ客体は前記受信されたデータを含む。
一実施形態において、前記ストレージ制御器は1つ以上の属性値を生成するようにさらに構成され、前記新しいデータ要素と連関された前記新しいデータ属性客体は前記1つ以上の生成された属性値を含む。
一実施形態において、前記ストレージ制御器は前記受信したデータに対応するエラー訂正値を生成するようにさらに構成され、前記新しいデータ要素の前記エラー訂正客体は前記エラー訂正値を含む。
一実施形態において、前記データ属性客体に含まれた各属性に対する属性インデックスをさらに含み、前記ストレージ制御器は前記新しいデータ要素に対応するノードを含むように各データ属性インデックスを更新するようにさらに構成される。
本発明のその他の側面において、データストレージ装置においてスクラビングを遂行する方法が提供される。1つ以上のデータ要素が前記データストレージ装置に格納され、各データ要素は1つ以上のデータ属性と連関されて格納され、各データ要素はデータ客体及びエラー訂正客体を含む。方法はプロセッサによってスクラビング検索基準を受信する段階、前記プロセッサによって前記スクラビング検索基準に対応するデータ属性と連関されたデータ要素の位置を検索する段階、前記プロセッサによって前記スクラビング検索基準に対応する前記データ属性を有する前記位置が検索されたデータ要素の各々がスクラビングを必要とするかを判断する段階、そして前記プロセッサによってどのデータ要素がそれらのデータ客体にエラーを含むか否かを示す報告を出力する段階を含む。
本発明のその他の側面において、データスクラビング装置が提供される。データスクラビング装置はデータ要素を含むコンピュータにより読出し可能な媒体を含み、各データ要素はデータ属性客体と連関されて格納され、各データ要素はデータ客体及びエラー訂正客体を含み、各データ属性客体は定められた数の属性を含む。データスクラビング装置は、またデータ属性客体に含まれた各属性に対する属性インデックスを含む。データスクラビング装置は、またスクラビング(scrubbing)検索基準及び識別されたバッファ位置を受信するように構成されるストレージ制御器を含む。ストレージ制御器はデータ分析エンジン及びエラー検出エンジンを含む。データ分析エンジンは属性インデックスを活用して前記スクラビング検索基準に対応するデータ属性客体と連関されて前記コンピュータにより読出し可能な媒体に格納されたデータ要素を検索するように構成される。エラー検出エンジンは前記スクラビング検索基準に対応するデータ属性客体と連関されて検索された各データ要素に対して前記データ客体を前記エラー訂正客体と比較して前記データ客体がエラーを含むか否かを判断し、そしてどのデータ要素がエラーを含むデータ客体を含むかを示す報告を前記識別されたバッファ位置に出力するようにさらに構成される。
本発明によれば、スクラビングはスマートストレージ装置において遂行される。したがって、スマートストレージ装置の性能が向上し、スマートストレージ装置を使用するホストの作業負荷が減少する。
詳細な説明と共に、添付した図面は本発明の例示的な実施形態を示し、詳細な説明と共に本発明の原理を説明する。
本発明の実施形態に係るストレージ装置のブロック図である。 本発明の実施形態に係るデータ属性客体のダイヤグラムである。 本発明の一部の実施形態に係る第1及び第2属性インデックスのダイヤグラムである。 本発明の実施形態に係ってスクラブするデータの位置を検索する手続を説明する順序図である。 本発明の実施形態に係る外部制御器からストレージ制御器110によって受信される書込みコマンドのダイヤグラムである。 本発明の実施形態に係るデータのストレージ装置への書き込みを説明する順序図である。
以下の詳細な説明において、本発明の特定な例示的な実施形態、例示的な方法を図示及び説明する。この分野に熟練した者が分かるように、本発明は数多くの異なる形態により具現でき、ここに提示した実施形態に限定されると解釈されてはならない。各例示的な実施形態の特性又は側面の説明は通常的に他の例示的な実施形態の他の類似な特性又は側面に対して可能であると看做される。類似な参照番号は詳細な説明にわたって類似な要素を称する。
本記載はスマートストレージ装置に係る。スマートストレージ装置は属性(attribute)値と連関してデータを格納する。属性値はデータ及びデータが汚染された(corrupt)か否かを判断するのに使用されるエラー訂正値を記述する。スマートストレージ装置は外部の装置又はアプリケーション(application)からスクラビング(scrubbing)検索基準を受信する。スクラビング検索基準はスクラブ(scrub)されるデータに属する属性を記述するが、スクラブされるデータの位置を含まないことがあり得る。スマートストレージ装置はスクラビング検索基準に適合する(meet)データに対してデータスクラビングを遂行し、スマートストレージ装置に格納されたどのデータがスクラビング検索基準に適合し、汚染されたかを示す報告を出力する。
図1は本発明の実施形態に係るストレージ装置のブロック図である。ストレージ装置100はストレージ制御器110(例えば、ディスク制御器)及びストレージ媒体120を含む。ストレージ制御器110は外部制御器130と通信する。一部の実施形態において、外部制御器130はストレージ媒体120に保管されたデータを管理するファイルシステムを実行する。他の実施形態において、外部制御器130はストレージ媒体120に保管されたデータをデータベースとして管理する。
データはストレージ媒体120にデータ要素125a乃至125d(総称して、‘‘データ要素125’’と称する)の形態により格納される。各データ要素125はデータ属性客体121a乃至121d(総称して、‘‘データ属性客体121’’と称する)、データ客体122a乃至122d(総称して、‘‘データ客体122’’と称する)、そしてエラー訂正客体123a乃至123d(総称して、‘‘エラー訂正客体123’’と称する)(例えば、チェックサム(checksum)値)を含む。
データ客体122は、外部制御器130のような装置がストレージ媒体120に格納した実質的なデータを含む。
エラー訂正客体123は対応するデータ客体122に含まれたデータに対する冗長データを含む(例えば、エラー訂正客体123aはデータ客体122aに含まれたデータに対する冗長データを含み、エラー訂正客体123bはデータ客体122bに格納されたデータに対する冗長データを含む等)。一部の実施形態において、例えば、エラー訂正客体123はチェックサム値を含む。実施形態において、エラー訂正客体123は循環冗長チェック(cyclic redundancy check)、消去コード、ハッシュ(hash)コード、BCHコード、ハミングコード、及び/又は他のエラー検出又は訂正方法論より導出される値を含む。‘‘冗長データ’’を説明したが、多様な実施形態において、エラー訂正客体123に格納されたデータは対応するデータ客体122に含まれたデータ又はデータの部分を含まないことがあることに注意しなければならない。多様な実施形態において、冗長データは対応するデータ客体122に含まれたデータより小さいか、又は大きい。すなわち、 ‘‘冗長データ’’はデータ客体122に含まれたデータより大きいことがあり得る。エラー訂正客体123に含まれたデータはデータ客体122が汚染されたか否かを判断するために対応するデータ客体122に含まれたデータと比較される。この発明の明細書の提出時にこの分野において通常の技術を有する者はエラー訂正客体123に対する多数の可能な構成に精通している。
データ客体122及びエラー訂正客体123は別の客体として示したが、一部の実施形態においてデータ客体122に格納されたデータ及びエラー訂正客体123に格納された冗長データは分離不可能な単一データの形態を有する。例えば、多様なエラー検出又はエラー訂正コード又は前記方法論により、冗長データはデータ内に配置されるか、又は冗長データはデータを変換するのに使用されて、データ及び冗長データがデータ客体の分離不可能な構成要素の形成をもたらす。
データ属性客体121は、対応するデータ客体122を説明する属性に対する値を含む(例えば、データ属性客体121aはデータ客体122aを説明する値を含み、データ属性客体121bはデータ客体122bを説明する値を含む)。一部の実施形態において、データ属性客体121はデータ客体122に含まれたデータの生成日、最終修正日、及び/又はサイズを示す値を含む。一部の実施形態において、データ属性客体121はデータ客体122に含まれたデータを生成した使用者又はプログラム、又はデータ客体122に含まれたデータをストレージ媒体120に格納しようとした使用者又はプログラムを示す。
一実施形態において、データ属性客体121はデータ客体122に含まれたデータの敏感度属性に対する値を含む。敏感度は任意のレベルに分割される。重要データ、又は小さい汚染エラーが大きな問題となるデータにはさらに高い敏感度レベルが割当される。一部の実施形態において、さらに高い敏感度レベルを有するデータはさらに頻繁にスクラブされる。
一部の実施形態において、データ属性客体121はデータ客体122に含まれたデータをスクラビングした最後の時間及び日付を示す値を含む。
図2は本発明の実施形態に係るデータ属性客体200の一実施形態のダイヤグラムである。データ属性客体200は次のブロック206のサイズを示す値を含むブロック204を含む。ブロック206はデータ属性客体200を含むデータ要素125に対する固有識別子(以後、‘‘UID’’と称することもある)である値を含む。ストレージ媒体の各データ要素125は固有のUIDを有する。
ブロック208は次のブロック210のサイズを示す値を含む。ブロック210は第1属性として説明されるデータ属性客体200に対応するデータ客体122の属性(又は、例えば、それに含まれたデータの属性)を記述する値を含む。
データ属性客体200のようなデータ属性客体の実施形態は多様な多数の属性を含む。各属性は次のブロックのサイズを示す値を含むブロック、及び属性の値を含むブロックを含む。例えば、データ属性客体200はX個の属性を含む。したがって、データ属性客体200は、第X属性を記述する値のサイズを示す値を含むブロック208’及び第X属性を記述する値を含むブロック210’を含む。
例示的なデータ属性客体200において、対応するデータ客体を記述する属性に対する値は可変的なサイズを有する。代案的な実施形態において、各値は特定の(specified)長さを有する。したがって、このような実施形態において、データ属性客体は値のサイズを記述するブロックを含まなくともよい。
再び図1を参照すると、ストレージ制御器110はファームウェア112、エラー検出エンジン114、そしてデータ分析エンジン116を含む。
ストレージ制御器110は外部制御器130からスクラビング検索基準を受信する。スクラビング検索基準は少なくとも1つの特定の属性、特定の属性の値、そして関係識別子(例えば、より小さい、より大きい、等しい、同一であるか又はより大きい、あるいは等しいか、又はより小さい)を含む。一部の実施形態において、スクラビング検索基準は複数の特定の属性、対応する属性値、そして対応する関係識別子、そして‘‘論理積(AND)’’、‘‘論理和(OR)’’、‘‘排他的論理和(XOR)’’又は各々の間の他の関係を含む。これと共に、受信された任意のスクラビング検索基準及び対応する関係識別子はデータ整合規則を形成する。データ属性客体121に含まれた属性値がデータ整合規則と比較されて、データ属性客体121がデータ整合規則に相応しいか否かが判断される。
例えば、スクラビング検索規則は、「第1属性(ファイルサイズに対応)が50MBより小さく」、論理積(AND)、「第2属性(生成日に対応)が2016/01/01以後であり」、論理積(AND)「第2属性が2016/01/31以前である」場合を含む。したがって、2016年1月中に生成され、50MBより小さいデータを含むデータ客体122に対応するデータ属性客体121はデータ整合規則を満足する。2016年1月に生成されないデータを含むか、又は50MBより大きいデータを含むデータ客体122に対応するデータ属性客体121はデータ整合規則を満足しない。
データ分析エンジン116はデータ属性客体121に含まれた値にアクセスする。ストレージ制御器110がスクラビング検索基準を受信する時、データ分析エンジン116はどのデータ要素125がデータ整合規則に相応しいデータ属性客体121を含むか否かを判断する。データ分析エンジン116はデータ整合規則に相応しいデータ属性客体121を有すると検索されたデータ要素125をエラー検出エンジン114に通知する。これは各データ要素125のUIDをエラー検出エンジン114に伝達することによって、又は少なくともデータ客体122に含まれたデータ、及びエラー訂正客体123を含むデータ要素125に含まれたデータのエラー検出エンジン114への直接伝達によって達成される。
エラー検出エンジン114は、エラー訂正客体123に含まれたデータ及びデータ客体122に含まれたデータの比較に基づいて、データ整合規則に相応しいデータ要素125のいずれかがエラーを含むか、即ち汚染されたかを、判断する。例えば、エラー訂正客体123に含まれたデータ及びデータ客体122に含まれたデータの比較は、エラー訂正客体123に含まれたデータを生成するのに使用されるコーディングスキームによって要求されるエラー検出方法又はメカニズムの形態を取る。この分野において通常の技術を有する者はこのような比較を遂行するための方法又はメカニズムに精通している。このような方法又はメカニズムはチェックサム、循環冗長チェック、消去コード、ハッシュコード、BCHコード、又はハミングコードを含むが、これに限定されない。一部の実施形態において、エラー検出エンジン114はチェックサムエンジンである。
一部の実施形態において、エラー検出エンジン114は、(1)データ整合規則に相応しいデータ属性客体121を含み、そして(2)比較された時に、データ客体122に含まれたデータが汚染されたことを示すデータ客体122及びエラー訂正客体123を全て含むデータ要素125を識別する報告を生成する。一部の実施形態において、外部制御器130はスクラビング基準と共にバッファを識別し、ストレージ制御器110は報告を識別されたバッファに書き込む。外部制御器130は識別されたバッファから報告を読み出す。外部制御器130は識別された汚染されたデータを補修する段階を有する。
一部の実施形態において、エラー訂正客体123は、汚染されたと判断された時にデータ客体122に含まれたデータを補修するのに充分な冗長データを含む。例えば、エラー訂正客体123はハミングコードまで導出される値を含む。このような実施形態において、データ客体122に格納されたデータが汚染されたと判断することによって、エラー検出エンジン114は可能であれば、汚染されたデータを補修する。一部のこのような実施形態において、報告は(1)エラーが検索され、修正されたか、又は(2)エラーが検索され、修正不可能であるかを示す。
図3は本発明の一部の実施形態に係る第1属性インデックス310及び第2属性インデックス320のダイヤグラムである。一部の実施形態において、ストレージ装置100はストレージ媒体120に格納されたデータ要素125のデータ属性客体121に含まれた各属性に対する1つの属性インデックスを含む。例えば、図3において、データ属性客体121は第1属性及び第2属性に対する値を含む。したがって、ストレージ装置100は第1属性に対応する第1属性インデックス310及び第2属性に対応する第2属性インデックス320を含む。このような実施形態において、データ分析エンジン116はデータ属性インデックスを利用してどのデータ要素125がデータ整合規則に相応しいデータ属性客体121を含むかを判断する。
属性インデックスはストレージ媒体120に格納された各データ要素125に対するノード(node)を含む。特定のデータ要素125に対するノードは特定のデータ要素125のデータ属性客体121に含まれた属性インデックスの対応する属性に対する値を含む(例えば、第1属性に対応する第1属性インデックス310のノードは各データ属性客体121に格納された第1属性値を含む)。各ノードは、またUID又はストレージ媒体120上のデータ要素の位置に対するポインターのような特定のデータ要素125の固有識別子を含む。
属性インデックスはノードに含まれた属性の値に基づいて整列される。一部の実施形態において、属性インデックスは整列されたツリー(sorted tree)形態である。データ分析エンジン116は特定の属性を有するスクラビング検索基準を受信する時、データ分析エンジン116は、特定の属性及び関係識別子の値を満足する特定の属性に対応する属性の値を有するすべてのデータ要素125の固有識別子(UIDのような)を作成するために特定の属性に対応する属性インデックスを使用する。
一部の実施形態において、属性インデックスのノードはデータ属性客体121である。そのような実施形態において、データ要素125は属性インデックスに格納されたデータ属性客体121と連関されるが、データ要素125はデータ属性客体121を含まず、データ客体122に含まれたデータを記述する属性はデータ要素125に格納されない。
図4は本発明の実施形態に係ってスクラブするデータの位置を検索する手続を説明する順序図である。この手続は、例えば図1の装置によって遂行される。
S402段階において、スクラビング検索基準が受信される。スクラビング検索基準はデータ整合規則を含む。例えば、スクラビング検索基準は少なくとも1つの特定の属性、特定の属性の特定な値、そして関係識別子(より小さい、より大きい、等しい、同一であるか、又はより大きい、あるいは等しいか又はより小さいのような)を含む。一部の実施形態において、スクラビング検索基準は複数の特定の属性、対応する属性値、そして対応する関係識別子、そして‘‘論理積(AND)’’、‘‘論理和(OR)’’、‘‘排他的論理和(XOR)’’又はデータ整合規則に適合するために必ず満足しなければならない各々の間に定義された他の関係を含む。一部の実施形態において、識別されたバッファの位置もまたS402段階において受信される。S402段階は、例えば、ストレージ制御器110(又はストレージ制御器110と連関されたプロセッサ)によって遂行される。
S404段階において、データ整合規則に相応しいデータ要素125の位置が検索される。S404段階は、例えばデータ分析エンジン116(又は、データ分析エンジン116と連関されたプロセッサ)によって遂行される。
一部の実施形態において、データ要素125の位置は図3を参照して説明したような属性インデックスを利用して検索される。データ整合規則により各特定のアクセス項目に対して、特定の属性の特定の値及び関係識別子を満足するノードに対して同一の属性に対応する属性インデックスが検索される。一実施形態において、例えば属性インデックスは整列されたツリー(sorted tree)形態である。特定の属性及び関係識別子を満足するノードに対する属性インデックスを検索するために、特定の属性に対する特定の値に対応する新しいノードが整列されたツリーに追加され、ルート(root)ノードにより作られる。ルートノードの左側又は右側のノードに含まれたUIDのような固有識別子の全てが、関係識別子(例えば、より小さい、又はより大きい)に依存して、特定の属性の特定の値及び関係識別子を満足するデータ要素125を示すように作成される。特定の属性の多重の特定の値が単一データ整合規則に含まれる時、一旦、各々を満足するデータ要素125が検索されれば、データ要素125の目録が‘‘論理積(AND)’’、‘‘論理和(OR)’’、‘‘排他的論理和(XOR)’’又は各々の間の他の関係に基づいて比較されて、全体データ整合規則を満足するデータ要素125の目録が確立される。
代案的な実施形態において、ストレージ媒体120に含まれた各データ要素125のデータ属性客体121はそれがデータ整合規則を満足するか否かを判断するためにチェックされる。
S406段階において、S404段階における位置が検索されたデータ整合規則を満足するデータ要素125がエラーを含むか否かを判断される。S406段階は、例えば、エラー検出エンジン114(又はエラー検出エンジン114と連関されたプロセッサ)によって遂行される。データ客体122に含まれたデータはエラー訂正客体123に含まれた冗長データと比較される。この比較に基づいて、データ客体122に含まれたデータが汚染されたか、即ち、エラーを有するかが判断される。エラーを含む各データ要素125の固有識別子(ストレージ媒体120上のデータ要素125の位置に対するポインター又はUIDのような)の目録(list)が作成される。
S408段階において、位置が検索されたデータ要素125の状態が報告される。S408段階は、例えば、ストレージ制御器110(又はストレージ制御器110と連関されたプロセッサ)によって遂行される。一部の実施形態において、データ要素125の目録が生成される。目録は(格納媒体120上のデータ要素125の位置に対するポインター又はUIDのような)各データ要素125の固有識別子を含む。一部の実施形態において、目録はエラーを有すると検索された各データ要素125を含む。エラーは修正されない可能性がある。代案的な実施形態において、目録はデータ整合規則を満足した各データ要素125及び各データ要素125の状態(例えば、エラーを含むか、又は含まないか)を含む。
バッファが識別される一部の実施形態において、S408段階にて、報告が識別されたバッファ位置に格納される。エラー訂正客体123が充分な冗長データを含む一部の実施形態において、データ客体123に格納されたデータの任意の検出されたエラーは補修される。
図5は本発明の実施形態に係る外部制御器130からストレージ制御器110によって受信される書込みコマンド500のダイヤグラムである。コマンドはどんな行動が遂行されるかをストレージ制御器110に示す値を含む操作ブロック502(operation block)を含む。ここで、操作ブロック502内の値はストレージ制御器が書込みコマンド500に応答してストレージ媒体にデータを書き込むべきであることを示す。
ブロック504は第1属性に対する値を含む。ブロック506は第2属性に対する値を含む。ブロック508は第3属性に対する値を含む。一部の実施形態において、属性に対する値を含むブロックの数が設定され、各書込みコマンドは各属性に対する値を含む必要がある。ブロック510はストレージ媒体120に格納されるデータを含む。第1属性、第2属性、及び第3属性のような属性の値はブロック510に含まれたデータを記述する。
図6は本発明の実施形態に係るデータのストレージ装置100への書き込みを説明する順序図である。この手続は、例えば図1の装置によって遂行される。
S602段階において、書込みコマンドが受信される。書込みコマンドは、例えば、図5の書込みコマンド500である。S602段階はストレージ制御器110(又はストレージ制御器110と連関されたプロセッサ)によって遂行される。書込みコマンドはストレージ媒体120に書き込まれるデータ及びデータの属性を記述する属性値を含む。
S604段階において、エラー訂正値が生成される。S604段階はストレージ制御器110(又はストレージ制御器110と連関されたプロセッサ)によって遂行される。生成によって、エラー訂正値はストレージ媒体120に格納されるデータの値に対応する。その後、データが汚染されたか、即ちエラーを含むと、エラー訂正値のデータとの比較はデータが汚染されたか、即ち、最初の形態から不適切に変更されたことを示す。一部の実施形態において、エラー訂正値はチェックサム値である。代案的な実施形態において、エラー訂正値はデータのコピー又はデータの部分である。他の代案的な実施形態において、エラー訂正値は循環冗長チェック、消去コード、ハッシュコード、BCHコード、ハミングコード、及び/又は他のエラー検出又は訂正方法論によって導出される。
代案的な実施形態において、エラー訂正値は書込みコマンドの一部としてS602段階において受信される。
S606段階において、データ要素125が生成される。S606段階は、例えば、ストレージ制御器110(又はストレージ制御器110と連関されたプロセッサ)によって遂行される。
データ要素125はデータ属性客体121を含む。データ属性客体121はデータ要素125に格納されるデータを記述する属性値を含む。一部の実施形態において、データ属性客体121に含まれた属性値はS602段階において受信された書込みコマンドに含まれた属性値である。一部の実施形態において、データ属性客体121は書込みコマンドにより受信されない属性値を追加的に含む。例えば、データ属性客体121はストレージ媒体120に追加された日付及び時間、データがエラーに対してチェックされた最後日付及び時間、データがスクラブされた最後時間、又は書込み命令から受信せずに分かる他のデータ属性に対する属性値を含む。
データ属性客体121に続いて、データ要素125はデータ客体122を含む。データ客体122はS602段階において書込みコマンドの一部として受信されたストレージ媒体120に格納されるデータを含む。データ客体122に続いて、データ要素125はエラー訂正客体123を含む。エラー訂正客体123はS604段階において生成されたエラー訂正値を含む。
S608段階において、生成されたデータ要素125がストレージ媒体120に格納される。S608段階はストレージ制御器110(又はストレージ制御器110と連関されたプロセッサ)によって遂行される。
S610段階において、ストレージ装置100がデータ客体125の位置を検索するのに使用するためのデータ属性インデックスを含む一部の実施形態において、各属性インデックスが生成されたデータ要素125に対応する新しいノードに更新される。各新しいノードは属性インデックスに対応するデータ属性客体121に含まれた値、そしてUID又はストレージ媒体120上のデータ要素の位置に対するポインターのような特定のデータ要素125の固有識別子を含む。属性インデックスがツリー形態に整列される実施形態のような属性インデックスの整列実施形態により、属性インデックスは整列を維持するように更新される。
‘‘第1’’、‘‘第2’’、‘‘第3’’等の用語を多様な要素、構成要素、領域、階層、及び/又はセクションを説明するために、ここで使用するが、このような要素構成要素、領域、階層、及び/又はセクションはこのような用語によって限定されないと理解されるべきである。このような用語は1つの要素、構成要素、領域、階層又はセクションをその他の1つの要素、構成要素、領域、階層又はセクションから区別するために使用される。したがって、以下において記述する第1要素、構成要素、領域、階層又はセクションは本発明の技術思想及び範囲から逸脱せず、第2要素、構成要素、領域、階層、又はセクションと称する。
1つの要素又は階層がその他の1つの要素又は階層の‘‘上に’’、‘‘連結’’、又は‘‘結合’’されると言及されれば、これは他の要素又は階層の直ちに上に、連結又は結合されるか、又は1つ以上の挟まれた要素又は階層が存在する。また、1つの要素又は階層が2つの要素又は階層の‘‘間’’にあると言及すれば、これは2つの要素又は階層の間の唯一の要素又は階層であるか、又は1つ以上の挟まれた要素又は階層が、また存在する。
ここに使用する用語は具体的な実施形態を記述する目的のためであり、本発明の制限を意図しない。ここで使用するように、単数形態は文脈が特に指摘しなければ、複数形態もまた含む。この明細書において使用される時に、‘‘含む’’、‘‘含んでいる’’は言及した特性、整数、段階、動作、要素、及び/又は構成要素の存在を明示し、1つ以上の他の特性、整数、段階、動作、要素、構成要素、及び/又はこれらのグループの存在又は追加を排除しない。ここで使用する、‘‘及び/又は’’の用語は連関された羅列された項目の1つ以上の任意のそしてすべての組合せを含む。要素の羅列に先行する時に、‘‘少なくとも1つの’’のような表現は要素の全体羅列を修飾し、羅列の個別要素を修飾しない。
ここで使用する‘‘実質的に’’、‘‘大略’’、そして類似な用語は簡易化の用語として使用し、程度の用語として使用せず、この分野において通常の技術を有する者によって認識される特定の又は計算された値の自明な変更を説明するように意図する。また、本発明の実施形態を説明する時に、‘‘することができる’’の使用は‘‘本発明の1つ以上の実施形態’’を参照する。ここで、使用するように、‘‘使用する’’、‘‘使用している’’、そして‘‘使用される’’の用語は‘‘活用する’’、‘‘活用している’’、そして、‘‘活用される’’の用語と各々同意語であると看做される。また、‘‘模範的な’’の用語は例又は例示を参照すると意図される。
ここで記述する本発明の実施形態に係る電子又は電気装置及び/又は任意の他の連関された装置又は構成要素は適切なハードウェア、ファームウェア(例えば、注文形半導体(application−specific integrated circuit))、ソフトウェア、又はソフトウェア、ファームウェア、そしてハードウェアの組合せにより具現される。例えば、このような装置の多様な構成要素は1つの集積回路(IC)チップに又は別のICチップに形成される。また、このような装置の多様な構成要素はフレキシブル印刷回路フィルム(flexible printed circuit film)、テープキャリヤーパッケージ(TCP)(tape carrier package)、印刷回路基板(PCB)(printed circuit board)、又は1つの基板に具現される。また、このような装置の多様な構成要素はコンピュータプログラム命令を実行し、ここに記述した多様な機能を遂行するために他のシステム構成要素と相互作用する1つ以上のコンピューティング装置の1つ以上のプロセッサにより駆動されるプロセス又はスレッドである。例えば、ストレージ制御器110はファームウェア112、エラー検出エンジン114、そしてデータ分析エンジン116が具現される1つのプロセッサを含む。そうでなければ、ストレージ制御器110はファームウェア112が具現される第1プロセッサ、エラー検出エンジン114が具現される第2プロセッサ、そしてデータ分析エンジン116が具現される第3プロセッサを含む。コンピュータプログラム命令はコンピューティング装置において、例えばランダムアクセスメモリ(RAM)のような標準メモリ装置を利用して具現されるメモリに格納される。コンピュータプログラム命令は、例えばCDROM、フラッシュドライブ等の他の非臨時的なコンピュータ読出し可能な媒体にまた格納される。また、この分野に熟練した者は本発明の例示的な実施形態の技術思想及び範囲から逸脱せず、多様なコンピューティング装置の機能が単一コンピュータ装置に組合されるか、又は集積されるか、又は特定なコンピューティング装置の機能が1つ以上の他のコンピューティング装置に分散されることを認識できる。
この発明を例示的な実施形態を具体的に参照して詳細に記述したが、ここに記述した実施形態は完全であり、又は本発明の範囲を記述された正確な形態に限定すると意図しない。以下の請求項及びそれと等価的なものにより説明するように、この分野及びこの発明が存在する技術に熟練した者は記述した構造そして組立及び動作の方法の変更及び修正がこの発明の原理、技術思想、そして範囲から意味あるように逸脱せずに、実施されることを理解すべきである。
100 ストレージ装置
110 ストレージ制御器
112 ファームウェア
114 エラー検出エンジン
116 データ分析エンジン
120 ストレージ媒体
121、200 データ属性客体
122 データ客体
123 エラー訂正客体
125 データ要素
130 外部制御器
204、206、208、208’、210、210’、504、506、508、510 ブロック
310 第1属性インデックス
320 第2属性インデックス
500 書込みコマンド
502 操作ブロック

Claims (20)

  1. スクラビング(scrubbing)検索基準を受信するように構成されるストレージ制御器を含み、
    前記ストレージ制御器は、
    コンピュータにより読み出される媒体に含まれたデータ要素と連関されたデータ属性客体にアクセスするように構成されるデータ分析エンジンと、
    ここで、各データ要素は、データ属性客体と連関されて格納され、前記各データ要素は、データ客体及びエラー訂正客体を含み、前記データ分析エンジンは、前記スクラビング検索基準に対応するデータ属性客体と連関された前記コンピュータにより読み出される媒体に含まれたデータ要素を検索するようにさらに構成され、
    前記スクラビング検索基準に対応するデータ属性客体と連関して検索された各データ要素に対して、前記データ客体を前記エラー訂正客体と比較して前記データ客体がエラーを含むか否かを判断するように構成されるエラー検出エンジンと、を含むことを特徴とする電子装置。
  2. 前記コンピュータにより読み出される媒体をさらに含むことを特徴とする請求項1に記載の電子装置。
  3. 前記エラー検出エンジンは、どのデータ要素がエラーを含むデータ客体を含むかを示す報告を出力するようにさらに構成されることを特徴とする請求項1に記載の電子装置。
  4. 前記ストレージ制御器は、識別されたバッファ位置を受信するようにさらに構成され、
    前記エラー検出エンジンは、前記報告を前記識別されたバッファ位置に出力するようにさらに構成されることを特徴とする請求項3に記載の電子装置。
  5. 前記データ属性客体に含まれた各属性に対する属性インデックスをさらに含み、
    前記データ分析エンジンは、前記属性インデックスへのアクセスによって、データ要素と連関されたデータ属性客体にアクセスし、そして
    前記データ分析エンジンは、前記属性インデックスの活用によって、前記スクラビング検索基準に対応するデータ属性客体と連関されたデータ要素を検索してどのデータ要素が前記スクラビング検索基準に対応するかを判断することを特徴とする請求項1に記載の電子装置。
  6. 前記属性インデックスは、整列されたツリー(sorted tree)形態であることを特徴とする請求項5に記載の電子装置。
  7. 前記ストレージ制御器は、データ及び前記データを記述する属性値を受信するようにさらに構成され、そして
    前記ストレージ制御器は、新しいデータ要素及び前記新しいデータ要素と連関された新しいデータ属性客体を生成するように構成され、前記新しいデータ属性客体は、前記受信された属性値を含み、前記新しいデータ要素のデータ客体は、前記受信されたデータを含むことを特徴とする請求項1に記載の電子装置。
  8. 前記ストレージ制御器は、1つ以上の属性値を生成するようにさらに構成され、
    前記新しいデータ要素と連関された前記新しいデータ属性客体は、前記1つ以上の生成された属性値を含むことを特徴とする請求項7に記載の電子装置。
  9. 前記ストレージ制御器は、前記受信したデータに対応するエラー訂正値を生成するようにさらに構成され、
    前記新しいデータ要素の前記エラー訂正客体は、前記エラー訂正値を含むことを特徴とする請求項7に記載の電子装置。
  10. 前記データ属性客体に含まれた各属性に対する属性インデックスをさらに含み、前記ストレージ制御器は、前記新しいデータ要素に対応するノードを含むように各データ属性インデックスを更新するようにさらに構成されることを特徴とする請求項7に記載の電子装置。
  11. データストレージ装置においてスクラビング(scrubbing)を遂行する方法において、
    1つ以上のデータ要素が前記データストレージ装置に格納され、各データ要素は、1つ以上のデータ属性と連関されて格納され、各データ要素は、データ客体及びエラー訂正客体を含み、
    前記方法は、
    プロセッサによってスクラビング検索基準を受信する段階と、
    前記プロセッサによって前記スクラビング検索基準に対応するデータ属性と連関されたデータ要素の位置を検索する段階と、
    前記プロセッサによって、前記スクラビング検索基準に対応する前記データ属性を有し前記位置が検索されたデータ要素の各々がスクラビングを必要とするか否かを判断する段階と、
    前記プロセッサによって、どのデータ要素がそれらのデータ客体にエラーを含むかを示す報告を出力する段階を含むことを特徴とする方法。
  12. 前記データ要素は、コンピュータにより読み出される媒体に含まれることを特徴とする請求項11に記載の方法。
  13. 識別されたバッファ位置を受信する段階をさらに含み、
    前記報告を出力する段階は、前記報告を前記識別されたバッファ位置に出力する段階を含むことを特徴とする請求項11に記載の方法。
  14. 前記スクラビング検索基準に対応するデータ属性と連関されたデータ要素の位置を検索する段階は、前記スクラビング検索基準に対応するノードに対する属性インデックスを検索する段階を含むことを特徴とする請求項11に記載の方法。
  15. 前記属性インデックスは、整列されたツリー(sorted tree)形態であることを特徴とする請求項14に記載の方法。
  16. 前記プロセッサによってデータ及び前記データを記述する属性値を受信する段階と、
    前記プロセッサによって新しいデータ要素を生成する段階と、をさらに含み、
    前記新しいデータ要素は、前記受信された属性値及び前記受信されたデータを含む新しいデータ要素のデータ客体と連関されて格納されることを特徴とする請求項11に記載の方法。
  17. 前記プロセッサによって1つ以上の属性値を生成する段階をさらに含み、
    前記新しいデータ要素は、前記1つ以上の生成された属性値と連関されて格納されることを特徴とする請求項16に記載の方法。
  18. 前記プロセッサによって前記受信されたデータに対応するエラー訂正値を生成する段階をさらに含み、
    前記新しいデータ要素の前記エラー訂正客体は、前記エラー訂正値を含むことを特徴とする請求項16に記載の方法。
  19. 前記プロセッサによって前記新しいデータ要素に対応するノードを含むように属性インデックスを更新する段階をさらに含むことを特徴とする請求項16に記載の方法。
  20. データ要素を含むコンピュータにより読出し可能な媒体と、
    各データ要素は、データ属性客体と連関されて格納され、前記各データ要素は、データ客体及びエラー訂正客体を含み、各データ属性客体は、定められた数の属性を含み、
    データ属性客体に含まれた各属性に対する属性インデックスと、
    スクラビング(scrubbing)検索基準及び識別されたバッファ位置を受信するように構成されるストレージ制御器と、を含み、
    前記ストレージ制御器は、
    属性インデックスを活用して前記スクラビング検索基準に対応するデータ属性客体と連関されて前記コンピュータにより読出し可能な媒体に格納されたデータ要素を検索するように構成されるデータ分析エンジンと、
    前記スクラビング検索基準に対応するデータ属性客体と連関されて検索された各データ要素に対して前記データ客体を前記エラー訂正客体と比較して前記データ客体がエラーを含むか否かを判断し、そしてどのデータ要素がエラーを含むデータ客体を含むかを示す報告を前記識別されたバッファ位置に出力するようにさらに構成されるエラー検出エンジンと、を含むことを特徴とするデータスクラビング装置。
JP2017150129A 2016-08-15 2017-08-02 データスクラビングを実行する電子装置、方法、及びデータスクラビング装置 Active JP6788554B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662375411P 2016-08-15 2016-08-15
US62/375411 2016-08-15
US15/284,478 US10241860B2 (en) 2016-08-15 2016-10-03 Method of executing data scrubbing inside a smart storage device
US15/284478 2016-10-03

Publications (3)

Publication Number Publication Date
JP2018028905A true JP2018028905A (ja) 2018-02-22
JP2018028905A5 JP2018028905A5 (ja) 2020-08-27
JP6788554B2 JP6788554B2 (ja) 2020-11-25

Family

ID=61160167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017150129A Active JP6788554B2 (ja) 2016-08-15 2017-08-02 データスクラビングを実行する電子装置、方法、及びデータスクラビング装置

Country Status (6)

Country Link
US (1) US10241860B2 (ja)
JP (1) JP6788554B2 (ja)
KR (1) KR102094932B1 (ja)
CN (1) CN107765994B (ja)
DE (1) DE102017122216A1 (ja)
TW (1) TWI699644B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10437501B1 (en) 2018-03-23 2019-10-08 EMC IP Holding Company LLC Storage system with detection and correction of reference count based leaks in physical capacity
US10901847B2 (en) * 2018-07-31 2021-01-26 EMC IP Holding Company LLC Maintaining logical to physical address mapping during in place sector rebuild
US11163886B2 (en) * 2018-09-28 2021-11-02 Dell Products L.P. Information handling system firmware bit error detection and correction
US11494119B2 (en) * 2020-09-10 2022-11-08 Micron Technology, Inc. Memory searching component
DE102020129606A1 (de) 2020-11-10 2022-05-12 nxtbase technologies GmbH Verfahren zur steuerung von prozessen mittels einer sprachbefehlseingabe

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8407191B1 (en) * 2010-06-29 2013-03-26 Emc Corporation Priority based data scrubbing on a deduplicated data store
WO2016013076A1 (ja) * 2014-07-23 2016-01-28 富士通株式会社 情報処理装置、メモリコントローラ、記憶装置の制御プログラム及び記憶装置の制御方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956473A (en) * 1996-11-25 1999-09-21 Macronix International Co., Ltd. Method and system for managing a flash memory mass storage system
US7136885B2 (en) * 2002-12-20 2006-11-14 International Business Machines Corporation Free space management
US7496823B2 (en) 2005-03-16 2009-02-24 Hewlett-Packard Development Company, L.P. Hardware based memory scrubbing
US8145941B2 (en) * 2006-10-31 2012-03-27 Hewlett-Packard Development Company, L.P. Detection and correction of block-level data corruption in fault-tolerant data-storage systems
JP5076488B2 (ja) * 2006-12-22 2012-11-21 富士通株式会社 情報処理装置、履歴管理方法、履歴管理プログラム
US7661045B2 (en) 2007-12-19 2010-02-09 International Business Machines Corporation Method and system for enterprise memory management of memory modules
US8280858B2 (en) 2009-06-29 2012-10-02 Oracle America, Inc. Storage pool scrubbing with concurrent snapshots
US8229901B2 (en) 2010-09-04 2012-07-24 International Business Machines Corporation Disk scrubbing
CN102184211B (zh) * 2011-05-03 2014-08-06 华为数字技术(成都)有限公司 文件系统和检索、写入、修改或删除文件的方法与装置
US8694719B2 (en) 2011-06-24 2014-04-08 Sandisk Technologies Inc. Controller, storage device, and method for power throttling memory operations
US8687421B2 (en) * 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
KR20140001535A (ko) 2012-06-27 2014-01-07 삼성전자주식회사 스토리지 시스템 및 그것의 데이터 관리 방법
US9081693B2 (en) 2012-08-17 2015-07-14 Freescale Semiconductor, Inc. Data type dependent memory scrubbing
US9026869B1 (en) * 2012-11-01 2015-05-05 Amazon Technologies, Inc. Importance-based data storage verification
JP2016506585A (ja) * 2013-01-08 2016-03-03 ヴァイオリン メモリー インコーポレイテッド データストレージのための方法及びシステム
US9189330B2 (en) 2013-04-11 2015-11-17 International Business Machines Corporation Stale data detection in marked channel for scrub
CN105630808A (zh) * 2014-10-31 2016-06-01 北京奇虎科技有限公司 基于分布式文件系统的文件读取、写入方法及节点服务器
CN104484427B (zh) * 2014-12-19 2017-12-29 武汉长江通信智联技术有限公司 一种录像文件存储装置及方法
KR101609509B1 (ko) 2015-04-10 2016-04-05 홍익대학교 산학협력단 에러를 검출하고 수정하는 컴퓨팅 방법 및 장치
US10209895B2 (en) * 2016-02-18 2019-02-19 Toshiba Memory Corporation Memory system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8407191B1 (en) * 2010-06-29 2013-03-26 Emc Corporation Priority based data scrubbing on a deduplicated data store
WO2016013076A1 (ja) * 2014-07-23 2016-01-28 富士通株式会社 情報処理装置、メモリコントローラ、記憶装置の制御プログラム及び記憶装置の制御方法

Also Published As

Publication number Publication date
JP6788554B2 (ja) 2020-11-25
TW201807573A (zh) 2018-03-01
KR102094932B1 (ko) 2020-03-30
CN107765994A (zh) 2018-03-06
CN107765994B (zh) 2023-01-03
DE102017122216A1 (de) 2018-04-05
TWI699644B (zh) 2020-07-21
KR20180019051A (ko) 2018-02-23
US10241860B2 (en) 2019-03-26
US20180046546A1 (en) 2018-02-15

Similar Documents

Publication Publication Date Title
JP6788554B2 (ja) データスクラビングを実行する電子装置、方法、及びデータスクラビング装置
US10169383B2 (en) Method and system for scrubbing data within a data storage subsystem
JP6854885B2 (ja) 重複排除ストレージ内のイメージを修復するためのシステム及び方法
US10733045B2 (en) Online repair of metadata for structured data including file systems
US20140068208A1 (en) Separately stored redundancy
US11093331B2 (en) Method, device and computer program product for detecting incomplete write of data
KR20070003576A (ko) 파일 시스템 무결성에 대한 최적화된 시동 검증
KR20070003578A (ko) 데이터 무결성의 검증을 지연시킨 파일 시스템
US10971246B2 (en) Performing error correction in computer memory
WO2019097360A1 (en) Machine learning to enhance redundant array of independent disks rebuilds
KR102142602B1 (ko) 신규 메모리 디바이스
US20230342395A1 (en) Network key value indexing design
CN114860745B (zh) 基于人工智能的数据库扩展方法及相关设备
CN106528322B (zh) 检测数据的无记载损坏的方法和设备
US20220147499A1 (en) Schema Agnostic Migration Of Delineated Data Between Relational Databases
US20070174329A1 (en) Presenting a reason why a secondary data structure associated with a database needs rebuilding
CN112882717B (zh) 一种标签名查重方法、装置、电子设备及存储介质
US20200293196A1 (en) Compression of page of data blocks and data integrity fields for the data blocks for storage in storage device
US9934093B2 (en) Control device, method of controlling a storage device, and storage system
WO2014064545A1 (en) Maintaining integrity of output of code generators
US11182249B1 (en) Block ID encoding in an erasure coded storage system
CN116401630A (zh) 数据校验方法、装置、存储介质及计算机设备
CN114817142A (zh) 基于散列的键值到块转换方法和系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200716

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200716

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200716

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201002

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201030

R150 Certificate of patent or registration of utility model

Ref document number: 6788554

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250