TWI657336B - 用以檢測資料儲存裝置之資料儲存方法及其資料儲存裝置 - Google Patents

用以檢測資料儲存裝置之資料儲存方法及其資料儲存裝置 Download PDF

Info

Publication number
TWI657336B
TWI657336B TW106129149A TW106129149A TWI657336B TW I657336 B TWI657336 B TW I657336B TW 106129149 A TW106129149 A TW 106129149A TW 106129149 A TW106129149 A TW 106129149A TW I657336 B TWI657336 B TW I657336B
Authority
TW
Taiwan
Prior art keywords
data storage
storage device
item
matrix
patent application
Prior art date
Application number
TW106129149A
Other languages
English (en)
Other versions
TW201913372A (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 TW106129149A priority Critical patent/TWI657336B/zh
Priority to US15/863,893 priority patent/US10474530B2/en
Priority to CN201810414426.XA priority patent/CN109426581B/zh
Publication of TW201913372A publication Critical patent/TW201913372A/zh
Application granted granted Critical
Publication of TWI657336B publication Critical patent/TWI657336B/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/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
    • 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/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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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
    • G11C2029/0409Online test
    • 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
    • G11C2029/0411Online error correction

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

一種資料儲存裝置,具有一快閃記憶體以及一控制器。快閃記憶體包括複數個儲存矩陣,該等儲存矩陣之每一者包括複數個區塊,該等複數區塊之每一者包括複數個頁面,並且該等頁面之每一者之大小為N個K位元組(K bytes),N為大於1之正整數。控制器耦接該快閃記憶體,以1K位元組為偵測單位,計算該每一頁面之錯誤校正碼位元數,並且統計當該錯誤校正碼位元數為不同數值時所分別對應之該等頁面之該等偵測單位的數量,以分別判斷該快閃記憶體之該每一儲存矩陣是否正常。

Description

用以檢測資料儲存裝置之資料儲存方法及其資料儲存裝置
本發明係關於一用以檢測資料儲存裝置之資料儲存方法及其資料儲存裝置,特別係關於一種藉由統計方法,計算錯誤校正碼位元數為不同數值時所分別對應之數量之資料儲存裝置與資料儲存方法。
快閃記憶體為一種普遍的非揮發性資料儲存裝置,係以電性方式抹除與程式化。以非及閘型的快閃記憶體(NAND FLASH)為例,常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)、嵌入式快閃記憶體模組(eMMC)、通用快閃記憶體(UFS)…等使用。
由於快閃記憶體具有許多資料區塊,而這些資料區塊可能會因為長時間的使用而發生損毀,造成資料無法正常寫入或讀取。因此,需要一種能夠有效率資料儲存方法,能夠快速方便的檢測資料儲存裝置為正常或損毀,以確保資料存取之效能與可靠度。
為了解決上述問題,本發明提出一種用以檢測資料儲存裝置之資料儲存方法及其資料儲存裝置,能夠統計當錯 誤校正碼位元數為不同數值時所分別對應之複數個頁面之偵測單位的數量。藉由判斷上述數量是否超出一比例數值,而能偵測出資料儲存裝置是否發生損毀。此外,本發明係以表格針對上述數量或其比例進行紀錄,避免佔用太多記憶體空間,以有效確保資料存取之效能與可靠度。
本發明之一實施例提供了一種資料儲存裝置,具有一快閃記憶體以及一控制器。快閃記憶體包括複數個儲存矩陣(plane),並且儲存矩陣之每一者包括複數個區塊(block),該等複數區塊之每一者包括複數個頁面,並且該等頁面之每一者之大小為N個K位元組,N為大於1之正整數。控制器耦接該快閃記憶體,以1K位元組為偵測單位,計算該每一頁面之錯誤校正碼(ECC)位元數,並且統計當該錯誤校正碼位元數為不同數值時所分別對應之該等頁面之該等偵測單位的數量,以分別判斷該快閃記憶體之該每一儲存矩陣是否正常。
本發明之一實施例提供了一種用於優化資料儲存裝置之資料儲存方法,資料儲存裝置具有一快閃記憶體以及一控制器,其中快閃記憶體包括複數個儲存矩陣,並且儲存矩陣之每一者包括複數個區塊,該等複數區塊之每一者包括複數個頁面,並且該等頁面之每一者之大小為N個K位元組,N為大於1之正整數。資料儲存方法包括:以1K位元組為偵測單位,計算該每一頁面之錯誤校正碼(ECC)位元數;統計當該錯誤校正碼位元數為不同數值時所分別對應之該等頁面之該等偵測單位的數量,以分別判斷該快閃記憶體之該每一儲存矩陣是否正常。
關於本發明其他附加的特徵與優點,此領域之熟習技術人士,在不脫離本發明之精神和範圍內,當可根據本案實施方法中所揭露之資料儲存裝置與資料儲存方法。
100‧‧‧資料儲存裝置
120‧‧‧控制器
140‧‧‧快閃記憶體
160-16N‧‧‧儲存矩陣
160_A、160_Z...16N_A、16N_Z‧‧‧區塊
160_A_1、160_Z_1...16N_A_X、16N_Z_X‧‧‧頁面
180‧‧‧隨機存取記憶體
200‧‧‧主機
DT‧‧‧表格
T1‧‧‧第一預設數值
T2、T2’‧‧‧第二預設數值
XA、XS‧‧‧面積
S500...S514‧‧‧步驟
根據以下的詳細說明並配合所附圖式做完整揭露。應注意的是,根據本產業的一般作業,圖示並未必按照比例繪製。事實上,可能任意的放大或縮小元件的尺寸,以做清楚的說明。
第1圖係顯示根據本發明一實施例所述之資料儲存裝置與主機之示意圖;第2圖係顯示根據本發明一實施例所述之錯誤校正碼位元數為不同數值時所分別對應之數量之統計圖;第3圖係顯示根據本發明另一實施例所述之錯誤校正碼位元數為不同數值時所分別對應之數量之統計圖;第4圖係顯示根據本發明另一實施例所述之錯誤校正碼位元數為不同數值時所分別對應之數量之統計圖;第5圖係顯示根據本發明一實施例所述之資料儲存方法之流程圖。
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述 任意組合來實現。
第1圖係顯示根據本發明一實施例所述之資料儲存裝置100與主機200之示意圖。在一實施例中,資料儲存裝置100包括控制器120、快閃記憶體140以及隨機存取記憶體(RAM)180。資料儲存裝置100耦接主機200以傳送資料與指令、或是接收資料與指令。快閃記憶體140可以為非揮發性記憶體,例如反集閘快閃記憶體(NAND Flash)。資料儲存裝置100的例子可包含(但不限於):可攜式記憶裝置(諸如符合SD/MMC、CF、MS、XD或UFS標準之記憶卡)、固態硬碟(solid state drive,SSD)以及各種嵌入式(embedded)儲存裝置(諸如符合UFS或EMMC規格之嵌入式儲存裝置)。主機200可以為手機、平板電腦、筆記型電腦、導航機或車載系統等各種電子產品、或上述各種電子產品中的處理器。
如第1圖所示,控制器120耦接快閃記憶體140以及隨機存取記憶體180。隨機存取記憶體180用以暫存以及預取控制器120所需之資料,或是用以暫存主機200要寫入快閃記憶體140之資料,以加快資料儲存裝置100之存取時間。控制器120藉由控制快閃記憶體140以叢集(cluster)為單位執行讀取運作的方式來對快閃記憶體140執行讀取運作。此外,控制器120耦接快閃記憶體140以相互傳送資料與指令或接收資料與指令。進一步而言,控制器120可包括具有韌體碼之唯讀記憶體(ROM)以及微控制器,並且微控制器執行韌體碼以操作或是存取快閃記憶體140。
快閃記憶體140包括複數個儲存矩陣 (plane)160~16N。在一實施例中,每一儲存矩陣160~16N之一部分區塊組合成一超級區塊(super block),使得快閃記憶體140包括複數個超級區塊。詳細而言,儲存矩陣160~16N中的每一者更包括複數個區塊(block)。在一實施例中,快閃記憶體140具有4個儲存矩陣160~164(亦即CE0~CE3)。儲存矩陣160包括區塊160_A~160_Z,儲存矩陣16N包括區塊16N_A~16N_Z。對於儲存矩陣160而言,區塊160_A~160_Z中的每一者更包括複數個頁面。區塊160_A包括頁面160_A_1~160_A_X,區塊160_Z包括頁面160_Z_1~160_Z_X,並且每個頁面之大小為N個位元組,其中N為大於1之正整數。
舉例而言,儲存矩陣160~164之每一者係包括820的區塊,上述區塊的每一者係包括256個頁面,並且每個頁面之大小為16K位元組(K-bytes)。此外,上述頁面160_A_1~16N_Z_X為實體頁面。控制器120在對快閃記憶體140執行寫入或儲存動作時,是藉由控制快閃記憶體140以實體頁面為單位來執行寫入或程式化的運作。
對於快閃記憶體140而言,其頁面160_A_1~16N_Z_X的每一者皆具有不同的實體位址。換言之,頁面160_A_1~16N_Z_X的每一者都具有一個實體位址,而頁面160_A_1~16N_Z_X的每一者的實體位址都是不同的。當資料儲存裝置100執行一寫入運作時,控制器120決定快閃記憶體140的一實體位址以寫入或儲存資料。此外,控制器120則分別對應上述複數個實體位址至複數個邏輯位址。因此,對於主機200而言,主機200係藉由邏輯位址,來讀取或寫入資料儲存裝置 100所儲存於某個邏輯位址的資料。
在一實施例中,控制器120係以1位元組為偵測單位,計算每一頁面160_A_1~16N_Z_X之錯誤校正碼(Error Correction Code,ECC)位元數,並且統計當該錯誤校正碼位元數為不同數值時所分別對應之該等頁面之該等偵測單位的數量,以分別判斷快閃記憶體140之每一儲存矩陣160~16N是否正常。
第2圖係顯示根據本發明一實施例所述之錯誤校正碼位元數為不同數值時所分別對應之數量之統計圖。舉例而言,快閃記憶體140包括4個儲存矩陣160~163,每個儲存矩陣係包括820個區塊,每個區塊包括256個頁面,並且每個頁面之大小為16K位元組。詳細而言,控制器120係以1K位元組為偵測單位來檢測快閃記憶體140,並且產生錯誤校正碼位元數。在此1K位元組之偵測單位中,如果錯誤校正碼位元數超過第一預設數值T1,則控制器120判斷該頁面所隸屬之該區塊為損毀區塊。
詳細而言,控制器120計算當錯誤校正碼位元數為不同數值時所分別對應之偵測單位的數量。如第2圖所示,錯誤校正碼位元數為0位元時具有數量為X0之偵測單位,錯誤校正碼位元數為1位元時具有數量為X1之偵測單位(未顯示),錯誤校正碼位元數為10位元時具有數量為X10之偵測單位,錯誤校正碼位元數為20位元時具有數量為X20之偵測單位,以此類推。藉由此計算方法,控制器120可得到如第2圖所示之統計圖。
要注意的是,上述1K位元組之偵測單位係作為例示之用,而非用以限制本發明。在一些實施例中,可以提高偵測單位(例如為2K位元組或是4K位元組等),則統計圖中的不同錯誤校正碼位元數的群組數量就會減少,因而能夠提升檢測速度。
此外,控制器120可針對每個儲存矩陣160~163分別進行統計、或是對全部的儲存矩陣160~163一起進行統計。當控制器120對每個儲存矩陣160~163分別進行統計時,則可得到分別對應於4個儲存矩陣之4個統計圖。舉例而言,第2圖係快閃記憶體140之儲存矩陣160之統計圖。在此實施例中,儲存矩陣160具有820*256*16(亦即3,358,720)個偵測單位。因此,第2圖所示之數量X0、X1...Xn之總和為3,358,720。當控制器120對所有儲存矩陣160~163一起進行統計時,4個儲存矩陣160~160共具有4*820*256*16(亦即13,434,880)個偵測單位。換言之,統計圖之數量X0、X1...Xn之總和為13,434,880。
在第2圖所示之實施例中,第一預設數值T1為72位元。當某一個偵測單位之錯誤校正碼位元數大於72位元時,則控制器120判斷該偵測單位所隸屬之區塊為非校正性錯誤校正碼(Uncorrectable Error Correction Code,UECC),亦即該區塊為損毀區塊。在另一實施例中,如果某一個偵測單位之錯誤校正碼位元數大於72位元時,則控制器120判斷該偵測單位所隸屬之邏輯矩陣為損毀的邏輯矩陣。
此外,控制器120更定義一第二預設數值T2,並且第二預設數值T2係小於第一預設數值T1。詳細而言,第二預設 數值T2為第一預設數值T1之60%至80%。例如,第二預設數值T2為第一預設數值T1之70%。在一實施例中,控制器120計算錯誤校正碼位元數大於第二預設數值T2所對應之偵測單位之數量,並且除以所隸屬之儲存矩陣之全部偵測單位之數量,以得到一比例數值。然而,通常來說,錯誤校正碼位元數大於第一預設數值T1的數量很少,在統計時亦可不列入計算。因此,在另一實施例中,控制器120計算錯誤校正碼位元數大於第二預設數值T2並且小於第一預設數值T1所對應之偵測單位之數量(例如第2圖所示之面積XS),並且除以所隸屬之儲存矩陣之全部偵測單位之數量(例如第2圖所示之面積XA),以得到比例數值。
在一實施例中,控制器120判斷上述比例數值是否大於一預設比例數值。如果上述比例數值大於預設比例數值,則控制器120判斷該儲存矩陣為損毀的儲存矩陣。如果上述比例數值小於或等於預設比例數值,則控制器120判斷該儲存矩陣為正常的儲存矩陣。舉例而言,上述預設比例數值約為20%。然後,隨機存取記憶體180儲存一表格,以紀錄每一儲存矩陣之比例數值。由於表格中僅記錄比例數值,因此該表格所佔用的儲存空間很小,不會影響資料儲存裝置100之效能。控制器120能夠快速讀取隨機存取記憶體180之表格而得知快閃記憶體140是否發生損毀。
第3圖係顯示根據本發明另一實施例所述之錯誤校正碼位元數為不同數值時所分別對應之數量之統計圖。在此實施例中,由統計圖所計算出之比例數值(亦即面積XS除以面 積XA)大於預設比例數值,因此控制器120判斷快閃記憶體140發生損毀。然後,控制器120將損毀的儲存矩陣所儲存之資料,轉移到另一正常的儲存矩陣。亦即將上述資料重新寫入另一儲存矩陣,以妥善儲存上述資料。在另一實施例中,如果控制器120判斷快閃記憶體140發生損毀,則控制器120調整讀取損毀之儲存矩陣之讀取電壓,以進行讀取再嘗試(read retry)。
要注意的是,控制器120可主動或被動將比例數值傳送至主機200。在一實施例中,控制器120係週期性的主動將比例數值傳送至主機200。在另一實施例中,當主機200傳送一探詢指令至資料儲存裝置100時,控制器120傳送比例數值至主機200,以回應主機200之探詢指令。
由此可知,本案所提出之資料儲存方法係藉由計算錯誤校正碼位元數為不同數值時所分別對應之數量,藉以得到比例數值以判斷快閃記憶體140是否發生損毀。因此,相較於傳統以抹除次數(erase count)等單一數值作為判斷標準,本案之比例數值係藉由統計各種不同錯誤校正碼位元數所對應之數值所產生,因而具有較高的準確度與可靠度。
再者,第二預設數值亦可依據資料儲存裝置100的使用狀態而調整。第4圖係顯示根據本發明另一實施例所述之錯誤校正碼位元數為不同數值時所分別對應之數量之統計圖。在此實施例中,第二預設數值T2’為第一預設數值T1之80%,亦即第二預設數值T2’大於第2圖之第二預設數值T2。舉例而言,第二預設數值T2’係正比於溫度。當資料儲存裝置100使用於較高溫的環境時,容易發生資料的損毀,因此可調整為數值較高 的第二預設數值T2’。
第5圖係顯示根據本發明一實施例所述之資料儲存方法之流程圖。在步驟S500中,控制器120主動開始偵測快閃記憶體140,或是依據主機200之探詢指令開始進行偵測。在步驟S502,控制器120以1K位元組為偵測單位,計算每一頁面之錯誤校正碼位元數。在步驟S504,控制器120統計當錯誤校正碼位元數為不同數值時所分別對應之該等頁面之偵測單位的數量。上述統計後之結果如第2圖至第4圖所示,故此處不再贅述。
然後,在步驟S506,控制器120計算錯誤校正碼位元數大於第二預設數值T2所對應之該等偵測單位之數量,並且除以所隸屬之該儲存矩陣之全部偵測單位之數量,以得到一比例數值。在步驟S508,控制器120判斷上述比例數值是否大於預設比例數值。
如果上述比例數值沒有大於預設比例數值,則執行步驟S512,控制器120判斷該儲存矩陣為正常的儲存矩陣。如果上述比例數值大於預設比例數值,則執行步驟S510,控制器120判斷該儲存矩陣為損毀的儲存矩陣。然後,在步驟S514中,控制器120將該儲存矩陣所儲存之資料轉移到另一儲存矩陣,或是調整讀取該儲存矩陣之讀取電壓。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器, 如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
在本說明書以及申請專利範圍中的序數,例如「第一」、「第二」、「第三」等等,彼此之間並沒有順序上的先後關係,其僅用於標示區分兩個具有相同名字之不同元件。本發明說明書中「耦接」一詞係泛指各種直接或間接之電性連接方式。本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。

