TWI537955B - Flash memory controller - Google Patents

Flash memory controller Download PDF

Info

Publication number
TWI537955B
TWI537955B TW103145931A TW103145931A TWI537955B TW I537955 B TWI537955 B TW I537955B TW 103145931 A TW103145931 A TW 103145931A TW 103145931 A TW103145931 A TW 103145931A TW I537955 B TWI537955 B TW I537955B
Authority
TW
Taiwan
Prior art keywords
data
flash memory
memory module
data block
voltage range
Prior art date
Application number
TW103145931A
Other languages
Chinese (zh)
Other versions
TW201513121A (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 TW103145931A priority Critical patent/TWI537955B/en
Publication of TW201513121A publication Critical patent/TW201513121A/en
Application granted granted Critical
Publication of TWI537955B publication Critical patent/TWI537955B/en

Links

Description

快閃記憶體控制器 Flash memory controller

本發明是有關快閃記憶體的技術,尤指一種可提升快閃記憶體模組的耐耗損能力和資料可靠度的快閃記憶體控制器。 The invention relates to a flash memory technology, in particular to a flash memory controller capable of improving the wear resistance and data reliability of a flash memory module.

快閃記憶體被廣泛使用在很多應用中,例如固態硬碟(solid-state disk,SSD)、記憶卡、數位相機、數位攝影機、多媒體播放器、行動電話、電腦和許多其他電子裝置。 Flash memory is widely used in many applications, such as solid-state disks (SSDs), memory cards, digital cameras, digital cameras, multimedia players, mobile phones, computers, and many other electronic devices.

快閃記憶體可用單階儲存單元(single-level cells,SLC)、多階儲存單元(multi-level cells,MLC)、三階儲存單元(triple-level cells,TLC)或更高階數的儲存單元來實現。單階儲存單元在存取速度和資料可靠度方面的效能較高。多階儲存單元、三階儲存單元、和更高階數的儲存單元可用較低成本提供較高的儲存容量,但耐用程度(endurance)和耐耗損能力(wear capacity)則不如單階儲存單元來得好。 Flash memory can use single-level cells (SLC), multi-level cells (MLC), triple-level cells (TLC) or higher-order storage units. to realise. Single-stage memory cells are more efficient at access speed and data reliability. Multi-level storage units, third-order storage units, and higher-order storage units can provide higher storage capacity at lower cost, but endurance and wear capacity are not as good as single-stage storage units. .

由於前述的特性,習知的快閃記憶體裝置在追求低成本、高容量的目標時,很難同時兼顧耐耗損能力和資料可靠度方面的表現。 Due to the aforementioned characteristics, the conventional flash memory device is difficult to achieve both low-cost and high-capacity targets in terms of both wear resistance and data reliability.

有鑑於此,如何有效改善以多階儲存單元、三階儲存單元或更高階數的儲存單元來實現的快閃記憶體的耐耗損能力和提高資料可靠度,實為業界有待解決的問題。 In view of this, how to effectively improve the loss-resisting capability of the flash memory realized by the multi-level storage unit, the third-order storage unit or the higher-order storage unit and improve the data reliability is a problem to be solved in the industry.

本說明書提供了一種快閃記憶體控制器之實施例,用以控制一 快閃記憶體模組,其中該快閃記憶體模組包含有一讀寫電路、一第一資料區塊以及一第二資料區塊,該快閃記憶體控制器包含有:一通信介面,用於接收一第一資料以及一第二資料;以及一處理電路,耦接於該通信介面、以及該快閃記憶體模組,用於依據該快閃記憶體模組當時已儲存的資料量,動態調整將資料寫入該快閃記憶體模組的模式;其中,若該通信介面接收到該第一資料時,該快閃記憶體模組當時已儲存的資料量低於一第一閥值,該處理電路會控制該讀寫電路將該第一資料以每儲存單元一位元模式寫入該第一資料區塊中,且若該通信介面接收到該第二資料時,該快閃記憶體模組當時已儲存的資料量高於該第一閥值,則該處理電路會控制該讀寫電路將該第二資料以每儲存單元兩位元模式寫入該第二資料區塊中。 This specification provides an embodiment of a flash memory controller for controlling one a flash memory module, wherein the flash memory module includes a read/write circuit, a first data block, and a second data block, the flash memory controller includes: a communication interface, Receiving a first data and a second data; and a processing circuit coupled to the communication interface and the flash memory module for determining the amount of data stored at the time of the flash memory module. Dynamically adjusting a mode in which data is written into the flash memory module; wherein, if the communication interface receives the first data, the amount of data stored in the flash memory module at that time is lower than a first threshold The processing circuit controls the read/write circuit to write the first data into the first data block in a bit mode per storage unit, and if the communication interface receives the second data, the flash memory When the amount of data stored in the body module is higher than the first threshold, the processing circuit controls the read/write circuit to write the second data into the second data block in a two-dimensional mode per storage unit.

本說明書提供了另一種快閃記憶體控制器的實施例,用以控制一快閃記憶體模組,其中該快閃記憶體模組包含有一讀寫電路、一第一資料區塊以及一第二資料區塊,該快閃記憶體控制器包含有:一通信介面,用於接收一第一資料;以及一處理電路,耦接於該通信介面、以及該快閃記憶體模組,用於依據該快閃記憶體模組當時已儲存的資料量,動態調整將資料寫入該快閃記憶體模組的模式;其中,若該通信介面接收到該第一資料時,該快閃記憶體模組當時已儲存的資料量低於一第一閥值,該處理電路會控制該讀寫電路將該第一資料以每儲存單元一位元模式寫入該第一資料區塊中,且該處理電路之後會控制該讀寫電路將該第一資料區塊中至少一資料,改用每儲存單元兩位元模式寫入到一第二資料區塊中。 The present disclosure provides another embodiment of a flash memory controller for controlling a flash memory module, wherein the flash memory module includes a read/write circuit, a first data block, and a first a data block, the flash memory controller includes: a communication interface for receiving a first data; and a processing circuit coupled to the communication interface and the flash memory module for Dynamically adjusting a mode for writing data into the flash memory module according to the amount of data stored in the flash memory module at the time; wherein the flash memory is received when the communication interface receives the first data The amount of data stored in the module is lower than a first threshold, and the processing circuit controls the read/write circuit to write the first data into the first data block in a bit pattern per storage unit, and the After processing the circuit, the read/write circuit controls the at least one data in the first data block to be written into a second data block by using the two-dimensional mode of each storage unit.

本說明書提供了另一種快閃記憶體控制器的實施例,用以控制一快閃記憶體模組,其中該快閃記憶體模組包含有一讀寫電路、一第一資料區塊以及一第二資料區塊,該快閃記憶體控制器包含有:一通信介面,用於接收至少一第一資料;以及一處理電路,耦接於該通信介面、以及該快閃記 憶體模組,用於控制該讀寫電路將資料寫入該快閃記憶體模組;其中,若該通信介面接收到該第一資料時,該快閃記憶體模組中的資料量低於一第一閥值,該處理電路會控制該讀寫電路將該第一資料區塊中的至少一儲存單元的編程臨界電壓設置於一第一電壓範圍內,以將該第一資料寫入該第一資料區塊中。 The present disclosure provides another embodiment of a flash memory controller for controlling a flash memory module, wherein the flash memory module includes a read/write circuit, a first data block, and a first a data block, the flash memory controller includes: a communication interface for receiving at least one first data; and a processing circuit coupled to the communication interface and the flash memory a memory module for controlling the read/write circuit to write data to the flash memory module; wherein, if the communication interface receives the first data, the amount of data in the flash memory module is low At a first threshold, the processing circuit controls the read/write circuit to set a programming threshold voltage of at least one of the first data blocks to a first voltage range to write the first data The first data block.

本說明書提供了另一種快閃記憶體控制器的實施例,用以控制一快閃記憶體模組,其中該快閃記憶體模組包含有一讀寫電路、一第一資料區塊以及一第二資料區塊,該快閃記憶體控制器包含有:一通信介面,用於接收一第一資料;以及一處理電路,耦接於該通信介面、以及該快閃記憶體模組;其中,若該通信介面接收到該第一資料時,該快閃記憶體模組中的資料量低於一第一閥值,該處理電路會控制該讀寫電路將該第一資料區塊中的至少一儲存單元的編程臨界電壓設置於一第一電壓範圍內,以將該第一資料寫入該第一資料區塊中,且該處理電路之後會控制該讀寫電路將該第二資料區塊中的至少一儲存單元的編程臨界電壓設置於一第三電壓範圍內,以將該第一資料區塊中的至少一資料寫入到該第二資料區塊中,其中該第一電壓範圍小於該第三電壓範圍。 The present disclosure provides another embodiment of a flash memory controller for controlling a flash memory module, wherein the flash memory module includes a read/write circuit, a first data block, and a first a data block, the flash memory controller includes: a communication interface for receiving a first data; and a processing circuit coupled to the communication interface and the flash memory module; If the communication device receives the first data, the amount of data in the flash memory module is lower than a first threshold, and the processing circuit controls the read/write circuit to at least the first data block. a programming threshold voltage of a storage unit is set in a first voltage range to write the first data into the first data block, and the processing circuit then controls the read/write circuit to the second data block The programming threshold voltage of the at least one storage unit is set in a third voltage range to write at least one data in the first data block into the second data block, wherein the first voltage range is less than The third voltage .

上述快閃記憶體控制器的優點之一是,不僅能降低將資料寫入資料區塊時所需的耗電量,更能有效改善快閃記憶體模組的儲存單元的耐耗損能力,進而提高快閃記憶體模組中所儲存的資料的可靠度。 One of the advantages of the above flash memory controller is that it can not only reduce the power consumption required when writing data into the data block, but also effectively improve the loss resistance of the memory unit of the flash memory module. Improve the reliability of the data stored in the flash memory module.

上述快閃記憶體控制器的另一優點是,在進行資料讀取運作時,處理電路可直接指定讀寫電路所使用的讀取臨界電壓,進而加快讀取快閃記憶體模組的速度。 Another advantage of the above flash memory controller is that the processing circuit can directly specify the read threshold voltage used by the read/write circuit during the data reading operation, thereby speeding up the reading of the flash memory module.

上述快閃記憶體控制器的另一優點是,不僅能用MLC晶片、TLC晶片、甚至是更高階數的晶片來實現快閃記憶體模組,以滿足低成本、高容量的目標,又能有效改善快閃記憶體模組的耐用程度、耐耗損能力、和資料可靠度。 Another advantage of the above flash memory controller is that it can realize flash memory modules not only with MLC chips, TLC chips, or even higher order chips, but also for low cost and high capacity targets. Effectively improve the durability, wear resistance, and data reliability of flash memory modules.

100‧‧‧資料儲存系統 100‧‧‧Data Storage System

110‧‧‧主控裝置 110‧‧‧Master control unit

120‧‧‧快閃記憶體控制器 120‧‧‧Flash Memory Controller

122‧‧‧記錄媒體 122‧‧‧Recording media

124‧‧‧處理電路 124‧‧‧Processing Circuit

126‧‧‧通信介面 126‧‧‧Communication interface

130‧‧‧快閃記憶體模組 130‧‧‧Flash Memory Module

132‧‧‧讀寫電路 132‧‧‧Reading and writing circuit

134‧‧‧資料區塊 134‧‧‧Information block

圖1為本發明的資料儲存系統的一實施例簡化後的功能方塊圖。 1 is a simplified functional block diagram of an embodiment of a data storage system of the present invention.

圖2為本發明的快閃記憶體寫入方法的第一實施例簡化後的流程圖。 2 is a simplified flow chart of the first embodiment of the flash memory writing method of the present invention.

圖3為圖1中的資料區塊中的儲存單元的編程臨界電壓的一實施例簡化後的示意圖。 3 is a simplified schematic diagram of an embodiment of a programming threshold voltage of a memory cell in the data block of FIG.

圖4為本發明的快閃記憶體寫入方法的第二實施例簡化後的流程圖。 4 is a simplified flow chart of a second embodiment of the flash memory writing method of the present invention.

圖5為本發明的快閃記憶體寫入方法的第三實施例簡化後的流程圖。 FIG. 5 is a simplified flowchart of a third embodiment of the flash memory writing method of the present invention.

以下將配合相關圖式來說明本發明的實施例。在這些圖式中,相同的標號表示相同或類似的元件或流程步驟。 Embodiments of the present invention will be described below in conjunction with the associated drawings. In the figures, the same reference numerals are used to refer to the same or similar elements or process steps.

在說明書及後續的申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬領域中具有通常知識者應可理解,同樣的元件可能會用不同的名詞來稱呼。本說明書及後續的申請專利範圍並不以名稱的差異來做為區分元件的方式,而是以元件在功能上的差異來做為區分的基準。在通篇說明書及後續的請求項當中所提及的「包含」為一開放式的用語,故應解釋成「包含但不限定於...」。另外,「耦接」一詞在此包含任何直接及間接的連接手段。因此,若文中描述一第一裝置耦接於一第二裝置,則代表該第一裝置可直接(包含透過電性連接或無線傳輸、光學傳輸等訊號連接方式)連接於該第二裝置,或透過其他裝置或連接手段間接地電性或訊號連接至該第二裝置。 Certain terms are used throughout the description and following claims to refer to particular elements. Those of ordinary skill in the art should understand that the same elements may be referred to by different nouns. The scope of this specification and the subsequent patent application does not use the difference in name as the way to distinguish the components, but the difference in function of the components as the basis for differentiation. The word "contains" mentioned in the entire specification and subsequent claims is an open term and should be interpreted as "including but not limited to...". In addition, the term "coupled" is used herein to include any direct and indirect means of attachment. Therefore, if a first device is coupled to a second device, the first device can be directly connected to the second device (including a signal connection through electrical connection or wireless transmission, optical transmission, etc.), or Electrically or signally connected to the second device indirectly through other devices or connection means.

圖1為本發明一實施例的資料儲存系統100簡化後的功能方塊圖。資料儲存系統100包含主控裝置110、快閃記憶體控制器120、和快閃記憶體模組130。主控裝置110會透過快閃記憶體控制器120來存取快閃記憶體模組130。主控裝置110可以是電腦、讀卡機、數位相機、數位攝影機、行動電話、GPS定位裝置,或其他任何能把快閃記憶體模組130當作儲存媒介的電子裝置。快閃記憶體控制器120包含有記錄媒體122、處理電路124、和通信介面126。通信介面126用以與主控裝置110耦接,以使處理電路124和主控裝置110能透過通信介面126進行資料傳輸。 FIG. 1 is a simplified functional block diagram of a data storage system 100 according to an embodiment of the present invention. The data storage system 100 includes a main control device 110, a flash memory controller 120, and a flash memory module 130. The main control device 110 accesses the flash memory module 130 through the flash memory controller 120. The main control device 110 can be a computer, a card reader, a digital camera, a digital camera, a mobile phone, a GPS positioning device, or any other electronic device that can use the flash memory module 130 as a storage medium. The flash memory controller 120 includes a recording medium 122, processing circuitry 124, and a communication interface 126. The communication interface 126 is coupled to the main control device 110 to enable the processing circuit 124 and the main control device 110 to transmit data through the communication interface 126.

快閃記憶體模組130包含有一讀寫電路132和複數個資料區塊134。在一實施例中,這些資料區塊134是以一或多個三階儲存單元(TLC)晶片來實現,藉以提供較低成本的高儲存容量。快閃記憶體控制器120和快閃記憶體模組130可一起整合成單一記憶體裝置,例如固態硬碟(SSD)或記憶卡等等。以下將搭配圖2和圖3來進一步說明本發明將資料寫入快閃記憶體模組130的運作方式。 The flash memory module 130 includes a read/write circuit 132 and a plurality of data blocks 134. In one embodiment, these data blocks 134 are implemented in one or more third-order storage unit (TLC) wafers to provide a lower cost, high storage capacity. The flash memory controller 120 and the flash memory module 130 can be integrated together into a single memory device, such as a solid state drive (SSD) or a memory card. The operation of the present invention for writing data to the flash memory module 130 will be further described below in conjunction with FIGS. 2 and 3.

圖2是本發明的快閃記憶體寫入方法的第一實施例簡化後的流程圖200。圖3是資料區塊134中的儲存單元的編程臨界電壓(program threshold voltage)的一實施例簡化後的示意圖300。 2 is a simplified flow chart 200 of a first embodiment of a flash memory writing method of the present invention. 3 is a simplified schematic diagram 300 of an embodiment of a program threshold voltage for a memory cell in data block 134.

在流程210中,快閃記憶體控制器120會透過通信介面126接收主控裝置110傳來的待寫入資料。 In the process 210, the flash memory controller 120 receives the data to be written from the master device 110 through the communication interface 126.

接著,快閃記憶體控制器120的處理電路124會依據快閃記憶體模組130當時已儲存的資料量,來決定待寫入資料的目標資料區塊的編程臨界電壓的範圍。 Then, the processing circuit 124 of the flash memory controller 120 determines the range of the programming threshold voltage of the target data block to be written according to the amount of data stored in the flash memory module 130 at that time.

例如,在圖2的實施例中,處理電路124會進行流程220,判斷快閃記憶體模組130中已儲存的資料量是否高於一第一閥值TH1。若快閃記憶體模組130當時的資料量低於第一閥值TH1,則處理電路124會進行流程230;反之,則會進行流程240。 For example, in the embodiment of FIG. 2, the processing circuit 124 performs a process 220 to determine whether the amount of data stored in the flash memory module 130 is higher than a first threshold TH1. If the amount of data of the flash memory module 130 at that time is lower than the first threshold TH1, the processing circuit 124 performs the process 230; otherwise, the process 240 is performed.

在流程240中,處理電路124會進一步判斷快閃記憶體模組130當時已儲存的資料量是否高於一第二閥值TH2,其中TH2大於TH1。若快閃記憶體模組130當時已儲存的資料量介於第一閥值TH1與第二閥值TH2之間,則處理電路124會進行流程250。若快閃記憶體模組130當時已儲存的資料量高於第二閥值TH2,則處理電路124會進行流程260。 In the process 240, the processing circuit 124 further determines whether the amount of data stored by the flash memory module 130 at that time is higher than a second threshold TH2, where TH2 is greater than TH1. If the amount of data stored by the flash memory module 130 at that time is between the first threshold TH1 and the second threshold TH2, the processing circuit 124 proceeds to flow 250. If the amount of data that has been stored by the flash memory module 130 at that time is higher than the second threshold TH2, the processing circuit 124 proceeds to flow 260.

實作上,前述的第一閥值TH1和第二閥值TH2可以用資料量大小的形式來表達,例如MB值或GB值。或者,也可以用百分比的形式來表達。例如,假設快閃記憶體模組130的名目儲存容量為X GB,可將第一閥值TH1和第二閥值TH2分別設成0.3X GB和0.6X GB,或是將第一閥值TH1和第二閥值TH2分別設成快閃記憶體模組130的名目儲存容量的30%和60%。 In practice, the aforementioned first threshold TH1 and second threshold TH2 may be expressed in the form of a data amount, such as an MB value or a GB value. Alternatively, it can also be expressed in the form of a percentage. For example, assuming that the flash memory module 130 has a nominal storage capacity of X GB, the first threshold TH1 and the second threshold TH2 can be set to 0.3X GB and 0.6X GB, respectively, or the first threshold TH1 can be set. And the second threshold TH2 is set to 30% and 60% of the nominal storage capacity of the flash memory module 130, respectively.

如圖2所示,處理電路124在流程230中會選擇一第一電壓範圍做為待寫入資料的目標資料區塊的編程臨界電壓的範圍,在流程250中會選擇一第三電壓範圍做為待寫入資料的目標資料區塊的編程臨界電壓的範圍,而在流程260中則會選擇一第二電壓範圍做為待寫入資料的目標資料區塊的編程臨界電壓的範圍。 As shown in FIG. 2, the processing circuit 124 selects a first voltage range as the range of the programming threshold voltage of the target data block to be written in the process 230, and selects a third voltage range in the process 250. For the range of the programming threshold voltage of the target data block to be written, in the process 260, a second voltage range is selected as the range of the programming threshold voltage of the target data block of the data to be written.

前述的第一電壓範圍小於第二電壓範圍的50%,且第三電壓範圍小於第二電壓範圍的60%。對於第一電壓範圍而言,第一電壓範圍的上限 值可低於第二電壓範圍的上限值的80%。例如,第一電壓範圍的上限值可低於第二電壓範圍的上限值的60%,甚至是30%。第一電壓範圍的上限值愈低,愈能降低寫入資料到資料區塊的儲存單元(cell)時所需的耗電量。對於第三電壓範圍而言,第三電壓範圍的上限值可低於第二電壓範圍的上限值的80%,甚至是60%。同樣地,第三電壓範圍的上限值愈低,愈能降低寫入資料到儲存單元時所需的耗電量。 The aforementioned first voltage range is less than 50% of the second voltage range, and the third voltage range is less than 60% of the second voltage range. Upper limit of the first voltage range for the first voltage range The value can be less than 80% of the upper limit of the second voltage range. For example, the upper limit of the first voltage range may be less than 60%, or even 30%, of the upper limit of the second voltage range. The lower the upper limit of the first voltage range, the lower the power consumption required to write data to the memory cells of the data block. For the third voltage range, the upper limit of the third voltage range may be less than 80%, or even 60%, of the upper limit of the second voltage range. Similarly, the lower the upper limit of the third voltage range, the lower the power consumption required to write data to the storage unit.

在流程270中,處理電路124會控制讀寫電路132以選定的電壓範圍內的編程臨界電壓來編程(program)一目標資料區塊134中的儲存單元,以將資料寫入目標資料區塊134中。 In flow 270, processing circuit 124 controls read/write circuit 132 to program a memory cell in target data block 134 with a programmed threshold voltage within a selected voltage range to write data to target data block 134. in.

在圖3的實施例中,資料區塊134的各儲存單元會有一抹除臨界電壓區間(erase threshold voltage interval)EV和複數個編程臨界電壓區間(program threshold voltage interval)V0~V7。實作上,處理電路124在流程230中可選擇第一電壓範圍VR1做為待寫入資料的目標資料區塊的編程臨界電壓的範圍,在流程250中可選擇第三電壓範圍VR3做為待寫入資料的目標資料區塊的編程臨界電壓的範圍,在流程260中則可選擇第二電壓範圍VR2做為待寫入資料的目標資料區塊的編程臨界電壓的範圍。在本實施例中,第一電壓範圍VR1的上限值低於第二電壓範圍VR2的上限值的30%,且包含第二電壓範圍VR2中最低的2個編程臨界電壓區間V0和V1。此外,第三電壓範圍VR3的上限值低於第二電壓範圍VR2的上限值的60%,且包含第二電壓範圍VR2中最低的4個編程臨界電壓區間V0、V1、V2和V3。 In the embodiment of FIG. 3, each storage unit of the data block 134 has an erase threshold voltage interval EV and a plurality of program threshold voltage intervals V0 to V7. In practice, the processing circuit 124 can select the first voltage range VR1 as the range of the programming threshold voltage of the target data block of the data to be written in the process 230, and select the third voltage range VR3 as the wait in the process 250. The range of the programming threshold voltage of the target data block of the data is written. In the process 260, the second voltage range VR2 can be selected as the range of the programming threshold voltage of the target data block of the data to be written. In the present embodiment, the upper limit value of the first voltage range VR1 is lower than 30% of the upper limit value of the second voltage range VR2, and includes the lowest two programming threshold voltage intervals V0 and V1 of the second voltage range VR2. Further, the upper limit value of the third voltage range VR3 is lower than 60% of the upper limit value of the second voltage range VR2, and includes the lowest four programming threshold voltage intervals V0, V1, V2, and V3 in the second voltage range VR2.

例如,若通信介面126接收到主控裝置110傳來的第一待寫入資料D1時,快閃記憶體模組130當時已儲存的資料量低於第一閥值TH1,則處理電路124可選擇第一電壓範圍VR1做為一目標資料區塊(例如第一資料區塊 134A)的編程臨界電壓的範圍,並控制讀寫電路132以第一電壓範圍VR1內的編程臨界電壓來編程第一資料區塊134A中的儲存單元,以將第一資料D1以每儲存單元一位元(one-bit-per-cell)模式(簡稱1bpc模式)寫入第一資料區塊134A中。 For example, if the communication interface 126 receives the first data to be written D1 sent from the main control device 110, and the amount of data stored in the flash memory module 130 at that time is lower than the first threshold TH1, the processing circuit 124 may Selecting the first voltage range VR1 as a target data block (for example, the first data block) 134A) programming a range of threshold voltages, and controlling the read/write circuit 132 to program the memory cells in the first data block 134A with a programmed threshold voltage within the first voltage range VR1 to cause the first data D1 to be one per storage unit A one-bit-per-cell mode (abbreviated as 1bpc mode) is written in the first data block 134A.

若通信介面126之後接收到主控裝置110傳來的第二待寫入資料D2時,快閃記憶體模組130當時已儲存的資料量介於第一閥值TH1與第二閥值TH2之間,則處理電路124可選擇第三電壓範圍VR3做為一目標資料區塊(例如第二資料區塊134G)的編程臨界電壓的範圍,並控制讀寫電路132以第三電壓範圍VR3內的編程臨界電壓來編程第二資料區塊134G中的儲存單元,以將第二資料D2以每儲存單元兩位元(two-bit-per-cell)模式(簡稱2bpc模式)寫入第二資料區塊134G中。 If the communication interface 126 receives the second data to be written D2 from the main control unit 110, the amount of data stored in the flash memory module 130 at the time is between the first threshold TH1 and the second threshold TH2. The processing circuit 124 can select the third voltage range VR3 as the range of the programming threshold voltage of the target data block (for example, the second data block 134G), and control the read/write circuit 132 to be within the third voltage range VR3. The threshold voltage is programmed to program the storage unit in the second data block 134G to write the second data D2 into the second data area in a two-bit-per-cell mode (abbreviated as 2bpc mode). In block 134G.

之後,若通信介面126接收到主控裝置110傳來的第三待寫入資料D3時,快閃記憶體模組130當時已儲存的資料量高於第二閥值TH2,則處理電路124可選擇第二電壓範圍VR2做為一目標資料區塊(例如第三資料區塊134P)的編程臨界電壓的範圍,並控制讀寫電路132以第二電壓範圍VR2內的編程臨界電壓來編程第三資料區塊134P中的儲存單元,以將第三資料D3以每儲存單元三位元(three-bit-per-cell)模式(簡稱3bpc模式)寫入第三資料區塊134P中。 Then, if the communication interface 126 receives the third data to be written D3 sent from the main control device 110, and the amount of data stored in the flash memory module 130 is higher than the second threshold TH2, the processing circuit 124 can The second voltage range VR2 is selected as the range of the programming threshold voltage of a target data block (eg, the third data block 134P), and the read/write circuit 132 is controlled to program the third by the programming threshold voltage in the second voltage range VR2. The storage unit in the data block 134P writes the third data D3 into the third data block 134P in a three-bit-per-cell mode (abbreviated as 3bpc mode).

