TWI545432B - 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置 - Google Patents

資料管理方法、記憶體控制電路單元以及記憶體儲存裝置 Download PDF

Info

Publication number
TWI545432B
TWI545432B TW103126620A TW103126620A TWI545432B TW I545432 B TWI545432 B TW I545432B TW 103126620 A TW103126620 A TW 103126620A TW 103126620 A TW103126620 A TW 103126620A TW I545432 B TWI545432 B TW I545432B
Authority
TW
Taiwan
Prior art keywords
data
start address
unit
available space
address
Prior art date
Application number
TW103126620A
Other languages
English (en)
Other versions
TW201606503A (zh
Inventor
葉志剛
Original Assignee
群聯電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 群聯電子股份有限公司 filed Critical 群聯電子股份有限公司
Priority to TW103126620A priority Critical patent/TWI545432B/zh
Priority to US14/510,130 priority patent/US9304907B2/en
Publication of TW201606503A publication Critical patent/TW201606503A/zh
Application granted granted Critical
Publication of TWI545432B publication Critical patent/TWI545432B/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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency 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/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed 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/7201Logical to physical mapping or translation of blocks or pages
    • 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/7202Allocation control and policies
    • 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/7205Cleaning, compaction, garbage collection, erase control

Description

資料管理方法、記憶體控制電路單元以及記憶體儲存裝置
本發明是有關於一種資料管理方法,特別是關於不可壓縮資料的資料管理方法,以及使用此方法的記憶體控制電路單元與記憶體儲存裝置。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,最適於可攜式電子產品,例如筆記型電腦。固態硬碟就是一種以快閃記憶體作為儲存媒體的儲存裝置。因此,近年快閃記憶體產業成為電子產業中相當熱門的一環。
近年來,由於追求記憶體的空間利用,快閃記憶體裝置在儲存資料之前,會先測試資料是否可以壓縮,並且將可壓縮的資料先進行壓縮操作之後,再存入快閃記憶體裝置中。但是由於 有些資料是不可壓縮的,所以會因為壓縮資料與非壓縮資料的交互儲存,產生了非壓縮資料必須分割儲存到不同實體程式化單元的現象。也就是說,原本只需儲存在一個實體程式化單元的資料被分割並儲存在不同實體程式化單元。如此一來,在讀取上述這類型資料時,讀取效率會降低。
本發明提供一種資料管理方法,以及使用此方法的記憶體控制電路單元與記憶體儲存裝置,可使非壓縮資料以對齊實體程式化單元的方式來儲存,進而增加記憶體空間的利用效率。
本發明的一範例實施例提供一種用於可複寫式非揮發性記憶體模組的資料管理方法,其中此可複寫式非揮發性記憶體模組包含多個實體抹除單元並且多個邏輯單元以映射至少部分的此些實體抹除單元,且每一實體抹除單元具有多個實體程式化單元。以及,每個實體程式化單元至少儲存一個錯誤檢查與校正框。上述資料管理方法包括:接收第一資料,並且識別此些實體程式化單元之中的第一實體程式化單元。上述資料管理方法還包括:識別第一實體程式化單元中的可用空間起始位址並判斷第一資料是否為不可壓縮。上述資料管理方法更包括:倘若第一資料為不可壓縮時,判斷第一實體程式化單元中的可用空間起始位址是否滿足起始位址要求。上述資料管理方法更包括:倘若第一實體程式化單元中的可用空間起始位址滿足上述起始位址要求時,規劃 從可用空間起始位址來開始儲存第一資料;以及,倘若第一實體程式化單元中的可用空間起始位址不滿足上述起始位址要求時,規劃從可用空間起始位址開始儲存填補資料,並且規劃從接續位址開始儲存第一資料,其中接續位址滿足上述起始位址要求。
在本發明的一範例實施例中,上述接續位址為此些實體程式化單元之中的第二實體程式化單元的起始實體位址。
在本發明的一範例實施例中,上述判斷第一實體程式化單元中的可用空間起始位址是否滿足起始位址要求的步驟包括:判斷第一實體程式化單元中的可用空間起始位址是否為錯誤檢查與校正框長度的整數倍數;倘若第一實體程式化單元中的可用空間起始位址為錯誤檢查與校正框長度的整數倍數時,辨識第一實體程式化單元中的可用空間起始位址滿足起始位址要求,其中接續位址為錯誤檢查與校正框長度的整數倍數。
在本發明的一範例實施例中,上述判斷第一實體程式化單元中的可用空間起始位址是否滿足起始位址要求的步驟包括:判斷第一實體程式化單元中的可用空間起始位址是否為錯誤檢查與校正框長度的倍數與固定值之和;倘若第一實體程式化單元中的可用空間起始位址為錯誤檢查與校正框長度的倍數與固定值之和時,辨識第一實體程式化單元中的可用空間起始位址滿足起始位址要求,其中接續位址為錯誤檢查與校正框長度的倍數與固定值之和。
在本發明的一範例實施例中,上述規劃從可用空間起始 位址開始儲存填補資料的步驟包括:判斷可用空間起始位址與接續位址之間的可用空間的大小,並且規劃將小於可用空間的有效資料儲存至可用空間中,接著使用填補資料填滿可用空間。
在本發明的一範例實施例中,上述倘若第一實體程式化單元中的可用空間起始位址不滿足上述起始位址要求時,規劃從可用空間起始位址開始儲存填補資料,並且規劃從接續位址開始儲存第一資料的步驟包括:倘若第一實體程式化單元中的可用空間起始位址不滿足上述起始位址要求時,判斷第一資料的大小是否大於預先定義值。於上述判斷結果中,倘若第一資料的大小大於預先定義值時,規劃從可用空間起始位址開始儲存填補資料,並且規劃從接續位址開始儲存第一資料,其中接續位址為滿足上述起始位址要求。
在本發明的一範例實施例中,上述倘若第一實體程式化單元中的可用空間起始位址不滿足起始位址要求時,規劃從可用空間起始位址開始儲存填補資料,並且規劃從接續位址開始儲存第一資料的步驟更包括:倘若第一實體程式化單元中的可用空間起始位址不滿足起始位址要求時,判斷規劃為排序在第一資料之後儲存的不可壓縮資料的筆數是否大於一個預定筆數;以及,倘若規劃為排序在第一資料之後儲存的不可壓縮資料的筆數大於上述預定筆數時,規劃從上述可用空間起始位址開始儲存填補資料,並且規劃從接續位址開始儲存第一資料,其中接續位址滿足起始位址要求。
在本發明的一範例實施例中,上述的資料管理方法更包括:判斷此些實體抹除單元之中的第一實體抹除單元的填補資料數量是否超過預先定義填補資料門檻值,以及倘若第一實體抹除單元的填補資料數量超過預先定義填補資料門檻值時,對第一實體抹除單元進行垃圾回收操作。
本發明的一範例實施例提供一種用於控制可複寫式非揮發性記憶體模組的記憶體控制電路單元。上述記憶體控制電路單元包括:主機介面、記憶體介面與記憶體管理電路。主機介面耦接至主機系統。記憶體介面耦接至可複寫式非揮發性記憶體模組,其中可複寫式非揮發性記憶體模組包含多個實體抹除單元並且被配置多個邏輯單元以映射至少部分的此些實體抹除單元,並且每一實體抹除單元具有多個實體程式化單元,其中每個實體程式化單元至少儲存一個錯誤檢查與校正框。記憶體管理電路耦接至主機介面與記憶體介面,並且配置多個邏輯單元以映射至少部分的此些實體抹除單元,其中記憶體管理電路用以接收第一資料。此外,記憶體管理電路更用以識別此些實體程式化單元之中的第一實體程式化單元,並且識別此第一實體程式化單元中的可用空間起始位址。再者,記憶體管理電路更用以判斷第一資料是否為不可壓縮。以及,倘若第一資料為不可壓縮時,記憶體管理電路更用以判斷第一實體程式化單元中的可用空間起始位址是否滿足起始位址要求。在判斷第一實體程式化單元中的可用空間起始位址是否滿足上述起始位址要求的運作包含,倘若第一實體程 式化單元中的可用空間起始位址滿足上述起始位址要求時,記憶體管理電路更用以規劃從可用空間起始位址來開始儲存第一資料;以及,倘若第一實體程式化單元中的可用空間起始位址不滿足上述起始位址要求時,記憶體管理電路更用以規劃從可用空間起始位址開始儲存填補資料,並且規劃從接續位址開始儲存第一資料,其中接續位址滿足上述起始位址要求。
在本發明的一範例實施例中,在上述記憶體管理電路更用以判斷第一實體程式化單元中的可用空間起始位址是否滿足起始位址要求的運作包含:記憶體管理電路更用以判斷第一實體程式化單元中的可用空間起始位址是否為錯誤檢查與校正框長度的整數倍數;倘若第一實體程式化單元中的可用空間起始位址為錯誤檢查與校正框長度的整數倍數時,記憶體管理電路辨識第一實體程式化單元中的可用空間起始位址滿足起始位址要求,其中接續位址為錯誤檢查與校正框長度的整數倍數。
在本發明的一範例實施例中,在上述記憶體管理電路更用以判斷第一實體程式化單元中的可用空間起始位址是否滿足起始位址要求的運作包含:記憶體管理電路更用以判斷第一實體程式化單元中的可用空間起始位址是否為錯誤檢查與校正框長度的倍數與固定值之和;倘若第一實體程式化單元中的可用空間起始位址為錯誤檢查與校正框長度的倍數與固定值之和時,記憶體管理電路辨識第一實體程式化單元中的可用空間起始位址滿足起始位址要求,其中接續位址為錯誤檢查與校正框長度的倍數與固定 值之和。
在本發明的一範例實施例中,在上述規劃從可用空間起始位址開始儲存填補資料的運作包含,記憶體管理電路更用以判斷可用空間起始位址與接續位址之間的可用空間的大小,並且規劃將小於可用空間的有效資料儲存至可用空間中,接著使用填補資料填滿可用空間。
在本發明的一範例實施例中,在上述倘若第一實體程式化單元中的可用空間起始位址不滿足上述起始位址要求時,記憶體管理電路更用以規劃從可用空間起始位址開始儲存填補資料,並且規劃從接續位址開始儲存第一資料的運作包括:倘若第一實體程式化單元中的可用空間起始位址不滿足上述起始位址要求時,記憶體管理電路更用以判斷第一資料的大小是否大於預先定義值。倘若第一資料的大小大於預先定義值時,記憶體管理電路更用以規劃從可用空間起始位址開始儲存填補資料,並且規劃從接續位址開始儲存第一資料,其中接續位址滿足上述起始位址要求。
在本發明的一範例實施例中,在上述倘若第一實體程式化單元中的可用空間起始位址不滿足起始位址要求時,記憶體管理電路更用以規劃從可用空間起始位址開始儲存填補資料,並且規劃從接續位址開始儲存第一資料的運作包含:倘若第一實體程式化單元中的可用空間起始位址不滿足起始位址要求時,記憶體管理電路更用以判斷規劃為排序在第一資料之後儲存的不可壓縮 資料的筆數是否大於一個預定筆數;以及,倘若規劃為排序在第一資料之後儲存的不可壓縮資料的筆數大於上述預定筆數時,記憶體管理電路更用以規劃從上述可用空間起始位址開始儲存填補資料,並且規劃從接續位址開始儲存第一資料,其中接續位址滿足起始位址要求。
在本發明的一範例實施例中,上述記憶體管理電路更用以判斷此些實體抹除單元之中的第一實體抹除單元的填補資料數量是否超過預先定義填補資料門檻值。倘若第一實體抹除單元的填補資料數量超過預先定義填補資料門檻值時,記憶體管理電路更用以對第一實體抹除單元進行垃圾回收操作。
本發明的一範例實施例提供一種記憶體儲存裝置,其包括:連接介面單元、可複寫式非揮發性記憶體模組與記憶體控制電路單元。連接介面單元耦接至主機系統。可複寫式非揮發性記憶體模組具有多個實體抹除單元並且被配置多個邏輯單元以映射至少部分的此些實體抹除單元,並且每一實體抹除單元具有多個實體程式化單元,其中每個實體程式化單元至少儲存一個錯誤檢查與校正框。記憶體控制電路單元耦接至連接介面單元與可複寫式非揮發性記憶體模組,並且配置多個邏輯單元以映射至少部分的此些實體抹除單元。記憶體控制電路單元用以接收第一資料,並且識別此些實體程式化單元之中的第一實體程式化單元。此外,記憶體控制電路單元更用以識別第一實體程式化單元中的可用空間起始位址,並且判斷第一資料是否為不可壓縮。倘若第一 資料為不可壓縮時,記憶體控制電路單元更用以判斷第一實體程式化單元中的可用空間起始位址是否滿足起始位址要求。倘若第一實體程式化單元中的可用空間起始位址滿足上述起始位址要求時,記憶體控制電路單元更用以規劃從可用空間起始位址來開始儲存第一資料。以及,倘若第一實體程式化單元中的可用空間起始位址不滿足上述起始位址要求時,記憶體控制電路單元更用以規劃從可用空間起始位址開始儲存填補資料,並且規劃從接續位址開始儲存第一資料,其中接續位址滿足上述起始位址要求。
在本發明的一範例實施例中,在上述記憶體控制電路單元更用以判斷第一實體程式化單元中的可用空間起始位址是否滿足起始位址要求的運作包含:記憶體控制電路單元更用以判斷第一實體程式化單元中的可用空間起始位址是否為錯誤檢查與校正框長度的整數倍數;倘若第一實體程式化單元中的可用空間起始位址為錯誤檢查與校正框長度的整數倍數時,記憶體控制電路單元辨識第一實體程式化單元中的可用空間起始位址滿足起始位址要求,其中接續位址為錯誤檢查與校正框長度的整數倍數。
在本發明的一範例實施例中,在上述記憶體控制電路單元更用以判斷第一實體程式化單元中的可用空間起始位址是否滿足起始位址要求的運作包含:記憶體控制電路單元更用以判斷第一實體程式化單元中的可用空間起始位址是否為錯誤檢查與校正框長度的倍數與固定值之和;倘若第一實體程式化單元中的可用空間起始位址為錯誤檢查與校正框長度的倍數與固定值之和時, 記憶體控制電路單元辨識第一實體程式化單元中的可用空間起始位址滿足起始位址要求,其中接續位址為錯誤檢查與校正框長度的倍數與固定值之和。
在本發明的一範例實施例中,上述規劃從可用空間起始位址開始儲存填補資料的運作包括:記憶體控制電路單元更用以判斷可用空間起始位址與接續位址之間的可用空間的大小,並且將小於可用空間的有效資料儲存至可用空間中,接著使用填補資料填滿可用空間。
在本發明的一範例實施例中,在上述倘若第一實體程式化單元中的可用空間起始位址不滿足上述起始位址要求時,記憶體控制電路單元更用以規劃從可用空間起始位址開始儲存填補資料,並且規劃從接續位址開始儲存第一資料的運作包含,倘若第一實體程式化單元中的可用空間起始位址不滿足上述起始位址要求時,記憶體控制電路單元更用以判斷第一資料的大小是否大於預先定義值。倘若第一資料的大小大於預先定義值時,記憶體控制電路單元更用以規劃從可用空間起始位址開始儲存填補資料,並且規劃從接續位址開始儲存第一資料,其中接續位址滿足上述起始位址要求。
在本發明的一範例實施例中,在上述倘若第一實體程式化單元中的可用空間起始位址不滿足起始位址要求時,記憶體控制電路單元更用以規劃從可用空間起始位址開始儲存填補資料,並且規劃從接續位址開始儲存第一資料的運作包含:倘若第一實 體程式化單元中的可用空間起始位址不滿足起始位址要求時,記憶體控制電路單元更用以判斷規劃為排序在第一資料之後儲存的不可壓縮資料的筆數是否大於一個預定筆數;以及,倘若規劃為排序在第一資料之後儲存的不可壓縮資料的筆數大於上述預定筆數時,記憶體控制電路單元更用以規劃從上述可用空間起始位址開始儲存填補資料,並且規劃從接續位址開始儲存第一資料,其中接續位址滿足起始位址要求。
在本發明的一範例實施例中,上述記憶體控制電路單元會判斷此些實體抹除單元之中的第一實體抹除單元的填補資料數量是否超過預先定義填補資料門檻值。倘若第一實體抹除單元的填補資料數量超過預先定義填補資料門檻值時,記憶體控制電路單元更用以對第一實體抹除單元進行垃圾回收操作。
基於上述,本發明可以使非壓縮資料可以對齊實體程式化單元的資料位元區來儲存,以避免讀取較多的實體程式化單元。也就是說,本發明可以使非壓縮資料得以對齊實體程式化單元的方式來儲存,例如,大小為小於或等於一個實體程式化單元大小的非壓縮資料,必定會只被儲存在一個實體程式化單元之中,並且本發明會從實體程式單元的起始位置儲存非壓縮資料。如此一來,在讀取非壓縮資料的時候,便可以不需要讀取多餘的實體程式化單元,進而增進快閃記憶體裝置的讀取效率。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
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‧‧‧可複寫式非揮發性記憶體模組
202‧‧‧記憶體管理電路
204‧‧‧主機介面
206‧‧‧記憶體介面
208‧‧‧緩衝記憶體
210‧‧‧電源管理電路
212‧‧‧錯誤檢查與校正電路
214‧‧‧資料壓縮/解壓縮電路
410(0)~410(N)‧‧‧實體抹除單元
502‧‧‧資料區
504‧‧‧閒置區
506‧‧‧系統區
508‧‧‧取代區
LBA(0)~LBA(H)‧‧‧邏輯單元
LZ(0)~LZ(M)‧‧‧邏輯區域
CD1‧‧‧第一壓縮資料
PD1‧‧‧第一填補資料
D2‧‧‧第二資料
D3‧‧‧第三資料
D4‧‧‧第四資料
Addr_S1‧‧‧第一起始實體位址
Addr_S2‧‧‧第二起始實體位址
Addr_S4‧‧‧第四起始實體位址
Addr_E1‧‧‧第一結束實體位址
Addr_E2‧‧‧第二結束實體位址
Addr_A1‧‧‧第一可用空間起始位址
Addr_A4‧‧‧第四可用空間起始位址
ECCF1‧‧‧第一錯誤檢查與校正框
ECCF2‧‧‧第二錯誤檢查與校正框
ECCF3‧‧‧第三錯誤檢查與校正框
ECCF4‧‧‧第四錯誤檢查與校正框
DBA1‧‧‧第一資料位元區
DBA2‧‧‧第二資料位元區
DBA3‧‧‧第三資料位元區
DBA4‧‧‧第四資料位元區
DMI1‧‧‧第一資料管理資訊
DMI2‧‧‧第二資料管理資訊
DMI3‧‧‧第三資料管理資訊
DMI4‧‧‧第四資料管理資訊
SBA1‧‧‧第一冗餘位元區
SBA2‧‧‧第二冗餘位元區
SBA3‧‧‧第三冗餘位元區
SBA4‧‧‧第四冗餘位元區
S1001、S1003、S1005、S1007、S1009、S1011、S1013、S1015‧‧‧本發明資料管理方法的步驟
圖1是根據本發明範例實施例所繪示的主機系統與記憶體儲存裝置。
圖2是根據本發明範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖3是根據本發明範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
圖5是根據本發明範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
圖6與圖7是根據本發明範例實施例所繪示之管理實體抹除單元的範例示意圖。
圖8A~8C是根據本發明範例實施例所繪示將不可壓縮資料儲存至實體程式化單元的示意圖。
圖9是根據本發明的另一範例實施例所繪示將不可壓縮資料儲存至實體程式化單元的示意圖。
圖10為根據本發明範例實施例所繪示的資料管理方法的流程圖。
圖1是根據本發明範例實施例所繪示的主機系統與記憶 體儲存裝置。
請參照圖1,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108與資料傳輸介面1110。輸入/輸出裝置1106包括如圖2的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖2所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明實施例中,記憶體儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件電性連接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的運作可將資料寫入至記憶體儲存裝置100或從記憶體儲存裝置100中讀取資料。例如,記憶體儲存裝置100可以是如圖2所示的隨身碟1212、記憶卡1214或固態硬碟(Solid State Drive,SSD)1216等的可複寫式非揮發性記憶體模組儲存裝置。
一般而言,主機系統1000為可實質地與記憶體儲存裝置100配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統1000是以電腦系統來做說明,然而,在本發明另一範例實施例中主機系統1000可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機(攝影機)1310時,可複寫式非揮發性記憶體模組儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、CF卡 1318或嵌入式儲存裝置1320(如圖3所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接電性連接於主機系統的基板上。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
請參照圖4,記憶體儲存裝置100包括連接介面單元102、記憶體控制電路單元104與可複寫式非揮發性記憶體模組106。
在本範例實施例中,連接介面單元102是相容於序列先進附件(Serial Advanced Technology Attachment,SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元102亦可以是符合並列先進附件(Parallel Advanced Technology Attachment,PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準、通用序列匯流排(Universal Serial Bus,USB)標準、超高速一代(Ultra High Speed-I,UHS-I)介面標準、超高速二代(Ultra High Speed-II,UHS-II)介面標準、序列先進附件(Serial Advanced Technology Attachment,SATA)標準、記憶棒(Memory Stick,MS)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、小型快閃(Compact Flash,CF)介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。在本範例實施例中,連接介面單元可與記憶體控制電路單元封裝在一 個晶片中,或佈設於一包含記憶體控制電路單元之晶片外。
記憶體控制電路單元104用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統1000的指令對可複寫式非揮發性記憶體模組106下達指令序列以進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組106是電性連接至記憶體控制電路單元104,並且用以儲存主機系統1000所寫入之資料。可複寫式非揮發性記憶體模組106具有實體抹除單元410(0)~410(N)。例如,實體抹除單元410(0)~410(N)可屬於同一個記憶體晶粒(die)或者屬於不同的記憶體晶粒。每一實體抹除單元分別具有複數個實體程式化單元,例如本發明的範例實施例中,每一個實體抹除單元包含258個實體程式化單元,而其中屬於同一個實體抹除單元之實體程式化單元可被獨立地寫入且被同時地抹除。然而,必須瞭解的是,本發明不限於此,每一實體抹除單元是可由64個實體程式化單元、256個實體程式化單元或其他任意個實體程式化單元所組成。
更詳細來說,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。每一實體程式化單元通常包括資料位元區(Data bits area,DBA)與冗餘位元區(Spare bits area,SBA)。資料位元區包含多個實體存取位址用以儲存使用者的資料,而冗餘位元區用以儲 存系統的資料(例如,控制資訊、壓縮資訊或是錯誤檢查與校正碼)。在本範例實施例中,每一個實體程式化單元的資料位元區的大小為4096位元組(bytes)並且包含4個實體存取位址,且一個實體存取位址的大小為1024位元組。然而,在其他範例實施例中,資料位元區中也可包含數目更多或更少的實體存取位址,本發明並不限制實體存取位址的大小以及個數。例如,在一範例實施例中,實體抹除單元為實體區塊,並且實體程式化單元為實體頁面或實體扇區,但本發明不以此為限。
在本範例實施例中,可複寫式非揮發性記憶體模組106為多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元資料的快閃記憶體模組,以下稱MLC NAND型快閃記憶體模組),然而,本發明不限於此,可複寫式非揮發性記憶體模組106亦可是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元資料的快閃記憶體模組)、三階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元資料的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖5是根據本發明範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
請參照圖5,記憶體控制電路單元104包括記憶體管理電路202、主機介面204、記憶體介面206、緩衝記憶體208、電源 管理電路210、錯誤檢查與校正電路212與資料壓縮/解壓縮電路214。
記憶體管理電路202用以控制記憶體控制電路單元104的整體運作。具體來說,記憶體管理電路202具有多個控制指令,並且在記憶體儲存裝置100運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。
在本範例實施例中,記憶體管理電路202的控制指令是以韌體型式來實作。例如,記憶體管理電路202具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置100運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在本發明另一範例實施例中,記憶體管理電路202的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組106的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路202具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有驅動碼,並且當記憶體控制電路單元104被致能時,微處理器單元會先執行此驅動碼段來將儲存於可複寫式非揮發性記憶體模組106中之控制指令載入至記憶體管理電路202的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在本發明另一範例實施例中,記憶體管理電路202 的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路202包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路是電性連接至微控制器。其中,記憶胞管理電路用以管理可複寫式非揮發性記憶體模組106的實體抹除單元;記憶體寫入電路用以對可複寫式非揮發性記憶體模組106下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組106中;記憶體讀取電路用以對可複寫式非揮發性記憶體模組106下達讀取指令以從可複寫式非揮發性記憶體模組106中讀取資料;記憶體抹除電路用以對可複寫式非揮發性記憶體模組106下達抹除指令以將資料從可複寫式非揮發性記憶體模組106中抹除;而資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組106的資料以及從可複寫式非揮發性記憶體模組106中讀取的資料。
主機介面204是電性連接至記憶體管理電路202並且用以接收與識別主機系統1000所傳送的指令與資料。也就是說,主機系統1000所傳送的指令與資料會透過主機介面204來傳送至記憶體管理電路202。在本範例實施例中,主機介面204是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面204亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、UHS-I介面標準、UHS-II介面標準、MS標準、MMC標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面206是電性連接至記憶體管理電路202並且用以存取可複寫式非揮發性記憶體模組106。也就是說,欲寫入至可複寫式非揮發性記憶體模組106的資料會經由記憶體介面206轉換為可複寫式非揮發性記憶體模組106所能接受的格式。
在本發明一範例實施例中,記憶體控制電路單元104還包括緩衝記憶體208、電源管理電路210、錯誤檢查與校正電路212與資料壓縮/解壓縮電路214。
緩衝記憶體208是電性連接至記憶體管理電路202並且用以暫存來自於主機系統1000的資料與指令或來自於可複寫式非揮發性記憶體模組106的資料。記憶體控制電路單元104在緩衝記憶體208中規劃暫存來自於主機系統1000的資料或來自於可複寫式非揮發性記憶體模組106的資料,以使資料組織成預定單位大小或是成為傳輸單元大小,並寫入到可複寫式非揮發性記憶體模組106或是回傳到主機系統。
電源管理電路210是電性連接至記憶體管理電路202並且用以控制記憶體儲存裝置100的電源。
錯誤檢查與校正電路212是電性連接至記憶體管理電路202並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路202從主機系統1000中接收到寫入指令時,錯誤檢查與校正電路212會為對應此寫入指令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),並且記憶體管理電路202會將對應此寫入指令的資料與對 應的錯誤檢查與校正碼寫入至可複寫式非揮發性記憶體模組106中。之後,當記憶體管理電路202從可複寫式非揮發性記憶體模組106中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼,並且錯誤檢查與校正電路212會依據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
資料壓縮/解壓縮電路214是耦接至記憶體管理電路202。在此,資料壓縮/解壓縮電路214用以壓縮欲寫入至可複寫式非揮發性記憶體模組106的資料並且用以解壓縮從可複寫式非揮發性記憶體模組106中所讀取之資料。例如,資料壓縮/解壓縮電路214包含壓縮器(compressor)及解壓縮器(decompressor)。壓縮器用以找出原始資料(original data)中存在的資料累贅(data redundancy)、移除所找出之累贅,將剩餘的必要資料編碼並且輸出編碼結果,即,壓縮資料(compressed data)。而,解壓縮器用以將讀入的壓縮資料依據既定的步驟解碼並送出解碼結果,即,解壓縮資料(decompressed data)。在本範例實施例中,資料壓縮/解壓縮電路214是使用無失真壓縮演算法來壓縮資料,以使壓縮後之資料能夠被還原。
圖6與圖7是根據本發明範例實施例所繪示之管理實體抹除單元的範例示意圖。
請參照圖6,記憶體控制電路單元104(或記憶體管理電路202)會將實體抹除單元410(0)~410-(N)邏輯地分組為資料區502、閒置區504、系統區506與取代區508。
邏輯上屬於資料區502與閒置區504的實體抹除單元是用以儲存來自於主機系統1000的資料。具體來說,資料區502的實體抹除單元是被視為已儲存資料的實體抹除單元,而閒置區504的實體抹除單元是用以替換資料區502的實體抹除單元。也就是說,當從主機系統1000接收到寫入指令與欲寫入之資料時,記憶體管理電路202會從閒置區504中提取實體抹除單元,並且將資料寫入至所提取的實體抹除單元中,以替換資料區502的實體抹除單元。
邏輯上屬於系統區506的實體抹除單元是用以記錄系統資料。例如,系統資料包括關於可複寫式非揮發性記憶體模組的製造商與型號、可複寫式非揮發性記憶體模組的實體抹除單元數、每一實體抹除單元的實體程式化單元數等。
邏輯上屬於取代區508中的實體抹除單元是用於壞實體抹除單元取代程序,以取代損壞的實體抹除單元。具體來說,倘若取代區508中仍存有正常之實體抹除單元並且資料區502的實體抹除單元損壞時,記憶體管理電路202會從取代區508中提取正常的實體抹除單元來更換損壞的實體抹除單元。
特別是,資料區502、閒置區504、系統區506與取代區508之實體抹除單元的數量會依據不同的記憶體規格而有所不同。此外,必須瞭解的是,在記憶體儲存裝置100的運作包含,實體抹除單元關聯至資料區502、閒置區504、系統區506與取代區508的分組關係會動態地變動。例如,當閒置區504中的實體 抹除單元損壞而被取代區508的實體抹除單元取代時,則原本取代區508的實體抹除單元會被關聯至閒置區504。
請參照圖7,記憶體控制電路單元104(或記憶體管理電路202)會配置邏輯單元LBA(0)~LBA(H)以映射資料區502的實體抹除單元,其中每一邏輯單元具有多個邏輯子單元以映射對應之實體抹除單元的實體程式化單元。並且,當主機系統1000欲寫入資料至邏輯單元或更新儲存於邏輯單元中的資料時,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區504中提取一個實體抹除單元來寫入資料,以輪替資料區502的實體抹除單元。在本範例實施例中,邏輯子單元可以是邏輯頁面或邏輯扇區。在本範例實施例中,邏輯子單元為邏輯頁面,大小為4仟位元組(kilobytes,K bytes),與實體程式化單元的大小相同。
為了識別每個邏輯單元的資料被儲存在那個實體抹除單元,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會記錄邏輯單元與實體抹除單元之間的映射。並且,當主機系統1000欲在邏輯子單元中存取資料時,記憶體控制電路單元104(或記憶體管理電路202)會確認此邏輯子單元所屬的邏輯單元,並且對可複寫式非揮發性記憶體模組106下達對應的指令序列以在此邏輯單元所映射的實體抹除單元中來存取資料。例如,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會在可複寫式非揮發性記憶體模組106中儲存邏輯轉實體位址映射表來記錄每一邏輯單元所映射的實體抹除單元,並且 當欲存取資料時記憶體控制電路單元104(或記憶體管理電路202)會將邏輯轉實體位址映射表載入至緩衝記憶體208來維護。
值得一提的是,由於緩衝記憶體208的容量有限無法儲存記錄所有邏輯單元之映射關係的映射表,因此,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會將邏輯單元LBA(0)~LBA(H)分組為多個邏輯區域LZ(0)~LZ(M),並且為每一邏輯區域配置一個邏輯轉實體位址映射表。特別是,當記憶體控制電路單元104(或記憶體管理電路202)欲更新某個邏輯單元的映射時,對應此邏輯單元所屬之邏輯區域的邏輯轉實體位址映射表會被載入至緩衝記憶體208來被更新。
如上所述,在本範例實施例中,記憶體儲存裝置100的可複寫式非揮發性記憶體模組106是以實體程式化單元為基礎來進行管理,因此,在執行寫入指令時,不管目前資料是要寫入至那個邏輯單元的邏輯子單元,記憶體控制電路單元104(或記憶體管理電路202)皆會以一個實體程式化單元接續一個實體程式化單元的方式來寫入資料。具體來說,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區504中提取一個空的實體抹除單元作為目前使用之實體抹除單元來寫入資料。並且,當此目前使用之實體抹除單元已被寫滿時,記憶體控制電路單元104(或記憶體管理電路202)會再從閒置區504中提取另一個空的實體抹除單元作為目前使用之實體抹除單元,以繼續寫入對應來自於主機系統1000之寫入指令的資料。特別是,為了避免閒置區504的實體抹 除單元被耗盡,當記憶體控制電路單元104(或記憶體管理電路202)欲從閒置區504中提取實體抹除單元且閒置區504的實體抹除單元快耗盡時,記憶體控制電路單元104(或記憶體管理電路202)會先執行資料合併程序,來使資料區502的至少一個實體抹除單元中的資料成為無效資料,並且將資料區502中所儲存之資料皆為無效資料之實體抹除單元關聯回閒置區504。
在本範例實施例中,如上所述,在記憶體儲存裝置100的錯誤檢查與校正電路212會被配置來驗證可複寫式非揮發性記憶體模組106中所儲存的資料是否正確。然而,在執行錯誤校正程序時,無論是編碼或解碼步驟,錯誤檢查與校正電路212都是需要清楚知道所要保護的資料長度為何,如此才能計算出正確的特徵碼,以檢查出正確的錯誤位置。在本範例實施例中,當記憶體控制電路單元104(或記憶體管理電路202)接收到資料時,記憶體控制電路單元104(或記憶體管理電路202)會先將資料分割為至少一個碼框(Frame),之後錯誤檢查與校正電路212再分別對每個碼框的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC)。接著,記憶體控制電路單元104(或記憶體管理電路202)會將每個碼框的資料與所對應的錯誤檢查與校正碼劃分為一個錯誤檢查與校正框,並且將資料以錯誤檢查與校正框為單位來寫入至可複寫式非揮發性記憶體模組106。在此,錯誤檢查與校正框的大小可由廠商依設計需求來決定,例如考量實體程式化單元的大小、錯誤檢查與校正電路212之硬體成本或 資料長度與錯誤檢查與校正碼的相對關係。當錯誤檢查與校正碼框設定為4仟位元大小時,記憶體控制電路單元104(或記憶體管理電路202)會將資料切割為每單位為小於4仟位元且固定大小的碼框。而錯誤檢查與校正電路212則會針對每個碼框的資料進行錯誤校正編碼,以使產生的錯誤檢查與校正碼與每個碼框的大小總和為4仟位元。而在另一範例實施例中,每個碼框可直接為4仟位元,而對應每個碼框的資料所產生的錯誤檢查與校正碼再與4仟位元的碼框一同被劃分為一個錯誤檢查與校正框。或是,對應每個碼框所產生的錯誤檢查與校正碼儲存於對應此碼框的冗餘位元區中,並且此時每個碼框的資料便可以受到錯誤檢查與校正電路212的保護。
但必須了解的是,本發明不限於此,在另一範例實施例中,錯誤檢查與校正框的大小亦可以是1仟位元、2仟位元或3仟位元等等。值得一提的是,每個實體程式化單元的大小會儲存至少一個錯誤檢查與校正框,以使儲存在實體程式化單元的資料,以錯誤檢查與校正框的大小為單位,可以受到錯誤檢查與校正電路212的保護。
例如,在本範例實施例中,錯誤檢查與校正電路212的最大保護能力,為24個位元,故當錯誤檢查與校正框所發生的錯誤位元數目大於24(例如,25)時,錯誤檢查與校正電路212將無法校正於錯誤檢查與校正框內的錯誤資料,導致儲存於此錯誤檢查與校正框的資料不能正常讀取,成為不能恢復的損毀資料。 當此狀況發生時,通常是代表具有此損毀資料的實體抹除單元已經過於老化而不堪使用。故,記憶體控制電路單元104(或記憶體管理電路202)會將錯誤位元數目超過錯誤檢查與校正電路212最大保護能力或一預定錯誤位元數目門檻值的實體程式化單元標記成不良實體程式化單元。例如,記憶體控制電路單元104(或記憶體管理電路202)會使用不良實體程式化單元分佈表來記錄不良實體程式化單元。
在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會使用對齊模式來儲存不可壓縮的資料。以下將配合圖式說明使用對齊模式將不可壓縮資料儲存到實體程式化單元的方法。應了解的是,在下述範例實施例中的判斷步驟/運作是選擇性的,並且僅用於說明本發明之用,本發明不限於此。
圖8A~8C是根據本發明範例實施例所繪示將不可壓縮資料儲存至實體程式化單元的示意圖。
在本範例實施例中,實體抹除單元的實體位址規劃,是根據實體程式化單元的資料位元區順序,於依序的資料位元區中,以位元組為一個單位來依序使用。舉例來說,請參照圖8A與圖8B,第一實體抹除單元的第一個實體程式化單元為第一實體程式化單元,並且第一實體程式化單元的第一資料位元區DBA1的實體位址,從數值為0的第一起始實體位址Addr_S1,排序到數值為4095的第一結束實體位址Addr_E1。依此類推,請參照圖8A,接續在第一實體程式化單元後的第二實體程式化單元的第二資料 位元區DBA2的實體位址分佈為,從數值為4096的第二起始實體位址Addr_S2開始,到數值為8191的第二結束實體位址Addr_E2。
請參照圖8A與圖8B,舉例來說,第一實體程式化單元包括大小為4096位元組的第一資料位元區DBA1,和第一冗餘位元區SBA1。第一資料位元區DBA1已儲存有第一錯誤檢查與校正框ECCF1,其中第一錯誤檢查與校正框ECCF1是由第一壓縮資料CD1與對應第一壓縮資料CD1的第一資料管理資訊DMI1所組成,並且第一錯誤檢查與校正框ECCF1的大小為2048位元組,因此,第一資料位元區DBA1的剩餘可用空間大小為2048位元組。
在此範例中,記憶體控制電路單元104(或記憶體管理電路202)在接收到一個第二寫入指令與對應第二寫入指令且大小為4096位元組的第二資料D2後,記憶體控制電路單元104(或記憶體管理電路202)會先判斷第二資料D2是否可以壓縮。倘若第二資料D2為不可壓縮時,記憶體控制電路單元104(或記憶體管理電路202)會使用對齊模式來儲存第二資料D2,識別該第一實體程式化單元中的第一可用空間起始位址Addr_A1,並且判斷第一可用空間起始位址是否滿足起始位址要求。“可用空間起始位址”意指在實體程式化單元中的可用空間的起始位址,並且“第一可用空間起始位址Addr_A1”意指第一實體程式化單元中的可用空間的起始位址(如圖8A、8C所繪示)。
在本範例實施例中,上述起始位址要求,舉例來說,可為錯誤檢查與校正框長度的整數倍數或是為錯誤檢查與校正框長 度的倍數與一固定值的和,其中此錯誤檢查與校正框長度的大小為4096位元組。以下的範例實施例中,會將起始位址要求設定為錯誤檢查與校正框長度的整數倍數,以便於說明本發明的概念,如,上述判斷第一可用空間起始位址是否滿足起始位址要求,即可設定為判斷第一可用空間起始位址是否為錯誤檢查與校正框長度的整數倍數。值的一提的是,上述設定起始位址要求的例子,僅為說明本發明之用,本發明不受限於此,上述起始位址要求的設定方式更能夠為廠商依其需求而設定。
請參照圖8A,舉例來說,將起始位址要求設定為錯誤檢查與校正框長度的整數倍數。因為已經從第一起始實體位址Addr_S1開始儲存了大小為2048位元組的第一錯誤檢查與校正框ECCF1,故,第一可用空間起始位址Addr_A1為2048。在此例子中,數值為2048的第一可用空間起始位址Addr_A1不為錯誤檢查與校正框長度(4096)的整數倍數,即,第一可用空間起始位址Addr_A1不滿足起始位址要求。因此記憶體控制電路單元104(或記憶體管理電路202)會規劃從第一可用空間起始位址Addr_A1開始填補一筆填補資料(Padding data,以下稱第一填補資料PD1)直到第一結束實體位址Addr_E1,並且從接續位址開始儲存第二資料D2,其中填補資料可為虛擬資料(Dummy data)。
請參考圖8C,舉例來說,記憶體控制電路單元104(或記憶體管理電路202)會辨識在第一可用空間起始位址Addr_A1之後的下一個數值為錯誤檢查與校正框長度(4096)的整數倍數 的實體位址,並且設定此實體位址為接續位址,並且從第一可用空間起始位址Addr_A1開始儲存第一填補資料PD1直到上述接續位址的前一個可儲存資料的實體位址。如上述的例子,第一可用空間起始位址Addr_A1(即,數值為2048的位址)之後的下一個為錯誤檢查與校正框長度的整數倍數的實體位址為第二實體程式化單元的第二起始實體位址Addr_S2(即,數值為4096的位址),因此,並記憶體控制電路單元104(或記憶體管理電路202)會設定接續位址為第二起始實體位址Addr_S2。由於第二起始實體位址Addr_S2的前一個可儲存資料的實體位址為第一實體程式化單元的第一結束實體位址Addr_E1,故,記憶體控制電路單元104(或記憶體管理電路202)會儲存第一填補資料PD1於第一可用空間起始位址Addr_A1與第一結束實體位址Addr_E1之間。接著,記憶體控制電路單元104(或記憶體管理電路202)會規劃從接續位址(即,第二起始實體位址Addr_S2)開始儲存第二資料D2。
值得一提的是,在另一範例實施例中,倘若第一可用空間起始位址Addr_A1不為錯誤檢查與校正框長度的整數倍數時,記憶體控制電路單元104(或記憶體管理電路202)亦可依據第一可用空間起始位址Addr_A1與該接續位址之間的可用空間的大小,規劃將小於此可用空間的有效資料儲存至此可用空間中,並接著使用第一填補資料PD1填滿儲存此有效資料後的剩餘的可用空間。
此外,在另一範例實施例中,若第一可用空間起始位址Addr_A1不為該錯誤檢查與校正框長度的整數倍數時,在設定數值為錯誤檢查與校正框長度的整數倍數的接續位址之後,記憶體控制電路單元104(或記憶體管理電路202)亦可先判斷該第二資料D2的大小是否大於預先定義值。倘若第二資料D2的大小大於預先定義值時,記憶體控制電路單元104(或記憶體管理電路202)才規劃從第一可用空間起始位址Addr_A1開始儲存第一填補資料PD1,並且規劃從接續位址開始儲存第二資料D2。倘若第二資料D2的大小非大於預先定義值時,記憶體控制電路單元104(或記憶體管理電路202)會規劃從第一可用空間起始位址Addr_A1開始儲存該第二資料D2的第一部份,並且規劃從接續位址開始儲存第二資料D2的第二部份。
值得一提的是,在另一範例實施例中,若第一可用空間起始位址Addr_A1不為該錯誤檢查與校正框長度的整數倍數時,在設定數值為錯誤檢查與校正框長度的整數倍數的接續位址之後,記憶體控制電路單元104(或記憶體管理電路202)會先判斷規劃為排序在第二資料D2之後連續儲存的不可壓縮資料的總長度是否大於一個預定長度。倘若規劃為排序在第二資料D2之後連續儲存的不可壓縮資料的總長度大於此預定長度時,記憶體控制電路單元104(或記憶體管理電路202)會規劃從第一可用空間起始位址Addr_A1開始儲存第一填補資料PD1,並且規劃從接續位址開始儲存第二資料D2,其中接續位址為錯誤檢查與校正框長度 的整數倍數。倘若規劃為排序在該第一資料之後連續儲存的不可壓縮資料的總長度非大於此預定長度時,記憶體控制電路單元104(或記憶體管理電路202)會規劃從第一可用空間起始位址Addr_A1開始儲存第二資料D2的第一部份,並且規劃從接續位址開始儲存第二資料D2的第二部份。也就是說,記憶體控制電路單元104(或記憶體管理電路202)會辨識,當連續接收到欲儲存的不可壓縮資料的筆數大於一個預定筆數時,或是當所接收到多筆欲儲存的不可壓縮資料的資料總長度大於一個預定長度時,才執行填補動作,以避免接收到多筆可壓縮資料與不可壓縮資料交錯並且接著進行填補操作所導致的效率降低問題。
圖9是根據本發明的另一範例實施例所繪示將不可壓縮資料儲存至實體程式化單元的示意圖。
請參照圖9,舉例來說,第三實體程式化單元包括大小為4096位元組的第三資料位元區DBA3,與第三冗餘位元區SBA3。假設,第三資料位元區DBA1已經儲存有第三資料D3,並且第三資料D3的大小為4096位元組。
當接收到一個第四寫入指令與對應第四寫入指令且大小為4096位元組的第四資料D4,其時,由於第三實體程式化單元已無儲存空間,因此,記憶體控制電路單元104(或記憶體管理電路202)會辨識在可複寫式非揮發性記憶體模組106的多個實體程式化單元之中的第四實體程式化單元並且規劃將第四資料D4程式化至第四實體程式化單元中。
特別是,記憶體控制電路單元104(或記憶體管理電路202)會先辨識被選擇作為儲存第四資料D4的第四實體程式化單元的第四資料位元區DBA4中的可用空間的起始實體位址(以下稱第四可用空間起始位址Addr_A4)。接著,記憶體控制電路單元104(或記憶體管理電路202)會先判斷第四資料D4是否可以壓縮。倘若記憶體控制電路單元104(或記憶體管理電路202)辨識第四資料D4不可壓縮時,記憶體控制電路單元104(或記憶體管理電路202)會使用對齊模式來儲存第四資料D4,並且記憶體控制電路單元104(或記憶體管理電路202)會判斷第四可用空間起始位址Addr_A4是否為錯誤檢查與校正框長度的整數倍數,即,判斷第四可用空間起始位址Addr_A4是否滿足起始位址要求。“可用空間起始位址”意指在實體程式化單元中的可用空間的起始位址,並且“第四可用空間起始位址Addr_A4”意指第四實體程式化單元中的可用空間的起始位址(如圖9所繪示)。在圖9中,“第四可用空間起始位址Addr_A4”等於“第四起始實體位址Addr_S4”。
在上述的例子中,因為第四可用空間起始位址Addr_A4為第四實體程式化單元的起始實體位址(以下稱第四起始實體位址Addr_S4)且其數值為12288(即,錯誤檢查與校正框長度的3倍),故,記憶體控制電路單元104(或記憶體管理電路202)會規劃從第四可用空間起始位址Addr_A4來開始儲存該第四資料D4。
值得一提的是,在本範例實施例中,記憶體控制電路單 元104(或記憶體管理電路202)會判斷實體抹除單元中填補資料的數量是否大於預先定義填補資料門檻值。倘若實體抹除單元的填補資料數量超過預先定義填補資料門檻值時,記憶體控制電路單元104(或記憶體管理電路202)會對此實體抹除單元進行垃圾回收操作。
圖10為根據本發明範例實施例所繪示的資料管理方法的流程圖。
請參考圖10,在步驟S1001中,記憶體控制電路單元104(或記憶體管理電路202)接收第一資料,接著在步驟S1003中,記憶體控制電路單元104(或記憶體管理電路202)識別實體程式化單元之中的第一實體程式化單元。然後,記憶體控制電路單元104(或記憶體管理電路202)會先識別第一實體程式化單元的可用空間起始位址,並且在步驟S1007中,記憶體控制電路單元104(或記憶體管理電路202)會判斷第一資料是否為不可壓縮。
根據步驟S1007的判斷結果,倘若第一資料為不可壓縮時,在步驟S1009中,記憶體控制電路單元104(或記憶體管理電路202)會判斷第一實體程式化單元的可用空間起始位址是否滿足起始位址要求。
接著,根據判斷結果,倘若第一實體程式化單元的可用空間起始位址滿足起始位址要求時,在步驟S1011中,記憶體控制電路單元104(或記憶體管理電路202)規劃從可用空間起始位址來開始儲存第一資料,並結束整個資料管理方法的流程。
倘若第一實體程式化單元的可用空間起始位址不滿足起始位址要求時,在步驟S1013中,記憶體控制電路單元104(或記憶體管理電路202)規劃從可用空間起始位址開始儲存填補資料,並且規劃從接續位址開始儲存第一資料,並結束整個資料管理方法的流程,其中接續位址滿足起始位址要求。
此外,根據步驟S1007的判斷結果,倘若第一資料為可壓縮,在步驟S1015中,記憶體控制電路單元104(或記憶體管理電路202)壓縮第一資料以產生第一壓縮資料,並且將第一壓縮資料與第一資料管理資訊程式化至實體程式化單元之中的第一實體程式化單元的第一資料位元區,並結束整個資料管理方法的流程。
綜上所述,本發明可以使不可壓縮資料可以對齊實體程式化單元的資料位元區來儲存,以避免讀取較多的實體程式化單元。也就是說,本發明可以使不可壓縮資料得以對齊實體程式化單元的方式來儲存,例如,大小為小於或等於一個實體程式化單元大小的不可壓縮資料,必定會只被儲存在一個實體程式化單元之中,並且本發明會從實體程式單元的起始位置儲存非壓縮資料。如此一來,在讀取非壓縮資料的時候,便可以不需要讀取多餘的實體程式化單元,進而增進快閃記憶體裝置的讀取效率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S1001、S1003、S1005、S1007、S1009、S1011、S1013、S1015‧‧‧本發明資料管理方法的步驟

