TWI687933B - 資料儲存裝置及其區塊釋放方法 - Google Patents

資料儲存裝置及其區塊釋放方法 Download PDF

Info

Publication number
TWI687933B
TWI687933B TW106106973A TW106106973A TWI687933B TW I687933 B TWI687933 B TW I687933B TW 106106973 A TW106106973 A TW 106106973A TW 106106973 A TW106106973 A TW 106106973A TW I687933 B TWI687933 B TW I687933B
Authority
TW
Taiwan
Prior art keywords
block
blocks
detection block
pages
damaged
Prior art date
Application number
TW106106973A
Other languages
English (en)
Other versions
TW201833937A (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 TW106106973A priority Critical patent/TWI687933B/zh
Priority to CN201710228405.4A priority patent/CN108536390B/zh
Priority to US15/863,887 priority patent/US10340025B2/en
Publication of TW201833937A publication Critical patent/TW201833937A/zh
Application granted granted Critical
Publication of TWI687933B publication Critical patent/TWI687933B/zh

Links

Images

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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/838Masking faults in memories by using spares or by reconfiguring using programmable devices with substitution of defective spares
    • 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/0629Configuration or reconfiguration of storage systems
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

本發明提供一種資料儲存裝置。資料儲存裝置包括一快閃記憶體以及一控制器。快閃記憶體具有複數區塊,並且每一區塊具有複數頁面,其中被標記為損壞之區塊為複數壞區塊。控制器用以自壞區塊中選擇一者作為一檢測區塊,並且對檢測區塊中之頁面進行讀取以判斷檢測區塊中之頁面是否損壞,其中當檢測區塊中之所有頁面皆沒有損壞時,控制器將檢測區塊標記為一備用區塊。

Description

資料儲存裝置及其區塊釋放方法
本發明係關於一種資料儲存裝置之區塊釋放方法;特別係關於一種釋放壞區塊之區塊釋放方法。
快閃記憶體為一種普遍的非揮發性資料儲存媒體,係以電性方式抹除與程式化。以非及閘型的快閃記憶體(即NAND FLASH)為例,常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)、嵌入式快閃記憶體模組(eMMC)…等之儲存媒體。
快閃記憶體(如,NAND FLASH)的儲存陣列包括複數個區塊(blocks),而各區塊包括複數頁(pages)。由於快閃記憶體中之區塊的數量有限,所以如何有效利用快閃記憶體中之區塊是一個重要的課題。
本發明所提供之資料儲存裝置以及區塊釋放方法可重新使用被標記為損壞之區塊。
本發明提供一種資料儲存裝置。資料儲存裝置包括一快閃記憶體以及一控制器。快閃記憶體具有複數區塊,並且每一區塊具有複數頁面,其中被標記為損壞之區塊為複數壞區塊。控制器用以自壞區塊中選擇一者作為一檢測區塊,並且 對檢測區塊中之頁面進行讀取以判斷檢測區塊中之頁面是否損壞,其中當檢測區塊中之所有頁面皆沒有損壞時,控制器將檢測區塊標記為一備用區塊。
在一實施例中,控制器係選擇壞區塊中被標記為損壞最久之一者作為檢測區塊。另一實施例中,控制器係選擇壞區塊中被標記為損壞最久並且在一既定時間內未被選作檢測區塊之一者,作為檢測區塊。
又另一實施例中,控制器係在一既定條件滿足時,執行自壞區塊中選取檢測區塊、對檢測區塊中之頁面進行讀取以判斷檢測區塊之頁面是否損壞以及將檢測區塊標記為備用區塊的步驟,其中既定條件包括壞區塊的數量超過一既定數量。另一實施例中,既定條件更包括在資料儲存裝置自一主機接收到一讀取命令後。
其中,當檢測區塊中之所有頁面皆沒有損壞時,控制器更用以在檢測區塊被標記為備用區塊前,將檢測區塊中之有效資料搬移至區塊中之其它者。當檢測區塊中之任一頁面損壞時,控制器停止對檢測區塊中之其他頁面進行讀取,並且維持檢測區塊為損壞之標記。另外,區塊中被標記為損壞之壞區塊不可再被寫入資料,並且區塊中被標記為備用之備用區塊可被寫入資料。
本發明另提供一種區塊釋放方法,適用於具有一快閃記憶體之一資料儲存裝置,其中快閃記憶體具有複數區塊,每一區塊具有複數頁面,並且被標記為損壞之區塊為複數壞區塊。區塊釋放方法包括:自壞區塊中選擇一者作為一檢測 區塊;對檢測區塊中之頁面進行讀取,以判斷檢測區塊之頁面中是否損壞;以及當檢測區塊中之所有頁面皆沒有損壞時,將檢測區塊標記為一備用區塊。
在一實施例中,上述自壞區塊中選擇一者作為檢測區塊的步驟係選擇壞區塊中被標記為損壞最久之一者作為檢測區塊。另一實施例中,上述自壞區塊中選擇一者作為檢測區塊的步驟係選擇壞區塊中被標記為損壞最久並且在一既定時間內未被選作檢測區塊中之一者,作為檢測區塊。
一實施例中,區塊釋放方法更包括在檢測區塊標記為備用區塊前,將檢測區塊中之有效資料搬移至區塊中之其它者。另外,上述自壞區塊中選擇一者作為檢測區塊、對檢測區塊中之頁面進行讀取以判斷檢測區塊之頁面是否損壞以及將檢測區塊標記為備用區塊的步驟係在一既定條件被滿足時所執行的,其中既定條件包括壞區塊之數量超過一既定數量。另一實施例中,既定條件更包括資料儲存裝置閒置時或者資料儲存裝置自一主機接收到一讀取命令後。
另外,當檢測區塊中之任一頁面者損壞時,停止對檢測區塊中之其他頁面進行讀取,並且維持檢測區塊為損壞之標記。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
166‧‧‧隨機存取記憶體
180‧‧‧快閃記憶體
B0~BN‧‧‧區塊
P0~PN‧‧‧頁面
S304~S312、S402~S412、S500~S518、S600~S614‧‧‧步驟
第1圖係本發明之一種實施例之電子系統之方塊圖。
第2圖係本發明之一種實施例之快閃記憶體之示意圖。
第3圖係本發明之一種實施例之區塊釋放方法之流程圖。
第4圖係本發明之另一種實施例之區塊釋放方法之流程圖。
第5A~5B圖係本發明之另一種實施例之區塊釋放方法之流程圖。
第6圖係本發明之另一種實施例之區塊釋放方法之流程圖。
以下將詳細討論本發明各種實施例之裝置及使用方法。然而值得注意的是,本發明所提供之許多可行的發明概念可實施在各種特定範圍中。這些特定實施例僅用於舉例說明本發明之裝置及使用方法,但非用於限定本發明之範圍。
第1圖為本發明所提供之一電子系統之一種實施例的方塊圖。電子系統100包括一主機120以及一資料儲存裝置140。資料儲存裝置140包括一快閃記憶體180以及一控制器160,且可根據主機110所下達的命令操作。控制器160包括一運算單元162、一永久記憶體(如,唯讀記憶體ROM)164以及隨機存取記憶體(RAM)166。永久記憶體164與所載之程式碼、資料組成韌體(firmware),由運算單元162執行,使控制器160基於該韌體控制該快閃記憶體180。隨機存取記憶體(RAM)166用以載入程式碼與參數以提供控制器160根據所載入的程式碼與參數動作。
第2圖係本發明之一種實施例之快閃記憶體之示意圖。快閃記憶體180具有複數區塊B0~BN,每一區塊B0~BN具有複數頁面P0~PN,其中控制器160係以頁面為單位將資料 寫入快閃記憶體180,並且以區塊為單位將快閃記憶體180中之資料抹除。
值得注意的是,由於溫度的差異或者讀寫次數的增加,快閃記憶體180中之部分頁面可能無法正確的提供所儲存之資料。因此,為了保護資料,控制器160會將資料在寫入頁面P0~PN前進行編碼,以產生校正資料(Error Correction Code)。接著,控制器160會將資料以及所相應之校正資料寫入快閃記憶體180中。在讀取資料的過程中,控制器160可藉由校正資料判斷所讀取之資料是否正確,並且當所讀取之資料具有錯誤位元時,藉由校正資料校正資料中之錯誤位元。然而,當控制器160無法藉由校正資料或者其他方法校正資料中之錯誤位元時,控制器160會將儲存該筆資料的區塊標記為損壞。
詳細而言,區塊B0~BN中具有三種狀態之區塊,分別為壞區塊、備用區塊以及資料區塊。壞區塊為被標記為損壞之區塊。備用區塊為不具有有效資料的區塊。資料區塊為具有有效資料的區塊。換言之,區塊B0~BN中被標記為損壞之壞區塊不可再被寫入資料,並且區塊B0~BN中被標記為備用之備用區塊可被寫入資料。區塊B0~BN中壞區塊之數量增加,代表區塊B0~BN中可用之備用區塊以及資料區塊的數量減少。當區塊B0~BN中壞區塊之數量超過一既定數量時,會導致備用區塊數量不足的狀況(Run Out Of Spare,ROS)。在備用區塊數量不足的狀況下,使用者則無法再對資料儲存裝置140進行寫入。
然而,在某些狀態下被標記為損壞之壞區塊,有可能會再度回復正常的狀態。換言之,壞區塊隨著環境以及時 間的變化,可能可以再度正確地提供所儲存之資料。有鑑於此,在一實施例中,控制器160會在一既定條件滿足時,自壞區塊中選擇一者作為一檢測區塊,並且對檢測區塊中之頁面進行讀取以判斷檢測區塊中之頁面是否損壞,其中當所讀取之頁面的資料為正確或者所讀取之資頁的資料可被校正為正確資料時,控制器160判斷該頁面沒有損壞,當所讀取之頁面的資料無法被校正為正確資料時,控制器160判斷該頁面損壞。在一實施例中,既定條件可為壞區塊的數量超過一既定數量,但本發明不限於此。既定數量可由電路設計者所決定,例如既定數量可為區塊B0~BN之總數的三分之一,但本發明不限於此。在另一實施例中,既定條件可為壞區塊的數量超過一既定數量並且資料儲存裝置140為閒置時。又另一實施例中,既定條件可為在資料儲存裝置140自一主機120接收到一讀取命令或者一寫入命令後。另外,在一個寫入命令或者一個讀取命令被執行的過程中,控制器160僅會選擇一個檢測區塊進行檢測,但本發明不限於此。在其他實施例中,電路設計者可依照需求調整每一命令所分配之檢測區塊的數量。
當檢測區塊中之所有頁面皆沒有損壞時,控制器160將檢測區塊標記為一備用區塊,以釋放作為檢測區塊的壞區塊。換言之,當檢測區塊中之所有頁面皆沒有損壞時,作為檢測區塊之壞區塊會再度被控制器160作為備用區塊或者資料區塊,以增加區塊B0~BN中可用區塊的數量。在一實施例中,控制器160係選擇壞區塊中被標記為損壞的時間最久之一者作為檢測區塊,但本發明不限於此。在另一實施例中,控制器160 係選擇壞區塊中被標記為損壞的時間最久並且在一既定時間內未被選作檢測區塊之一者,作為檢測區塊。換言之,當壞區塊經由檢測發現仍具有損壞的頁面後,該壞區塊則在檢測後之一既定時間內都不會再被檢測。另外,快閃記憶體180中可具有一特定區塊用以儲存每一區塊B0~BN之狀態。當既定條件滿足時,控制器160則可讀取特定區塊中之資料,以取得區塊B0~BN中何者為壞區塊的資訊以及標記狀態的時間,並且據以選取檢測區塊,但本發明不限於此。在其他實施例中,壞區塊被標記為損壞的時間可記錄在不同於特定區塊之其他區塊中。
在另一實施例中,當檢測區塊中之所有頁面皆沒有損壞時,控制器160更用以判斷檢測區塊中是否具有有效資料。當檢測區塊中具有有效資料時,控制器160會將檢測區塊中之有效資料搬移至其他區塊,以回復曾丟失的資料。在檢測區塊中之有效資料已搬移至其他區塊後,控制器160才將檢測區塊標記為一備用區塊。在另一實施例中,在判斷檢測區塊中是否具有有效資料之前,控制器160更用以更新作為檢測區塊之區塊的資訊,例如有效頁面數量(Valid Page Count)、抹除次數(Erase count)以及讀取次數(Read Count)等等。其中,有效頁面數量、抹除次數以及讀取次數可分別儲存於不同的表中或者同一表中。換言之,快閃記憶體180可具有至少一表,用以儲存每一區塊B0~BN之效頁面數量、抹除次數以及讀取次數。
當檢測區塊中有任一頁面損壞時,控制器160停止對檢測區塊中之其他頁面進行讀取,並且維持檢測區塊為損壞之標記。換言之,當控制器160發現任一頁面損壞後,控制器 160則不再對檢測區塊中之其他頁面進行讀取,並且判斷作為檢測區塊之壞區塊仍然損壞。
第3圖係本發明之一種實施例之區塊釋放方法之流程圖。區塊釋放方法適用於第1圖所示之資料儲存裝置140,其中快閃記憶體180具有複數區塊,每一區塊具有複數頁面,並且被標記為損壞之區塊為複數壞區塊。流程開始於步驟S304。
在步驟S304中,控制器160自壞區塊中選擇一者作為一檢測區塊。在一實施例中,控制器160係選擇壞區塊中被標記為損壞時間最久之一者作為檢測區塊,但本發明不限於此。在另一實施例中,控制器160係選擇壞區塊中被標記為損壞之時間最久並且在一既定時間內未被選作檢測區塊之一者,作為檢測區塊。換言之,當壞區塊經由檢測發現仍具有損壞的頁面後,該壞區塊則在檢測後之一既定時間內都不會再被檢測。舉例而言,快閃記憶體180中可具有一特定區塊用以儲存每一區塊B0~BN之狀態。控制器160可讀取特定區塊中之資料,以取得區塊B0~BN中何者為壞區塊的資訊以及標記狀態的時間,並且據以選取檢測區塊,但本發明不限於此。在其他實施例中,壞區塊被標記為損壞的時間亦可記錄在不同於特定區塊之其他區塊中。
在步驟S306中,控制器160自檢測區塊中選擇尚未讀取之一頁面進行讀取。在一實施例中,控制器160可依照頁面排列之順序依序選擇檢測區塊中之頁面進行讀取,但本發明不限於此。另外,當頁面中不具有資料時,控制器160則不會 對該頁面進行讀取,其中控制器160可根據每個頁面中所儲存關於該頁面之元資料(Meta data)來判斷該頁面是否具有資料。
接著,在步驟S308中,控制器160根據讀取頁面的結果判斷所讀取之頁面是否損壞。詳細而言,當所讀取之頁面的資料為正確或者所讀取之頁面的資料可被校正為正確資料時,控制器160判斷該頁面沒有損壞。當所讀取之頁面的資料無法被校正為正確資料時(UECC),控制器160判斷該頁面損壞。當所讀取之頁面損壞時,流程結束於步驟S308。當所讀取之頁面沒有損壞時,流程進行至步驟S310。
在步驟S310中,控制器160判斷檢測區塊中是否還有頁面尚未進行讀取。當檢測區塊中有頁面尚未進行讀取時,流程回到步驟S306,控制器160繼續選擇其他頁面進行讀取。當檢測區塊中沒有頁面尚未進行讀取時,流程進行至步驟S312。
在步驟S312中,控制器160將檢測區塊標記為一備用區塊。換言之,當檢測區塊中之所有頁面皆沒有損壞時,作為檢測區塊之壞區塊會再度被控制器160作為備用區塊或者資料區塊,以增加區塊B0~BN中可用區塊的數量。在一實施例中,在步驟S312中,控制器160更用以將檢測區塊中之有效資料搬移至其他區塊,以回復曾丟失的資料。在檢測區塊中之有效資料已搬移至其他區塊後,控制器160才將檢測區塊標記為一備用區塊。又在另一實施例中,控制器160更用以在步驟S312中更新作為檢測區塊之區塊的資料,例如有效頁面數量(Valid Page Count)、抹除次數(Erase count)以及讀取次數(Read Count) 等等。流程結束於步驟S312。
第4圖係本發明之另一種實施例之區塊釋放方法之流程圖。區塊釋放方法適用於第1圖所示之資料儲存裝置140。第4圖所示之區塊釋放方法相似於第3圖所示之區塊釋放方法,不同之處在於第4圖所示之區塊釋放方法更包括步驟S402。因此,步驟S404~S412可參考步驟S304~S312之說明,在此不再贅述。流程開始於步驟S402。在步驟S402中,控制器160判斷區塊B0~BN中之壞區塊的數量是否大於一既定數量。當區塊B0~BN中之壞區塊的數量大於既定數量時,流程進行至步驟S404。當區塊B0~BN中之壞區塊的數量沒有大於既定數量時,控制器160會在一既定時間後返回步驟S402,重新確認壞區塊的數量是否大於既定數量。
第5A~5B圖係本發明之另一種實施例之區塊釋放方法之流程圖。區塊釋放方法適用於第1圖所示之資料儲存裝置140。第5圖所示之區塊釋放方法相似於第4圖所示之區塊釋放方法,不同之處在於第5圖所示之區塊釋放方法更包括步驟S500以及步驟S514~S518。因此,步驟S502~S512可參考步驟S402以及S304~S312之說明,在此不再贅述。流程開始於步驟S500。
在步驟S500中,控制器160自主機120接收一讀取命令。接著,流程進行至步驟S502。
在步驟S514中,控制器160根據讀取命令,對快閃記憶體180中之頁面進行讀取。值得注意的是,在步驟S514中所讀取之頁面是由讀取命令所指定之頁面,與在步驟S506中所 讀取之頁面不同。
接著,在步驟S516中,控制器160判斷根據讀取命令所讀取之頁面是否損壞。詳細而言,當所讀取之頁面的資料為正確或者可被校正為正確資料時,控制器160判斷該頁面沒有損壞。當所讀取之頁面的資料無法被校正為正確資料時(UECC),控制器160判斷該頁面損壞。當所讀取之頁面損壞時,流程結束於步驟S518。當所讀取之頁面沒有損壞時,流程結束於步驟S516。
在步驟S518中,控制器160將讀取命令所指示之頁面所屬之區塊標記為損壞。流程結束於步驟S518。
第6圖係本發明之另一種實施例之區塊釋放方法之流程圖。區塊釋放方法適用於第1圖所示之資料儲存裝置140。第6圖所示之區塊釋放方法相似於第4圖所示之區塊釋放方法,不同之處在於第6圖所示之區塊釋放方法更包括步驟S600以及步驟S614。因此,步驟S602~S612可參考步驟S402以及S304~S312之說明,在此不再贅述。流程開始於步驟S600。
在步驟S600中,控制器160自主機120接收一寫入命令。接著,流程進行至步驟S602。
在步驟S614中,控制器160根據寫入命令,將寫入命令所指示之資料寫入快閃記憶體180中。流程結束於步驟S614。
如上所述,本發明所提供之資料儲存裝置140以及區塊釋放方法可重新使用被標記為損壞之區塊。
本發明之方法,或特定型態或其部份,可以以程 式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。另外本發明的任一實施例或申請專利範圍不須達成本發明所揭露之全部目的或優點或特點。此外,摘要部分和標題僅是用來輔助專利文件搜尋之用,並非用來限制本發明之權利範圍。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
166‧‧‧隨機存取記憶體
180‧‧‧快閃記憶體

