TWI436212B - 資料寫入方法、記憶體控制器與記憶體儲存裝置 - Google Patents

資料寫入方法、記憶體控制器與記憶體儲存裝置 Download PDF

Info

Publication number
TWI436212B
TWI436212B TW100125797A TW100125797A TWI436212B TW I436212 B TWI436212 B TW I436212B TW 100125797 A TW100125797 A TW 100125797A TW 100125797 A TW100125797 A TW 100125797A TW I436212 B TWI436212 B TW I436212B
Authority
TW
Taiwan
Prior art keywords
data
page
logical
storage
valid
Prior art date
Application number
TW100125797A
Other languages
English (en)
Other versions
TW201305818A (zh
Inventor
Chih Kang Yeh
Original Assignee
Phison Electronics Corp
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 Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to TW100125797A priority Critical patent/TWI436212B/zh
Priority to US13/253,981 priority patent/US8667234B2/en
Publication of TW201305818A publication Critical patent/TW201305818A/zh
Priority to US14/151,841 priority patent/US9021218B2/en
Application granted granted Critical
Publication of TWI436212B publication Critical patent/TWI436212B/zh

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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • 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/7209Validity control, e.g. using flags, time stamps or sequence numbers

Description

資料寫入方法、記憶體控制器與記憶體儲存裝置
本發明是有關於一種用於可複寫式非揮發性記憶體模組的資料寫入方法及使用此方法的記憶體控制器與記憶體儲存裝置。
數位相機、手機與MP3在這幾年來的成長十分迅速,促使消費者對儲存媒體的需求也急遽增加。由於可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、低耗電、體積小、無機械結構且讀寫速度快等特性,最適合用在可攜式電子產品,例如手機、個人數位助理與筆記型電腦等。例如,目前備受注目的固態硬碟就是一種以快閃記憶體作為儲存媒體的儲存裝置。因此,近年來快閃記憶體產業已成為電子產業中相當熱門的一環。
可複寫式非揮發性記憶體模組具有多個實體區塊(physical block),且每一實體區塊具有多個實體頁面(physical page),其中在實體區塊中寫入資料時必須根據實體頁面的順序依序地寫入資料。此外,已被寫入資料之實體頁面必需先被抹除後才能再次用於寫入資料。特別是,實體區塊為抹除之最小單位,並且實體頁面為程式化(亦稱寫入)的最小單元。
因此,為提升運作效率,一般來說,記憶體儲存裝置的記憶體控制器會將可複寫式非揮發性記憶體模組的實體 區塊區分為資料區與閒置區。
資料區的實體區塊是用以儲存主機系統所寫入之資料。具體來說,記憶體管理電路會將主機系統所存取的邏輯存取位址轉換為邏輯區塊的邏輯頁面,並且將邏輯區塊的邏輯頁面映射至資料區的實體區塊的實體頁面。也就是說,在快閃記憶體模組的管理上,資料區的實體區塊被視為已使用的實體區塊(例如,已儲存主機系統所寫入的資料)。另外,記憶體管理電路會使用邏輯區塊-實體區塊映射表(logical block-physical block mapping table)來記載邏輯區塊與資料區的實體區塊的映射關係,其中邏輯區塊中的邏輯頁面依序地對應所映射之實體區塊的實體頁面。
閒置區的實體區塊是用以輪替資料區中的實體區塊。具體來說,已寫入資料的實體區塊必須被抹除後才可再次用於寫入資料,而閒置區的實體區塊是被設計用於寫入更新資料以替換原先映射邏輯區塊的實體區塊。基此,閒置區中的實體區塊為空的或可使用的區塊,即無記錄資料或標記為已沒用的無效資料。
也就是說,當記憶體儲存裝置的儲存空間被格式化時,資料區的實體區塊會被映射至邏輯區塊並且資料區的實體區塊被視為已儲存更新資料。之後,當主機系統欲儲存資料至邏輯區塊的邏輯頁面時,記憶體控制器會從閒置區中提取一個空的實體區塊並且將此資料寫入至所提取之實體區塊中的實體頁面中,由此完成此邏輯頁面上之資料的更新。然而,如上所述,實體頁面為程式化(亦稱寫入) 的最小單元,因此,當主機系統僅欲更新一個邏輯頁面中的部分資料(即,欲寫入之資料量小於一個頁面容量)時,記憶體控制器必須從原始映射此邏輯頁面的實體頁面中讀取未被更新的資料,整理(arrange)欲更新之資料與未更新之資料以產生完整的有效頁面資料,然後再將此有效頁面資料寫入至空的實體頁面中。
隨著半導體技術的發展,可複寫式非揮發性記憶體模組的每一實體頁面的頁面容量亦越來越大。例如,目前可複寫式非揮發性記憶體模組的每一實體頁面已普遍被設計為可儲存8千位元組(Kilobyte,KB)的使用者資料(即,頁面容量為8千位元組)。然而,主機系統(例如,個人電腦)的作業系統經常是以較小的單位來儲存資料。例如,微軟的視窗作業系統7會經常地儲存資料量為4千位元組的資料。因此,記憶體控制器需頻繁地進行有效資料的讀取與整理,才能將資料寫入至實體頁面中,因而嚴重影響記憶體儲存裝置的寫入速度。
本發明提供一種資料寫入方法、記憶體控制器與記憶體儲存裝置,其能夠在無需執行有效頁面資料整理下快速地將資料寫入至實體頁面中。
本發明一範例實施例提出一種資料寫入方法,用於將更新資料寫入至可複寫式非揮發性記憶體模組中,其中此可複寫式非揮發性記憶體模組具有多個實體頁面,此些實 體頁面輪替地映射多個邏輯頁面,此更新資料屬於該些邏輯頁面之中的第一邏輯頁面並且此更新資料是從第一邏輯頁面的邏輯偏移位址開始被依序地儲存至第一邏輯頁面中。本資料寫入方法包括依序地將此些實體頁面之中的一第一實體頁面劃分為多個儲存區段並且為每一儲存區段配置一狀態標記,其中每一儲存區段具有一起始實體偏移位址並且此些狀態標記初始地被記錄成無效狀態。本資料寫入方法也包括判斷此更新資料的大小是否小於資料存取單位,其中此資料存取單位等於每一實體頁面的頁面容量。本資料寫入方法還包括,當判斷此更新資料的大小小於資料存取單位時,更判斷對應此更新資料之邏輯偏移位址是否對應第一實體頁面中其中一個儲存區段的起始實體偏移位址並且判斷此更新資料的大小是否等於此儲存區段的區段容量。本資料寫入方法更包括,當判斷對應此更新資料的邏輯偏移位址是對應其中一個儲存區段的起始實體偏移位址並且此更新資料的大小等於此儲存區段的區段容量時,將此更新資料寫入至此儲存區段中並且將對應此儲存區段的狀態標記記錄成有效狀態,其中在將此更新資料寫入至此儲存區段時,其他儲存區段不會被寫入屬於此第一邏輯頁面之其他邏輯偏移位址的有效資料。
在本發明之一實施例中,上述之資料寫入方法更包括,當判斷更新資料的大小非小於資料存取單位時,將更新資料寫入至第一實體頁面中並且將每一儲存區段的狀態標記記錄成有效狀態。
在本發明之一實施例中,上述之資料寫入方法更包括,當判斷對應更新資料的邏輯偏移位址未對應該些儲存區段之中的任一個儲存區段的起始實體偏移位址或者更新資料的大小不等於此儲存區段的區段容量時,從可複寫式非揮發性記憶體模組中的其他實體頁面中讀取屬於第一邏輯頁面的有效資料,依據更新資料所對應的邏輯偏移位址與有效資料所對應的其他邏輯偏移位址整理(arrange)此更新資料與有效資料以產生有效頁面資料,將有效頁面資料寫入至第一實體頁面中並且將每一儲存區段的狀態標記記錄成有效狀態。
本發明一範例實施例提出一種資料寫入方法,用於將儲存至一個邏輯頁面的更新資料寫入至可複寫式非揮發性記憶體模組的一個實體頁面中,其中此更新資料是從此邏輯頁面的邏輯偏移位址開始被儲存至此邏輯頁面中。本資料寫入方法包括依序地將此實體頁面劃分為第一儲存區段與第二儲存區段,其中第一儲存區段具有第一起始實體偏移位址,第二儲存區段具有第二起始實體偏移位址並且第一儲存區段與第二儲存區段具有相同的區段容量。本資料寫入方法也包括為第一儲存區段與第二儲存區段分別地配置第一狀態標記與第二狀態標記,其中第一狀態標記與第二標記初始地被記錄成無效狀態。本資料寫入方法還包括判斷此更新資料的大小是否小於資料存取單位,其中資料存取單位等於此實體頁面的頁面容量。本資料寫入方法也包括,當判斷此更新資料的大小小於資料存取單位時,更 判斷對應更新資料的邏輯偏移位址是否對應第一起始實體偏移位址或第二起始實體偏移位址。本資料寫入方法還包括,當判斷對應更新資料的邏輯偏移位址對應第一起始實體偏移位址時,更判斷此更新資料的大小是否等於區段容量。本資料寫入方法更包括,當此更新資料的大小等於區段容量時,將此更新資料寫入至第一儲存區段中並且將第一狀態標記記錄成有效狀態,其中在將此更新資料寫入至第一儲存區段時,第二儲存區段不會被寫入屬於此邏輯頁面之其他邏輯偏移位址的有效資料。
在本發明之一實施例中,上述之資料寫入方法更包括,當判斷對應更新資料的邏輯偏移位址是對應該第二起始實體偏移位址時,更判斷此更新資料的大小是否等於區段容量。並且,本資料方法更包括,當判斷此更新資料的大小等於區段容量時,將此更新資料寫入至第二儲存區段中並且將第二狀態標記記錄成有效狀態,其中在將此更新資料寫入至第二儲存區段時,第一儲存區段不會被寫入屬於此邏輯頁面之其他邏輯偏移位址的有效資料。
在本發明之一實施例中,上述之資料寫入方法更包括,當判斷此更新資料的大小非小於資料存取單位時,將此更新資料寫入至實體頁面中並且將第一狀態標記與第二狀態標記皆記錄成有效狀態。
在本發明之一實施例中,上述之資料寫入方法更包括,當判斷邏輯偏移位址未對應第一起始實體偏移位址或第二起始實體偏移位址時,從可複寫式非揮發性記憶體模 組中的其他實體頁面中讀取屬於此邏輯頁面之其他邏輯偏移位址的有效資料,依據此更新資料所對應的邏輯偏移位址與此有效資料所對應的其他邏輯偏移位址整理(arrange)此更新資料與有效資料以產生有效頁面資料,將有效頁面資料寫入至此實體頁面中並且將第一狀態標記與第二狀態標記皆記錄成有效狀態。
在本發明之一實施例中,上述之資料寫入方法更包括,當判斷此更新資料的大小不等於區段容量時,從可複寫式非揮發性記憶體模組中的其他實體頁面中讀取屬於此邏輯頁面之其他邏輯偏移位址的有效資料,依據此更新資料所對應的邏輯偏移位址與此有效資料所對應的其他邏輯偏移位址整理(arrange)此更新資料與有效資料以產生有效頁面資料,將有效頁面資料寫入至此實體頁面中並且將第一狀態標記與第二狀態標記皆記錄成有效狀態。
在本發明之一實施例中,上述之實體頁面的大小為8千位元組,並且依序地將此實體頁面劃分為第一儲存區段與第二儲存區段的步驟包括:將此實體頁面之中前面4千位元組的儲存空間劃分為第一儲存區段並且將此實體頁面之中後面4千位元組的儲存空間劃分為第二儲存區段。
本發明一範例實施例提出一種記憶體控制器,用於控制可複寫式非揮發性記憶體模組。本記憶體控制器包括主機介面、記憶體介面、微控制器、記憶體管理單元、資料處理單元與記憶體寫入單元。主機介面用以耦接至主機系統。記憶體介面用以耦接至可複寫式非揮發性記憶體模 組,其中可複寫式非揮發性記憶體模組具有多個實體頁面。微控制器耦接至主機介面與記憶體介面。記憶體管理單元、資料處理單元與記憶體寫入單元耦接至微控制器。在此,記憶體管理單元用以配置多個邏輯頁面並且指派此些實體頁面來輪替地映射邏輯頁面。主機介面用以從主機系統接收更新資料,其中此更新資料屬於此些邏輯頁面之中的第一邏輯頁面並且此更新資料是從第一邏輯頁面的邏輯偏移位址開始被依序地儲存至第一邏輯頁面中。記憶體管理單元依序地將此些實體頁面之中的第一實體頁面劃分為多個儲存區段並且為每一儲存區段配置一個狀態標記,其中每一儲存區段具有一起始實體偏移位址並且此些狀態標記初始地被記錄成無效狀態。資料處理單元會判斷此更新資料的大小是否小於資料存取單位,其中此資料存取單位等於每一實體頁面的頁面容量。當此更新資料的大小小於資料存取單位時,資料處理單元更判斷對應更新資料的邏輯偏移位址是否對應其中一個儲存區段的起始實體偏移位址並且判斷此更新資料的大小是否等於此儲存區段的區段容量。當對應更新資料的邏輯偏移位址對應其中一個儲存區段的起始實體偏移位址並且此更新資料的大小等於此儲存區段的區段容量時,記憶體寫入單元將此更新資料寫入至此儲存區段中並且將對應此儲存區段的狀態標記記錄成有效狀態,其中在將此更新資料寫入至此儲存區段時,其他儲存區段不會被寫入屬於此第一邏輯頁面之其他邏輯偏移位址的有效資料。
在本發明之一實施例中,當此更新資料的大小非小於資料存取單位時,記憶體寫入單元將此更新資料寫入至第一實體頁面中並且將每一儲存區段的狀態標記記錄成有效狀態。
在本發明之一實施例中,上述之記憶體控制器更包括記憶體讀取單元。當邏輯偏移位址未對應任一個儲存區段的起始實體偏移位址或者此更新資料的大小不等於此儲存區段的區段容量時,記憶體讀取單元從可複寫式非揮發性記憶體模組中的其他實體頁面中讀取屬於第一邏輯頁面的有效資料,資料處理單元依據此更新資料所對應的邏輯偏移位址與此有效資料所對應的其他邏輯偏移位址整理(arrange)此更新資料與有效資料以產生有效頁面資料,並且記憶體寫入單元將此有效頁面資料寫入至第一實體頁面中且將每一儲存區段的狀態標記記錄成有效狀態。
本發明一範例實施例提出一種記憶體儲存裝置,其包括連接器、可複寫式非揮發性記憶體模組與記憶體控制器。連接器用以耦接至主機系統。可複寫式非揮發性記憶體模組具有多個實體頁面。記憶體控制器耦接至可複寫式非揮發性記憶體模組與連接器。在此,記憶體控制器用以配置多個邏輯頁面並且指派此些實體頁面來輪替地映射邏輯頁面。此外,連接器用以從主機系統接收更新資料,其中此更新資料屬於此些邏輯頁面之中的第一邏輯頁面並且此更新資料是從第一邏輯頁面的邏輯偏移位址開始被依序地儲存至第一邏輯頁面中。記憶體控制器會依序地將此些 實體頁面之中的第一實體頁面劃分為多個儲存區段並且為每一儲存區段配置一個狀態標記,其中每一儲存區段具有起始實體偏移位址並且此些狀態標記初始地被記錄成無效狀態。記憶體控制器會判斷此更新資料的大小是否小於資料存取單位,其中此資料存取單位等於每一實體頁面的頁面容量。當此更新資料的大小小於資料存取單位時,記憶體控制器更判斷對應更新資料的邏輯偏移位址是否對應其中一個儲存區段的起始實體偏移位址並且判斷此更新資料的大小是否等於此儲存區段的區段容量。當對應更新資料的邏輯偏移位址是對應其中一個儲存區段的起始實體偏移位址並且更新資料的大小等於此儲存區段的區段容量時,記憶體控制器將此更新資料寫入至此儲存區段中並且將對應此儲存區段的狀態標記記錄成有效狀態,其中在將此更新資料寫入至此儲存區段時,其他儲存區段不會被寫入屬於第一邏輯頁面之其他邏輯偏移位址的有效資料。
在本發明之一實施例中,當此更新資料的大小非小於資料存取單位時,記憶體控制器將此更新資料寫入至第一實體頁面中並且將每一儲存區段的該狀態標記記錄成有效狀態。
在本發明之一實施例中,當對應更新資料的邏輯偏移位址未對應任一個儲存區段的起始實體偏移位址或者此更新資料的大小不等於此儲存區段的區段容量時,記憶體控制器從可複寫式非揮發性記憶體模組中的其他實體頁面中讀取屬於第一邏輯頁面之其他邏輯偏移位址的有效資料, 依據此更新資料所對應的邏輯偏移位址與有效資料所對應的其他邏輯偏移位址整理(arrange)此更新資料與有效資料以產生有效頁面資料,將此有效頁面資料寫入至第一實體頁面中並且將每一儲存區段的狀態標記記錄成有效狀態。
在本發明之一實施例中,每一實體頁面的大小為8千位元組並且每一儲存區段的大小為4千位元組。
本發明一範例實施例提出一種資料寫入方法,用於將一更新資料寫入至一快閃記憶體模組中,其中此快閃記憶體模組具有多個實體頁面,此些實體頁面輪替地映射多個邏輯頁面,此更新資料屬於此些邏輯頁面之中的一第一邏輯頁面,其中每一實體頁面為該快閃記憶體模組之資料存取單位。本資料寫入方法包括將此些實體頁面之中的一第一實體頁面劃分為多個儲存區段;以及為每一儲存區段配置一狀態標記,用以標記各儲存區段所儲存的資料的有效性。本資料寫入方法也包括將更新資料寫入此些儲存區段之中的至少一儲存區段;及修改寫入此更新資料的儲存區段對應之狀態標記,其中在第一實體頁面中儲存更新資料之儲存區段的狀態標記之狀態為有效,並且非儲存更新資料之其他儲存區段的狀態標記之狀態為無效。
基於上述,本發明範例實施例的資料寫入方法、記憶體控制器與記憶體儲存裝置能夠有效地縮短寫入資料的時間。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
在本發明中,每個實體頁面會被區分為多個儲存區段並且當寫入資料時,僅被更新的儲存區段會被寫入更新資料,而未更新的儲存區段不會被填補未更新的資料。請參照圖1,具體來說,當欲寫入更新資料至可複寫式非揮發性記憶體模組(例如,快閃記憶體模組)的一個實體頁面(以下稱為第一實體頁面)時,第一實體頁面會被劃分為多個儲存區段(S101),並且每一儲存區段會被對應地配置一狀態標記(S103),其中此些狀態標記用以分別地標記此些儲存區段所儲存的資料的有效性。然後,此更新資料寫入會被寫入至此些儲存區段之中的至少一儲存區段(S105)並且用以寫入此更新資料的儲存區段所對應之狀態標記會被修改(S107),其中在儲存更新資料之儲存區段的狀態標記之狀態為有效,並且非儲存更新資料之其他儲存區段的狀態標記之狀態為無效。由此,由於無需填補為更新之資料,因此,可大幅縮短寫入資料所需的時間。以下將以數個範例實施例與圖式來更清楚描述本發明。
圖2A是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
請參照圖2A,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108與資料傳輸介面1110。輸入/輸出裝置1106包括如圖2B的滑鼠1202、鍵盤1204、顯示器1206 與印表機1208。必須瞭解的是,圖2B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明實施例中,記憶體儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的運作可將資料寫入至記憶體儲存裝置100或從記憶體儲存裝置100中讀取資料。例如,記憶體儲存裝置100可以是如圖2B所示的隨身碟1212、記憶卡1214或固態硬碟(Solid State Drive,SSD)1216等的可複寫式非揮發性記憶體儲存裝置。
一般而言,主機系統1000可實質地為可與記憶體儲存裝置100配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統1000是以電腦系統來作說明,然而,在本發明另一範例實施例中主機系統1000可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機(攝影機)1310時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、CF卡1318或嵌入式儲存裝置1320(如圖2C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖3是根據一範例實施例所繪示之記憶體儲存裝置的概要方塊圖。
請參照圖3,記憶體儲存裝置100包括連接器102、 記憶體控制器104與可複寫式非揮發性記憶體模組106。
在本範例實施例中,連接器102是相容於序列先進附件(Serial Advanced Technology Attachment,SATA)標準。然而,必須瞭解的是,本發明不限於此,連接器102亦可以是符合電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準、平行先進附件(Parallel Advanced Technology Attachment,PATA)標準、通用序列匯流排(Universal Serial Bus,USB)標準、安全數位(Secure Digital,SD)介面標準、記憶棒(Memory Stick,MS)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、小型快閃(Compact Flash,CF)介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。
記憶體控制器104用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統1000的指令在可複寫式非揮發性記憶體模組106中進行資料的寫入、讀取、抹除與合併等運作。
可複寫式非揮發性記憶體模組106是耦接至記憶體控制器104,並且具有多個實體區塊以儲存主機系統1000所寫入之資料。在本範例實施例中,每一實體區塊分別具有複數個實體頁面,其中屬於同一個實體區塊之實體頁面可被獨立地寫入且被同時地抹除。例如,每一實體區塊是由 128個實體頁面所組成,並且每一實體頁面的容量為8千位元組(Kilobyte,KB)。然而,必須瞭解的是,本發明不限於此,每一實體區塊亦可由64個實體頁面、256個實體頁面或其他任意個實體頁面所組成。
更詳細來說,實體區塊為抹除之最小單位。亦即,每一實體區塊含有最小數目之一併被抹除之記憶胞。實體頁面為程式化的最小單元。即,實體頁面為寫入資料的最小單元。具體來說,在記憶體控制器104對可複寫式非揮發性記憶體模組106下達寫入指令之後,可複寫式非揮發性記憶體模組106會從記憶體控制器104接收屬於1個實體頁面的資料並且暫存於其之緩衝記憶體(未繪示)中,然後,資料會一起被程式化至一個實體頁面中。
每一實體頁面通常包括資料位元區與冗餘位元區。資料位元區用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,錯誤檢查與校正碼)。在此,資料位元區的大小即為一個頁面容量,其亦稱為資料存取單位。
在本範例實施例中,可複寫式非揮發性記憶體模組106為多階記憶胞(Multi Level Cell,MLC)NAND快閃記憶體模組。然而,本發明不限於此,可複寫式非揮發性記憶體模組106亦可是單階記憶胞(Single Level Cell,SLC)NAND快閃記憶體模組、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖4是根據一範例實施例所繪示之記憶體控制器的概要方塊圖。
請參照圖4,記憶體控制器104包括微控制器302、主機介面304、記憶體介面306、記憶體管理單元308、記憶體寫入單元310、記憶體讀取單元312、記憶體抹除單元314與資料處理單元316。
微控制器302用以控制記憶體控制器104的整體運作。
主機介面304是耦接至微控制器302並且用以接收與識別主機系統1000所傳送的指令與資料。在本範例實施例中,主機介面304是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面304亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、MS標準、MMC標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面306是耦接至微控制器302並且用以存取可複寫式非揮發性記憶體模組106。也就是說,欲寫入至可複寫式非揮發性記憶體模組106的資料會經由記憶體介面306轉換為可複寫式非揮發性記憶體模組106所能接受的格式。
記憶體管理單元308、記憶體寫入單元310、記憶體讀取單元312、記憶體抹除單元314與資料處理單元316是耦接至該微控制器302。在此,記憶體管理單元308用以管理可複寫式非揮發性記憶體模組106的實體區塊。記憶體寫入單元310用以對可複寫式非揮發性記憶體模組106下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組106中。記憶體讀取單元312用以對可複寫式非揮 發性記憶體模組106下達讀取指令以從可複寫式非揮發性記憶體模組106中讀取資料。記憶體抹除單元314用以對可複寫式非揮發性記憶體模組106下達抹除指令以將資料從可複寫式非揮發性記憶體模組106中抹除。而資料處理單元316用以處理欲寫入至可複寫式非揮發性記憶體模組106的資料以及從可複寫式非揮發性記憶體模組106中讀取的資料。
圖5A與圖5B是根據一範例實施例所繪示管理可複寫式非揮發性記憶體模組之實體區塊的示意圖。
請參照圖5A,可複寫式非揮發性記憶體模組106具有實體區塊410(0)~410(N),並且記憶體控制器104的記憶體管理單元308會將實體區塊410(0)~410-(N)邏輯地分組為資料區(data area)502、閒置區(free area)504、系統區(system area)506與取代區(replacement area)508。
邏輯上屬於資料區502與閒置區504的實體區塊是用以儲存來自於主機系統1000的資料。具體來說,資料區502的實體區塊(亦稱為資料實體區塊)是被視為已儲存資料的實體區塊,而閒置區504的實體區塊(亦稱為閒置實體區塊)是用以寫入新資料的實體區塊。例如,當從主機系統1000接收到寫入指令與欲寫入之資料時,記憶體管理單元308會從閒置區504中提取實體區塊,資料處理單元316會整理欲寫入之資料並且記憶體寫入單元310會將資料寫入至所提取的實體區塊中。再例如,當對某一邏輯區塊執行資料合併程序時,記憶體管理單元308會從閒置區504 中提取實體區塊作為對應此邏輯區塊的新資料實體區塊,記憶體讀取單元312會從可複寫式非揮發性記憶體模組106中讀取屬於此邏輯區塊的有效資料,資料處理單元316會整理此些有效資料,記憶體寫入單元310會將整理後的有效資料寫入至新資料實體區塊中,並且記憶體管理單元308會將此邏輯區塊重新映射至新資料實體區塊。特別是,在完成資料合併程序後,記憶體管理單元308會將儲存無效資料的資料實體區塊重新關聯(或回收)至閒置區504,以作為下次寫入新資料之用。例如,記憶體抹除單元314會在實體區塊被關聯至閒置區504時對此實體區塊執行抹除運作或者當實體區塊從閒置區504中被提取時對此實體區塊執行抹除運作,以使得從閒置區504中所提取的實體區塊為可用於寫入資料的空實體區塊。
邏輯上屬於系統區506的實體區塊是用以記錄系統資料。例如,系統資料包括關於可複寫式非揮發性記憶體模組的製造商與型號、可複寫式非揮發性記憶體模組的實體區塊數、每一實體區塊的實體頁面數等。
邏輯上屬於取代區508中的實體區塊是用於壞實體區塊取代程序,以取代損壞的實體區塊。具體來說,倘若取代區508中仍存有正常之實體區塊並且資料區502的實體區塊損壞時,記憶體管理單元308會從取代區508中提取正常的實體區塊來更換損壞的實體區塊。
基於上述,在記憶體儲存裝置100的運作中,資料區502、閒置區504、系統區506與取代區508的實體區塊會 動態地變動。例如,用以輪替儲存資料的實體區塊會變動地屬於資料區502或閒置區504。
值得一提的是,在本範例實施例中,記憶體管理單元308是以每一實體區塊為單位來進行管理。然而,本發明不限於此,在另一範例實施例中,記憶體管理單元308亦可將實體區塊分組為多個實體單元,並且以實體單元為單位來進行管理。例如,每一實體單元可由同一記憶體晶粒(die)或不同記憶體晶粒中的至少一個實體區塊所組成。
請參照圖5B,記憶體管理單元308會配置邏輯區塊610(0)~610(H)以映射資料區502的實體區塊,其中每一邏輯區塊具有多個邏輯頁面並且此些邏輯頁面是依序地映射對應之資料實體區塊的實體頁面。例如,在記憶體儲存裝置100被格式化時,邏輯區塊610(0)~610(H)會初始地映射資料區502的實體區塊410(0)~410(F-1)。
在本發明範例實施例中,記憶體管理單元308會維護邏輯區塊-實體區塊映射表(logical block-physical block mapping table)以記錄邏輯區塊610(0)~610(H)與資料區502的實體區塊之間的映射關係。此外,主機系統1000是以邏輯存取位址為單位來存取資料。例如,一個邏輯存取位址為一個邏輯扇區(Sector)。當主機系統1000存取資料時,記憶體管理單元308會將對應記憶體儲存裝置100的邏輯存取位址710(0)~710(K)轉換成對應之邏輯頁面內的位址。例如,當主機系統1000欲存取某一邏輯存取位址時,記憶體管理單元308會將主機系統1000所存取的邏輯存取 位址轉換為以對應的邏輯區塊、邏輯頁面與邏輯偏移(offset)所構成的多維位址,並且透過邏輯區塊-實體區塊映射表於對應的實體頁面中存取資料。在此,偏移是用以定位在一個邏輯頁面(或實體頁面)中的一個邏輯(或實體)位址,其是定義為此邏輯(或實體)位址與此邏輯頁面(或實體頁面)的起始位址之間的距離,其中此邏輯(或實體)位址亦稱為邏輯(實體)偏移位址。
圖6~圖8是根據一範例實施例所繪示的使用子實體區塊來寫入更新資料的範例。
請同時參照圖6~圖8,例如,在邏輯區塊610(0)是映射至實體區塊410(0)的映射狀態下,當記憶體控制器104從主機系統1000中接收到寫入指令而欲寫入資料至屬於邏輯區塊610(0)的邏輯頁面時,記憶體控制器104會依據邏輯區塊-實體區塊映射表識別邏輯區塊610(0)目前是映射至實體區塊410(0)並且從閒置區504中提取實體區塊410(F)來輪替實體區塊410(0)。然而,當新資料寫入至實體區塊410(F)的同時,記憶體控制器104不會立刻將實體區塊410(0)中的所有有效資料搬移至實體區塊410(F)而抹除實體區塊410(0)。具體來說,記憶體讀取單元312會從實體區塊410(0)中讀取欲寫入實體頁面之前的有效資料(即,實體區塊410(0)的第0實體頁面與第1實體頁面中的資料)。之後,記憶體寫入單元310會將實體區塊410(0)中欲寫入實體頁面之前的有效資料寫入至實體區塊410(F)的第0實體頁面與第1實體頁面中(如圖6所示),並且將 新資料寫入至實體區塊410(F)的第2~4個實體頁面中(如圖7所示)。此時,記憶體控制器104即完成寫入的運作。因為實體區塊410(0)中的有效資料有可能在下個操作(例如,寫入指令)中變成無效,因此立刻將實體區塊410(0)中的有效資料搬移至實體區塊410(F)可能會造成無謂的搬移。此外,資料必須依序地寫入至實體區塊內的實體頁面,因此,記憶體寫入單元310、記憶體讀取單元312與資料處理單元316僅會先搬移欲寫入實體頁面之前的有效資料(即,儲存在實體區塊410(0)的第0實體頁面與第1實體頁面中資料),並且暫不搬移其餘有效資料(即,儲存在實體區塊410(0)的第5~K實體頁面中資料)。
在本範例實施例中,暫時地維持此等暫態關係的運作稱為開啟(open)母子區塊,並且原實體區塊(例如,上述實體區塊410(0))稱為母實體區塊而用以替換母實體區塊的實體區塊(例如,上述與實體區塊410(F))稱為子實體區塊。
之後,當需要將實體區塊410(0)與實體區塊410(F)的資料合併(merge)時,記憶體控制器104會將實體區塊410(0)與實體區塊410(F)的資料整併至一個實體區塊,由此提升實體區塊的使用效率。在此,合併母子區塊的運作稱為資料合併程序或關閉(close)母子區塊。例如,如圖8所示,當進行關閉母子區塊時,記憶體讀取單元312會從實體區塊410(0)中讀取剩餘的有效資料(即,實體區塊410(0)的第5~K實體頁面中的資料),之後,記憶體寫入單元310會將實體區塊410(0)中剩餘的有效資料寫入至實體區塊 410(F)的第5實體頁面~第K實體頁面中,然後記憶體抹除單元314會對實體區塊410(0)執行抹除操作並記憶體管理單元308會將抹除後之實體區塊410(0)關聯至閒置區504並且將實體區塊410(F)關聯至資料區502。也就是說,記憶體管理單元308會在邏輯區塊-實體區塊映射表中將邏輯區塊610(0)重新映射至實體區塊410(F)。此外,在本範例實施例中,記憶體管理單元308會建立閒置區實體區塊表(未繪示)來記錄目前被關聯至閒置區504的實體區塊。值得一提的是,閒置區504中實體區塊的數目是有限的,基此,在記憶體儲存裝置100運作期間,已開啟之母子區塊組的數目亦會受到限制。因此,當記憶體儲存裝置100接收到來自於主機系統1000的寫入指令時,倘若已開啟母子區塊組的數目達到上限時,記憶體控制器104需關閉至少一組目前已開啟之母子區塊組後才可執行此寫入指令。
值得一提的是,如上所述,在可複寫式非揮發性記憶體模組106的程式化中,資料是以資料存取單位為單位被寫入至實體頁面中。倘若屬於某一個邏輯頁面的更新資料的大小小於資料存取單位時,屬於此邏輯頁面的其他有效資料必須從其他實體頁面被讀取並且所讀取的其他有效資料與更新資料會被一併寫入至實體頁面中。
圖9是根據一範例實施例所繪示之將資料量小於資料存取單位的更新資料寫入至一個實體頁面的範例。
請參照圖9,倘若主機系統1000欲從某個邏輯區塊之 邏輯頁面LP0的第0位元組開始儲存大小為2KB的更新資料UD0以取代舊資料OD0時,假設記憶體管理單元308選擇一個實體區塊的實體頁面PP0來寫入此更新資料。
由於資料處理單元316識別更新資料UD0的大小小於資料存取單位(即,更新資料UD0僅為邏輯頁面LP0的的部分資料),因此,記憶體讀取單元312會從原始映射邏輯頁面LP0的實體頁面(例如,實體頁面PP1)中讀取屬於邏輯頁面LP0之其他偏移位元組的有效資料VD0。之後,資料處理單元316會將更新資料UD0與有效資料VD0整理成一個有效頁面資料,並且記憶體寫入單元310會將此有效頁面資料寫入至實體頁面PP0中。
除了上述使用子實體區塊來寫入更新資料外,在本範例實施例中,在本範例實施例中,記憶體管理單元308更會從閒置區504中提取至少一實體區塊作為混亂(Random)實體區塊,以寫入更新資料。例如,倘若主機系統1000欲更新之邏輯頁面的資料已被寫入至子實體區塊時,此更新資料會被寫入至混亂實體區塊,以避免反覆執行上述資料合併程序。
圖10是根據一範例實施例所繪示之使用混亂實體區塊寫入資料的示意圖。
請參照圖10,假設實體區塊410(S-1)被提取作為混亂實體區塊並且在圖7所示的儲存狀態下主機系統1000欲寫入更新資料至邏輯區塊610(0)的第1邏輯頁面時,記憶體管理單元308會將此更新資料寫入至混亂實體區塊中第一 個空的實體頁面(例如,實體區塊410(S-1)的第0實體頁面)中。
在本範例實施例中,當目前所使用之混亂實體區塊已被寫滿時,記憶體管理單元308會再從閒置區504中提取另一個實體區塊作為新的混亂實體區塊,直到作為混亂實體區塊的實體區塊的數目達到預設值為止。具體來說,閒置區504的實體區塊是有限的,因此,作為混亂實體區塊之實體區塊的數目亦會受到限制。當作為混亂實體區塊的實體區塊的數目達到預設值時,記憶體管理單元308會執行上述資料合併程序,對所儲存之資料皆為無效資料的混亂實體區塊執行抹除運作並且將已抹除之實體區塊關聯至閒置區504。由此,在執行下一個寫入指令時,記憶體管理單元308就可再從閒置區504提取空的實體區塊作為混亂實體區塊。
值得一提的是,在寫入資料至混亂實體區塊的運作中,資料會根據其大小而以不同的模式被寫入至實體頁面中。
具體來說,當主機系統1000欲儲存資料(以下稱為更新資料)至一個邏輯頁面並且記憶體管理單元308決定將此更新資料寫入至混亂實體區塊時,資料處理單元316會判斷此更新資料的大小是否小於一個資料存取單位。倘若此更新資料的大小非小於一個資料存取單位(即,為一個資料存取單位)時,記憶體寫入單元310會將此更新資料寫入至混亂實體區塊的一個實體頁面中,而無需進行有效頁面 資料整理(arrange)。例如,圖6-7的寫入運作就是直接將整個邏輯頁面的更新資料寫入至實體頁面中。
倘若此更新資料的大小小於一個資料存取單位(即,不為一個資料存取單位)時,記憶體管理單元308會選擇混亂實體區塊的一個實體頁面並且將此實體頁面劃分為多個儲存區段。此外,資料處理單元316會判斷對應此更新資料的邏輯偏移位址(即,主機系統100欲儲存此更新資料的起始邏輯偏移位址)是否對應實體頁面中某一儲存區段的起始實體偏移位址且判斷此更新資料的大小是否等於此儲存區段的區段容量。
倘若此更新資料的邏輯偏移位址非對應實體頁面中某一儲存區段的起始實體偏移位址或者此更新資料的大小非等於此儲存區段的區段容量時,記憶體寫入單元310會從其他實體頁面(例如,母實體區塊的實體頁面)中讀取屬於此邏輯頁面之其他邏輯偏移位址的有效資料,整理更新資料與所讀取的有效資料以產生完整的有效頁面資料並且將此有效頁面資料寫入至實體頁面中(如圖9所示)。
倘若此更新資料的邏輯偏移位址是對應實體頁面中某一儲存區段的起始實體偏移位址並且此更新資料的大小等於此儲存區段的區段容量時,記憶體寫入單元310僅會將此更新資料寫入至實體頁面的此儲存區段中,而無進行有效頁面資料整理。
圖11是根據一範例實施例所繪示之將資料量小於資料存取單位的更新資料寫入至一個實體頁面的另一範例。
請參照圖11,例如,倘若主機系統1000欲從某個邏輯區塊之邏輯頁面LP1的第0位元組開始儲存資料量為4KB的更新資料UD1時,記憶體管理單元308選擇一個實體區塊的實體頁面PP2來寫入此更新資料。
由於資料處理單元316識別更新資料UD1的大小小於資料存取單位,因此,記憶體管理單元308會將實體頁面PP2的儲存空間依序地劃分為起始實體偏移位址為第0位元組的第一儲存區段902以及起始實體偏移位址為第4KB位元組的第二儲存區段904。在本範例實施例中,一個實體頁面的頁面容量為8KB並且一個儲存區段的區段容量為4KB,因此,一個實體頁面可被劃分為2個4KB的儲存區段。然而,必須瞭解的是,本發明不限於此,每個實體頁面中儲存區段的數目是根據儲存區段的區段容量與實體頁面的頁面容量的不同而有所不同。例如,倘若頁面容量為16KB且區段容量為4KB時,記憶體管理單元308會將一個實體頁面劃分為4個4KB的儲存區段或2個8KB的儲存區段。再者,儘管在本範例實施例中,實體頁面是被劃分為相同區段容量的多個儲存區段,但本發明不限於此,每一儲存區段亦具有不同的區段容量。
此外,由於資料處理單元316識別更新資料UD1的邏輯偏移位址是對應第一儲存區段902的起始實體偏移位址(即,第0位元組)並且更新資料UD1的大小等於第一儲存區段902的區段容量(即,4KB),因此,記憶體寫入單元310僅會將更新資料UD1寫入至第一儲存區段902中,而 不會將屬於邏輯頁面LP1之其他偏移位址的有效資料VD1寫入至實體頁面PP2中。
也就是說,在圖11的範例中,記憶體控制器104無需進行有效頁面資料整理而直接將更新資料寫入至實體頁面中,由此,可有效地提升將資料寫入至混亂實體區塊的速度。值得一提的是,如上所述,在可複寫式非揮發性記憶體模組106中,資料是以實體頁面為單位來程式化,因此,在圖11所述的範例中,更新資料UD1被傳輸至可複寫式非揮發性記憶體模組106中之後,仍會與暫存於可複寫式非揮發性記憶體模組106之緩衝記憶體(未繪示)中的無意義資料一起被寫入至實體頁面中。
值得一提的是,記憶體管理單元308會為第一儲存區段902與第二儲存區段904分別地配置第一狀態標記902a與第二狀態標記904a,其中第一狀態標記902a與第二狀態標記904a會被初始地記錄成”無效狀態”。特別是,當更新資料UD1被寫入至第一儲存區段902時,記憶體寫入單元310會一併將第一狀態標記902a記錄成”有效狀態”。由此,當主機系統1000欲讀取此邏輯頁面的資料時,記憶體管理單元308可透過狀態標記識別出儲存於實體頁面中的有效資料。
例如,記憶體管理單元308會將儲存區段的狀態標記配置在實體頁面的冗餘位元區中,並且使用1個位元來代表一個儲存區段的狀態,其中當儲存區段儲存有效資料時,對應此儲存區段的狀態標記會被標記為”1”並且當儲存 區段未儲存有效資料時,對應此儲存區段的狀態標記會被標記為”0”。此外,例如,記憶體管理單元308可在用以記錄用作為混亂實體區塊之實體區塊的區塊管理表1102中,記錄僅部分位址儲存有效資料之實體頁面(例如,實體區塊PP2)的每一儲存區段的狀態標記(如圖12所示)。
此外,除了上述微控制器302、主機介面304、記憶體介面306、記憶體管理單元308、記憶體寫入單元310、記憶體讀取單元312、記憶體抹除單元314與資料處理單元316,記憶體控制器104亦可更包括緩衝記憶體、電源管理電路與錯誤檢查與校正電路。
緩衝記憶體是耦接至微控制器302並且用以暫存來自於主機系統1000的資料與指令或來自於可複寫式非揮發性記憶體模組106的資料。
電源管理電路是耦接至微控制器302並且用以控制記憶體儲存裝置100的電源。
錯誤檢查與校正電路是耦接至微控制器302並且用以執行一錯誤校正程序以確保資料的正確性。具體來說,當主機介面304從主機系統1000中接收到主機寫入指令時,錯誤檢查與校正電路會為對應此主機寫入指令的寫入資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),並且記憶體寫入單元308會將此寫入資料與對應的錯誤校正碼寫入至可複寫式非揮發性記憶體模組106中。之後,當記憶體讀取單元312從可複寫式非揮發性記憶體模組106中讀取資料時會同時讀取 此資料對應的錯誤校正碼,並且錯誤檢查與校正電路會依據此錯誤校正碼對所讀取的資料執行錯誤校正程序。
值得一提的是,在本範例實施例中,記憶體管理單元308、記憶體寫入單元310、記憶體讀取單元312、記憶體抹除單元314與資料處理單元316是以硬體架構來實作,但本發明不限於此。在本發明另一範例實施例中,記憶體管理單元308、記憶體寫入單元310、記憶體讀取單元312、記憶體抹除單元314與資料處理單元316亦可以韌體型式來實作。例如,記憶體管理單元308、記憶體寫入單元310、記憶體讀取單元312、記憶體抹除單元314與資料處理單元316的控制指令可被燒錄至配置於記憶體控制器的唯讀記憶體中。當記憶體儲存裝置100運作時,此些控制指令會由微控制器來執行。
此外,在本發明另一範例實施例中,實作記憶體管理單元308、記憶體寫入單元310、記憶體讀取單元312、記憶體抹除單元314與資料處理單元316的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組的特定區域(例如,可複寫式非揮發性記憶體模組中專用於存放系統資料的系統區)中。例如,唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)會被配置在記憶體控制器中,並且此唯讀記憶體具有一驅動碼段。當記憶體控制器被致能時,微控制器會先執行此驅動碼段來將儲存於可複寫式非揮發性記憶體模組中之控制指令載入至此隨機存取記憶體中,之後再運轉此些控制指令。
圖13是根據一範例實施例所繪示之資料寫入方法的流程圖,其繪示實作將資料寫入至混亂實體區塊之實體頁面之控制指令的步驟。
請參照圖13,當欲將屬於一個邏輯頁面(以下稱為第一邏輯頁面)的更新資料寫入至混亂實體區塊的一個實體頁面(以下稱為第一實體頁面)時,首先,在步驟S1301中,第一實體頁面會依序地被劃分為多個儲存區段,並且在步驟S1303中,對應此些儲存區段的狀態標記會被配置並初始化為”無效狀態”。將實體頁面劃分為多個儲存區段與配置狀態標記的方法已配合圖10詳細描述如上,在此不再贅述。
之後,在步驟S1305中,此更新資料的大小會被判斷是否小於資料存取單位。
倘若判斷此更新資料的大小非小於資料存取單位時,則在步驟S1307中,此更新資料會被寫入至第一實體頁面中並且第一實體頁面的每一儲存區段的儲存狀態會被記錄成”有效狀態”。
倘若判斷此更新資料的大小小於資料存取單位時,則在步驟S1309中,對應此更新資料的邏輯偏移位址(即,用以儲存此更新資料的起始邏輯偏移位址)會被判斷是否對應第一實體頁面中其中一個儲存區段的起始實體偏移位址。
倘若對應此更新資料的邏輯偏移位址非對應第一實體頁面中任何一個儲存區段的起始實體偏移位址時,則在 步驟S1311中,屬於第一邏輯頁面之其他偏移位址的有效資料會從可複寫式非揮發性記憶體模組106的其他實體頁面被讀取,所讀取的有效資料與此更新資料會被整理以產生屬於第一邏輯頁面的有效頁面資料,此有效頁面資料會被寫入至第一實體頁面中並且第一實體頁面的每一儲存區段的儲存狀態會被記錄成”有效狀態”。
倘若對應此更新資料的邏輯偏移位址對應第一實體頁面中其中一個儲存區段(以下稱為目標儲存區段)的起始實體偏移位址時,則在步驟S1313中,更新資料的大小會被判斷是否等於目標儲存區段的區段容量。
倘若更新資料的大小不等於目標儲存區段的區段容量時,則步驟S1311會被執行。
倘若更新資料的大小等於目標儲存區段的區段容量時,則在步驟S1315中,更新資料會被寫入至目標儲存區段中並且目標儲存區段的狀態標記會被記錄成”有效狀態”。特別是,在步驟S1315中,第一實體頁面的其他儲存區段不會被寫入有效資料。
必須瞭解是,儘管在本範例實施例中,是以將更新資料寫入至混亂實體區塊之實體頁面中的一個儲存區段為例來說明本發明的資料寫入方法,但本發明不限於此,寫入資料至可複寫式非揮發性記憶體模組之任何實體頁面的操作皆可使用本發明的資料寫入方法。
綜上所述,本發明範例實施例的資料寫入方法、記憶體控制器與記憶體儲存裝置能夠在無需進行有效頁面資料 整理下直接將更新資料寫入至實體頁面中,由此提升資料寫入的速度。特別是,對於經常以固定小於一個實體頁面(例如,8千位元組)的資料量(例如,4千位元組)來存取資料的作業系統來說,本發明範例實施例的資料寫入方法、記憶體控制器與記憶體儲存裝置更能夠大幅度地提升資料存取的效能。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S101、S103、S105、S107‧‧‧資料寫入的步驟
1000‧‧‧主機系統
1100‧‧‧電腦
1102‧‧‧微處理器
1104‧‧‧隨機存取記憶體
1106‧‧‧輸入/輸出裝置
1108‧‧‧系統匯流排
1110‧‧‧資料傳輸介面
1202‧‧‧滑鼠
1204‧‧‧鍵盤
1206‧‧‧顯示器
1208‧‧‧印表機
1212‧‧‧隨身碟
1214‧‧‧記憶卡
1216‧‧‧固態硬碟
1310‧‧‧數位相機
1312‧‧‧SD卡
1314‧‧‧MMC卡
1316‧‧‧記憶棒
1318‧‧‧CF卡
1320‧‧‧嵌入式儲存裝置
100‧‧‧記憶體儲存裝置
102‧‧‧連接器
104‧‧‧記憶體控制器
106‧‧‧可複寫式非揮發性記憶體模組
302‧‧‧微控制器
304‧‧‧主機介面
306‧‧‧記憶體介面
308‧‧‧記憶體管理單元
310‧‧‧記憶體寫入單元
312‧‧‧記憶體讀取單元
314‧‧‧記憶體抹除單元
316‧‧‧資料處理單元
410(0)~410(N)‧‧‧實體區塊
502‧‧‧資料區
504‧‧‧閒置區
506‧‧‧系統區
508‧‧‧取代區
610(0)~610(H)‧‧‧邏輯區塊
710(0)~710(K)‧‧‧邏輯存取位址
LP0、LP1‧‧‧邏輯頁面
PP0、PP1、PP2‧‧‧實體頁面
UD0、UD1‧‧‧更新資料
VD0、VD1‧‧‧有效資料
OD0‧‧‧舊資料
902‧‧‧第一儲存區段
904‧‧‧第二儲存區段
902a‧‧‧第一狀態標記
904a‧‧‧第二狀態標記
S1301、S1303、S1305、S1307、S1309、S1311、S1313、S1315‧‧‧資料寫入的步驟
圖1是根據本發明所繪示的資料寫入方法的概要流程圖。
圖2A是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
圖2B是根據一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖2C是根據另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖3是根據一範例實施例所繪示之記憶體儲存裝置的概要方塊圖。
圖4是根據一範例實施例所繪示之記憶體控制器的概要方塊圖。
圖5A與圖5B是根據一範例實施例所繪示管理可複寫式非揮發性記憶體模組之實體區塊的示意圖。
圖6~圖8是根據一範例實施例所繪示的使用子實體區塊來寫入更新資料的範例。
圖9是根據一範例實施例所繪示之將資料量小於資料存取單位的更新資料寫入至一個實體頁面的範例。
圖10是根據一範例實施例所繪示之使用子實體區塊與全域混亂實體區塊寫入資料的示意圖。
圖11是根據一範例實施例所繪示之將資料量小於資料存取單位的更新資料寫入至一個實體頁面的另一範例。
圖12是是根據一範例實施例所繪示之在區塊管理表中記錄狀態標記的範例。
圖13是根據一範例實施例所繪示之資料寫入方法的流程圖。
S101、S103、S105、S107‧‧‧資料寫入的步驟

