TWI514405B - Method, controller, and memory device for correcting data bit(s) of at least one cell of flash memory - Google Patents

Method, controller, and memory device for correcting data bit(s) of at least one cell of flash memory Download PDF

Info

Publication number
TWI514405B
TWI514405B TW102119960A TW102119960A TWI514405B TW I514405 B TWI514405 B TW I514405B TW 102119960 A TW102119960 A TW 102119960A TW 102119960 A TW102119960 A TW 102119960A TW I514405 B TWI514405 B TW I514405B
Authority
TW
Taiwan
Prior art keywords
storage unit
potential
storage
data bit
data
Prior art date
Application number
TW102119960A
Other languages
Chinese (zh)
Other versions
TW201351426A (en
Inventor
Chen Yu Weng
Tsung Chieh Yang
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 US13/912,215 priority Critical patent/US9110824B2/en
Publication of TW201351426A publication Critical patent/TW201351426A/en
Priority to KR1020140042189A priority patent/KR101606498B1/en
Application granted granted Critical
Publication of TWI514405B publication Critical patent/TWI514405B/en

Links

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

修正快閃記憶體之至少一儲存單元之資料位元的方法、控制 器及記憶體裝置Method and control for correcting data bits of at least one storage unit of flash memory Device and memory device

本發明係關於一種快閃記憶體的資料更正機制,尤指一種修正快閃記憶體之至少一儲存單元之資料位元的方法、控制器及記憶裝置。The present invention relates to a data correction mechanism for a flash memory, and more particularly to a method, a controller and a memory device for correcting data bits of at least one storage unit of a flash memory.

一般而言,現有習知技術的快閃記憶體控制器可能設置有一錯誤更正碼處理電路,利用錯誤更正碼處理電路更正由快閃記憶體中所讀取之碼字資料的資料位元,得到正確的碼字資料。當錯誤更正碼處理電路所能夠處理的最大錯誤位元個數(亦即處理能力)大於一碼字資料中實際所發生的錯誤位元個數時,表示錯誤更正碼處理電路能夠有效更正該碼字資料的錯誤位元,而能夠得到正確的碼字資料內容,然而,目前現有的錯誤更正碼處理電路主要用在更正因資料讀取操作所造成的位元錯誤,如果是因為資料寫入或是其他因素所造成的電位牽引而導致儲存電壓以及儲存資料位元有更大的錯誤量時,目前現有的錯誤更正碼處理電路並無法對此一情況下所造成的位元錯誤現象進行有效的更正,因此無法得到正確資料。In general, the flash memory controller of the prior art may be provided with an error correction code processing circuit for correcting the data bit of the code word data read by the flash memory by using the error correction code processing circuit. The correct code word data. When the error correction code processing circuit can process the maximum number of error bits (that is, the processing capability) is greater than the number of error bits actually occurring in one codeword data, it indicates that the error correction code processing circuit can effectively correct the code. The error bit of the word data can get the correct code word data content. However, the existing error correction code processing circuit is mainly used to correct the bit error caused by the data reading operation, if it is because of data writing or When the potential traction caused by other factors causes the storage voltage and the stored data bit to have a larger error amount, the existing error correction code processing circuit cannot effectively perform the bit error phenomenon caused by the situation. Corrected, so the correct information could not be obtained.

因此,本發明的目的之一在於提供一種修正快閃記憶體之儲存單元之資料位元的方法、控制器與記憶裝置,以降低位元錯誤率,解決上述習知技術所遇到的難題。Therefore, one of the objects of the present invention is to provide a method, a controller and a memory device for correcting data bits of a storage unit of a flash memory to reduce the bit error rate and solve the above-mentioned problems encountered by the prior art.

根據本發明的實施例,其係揭露一種修正快閃記憶體之至少一儲存單元之資料位元的方法。該方法包含有:判斷一第一儲存單元之一儲存電位所對應的一電位成因類型,以產生第一判斷結果;以及根據該第一判斷結果,修正該第一儲存單元之該儲存電位所對應的資料位元。According to an embodiment of the invention, a method of modifying data bits of at least one storage unit of a flash memory is disclosed. The method includes: determining a potential cause type corresponding to a storage potential of a first storage unit to generate a first determination result; and correcting the storage potential of the first storage unit according to the first determination result Data bit.

此外,根據上述的實施例,另揭露了一種修正快閃記憶體之至少一儲存單元之資料位元的控制器。控制器包含有一存取單元與一錯誤碼更正單元,存取單元用以讀取出第一儲存單元的儲存電位所對應的資料位元,錯誤碼更正單元耦接至存取單元並用以判斷第一儲存單元之儲存電位所對應的電厔成因類型,以產生第一判斷結果,根據第一判斷結果,修正第一儲存單元的儲存電位所對應的資料位元。In addition, according to the above embodiments, a controller for correcting data bits of at least one storage unit of the flash memory is further disclosed. The controller includes an access unit and an error code correction unit, wherein the access unit is configured to read the data bit corresponding to the storage potential of the first storage unit, and the error code correction unit is coupled to the access unit and used to determine the A type of electrical cause corresponding to the storage potential of the storage unit is used to generate a first determination result, and the data bit corresponding to the storage potential of the first storage unit is corrected according to the first determination result.

此外,根據本發明的實施例,另揭露了一種記憶裝置。記憶裝置包含有一快閃記憶體與一記憶體控制器,快閃記憶體具有一儲存單元,該儲存單元具有一儲存電位,該儲存電位對應於一資料位元,記憶體控制器係耦接至快閃記憶體並用來讀取儲存單元之儲存電位所對應的資料位元,判斷儲存單元之儲存電位所對應的一電位成因類型,以產生一判斷結果,以及根據判斷結果,修正儲存單元之儲存電位所對應的資料位元。Further, according to an embodiment of the present invention, a memory device is further disclosed. The memory device comprises a flash memory and a memory controller, the flash memory has a storage unit, the storage unit has a storage potential, the storage potential corresponds to a data bit, and the memory controller is coupled to the memory controller The flash memory is used to read the data bit corresponding to the storage potential of the storage unit, determine a potential cause type corresponding to the storage potential of the storage unit, to generate a judgment result, and correct the storage unit storage according to the judgment result. The data bit corresponding to the potential.

再者,本發明之實施例的優點在於,根據鄰近儲存單元的資料位元/儲存狀態對當前儲存單元進行電位成因的類型分類,之後根據分類的判斷結果進行資料位元的修正,達到位元互換的效果,有效降低錯誤位元的發生。Furthermore, an embodiment of the present invention has the advantages of classifying the type of the potential cause of the current storage unit according to the data bit/storage state of the adjacent storage unit, and then correcting the data bit according to the judgment result of the classification to reach the bit element. The effect of the interchange effectively reduces the occurrence of error bits.

100‧‧‧記憶裝置100‧‧‧ memory device

110‧‧‧記憶體控制器110‧‧‧ memory controller

112‧‧‧微處理器112‧‧‧Microprocessor

112C‧‧‧程式碼112C‧‧‧ Code

112M‧‧‧唯讀記憶體112M‧‧‧Reading memory

114‧‧‧控制邏輯114‧‧‧Control logic

118‧‧‧介面邏輯118‧‧‧Interface logic

120‧‧‧快閃記憶體120‧‧‧Flash memory

130‧‧‧錯誤更正碼單元130‧‧‧Error correction code unit

135‧‧‧存取單元135‧‧‧access unit

第1圖為依據本發明一實施例之一種記憶裝置的示意圖。1 is a schematic diagram of a memory device in accordance with an embodiment of the present invention.

第2圖為第1圖所示之控制邏輯的操作流程示意圖。Figure 2 is a schematic diagram showing the operation flow of the control logic shown in Figure 1.

第3A圖為現有具有四階狀態之儲存單元的理想電位統計分佈的範例示意圖。FIG. 3A is a schematic diagram showing an example of an ideal potential statistical distribution of a conventional storage unit having a fourth-order state.

第3B圖為第3A圖所示之電位統計分佈的範例示意圖。Fig. 3B is a schematic diagram showing an example of the potential distribution of the potential shown in Fig. 3A.

第3C圖為兩實際電位統計分佈部分重疊的示意圖。Figure 3C is a schematic diagram showing partial overlap of statistical distributions of two actual potentials.

第4A圖為本發明之實施例中通過位元互換操作而等效上達到分別利用不同參考電壓準位TH1、TH2來判斷具有不同電位成因之不同儲存單元之資料位元的示意圖。FIG. 4A is a schematic diagram of data bits of different storage units having different potential generations respectively determined by bit swapping operations by using different reference voltage levels TH1 and TH2 in the embodiment of the present invention.

第4B圖為第4A圖所示之擴展後的電位統計分佈經過位元互換操作後的範例示意圖。Fig. 4B is a schematic diagram showing an example of the expanded potential statistical distribution shown in Fig. 4A after the bit swapping operation.

請參考第1圖,第1圖為依據本發明一實施例之一種記憶裝置100的示意圖,其中本實施例之記憶裝置100尤其係為可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡)。記憶裝置100包含有一快閃記憶體(Flash Memory)120以及一控制器,該控制器可為一記憶體記憶體控制器110,且係用來存取快閃記憶體120。依據本實施例,記憶體記憶體控制器110包含一微處理器112、一唯讀記憶體(Read-Only-Memory,ROM)112M、一控制邏輯114、一緩衝記憶體116、與一介面邏輯118。唯讀記憶體係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對快閃記憶體120之存取(Access)。此外,控制邏輯114包含有一錯誤更正碼(Error Correcting Code,ECC)單元130。快閃記憶體120包含複數個區塊(Block),而該控制器(例如:透過微處理器112執行程式碼112C之記憶體記憶體控制器110)對快閃記憶體120進行複製、抹除、合併資料等運作。透過微處理器112執行程式碼112C之記憶體記憶體控制器110可利用其本身內部之元件來進行諸多控制運作,例如:利用控制邏輯114來控制快閃記憶體120之存取運作(尤其是對至少一區塊或至少一資料頁之存取運作)、利用緩衝記憶體116進行所需之緩衝處理、以及利用介面邏輯118來與一主裝置(Host Device) 溝通。Please refer to FIG. 1 . FIG. 1 is a schematic diagram of a memory device 100 according to an embodiment of the present invention. The memory device 100 of the present embodiment is specifically a portable memory device (eg, conforming to SD/MMC, CF, MS, XD standard memory card). The memory device 100 includes a flash memory 120 and a controller, which can be a memory memory controller 110 and is used to access the flash memory 120. According to the embodiment, the memory memory controller 110 includes a microprocessor 112, a read-only memory (ROM) 112M, a control logic 114, a buffer memory 116, and an interface logic. 118. The read-only memory system is used to store a code 112C, and the microprocessor 112 is used to execute the code 112C to control access to the flash memory 120. In addition, control logic 114 includes an Error Correcting Code (ECC) unit 130. The flash memory 120 includes a plurality of blocks, and the controller (for example, the memory memory controller 110 executing the program 112C through the microprocessor 112) copies and erases the flash memory 120. , combined data and other operations. The memory memory controller 110 executing the code 112C through the microprocessor 112 can perform various control operations using its own internal components, for example, using the control logic 114 to control the access operation of the flash memory 120 (especially Accessing at least one block or at least one data page, performing buffer processing required by buffer memory 116, and utilizing interface logic 118 to interface with a host device (Host Device) communication.

記憶體控制器110可接收一主機(host,未示於第1圖)之命令存取快閃記憶體120。快閃記憶體120的資料對應多個字線(word line),每一字線連接電晶體的多個浮動閘(floating gate),每一浮動閘對應於一個基本的儲存單元(cell),當資料寫入至一個儲存單元時,係施加電荷於相對應的浮動閘上,而從儲存單元中讀取資料時,則由相對應的浮動閘讀取出電荷以取得電壓值,從所取得的電壓值判斷資料位元為何,一個儲存單元本身可以是單階儲存單元(single-level cell,SLC)或是多階儲存單元(multiple-level cell,MLC),單階儲存單元具有兩種狀態可以儲存一個資料位元,多階儲存單元具有多種(例如四種或八種)狀態可以分別儲存兩個或三個資料位元,在本實施例中,為了方便說明,係舉具有四種儲存狀態的多階儲存單元作為範例說明,然此範例並非是本發明的限制,單階儲存單元或其他多階儲存單元也可以用以實現本發明之實施例的儲存單元。控制邏輯114另包括有一存取單元135,存取單元135係用來從快閃記憶體105中存取出儲存單元的儲存電位所對應之儲存狀態的資料位元(數值),接著錯誤更正碼單元130根據所讀取出的資料位元數值決定是否對該儲存單元所儲存之資料位元進行重新判讀以及後續碼字的錯誤更正操作。The memory controller 110 can receive a command from a host (not shown in FIG. 1) to access the flash memory 120. The data of the flash memory 120 corresponds to a plurality of word lines, each word line is connected to a plurality of floating gates of the transistor, and each floating gate corresponds to a basic storage cell (cell). When data is written to a storage unit, the charge is applied to the corresponding floating gate, and when the data is read from the storage unit, the charge is read by the corresponding floating gate to obtain the voltage value, and the obtained value is obtained. The voltage value determines the data bit. A storage unit itself can be a single-level cell (SLC) or a multiple-level cell (MLC). The single-stage storage unit has two states. A data bit is stored, and the multi-level storage unit has multiple (for example, four or eight) states to store two or three data bits respectively. In this embodiment, for convenience of explanation, the system has four storage states. The multi-level storage unit is illustrated as an example. However, this example is not a limitation of the present invention. A single-stage storage unit or other multi-level storage unit may also be used to implement the storage unit of the embodiment of the present invention. The control logic 114 further includes an access unit 135 for accessing the data bit (value) of the storage state corresponding to the storage potential of the storage unit from the flash memory 105, and then the error correction code. The unit 130 determines whether to re-interpret the data bit stored in the storage unit and the error correction operation of the subsequent code word according to the read data bit value.

在本實施例中,每一碼字的資料內容係由快閃記憶體120中多個儲存單元所儲存的資料位元所組成,而錯誤更正碼單元130係用以先執行一錯誤更正碼操作,來判斷所讀取出之碼字資料是否有發生錯誤,以及判斷錯誤的位元是否能夠被更正,當該碼字的錯誤位元可被有效更正時,錯誤更正碼單元130所執行的錯誤更正碼操作將對錯誤位元立即進行更正,而得到正確的碼字資料內容,反之,當該碼字的錯誤位元無法被有效更正時,錯誤更正碼單元130並不會立刻重新讀取快閃記憶體120,而是根據當前儲存單元 之至少一鄰近儲存單元的資料位元來進行當前儲存單元之資料位元的重新判讀,其操作上是對讀取出的部分資料位元重新判讀並決定進行資料位元互換(bit flipping),更正易發生錯誤的資料位元,例如是把靠近一參考電壓準位附近的一或多個儲存電位所對應之資料位元進行位元互換(或變更),例如將位元‘0’換為位元‘1’或將位元‘1’換為位元‘0’,由於通過位元互換而改變了儲存電位所對應的資料,所以等效上可以視為微調整快閃記憶體120的參考電壓準位以及根據該電壓準位來進行資料位元之重新讀取所得到的等效結果,上述所指的參考電壓準位係用以區別儲存單元之儲存電位所對應的一儲存狀態屬於哪一儲存狀態,亦即用以判斷對應於哪一個資料位元,舉例來說,以二階儲存狀態來說,一個電壓準位可用來判斷儲存單元之儲存電位所對應的是抹除狀態(狀態‘0’)或是資料寫入狀態(狀態‘1’)。因此,通過將部分儲存單元之資料位元進行位元互換的操作,等效上,可以達到動態地針對不同儲存單元調整電壓準位的效果,換言之,通過修正部分的資料位元分佈,等效上可達到修正部分電位分佈的效果,以四階儲存狀態來說,利用三個不同的電壓準位來判斷儲存單元之儲存電位所對應的是哪一個儲存狀態(狀態‘0’~狀態‘3’的其中一個),通過將部分儲存單元之資料位元進行位元互換的操作,即使實際上並不修正或調整三個不同的電壓準位,位元互換的操作等效上也具有微調此三個電壓準位或是其中至少一個電壓準位並藉由調整電壓準位來重新進行資料位元判讀的資料位元結果,因此,資料位元的互換操作可以降低位元錯誤率。In this embodiment, the data content of each codeword is composed of data bits stored in a plurality of storage units in the flash memory 120, and the error correction code unit 130 is configured to perform an error correction code operation first. To determine whether the read codeword data has an error, and to determine whether the wrong bit can be corrected, and when the error bit of the codeword can be effectively corrected, the error correction error unit 130 performs an error. The correct code operation will immediately correct the error bit and get the correct code word data content. Conversely, when the error bit of the code word cannot be effectively corrected, the error correction code unit 130 will not re-read immediately. Flash memory 120, but based on current storage unit At least one data bit adjacent to the storage unit performs re-interpretation of the data bit of the current storage unit, and the operation is to re-interpret the read part of the data bit and determine to perform bit flipping. Correcting the data bit that is prone to error, for example, swapping (or changing) the data bit corresponding to one or more storage potentials near a reference voltage level, for example, changing the bit '0' to Bit '1' or bit '1' is replaced by bit '0'. Since the data corresponding to the storage potential is changed by bit swapping, it can be regarded as micro-adjusting the flash memory 120 equivalently. The reference voltage level and the equivalent result obtained by re-reading the data bit according to the voltage level, wherein the reference voltage level is used to distinguish a storage state corresponding to the storage potential of the storage unit Which storage state is used to determine which data bit corresponds to, for example, in the second-order storage state, a voltage level can be used to determine that the storage potential of the storage unit corresponds to In addition to the state (state '0') or a data write state (state '1'). Therefore, by performing the bit swapping operation on the data bits of the partial storage unit, the effect of dynamically adjusting the voltage level for different storage units can be achieved equivalently, in other words, by correcting the data bit distribution of the part, the equivalent The effect of correcting the partial potential distribution can be achieved. In the fourth-order storage state, three different voltage levels are used to determine which storage state the storage potential of the storage unit corresponds to (state '0'~state'3 'One of the ', by performing the bit swapping operation on the data bits of some of the storage units, even if the three different voltage levels are not actually corrected or adjusted, the operation of the bit swapping equivalently has a fine adjustment. The three voltage levels or at least one of the voltage levels and the data bit result are re-performed by adjusting the voltage level. Therefore, the data bit swapping operation can reduce the bit error rate.

具體來說,錯誤更正碼單元130重新判斷一儲存單元之電位所對應之電位成因類型的方式係根據該儲存單元的一鄰近儲存單元(視為鄰近儲存單元)的儲存狀態或相對應的資料位元來判斷該儲存單元的儲存電位的成因類型,依照該鄰近儲存單元之儲存狀態或資料位元的指示進行分類,當儲存狀態指示為抹除狀態‘0’或資料狀態‘2’時,錯誤更正碼單元130判斷為第一 類型(第一成因類型),而當儲存狀態指示為抹除狀態‘1’或資料狀態‘3’時,錯誤更正碼單元130判斷為第二類型(第二成因類型),其中第一類型係指該鄰近儲存單元之儲存電位對目前的儲存單元之儲存電位所造成的電位牽引影響較低,而第二類型係指該鄰近儲存單元之儲存電位對目前的儲存單元之儲存電位所造成的電位牽引影響較高,也就是說,第二類型所指示之電位偏移的影響會高於第一類型所指示之電位偏移的影響。換句話說,錯誤更正碼單元130對兩個不同儲存單元分別進行資料重新判讀時,可能會有不同的結果,例如,錯誤更正碼單元130重新判斷一第一儲存單元之電位所對應之儲存電位的成因類型時,根據該第一儲存單元的一鄰近儲存單元(視為一第一鄰近儲存單元)的儲存狀態或相對應的資料位元來判斷該第一儲存單元的儲存電位的成因類型,依照該第一鄰近儲存單元之儲存狀態或資料位元的指示進行分類,比方說,該第一鄰近儲存單元的儲存狀態指示為抹除狀態‘0’或資料狀態‘2’時,錯誤更正碼單元130判斷為該第一儲存單元的電位成因類型是第一類型(第一成因類型);當錯誤更正碼單元130重新判斷一第二儲存單元之電位所對應之電位成因類型時,根據該第二儲存單元的一鄰近儲存單元(視為一第二鄰近儲存單元)的儲存狀態或相對應的資料位元來判斷該第二儲存單元的儲存電位的成因類型,依照該第二鄰近儲存單元之儲存狀態或資料位元的指示進行分類,比方說,該第二鄰近儲存單元的儲存狀態指示為抹除狀態‘1’或資料狀態‘3’時,錯誤更正碼單元130判斷為該第二儲存單元的資料位元的電位成因類型是第二類型(第二成因類型)。當判斷出目前儲存單元之資料位元的電位成因類型時,錯誤更正碼單元130即可根據該類型來決定對目前儲存單元之資料位元進行位元互換,此將於稍後內容中描述之。Specifically, the way in which the error correction code unit 130 re-determines the potential cause type corresponding to the potential of a storage unit is based on the storage state or the corresponding data bit of an adjacent storage unit (served as an adjacent storage unit) of the storage unit. The source determines the cause type of the storage potential of the storage unit, and classifies according to the storage state of the adjacent storage unit or the indication of the data bit. When the storage status indicates the erase status '0' or the data status '2', the error is The correction code unit 130 determines that it is the first Type (first genesis type), and when the storage state is indicated as erase state '1' or data state '3', error correction code unit 130 determines to be the second type (second cause type), wherein the first type is It means that the storage potential of the adjacent storage unit has a lower influence on the potential traction caused by the storage potential of the current storage unit, and the second type refers to the potential caused by the storage potential of the adjacent storage unit to the storage potential of the current storage unit. The traction effect is higher, that is, the effect of the potential offset indicated by the second type is higher than the potential offset indicated by the first type. In other words, when the error correction code unit 130 performs data re-interpretation on two different storage units, there may be different results. For example, the error correction code unit 130 re-determines the storage potential corresponding to the potential of the first storage unit. Determining the type of the storage potential of the first storage unit according to the storage state of the adjacent storage unit (serving as a first adjacent storage unit) or the corresponding data bit of the first storage unit, Sorting according to the storage state of the first adjacent storage unit or the indication of the data bit, for example, when the storage status of the first adjacent storage unit is indicated as the erase status '0' or the data status '2', the error correction code The unit 130 determines that the potential cause type of the first storage unit is the first type (first cause type); when the error correction code unit 130 re-determines the potential cause type corresponding to the potential of the second storage unit, according to the Determining the storage state of a neighboring storage unit (serving as a second adjacent storage unit) or the corresponding data bit of the second storage unit The type of the storage potential of the second storage unit is classified according to the storage state of the second adjacent storage unit or the indication of the data bit. For example, the storage status of the second adjacent storage unit is indicated as the erased state '1' or When the data state is '3', the error correction code unit 130 determines that the potential cause type of the data bit of the second storage unit is the second type (second genetic type). When determining the potential cause type of the data bit of the current storage unit, the error correction code unit 130 may determine the bit swapping of the data bit of the current storage unit according to the type, which will be described later. .

為了有利於讀者更能明白本發明之實施例的操作,請參考第2圖,第2圖是第1圖所示之控制邏輯114的操作流程示意圖。倘若大體上可達到相同的結果,並不需要一定照第2圖所示之流程中的步驟順序來進行, 且第2圖所示之步驟不一定要連續進行,亦即其他步驟亦可插入其中:步驟205:開始;步驟210:存取單元135自快閃記憶體120讀取一儲存單元之儲存電位所對應的資料位元以及至少一鄰近儲存單元之儲存電位所對應的資料位元;步驟215:錯誤更正碼單元130根據至少一鄰近儲存單元的儲存狀態或資料位元,判斷目前儲存單元之儲存電位的成因類型,並據此將成因類型進行分類,產生一判斷結果,該判斷結果會指示出該成因類型是第一類型或是第二類型;步驟220:錯誤更正碼單元130根據該判斷結果所指示的成因類型,決定對目前儲存單元之資料位元進行資料位元修正操作,以修正資料位元的分佈,達到位元互換,降低位元錯誤的效果;以及步驟225:結束。In order to facilitate the reader's understanding of the operation of the embodiment of the present invention, please refer to FIG. 2, which is a schematic diagram of the operation of the control logic 114 shown in FIG. If the same result can be achieved in general, it is not necessary to follow the sequence of steps in the process shown in Figure 2, The steps shown in FIG. 2 do not have to be performed continuously, that is, other steps may be inserted therein: Step 205: Start; Step 210: The access unit 135 reads the storage potential of a storage unit from the flash memory 120. a corresponding data bit and a data bit corresponding to the storage potential of the at least one adjacent storage unit; Step 215: The error correction code unit 130 determines the storage potential of the current storage unit according to the storage state or the data bit of the at least one adjacent storage unit Generating the type of the cause, and classifying the cause type accordingly, and generating a judgment result indicating whether the cause type is the first type or the second type; Step 220: the error correction code unit 130 according to the judgment result Determining the type of cause, determining to perform data bit correction operation on the data bit of the current storage unit, to correct the distribution of the data bit, to achieve bit swapping, and to reduce the effect of the bit error; and step 225: end.

如上所述,在步驟215中,錯誤更正碼單元130係根據至少一鄰近儲存單元的儲存狀態或資料位元,來判斷目前儲存單元之儲存電位的成因類型,在本實施例中,錯誤更正碼單元130係根據一鄰近儲存單元的資料位元來判斷目前儲存單元之儲存電位的成因類型,該鄰近儲存單元的選擇可以是當前儲存單元之正下方的相鄰之儲存單元,也可以是當前儲存單元之相鄰其他七個儲存單元的其中之一,此外,錯誤更正碼單元130也可以根據多個鄰近儲存單元的儲存狀態或資料位元,來判斷目前儲存單元之儲存電位的成因類型;以上的實施方式,均是本發明之實施例的變型,均屬於本發明的範疇。As described above, in step 215, the error correction code unit 130 determines the cause type of the storage potential of the current storage unit according to the storage state or the data bit of at least one adjacent storage unit. In this embodiment, the error correction code is used. The unit 130 determines the genetic type of the storage potential of the current storage unit according to the data bit of a neighboring storage unit. The selection of the adjacent storage unit may be an adjacent storage unit directly below the current storage unit, or may be currently stored. One of the other seven adjacent storage units of the unit, in addition, the error correction code unit 130 may also determine the cause type of the storage potential of the current storage unit according to the storage state or data bit of the plurality of adjacent storage units; The embodiments are all variations of the embodiments of the invention and are within the scope of the invention.

為了使讀者更能深入體會本發明之精神的突出之處,以下簡要描 述了本案之發明精神的原理及相關操作。就一個現有技術的快閃記憶體儲存單元來說,儲存單元的儲存電位係為類比訊號,因此,具有相同儲存狀態之資料位元的不同儲存單元,其儲存電位實質上可能因為偏移有所不同,雖然儲存電位可能不同,然而只要該儲存位係仍在用以區分出一儲存狀態的兩參考電壓準位之間,則對應不同電壓值的儲存電位可被正確判定為相同的儲存狀態,然而一旦偏移後的儲存電位超出或低於上述任一電壓準位,則其原本對應於某一儲存狀態/資料位元將會被誤判為另一不同的儲存狀態/資料位元,因而發生位元錯誤,因此,理想上允許相同儲存狀態/資料位元所對應之儲存電位可以有所不同而位在兩參考電壓準位之間,統計上來說,一個快閃記憶體包括了多個儲存單元,如果每一儲存單元具有四階狀態,則對四階狀態而言,將會有四種不同的電位統計分佈(分別對應於四種儲存狀態/資料位元)。In order to make the reader more able to understand the highlights of the spirit of the present invention, the following brief description The principles and related operations of the inventive spirit of the present invention are described. In a prior art flash memory storage unit, the storage potential of the storage unit is an analog signal. Therefore, different storage units of data bits having the same storage state may have a storage potential substantially due to the offset. Differently, although the storage potential may be different, as long as the storage level is still between the two reference voltage levels for distinguishing a storage state, the storage potentials corresponding to different voltage values may be correctly determined to be the same storage state. However, once the stored potential after the offset exceeds or falls below any of the above voltage levels, the original storage state/data bit will be misjudged as another different storage state/data bit, thus occurring. The bit is wrong, therefore, the storage potential corresponding to the same storage state/data bit is ideally allowed to be different between the two reference voltage levels. Statistically speaking, one flash memory includes multiple memories. Unit, if each storage unit has a fourth-order state, then for the fourth-order state, there will be four different potential statistical distributions (corresponding to each In four storage states / data bits).

請參照第3A圖,第3A圖是現有具有四階狀態之儲存單元的理想電位統計分佈的範例示意圖。為了方便說明,第3A圖的橫軸係代表不同的儲存電位值,縱軸代表儲存單元的個數,D0~D3分別代表儲存狀態‘0’~狀態‘3’(表示不同的資料位元),其中第3A圖所示的電位統計分佈,顯示了在其分佈中心點所對應的電位值對應於較多的儲存單元個數,而遠離分佈中心點的電位值所對應的儲存單元個數則較少,代表了對儲存單元來說,理想上的電位有較高機率落於統計分佈的中心點位置,然而,這僅表示了其中一種理想範例示意圖,並非是本發明的限制,需注意的是,D0~D3係分別代表理想的電位統計分佈,電位統計分佈兩兩之間並沒有重疊,因此,四階電位統計分佈可藉由三個不同的參考電壓準位T1~T3而被區分出不同的儲存狀態,需注意的是,實際上,當另一個儲存單元的資料寫入/存取時,當前儲存單元的儲存電位會受到該另一個儲存單元之資料寫入/存取的電位牽引影響而產生偏移,使得相對應的電位值產生不當的提升,因此,一儲存單元之四階狀態所 對應的理想電位統計分佈會有所偏移,此外,當該另一個儲存單元的不同資料位元寫入/存取時,當前儲存單元的儲存電位所受到的牽引影響在程度上也會有所不同,因此,就一個快閃記憶體的所有儲存單元來說,不同程度的電位牽引除了會使得四階不同儲存狀態所對應的不同電位統計分佈產生偏移之外,亦會對該些統計分佈產生擴展效果,請參考第3B圖,第3B圖是第3A圖所示之電位統計分佈的一範例示意圖,以虛線繪示的統計分佈D0’~D3’分別表示偏移後之電位統計分佈,理想統計分佈D0~D3與D0’~D3’係分別形成實際經過擴展的統計分佈(如第3B圖所示之點線部分)。請參考第3C圖,第3C圖是兩實際電位統計分佈發生部分重疊的示意圖,如第3C圖所示,M0代表理想的兩電位統計分佈,M1代表偏移後的兩電位統計分佈,M2代表擴展的兩電位統計分佈,如圖所示,擴展的兩電位統計分佈的尾端在中間位置處發生部分重疊,使得一儲存單元的儲存電位若是落在中間部分,則可能是分屬兩不同儲存狀態所對應的電位統計分佈,因此,在儲存狀態或資料位元判讀時無法正確判定,極有可能發生位元錯誤的結果。Please refer to FIG. 3A. FIG. 3A is a schematic diagram showing an example of an ideal potential statistical distribution of a conventional storage unit having a fourth-order state. For convenience of explanation, the horizontal axis of Fig. 3A represents different storage potential values, the vertical axis represents the number of storage units, and D0~D3 represent storage state '0' to state '3' (representing different data bits). The potential statistical distribution shown in FIG. 3A shows that the potential value corresponding to the distribution center point corresponds to a larger number of storage units, and the number of storage units corresponding to the potential value away from the distribution center point is Less, it means that for the storage unit, the ideal potential has a higher probability of falling at the center point of the statistical distribution. However, this only shows one of the ideal example diagrams, which is not a limitation of the present invention. Yes, the D0~D3 series represent the ideal potential statistical distribution, and the potential statistical distribution does not overlap between the two. Therefore, the fourth-order potential statistical distribution can be distinguished by three different reference voltage levels T1~T3. Different storage states, it should be noted that, in fact, when the data of another storage unit is written/accessed, the storage potential of the current storage unit is written by the data of the other storage unit/ Traction taken to generate an offset potential so that the potential value corresponding to unduly increase, and therefore, a four-stage state of the storage unit The corresponding ideal potential statistical distribution will be offset. In addition, when the different data bits of the other storage unit are written/accessed, the traction potential of the current storage unit will be affected to some extent. Differently, therefore, for all the storage units of a flash memory, different degrees of potential traction will not only cause the offset of the different potential statistical distributions corresponding to the fourth-order different storage states, but also the statistical distribution. For the expansion effect, please refer to FIG. 3B. FIG. 3B is an example diagram of the potential statistical distribution shown in FIG. 3A. The statistical distribution D0′~D3′ indicated by the dotted line respectively indicates the potential distribution of the potential after the offset. The ideal statistical distributions D0~D3 and D0'~D3' form an actual expanded statistical distribution (such as the dotted line portion shown in Fig. 3B). Please refer to Figure 3C. Figure 3C is a schematic diagram showing partial overlap of the actual potential statistical distribution. As shown in Figure 3C, M0 represents the ideal two-potential statistical distribution, M1 represents the two-potential statistical distribution after the offset, and M2 represents The extended two-potential statistical distribution, as shown in the figure, the end of the extended two-potential statistical distribution partially overlaps at the intermediate position, so that if the storage potential of a storage unit falls in the middle part, it may belong to two different stores. The statistical distribution of the potential corresponding to the state, therefore, cannot be correctly determined in the storage state or data bit interpretation, and the result of the bit error is highly likely to occur.

為了降低位元錯誤率,本發明之實施例中,記憶體控制器110在資料寫入/存取時,以四階儲存狀態的儲存單元(具有兩個資料位元)為例,係先寫入同一字線的最低位元LSB,接著再寫入該字線的最高位元MSB,使得儲存單元在資料寫入時,分成兩階段的電壓值提升,例如,對於狀態“3”的資料來說,寫入該筆資料至儲存單元時,先使快閃記憶體120之一儲存單元將相對應浮動閘的電壓值提升至狀態“2”所對應的電位範圍,之後再提升至狀態“3”所對應的電位範圍,以避免直接將浮動閘的電壓值提升至狀態‘‘3”所對應的電位範圍而產生更大程度的電位牽引影響。此外,如前所述的錯誤更正碼單元130的操作,記憶體控制器110利用錯誤更正碼單元130參考鄰近儲存單元的資料位元,將當前儲存單元的電位成因進行分類,並至少將其分為兩類,分別是影響較小(或最小)的第一類型以及影響較大(或最 大)的第二類型,在分類之後,根據不同的類型,決定對當前儲存單元的資料位元進行不同的位元修正以達到位元互換,降低位元錯誤發生率。In order to reduce the bit error rate, in the embodiment of the present invention, the memory controller 110 takes the storage unit of the fourth-order storage state (having two data bits) as an example in the data writing/accessing, and writes first. Entering the lowest bit LSB of the same word line, and then writing to the highest bit MSB of the word line, so that the storage unit is divided into two stages of voltage value increase when the data is written, for example, for the data of the state "3" When the data is written to the storage unit, the storage unit of the flash memory 120 first raises the voltage value of the corresponding floating gate to the potential range corresponding to the state “2”, and then raises to the state “3”. The corresponding potential range is to avoid directly increasing the voltage value of the floating gate to the potential range corresponding to the state '3' to generate a greater degree of potential traction effect. Further, the error correction code unit 130 as described above. The memory controller 110 uses the error correction code unit 130 to refer to the data bits of the adjacent storage unit, classifies the potential causes of the current storage unit, and classifies them into at least two types, respectively, with less impact ( Minimum) a first type and greater impact (or most The second type of large, after classification, according to different types, decide to perform different bit modification on the data bits of the current storage unit to achieve bit swapping, and reduce the bit error rate.

請參考第4A圖,第4A圖所示是本發明之實施例中通過不同的位元修正操作而等效上達到分別利用不同參考電壓準位TH1、TH2來判斷具有不同電位成因之不同儲存單元之資料位元的示意圖,如第4圖所示,假設原先用以區別兩儲存狀態的參考電壓準位係位於第4A圖所示之TH,也就是說,當兩電位統計分佈分別擴展而造成各自的尾端部份彼此重疊,在此情況下,一般快閃記憶體120係使用參考電壓準位TH並搭配控制器中的錯誤更正碼操作,就可以得到正確的資料位元,然而,控制器的錯誤更正碼操作能夠解開的位元個數有限,當一個碼字的資料位元之大部分相對應的電位值是落在電壓準位TH附近時,極有可能是會判斷錯誤而導致位元錯誤率偏高,為了解決此一問題,記憶體控制器110中的錯誤更正碼單元130在得知單獨的錯誤更正碼操作並無法得到正確的資料位元時,錯誤更正碼單元130會進行電位成因的類型判斷,舉例來說,當錯誤更正碼單元130判斷出目前儲存單元的儲存電位係受到鄰近儲存單元的儲存狀態為狀態‘0’或狀態‘2’所影響時,錯誤更正碼單元130將該當前的儲存單元分類為第一類型,亦即,被影響較小或最小的類型,反之,當錯誤更正碼單元130判斷出目前儲存單元的儲存電位會受到鄰近儲存單元的儲存狀態為狀態‘1’或狀態‘3’所影響,錯誤更正碼單元130將該儲存單元分類為第二類型,亦即,被影響較大或最大的類型,並根據不同的分類類型,進行不同的位元修正,以達到位元互換,等效上達到使用不同電壓值的參考電壓準位來區分當前儲存單元的儲存狀態之效果,如第4A圖所示,由於錯誤更正碼單元130可將擴展後的電位統計分佈進行兩個不同類型的分類,因此,原先擴展後的統計分佈可被區分為實線曲線所示的部分以及虛線曲線所示的部分,其中實線曲線所示的部分代表被影響較小的第一分類類型,而虛線曲線所示的部分代表被影響較大的第二分類 類型,針對實線曲線所示的第一類型,當一儲存單元被分類為第一類型時,錯誤更正碼單元130係判斷出該儲存單元的儲存電位所受到的不當電壓提升比較少或沒有被不當提升,在實際上的電位分佈係如實線曲線的部分所示,若以電壓準位TH1作為參考電壓準位來區分儲存狀態/資料位元,則可正確得出該儲存單元的儲存狀態/資料位元,而若以現有技術中的電壓準位TH作為參考電壓準位,則TH1~TH之間的電位所對應的資料位元會被誤判,因此,當錯誤更正碼單元130發現目前的資料無法被正確解碼,且又將目前儲存單元分類為第一類型時,表示目前儲存單元的儲存電位可能落在TH1~TH之間,使得資料位元被誤判,此時,錯誤更正碼單元130進行資料位元修正,即可得到正確的資料位元,有效降低位元錯誤率,關於資料位元修正,舉例來說,假設第4A圖中TH左邊是對應於資料位元‘01’,而TH右邊是對應於資料位元‘10’,當錯誤更正碼單元130發現目前的資料無法被正確解碼,且又將目前儲存單元分類為第一類型時,表示目前儲存單元的儲存電位可能落在TH1~TH之間(實線所表示的分佈),其資料位元被誤判為‘01’,此時錯誤更正碼單元130將被誤判的資料位元‘01’換為‘10’,就可以降低位元錯誤,達到有效的更正;以上資料位元‘01’、‘10’的舉例只是作為例子說明之用,並非是本發明的限制。而就另一方面來說,TH1~TH之間的電位所對應的儲存狀態/資料位元被更正為另一儲存狀態/資料位元,雖然實際上並沒有調整參考電壓來進行資料的重新讀取與判讀,然而等效上可以得到與從電壓準位TH開始逐步向下微調電壓值以得到電壓準位TH1並使用電壓準位TH1來進行資料的重新讀取判讀的相同結果。Please refer to FIG. 4A. FIG. 4A is a diagram showing different storage units having different potential generations by different reference voltage levels TH1 and TH2 by different bit correction operations in the embodiment of the present invention. The schematic diagram of the data bit, as shown in Fig. 4, assumes that the reference voltage level originally used to distinguish the two storage states is located in the TH shown in Fig. 4A, that is, when the statistical distribution of the two potentials respectively expands. The respective tail portions overlap each other. In this case, the general flash memory 120 uses the reference voltage level TH and operates with the error correction code in the controller to obtain the correct data bit. However, the control The number of bits that can be solved by the error correction code operation is limited. When the corresponding potential value of most of the data bits of a code word falls near the voltage level TH, it is highly probable that an error will be judged. The bit error rate is caused to be high. In order to solve this problem, the error correction code unit 130 in the memory controller 110 knows that the individual error correction code operation cannot obtain the correct data bit. The error correction code unit 130 performs the type determination of the potential cause. For example, when the error correction code unit 130 determines that the storage potential of the current storage unit is subjected to the storage state of the adjacent storage unit as the state '0' or the state '2' When affected, the error correction code unit 130 classifies the current storage unit into a first type, that is, a type that is affected to be smaller or smallest. Conversely, when the error correction code unit 130 determines that the storage potential of the current storage unit is When the storage state of the adjacent storage unit is affected by the state '1' or the state '3', the error correction code unit 130 classifies the storage unit into the second type, that is, the type that is affected by the largest or largest, and according to different Classification type, perform different bit modification to achieve bit swapping, equivalently achieve the effect of using the reference voltage level of different voltage values to distinguish the storage state of the current storage unit, as shown in Figure 4A, due to errors The correction code unit 130 can perform the classification of the expanded potential statistics by two different types, so that the originally expanded statistical distribution can be Divided into the part shown by the solid curve and the part shown by the dashed curve, where the part shown by the solid curve represents the first classification type that is affected less, and the part shown by the dotted curve represents the larger affected part. Second classification Type, for the first type shown by the solid curve, when a storage unit is classified into the first type, the error correction code unit 130 determines that the storage potential of the storage unit is subjected to less or less Improper lifting, in the actual potential distribution as shown in the solid curve section, if the voltage level TH1 is used as the reference voltage level to distinguish the storage state / data bit, the storage state of the storage unit can be correctly obtained / The data bit, and if the voltage level TH in the prior art is used as the reference voltage level, the data bit corresponding to the potential between TH1 and TH is misjudged. Therefore, when the error correction code unit 130 finds the current When the data cannot be correctly decoded, and the current storage unit is classified into the first type, it indicates that the storage potential of the current storage unit may fall between TH1 and TH, so that the data bit is misjudged. At this time, the error correction code unit 130 By performing data bit correction, the correct data bit can be obtained, and the bit error rate can be effectively reduced. For the data bit correction, for example, it is assumed that the left side of TH in FIG. 4A is It should be in the data bit '01', and the right side of TH corresponds to the data bit '10'. When the error correction code unit 130 finds that the current data cannot be correctly decoded and classifies the current storage unit into the first type, It indicates that the storage potential of the current storage unit may fall between TH1 and TH (the distribution indicated by the solid line), and the data bit is misjudged as '01'. At this time, the error correction unit 130 will be misjudged data bit' If 01' is changed to '10', the bit error can be reduced to achieve effective correction; the above examples of data bits '01' and '10' are for illustrative purposes only and are not limiting of the present invention. On the other hand, the storage state/data bit corresponding to the potential between TH1 and TH is corrected to another storage state/data bit, although the reference voltage is not actually adjusted for data rereading. Taking and interpreting, however, the same result can be obtained equivalently as to gradually down-regulate the voltage value from the voltage level TH to obtain the voltage level TH1 and use the voltage level TH1 to perform the re-reading of the data.

反之,當錯誤更正碼單元130發現目前的資料無法被正確解碼,且又將目前儲存單元分類為第二類型時,表示目前儲存單元的儲存電位可能落在TH~TH2之間,使得資料位元被誤判,此時,錯誤更正碼單元130進行資料位元修正,即可得到正確的資料位元,有效降低位元錯誤率,關於資料 位元修正,舉例來說,第4A圖中TH左邊是對應於資料位元‘01’,而TH右邊是對應於資料位元‘10’,當錯誤更正碼單元130發現目前的資料無法被正確解碼,且又將目前儲存單元分類為第二類型時,表示目前儲存單元的儲存電位可能落在TH~TH2之間(虛線所表示的分佈),其資料位元被誤判為‘10’,此時錯誤更正碼單元130將被誤判的資料位元‘10’換為‘01’,就可以降低位元錯誤,達到有效的更正;以上資料位元‘01’、‘10’的舉例只是作為例子說明之用,並非是本發明的限制。而就另一方面來說,TH~TH2之間的電位所對應的儲存狀態/資料位元被更正為另一儲存狀態/資料位元,雖然實際上並沒有調整參考電壓來進行資料的重新讀取與判讀,然而等效上可以得到與從電壓準位TH開始逐步向上微調電壓值以得到電壓準位TH2並使用電壓準位TH2來進行資料的重新讀取判讀的相同結果。需注意的是,在上述範例中,將一筆錯誤的資料位元‘01’修正為正確的資料位元‘10’以及將另一筆錯誤的資料位元‘10’修正為正確的資料位元‘01’,即是本發明之實施例所稱的位元互換操作。On the other hand, when the error correction code unit 130 finds that the current data cannot be correctly decoded and classifies the current storage unit into the second type, it indicates that the storage potential of the current storage unit may fall between TH and TH2, so that the data bit It is misjudged. At this time, the error correction code unit 130 performs data bit correction to obtain the correct data bit, effectively reducing the bit error rate, and Bit modification, for example, the left side of TH in Figure 4A corresponds to the data bit '01', and the right side of TH corresponds to the data bit '10'. When the error correction code unit 130 finds that the current data cannot be correctly Decoding, and classifying the current storage unit into the second type, indicates that the storage potential of the current storage unit may fall between TH and TH2 (distribution represented by a broken line), and the data bit is misjudged as '10'. When the error correction code unit 130 changes the misjudged data bit '10' to '01', the bit error can be reduced to achieve effective correction; the above data bits '01', '10' are just examples. The description is not intended to be a limitation of the invention. On the other hand, the storage state/data bit corresponding to the potential between TH and TH2 is corrected to another storage state/data bit, although the reference voltage is not actually adjusted for data rereading. Taking and interpreting, however, the same result can be obtained equivalently as to gradually fine-tune the voltage value from the voltage level TH to obtain the voltage level TH2 and use the voltage level TH2 to perform the re-reading of the data. It should be noted that in the above example, an incorrect data bit '01' is corrected to the correct data bit '10' and another wrong data bit '10' is corrected to the correct data bit ' 01' is the bit swapping operation referred to in the embodiment of the present invention.

對於位元互換操作來說,本發明的實施例提供了:判斷一第一儲存單元之一儲存電位所對應的電位成因類型,以產生一第一判斷結果,以及根據該第一判斷結果,修正該第一儲存單元之該儲存電位所對應之該資料位元。另外,本實施例也提供了:判斷一第二儲存單元之一儲存電位所對應的一電位成因類型,以產生一第二判斷結果,以及根據該第二判斷結果,修正該第二儲存單元之該儲存電位所對應之該資料位元,其中該第一儲存單元之原先的資料位元係等於該第二儲存單元之修正後的資料位元,該第一儲存單元之修正後的資料位元係等於該第二儲存單元之原先的資料位元,以及分別修正該第一、第二儲存單元之資料位元的操作係形成上述的資料位元互換操作。For the bit swapping operation, an embodiment of the present invention provides: determining a potential cause type corresponding to a storage potential of a first storage unit to generate a first determination result, and correcting according to the first determination result The data bit corresponding to the storage potential of the first storage unit. In addition, the embodiment also provides: determining a potential cause type corresponding to a storage potential of a second storage unit to generate a second determination result, and correcting the second storage unit according to the second determination result. The data bit corresponding to the storage potential, wherein the original data bit of the first storage unit is equal to the modified data bit of the second storage unit, and the modified data bit of the first storage unit The data bit equal to the original data bit of the second storage unit and the operation unit for modifying the data bits of the first and second storage units respectively form the above-mentioned data bit swapping operation.

請參照第4B圖,第4B圖是第4A圖所示之擴展後的電位統計分 佈經過位元互換操作後的等效示意圖,如第4B圖所示,在經過位元互換的處理後,等效上原TH1~TH之間的電位所對應的錯誤儲存狀態/資料位元可以被修正為另一正確的儲存狀態/資料位元,如圖所示,等效上部分的實線曲線部分被重新繪示於TH的右邊,另外,原TH~TH2之間的電位所對應的錯誤儲存狀態/資料位元也可以被修正為另一正確的儲存狀態/資料位元,如圖所示,等效上部分的虛線曲線部分被重新繪示於TH的左邊,如此一來,可降低整體電位統計分佈的中心點與附近的儲存單元個數,使得碼字資料位元所對應之儲存單元落在中心點及其附近區間的個數較少或幾乎為零,換言之,可大幅降低碼字資料位元的錯誤發生率。因此,較佳實施例中,當現有的錯誤更正碼操作無法有效更正碼字的位元錯誤(代表位元錯誤個數過高)時,錯誤更正碼單元130可以執行上述的位元互換操作,降低碼字中的錯誤位元個數,當碼字中的錯誤資料位元個數降低時,錯誤更正碼單元130即能夠有效更正碼字的位元錯誤,而得到正確的碼字資料內容,因此,通過上述的位元互換操作可以減輕無法有效更正碼字位元錯誤的機率。Please refer to FIG. 4B, and FIG. 4B is an expanded potential statistic score shown in FIG. 4A. The equivalent diagram of the cloth after the bit swapping operation, as shown in FIG. 4B, after the processing of the bit swapping, the error storage state/data bit corresponding to the potential between the upper and lower original TH1~TH can be Corrected to another correct storage state/data bit, as shown in the figure, the solid curve part of the equivalent upper part is re-drawn on the right side of TH, and the error corresponding to the potential between the original TH~TH2 The storage state/data bit can also be modified to another correct storage state/data bit. As shown, the dotted curve portion of the equivalent upper portion is redrawn on the left side of TH, thus reducing The central point of the overall potential statistical distribution and the number of nearby storage units, so that the number of storage units corresponding to the codeword data bits falling in the center point and its vicinity is less or almost zero, in other words, the code can be greatly reduced The error rate of word data bits. Therefore, in the preferred embodiment, when the existing error correction code operation cannot effectively correct the bit error of the codeword (representing the number of bit errors is too high), the error correction code unit 130 can perform the bit swapping operation described above. The number of error bits in the codeword is reduced. When the number of error data bits in the codeword is reduced, the error correction code unit 130 can effectively correct the bit error of the codeword, and obtain the correct codeword data content. Therefore, the probability of not being able to effectively correct the codeword bit error can be alleviated by the above-described bit swapping operation.

再者,上述段落所述的儲存單元及鄰近儲存單元的空間關係可以是位於快閃記憶體120內的相同字線上,或是亦可位於不同的字線上,換言之,如果兩儲存單元是位在相同字線上,則鄰近儲存單元會位在目前進行資料讀取之儲存單元的左右兩邊,而如果兩儲存單元是位在不相同的字線上,則鄰近儲存單元可以位在目前進行資料讀取之儲存單元的上方位置或下方位置,也就是說,鄰近儲存單元可以位在當前進行資料讀取之字線的上一條字線或是位在當前進行資料讀取之字線的下一條字線,如果鄰近儲存單元位在上一條字線,則記憶體控制器110可以在存取單元135的前一次資料讀取後,先將讀取的資料緩衝以利後續進行電位統計分佈之原因分類的參考之用,另外,如果鄰近儲存單元位在下一條字線,則記憶體控制器110可以利用存取單元135進行下一字線的資料讀取,之後再根據下一字線的資料進行後續電 位統計分佈之成因分類的操作。Furthermore, the spatial relationship between the storage unit and the adjacent storage unit in the above paragraph may be on the same word line in the flash memory 120, or may be on different word lines, in other words, if the two storage units are in position On the same word line, the adjacent storage unit will be located on the left and right sides of the storage unit currently reading data, and if the two storage units are located on different word lines, the adjacent storage unit can be located in the current data reading. The upper position or the lower position of the storage unit, that is, the adjacent storage unit can be located at the previous word line of the word line currently reading data or the next word line of the word line currently reading the data. If the adjacent storage unit is in the previous word line, the memory controller 110 may buffer the read data to facilitate the subsequent classification of the cause of the potential statistical distribution after the previous data reading by the access unit 135. In addition, if the adjacent storage unit is in the next word line, the memory controller 110 can use the access unit 135 to perform the next word line. Reading, after then based on the information of the next electrically subsequent word line The operation of the classification of the statistical distribution of bit statistics.

再者,上述較佳實施例中,雖然係利用具有四階儲存狀態之儲存單元的實現作為說明,然而這並非是本發明的限制,在其他實施例,亦可利用具有二階儲存狀態之儲存單元或是具有八階以上之儲存狀態的儲存單元來實現之,換言之,本發明的技術精神實可適用在任一種類的儲存單元。再者,本發明的技術精神在於根據不同程度的電位牽引影響而將一個儲存單元的儲存電位分類為不同的成因類型(亦即受影響較小的第一類型以及受影響較大的第二類型),之後再根據不同的成因類型來進行資料位元的互換或修正,等效上可以達到與調整不同的電壓準位來重新判斷資料位元的相同技術效果,此外,較佳實施例中係以兩階段的資料寫入(亦即兩階段的電壓提升)作為說明,然此並非是本發明的限制,其他實施例中,上述的操作亦可適用在單一階段的資料寫入(亦即僅一階段的電壓提升)。Moreover, in the above preferred embodiment, although the implementation of the storage unit having the fourth-order storage state is taken as an illustration, this is not a limitation of the present invention. In other embodiments, the storage unit having the second-order storage state may also be utilized. Or a storage unit having a storage state of eight or more orders is realized, in other words, the technical spirit of the present invention can be applied to any kind of storage unit. Furthermore, the technical spirit of the present invention is to classify the storage potential of one storage unit into different genetic types according to different degrees of potential traction effects (ie, the first type that is less affected and the second type that is affected more). After that, the data bits are interchanged or modified according to different genetic types, and equivalently, the same voltage level can be adjusted to adjust the same technical effect of the data bits, and in the preferred embodiment, The two-stage data writing (that is, the two-stage voltage boosting) is taken as an illustration, but this is not a limitation of the present invention. In other embodiments, the above operation can also be applied to a single stage of data writing (ie, only One stage voltage boost).

以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。The above are only the preferred embodiments of the present invention, and all changes and modifications made to the scope of the present invention should be within the scope of the present invention.

100‧‧‧記憶裝置100‧‧‧ memory device

110‧‧‧記憶體控制器110‧‧‧ memory controller

112‧‧‧微處理器112‧‧‧Microprocessor

112C‧‧‧程式碼112C‧‧‧ Code

112M‧‧‧唯讀記憶體112M‧‧‧Reading memory

114‧‧‧控制邏輯114‧‧‧Control logic

118‧‧‧介面邏輯118‧‧‧Interface logic

120‧‧‧快閃記憶體120‧‧‧Flash memory

130‧‧‧錯誤更正碼單元130‧‧‧Error correction code unit

135‧‧‧存取單元135‧‧‧access unit

Claims (15)

一種修正一快閃記憶體之至少一儲存單元之一資料位元的方法,其包含有:(a)判斷一第一儲存單元之一儲存電位所對應的一電位成因類型,以產生一第一判斷結果;以及(b)根據該第一判斷結果,修正該第一儲存單元之該儲存電位所對應之該資料位元,其中該電位成因類型指示另一儲存單元之一儲存電荷對該第一儲存單元之該儲存電荷所造成的電位牽引。 A method for modifying a data bit of at least one storage unit of a flash memory, comprising: (a) determining a potential cause type corresponding to a storage potential of a first storage unit to generate a first Determining a result; and (b) correcting the data bit corresponding to the storage potential of the first storage unit according to the first determination result, wherein the potential cause type indicates that one of the other storage units stores a charge for the first The potential draw caused by the stored charge of the storage unit. 如申請專利範圍第1項所述的方法,其中產生該第一判斷結果的步驟包含有:根據一第一鄰近儲存單元之一資料位元,判斷該第一儲存單元之該儲存電位所對應的該電位成因類型。 The method of claim 1, wherein the step of generating the first determination result comprises: determining, according to a data bit of a first adjacent storage unit, the storage potential corresponding to the first storage unit This potential cause type. 如申請專利範圍第2項所述的方法,其中該第一儲存單元具有四階儲存狀態,以及判斷該第一儲存單元之該儲存電位所對應的該電位成因類型之步驟包含有:當該資料位元指示一抹除狀態‘0’或一資料狀態‘2’時,判斷該電位成因類型係一第一類型;以及當該資料位元指示一資料狀態‘1’或一資料狀態‘3’時,判斷該電位成因類型係一第二類型;其中該第二類型所指示的一電位偏移影響係高於該第一類型所指示的一電位偏移影響。 The method of claim 2, wherein the first storage unit has a fourth-order storage state, and the step of determining the potential cause type corresponding to the storage potential of the first storage unit comprises: when the data When the bit indicates a erase state '0' or a data state '2', it is determined that the potential cause type is a first type; and when the data bit indicates a data state '1' or a data state '3' And determining that the potential cause type is a second type; wherein a potential offset effect indicated by the second type is higher than a potential offset effect indicated by the first type. 如申請專利範圍第2項所述的方法,其中該第一儲存單元與該第一鄰近儲存單元係位於不同字線,以及該第一鄰近儲存單元係位於該第一儲存單元的 下方位置。 The method of claim 2, wherein the first storage unit and the first adjacent storage unit are located on different word lines, and the first adjacent storage unit is located in the first storage unit Below position. 如申請專利範圍第2項所述的方法,其中該第一儲存單元與該第一鄰近儲存單元係位於不同字線,以及該第一鄰近儲存單元係位於該第一儲存單元的上方位置。 The method of claim 2, wherein the first storage unit and the first adjacent storage unit are located on different word lines, and the first adjacent storage unit is located above the first storage unit. 如申請專利範圍第1項所述的方法,另包含有:判斷一第二儲存單元之一儲存電位所對應的一電位成因類型,以產生一第二判斷結果;以及根據該第二判斷結果,修正該第二儲存單元之該儲存電位所對應之該資料位元;其中該第一儲存單元之原先的資料位元係等於該第二儲存單元之修正後的資料位元,該第一儲存單元之修正後的資料位元係等於該第二儲存單元之原先的資料位元,以及分別修正該第一、第二儲存單元之資料位元的操作係形成一資料位元互換操作。 The method of claim 1, further comprising: determining a potential cause type corresponding to a storage potential of a second storage unit to generate a second determination result; and according to the second determination result, Correcting the data bit corresponding to the storage potential of the second storage unit; wherein the original data bit of the first storage unit is equal to the modified data bit of the second storage unit, the first storage unit The modified data bit is equal to the original data bit of the second storage unit, and the operation system for modifying the data bits of the first and second storage units respectively forms a data bit swapping operation. 如申請專利範圍第1項所述的方法,其包含有:執行一錯誤更正碼(error correction code,ECC)操作,判斷一碼字的錯誤位元是否能夠被更正;以及當該碼字的錯誤位元無法被有效更正時,執行步驟(a)至步驟(b)。 The method of claim 1, comprising: performing an error correction code (ECC) operation, determining whether an error bit of a codeword can be corrected; and when the codeword is incorrect Steps (a) through (b) are performed when the bit cannot be effectively corrected. 一種修正一快閃記憶體之至少一儲存單元之一資料位元的控制器,其包含有:一存取單元,用以讀取一第一儲存單元之一儲存電位所對應的一資料位元;以及一錯誤碼更正單元,耦接至該存取單元,用以判斷該第一儲存單元之該 儲存電位所對應的一電位成因類型,以產生一第一判斷結果,以及根據該第一判斷結果,修正該第一儲存單元之該儲存電位所對應之該資料位元,其中該電位成因類型指示另一儲存單元之一儲存電荷對該第一儲存單元之該儲存電荷所造成的電位牽引。 A controller for modifying a data bit of at least one storage unit of a flash memory, comprising: an access unit for reading a data bit corresponding to a storage potential of a first storage unit And an error code correction unit coupled to the access unit for determining the first storage unit Storing a potential cause type corresponding to the potential to generate a first determination result, and correcting the data bit corresponding to the storage potential of the first storage unit according to the first determination result, wherein the potential cause type indication One of the other storage units stores a potential draw caused by the stored charge of the first storage unit. 如申請專利範圍第8項所述的控制器,其中該錯誤碼更正單元係根據一第一鄰近儲存單元之一資料位元,判斷該第一儲存單元之該儲存電位所對應的該電位成因類型。 The controller of claim 8, wherein the error code correction unit determines the potential cause type corresponding to the storage potential of the first storage unit according to a data bit of a first adjacent storage unit. . 如申請專利範圍第9項所述的控制器,其中該第一儲存單元具有四階儲存狀態,以及當該資料位元指示一抹除狀態‘0’或一資料狀態‘2’時,該錯誤碼更正單元係判斷該電位成因類型係一第一類型;以及當該資料位元指示一資料狀態‘1’或一資料狀態‘3’時,該錯誤碼更正單元係判斷該電位成因類型係一第二類型;其中該第二類型所指示的一電位偏移影響係高於該第一類型所指示的一電位偏移影響。 The controller of claim 9, wherein the first storage unit has a fourth-order storage state, and the error code is when the data bit indicates an erase state '0' or a data state '2' The correction unit determines that the potential cause type is a first type; and when the data bit indicates a data status '1' or a data status '3', the error code correction unit determines the potential cause type The second type; wherein a potential offset effect indicated by the second type is higher than a potential offset effect indicated by the first type. 如申請專利範圍第9項所述的控制器,其中該第一儲存單元與該第一鄰近儲存單元係位於不同字線,以及該第一鄰近儲存單元係位於該第一儲存單元的下方位置。 The controller of claim 9, wherein the first storage unit and the first adjacent storage unit are located on different word lines, and the first adjacent storage unit is located below the first storage unit. 如申請專利範圍第9項所述的控制器,其中該第一儲存單元與該第一鄰近儲存單元係位於不同字線,以及該第一鄰近儲存單元係位於該第一儲存單元的上方位置。 The controller of claim 9, wherein the first storage unit and the first adjacent storage unit are located on different word lines, and the first adjacent storage unit is located above the first storage unit. 如申請專利範圍第8項所述的控制器,其中該錯誤碼更正單元係:判斷一第二儲存單元之一儲存電位所對應的一電位成因類型,以產生一第二判斷 結果;以及根據該第二判斷結果,修正該第二儲存單元之該儲存電位所對應之該資料位元;其中該第一儲存單元之原先的資料位元係等於該第二儲存單元之修正後的資料位元,該第一儲存單元之修正後的資料位元係等於該第二儲存單元之原先的資料位元,以及分別修正該第一、第二儲存單元之資料位元的操作係形成一資料位元互換操作。 The controller of claim 8, wherein the error code correction unit is: determining a potential cause type corresponding to a storage potential of a second storage unit to generate a second judgment And determining, according to the second determination result, the data bit corresponding to the storage potential of the second storage unit; wherein the original data bit of the first storage unit is equal to the corrected of the second storage unit Data bit, the corrected data bit of the first storage unit is equal to the original data bit of the second storage unit, and the operating system for correcting the data bits of the first and second storage units respectively A data bit swap operation. 如申請專利範圍第8項所述的控制器,其中該錯誤碼更正單元係執行一錯誤更正碼操作,判斷一碼字的錯誤位元是否能夠被更正;以及當該碼字的錯誤位元無法被有效更正時,該錯誤碼更正單元才判斷該第一儲存單元之該儲存電位所對應的該電位成因類型,以產生該第一判斷結果,以及根據該第一判斷結果,修正該第一儲存單元之該儲存電位所對應之該資料位元。 The controller of claim 8, wherein the error code correction unit performs an error correction code operation to determine whether an error bit of a code word can be corrected; and when the error bit of the code word cannot be When the error correction unit is validated, the error code correction unit determines the potential cause type corresponding to the storage potential of the first storage unit to generate the first determination result, and corrects the first storage according to the first determination result. The data bit corresponding to the storage potential of the unit. 一種記憶裝置,其包含有:一快閃記憶體,具有一儲存單元,該儲存單元具有一儲存電位,該儲存電位對應於一資料位元;以及一記憶體控制器,耦接至該快閃記憶體,用來讀取該儲存單元之該儲存電位所對應的該資料位元,判斷該儲存單元之該儲存電位所對應的一電位成因類型,以產生一判斷結果,以及根據該判斷結果,修正該儲存單元之該儲存電位所對應之該資料位元,其中該電位成因類型指示另一儲存單元之一儲存電荷對該儲存單元之該儲存電荷所造成的電位牽引。 A memory device comprising: a flash memory having a storage unit, the storage unit having a storage potential corresponding to a data bit; and a memory controller coupled to the flash a memory for reading the data bit corresponding to the storage potential of the storage unit, determining a potential cause type corresponding to the storage potential of the storage unit, to generate a determination result, and according to the determination result, Correcting the data bit corresponding to the storage potential of the storage unit, wherein the potential cause type indicates that one of the other storage units stores a potential pull caused by the stored charge of the storage unit.
TW102119960A 2012-06-08 2013-06-05 Method, controller, and memory device for correcting data bit(s) of at least one cell of flash memory TWI514405B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/912,215 US9110824B2 (en) 2012-06-08 2013-06-07 Method, controller, and memory device for correcting data bit(s) of at least one cell of flash memory
KR1020140042189A KR101606498B1 (en) 2013-06-05 2014-04-09 Method, controller, and memory device for correcting data bit(s) of at least one cell of flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201261657035P 2012-06-08 2012-06-08

Publications (2)

Publication Number Publication Date
TW201351426A TW201351426A (en) 2013-12-16
TWI514405B true TWI514405B (en) 2015-12-21

Family

ID=50158104

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102119960A TWI514405B (en) 2012-06-08 2013-06-05 Method, controller, and memory device for correcting data bit(s) of at least one cell of flash memory

Country Status (1)

Country Link
TW (1) TWI514405B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI771243B (en) * 2021-12-08 2022-07-11 群聯電子股份有限公司 Memory control method, memory storage device and memory control circuit unit

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI539282B (en) 2014-10-13 2016-06-21 慧榮科技股份有限公司 Non-volatile memory device and controller
CN114138207B (en) * 2021-12-13 2023-06-13 群联电子股份有限公司 Memory control method, memory storage device and memory control circuit unit

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7027329B2 (en) * 2003-07-04 2006-04-11 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory and programming method for the same
US20100135075A1 (en) * 2007-05-16 2010-06-03 Micron Technology, Inc. Reading non-volatile multilevel memory cells
US7904790B2 (en) * 2007-01-08 2011-03-08 Samsung Electronics Co., Ltd. Flash memory device error correction code controllers and related methods and memory systems
US20110149658A1 (en) * 2007-08-01 2011-06-23 Seiichi Aritome Method, apparatus, and system for improved read operation in memory
US20110157993A1 (en) * 2009-12-31 2011-06-30 Hynix Semiconductor Inc. Semiconductor memory device and read method thereof
US8112689B2 (en) * 2007-01-03 2012-02-07 Samsung Electronics Co., Ltd. ECC controller for use in flash memory device and memory system including the same
US20120033503A1 (en) * 2010-08-09 2012-02-09 Juhyung Kim Charge trap flash memory device and an erasing method thereof

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7027329B2 (en) * 2003-07-04 2006-04-11 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory and programming method for the same
US7149116B2 (en) * 2003-07-04 2006-12-12 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory and programming method for the same
US8112689B2 (en) * 2007-01-03 2012-02-07 Samsung Electronics Co., Ltd. ECC controller for use in flash memory device and memory system including the same
US7904790B2 (en) * 2007-01-08 2011-03-08 Samsung Electronics Co., Ltd. Flash memory device error correction code controllers and related methods and memory systems
US20100135075A1 (en) * 2007-05-16 2010-06-03 Micron Technology, Inc. Reading non-volatile multilevel memory cells
US20110149658A1 (en) * 2007-08-01 2011-06-23 Seiichi Aritome Method, apparatus, and system for improved read operation in memory
US20110157993A1 (en) * 2009-12-31 2011-06-30 Hynix Semiconductor Inc. Semiconductor memory device and read method thereof
US20120033503A1 (en) * 2010-08-09 2012-02-09 Juhyung Kim Charge trap flash memory device and an erasing method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI771243B (en) * 2021-12-08 2022-07-11 群聯電子股份有限公司 Memory control method, memory storage device and memory control circuit unit

Also Published As

Publication number Publication date
TW201351426A (en) 2013-12-16

Similar Documents

Publication Publication Date Title
KR101606498B1 (en) Method, controller, and memory device for correcting data bit(s) of at least one cell of flash memory
US10157098B2 (en) Flash memory apparatus and storage management method for flash memory
US8510637B2 (en) Data reading method, memory storage apparatus and memory controller thereof
US9257187B2 (en) Data storing method, memory control circuit unit and memory storage apparatus
US11231995B2 (en) Providing data of a memory system based on an adjustable error rate
US9159437B2 (en) Device and method for resolving an LM flag issue
US8214725B2 (en) Memory access system
US8578245B2 (en) Data reading method, memory storage apparatus, and controller thereof
US10579518B2 (en) Memory management method and storage controller
US20190012228A1 (en) Data reading method and storage controller
US11573704B2 (en) Memory control method, memory storage device and memory control circuit unit
US10895999B2 (en) Data reading method, storage controller and storage device
US8972653B2 (en) Memory management method, and memory controller and memory storage apparatus using the same
US8385116B2 (en) Nonvolatile semiconductor storage device, controller and threshold adjustment method
CN106297883B (en) Decoding method, memory storage device and memory control circuit unit
US10424383B1 (en) Decoding method and storage controller
US20160188213A1 (en) Memory management method, memory storage device and memory controlling circuit unit
TW202025165A (en) Data reading method, storage controller and storage device
CN112740331A (en) Refreshing data stored at a memory component based on a memory component characteristic component
TWI514405B (en) Method, controller, and memory device for correcting data bit(s) of at least one cell of flash memory
US11068201B2 (en) Flash memory controller, method for managing flash memory module and associated electronic device
TW202027085A (en) Method for improving read retry of flash memory and related controller and storage device
US11204828B2 (en) Management of corruptive read in memory systems
US9312013B1 (en) Configuration method of erase operation, memory controlling circuit unit and memory storage device
US10871909B2 (en) Block management method, memory control circuit unit and apparatus using mapping tables and block recognition machine learning with block parameters as training data