換言之,在同一時間點,快閃記憶體模組130中的不同資料區塊134的資料儲存模式可能會有所不同。例如,在前述的實施例中,當讀寫電路132剛完成將第三資料D3寫入第三資料區塊134P的動作時,第三資料區塊134P的資料儲存模式是3bpc模式,而此時第一資料區塊134A的資料儲存模式是1bpc模式,第二資料區塊134G的資料儲存模式則是2bpc模式。 In other words, at the same time point, the data storage mode of different data blocks 134 in the flash memory module 130 may be different. For example, in the foregoing embodiment, when the read/write circuit 132 has just completed the operation of writing the third data D3 into the third data block 134P, the data storage mode of the third data block 134P is the 3bpc mode. The data storage mode of the first data block 134A is 1bpc mode, and the data storage mode of the second data block 134G is 2bpc mode.

此外,處理電路124在決定目標資料區塊的編程臨界電壓的範圍時,亦可將待寫入資料的屬性納入考量。例如,圖4繪示了本發明的資料寫入方法的第二實施例簡化後的流程圖400,而圖5則繪示了本發明的資料寫入方法的第三實施例簡化後的流程圖500。 In addition, when the processing circuit 124 determines the range of the programming threshold voltage of the target data block, the attribute of the data to be written may also be taken into consideration. For example, FIG. 4 is a simplified flowchart 400 of the second embodiment of the data writing method of the present invention, and FIG. 5 is a simplified flowchart of the third embodiment of the data writing method of the present invention. 500.

