[go: up one dir, main page]

TWI906994B - Method for accessing flash memory module and associated flash memory controller and memory device - Google Patents

Method for accessing flash memory module and associated flash memory controller and memory device

Info

Publication number
TWI906994B
TWI906994B TW113128973A TW113128973A TWI906994B TW I906994 B TWI906994 B TW I906994B TW 113128973 A TW113128973 A TW 113128973A TW 113128973 A TW113128973 A TW 113128973A TW I906994 B TWI906994 B TW I906994B
Authority
TW
Taiwan
Prior art keywords
read information
data page
mapping table
flash memory
logic
Prior art date
Application number
TW113128973A
Other languages
Chinese (zh)
Other versions
TW202512197A (en
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 慧榮科技股份有限公司
Priority to CN202411125847.2A priority Critical patent/CN119541592A/en
Priority to US18/810,497 priority patent/US20250077350A1/en
Publication of TW202512197A publication Critical patent/TW202512197A/en
Application granted granted Critical
Publication of TWI906994B publication Critical patent/TWI906994B/en

Links

Abstract

The present invention provides a method for accessing a flash memory module, which includes the following steps: using a first set of threshold voltages, a positively adjusted first set of threshold voltages, and a negatively adjusted first set of threshold voltages to read a first logical page of a physical page in the flash memory module to obtain first readout information, second readout information and third readout information respectively. decoding the first readout information, the second readout information and the third readout information to generate decoded data of the first logical page; generating an LLR mapping table according to the decoded data of the first logical page, the first readout information, the second readout information and the third readout information.

Description

存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置Methods for accessing flash memory modules and related flash memory controllers and memory devices

本發明係有關於快閃記憶體控制器。This invention relates to a flash memory controller.

快閃記憶體可透過電子式的抹除(erase)與寫入/程式化(program)以進行資料儲存,並且廣泛地應用於記憶卡(memory card)、固態硬碟(solid-state drive)與可攜式多媒體播放器等等。由於快閃記憶體係為非揮發性(non-volatile)記憶體,因此,不需要額外電力來維持快閃記憶體所儲存的資訊,此外,快閃記憶體可提供快速的資料讀取與較佳的抗震能力,而這些特性也說明了快閃記憶體為何會如此普及的原因。Flash memory stores data electronically through erasure and writing/programming, and is widely used in memory cards, solid-state drives, and portable multimedia players. Because flash memory is non-volatile, it does not require additional power to maintain the information it stores. Furthermore, flash memory offers fast data retrieval and better shock resistance, which explains its widespread adoption.

快閃記憶體可區分為NOR型快閃記憶體與NAND型快閃記憶體。對於NAND型快閃記憶體來說,其具有較短的抹除及寫入時間且每一記憶單元需要較少的晶片面積,因而相較於NOR型快閃記憶體,NAND型快閃記憶體會允許較高的儲存密度以及較低之每一儲存位元的成本。一般來說,快閃記憶體係以記憶單元陣列的方式來儲存資料,而記憶單元是由一浮動閘極電晶體(floating-gate transistor)來加以實作,且每一記憶單元可透過適當地控制浮動閘極電晶體之浮動閘極上的電荷個數來設定導通該浮動閘極電晶體所實作之該記憶單元的所需臨界電壓,進而儲存單一個位元的資訊或者一個位元以上的資訊,如此一來,當一或多個預定閘極控制電壓施加於浮動閘極電晶體的控制閘極之上,則浮動閘極電晶體的導通狀態便會指示出浮動閘極電晶體中所儲存的一或多個二進位數字(binary digit)。Flash memory can be divided into NOR flash memory and NAND flash memory. NAND flash memory has shorter erase and write times and requires less chip area per memory cell, thus allowing for higher storage density and lower cost per memory bit compared to NOR flash memory. Generally, flash memory stores data in an array of memory cells, and each memory cell is a floating-gate transistor. The floating gate transistor is used to implement the memory, and each memory cell can be set to the required critical voltage for conducting the memory cell implemented by the floating gate transistor by appropriately controlling the number of charges on the floating gate of the floating gate transistor, thereby storing a single bit of information or more than one bit of information. In this way, when one or more predetermined gate control voltages are applied to the control gate of the floating gate transistor, the conduction state of the floating gate transistor will indicate the one or more binary digits stored in the floating gate transistor.

然而,由於某些因素,記憶單元中原本儲存的電荷的個數可能會受到影響/擾亂,舉例來說,快閃記憶體中所存在的干擾可能來自於寫入干擾(write/program disturbance)、讀取干擾(read disturbance)及/或保持干擾(retention disturbance)。以具有各自儲存一個位元以上的資訊之記憶單元的NAND型快閃記憶體為例,一個實體記憶體分頁(physical page)會包含多個邏輯資料頁(logical page),且每一邏輯資料頁係採用一或多個閘極控制電壓來進行讀取。舉例來說,對於一個用以儲存4個位元之資訊的記憶單元來說,該記憶單元會具有分別對應不同電荷個數(亦即不同臨界電壓)之16種狀態(亦即電荷位準)的其中之一,然而,由於寫入/抹除次數(program/erase count, P/E count)及/或資料保留時間(retention time)的緣故,記憶單元中的記憶單元的臨界電壓分佈(threshold voltage distribution)便會有所改變,因此,使用原本的閘極控制電壓設定(亦即臨界電壓設定)來讀取記憶單元中所儲存的資訊可能會因為改變後的臨界變壓分佈而無法正確地獲得所儲存的資訊。However, due to certain factors, the number of charges originally stored in a memory cell may be affected/disrupted. For example, interference in flash memory may come from write/program disturbance, read disturbance, and/or retention disturbance. Taking NAND flash memory with memory cells that each store more than one bit of information as an example, a physical memory page contains multiple logical pages, and each logical page is read using one or more gate control voltages. For example, a memory cell used to store 4 bits of information might have one of 16 states (i.e., charge levels) corresponding to different numbers of charges (i.e., different critical voltages). However, due to the program/erase count (P/E count) and/or data retention time, the critical voltage distribution of the memory cells within the memory cell varies. The distribution will change, so using the original gate control voltage setting (i.e., the critical voltage setting) to read the information stored in the memory cell may not be able to obtain the stored information correctly due to the changed critical transformer distribution.

因此,本發明的目的之一在於提供一種快閃記憶體控制器及相關的控制方法,其可以有效率地根據快閃記憶體的讀出資訊來建立/更新對數似然比(log-likelihood ratio,LLR)映射表,以供後續解碼使用,以解決先前技術中所述的問題。Therefore, one of the objectives of this invention is to provide a flash memory controller and a related control method, which can efficiently establish/update a log-likelihood ratio (LLR) mapping table based on the read information of the flash memory for subsequent decoding, thereby solving the problems described in the prior art.

在本發明的一個實施例中,揭露了一種存取一快閃記憶體模組的方法,其包含有以下步驟:分別使用一第一組臨界電壓、一正向調整後第一組臨界電壓及一負向調整後第一組臨界電壓來讀取該快閃記憶體模組中一實體資料頁的一第一邏輯資料頁,以分別得到一第一讀出資訊、一第二讀出資訊以及一第三讀出資訊;對該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊進行解碼以產生該第一邏輯資料頁的一解碼後資料;根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊以產生一LLR映射表,以供後續對讀取其他邏輯資料頁並進行解碼時使用。In one embodiment of the present invention, a method for accessing a flash memory module is disclosed, comprising the following steps: using a first set of critical voltages, a positively adjusted first set of critical voltages, and a negatively adjusted first set of critical voltages respectively to read a first logical data page of a physical data page in the flash memory module, so as to obtain a first read information, a second read information, and a... The third read information; the first read information, the second read information, and the third read information are decoded to generate decoded data of the first logic data page; an LLR mapping table is generated based on the decoded data of the first logic data page, the first read information, the second read information, and the third read information, for use when subsequently reading and decoding other logic data pages.

在本發明的一個實施例中,揭露了一種快閃記憶體控制器,其中該快閃記憶體控制器係用來存取一快閃記憶體模組,且該快閃記憶體控制器包含有:一唯讀記憶體,用來儲存一程式碼;一緩衝記憶體;以及一微處理器,用來執行該程式碼以控制對該快閃記憶體模組之存取;其中該微處理器用以執行以下操作:分別使用一第一組臨界電壓、一正向調整後第一組臨界電壓及一負向調整後第一組臨界電壓來讀取該快閃記憶體模組中一實體資料頁的一第一邏輯資料頁,以分別得到一第一讀出資訊、一第二讀出資訊以及一第三讀出資訊;對該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊進行解碼以產生該第一邏輯資料頁的一解碼後資料;根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊以產生一LLR映射表,以供後續對讀取其他邏輯資料頁並進行解碼時使用。In one embodiment of the present invention, a flash memory controller is disclosed, wherein the flash memory controller is used to access a flash memory module, and the flash memory controller includes: a read-only memory for storing program code; a cache memory; and a microprocessor for executing the program code to control access to the flash memory module; wherein the microprocessor is used to perform the following operations: reading using a first set of critical voltages, a positively adjusted first set of critical voltages, and a negatively adjusted first set of critical voltages respectively. The flash memory module has a first logical data page of a physical data page, which obtains a first read information, a second read information, and a third read information respectively; the first read information, the second read information, and the third read information are decoded to generate decoded data of the first logical data page; an LLR mapping table is generated based on the decoded data of the first logical data page, the first read information, the second read information, and the third read information, for use when reading and decoding other logical data pages.

在本發明的一個實施例中,揭露了一種記憶裝置,其包含有一快閃記憶體模組以及一快閃記憶體控制器。該快閃記憶體控制器執行以下操作:分別使用一第一組臨界電壓、一正向調整後第一組臨界電壓及一負向調整後第一組臨界電壓來讀取該快閃記憶體模組中一實體資料頁的一第一邏輯資料頁,以分別得到一第一讀出資訊、一第二讀出資訊以及一第三讀出資訊;對該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊進行解碼以產生該第一邏輯資料頁的一解碼後資料;根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊以產生一LLR映射表,以供後續對讀取其他邏輯資料頁並進行解碼時使用。In one embodiment of the present invention, a memory device is disclosed, comprising a flash memory module and a flash memory controller. The flash memory controller performs the following operations: reading a first logical data page of a physical data page in the flash memory module using a first set of critical voltages, a positively adjusted first set of critical voltages, and a negatively adjusted first set of critical voltages, respectively, to obtain a first read information, a second read information, and a third read information; for the first read... The first logical data page is decoded by the output information, the second read information, and the third read information to generate decoded data of the first logical data page; an LLR mapping table is generated based on the decoded data of the first logical data page, the first read information, the second read information, and the third read information for subsequent use when reading and decoding other logical data pages.

第1圖為依據本發明一實施例之一種記憶裝置100的示意圖。記憶裝置100包含有一快閃記憶體(Flash Memory)模組120以及一快閃記憶體控制器110,且快閃記憶體控制器110用來存取快閃記憶體模組120。依據本實施例,快閃記憶體控制器110包含一微處理器112、一唯讀記憶體(Read Only Memory, ROM)112M、一控制邏輯114、一緩衝記憶體116、與一介面邏輯118。唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對快閃記憶體模組120之存取(Access)。控制邏輯114包含了一編碼器132、一解碼器134、一控制單元136以及一LLR映射表產生/更新單元138,其中編碼器132用來對寫入到快閃記憶體模組120中的資料進行編碼以產生對應的校驗碼(或稱,錯誤更正碼(Error Correction Code),ECC),解碼器134用來將從快閃記憶體模組120所讀出的資料進行解碼。此外,控制單元136以及一LLR映射表產生/更新單元138係由電路元件來實作,其具體操作在後續的實施例再進行說明。Figure 1 is a schematic diagram of a memory device 100 according to an embodiment of the present invention. The memory device 100 includes a flash memory module 120 and a flash memory controller 110, and the flash memory controller 110 is used to access the flash memory module 120. According to the present embodiment, the flash memory controller 110 includes a microprocessor 112, a read-only memory (ROM) 112M, a control logic 114, a cached memory 116, and an interface logic 118. The read-only memory 112M is used to store code 112C, and the microprocessor 112 is used to execute the code 112C to control access to the flash memory module 120. The control logic 114 includes an encoder 132, a decoder 134, a control unit 136, and an LLR mapping table generation/update unit 138. The encoder 132 is used to encode the data written to the flash memory module 120 to generate a corresponding check code (or error correction code, ECC), and the decoder 134 is used to decode the data read from the flash memory module 120. Furthermore, the control unit 136 and the LLR mapping table generation/update unit 138 are implemented by circuit elements, and their specific operation will be explained in subsequent embodiments.

於典型狀況下,快閃記憶體模組120包含了多個快閃記憶體晶片,而每一個快閃記憶體晶片包含區塊(Block),而快閃記憶體控制器110對快閃記憶體模組120進行複製、抹除、合併資料等運作係以區塊為單位來進行複製、抹除、合併資料。另外,一區塊可記錄特定數量的資料頁(Page),其中快閃記憶體控制器110對快閃記憶體模組120進行寫入資料之運作係以資料頁為單位來進行寫入。換句話說,區塊是快閃記憶體模組120中一個最小的抹除單位,而資料頁是快閃記憶體模組120中一個最小的寫入單位。In a typical configuration, the flash memory module 120 includes multiple flash memory chips, and each flash memory chip contains blocks. The flash memory controller 110 performs data copying, erasing, and merging operations on the flash memory module 120 on a block-by-block basis. Additionally, a block can record a specific number of data pages, and the flash memory controller 110 writes data to the flash memory module 120 on a page-by-page basis. In other words, a block is the smallest unit of erasure in the flash memory module 120, while a data page is the smallest unit of writing in the flash memory module 120.

實作上,透過微處理器112執行程式碼112C之快閃記憶體控制器110可利用其本身內部之元件來進行諸多控制運作,例如:利用控制邏輯114來控制快閃記憶體模組120之存取運作(尤其是對至少一區塊或至少一資料頁之存取運作)、利用緩衝記憶體116進行所需之緩衝處理、以及利用介面邏輯118來與一主裝置(Host Device)130溝通。In practice, the flash memory controller 110, which executes program code 112C through microprocessor 112, can perform a variety of control operations using its internal components, such as: using control logic 114 to control the access operation of flash memory module 120 (especially the access operation of at least one block or at least one data page), using cache memory 116 to perform the necessary buffering processing, and using interface logic 118 to communicate with a host device 130.

在一實施例中,記憶裝置100可以是可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡),且主裝置130為一可與記憶裝置連接的電子裝置,例如手機、筆記型電腦、桌上型電腦…等等。而在另一實施例中,記憶裝置100可以是固態硬碟或符合通用快閃記憶體儲存(Universal Flash Storage,UFS)或嵌入式多媒體記憶卡(Embedded Multi Media Card,EMMC)規格之嵌入式儲存裝置,以設置在一電子裝置中,例如設置在手機、手錶、攜帶型醫療檢測裝置(例如,醫療手環)、筆記型電腦、桌上型電腦之中,而此時主裝置130可以是該電子裝置的一處理器。In one embodiment, the memory device 100 may be a portable memory device (e.g., a memory card conforming to SD/MMC, CF, MS, or XD standards), and the main device 130 may be an electronic device that can be connected to the memory device, such as a mobile phone, a laptop, a desktop computer, etc. In another embodiment, the memory device 100 may be a solid-state drive or an embedded storage device conforming to Universal Flash Storage (UFS) or Embedded Multi Media Card (EMMC) specifications, to be installed in an electronic device, such as a mobile phone, watch, portable medical diagnostic device (e.g., medical bracelet), laptop computer, or desktop computer, and in this case, the main device 130 may be a processor of the electronic device.

