[go: up one dir, main page]

TWI852008B - Flash memory controller and electronic device - Google Patents

Flash memory controller and electronic device Download PDF

Info

Publication number
TWI852008B
TWI852008B TW111118303A TW111118303A TWI852008B TW I852008 B TWI852008 B TW I852008B TW 111118303 A TW111118303 A TW 111118303A TW 111118303 A TW111118303 A TW 111118303A TW I852008 B TWI852008 B TW I852008B
Authority
TW
Taiwan
Prior art keywords
flash memory
block
memory controller
time
data
Prior art date
Application number
TW111118303A
Other languages
Chinese (zh)
Other versions
TW202234253A (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 TW111118303A priority Critical patent/TWI852008B/en
Publication of TW202234253A publication Critical patent/TW202234253A/en
Application granted granted Critical
Publication of TWI852008B publication Critical patent/TWI852008B/en

Links

Images

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The present invention provides a flash memory controller, wherein the flash memory controller is arranged to access a flash memory module, and the flash memory controller includes a ROM, a microprocessor and a time management circuit. The ROM stores a program code, the microprocessor is configured to execute the program code to control the access of the flash memory module, and the time management circuit is configured to generate current time information. In the operations of the flash memory controller, when the microprocessor writes data into last pages of a specific block of the flash memory module, the microprocessor writes the time information generated by the time management circuit into one of the last pages of the specific block.

Description

快閃記憶體控制器與電子裝置 Flash memory controller and electronic device

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

隨著快閃記憶體技術的演進,快閃記憶體晶片中之記憶單元由平面排列的方式改變為多層堆疊的模式,以使得單一晶片可以包含更多的記憶單元,以提升快閃記憶體晶片的容量。然而,上述立體快閃記憶體(3D flash memory)會遭遇到資料保存(data retention)上的問題,亦即當資料寫入到快閃記憶體晶片後不久,其資料品質便會大幅下滑,而可能使得資料無法被正確地讀取。因此,如何提出一種有效率的管理方法來避免資料保存上的問題是一個重要的技術方向。 With the evolution of flash memory technology, the memory cells in flash memory chips have changed from a planar arrangement to a multi-layer stacking mode, so that a single chip can contain more memory cells to increase the capacity of the flash memory chip. However, the above-mentioned 3D flash memory will encounter data retention problems, that is, soon after the data is written to the flash memory chip, its data quality will drop significantly, and the data may not be read correctly. Therefore, how to propose an efficient management method to avoid data retention problems is an important technical direction.

因此,本發明提出了一種管理快閃記憶體的方法,其可以有效率且快速地尋找出即將發生資料保存問題的區塊來做適切的處理,以解決先前技術中的問題。 Therefore, the present invention proposes a method for managing flash memory, which can efficiently and quickly find the block where data storage problems are about to occur and perform appropriate processing to solve the problems in the prior art.

在本發明的一個實施例中,揭露了一種快閃記憶體控制器,其中該 快閃記憶體控制器係用來存取一快閃記憶體模組,該快閃記憶體模組包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含了多個區塊,每一個區塊包含多個資料頁,且該快閃記憶體控制器包含有一唯讀記憶體、一微處理器以及一時間管理電路。該唯讀記憶體係用來儲存一程式碼,該微處理器用來執行該程式碼以控制對該快閃記憶體模組之存取,且該時間管理電路用以產生目前的一時間資訊。在該快閃記憶體控制器的操作中,當該微處理器將資料寫入至一特定區塊的最後多個資料頁時,該微處理器將該時間管理電路所產生的該時間資訊寫入至該最後多個資料頁中的其一。 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, the flash memory module includes a plurality of flash memory chips, each flash memory chip includes a plurality of blocks, each block includes a plurality of data pages, and the flash memory controller includes a read-only memory, a microprocessor and a time management circuit. The read-only memory is used to store a program code, the microprocessor is used to execute the program code to control access to the flash memory module, and the time management circuit is used to generate current time information. In the operation of the flash memory controller, when the microprocessor writes data to the last multiple data pages of a specific block, the microprocessor writes the time information generated by the time management circuit to one of the last multiple data pages.

在本發明的另一個實施例中,揭露了一種管理一快閃記憶體模組的方法,其中該快閃記憶體模組包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含了多個區塊,每一個區塊包含多個資料頁,且該方法包含有以下步驟:產生目前的一時間資訊;以及當資料被寫入至該快閃記憶體模組的一特定區塊的最後多個資料頁時,將該時間管理電路所產生的該時間資訊寫入至該最後多個資料頁中的其一。 In another embodiment of the present invention, a method for managing a flash memory module is disclosed, wherein the flash memory module includes a plurality of flash memory chips, each flash memory chip includes a plurality of blocks, each block includes a plurality of data pages, and the method includes the following steps: generating current time information; and when data is written to the last plurality of data pages of a specific block of the flash memory module, writing the time information generated by the time management circuit to one of the last plurality of data pages.

在本發明的另一個實施例中,揭露了一種電子裝置,包含有一快閃記憶體模組以及一快閃記憶體控制器。該快閃記憶體模組包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含了多個區塊,每一個區塊包含多個資料頁;以及該快閃記憶體控制器係用以存取該快閃記憶體模組,其中該快閃記憶體控制器產生目前的一時間資訊;以及當該快閃記憶體控制器將資料寫入至該快閃記憶體模組的一特定區塊的最後多個資料頁時,該快閃記憶體控制器將該時間管理電路所產生的該時間資訊寫入至該最後多個資料頁中的其一。 In another embodiment of the present invention, an electronic device is disclosed, comprising a flash memory module and a flash memory controller. The flash memory module comprises a plurality of flash memory chips, each of which comprises a plurality of blocks, each of which comprises a plurality of data pages; and the flash memory controller is used to access the flash memory module, wherein the flash memory controller generates a current time information; and when the flash memory controller writes data to the last plurality of data pages of a specific block of the flash memory module, the flash memory controller writes the time information generated by the time management circuit to one of the last plurality of data pages.

100,500,600:記憶裝置 100,500,600:Memory device

110,510,610:快閃記憶體控制器 110,510,610: Flash memory controller

112:微處理器 112: Microprocessor

112C:程式碼 112C:Program code

112M:唯讀記憶體 112M: Read-only memory

114:控制邏輯 114: Control Logic

116:緩衝記憶體 116: Buffer memory

118:介面邏輯 118: Interface Logic

119,519,619:時間管理電路 119,519,619: Time management circuit

120:快閃記憶體模組 120: Flash memory module

130:主裝置 130: Main device

132:編碼器 132: Encoder

134:解碼器 134:Decoder

N1,N2:特定接腳 N1, N2: specific pins

200,710:區塊 200,710: Block

202:浮閘電晶體 202: Floating gate transistor

BL1,BL2,BL3:位元線 BL1, BL2, BL3: bit lines

WL0~WL2,WL4~WL6:字元線 WL0~WL2,WL4~WL6: character line

P0、P1、P2、P3、P(N-1)、PN:資料頁 P0, P1, P2, P3, P(N-1), PN: data page

400:時間資訊對照表 400: Time information comparison table

517,617:計時器 517,617:Timer

302,712:時間資訊 302,712: Time information

800~808:步驟 800~808: Steps

第1圖為依據本發明一第一實施例之一種記憶裝置的示意圖。 Figure 1 is a schematic diagram of a memory device according to a first embodiment of the present invention.

第2圖為依據本發明一實施例之快閃記憶體模組中一區塊的示意圖 Figure 2 is a schematic diagram of a block in a flash memory module according to an embodiment of the present invention.

第3圖為區塊與資料頁的示意圖。 Figure 3 is a schematic diagram of the block and data page.

第4圖為根據本發明一實施例之時間資訊對照表的示意圖。 Figure 4 is a schematic diagram of a time information comparison table according to an embodiment of the present invention.

第5圖為依據本發明一第二實施例之一種記憶裝置的示意圖。 Figure 5 is a schematic diagram of a memory device according to a second embodiment of the present invention.

第6圖為依據本發明一第三實施例之一種記憶裝置的示意圖。 Figure 6 is a schematic diagram of a memory device according to a third embodiment of the present invention.

第7圖為快閃記憶體控制器斷電與上電的時序圖。 Figure 7 is a timing diagram of the flash memory controller powering off and on.

第8圖為根據本發明一實施例之一種管理一快閃記憶體模組的方法的流程圖。 Figure 8 is a flow chart of a method for managing a flash memory module according to an embodiment of the present invention.

第1圖為依據本發明一第一實施例之一種記憶裝置100的示意圖。記憶裝置100包含有一快閃記憶體(Flash Memory)模組120以及一快閃記憶體控制器110,且快閃記憶體控制器110用來存取快閃記憶體模組120。在本實施例中,快閃記憶體控制器110包含一微處理器112、一唯讀記憶體(Read Only Memory,ROM)112M、一控制邏輯114、一緩衝記憶體116、一介面邏輯118以及一時間管理電路119。唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對快閃記憶體模組120之存取(Access)。控制邏輯114包含了一編碼器132以及一解碼器134,其中編碼器132用來對寫入到快閃記憶體模組120中的資料進行編碼以產生對應的校驗碼(或稱,錯誤更正碼(Error Correction Code),ECC),而解碼器134用來將從快閃記憶體模組120所讀出的資料進行解碼。 FIG. 1 is a schematic diagram of a memory device 100 according to a first 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. In this embodiment, the flash memory controller 110 includes a microprocessor 112, a read-only memory (ROM) 112M, a control logic 114, a buffer memory 116, an interface logic 118, and a time management circuit 119. The read-only memory 112M is used to store a program code 112C, and the microprocessor 112 is used to execute the program code 112C to control the access to the flash memory module 120. The control logic 114 includes an encoder 132 and a decoder 134, wherein the encoder 132 is used to encode the data written into the flash memory module 120 to generate a corresponding checksum (or error correction code, ECC), and the decoder 134 is used to decode the data read from the flash memory module 120.

於典型狀況下,快閃記憶體模組120包含了多個快閃記憶體晶片,而每一個快閃記憶體晶片包含複數個區塊(block),而快閃記憶體控制器110對快閃記憶體模組120進行抹除資料運作係以區塊為單位來進行。另外,一區塊可記錄特定數量的資料頁(page),其中快閃記憶體控制器110對快閃記憶體模組120進行寫入資料之運作係以資料頁為單位來進行寫入。在本實施例中,快閃記憶體模組120為一立體NAND型快閃記憶體(3D NAND-type flash)模組。 In a typical case, the flash memory module 120 includes a plurality of flash memory chips, and each flash memory chip includes a plurality of blocks, and the flash memory controller 110 performs data erasure operations on the flash memory module 120 in units of blocks. In addition, a block can record a specific number of data pages, wherein the flash memory controller 110 performs data writing operations on the flash memory module 120 in units of data pages. In this embodiment, the flash memory module 120 is a 3D NAND-type flash module.

實作上,透過微處理器112執行程式碼112C之快閃記憶體控制器110可利用其本身內部之元件來進行諸多控制運作,例如:利用控制邏輯114來控制快閃記憶體模組120之存取運作(尤其是對至少一區塊或至少一資料頁之存取運作)、利用緩衝記憶體116進行所需之緩衝處理、以及利用介面邏輯118來與一主裝置(Host Device)130溝通。此外,時間管理電路119透過快閃記憶體控制器的一特定接腳N1與主裝置的一特定接腳N2連接。緩衝記憶體116係以隨機存取記憶體(Random Access Memory,RAM)來實施,例如,緩衝記憶體116可以是靜態隨機存取記憶體(Static RAM,SRAM),但本發明不限於此。 In practice, the flash memory controller 110 executing the program code 112C through the microprocessor 112 can use its own internal components to perform a variety of control operations, such as using the control logic 114 to control the access operation of the flash memory module 120 (especially the access operation of at least one block or at least one data page), using the buffer memory 116 to perform the required buffer processing, and using the interface logic 118 to communicate with a host device (Host Device) 130. In addition, the time management circuit 119 is connected to a specific pin N2 of the host device through a specific pin N1 of the flash memory controller. The buffer memory 116 is implemented as a random access memory (RAM). For example, the buffer memory 116 may be a static random access memory (SRAM), but the present invention is not limited thereto.

在一實施例中,記憶裝置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, XD standards), and the host device 130 is an electronic device connectable 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 set in an electronic device, such as a mobile phone, a laptop, or a desktop computer, and the host device 130 may be a processor of the electronic device.