在圖4的實施例中,當通信介面126接收到主控裝置110傳來的第四待寫入資料D4時,處理電路124會先進行流程415,判斷第四資料D4是否屬於較不會被經常存取的資料(以下稱之為冷資料)。處理電路124可依據第四資料D4的檔案類型、副檔名、邏輯位址或其他方式來判斷其是否為冷資料。若處理電路124將第四資料D4判斷為冷資料,則會直接跳到流程260;反之,則會進入流程220。 In the embodiment of FIG. 4, when the communication interface 126 receives the fourth data to be written D4 from the master device 110, the processing circuit 124 first performs a flow 415 to determine whether the fourth data D4 is less likely to be Frequently accessed data (hereinafter referred to as cold data). The processing circuit 124 can determine whether it is cold data according to the file type, the auxiliary file name, the logical address or the other manner of the fourth data D4. If the processing circuit 124 determines the fourth data D4 as cold data, it will jump directly to the process 260; otherwise, it will proceed to the process 220.

在圖5的實施例中,當通信介面126接收到主控裝置110傳來的第五待寫入資料D5時,處理電路124會先進行流程515,判斷第五資料D5是否屬於可能會被經常存取的資料(以下稱之為熱資料)。處理電路124可依據第五資料D5的檔案類型、副檔名、邏輯位址或其他方式來判斷其是否為熱資料。若處理電路124將第五資料D5判斷為熱資料,則會直接跳到流程230;反之,則會進入流程220。 In the embodiment of FIG. 5, when the communication interface 126 receives the fifth to-be-written data D5 from the main control device 110, the processing circuit 124 first performs a flow 515 to determine whether the fifth data D5 is likely to be frequently used. Accessed data (hereinafter referred to as hot data). The processing circuit 124 can determine whether it is hot data according to the file type, the auxiliary file name, the logical address or the other manner of the fifth data D5. If the processing circuit 124 determines the fifth data D5 as hot data, it will jump directly to the process 230; otherwise, it will proceed to the process 220.