在本實施例中,快閃記憶體模組120係一立體NAND型快閃記憶體(3D NAND-type flash)模組,其中每一個區塊係由多個字元線(word line)、多個位元線(bit line)以及多個記憶單元(memory cell)所構成。由於立體NAND型快閃記憶體架構係為本領域具有通常知識者所熟知,故在說明書中不多做說明。In this embodiment, the flash memory module 120 is a 3D NAND-type flash memory module, wherein each block is composed of multiple word lines, multiple bit lines, and multiple memory cells. Since the 3D NAND-type flash memory architecture is well known to those skilled in the art, it will not be described in detail in this specification.

第2圖為快閃記憶體模組120所包含之一區塊200的示意圖,其中區塊200包含多個實體資料頁P_0、P_1、P_2、…、 P_N,且實體資料頁P_0 ~ P_N中的每一實體資料頁包含有多個記憶單元(例如浮動閘極電晶體)103。舉例來說,對於要被讀取之一目標實體資料頁P_0來說,其包含有記憶單元M_0 ~ M_K。為了讀取目標實體資料頁P_0之記憶單元M_0 ~ M_K中所儲存的資料,閘極控制電壓VG_0 ~ VG_N便應該要適當地設定,以自記憶單元M_0 ~ M_K中分別讀取多個位元值B0 ~ BK。假若每一記憶單元103是用以儲存N個位元,亦即目標實體資料頁P_0包含N個邏輯資料頁,則快閃記憶體102會將閘極控制電壓VG_0設定為(2N-1)個電壓準位,以便辨識出目標實體資料頁P_0中每一記憶單元103的N個位元。Figure 2 is a schematic diagram of a block 200 included in the flash memory module 120, wherein the block 200 includes multiple physical data pages P_0, P_1, P_2, ..., P_N, and each physical data page P_0 ~ P_N contains multiple memory units (e.g., floating gate transistors) 103. For example, for a target physical data page P_0 to be read, it contains memory units M_0 ~ M_K. In order to read the data stored in memory units M_0 ~ M_K of the target entity data page P_0, the gate control voltages VG_0 ~ VG_N should be appropriately set to read multiple bit values B0 ~ BK from memory units M_0 ~ M_K respectively. If each memory unit 103 is used to store N bits, that is, the target entity data page P_0 contains N logical data pages, then the flash memory 102 will set the gate control voltage VG_0 to ( 2N -1) voltage levels in order to identify the N bits of each memory unit 103 in the target entity data page P_0.

第3圖為依據本發明一實施例之每一記憶單元103用以儲存4個位元的示意圖。如第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)。Figure 3 is a schematic diagram of each memory unit 103 according to an embodiment of the present invention for storing 4 bits. As shown in Figure 3, each memory unit can have sixteen states, and each state represents a different combination of four bits (named top bit, upper bit, middle bit, and lower bit, respectively). In the embodiment shown in Figure 3, when the memory unit is programmed to have state S0, the top, upper, middle, and bottom bits of the memory unit are stored as (1, 1, 1, 1); when the memory unit is programmed to have state S1, the top, upper, middle, and bottom bits of the memory unit are stored as (1, 1, 1, 0); when the memory unit is programmed to have state S2, the top, upper, middle, and bottom bits of the memory unit are stored as (1, 0, 1, 1). 0); When the memory unit is programmed to have state S3, the top, top, middle, and bottom bits of the memory unit are (1, 0, 0, 0); When the memory unit is programmed to have state S4, the top, top, middle, and bottom bits of the memory unit are (1, 0, 0, 1); When the memory unit is programmed to have state S5, the top, top, middle, and bottom bits of the memory unit are (0, 0, 0, 1). 1) When the memory unit is programmed to have state S6, the top, top, middle, and bottom bits of the memory unit are stored as (0, 0, 0, 0); when the memory unit is programmed to have state S7, the top, top, middle, and bottom bits of the memory unit are stored as (0, 0, 1, 0); when the memory unit is programmed to have state S8, the top, top, middle, and bottom bits of the memory unit are stored as (0, 1, 1, 0). 0); When the memory unit is programmed to have state S9, the top, top, middle, and bottom bits of the memory unit are (0, 1, 0, 0); When the memory unit is programmed to have state S10, the top, top, middle, and bottom bits of the memory unit are (1, 1, 0, 0); When the memory unit is programmed to have state S11, the top, top, middle, and bottom bits of the memory unit are (1, 1, 0, 0). 1) When the memory unit is programmed to have state S12, the top, top, middle, and bottom bits of the memory unit are stored as (0, 1, 0, 1); when the memory unit is programmed to have state S13, the top, top, middle, and bottom bits of the memory unit are stored as (0, 1, 1, 1); when the memory unit is programmed to have state S14, the top, top, middle, and bottom bits of the memory unit are stored as (0, 0, 1, 1). 1); and when the memory unit is programmed to have state S15, the top, upper, middle and lower bits stored in the memory unit are (1, 0, 1, 1).