Claims (16)

  1. 一種資料儲存裝置,包括:一快閃記憶體,具有複數區塊,並且每一該等區塊具有複數頁面,其中被標記為損壞之該等區塊為複數壞區塊;以及一控制器,用以自該等壞區塊中選擇一者作為一檢測區塊,並且讀取該檢測區塊中之該等頁面之資料及相應的校正資料,並依據所讀取之該等頁面之資料相應的該校正資料以判斷該檢測區塊中之該等頁面是否損壞,其中當該檢測區塊中之所有該等頁面皆沒有損壞時,該控制器將該檢測區塊標記為一備用區塊,其中當該檢測區塊中之所有該等頁面皆沒有損壞時,該控制器更用以在該檢測區塊被標記為該備用區塊前,將該檢測區塊中之有效資料搬移至該等區塊中之其它者。
  2. 根據申請專利範圍第1項之資料儲存裝置,其中該控制器係選擇該等壞區塊中被標記為損壞最久之一者作為該檢測區塊。
  3. 根據申請專利範圍第1項之資料儲存裝置,其中該控制器係選擇該等壞區塊中被標記為損壞最久並且在一既定時間內未被選作該檢測區塊之一者,作為該檢測區塊。
  4. 根據申請專利範圍第1項之資料儲存裝置,其中該控制器係在一既定條件滿足時,執行自該等壞區塊中選取該檢測區塊、對該檢測區塊中之該等頁面進行讀取以判斷該檢測區塊之該等頁面是否損壞以及將該檢測區塊標記為該備用區 塊的步驟,其中該既定條件包括該等壞區塊的數量超過一既定數量。
  5. 根據申請專利範圍第4項之資料儲存裝置,其中該既定條件更包括該資料儲存裝置為閒置時。
  6. 根據申請專利範圍第4項之資料儲存裝置,其中該既定條件更包括在該資料儲存裝置自一主機接收到一讀取命令後。
  7. 根據申請專利範圍第1項之資料儲存裝置,其中當該檢測區塊中之任一該等頁面損壞時,該控制器停止對該檢測區塊中之其他該等頁面進行讀取,並且維持該檢測區塊為損壞之標記。
  8. 根據申請專利範圍第1項之資料儲存裝置,其中該等區塊中被標記為損壞之該等壞區塊不可再被寫入資料,並且該等區塊中被標記為備用之該備用區塊可被寫入資料。
  9. 一種區塊釋放方法,適用於具有一快閃記憶體之一資料儲存裝置,其中該快閃記憶體具有複數區塊,每一該等區塊具有複數頁面,並且被標記為損壞之該等區塊為複數壞區塊,該區塊釋放方法包括:自該等壞區塊中選擇一者作為一檢測區塊;讀取該檢測區塊中之該等頁面之資料及相應的校正資料,並依據所讀取之該等頁面之資料相應的該校正資料以判斷該檢測區塊之該等頁面中是否損壞;當該檢測區塊中之所有該等頁面皆沒有損壞時,將該檢測區塊標記為一備用區塊;以及 在該檢測區塊標記為該備用區塊前,將該檢測區塊中之有效資料搬移至該等區塊中之其它者。
  10. 根據申請專利範圍第9項之區塊釋放方法,其中上述自該等壞區塊中選擇一者作為該檢測區塊的步驟係選擇該等壞區塊中被標記為損壞最久之一者作為該檢測區塊。
  11. 根據申請專利範圍第9項之區塊釋放方法,其中上述自該等壞區塊中選擇一者作為該檢測區塊的步驟係選擇該等壞區塊中被標記為損壞最久並且在一既定時間內未被選作該檢測區塊中之一者,作為該檢測區塊。
  12. 根據申請專利範圍第9項之區塊釋放方法,其中上述自該等壞區塊中選擇一者作為該檢測區塊、對該檢測區塊中之該等頁面進行讀取以判斷該檢測區塊之該等頁面是否損壞以及將該檢測區塊標記為該備用區塊的步驟係在一既定條件被滿足時所執行的,其中該既定條件包括該等壞區塊之數量超過一既定數量。
  13. 根據申請專利範圍第12項之區塊釋放方法,其中該既定條件包括該資料儲存裝置閒置時。
  14. 根據申請專利範圍第12項之區塊釋放方法,其中該既定條件更包括在該資料儲存裝置自一主機接收到一讀取命令後。
  15. 根據申請專利範圍第9項之區塊釋放方法,更包括當該檢測區塊中之任一該等頁面者損壞時,停止對該檢測區塊中之其他該等頁面進行讀取,並且維持該檢測區塊為損壞之標記。
  16. 根據申請專利範圍第9項之區塊釋放方法,其中該等區塊中被標記為損壞之該等壞區塊不可再被寫入資料,並且該等區塊中被標記為備用之該備用區塊可被寫入資料。