Claims (20)

  1. 一種資料儲存裝置,包括:一快閃記憶體,包括複數個儲存矩陣(plane),其中該等儲存矩陣之每一者包括複數個區塊(block),該等複數區塊之每一者包括複數個頁面,並且該等頁面之每一者之大小為N個K位元組(K bytes),N為大於1之正整數;以及一控制器,耦接該快閃記憶體,以1K位元組為偵測單位,計算該每一頁面之錯誤校正碼(ECC)位元數,並且統計當該錯誤校正碼位元數為不同數值時所分別對應之該等頁面之該等偵測單位的數量,以分別判斷該快閃記憶體之該每一儲存矩陣是否正常。
  2. 如申請專利範圍第1項所述之資料儲存裝置,其中當該控制器所計算之該錯誤校正碼位元數大於一第一預設數值時,該控制器判斷該頁面所隸屬之該區塊為損毀區塊。
  3. 如申請專利範圍第2項所述之資料儲存裝置,其中該控制器計算該錯誤校正碼位元數大於一第二預設數值所對應之該等偵測單位之數量,並且除以所隸屬之該儲存矩陣之全部偵測單位之數量,以得到一比例數值,其中該第二預設數值小於該第一預設數值。
  4. 如申請專利範圍第3項所述之資料儲存裝置,其中該第二預設數值為該第一預設數值之60%至80%。
  5. 如申請專利範圍第3項所述之資料儲存裝置,其中當該比例數值大於一預設比例數值時,該控制器判斷該儲存矩陣為損毀的儲存矩陣。
  6. 如申請專利範圍第3項所述之資料儲存裝置,其中該資料儲存裝置更包括一隨機存取記憶體,用以儲存一表格以紀錄該每一儲存矩陣之該比例數值。
  7. 如申請專利範圍第3項所述之資料儲存裝置,其中該資料儲存裝置耦接一主機,該控制器係週期性將該比例數值傳送至該主機。
  8. 如申請專利範圍第3項所述之資料儲存裝置,其中該資料儲存裝置耦接一主機,並且當該主機傳送一探詢指令至該資料儲存裝置時,該資料儲存裝置傳送該比例數值至該主機。
  9. 如申請專利範圍第5項所述之資料儲存裝置,其中當該控制器判斷該儲存矩陣為損毀的儲存矩陣時,該控制器將該儲存矩陣所儲存之資料轉移到另一儲存矩陣。
  10. 如申請專利範圍第5項所述之資料儲存裝置,其中當該控制器判斷該儲存矩陣為損毀的儲存矩陣時,該控制器調整讀取該儲存矩陣之讀取電壓。
  11. 一種用於優化資料儲存裝置之資料儲存方法,該資料儲存裝置具有一快閃記憶體、一控制器以及一隨機存取記憶體,其中該快閃記憶體包括複數個儲存矩陣(plane),並且該等儲存矩陣之每一者包括複數個區塊(block),該等複數區塊之每一者包括複數個頁面,並且該等頁面之每一者之大小為N個K位元組(K bytes),N為大於1之正整數,該資料儲存方法包括:以1K位元組為偵測單位,計算該每一頁面之錯誤校正碼(ECC)位元數;統計當該錯誤校正碼位元數為不同數值時所分別對應之該等頁面之該等偵測單位的數量,以分別判斷該快閃記憶體之該每一儲存矩陣是否正常。
  12. 如申請專利範圍第11項所述之用於優化資料儲存裝置之資料儲存方法,其中當所計算之該錯誤校正碼位元數大於一第一預設數值時,判斷該頁面所隸屬之該區塊為損毀區塊。
  13. 如申請專利範圍第12項所述之用於優化資料儲存裝置之資料儲存方法,更包括計算該錯誤校正碼位元數大於一第二預設數值所對應之該等偵測單位之數量,並且除以所隸屬之該儲存矩陣之全部偵測單位之數量,以得到一比例數值,其中該第二預設數值小於該第一預設數值。
  14. 如申請專利範圍第13項所述之用於優化資料儲存裝置之資料儲存方法,其中該第二預設數值為該第一預設數值之60%至80%。
  15. 如申請專利範圍第13項所述之用於優化資料儲存裝置之資料儲存方法,其中當該比例數值大於一預設比例數值時,判斷該儲存矩陣為損毀的儲存矩陣。
  16. 如申請專利範圍第13項所述之用於優化資料儲存裝置之資料儲存方法,更包括儲存一表格以紀錄該每一儲存矩陣之該比例數值。
  17. 如申請專利範圍第13項所述之用於優化資料儲存裝置之資料儲存方法,其中該比例數值係週期性被傳送至該主機。
  18. 如申請專利範圍第13項所述之用於優化資料儲存裝置之資料儲存方法,其中當一主機傳送一探詢指令至該資料儲存裝置時,藉由該資料儲存裝置傳送該比例數值至該主機。
  19. 如申請專利範圍第15項所述之用於優化資料儲存裝置之資料儲存方法,其中當判斷該儲存矩陣為損毀的儲存矩陣時,將該儲存矩陣所儲存之資料轉移到另一儲存矩陣。
  20. 如申請專利範圍第15項所述之用於優化資料儲存裝置之資料儲存方法,其中當判斷該儲存矩陣為損毀的儲存矩陣時,調整讀取該儲存矩陣之讀取電壓。
