TWI779610B - 偵測快閃記憶體模組的方法及相關的系統晶片 - Google Patents
偵測快閃記憶體模組的方法及相關的系統晶片 Download PDFInfo
- Publication number
- TWI779610B TWI779610B TW110117625A TW110117625A TWI779610B TW I779610 B TWI779610 B TW I779610B TW 110117625 A TW110117625 A TW 110117625A TW 110117625 A TW110117625 A TW 110117625A TW I779610 B TWI779610 B TW I779610B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- flash memory
- address
- memory module
- row address
- Prior art date
Links
Images
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/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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/1048—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 using arrangements adapted for a specific error detection or correction feature
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
Abstract
本發明揭露了一種偵測快閃記憶體模組的方法及相關的系統晶片,其透過讀取快閃記憶體模組中具有特定資料格式的資料,並再透過解碼與檢核等方式來判斷快閃記憶體模組的多個特性參數及資料頁的大小。因此,系統晶片可以不需要設置一次性寫入記憶體或是帶值腳位,以降低系統晶片的製造成本。
Description
本發明係有關於快閃記憶體。
由於具有較快的存取速度以及較低的製造成本,快閃記憶體(flash memory)逐漸成為嵌入式系統的主流儲存裝置,但由於快閃記憶體仍處於蓬勃發展的階段,故不同廠商或不同型號的快閃記憶體可能會具有不同的特性參數,例如資料頁大小(page size)、備用區域大小(spare size)、位址週期(address cycle)、錯誤更正碼(Error Correction code,ECC)需求...等等都可能有所差異。這些差異除讓不同的快閃記憶體有不同的存取方式外,也需要不同的資料格式,因此,為了要讀取儲存於快閃記憶體上的資料,系統晶片需透過一次性寫入(One Time Programmable,OTP)記憶體或是一帶值腳位(strap pin)的方式來取得正確的特性參數及資料格式,才能正確地讀取儲存於快閃記憶體上的資料。
具體來說,在一般的快閃記憶體與相關的系統晶片的設置中,工程師首先需要根據所使用之快閃記憶體的特性參數來正確設置一次性寫入記憶體或是帶值腳位,接著再根據所使用之快閃記憶體的ECC需求及備用區域大小,將資料封裝成適當格式再預先寫入至快閃記憶體中,而開機後系統晶片會根據
帶值腳位所帶入的資訊來操作快閃記憶體控制器以讀取快閃記憶體上的資料。然而,一旦更換不同廠商或是不同型號的快閃記憶體,帶值腳位及資料格式也須跟著調整才能讓系統晶片可以正確地讀取快閃記憶體上的資料,因而增加了快閃記憶體與相關系統晶片在設置上的複雜度。
因此,本發明的目的之一在於提出一種快閃記憶體之特性參數的偵測方法,其可以在不需要透過一次性寫入記憶體或是帶值腳位的情形下,透過讀取快閃記憶體並分析其內容來取得快閃記憶體的特性參數,以解決先前技術中所述的問題。
在本發明的一個實施例中,揭露了一種偵測一快閃記憶體模組的方法,其包含有以下步驟:(a)自多個特性參數組合中選擇其一來設定一快閃記憶體控制器;(b)使用該快閃記憶體控制器以根據一列位址與一行位址自該快閃記憶體模組讀取一P位元組資料,其中該P位元組資料包含了該快閃記憶體模組中一區塊之一資料頁的一資料區間、一標籤區間與一錯誤更正碼區間的資料;(c)對該P位元組資料進行解碼,若是解碼失敗,調整該列位址並回到步驟(b)以自該快閃記憶體模組讀取下一筆P位元組資料;(d)若是對該P位元組資料進行解碼成功,根據該標籤區間內的一檢核碼來檢核步驟(c)所解碼出的資料是否正確,若是檢核正確,調整該行位址並回到步驟(b)以自該快閃記憶體模組讀取下一筆P位元組資料;以及(e)若是步驟(d)中的檢核失敗,則根據目前所使用的特性參數組合以及目前的該行位址,以決定該出快閃記憶體模組的多個特性參數。
在本發明的另一個實施例中,揭露了一種系統晶片,其包含有一中
央處理器,用以執行一程式碼以進行以下操作:(a)自多個特性參數組合中選擇其一來設定一快閃記憶體控制器;(b)使用該快閃記憶體控制器以根據一列位址與一行位址自該快閃記憶體模組讀取一P位元組資料,其中該P位元組資料包含了該快閃記憶體模組中一區塊之一資料頁的一資料區間、一標籤區間與一錯誤更正碼區間的資料;(c)對該P位元組資料進行解碼,若是解碼失敗,調整該列位址並回到步驟(b)以自該快閃記憶體模組讀取下一筆P位元組資料;(d)若是對該P位元組資料進行解碼成功,根據該標籤區間內的一檢核碼來檢核步驟(c)所解碼出的資料是否正確,若是檢核正確,調整該行位址並回到步驟(b)以自該快閃記憶體模組讀取下一筆P位元組資料;以及(e)若是步驟(d)中的檢核失敗,則根據目前所使用的特性參數組合以及目前的該行位址,以決定該出快閃記憶體模組的多個特性參數。
110:系統晶片
112:中央處理器
114:快閃記憶體控制器
116:唯讀記憶體
118:程式碼
120:快閃記憶體模組
210_1,210_2:快閃記憶體晶片
220_1~220_K:區塊
P1~PN:資料頁
400~430:步驟
第1圖為根據本發明一實施例之系統晶片以及一快閃記憶體模組的示意圖。
第2圖為快閃記憶體模組之架構的示意圖。
第3圖為寫入至快閃記憶體模組之資料格式的示意圖。
第4圖為根據本發明一實施例之決定快閃記憶體模組之特性參數的流程圖。
第1圖為根據本發明一實施例之系統晶片(System on Chip,SoC)110以及一快閃記憶體模組120的示意圖。如第1圖所示,系統晶片110包含了一中央處理器112、一快閃記憶體控制器114以及一唯讀記憶體116,其中唯讀記憶體116包含了一程式碼118。在本實施例中,系統晶片110與快閃記憶體模組120可以設
置於任何電子裝置,例如設置於網路交換器(switch)等網路裝置中。
第2圖為快閃記憶體模組120的示意圖。如第2圖所示,快閃記憶體模組120包含了至少一個快閃記憶體晶片(在本實施例中繪示了快閃記憶體晶片210_1、210_2),而每一個快閃記憶體晶片包含了多個區塊(block)220_1~220_K,其中每一個區塊為一個最小抹除單位,亦即區塊內的資料需要一起被抹除而無法僅抹除一部分的資料。此外,每一個區塊包含了多個資料頁(page)P1~PN,其中每一個資料頁是一個最小寫入單位。
在本實施例中,快閃記憶體模組120中會預先寫入一些資料,以供系統晶片110在上電後讀取這些資料以執行相關的操作。舉例來說,在快閃記憶體模組120尚未與系統晶片110連結之前,快閃記憶體模組120可以在工廠預先將系統晶片110所需的資料寫入至其中,之後當系統晶片110與快閃記憶體模組120被設置在一電子裝置時,系統晶片110便可以讀取快閃記憶體模組120以執行相關操作。然而,如先前技術中所述,由於快閃記憶體模組120可能會因為不同廠商或不同型號而可能會具有不同的特性參數,例如資料頁大小、備用區域大小、位址週期、錯誤更正碼需求...等等都可能有所差異,因此,先前技術會需要在系統晶片設置需透過一次性寫入記憶體或是一帶值腳位來取得正確的特性參數及資料格式,以供正確地設定快閃記憶體控制器114,但如此一來便會增加系統晶片的設計複雜度。為了解決此一問題,本實施例的系統晶片110不需要上述的一次性寫入記憶體或是帶值腳位,而是透過在程式碼118中設計一種可以主動偵測快閃記憶體模組120之特性參數的演算法,其可以在系統晶片110第一次上電時準確且快速地偵測出快閃記憶體模組120的至少一部份特性參數,以供設定快閃記憶體控制器114來進行後續存取快閃記憶體模組120的相關操作。
具體來說,快閃記憶體模組120在工廠進行資料預先寫入時可以使用一固定的資料格式來進行寫入。參考第3圖所示,需要寫入至快閃記憶體模組120的資料可以被劃分為多個資料區間,其中每一個資料區間的大小為D位元組;針對每一組資料區間,加入長度為T位元組的標籤區間,其中標籤區間的內容可以包含所對應之資料區間的序號以及相關的檢核碼,而檢核碼可以是所對應資料區間的一循環冗餘校驗(Cyclic Redundancy Check,CRC)碼。此外,針對每一組資料區間及接續的標籤區間,加入長度為E位元組的錯誤更正碼(Error Correction Code,ECC)區間,其用來對資料區間及標籤區間內的資料進行錯誤更正。在一實施例中,由於不同廠商或是不同型號的快閃記憶體模組120的資料頁大小通常具有倍數關係,因此,假設不同廠商或是不同型號的快閃記憶體模組120的資料頁大小為512位元組、1024位元組、2048位元組,則在設計上述資料區間、標籤區間以及ECC區間時將其資料量大小的總和設計為不同廠商或是不同型號的快閃記憶體模組120的資料頁大小的最大公因數P,亦即P=D+T+E,但本發明並不以此為限。在一實施例中,P可以是512位元組。
接著,當系統晶片110與快閃記憶體模組120被設置在一電子裝置,且該電子裝置開機時,中央處理器112自唯讀記憶體116中讀取程式碼118,並執行程式碼118以進行第4圖所示之操作,以偵測出快閃記憶體模組120的特性參數。在以下的說明中,係假設不同廠商或是不同型號之快閃記憶體模組120的每一個區塊所包含的資料頁數量具有最大公因數Pnum、快閃記憶體模組120所容許之壞區塊(bad block)之數量所對應的參考列數量Rmax,部分待測特性參數集合為R,其中R包含了多個子集合r1、r2、...,且每一個子集合為一組特性參數組合,但該組特性參數組合中不包含資料頁的大小。參考第4圖的流程,在步驟
400,流程開始,且中央處理器112開始執行程式碼118。在步驟402,中央處理器112判斷特性參數集合R是否仍包含尚未測試過的子集合,若是,流程進入步驟404;若否,流程進入步驟430並判斷系統晶片110不支援快閃記憶體模組120,並結束流程。在步驟404中,中央處理器112自特性參數集合R中選取尚未測試過的子集合r,並使用子集合r中的特性參數來設定快閃記憶體控制器114。在步驟408,快閃記憶體控制器114選擇一組記憶體位址R_addr與C_addr,其中R_addr為代表資料頁的列位址(row address),不同列位址即表示了不同的資料頁,而C_addr則為行位址(column address)。在一開始,列位址R_addr與行位址C_addr都為0,亦即快閃記憶體控制器114選擇快閃記憶體模組120中第一個區塊的第一個資料頁的起始位址。
在步驟410,中央處理器112判斷列位址R_addr是否小於參考列數量Rmax,若是,流程進入步驟412;若否,流程進入步驟402。
在步驟412中,快閃記憶體控制器114自快閃記憶體模組120中具有列位址R_addr與行位址C_addr開始讀取P位元組的資料,其中所讀取之P位元組的資料包含了第3圖所示的資料區間、標籤區間與ECC區間。在步驟414中,中央處理器112或是快閃記憶體控制器114對資料區間、標籤區間與ECC區間進行解碼操作,亦即使用ECC區間來對資料區間與標籤區間的內容進行錯誤更正。在步驟416,中央處理器112快閃記憶體控制器114判斷解碼操作是否成功,若是,流程進入步驟418;若否,流程進入步驟426。其中上述解碼失敗的可能原因可能是區塊為壞區塊、所讀取的資料遇到了某種邊界(例如,資料頁的尾端)、或是目前用來設定快閃記憶體控制器114的子集合r中的特性參數並不適合快閃記憶體模組120。
在步驟418中,中央處理器112根據標籤區間內的檢核碼來判斷步驟414所解碼出的資料是否正確,例如將步驟414所解碼出的資料進行循環冗餘校驗運算以產生一計算結果,並在步驟420判斷該計算結果是否與標籤區間內的檢核碼一致以判斷檢核是否成功,若是,流程進入步驟422;若否,流程進入步驟426。
在步驟422,中央處理器112將行位址C_addr加上P位元組的位址偏移量,且流程回到步驟412以自快閃記憶體模組120中具有列位址R_addr與行位址(C_addr+P)開始讀取P位元組的資料,亦即讀取如第3圖所示之第二筆資料區間、標籤區間與ECC區間。
在步驟424,中央處理器112判斷目前所讀取的區塊有可能是壞區塊,亦即其中的部分資料已經毀損,因此,為了避免浪費太多時間在讀取壞區塊內容,快閃記憶體控制器114將列位址R_addr加上Pnum,並將行位址C_addr設為0,且流程回到步驟408,亦即快閃記憶體控制器114自快閃記憶體模組120中具有列位址(R_addr+Pnum)與行位址C_addr開始讀取P位元組的資料。
在步驟426,快閃記憶體控制器114判斷行位址C_addr是否不等於0,若是,流程進入步驟428;若否,則由於在一開始讀取資料頁的內容便是錯誤的,則可以判斷判斷目前所讀取的區塊有可能是壞區塊,而流程進入步驟424。在步驟428中,由於行位址C_addr不等於0,故則代表著所讀取的資料可能遇到了某種邊界,例如可能是資料頁的尾端,其主要理由是之前所讀取的P位元組都可以透過標籤區間內的檢核碼來成功檢核資料區間的內容,而目前卻無法透過標籤
區間內的檢核碼來成功檢核資料區間的內容,因此可以判斷目前的行位址C_addr即為資料頁的大小,而此時用來設定快閃記憶體控制器114的子集合r中的特性參數可適用於快閃記憶體模組120。
如上所述,在第4圖所示的流程中,透過採用不同的子集合r再加上相關的資料頁大小判斷機制,可以在不需要一次性寫入記憶體或是帶值腳位的情形下,在系統晶片110第一次上電時準確且快速地偵測出快閃記憶體模組120的至少一部份特性參數,以降低系統晶片110在設計與製造上的成本。
在一實施例中,第4圖的流程僅需要在系統晶片110第一次上電時執行,而在決定出快閃記憶體模組120的特性參數之後,快閃記憶體控制器114便可以使用這些特性參數來進行設定,以供後續存取快閃記憶體模組120。
需注意的是,第4圖所示之Pnum、Rmax的數值僅是作為範例說明,而非是本發明的限制。具體來說,步驟424中使用Pnum來調整列位址R_addr的目的是為了避免快閃記憶體控制器114多次讀取壞區塊中的內容,而步驟410中使用Rmax的目的是避免快閃記憶體控制器114持續使用不適合之子集合的特性參數來讀取快閃記憶體模組120,因此,由於Pnum、Rmax是為了加速演算法效能之用,故在設計上可以由設計者來設定一個任意適合的數值。
簡要歸納第4圖中所述之偵測快閃記憶體模組120的方法,其可依序包含以下步驟:(a)自多個特性參數組合中選擇其一來設定一快閃記憶體控制器;(b)使用該快閃記憶體控制器以根據一列位址與一行位址自該快閃記憶體模組讀取一P位元組資料,其中該P位元組資料包含了該快閃記憶體模組中一區塊
之一資料頁的一資料區間、一標籤區間與一錯誤更正碼區間的資料;(c)對該P位元組資料進行解碼,若是解碼失敗,調整該列位址並回到步驟(b)以自該快閃記憶體模組讀取下一筆P位元組資料;(d)若是對該P位元組資料進行解碼成功,根據該標籤區間內的一檢核碼來檢核步驟(c)所解碼出的資料是否正確,若是檢核正確,調整該行位址並回到步驟(b)以自該快閃記憶體模組讀取下一筆P位元組資料;以及(e)若是步驟(d)中的檢核失敗,判斷目前的該行位址是否為該資料頁的起始位址;若是該行位址是該資料頁的起始位址,調整該列位址並回到步驟(b)以自該快閃記憶體模組讀取下一筆P位元組資料;以及若是該行位址不是該資料頁的起始位址,則判斷目前所使用的特性參數組合即是該快閃記憶體模組的多個特性參數,且判斷目前的該行位址即為該資料頁的大小。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
400~430:步驟
Claims (10)
- 一種偵測一快閃記憶體模組的方法,包含有:(a)自多個特性參數組合中選擇其一來設定一快閃記憶體控制器;(b)使用該快閃記憶體控制器以根據一列位址與一行位址自該快閃記憶體模組讀取一P位元組資料,其中該P位元組資料包含了該快閃記憶體模組中一區塊之一資料頁的一資料區間、一標籤區間與一錯誤更正碼區間的資料;(c)對該P位元組資料進行解碼,若是解碼失敗,調整該列位址並回到步驟(b)以自該快閃記憶體模組讀取下一筆P位元組資料;(d)若是對該P位元組資料進行解碼成功,根據該標籤區間內的一檢核碼來檢核步驟(c)所解碼出的資料是否正確,若是檢核正確,調整該行位址並回到步驟(b)以自該快閃記憶體模組讀取下一筆P位元組資料;以及(e)若是步驟(d)中的檢核失敗,則根據目前所使用的特性參數組合以及目前的該行位址,以決定該出快閃記憶體模組的多個特性參數。
- 如申請專利範圍第1項所述之方法,其中該資料頁的大小為P位元組的正整數倍。
- 如申請專利範圍第1項所述之方法,其中該標籤區間包含了該資料區間之資料的一循環冗餘校驗碼,且該錯誤更正碼區間包含了用來對該資料區間與該標籤區間內的資料進行解碼操作的一錯誤更正碼。
- 如申請專利範圍第1項所述之方法,其中步驟(e)包含有:(e1)若是步驟(d)中的檢核失敗,判斷目前的該行位址是否為該資料頁的起 始位址;(e2)若是該行位址是該資料頁的起始位址,調整該列位址並回到步驟(b)以自該快閃記憶體模組讀取下一筆P位元組資料;以及(e3)若是該行位址不是該資料頁的起始位址,則判斷目前所使用的特性參數組合即是該快閃記憶體模組的多個特性參數,且判斷目前的該行位址即為該資料頁的大小。
- 如申請專利範圍第1項所述之方法,其中步驟(c)包含有:(c1)對該P位元組資料進行解碼,若是解碼失敗,判斷目前的該行位址是否為該資料頁的起始位址;(c2)若是該行位址是該資料頁的起始位址,調整該列位址並回到步驟(b)以自該快閃記憶體模組讀取下一筆P位元組資料;以及(c3)若是該行位址不是該資料頁的起始位址,則判斷目前所使用的特性參數組合即是該快閃記憶體模組的多個特性參數,且判斷目前的該行位址即為該資料頁的大小。
- 如申請專利範圍第1項所述之方法,其中步驟(c)包含有:對該P位元組資料進行解碼,若是解碼失敗,調整該列位址以使得調整後的該列位址對應到不同於該資料頁的另一資料頁,設定該行位址為該另一資料頁的起始位址,並回到步驟(b)以自該快閃記憶體模組讀取下一筆P位元組資料。
- 如申請專利範圍第1項所述之方法,其中另包含有:判斷步驟(b)中的該列位址是否大於一參考列數量; 若是該步驟(b)中的該列位址大於該參考列數量,回到步驟(a)並選擇該多個特性參數組合中的另一來設定該快閃記憶體控制器;以及若是步驟(b)中的該列位址不大於該參考列數量,使用該快閃記憶體控制器以根據該列位址與該行位址自該快閃記憶體模組讀取該P位元組資料。
- 一種系統晶片,包含有:一中央處理器,用以執行一程式碼以進行以下操作:(a)自多個特性參數組合中選擇其一來設定一快閃記憶體控制器;(b)使用該快閃記憶體控制器以根據一列位址與一行位址自該快閃記憶體模組讀取一P位元組資料,其中該P位元組資料包含了該快閃記憶體模組中一區塊之一資料頁的一資料區間、一標籤區間與一錯誤更正碼區間的資料;(c)對該P位元組資料進行解碼,若是解碼失敗,調整該列位址並回到步驟(b)以自該快閃記憶體模組讀取下一筆P位元組資料;(d)若是對該P位元組資料進行解碼成功,根據該標籤區間內的一檢核碼來檢核步驟(c)所解碼出的資料是否正確,若是檢核正確,調整該行位址並回到步驟(b)以自該快閃記憶體模組讀取下一筆P位元組資料;以及(e)若是步驟(d)中的檢核失敗,則根據目前所使用的特性參數組合以及目前的該行位址,以決定該出快閃記憶體模組的多個特性參數。
- 如申請專利範圍第8項所述之系統晶片,其中該標籤區間包含了該資料區間之資料的一循環冗餘校驗碼,且該錯誤更正碼區間包含了用來對該資料區間與該標籤區間內的資料進行解碼操作的一錯誤更正碼。
- 如申請專利範圍第8項所述之系統晶片,其中步驟(e)包含有:(e1)若是步驟(d)中的檢核失敗,判斷目前的該行位址是否為該資料頁的起始位址;(e2)若是該行位址是該資料頁的起始位址,調整該列位址並回到步驟(b)以自該快閃記憶體模組讀取下一筆P位元組資料;以及(e3)若是該行位址不是該資料頁的起始位址,則判斷目前所使用的特性參數組合即是該快閃記憶體模組的多個特性參數,且判斷目前的該行位址即為該資料頁的大小。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110117625A TWI779610B (zh) | 2021-05-17 | 2021-05-17 | 偵測快閃記憶體模組的方法及相關的系統晶片 |
US17/711,059 US11809273B2 (en) | 2021-05-17 | 2022-04-01 | Method for detecting flash memory module and associated system on chip |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110117625A TWI779610B (zh) | 2021-05-17 | 2021-05-17 | 偵測快閃記憶體模組的方法及相關的系統晶片 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI779610B true TWI779610B (zh) | 2022-10-01 |
TW202247153A TW202247153A (zh) | 2022-12-01 |
Family
ID=83998648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110117625A TWI779610B (zh) | 2021-05-17 | 2021-05-17 | 偵測快閃記憶體模組的方法及相關的系統晶片 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11809273B2 (zh) |
TW (1) | TWI779610B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201511020A (zh) * | 2013-03-15 | 2015-03-16 | Netlist Inc | 具有可組態的誤差臨限値及故障分析能力之記憶體系統 |
US20160378599A1 (en) * | 2015-03-31 | 2016-12-29 | Altera Corporation | Methods and apparatus for embedding an error correction code in storage circuits |
US20170139769A1 (en) * | 2015-11-13 | 2017-05-18 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding data in memory system |
CN109739682A (zh) * | 2018-12-21 | 2019-05-10 | 山东华芯半导体有限公司 | 应用于闪存控制器中的自适应polar码纠错码系统和方法 |
TW201926023A (zh) * | 2017-11-30 | 2019-07-01 | 群聯電子股份有限公司 | 資料存取方法、記憶體控制電路單元以及記憶體儲存裝置 |
TW201933347A (zh) * | 2018-01-24 | 2019-08-16 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
TW202009944A (zh) * | 2018-08-27 | 2020-03-01 | 群聯電子股份有限公司 | 記憶體測試方法與記憶體測試系統 |
TW202016940A (zh) * | 2018-10-25 | 2020-05-01 | 群聯電子股份有限公司 | 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置 |
US20200293399A1 (en) * | 2019-03-15 | 2020-09-17 | Toshiba Memory Corporation | Decoding scheme for error correction code structure |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6907496B2 (en) * | 2002-05-02 | 2005-06-14 | International Business Machines Corporation | Method and apparatus for auto-detection of a configuration of a flash memory |
US7757037B2 (en) * | 2005-02-16 | 2010-07-13 | Kingston Technology Corporation | Configurable flash memory controller and method of use |
US8171192B2 (en) * | 2005-09-20 | 2012-05-01 | Qualcomm Incorporated | Hardware-assisted device configuration detection |
US7873779B2 (en) * | 2007-05-14 | 2011-01-18 | Qualcomm Incorporated | Memory page size auto detection |
US8417880B2 (en) * | 2010-11-01 | 2013-04-09 | Hong Kong Applied Science and Technology Research Institute Company Limited | System for NAND flash parameter auto-detection |
KR20200060155A (ko) * | 2018-11-22 | 2020-05-29 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
-
2021
- 2021-05-17 TW TW110117625A patent/TWI779610B/zh active
-
2022
- 2022-04-01 US US17/711,059 patent/US11809273B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201511020A (zh) * | 2013-03-15 | 2015-03-16 | Netlist Inc | 具有可組態的誤差臨限値及故障分析能力之記憶體系統 |
US20160378599A1 (en) * | 2015-03-31 | 2016-12-29 | Altera Corporation | Methods and apparatus for embedding an error correction code in storage circuits |
US20170139769A1 (en) * | 2015-11-13 | 2017-05-18 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding data in memory system |
TW201926023A (zh) * | 2017-11-30 | 2019-07-01 | 群聯電子股份有限公司 | 資料存取方法、記憶體控制電路單元以及記憶體儲存裝置 |
TW201933347A (zh) * | 2018-01-24 | 2019-08-16 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
TW202009944A (zh) * | 2018-08-27 | 2020-03-01 | 群聯電子股份有限公司 | 記憶體測試方法與記憶體測試系統 |
TW202016940A (zh) * | 2018-10-25 | 2020-05-01 | 群聯電子股份有限公司 | 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置 |
CN109739682A (zh) * | 2018-12-21 | 2019-05-10 | 山东华芯半导体有限公司 | 应用于闪存控制器中的自适应polar码纠错码系统和方法 |
US20200293399A1 (en) * | 2019-03-15 | 2020-09-17 | Toshiba Memory Corporation | Decoding scheme for error correction code structure |
Also Published As
Publication number | Publication date |
---|---|
TW202247153A (zh) | 2022-12-01 |
US11809273B2 (en) | 2023-11-07 |
US20220365843A1 (en) | 2022-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4129381B2 (ja) | 不揮発性半導体記憶装置 | |
US9117553B2 (en) | Memory block quality identification in a memory device | |
US7463520B2 (en) | Memory device with variable trim settings | |
JP5100663B2 (ja) | 試験装置および試験方法 | |
JP4840859B2 (ja) | 半導体装置、及び起動方法 | |
JP2015156227A (ja) | オンチップのnand型フラッシュメモリおよびその不良ブロック管理方法 | |
JP2006079811A (ja) | エラー検出用パリティー発生器を備えた半導体メモリ装置 | |
US7646655B2 (en) | Memory device with fail search and redundancy | |
US8867289B2 (en) | Chip with embedded non-volatile memory and testing method therefor | |
JP2006294143A (ja) | 不揮発性半導体記憶装置 | |
US20080072119A1 (en) | Allowable bit errors per sector in memory devices | |
EP3392885B1 (en) | Non-volatile memory repair circuit | |
TW201503145A (zh) | 在nand陣列中儲存及讀取可靠資訊的方法及裝置 | |
JP2003338197A (ja) | 消去/プログラミングに不具合を生じた不揮発性メモリ装置の自己修復方法およびそれに関する不揮発性メモリ装置 | |
JP2005332436A (ja) | 半導体装置及びそのテスト方法 | |
JP4180757B2 (ja) | シミュレーション装置 | |
TWI779610B (zh) | 偵測快閃記憶體模組的方法及相關的系統晶片 | |
CN116978435A (zh) | 一种eFuse烧写方法 | |
JP2004521430A (ja) | メモリエラー処理のための方法及び回路装置 | |
JP2008251154A (ja) | 不揮発性半導体記憶装置 | |
JP6594712B2 (ja) | 半導体メモリ及び半導体メモリのベリファイ方法 | |
CN115376601A (zh) | 检测闪存模块的方法及相关的系统芯片 | |
WO2022187128A1 (en) | Performing memory testing using error correction code values | |
CN111124742B (zh) | Flash数据校验方法及Flash控制器、存储介质、设备 | |
US11531606B2 (en) | Memory apparatus capable of autonomously detecting and repairing fail word line and memory system including the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |