TWI637399B - Memory system and memory-control method with a programming status - Google Patents

Memory system and memory-control method with a programming status Download PDF

Info

Publication number
TWI637399B
TWI637399B TW106122827A TW106122827A TWI637399B TW I637399 B TWI637399 B TW I637399B TW 106122827 A TW106122827 A TW 106122827A TW 106122827 A TW106122827 A TW 106122827A TW I637399 B TWI637399 B TW I637399B
Authority
TW
Taiwan
Prior art keywords
memory
data
stylized
stylized state
stylization
Prior art date
Application number
TW106122827A
Other languages
Chinese (zh)
Other versions
TW201735025A (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 慧榮科技股份有限公司
Publication of TW201735025A publication Critical patent/TW201735025A/en
Application granted granted Critical
Publication of TWI637399B publication Critical patent/TWI637399B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells

Abstract

一種具有一程式化狀態之記憶體系統,包括至少一第一記憶體、至少一第二記憶體以及一控制器。至少一第一記憶體的每一者具有複數個記憶區域以儲存資料。至少一第二記憶體的每一者具有複數個記憶區域,用以程式化來自該至少一第一記憶體的該資料。控制器耦接該第二記憶體,用以紀錄該資料之一程式化狀態。當該至少一第一記憶體或該至少一第二記憶體即將被使用時,藉由探詢該程式化狀態檢查該程式化是否成功,並且該至少一第一記憶體儲存該資料直到該程式化被檢查為成功。 A memory system having a stylized state includes at least a first memory, at least a second memory, and a controller. Each of the at least one first memory has a plurality of memory regions to store data. Each of the at least one second memory has a plurality of memory regions for programming the material from the at least one first memory. The controller is coupled to the second memory for recording a stylized state of the data. When the at least one first memory or the at least one second memory is about to be used, checking whether the stylization is successful by querying the stylized state, and the at least one first memory stores the data until the stylization Checked as successful.

Description

具有程式化狀態之記憶體系統與記憶體控制方法 Memory system and memory control method with stylized state

本發明係關於一種包括程式化狀態的記憶體系統與記憶體控制方法,特別係關於使用程式化狀態來檢查記憶體系統之程式化結果。 The present invention relates to a memory system and a memory control method including a stylized state, and more particularly to a stylized result of checking a memory system using a stylized state.

記憶體裝置與記憶體系統廣泛使用於各種電子裝置之中。就資料的程式化而言,將資料程式化到記憶體裝置時,通常需要盡快檢查其程式化的結果。然而,檢查程式化結果需要很長的檢查時間。尤其在檢查期間執行程式化結果的檢查時,可能會占用電子裝置的控制器或韌體(firmware)。然後,韌體或控制器的功能會被停止或延遲,直到完成程式化結果的檢查。因此,會浪費太多時間,並且會導致電子裝置的效能突然劣化。 Memory devices and memory systems are widely used in various electronic devices. As far as the stylization of data is concerned, when staging data into a memory device, it is usually necessary to check the stylized results as soon as possible. However, checking the stylized results requires a long inspection time. Especially when performing a check of stylized results during the inspection, the controller or firmware of the electronic device may be occupied. The firmware or controller's functionality is then stopped or delayed until the stylized results are checked. Therefore, too much time is wasted and the performance of the electronic device is suddenly deteriorated.

因此,需要一種高效率且動態調整的記憶體控制方法,並且藉由使用程式化狀態來防止電子裝置的效能突然劣化。 Therefore, there is a need for an efficient and dynamically adjusted memory control method and to prevent sudden deterioration of the performance of an electronic device by using a stylized state.

本發明之一實施例提供了一種具有一程式化狀態之記憶體系統,包括至少一第一記憶體、至少一第二記憶體以及一控制器。至少一第一記憶體的每一者具有複數個記憶區域 以儲存資料。至少一第二記憶體的每一者具有複數個記憶區域,用以程式化來自該至少一第一記憶體的該資料。控制器耦接該第二記憶體,用以紀錄該資料之一程式化狀態。當該至少一第一記憶體或該至少一第二記憶體即將被使用時,藉由探詢該程式化狀態檢查該程式化是否成功,並且該至少一第一記憶體儲存該資料直到該程式化被檢查為成功。 An embodiment of the present invention provides a memory system having a stylized state, including at least a first memory, at least a second memory, and a controller. Each of the at least one first memory has a plurality of memory regions To store data. Each of the at least one second memory has a plurality of memory regions for programming the material from the at least one first memory. The controller is coupled to the second memory for recording a stylized state of the data. When the at least one first memory or the at least one second memory is about to be used, checking whether the stylization is successful by querying the stylized state, and the at least one first memory stores the data until the stylization Checked as successful.

本發明之一實施例提供了一種具有一程式化狀態之記憶體控制方法,包括紀錄自至少一第一記憶體程式化至至少一第二記憶體之資料之一程式化狀態;當該至少一第一記憶體或該至少一第二記憶體即將被使用時,藉由探詢該程式化狀態檢查該程式化是否成功;以及儲存資料於該至少一第一記憶體直到該程式化被檢查為成功。 An embodiment of the present invention provides a memory control method having a stylized state, including recording a stylized state of at least one first memory stylized to at least one second memory; when the at least one When the first memory or the at least one second memory is about to be used, checking whether the stylization is successful by querying the stylized state; and storing the data in the at least one first memory until the stylization is checked as successful .

10‧‧‧記憶體系統 10‧‧‧ memory system

100-10N‧‧‧第一記憶體 100-10N‧‧‧ first memory

100A-10NA、100B-10NB、300A-30NA、300B-30NB‧‧‧記憶區域 100A-10NA, 100B-10NB, 300A-30NA, 300B-30NB‧‧‧ memory area

200‧‧‧控制器 200‧‧‧ controller

300-30N‧‧‧第二記憶體 300-30N‧‧‧Second memory

第1圖係顯示根據本發明一實施例所述之記憶體系統之示意圖;第2A與2B圖係顯示根據本發明一實施例所述之記憶體系統的程式化之示意圖;第3A圖係顯示前案所述之順序寫入的程式化之示意圖;第3B圖係顯示根據本發明一實施例所述之順序寫入的程式化之示意圖;第4A圖係顯示前案所述之隨機寫入的程式化之示意圖;第4B圖係顯示根據本發明一實施例所述之隨機寫入的程式化之示意圖; 第5圖係顯示根據本發明一實施例所述之記憶體控制方法之示意圖。 1 is a schematic diagram showing a memory system according to an embodiment of the invention; FIGS. 2A and 2B are diagrams showing a stylization of a memory system according to an embodiment of the invention; FIG. 3A is a diagram showing A schematic diagram of the stylization of the sequential writing described in the foregoing; FIG. 3B is a schematic diagram showing the stylization of sequential writing according to an embodiment of the present invention; and FIG. 4A is a view showing the random writing described in the previous case. Schematic diagram of stylization; FIG. 4B is a schematic diagram showing stylization of random writing according to an embodiment of the invention; Figure 5 is a diagram showing a memory control method according to an embodiment of the present invention.

為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。 In order to make the objects, features and advantages of the present invention more comprehensible, the specific embodiments of the invention are set forth in the accompanying drawings. The intention is to illustrate the spirit of the invention and not to limit the scope of the invention, it being understood that the following embodiments can be implemented by software, hardware, firmware, or any combination of the above.

第1圖係顯示根據本發明一實施例所述之記憶體系統10之示意圖。記憶體系統10包括至少一第一記憶體100~10N、一控制器120、以及至少一第二記憶體300~30N。舉例而言,第一記憶體100~10N為隨機存取記憶體(RAM),第二記憶體300~30N為反及閘(NAND)記憶體。如第1圖所示,第一記憶體100~10N的每一者皆具有複數個記憶區域以儲存資料,而每一個記憶區域可包括複數個區塊。舉例而言,第一記憶體100包括記憶區域100A與100B來儲存資料,並且第一記憶體10N包括記憶區域10NA與10NB來儲存資料。此外,該至少一第二記憶體300~30N的每一者包括複數個記憶區域,對來自第一記憶體100~10N的資料進行程式化,並且每一個記憶區域包括複數個區塊。舉例而言,第二記憶體300包括記憶區域300A與300B以程式化資料,第二記憶體30N包括記憶區域30NA與30NB以程式化資料。在另一實施例中,第二記憶體300~30N可以是記憶體裝置的不同晶元(die)。進一步而言,控制器200包括記憶體系統10的韌體。在另一實施例中,控制器200可包括 一微控制器以及唯讀記憶體(ROM)儲存韌體碼。微控制器可執行韌體碼以存取或操作第二記憶體300~30N。詳細而言,控制器200讀取或寫入第二記憶體300~30N。要注意的是,在一些實施例中,控制器200更記錄、探詢及/或更新第二記憶體300~30N的程式化狀態。 1 is a schematic diagram showing a memory system 10 in accordance with an embodiment of the present invention. The memory system 10 includes at least one first memory 100~10N, a controller 120, and at least one second memory 300~30N. For example, the first memory 100~10N is a random access memory (RAM), and the second memory 300~30N is a NAND memory. As shown in FIG. 1, each of the first memories 100 to 10N has a plurality of memory areas for storing data, and each of the memory areas may include a plurality of blocks. For example, the first memory 100 includes memory areas 100A and 100B for storing data, and the first memory 10N includes memory areas 10NA and 10NB for storing data. In addition, each of the at least one second memory 300~30N includes a plurality of memory regions, and the data from the first memory 100~10N is programmed, and each memory region includes a plurality of blocks. For example, the second memory 300 includes memory areas 300A and 300B to programmatic data, and the second memory 30N includes memory areas 30NA and 30NB to program the data. In another embodiment, the second memory 300~30N may be a different die of the memory device. Further, the controller 200 includes a firmware of the memory system 10. In another embodiment, the controller 200 can include A microcontroller and read-only memory (ROM) store the firmware code. The microcontroller can execute the firmware code to access or operate the second memory 300~30N. In detail, the controller 200 reads or writes the second memories 300 to 30N. It is noted that in some embodiments, the controller 200 further records, interrogates, and/or updates the stylized state of the second memory 300~30N.

如第1圖所示,控制器200耦接第二記憶體300~30N,用以紀錄資料的程式化狀態。詳細而言,資料係儲存於第一記憶體100~10N,並且被程式化到第二記憶體300~30N。要注意的是,當至少一第一記憶體100~10N或至少一第二記憶體300~30N將要被使用時,才會探詢程式化狀態以檢查程式化是否成功。換言之,並非在資料程式化到記憶體裝置的時候就立即檢查程式化結果。在即將使用或存取第一記憶體100~10N或第二記憶體300~30N之前才檢查程式化的結果。因此,能夠防止一旦程式化資料就立即檢查程式化結果所導致的冗長檢查時間,因而得到較佳的效能。此外,該至少一第一記憶體100~10N儲存資料直到檢查程式化結果為成功。因此,當程式化失敗時,儲存於第一記憶體100~10N的資料能夠成為復原或支援程式化的來源。舉例而言,儲存於第一記憶體100~10N的資料能夠再次被程式化到第二記憶體300~30N。 As shown in FIG. 1, the controller 200 is coupled to the second memory 300~30N for recording the stylized state of the data. In detail, the data is stored in the first memory 100~10N and is programmed into the second memory 300~30N. It should be noted that when at least one first memory 100~10N or at least one second memory 300~30N is to be used, the stylized state is polled to check whether the stylization is successful. In other words, the stylized results are not checked immediately when the data is stylized into a memory device. The stylized result is checked just before the first memory 100~10N or the second memory 300~30N is used or accessed. Therefore, it is possible to prevent the lengthy inspection time caused by the stylized result from being immediately checked once the programmatic data is obtained, thereby obtaining better performance. In addition, the at least one first memory 100~10N stores data until the stylized result is successful. Therefore, when the stylization fails, the data stored in the first memory 100~10N can be a source of recovery or support stylization. For example, the data stored in the first memory 100~10N can be programmed again into the second memory 300~30N.

在一實施例中,控制器200所記錄的程式化狀態包括關於資料的資訊、關於第一記憶體100~10N及資料被程式化自記憶區域的資訊、關於第二記憶體300~30N及資料被程式化至記憶區域的資訊。再者,程式化狀態更包括資料程式化目的地之至少一第二記憶體300~30N之區塊的資訊。再者,當使用 至少一第一記憶體100~10N或至少一第二記憶體300~30N時、或探詢程式化狀態時,程式化狀態會被更新。一旦資料從第一記憶體100~10N被程式化到第二記憶體300~30N,控制器200就會記錄程式化狀態。但是,直到使用至少一第一記憶體100~10N或至少一第二記憶體300~30N時,控制器200才會以程式化狀態檢查程式化之結果。因為在此階段,控制器200紀錄關於程式化的基本資訊而沒有進行檢查或檢測,紀錄程式化狀態只需要很短的時間,可避免記憶體系統10被犧牲其效能。 In one embodiment, the stylized state recorded by the controller 200 includes information about the data, information about the first memory 100~10N and the data being programmed from the memory area, and about the second memory 300~30N and the data. Information that is stylized into a memory area. Furthermore, the stylized state further includes information of at least one block of the second memory 300~30N of the data stylized destination. Again, when using The stylized state is updated when at least one first memory 100~10N or at least one second memory 300~30N or when the stylized state is polled. Once the data is programmed from the first memory 100~10N to the second memory 300~30N, the controller 200 records the stylized state. However, until at least one first memory 100~10N or at least one second memory 300~30N is used, the controller 200 checks the stylized result in a stylized state. Because at this stage, the controller 200 records the basic information about the stylization without checking or detecting, it takes only a short time to record the stylized state, and the memory system 10 can be prevented from being sacrificed.

第2A與2B圖係顯示根據本發明一實施例所述之記憶體系統10的程式化之示意圖。一方面,如第2A圖所示,資料DataW與MetaW儲存於第一記憶體100之記憶區域100A與100B,資料DataX與MetaX儲存於第一記憶體101之記憶區域101A與101B,資料DataY與MetaY儲存於第一記憶體102之記憶區域102A與102B,資料DataZ與MetaZ儲存於第一記憶體103之記憶區域103A與103B。另一方面,第一記憶體104、105、106與10N則沒有儲存資料。然後,資料DataW、ÐataX、DataY與DataZ分別被程式化到第二記憶體300、301、302與30N的記憶區域300A、301A、302A與30NA。在此同時,第二記憶體300、301、302與30N的記憶區域300B、301B、302B與30NB仍然是空的,沒有被程式化任何資料。詳細而言,記憶區域300A、301A、302A與30NA為緩衝記憶體(buffer memory),記憶區域300B、301B、302B與30NB為快取記憶體(cache memory)。要注意的是,資料DataW、ÐataX、DataY與DataZ分別被程式化到第二記憶體300、301、302與30N,並且資料DataW、ÐataX、DataY與 DataZ仍然儲存於第一記憶體100、101、102與103直到程式化被檢查為成功。 2A and 2B are diagrams showing the stylization of the memory system 10 according to an embodiment of the present invention. On the one hand, as shown in FIG. 2A, the data DataW and MetaW are stored in the memory areas 100A and 100B of the first memory 100, and the data DataX and MetaX are stored in the memory areas 101A and 101B of the first memory 101, and the data DataY and MetaY are stored. The memory areas 102A and 102B are stored in the first memory 102, and the data DataZ and MetaZ are stored in the memory areas 103A and 103B of the first memory 103. On the other hand, the first memories 104, 105, 106, and 10N have no data to store. Then, the data DataW, ÐataX, DataY, and DataZ are respectively programmed into the memory areas 300A, 301A, 302A, and 30NA of the second memories 300, 301, 302, and 30N. At the same time, the memory areas 300B, 301B, 302B, and 30NB of the second memory 300, 301, 302, and 30N are still empty and are not stylized with any material. In detail, the memory areas 300A, 301A, 302A, and 30NA are buffer memories, and the memory areas 300B, 301B, 302B, and 30NB are cache memories. It should be noted that the data DataW, ÐataX, DataY and DataZ are respectively programmed into the second memory 300, 301, 302 and 30N, and the data DataW, ÐataX, DataY and DataZ is still stored in the first memory 100, 101, 102, and 103 until the stylization is checked as successful.

然後,如第2B圖所示,資料DataA儲存於記憶體區域104A並且被程式化至第二記憶體300的記憶區域300A,資料DataB儲存於記憶體區域105A並且被程式化至第二記憶體301的記憶區域301A,資料DataC儲存於記憶體區域106A並且被程式化至第二記憶體302的記憶區域302A,資料DataD儲存於記憶體區域10NA並且被程式化至第二記憶體30N的記憶區域30NA。此外,資料DataW、ÐataX、DataY與DataZ從記憶區域300A、301A、302A與30NA分別被移轉至記憶區域300B、301B、302B與30NB。 Then, as shown in FIG. 2B, the data DataA is stored in the memory area 104A and is programmed into the memory area 300A of the second memory 300, and the data DataB is stored in the memory area 105A and is programmed into the second memory 301. The memory area 301A, the data DataC is stored in the memory area 106A and is programmed into the memory area 302A of the second memory 302. The data DataD is stored in the memory area 10NA and is programmed into the memory area 30NA of the second memory 30N. . Further, the data DataW, ÐataX, DataY, and DataZ are transferred from the memory areas 300A, 301A, 302A, and 30NA to the memory areas 300B, 301B, 302B, and 30NB, respectively.

記憶系統10的程式化狀態的詳細內容如表格1所示: The details of the stylized state of the memory system 10 are shown in Table 1:

表格1所示的程式化狀態係對應第2A圖與第2B圖的實施例。依據表格1的程式化狀態,第二記憶體300之記憶區域300A(緩衝記憶體)與300B(快取記憶體)儲存了程式化自第一記憶體104與100的資料DataA與DataW。第二記憶體301之記憶區域301A(緩衝記憶體)與301B(快取記憶體)儲存了程式化自第一記憶體105與101的資料DataB與DataX。第二記憶體302之記憶區域302A(緩衝記憶體)與302B(快取記憶體)儲存了程式化自第一記憶體106與102的資料DataC與DataY。第二記憶體30N之記憶區域30NA(緩衝記憶體)與30NB(快取記憶體)儲存了程式化自第一記憶體10N與103的資料DataD與DataZ。 The stylized states shown in Table 1 correspond to the embodiments of Figs. 2A and 2B. According to the stylized state of Table 1, the memory areas 300A (buffer memory) and 300B (cache memory) of the second memory 300 store the data DataA and DataW stylized from the first memories 104 and 100. The memory areas 301A (buffer memory) and 301B (cache memory) of the second memory 301 store data DataB and DataX studded from the first memories 105 and 101. The memory areas 302A (buffer memory) and 302B (cache memory) of the second memory 302 store data DataC and DataY studded from the first memories 106 and 102. The memory area 30NA (buffer memory) and 30NB (cache memory) of the second memory 30N store data DataD and DataZ stylized from the first memories 10N and 103.

在一實施例中,當另一個資料即將被寫入資料程式化來源的至少一第一記憶體100~10N,探詢程式化狀態以檢查資料的程式化是否成功,並且另一個資料不同於該資料。舉例而言,另一個資料DataT不同於資料DataW,即將被寫入第一記憶體100。控制器200探詢程式化狀態以檢查資料的程式化是否成功。如果資料的程式化是成功的,將另一個資料DataT寫入至第一記憶體100,其中資料DataW之前被程式化自第一記憶體100。如果資料的程式化是不成功的,另一個資料DataT將不會被寫入至第一記憶體100,並且第一記憶體100繼續儲存資料DataW直到資料DataW的程式化是成功的。要注意的是,一旦探詢就會更新程式化狀態。 In one embodiment, when another data is about to be written to the at least one first memory 100~10N of the material stylized source, the stylized state is interrogated to check whether the stylization of the data is successful, and the other data is different from the data. . For example, another data DataT is different from the data DataW and is about to be written into the first memory 100. The controller 200 interrogates the stylized state to check if the stylization of the data is successful. If the stylization of the material is successful, another data DataT is written to the first memory 100, wherein the data DataW is previously programmed from the first memory 100. If the stylization of the material is unsuccessful, another data DataT will not be written to the first memory 100, and the first memory 100 continues to store the data DataW until the stylization of the data DataW is successful. It is important to note that the stylized state is updated as soon as the query is made.

可是記憶系統10的程式化狀態的更新內容如表格2所示: However, the updated content of the stylized state of the memory system 10 is as shown in Table 2:

舉例而言,由於資料DataW程式化到記憶區域300B(快取記憶體)是成功的,表格2顯示了更新後的程式化狀態。當第一記憶體100或第二記憶體300的記憶區域300B即將被存取或使用時,控制器200就不需要發出指令去檢查第一記憶體100或第二記憶體300的狀態。因此,藉由即時且動態更新程式化狀態,能夠提升記憶體系統10的效率。 For example, since the data DataW is programmed to the memory area 300B (cache memory) is successful, Table 2 shows the updated stylized state. When the memory area 300B of the first memory 100 or the second memory 300 is about to be accessed or used, the controller 200 does not need to issue an instruction to check the state of the first memory 100 or the second memory 300. Therefore, the efficiency of the memory system 10 can be improved by instantly and dynamically updating the stylized state.

在記錄與檢察程式化狀態後,有多種方法能夠依據第二記憶體300~30N的規格與演算法來處理程式化狀態。在一實施例中,當資料被程式化至快取記憶體時,探詢快取記憶體的程式化狀態(例如第二記憶體300的記憶區域300B)。當資料被程式化到緩衝記憶體時,探詢緩衝記憶體的程式化狀態(例如第二記憶體300的記憶區域300A)。在第2A圖與第2B圖所示的另一實施例中,資料DataW被程式化到第二記憶體300,然後資料DataA被程式化到第二記憶體300。當後面的資料DataA被程式化到與先前資料DataW相同的第二記憶體300與相同的 區塊時,只需要探詢快取記憶體的程式化狀態。當後面的資料並未被程式化到與先前資料相同的第二記憶體與相同的區塊時,需要探詢快取記憶體與緩衝記憶體兩者的程式化狀態。詳細而言,探詢快取記憶體與緩衝記憶體兩者比起只探詢快取記憶體需要花費更多的存取時間。本發明之記憶體控制方法提供了一種可動態調整的探尋方法以處理程式化狀態,降低存取時間以及提升效率。在另一實施例中,當另一個資料即將被寫入未曾使用的第一記憶體時,將不會檢查程式化狀態以節省時間。 After recording and probing the stylized state, there are a number of ways to handle the stylized state based on the specifications and algorithms of the second memory 300~30N. In one embodiment, the stylized state of the cache memory (e.g., memory region 300B of second memory 300) is interrogated when the data is programmed into the cache memory. When the data is programmed into the buffer memory, the stylized state of the buffer memory (e.g., the memory area 300A of the second memory 300) is interrogated. In another embodiment shown in FIGS. 2A and 2B, the data DataW is programmed into the second memory 300, and then the data DataA is programmed into the second memory 300. When the latter data DataA is programmed to the same second memory 300 as the previous data DataW, the same In the block, you only need to query the stylized state of the cache. When the latter data is not programmed into the same second memory and the same block as the previous data, it is necessary to query the stylized state of both the cache memory and the buffer memory. In detail, both the cache memory and the buffer memory require more access time than just polling the cache. The memory control method of the present invention provides a dynamically adjustable seek method to handle stylized states, reduce access time, and improve efficiency. In another embodiment, when another piece of material is about to be written to the first memory that was not used, the stylized state will not be checked to save time.

在一實施例中,當資料即將被讀取自資料程式化來源的至少一第二記憶體300~30N時,探詢程式化狀態以檢查資料的程式化是否成功。一方面,當資料的程式化是成功的,讀取資料程式化到的至少一第二記憶體300~30N的資料。另一方面,當資料的程式化是不成功的,不讀取資料程式化到的至少一第二記憶體300~30N的資料,並且資料程式化來源的至少一第一記憶體100~10N仍然儲存該資料。再者,因為即將讀取第二記憶體300~30N所儲存的資料,探詢第二記憶體300~30N的緩衝記憶體與快取記憶體的程式化狀態。 In one embodiment, when the data is about to be read from at least one second memory 300~30N of the material stylized source, the stylized state is interrogated to check if the stylization of the data is successful. On the one hand, when the stylization of the data is successful, the data is stylized to at least one second memory 300~30N. On the other hand, when the stylization of the data is unsuccessful, the data of at least one second memory 300~30N to which the data is stylized is not read, and at least one first memory 100~10N of the data stylized source is still Save this information. Furthermore, since the data stored in the second memory 300 to 30N is about to be read, the buffered memory of the second memory 300 to 30N and the stylized state of the cache memory are interrogated.

第3A圖係顯示前案所述之順序寫入的程式化之示意圖。如第3A圖所示,資料DataW、ÐataX、DataY與DataZ依序被寫入第二記憶體(NAND)300~303。在韌體以主機移轉和NAND移轉執行資料DataW、ÐataX、DataY與DataZ的依序寫入後,會等待一等待時間T1,一旦寫入完成或程式化完成,就藉由檢查程式化狀態來執行資料DataA、ÐataB、DataC與DataD 的依序寫入。第3B圖係顯示根據本發明一實施例所述之順序寫入的程式化之示意圖。韌體在使用第二記憶體300~303之前檢查程式化狀態,而不是在寫入完成或程式化完成就立即檢查程式化狀態。因此,第3B圖所示的等待時間T2小於第3A圖所示的等待時間T1,因而得到更好的效能。 Fig. 3A is a schematic diagram showing the stylization of the sequential writing described in the previous paragraph. As shown in FIG. 3A, the data DataW, ÐataX, DataY, and DataZ are sequentially written to the second memory (NAND) 300 to 303. After the firmware is sequentially written by the host transfer and NAND transfer data DataW, ÐataX, DataY and DataZ, it waits for a wait time T1, and once the write is completed or the program is completed, the stylized state is checked. To execute data DataA, ÐataB, DataC and DataD Write in order. Figure 3B is a diagram showing the stylization of sequential writing in accordance with an embodiment of the present invention. The firmware checks the stylized state before using the second memory 300~303, instead of checking the stylized state as soon as the write is completed or the program is completed. Therefore, the waiting time T2 shown in Fig. 3B is smaller than the waiting time T1 shown in Fig. 3A, and thus better performance is obtained.

第4A圖係顯示前案所述之隨機寫入的程式化之示意圖,第4B圖係顯示根據本發明一實施例所述之隨機寫入的程式化之示意圖。資料DataW、ÐataX、DataY與DataZ被隨機寫入第二記憶體300~303。如第4A圖與第4B圖所示,因為韌體在使用第二記憶體300~303之前檢查程式化狀態,而不是在寫入完成或程式化完成就立即檢查程式化狀態,因此第4B圖所示的等待時間T4小於第4A圖所示的等待時間T3。 Fig. 4A is a schematic diagram showing the stylization of random writing described in the foregoing, and Fig. 4B is a diagram showing the stylization of random writing according to an embodiment of the present invention. The data DataW, ÐataX, DataY and DataZ are randomly written into the second memory 300~303. As shown in Figures 4A and 4B, because the firmware checks the stylized state before using the second memory 300~303, instead of checking the stylized state immediately after the writing is completed or programmed, the 4B is checked. The waiting time T4 shown is smaller than the waiting time T3 shown in FIG. 4A.

第5圖係顯示根據本發明一實施例所述之記憶體控制方法之示意圖。在步驟S500,紀錄從第一記憶體程式化到第二記憶體的資料的程式化狀態。然後,在步驟S502,當第一或第二記憶體即將被使用,藉由探詢程式化狀態檢查程式化是否成功。如果程式化是不成功的,執行步驟S504,第一記憶體儲存資料直到程式化被檢查為成功。如果程式化是成功的,執行步驟S506,更新程式化狀態。關於紀錄、探詢與處理程式化狀態的詳細步驟如前所述,故此處不再贅述。 Figure 5 is a diagram showing a memory control method according to an embodiment of the present invention. In step S500, the stylized state of the material stylized from the first memory to the second memory is recorded. Then, in step S502, when the first or second memory is about to be used, it is checked whether the stylization is successful by polling the stylized state. If the stylization is unsuccessful, step S504 is performed, and the first memory stores the data until the stylization is checked as successful. If the stylization is successful, step S506 is executed to update the stylized state. The detailed steps for recording, interrogating, and processing stylized states are as described above, so they are not described here.

在本說明書以及申請專利範圍中的序數,例如「第一」、「第二」、「第三」等等,彼此之間並沒有順序上的先後關係,其僅用於標示區分兩個具有相同名字之不同元件。本發明說明書中「耦接」一詞係泛指各種直接或間接之電性連接方 式。 The ordinal numbers in this specification and the scope of the patent application, such as "first", "second", "third", etc., have no sequential relationship with each other, and are only used to indicate that two are identical. Different components of the name. The term "coupled" as used in the specification of the present invention refers to various direct or indirect electrical connections. formula.

本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。 The present invention has been described above with reference to the preferred embodiments thereof, and is not intended to limit the scope of the present invention, and the invention may be modified and modified without departing from the spirit and scope of the invention. The scope of the invention is defined by the scope of the appended claims.

Claims (18)

一種具有一程式化狀態之記憶體系統,包括:一第一記憶體,用以儲存資料;不同於該第一記憶體之一第二記憶體,用以程式化來自該第一記憶體的該資料;以及一控制器,耦接該第二記憶體,用以紀錄該資料從該第一記憶體程式化到該第二記憶體之一程式化狀態,其中當該第一記憶體或該第二記憶體即將被使用時,藉由探詢該程式化狀態檢查該程式化是否成功。 A memory system having a stylized state, comprising: a first memory for storing data; and a second memory different from the first memory for staging the first memory And a controller coupled to the second memory for recording the stylized state of the data from the first memory to the second memory, wherein the first memory or the first When the second memory is about to be used, it is checked whether the stylization is successful by interrogating the stylized state. 如申請專利範圍第1項所述之具有一程式化狀態之記憶體系統,其中當該程式化並未成功時,該第一記憶體儲存該資料直到該程式化被檢查為成功。 A memory system having a stylized state as described in claim 1 wherein, when the stylization is unsuccessful, the first memory stores the data until the stylization is checked as successful. 如申請專利範圍第1項所述之具有一程式化狀態之記憶體系統,其中當該程式化成功時,該控制器更新該程式化狀態。 A memory system having a stylized state as described in claim 1 wherein the controller updates the stylized state when the stylization is successful. 如申請專利範圍第1項所述之具有一程式化狀態之記憶體系統,其中該第一記憶體包括複數個資料區域,該第二記憶體包括複數個資料區域,並且該程式化狀態包括關於該資料的資訊、關於該第一記憶體及該資料被程式化自記憶區域的資訊、關於該第二記憶體及該資料被程式化至記憶區域的資訊。 A memory system having a stylized state as described in claim 1, wherein the first memory includes a plurality of data regions, the second memory includes a plurality of data regions, and the stylized state includes Information about the data, information about the first memory and the data being stylized from the memory area, information about the second memory and the data being stylized into the memory area. 如申請專利範圍第1項所述之具有一程式化狀態之記憶體系統,其中該第二記憶體包括一第二緩衝記憶體以及一第二快取記憶體。 A memory system having a stylized state as described in claim 1, wherein the second memory comprises a second buffer memory and a second cache memory. 如申請專利範圍第5項所述之具有一程式化狀態之記憶體系 統,其中該控制器使用一表格以記錄該程式化狀態,並且該表格係紀錄該第二記憶體之該第二緩衝記憶體以及該第二快取記憶體所儲存之該資料。 A memory system having a stylized state as described in claim 5 The controller uses a table to record the stylized state, and the table records the second buffer memory of the second memory and the data stored by the second cache. 如申請專利範圍第5項所述之具有一程式化狀態之記憶體系統,其中該資料係優先被程式化至該第二緩衝記憶體,再被程式化至該第二快取記憶體。 A memory system having a stylized state as described in claim 5, wherein the data is preferentially programmed into the second buffer memory and then programmed into the second cache memory. 如申請專利範圍第7項所述之具有一程式化狀態之記憶體系統,其中當該資料被程式化至該第二快取記憶體時,該第二快取記憶體之該程式化狀態會被探詢。 A memory system having a stylized state as described in claim 7 wherein the stylized state of the second cache memory is when the data is programmed to the second cache memory Being inquired. 如申請專利範圍第8項所述之具有一程式化狀態之記憶體系統,其中當該資料被程式化至該第二緩衝記憶體時,該第二快取記憶體以及該第二緩衝記憶體之該程式化狀態會被探詢。 A memory system having a stylized state as described in claim 8 wherein the second cache memory and the second buffer memory are when the data is programmed into the second buffer memory. This stylized state will be queried. 一種具有一程式化狀態之記憶體控制方法,包括:藉由一第一記憶體儲存一資料;將該資料程式化至不同於該第一記憶體之一第二記憶體,並且記錄自該第一記憶體程式化至一第二記憶體之該資料之一程式化狀態;以及當該第一記憶體或該第二記憶體即將被使用時,藉由探詢該程式化狀態檢查該程式化是否成功。 A memory control method having a stylized state, comprising: storing a data by a first memory; staging the data to a second memory different from the first memory, and recording from the first a memory stylized to a stylized state of the data of a second memory; and when the first memory or the second memory is about to be used, checking whether the stylization is by interrogating the stylized state success. 如申請專利範圍第10項所述之具有一程式化狀態之記憶體控制方法,其中當該程式化並未成功時,藉由該第一記憶體儲存該資料直到該程式化被檢查為成功。 A memory control method having a stylized state as described in claim 10, wherein when the stylization is unsuccessful, the data is stored by the first memory until the stylization is checked as successful. 如申請專利範圍第10項所述之具有一程式化狀態之記憶體 控制方法,其中當該程式化成功時,更新該程式化狀態。 A memory having a stylized state as described in claim 10 A control method in which the stylized state is updated when the stylization is successful. 如申請專利範圍第10項所述之具有一程式化狀態之記憶體控制方法,其中該第一記憶體包括複數個資料區域,該第二記憶體包括複數個資料區域,並且該程式化狀態包括關於該資料的資訊、關於該第一記憶體及該資料被程式化自記憶區域的資訊、關於該第二記憶體及該資料被程式化至記憶區域的資訊。 A memory control method having a stylized state as described in claim 10, wherein the first memory includes a plurality of data regions, the second memory includes a plurality of data regions, and the stylized state includes Information about the data, information about the first memory and the data being stylized from the memory area, information about the second memory and the data being stylized into the memory area. 如申請專利範圍第10項所述之具有一程式化狀態之記憶體控制方法,其中該第二記憶體包括一第二緩衝記憶體以及一第二快取記憶體。 A memory control method having a stylized state as described in claim 10, wherein the second memory comprises a second buffer memory and a second cache memory. 如申請專利範圍第14項所述之具有一程式化狀態之記憶體控制方法,更包括:使用一表格以記錄該程式化狀態,並且該表格係紀錄該第二記憶體之該第二緩衝記憶體以及該第二快取記憶體所儲存之該資料。 The memory control method having a stylized state as described in claim 14 further includes: using a table to record the stylized state, and the form is to record the second buffer memory of the second memory. And the data stored by the second cache. 如申請專利範圍第14項所述之具有一程式化狀態之記憶體控制方法,其中該資料係優先被程式化至該第二緩衝記憶體,再被程式化至該第二快取記憶體。 A memory control method having a stylized state as described in claim 14 wherein the data is preferentially programmed into the second buffer memory and then programmed into the second cache memory. 如申請專利範圍第16項所述之具有一程式化狀態之記憶體控制方法,其中當該資料被程式化至該第二快取記憶體時,探詢該第二快取記憶體之該程式化狀態。 A memory control method having a stylized state as described in claim 16 wherein when the data is programmed into the second cache, the stylization of the second cache memory is interrogated. status. 如申請專利範圍第17項所述之具有一程式化狀態之記憶體控制方法,其中當該資料被程式化至該第二緩衝記憶體時,探詢該第二快取記憶體以及該第二緩衝記憶體之該程式化 狀態。 A memory control method having a stylized state as described in claim 17 wherein when the data is programmed into the second buffer memory, the second cache memory and the second buffer are interrogated. Stylization of memory status.
TW106122827A 2015-01-23 2015-12-29 Memory system and memory-control method with a programming status TWI637399B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/604,358 US10169225B2 (en) 2015-01-23 2015-01-23 Memory system and memory-control method with a programming status
US14/604,358 2015-01-23

Publications (2)

Publication Number Publication Date
TW201735025A TW201735025A (en) 2017-10-01
TWI637399B true TWI637399B (en) 2018-10-01

Family

ID=56433301

Family Applications (2)

Application Number Title Priority Date Filing Date
TW104144174A TWI602194B (en) 2015-01-23 2015-12-29 Memory system and memory-control method with a programming status
TW106122827A TWI637399B (en) 2015-01-23 2015-12-29 Memory system and memory-control method with a programming status

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW104144174A TWI602194B (en) 2015-01-23 2015-12-29 Memory system and memory-control method with a programming status

Country Status (3)

Country Link
US (1) US10169225B2 (en)
CN (1) CN105824575B (en)
TW (2) TWI602194B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI640867B (en) * 2017-05-02 2018-11-11 慧榮科技股份有限公司 Data storage device and operating method therefor
CN110955387B (en) * 2019-10-25 2023-10-24 合肥沛睿微电子股份有限公司 Method for adaptively identifying flash memory type and computer readable storage medium and device
TWI740268B (en) * 2019-11-08 2021-09-21 大陸商合肥沛睿微電子股份有限公司 Self-adaptive method for identifying flash memory type and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742792A (en) * 1993-04-23 1998-04-21 Emc Corporation Remote data mirroring
US6044444A (en) * 1996-05-28 2000-03-28 Emc Corporation Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected
US6236593B1 (en) * 1999-04-27 2001-05-22 Samsung Electronics Co., Ltd. Method for simultaneously programming plural flash memories having invalid blocks
US20080229000A1 (en) * 2007-03-12 2008-09-18 Samsung Electronics Co., Ltd. Flash memory device and memory system
US7606940B2 (en) * 2003-06-23 2009-10-20 Hitachi, Ltd. Remote copy system
US8443167B1 (en) * 2009-12-16 2013-05-14 Western Digital Technologies, Inc. Data storage device employing a run-length mapping table and a single address mapping table

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7440327B1 (en) * 2007-04-25 2008-10-21 Sandisk Corporation Non-volatile storage with reduced power consumption during read operations
US7606079B2 (en) * 2007-04-25 2009-10-20 Sandisk Corporation Reducing power consumption during read operations in non-volatile storage

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742792A (en) * 1993-04-23 1998-04-21 Emc Corporation Remote data mirroring
US6044444A (en) * 1996-05-28 2000-03-28 Emc Corporation Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected
US6236593B1 (en) * 1999-04-27 2001-05-22 Samsung Electronics Co., Ltd. Method for simultaneously programming plural flash memories having invalid blocks
US7606940B2 (en) * 2003-06-23 2009-10-20 Hitachi, Ltd. Remote copy system
US20080229000A1 (en) * 2007-03-12 2008-09-18 Samsung Electronics Co., Ltd. Flash memory device and memory system
US8443167B1 (en) * 2009-12-16 2013-05-14 Western Digital Technologies, Inc. Data storage device employing a run-length mapping table and a single address mapping table

Also Published As

Publication number Publication date
CN105824575A (en) 2016-08-03
TWI602194B (en) 2017-10-11
US10169225B2 (en) 2019-01-01
CN105824575B (en) 2019-06-18
TW201735025A (en) 2017-10-01
US20160217067A1 (en) 2016-07-28
TW201629957A (en) 2016-08-16

Similar Documents

Publication Publication Date Title
US9563551B2 (en) Data storage device and data fetching method for flash memory
TWI692690B (en) Method for accessing flash memory module and associated flash memory controller and electronic device
JP2014026635A5 (en)
TWI637399B (en) Memory system and memory-control method with a programming status
US20110060863A1 (en) Controller
TWI659304B (en) Method for accessing flash memory module and associated flash memory controller and electronic device
TW201523253A (en) Data storage device and data accessing method
TW201839612A (en) Solid state drive, method thereof and article
TWI584117B (en) Data storage device and data fetching method for flash memory
CN106547701B (en) Memory device and data reading method
TWI617917B (en) Data storage method for optimizing data storage device and its data storage device
JP2006172206A5 (en)
TWI519951B (en) Data storage device and flash memory control method
JP2009123191A (en) Nor-interface flash memory device and method of accessing the same
US10990323B2 (en) Flash memory controller, memory device and method for accessing flash memory module
TWI601141B (en) Access method of flash memory and associated memory controller and electronic device
JP5520098B2 (en) Data processing method, program, and system
JP2003256269A (en) Control method for nonvolatile storage device, and memory device
JP2007531085A5 (en)
TWI614684B (en) Field firmware upgrading method and computer-readable medium
CN105988832B (en) Memory card data processing method and system
TW201438018A (en) Error correction method and memory device
TWI587141B (en) Storage device and data access method thereof
JP5487725B2 (en) Information processing apparatus, information processing method, and information processing program
JP4583981B2 (en) Image processing device