第2圖為依據本發明一實施例之快閃記憶體模組120中一區塊200的示意圖,其中快閃記憶體模組120為立體NAND型快閃記憶體。如第2圖所示,區塊200包含了多個記憶單元(例如圖示的浮閘電晶體202或是其他的電荷捕捉(charge trap)元件),其透過多條位元線(圖示僅繪示了BL1~BL3)及多條字元線(例如圖示WL0~WL2、WL4~WL6)來構成立體NAND型快閃記憶體架構。在第2圖中,以最上面的一個平面為例,字元線WL0上的所有浮閘電晶體構成了至少一資料頁,字元線WL1上的所有浮閘電晶體構成了另至少一資料頁,而字元線WL2的所有浮閘電晶體構成了再另至少一資料頁...以此類堆。此外,根據快閃記憶體寫入方式的不同,字元線WL0與資料頁(邏輯資料頁)之間的定義也會有所不同,詳細來說,當使用單層式儲存(Single-Level Cell,SLC)的方式寫入時,字元線WL0上的所有浮閘電晶體僅對應到單一邏輯資料頁;當使用雙層式儲存(Multi-Level Cell,MLC)的方式寫入時,字元線WL0上的所有浮閘電晶體對應到兩個邏輯資料頁;當使用三層式儲存(Triple-Level Cell,TLC)的方式寫入時,字元線WL0上的所有浮閘電晶體對應到三個邏輯資料頁;以及當使用四層式儲存(Quad-Level Cell,QLC)的方式寫入時,字元線WL0上的所有浮閘電晶體對應到四個邏輯資料頁。由於本技術領域中具有通常知識者應能了解立體NAND型快閃記憶體的結構以及字元線及資料頁之間的關係,故相關的細節在此不予贅述。 FIG. 2 is a schematic diagram of a block 200 in a flash memory module 120 according to an embodiment of the present invention, wherein the flash memory module 120 is a three-dimensional NAND flash memory. As shown in FIG. 2, the block 200 includes a plurality of memory cells (e.g., floating gate transistors 202 or other charge trap elements shown in the figure), which are connected to a three-dimensional NAND flash memory architecture through a plurality of bit lines (only BL1 to BL3 are shown in the figure) and a plurality of word lines (e.g., WL0 to WL2, WL4 to WL6 shown in the figure). In FIG. 2 , taking the top plane as an example, all floating gate transistors on word line WL0 constitute at least one data page, all floating gate transistors on word line WL1 constitute at least another data page, and all floating gate transistors on word line WL2 constitute at least another data page... and so on. In addition, depending on the flash memory writing method, the definition between word line WL0 and data page (logical data page) will also be different. Specifically, when using single-level storage (SLC) writing, all floating gate transistors on word line WL0 correspond to only a single logical data page; when using double-level storage (MLC) writing, all floating gate transistors on word line WL0 correspond to two logical data pages; when using triple-level storage (TLC) writing, all floating gate transistors on word line WL0 correspond to three logical data pages; and when using quad-level storage (MLC) writing, all floating gate transistors on word line WL0 correspond to three logical data pages. When writing in a QLC (Quadrature Cell) mode, all floating gate transistors on word line WL0 correspond to four logical data pages. Since a person with ordinary knowledge in this technical field should be able to understand the structure of a 3D NAND flash memory and the relationship between word lines and data pages, the relevant details will not be elaborated here.