在另一實施例中,處理電路124會先判斷第五資料D5是否屬於熱資料或冷資料。若處理電路124將第五資料D5判斷為熱資料,則會直接跳到流程230;若處理電路124將第五資料D5判斷為冷資料,則會直接跳到流程260;若處理電路124判斷第五資料D5既非熱資料也非冷資料,則會進入流程220。 In another embodiment, the processing circuit 124 first determines whether the fifth data D5 belongs to hot data or cold data. If the processing circuit 124 determines the fifth data D5 as the hot data, it will jump directly to the process 230; if the processing circuit 124 determines the fifth data D5 as the cold data, it will jump directly to the process 260; if the processing circuit 124 determines the first If the data D5 is neither hot nor cold, it will proceed to process 220.

在運作時,處理電路124亦可將各資料區塊134以1bpc模式寫入的次數、以2bpc模式寫入的次數、及/或以3bpc模式寫入的次數,記錄在記錄媒體122中。為便於記錄,處理電路124可記錄資料區塊134在特定模式(例如1bpc模式、2bpc模式、3bpc模式)下的被抹除次數,來當作資料區塊134以特定模式寫入的次數。在前述的流程270中,處理電路124可依據記錄媒體122中所記錄的內容,來選出適當的資料區塊134做為目標資料區塊,以使各資料區塊以特定模式寫入的次數能較為平均,避免過度使用特定的資料區塊。 In operation, the processing circuit 124 may also record the number of times each of the data blocks 134 is written in the 1bpc mode, the number of times written in the 2bpc mode, and/or the number of times written in the 3bpc mode, on the recording medium 122. To facilitate recording, processing circuitry 124 may record the number of erases of data block 134 in a particular mode (eg, 1bpc mode, 2bpc mode, 3bpc mode) as the number of times data block 134 is written in a particular mode. In the foregoing process 270, the processing circuit 124 can select the appropriate data block 134 as the target data block according to the content recorded in the recording medium 122, so that the number of times each data block is written in a specific mode can be More average, avoid overusing specific data blocks.

另外,處理電路124可將快閃記憶體模組130的資料區塊134的使用狀況,記錄在記錄媒體122中,並據以決定是否將部分資料區塊的儲存內容合併到有足夠容量的一資料區塊中,以釋出較多的可用資料區塊供儲存後續的資料。 In addition, the processing circuit 124 can record the usage status of the data block 134 of the flash memory module 130 in the recording medium 122, and determine whether to merge the storage contents of the partial data block into a sufficient capacity. In the data block, more available data blocks are released for storing subsequent data.

例如,處理電路124可將快閃記憶體模組130使用中的資料區塊的數量記錄在記錄媒體122中,並於該數量高於一第三閥值TH3時,將部分資料區塊的儲存內容合併到有足夠容量的一目標資料區塊。或者,處理電路124也可將快閃記憶體模組130中的空白資料區塊的數量記錄在記錄媒體122中,並於該數量低於一第四閥值TH4時,將部分資料區塊的儲存內容合併到有足夠容量的一目標資料區塊中。 For example, the processing circuit 124 can record the number of data blocks in use of the flash memory module 130 in the recording medium 122, and store the partial data blocks when the number is higher than a third threshold TH3. The content is merged into a target data block with sufficient capacity. Alternatively, the processing circuit 124 may also record the number of blank data blocks in the flash memory module 130 in the recording medium 122, and when the number is lower than a fourth threshold TH4, the partial data blocks are The stored content is merged into a target data block with sufficient capacity.