在相關技術中,以資料頁P_0為例來進行說明,當該頂端位元需被快閃記憶體控制器110讀取時,快閃記憶體控制器110能控制快閃記憶體模組120施加具有四個臨界電壓VT5、VT10、VT12及VT15的閘極控制電壓VG_0來讀取該記憶單元。若該記憶單元在被施加臨界電壓VT5時是導通的,該頂端位元被判定為「1」;若該記憶單元在被施加臨界電壓VT5時是不導通的且該記憶單元在被施加臨界電壓VT10時是導通的,該頂端位元被判定為「0」;若該記憶單元在被施加臨界電壓VT10時是不導通的且該記憶單元在被施加臨界電壓VT12時是導通的,該頂端位元被判定為「1」;若該記憶單元在被施加臨界電壓VT12時是不導通的且該記憶單元在被施加臨界電壓VT15時是導通的,該頂端位元被判定為「0」;以及若該記憶單元在被施加臨界電壓VT15時是不導通的,該頂端位元被判定為「1」。當該上方位元需被快閃記憶體控制器110讀取時,快閃記憶體控制器110能控制快閃記憶體模組120施加具有三個臨界電壓VT2、VT8及VT14的閘極控制電壓VG_0來讀取該記憶單元。若該記憶單元在被施加臨界電壓VT2時是導通的,該上方位元被判定為「1」;若該記憶單元在被施加臨界電壓VT2時是不導通的且該記憶單元在被施加臨界電壓VT8時是導通的,該上方位元被判定為「0」;若該記憶單元在被施加臨界電壓VT8時是不導通的且該記憶單元在被施加臨界電壓VT14時是導通的,該上方位元被判定為「1」;若該記憶單元在被施加臨界電壓VT14時是不導通的,該上方位元被判定為「0」。當該中間位元需被快閃記憶體控制器110讀取時,快閃記憶體控制器110能控制快閃記憶體模組120施加具有四個臨界電壓VT3、VT7、VT9及VT13的閘極控制電壓VG_0來讀取該記憶單元。若該記憶單元在被施加臨界電壓VT3時是導通的,該中間位元被判定為「1」;若該記憶單元在被施加臨界電壓VT3時是不導通的且該記憶單元在被施加臨界電壓VT7時是導通的,該中間位元被判定為「0」;若該記憶單元在被施加臨界電壓VT7時是不導通的且該記憶單元在被施加臨界電壓VT9時是導通的,該中間位元被判定為「1」;若該記憶單元在被施加臨界電壓VT9時是不導通的且該記憶單元在被施加臨界電壓VT13時是導通的,該中間位元被判定為「0」;以及若該記憶單元在被施加臨界電壓VT13時是不導通的,該中間位元被判定為「1」。當該下方位元需被快閃記憶體控制器110讀取時,快閃記憶體控制器110能控制快閃記憶體模組120施加具有四個臨界電壓VT1、VT4、VT6及VT11的閘極控制電壓VG_0來讀取該記憶單元。若該記憶單元在被施加臨界電壓VT1時是導通的,該下方位元被判定為「1」;若該記憶單元在被施加臨界電壓VT1時是不導通的且該記憶單元在被施加臨界電壓VT4時是導通的,該下方位元被判定為「0」;若該記憶單元在被施加臨界電壓VT4時是不導通的且該記憶單元在被施加臨界電壓VT6時是導通的,該下方位元被判定為「1」;若該記憶單元在被施加臨界電壓VT6時是不導通的且該記憶單元在被施加臨界電壓VT11時是導通的,該下方位元被判定為「0」;以及若該記憶單元在被施加臨界電壓VT11時是不導通的,該下方位元被判定為「1」。In the related technology, taking data page P_0 as an example, when the top bit needs to be read by the flash memory controller 110, the flash memory controller 110 can control the flash memory module 120 to apply a gate control voltage VG_0 with four critical voltages VT5, VT10, VT12 and VT15 to read the memory cell. If the memory cell is conducting when a critical voltage VT5 is applied, the top bit is determined to be "1"; if the memory cell is not conducting when a critical voltage VT5 is applied and the memory cell is conducting when a critical voltage VT10 is applied, the top bit is determined to be "0"; if the memory cell is not conducting when a critical voltage VT10 is applied and the memory cell is conducting when a critical voltage VT10 is applied, the top bit is determined to be "0". When the memory cell is turned on by the critical voltage VT12, the top bit is determined to be "1"; if the memory cell is not turned on when the critical voltage VT12 is applied and the memory cell is turned on when the critical voltage VT15 is applied, the top bit is determined to be "0"; and if the memory cell is not turned on when the critical voltage VT15 is applied, the top bit is determined to be "1". When the top bit needs to be read by the flash memory controller 110, the flash memory controller 110 can control the flash memory module 120 to apply a gate control voltage VG_0 with three critical voltages VT2, VT8 and VT14 to read the memory cell. If the memory cell is turned on when a critical voltage VT2 is applied, the upper bit is determined to be "1"; if the memory cell is not turned on when a critical voltage VT2 is applied and the memory cell is turned on when a critical voltage VT8 is applied, the upper bit is determined to be "0"; if the memory cell is not turned on when a critical voltage VT8 is applied and the memory cell is turned on when a critical voltage VT14 is applied, the upper bit is determined to be "1"; if the memory cell is not turned on when a critical voltage VT14 is applied, the upper bit is determined to be "0". When the intermediate bit needs to be read by the flash memory controller 110, the flash memory controller 110 can control the flash memory module 120 to apply a gate control voltage VG_0 with four critical voltages VT3, VT7, VT9, and VT13 to read the memory cell. If the memory cell is conducting when the critical voltage VT3 is applied, the intermediate bit is determined to be "1"; if the memory cell is not conducting when the critical voltage VT3 is applied and the memory cell is conducting when the critical voltage VT7 is applied, the intermediate bit is determined to be "0"; if the memory cell is not conducting when the critical voltage VT7 is applied and the memory cell is not conducting when the critical voltage VT13 is applied, the intermediate bit is determined to be "0"; if the memory cell is not conducting when the critical voltage VT7 is applied and the memory cell is not conducting when the critical voltage VT13 is applied, the intermediate bit is determined to be "0". When the memory cell is turned on by the critical voltage VT9, the intermediate bit is determined to be "1"; if the memory cell is not turned on when the critical voltage VT9 is applied and the memory cell is turned on when the critical voltage VT13 is applied, the intermediate bit is determined to be "0"; and if the memory cell is not turned on when the critical voltage VT13 is applied, the intermediate bit is determined to be "1". When the lower bit needs to be read by the flash memory controller 110, the flash memory controller 110 can control the flash memory module 120 to apply a gate control voltage VG_0 with four critical voltages VT1, VT4, VT6 and VT11 to read the memory cell. If the memory cell is conducting when a critical voltage VT1 is applied, the lower bit is determined to be "1"; if the memory cell is not conducting when a critical voltage VT1 is applied and the memory cell is conducting when a critical voltage VT4 is applied, the lower bit is determined to be "0"; if the memory cell is not conducting when a critical voltage VT4 is applied and the memory cell is conducting when a critical voltage VT4 is applied, the lower bit is determined to be "0". When the memory cell is turned on when the critical voltage VT6 is applied, the lower bit is determined to be "1"; if the memory cell is not turned on when the critical voltage VT6 is applied and the memory cell is turned on when the critical voltage VT11 is applied, the lower bit is determined to be "0"; and if the memory cell is not turned on when the critical voltage VT11 is applied, the lower bit is determined to be "1".

需注意的是,第3圖所示之格雷碼(gray code)只是為了說明之目的,並非是對本發明之限制。任意合適的格雷碼都能用於記憶裝置100中,且用於判定頂端位元、上方位元、中間位元以及下方位元的臨界電壓可據以改變。It should be noted that the Gray code shown in Figure 3 is for illustrative purposes only and is not intended to limit the invention. Any suitable Gray code can be used in the memory device 100, and the critical voltages used to determine the top, upper, middle, and lower bits can be changed accordingly.

然而,快閃記憶體模組120會因為某些因素,例如寫入/讀取次數及/或資料保留時間的增加,而使得第3圖所示之每一個狀態的分佈出現偏移或是變寬的現象,因而導致用來讀取記憶單元之臨界電壓不再是最適合的臨界電壓。以第4圖為例來進行說明,因為快閃記憶體模組120之寫入/讀取次數及/或資料保留時間的影響,狀態S0及狀態S1變寬且往左側偏移,而此時最佳的臨界電壓應該是對應到狀態S0及狀態S1之分佈的交會處,亦即圖示的VT1’;此時,若是使用原本的臨界電壓VT1來讀取記憶單元便會使得所讀出的資料具有較高的錯誤,而有可能造成解碼器134在處理上的問題。類似地,因為快閃記憶體模組120之寫入/讀取次數及/或資料保留時間的影響,狀態S10及狀態S11變寬且往右側偏移,而此時最佳的臨界電壓應該是對應到狀態S10及狀態S11之分佈的交會處,亦即圖示的VT11’;此時,若是使用原本的臨界電壓VT11來讀取記憶單元便會使得所讀出的資料具有較高的錯誤,而有可能造成解碼器134在處理上的問題。因此,為了解決上述記憶單元之狀態分佈偏移及/或變寬的問題,本發明提出了一種控制方法,其可以根據已經解碼成功的資料來產生/更新LLR映射表,以增加後續所讀出的資料在解碼上成功的機率。However, due to certain factors, such as the increase in the number of write/read operations and/or data retention time, the distribution of each state shown in Figure 3 of the flash memory module 120 may shift or widen, thus causing the critical voltage used to read the memory unit to no longer be the most suitable critical voltage. Taking Figure 4 as an example, due to the influence of the number of write/read operations and/or data retention time of the flash memory module 120, states S0 and S1 become wider and shift to the left. At this time, the optimal critical voltage should correspond to the intersection of the distribution of states S0 and S1, i.e., VT1' in the figure. If the original critical voltage VT1 is used to read the memory cell, the read data will have a higher error rate, which may cause problems in the processing of the decoder 134. Similarly, due to the impact of the number of writes/reads and/or data retention time of the flash memory module 120, states S10 and S11 become wider and shift to the right. At this time, the optimal critical voltage should correspond to the intersection of the distribution of states S10 and S11, i.e., VT11' in the figure. If the original critical voltage VT11 is used to read the memory cell, the read data will have a higher error rate, which may cause problems in the processing of the decoder 134. Therefore, in order to solve the problem of state distribution offset and/or width variation of the above memory units, the present invention proposes a control method that can generate/update the LLR mapping table based on the data that has been successfully decoded, so as to increase the probability of subsequent data being successfully decoded.

第5圖為根據本發明一實施例之存取快閃記憶體模組120的方法的流程圖。於步驟500,流程開始。於步驟502,快閃記憶體控制器110中的微處理器112接收一讀取指令,例如來自主裝置130的讀取指令,以開始讀取一實體資料頁中的一第一邏輯資料頁。具體來說,微處理器112透過控制邏輯114傳送一讀取請求至快閃記憶體模組120以要求讀取第一邏輯資料頁。在接收到該讀取請求之後,快閃記憶體模組120使用一第一組臨界電壓來讀取第一邏輯資料頁的一區段,以取得一讀出資訊。為了方便以下說明,實體資料頁係以第2圖所示之實體資料頁P_0為例,且實體資料頁P_0中的每一個記憶單元可以儲存4個位元,亦即,實體資料頁P_0包含了四個邏輯資料頁,且四個邏輯資料頁分別用來儲存第3圖所示的頂端位元、上方位元、中間位元及下方位元;此外,在以下的說明書中,第一邏輯資料頁係為用來儲存上方位元的邏輯資料頁。Figure 5 is a flowchart of a method for accessing a flash memory module 120 according to an embodiment of the present invention. At step 500, the process begins. At step 502, the microprocessor 112 in the flash memory controller 110 receives a read instruction, such as a read instruction from the device 130, to begin reading a first logical data page from a physical data page. Specifically, the microprocessor 112 transmits a read request to the flash memory module 120 via control logic 114 to request reading the first logical data page. Upon receiving the read request, the flash memory module 120 uses a first set of critical voltages to read a segment of the first logical data page to obtain read information. For ease of explanation below, the physical data page is exemplified by the physical data page P_0 shown in Figure 2, and each memory unit in the physical data page P_0 can store 4 bits. That is, the physical data page P_0 contains four logical data pages, and the four logical data pages are respectively used to store the top bit, the upper bit, the middle bit, and the lower bit shown in Figure 3. Furthermore, in the following description, the first logical data page is the logical data page used to store the upper bit.

於步驟504,快閃記憶控制器110的解碼器134對第一邏輯資料頁之一區段的讀出資訊進行解碼操作。在本實施例中,由於第一邏輯資料頁為第3圖中用來儲存上方位元的邏輯資料頁,故用來讀取第一邏輯資料頁的第一組臨界電壓包含了第3圖所示、或是如第6圖所示的臨界電壓VT2、VT8、VT14。此外,所讀取之第一邏輯資料頁中的該區段可以是一個編解碼單元,其大小可以是4千位元組(kilo-byte,KB)或是其他適合的大小,而解碼器134對該區段的解碼過程可以是一硬解碼,其中硬解碼可以是BCH碼(Bose-Chaudhuri-Hocquenghem code)或是低密度奇偶檢查碼(low-density parity-check code,LDPC)的解碼方法。由於解碼器134的解碼操作為本領域具有通常知識者所熟知,故解碼操作的細節在此不贅述。In step 504, the decoder 134 of the flash memory controller 110 decodes the read information of a segment of the first logic data page. In this embodiment, since the first logic data page is the logic data page used to store upper bits in Figure 3, the first set of critical voltages used to read the first logic data page includes the critical voltages VT2, VT8, and VT14 shown in Figure 3 or Figure 6. Furthermore, the segment in the first logical data page being read can be a codec unit, which can be 4 kilobytes (KB) in size or other suitable sizes. The decoding process of the decoder 134 for this segment can be a hardware decoding process, where hardware decoding can be a BCH code (Bose-Chaudhuri-Hocquenghem code) or a low-density parity-check code (LDPC) decoding method. Since the decoding operation of the decoder 134 is well known to those skilled in the art, the details of the decoding operation will not be described here.