在第2圖所繪示的架構僅是簡單說明立體快閃記憶體的基本架構,而在實際的製造上會具有更多層的堆疊以達到更高密度的儲存容量。由於立體快閃記憶體採用第2圖所示的堆疊架構,因此資料在儲存上會遭遇到很嚴重的資料保存(data retention)問題,亦即當資料寫入到區塊200之後,經過了一段時間其中的記憶單元便會遭遇資料寫入位準變化、臨界電壓漂移...等等資料品質上的問 題,因而使得區塊200內的資料在後續讀取時可能會遭遇的解碼上的困難、或甚至無法成功完成解碼而造成資料遺失。因此,本實施例提出了一種快閃記憶體模組120的管理方法,其可以在快閃記憶體控制器110中設置一時間管理電路119,以有效率地記錄每一個區塊的時間資訊,以供進行品質判斷來進行後續適合的處理,其具體操作內容詳述如下。 The structure shown in FIG. 2 is only a simple description of the basic structure of the 3D flash memory. In actual manufacturing, there will be more layers of stacking to achieve a higher density storage capacity. Since the 3D flash memory adopts the stacking structure shown in FIG. 2, the data storage will encounter a very serious data retention problem, that is, after the data is written into block 200, after a period of time, the memory cells therein will encounter data writing level changes, critical voltage drift, etc., and data quality problems, so that the data in block 200 may encounter difficulties in decoding when it is subsequently read, or even fail to successfully complete the decoding, resulting in data loss. Therefore, this embodiment proposes a management method for a flash memory module 120, which can set a time management circuit 119 in the flash memory controller 110 to efficiently record the time information of each block for quality judgment and subsequent appropriate processing. The specific operation content is described in detail as follows.

第3圖繪示了區塊200包含了多個資料頁P0~PN的示意圖。當快閃記憶體控制器110需要將來自主裝置130的資料、或是將快閃記憶體模組120內其他區塊的資料、及/或將快閃記憶體控制器110本身所暫存的資料寫入至區塊200時,快閃記憶體控制器110會依序將這些資料由第一個資料頁P0依序往下寫入至最後一個資料頁PN。在本實施例中,當快閃記憶體控制器110準備將資料寫入至最後一個資料頁PN、或是準備將資料寫入至最後多個資料頁時,時間管理電路119會透過特定接腳N1發送一個請求指令至主裝置130中,以要求主裝置130提供目前的時間資訊,而由於主裝置130本身有連接到作業系統,故可以提供目前的時間資訊(例如,月、日、分、秒等資訊)302至時間管理電路119。在時間管理電路119接收到時間資訊302之後,便會將此時間資訊302提供給微處理器112,以供微處理器112透過編碼器132的處理後連同其他資料一起寫入至資料頁PN中。 FIG. 3 shows a schematic diagram of a block 200 including a plurality of data pages P0-PN. When the flash memory controller 110 needs to write data from the host device 130, data from other blocks in the flash memory module 120, and/or data temporarily stored in the flash memory controller 110 itself into the block 200, the flash memory controller 110 will sequentially write these data from the first data page P0 to the last data page PN. In this embodiment, when the flash memory controller 110 is ready to write data to the last data page PN, or to write data to the last multiple data pages, the time management circuit 119 sends a request command to the host device 130 through the specific pin N1 to request the host device 130 to provide the current time information. Since the host device 130 is connected to the operating system, it can provide the current time information (for example, month, day, minute, second, etc.) 302 to the time management circuit 119. After receiving the time information 302, the time management circuit 119 will provide the time information 302 to the microprocessor 112, so that the microprocessor 112 can write it into the data page PN together with other data after being processed by the encoder 132.