在合併資料區塊的內容時,處理電路124可控制讀寫電路132將一或多個以1bpc模式儲存資料的候選資料區塊(例如資料區塊134A和134B)中的有效資料,改用2bpc模式或3bpc模式寫入到一目標資料區塊(例如資料區塊134H或134Q),並抹除該等候選資料區塊。處理電路124也可控制讀寫電路132將一或多個2bpc模式儲存資料的候選資料區塊(例如資料區塊134G和134H)中的有效資料,以3bpc模式寫入一目標資料區塊(例如資料區塊134P 或134Q),並抹除該等候選資料區塊。或者,處理電路124可控制讀寫電路132將以1bpc模式儲存資料的一第一候選資料區塊(例如資料區塊134A或134B)中的有效資料,以3bpc模式寫入一目標資料區塊(例如資料區塊134P或134Q),將以2bpc模式儲存資料的一第二候選資料區塊(例如資料區塊134G或134H)中的有效資料,以3bpc模式寫入該目標資料區塊(例如資料區塊134P或134Q),並抹除該第一和第二候選資料區塊。 When merging the contents of the data block, the processing circuit 124 can control the read/write circuit 132 to change the valid data in one or more candidate data blocks (eg, the data blocks 134A and 134B) storing the data in the 1bpc mode to 2bpc. The mode or 3bpc mode is written to a target data block (eg, data block 134H or 134Q) and the candidate data blocks are erased. The processing circuit 124 can also control the read/write circuit 132 to write valid data in candidate data blocks (eg, data blocks 134G and 134H) of one or more 2bpc mode stored data into a target data block in a 3bpc mode (eg, Data block 134P Or 134Q) and erase the candidate data blocks. Alternatively, the processing circuit 124 can control the read/write circuit 132 to store the valid data in a first candidate data block (for example, the data block 134A or 134B) storing the data in the 1bpc mode, and write the target data block in the 3bpc mode ( For example, the data block 134P or 134Q) stores the valid data in a second candidate data block (for example, the data block 134G or 134H) of the data in the 2bpc mode, and writes the target data block in the 3bpc mode (for example, data). Block 134P or 134Q) and erase the first and second candidate data blocks.

由於處理電路124會依據快閃記憶體模組130中已儲存的資料量,來動態調整要寫入資料的目標資料區塊134的編程臨界電壓的範圍。因此,同一資料區塊134的編程臨界電壓的範圍,在不同時間點可能會有所不同。例如,當快閃記憶體模組130中儲存的資料量低於第一閥值TH1時,若資料區塊134Q被選為目標資料區塊,則處理電路124可控制讀寫電路132以前述第一電壓範圍VR1內的編程臨界電壓來編程目標資料區塊134Q的儲存單元,將資料以1bpc模式寫入目標資料區塊134Q中。 The processing circuit 124 dynamically adjusts the range of the programming threshold voltage of the target data block 134 to be written according to the amount of data stored in the flash memory module 130. Therefore, the range of programming threshold voltages for the same data block 134 may vary at different points in time. For example, when the amount of data stored in the flash memory module 130 is lower than the first threshold TH1, if the data block 134Q is selected as the target data block, the processing circuit 124 can control the read/write circuit 132 to the foregoing A programming threshold voltage within a voltage range VR1 is programmed to store the target data block 134Q, and the data is written to the target data block 134Q in 1bpc mode.

之後,資料區塊134Q可能會因各種運作上的原因而被抹除。當快閃記憶體模組130中儲存的資料量增加到介於第一閥值TH1與第二閥值TH2之間時,若資料區塊134Q又被選為目標資料區塊,則處理電路124可控制讀寫電路132以前述第三電壓範圍VR3內的編程臨界電壓來編程目標資料區塊134Q的儲存單元,將新資料以2bpc模式寫入目標資料區塊134Q中。 After that, the data block 134Q may be erased for various operational reasons. When the amount of data stored in the flash memory module 130 increases between the first threshold TH1 and the second threshold TH2, if the data block 134Q is selected as the target data block, the processing circuit 124 The controllable read/write circuit 132 programs the storage unit of the target data block 134Q with the programming threshold voltage in the aforementioned third voltage range VR3, and writes the new data into the target data block 134Q in the 2bpc mode.

同樣地,資料區塊134Q在此之後又可能因各種運作上的原因而被抹除。當快閃記憶體模組130中儲存的資料量增加到高於第二閥值TH2時,若資料區塊134Q又再次被選為目標資料區塊,則處理電路124可控制讀寫電路132以前述第二電壓範圍VR2內的編程臨界電壓來編程目標資料區塊134Q的儲存單元,將新資料以3bpc模式寫入目標資料區塊134Q中。 Similarly, data block 134Q may be erased after various operational reasons. When the amount of data stored in the flash memory module 130 increases above the second threshold TH2, if the data block 134Q is again selected as the target data block, the processing circuit 124 can control the read/write circuit 132 to The programming threshold voltage in the aforementioned second voltage range VR2 is programmed to store the storage unit of the target data block 134Q, and the new data is written into the target data block 134Q in the 3bpc mode.

由前述說明可知,處理電路124會依據快閃記憶體模組130當時已儲存的資料量,動態調整要寫入資料的目標資料區塊134的編程臨界電壓的範圍,甚至可直接指定讀寫電路132對目標資料區塊134寫入資料時所使用的編程臨界電壓。當快閃記憶體模組130儲存的資料量較低時,處理電路124會控制快閃記憶體模組130的讀寫電路132以較低的編程臨界電壓(例如圖3的電壓區間V0內的臨界電壓或電壓區間V1內的臨界電壓)來編程資料區塊134。這種作法不僅能降低將資料寫入資料區塊時所需的耗電量,更能有效改善快閃記憶體模組130的儲存單元的耐耗損能力,進而提高快閃記憶體模組130中所儲存的資料的可靠度。 It can be seen from the foregoing description that the processing circuit 124 dynamically adjusts the range of the programming threshold voltage of the target data block 134 to be written according to the amount of data stored in the flash memory module 130 at the time, and even directly specifies the read/write circuit. 132 The programming threshold voltage used to write data to the target data block 134. When the amount of data stored in the flash memory module 130 is low, the processing circuit 124 controls the read/write circuit 132 of the flash memory module 130 to have a lower programming threshold voltage (eg, within the voltage interval V0 of FIG. 3). The data block 134 is programmed with a threshold voltage or a threshold voltage within the voltage interval V1. This method can not only reduce the power consumption required when writing data into the data block, but also effectively improve the wear resistance of the storage unit of the flash memory module 130, thereby improving the flash memory module 130. The reliability of the stored data.

此外,由於資料區塊134的編程臨界電壓可由處理電路124指定,故在進行資料讀取運作時,處理電路124亦可直接指定讀寫電路132對目標資料區塊134進行讀取時所使用的讀取臨界電壓(read threshold voltage),進而加快讀取快閃記憶體模組130的速度。 In addition, since the programming threshold voltage of the data block 134 can be specified by the processing circuit 124, the processing circuit 124 can also directly specify the read/write circuit 132 to use when reading the target data block 134 during the data reading operation. The read threshold voltage is read, thereby speeding up the reading of the flash memory module 130.