Claims (22)

  1. 一種資料寫入方法,用於將一更新資料寫入至一可複寫式非揮發性記憶體模組中,其中該可複寫式非揮發性記憶體模組具有多個實體頁面,該些實體頁面輪替地映射多個邏輯頁面,該更新資料屬於該些邏輯頁面之中的一第一邏輯頁面並且該更新資料是從該第一邏輯頁面的一邏輯偏移位址開始被依序地儲存至該第一邏輯頁面中,該資料寫入方法包括:將該些實體頁面之中的一第一實體頁面劃分為多個儲存區段,其中每一該些儲存區段具有一起始實體偏移位址;為每一該些儲存區段配置一狀態標記,其中該些狀態標記初始地被記錄成一無效狀態;判斷該更新資料的一大小是否小於一資料存取單位,其中該資料存取單位等於每一該些實體頁面的一頁面容量;當判斷該更新資料的大小小於該資料存取單位時,更判斷該邏輯偏移位址是否對應該些儲存區段之中的其中一個儲存區段的起始實體偏移位址並且判斷該更新資料的大小是否等於該其中一個儲存區段的一區段容量;以及當判斷該邏輯偏移位址對應該些儲存區段之中的該其中一個儲存區段的起始實體偏移位址並且該更新資料的大小等於該其中一個儲存區段的區段容量時,將該更新資料寫入至該其中一個儲存區段中並且將對應該其中一個儲 存區段的該狀態標記記錄成一有效狀態,其中在將該更新資料寫入至該其中一個儲存區段時,該些儲存區段之中的其他儲存區段不會被寫入屬於該第一邏輯頁面之其他邏輯偏移位址的有效資料。
  2. 如申請專利範圍第1項所述之資料寫入方法,更包括:當判斷該更新資料的大小非小於該資料存取單位時,將該更新資料寫入至該第一實體頁面中並且將每一該些儲存區段的該狀態標記記錄成該有效狀態。
  3. 如申請專利範圍第1項所述之資料寫入方法,更包括:當判斷該邏輯偏移位址未對應該些儲存區段之中的任一個儲存區段的起始實體偏移位址或者該更新資料的大小不等於該其中一個儲存區段的區段容量時,從該可複寫式非揮發性記憶體模組中的其他實體頁面中讀取屬於該第一邏輯頁面的該有效資料,依據該更新資料所對應的該邏輯偏移位址與該有效資料所對應的該其他邏輯偏移位址整理(arrange)該更新資料與該有效資料以產生一有效頁面資料,將該有效頁面資料寫入至該第一實體頁面中並且將每一該些儲存區段的該狀態標記記錄成該有效狀態。
  4. 一種資料寫入方法,用於將儲存至一邏輯頁面的一更新資料寫入至一可複寫式非揮發性記憶體模組的一實體頁面中,其中該更新資料是從該邏輯頁面的一邏輯偏移位址開始被儲存至該邏輯頁面中,該資料寫入方法包括: 將該實體頁面劃分為一第一儲存區段與一第二儲存區段,其中該第一儲存區段具有一第一起始實體偏移位址,該第二儲存區段具有一第二起始實體偏移位址並且該第一儲存區段與該第二儲存區段具有相同的一區段容量;為該第一儲存區段與該第二儲存區段分別地配置一第一狀態標記與一第二狀態標記,其中該第一狀態標記與該第二標記初始地被記錄成一無效狀態;判斷該更新資料的一大小是否小於一資料存取單位,其中該資料存取單位等於該實體頁面的一頁面容量;當判斷該更新資料的大小小於該資料存取單位時,更判斷該邏輯偏移位址是否對應該第一起始實體偏移位址或該第二起始實體偏移位址;當判斷該邏輯偏移位址對應該第一起始實體偏移位址時,更判斷該更新資料的大小是否等於該區段容量,並且當判斷該更新資料的大小等於該區段容量時,將該更新資料寫入至該第一儲存區段中並且將該第一狀態標記記錄成一有效狀態,其中在將該更新資料寫入至該第一儲存區段時,該第二儲存區段不會被寫入屬於該邏輯頁面之其他邏輯偏移位址的有效資料。
  5. 如申請專利範圍第4項所述之資料寫入方法,更包括:當判斷該邏輯偏移位址對應該第二起始實體偏移位址時,更判斷該更新資料的大小是否等於該區段容量,並且當判斷該更新資料的大小等於該區段容量時,將該更新 資料寫入至該第二儲存區段中並且將該第二狀態標記記錄成該有效狀態,其中在將該更新資料寫入至該第二儲存區段時,該第一儲存區段不會被寫入屬於該邏輯頁面之其他邏輯偏移位址的有效資料。
  6. 如申請專利範圍第4項所述之資料寫入方法,更包括:當判斷該更新資料的大小非小於該資料存取單位時,將該更新資料寫入至該實體頁面中並且將該第一狀態標記與該第二狀態標記皆記錄成該有效狀態。
  7. 如申請專利範圍第4項所述之資料寫入方法,更包括:當判斷該邏輯偏移位址未對應該第一起始實體偏移位址或該第二起始實體偏移位址時,從該可複寫式非揮發性記憶體模組中的其他實體頁面中讀取屬於該邏輯頁面之其他邏輯偏移位址的有效資料,依據該更新資料所對應的該邏輯偏移位址與該有效資料所對應的該其他邏輯偏移位址整理(arrange)該更新資料與該有效資料以產生一有效頁面資料,將該有效頁面資料寫入至該實體頁面中並且將該第一狀態標記與該第二狀態標記皆記錄成該有效狀態。
  8. 如申請專利範圍第4項所述之資料寫入方法,更包括:當判斷該更新資料的大小不等於該區段容量時,從該可複寫式非揮發性記憶體模組中的其他實體頁面中讀取屬於該邏輯頁面之其他邏輯偏移位址的有效資料,依據該更 新資料所對應的該邏輯偏移位址與該有效資料所對應的該其他邏輯偏移位址整理(arrange)該更新資料與該有效資料以產生一有效頁面資料,將該有效頁面資料寫入至該實體頁面中並且將該第一狀態標記與該第二狀態標記皆記錄成該有效狀態。
  9. 如申請專利範圍第4項所述之資料寫入方法,其中該實體頁面的大小為8千位元組,其中依序地將該實體頁面劃分為該第一儲存區段與該第二儲存區段的步驟包括:將該實體頁面之中前面4千位元組的一儲存空間劃分為該第一儲存區段並且將該實體頁面之中後面4千位元組的一儲存空間劃分為該第二儲存區段。
  10. 一種記憶體控制器,用於控制一可複寫式非揮發性記憶體模組,該記憶體控制器包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體頁面;一微控制器,耦接至該主機介面與該記憶體介面;一記憶體管理單元,耦接至該微控制器並且用以配置多個邏輯頁面並且指派該些實體頁面來輪替地映射該些邏輯頁面;一資料處理單元,耦接至該微控制器;一記憶體寫入單元,接至該微控制器, 其中該主機介面用以從該主機系統接收一更新資料,其中該更新資料屬於該些邏輯頁面之中的一第一邏輯頁面並且該更新資料是從該第一邏輯頁面的一邏輯偏移位址開始被依序地儲存至該第一邏輯頁面中,其中該記憶體管理單元將該些實體頁面之中的一第一實體頁面劃分為多個儲存區段並且為每一該些儲存區段配置一狀態標記,其中每一該些儲存區段具有一起始實體偏移位址並且該些狀態標記初始地被記錄成一無效狀態,其中該資料處理單元會判斷該更新資料的一大小是否小於一資料存取單位,其中該資料存取單位等於每一該些實體頁面的一頁面容量,其中當該更新資料的大小小於該資料存取單位時,該資料處理單元更判斷該邏輯偏移位址是否對應該些儲存區段之中的其中一個儲存區段的起始實體偏移位址並且判斷該更新資料的大小是否等於該其中一個儲存區段的一區段容量,其中當該邏輯偏移位址對應該些儲存區段之中的該其中一個儲存區段的起始實體偏移位址並且該更新資料的大小等於該其中一個儲存區段的區段容量時,該記憶體寫入單元將該更新資料寫入至該其中一個儲存區段中並且將對應該其中一個儲存區段的該狀態標記記錄成一有效狀態,其中在將該更新資料寫入至該其中一個儲存區段時,該些儲存區段之中的其他儲存區段不會被寫入屬於該第一邏輯頁面之其他邏輯偏移位址的有效資料。
  11. 如申請專利範圍第10項所述之記憶體控制器,其中當該更新資料的大小非小於該資料存取單位時,該記憶體寫入單元將該更新資料寫入至該第一實體頁面中並且將每一該些儲存區段的該狀態標記記錄成該有效狀態。
  12. 如申請專利範圍第10項所述之記憶體控制器,更包括一記憶體讀取單元,其中當該邏輯偏移位址未對應該些儲存區段之中的任一個儲存區段的起始實體偏移位址或者該更新資料的大小不等於該其中一個儲存區段的區段容量時,該記憶體讀取單元從該可複寫式非揮發性記憶體模組中的其他實體頁面中讀取屬於該第一邏輯頁面之其他邏輯偏移位址的該有效資料,該資料處理單元依據該更新資料所對應的該邏輯偏移位址與該有效資料所對應的該其他邏輯偏移位址整理(arrange)該更新資料與該有效資料以產生一有效頁面資料,並且該記憶體寫入單元將該有效頁面資料寫入至該第一實體頁面中且將每一該些儲存區段的該狀態標記記錄成該有效狀態。
  13. 一種記憶體儲存裝置,包括:一連接器,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,具有多個實體頁面;以及一記憶體控制器,耦接至該可複寫式非揮發性記憶體模組與該連接器,其中該記憶體控制器用以配置多個邏輯頁面並且指 派該些實體頁面來輪替地映射該些邏輯頁面,其中該連接器用以從該主機系統接收一更新資料,其中該更新資料屬於該些邏輯頁面之中的一第一邏輯頁面並且該更新資料是從該第一邏輯頁面的一邏輯偏移位址開始被依序地儲存至該第一邏輯頁面中,其中該記憶體控制器將該些實體頁面之中的一第一實體頁面劃分為多個儲存區段並且為每一該些儲存區段配置一狀態標記,其中每一該些儲存區段具有一起始實體偏移位址並且該些狀態標記初始地被記錄成一無效狀態,其中該記憶體控制器會判斷該更新資料的一大小是否小於一資料存取單位,其中該資料存取單位等於每一該些實體頁面的一頁面容量,其中當該更新資料的大小小於該資料存取單位時,該記憶體控制器更判斷該邏輯偏移位址是否對應該些儲存區段之中的其中一個儲存區段的起始實體偏移位址並且判斷該更新資料的大小是否等於該其中一個儲存區段的一區段容量,其中當該邏輯偏移位址對應該些儲存區段之中的該其中一個儲存區段的起始實體偏移位址並且該更新資料的大小等於該其中一個儲存區段的區段容量時,該記憶體控制器將該更新資料寫入至該其中一個儲存區段中並且將對應該其中一個儲存區段的該狀態標記記錄成一有效狀態,其中在將該更新資料寫入至該其中一個儲存區段時,該些儲存區段之中的其他儲存區段不會被寫入屬於該第一邏輯 頁面之其他邏輯偏移位址的有效資料。
  14. 如申請專利範圍第13項所述之記憶體儲存裝置其中當該更新資料的大小非小於該資料存取單位時,該記憶體控制器將該更新資料寫入至該第一實體頁面中並且將每一該些儲存區段的該狀態標記記錄成該有效狀態。
  15. 如申請專利範圍第13項所述之記憶體儲存裝置,其中當該邏輯偏移位址未對應該些儲存區段之中的任一個儲存區段的起始實體偏移位址或者該更新資料的大小不等於該其中一個儲存區段的區段容量時,該記憶體控制器從該可複寫式非揮發性記憶體模組中的其他實體頁面中讀取屬於該第一邏輯頁面之其他邏輯偏移位址的該有效資料,依據該更新資料所對應的該邏輯偏移位址與該有效資料所對應的該其他邏輯偏移位址整理(arrange)該更新資料與該有效資料以產生一有效頁面資料,將該有效頁面資料寫入至該第一實體頁面中並且將每一該些儲存區段的該狀態標記記錄成該有效狀態。
  16. 如申請專利範圍第13項所述之記憶體儲存裝置,其中每一該些實體頁面的大小為8千位元組並且每一該些儲存區段的大小為4千位元組。
  17. 一種資料寫入方法,用於將一更新資料寫入至一快閃記憶體模組中,其中該快閃記憶體模組具有多個實體頁面,該些實體頁面輪替地映射多個邏輯頁面,該更新資料屬於該些邏輯頁面之中的一第一邏輯頁面,其中每一該些實體頁面為該快閃記憶體模組之資料存取單位,該資料 寫入方法包括:將該些實體頁面之中的一第一實體頁面劃分為多個儲存區段;為每一該些儲存區段配置一狀態標記,用以標記各該儲存區段所儲存的資料的有效性;將該更新資料寫入該等儲存區段之中的至少一儲存區段;及修改寫入該更新資料的該至少一儲存區段對應之狀態標記,其中在該第一實體頁面中儲存該更新資料之該至少一儲存區段的狀態標記之狀態為有效,並且非儲存該更新資料之其他儲存區段的狀態標記之狀態為無效。
  18. 如申請專利範圍第17項所述之資料寫入方法,更包括:在該更新資料的大小非小於該資料存取單位時,將該更新資料寫入至該第一實體頁面中並且將每一該些儲存區段的該狀態標記記錄成該有效狀態。
  19. 如申請專利範圍第17項所述之資料寫入方法,更包括:在該第一邏輯頁面中開始寫入該更新資料的一邏輯偏移位址未對應該些儲存區段之中的任一個儲存區段的一起始實體偏移位址或者該更新資料的大小小於該資料存取單位時,從該可複寫式非揮發性記憶體模組中的其他實體頁面中讀取屬於該第一邏輯頁面的有效資料,依據該更新資料所對應的該邏輯偏移位址與該有效資料所對應的一其 他邏輯偏移位址整理該更新資料與該有效資料以產生一有效頁面資料,將該有效頁面資料寫入至該第一實體頁面中並且將每一該些儲存區段的該狀態標記記錄成該有效狀態。
  20. 如申請專利範圍第17項所述之資料寫入方法,更包括:在該更新資料的大小小於該資料存取單位時,將該更新資料與一無意義資料寫入至該第一實體頁面中。
  21. 如申請專利範圍第17項所述之資料寫入方法,更包括:在該更新資料的大小小於該資料存取單位時,在無需將該更新資料整理成一有效頁面資料下,直接指示將該更新資料寫入至該第一實體頁面中。
  22. 如申請專利範圍第17項所述之資料寫入方法,更包括:將該些儲存區段的狀態標記記錄在一區塊管理表中或者該些實體頁面的冗餘位元區中。