Claims (24)

  1. 一種資料管理方法,用於一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包含多個實體抹除單元,多個邏輯單元以映射至少部分的該些實體抹除單元,並且每一實體抹除單元具有多個實體程式化單元,其中每一該些實體程式化單元至少儲存一錯誤檢查與校正框,該資料管理方法包括:接收一第一資料;識別該些實體程式化單元之中的一第一實體程式化單元;識別該第一實體程式化單元中的一可用空間起始位址;判斷該第一資料是否為不可壓縮;倘若該第一資料為不可壓縮並且該可用空間起始位址滿足一起始位址要求時,從該可用空間起始位址來開始儲存該第一資料;以及倘若該第一資料為不可壓縮並且該第一實體程式化單元中的該可用空間起始位址不滿足該起始位址要求時,從該可用空間起始位址開始儲存一填補資料,並且從一接續位址開始儲存該第一資料,其中該接續位址滿足該起始位址要求。
  2. 如申請專利範圍第1項所述的資料管理方法,其中該接續位址為該些實體程式化單元之中的一第二實體程式化單元的一起始實體位址。
  3. 如申請專利範圍第1項所述的資料管理方法,更包括:判斷該第一實體程式化單元中的該可用空間起始位址是否為一錯誤 檢查與校正框長度的一整數倍數;以及倘若該第一實體程式化單元中的該可用空間起始位址為該錯誤檢查與校正框長度的該整數倍數時,辨識該第一實體程式化單元中的該可用空間起始位址滿足該起始位址要求,其中該接續位址為該錯誤檢查與校正框長度的該整數倍數。
  4. 如申請專利範圍第1項所述的資料管理方法,更包括:判斷該第一實體程式化單元中的該可用空間起始位址是否為一錯誤檢查與校正框長度的一倍數與一固定值之和;以及倘若該第一實體程式化單元中的該可用空間起始位址為該錯誤檢查與校正框長度的該倍數與該固定值之和時,辨識該第一實體程式化單元中的該可用空間起始位址滿足該起始位址要求,其中該接續位址為該錯誤檢查與校正框長度的該倍數與該固定值之和。
  5. 如申請專利範圍第1項所述的資料管理方法,其中在上述從該可用空間起始位址開始儲存該填補資料的步驟包括:將小於一可用空間的一有效資料儲存至該可用空間中,並使用該填補資料填滿該可用空間,其中該可用空間是在該可用空間起始位址與該接續位址之間。
  6. 如申請專利範圍第1項所述的資料管理方法,其中上述倘若該第一資料為不可壓縮並且該第一實體程式化單元中的該可用空間起始位址不滿足該起始位址要求時,從該可用空間起始位址 開始儲存該填補資料,並且從該接續位址開始儲存該第一資料的步驟包括:倘若該第一資料為不可壓縮並且該第一實體程式化單元中的該可用空間起始位址不滿足該起始位址要求時,判斷該第一資料的大小是否大於一預先定義值;倘若該第一資料的大小大於該預先定義值時,從該可用空間起始位址開始儲存該填補資料,並且從該接續位址開始儲存該第一資料,其中該接續位址滿足該起始位址要求。
  7. 如申請專利範圍第1項所述的資料管理方法,其中上述倘若該第一資料為不可壓縮並且該第一實體程式化單元中的該可用空間起始位址不滿足該起始位址要求時,從該可用空間起始位址開始儲存該填補資料,並且從該接續位址開始儲存該第一資料的步驟包括:倘若該第一資料為不可壓縮、該第一實體程式化單元中的該可用空間起始位址不滿足該起始位址要求並且欲被儲存在該第一資料之後的不可壓縮資料的筆數是否大於一預定筆數時,從該可用空間起始位址開始儲存該填補資料,並且從該接續位址開始儲存該第一資料,其中該接續位址滿足該起始位址要求。
  8. 如申請專利範圍第1項所述的資料管理方法,更包括:倘若該第一實體抹除單元的填補資料數量超過一預先定義填補資料門檻值時,對該第一實體抹除單元進行一垃圾回收操作。
  9. 一種記憶體控制電路單元,用於控制一可複寫式非揮發性 記憶體模組,該記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包含多個實體抹除單元並且被配置多個邏輯單元以映射至少部分的該些實體抹除單元,其中每一實體抹除單元具有多個實體程式化單元,其中每一該些實體程式化單元至少儲存一錯誤檢查與校正框;一記憶體管理電路,耦接至該主機介面與該記憶體介面,並且配置多個邏輯單元以映射至少部分的該些實體抹除單元;以及其中該記憶體管理電路用以接收一第一資料,其中該記憶體管理電路更用以識別該些實體程式化單元之中的一第一實體程式化單元,其中該記憶體管理電路更用以識別該第一實體程式化單元中的一可用空間起始位址,其中倘若該第一資料為不可壓縮並且該第一實體程式化單元中的該可用空間起始位址滿足一起始位址要求時,該記憶體管理電路更用以從該可用空間起始位址來開始儲存該第一資料,其中倘若該第一資料為不可壓縮並且該第一實體程式化單元中的該可用空間起始位址不滿足該起始位址要求時,該記憶體管理電路更用以從該可用空間起始位址開始儲存一填補資料,並且從一接續位址開始儲存該第一資料,其中該接續位址滿足該起始位址要求。
  10. 如申請專利範圍第9項所述的記憶體控制電路單元,其中該接續位址為該些實體程式化單元之中的一第二實體程式化單元的一起始實體位址。
  11. 如申請專利範圍第9項所述的記憶體控制電路單元,其中該記憶體管理電路用以判斷該第一實體程式化單元中的該可用空間起始位址是否為一錯誤檢查與校正框長度的一整數倍數;以及倘若該第一實體程式化單元中的該可用空間起始位址為該錯誤檢查與校正框長度的該整數倍數時,該記憶體管理電路辨識該第一實體程式化單元中的該可用空間起始位址滿足該起始位址要求,其中該接續位址為該錯誤檢查與校正框長度的該整數倍數。
  12. 如申請專利範圍第9項所述的記憶體控制電路單元,其中該記憶體管理電路判斷該第一實體程式化單元中的該可用空間起始位址是否為一錯誤檢查與校正框長度的一倍數與一固定值之和;以及倘若該第一實體程式化單元中的該可用空間起始位址為該錯誤檢查與校正框長度的該倍數與該固定值之和時,該記憶體管理電路辨識該第一實體程式化單元中的該可用空間起始位址滿足該起始位址要求,其中該接續位址為該錯誤檢查與校正框長度的該倍數與該固定值之和。
  13. 如申請專利範圍第9項所述的記憶體控制電路單元,其中在上述從該可用空間起始位址開始儲存該填補資料的運作中,該記憶體管理電路將小於一可用空間的一有效資料儲存至該可用空間中,並使用該填補資料填滿該可用空間,其中該可用空間是在該可用空間起始位址與該接續位址之間。
  14. 如申請專利範圍第9項所述的記憶體控制電路單元,其中在上述倘若該第一資料為不可壓縮並且該第一實體程式化單元中的該可用空間起始位址不滿足該起始位址要求時,該記憶體管理電路更用以從該可用空間起始位址開始儲存該填補資料,並且從該接續位址開始儲存該第一資料的運作中,倘若該第一資料不可壓縮並且該第一實體程式化單元中的該可用空間起始位址不滿足該起始位址要求時,該記憶體管理電路判斷該第一資料的大小是否大於一預先定義值,其中倘若該第一資料的大小大於該預先定義值時,該記憶體管理電路從該可用空間起始位址開始儲存該填補資料,並且從該接續位址開始儲存該第一資料,其中該接續位址滿足該起始位址要求。
  15. 如申請專利範圍第9項所述的記憶體控制電路單元,其中在上述倘若該第一資料為不可壓縮並且該第一實體程式化單元中的該可用空間起始位址不滿足該起始位址要求時,該記憶體管理電路更用以規劃從該可用空間起始位址開始儲存該填補資料, 並且規劃從該接續位址開始儲存該第一資料的運作中,倘若該第一資料為不可壓縮並且該第一實體程式化單元中的該可用空間起始位址不滿足該起始位址要求時,該記憶體管理電路判斷規劃為排序在該第一資料之後儲存的不可壓縮資料的筆數是否大於一預定筆數,其中倘若規劃為排序在該第一資料之後儲存的不可壓縮資料的筆數大於該預定筆數時,該記憶體管理電路從該可用空間起始位址開始儲存該填補資料,並且從該接續位址開始儲存該第一資料,其中該接續位址滿足該起始位址要求。
  16. 如申請專利範圍第9項所述的記憶體控制電路單元,其中倘若該第一實體抹除單元的填補資料數量超過一預先定義填補資料門檻值時,該記憶體管理電路更用以對該第一實體抹除單元進行一垃圾回收操作。
  17. 一種記憶體儲存裝置,包括:一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體抹除單元並且被配置多個邏輯單元以映射至少部分的該些實體抹除單元,其中每一實體抹除單元具有多個實體程式化單元,其中每一該些實體程式化單元至少儲存一錯誤檢查與校正框;以及一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,並且配置多個邏輯單元以映射至少部分 的該些實體抹除單元,其中該記憶體控制電路單元用以接收一第一資料,其中該記憶體控制電路單元更用以識別該些實體程式化單元之中的一第一實體程式化單元,其中該記憶體控制電路單元更用以識別該第一實體程式化單元中的一可用空間起始位址,其中倘若該第一資料為不可壓縮並且該第一實體程式化單元中的該可用空間起始位址滿足一起始位址要求時,該記憶體控制電路單元更用以從該可用空間起始位址來開始儲存該第一資料,其中倘若該第一資料為不可壓縮並且該第一實體程式化單元中的該可用空間起始位址不滿足該起始位址要求時,該記憶體控制電路單元更用以從該可用空間起始位址開始儲存一填補資料,並且從一接續位址開始儲存該第一資料,其中該接續位址滿足該起始位址要求。
  18. 如申請專利範圍第17項所述的記憶體儲存裝置,其中該接續位址為該些實體程式化單元之中的一第二實體程式化單元的一起始實體位址。
  19. 如申請專利範圍第17項所述的記憶體儲存裝置,其中在上述該記憶體控制電路單元更用以判斷該第一實體程式化單元中的該可用空間起始位址是否滿足該起始位址要求的運作中,該記憶體控制電路單元判斷該第一實體程式化單元中的該可用空間起始位址是否為一錯誤檢查與校正框長度的一整數倍數; 以及倘若該第一實體程式化單元中的該可用空間起始位址為該錯誤檢查與校正框長度的該整數倍數時,該記憶體控制電路單元辨識該第一實體程式化單元中的該可用空間起始位址滿足該起始位址要求,其中該接續位址為該錯誤檢查與校正框長度的該整數倍數。
  20. 如申請專利範圍第17項所述的記憶體儲存裝置,其中在上述該記憶體控制電路單元更用以判斷該第一實體程式化單元中的該可用空間起始位址是否滿足該起始位址要求的運作中,該記憶體控制電路單元判斷該第一實體程式化單元中的該可用空間起始位址是否為一錯誤檢查與校正框長度的一倍數與一固定值之和;以及倘若該第一實體程式化單元中的該可用空間起始位址為該錯誤檢查與校正框長度的該倍數與該固定值之和時,該記憶體控制電路單元辨識該第一實體程式化單元中的該可用空間起始位址滿足該起始位址要求,其中該接續位址為該錯誤檢查與校正框長度的該倍數與該固定值之和。
  21. 如申請專利範圍第17項所述的記憶體儲存裝置,其中在上述規劃從該可用空間起始位址開始儲存該填補資料的運作中,該記憶體控制電路單元將小於一可用空間的一有效資料儲存至該可用空間中,並使用該填補資料填滿該可用空間, 其中該可用空間是在該可用空間起始位址與該接續位址之間。
  22. 如申請專利範圍第17項所述的記憶體儲存裝置,其中在上述倘若該第一資料為不可壓縮並且該第一實體程式化單元中的該可用空間起始位址不滿足該起始位址要求時,該記憶體控制電路單元更用以從該可用空間起始位址開始儲存該填補資料,並且從該接續位址開始儲存該第一資料的運作中,倘若該第一資料為不可壓縮並且該第一實體程式化單元中的該可用空間起始位址不滿足該起始位址要求時,該記憶體控制電路單元判斷該第一資料的大小是否大於一預先定義值,其中倘若該第一資料的大小大於該預先定義值時,該記憶體控制電路單元從該可用空間起始位址開始儲存該填補資料,並且從該接續位址開始儲存該第一資料,其中該接續位址滿足該起始位址要求。
  23. 如申請專利範圍第17項所述的記憶體儲存裝置,其中在上述倘若該第一資料為不可壓縮並且該第一實體程式化單元中的該可用空間起始位址不滿足該起始位址要求時,該記憶體控制電路單元更用以規劃從該可用空間起始位址開始儲存該填補資料,並且規劃從該接續位址開始儲存該第一資料的運作中,倘若該第一資料為不可壓縮並且該第一實體程式化單元中的該可用空間起始位址不滿足該起始位址要求時,該記憶體控制電路單元判斷欲被儲存至該第一資料之後的不可壓縮資料的筆數是 否大於一預定筆數,其中倘若規劃為排序在該第一資料之後儲存的不可壓縮資料的筆數大於該預定筆數時,該記憶體控制電路單元從該可用空間起始位址開始儲存該填補資料,並且從該接續位址開始儲存該第一資料,其中該接續位址滿足該起始位址要求。
  24. 如申請專利範圍第17項所述的記憶體儲存裝置,其中倘若該第一實體抹除單元的填補資料數量超過一預先定義填補資料門檻值時,該記憶體控制電路單元更用以對該第一實體抹除單元進行一垃圾回收操作。
