TWI795974B - 資料儲存裝置及其錯誤容忍度的篩選方法 - Google Patents

資料儲存裝置及其錯誤容忍度的篩選方法 Download PDF

Info

Publication number
TWI795974B
TWI795974B TW110140661A TW110140661A TWI795974B TW I795974 B TWI795974 B TW I795974B TW 110140661 A TW110140661 A TW 110140661A TW 110140661 A TW110140661 A TW 110140661A TW I795974 B TWI795974 B TW I795974B
Authority
TW
Taiwan
Prior art keywords
data
error
rows
storage device
data storage
Prior art date
Application number
TW110140661A
Other languages
English (en)
Other versions
TW202319922A (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 TW110140661A priority Critical patent/TWI795974B/zh
Priority to CN202210047892.5A priority patent/CN116069237A/zh
Priority to US17/715,978 priority patent/US11907047B2/en
Application granted granted Critical
Publication of TWI795974B publication Critical patent/TWI795974B/zh
Publication of TW202319922A publication Critical patent/TW202319922A/zh

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/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/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/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/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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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]

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)
  • Emergency Protection Circuit Devices (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一種資料儲存裝置及其錯誤容忍度的篩選方法包括:寫入資料至資料儲存裝置的資料區塊;讀取資料區塊的寫入資料為讀取資料;比對資料區塊中每一資料行的讀取資料與寫入資料以計算每一資料行的錯誤位元數,並據以計算分別包含多條資料行的每一大塊的錯誤位元數;選取具有最大錯誤位元數的大塊以記錄此大塊中具有最大錯誤位元數的一資料行為一損壞資料行;計算此大塊的錯誤位元數與第一門檻值的差值以儲存此差值至一錯誤容忍度列表中直到損壞資料行的數量等於第二門檻值;以及選擇此錯誤容忍度列表中具有最大正整數的差值以作為錯誤容忍度。

Description

資料儲存裝置及其錯誤容忍度的篩選方法
本發明有關一種資料儲存裝置的存取技術,尤其是一種資料儲存裝置的錯誤容忍度的篩選方法。
次級品的資料儲存裝置(Downgrade Flash)都存在著為數眾多的損壞資料行(bad column)。當損壞資料行沒有被偵測到以及移除,則會消耗資料儲存裝置大部分的錯誤更正碼(Error correction code)可更正錯誤的更正能力(例如,可更正位元數),甚至有可能超過錯誤更正碼可更正錯誤的更正能力,導致資料儲存裝置開卡時的可儲存容量變低,以及容易造成資料儲存裝置讀寫上的失敗。其中損壞資料行的數量與錯誤更正碼可更正錯誤的更正能力是相抵觸的;也就是說,損壞資料行的數量越多,錯誤更正碼可更正錯誤的更正能力會越低;因此,需要一種在損壞資料行的數量與錯誤更正碼可更正錯誤的更正能力之間找到平衡的錯誤容忍度的篩選方法。
本發明提供一種資料儲存裝置及其錯誤容忍度的篩選方法,可在損壞資料行的數量與錯誤更正碼可更正錯誤的更正能力之間找到平衡,以找出錯誤更正碼可更正錯誤的最大更正能力下的損壞資料行的數量。
本發明所提供的錯誤容忍度的篩選方法,適用於資料儲存裝置。其中資料儲存裝置包括控制單元及資料儲存媒體,且資料儲存媒體包括多個資料區塊,每一資料區塊包括多個資料行,而資料行被劃分為多個大塊。控制單元至少執行一次錯誤容忍度的篩選方法包括:寫入資料至多個資料區塊;讀取多個資料區塊的寫入資料為讀取資料;比對多個資料區塊中每一資料行的讀取資料與寫入資料以計算每一資料行的錯誤位元數,並據以計算每一大塊的錯誤位元數;選取具有最大錯誤位元數的一大塊以記錄此大塊中具有最大錯誤位元數的一資料行為一損壞資料行;計算此大塊的錯誤位元數與第一門檻值的差值以儲存此差值至錯誤容忍度列表中直到損壞資料行的數量等於第二門檻值;以及選擇錯誤容忍度列表中具有最大正整數的差值以作為錯誤容忍度並獲取對應的損壞資料行的數量;其中,第一門檻值係資料儲存裝置的錯誤更正碼可更正的錯誤位元數;其中,第二門檻值係資料儲存裝置可記錄的損壞資料行的總數。
本發明所提供的資料儲存裝置包括資料儲存媒體以及連接資料儲存媒體的控制單元。資料儲存媒體包括多個資料區塊,其中每一資料區塊包括多個資料行,而這些資料行被劃分為多個大塊。控制單元用以執行錯誤容忍度的篩選方法。此篩選方法包括:寫入資料至多個資料區塊;讀取多個資料區塊的寫入資料為讀取資料;比對多個資料區塊中每一資料行的讀取資料與寫入資料以計算每一資料行的錯誤位元數,並據以計算每一大塊的錯誤位元數;選取具有最大錯誤位元數的一大塊以記錄此大塊中具有最大錯誤位元數的一資料行為一損壞資料行;計算此大塊的錯誤位元數與第一門檻值的差值以儲存此差值至錯誤容忍度列表中直到損壞資料行的數量等於第二門檻值;以及選擇錯誤容忍度列表中具有最大正整數的差值以作為錯誤容忍度並獲取對應的損壞資料行的數量;其中,第一門檻值係資料儲存裝置的錯誤更正碼可更正的錯誤位元數;其中,第二門檻值係資料儲存裝置可記錄的損壞資料行的總數。
在本發明的一實施例中,上述每一大塊包括一資料區以及一備用區。
在本發明的一實施例中,上述每一資料區塊包括多個資料頁,每一資料頁包括位於同一列的多個資料行。
在本發明的一實施例中,上述每一資料頁包括一資料區及一備用區,且這些大塊位於資料區。
在本發明的一實施例中,上述第一門檻值與損壞資料行的數量係負相關。
在本發明的一實施例中,上述錯誤容忍度列表更儲存損壞資料行的數量、大塊的錯誤位元數及第一門檻值。
本發明提供的資料儲存裝置及其錯誤容忍度的篩選方法,因可在損壞資料行的數量與錯誤更正碼可更正錯誤的更正能力之間找到平衡,因此可找出錯誤更正碼可更正錯誤的最大更正能力下的損壞資料行的數量,同時也避免錯誤更正碼可更正錯誤的更正能力大幅下降。
為讓本發明之上述和其他目的、特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式,作詳細說明如下。
請參照圖1,為本發明一實施例所提供的資料儲存裝置的示意圖。資料儲存裝置1包括有資料儲存媒體10與控制單元20,而控制單元20連接至資料儲存媒體10,以對資料儲存媒體10存取資料。
請參照圖2,為本發明一實施例所提供的資料儲存媒體的示意圖。此資料儲存媒體10包括多個資料區塊(Block,如標示B0到BZ-1所示)。每一資料區塊包括多個資料行11,而置於同一列的資料行稱之為資料頁(Page,如標示P0至PN-1所示)。此外,依據使用者的需求,可將資料行11劃分為M個大塊(Chunk,如標示C0至CM-1),每一個大塊C0至CM-1包含多個資料行11。上述中的Z、N、及M皆為正整數。在本實施例中,資料儲存媒體10包括以非揮發性記憶體來實現,例如是以快閃記憶體(Flash memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)等具有長時間資料保存之記憶體裝置來實現。此外,一實施例中,每一頁資料頁可劃分為資料區以及備用區,而M個大塊位於資料區中。另一實施例中,每一個大塊C0至CM-1可劃分為資料區以及備用區。其中資料區用以儲存資料(或使用者資料),備用區用以儲存同位碼(Parity Code),同位碼可用以更正資料區的資料的錯誤位元(Error Bit)。
由於損壞資料行存在於資料儲存媒體10之中,在將資料儲存媒體10劃分為資料區與備用區之前,利用本發明之錯誤容忍度的篩選方法可有效地判斷並記錄資料儲存媒體10之損壞資料行。當損壞資料行的位置確定之後,再進行資料區與備用區的劃分。另外,資料區與備用區的劃分乃是基於資料管理的邏輯性劃分,因此,使用者亦可先進行資料區與備用區的劃分,再可利用本發明之錯誤容忍度的篩選方法來判斷並記錄損壞資料行的位置,最後,調整資料區與備用區的劃分。上述二種資料劃分方式的精神相仿,執行步驟的先後順序略有不同,為了簡化本發明之說明,僅以第二種實施方式進行說明,但不以此為限。
接下來要說明的是,本發明之錯誤容忍度的篩選方法(下稱篩選方法),可用於篩選資料儲存媒體10的損壞資料行。另外,本實施例是隨機挑選資料儲存媒體10的其中一個資料區塊B0至BZ-1,當作一樣本區塊來執行此篩選方法,而不使用到所有的資料區塊B0至BZ-1。可以注意的是,本領域技術人員可根據資料儲存媒體10的容量選擇樣本區塊的不同數量來執行篩選方法,如選擇16個樣本區塊來執行篩選方法,因此本發明並不限制樣本區塊的數量。另一實施例中,本發明也可以對所有資料區塊B0至BZ-1執行此篩選方法。
請參照圖3,為本發明一實施例所提供的資料儲存裝置的錯誤容忍度的篩選方法的流程示意圖。控制單元20執行本發明的錯誤容忍度的篩選方法包括以下操作。步驟S1中,控制單元20寫入資料至多個資料區塊。步驟S3中,控制單元20讀取多個資料區塊的寫入資料為讀取資料。步驟S5中,控制單元20比對多個資料區塊中每一資料行的讀取資料與寫入資料以計算每一資料行的錯誤位元數,並據以計算每一大塊的錯誤位元數。步驟S7中,控制單元20選取具有最大錯誤位元數的大塊以記錄此大塊中具有最大錯誤位元數的一資料行為一損壞資料行。步驟S9中,控制單元20計算具有最大錯誤位元數的大塊的錯誤位元數與第一門檻值的差值以儲存該差值至一錯誤容忍度列表中直到損壞資料行的數量等於第二門檻值,其中第一門檻值係資料儲存裝置的一錯誤更正碼可更正的一錯誤位元數,第二門檻值係資料儲存裝置可記錄的損壞資料行的總數。步驟S11中,控制單元20選擇錯誤容忍度列表中具有最大正整數的差值以作為錯誤容忍度並獲取對應的損壞資料行的數量。
一示例中,資料儲存媒體10包括17472條資料行11,每條資料行有2560位元,這些資料行分成16個大塊,每個大塊包括1024條資料行11,則備用區為17472-(16*1024)=1088個資料行11,亦即每個大塊可以分配到68個資料行11,如此錯誤更正碼對應這些備用區的資料行11提供可更正錯誤的36位元數的更正能力。其中,本示例中的該些數值會隨著資料儲存媒體10的容量改變而改變,本發明並不以上述數值為限。
首先,控制單元20選取一資料區塊(例如資料區塊B0)作為樣本區塊並寫入資料至樣本區塊中,讀取樣本區塊的寫入資料以作為讀取資料,比對樣本區塊中每一資料行11的讀取資料與寫入資料以計算每一資料行11的錯誤位元數,同時據以計算樣本區塊中每一大塊的錯誤位元數。例如,資料儲存媒體10包括10個資料區塊,則每一資料區塊的每一資料行11可分配到2560/10=256位元,控制單元20比對每一資料行11的這256位元的寫入資料與讀取資料以計算每一資料行11的這256位元的錯誤位元數,以及每一大塊的1024個資料行11的總錯誤位元數。
接著,控制單元20選取具有最大錯誤位元數的一大塊(例如資料區塊B0中的大塊C0具有最大錯誤位元數的47個錯誤位元),並找出這大塊C0中具有最大錯誤位元數的一第一資料行11(例如某一資料行具有最大錯誤位元數的8個錯誤位元)並記錄此第一資料行為一損壞資料行於資料儲存裝置1的一損壞資料行總表中。需要注意的是,資料儲存裝置1的損壞資料行總表所記錄的損壞資料行的總數是一上限值,即第二門檻值,在本示例中為備用區的1088個資料行,同時資料儲存裝置1的錯誤更正碼可更正的錯誤位元數,即第一門檻值,與損壞資料行的數量呈現負相關。也就是說,隨著損壞資料行總表所記錄的損壞資料行越多,第一門檻值則會逐漸下降,如表1的錯誤容忍度列表。 表1
損壞資料行的數量 第一門檻值 最大錯誤位元數的大塊的錯誤位元數 差值
0 36位元 (大塊C0)47位元 -11
1 35位元 (大塊C0)39位元 -4
2 35位元 (大塊C1)33位元 2
3 35位元 (大塊C1)29位元 6
4 34位元 (大塊C4)28位元 6
5 34位元 (大塊C5)26位元 8
6 34位元 (大塊C10)18位元 16
7 32位元 (大塊C0)17位元 15
. . . . . . . . . . . .
200 10位元 (大塊C5)9位元 1
. . . . . . . . . . . .
1088 0位元 (大塊C6)7位元 -7
接著,記錄大塊C0中第一資料行為損壞資料行於損壞資料行總表之後,控制單元20再次找出所有大塊中具有最大錯誤位元數的大塊以及此大塊中具有最大錯誤位元數的一第二資料行11(例如大塊C0具有最大錯誤位元數的37個錯誤位元,某一資料行具有最大錯誤位元數的10個錯誤位元)並記錄此第二資料行為一損壞資料行於損壞資料行總表中。接著,記錄大塊C0中第二資料行為損壞資料行於損壞資料行總表之後,控制單元20再次找出所有大塊中具有最大錯誤位元數的大塊以及此大塊中具有最大錯誤位元數的一第三資料行11(例如大塊C1具有最大錯誤位元數的33個錯誤位元,其中某一資料行具有最大錯誤位元數的4個錯誤位元)並記錄此第三資料行為一損壞資料行於損壞資料行總表中。以此類推,直到資料儲存裝置1的1088個可記錄的損壞資料行的數量用完為止。
最後,控制單元20可計算具有最大錯誤位元數的大塊與第一門檻值的差值以儲存該些差值於錯誤容忍度列表直到損壞資料行的數量等於第二門檻值,即1088個資料行。並且選擇具有最大正整數的差值以作為最佳的錯誤容忍度,如錯誤容忍度列表的差值欄位中的數值16。換句話說,通過本發明的篩選方法可以獲得額外的16位元的更正能力。同時,更可對應找出損壞資料行的數量為6個,即可用的備用區的資料行為1088-6=1082個資料行。
綜上所述,本發明所提供的資料儲存裝置及其錯誤容忍度的篩選方法,在損壞資料行的數量與錯誤更正碼可更正錯誤的更正能力之間找到平衡,因此可找出錯誤更正碼可更正錯誤的最大更正能力以及損壞資料行的數量,以避免錯誤更正碼可更正錯誤的更正能力大幅下降。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1:資料儲存裝置 10:資料儲存媒體 11:資料行 20:控制單元 B0,B1,BZ-1:資料區塊 C0,C1,CM-1:大塊 P0,P1,PN-1:資料頁 S1,S3,S5,S7,S9,S11:步驟
圖1為本發明一實施例所提供的資料儲存裝置的示意圖; 圖2為本發明一實施例所提供的資料儲存媒體的示意圖;以及 圖3為本發明一實施例所提供的資料儲存裝置的錯誤容忍度的篩選方法的流程示意圖。
S1,S3,S5,S7,S9,S11:步驟

Claims (12)

  1. 一種錯誤容忍度的篩選方法,適用於一資料儲存裝置,其中該資料儲存裝置包括一控制單元及一資料儲存媒體,且該資料儲存媒體包括多個資料區塊,每一該些資料區塊包括多個資料行,而該些資料行被劃分為多個大塊,該控制單元至少執行一次該錯誤容忍度的篩選方法包括: 寫入資料至該些資料區塊; 讀取該些資料區塊的寫入資料為讀取資料; 比對每一該些資料行的該讀取資料與該寫入資料以計算每一該些資料行的一錯誤位元數,並據以計算每一該些大塊的一錯誤位元數; 選取具有最大該錯誤位元數的一大塊以記錄該大塊中具有最大該錯誤位元數的一資料行為一損壞資料行; 計算該大塊的該錯誤位元數與一第一門檻值的一差值以儲存該差值至一錯誤容忍度列表中直到該損壞資料行的數量等於一第二門檻值;以及 選擇該錯誤容忍度列表中具有最大正整數的一差值以作為該錯誤容忍度並獲取對應的該損壞資料行的數量; 其中,該第一門檻值係該資料儲存裝置的一錯誤更正碼可更正的一錯誤位元數; 其中,該第二門檻值係該資料儲存裝置可記錄的該損壞資料行的總數。
  2. 如請求項1所述之錯誤容忍度的篩選方法,其中每一該些大塊包括一資料區以及一備用區。
  3. 如請求項1所述之錯誤容忍度的篩選方法,其中每一該些資料區塊包括多個資料頁,每一該些資料頁包括位於同一列的該些資料行。
  4. 如請求項3所述之錯誤容忍度的篩選方法,其中每一該些資料頁包括一資料區及一備用區,且該些大塊位於該資料區。
  5. 如請求項1所述之錯誤容忍度的篩選方法,其中該第一門檻值與該損壞資料行的數量係負相關。
  6. 如請求項5所述之錯誤容忍度的篩選方法,其中該錯誤容忍度列表更儲存該損壞資料行的數量、該大塊的該錯誤位元數及該第一門檻值。
  7. 一種資料儲存裝置,包括: 一資料儲存媒體,包括多個資料區塊,其中每一該些資料區塊包括多個資料行,而該些資料行被劃分為多個大塊;以及 一控制單元,連接該資料儲存媒體,並用以執行錯誤容忍度的篩選方法,該篩選方法包括: 寫入資料至該些資料區塊; 讀取該些資料區塊的寫入資料為讀取資料; 比對每一該些資料行的該讀取資料與該寫入資料以計算每一該些資料行的一錯誤位元數,並據以計算每一該些大塊的一錯誤位元數; 選取具有最大該錯誤位元數的一大塊以記錄該大塊中具有最大該錯誤位元數的一資料行為一損壞資料行; 計算該大塊的該錯誤位元數與一第一門檻值的一差值以儲存該差值至一錯誤容忍度列表中直到該損壞資料行的數量等於一第二門檻值;以及 選擇該錯誤容忍度列表中具有最大正整數的一差值以作為該錯誤容忍度並獲取對應的該損壞資料行的數量; 其中,該第一門檻值係該資料儲存裝置的一錯誤更正碼可更正的一錯誤位元數; 其中,該第二門檻值係該資料儲存裝置可記錄的該損壞資料行的總數。
  8. 如請求項7所述之資料儲存裝置,其中每一該些大塊包括一資料區以及一備用區。
  9. 如請求項7所述之資料儲存裝置,其中每一該些資料區塊包括多個資料頁,每一該些資料頁包括位於同一列的該些資料行。
  10. 如請求項9所述之資料儲存裝置,其中每一該些資料頁包括一資料區及一備用區,且該些大塊位於該資料區。
  11. 如請求項7所述之資料儲存裝置,其中該第一門檻值與該損壞資料行的數量係負相關。
  12. 如請求項11所述之資料儲存裝置,其中該錯誤容忍度列表更儲存該損壞資料行的數量、該大塊的該錯誤位元數及該第一門檻值。
TW110140661A 2021-11-02 2021-11-02 資料儲存裝置及其錯誤容忍度的篩選方法 TWI795974B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW110140661A TWI795974B (zh) 2021-11-02 2021-11-02 資料儲存裝置及其錯誤容忍度的篩選方法
CN202210047892.5A CN116069237A (zh) 2021-11-02 2022-01-17 数据储存装置及其错误容忍度的筛选方法
US17/715,978 US11907047B2 (en) 2021-11-02 2022-04-08 Data storage device and error tolerance selecting method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW110140661A TWI795974B (zh) 2021-11-02 2021-11-02 資料儲存裝置及其錯誤容忍度的篩選方法

Publications (2)

Publication Number Publication Date
TWI795974B true TWI795974B (zh) 2023-03-11
TW202319922A TW202319922A (zh) 2023-05-16

Family

ID=86147150

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110140661A TWI795974B (zh) 2021-11-02 2021-11-02 資料儲存裝置及其錯誤容忍度的篩選方法

Country Status (3)

Country Link
US (1) US11907047B2 (zh)
CN (1) CN116069237A (zh)
TW (1) TWI795974B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170116076A1 (en) * 2015-10-21 2017-04-27 SanDisk Technologies, Inc. Bad Column Management in Nonvolatile Memory
TWI581093B (zh) * 2016-06-24 2017-05-01 慧榮科技股份有限公司 資料儲存媒體之損壞資料行的篩選方法
TWI601148B (zh) * 2016-05-05 2017-10-01 慧榮科技股份有限公司 損壞資料行的篩選方法與具有損壞資料行總表的資料儲存裝置
TWI637261B (zh) * 2016-06-24 2018-10-01 慧榮科技股份有限公司 資料儲存媒體之損壞資料行的篩選方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9146807B2 (en) * 2012-12-04 2015-09-29 Sandisk Technologies Inc. Bad column handling in flash memory
US20160078966A1 (en) * 2014-09-14 2016-03-17 Transcend Information, Inc. Method of performing wear management in non-volatile memory devices
US9952775B2 (en) * 2016-08-11 2018-04-24 SK Hynix Inc. Unusable column mapping in flash memory devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170116076A1 (en) * 2015-10-21 2017-04-27 SanDisk Technologies, Inc. Bad Column Management in Nonvolatile Memory
TWI601148B (zh) * 2016-05-05 2017-10-01 慧榮科技股份有限公司 損壞資料行的篩選方法與具有損壞資料行總表的資料儲存裝置
TWI581093B (zh) * 2016-06-24 2017-05-01 慧榮科技股份有限公司 資料儲存媒體之損壞資料行的篩選方法
TWI637261B (zh) * 2016-06-24 2018-10-01 慧榮科技股份有限公司 資料儲存媒體之損壞資料行的篩選方法

Also Published As

Publication number Publication date
US11907047B2 (en) 2024-02-20
TW202319922A (zh) 2023-05-16
CN116069237A (zh) 2023-05-05
US20230137772A1 (en) 2023-05-04

Similar Documents

Publication Publication Date Title
TWI601148B (zh) 損壞資料行的篩選方法與具有損壞資料行總表的資料儲存裝置
US8533385B2 (en) Method for preventing read-disturb happened in non-volatile memory and controller thereof
TWI581093B (zh) 資料儲存媒體之損壞資料行的篩選方法
US20120110419A1 (en) Data Structure for Flash Memory and Data Reading/Writing Method Thereof
US20140115416A1 (en) Non-volatile memory error correction
US10635527B2 (en) Method for processing data stored in a memory device and a data storage device utilizing the same
TWI763608B (zh) 資料儲存裝置及其損壞資料行的篩選方法
JP2008159198A (ja) 誤り訂正装置及び記録再生装置
TWI795974B (zh) 資料儲存裝置及其錯誤容忍度的篩選方法
TWI605462B (zh) 資料儲存媒體之損壞資料行的篩選方法
US11403010B2 (en) Data storage device and plane selection method thereof
US11335432B2 (en) Method for selecting bad columns in data storage medium
TWI774015B (zh) 資料的寫入方法及其資料儲存裝置
TWI637261B (zh) 資料儲存媒體之損壞資料行的篩選方法
TW202320080A (zh) 資料儲存裝置及其損壞資料區塊的篩選方法
US20200264953A1 (en) Error correction in data storage devices
US11531582B2 (en) Data storage device dynamically relocating data sectors based on map-out value
WO2021196621A1 (zh) 读写方法及存储器装置
KR20230122909A (ko) 데이터를 저장하는 전자 장치 및 그를 이용한 데이터 저장 방법