由於區塊200的最後一個資料頁PN所記錄的是絕對時間(例如,時間戳記),因此,當後續快閃記憶體控制器110與快閃記憶體模組120處於閒置狀態時,快閃記憶體控制器110便可以對每一個區塊進行掃描,並透過直接讀取每一個區塊的最後一個資料頁PN來取得該區塊在完成寫入操作時的時間點。之後,快閃記憶體控制器110由時間管理電路119即時由主裝置130所取得的目前時間,以判斷每一個區塊內的資料已經儲存了多久的時間(亦即,每一個區塊在完 成寫入操作至目前進行區塊掃描的時間差距)。在本實施例中,若是一區塊內的資料的儲存時間高於一臨界值時(例如,區塊完成寫入操作之後已過了一個月或幾個星期),則快閃記憶體控制器110便可以判斷該區塊可能會遭遇資料保存上的問題,因此,將該區塊排入到垃圾收集(garbage collection)操作的程序中,並在後續適當的時間點將該區塊內的有效資料搬移至另一區塊中,並將該區塊的內容抹除。 Since the last data page PN of the block 200 records an absolute time (e.g., a timestamp), when the subsequent flash memory controller 110 and the flash memory module 120 are in an idle state, the flash memory controller 110 can scan each block and obtain the time point when the block is completed by directly reading the last data page PN of each block. Afterwards, the flash memory controller 110 uses the current time obtained by the time management circuit 119 from the host device 130 to determine how long the data in each block has been stored (i.e., the time difference between the completion of the write operation of each block and the current block scan). In this embodiment, if the storage time of the data in a block is higher than a critical value (for example, a month or several weeks have passed since the block was written), the flash memory controller 110 can determine that the block may encounter data preservation problems, and therefore, the block is placed in the garbage collection operation process, and at a suitable time point in the future, the valid data in the block is moved to another block and the content of the block is erased.

如上所述,透過本實施例的管理方法,快閃記憶體控制器110可以簡單有效率地得知每一個區塊的內的資料已經儲存了多久的時間,以供判斷每一個區塊是否即將遭遇到資料保存上的問題,並做出適當的後續處置。 As described above, through the management method of this embodiment, the flash memory controller 110 can simply and efficiently know how long the data in each block has been stored, so as to determine whether each block is about to encounter data storage problems and make appropriate subsequent treatments.

在本發明的另一個實施例中,除了在每一個區塊的最後一個資料頁PN寫入時間資訊之外,微處理器112另建立如第4圖所示的一時間資訊對照表400,其記錄了每一個區塊(例如,圖4的區塊1、區塊2、區塊3、區塊4)所被寫入的時間資訊(例如,圖4的時間資訊1、時間資訊2、時間資訊3、時間資訊4)。在本實施例中,時間資訊對照表400可以暫存在一外部的動態隨機存取記憶體或是快閃記憶體控制器110內部的緩衝記憶體116中,以供快閃記憶體控制器110在不需要讀取快閃記憶體模組120之每一個區塊的情形下,快速地判斷每一個區塊的內的資料已經儲存了多久的時間,並進行適當的後續處置。 In another embodiment of the present invention, in addition to writing the time information in the last data page PN of each block, the microprocessor 112 also establishes a time information comparison table 400 as shown in FIG. 4, which records the time information written to each block (for example, block 1, block 2, block 3, block 4 in FIG. 4) (for example, time information 1, time information 2, time information 3, time information 4 in FIG. 4). In this embodiment, the time information comparison table 400 can be temporarily stored in an external dynamic random access memory or the internal buffer memory 116 of the flash memory controller 110, so that the flash memory controller 110 can quickly determine how long the data in each block has been stored without reading each block of the flash memory module 120, and perform appropriate subsequent processing.

另外,當快閃記憶體控制器110準備關機或是記憶體需要釋放空間時,時間資訊對照表400可以被寫入到快閃記憶體模組120中的適當位址,以避免資料遺失。 In addition, when the flash memory controller 110 is ready to shut down or the memory needs to release space, the time information comparison table 400 can be written to the appropriate address in the flash memory module 120 to avoid data loss.

在另一實施例中,為了更有效率地使用記憶體空間,時間資訊對照表400的內容可以被整合至其他的對照表/映射表中,例如邏輯位址至實體位址映射表(logical address to physical address mapping table)或是實體位址至邏輯位址映射表(physical address to logical address mapping table)中。 In another embodiment, in order to use memory space more efficiently, the content of the time information mapping table 400 can be integrated into other mapping tables/mapping tables, such as a logical address to physical address mapping table or a physical address to logical address mapping table.

第5圖為依據本發明一第二實施例之一種記憶裝置500的示意圖。記憶裝置100包含有一快閃記憶體模組120以及一快閃記憶體控制器510,且快閃記憶體控制器510用來存取快閃記憶體模組120。在本實施例中,快閃記憶體控制器510包含一微處理器112、一唯讀記憶體112M、一控制邏輯114、一緩衝記憶體116、一介面邏輯118、一計時器517以及一時間管理電路519。其中唯讀記憶體112M儲存一程式碼112C,且控制邏輯114包含了一編碼器132以及一解碼器134。第5圖中與第1圖具有相同編號的元件會具有類似的操作,因此其細節便不再贅述,故以下說明僅針對計時器517以及時間管理電路519的部分。 FIG. 5 is a schematic diagram of a memory device 500 according to a second embodiment of the present invention. The memory device 100 includes a flash memory module 120 and a flash memory controller 510, and the flash memory controller 510 is used to access the flash memory module 120. In this embodiment, the flash memory controller 510 includes a microprocessor 112, a read-only memory 112M, a control logic 114, a buffer memory 116, an interface logic 118, a timer 517 and a time management circuit 519. The read-only memory 112M stores a program code 112C, and the control logic 114 includes an encoder 132 and a decoder 134. The components with the same numbers in FIG. 5 and FIG. 1 have similar operations, so the details will not be repeated. Therefore, the following description is only for the timer 517 and the time management circuit 519.