於步驟506,解碼器134判斷該區段的讀出資訊是否可以解碼成功,若是解碼成功,流程進入步驟518以結束第一邏輯資料頁的該區段的讀取操作;若是解碼失敗,流程進入步驟508。In step 506, the decoder 134 determines whether the read information of the segment can be successfully decoded. If the decoding is successful, the process proceeds to step 518 to end the reading operation of that segment of the first logic data page; if the decoding fails, the process proceeds to step 508.

於步驟508,快閃記憶體控制器110取得第一邏輯資料頁之該區段的一第一讀出資訊、一第二讀出資訊以及一第三讀出資訊,其中第一讀出資訊、第二讀出資訊以及第三讀出資訊係為快閃記憶體模組120分別使用第一組臨界電壓、正向調整後第一組臨界電壓以及負向調整後第一組臨界電壓來對第一邏輯資料頁之該區段進行讀取所得到。在一實施例中,第一讀出資訊可以是步驟502所提到之讀出資訊,而暫存於控制邏輯114的讀出資訊可以直接作為步驟508的第一讀出資訊。以第6圖為例來進行說明,快閃記憶體控制器110的控制單元136可以傳送一讀取請求至快閃記憶體模組120,以使用正向調整後第一組臨界電壓,亦即臨界電壓(VT2+Δ)、(VT8+Δ)、(VT14+Δ)來讀取第一邏輯資料頁以取得第二讀出資訊,其中“Δ”可以是任意適合的調整值(電壓值);接著,快閃記憶體控制器110的控制單元136可以傳送另一讀取請求至快閃記憶體模組120,以使用負向調整後第一組臨界電壓,亦即臨界電壓(VT2-Δ)、(VT8-Δ)、(VT14-Δ)來讀取第一邏輯資料頁以取得第三讀出資訊。在本實施例中,第一讀出資訊、第二讀出資訊及第三讀出資訊係暫存於控制邏輯114中的一緩衝區域中。In step 508, the flash memory controller 110 obtains a first read information, a second read information, and a third read information of that segment of the first logic data page. The first read information, the second read information, and the third read information are obtained by the flash memory module 120 reading that segment of the first logic data page using a first set of critical voltages, a positively adjusted first set of critical voltages, and a negatively adjusted first set of critical voltages, respectively. In one embodiment, the first read information can be the read information mentioned in step 502, while the read information temporarily stored in control logic 114 can be directly used as the first read information in step 508. Taking Figure 6 as an example, the control unit 136 of the flash memory controller 110 can send a read request to the flash memory module 120 to read the first logic data page using the first set of positively adjusted critical voltages, i.e., critical voltages (VT2+Δ), (VT8+Δ), and (VT14+Δ), to obtain the second read information. Here, "Δ" can be... The adjustment value (voltage value) is any suitable value; then, the control unit 136 of the flash memory controller 110 can send another read request to the flash memory module 120 to read the first logic data page using the negatively adjusted first set of critical voltages, namely the critical voltages (VT2-Δ), (VT8-Δ), and (VT14-Δ), to obtain the third read information. In this embodiment, the first read information, the second read information, and the third read information are temporarily stored in a buffer area in the control logic 114.

在本實施例中,假設第一邏輯資料頁的該區段的大小為4KB(亦即,32768位元),則第一讀出資訊、第二讀出資訊及第三讀出資訊中的每一者也會包含32768*3個位元。In this embodiment, assuming that the size of this segment of the first logic data page is 4KB (i.e., 32768 bits), then each of the first read information, the second read information, and the third read information will also contain 32768*3 bits.

於步驟510,解碼器134使用一預設LLR映射表來對第一邏輯資料頁的該區段進行軟解碼。具體來說,第一讀出資訊中的每一個位元可以視為硬位元(hard bit)或是一符號位元(sign bit),而第二讀出資訊與第三讀出資訊中的每一個位元則被視為一軟位元(soft bit)。針對每一個記憶單元來說,其會具有三個位元的資訊,亦即硬位元、第一軟位元以及第二軟位元,以下以(BH, BS1, BS2)來表示。此外,上述三個位元的資訊(BH, BS1, BS2)可以有八種組合,其分別是(1, 1, 1)、(1, 1, 0)、(1, 0, 1)、(1, 0, 0)、(0, 1, 1)、(0, 1, 0)、(0, 0, 1)、(0, 0, 0)。預設LLR映射表係包含了(BH, BS1, BS2)及對應的LLR值,其中LLR值係用來反映出相對的可靠度(reliability),舉例來說,若是(BH, BS1, BS2)等於(1, 1, 1),則表示記憶單元之上方位元有最高的可靠度是“1”(例如,99%的可靠度是“1”);若是(BH, BS1, BS2)等於(1, 1, 0),則表示記憶單元之上方位元有次高的可靠度是“1”;若是(BH, BS1, BS2)等於(0, 1, 1),則表示記憶單元之上方位元有最高的可靠度是“0”,…,以此類推。在根據預設LLR映射表以決定出每一個記憶單元的LLR值後,解碼器134中的LDPC解碼電路便可以開始基於這些LLR值來對第一邏輯資料頁的該區段進行軟解碼。此外,由於LLR映射表與LDPC軟解碼的操作以為本領域具有通常知識者所熟知,故在此不對這些細節進行描述。In step 510, decoder 134 uses a default LLR mapping table to perform software decoding on that segment of the first logic data page. Specifically, each bit in the first read information can be considered as a hard bit or a sign bit, while each bit in the second and third read information is considered as a soft bit. For each memory unit, it will have three bits of information, namely a hard bit, a first soft bit, and a second soft bit, hereinafter represented as (BH, BS1, BS2). In addition, the information of the above three bits (BH, BS1, BS2) can have eight combinations, which are (1, 1, 1), (1, 1, 0), (1, 0, 1), (1, 0, 0), (0, 1, 1), (0, 1, 0), (0, 0, 1), (0, 0, 0). The default LLR mapping table contains (BH, BS1, BS2) and the corresponding LLR values, where the LLR values reflect the relative reliability. For example, if (BH, BS1, BS2) equals (1, 1, 1), it means that the uppermost bit of the memory unit has the highest reliability of "1" (e.g., 99% reliability is "1"); if (BH, BS1, BS2) equals (1, 1, 0), it means that the uppermost bit of the memory unit has the second highest reliability of "1"; if (BH, BS1, BS2) equals (0, 1, 1), it means that the uppermost bit of the memory unit has the highest reliability of "0", and so on. After determining the LLR value of each memory unit according to the default LLR mapping table, the LDPC decoding circuit in the decoder 134 can begin software decoding of that segment of the first logic data page based on these LLR values. Furthermore, since the operation of the LLR mapping table and LDPC software decoding is well known to those skilled in the art, these details will not be described here.

於步驟512,解碼器134判斷該區段是否可以解碼成功,若是解碼失敗,流程進入步驟514;若是解碼成功,流程進入步驟516。In step 512, the decoder 134 determines whether the segment can be successfully decoded. If the decoding fails, the process proceeds to step 514; if the decoding is successful, the process proceeds to step 516.

於步驟514,若是控制邏輯114中有包含其他的LLR映射表,則解碼器134使用另外的LLR映射表來對第一邏輯資料頁的該區段進行軟解碼。此外,若是所有的LLR都已經被使用過且都無法讓第一邏輯資料頁的該區段的解碼成功,則解碼器134可以透過其他適合的解碼方式,例如獨立磁碟冗餘陣列(redundant array of independent disks,RAID)解碼方式,來進行解碼。In step 514, if the control logic 114 contains other LLR mapping tables, the decoder 134 uses the other LLR mapping table to perform software decoding on that segment of the first logic data page. Furthermore, if all LLRs have been used and none have been able to successfully decode that segment of the first logic data page, the decoder 134 can use other suitable decoding methods, such as redundant array of independent disks (RAID) decoding.

