TWI638262B - 資料儲存裝置及應用於其上的操作方法 - Google Patents

資料儲存裝置及應用於其上的操作方法 Download PDF

Info

Publication number
TWI638262B
TWI638262B TW106139990A TW106139990A TWI638262B TW I638262 B TWI638262 B TW I638262B TW 106139990 A TW106139990 A TW 106139990A TW 106139990 A TW106139990 A TW 106139990A TW I638262 B TWI638262 B TW I638262B
Authority
TW
Taiwan
Prior art keywords
memory
error
errors
storage device
data storage
Prior art date
Application number
TW106139990A
Other languages
English (en)
Other versions
TW201923571A (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 慧榮科技股份有限公司
Priority to TW106139990A priority Critical patent/TWI638262B/zh
Priority to US15/868,190 priority patent/US10915388B2/en
Priority to JP2018049674A priority patent/JP2019096281A/ja
Priority to CN201810255285.1A priority patent/CN109801668B/zh
Application granted granted Critical
Publication of TWI638262B publication Critical patent/TWI638262B/zh
Publication of TW201923571A publication Critical patent/TW201923571A/zh

Links

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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
    • 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

一種資料儲存裝置,包括第一記憶體以及控制器。第一記憶體具有錯誤校正能力。控制器耦接第一記憶體,控制器用以計算第一記憶體的錯誤次數。當控制器判斷滿足警報條件時,控制器回報訊息至主機,警報條件相關於第一記憶體的錯誤次數以及次數臨界值。

Description

資料儲存裝置及應用於其上的操作方法
本發明是有關於一種資料儲存裝置及應用於其上的操作方法,且特別是有關於一種具有錯誤校正能力,並且能夠將問題及早通知主機之資料儲存裝置。
隨著半導體製程技術的演進,記憶體的容量以及密度迅速成長,記憶體所儲存資料出現錯誤的機率也提升提高。因應於此,目前資料儲存裝置通常使用錯誤偵測以及錯誤校正的技巧,以有效保護記憶體所儲存的資料,避免受到錯誤影響,並且提高資料儲存裝置的可靠度。本發明提出一種適用於具有錯誤校正能力的資料儲存裝置的操作方法,以期及早發現記憶體可能存在的問題。
本發明係有關於一種資料儲存裝置及應用於其上的操作方法,能夠及早發現記憶體可能存在的問題以通知主機。
根據本發明之一實施例,提出一種資料儲存裝置,包括第一記憶體以及控制器。第一記憶體具有錯誤校正能力。控制器耦接第一記憶體,控制器用以計算第一記憶體的一錯誤次數。當控制器判斷滿足警報條件時,控制器回報訊息至主機,警報條件相關於第一記憶體的錯誤次數以及次數臨界值。
根據本發明之另一實施例,提出一種用於資料儲存裝置的操作方法,資料儲存裝置包括控制器及第一記憶體,此操作方法包括下列步驟。控制器計算第一記憶體的錯誤次數;當控制器判斷滿足警報條件時,回報訊息至主機,警報條件相關於第一記憶體的錯誤次數以及次數臨界值。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
記憶體可分為揮發性(volatile)記憶體以及非揮發性(non-volatile)記憶體,揮發性記憶體例如為隨機存取記憶體(Random Access Memory, RAM),而非揮發性記憶體例如為唯讀記憶體(Read Only Memory, ROM)以及快閃記憶體(Flash Memory)。隨著記憶體儲存資料量增加,大多數記憶體具有錯誤校正能力以提高記憶體的可靠度,例如可使用錯誤更正碼(Error Correcting Code, ECC)技術,以校正儲存資料的錯誤。記憶體所使用的錯誤更正碼例如可包括BCH碼、以及低密度奇偶檢查碼(Low Density Parity Check, LDPC)。於記憶體當中,錯誤更正碼可使用硬體電路實作,以取得快速的錯誤校正效果,此部分的錯誤校正電路於以下說明中簡稱為ECC電路。
一般而言,ECC電路具有有限的錯誤校正能力,例如在位元寬度為N位元的資料中,可以校正m個位元的錯誤 (N與m為正整數,且m<N)。當記憶體所儲存的資料出現資料錯誤時,若是發生錯誤的錯誤位元數並不多,是在錯誤校正能力所容許的範圍內,則記憶體內部的ECC電路可將資料成功校正。由於資料被成功校正,此時的資料儲存裝置依然可以執行正常的讀寫操作。然而,當需要ECC電路執行錯誤校正時,即表示記憶體的資料儲存能力減弱,記憶體內部可能存在一些問題。以快閃記憶體為例,在快閃記憶體經過多次的編程(program)與抹除(erase)操作之後,可能產生資料保存(data retention)問題而使得錯誤位元數增加;另外,記憶體的寫入擾動(program disturb)以及讀取擾動(read disturb),也可能造成錯誤位元數增加;再者,來自宇宙射線的帶電粒子或是材料中的微量放射性元素,也可能造成記憶體的軟錯誤(soft error)。當錯誤位元數增加時,雖然可藉由ECC電路維持目前電路的正常操作,但同時可能也代表記憶體存在潛伏問題,若是忽略這些問題,則可能導致記憶體於不久之後會因為錯誤位元過多,超出了ECC電路的錯誤校正能力,而使得錯誤無法被成功校正。於本發明中所揭露的資料儲存裝置及操作方法,可以利用這些發生的錯誤作為有價值的警訊,及早通知主機,以利於主機或是使用者對於資料儲存裝置作出後續的對應處理。
第1圖繪示依照本發明一實施例的資料儲存裝置示意圖。資料儲存裝置10包括第一記憶體121以及控制器110。第一記憶體121具有錯誤校正能力,第一記憶體121可以是快閃記憶體、相變記憶體(Phase Change Memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、動態隨機存取記憶體(DRAM)、或靜態隨機存取記憶體(SRAM),第一記憶體121內部例如具有ECC電路。
控制器110耦接第一記憶體121,控制器110可用以計算及校正第一記憶體121所儲存資料的錯誤位元。舉例而言,當控制器110偵測到錯誤位元時,可直接令ECC電路進行資料的校正,或藉由改變第一記憶體121的操作電壓而重新讀取第一記憶體121所儲存資料。當有上述情況時,控制器110將錯誤次數加1。當控制器110判斷滿足警報條件時,例如,錯誤次數的數值大於等於次數臨界值(例如:10)時,控制器110回報訊息至主機90。主機90例如可以是電腦、手機、處理器、或其他可藉由位址資訊而存取資料儲存裝置10的硬體裝置,主機90可對於資料儲存裝置10發出讀取指令或寫入指令。控制器110藉由計算第一記憶體121的錯誤次數並判斷警報條件是否已滿足,能夠及早發現第一記憶體121可能存在的問題,而將問題通知主機90,讓主機90知道雖然目前第一記憶體121仍然可正常使用,但可能有潛在風險,如此能夠早一步對資料儲存裝置10進行後續處理,例如,資料儲存裝置進入僅能讀取(Read Only)模式、暫停資料儲存裝置的運作、或將資料儲存裝置的資料複製至另一資料儲存裝置。
控制器110與第一記憶體121通訊的介面例如是開放式NAND快閃記憶體介面(Open NAND Flash Interface, ONFI)、DFI介面(DDR PHY Interface)等等相關於記憶體通訊的介面。控制器110與主機90通訊的介面例如是串行ATA (Serial Advanced Technology Attachment,SATA) 、並行ATA(Parallel Advanced Technology Attachment,PATA)、通用序列匯流排(Universal Serial Bus,USB)、機密數字(Secure Digital,SD)卡、通用快閃記憶體存儲(Universal Flash Storage,UFS)、小型閃存(Compact Flash,CF)卡、快捷外設互聯標準(Peripheral Component Interconnect Express, PCI Express)、序列式小型電腦系統介面(Serial Attached SCSI, SAS)。控制器110與主機90所採用的通訊協定例如是非揮發性記憶體快捷(Non-Volatile Memory Express,NVMe)或進階主機控制器介面(Advanced Host Controller Interface,AHCI)。
第2圖繪示依照本發明一實施例的控制器示意圖。控制器110可包括唯讀記憶體112以及處理單元114,唯讀記憶體112儲存控制器110啟動所需的程式碼、參數及資料,待控制器110完成啟動後,再至第一記憶體121取得控制器110運作所需的程式碼、參數及資料,使控制器110基於此韌體控制第一記憶體121,處理單元114例如為微處理器、微控制器、運算電路等等可用以執行程式碼的電路。
第3圖繪示依照本發明一實施例用於資料儲存裝置的操作方法流程圖,此操作方法包括下列步驟。步驟S201:控制器110計算第一記憶體的錯誤次數。步驟S203:當判斷滿足警報條件時,例如:錯誤次數的數值大於等於次數臨界值,控制器110回報訊息至主機。
在一實施例中,當控制器110判斷滿足警報條件時,控制器110可進入(啟動)唯讀模式,即資料儲存裝置10進入唯讀模式。在唯讀模式中,第一記憶體121內部所儲存的資料不會被修改,即不會再寫入新的資料至第一記憶體121,主機90僅能對資料儲存裝置10進行讀取操作。在一實施例中,唯讀模式可實作為假寫入(dummy write)模式,在假寫入模式中,當有來自主機90對於資料儲存裝置10的寫入請求時,控制器110不執行寫入請求,並直接回傳寫入失敗的訊息至主機90,如此可避免更動第一記憶體121內部的資料,預防可能的進一步資料損毀,並且使得主機90可回應於收到的寫入失敗訊息,察覺資料儲存裝置10的異常狀況。舉例而言,當資料儲存裝置10操作於唯讀模式時,主機90上所執行的應用程式若是僅需要從資料儲存裝置10讀取資料,則此應用程式依然可正常執行,然而主機90無法將應用程式相關的歷史記錄(log)寫入至資料儲存裝置10的第一記憶體121。
在另一實施例中,當控制器110判斷滿足警報條件時,控制器110鎖定資料儲存裝置10的讀取功能及寫入功能。於鎖定狀態中,資料儲存裝置10無法被讀取且無法被寫入。當有來自主機90對於資料儲存裝置10的讀取請求時,控制器110可回傳讀取失敗的訊息至主機90;當有來自於主機90對於資料儲存裝置10的寫入請求時,控制器110可回傳寫入失敗的訊息至主機90。藉由鎖定資料儲存裝置10,以預防第一記憶體121內部可能的進一步資料損毀。
在一實施例中,當控制器110判斷滿足警報條件時,可藉由改變一個通用輸出輸入(General Purpose Input Output, GPIO)接腳的電壓,例如是將控制器110與主機90之間的一個GPIO接腳的電位拉高或拉低,以回報訊息至主機90。
在另一實施例中,控制器110回報給主機90的訊息包括SMART (Self-Monitoring Analysis and Reporting Technology)錯誤狀態,SMART錯誤狀態可包括相關於資料儲存裝置10、控制器110或第一記憶體121的物理參數,SMART錯誤狀態可具有特定格式,可被主機90所辨認。主機90從控制器110收到訊息後可自行決定如何處理,舉例而言,主機90可將相關的錯誤狀態訊息顯示至一個使用者介面,讓使用者得知相關情形,以利於使用者手動解決此問題,例如置換資料儲存裝置10或是第一記憶體121,或者主機90可以決定將資料儲存裝置10鎖定,停止存取資料儲存裝置10。
在一實施例中,控制器110所判斷的警報條件,是第一記憶體121於時間長度T P內偵測到具有錯誤位元的錯誤次數加總值E f1大於第一次數臨界值F th1。時間長度T P以及第一錯誤次數臨界值F th1皆可以是預先設定的值,舉例而言,時間長度T P可以是30分鐘,第一錯誤次數臨界值F th1可以是2次。要說明的是,此處所使用的數值僅作為示例性說明,並非用以限定本發明,於其他實作例子中可使用不同的數值。當第一記憶體121於時間長度T P內偵測到具有錯誤位元的錯誤次數加總值E f1大於第一錯誤次數臨界值F th1,即表示第一記憶體121發生錯誤位元的情形過於頻繁,應通知主機90此情形。反之,若第一記憶體121於時間長度T P內偵測到具有錯誤位元的錯誤次數的加總值E f1小於或等於第一錯誤次數臨界值F th1,則可以在這個時間長度T P結束之後,將目前的錯誤加總值E f1歸零,於下一個時間長度T P重新計算的錯誤加總值E f1
在另一實施例中,控制器110僅將錯誤位元數大於一警戒值的次數計入至錯誤次數加總值E f1,例如,錯誤位元數大於60時,才將錯誤次數加總值E f1加1。如此一來,第一記憶體121正常地老化所導致的錯誤位元數的正常地增加,在錯誤位元數小於60時 ,並不會造成錯誤次數加總值E f1的增加,避免造成不必要的困擾。
在另一實施例中,關於歷史錯誤次數加總值E t1的計算,可以是從資料儲存裝置10完成製造生產後的第一次開機開始計算,且此數值(歷史錯誤次數加總值E t1)不會歸零,可用以記錄資料儲存裝置10出廠後第一記憶體121的資料讀取操作中偵測到具有錯誤位元的所有錯誤次數的加總。在此實施例中,只要錯誤次數加總值或歷史錯誤次數加總值其中之一者超過第一錯誤次數臨界值F th1,即為滿足警報條件。
以上所述為資料儲存裝置10包括一個記憶體的實施例,如第1圖所示,其中的第一記憶體121可以是隨機存取記憶體或快閃記憶體。舉例而言,資料儲存裝置10是可外接於電腦的可移除式(removable)儲存裝置,第一記憶體121是快閃記憶體。而本發明所提出的操作方法亦可應用於包括多個記憶體的資料儲存裝置10,以下列舉幾個資料儲存裝置10包括有多個記憶體的實施例。
第4圖繪示依照本發明一實施例包括第一記憶體121及第二記憶體122的資料儲存裝置10示意圖,第二記憶體122具有錯誤校正能力。舉例而言,第一記憶體121是快閃記憶體,第二記憶體122是動態隨機存取記憶體(DRAM),資料儲存裝置10是固態硬碟(Solid State Drive,SSD)。控制器110耦接第二記憶體122,控制器110更用以計算自第二記憶體122所偵測到具有錯誤位元的錯誤次數。於此實施例中,控制器110所判斷的警報條件,係相關於第一記憶體121偵測到具有錯誤位元的錯誤次數以及第二記憶體122偵測到具有錯誤位元的錯誤次數。當第一記憶體121與第二記憶體122至少其中之一所發生的具有錯誤位元的錯誤次數過多時,則控制器110可通報主機90,以利於主機90及早處理。
在一實施例中,警報條件是第一記憶體121於時間長度T P內偵測到具有錯誤位元的的錯誤次數加總值E f1大於第一錯誤次數臨界值F th1、或第二記憶體122於時間長度T P內偵測到具有錯誤位元的錯誤次數加總值E f2大於第二錯誤次數臨界值F th2。此處所舉的例子,第一記憶體121與第二記憶體122所使用的時間長度T P相同,如此可使得實作較為容易,然而本發明並不限於此,在一種實施方式中,第一記憶體121與第二記憶體122亦可使用不同的時間長度。另外,第一錯誤次數臨界值F th1與第二錯誤次數臨界值F th2可以相同或不同。
第5圖繪示依照本發明一實施例包括第一記憶體121、第二記憶體122、及第三記憶體123的資料儲存裝置10示意圖。控制器110具有第三記憶體123,舉例而言,第三記憶體123是內嵌(embedded)於控制器110,第三記憶體123例如是靜態隨機存取記憶體(SRAM)。第三記憶體123具有錯誤校正能力,控制器110更用以計算第三記憶體123偵測到具有錯誤位元的錯誤次數。在此實施例中,控制器110判斷的警報條件是:第一記憶體121於時間長度T P內偵測到具有錯誤位元的錯誤次數加總值E f1大於第一錯誤次數臨界值F th1、第二記憶體122於時間長度T P內偵測到具有錯誤位元的錯誤次數加總值E f2大於第二錯誤次數臨界值F th2或第三記憶體123於時間長度T P內偵測到具有錯誤位元的錯誤次數加總值E f3大於第三錯誤次數臨界值F th3。如前所述,各個記憶體所使用的錯誤次數臨界值F th1、F th2、F th3可以相同或不同。
第6圖繪示依照本發明一實施例的資料儲存裝置示意圖。控制器110包括唯讀記憶體(ROM)112、處理單元114、及靜態隨機存取記憶體(SRAM)133,ROM 112可用以儲存處理單元114執行的程式碼,SRAM 133例如為控制器110的嵌入式記憶體。控制器110並經由通訊介面耦接至NAND式快閃記憶體(NAND Flash)131以及動態隨機存取記憶體(DRAM)132。在此實施例中,控制器110更用以計算端到端(end to end)傳輸發生錯誤的錯誤次數。端到端傳輸錯誤例如是主機90與資料儲存裝置10之間的資料傳輸錯誤,於主機90與資料儲存裝置10之間可使用錯誤偵測碼(error detecting code)以判斷是否存在端到端傳輸錯誤。錯誤偵測碼例如是奇偶檢查碼(parity code)、檢查和(checksum)、循環冗餘校驗(cyclic redundancy check, CRC)。
在如第6圖所示的實施例中,控制器110所判斷的警報條件是:NAND Flash 131於時間長度T P內偵測到具有錯誤位元的錯誤次數加總值大於第一錯誤次數臨界值F th1、DRAM 132於時間長度T P內偵測到具有錯誤位元的錯誤次數加總值大於第二錯誤次數臨界值F th2、SRAM 133於時間長度T P內偵測到具有錯誤位元的錯誤次數加總值大於第三錯誤次數臨界值F th3、或端到端傳輸於時間長度T P內發生錯誤的錯誤次數加總值大於第四錯誤次數臨界值F th4
第7A圖及第7B圖繪示依照本發明一實施例用於如第6圖所示資料儲存裝置的操作方法流程圖。步驟S300:資料儲存裝置10操作於正常模式。步驟S301:判斷SRAM 133是否偵測到錯誤,即判斷SRAM 133所儲存的使用者資料是否具有錯誤位元,若是,進入步驟S311:增加SRAM的錯誤次數加總值;若否,則跳至步驟S330。類似地,步驟S302:判斷DRAM 132是否偵測到錯誤,即判斷DRAM 132所儲存的使用者資料是否具有錯誤位元,若是,進入步驟S312:增加DRAM的錯誤次數加總值。步驟S303:判斷是否有端到端傳輸錯誤,即判斷有端到端傳輸的資料是否具有錯誤位元,若是,進入步驟S313:增加端到端傳輸的錯誤次數加總值。步驟S304:判斷NAND Flash 131是否偵測到錯誤,即判斷NAND Flash 131所儲存的使用者資料是否具有錯誤位元,若是,進入步驟S314:增加NAND Flash的錯誤次數加總值。
步驟S320即為控制器110判斷是否滿足警報條件,在此例子中,所使用的時間長度T P為1小時,對於各個頻率值使用的錯誤次數臨界值F th皆為3。警報條件為 { (SRAM錯誤次數加總值>3) 或 (DRAM錯誤次數加總值>3) 或 (端到端傳輸錯誤次數加總值>3) 或 (NAND Flash錯誤次數加總值>3)。亦即,在步驟S320所繪示的4個判斷條件中,只要其中一個成立,即代表資料儲存裝置10可能有潛在問題,因此進入步驟S321。反之,若步驟S320的判斷結果為否,則進入步驟S330。
步驟S321繪示2個子步驟,於實作中可以執行至少其中一個子步驟。第1個子步驟為資料儲存裝置10進入假讀/寫模式,舉例而言,可以是假讀取模式、假寫入模式、或是假讀取假寫入模式。第2個子步驟為回報SMART錯誤狀態至主機90,並且輸出GPIO通知主機90。步驟S321為滿足警報條件時的處理步驟。當未滿足警報條件時,步驟S330判斷目前經過時間是否已超過1小時(時間長度T P),若是已超過1小時,則進入步驟S331,將經過時間重置為0,並且重置所有次數加總值為0,包括於步驟S311、S312、S313、S314所計算的各個次數加總值,進入下一個時間長度T P的頻率計算。若步驟S330的判斷結果為否,則進入步驟S340,控制器110內部記錄的各個次數加總值維持不變,資料儲存裝置10持續工作並且監測錯誤事件。
根據本發明以上所述的多個實施例,藉由計算記憶體發生錯誤的次數,能夠在記憶體無法使用之前,及早發現可能存在的問題,而將此資訊回報當主機。當主機或是操作主機的使用者得知此警示資訊後,例如可以鎖定目前使用中的記憶體,或可使用新的記憶體置換目前使用中的記憶體,置換記憶體的操作容易、成本低、且資料損失的風險小,如此能夠防患於未然,避免使用中的記憶體某天突然資料毀損,反而需要花費更高昂的代價去救回儲存的資料。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10‧‧‧資料儲存裝置
90‧‧‧主機
110‧‧‧控制器
112‧‧‧唯讀記憶體
114‧‧‧處理單元
121‧‧‧第一記憶體
122‧‧‧第二記憶體
123‧‧‧第三記憶體
131‧‧‧NAND快閃記憶體
132‧‧‧靜態隨機存取記憶體
133‧‧‧動態隨機存取記憶體
S201、S203、S300、S301、S302、S303、S304、S311、S312、S313、S314、S320、S321、S330、S331、S340‧‧‧步驟
第1圖繪示依照本發明一實施例的資料儲存裝置示意圖。 第2圖繪示依照本發明一實施例的控制器示意圖。 第3圖繪示依照本發明一實施例用於資料儲存裝置的操作方法流程圖。 第4圖繪示依照本發明一實施例包括第一記憶體及第二記憶體的資料儲存裝置示意圖。 第5圖繪示依照本發明一實施例包括第一記憶體、第二記憶體、及第三記憶體的資料儲存裝置示意圖。 第6圖繪示依照本發明一實施例的資料儲存裝置示意圖。 第7A圖及第7B圖繪示依照本發明一實施例用於如第6圖所示資料儲存裝置的操作方法流程圖。

Claims (23)

  1. 一種資料儲存裝置,包括: 一第一記憶體,該第一記憶體具有錯誤校正能力;以及 一控制器,耦接該第一記憶體,該控制器用以計算該第一記憶體的一錯誤次數,當該控制器判斷滿足一警報條件時,該控制器回報一訊息至一主機,其中該警報條件相關於該第一記憶體的該錯誤次數以及一次數臨界值。
  2. 如申請專利範圍第1項所述之資料儲存裝置,其中當該控制器判斷滿足該警報條件時,該資料儲存裝置進入一唯讀模式。
  3. 如申請專利範圍第1項所述之資料儲存裝置,其中當該控制器判斷滿足該警報條件時,該控制器鎖定該資料儲存裝置的讀取功能及寫入功能。
  4. 如申請專利範圍第1項所述之資料儲存裝置,其中該控制器藉由改變一通用輸出輸入接腳的電壓,以回報該訊息至該主機。
  5. 如申請專利範圍第1項所述之資料儲存裝置,其中該控制器回報給該主機的該訊息包括一SMART錯誤狀態。
  6. 如申請專利範圍第1項所述之資料儲存裝置,其中該第一記憶體是一隨機存取記憶體或一快閃記憶體。
  7. 如申請專利範圍第1項所述之資料儲存裝置,其中該第一記憶體的該錯誤次數是該第一記憶體於一時間長度內偵測到具有錯誤位元的一第一錯誤次數加總值。
  8. 如申請專利範圍第1項所述之資料儲存裝置,其中該第一記憶體的該錯誤次數是該第一記憶體於一時間長度內偵測到錯誤位元數大於一警戒值的一第一錯誤次數加總值。
  9. 如申請專利範圍第1項所述之資料儲存裝置,其中該第一記憶體的該錯誤次數是該第一記憶體的一歷史錯誤次數加總值。
  10. 如申請專利範圍第1項所述之資料儲存裝置,更包括: 一第二記憶體,該第二記憶體具有錯誤校正能力; 其中該控制器耦接該第二記憶體,該控制器用以計算該第二記憶體偵測到具有錯誤位元的錯誤次數,該警報條件是該第一記憶體於一時間長度內偵測到具有錯誤位元的一第一錯誤次數加總值大於一第一次數臨界值、或該第二記憶體於該時間長度內偵測到具有錯誤位元的一第二錯誤次數加總值大於一第二次數臨界值。
  11. 如申請專利範圍第10所述之資料儲存裝置,其中該控制器具有一第三記憶體,該第三記憶體具有錯誤校正能力,該控制器用以計算該第三記憶體偵測到具有錯誤位元的錯誤次數; 其中該警報條件是該第一記憶體於一時間長度內偵測到具有錯誤位元的一第一錯誤次數加總值大於一第一次數臨界值、該第二記憶體於該時間長度內偵測到具有錯誤位元的一第二錯誤次數加總值大於一第二次數臨界值、或該第三記憶體於該時間長度內偵測到具有錯誤位元的一第三錯誤次數加總值大於一第三次數臨界值。
  12. 如申請專利範圍第10項所述之資料儲存裝置,其中該控制器更用以計算端到端傳輸發生錯誤的錯誤次數,該第一記憶體是一快閃記憶體,該第二記憶體是一動態隨機存取記憶體,該控制器具有一靜態隨機存取記憶體,該靜態隨機存取記憶體具有錯誤校正能力,該控制器用以計算該靜態隨機存取記憶體偵測到可校正錯誤的次數; 其中該警報條件是該快閃記憶體於一時間長度內偵測到偵測到具有錯誤位元的一第一錯誤次數加總值大於一第一次數臨界值、該動態隨機存取記憶體於該時間長度內偵測到具有錯誤位元的一第二錯誤次數加總值大於一第二次數臨界值、該靜態隨機存取記憶體於該時間長度內偵測到具有錯誤位元的一第三錯誤次數加總值大於一第三次數臨界值、或端到端傳輸於該時間長度內發生錯誤的一第四錯誤次數加總值大於一第四次數臨界值。
  13. 一種用於資料儲存裝置的操作方法,該資料儲存裝置包括一控制器及一第一記憶體,該操作方法包括: 該控制器計算該第一記憶體的一錯誤次數;以及 當該控制器判斷滿足一警報條件時,回報一訊息至一主機,其中該警報條件相關於該第一記憶體的該錯誤次數以及一次數臨界值。
  14. 如申請專利範圍第13項所述之操作方法,還包括:當該控制器判斷滿足該警報條件時,該資料儲存裝置進入一唯讀模式。
  15. 如申請專利範圍第13項所述之操作方法,還包括:當該控制器判斷滿足該警報條件時,鎖定該資料儲存裝置的讀取功能及寫入功能。
  16. 如申請專利範圍第13項所述之操作方法,其中回報該訊息至該主機的步驟包括:改變一通用輸出輸入接腳的電壓。
  17. 如申請專利範圍第13項所述之操作方法,其中回報給該主機的該訊息包括一SMART錯誤狀態。
  18. 如申請專利範圍第13項所述之操作方法,其中該第一記憶體的該錯誤次數是該第一記憶體於一時間長度內偵測到具有錯誤位元的一第一錯誤次數加總值。
  19. 如申請專利範圍第13項所述之操作方法,其中該第一記憶體的該錯誤次數是該第一記憶體於一時間長度內偵測到錯誤位元數大於一警戒值的一第一錯誤次數加總值。
  20. 如申請專利範圍第13項所述之操作方法,其中該第一記憶體的該錯誤次數是該第一記憶體的一歷史錯誤次數加總值。
  21. 如申請專利範圍第13項所述之操作方法,其中該資料儲存裝置更包括一第二記憶體,該操作方法更包括: 該控制器計算該第二記憶體偵測到具有錯誤位元的錯誤次數; 該警報條件是該第一記憶體於一時間長度內偵測到具有錯誤位元的一第一錯誤次數加總值大於一第一次數臨界值、或該第二記憶體於該時間長度內偵測到具有錯誤位元的一第二錯誤次數加總值大於一第二次數臨界值。
  22. 如申請專利範圍第21所述之操作方法,其中該資料儲存裝置更包括一第三記憶體,該操作方法更包括: 該控制器計算該第三記憶體偵測到具有錯誤位元的錯誤次數; 其中該警報條件是該第一記憶體於一時間長度內偵測到具有錯誤位元的一第一錯誤次數加總值大於一第一次數臨界值、該第二記憶體於該時間長度內偵測到具有錯誤位元的一第二錯誤次數加總值大於一第二次數臨界值、或該第三記憶體於該時間長度內偵測到具有錯誤位元的一第三錯誤次數加總值大於一第三次數臨界值。
  23. 如申請專利範圍第21項所述之操作方法,其中該資料儲存裝置更包括一第三記憶體,該操作方法更包括: 該控制器計算該第三記憶體偵測到具有錯誤位元的錯誤次數;以及 該控制器計算端到端傳輸發生錯誤的次數; 其中該警報條件是該第一記憶體於一時間長度內偵測到具有錯誤位元的一第一錯誤次數加總值大於一第一次數臨界值、該第二記憶體於該時間長度內偵測到具有錯誤位元的一第二錯誤次數加總值大於一第二次數臨界值、該第三記憶體於該時間長度內偵測到具有錯誤位元的一第三錯誤次數加總值大於一第三次數臨界值、或端到端傳輸於該時間長度內發生錯誤的一第四錯誤次數加總值大於一第四次數臨界值。
TW106139990A 2017-11-17 2017-11-17 資料儲存裝置及應用於其上的操作方法 TWI638262B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
TW106139990A TWI638262B (zh) 2017-11-17 2017-11-17 資料儲存裝置及應用於其上的操作方法
US15/868,190 US10915388B2 (en) 2017-11-17 2018-01-11 Data storage device and associated operating method capable of detecting errors and effectively protecting data
JP2018049674A JP2019096281A (ja) 2017-11-17 2018-03-16 データ記憶装置および関連する操作方法
CN201810255285.1A CN109801668B (zh) 2017-11-17 2018-03-23 数据储存装置及应用于其上的操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106139990A TWI638262B (zh) 2017-11-17 2017-11-17 資料儲存裝置及應用於其上的操作方法

Publications (2)

Publication Number Publication Date
TWI638262B true TWI638262B (zh) 2018-10-11
TW201923571A TW201923571A (zh) 2019-06-16

Family

ID=64797567

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106139990A TWI638262B (zh) 2017-11-17 2017-11-17 資料儲存裝置及應用於其上的操作方法

Country Status (4)

Country Link
US (1) US10915388B2 (zh)
JP (1) JP2019096281A (zh)
CN (1) CN109801668B (zh)
TW (1) TWI638262B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102648618B1 (ko) * 2018-03-28 2024-03-19 에스케이하이닉스 주식회사 컨트롤러, 그것의 동작방법 및 컨트롤러를 포함하는 메모리 시스템
US11144385B2 (en) 2018-08-21 2021-10-12 Micron Technology, Inc. Transmission failure feedback schemes for reducing crosstalk
FR3104754B1 (fr) * 2019-12-17 2021-12-24 Thales Sa Systeme electronique comportant un dispositif d'estimation de defauts d'une memoire electronique soumise aux conditions de vol a haute altitude
JP7283784B2 (ja) * 2021-02-19 2023-05-30 Necプラットフォームズ株式会社 メモリ障害検出装置、検出プログラム、および検出方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200519595A (en) * 2003-12-02 2005-06-16 Hewlett Packard Development Co Data storage system with error correction code and replaceable defective memory
TWI244587B (en) * 2002-11-08 2005-12-01 Intel Corp Interleaved mirrored memory systems
US20080148129A1 (en) * 2006-12-14 2008-06-19 Regents Of The University Of Minnesota Error detection and correction using error pattern correcting codes
US20110214039A1 (en) * 2010-02-28 2011-09-01 Steiner Avi System and method for multi-dimensional decoding

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0792763B2 (ja) 1988-11-16 1995-10-09 日本電気株式会社 障害処理方式
JPH07182250A (ja) * 1993-12-22 1995-07-21 Hitachi Ltd 磁気ディスクの自動交代処理方式
JPH10187354A (ja) * 1996-12-26 1998-07-14 Toshiba Corp 情報処理装置および同装置に適用される記録メディアの管理方法
JP2953511B2 (ja) 1997-05-01 1999-09-27 日本電気株式会社 磁気ディスク装置データバックアップ/リストアシステム
JP3242890B2 (ja) * 1998-12-16 2001-12-25 株式会社ハギワラシスコム 記憶装置
JP4077993B2 (ja) * 1999-07-30 2008-04-23 株式会社日立グローバルストレージテクノロジーズ 性能評価方法及び性能評価装置並びにこれらを用いた記録再生装置
US7296213B2 (en) 2002-12-11 2007-11-13 Nvidia Corporation Error correction cache for flash memory
JP2004259324A (ja) 2003-02-24 2004-09-16 Alpine Electronics Inc 記録装置の動作制御装置および記録装置の動作制御方法
JP2006059002A (ja) 2004-08-18 2006-03-02 Nec Electronics Corp 記憶装置
JP4643671B2 (ja) 2008-03-11 2011-03-02 株式会社東芝 メモリシステム
US8230255B2 (en) * 2009-12-15 2012-07-24 International Business Machines Corporation Blocking write acces to memory modules of a solid state drive
CN102567177B (zh) * 2010-12-25 2014-12-10 鸿富锦精密工业(深圳)有限公司 计算机***错误侦测***及方法
US8910310B2 (en) * 2012-05-17 2014-12-09 Silicon Motion, Inc. Embedded flash memory card and electronic device using the same, and engineering board for embedded flash memory card
JP6031850B2 (ja) 2012-06-29 2016-11-24 日本電気株式会社 情報機器、データ保証システム、処理装置、データ保証方法およびプログラム
JP2014220576A (ja) * 2013-05-01 2014-11-20 富士通株式会社 情報処理装置、情報処理装置の制御プログラムおよび情報処理装置の制御方法
CN104346232A (zh) * 2013-08-06 2015-02-11 慧荣科技股份有限公司 数据储存装置及其限制存取方法
CN104346236B (zh) * 2013-08-06 2018-03-23 慧荣科技股份有限公司 数据储存装置及其数据维护方法
CN104346296B (zh) * 2013-08-09 2019-02-01 慧荣科技股份有限公司 数据储存装置及其电压保护方法
KR102210327B1 (ko) 2014-08-21 2021-02-01 삼성전자주식회사 에러 알림 기능이 있는 메모리 장치
US9904591B2 (en) * 2014-10-22 2018-02-27 Intel Corporation Device, system and method to restrict access to data error information
US10332613B1 (en) * 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9703624B2 (en) * 2015-10-12 2017-07-11 Bank Of America Corporation Event correlation and calculation engine
JP6502832B2 (ja) * 2015-11-13 2019-04-17 株式会社東芝 検査装置、通信システム、移動体および検査方法
KR20170101368A (ko) 2016-02-26 2017-09-06 에스케이하이닉스 주식회사 에러 정정 회로 및 에러 정정 방법
US9840161B2 (en) * 2016-03-10 2017-12-12 Ford Global Technologies, Llc Circuit and method for detection of battery cell degradation events
JP6190488B2 (ja) 2016-04-15 2017-08-30 東芝メモリ株式会社 情報記録システム
US20170346596A1 (en) * 2016-05-27 2017-11-30 Intel Corporation Method, apparatus, and system for signal equalization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI244587B (en) * 2002-11-08 2005-12-01 Intel Corp Interleaved mirrored memory systems
TW200519595A (en) * 2003-12-02 2005-06-16 Hewlett Packard Development Co Data storage system with error correction code and replaceable defective memory
US20080148129A1 (en) * 2006-12-14 2008-06-19 Regents Of The University Of Minnesota Error detection and correction using error pattern correcting codes
US20110214039A1 (en) * 2010-02-28 2011-09-01 Steiner Avi System and method for multi-dimensional decoding

Also Published As

Publication number Publication date
TW201923571A (zh) 2019-06-16
CN109801668B (zh) 2021-11-30
JP2019096281A (ja) 2019-06-20
US10915388B2 (en) 2021-02-09
CN109801668A (zh) 2019-05-24
US20190155671A1 (en) 2019-05-23

Similar Documents

Publication Publication Date Title
TWI638262B (zh) 資料儲存裝置及應用於其上的操作方法
TW201928684A (zh) 具有機器學習機制的儲存系統及其操作方法
KR101475645B1 (ko) 정보 처리 장치, 외부 기억 장치, 호스트 장치, 중계 장치, 컴퓨터 판독 가능한 기록 매체, 및 정보 처리 장치의 제어 방법
US20170177259A1 (en) Techniques to Use Open Bit Line Information for a Memory System
US20090150721A1 (en) Utilizing A Potentially Unreliable Memory Module For Memory Mirroring In A Computing System
US20180060168A1 (en) Data error detection in computing systems
US10453548B2 (en) Run-time flash die failure detection enhancement
TWI661427B (zh) 記憶體管理方法以及儲存控制器
KR20100033507A (ko) 새로운 불량 블록 검출
WO2020073691A1 (zh) 闪存自检的方法、固态硬盘以及存储装置
CN106021002B (zh) 一种嵌入式设备数据读写方法及装置
CN109669800B (zh) 用于写入路径错误的高效数据恢复
JP2016118815A (ja) 不揮発性メモリ装置
KR20090036146A (ko) 메모리 장치에서 섹터 당 허용 가능한 비트 오류 수
US8738989B2 (en) Method and apparatus for detecting free page and a method and apparatus for decoding error correction code using the method and apparatus for detecting free page
CN109426582B (zh) 用于存储装置为错误处置进行数据处理的方法及控制器
KR101512927B1 (ko) 비휘발성 메모리의 페이지 관리 방법 및 장치
US20150154060A1 (en) Error detection or correction of stored signals after one or more heat events in one or more memory devices
CN113051099A (zh) 固态存储器读取故障的缓解
JP4950214B2 (ja) データ記憶装置における停電を検出する方法、およびデータ記憶装置を復旧する方法
TWI748214B (zh) 快閃記憶體控制器、儲存裝置及其讀取方法
TWI594126B (zh) 資料儲存裝置與資料儲存方法
CN111324291A (zh) 一种存储器
CN114356984B (zh) 标记存储器的风险状态的方法、装置、设备及存储介质
WO2023093173A1 (zh) 一种内存硬件故障检测方法、装置以及内存控制器