TWI501252B - 用於控制保留區的固態儲存系統及其控制方法 - Google Patents
用於控制保留區的固態儲存系統及其控制方法 Download PDFInfo
- Publication number
- TWI501252B TWI501252B TW099140356A TW99140356A TWI501252B TW I501252 B TWI501252 B TW I501252B TW 099140356 A TW099140356 A TW 099140356A TW 99140356 A TW99140356 A TW 99140356A TW I501252 B TWI501252 B TW I501252B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- blocks
- replacement
- indicator
- error
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- 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
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
本發明係關於固態儲存系統和控制固態儲存系統之方法,更特別係指彈性地控制保留區之固態儲存系統及其相關之方法。
非揮發性記憶體被廣泛用於各種可攜式信息終端裝置的儲存。最近,於個人電腦(personal computers,PC)中,使用NAND快閃記憶體的固態硬碟機(solid state drives,SSDs)已開始取代硬式磁碟機(hard disk drives,HDDs)。可預期地,固態硬碟機將進一步大舉進入硬式磁碟機的市場。
使用SSD時所產生的一個問題是錯誤區塊。錯誤區塊的形成可能是因為快閃記憶體的製程缺陷或頻繁的操作使得記憶體胞元退化。錯誤區塊需要以保留區的一區塊進行替換,使錯誤區塊的實體區域不再被引用。為此,一保留區域空間將被分配。即是,一單獨的實體區域將僅被分配和使用於取代錯誤區塊。
在本發明一具體實施例,固態儲存系統包括:一快閃記憶體區域,包括複數記憶體區塊和複數替換區塊,當該記憶體區塊發生錯誤時,其對應至錯誤發生區塊;及一記憶體控制器,配置為執行控制操作,以用該替換區塊取代該錯誤發生區塊,其中,該錯誤發生區塊包括可校正區塊和不可校正區塊,且其中該記憶體控制器決定該錯誤發生區塊是否為該校正區塊或該不可校正區塊,且對應取代該可校正區塊的該替換區塊的控制區係可被多次分配。
在本發明另一個具體實施例,用於控制固態儲存系統之方法包括:判斷錯誤發生區塊是否為可校正區塊或不可校正區塊;當錯誤發生區塊屬於不可校正區塊時,依序分配區域至區塊,該區塊對應的邏輯位址係從替換區塊邏輯位址的最大值來減少;和當錯誤發生區塊為可校正區塊時,依序分配區域至區塊,該區塊對應的邏輯位址係從替換區塊邏輯位址的最小值來增加。
本發明另有一具體實施例,儲存裝置包括:一記憶體區域包括至少一記憶體區塊和至少一替換區塊,當記憶體區塊發生錯誤時,至少一替換區塊用於取代至少一記憶體區塊;及一記憶體控制器,配置為執行控制操作,當至少一記憶體區塊錯誤發生時,用至少一替換區塊取代至少一記憶體區塊,其中該記憶體控制器決定該至少一記憶體區塊是否為一可校正區塊或一不可校正區塊,該可校正區塊係為基於至少一記憶體區塊的資料而透過錯誤校正演算之可校正的一區塊,該不可校正區塊則為透過錯誤校正演算之不可校正的一區塊,該記憶體控制器控制替換區塊的相對位置以取代該可校正區塊。
以下詳細揭示本發明具體實施例作為參考,這些例子將配合圖式說明。只要有可能,同樣的元件符號將可用於全部圖式,顯示相同或類似部份。
第1圖為根據本發明的一具體實施例的固態儲存系統100之方塊圖。固態儲存系統100可包括一個NAND快閃記憶體。此外,固態儲存系統100可包括一主機介面110、一緩衝單元120、一微控制單元(micro control unit,MCU)130、一記憶體控制器140、及一記憶體區域150。
主機介面110可連接到緩衝單元120。主機介面110可配置為發送和接收控制命令、位址信號和外部主機(圖未示)與緩衝單元120之間的資料信號。主機介面110和外部主機之間的介面格式可以是但不限於以下任何一種:一序列式ATA(serial advanced technology attachment: SATA),一平行式ATA(parallel advanced technology attachment: PATA)、SCSI、Express Card、PCI-Express等。
緩衝單元120可配置為緩衝主機介面110之輸出信號,或暫時儲存邏輯位址和實體位址之間的映射資訊、記憶體區域150的區塊分配信息、及從緩衝單元120外部接收的資料。該緩衝單元120可為使用靜態隨機存取記憶體(SRAM)的一緩衝器。
微控制單元130,可配置為對/從主機介面110發送/接收控制命令、位址信號、及資料信號,並回應這些控制命令、位址信號、及資料信號來控制記憶體控制器140。
記憶體控制器140,可配置來在該記憶體區域150的複數個NAND快閃記憶體裝置中選擇特定的NAND快閃記憶體裝置,並提供程式化、抹除和讀取命令。特別是,記憶體控制器140可以根據錯誤區塊的出現彈性地控制保留區。
預定大小的保留區通常提前分配給各區塊,以應付錯誤區塊的發生。因此,錯誤區塊可以用保留區內一區塊來取代,並據此標記使該錯誤區塊不再被引用。
當資料區塊(圖未示)在各種操作的過程中產生錯誤時,記憶體控制器140可進行控制操作,使得無論是錯誤區塊或極可能發生錯誤的區塊皆可被保留區內的區塊所取代。在這裡,記憶體控制器140可包括錯誤檢查修正引擎(error check correction engine,ECC engine)(圖未示)。當錯誤發生在讀取和程式化資料的區塊上時,記憶體控制器140將使記錯誤檢查修正引擎校正錯誤。此時,可能會有錯誤發生區塊可被錯誤檢查修正引擎校正的情況,或者該錯誤發生區塊無法被錯誤檢查修正引擎校正的情況。在本發明的具體實施例中,即使在此二種情況之已進行校正的情形下,保留區的某些部分仍可配置以取代該區塊。
通常情況下,只有在無法透過錯誤檢查修正引擎來校正的錯誤發生區塊會被認為是一錯誤區塊,且被保留區的區塊所取代。當所發生的錯誤可由錯誤檢查修正引擎校正時,係以資料區中的一空閒區塊來進行取代。
然而,在本發明的具體實施例中,當對資料區塊進行讀取和程式化操作的期間發生錯誤時,記憶體控制器140可進行控制操作使得所有發生錯誤的區塊被保留區的區塊取代。此時,於錯誤發生區塊可被錯誤檢查修正引擎修正或無法被錯誤檢查修正引擎修正的此二種情況下,記憶體控制器140可允許這些錯誤發生區塊分別被保留區的區塊取代。特別是,保留區中那些已被校正過程使用的區塊可考慮其再被使用的可行性,使保留區的資源可充分被利用。這將可提高儲存區的使用率,更詳細的說明如下。
記憶體區域150可配置來由記憶體控制器140控制,以及可執行程式化、抹除和讀取資料的操作。在這裡,記憶體區域150可包含一NAND快閃記憶體。NAND快閃記憶體的胞元可為單層記憶胞元(single level cell,SLC)或多層記憶胞元(multi-level cell,MLC)。記憶體區域150可包括數個晶片。每一晶片可由複數區塊組成。每一區塊可包含複數頁。
第2圖為第1圖中固態儲存系統的資料區DA和保留區RA之示意圖。
在第2圖,資料區DA可包括具有邏輯位址的數個區塊。保留區RA也可包括具有邏輯位址的數個區塊。保留區RA可使用兩個標識(例如,兩個指標),使得在保留區RA中區塊的位置可被確定或計算。資料區DA和保留區RA可具有對應到邏輯位址的實體位址。儘管如此,只有資料區DA可成為平均抹寫(wear leveling)的對象,而保留區RA可不成為平均抹寫的對象,即使保留區RA具有邏輯和實體位址並作為取代的對象,其係由於該等位址係僅供參考。
具有初始化值的開始指標SP可以分配至保留區RA中具有最小邏輯位址值的區塊。在這種情況下,當邏輯位址增加,開始指標SP對應的值也增加。例如,當邏輯位址的最小值為100,隨著邏輯位址增加至101、102和103,開始指標SP被控制為具有一值,該值將增加至大於初始值(例如:0)。開始指標SP增加的範圍變化可不受限制。換言之,開始指標SP的值可被增加,直到對應至具有最大邏輯位址值的區塊,並可由結束指標EP來限制。
具有初始化值的結束指標EP可被分配到保留區RA中具有最大邏輯位址值的區塊。與開始指標SP的操作相反,結束指標EP可控制為:當區塊的邏輯位址減少,結束指標EP的對應值增加。例如,假設邏輯位址的最大值是120,隨著邏輯位址減少至119、118和117,結束指標EP被控制具有一值,該值將增加為大於初始值(例如:20)。結束指標EP增加的範圍變化可不受限制。換言之,結束指標EP的值可被增加,直到對應至具有最小邏輯位址值的區塊,並可由開始指標SP來限制。
當然,較佳為開始指標SP和結束指標EP的初始值彼此不同,以避免混亂。由於結束指標EP和開始指標SP設定來識別對應邏輯區塊的位置訊息,指標本身的初始值並不重要。因此,在保留區沒有額外的映射訊息下,保留區RA之邏輯區塊的位置訊息可藉由開始指標SP和結束指標EP的使用而被簡單地提供。
參考第2圖以詳細描述讀取操作模式,如果一錯誤發生在資料區DA(見(1)),可能會嘗試使用錯誤檢查修正引擎來校正。如果錯誤發生區塊被校正,對應的區塊可被視為一可校正區塊,並可配置保留區RA中的一特定區塊來進行取代。根據一實施例,如果錯誤發生區塊是可校正區塊,保留區RA的特定區塊就可利用開始指標SP來分配。當示例地開始指標SP使用十進位制系統時,開始指標SP可以以十進位制中的1來增加。例如,如果開始指標SP的初始值為0,每當有一可校正區塊被取代時,開始指標SP可逐漸增加指標值,如1、2、3…。
假設資料區DA中的錯誤發生在讀取模式(見(2))期間且嘗試使用錯誤檢查修正引擎來校正,如果因為超出可校正的位元數而無法校正,該區塊可被判斷為一錯誤區塊,且可在保留區RA配置一特定區塊來取代。如果錯誤發生區塊是一個無法被校正的區塊,保留區RA之一特定區塊的配置可使用結束指標EP。此後,當示例地結束指標EP使用十進位制系統時,結束指標SP可以以十進位制中的1來增加。例如,當結束指標EP的初始值是20,結束指標EP可以逐漸增加指標值,如21、22、23…。
在本發明的具體實施例,可校正區塊可以被稱為一警告區塊來表示為具有較高錯誤發生機率的一區塊。一不可校正區塊可以被稱為一個關鍵區塊來表示無法恢復的一區塊。
如此一來,保留區RA可用開始指標SP和結束指標EP區分為用於可校正區塊的替換區塊、和用於不可校正區塊的替換區塊來控制。由於在錯誤發生區塊下,這些指標係被可變地更新,他們可能無法如固定區塊般地被控制,故此彈性可改善保留區RA的利用效率。
第3圖為第1圖和第2圖所示的固態儲存系統中,當開始指標SP和結束指標EP於保留區RA中所定義之警告區塊和關鍵區塊相同的情況下之示意圖。
參考第3圖,舉例來說,由於資料區DA具有許多錯誤發生區塊,不僅可校正區塊的數量增加,且不可校正區塊的數量也增加。第3圖說明當開始指標SP所指定的邏輯區塊能定義可校正區塊的取代區域時,且當結束指標EP所指定的邏輯區塊能定義不可校正區塊的取代區域時,其邏輯區塊本質上可能會相同。
在這方面,當開始指標SP和結束指標EP所指定的邏輯區塊相同,記憶體控制器140(見第1圖)可初始化開始指標SP,然後實施控制操作,以使保留區RA中的邏輯區塊(由初始化開始指標SP所指定的)成為一替換區塊。即是,取代的執行可藉由指定對應至初始化開始指標SP之具有最小邏輯位址值的區塊作為替換區塊來實施。
為了程式化資料至一新區塊,程式化操作前應先進行抹除操作。因此,在抹除指定替換區塊的內容後,錯誤發生區塊的資料可被寫入至該替換區塊,該替換區塊係被執行過抹除操作和錯誤檢查。
同時,由於快閃記憶體的特性,如果讀取操作反覆地被執行,電壓可能會暫時超過特定的電壓。因此,一錯誤可能會形成,但並非肇因於快閃記憶體胞元的缺陷,而是因為讀取干擾。因此,如果錯誤並非起因於缺陷的胞元,而是讀取干擾,當對相對應的記憶體胞元執行抹除操作時,電壓可能會恢復到正常位準,使相應的儲存單元可如正常的胞元般被操作。
第4圖說明在位址對映表的一具體實施例中,資料區域DA和保留區域RA之間的關係。如果錯誤發生區塊(資料區DA)的邏輯位址映射表為(0,10),且被判斷為可校正之警告區塊係被取代為邏輯位址映射表為(100,500)的保留區RA時,對應錯誤發生區塊的邏輯位址映射表可被(0,500)取代,而保留區RA的邏輯位址映射表可被(100,10)取代。此時,保留區RA實際的實體位址10可儲存錯誤發生資料。
然後,保留區RA可成功地透過增加開始指標SP來配置可校正區塊。雖然它可能必需使用開始指標SP分配一新區塊為一新錯誤發生區塊(20,40),如果開始指標SP和結束指標EP所指定的邏輯區塊相同,開始指標SP可被初始化。這意味著開始指標SP可能會回復到對應至該區塊所對應的最小邏輯位址值。
因此,保留區RA的邏輯位址映射表(100,10)可由初始化的開始指標SP被重新分配。對應資料區DA之邏輯位址映射表(0,10)的無用資料已經儲存在保留區RA的映射表(100,10)。同時,新錯誤發生區塊(20,40)可以被複製到保留區RA的邏輯位址映射表(100,10),並實施錯誤檢查。如果沒有錯誤發生,由於新的錯誤發生區塊(20,40)可被保留區RA的邏輯位址映射表(100,10)取代,位址替換可被實施,使得資料區DA的位址映射表變成(20,10)以及保留區RA的位址映射表變成(100,40)。如果當資料區DA的位址映射表(20,40)被複製到保留區RA的位址映射表(100,10),然後執行錯誤檢查而出現錯誤時,資料區DA的映射表(20,40)可如一關鍵錯誤區塊的方式進行處理,並可透過增加目前的結束指標EP來分配。
這樣,即使區塊取代了對應的該可校正區塊,該區塊可在抹除後被重複使用。然而,若分配給可校正區塊後沒有剩餘的區塊,用於一可校正區塊的一替換區塊可從相應於該等可校正區塊而被取代的區塊之中,自具有最小邏輯位址值的區塊開始,進行再次分配。在抹除實際區塊的過程,如果相對應區塊胞元之電壓恢復到正常位準,相對應的區塊對於一個新的錯誤發生區塊來說可作為替換區塊。然而,若抹除後當相對應的區塊被用作可校正區塊的替換區塊時發生錯誤,該可校正區塊被跳過並被對應指標值的區塊替換,該指標值係透過電流結束指標EP加1,被控制為一不可校正區塊,即是一關鍵區塊。
依據本發明的一具體實施例,第5圖為第1圖所示之控制固態儲存系統的方法之流程圖。當錯誤發生在資料區DA,可判斷該錯誤是否屬於超過可校正位元的錯誤(S10)。
如果錯誤屬於超出可校正位元(Y)的錯誤,相對應的區塊可以被視為一關鍵區塊,而保留區RA係使用保留區RA的結束指標EP來分配(S20)。在抹除作為相應指標的結束指標EP所分配的區域後(S30),錯誤發生區塊可被複製到分配區域(S40)。藉由改變錯誤發生區塊的實體位址至保留區RA中的一指定區塊的實體位址,錯誤發生區塊的位址映射可被更新(S50)。此後,結束指標EP可被增加(S60)。
如果錯誤不屬於超出可校正位元的錯誤(N),而是屬於在可校正位元內(Y)的錯誤,對應區塊可以被視為警告區塊(S70),以及使用保留區RA的開始指標SP來分配保留區RA(S80)。
接下來,判斷該使用保留區RA的開始指標SP來分配保留區RA的區塊,是否為對應結束指標EP的區塊(S90)。
如果對應至開始指標SP的區塊和相對應結束指標EP的區塊不相同,以開始指標SP作為對應指標所配置的區域將被抹除(S30),而錯誤發生區塊被複製到該配置區域(S40)。該錯誤發生區塊的位址映射可被更新(S50)。此後,開始指標SP可被增加(S60)。
如果該錯誤不屬於超出可校正位元(N)的錯誤也不屬於在可校正位元內(N)的錯誤時,由於沒有任何相關聯的錯誤發生區塊,該方法將結束。
可判斷該使用保留區RA的開始指標SP來分配保留區RA的區塊,是否為對應結束指標EP的區塊(S90)。如果該區塊所對應的開始指標SP和該區塊對應的結束指標EP是相同的,該開始指標SP可被初始化(S100)。因此,在保留區RA中,具有最小邏輯位址值和對應至初始化開始指標SP的區塊係有關聯性。
然後,作為對應指標之開始指標SP所分配的區域可被刪除(S110)。此後,錯誤發生區塊可被複製到分配區域(S120)。此時,由於該區塊被重複使用,可進行一錯誤檢查以判斷替換區塊中是否有錯誤發生(S130)。
如果錯誤並未發生,位址映射表可被更新(S140)且開始指標SP可從初始化值增加1(S150)。
為了區塊被重複使用,可進行一錯誤檢查以判斷替換區塊中是否有錯誤發生(S130)。如果出現錯誤,結束指標EP可被增加(S160)。
作為對應指標之結束指標EP所配置的區域可被抹除(S170)。此後,錯誤發生區塊可被複製到分配區域(S180)。
如上描述可以顯見,在本發明中,一保留區被以可重複使用的方式來控制。該保留區不僅可用於取代一失敗區塊,也可取代具有高失敗發生率的警告區塊。換言之,對於取代警告區塊的區塊而言,如果電池電壓透過抹除程序而恢復到正常狀態,該區塊可被重複使用。對於取代來說,由於儲存區的區塊可使用數個指標簡單地被選擇和使用,固態存儲系統的控制將可容易實現。
雖然上述部分實施例可作為特定的應用範例,熟知技術者應可理解,實施例描述僅作為範例。知悉揭露內容所提供之教示的熟知技術者,將可了解其變化、應用及/或其他實施例,以及將本發明之揭露應用於其他領域。因此,固態儲存系統及其控制方法,不應僅限於所述之實施例,而是所述固態儲存系統及其控制方法僅應限於配合上述描述和圖式之後述的申請專利範圍。
100...固態儲存系統
110...主機介面
120...緩衝單元
130...微控制單元
140...記憶體控制器
150...記憶體區域
DA...資料區
RA...保留區
SP...開始指標
EP...結束指標
L2P...邏輯/實體
S10~S180...步驟
第1圖為說明根據本發明一具體實施例的固態儲存系統之方塊圖;
第2圖為說明第1圖的具體實施例中,固態儲存系統的資料區和保留區之示意圖;
第3圖為說明第1和2圖的固態儲存系統中,保留區內相互對應的開始指標和結束指標之示意圖;
第4圖為說明一具體實施例的位址對映表中,資料區和保留區間的關係示意圖;及
第5圖為說明根據本發明一具體實施例之固態儲存系統的控制方法之流程圖。
100...態儲存系統
110...機介面
120...衝單元
130...控制單元
140...憶體控制器
150...憶體區域
Claims (21)
- 一種固態儲存系統,包含:一快閃記憶體區域,包括複數記憶體區塊和複數替換區塊,該等替換區塊係當該記憶體區塊發生錯誤時,對應至多個錯誤發生區塊;及一記憶體控制器,配置為執行一控制操作,以用該等替換區塊取代該等錯誤發生區塊,其中,該等錯誤發生區塊包括多個可校正區塊和多個不可校正區塊,及其中該等記憶體控制器判斷該等錯誤發生區塊是否為該等可校正區塊或該等不可校正區塊,且對應取代該等可校正區塊的該等替換區塊的控制區係被多次分配。
- 如申請專利範圍第1項所述之固態儲存系統,其中,該記憶體控制器建立複數指標,藉由分割該等替換區塊的區域為對應該等可校正區塊的區域、及對應該等不可校正區塊所取代的區域,來各別地控制該等替換區塊的區域。
- 如申請專利範圍第2項所述之固態儲存系統,其中,該複數指標包含:一開始指標,具有一值,其係隨該等替換區塊的邏輯位址之一最小值的增加而增加;及一結束指標,具有一值,其係隨該等替換區塊的邏輯位址之一最大值減少而增加。
- 如申請專利範圍第3項所述之固態儲存系統,其中,若該等錯誤發生區塊屬於該等可校正區塊,取代是由使用該開始指標的複數分配區域來進行。
- 如申請專利範圍第3項所述之固態儲存系統,其中,若該等錯誤發生區塊屬於該等不可校正區塊,取代是由使用該結束指標的複數分配區域來進行。
- 如申請專利範圍第3項所述之固態儲存系統,其中,當由該開始指標所指定的複數邏輯區塊和由該結束指標所指定的複數邏輯區塊係為相同時,該記憶體控制器初始化該開始指標。
- 如申請專利範圍第6項所述之固態儲存系統,其中,該記憶體控制器藉由該開始指標所對應之具有該等替換區塊的邏輯位址之最小值的一區塊來控制用於一邏輯區塊之該開始指標的初始化。
- 如申請專利範圍第6項所述之固態儲存系統,其中,對於一新的可校正區塊,當該開始指標指定的複數邏輯區塊與該結束指標指定的複數邏輯區塊相同時,該記憶體控制器重新分配先前由該開始指標所分配的一邏輯區塊。
- 一種控制固態儲存系統之方法,包含:判斷複數錯誤發生區塊是否為可校正區塊或不可校正區塊;當該等錯誤發生區塊屬於該等不可校正區塊時,依序分配複數區域至複數區塊,其對應的邏輯位址係從複數替換區塊的邏輯位址之最大值減少;及當該等錯誤發生區塊屬於該等可校正區塊時,依序分配複數區域至複數區塊,其對應的邏輯位址係從該等替換區塊的邏輯位址之最小值增加。
- 如申請專利範圍第9項所述之方法,其中,當該等錯誤發生區塊屬於該等不可校正區塊,一結束指標的值增加,係如同一邏輯位址的值從該等替換區塊之邏輯位址的最大值減少。
- 如申請專利範圍第9項所述之方法,其中,當該等錯誤發生區塊屬於該等可校正區塊,一開始指標的值增加,係如同一邏輯位址的值從該等替換區塊之邏輯位址的最小值增加。
- 如申請專利範圍第11項所述之方法,其中,當該等可校正區塊或該等替代換塊中,不存在任何區域為一新錯誤發生區塊時,該開始指標被初始化。
- 如申請專利範圍第12項所述之方法,其中,當該等替換區塊中不存在任何區域時,被該開始指標和該結束指標所指定的複數邏輯區塊係為相同。
- 如申請專利範圍第12項所述之方法,其中,該開始指標的初始化被控制來用於該開始指標所指定的一邏輯區塊,以對應該替換區塊中具有最小邏輯位址值的一區塊。
- 如申請專利範圍第14項所述之方法,更包含:在重新分配對應最小邏輯位址值的該區塊、以及對該可校正區塊以該重新分配區塊取代該替換區塊後,進行錯誤檢測。
- 如申請專利範圍第15項所述之方法,其中,若一錯誤發生在錯誤檢測之後,取代是藉由分配一邏輯區塊來完成,其係由增加該結束指標的現值所指定。
- 一種儲存裝置,包含:一記憶體區域,包含至少一記憶體區塊和至少一替換區塊,當一錯誤發生在該記憶區塊時,該至少一替換區塊被用於取代該至少一記憶區塊;及一記憶體控制器,設置用於實施一控制操作,當該錯誤發生在該至少一記憶區塊時,以該至少一替換區塊來取代該至少一記憶體區塊,其中,該記憶體控制器判斷該至少一記憶區塊是一可校正區塊或一不可校正區塊,該可校正區塊係為基於該至少一記憶體區塊的資料並透過一錯誤校正演算而可被校正的區塊,該不可校正區塊係為透過該錯誤校正演算而不可被校正的區塊,且控制該替換區塊的一相對位置以取代該可校正區塊。
- 如申請專利範圍第17項所述之儲存裝置,其中,該記憶體控制器建立複數指標,來各別地控制該替換區塊的位置。
- 如申請專利範圍第18項所述之儲存裝置,其中,該複數指標包含:一開始指標,具有一值,係隨該至少一替換區塊的邏輯位址之一最小值增加而增加;及一結束指標,具有一值,係隨該至少一替換區塊的邏輯位址之一最大值減少而增加。
- 如申請專利範圍第19項所述之儲存裝置,其中,若該錯誤發生區塊是該可校正區塊,利用該開始指標確認該至少一替換區塊的位置來進行取代。
- 如申請專利範圍第19項所述之儲存裝置,其中,若該錯誤發生區塊是該不可校正區塊,利用該結束指標確認該至少一替換區塊的位置來進行取代。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090130753A KR101090394B1 (ko) | 2009-12-24 | 2009-12-24 | 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201131572A TW201131572A (en) | 2011-09-16 |
TWI501252B true TWI501252B (zh) | 2015-09-21 |
Family
ID=44188950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099140356A TWI501252B (zh) | 2009-12-24 | 2010-11-23 | 用於控制保留區的固態儲存系統及其控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8370680B2 (zh) |
KR (1) | KR101090394B1 (zh) |
TW (1) | TWI501252B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101859604B (zh) * | 2009-04-10 | 2012-10-24 | 国民技术股份有限公司 | 闪存坏块的利用方法 |
KR20120003283A (ko) * | 2010-07-02 | 2012-01-10 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 배드 블록 관리 방법 |
TWI420308B (zh) * | 2010-10-13 | 2013-12-21 | Phison Electronics Corp | 區塊管理方法、記憶體控制器與記憶體儲存裝置 |
KR101739878B1 (ko) * | 2011-02-22 | 2017-05-26 | 삼성전자주식회사 | 컨트롤러, 이의 동작방법, 및 상기 컨트롤러를 포함한 메모리 시스템 |
US9804917B2 (en) | 2012-09-25 | 2017-10-31 | Hewlett Packard Enterprise Development Lp | Notification of address range including non-correctable error |
KR102098697B1 (ko) | 2013-03-15 | 2020-04-08 | 삼성전자주식회사 | 비휘발성 메모리 시스템, 이를 포함하는 시스템 및 상기 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법 |
KR20140142035A (ko) * | 2013-06-03 | 2014-12-11 | 삼성전자주식회사 | 메모리 컨트롤러 및 상기 메모리 컨트롤러의 동작방법 |
KR102435890B1 (ko) * | 2017-08-17 | 2022-08-25 | 삼성전자주식회사 | 스토리지 장치의 어드레스 맵핑 방법 및 동작 방법 |
KR20190073125A (ko) * | 2017-12-18 | 2019-06-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
CN114968066A (zh) * | 2021-02-19 | 2022-08-30 | 瑞昱半导体股份有限公司 | 用于快闪存储器中进行故障区块管理的方法与装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1285592A (zh) * | 1999-08-20 | 2001-02-28 | 慧亚科技股份有限公司 | 快闪记忆体的管理、资料连接结构与演算法 |
CN1797583A (zh) * | 2004-12-27 | 2006-07-05 | 株式会社东芝 | 信息存储介质、替换缺陷管理信息的方法及装置 |
CN1882918A (zh) * | 2003-10-03 | 2006-12-20 | 桑迪士克股份有限公司 | 快闪存储器数据校正及擦除技术 |
CN1902583A (zh) * | 2003-12-31 | 2007-01-24 | 桑迪士克股份有限公司 | 快闪存储器系统起动操作 |
US7412575B2 (en) * | 2004-11-03 | 2008-08-12 | Samsung Electronics Co., Ltd. | Data management technique for improving data reliability |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100383404B1 (ko) | 1996-08-16 | 2003-07-16 | 동경 엘렉트론 디바이스 주식회사 | 반도체메모리장치및반도체메모리장치에있어서의데이타기입/판독방법 |
EP1365405A2 (en) * | 1998-07-28 | 2003-11-26 | Lg Electronics Inc. | Method and apparatus of recording data in the optical recording medium |
JP3243220B2 (ja) * | 1998-09-14 | 2002-01-07 | 株式会社東芝 | 交替処理方法 |
US20050204187A1 (en) * | 2004-03-11 | 2005-09-15 | Lee Charles C. | System and method for managing blocks in flash memory |
US6732221B2 (en) | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
JP4059472B2 (ja) * | 2001-08-09 | 2008-03-12 | 株式会社ルネサステクノロジ | メモリカード及びメモリコントローラ |
EP1403870A1 (en) * | 2002-09-27 | 2004-03-31 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for recording a data stream on a storage medium |
US6985992B1 (en) | 2002-10-28 | 2006-01-10 | Sandisk Corporation | Wear-leveling in non-volatile storage systems |
JP4041076B2 (ja) * | 2004-02-27 | 2008-01-30 | 株式会社東芝 | データ記憶システム |
US7853749B2 (en) | 2005-09-01 | 2010-12-14 | Cypress Semiconductor Corporation | Flash drive fast wear leveling |
US7661021B2 (en) * | 2006-07-12 | 2010-02-09 | Mediatek Inc. | Method for defect management in rewritable optical storage media |
KR100802059B1 (ko) * | 2006-09-06 | 2008-02-12 | 삼성전자주식회사 | 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법 |
TW200828320A (en) | 2006-12-28 | 2008-07-01 | Genesys Logic Inc | Method for performing static wear leveling on flash memory |
US7657701B2 (en) | 2007-01-03 | 2010-02-02 | The General Electric Company | System and method of flash memory wear leveling using distributed write cycles |
US7882301B2 (en) | 2007-05-09 | 2011-02-01 | Stmicroelectronics S.R.L. | Wear leveling in storage devices based on flash memories and related circuit, system, and method |
KR101413736B1 (ko) | 2007-09-13 | 2014-07-02 | 삼성전자주식회사 | 향상된 신뢰성을 갖는 메모리 시스템 및 그것의웨어-레벨링 기법 |
TWI343001B (en) * | 2007-11-13 | 2011-06-01 | Ite Tech Inc | Data preserving method and data accessing method for non-volatile memory |
JP5374075B2 (ja) * | 2008-06-06 | 2013-12-25 | エイチジーエスティーネザーランドビーブイ | ディスク装置及びその制御方法 |
US20100017650A1 (en) * | 2008-07-19 | 2010-01-21 | Nanostar Corporation, U.S.A | Non-volatile memory data storage system with reliability management |
TWI364661B (en) * | 2008-09-25 | 2012-05-21 | Silicon Motion Inc | Access methods for a flash memory and memory devices |
US8327066B2 (en) * | 2008-09-30 | 2012-12-04 | Samsung Electronics Co., Ltd. | Method of managing a solid state drive, associated systems and implementations |
US8266501B2 (en) * | 2009-09-29 | 2012-09-11 | Micron Technology, Inc. | Stripe based memory operation |
-
2009
- 2009-12-24 KR KR1020090130753A patent/KR101090394B1/ko active IP Right Grant
-
2010
- 2010-07-19 US US12/839,325 patent/US8370680B2/en active Active
- 2010-11-23 TW TW099140356A patent/TWI501252B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1285592A (zh) * | 1999-08-20 | 2001-02-28 | 慧亚科技股份有限公司 | 快闪记忆体的管理、资料连接结构与演算法 |
CN1882918A (zh) * | 2003-10-03 | 2006-12-20 | 桑迪士克股份有限公司 | 快闪存储器数据校正及擦除技术 |
CN1902583A (zh) * | 2003-12-31 | 2007-01-24 | 桑迪士克股份有限公司 | 快闪存储器系统起动操作 |
US7412575B2 (en) * | 2004-11-03 | 2008-08-12 | Samsung Electronics Co., Ltd. | Data management technique for improving data reliability |
CN1797583A (zh) * | 2004-12-27 | 2006-07-05 | 株式会社东芝 | 信息存储介质、替换缺陷管理信息的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
TW201131572A (en) | 2011-09-16 |
US8370680B2 (en) | 2013-02-05 |
KR101090394B1 (ko) | 2011-12-07 |
US20110161727A1 (en) | 2011-06-30 |
KR20110073942A (ko) | 2011-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI501252B (zh) | 用於控制保留區的固態儲存系統及其控制方法 | |
US8108595B2 (en) | Storage apparatus and method of managing data storage area | |
TWI527037B (zh) | 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8332576B2 (en) | Data reading method for flash memory and controller and storage system using the same | |
JP4844639B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US9298534B2 (en) | Memory system and constructing method of logical block | |
US8713381B2 (en) | Systems and methods of using dynamic data for wear leveling in solid-state devices | |
TWI585770B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
US8392797B2 (en) | Error correcting controller, flash memory chip system, and error correcting method thereof | |
TWI490871B (zh) | 防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置 | |
US9141476B2 (en) | Method of storing system data, and memory controller and memory storage apparatus using the same | |
TWI436369B (zh) | 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統 | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
US20130275655A1 (en) | Memory management method and memory controller and memory storage device using the same | |
TW201351137A (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
US10509583B1 (en) | Memory management method and storage controller | |
JP2004220068A (ja) | メモリカード及びメモリへのデータ書き込み方法 | |
US9778862B2 (en) | Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus | |
TW201526006A (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN106354651B (zh) | 平均磨损方法、存储器控制电路单元及存储器储存装置 | |
JP2010061507A (ja) | フラッシュメモリの管理方法及びフラッシュメモリデバイス | |
KR20120070408A (ko) | 블록을 관리하는 비휘발성 메모리 장치의 제어 방법 | |
US10430288B2 (en) | Data backup method, data recovery method and storage controller |