於步驟516,LLR映射表產生/更新單元138根據第一邏輯資料頁的該區段的解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊來產生一個新的LLR映射表,以供後續解碼器134對其他區段進行解碼時使用。具體來說,解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊具有相同的位元數,例如32768個位元,而針對每一個記憶單元來說,其會具有四個位元的資訊,亦即解碼後位元、硬位元、第一軟位元以及第二軟位元,以下以(DD, BH, BS1, BS2)來表示。此外,上述四個位元的資訊(DD, BH, BS1, BS2)可以有16種組合,其分別是(1, 1, 1, 1)、(1, 1, 1, 0)、(1, 1, 0, 1)、(1, 1, 0, 0)、(1, 0, 1, 1)、(1, 0, 1, 0)、(1, 0, 0, 1)、(1, 0, 0, 0)、(0, 1, 1, 1)、(0, 1, 1, 0)、(0, 1, 0, 1)、(0, 1, 0, 0)、(0, 0, 1, 1)、(0, 0, 1, 0)、(0, 0, 0, 1)、(0, 0, 0, 0)。四個位元的資訊(DD, BH, BS1, BS2)的16種組合分別代表著具有不同可靠度、以及解碼後位元與硬位元是否相同的各種組合,舉例來說,(DD, BH, BS1, BS2)等於(1, 1, 1, 1)表示解碼後位元與硬位元都是“1”且具有最高的可靠度,亦即記憶單元之上方位元在解碼前的讀取資訊中有最高的可靠度是“1”,且解碼後位元也真的是“1”;(DD, BH, BS1, BS2)等於(0, 1, 1, 1)表示記憶單元之上方位元在解碼前的讀取資訊中具有最高的可靠度是“1”,但是解碼後位元卻是“0”;(DD, BH, BS1, BS2)等於(0, 0, 1, 1)表示解碼後位元與硬位元都是“0”且具有最高的可靠度,亦即記憶單元之上方位元在解碼前的讀取資訊中有最高的可靠度是“0”,且解碼後位元也真的是“0”;(DD, BH, BS1, BS2)等於(1, 0, 1, 1)表示記憶單元之上方位元在解碼前的讀取資訊中具有最高的可靠度是“0”,但是解碼後位元卻是“1”。LLR映射表產生/更新單元138根據第一邏輯資料頁的該區段的解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊來對上述四個位元的資訊(DD, BH, BS1, BS2)的16種組合進行計數,以計算出每一種組合的數量,並據以計算出一個新LLR映射表中(BH, BS1, BS2)所對應的LLR值。舉例來說,假設(DD, BH, BS1, BS2)等於(1, 1, 1, 1)的數量是N1,(DD, BH, BS1, BS2)等於(1, 0, 1, 1)的數量是N2,則在一實施例中,新LLR映射表中(BH, BS1, BS2)等於(1, 1, 1)所對應的LLR值可以計算如下:ln(N1/N2)。在另一例子中,假設(DD, BH, BS1, BS2)等於(0, 0, 1, 1)的數量是N3,(DD, BH, BS1, BS2)等於(1, 1, 1, 1)的數量是N4,則在一實施例中,新LLR映射表中(BH, BS1, BS2)等於(0, 1, 1)所對應的LLR值可以計算如下:ln(N3/N4)。類似地,新LLR映射表中(BH, BS1, BS2)的其他組合中的任一者也都可以透過(DD, BH, BS1, BS2)之兩種組合的計數值來得到(亦即,將這兩種組合的計數值相除後取對數值),由於本領域具有通常知識者在閱讀過以上實施例後應能了解計算出其他LLR值的方式,故在此不列出全部LLR值的計算方式。In step 516, the LLR mapping table generation/update unit 138 generates a new LLR mapping table based on the decoded data, first read information, second read information, and third read information of that segment of the first logical data page, for use by the subsequent decoder 134 when decoding other segments. Specifically, the decoded data, first read information, second read information, and third read information have the same number of bits, for example, 32,768 bits, and for each memory unit, it will have four bits of information, namely the decoded bits, hard bits, first soft bits, and second soft bits, hereinafter represented as (DD, BH, BS1, BS2). Furthermore, the information of the above four bits (DD, BH, BS1, BS2) can have 16 combinations, which are (1, 1, 1, 1), (1, 1, 1, 0), (1, 1, 0, 1), (1, 1, 0, 0), (1, 0, 1, 1), (1, 0, 1, 0), (1, 0, 0, 1), (1, 0, 0, 0), (0, 1, 1, 1), (0, 1, 1, 0), (0, 1, 0, 1), (0, 1, 0, 0), (0, 0, 1, 1), (0, 0, 1, 0), (0, 0, 0, 1), (0, 0, 0, 0). The 16 possible combinations of the four-bit information (DD, BH, BS1, BS2) represent combinations with different levels of reliability and whether the decoded bits are the same as the hard bits. For example, (DD, BH, BS1, BS2) equals (1, 1, 1, 1), indicating that both the decoded bits and the hard bits are "1" and have the highest reliability. That is, the upper bits of the memory unit have the highest reliability of "1" in the information read before decoding, and the decoded bits are indeed "1". (DD, BH, BS1, BS2) equals (0, 1, 1, 1), indicating that the upper bits of the memory unit have the highest reliability of "1" in the information read before decoding, but the decoded bits are "0". (DD, BH, BS1, BS2) equals (0, 0, 1, ... 1) indicates that both the decoded bits and the hard bits are "0" and have the highest reliability. That is, the upper bits of the memory unit have the highest reliability of "0" in the information read before decoding, and the decoded bits are indeed "0"; (DD, BH, BS1, BS2) is equal to (1, 0, 1, 1), indicating that the upper bits of the memory unit have the highest reliability of "0" in the information read before decoding, but the decoded bits are "1". The LLR mapping table generation/update unit 138 counts 16 combinations of the above four-bit information (DD, BH, BS1, BS2) based on the decoded data of that segment of the first logical data page, the first read information, the second read information, and the third read information, to calculate the number of each combination, and calculates the LLR value corresponding to (BH, BS1, BS2) in a new LLR mapping table. For example, assuming that the number of (DD, BH, BS1, BS2) equal to (1, 1, 1, 1) is N1, and the number of (DD, BH, BS1, BS2) equal to (1, 0, 1, 1) is N2, then in one embodiment, the LLR value corresponding to (BH, BS1, BS2) equal to (1, 1, 1) in the new LLR mapping table can be calculated as follows: ln(N1/N2). In another example, assuming that the number of (DD, BH, BS1, BS2) equal to (0, 0, 1, 1) is N3, and the number of (DD, BH, BS1, BS2) equal to (1, 1, 1, 1) is N4, then in one embodiment, the LLR value corresponding to (BH, BS1, BS2) equal to (0, 1, 1) in the new LLR mapping table can be calculated as follows: ln(N3/N4). Similarly, any of the other combinations of (BH, BS1, BS2) in the new LLR mapping table can also be obtained by taking the count values of two combinations of (DD, BH, BS1, BS2) (that is, by dividing the count values of these two combinations and taking the logarithm). Since those skilled in the art should be able to understand how to calculate other LLR values after reading the above embodiments, the calculation methods for all LLR values are not listed here.

接著,LLR映射表產生/更新單元138將新的LLR映射表暫存至控制邏輯114中的儲存單元。在一實施例中,若是LLR映射表產生/更新單元138先前已經產生一定數量的LLR映射表而使得儲存單元的空間不足,則LLR映射表產生/更新單元138可以使用新的LLR映射表來替換先前所產生的LLR映射表,以供後續解碼器134對第一邏輯資料頁的其他區段進行解碼、或是對其他邏輯資料頁的區塊進行解碼時於步驟514使用。Next, the LLR mapping table generation/update unit 138 temporarily stores the new LLR mapping table in the storage unit of control logic 114. In one embodiment, if the LLR mapping table generation/update unit 138 has previously generated a certain number of LLR mapping tables, causing insufficient space in the storage unit, the LLR mapping table generation/update unit 138 can use the new LLR mapping table to replace the previously generated LLR mapping table for use by the subsequent decoder 134 in step 514 when decoding other segments of the first logic data page or blocks of other logic data pages.

如上所述,由於新的LLR映射表是透過第一邏輯資料頁的該區段的解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊所產生出來的,故其可以較正確地反映出區塊200或是實體資料頁P_0內部記憶單元的臨界電壓偏移。因此,透過建立新的LLR映射表,可以讓解碼器134對後續區段進行解碼時具有較高的成功率。As described above, since the new LLR mapping table is generated from the decoded data of that segment of the first logical data page, the first read information, the second read information, and the third read information, it can more accurately reflect the critical voltage offset of the memory unit inside block 200 or physical data page P_0. Therefore, by establishing the new LLR mapping table, the decoder 134 can have a higher success rate when decoding subsequent segments.

在以上的實施例中,新的LLR映射表係給用來讀取實體資料頁P_0之第一邏輯資料頁所使用的臨界電壓VT2、VT8、VT14來使用,然而,由於記憶單元之每一個狀態S0 ~ S15的分佈偏移都不一樣,亦即臨界電壓VT1 ~ VT15的偏移方向與偏移量也會有所不同,因此,上述新的LLR映射表在提升解碼器134之解碼能力上仍會有所限制。因此,在本發明的另一個實施例中,LLR映射表產生/更新單元138會針對臨界電壓VT2、VT8、VT14中的每一者都產生一個新的LLR映射表,以供每一個臨界電壓VT2、VT8、VT14使用。In the above embodiments, the new LLR mapping table is used for the critical voltages VT2, VT8, and VT14 used to read the first logical data page of the physical data page P_0. However, since the distribution offset of each state S0 to S15 of the memory unit is different, that is, the offset direction and offset amount of the critical voltages VT1 to VT15 are also different, the above-mentioned new LLR mapping table still has limitations in improving the decoding capability of the decoder 134. Therefore, in another embodiment of the present invention, the LLR mapping table generation/update unit 138 generates a new LLR mapping table for each of the critical voltages VT2, VT8, and VT14 for use by each of the critical voltages VT2, VT8, and VT14.

具體來說,於步驟516,在取得實體資料頁P_0之第一邏輯資料頁的該區段的解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊後,控制單元136再傳送一或多個讀取請求以取得實體資料頁P_0之第二邏輯資料頁的該區段的解碼後資料、以及實體資料頁P_0之第三邏輯資料頁的該區段的解碼後資料。在本實施例中,讀取第二邏輯資料頁之該區段的解碼後資料以及第三邏輯資料頁之該區段的解碼後資料的目的是為了識別出第一邏輯資料頁的該區段的解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊是分別對應到臨界電壓VT2、VT8、VT14中的哪一者,因此,第二邏輯資料頁與第三邏輯資料頁在選擇上需要滿足以下條件:(1) 第一組臨界電壓中的每一個臨界電壓VT2、VT8、VT14所相鄰的兩個狀態在第二邏輯資料頁是對應到相同的位元值,且在第三邏輯資料頁也是對應到相同的位元值;第一組臨界電壓中的每一個臨界電壓VT2、VT8、VT14所相鄰的兩個狀態在第二邏輯資料頁所對應到的位元值(b1)以及在第三邏輯資料頁所對應到的位元值(b2)具有不同的(b1, b2)組合,以及每一個臨界電壓VT2、VT8、VT14對應到(b1, b2)等於(1, 1)、(1, 0)、(0, 1)、(0, 0)中的其三。以第3圖為例來進行說明,第二邏輯資料頁以及第三邏輯資料頁可以分別用來儲存頂端方位以及下方位元的邏輯資料頁,其中臨界電壓VT2所相鄰的兩個狀態S1、S2在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有第一種組合(1, 0)、臨界電壓VT8所相鄰的兩個狀態S7、S8在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有第二種組合(0, 0)、以及臨界電壓VT14所相鄰的兩個狀態S13、S14在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有第三種組合(0, 1)。Specifically, in step 516, after obtaining the decoded data, first read information, second read information and third read information of the segment of the first logical data page of the physical data page P_0, the control unit 136 sends one or more read requests to obtain the decoded data of the segment of the second logical data page of the physical data page P_0 and the decoded data of the segment of the third logical data page of the physical data page P_0. In this embodiment, the purpose of reading the decoded data of that segment of the second logic data page and the decoded data of that segment of the third logic data page is to identify which of the critical voltages VT2, VT8, and VT14 the decoded data of that segment of the first logic data page, the first read information, the second read information, and the third read information correspond to respectively. Therefore, the selection of the second logic data page and the third logic data page needs to meet the following conditions: (1) For each of the first set of critical voltages VT2, VT8, and VT14, the two adjacent states correspond to the same bit value on the second logic page and also on the third logic page. The bit value (b1) corresponding to the two adjacent states of each of the first set of critical voltages VT2, VT8, and VT14 on the second logic page and the bit value (b2) corresponding to the third logic page have different (b1, b2) combinations, and each critical voltage VT2, VT8, and VT14 corresponds to (b1, b2) equal to three of (1, 1), (1, 0), (0, 1), and (0, 0). Taking Figure 3 as an example, the second and third logic data pages can be used to store the top and bottom position logic data pages, respectively. The two adjacent states S1 and S2 of the critical voltage VT2 have a first combination (1, 0) in the second and third logic data pages, respectively. The two adjacent states S7 and S8 of the critical voltage VT8 have a second combination (0, 0) in the second and third logic data pages, respectively. The two states S13 and S14 adjacent to the critical voltage VT14 have a third combination (0, 1) in the second logic data page and the bit value corresponding to the third logic data page.

