TW201519246A - 存取快閃記憶中儲存單元的方法以及使用該方法的裝置 - Google Patents
存取快閃記憶中儲存單元的方法以及使用該方法的裝置 Download PDFInfo
- Publication number
- TW201519246A TW201519246A TW102141595A TW102141595A TW201519246A TW 201519246 A TW201519246 A TW 201519246A TW 102141595 A TW102141595 A TW 102141595A TW 102141595 A TW102141595 A TW 102141595A TW 201519246 A TW201519246 A TW 201519246A
- Authority
- TW
- Taiwan
- Prior art keywords
- column
- bad
- storage unit
- data
- flash memory
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/24—Accessing extra cells, e.g. dummy cells or redundant cells
-
- 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
-
- 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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
-
- 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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/30—Accessing single arrays
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
-
- 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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/1204—Bit line control
-
- 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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
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)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本發明的實施例提出一種存取快閃記憶中儲存單元的方法,由控制單元執行,包含下列步驟。當測試出儲存單元中之一行之一塊中的每一壞列時,新增一筆紀錄至壞列資料表中。當測試出上述儲存單元中之上述行之上述塊中的最後一列是好列時,更判斷壞列資料表中是否包含奇數個紀錄。當判斷壞列資料表中包含奇數個紀錄時,新增一筆紀錄至壞列資料表中,用以表示最後一列是壞列。
Description
本發明關連於一種快閃記憶體裝置,特別是一種存取快閃記憶中儲存單元的方法以及使用該方法的裝置。
快閃記憶體(flash memory)於生產過程中,會因為粉塵或是光罩問題,使得快閃記憶單元中的一整列(column)的資料都無法正確存取。傳統上,可以利用錯誤檢查碼(error correction code,ECC)來修正儲存於無法存取列的資料。但是,一旦無法存取的資料列數目太多,則無法利用錯誤檢查碼進行修正,使得整個快閃記憶體失效。因此,本發明提出一種存取快閃記憶單元的方法以及使用該方法的裝置,防止快閃記憶體因為存在過多無法存取的資料列而失效。
本發明的實施例提出一種存取快閃記憶中儲存單元的方法,由控制單元執行,包含下列步驟。當測試出儲存單元中之一行之一塊中的每一壞列時,新增一筆紀錄至壞列資料表中。當測試出上述儲存單元中之上述行之上述塊中的最後一列是好列時,更判斷壞列資料表中是否包含奇數個紀錄。當判斷壞列資料表中包含奇數個紀錄時,新增一筆紀錄至壞列資料
表中,用以表示最後一列是壞列。
本發明的實施例另提出一種存取快閃記憶中之儲存單元的裝置,包含壞列資料表;以及控制單元。當控制單元測試出儲存單元中之一行之一塊中的每一壞列時,新增一筆紀錄至壞列資料表中。當測試出儲存單元中之上述行之上述塊中的最後一列是好列時,更判斷壞列資料表中是否包含奇數個紀錄。當判斷壞列資料表中包含奇數個紀錄時,新增一筆紀錄至壞列資料表中,用以表示上述最後一列是壞列。
本發明的實施例更另提出一種存取快閃記憶中儲存單元的方法,由控制單元執行,包含下列步驟。針對儲存單元中之一行之每一塊,偵測壞列數目,並且根據偵測結果產生壞列資料表。所產生的壞列資料表包含偶數筆紀錄,且其中關連於塊的紀錄筆數等於實際偵測到的壞列數目,或等於實際偵測到的壞列數目加一。
10‧‧‧儲存單元
110‧‧‧記憶體單元陣列
120‧‧‧行解碼單元
130‧‧‧列編碼單元
140‧‧‧位址單元
150‧‧‧資料緩衝器
200‧‧‧記憶體單元陣列中的一行
210‧‧‧資料列
220‧‧‧備用列
30‧‧‧快閃記憶體的系統架構
300‧‧‧控制器
310‧‧‧控制單元
320‧‧‧壞列資料表
330‧‧‧儲存單元存取介面
340‧‧‧處理單元存取介面
410‧‧‧資料線
420‧‧‧時脈訊號
S512~S538‧‧‧方法步驟
610~660‧‧‧紀錄
第1圖係依據本發明實施例之快閃記憶體中的儲存單元示意圖。
第2圖係依據本發明實施例之單行記憶體單元示意圖。
第3圖係依據本發明實施例之快閃記憶體的系統架構示意圖。
第4圖係依據本發明實施例之儲存單元存取介面的時序圖。
第5圖係依據本發明實施例之壞列測試方法的方法流程
圖。
第6A圖係依據本發明實施例之壞列測試之第一實例示意圖。
第6B圖係依據本發明實施例之壞列測試之第二實例示意圖。
第7圖及第8圖係依據本發明實施例之壞列測試後之單行記憶體單元示意圖。
本發明實施例提出一種存取快閃記憶中儲存單元的方法以及使用該方法的裝置,防止快閃記憶體因為存在過多無法存取的資料欄而失效。第1圖係依據本發明實施例之快閃記憶體中的儲存單元示意圖。儲存單元10包含由MxN個記憶體單元(memory cells)組成的陣列(array)110,而每一個記憶體單元儲存一個位元組(byte)的資訊。快閃記憶體可以是NOR型快閃記憶體(NOR flash memory)、NAND型快閃記憶體,或其他種類的快閃記憶體。為了正確存取資訊,行解碼單元120用以選擇記憶體單元陣列110中特定的行,而列編碼單元130用以選擇特定行中一定數量的位元組的資料作為輸出。位址單元140提供特定的行資訊給行解碼器120,其中定義選擇記憶體單元陣列110中的特定行的資訊。相似地,列解碼器130則根據位址單元140提供的列資訊,選擇記憶體單元陣列110的特定行中一定數量的列進行讀取或寫入操作。從記憶體單元陣列110讀取出的資料,或欲寫入記憶體單元陣列110中的資料則儲存在資料緩衝器(data buffer)150。然而,記憶體單元陣列110中特定
的列可能因為粉塵或是光罩問題而無法正確存取。
為了要解決如上所述不正常列的問題,記憶體單元陣列通常包含一定數量的備用記憶體單元(spare memory cells),用以儲存錯誤檢查碼以及作為替換不正常列的備用空間。第2圖係依據本發明實施例之壞列標定前之單行記憶體單元示意圖。針對記憶體單元陣列中的任一行200可邏輯上視為包含固定數量的資料列210與備用列220(陰影部分)。舉例來說,若每一行包含八塊(blocks),而每塊包含1024列,則實際用來儲存資料的資料列210則為8192(1024x8)列,亦即是第0列至8191列。另外,製造商針對每一行提供六十條備用列220,亦即是第8192至8251列,作為儲存錯誤檢查碼以及取代資料列210中的壞列。
第3圖係依據本發明實施例之快閃記憶體的系統架構示意圖。快閃記憶體的系統架構30中包含控制器300,用以寫入資料到儲存單元10中的特定位址,以及從儲存單元10中的特定位址讀取資料。詳細來說,控制單元310透過儲存單元存取介面330寫入資料到儲存單元10中的特定位址,以及從儲存單元10中的特定位址讀取資料。系統架構30使用數個電子訊號來協調控制器300與儲存單元10間的資料與命令傳遞,包含資料線(data line)、時脈訊號(clock signal)與控制訊號(control signal)。資料線可用以傳遞命令、位址、讀出及寫入的資料;控制訊號線可用以傳遞位址提取致能(address latch enable,ALE)、命令提取致能(command latch enable,CLE)、寫入致能(write enable,WE)等控制訊號。控制單元310另可使用處理單
元存取介面340透過特定通訊協定與其他電子裝置進行,例如,通用序列匯流排(universal serial bus,USB)、先進技術附著(advanced technology attachment,ATA)或其他介面。由於記憶體單元陣列110中可能包含若干因製程不穩定所產生的壞列(bad columns),控制單元310於出廠前測試(pre-test)時會選擇其中的一或多行來進行壞列測試,例如第0行、第0~1行,並且將偵測到的壞列編號紀錄到壞列資料表320中。壞列資料表320可實施於不因斷電而消失的非揮發性記憶單元中。
儲存單元存取介面330可採用雙倍資料率(double data rate,DDR)通訊協定與儲存單元10溝通,例如,開放NAND快閃(open NAND flash interface,ONFI)、雙倍資料率開關(DDR toggle)或其他介面。第4圖係依據本發明實施例之儲存單元存取介面的時序圖。例如,於雙倍資料率通訊協定中,控制器300與儲存單元10分別在時脈訊號420的上升緣(rising edges)與下降緣(falling edges)於資料線410上取得(latch)一個位元組的資料。
詳細來說,於出廠前測試程序中,控制單元310先選擇一條特定的行,並於寫入一系列的測試資料(例如,”0x00”、”0x55”、”0xAA”、”0xFF”或其他資料)至選擇行的每一列中後,讀取選擇行中每一列的資料。接著,控制單元310逐一檢查讀取出來的資料是否與寫入的測試資料相符,如果不相符,則代表此列為壞列。控制單元310把所有的壞列編號紀錄到壞列資料表320中。為了符合雙倍資料率通訊協定,壞列的數目必須是二的倍數。於一種實施方式中,控制單元310
於偵測到了一個壞列時,將此列與下個列同時標記為壞列,用以保證最後的壞列數目為二的倍數。熟習此技藝人士了解使用越多的錯誤檢查碼,可容許較多的資料位元的錯誤。然而,這些超標的列數會使得可用來作為錯誤檢查碼的位元組變少,降低安全性。更糟的是,當紀錄的壞列數目超過了備用列數目,整個儲存單元10就不能使用了。為了解決上述的缺點,控制單元310每當偵測到一個壞列時,只標記此列為壞列,而偵測到每塊的最後一列且此列判斷為正常列時,更加上判斷目前標記為壞列的數目是否為二的倍數,若否,則將此列標為壞列,用以保證偵測完每一塊後的最後壞列數目為二的倍數(亦即是偶數)。當所有列都判斷完成,控制單元310計算可使用來作為錯誤檢查碼的列數,並據以計算出每塊能使用多少列來儲存錯誤檢查碼。於一些實施例中,控制單元310可使用固定的列數(例如4列)來儲存錯誤檢查碼,而非隨著可用列數的多少而改變。
本發明實施例針對儲存單元10中之一行之每一塊,偵測壞列數目,並且根據偵測結果產生壞列資料表320。所產生的壞列資料表320包含偶數筆紀錄,且其中關連於每塊的紀錄筆數等於實際偵測到的壞列數目,或等於實際偵測到的壞列數目加一。第5圖係依據本發明實施例之壞列測試方法的方法流程圖。以下流程係選擇檢查一行來進行壞列測試。此方法使用控制單元310執行,透過儲存單元存取介面330先寫入一整行的測試資料,接著嘗試讀取每一列的資料並依據讀取結果判斷此列是否為壞列,直到最後一塊的最後一列為止。此方法開始於寫入一整行的測試資料(步驟S511),以及初始化三個變
數”COUNTblock_byte”、”COUNTblock”及”ADDRcolumn”,分別代表列編號、塊編號及實際的列位址編號(步驟S512)。須注意的是,變數”COUNTblock_byte”、”COUNTblock”及”ADDRcolumn”僅用來作為流程中條件判斷的依據,並非用以作為儲存單元10的定址。嘗試讀取第(ADDRcolumn)列的資料(步驟S514),之後,判斷是否為壞列(步驟S516)。若是,則新增一筆紀錄用以將變數”ADDRcolumn”的值儲存至壞列資料表320中,代表第(ADDRcolumn)列為壞列(步驟S532),以及將變數”ADDRcolumn”加一,用以接著測試下一列(步驟S534)。於步驟S516,詳細來說,控制單元310透過儲存單元存取介面330讀取第(ADDRcolumn)列的值,並檢查是否與測試資料相符,若不相符則代表第(ADDRcolumn)列為壞列;若相符則為好列。
針對第(ADDRcolumn)列不是壞列的情況(步驟S516的”否”路徑),分別將變數”COUNTblock_byte”及”ADDRcolumn”加一(步驟S518),用以紀錄下次將測試到第”COUNTblock”塊的第”COUNTblock_byte”列,以及將測試的下一個實際列編號,接著判斷是否結束一整塊的測試(步驟S520)。於步驟S520,詳細來說,控制單元310可判斷變數”COUNTblock_byte”是否等於一塊的總列數(例如,1024),若是則代表這塊記憶體的測試結束,否則這塊記憶體的測試沒結束。如果這塊記憶體的測試沒結束(步驟S520的”否”路徑),則接著測試第”COUNTblock”塊的下一列。
針對第(ADDRcolumn)列不是壞列(步驟S516的”否”路徑)以及是第”COUNTblock”塊最後一列(步驟S520的”是”路徑)
的情況,接著判斷已紀錄的壞列數目是否為奇數(步驟S522)。如果是,則將變數”COUNTblock_byte”減一(步驟S536),新增一筆紀錄用以將變數”ADDRcolumn”的值儲存至壞列資料表320中,代表第(ADDRcolumn)列為壞列(步驟S532),以及將變數”ADDRcolumn”加一,用以接著測試下一列(步驟S534)。須注意的是,步驟S536、S532與S534的執行,係確保於每塊的的壞列偵測結束後,壞列資料表320中所儲存的紀錄為偶數個,用以符合雙倍資料率通訊協定的資料存取特性。換句話說,透過本發明實施例所提出的方法,針對儲存單元10中的每一塊而言,最多只允許將一個好列標成壞列,用以保留更多的空間給錯誤檢查碼或減低因備用列不足而造成整個儲存單元10不能使用的可能性。如果不是奇數,則將變數”COUNTblock”加一(步驟S524)。最後,判斷此次測試是否為最後一塊(步驟S526),若是則結束這一整行的測試,否則將變數”COUNTblock”設定為零,代表將測試的是下一塊的第一列。於步驟S526,詳細來說,控制單元310可判斷變數”COUNTblock”是否等於一行的總塊數(例如,8),若是則代表此行所有塊的測試結束,否則代表此行所有塊的測試沒結束。
以下舉出兩個實例並搭配第5圖的方法流程圖來說明。第6A圖係依據本發明實施例之壞列測試之第一實例示意圖。假設第0列與第2列為壞列(如資料線上所示之陰影部分)。當測試到第0列時,變數”COUNTblock_byte”、”COUNTblock”及”ADDRcolumn”分別為0、0及0。當測試到此列為壞列後(步驟S516的”是”路徑),新增一筆紀錄610至壞列資料表320中,其
中包含變數”ADDRcolumn”的值(步驟S532),並且變數”ADDRcolumn”改變為1(步驟S534)。接著,當測試到第1列為好列後(步驟S516的”否”路徑),分別將變數”COUNTblock_byte”及”COUNTblock”改變為1及2(步驟S518)。當測試到第2列時,變數”COUNTblock_byte”、”COUNTblock”及”ADDRcolumn”分別為1、0及2。當判斷此列為壞列後(步驟S514的”是”路徑),新增一筆紀錄620至壞列資料表320中,其中包含變數”ADDRcolumn”的值(步驟S532),並且將變數”ADDRcolumn”改變為3(步驟S534)。當測試到第1025列時,變數”COUNTblock_byte”、”COUNTblock”及”ADDRcolumn”分別為1023、0及1025。當判斷第1025列為好列(步驟S516的”否”路徑)且壞列資料表320中儲存的紀錄筆數為偶數(步驟S522的”否”路徑)後,將變數”COUNTblock”改變為1,用以測試下一塊。第7圖係依據本發明實施例之壞列標定後之單行記憶體單元示意圖。經過壞列測試後,第一塊至第八塊的實際儲存資料列710分別為第0至1026列;第1027至2049列;第2050至3073列;第3074至4097列;第4098至5121列;第5122至6145列;第6146至7169列;以及第7170至8193列。備用列720則為第8194至8251列。
第6B圖係依據本發明實施例之壞列測試之第二實例示意圖。假設第0列、第2列及第3列為壞列(如資料線上所示之陰影部分)。從第0列至第1026列的測試,請參考第6A圖的說明。之後,壞列資料表320中儲存著三筆紀錄630~650,分別為”0”、”2”及”3”。當測試到第1027列時,變數”COUNTblock_byte”、”COUNTblock”及”ADDRcolumn”分別為
1024、0及1027。當判斷第1025列為好列(步驟S516的”否”路徑)且壞列資料表320中儲存的紀錄筆數為奇數(步驟S522的”是”路徑)後,則變數”COUNTblock”減一改變為1023(步驟S536),新增一筆紀錄660至壞列資料表320中,其中包含變數”ADDRcolumn”的值(步驟S532),並且將變數”ADDRcolumn”加1改變為1028。接著,當測試到第1028列為好列後(步驟S516的”否”路徑),分別將變數”COUNTblock_byte”及”ADDRcolumn”改變為1024及1029(步驟S518)。在判斷結束整塊的測試(步驟S520的”是”路徑)以及且壞列資料表320中儲存的紀錄筆數為偶數(步驟S522的”否”路徑)後,將變數”COUNTblock”加一改變為1(步驟S524),並且將變數”COUNTblock_byte”設為0。第8圖係依據本發明實施例之壞列標定後之單行記憶體單元示意圖。經過壞列測試後,第一塊至第八塊的實際儲存資料列810分別為第0至1027列;第1028至2051列;第2052至3075列;第3076至4099列;第4100至5123列;第5124至6147列;第6148至7171列;以及第7172至8195列。備用列820則為第8196至8251列。
當所有列都測試完畢,控制單元310依據壞列資料表320所紀錄的數量,決定每塊的錯誤檢查碼數量。當快閃記憶體出廠後,控制單元310會使用以下的機制進行資料存取。於處理單元存取介面340接收到資料讀取請求後,控制單元310從儲存單元10讀取資料。接著,依據壞列資料表320的紀錄將不可存取的資料丟棄,然後再將清理後的資料透過處理單元存取介面340回覆給其他電子裝置。
雖然第1圖、第3圖中包含了以上描述的元件,但
不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然第5圖的流程圖採用特定的順序來執行,但是在不違法發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。
雖然本發明使用以上實施例進行說明,但需要注意的是,這些描述並非用以限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。
S512~S538‧‧‧方法步驟
Claims (18)
- 一種存取快閃記憶中儲存單元的方法,由一控制單元執行,包含:當測試出一儲存單元中之一行之一塊中的每一壞列時,新增一紀錄至一壞列資料表中;當測試出上述儲存單元中之上述行之上述塊中的最後一列是好列時,更判斷上述壞列資料表中是否包含奇數個上述紀錄;以及當判斷上述壞列資料表中包含奇數個上述紀錄時,新增一紀錄至上述壞列資料表中,用以表示上述最後一列是壞列。
- 如申請專利範圍第1項所述的存取快閃記憶中儲存單元的方法,其中上述控制單元使用雙倍資料率通訊協定讀取上述儲存單元中的資料以及寫入資料到上述儲存單元中。
- 如申請專利範圍第2項所述的存取快閃記憶中儲存單元的方法,其中上述控制單元於一時脈訊號的一上升緣與一下降緣於一資料線上取得上述所有列的資料。
- 如申請專利範圍第1項所述的存取快閃記憶中儲存單元的方法,於測試出上述儲存單元中之上述行之上述塊中每一列是否為壞列的步驟中,更包含:寫入一測試資料至欲測試之列中;從欲測試之列中讀取資料;以及檢查上述讀取之資料與上述測試資料是否相符,若是則判斷上述測試之列為好列,否則判斷上述測試之列為壞列。
- 如申請專利範圍第1項所述的存取快閃記憶中儲存單元的方法,更包含:當判斷上述壞列資料表中包含偶數個上述紀錄時,代表上述塊測試完畢。
- 如申請專利範圍第1項所述的存取快閃記憶中儲存單元的方法,係於一出廠前測試執行。
- 如申請專利範圍第6項所述的存取快閃記憶中儲存單元的方法,於執行完上述出廠前測試後,上述壞列資料表中包含偶數個上述紀錄。
- 一種存取快閃記憶中之一儲存單元的裝置,包含:一壞列資料表;以及一控制單元,耦接於上述壞列資料表,當測試出上述儲存單元中之一行之一塊中的每一壞列時,新增一紀錄至上述壞列資料表中;當測試出上述儲存單元中之上述行之上述塊中的最後一列是好列時,更判斷上述壞列資料表中是否包含奇數個上述紀錄;以及當判斷上述壞列資料表中包含奇數個上述紀錄時,新增一紀錄至上述壞列資料表中,用以表示上述最後一列是壞列。
- 如申請專利範圍第8項所述的存取快閃記憶中之上述儲存單元的裝置,更包含:一儲存單元存取介面;其中上述控制單元透過上述儲存單元存取介面使用雙倍資料率通訊協定讀取上述儲存單元中的資料以及寫入資料到上述儲存單元中。
- 如申請專利範圍第9項所述的存取快閃記憶中之上述儲存單元的裝置,其中上述控制單元透過上述儲存單元存取介面於一時脈訊號的一上升緣與一下降緣於一資料線上取得上述所有列的資料。
- 如申請專利範圍第8項所述的存取快閃記憶中之上述儲存單元的裝置,其中上述控制單元針對上述行之上述塊中之每一列,寫入一測試資料至欲測試之列中;從欲測試之列中讀取資料;以及檢查上述讀取之資料與上述測試資料是否相符,若是則判斷上述測試之列為好列,否則判斷上述測試之列為壞列。
- 如申請專利範圍第8項所述的存取快閃記憶中之上述儲存單元的裝置,其中上述控制單元當判斷上述壞列資料表中包含偶數個上述紀錄時,代表上述塊測試完畢。
- 如申請專利範圍第8項所述的存取快閃記憶中之上述儲存單元的裝置,其中上述控制單元於測試完上述儲存單元中之上述行之所有列之後,上述壞列資料表中包含偶數個上述紀錄。
- 如申請專利範圍第13項所述的存取快閃記憶中之上述儲存單元的裝置,更包含:一儲存單元存取介面;以及一處理單元存取介面;其中上述控制單元透過上述處理單元存取介面接收到一資料讀取請求後,透過上述儲存單元存取介面讀取資料,依據上述壞列資料表中的上述紀錄將不可存取的資料丟 棄,然後再透過上述處理單元存取介面回覆上述清理後的資料。
- 一種存取快閃記憶中儲存單元的方法,由一控制單元執行,包含:針對一儲存單元中之一行之每一塊,偵測上述塊中的一壞列數目;以及根據上述偵測結果產生一壞列資料表;其中,上述壞列資料表包含偶數筆紀錄,且上述壞列資料表中關連於上述塊的紀錄筆數等於實際偵測到的上述壞列數目,或等於實際偵測到的上述壞列數目加一。
- 如申請專利範圍第15項所述的存取快閃記憶中儲存單元的方法,其中上述每一紀錄儲存一列編號。
- 如申請專利範圍第15項所述的存取快閃記憶中儲存單元的方法,其中於偵測步驟中,更包含:寫入一測試資料至欲測試之列中;從欲測試之列中讀取資料;以及檢查上述讀取之資料與上述測試資料是否相符,若是則判斷上述測試之列為好列,否則判斷上述測試之列為壞列。
- 如申請專利範圍第15項所述的存取快閃記憶中儲存單元的方法,係於一出廠前測試執行。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102141595A TWI545582B (zh) | 2013-11-15 | 2013-11-15 | 存取快閃記憶體中儲存單元的方法以及使用該方法的裝置 |
CN201410074378.6A CN104658612B (zh) | 2013-11-15 | 2014-03-03 | 存取快闪存储器中储存单元的方法以及使用该方法的装置 |
US14/326,731 US9514843B2 (en) | 2013-11-15 | 2014-07-09 | Methods for accessing a storage unit of a flash memory and apparatuses using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102141595A TWI545582B (zh) | 2013-11-15 | 2013-11-15 | 存取快閃記憶體中儲存單元的方法以及使用該方法的裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201519246A true TW201519246A (zh) | 2015-05-16 |
TWI545582B TWI545582B (zh) | 2016-08-11 |
Family
ID=53174544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102141595A TWI545582B (zh) | 2013-11-15 | 2013-11-15 | 存取快閃記憶體中儲存單元的方法以及使用該方法的裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9514843B2 (zh) |
CN (1) | CN104658612B (zh) |
TW (1) | TWI545582B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101548875B1 (ko) * | 2014-08-28 | 2015-09-01 | 성균관대학교산학협력단 | 메모리의 오류검사정정 성능 향상방법 |
CN105468535A (zh) * | 2015-12-30 | 2016-04-06 | 北京兆易创新科技股份有限公司 | 一种NAND Flash的数据处理方法及装置 |
US10120816B2 (en) * | 2016-07-20 | 2018-11-06 | Sandisk Technologies Llc | Bad column management with data shuffle in pipeline |
JP7238171B2 (ja) * | 2019-07-12 | 2023-03-13 | 長江存儲科技有限責任公司 | 不良カラム修復を提供するメモリデバイスおよびその動作方法 |
CN112540720B (zh) * | 2019-09-23 | 2023-11-10 | 深圳宏芯宇电子股份有限公司 | 闪存设备及闪存控制方法 |
TWI731775B (zh) * | 2020-08-24 | 2021-06-21 | 點序科技股份有限公司 | 快閃記憶體的記憶體控制器及其控制方法 |
CN112068781B (zh) * | 2020-09-10 | 2024-03-22 | 深圳芯邦科技股份有限公司 | 一种存储器的数据读写方法及相关设备 |
CN113628670A (zh) * | 2021-07-20 | 2021-11-09 | 北京自动化控制设备研究所 | 一种ddr sdram的自检方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8341332B2 (en) * | 2003-12-02 | 2012-12-25 | Super Talent Electronics, Inc. | Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices |
US7178072B2 (en) * | 2001-06-08 | 2007-02-13 | Renesas Technology America, Inc. | Methods and apparatus for storing memory test information |
CN101147204A (zh) * | 2006-01-24 | 2008-03-19 | 爱德万测试株式会社 | 测试装置以及选择装置 |
US7725791B2 (en) | 2006-10-20 | 2010-05-25 | Texas Instruments Incorporated | Single lead alternating TDI/TMS DDR JTAG input |
WO2010103567A1 (ja) * | 2009-03-10 | 2010-09-16 | 株式会社アドバンテスト | 試験装置および試験方法 |
US20110002169A1 (en) * | 2009-07-06 | 2011-01-06 | Yan Li | Bad Column Management with Bit Information in Non-Volatile Memory Systems |
TWI467592B (zh) * | 2010-05-28 | 2015-01-01 | Mstar Semiconductor Inc | 記憶裝置與相關方法 |
US8649210B2 (en) * | 2011-09-06 | 2014-02-11 | Mediatek Inc. | DDR PSRAM and data writing and reading methods thereof |
US8842480B2 (en) * | 2012-08-08 | 2014-09-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Automated control of opening and closing of synchronous dynamic random access memory rows |
-
2013
- 2013-11-15 TW TW102141595A patent/TWI545582B/zh active
-
2014
- 2014-03-03 CN CN201410074378.6A patent/CN104658612B/zh active Active
- 2014-07-09 US US14/326,731 patent/US9514843B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN104658612A (zh) | 2015-05-27 |
CN104658612B (zh) | 2019-07-23 |
TWI545582B (zh) | 2016-08-11 |
US9514843B2 (en) | 2016-12-06 |
US20150143188A1 (en) | 2015-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI545582B (zh) | 存取快閃記憶體中儲存單元的方法以及使用該方法的裝置 | |
JP4901987B1 (ja) | 記憶装置、電子機器及び誤りデータの訂正方法 | |
TWI447733B (zh) | 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器 | |
US8910002B2 (en) | NAND flash-based storage device with built-in test-ahead for failure anticipation | |
US7861138B2 (en) | Error correction in memory devices | |
US9223648B2 (en) | Memory storage device, memory controller thereof, and method for processing data thereof | |
TWI436211B (zh) | 區塊管理方法、記憶體控制器與記憶體儲存裝置 | |
US8806301B2 (en) | Data writing method for a flash memory, and controller and storage system using the same | |
JP6190462B2 (ja) | 半導体記憶装置 | |
JP2014512063A (ja) | データセンシングのための方法、装置、およびシステム | |
US9858366B2 (en) | Simulator and simulating method for flash memory background | |
US10628247B2 (en) | Flash memory testing according to error type pattern | |
US9754682B2 (en) | Implementing enhanced performance with read before write to phase change memory | |
TW201503153A (zh) | 快閃記憶體裝置、記憶體控制器及快閃記憶體的控制方法 | |
US8219883B2 (en) | Data accessing method, controller and storage system using the same | |
US20090164869A1 (en) | Memory architecture and configuration method thereof | |
CN102890645A (zh) | 存储器储存装置、存储器控制器与数据写入方法 | |
CN102339648B (zh) | 一种检错/纠错校验模块的检测方法及装置 | |
TWI442406B (zh) | 針對一快閃記憶體的控制器之錯誤管理機制來提升驗證效率之方法以及相關之記憶裝置及其控制器 | |
US10734079B1 (en) | Sub block mode read scrub design for non-volatile memory | |
WO2024103600A1 (zh) | 一种数据管理方法、装置及电子设备和非易失性可读存储介质 | |
TWI512734B (zh) | 快閃記憶體及其存取方法 | |
US20130246687A1 (en) | Data writing method, memory controller and memory storage apparatus | |
JP2022066136A (ja) | 動的読み取り閾値較正 | |
CN107783723A (zh) | 一种存储器块处理方法和装置 |