TWI575374B - 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元 - Google Patents
映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元 Download PDFInfo
- Publication number
- TWI575374B TWI575374B TW104125306A TW104125306A TWI575374B TW I575374 B TWI575374 B TW I575374B TW 104125306 A TW104125306 A TW 104125306A TW 104125306 A TW104125306 A TW 104125306A TW I575374 B TWI575374 B TW I575374B
- Authority
- TW
- Taiwan
- Prior art keywords
- entity
- logical
- mapping information
- mapping table
- memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Description
本發明是有關於一種記憶體管理機制,且特別是有關於一種映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
一般來說,使用可複寫式非揮發性記憶體模組的記憶體儲存裝置是藉由查詢或修改用以記錄邏輯位址與實體位址之間的映射關係(即,邏輯至實體映射關係)的邏輯至實體映射表格來存取資料。當邏輯至實體映射表格中的某一個邏輯位址的邏輯至實體映射關係改變時,就需要將相關的邏輯至實體映射表格讀取到記憶體儲存裝置的緩衝記憶體中來更新相關的邏輯至實體映射關係並且將更新後的邏輯至實體映射表格回存到可複寫式非揮發性記憶體模組中。
然而,對於邏輯至實體映射表格的太頻繁存取可能會減少可複寫式非揮發性記憶體模組的使用壽命。因此,對於某些特定類型的記憶體儲存裝置來說,其會進一步導入實體至邏輯映射表格。例如,當某一筆來自主機系統的資料被儲存至記憶體儲存裝置時,與此筆資料有關的實體至邏輯映射資訊會先被記錄至緩衝記憶體中的一個實體至邏輯映射表格並且此實體至邏輯映射表格中的資訊會隨著相對應的資料被儲存至可複寫式非揮發性記憶體模組中。爾後,當緩衝記憶體中的某一個實體至邏輯映射表格被寫滿時,此實體至邏輯映射表格所記載的多筆資訊會被用來更新邏輯至實體映射表格。藉此,可減少讀取並回存邏輯至實體映射表格的頻率。
然而,在某些情況下,若主機系統所指示存取的某一邏輯位址的邏輯至實體映射資訊已經存在於緩衝記憶體中,則此邏輯位址的邏輯至實體映射資訊當下可能會直接在緩衝記憶體中進行更新。因此,持續將此邏輯位址的實體至邏輯映射資訊維護在緩衝記憶體中顯然是不必要的,並且會造成緩衝記憶體的空間無謂的浪費。
有鑑於此,本發明提供一種映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元,可在緩衝記憶體中適應性地更新不需要的實體至邏輯映射資訊,從而節省緩衝記憶體空間。
本發明的一範例實施例提供一種映射表格更新方法,其用於可複寫式非揮發性記憶體模組,所述映射表格更新方法包括:接收寫入指令與對應於所述寫入指令的寫入資料;將對應於所述寫入資料的實體至邏輯映射資訊記錄至暫存於緩衝記憶體的第一映射表格中;根據所述第一映射表格將對應於所述寫入資料的所述實體至邏輯映射資訊儲存至所述可複寫式非揮發性記憶體模組中的實體單元,其儲存有所述寫入資料的至少部分資料;更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊,其中更新後的所述實體至邏輯映射資訊僅包括對應於所述寫入資料的所述實體至邏輯映射資訊的部分資訊;以及根據所述第一映射表格所記錄之更新後的所述實體至邏輯映射資訊來更新第二映射表格。
在本發明的一範例實施例中,將對應於所述寫入資料的所述實體至邏輯映射資訊記錄至所述第一映射表格中的步驟包括:在所述第一映射表格中保留第一區域;以及將對應於所述寫入資料的所述實體至邏輯映射資訊記錄至所述第一映射表格中的第二區域。
在本發明的一範例實施例中,更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊的步驟包括:移除記錄於所述第二區域的對應於所述寫入資料的所述實體至邏輯映射資訊;以及將更新後的所述實體至邏輯映射資訊紀錄至所述第一區域中。
在本發明的一範例實施例中,所述寫入資料包括第一寫入資料與第二寫入資料,更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊的步驟包括:將對應於所述第一寫入資料的所述實體至邏輯映射資訊保留於所述第一映射表格中;以及將對應於所述第二寫入資料的所述實體至邏輯映射資訊從所述第一映射表格中移除。
在本發明的一範例實施例中,當接收到所述寫入指令時,用以儲存所述第二寫入資料的邏輯單元的邏輯至實體映射資訊是暫存於所述緩衝記憶體中。
在本發明的一範例實施例中,所述第一映射表格為實體至邏輯映射表格,所述第二映射表格為邏輯至實體映射表格。
在本發明的一範例實施例中,更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊的步驟僅在更新後的所述實體至邏輯映射資訊的資料大小不大於預設大小時執行。
在本發明的一範例實施例中,更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊的步驟包括:判斷用以儲存所述寫入資料的至少一邏輯單元的邏輯至實體映射資訊是否暫存於所述緩衝記憶體中;若用以儲存所述寫入資料中的第一寫入資料的邏輯單元的所述邏輯至實體映射資訊非暫存於所述緩衝記憶體中,將對應於所述第一寫入資料的所述實體至邏輯映射資訊保留於所述第一映射表格中;以及若用以儲存所述寫入資料中的第二寫入資料的邏輯單元的所述邏輯至實體映射資訊是暫存於所述緩衝記憶體中,將對應於所述第二寫入資料的所述實體至邏輯映射資訊從所述第一映射表格中移除。
在本發明的一範例實施例中,更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊的步驟包括:判斷暫存於所述緩衝記憶體中的所述第一映射表格中是否存在同一個邏輯單元的多筆實體至邏輯映射資訊;以及若暫存於所述緩衝記憶體中的所述第一映射表格中存在所述同一個邏輯單元的所述實體至邏輯映射資訊,只保留所述同一個邏輯單元的所述實體至邏輯映射資訊的其中一筆資訊於所述第一映射表格中。
本發明的另一範例實施例提供一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組及記憶體控制電路單元。所述連接介面單元用以耦接至主機系統。所述記憶體控制電路單元耦接至所述連接介面單元與所述可複寫式非揮發性記憶體模組,所述記憶體控制電路單元用以接收寫入指令與對應於所述寫入指令的寫入資料,所述記憶體控制電路單元更用以將對應於所述寫入資料的實體至邏輯映射資訊記錄至暫存於緩衝記憶體的第一映射表格中,所述記憶體控制電路單元更用以根據暫存於所述緩衝記憶體中的所述第一映射表格發送寫入指令序列,以指示將對應於所述寫入資料的所述實體至邏輯映射資訊儲存至所述可複寫式非揮發性記憶體模組中的實體單元,其儲存有所述寫入資料中的至少部分資料,所述記憶體控制電路單元更用以更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊,更新後的所述實體至邏輯映射資訊僅包括對應於所述寫入資料的所述實體至邏輯映射資訊的部分資訊,所述記憶體控制電路單元更用以根據所述第一映射表格所記錄之更新後的所述實體至邏輯映射資訊來更新第二映射表格。
在本發明的一範例實施例中,所述記憶體控制電路單元將對應於所述寫入資料的所述實體至邏輯映射資訊記錄至所述第一映射表格中的操作包括:在所述第一映射表格中保留第一區域;以及將對應於所述寫入資料的所述實體至邏輯映射資訊記錄至所述第一映射表格中的第二區域。
在本發明的一範例實施例中,所述記憶體控制電路單元更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊的操作包括:移除記錄於所述第二區域的對應於所述寫入資料的所述實體至邏輯映射資訊;以及將更新後的所述實體至邏輯映射資訊紀錄至所述第一區域中。
在本發明的一範例實施例中,所述寫入資料包括第一寫入資料與第二寫入資料,所述記憶體控制電路單元更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊的操作包括:將對應於所述第一寫入資料的所述實體至邏輯映射資訊保留於所述第一映射表格中;以及將對應於所述第二寫入資料的所述實體至邏輯映射資訊從所述第一映射表格中移除。
在本發明的一範例實施例中,當接收到所述寫入指令時,用以儲存所述第二寫入資料的邏輯單元的邏輯至實體映射資訊是暫存於所述緩衝記憶體中。
在本發明的一範例實施例中,所述第一映射表格為實體至邏輯映射表格,所述第二映射表格為邏輯至實體映射表格。
在本發明的一範例實施例中,更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊的操作僅在更新後的所述實體至邏輯映射資訊的資料大小不大於預設大小時執行。
在本發明的一範例實施例中,所述記憶體控制電路單元更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊的操作包括:判斷用以儲存所述寫入資料的至少一邏輯單元的邏輯至實體映射資訊是否暫存於所述緩衝記憶體中;若用以儲存所述寫入資料中的第一寫入資料的邏輯單元的所述邏輯至實體映射資訊非暫存於所述緩衝記憶體中,將對應於所述第一寫入資料的所述實體至邏輯映射資訊保留於所述第一映射表格中;以及若用以儲存所述寫入資料中的第二寫入資料的邏輯單元的所述邏輯至實體映射資訊是暫存於所述緩衝記憶體中,將對應於所述第二寫入資料的所述實體至邏輯映射資訊從所述第一映射表格中移除。
在本發明的一範例實施例中,所述記憶體控制電路單元更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊的操作包括:判斷暫存於所述緩衝記憶體中的所述第一映射表格中是否存在同一個邏輯單元的多筆實體至邏輯映射資訊;以及若暫存於所述緩衝記憶體中的所述第一映射表格中存在所述同一個邏輯單元的所述實體至邏輯映射資訊,只保留所述同一個邏輯單元的所述實體至邏輯映射資訊的其中一筆資訊於所述第一映射表格中。
本發明的另一範例實施例提供一種記憶體控制電路單元,其用於控制可複寫式非揮發性記憶體模組,所述記憶體控制電路單元包括主機介面、記憶體介面、緩衝記憶體及記憶體管理電路。所述主機介面用以耦接至主機系統。所述記憶體介面用以耦接至所述可複寫式非揮發性記憶體模組。所述記憶體管理電路耦接至所述主機介面、所述記憶體介面及所述緩衝記憶體。所述記憶體管理電路用以接收寫入指令與對應於所述寫入指令的寫入資料,所述記憶體管理電路更用以將對應於所述寫入資料的實體至邏輯映射資訊記錄至暫存於所述緩衝記憶體的第一映射表格中,所述記憶體管理電路更用以根據暫存於所述緩衝記憶體中的所述第一映射表格發送寫入指令序列,以指示將對應於所述寫入資料的所述實體至邏輯映射資訊儲存至所述可複寫式非揮發性記憶體模組中的實體單元,其儲存有所述寫入資料中的至少部分資料,所述記憶體管理電路更用以更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊,更新後的所述實體至邏輯映射資訊僅包括對應於所述寫入資料的所述實體至邏輯映射資訊的部分資訊,所述記憶體管理電路更用以根據所述第一映射表格所記錄之更新後的所述實體至邏輯映射資訊來更新第二映射表格。
在本發明的一範例實施例中,所述記憶體管理電路將對應於所述寫入資料的所述實體至邏輯映射資訊記錄至所述第一映射表格中的操作包括:在所述第一映射表格中保留第一區域;以及將對應於所述寫入資料的所述實體至邏輯映射資訊記錄至所述第一映射表格中的第二區域。
在本發明的一範例實施例中,所述記憶體管理電路更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊的操作包括:移除記錄於所述第二區域的對應於所述寫入資料的所述實體至邏輯映射資訊;以及將更新後的所述實體至邏輯映射資訊紀錄至所述第一區域中。
在本發明的一範例實施例中,所述寫入資料包括第一寫入資料與第二寫入資料,所述記憶體管理電路更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊的操作包括:將對應於所述第一寫入資料的所述實體至邏輯映射資訊保留於所述第一映射表格中;以及將對應於所述第二寫入資料的所述實體至邏輯映射資訊從所述第一映射表格中移除。
在本發明的一範例實施例中,當接收到所述寫入指令時,用以儲存所述第二寫入資料的邏輯單元的邏輯至實體映射資訊是暫存於所述緩衝記憶體中。
在本發明的一範例實施例中,所述第一映射表格為實體至邏輯映射表格,所述第二映射表格為邏輯至實體映射表格。
在本發明的一範例實施例中,更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊的操作僅在更新後的所述實體至邏輯映射資訊的資料大小不大於預設大小時執行。
在本發明的一範例實施例中,所述記憶體管理電路更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊的操作包括:判斷用以儲存所述寫入資料的至少一邏輯單元的邏輯至實體映射資訊是否暫存於所述緩衝記憶體中;若用以儲存所述寫入資料中的第一寫入資料的邏輯單元的所述邏輯至實體映射資訊非暫存於所述緩衝記憶體中,將對應於所述第一寫入資料的所述實體至邏輯映射資訊保留於所述第一映射表格中;以及若用以儲存所述寫入資料中的第二寫入資料的邏輯單元的所述邏輯至實體映射資訊是暫存於所述緩衝記憶體中,將對應於所述第二寫入資料的所述實體至邏輯映射資訊從所述第一映射表格中移除。
在本發明的一範例實施例中,所述記憶體管理電路更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊的操作包括:判斷暫存於所述緩衝記憶體的所述第一映射表格中是否存在同一個邏輯單元的多筆實體至邏輯映射資訊;以及若暫存於所述緩衝記憶體的所述第一映射表格中存在所述同一個邏輯單元的所述實體至邏輯映射資訊,只保留所述同一個邏輯單元的所述實體至邏輯映射資訊的其中一筆資訊於所述第一映射表格中。
基於上述,在將某一筆寫入資料的實體至邏輯映射資訊從緩衝記憶體儲存至可複寫式非揮發性記憶體模組之後,此寫入資料的實體至邏輯映射資訊會在緩衝記憶體中被更新,以嘗試在緩衝記憶體中釋放出更多的可用空間。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。圖2是根據本發明的一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
請參照圖1,主機系統11一般包括電腦12與輸入/輸出(input/output, I/O)裝置13。電腦12包括微處理器122、隨機存取記憶體(random access memory, RAM)124、系統匯流排126與資料傳輸介面128。輸入/輸出裝置13包括如圖2的滑鼠21、鍵盤22、顯示器23與印表機24。必須瞭解的是,圖2所示的裝置非限制輸入/輸出裝置13,輸入/輸出裝置13可更包括其他裝置。
在一範例實施例中,記憶體儲存裝置10是透過資料傳輸介面128與主機系統11的其他元件耦接。藉由微處理器122、隨機存取記憶體124與輸入/輸出裝置13的運作可將資料寫入至記憶體儲存裝置10或從記憶體儲存裝置10中讀取資料。例如,記憶體儲存裝置10可以是如圖2所示的隨身碟25、記憶卡26或固態硬碟(Solid State Drive, SSD)27等的可複寫式非揮發性記憶體儲存裝置。
圖3是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
一般而言,主機系統11為可實質地與記憶體儲存裝置10配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統11是以電腦系統來作說明,然而,另一範例實施例中,主機系統11可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機(攝影機)31時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡32、MMC卡33、記憶棒(memory stick)34、CF卡35或嵌入式儲存裝置36(如圖3所示)。嵌入式儲存裝置36包括嵌入式多媒體卡(Embedded MMC, eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
請參照圖4,記憶體儲存裝置10包括連接介面單元402、記憶體控制電路單元404與可複寫式非揮發性記憶體模組406。
在本範例實施例中,連接介面單元402是相容於序列先進附件(Serial Advanced Technology Attachment, SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元402亦可以是符合並列先進附件(Parallel Advanced Technology Attachment, PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers, IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express, PCI Express)標準、通用序列匯流排(Universal Serial Bus, USB)標準、安全數位(Secure Digital, SD)介面標準、超高速一代(Ultra High Speed-I, UHS-I)介面標準、超高速二代(Ultra High Speed-II, UHS-II)介面標準、記憶棒(Memory Stick, MS)介面標準、多媒體儲存卡(Multi Media Card, MMC)介面標準、崁入式多媒體儲存卡(Embedded Multimedia Card, eMMC)介面標準、通用快閃記憶體(Universal Flash Storage, UFS)介面標準、小型快閃(Compact Flash, CF)介面標準、整合式驅動電子介面(Integrated Device Electronics, IDE)標準或其他適合的標準。連接介面單元402可與記憶體控制電路單元404封裝在一個晶片中,或者連接介面單元402是佈設於一包含記憶體控制電路單元404之晶片外。
記憶體控制電路單元404用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令並且根據主機系統11的指令在可複寫式非揮發性記憶體模組406中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組406是耦接至記憶體控制電路單元404並且用以儲存主機系統11所寫入之資料。可複寫式非揮發性記憶體模組406可以是單階記憶胞(Single Level Cell, SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元資料的快閃記憶體模組)、多階記憶胞(Multi Level Cell, MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元資料的快閃記憶體模組)、複數階記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元資料的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖5是根據本發明的一範例實施例所繪示的可複寫式非揮發性記憶體模組的概要方塊圖。圖6是根據本發明的一範例實施例所繪示的記憶胞陣列的示意圖。
請參照圖5,可複寫式非揮發性記憶體模組406包括記憶胞陣列502、字元線控制電路504、位元線控制電路506、行解碼器(column decoder)508、資料輸入/輸出緩衝器510與控制電路512。
在本範例實施例中,記憶胞陣列502可包括用以儲存資料的多個記憶胞602、多個選擇閘汲極(select gate drain, SGD)電晶體612與多個選擇閘源極(select gate source, SGS)電晶體614、以及連接此些記憶胞的多條位元線604、多條字元線606、與共用源極線608(如圖6所示)。記憶胞602是以陣列方式(或立體堆疊的方式)配置在位元線604與字元線606的交叉點上。當從記憶體控制電路單元404接收到寫入指令或讀取指令時,控制電路512會控制字元線控制電路504、位元線控制電路506、行解碼器508、資料輸入/輸出緩衝器510來寫入資料至記憶胞陣列502或從記憶胞陣列502中讀取資料,其中字元線控制電路504用以控制施予至字元線606的電壓,位元線控制電路506用以控制施予至位元線604的電壓,行解碼器508依據指令中的列位址以選擇對應的位元線,並且資料輸入/輸出緩衝器510用以暫存資料。
可複寫式非揮發性記憶體模組406中的每一個記憶胞是以臨界電壓的改變來儲存一或多個位元。具體來說,每一個記憶胞的控制閘極(control gate)與通道之間有一個電荷捕捉層。透過施予一寫入電壓至控制閘極,可以改變電荷補捉層的電子量,因而改變了記憶胞的臨界電壓。此改變臨界電壓的程序亦稱為“把資料寫入至記憶胞”或“程式化記憶胞”。隨著臨界電壓的改變,記憶胞陣列502的每一個記憶胞具有多個儲存狀態。並且透過讀取電壓可以判斷記憶胞是屬於哪一個儲存狀態,藉此取得記憶胞所儲存的一或多個位元。
圖7是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。
請參照圖7,記憶體控制電路單元404包括記憶體管理電路702、主機介面704、記憶體介面706、錯誤檢查與校正電路708及緩衝記憶體710。
記憶體管理電路702用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路702具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。以下說明記憶體管理電路702的操作時,等同於說明記憶體控制電路單元404的操作。
在本範例實施例中,記憶體管理電路702的控制指令是以韌體型式來實作。例如,記憶體管理電路702具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在另一範例實施例中,記憶體管理電路702的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路702具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當記憶體控制電路單元404被致能時,微處理器單元會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組406中之控制指令載入至記憶體管理電路702的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在另一範例實施例中,記憶體管理電路702的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路702包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路是耦接至微控制器。其中,記憶胞管理電路用以管理可複寫式非揮發性記憶體模組406的實體抹除單元;記憶體寫入電路用以對可複寫式非揮發性記憶體模組406下達寫入指令序列以將資料寫入至可複寫式非揮發性記憶體模組406中;記憶體讀取電路用以對可複寫式非揮發性記憶體模組406下達讀取指令序列以從可複寫式非揮發性記憶體模組406中讀取資料;記憶體抹除電路用以對可複寫式非揮發性記憶體模組406下達抹除指令序列以將資料從可複寫式非揮發性記憶體模組406中抹除;而資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組406的資料以及從可複寫式非揮發性記憶體模組406中讀取的資料。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程式碼或指令碼並且用以指示可複寫式非揮發性記憶體模組406執行相對應的寫入、讀取及抹除等操作。
主機介面704是耦接至記憶體管理電路702並且用以接收與識別主機系統11所傳送的指令與資料。也就是說,主機系統11所傳送的指令與資料會透過主機介面704來傳送至記憶體管理電路702。在本範例實施例中,主機介面704是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面704亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面706是耦接至記憶體管理電路702並且用以存取可複寫式非揮發性記憶體模組406。也就是說,欲寫入至可複寫式非揮發性記憶體模組406的資料會經由記憶體介面706轉換為可複寫式非揮發性記憶體模組406所能接受的格式。具體來說,若記憶體管理電路702要存取可複寫式非揮發性記憶體模組406,記憶體介面706會傳送對應的指令序列。例如,這些指令序列可包括指示寫入資料的寫入指令序列、指示讀取資料的讀取指令序列、指示抹除資料的抹除指令序列、以及用以指示各種記憶體操作(例如,改變讀取電壓準位或執行垃圾回收程序等等)的相對應的指令序列,在此不一一贅述。這些指令序列例如是由記憶體管理電路702產生並且透過記憶體介面706傳送至可複寫式非揮發性記憶體模組406。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。這些訊號或資料可包括指令碼或程式碼。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
錯誤檢查與校正電路708是耦接至記憶體管理電路702並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路702從主機系統11中接收到寫入指令時,錯誤檢查與校正電路708會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code, ECC)及/或錯誤檢查碼(error detecting code,EDC),並且記憶體管理電路702會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組406中。之後,當記憶體管理電路702從可複寫式非揮發性記憶體模組406中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路708會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正程序。
緩衝記憶體710是耦接至記憶體管理電路702並且用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料。
在一範例實施例中,記憶體控制電路單元404還包括電源管理電路712。電源管理電路712是耦接至記憶體管理電路702並且用以控制記憶體儲存裝置10的電源。
圖8是根據本發明的一範例實施例所繪示之管理可複寫式非揮發性記憶體模組的示意圖。必須瞭解的是,在此描述可複寫式非揮發性記憶體模組406之實體抹除單元的運作時,以“選擇”、“分組”、“劃分”、“關聯”等詞來操作實體抹除單元是邏輯上的概念。也就是說,可複寫式非揮發性記憶體模組之實體抹除單元的實際位置並未更動,而是邏輯上對可複寫式非揮發性記憶體模組的實體抹除單元進行操作。
可複寫式非揮發性記憶體模組406的記憶胞會構成多個實體程式化單元,並且此些實體程式化單元會構成多個實體抹除單元。具體來說,同一條字元線上的記憶胞會組成一或多個實體程式化單元。若每一個記憶胞可儲存2個以上的位元,則同一條字元線上的實體程式化單元至少可被分類為下實體程式化單元與上實體程式化單元。例如,一記憶胞的最低有效位元(Least Significant Bit,LSB)是屬於下實體程式化單元,並且一記憶胞的最高有效位元(Most Significant Bit,MSB)是屬於上實體程式化單元。一般來說,在MLC NAND型快閃記憶體中,下實體程式化單元的寫入速度會大於上實體程式化單元的寫入速度,或下實體程式化單元的可靠度是高於上實體程式化單元的可靠度。在此範例實施例中,實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。例如,實體程式化單元為實體頁面或是實體扇(sector)。若實體程式化單元為實體頁面,則每一個實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體扇,用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,錯誤更正碼)。在本範例實施例中,資料位元區包含32個實體扇,且一個實體扇的大小為512位元組(byte, B)。然而,在其他範例實施例中,資料位元區中也可包含8個、16個或數目更多或更少的實體扇,並且每一個實體扇的大小也可以是更大或更小。另一方面,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。例如,實體抹除單元為實體區塊。
請參照圖8,記憶體管理電路702可將可複寫式非揮發性記憶體模組406的實體抹除單元800(0)~800(R)邏輯地劃分為多個區域,例如為儲存區802與系統區806。
儲存區802的實體抹除單元是用以儲存來自主機系統11的資料。儲存區802中會儲存有效資料與無效資料。例如,當主機系統要刪除一份有效資料時,被刪除的資料可能還是儲存在儲存區802中,但會被標記為無效資料。沒有儲存有效資料的實體抹除單元亦被稱為閒置(spare)實體抹除單元。例如,被抹除以後的實體抹除單元便會成為閒置實體抹除單元。若儲存區802或系統區806中有實體抹除單元損壞時,儲存區802中的實體抹除單元也可以用來替換損壞的實體抹除單元。倘若儲存區802中沒有可用的實體抹除單元來替換損壞的實體抹除單元時,則記憶體管理電路702可能會將整個記憶體儲存裝置10宣告為寫入保護(write protect)狀態,而無法再寫入資料。此外,有儲存有效資料的實體抹除單元亦被稱為非閒置(non-spare)實體抹除單元。
系統區806的實體抹除單元是用以記錄系統資料,其中此系統資料包括關於記憶體晶片的製造商與型號、記憶體晶片的實體抹除單元數、每一實體抹除單元的實體程式化單元數等。
儲存區802與系統區806的實體抹除單元的數量會依據不同的記憶體規格而有所不同。此外,必須瞭解的是,在記憶體儲存裝置10的運作中,實體抹除單元關聯至儲存區802與系統區806的分組關係可能會動態地變動。例如,當系統區806中的實體抹除單元損壞而被儲存區802的實體抹除單元取代時,則原本在儲存區802的實體抹除單元會被關聯至系統區806。
記憶體管理電路702會配置邏輯單元810(0)~810(D)以映射至儲存區802中的實體抹除單元800(0)~800(A)。例如,在本範例實施例中,主機系統11是透過邏輯位址來存取儲存區802中的資料,因此,每一個邏輯單元810(0)~810(D)是指一個邏輯位址。此外,在一範例實施例中,每一個邏輯單元810(0)~810(D)也可以是指一個邏輯扇、一個邏輯程式化單元、一個邏輯抹除單元或者由多個連續的邏輯位址組成。每一個邏輯單元810(0)~810(D)是映射至一或多個實體單元。在本範例實施例中,一個實體單元是指一個實體抹除單元。然而,在另一範例實施例中,一個實體單元也可以是一個實體位址、一個實體扇、一個實體程式化單元或者是由多個連續的實體位址組成,本發明不加以限制。
記憶體管理電路702會將邏輯單元與實體單元之間的映射關係(即,邏輯至實體映射資訊)記錄於一邏輯至實體映射表格。此邏輯至實體映射表格會被儲存在系統區806中。當主機系統11欲從記憶體儲存裝置10讀取資料或寫入資料至記憶體儲存裝置10時,記憶體管理電路702可從系統區806中讀取邏輯至實體映射表格中的部分資訊至緩衝記憶體710,以執行對於記憶體儲存裝置10的資料存取。
記憶體管理電路702可以在緩衝記憶體710中查詢或更新邏輯至實體映射表格中的部分資訊。例如,若主機系統11指示讀取某一個邏輯單元所儲存的資料,則記憶體管理電路702可以從系統區806的邏輯至實體映射表格中讀取此邏輯單元的邏輯至實體映射資訊至緩衝記憶體710,從而獲得儲存此筆資料的實體單元並且可指示從此實體單元中讀取資料。例如,若主機系統11指示寫入資料至某一邏輯單元或刪除儲存於某一邏輯單元的資料且此邏輯單元的邏輯至實體映射資訊當下已暫存於緩衝記憶體710中,則記憶體管理電路702可以直接在緩衝記憶體710中更新此邏輯單元的邏輯至實體映射資訊。例如,記憶體管理電路702可以移除此邏輯單元的映射關係或者將此邏輯單元從映射至某一實體單元改為映射至另一實體單元。更新後的此邏輯單元的邏輯至實體映射資訊可以在任意時間點被回存到儲存在可複寫式非揮發性記憶體模組406的邏輯至實體映射表格中。
值得一提的是,若主機系統11指示寫入資料至某一邏輯單元或刪除儲存於某一邏輯單元的資料且此邏輯單元的邏輯至實體映射資訊當下並沒有暫存於緩衝記憶體710中,則記憶體管理電路702可能不會即時地從系統區806的邏輯至實體映射表格中讀取相對應的邏輯至實體映射資訊來進行更新。原因在於,若對應於來自主機系統11的每一個寫入指令或刪除指令都即時地讀取相關的邏輯至實體映射資訊到緩衝記憶體710中進行更新並且回存更新後的邏輯至實體映射資訊至可複寫式非揮發性記憶體模組406,則系統區806中的記憶胞可能會被相當頻繁地進行讀取與寫入,從而加速系統區806中的記憶胞老化。
因此,在本範例實施例中,記憶體管理電路702會在緩衝記憶體710中建立一個實體至邏輯映射表格。此實體至邏輯映射表格會暫存於緩衝記憶體710中並且用以記錄主機系統10所欲儲存之資料的實體單元至邏輯單元的映射關係(即,實體至邏輯映射資訊)。例如,對應於將某一筆資料寫入至儲存區802中的某一個實體抹除單元,則對應於此筆資料的實體至邏輯映射資訊會先被記錄在緩衝記憶體710中的實體至邏輯映射表格中,爾後再被儲存至此實體抹除單元中的最後一個實體程式化單元中。
在本範例實施例中,儲存在一個實體抹除單元中的實體至邏輯映射資訊可以作為執行某些特定程序的參考。例如,儲存在某一實體抹除單元中的實體至邏輯映射資訊可以包括至少一參數。例如,此至少一參數可用以指示此實體抹除單元所儲存之有效資料(或,無效資料)之資料量(或,需要被從中搬移資料的實體程式化單元之數目)及/或此實體抹除單元中的哪一個實體程式化單元儲存有效資料(或,無效資料)等等。例如,此至少一參數可以在對應於可複寫式非揮發性記憶體模組406中的閒置實體抹除單元不足而執行的資料整併程序(例如,垃圾回收程序)中被使用。
在一範例實施例中,記憶體管理電路702也可以根據某一實體抹除單元所儲存的實體至邏輯映射資訊來獲得儲存於此實體抹除單元中的某一筆資料所對應的實體至邏輯映射關係。在將此實體至邏輯映射關係與邏輯至實體映射表格中的資訊進行比對之後,若比對結果為原先用以儲存此筆資料的邏輯單元已被改為映射至其他的實體單元,表示此筆資料為無效資料。反之,若比對結果為用以儲存此筆資料的邏輯單元仍然映射至目前儲存此資料的實體單元,則表示此筆資料為有效資料。
在緩衝記憶體710中一個實體至邏輯映射表格被寫滿之後,此實體至邏輯映射表格中的資訊會被用來更新儲存在可複寫式非揮發性記憶體模組406中的邏輯至實體映射表格。例如,在將緩衝記憶體710中的實體至邏輯映射表格寫滿的期間,若一或多個邏輯單元的邏輯至實體映射關係被改變,則此些被改變的邏輯至實體映射關係可以在緩衝記憶體710中的實體至邏輯映射表格被寫滿之後同步地被更新至儲存在可複寫式非揮發性記憶體模組406中的邏輯至實體映射表格。例如,在根據緩衝記憶體710中的實體至邏輯映射表格來更新儲存在可複寫式非揮發性記憶體模組406中的邏輯至實體映射表格的操作中,邏輯至實體映射表格中部份的邏輯至實體映射資訊會被讀取至緩衝記憶體710中並且被更新;爾後,更新後的邏輯至實體映射資訊會被重新存入可複寫式非揮發性記憶體模組406中。透過一次性地修改多筆邏輯至實體映射資訊,可減少對於可複寫式非揮發性記憶體模組406的存取頻率。
然而,在一般對於實體至邏輯映射表格的記錄方式中,並不會考慮到某一個邏輯單元的實體至邏輯映射資訊是否被重複記載。也就是說,即使主機系統11是對同一個邏輯單元重複進行資料寫入操作,則對應於每一次的資料寫入操作的實體至邏輯映射關係都會被一一記錄在此實體至邏輯映射表格中。例如,假設實體至邏輯映射表格被同一個邏輯單元的多筆實體至邏輯映射資訊寫滿,則真正在後續更新邏輯至實體映射表格的操作中真正有用的資料卻只有一筆(即,實體至邏輯映射表格中最後一次記錄的實體至邏輯映射資訊)。在這樣的情況下,緩衝記憶體710中的部分空間會被浪費掉。此外,在這樣的情況下實體至邏輯映射表格也很容易就被寫滿,導致對於邏輯至實體映射表格的更新也會更加頻繁。
此外,在某些情況下,若主機系統11指示將某一筆資料儲存至某一邏輯單元並且此邏輯單元的邏輯至實體映射資訊當下是暫存在緩衝記憶體710中,則此邏輯單元的邏輯至實體映射資訊可能會直接在緩衝記憶體710中被更新並且更新後的此邏輯單元的邏輯至實體映射資訊會隨著後續的回存操作回存到可複寫式非揮發性記憶體模組406中。換言之,在此情況下,並不需要根據此邏輯單元的實體至邏輯映射資訊來更新可複寫式非揮發性記憶體模組406中的邏輯至實體映射表格。
因此,在本範例實施例中,在將對應於至少一筆寫入資料的實體至邏輯映射資訊儲存至某一個實體單元之後,此實體至邏輯映射資訊就會在緩衝記憶體710中被更新,從而嘗試釋放出更多的可用空間。以下為了說明方便,亦將實體至邏輯映射表格稱為第一映射表格,並且將邏輯至實體映射表格稱為第二映射表格。
圖9至圖13是根據本發明的一範例實施例所繪示的更新映射表格的示意圖。
請參照圖9,記憶體管理電路702會接收一寫入指令與對應於此寫入指令的寫入資料。在本範例實施例中,是假設此寫入指令指示將對應於此寫入指令的寫入資料寫入至邏輯單元810(0)~810(E)。例如,邏輯單元810(0)~810(E)包含於圖8的邏輯單元810(0)~810(D)中。
記憶體管理電路702會從儲存區802中選擇至少一個實體抹除單元來儲存此寫入資料。例如,記憶體管理電路702可以選擇實體抹除單元800(0)來儲存此寫入資料。例如,記憶體管理電路702可以發送一寫入指令序列以指示可複寫式非揮發性記憶體模組406將此寫入資料儲存至實體抹除單元800(0)中的實體程式化單元910(0)~910(E)。此外,記憶體管理電路702還會將邏輯單元810(0)~810(E)映射至實體程式化單元910(0)~910(E)。
記憶體管理電路702會將對應於此寫入資料的實體至邏輯映射資訊922記錄至暫存於緩衝記憶體710的第一映射表格920中。例如,實體至邏輯映射資訊922可包括實體程式化單元910(0)~910(E)與邏輯單元810(0)~810(E)之間的映射關係。換言之,實體至邏輯映射資訊922會包含每一個邏輯單元810(0)~810(E)的實體至邏輯映射資訊。
記憶體管理電路702會根據第一映射表格922發送另一寫入指令序列以指示將實體至邏輯映射資訊922儲存至實體程式化單元910(F)。例如,實體程式化單元910(F)為實體抹除單元800(0)中排序最後的實體程式化單元。例如,記憶體管理電路702是指示先將寫入資料儲存至實體程式化單元910(0)~910(E),爾後再將對應於此寫入資料的實體至邏輯映射資訊922儲存至實體程式化單元910(F)。此外,在另一範例實施例中,實體抹除單元800(0)也可以是可複寫式非揮發性記憶體模組406中儲存有此寫入資料中的至少部分資料的任一個實體單元。
在將實體至邏輯映射資訊922儲存至實體程式化單元910(F)之後,記憶體管理電路702會在緩衝記憶體710中更新記錄於第一映射表格920中的實體至邏輯映射資訊922,以嘗試減少實體至邏輯映射資訊922的資料大小。
在本範例實施例中,緩衝記憶體710中暫存有第二映射表格930。第二映射表格930包含從可複寫式非揮發性記憶體模組406所儲存的邏輯至實體映射表格中讀取的至少一部份資訊。例如,第二映射表格930包含邏輯至實體映射資訊932。
在本範例實施例中,記憶體管理電路702會比對實體至邏輯映射資訊922與邏輯至實體映射資訊932並且判斷其中是否存在與同一個邏輯單元有關的映射資訊。若與同一個邏輯單元有關的映射資訊同時包含於實體至邏輯映射資訊922與邏輯至實體映射資訊932中,則記憶體管理電路702會將此邏輯單元的實體至邏輯映射資訊從實體至邏輯映射資訊922中移除。例如,在一範例實施例中,若邏輯至實體映射資訊932包含邏輯單元810(0)的邏輯至實體映射資訊,則記憶體管理電路702會將邏輯單元810(0)的實體至邏輯映射資訊(即,對應於儲存於邏輯單元810(0)中的寫入資料的實體至邏輯映射資訊)從實體至邏輯映射資訊922中移除並且將邏輯單元810(1)~810(E)的實體至邏輯映射資訊(即,對應於儲存於邏輯單元810(1)~810(E)中的寫入資料的實體至邏輯映射資訊)保留在實體至邏輯映射資訊922中。
請參照圖10,假設實體至邏輯映射資訊922被更新為實體至邏輯映射資訊1022。例如,實體至邏輯映射資訊1022僅包含邏輯單元810(1)~810(E)的實體至邏輯映射資訊。在本範例實施例中,實體至邏輯映射資訊1022僅包括實體至邏輯映射資訊922中的部分資訊,故實體至邏輯映射資訊1022的資料大小會小於實體至邏輯映射資訊922的資料大小。
然而,在另一範例實施例中,若實體至邏輯映射資訊922與邏輯至實體映射資訊932不包含與同一個邏輯單元有關的映射資訊(例如,邏輯至實體映射資訊932沒有包含邏輯單元810(0)~810(E)中任一者的邏輯至實體映射資訊),則實體至邏輯映射資訊1022的資料大小可能會與實體至邏輯映射資訊922的資料大小相同。
根據圖9的另一範例實施例,在更新實體至邏輯映射資訊922的操作中,記憶體管理電路702還會判斷記錄於第一映射表格920中的多筆實體至邏輯映射資訊是否為同一邏輯單元的實體至邏輯映射資訊。在同一個邏輯單元的多筆實體至邏輯映射資訊中,記憶體管理電路702只會保留最後一筆實體至邏輯映射資訊,而此邏輯單元的其餘實體至邏輯映射資訊會被從第一映射表格920中移除。例如,假設主機系統11重複對於邏輯單元810(0)執行了N次的寫入操作,則實體至邏輯映射資訊922可能會包含N筆邏輯單元810(0)的實體至邏輯映射資訊。由於只有最後一筆的邏輯單元810(0)的實體至邏輯映射資訊會反映出在這N次的寫入操作中邏輯單元810(0)最終的實體與邏輯映射關係,故實體至邏輯映射資訊1022會包含第N筆的邏輯單元810(0)的實體至邏輯映射資訊,而不會包含前N-1筆邏輯單元810(0)的實體至邏輯映射資訊。
請參照圖11,記憶體管理電路702會接收另一寫入指令與對應於此寫入指令的寫入資料。在本範例實施例中,是假設此寫入指令指示將對應於此寫入指令的寫入資料寫入至邏輯單元810(P)~810(P+Q)。例如,邏輯單元810(P)~810(P+Q)也包含於圖8的邏輯單元810(0)~810(D)中。
記憶體管理電路702會從儲存區802中選擇至少一個實體抹除單元來儲存此寫入資料。例如,記憶體管理電路702可以選擇實體抹除單元800(1)來儲存此寫入資料。例如,記憶體管理電路702可以發送一寫入指令序列以指示可複寫式非揮發性記憶體模組406將此寫入資料儲存至實體抹除單元800(1)中的實體程式化單元1110(0)~1110(Q)。此外,記憶體管理電路702還會將邏輯單元810(P)~810(P+Q)映射至實體程式化單元1110(0)~1110(Q)。
記憶體管理電路702會接續於實體至邏輯映射資訊1022而將此寫入資料的實體至邏輯映射資訊1122記錄至暫存於緩衝記憶體710的第一映射表格920中。例如,實體至邏輯映射資訊1122包括實體程式化單元1110(0)~1110(Q)與邏輯單元810(P)~810(P+Q)之間的映射關係。例如,實體至邏輯映射資訊1122會包含每一個邏輯單元810(P)~810(P+Q)的實體至邏輯映射資訊。
記憶體管理電路702會根據第一映射表格920發送另一寫入指令序列以指示將實體至邏輯映射資訊1122儲存至實體程式化單元1110(S)。例如,實體程式化單元1110(S)為實體抹除單元800(1)中的最後一個實體程式化單元。
在將實體至邏輯映射資訊1122儲存至實體程式化單元1110(S)之後,記憶體管理電路702會在緩衝記憶體710中更新記錄於第一映射表格920中的實體至邏輯映射資訊1122,以嘗試減少實體至邏輯映射資訊1122的資料大小。例如,記憶體管理電路702可以比對實體至邏輯映射資訊1122與邏輯至實體映射資訊932並且判斷其中是否存在與同一個邏輯單元有關的映射資訊。若與同一個邏輯單元有關的映射資訊同時包含於實體至邏輯映射資訊1122與邏輯至實體映射資訊932中,則記憶體管理電路702會將此邏輯單元的實體至邏輯映射資訊從實體至邏輯映射資訊1122中移除以更新邏輯至實體映射資訊932。此外,記憶體管理電路702還可以判斷第一映射表格920中是否包含同一邏輯單元的多筆實體至邏輯映射資訊並且可從第一映射表格920中移除同一個邏輯單元的部份實體至邏輯映射資訊。例如,若邏輯單元810(P)的兩筆實體至邏輯映射資訊同時存在於實體至邏輯映射資訊1122中,則記錄時間較早的邏輯單元810(P)的實體至邏輯映射資訊會被移除,而記錄時間較晚的邏輯單元810(P)的實體至邏輯映射資訊會被保留。
在另一範例實施例中,實體至邏輯映射資訊1022與1122也可以被同步更新。例如,若邏輯單元810(P)的兩筆實體至邏輯映射資訊分別存在於實體至邏輯映射資訊1022與邏輯至實體映射資訊1122中,則存在於較早記錄的實體至邏輯映射資訊1022中的邏輯單元810(P)的實體至邏輯映射資訊也可被移除。
請參照圖12,假設在將實體至邏輯映射資訊1122更新為實體至邏輯映射資訊1222之後,實體至邏輯映射資訊1222僅包括實體至邏輯映射資訊1122中的部分資訊,則實體至邏輯映射資訊1222的資料大小會小於實體至邏輯映射資訊1122的資料大小。
請參照圖13,記憶體管理電路702可以接收更多的寫入指令並且對應將更多的實體至邏輯映射資訊記錄於第一映射表格920中。記錄於第一映射表格920中的實體至邏輯映射資訊會被複製到相對應的實體單元中然後被更新。如圖13所示,實體至邏輯映射資訊1322是第一映射表格920中最後一筆更新後的實體至邏輯映射資訊。
在本範例實施例中,第一映射表格920中不會存在同一個邏輯單元的多筆實體至邏輯映射資訊。然而,在另一範例實施例中,同一個更新程序所產生的實體至邏輯映射資訊中不包含同一個邏輯單元的多筆實體至邏輯映射資訊,但是,在不同的更新程序所產生的實體至邏輯映射資訊中則可能存在同一個邏輯單元的多筆實體至邏輯映射資訊。例如,實體至邏輯映射資訊1022與1322可能各別包含一筆邏輯單元810(0)的實體至邏輯映射資訊。
在將更新後的實體至邏輯映射資訊1322記錄至第一映射表格920之後,記憶體管理電路702會根據第一映射表格920所記錄之更新後的實體至邏輯映射資訊來更新儲存於系統區806的第二映射表格1340。例如,第二映射表格1340為儲存於實體抹除單元800(A+1)中的邏輯至實體映射表格。關於如何根據第一映射表格來更新第二映射表格已於前述說明,在此便不贅述。
特別是,在圖13的範例實施例中,第一映射表格920中的資訊都是經過篩選的資訊,因此相對於一般的實體至邏輯映射表格的記錄方式,第一映射表格920可以儲存更多有效的實體至邏輯映射資訊。爾後,在根據第一映射表格920來更新第二映射表格1340時,所耗費的系統資源與時間也可以被減少。
值得一提的是,在圖9至圖13的範例實施例中,是在第一映射表格920中直接以更新後的實體至邏輯映射資訊來覆蓋原先的實體至邏輯映射資訊。然而,在另一範例實施例中,亦可以在第一映射表格中設置一個保留區域,並且將還沒有更新的實體至邏輯映射資訊記錄在此保留區域之後。藉此,在更新此實體至邏輯映射資訊之後,原先記錄在此保留區域之後的實體至邏輯映射資訊可被移除,並且更新後的實體至邏輯映射資訊可記錄在此保留區域中。
圖14是根據本發明的一範例實施例所繪示的使用保留區域來更新第一映射表格的示意圖。
請參照圖14,在本範例實施例中,一個保留區域(亦稱為第一區域)1410會被配置在第一映射表格1420中。對應於某一寫入資料的實體至邏輯映射資訊1412會被記錄在保留區域1410之後的區域(亦稱為第二區域)。在將實體至邏輯映射資訊1412更新為實體至邏輯映射資訊1422之後,實體至邏輯映射資訊1412會被從第一映射表格1420中移除並且實體至邏輯映射資訊1422會被記錄在保留區域1410中。爾後,若接收到另一筆寫入指令與對應的寫入資料,則對應於此寫入資料的實體至邏輯映射資訊1432會被記錄在保留區域1410之後的區域。在將實體至邏輯映射資訊1432更新為實體至邏輯映射資訊1442之後,實體至邏輯映射資訊1432會被從第一映射表格1420中移除並且實體至邏輯映射資訊1442會被記錄在保留區域1410中。以此類推,可以依照這樣的規則來整理第一映射表格1420中更多的實體至邏輯映射資訊。特別是,若保留區域1410即將或已被寫滿,則在將下一筆實體至邏輯映射資訊記錄至第一映射表格1420之前,一個新的保留區域(未繪示)會被配置以儲存下一筆更新後的實體至邏輯映射資訊記錄。
在一範例實施例中,在更新記錄於第一映射表格中的某一實體至邏輯映射資訊之前,記憶體管理電路702還會先估計更新後的實體至邏輯映射資訊的資料大小並且判斷此估計出來的資料大小是否大於一預設大小。記憶體管理電路702僅會在此估計出來的資料大小不大於此預設大小時去實際更新此實體至邏輯映射資訊。換言之,若估計出來的更新後的實體至邏輯映射資訊的資料大小大於此預設大小,表示更新資料可能沒有節省多少空間,故記憶體管理電路702會跳過對於此實體至邏輯映射資訊的更新。例如,此預設大小可以是相對於待更新的實體至邏輯映射資訊的資料大小來設定。例如,可將此預設大小設定為待更新的實體至邏輯映射資訊的資料大小的一預設百分比(例如,50%)。或者,根據圖14的範例實施例,此預設大小也可以設定為等於保留區域1410的大小。
圖15是根據本發明的一範例實施例所繪示的移除實體至邏輯映射資訊以更新第一映射表格的示意圖。
請參照圖15,實體至邏輯映射資訊1522(0)~1522(K)是對應於某一寫入資料而被記錄於暫存於緩衝記憶體的第一映射表格1520中。在將實體至邏輯映射資訊1522(0)~1522(K)複製到可複寫式非揮發性記憶體模組中的某一個實體單元儲存之後,實體至邏輯映射資訊1522(0)~1522(K)會在第一映射表格1520中被更新。在本範例實施例中,記憶體管理電路702會判斷實體至邏輯映射資訊1522(0)~1522(K)中是否包含同一個邏輯單元的多筆實體至邏輯映射資訊。假設實體至邏輯映射資訊1522(0)~1522(3)是同一個邏輯單元的實體至邏輯映射資訊,則在對應的映射表格更新操作中,記憶體管理電路702會移除實體至邏輯映射資訊1522(0)~1522(3)中較早記錄的實體至邏輯映射資訊1522(0)~1522(2)並且保留實體至邏輯映射資訊1522(0)~1522(3)中最晚記錄的實體至邏輯映射資訊1522(3)。
圖16是根據本發明的另一範例實施例所繪示的移除實體至邏輯映射資訊以更新第一映射表格的示意圖。
請參照圖16,實體至邏輯映射資訊1622(0)~1622(G)是對應於某一寫入資料而被記錄於暫存於緩衝記憶體710的第一映射表格1620中。特別是,在將實體至邏輯映射資訊1622(0)~1622(G)記錄至暫存於緩衝記憶體710的第一映射表格1620時,緩衝記憶體710還暫存有第二映射表格1630。例如,第二映射表格1630中記錄有邏輯至實體映射資訊1632(0)~1632(J)。
在將實體至邏輯映射資訊1622(0)~1622(G)複製到可複寫式非揮發性記憶體模組中的某一個實體單元儲存之後,實體至邏輯映射資訊1622(0)~1622(G)會在第一映射表格1620中被更新。在本範例實施例中,記憶體管理電路702會比對實體至邏輯映射資訊1622(0)~1622(G)與邏輯至實體映射資訊1632(0)~1632(J)並且判斷其中是否存在與同一個邏輯單元有關的映射資訊。在本範例實施例中,假設實體至邏輯映射資訊1622(0)~1622(J)是屬於特定的至少一邏輯單元的實體至邏輯映射資訊並且此特定的邏輯單元的邏輯至實體映射資訊包含於邏輯至實體映射資訊1632(0)~1632(J)中,則在對應的表格更新操作中,記憶體管理電路702會將實體至邏輯映射資訊1622(0)~1622(J)從第一映射表格1620中移除並且保留實體至邏輯映射資訊1622(J+1)~1622(G)於第一映射表格1620中。藉此,在更新暫存於緩衝記憶體710的第一映射表格1620之後,被保留的實體至邏輯映射資訊1622(J+1)~1622(G)中的任一者的邏輯單元的邏輯至實體映射資訊不會包含於同時被暫存於緩衝記憶體710中的邏輯至實體映射資訊1632(0)~1632(J)中。
圖17是根據本發明的一範例實施例所繪示的更新第二映射表格的示意圖。
請參照圖17,若暫存於緩衝記憶體710中的第一映射表格1720被實體至邏輯映射資訊1722(0)~1722(L)寫滿,則儲存於可複寫式非揮發性記憶體模組的實體抹除單元800(A+1)中的邏輯至實體映射表格1740(即,第二映射表格)中的部份資訊會被讀取到緩衝記憶體710中。例如,被讀取到緩衝記憶體710中的資訊被視為第二映射表格1730,其包含邏輯至實體映射資訊1732(0)~1732(L)。邏輯至實體映射資訊1732(0)~1732(L)中的每一筆資訊會對應於實體至邏輯映射資訊1722(0)~1722(L)中的某一筆資訊。例如,邏輯至實體映射資訊1732(0)是對應於實體至邏輯映射資訊1722(0)、邏輯至實體映射資訊1732(1)是對應於實體至邏輯映射資訊1722(1)等,以此類推。實體至邏輯映射資訊1722(0)~1722(L)會被用來更新同時被暫存於緩衝記憶體710中的邏輯至實體映射資訊1732(0)~1732(L)。例如,邏輯至實體映射資訊1732(0)是記錄某一個邏輯單元的舊的邏輯至實體映射關係並且實體至邏輯映射資訊1722(0)是記錄此邏輯單元的新的實體至邏輯映射關係,則此新的實體至邏輯映射關係會被用來更新此舊的邏輯至實體映射關係。在完成邏輯至實體映射資訊1732(0)~1732(L)的更新之後,更新後的實體映射資訊1732(0)~1732(L)會被回存到可複寫式非揮發性記憶體模組中(例如,邏輯至實體映射表格1740)。此外,第一映射表格1720中的資訊可被清除,以暫存對應於來自主機系統之下一筆寫入資料的實體至邏輯映射資訊。
圖18是根據本發明的一範例實施例所繪示的映射表格更新方法的流程圖。
請參照圖18,在步驟S1801中,接收寫入指令與對應於所述寫入指令的寫入資料。在步驟S1802中,將對應於所述寫入資料的實體至邏輯映射資訊記錄至暫存於緩衝記憶體的第一映射表格中。在步驟S1803中,根據所述第一映射表格將對應於所述寫入資料的所述實體至邏輯映射資訊儲存至所述可複寫式非揮發性記憶體模組中的一實體單元,其儲存有所述寫入資料中的至少部分資料。在步驟S1804中,更新暫存於所述緩衝記憶體的所述第一映射表格所記錄的對應於所述寫入資料的所述實體至邏輯映射資訊,其中更新後的實體至邏輯映射資訊僅包括對應於所述寫入資料的所述實體至邏輯映射資訊的部分資訊。在步驟S1805中,根據所述第一映射表格所記錄之更新後的實體至邏輯映射資訊來更新第二映射表格。
圖19是根據本發明的另一範例實施例所繪示的映射表格更新方法的流程圖。
請參照圖19,在步驟S1901中,接收寫入指令與對應於所述寫入指令的寫入資料。在步驟S1902中,將對應於所述寫入資料的實體至邏輯映射資訊記錄至暫存於緩衝記憶體的第一映射表格中。在步驟S1903中,根據所述第一映射表格將對應於所述寫入資料的所述實體至邏輯映射資訊儲存至所述可複寫式非揮發性記憶體模組中的實體單元,其中所述實體單元儲存有所述寫入資料中的至少部分資料。在步驟S1904中,判斷用以儲存所述寫入資料的至少一邏輯單元的邏輯至實體映射資訊是否暫存於所述緩衝記憶體中。若步驟S1904的判斷結果為是,則在步驟S1905中,將所述邏輯單元的所述實體至邏輯映射資訊從所述第一映射表格中移除。若步驟S1904的判斷結果為否,則在步驟S1906中,判斷所述第一映射表格中是否存在同一個邏輯單元的多筆實體至邏輯映射資訊。若步驟S1906的判斷結果為是,則只保留所述同一個邏輯單元的多筆時體至邏輯映射資訊的其中一筆資訊於所述第一映射表格中。若步驟S1906的判斷結果為否,則在步驟S1908中,判斷所述第一映射表格是否已寫滿或即將寫滿。若所述第一映射表格已寫滿或即將寫滿,在步驟S1909中,根據所述第一映射表格所記錄之實體至邏輯映射資訊來更新第二映射表格。若所述第一映射表格尚未寫滿或仍有足夠的儲存空間,則在步驟S1908之後步驟S1901可被重複執行,以繼續使用此第一映射表格。
在本範例實施例中,步驟S1904~步驟S1907為更新暫存於緩衝記憶體中的第一映射表格之操作。然而,在另一範例實施例中,亦可以選擇在第一映射表格的更新操作中僅執行步驟1904與步驟S1905或者僅執行步驟1906與步驟S1907。
在另一範例實施例中,步驟S1908還包括判斷記憶體儲存裝置或記憶體控制電路單元是否處於一特定狀態或是否接收到一重整指令。例如,此特定狀態可以是閒置狀態、剛開機之狀態或即將關機之狀態。若記憶體儲存裝置或記憶體控制電路單元處於此特定狀態或接收到此重整指令,步驟S1909會被執行。若記憶體儲存裝置或記憶體控制電路單元不處於此特定狀態、沒有接收到此重整指令且所述第一映射表格尚未寫滿,則步驟S1901可被重複執行。
然而,圖18與圖19中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖18與圖19中各步驟可以實作為多個程式碼或是電路,本發明不加以限制。此外,圖18與圖19的方法可以搭配以上範例實施例使用,也可以單獨使用,本發明不加以限制。
綜上所述,在將某一筆寫入資料的實體至邏輯映射資訊從緩衝記憶體儲存至可複寫式非揮發性記憶體模組之後,此寫入資料的實體至邏輯映射資訊會在緩衝記憶體中被更新,以嘗試在緩衝記憶體中釋放出更多的可用空間。藉此,在一範例實施例中,可避免可複寫式非揮發性記憶體模組中的邏輯至實體映射表格因為緩衝記憶體中的實體至邏輯映射表格很容易被寫滿而太頻繁地被更新。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10:記憶體儲存裝置 11:主機系統 12:電腦 122:微處理器 124:隨機存取記憶體 126:系統匯流排 128:資料傳輸介面 13:輸入/輸出裝置 21:滑鼠 22:鍵盤 23:顯示器 24:印表機 25:隨身碟 26:記憶卡 27:固態硬碟 31:數位相機 32:SD卡 33:MMC卡 34:記憶棒 35:CF卡 36:嵌入式儲存裝置 402:連接介面單元 404:記憶體控制電路單元 406:可複寫式非揮發性記憶體模組 502:記憶胞陣列 504:字元線控制電路 506:位元線控制電路 508:行解碼器 510:資料輸入/輸出緩衝器 512:控制電路 602:記憶胞 604:位元線 606:字元線 608:共用源極線 612、614:電晶體 702:記憶體管理電路 704:主機介面 706:記憶體介面 708:錯誤檢查與校正電路 710:緩衝記憶體 712:電源管理電路 800(0)~800(R):實體抹除單元 810(0)~810(D):邏輯單元 802:儲存區 806:系統區 910(0)~910(F)、1110(0)~1110(S):實體程式化單元 920、1420、1520、1620、1720:第一映射表格 922、1022、1122、1222、1322、1422、1432、1442、1522(0)~1522(K)、1622(0)~1622(G)、1722(0)~1722(L):實體至邏輯映射資訊 930、1340、1630、1730、1740:第二映射表格 932、1632(0)~1632(J)、1732(0)~1732(L):邏輯至實體映射資訊 1410:保留區域 S1801~S1805、S1901~S1909:步驟
圖1是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。 圖2是根據本發明的一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。 圖3是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。 圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。 圖5是根據本發明的一範例實施例所繪示的可複寫式非揮發性記憶體模組的概要方塊圖。 圖6是根據本發明的一範例實施例所繪示的記憶胞陣列的示意圖。 圖7是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。 圖8是根據本發明的一範例實施例所繪示之管理可複寫式非揮發性記憶體模組的示意圖。 圖9至圖13是根據本發明的一範例實施例所繪示的更新映射表格的示意圖。 圖14是根據本發明的一範例實施例所繪示的使用保留區域來更新第一映射表格的示意圖。 圖15是根據本發明的一範例實施例所繪示的移除實體至邏輯映射資訊以更新第一映射表格的示意圖。 圖16是根據本發明的另一範例實施例所繪示的移除實體至邏輯映射資訊以更新第一映射表格的示意圖。 圖17是根據本發明的一範例實施例所繪示的更新第二映射表格的示意圖。 圖18是根據本發明的一範例實施例所繪示的映射表格更新方法的流程圖。 圖19是根據本發明的另一範例實施例所繪示的映射表格更新方法的流程圖。
S1801~S1805:步驟
Claims (27)
- 一種映射表格更新方法,用於一可複寫式非揮發性記憶體模組,該映射表格更新方法包括: 接收一寫入指令與對應於該寫入指令的一寫入資料; 將對應於該寫入資料的一實體至邏輯映射資訊記錄至暫存於一緩衝記憶體的一第一映射表格中; 根據該第一映射表格將對應於該寫入資料的該實體至邏輯映射資訊儲存至該可複寫式非揮發性記憶體模組中的一實體單元,其中該實體單元儲存有該寫入資料的至少部分資料; 更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊,其中更新後的該實體至邏輯映射資訊僅包括對應於該寫入資料的該實體至邏輯映射資訊的部分資訊;以及 根據該第一映射表格所記錄之更新後的該實體至邏輯映射資訊來更新一第二映射表格。
- 如申請專利範圍第1項所述的映射表格更新方法,其中將對應於該寫入資料的該實體至邏輯映射資訊記錄至該第一映射表格中的步驟包括: 在該第一映射表格中保留一第一區域;以及 將對應於該寫入資料的該實體至邏輯映射資訊記錄至該第一映射表格中的一第二區域。
- 如申請專利範圍第2項所述的映射表格更新方法,其中更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊的步驟包括: 移除記錄於該第二區域的對應於該寫入資料的該實體至邏輯映射資訊;以及 將更新後的該實體至邏輯映射資訊紀錄至該第一區域中。
- 如申請專利範圍第1項所述的映射表格更新方法,其中該寫入資料包括一第一寫入資料與一第二寫入資料, 其中更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊的步驟包括: 將對應於該第一寫入資料的該實體至邏輯映射資訊保留於該第一映射表格中;以及 將對應於該第二寫入資料的該實體至邏輯映射資訊從該第一映射表格中移除。
- 如申請專利範圍第4項所述的映射表格更新方法,其中當接收到該寫入指令時,用以儲存該第二寫入資料的一邏輯單元的一邏輯至實體映射資訊是暫存於該緩衝記憶體中。
- 如申請專利範圍第1項所述的映射表格更新方法,其中該第一映射表格為一實體至邏輯映射表格,其中該第二映射表格為一邏輯至實體映射表格。
- 如申請專利範圍第1項所述的映射表格更新方法,其中更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊的步驟僅在更新後的該實體至邏輯映射資訊的一資料大小不大於一預設大小時執行。
- 如申請專利範圍第1項所述的映射表格更新方法,其中更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊的步驟包括: 判斷用以儲存該寫入資料的至少一邏輯單元的一邏輯至實體映射資訊是否暫存於該緩衝記憶體中; 若用以儲存該寫入資料中的一第一寫入資料的一邏輯單元的該邏輯至實體映射資訊非暫存於該緩衝記憶體中,將對應於該第一寫入資料的該實體至邏輯映射資訊保留於該第一映射表格中;以及 若用以儲存該寫入資料中的一第二寫入資料的一邏輯單元的該邏輯至實體映射資訊是暫存於該緩衝記憶體中,將對應於該第二寫入資料的該實體至邏輯映射資訊從該第一映射表格中移除。
- 如申請專利範圍第1項所述的映射表格更新方法,其中更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊的步驟包括: 判斷暫存於該緩衝記憶體的該第一映射表格中是否存在同一個邏輯單元的多筆實體至邏輯映射資訊;以及 若暫存於該緩衝記憶體的該第一映射表格中存在所述同一個邏輯單元的該些實體至邏輯映射資訊,只保留所述同一個邏輯單元的該些實體至邏輯映射資訊的其中一筆資訊於該第一映射表格中。
- 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統; 一可複寫式非揮發性記憶體模組;以及 一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組, 其中該記憶體控制電路單元用以接收一寫入指令與對應於該寫入指令的一寫入資料, 其中該記憶體控制電路單元更用以將對應於該寫入資料的一實體至邏輯映射資訊記錄至暫存於一緩衝記憶體的一第一映射表格中, 其中該記憶體控制電路單元更用以根據暫存於該緩衝記憶體中的該第一映射表格發送一寫入指令序列,以指示將對應於該寫入資料的該實體至邏輯映射資訊儲存至該可複寫式非揮發性記憶體模組中的一實體單元,其中該實體單元儲存有該寫入資料中的至少部分資料, 其中該記憶體控制電路單元更用以更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊,其中更新後的該實體至邏輯映射資訊僅包括對應於該寫入資料的該實體至邏輯映射資訊的部分資訊, 其中該記憶體控制電路單元更用以根據該第一映射表格所記錄之更新後的該實體至邏輯映射資訊來更新一第二映射表格。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該記憶體控制電路單元將對應於該寫入資料的該實體至邏輯映射資訊記錄至該第一映射表格中的操作包括: 在該第一映射表格中保留一第一區域;以及 將對應於該寫入資料的該實體至邏輯映射資訊記錄至該第一映射表格中的一第二區域。
- 如申請專利範圍第11項所述的記憶體儲存裝置,其中該記憶體控制電路單元更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊的操作包括: 移除記錄於該第二區域的對應於該寫入資料的該實體至邏輯映射資訊;以及 將更新後的該實體至邏輯映射資訊紀錄至該第一區域中。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該寫入資料包括一第一寫入資料與一第二寫入資料, 其中該記憶體控制電路單元更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊的操作包括: 將對應於該第一寫入資料的該實體至邏輯映射資訊保留於該第一映射表格中;以及 將對應於該第二寫入資料的該實體至邏輯映射資訊從該第一映射表格中移除。
- 如申請專利範圍第13項所述的記憶體儲存裝置,其中當接收到該寫入指令時,用以儲存該第二寫入資料的一邏輯單元的一邏輯至實體映射資訊是暫存於該緩衝記憶體中。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該第一映射表格為一實體至邏輯映射表格,其中該第二映射表格為一邏輯至實體映射表格。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊的操作僅在更新後的該實體至邏輯映射資訊的一資料大小不大於一預設大小時執行。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該記憶體控制電路單元更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊的操作包括: 判斷用以儲存該寫入資料的至少一邏輯單元的一邏輯至實體映射資訊是否暫存於該緩衝記憶體中; 若用以儲存該寫入資料中的一第一寫入資料的一邏輯單元的該邏輯至實體映射資訊非暫存於該緩衝記憶體中,將對應於該第一寫入資料的該實體至邏輯映射資訊保留於該第一映射表格中;以及 若用以儲存該寫入資料中的一第二寫入資料的一邏輯單元的該邏輯至實體映射資訊是暫存於該緩衝記憶體中,將對應於該第二寫入資料的該實體至邏輯映射資訊從該第一映射表格中移除。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該記憶體控制電路單元更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊的操作包括: 判斷暫存於該緩衝記憶體的該第一映射表格中是否存在同一個邏輯單元的多筆實體至邏輯映射資訊;以及 若暫存於該緩衝記憶體的該第一映射表格中存在所述同一個邏輯單元的該些實體至邏輯映射資訊,只保留所述同一個邏輯單元的該些實體至邏輯映射資訊的其中一筆資訊於該第一映射表格中。
- 一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,該記憶體控制電路單元包括: 一主機介面,用以耦接至一主機系統; 一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組; 一緩衝記憶體;以及 一記憶體管理電路,耦接至該主機介面、該記憶體介面及該緩衝記憶體, 其中該記憶體管理電路用以接收一寫入指令與對應於該寫入指令的一寫入資料, 其中該記憶體管理電路更用以將對應於該寫入資料的一實體至邏輯映射資訊記錄至暫存於該緩衝記憶體的一第一映射表格中, 其中該記憶體管理電路更用以根據暫存於該緩衝記憶體中的該第一映射表格發送一寫入指令序列,以指示將對應於該寫入資料的該實體至邏輯映射資訊儲存至該可複寫式非揮發性記憶體模組中的一實體單元,其中該實體單元儲存有該寫入資料中的至少部分資料, 其中該記憶體管理電路更用以更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊,其中更新後的該實體至邏輯映射資訊僅包括對應於該寫入資料的該實體至邏輯映射資訊的部分資訊, 其中該記憶體管理電路更用以根據該第一映射表格所記錄之更新後的該實體至邏輯映射資訊來更新一第二映射表格。
- 如申請專利範圍第19項所述的記憶體控制電路單元,其中該記憶體管理電路將對應於該寫入資料的該實體至邏輯映射資訊記錄至該第一映射表格中的操作包括: 在該第一映射表格中保留一第一區域;以及 將對應於該寫入資料的該實體至邏輯映射資訊記錄至該第一映射表格中的一第二區域。
- 如申請專利範圍第20項所述的記憶體控制電路單元,其中該記憶體管理電路更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊的操作包括: 移除記錄於該第二區域的對應於該寫入資料的該實體至邏輯映射資訊;以及 將更新後的該實體至邏輯映射資訊紀錄至該第一區域中。
- 如申請專利範圍第19項所述的記憶體控制電路單元,其中該寫入資料包括一第一寫入資料與一第二寫入資料, 其中該記憶體管理電路更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊的操作包括: 將對應於該第一寫入資料的該實體至邏輯映射資訊保留於該第一映射表格中;以及 將對應於該第二寫入資料的該實體至邏輯映射資訊從該第一映射表格中移除。
- 如申請專利範圍第22項所述的記憶體控制電路單元,其中當接收到該寫入指令時,用以儲存該第二寫入資料的一邏輯單元的一邏輯至實體映射資訊是暫存於該緩衝記憶體中。
- 如申請專利範圍第19項所述的記憶體控制電路單元,其中該第一映射表格為一實體至邏輯映射表格,其中該第二映射表格為一邏輯至實體映射表格。
- 如申請專利範圍第19項所述的記憶體控制電路單元,其中更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊的操作僅在更新後的該實體至邏輯映射資訊的一資料大小不大於一預設大小時執行。
- 如申請專利範圍第19項所述的記憶體控制電路單元,其中該記憶體管理電路更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊的操作包括: 判斷用以儲存該寫入資料的至少一邏輯單元的一邏輯至實體映射資訊是否暫存於該緩衝記憶體中; 若用以儲存該寫入資料中的一第一寫入資料的一邏輯單元的該邏輯至實體映射資訊非暫存於該緩衝記憶體中,將對應於該第一寫入資料的該實體至邏輯映射資訊保留於該第一映射表格中;以及 若用以儲存該寫入資料中的一第二寫入資料的一邏輯單元的該邏輯至實體映射資訊是暫存於該緩衝記憶體中,將對應於該第二寫入資料的該實體至邏輯映射資訊從該第一映射表格中移除。
- 如申請專利範圍第19項所述的記憶體控制電路單元,其中該記憶體管理電路更新暫存於該緩衝記憶體的該第一映射表格所記錄的對應於該寫入資料的該實體至邏輯映射資訊的操作包括: 判斷暫存於該緩衝記憶體的該第一映射表格中是否存在同一個邏輯單元的多筆實體至邏輯映射資訊;以及 若暫存於該緩衝記憶體的該第一映射表格中存在所述同一個邏輯單元的該些實體至邏輯映射資訊,只保留所述同一個邏輯單元的該些實體至邏輯映射資訊的其中一筆資訊於該第一映射表格中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104125306A TWI575374B (zh) | 2015-08-04 | 2015-08-04 | 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元 |
US14/842,836 US20170039141A1 (en) | 2015-08-04 | 2015-09-02 | Mapping table updating method, memory storage device and memory control circuit unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104125306A TWI575374B (zh) | 2015-08-04 | 2015-08-04 | 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201706847A TW201706847A (zh) | 2017-02-16 |
TWI575374B true TWI575374B (zh) | 2017-03-21 |
Family
ID=58052615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104125306A TWI575374B (zh) | 2015-08-04 | 2015-08-04 | 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170039141A1 (zh) |
TW (1) | TWI575374B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI830373B (zh) * | 2022-05-18 | 2024-01-21 | 大陸商長鑫存儲技術有限公司 | 記憶體熱插拔方法及裝置、記憶體 |
US12008245B2 (en) | 2022-05-18 | 2024-06-11 | Changxin Memory Technologies, Inc. | Method and device for hot swapping memory, and memory |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170075855A (ko) * | 2015-12-23 | 2017-07-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
TWI641948B (zh) * | 2017-07-27 | 2018-11-21 | 群聯電子股份有限公司 | 資料儲存方法、記憶體控制電路單元及記憶體儲存裝置 |
US10628326B2 (en) | 2017-08-21 | 2020-04-21 | Micron Technology, Inc. | Logical to physical mapping |
TWI629591B (zh) * | 2017-08-30 | 2018-07-11 | 慧榮科技股份有限公司 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
TWI661300B (zh) * | 2017-09-15 | 2019-06-01 | 旺宏電子股份有限公司 | 記憶體的資料管理方法及記憶體裝置 |
KR20190044968A (ko) | 2017-10-23 | 2019-05-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
TWI648629B (zh) * | 2017-11-09 | 2019-01-21 | 合肥兆芯電子有限公司 | 映射表更新方法、記憶體控制電路單元與記憶體儲存裝置 |
KR102512727B1 (ko) | 2017-12-22 | 2023-03-22 | 삼성전자주식회사 | 가비지 컬렉션을 수행하는 스토리지 장치, 및 스토리지 장치의 가비지 컬렉션 방법 |
TWI679537B (zh) | 2018-03-09 | 2019-12-11 | 深圳大心電子科技有限公司 | 資料移動方法及儲存控制器 |
CN108897495B (zh) * | 2018-06-28 | 2023-10-03 | 北京五八信息技术有限公司 | 缓存更新方法、装置、缓存设备及存储介质 |
TWI702496B (zh) * | 2018-08-28 | 2020-08-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
TWI693516B (zh) * | 2018-11-13 | 2020-05-11 | 群聯電子股份有限公司 | 映射表更新方法、記憶體控制電路單元與記憶體儲存裝置 |
TWI720400B (zh) * | 2019-01-04 | 2021-03-01 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
KR20200139433A (ko) | 2019-06-04 | 2020-12-14 | 에스케이하이닉스 주식회사 | 컨트롤러의 동작 방법 및 메모리 시스템 |
KR20200137181A (ko) | 2019-05-29 | 2020-12-09 | 에스케이하이닉스 주식회사 | 메모리 시스템에서 맵정보를 전송하는 장치 |
KR20200123684A (ko) * | 2019-04-22 | 2020-10-30 | 에스케이하이닉스 주식회사 | 메모리 시스템에서 맵 정보를 전송하는 장치 |
KR102666123B1 (ko) | 2019-07-05 | 2024-05-16 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 |
US11422942B2 (en) | 2019-04-02 | 2022-08-23 | SK Hynix Inc. | Memory system for utilizing a memory included in an external device |
KR20200118994A (ko) * | 2019-04-09 | 2020-10-19 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 |
US11663139B2 (en) * | 2019-04-22 | 2023-05-30 | SK Hynix Inc. | Apparatus for transmitting map information in memory system |
JP2021005121A (ja) * | 2019-06-25 | 2021-01-14 | 株式会社日立製作所 | ストレージ装置、及び制御方法 |
TWI813978B (zh) * | 2021-04-16 | 2023-09-01 | 群聯電子股份有限公司 | 快閃記憶體控制方法、快閃記憶體儲存裝置及快閃記憶體控制器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070233937A1 (en) * | 2006-03-31 | 2007-10-04 | Coulson Richard L | Reliability of write operations to a non-volatile memory |
US20090164704A1 (en) * | 2007-12-21 | 2009-06-25 | Spansion Llc | High performance flash channel interface |
US20090164750A1 (en) * | 2007-12-21 | 2009-06-25 | Spansion Llc | Data commit on multicycle pass complete without error |
US20090198875A1 (en) * | 2008-02-05 | 2009-08-06 | Phison Electronics Corp. | Data writing method for flash memory, and controller and system using the same |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8027194B2 (en) * | 1988-06-13 | 2011-09-27 | Samsung Electronics Co., Ltd. | Memory system and method of accessing a semiconductor memory device |
US6901499B2 (en) * | 2002-02-27 | 2005-05-31 | Microsoft Corp. | System and method for tracking data stored in a flash memory device |
JP4058322B2 (ja) * | 2002-10-07 | 2008-03-05 | 株式会社ルネサステクノロジ | メモリカード |
US7397794B1 (en) * | 2002-11-21 | 2008-07-08 | Juniper Networks, Inc. | Systems and methods for implementing virtual switch planes in a physical switch fabric |
US7711923B2 (en) * | 2006-06-23 | 2010-05-04 | Microsoft Corporation | Persistent flash memory mapping table |
JP5037952B2 (ja) * | 2007-01-15 | 2012-10-03 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの制御方法 |
KR101395778B1 (ko) * | 2007-03-14 | 2014-05-19 | 삼성전자주식회사 | 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법 |
US8131927B2 (en) * | 2007-11-30 | 2012-03-06 | Hitachi, Ltd. | Fast accessible compressed thin provisioning volume |
TWI385519B (zh) * | 2008-04-18 | 2013-02-11 | Phison Electronics Corp | 資料寫入方法及使用此方法的快閃儲存系統與其控制器 |
US9043555B1 (en) * | 2009-02-25 | 2015-05-26 | Netapp, Inc. | Single instance buffer cache method and system |
US8266408B2 (en) * | 2009-03-17 | 2012-09-11 | Memoir Systems, Inc. | System and method for storing data in a virtualized high speed memory system |
WO2010137179A1 (en) * | 2009-05-25 | 2010-12-02 | Hitachi,Ltd. | Computer system and its data control method |
KR101594029B1 (ko) * | 2009-07-06 | 2016-02-16 | 삼성전자주식회사 | 데이터 조작 방법 및 그 방법을 이용하는 시스템 장치 |
US8601222B2 (en) * | 2010-05-13 | 2013-12-03 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
KR101678911B1 (ko) * | 2010-03-12 | 2016-11-23 | 삼성전자주식회사 | 데이터 저장 장치 및 그것을 포함하는 컴퓨팅 시스템 |
TWI479505B (zh) * | 2010-12-16 | 2015-04-01 | Phison Electronics Corp | 資料管理方法、記憶體控制器與記憶體儲存裝置 |
US8732403B1 (en) * | 2012-03-14 | 2014-05-20 | Netapp, Inc. | Deduplication of data blocks on storage devices |
US8554963B1 (en) * | 2012-03-23 | 2013-10-08 | DSSD, Inc. | Storage system with multicast DMA and unified address space |
JP5826949B2 (ja) * | 2012-05-11 | 2015-12-02 | 株式会社日立製作所 | ストレージ装置及びデータ管理方法 |
TWI495998B (zh) * | 2012-08-01 | 2015-08-11 | Phison Electronics Corp | 資料管理方法、記憶體控制器與記憶體儲存裝置 |
US10282286B2 (en) * | 2012-09-14 | 2019-05-07 | Micron Technology, Inc. | Address mapping using a data unit type that is variable |
US10318495B2 (en) * | 2012-09-24 | 2019-06-11 | Sandisk Technologies Llc | Snapshots for a non-volatile device |
US9348758B2 (en) * | 2012-09-24 | 2016-05-24 | Sk Hynix Memory Solutions Inc. | Virtual addressing with multiple lookup tables and RAID stripes |
US8954656B2 (en) * | 2012-12-20 | 2015-02-10 | Sandisk Technologies Inc. | Method and system for reducing mapping table size in a storage device |
US20140281129A1 (en) * | 2013-03-15 | 2014-09-18 | Tal Heller | Data tag sharing from host to storage systems |
KR101453313B1 (ko) * | 2013-03-25 | 2014-10-22 | 아주대학교산학협력단 | 플래시 메모리 기반의 페이지 주소 사상 방법 및 시스템 |
US20140297921A1 (en) * | 2013-03-26 | 2014-10-02 | Skymedi Corporation | Method of Partitioning Physical Block and Memory System Thereof |
TWI501243B (zh) * | 2013-11-12 | 2015-09-21 | Phison Electronics Corp | 資料寫入方法、記憶體儲存裝置、記憶體控制電路單元 |
US9632880B2 (en) * | 2013-12-26 | 2017-04-25 | Silicon Motion, Inc. | Data storage device and flash memory control method |
KR102252419B1 (ko) * | 2014-01-09 | 2021-05-14 | 한국전자통신연구원 | 플래시 메모리 장치를 위한 주소변환 시스템 및 그 방법 |
US9305665B2 (en) * | 2014-03-31 | 2016-04-05 | Kabushiki Kaisha Toshiba | Memory system and method of controlling memory system |
-
2015
- 2015-08-04 TW TW104125306A patent/TWI575374B/zh active
- 2015-09-02 US US14/842,836 patent/US20170039141A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070233937A1 (en) * | 2006-03-31 | 2007-10-04 | Coulson Richard L | Reliability of write operations to a non-volatile memory |
US20090164704A1 (en) * | 2007-12-21 | 2009-06-25 | Spansion Llc | High performance flash channel interface |
US20090164750A1 (en) * | 2007-12-21 | 2009-06-25 | Spansion Llc | Data commit on multicycle pass complete without error |
US20090198875A1 (en) * | 2008-02-05 | 2009-08-06 | Phison Electronics Corp. | Data writing method for flash memory, and controller and system using the same |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI830373B (zh) * | 2022-05-18 | 2024-01-21 | 大陸商長鑫存儲技術有限公司 | 記憶體熱插拔方法及裝置、記憶體 |
US12008245B2 (en) | 2022-05-18 | 2024-06-11 | Changxin Memory Technologies, Inc. | Method and device for hot swapping memory, and memory |
Also Published As
Publication number | Publication date |
---|---|
US20170039141A1 (en) | 2017-02-09 |
TW201706847A (zh) | 2017-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI575374B (zh) | 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI592799B (zh) | 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置 | |
US9530509B2 (en) | Data programming method, memory storage device and memory control circuit unit | |
CN110879793B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN106445401B (zh) | 表格更新方法、存储器储存装置及存储器控制电路单元 | |
TWI554885B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI479315B (zh) | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 | |
TW202009711A (zh) | 資料整併方法、記憶體儲存裝置及記憶體控制電路單元 | |
US11748026B2 (en) | Mapping information recording method, memory control circuit unit, and memory storage device | |
US11010290B2 (en) | Method for reading management information according to updating data reflecting both of host write and data merge, memory storage device and memory control circuit unit | |
US11755242B2 (en) | Data merging method, memory storage device for updating copied L2P mapping table according to the physical address of physical unit | |
CN112051971B (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
TWI631460B (zh) | 資料讀取方法、記憶體控制電路單元與記憶體儲存裝置 | |
US10346040B2 (en) | Data merging management method based on data type, memory storage device and memory control circuit unit | |
TWI550625B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN112988076B (zh) | 快闪存储器控制方法、存储装置及控制器 | |
CN112394883B (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
TWI554884B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN110096215B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
TWI653531B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
US11561719B2 (en) | Flash memory control method of re-programming memory cells before erase operations, flash memory storage device and flash memory controller | |
TWI813362B (zh) | 部分抹除管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI823792B (zh) | 映射表更新方法、記憶體儲存裝置及記憶體控制電路單元 | |
US10942680B2 (en) | Data writing method, memory storage device and memory control circuit unit | |
TW202219946A (zh) | 資料整併方法、記憶體儲存裝置及記憶體控制電路單元 |