TW202141287A - 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 - Google Patents
用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 Download PDFInfo
- Publication number
- TW202141287A TW202141287A TW110103230A TW110103230A TW202141287A TW 202141287 A TW202141287 A TW 202141287A TW 110103230 A TW110103230 A TW 110103230A TW 110103230 A TW110103230 A TW 110103230A TW 202141287 A TW202141287 A TW 202141287A
- Authority
- TW
- Taiwan
- Prior art keywords
- decoding process
- degree
- decoding
- flash memory
- target
- Prior art date
Links
Images
Classifications
-
- 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/08—Address circuits; Decoders; Word-line control 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (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)並不好。因此,需要一種有效率的讀取機制與相關解碼方法,以在沒有副作用或較不會帶來副作用的情況下提升整體效能。
本發明之一目的在於提供一種用以存取一快閃記憶體模組的方法,可以有效地對快閃記憶體的讀出資訊進行解碼,以解決上述的問題。
本發明一實施例揭示了一種用以存取一快閃記憶體模組的方法,其中該快閃記憶體模組包含至少一快閃記憶體晶片,每一快閃記憶體晶片包含複數個區塊,每一區塊由複數個字元線所實現,每一字元線對應於複數個分頁,且每一字元線包含支持複數個狀態的複數個記憶體單元,以及該方法包含以下步驟:讀取該複數個區塊中的一特定區塊的至少一第一字元線的該複數個記憶體單元以獲取該複數個記憶體單元的該複數個狀態的一累積分布資訊;依據該累積分布資訊以從至少一第一解碼流程與一第二解碼流程中決定一目標解碼流程,其中該第一解碼流程與該第二解碼流程具有不同的解碼方法或不同的解碼順序;讀取一第二字元線的記憶體單元以獲取該第二字元線的讀出資訊;以及使用該目標解碼流程對該第二字元線的該讀出資訊進行解碼。
本發明另一實施例揭示了一種快閃記憶體控制器,其中該快閃記憶體控制器耦接至一快閃記憶體模組,該快閃記憶體模組包含至少一快閃記憶體晶片,每一快閃記憶體晶片包含複數個區塊,每一區塊由複數個字元線所實現,每一字元線對應於複數個分頁,且每一字元線包含支持複數個狀態的複數個記憶體單元,以及該快閃記憶體控制器包含一記憶體、一微處理器以及一解碼器,該記憶體用來儲存一程式碼,該微處理器用來執行該程式碼以透過一控制邏輯電路來存取該快閃記憶體模組,其中該微處理器讀取該複數個區塊中的一特定區塊的至少一第一字元線的該複數個記憶體單元,以獲取該複數個記憶體單元的該複數個狀態的一累積分布資訊,且該處理器依據該累積分布資訊以從至少一第一解碼流程與一第二解碼流程中決定一目標解碼流程,其中該第一解碼流程與該第二解碼流程具有不同的解碼方法或不同的解碼順序;該處理器進一步讀取一第二字元線的記憶體單元以獲取該第二字元線的讀出資訊,並且該解碼器使用該目標解碼流程對該第二字元線的該讀出資訊進行解碼。
本發明又另一實施例揭示了一種電子裝置,包含一快閃記憶體控制器以及一快閃記憶體模,其中該快閃記憶體模組包含至少一快閃記憶體晶片,每一快閃記憶體晶片包含複數個區塊,每一區塊由複數個字元線所實現,每一字元線對應於複數個分頁,且每一字元線包含支持複數個狀態的複數個記憶體單元,其中該快閃記憶體控制器讀取該複數個區塊中的一特定區塊的至少一第一字元線的該複數個記憶體單元,以獲取該複數個記憶體單元的該複數個狀態的一累積分布資訊,且該快閃記憶體控制器依據該累積分布資訊以從至少一第一解碼流程與一第二解碼流程中決定一目標解碼流程,其中該第一解碼流程與該第二解碼流程具有不同的解碼方法或不同的解碼順序;該快閃記憶體控制器進一步讀取一第二字元線的記憶體單元以獲取該第二字元線的讀出資訊,並且該快閃記憶體控制器使用該目標解碼流程對該第二字元線的該讀出資訊進行解碼。
請參考第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圖所示,每一記憶體單元可具有8種狀態,且每一狀態代表三個位元的不同組合,分別稱為一最低有效位元(least significant bit, LSB)、一中間有效位元(center significant bit, CSB)以及一最高有效位元(most significant bit, MSB)。如第3圖所示,本實施例中,當該記憶體單元被編程為一狀態S0時,該記憶體單元中儲存的最低有效位元、中間有效位元以及最高有效位元為(1, 1, 1);當該記憶體單元被編程為一狀態S1,該記憶體單元中儲存的最低有效位元、中間有效位元以及最高有效位元為(1, 1, 0);當該記憶體單元被編程為一狀態S2,該記憶體單元中儲存的最低有效位元、中間有效位元以及最高有效位元為 (1, 0, 0);當該記憶體單元被編程為一狀態S3,該記憶體單元中儲存的最低有效位元、中間有效位元以及最高有效位元為(0, 0, 0);當該記憶體單元被編程為一狀態S4,該記憶體單元中儲存的最低有效位元、中間有效位元以及最高有效位元為(0, 1, 0);當該記憶體單元被編程為一狀態S5,該記憶體單元中儲存的最低有效位元、中間有效位元以及最高有效位元為(0, 1, 1);當該記憶體單元被編程為一狀態S6,該記憶體單元中儲存的最低有效位元、中間有效位元以及最高有效位元為(0, 0, 1);當該記憶體單元被編程為一狀態S7,該記憶體單元中儲存的最低有效位元、中間有效位元以及最高有效位元為(1, 0, 1)。
當快閃記憶體控制器110要讀取最低有效位元時,快閃記憶體控制器110可控制快閃記憶體模組120 施加二個讀取電壓VR3與VR7於該記憶體單元。若該記憶體單元在施加讀取電壓VR7時是導通的,或者是該記憶體單元在施加讀取電壓VR3時是不導通的,則最低有效位被判定為「1」,若該記憶體單元在施加讀取電壓VR7時是不導通的,且該記憶體單元在施加讀取電壓VR3時是導通的,則最低有效位被判定為「0」。當快閃記憶體控制器110要讀取中間有效位元時,快閃記憶體控制器110可控制快閃記憶體模組120施加三個讀取電壓VR2、VR4以及VR6以讀取該記憶體單元,若該記憶體單元在施加讀取電壓VR2時是不導通的,則中間有效位元被判定為「1」,若該記憶體單元在施加讀取電壓VR4時是不導通的,且該記憶體單元在施加讀取電壓VR2時是導通的,則中間有效位元被判定為「0」,若該記憶體單元在施加讀取電壓VR6時是不導通的,且該記憶體單元在施加讀取電壓VR4時是導通的,則中間有效位元被判定為「1」;以及若該記憶體單元在施加讀取電壓VR6時是導通的,則中間有效位元被判定為「0」。當快閃記憶體控制器110要讀取最高有效位元時,快閃記憶體控制器110可控制快閃記憶體模組120施加二個讀取電壓VR1以及VR5以讀取該記憶體單元,若該記憶體單元在施加讀取電壓VR5時是導通的,或者是該記憶體單元在施加讀取電壓VR1時是不導通的,則最高有效位元被判定為「1」,若該記憶體單元在施加讀取電壓VR5時是不導通的,且該記憶體單元在施加讀取電壓VR1時是導通的,則最高有效位元被判定為「0」。
在第3圖所示的實施例中,單一字元線上多個記憶體單元的最低有效位元形成一最低有效位元分頁(邏輯分頁),該單一字元線上多個記憶體單元的中間有效位元形成一中間有效位元分頁(邏輯分頁),且該單一字元線上多個記憶體單元的最高有效位元形成一最高有效位元分頁(邏輯分頁),亦即三階儲存單元區塊的每一字元線具有三個分頁:最低有效位元分頁、中間有效位元分頁以及最高有效位元分頁。
需注意的是,第3圖所示之格雷碼(gray code)只是為了說明,並非對本發明之限制,任意合適的格雷碼都能用於記憶體裝置100中,且用於判定最低有效位元、中間有效位元以及最高有效位元的讀取電壓可據以改變。
第4圖為依據本發明一實施例之一種用來存取快閃記憶體模組120的方法的流程圖。在步驟400中,流程開始,且記憶體裝置100被上電。在步驟402中,快閃記憶體控制器110的微處理器112 發送一讀取指令以讀取特定區塊中一或多個字元線上的分頁,亦即讀取該一或多個字元線上的記憶體單元以獲得這些記憶體單元的狀態的一累積分布資訊(cumulative distribution information)。在本實施例中,待讀取的字元線數量可以是一個或兩個,遠比特定區塊中的所有字元線數量少很多,舉例來說,若該特定區塊為三階儲存單元區塊,快閃記憶體模組120可使用所有的讀取電壓VR1~V7來讀取字元線的每一記憶體單元以獲得每一記憶體單元的狀態,並將讀出資訊發送至快閃記憶體控制器110,在從快閃記憶體模組120接收到讀出資訊之後,控制邏輯電路114建立字元線上的記憶體單元的狀態的一累積分布資訊。本發明的一實施例中,該累積分布資訊包含每一狀態的累積數目/比例(cumulative number/ratio),且其中之一狀態的累積數目/比例包含相對應的編程電壓等於以及小於該其中之一狀態的編程電壓之所有狀態的數目/比例,以第5圖為例,假設讀取一萬個記憶體單元,則狀態為S0–S7的記憶體單元的數量分別為「800」、「1000」、「1000」、「1200」、「1200」、「1500」、「1500」以及「1800」,即狀態S0–S7的比例分別為「0.08」、「0.1」、「0.1」、「0.12」、「0.12」、「0.15」、「0.15」以及「0.18」,故控制邏輯電路114可建立如第5圖所示的一累積分布函數作為累積分布資訊。
在步驟404中,微處理器112或控制邏輯電路114參考累積分布資訊與理想的累積分布資訊之間的差異程度以從一第一解碼流程、一第二解碼流程以及一第三解碼流程中選取出一目標解碼流程。在本實施例中,由於寫入至快閃記憶體模組120的資料是經由隨機化器136進行隨機化的,所以理想地,具有狀態S0~S7中位任二個狀態的記憶體單元的數量應非常接近,舉例來說,假設讀取了一萬個記憶體單元,理想情況下,具有狀態S0~S7中每一狀態的記憶體單元應接近「1250」(即(10000/8) = 1250),第5圖所示之一虛線為理想的累積分布資訊。在本發明的一實施例,第一解碼流程包含一硬解碼(hard decoding)方法、一軟解碼(soft decoding)方法以及一獨立磁碟冗餘陣列(redundant array of independent disks, RAID)解碼方法,第二解碼流程包含該軟解碼方法以及該RAID解碼方法而不包含該硬解碼方法,第三解碼流程包含該RAID解碼方法而不包含該硬解碼方法以及該軟解碼方法;若差異程度小於一第一度(degree),微處理器112或控制邏輯電路114會選擇第一解碼流程作為目標解碼流程;若差異程度大於一第二度,微處理器112或控制邏輯電路114會選擇第三解碼流程作為目標解碼流程,其中該第二度大於該第一度;若差異程度介於該第一度與該第二度之間,微處理器112或控制邏輯電路114會選擇第二解碼流程作為目標解碼流程。值得注意的是,上述「累積分布資訊與理想的累積分布資訊之間的差異程度」可以為一均方誤差(mean square error)或能表示累積分布資訊的誤差的任何其他參數,且該第一度可以是指示累積分布資訊的較小誤差的一閥值,而該第二度可以是指示累積分布資訊的較大誤差的一閥值。
在步驟406中,微處理器112或控制邏輯電路114 將特定區塊設置為與已確定的目標解碼流程相對應,舉例來說,微處理器112或控制邏輯電路114可建立一查找表,其中該查找表記錄快閃記憶體模組120 中區塊的至少一部分以及相對應的解碼流程,再舉例來說,具有累積分布資訊接近於理想累積分布資訊的一區塊可以對應於該第一解碼流程(包含硬解碼方法、軟解碼方法以及RAID解碼方法),而具有累積分布資訊與理想累積分布資訊相差很大的其他區塊可以對應於該第三解碼流程(包含RAID解碼方法)。
在步驟408中,若快閃記憶體控制器110從主機裝置50接收一讀取指令以要求讀取儲存於特定區塊的資料,快閃記憶體控制器110 可參考步驟406中判定的目標解碼流程,以通知快閃記憶體模組120使用適當的讀取機制來產生字元線上的分頁的一讀出資訊,以及快閃記憶體控制器110接收來自快閃記憶體模組120的該讀出資訊,並使用目標解碼流程對該讀出資訊進行解碼。
在本實施例中,若包含有硬解碼方法、軟解碼方法以及RAID解碼方法的第一解碼流程被選取作為目標解碼流程,則快閃記憶體控制器110發送一讀取請求至快閃記憶體模組120,快閃記憶體模組120使用數個讀取電壓來讀取字元線的記憶體單元以產生該讀出資訊。舉例來說,假設要讀取該特定區塊的一字元線的最高有效位元分頁(MSB page),則將讀取電壓 VR1施加於該字元線的多個記憶體單元以使每個記憶體單元產生第一位元,並且將讀取電壓 VR5施加於多個記憶體單元以使每個記憶體單元產生第二位元,該字元線的多個記憶體單元的第一位元以及第二位元可作為讀出資訊,然後,在獲得來自快閃記憶體模組120的讀出資訊後,解碼器134使用例如BCH碼(Bose-Chaudhuri-Hocquenghem code)的硬解碼方法以對該讀出資訊進行解碼,若解碼器134成功地對該讀出資訊進行解碼,則解碼流程結束;若硬解碼方法無法對讀出資訊進行解碼,快閃記憶體控制器110發送另一讀取請求至快閃記憶體模組120以要求可供軟解碼方法使用的讀出資訊,快閃記憶體模組120使用多個讀取電壓來讀取字元線的記憶體單元以產生讀出資訊。舉例來說,可參考第6圖,快閃記憶體模組120可使用複數個讀取電壓VR1以及VR11~VR14以讀取字元線的每個記憶體單元以分別產生複數個第一位元(例如產生五個第一位元);快閃記憶體模組120可進一步使用複數個讀取電壓VR5以及VR51~VR54以讀取字元線的每個記憶體單元以分別產生複數個第二位元(例如產生五個第二位元)。在本實施例中,該字元線的每個記憶體單元的多個第一位元以及多個第二位元可作為讀出資訊,或者可將一映射機制應用於每個記憶體單元的多個第一位元和多個第二位元以產生讀出資訊。然後,在從快閃記憶體模組120接收到讀出資訊之後,解碼器134使用例如低密度奇偶檢查碼(low-density parity-check code, LDPC)的軟解碼方法以對該讀出資訊進行解碼,若解碼器134成功地用軟解碼方法對該讀出資訊進行解碼,則解碼流程結束;若軟解碼方法無法對讀出資訊進行解碼,快閃記憶體控制器110發送另一讀取請求至快閃記憶體模組120以要求可供RAID解碼方法使用的讀出資訊,快閃記憶體模組120讀取其他區塊內的其他分頁的資料以產生讀出資訊。舉例來說,請參考第7圖,快閃記憶體模組120包含複數個平面(plane)710_1~710_N,並且藉由將該複數個平面710_1~710_N中的區塊712_1~712_N進行分類以建立一超級區塊(super block)720,在第7圖所示之實施例中,區塊712_1~712_N的分頁P1可用以儲存具有(N-1)分頁大小的資料,即區塊712_1 ~712_N的分頁P1之一是儲存其他分頁P1的同位資料(parity data),例如一同位產生機制(parity generating mechanism)藉由區塊712_1~712_(N-1)的分頁P1的資料以產生區塊712_N的分頁P1的資料,在本實施例中,假設區塊712_1的分頁P1對應於待讀取之字元線的特定區塊,因應來自快閃記憶體控制器110的RAID解碼方法的讀取請求,快閃記憶體模組120讀取區塊712_1~712_N的分頁P1以產生讀出資訊,或者快閃記憶體模組120讀取區塊712_2~712_N的分頁P1以產生讀出資訊,然後,在從快閃記憶體模組120接收到讀出資訊之後,解碼器134使用RAID解碼方法以對該讀出資訊進行解碼,例如藉由區塊712_2-712_N的分頁P1的資料以產生區塊712_1的分頁P1的資料,若解碼器134成功地用RAID解碼方法對該讀出資訊進行解碼,則解碼流程結束;若RAID解碼方法無法對讀出資訊進行解碼,快閃記憶體控制器110通知主機裝置50讀取操作失敗。
如果包含軟解碼方法以及RAID解碼方法的第二解碼流程被選取作為目標解碼流程,則快閃記憶體控制器110發送一讀取請求至快閃記憶體模組120,並且快閃記憶體模組120直接使用許多讀取電壓來讀取字元線的記憶體單元以產生如上所述的讀出資訊,然後,在從快閃記憶體模組120接收到讀出資訊之後,解碼器134直接使用例如LDPC的軟解碼方法以對該讀出資訊進行解碼(即不會先執行硬解碼方法),若解碼器134成功地用軟解碼方法對該讀出資訊進行解碼,則解碼流程結束;若軟解碼方法無法對讀出資訊進行解碼,快閃記憶體控制器110發送另一讀取請求至快閃記憶體模組120以要求可供RAID解碼方法使用的讀出資訊,快閃記憶體模組120讀取其他區塊內的其他分頁的資料以產生上述讀出資訊。然後,在從快閃記憶體模組120接收到讀出資訊之後,解碼器134使用RAID解碼方法以對該讀出資訊進行解碼,若解碼器134成功地用RAID解碼方法對該讀出資訊進行解碼,則解碼流程結束;若RAID解碼方法無法對讀出資訊進行解碼,快閃記憶體控制器110通知主機裝置50讀取操作失敗。
如果僅包含RAID解碼方法的第三解碼流程被選取作為目標解碼流程,則快閃記憶體控制器110發送一讀取請求至快閃記憶體模組120,並且快閃記憶體模組120直接讀取其他區塊內的其他分頁的資料以產生上述讀出資訊,然後,在從快閃記憶體模組120接收到讀出資訊之後,解碼器134直接使用RAID解碼方法以對該讀出資訊進行解碼(即不會先執行硬解碼方法以及軟解碼方法),若解碼器134成功地用RAID解碼方法對該讀出資訊進行解碼,則解碼流程結束;若RAID解碼方法無法對讀出資訊進行解碼,快閃記憶體控制器110通知主機裝置50讀取操作失敗。
簡而言之,在本發明快閃記憶體模組的存取方法中,藉由對特定區塊的一或多個字元線的每個記憶體單元的狀態進行計數以獲得累積分布資訊,快閃記憶體控制器可以判定一適當的解碼流程以用於後續的特定區塊的讀出資訊,因此,解碼器可以有效地對來自快閃記憶體模組的讀出資訊進行解碼。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
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:步驟
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, VR51, VR52, VR53, VR54:讀取電壓
S0, S1, S2, S3, S4, S5, S6, S7:狀態
P1:分頁
710_1, 710_N, 712_1, 712_N:區塊
第1圖是依據本發明一實施例的一電子裝置的示意圖。
第2圖是依據本發明一實施例的一三維NAND型快閃記憶體的示意圖。
第3圖是依據本發明一實施例的一三階儲存單元區塊的一記憶體單元的複數個狀態(編程狀態)的示意圖。
第4圖是依據本發明一實施例之一種用來存取快閃記憶體模組的方法的流程圖。
第5圖是顯示出累積分布資訊以及理想的累積分布資訊的圖表。
第6圖是顯示出軟解碼方法的讀取電壓的圖表。
第7圖是顯示出快閃記憶體模模組的平面的示意圖。
10:電子裝置
50:主機裝置
52:處理器
54:電源供應電路
100:記憶體裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:控制邏輯電路
132:編碼器
134:解碼器
136:隨機化器
138:去隨機化器
116:隨機存取記憶體
118:傳輸介面電路
120:快閃記憶體模組
122-1,122-2,122-N:快閃記憶體晶片
Claims (20)
- 一種用以存取一快閃記憶體模組的方法,其中該快閃記憶體模組包含至少一快閃記憶體晶片,每一快閃記憶體晶片包含複數個區塊,每一區塊由複數個字元線所實現,每一字元線對應於複數個分頁,且每一字元線包含支持複數個狀態的複數個記憶體單元(memory cell),以及該方法包含以下步驟: 讀取該複數個區塊中的一特定區塊的至少一第一字元線的該複數個記憶體單元,以獲取該複數個記憶體單元的該複數個狀態的一累積分布資訊; 依據該累積分布資訊以從至少一第一解碼流程與一第二解碼流程中決定一目標解碼流程,其中該第一解碼流程與該第二解碼流程具有不同的解碼方法或不同的解碼順序; 讀取一第二字元線的該複數個記憶體單元,以獲取該第二字元線的讀出資訊;以及 使用該目標解碼流程對該第二字元線的該讀出資訊進行解碼。
- 如申請專利範圍第1項所述之方法,其中該累積分布資訊包含每一狀態的累積數目/比例,且該複數個狀態的其中之一狀態的累積數目/比例包含具有相對應的編程電壓等於以及小於該其中之一狀態的編程電壓之所有狀態的數目/比例。
- 如申請專利範圍第1項所述之方法,其中依據該累積分布資訊以從至少該第一解碼流程與該第二解碼流程中決定該目標解碼流程的步驟包含: 參考該累積分布資訊與理想的累積分布資訊之間的一差異程度,以從至少該第一解碼流程與該第二解碼流程中決定該目標解碼流程。
- 如申請專利範圍第3項所述之方法,其中該第一解碼流程包含一硬解碼方法以及一軟解碼方法,該第二解碼流程包含該軟解碼方法而不包含該硬解碼方法,以及參考該累積分布資訊與理想的累積分布資訊之間的該差異程度以從至少該第一解碼流程與該第二解碼流程中決定該目標解碼流程的步驟包含: 若該差異程度小於一第一度,則選擇該第一解碼流程作為該目標解碼流程;以及 若該差異程度大於該第一度或一第二度,則選擇該第二解碼流程作為該目標解碼流程,其中該第二度大於該第一度。
- 如申請專利範圍第3項所述之方法,其中該第一解碼流程包含一軟解碼方法以及一獨立磁碟冗餘陣列(redundant array of independent disks, RAID)解碼方法,該第二解碼流程包含該RAID解碼方法而不包含該軟解碼方法,以及參考該累積分布資訊與理想的累積分布資訊之間的該差異程度以從至少該第一解碼流程與該第二解碼流程中決定該目標解碼流程的步驟包含: 若該差異程度小於一第一度,則選擇該第一解碼流程作為該目標解碼流程;以及 若該差異程度大於該第一度或一第二度,則選擇該第二解碼流程作為該目標解碼流程,其中該第二度大於該第一度。
- 如申請專利範圍第1項所述之方法,其中依據該累積分布資訊以從至少該第一解碼流程與該第二解碼流程中決定該目標解碼流程的步驟包含: 依據該累積分布資訊以從至少該第一解碼流程、該第二解碼流程與一第三解碼流程中決定該目標解碼流程,其中該第一解碼流程、該第二解碼流程與該第三解碼流程具有不同的解碼方法或不同的解碼順序。
- 如申請專利範圍第6項所述之方法,其中依據該累積分布資訊以從至少該第一解碼流程、該第二解碼流程與該第三解碼流程中決定該目標解碼流程的步驟包含: 參考該累積分布資訊與理想的累積分布資訊之間的一差異程度以從至少該第一解碼流程、該第二解碼流程與該第三解碼流程中決定該目標解碼流程。
- 如申請專利範圍第7項所述之方法,其中該第一解碼流程包含一硬解碼方法、一軟解碼方法以及一RAID解碼方法,該第二解碼流程包含該軟解碼方法以及該RAID解碼方法而不包含該硬解碼方法,該第三解碼流程包含該RAID解碼方法而不包含該硬解碼方法以及該軟解碼方法,以及參考該累積分布資訊與理想的累積分布資訊之間的該差異程度以從至少該第一解碼流程、該第二解碼流程與該第三解碼流程中決定該目標解碼流程的步驟包含: 若該差異程度小於一第一度,則選擇該第一解碼流程作為該目標解碼流程; 若該差異程度大於一第二度,則選擇該第三解碼流程作為該目標解碼流程,其中該第二度大於該第一度;以及 若該差異程度介於該第一度與該第二度之間,則選擇該第二解碼流程作為該目標解碼流程。
- 一種快閃記憶體控制器,其中該快閃記憶體控制器耦接至一快閃記憶體模組,該快閃記憶體模組包含至少一快閃記憶體晶片,每一快閃記憶體晶片包含複數個區塊,每一區塊由複數個字元線所實現,每一字元線對應於複數個分頁,且每一字元線包含支持複數個狀態的複數個記憶體單元,以及該快閃記憶體控制器包含: 一記憶體,用來儲存一程式碼; 一微處理器,用來執行該程式碼以透過一控制邏輯電路來存取該快閃記憶體模組;以及 一解碼器; 其中該微處理器讀取該複數個區塊中的一特定區塊的至少一第一字元線的該複數個記憶體單元,以獲取該複數個記憶體單元的該複數個狀態的一累積分布資訊,且該處理器依據該累積分布資訊以從至少一第一解碼流程與一第二解碼流程中決定一目標解碼流程,其中該第一解碼流程與該第二解碼流程具有不同的解碼方法或不同的解碼順序;該處理器進一步讀取一第二字元線的該複數個記憶體單元以獲取該第二字元線的讀出資訊,並且該解碼器使用該目標解碼流程對該第二字元線的該讀出資訊進行解碼。
- 如申請專利範圍第9項所述之快閃記憶體控制器,其中該累積分布資訊包含每一狀態的累積數目/比例,且該複數個狀態的其中之一狀態的累積數目/比例包含具有相對應的編程電壓等於以及小於該其中之一狀態的編程電壓之所有狀態的數目/比例。
- 如申請專利範圍第9項所述之快閃記憶體控制器,其中該微處理器參考該累積分布資訊與理想的累積分布資訊之間的一差異程度以從至少該第一解碼流程與該第二解碼流程中決定該目標解碼流程。
- 如申請專利範圍第11項所述之快閃記憶體控制器,其中該第一解碼流程包含一硬解碼方法以及一軟解碼方法,該第二解碼流程包含該軟解碼方法而不包含該硬解碼方法;若該差異程度小於一第一度,則該微處理器選擇該第一解碼流程作為該目標解碼流程;若該差異程度大於該第一度或一第二度,則該微處理器選擇該第二解碼流程作為該目標解碼流程,其中該第二度大於該第一度。
- 如申請專利範圍第11項所述之快閃記憶體控制器,其中該第一解碼流程包含一軟解碼方法以及一獨立磁碟冗餘陣列(redundant array of independent disks, RAID)解碼方法,該第二解碼流程包含該RAID解碼方法而不包含該軟解碼方法;若該差異程度小於一第一度,則該微處理器選擇該第一解碼流程作為該目標解碼流程;若該差異程度大於該第一度或一第二度,則該微處理器選擇該第二解碼流程作為該目標解碼流程,其中該第二度大於該第一度。
- 如申請專利範圍第9項所述之快閃記憶體控制器,其中該微處理器依據該累積分布資訊以從至少該第一解碼流程、該第二解碼流程與一第三解碼流程中決定該目標解碼流程,其中該第一解碼流程、該第二解碼流程與該第三解碼流程具有不同的解碼方法或不同的解碼順序。
- 如申請專利範圍第14項所述之快閃記憶體控制器,其中該微處理器參考該累積分布資訊與理想的累積分布資訊之間的一差異程度以從至少該第一解碼流程、該第二解碼流程與該第三解碼流程中決定該目標解碼流程。
- 如申請專利範圍第15項所述之快閃記憶體控制器,其中該第一解碼流程包含一硬解碼方法、一軟解碼方法以及一RAID解碼方法,該第二解碼流程包含該軟解碼方法以及該RAID解碼方法而不包含該硬解碼方法,該第三解碼流程包含該RAID解碼方法而不包含該硬解碼方法以及該軟解碼方法;若該差異程度小於一第一度,則該微處理器選擇該第一解碼流程作為該目標解碼流程;若該差異程度大於一第二度,則該微處理器選擇該第三解碼流程作為該目標解碼流程,其中該第二度大於該第一度;以及若該差異程度介於該第一度與該第二度之間,則該微處理器選擇該第二解碼流程作為該目標解碼流程。
- 一種電子裝置,包含: 一快閃記憶體控制器;以及 一快閃記憶體模組,其中該快閃記憶體模組包含至少一快閃記憶體晶片,每一快閃記憶體晶片包含複數個區塊,每一區塊由複數個字元線所實現,每一字元線對應於複數個分頁,且每一字元線包含支持複數個狀態的複數個記憶體單元; 其中該快閃記憶體控制器讀取該複數個區塊中的一特定區塊的至少一第一字元線的該複數個記憶體單元,以獲取該複數個記憶體單元的該複數個狀態的一累積分布資訊,且該快閃記憶體控制器依據該累積分布資訊以從至少一第一解碼流程與一第二解碼流程中決定一目標解碼流程,其中該第一解碼流程與該第二解碼流程具有不同的解碼方法或不同的解碼順序;該快閃記憶體控制器進一步讀取一第二字元線的該複數個記憶體單元以獲取該第二字元線的讀出資訊,並且該快閃記憶體控制器使用該目標解碼流程對該第二字元線的該讀出資訊進行解碼。
- 如申請專利範圍第17項所述之電子裝置,其中該快閃記憶體控制器依據該累積分布資訊以從至少該第一解碼流程、該第二解碼流程與一第三解碼流程中決定該目標解碼流程,其中該第一解碼流程、該第二解碼流程與該第三解碼流程具有不同的解碼方法或不同的解碼順序。
- 如申請專利範圍第18項所述之電子裝置,其中該快閃記憶體控制器參考該累積分布資訊與理想的累積分布資訊之間的一差異程度以從至少該第一解碼流程、該第二解碼流程與該第三解碼流程中決定該目標解碼流程。
- 如申請專利範圍第19項所述之電子裝置,其中該第一解碼流程包含一硬解碼方法、一軟解碼方法以及一RAID解碼方法,該第二解碼流程包含該軟解碼方法以及該RAID解碼方法而不包含該硬解碼方法,該第三解碼流程包含該RAID解碼方法而不包含該硬解碼方法以及該軟解碼方法;若該差異程度小於一第一度,則該快閃記憶體控制器選擇該第一解碼流程作為該目標解碼流程;若該差異程度大於一第二度,則該快閃記憶體控制器選擇該第三解碼流程作為該目標解碼流程,其中該第二度大於該第一度;以及若該差異程度介於該第一度與該第二度之間,則該快閃記憶體控制器選擇該第二解碼流程作為該目標解碼流程。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/856,008 US11210028B2 (en) | 2020-04-22 | 2020-04-22 | Method for accessing flash memory module and associated flash memory controller and electronic device |
US16/856,008 | 2020-04-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202141287A true TW202141287A (zh) | 2021-11-01 |
TWI798630B TWI798630B (zh) | 2023-04-11 |
Family
ID=78222175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110103230A TWI798630B (zh) | 2020-04-22 | 2021-01-28 | 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11210028B2 (zh) |
CN (1) | CN113628655B (zh) |
TW (1) | TWI798630B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI825803B (zh) * | 2022-05-05 | 2023-12-11 | 南亞科技股份有限公司 | 資料儲存裝置及其非暫時性電腦可讀媒介 |
US11983066B2 (en) | 2022-05-05 | 2024-05-14 | Nanya Technology Corporation | Data storage device storing associated data in two areas |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI385518B (zh) * | 2009-03-20 | 2013-02-11 | Phison Electronics Corp | 用於快閃記憶體的資料儲存方法及儲存系統 |
KR20120028581A (ko) * | 2010-09-15 | 2012-03-23 | 삼성전자주식회사 | 비휘발성 메모리 장치, 이의 동작 방법, 및 이를 포함하는 장치들 |
US9117529B2 (en) * | 2011-12-23 | 2015-08-25 | Hgst Technologies Santa Ana, Inc. | Inter-cell interference algorithms for soft decoding of LDPC codes |
US9600364B2 (en) * | 2015-03-09 | 2017-03-21 | Kabushiki Kaisha Toshiba | Memory controller, storage device and decoding method |
US9875811B2 (en) * | 2016-01-13 | 2018-01-23 | Macronix International Co., Ltd. | Method and device for reading a memory |
TWI627631B (zh) * | 2016-07-18 | 2018-06-21 | 旺宏電子股份有限公司 | 記憶胞的操作方法及其應用 |
US11099781B2 (en) * | 2018-07-19 | 2021-08-24 | Silicon Motion, Inc. | Flash memory controller, flash memory module and associated electronic device |
TWI664634B (zh) * | 2018-08-17 | 2019-07-01 | 慧榮科技股份有限公司 | 快閃記憶體控制器、管理快閃記憶體模組的方法及相關的電子裝置 |
US10872013B2 (en) * | 2019-03-15 | 2020-12-22 | Toshiba Memory Corporation | Non volatile memory controller device and method for adjustment |
-
2020
- 2020-04-22 US US16/856,008 patent/US11210028B2/en active Active
-
2021
- 2021-01-28 TW TW110103230A patent/TWI798630B/zh active
- 2021-03-08 CN CN202110251173.0A patent/CN113628655B/zh active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI825803B (zh) * | 2022-05-05 | 2023-12-11 | 南亞科技股份有限公司 | 資料儲存裝置及其非暫時性電腦可讀媒介 |
US11983066B2 (en) | 2022-05-05 | 2024-05-14 | Nanya Technology Corporation | Data storage device storing associated data in two areas |
Also Published As
Publication number | Publication date |
---|---|
TWI798630B (zh) | 2023-04-11 |
US20210334039A1 (en) | 2021-10-28 |
US11210028B2 (en) | 2021-12-28 |
CN113628655B (zh) | 2024-03-29 |
CN113628655A (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI727372B (zh) | 快閃記憶體控制器以及用來存取快閃記憶體模組的方法 | |
KR102025263B1 (ko) | 메모리 시스템 및 그것의 읽기 교정 방법 | |
CN110083545B (zh) | 数据存储装置及其操作方法 | |
TWI730661B (zh) | 用來藉助於資訊排列進行記憶裝置的存取管理的方法、記憶裝置及其控制器、以及電子裝置 | |
TWI664634B (zh) | 快閃記憶體控制器、管理快閃記憶體模組的方法及相關的電子裝置 | |
CN109857584B (zh) | 于记忆装置进行访问控制的方法、记忆装置和其控制器 | |
US11422752B2 (en) | Controller, memory system, and operating methods thereof | |
US20150058697A1 (en) | Storage device, controller and memory controlling method | |
TWI798630B (zh) | 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 | |
TWI698742B (zh) | 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器 | |
US11782638B2 (en) | Storage device with improved read latency and operating method thereof | |
US11276445B2 (en) | Data storage device and operating method thereof | |
CN111625187B (zh) | 一种存储器及其控制方法与存储系统 | |
TW201941208A (zh) | 記憶體管理方法與儲存控制器 | |
TWI782458B (zh) | 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 | |
KR20150109705A (ko) | 메모리 장치의 프로그램 방법 및 이를 포함하는 데이터 독출 방법 | |
TWI807275B (zh) | 用以管理快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 | |
CN113515466B (zh) | 用于多内核之间动态逻辑块地址分布的系统和方法 | |
US20200409848A1 (en) | Controller, memory system, and operating methods thereof | |
US20200250082A1 (en) | Controller, memory system, and operating method thereof | |
KR102713986B1 (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
TW202141281A (zh) | 存取快閃記憶體模組的方法和半導體封裝 | |
CN118830023A (zh) | Nand存储器的基于虚拟数据的读取参考电压搜索 |