在本實施例中,時間管理電路519可以被整合在微處理器112中,且當快閃記憶體控制器510上電時(亦即,記憶裝置500開機且快閃記憶體控制器510開始與主裝置130連接時),時間管理電路519會自主裝置130接收初始時間(亦即快閃記憶體控制器510上電的時間點),而由於主裝置130本身有連接到作業系統,故可以提供初始時間(例如,月、日、分、秒等資訊)至時間管理電路519。之後,計時器517便開始持續計算快閃記憶體控制器510上電後所經過的時間。 In this embodiment, the time management circuit 519 can be integrated into the microprocessor 112, and when the flash memory controller 510 is powered on (that is, when the memory device 500 is turned on and the flash memory controller 510 starts to connect to the host device 130), the time management circuit 519 receives the initial time (that is, the time point when the flash memory controller 510 is powered on) from the host device 130, and since the host device 130 itself is connected to the operating system, it can provide the initial time (for example, information such as month, day, minute, second, etc.) to the time management circuit 519. After that, the timer 517 starts to continuously calculate the time that has passed since the flash memory controller 510 was powered on.

同時參考第3圖所繪示的區塊200,當快閃記憶體控制器510需要將來自主裝置130的資料、或是將快閃記憶體模組120內其他區塊的資料、及/或將快閃記憶體控制器510本身所暫存的資料寫入至區塊200時,快閃記憶體控制器510 會依序將這些資料由第一個資料頁P0依序往下寫入至最後一個資料頁PN。在本實施例中,當快閃記憶體控制器510準備將資料寫入至最後一個資料頁PN、或是準備將資料寫入至最後多個資料頁時,時間管理電路519將初始時間加上目前計時器517所計算之快閃記憶體控制器510上電後所經過的時間,以產生一時間資訊。在時間管理電路119計算出時間資訊之後,便會將此資訊提供給微處理器112,以供微處理器112透過編碼器132的處理後連同其他資料一起寫入至資料頁PN中。 Meanwhile, referring to block 200 shown in FIG. 3 , when the flash memory controller 510 needs to write data from the host device 130, data from other blocks in the flash memory module 120, and/or data temporarily stored in the flash memory controller 510 itself into block 200, the flash memory controller 510 will sequentially write these data from the first data page P0 to the last data page PN. In this embodiment, when the flash memory controller 510 is ready to write data to the last data page PN, or to write data to the last multiple data pages, the time management circuit 519 adds the initial time to the time after the flash memory controller 510 is powered on, calculated by the current timer 517, to generate a time information. After the time management circuit 119 calculates the time information, it will provide this information to the microprocessor 112, so that the microprocessor 112 can write it into the data page PN together with other data after processing by the encoder 132.

在第5圖所示的實施例中,時間管理電路519只有在快閃記憶體控制器510上電時才會從主裝置130取得絕對時間資訊(亦即,上述的初始時間),而之後都是透過本身的計時器517來計算出當下的絕對時間。 In the embodiment shown in FIG. 5 , the time management circuit 519 obtains the absolute time information (i.e., the initial time mentioned above) from the main device 130 only when the flash memory controller 510 is powered on, and thereafter the absolute time is calculated by its own timer 517.

由於區塊200的最後一個資料頁PN所記錄的是絕對時間(透過初始時間計時器517的內容所計算出的絕對時間),因此,當後續快閃記憶體控制器510與快閃記憶體模組120處於閒置狀態時,快閃記憶體控制器510便可以對每一個區塊進行掃描,並透過直接讀取每一個區塊的最後一個資料頁PN來取得該區塊在完成寫入操作時的時間點。之後,時間管理電路519再由初始時間加上計時器517的內容來計算出目前的時間,以判斷每一個區塊內的資料已經儲存了多久的時間(亦即,每一個區塊在完成寫入操作至目前進行區塊掃描的時間差距)。在本實施例中,若是一區塊內的資料的儲存時間高於一臨界值時(例如,區塊完成寫入操作之後已過了一個月或幾個星期),則快閃記憶體控制器510便可以判斷該區塊可能會遭遇資料保存上的問題,因此,將該區塊排入到垃圾收集操作的程序中,並在後續適當的時間點將該區塊內的有效資料搬移至另一區塊中,並將該區塊抹除。 Since the last data page PN of block 200 records the absolute time (the absolute time calculated by the content of the initial time timer 517), when the subsequent flash memory controller 510 and the flash memory module 120 are in an idle state, the flash memory controller 510 can scan each block and obtain the time point when the block completes the write operation by directly reading the last data page PN of each block. Afterwards, the time management circuit 519 calculates the current time by adding the initial time to the content of the timer 517 to determine how long the data in each block has been stored (that is, the time difference between the completion of the write operation of each block and the current block scan). In this embodiment, if the storage time of the data in a block is higher than a critical value (for example, a month or several weeks have passed since the block was written), the flash memory controller 510 can determine that the block may encounter data preservation problems, and therefore, the block is placed in the garbage collection operation process, and at a subsequent appropriate time point, the valid data in the block is moved to another block and the block is erased.

如上所述,透過本實施例的管理方法,快閃記憶體控制器510可以簡單有效率地得知每一個區塊的內的資料已經儲存了多久的時間,以供判斷每一個區塊是否即將遭遇到資料保存上的問題,並做出適當的後續處置。 As described above, through the management method of this embodiment, the flash memory controller 510 can simply and efficiently know how long the data in each block has been stored, so as to determine whether each block is about to encounter data storage problems and make appropriate subsequent treatments.

在第5圖所示的實施例中,微處理器112亦可建立如第4圖所示的一時間資訊對照表400,或是將時間資訊對照表400的內容整合至其他的對照表/映射表中,例如邏輯位址至實體位址映射表(logical address to physical address mapping table)或是實體位址至邏輯位址映射表(physical address to logical address mapping table)中。 In the embodiment shown in FIG. 5 , the microprocessor 112 may also establish a time information mapping table 400 as shown in FIG. 4 , or integrate the content of the time information mapping table 400 into other mapping tables/mapping tables, such as a logical address to physical address mapping table or a physical address to logical address mapping table.