因此,搭配前述快閃記憶體控制器120的控制方式,不僅能用MLC晶片、TLC晶片、甚至是更高階數的晶片來實現快閃記憶體模組130,以滿足低成本、高容量的目標,又能有效改善快閃記憶體模組130的耐用程度、耐耗損能力、和資料可靠度。這樣的架構對於滿足節能減碳的產品規格要求有很大助益,更有助於促進固態硬碟的普及和應用。 Therefore, in combination with the control method of the flash memory controller 120, the flash memory module 130 can be realized not only by the MLC chip, the TLC chip, or even the higher order chip, but also to meet the low cost and high capacity target. Moreover, the durability, the wear resistance, and the data reliability of the flash memory module 130 can be effectively improved. Such an architecture is very helpful for meeting the product specification requirements for energy saving and carbon reduction, and is also helpful for promoting the popularization and application of solid state hard disks.

以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。 The above are only the preferred embodiments of the present invention, and all changes and modifications made to the scope of the present invention should be within the scope of the present invention.

200‧‧‧流程圖 200‧‧‧flow chart

210~270‧‧‧方法流程 210~270‧‧‧ Method flow

Claims (10)

一種快閃記憶體控制器,用以控制一快閃記憶體模組,其中該快閃記憶體模組包含有一讀寫電路、一第一資料區塊以及一第二資料區塊,該快閃記憶體控制器包含有:一通信介面,用於接收一第一資料以及一第二資料;以及一處理電路,耦接於該通信介面、以及該快閃記憶體模組,用於依據該快閃記憶體模組當時已儲存的資料量,動態調整將資料寫入該快閃記憶體模組的模式;其中,若該通信介面接收到該第一資料時,該快閃記憶體模組當時已儲存的資料量低於一第一閥值,該處理電路會控制該快閃記憶體模組以使得該第一資料以每儲存單元一位元模式寫入該第一資料區塊中,且若該通信介面接收到該第二資料時,該快閃記憶體模組當時已儲存的資料量高於該第一閥值,則該處理電路會控制該快閃記憶體模組以使得該第二資料以每儲存單元兩位元模式寫入該第二資料區塊中。 A flash memory controller for controlling a flash memory module, wherein the flash memory module includes a read/write circuit, a first data block, and a second data block, the flash The memory controller includes: a communication interface for receiving a first data and a second data; and a processing circuit coupled to the communication interface and the flash memory module for The amount of data stored in the flash memory module at that time, dynamically adjusting the data to be written into the flash memory module mode; wherein, if the communication interface receives the first data, the flash memory module is The amount of stored data is lower than a first threshold, and the processing circuit controls the flash memory module to cause the first data to be written into the first data block in a bit pattern per storage unit, and If the communication device receives the second data, the amount of data stored in the flash memory module at that time is higher than the first threshold, the processing circuit controls the flash memory module to make the first Two data with two yuan per storage unit The second type write data block. 如請求項1所述的快閃記憶體控制器,其中,該處理電路會控制該快閃記憶體模組以使得該第一資料區塊中的至少一儲存單元的編程臨界電壓位於一第一電壓範圍內,以將該第一資料寫入該第一資料區塊中,並控制該快閃記憶體模組以使得該第二資料區塊中的至少一儲存單元的編程臨界電壓位於一第三電壓範圍內,以將該第二資料寫入該第二資料區塊中;其中,該第一電壓範圍小於該第三電壓範圍。 The flash memory controller of claim 1, wherein the processing circuit controls the flash memory module such that a programming threshold voltage of at least one of the first data blocks is at a first Writing, in the voltage range, the first data into the first data block, and controlling the flash memory module such that a programming threshold voltage of at least one of the second data blocks is located at a first level Within the three voltage range, the second data is written into the second data block; wherein the first voltage range is less than the third voltage range. 一種快閃記憶體控制器,用以控制一快閃記憶體模組,其中該快閃記憶體模組包含有一讀寫電路、一第一資料區塊以及一第二資料區塊,該快閃記憶 體控制器包含有:一通信介面,用於接收一第一資料;以及一處理電路,耦接於該通信介面、以及該快閃記憶體模組,用於依據該快閃記憶體模組當時已儲存的資料量,動態調整將資料寫入該快閃記憶體模組的模式;其中,若該通信介面接收到該第一資料時,該快閃記憶體模組當時已儲存的資料量低於一第一閥值,該處理電路會控制該快閃記憶體模組以使得該第一資料以每儲存單元一位元模式寫入該第一資料區塊中,且該處理電路之後會控制該快閃記憶體模組以使得該第一資料區塊中至少一資料,改用每儲存單元兩位元模式寫入到一第二資料區塊中。 A flash memory controller for controlling a flash memory module, wherein the flash memory module includes a read/write circuit, a first data block, and a second data block, the flash memory The body controller includes: a communication interface for receiving a first data; and a processing circuit coupled to the communication interface and the flash memory module for using the flash memory module at the time The amount of stored data is dynamically adjusted to write the data to the flash memory module mode; wherein, if the communication interface receives the first data, the flash memory module has a low amount of data stored at the time. At a first threshold, the processing circuit controls the flash memory module such that the first data is written into the first data block in a bit pattern per storage unit, and the processing circuit controls The flash memory module is configured to cause at least one of the first data blocks to be written into a second data block in a two-dimensional mode per storage unit. 如請求項3所述的快閃記憶體控制器,其中,該處理電路會控制該快閃記憶體模組以使得該第一資料區塊中的至少一儲存單元的編程臨界電壓位於一第一電壓範圍內,以將該第一資料寫入該第一資料區塊中,並控制該快閃記憶體模組以使得該第二資料區塊中的至少一儲存單元的編程臨界電壓位於一第三電壓範圍內,以將該第二資料寫入該第二資料區塊中;其中,該第一電壓範圍小於該第三電壓範圍。 The flash memory controller of claim 3, wherein the processing circuit controls the flash memory module such that a programming threshold voltage of at least one of the first data blocks is at a first Writing, in the voltage range, the first data into the first data block, and controlling the flash memory module such that a programming threshold voltage of at least one of the second data blocks is located at a first level Within the three voltage range, the second data is written into the second data block; wherein the first voltage range is less than the third voltage range. 一種快閃記憶體控制器,用以控制一快閃記憶體模組,其中該快閃記憶體模組包含有一讀寫電路、一第一資料區塊以及一第二資料區塊,該快閃記憶體控制器包含有:一通信介面,用於接收至少一第一資料;以及一處理電路,耦接於該通信介面、以及該快閃記憶體模組,用於控制該讀寫電路將資料寫入該快閃記憶體模組;其中,若該通信介面接收到該第一資料時,該快閃記憶體模組中的資料 量低於一第一閥值,該處理電路會控制該快閃記憶體模組以使得該第一資料區塊中的至少一儲存單元的編程臨界電壓位於一第一電壓範圍內,以將該第一資料寫入該第一資料區塊中。 A flash memory controller for controlling a flash memory module, wherein the flash memory module includes a read/write circuit, a first data block, and a second data block, the flash The memory controller includes: a communication interface for receiving at least one first data; and a processing circuit coupled to the communication interface and the flash memory module for controlling the data of the read/write circuit Writing to the flash memory module; wherein, if the communication interface receives the first data, the data in the flash memory module The processing circuit controls the flash memory module such that a programming threshold voltage of at least one of the first data blocks is within a first voltage range, so that the amount is lower than a first threshold. The first data is written into the first data block. 如請求項5所述的快閃記憶體控制器,其中,若該通信介面接收到一第二資料時,該快閃記憶體模組當時已儲存的資料量高於該第一閥值,則該處理電路會控制該快閃記憶體模組以使得該第二資料區塊中的至少一儲存單元的編程臨界電壓位於一第三電壓範圍內,以將該第二資料寫入該第二資料區塊中,其中該第三電壓範圍大於該第一電壓範圍。 The flash memory controller of claim 5, wherein if the communication interface receives a second data, the amount of data stored in the flash memory module at the time is higher than the first threshold, The processing circuit controls the flash memory module such that a programming threshold voltage of at least one of the second data blocks is within a third voltage range to write the second data to the second data In the block, wherein the third voltage range is greater than the first voltage range. 如請求項6所述的快閃記憶體控制器,其中,若該通信介面接收到一第三資料時,該快閃記憶體模組當時已儲存的資料量高於一第二閥值,則該處理電路會控制該快閃記憶體模組以使得一第三資料區塊中的至少一儲存單元的編程臨界電壓位於一第二電壓範圍內,以將該第三資料寫入該第三資料區塊中,其中該第二閥值高於該第一閥值,且該第二電壓範圍大於該第三電壓範圍。 The flash memory controller of claim 6, wherein if the communication interface receives a third data, the amount of data stored in the flash memory module at that time is higher than a second threshold, The processing circuit controls the flash memory module such that a programming threshold voltage of at least one of the memory cells in a third data block is within a second voltage range to write the third data into the third data In the block, wherein the second threshold is higher than the first threshold, and the second voltage range is greater than the third voltage range. 如請求項7所述的快閃記憶體控制器,其中,該處理電路會控制該快閃記憶體模組以使得該第一資料以每儲存單元一位元模式寫入該第一資料區塊中,使得該第二資料以每儲存單元兩位元模式寫入該第二資料區塊中,並使得該第三資料以每儲存單元三位元模式寫入該第三資料區塊中。 The flash memory controller of claim 7, wherein the processing circuit controls the flash memory module to cause the first data to be written into the first data block in a bit pattern per storage unit. The second data is written into the second data block in a two-element mode per storage unit, and the third data is written into the third data block in a three-bit mode per storage unit. 如請求項7所述的快閃記憶體控制器,其中,該第一電壓範圍的上限值小於該第三電壓範圍的上限值,且該第三電壓範圍的上限值小於該第二電壓範圍的上限值。 The flash memory controller of claim 7, wherein an upper limit value of the first voltage range is less than an upper limit value of the third voltage range, and an upper limit value of the third voltage range is smaller than the second The upper limit of the voltage range. 一種快閃記憶體控制器,用以控制一快閃記憶體模組,其中該快閃記憶體模組包含有一讀寫電路、一第一資料區塊以及一第二資料區塊,該快閃記憶體控制器包含有:一通信介面,用於接收一第一資料;以及一處理電路,耦接於該通信介面、以及該快閃記憶體模組;其中,若該通信介面接收到該第一資料時,該快閃記憶體模組中的資料量低於一第一閥值,該處理電路會控制該快閃記憶體模組以使得該第一資料區塊中的至少一儲存單元的編程臨界電壓位於一第一電壓範圍內,以將該第一資料寫入該第一資料區塊中,且該處理電路之後會控制該快閃記憶體模組以使得該第二資料區塊中的至少一儲存單元的編程臨界電壓位於一第三電壓範圍內,以將該第一資料區塊中的至少一資料寫入到該第二資料區塊中,其中該第一電壓範圍小於該第三電壓範圍。 A flash memory controller for controlling a flash memory module, wherein the flash memory module includes a read/write circuit, a first data block, and a second data block, the flash The memory controller includes: a communication interface for receiving a first data; and a processing circuit coupled to the communication interface and the flash memory module; wherein, if the communication interface receives the first In a data, the amount of data in the flash memory module is lower than a first threshold, and the processing circuit controls the flash memory module to make at least one of the first data blocks The programming threshold voltage is located in a first voltage range to write the first data into the first data block, and the processing circuit then controls the flash memory module to be in the second data block The programming threshold voltage of the at least one storage unit is located in a third voltage range to write at least one data in the first data block into the second data block, wherein the first voltage range is less than the first Three voltage ranges.
TW103145931A 2011-08-19 2011-08-19 Flash memory controller TWI537955B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW103145931A TWI537955B (en) 2011-08-19 2011-08-19 Flash memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103145931A TWI537955B (en) 2011-08-19 2011-08-19 Flash memory controller