TW106129149A 2017-08-28 2017-08-28 用以檢測資料儲存裝置之資料儲存方法及其資料儲存裝置 TWI657336B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW106129149A TWI657336B (zh) 2017-08-28 2017-08-28 用以檢測資料儲存裝置之資料儲存方法及其資料儲存裝置
US15/863,893 US10474530B2 (en) 2017-08-28 2018-01-06 Data storage method for detecting data storage device and its data storage device
CN201810414426.XA CN109426581B (zh) 2017-08-28 2018-05-03 用以检测数据储存装置的数据储存方法及其数据储存装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106129149A TWI657336B (zh) 2017-08-28 2017-08-28 用以檢測資料儲存裝置之資料儲存方法及其資料儲存裝置

Publications (2)

Publication Number Publication Date
TW201913372A TW201913372A (zh) 2019-04-01
TWI657336B true TWI657336B (zh) 2019-04-21

Family

ID=65435200

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106129149A TWI657336B (zh) 2017-08-28 2017-08-28 用以檢測資料儲存裝置之資料儲存方法及其資料儲存裝置

Country Status (3)

Country Link
US (1) US10474530B2 (zh)
CN (1) CN109426581B (zh)
TW (1) TWI657336B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10936455B2 (en) * 2019-02-11 2021-03-02 Apple Inc. Recovery of data failing due to impairment whose severity depends on bit-significance value
US10915394B1 (en) 2019-09-22 2021-02-09 Apple Inc. Schemes for protecting data in NVM device using small storage footprint
CN113467701A (zh) * 2020-03-31 2021-10-01 启碁科技股份有限公司 存储器设备和设备信息维护方法
US11550657B1 (en) 2021-09-01 2023-01-10 Apple Inc. Efficient programming schemes in a nonvolatile memory
CN116431381B (zh) * 2023-04-06 2024-01-05 深圳三地一芯电子股份有限公司 平衡闪存ecc纠错能力方法、装置、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101644995A (zh) * 2008-08-05 2010-02-10 晶天电子(深圳)有限公司 多层控制多闪存装置、存储装置和数据分割固态硬盘
CN103218274A (zh) * 2013-03-15 2013-07-24 华为技术有限公司 一种预防故障累加的方法和固态硬盘
US20130205183A1 (en) * 2006-12-06 2013-08-08 Fusion-Io, Inc. Systems and methods for adaptive error-correction coding
TW201411633A (zh) * 2012-09-12 2014-03-16 Macronix Int Co Ltd 輸出經錯誤校正碼校正之位元之資訊
TW201526013A (zh) * 2013-12-19 2015-07-01 Silicon Technologies Corp Q 儲存裝置及其存取方法
US20160139982A1 (en) * 2008-06-18 2016-05-19 Frank Yu Green nand ssd application and driver
TW201710893A (zh) * 2015-09-10 2017-03-16 慧榮科技股份有限公司 用來對一錯誤更正碼進行解碼之方法與解碼電路
TW201714094A (zh) * 2015-10-07 2017-04-16 慧榮科技股份有限公司 資料儲存裝置及資料維護方法
TWI594126B (zh) * 2016-07-05 2017-08-01 慧榮科技股份有限公司 資料儲存裝置與資料儲存方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9171585B2 (en) * 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US7856528B1 (en) * 2009-08-11 2010-12-21 Texas Memory Systems, Inc. Method and apparatus for protecting data using variable size page stripes in a FLASH-based storage system
CN103631670B (zh) * 2012-08-22 2018-08-31 群联电子股份有限公司 存储器储存装置、存储器控制器与数据处理方法
US9087192B2 (en) * 2013-09-10 2015-07-21 Infineon Technologies Ag Electronic circuit and method for monitoring a data processing
TWI603194B (zh) * 2013-12-04 2017-10-21 慧榮科技股份有限公司 資料儲存裝置以及其資料存取方法
US9595352B2 (en) * 2014-03-17 2017-03-14 Seagate Technology Llc Manufacturer self-test for solid-state drives
US9443616B2 (en) * 2014-04-02 2016-09-13 Seagate Technology Llc Bad memory unit detection in a solid state drive
US10204003B2 (en) * 2014-08-27 2019-02-12 Hitachi, Ltd. Memory device and storage apparatus
US9996417B2 (en) * 2016-04-12 2018-06-12 Apple Inc. Data recovery in memory having multiple failure modes
US10176886B1 (en) * 2017-07-07 2019-01-08 Seagate Technology Llc Multi-level data block error detection code
TWI621021B (zh) * 2017-08-25 2018-04-11 慧榮科技股份有限公司 用以優化資料儲存裝置之資料儲存方法及其資料儲存裝置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130205183A1 (en) * 2006-12-06 2013-08-08 Fusion-Io, Inc. Systems and methods for adaptive error-correction coding
US20160139982A1 (en) * 2008-06-18 2016-05-19 Frank Yu Green nand ssd application and driver
CN101644995A (zh) * 2008-08-05 2010-02-10 晶天电子(深圳)有限公司 多层控制多闪存装置、存储装置和数据分割固态硬盘
TW201411633A (zh) * 2012-09-12 2014-03-16 Macronix Int Co Ltd 輸出經錯誤校正碼校正之位元之資訊
CN103218274A (zh) * 2013-03-15 2013-07-24 华为技术有限公司 一种预防故障累加的方法和固态硬盘
TW201526013A (zh) * 2013-12-19 2015-07-01 Silicon Technologies Corp Q 儲存裝置及其存取方法
TW201710893A (zh) * 2015-09-10 2017-03-16 慧榮科技股份有限公司 用來對一錯誤更正碼進行解碼之方法與解碼電路
TW201714094A (zh) * 2015-10-07 2017-04-16 慧榮科技股份有限公司 資料儲存裝置及資料維護方法
TWI594126B (zh) * 2016-07-05 2017-08-01 慧榮科技股份有限公司 資料儲存裝置與資料儲存方法

