TWI381390B - 快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器 - Google Patents
快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器 Download PDFInfo
- Publication number
- TWI381390B TWI381390B TW097113038A TW97113038A TWI381390B TW I381390 B TWI381390 B TW I381390B TW 097113038 A TW097113038 A TW 097113038A TW 97113038 A TW97113038 A TW 97113038A TW I381390 B TWI381390 B TW I381390B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- stylized
- error
- flash memory
- controller
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/816—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
- G11C29/82—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
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)
Description
本發明是有關於一種記憶體損壞區塊辨識方法,且特別是有關於一種用於快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器。
近年來,由於數位相機、具有照相功能的手機、MP3,以及MP4的成長十分迅速,所以使得消費者對儲存媒體的需求也急劇增加。綜觀現今所有的儲存媒體而言,由於快閃記憶體(Flash Memory)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以最適合內建於上述所舉例的多種可攜式多媒體裝置中。
在習知技術中,使用快閃記憶體的儲存系統在對區塊執行寫入與抹除等程式化(program)作業後會檢查所執行的寫入或抹除動作是否正確。如果判斷有發生錯誤時,則此區塊會被判定為損壞區塊,並且會在損壞區塊管理表中記錄此區塊的位址或者在此區塊上進行標記,由此避免儲存系統之後誤用有問題的區塊。
隨著技術的進步,快閃記憶體透過製程技術上的提升使得寫入或抹除的循環時間(cycle time)更為縮短。此外,透過同時程式化兩個頁的技術更可加速快閃記憶體寫入的時間。然而,在程式化速度提升的同時,相對的儲存系統會更具雜訊,此可能導致在程式化作業中發生區塊被誤判
為損壞。此類誤判會使得被誤判的區塊被標記於損壞區塊管理表中而不再被使用,導致浪費了系統可用的資源(即區塊)而縮短快閃記憶體儲存系統的壽命。
本發明提供一種損壞區塊辨識方法,其能夠避免誤判快閃記憶體區塊的損毀而延長快閃記憶體儲存系統的使用壽命。
本發明提供一種儲存系統,其所執行的一快閃記憶體損壞區塊辨識程序可避免誤判快閃記憶體區塊的損毀而延長儲存系統的使用壽命。
本發明提供一種控制器,其可執行一快閃記憶體損壞區塊辨識程序,以避免誤判快閃記憶體區塊的損毀而延長快閃記憶體儲存系統的使用壽命。
本發明提出一種損壞區塊辨識方法,此損壞區塊辨識方法包括在程式化快閃記憶體的區塊之後檢查所程式化的區塊是否發生程式化錯誤,以及當所程式化的區塊連續地發生程式化錯誤時將此區塊標記為損壞區塊。
在本發明之一實施例中,上述之程式化快閃記憶體的區塊的步驟包括對快閃記憶體進行寫入作業或抹除作業。
在本發明之一實施例中,上述之損壞區塊辨識方法更包括讀取所程式化之區塊的讀取狀態(Read Status)以判斷此區塊是否發生程式化錯誤。
在本發明之一實施例中,上述之損壞區塊辨識方法更
包括使用錯誤校正碼檢查所程式化之區塊中的資料以判斷此區塊是否發生程式化錯誤,其中當確認此區塊的資料為不正確或不可回復時則判斷此區塊發生程式化錯誤。
在本發明之一實施例中,上述之將區塊標記為損壞區塊的步驟包括於損壞區塊管理表中記錄此區塊的位址。
在本發明之一實施例中,上述之將區塊標記為損壞區塊的步驟包括於此區塊中至少一頁的冗餘區中標記此區塊為損壞區塊。
在本發明之一實施例中,上述之損壞區塊辨識方法更包括在程式化錯誤記錄檔中記錄區塊連續發生程式化錯誤的次數,其中當此區塊的程式化錯誤次數等於錯誤上限門檻值時則於損壞區塊管理表中記錄此區塊的位址。
在本發明之一實施例中,上述之錯誤上限門檻值為至少2以上。
在本發明之一實施例中,上述之損壞區塊辨識方法更包括將程式化錯誤記錄檔儲存於快閃記憶體的其他區塊中或靜態隨機存取記憶體中。
本發明提出一種控制器,其適用於具有快閃記憶體的儲存系統,此快閃記憶體控制器包括微處理器單元、快閃記憶體介面、緩衝記憶體以及記憶體管理模組。快閃記憶體介面耦接至微處理單元且用以存取快閃記憶體。緩衝記憶體耦接至微處理單元且用以暫時地儲存資料。記憶體管理模組耦接至微處理器單元且用以在微處理單元程式化快閃記憶體的區塊之後檢查區塊是否發生程式化錯誤,並且
當區塊的程式化錯誤連續地發生時將此區塊標記為損壞區塊。
在本發明之一實施例中,上述之程式化包括寫入作業或抹除作業。
在本發明之一實施例中,上述之記憶體管理模組會讀取區塊的讀取狀態以判斷區塊是否發生程式化錯誤。
在本發明之一實施例中,上述之控制器更包括錯誤校正模組,其中記憶體管理模組透過錯誤校正模組檢查區塊的資料,並且當確認區塊的資料為不正確或不可回復時則判斷區塊發生程式化錯誤。
在本發明之一實施例中,上述之記憶體管理模組會於損壞區塊管理表中記錄此區塊的位址。
在本發明之一實施例中,上述之記憶體管理模組會於此區塊中至少一頁的冗餘區中標記此區塊為損壞區塊。
在本發明之一實施例中,上述之記憶體管理模組會在程式化錯誤記錄檔中記錄區塊連續發生程式化錯誤的次數,其中當程式化錯誤的次數等於錯誤上限門檻值時則於損壞區塊管理表中記錄區塊的位址。
在本發明之一實施例中,上述之錯誤上限門檻值為至少2以上。
在本發明之一實施例中,上述之記憶體管理模組會將程式化錯誤記錄檔儲存於快閃記憶體的其他區塊中或靜態隨機存取記憶體中。
在本發明之一實施例中,上述之快閃記憶體為單層記
憶胞(Single Level Cell,SLC)反及(NAND)快閃記憶體或多層記憶胞(Multi Level Cell,MLC)反及(NAND)快閃記憶體。
在本發明之一實施例中,上述之儲存系統為USB隨身碟、記憶卡或固態硬碟。
本發明提出一種儲存系統,其包括快閃記憶體、控制器與匯流排連接介面。快閃記憶體用以儲存資料。控制器耦接至快閃記憶體並且用以在程式化快閃記憶體的區塊之後檢查區塊是否發生程式化錯誤,並且當區塊的程式化錯誤連續地發生時將此區塊標記為損壞區塊。匯流排連接介面耦接至控制器且用以連接主機。
在本發明之一實施例中,上述之程式化包括寫入作業或抹除作業。
在本發明之一實施例中,上述之控制器會讀取區塊的讀取狀態以判斷區塊是否發生程式化錯誤。
在本發明之一實施例中,上述之控制器會經由錯誤校正模組檢查區塊的資料,並且當確認此區塊的資料為不正確或不可回復時則判斷此區塊發生程式化錯誤。
在本發明之一實施例中,上述之控制器會於損壞區塊管理表中記錄此區塊的位址。
在本發明之一實施例中,上述之控制器會於此區塊中至少一頁的冗餘區中標記此區塊為損壞區塊。
在本發明之一實施例中,上述之控制器會在程式化錯誤記錄檔中記錄區塊連續發生程式化錯誤的次數,其中當
程式化錯誤的次數等於錯誤上限門檻值時則於損壞區塊管理表中記錄此區塊的位址。
在本發明之一實施例中,上述之錯誤上限門檻值為至少2以上。
在本發明之一實施例中,上述之控制器會將程式化錯誤記錄檔儲存於快閃記憶體的其他區塊中或靜態隨機存取記憶體中。
在本發明之一實施例中,上述之快閃記憶體為SLC NAND快閃記憶體或多層記憶胞MLC NAND快閃記憶體。
在本發明之一實施例中,上述之匯流排連接介面為PCI Express介面、USB介面、IEEE 1394介面、SATA介面、MS介面、MMC介面、SD介面、CF介面或IDE介面。
本發明因採用當區塊連續地發生程式化錯誤時才判定為損毀的損壞區塊辨識方法,因此可避免誤判快閃記憶體區塊的損毀,由此延長快閃記憶體儲存系統的使用壽命。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下。
本發明所提出的損壞區塊辨識方法是在區塊連續地發生程式化錯誤時才將此區塊視為損壞區塊。由此,可避免快閃記憶體中區塊內的區塊因其他雜訊造成的程式化錯誤而被誤判為損壞區塊。以下將以數個範例實施例並配合圖式詳細說明本發明。
圖1是根據本發明第一實施例繪示儲存系統的概要方塊圖。請參照圖1,儲存系統100包括控制器110、匯流排連接介面120以及快閃記憶體130。通常儲存系統100會與主機200一起使用,以使主機200可將資料寫入至儲存系統100或從儲存系統100中讀取資料。在本實施例中,儲存系統100為隨身碟。但必須瞭解的是,在本發明另一實施例中儲存系統100亦可以是記憶卡或固態硬碟(Solid State Drive,SSD)。
控制器110會協調匯流排連接介面120以及快閃記憶體130的整體運作,例如資料的寫入、讀取與抹除等。控制器110包括微處理器單元110a、快閃記憶體介面110b、緩衝記憶體110c與記憶體管理模組110d。
微處理器單元110a會協調控制快閃記憶體介面110b、緩衝記憶體110c與記憶體管理模組110d,以進行對快閃記憶體130的寫入、讀取與抹除等運作。
快閃記憶體介面110b是電性連接至微處理器單元110a並且用以存取快閃記憶體130。也就是,主機200欲寫入至快閃記憶體130的資料會經由快閃記憶體介面110b轉換為快閃記憶體130所能接受的格式。
緩衝記憶體110c是電性連接至微處理器單元110a,並且用以暫時地儲存系統性資料(例如邏輯區塊與實體區塊的對映表)或者主機200所讀取或寫入的資料。特別是,在本實施例中緩衝記憶體110c用以儲存一程式化錯誤記
錄檔,其用以記錄發生程式化錯誤之區塊的位址。在本實施例中,緩衝記憶體110c為靜態隨機存取記憶體(static random access memory,SRAM)。然而,必須瞭解的是,本發明不限於此,動態隨機存取記憶體(Dynamic Random Access memory,DRAM)、磁阻式記憶體(Magnetoresistive Random Access Memory,MRAM)、相變化記憶體(Phase Change Random Access Memory,PRAM)或其他適合的記憶體亦可應用於本發明。
記憶體管理模組110d是電性連接至微處理器單元110a。記憶體管理模組110d會管理快閃記憶體130,例如執行平均磨損(wear leveling)方法、壞區塊管理、維護對映表(mapping table)等。特別是,在本發明實施例中,記憶體管理模組110d會執行根據本發明實施例的損壞區塊辨識程序(如圖3所示)。值得一提的是,本實施例中是以一硬體方式來實現記憶體管理模組110d,然而其亦可以一韌體方式來實現。
此外,雖未繪示於本實施例,但控制器110可更包括一般快閃記憶體控制器常見的功能模組,例如電源管理模組等。
匯流排連接介面120用以透過匯流排300連接主機200。在本實施例中,匯流排連接介面120為USB介面。然而,必須瞭解的是本發明不限於此,匯流排連接介面120亦可以是PCI Express介面、IEEE 1394介面、SATA介面、MS介面、MMC介面、SD介面、CF介面、IDE介面或其
他適合的資料傳輸介面。
快閃記憶體130是耦接控制器110並且用以儲存資料。在本實施中快閃記憶體130為多層記憶胞(Multi Level Cell,MLC)反及(NAND)快閃記憶體。然而,必須瞭解的是,本發明不限於此。在本發明另一實施例中,單層記憶胞(Single Level Cell,SLC)NAND快閃記憶體亦可應用於本發明。
快閃記憶體130通常會被分割為多個實體區塊(physical block)130-0至130-N,為方便說明以下將實體區塊簡稱為區塊。一般而言,在快閃記憶體中區塊為抹除之最小單位。亦即,每一區塊含有最小數目之一併被抹除之記憶胞。每一區塊通常會分割為數個頁(page)。頁通常為程式化(program)的最小單元,但要特別說明的是於有些不同的快閃記憶體設計,最小的程式化單位也可為一個扇區(sector)大小,即一頁中有多個扇區並以一扇區為程式化的最小單元。換言之,頁為寫入資料或讀取資料的最小單元。每一頁通常包括使用者資料區D與冗餘區R。使用者資料區用以儲存使用者的資料,而冗餘區用以儲存系統的資料(例如,錯誤校正碼(error correcting code,ECC))。
為對應於磁碟驅動器的扇區(sector)大小,一般而言,使用者資料區D通常為512位元組,而冗餘區R通常為16位元組。也就是,一頁為一個扇區。然而,亦可以多個扇區形成一頁,例如一頁包括4個扇區。
一般而言,區塊可由任意數目的頁所組成,例如64頁、128頁、256頁等。區塊130-0至130-N通常也可被分組為數個區域(zone),以區域來管理記憶體某種程度上是彼此獨立地操作以增加操作執行的平行程度且簡化管理的複雜度。
以下將根據本發明並配合圖式詳細說明快閃記憶體的連作。必須瞭解的是,在以下描述中使用“提取”、“搬移”、“交換”等詞來操作快閃記憶體區塊是邏輯上的概念。也就是說,快閃記憶體區塊的實際位置並未更動,而是邏輯上對快閃記憶體區塊進行操作。
圖2A~2C是根據本發明第一實施例繪示快閃記憶體130及其運作的詳細方塊圖。
請參照圖2A,在本發明實施例中,為了有效率地程式化(即寫入與抹除)快閃記憶體130,快閃記憶體130的區塊130-1至130-N會在邏輯上分組為一系統區202、一資料區204與一備用區206。一般來說,快閃記憶體130中屬於資料區204的區塊會佔90%以上。
系統區202的區塊用以儲存系統性資料,例如邏輯實體區塊對映表、韌體碼等。
資料區204中的區塊用以儲存資料,一般來說就是主機200所操作之邏輯區塊位址所對應的區塊。
備用區206中的區塊是用以替換資料區204中的區塊,因此在備用區206中的區塊為空或可使用的區塊,即無記錄資料或標記為已沒用的無效資料。具體來說,由於
若要對已寫過資料位置再次寫入資料時,必須先執行抹除的動作。然而,如前所述快閃記憶體寫入單位為頁,而抹除單位為區塊。一個抹除的單位大於寫入的單位,這表示若要執行區塊抹除動作,必須先將欲抹除區塊中的有效頁複製至其它區塊後才可進行。因此,當欲在資料區204中已寫過資料位置的區塊M中寫入新資料時,一般會在備用區206中提取一區塊S,然後將區塊M中的有效資料複製至區塊S且將新資料寫入區塊S後,將區塊M抹除後搬移至備用區206同時將區塊S搬移至資料區204。必須瞭解的是,將區塊M抹除後搬移至備用區206同時將區塊S搬移至資料區204是邏輯上將區塊M搬移至備用區206而將區塊S搬移至資料區204。其中此領域具一般技藝者皆能瞭解資料區204中區塊的邏輯關係可由邏輯實體對映表來維護。
一般來說,為了更有效率地使用快閃記憶體130,區塊在邏輯上會更分為替換區塊208。圖2B是繪示快閃記憶體的另一種運作方式,而圖2C是繪示圖2B的詳細運作示意圖。
請參照圖2B與2C,替換區塊208是用來取代資料區204的區塊。更詳細而言,當從上述備用區206中提取區塊C來取代資料區204的區塊M時,會將新資料入至區塊C,但不會立刻將區塊M中的所有有效資料搬移至區塊C而抹除區塊M。具體來說,會將區塊M中欲寫入位址之前的有效資料(即頁P0與P1)複製至區塊C(如圖2C的
(a)),並且將新資料(即區塊C的頁P2與P3)寫入至C區塊(如圖2C的(b))。此時,將含有部分的有效舊資料與所寫入新資料的區塊C暫時地搬移為替換區塊208。此是因為,區塊M中的有效資料有可能在下個操作中變成無效,因此立刻將區塊M中的所有有效資料搬移至實體區塊C可能會造成無謂的搬移。在此案例中,在邏輯區塊位址與實體區塊位址的對映上會記錄多個實體區塊位址對應到一個邏輯區塊位址的情況,也就是區塊M與區塊C的內容整合起來才是所對映邏輯區塊的內容。此等母子區塊(區塊M與區塊C)的暫態關係可依據控制器110中緩衝記憶體110d的大小而定,在本發明實施例中是以五組來實作。
之後,當需要將區塊M與區塊C的內容真正合併時,才將區塊M與區塊C整併為一區塊,由此提升區塊的使用效率。例如,如圖2C的(c)所示,當進行整併時,區塊M中剩餘的有效資料(即頁P4~PN)會複製至區塊C,然後將區塊M抹除並搬移至備用區206,同時,將區塊C搬移至資料區204,由此完成合併。
值得一提的是,當如圖2A或圖2B與2C的運作過程中,倘若區塊M或C在寫入或抹除之後被判斷為損壞區塊時,則區塊M或C將不會再被搬移為備用區206。換言之,被判斷為損壞的區塊將不會再於系統中輪動替換,而備用區的區塊數就會減少。當備用區的區塊數目不足以提供儲存系統100的輪動替換時,則儲存系統100就無法再使用。
圖3是根據本發明第一實施例繪示損壞區塊辨識程序(方法)的流程圖。
本實施例所述的損壞區塊辨識程序會在控制器110的微處理器單元110a執行程式化(即寫入或抹除)之後被啟動。請參照圖3,在步驟S301中會讀取所程式化之區塊的讀取狀態(Read Status),並且在步驟S303中依據此讀取狀態來判斷所程式化的區塊是否發生程式化錯誤。具體來說,在本實施例中快閃記憶體130具有狀態讀取功能,記憶體管理模組110d可藉由讀取此狀態來判斷此區塊是否發生程式化錯誤。
倘若在步驟S303中判斷此區塊發生程式化錯誤時,則在步驟S305中會讀取程式化錯誤記錄檔並且判斷程式化錯誤記錄檔中是否存有此區塊之位址的記錄。倘若在步驟S305中判斷程式化錯誤記錄檔中存有此區塊之位址的記錄時,則表示此區塊已連續發生程式化錯誤。因此,在步驟S307中會在損壞區塊管理表中記錄此區塊的位址,以將此區塊視為損毀的區塊而不再使用。倘若在步驟S305中判斷程式化錯誤記錄檔中無存有此區塊之位址的記錄時,則在步驟S309中會在程式化錯誤記錄檔中記錄此區塊的位址,並且在步驟S311中將此區塊搬移至備用區206以供後續輪動替換使用。
倘若在步驟S303中判斷此區塊正常地程式化(即無發生程式化錯誤)時,則在步驟S313中會讀取程式化錯誤記錄檔並且判斷程式化錯誤記錄檔中是否存有此區塊之
位址的記錄。倘若在步驟S313中判斷在程式化錯誤記錄檔中存有此區塊之位址的記錄時,則在步驟S315中會刪除此記錄。換言之,由於先前程式化此區塊時發生程式化錯誤,因此其位址被記錄在程式化錯誤記錄檔中。然而,當微處理器單元110a再次程式化此區塊時,此區塊並未再發生程式化錯誤,因此記憶體管理模組110d會認定此區塊實際上並未損毀,所以在步驟S315中會清除其發生程式化錯誤的記錄。
在本發明實施例中,程式化錯誤記錄檔是在緩衝記憶體110c中被記錄與更新。因此,一旦儲存系統100重新啟動或開機時,儲存系統100必須重新建立程式化錯誤記錄檔來重新記錄所發生程式化錯誤的區塊。然而,在本發明另一實施例中,程式化錯誤記錄檔可更記錄在快閃記憶體130的區塊(例如系統區202中的區塊)中以便於儲存系統100重新啟動時可載入,由此可依據關機前的記錄繼續更新。
此外,在本發明另一實施例中,程式化錯誤記錄檔可更記錄區塊發生程式化錯誤的次數,由此可更判斷當區塊發生程式化錯誤的次數等於一錯誤上限門檻值時才判定為損毀,其中此錯誤上限門檻值可依據快閃記憶體的品質或儲存系統發生誤判的機率來設定,例如設定為2次、3次或5次。
在本實施例中,是以程式化錯誤記錄檔以及損壞區塊管理表來分別地記錄發生程式化錯誤的區塊與管理已判定
為損毀的區塊。然而,在本發明另一實施例中,當區塊程式化錯誤發生時亦可在區塊中至少一頁的冗餘區R中記錄發生程式化錯誤或連續發生程式化錯誤的次數,並且當連續發生程式化錯誤時在此冗餘區R中標記為此區塊為損毀區塊。
在本實施例中可在連續兩次或兩次以上對區塊程式化都發生程式化錯誤時才判定此區塊已損毀。基此,可避免因其他雜訊所造成的誤判,延長快閃記憶體儲存系統的使用壽命。
第一實施例是藉由快閃記憶體所具有的讀取狀態功能來判定區塊是否發生程式化錯誤。然而,本發明亦可使用其他方法來判定是否發生程式化錯誤。
圖4是根據本發明第二實施例繪示儲存系統的概要方塊圖。請參照圖4,儲存系統400包括控制器410、匯流排連接介面420以及快閃記憶體430。類似於儲存系統100,通常儲存系統400會透過匯流排300連接至主機200使用,以使主機200可將資料寫入至儲存系統400或從儲存系統400中讀取資料。在本實施例中,儲存系統400為隨身碟。但必須瞭解的是,在本發明另一實施例中儲存系統400亦可以是記憶卡或固態硬碟(Solid State Drive,SSD)。
在本實施例中,控制器410、匯流排連接介面420以及快閃記憶體430是大致上是相同於第一實施例的控制器
110、匯流排連接介面120以及快閃記憶體130,其中不同之處在於控制器410除了微處理單元410a、快閃記憶體模組410b、緩衝記憶體410c與記憶體管理模組410d更包括錯誤校正模組440,並且記憶體管理模組410d會執行根據本發明第二實施例的損壞區塊辨識程序(如圖5所示)。
錯誤校正模組410e會對欲寫入的資料產生一組錯校正碼並且與此資料一同儲存至快閃記憶體430,其中之後當從快閃記憶體430中讀取此資料時,錯誤校正模組410e可依據錯誤校正碼來檢查資料是否正確,或者當資料不正確時嘗試將錯誤的資料回復為正確的資料。
圖5是根據本發明第二實施例繪示損壞區塊辨識程序(方法)的流程圖。
本實施例所述的損壞區塊辨識程序會在控制器410的微處理器單元410a執行程式化之後被啟動。請參照圖5,在步驟S501中會讀取所程式化之區塊的資料,並且在步驟S503中依據此資料的錯誤校正碼來檢查資料是否為正確或可回復,以判斷所程式化的區塊是否發生程式化錯誤。
倘若在步驟S503中判斷資料為不正確且無法回復時,則在步驟S505中會在程式化錯誤記錄檔中計數此區塊之程式化錯誤次數(例如於程式化錯誤次數中增加1)。之後,在步驟S507中會判斷此區塊的程式化錯誤次數是否等於錯誤上限門檻值,其中此錯誤上限門檻值可依據快閃記憶體的品質或儲存系統發生誤判的機率來設定,例如設定為2次、3次或5次。倘若在步驟S507中判斷此區塊
的程式化錯誤次數等於錯誤上限門檻值時,則在步驟S509中會在損壞區塊管理表中記錄此區塊的位址,以將此區塊視為損毀的區塊而不再使用。倘若在步驟S507中判斷此區塊的程式化錯誤次數不等於錯誤上限門檻值時,則在步驟S511中將此區塊搬移至備用區206以供後續輪動替換使用。
倘若在步驟S503中判斷資料為正確或可回復時,則在步驟S513中會在程式化錯誤記錄檔中將此區塊的程式化錯誤次數重置(例如將程式化錯誤次數歸0)。換言之,倘若計數值是由有次數記錄而被歸0表示此區塊先前雖發生程式化錯誤,但微處理器單元410a再次程式化此區塊時,此區塊並未再發生程式化錯誤,因此記憶體管理模組410d會認定此區塊實際上並未損毀,所以在步驟S513中會清除其發生程式化錯誤的次數記錄。
在本發明實施例中,程式化錯誤記錄檔是在緩衝記憶體410c中被記錄與更新。因此,一旦儲存系統400重新啟動或開機時,儲存系統400必須重新建立程式化錯誤記錄檔來重新記錄所發生程式化錯誤的區塊。然而,在本發明另一實施例中,程式化錯誤記錄檔可更記錄在快閃記憶體430中以便於儲存系統400重新啟動時可載入,由此可依據關機前的記錄繼續更新。
此外,在本發明另一實施例中,程式化錯誤記錄檔可如第一實施例所述僅記錄發生程式化錯誤的區塊的位址,並且當此區塊連續地再一次發生程式化錯誤時就判定此區
塊為損毀。
在本實施例中是以錯誤校正碼來判定是否發生程式化錯誤,並且在連續兩次或兩次以上對區塊程式化都發生程式化錯誤時才判定此區塊已損毀。基此,可避免因其他雜訊所造成的誤判,延長快閃記憶體儲存系統的使用壽命。
綜上所述,本發明所提供的損壞區塊辨識方法是透過程式化錯誤記錄檔的記錄在區塊連續地發生程式化錯誤時才判定為損毀區塊,由此可避免因快閃記憶體高速寫入的雜訊所造成的誤判,並且可因此延長快閃記憶體儲存系統的使用壽命。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧儲存系統
110‧‧‧控制器
110a‧‧‧微處理器單元
110b‧‧‧快閃記憶體介面
110c‧‧‧緩衝記憶體
110d‧‧‧記憶體管理模組
120‧‧‧匯流排連接介面
130‧‧‧快閃記憶體
130-0、130-1、130-2、130-N‧‧‧區塊
200‧‧‧主機
202‧‧‧系統區
204‧‧‧資料區
206‧‧‧備用區
208‧‧‧替換區塊
300‧‧‧匯流排
400‧‧‧儲存系統
410‧‧‧控制器
410a‧‧‧微處理器單元
410b‧‧‧快閃記憶體介面
410c‧‧‧緩衝記憶體
410d‧‧‧記憶體管理模組
420‧‧‧匯流排連接介面
430‧‧‧快閃記憶體
S301、S303、S305、S307、S309、S311、S313、S315‧‧‧損壞區塊辨識方法的步驟
S501、S503、S505、S507、S509、S511、S515‧‧‧損壞區塊辨識方法的步驟
S、M、C‧‧‧區塊
圖1是根據本發明第一實施例繪示儲存系統的概要方塊圖。
圖2A~2C是根據本發明第一實施例繪示快閃記憶體及其運作的詳細方塊圖。
圖3是根據本發明第一實施例繪示損壞區塊辨識程序(方法)的流程圖。
圖4是根據本發明第二實施例繪示儲存系統的概要方
塊圖。
圖5是根據本發明第二實施例繪示損壞區塊辨識程序(方法)的流程圖。
S301、S303、S305、S307、S309、S311、S313、S315‧‧‧損壞區塊辨識方法的步驟
Claims (31)
- 一種損壞區塊辨識方法,用於一快閃記憶體,該快閃記憶體具有多個區塊並且該些區塊至少被分組為一資料區與一備用區,該損壞區塊辨識方法包括:程式化該些區塊之中的一第一區塊;在程式化該第一區塊之後檢查該第一區塊是否發生一程式化錯誤;當該第一區塊未發生該程式化錯誤時,重置對應該第一區塊的一程式化錯誤次數;當該第一區塊發生該程式化錯誤時,將對應該第一區塊的該程式化錯誤次數增加1並且判斷對應該第一區塊的該程式化錯誤次數是否等於一錯誤上限門檻值;當對應該第一區塊的該程式化錯誤次數非等於該錯誤上限門檻值時,將該第一區塊搬移至該備用區;以及當對應該第一區塊的該程式化錯誤次數等於該錯誤上限門檻值時,將該第一區塊標記為損壞區塊。
- 如申請專利範圍第1項所述之損壞區塊辨識方法,其中程式化該快閃記憶體的該第一區塊的步驟包括對該快閃記憶體進行一寫入作業或一抹除作業。
- 如申請專利範圍第1項所述之損壞區塊辨識方法,更包括讀取該第一區塊的一讀取狀態(Read Status)以判斷該第一區塊是否發生該程式化錯誤。
- 如申請專利範圍第1項所述之損壞區塊辨識方法,更包括使用一錯誤校正碼檢查該第一區塊的資料以判斷該 第一區塊是否發生該程式化錯誤,其中當確認該第一區塊的資料為不正確或不可回復時則判斷該第一區塊發生該程式化錯誤。
- 如申請專利範圍第1項所述之損壞區塊辨識方法,其中將該第一區塊標記為損壞區塊的步驟包括於一損壞區塊管理表中記錄該第一區塊的位址。
- 如申請專利範圍第1項所述之損壞區塊辨識方法,其中將該第一區塊標記為損壞區塊的步驟包括於該第一區塊中至少一頁的冗餘區中標記該第一區塊為損壞區塊。
- 如申請專利範圍第5項所述之損壞區塊辨識方法,更包括在一程式化錯誤記錄檔中記錄對應該第一區塊的該程式化錯誤次數。
- 如申請專利範圍第1項所述之損壞區塊辨識方法,其中該錯誤上限門檻值為至少2以上。
- 如申請專利範圍第7項所述之損壞區塊辨識方法,更包括將該程式化錯誤記錄檔儲存於該快閃記憶體的其他區塊中或一靜態隨機存取記憶體中。
- 一種控制器,其適用於具有一快閃記憶體的一儲存系統,該快閃記憶體具有多個區塊,該控制器包括:微處理器單元;快閃記憶體介面,耦接至該微處理單元且用以存取該快閃記憶體;緩衝記憶體,耦接至該微處理單元且用以暫時地儲存資料;以及 記憶體管理模組,耦接至該微處理器單元且用以將該些區塊至少分組為一資料區與一備用區,並且在該微處理單元程式化該快閃記憶體的一第一區塊之後檢查該第一區塊是否發生一程式化錯誤,其中當該第一區塊未發生該程式化錯誤時,該記憶體管理模組重置對應該第一區塊的一程式化錯誤次數,其中當該第一區塊發生該程式化錯誤時,該記憶體管理模組將對應該第一區塊的該程式化錯誤次數增加1並且判斷對應該第一區塊的該程式化錯誤次數是否等於一錯誤上限門檻值,其中當對應該第一區塊的該程式化錯誤次數非等於該錯誤上限門檻值時,該記憶體管理模組將該第一區塊搬移至該備用區,其中當對應該第一區塊的該程式化錯誤次數等於該錯誤上限門檻值時,該記憶體管理模組將該第一區塊標記為損壞區塊。
- 如申請專利範圍第10項所述之控制器,其中該微處理單元執行一寫入作業或一抹除作業以程式化該快閃記憶體的該第一區塊。
- 如申請專利範圍第10項所述之控制器,該記憶體管理模組會讀取該第一區塊的一讀取狀態(Read Status)以判斷該第一區塊是否發生該程式化錯誤。
- 如申請專利範圍第10項所述之控制器,更包括一錯誤校正模組,其中該記憶體管理模組透過該錯誤校正模 組檢查該第一區塊的資料,並且當確認該第一區塊的資料為不正確或不可回復時則判斷該第一區塊發生該程式化錯誤。
- 如申請專利範圍第10項所述之控制器,其中該記憶體管理模組會於一損壞區塊管理表中記錄該第一區塊的位址。
- 如申請專利範圍第10項所述之控制器,其中該記憶體管理模組會於該第一區塊中至少一頁的冗餘區中標記該第一區塊為損壞區塊。
- 如申請專利範圍第14項所述之控制器,該記憶體管理模組會在一程式化錯誤記錄檔中記錄對應該第一區塊的該程式化錯誤次數。
- 如申請專利範圍第16項所述之控制器,其中該錯誤上限門檻值為至少2以上。
- 如申請專利範圍第16項所述之控制器,該記憶體管理模組會將該程式化錯誤記錄檔儲存於該快閃記憶體的其他區塊中或一靜態隨機存取記憶體中。
- 如申請專利範圍第10項所述之控制器,其中該快閃記憶體為單層記憶胞(Single Level Cell,SLC)反及(NAND)快閃記憶體或多層記憶胞(Multi Level Cell,MLC)反及(NAND)快閃記憶體。
- 如申請專利範圍第10項所述之控制器,其中該儲存系統為USB隨身碟、記憶卡或固態硬碟。
- 一種儲存系統,包括: 快閃記憶體,具有多個區塊用以儲存資料;匯流排連接介面,用以連接主機,控制器,耦接至該匯流排連接介面與該快閃記憶體,用以將該些區塊至少分組為一資料區與一備用區,並且在程式化該快閃記憶體的一第一區塊之後檢查該第一區塊是否發生一程式化錯誤,其中當該第一區塊未發生該程式化錯誤時,該控制器重置對應該第一區塊的一程式化錯誤次數,其中當該第一區塊發生該程式化錯誤時,該控制器將對應該第一區塊的該程式化錯誤次數增加1並且判斷對應該第一區塊的該程式化錯誤次數是否等於一錯誤上限門檻值,其中當對應該第一區塊的該程式化錯誤次數非等於該錯誤上限門檻值時,該控制器將該第一區塊搬移至該備用區,其中當對應該第一區塊的該程式化錯誤次數等於該錯誤上限門檻值時,該控制器將該第一區塊標記為損壞區塊。
- 如申請專利範圍第21項所述之儲存系統,其中該控制器執行一寫入作業或一抹除作業以程式化該快閃記憶體的該第一區塊。
- 如申請專利範圍第21項所述之儲存系統,該控制器會讀取該第一區塊的一讀取狀態(Read Status)以判斷該第一區塊是否發生該程式化錯誤。
- 如申請專利範圍第21項所述之儲存系統,其中該控制器會經由一錯誤校正模組檢查該第一區塊的資料,並且當確認該第一區塊的資料為不正確或不可回復時則判斷該第一區塊發生該程式化錯誤。
- 如申請專利範圍第21項所述之儲存系統,其中該控制器會於一損壞區塊管理表中記錄該第一區塊的位址。
- 如申請專利範圍第21項所述之儲存系統,其中該控制器會於該第一區塊中至少一頁的冗餘區中標記該第一區塊為損壞區塊。
- 如申請專利範圍第25項所述之儲存系統,該控制器會在一程式化錯誤記錄檔中記錄對應該第一區塊的該程式化錯誤次數。
- 如申請專利範圍第27項所述之儲存系統,其中該錯誤上限門檻值為至少2以上。
- 如申請專利範圍第27項所述之儲存系統,該控制器會將該程式化錯誤記錄檔儲存於該快閃記憶體的其他區塊中或一靜態隨機存取記憶體中。
- 如申請專利範圍第21項所述之儲存系統,其中該快閃記憶體為單層記憶胞(Single Level Cell,SLC)反及(NAND)快閃記憶體或多層記憶胞(Multi Level Cell,MLC)反及(NAND)快閃記憶體。
- 如申請專利範圍第21項所述之儲存系統,其中該匯流排連接介面為高速周邊零件連接(Peripheral Component Interconnect Express,PCI Express)介面、通用 序列匯流排(Universal Serial Bus,USB)介面、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394介面、序列先進附件(Serial Advanced Technology Attachment,SATA)介面、記憶棒(Memory Stick,MS)介面、多媒體儲存卡(Multi Media Card,MMC)介面、安全數位(Secure Digital,SD)介面、小型快閃(Compact Flash,CF)介面或介面或整合式驅動電子介面(Integrated Device Electronics,IDE)介面。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW097113038A TWI381390B (zh) | 2008-04-10 | 2008-04-10 | 快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器 |
US12/140,090 US8046645B2 (en) | 2008-04-10 | 2008-06-16 | Bad block identifying method for flash memory, storage system, and controller thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW097113038A TWI381390B (zh) | 2008-04-10 | 2008-04-10 | 快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200943306A TW200943306A (en) | 2009-10-16 |
TWI381390B true TWI381390B (zh) | 2013-01-01 |
Family
ID=41164982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097113038A TWI381390B (zh) | 2008-04-10 | 2008-04-10 | 快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8046645B2 (zh) |
TW (1) | TWI381390B (zh) |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4489127B2 (ja) * | 2008-02-29 | 2010-06-23 | 株式会社東芝 | 半導体記憶装置 |
TWI385669B (zh) * | 2008-07-23 | 2013-02-11 | Phison Electronics Corp | 用於快閃記憶體的平均磨損方法、儲存系統與控制器 |
US8327066B2 (en) * | 2008-09-30 | 2012-12-04 | Samsung Electronics Co., Ltd. | Method of managing a solid state drive, associated systems and implementations |
TWI381393B (zh) * | 2008-10-06 | 2013-01-01 | Phison Electronics Corp | 區塊管理與更換方法、快閃記憶體儲存系統及其控制器 |
US20100131808A1 (en) * | 2008-11-25 | 2010-05-27 | Bei-Chuan Chen | Method For Testing Memory |
US8370712B2 (en) * | 2009-07-23 | 2013-02-05 | International Business Machines Corporation | Memory management in a non-volatile solid state memory device |
US8453021B2 (en) | 2009-07-29 | 2013-05-28 | Stec, Inc. | Wear leveling in solid-state device |
US8266481B2 (en) * | 2009-07-29 | 2012-09-11 | Stec, Inc. | System and method of wear-leveling in flash storage |
US8312349B2 (en) | 2009-10-27 | 2012-11-13 | Micron Technology, Inc. | Error detection/correction based memory management |
TWI486764B (zh) * | 2009-10-30 | 2015-06-01 | Silicon Motion Inc | 資料儲存裝置,控制器,以及於次等級記憶體存取資料之方法 |
CN102237143B (zh) * | 2010-04-21 | 2014-03-12 | 深圳市江波龙电子有限公司 | 一种闪存块信息的重建方法、系统及重建设备 |
US9104580B1 (en) * | 2010-07-27 | 2015-08-11 | Apple Inc. | Cache memory for hybrid disk drives |
US8909851B2 (en) | 2011-02-08 | 2014-12-09 | SMART Storage Systems, Inc. | Storage control system with change logging mechanism and method of operation thereof |
US8595597B2 (en) * | 2011-03-03 | 2013-11-26 | Intel Corporation | Adjustable programming speed for NAND memory devices |
CN102654854A (zh) * | 2011-03-04 | 2012-09-05 | 上海华虹集成电路有限责任公司 | 一种可动态调整ECC纠错能力的Nandflash控制器 |
US8935466B2 (en) | 2011-03-28 | 2015-01-13 | SMART Storage Systems, Inc. | Data storage system with non-volatile memory and method of operation thereof |
US9086983B2 (en) | 2011-05-31 | 2015-07-21 | Micron Technology, Inc. | Apparatus and methods for providing data integrity |
US9098399B2 (en) | 2011-08-31 | 2015-08-04 | SMART Storage Systems, Inc. | Electronic system with storage management mechanism and method of operation thereof |
US9021231B2 (en) | 2011-09-02 | 2015-04-28 | SMART Storage Systems, Inc. | Storage control system with write amplification control mechanism and method of operation thereof |
US9021319B2 (en) | 2011-09-02 | 2015-04-28 | SMART Storage Systems, Inc. | Non-volatile memory management system with load leveling and method of operation thereof |
US9063844B2 (en) | 2011-09-02 | 2015-06-23 | SMART Storage Systems, Inc. | Non-volatile memory management system with time measure mechanism and method of operation thereof |
US9128869B2 (en) | 2011-09-29 | 2015-09-08 | Micron Technology, Inc. | Systems and methods involving managing a problematic memory cell |
US9239781B2 (en) | 2012-02-07 | 2016-01-19 | SMART Storage Systems, Inc. | Storage control system with erase block mechanism and method of operation thereof |
TWI463313B (zh) * | 2012-04-17 | 2014-12-01 | Phison Electronics Corp | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 |
US9298252B2 (en) | 2012-04-17 | 2016-03-29 | SMART Storage Systems, Inc. | Storage control system with power down mechanism and method of operation thereof |
US8949689B2 (en) * | 2012-06-11 | 2015-02-03 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US8953398B2 (en) | 2012-06-19 | 2015-02-10 | Sandisk Technologies Inc. | Block level grading for reliability and yield improvement |
US9671962B2 (en) | 2012-11-30 | 2017-06-06 | Sandisk Technologies Llc | Storage control system with data management mechanism of parity and method of operation thereof |
US9437328B2 (en) * | 2012-11-30 | 2016-09-06 | Silicon Motion Inc. | Apparatus and method for applying at-speed functional test with lower-speed tester |
US9123445B2 (en) | 2013-01-22 | 2015-09-01 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
US9183137B2 (en) | 2013-02-27 | 2015-11-10 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US9470720B2 (en) | 2013-03-08 | 2016-10-18 | Sandisk Technologies Llc | Test system with localized heating and method of manufacture thereof |
US9043780B2 (en) | 2013-03-27 | 2015-05-26 | SMART Storage Systems, Inc. | Electronic system with system modification control mechanism and method of operation thereof |
US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US9543025B2 (en) | 2013-04-11 | 2017-01-10 | Sandisk Technologies Llc | Storage control system with power-off time estimation mechanism and method of operation thereof |
US10546648B2 (en) | 2013-04-12 | 2020-01-28 | Sandisk Technologies Llc | Storage control system with data management mechanism and method of operation thereof |
US9313874B2 (en) | 2013-06-19 | 2016-04-12 | SMART Storage Systems, Inc. | Electronic system with heat extraction and method of manufacture thereof |
US9898056B2 (en) | 2013-06-19 | 2018-02-20 | Sandisk Technologies Llc | Electronic assembly with thermal channel and method of manufacture thereof |
US9244519B1 (en) | 2013-06-25 | 2016-01-26 | Smart Storage Systems. Inc. | Storage system with data transfer rate adjustment for power throttling |
US9367353B1 (en) | 2013-06-25 | 2016-06-14 | Sandisk Technologies Inc. | Storage control system with power throttling mechanism and method of operation thereof |
US9146850B2 (en) | 2013-08-01 | 2015-09-29 | SMART Storage Systems, Inc. | Data storage system with dynamic read threshold mechanism and method of operation thereof |
US9448946B2 (en) | 2013-08-07 | 2016-09-20 | Sandisk Technologies Llc | Data storage system with stale data mechanism and method of operation thereof |
US9431113B2 (en) | 2013-08-07 | 2016-08-30 | Sandisk Technologies Llc | Data storage system with dynamic erase block grouping mechanism and method of operation thereof |
US9361222B2 (en) | 2013-08-07 | 2016-06-07 | SMART Storage Systems, Inc. | Electronic system with storage drive life estimation mechanism and method of operation thereof |
KR102136396B1 (ko) | 2013-08-30 | 2020-07-22 | 삼성전자주식회사 | 디램의 배드 페이지 관리 기능을 갖는 디램 콘트롤러 및 그에 따른 배드 페이지 관리방법 |
KR102137934B1 (ko) | 2013-10-02 | 2020-07-28 | 삼성전자 주식회사 | 메모리 컨트롤러 구동방법 및 메모리 컨트롤러를 포함하는 메모리 시스템 |
US9372750B2 (en) * | 2013-11-01 | 2016-06-21 | Qualcomm Incorporated | Method and apparatus for non-volatile RAM error re-mapping |
US9152555B2 (en) | 2013-11-15 | 2015-10-06 | Sandisk Enterprise IP LLC. | Data management with modular erase in a data storage system |
US9299457B2 (en) * | 2014-02-23 | 2016-03-29 | Qualcomm Incorporated | Kernel masking of DRAM defects |
US9811458B2 (en) * | 2014-03-19 | 2017-11-07 | Htc Corporation | Mobile electronic device and method for clearing memory blocks based on processor determination of physical block to erase in response to GUI input from user specified time and directing controller to erase within the specified time |
KR20170052066A (ko) * | 2015-11-03 | 2017-05-12 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
WO2017095911A1 (en) * | 2015-12-01 | 2017-06-08 | Huang Yiren Ronnie | Method and apparatus for logically removing defective pages in non-volatile memory storage device |
US10248499B2 (en) * | 2016-06-24 | 2019-04-02 | Sandisk Technologies Llc | Non-volatile storage system using two pass programming with bit error control |
CN107908500B (zh) * | 2017-11-30 | 2021-02-26 | 新华三技术有限公司 | 一种坏块识别方法及装置 |
US10726936B2 (en) * | 2018-12-20 | 2020-07-28 | Micron Technology, Inc. | Bad block management for memory sub-systems |
CN111949198A (zh) * | 2019-05-16 | 2020-11-17 | 北京兆易创新科技股份有限公司 | 一种坏块管理方法、装置和存储设备 |
CN114968066A (zh) * | 2021-02-19 | 2022-08-30 | 瑞昱半导体股份有限公司 | 用于快闪存储器中进行故障区块管理的方法与装置 |
CN117789808B (zh) * | 2024-02-26 | 2024-05-24 | 合肥康芯威存储技术有限公司 | 一种存储器及其坏块纠错方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5577194A (en) * | 1992-10-30 | 1996-11-19 | Intel Corporation | Method of managing defects in flash disk memories |
US5648934A (en) * | 1995-02-13 | 1997-07-15 | Micron Technology, Inc. | On-chip memory redundancy circuitry for programmable non-volatile memories, and methods for programming same |
US5954828A (en) * | 1995-01-05 | 1999-09-21 | Macronix International Co., Ltd. | Non-volatile memory device for fault tolerant data |
US20050283647A1 (en) * | 2004-01-09 | 2005-12-22 | Buffalo Inc. | External storage device |
US20060080515A1 (en) * | 2004-10-12 | 2006-04-13 | Lefthand Networks, Inc. | Non-Volatile Memory Backup for Network Storage System |
US20070283428A1 (en) * | 2000-01-06 | 2007-12-06 | Super Talent Electronics, Inc. | Managing Bad Blocks In Flash Memory For Electronic Data Flash Card |
US20080049504A1 (en) * | 2004-05-19 | 2008-02-28 | Matsushita Electric Industrial Co., Ltd. | Memory Control Circuit, Nonvolatile Storage Apparatus, and Memory Control Method |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2647312B2 (ja) * | 1992-09-11 | 1997-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 一括消去型不揮発性半導体記憶装置 |
JP4073799B2 (ja) * | 2003-02-07 | 2008-04-09 | 株式会社ルネサステクノロジ | メモリシステム |
US7881133B2 (en) * | 2003-11-11 | 2011-02-01 | Samsung Electronics Co., Ltd. | Method of managing a flash memory and the flash memory |
JP4950886B2 (ja) * | 2005-07-15 | 2012-06-13 | パナソニック株式会社 | 不揮発性記憶装置、メモリコントローラ及び不良領域検出方法 |
US7765426B2 (en) * | 2007-06-07 | 2010-07-27 | Micron Technology, Inc. | Emerging bad block detection |
-
2008
- 2008-04-10 TW TW097113038A patent/TWI381390B/zh active
- 2008-06-16 US US12/140,090 patent/US8046645B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5577194A (en) * | 1992-10-30 | 1996-11-19 | Intel Corporation | Method of managing defects in flash disk memories |
US6014755A (en) * | 1992-10-30 | 2000-01-11 | Intel Corporation | Method of managing defects in flash disk memories |
US5954828A (en) * | 1995-01-05 | 1999-09-21 | Macronix International Co., Ltd. | Non-volatile memory device for fault tolerant data |
US5648934A (en) * | 1995-02-13 | 1997-07-15 | Micron Technology, Inc. | On-chip memory redundancy circuitry for programmable non-volatile memories, and methods for programming same |
US20070283428A1 (en) * | 2000-01-06 | 2007-12-06 | Super Talent Electronics, Inc. | Managing Bad Blocks In Flash Memory For Electronic Data Flash Card |
US20050283647A1 (en) * | 2004-01-09 | 2005-12-22 | Buffalo Inc. | External storage device |
US20080049504A1 (en) * | 2004-05-19 | 2008-02-28 | Matsushita Electric Industrial Co., Ltd. | Memory Control Circuit, Nonvolatile Storage Apparatus, and Memory Control Method |
US20060080515A1 (en) * | 2004-10-12 | 2006-04-13 | Lefthand Networks, Inc. | Non-Volatile Memory Backup for Network Storage System |
Also Published As
Publication number | Publication date |
---|---|
US8046645B2 (en) | 2011-10-25 |
TW200943306A (en) | 2009-10-16 |
US20090259896A1 (en) | 2009-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI381390B (zh) | 快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器 | |
US9405639B2 (en) | Systems and methods for retrieving data | |
TWI426528B (zh) | 用於快閃記憶體的區塊管理方法、控制器與儲存系統 | |
TWI385523B (zh) | 用於快閃記憶體的資料備份方法及其控制器與儲存系統 | |
TWI467581B (zh) | 複合式儲存裝置及其複合式儲存媒體控制器與定址方法 | |
TWI447735B (zh) | 記憶體管理與寫入方法及其可複寫式非揮發性記憶體控制器與儲存系統 | |
TWI408688B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
TWI479492B (zh) | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 | |
CN101567220B (zh) | 闪存的损坏区块辨识方法、储存系统及其控制器 | |
TWI479314B (zh) | 系統資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI435329B (zh) | 快閃記憶體管理方法、快閃記憶體控制器與儲存系統 | |
US20130019049A1 (en) | Block management method, memory controller and memory stoarge apparatus | |
TWI454913B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI554886B (zh) | 資料保護方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI459198B (zh) | 記憶體儲存裝置、其記憶體控制器與有效資料識別方法 | |
TWI420313B (zh) | 資料管理方法、記憶體控制器與嵌入式記憶體儲存裝置 | |
TWI509615B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI501244B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN110069362B (zh) | 数据储存装置与数据处理方法 | |
TWI651650B (zh) | 記憶體管理方法及使用所述方法的儲存控制器 | |
TWI451247B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI464585B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI553477B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN112051963A (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
TWI521538B (zh) | 非揮發性記憶體儲存裝置、記憶體控制器與資料儲存方法 |