TW100125797A 2011-07-21 2011-07-21 資料寫入方法、記憶體控制器與記憶體儲存裝置 TWI436212B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW100125797A TWI436212B (zh) 2011-07-21 2011-07-21 資料寫入方法、記憶體控制器與記憶體儲存裝置
US13/253,981 US8667234B2 (en) 2011-07-21 2011-10-06 Data writing method, memory controller, and memory storage apparatus
US14/151,841 US9021218B2 (en) 2011-07-21 2014-01-10 Data writing method for writing updated data into rewritable non-volatile memory module, and memory controller, and memory storage apparatus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW100125797A TWI436212B (zh) 2011-07-21 2011-07-21 資料寫入方法、記憶體控制器與記憶體儲存裝置

Publications (2)

Publication Number Publication Date
TW201305818A TW201305818A (zh) 2013-02-01
TWI436212B true TWI436212B (zh) 2014-05-01

Family

ID=47556617

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100125797A TWI436212B (zh) 2011-07-21 2011-07-21 資料寫入方法、記憶體控制器與記憶體儲存裝置

Country Status (2)

Country Link
US (2) US8667234B2 (zh)
TW (1) TWI436212B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391038A (zh) * 2017-07-26 2017-11-24 深圳市硅格半导体股份有限公司 资料存储型闪存的数据写入方法、闪存及存储介质

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013127748A (ja) * 2011-12-19 2013-06-27 Fujitsu Ltd 情報処理装置、データ記憶方法及びプログラム
TWI506430B (zh) * 2013-03-20 2015-11-01 Phison Electronics Corp 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置
TWI603194B (zh) 2013-12-04 2017-10-21 慧榮科技股份有限公司 資料儲存裝置以及其資料存取方法
TWI653630B (zh) * 2018-05-14 2019-03-11 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置
US10936199B2 (en) * 2018-07-17 2021-03-02 Silicon Motion, Inc. Flash controllers, methods, and corresponding storage devices capable of rapidly/fast generating or updating contents of valid page count table
TWI668570B (zh) * 2018-08-09 2019-08-11 群聯電子股份有限公司 資料整併方法、記憶體儲存裝置及記憶體控制電路單元
KR20200031924A (ko) * 2018-09-17 2020-03-25 삼성전자주식회사 메모리 컨트롤러, 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 스토리지 장치
TWI720400B (zh) * 2019-01-04 2021-03-01 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
CN113110794B (zh) * 2020-01-10 2023-09-08 株洲中车时代电气股份有限公司 一种用于NandFlash的数据存储方法与系统
TWI768738B (zh) * 2021-03-02 2022-06-21 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
JP2023000085A (ja) * 2021-06-17 2023-01-04 キオクシア株式会社 メモリシステム及び情報処理システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7406250B2 (en) * 1998-05-15 2008-07-29 Kabushiki Kaisha Toshiba Information recording method and information reproducing method
US20050195975A1 (en) * 2003-01-21 2005-09-08 Kevin Kawakita Digital media distribution cryptography using media ticket smart cards
US7350044B2 (en) * 2004-01-30 2008-03-25 Micron Technology, Inc. Data move method and apparatus
JP4440803B2 (ja) * 2005-03-03 2010-03-24 富士通株式会社 記憶装置、その制御方法及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391038A (zh) * 2017-07-26 2017-11-24 深圳市硅格半导体股份有限公司 资料存储型闪存的数据写入方法、闪存及存储介质
CN107391038B (zh) * 2017-07-26 2020-07-17 深圳市硅格半导体有限公司 资料存储型闪存的数据写入方法、闪存及存储介质