接著,在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有第一種組合(1, 0)的情形下,LLR映射表產生/更新單元138根據第一邏輯資料頁的該區段的解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊來產生一第一LLR映射表,以供後續解碼器134對其他區段進行解碼時使用,其中第一LLR映射表是給解碼器134後續使用臨界電壓VT2、(VT2-Δ)、(VT2+Δ)讀取記憶單元時使用。此外,在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有第二種組合(0, 0)的情形下,LLR映射表產生/更新單元138根據第一邏輯資料頁的該區段的解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊來產生一第二LLR映射表,以供後續解碼器134對其他區段進行解碼時使用,其中第二LLR映射表是給解碼器134後續使用臨界電壓VT8、(VT8-Δ)、(VT8+Δ)讀取記憶單元時使用。最後,在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有第三種組合(0, 1)的情形下,LLR映射表產生/更新單元138根據第一邏輯資料頁的該區段的解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊來產生一第三LLR映射表,以供後續解碼器134對其他區段進行解碼時使用,其中第三LLR映射表是給解碼器134後續使用臨界電壓VT14、(VT14-Δ)、(VT14+Δ)讀取記憶單元時使用。以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。Next, when the bit value corresponding to the second logic data page and the bit value corresponding to the third logic data page have the first combination (1, 0), the LLR mapping table generation/update unit 138 generates a first LLR mapping table based on the decoded data of that segment of the first logic data page, the first read information, the second read information, and the third read information, for use by the subsequent decoder 134 when decoding other segments. The first LLR mapping table is used by the decoder 134 when it subsequently reads the memory unit using the critical voltages VT2, (VT2-Δ), and (VT2+Δ). Furthermore, when the bit values corresponding to the second logic data page and the bit values corresponding to the third logic data page have a second combination (0, 0), the LLR mapping table generation/update unit 138 generates a second LLR mapping table based on the decoded data of that segment of the first logic data page, the first read information, the second read information, and the third read information, for subsequent decoder 134 to use when decoding other segments. The second LLR mapping table is used by decoder 134 when subsequently using the critical voltage VT8, (VT8-Δ), and (VT8+Δ) to read memory units. Finally, when the bit values corresponding to the second logic data page and the bit values corresponding to the third logic data page have a third combination (0, 1), the LLR mapping table generation/update unit 138 generates a third LLR mapping table based on the decoded data of that segment of the first logic data page, the first read information, the second read information, and the third read information, for use by the subsequent decoder 134 when decoding other segments. The third LLR mapping table is used by the decoder 134 when it subsequently reads the memory unit using the critical voltage VT14, (VT14-Δ), and (VT14+Δ). The above description is merely a preferred embodiment of the present invention. All equivalent changes and modifications made within the scope of the patent application of the present invention shall fall within the scope of the present invention.

100:記憶裝置103:記憶單元110:快閃記憶體控制器112:微處理器112M:唯讀記憶體112C:程式碼114:控制邏輯116:緩衝記憶體118:介面邏輯120:快閃記憶體模組130:主裝置132:編碼器134:解碼器136:控制單元138:LLR映射表產生/更新單元200:區塊500 ~ 516:步驟M_0 ~ M_K:記憶單元P_0 ~ P_N:實體資料頁VG_0 ~ VG_N:閘極控制電壓B0 ~ BK:位元值S0 ~ S15:狀態VT1 ~ VT15:臨界電壓VT1’, VT11’:調整後臨界電壓100: Memory Device 103: Memory Unit 110: Flash Memory Controller 112: Microprocessor 112M: Read-Only Memory 112C: Program Code 114: Control Logic 116: Cache Memory 118: Interface Logic 120: Flash Memory Module 130: Main Unit 132: Encoder 134: Decoder 136: Control Unit 138: LLR Mapping Table Generation/Update Unit 200: Blocks 500 ~ 516: Steps M_0 ~ M_K: Memory Units P_0 ~ P_N: Physical Data Pages VG_0 ~ VG_N: Gate Control Voltages B0 ~ BK: Bit Values S0 ~ S15: Status VT1 ~ VT15: Critical voltage; VT1’, VT11’: Adjusted critical voltage

第1圖為依據本發明一實施例之一種記憶裝置的示意圖。第2圖為快閃記憶體模組所包含之一區塊的示意圖。第3圖為依據本發明一實施例之每一記憶單元用以儲存4個位元的示意圖。第4圖為記憶單元之每一個狀態的分佈出現偏移或是變寬的示意圖。第5圖為根據本發明一實施例之存取快閃記憶體模組的方法的流程圖。第6圖為根據本發明一實施例之使用不同臨界電壓來讀取資料頁的示意圖。Figure 1 is a schematic diagram of a memory device according to an embodiment of the present invention. Figure 2 is a schematic diagram of a block included in a flash memory module. Figure 3 is a schematic diagram of each memory unit storing 4 bits according to an embodiment of the present invention. Figure 4 is a schematic diagram showing the offset or widening of the distribution of each state of the memory unit. Figure 5 is a flowchart of a method for accessing a flash memory module according to an embodiment of the present invention. Figure 6 is a schematic diagram of reading a data page using different critical voltages according to an embodiment of the present invention.

500 ~ 516:步驟500 ~ 516: Steps

Claims (12)