TW106106973A 2017-03-03 2017-03-03 資料儲存裝置及其區塊釋放方法 TWI687933B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW106106973A TWI687933B (zh) 2017-03-03 2017-03-03 資料儲存裝置及其區塊釋放方法
CN201710228405.4A CN108536390B (zh) 2017-03-03 2017-04-10 数据储存装置及其区块释放方法
US15/863,887 US10340025B2 (en) 2017-03-03 2018-01-06 Data-storage device and block-releasing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106106973A TWI687933B (zh) 2017-03-03 2017-03-03 資料儲存裝置及其區塊釋放方法

Publications (2)

Publication Number Publication Date
TW201833937A TW201833937A (zh) 2018-09-16
TWI687933B true TWI687933B (zh) 2020-03-11

Family

ID=63355306

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106106973A TWI687933B (zh) 2017-03-03 2017-03-03 資料儲存裝置及其區塊釋放方法

Country Status (3)

Country Link
US (1) US10340025B2 (zh)
CN (1) CN108536390B (zh)
TW (1) TWI687933B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857347B (zh) * 2019-03-05 2021-03-05 广东省气象探测数据中心 基于flash的内嵌式地面气象数据可靠固化方法
KR20210030599A (ko) * 2019-09-10 2021-03-18 에스케이하이닉스 주식회사 데이터를 분산 리드할 수 있는 메모리 시스템 및 메모리 시스템의 동작방법
US12118210B2 (en) * 2020-11-25 2024-10-15 Micron Technology, Inc. Using bad blocks for system data in memory
US11742036B2 (en) * 2021-05-03 2023-08-29 Micron Technology, Inc. Reducing maximum programming voltage in memory programming operations

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040080998A1 (en) * 2002-10-28 2004-04-29 Sandisk Corporation Unusable block management within a non-volatile memory system
US20100235605A1 (en) * 2009-02-13 2010-09-16 Nir Perry Enhancement of storage life expectancy by bad block management
US20100306583A1 (en) * 2009-05-26 2010-12-02 Yong-June Kim Memory Systems and Defective Block Management Methods Related Thereto
TWI530957B (zh) * 2014-04-02 2016-04-21 華邦電子股份有限公司 快閃記憶體、壞區塊的管理方法及管理程式
US9418700B2 (en) * 2012-06-29 2016-08-16 Intel Corporation Bad block management mechanism
US9483395B2 (en) * 2010-06-02 2016-11-01 St-Ericsson Sa Asynchronous bad block management in NAND flash memory

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4601119B2 (ja) * 2000-05-02 2010-12-22 株式会社アドバンテスト メモリ試験方法・メモリ試験装置
US6901498B2 (en) * 2002-12-09 2005-05-31 Sandisk Corporation Zone boundary adjustment for defects in non-volatile memories
KR100608592B1 (ko) * 2004-01-27 2006-08-03 삼성전자주식회사 플래시 메모리의 데이터 관리 장치 및 방법
CN101859604B (zh) * 2009-04-10 2012-10-24 国民技术股份有限公司 闪存坏块的利用方法
CN103389920B (zh) * 2012-05-09 2016-06-15 深圳市腾讯计算机系统有限公司 一种磁盘坏块的自检测方法和装置
KR102231441B1 (ko) * 2014-12-17 2021-03-25 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040080998A1 (en) * 2002-10-28 2004-04-29 Sandisk Corporation Unusable block management within a non-volatile memory system
US20100235605A1 (en) * 2009-02-13 2010-09-16 Nir Perry Enhancement of storage life expectancy by bad block management
US20100306583A1 (en) * 2009-05-26 2010-12-02 Yong-June Kim Memory Systems and Defective Block Management Methods Related Thereto
US9483395B2 (en) * 2010-06-02 2016-11-01 St-Ericsson Sa Asynchronous bad block management in NAND flash memory
US9418700B2 (en) * 2012-06-29 2016-08-16 Intel Corporation Bad block management mechanism
TWI530957B (zh) * 2014-04-02 2016-04-21 華邦電子股份有限公司 快閃記憶體、壞區塊的管理方法及管理程式

