TWI442406B - 針對一快閃記憶體的控制器之錯誤管理機制來提升驗證效率之方法以及相關之記憶裝置及其控制器 - Google Patents
針對一快閃記憶體的控制器之錯誤管理機制來提升驗證效率之方法以及相關之記憶裝置及其控制器 Download PDFInfo
- Publication number
- TWI442406B TWI442406B TW098122406A TW98122406A TWI442406B TW I442406 B TWI442406 B TW I442406B TW 098122406 A TW098122406 A TW 098122406A TW 98122406 A TW98122406 A TW 98122406A TW I442406 B TWI442406 B TW I442406B
- Authority
- TW
- Taiwan
- Prior art keywords
- error
- controller
- generator
- flash memory
- generate
- Prior art date
Links
Classifications
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
-
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/01—Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/015—Simulation or testing of codes, e.g. bit error rate [BER] measurements
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Read Only Memory (AREA)
Description
本發明係有關於快閃記憶體(Flash Memory)之存取(Access),尤指一種針對一快閃記憶體的控制器之錯誤管理(Error Handling)機制來提升驗證效率之方法以及相關之記憶裝置及其控制器。
近年來由於快閃記憶體的技術不斷地發展,各種可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡)被廣泛地實施於諸多應用中。因此,這些可攜式記憶裝置中之快閃記憶體的存取控制遂成為相當熱門的議題。
以常用的NAND型快閃記憶體而言,其主要可區分為單階細胞(Single Level Cell,SLC)與多階細胞(Multiple Level Cell,MLC)兩大類之快閃記憶體。單階細胞快閃記憶體中之每個被當作記憶單元的電晶體只有兩種電荷值,分別用來表示邏輯值0與邏輯值1。另外,多階細胞快閃記憶體中之每個被當作記憶單元的電晶體的儲存能力則被充分利用,係採用較高的電壓來驅動,以透過不同級別的電壓在一個電晶體中記錄兩組位元資訊(00、01、11、10);理論上,多階細胞快閃記憶體的記錄密度可以達到單階細胞快閃記憶體的記錄密度之兩倍,這對於曾經在發展過程中遇到瓶頸的NAND型快閃記憶體之相關產業而言,是非常好的消息。
相較於單階細胞快閃記憶體,由於多階細胞快閃記憶體之價格較便宜,並且在有限的空間裡可提供較大的容量,故多階細胞快閃記憶體很快地成為市面上之可攜式記憶裝置競相採用的主流。然而,多階細胞快閃記憶體的不穩定性所導致的問題也一一浮現。為了確保可攜式記憶裝置對快閃記憶體之存取控制能符合相關規範,快閃記憶體的控制器必須有錯誤管理機制(例如軟體錯誤管理機制)以妥善地管理發生各種錯誤的狀況。
依據相關技術,若要驗證上述之錯誤管理機制,往往必須進行燒機測試,例如利用主裝置(Host)不斷地對可攜式記憶裝置進行存取。然而,許多類型的錯誤都是隨機發生的,且由於這些錯誤發生的機率不高,故測試時間通常很長,可達數百小時之久;非常浪費時間與人力。因此,需要一種新穎的方法針對上述之錯誤管理機制來提升驗證效率。
因此本發明之目的之一在於提供一種針對一快閃記憶體(Flash Memory)的控制器之錯誤管理(Error Handling)機制來提升驗證效率之方法以及相關之記憶裝置及其控制器,以解決上述問題。
本發明之較佳實施例中提供一種針對一快閃記憶體的控制器之錯誤管理機制來提升驗證效率之方法,該方法包含有:提供一錯誤產生模組,用來產生錯誤;以及觸發該錯誤產生模組主動地產生至少一特定類型之錯誤,以增加對應於該特定類型之錯誤發生率。
本發明於提供上述方法之同時,亦對應地提供一種記憶裝置,其包含有:一快閃記憶體,該快閃記憶體包含複數個區塊;以及一控制器,用來存取(Access)該快閃記憶體以及管理該複數個區塊,並且另針對該控制器本身之錯誤管理機制來提升驗證效率,其中該控制器包含有一錯誤產生模組,用來產生錯誤;其中該控制器觸發該錯誤產生模組主動地產生至少一特定類型之錯誤,以增加對應於該特定類型之錯誤發生率。
本發明於提供上述方法之同時,亦對應地提供一種記憶裝置之控制器,該控制器係用來存取一快閃記憶體,該快閃記憶體包含複數個區塊,該控制器包含有:一唯讀記憶體(Read Only Memory,ROM),用來儲存一程式碼;一微處理器,用來執行該程式碼以控制對該快閃記憶體之存取以及管理該複數個區塊,並且另針對該控制器之錯誤管理機制來提升驗證效率;以及一錯誤產生模組,用來產生錯誤;其中透過該微處理器執行該程式碼之該控制器觸發該錯誤產生模組主動地產生至少一特定類型之錯誤,以增加對應於該特定類型之錯誤發生率。
請參考第1圖,第1圖為依據本發明一第一實施例之一種記憶裝置100的示意圖,其中本實施例之記憶裝置100尤其係為可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡)。記憶裝置100包含有:一快閃記憶體(Flash Memory)120;以及一控制器,用來存取快閃記憶體120,其中該控制器例如一記憶體控制器110。依據本實施例,記憶體控制器110包含一微處理器112、一唯讀記憶體(Read Only Memory,ROM)112M、一控制邏輯114、一緩衝記憶體116、一介面邏輯118、與一錯誤產生模組119。另外,控制邏輯114包含一錯誤更正碼(Error Correction Code,ECC)解碼器1141與一時間控制器,其中該時間控制器例如一快閃時間控制器(Flash Timing Controller)1142。此外,錯誤產生模組119包含一計時器1190、一錯誤產生器1191、與一修改單元1192。
於本實施例中,唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對快閃記憶體120之存取(Access)。於典型狀況下,快閃記憶體120包含複數個區塊(Block),而該控制器(例如:透過微處理器112執行程式碼112C之記憶體控制器110)對快閃記憶體120進行抹除資料之運作係以區塊為單位來進行抹除。另外,一區塊可記錄特定數量的頁(Page),其中該控制器對快閃記憶體120進行寫入資料之運作係以頁為單位來進行寫入。
實作上,透過微處理器112執行程式碼112C之記憶體控制器110可利用其本身內部之元件來進行諸多控制運作,例如:利用控制邏輯114來控制快閃記憶體120之存取運作(尤其是對至少一區塊或至少一頁之存取運作)、利用緩衝記憶體116進行所需之緩衝處理、以及利用介面邏輯118來與一主裝置(Host Device)溝通。
依據本實施例,除了能存取快閃記憶體120,該控制器(尤其是透過微處理器112執行程式碼112C之記憶體控制器110)還能妥善地管理該複數個區塊。另外,該控制器還可針對該控制器本身之錯誤管理(Error Handling)機制,尤其是針對微處理器112之軟體錯誤管理(Software Error Handling)機制,來提升驗證效率,其中,軟體錯誤管理機制可以軟體或軔體之形式儲存在記憶裝置100,例如:包含於程式碼112C。於本實施例中,錯誤產生器1191係用來產生錯誤,而該控制器觸發錯誤產生器1191主動地產生至少一特定類型之錯誤,以增加對應於該特定類型之錯誤發生率。於是,該控制器就可以針對該特定類型之錯誤,驗證該錯誤管理機制(尤其是該軟體錯誤管理機制)。相關細節可參考第2圖來進一步說明。
第2圖為依據本發明一實施例之一種針對一快閃記憶體的控制器之錯誤管理機制來提升驗證效率之方法910的流程圖。該方法可應用於第1圖所示之記憶裝置100,尤其是上述之控制器(例如:透過微處理器112執行程式碼112C之記憶體控制器110)。另外,該方法可藉由利用第1圖所示之記憶裝置100來實施,尤其是藉由利用上述之控制器來實施。該方法說明如下:於步驟912中,提供一錯誤產生模組,用來產生錯誤;例如:在記憶體控制器110中提供錯誤產生模組119,其中錯誤產生模組119(尤其是其內之錯誤產生器1191)係用來產生錯誤。
於步驟914中,上述之控制器(例如:透過微處理器112執行程式碼112C之記憶體控制器110)觸發錯誤產生模組119(尤其是其內之錯誤產生器1191)主動地產生至少一特定類型之錯誤,以增加對應於該特定類型之錯誤發生率。舉例來說,記憶體控制器110得觸發錯誤產生器1191,以利用錯誤產生器1191在實際上無任何存取錯誤的狀況下,迫使記憶體控制器110內任何元件回報任何類型之錯誤至微處理器112,尤其是迫使記憶體控制器110內之至少一元件回報該特定類型之錯誤至微處理器112。例如:該控制器可利用位於錯誤產生模組119之外的一特定元件隨機地觸發本步驟所觸發之運作;又例如:該控制器可利用該特定元件依據一預定排程觸發本步驟所觸發之運作。然而,這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之一變化例,錯誤產生器1191可進行自我觸發,以主動地產生該特定類型之錯誤。例如:該控制器可利用錯誤產生器1191隨機地觸發本步驟所觸發之運作;又例如:該控制器可利用錯誤產生器1191依據一預定排程觸發本步驟所觸發之運作。
於本實施例中,錯誤產生模組119利用計時器1190進行計時控制,並可利用錯誤產生器1191依據計時器1190的計時控制來產生和時間相關的錯誤或調整產生錯誤的時間點。另外,錯誤產生模組119可利用錯誤產生器1191來產生錯誤,並可利用修改單元1192依據錯誤產生器1191所產生之錯誤來改變快閃記憶體120與該控制器之間的訊號,以產生該特定類型之錯誤。例如:藉由利用修改單元1192,錯誤產生器1191將其本身所主動產生之錯誤導入快閃記憶體120與控制邏輯114之間的一個或多個資料傳輸路徑,尤其是修改該(些)資料傳輸路徑上的資料之一個或多個位元。實作上,修改單元1192可採用一種或數種邏輯閘的組合來實施。
依據本實施例,該控制器亦可利用錯誤產生器1191來改變該控制器內之至少一元件的至少一參數,以產生該特定類型之錯誤。例如:上述之至少一元件包含上述之時間控制器;此狀況下,錯誤產生器1191將其本身所主動產生之錯誤導入快閃時間控制器1142,尤其是修改快閃時間控制器1142的至少一參數,以產生該特定類型之錯誤。然而,這只是為了說明的目的而已,並非對本發明之限制。錯誤產生器1191亦得強迫快閃時間控制器1142回報錯誤或錯誤資訊至微處理器112。依據本實施例之一變化例,上述之至少一元件包含錯誤更正碼解碼器1141;此狀況下,錯誤產生器1191將其本身所主動產生之錯誤導入錯誤更正碼解碼器1141,尤其是修改錯誤更正碼解碼器1141的至少一參數,以產生該特定類型之錯誤。
另外,上述之至少一特定類型(例如一個或複數個特定類型)之錯誤包含有:錯誤更正碼錯誤;抹除錯誤;寫入(write/program)錯誤;及/或資料傳輸錯誤。舉例來說,錯誤產生器1191可透過修改單元1192來修改該(些)資料傳輸路徑上的資料之一個或多個位元,以產生錯誤更正碼錯誤及/或資料傳輸錯誤,例如原本資料傳輸路徑上的資料係“00000000”,而錯誤產生器1191係透過修改單元1192將其修改為“01010101”,如此一來,存入/或讀自快閃記憶體的120的資料就具有四個位元的錯誤;於是,錯誤更正碼錯誤及/或資料傳輸錯誤之錯誤發生率就提高了且可被控制。另外,錯誤產生器1191亦可修改快閃時間控制器1142的至少一參數,以產生抹除錯誤及/或寫入錯誤;於是,抹除錯誤及/或寫入錯誤之錯誤發生率就提高了。
實作上,在記憶體控制器110讀取快閃記憶體120時,錯誤更正碼解碼器1141會對所讀取的資料進行錯誤更正碼檢查,以確認所讀取的資料是否為正確的資料。進行錯誤更正碼檢查可能會有數種結果(狀態),例如:讀取的資料正確、讀取的資料具有可更正(correctable)的錯誤、與讀取的資料具有不可更正(uncorrectable)的錯誤。錯誤更正碼解碼器1141會將進行錯誤更正碼檢查的結果回報給微處理器112,尤其是將「錯誤更正碼狀態」回報給微處理器112。錯誤產生器1191亦得強迫錯誤更正碼解碼器1141回報任何錯誤更正碼狀態(包含:可更正的錯誤、不可更正的錯誤)至微處理器112。
當「錯誤更正碼狀態」指出有錯誤(例如:可更正的錯誤或是不可更正的錯誤)發生時,微處理器112就針對不同類型的錯誤進行不同的處理。例如:當讀取過程中發生不可更正的錯誤時,微處理器112會回覆該主裝置(未顯示於第1圖中),以告知所欲讀取的資料已損壞。
另外,當該主裝置透過記憶體控制器110對快閃記憶體120進行存取時,資料係暫存在緩衝記憶體116中,其中快閃時間控制器1142會控制傳輸資料的時序(Timing)。當記憶體控制器110欲將一筆資料自緩衝記憶體116寫入快閃記憶體120時,快閃時間控制器1142會控制且查知寫入這筆資料的時間。一旦寫入的時間過長而且超過某些規範(例如:SD卡的規範)所定義的時間限制時,則快閃時間控制器1142就回報微處理器112,以告知寫入該筆資料時發生寫入錯誤(program error);於是,微處理器112就對此錯誤進行處理,例如命令控制邏輯114再寫一次。錯誤產生器1191得控制快閃時間控制器1142,使快閃時間控制器1142發生上述之寫入錯誤、或任何可能之錯誤,以使快閃時間控制器1142將該些錯誤回報給微處理器112。錯誤產生器1191亦得強迫快閃時間控制器1142回報任何錯誤或錯誤資訊至微處理器112。
第3圖為第2圖所示之方法於一實施例中所涉及之錯誤發生率的示意圖。如第3圖之左半部所示,在採用第2圖所示之方法之前的幾個錯誤位元數(Error Bit Count)4、3、2、1、與0所對應之錯誤發生率分別為1%、5%、10%、15%、與68%。如第3圖之右半部所示,於本實施例中,在主動產生的錯誤導致額外增加一個錯誤位元的狀況下,錯誤發生率的資料就往上移一列;於是,錯誤位元數5、4、3、2、1、與0所對應之錯誤發生率分別為1%、5%、10%、15%、68%、與0%。然而,這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之一變化例,在主動產生的錯誤導致額外增加X個錯誤位元的狀況下,錯誤發生率的資料就往上移X列,其中X為正整數(例如在本變化例中X尤其是大於1之正整數);於是,錯誤位元數(X+4)、(X+3)、(X+2)、(X+1)、與X所對應之錯誤發生率分別為1%、5%、10%、15%、與68%,其中凡是落入區間[0,(X-1)]當中之錯誤位元數所對應之錯誤發生率均為0%。
依據本實施例之數個變化例,該控制器可於複數個預定值當中選擇其一作為X值。例如:該複數個預定值係內建於錯誤產生器1191,且由錯誤產生器1191自行選擇其一作為X值;又例如:該複數個預定值係內建於錯誤產生器1191,以供微處理器112進行選擇;又例如:該複數個預定值係由程式碼112C所提供,而微處理器112自行選擇其一作為X值之後,據以控制錯誤產生器1191主動地產生錯誤,導致額外增加X個錯誤位元。如此一來,即可快速且輕易地誘發多個位元錯誤,藉此檢驗該控制器處理多個位元錯誤之能力。
第4圖為依據本發明一第二實施例之一種記憶裝置200的示意圖,其中本實施例係為第一實施例之變化例。如第4圖所示,上述之錯誤產生器1191被代換為可編程(Programmable)錯誤產生器219,且本實施例不需要設置計時器1190與修改單元1192;如此,本實施例之錯誤產生模組包含可編程錯誤產生器219。另外,上述之控制邏輯114被代換為控制邏輯214,其包含一驗證與錯誤回報單元(Verification and Error Report Unit)2141。因應上述之架構上的改變,該控制器於本實施例中改稱為記憶體控制器210。
請注意,記憶裝置200尤其適合應用於前述之某些變化例,例如:該控制器可於該複數個預定值當中選擇其一作為X值之數個變化例。藉由利用可編程錯誤產生器219之可編程特性,不論是針對將該複數個預定值內建於可編程錯誤產生器219以供其自行選擇或供微處理器112進行選擇的架構,或是針對僅將微處理器112自行選定之X值傳送給可編程錯誤產生器219的架構,本發明均可實施無礙,且具備相當大的彈性。
相較於習知技術,由於本發明之控制器(例如記憶體控制器110或210)可利用設置於其內之錯誤產生器(例如錯誤產生器1191或219)主動地產生某一或某些特定類型之錯誤,以增加對應於該(些)特定類型之錯誤發生率,亦可利用錯誤產生器迫使控制器之任何元件回報錯誤。故本發明能提升產品出廠前的驗證效率;針對錯誤管理機制,例如軟體錯誤管理機制,本發明尤其能顯著地提升驗證效率。本發明具體成效例如:將驗證時間從數百個小時縮短到兩、三個小時。因此,本發明可大幅地節省時間與人力。另外,由於本發明之控制器可利用設置於其內之錯誤產生器主動地產生某一或某些特定類型之錯誤,故本發明可增加測試的完整性。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100,200...記憶裝置
110,210...記憶體控制器
112...微處理器
112C...程式碼
112M...唯讀記憶體
114,214...控制邏輯
1141...錯誤更正碼解碼器
1142...快閃時間控制器
116...緩衝記憶體
118...介面邏輯
119...錯誤產生模組
1190...計時器
1191...錯誤產生器
1192...修改單元
120...快閃記憶體
2141...驗證與錯誤回報單元
219...可編程錯誤產生器
910...針對一快閃記憶體的控制器之錯誤管理機制來提升驗證效率之方法
912,914...步驟
第1圖為依據本發明一第一實施例之一種記憶裝置的示意圖。
第2圖為依據本發明一實施例之一種針對一快閃記憶體(Flash Memory)的控制器之錯誤管理(Error Handling)機制來提升驗證效率之方法的流程圖。
第3圖為第2圖所示之方法於一實施例中所涉及之錯誤發生率的示意圖。
第4圖為依據本發明一第二實施例之一種記憶裝置的示意圖。
910...針對一快閃記憶體的控制器之錯誤管理機制來提升驗證效率之方法
912,914...步驟
Claims (18)
- 一種針對一快閃記憶體(Flash Memory)的控制器之錯誤管理(Error Handling)機制來提升驗證效率之方法,該方法包含有:提供一錯誤產生模組,用來產生錯誤;觸發該錯誤產生模組主動地產生至少一特定類型之錯誤,以增加對應於該特定類型之錯誤發生率;以及利用位於該錯誤產生模組之外的一特定元件隨機地觸發該觸發步驟所觸發之運作;或利用該特定元件依據一預定排程觸發該觸發步驟所觸發之運作。
- 如申請專利範圍第1項所述之方法,其中該錯誤產生模組包含一計時器與一錯誤產生器;以及該方法另包含有:利用該計時器進行計時控制;以及利用該錯誤產生器依據該計時器的計時控制來產生和時間相關的錯誤或調整產生錯誤的時間點。
- 如申請專利範圍第1項所述之方法,其中該錯誤產生模組包含一錯誤產生器與一修改單元;以及該方法另包含有:利用該錯誤產生器來產生錯誤;以及利用該修改單元依據該錯誤產生器所產生之錯誤來改變該快閃記憶體與該控制器之間的訊號,以產生該特定類型之錯誤。
- 如申請專利範圍第1項所述之方法,其中該錯誤產生模組包含一錯誤產生器;以及該方法另包含有:在該錯誤產生器實際上無任何存取錯誤的情形下,利用該錯誤產生器迫使該控制器內之至少一元件回報該特定類型之錯誤。
- 如申請專利範圍第1項所述之方法,其中該錯誤產生模組包含一錯誤產生器;以及該方法另包含有:利用該錯誤產生器來改變該控制器內之至少一元件的至少一參數,以產生該特定類型之錯誤。
- 如申請專利範圍第5項所述之方法,其中該至少一元件包含一時間控制器;一驗證與錯誤回報單元(Verification and Error Report Unit);及/或一錯誤更正碼(Error Correction Code,ECC)解碼器。
- 一種記憶裝置,其包含有:一快閃記憶體(Flash Memory),該快閃記憶體包含複數個區塊;以及一控制器,用來存取(Access)該快閃記憶體以及管理該複數個區塊,並且另針對該控制器本身之錯誤管理(Error Handling)機制來提升驗證效率,其中該控制器包含有:一錯誤產生模組,用來產生錯誤; 其中該控制器觸發該錯誤產生模組主動地產生至少一特定類型之錯誤,以增加對應於該特定類型之錯誤發生率;此外,該控制器利用位於該錯誤產生模組之外的一特定元件隨機地觸發該觸發步驟所觸發之運作、或利用該特定元件依據一預定排程觸發該觸發步驟所觸發之運作。
- 如申請專利範圍第7項所述之記憶裝置,其中該錯誤產生模組包含一計時器與一錯誤產生器;該錯誤產生模組利用該計時器進行計時控制,並利用該錯誤產生器依據該計時器的計時控制來產生和時間相關的錯誤或調整產生錯誤的時間點。
- 如申請專利範圍第7項所述之記憶裝置,其中該錯誤產生模組包含一錯誤產生器與一修改單元;以及該錯誤產生模組利用該錯誤產生器來產生錯誤,並利用該修改單元依據該錯誤產生器所產生之錯誤來改變該快閃記憶體與該控制器之間的訊號,以產生該特定類型之錯誤。
- 如申請專利範圍第7項所述之記憶裝置,其中該錯誤產生模組包含一錯誤產生器;以及在該錯誤產生器實際上無任何存取錯誤的情形下,該控制器利用該錯誤產生器迫使該控制器內之至少一元件回報該特定類型之錯誤。
- 如申請專利範圍第7項所述之記憶裝置,其中該錯誤產生模組 包含一錯誤產生器;以及該控制器利用該錯誤產生器來改變該控制器內之至少一元件的至少一參數,以產生該特定類型之錯誤。
- 如申請專利範圍第11項所述之記憶裝置,其中該至少一元件包含一時間控制器;一驗證與錯誤回報單元(Verification and Error Report Unit);及/或一錯誤更正碼(Error Correction Code,ECC)解碼器。
- 一種記憶裝置之控制器,該控制器係用來存取(Access)一快閃記憶體(Flash Memory),該快閃記憶體包含複數個區塊,該控制器包含有:一唯讀記憶體(Read Only Memory,ROM),用來儲存一程式碼;一微處理器,用來執行該程式碼以控制對該快閃記憶體之存取以及管理該複數個區塊,並且另針對該控制器之錯誤管理(Error Handling)機制來提升驗證效率;以及一錯誤產生模組,用來產生錯誤;其中透過該微處理器執行該程式碼之該控制器觸發該錯誤產生模組主動地產生至少一特定類型之錯誤,以增加對應於該特定類型之錯誤發生率;其中透過該微處理器執行該程式碼之該控制器利用位於該錯誤產生模組之外的一特定元件隨機地觸發該觸發步驟所觸發 之運作、或利用該特定元件依據一預定排程觸發該觸發步驟所觸發之運作。
- 如申請專利範圍第13項所述之控制器,其中該錯誤產生模組包含一計時器與一錯誤產生器;該錯誤產生模組利用該計時器進行計時控制,並利用該錯誤產生器依據該計時器的計時控制來產生和時間相關的錯誤或調整產生錯誤的時間點。
- 如申請專利範圍第13項所述之控制器,其中該錯誤產生模組包含一錯誤產生器與一修改單元;以及該錯誤產生模組利用該錯誤產生器來產生錯誤,並利用該修改單元依據該錯誤產生器所產生之錯誤來改變該快閃記憶體與該控制器之間的訊號,以產生該特定類型之錯誤。
- 如申請專利範圍第13項所述之控制器,其中該錯誤產生模組包含一錯誤產生器;以及在該錯誤產生器實際上無任何存取錯誤的情形下,透過該微處理器執行該程式碼之該控制器利用該錯誤產生器迫使該控制器內之至少一元件回報該特定類型之錯誤。
- 如申請專利範圍第13項所述之控制器,其中該錯誤產生模組包含一錯誤產生器;以及透過該微處理器執行該程式碼之該控制器利用該錯誤產生器來改變該控制器內之至少一元件的至 少一參數,以產生該特定類型之錯誤。
- 如申請專利範圍第17項所述之控制器,其中該至少一元件包含:一時間控制器;一驗證與錯誤回報單元(Verification and Error Report Unit);及/或一錯誤更正碼(Error Correction Code,ECC)解碼器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098122406A TWI442406B (zh) | 2009-07-02 | 2009-07-02 | 針對一快閃記憶體的控制器之錯誤管理機制來提升驗證效率之方法以及相關之記憶裝置及其控制器 |
US12/619,615 US8392766B2 (en) | 2009-07-02 | 2009-11-16 | Operational method of a controller of a flash memory, and associated memory device and controller thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098122406A TWI442406B (zh) | 2009-07-02 | 2009-07-02 | 針對一快閃記憶體的控制器之錯誤管理機制來提升驗證效率之方法以及相關之記憶裝置及其控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201103034A TW201103034A (en) | 2011-01-16 |
TWI442406B true TWI442406B (zh) | 2014-06-21 |
Family
ID=43413263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098122406A TWI442406B (zh) | 2009-07-02 | 2009-07-02 | 針對一快閃記憶體的控制器之錯誤管理機制來提升驗證效率之方法以及相關之記憶裝置及其控制器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8392766B2 (zh) |
TW (1) | TWI442406B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI489474B (zh) * | 2011-10-25 | 2015-06-21 | Silicon Motion Inc | 內嵌閃存卡燒機方法以及測試板、以及內嵌閃存卡 |
KR101255265B1 (ko) * | 2012-08-13 | 2013-04-15 | 주식회사 유니테스트 | 솔리드 스테이트 드라이브 테스터에서 에러 발생장치 |
EP2964927B1 (en) * | 2013-03-04 | 2019-04-10 | United Technologies Corporation | Gas turbine engine lubrication system |
US10452505B2 (en) * | 2017-12-20 | 2019-10-22 | Advanced Micro Devices, Inc. | Error injection for assessment of error detection and correction techniques using error injection logic and non-volatile memory |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182248B1 (en) * | 1998-04-07 | 2001-01-30 | International Business Machines Corporation | Method and tool for computer bus fault isolation and recovery design verification |
CN1164065C (zh) | 1999-11-04 | 2004-08-25 | 中兴通讯股份有限公司 | 针对嵌入式***的通用协议测试方法 |
US7031902B1 (en) * | 2002-02-28 | 2006-04-18 | Western Digital Technologies, Inc. | Presilicon disk model for design, development and validation |
US7020803B2 (en) * | 2002-03-11 | 2006-03-28 | Hewlett-Packard Development Company, Lp. | System and methods for fault path testing through automated error injection |
US20040187051A1 (en) * | 2003-03-20 | 2004-09-23 | International Business Machines Corporation | Memory error generating method, apparatus and computer program product |
US7401269B2 (en) * | 2003-05-10 | 2008-07-15 | Hewlett-Packard Development Company, L.P. | Systems and methods for scripting data errors to facilitate verification of error detection or correction code functionality |
US7594135B2 (en) * | 2003-12-31 | 2009-09-22 | Sandisk Corporation | Flash memory system startup operation |
US7536605B2 (en) * | 2005-05-25 | 2009-05-19 | Alcatel-Lucent Usa Inc. | Injection of software faults into an operational system |
CN2874629Y (zh) | 2005-10-28 | 2007-02-28 | 上海环达计算机科技有限公司 | 计算机测试的错误***模拟装置 |
EP2100308B1 (de) * | 2006-12-07 | 2011-07-06 | Continental Teves AG & Co. oHG | Verfahren und halbleiterspeicher mit einer einrichtung zur erkennung von adressierungsfehlern |
CN100530117C (zh) | 2006-12-29 | 2009-08-19 | 佛山市顺德区顺达电脑厂有限公司 | 内存错误仿真装置及其方法 |
US7827445B2 (en) * | 2007-12-19 | 2010-11-02 | International Business Machines Corporation | Fault injection in dynamic random access memory modules for performing built-in self-tests |
US8627163B2 (en) * | 2008-03-25 | 2014-01-07 | Micron Technology, Inc. | Error-correction forced mode with M-sequence |
-
2009
- 2009-07-02 TW TW098122406A patent/TWI442406B/zh active
- 2009-11-16 US US12/619,615 patent/US8392766B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8392766B2 (en) | 2013-03-05 |
TW201103034A (en) | 2011-01-16 |
US20110004795A1 (en) | 2011-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10521292B2 (en) | Error correction code unit, self-test method and associated controller applied to flash memory device for generating soft information | |
TWI566253B (zh) | 用來管理一記憶裝置之方法以及記憶裝置與控制器 | |
TWI446350B (zh) | 用來減少無法更正的錯誤之方法以及記憶裝置及其控制器 | |
US8719491B2 (en) | Encoding flash memory data with a randomizer using different seeds for different sectors | |
TWI435328B (zh) | 針對一快閃記憶體的控制器所存取之資料來進行資料型樣管理之方法以及相關之記憶裝置及其控制器 | |
TWI389122B (zh) | 用來存取一快閃記憶體之方法以及相關之記憶裝置及其控制器 | |
US20130013853A1 (en) | Command executing method, memory controller and memory storage apparatus | |
TW201351425A (zh) | 用於解碼取決於干擾條件下之資料之系統與方法 | |
KR102012298B1 (ko) | 비휘발성 메모리 장치 및 그 구동 방법 | |
TWI545582B (zh) | 存取快閃記憶體中儲存單元的方法以及使用該方法的裝置 | |
TWI741128B (zh) | 記憶體系統及用於操作半導體記憶體裝置的方法 | |
CN110942795B (zh) | 存储器***、其操作方法以及非易失性存储器装置 | |
TWI656442B (zh) | 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器 | |
TWI690928B (zh) | 改善快閃記憶體之讀取重試的方法、控制器以及相關儲存裝置 | |
TWI486765B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
TWI437569B (zh) | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 | |
TWI442406B (zh) | 針對一快閃記憶體的控制器之錯誤管理機制來提升驗證效率之方法以及相關之記憶裝置及其控制器 | |
KR20160110774A (ko) | 메모리 장치 및 이를 포함하는 시스템 | |
US20240256454A1 (en) | Tokens to indicate completion of data storage | |
US20120159280A1 (en) | Method for controlling nonvolatile memory apparatus | |
CN115470052B (zh) | 存储芯片的坏块检测方法、检测装置及存储介质 | |
JP4582078B2 (ja) | メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
CN102033791B (zh) | 提升闪存的控制器的验证效率的方法、记忆装置及控制器 | |
TWI718889B (zh) | 改善快閃記憶體之讀取重試的方法、控制器以及相關儲存裝置 | |
Yoon et al. | Efficient and reliable NAND flash channel for high-speed solid state drives |