第6圖為依據本發明一第三實施例之一種記憶裝置600的示意圖。記憶裝置100包含有一快閃記憶體模組120以及一快閃記憶體控制器610,且快閃記憶體控制器610用來存取快閃記憶體模組120。在本實施例中,快閃記憶體控制器610包含一微處理器112、一唯讀記憶體112M、一控制邏輯114、一緩衝記憶體116、一介面邏輯118、一計時器617以及一時間管理電路619。其中唯讀記憶體112M儲存一程式碼112C,且控制邏輯114包含了一編碼器132以及一解碼器134。第6圖中與第1圖具有相同編號的元件會具有類似的操作,因此其細節便不再贅述,故以下說明僅針對計時器617以及時間管理電路619的部分。 FIG6 is a schematic diagram of a memory device 600 according to a third embodiment of the present invention. The memory device 100 includes a flash memory module 120 and a flash memory controller 610, and the flash memory controller 610 is used to access the flash memory module 120. In this embodiment, the flash memory controller 610 includes a microprocessor 112, a read-only memory 112M, a control logic 114, a buffer memory 116, an interface logic 118, a timer 617 and a time management circuit 619. The read-only memory 112M stores a program code 112C, and the control logic 114 includes an encoder 132 and a decoder 134. The components with the same numbers in FIG. 6 and FIG. 1 have similar operations, so the details will not be repeated. Therefore, the following description is only for the timer 617 and the time management circuit 619.

在本實施例中,時間管理電路619可以被整合在微處理器112中,且當快閃記憶體控制器610上電時(亦即,記憶裝置600開機且快閃記憶體控制器610開始與主裝置130連接時),時間管理電路619會在適合的時間點取得一基準時間,且計時器617開始持續計算快閃記憶體控制器610上電後所經過的時間。 In this embodiment, the time management circuit 619 can be integrated into the microprocessor 112, and when the flash memory controller 610 is powered on (that is, when the memory device 600 is turned on and the flash memory controller 610 starts to connect with the host device 130), the time management circuit 619 will obtain a reference time at an appropriate time point, and the timer 617 will start to continuously calculate the time that has passed since the flash memory controller 610 was powered on.

在本實施例中,時間管理電路619並不會由主裝置130取得任何絕對的時間資訊,而是由快閃記憶體模組120所儲存的內容來估計出目前的時間。舉例來說,參考第7圖所示,假設快閃記憶體控制器610在時間點t0時斷電,且快閃記憶體控制器610在時間點t1時上電,則微處理器112可以讀取時間點t0前最後一個完成寫入操作的區塊710內所儲存的時間資訊712,並再估計出用以表示時斷電時間長度(亦即,(t1-t0))的一預測時間,最後將時間資訊712加上該預測時間以得到該基準時間。在一實施例中,由於快閃記憶體控制器610本身並無法準確得知斷電時間長度(亦即,(t1-t0)),因此,快閃記憶體控制器610可以透過讀取區塊710的資料內容,並根據區塊710的資料品質來估計出該預測時間,其中資料品質越差代表著資料儲存的時間越久,亦即斷電時間長度越長。舉例來說,微處理器112可以讀取區塊710的資料,並根據該資料的位元錯誤率來產生該預測時間,其中位元錯誤率越高所估計出的該預測時間越長;微處理器112也可讀取區塊710的資料並判斷區塊710內之記憶單元的電壓分佈來產生該預測時間,其中電壓分佈越分散所估計出的該預測時間越長;或是微處理器112也可讀取區塊710的資料並判斷區塊710內之記憶單元的臨界電壓偏移程度來產生該預測時間,其中臨界電壓偏移量越高所估計出的該預測時間越長。 In this embodiment, the time management circuit 619 does not obtain any absolute time information from the host device 130, but estimates the current time from the content stored in the flash memory module 120. For example, referring to FIG. 7 , assuming that the flash memory controller 610 is powered off at time t0, and the flash memory controller 610 is powered on at time t1, the microprocessor 112 can read the time information 712 stored in the last block 710 that completed the write operation before time t0, and then estimate a predicted time to represent the power-off time length (i.e., (t1-t0)), and finally add the time information 712 to the predicted time to obtain the reference time. In one embodiment, since the flash memory controller 610 itself cannot accurately know the length of the power-off time (i.e., (t1-t0)), the flash memory controller 610 can estimate the predicted time by reading the data content of block 710 and based on the data quality of block 710, wherein the worse the data quality means the longer the data is stored, i.e., the longer the power-off time. For example, the microprocessor 112 can read the data of block 710 and generate the predicted time according to the bit error rate of the data, wherein the higher the bit error rate, the longer the estimated predicted time; the microprocessor 112 can also read the data of block 710 and determine the voltage distribution of the memory cells in block 710. The predicted time is generated, wherein the more dispersed the voltage distribution is, the longer the estimated predicted time is; or the microprocessor 112 can also read the data of block 710 and determine the critical voltage offset of the memory cell in block 710 to generate the predicted time, wherein the higher the critical voltage offset is, the longer the estimated predicted time is.

同時參考第3圖所繪示的區塊200,當快閃記憶體控制器610需要將來自主裝置130的資料、或是將快閃記憶體模組120內其他區塊的資料、及/或將快閃記憶體控制器610本身所暫存的資料寫入至區塊200時,快閃記憶體控制器610會依序將這些資料由第一個資料頁P0依序往下寫入至最後一個資料頁PN。在本實施例中,當快閃記憶體控制器610準備將資料寫入至最後一個資料頁PN、或是準備將資料寫入至最後多個資料頁時,時間管理電路619將基準時間加上目前計 時器617所計算之快閃記憶體控制器610上電後所經過的時間,以產生一時間資訊。在時間管理電路619計算出時間資訊之後,便會將此資訊提供給微處理器612,以供微處理器112透過編碼器132的處理後連同其他資料一起寫入至資料頁PN中。 Meanwhile, referring to block 200 shown in FIG. 3 , when the flash memory controller 610 needs to write data from the main device 130, data from other blocks in the flash memory module 120, and/or data temporarily stored in the flash memory controller 610 itself into block 200, the flash memory controller 610 will sequentially write these data from the first data page P0 to the last data page PN. In this embodiment, when the flash memory controller 610 is ready to write data to the last data page PN, or to write data to the last multiple data pages, the time management circuit 619 adds the reference time to the time after the flash memory controller 610 is powered on, calculated by the current timer 617, to generate a time information. After the time management circuit 619 calculates the time information, it provides the information to the microprocessor 612, so that the microprocessor 112 can write it into the data page PN together with other data after processing by the encoder 132.