Also Published As

Publication number Publication date
US20130024604A1 (en) 2013-01-24
US8667234B2 (en) 2014-03-04
TW201305818A (zh) 2013-02-01
US20140129763A1 (en) 2014-05-08
US9021218B2 (en) 2015-04-28

Similar Documents

Publication Publication Date Title
TWI436212B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI454911B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI515735B (zh) 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置
TWI423026B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI470431B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI479505B (zh) 資料管理方法、記憶體控制器與記憶體儲存裝置
TWI479314B (zh) 系統資料儲存方法、記憶體控制器與記憶體儲存裝置
TWI438630B (zh) 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
TWI584189B (zh) 記憶體控制器、記憶體儲存裝置與資料寫入方法
CN107590080B (zh) 映射表更新方法、存储器控制电路单元及存储器存储装置
TW201324145A (zh) 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
TWI509615B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
US8943264B2 (en) Data storing method, and memory controller and memory storage apparatus using the same
TWI448892B (zh) 資料搬移方法、記憶體控制器與記憶體儲存裝置
CN102915273B (zh) 数据写入方法、存储器控制器与存储器储存装置
TW201321974A (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI451247B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI463495B (zh) 資料寫入方法、記憶體控制器與儲存裝置
TW201413450A (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
TWI446170B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI464585B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
US8832358B2 (en) Data writing method, memory controller and memory storage apparatus
TWI436209B (zh) 記憶體管理表處理方法、記憶體控制器與記憶體儲存裝置
TWI564901B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN112445418B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元