Publications (2)

Publication Number Publication Date
TW201513121A TW201513121A (en) 2015-04-01
TWI537955B true TWI537955B (en) 2016-06-11

Family

ID=53437226

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103145931A TWI537955B (en) 2011-08-19 2011-08-19 Flash memory controller

Country Status (1)

Country Link
TW (1) TWI537955B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI561985B (en) 2015-10-22 2016-12-11 Silicon Motion Inc Data storage device and data maintenance method thereof

Also Published As

Publication number Publication date
TW201513121A (en) 2015-04-01

Similar Documents

Publication Publication Date Title
TWI471862B (en) Flash memory controller
TWI397912B (en) Flash memory storage device for adjusting efficiency in accessing flash memory
KR101989018B1 (en) Operating method for data storage device
US8606987B2 (en) Data writing method for flash memory and controller using the same
US8644071B2 (en) Flash memory apparatus capable of extending data retention and improving data reliability, and method for controlling the same
US7864572B2 (en) Flash memory storage apparatus, flash memory controller, and switching method thereof
US8296507B2 (en) Memory management and writing method and rewritable non-volatile memory controller and storage system using the same
US8103820B2 (en) Wear leveling method and controller using the same
US8090900B2 (en) Storage device and data management method
KR20170099610A (en) Data storage device and operating method thereof
US9965194B2 (en) Data writing method, memory control circuit unit and memory storage apparatus which performs data arrangement operation according to usage frequency of physical erasing unit of memory storage apparatus
CN111158579B (en) Solid state disk and data access method thereof
CN104866246A (en) Solid state hybrid drive
US10283196B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US8037236B2 (en) Flash memory writing method and storage system and controller using the same
CN104035897A (en) Storage controller
TWI537955B (en) Flash memory controller
US8634239B2 (en) Hybrid multi-level cell programming sequences
TW201310237A (en) Flash memory storage device
CN102956255A (en) Flash memory controller