TWI436369B - 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統 - Google Patents

記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統 Download PDF

Info

Publication number
TWI436369B
TWI436369B TW098138588A TW98138588A TWI436369B TW I436369 B TWI436369 B TW I436369B TW 098138588 A TW098138588 A TW 098138588A TW 98138588 A TW98138588 A TW 98138588A TW I436369 B TWI436369 B TW I436369B
Authority
TW
Taiwan
Prior art keywords
programming code
memory device
predetermined
physical block
system programming
Prior art date
Application number
TW098138588A
Other languages
English (en)
Other versions
TW201117218A (en
Inventor
De We Lai
Jen Hung Liao
Hsiao Te Chang
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Priority to TW098138588A priority Critical patent/TWI436369B/zh
Priority to US12/718,984 priority patent/US8402204B2/en
Publication of TW201117218A publication Critical patent/TW201117218A/zh
Application granted granted Critical
Publication of TWI436369B publication Critical patent/TWI436369B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統
本發明係有關於非揮發性記憶體,特別是有關於非揮發性記憶體之效能評估、系統內編程碼置換、以及具有使用該非揮發性記憶體方法之資料儲存系統。
由於非揮發性記憶體,例如快閃記憶體,不需倚賴電力即可維持其所儲存之資料,因此廣泛地用於各種消費性電子裝置中,像是手機、數位相機、個人數位助理(PDA)等。一般來講,因為非揮發性記憶體具有尺寸小、高記憶密度、低耗電及低成本之優勢,使其特別適用於該些消費性電子裝置。於是,係將非揮發性記憶體,例如反及閘(NAND)快閃記憶體包裝成不同的儲存媒體,諸如小型快閃(CF)卡、多媒體卡(MMC)、安全數位(SD)卡、及固態儲存硬碟(SSD)等。
通常,非揮發性記憶體,像是快閃記憶體,會包含多個區塊(block),而每一區塊具有用以儲存資料之複數頁面(page)。進一步,快閃記憶體以頁面為單位進行編程,而以區塊為單元進行抹除。對已儲存資料之一區塊而言,若欲更新該已儲存之資料,則於重新使用或進行更新前必須先抹除該已用之區塊。這是因為僅能將資料寫入至未儲存資料之頁面或已被抹除之頁面中,且快閃記憶體無法以頁面為單位進行抹除。
然而,由於每一可抹除區塊會有抹除次數的限制,這使得非揮發性記憶體具有一使用壽命。隨著時間經過,當使用壽命耗盡時,將無法正確地對該非揮發性記憶體進行編程及抹除,進而降低該非揮發性記憶體之整體效能。
因此,需要一種方式,能夠即時地更新非揮發性記憶體之使用壽命及效能狀態。除此之外,在使用壽命即將期滿,或者效能嚴重惡化之情況下,能夠提供及時通知,用以事先採取適當的措施,像是置換該非揮發性記憶體之系統內編程碼(in-system programming code),或是備份其儲存之資料。
本發明提供一種資料儲存系統,係包括一記憶裝置及一主機。該記憶裝置包括一非揮發性記憶體及一控制器。該非揮發性記憶體包括複數之實體區塊,其具有複數之資料區塊與複數之備用區塊,其中,該等資料區塊用以儲存資料,對應於該等資料區塊之至少一部份備用區塊被保留及用於資料更新操作。該控制器,耦接於該非揮發性記憶體,用以計算已選取實體區塊之一平均抹除次數,並根據該平均抹除次數及每一實體區塊之一最大允許抹除次數,用以取得一剩餘時間來表示該記憶裝置之使用壽命。該主機,耦接於該記憶裝置,用以比較該平均抹除次數與一第一臨界值來取得一指標、根據該指標決定該記憶裝置之一效能狀態,當該平均抹除次數大於該第一臨界值,且保留用於該等資料區塊資料更新操作之該至少一部份備用區塊以外的剩餘備用區塊數量小於一下限時,將該效能狀態設定為一第一狀態、根據該效能狀態產生一指示、以及執行一延伸程式,用以回應於該第一狀態,該延伸程式載入一既定系統內編程碼,用以置換儲存於該非揮發性記憶體之至少一實體區塊中之一原始系統內編程碼。該延伸程式於非揮發性記憶體中,配置最小數量之該至少一部份備用區塊,係被保留及用於資料更新操作。
另一方面,本發明提供一種記憶裝置之使用壽命量測方法。於一實施例中,該記憶裝置包括一非揮發性記憶體,其具有複數之實體區塊,該方法包括:於一段既定期間中,累計已選取實體區塊之一總抹除次數;根據該總抹除次數及該段既定期間,計算該已選取實體區塊之一平均抹除次數;及根據該平均抹除次數及每一實體區塊之一最大允許抹除次數,取得一剩餘時間,用以表示該記憶裝置之使用壽命。
另一方面,本發明提供一種記憶裝置之系統內編程碼置換方法。於一實施例中,該記憶裝置具有一非揮發性記憶體及一控制器。該方法包括:判斷是否置換該記憶裝置之一原始系統內編程碼,其中,該原始系統內編程碼儲存於該非揮發性記憶體之至少一實體區塊中;取得具有一既定系統內編程碼之一設定檔案;將該既定系統內編程碼儲存至該控制器之一隨機存取記憶體中;自該隨機存取記憶體中讀出已儲存之該既定系統內編程碼,用以進行第一次驗證;當該第一次驗證成功時,以該既定系統內編程碼置換該至少一實體區塊中所儲存之該原始系統內編程碼;以及自該至少一實體區塊中讀出已儲存之該既定系統內編程碼,用以進行第二次驗證。
為使本發明之上述目的、特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式,詳細說明如下。
下文係說明本發明之較佳實施方式。下述之說明係用以更容易瞭解本發明,並非用以限制本發明。本發明之保護範圍當視後附之申請專利範圍所界定者為準。
第1圖係顯示依據本發明實施例之資料儲存系統10方塊圖。
該資料儲存系統10包括記憶裝置110、主機106與螢幕108。記憶裝置110包括控制器104與非揮發性記憶體102,例如:反及閘(NAND)快閃記憶體。
於一實施例中,非揮發性記憶體102包括複數之實體區塊。該等實體區塊具有複數之資料區塊、複數之備用區塊與複數之缺陷區塊。舉例而言,當第一次使用非揮發性記憶體102時,係具有(X+Y+Z)個實體區塊。於此,X表示資料區塊之全部數量,Y表示備用區塊之全部數量,以及Z表示缺陷區塊之全部數量。資料區塊用以儲存資料。缺陷區塊禁止抹除與編程存取。進一步,對應於資料區塊之至少一部份備用區塊係被保留及用於資料更新操作,而除了保留及用於資料更新操作之至少一部份備用區塊以外,其它剩餘之備用區塊將用來維持非揮發性記憶體102之效能。舉例來講,於讀寫操作時,其餘備用區塊可用來取代壞掉或缺陷區塊。缺陷區塊可能於製造時或者執行過多之抹除操作時產生。通常在一開始時,Z會遠小於X或Y。但於資料寫入時,隨著非揮發性記憶體102所執行之抹除操作增加,加上每一區塊之抹除次數限制,使得越來越多資料區塊或者備用區塊會因為過多之抹除操作而變成缺陷區塊。
於一情況下,當一備用區塊因為過多之抹除操作而有缺陷時,便將該備用區塊標誌為一缺陷區塊。因此,備用區塊之全部數量變成(Y-1),而缺陷區塊之全部數量變成(Z+1)。於另一情況下,當一資料區塊為有缺陷時,則將對應之一備用區塊轉而作為該資料區塊,用以維持資料區塊之大小。因此,資料區塊之全部數量依然為X,不過,備用區塊之全部數量變成(Y-1),而缺陷區塊之全部數量變成(Z+1)。
於是,當缺陷區塊之全部數量增加到一個程度時,由於備用區塊不足,將造成非揮發性記憶體102可能出現效能問題或資料遺失。於此情況下,可利用非揮發性記憶體102之某些條件來取得一指標,用以判斷非揮發性記憶體102之效能是否能滿足需求。舉例而言,主機106可以根據初始缺陷區塊、目前缺陷區塊、初始備用區塊、目前備用區塊、全部或數個實體區塊之抹除次數、或者非揮發性記憶體102之其他狀態,用以決定非揮發性記憶體102,即記憶裝置110,之使用壽命與效能狀態。
第2圖係顯示依據本發明實施例之記憶裝置操作方法流程圖。如第1圖與第2圖所示,當包含儲存媒體(例如:記憶裝置110)之資料儲存系統10開機時,將上述一或多個狀態提供給主機106,用以取得指標並決定記憶裝置110之效能狀態(步驟S202)。
於一實施例中,於記憶裝置110中,耦接於非揮發性記憶體102之控制器104取得已選取實體區塊之平均抹除次數,並據以決定非揮發性記憶體102之效能狀態。於操作中,控制器104根據已選取實體區塊於一段既定時間中所累計之一總抹除次數,用以計算該平均抹除次數。
值得一提的是,該段既定期間之起始點,可以取決於一應用程式之第一次執行,用以表示於該非揮發性記憶體102上第一次抹除操作或存取操作之執行。
舉例而言,假設記憶裝置110從第一次執行該應用程式後已經過一段既定時間,控制器104先取得每一個已選取實體區塊之抹除次數,累計出總抹除次數後,便可以計算已選取實體區塊之平均抹除次數。更進一步,亦可以每隔一固定時間,即執行該應用程式,用以更新該累計之總抹除次數及該段既定期間。
於此狀況下,耦接於記憶裝置110之主機106取得與已選取實體區塊之平均抹除次數相關之一指標。於一實施例中,可以藉由平均已選取實體區塊之全部抹除次數,用以取得平均抹除次數。於操作中,主機106可以比較平均抹除次數與第一臨界值,用以取得指標。然後,再根據指標來產生對應之指示(步驟S204)。於第1圖中,螢幕108耦接於該主機106,用以顯示對應之指示。
進一步,當記憶裝置110之效能狀態被判斷為不能滿足需求時,主機106可以執行一延伸程式,用以延長記憶裝置110之使用壽命。舉例來講,針對效能需求,延伸程式從非揮發性記憶體102將一系統內編程(in-system programming,ISP)碼載入至控制器104,進而維持非揮發性記憶體102之正常讀寫操作(步驟S206)。延伸程式之操作將配合第3圖詳細說明如下。
第3圖係顯示依據第2圖實施例之記憶裝置110另一操作方法流程圖。於此實施例中,係利用非揮發性記憶體102(如第1圖所示)內之已選取實體區塊之一平均抹除次數來取得指標,用以決定記憶裝置110之效能狀態。
舉例而言,當主機106欲寫入資料至具有抹除次數C1之實體區塊B1時,第1圖所示之控制器104抹除實體區塊B1。因此,實體區塊B1之抹除次數變成(C1+1)。以此方式,主機106可選擇一些實體區塊來取得平均抹除次數,用以決定記憶裝置110之效能狀態(步驟S302)。進一步,控制器104可以根據平均抹除次數及每一實體區塊之一最大允許抹除次數,用以取得一剩餘時間,並顯示於螢幕108上,來表示記憶裝置110之使用壽命。
之後,主機106藉由比較平均抹除次數與第一臨界值來取得指標。具體地,主機106根據指標決定記憶裝置110之效能狀態。決定效能狀態之後,便根據效能狀態來產生對應之指示。
於一實施例中,當平均抹除次數超過第一臨界值,且於該等備用區塊中,除了保留用於該等資料區塊資料更新操作之備用區塊之外,剩餘備用區塊的數量小於一下限時,則將效能狀態設定為第一狀態,用來表示非揮發性記憶體102隨時會產生缺陷,且儲存於非揮發性記憶體102之資料可能隨時會遺失。舉例而言,若全部備用區塊為Y,而被保留及用於資料更新操作之備用區塊之全部數量為N,則剩餘可利用備用區塊之數量為(Y-N)。需注意,除了平均抹除次數及剩餘備用區塊之數量外,亦可以設定或合併其它條件來取得指標,並決定記憶裝置110之效能狀態。如此一來,回應於第一狀態,可於螢幕108上顯示一紅色閃光燈訊號,用以作為對應之指示,像是用紅色閃光燈訊號之圖示,以便提醒終端使用者,在非揮發性記憶體102變得無法使用之前,儘快對非揮發性記憶體102執行備份操作(步驟S304),以防止資料遺失。舉例來講,於備份操作期間,主機106可指示控制器104備份非揮發性記憶體102所儲存之資料。
再者,回應於紅色閃光燈訊號或第一狀態,主機106執行一延伸程式,用以使記憶裝置110之使用壽命延長。於一實施例中,終端使用者可點擊位於螢幕108上之紅色閃光燈訊號之圖示,用以使資料儲存系統10執行延伸程式。延伸程式載入一既定系統內編程碼,用以置換儲存於該非揮發性記憶體之至少一實體區塊中之原始系統內編程碼。系統內編程碼之置換將配合第4圖詳細說明如下。
於一實施例中,延伸程式所載入之既定系統內編程碼可配置一最小數量之備用區塊,係被保留及用於資料更新操作(步驟S310)。於操作中,被保留及用於資料更新操作之備用區塊與原來之資料區塊一起被稱為配對區塊,因此,最小數量之備用區塊意指最小數量之配對區塊。更具體地,最小數量之備用區塊足以維持記憶裝置110之正常操作,但可能會影響記憶裝置110之效能。舉例來講,對應於資料區塊,假使原本保留及用於資料更新操作之備用區塊數量為N,則延伸程式可將N減小至最小數量M,使得控制器104得以維持正常操作。
除此之外,假設備用區塊之全部數量為Y,執行完延伸程式後,將有(Y-M)個備用區塊可用於取代任何缺陷資料區塊或者任何缺陷備用區塊。也就是說,能夠空出更多閒置之備用區塊,用以取代壞掉或缺陷之區塊,從而增加記憶裝置110之使用壽命,也使得終端使用者在資料遺失前,可以有更多時間備份非揮發性記憶體102所儲存之資料。
於另一實施例中,延伸程式所載入之既定系統內編程碼,可使非揮發性記憶體102操作於一較低時脈速度,用以維持非揮發性記憶體102之正常讀寫操作。
另一方面,當平均抹除次數低於第一臨界值時,主機106進一步地比較平均抹除次數與第二臨界值,用以取得該指標。於此情況下,根據平均抹除次數與第二臨界值之比較結果,可於黃色或綠色閃光燈訊號中選擇其一,用以作為對應之指示。也就是說,當平均抹除次數介於第一臨界值與第二臨界值時,便於螢幕108上顯示一黃色閃光燈訊號,用以作為對應之指示,如利用黃色閃光燈訊號之圖示(步驟S306),用以表示記憶裝置110已使用一段時間,而且效能已下降。當平均抹除次數少於第二臨界值時,在該螢幕108上顯示一綠色閃光燈訊號,用以作為對應之指示,如利用綠色閃光燈訊號之圖示(步驟S308),用以表示記憶裝置110之效能能夠滿足需求。
值得注意的是,第一臨界值與第二臨界值均為可編程的。於操作中,可依據非揮發性記憶體102之記憶體型式決定第一臨界值與第二臨界值。舉例來講,可依據非揮發性記憶體識別碼或者非揮發性記憶體廠商規格,自查找表取得備用臨界值與抹除臨界值。或者,終端使用者可根據其經驗與需求來編程第一臨界值與第二臨界值,以便建立更適當的指示。
值得一提的是,記憶裝置110包括小型快閃(CF)卡、多媒體卡(MMC)、安全數位(SD)卡、及固態儲存硬碟(SSD),或者其他與非揮發性記憶體相關之記憶裝置。
第4圖係顯示依據本發明實施例之系統內編程碼之置換流程圖。
如上所述,於一實施例中,當記憶裝置110之使用壽命即將期滿,或者被判斷為可能出現資料遺失或效能問題時,除了利用紅色閃光燈訊號提醒終端使用者備份非揮發性記憶體102所儲存之資料外,亦可以置換非揮發性記憶體102之原始系統內編程碼,藉以延長記憶裝置110之使用壽命。
進一步,於另一實施例中,當製造商提供新版本之系統內編程碼供終端使用者更新時,終端使用者可透過網際網路連結至製造商之網站,然後將非揮發性記憶體102內所儲存之原始系統內編程碼以新版本之系統內編程碼加以置換。或者,將內含新版本系統內編程碼之設定檔案由網站下載至一額外記憶體中,經過適當的解壓縮或安裝步驟,用以進行系統內編程碼之置換。
具體地,當主機106連接至外部之網際網路或額外記憶體時,控制器104可發送命令SMART_1至主機106,透過網際網路或額外記憶體,主機106將具有一既定系統內編程碼之一設定檔案載入並傳送至控制器104(步驟S402)。然後,控制器104將該既定系統內編程碼儲存至控制器104之一隨機存取記憶體(未圖示)中(步驟S404)。
接著,控制器104發送命令SMART_2,用以從該隨機存取記憶體中讀出已儲存之該既定系統內編程碼,比較設定檔案所儲存之既定系統內編程碼,用以進行第一次驗證(步驟S406)。
當第一次驗證失敗時,表示載入設定檔案之過程或儲存該既定系統內編程碼之過程可能有錯誤發生。於此情況下,控制器104可發送抹除命令SMART_C1,用以抹除該隨機存取記憶體中已儲存之該既定系統內編程碼(步驟S408)。
反之,當第一次驗證成功時,控制器104接著發送命令SMART_3,用以於非揮發性記憶體102中,取得儲存原始系統內編程碼之特定實體區塊位址(physical block address,PBA),如PBA3及PBA4。之後,將儲存於特定實體區塊之原始系統內編程碼備份至非揮發性記憶體102之備份儲存位置中(步驟S410)。
備份完成後隨即抹除該等特定實體區塊。接著,將該既定系統內編程碼寫入至該等特定實體區塊,如PBA3及PBA4,用以置換原始系統內編程碼(步驟S412)。
進一步,控制器104發送命令SMART_4,用以從該等特定實體區塊,如PBA3及PBA4,讀出已儲存之該既定系統內編程碼,比較設定檔案所儲存之既定系統內編程碼,用以進行第二次驗證(步驟S414)。
當第二次驗證失敗時,表示將該既定系統內編程碼寫入至該等特定實體區塊,如PBA3及PBA4,之過程可能有錯誤發生。於此情況下,控制器104可發送抹除另一命令SMART_C2,除了抹除該隨機存取記憶體中已儲存之該既定系統內編程碼之外,並抹除該等特定實體區塊,如PBA3及PBA4,所儲存之該既定系統內編程碼(步驟S416)。之後,再將備份儲存位置之原始系統內編程碼還原至該等特定實體區塊,如PBA3及PBA4(步驟S418)。
反之,當第二次驗證成功時,則可於記憶裝置110重新開機後,執行非揮發性記憶體之102該既定系統內編程碼(步驟S420)。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10...資料儲存系統
102...非揮發性記憶體
104...控制器
106...主機
108...螢幕
110...記憶裝置
第1圖係顯示依據本發明實施例之資料儲存系統方塊圖。
第2圖係顯示依據本發明實施例之記憶裝置操作方法流程圖。
第3圖係顯示依據第2圖實施例之記憶裝置另一操作方法流程圖。
第4圖係顯示依據本發明實施例之系統內編程碼之置換流程圖。
10...資料儲存系統
102...非揮發性記憶體
104...控制器
106...主機
108...螢幕
110...記憶裝置

Claims (21)

  1. 一種資料儲存系統,包括:一記憶裝置,包括:一非揮發性記憶體,包括複數之實體區塊,其具有複數之資料區塊與複數之備用區塊,其中,該等資料區塊用以儲存資料,對應於該等資料區塊之至少一部份備用區塊被保留及用於資料更新操作;及一控制器,耦接於該非揮發性記憶體,用以計算已選取實體區塊之一平均抹除次數,並根據該平均抹除次數及每一實體區塊之一最大允許抹除次數,用以取得一剩餘時間來表示該記憶裝置之使用壽命;及一主機,耦接於該記憶裝置,用以比較該平均抹除次數與一第一臨界值來取得一指標、根據該指標決定該記憶裝置之一效能狀態,當該平均抹除次數大於該第一臨界值,且保留用於該等資料區塊資料更新操作之該至少一部份備用區塊以外的剩餘備用區塊數量小於一下限時,將該效能狀態設定為一第一狀態、根據該效能狀態產生一指示、以及執行一延伸程式,以回應於該第一狀態,該延伸程式載入一既定系統內編程碼,用以置換儲存於該非揮發性記憶體之至少一實體區塊中之一原始系統內編程碼,其中,該既定系統內編程碼配置一最小數量之該至少一部份備用區塊,係被保留及用於資料更新操作。
  2. 如申請專利範圍第1項所述之資料儲存系統,更包括:一螢幕,耦接於該主機,用以顯示該指示及該剩餘時間。
  3. 如申請專利範圍第1項所述之資料儲存系統,其中,根據該已選取實體區塊於一段既定時間中所累計之一總抹除次數,用以計算該平均抹除次數。
  4. 如申請專利範圍第3項所述之資料儲存系統,其中,該段既定期間之起始點,係取決於一應用程式之第一次執行,用以表示於該非揮發性記憶體上第一次抹除操作之執行。
  5. 如申請專利範圍第1項所述之資料儲存系統,利用一紅色閃光燈訊號來顯示該指示,用以回應於該第一狀態。
  6. 如申請專利範圍第1項所述之資料儲存系統,當該平均抹除次數小於該第一臨界值,該主機比較該平均抹除次數與一第二臨界值,用以取得該指標。
  7. 如申請專利範圍第6項所述之資料儲存系統,其中,根據該平均抹除次數與該第二臨界值比較結果,利用一黃色閃光燈訊號或一綠色閃光燈訊號兩者其中之一來顯示該指示。
  8. 如申請專利範圍第1項所述之資料儲存系統,其中,當該主機將具有一既定系統內編程碼之一設定檔案傳送至該控制器時,該控制器將該既定系統內編程碼儲存至該控制器之一隨機存取記憶體中、自該隨機存取記憶體中讀出已儲存之該既定系統內編程碼,用以進行第一次驗證、當該第一次驗證成功時,以該既定系統內編程碼置換該至少一實體區塊中所儲存之該原始系統內編程碼、以及自該至少一實體區塊中讀出已儲存之該既定系統內編程碼,用以進行第二次驗證。
  9. 如申請專利範圍第8項所述之資料儲存系統,其中,當該第二次驗證成功時,則於該記憶裝置重新開機後執行該非揮發性記憶體之該既定系統內編程碼。
  10. 如申請專利範圍第8項所述之資料儲存系統,其中,該控制器讀取該至少一實體區塊,用以將該原始系統內編程碼備份至該非揮發性記憶體之一備份儲存位置、抹除該至少一實體區塊、以及將該既定系統內編程碼寫入至該至少一實體區塊中,用以置換該原始系統內編程碼。
  11. 如申請專利範圍第8項所述之資料儲存系統,其中,當該第一次驗證失敗時,該控制器抹除該隨機存取記憶體中已儲存之該既定系統內編程碼。
  12. 如申請專利範圍第8項所述之資料儲存系統,其中,當該第二次驗證失敗時,該控制器抹除該隨機存取記憶體中已儲存之該既定系統內編程碼、抹除該至少一實體區塊、以及自備份儲存位置將該原始系統內編程碼之備份還原至該至少一實體區塊。
  13. 一種記憶裝置之系統內編程碼置換方法,其中,該記憶裝置包括一非揮發性記憶體,該非揮發性記憶體具有複數之實體區塊,該方法包括:於一段既定期間中,累計已選取實體區塊之一總抹除次數;根據該總抹除次數及該段既定期間,計算該已選取實體區塊之一平均抹除次數;根據該平均抹除次數及每一實體區塊之一最大允許抹除次數,用以取得一剩餘時間來表示該記憶裝置之使用壽命;比較該平均抹除次數與一第一臨界值來取得一指標;根據該指標決定該記憶裝置之一效能狀態,當該平均抹除次數大於該第一臨界值,且保留用於資料區塊資料更新操作之至少一部份備用區塊以外的剩餘備用區塊數量小 於一下限時,將該效能狀態設定為一第一狀態;根據該效能狀態產生一指示;以及執行一延伸程式,以回應於該第一狀態,該延伸程式載入一既定系統內編程碼,用以置換儲存於該非揮發性記憶體之至少一實體區塊中之一原始系統內編程碼,其中,該既定系統內編程碼配置一最小數量之上述至少一部份備用區塊,係被保留及用於資料更新操作。
  14. 如申請專利範圍第13項所述之記憶裝置之系統內編程碼置換方法,其中,該段既定期間之起始點,係取決於一應用程式之第一次執行,用以表示該非揮發性記憶體上第一次抹除操作之執行。
  15. 如申請專利範圍第14項所述之記憶裝置之系統內編程碼置換方法,更包括:每隔一固定時間即執行該應用程式,用以更新該累計之總抹除次數及該段既定期間。
  16. 如申請專利範圍第13項所述之記憶裝置之系統內編程碼置換方法,其中,該記憶裝置更具有一控制器,且該方法更包括:判斷是否置換該原始系統內編程碼;取得具有該既定系統內編程碼之一設定檔案; 將該既定系統內編程碼儲存至該控制器之一隨機存取記憶體中;自該隨機存取記憶體中讀出已儲存之該既定系統內編程碼,用以進行第一次驗證;當該第一次驗證成功時,以該既定系統內編程碼置換該至少一實體區塊中所儲存之該原始系統內編程碼;以及自該至少一實體區塊中讀出已儲存之該既定系統內編程碼,用以進行第二次驗證。
  17. 如申請專利範圍第16項所述之記憶裝置之系統內編程碼置換方法,更包括:當該第二次驗證成功時,則於該記憶裝置重新開機後執行該非揮發性記憶體之該既定系統內編程碼。
  18. 如申請專利範圍第16項所述之記憶裝置之系統內編程碼置換方法,其中,置換該原始系統內編程碼之步驟包括:讀取該至少一實體區塊,用以將該原始系統內編程碼備份至該非揮發性記憶體之一備份儲存位置;抹除該至少一實體區塊;以及將該既定系統內編程碼寫入至該至少一實體區塊中。
  19. 如申請專利範圍第16項所述之記憶裝置之系統 內編程碼置換方法,更包括:當該第一次驗證失敗時,抹除該隨機存取記憶體中已儲存之該既定系統內編程碼。
  20. 如申請專利範圍第16項所述之記憶裝置之系統內編程碼置換方法,更包括:當該第二次驗證失敗時,抹除該隨機存取記憶體中已儲存之該既定系統內編程碼;抹除該至少一實體區塊;以及自備份儲存位置將該原始系統內編程碼之備份還原至該至少一實體區塊。
  21. 如申請專利範圍第16項所述之記憶裝置之系統內編程碼置換方法,其中,該設定檔案由外部之一額外記憶體或網際網路提供。
TW098138588A 2009-11-13 2009-11-13 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統 TWI436369B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW098138588A TWI436369B (zh) 2009-11-13 2009-11-13 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統
US12/718,984 US8402204B2 (en) 2009-11-13 2010-03-07 Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW098138588A TWI436369B (zh) 2009-11-13 2009-11-13 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統

Publications (2)

Publication Number Publication Date
TW201117218A TW201117218A (en) 2011-05-16
TWI436369B true TWI436369B (zh) 2014-05-01

Family

ID=44012171

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098138588A TWI436369B (zh) 2009-11-13 2009-11-13 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統

Country Status (2)

Country Link
US (1) US8402204B2 (zh)
TW (1) TWI436369B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291152B2 (en) * 2009-01-07 2012-10-16 Silicon Motion, Inc. Method for operating non-volatile memory and data storage system using the same
JP2011198433A (ja) * 2010-03-23 2011-10-06 Toshiba Corp メモリシステム
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9934872B2 (en) * 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
TWI563507B (en) * 2015-07-01 2016-12-21 Phison Electronics Corp Memory management method, memory control circuit unit and memry storage apparatus
US10331352B2 (en) 2016-06-06 2019-06-25 Toshiba Memory Corporation Dynamic processing of storage command based on internal operations of storage system
KR20180076765A (ko) * 2016-12-28 2018-07-06 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
JP2018120439A (ja) * 2017-01-25 2018-08-02 東芝メモリ株式会社 メモリシステムおよび制御方法
US11003381B2 (en) * 2017-03-07 2021-05-11 Samsung Electronics Co., Ltd. Non-volatile memory storage device capable of self-reporting performance capabilities
KR20190069806A (ko) * 2017-12-12 2019-06-20 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US11199991B2 (en) * 2019-01-03 2021-12-14 Silicon Motion, Inc. Method and apparatus for controlling different types of storage units
TWI738235B (zh) * 2020-03-03 2021-09-01 慧榮科技股份有限公司 用來進行恢復管理的方法以及記憶裝置及其控制器以及電子裝置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US6584559B1 (en) * 2000-01-28 2003-06-24 Avaya Technology Corp. Firmware download scheme for high-availability systems
US20020095619A1 (en) * 2001-01-17 2002-07-18 Marsh Edward Thomas Fault tolerant/redundant boot ROM reprogramming
AU2003211154A1 (en) 2002-02-22 2003-09-09 Lexar Media, Inc. Removable memory media with integral indicator light
US7035967B2 (en) * 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
US7669046B2 (en) * 2004-08-03 2010-02-23 Panasonic Corporation Data processing apparatus and firmware update method
JP4863749B2 (ja) 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
US7523013B2 (en) * 2006-05-15 2009-04-21 Sandisk Corporation Methods of end of life calculation for non-volatile memories

Also Published As

Publication number Publication date
US20110119430A1 (en) 2011-05-19
US8402204B2 (en) 2013-03-19
TW201117218A (en) 2011-05-16

Similar Documents

Publication Publication Date Title
TWI436369B (zh) 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統
TWI416528B (zh) 非揮發性記憶體操作方法及使用該方法之資料儲存系統
US9323666B2 (en) Techniques for controlling recycling of blocks of memory
US8452913B2 (en) Semiconductor memory device and method of processing data for erase operation of semiconductor memory device
US8775874B2 (en) Data protection method, and memory controller and memory storage device using the same
CN102081577B (zh) 对Flash存储器的数据存储结构进行数据操作的方法
US9582416B2 (en) Data erasing method, memory control circuit unit and memory storage apparatus
JP4215746B2 (ja) 情報処理装置および寿命監視方法
US9940021B2 (en) Method and system for memory management and memory storage device thereof
US9141476B2 (en) Method of storing system data, and memory controller and memory storage apparatus using the same
TWI501252B (zh) 用於控制保留區的固態儲存系統及其控制方法
JP2011070346A (ja) メモリシステム
JPWO2009001519A1 (ja) メモリコントローラ、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム
TWI459393B (zh) 用於非揮發性記憶體的資料寫入方法、控制器與儲存裝置
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
TWI420313B (zh) 資料管理方法、記憶體控制器與嵌入式記憶體儲存裝置
CN110750466A (zh) 提高闪存擦写寿命的方法和装置
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
TWI616807B (zh) 資料寫入方法以及儲存控制器
US7921340B2 (en) Nonvolatile memory device, nonvolatile memory system, and defect management method for nonvolatile memory device
JP5929398B2 (ja) 不揮発性半導体メモリ装置、及び、その制御方法
JP2007094767A (ja) メモリ制御装置及びメモリ制御方法
JP6040895B2 (ja) マイクロコンピュータ及び不揮発性メモリのブロック管理方法
US9007829B2 (en) Memory repairing method, and memory controller and memory storage apparatus using the same
JP2010256944A (ja) Nand型フラッシュメモリ保守装置及びnand型フラッシュメモリ保守プログラム及びnand型フラッシュメモリ保守方法