Also Published As

Publication number Publication date
US10474530B2 (en) 2019-11-12
TW201913372A (zh) 2019-04-01
CN109426581B (zh) 2022-02-11
US20190065308A1 (en) 2019-02-28
CN109426581A (zh) 2019-03-05

Similar Documents

Publication Publication Date Title
TWI657336B (zh) 用以檢測資料儲存裝置之資料儲存方法及其資料儲存裝置
TWI613675B (zh) 具有減小讀取延時之資料儲存裝置及其操作方法
US8478930B1 (en) Solid state drive power safe wear-leveling
US9817749B2 (en) Apparatus and method of offloading processing from a data storage device to a host device
US9417960B2 (en) Preventing programming errors from occurring when programming flash memory cells
CN110390979B (zh) 存储器控制器和具有存储器控制器的存储器系统
TWI746510B (zh) 用於在資料儲存裝置上管理不可變資料之技術
US10956065B2 (en) Solid state storage device with quick boot from NAND media
US9477423B2 (en) Eliminating or reducing programming errors when programming flash memory cells
TW201947402A (zh) 記憶體管理方法以及儲存控制器
TW201913380A (zh) 資料儲存裝置以及其操作方法
KR20220082509A (ko) 저장 장치 및 그 동작 방법
CN111916134B (zh) 存储装置及其操作方法
TW202311965A (zh) 主機裝置、記憶體控制器及包括其的計算系統
TWI621021B (zh) 用以優化資料儲存裝置之資料儲存方法及其資料儲存裝置
TWI646548B (zh) 用來於一記憶裝置中進行刷新管理之方法以及記憶裝置及其控制器
TWI782644B (zh) 用來進行資料儲存管理以提升資料可靠度之方法、記憶裝置及其控制器以及電子裝置
TWI494944B (zh) 記憶體模組偵測方法、記憶體控制電路單元及儲存裝置
US11694728B2 (en) Storage device and operating method thereof
TWI674531B (zh) 資料儲存裝置及操作該資料儲存裝置的方法
US20240036731A1 (en) Memory system and method of operating the same
US11797444B2 (en) Storage device for storing address information and data in memory device in response to occurrence of power loss and operating method of the storage device
CN116246681A (zh) 存储器装置及其操作方法