TWI467593B - Marking method and initializing method used for a non-volatile memory array - Google Patents
Marking method and initializing method used for a non-volatile memory array Download PDFInfo
- Publication number
- TWI467593B TWI467593B TW99130044A TW99130044A TWI467593B TW I467593 B TWI467593 B TW I467593B TW 99130044 A TW99130044 A TW 99130044A TW 99130044 A TW99130044 A TW 99130044A TW I467593 B TWI467593 B TW I467593B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- memory unit
- mark
- memory array
- volatile memory
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 34
- 238000011423 initialization method Methods 0.000 claims description 21
- 230000002159 abnormal effect Effects 0.000 description 15
- 238000012360 testing method Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Description
本發明有關一種標記方法及初始化方法,特別關於一種用於一非揮發性記憶體之標記方法及初始化方法。The invention relates to a marking method and an initialization method, in particular to a marking method and an initialization method for a non-volatile memory.
一般而言,非揮發性記憶體陣列(non-volatile memory array)是由多個區塊(block)所組成,每個區塊分別包含多個分頁(page),每個分頁又分別包含多個位元組(byte)。Generally, a non-volatile memory array is composed of a plurality of blocks, each of which contains a plurality of pages, each of which contains a plurality of pages. Byte (byte).
習知的記憶體陣列是以分頁作為資料寫入的單位,而以區塊為資料抹除的單位。也就是指,一個區塊的每一分頁可分別寫入一筆資料,但如果其中一分頁的資料要抹除時,該區塊的其他分頁的資料需一起被抹除。因此,區塊的某一分頁為異常(無法正常存取)時,將造成該區塊無法進行資料抹除,該區塊也就不應被使用,以免發生資料讀取錯誤或消失等問題。A conventional memory array is a unit in which a page is written as a data, and a block is a data erased unit. That is to say, each page of a block can write a piece of data separately, but if one of the pages of the page is to be erased, the other pages of the block need to be erased together. Therefore, when a certain page of a block is abnormal (cannot be accessed normally), the block cannot be erased, and the block should not be used to avoid problems such as data reading errors or disappearance.
通常一記憶體陣列在製造端(例如一晶圓廠)中製造完後,即會利用一測試裝置來測試或掃瞄該記憶體陣列,當發現一區塊中部分分頁或位元組異常時,該區塊會被寫入一損壞標記(bad mark)。測試完後,若正常的區塊比例高於客戶要求,例如客戶對於良品的定義為正常區塊比例為90%以上,而該記憶體陣列的正常區塊高達95%,則製造端便可將其列為良品,而將記憶體陣列出貨給應用端(或是其他使用者端)。應用端接著會將該記憶體陣列與一控制器(或是其他韌體)相連接。控制器會去掃瞄及讀取哪些區塊有損壞標記,以判斷哪些區塊不應使用,此動作稱為初始化。Usually, after a memory array is fabricated at the manufacturing end (for example, a fab), a test device is used to test or scan the memory array when a partial page or byte abnormality in a block is found. The block will be written to a bad mark. After the test, if the normal block ratio is higher than the customer's requirements, for example, the customer defines the good product as the normal block ratio is more than 90%, and the normal block of the memory array is as high as 95%, the manufacturing end can It is listed as a good product, and the memory array is shipped to the application end (or other user side). The application then connects the memory array to a controller (or other firmware). The controller will scan and read which blocks have damage flags to determine which blocks should not be used. This action is called initialization.
然而,『對異常的區塊寫入損壞標記』至少具有以下缺失:However, "Write a bad flag to an abnormal block" has at least the following missing:
1、習知的檢測方式為,若局部分頁或位元組損壞,將判斷整體區塊為異常,並對其寫入損壞標記。由於區塊整體被判斷為異常並予以捨棄,將使得區塊內其他可正常存取的分頁或位元組亦無法被使用。如此一來,可能使得記憶體陣列無法符合良品之標準;即使記憶體陣列最後仍被判斷為符合標準,亦將因為捨棄其他可正常存取的分頁或位元組,導致使用率偏低。1. The conventional detection method is that if a partial page or a byte is damaged, the entire block is judged to be abnormal, and a damage flag is written thereto. Since the block as a whole is judged to be abnormal and discarded, other pages or bytes that can be accessed normally in the block cannot be used. As a result, the memory array may not meet the standard of good products; even if the memory array is still judged to be in compliance with the standard, the usage rate will be low because the other pages or bytes that can be accessed normally are discarded.
2、當區塊被判斷為異常而需寫入損壞標記時,可能會因為寫入損壞標記的位元組,恰巧為異常的位元組,導致該寫入動作失效。因此,當控制器首次存取該被判定異常的區塊時,因為無法讀取損壞標記,反而誤判該區塊為正常。2. When the block is judged to be abnormal and the damage mark needs to be written, the write operation may be invalid because the byte of the damaged mark is written, which happens to be an abnormal byte. Therefore, when the controller first accesses the block that is determined to be abnormal, because the damage flag cannot be read, the block is mistakenly judged to be normal.
3、若儲存損壞標記的位元組發生資料損失(data loss)的問題,使得該損壞標記消失,如此亦會造成控制器因為讀取不到損壞標記,而誤判了該原先被判定為異常的區塊為正常。3. If the data loss of the byte of the damaged mark is stored, the damage mark disappears, which may cause the controller to misjudge the original abnormality because it cannot read the damaged mark. The block is normal.
4、如果製造端在測試時不夠嚴謹或是有誤差,以致於區塊內有些異常的位元組,但仍被誤判為可正常存取,因此沒有被寫入損壞標記。爾後控制器也會因為讀取不到損壞標記,而使用了被誤判為正常的區域。4. If the manufacturing end is not rigorous or error-prone during testing, there are some abnormal bytes in the block, but it is still misidentified as normal access, so no damage mark is written. The controller will also use the area that was misjudged as normal because the damage flag is not read.
5、位元組之間可能會發生串音干擾(cross talk)效應,當損壞標記寫入至被判定為異常的區塊內時,也連帶影響其他位元組,若該位元組恰巧為其他區塊的預先標記位置,則會導致控制器誤判該正常的區塊為異常。5. The cross talk effect may occur between the byte groups. When the damage flag is written into the block determined to be abnormal, it also affects other byte groups. If the byte group happens to be The pre-marked position of other blocks may cause the controller to misjudge the normal block as an exception.
有鑑於此,提供一可改善至少一種上述缺失的方法,乃為此業界亟待解決的問題。In view of this, it is an urgent problem to be solved in the industry to provide a method for improving at least one of the above-mentioned deficiencies.
本發明之主要目的在於提供一種用於非揮發性記憶體陣列之標記方法及初始化方法,以改善測試及標記該記憶單元(或稱資料寫入單元)的位元組存取狀況時,可能產生的誤判。The main object of the present invention is to provide a marking method and an initializing method for a non-volatile memory array, which may be improved when testing and marking the byte access status of the memory unit (or data writing unit). Misjudgment.
本發明之另一目的在於提供一種用於非揮發性記憶體陣列之標記方法及初始化方法,藉由將檢測單位縮小至針對各分頁進行判斷及標記,故不會因為部分位元組的損壞而捨棄整個區塊,可提升的記憶體模組使用率。Another object of the present invention is to provide a marking method and an initialization method for a non-volatile memory array. By reducing the detection unit to the judgment and marking for each page, it is not caused by the damage of some of the bytes. Discard the entire block and increase the memory module usage.
本發明之又一目的在於提供一種用於非揮發性記憶體陣列之標記方法及初始化方法,其係針對正常的分頁,分別寫入不同的對應標記。當控制器對其進行初始化,可獲得更準確的比對結果,減少誤判的狀況發生。It is still another object of the present invention to provide a marking method and an initialization method for a non-volatile memory array, which are respectively written with different corresponding marks for normal paging. When the controller initializes it, a more accurate comparison result can be obtained, and the occurrence of false positives can be reduced.
為達上述目的,本發明所揭露一種用於一非揮發性記憶體之標記方法,該非揮發性記憶體陣列包含多數個記憶單元,各該記憶單元包含多數個位元組,該標記方法包括下列步驟:判斷該等記憶單元的其中之一所具有的該等位元組為可正常存取;以及寫入一標記至該記憶單元。To achieve the above objective, the present invention discloses a marking method for a non-volatile memory, the non-volatile memory array comprising a plurality of memory cells, each of the memory cells comprising a plurality of byte groups, the marking method comprising the following Step: determining that one of the memory cells has one of the groups of bits that can be accessed normally; and writing a flag to the memory unit.
本發明更揭露一種用於一非揮發性記憶體陣列之初始化方法,該非揮發性記憶體陣列包含多數個記憶單元,各該記憶單元包含多數個位元組,其中,各該記憶單元具有一標記,其係因應各該記憶單元中的該等位元組被判斷為可正常存取而寫入,該初始化方法包括下列步驟:讀取各該記憶單元之該標記;判斷該標記符合一預設值;記錄該標記符合該預設值之各該記憶單元至一識別表中;以及消去該等標記。The present invention further discloses an initialization method for a non-volatile memory array, the non-volatile memory array comprising a plurality of memory cells, each of the memory cells comprising a plurality of bytes, wherein each of the memory cells has a mark Corresponding to the fact that the bits in the memory unit are determined to be normally accessible for writing, the initialization method includes the steps of: reading the mark of each memory unit; determining that the mark conforms to a preset a value; recording each of the memory cells that match the preset value into an identification table; and erasing the markers.
為讓上述目的、技術特徵及優點能更明顯易懂,下文係以較佳之實施例配合所附圖式進行詳細說明。The above objects, technical features and advantages will be more apparent from the following description.
請參閱第1圖所示,為本發明的用於一非揮發性記憶體陣列之標記方法的較佳實施例。其中,該標記方法所應用的揮發性記憶體陣列包含多數個記憶單元(或稱資料寫入單元),而每一個記憶單元包含多數個位元組(byte)。Please refer to FIG. 1 for a preferred embodiment of the marking method for a non-volatile memory array of the present invention. The volatile memory array applied by the marking method includes a plurality of memory units (or data writing units), and each memory unit includes a plurality of bytes.
請配合參閱第2圖所示,以一非揮發性記憶體陣列1為例來說明。該非揮發性記憶體陣列1包含了多數個記憶單元111,而每一記憶單元111包含多數個位元組。舉例而言,本實施例的各記憶單元111可為一分頁(page),各分頁包含4224個位元組,而128個分頁(P1 ~P128 )可組合定義為一區塊(block)11,而4096個區塊(B1 ~B4096 )則進一步形成該非揮發性記憶體陣列1。換言之,該非揮發性記憶體陣列1總共包含4096 x 128=524288個記憶單元111(分頁)。Please refer to FIG. 2 for a non-volatile memory array 1 as an example. The non-volatile memory array 1 includes a plurality of memory cells 111, and each memory cell 111 includes a plurality of byte groups. For example, each memory unit 111 of this embodiment may be a page, each page contains 4224 bytes, and 128 pages (P 1 ~P 128 ) may be combined and defined as a block. 11, and 4096 blocks (B 1 ~ B 4096) is further formed in the non-volatile memory array 1. In other words, the non-volatile memory array 1 contains a total of 4096 x 128 = 524288 memory cells 111 (pages).
請配合參閱第3圖所示,該非揮發性記憶體陣列1可與一測試裝置2耦接,該標記方法的各步驟可由該測試裝置2來實現,但是並不侷限之。各步驟將詳細地說明如下:首先執行步驟S101,對該非揮發性記憶體陣列1進行測試,並判斷該等記憶單元111的其中一個,其所具有的該等位元組是否可正常存取。詳言之,將一資料先寫入至該記憶單元111的該等位元組中,爾後再讀取該資料,如果該讀出的資料內容沒有改變或消失,則該記憶單元111的該等位元組可判斷為可正常存取。換言之,資料無法寫入或是資料寫入後內容會改變或消失,即可判斷該記憶單元111的該等位元組無法正常存取。Referring to FIG. 3, the non-volatile memory array 1 can be coupled to a test device 2. The steps of the marking method can be implemented by the testing device 2, but are not limited thereto. Each step will be described in detail as follows: First, step S101 is executed to test the non-volatile memory array 1 and determine whether one of the memory cells 111 has normal access to the bit groups. In detail, a data is first written into the byte of the memory unit 111, and then the data is read, and if the read data content has not changed or disappeared, the memory unit 111 The byte can be judged to be accessible normally. In other words, if the data cannot be written or the content is changed or disappeared after the data is written, it can be determined that the bits of the memory unit 111 cannot be accessed normally.
若步驟S101判斷為可正常存取時,則執行步驟S103,寫入一標記至該記憶單元111。詳言之,將一預設值(或稱預設內容)寫入至該記憶單元111的部分或全部位元組中。If it is determined in step S101 that normal access is possible, step S103 is executed to write a flag to the memory unit 111. In detail, a preset value (or preset content) is written to some or all of the bytes of the memory unit 111.
若步驟S101判斷為無法正常存取時,或是當步驟S103執行完時,則執行步驟S105,判斷是否仍有其他記憶單元111未執行步驟S101;如有,便針對其他記憶單元111重覆執行步驟S101及步驟S103之判斷及寫入步驟,直至所有記憶單元111均已完成;如否,表示全部的記憶單元111都已執行過步驟S101及步驟S103,該標記方法即可完成。If it is determined in step S101 that the access is not normally performed, or when step S103 is performed, step S105 is performed to determine whether there are still other memory units 111 that have not performed step S101; if so, the memory unit 111 is repeatedly executed. The determining and writing steps of step S101 and step S103 are completed until all memory units 111 have been completed; if not, indicating that all memory units 111 have performed steps S101 and S103, the marking method can be completed.
該測試裝置2可依據以上的測試結果,統計可正常使用之記憶單元111的數量,進而計算該非揮發性記憶體陣列1的可使用率,評估其是否能符合標準。此外,亦可產生或輸出一查詢表21,該查詢表21可記錄具有標記的該等記憶單元111的位址,以及該等標記所相應的預設值等資訊。The test device 2 can count the number of memory units 111 that can be normally used according to the above test results, thereby calculating the usable rate of the non-volatile memory array 1, and evaluating whether it can meet the standard. In addition, a lookup table 21 can also be generated or outputted, and the lookup table 21 can record the addresses of the memory cells 111 having the tags, and the preset values corresponding to the tags.
值得一提的是,所有記憶單元111上的該等標記的預設值,可彼此相同,亦可彼此區別。於本發明之較佳實施例中,該等標記係因應記憶單元111的不同而彼此區別,易言之,在步驟S103中,不同的記憶單元111會被寫入不同預設值的標記。彼此區別的標記可相應於記憶單元111的位址,舉例而言,第1區塊11的第100個記憶單元的標記預設值可為0001100,第3區塊的第15個記憶單元的標記預設值可為0003015,如此一來,每個記憶單元111均具有一獨特的標記,若需要後續的檢驗,則可請求讀取某個位址的記憶單元,並比對其讀取資料是否與位址一致。或者,標記的預設值另可相應於記憶單元111的順序編號,所以第1區塊的第100個記憶單元的標記預設值可為000100,第3區塊11的第15個記憶單元111的標記預設值可為000271,以此類推。須說明的是,以上區別標記的方法僅為例示,所屬領域具有通常知識者應可輕易思及其他標記方式,在此不作限制。It is worth mentioning that the preset values of the markers on all the memory units 111 may be identical to each other or different from each other. In the preferred embodiment of the present invention, the markers are distinguished from one another by the memory unit 111. In other words, in step S103, different memory units 111 are written with different preset values. The labels that are different from each other may correspond to the address of the memory unit 111. For example, the label preset value of the 100th memory unit of the first block 11 may be 0001100, and the label of the 15th memory unit of the third block The preset value can be 0003015. In this way, each memory unit 111 has a unique mark. If a subsequent check is required, the memory unit of an address can be requested to be read, and whether the data is read or not. Consistent with the address. Alternatively, the preset value of the mark may be correspondingly numbered corresponding to the memory unit 111, so the mark preset value of the 100th memory unit of the first block may be 000100, and the 15th memory unit 111 of the third block 11 The tag preset can be 000271, and so on. It should be noted that the above method for distinguishing the mark is merely an example, and those who have ordinary knowledge in the art should be able to easily think about other marks, and are not limited herein.
請參閱第4圖所示,經實施前述之標記方法後,該非揮發性記憶體陣列1中,判斷可正常存取的記憶單元111將具有標記,而判斷不能正常存取的記憶單元111將不具有標記。為方便之後的說明,該等可正常存取的記憶單元111另外編號為111A,該等不能正常存取的記憶單元111另外編號為111B。Referring to FIG. 4, after performing the foregoing marking method, in the non-volatile memory array 1, it is determined that the memory unit 111 that can be accessed normally has a flag, and the memory unit 111 that determines that the memory cannot be accessed normally will not. With a tag. For convenience of the following description, the normally accessible memory units 111 are additionally numbered 111A, and the memory units 111 that are not normally accessible are otherwise numbered 111B.
帶有標記的非發揮性記憶體陣列1接著可被實施本發明的用於一非揮發性記憶體陣列之初始化方法,以複檢帶有標記的該等記憶單元111A,確認該等記憶單元111A是否有習知所述的資料損失、串音效應、存取狀態判斷錯誤等缺失。The labeled non-playable memory array 1 can then be implemented by the initialization method for a non-volatile memory array of the present invention to recheck the memory cells 111A with the mark to confirm the memory cells 111A. Is there any loss of data loss, crosstalk effect, and access status judgment errors as described in the prior art.
請參閱第5圖所示,為本發明用於一非揮發性記憶體陣列之初始化方法的較佳實施例。其中,初始化方法所應用的揮發性記憶體陣列以前述實施例及第4圖所示的非揮發性記憶體陣列1為例。Please refer to FIG. 5, which illustrates a preferred embodiment of a method for initializing a non-volatile memory array of the present invention. The volatile memory array to which the initialization method is applied is exemplified by the non-volatile memory array 1 shown in the foregoing embodiment and FIG.
請配合參閱第6圖,該非揮發性記憶體陣列1可跟一控制器3耦接,該初始化方法的各步驟可由該控制器3來執行,但是並不侷限之。另外,該控制器3可讀取該測試裝置2所產生的查詢表21,以獲得該等記憶單元111A的位址及標記的預設值等資訊。該初始化方法的各步驟將詳細地說明如下:首先執行步驟S501,讀取該記憶單元111A的標記。接著執行S503,判斷該標記是否符合一預設值。其中,該預設值記錄可預先儲存於查詢表21中,或由控制器3自行決定。此外,每個記憶單元111A可具有共同的標記預設值,或是具有獨特且彼此區別的的標記預設值。Referring to FIG. 6, the non-volatile memory array 1 can be coupled to a controller 3. The steps of the initialization method can be performed by the controller 3, but are not limited thereto. In addition, the controller 3 can read the lookup table 21 generated by the test device 2 to obtain information such as the address of the memory unit 111A and the preset value of the mark. The steps of the initialization method will be described in detail as follows: First, step S501 is executed to read the flag of the memory unit 111A. Then, S503 is executed to determine whether the flag meets a preset value. The preset value record may be pre-stored in the lookup table 21 or determined by the controller 3. In addition, each memory unit 111A may have a common mark preset value or a mark preset value that is unique and distinct from each other.
如果該標記的讀出內容不符合相應的預設值,表示該記憶單元111A仍具有資料損失或資料難以寫入等問題,不宜加以使用。換言之,該記憶單元111A是被誤判為可正常存取,但實際為異常、不應被使用。需說明的是,如果該記憶單元111A讀不到任何標記,表示標記消失了,則該記憶單元111A也會被視為標記不符合預設值。也就是說,只有在標記的讀出內容符合相應的預設值,則表示記憶單元111A應可正常存取,可被使用。以上技術手段,係因為本發明的技術手段針對正常的記憶單元進行標記。If the read content of the mark does not meet the corresponding preset value, it indicates that the memory unit 111A still has problems such as data loss or difficulty in writing data, and is not suitable for use. In other words, the memory unit 111A is erroneously judged to be normally accessible, but is actually abnormal and should not be used. It should be noted that if the memory unit 111A does not read any mark, indicating that the mark disappears, the memory unit 111A is also regarded as a mark that does not conform to the preset value. That is to say, only when the read content of the mark meets the corresponding preset value, it means that the memory unit 111A should be normally accessible and can be used. The above technical means is because the technical means of the present invention marks a normal memory unit.
當記憶單元111A的標記被判斷符合預設值時,則接著執行步驟S505,記錄該記憶單元111A至一識別表31中,也就是將該記憶單元111A的位址記錄至該識別表31中。該識別表31可設置於控制器3中,或是設置於其他與控制器3耦接的韌體中。步驟S505結束後,接著執行步驟S507,消去該記憶單元111A的標記,使得該記憶單元111A的所有資料得以清空。When the flag of the memory unit 111A is judged to be in accordance with the preset value, then step S505 is performed to record the memory unit 111A to an identification table 31, that is, the address of the memory unit 111A is recorded into the identification table 31. The identification table 31 can be disposed in the controller 3 or in other firmware coupled to the controller 3. After the end of step S505, step S507 is followed to erase the flag of the memory unit 111A, so that all the data of the memory unit 111A can be cleared.
當於步驟S503中記憶單元111A的標記判斷不符合預設值時,或是當步驟S507執行完時,步驟S509將接著判斷是否還有其他記憶單元111A未執行;如有,則對其重覆執行上述步驟,以判斷其他記憶單元111A的標記的讀出內容是否符合該記憶單元111A相應的預設值;如否,表示全部的記憶單元111A已執行完畢,該初始化方法即可完成。When the flag determination of the memory unit 111A in step S503 does not meet the preset value, or when step S507 is performed, step S509 will next determine whether there are other memory units 111A not executed; if yes, repeat it. The above steps are performed to determine whether the read content of the mark of the other memory unit 111A meets the corresponding preset value of the memory unit 111A; if not, it indicates that all the memory units 111A have been executed, and the initialization method can be completed.
該初始方法完成後,該識別表31中會記錄多個標記符合預設值的記憶單元111A的位址資訊。沒有記錄在識別表31中的記憶單元111(包含無標記的記憶單元111B以及標記不符合預設值的記憶單元111A),將不會被控制器3(或是其他韌體)使用。After the initial method is completed, the address information of the memory unit 111A whose mark matches the preset value is recorded in the identification table 31. The memory unit 111 (including the unmarked memory unit 111B and the memory unit 111A whose mark does not match the preset value) which is not recorded in the identification table 31 will not be used by the controller 3 (or other firmware).
請參閱第7圖所示,為本發明的用於一非揮發性記憶體陣列之初始化方法的第二較佳實施例。該第二實施例與第一實施例的初始化方法差異之處在於:多增加一步驟S511,因此其他相似部分將不予贅述。Please refer to FIG. 7, which is a second preferred embodiment of the initialization method for a non-volatile memory array of the present invention. The difference between the second embodiment and the initialization method of the first embodiment is that a step S511 is added, so that other similar parts will not be described again.
當步驟S511執行時,全部的記憶單元111(包含無標記的記憶單元111B、標記符合預設值的記憶單元111A、以及標記不符合預設值的記憶單元111A)的位址將重新被定義。也就是,記錄於識別表31中的正常記憶單元111A,可重新定義區塊,而無標記的記憶單元111B以及標記不符合預設值的記憶單元111A則被捨棄不用,或者是被定義在同個不會被使用的區塊11中。易言之,所有可使用的區塊11,都由標記符合預設值的記憶單元111A所定義形成。When the step S511 is performed, the addresses of all the memory units 111 (including the unmarked memory unit 111B, the memory unit 111A marked with the preset value, and the memory unit 111A marked with the preset value) will be redefined. That is, the normal memory unit 111A recorded in the identification table 31 can redefine the block, and the unmarked memory unit 111B and the memory unit 111A whose mark does not conform to the preset value are discarded or are defined in the same Block 11 will not be used. In other words, all of the usable blocks 11 are formed by the definition of the memory unit 111A whose mark conforms to the preset value.
如此,無標記的記憶單元111B以及標記不符合預設值的記憶單元111A可集中在少數幾個區塊11中,藉此減少不能使用的區塊11的數目。Thus, the unmarked memory unit 111B and the memory unit 111A whose marks do not conform to the preset value can be concentrated in a few blocks 11, thereby reducing the number of blocks 11 that cannot be used.
另外,需說明的是,上述的初始化方法的第一或第二實施例中,步驟S507可改成在步驟S509後執行,一次將該等標記全部消除。In addition, in the first or second embodiment of the above initialization method, step S507 may be changed to be executed after step S509, and all of the flags are eliminated once.
綜合上述,本發明的用於一非揮發性記憶體陣列之標記方法及初始化方法具有諸多特點,列舉如下:In summary, the marking method and the initialization method for a non-volatile memory array of the present invention have many features, which are listed below:
1、以分頁作為檢測的單位,相較於習知技術以區塊作為單位,可提高使用率。1. Using the paging as the unit of detection, the usage rate can be improved by using the block as a unit compared with the conventional technology.
2、判斷為可正常存取的記憶單元可較順利被寫入標記,且不易有資料損失的問題,因此本發明對於可正常存取的記憶單元進行標記,習知的標記難以寫入及標記消失的問題可被改善。2. The memory unit that is judged to be normally accessible can be written to the mark smoothly, and the problem of data loss is not easy. Therefore, the present invention marks the memory unit that can be normally accessed, and the conventional mark is difficult to write and mark. The problem of disappearance can be improved.
3、如標記過程中判斷有誤差或不嚴謹時,以致於有些異常(不能正常存取)的記憶單元被判斷為正常存取。但,異常的記憶單元較難以被寫入標記,即使標記寫入了,異常的記憶單元容易有資料損失的問題,因此標記容易消失或改變。之後初始化時,誤判為可正常存取的異常記憶單元將不會被讀取到標記,或是讀取到不符合預設值的標記。如此,誤判的異常記憶單元可被發現,而不被使用。3. If there is an error or imprecision in the marking process, some memory cells that are abnormal (cannot be accessed normally) are judged to be normal access. However, an abnormal memory unit is more difficult to write a mark, and even if the mark is written, the abnormal memory unit is liable to have a data loss problem, so the mark easily disappears or changes. After initialization, the abnormal memory unit that is misjudged as being normally accessible will not be read to the mark or read to a mark that does not match the preset value. Thus, the misjudged abnormal memory unit can be found without being used.
4、當該等標記的預設值為彼此區別時,可改善因為串音效應所產生的缺失。詳言之,若標記寫入至可正常存取的記憶單元時,因為串音效應也誤寫入至某個記憶單元,但由於標記的寫入內容是依據相應於可正常存取的記憶單元的預設值,之後初始化時,該誤寫的記憶單元即使有標記,也會因為標記的讀出內容不符合該誤寫的記憶單元相應的預設值,而不被使用。4. When the preset values of the markers are different from each other, the loss due to the crosstalk effect can be improved. In detail, if the mark is written to a memory unit that can be accessed normally, the crosstalk effect is also erroneously written to a certain memory unit, but since the written content of the mark is based on the memory unit corresponding to the normal access The preset value, after initialization, the miswritten memory unit, even if there is a mark, will not be used because the read content of the mark does not conform to the corresponding preset value of the erroneous memory unit.
5、依據識別表來重新定義區塊的組成,將不能使用的記憶單元捨棄,而以可使用的記憶單元重新定義區塊,如此可提高非揮發性記憶體的使用率(能使用的區塊的數目相對於全部區塊的數目)。5. Redefine the composition of the block according to the identification table, discard the memory unit that cannot be used, and redefine the block with the usable memory unit, thus improving the usage rate of the non-volatile memory (the block that can be used) The number is relative to the number of all blocks).
上述之實施例僅用來例舉本發明之實施態樣,以及闡釋本發明之技術特徵,並非用來限制本發明之保護範疇。任何熟悉此技術者可輕易完成之改變或均等性之安排均屬於本發明所主張之範圍,本發明之權利保護範圍應以申請專利範圍為準。The embodiments described above are only intended to illustrate the embodiments of the present invention, and to explain the technical features of the present invention, and are not intended to limit the scope of protection of the present invention. Any changes or equivalents that can be easily made by those skilled in the art are within the scope of the invention. The scope of the invention should be determined by the scope of the claims.
1...非揮發性記憶體1. . . Non-volatile memory
11...區塊11. . . Block
111、111A、111B...記憶單元111, 111A, 111B. . . Memory unit
2...測試裝置2. . . Test device
21...查詢表twenty one. . . Query list
3...控制器3. . . Controller
31...識別表31. . . Identification table
第1圖為本發明用於非揮發性記憶體陣列之標記方法的流程圖。Figure 1 is a flow chart of a method of marking a non-volatile memory array of the present invention.
第2圖為本發明非揮發性記憶體陣列的示意圖。Figure 2 is a schematic illustration of a non-volatile memory array of the present invention.
第3圖為該非揮發性記憶體陣列與測試裝置耦接的示意圖。Figure 3 is a schematic diagram of the non-volatile memory array coupled to the test device.
第4圖為該非揮發性記憶體陣列標記後的示意圖。Figure 4 is a schematic diagram of the non-volatile memory array after labeling.
第5圖為本發明用於非揮發性記憶體陣列之初始化方法的流程圖。Figure 5 is a flow chart of a method for initializing a non-volatile memory array of the present invention.
第6圖為該非揮發性記憶體陣列與一控制器耦接的示意圖。Figure 6 is a schematic diagram of the non-volatile memory array coupled to a controller.
第7圖為本發明用於非揮發性記憶體陣列之初始化方法的另一較佳實施例的方法流程圖。Figure 7 is a flow chart of a method of another preferred embodiment of the method for initializing a non-volatile memory array of the present invention.
Claims (12)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW99130044A TWI467593B (en) | 2010-09-06 | 2010-09-06 | Marking method and initializing method used for a non-volatile memory array |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW99130044A TWI467593B (en) | 2010-09-06 | 2010-09-06 | Marking method and initializing method used for a non-volatile memory array |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201212038A TW201212038A (en) | 2012-03-16 |
| TWI467593B true TWI467593B (en) | 2015-01-01 |
Family
ID=46764505
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW99130044A TWI467593B (en) | 2010-09-06 | 2010-09-06 | Marking method and initializing method used for a non-volatile memory array |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI467593B (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW463175B (en) * | 2000-03-01 | 2001-11-11 | Winbond Electronics Corp | Memory processing method and system |
| TW200725632A (en) * | 2005-11-14 | 2007-07-01 | Mitsubishi Electric Corp | Memory diagnosing device |
| TW200832426A (en) * | 2006-09-07 | 2008-08-01 | Sandisk Corp | Defective block isolation in a non-volatile memory system |
| US7661043B2 (en) * | 2005-07-04 | 2010-02-09 | Advantest Corporation | Test apparatus, and method of manufacturing semiconductor memory |
-
2010
- 2010-09-06 TW TW99130044A patent/TWI467593B/en active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW463175B (en) * | 2000-03-01 | 2001-11-11 | Winbond Electronics Corp | Memory processing method and system |
| US7661043B2 (en) * | 2005-07-04 | 2010-02-09 | Advantest Corporation | Test apparatus, and method of manufacturing semiconductor memory |
| TW200725632A (en) * | 2005-11-14 | 2007-07-01 | Mitsubishi Electric Corp | Memory diagnosing device |
| TW200832426A (en) * | 2006-09-07 | 2008-08-01 | Sandisk Corp | Defective block isolation in a non-volatile memory system |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201212038A (en) | 2012-03-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7743290B2 (en) | Status of overall health of nonvolatile memory | |
| KR101498009B1 (en) | Defective block isolation in a non-volatile memory system | |
| US8046645B2 (en) | Bad block identifying method for flash memory, storage system, and controller thereof | |
| US5956473A (en) | Method and system for managing a flash memory mass storage system | |
| CN101699406B (en) | Data storage system and method | |
| US9305662B2 (en) | Data storage device and flash memory control method | |
| US20120060054A1 (en) | Method for using bad blocks of flash memory | |
| CN101599305B (en) | Storage system with data restoration function and data restoration method thereof | |
| KR920005163A (en) | Semiconductor memory device | |
| CN103699491B (en) | data storage method, memory controller and memory storage device | |
| US8296506B2 (en) | Method for managing a non-violate memory and computer readable medium thereof | |
| US5467361A (en) | Method and system for separate data and media maintenance within direct access storage devices | |
| US10515664B2 (en) | Magnetic disk device capable of reallocating address corresponding to defective sector to alternative sector | |
| TW201324518A (en) | Bit-level memory controller and a method thereof | |
| US20090164869A1 (en) | Memory architecture and configuration method thereof | |
| CN104756089B (en) | Management and control method of flash memory | |
| CN105704405B (en) | Image sensing device and defective pixel detection and compensation method | |
| TWI467593B (en) | Marking method and initializing method used for a non-volatile memory array | |
| CN105679373B (en) | A kind of processing method, device and and NOT-AND flash with column bad in NOT-AND flash | |
| US20220283894A1 (en) | Detection method and system applied to intelligent analysis and detection for flash, intelligent terminal, and computer-readable storage medium | |
| CN105427885B (en) | Labeling method for a non-volatile memory array | |
| CN114203252A (en) | Bad block detection method, device, equipment and storage medium of nonvolatile memory | |
| TWI486764B (en) | Data storage device, controller, and method for data access of a downgrade memory | |
| CN107368258B (en) | Screening method for damaged data rows of data storage media | |
| US20070074073A1 (en) | Detection system and method |