TW103126620A 2014-08-04 2014-08-04 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置 TWI545432B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW103126620A TWI545432B (zh) 2014-08-04 2014-08-04 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置
US14/510,130 US9304907B2 (en) 2014-08-04 2014-10-09 Data management method, memory control circuit unit and memory storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103126620A TWI545432B (zh) 2014-08-04 2014-08-04 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置

Publications (2)

Publication Number Publication Date
TW201606503A TW201606503A (zh) 2016-02-16
TWI545432B true TWI545432B (zh) 2016-08-11

Family

ID=55180170

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103126620A TWI545432B (zh) 2014-08-04 2014-08-04 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置

Country Status (2)

Country Link
US (1) US9304907B2 (zh)
TW (1) TWI545432B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI587135B (zh) * 2016-11-23 2017-06-11 群聯電子股份有限公司 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元
TWI658361B (zh) * 2017-09-05 2019-05-01 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10255004B2 (en) * 2015-11-16 2019-04-09 Marvell World Trade Ltd. Systems and methods for managing address-mapping data in memory devices
US10452532B2 (en) 2017-01-12 2019-10-22 Micron Technology, Inc. Directed sanitization of memory
CN110633225B (zh) * 2018-06-25 2022-11-15 慧荣科技股份有限公司 实体存储对照表产生装置及方法
US11573899B1 (en) * 2021-10-21 2023-02-07 International Business Machines Corporation Transparent interleaving of compressed cache lines

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003104B2 (en) * 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US8996807B2 (en) * 2011-02-15 2015-03-31 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a multi-level cache
US8949513B2 (en) * 2011-05-10 2015-02-03 Marvell World Trade Ltd. Data compression and compacting for memory devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI587135B (zh) * 2016-11-23 2017-06-11 群聯電子股份有限公司 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元
TWI658361B (zh) * 2017-09-05 2019-05-01 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置

