TWI391940B - Non-volatile memory system with soft bit data transmission for error correction control and method of reading the same - Google Patents

Non-volatile memory system with soft bit data transmission for error correction control and method of reading the same Download PDF

Info

Publication number
TWI391940B
TWI391940B TW97110811A TW97110811A TWI391940B TW I391940 B TWI391940 B TW I391940B TW 97110811 A TW97110811 A TW 97110811A TW 97110811 A TW97110811 A TW 97110811A TW I391940 B TWI391940 B TW I391940B
Authority
TW
Taiwan
Prior art keywords
data
subset
read
soft
reading
Prior art date
Application number
TW97110811A
Other languages
Chinese (zh)
Other versions
TW200905692A (en
Inventor
Nima Mokhlesi
Henry Chin
Dengtao Zhao
Original Assignee
Sandisk Technologies 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
Priority claimed from US11/694,948 external-priority patent/US7966546B2/en
Priority claimed from US11/694,947 external-priority patent/US7966550B2/en
Application filed by Sandisk Technologies Inc filed Critical Sandisk Technologies Inc
Publication of TW200905692A publication Critical patent/TW200905692A/en
Application granted granted Critical
Publication of TWI391940B publication Critical patent/TWI391940B/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/563Multilevel memory reading aspects
    • G11C2211/5634Reference cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Description

具有錯誤修正控制之軟位元資料傳輸之非揮發性記憶體系統及其讀取方法Non-volatile memory system with soft bit data transmission with error correction control and reading method thereof

本揭示案之實施例係針對非揮發性記憶體技術。Embodiments of the present disclosure are directed to non-volatile memory technology.

本申請案係關於與本案在同一天申請之同在申請中及已共同讓與之名為"具有錯誤修正控制之軟位元資料傳輸之非揮發性記憶體系統及其讀取方法(Soft Bit Data Transmission for Error Correction Control in Non-Volatile Memory)"的美國專利申請案第11/694,947號,本案交叉參照該案並且以引用的方式併入本文中。This application is related to the non-volatile memory system with soft bit data transmission with error correction control and its reading method (Soft Bit) US Patent Application Serial No. 11/694,947, the disclosure of which is incorporated herein by reference.

半導體記憶體已愈加風行地用於各種電子器件中。舉例而言,非揮發性半導體記憶體用於蜂巢式電話、數位相機、個人數位助理、行動計算器件、非行動計算器件及其他器件中。在最為風行之非揮發性半導體記憶體當中有電可抹除可程式化唯讀記憶體(EEPROM)及快閃記憶體。在快閃記憶體(亦為一種類型之EEPROM)的情況下,與傳統之全特徵EEPROM相比,可在一個步驟中抹除整個記憶體陣列之內容或記憶體之一部分之內容。Semiconductor memory has become increasingly popular in a variety of electronic devices. For example, non-volatile semiconductor memory is used in cellular phones, digital cameras, personal digital assistants, mobile computing devices, non-mobile computing devices, and other devices. Among the most popular non-volatile semiconductor memories are electrically erasable programmable read-only memories (EEPROM) and flash memory. In the case of flash memory (also a type of EEPROM), the contents of the entire memory array or the contents of a portion of the memory can be erased in one step compared to conventional full-featured EEPROMs.

傳統EEPROM及快閃記憶體均利用浮動閘極,該浮動閘極定位於半導體基板中之通道區域上方且與該通道區域絕緣。浮動閘極定位於源極區域與汲極區域之間。控制閘極提供於浮動閘極上方且與浮動閘極絕緣。如此形成之電晶體的臨限電壓(VTH )受保留於浮動閘極上之電荷量的控 制。亦即,在接通電晶體以准許其源極與汲極之間的導電之前必須施加至控制閘極的最小電壓量係由浮動閘極上之電荷位準控制。可用於快閃EEPROM系統中之另一類型的記憶體單元利用非導電性介電材料代替導電性浮動閘極來以非揮發性方式儲存電荷。Both conventional EEPROM and flash memory utilize a floating gate that is positioned above and insulated from the channel region in the semiconductor substrate. The floating gate is positioned between the source region and the drain region. The control gate is provided above the floating gate and insulated from the floating gate. The threshold voltage (V TH ) of the thus formed transistor is controlled by the amount of charge remaining on the floating gate. That is, the minimum amount of voltage that must be applied to the control gate before the transistor is turned on to permit conduction between its source and drain is controlled by the charge level on the floating gate. Another type of memory cell that can be used in a flash EEPROM system utilizes a non-conductive dielectric material instead of a conductive floating gate to store charge in a non-volatile manner.

一些EEPROM及快閃記憶體器件具有用於儲存兩種範圍電荷之浮動閘極,且因此,記憶體元件可在兩種狀態(例如,抹除狀態與程式化狀態)之間加以程式化/抹除。此類快閃記憶體器件有時稱為二進制快閃記憶體器件,因為每一記憶體元件可儲存一資料位元。Some EEPROM and flash memory devices have floating gates for storing two ranges of charge, and thus, the memory elements can be stylized/wiped between two states (eg, erased state and stylized state). except. Such flash memory devices are sometimes referred to as binary flash memory devices because each memory element can store a data bit.

藉由識別多個相異之允許/有效程式化臨限電壓範圍來實施多態(亦稱作多位準)快閃記憶體器件。每一相異臨限電壓範圍對應於編碼於記憶體器件中之一組資料位元之預定值。舉例而言,當每一記憶體元件可置放於對應於四個相異臨限電壓範圍之四個離散電荷帶中之一者中時,該元件便可儲存兩個資料位元。A polymorphic (also known as multi-level) flash memory device is implemented by identifying a plurality of distinct allowed/effectively programmed threshold voltage ranges. Each distinct threshold voltage range corresponds to a predetermined value encoded in a set of data bits in the memory device. For example, when each memory component can be placed in one of four discrete charge bands corresponding to four distinct threshold voltage ranges, the component can store two data bits.

通常,在程式化操作期間施加至控制閘極之程式化電壓VPGM 係以量值隨時間而增加之一連串脈衝的形式而施加。在一可能方法中,脈衝之量值隨每一連續脈衝增加預定步長,例如,0.2至0.4 V。VPGM 可施加至快閃記憶體元件之控制閘極。在程式化脈衝之間的週期中,進行驗證操作。亦即,在連續程式化脈衝之間讀取並行地加以程式化之一群元件中之每一元件的程式化位準,以判定其等於還是大於元件所程式化至之驗證位準。對於多態快閃記憶體元件 陣列而言,可對元件之每一狀態執行驗證步驟,以判定該元件是否已達到其資料關聯驗證位準。舉例而言,能夠在四個狀態下儲存資料之多態記憶體元件可能需要對三個比較點執行驗證操作。Typically, the stylized voltage V PGM applied to the control gate during the stylization operation is applied in the form of a series of pulses that increase in magnitude over time. In one possible approach, the magnitude of the pulse is increased by a predetermined step size, for example, 0.2 to 0.4 V, with each successive pulse. V PGM can be applied to the control gate of the flash memory component. The verification operation is performed during the period between the stylized pulses. That is, the stylized level of each of a group of elements is programmed in parallel between consecutive stylized pulses to determine whether it is equal to or greater than the verify level to which the element is programmed. For a multi-state flash memory device array, a verification step can be performed on each state of the component to determine if the component has reached its data association verification level. For example, a polymorphic memory component capable of storing data in four states may need to perform a verify operation on three comparison points.

此外,當程式化EEPROM或快閃記憶體器件(諸如NAND串中之NAND快閃記憶體器件)時,通常將VPGM 施加至控制閘極且使位元線接地,從而使得將來自一單元或記憶體元件(例如,儲存元件)之通道的電子注入至浮動閘極中。當電子累積於浮動閘極中時,浮動閘極變成帶負電荷,且記憶體元件之臨限電壓升高以使得記憶體元件被視為處於程式化狀態下。可在題為"Source Side Self Boosting Technique For Non-Volatile Memory"之美國專利6,859,397及2005年2月3日公開的題為"Detecting Over Programmed Memory"之美國專利申請公開案2005/0024939中找到關於此程式化的更多資訊;該等專利案以引用之方式全文併入本文中。In addition, when programming an EEPROM or flash memory device (such as a NAND flash memory device in a NAND string), V PGM is typically applied to the control gate and the bit line is grounded so that it will come from a cell or Electrons of the channels of the memory elements (eg, storage elements) are injected into the floating gates. When electrons accumulate in the floating gate, the floating gate becomes negatively charged and the threshold voltage of the memory element rises such that the memory element is considered to be in a stylized state. This can be found in US Patent Application Publication No. 2005/0024939, entitled "Detecting Over Programmed Memory", entitled "Source Side Self Boosting Technique For Non-Volatile Memory", US Patent No. 6,859,397, issued Feb. 3, 2005. More information on stylization; these patents are hereby incorporated by reference in their entirety.

一旦非揮發性儲存元件已經程式化,則可高度可靠地讀回其程式化狀態為重要的。然而,所感測之程式化狀態有時可能不同於所欲之程式化狀態,此歸因於包括雜訊及器件隨著時間而傾向於電荷中性之趨勢的因素。Once the non-volatile storage element has been programmed, it is important to be able to read back its stylized state with high reliability. However, the sensed stylized state may sometimes differ from the desired stylized state due to factors including noise and the tendency of the device to tend to be charge neutral over time.

因此,在讀取非揮發性記憶體時通常遇到有錯誤或受破壞之資料位元。通常,應用某形式之錯誤修正控制(ECC)來修正有錯誤或受破壞之資料。一普通控制儲存額外同位位元以在寫入資料時將一群資料位元之同位設定至所需邏 輯值。該等資訊及同位位元形成在寫入過程中儲存的編碼字。ECC藉由在讀取資料時計算該群位元之同位來解碼該等位元以偵測任何受破壞或有錯誤之資料。Therefore, erroneous or corrupted data bits are often encountered when reading non-volatile memory. Typically, some form of error correction control (ECC) is applied to correct erroneous or corrupted material. An ordinary control stores additional parity bits to set the parity of a group of data bits to the desired logic when writing data Value. The information and the parity bits form the code words stored during the writing process. The ECC decodes the bits by calculating the parity of the group of bits while reading the data to detect any corrupted or erroneous data.

使用反覆機率性解碼來解碼儲存於非揮發性儲存器中之資料。可使用諸如低密度同位檢查碼之錯誤修正碼。在一方法中,初始可靠性度量(諸如,對數似然率)用於解碼一組非揮發性儲存元件之所感測狀態。解碼試圖藉由調整表示所感測狀態之碼字中之位元的可靠性度量而收斂。若解碼未能收斂,則可自記憶體讀取軟資料位元。在接收更多資訊時,在接收硬讀取結果後且在軟位元操作之不同階段後,提供不同初始可靠性度量值。在一實施例中,使用軟位元比較位準之多個子集自記憶體讀取第二軟位元。在比較位準之第二子集下進行讀取時,可基於第一子集資料來執行解碼。在一實施例中,可基於記憶體單元之不同狀態的特徵來智慧地選擇第二軟位元讀取之讀取比較位準的不同子集。例如,個別記憶體系統或系統群組可經特徵化以判定在程式化後記憶體單元之表觀或實際電荷位準的偏移之性質。The data stored in the non-volatile memory is decoded using repeated probability decoding. Error correction codes such as low density parity check codes can be used. In one approach, an initial reliability metric, such as a log likelihood ratio, is used to decode the sensed state of a set of non-volatile storage elements. The decoding attempts to converge by adjusting the reliability metric of the bits in the codeword representing the sensed state. If the decoding fails to converge, the soft data bit can be read from the memory. When receiving more information, different initial reliability metrics are provided after receiving hard read results and after different stages of soft bit operation. In one embodiment, the second soft bit is read from the memory using a plurality of subsets of soft bit comparison levels. When reading is performed under the second subset of comparison levels, decoding can be performed based on the first subset of material. In an embodiment, different subsets of the read comparison levels of the second soft bit read may be intelligently selected based on characteristics of different states of the memory cells. For example, an individual memory system or group of systems can be characterized to determine the nature of the offset of the apparent or actual charge level of the memory unit after stylization.

在一實施例中,提供一種讀取非揮發性儲存器之方法,其包括:使用第一複數個讀取比較點自一組非揮發性儲存元件讀取使用者資料,其中每一比較點對應於該等儲存元件之一可程式化狀態;使用比該第一複數個讀取比較點具有更大數目讀取比較點的第二複數個讀取比較點來在一比 該使用者資料高之位元解析度下自該組儲存元件讀取一組軟資料;及在進行讀取以判定該軟資料之一第二子集之同時使用該軟資料之一第一子集來解碼該使用者資料。In one embodiment, a method of reading a non-volatile memory is provided, comprising: reading user data from a set of non-volatile storage elements using a first plurality of read comparison points, wherein each comparison point corresponds to a programmable state in one of the storage elements; using a second plurality of read comparison points having a greater number of read comparison points than the first plurality of read comparison points Reading a set of soft data from the set of storage elements at a high bit resolution of the user data; and using the first child of the soft data while reading to determine a second subset of the soft data Set to decode the user data.

另一種讀取非揮發性儲存器之方法包括在自儲存元件讀取第一組資料之同時作為錯誤修正控制處理之部分而為複數個非揮發性儲存元件提供一組讀取比較點。該組讀取比較點包括具有一對應於該等儲存元件之每一可程式化狀態之讀取比較點的讀取比較點之第一子集,及具有一對應於該等儲存元件之每一可程式化狀態之讀取比較點的讀取比較點之第二子集。在該第二子集之前提供該第一子集。該方法進一步包括基於讀取比較點之該第一子集來判定第二組資料,及在為該複數個非揮發性儲存元件提供讀取比較點之該第二子集之同時使用該第二組資料來反覆地解碼該第一組資料。Another method of reading a non-volatile storage device includes providing a set of read comparison points for a plurality of non-volatile storage elements as part of the error correction control process while reading the first set of data from the storage element. The set of read comparison points includes a first subset of read compare points having a read compare point corresponding to each of the programmable states of the storage elements, and having a corresponding one of the storage elements The second subset of the comparison comparison points is read by the read point of the programmable state. The first subset is provided prior to the second subset. The method further includes determining a second set of data based on reading the first subset of comparison points, and using the second while providing the second subset of read comparison points for the plurality of non-volatile storage elements The group data is used to repeatedly decode the first set of data.

一實施例之方法提供一第一對數似然率表以反覆地解碼使用第一組比較點自複數個非揮發性儲存元件讀取之一組資料,提供一第二對數似然率表以使用藉由使用第二組比較點而自該等儲存元件讀取之第二組資料來反覆地解碼該第一組資料,提供一第三對數似然率表以使用該第二組資料及自該等儲存元件讀取之第三組資料來反覆地解碼該第一組資料,及提供一第四對數似然率表以使用該第二組資料、該第三組資料及自該等儲存元件讀取之第四組資料來反覆地解碼該第一組資料。The method of an embodiment provides a first log likelihood table to repeatedly decode a set of data from a plurality of non-volatile storage elements using the first set of comparison points, providing a second log likelihood table for use Decoding the first set of data by using the second set of data read from the storage elements using the second set of comparison points, providing a third log likelihood table to use the second set of data and And the third set of data read by the storage component to repeatedly decode the first set of data, and provide a fourth log likelihood table to use the second set of data, the third set of data, and read from the storage elements The fourth set of data is taken to repeatedly decode the first set of data.

一示範性實施例包括一組非揮發性儲存元件及與該組非 揮發性儲存元件通信之一或多個管理電路。該一或多個管理電路可執行上述方法。在一實施例中,該管理電路使用錯誤修正控制來進行讀取,其係藉由:使用第一複數個讀取比較點自該組非揮發性儲存元件讀取使用者資料,每一比較點對應於該等儲存元件之一可程式化狀態;使用比該第一複數個讀取比較點具有更大數目之讀取比較點的第二複數個讀取比較點來在比該使用者資料高之位元解析度下自該組儲存元件讀取一組軟資料;及在進行讀取以判定該軟資料之一第二子集之同時使用該軟資料之一第一子集來解碼該使用者資料。An exemplary embodiment includes a set of non-volatile storage elements and The volatile storage element communicates with one or more management circuits. The one or more management circuits can perform the above method. In one embodiment, the management circuit uses the error correction control to perform reading by reading user data from the set of non-volatile storage elements using the first plurality of read comparison points, each comparison point. Corresponding to a programmable state of one of the storage elements; using a second plurality of read comparison points having a greater number of read comparison points than the first plurality of read comparison points to be higher than the user profile Reading a set of soft data from the set of storage elements at a bit resolution; and decoding the use using a first subset of the soft data while reading to determine a second subset of the soft data Information.

快閃記憶體系統之一實例使用NAND結構,其包括串列地配置於兩個選擇閘極之間的多個電晶體。該等串列電晶體及該等選擇閘極稱作NAND串。圖1為展示一NAND串30之俯視圖。圖2為其等效電路。圖1及圖2所描繪之NAND串包括在第一選擇閘極12與第二選擇閘極22之間串列的四個電晶體10、12、14及16。選擇閘極12將該NAND串連接至位元線26。選擇閘極22將該NAND串連接至位元線28。藉由經由選擇線SGD將適當電壓施加至控制閘極20CG來控制選擇閘極12。藉由經由選擇線SGS將適當電壓施加至控制閘極22CG來控制選擇閘極22。電晶體10、12、14及16中之每一者包括一控制閘極及一浮動閘極,此二者形成記憶體單元之閘極元件。舉例而言,電晶體10包括控制閘極10CG及浮動閘極10FG。電晶體12包括控制閘極12CG及浮 動閘極12FG。電晶體14包括控制閘極14CG及浮動閘極14FG。電晶體16包括控制閘極16CG及浮動閘極16FG。控制閘極10CG連接至字線WL3,控制閘極12CG連接至字線WL2,控制閘極14CG連接至字線WL1,且控制閘極16CG連接至字線WL0。One example of a flash memory system uses a NAND structure that includes a plurality of transistors arranged in series between two select gates. The tandem transistors and the select gates are referred to as NAND strings. FIG. 1 is a top plan view showing a NAND string 30. Figure 2 is its equivalent circuit. The NAND string depicted in Figures 1 and 2 includes four transistors 10, 12, 14 and 16 arranged in series between a first select gate 12 and a second select gate 22. Select gate 12 connects the NAND string to bit line 26. Select gate 22 connects the NAND string to bit line 28. The selection gate 12 is controlled by applying an appropriate voltage to the control gate 20CG via the selection line SGD. The selection gate 22 is controlled by applying an appropriate voltage to the control gate 22CG via the selection line SGS. Each of the transistors 10, 12, 14 and 16 includes a control gate and a floating gate, both of which form a gate element of the memory cell. For example, the transistor 10 includes a control gate 10CG and a floating gate 10FG. The transistor 12 includes a control gate 12CG and float The gate is 12FG. The transistor 14 includes a control gate 14CG and a floating gate 14FG. The transistor 16 includes a control gate 16CG and a floating gate 16FG. The control gate 10CG is connected to the word line WL3, the control gate 12CG is connected to the word line WL2, the control gate 14CG is connected to the word line WL1, and the control gate 16CG is connected to the word line WL0.

注意,儘管圖1及圖2展示該NAND串中之四個記憶體單元,但四個電晶體之使用僅作為實例來提供。一NAND串可具有少於四個之記憶體單元或多於四個之記憶體單元。舉例而言,一些NAND串包括8個記憶體單元、16個記憶體單元、32個記憶體單元等。本文之論述不限於NAND串中任何特定數目之記憶體單元。NAND型快閃記憶體及其操作之相關實例提供於以下美國專利申請案中(其皆以引用之方式全文併入本文中):美國專利第5,570,315號;美國專利第5,774,397號;美國專利第6,046,935號;美國專利第5,386,422號;美國專利第6,456,528號;及美國專利申請案第09/893,277號(公開案第US 2003/0002348號)。根據實施例,亦可使用除NAND快閃記憶體外之其他類型之非揮發性記憶體。Note that although Figures 1 and 2 show four memory cells in the NAND string, the use of four transistors is provided as an example only. A NAND string can have fewer than four memory cells or more than four memory cells. For example, some NAND strings include 8 memory cells, 16 memory cells, 32 memory cells, and the like. The discussion herein is not limited to any particular number of memory cells in a NAND string. NAND-type flash memory and related examples of its operation are provided in the following U.S. Patent Application Serial No. 5,570,315; U.S. Patent No. 5,774,397; U.S. Patent No. 6,046,935 No. 5,386,422; U.S. Patent No. 6,456,528; and U.S. Patent Application Serial No. 09/893,277, the disclosure of which is incorporated herein by reference. Other types of non-volatile memory other than NAND flash memory can also be used, depending on the embodiment.

使用NAND結構之快閃記憶體的典型架構包括許多NAND串。圖3說明NAND串(諸如,圖1至圖2所示之NAND串)之示範性陣列100。將記憶體單元陣列100分成大量記憶體單元區塊。如對於快閃EEPROM系統為共同的,該區塊為抹除單元且可稱作抹除區塊或實體區塊。每一區塊可含有一起加以抹除的最小數目之記憶體單元,但可同時抹 除多個區塊。在一些實施例中,可一起抹除較少記憶體單元。A typical architecture for flash memory using NAND structures includes many NAND strings. FIG. 3 illustrates an exemplary array 100 of NAND strings, such as the NAND strings shown in FIGS. 1-2. The memory cell array 100 is divided into a plurality of memory cell blocks. As common to flash EEPROM systems, the block is an erase unit and may be referred to as an erase block or a physical block. Each block can contain the smallest number of memory cells that are erased together, but can be wiped simultaneously Except for multiple blocks. In some embodiments, fewer memory cells can be erased together.

記憶體單元之每一區塊包括形成行之一組位元線及形成列之一組字線。通常將每一區塊分成許多頁。一頁通常為程式化或讀取之最小單位,但可在單個操作中程式化或讀取一個以上之頁。在另一實施例中,可將個別頁分為區段,且該等區段可含有在基本程式化操作時被一次寫入的最少數目之單元。通常將一或多頁資料儲存於一列記憶體單元中。一頁可儲存一或多個扇區之資料,其大小通常由主機系統界定。一扇區包括使用者資料及附加項資料。附加項資料通常包括自扇區之使用者資料計算出的錯誤修正碼(ECC)。控制器(下文將描述)之一部分在將資料程式化至陣列中時計算ECC,且在自陣列讀取資料時亦對其進行檢查。或者,將ECC及/或其他附加項資料儲存於與使用者資料所從屬之頁或甚至區塊不同的頁或區塊中。一扇區之使用者資料通常為512個位元組,此對應於磁碟驅動器中常用之扇區的大小。附加項資料通常為額外之16至20個位元組。大量頁形成一區塊,數目在8個頁(例如)直至32個、64個或更多的頁之間。在一些實施例中,一列NAND串包含一區塊。Each block of the memory cell includes a group of bit lines forming a row and a group of word lines forming a column. Each block is usually divided into a number of pages. A page is usually the smallest unit of stylization or reading, but can be programmed or read more than one page in a single operation. In another embodiment, individual pages may be divided into segments, and the segments may contain a minimum number of cells that are written once during a basic stylized operation. One or more pages of data are typically stored in a list of memory cells. A page can store data for one or more sectors, the size of which is typically defined by the host system. One sector includes user data and additional item data. The additional item data usually includes an error correction code (ECC) calculated from the user data of the sector. One portion of the controller (described below) calculates the ECC when the data is programmed into the array, and also checks the data as it is read from the array. Alternatively, the ECC and/or other additional item data may be stored in a different page or block than the page or even the block to which the user profile belongs. The user data for a sector is typically 512 bytes, which corresponds to the size of the sector commonly used in disk drives. The additional item data is usually an additional 16 to 20 bytes. A large number of pages form a block, the number being between 8 pages (for example) up to 32, 64 or more pages. In some embodiments, a column of NAND strings includes a block.

雖然圖4之每一NAND串中包括四個單元,但可使用多於或少於四個之單元(例如,16個、32個或另一數目)。NAND串之一端子經由第一選擇閘極而連接至相應位元線(連接至選擇閘極汲極線SGD),且另一端子經由第二選擇 閘極而連接至共同源極線c-source(連接至選擇閘極源極線SGS)。在此實例之每一區塊中,存在分為偶數行及奇數行的8,512個行。位元線分為偶數位元線(BLe)及奇數位元線(BLo)。在奇數/偶數位元線架構中,在一時間程式化沿著共同字線且連接至奇數位元線之記憶體單元,而在另一時間時程式化沿著共同字線且連接至偶數位元線之記憶體單元。在此實例中,可同時讀取或程式化532個位元組之資料,且其形成一邏輯頁。因此,一區塊可儲存至少八個頁。在每一記憶體單元儲存兩個資料位元時,一區塊將儲存16個頁。亦可使用其他大小之區塊及頁,且根據本揭示案,可使用不同於圖1至圖3之架構的架構。Although four cells are included in each NAND string of FIG. 4, more or less than four cells (eg, 16, 32, or another number) may be used. One terminal of the NAND string is connected to the corresponding bit line (connected to the selected gate drain line SGD) via the first selection gate, and the other terminal is selected via the second The gate is connected to a common source line c-source (connected to the select gate source line SGS). In each block of this example, there are 8,512 rows divided into even rows and odd rows. The bit lines are divided into even bit lines (BLe) and odd bit lines (BLo). In an odd/even bit line architecture, memory cells along a common word line and connected to odd bit lines are programmed at one time, while stylized along a common word line and connected to even bits at another time. The memory unit of the meta line. In this example, the data of 532 bytes can be read or programmed simultaneously and form a logical page. Therefore, a block can store at least eight pages. When two data bits are stored in each memory unit, one block will store 16 pages. Blocks and pages of other sizes may also be used, and in accordance with the present disclosure, an architecture other than the architecture of Figures 1-3 may be used.

在其他實施例中,位元線不分成奇數位元線及偶數位元線。此等架構通常稱作全位元線架構。在全位元線架構中,在讀取及程式化操作期間同時選擇一區塊之所有位元線。同時程式化沿著共同字線且連接至任何位元線之記憶體單元。在其他實施例中,位元線或區塊可分類為其他分組(例如,左及右,兩個以上分組等)。In other embodiments, the bit lines are not divided into odd bit lines and even bit lines. These architectures are often referred to as full bit line architectures. In a full bit line architecture, all bit lines of a block are simultaneously selected during read and program operations. At the same time, the memory cells along the common word line and connected to any bit line are programmed. In other embodiments, bit lines or blocks may be classified into other groups (eg, left and right, more than two groups, etc.).

圖4說明具有用於並行地讀取及程式化記憶體單元之一頁的讀取/寫入電路的記憶體器件110。記憶體器件110可包括一或多個記憶體晶粒或晶片112。記憶體晶粒112包括二維記憶體單元陣列100、控制電路120,及讀取/寫入電路130A及130B。在圖4之實施例中,在陣列之相反側上以對稱方式實施各種周邊電路對記憶體陣列100之存取,使得每一側上之存取線及電路的密度減半。在其他實施例 中,在陣列之單側上以非對稱方式提供各種周邊電路。讀取/寫入電路130A及130B包括允許並行地讀取或程式化記憶體單元之一頁的多個感測區塊200。記憶體陣列100可經由列解碼器140A及140B藉由字線定址,且可經由行解碼器142A及142B藉由位元線定址。在典型實施例中,控制器144與該一或多個記憶體晶粒112包括於同一記憶體器件110(例如,抽取式儲存卡或套件)中。命令及資料經由線132而在主機與控制器144之間傳送,且經由線134而在該控制器與該一或多個記憶體晶粒112之間傳送。4 illustrates a memory device 110 having read/write circuits for reading and programming one page of memory cells in parallel. Memory device 110 can include one or more memory dies or wafers 112. The memory die 112 includes a two-dimensional memory cell array 100, a control circuit 120, and read/write circuits 130A and 130B. In the embodiment of FIG. 4, access to the memory array 100 by various peripheral circuits is performed symmetrically on opposite sides of the array such that the density of access lines and circuitry on each side is halved. In other embodiments Various peripheral circuits are provided in an asymmetric manner on one side of the array. The read/write circuits 130A and 130B include a plurality of sensing blocks 200 that allow one page of memory cells to be read or programmed in parallel. Memory array 100 can be addressed by word lines via column decoders 140A and 140B and can be addressed by bit lines via row decoders 142A and 142B. In the exemplary embodiment, controller 144 and the one or more memory dies 112 are included in the same memory device 110 (eg, a removable memory card or kit). Commands and data are transferred between the host and controller 144 via line 132 and between the controller and the one or more memory dies 112 via line 134.

控制電路120與讀取/寫入電路130A及130B協作以對記憶體陣列100執行記憶體操作。控制電路120包括狀態機122、晶片上位址解碼器124及功率控制模組126。狀態機122提供對記憶體操作之晶片級控制。晶片上位址解碼器124提供由主機或記憶體控制器所用之位址與由解碼器140A、140B、142A及142B所用之硬體位址之間的位址介面。功率控制模組126控制在記憶體操作期間供應至字線及位元線之功率及電壓。Control circuit 120 cooperates with read/write circuits 130A and 130B to perform a memory operation on memory array 100. Control circuit 120 includes state machine 122, on-chip address decoder 124, and power control module 126. State machine 122 provides wafer level control of memory operations. The on-chip address decoder 124 provides an address interface between the address used by the host or memory controller and the hardware address used by the decoders 140A, 140B, 142A, and 142B. Power control module 126 controls the power and voltage supplied to the word lines and bit lines during memory operation.

圖5為分成核心部分(稱作感測模組210)及共同部分220之個別感測區塊200的方塊圖。在一實施例中,每一位元線存在一獨立感測模組210,且一組多個感測模組210存在一共同部分220。在一實例中,一感測區塊將包括一共同部分220及八個感測模組210。一群組中之感測模組中之每一者將經由資料匯流排216與相關聯之共同部分通信。為獲得更多詳情,參考於2004年12月29日提出申請之美國專 利申請案11/026,536 "Non-Volatile Memory & Method with Shared Processing for an Aggregate of Sense Amplifiers",其以引用之方式全文併入本文中。FIG. 5 is a block diagram of an individual sensing block 200 divided into a core portion (referred to as sensing module 210) and a common portion 220. In an embodiment, each bit line has an independent sensing module 210, and a plurality of sensing modules 210 have a common portion 220. In one example, a sensing block will include a common portion 220 and eight sensing modules 210. Each of the sensing modules in a group will communicate with the associated common portion via data bus 216. For more details, please refer to the US special application filed on December 29, 2004. No. 11/026,536, "Non-Volatile Memory & Method with Shared Processing for an Aggregate of Sense Amplifiers", which is incorporated herein in its entirety by reference.

感測模組210包含感測電路214,感測電路214判定所連位元線中之導電電流是高於還是低於預定臨限位準。感測模組210亦包括位元線鎖存器212,位元線鎖存器212用於設定所連位元線上之電壓條件。舉例而言,鎖存於位元線鎖存器212中之預定狀態將使得所連位元線被牽引至指定程式化禁止之狀態(例如,VDD )。The sensing module 210 includes a sensing circuit 214 that determines whether the conductive current in the connected bit line is above or below a predetermined threshold level. The sensing module 210 also includes a bit line latch 212 for setting a voltage condition on the connected bit line. For example, the predetermined state latched in the bit line latch 212 will cause the connected bit line to be pulled to a state that specifies a stylization inhibit (eg, V DD ).

共同部分220包含處理器222、一組資料鎖存器224及耦接於該組資料鎖存器224與資料匯流排230之間的I/O介面226。處理器222執行計算。舉例而言,其功能之一在於判定儲存於被感測記憶體單元中之資料,且將判定之資料儲存於該組資料鎖存器中。該組資料鎖存器224用於在讀取操作期間儲存處理器222所判定之資料位元。其亦用於在程式化操作期間儲存自資料匯流排230輸入之資料位元。該等輸入之資料位元表示意欲程式化至記憶體中之寫入資料。自一單元讀取之資料在與額外資料組合之前儲存於該組資料鎖存器中且經由I/O介面226而發送至控制器。The common portion 220 includes a processor 222, a set of data latches 224, and an I/O interface 226 coupled between the set of data latches 224 and the data bus 230. Processor 222 performs the calculations. For example, one of its functions is to determine the data stored in the sensed memory unit and store the determined data in the set of data latches. The set of data latches 224 is used to store the data bits determined by the processor 222 during a read operation. It is also used to store data bits entered from the data bus 230 during stylized operations. The input data bits represent the data to be programmed into the memory. The data read from a unit is stored in the set of data latches prior to being combined with the additional data and sent to the controller via I/O interface 226.

在讀取或感測期間,系統之操作處於狀態機122之控制下,狀態機122控制不同控制閘極電壓至經定址單元之供應。在其逐級調試對應於由記憶體所支援之各種記憶體狀態的各種預定控制閘極電壓時,感測模組210可在此等電壓中之一者處跳脫,且將經由匯流排216將一輸出自感測 模組210提供至處理器222。此時,處理器222藉由考慮感測模組之跳脫事件及關於經由輸入線228自狀態機所施加之控制閘極電壓的資訊來判定所得記憶體狀態。其接著計算該記憶體狀態之二進制編碼,且將所得資料位元儲存至資料鎖存器224中。在核心部分之另一實施例中,位元線鎖存器212用於雙重用途,既作為鎖存感測模組210之輸出的鎖存器且亦作為如上所述之位元線鎖存器。During reading or sensing, the operation of the system is under the control of state machine 122, which controls the supply of different control gate voltages to the addressed unit. As it progressively debugs various predetermined control gate voltages corresponding to various memory states supported by the memory, the sensing module 210 can trip at one of the voltages and will pass through the busbar 216. An output self-sensing Module 210 is provided to processor 222. At this time, the processor 222 determines the resulting memory state by considering the tripping event of the sensing module and the information about the control gate voltage applied from the state machine via the input line 228. It then computes the binary code of the memory state and stores the resulting data bit into data latch 224. In another embodiment of the core portion, the bit line latch 212 is used for dual purposes, both as a latch for latching the output of the sense module 210 and also as a bit line latch as described above. .

在程式化或驗證期間,來自資料匯流排230的待程式化之資料儲存於該組資料鎖存器224中。在狀態機控制下的程式化操作包含施加至經定址記憶體單元之控制閘極的一連串程式化電壓脈衝。每一程式化脈衝之後為一讀回(驗證)以判定該單元是否已經程式化至所要記憶體狀態。處理器222相對於所要記憶體狀態而監控讀回記憶體狀態。當該兩者達成一致時,處理器222便設定位元線鎖存器212,以使位元線被牽引至指定程式化禁止之狀態。此禁止耦接至位元線之單元進一步程式化,即使程式化脈衝出現在其控制閘極上亦如此。在其他實施例中,處理器起初載入位元線鎖存器212,且感測電路在驗證過程期間將其設定為禁止值。During stylization or verification, the data to be programmed from the data bus 230 is stored in the set of data latches 224. The stylized operation under state machine control includes a series of stylized voltage pulses applied to the control gates of the addressed memory cells. Each stylized pulse is followed by a read back (verification) to determine if the unit has been programmed to the desired memory state. Processor 222 monitors the read back memory state relative to the desired memory state. When the two agree, the processor 222 sets the bit line latch 212 to cause the bit line to be pulled to the specified stylized inhibit state. This unit, which is prohibited from being coupled to the bit line, is further programmed, even if a stylized pulse appears on its control gate. In other embodiments, the processor initially loads the bit line latch 212 and the sensing circuit sets it to a disable value during the verification process.

資料鎖存器堆疊224包含對應於感測模組的資料鎖存器之堆疊。在一實施例中,每感測模組210具有至少四個資料鎖存器以儲存用於/來自一單元之四個資料位元。在一些實施例中(但無需如此),將資料鎖存器實施為移位暫存器,使得儲存於其中之並行資料轉換成用於資料匯流排 230之串列資料,且儲存於其中之串列資料轉換成用於資料匯流排230之並行資料。在較佳實施例中,對應於具有m個記憶體單元之讀取/寫入區塊的所有資料鎖存器可鏈接在一起以形成區塊移位暫存器,使得可藉由串列傳送而輸入或輸出資料區塊。詳言之,具有r個讀取/寫入模組之組經調適以使得其資料鎖存器組中之每一者將資料依次移入或移出資料匯流排,好似其為整個讀取/寫入區塊之移位暫存器之部分。The data latch stack 224 includes a stack of data latches corresponding to the sense modules. In one embodiment, each sensing module 210 has at least four data latches to store four data bits for/from a unit. In some embodiments (but not necessarily), the data latch is implemented as a shift register such that parallel data stored therein is converted to a data bus 230 serial data, and the serial data stored therein is converted into parallel data for data bus 230. In a preferred embodiment, all of the data latches corresponding to the read/write blocks having m memory cells can be linked together to form a block shift register so that it can be transmitted by serial And input or output data blocks. In particular, a group of r read/write modules is adapted such that each of its data latch groups sequentially shifts data into or out of the data bus as if it were an entire read/write The part of the block shift register.

關於非揮發性儲存器件之各種實施例之結構及/或操作的額外資訊可在下列文件中找到:(1)2004年3月25日公開的美國專利申請公開案第2004/0057287號,"Non-Volatile Memory And Method With Reduced Source Line Bias Errors";(2)2004年6月10日公開的美國專利申請公開案第2004/0109357號,"Non-Volatile Memory And Method with Improved Sensing";(3)發明者Raul-Adrian Cernea於2004年12月16日提出申請的題為"Improved Memory Sensing Circuit And Method For Low Voltage Operation"之美國專利申請案第11/015,199號;(4)發明者Jian Chen於2005年4月5日提出申請的題為"Compensating for Coupling During Read Operations of Non-Volatile Memory"之美國專利申請案11/099,133;及(5)發明者Siu Lung Chan及Raul-Adrian Cernea於2005年12月28日提出申請的題為"Reference Sense Amplifier For Non-Volatile Memory"之美國專利申請案第11/321,953號。剛剛在上文所列出之所有五個專利文件以 引用之方式全文併入本文中。Additional information regarding the structure and/or operation of various embodiments of non-volatile storage devices can be found in the following documents: (1) U.S. Patent Application Publication No. 2004/0057287, issued March 25, 2004, to -Volatile Memory And Method With Reduced Source Line Bias Errors"; (2) US Patent Application Publication No. 2004/0109357, published on Jun. 10, 2004, "Non-Volatile Memory And Method with Improved Sensing"; (3) U.S. Patent Application Serial No. 11/015,199, entitled "Improved Memory Sensing Circuit And Method For Low Voltage Operation", filed on December 16, 2004 by Raul-Adrian Cernea; (4) Inventor Jian Chen, 2005 U.S. Patent Application Serial No. 11/099,133, entitled "Compensating for Coupling During Read Operations of Non-Volatile Memory", filed on April 5, 2005; and (5) Inventor Siu Lung Chan and Raul-Adrian Cernea, 2005 U.S. Patent Application Serial No. 11/321,953, entitled "Reference Sense Amplifier For Non-Volatile Memory", filed on the 28th. All five patent documents just listed above The manner of citation is incorporated herein in its entirety.

圖6為描繪在每一記憶體單元儲存四個資料位元時一群記憶體單元之示範性臨限電壓分布的圖表。16個相異臨限電壓範圍界定表示成0至15之16個記憶體狀態。一第一臨限電壓分布指定為狀態0,且包括具有小於0 V之臨限電壓的經抹除記憶體單元。其餘之臨限電壓分布指定為狀態1至15,且包括程式化至該等臨限電壓範圍中之一者內的記憶體單元。在一些實施例中,狀態1至15之額外者亦可對應於負臨限電壓範圍。舉例而言,一些實施例在處於較低狀態下時可調整來源及體偏壓(body bias)以提供正電壓操作範圍。6 is a graph depicting an exemplary threshold voltage distribution of a population of memory cells as each memory cell stores four data bits. The 16 distinct threshold voltage ranges are defined as 16 memory states of 0 to 15. A first threshold voltage distribution is designated as state 0 and includes an erased memory cell having a threshold voltage of less than 0 volts. The remaining threshold voltage distributions are designated as states 1 through 15, and include memory cells that are programmed into one of the threshold voltage ranges. In some embodiments, the additional ones of states 1 through 15 may also correspond to a negative threshold voltage range. For example, some embodiments may adjust the source and body bias to provide a positive voltage operating range when in a lower state.

圖6之每一相異臨限電壓範圍對應於用於該組資料位元之預定值。程式化至一記憶體單元中之資料與該單元之相應臨限電壓位準之間的特定關係取決於所採用之資料編碼方案。例如,通常使用格雷碼指派來將資料值指派給不同臨限電壓範圍,使得若浮動閘極之臨限電壓錯誤地偏移至鄰近實體狀態,則僅影響一位元。然而,在其他實施例中,不使用格雷碼。圖6陳述用於在每一記憶體單元儲存4個資料位元時將資料位元指派給不同臨限電壓範圍之一實例。在圖6中,將不同位元唯一地識別成頂、較高、高或低,其中低位元為最高有效位元,且頂位元為最低有效位元。此表示僅為示範性的。此外,雖然圖6展示16個狀態,但根據本揭示案,可使用其他結構及配置,包括彼等包括多於或少於四個狀態的結構及配置。Each of the distinct threshold voltage ranges of Figure 6 corresponds to a predetermined value for the set of data bits. The specific relationship between the data programmed into a memory cell and the corresponding threshold voltage level of the cell depends on the data encoding scheme employed. For example, Gray code assignments are typically used to assign data values to different threshold voltage ranges such that if the threshold voltage of the floating gate is erroneously shifted to the neighboring entity state, only one bit is affected. However, in other embodiments, the Gray code is not used. Figure 6 illustrates an example of assigning data bits to different threshold voltage ranges when storing 4 data bits per memory cell. In Figure 6, the different bits are uniquely identified as top, higher, high or low, with the lower bit being the most significant bit and the top bit being the least significant bit. This representation is merely exemplary. Moreover, while FIG. 6 shows 16 states, other structures and configurations can be used in accordance with the present disclosure, including structures and configurations that include more or less than four states.

該分布圖表在下文陳述對應於每一狀態之經編碼資料位元。狀態0為每一位元位置(包括頂、較高、高及低位元)儲存1。狀態1為頂位元位置儲存0,且在每一其餘位元位置中儲存1。如先前所提及,由一儲存元件之程式化狀態表示之資料位元可被視為一碼字。例如,在16個狀態之情況下,可使用四個位元之碼字。The distribution chart states below the encoded data bits corresponding to each state. State 0 stores 1 for each bit position (including top, upper, high, and low bits). State 1 stores 0 for the top bit position and 1 for each of the remaining bit positions. As mentioned previously, a data bit represented by a stylized state of a storage element can be considered a codeword. For example, in the case of 16 states, a code word of four bits can be used.

在讀取非揮發性記憶體時,通常在每一狀態之間建立至少一參考臨限電壓位準,以將記憶體單元之臨限電壓記憶體窗分成所用的一定數目之範圍。可比較一單元之臨限電壓與各參考位準(亦稱作比較點)以判定該單元之記憶體狀態。可將對應於參考臨限電壓位準之預定、固定電壓(例如,讀取參考電壓)施加至一單元之閘極,且其源極/汲極導電狀態藉由將該導電與一斷點位準或參考電流進行比較而建立。When reading non-volatile memory, at least one reference threshold voltage level is typically established between each state to divide the threshold voltage memory window of the memory cell into a certain number of ranges used. The threshold voltage of a unit and each reference level (also referred to as a comparison point) can be compared to determine the memory state of the unit. A predetermined, fixed voltage (eg, a read reference voltage) corresponding to the reference threshold voltage level can be applied to the gate of a cell, and its source/drain conductive state by the conductive and a breakpoint A reference or reference current is established for comparison.

圖6展示用於自記憶體單元讀取資料的15個讀取比較點V1至V15。藉由測試一給定記憶體單元之臨限電壓是高於還是低於各比較點,系統可判定該記憶體單元處於何種狀態。若一記憶體單元在V1施加至其控制閘極之情況下導電,則該記憶體單元處於狀態0。若一記憶體單元在V2而非在V1下導電,則該記憶體單元處於狀態1。若該記憶體單元在V3而非在V2下導電,則該記憶體單元處於狀態2。若該記憶體單元在V4而非在V3下導電,則該記憶體單元處於狀態3。若該記憶體單元在V5而非在V4下導電,則該記憶體單元處於狀態4。若該記憶體單元在V6而非在V5下 導電,則該記憶體單元處於狀態5。若該記憶體單元在V7而非在V6下導電,則該記憶體單元處於狀態6。若該記憶體單元在V8而非在V7下導電,則該記憶體單元處於狀態7。若該記憶體單元在V9而非在V8下導電,則該記憶體單元處於狀態8。若該記憶體單元在V10而非在V9下導電,則該記憶體單元處於狀態9。若該記憶體單元在V11而非在V10下導電,則該記憶體單元處於狀態10。若該記憶體單元在V12而非在V11下導電,則該記憶體單元處於狀態11。若該記憶體單元在V13而非在V12下導電,則該記憶體單元處於狀態12。若該記憶體單元在V14而非在V13下導電,則該記憶體單元處於狀態13。若該記憶體單元在V15而非在V14下導電,則該記憶體單元處於狀態14。若該記憶體單元不在該等比較電壓位準中之任一者下導電,則該記憶體單元處於狀態15。Figure 6 shows 15 read comparison points V1 through V15 for reading data from a memory cell. By testing whether the threshold voltage of a given memory cell is above or below each comparison point, the system can determine what state the memory cell is in. If a memory cell conducts while V1 is applied to its control gate, the memory cell is in state 0. If a memory cell is conducting at V2 instead of at V1, the memory cell is in state 1. If the memory cell is conducting at V3 instead of at V2, the memory cell is in state 2. If the memory cell is conducting at V4 instead of at V3, the memory cell is in state 3. If the memory cell is conducting at V5 instead of at V4, the memory cell is in state 4. If the memory unit is at V6 instead of under V5 Conductive, then the memory cell is in state 5. If the memory cell is conducting at V7 instead of at V6, the memory cell is in state 6. If the memory cell is conducting at V8 instead of at V7, the memory cell is in state 7. If the memory cell is conducting at V9 instead of at V8, the memory cell is in state 8. If the memory cell is conducting at V10 instead of at V9, the memory cell is in state 9. If the memory cell is conducting at V11 instead of at V10, the memory cell is in state 10. If the memory cell is conducting at V12 instead of at V11, the memory cell is in state 11. If the memory cell is conducting at V13 instead of at V12, the memory cell is in state 12. If the memory cell is conducting at V14 instead of at V13, the memory cell is in state 13. If the memory cell is conducting at V15 instead of at V14, the memory cell is in state 14. The memory cell is in state 15 if the memory cell is not conducting under any of the comparison voltage levels.

圖6亦展示15個驗證比較點Vv1-Vv15。在將記憶體單元程式化至狀態1時,系統測試彼等記憶體單元是否具有大於或等於Vv1的臨限電壓。在將記憶體單元程式化至狀態2時,系統測試該等記憶體單元是否具有大於或等於Vv2之臨限電壓,等等。Figure 6 also shows 15 verification comparison points Vv1-Vv15. When the memory cells are programmed to state 1, the system tests whether their memory cells have a threshold voltage greater than or equal to Vv1. When the memory cells are programmed to state 2, the system tests whether the memory cells have a threshold voltage greater than or equal to Vv2, and so on.

圖7為描繪在一示範性讀取或驗證過程之一反覆期間各種信號之行為的時序圖。圖7之過程之每一反覆表示每一單元記憶體之單個感測操作。若記憶體單元為二進制記憶體單元,則圖7之過程可執行一次。若記憶體單元為具有四個狀態(例如,0、1、2及3)之多態記憶體單元,則對於 每一記憶體單元而言,該過程可(通常並行地)執行三次(三次感測操作)。7 is a timing diagram depicting the behavior of various signals during one of an exemplary read or verification process. Each of the processes of Figure 7 represents a single sensing operation for each unit of memory. If the memory unit is a binary memory unit, the process of Figure 7 can be performed once. If the memory cell is a polymorphic memory cell having four states (eg, 0, 1, 2, and 3), then For each memory unit, the process can be performed (usually in parallel) three times (three sensing operations).

在讀取及驗證操作期間,所選字線(例如,圖3之WL2)通常連接至讀取參考電壓Vcgr,為每一讀取及驗證操作指定該讀取參考電壓之位準以便判定相關記憶體單元之臨限電壓是否已達到此位準。使一所選區塊之選擇閘極升高至一或多個選擇電壓,且使該所選區塊之未選字線(例如,圖3之WL0、WL1及WL3)升高至一讀取導通電壓Vread(例如,4.5伏)以使電晶體充當導通閘極。在施加字線電壓後,量測記憶體單元之導電電流以判定該記憶體單元是否回應於施加至字線之電壓而接通。若測得導電電流大於一特定值,則假定記憶體單元接通,且施加至字線之電壓大於該記憶體單元之臨限電壓。若未測得導電電流大於該特定值,則假定記憶體單元未接通,且施加至字線之電壓不大於該記憶體單元之臨限電壓。During a read and verify operation, the selected word line (eg, WL2 of FIG. 3) is typically connected to the read reference voltage Vcgr, specifying the level of the read reference voltage for each read and verify operation to determine the associated memory. Whether the threshold voltage of the body unit has reached this level. Raising a selected gate of a selected block to one or more select voltages and raising an unselected word line of the selected block (eg, WL0, WL1, and WL3 of FIG. 3) to a read turn-on voltage Vread (eg, 4.5 volts) causes the transistor to act as a pass gate. After the word line voltage is applied, the conduction current of the memory cell is measured to determine whether the memory cell is turned on in response to a voltage applied to the word line. If the measured conduction current is greater than a specific value, it is assumed that the memory cell is turned on and the voltage applied to the word line is greater than the threshold voltage of the memory cell. If the measured conduction current is greater than the specific value, it is assumed that the memory cell is not turned on, and the voltage applied to the word line is not greater than the threshold voltage of the memory cell.

存在許多種在讀取或驗證操作期間量測記憶體單元之導電電流的方法。在一實例中,根據記憶體單元對感測放大器中之專用電容器放電的速率來量測記憶體單元之導電電流。在另一實例中,所選記憶體單元之導電電流允許(或未能允許)包括該記憶體單元之NAND串對位元線放電。在一段時間之後量測該位元線上之電荷以查看其是否已放電。There are many ways to measure the conduction current of a memory cell during a read or verify operation. In one example, the conduction current of the memory cell is measured based on the rate at which the memory cell discharges the dedicated capacitor in the sense amplifier. In another example, the conduction current of the selected memory cell allows (or fails to allow) the NAND string including the memory cell to discharge to the bit line. The charge on the bit line is measured after a period of time to see if it has been discharged.

圖7展示信號SGD、WL_unsel、WLn+1、WLn、SGS、所選BL、BLCLAMP及始於VSS (約0伏)之Source。SGD為汲 極側選擇閘極之閘極選擇線。SGS為源極側選擇閘極之閘極選擇線。WLn為經選擇以進行讀取/驗證之字線。WLn+1為鄰近於WLn之汲極側字線的未選字線。WL_unsel表示除該汲極側鄰近字線外之未選字線。所選BL為經選擇以進行讀取/驗證之位元線。Source為記憶體單元之源極線(見圖3)。BLCLAMP為設定位元線在自感測放大器充電時之值的類比信號。Figure 7 shows signals SGD, WL_unsel, WLn+1, WLn, SGS, selected BL, BLCLAMP, and Source starting at Vss (about 0 volts). SGD is the gate selection line for the gate selection of the drain side. SGS is the gate selection line for the gate side of the source side. WLn is the word line selected for reading/verification. WLn+1 is an unselected word line adjacent to the drain side word line of WLn. WL_unsel represents an unselected word line except for the adjacent side of the drain side of the word line. The selected BL is a bit line selected for reading/verification. Source is the source line of the memory unit (see Figure 3). BLCLAMP is an analog signal that sets the value of the bit line when it is charged from the sense amplifier.

在圖7中,感測電路藉由判定位元線是否已放電來量測記憶體單元之導電電流。在時間t1處,SGD升高至VDD (例如,約3.5伏),未選字線(WL_unsel)升高至Vread(例如,約5.5伏),所選字線WLn在讀取操作之情況下升高至Vcgr(例如,V1、V2……V15)或在驗證操作之情況下升高至驗證位準Vcgv(例如,Vv1、Vv2……Vv15),且BLCLAMP升高至預充電電壓以對所選位元線所選BL預充電(例如,至約0.7 V)。電壓Vread充當導通電壓,使未選記憶體單元無關於實體狀態或臨限電壓而接通且充當導通閘極。在時間t2時,BLCLAMP降低至VSS ,使得NAND串可控制位元線。亦在時間t2時,藉由使SGS升高至VDD 來接通源極側選擇閘極。此提供耗散位元線上之電荷的路徑。如由信號線260所描繪,若經選擇以進行讀取的記憶體單元之臨限電壓大於施加至所選字線WLn之Vcgr或Vcgv,則所選記憶體單元將不接通,且位元線將不放電。如由曲線262所描繪,若經選擇以進行讀取的記憶體單元之臨限電壓低於施加至所選字線WLn之Vcgr或Vcgv,則經選擇以進 行讀取之記憶體單元將接通(導電),且位元線電壓將耗散。在時間t2之後且在時間t3之前的某點處(如由特定實施例判定),感測放大器將判定位元線是否已經耗散足夠量。在t2與t3之間,BLCLAMP(B)升高以使感測放大器量測所評估之BL電壓,且接著降低。在時間t3處,所描繪之信號將降低至VSS (或在待命或恢復之情況下降低至另一值)。注意,在其他實施例中,可改變信號中之一些信號的時序(例如,將所施加之信號偏移至鄰近者)。In FIG. 7, the sensing circuit measures the conduction current of the memory cell by determining whether the bit line has been discharged. At time t1, SGD rises to V DD (eg, about 3.5 volts), unselected word line (WL_unsel) rises to Vread (eg, about 5.5 volts), and selected word line WLn is in the case of a read operation Raise to Vcgr (eg, V1, V2...V15) or rise to verify level Vcgv (eg, Vv1, Vv2...Vv15) with verify operation, and BLCLAMP rises to precharge voltage to The selected bit line selects the BL precharge (for example, to about 0.7 V). The voltage Vread acts as a turn-on voltage, turning the unselected memory cells on regardless of the physical state or threshold voltage and acting as a turn-on gate. At time t2, BLCLAMP is lowered to Vss such that the NAND string can control the bit line. Also at time t2, the source side selection gate is turned on by raising SGS to V DD . This provides a path to dissipate the charge on the bit line. As depicted by signal line 260, if the threshold voltage of the memory cell selected for reading is greater than Vcgr or Vcgv applied to the selected word line WLn, the selected memory cell will not be turned on, and the bit is not turned on. The line will not discharge. As depicted by curve 262, if the threshold voltage of the memory cell selected for reading is lower than Vcgr or Vcgv applied to the selected word line WLn, the memory cell selected for reading will be turned on. (Conductive) and the bit line voltage will be dissipated. At some point after time t2 and before time t3 (as determined by the particular embodiment), the sense amplifier will determine if the bit line has been dissipated a sufficient amount. Between t2 and t3, BLCLAMP(B) is raised to cause the sense amplifier to measure the evaluated BL voltage and then decrease. At time t3, the depicted signal will be reduced to V SS (or reduced to another value in the case of standby or recovery). Note that in other embodiments, the timing of some of the signals may be changed (eg, the applied signal is offset to a neighbor).

圖8為描述用於自非揮發性記憶體單元讀取資料之一實施例的流程圖。圖8提供系統級之讀取處理。在步驟300處,接收讀取資料之請求。在步驟302處,回應於讀取資料之該請求而對特定頁執行讀取操作。在一實施例中,在程式化一頁之資料時,系統亦將創建用於錯誤修正碼(ECC)之額外位元且連同該頁資料一起寫入彼等ECC位元。在自一頁讀取資料時,該等ECC位元將用於在步驟304處判定資料中是否存在任何錯誤。可由控制器、狀態機或系統中之他處來執行該ECC處理。若資料中不存在錯誤,則在步驟306處將資料報告給使用者。若在步驟304處找到錯誤,則在步驟308處判定該錯誤是否可修正。該錯誤可係歸因於浮動閘極至浮動閘極耦接或其他原因。各種ECC方法具有修正一組資料中之預定數目之錯誤的能力。若該ECC處理可修正該資料,則該ECC處理用於在步驟310處修正彼資料,且在步驟312處將經修正之資料報告至使用者。若該資料不可由ECC處理修正,則可在步驟314處 執行資料恢復處理。在一些實施例中,在步驟314後可執行ECC處理。在恢復該資料後,在步驟316處將彼資料報告至主機。在將資料報告至主機時,必要時可藉由讀取額外頁來繼續該處理。Figure 8 is a flow chart depicting one embodiment of reading data from a non-volatile memory unit. Figure 8 provides a system level read process. At step 300, a request to read the data is received. At step 302, a read operation is performed on a particular page in response to the request to read the data. In one embodiment, when staging a page of data, the system will also create additional bits for the error correction code (ECC) and write them along with the page data to their ECC bits. When reading data from a page, the ECC bits will be used to determine if there are any errors in the data at step 304. This ECC process can be performed by the controller, the state machine, or elsewhere in the system. If there is no error in the data, the data is reported to the user at step 306. If an error is found at step 304, then at step 308 it is determined if the error is correctable. This error can be due to floating gate to floating gate coupling or other reasons. Various ECC methods have the ability to correct a predetermined number of errors in a set of data. If the ECC process can correct the data, the ECC process is used to correct the data at step 310, and the corrected data is reported to the user at step 312. If the data cannot be corrected by the ECC process, then at step 314 Perform data recovery processing. In some embodiments, ECC processing can be performed after step 314. After the data is restored, the data is reported to the host at step 316. When reporting data to the host, the process can be continued by reading additional pages as necessary.

圖9描繪根據一實施例可使用之用於為非揮發性儲存器編碼及解碼資料的系統。使用錯誤修正控制來偵測及修正對非揮發性記憶體陣列中有錯誤或受破壞之資料的讀取。大體言之,根據一編碼方案自輸入資料計算一些額外ECC或同位位元,且將其儲存於記憶體陣列中。在進行讀取時,讀取輸入資料及ECC位元,且解碼器使用該兩者來偵測錯誤是否存在,且在一些情況下偵測錯誤出現於哪一(些)位元中。9 depicts a system that can be used to encode and decode data for non-volatile storage, in accordance with an embodiment. Error correction controls are used to detect and correct the reading of erroneous or corrupted data in non-volatile memory arrays. In general, some additional ECC or parity bits are calculated from the input data according to a coding scheme and stored in the memory array. When reading, the input data and ECC bits are read, and the decoder uses the two to detect the presence of an error and, in some cases, to detect which bit(s) the error occurred in.

在一實施例中,可將圖9之錯誤修正控制系統實施成控制器144之部分,但可使用不同系統及架構。圖9之系統包括編碼器472、記憶體陣列474、對數似然率(LLR)表476及解碼器478。編碼器472接收待儲存於記憶體陣列474中之使用者資料(亦稱作資訊位元)。該等資訊位元由矩陣i=[10]表示。編碼器472實施一錯誤修正編碼處理,其中將同位位元添加至該等資訊位元以提供由矩陣或碼字v=[1010]表示之資料,其指示兩個同位位元已附加至該等資料位元。可使用以更複雜之方式將輸入資料映射至輸出資料的其他技術,諸如下文所論述之技術。可使用低密度同位檢查(LDPC)碼(亦稱作加拉格爾碼(Gallager code))。實務上,通常將此等碼應用於跨許多儲存元件編碼之多個頁。 關於LDPC之進一步資訊可在2003年劍橋大學出版社出版之D. MacKay的"Information Theory, Inference and Learning Algorithms"第47章中找到。接著可將資料位元映射至一邏輯頁,且藉由將一非揮發性儲存元件程式化至一對應於v之程式化狀態(例如,X=12)來將該等資料位元儲存於非揮發性儲存器474中。在四位元資料矩陣v之情況下,可使用16個程式化狀態。通常,不為每一個別單元使用同位位元。In an embodiment, the error correction control system of FIG. 9 may be implemented as part of controller 144, although different systems and architectures may be used. The system of FIG. 9 includes an encoder 472, a memory array 474, a log likelihood ratio (LLR) table 476, and a decoder 478. Encoder 472 receives user data (also referred to as information bits) to be stored in memory array 474. These information bits are represented by a matrix i=[10]. Encoder 472 implements an error correction encoding process in which co-located bits are added to the information bits to provide data represented by a matrix or codeword v = [1010] indicating that two co-located bits have been appended to the information Data bit. Other techniques for mapping input data to output data in a more sophisticated manner may be used, such as the techniques discussed below. A low density parity check (LDPC) code (also known as a Gallager code) can be used. In practice, these codes are typically applied to multiple pages encoded across many storage elements. Further information on LDPC can be found in Chapter 47 of "Information Theory, Inference and Learning Algorithms" by D. MacKay, published by Cambridge University Press, 2003. The data bits can then be mapped to a logical page and stored in a non-volatile storage element by stylizing it to a stylized state corresponding to v (eg, X=12). In the volatile reservoir 474. In the case of the four-bit data matrix v, 16 stylized states can be used. Typically, no parity bits are used for each individual unit.

在一可能實施例中,使用一反覆機率性解碼方法,其實施對應於編碼器472處實施之編碼的錯誤修正解碼。關於反覆機率性解碼之更多詳情,可在上述D. MacKay原文中找到。反覆機率性解碼試圖藉由將初始機率度量指派給一碼字中之每一位元來解碼該碼字。該等機率度量指示每一位元之可靠性,亦即,該位元中不存在錯誤的可能性。在一方法中,該等機率度量為自LLR表476獲得之對數似然率LLR。LLR值為藉以得知自儲存元件讀取之各二進制位元之值的可靠性之量測。In a possible embodiment, a repetitive probability decoding method is implemented that implements error correction decoding corresponding to the encoding implemented at encoder 472. More details on the repetitive probability decoding can be found in the original D. MacKay text above. The inverse probability decoding attempts to decode the codeword by assigning an initial probability metric to each bit in a codeword. These probability metrics indicate the reliability of each bit, that is, the likelihood that there is no error in the bit. In one method, the probability metrics are the log likelihood ratio LLRs obtained from the LLR table 476. The LLR value is a measure by which the reliability of the values of the bins read from the storage element is known.

一位元之LLR由給出,其中P(v=0∣Y)為在假定讀取狀態為Y之條件下一位元為0之機率,且P(v=1∣Y)為在假定讀取狀態為Y之條件下一位元為1之機率。因此,LLR>0指示一位元更有可能為0而非1,而LLR<0指示一位元更有可能為1而非0,以滿足錯誤修正碼之一或多個同位檢查。另外,較大量值指示較大之機率或可靠性。因此,LLR=63之位元比LLR=5之位元更有可能為 0,且LLR=-63之位元比LLR=-5之位元更有可能為1。LLR=0指示位元為0或為1之可能性相等。One yuan LLR by Given that P(v=0∣Y) is the probability that a bit is 0 under the condition that the read state is Y, and P(v=1∣Y) is the condition that the read state is Y. The next one is a chance of 1. Therefore, LLR>0 indicates that a bit is more likely to be 0 instead of 1, and LLR<0 indicates that a bit is more likely to be 1 instead of 0 to satisfy one or more parity checks of the error correction code. In addition, a larger magnitude indicates a greater probability or reliability. Therefore, the bit of LLR=63 is more likely to be 0 than the bit of LLR=5, and the bit of LLR=-63 is more likely to be 1 than the bit of LLR=-5. LLR=0 indicates that the probability that the bit is 0 or is equal is equal.

可為碼字y1中之四個位元位置中之每一者提供一LLR值。舉例而言,分別將為4.5、5.2、-5.9及6.6之LLR指派給y1之位元0、0、1及0。另外,LLR表可考量多個讀取結果,使得在位元值在不同碼字中為一致時使用具較大量值之LLR。An LLR value can be provided for each of the four bit positions in codeword y1. For example, LLRs of 4.5, 5.2, -5.9, and 6.6 are assigned to bits 0, 0, 1, and 0 of y1, respectively. In addition, the LLR table can take into account multiple read results such that LLRs with larger magnitudes are used when bit values are consistent across different codewords.

解碼器478接收碼字y1及LLR。如下文所解釋(見,例如,圖11及圖12),解碼器478在連續反覆中反覆,其中其判定是否已滿足錯誤編碼過程之同位檢查。若已滿足所有同位檢查,則解碼過程已收斂且碼字已經錯誤修正。若尚未滿足一或多個同位檢查,則解碼器將調整位元中之與同位檢查不一致之一或多者的LLR,且接著重新應用同位檢查或該過程中之下一檢查以判定其是否已滿足。舉例而言,可調整LLR之量值及/或極性。若所述同位檢查仍未得到滿足,則可在另一反覆中再次調整LLR。在一些但非所有情況下,調整LLR可能導致位元之倒轉(例如,自0至1或自1至0)。在一實施例中,在可行時,一旦所述同位檢查已得到滿足,則將另一同位檢查應用於該碼字。在其他情況下,該過程移動至下一同位檢查,稍後返回至失敗之檢查。該過程繼續以試圖滿足所有同位檢查。因此,完成y1之解碼過程以獲得包括同位位元v及解碼資訊位元i的經解碼資訊。The decoder 478 receives the codewords y1 and LLR. As explained below (see, for example, Figures 11 and 12), decoder 478 repeats in successive iterations, where it determines if the parity check of the error encoding process has been satisfied. If all parity checks have been met, the decoding process has converged and the codeword has been incorrectly corrected. If one or more parity checks have not been met, the decoder will adjust the LLR of one or more of the bits that are inconsistent with the parity check, and then reapply the peer check or the next check in the process to determine if it has Satisfy. For example, the magnitude and/or polarity of the LLR can be adjusted. If the co-location check is still not met, the LLR can be adjusted again in another iteration. In some but not all cases, adjusting the LLR may result in the inversion of the bit (eg, from 0 to 1 or from 1 to 0). In an embodiment, another parity check is applied to the codeword as soon as practicable once the parity check has been satisfied. In other cases, the process moves to the next parity check and returns to the failed check later. The process continues to attempt to satisfy all co-location checks. Therefore, the decoding process of y1 is completed to obtain decoded information including the parity bit v and the decoded information bit i.

圖10為如圖6所說明之器件之不同狀態的每一位元位置 的初始LLR值表(其中M3>M2>M1)。正LLR值指示相應位元之邏輯0,且負LLR指示相應位元之邏輯1。較大量值指示關於位元處於彼邏輯狀態下之較大可靠性或機率。舉例而言,處於狀態0至5下之低位元具有LLR=-M3,指示此等位元具有為1之高機率。彼情況可自圖6直觀地看出,因為在狀態Y1下讀取一單元的機率為小的,該單元實際上處於遠不足以將位元自0改變至1的已程式化狀態下。因此,處於狀態5下之低位元的LLR為-M3(較高正確機率),因為該讀取狀態必須自已程式化狀態偏離至少三個狀態,例如,狀態8(其中低位元為0,而非1)。然而,處於狀態6下之低位元的LLR為-M2(中間正確機率),因為對於將出錯之位元而言,讀取狀態將必須偏離兩個狀態。類似地,處於狀態7下之低位元的LLR為-M1(較低正確機率),因為對於將出錯之位元而言,讀取狀態將必須偏離僅一個狀態。類似推理適用於其他位元位置。舉例而言,頂位元之LLR指示相對較低之正確機率,因為僅一狀態之錯誤將導致位元不正確。Figure 10 is a diagram of each bit position of the different states of the device as illustrated in Figure 6. The initial LLR value table (where M3 > M2 > M1). A positive LLR value indicates a logical zero of the corresponding bit, and a negative LLR indicates a logical one of the corresponding bit. A larger magnitude indicates a greater reliability or probability that the bit is in a logical state. For example, the lower bits in states 0 through 5 have LLR = -M3, indicating that these bits have a high probability of being one. The situation can be seen visually from Figure 6, because the probability of reading a cell in state Y1 is small, the cell is actually in a stylized state that is far from enough to change the bit from 0 to 1. Therefore, the LLR of the lower bit in state 5 is -M3 (higher correct probability) because the read state must deviate from the stylized state by at least three states, for example, state 8 (where the lower bit is 0 instead of 1). However, the LLR of the lower bit in state 6 is -M2 (intermediate correct probability) because the read state will have to deviate from the two states for the bit that will be in error. Similarly, the LLR of the lower bit in state 7 is -M1 (lower correct probability) because the read state will have to deviate from only one state for the bit that will be in error. Similar reasoning applies to other bit positions. For example, the LLR of the top bit indicates a relatively low probability of correctness, since only one state error will result in the bit being incorrect.

圖11描繪一稀疏同位檢查矩陣。如先前所提及,記憶體儲存表示資訊位元及同位位元(或ECC位元)之資料,其中同位位元係根據錯誤修正編碼處理而提供。此處理涉及將同位位元添加至資訊位元。在一可能方法中,可使用一低密度同位檢查(LDPC)碼。實務上,通常將此等碼應用於多個碼字,該多個碼字係跨許多儲存元件而編碼(意即,非每一單元儲存同位位元,檢查分布於多個單元上)。LDPC 碼為理想的,因為其招致相對較低之間接費用成本。此外,LDPC碼展現在反覆訊息傳遞解碼演算法下接近向農限制(Shannon limit)之效能。然而,此僅為一實例實施例,因為亦可使用任何類型之錯誤修正碼。舉例而言,可使用其他線性區塊碼。Figure 11 depicts a sparse parity check matrix. As mentioned previously, the memory stores data representing information bits and parity bits (or ECC bits), wherein the parity bits are provided in accordance with error correction coding processing. This process involves adding a parity bit to the information bit. In one possible approach, a low density parity check (LDPC) code can be used. In practice, these codes are typically applied to a plurality of codewords that are encoded across a plurality of storage elements (ie, not each unit stores parity bits, and inspections are distributed across multiple units). LDPC The code is ideal because it incurs a relatively low cost of indirect connection. In addition, the LDPC code exhibits the performance of the Shannon limit under the repeated message passing decoding algorithm. However, this is merely an example embodiment as any type of error correction code can be used. For example, other linear block codes can be used.

LDPC碼為線性區塊碼,其由稀疏同位檢查矩陣特徵化,例如,如由矩陣520所描繪。該矩陣包括K個資訊位元及M個同位位元,且碼長度為N=K+M。另外,該等同位位元經界定使得滿足M個同位檢查方程式,其中該矩陣之每一列表示一同位檢查方程式。詳言之,該矩陣之列由檢查節點cn1至cn10識別,且行由變數v1至v13識別,該等變數指示儲存元件中所儲存之資料,例如,碼字位元。基於以下方程式,此資料包括資訊位元i及同位位元p: 其中H為稀疏同位檢查矩陣,v為資料矩陣,i為資訊位元矩陣,且p為同位位元矩陣。可藉由對上述方程式求解來判定資料矩陣v。另外,若矩陣H為下三角矩陣,則可使用高斯消去程序(Gaussian elimination procedure)來有效地進行此求解。The LDPC code is a linear block code that is characterized by a sparse parity check matrix, for example as depicted by matrix 520. The matrix includes K information bits and M co-located bits, and the code length is N=K+M. Additionally, the equivalent bit is defined such that M parity check equations are satisfied, wherein each column of the matrix represents a parity check equation. In particular, the matrix is identified by check nodes cn1 through cn10, and the rows are identified by variables v1 through v13, which indicate the data stored in the storage element, for example, codeword bits. Based on the following equation, this information includes the information bit i and the parity bit p: Where H is a sparse parity check matrix, v is a data matrix, i is an information bit matrix, and p is a parity matrix. The data matrix v can be determined by solving the above equation. In addition, if the matrix H is a lower triangular matrix, this solution can be efficiently performed using a Gaussian elimination procedure.

圖12描繪對應於圖11之稀疏同位檢查矩陣之稀疏偶圖。圖表530更詳細地指示LDPC碼如何運作。可變節點v1至v13表示碼字位元,且檢查節點cn1至cn10表示對該等位元之同位檢查約束。Figure 12 depicts a sparse diffractogram corresponding to the sparse parity check matrix of Figure 11. Graph 530 indicates in more detail how the LDPC code operates. The variable nodes v1 to v13 represent codeword bits, and the check nodes cn1 to cn10 represent the parity check constraint for the equal bits.

在解碼期間,解碼器試圖滿足同位檢查。在此實例中,存在十次同位檢查,如由檢查節點cn1至cn10所指示。為簡單起見,相對於二進制位元提供以下論述,二進制位元可採取值0或1。對於實際實施例而言,該等位元可為LLR值,其中正LLR表示二進制1,且負LLR表示二進制0。此外,在實施例中可使用"軟XOR",而非使用典型XOR邏輯運算。對類比LLR值進行軟XOR運算且返回一類比值。若將正LLR值簡化至二進制0且將負LLR值簡化至二進制1,則對LLR值進行之軟XOR運算簡化至對二進制位元進行之邏輯XOR運算。During decoding, the decoder attempts to satisfy the parity check. In this example, there are ten parity checks, as indicated by check nodes cn1 through cn10. For the sake of simplicity, the following discussion is provided with respect to binary bits, which may take the value 0 or 1. For practical embodiments, the bits may be LLR values, where a positive LLR represents a binary one and a negative LLR represents a binary zero. Furthermore, "soft XOR" can be used in embodiments instead of using typical XOR logic operations. A soft XOR operation is performed on the analog LLR value and a type of ratio is returned. If the positive LLR value is reduced to binary 0 and the negative LLR value is reduced to binary 1, the soft XOR operation on the LLR value is simplified to a logical XOR operation on the binary bit.

在cn1處之第一同位檢查判定是否v2v4v11v13=0,其中表示互斥或(XOR)邏輯運算。若在v2、v4、v11及v13中存在偶數個"1"位元,則滿足此檢查。此檢查由在圖表1300中來自節點v2、v4、v11及v13之箭頭指向節點cn1的事實表示。在cn2處之第二同位檢查判定是否v1v7v12=0,若存在奇數個"1"位元,則滿足該檢查。在cn3處之第三同位檢查判定是否v3v5v6v9v10=0,若存在奇數個"1"位元,則滿足該檢查。類似地,在cn4處之第四同位檢查判定是否v2v8v11=0,在cn5處之第五檢查判定是否v4v7v12=0,在cn6處之第六同位檢查判定是否v1v5v6v9=0,在cn7處之第七同位檢查判定是否v2v8v10v13=0,在cn8處之第八同位檢查判定是否v4v7v11v12=0,在cn9處之第九同位檢查判定是否v1v3v5v13=0,且在cn10處之第十同位檢查判定是否 v7v8v9v10=0。The first parity check at cn1 determines whether v2 V4 V11 V13=0, where Represents a mutually exclusive or (XOR) logical operation. This check is satisfied if there are even "1" bits in v2, v4, v11, and v13. This check is represented by the fact that the arrows from nodes v2, v4, v11, and v13 point to node cn1 in chart 1300. The second parity check at cn2 determines whether v1 V7 V12=0, if there are an odd number of "1" bits, the check is satisfied. The third parity check at cn3 determines whether v3 V5 V6 V9 V10=0, if there are an odd number of "1" bits, the check is satisfied. Similarly, the fourth parity check at cn4 determines whether v2 V8 V11=0, the fifth check at cn5 determines whether v4 V7 V12=0, the sixth parity check at cn6 determines whether v1 V5 V6 V9=0, the seventh parity check at cn7 determines whether v2 V8 V10 V13=0, the eighth parity check at cn8 determines whether v4 V7 V11 V12=0, the ninth parity check at cn9 determines whether v1 V3 V5 V13=0, and the tenth parity check at cn10 determines whether v7 V8 V9 V10=0.

用於LDPC之解碼方法為稱作反覆訊息傳遞解碼之反覆機率性解碼方法。反覆涉及連續地橫跨檢查節點及基於每一同位檢查而更新所涉及之位元的LLR值。在一方法中,試圖滿足cn1之第一同位檢查。一旦滿足彼同位檢查,則試圖滿足cn2之第一同位檢查,等等。在另一實施例中,在cn1處之嘗試不成功後,該過程移至cn2且返回至cn1。必要時,以熟習此項技術者已知之方式來調整每一次反覆之LLR值。此反覆演算法為置信傳播之一形式。The decoding method for LDPC is a repetitive probability decoding method called repeated message delivery decoding. Repeating involves continuously traversing the inspection node and updating the LLR values of the bits involved based on each parity check. In one method, an attempt is made to satisfy the first parity check of cn1. Once the peer check is satisfied, an attempt is made to satisfy the first parity check of cn2, and so on. In another embodiment, after the attempt at cn1 is unsuccessful, the process moves to cn2 and returns to cn1. If necessary, adjust the LLR value for each iteration in a manner known to those skilled in the art. This repeated algorithm is in the form of one of belief propagation.

為改良收斂時間,可在錯誤修正控制處理期間自記憶體單元獲得高階位元級資訊。該額外資訊可稱作"軟位元",且相應操作稱作軟位元比較點處之軟位元讀取操作。藉由在經調整比較位準下讀取記憶體單元以提供比可由修正引擎使用的資料更多的資料以加速或以其他方式有助於收斂處理來收集"軟位元"。舉例而言,在一實施例中,在正常"硬"讀取操作期間使用的比較點中之每一者可遞增0.5 V以提供軟位元比較位準。藉由在軟位元比較位準下進行讀取,使更多資料可用於錯誤修正控制處理,此可改良收斂效能。To improve the convergence time, high order bit level information can be obtained from the memory unit during the error correction control process. This additional information may be referred to as a "soft bit" and the corresponding operation is referred to as a soft bit read operation at the soft bit comparison point. The "soft bit" is collected by reading the memory unit at the adjusted comparison level to provide more data than can be used by the correction engine to speed up or otherwise contribute to the convergence process. For example, in one embodiment, each of the comparison points used during a normal "hard" read operation may be incremented by 0.5 V to provide a soft bit comparison level. By reading at the soft bit comparison level, more data can be used for error correction control processing, which improves convergence performance.

圖13說明作為錯誤修正控制處理之部分的根據一實施例的軟資料位元之使用。展示圖6所示之16態器件之狀態6、7及8。為清楚起見,僅描繪總臨限電壓分布之一部分。描繪正常或"硬位元"讀取比較點V6、V7、V8及V9連同各種軟位元讀取比較位準。藉由在第一組軟位元讀取位準 Sa6、Sa7及Sa8下進行讀取來判定每一單元之第一軟位元。此等比較點平分其相應臨限分布。此等平分點可能正好出現於分布之峰值處,但對於不同記憶體器件而言可能未必如此。在其他實施例中,讀取位準可置於不同位置處。類似參考位準亦將提供於圖6所示之每一其他狀態下。使用經調整比較位準及待當作錯誤修正控制處理之部分而使用的報告至控制器之資料來執行讀取操作。Figure 13 illustrates the use of soft data bits in accordance with an embodiment as part of error correction control processing. The states 6, 7, and 8 of the 16-state device shown in Figure 6 are shown. For the sake of clarity, only a portion of the total threshold voltage distribution is depicted. The normal or "hard bit" read comparison points V6, V7, V8, and V9 are depicted along with various soft bit read comparison levels. By reading the level in the first set of soft bits Reads are performed under Sa6, Sa7, and Sa8 to determine the first soft bit of each cell. These comparison points bisect their corresponding threshold distributions. These bisectors may appear exactly at the peak of the distribution, but may not be the case for different memory devices. In other embodiments, the read levels can be placed at different locations. Similar reference levels will also be provided in each of the other states shown in FIG. The read operation is performed using the information of the report to the controller that is used to adjust the comparison level and to be used as part of the error correction control process.

第一軟位元將每一臨限電壓分布分成兩部分以進一步分割每一單元已知之資訊。該軟位元藉由指定任何個別記憶體單元可能處於之分布來增加藉以獲知該記憶體單元之狀態的解析度。例如,可使用狀態6之編碼將在軟位元讀取位準Sa7而非Sa6下導電之單元報告至控制器。若先前係在狀態6下讀取此單元,則控制器可判定其位於狀態6之電壓分布的上半部內。The first soft bit divides each threshold voltage distribution into two parts to further divide the information known to each unit. The soft bit increases the resolution by which the state of the memory cell is known by specifying that any individual memory cell may be in distribution. For example, the state 6 can be used to report the unit that is conducting at the soft bit read level Sa7 instead of Sa6 to the controller. If the unit was previously read in state 6, the controller can determine that it is in the upper half of the voltage distribution of state 6.

藉由在第二組讀取位準下進行讀取來判定每一單元之第二軟位元。圖13描繪第二軟位元位準Sb6L、Sb6H、Sb7L、Sb7H、Sb8L及Sb8H。該等第二軟位元位準位於第一軟位元位準與硬位元比較位準之間。第二軟位元之低位準(例如,Sb6L)位於第一軟位元比較位準(例如,Sa6)與相應硬比較位準(例如,V6)之間。較高位準位於第一軟位元位準與硬比較位準之間。類似參考位準亦將提供於圖6所示之每一其他狀態下。使用經調整比較位準中之每一者及待用於修正控制的報告至控制器之資料來執行讀取操作。The second soft bit of each cell is determined by reading at a second set of read levels. Figure 13 depicts second soft bit levels Sb6L, Sb6H, Sb7L, Sb7H, Sb8L, and Sb8H. The second soft bit level is between the first soft bit level and the hard bit comparison level. The low level of the second soft bit (eg, Sb6L) is between the first soft bit compare level (eg, Sa6) and the corresponding hard compare level (eg, V6). The higher level is between the first soft bit level and the hard comparison level. Similar reference levels will also be provided in each of the other states shown in FIG. The read operation is performed using the information of each of the adjusted comparison levels and the report to the controller to be used for the correction control.

將每一狀態位準下之第二軟位元分成兩個部分軟位元。 如圖6所說明,第二軟位元之每一狀態存在兩個比較點。使用比較位準之第一子集(每狀態包括一位準)來判定第一部分軟位元,且使用比較位準之第二子集(每狀態包括一位準)來判定第二部分軟位元。因為記憶體陣列可經組態以在四位元解析度下讀取,所以在相異時間間隔下應用該兩個子集之比較點。在使用16個狀態之器件中,可在四位元解析度下自每一單元讀取資料。在多數情況下,在此解析度下資料係提供於記憶體陣列與控制器之間。舉例而言,主機可將對一或多個頁之請求發出至控制器。記憶體陣列可一次將一頁資料提供至控制器,同時讀取下一請求頁。為適應在第二軟位元之每一狀態之兩個比較位準下進行讀取,將比較位準分成兩個子集。舉例而言,第一子集可包括低比較位準(例如,Sb6L、Sb7L等),且第二子集可包括較高比較位準(例如,Sb6H、Sb7H等)。記憶體可在第一組位準下讀取且在四位元解析度下將資料報告至控制器,且接著在第二組位準下讀取且在四位元解析度下將彼資料報告至控制器。控制器可使用來自第二軟位元位準之兩個子集之資料來劃分每一記憶體單元之狀態判定以使其在狀態的一四分位內。該資料可與來自硬比較位準及第一軟位元之資訊一起使用以提供高位準之解析度。The second soft bit under each state level is divided into two partial soft bits. As illustrated in Figure 6, there are two comparison points for each state of the second soft bit. The first subset of soft bits are determined using a first subset of comparison levels (each state includes one quasi) and a second subset of comparison levels (each state includes one quasi) to determine the second soft bit yuan. Because the memory array can be configured to read at four-bit resolution, the comparison points of the two subsets are applied at different time intervals. In a device using 16 states, data can be read from each cell at four-bit resolution. In most cases, data is provided between the memory array and the controller at this resolution. For example, the host can issue a request for one or more pages to the controller. The memory array can provide one page of data to the controller at a time while reading the next request page. To accommodate reading at two comparison levels for each state of the second soft bit, the comparison level is divided into two subsets. For example, the first subset can include low comparison levels (eg, Sb6L, Sb7L, etc.), and the second subset can include higher comparison levels (eg, Sb6H, Sb7H, etc.). The memory can be read at the first set of levels and reported to the controller at four-bit resolution, and then read at the second set of levels and report the data at four-bit resolution To the controller. The controller can use the data from the two subsets of the second soft bit level to divide the state determination of each memory cell to be within a quartile of the state. This information can be used with information from the hard comparison level and the first soft bit to provide a high level of resolution.

併有第一軟位元資料的初始LLR值表描繪於圖14中。圖14僅包括該表格之對應於圖13所示之狀態6、7及8的部分。16態器件之完整表格將對於每一狀態包括兩行。第一軟位元LLR表包括之條目兩倍於在硬位元讀取後存取之 LLR值表的條目。在第一軟位元比較位準下進行讀取判定相對於經調整比較點的每一記憶體單元之臨限電壓。藉由將來自硬位元讀取之資料與來自第一軟資料位元讀取之資料進行組合,控制器可判定記憶體單元位於相應狀態分布之哪一半內。An initial LLR value table with the first soft bit data is depicted in FIG. Figure 14 includes only the portions of the table corresponding to states 6, 7, and 8 shown in Figure 13. The complete table of 16-state devices will include two rows for each state. The first soft bit LLR table includes entries that are twice as large as those accessed after the hard bit is read. An entry for the LLR value table. A read determination is made at a first soft bit comparison level relative to a threshold voltage of each memory cell of the adjusted comparison point. By combining the data read from the hard bit with the data read from the first soft data bit, the controller can determine which half of the corresponding state distribution the memory cell is in.

該表格對於每一狀態包括兩行,每一行表示相應分布之一半。舉例而言,行6(0)對應於在狀態6分布之下半部中的彼等記憶體單元,而行6(1)對應於在狀態6分布之上半部中的彼等記憶體單元。類似地,行7(0)對應於在狀態7分布之下半部中的彼等記憶體單元,行7(1)對應於在狀態7分布之上半部中的彼等記憶體單元,行8(0)對應於在狀態8分布之下半部中的彼等記憶體單元,且行8(1)對應於在狀態8分布之上半部中的彼等記憶體單元。每一行包括一LLR值,在此實施例中,該LLR值展示為對來自圖10之硬位元LLR值的LLR值之調整。每一行中之LLR值基於來自第一軟位元之額外資訊而反映位元之值的增加或減少之確定性。在其他實施例中,可在不同方面來界定該等LLR值,諸如,在絕對量測而非對硬位元資料LLR值之調整方面。The table includes two rows for each state, each row representing one and a half of the corresponding distribution. For example, row 6(0) corresponds to the memory cells in the lower half of the state 6 distribution, and row 6(1) corresponds to the memory cells in the upper half of the state 6 distribution. . Similarly, row 7(0) corresponds to the memory cells in the lower half of the state 7 distribution, and row 7(1) corresponds to the memory cells in the upper half of the state 7 distribution, 8(0) corresponds to their memory cells in the lower half of the state 8 distribution, and row 8(1) corresponds to their memory cells in the upper half of the state 8 distribution. Each row includes an LLR value, which in this embodiment is shown as an adjustment to the LLR value of the hard bit LLR value from FIG. The LLR value in each row reflects the certainty of the increase or decrease in the value of the bit based on additional information from the first soft bit. In other embodiments, the LLR values may be defined in different aspects, such as in absolute measurements rather than adjustments to hard bit data LLR values.

併有第二軟位元資料的初始LLR值表描繪於圖15中。又,為達成清楚之目的,該表格僅包括該表格之對應於圖6所示之狀態6、7及8的部分。此外,該表格僅列出將對圖10所描繪之LLR值所做出的調整本身以節省該表格中之空間。如圖14中之值的情況,有可能在不同方面界定新LLR值,諸如,在絕對值而非對硬資料LLR值之調整方面。16 態器件之完整表格將對於每一狀態包括四行。該第二軟位元表對於每一狀態包括四行,每一行表示該狀態之相應分布的四分之一。舉例而言,行6(00)表示在狀態6分布之最下四分之一中的彼等記憶體單元,6(01)表示在狀態6分布之次下四分之一中的彼等記憶體單元,行6(10)表示在狀態6分布之次上四分之一中的彼等記憶體單元,且行6(11)表示在狀態6分布之最上四分之一中的彼等記憶體單元。為狀態7及8提供類似行,使用標記00、01、10、11來識別在相應分布之最下、次下、次上及最上四分位區域中的單元。An initial LLR value table with the second soft bit data is depicted in FIG. Again, for clarity purposes, the table includes only portions of the table that correspond to states 6, 7, and 8 shown in FIG. In addition, the table lists only the adjustments made to the LLR values depicted in Figure 10 to save space in the table. As is the case with the values in Figure 14, it is possible to define new LLR values in different ways, such as in absolute values rather than adjustments to hard data LLR values. 16 The complete table of state devices will include four rows for each state. The second soft bit table includes four rows for each state, each row representing a quarter of the corresponding distribution of the states. For example, row 6 (00) represents the memory cells in the lowest quarter of the state 6 distribution, and 6 (01) represents the memory in the lower quarter of the state 6 distribution. Body unit, row 6 (10) represents the memory cells in the second quarter of the state 6 distribution, and row 6 (11) represents the memory in the top quarter of the state 6 distribution. unit. Similar rows are provided for states 7 and 8, using the symbols 00, 01, 10, 11 to identify cells in the lowest, second, second, and upper quartile regions of the respective distribution.

根據一實施例,提供一額外LLR表以用於在接收第二軟位元之第二部分軟位元資料之前基於來自第二軟位元操作之第一部分軟位元的資料進行反覆解碼。以此方式,在完成比較位準之第二子集的讀取之前,可作用於來自第二軟位元之比較位準之第一子集的額外資訊。在一些情況下,解碼處理可能在第二部分軟位元讀取完成之前收斂,因此減少讀取之總時間。According to an embodiment, an additional LLR table is provided for repeatedly decoding based on data from the first portion of the soft bits of the second soft bit operation prior to receiving the second portion of the soft bit data of the second soft bit. In this manner, additional information from the first subset of the comparison levels of the second soft bit can be applied prior to completion of the reading of the second subset of comparison bits. In some cases, the decoding process may converge before the second portion of the soft bit reading is completed, thus reducing the total time of reading.

根據一實施例的併有來自第二軟位元比較位準之第一子集之資料的初始LLR值表描繪於圖16中。再次描繪該表格之對應於圖6所示之狀態6、7及8的部分。16態器件之完整表格將包括對應於每一狀態之行(每一狀態3行)。又,該等LLR值係相對於硬位元LLR值來描述的,但可以不同方式來界定,諸如藉由非相關數,等等。An initial LLR value table for data from a first subset of second soft bit comparison levels in accordance with an embodiment is depicted in FIG. The portion of the table corresponding to states 6, 7, and 8 shown in Fig. 6 is again depicted. The complete table of 16-state devices will include rows corresponding to each state (3 rows per state). Again, the LLR values are described relative to the hard bit LLR values, but may be defined in different ways, such as by non-correlated numbers, and the like.

如上所述,將用於第二軟位元讀取之該組比較位準分成 兩組以適應在每一狀態之兩個比較位準下進行讀取。此使記憶體能夠在正常讀取條件下操作,藉此在記憶體與控制器之間傳送每單元四個資料位元。當然,其他實施例(諸如,具有不同數目之狀態的實施例)可能需要不同數目之比較位準。早先描述了一實例,其中讀取之第一子集係在低比較位準下執行,繼之以在高比較位準下執行之第二子集。在圖16中,基於每一個別狀態之特徵來選擇低位準及高位準。在其他實施例中,亦可使用早先所描述之劃分。用於第二軟位元讀取的比較位準之第一子集包括狀態6之Sb6L、狀態7之Sb7H及狀態8之Sb8L。第二子集包括Sb6H、Sb7L及Sb8H。在此實例中,位準之第一子集可能包括低位準,因為彼等狀態分布被判定為在負臨限電壓方向上漂移,而狀態7被判定為在正方向上漂移。根據各種實施例,可使用對第二軟位元之比較位準的任何數目及任何類型之劃分。應注意,所揭示之原理可擴展至軟位元讀取之更高位準。Separating the set of comparison levels for the second soft bit read as described above The two groups were adapted to read at two comparison levels in each state. This enables the memory to operate under normal reading conditions, thereby transferring four data bits per cell between the memory and the controller. Of course, other embodiments, such as embodiments having different numbers of states, may require different numbers of comparison levels. An example was described earlier in which the first subset of reads is performed at a low comparison level followed by a second subset executed at a high comparison level. In Figure 16, the low and high levels are selected based on the characteristics of each individual state. In other embodiments, the divisions described earlier may also be used. The first subset of comparison levels for the second soft bit read includes Sb6L of state 6, Sb7H of state 7, and Sb8L of state 8. The second subset includes Sb6H, Sb7L, and Sb8H. In this example, the first subset of levels may include low levels because their state distributions are determined to drift in the negative threshold voltage direction and state 7 is determined to drift in the positive direction. According to various embodiments, any number and any type of partitioning of the comparison level of the second soft bit may be used. It should be noted that the disclosed principles can be extended to higher levels of soft bit reading.

對於狀態6而言,行6(00)對應於在狀態6之臨限電壓範圍之最下四分之一中的單元。行6(01)對應於在次下四分之一中的單元,且行6(1)對應於在狀態6之臨限電壓範圍之上半部中的所有單元。未提供對應於狀態6之臨限電壓分布之上半部的四分之一之個別行。將以第二部分軟位元操作來執行為彼資訊提供區別的Sb6H位準。對於狀態7而言,行7(0)對應於狀態7之臨限分布之下半部中的所有單元,行7(01)對應於狀態7分布之上半部之下四分之一中的單元, 且行7(11)對應於狀態7分布之最上四分之一中的單元。未為狀態7分布之下四分之一提供個別行,因為Sb7H比較位準應用於第一子集中。對於狀態8而言,行8(00)對應於在狀態8之臨限電壓範圍之最下四分之一中的單元。行8(01)對應於在次下四分之一中的單元,且行8(1)對應於在狀態8之臨限電壓範圍之上半部中的所有單元。未提供對應於狀態8之臨限電壓分布之上半部的四分之一之個別行,因為尚未執行在Vb8H下之讀取操作。For state 6, row 6 (00) corresponds to the cell in the lowest quarter of the threshold voltage range of state 6. Row 6 (01) corresponds to the cell in the lower quarter, and row 6 (1) corresponds to all cells in the upper half of the threshold voltage range of state 6. An individual row corresponding to a quarter of the upper half of the threshold voltage distribution of state 6 is not provided. The second portion of the soft bit operation will be used to perform the Sb6H level that provides a distinction for the information. For state 7, row 7 (0) corresponds to all cells in the lower half of the threshold distribution of state 7, and row 7 (01) corresponds to a quarter of the lower half of the state 7 distribution. unit, And row 7 (11) corresponds to the cell in the uppermost quarter of the state 7 distribution. Individual rows are not provided for a quarter of the state 7 distribution because the Sb7H comparison level is applied to the first subset. For state 8, row 8 (00) corresponds to the cell in the lowest quarter of the threshold voltage range of state 8. Row 8 (01) corresponds to the cell in the lower quarter, and row 8 (1) corresponds to all cells in the upper half of the threshold voltage range of state 8. An individual row corresponding to a quarter of the upper half of the threshold voltage distribution of state 8 is not provided because the read operation at Vb8H has not been performed.

在圖16之表格中之LLR值基於自第二軟位元讀取操作之第一部分軟位元搜集的額外資料來指示關於一單元之個別位元的增加或減少之可靠性。例如,行6(00)中頂位元之LLR值為M1+7,而非在第一軟位元LLR表中為行6(0)所提供之M1+5。若一單元被判定為位於狀態6分布之下半部之下部中,則可認為該頂位元更可靠,因為彼方向上之鄰近狀態對於該頂位元而言具有相同邏輯值。行6(01)中頂位元之LLR值為M1+5,與在第一軟位元表中為行6(0)所提供之值相同。此指示關於頂位元之值無更多可靠性。然而,在另一實施例中,基於再次讀取在(例如)狀態6內之單元,LLR值可增加(例如,至M1+6)超過行6(0)之第一軟位元值以指示增加之可靠性。在一實施例中,基於處於下半部之上四分之一中,在需要時LLR值可減小以指示減少之可靠性。The LLR values in the table of Figure 16 are based on additional information gathered from the first portion of the soft bits of the second soft bit read operation to indicate the reliability of the increase or decrease with respect to individual bits of a cell. For example, the LLR value of the top bit in row 6 (00) is M1 + 7 instead of M1 + 5 provided for row 6 (0) in the first soft bit LLR table. If a cell is determined to be in the lower portion of the lower half of the state 6 distribution, the top bit can be considered more reliable because the neighboring state in the other direction has the same logical value for the top bit. The LLR value of the top bit in row 6 (01) is M1 + 5, which is the same value provided for row 6 (0) in the first soft bit table. This indication has no more reliability with respect to the value of the top bit. However, in another embodiment, based on re-reading the unit in state 6, for example, the LLR value may be increased (eg, to M1+6) by the first soft bit value of row 6(0) to indicate Increased reliability. In an embodiment, based on being in the middle of the lower half, the LLR value may be reduced as needed to indicate reduced reliability.

圖17A及圖17B描繪描述根據一實施例之用於讀取非揮發性儲存器之方法的流程圖。所述讀取技術包括作為錯誤 修正控制處理之部分使用LLR值進行反覆解碼。使用第一初始LLR值表來基於在硬比較位準下之讀取來解碼資料。亦提供自記憶體讀取第一及第二軟位元資料以改良收斂。使用第二初始LLR值表來基於在硬比較位準及第一軟位元位準下之讀取來解碼資料。使用第三初始LLR值表來基於在硬比較位準、第一軟位元位準及第二軟位元比較位準之第一子集下之讀取來解碼資料。使用第四初始LLR值表來基於在硬比較位準、第一軟位元位準、第二軟位元比較位準之第一子集及第二軟位元比較位準之第二子集下之讀取來解碼資料。17A and 17B depict a flow chart describing a method for reading a non-volatile storage, in accordance with an embodiment. The reading technique includes as an error The part of the correction control process is repeatedly decoded using the LLR value. The first initial LLR value table is used to decode the data based on the reading at the hard comparison level. The first and second soft bit data are also read from the memory to improve convergence. The second initial LLR value table is used to decode the data based on the readings at the hard comparison level and the first soft bit level. The third initial LLR value table is used to decode the data based on the readings under the first subset of the hard comparison level, the first soft bit level, and the second soft bit comparison level. Using a fourth initial LLR value table to base a second subset of the first subset of the hard comparison level, the first soft bit level, the second soft bit comparison level, and the second soft bit comparison level Read it to decode the data.

在步驟500處,使用硬讀取比較位準以區別單元可程式化至之多個狀態來自記憶體陣列讀取一或多頁資料。可根據所揭示之原理來讀取其他資料單元。以實例說明之,一頁資料可包括來自一群單元中之每一單元的四個位元中之每一者。頁之其他實例可包括來自一群單元中之每一單元的一特定位元。舉例而言,可根據字線或按字線或字線之類型來將單元分組。視在步驟500處所執行之操作的性質及所採用之編碼方案而定,可應用各種硬比較位準。例如,自單元讀取每一位元可能必需應用每一比較位準,而讀取低位元可能僅藉由應用V8比較位準而達成。在步驟502處,將所讀取之單元的資料自記憶體晶片提供至控制器。舉例而言,在一實施例中,提供連續之資料頁。在步驟504處,根據在寫入資料時所用之編碼技術來解碼資料。舉例而言,步驟504可包括對資料執行一或多次同位 檢查。若在步驟506處未偵測到錯誤,則在步驟508處完成讀取操作。然而,若偵測到一或多個錯誤,則在步驟510處開始對出錯之資料進行錯誤修正。可對在步驟500中讀取之資料的各個部分執行錯誤修正。視修正方案可識別資料中之錯誤的位準而定,不同大小之資料可經受反覆機率性解碼。At step 500, a hard read compare level is used to distinguish one or more pages of data from the memory array by the plurality of states that the unit can be programmed to. Other data units can be read in accordance with the disclosed principles. By way of example, a page of data may include each of four bits from each of a group of cells. Other examples of pages may include a particular bit from each of a group of cells. For example, the cells can be grouped according to the word line or by the type of word line or word line. Depending on the nature of the operations performed at step 500 and the coding scheme employed, various hard comparison levels can be applied. For example, reading each bit from a cell may have to apply each comparison level, while reading a lower bit may only be achieved by applying V8 to compare the levels. At step 502, the data of the read unit is provided from the memory chip to the controller. For example, in one embodiment, a continuous page of material is provided. At step 504, the data is decoded based on the encoding technique used in writing the data. For example, step 504 can include performing one or more co-locations on the data. an examination. If no error is detected at step 506, the read operation is completed at step 508. However, if one or more errors are detected, then at step 510, error correction is performed on the erroneous data. Error correction can be performed on various portions of the material read in step 500. Depending on the level of error in the correction scheme, the data of different sizes can be subjected to repeated probability decoding.

在步驟510處,將初始機率度量指派給偵測到錯誤之每一資料單元中的位元中之每一者。舉例而言,可將一度量指派給在具有已偵測到之錯誤的許多錯誤修正頁中的每一位元。在一實施例中,指派給每一位元之度量為自第一LLR表判定之初始LLR值。在步驟512處,開始對資料之反覆解碼。可評估在第一檢查節點處之同位,且若不滿足同位,則調整初始LLR值。必要時,該過程可繼續至第二檢查節點且進行同位檢查。如早先所描述,在導致同位之反覆處理期間,選擇位元之同位最終改變。只要在步驟514中在至少一資料單元中繼續偵測到錯誤,且在步驟516處判定計數器i不超過最大反覆數目DC_max,則在步驟512處繼續反覆解碼過程。若修正所有錯誤,則在步驟508處完成讀取操作。At step 510, an initial probability metric is assigned to each of the bits in each data unit in which the error was detected. For example, a metric can be assigned to each bit in many error correction pages with detected errors. In an embodiment, the metric assigned to each bit is the initial LLR value determined from the first LLR table. At step 512, the repeated decoding of the data begins. The parity at the first inspection node can be evaluated, and if the parity is not satisfied, the initial LLR value is adjusted. If necessary, the process can continue to the second inspection node and perform a parity check. As described earlier, during the repetitive processing that results in co-location, the co-location of the selected bit eventually changes. As long as an error is detected in at least one of the data units in step 514, and it is determined at step 516 that the counter i does not exceed the maximum number of repetitions DC_max, then the repeat decoding process continues at step 512. If all errors are corrected, the read operation is completed at step 508.

若最終未修正所有錯誤,則在步驟518處開始第一軟位元讀取操作。第一軟位元讀取可應用一組經調整比較位準以提供對資料之更高解析度解碼。舉例而言,如圖6所示,可對於每一狀態應用平分該狀態之相應臨限電壓分布的單一讀取比較點。在讀取第一軟位元之同時,繼續基於 初始LLR值對資料進行反覆解碼。此由520處之檢查指示。If all errors are not corrected at the end, then the first soft bit read operation begins at step 518. The first soft bit read can apply a set of adjusted compare levels to provide higher resolution decoding of the data. For example, as shown in FIG. 6, a single read comparison point that bisects the corresponding threshold voltage distribution for that state can be applied for each state. While reading the first soft bit, continue to be based on The initial LLR value is used to repeatedly decode the data. This is indicated by the inspection at 520.

在步驟520處完成讀取第一軟位元時,在步驟522處在控制器處接收資料。可將新接收到之資料與在硬讀取操作期間接收到之資料一起使用,以使藉以獲知單元之臨限電壓的解析度加倍。例如,控制器可判定在軟位元讀取係在分布之中間點處執行時一單元處於分布之哪一半中。使用由硬及軟資料讀取搜集之資料,控制器可將新初始LLR值指派給含有錯誤之資料單元中之每一位元。在一實施例中,步驟524包括存取第二初始LLR值表。此表格可包括兩倍於第一表格的條目以提供LLR值,該等LLR值不僅取決於單元之狀態,且取決於該單元在該狀態之分布的哪一半內。Upon completion of reading the first soft bit at step 520, the data is received at the controller at step 522. The newly received data can be used with the data received during the hard read operation to double the resolution of the threshold voltage by which the unit is known. For example, the controller can determine which half of the distribution a cell is in when the soft bit read system is executing at the midpoint of the distribution. Using the data collected from the hard and soft data, the controller can assign a new initial LLR value to each bit in the data unit containing the error. In an embodiment, step 524 includes accessing a second initial LLR value table. This table may include entries that are twice the first table to provide LLR values that depend not only on the state of the cell, but also on which half of the distribution of the cell the cell is in.

在圖17B中,在步驟526處,開始使用新起始LLR值來反覆地解碼資料。如早先所描述,可根據一或多個檢查節點或同位檢查來反覆地調整LLR值。若修正出錯之資料,則在步驟528處完成操作。只要繼續存在錯誤且計數器i低於最大反覆數目DC_max,則反覆解碼過程繼續,試圖在每一檢查節點處達到同位。在步驟532處准許之最大反覆數目DC_max可或可不與在步驟516處所使用之最大反覆數目相同。另外,在開始第一軟位元讀取後,可重設計數器。In Figure 17B, at step 526, the data is repeatedly decoded using the new starting LLR value. As described earlier, the LLR values can be adjusted repeatedly based on one or more inspection nodes or parity checks. If the erroneous data is corrected, the operation is completed at step 528. As long as the error persists and the counter i is below the maximum number of repetitions DC_max, the repeated decoding process continues, attempting to reach parity at each of the inspection nodes. The maximum number of repetitions DC_max permitted at step 532 may or may not be the same as the maximum number of repetitions used at step 516. In addition, the counter can be reset after starting the first soft bit reading.

在達到最大反覆數目時,在步驟536處開始在第一部分軟位元比較位準下之讀取。如早先所描述,第二軟位元操作提供為第一軟位元及硬位準讀取之解析度兩倍的解析 度。對於每一狀態使用兩個比較點。將比較位準分成兩個子集以將資料以兩個獨立單元而自晶片提供至控制器。在執行在比較位準之第一子集下之讀取之同時,基於硬比較位準及第一軟位元比較位準的反覆解碼過程繼續(步驟526),希望該過程將在獲取第二軟位元資料之前收斂。若未修正所有錯誤且第二軟位元之讀取的第一子集完成,則在步驟538處由控制器自第二軟位元之第一子集接收資料。在圖13A至圖13B之實施例中,在接收位準之第一子集的資料後,在步驟540處開始在第二軟位元之位準的第二子集下的讀取。在其他實施例中,在起始在位準之第二子集下的讀取之前,在接收到資料之第一子集後,可執行解碼的許多次反覆。When the maximum number of repetitions is reached, the reading at the first partial soft bit comparison level begins at step 536. As described earlier, the second soft bit operation provides twice the resolution of the first soft bit and the hard level read. degree. Use two comparison points for each state. The comparison levels are divided into two subsets to provide data from the wafer to the controller in two separate units. While performing the reading under the first subset of the comparison levels, the repeated decoding process based on the hard comparison level and the first soft bit comparison level continues (step 526), hoping that the process will be acquiring the second The soft bit data converges before. If all errors have not been corrected and the first subset of reads of the second soft bit is complete, then at step 538 the controller receives data from the first subset of the second soft bits. In the embodiment of Figures 13A-13B, after receiving the data of the first subset of levels, reading at a second subset of the levels of the second soft bits begins at step 540. In other embodiments, a number of iterations of decoding may be performed after the first subset of data is received, prior to reading at the second subset of levels.

在步驟542處,基於硬比較位準資料、第一軟比較位準資料及第二軟位元比較位準資料之第一子集,將初始機率度量指派給含有錯誤之頁中的每一位元。在步驟544處,再次開始反覆解碼過程。在步驟546處,執行一或多次錯誤檢查。若未偵測到錯誤,則在步驟548處完成讀取操作。若錯誤仍存在且第二軟讀取操作的讀取之第二子集尚未完成,則在步驟544處繼續反覆解碼過程。一旦在第二軟位元位準之第二子集下的讀取完成,則在步驟552處在控制器處接收來自讀取之第二子集的資料。在步驟554處,再次將初始機率度量指派給含有錯誤之資料單元中的每一位元。在步驟554處指派之度量係基於來自硬比較位準讀取、第一軟位元資料,及第二軟位元資料之兩個子集 的資料。例如,一實施例包括存取一初始LLR值表,對於每一潛在狀態而言,該表格對於每一位元位置基於一單元可能所處的臨限電壓分布之四個不同四分位而包括四個初始LLR值。在一實施例中,存取諸如圖15所描述之表格的表格以判定用於解碼使用者資料之初始LLR值。At step 542, an initial probability metric is assigned to each of the pages containing the error based on the first subset of the hard comparison level data, the first soft comparison level data, and the second soft bit comparison level data. yuan. At step 544, the reverse decoding process begins again. At step 546, one or more error checks are performed. If no error is detected, then at step 548 the read operation is completed. If the error persists and the second subset of reads of the second soft read operation has not been completed, then at step 544 the repeat decoding process continues. Once the reading under the second subset of the second soft bit level is complete, the data from the second subset of reads is received at the controller at step 552. At step 554, the initial probability metric is again assigned to each bit in the data unit containing the error. The metric assigned at step 554 is based on two subsets from the hard comparison level read, the first soft bit data, and the second soft bit data. data of. For example, an embodiment includes accessing an initial LLR value table for each potential state including for each bit location based on four different quartiles of a threshold voltage distribution in which a cell may be located Four initial LLR values. In an embodiment, a table such as the one described in FIG. 15 is accessed to determine an initial LLR value for decoding user data.

在步驟556處,開始基於新初始LLR值對使用者資料之反覆解碼。在解碼過程繼續時調整該等值,某些位元位置最終轉變同位。若在步驟558處判定修正所有錯誤,則在步驟560處完成讀取操作。若未修正所有錯誤且在步驟562處判定已執行最大數目之反覆,則在步驟564處判定讀取失敗。At step 556, a repeated decoding of the user data based on the new initial LLR value is initiated. The values are adjusted as the decoding process continues, and some of the bit positions eventually transition to the same position. If it is determined at step 558 that all errors have been corrected, then at step 560 the read operation is completed. If all errors have not been corrected and it is determined at step 562 that the maximum number of repetitions has been performed, then at step 564 it is determined that the read failed.

圖18及圖19描述用於第二軟位元讀取操作之第一及第二子集的比較位準之智慧分組。圖18再次描繪儲存四個資料位元之一群已程式化記憶體單元的臨限電壓分布。在圖18中,剛剛在將資料程式化至記憶體單元後存在的初始臨限分布由實線說明。虛線說明在經過一段時間後的同一群記憶體單元。如所說明,該等記憶體單元中之一些的臨限電壓已隨著時間推移而偏移,從而使每一記憶體狀態的臨限電壓之分布偏移。如所描述,臨限電壓之此偏移可導致使錯誤修正控制之使用成為必要的讀取錯誤。舉例而言,可看出在狀態15分布(在所經過時段後之分布)之下邊緣處的記憶體單元具有在狀態15硬讀取比較位準V15下的臨限電壓。可看出,每一狀態分布因臨限電壓隨時間偏移而變寬。仔細地觀看圖18,可進一步看出,狀態0至4各自演示 單元之部分具有臨限電壓隨時間而正偏移的傾向。另一方面,狀態7至15傾向於展現臨限電壓隨時間而負偏移。藉由基於此資訊來調節第一及第二部分第二軟位元讀取,可獲得改良之收斂效能。18 and 19 depict smart packets for comparison levels of the first and second subsets of the second soft bit read operation. Figure 18 again depicts the threshold voltage distribution of the programmed memory cells of one of the four data bits. In Figure 18, the initial threshold distribution that existed immediately after the data was programmed into the memory unit is illustrated by the solid line. The dashed lines illustrate the same group of memory cells after a lapse of time. As illustrated, the threshold voltages of some of the memory cells have shifted over time, shifting the distribution of threshold voltages for each memory state. As described, this offset of the threshold voltage can result in a read error that necessitates the use of error correction control. For example, it can be seen that the memory cell at the edge below the state 15 distribution (distribution after the elapsed time period) has a threshold voltage at state 15 hard read comparison level V15. It can be seen that each state distribution widens due to the threshold voltage shifting with time. Looking closely at Figure 18, it can be further seen that states 0 through 4 each demonstrate Portions of the cell have a tendency to have a threshold voltage that is offset over time. On the other hand, states 7 through 15 tend to exhibit a negative offset of the threshold voltage over time. By adjusting the first and second portions of the second soft bit reading based on this information, improved convergence performance can be obtained.

當在傾向於隨著時間推移在正臨限電壓方向上漂移之彼等狀態下進行讀取時,關於在彼狀態內在分布之上端上的單元位置之更大解析度更有可能提供有用資訊。當在傾向於隨著時間推移在負臨限電壓方向上漂移之彼等狀態下進行讀取時,關於在彼狀態內在分布之下端上的單元位置之更大解析度更有可能提供有用資訊。比較位準之第一子集對於傾向於在負臨限電壓方向上漂移之彼等狀態可包括低比較位準。該第一子集對於傾向於在正臨限電壓方向上漂移之彼等狀態可進一步包括第二軟位元讀取之較高比較位準。第二軟位元之較高位準對於傾向於在負臨限電壓方向上漂移的彼等狀態包括於第二組子讀取中,且對於傾向於在正方向上漂移之彼等狀態包括第二軟位元之低位準。When reading in states that tend to drift in the positive threshold voltage direction over time, it is more likely to provide useful information about the greater resolution of the cell position on the upper end of the distribution within the state. When reading in states that tend to drift in the negative threshold voltage direction over time, it is more likely to provide useful information about the greater resolution of the cell position at the lower end of the distribution within the state. The first subset of comparison levels may include low comparison levels for those states that tend to drift in the negative threshold voltage direction. The first subset may further include a higher comparison level for the second soft bit read for states that tend to drift in the positive threshold voltage direction. The higher level of the second soft bit is included in the second set of sub-reads for those states that tend to drift in the negative threshold voltage direction, and includes the second soft for those states that tend to drift in the positive direction. The low level of the bit.

圖19為第二軟位元讀取操作的比較位準之子集的示範性分割的表格。所述分割係基於圖18所描述之分布。圖19中之每一狀態列出於行之頂部處。每一列對應於作為讀取過程之部分而執行的不同操作。第一列陳述用於每一狀態之硬讀取比較位準。在正常讀取過程期間,此等比較位準用於感測所選記憶體單元之狀態。狀態1包括V1參考位準,狀態2包括V2參考位準,等等。第二列陳述用於第一軟位元操作之比較位準。此等比較位準經選擇以在峰值位準處 平分相應分布以將該分布分成兩部分。狀態1包括Sa1參考位準,狀態2包括Sa2參考位準,等等。第三列陳述第二軟位元操作的比較位準之第一子集。狀態0至4包括較高讀取比較位準Sb0H、Sb1H、Sb2H、Sb3H、Sb4H,且狀態5至15包括低讀取比較位準Sb5H、Sb6H、Sb7H、Sb8L、Sb9L、Sb10L、Sb11L、Sb12L、Sb13L、Sb14L、Sb15L。第四列陳述第二軟位元操作的比較位準之第二子集。狀態0至4包括低讀取比較位準Sb0L、Sb1L、Sb2L、Sb3L、Sb4L,且狀態5至15包括較高讀取比較位準Sb5L、Sb6L、Sb7L、Sb8H、Sb9H、Sb10H、Sb11H、Sb12H、Sb13H、Sb14H及Sb15H。比較位準在該等子集中之此配置可藉由首先自第二軟位元讀取操作擷取並使用最有用資訊而提供改良之效能。在許多情況下,可預期來自比較位準之第一子集的資訊將足以達成收斂。19 is a table of an exemplary segmentation of a subset of comparison levels of a second soft bit read operation. The segmentation is based on the distribution depicted in Figure 18. Each of the states in Figure 19 is listed at the top of the line. Each column corresponds to a different operation performed as part of the reading process. The first column states the hard read comparison level for each state. These comparison levels are used to sense the state of the selected memory unit during the normal read process. State 1 includes the V1 reference level, State 2 includes the V2 reference level, and so on. The second column states the comparison level for the first soft bit operation. These comparison levels are selected to be at the peak level The corresponding distribution is equally divided to divide the distribution into two parts. State 1 includes the Sa1 reference level, State 2 includes the Sa2 reference level, and so on. The third column states the first subset of the comparison levels of the second soft bit operation. States 0 to 4 include higher read comparison levels Sb0H, Sb1H, Sb2H, Sb3H, Sb4H, and states 5 to 15 include low read comparison levels Sb5H, Sb6H, Sb7H, Sb8L, Sb9L, Sb10L, Sb11L, Sb12L, Sb13L, Sb14L, Sb15L. The fourth column states the second subset of the comparison levels of the second soft bit operation. States 0 to 4 include low read comparison levels Sb0L, Sb1L, Sb2L, Sb3L, Sb4L, and states 5 to 15 include higher read comparison levels Sb5L, Sb6L, Sb7L, Sb8H, Sb9H, Sb10H, Sb11H, Sb12H, Sb13H, Sb14H and Sb15H. This configuration of comparison levels in the subsets provides improved performance by first extracting from the second soft-bit read operation and using the most useful information. In many cases, it can be expected that information from the first subset of comparison levels will be sufficient to achieve convergence.

出於說明及描述之目的,已呈現上述詳細描述。其並不意欲為詳盡的或將本發明限於所揭示之精確形式。按照上述教示,許多修改及變化係可能的。選擇所述實施例以便最好地解釋本發明之原理及其實際應用,藉此使熟習此項技術者能夠以各種實施例及適於所涵蓋之特定用途之各種修改來最好地利用本發明。希望藉由所附之申請專利範圍界定本發明之範疇。The foregoing detailed description has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teachings. The embodiments were chosen to best explain the principles of the invention and the application of the invention, . It is intended that the scope of the invention be defined by the scope of the appended claims.

10‧‧‧電晶體10‧‧‧Optoelectronics

10CG‧‧‧控制閘極10CG‧‧‧Control gate

10FG‧‧‧浮動閘極10FG‧‧‧Floating gate

12‧‧‧第一選擇閘極/電晶體12‧‧‧First choice gate/transistor

12CG‧‧‧控制閘極12CG‧‧‧Control gate

12FG‧‧‧浮動閘極12FG‧‧‧ Floating Gate

14‧‧‧電晶體14‧‧‧Optoelectronics

14CG‧‧‧控制閘極14CG‧‧‧Control gate

14FG‧‧‧浮動閘極14FG‧‧‧Floating gate

16‧‧‧電晶體16‧‧‧Optoelectronics

16CG‧‧‧控制閘極16CG‧‧‧Control gate

16FG‧‧‧浮動閘極16FG‧‧‧Floating gate

20CG‧‧‧控制閘極20CG‧‧‧Control gate

22‧‧‧第二選擇閘極22‧‧‧Second selection gate

22CG‧‧‧控制閘極22CG‧‧‧Control gate

26‧‧‧位元線26‧‧‧ bit line

28‧‧‧位元線28‧‧‧ bit line

30‧‧‧NAND串30‧‧‧NAND strings

100‧‧‧記憶體單元陣列100‧‧‧Memory Cell Array

110‧‧‧記憶體器件110‧‧‧ memory devices

112‧‧‧記憶體晶粒/晶片112‧‧‧Memory dies/wafers

120‧‧‧控制電路120‧‧‧Control circuit

122‧‧‧狀態機122‧‧‧ state machine

124‧‧‧晶片上位址解碼器124‧‧‧ on-chip address decoder

126‧‧‧功率控制模組126‧‧‧Power Control Module

130A‧‧‧讀取/寫入電路130A‧‧‧Read/Write Circuit

130B‧‧‧讀取/寫入電路130B‧‧‧Read/Write Circuit

132‧‧‧線132‧‧‧ line

134‧‧‧線134‧‧‧ line

140A‧‧‧列解碼器140A‧‧‧ column decoder

140B‧‧‧列解碼器140B‧‧‧ column decoder

142A‧‧‧行解碼器142A‧‧ ‧ decoder

142B‧‧‧行解碼器142B‧‧‧ row decoder

144‧‧‧控制器144‧‧‧ Controller

200‧‧‧感測區塊200‧‧‧Sensing block

210‧‧‧感測模組210‧‧‧Sense Module

212‧‧‧位元線鎖存器212‧‧‧ bit line latch

214‧‧‧感測電路214‧‧‧Sensor circuit

216‧‧‧資料匯流排216‧‧‧ data bus

220‧‧‧共同部分220‧‧‧Common part

222‧‧‧處理器222‧‧‧ processor

224‧‧‧資料鎖存器224‧‧‧data latch

226‧‧‧I/O介面226‧‧‧I/O interface

228‧‧‧輸入線228‧‧‧Input line

230‧‧‧資料匯流排230‧‧‧ data bus

260‧‧‧信號線260‧‧‧ signal line

262‧‧‧曲線262‧‧‧ Curve

472‧‧‧編碼器472‧‧‧Encoder

474‧‧‧記憶體陣列474‧‧‧Memory array

476‧‧‧對數似然率(LLR)表476‧‧‧ Log Likelihood Ratio (LLR) Table

478‧‧‧解碼器478‧‧‧Decoder

520‧‧‧矩陣520‧‧‧Matrix

530‧‧‧圖表530‧‧‧ Chart

BLCLAMP‧‧‧信號BLCLAMP‧‧‧ signal

Ble‧‧‧偶數位元線Ble‧‧‧ even bit line

Blo‧‧‧奇數位元線Blo‧‧‧ odd bit line

cn1-cn10‧‧‧檢查節點Cn1-cn10‧‧‧Check node

c-source‧‧‧共同源極線C-source‧‧‧Common source line

Sa6‧‧‧軟位元讀取位準Sa6‧‧‧Soft bit read level

Sa7‧‧‧軟位元讀取位準Sa7‧‧‧Soft bit read level

Sa8‧‧‧軟位元讀取位準Sa8‧‧‧Soft bit read level

Sb6H‧‧‧第二軟位元位準Sb6H‧‧‧ second soft bit level

Sb6L‧‧‧第二軟位元位準Sb6L‧‧‧ second soft bit level

Sb7H‧‧‧第二軟位元位準Sb7H‧‧‧ second soft bit level

Sb7L‧‧‧第二軟位元位準Sb7L‧‧‧ second soft bit level

Sb8H‧‧‧第二軟位元位準Sb8H‧‧‧ second soft bit level

Sb8L‧‧‧第二軟位元位準Sb8L‧‧‧ second soft bit level

SGD‧‧‧選擇閘極汲極線SGD‧‧‧Selected gate bungee line

SGS‧‧‧選擇閘極源極線SGS‧‧‧Selected gate source line

Source‧‧‧源極線Source‧‧‧Source line

v1-v13‧‧‧可變節點V1-v13‧‧‧Variable node

V1-V15‧‧‧讀取比較點V1-V15‧‧‧Read comparison point

Vcgr‧‧‧讀取參考電壓Vcgr‧‧‧Read reference voltage

Vcgv‧‧‧驗證位準Vcgv‧‧‧ verification level

Vread‧‧‧讀取導通電壓Vread‧‧‧ read turn-on voltage

Vv1-Vv15‧‧‧驗證比較點Vv1-Vv15‧‧‧Verification comparison point

WL0-WL3‧‧‧字線WL0-WL3‧‧‧ word line

WL-unsel‧‧‧未選字線WL-unsel‧‧‧Unselected word line

圖1為示範性NAND串之俯視圖。1 is a top plan view of an exemplary NAND string.

圖2為圖1之NAND串之等效電路圖。2 is an equivalent circuit diagram of the NAND string of FIG. 1.

圖3為NAND快閃儲存元件之示範性陣列之方塊圖。3 is a block diagram of an exemplary array of NAND flash memory elements.

圖4為根據一實施例之非揮發性記憶體系統之方塊圖。4 is a block diagram of a non-volatile memory system in accordance with an embodiment.

圖5為根據一實施例之感測區塊之方塊圖。Figure 5 is a block diagram of a sensing block in accordance with an embodiment.

圖6為描繪一群記憶體單元之臨限電壓之示範性分布的圖表,每一記憶體單元儲存四個資料位元。6 is a graph depicting an exemplary distribution of threshold voltages for a group of memory cells, each memory cell storing four data bits.

圖7為解釋在讀取/驗證操作期間某些信號之行為的時序圖。Figure 7 is a timing diagram illustrating the behavior of certain signals during a read/verify operation.

圖8為描述讀取非揮發性記憶體之過程之一實施例的流程圖。Figure 8 is a flow chart depicting one embodiment of a process for reading non-volatile memory.

圖9為根據一實施例之錯誤修正控制系統之方塊圖。9 is a block diagram of an error correction control system in accordance with an embodiment.

圖10為基於硬讀取結果為碼字之每一位元或資料單元提供示範性初始LLR值的表格。10 is a table providing exemplary initial LLR values for each bit or data unit of a codeword based on a hard read result.

圖11描繪示範性稀疏同位檢查矩陣。Figure 11 depicts an exemplary sparse parity check matrix.

圖12描繪對應於圖11之稀疏同位檢查矩陣之稀疏偶圖。Figure 12 depicts a sparse diffractogram corresponding to the sparse parity check matrix of Figure 11.

圖13為圖6之臨限電壓分布之部分的圖表,其說明軟位元比較位準。Figure 13 is a graph of a portion of the threshold voltage distribution of Figure 6, illustrating the soft bit comparison level.

圖14為基於硬讀取結果及第一軟位元讀取結果為碼字之每一位元或資料單元提供示範性初始LLR值的表格。14 is a table providing exemplary initial LLR values for each bit or data unit of a codeword based on a hard read result and a first soft bit read result.

圖15為基於硬讀取結果、第一軟位元讀取結果及第二軟位元讀取結果為碼字之每一位元或資料單元提供示範性初始LLR值的表格。15 is a table providing exemplary initial LLR values for each bit or data unit of a codeword based on a hard read result, a first soft bit read result, and a second soft bit read result.

圖16為基於硬讀取結果、第一軟位元讀取結果及第二軟位元讀取之第一部分軟位元讀取結果為碼字之每一位元或資料單元提供示範性初始LLR值的表格。16 is an exemplary initial LLR for each bit or data unit of a codeword based on a hard read result, a first soft bit read result, and a first soft bit read result of the second soft bit read. A table of values.

圖17A至圖17B含有描述提供錯誤修正控制之過程(包括作用於部分軟位元資料)的流程圖。17A-17B contain flowcharts depicting the process of providing error correction control, including acting on a portion of the soft bit data.

圖18為四位元記憶體系統之臨限電壓之示範性分布的圖表,包括在臨限電壓偏移後該分布之表示。Figure 18 is a graph of an exemplary distribution of threshold voltages for a four bit memory system, including representations of the distribution after a threshold voltage shift.

圖19為含有對用於第二軟位元操作之讀取比較位準的第一子集與第二子集的示範性智慧分割的表格。19 is a table containing exemplary wisdom partitioning of a first subset and a second subset of read comparison levels for a second soft bit operation.

(無元件符號說明)(no component symbol description)

Claims (15)

一種讀取非揮發性儲存器之方法,其包含:使用第一複數個讀取比較點自一組非揮發性儲存元件讀取使用者資料,每一比較點對應於該等儲存元件之一可程式化狀態;使用比該第一複數個讀取比較點具有更大數目讀取比較點的第二複數個讀取比較點來在一比該使用者資料高之位元解析度下自該組儲存元件讀取一組軟資料;及在進行讀取以判定該組軟資料之一第二子集之同時使用該組軟資料之一第一子集來解碼該使用者資料。 A method of reading a non-volatile memory, comprising: reading user data from a set of non-volatile storage elements using a first plurality of read comparison points, each comparison point corresponding to one of the storage elements a stylized state; using a second plurality of read comparison points having a greater number of read comparison points than the first plurality of read comparison points to be from the group at a higher bit resolution than the user data The storage element reads a set of soft data; and uses the first subset of the set of soft data to decode the user data while reading to determine a second subset of the set of soft data. 如請求項1之方法,其進一步包含:在自該組儲存元件讀取該組軟資料之前在無該組軟資料之情況下解碼該使用者資料;其中讀取該組軟資料係回應於在無該組軟資料之情況下解碼不成功的一判定而執行的。 The method of claim 1, further comprising: decoding the user data without the set of soft data before reading the set of soft materials from the set of storage elements; wherein reading the set of soft data is in response to Executed without a decision of the unsuccessful decoding in the case of the soft data. 如請求項2之方法,其進一步包含:在進行讀取以判定該組軟資料之該第二子集後使用該組軟資料之該第一子集及該第二子集來解碼該使用者資料。 The method of claim 2, further comprising: decoding the user using the first subset of the set of soft data and the second subset after reading to determine the second subset of the set of soft data data. 如請求項3之方法,其中:進行讀取以判定軟資料之該第二子集係回應於使用該第一子集之解碼不成功之一判定而執行的。 The method of claim 3, wherein: reading is performed to determine that the second subset of soft data is executed in response to determining that one of the first subset is unsuccessful in decoding. 如請求項3之方法,其中:該組軟資料為一第二組軟資料; 該方法進一步包含:在讀取該第二組軟資料之前使用第三複數個讀取比較點自該組儲存元件讀取一第一組軟資料,使用該第一組軟資料來解碼該使用者資料;及回應於使用該第一組軟資料之解碼不成功之一判定而執行讀取該第二組軟資料。 The method of claim 3, wherein: the soft data of the group is a second set of soft materials; The method further includes: reading a first set of soft data from the set of storage elements using the third plurality of read compare points before reading the second set of soft data, and decoding the user using the first set of soft data And performing a reading of the second set of soft data in response to determining that one of the decoding of the first set of soft data is unsuccessful. 如請求項5之方法,其中:在無該第一組軟資料之情況下解碼該使用者資料包括存取一第一可靠性度量表;使用該第一組軟資料解碼該使用者資料包括存取一第二可靠性度量表;使用該第二組軟資料之該第一子集來解碼該使用者資料包括存取一第三可靠性度量表;使用該第二組軟資料之該第一子集及該第二子集來解碼該使用者資料包括存取一第四可靠性度量表。 The method of claim 5, wherein: decoding the user profile without the first set of soft data comprises accessing a first reliability metric table; and decoding the user profile using the first set of soft data comprises storing Taking a second reliability metric table; using the first subset of the second set of soft data to decode the user data comprises accessing a third reliability metric table; using the first of the second set of soft data The subset and the second subset to decode the user profile includes accessing a fourth reliability metric table. 如請求項1之方法,其中:該第二複數個讀取比較點包括用於判定資料之該第一子集的讀取比較點之一第一子集及用於在該第一子集後判定資料之該第二子集的讀取比較點之一第二子集;讀取比較點之該第一子集包括與其相應可程式化狀態之一下臨限電壓部分相關聯的一或多個讀取比較點及與其相應可程式化狀態之一上臨限電壓部分相關聯的一或多個讀取比較點;讀取比較點之該第二子集包括與其相應可程式化狀態 之一下臨限電壓部分相關聯的一或多個讀取比較點及與其相應可程式化狀態之一上臨限電壓部分相關聯的一或多個讀取比較點。 The method of claim 1, wherein: the second plurality of read comparison points includes a first subset of one of the read comparison points for determining the first subset of the data and for using the first subset Determining a second subset of the read comparison points of the second subset of data; the first subset of the read comparison points includes one or more associated with a threshold voltage portion of one of the respective programmable states Reading a comparison point and one or more read comparison points associated with a threshold voltage portion of one of its corresponding stylizable states; reading the second subset of comparison points includes a corresponding stylable state thereof One or more read compare points associated with the threshold voltage portion and one or more read compare points associated with the threshold voltage portion of one of the respective programmable states. 如請求項1之方法,其中:該第二複數個讀取比較點包括用於判定資料之該第一子集的讀取比較點之一第一子集及用於在該第一子集後判定資料之該第二子集的讀取比較點之一第二子集;該第一子集中之每一讀取比較點與其相應可程式化狀態之一下臨限電壓部分相關聯;且該第二子集中之每一讀取比較點與其相應可程式化狀態之一上臨限電壓部分相關聯。 The method of claim 1, wherein: the second plurality of read comparison points includes a first subset of one of the read comparison points for determining the first subset of the data and for using the first subset Determining a second subset of the read comparison points of the second subset of data; each read comparison point of the first subset is associated with a threshold voltage portion of one of the respective programmable states; and the Each read compare point in the two subsets is associated with a threshold voltage portion of one of its corresponding stylizable states. 一種非揮發性記憶體系統,其包含:複數個非揮發性儲存元件;及與該複數個非揮發性儲存元件通信之管理電路,該管理電路執行一或多個操作,該一或多個操作包括:在自該等儲存元件讀取一第一組資料之同時作為一錯誤修正控制處理之部分而為該複數個非揮發性儲存元件提供一組讀取比較點,該組讀取比較點包括具有一對應於該等儲存元件之每一可程式化狀態之讀取比較點的讀取比較點之一第一子集及具有一對應於該等儲存元件之每一可程式化狀態之讀取比較點的讀取比較點之一第二子集,其中提供包括在該第二子集之前提供該第一子集,基於讀取比較點之該第一子集來判定一第二組資 料,及在為該複數個非揮發性儲存元件提供讀取比較點之該第二子集之同時使用該第二組資料來反覆地解碼該第一組資料。 A non-volatile memory system comprising: a plurality of non-volatile storage elements; and a management circuit in communication with the plurality of non-volatile storage elements, the management circuit performing one or more operations, the one or more operations The method includes: providing a set of read comparison points for the plurality of non-volatile storage elements as part of an error correction control process while reading a first set of data from the storage elements, the set of read comparison points including a first subset of read comparison points having a read compare point corresponding to each of the programmable states of the storage elements and having a readout corresponding to each of the programmable elements Comparing a second subset of the comparison point of the comparison point, wherein providing includes providing the first subset prior to the second subset, determining a second group based on the first subset of the read comparison points And using the second set of data to repeatedly decode the first set of data while providing the second subset of read comparison points for the plurality of non-volatile storage elements. 如請求項9之非揮發性記憶體系統,其中該一或多個讀取操作進一步包括:基於讀取比較點之該第二子集來判定一第三組資料;及使用該第三組資料及該第二組資料來反覆地解碼該第一組資料。 The non-volatile memory system of claim 9, wherein the one or more read operations further comprise: determining a third set of data based on the second subset of read comparison points; and using the third set of data And the second set of data to repeatedly decode the first set of data. 如請求項10之非揮發性記憶體系統,其中該組讀取比較點為一第二組讀取比較點,該一或多個操作進一步包括:在提供該第二組讀取比較點之前為該複數個非揮發性儲存元件提供一第一組讀取比較點;及基於該第一組讀取比較點來判定該第一組資料。 The non-volatile memory system of claim 10, wherein the set of read comparison points is a second set of read comparison points, the one or more operations further comprising: before providing the second set of read comparison points The plurality of non-volatile storage elements provide a first set of read comparison points; and determining the first set of data based on the first set of read comparison points. 如請求項11之非揮發性記憶體系統,其中該一或多個操作進一步包括:在提供該第二組讀取比較點之前,提供一包括一對應於該等儲存元件之每一可程式化狀態之單個讀取比較點的第三組讀取比較點;基於該第三組讀取比較點來判定一第四組資料;在將讀取比較點之該第一子集提供給該等儲存元件之同時基於該第四組資料來反覆地解碼該第一組資料。 The non-volatile memory system of claim 11, wherein the one or more operations further comprises: providing each of the programmable elements corresponding to the storage elements prior to providing the second set of read comparison points a third set of read points of the single read comparison point of the state; determining a fourth set of data based on the third set of read comparison points; providing the first subset of the read comparison points to the storage The component simultaneously decodes the first set of data based on the fourth set of data. 如請求項11之非揮發性記憶體系統,其中該一或多個操作進一步包括: 在提供該第二組讀取比較點之前反覆地解碼該第一組資料;其中提供該第二組讀取比較點係回應於反覆地解碼該第一組資料不成功之一判定而執行的。 The non-volatile memory system of claim 11, wherein the one or more operations further comprise: The first set of data is repeatedly decoded prior to providing the second set of read comparison points; wherein the providing the second set of read comparison points is performed in response to one of determining that the first set of data was unsuccessful. 如請求項9之非揮發性記憶體系統,其中:使用該第二組資料反覆地解碼該第一組資料包括基於該第一組資料及該第二組資料來存取可靠性度量。 The non-volatile memory system of claim 9, wherein: repeatedly decoding the first set of data using the second set of data comprises accessing a reliability metric based on the first set of data and the second set of data. 如請求項14之非揮發性記憶體系統,其中:該等可靠性度量包括對數似然率。A non-volatile memory system as claimed in claim 14, wherein: the reliability metrics comprise a log likelihood ratio.
TW97110811A 2007-03-31 2008-03-26 Non-volatile memory system with soft bit data transmission for error correction control and method of reading the same TWI391940B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/694,948 US7966546B2 (en) 2007-03-31 2007-03-31 Non-volatile memory with soft bit data transmission for error correction control
US11/694,947 US7966550B2 (en) 2007-03-31 2007-03-31 Soft bit data transmission for error correction control in non-volatile memory

Publications (2)

Publication Number Publication Date
TW200905692A TW200905692A (en) 2009-02-01
TWI391940B true TWI391940B (en) 2013-04-01

Family

ID=39542219

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97110811A TWI391940B (en) 2007-03-31 2008-03-26 Non-volatile memory system with soft bit data transmission for error correction control and method of reading the same

Country Status (2)

Country Link
TW (1) TWI391940B (en)
WO (1) WO2008121577A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI584304B (en) * 2016-05-23 2017-05-21 大心電子(英屬維京群島)股份有限公司 Decoding method, memory storage device and memory control circuit unit
TWI684106B (en) * 2018-09-28 2020-02-01 大陸商深圳衡宇芯片科技有限公司 Method of training artificial intelligence to correct log-likelihood ratio for storage device

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621137B2 (en) 2007-12-27 2013-12-31 Sandisk Enterprise Ip Llc Metadata rebuild in a flash memory controller following a loss of power
US8458114B2 (en) 2009-03-02 2013-06-04 Analog Devices, Inc. Analog computation using numerical representations with uncertainty
US8107306B2 (en) 2009-03-27 2012-01-31 Analog Devices, Inc. Storage devices with soft processing
US8365041B2 (en) 2010-03-17 2013-01-29 Sandisk Enterprise Ip Llc MLC self-raid flash data protection scheme
US11869584B2 (en) 2010-04-19 2024-01-09 Silicon Motion, Inc. Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell
TWI594256B (en) 2010-04-19 2017-08-01 慧榮科技股份有限公司 Method for performing memory access management, and associated memory device and controller thereof
JP2012181761A (en) * 2011-03-02 2012-09-20 Toshiba Corp Semiconductor memory device and decoding method
US8909982B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc System and method for detecting copyback programming problems
US8910020B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc Intelligent bit recovery for flash memory
US8938658B2 (en) * 2011-11-07 2015-01-20 Sandisk Enterprise Ip Llc Statistical read comparison signal generation for memory systems
US8954822B2 (en) 2011-11-18 2015-02-10 Sandisk Enterprise Ip Llc Data encoder and decoder using memory-specific parity-check matrix
US8924815B2 (en) 2011-11-18 2014-12-30 Sandisk Enterprise Ip Llc Systems, methods and devices for decoding codewords having multiple parity segments
US9048876B2 (en) 2011-11-18 2015-06-02 Sandisk Enterprise Ip Llc Systems, methods and devices for multi-tiered error correction
KR101893145B1 (en) * 2011-12-06 2018-10-05 삼성전자주식회사 Memory systems and block copy methods thereof
US8787079B2 (en) 2012-05-07 2014-07-22 Sandisk Technologies Inc. Reading data from multi-level cell memory
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9299459B2 (en) 2012-09-07 2016-03-29 Macronix International Co., Ltd. Method and apparatus of measuring error correction data for memory
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
US9003264B1 (en) 2012-12-31 2015-04-07 Sandisk Enterprise Ip Llc Systems, methods, and devices for multi-dimensional flash RAID data protection
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9092350B1 (en) 2013-03-15 2015-07-28 Sandisk Enterprise Ip Llc Detection and handling of unbalanced errors in interleaved codewords
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US9136877B1 (en) 2013-03-15 2015-09-15 Sandisk Enterprise Ip Llc Syndrome layered decoding for LDPC codes
US9009576B1 (en) 2013-03-15 2015-04-14 Sandisk Enterprise Ip Llc Adaptive LLR based on syndrome weight
US9236886B1 (en) 2013-03-15 2016-01-12 Sandisk Enterprise Ip Llc Universal and reconfigurable QC-LDPC encoder
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9159437B2 (en) 2013-06-11 2015-10-13 Sandisk Enterprise IP LLC. Device and method for resolving an LM flag issue
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9043517B1 (en) 2013-07-25 2015-05-26 Sandisk Enterprise Ip Llc Multipass programming in buffers implemented in non-volatile data storage systems
US9235509B1 (en) 2013-08-26 2016-01-12 Sandisk Enterprise Ip Llc Write amplification reduction by delaying read access to data written during garbage collection
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9519577B2 (en) 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
TWI508082B (en) * 2013-09-30 2015-11-11 Phison Electronics Corp Decoding method, memory storage device and memory controlling circuit unit
US9158349B2 (en) 2013-10-04 2015-10-13 Sandisk Enterprise Ip Llc System and method for heat dissipation
US9323637B2 (en) 2013-10-07 2016-04-26 Sandisk Enterprise Ip Llc Power sequencing and data hardening architecture
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9263156B2 (en) 2013-11-07 2016-02-16 Sandisk Enterprise Ip Llc System and method for adjusting trip points within a storage device
US9244785B2 (en) 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9122636B2 (en) 2013-11-27 2015-09-01 Sandisk Enterprise Ip Llc Hard power fail architecture
US9280429B2 (en) 2013-11-27 2016-03-08 Sandisk Enterprise Ip Llc Power fail latching based on monitoring multiple power supply voltages in a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9250676B2 (en) 2013-11-29 2016-02-02 Sandisk Enterprise Ip Llc Power failure architecture and verification
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9092370B2 (en) 2013-12-03 2015-07-28 Sandisk Enterprise Ip Llc Power failure tolerant cryptographic erase
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
US9129665B2 (en) 2013-12-17 2015-09-08 Sandisk Enterprise Ip Llc Dynamic brownout adjustment in a storage device
TWI541819B (en) 2013-12-30 2016-07-11 慧榮科技股份有限公司 Method for performing error correction, and associated memory apparatus thereof and associated controller thereof
US9549457B2 (en) 2014-02-12 2017-01-17 Sandisk Technologies Llc System and method for redirecting airflow across an electronic assembly
US9497889B2 (en) 2014-02-27 2016-11-15 Sandisk Technologies Llc Heat dissipation for substrate assemblies
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9348377B2 (en) 2014-03-14 2016-05-24 Sandisk Enterprise Ip Llc Thermal isolation techniques
US9519319B2 (en) 2014-03-14 2016-12-13 Sandisk Technologies Llc Self-supporting thermal tube structure for electronic assemblies
US9485851B2 (en) 2014-03-14 2016-11-01 Sandisk Technologies Llc Thermal tube assembly structures
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US8891303B1 (en) 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US9645749B2 (en) 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US9070481B1 (en) 2014-05-30 2015-06-30 Sandisk Technologies Inc. Internal current measurement for age measurements
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US9093160B1 (en) 2014-05-30 2015-07-28 Sandisk Technologies Inc. Methods and systems for staggered memory operations
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
TWI562152B (en) * 2015-05-29 2016-12-11 Phison Electronics Corp Decoding method, memory storage device and memory control circuit unit
CN106816179B (en) * 2015-11-30 2020-12-25 华为技术有限公司 Flash memory error correction method and device
US11494264B2 (en) 2020-07-28 2022-11-08 Micron Technology, Inc. Generating a protected and balanced codeword
US11567831B2 (en) 2020-07-28 2023-01-31 Micron Technology, Inc. Generating a protected and balanced codeword
US11237906B1 (en) 2020-07-28 2022-02-01 Micron Technology, Inc. Generating a balanced codeword protected by an error correction code

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6621739B2 (en) * 2002-01-18 2003-09-16 Sandisk Corporation Reducing the effects of noise in non-volatile memories through multiple reads
US20030217323A1 (en) * 2002-05-20 2003-11-20 Sandisk Corporation Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data
WO2004112040A2 (en) * 2003-06-17 2004-12-23 M-Systems Flash Disk Pioneers Ltd. Methods of increasing the reliability of a flash memory
US20050160350A1 (en) * 2003-12-30 2005-07-21 M-Systems Flash Disk Pioneers Ltd. Compact high-speed single-bit error-correction circuit
US20060028875A1 (en) * 2004-07-26 2006-02-09 M-Systems Flash Disk Pioneers, Ltd. Drift compensation in a flash memory
US7031090B2 (en) * 2001-06-11 2006-04-18 Fujitsu Limited Information recording and reproducing apparatus and method and signal decoding circuit having improved noise processing characteristics
US20060140010A1 (en) * 2004-12-29 2006-06-29 Lorenzo Bedarida Method and system for reducing soft-writing in a multi-level flash memory
US20070070696A1 (en) * 2004-07-26 2007-03-29 Msystems Ltd Drift compensation in a flash memory

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031090B2 (en) * 2001-06-11 2006-04-18 Fujitsu Limited Information recording and reproducing apparatus and method and signal decoding circuit having improved noise processing characteristics
US6621739B2 (en) * 2002-01-18 2003-09-16 Sandisk Corporation Reducing the effects of noise in non-volatile memories through multiple reads
US20030217323A1 (en) * 2002-05-20 2003-11-20 Sandisk Corporation Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data
WO2004112040A2 (en) * 2003-06-17 2004-12-23 M-Systems Flash Disk Pioneers Ltd. Methods of increasing the reliability of a flash memory
US20050160350A1 (en) * 2003-12-30 2005-07-21 M-Systems Flash Disk Pioneers Ltd. Compact high-speed single-bit error-correction circuit
US20060028875A1 (en) * 2004-07-26 2006-02-09 M-Systems Flash Disk Pioneers, Ltd. Drift compensation in a flash memory
US20070070696A1 (en) * 2004-07-26 2007-03-29 Msystems Ltd Drift compensation in a flash memory
US20060140010A1 (en) * 2004-12-29 2006-06-29 Lorenzo Bedarida Method and system for reducing soft-writing in a multi-level flash memory

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Soft Decoding of Hard and Soft Bits Read From a Flash Memory," IP.com Journal, IP.com Inc., West Henrietta, NY, U.S., Mar. 4, 2007 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI584304B (en) * 2016-05-23 2017-05-21 大心電子(英屬維京群島)股份有限公司 Decoding method, memory storage device and memory control circuit unit
TWI684106B (en) * 2018-09-28 2020-02-01 大陸商深圳衡宇芯片科技有限公司 Method of training artificial intelligence to correct log-likelihood ratio for storage device

Also Published As

Publication number Publication date
TW200905692A (en) 2009-02-01
WO2008121577A1 (en) 2008-10-09

Similar Documents

Publication Publication Date Title
TWI391940B (en) Non-volatile memory system with soft bit data transmission for error correction control and method of reading the same
US7966546B2 (en) Non-volatile memory with soft bit data transmission for error correction control
US7966550B2 (en) Soft bit data transmission for error correction control in non-volatile memory
US7975209B2 (en) Non-volatile memory with guided simulated annealing error correction control
US7971127B2 (en) Guided simulated annealing in non-volatile memory error correction control
US8966350B2 (en) Providing reliability metrics for decoding data in non-volatile storage
US9224457B2 (en) Non-volatile storage with temperature compensation based on neighbor state information
US9406377B2 (en) Rewritable multibit non-volatile memory with soft decode optimization
US7797480B2 (en) Method for reading non-volatile storage using pre-conditioning waveforms and modified reliability metrics
TWI397076B (en) Method and system for decoding data in non-volatile storage using reliability metrics based on multiple reads
US7724580B2 (en) Segmented bitscan for verification of programming
US11211950B2 (en) Decoding device and decoding method
US9665426B2 (en) Semiconductor device and reading method

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees