TW201807573A - 電子裝置、資料洗滌裝置及對資料儲存裝置執行洗滌的方法 - Google Patents

電子裝置、資料洗滌裝置及對資料儲存裝置執行洗滌的方法 Download PDF

Info

Publication number
TW201807573A
TW201807573A TW106121177A TW106121177A TW201807573A TW 201807573 A TW201807573 A TW 201807573A TW 106121177 A TW106121177 A TW 106121177A TW 106121177 A TW106121177 A TW 106121177A TW 201807573 A TW201807573 A TW 201807573A
Authority
TW
Taiwan
Prior art keywords
data
attribute
washing
data element
patent application
Prior art date
Application number
TW106121177A
Other languages
English (en)
Other versions
TWI699644B (zh
Inventor
邱晟
奇亮奭
Original Assignee
三星電子股份有限公司
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 三星電子股份有限公司 filed Critical 三星電子股份有限公司
Publication of TW201807573A publication Critical patent/TW201807573A/zh
Application granted granted Critical
Publication of TWI699644B publication Critical patent/TWI699644B/zh

Links

Classifications

    • 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/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
    • 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)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (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

根據本發明的態樣,智慧儲存裝置可基於由應用程式遞送的包括除資料位置之外的屬性的資訊來智能地選擇資料,並對該些資料執行讀取洗滌且將結果報告至應用程式。

Description

於智慧儲存裝置內執行資料洗滌的方法
本申請案主張於2016年8月15日提出申請且名稱為「於智慧儲存裝置內執行資料洗滌的方法(METHOD OF EXECUTING DATA SCRUBBING INSIDE A SMART STORAGE DEVICE)」的美國臨時申請案第62/375,411號的優先權及權利,所述美國臨時申請案的全部內容併入本案供參考。
本發明是有關於資料儲存裝置的領域,尤其是有關於在資料儲存裝置中洗滌資料。
資料洗滌是一種週期性地檢驗記憶體或儲存器中有無錯誤,且接著以檢查總和(checksum)、錯誤修正碼或資料副本的形式使用冗餘資料來修正所述錯誤的後台任務(background task)。
諸多應用程式使用資料洗滌。舉例而言,檔案系統可利用資料洗滌來檢查儲存在儲存裝置上的資料的完整性,且資料庫可利用資料洗滌來檢查資料庫記錄的完整性。
作為資料洗滌操作的一部分,應用程式一般可藉由將資料的位置(例如,起始邏輯區塊位址及長度)遞送至儲存裝置來辨識欲執行洗滌的資料。所述儲存裝置可接著讀取所規定資料並檢查所述所規定資料的完整性。
在此先前技術部分中揭露的以上資訊僅用於增強對本發明背景技術的理解,且因此其可包含不形成對於此項技術中具有通常知識者而言已知的現有技術的資訊。
根據本發明的態樣,一種智慧儲存裝置可基於由應用程式遞送的資訊(其包括除資料位置之外的屬性)智能地選擇資料並對該些資料執行洗滌(例如,讀取洗滌)且將結果報告至應用程式。
在本發明的一個態樣中,提供一種電子裝置。所述電子裝置包括儲存控制器,所述儲存控制器被配置成接收洗滌搜索準則。所述儲存控制器包括資料分析引擎及錯誤偵測引擎。所述資料分析引擎被配置成存取與電腦可讀取媒體中所包含的資料元相關聯的資料屬性物件,每個資料元均與資料屬性物件相關聯地儲存,所述每個資料元包括資料物件及錯誤修正物件,所述資料分析引擎更被配置成發現所述電腦可讀取媒體中所包含的且與對應於所述洗滌搜索準則的資料屬性物件相關聯的資料元。所述錯誤偵測引擎被配置成對於被發現與對應於所述洗滌搜索準則的資料屬性物件相關聯的每個資料元,將所述資料物件與所述錯誤修正物件進行比較,以判斷所述資料物件是否包含錯誤。
在一個實施例中,所述電子裝置更包括所述電腦可讀取媒體。
在一個實施例中,所述錯誤偵測引擎更被配置成輸出報告,所述報告指示哪些資料元包括包含錯誤的資料物件。
在一個實施例中,所述儲存控制器更被配置成接收辨識緩衝位置,且所述錯誤偵測引擎更被配置成將所述報告輸出至所述辨識緩衝位置。
在一個實施例中,所述電子裝置包括所述資料屬性物件中所包含的每個屬性的屬性索引。所述資料分析引擎藉由存取所述屬性索引來存取與資料元相關聯的資料屬性物件。所述資料分析引擎藉由利用所述屬性索引確定哪些資料元對應於所述洗滌搜索準則來發現與對應於所述洗滌搜索準則的資料屬性物件相關聯的資料元。
在一個實施例中,所述屬性索引是排序樹。
在一個實施例中,所述儲存控制器更被配置成接收資料以及用於描述所接收的所述資料的屬性值,且所述儲存控制器被配置成產生新資料元以及與所述新資料元相關聯的新資料屬性物件,所述新資料屬性物件包含所接收的所述屬性值且所述新資料元的所述資料物件包含所接收的所述資料。
在一個實施例中,所述儲存控制器更被配置成產生一或多個屬性值,且與所述新資料元相關聯的所述新資料屬性物件包含所產生的所述一或多個屬性值。
在一個實施例中,所述儲存控制器更被配置成產生與所接收的所述資料對應的錯誤修正值,且所述新資料元的所述錯誤修正物件包含所述錯誤修正值。
在一個實施例中,所述電子裝置包括所述資料屬性物件中所包含的每個屬性的屬性索引,且所述儲存控制器更被配置成將每個資料屬性索引更新成包括與所述新資料元對應的節點。
在本發明的另一態樣中,提供一種對資料儲存裝置執行洗滌的方法。在所述資料儲存裝置上儲存有一或多個資料元,每個資料元均與一或多個資料屬性相關聯地儲存,所述每個資料元包括資料物件及錯誤修正物件。所述方法包括以下步驟:由處理器接收洗滌搜索準則;由所述處理器對與對應於所述洗滌搜索準則的資料屬性相關聯的資料元進行定位;由所述處理器判斷具有對應於所述洗滌搜索準則的所述資料屬性的所定位的所述資料元中的每一個是否需要洗滌;以及由所述處理器輸出報告,所述報告指示哪些資料元在其資料物件中包含錯誤。
在本發明的另一態樣中,提供一種資料洗滌裝置。所述資料洗滌裝置包括包含資料元的電腦可讀取媒體,每個資料元均與資料屬性物件相關聯地儲存,每個資料元包括資料物件及錯誤修正物件,每個資料屬性物件均包含設定數目的屬性。所述資料洗滌裝置亦包括所述資料屬性物件中所包含的每個屬性的屬性索引。所述資料洗滌裝置更包括儲存控制器。所述儲存控制器包括資料分析引擎及錯誤偵測引擎。所述資料分析引擎被配置成利用屬性索引來發現所述電腦可讀取媒體中所包含的且與對應於所述洗滌搜索準則的資料屬性物件相關聯的資料元。所述錯誤偵測引擎被配置成對於被發現與對應於所述洗滌搜索準則的資料屬性物件相關聯的每個資料元,將所述資料物件與所述錯誤修正物件進行比較,以判斷所述資料物件是否包含錯誤,且更被配置成向所述辨識緩衝位置輸出報告,所述報告指示哪些資料元包括包含錯誤的資料物件。
在以下詳細說明中,藉由說明而示出及闡述本發明的僅某些示例性實施例。熟習此項技術者將認識到,本發明可被實施為諸多不同形式且不應被視為僅限於本文所述實施例。對每個示例性實施例內的特徵或態樣的說明應通常被視為可用於其他示例性實施例中的其他相似特徵或態樣。在本說明書通篇中,相同的參考編號表示相同的元件。
本發明是有關於一種智慧儲存裝置。所述智慧儲存裝置儲存與用於描述資料的屬性值及可用於判斷資料是否已損壞的錯誤修正值相關聯的資料。智慧儲存裝置可自外部裝置或應用程式接收洗滌搜索準則。洗滌搜索準則描述屬於欲被洗滌的資料的屬性,但可不包含欲被洗滌的資料的位置。智慧儲存裝置對滿足洗滌搜索準則的資料執行資料洗滌且可輸出報告,所述報告指示儲存於智慧儲存裝置中的哪些資料滿足洗滌搜索準則且已損壞。
圖1是根據本發明實施例的儲存裝置的方塊圖。儲存裝置100包括儲存控制器110(例如,磁碟控制器)及儲存媒體120。儲存控制器110可與外部控制器130進行通訊。在一些實施例中,外部控制器130執行用於管理在儲存媒體120上所包含的資料的檔案系統。在其他實施例中,外部控制器130管理在作為資料庫的儲存媒體120上所包含的資料。
資料是以資料元125a~125d(統稱為「資料元125」)的形式儲存於儲存媒體120上。每個資料元125包括資料屬性物件121a~121d(統稱為「資料屬性物件121」)、資料物件122a-122d(統稱為「資料物件122」)、及錯誤修正物件123a~123d(統稱為「錯誤修正物件123」)(例如,檢查總和值)。
資料物件122包含已由例如外部控制器130等裝置儲存於儲存媒體120上的大量資料。
錯誤修正物件123包含在對應的資料物件中所包含的資料的冗餘資料(例如,錯誤修正物件123a包含在資料物件122a中所包含的資料的冗餘資料,且錯誤修正物件123b包含在資料物件122b中所包含的資料的冗餘資料等)。在一些實施例中,舉例而言,錯誤修正物件123包含檢查總和值。在實施例中,錯誤修正物件123可包含由循環冗餘檢查、糾刪碼(erasure code)、散列碼(hash code)、博斯-查德胡裡-霍坤格姆(Bose, Chaudhuri, Hocque-nghem,BCH)碼、海明碼(Hamming code)及/或其他錯誤偵測或修正方法導出的值。應注意,儘管被闡述為「冗餘資料」,然而在各種實施例中,儲存於錯誤修正物件123中的資料可不按字面意思包含在對應的資料物件122中所包含的資料或所述資料的一部分。在各種實施例中,冗餘資料可小於或大於在對應的資料物件122中所包含的資料;因此,「冗餘資料」可大於在資料物件122中所包含的資料。可將錯誤修正物件123中所包含的資料與對應的資料物件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包括區塊204,區塊204包含表示下一區塊206的大小的值。區塊206所包含的值是包含資料屬性物件200的資料元125的唯一辨識符(在下文中稱為'UID')。儲存媒體中的每個資料元125可具有唯一UID。
區塊208包含表示下一區塊210的大小的值。區塊210所包含的值描述與資料屬性物件200對應的資料物件122的屬性(或者,例如,資料物件122中所包含的資料的屬性),所述值可被描述為「屬性1」。
例如資料屬性物件200等資料屬性物件的實施例可包括各種數目的屬性。每個屬性可包括包含表示下一區塊的大小的值的區塊、以及包含所述屬性的值的區塊。舉例而言,資料屬性物件200包括X個屬性;因此,資料屬性物件200包括直到區塊208'及區塊210'且包括區塊208'及區塊210'在內的區塊,區塊208'所包含的值表示描述屬性X的值的大小且區塊210'所包含的值描述屬性X。
在示例性資料屬性物件200中,用於描述對應的資料物件的屬性的值可具有可變大小。在替代實施例中,每個值可具有規定長度。因此,在此種實施例中,資料屬性物件可不包含用於描述值的大小的區塊。
返回圖1,儲存控制器110包括韌體112、錯誤偵測引擎114及資料分析引擎116。
儲存控制器110可自外部控制器130接收洗滌搜索準則。洗滌搜索準則可包含至少一個規定屬性、規定屬性的值及關係辨識符(例如,小於、大於、等於、大於或等於、或者小於或等於)。在一些實施例中,洗滌搜索準則包含多個規定屬性、對應的屬性值、對應的關係辨識符以及每個規定屬性之間的「及(AND)」、「或(OR)」、「互斥或(XOR)」或其他關係。同時,所接收的任一洗滌搜索準則與對應的關係辨識符形成資料匹配規則。可將資料屬性物件121中所包含的屬性值與資料匹配規則進行比較以判斷資料屬性物件121是否滿足資料匹配規則。
舉例而言,洗滌搜索準則可包括屬性1(對應於檔案大小)小於50百萬位元組及(AND)屬性2(對應於生成日期)晚於01/01/2016及(AND)屬性2早於01/31/2016。因此,與包含在2016年1月期間生成的小於50百萬位元組的資料的資料物件122對應的資料屬性物件121將通過所述資料匹配規則。與包含大於50百萬位元組的資料或包含不是在2016年1月生成的資料的資料物件122對應的資料屬性物件121將不會通過所述資料匹配規則。
資料分析引擎116可對在資料屬性物件121中包含的值進行存取。當儲存控制器110接收到洗滌搜索準則時,資料分析引擎116確定哪些資料元125包含滿足資料匹配規則的資料屬性物件121。資料分析引擎116向錯誤偵測引擎114指明哪些資料元125被發現具有滿足資料匹配規則的資料屬性物件121。此可藉由將每個資料元125的UID遞送至錯誤偵測引擎114或者藉由將資料元125中所包含的資料(至少包括資料物件122及錯誤修正物件123中所包含的資料)直接遞送至錯誤偵測引擎114來完成。
錯誤偵測引擎114基於錯誤修正物件123中所包含的資料與資料物件122中所包含的資料之間的比較來判斷滿足資料匹配規則的資料元125是否包含錯誤或已損壞。舉例而言,錯誤修正物件123中所包含的資料與資料物件122中所包含的資料之間的比較可採用用於生成錯誤修正物件123中所包含的資料的編碼方案所需要的錯誤偵測方法或機制的形式。此項技術中具有通常知識者將熟知用於執行此種比較的方法或機制。該些方法或機制可包括但不限於檢查總和、循環冗餘檢查、糾刪碼、散列碼、博斯-查德胡裡-霍坤格姆碼或海明碼。在一些實施例中,錯誤偵測引擎114是檢查總和引擎。
在一些實施例中,錯誤偵測引擎114產生辨識包含以下兩者的資料元125的報告:(1)滿足資料匹配規則的資料屬性物件121;及(2)在進行比較時表明資料物件122中所包含的資料已損壞的資料物件122及錯誤修正物件123。在一些實施例中,外部控制器130可依據洗滌搜索準則來辨識緩衝器,且儲存控制器110可將報告寫入至所辨識的緩衝器。外部控制器130可自所辨識的緩衝器讀取報告。外部控制器130可採取措施來修復所辨識的已損壞的資料。
在一些實施例中,錯誤修正物件123包含足夠的冗餘資料,以當確定資料物件122中所包含的資料已損壞時修復所述資料。舉例而言,錯誤修正物件123可包含自海明碼導出的值。在該些實施例中,在確定資料物件122中所儲存的資料已損壞時,如果錯誤偵測引擎114能夠修復損壞的資料,則錯誤偵測引擎114可對損壞的資料進行修復。在一些此種實施例中,報告可表明:(1)發現錯誤且已修正錯誤;或(2)發現錯誤且無法修正錯誤。
圖3是根據本發明一些實施例的第一屬性索引310及第二屬性索引320的圖。在一些實施例中,對於在儲存媒體120中所儲存的資料元125的資料屬性物件121中所包括的每個屬性,儲存裝置100均包含一個屬性索引。舉例而言,在圖3中,資料屬性物件121包含屬性1的值及屬性2的值。因此,儲存裝置100包括與屬性1對應的第一屬性索引310及與屬性2對應的第二屬性索引320。在該些實施例中,資料分析引擎116可使用資料屬性索引來確定哪些資料元125包含滿足資料匹配規則的資料屬性物件121。
屬性索引包括儲存媒體120中所儲存的每個資料元125的節點。給定資料元125的節點包含給定資料元125的資料屬性物件121中所包含的屬性索引的對應屬性的值(例如,與屬性1對應的第一屬性索引310中的節點包含每個資料屬性物件121中所儲存的屬性1值)。每個節點亦包括給定資料元125的辨識符(例如,UID)或指向資料元在儲存媒體120上的位置的指標。
屬性索引可基於節點中所包含的屬性的值來排序。在一些實施例中,屬性索引是排序樹。當資料分析引擎116接收到具有規定屬性的洗滌搜索準則時,資料分析引擎116可使用與規定屬性對應的屬性索引來返回所有以下資料元125的辨識符(例如,UID):所述資料元125具有與滿足規定屬性的值及關係辨識符的規定屬性對應的屬性值。
在一些實施例中,屬性索引的節點是資料屬性物件121。在一些此種實施例中,資料元125與儲存於屬性索引中的資料屬性物件121相關聯,但資料元125不包含資料屬性物件121,且用於描述資料物件122中所包含的資料的屬性不會儲存於資料元125中。
圖4是繪示根據本發明實施例的用於對待洗滌資料進行定位的過程的流程圖。可例如藉由圖1所示裝置來執行此過程。
在402處,接收洗滌搜索準則。洗滌搜索準則包含資料匹配規則。舉例而言,洗滌搜索準則可包含至少一個規定屬性、規定屬性的規定值及關係辨識符(例如,小於、大於、等於、大於或等於、或者小於或等於)。在一些實施例中,洗滌搜索準則包含多個規定屬性、對應的屬性值對應的關係辨識符以及為了滿足資料匹配規則而必須滿足的在每個規定屬性之間定義的「及」、「或」、「互斥或」或其他關係。在一些實施例中,在402處亦接收所辨識的緩衝器的位置。舉例而言,可藉由儲存控制器110(或與儲存控制器110相關聯的處理器)來執行402。
在404處,對滿足資料匹配規則的資料元125進行定位。舉例而言,可藉由資料分析引擎116(或與資料分析引擎116相關聯的處理器)來執行404。
在一些實施例中,利用屬性索引(例如,參照圖3所闡述者)來對資料元125進行定位。對資料匹配規則中的每個規定存取項而言,搜索與相同屬性對應的屬性索引中是否存在滿足規定屬性的規定值及關係辨識符的節點。
在一個實施例中,舉例而言,屬性索引是排序樹。為搜索屬性索引中是否存在滿足規定屬性及關係辨識符的節點,將與規定屬性的規定值對應的新節點增加到排序樹且使所述新節點成為根節點(root node)。根據關係辨識符(例如,小於或大於)而位於根節點的左側或右側的節點中所包含的所有辨識符(例如,UID)均被返回以表示滿足規定屬性的規定值及關係辨識符的資料元125。當在單個資料匹配規則中包含有規定屬性的多個規定值時,一旦發現滿足每個規定屬性的規定值的資料元125,便基於每個規定屬性的規定值之間的「及」、「或」、「互斥或」或其他關係來對資料元125的列表進行比較以建立滿足全部資料匹配規則的資料元125的列表。
然而,在替代實施例中,對在儲存媒體120中所包含的每個資料元125的資料屬性物件121進行檢查以判斷資料屬性物件121是否通過資料匹配規則。
在406處,判斷在404中所定位的滿足資料匹配規則的資料元125是否包含錯誤。舉例而言,可藉由錯誤偵測引擎114(或與錯誤偵測引擎114相關聯的處理器)來執行406。將資料物件122中所包含的資料與錯誤修正物件123中所包含的冗餘資料進行比較。基於此種比較,判斷資料物件122中所包含的資料是否已損壞或具有其他方式的錯誤。返回包含錯誤的每個資料元125的辨識符(例如UID或指向資料元125在儲存媒體120上的位置的指標)的列表。
在408處,報告所定位的資料元125的狀態。舉例而言,可藉由儲存控制器110(或與儲存控制器110相關聯的處理器)來執行408。在一些實施例中,產生資料元125的列表。所述列表可包括每個資料元125的辨識符(例如UID或指向資料元125在儲存媒體120中的位置的指標)的列表。在一些實施例中,列表包括被發現具有錯誤的每個資料元125。所述錯誤可能無法修正。在替代實施例中,列表包括通過資料匹配規則的每個資料元125及每個資料元125的狀態(例如,是否包含錯誤)。
在其中辨識出緩衝器的一些實施例中(例如,在402期間),將報告儲存於所辨識的緩衝器位置處。在一些實施例中,當錯誤修正物件123包含足夠的冗餘資料時,可修復資料物件123中所儲存的資料中的任意偵測到的錯誤。
圖5是根據本發明實施例的由儲存控制器110自外部控制器130接收的寫入命令500的圖。所述命令包括操作區塊502,操作區塊502包含向儲存控制器110表示欲執行何種動作的值。此處,操作區塊502中的值表示儲存控制器應因應於命令500將資料寫入至儲存媒體。
區塊504包含屬性1的值。區塊506包含屬性2的值。區塊508包含屬性3的值。在一些實施例中,設定包含屬性的值的區塊的數目,且每個寫入命令應包含每個屬性的值。區塊510包含欲儲存在儲存媒體120上的資料。屬性值(例如,屬性1、屬性2及屬性3)描述區塊510中所包含的資料。
圖6是繪示根據本發明實施例的將資料寫入至儲存裝置100的流程圖。可例如藉由圖1所示裝置來執行所述過程。
在602處,接收寫入命令。寫入命令可為例如圖5所示寫入命令500。可藉由儲存控制器110(或與儲存控制器110相關聯的處理器)來執行602。寫入命令可包含欲被寫入至儲存媒體120的資料以及描述資料的屬性的屬性值。
在604處,產生錯誤修正值。可由儲存控制器110(或與儲存控制器110相關聯的處理器)來執行604。在生成時,錯誤修正值對應於欲儲存於儲存媒體120中的資料的值。此後,若資料損壞或以其他方式包含錯誤,則將錯誤修正值與資料進行比較可顯示出資料已損壞或者以其它方式相對於其原有形式發生不適當的改變。在一些實施例中,錯誤修正值是檢查總和值。在替代實施例中,錯誤修正值可為資料的副本或資料的一部分。在再一些替代實施例中,錯誤修正值可藉由應用循環冗餘檢查、糾刪碼、散列碼、博斯-查德胡裡-霍坤格姆碼、海明碼及/或其他錯誤偵測或修正方法導出。
在替代實施例中,在602處接收錯誤修正值作為寫入命令的一部分。
在606處,產生資料元125。舉例而言,可由儲存控制器110(或與儲存控制器110相關聯的處理器)來執行606。
資料元125可包括資料屬性物件121。資料屬性物件121可包含用於描述將利用資料元125儲存的資料的屬性值。在一些實施例中,資料屬性物件121中所包含的屬性值可為在602處所接收的寫入命令中所包含的屬性值。在一些實施例中,資料屬性物件121可另外包括不在寫入命令中接收的屬性值。舉例而言,資料屬性物件121可包含以下無需自寫入命令接收便可被辨別出的值:加到儲存媒體120的日期及時間的屬性值、對資料進行錯誤檢查的最後日期及時間、洗滌資料的最後時間或者其他資料屬性。
在資料屬性物件121之後,資料元125可包括資料物件122。資料物件122可包括欲儲存於儲存媒體120上的、在602處作為寫入命令的一部分接收的資料。在資料物件122之後,資料元125可包括錯誤修正物件123。錯誤修正物件123可包含在604處產生的錯誤修正值。
在608處,可將所產生的資料元125儲存於儲存媒體120中。可由儲存控制器110(或與儲存控制器110相關聯的處理器)來執行608。
在610處,在儲存裝置100包括用於對資料物件125進行定位的資料屬性索引的一些實施例中,利用與所產生的資料元125對應的新節點來更新每個屬性索引。每個新節點可包含與屬性索引對應的資料屬性物件121中所包含的值以及給定資料元125的辨識符(例如,UID或指向資料元在儲存媒體120上的位置的指標)。在其中對屬性索引進行排序的實施例(例如,其中屬性索引是排序樹的實施例)中,對屬性索引進行更新以使其保持排序。
應理解,儘管本文中可能使用用語「第一(first)」、「第二(second)」、「第三(third)」等來闡述各種元件、組件、區、層、及/或區段,然而該些元件、組件、區、層、及/或區段不應受限於該些用語。該些用語用於區分各個元件、組件、區、層、或區段。因此,在不背離本發明的精神及範圍的條件下,下文所述第一元件、組件、區、層、或區段亦可被稱為第二元件、組件、區、層、或區段。
應理解,當稱一元件或層「位於」另一元件或層「上(on)」、「連接至(connected to)」或「耦合至(coupled to)」另一元件或層時,所述元件或層可直接位於所述另一元件或層上、直接連接至或直接耦合至所述另一元件或層,抑或可存在一或多個中間元件或層。另外,亦應理解,當稱元件或層位於兩個元件或層「之間(between)」時,所述元件或層可為所述兩個元件或層之間的唯一元件或層,抑或亦可存在一或多個中間元件或層。
本文所用術語用於闡述特定實施例,而並非旨在限制本發明。除非上下文中清楚地另外指明,否則本文所用的單數形式「一(a及an)」旨在亦包括複數形式。更應理解,當在本說明書中使用用語「包括(comprises及comprising)」、「包含(includes及including)」時,是用於指明所述特徵、整數、步驟、操作、元件、及/或組件的存在,但不排除一或多個其他特徵、整數、步驟、操作、元件、組件及/或其群組的存在或添加。本文所用用語「及/或(and/or)」包括相關列出項中的一或多個項的任意及所有組合。當例如「…中的至少一者」等表達位於一系列元件之後時,是修飾整個系列的元件,而非修飾所述一系列中的個別元件。
本文所用用語「實質上(substantially)」、「約(about)」及類似用語用於表達近似值、而並非用於表達程度,並且旨在慮及此項技術中具有通常知識者將知的量測值或計算值的固有變化。另外,當使用「可」來闡述本發明的實施例時是指代「本發明的一或多個實施例」。本文所用的用語「使用(use)」、「正使用(using)」、及「被使用(used)」可視為分別與用語「利用(utilize)」、「正利用(utilizing)」、及「被利用(utilized)」同義。另外,用語「示例性(exemplary)」旨在指代實例或例示。
可利用任何合適的硬體、韌體(例如,應用專用積體電路)、軟體、或軟體、韌體及硬體的組合來實施本文所述的根據本發明實施例的電子或電氣裝置及/或任何其他相關裝置或組件。舉例而言,可將該些裝置中的各種組件形成於一個積體電路(integrated circuit,IC)晶片上或單獨的積體電路晶片上。另外,可將該些裝置的各種組件實作於可撓性印刷電路膜、膠帶載體封裝(tape carrier package,TCP)、印刷電路板(printed circuit board,PCB)上、或形成於一個基板上。另外,該些裝置的各種組件可為在一或多個計算裝置中由一或多個處理器運行、執行電腦程式指令並與用於執行本文所述各種功能性的其他系統組件進行交互的過程或執行緒(thread)。舉例而言,儲存控制器110可包括其中實作有韌體112、錯誤偵測引擎114、及資料分析引擎116的一個處理器。作為另外一種選擇,儲存控制器110可包括其中實作有韌體112的第一處理器、其中實作有錯誤偵測引擎114的第二處理器、以及其中實作有資料分析引擎116的第三處理器。電腦程式指令儲存於可在使用例如(舉例而言)隨機存取記憶體(random access memory,RAM)等標準記憶體裝置的計算裝置中實作的記憶體中。電腦程式指令亦可儲存於其他非暫時性電腦可讀取媒體(例如(舉例而言),唯讀光碟(CDROM)、快閃驅動機(flash drive)等)中。另外,熟習此項技術者應知,在不背離本發明示例性實施例的精神及範圍的條件下,可將各種計算裝置的功能性組合或整合成單一的計算裝置,或者可使一特定計算裝置的功能性跨越一或多個其他計算裝置來分佈。
儘管已具體參照本發明的說明性實施例詳細闡述了本發明,然而,本文所述實施例並非旨在為窮盡性的或將本發明的範圍限制於所揭露的確切形式。熟習此項技術及本發明所屬技術者將知,在不有意地背離如在以下申請專利範圍及其等效範圍中所述的本發明的原理、精神、及範圍的條件下,可實踐對所述結構以及裝配及操作方法的更改及改變。
100‧‧‧儲存裝置
110‧‧‧儲存控制器
112‧‧‧韌體
114‧‧‧錯誤偵測引擎
116‧‧‧資料分析引擎
120‧‧‧儲存媒體
121a、121b、121c、121d‧‧‧資料屬性物件
122a、122b、122c、122d‧‧‧資料物件
123a、123b、123c、123d‧‧‧錯誤修正物件
125a、125b、125c、125d‧‧‧資料元
130‧‧‧外部控制器
200‧‧‧資料屬性物件
204、206、208、210、208'、210'、504、506、508、510‧‧‧區塊
310‧‧‧第一屬性索引
320‧‧‧第二屬性索引
402、404、406、408、602、604、606、608、610‧‧‧步驟
500‧‧‧寫入命令/命令
502‧‧‧操作區塊
附圖與本說明書一起說明本發明的示例性實施例,且與本說明一起用於闡釋本發明的原理。 圖1是根據本發明實施例的儲存裝置的方塊圖。 圖2是根據本發明實施例的資料屬性物件的圖。 圖3是根據本發明實施例的第一屬性索引及第二屬性索引的圖。 圖4是繪示根據本發明實施例的用於對待洗滌資料進行定位的過程的流程圖。 圖5是根據本發明實施例的從外部控制器接收的寫入命令的圖。 圖6是繪示根據本發明實施例的將資料寫入至儲存裝置的流程圖。
402、404、406、408‧‧‧步驟

Claims (20)

  1. 一種電子裝置,包括: 儲存控制器,被配置成接收洗滌搜索準則,所述儲存控制器包括: 資料分析引擎,被配置成存取與電腦可讀取媒體中所包含的資料元相關聯的資料屬性物件,每個資料元均與所述資料屬性物件相關聯地儲存,所述每個資料元包括資料物件及錯誤修正物件,所述資料分析引擎更被配置成發現所述電腦可讀取媒體中所包含的且與對應於所述洗滌搜索準則的所述資料屬性物件相關聯的資料元;以及 錯誤偵測引擎,被配置成對於被發現與對應於所述洗滌搜索準則的所述資料屬性物件相關聯的每個資料元,將所述資料物件與所述錯誤修正物件進行比較,以判斷所述資料物件是否包含錯誤。
  2. 如申請專利範圍第1項所述的裝置,更包括所述電腦可讀取媒體。
  3. 如申請專利範圍第1項所述的裝置,其中所述錯誤偵測引擎更被配置成輸出報告,所述報告指示哪些所述資料元包括包含錯誤的所述資料物件。
  4. 如申請專利範圍第3項所述的裝置,其中所述儲存控制器更被配置成接收辨識緩衝位置,且其中所述錯誤偵測引擎更被配置成將所述報告輸出至所述辨識緩衝位置。
  5. 如申請專利範圍第1項所述的裝置,更包括所述資料屬性物件中所包含的每個屬性的屬性索引, 其中所述資料分析引擎藉由存取所述屬性索引來存取與所述資料元相關聯的所述資料屬性物件,且 其中所述資料分析引擎藉由利用所述屬性索引確定哪些所述資料元對應於所述洗滌搜索準則來發現與對應於所述洗滌搜索準則的所述資料屬性物件相關聯的資料元。
  6. 如申請專利範圍第5項所述的裝置,其中所述屬性索引是排序樹。
  7. 如申請專利範圍第1項所述的裝置,其中: 所述儲存控制器更被配置成接收資料以及用於描述所接收的所述資料的屬性值,且 所述儲存控制器被配置成產生新資料元以及與所述新資料元相關聯的新資料屬性物件,所述新資料屬性物件包含所接收的所述屬性值且所述新資料元的所述資料物件包含所接收的所述資料。
  8. 如申請專利範圍第7項所述的裝置,其中所述儲存控制器更被配置成產生一或多個屬性值,且其中與所述新資料元相關聯的所述新資料屬性物件包含所產生的所述一或多個屬性值。
  9. 如申請專利範圍第7項所述的裝置,其中所述儲存控制器更被配置成產生與所接收的所述資料對應的錯誤修正值,且其中所述新資料元的所述錯誤修正物件包含所述錯誤修正值。
  10. 如申請專利範圍第7項所述的裝置,更包括所述資料屬性物件中所包含的每個屬性的屬性索引,且其中所述儲存控制器更被配置成將每個資料屬性索引更新成包括與所述新資料元對應的節點。
  11. 一種對資料儲存裝置執行洗滌的方法,在所述資料儲存裝置上儲存有一或多個資料元,每個資料元均與一或多個資料屬性相關聯地儲存,所述每個資料元包括資料物件及錯誤修正物件,所述方法包括: 由處理器接收洗滌搜索準則; 由所述處理器對與對應於所述洗滌搜索準則的資料屬性相關聯的資料元進行定位; 由所述處理器判斷具有對應於所述洗滌搜索準則的所述資料屬性的所定位的所述資料元中的每一個是否需要洗滌;以及 由所述處理器輸出報告,所述報告指示哪些所述資料元在其資料物件中包含錯誤。
  12. 如申請專利範圍第11項所述的方法,其中所述資料元是包含於電腦可讀取媒體上。
  13. 如申請專利範圍第11項所述的方法,更包括接收辨識緩衝位置,其中輸出所述報告是將所述報告輸出至所述辨識緩衝位置。
  14. 如申請專利範圍第11項所述的方法,其中對具有對應於所述洗滌搜索準則的資料屬性的所述資料元進行定位包括搜索屬性索引中是否存在與所述洗滌搜索準則對應的節點。
  15. 如申請專利範圍第14項所述的方法,其中所述屬性索引是排序樹。
  16. 如申請專利範圍第11項所述的方法,更包括: 由所述處理器接收所接收的資料以及用於描述所接收的所述資料的屬性值;以及 由所述處理器產生新資料元,所述新資料元是與所接收的所述屬性值相關聯地儲存且所述新資料元的所述資料物件包含所接收的所述資料。
  17. 如申請專利範圍第16項所述的方法,更包括:由所述處理器產生一或多個產生屬性值,其中所述新資料元是與所述一或多個產生屬性值相關聯地儲存。
  18. 如申請專利範圍第16項所述的方法,更包括:由所述處理器產生與所接收的所述資料對應的錯誤修正值,且其中所述新資料元的所述錯誤修正物件包含所述錯誤修正值。
  19. 如申請專利範圍第16項所述的方法,更包括:由所述處理器將屬性索引更新成包含與所述新資料元對應的節點。
  20. 一種資料洗滌裝置,包括: 電腦可讀取媒體,包含資料元,每個資料元均與資料屬性物件相關聯地儲存,所述每個資料元包括資料物件及錯誤修正物件,每個資料屬性物件均包含設定數目的屬性; 所述資料屬性物件中所包含的每個屬性的屬性索引;以及 儲存控制器,被配置成接收洗滌搜索準則及辨識緩衝位置,所述儲存控制器包括: 資料分析引擎,被配置成利用屬性索引來發現所述電腦可讀取媒體中所包含的且與對應於所述洗滌搜索準則的所述資料屬性物件相關聯的資料元;以及 錯誤偵測引擎,被配置成對於被發現與對應於所述洗滌搜索準則的所述資料屬性物件相關聯的每個資料元,將所述資料物件與所述錯誤修正物件進行比較,以判斷所述資料物件是否包含錯誤,且更被配置成向所述辨識緩衝位置輸出報告,所述報告指示哪些所述資料元包括包含錯誤的所述資料物件。
TW106121177A 2016-08-15 2017-06-26 電子裝置、資料洗滌裝置及對資料儲存裝置執行洗滌的方法 TWI699644B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662375411P 2016-08-15 2016-08-15
US62/375,411 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/284,478 2016-10-03

Publications (2)

Publication Number Publication Date
TW201807573A true TW201807573A (zh) 2018-03-01
TWI699644B TWI699644B (zh) 2020-07-21

Family

ID=61160167

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106121177A TWI699644B (zh) 2016-08-15 2017-06-26 電子裝置、資料洗滌裝置及對資料儲存裝置執行洗滌的方法

Country Status (6)

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

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

Family Cites Families (22)

* 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
US8407191B1 (en) * 2010-06-29 2013-03-26 Emc Corporation Priority based data scrubbing on a deduplicated data store
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
US9378135B2 (en) * 2013-01-08 2016-06-28 Violin Memory Inc. Method and system for data storage
US9189330B2 (en) * 2013-04-11 2015-11-17 International Business Machines Corporation Stale data detection in marked channel for scrub
JP5971423B2 (ja) * 2014-07-23 2016-08-17 富士通株式会社 情報処理装置、メモリコントローラ、記憶装置の制御プログラム及び記憶装置の制御方法
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

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI699644B (zh) 電子裝置、資料洗滌裝置及對資料儲存裝置執行洗滌的方法
US8417998B2 (en) Targeted black box fuzzing of input data
US6675180B2 (en) Data updating apparatus that performs quick restoration processing
US10733045B2 (en) Online repair of metadata for structured data including file systems
US9665587B2 (en) Selective fragmentation repair
US20070192754A1 (en) Method for treating design errors of a layout of an integrated circuit
US10621066B2 (en) Automatic repair of scripts
CN106843842B (zh) 一种应用程序配置文件的更新方法及装置
US9122825B2 (en) Identifying hierarchical chip design intellectual property through digests
US7788550B2 (en) Redundant bit patterns for column defects coding
US7689604B2 (en) Complex datastore with bitmap checking
CN112579591B (zh) 数据校验方法、装置、电子设备及计算机可读存储介质
CN114816772A (zh) 基于兼容层运行的应用的排错方法、排错系统及计算设备
WO2012104991A1 (ja) プログラムテスト方法、プログラムテストシステム及びプログラム
JP2021125267A (ja) ストレージ装置のブロックレベルの故障予測のためのシステム及び方法
WO2014064545A1 (en) Maintaining integrity of output of code generators
WO2023028833A1 (zh) 一种数据处理的方法、装置、设备、程序及介质
JP6699433B2 (ja) データ管理プログラム、装置、及び方法
CN105786714A (zh) 进程检测方法及装置
US20160275096A1 (en) Meta data and data verification
CN115658075A (zh) 软件包编译方法、装置、计算设备及存储介质
CN115793976A (zh) 数据存储方法、装置、电子设备和可读存储介质
CN112162876A (zh) 一种元数据修复方法、装置、设备及介质
CN117421200A (zh) 代码回归测试方法、装置、计算机设备、存储介质
CN115469837A (zh) 一种前端对象的比较方法及系统