[go: up one dir, main page]

TWI782458B - 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 - Google Patents

用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 Download PDF

Info

Publication number
TWI782458B
TWI782458B TW110110624A TW110110624A TWI782458B TW I782458 B TWI782458 B TW I782458B TW 110110624 A TW110110624 A TW 110110624A TW 110110624 A TW110110624 A TW 110110624A TW I782458 B TWI782458 B TW I782458B
Authority
TW
Taiwan
Prior art keywords
flash memory
states
memory
read
memory cells
Prior art date
Application number
TW110110624A
Other languages
English (en)
Other versions
TW202226252A (zh
Inventor
楊宗杰
Original Assignee
慧榮科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Publication of TW202226252A publication Critical patent/TW202226252A/zh
Application granted granted Critical
Publication of TWI782458B publication Critical patent/TWI782458B/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

一種用以存取一快閃記憶體模組的方法,包含:將一讀取指令發送至該快閃記憶體模組,以藉由使用複數個讀取電壓來讀取複數個記憶體單元,其中每個記憶體單元可用以儲存複數個位元,每個記憶體單元具有複數個狀態,該複數個狀態用於指示該複數個位元的不同組合;從該快閃記憶體模組中獲取一讀出信息;分析該讀出信息以決定該複數個記憶體單元之該複數個狀態的數量;根據該複數個記憶體單元之該複數個狀態的數量,判斷該複數個記憶體單元是平衡的還是不平衡的,以產生一判斷結果;以及參考該判斷結果來調整該複數個讀取電壓的電壓準位。

Description

用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子 裝置
本發明係相關於一種快閃記憶體控制器,尤指一種快閃記憶體模組存取方法以及相關的快閃記憶體控制器。
近年來由於記憶體的技術不斷地發展,各種可攜式或非可攜式記憶體裝置(例如:分別符合SD/MMC、CF、MS以及XD標準的記憶卡;又例如:固態硬碟(solid state drive,SSD);又例如:分別符合通用快閃記憶體儲存(Universal Flash Storage,UFS)與嵌入式多媒體卡(embedded Multi Media Card,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)並不好。因此,需要一種新方法和相關結構,以在沒有任何副作用或較不會帶來副作用的情況下提升整體效能。
本發明之一目的在於提供一種用以存取一快閃記憶體模組的方法,其使用一主動前景掃描以判斷出適當的讀取電壓,來讀取儲存於該快閃記憶體 模組的資料,以解決上述的問題。
本發明一實施例揭示了一種用以存取一快閃記憶體模組的方法,包含以下步驟:將一讀取指令發送至該快閃記憶體模組,以藉由使用複數個讀取電壓來讀取該快閃記憶體模組的至少一個字元線的複數個記憶體單元,其中每個記憶體單元可用以儲存複數個位元,每個記憶體單元具有複數個狀態,該複數個狀態用於指示該複數個位元的不同組合;從該快閃記憶體模組中獲取一讀出信息;分析該讀出信息以確定該複數個記憶體單元之該複數個狀態的數量;根據該複數個記憶體單元之該複數個狀態的數量,判斷該複數個記憶體單元是平衡的還是不平衡的,以產生一判斷結果;以及參考該判斷結果來調整該複數個讀取電壓的電壓準位。
本發明另一實施例揭示了一種快閃記憶體控制器,其中該快閃記憶體控制器耦接至一快閃記憶體模組,該快閃記憶體模組包含至少一快閃記憶體晶片,每一快閃記憶體晶片包含複數個區塊,每一區塊包含複數個分頁,以及該快閃記憶體控制器包含一記憶體以及一微處理器,該記憶體是用來儲存一程式碼,該微處理器是用來執行該程式碼以透過一控制邏輯電路來存取該快閃記憶體模組,其中該微處理器用以:將一讀取指令發送至該快閃記憶體模組,以藉由使用複數個讀取電壓來讀取該快閃記憶體模組的至少一個字元線的複數個記憶體單元,其中每個記憶體單元可用以儲存複數個位元,每個記憶體單元具有複數個狀態,該複數個狀態用於指示該複數個位元的不同組合;從該快閃記憶體模組中獲取一讀出信息;分析該讀出信息以決定該複數個記憶體單元之該複數個狀態的數量;根據該複數個記憶體單元之該複數個狀態的數量,判斷該複數個記憶體單元是平衡的還是不平衡的,以產生一判斷結果;以及參考該判 斷結果來調整該複數個讀取電壓的電壓準位。
本發明又另一實施例揭示了一種電子裝置,包含一快閃記憶體模組以及一快閃記憶體控制器,該快閃記憶體控制器是用以存取該快閃記憶體模組,其中該快閃記憶體控制器另用以:將一讀取指令發送至該快閃記憶體模組,以藉由使用複數個讀取電壓來讀取該快閃記憶體模組的至少一個字元線的複數個記憶體單元,其中每個記憶體單元可用以儲存複數個位元,每個記憶體單元具有複數個狀態,該複數個狀態用於顯示該複數個位元的不同組合;從該快閃記憶體模組中獲取一讀出信息;分析該讀出信息以決定該複數個記憶體單元之該複數個狀態的數量;根據該複數個記憶體單元之該複數個狀態的數量,判斷該複數個記憶體單元是平衡的還是不平衡的,以產生一判斷結果;以及參考該判斷結果來調整該複數個讀取電壓的電壓準位。
10:電子裝置
50:主機裝置
52:處理器
54:電源供應電路
100:記憶體裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:控制邏輯電路
132:編碼器
134:解碼器
136:隨機化器
138:去隨機化器
116:隨機存取記憶體
118:傳輸介面電路
120:快閃記憶體模組
122-1,122-2,122-N:快閃記憶體晶片
400,402,404,406,408,410:步驟
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):次要電路模組
VR1,VR2,VR3,VR4,VR5, VR6,VR7,VR11,VR12,VR13,VR14,VR15,VR12',VR13',VR14',VR15':讀取電壓
S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15:狀態
700,702,704,706,708,710:步驟
800,802,804,806,808,810,812:步驟
第1圖是依據本發明一實施例的一電子裝置的示意圖。
第2圖是依據本發明一實施例的一三維NAND型快閃記憶體的示意圖。
第3圖是依據本發明一實施例的一四階儲存單元區塊中的一記憶體單元的複數個狀態(編程狀態)的示意圖。
第4圖是依據本發明一實施例之用來存取快閃記憶體模組的方法的流程圖。
第5圖是依據本發明一實施例的記憶體單元的狀態的直方圖。
第6圖是依據本發明一實施例的記憶體單元的閾值電壓分布的示意圖。
第7圖是依據本發明一實施例之用來將資料寫入快閃記憶體模組的方法的流程圖。
第8圖是依據本發明一實施例的一種用來存取快閃記憶體模組的方法的流程圖。
請參考第1圖,第1圖是本發明一實施例的一電子裝置10的示意圖,其中電子裝置10可包含一主機裝置(host device)50以及一記憶體裝置(memory device)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可包含一快閃記憶體控制器(flash memory controller)110,且可另包含一快閃記憶體模組(flash memory module)120,其中快閃記憶體控制器110可用以控制記憶體裝置100的運作以及存取快閃記憶體模組120,以及快閃記憶體模組120係用以儲存資訊。快閃記憶體模組120可包含至少一快閃記憶體晶片,例如複數個快閃記憶體晶片122-1、122-2、…、122-N,其中「N」可表示大於1之正整數。
如第1圖所示,快閃記憶體控制器110可包含一處理電路(例如一微處理器112)、一儲存單元(例如一唯讀記憶體(read-only memory,ROM)112M)、一控制 邏輯電路114、一隨機存取記憶體(random access memory,RAM)116以及一傳輸介面電路118,其中上述元件可經由一匯流排(bus)彼此耦接。隨機存取記憶體116係以一靜態隨機存取記憶體(Static RAM,SRAM)來實施,但本發明不限於此。隨機存取記憶體116可用以提供內部儲存空間給快閃記憶體控制器110,舉例來說,隨機存取記憶體116可用來作為一緩衝記憶體以緩衝資料。另外,本實施例的唯讀記憶體112M可用以儲存一程式碼112C,且微處理器112可用以執行程式碼112C以控制快閃記憶體模組120的存取。請注意,在某些例子中,程式碼112C可儲存在隨機存取記憶體116或任何型式的記憶體內。此外,控制邏輯電路114可用以控制快閃記憶體模組120,且控制邏輯電路114可包含一編碼器132、一解碼器134、一隨機化器(randomizer)136、一去隨機化器(de-randomizer)138以及其他電路。傳輸介面電路118可符合一特定通信標準(諸如串列高級技術附件(Serial Advanced Technology Attachment,SATA)標準、外設組件互聯(Peripheral Component Interconnect,PCI)標準、快捷外設組件互聯標準、通用快閃儲存(Universal Flash Storage,UFS)標準等等),且可依據該特定通訊標準進行通訊,舉例來說,可以為了記憶體裝置100而和主機裝置50進行通訊,其中主機裝置50可包含符合該特定通訊標準之對應的傳輸介面電路,來和記憶體裝置100進行通訊。
在本實施例中,主機裝置50可將主機指令(host command)與對應的邏輯位址(logical address)傳送至快閃記憶體控制器110以存取記憶體裝置100,快閃記憶體控制器110接收主機指令及邏輯位址,並將主機指令轉換成記憶體操作指令(可簡稱為操作指令),並進一步以操作指令控制快閃記憶體模組120來對快閃記憶體模組120當中某些實體位址之記憶體單元(例如資料分頁)進行讀取、寫入(write)/編程(program)等操作,其中實體位址對應於邏輯位址。當快閃記憶體控制器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)}},且可另包含用於進行選擇控制的複數個選擇電路(selector circuit),諸如被排列於該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型快閃記憶體可包含用於進行選取控制的複數條選擇線(selection line),諸如被排列於該上方層的Ny條上方選擇線BLS(1)、BLS(2)、…及BLS(Ny)、以及被排列於該下方層的Ny條下方選擇線SLS(1)、SLS(2)、…及SLS(Ny),且可另包含用於提供多個參考位準的複數條源極線,諸如被排列於該下方層下面的一底部層(bottom layer)的Ny個源極線(source line)SL(1)、SL(2)、…及SL(Ny)。
如第2圖所示,該三維NAND型快閃記憶體可被區分成沿著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)電路模組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)上的選擇訊號來進行選擇。
在快閃記憶體模組120中,當快閃記憶體晶片122-1~122-N中任一者的區塊作為單階儲存單元(single-level cell,SLC)區塊時,該區塊內的每一實體分頁對應於一邏輯分頁,亦即該分頁的每個記憶體單元僅用以儲存一位元,其中一實體分頁可包含由一字元線所控制的多個電晶體(例如對應至對應的字元線WL(1,Nz)的記憶體單元M(1,1,Nz)~M(Nx,1,Nz)形成一實體分頁)。當快閃記憶體晶片122-1~122-N中任一者的區塊作為多階儲存單元(multiple-level cell,MLC)區塊時,該區塊內的每一實體分頁對應於二個邏輯分頁,亦即該分頁的每個記憶體單元用以儲存二個位元。當快閃記憶體晶片122-1~122-N中任一者的區塊作為三階儲存單元(triple-level cell,TLC)區塊時,該區塊內的每一實體分頁對應於三個邏輯分頁,亦即該分頁的每個記憶體單元用以儲存三個位元。當快閃記憶體晶片122-1~122-N中任一者的區塊作為四階儲存單元(quad-level cell,QLC)區塊時,該區塊內的每一實體分頁對應於四個邏輯分頁,亦即該分頁的每個記憶體單元用以儲存四個位元。
第3圖是依據本發明一實施例的一四階儲存單元區塊中的一記憶體單元的複數個狀態(編程狀態)的示意圖。如第3圖所示,每一記憶體單元可具有十六種狀態,且每一狀態代表四個位元的不同組合,分別稱為一最高位元(top bit)、一較高位元(upper bit)、一中間位元(middle bit)以及一較低位元(lower bit)。在第3圖的實施例中,當該記憶體單元被編程為一狀態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」。
需注意的是,第3圖中所示的格雷碼(gray code)僅用於說明,而不是對本發明的限制。任何合適的格雷碼都可以在記憶體裝置100中使用,且用於判斷最高位元、較高位元、中間位元和較低位元的讀取電壓可以相對應地改變。
藉由使用讀取電壓VR1~VR15中的一部分讀取電壓從記憶體單元讀取的位元可以被視為一符號位元(sign bit),並且從多個記憶體單元(例如4K個記憶體單元)獲得的符號位元由去隨機化器138處理並且由解碼器134執行一錯誤更正(error correction)操作以生成該編碼資料。然而,由於QLC區塊內的記憶體單元的狀態間隔較小,因此這些狀態可能由於快閃記憶體中發生的讀取干擾、編程干擾或資料保留問題而具有嚴重的變動(variation),且該錯誤更正操作也可能會失敗。為了解決這個問題,傳統技術可進一步施加額外的讀取電壓來讀取記憶體單元以獲得多個軟位元(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使用LDPC方法對具有第一組軟位元及第二組軟位元的符號位元進行解碼,以此類推。
鑑於以上所述,如果快閃記憶體控制器110需要從快閃記憶體模組120內的QLC區塊讀取資料,則快閃記憶體控制器110可以讀取記憶體單元並對資料進行多次解碼以成功解碼獲得軟位元,每次快閃記憶體控制器110讀取記憶體單元都需要向快閃記憶體模組120發送讀取指令,且快閃記憶體模組120需要一讀取繁忙時間(read busy time)來讀取符號位元或軟位元,因此,傳統讀取機制用於具有諸如QLC塊的高密度儲存的3D NAND快閃記憶體時效率較低。
為了解決上述問題,本發明的實施例提供了一種主動檢測狀態之信息的方法,以判斷快閃記憶體中的狀態是否因為讀取干擾、編程干擾或資料保留問題而發生變動,然後快閃記憶體控制器110可控制讀取電壓VR1~VR15的一部分使其具有適當的準位,以使快閃記憶體控制器110可以提升解碼成功率,進一步提高系統效率。
第4圖是依據本發明一實施例之用來存取快閃記憶體模組120的方法的流程圖。在步驟400中,流程開始,且主機裝置50以及記憶體裝置100被上電。在步驟402中,快閃記憶體控制器110發送一讀取指令至快閃記憶體模組120以要求讀取一或多個分頁的資料。在步驟404中,快閃記憶體模組120接收該讀取指令,並使用所有讀取電壓來讀取分頁中的所有記憶體單元以產生一讀出信息,而快閃記憶體模組120將該讀出信息發送至快閃記憶體控制器110。以第3圖為例,快閃記憶體模組120利用讀取電壓VR1~VR15讀取一字元線上的每個記憶體單元以獲得四個分頁的資料,因為所有讀取電壓VR1~VR15都被使用於讀取記憶體單元,所以快閃記憶體控制器110可以準確知道第3圖中所示的每種狀態的數量。在步驟406中,在從快閃記憶體模組120依序接收資料的過程中,快閃記憶體控制器110判斷至少一部分記憶體單元的狀態的數量是平衡的還是不平衡的,以 產生一判斷結果,若該判斷結果指示部分記憶體單元的狀態數量為平衡的,則流程進入步驟408;若該判斷結果指示部分記憶體單元的狀態數量為不平衡的,則流程進入步驟410。
具體而言,因為寫入到快閃記憶體模組120中的資料是之前由隨機化器136處理過,所以狀態S0~S15的數量應該彼此接近。舉例來說,如果快閃記憶體控制器110從快閃記憶體模組120接收到一萬六千個記憶體單元的最高有效位元(most significant bit,MSB),則一萬六千個記憶體單元的16個狀態S0~S15中的每個狀態的數量應約為「1000」。若狀態的數量之間的差在一定義的範圍內,則判斷狀態的數量為平衡的;若狀態的數量之間的差不在該定義的範圍內,則判斷為狀態的數量為不平衡的。舉例來說,快閃記憶體控制器110可以建立如第5圖所示的直方圖。如第5圖所示,理想中,狀態S0~S15具有相似的數量,且若分頁有資料保留或讀取干擾等問題,則記憶體單元可能具有閾值偏移問題。在第5圖所示的例子中,狀態S15偏移到其他狀態(例如狀態S12~S14),因此一感測放大器(sense amplifier)不會從任何記憶體單元感測出狀態S15,並且該閾值偏移問題的現象會導致不平衡的狀態數量。
若快閃記憶體控制器110確定至少一部分記憶體單元的狀態的數量為平衡的,則流程進入步驟408,且快閃記憶體控制器110可以控制快閃記憶體模組120使用原始讀取電壓以讀取後續的分頁。如果快閃記憶體控制器110判斷至少一部分記憶體單元的狀態的數量為不平衡的,則流程進入步驟410,且快閃記憶體控制器110調整讀取電壓VR1~VR15的一部分,以便快閃記憶體控制器110可以控制快閃記憶體模組120使用具有適當電壓準位之調整後的讀取電壓來讀取後續的分頁。
關於步驟406,微處理器112或控制邏輯114可計算記憶體單元的每個狀態的數量與理想值之間的差,以產生該判斷結果,以進一步判斷至少一部分記憶體單元的狀態是平衡的還是不平衡的。具體而言,請參照第5圖,假設記憶體單元的每個狀態的理想數量為「1000」,並且狀態S0至S15的實際數量分別為「1002」、「990」、「980」、「1028」、「1010」「990」、「1010」、「1100」、「1050」、「1050」、「1020」、「1000」、「1300」、「1300」、「1180」以及「0」,微處理器112或控制邏輯114可以計算出與狀態S0至S15相對應的差如下:「2」、「-10」、「-20」、「28」、「10」、「-10」、「10」、「100」、「50」、「50」、「20」、「0」、「300」、「300」、「180」以及「-1000」。在一個實施例中,若任何一個差大於一閾值(例如「80」),則微處理器112或控制邏輯114判斷記憶體單元的狀態為不平衡的;若每個差均不大於該閾值,則微處理器112或控制邏輯114判斷記憶體單元的狀態為平衡的。
關於步驟410,微處理器112或控制邏輯114可以參考在步驟406中計算出的差以決定更新後的讀取電壓。舉例來說,微處理器112或控制邏輯114可以依據與狀態S14和S15相對應的差以決定更新後的讀取電壓VR15',微處理器112或控制邏輯114可以依據更新後的讀取電壓VR15'以及與狀態S13和S14相對應的差以決定更新後的讀取電壓VR14',微處理器112或控制邏輯114可以依據更新後的讀取電壓VR14'以及與狀態S12和S13相對應的差以決定更新後的讀取電壓VR13',微處理器112或控制邏輯114可以依據更新後的讀取電壓VR13'以及與狀態S11和S12相對應的差來決定更新後的讀取電壓VR12',依此類推。可以在一查找表中建立上述參數(例如,更新後的讀取電壓)與差之間的關係,且微處理器112或控制邏輯114可以參考在步驟406中計算出的差,再通過使用查找表以決定更新後的讀取電壓。第6圖顯示出了用於代替原始讀取電壓VR12、VR13、VR14以及VR15的更 新後的讀取電壓VR12'、VR13'、VR14'及VR15'。請參考第6圖,因為狀態S15、S14、S13及S12向左移動,所以微處理器112或控制邏輯114將讀取電壓VR12、VR13、VR14及VR15向左調整以產生更新後的讀取電壓VR12'、VR13'、VR14'及VR15',其具有比先前更低的電壓準位。
第4圖所顯示的流程可以在前景操作及/或背景操作中執行。以背景操作為例,當快閃記憶體控制器110被判斷為空閒狀態時,微處理器112可以開始第4圖所顯示的流程,以將讀取指令發送到快閃記憶體模組120。舉例來說,當快閃記憶體控制器110在幾秒鐘內沒有從主機裝置50接收任何讀取指令或寫入指令時,微處理器112可以確定快閃記憶體控制器110是處於空閒狀態的。以前景操作為例,當快閃記憶體控制器110從主機裝置50接收到讀取指令時,快閃記憶體控制器110將讀取指令發送給快閃記憶體模組120,以獲得主機裝置50所需的讀出信息,且快閃記憶體控制器110可進一步使用從快閃記憶體模組120讀取的讀出信息來執行步驟406/408/410。另外,如果主機裝置50發送讀取指令以請求僅一個邏輯分頁(例如,僅有一字元線上的記憶體單元的較高位元),則快閃記憶體控制器110可以使用讀取電壓VR1~VR15中所有的讀取電壓以讀取字元線的記憶體單元的最高位元、較高位元、中間位元以及較低位元,以用於判斷記憶體單元的狀態是平衡的還是不平衡的(步驟406);以及解碼器134和解隨機化器138可以只處理與較高位元相對應的讀出信息,以產生資料到主機裝置50。
在一個實施例中,因為第4圖所顯示的流程可能佔用系統資源,所以當更新後的讀取電壓更加合適時,可以禁用(disable)第4圖的流程。舉例來說,如果主機裝置50發送一讀取指令以請求讀取在一區塊內的五十個邏輯分頁,則快閃記憶體控制器110可以使用所讀出的信息的一部分(例如十二個邏輯分頁)來判 斷記憶體單元的狀態為平衡的或不平衡的。
在第4~6圖所顯示的上述實施例中,微處理器112或控制邏輯114可以計算記憶體單元的每個狀態的數量與理想值之間的差,以產生該判斷結果,其中理想值是每個狀態的一平均值。例如,如果讀取了一萬六千個記憶體單元,並且有十六個狀態S0-S15,則理想值(平均值)為「1000」。然而,使用平均值作為理想值在決定調整後的讀取電壓時可能會產生誤差,為了解決這個問題,當資料寫入快閃記憶體模組120時,可記錄記憶體單元的每個狀態的數量(以下稱為記憶體單元的每個狀態的原始數量),將其作為理想值並用於計算記憶體單元的每種狀態的數量與理想值之間的差。
具體而言,第7圖顯示出了依據本發明一個實施例之記錄狀態S0至S15的原始數量的流程。在步驟700中,流程開始。在步驟702中,快閃記憶體控制器110從主機裝置50接收寫入指令和資料,其中該資料對應於四個邏輯分頁(即,該資料可以存儲在單一字元線的記憶體單元中)。在步驟704中,隨機化器136對資料執行一資料成形(data shaping)操作以產生一隨機資料。在步驟706中,編碼器132對該隨機資料進行編碼以產生一編碼資料,其中,該編碼資料包括該隨機資料和對應的一錯誤更正碼(error correcting code,ECC)。在步驟708中,控制邏輯電路114計算狀態S0至S15的數量(原始數量)。具體而言,控制邏輯電路114可以參考第3圖所示的格雷碼來計算狀態S0至S15的數量,舉例來說,假設該編碼資料對應於分別命名為最高分頁(top page)、較高分頁(upper page)、中間分頁(middle page)及較低分頁(lower page)的四個邏輯分頁,當準備寫入記憶體單元的最高分頁、較高分頁、中間分頁及較低分頁的位元分別為「1」、「1」、「1」、「1」時,判斷記憶體單元對應狀態S0;當準備寫入記憶體單元的最高分頁、較高分 頁、中間分頁及較低分頁的位元分別為「1」、「1」、「1」、「0」時,判斷記憶體單元對應狀態S1;當準備寫入記憶體單元的最高分頁、較高分頁、中間分頁及較低分頁的位元分別為「1」、「0」、「1」、「0」時,判斷記憶體單元對應狀態S2;當準備寫入記憶體單元的最高分頁、較高分頁、中間分頁及較低分頁的位元分別為「1」、「0」、「0」、「0」時,判斷記憶體單元對應狀態S3,以此類推。在步驟710中,快閃記憶體控制器110將具有記憶體單元之狀態的原始數量的編碼資料寫入字元線的分頁中,具體而言,可以藉由編碼器132對記憶體單元的原始數量的信息進行編碼以進行資料保護,然後將其記錄在字元線的一或多個分頁的一備用區域(spare region)或一元集(meta chunk)當中。
第8圖是依據本發明一實施例之用來存取快閃記憶體模組120的方法的流程圖。在步驟800中,流程開始,且主機裝置50以及記憶體裝置100被上電。在步驟802中,快閃記憶體控制器110向快閃記憶體模組120發送一讀取指令,並請求一或多個分頁的資料。在步驟804中,快閃記憶體模組120接收該讀取指令,並使用所有讀取電壓讀取分頁的所有記憶體單元以產生一讀出信息,而快閃記憶體模組120將該讀出信息發送給快閃記憶體控制器110。以第3圖為例,快閃記憶體模組120利用讀取電壓VR1~VR15以讀取一字元線上的每個記憶體單元以獲得四個分頁的讀出信息,由於所有讀取電壓VR1~VR15都用於讀取記憶體單元,所以快閃記憶體控制器110可以準確知道第3圖中所顯示之每種狀態的數量。在步驟806中,解碼器134對讀出信息進行解碼以獲得該字元線上的記憶體單元的16個狀態S0至S15的原始數量。在步驟808中,在從快閃記憶體模組120依序接收資料的過程中,快閃記憶體控制器110判斷至少一部分記憶體單元的狀態數量是平衡的還是不平衡的,以產生一判斷結果,若該判斷結果指示該至少一部分記憶體單元的狀態數量為平衡的,則流程進入步驟810;若該判斷結果指示該至少一 部分記憶體單元的狀態數量是不平衡的,則流程進入步驟812。
關於步驟808,微處理器112或控制邏輯114可以計算記憶體單元的每種狀態的數量與理想值(即每種狀態的原始數量)之間的差,以產生判斷結果,並用以判斷至少一部分記憶體單元的狀態是平衡的或是不平衡的。具體而言,類似於第5圖中所示的實施例,假設狀態S0至S15的原始數量分別為「950」、「990」、「1020」、「1030」、「1020」、「1030」、「960」、「1000」、「1010」、「990」、「950」、「1050」、「1100」、「1100」、「1050」以及「650」,且狀態S0~S15的實際數量分別為「1002」、「990」、「980」、「1028」、「1010」、「990」、「1010」、「1100」、「1050」、「1050」、「1020」、「1000」、「1300」、「1300」、「1180」以及「0」,則微處理器112或控制邏輯114可以計算出對應於狀態S0至S15的差如下:「52」、「0」、「-40」、「-2」、「-10」、「-40」、「50」、「100」、「40」、「60」、「70」、「-50」、「200」、「200」、「130」以及「-650」。在一個實施例中,若任何一個差大於一閾值,則微處理器112或控制邏輯114判斷記憶體單元的狀態為不平衡的;若每一個差均不大於該閾值,則微處理器112或控制邏輯114判斷記憶體單元的狀態為平衡的。
簡而言之,在本發明快閃記憶體模組的存取方法中,由於依據記憶體單元的狀態信息來調整讀取電壓,因此僅使用硬解碼方法就可以成功解碼大部分的讀取信息,僅少量的讀取信息需要使用軟解碼方法(例如低密度奇偶校驗碼方法)來解碼,因此,解碼器的操作變得更快,並且快閃記憶體控制器的效率也可以提升。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10:電子裝置
50:主機裝置
52:處理器
54:電源供應電路
100:記憶體裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:控制邏輯電路
132:編碼器
134:解碼器
136:隨機化器
138:去隨機化器
116:隨機存取記憶體
118:傳輸介面電路
120:快閃記憶體模組
122-1,122-2,122-N:快閃記憶體晶片

Claims (19)

  1. 一種用以存取一快閃記憶體模組的方法,包含:將一讀取指令發送至該快閃記憶體模組,以藉由使用複數個讀取電壓來讀取該快閃記憶體模組的至少一個字元線的複數個記憶體單元,其中每個記憶體單元可用以儲存複數個位元,每個記憶體單元具有複數個狀態中的其一,該複數個狀態用於指示該複數個位元的不同組合;從該快閃記憶體模組中獲取一讀出信息;分析該讀出信息以決定該複數個記憶體單元之該複數個狀態的數量,其中該複數個狀態的數量係包含該複數個狀態中每一個狀態的數量;根據該複數個記憶體單元之該複數個狀態的數量,判斷該複數個記憶體單元是平衡的還是不平衡的,以產生一判斷結果;以及參考該判斷結果來調整該複數個讀取電壓的電壓準位。
  2. 如申請專利範圍第1項所述之方法,其中判斷該複數個記憶體單元是平衡的還是不平衡的之步驟包含:藉由計算該複數個記憶體單元之該複數個狀態的數量與複數個理想值之間的複數個差,來判斷該複數個記憶體單元是平衡的還是不平衡的,以產生該判斷結果。
  3. 如申請專利範圍第2項所述之方法,其中每一理想值是藉由將該複數個記憶體單元的數量除以每一記憶體單元之該複數個狀態的數量而獲得的一平均值。
  4. 如申請專利範圍第2項所述之方法,其中該複數個理想值是當準 備將資料儲存到該複數個記憶體單元中時,所產生之該複數個記憶體單元之複數個狀態的複數個原始數量。
  5. 如申請專利範圍第4項所述之方法,更包含:在將該讀取指令發送到該快閃記憶體模組的步驟之前:從一主機裝置接收一寫入指令和資料;對該資料進行一資料成形操作以產生一隨機資料;對該隨機資料進行編碼以產生一編碼資料;依據該編碼資料來計算該複數個狀態的該複數個原始數量;以及將該編碼資料和該複數個狀態的該複數個原始數量寫入該複數個記憶體單元中。
  6. 如申請專利範圍第2項所述之方法,其中藉由計算該複數個記憶體單元之該複數個狀態的數量與該複數個理想值之間的差,來判斷該複數個記憶體單元是平衡的還是不平衡的之步驟包含:若該複數個狀態所分別對應之該複數個差中的任一個差大於一閾值,則判斷該複數個記憶體單元為不平衡的,以產生該判斷結果;以及若該複數個狀態所分別對應之該複數個差均未大於該閾值,則判斷該複數個記憶體單元為平衡的,以產生該判斷結果。
  7. 如申請專利範圍第2項所述之方法,其中參考該判斷結果調整該複數個讀取電壓的電壓準位的步驟包含:若該判斷結果指示該複數個記憶體單元為平衡的,則不調整該複數個讀取電壓的電壓準位;以及 若該判斷結果指示該複數個記憶體單元為不平衡的,則根據該複數個記憶體單元之該複數個狀態的數量與該複數個理想值之間的該複數個差,來調整該複數個讀取電壓的電壓準位。
  8. 如申請專利範圍第1項所述之方法,其中該方法在一快閃記憶體控制器的一前景操作中執行。
  9. 一種快閃記憶體控制器,其中該快閃記憶體控制器耦接至一快閃記憶體模組,該快閃記憶體模組包含至少一快閃記憶體晶片,每一快閃記憶體晶片包含複數個區塊,每一區塊包含複數個分頁,以及該快閃記憶體控制器包含:一記憶體,用來儲存一程式碼;以及一微處理器,用來執行該程式碼以透過一控制邏輯電路來存取該快閃記憶體模組;其中該微處理器用以:將一讀取指令發送至該快閃記憶體模組,以藉由使用複數個讀取電壓來讀取該快閃記憶體模組的至少一個字元線的複數個記憶體單元,其中每個記憶體單元可用以儲存複數個位元,每個記憶體單元具有複數個狀態中的其一,該複數個狀態用於指示該複數個位元的不同組合;從該快閃記憶體模組中獲取一讀出信息;分析該讀出信息以決定該複數個記憶體單元之該複數個狀態的數量,其中該複數個狀態的數量係包含該複數個狀態中每一個狀態的數量;根據該複數個記憶體單元之該複數個狀態的數量,判斷該複數個記憶體單元是平衡的還是不平衡的,以產生一判斷結果;以及 參考該判斷結果來調整該複數個讀取電壓的電壓準位。
  10. 如申請專利範圍第9項所述之快閃記憶體控制器,其中該微處理器用以藉由計算該複數個記憶體單元之該複數個狀態的數量與複數個理想值之間的複數個差,來判斷該複數個記憶體單元是平衡的還是不平衡的,以產生該判斷結果。
  11. 如申請專利範圍第10項所述之快閃記憶體控制器,其中每一理想值是藉由將該複數個記憶體單元的數量除以每一記憶體單元之該複數個狀態的數量而獲得的一平均值。
  12. 如申請專利範圍第10項所述之快閃記憶體控制器,其中該複數個理想值是當準備將資料儲存到該複數個記憶體單元中時,所產生之該複數個記憶體單元之該複數個狀態的複數個原始數量。
  13. 如申請專利範圍第12項所述之快閃記憶體控制器,其中在該微處理器將該讀取指令發送到該快閃記憶體模組之前,該微處理器更用以:從一主機裝置接收一寫入指令和資料;對該資料進行一資料成形操作以產生一隨機資料;對該隨機資料進行編碼以產生一編碼資料;依據該編碼資料來計算該複數個狀態的該複數個原始數量;以及將該編碼資料和該複數個狀態的該複數個原始數量寫入該複數個記憶體單元中。
  14. 如申請專利範圍第10項所述之快閃記憶體控制器,其中若該複數個狀態所分別對應之該複數個差中的任一個差大於一閾值,則該微處理器判斷該複數個記憶體單元為不平衡的,以產生該判斷結果;以及若該複數個狀態所分別對應之該複數個差均未大於該閾值,則該微處理器判斷該複數個記憶體單元為平衡的,以產生該判斷結果。
  15. 如申請專利範圍第10項所述之快閃記憶體控制器,其中若該判斷結果指示該複數個記憶體單元為平衡的,則該微處理器不調整該複數個讀取電壓的電壓準位;以及若該判斷結果指示該複數個記憶體單元為不平衡的,則該微處理器根據該複數個記憶體單元之該複數個狀態的數量與該複數個理想值之間的該複數個差,來調整該複數個讀取電壓的電壓準位。
  16. 一種電子裝置,包含:一快閃記憶體模組;以及一快閃記憶體控制器,用以存取該快閃記憶體模組;其中該快閃記憶體控制器另用以:將一讀取指令發送至該快閃記憶體模組,以藉由使用複數個讀取電壓來讀取該快閃記憶體模組的至少一個字元線的複數個記憶體單元,其中每個記憶體單元可用以儲存複數個位元,每個記憶體單元具有複數個狀態中的其一,該複數個狀態用於指示該複數個位元的不同組合;從該快閃記憶體模組中獲取一讀出信息;分析該讀出信息以決定該複數個記憶體單元之該複數個狀態的數量,其中該複數個狀態的數量係包含該複數個狀態中每一個狀態的數量;根據該複數個記憶體單元之該複數個狀態的數量,判斷該複數個記憶體單元 是平衡的還是不平衡的,以產生一判斷結果;以及參考該判斷結果來調整該複數個讀取電壓的電壓準位。
  17. 如申請專利範圍第16項所述之電子裝置,其中該快閃記憶體控制器用以藉由計算該複數個記憶體單元之該複數個狀態的數量與複數個理想值之間的複數個差,來判斷該複數個記憶體單元是平衡的還是不平衡的,以產生該判斷結果。
  18. 如申請專利範圍第17項所述之電子裝置,其中每一理想值是藉由將該複數個記憶體單元的數量除以每一記憶體單元之該複數個狀態的數量而獲得的一平均值。
  19. 如申請專利範圍第17項所述之電子裝置,其中該複數個理想值是當準備將資料儲存到該複數個記憶體單元中時,所產生之該複數個記憶體單元之該複數個狀態的複數個原始數量。
TW110110624A 2020-09-23 2021-03-24 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 TWI782458B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/030,330 US11508446B2 (en) 2020-09-23 2020-09-23 Method for accessing flash memory module and associated flash memory controller and electronic device
US17/030,330 2020-09-23

Publications (2)

Publication Number Publication Date
TW202226252A TW202226252A (zh) 2022-07-01
TWI782458B true TWI782458B (zh) 2022-11-01

Family

ID=80740793

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110110624A TWI782458B (zh) 2020-09-23 2021-03-24 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置

Country Status (3)

Country Link
US (1) US11508446B2 (zh)
CN (1) CN114255811A (zh)
TW (1) TWI782458B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI783842B (zh) * 2021-12-29 2022-11-11 瑞昱半導體股份有限公司 記憶體壞塊掃描方法及其電路系統
CN120937072A (zh) 2023-04-14 2025-11-11 苹果公司 用于提供和修改电子文档的输出的数字助理
US12236938B2 (en) 2023-04-14 2025-02-25 Apple Inc. Digital assistant for providing and modifying an output of an electronic document

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180294036A1 (en) * 2017-03-31 2018-10-11 Samsung Electronics Co., Ltd. Operation method of nonvolatile memory device and storage device
US10101931B1 (en) * 2017-06-04 2018-10-16 International Business Machines Corporation Mitigating read errors following programming in a multi-level non-volatile memory
US20200293398A1 (en) * 2019-03-15 2020-09-17 Toshiba Memory Corporation Non volatile memory controller device and method for adjustment

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9645177B2 (en) * 2012-05-04 2017-05-09 Seagate Technology Llc Retention-drift-history-based non-volatile memory read threshold optimization
US20130343131A1 (en) * 2012-06-26 2013-12-26 Lsi Corporation Fast tracking for flash channels
US10503586B2 (en) * 2017-04-26 2019-12-10 Sandisk Technologies Llc Dynamic read based on read statistics
CN110400593B (zh) * 2018-04-24 2021-08-03 群联电子股份有限公司 存储器管理方法、存储器储存装置及存储器控制电路单元
US11099781B2 (en) * 2018-07-19 2021-08-24 Silicon Motion, Inc. Flash memory controller, flash memory module and associated electronic device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180294036A1 (en) * 2017-03-31 2018-10-11 Samsung Electronics Co., Ltd. Operation method of nonvolatile memory device and storage device
US10101931B1 (en) * 2017-06-04 2018-10-16 International Business Machines Corporation Mitigating read errors following programming in a multi-level non-volatile memory
US20200293398A1 (en) * 2019-03-15 2020-09-17 Toshiba Memory Corporation Non volatile memory controller device and method for adjustment

Also Published As

Publication number Publication date
US20220093191A1 (en) 2022-03-24
CN114255811A (zh) 2022-03-29
US11508446B2 (en) 2022-11-22
TW202226252A (zh) 2022-07-01

Similar Documents

Publication Publication Date Title
TWI781568B (zh) 快閃記憶體控制器以及用來存取快閃記憶體模組的方法
TWI633557B (zh) 用來進行記憶體存取管理之方法以及記憶裝置及其控制器
CN110837340B (zh) 闪存控制器、管理闪存模块的方法及相关的电子装置
CN111399751B (zh) 闪存控制器、管理闪存模块的方法及相关的电子装置
TWI730661B (zh) 用來藉助於資訊排列進行記憶裝置的存取管理的方法、記憶裝置及其控制器、以及電子裝置
TWI782644B (zh) 用來進行資料儲存管理以提升資料可靠度之方法、記憶裝置及其控制器以及電子裝置
TWI782458B (zh) 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置
CN109390027B (zh) 解码方法及相关的闪存控制器与电子装置
CN109857584B (zh) 于记忆装置进行访问控制的方法、记忆装置和其控制器
US20150058697A1 (en) Storage device, controller and memory controlling method
US20250077350A1 (en) Method for accessing flash memory module and associated flash memory controller and memory device
TWI831297B (zh) 快閃記憶體控制器的控制方法、快閃記憶體控制器以及電子裝置
TWI798630B (zh) 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置
CN114724596A (zh) 读取电压设定方法、存储器存储装置及存储器控制器
TWI906987B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置
TWI906994B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置
TWI836610B (zh) 存取快閃記憶體模組的方法與相關的快閃記憶體控制器及記憶裝置
TWI863323B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
US20250078936A1 (en) Method for accessing flash memory module and associated flash memory controller and memory device
TW202512197A (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置
CN117762819A (zh) 存取快闪存储器模块的方法与相关的快闪存储器控制器及记忆装置
CN120215829A (zh) 数据写入方法以及存储器存储装置