TWI805450B - 借助侵害位元資訊來進行記憶體裝置的存取控制的方法、記憶體裝置以及記憶體裝置的控制器 - Google Patents
借助侵害位元資訊來進行記憶體裝置的存取控制的方法、記憶體裝置以及記憶體裝置的控制器 Download PDFInfo
- Publication number
- TWI805450B TWI805450B TW111126694A TW111126694A TWI805450B TW I805450 B TWI805450 B TW I805450B TW 111126694 A TW111126694 A TW 111126694A TW 111126694 A TW111126694 A TW 111126694A TW I805450 B TWI805450 B TW I805450B
- Authority
- TW
- Taiwan
- Prior art keywords
- bit
- page
- soft decoding
- memory
- data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000015654 memory Effects 0.000 claims abstract description 444
- 238000009826 distribution Methods 0.000 claims description 57
- 238000012545 processing Methods 0.000 claims description 27
- 238000013507 mapping Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 18
- 230000016571 aggressive behavior Effects 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 49
- 239000000872 buffer Substances 0.000 description 33
- 238000012937 correction Methods 0.000 description 11
- 102220495430 Glutaredoxin-like protein C5orf63_S12A_mutation Human genes 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000007667 floating Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000011810 insulating material Substances 0.000 description 1
- 239000012774 insulation material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7206—Reconfiguration of flash memory system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/6325—Error control coding in combination with demodulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本發明提供一種借助侵害位元資訊來進行記憶體裝置的存取控制的方法以及裝置。該方法包含:自主機裝置接收第一主機讀取命令;將第一讀取命令傳送至非揮發性記憶體,以嘗試自第一頁面讀取第一資料;將第二讀取命令傳送至非揮發性記憶體,以取得軟解碼資訊並根據軟解碼資訊來進行第一軟解碼操作,以嘗試自第一軟解碼操作取得第一資料;自至少一侵害頁面讀取多個位元以作為侵害位元資訊;根據至少一侵害頁面的侵害位元資訊將軟解碼資訊轉換成調整後軟解碼資訊;以及根據調整後軟解碼資訊進行第二軟解碼操作,以自第二軟解碼操作取得第一資料。
Description
本發明係有關於記憶體控制,且尤指一種借助侵害位元資訊(aggressor bit information)來進行一記憶體裝置的存取控制的方法以及相關裝置(諸如記憶體裝置或其內的記憶體控制器)。
記憶體技術的發展使得各種不同的可攜式或不可攜式記憶體裝置(例如分別符合SD/MMC、CF、MS以及XD規範的記憶卡或分別符合通用快閃儲存(universal flash storage,UFS)或嵌入式多媒體卡(embedded multi media card,eMMC)規範的嵌入式記憶體裝置)可以廣泛地被應用,改善這些記憶體裝置的存取控制仍然是本領域有待解決的問題。
反及閘(NAND)快閃記憶體可以包含有單階單元(single level cell,SLC)快閃記憶體和多階單元(multiple level cell,MLC)快閃記憶體,在單階單元快閃記憶體中,用作記憶體單元的每個電晶體可以儲存分別對應於邏輯值0以及邏輯值1的兩個電荷值中的任一個,相比之下,多階單元快閃記憶體中用作記憶體
單元的每個電晶體之儲存能力可以被充分利用,多階單元快閃記憶體中的電晶體可以被更高的電壓所驅動,且可以利用不同的電壓準位來記錄至少兩位元(例如00、01、11或10)的資訊,從理論上來說,多階單元快閃記憶體的記錄密度可以達到至少兩倍於單階單元快閃記憶體的記錄密度,因此是反及閘快閃記憶體製造商的首選。
多階單元快閃記憶體的低成本和大容量意味著它比單階單元快閃記憶體更可應用於記憶體裝置中,然而,多階單元快閃記憶體有不穩定的問題,為了確保對記憶體裝置中的快閃記憶體的存取控制滿足要求的規範,快閃記憶體的控制器可以具備某些管理機制以適當地管理資料存取。
然而,即使有著上述管理機制的記憶體裝置可能具有某些缺陷,舉例來說,使用中的記憶體裝置之最極端的存取情況可包含有使用過程中突發斷電以及環境溫度的急劇變化(其通常發生在高緯度國家或地區)。當突發斷電發生時,記憶體裝置的資料保護過程可能無法完成,舉例來說,某個保護機制的同位資訊(parity information)可能無法及時地被寫入,其中由於突發斷電,在某個區塊中一個或多個先前所儲存的頁面可能會損壞。一般來說,解碼能力的瓶頸可能會導致放棄資料恢復,此外,倘若類似問題發生在高溫度讀取與低溫度寫入的案例或低溫度讀取與高溫度寫入的案例的話,則雖然可完成該寫入以取得足夠的保護能力並且進入某個資料恢復過程,甚至資料已經被恢復,但該區塊仍會被標記為壞區塊(bad block),以及記憶體裝置之可取得的資料儲存空間可能會逐步地減少,雖然一個或多個其它解決方法可以被提出以預防上述問題,但可能會引入額外問題(諸如某些副作用)。
因此,需要一種新穎的方法以及相關架構,以在不引入副作用的情況下或以不太可能引入副作用的方式來解決相關技術的問題。
因此,本發明的目的之一在於提供一種借助侵害位元資訊來進行記憶體裝置的存取控制的方法以及相關裝置(例如記憶體裝置以及其內的控制器),以解決上述問題。
根據本發明之至少一實施例,提供了一種借助侵害位元資訊來進行一記憶體裝置的存取控制的方法,其中該方法係應用於記憶體裝置的一控制器,記憶體裝置可包含有控制器以及一非揮發性記憶體,非揮發性記憶體可包含有至少一非揮發性記憶體元件(例如一個或多個非揮發性記憶體元件),以及上述至少一非揮發性記憶體元件可包含有複數個區塊。該方法可包含有:自一主機裝置接收一第一主機讀取命令,其中第一主機讀取命令指示讀取在一第一邏輯位址的第一資料;因應第一主機讀取命令,將一第一讀取命令傳送至非揮發性記憶體,以嘗試根據與第一邏輯位址相關的一第一實體位址來自複數個區塊之中的一第一區塊內的一第一頁面讀取第一資料,其中第一實體位址指示第一區塊內的第一頁面,以及自第一頁面讀取第一資料係不成功的;因應自第一頁面讀取第一資料係不成功的,將一第二讀取命令傳送至非揮發性記憶體以取得針對第一頁面的軟解碼資訊,並且根據軟解碼資訊進行一第一軟解碼操作,以嘗試自第一軟解碼操作取得第一資料,其中自第一軟解碼操作取得第一資料係不成功的;因應自第一軟解碼操作取得第一資料係不成功的,自與第一頁面不同之至少一侵害頁面讀取多個位元以作為侵害位元資訊,其中第一頁面對應於至少一非揮發性記憶體元件之任一個非揮發性記憶體元件內的一第一組記憶
體單元,以及至少一侵害頁面對應於一第二組記憶體單元,其相鄰於任一個非揮發性記憶體元件內的第一組記憶體單元;根據至少一侵害頁面的侵害位元資訊來將軟解碼資訊轉換成調整後軟解碼資訊;以及根據調整後軟解碼資訊來進行一第二軟解碼操作,以自第二軟解碼操作取得第一資料。
除了上述方法,本發明亦提供了一種記憶體裝置,並且該記憶體裝置包含有一非揮發性記憶體以及一控制器,其中非揮發性記憶體係用以儲存資訊,非揮發性記憶體可包含有至少一非揮發性記憶體元件(例如至少一非揮發性記憶體元件),上述至少一非揮發性記憶體元件可包含有複數個區塊,控制器係耦接於非揮發性記憶體,以及控制器係用以控制記憶體裝置的操作。此外,控制器包含有一處理電路,其中處理電路係用以根據來自一主機裝置的複數個主機命令來控制控制器,以允許主機裝置透過控制器來存取非揮發性記憶體。舉例來說,控制器自主機裝置接收一第一主機讀取命令,其中第一主機讀取命令指示讀取在一第一邏輯位址的第一資料,以及第一主機讀取命令係複數個主機命令的其一;因應第一主機讀取命令,控制器將一第一讀取命令傳送至非揮發性記憶體,以嘗試根據與第一邏輯位址相關的一第一實體位址來自複數個區塊之中的一第一區塊內的一第一頁面讀取第一資料,其中第一實體位址指示第一區塊內的第一頁面,以及自第一頁面讀取第一資料係不成功的;因應自第一頁面讀取第一資料係不成功的,控制器將一第二讀取命令傳送至非揮發性記憶體以取得針對第一頁面的軟解碼資訊,並且根據軟解碼資訊進行一第一軟解碼操作,以嘗試自第一軟解碼操作取得第一資料,其中自第一軟解碼操作取得第一資料係不成功的;因應自第一軟解碼操作取得第一資料係不成功的,控制器自與第一頁面不同之至少一侵害頁面讀取多個位元以作為侵害位元資訊,其中第一頁面對應於至少一非揮發性記憶體元件之任一個非揮發性記憶體元件內的
一第一組記憶體單元,以及至少一侵害頁面對應於一第二組記憶體單元,其相鄰於任一個非揮發性記憶體元件內的第一組記憶體單元;控制器根據至少一侵害頁面的侵害位元資訊來將軟解碼資訊轉換成調整後軟解碼資訊;以及控制器根據調整後軟解碼資訊來進行一第二軟解碼操作,以自第二軟解碼操作取得第一資料。
除了上述方法外,本發明亦提供了一種記憶體裝置的控制器,其中記憶體裝置包含有控制器以及一非揮發性記憶體,非揮發性記憶體可包含有至少一非揮發性記憶體元件(例如一個或多個非揮發性記憶體元件),以及上述至少一非揮發性記憶體元件可包含有複數個區塊。此外,控制器包含有一處理電路,其中處理電路係用以根據來自一主機裝置的複數個主機命令來控制控制器的操作,以允許主機裝置透過控制器來存取非揮發性記憶體。舉例來說,控制器自主機裝置接收一第一主機讀取命令,其中第一主機讀取命令指示讀取在一第一邏輯位址的第一資料,以及第一主機讀取命令係複數個主機命令的其一;因應第一主機讀取命令,控制器將一第一讀取命令傳送至非揮發性記憶體,以嘗試根據與第一邏輯位址相關的一第一實體位址來自複數個區塊之中的一第一區塊內的一第一頁面讀取第一資料,其中第一實體位址指示第一區塊內的第一頁面,以及自第一頁面讀取第一資料係不成功的;因應自第一頁面讀取第一資料係不成功的,控制器將一第二讀取命令傳送至非揮發性記憶體以取得針對第一頁面的軟解碼資訊,並且根據軟解碼資訊進行一第一軟解碼操作,以嘗試自第一軟解碼操作取得第一資料,其中自第一軟解碼操作取得第一資料係不成功的;因應自第一軟解碼操作取得第一資料係不成功的,控制器自與第一頁面不同之至少一侵害頁面讀取多個位元以作為侵害位元資訊,其中第一頁面對應於至少一非揮發性記憶體元件之任一個非揮發性記憶體元件內的一第一組記憶體
單元,以及至少一侵害頁面對應於一第二組記憶體單元,其相鄰於任一個非揮發性記憶體元件內的第一組記憶體單元;控制器根據至少一侵害頁面的侵害位元資訊來將軟解碼資訊轉換成調整後軟解碼資訊;以及控制器根據調整後軟解碼資訊來進行一第二軟解碼操作,以自第二軟解碼操作取得第一資料。
本發明所提供的方法以及相關裝置可確保記憶體裝置在各種不同情況下都可適當地操作,其中上述裝置的範例包含有:控制器以及記憶體裝置等等。此外,本發明所提供的該方法以及相關裝置可以在不引入副作用的情況下或以不太可能引入副作用的方式來解決相關技術的問題,以及借助侵害位元資訊,本發明所提供的該方法以及相關裝置可確保自記憶體裝置至主機裝置的即時回應(real-time response),並且可改善整體性能。
10:電子裝置
50:主機裝置
52:處理器
54:電源供應電路
100:記憶體裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:控制邏輯電路
115:數位訊號處理引擎
116:隨機存取記憶體
118:傳輸介面電路
120:非揮發性記憶體
122-1~122-N:非揮發性記憶體元件
116T:暫時表
122T:非暫時表
DB:資料緩衝器
AB:侵害緩衝器
NC:雜訊消除器
ENDEC:編碼器與解碼器電路
RNDRN:隨機產生器與解隨機產生器電路
PS2D(1)~PS2D(Ny):電路模組
BL(1)~BL(Nx):位元線
S(1,1)~S(Nx,Ny):次電路模組
MBLS(1,1)~MBLS(Nx,Ny):上選取電路
BLS(1)~BLS(Ny):上選取線
WL(1,1)~WL(Ny,Nz):字元線
M(1,1,1)~M(Nx,Ny,Nz):記憶體單元
MSLS(1,1)~MSLS(Nx,Ny):下選取電路
SLS(1)~SLS(Ny):下選取線
SL(1)~SL(Ny):源極線
Md:上端
Mfg:第一管狀部分架構
Ms:下端
Mcg:第二管狀部分架構
VR1~VR15:讀取電壓
P0~P15:狀態
S10,S11,S12A,S12B,S13,S14,S15,S16,S17,S18,S19,S20:步驟
U0~U2,SIGN,L0~L2,U0_M1,SIGN_M1,L0_M1,U0_M0,SIGN_M0,L0_M0:讀取感測電壓
Shift_M_to_M1:第一分布偏移
Shift_M_to_M0:第二分布偏移
ax,i,ay,i:選取位元
vj,i,vk,i,vl,i:輸入位元
第1圖為依據本發明一實施例之電子裝置的示意圖。
第2圖為依據本發明一實施例之三維反及閘快閃記憶體的示意圖。
第3圖為依據本發明一實施例之第2圖所示之三維反及閘快閃記憶體的一些部分架構。
第4圖為依據本發明一實施例之第2圖所示之三維反及閘快閃記憶體之記憶體單元之其一的一些實施細節。
第5圖為依據本發明一實施例之四階單元區塊中的一記憶體單元的複數個狀態(例如編程狀態)的示意圖。
第6A圖為依據本發明一實施例之借助侵害位元資訊來進行一記憶體裝置(例如第1圖所示之記憶體裝置)的存取控制的方法流程圖的第一部分。
第6B圖為借助侵害位元資訊來進行記憶體裝置的存取控制的方法流程圖的第二部分。
第7圖為依據本發明一實施例之第6A圖以及第6B圖所示之方法的存取控制方案。
第8圖為依據本發明一實施例之第7圖所示之存取控制方案的一些實施細節。
第9圖為依據本發明一實施例之第6A圖以及第6B圖所示之方法的軟解碼資訊轉換控制方案。
第10圖為依據本發明一實施例之第6A圖以及第6B圖所示之方法的數位訊號處理控制方案。
第11圖為依據本發明一實施例之第10圖所示之數位訊號處理控制方案的一些實施細節。
第1圖為依據本發明一實施例之電子裝置10的示意圖,其中電子裝置10可包含有主機裝置50以及記憶體裝置100。主機裝置50可包含有至少一處理器(例如一個或多個處理器;其可被統稱為處理器52),並且主機裝置50可另包含有電源供應電路54,其耦接於處理器52。處理器52係用以控制主機裝置50的操作,以及電源供應電路54係用以提供電源給處理器52以及記憶體裝置100,並且將一個或多個驅動電壓輸出至記憶體裝置100。記憶體裝置100可用以提供儲存空間給主機裝置50,並且可以自主機裝置50取得一個或多個驅動電壓以作為記憶體裝置100的電源。主機裝置50的範例可以包括但不限於:多功能手機、可穿戴裝置、平板電腦和個人電腦,例如桌上型電腦和筆記型電腦,記憶體裝置100的範例可以包括但不限於:可攜式記憶體裝置(例如符合SD/MMC、CF、MS以及XD規範的記憶卡)、固態硬碟(solid state drive,SSD)以及分別符合通用快閃記憶體儲存(Universal Flash Storage,UFS)以及嵌入式多媒體卡(embedded MMC,
eMMC)規範的不同嵌入式記憶體裝置。根據本實施例,記憶體裝置100可包含有一控制器(例如記憶體控制器110),並且可另包含有非揮發性(Non-Volatile,NV)記憶體120(為簡潔起見,於第1圖中標記為“NV記憶體”),其中控制器係用以控制記憶體裝置100的操作並存取非揮發性記憶體120,以及非揮發性記憶體120係用以儲存資訊。非揮發性記憶體120可包含有至少一非揮發性記憶體元件(例如一個或多個非揮發性記憶體元件;為簡潔起見,於第1圖中標記為“NV記憶體元件”),例如複數個非揮發性記憶體元件122-1、122-2、...以及122-N,其中“N”可以代表大於1的正整數,舉例來說,非揮發性記憶體120可以是快閃記憶體,並且複數個非揮發性記憶體元件122-1、122-2、...以及122-N可以是複數個快閃記憶體晶片或複數個快閃記憶體裸晶(die),但是本發明不限於此。
如第1圖所示,記憶體控制器110可包含有一處理電路(諸如微處理器122)、一儲存模組(諸如唯讀記憶體(read-only memory,ROM)112M)、控制邏輯電路114、數位訊號處理(digital signal processing,DSP)引擎115(為簡潔起見,於第1圖中標記為“DSP引擎”)、隨機存取記憶體(random access memory,RAM)116(為簡潔起見,於第1圖中標記為“RAM”)以及傳輸介面電路118,其中上述元件可以透過一匯流排來互相耦接。數位訊號處理引擎115可包含有多個資料緩衝器(data buffer)DB、多個侵害緩衝器(aggressor buffer)AB以及一資料保護電路,以及資料保護電路可包含有一雜訊消除器(noise canceler)NC、一編碼器與解碼器電路(encoder and decoder circuit)ENDEC以及一隨機產生器與解隨機產生器電路(randomizer and de-randomizer circuit)RNDRN,但是本發明不限於此,根據某些實施例,數位訊號處理引擎115的一個或多個子電路可被整合至控制邏輯電路114中。在數位訊號處理引擎115中,多個資料緩衝器DB可用以暫時地儲存一些目標資料頁面(target data page;例如在數位訊號處理引擎115中所處理的
資料),多個侵害緩衝器AB可用以暫時地儲存侵害頁面(例如一些其它資料頁面,其可能已經影響了目標資料頁面),以及資料保護電路可用以保護資料及/或進行錯誤校正,舉例來說,編碼器與解碼器電路ENDEC可具有一編碼器以及一解碼器,其分別用以進行編碼以及解碼,以及隨機產生器與解隨機產生器電路RNDRN可包含有一隨機產生器以及一解隨機產生器,其分別用以進行隨機化操作以及解隨機化操作,雜訊消除器NC可用以進行雜訊消除操作,尤其是,可用以消除由單元至單元干擾(cell-to-cell interference)所造成的雜訊。
隨機存取記憶體116係藉由一靜態隨機存取記憶體(static random access memory,SRAM)來實現,但是本發明不限於此,隨機存取記憶體116可用以提供內部儲存空間給記憶體控制器110,舉例來說,隨機存取記憶體116可以作為一緩衝器記憶體來緩衝資料,尤其是,隨機存取記憶體116可包含有一緩衝區域,其係用來作為資料緩衝器116B,並且資料緩衝器116B可包含有對應於至少一資料頁面(例如一個或多個資料頁面)的一緩衝大小,此外,本實施例的唯讀記憶體112M係用以儲存程式碼112C,以及微處理器112係用以執行程式碼112C來控制對非揮發性記憶體120的存取。要注意的是,在某些範例中,程式碼112C可被儲存至隨機存取記憶體116或任何形式的記憶體中,此外,傳輸介面電路118可符合一特定的通訊規範(例如序列先進技術附件(Serial Advanced Technology Attachment,SATA)規範、通用序列匯流排(Universal Serial Bus,USB)規範、快捷外部連接標準(Peripheral Component Interconnect Express,PCIe)規範、嵌入式多媒體卡規範或通用快閃儲存規範),並且可根據該特定的通訊規範來進行通訊。
在本實施例中,主機裝置50可藉由傳送主機命令以及相對應的邏輯
位址至記憶體控制器110來存取記憶體裝置100。記憶體控制器110接收該主機命令以及該邏輯位址,並且將主機命令轉換成記憶體操作命令(其可簡稱為操作命令),再利用操作命令來控制非揮發性記憶體,以對在非揮發性記憶體120中的有著實體位址之記憶體單位(memory unit;例如資料頁面)進行讀取或寫入/編程等等,其中實體位址可以與邏輯位址相關。當記憶體控制器110對複數個非揮發性記憶體元件122-1、122-2、...以及122-N之中的任一個非揮發性記憶體元件122-n(符號“n”可代表在區間[1,N]中的任一個整數)進行抹除(erase)操作時,非揮發性記憶體122-n之多個區塊的至少一區塊會被抹除,其中該多個區塊中的每一個區塊可包含有多個頁面(例如資料頁面),並且可以對一個或多個頁面進行存取操作(例如讀取或寫入)。
針對記憶體裝置100的內部控制的一些實施細節可以另描述如下,根據某些實施例,處理電路(例如微處理器112)可根據來自主機裝置50的複數個主機命令來控制記憶體控制器110,以允許主機裝置50透過記憶體控制器110來存取非揮發性記憶體120。記憶體控制器110可為主機裝置50將資料儲存至非揮發性記憶體120中,因應來自主機裝置50的一主機命令(例如該複數個主機命令的其一)來讀取儲存資料,以及提供自非揮發性記憶體120讀取的資料給主機裝置50。在非揮發性記憶體120(例如快閃記憶體)中,上述至少一非揮發性記憶體元件(例如複數個非揮發性記憶體元件122-1、122-2、...以及122-N)可包含有複數個區塊,諸如在非揮發性記憶體元件122-1中的第一組實體區塊、在非揮發性記憶體元件122-2中的第二組實體區塊、...以及在非揮發性記憶體元件122-N中的第N組實體區塊。記憶體控制器110可以被設計來適當地管理複數個區塊(例如複數組實體區塊)。
記憶體控制器110可以針對至少一表(諸如隨機存取記憶體116中的至少一暫時表(temporary table;例如一個或多個暫時表)以及非揮發性記憶體120中的至少一非暫時表(non-temporary table;例如一個或多個非暫時表))中的區塊管理來記錄、維持及/或更新區塊管理資訊,其中上述至少一暫時表可以被統稱為暫時表116T,以及上述至少一非暫時表可以被統稱為非暫時表122T。暫時表116T可包含有非暫時表122T之至少一部分(例如一部分或全部)的一暫時版本,舉例來說,非暫時表122T可包含有至少一邏輯至實體(logical-to-physical,L2P)位址映射表(例如一個或多個邏輯至實體位址映射表),以記錄多個邏輯位址(例如指示多個邏輯區塊的邏輯區塊位址(logical block address,LBA)以及指示多個邏輯區塊之任一個邏輯區塊內的多個邏輯頁面的邏輯頁面位址(logical page address,LPA))與多個實體位址(例如指示多個實體區塊的多個實體區塊位址(physical block address,PBA)以及指示多個實體區塊之任一個實體區塊內的多個實體頁面的實體頁面位址(physical page address,PPA))之間的映射關係,並且暫時表116T可包含有該至少一邏輯至實體位址映射表之至少一子表(sub-table;例如一個或多個子表)的一暫時版本,其中記憶體控制器110(例如微處理器112)可以在主機裝置50的主機端儲存空間(例如邏輯位址)與記憶體裝置100內的非揮發性記憶體120的裝置端儲存空間(例如實體位址)之間進行雙向位址轉換(bi-directional address translation),以為主機裝置50存取資料。為了更好的理解,非暫時表122T可被繪示於非揮發性記憶體元件122-1中,但是本發明不限於此,舉例來說,非暫時表122T可被儲存至複數個非揮發性記憶體元件122-1、122-2、...以及122-N中的一個或多個非揮發性記憶體元件中,此外,當需要時,記憶體控制器110可以將暫時表116T備份(back up)至非揮發性記憶體120(例如複數個非揮發性記憶體元件122-1、122-2、...以及122-N中的一個或多個非揮發性記憶體元件)中的非暫時表122T,並且記憶體控制器110可將非暫時表122T的至少一部分
(例如一部分或全部)加載至隨機存取記憶體116中以成為暫時表116T,以供快速參考。
第2圖為依據本發明一實施例之三維反及閘(3D NAND)快閃記憶體的示意圖。舉例來說,在上述至少一非揮發性記憶體元件(例如一個或多個非揮發性記憶體元件)內的任一個記憶體元件(諸如在複數個非揮發性記憶體元件122-1、122-2、...以及122-N內的每一個非揮發性記憶體元件)可基於第2圖所示之三維反及閘快閃記憶體來實現,但是本發明不限於此。
根據本實施例,三維反及閘快閃記憶體可包含有以三維結構作排列的複數個記憶體單元,例如(Nx * Ny * Nz)個記憶體單元{{M(1,1,1),...,M(Nx,1,1)},{M(1,2,1),...,M(Nx,2,1)},...,{M(1,Ny,1),...,M(Nx,Ny,1)}},{{M(1,1,2),...,M(Nx,1,2)},{M(1,2,2),...,M(Nx,2,2)},...,{M(1,Ny,2),...,M(Nx,Ny,2)}},...,以及{{M(1,1,Nz),...,M(Nx,1,Nz)},{M(1,2,Nz),...,M(Nx,2,Nz)},...,{M(1,Ny,Nz),...,M(Nx,Ny,Nz)}},其分別被設置於垂直於Z軸的Nz個層當中,分別對齊於相對應於X軸、Y軸和Z軸的三個方向,以及可另包含有複數個選取電路(selector circuit)以進行選取控制,例如設置在該Nz個層的上層的(Nx * Ny)個上選取電路(upper selector circuit){MBLS(1,1),...,MBLS(Nx,1)}、{MBLS(1,2),...,MBLS(Nx,2)}、...以及{MBLS(1,Ny),...,MBLS(Nx,Ny)},以及設置在該Nz個層的下層的(Nx * Ny)個下選取電路(lower selector circuit){MSLS(1,1),...,MSLS(Nx,1)}、{MSLS(1,2),...,MSLS(Nx,2)}、...以及{MSLS(1,Ny),...,MSLS(Nx,Ny)}。此外,三維反及閘快閃記憶體可包含有用來進行存取控制的複數個位元線(bit line)以及複數個字元線(word line),例如設置於上層之上的頂層的Nx個位元線BL(1)、...、BL(Nx)以及分別設置於該Nz個層
中的(Ny * Nz)個字元線{WL(1,1),WL(2,1),...,WL(Ny,1)}、{WL(1,2),WL(2,2),...,WL(Ny,2)}、...以及{WL(1,Nz),WL(2,Nz),...,WL(Ny,Nz)}。此外,三維反及閘快閃記憶體可包含有複數個選取線(selection line)以進行選取控制,例如設置於上層的Ny個上選取線BLS(1)、BLS(2)、...以及BLS(Ny)以及設置於下層的Ny個下選取線SLS(1)、SLS(2)、...以及SLS(Ny),並且可另包含有複數個源極線(source line)以提供參考位準,例如被設置於底層的Ny個源極線SL(1)、SL(2)、...以及SL(Ny)。
如第2圖所示,三維反及閘快閃記憶體可被劃分為沿著Y軸分佈的Ny個電路模組PS2D(1)、PS2D(2)、...以及PS2D(Ny),為了更好的理解,電路模組PS2D(1)、PS2D(2)、...以及PS2D(Ny)可具有類似於具有設置於單一層的多個記憶體單元的平面反及閘(planar NAND)快閃記憶體的一些電子特性,並且可分別視為偽二維(pseudo-2D)電路模組,但是本發明不限於此。此外,電路模組PS2D(1)、PS2D(2)、...以及PS2D(Ny)中的任一個電路模組PS2D(ny)可包含有Nx個次電路模組(secondary circuit module)S(1,ny)、...以及S(Nx,ny),其中“ny”可代表區間[1,Ny]中的任一個整數,舉例來說,電路模組PS2D(1)可包含有Nx個次電路模組S(1,1)、...以及S(Nx,1),電路模組PS2D(2)可包含有Nx個次電路模組S(1,2)、...以及S(Nx,2),以及電路模組PS2D(Ny)可包含有Nx個次電路模組S(1,Ny)、...以及S(Nx,Ny)。在電路模組PS2D(ny)中,次電路模組S(1,ny)、...以及S(Nx,ny)中任一個次電路模組S(nx,ny)可包含有Nz個記憶體單元M(nx,ny,1)、M(nx,ny,2)、...以及M(nx,ny,Nz),並且可包含有對應於記憶體單元M(nx,ny,1)、M(nx,ny,2)、...以及M(nx,ny,Nz)的一組選取電路,例如上選取電路MBLS(nx,ny)以及下選取電路MSLS(nx,ny),其中“nx”可代表區間[1,Nx]內的任一個整數,以及上選取電路MBLS(nx,ny)、下選取電路MSLS(nx,ny)以及記憶體單元M(nx,
ny,1)、M(nx,ny,2)、...以及M(nx,ny,Nz)可利用電晶體來實現,舉例來說,上選取電路MBLS(nx,ny)以及下選取電路MSLS(nx,ny)可利用一般電晶體來實現,而無需用到任何浮閘(floating gate),並且記憶體單元M(nx,ny,1)、M(nx,ny,2)、...以及M(nx,ny,Nz)中任一個記憶體單元M(nx,ny,nz)可利用一浮閘電晶體來實現,其中“nz”可代表區間[1,Nz]中的任一個整數,但是本發明不以此為限。此外,電路模組PS2D(ny)中的上選取電路MBLS(1,ny)、...以及MBLS(Nx,ny)可根據相對應之選取線BLS(ny)上的選取訊號來進行選取,並且電路模組PS2D(ny)中的下選取電路MSLS(1,ny)、...、MSLS(Nx,ny)可根據相對應之選取線SLS(ny)上的選取訊號來進行選取。
第3圖為依據本發明一實施例之第2圖所示之三維反及閘快閃記憶體的一些部分架構。三維快閃記憶體可以被設計以具有複數個柱狀部分架構(rod-shaped partial structure;諸如第3圖所示之複數個柱狀部分架構),並且複數個柱狀部分架構可用以分別通過次電路模組{S(1,1),...,S(Nx,1)}、{S(1,2),...,S(Nx,2)}、...以及{S(1,Ny),...,S(Nx,Ny)},為了更好的理解,複數個柱狀部分架構可分別視為第2圖所示之架構內的次電路模組{S(1,1),...,S(Nx,1)}、{S(1,2),...,S(Nx,2)}、...以及{S(1,Ny),...,S(Nx,Ny)}的相關電晶體的通道(channel),諸如用以實現上選取電路MBLS(nx,ny)以及下選取電路MSLS(nx,ny)的一般電晶體之通道以及用以實現記憶體單元M(nx,ny,nz)的浮閘電晶體之通道。根據某些實施例,複數個柱狀部分架構的數量可等於次電路模組{S(1,1),...,S(Nx,1)}、{S(1,2),...,S(Nx,2)}、...以及{S(1,Ny),...,S(Nx,Ny)}的總數(Nx * Ny),但是本發明不限於此,舉例來說,可以改變複數個記憶體單元的排列,並且可以相對應地改變複數個柱狀部分架構的數量。
此外,三維反及閘快閃記憶體可被設計以具有複數個管狀部分架構(pipe-shaped partial structure),並且複數個管狀部分架構可用以包圍(encircle)複數個柱狀部分架構來形成次電路模組{S(1,1),...,S(Nx,1)}、{S(1,2),...,S(Nx,2)}、...以及{S(1,Ny),...,S(Nx,Ny)}的各自的元件,尤其是,形成複數個記憶體單元之各自的控制閘(control gate)與各自的浮閘以及第2圖所示之架構中複數個選取電路的各自的閘極(gate)。記憶體單元{{M(1,1,1),M(2,1,1),...}、{M(1,1,2),M(2,1,2),...}、...}以及字元線{WL(1,1)、WL(1,2)、...}被繪示於第3圖中,以及第3圖所示之管狀部分架構可指示複數個柱狀部分架構的每一個柱狀部分架構被一些額外的部分架構環繞著,其中針對該額外的部分架構之進一步的細節會於以下實施例中描述。
第4圖為依據本發明一實施例之第2圖所示之三維反及閘快閃記憶體之記憶體單元之其一的一些實施細節。如第4圖所示,記憶體單元M(nx,ny,nz)可包含有複數個柱狀部分架構中的一柱狀部分架構的一部分,諸如對應於次電路模組S(nx,ny)的柱狀部分架構內的一柱段(rod segment),並且可另包含有具有相同對稱軸的一些管狀部分架構,舉例來說,該柱段的上端Md以及下端Ms可用來作為浮閘電晶體的汲極(drain)以及源極(source),並且該些管狀部分架構內的一第一管狀部分架構Mfg以及一第二管狀部分架構Mcg可用來作為此浮閘電晶體的浮閘以及控制閘,該些管狀部分架構內的其它管狀部分架構(諸如在該柱段與第一管狀部分架構Mfg之間的管狀部分架構,以及在第一管狀部分架構Mfg與第二管狀部分架構Mcg之間的管狀部分架構)可利用一個或多個絕緣材料(insulation material)來實現。
根據某些實施例,第2圖所示之架構中複數個選取電路的任一個選取
電路可以藉由修改第4圖所示之架構來實現,舉例來說,可以利用柱段的上端Md以及下端Ms來作為一般電晶體的汲極以及源極,以供實現此選取電路,並且可以利用該些管狀部分架構內的第二管狀部分架構Mcg來作為一般電晶體的閘極,其中第一管狀部分架構Mfg應自一個或多個絕緣材料移除。因此,在柱段以及第二管狀部分架構Mcg之間僅會有一管狀部分架構,但是本發明不以此為限。
在非揮發性記憶體120中,當非揮發性記憶體元件122-1、122-2、...以及122-N的任一個非揮發性記憶體元件的一區塊係作為一單階單元區塊時,該區塊內的每一個實體頁面可對應於一邏輯頁面,並且該頁面的每一個記憶體單元可用以僅儲存單一位元,其中一實體頁面可包含有由一字元線所控制的所有電晶體(例如對應於字元線WL(1,Nz)的記憶體單元{M(1,1,Nz),...,M(Nx,1,Nz)}形成一實體頁面)。此外,當非揮發性記憶體元件122-1、122-2、...以及122-N的任一個非揮發性記憶體元件的一區塊係作為一多階單元區塊時,該區塊內的每一個實體頁面可對應於至少兩個邏輯頁面,並且該頁面的每一個記憶體單元可用以儲存至少兩個位元,尤其是,當非揮發性記憶體元件122-1、122-2、...以及122-N的任一個非揮發性記憶體元件的一區塊係作為一三階單元(triple level cell,TLC)區塊時,該區塊內的每一個實體頁面可對應於三個邏輯頁面,並且該頁面的每一個記憶體單元可用以儲存三個位元;當非揮發性記憶體元件122-1、122-2、...以及122-N的任一個非揮發性記憶體元件的一區塊係作為一四階單元(quadruple level cell,QLC)區塊時,該區塊內的每一個實體頁面可對應於四個邏輯頁面,並且該頁面的每一個記憶體單元可用以儲存四個位元;其餘可以此類推。
第5圖為依據本發明一實施例之四階單元區塊中的一記憶體單元的
複數個狀態(state;例如編程狀態(programming state))的示意圖。橫軸(標記為“Vth”)可代表非揮發性記憶體120的讀取感測電壓(例如一門檻電壓,其用以於讀取非揮發性記憶體120的期間決定位元資訊;為了簡潔起見,讀取感測電壓亦可稱為讀取電壓),舉例來說,記憶體控制器110可選擇性地進行一個或多個讀取電壓設定{Vth=VR1,Vth=VR2,...,Vth=VR15},以於讀取非揮發性記憶體120的期間決定位元資訊。
如第5圖所示,四階單元區塊的任一個記憶體單元可被編程以具有16個狀態P0、P1...以及P15的任一個狀態,並且該些狀態可代表四個位元(其命名為最高位元(top bit)、較高位元(upper bit)、中間位元(middle bit)以及較低位元(lower bit))的不同組合,在第5圖所示之實施例中,當記憶體單元被編程以具有狀態P0時,儲存在記憶體單元的最高位元、較高位元、中間位元以及較低位元是(1,1,1,1);當記憶體單元被編程以具有狀態P1時,儲存在記憶體單元的最高位元、較高位元、中間位元以及較低位元是(1,1,1,0);當記憶體單元被編程以具有狀態P2時,儲存在記憶體單元的最高位元、較高位元、中間位元以及較低位元是(1,0,1,0);當記憶體單元被編程以具有狀態P3時,儲存在記憶體單元的最高位元、較高位元、中間位元以及較低位元是(1,0,0,0);當記憶體單元被編程以具有狀態P4時,儲存在記憶體單元的最高位元、較高位元、中間位元以及較低位元是(1,0,0,1);當記憶體單元被編程以具有狀態P5時,儲存在記憶體單元的最高位元、較高位元、中間位元以及較低位元是(0,0,0,1);當記憶體單元被編程以具有狀態P6時,儲存在記憶體單元的最高位元、較高位元、中間位元以及較低位元是(0,0,0,0);當記憶體單元被編程以具有狀態P7時,儲存在記憶體單元的最高位元、較高位元、中間位元以及較低位元是(0,0,1,0);當記憶體單元被編程以具有狀態P8時,儲存在記憶體單元的最高位元、較高位元、中間
位元以及較低位元是(0,1,1,0);當記憶體單元被編程以具有狀態P9時,儲存在記憶體單元的最高位元、較高位元、中間位元以及較低位元是(0,1,0,0);當記憶體單元被編程以具有狀態P10時,儲存在記憶體單元的最高位元、較高位元、中間位元以及較低位元是(1,1,0,0);當記憶體單元被編程以具有狀態P11時,儲存在記憶體單元的最高位元、較高位元、中間位元以及較低位元是(1,1,0,1);當記憶體單元被編程以具有狀態P12時,儲存在記憶體單元的最高位元、較高位元、中間位元以及較低位元是(0,1,0,1);當記憶體單元被編程以具有狀態P13時,儲存在記憶體單元的最高位元、較高位元、中間位元以及較低位元是(0,1,1,1);當記憶體單元被編程以具有狀態P14時,儲存在記憶體單元的最高位元、較高位元、中間位元以及較低位元是(0,0,1,1);以及當記憶體單元被編程以具有狀態P15時,儲存在記憶體單元的最高位元、較高位元、中間位元以及較低位元是(1,0,1,1)。
舉例來說,當需要藉由記憶體控制器110來讀取最高位元時,記憶體控制器110可控制非揮發性記憶體100來套用四個讀取電壓VR5、VR10、VR12以及VR15以讀取記憶體單元,倘若記憶體單元於套用讀取電壓VR5時為導通的話,則判斷最高位元是“1”;倘若記憶體單元於套用讀取電壓VR5時為非導通的話,則判斷最高位元是“0”;倘若記憶體單元於套用讀取電壓VR10時為非導通以及記憶體單元於套用讀取電壓VR12時為導通的話,則判斷最高位元是“1”;倘若記憶體單元於套用讀取電壓VR12時為非導通以及記憶體單元於套用讀取電壓VR15時為導通的話,則判斷最高位元是“0”;以及倘若記憶體單元於套用讀取電壓VR1時為非導通的話,則判斷最高位元是“1”。當需要藉由記憶體控制器110來讀取較高位元時,記憶體控制器110可控制非揮發性記憶體120以套用三個讀取電壓VR2、VR8以及VR14來讀取記憶體單元,倘若記憶體單元於套用讀取電
壓VR2時為導通的話,則判斷較高位元是“1”;倘若記憶體單元於套用讀取電壓VR2時為非導通以及記憶體單元於套用讀取電壓VR8時為導通的話,則判斷較高位元是“0”;倘若記憶體單元於套用讀取電壓VR8時為非導通以及記憶體單元於套用讀取電壓VR14時為導通的話,則判斷較高位元是“1”;以及倘若記憶體單元於套用讀取電壓VR14時為非導通的話,則判斷較高位元是“0”。
當需要藉由記憶體控制器110來讀取中間位元時,記憶體控制器110可控制非揮發性記憶體120以套用四個讀取電壓VR3、VR7、VR9以及VR13來讀取記憶體單元,倘若記憶體單元於套用讀取電壓VR3時為導通的話,則判斷中間位元是“1”;倘若記憶體單元於套用讀取電壓VR3時為非導通以及記憶體單元於套用讀取電壓VR7時為導通的話,則判斷中間位元是“0”;倘若記憶體單元於套用讀取電壓VR7時為非導通以及記憶體單元於套用讀取電壓VR9時為導通的話,則判斷中間位元是“1”;倘若記憶體單元於套用讀取電壓VR9時為非導通以及記憶體單元於套用讀取電壓VR13時為導通的話,則判斷中間位元是“0”;以及倘若記憶體單元於套用讀取電壓VR13時為非導通的話,則判斷中間位元是“1”。當需要藉由記憶體控制器110來讀取較低位元時,記憶體控制器110可控制非揮發性記憶體120來套用四個讀取電壓VR1、VR4、VR6以及VR11以讀取記憶體單元,倘若記憶體單元於套用讀取電壓VR1時為導通的話,則判斷較低位元是“1”;倘若記憶體單元於套用讀取電壓VR1時為非導通以及記憶體單元於套用讀取電壓VR4時為導通的話,則判斷較低位元是“0”;倘若記憶體單元於套用讀取電壓VR4時為非導通以及記憶體單元於套用讀取電壓VR6時為導通的話,則判斷較低位元是“1”;倘若記憶體單元於套用讀取電壓VR6時為非導通以及記憶體單元於套用讀取電壓VR11時為導通的話,則判斷較低位元是“0”;以及倘若記憶體單元於套用讀取電壓VR11時為非導通的話,則判斷較低位元是“1”。
要注意的是,第5圖的下半部分所示之格雷碼(gray code)僅作為說明之用,而並非作為本發明的限制,在某些範例中,任何適當的格雷碼皆可應用於記憶體裝置100,並且用於判斷最高位元、較高位元、中間位元以及較低位元的讀取電壓可隨之改變。
藉由利用讀取電壓VR1、VR2、...以及VR15的一部分來自記憶體單元讀取的位元可視為一符號(正負號)位元(sign bit),為了更好的理解,記憶體控制器110可利用資料保護電路來處理自一組記憶體單元(例如4K記憶體單元)取得的符號位元,尤其是,利用解隨機產生器來進行解隨機化操作並且利用解碼器來進行錯誤校正操作(例如進行解碼以產生解碼後資料來校正錯誤),然而,由於四階單元區塊內記憶體單元的狀態間隔(state interval)通常非常小,因此記憶體單元的狀態可隨著非揮發記憶體120中可能會發生的不同問題(例如讀取干擾(read disturbance)、編程干擾(program disturbance)以及資料保留(data retention))之中的一個或多個問題而具有不同變化,並且錯誤校正操作的處理結果可能是不成功的。
根據軟解碼(soft-decoding)控制方案,記憶體控制器110可控制非揮發性記憶體120來另將額外的讀取電壓套用至記憶體單元,以取得複數個軟位元(soft bit)來增加錯誤校正操作的成功率,舉例來說,在解碼器無法解碼自記憶體單元取得之符號位元的情況中,記憶體控制器110可控制非揮發性記憶體120來利用額外讀取電壓以再次讀取記憶體單元,以取得第一組軟位元,尤其是,解碼器可包含有一低密度奇偶檢查(low-density parity-check,LDPC)解碼器,諸如能夠進行與低密度奇偶檢查碼相關之解碼的一解碼器,以供進行軟解碼。解碼器
(例如低密度奇偶檢查解碼器)可利用第一組軟位元來對符號位元進行解碼,舉例來說,當記憶體控制器110嘗試讀取區塊的最高頁面(tip page;例如記憶體單元的最高位元)時,記憶體控制器110可控制非揮發性記憶體120以利用額外讀取電壓(VR5-△V)、(VR10-△V)、(VR12-△V)以及(VR15-△V)來取得第一組軟位元,其中符號“△V”可代表一預定電壓差(例如多個預定電壓差的其一,諸如自多個預定電壓差中所選取出來的一第一預定電壓差),倘若解碼器仍失敗的話,則記憶體控制器110可控制非揮發性記憶體120以利用額外讀取電壓(VR5+△V)、(VR10+△V)、(VR12+△V)以及(VR15+△V)來再次讀取記憶體單元,以取得第二組軟位元,並且解碼器(例如低密度奇偶檢查解碼器)可利用第一組軟位元以及第二組軟位元來對符號位元進行解碼。假設在不需要自記憶體裝置100至主機裝置50的立即回應的情況下,倘若解碼器仍失敗的話,則記憶體控制器110可控制非揮發性記憶體120以利用另一預定電壓差(例如多個預定電壓差的另一)來進行類似操作,並且其餘的可以此類推。因此,針對軟解碼控制方案,記憶體控制器110可控制非揮發性記憶體120以利用一組或多組額外讀取電壓來進一步地讀取記憶體單元一次或多次,以取得一組或多組軟位元,以供進行軟解碼,舉例來說,利用一組或多個軟位元來對符號位元進行解碼,其中一組或多組的軟位元的軟位元組計數以及相關重試次數可以被限制。
由於四階單元區塊中的記憶體單元的狀態可具有不同變化,因此倘若記憶體控制器110需要自非揮發性記憶體120內的四階單元區塊讀取資料的話,則記憶體控制器110可讀取記憶體單元以及解碼資料數次以嘗試校正錯誤,對於記憶體裝置100的正常使用案例來說,錯誤校正可能會成功,但是對於某個極端存取情況來說,錯誤校正可能會失敗。雖然對於記憶體裝置100的正常使用案例來說,錯誤校正可能會成功,但是每一次記憶體控制器110讀取記憶體單元
時需要將一讀取命令傳送至非揮發性記憶體120,並且非揮發性記憶體120需要一讀取繁忙時間(read busy time)來讀取符號位元或軟位元,因此,可能會降低存取高密度儲存(例如三維反及閘快閃記憶體中的四階單元區塊)的性能,本發明所提供之方法以及相關裝置可確保記憶體裝置100可在不同情況下適當地操作,尤其是,可增加整體性能。
第6A圖以及第6B圖分別為依據本發明一實施例之借助侵害位元資訊(aggressor bit information)來進行一記憶體裝置(例如第1圖所示之記憶體裝置100)的存取控制的方法流程圖的第一部分以及第二部分,其中節點A以及節點B可指示第6A圖以及第6B圖之各自的部分工作流程之間的連結。該方法可應用於第1圖所示之架構(例如電子裝置10、記憶體裝置100、記憶體控制器110以及微處理器112),並且可藉由記憶體裝置100的記憶體控制器110(例如微處理器112)來執行。
在步驟S10中,記憶體控制器110(例如微處理器112)可判斷是否接收到一主機命令(例如複數個主機命令的其一),如果是,進入步驟S11;如果否,進入步驟S10。
在步驟S11中,記憶體控制器110(例如微處理器112)可判斷該主機命令(例如步驟S10中所偵測之剛接收到的主機命令)是否為一主機讀取命令,如果是,進入步驟S12A;如果否,進入步驟S12B。主機讀取命令可指示讀取在一邏輯位址的資料DATA(r),其中符號“r”可代表對應於(或等於)進入步驟S12A之次數的一索引(index),舉例來說,當自主機裝置50接收到主機讀取命令(諸如一第一主機讀取命令)時,第一次進入步驟S12A(例如r=1);當自主機裝置50
接收到主機讀取命令(諸如一第二主機讀取命令)時,第二次進入步驟S12A(例如r=2);其餘可以此類推。為了更好的理解,無論進入第6A圖以及第6B圖所示之自步驟S13至步驟S20的多個後續部分迴圈的哪一個迴圈,索引r皆可視為包含有步驟S11、步驟S12A、步驟S13等等的至少一主迴圈的一迴圈索引,但是本發明不限於此。
在步驟S12A中,因應主機讀取命令(例如步驟S10以及步驟S11中所偵測之剛接收到的主機讀取命令),記憶體控制器110(例如微處理器112)可將一第一讀取命令傳送至非揮發性記憶體120,以嘗試根據與邏輯位址相關的一實體位址來自複數個區塊之中某個區塊內的一頁面PAGE(r)讀取資料DATA(r),其中該實體位址可指示此區塊內的頁面PAGE(r)。
舉例來說,因應主機讀取命令,記憶體控制器110(例如微處理器112)可根據上述至少一邏輯至實體位址映射表來對邏輯位址進行位址映射,以取得與邏輯位址相關的實體位址,其中邏輯位址可以是多個邏輯位址的其一,以及實體位址可以是多個實體位址的其一。由於上述至少一邏輯至實體位址映射表可包含有多個邏輯位址與多個實體位址之間的映射關係,因此記憶體控制器110(例如微處理器112)可對邏輯位址進行位址映射以決定實體位址。
在步驟S12B中,記憶體控制器110(例如微處理器112)可進行其它處理,舉例來說,當主機命令(例如步驟S10中所偵測之剛接收到的主機命令)是一主機寫入命令時,記憶體控制器110(例如微處理器112)可對非揮發性記憶體120進行資料寫入(例如資料編程)。
在步驟S13中,記憶體控制器110(例如微處理器112)可判斷自頁面PAGE(r)讀取資料DATA(r)是否成功,如果是,進入步驟S20;如果否,進入步驟S14。
在步驟S14中,因應自頁面PAGE(r)讀取資料DATA(r)不成功,記憶體控制器110(例如微處理器112)可將一第二讀取命令傳送至非揮發性記憶體120,以取得針對頁面PAGE(r)的軟解碼資訊Info_soft_decoding,並且利用解碼器(諸如低密度奇偶檢查解碼器)來根據軟解碼資訊Info_soft_decoding以進行一第一軟解碼操作,以嘗試自第一軟解碼操作取得資料DATA(r)。
在步驟S15中,記憶體控制器110(例如微處理器112)可判斷自第一軟解碼操作取得資料DATA(r)是否成功,如果是,進入步驟S20;如果否,進入步驟S16。
在步驟S16中,因應自第一軟解碼操作取得資料DATA(r)不成功,記憶體控制器110(例如微處理器112)可自對應於頁面PAGE(r)的侵害頁面PAGE_aggressor(r)讀取多個位元以作為侵害位元資訊Info_aggressor_bit,其中侵害頁面PAGE_aggressor(r)可代表與頁面PAGE(r)不同的至少一侵害頁面(例如一個或多個侵害頁面)。舉例來說,頁面PAGE(r)可對應於至少一非揮發性記憶體元件的任一個非揮發性記憶體元件(例如非揮發性記憶體元件122-1、122-2、...以及122-N的任一)內的一第一組記憶體單元,並且上述至少一侵害頁面(諸如侵害頁面PAGE_aggressor(r))可對應於該任一個非揮發性記憶體元件內與該第一組記憶體單元相鄰的一第二組記憶體單元。
在包含有步驟S17、步驟S18以及步驟S19的迴圈中,記憶體控制器110(例如微處理器112)可根據上述至少一侵害頁面(例如侵害頁面PAGE_aggressor(r))的侵害位元資訊Info_aggressor_bit來將軟解碼資訊Info_soft_decoding轉換成調整後軟解碼資訊Info_soft_decoding_adj,舉例來說,藉由利用雜訊消除器NC並且根據調整後軟解碼資訊Info_soft_decoding_adj來進行一第二軟解碼操作(例如藉由利用解碼器,諸如低密度奇偶檢查解碼器,來根據調整後軟解碼資訊Info_soft_decoding_adj進行第二軟解碼操作),以自第二軟解碼操作取得資料DATA(r),尤其是,根據至少一侵害頁面的侵害位元資訊Info_aggressor_bit來將軟解碼資訊Info_soft_decoding轉換成調整後軟解碼資訊Info_soft_decoding_adj的操作,以及根據調整後軟解碼資訊Info_soft_decoding_adj來進行第二軟解碼操作以自第二軟解碼操作取得資料DATA(r)的操作,可利用逐位元(bit-by-bit)的方式來進行。因此,記憶體控制器110可以根據侵害位元資訊Info_aggressor_bit(例如其中的多個子集,其對應於位元{Bit(0),Bit(1),...},諸如侵害位元資訊{Info_aggressor_bit(0),Info_aggressor_bit(1),...})來分別將軟解碼資訊Info_soft_decoding(例如其中子集,其對應於位元{Bit(0),Bit(1),...},諸如軟解碼資訊{Info_soft_decoding(0),Info_soft_decoding(1),...})轉換成調整後軟解碼資訊Info_soft_decoding_adj(例如其中的多個子集,其對應於位元{Bit(0),Bit(1),...},諸如調整後軟解碼資訊{Info_soft_decoding_adj(0),Info_soft_decoding_adj(1),...}),以分別自第二軟解碼操作取得資料DATA(r)(諸如其中的位元{Bit(0),Bit(1),...)。舉例來說,符號“i”可代表第6B圖所示之此迴圈的一迴圈索引,其中迴圈索引i的初始值可以等於零(為簡潔起見,標記為“i=0”),並且可利用1的增量來增加迴圈索引i(為簡潔起見,標記為“i++”)。
在步驟S17中,針對決定出資料DATA(r)的位元Bit(i),記憶體控制器110(例如微處理器112)可利用雜訊消除器NC來根據對應於位元Bit(i)的侵害位元資訊Info_aggressor_bit(諸如侵害位元資訊Info_aggressor_bit(i))將對應於位元Bit(i)的軟解碼資訊Info_soft_decoding(諸如軟解碼資訊Info_soft_decoding(i))轉換成對應於位元Bit(i)的調整後軟解碼資訊Info_soft_decoding_adj(諸如調整後軟解碼資訊Info_soft_decoding_adj(i))。
在步驟S18中,記憶體控制器110(例如微處理器112)可利用解碼器(諸如低密度奇偶檢查解碼器)來根據對應於位元Bit(i)的調整後軟解碼資訊Info_soft_decoding_adj(諸如調整後軟解碼資訊Info_soft_decoding_adj(i))進行第二軟解碼操作,以自第二軟解碼操作取得資料DATA(r)的位元Bit(i)。
在步驟S19中,記憶體控制器110(例如微處理器112)可判斷自第二軟解碼操作取得資料DATA(r)的所有位元{Bit(0),Bit(1),...}是否完成,如果是,進入步驟S20;如果否,進入步驟S17。
在步驟S20中,記憶體控制器110(例如微處理器112)可將資料DATA(r)回傳至主機裝置50。
為了更好的理解,該方法可以由第6A圖以及第6B圖所示之工作流程來闡明,但是本發明不限於此根據某些實施例,一個或多個步驟可於第6A圖以及第6B圖所示之工作流程中增加、刪除或修改。
根據某些實施例,對於資料DATA(r)的任一個位元Bit(i)來說,對應於
該任一個位元Bit(i)的軟解碼資訊Info_soft_decoding(諸如軟解碼資訊Info_soft_decoding(i))可包含有一符號位元以及多個軟位元,舉例來說,記憶體控制器110(例如微處理器112)可根據對應於該任一個位元Bit(i)的侵害位元資訊Info_aggressor_bit(諸如侵害位元資訊Info_aggressor_bit(i))來更改軟解碼資訊Info_soft_decoding(i)內的符號位元與多個軟位元的一個或多個位元,以產生對應於該任一個位元Bit(i)的調整後軟解碼資訊Info_soft_decoding_adj(諸如調整後軟解碼資訊Info_soft_decoding_adj(i)),以自第二軟解碼操作取得資料DATA(r)的該任一個位元Bit(i),為了簡潔起見,對於該些實施例的類似內容在此不再詳細描述。
第7圖為依據本發明一實施例之第6A圖以及第6B圖所示之方法的存取控制方案。為了更好的理解,可假設在鄰近於第一組記憶體單元的第二組記憶體單元之中,對於第一組記憶體單元有著兩種侵害類型(aggressor type;例如一第一侵害類型M1以及一第二侵害類型M0),其中第一侵害類型M1會以一第一方式來影響第一組記憶體單元之中的一第一群記憶體單元,以及第二侵害類型M0會以一第二方式來影響第一組記憶體單元之中的一第二群記憶體單元,但是本發明不限於此,舉例來說,侵害類型的數量可以變化。
根據本實施例,多個預定侵害類型(例如第一侵害類型M1以及第二侵害類型M0)之中的某個預定侵害類型可使得第一組記憶體單元內多群記憶體單元(例如第一群記憶體單元以及第二群記憶體單元)之中的一群記憶體單元具有對應於此預定侵害類型的一部分讀取感測電壓分布(其相對於一母集(superset)M之一讀取感測電壓分布)的一分布偏移(distribution shift),其中母集M可包含有任一個非揮發性記憶體元件內的第一組記憶體單元(例如此讀取感測
電壓分布可視為該任一個非揮發性記憶體元件內至少第一組記憶體單元的一讀取感測電壓分布,但是本發明不限於此)。舉例來說,母集M可包含有任一個非揮發性記憶體元件,並且此讀取感測電壓分布可等於該任一個非揮發性記憶體元件的一全域(global)讀取感測電壓分布,又例如,母集M可包含有非揮發性記憶體120,並且此讀取感測電壓分布可等於非揮發性記憶體120的整體讀取感測電壓分布。
如第7圖所示,第一侵害類型M1可使得第一群記憶體單元具有一第一部份讀取感測電壓分布(例如對應於圖示“M1”的曲線),尤其是,具有對應於第一侵害類型M1的第一部分讀取感測電壓分布(其相對於母集M之讀取感測電壓分布)的一第一分布偏移Shift_M_to_M1,舉例來說,對於第一群記憶體單元中的一受害記憶體單元(victim memory cell)來說,當鄰近於此受害記憶體單元的一侵害記憶體單元(aggressor memory cell)已被編程以具有沿著橫軸的較高狀態時,此侵害記憶體單元可使得此受害記憶體單元的狀態向對應於較高狀態的正方向偏移,其中偏移量可等於第一分布偏移Shift_M_to_M1。此外,第二侵害類型M0可使得第二群記憶體單元具有一第二部分讀取感測電壓分布(例如對應於圖示“M0”的曲線),尤其是,具有對應於第二侵害類型M0的第二部分讀取感測電壓分布(其相對於母集M之讀取感測電壓分布)的一第二分布偏移Shift_M_to_M0,舉例來說,對於第一群記憶體單元中的一受害記憶體單元來說,當鄰近於此受害記憶體單元的一侵害記憶體單元已被編程或抹除以具有沿著橫軸的較低狀態時,此侵害記憶體單元可使得此受害記憶體單元的狀態向對應於較低狀態的負方向偏移,其中偏移量可等於第二分布偏移Shift_M_to_M0。
針對決定出資料DATA(r)的任一個位元Bit(i),可以基於對應於某個預
定侵害類型的部分讀取感測電壓分布(其相對於任一個非揮發性記憶體元件內至少第一組記憶體單元的讀取感測電壓分布(例如非揮發性記憶體120的整體讀取感測電壓分布))的分布偏移,來進行根據至少一侵害頁面之侵害位元資訊Info_aggressor_bit內的至少一相關位元(例如侵害位元資訊Info_aggressor_bit(i))將對應於任一個位元Bit(i)的軟解碼資訊Info_soft_decoding(例如軟解碼資訊Info_soft_decoding(i))轉換成對應於任一個位元Bit(i)的調整後軟解碼資訊Info_soft_decoding_adj(例如調整後軟解碼資訊Info_soft_decoding_adj(i))的一操作,舉例來說,當此預定侵害類型代表第一侵害類型M1時,該分布偏移可代表第一分布偏移Shift_M_to_M1,又例如,當此預定侵害類型代表第二侵害類型M2時,該分布偏移可代表第二分布偏移Shtft_M_to_M0。
為了更好的理解,讀取感測電壓SIGN可代表以供決定符號位元的一讀取感測電壓,並且大於讀取感測電壓SIGN的讀取感測電壓(例如讀取感測電壓U0、讀取感測電壓U1以及讀取感測電壓U2)以及小於讀取感測電壓SIGN的讀取感測電壓(例如讀取感測電壓L0、讀取感測電壓L1以及讀取感測電壓L2)可代表用以決定軟位元的讀取感測電壓,但是本發明不限於此,舉例來說,用以決定軟位元的多個讀取感測電壓及/或該些讀取感測電壓的數量可以變化,為了簡潔起見,對於此實施例的類似內容在此不再詳細描述。
第8圖為依據本發明一實施例之第7圖所示之存取控制方案的一些實施細節。記憶體控制器110(例如微處理器112)可控制非揮發性記憶體120來分別利用對應於軟解碼控制方案的讀取感測電壓U0、讀取感測電壓U1以及讀取感測電壓U2以作為對應於第二軟解碼操作的讀取感測電壓L0_M1、讀取感測電壓SIGN_M1以及讀取感測電壓U0_M1,並且控制非揮發性記憶體120來分別利用對
應於軟解碼控制方案的讀取感測電壓L0、讀取感測電壓L1以及讀取感測電壓L2以作為對應於第二軟解碼操作的讀取感測電壓U0_M0、讀取感測電壓SIGN_M0以及讀取感測電壓L0_M0,為了簡潔起見,對於此實施例的類似內容在此不再詳細描述。
根據某些實施例,對應於母集M的軟解碼資訊可包含有用於軟解碼的1H2S軟解碼資訊(亦即一個硬資訊位元(hard-information bit)以及兩個軟資訊位元(soft-information bit)),倘若不考慮多個預定侵害類型(例如第一侵害類型M1以及第二侵害類型M2)而進行軟解碼的話,則可能會發生許多高可靠度錯誤(high reliability error,HRE),其顯著地減少了軟解碼的錯誤校正能力。根據本發明方法來操作的本發明裝置(例如記憶體裝置100以及記憶體控制器110)可藉由諸如雜訊消除器NC來將1H2S軟解碼資訊分類為對應於第一部分讀取感測電壓分布的1H1S軟解碼資訊(亦即一個硬資訊位元以及一個軟資訊位元)以及對應於第二部分讀取感測電壓分布的1H1S軟解碼資訊,並且接著可將其合併回完整的1H1S軟解碼,由於已經顯著地減少高可靠度錯誤的數量,因此即使軟資訊位元計數已經被減少,還是可大幅地增加錯誤校正能力,舉例來說,雜訊消除器NC的操作可以根據以下虛擬碼(pseudo code)來設計:
但是本發明不限於此,在某些範例中,可以增加對應於母集M之軟解碼資訊的軟資訊位元計數,並且可以相對應地增加對應於多個部分讀取感測電壓分布之中的任一個部分讀取感測電壓分布的軟解碼資訊之軟資訊位元計數,因此,可以進一步地增加錯誤校正能力,為了簡潔起見,對於該些實施例的類似內容在此不再詳細描述。
第9圖為依據本發明一實施例之第6A圖以及第6B圖所示之方法的軟解碼資訊轉換控制方案。如第9圖所示,一系列的預定電壓範圍碼900,諸如8個電壓範圍碼{{1,1,1},{1,1,0},{1,0,1},{1,0,0},{0,0,0},{0,0,1},{0,1,0},{0,1,1}},可分別用來代表非揮發性記憶體120的讀取感測電壓Vth的一系列電壓範圍,其中該系列的預定電壓範圍碼900可作為軟解碼資訊的一範例,但是本發明不限於此。尤其是,該系列的預定電壓範圍碼900之中的任一個預定電壓範圍碼可包含有一符號位元以及多個軟位元(例如兩個軟位元),此外,該系列的預定電壓範圍碼900的一第一副本(copy)可具有與第一分布偏移Shift_M_to_M1相同的偏移,並且該系列的預定電壓範圍碼900的一第二副本可具有與第二分布偏移Shift_M_to_M0相同的偏移,舉例來說,可利用第一分布偏移Shift_M_to_M1來偏移該系列的預定電壓範圍碼900內的主要預定電壓範圍碼910,以取得在第一副本中的主要預定電壓範圍碼921,並且可利用第二分布偏移Shift_M_to_M0來偏移該系列的預定電壓範圍碼900內的主要預定電壓範圍碼910,以取得在第二副本中的主要預定電壓範圍碼920。
對於資料DATA(r)的任一個位元Bit(i)來說,對應於該任一個位元Bit(i)的軟解碼資訊Info_soft_decoding(諸如軟解碼資訊Info_soft_decoding(i))可包含有該系列的預定電壓範圍碼900之中的一第一預定電壓範圍碼(諸如8個電壓範圍碼{{1,1,1},{1,1,0},{1,0,1},{1,0,0},{0,0,0},{0,0,1},{0,1,0},{0,1,1}}的其一),於根據至少一侵害頁面的侵害位元資訊Info_aggressor_bit來將軟解碼資訊Info_soft_decoding轉換成調整後軟解碼資訊Info_soft_decoding_adj的期間,針對決定出資料DATA(r)的任一個位元Bit(i),記憶體控制器110(例如微處理器112)可根據侵害位元資訊Info_aggressor_bit內的至少一相對應的位元(例如侵害位元資訊Info_aggressor_bit(i))來將第一預定電壓範圍碼切換(switch)成該系列的預定電壓範圍碼900之中的一第二預定電壓範圍碼,以作為對應於該任一個位元Bit(i)的調整後軟解碼資訊Info_soft_decoding_adj(諸如調整後軟解碼資訊Info_soft_decoding_adj(i))。在第一副本以及第二副本中的任一者是該系列的預定電壓範圍碼900之一偏移後版本的情況中,第二預定電壓範圍碼可以是8個電壓範圍碼{{1,1,1},{1,1,0},{1,0,1},{1,0,0},{0,0,0},{0,0,1},{0,1,0},{0,1,1}}中的另一個。
如第9圖所示,主要預定電壓範圍碼921,諸如對應於4個電壓範圍(例如藉由讀取感測電壓L0_M1、讀取感測電壓SIGH_M1以及讀取感測電壓U0_M1所劃分的電壓範圍)的4個電壓範圍碼{{1,0,1},{1,0,0},{0,0,0},{0,0,1}}),可以與該系列的預定電壓範圍碼900的右半部分相關,諸如對應於4個相同電壓範圍(例如藉由讀取感測電壓U0、讀取感測電壓U1以及讀取感測電壓U2所劃分的電壓範圍)的4個電壓範圍碼{{0,0,0},{0,0,1},{0,1,0},{0,1,1}},因此,對於第一侵害類型M1的案例來說,第二預定電壓範圍碼可以是主要預定電壓範圍碼921的其一(例如4個電壓範圍碼{{1,0,1},{1,0,0},{0,0,0},{0,0,1}}的任
一)。此外,主要預定電壓範圍碼920,諸如對應於4個電壓範圍(例如藉由讀取感測電壓L0_M0、讀取感測電壓SIGH_M0以及讀取感測電壓U0_M0所劃分的電壓範圍)的4個電壓範圍碼{{1,0,1},{1,0,0},{0,0,0},{0,0,1}},可以與該系列的預定電壓範圍碼900的左半部分相關,諸如對應於4個相同電壓範圍(例如藉由讀取感測電壓L2、讀取感測電壓L1以及讀取感測電壓L0所劃分的電壓範圍)的4個電壓範圍碼{{1,1,1},{1,1,0},{1,0,1},{1,0,0}},因此,對於第二侵害類型M2的案例來說,第二預定電壓範圍碼可以是主要預定電壓範圍碼920的其一(例如4個電壓範圍碼{{1,0,1},{1,0,0},{0,0,0},{0,0,1}}的任一)。
對於第一侵害類型M1的案例來說,在第二預定電壓範圍碼可以是主要預定電壓範圍碼921之其一的情況中,記憶體控制器110(例如微處理器112)可以將該系列的預定電壓範圍碼900中的第一預定電壓範圍碼(例如4個電壓範圍碼{{0,0,0},{0,0,1},{0,1,0},{0,1,1}}的任一)轉換成對應於主要預定電壓範圍碼921之中相同電壓範圍的第二預定電壓範圍碼(例如4個電壓範圍碼{1,0,1},{1,0,0},{0,0,0},{0,0,1}}的一相對應的電壓範圍碼),尤其是,在第6B圖所示之迴圈的不同迭代(iteration)中的步驟S17中分別將4個電壓範圍碼{0,0,0},{0,0,1},{0,1,0},{0,1,1}}轉換成4個電壓範圍碼{1,0,1},{1,0,0},{0,0,0},{0,0,1}}。對於第二侵害類型M0的案例來說,在第二預定電壓範圍碼可以是主要預定電壓範圍碼920之其一的情況中,記憶體控制器110(例如微處理器112)可以將該系列的預定電壓範圍碼900中的第一預定電壓範圍碼(例如4個電壓範圍碼{{1,1,1},{1,1,0},{1,0,1},{1,0,0}}的任一)轉換成對應於主要預定電壓範圍碼920之中相同電壓範圍的第二預定電壓範圍碼(例如4個電壓範圍碼{1,0,1},{1,0,0},{0,0,0},{0,0,1}}的一相對應的電壓範圍碼),尤其是,在第6B圖所示之迴圈的不同迭代(iteration)中的步驟S17中分別將4個電壓範圍碼{1,1,1},
{1,1,0},{1,0,1},{1,0,0}}轉換成4個電壓範圍碼{1,0,1},{1,0,0},{0,0,0},{0,0,1}}。
對於多個預定侵害類型的任一個預定侵害類型來說,第二預定電壓範圍碼(其相對於該系列的預定電壓範圍碼900之中的第一預定電壓範圍碼)的排序(rank)的一排序偏移(rank shift)可與對應於此預定侵害類型的部分讀取感測電壓分布(其相對於母集M(例如任一個非揮發性記憶體元件內的至少第一組記憶體單元)的讀取感測電壓分布))的分布偏移相關,如第9圖所示,對於第一侵害類型M1來說,相對於該系列的預定電壓範圍碼900之中第一預定電壓範圍碼(例如電壓範圍碼{0,0,0})的第二預定電壓範圍碼(例如電壓範圍碼{1,0,1})之排序的一第一排序偏移可與對應於第一侵害類型M1的第一部分讀取感測電壓分布(其相對於母集M(例如任一個非揮發性記憶體元件內的至少第一組記憶體單元)的讀取感測電壓分布)的分布偏移相關,尤其是,可視為對應於第一侵害類型M1的第一部分讀取感測電壓分布的第一分布偏移Shift_M_to_M1的一逆偏移(inverse shift)。此外,對於第二侵害類型M0來說,相對於該系列的預定電壓範圍碼900之中第一預定電壓範圍碼(例如電壓範圍碼{1,0,0})的第二預定電壓範圍碼(例如電壓範圍碼{0,0,1})之排序的一第二排序偏移可與對應於第二侵害類型M0的第二部分讀取感測電壓分布(其相對於母集M(例如任一個非揮發性記憶體元件內的至少第一組記憶體單元)的讀取感測電壓分布)的分布偏移相關,尤其是,可視為對應於第二侵害類型M0的第二部分讀取感測電壓分布的第二分布偏移Shift_M_to_M0的一逆偏移。為簡潔起見,對於此實施例的類似內容在此不再詳細描述。
第10圖為依據本發明一實施例之第6A圖以及第6B圖所示之方法的
數位訊號處理控制方案。數位訊號處理引擎115可包含有一數位訊號處理緩衝器(為簡潔起見,在第10圖中標記為“DSP緩衝器”),並且該數位訊號處理緩衝器可包含有多個資料緩衝器DB以及多個侵害緩衝器AB,舉例來說,多個資料緩衝器DB可包含有資料緩衝器#0、資料緩衝器#1、...以及資料緩衝器#6,並且多個侵害緩衝器AB可包含有侵害緩衝器#0、侵害緩衝器#1、...以及侵害緩衝器#6,但是本發明不限於此,根據某些實施例,資料緩衝器#0、侵害緩衝器#1等等的數量及/或侵害緩衝器#0等等的數量可以改變。此外,編碼器與解碼器電路ENDEC可包含有解碼器(諸如低密度奇偶檢查解碼器;為簡潔起見,在第10圖中標記為“LDPC緩衝器”),記憶體控制器110(例如微處理器112及/或數位訊號處理引擎115)可利用低密度奇偶檢查解碼器的解碼器輸出(例如解碼結果)來進行錯誤校正,如第10圖所示,雜訊消除器NC可用以分別自多個資料緩衝器DB以及多個侵害緩衝器AB接收資料頁面以及侵害頁面,尤其是,根據該方法的不同控制方案(例如第7圖所示之存取控制方案以及第9圖所示之軟解碼資訊轉換控制方案)來操作以進行雜訊消除,為了簡潔起見,對於此實施例的類似內容在此不再詳細描述。
第11圖為依據本發明一實施例之第10圖所示之數位訊號處理控制方案的一些實施細節。在第10圖所示之數位訊號處理引擎115的架構中,雜訊消除器NC可包含有至少一選取模組(例如一個或多個選取模組,諸如第11圖所示之選取模組),選取模組可包含有多個多工器(multiplexer,MUX),其用以根據多個選取位元(例如選取位元ax,i以及選取位元ay,i)來選取多個輸入(例如輸入位元vj,i、輸入位元vk,i以及輸入位元vl,i)的其一,以作為一選取結果(例如一最終位元vfj,i)。
為了更好的理解,假設多個侵害(aggressor;例如儲存於侵害記憶體單元的位元資訊)可被歸類成一侵害集(aggressor set)A如下:A={A0,A1,A2,A3,A4,...};其中侵害集A自最強干擾類型(strongest interference type;例如侵害A0)開始並且自最強干擾侵害(strongest interference aggressor;其導致最強干擾)開始排列至最弱干擾侵害(weakest interference aggressor;其導致最弱干擾),但是本發明不限於此,在某些範例中,侵害集A中的侵害的數量及/或其中的排列可以改變,此外,倘若至少一最弱干擾侵害(其導致最弱干擾)不再具有太大的影響的話,則該至少一最弱干擾侵害可以被刪除。
舉例來說,侵害集A以及一受害集(victim set)V(例如用以分類儲存於受害記憶體單元中的位元資訊的集合)可以表示如下:A={A0,A1};以及V={V0,V1,V2,V3,...,Vj};其中A0以及A1的任一可代表一編碼字元(codeword),其作為一干擾來源,並且V0、V1等等可代表藉由利用不同讀取感測電壓所讀取的一編碼字元,此外,上述侵害集A以及受害集V的數量可以表示如下:A0={a0,0,a0,1,a0,2,a0,3,....a0,CWLENGTH};A1={a1,0,a1,1,a1,2,a1,3,....a1,CWLENGTH};V0={v0,0,v0,1,v0,2,v0,3,....v0,CWLENGTH};V1={v1,0,v1,1,v1,2,v1,3,....v1,CWLENGTH};...以及Vj={vj,0,vj,1,vj,2,vj,3,....vj,CWLENGTH};其中符號“CWLENGTH”可代表該些編碼字元的任一個編碼字元的編碼字元長度。此外,侵害集A中的侵害A0以及侵害A1的各自的位元可以被輸入至選取模
組以作為選取位元ax,i以及選取位元ay,i,並且受害集V中的受害(victim)V0、V1等等可被輸入至選取模組以作為輸入位元vj,i、輸入位元vk,i以及輸入位元vl,i,因此選取模組可以輸出最終處理結果V_final(例如最終位元{vfj,i|i=0,1,...}),為了簡潔起見,對於此實施例的類似內容在此不再詳細描述。
根據某些實施例,在第2圖所示之三維反及閘快閃記憶體中,對於第一組記憶體單元的某個記憶體單元來說,第二組記憶體單元可包含有在對應於Z軸方向中鄰近於此記憶體單元的所有記憶體單元,諸如鄰近於此記憶體單元的兩個記憶體單元,但是本發明不以此為限,根據某些實施例,在第2圖所示之三維反及閘快閃記憶體中,對於第一組記憶體單元的某個記憶體單元來說,第二組記憶體單元可包含有在分別對應於X軸、Y軸以及Z軸之三個方向的一個或多個方向中鄰近於此記憶體單元的所有記憶體單元,舉例來說,第二組記憶體單元可包含有2個記憶體單元,其在分別對應於X軸、Y軸以及Z軸之三個方向的任一個方向中鄰近於此記憶體單元,又例如,第二組記憶體單元可包含有6個記憶體單元,其在分別對應於X軸、Y軸以及Z軸之三個方向中鄰近於此記憶體單元,為了簡潔起見,對於該些實施例的類似內容在此不再詳細描述。
根據某些實施例,在一平面(planar)或二維(2D)反及閘快閃記憶體中,對於第一組記憶體單元的某個記憶體單元來說,第二組記憶體單元可包含有在分別對應於平面架構之兩軸的兩個方向的一個或多個方向中鄰近於此記憶體單元的所有記憶體單元,舉例來說,第二組記憶體單元可包含有2個記憶體單元,其在分別對應於兩軸之兩個方向的任一個方向中鄰近於此記憶體單元,又例如,第二組記憶體單元包含有4個記憶體單元,其在分別對應於兩軸之兩個方向中鄰近於此記憶體單元,為了簡潔起見,對於該些實施例的類似內容在此不
再詳細描述。
本發明的好處在於本發明所提供之方法以及相關裝置可確保記憶體裝置在各種不同情況下都可以適當地操作,其中上述裝置的範例可包含有記憶體控制器110、記憶體裝置100等等。舉例來說,使用中的記憶體裝置之最極端存取情況可包含有使用過程中突發斷電以及環境溫度的急劇變化(其通常發生在高緯度國家或地區),為了更好的理解,假設當突發斷電發生時,可能無法完成記憶體裝置100的一資料保護過程,舉例來說,一跨區塊陣列(cross-block array)的同位資訊(parity information;例如容錯式磁碟陣列同位(Redundant Array of Independent Disks parity,RAID parity))可能無法及時地被寫入,其中由於突發斷電,在某個實體位置上的某個區塊中一個或多個先前所儲存的頁面可能會損壞,盡可能地多讀取軟資訊以及使用一較強解碼演算法以嘗試恢復資料可能會有所幫助,要注意的是,根據該方法所操作的記憶體裝置100(例如記憶體控制器100)可避免資料恢復放棄(data recovery abandonment)問題,此外,由於記憶體裝置100(例如記憶體控制器110)不需要利用任一個跨區塊檢查碼來進入一最終資料恢復過程,因此根據該方法所操作的記憶體裝置100(例如記憶體控制器110)可避免壞區塊(bad block)問題,並且可避免減少可取得之資料儲存空間的問題。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
S10,S11,S12A,S12B,S13,S14,S15,S20:步驟
Claims (10)
- 一種借助侵害位元資訊來進行一記憶體裝置的存取控制的方法,該方法系應用於該記憶體裝置的一控制器,該記憶體裝置包含有該控制器以及一非揮發性記憶體,該非揮發性記憶體包含有至少一非揮發性記憶體元件,該至少一非揮發性記憶體元件包含有複數個區塊,該方法包含有:自一主機裝置接收一第一主機讀取命令,其中該第一主機讀取命令指示讀取在一第一邏輯位址的第一資料;因應該第一主機讀取命令,將一第一讀取命令傳送至該非揮發性記憶體,以嘗試根據與該第一邏輯位址相關的一第一實體位址來自該複數個區塊之中的一第一區塊內的一第一頁面讀取該第一資料,其中該第一實體位址指示該第一區塊內的該第一頁面,以及自該第一頁面讀取該第一資料係不成功的;因應自該第一頁面讀取該第一資料係不成功的,將一第二讀取命令傳送至該非揮發性記憶體以取得針對該第一頁面的軟解碼資訊,並且根據該軟解碼資訊進行一第一軟解碼操作,以嘗試自該第一軟解碼操作取得該第一資料,其中自該第一軟解碼操作取得該第一資料係不成功的;因應自該第一軟解碼操作取得該第一資料係不成功的,自與該第一頁面不同之至少一侵害頁面讀取多個位元以作為該侵害位元資訊,其中該第一頁面對應於該至少一非揮發性記憶體元件之任一個非揮發性記憶體元件內的一第一組記憶體單元,以及該至少一侵害頁面對應於一第二組記憶體單元,其相鄰於該任一個非揮發性記憶體元件內的該第一組記憶體單元;根據該至少一侵害頁面的該侵害位元資訊來將該軟解碼資訊轉換成調整後軟解碼資訊;以及 根據該調整後軟解碼資訊來進行一第二軟解碼操作,以自該第二軟解碼操作取得該第一資料;該方法另包含有:因應該第一主機讀取命令,根據至少一邏輯至實體位址映射表來對該第一邏輯位址進行位址映射,以取得與該第一邏輯位址相關的該第一實體位址,其中該至少一邏輯至實體位址映射表包含有多個邏輯位址與多個實體位址之間的映射關係,該第一邏輯位址係該多個邏輯位址的其一,以及該第一實體位址係該多個實體位址的其一。
- 如申請專利範圍第1項所述之方法,其中對於該第一資料的任一個位元來說,對應於該任一個位元的該軟解碼資訊包含有一符號位元以及多個軟位元。
- 如申請專利範圍第1項所述之方法,其中一系列的預定電壓範圍碼被用來分別代表該非揮發性記憶體的一讀取感測電壓的一系列的電壓範圍;以及對於該第一資料的任一個位元來說,對應於該任一個位元的該軟解碼資訊包含有在該系列的預定電壓範圍碼之中的一第一預定電壓範圍碼。
- 如申請專利範圍第3項所述之方法,其中根據該至少一侵害頁面的該侵害位元資訊來將該軟解碼資訊轉換成該調整後軟解碼資訊的步驟包含有:針對決定出該第一資料的該任一個位元,根據該侵害位元資訊內的一相對應的位元來將該第一預定電壓範圍碼切換至在該系列的預定電壓範圍碼之中的一第二預定電壓範圍碼,以供作為對應於該任一個位元的該 調整後軟解碼資訊。
- 如申請專利範圍第4項所述之方法,其中相對於該系列的預定電壓範圍碼之中該第一預定電壓範圍碼的該第二預定電壓範圍碼的排序的一排序偏移與相對於該任一個非揮發性記憶體元件內至少該第一組記憶體單元的一讀取感測電壓分布並且對應於一預定侵害類型的一部分讀取感測電壓分布的一分布偏移有關。
- 如申請專利範圍第3項所述之方法,其中在該系列的預定電壓範圍碼之中的任一個預定電壓範圍碼包含有一符號位元以及多個軟位元。
- 如申請專利範圍第1項所述之方法,其中根據該至少一侵害頁面的該侵害位元資訊來將該軟解碼資訊轉換成該調整後軟解碼資訊,以及根據該調整後軟解碼資訊來進行該第二軟解碼操作以自該第二軟解碼操作取得該第一資料,是利用逐位元的方式來進行。
- 如申請專利範圍第7項所述之方法,其中針對決定出該第一資料的任一個位元,基於相對於該任一個非揮發性記憶體元件內的至少該第一組記憶體單元的一讀取感測電壓分布並且對應於一預定侵害類型的一部分讀取感測電壓分布的一分布偏移,來根據該至少一侵害頁面的該侵害位元資訊內的至少一相關位元,將對應於該任一個位元的該軟解碼資訊轉換成對應於該任一個位元的該調整後軟解碼資訊。
- 一種記憶體裝置,包含有: 一非揮發性記憶體,用以儲存資訊,其中該非揮發性記憶體包含有至少一非揮發性記憶體元件,以及該至少一非揮發性記憶體元件包含有複數個區塊;以及一控制器,耦接於該非揮發性記憶體,並且用以控制該記憶體裝置的操作,其中該控制器包含有:一處理電路,用以根據來自一主機裝置的複數個主機命令來控制該控制器,以允許該主機裝置透過該控制器來存取該非揮發性記憶體;其中:該控制器自該主機裝置接收一第一主機讀取命令,其中該第一主機讀取命令指示讀取在一第一邏輯位址的第一資料,以及該第一主機讀取命令係該複數個主機命令的其一;因應該第一主機讀取命令,該控制器將一第一讀取命令傳送至該非揮發性記憶體,以嘗試根據與該第一邏輯位址相關的一第一實體位址來自該複數個區塊之中的一第一區塊內的一第一頁面讀取該第一資料,其中該第一實體位址指示該第一區塊內的該第一頁面,以及自該第一頁面讀取該第一資料係不成功的;因應自該第一頁面讀取該第一資料係不成功的,該控制器將一第二讀取命令傳送至該非揮發性記憶體以取得針對該第一頁面的軟解碼資訊,並且根據該軟解碼資訊進行一第一軟解碼操作,以嘗試自該第一軟解碼操作取得該第一資料,其中自該第一軟解碼操作取得該第一資料係不成功的;因應自該第一軟解碼操作取得該第一資料係不成功的,該控制器自與該第一頁面不同之至少一侵害頁面讀取多個位元以作為該侵害位元資 訊,其中該第一頁面對應於該至少一非揮發性記憶體元件之任一個非揮發性記憶體元件內的一第一組記憶體單元,以及該至少一侵害頁面對應於一第二組記憶體單元,其相鄰於該任一個非揮發性記憶體元件內的該第一組記憶體單元;該控制器根據該至少一侵害頁面的該侵害位元資訊來將該軟解碼資訊轉換成調整後軟解碼資訊;以及該控制器根據該調整後軟解碼資訊來進行一第二軟解碼操作,以自該第二軟解碼操作取得該第一資料;其中因應該第一主機讀取命令,該控制器另根據至少一邏輯至實體位址映射表來對該第一邏輯位址進行位址映射,以取得與該第一邏輯位址相關的該第一實體位址,其中該至少一邏輯至實體位址映射表包含有多個邏輯位址與多個實體位址之間的映射關係,該第一邏輯位址係該多個邏輯位址的其一,以及該第一實體位址係該多個實體位址的其一。
- 一種記憶體裝置的控制器,該記憶體裝置包含有該控制器以及一非揮發性記憶體,該非揮發性記憶體包含有至少一非揮發性記憶體元件,該至少一非揮發性記憶體元件包含有複數個區塊,該控制器包含有:一處理電路,用以根據來自一主機裝置的複數個主機命令來控制該控制器,以允許該主機裝置透過該控制器存取該非揮發性記憶體;其中:該控制器自該主機裝置接收一第一主機讀取命令,其中該第一主機讀取命令指示讀取在一第一邏輯位址的第一資料,以及該第一主機讀取命令係該複數個主機命令的其一;因應該第一主機讀取命令,該控制器將一第一讀取命令傳送至該非揮發性 記憶體,以嘗試根據與該第一邏輯位址相關的一第一實體位址來自該複數個區塊之中的一第一區塊內的一第一頁面讀取該第一資料,其中該第一實體位址指示該第一區塊內的該第一頁面,以及自該第一頁面讀取該第一資料係不成功的;因應自該第一頁面讀取該第一資料係不成功的,該控制器將一第二讀取命令傳送至該非揮發性記憶體以取得針對該第一頁面的軟解碼資訊,並且根據該軟解碼資訊進行一第一軟解碼操作,以嘗試自該第一軟解碼操作取得該第一資料,其中自該第一軟解碼操作取得該第一資料係不成功的;因應自該第一軟解碼操作取得該第一資料係不成功的,該控制器自與該第一頁面不同之至少一侵害頁面讀取多個位元以作為該侵害位元資訊,其中該第一頁面對應於該至少一非揮發性記憶體元件之任一個非揮發性記憶體元件內的一第一組記憶體單元,以及該至少一侵害頁面對應於一第二組記憶體單元,其相鄰於該任一個非揮發性記憶體元件內的該第一組記憶體單元;該控制器根據該至少一侵害頁面的該侵害位元資訊來將該軟解碼資訊轉換成調整後軟解碼資訊;以及該控制器根據該調整後軟解碼資訊來進行一第二軟解碼操作,以自該第二軟解碼操作取得該第一資料;其中因應該第一主機讀取命令,該控制器另根據至少一邏輯至實體位址映射表來對該第一邏輯位址進行位址映射,以取得與該第一邏輯位址相關的該第一實體位址,其中該至少一邏輯至實體位址映射表包含有多個邏輯位址與多個實體位址之間的映射關係,該第一邏輯位址係該多個邏輯位址的其一,以及該第一實體位址係該多個實體位址的其一。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/572,635 | 2022-01-11 | ||
US17/572,635 US11630590B1 (en) | 2022-01-11 | 2022-01-11 | Method and apparatus for performing access control of memory device with aid of aggressor bit information |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI805450B true TWI805450B (zh) | 2023-06-11 |
TW202328927A TW202328927A (zh) | 2023-07-16 |
Family
ID=82702854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111126694A TWI805450B (zh) | 2022-01-11 | 2022-07-15 | 借助侵害位元資訊來進行記憶體裝置的存取控制的方法、記憶體裝置以及記憶體裝置的控制器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11630590B1 (zh) |
EP (1) | EP4213396A1 (zh) |
CN (1) | CN116469437A (zh) |
TW (1) | TWI805450B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120230104A1 (en) * | 2011-03-10 | 2012-09-13 | Tae-Young Kim | Non-volatile memory device and read method thereof |
TW201403318A (zh) * | 2012-07-02 | 2014-01-16 | Infomicro Electronics Shenzhen Ltd | 具耐用轉換層並能轉移暫存讓記憶體耐磨損的硬碟驅動器 |
TW201919064A (zh) * | 2017-11-10 | 2019-05-16 | 韓商愛思開海力士有限公司 | 記憶體控制器、包括其的半導體記憶系統以及驅動方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI541819B (zh) * | 2013-12-30 | 2016-07-11 | 慧榮科技股份有限公司 | 用來進行錯誤更正之方法、記憶裝置、與控制器 |
US9836351B2 (en) * | 2016-03-21 | 2017-12-05 | Nandext Srl | Method for decoding bits in a solid state drive, and related solid state drive |
US9589659B1 (en) * | 2016-05-25 | 2017-03-07 | Micron Technology, Inc. | Pre-compensation of memory threshold voltage |
US10877840B2 (en) * | 2018-08-02 | 2020-12-29 | SK Hynix Inc. | Dynamic neighbor and bitline assisted correction for NAND flash storage |
CN111798902A (zh) * | 2020-06-28 | 2020-10-20 | 山东华芯半导体有限公司 | 一种获得电荷俘获型3d nand闪存软信息的方法 |
-
2022
- 2022-01-11 US US17/572,635 patent/US11630590B1/en active Active
- 2022-07-15 TW TW111126694A patent/TWI805450B/zh active
- 2022-07-25 EP EP22186766.6A patent/EP4213396A1/en active Pending
- 2022-10-08 CN CN202211230672.2A patent/CN116469437A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120230104A1 (en) * | 2011-03-10 | 2012-09-13 | Tae-Young Kim | Non-volatile memory device and read method thereof |
TW201403318A (zh) * | 2012-07-02 | 2014-01-16 | Infomicro Electronics Shenzhen Ltd | 具耐用轉換層並能轉移暫存讓記憶體耐磨損的硬碟驅動器 |
TW201919064A (zh) * | 2017-11-10 | 2019-05-16 | 韓商愛思開海力士有限公司 | 記憶體控制器、包括其的半導體記憶系統以及驅動方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202328927A (zh) | 2023-07-16 |
US11630590B1 (en) | 2023-04-18 |
CN116469437A (zh) | 2023-07-21 |
EP4213396A1 (en) | 2023-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10157098B2 (en) | Flash memory apparatus and storage management method for flash memory | |
KR102025263B1 (ko) | 메모리 시스템 및 그것의 읽기 교정 방법 | |
KR101312146B1 (ko) | Nand 메모리들을 위한 관리 데이터의 프로그래밍 | |
US9442662B2 (en) | Device and method for managing die groups | |
TWI781568B (zh) | 快閃記憶體控制器以及用來存取快閃記憶體模組的方法 | |
US8281061B2 (en) | Data conditioning to improve flash memory reliability | |
US11050438B2 (en) | Memory controller | |
US10268546B2 (en) | Non-volatile memory devices and controllers | |
TWI730661B (zh) | 用來藉助於資訊排列進行記憶裝置的存取管理的方法、記憶裝置及其控制器、以及電子裝置 | |
CN111564172B (zh) | 非易失性半导体存储装置 | |
US10133645B2 (en) | Data recovery in three dimensional non-volatile memory array after word line short | |
CN111048140A (zh) | 错误校正电路、存储器控制器及存储器系统 | |
CN109857584B (zh) | 于记忆装置进行访问控制的方法、记忆装置和其控制器 | |
US11106518B2 (en) | Failure mode study based error correction | |
KR20210014564A (ko) | 비휘발성 메모리에서 에러 정정을 위한 패스트 페일 지원 | |
CN112084119A (zh) | 存储装置、主机装置以及操作存储装置和主机装置的方法 | |
US20110154162A1 (en) | Data writing method for a flash memory, and flash memory controller and flash memory storage apparatus using the same | |
TWI805450B (zh) | 借助侵害位元資訊來進行記憶體裝置的存取控制的方法、記憶體裝置以及記憶體裝置的控制器 | |
CN113628655B (zh) | 用以存取闪存模块的方法、闪存控制器与电子装置 | |
US11145372B2 (en) | Decoding method, memory controlling circuit unit, and memory storage device | |
US11508446B2 (en) | Method for accessing flash memory module and associated flash memory controller and electronic device | |
US11050442B2 (en) | Reducing the latency of a syndrome-based quasi-cyclic decoder | |
US10936248B2 (en) | Data writing method with verifying a part of data, memory controlling circuit unit and memory storage device | |
KR20230064279A (ko) | 메모리 시스템에서 데이터를 복구하는 장치 및 방법 | |
KR20220081610A (ko) | 컨트롤러 및 상기 컨트롤러를 포함하는 메모리 시스템 |