一種存取一快閃記憶體模組的方法,包含有:分別使用一第一組臨界電壓、一正向調整後第一組臨界電壓及一負向調整後第一組臨界電壓來讀取該快閃記憶體模組中一實體資料頁的一第一邏輯資料頁,以分別得到一第一讀出資訊、一第二讀出資訊以及一第三讀出資訊;對該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊進行解碼以產生該第一邏輯資料頁的一解碼後資料;根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊以產生一對數似然比(log-likelihood ratio,LLR)映射表,以供後續對讀取其他邏輯資料頁並進行解碼時使用;其中該實體資料頁包含了多個記憶單元,每一記憶單元係用來儲存多個位元,每一記憶單元具有多個狀態,且該多個狀態係用來指出該多個位元的不同的組合;以及該第一讀出資訊包含了每一個記憶單元的一硬位元、該第二讀出資訊包含了每一個記憶單元的一第一軟位元、以及該第三讀出資訊包含了每一個記憶單元的一第二軟位元;以及根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊以產生該LLR映射表的步驟包含有:根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊與該第三讀出資訊來對該解碼後資料、該硬位元、該第一軟位元以及該第二軟位元的16種組合進行計數,以計算出該解碼後資料、該硬位元、該第一軟位元以及該第二軟位元之每一種組合的數量,以供計算出該LLR映射表。A method for accessing a flash memory module includes: using a first set of critical voltages, a positively adjusted first set of critical voltages, and a negatively adjusted first set of critical voltages to read a first logical data page of a physical data page in the flash memory module, so as to obtain a first read information, a second read information, and a third read information, respectively. The first read information, the second read information, and the third read information are decoded to generate decoded data of the first logic data page; a log-likelihood ratio is generated based on the decoded data of the first logic data page, the first read information, the second read information, and the third read information. A ratio (LLR) mapping table is used for subsequent reading and decoding of other logical data pages; wherein the physical data page contains multiple memory units, each memory unit is used to store multiple bits, each memory unit has multiple states, and the multiple states are used to indicate different combinations of the multiple bits; and the first read information contains a hard bit of each memory unit, the second read information contains a first soft bit of each memory unit, and the third read information contains a second soft bit of each memory unit; and according to the The step of generating the LLR mapping table from the decoded data, the first read information, the second read information, and the third read information of the first logical data page includes: counting 16 combinations of the decoded data, the hard bits, the first soft bits, and the second soft bits based on the decoded data, the first read information, the second read information, and the third read information of the first logical data page, to calculate the number of each combination of the decoded data, the hard bits, the first soft bits, and the second soft bits, for calculating the LLR mapping table. 如申請專利範圍第1項所述之方法,其中該第一組臨界電壓至少包含一第一臨界電壓、一第二臨界電壓及一第三臨界電壓;該正向調整後第一組臨界電壓包含了該第一臨界電壓加上一調整值、該第二臨界電壓加上該調整值以及該第三臨界電壓加上該調整值;以及該負向調整後第一組臨界電壓包含了該第一臨界電壓減去該調整值、該第二臨界電壓減去該調整值以及該第三臨界電壓減去該調整值。The method as described in claim 1, wherein the first set of critical voltages includes at least a first critical voltage, a second critical voltage, and a third critical voltage; the positively adjusted first set of critical voltages includes the first critical voltage plus an adjustment value, the second critical voltage plus the adjustment value, and the third critical voltage plus the adjustment value; and the negatively adjusted first set of critical voltages includes the first critical voltage minus the adjustment value, the second critical voltage minus the adjustment value, and the third critical voltage minus the adjustment value. 一種存取一快閃記憶體模組的方法,包含有:分別使用一第一組臨界電壓、一正向調整後第一組臨界電壓及一負向調整後第一組臨界電壓來讀取該快閃記憶體模組中一實體資料頁的一第一邏輯資料頁,以分別得到一第一讀出資訊、一第二讀出資訊以及一第三讀出資訊;對該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊進行解碼以產生該第一邏輯資料頁的一解碼後資料;根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊以產生一對數似然比(log-likelihood ratio,LLR)映射表,以供後續對讀取其他邏輯資料頁並進行解碼時使用;其中該解碼後資料為一第一解碼後資料,且該方法另包含有:使用一第二組臨界電壓來讀取該快閃記憶體模組中該實體資料頁的一第二邏輯資料頁,並對所讀出的資訊進行解碼以得到一第二解碼後資料;使用一第三組臨界電壓來讀取該快閃記憶體模組中該實體資料頁的一第三邏輯資料頁,並對所讀出的資訊進行解碼以得到一第三解碼後資料;以及根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊以產生該LLR映射表的步驟包含有:根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊、該第三讀出資訊、該第二邏輯資料頁的該第二解碼後資料以及該第三邏輯資料頁的該第三解碼後資料,以至少產生一第一LLR映射表、一第二LLR映射表以及一第三LLR映射表。A method for accessing a flash memory module includes: using a first set of critical voltages, a positively adjusted first set of critical voltages, and a negatively adjusted first set of critical voltages to read a first logical data page of a physical data page in the flash memory module, so as to obtain a first read information, a second read information, and a third read information, respectively. The first read information, the second read information, and the third read information are decoded to generate decoded data of the first logic data page; a log-likelihood ratio is generated based on the decoded data of the first logic data page, the first read information, the second read information, and the third read information. A ratio (LLR) mapping table is used for subsequent reading and decoding of other logical data pages; wherein the decoded data is a first decoded data, and the method further includes: using a second set of critical voltages to read a second logical data page of the physical data page in the flash memory module, and decoding the read information to obtain a second decoded data; using a third set of critical voltages to read a third logical data page of the physical data page in the flash memory module, and decoding the read information to obtain a third... The steps of generating the LLR mapping table based on the decoded data of the first logical data page, the first read information, the second read information, and the third read information include: generating at least one first LLR mapping table, one second LLR mapping table, and one third LLR mapping table based on the decoded data of the first logical data page, the first read information, the second read information, the third read information, the second decoded data of the second logical data page, and the third decoded data of the third logical data page. 如申請專利範圍第3項所述之方法,其中該實體資料頁包含了多個記憶單元,每一記憶單元係用來儲存多個位元,每一記憶單元具有多個狀態,且該多個狀態係用來指出該多個位元的不同的組合;該第一組臨界電壓中的每一個臨界電壓所相鄰的兩個狀態在第二邏輯資料頁是對應到相同的位元值,且在第三邏輯資料頁也是對應到相同的位元值;該第一組臨界電壓中的每一個臨界電壓所相鄰的兩個狀態在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有不同的組合;以及根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊、該第三讀出資訊、該第二邏輯資料頁的該第二解碼後資料以及該第三邏輯資料頁的該第三解碼後資料,以至少產生該第一LLR映射表、該第二LLR映射表以及該第三LLR映射表的步驟包含有:在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有第一種組合的情形下,根據第一邏輯資料頁的該區段的解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊來產生該第一LLR映射表;在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有第二種組合的情形下,根據第一邏輯資料頁的該區段的解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊來產生該第二LLR映射表;以及在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有第三種組合的情形下,根據第一邏輯資料頁的該區段的解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊來產生該第三LLR映射表。As described in claim 3, the physical data page includes multiple memory units, each memory unit storing multiple bits, each memory unit having multiple states, and the multiple states indicating different combinations of the multiple bits; for each of the first set of critical voltages, two adjacent states correspond to the same bit value in the second logical data page, and also correspond to the same bit value in the third logical data page; in the first set of critical voltages... Each critical voltage has two adjacent states whose corresponding bit values in the second logic data page and the third logic data page have different combinations; and based on the decoded data of the first logic data page, the first read information, the second read information, the third read information, the second decoded data of the second logic data page, and the third decoded data of the third logic data page, at least the first LLR mapping table and the second LLR are generated. The steps for creating the mapping table and the third LLR mapping table include: If the bit values corresponding to the second logic data page and the bit values corresponding to the third logic data page have a first combination, generating the first LLR mapping table based on the decoded data of that segment of the first logic data page, the first read information, the second read information, and the third read information; if the bit values corresponding to the second logic data page and the bit values corresponding to the third logic data page have a second combination... In the case of a combination, the second LLR mapping table is generated based on the decoded data of that segment of the first logic data page, the first read information, the second read information, and the third read information; and in the case where the bit value corresponding to the second logic data page and the bit value corresponding to the third logic data page have a third combination, the third LLR mapping table is generated based on the decoded data of that segment of the first logic data page, the first read information, the second read information, and the third read information. 一種快閃記憶體控制器,其中該快閃記憶體控制器係用來存取一快閃記憶體模組,且該快閃記憶體控制器包含有:一唯讀記憶體,用來儲存一程式碼;一緩衝記憶體;以及一微處理器,用來執行該程式碼以控制對該快閃記憶體模組之存取;其中該微處理器用以執行以下操作:分別使用一第一組臨界電壓、一正向調整後第一組臨界電壓及一負向調整後第一組臨界電壓來讀取該快閃記憶體模組中一實體資料頁的一第一邏輯資料頁,以分別得到一第一讀出資訊、一第二讀出資訊以及一第三讀出資訊;對該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊進行解碼以產生該第一邏輯資料頁的一解碼後資料;根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊以產生一對數似然比(log-likelihood ratio,LLR)映射表,以供後續對讀取其他邏輯資料頁並進行解碼時使用;其中該實體資料頁包含了多個記憶單元,每一記憶單元係用來儲存多個位元,每一記憶單元具有多個狀態,且該多個狀態係用來指出該多個位元的不同的組合;以及該第一讀出資訊包含了每一個記憶單元的一硬位元、該第二讀出資訊包含了每一個記憶單元的一第一軟位元、以及該第三讀出資訊包含了每一個記憶單元的一第二軟位元;以及根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊以產生該LLR映射表的步驟包含有:根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊與該第三讀出資訊來對該解碼後資料、該硬位元、該第一軟位元以及該第二軟位元的16種組合進行計數,以計算出該解碼後資料、該硬位元、該第一軟位元以及該第二軟位元之每一種組合的數量,以供計算出該LLR映射表。A flash memory controller is disclosed, wherein the flash memory controller is used to access a flash memory module, and the flash memory controller includes: a read-only memory for storing program code; a cache memory; and a microprocessor for executing the program code to control access to the flash memory module; wherein the microprocessor is used to perform the following operations: reading the flash memory module using a first set of critical voltages, a positively adjusted first set of critical voltages, and a negatively adjusted first set of critical voltages respectively. A first logical data page of a physical data page in the flash memory module is used to obtain a first read information, a second read information, and a third read information, respectively. The first read information, the second read information, and the third read information are decoded to generate decoded data of the first logical data page. A log-likelihood ratio is generated based on the decoded data of the first logical data page, the first read information, the second read information, and the third read information. A ratio (LLR) mapping table is used for subsequent reading and decoding of other logical data pages; wherein the physical data page contains multiple memory units, each memory unit is used to store multiple bits, each memory unit has multiple states, and the multiple states are used to indicate different combinations of the multiple bits; and the first read information contains a hard bit of each memory unit, the second read information contains a first soft bit of each memory unit, and the third read information contains a second soft bit of each memory unit; and according to the The step of generating the LLR mapping table from the decoded data, the first read information, the second read information, and the third read information of the first logical data page includes: counting 16 combinations of the decoded data, the hard bits, the first soft bits, and the second soft bits based on the decoded data, the first read information, the second read information, and the third read information of the first logical data page, to calculate the number of each combination of the decoded data, the hard bits, the first soft bits, and the second soft bits, for calculating the LLR mapping table. 如申請專利範圍第5項所述之快閃記憶體控制器,其中該第一組臨界電壓至少包含一第一臨界電壓、一第二臨界電壓及一第三臨界電壓;該正向調整後第一組臨界電壓包含了該第一臨界電壓加上一調整值、該第二臨界電壓加上該調整值以及該第三臨界電壓加上該調整值;以及該負向調整後第一組臨界電壓包含了該第一臨界電壓減去該調整值、該第二臨界電壓減去該調整值以及該第三臨界電壓減去該調整值。As described in claim 5 of the flash memory controller, the first set of critical voltages includes at least a first critical voltage, a second critical voltage, and a third critical voltage; the positively adjusted first set of critical voltages includes the first critical voltage plus an adjustment value, the second critical voltage plus the adjustment value, and the third critical voltage plus the adjustment value; and the negatively adjusted first set of critical voltages includes the first critical voltage minus the adjustment value, the second critical voltage minus the adjustment value, and the third critical voltage minus the adjustment value. 一種快閃記憶體控制器,其中該快閃記憶體控制器係用來存取一快閃記憶體模組,且該快閃記憶體控制器包含有:一唯讀記憶體,用來儲存一程式碼;一緩衝記憶體;以及一微處理器,用來執行該程式碼以控制對該快閃記憶體模組之存取;其中該微處理器用以執行以下操作:分別使用一第一組臨界電壓、一正向調整後第一組臨界電壓及一負向調整後第一組臨界電壓來讀取該快閃記憶體模組中一實體資料頁的一第一邏輯資料頁,以分別得到一第一讀出資訊、一第二讀出資訊以及一第三讀出資訊;對該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊進行解碼以產生該第一邏輯資料頁的一解碼後資料;根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊以產生一對數似然比(log-likelihood ratio,LLR)映射表,以供後續對讀取其他邏輯資料頁並進行解碼時使用;其中該解碼後資料為一第一解碼後資料,且該微處理器另執行以下操作:使用一第二組臨界電壓來讀取該快閃記憶體模組中該實體資料頁的一第二邏輯資料頁,並對所讀出的資訊進行解碼以得到一第二解碼後資料;使用一第三組臨界電壓來讀取該快閃記憶體模組中該實體資料頁的一第三邏輯資料頁,並對所讀出的資訊進行解碼以得到一第三解碼後資料;以及根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊以產生該LLR映射表的步驟包含有:根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊、該第三讀出資訊、該第二邏輯資料頁的該第二解碼後資料以及該第三邏輯資料頁的該第三解碼後資料,以至少產生一第一LLR映射表、一第二LLR映射表以及一第三LLR映射表。A flash memory controller is disclosed, wherein the flash memory controller is used to access a flash memory module, and the flash memory controller includes: a read-only memory for storing program code; a cache memory; and a microprocessor for executing the program code to control access to the flash memory module; wherein the microprocessor is used to perform the following operations: reading the flash memory module using a first set of critical voltages, a positively adjusted first set of critical voltages, and a negatively adjusted first set of critical voltages respectively. A first logical data page of a physical data page in the flash memory module is used to obtain a first read information, a second read information, and a third read information, respectively. The first read information, the second read information, and the third read information are decoded to generate decoded data of the first logical data page. A log-likelihood ratio is generated based on the decoded data of the first logical data page, the first read information, the second read information, and the third read information. A ratio (LLR) mapping table is used for subsequent reading and decoding of other logical data pages; wherein the decoded data is a first decoded data, and the microprocessor further performs the following operations: using a second set of critical voltages to read a second logical data page of the physical data page in the flash memory module, and decoding the read information to obtain a second decoded data; using a third set of critical voltages to read a third logical data page of the physical data page in the flash memory module, and decoding the read information to obtain... The step of generating the LLR mapping table based on the decoded data of the first logical data page, the first read information, the second read information, and the third read information includes: generating at least a first LLR mapping table, a second LLR mapping table, and a third LLR mapping table based on the decoded data of the first logical data page, the first read information, the second read information, the third read information, the second decoded data of the second logical data page, and the third decoded data of the third logical data page. 如申請專利範圍第7項所述之快閃記憶體控制器,其中該實體資料頁包含了多個記憶單元,每一記憶單元係用來儲存多個位元,每一記憶單元具有多個狀態,且該多個狀態係用來指出該多個位元的不同的組合;該第一組臨界電壓中的每一個臨界電壓所相鄰的兩個狀態在第二邏輯資料頁是對應到相同的位元值,且在第三邏輯資料頁也是對應到相同的位元值;該第一組臨界電壓中的每一個臨界電壓所相鄰的兩個狀態在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有不同的組合;以及根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊、該第三讀出資訊、該第二邏輯資料頁的該第二解碼後資料以及該第三邏輯資料頁的該第三解碼後資料,以至少產生該第一LLR映射表、該第二LLR映射表以及該第三LLR映射表的步驟包含有:在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有第一種組合的情形下,根據第一邏輯資料頁的該區段的解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊來產生該第一LLR映射表;在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有第二種組合的情形下,根據第一邏輯資料頁的該區段的解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊來產生該第二LLR映射表;以及在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有第三種組合的情形下,根據第一邏輯資料頁的該區段的解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊來產生該第三LLR映射表。As described in claim 7 of the flash memory controller, the physical data page includes multiple memory units, each memory unit storing multiple bits, each memory unit having multiple states, and the multiple states indicating different combinations of the multiple bits; for each of the first set of critical voltages, two adjacent states correspond to the same bit value in the second logic data page, and also correspond to the same bit value in the third logic data page; the first set of Each critical voltage has two adjacent states whose corresponding bit values in the second logic data page and the third logic data page have different combinations; and based on the decoded data of the first logic data page, the first read information, the second read information, the third read information, the second decoded data of the second logic data page, and the third decoded data of the third logic data page, at least the first LLR mapping table and the second... The steps for creating the LLR mapping table and the third LLR mapping table include: If the bit values corresponding to the second logic data page and the bit values corresponding to the third logic data page have a first combination, generating the first LLR mapping table based on the decoded data of that segment of the first logic data page, the first read information, the second read information, and the third read information; If the bit values corresponding to the second logic data page and the bit values corresponding to the third logic data page have a second combination, generating the first LLR mapping table based on the decoded data of that segment of the first logic data page, the first read information, the second read information, and the third read information; and if the bit values corresponding to the second logic data page and the bit values corresponding to the third logic data page have a second combination, generating the first LLR mapping table based on the decoded data of that segment of the first logic data page, the first read information, the second read information, and the third read information. In the case of a certain combination, the second LLR mapping table is generated based on the decoded data of that segment of the first logic data page, the first read information, the second read information, and the third read information; and in the case where the bit value corresponding to the second logic data page and the bit value corresponding to the third logic data page have a third combination, the third LLR mapping table is generated based on the decoded data of that segment of the first logic data page, the first read information, the second read information, and the third read information. 一種記憶裝置,包含有:一快閃記憶體模組;以及一快閃記憶體控制器,用以存取該快閃記憶體模組;其中該快閃記憶體控制器執行以下操作:分別使用一第一組臨界電壓、一正向調整後第一組臨界電壓及一負向調整後第一組臨界電壓來讀取該快閃記憶體模組中一實體資料頁的一第一邏輯資料頁,以分別得到一第一讀出資訊、一第二讀出資訊以及一第三讀出資訊;對該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊進行解碼以產生該第一邏輯資料頁的一解碼後資料;根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊以產生一對數似然比(log-likelihood ratio,LLR)映射表,以供後續對讀取其他邏輯資料頁並進行解碼時使用;其中該實體資料頁包含了多個記憶單元,每一記憶單元係用來儲存多個位元,每一記憶單元具有多個狀態,且該多個狀態係用來指出該多個位元的不同的組合;以及該第一讀出資訊包含了每一個記憶單元的一硬位元、該第二讀出資訊包含了每一個記憶單元的一第一軟位元、以及該第三讀出資訊包含了每一個記憶單元的一第二軟位元;以及根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊以產生該LLR映射表的步驟包含有:根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊與該第三讀出資訊來對該解碼後資料、該硬位元、該第一軟位元以及該第二軟位元的16種組合進行計數,以計算出該解碼後資料、該硬位元、該第一軟位元以及該第二軟位元之每一種組合的數量,以供計算出該LLR映射表。A memory device includes: a flash memory module; and a flash memory controller for accessing the flash memory module; wherein the flash memory controller performs the following operations: reading a first logical data page of a physical data page in the flash memory module using a first set of critical voltages, a positively adjusted first set of critical voltages, and a negatively adjusted first set of critical voltages, respectively, to obtain a... First, a second, and a third readout; the first, second, and third readouts are decoded to generate decoded data for the first logic data page; a log-likelihood ratio is generated based on the decoded data of the first logic data page, the first, second, and third readouts. A ratio (LLR) mapping table is used for subsequent reading and decoding of other logical data pages; wherein the physical data page contains multiple memory units, each memory unit is used to store multiple bits, each memory unit has multiple states, and the multiple states are used to indicate different combinations of the multiple bits; and the first read information contains a hard bit of each memory unit, the second read information contains a first soft bit of each memory unit, and the third read information contains a second soft bit of each memory unit; and according to the The step of generating the LLR mapping table from the decoded data, the first read information, the second read information, and the third read information of the first logical data page includes: counting 16 combinations of the decoded data, the hard bits, the first soft bits, and the second soft bits based on the decoded data, the first read information, the second read information, and the third read information of the first logical data page, to calculate the number of each combination of the decoded data, the hard bits, the first soft bits, and the second soft bits, for calculating the LLR mapping table. 如申請專利範圍第9項所述之記憶裝置,其中該第一組臨界電壓至少包含一第一臨界電壓、一第二臨界電壓及一第三臨界電壓;該正向調整後第一組臨界電壓包含了該第一臨界電壓加上一調整值、該第二臨界電壓加上該調整值以及該第三臨界電壓加上該調整值;以及該負向調整後第一組臨界電壓包含了該第一臨界電壓減去該調整值、該第二臨界電壓減去該調整值以及該第三臨界電壓減去該調整值。The memory device as described in claim 9, wherein the first set of critical voltages includes at least a first critical voltage, a second critical voltage, and a third critical voltage; the positively adjusted first set of critical voltages includes the first critical voltage plus an adjustment value, the second critical voltage plus the adjustment value, and the third critical voltage plus the adjustment value; and the negatively adjusted first set of critical voltages includes the first critical voltage minus the adjustment value, the second critical voltage minus the adjustment value, and the third critical voltage minus the adjustment value. 一種記憶裝置,包含有:一快閃記憶體模組;以及一快閃記憶體控制器,用以存取該快閃記憶體模組;其中該快閃記憶體控制器執行以下操作:分別使用一第一組臨界電壓、一正向調整後第一組臨界電壓及一負向調整後第一組臨界電壓來讀取該快閃記憶體模組中一實體資料頁的一第一邏輯資料頁,以分別得到一第一讀出資訊、一第二讀出資訊以及一第三讀出資訊;對該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊進行解碼以產生該第一邏輯資料頁的一解碼後資料;根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊以產生一對數似然比(log-likelihood ratio,LLR)映射表,以供後續對讀取其他邏輯資料頁並進行解碼時使用;其中該解碼後資料為一第一解碼後資料,且該快閃記憶體控制器另執行以下操作:使用一第二組臨界電壓來讀取該快閃記憶體模組中該實體資料頁的一第二邏輯資料頁,並對所讀出的資訊進行解碼以得到一第二解碼後資料;使用一第三組臨界電壓來讀取該快閃記憶體模組中該實體資料頁的一第三邏輯資料頁,並對所讀出的資訊進行解碼以得到一第三解碼後資料;以及根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊以及該第三讀出資訊以產生該LLR映射表的步驟包含有:根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊、該第三讀出資訊、該第二邏輯資料頁的該第二解碼後資料以及該第三邏輯資料頁的該第三解碼後資料,以至少產生一第一LLR映射表、一第二LLR映射表以及一第三LLR映射表。A memory device includes: a flash memory module; and a flash memory controller for accessing the flash memory module; wherein the flash memory controller performs the following operations: reading a first logical data page of a physical data page in the flash memory module using a first set of critical voltages, a positively adjusted first set of critical voltages, and a negatively adjusted first set of critical voltages, respectively, to obtain a... First, a second, and a third readout; the first, second, and third readouts are decoded to generate decoded data for the first logic data page; a log-likelihood ratio is generated based on the decoded data of the first logic data page, the first, second, and third readouts. A ratio (LLR) mapping table is used for subsequent reading and decoding of other logical data pages; wherein the decoded data is a first decoded data, and the flash memory controller further performs the following operations: using a second set of critical voltages to read a second logical data page of the physical data page in the flash memory module, and decoding the read information to obtain a second decoded data; using a third set of critical voltages to read a third logical data page of the physical data page in the flash memory module, and decoding the read information to obtain a second decoded data. The step of obtaining a third decoded data; and generating the LLR mapping table based on the decoded data of the first logic data page, the first read information, the second read information, and the third read information includes: generating at least a first LLR mapping table, a second LLR mapping table, and a third LLR mapping table based on the decoded data of the first logic data page, the first read information, the second read information, the third read information, the second decoded data of the second logic data page, and the third decoded data of the third logic data page. 如申請專利範圍第11項所述之記憶裝置,其中該實體資料頁包含了多個記憶單元,每一記憶單元係用來儲存多個位元,每一記憶單元具有多個狀態,且該多個狀態係用來指出該多個位元的不同的組合;該第一組臨界電壓中的每一個臨界電壓所相鄰的兩個狀態在第二邏輯資料頁是對應到相同的位元值,且在第三邏輯資料頁也是對應到相同的位元值;該第一組臨界電壓中的每一個臨界電壓所相鄰的兩個狀態在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有不同的組合;以及根據該第一邏輯資料頁的該解碼後資料、該第一讀出資訊、該第二讀出資訊、該第三讀出資訊、該第二邏輯資料頁的該第二解碼後資料以及該第三邏輯資料頁的該第三解碼後資料,以至少產生該第一LLR映射表、該第二LLR映射表以及該第三LLR映射表的步驟包含有:在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有第一種組合的情形下,根據第一邏輯資料頁的該區段的解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊來產生該第一LLR映射表;在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有第二種組合的情形下,根據第一邏輯資料頁的該區段的解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊來產生該第二LLR映射表;以及在第二邏輯資料頁所對應到的位元值以及在第三邏輯資料頁所對應到的位元值具有第三種組合的情形下,根據第一邏輯資料頁的該區段的解碼後資料、第一讀出資訊、第二讀出資訊與第三讀出資訊來產生該第三LLR映射表。As described in claim 11, the memory device, wherein the physical data page includes multiple memory units, each memory unit being used to store multiple bits, each memory unit having multiple states, and the multiple states being used to indicate different combinations of the multiple bits; for each of the first set of critical voltages, two adjacent states correspond to the same bit value in the second logical data page, and also correspond to the same bit value in the third logical data page; the first set of critical voltages... Each critical voltage in the voltage has two adjacent states whose corresponding bit values in the second logic data page and the third logic data page have different combinations; and based on the decoded data of the first logic data page, the first read information, the second read information, the third read information, the second decoded data of the second logic data page, and the third decoded data of the third logic data page, at least the first LLR mapping table and the second LLR mapping table are generated. The steps for creating the LR mapping table and the third LLR mapping table include: If the bit values corresponding to the second logic data page and the bit values corresponding to the third logic data page have a first combination, generating the first LLR mapping table based on the decoded data of that segment of the first logic data page, the first read information, the second read information, and the third read information; if the bit values corresponding to the second logic data page and the bit values corresponding to the third logic data page have a second combination... In the case of a combination, the second LLR mapping table is generated based on the decoded data of that segment of the first logic data page, the first read information, the second read information, and the third read information; and in the case where the bit value corresponding to the second logic data page and the bit value corresponding to the third logic data page have a third combination, the third LLR mapping table is generated based on the decoded data of that segment of the first logic data page, the first read information, the second read information, and the third read information.
TW113128973A 2023-08-31 2024-08-02 Method for accessing flash memory module and associated flash memory controller and memory device TWI906994B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202411125847.2A CN119541592A (en) 2023-08-31 2024-08-16 Method for accessing flash memory module and related flash memory controller and memory device
US18/810,497 US20250077350A1 (en) 2023-08-31 2024-08-20 Method for accessing flash memory module and associated flash memory controller and memory device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202363536055P 2023-08-31 2023-08-31
US63/536,055 2023-08-31