當後續快閃記憶體控制器610與快閃記憶體模組120處於閒置狀態時,快閃記憶體控制器610可以對每一個區塊進行掃描,並透過直接讀取每一個區塊的最後一個資料頁PN來取得該區塊在完成寫入操作時的時間點。之後,時間管理電路619再由基準時間加上計時器617的內容來計算出目前的時間,以判斷每一個區塊內的資料已經儲存了多久的時間(亦即,每一個區塊在完成寫入操作至目前進行區塊掃描的時間差距)。在本實施例中,若是一區塊內的資料的儲存時間高於一臨界值時(例如,區塊完成寫入操作之後已過了一個月或幾個星期),則快閃記憶體控制器610便可以判斷該區塊可能會遭遇資料保存上的問題,因此,將該區塊排入到垃圾收集操作的程序中,並在後續適當的時間點將該區塊內的有效資料搬移至另一區塊中,並將該區塊抹除。 When the subsequent flash memory controller 610 and the flash memory module 120 are in an idle state, the flash memory controller 610 can scan each block and obtain the time point when the block is completed by directly reading the last data page PN of each block. Afterwards, the time management circuit 619 calculates the current time by adding the content of the timer 617 to the reference time to determine how long the data in each block has been stored (that is, the time difference between the completion of the write operation of each block and the current block scan). In this embodiment, if the storage time of the data in a block is higher than a critical value (for example, a month or several weeks have passed since the block was written), the flash memory controller 610 can determine that the block may encounter data preservation problems, so the block is placed in the garbage collection operation process, and at a suitable time point in the future, the valid data in the block is moved to another block and the block is erased.

如上所述,透過本實施例的管理方法,快閃記憶體控制器610可以簡單有效率地得知每一個區塊的內的資料已經儲存了多久的時間,以供判斷每一個區塊是否即將遭遇到資料保存上的問題,並做出適當的後續處置。 As described above, through the management method of this embodiment, the flash memory controller 610 can simply and efficiently know how long the data in each block has been stored, so as to determine whether each block is about to encounter data storage problems and make appropriate subsequent treatments.

第8圖為根據本發明一實施例之一種管理一快閃記憶體模組的方法的流程圖。參考以上實施例所述的內容,流程如下所述。 Figure 8 is a flow chart of a method for managing a flash memory module according to an embodiment of the present invention. With reference to the contents described in the above embodiment, the process is as follows.

步驟800:流程開始。 Step 800: The process starts.

步驟802:產生目前的一時間資訊。 Step 802: Generate current time information.

步驟804:當資料被寫入至該快閃記憶體模組的一特定區塊的最後多個資料頁時,將該時間資訊寫入至該最後多個資料頁中的其一。 Step 804: When data is written to the last multiple data pages of a specific block of the flash memory module, write the time information to one of the last multiple data pages.

步驟806:建立/更新一對照表/映射表以儲存每一個區塊及對應的時間資訊。 Step 806: Create/update a lookup table/mapping table to store each block and the corresponding time information.

步驟808:根據每一個區塊的時間資訊來判斷該區塊的資料品質,並據以決定是否將該區塊的資料搬移至其他區塊。 Step 808: Determine the data quality of each block based on the time information of the block, and decide whether to move the data of the block to other blocks accordingly.

簡易歸納本發明,在本發明的快閃記憶體控制器中,透過記錄每一個區塊的時間資訊,可以在後續快速且有效率地判斷資料保存時間是否過長而可能導致資料品質問題,並據以提前進行適當的後續操作以避免資料遺失的問題。 To simply summarize the present invention, in the flash memory controller of the present invention, by recording the time information of each block, it is possible to quickly and efficiently determine whether the data retention time is too long and may cause data quality problems, and accordingly perform appropriate subsequent operations in advance to avoid data loss problems.

以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。 The above is only the preferred embodiment of the present invention. All equivalent changes and modifications made according to the scope of the patent application of the present invention shall fall within the scope of the present invention.

100:記憶裝置 100: Memory device

110:快閃記憶體控制器 110: Flash memory controller

112:微處理器 112: Microprocessor

112C:程式碼 112C:Program code

112M:唯讀記憶體 112M: Read-only memory

114:控制邏輯 114: Control Logic

116:緩衝記憶體 116: Buffer memory

118:介面邏輯 118: Interface Logic

119:時間管理電路 119: Time management circuit

120:快閃記憶體模組 120: Flash memory module

130:主裝置 130: Main device

132:編碼器 132: Encoder

134:解碼器 134:Decoder

N1,N2:特定接腳 N1, N2: specific pins

Claims (6)