Also Published As

Publication number Publication date
US20180254092A1 (en) 2018-09-06
TW201833937A (zh) 2018-09-16
CN108536390A (zh) 2018-09-14
US10340025B2 (en) 2019-07-02
CN108536390B (zh) 2021-08-17

Similar Documents

Publication Publication Date Title
TWI607312B (zh) 資料儲存裝置及其資料寫入方法
TWI687933B (zh) 資料儲存裝置及其區塊釋放方法
TWI590051B (zh) 資料儲存裝置及其資料維護方法
US8762810B2 (en) Semiconductor recording device, control method of semiconductor recording device, and semiconductor recording system
TWI569144B (zh) 資料儲存裝置及其斷電事件判斷方法
US9135105B2 (en) Probability-based remedial action for read disturb effects
US20070170268A1 (en) Memory cards, nonvolatile memories and methods for copy-back operations thereof
US10157682B2 (en) Data storage device and error correction method capable of adjusting voltage distribution by reading pages
JP2008192267A5 (zh)
US9305662B2 (en) Data storage device and flash memory control method
US20160283319A1 (en) Data storage device and encoding method thereof
TWI486957B (zh) Nand快閃記憶體燒錄資料的處理、使用方法及裝置、運行系統
US9552287B2 (en) Data management method, memory controller and embedded memory storage apparatus using the same
US20180122485A1 (en) Nonvolatile memory device detecting power noise and operating method thereof
US9490022B2 (en) Data storage device and data maintenance method
JP4153535B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
CN106155916B (zh) 数据储存装置以及数据读取方法
TWI640868B (zh) 資料儲存裝置及其資料寫入方法
US10019186B2 (en) Data maintenance method for error control and data storage device using the same
TWI639946B (zh) 資料儲存裝置及其資料維護方法
JP4697146B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4656063B2 (ja) メモリカードの特定方法
TWI515729B (zh) 資料儲存裝置及其錯誤校正方法
TWI592801B (zh) 資料儲存裝置及其資料維護方法
JP2008112335A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法