Also Published As

Publication number Publication date
TW201606503A (zh) 2016-02-16
US20160034388A1 (en) 2016-02-04
US9304907B2 (en) 2016-04-05

Similar Documents

Publication Publication Date Title
TWI527037B (zh) 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置
TWI516927B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI459197B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI534618B (zh) 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置
TWI540582B (zh) 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置
TWI545432B (zh) 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置
CN111880749B (zh) 数据读取方法、存储器存储装置及存储器控制电路单元
CN104866429A (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
TWI506634B (zh) 資料存取方法、記憶體控制電路單元及記憶體儲存裝置
TW201705148A (zh) 映射表存取方法、記憶體控制電路單元及記憶體儲存裝置
CN103678162B (zh) 系统数据储存方法、存储器控制器与存储器储存装置
TWI509615B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
TWI548991B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI501244B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI534814B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN104252317A (zh) 数据写入方法、存储器控制器与存储器存储装置
CN105335096A (zh) 数据管理方法、存储器控制电路单元以及存储器存储装置
CN108664350B (zh) 数据保护方法、存储器存储装置及存储器控制电路单元
TWI545576B (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
CN105653391A (zh) 数据存取方法、存储器控制电路单元及存储器储存装置
US9600363B2 (en) Data accessing method, memory controlling circuit unit and memory storage apparatus
CN105573662B (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
CN111143253A (zh) 数据储存方法、存储器控制电路单元以及存储器储存装置
CN105426113A (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN117493233A (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元