Publications (2)

Publication Number Publication Date
TW202512197A TW202512197A (en) 2025-03-16
TWI906994B true TWI906994B (en) 2025-12-01

Family

ID=

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI466123B (en) 2010-12-07 2014-12-21 Silicon Motion Inc Method, memory controller, and apparatus for reading data stored in flash memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI466123B (en) 2010-12-07 2014-12-21 Silicon Motion Inc Method, memory controller, and apparatus for reading data stored in flash memory

Similar Documents

Publication Publication Date Title
KR101887557B1 (en) Flash memory controller and memory device for accessing flash memory module, and associated method
CN110837340B (en) Flash memory controller, method for managing flash memory module and related electronic device
CN113113076B (en) Decoding method, flash memory controller and electronic device
TWI720852B (en) Method for accessing flash memory module and associated flash memory controller and electronic device
KR102861832B1 (en) Memory system and operating method thereof
US20250077350A1 (en) Method for accessing flash memory module and associated flash memory controller and memory device
KR20210108712A (en) Memory system and operating method thereof
TWI831297B (en) Control method of flash memory controller, flash memory controller, and electronic device
TWI782458B (en) Method for accessing flash memory module, flash memory controller, and electronic device
US12469573B2 (en) Storage controller generating read voltages for soft decision decoding based on read information and decoding information, storage device including the same, and operating method thereof
KR20230056333A (en) Memory controller, memory system including the same and operating method thereof
TWI906994B (en) Method for accessing flash memory module and associated flash memory controller and memory device
TWI837829B (en) Method for accessing flash memory module and associated flash memory controller and memory device
TWI823649B (en) Control method of flash memory controller, flash memory controller, and electronic device
TWI906987B (en) Method for accessing flash memory module and associated flash memory controller and memory device
TW202512197A (en) Method for accessing flash memory module and associated flash memory controller and memory device
TWI863323B (en) Method for accessing flash memory module and associated flash memory controller and electronic device
US20250078936A1 (en) Method for accessing flash memory module and associated flash memory controller and memory device
TWI836610B (en) Method for accessing flash memory module and associated flash memory controller and memory device
TWI691967B (en) Decoding method and associated flash memory controller and electronic device
US20260037377A1 (en) Control method of flash memory controller for efficient decoding