TW202008369A - 快閃記憶體控制器以及用來存取快閃記憶體模組的方法 - Google Patents
快閃記憶體控制器以及用來存取快閃記憶體模組的方法 Download PDFInfo
- Publication number
- TW202008369A TW202008369A TW108125181A TW108125181A TW202008369A TW 202008369 A TW202008369 A TW 202008369A TW 108125181 A TW108125181 A TW 108125181A TW 108125181 A TW108125181 A TW 108125181A TW 202008369 A TW202008369 A TW 202008369A
- Authority
- TW
- Taiwan
- Prior art keywords
- flash memory
- bit
- memory
- memory cell
- memory module
- Prior art date
Links
Images
Classifications
-
- 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/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/08—Address circuits; Decoders; Word-line control circuits
-
- 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
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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
-
- 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/5628—Programming or writing circuits; Data input 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/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
- 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
- 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/26—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/26—Sensing or reading circuits; Data output circuits
- G11C16/28—Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/14—Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Probability & Statistics with Applications (AREA)
- Read Only Memory (AREA)
Abstract
本發明提供一種用來存取一快閃記憶體模組的方法,其中該快閃記憶體模組包含至少一快閃記憶體晶片,每一快閃記憶體晶片包含複數個區塊,每一區塊包含複數個頁面,以及該方法包含以下步驟:發送一讀取指令至該快閃記憶體模組以請求至少一記憶單元上的資料;自該快閃記憶體模組接收該至少一記憶單元的複數個記憶細胞的多位元資訊;以及分析該複數個記憶細胞的該多位元資訊以取得該複數個記憶細胞的一臨界電壓分佈以供決定一解碼程序。
Description
本發明係關於快閃記憶體的存取控制,尤指一種用來進行快閃記憶體模組的存取管理的方法、相關的快閃記憶體控制器以及電子裝置。
近年來由於記憶體的技術不斷地發展,各種可攜式或非可攜式記憶裝置(例如:分別符合SD/MMC、CF、MS、XD及UFS標準之記憶卡;又例如:固態硬碟(solid state drive, SSD);又例如:分別符合UFS及EMMC規格之嵌入式(embedded)記憶裝置)被廣泛地實施於諸多應用中。因此,這些記憶裝置中之記憶體的存取控制遂成為相當熱門的議題。
以常用的NAND型快閃記憶體而言,其主要可包含單階細胞(single level cell, SLC)與多階細胞(multiple level cell, MLC)兩大類之快閃記憶體。單階細胞快閃記憶體中之每個被當作記憶細胞(memory cell)的電晶體只有兩種電荷值,分別用來表示邏輯值0與邏輯值1。另外,多階細胞快閃記憶體中之每個被當作記憶細胞的電晶體的儲存能力則被充分利用,係採用較高的電壓來驅動,以透過不同級別的電壓在一個電晶體中記錄至少兩位元的資訊(諸如00、01、11、10)。理論上,多階細胞快閃記憶體的記錄密度可以達到單階細胞快閃記憶體的記錄密度之至少兩倍,這對於曾經在發展過程中遇到瓶頸的NAND型快閃記憶體之相關產業而言,是非常好的消息。
相較於單階細胞快閃記憶體,由於多階細胞快閃記憶體之價格較便宜,並且在有限的空間裡可提供較大的容量,故多階細胞快閃記憶體很快地成為市面上之記憶裝置競相採用的主流。然而,多階細胞快閃記憶體的不穩定性所導致的問題也一一浮現。為了確保在記憶裝置中對快閃記憶體之存取控制能符合相關規範,快閃記憶體的控制器通常備有某些管理機制以妥善地管理資料之存取。
依據相關技術,具備上列管理機制的記憶裝置仍有不足之處。例如,當三階細胞(triple level cell, TLC)被應用於記憶裝置時,會有位元錯誤率增加等問題。雖然針對來自三階細胞快閃記憶體的讀取資料之傳統感測方案已被提出來嘗試解決這些問題,但在具有四階細胞(Quadruple level cell, QLC)快閃記憶體的記憶裝置上並不管用。尤其,傳統感測方案對於在四階細胞快閃記憶體中之每記憶細胞的高階儲存電位(high-level per memory cell)並不好。因此,需要一種新穎的方法以及相關架構,以在沒有副作用或較不會帶來副作用的強況下加強整體效能。
本發明之一目的在於提供一種用來進行一記憶裝置之存取管理的方法,即使在一高密度儲存排列下依然能有效率地取得足夠的資訊供解碼運作之用以解決上述問題。
本發明一實施例揭示了一種快閃記憶體控制器,其中該快閃記憶體控制器耦接至一快閃記憶體模組,該快閃記憶體模組包含至少一快閃記憶體晶片,每一快閃記憶體晶片包含複數個區塊,每一區塊包含複數個頁面,以及該快閃記憶體控制器包含一記憶體、一微處理器以及一控制邏輯電路。該記憶體係用來儲存一程式碼,而該微處理器係用來執行該程式碼以透過該控制邏輯電路來存取該快閃記憶體模組。在該快閃記憶體控制器的運作中,在該微處理器發送一讀取指令至該快閃記憶體模組以請求至少一記憶單元(memory unit)上的資料以後,該控制邏輯電路自該快閃記憶體模組接收該至少一記憶單元的複數個記憶細胞(memory cell)的多位元資訊,以及該控制邏輯電路分析該複數個記憶細胞的該多位元資訊以取得該複數個記憶細胞的一臨界電壓分佈以供決定一解碼程序。
本發明另一實施例揭示了一種用來存取一快閃記憶體模組的方法,其中該快閃記憶體模組包含至少一快閃記憶體晶片,每一快閃記憶體晶片包含複數個區塊,每一區塊包含複數個頁面,以及該方法包含以下步驟:發送一讀取指令至該快閃記憶體模組以請求至少一記憶單元上的資料;自該快閃記憶體模組接收該至少一記憶單元的複數個記憶細胞的多位元資訊;以及分析該複數個記憶細胞的該多位元資訊以取得該複數個記憶細胞的一臨界電壓分佈以供決定一解碼程序。
第1圖為依據本發明一實施例之電子裝置10的示意圖,其中電子裝置10可包含一主裝置50以及一記憶裝置100。主裝置50可包含至少一處理器(例如一或多個處理器),可統稱為處理器52,且可另包含耦接至處理器52的一電源供應電路54。處理器52可用來控制主裝置50的運作,而電源供應電路54可用來提供電源給處理器52以及記憶裝置100,並且輸出一或多個驅動電壓給記憶裝置100。記憶裝置100可用來提供儲存空間給主裝置50,並且自主裝置50取得該一或多個驅動電壓以作為記憶裝置100的電源。主機50的例子可包含(但不限於):多功能行動電話(multifunctional mobile phone)、平板電腦(tablet)以及個人電腦(personal computer)諸如桌上型電腦與膝上型電腦。記憶裝置100的例子可包含(但不限於):固態硬碟(solid state drive, SSD)以及各種類型的嵌入式(embedded)記憶裝置諸如符合快捷外設互聯(Peripheral Component Interconnect Express, PCIe)標準的嵌入式記憶裝置等等。依據本實施例,記憶裝置100可包含一快閃記憶體控制器110,且可另包含一快閃記憶體模組120,其中快閃記憶體控制器110係用來控制記憶裝置100的運作以及存取快閃記憶體模組120,而快閃記憶體模組120係用來儲存資訊。快閃記憶體模組120可包含至少一快閃記憶體晶片諸如複數個快閃記憶體晶片122-1、122-2、…及122-N,其中「N」可表示大於一的正整數。
如第1圖所示,記憶體控制器110可包含一處理電路諸如一微處理器112、一儲存單元諸如一唯讀記憶體(Read Only Memory, ROM)112M、一控制邏輯電路114、一隨機存取記憶體(Random Access Memory, RAM)116以及一傳輸介面電路118,其中這些元件可透過一匯流排彼此耦接。隨機存取記憶體116係以一靜態隨機存取記憶體(Static RAM, SRAM)來實施,但本發明不限於此。隨機存取記憶體116可用來提供內部儲存空間給快閃記憶體控制器110,例如,隨機存取記憶體116可用來作為一緩衝記憶體以緩衝資料。另外,本實施例之唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對快閃記憶體模組120之存取。請注意,在某些例子中,程式碼112C可儲存在隨機存取記憶體116或任何形式之記憶體內。此外,控制邏輯電路114可用來控制快閃記憶體模組120,且可包含一編碼器132、一解碼器134、一隨機化器(randomizer)136、一去隨機化器(de-randomizer)138以及其它電路。傳輸介面電路118可符合一特定通訊標準(諸如串列高級技術附件(Serial Advanced Technology Attachment, SATA)標準、外設組件互聯(Peripheral Component Interconnect, PCI)標準、快捷外設互聯標準、通用快閃儲存(Universal Flash Storage, UFS)標準等等),且可依據該特定通訊標準進行通訊,例如為記憶裝置100,和主裝置50進行通訊,其中主裝置50可包含符合該特定通訊標準之對應的傳輸介面電路,來為主裝置50,和記憶裝置100進行通訊。
在本實施例中,主裝置50可傳送主裝置指令(host command)與對應的邏輯位址至快閃記憶體控制器110來存取記憶裝置100。快閃記憶體控制器110接收主裝置指令與邏輯位址,並將主裝置指令轉譯成記憶體操作指令(可簡稱為操作指令),再以操作指令控制快閃記憶體模組120讀取、寫入(write)/編程(program)快閃記憶體模組120當中某些實體位址之記憶單元(例如資料頁面),其中實體位址對應於邏輯位址。當記憶體控制器110對快閃記憶體晶片122-1、122-2、…及122-N中之任一快閃記憶體晶片122-n進行一抹除(erase)運作時(符號「n」可表示區間[1, N]中之任一整數),快閃記憶體晶片122-n的多個區塊(block)中之至少一個區塊會被抹除,其中該多個區塊中的每一區塊可包含多個頁面(例如資料頁面),且一存取運作(例如讀取或寫入)可對一或多個頁面進行。
第2圖為依據本發明一實施例之一三維(three-dimensional, 3D)NAND型快閃記憶體的示意圖。例如,上述快閃記憶體晶片122-1、122-2、…及122-N中之至少一者中之任一記憶體元件可基於第2圖所示之三維NAND型快閃記憶體來實施,但本發明不限於此。
依據本實施例,該三維NAND型快閃記憶體可包含以一三維架構排列的複數個記憶細胞,諸如分別被排列於垂直Z軸的Nz層並且對齊分別對應於X軸、Y軸及Z軸的三個方向的(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)}},且可另包含用於選擇控制的複數個選擇器電路,諸如被排列於該Nz層上面的一上方層(upper layer)的(Nx * Ny)個上方選擇器電路{MBLS(1, 1), …, MBLS(Nx, 1)}、{MBLS(1, 2), …, MBLS(Nx, 2)}、…及{MBLS(1, Ny), …, MBLS(Nx, Ny)}、以及被排列於該Nz層下面的一下方層(lower layer)的(Nx * Ny)個下方選擇器電路{MSLS(1, 1), …, MSLS(Nx, 1)}、{MSLS(1, 2), …, MSLS(Nx, 2)}、…及{MSLS(1, Ny), …, MSLS(Nx, Ny)}。另外,該三維NAND型快閃記憶體可包含用於存取控制的複數個位元線(bit line)以及複數個字線(word line),諸如被排列於該上方層上面的一頂部層(top layer)的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)}。此外,該三維NAND型快閃記憶體可包含用於選擇控制的複數個選擇線,諸如被排列於該上方層的Ny個上方選擇線BLS(1)、BLS(2)、…及BLS(Ny)、以及被排列於該下方層的Ny個下方選擇線SLS(1)、SLS(2)、…及SLS(Ny),且可另包含用於提供多個參考位準的複數個源極線,諸如被排列於該下方層下面的一底部層(bottom layer)的Ny個源極線SL(1)、SL(2)、…及SL(Ny)。
如第2圖所示,該三維NAND型快閃記憶體可被區分成沿著Y軸分佈的Ny個電路模組PS2D(1)、PS2D(2)、…及PS2D(Ny)。為便於理解,電路模組PS2D(1)、PS2D(2)、…及PS2D(Ny)可具有與一平面NAND快閃記憶體(其記憶細胞被排列於一單一層)類似的某些電氣特徵,因此可分別被視為多個虛擬二維(pseudo-2D)電路模組,但本發明不限於此。另外,電路模組PS2D(1)、PS2D(2)、…及PS2D(Ny)中的任一電路模組PS2D(ny)可包含Nx個次要(secondary)電路模組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)可由電晶體來實施。例如,上方選擇器電路以及下方選擇器電路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圖所示之三維NAND型快閃記憶體的某些局部結構。該三維NAND型快閃記憶體可設計成具有複數個棒狀(rod-shaped)局部結構諸如第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)}之相關電晶體的通道,諸如用於實施上方選擇器電路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),但本發明不限於此。例如,該複數個記憶細胞的排列可予以變化,而複數個棒狀局部結構的數量可相對應地改變。
另外,該三維NAND型快閃記憶體可被設計成具有複數個管狀(pipe-shaped)局部結構,且該複數個管狀局部結構可被安排來環繞(encircle)該複數個棒狀局部結構以形成次要電路模組{S(1, 1), …, S(Nx, 1)}、{S(1, 2), …, S(Nx, 2)}、…及{S(1, Ny), …, S(Nx, Ny)}的各個元件,尤其是形成第2圖所示之架構中該複數個記憶細胞的各個控制閘與各個浮動閘以及該複數個選擇器電路的各個閘。記憶細胞{{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圖所示之三維NAND型快閃記憶體的該複數個記憶細胞中的一個記憶細胞的某些實施細節。如第4圖所示,記憶細胞M(nx, ny, nz)可包含該複數個棒狀局部結構中之一者的一部分,諸如對應於次要電路模組S(nx, ny)的棒狀局部結構中的一棒段(rod segment)Mch,且可另包含具有相同對稱軸的某些管狀局部結構。例如,棒段Mch的上側Md與下側Ms可用來當作用於實施記憶細胞M(nx, ny, nx)的浮動閘電晶體的汲極與源極,且這些管狀局部結構中之一第一管狀局部結構Mfg以及一第二管狀局部結構Mcg可用來作為這個浮動閘電晶體的浮動閘以及控制閘。這些管狀局部結構中的其它管狀局部結構,諸如棒段Mch與該第一管狀局部結構Mfg之間的管狀局部結構以及該第一管狀局部結構Mfg與該第二管狀局部結構Mcg之間的管狀局部結構,可由一或多個絕緣材料來實施。
依據某些實施例,第2圖所示之架構中的該複數個選擇器電路中的任一選擇器電路可藉由修改第4圖所示之架構來實施。例如,棒段Mch的上側Md與下側Ms可用來作為用於實施這個選擇器電路的普通電晶體的汲極與源極,而這些管狀局部結構中的第二管狀局部結構Mcg可用來作為這個普通電晶體的閘極,其中第一管狀局部結構Mfg應從該一或多個絕緣材料移除。因此,棒段Mch與第二管狀局部結構Mcg之間只會有一個管狀局部結構,但本發明不限於此。
在快閃記憶體模組120中,當快閃記憶體晶片122-1~122-N的任一者的區塊充當一單階細胞區塊,該區塊中的多個實體頁面的每一者對應至一個邏輯頁面,即該頁面的多個記憶細胞的每一者被組態成僅儲存一個位元,其中一個實體頁面可包含由一字線控制的全部電晶體(例如,對應於字線WL(1, Nz)的記憶細胞M(1, 1, Nz)~M(Nx, 1, Nz)形成一實體頁面)。當快閃記憶體晶片122-1~122-N的任一者的區塊充當一多階細胞區塊,該區塊中的多個實體頁面的每一者對應至兩個邏輯頁面,即該頁面的多個記憶細胞的每一者被組態成儲存兩個位元。當快閃記憶體晶片122-1~122-N的任一者的區塊充當一三階細胞區塊,該區塊中的多個實體頁面的每一者對應至三個邏輯頁面,即該頁面的多個記憶細胞的每一者被組態成儲存三個位元。當快閃記憶體晶片122-1~122-N的任一者的區塊充當一四階細胞區塊,該區塊中的多個實體頁面的每一者對應至四個邏輯頁面,即該頁面的多個記憶細胞的每一者被組態成儲存四個位元。
第5圖為依據本發明一實施例之該四階細胞區塊的一記憶細胞的複數個狀態(編程狀態)的示意圖。如第5圖所示,每一記憶細胞可具有十六個狀態,且每一狀態代表四個位元(分別命名為頂端位元、上方位元、中間位元以及下方位元)的不同組合。在第5圖所示之實施例中,當該記憶細胞被編程為具有狀態S0,儲存於該記憶細胞的頂端位元、上方位元、中間位元以及下方位元為(1, 1, 1, 1);當該記憶細胞被編程為具有狀態S1,儲存於該記憶細胞的頂端位元、上方位元、中間位元以及下方位元為(1, 1, 1, 0);當該記憶細胞被編程為具有狀態S2,儲存於該記憶細胞的頂端位元、上方位元、中間位元以及下方位元為(1, 0, 1, 0);當該記憶細胞被編程為具有狀態S3,儲存於該記憶細胞的頂端位元、上方位元、中間位元以及下方位元為(1, 0, 0, 0);當該記憶細胞被編程為具有狀態S4,儲存於該記憶細胞的頂端位元、上方位元、中間位元以及下方位元為(1, 0, 0, 1);當該記憶細胞被編程為具有狀態S5,儲存於該記憶細胞的頂端位元、上方位元、中間位元以及下方位元為(0, 0, 0, 1);當該記憶細胞被編程為具有狀態S6,儲存於該記憶細胞的頂端位元、上方位元、中間位元以及下方位元為(0, 0, 0, 0);當該記憶細胞被編程為具有狀態S7,儲存於該記憶細胞的頂端位元、上方位元、中間位元以及下方位元為(0, 0, 1, 0);當該記憶細胞被編程為具有狀態S8,儲存於該記憶細胞的頂端位元、上方位元、中間位元以及下方位元為(0, 1, 1, 0);當該記憶細胞被編程為具有狀態S9,儲存於該記憶細胞的頂端位元、上方位元、中間位元以及下方位元為(0, 1, 0, 0);當該記憶細胞被編程為具有狀態S10,儲存於該記憶細胞的頂端位元、上方位元、中間位元以及下方位元為(1, 1, 0, 0);當該記憶細胞被編程為具有狀態S11,儲存於該記憶細胞的頂端位元、上方位元、中間位元以及下方位元為(1, 1, 0, 1);當該記憶細胞被編程為具有狀態S12,儲存於該記憶細胞的頂端位元、上方位元、中間位元以及下方位元為(0, 1, 0, 1);當該記憶細胞被編程為具有狀態S13,儲存於該記憶細胞的頂端位元、上方位元、中間位元以及下方位元為(0, 1, 1, 1);當該記憶細胞被編程為具有狀態S14,儲存於該記憶細胞的頂端位元、上方位元、中間位元以及下方位元為(0, 0, 1, 1);以及當該記憶細胞被編程為具有狀態S15,儲存於該記憶細胞的頂端位元、上方位元、中間位元以及下方位元為(1, 0, 1, 1)。
在相關技術中,當該頂端位元需被快閃記憶體控制器110讀取時,快閃記憶體控制器110能控制快閃記憶體模組120施加四個讀取電壓VR5、VR10、VR12及VR15來讀取該記憶細胞。若該記憶細胞在被施加讀取電壓VR5時是導通的,該頂端位元被判定為「1」;若該記憶細胞在被施加讀取電壓VR5時是不導通的且該記憶細胞在被施加讀取電壓VR10時是導通的,該頂端位元被判定為「0」;若該記憶細胞在被施加讀取電壓VR10時是不導通的且該記憶細胞在被施加讀取電壓VR12時是導通的,該頂端位元被判定為「1」;若該記憶細胞在被施加讀取電壓VR12時是不導通的且該記憶細胞在被施加讀取電壓VR15時是導通的,該頂端位元被判定為「0」;以及若該記憶細胞在被施加讀取電壓VR15時是不導通的,該頂端位元被判定為「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~VR15的部分而自該記憶細胞讀取的位元可被視為一符號位元(sign bit),而自複數個記憶細胞(例如四千(4K)個記憶細胞)取得的符號位元由去隨機化器138進行處理並且由解碼器134進行錯誤更正運作以產生解碼後資料。然而,由於多階細胞區塊中的記憶細胞的狀態區間很小,所以這些狀態會因為在快閃記憶體模組120中發生的讀取干擾、編程干擾或資料保留問題而具有嚴重的變異,而錯誤更正運作可能失敗。為了解決這個問題,相關技術另施加了額外的讀取電壓來讀取該記憶細胞以取得複數個軟位元(soft bit),以增加錯誤更正運作的成功率。例如,若解碼器134無法解碼自該複數個記憶細胞取得的多個符號位元,快閃記憶體控制器110可控制快閃記憶體模組120使用額外的讀取電壓來重新讀取該複數個記憶細胞以取得一第一組軟位元,且解碼器134使用一低密度奇偶校驗碼(low-density parity-check code, LDPC)方法來以該第一組軟位元解碼該多個符號位元。例如,若快閃記憶體控制器110試圖讀取該區塊的頂端頁面(即該複數個記憶細胞的頂端位元),快閃記憶體控制器110可控制快閃記憶體模組120使用額外讀取電壓(VR5-Δ)、(VR10-Δ)、(VR12-Δ)以及(VR15-Δ)來取得該第一組軟位元。若解碼器134仍然無法解碼,快閃記憶體控制器110可控制快閃記憶體模組120使用額外讀取電壓(VR5+Δ)、(VR10+Δ)、(VR12+Δ)以及(VR15+Δ)來重新讀取該複數個記憶細胞以取得一第二組軟位元,而解碼器134可使用該低密度奇偶校驗碼方法來以該第一組軟位元以及該第二組軟位元等等來解碼該多個符號位元。
鑒於上述情況,若快閃記憶體控制器110需要自快閃記憶體模組120中的四階細胞區塊讀取資料,快閃記憶體控制器110可讀取該複數個記憶細胞並且對資料進行多次的解碼來取得軟位元以成功地解碼該資料。每次快閃記憶體控制器110讀取該複數個記憶細胞都需要傳送一讀取指令至快閃記憶體模組120,且快閃記憶體模組120需要一讀取忙碌時間來讀取符號位元或軟位元。因此,相關技術中之用於高密度儲存(諸如搭配三維NAND型快閃記憶體技術的四階細胞區塊)的讀取機制效率並不好。
為了解決上述問題,本發明的實施例提供了一種讀取機制以及解碼方法來有效率地存取快閃記憶體模組120。
第6圖為依據本發明一實施例之快閃記憶體晶片600的示意圖,其中快閃記憶體晶片600可以是第1圖所示之快閃記憶體晶片122-1~122-N中之任一者。如第6圖所示,快閃記憶體晶片600包含兩個記憶體陣列610及620、感測放大器612、614、622及624、以及周邊電路632及634,其中記憶體陣列610及620包含第2圖所示之記憶細胞,感測放大器612、614、622及624係用來自記憶體陣列610及620讀取資料,以及周邊電路632及634包含墊片(pad)、相關控制電路以及其它介面電路。
第7圖為依據本發明一第一實施例之感測放大器700的示意圖。在第7圖中,感測放大器700包含一運算放大器710、一電壓源712、一控制電路714、一計數器716以及一開關SW1。在本實施例中,感測放大器700係用來讀取第1圖所示之對應於位元線BL(1)與字線WL(1, Nz)的記憶細胞M(1, 1, Nz)。當記憶細胞M(1, 1, Nz)將被讀取時,控制電路714係用來產生讀取電壓VR至第1圖所示之記憶細胞M(1, 1, Nz),而上方選擇器電路MBLS(1, 1)以及其它記憶細胞M(1, 1, 1)~M(1, 1, (Nz-1))被控制為導通。
一併參考第7圖以及第8圖,第8圖為依據本發明一實施例之感測放大器700的某些訊號的時序圖。在感測放大器700的運作中,讀取電壓VR一開始等於零(即記憶細胞M(1, 1, Nz)是被停用(disable)的),開關SW1被控制以將位元線BL(1)連接至電壓源712,而電壓源712開始對寄生(parasitic)電容CBL充電以使得在寄生電容CBL的一端子上的電壓VBL於時間T0等於電壓源712所提供的電壓Vpre。接著,於時間T1,開關SW1被控制以將位元線BL(1)連接至運算放大器710的負端子,控制電路714開始產生充當讀取電壓VR的一斜坡訊號至字線WL(1, Nz)以控制記憶細胞M(1, 1, Nz),而控制電路714產生一致能訊號CNT_EN以使得計數器716開始工作並且在輸出訊號Vout變為高時提供遞增的計數值CNT。例如,假設記憶細胞M(1, 1, Nz)儲存有對應於狀態S8(其臨界電壓約為3 V)的資料,當讀取電壓VR開始由0 V升高至3 V,由於讀取電壓VR不夠高而無法啟用(enable)記憶細胞M(1, 1, Nz),電壓VBL維持在電壓Vpre,而由於電壓VBL/Vpre大於運算放大器710的正端子上的參考電壓Vsen,運算放大器710所產生的輸出訊號Vout等於「0」。當讀取電壓VR於時間T2大於記憶細胞M(1, 1, Nz)的臨界電壓,記憶細胞M(1, 1, Nz)被啟用以產生一電流I_cell來對寄生電容CBL放電,而電壓VBL會降低。當電壓VBL降低而變的低於參考電壓Vsen,輸出訊號Vout變為「1」以觸發計數器716輸出當下的計數值CNT。在第8圖所示之實施例中,若記憶細胞M(1, 1, Nz)儲存有對應於狀態S8的資料,計數值CNT約為「28」。
在第7圖以及第8圖所示之實施例中,由於讀取電壓VR的斜率、放電時間以及電路延遲為已知,計數器716輸出的計數值CNT可確切地表示出記憶細胞M(1, 1, Nz)的臨界電壓。另外,若計數器716為具有較大的解析度的計數器諸如八位元計數器(即計數器716所使用的時脈具有較高的頻率),計數值CNT能表示記憶細胞M(1, 1, Nz)的符號位元以及軟位元。因此,相較於相關技術使用多次讀取運作來取得符號位元以及軟位元,本發明的實施例能以一單一讀取指令得到符號位元以及軟位元,且讀取效率可大幅地改善。另外,由於計數器716輸出的計數值CNT能表示記憶細胞M(1, 1, Nz)的臨界電壓,即記憶細胞M(1, 1, Nz)的狀態能被取得,因此,計數值CNT所載有的資訊遠多於相關技術所取得的符號位元(即相關技術中的符號位元無法確切地指出記憶細胞M(1, 1, Nz)具有哪一個狀態)。詳細來說,若記憶細胞M(1, 1, Nz)的頂端位元將被讀取,相關技術會使用讀取電壓VR5、VR10、VR12及VR15來讀取記憶細胞M(1, 1, Nz),而快閃記憶體模組僅發送該頂端位元至快閃記憶體控制器。例如,若相關技術的快閃記憶體模組將該頂端位元「1」(即符號位元)輸出至快閃記憶體控制器,快閃記憶體控制器僅知道記憶細胞M(1, 1, Nz)具有狀態S0~S4、S10~S11及S15中的其中一個,但快閃記憶體控制器無法確切地知道記憶細胞M(1, 1, Nz)具有哪一個狀態。
需注意的是,雖然第8圖展示了使用該斜坡訊號來充當讀取電壓VR,但本發明不限於此。在其它實施例中,控制電路714能將分別具有不同電壓位準的讀取電壓VR施加於記憶細胞M(1, 1, Nz)(即分別具有不同電壓位準的讀取電壓VR可分別被視為複數個讀取電壓),讀取電壓VR的每一電壓位準均對應至一計數值CNT,讀取電壓VR可具有任意其它合適的設計。在一實施例中,讀取電壓VR的電壓位準的數量(或讀取電壓的數量)等於或大於記憶細胞M(1, 1, Nz)的狀態的數量。
在一實施例中,感測放大器700另包含第9圖所示之映射電路910。映射電路910係用來將該計數值轉換為指出記憶細胞M(1, 1, Nz)的臨界電壓或狀態的八位元資訊,其中四個位元為最高有效位元(most significant bit, MSB),而其它四個位元為最低有效位元(least significant bit, LSB)。例如,計數值「1」映射至八位元資訊(0, 0, 0, 0, 0, 0, 0, 0),計數值「2」映射至八位元資訊(0, 0, 0, 0, 0, 0, 0, 1)、計數值「3」映射至八位元資訊(0, 0, 0, 0, 0, 0, 1, 0)、…、計數值「255」映射至八位元資訊(1, 1, 1, 1, 1, 1, 1, 0)、而計數值「256」映射至八位元資訊(1, 1, 1, 1, 1, 1, 1, 1)。第10圖為依據本發明一實施例之狀態S0~S15以及對應的多個最高有效位元與多個最低有效位元的示意圖。在第10圖所示之實施例中,該多個最高有效位元係用來指出記憶細胞M(1, 1, Nz)的狀態,即最高有效位元(0, 0, 0, 0)表示狀態S0、最高有效位元(0, 0, 0, 1)表示狀態S1、最高有效位元(0, 0, 1, 0)表示狀態S2、…、最高有效位元(1, 1, 1, 0)表示狀態S14、及最高有效位元(1, 1, 1, 1)表示狀態S15。另外,該多個最高有效位元所定義的範圍另被分成由該多個最低有效位元表示的十六個子範圍,且該多個最低有效位元能充當上述軟位元。
在一實施例中,快閃記憶體模組120能在僅接收到一個讀取指令的情形下便傳送最高有效位元以及最低有效位元至快閃記憶體控制器110,以回應該讀取指令。參考第11圖,若快閃記憶體控制器110欲讀取一頁面(例如一邏輯頁面)中的資料,快閃記憶體控制器110傳送一讀取指令至快閃記憶體模組120,並且快閃記憶體模組120使用上述機制來讀取該頁面的記憶細胞以產生最高有效位元以及最低有效位元給每一記憶細胞。假設該頁面包含四個扇區(sector)/組塊(chunk)且每一扇區/組塊為一編碼/解碼單元,快閃記憶體模組120能將一第一扇區/組塊中的每一記憶細胞的最高有效位元、一第二扇區/組塊中的每一記憶細胞的最高有效位元、一第三扇區/組塊中的每一記憶細胞的最高有效位元以及一第四扇區/組塊中的每一記憶細胞的最高有效位元依序地傳送至快閃記憶體控制器110以供後續去隨機化(de-randomize)運作以及解碼運作。在該頁面的全部記憶細胞的最高有效位元都被傳送至快閃記憶體控制器110後,快閃記憶體模組120開始將該第一扇區/組塊中的每一記憶細胞的最低有效位元、該第二扇區/組塊中的每一記憶細胞的最低有效位元、該第三扇區/組塊中的每一記憶細胞的最低有效位元以及該第四扇區/組塊中的每一記憶細胞的最低有效位元依序地傳送至快閃記憶體控制器110以供後續去隨機化(de-randomize)運作以及解碼運作。
在上述實施例中,若快閃記憶體控制器110的解碼器134僅使用該頁面的多個記憶細胞的最高有效位元就能成功地解碼資料,該多個記憶細胞的最低有效位元可不用於解碼運作,或者快閃記憶體控制器110能通知快閃記憶體模組120停止傳送最低有效位元。
在一實施例中,雖然快閃記憶體模組120因應來自快閃記憶體控制器110的一個讀取指令取得該多個記憶細胞的最高有效位元以及最低有效位元,快閃記憶體模組120不會自動傳送該多個記憶細胞的最低有效位元至快閃記憶體控制器110,直到快閃記憶體控制器110請求該多個記憶細胞的最低有效位元為止(例如:當快閃記憶體控制器110請求該多個記憶細胞的最低有效位元時,快閃記憶體模組120才傳送該多個記憶細胞的最低有效位元至快閃記憶體控制器110)。
第12圖為依據本發明一實施例之一種用來存取快閃記憶體模組120的方法的流程圖。在步驟1200中,流程開始,且主裝置50以及記憶裝置100被上電。在步驟1202中,快閃記憶體控制器110發送一讀取指令至該快閃記憶體模組120並且請求一頁面的資料。在步驟1204中,快閃記憶體模組120接收該讀取指令,並且使用第7圖至第10圖所示之讀取機制來讀取該頁面的全部記憶細胞,並且取得每一記憶細胞的最高有效位元以及最低有效位元。假設該頁面具有複數個組塊且每一組塊為一編碼/解碼單元諸如上述編碼/解碼單元,快閃記憶體模組120將一第一組塊中的每一記憶細胞的最高有效位元、一第二組塊中的每一記憶細胞的最高有效位元、…、以及一最後組塊中的每一記憶細胞的最高有效位元依序地傳送至快閃記憶體控制器110。在步驟1206中,在從快閃記憶模組120依序接收資料的過程中,快閃記憶體控制器110判斷部分的記憶細胞的多個狀態的多個數量是平衡的或是不平衡的以產生一判斷結果,且若該判斷結果指出該部分的記憶細胞的該多個狀態的該多個數量是平衡的,流程進入步驟1208;而若該判斷結果指出該部分的記憶細胞的該多個狀態的該多個數量是不平衡的,流程進入步驟1210。
具體來說,由於自快閃記憶體模組120傳送的最高有效位元能被視為該記憶細胞具有的狀態,因此快閃記憶體控制器110能累積於依序地接收該多個記憶細胞的最高有效位元的過程中的期間的狀態S0~S15的數量。理想上,由於編程至快閃記憶體模組120中的資料是藉由隨機化器136來處理,因此狀態S0~S15的數量應該互相接近。例如,若快閃記憶體控制器110自快閃記憶體模組120接收到十六千(16K)個記憶細胞的最高有效位元,該十六千個記憶細胞的狀態S0~S15的每一者數量應約為「1000」。若這些狀態的數量之間的差異在一定義範圍內,這些狀態的數量則被判斷為平衡的;而若這些狀態的數量之間的差異不在該定義範圍內,這些狀態的數量則被判斷為不平衡的。例如,快閃記憶體控制器110可建立第13圖所示之直方圖(histogram)。如第13圖所示,理想上狀態S0~S15具有類似的數量,且若該頁面遭遇到資料保留或是讀取干擾等問題,該多個記憶細胞會有臨界值偏移的問題。在第13圖所示的例子中,狀態S15被偏移至其它狀態諸如S12~S14,因此該感測放大器(例如感測放大器700)不會從任何記憶細胞感測到狀態S15,而這樣的臨界值偏移現象造成了不平衡的狀態數量。
若快閃記憶體控制器110判斷該部分的記憶細胞的該多個狀態的該多個數量是平衡的,流程進入步驟1208且解碼器134藉由使用屬於一組塊的記憶細胞的最高有效位元來解碼資料(即硬解碼(hard decoding))。若快閃記憶體控制器110判斷該部分的記憶細胞的該多個狀態的該多個數量是不平衡的,流程進入步驟1210且快閃記憶體控制器110發送一訊號以觸發快閃記憶體模組120傳送該多個記憶細胞的最低有效位元。在自快閃記憶體模組120讀取該多個記憶細胞的最低有效位元以後,在步驟1214中,解碼器134藉由使用屬於一組塊的記憶細胞的最高有效位元以及最低有效位元來解碼資料(即軟解碼(soft decoding))。
在步驟1212中,可判斷解碼器134是否成功地解碼該資料。若解碼器134成功地解碼該資料,流程進入步驟1216以結束該讀取運作或是開始下一個讀取運作;而若解碼器134無法解碼該資料,流程進入步驟S1210以發送該訊號以觸發快閃記憶體模組120發送該多個記憶細胞的最低有效位元。
在第12圖所示之流程圖中,若該部分的記憶細胞的該多個狀態的該多個數量被判斷為平衡的,快閃記憶體控制器110能直接對該多個記憶細胞的最高有效位元進行硬解碼運作,且暫存於快閃記憶體模組120的該多個記憶細胞的最低有效位元僅於上述硬解碼運作失敗時才會被傳送至快閃記憶體控制器110。因此,本發明能避免非必要的資料傳輸以節省頻寬以及電源。另外,若該部分的記憶細胞的該多個狀態的該多個數量被判斷為不平衡的,快閃記憶體控制器110能直接對該多個記憶細胞的最高有效位元以及最低有效位元進行軟解碼運作,而不先進行上述硬解碼運作,以避免浪費電源及時間在高失敗率的硬解碼運作上。
需注意的是,上述硬解碼運作以及軟解碼運作的細節為此領域具通常知識者所熟知,且上述硬解碼運作以及軟解碼運作的細節步驟亦非本發明的主題,因此不再贅述。
第14圖為依據本發明另一實施例之一種用來存取快閃記憶體模組120的方法的流程圖。在步驟1400中,流程開始,且主裝置50以及記憶裝置100被上電。在步驟1402中,快閃記憶體控制器110發送一讀取指令至快閃記憶體模組120並且請求一頁面的資料。在步驟1404中,快閃記憶體模組120接收該讀取指令,並且使用第7圖至第10圖所示之讀取機制來讀取該頁面的全部記憶細胞,並且取得每一記憶細胞的多位元資訊(例如上述每一記憶細胞的最高有效位元以及最低有效位元)。假設該頁面具有複數個組塊且每一組塊為一編碼/解碼單元諸如上述編碼/解碼單元,參考第15圖,快閃記憶體模組120將一第一組塊中的每一記憶細胞的最高有效位元以及最低有效位元、一第二組塊中的每一記憶細胞的最高有效位元以及最低有效位元、…、以及一最後組塊中的每一記憶細胞的最高有效位元以及最低有效位元依序地傳送至快閃記憶體控制器110。當自快閃記憶體模組120接收到這些組塊時,控制邏輯電路114在步驟1406中開始建構狀態S0~S15(例如SS1~SS256)的分佈。參考第16圖,其展示了依據本發明一實施例的狀態建構。在第16圖所示之實施例中,橫軸展示了子狀態SS1~SS256(或第10圖所描述的子範圍),其中子狀態SS1~SS256中之每一者對應於四位元最高有效位元與四位元最低有效位元的多個組合的其中之一,且子狀態SS1~SS16屬於狀態S0、子狀態SS17~SS32屬於狀態S1、子狀態SS33~SS48屬於狀態S2、…、以及子狀態SS241~SS256屬於狀態S15,而縱軸展示了子狀態SS1~SS256中之每一者的數量。在累積子狀態SS1~SS256的數量並且一記憶單元(例如,一頁面)之接收到的該多個記憶細胞的最高有效位元以及最低有效位元變多後,多個峰值以及谷值逐漸出現。
在步驟1408中,在該多個峰值及谷值出現後(注意,可能僅部分的組塊被接收到或者全部的組塊都被接收到),控制邏輯電路114判斷該多個谷值的多個谷值高度,其中谷值高度(例如上述多個谷值高度中之任一者)係為所接收到的資料中四位元最高有效位元與四位元最低有效位元的該多個組合的其中之一的數量(例如第16圖所示符號VH1以及VH13)。符號VH1能映射至一子狀態,例如SS17。該複數個記憶細胞的臨界電壓分佈能自每一子狀態的數量繪示,其中該多個谷值是相對低數量的子狀態,例如SS17或SS18,而該多個峰值是相對多數量的子狀態,例如SS209。在步驟1410中,控制邏輯電路114判斷該多個谷值高度的任一者是否大於一臨界值TH。若該多個谷值高度中沒有任何谷值高度大於臨界值TH,流程進入步驟1412;否則,流程進入步驟1416。
在步驟1412中,控制邏輯電路114解映射(de-map)接收到的該多個記憶細胞的最高有效位元以取得對應的符號位元。以第5圖所示之頂端位元為例,若該四位元最高有效位元指出該記憶細胞具有屬於狀態S0~S4、S10~S11及S15的其中之一的狀態,符號位元「1」會被輸出為一解映射結果;而若該四位元最高有效位元指出該記憶細胞具有屬於狀態S5~S9及S12~S14的其中之一的狀態,符號位元「0」會被輸出為一解映射結果。在決定一組塊的多個記憶細胞的多個符號位元以後,解碼器134藉由使用屬於該組塊的多個記憶細胞的符號位元來解碼資料(即硬解碼)。在步驟1414中,可判斷解碼器134是否成功地解碼該資料,若解碼器134成功地解碼該資料,流程進入步驟1428以結束該讀取運作或是開始下一個讀取運作;而若解碼器134無法解碼該資料,流程進入步驟1416。
在步驟1416中,解碼器134使用一對數似然比(log-likelihood ratio, LLR)表來為該多個記憶細胞的八位元資訊的每一者(即每一記憶細胞的四位元最高有效位元以及四位元最低有效位元)取得一對數似然比值。
在步驟1418中,解碼器134藉由使用對應於屬於一組塊的多個記憶細胞的多個對數似然比值來解碼資料(即軟解碼)。在步驟1420中,可判斷解碼器134是否成功地解碼該資料,若解碼器134成功地解碼該資料,流程進入步驟1426;而若解碼器134無法解碼該資料,流程進入步驟1422。
在步驟1422中,可判斷一解碼迴圈數是否達到一最大解碼迴圈數Tmax,若這個解碼迴圈數達到最大解碼迴圈數Tmax,流程進入步驟1428已結束該讀取運作或是開始下一讀取運作;而若這個解碼迴圈數尚未達到最大解碼迴圈數Tmax,流程進入步驟1424。
在步驟1424中,解碼器134依據接收到的該多個記憶細胞的八位元資訊來更新該多個對數似然比值,尤其解碼器134能依據對應於已成功被解碼的臨近組塊的多個記憶細胞的八位元資訊來更新該多個對數似然比值。另外,以第5圖所示之格雷碼為例,給頂端位元、上方位元、中間位元以及下方位元之更新後的對數似然比值能由以下計算取得。
「P1」為邏輯值「1」的機率值,「P0」為邏輯值「0」的機率值,PVs
(Ri
)為s = 0~15(即十六個狀態)以及i = 0~255(即8位元資訊以及256個子狀態)。
詳細來說,第17圖依據本發明一實施例展示該臨界電壓分佈,其中該臨界電壓分佈是從第16圖所示圖表得到(例如,類似直方圖的包絡線(envelope))。在第16圖以及第17圖所示之實施例中,由於狀態S15被偏移至其它狀態諸如S12~S14,狀態S11~S15的狀態邊界需要被調整,而多個對數似然比值是為了這些狀態的新機率值而被更新。另外,由於熟習此技藝者已了解如何在軟解碼程序以及對數似然比值計算中使用該多個對數似然比值,且本實施例的主題是聚焦在建立該臨界電壓分佈以及該對數似然比表於解碼程序的期間的更新,詳細的對數似然比值計算在此不贅述。
該多個對數似然比值在步驟1424中被更新後,流程回到步驟1418,且解碼器134藉由使用更新後的對數似然比值來解碼該資料,而自步驟1418到1424的迴圈會持續進行直到該解碼運作成功或是該解碼迴圈數達到最大解碼迴圈數Tmax為止。
在步驟1426中,解碼器134依據接收到的該多個記憶細胞的八位元資訊來更新該對數似然比表,尤其解碼器134能依據對應於已成功被解碼的目前組塊及/或臨近組塊的多個記憶細胞的八位元資訊來更新該多個對數似然比值。該對數似然比表中的該多個對數似然比值能依據第17圖所示之臨界電壓分佈更新,且更新後的對數似然比表可用於步驟1416解碼下一個組塊。
在第14~17圖所示之實施例中,若判斷結果為該多個谷值高度中沒有任何谷值高度大於臨界值TH,快閃記憶體控制器10能對該多個記憶細胞的符號位元直接進行硬解碼運作;而若判斷結果為該多個谷值高度中之任一者大於臨界值TH,快閃記憶體控制器110能對該多個記憶細胞的最高有效位元以及最低有效位元直接進行軟解碼運作,而不會先進行硬解碼運作,以避免浪費電源以及時間在失敗率較高的硬解碼運作。另外,由於自快閃記憶體模組120取得的八位元資訊能被用來建立該多個記憶細胞的臨界電壓分佈,該多個對數似然比值能在解碼器134解碼該組塊時基於該臨界電壓分佈作更新,且該對數似然比表能在解碼程序中被更新以供下一個組塊使用(可能在同一頁面)。因此,在解碼程序中的解碼成功率能被大幅改善。需注意的是,由於相關技術中的快閃記憶體模組僅發送符號位元以及軟位元至快閃記憶體控制器,且該臨界電壓分佈無法藉由僅使用符號位元以及軟位元來建立,因此相關技術無法在解碼程序中建立該臨界電壓分佈或是辨識該分佈的谷值。
第18圖為依據本發明一第二實施例之感測放大器1800的示意圖。在第18圖中,感測放大器1800包含一運算放大器1810、一電壓源1812、一數位類比轉換器1814以及一開關SW1。在本實施例中,感測放大器1800係用來讀取第1圖所示之對應於位元線BL(1)與字線WL(1, Nz)的記憶細胞M(1, 1, Nz)。當記憶細胞M(1, 1, Nz)將被讀取時,類比數位轉換器1814係用來產生讀取電壓VR至第1圖所示之記憶細胞M(1, 1, Nz),而其它記憶細胞M(1, 1, 1)~M(1, 1, (Nz-1))被控制為導通。
一併參考第18圖以及第19圖,第19圖為依據本發明一實施例之感測放大器1800的某些訊號的時序圖。在感測放大器1800的運作中,數位類比轉換器1814一開始並未工作且讀取電壓VR一開始等於零(即記憶細胞M(1, 1, Nz)是被停用的),開關SW1被控制以將位元線BL(1)連接至電壓源1812,而電壓源1812開始對寄生電容CBL充電以使得在寄生電容CBL的一端子上的電壓VBL於時間T0等於電壓源1812所提供的電壓Vpre。接著,於時間T1,開關SW1被控制以將位元線BL(1)連接至運算放大器1810的負端子,數位類比轉換器1814根據一致能訊號DAC_EN以開始產生充當讀取電壓VR的一斜坡訊號至字線WL(1, Nz)以控制記憶細胞M(1, 1, Nz)。例如,假設記憶細胞M(1, 1, Nz)儲存有對應於狀態S8(其臨界電壓約為3 V)的資料,當讀取電壓VR開始由0 V升高至3 V,由於讀取電壓VR不夠高而無法啟用(enable)記憶細胞M(1, 1, Nz),電壓VBL維持在電壓Vpre,而由於電壓VBL/Vpre大於運算放大器1810的正端子上的參考電壓Vsen,運算放大器1810所產生的輸出訊號Vout等於「0」。當讀取電壓VR於時間T2大於記憶細胞M(1, 1, Nz)的臨界電壓,記憶細胞M(1, 1, Nz)被啟用以產生一電流I_cell來對寄生電容CBL放電,而電壓VBL會降低。當電壓VBL降低而變的低於參考電壓Vsen,輸出訊號Vout變為「1」以觸發數位類比轉換器1814輸出對應於當下讀取電壓VR的數位值。
需注意的是,雖然第19圖展示了使用該斜坡訊號來充當讀取電壓VR,但本發明不限於此。在其它實施例中,數位類比轉換器1814能將分別具有不同電壓位準的讀取電壓VR施加於記憶細胞M(1, 1, Nz)(即分別具有不同電壓位準的讀取電壓VR可分別被視為複數個讀取電壓),讀取電壓VR可具有任意其它合適的設計。在一實施例中,讀取電壓VR的電壓位準的數量(或讀取電壓的數量)等於或大於記憶細胞M(1, 1, Nz)的狀態的數量。
在第18圖與第19圖所示之實施例中,數位類比轉換器1814輸出的數位值能表示記憶細胞M(1, 1, Nz)的臨界電壓(即對應於數位類比轉換器1814輸出的數位值的類比電壓非常接近記憶細胞M(1, 1, Nz)的臨界電壓),所以該數位值能有效地被用於後續的解碼運作。另外,假設數位類比轉換器1814是八位元數位類比轉換器,該數位值可具有第10圖所示之四個最高有效位元以及四個最低有效位元,而快閃記憶體模組120能以一讀取指令直接將該數位值(即多個最高有效位元以及多個最低有效位元)傳送至快閃記憶體控制器110。傳送該讀取指令以及該多個最高有效位元/最低有效位元的時序圖可參考第11圖。另外,因為電路延遲以及放電時間,數位類比轉換器1814輸出的數位值可被略微地調整以使得調整後的數位值更接近記憶細胞M(1, 1, Nz)的臨界電壓。
上述實施例是以四階細胞區塊為例,然而上述讀取機制亦能應用於三階細胞區塊、多階細胞區塊以及單階細胞區塊。熟習此技藝者應能了解如何使用上述步驟來讀取三階細胞區塊、多階細胞區塊以及單階細胞區塊中的記憶細胞,其它細節在此不贅述。
總結來說,在本發明的快閃記憶體控制器以及快閃記憶體模組中,該快閃記憶體模組能因應一個讀取指令將每一記憶細胞的多位元資訊輸出至該快閃記憶體控制器,且每一記憶細胞的多位元資訊可指出該記憶細胞的臨界電壓或狀態。因此,讀取效率能被大幅地改善。另外,在該快閃記憶體控制器的解碼運作中,該解碼器能判斷該多個狀態的該多個數量是平衡的或是不平衡的,或者該臨界電壓分佈的一谷值高度是否大於一臨界值,以採用不同的解碼機制,以改善解碼效率。另外,由於該臨界電壓分佈能在解碼程序中被建立,該多個對數似然比值及/或該對數似然比表能被更新以增加該解碼器的成功率。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10‧‧‧電子裝置
50‧‧‧主裝置
52‧‧‧處理器
54‧‧‧電源供應電路
100‧‧‧記憶裝置
110‧‧‧記憶體控制器
112‧‧‧微處理器
112C‧‧‧程式碼
112M‧‧‧唯讀記憶體
114‧‧‧控制邏輯電路
132‧‧‧編碼器
134‧‧‧解碼器
136‧‧‧隨機化器
138‧‧‧去隨機化器
116‧‧‧隨機存取記憶體
118‧‧‧傳輸介面電路
120‧‧‧快閃記憶體模組
122-1, 122-2, …, 122-N‧‧‧快閃記憶體晶片
1200, 1202, 1204, 1206, 1208,1210, 1212, 1214, 1216,1400, 1402, 1404, 1406, 1408,1410, 1412, 1414, 1416, 1418,1420, 1422, 1424, 1426, 1428,‧‧‧步驟
M(1, 1, 1), M(2, 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(2, 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),M(nx, ny, nz)‧‧‧記憶細胞
MBLS(1, 1), …, MBLS(Nx, 1),MBLS(1, 2), …, MBLS(Nx, 2), …,MBLS(1, Ny), …, MBLS(Nx, Ny)‧‧‧上方選擇電路
MSLS(1, 1), …, MSLS(Nx, 1),MSLS(1, 2), …, MSLS(Nx, 2), …,MSLS(1, Ny), …, MSLS(Nx, Ny)‧‧‧下方選擇電路
BL(1), …, BL(Nx)‧‧‧位元線
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)‧‧‧字線
BLS(1), BLS(2), …, BLS(Ny)‧‧‧上方選擇線
SLS(1), SLS(2), …, SLS(Ny)‧‧‧下方選擇線
SL(1), SL(2), …, SL(Ny)‧‧‧源極線
PS2D(1), PS2D(2), …, PS2D(Ny)‧‧‧電路模組
S(1, 1), …, S(Nx, 1),S(1, 2), …, S(Nx, 2), …,S(1, Ny), …, S(Nx, Ny)‧‧‧次要電路模組
Mch‧‧‧棒段
Md‧‧‧棒段的上側
Ms‧‧‧棒段的下側
Mfg‧‧‧第一管狀局部結構
Mcg‧‧‧第二管狀局部結構
VR1, VR2, VR3, VR4, VR5,VR6, VR7, VR8, VR9, VR10,VR11, VR12, VR13, VR14, VR15‧‧‧讀取電壓
S0, S1, S2, S3, S4, S5, S6, S7,S8, S9, S10, S11, S12, S13, S14, S15‧‧‧狀態
600‧‧‧快閃記憶體晶片
610, 620‧‧‧記憶體陣列
612, 614, 622, 624‧‧‧感測放大器
632, 634‧‧‧周邊電路
700, 1800‧‧‧感測放大器
710, 1810‧‧‧運算放大器
712, 1812‧‧‧電壓源
714‧‧‧控制電路
716‧‧‧計數器
910‧‧‧映射電路
1814‧‧‧數位類比轉換器
Vout‧‧‧輸出訊號
Vsen, Vpre, VBL‧‧‧電壓
VR‧‧‧讀取電壓
CNT‧‧‧計數值
CBL‧‧‧寄生電容
SW1‧‧‧開關
I_cell‧‧‧電流
T0, T1, T2‧‧‧時間
CNT_EN、DAC_EN‧‧‧致能訊號
VH1, VH13‧‧‧符號
SS1, SS17, SS33, SS49, SS65, SS81,SS97, SS113, SS129, SS145, SS167. SS177,SS193, SS209, SS225, SS241, SS257‧‧‧狀態
第1圖為依據本發明一實施例之一電子裝置的示意圖。
第2圖為依據本發明一實施例之一三維NAND型快閃記憶體的示意圖。
第3圖為依據本發明一實施例繪示之第2圖所示之三維NAND型快閃記憶體的某些局部結構。
第4圖為依據本發明一實施例繪示之第2圖所示之三維NAND型快閃記憶體的複數個記憶細胞中的一個記憶細胞的某些實施細節。
第5圖為依據本發明一實施例之四階細胞區塊的一記憶細胞的複數個狀態(編程狀態)的示意圖。
第6圖為依據本發明一實施例之一快閃記憶體晶片的示意圖。
第7圖為依據本發明一第一實施例之一感測放大器的示意圖。
第8圖為依據本發明一實施例之第7圖所示之感測放大器的某些訊號的時序圖。
第9圖為依據本發明一實施例之一計數器以及一映射電路的示意圖。
第10圖為依據本發明一實施例之狀態S0~S15以及對應的最高有效位元與多個最低有效位元的示意圖。
第11圖為依據本發明一實施例之傳送讀取指令以及最高有效位元/最低有效位元的時序圖。
第12圖為依據本發明一實施例之一種用來存取一快閃記憶體模組的方法的流程圖。
第13圖為依據本發明一實施例之多個記憶細胞的多個狀態的直方圖。
第14圖為依據本發明另一實施例之一種用來存取一快閃記憶體模組的方法的流程圖。
第15圖為依據本發明一實施例之傳送讀取指令以及最高有效位元/最低有效位元的時序圖。
第16圖為依據本發明一實施例之展示直方圖的谷值的示意圖。
第17圖為依據本發明一實施例之展示多個記憶細胞的臨界電壓分佈的示意圖。
第18圖為依據本發明一第二實施例之一感測放大器的示意圖。
第19圖為依據本發明一實施例之第18圖所示之感測放大器的某些訊號的時序圖。
10‧‧‧電子裝置
50‧‧‧主裝置
52‧‧‧處理器
54‧‧‧電源供應電路
100‧‧‧記憶裝置
110‧‧‧記憶體控制器
112‧‧‧微處理器
112C‧‧‧程式碼
112M‧‧‧唯讀記憶體
114‧‧‧控制邏輯電路
132‧‧‧編碼器
134‧‧‧解碼器
136‧‧‧隨機化器
138‧‧‧去隨機化器
116‧‧‧隨機存取記憶體
118‧‧‧傳輸介面電路
120‧‧‧快閃記憶體模組
122-1、122-2、...、122-N‧‧‧快閃記憶體晶片
Claims (16)
- 一種快閃記憶體控制器,其中該快閃記憶體控制器耦接至一快閃記憶體模組,該快閃記憶體模組包含至少一快閃記憶體晶片,每一快閃記憶體晶片包含複數個區塊,每一區塊包含複數個頁面,以及該快閃記憶體控制器包含: 一記憶體,用來儲存一程式碼;以及 一微處理器,用來執行該程式碼以透過一控制邏輯電路來存取該快閃記憶體模組; 其中在該微處理器發送一讀取指令至該快閃記憶體模組以請求至少一記憶單元(memory unit)上的資料以後,該控制邏輯電路自該快閃記憶體模組接收該至少一記憶單元的複數個記憶細胞(memory cell)的多位元資訊,以及該控制邏輯電路分析該複數個記憶細胞的該多位元資訊以取得該複數個記憶細胞的一臨界電壓分佈以供決定一解碼程序。
- 如申請專利範圍第1項所述之快閃記憶體控制器,其中該控制邏輯電路依據該臨界電壓分佈的多個谷值(valley)高度來決定該控制邏輯電路中之一解碼器採用的一解碼方法。
- 如申請專利範圍第2項所述之快閃記憶體控制器,其中該控制邏輯電路判斷該臨界電壓分佈的該多個谷值高度的任一者是否大於一臨界值以產生一判斷結果;若該判斷結果指出該臨界電壓分佈中沒有任何谷值高度大於該臨界值,該解碼器使用一第一解碼方法來解碼自該快閃記憶體模組接收的資料;以及若該判斷結果指出該臨界電壓分佈的該多個谷值高度的任一者大於該臨界值,該解碼器使用一第二解碼方法來解碼自該快閃記憶體模組接收的該資料。
- 如申請專利範圍第3項所述之快閃記憶體控制器,其中該第一解碼方法係一硬解碼方法(hard decoding method),以及該第二解碼方法係一軟解碼方法(soft decoding method)。
- 如申請專利範圍第4項所述之快閃記憶體控制器,其中當該解碼器使用該第二解碼方法來解碼自該快閃記憶體模組接收的該資料時,該控制邏輯電路依據該臨界電壓分佈來更新該解碼器使用的多個對數似然比(log-likelihood ratio, LLR)值或一對數似然比表。
- 如申請專利範圍第1項所述之快閃記憶體控制器,其中該至少一記憶單元的每一記憶細胞係用來儲存複數個位元,每一記憶細胞具有複數個狀態,該複數個狀態係用來指出該複數個位元的不同組合,每一狀態係區分為複數個子狀態,以及每一記憶細胞的該多位元資訊係用來指出該記憶細胞具有哪一個子狀態。
- 如申請專利範圍第1項所述之快閃記憶體控制器,其中該控制邏輯電路依據該臨界電壓分佈來更新該控制電路中之一解碼器使用的多個對數似然比(log-likelihood ratio, LLR)值及/或一對數似然比表。
- 如申請專利範圍第7項所述之快閃記憶體控制器,其中該多個對數似然比值及/或該對數似然比表係在該解碼器解碼自該至少一記憶單元的該多個記憶細胞的該多位元資訊取得的資料時被更新。
- 一種用來存取一快閃記憶體模組的方法,其中該快閃記憶體模組包含至少一快閃記憶體晶片,每一快閃記憶體晶片包含複數個區塊,每一區塊包含複數個頁面,以及該方法包含: 發送一讀取指令至該快閃記憶體模組以請求至少一記憶單元(memory unit)上的資料; 自該快閃記憶體模組接收該至少一記憶單元的複數個記憶細胞(memory cell)的多位元資訊;以及 分析該複數個記憶細胞的該多位元資訊以取得該複數個記憶細胞的一臨界電壓分佈以供決定一解碼程序。
- 如申請專利範圍第9項所述之方法,另包含: 依據該臨界電壓分佈的多個谷值(valley)高度來決定一解碼器採用的一解碼方法。
- 如申請專利範圍第10項所述之方法,其中依據該臨界電壓分佈的該多個谷值高度來決定該解碼器採用的該解碼方法的步驟包含: 判斷該臨界電壓分佈的該多個谷值高度的任一者是否大於一臨界值以產生一判斷結果; 若該判斷結果指出該臨界電壓分佈中沒有任何谷值高度大於該臨界值,使用一第一解碼方法來解碼自該快閃記憶體模組接收的資料;以及 若該判斷結果指出該臨界電壓分佈的該多個谷值高度的任一者大於該臨界值,使用一第二解碼方法來解碼自該快閃記憶體模組接收的該資料。
- 如申請專利範圍第11項所述之方法,其中該第一解碼方法係一硬解碼方法(hard decoding method),以及該第二解碼方法係一軟解碼方法(soft decoding method)。
- 如申請專利範圍第12項所述之方法,另包含: 當使用該第二解碼方法來解碼自該快閃記憶體模組接收的該資料時,依據該臨界電壓分佈來更新該解碼器使用的多個對數似然比(log-likelihood ratio, LLR)值或一對數似然比表。
- 如申請專利範圍第9項所述之方法,其中該至少一記憶單元的每一記憶細胞係用來儲存複數個位元,每一記憶細胞具有複數個狀態,該複數個狀態係用來指出該複數個位元的不同組合,每一狀態係區分為複數個子狀態,以及每一記憶細胞的該多位元資訊係用來指出該記憶細胞具有哪一個子狀態。
- 如申請專利範圍第9項所述之方法,另包含: 依據該臨界電壓分佈來更新一解碼器使用的多個對數似然比(log-likelihood ratio, LLR)值及/或一對數似然比表。
- 如申請專利範圍第15項所述之方法,其中該多個對數似然比值及/或該對數似然比表係在該解碼器解碼自該至少一記憶單元的該多個記憶細胞的該多位元資訊取得的資料時被更新。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862700345P | 2018-07-19 | 2018-07-19 | |
US62/700,345 | 2018-07-19 | ||
US16/505,701 US11256425B2 (en) | 2018-07-19 | 2019-07-08 | Flash memory controller, flash memory module and associated electronic device |
US16/505,701 | 2019-07-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202008369A true TW202008369A (zh) | 2020-02-16 |
TWI725482B TWI725482B (zh) | 2021-04-21 |
Family
ID=69161320
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108123602A TWI692762B (zh) | 2018-07-19 | 2019-07-04 | 快閃記憶體控制器、快閃記憶體模組以及電子裝置 |
TW109109444A TWI709974B (zh) | 2018-07-19 | 2019-07-04 | 快閃記憶體控制器、快閃記憶體模組以及電子裝置 |
TW108125171A TWI727372B (zh) | 2018-07-19 | 2019-07-17 | 快閃記憶體控制器以及用來存取快閃記憶體模組的方法 |
TW110111810A TWI781568B (zh) | 2018-07-19 | 2019-07-17 | 快閃記憶體控制器以及用來存取快閃記憶體模組的方法 |
TW108125181A TWI725482B (zh) | 2018-07-19 | 2019-07-17 | 快閃記憶體控制器以及用來存取快閃記憶體模組的方法 |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108123602A TWI692762B (zh) | 2018-07-19 | 2019-07-04 | 快閃記憶體控制器、快閃記憶體模組以及電子裝置 |
TW109109444A TWI709974B (zh) | 2018-07-19 | 2019-07-04 | 快閃記憶體控制器、快閃記憶體模組以及電子裝置 |
TW108125171A TWI727372B (zh) | 2018-07-19 | 2019-07-17 | 快閃記憶體控制器以及用來存取快閃記憶體模組的方法 |
TW110111810A TWI781568B (zh) | 2018-07-19 | 2019-07-17 | 快閃記憶體控制器以及用來存取快閃記憶體模組的方法 |
Country Status (3)
Country | Link |
---|---|
US (5) | US11099781B2 (zh) |
CN (6) | CN110739017B (zh) |
TW (5) | TWI692762B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11610116B2 (en) | 2018-12-31 | 2023-03-21 | SK Hynix Inc. | Storage device performance optimization using deep learning |
TW202036570A (zh) * | 2019-03-27 | 2020-10-01 | 大陸商深圳大心電子科技有限公司 | 資料讀取方法、儲存控制器與儲存裝置 |
US11024391B1 (en) * | 2019-09-12 | 2021-06-01 | Toshiba Memory Corporation | System and method for estimating uninformed log-likelihood ratio (LLR) for NAND flash memories |
US11210028B2 (en) * | 2020-04-22 | 2021-12-28 | Silicon Motion, Inc. | Method for accessing flash memory module and associated flash memory controller and electronic device |
US11704234B2 (en) * | 2020-04-28 | 2023-07-18 | Silicon Motion, Inc. | Method for accessing flash memory module and associated package |
US11422826B2 (en) * | 2020-05-19 | 2022-08-23 | Micron Technology, Inc. | Operational code storage for an on-die microprocessor |
US11960989B2 (en) | 2020-07-24 | 2024-04-16 | SK Hynix Inc. | Read threshold estimation systems and methods using deep learning |
US11644981B2 (en) * | 2020-09-25 | 2023-05-09 | Micron Technology, Inc. | Semiconductor devices with security lock and associated methods and systems |
CN114327240A (zh) | 2020-09-29 | 2022-04-12 | 慧荣科技股份有限公司 | 计算机可读存储介质、闪存存储器的数据存储方法及装置 |
TWI754396B (zh) * | 2020-09-29 | 2022-02-01 | 慧榮科技股份有限公司 | 快閃記憶體的資料儲存方法及裝置以及電腦程式產品 |
JP2022081399A (ja) * | 2020-11-19 | 2022-05-31 | キオクシア株式会社 | 半導体メモリ及び不揮発性メモリ |
US11393539B2 (en) * | 2020-11-20 | 2022-07-19 | SK Hynix Inc. | Systems and methods for determining change of read threshold voltage |
CN113793635B (zh) * | 2021-11-08 | 2022-04-19 | 阿里云计算有限公司 | 存储装置和存储设备 |
US12039191B2 (en) | 2022-01-13 | 2024-07-16 | Kioxia Corporation | System and method for pre-soft-decoding tracking for NAND flash memories |
JP2023137685A (ja) * | 2022-03-18 | 2023-09-29 | キオクシア株式会社 | メモリシステム |
US11955199B2 (en) | 2022-06-21 | 2024-04-09 | Macronix International Co., Ltd. | Memory chip, memory device and operation method thereof |
TWI812295B (zh) * | 2022-06-21 | 2023-08-11 | 旺宏電子股份有限公司 | 記憶體裝置及其操作方法 |
TWI845341B (zh) * | 2023-06-12 | 2024-06-11 | 慧榮科技股份有限公司 | 快閃記憶體控制器、快閃記憶體裝置以及相應的方法 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1129257C (zh) | 2000-06-20 | 2003-11-26 | 华为技术有限公司 | 串行回溯的最大似然解码方法及其使用该方法的解码器 |
US7735037B2 (en) * | 2005-04-15 | 2010-06-08 | Rambus, Inc. | Generating interface adjustment signals in a device-to-device interconnection system |
KR100842583B1 (ko) | 2005-11-21 | 2008-07-01 | 삼성전자주식회사 | 통신 시스템에서 데이터 수신 방법 및 장치 |
JP4233563B2 (ja) | 2005-12-28 | 2009-03-04 | パナソニック株式会社 | 多値データを記憶する不揮発性半導体記憶装置 |
KR100829790B1 (ko) | 2006-10-20 | 2008-05-19 | 삼성전자주식회사 | 플래시 메모리 장치 및 플래시 메모리 장치의 데이터 독출방법 |
KR101378349B1 (ko) | 2008-01-30 | 2014-03-28 | 삼성전자주식회사 | 메모리 장치 및 메모리 데이터 읽기 방법 |
US9378835B2 (en) | 2008-09-30 | 2016-06-28 | Seagate Technology Llc | Methods and apparatus for soft data generation for memory devices based using reference cells |
US8023334B2 (en) * | 2008-10-31 | 2011-09-20 | Micron Technology, Inc. | Program window adjust for memory cell signal line delay |
US7907449B2 (en) * | 2009-04-09 | 2011-03-15 | Sandisk Corporation | Two pass erase for non-volatile storage |
US7898864B2 (en) | 2009-06-24 | 2011-03-01 | Sandisk Corporation | Read operation for memory with compensation for coupling based on write-erase cycles |
US8549385B2 (en) | 2009-12-15 | 2013-10-01 | Marvell World Trade Ltd. | Soft decoding for quantizied channel |
TW201508759A (zh) | 2010-04-19 | 2015-03-01 | Silicon Motion Inc | 用來進行記憶體存取管理之方法以及記憶裝置及其控制器 |
WO2012102785A2 (en) | 2011-01-27 | 2012-08-02 | Rambus Inc. | Memory cell with multiple sense mechanisms |
JP2012181761A (ja) | 2011-03-02 | 2012-09-20 | Toshiba Corp | 半導体メモリ装置および復号方法 |
US8990665B1 (en) * | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
JP2012244305A (ja) | 2011-05-17 | 2012-12-10 | Toshiba Corp | メモリコントローラ、半導体メモリ装置、および復号方法 |
US9076547B2 (en) * | 2012-04-05 | 2015-07-07 | Micron Technology, Inc. | Level compensation in multilevel memory |
US9047210B2 (en) * | 2011-09-15 | 2015-06-02 | Sandisk Technologies Inc. | Data storage device and method to correct bit values using multiple read voltages |
US8760932B2 (en) * | 2011-10-18 | 2014-06-24 | Seagate Technology Llc | Determination of memory read reference and programming voltages |
KR101835605B1 (ko) * | 2011-11-24 | 2018-03-08 | 삼성전자 주식회사 | 플래시 메모리 시스템 및 플래시 메모리 시스템의 리드 방법 |
US9177664B2 (en) | 2012-02-22 | 2015-11-03 | Silicon Motion, Inc. | Method, memory controller and system for reading data stored in flash memory |
US20130343131A1 (en) | 2012-06-26 | 2013-12-26 | Lsi Corporation | Fast tracking for flash channels |
TWI594254B (zh) | 2012-07-17 | 2017-08-01 | 慧榮科技股份有限公司 | 讀取快閃記憶體中區塊之資料的方法及相關的記憶裝置 |
KR101984900B1 (ko) | 2012-07-24 | 2019-05-31 | 삼성전자 주식회사 | 메모리 장치 및 상기 메모리 장치의 독출 전압 결정 방법 |
KR101979734B1 (ko) * | 2012-08-07 | 2019-05-17 | 삼성전자 주식회사 | 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법 |
KR102081415B1 (ko) | 2013-03-15 | 2020-02-25 | 삼성전자주식회사 | 비휘발성 메모리 장치의 llr 최적화 방법 및 비휘발성 메모리 장치의 에러 정정 방법 |
CN104217762B (zh) * | 2013-05-31 | 2017-11-24 | 慧荣科技股份有限公司 | 数据储存装置及其错误校正方法以及数据读取方法 |
KR102120823B1 (ko) | 2013-08-14 | 2020-06-09 | 삼성전자주식회사 | 비휘발성 메모리 장치의 독출 시퀀스 제어 방법 및 이를 수행하는 메모리 시스템 |
CN104601178B (zh) | 2013-10-30 | 2018-02-02 | 群联电子股份有限公司 | 解码方法、解码电路、存储器存储装置与控制电路单元 |
CN104851458B (zh) | 2014-02-18 | 2019-02-05 | 群联电子股份有限公司 | 解码方法、存储器存储装置与存储器控制电路单元 |
KR102190241B1 (ko) | 2014-07-31 | 2020-12-14 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템 |
US9406377B2 (en) | 2014-12-08 | 2016-08-02 | Sandisk Technologies Llc | Rewritable multibit non-volatile memory with soft decode optimization |
US9502127B2 (en) | 2015-03-17 | 2016-11-22 | Sk Hynix Memory Solutions Inc. | System optimization in flash memories |
KR20160149463A (ko) * | 2015-06-18 | 2016-12-28 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템의 동작방법 |
US9659637B2 (en) * | 2015-08-11 | 2017-05-23 | Western Digital Technologies, Inc. | Correlating physical page addresses for soft decision decoding |
TWI571742B (zh) | 2015-10-07 | 2017-02-21 | 慧榮科技股份有限公司 | 資料儲存裝置及資料維護方法 |
US10289313B2 (en) | 2016-06-28 | 2019-05-14 | Intel Corporation | Method and apparatus for improving sequential reading in NAND flash |
KR102617832B1 (ko) | 2016-08-12 | 2023-12-27 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 |
US9703494B1 (en) * | 2016-09-26 | 2017-07-11 | Intel Corporation | Method and apparatus for protecting lower page data during programming in NAND flash |
KR102687216B1 (ko) | 2016-10-12 | 2024-07-22 | 삼성전자주식회사 | 비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치 |
KR20180064088A (ko) | 2016-12-05 | 2018-06-14 | 에스케이하이닉스 주식회사 | 메모리 제어 장치 및 방법 |
US10186325B2 (en) * | 2017-03-07 | 2019-01-22 | Intel Corporation | Method and apparatus for shielded read to reduce parasitic capacitive coupling |
US10922220B2 (en) * | 2017-07-01 | 2021-02-16 | Intel Corporation | Read and program operations in a memory device |
US10062441B1 (en) * | 2017-08-31 | 2018-08-28 | Micron Technology, Inc. | Determining data states of memory cells |
US20190227743A1 (en) * | 2018-01-23 | 2019-07-25 | Micron Technology, Inc. | Identifying a read operation for a storage device based on a workload of a host system |
KR20190092937A (ko) | 2018-01-31 | 2019-08-08 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
-
2019
- 2019-06-02 US US16/429,057 patent/US11099781B2/en active Active
- 2019-07-04 TW TW108123602A patent/TWI692762B/zh active
- 2019-07-04 TW TW109109444A patent/TWI709974B/zh active
- 2019-07-08 US US16/505,701 patent/US11256425B2/en active Active
- 2019-07-09 US US16/505,725 patent/US11086567B2/en active Active
- 2019-07-17 CN CN201910647336.XA patent/CN110739017B/zh active Active
- 2019-07-17 CN CN201910647337.4A patent/CN110739018B/zh active Active
- 2019-07-17 CN CN202210227507.5A patent/CN114708897A/zh active Pending
- 2019-07-17 TW TW108125171A patent/TWI727372B/zh active
- 2019-07-17 CN CN202210210239.6A patent/CN114694717A/zh active Pending
- 2019-07-17 CN CN202111080198.5A patent/CN113990374A/zh active Pending
- 2019-07-17 CN CN201910647330.2A patent/CN110739016B/zh active Active
- 2019-07-17 TW TW110111810A patent/TWI781568B/zh active
- 2019-07-17 TW TW108125181A patent/TWI725482B/zh active
-
2021
- 2021-07-05 US US17/367,438 patent/US11494085B2/en active Active
- 2021-07-15 US US17/376,192 patent/US11494086B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20210334045A1 (en) | 2021-10-28 |
US20200026470A1 (en) | 2020-01-23 |
TW202016724A (zh) | 2020-05-01 |
TW202008366A (zh) | 2020-02-16 |
CN110739016B (zh) | 2021-10-15 |
US20200026471A1 (en) | 2020-01-23 |
US20200026475A1 (en) | 2020-01-23 |
TWI725482B (zh) | 2021-04-21 |
US11256425B2 (en) | 2022-02-22 |
US11099781B2 (en) | 2021-08-24 |
TW202029189A (zh) | 2020-08-01 |
CN110739017A (zh) | 2020-01-31 |
US11494086B2 (en) | 2022-11-08 |
TWI692762B (zh) | 2020-05-01 |
CN110739017B (zh) | 2022-03-25 |
CN110739016A (zh) | 2020-01-31 |
TWI727372B (zh) | 2021-05-11 |
TWI709974B (zh) | 2020-11-11 |
CN114694717A (zh) | 2022-07-01 |
CN114708897A (zh) | 2022-07-05 |
TWI781568B (zh) | 2022-10-21 |
US11086567B2 (en) | 2021-08-10 |
CN113990374A (zh) | 2022-01-28 |
TW202131164A (zh) | 2021-08-16 |
CN110739018A (zh) | 2020-01-31 |
CN110739018B (zh) | 2022-03-25 |
US11494085B2 (en) | 2022-11-08 |
US20210342101A1 (en) | 2021-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI725482B (zh) | 快閃記憶體控制器以及用來存取快閃記憶體模組的方法 | |
TWI474330B (zh) | 用來進行記憶體存取管理之方法以及記憶裝置及其控制器 | |
US8902653B2 (en) | Memory devices and configuration methods for a memory device | |
KR100902008B1 (ko) | 메모리 셀에 멀티 비트 데이터를 저장하는 플래시 메모리를 포함한 메모리 시스템 | |
US10324785B2 (en) | Decoder using low-density parity-check code and memory controller including the same | |
TWI798630B (zh) | 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 | |
CN107608817B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
TWI782458B (zh) | 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 | |
US9952981B2 (en) | Read cache management in multi-level cell (MLC) non-volatile memory | |
CN118830023A (zh) | Nand存储器的基于虚拟数据的读取参考电压搜索 | |
CN118511223A (zh) | 3d nand存储器的最佳读取参考电压搜索 |