一種快閃記憶體控制器,其中該快閃記憶體控制器係用來存取一快閃記憶體模組,該快閃記憶體模組包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含了多個區塊,每一個區塊包含多個資料頁,且該快閃記憶體控制器包含有:一唯讀記憶體,用來儲存一程式碼;一微處理器,用來執行該程式碼以控制對該快閃記憶體模組之存取;其中當該快閃記憶體控制器與該快閃記憶體模組處於閒置狀態時,該微處理器對該多個區塊中至少一部份區塊進行掃描,並透過直接讀取該至少一部份區塊中每一個區塊的最後一個資料頁來取得該區塊在完成寫入操作時的時間資訊,以供判斷該至少一部份區塊中是否有區塊可能會遭遇到資料保存上的問題。 A flash memory controller is used to access a flash memory module, wherein the flash memory module includes a plurality of flash memory chips, each of which includes a plurality of blocks, each of which includes a plurality of data pages, and the flash memory controller includes: a read-only memory for storing a program code; a microprocessor for executing the program code to control the flash memory module; wherein when the flash memory controller and the flash memory module are in an idle state, the microprocessor scans at least a portion of the multiple blocks, and directly reads the last data page of each block in the at least a portion of the blocks to obtain the time information when the block completes the write operation, so as to determine whether there are any blocks in the at least a portion of the blocks that may encounter data storage problems. 如申請專利範圍第1項所述之快閃記憶體控制器,其中該區塊在完成寫入操作時的時間資訊係為一絕對時間。 A flash memory controller as described in Item 1 of the patent application, wherein the time information of the block when the write operation is completed is an absolute time. 如申請專利範圍第1項所述之快閃記憶體控制器,另包含有:一時間管理電路,耦接於該微處理器,用以產生一目前時間資訊;其中該微處理器根據該時間管理電路所產生的一目前時間,以計算出該至少一部份區塊中每一個區塊的時間資訊與該目前時間的一時間差距,並根據該時間差距以判斷該區塊是否可能會遭遇到資料保存上的問題。 The flash memory controller as described in item 1 of the patent application scope further includes: a time management circuit coupled to the microprocessor for generating a current time information; wherein the microprocessor calculates a time difference between the time information of each block in the at least a portion of the blocks and the current time according to the current time generated by the time management circuit, and determines whether the block may encounter data preservation problems according to the time difference. 一種電子裝置,包含有: 一快閃記憶體模組,其中該快閃記憶體模組包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含了多個區塊,每一個區塊包含多個資料頁;以及一快閃記憶體控制器,用以存取該快閃記憶體模組;其中當該快閃記憶體控制器與該快閃記憶體模組處於閒置狀態時,該快閃記憶體控制器對該多個區塊中至少一部份區塊進行掃描,並透過直接讀取該至少一部份區塊中每一個區塊的最後一個資料頁來取得該區塊在完成寫入操作時的時間資訊,以供判斷該至少一部份區塊中是否有區塊可能會遭遇到資料保存上的問題。 An electronic device includes: a flash memory module, wherein the flash memory module includes a plurality of flash memory chips, each flash memory chip includes a plurality of blocks, each block includes a plurality of data pages; and a flash memory controller for accessing the flash memory module; wherein when the flash memory controller and the flash memory module When the group is in an idle state, the flash memory controller scans at least a portion of the multiple blocks, and directly reads the last data page of each block in the at least a portion of the blocks to obtain the time information when the block completes the write operation, so as to determine whether there are blocks in the at least a portion of the blocks that may encounter data storage problems. 如申請專利範圍第4項所述之電子裝置,其中該區塊在完成寫入操作時的時間資訊係為一絕對時間。 An electronic device as described in Item 4 of the patent application, wherein the time information of the block when the write operation is completed is an absolute time. 如申請專利範圍第4項所述之電子裝置,其中該快閃記憶體控制器根據一時間管理電路所產生的一目前時間,以計算出該至少一部份區塊中每一個區塊的時間資訊與該目前時間的一時間差距,並根據該時間差距以判斷該區塊是否可能會遭遇到資料保存上的問題。 As described in item 4 of the patent application scope, the flash memory controller calculates a time difference between the time information of each block in the at least part of the blocks and the current time based on a current time generated by a time management circuit, and determines whether the block may encounter data preservation problems based on the time difference.
TW111118303A 2019-01-24 2019-01-24 Flash memory controller and electronic device TWI852008B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW111118303A TWI852008B (en) 2019-01-24 2019-01-24 Flash memory controller and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW111118303A TWI852008B (en) 2019-01-24 2019-01-24 Flash memory controller and electronic device

Publications (2)

Publication Number Publication Date
TW202234253A TW202234253A (en) 2022-09-01
TWI852008B true TWI852008B (en) 2024-08-11

Family

ID=84957287

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111118303A TWI852008B (en) 2019-01-24 2019-01-24 Flash memory controller and electronic device

Country Status (1)

Country Link
TW (1) TWI852008B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130067142A1 (en) * 2011-09-14 2013-03-14 A-Data Technology (Suzhou) Co.,Ltd. Flash memory storage device and method of judging problem storage regions thereof
US9122592B2 (en) * 2006-10-30 2015-09-01 Samsung Electronics Co., Ltd. Flash memory device with multi-level cells and method of writing data therein
TWI576699B (en) * 2016-03-31 2017-04-01 慧榮科技股份有限公司 A method for recording an using time of a data block and device thereof
TWI579696B (en) * 2015-11-06 2017-04-21 群聯電子股份有限公司 Method and system for data rebuilding and memory control circuit unit thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9122592B2 (en) * 2006-10-30 2015-09-01 Samsung Electronics Co., Ltd. Flash memory device with multi-level cells and method of writing data therein
US20130067142A1 (en) * 2011-09-14 2013-03-14 A-Data Technology (Suzhou) Co.,Ltd. Flash memory storage device and method of judging problem storage regions thereof
TWI579696B (en) * 2015-11-06 2017-04-21 群聯電子股份有限公司 Method and system for data rebuilding and memory control circuit unit thereof
TWI576699B (en) * 2016-03-31 2017-04-01 慧榮科技股份有限公司 A method for recording an using time of a data block and device thereof

Also Published As

Publication number Publication date
TW202234253A (en) 2022-09-01

Similar Documents

Publication Publication Date Title
TWI696074B (en) Method for managing flash memory module and associated flash memory controller and electronic device
TWI734063B (en) Flash memory controller, method for managing flash memory module and associated electronic device
CN104850514B (en) method for accessing flash memory and related controller and memory device
CN104346288B (en) Method for managing a memory device, memory device and controller
TWI733568B (en) Memory device, flash memory controller and associated access method
TWI722938B (en) Memory device, flash memory controller and associated access method
TW202137215A (en) Method for accessing flash memory module and associated flash memory controller and electronic device
TWI748542B (en) Electronic device, flash memory controller and method for performing garbage collection operation on flash memory module
US11487655B2 (en) Method for managing flash memory module and associated flash memory controller and electronic device based on timing of dummy read operations
CN111488118B (en) Method for managing flash memory module and related flash memory controller and electronic device
TWI852008B (en) Flash memory controller and electronic device
US11249676B2 (en) Electronic device, flash memory controller and associated control method
TWI760094B (en) Memory device, flash memory controller and associated access method
TWI768336B (en) Method for managing flash memory module and associated flash memory controller and electronic device
TWI781886B (en) Method for managing flash memory module and associated flash memory controller and electronic device
TWI769100B (en) Method for managing flash memory module and associated flash memory controller and electronic device
CN118672937A (en) Control method of flash memory controller, flash memory controller and storage device