TWI534814B - 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 - Google Patents
資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 Download PDFInfo
- Publication number
- TWI534814B TWI534814B TW103136136A TW103136136A TWI534814B TW I534814 B TWI534814 B TW I534814B TW 103136136 A TW103136136 A TW 103136136A TW 103136136 A TW103136136 A TW 103136136A TW I534814 B TWI534814 B TW I534814B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- compression
- unit
- physical
- compressed
- 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/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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Description
本發明是有關於一種資料寫入方法,且特別是有關於用於可複寫式非揮發性記憶體模組的資料寫入方法及使用此方法的記憶體控制電路單元與記憶體儲存裝置。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,最適於可攜式電子產品,例如筆記型電腦。固態硬碟就是一種以快閃記憶體作為儲存媒體的儲存裝置。因此,近年快閃記憶體產業成為電子產業中相當熱門的一環。
近年來,為了更有效利用記憶體的空間或者提升資料錯誤校正的能力,快閃記憶體儲存裝置的控制電路會利用壓縮電路先將欲寫入的資料壓縮後再寫入至快閃記憶體中。例如,一個實
體頁面中包括儲存使用者資料的資料位元區與儲存管理資訊(例如,錯誤校正碼)的冗餘位元區,若使用者資料可被壓縮成較小的資料時,資料位元區未使用的空間可被用來儲存更多個錯誤校正碼或者填入固定的位元值,由此強化資料錯誤校正的能力。然而,為了避免延遲執行寫入指令的時間,在快閃記憶體儲存裝置中所配置的壓縮電路所使用的是屬於運算速度較快的壓縮演算機制。然而,此類運算速度較快的壓縮電路,其壓縮效率往往較低。因此,如何能夠在滿足資料匯流排的頻寬而不會延遲執行寫入指令的時間,同時又達到較佳的壓縮率,是此領域技術人員所致力的目標。
本發明提供一種資料寫入方法、記憶體控制電路單元與記憶體儲存裝置能夠在滿足資料匯流排的頻寬而不會延遲執行寫入指令的時間,同時又達到較佳的壓縮率。
本發明的一範例實施例提出一種資料寫入方法,用於可複寫式非揮發性記憶體模組,其中此可複寫式非揮發性記憶體模組具有多個實體抹除單元,且每一所述實體抹除單元具有多個實體程式化單元。本資料寫入方法包括:識別一資料是屬於一第一態樣或一第二態樣;倘若此資料屬於第一態樣時,使用第一壓縮/解壓縮電路壓縮此資料以產生壓縮資料,並且將此壓縮資料寫入至此些實體程式化單元中;以及倘若此資料屬於第二態樣時,使
用第二壓縮/解壓縮電路壓縮該資料以產生另一壓縮資料,並且將此另一壓縮資料寫入至此些實體程式化單元中,其中第一壓縮/解壓縮電路的壓縮速度快於第二壓縮/解壓縮電路的壓縮速度,並且第一壓縮/解壓縮電路的資料壓縮率小於第二壓縮/解壓縮電路的資料壓縮率。
在本發明的一範例實施例中,上述識別資料是屬於第一態樣或第二態樣的步驟包括:將從主機系統中接收的寫入指令所指示的第一資料識別為屬於第一態樣;以及將從此些實體程式化單元中所讀取的第二資料識別為屬於第二態樣。
在本發明的一範例實施例中,上述使用第一壓縮/解壓縮電路壓縮資料以產生壓縮資料,並且將此壓縮資料寫入至此些實體程式化單元中的步驟包括:將第一資料透過記憶體介面傳送至可複寫式非揮發性記憶體模組的同時,使用第一壓縮/解壓縮電路將第一資料壓縮為第一壓縮資料;以及將第一壓縮資料寫入至此些實體程式化單元之中的第一實體程式化單元中。
在本發明的一範例實施例中,上述資料寫入方法更包括:執行一資料合併運作以從此些實體程式化單元之中的第二實體程式化單元中讀取一已壓縮資料,且使用上述第一壓縮/解壓縮電路解壓縮從第二實體程式化單元中讀取的已壓縮資料以獲得上述第二資料。並且,上述使用第二壓縮/解壓縮電路壓縮該資料以產生另一壓縮資料,並且將此另一壓縮資料寫入至此些實體程式化單元中的步驟包括:使用第二壓縮/解壓縮電路將第二資料壓縮
為一第二壓縮資料;以及將此第二壓縮資料寫入至此些實體程式化單元之中的第三實體程式化單元中。
在本發明的一範例實施例中,上述資料寫入方法更包括:執行一資料合併運作以從此些實體程式化單元之中的第二實體程式化單元中讀取第二資料,其中此第二資料為經過第一壓縮/解壓縮電路壓縮的資料。並且,上述使用第二壓縮/解壓縮電路壓縮該資料以產生另一壓縮資料,並且將此另一壓縮資料寫入至此些實體程式化單元中的步驟包括:使用第二壓縮/解壓縮電路將第二資料壓縮為一第二壓縮資料;以及將此第二壓縮資料寫入至此該些實體程式化單元之中的第三實體程式化單元中。
在本發明的一範例實施例中,上述識別資料是屬於第一態樣或第二態樣的步驟包括:判斷此資料的每個位元值是否皆為相同;倘若此資料的每個位元值皆為相同時,識別此資料屬於該第一態樣,其中上述使用該第一壓縮/解壓縮電路壓縮此資料以產生壓縮資料,並且將此壓縮資料寫入至此些實體程式化單元中的步驟是於一前景執行模式中被執行;以及倘若此資料的每個位元值不皆為相同時,識別此資料屬於該第二態樣,其中上述使用第二壓縮/解壓縮電路壓縮資料以產生另一壓縮資料,並且將此另一壓縮資料寫入至此些實體程式化單元中的步驟是在背景執行模式中被執行。
本發明的一範例實施例提出一種用於控制可複寫式非揮發性記憶體模組的記憶體控制電路單元。此記憶體控制電路單元
包括主機介面、記憶體介面、記憶體管理電路、第一壓縮/解壓縮電路與第二壓縮/解壓縮電路。主機介面用以耦接至主機系統。記憶體介面用以耦接至可複寫式非揮發性記憶體模組,其中可複寫式非揮發性記憶體模組具有多個實體抹除單元並且每一實體抹除單元包括多個實體程式化單元。記憶體管理電路耦接至主機介面與記憶體介面,且第一壓縮/解壓縮電路與第二壓縮/解壓縮電路是耦接至記憶體管理電路,其中第一壓縮/解壓縮電路的壓縮速度快於第二壓縮/解壓縮電路的壓縮速度,並且第一壓縮/解壓縮電路的資料壓縮率小於第二壓縮/解壓縮電路的資料壓縮率。在此,記憶體管理電路會識別欲寫入的資料是屬於第一態樣或第二態樣。倘若此資料屬於該第一態樣時,第一壓縮/解壓縮電路壓縮此資料以產生壓縮資料,並且記憶體管理電路下達指令序列將此壓縮資料寫入至此些實體程式化單元中。倘若資料屬於第二態樣時,第二壓縮/解壓縮電路壓縮此資料以產生另一壓縮資料,並且記憶體管理電路下達指令序列將此另一壓縮資料寫入至此些實體程式化單元中。
在本發明的一範例實施例中,上述識別資料是屬於第一態樣或第二態樣的運作中,記憶體管理電路將從主機系統中接收的寫入指令所指示的第一資料識別為屬於第一態樣,並且將從此些實體程式化單元中所讀取的第二資料識別為屬於第二態樣。
在本發明的一範例實施例中,在壓縮資料以產生壓縮資料,並且將此壓縮資料寫入至此些實體程式化單元中的運作中,
記憶體管理電路將第一資料透過記憶體介面傳送至可複寫式非揮發性記憶體模組的同時,第一壓縮/解壓縮電路將此第一資料壓縮為第一壓縮資料,其中第一壓縮資料會被寫入至此些實體程式化單元之中的第一實體程式化單元中。
在本發明的一範例實施例中,記憶體管理電路執行一資料合併運作以從此些實體程式化單元之中的第二實體程式化單元中讀取已壓縮資料,且第一壓縮/解壓縮電路解壓縮從第二實體程式化單元中讀取的已壓縮資料以獲得上述第二資料。並且,在上述壓縮資料以產生另一壓縮資料,並且將此另一壓縮資料寫入至此些實體程式化單元中的運作中,第二壓縮/解壓縮電路將第二資料壓縮為第二壓縮資料,並且記憶體管理電路將此第二壓縮資料寫入至此些實體程式化單元之中的第三實體程式化單元中。
在本發明的一範例實施例中,記憶體管理電路執行一資料合併運作以從此些實體程式化單元之中的第二實體程式化單元中讀取上述第二資料,其中第二資料為經過第一壓縮/解壓縮電路壓縮的資料。並且,在上述壓縮資料以產生另一壓縮資料,並且將此另一壓縮資料寫入至此些實體程式化單元中的運作中,第二壓縮/解壓縮電路將此第二資料壓縮為第二壓縮資料,並且記憶體管理電路將此第二壓縮資料寫入至此些實體程式化單元之中的第三實體程式化單元中。
在本發明的一範例實施例中,在上述識別資料是屬於第一態樣或第二態樣的運作中,記憶體管理電路判斷資料的每個位
元值是否皆為相同。倘若資料的每個位元值皆為相同時,記憶體管理電路識別此資料屬於第一態樣,並且上述第一壓縮/解壓縮電路壓縮此資料以產生壓縮資料,並且記憶體管理電路將此壓縮資料寫入至此些實體程式化單元中的運作是於前景執行模式中被執行。倘若資料的每個位元值不皆為相同時,記憶體管理電路識別此資料屬於第二態樣,其中上述第二壓縮/解壓縮電路壓縮該資料以產生另一壓縮資料,並且記憶體管理電路將此另一壓縮資料寫入至此些實體程式化單元中的運作是在背景執行模式中被執行。
本發明的一範例實施例提出一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組與記憶體控制電路單元。連接介面單元用以耦接至主機系統。可複寫式非揮發性記憶體模組具有多個實體抹除單元,且每一實體抹除單元包括多個實體程式化單元。記憶體控制電路單元耦接至連接介面單元與可複寫式非揮發性記憶體模組。記憶體控制電路單元識別資料是屬於第一態樣或第二態樣。倘若資料屬於第一態樣時,記憶體控制電路單元利用第一壓縮/解壓縮電路壓縮此資料以產生壓縮資料,並且將此壓縮資料寫入至此些實體程式化單元中。倘若此資料屬於第二態樣時,記憶體控制電路單元利用第二壓縮/解壓縮電路壓縮此資料以產生另一壓縮資料,並且將此另一壓縮資料寫入至此些實體程式化單元中。在此,第一壓縮/解壓縮電路的壓縮速度快於第二壓縮/解壓縮電路的壓縮速度,並且第一壓縮/解壓縮電路的資料壓縮率小於第二壓縮/解壓縮電路的資料壓縮率。
在本發明的一範例實施例中,在上述識別資料是屬於第一態樣或第二態樣的運作中,記憶體控制電路單元將從主機系統中接收的寫入指令所指示的第一資料識別為屬於第一態樣,並且將從此些實體程式化單元中所讀取的第二資料識別為屬於第二態樣。
在本發明的一範例實施例中,在利用第一壓縮/解壓縮電路壓縮此資料以產生壓縮資料,並且將此壓縮資料寫入至此些實體程式化單元中的運作中,記憶體控制電路單元將第一資料透過記憶體介面傳送至可複寫式非揮發性記憶體模組的同時,利用第一壓縮/解壓縮電路將第一資料壓縮為第一壓縮資料,其中第一壓縮資料會被寫入至此些實體程式化單元之中的第一實體程式化單元中。
在本發明的一範例實施例中,上述記憶體控制電路單元執行一資料合併運作以從此些實體程式化單元之中的第二實體程式化單元中讀取已壓縮資料,且利用此第一壓縮/解壓縮電路解壓縮從第二實體程式化單元中讀取的已壓縮資料以獲得上述第二資料並且,在上述利用第二壓縮/解壓縮電路壓縮此資料以產生另一壓縮資料,並且將此另一壓縮資料寫入至此些實體程式化單元中的運作中,記憶體控制電路單元利用第二壓縮/解壓縮電路將此第二資料壓縮為第二壓縮資料,並且記憶體管理電路將此第二壓縮資料寫入至第二實體程式化單元中。
在本發明的一範例實施例中,上述記憶體控制電路單元
執行一資料合併運作以從此些實體程式化單元之中的第二實體程式化單元中讀取此第二資料,其中第二資料為經過第一壓縮/解壓縮電路壓縮的資料。並且,在上述利用第二壓縮/解壓縮電路壓縮資料以產生另一壓縮資料,並且將此另一壓縮資料寫入至此些實體程式化單元中的運作中,記憶體控制電路單元利用第二壓縮/解壓縮電路將第二資料壓縮為第二壓縮資料,並且將此第二壓縮資料寫入至第二實體程式化單元中。
在本發明的一範例實施例中,在上述識別資料是屬於第一態樣或第二態樣的運作中,記憶體控制電路單元判斷資料的每個位元值是否皆為相同。倘若資料的每個位元值皆為相同時,記憶體控制電路單元識別此資料屬於第一態樣,並且上述壓縮此資料以產生壓縮資料,並且將此壓縮資料寫入至此些實體程式化單元中的運作是於前景執行模式中被執行。倘若此資料的每個位元值不皆為相同時,記憶體控制電路單元識別此資料屬於第二態樣,其中上述壓縮此資料以產生另一壓縮資料,並且將此另一壓縮資料寫入至此些實體程式化單元中的運作是在背景執行模式中被執行。
基於上述,本發明範例實施例的資料寫入方法、記憶體控制電路單元與記憶體儲存裝置能夠根據欲寫入至實體程式化單元的資料的態樣來選擇不同的壓縮/解壓縮電路來進行壓縮,由此同時可兼顧高速與高壓縮率的需求。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉
實施例,並配合所附圖式作詳細說明如下。
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‧‧‧可複寫式非揮發性記憶體模組
202‧‧‧記憶體管理電路
204‧‧‧主機介面
206‧‧‧記憶體介面
208‧‧‧第一壓縮/解壓縮電路
210‧‧‧第二壓縮/解壓縮電路
212‧‧‧緩衝記憶體
214‧‧‧電源管理電路
216‧‧‧錯誤檢查與校正電路
410(0)~410(N)‧‧‧實體抹除單元
502‧‧‧系統區
504‧‧‧資料區
506‧‧‧閒置區
508‧‧‧取代區
LBA(0)~LBA(H)‧‧‧邏輯單元
LZ(0)~LZ(M)‧‧‧邏輯區域
UD1~UD14‧‧‧資料
UD1’~UD14’、UD4”、UD6”、UD7”‧‧‧壓縮資料
S2301、S2303、S2305、S2307、S2401、S2403、S2405、S2407、S2409、S2411、S2413‧‧‧資料寫入方法的步驟
S2501、S2503、S2505、S2507、S2509‧‧‧資料寫入方法的步驟
圖1是根據本發明所繪示的資料寫入方法的流程圖。
圖2是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
圖3A是根據一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖3B是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖4是根據第一範例實施例所的記憶體儲存裝置的概要方塊圖。
圖5是根據第一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
圖6與圖7是根據第一範例實施例所繪示之管理實體區塊的範例示意圖。
圖8~20是根據第一範例實施例所繪示之寫入資料的範例。
圖21與22是根據第一範例實施例所繪示之執行有效資料合併程序以完成後續寫入指令的簡化範例。
圖23與圖24是根據第一範例實施例所繪示之資料寫入方法的流程圖。
圖25是根據第二範例實施例所繪示之資料寫入方法的流程圖。
為了能夠同時兼顧壓縮速度與壓縮效率,本範例實施例提出一種在記憶體儲存裝置中配置一個具較佳壓縮速度的壓縮/解壓縮電路與一個具較佳壓縮率的壓縮/解壓縮電路並且根據資料的態樣來使用其中一個壓縮/解壓縮電路來處理資料。具體來說,當接收到一資料(S101)時,此資料是屬於一第一態樣或一第二態樣會被識別(S103)。倘若此資料是屬於第一態樣時,第一壓縮/解壓縮電路會被用來壓縮此資料以產生壓縮資料,並且此壓縮資料會被寫入至實體程式化單元中(S105),並且倘若此資料是屬於第二態樣時,第二壓縮/解壓縮電路會被用來壓縮此資料以產生另一壓縮資料,並且此另一壓縮資料會被寫入至實體程式化單元中(S107),其中第一壓縮/解壓縮電路的壓縮速度快於第二壓縮/解壓縮電路的壓縮速度,並且第一壓縮/解壓縮電路的資料壓縮率小於第二壓縮/解壓縮電路的資料壓縮率。為了更清楚地瞭解本發明的技術,以下將配合圖式以數個範例實施例來描述本發明。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫
入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖2是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
請參照圖2,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108與資料傳輸介面1110。輸入/輸出裝置1106包括如圖3A的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖3A所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明實施例中,記憶體儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的運作可將資料寫入至記憶體儲存裝置100或從記憶體儲存裝置100中讀取資料。例如,記憶體儲存裝置100可以是如圖3A所示的隨身碟1212、記憶卡1214或固態硬碟(Solid State Drive,SSD)1216等的可複寫式非揮發性記憶體儲存裝置。
一般而言,主機系統1000為可實質地與記憶體儲存裝置100配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統1000是以電腦系統來作說明,然而,在本發明另一範例實施例中主機系統1000可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機(攝影
機)1310時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、CF卡1318或嵌入式儲存裝置1320(如圖3B所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖4是根據第一範例實施例所的記憶體儲存裝置的概要方塊圖。
請參照圖4,記憶體儲存裝置100包括連接介面單元102、記憶體控制電路單元104與可複寫式非揮發性記憶體模組106。
在本範例實施例中,連接介面單元102是相容於序列先進附件(Serial Advanced Technology Attachment,SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元102亦可以是符合並列先進附件(Parellel 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)介面標準、安全數位(Secure Digital,SD)介面標準、記憶棒(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)或者屬於不同的記憶體晶粒。每一實體抹除單元分別具有複數個實體程式化單元,其中屬於同一個實體抹除單元之實體程式化單元可被獨立地寫入且被同時地抹除。然而,必須瞭解的是,本發明不限於此,每一實體抹除單元是可由64個實體程式化單元、256個實體程式化單元或其他任意個實體程式化單元所組成。
更詳細來說,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。每一實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體存取位址用以儲存使用者的資
料,而冗餘位元區用以儲存系統的資料(例如,控制資訊與錯誤更正碼)。在本範例實施例中,每一個實體程式化單元的資料位元區中會包含4個實體存取位址,且一個實體存取位址的大小為512位元組(byte)。然而,在其他範例實施例中,資料位元區中也可包含數目更多或更少的實體存取位址,本發明並不限制實體存取位址的大小以及個數。例如,在一範例實施例中,實體抹除單元為實體區塊,並且實體程式化單元為實體頁面或實體扇區,但本發明不以此為限。
在本範例實施例中,可複寫式非揮發性記憶體模組106為多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元資料的快閃記憶體模組)。然而,本發明不限於此,可複寫式非揮發性記憶體模組106亦可是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元資料的快閃記憶體模組)、複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元資料的快閃記憶體模組)或其他具有相同特性的記憶體模組。
圖5是根據第一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
請參照圖5,記憶體控制電路單元104包括記憶體管理電路202、主機介面204、記憶體介面206、第一壓縮/解壓縮電路208以及第二壓縮/解壓縮電路210。
記憶體管理電路202用以控制記憶體控制電路單元104的整體運作。具體來說,記憶體管理電路202具有多個控制指令,並且在記憶體儲存裝置100運作時,此些控制指令會被執行以對可複寫式非揮發性記憶體模組106下達指令序列來將資料寫入至可複寫式非揮發性記憶體模組106、從可複寫式非揮發性記憶體模組106讀取資料或將可複寫式非揮發性記憶體模組106上的資料抹除等運作。
在本範例實施例中,記憶體管理電路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介面標準、SD標準、MS標準、
MMC標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面206是耦接至記憶體管理電路202並且用以存取可複寫式非揮發性記憶體模組106。也就是說,欲寫入至可複寫式非揮發性記憶體模組106的資料會經由記憶體介面206轉換為可複寫式非揮發性記憶體模組106所能接受的格式。
第一壓縮/解壓縮電路208以及第二壓縮/解壓縮電路210是耦接至記憶體管理電路202並且用以根據記憶體管理電路202的指示對輸入資料進行壓縮或解壓縮。在本範例實施例中,第一壓縮/解壓縮電路208的壓縮速度快於第二壓縮/解壓縮電路210的壓縮速度,但第一壓縮/解壓縮電路208的壓縮率低於第二壓縮/解壓縮電路210的壓縮率。具體來說,第一壓縮/解壓縮電路208所使用的壓縮機制能夠以較快的速度完成壓縮,但其對於資料的壓縮效率較差。而第二壓縮/解壓縮電路212的壓縮速度雖然較慢,但其對於資料的壓縮效率較佳。例如,使用第一壓縮/解壓縮電路208來對2仟位元組的資料進行壓縮時,壓縮所需的時間可能為1微秒並且可產生1仟位元組的壓縮資料;而使用第二壓縮/解壓縮電路212來對同一筆資料進行壓縮時,壓縮所需的時間可能為2微秒並且可產生512位元組的壓縮資料。例如,在一範例實施例中,第一壓縮/解壓縮電路208為使用Lempel-Ziv(LZ)演算機制所實作的壓縮電路,並且第二壓縮/解壓縮電路212為使用霍夫曼(Huffman)演算機制所實作的壓縮電路。
在本發明一範例實施例中,記憶體控制電路單元104還
包括緩衝記憶體208、電源管理電路210以及錯誤檢查與校正電路212。
緩衝記憶體212是耦接至記憶體管理電路202並且用以暫存來自於主機系統1000的資料與指令或來自於可複寫式非揮發性記憶體模組106的資料。
電源管理電路214是耦接至記憶體管理電路202並且用以控制記憶體儲存裝置100的電源。
錯誤檢查與校正電路216是耦接至記憶體管理電路202並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路202從主機系統1000中接收到寫入指令時,錯誤檢查與校正電路216會為對應此寫入指令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),並且記憶體管理電路202會將對應此寫入指令的資料與對應的錯誤檢查與校正碼寫入至可複寫式非揮發性記憶體模組106中。之後,當記憶體管理電路202從可複寫式非揮發性記憶體模組106中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼,並且錯誤檢查與校正電路216會依據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
圖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的實體抹除單元,其中每一邏輯單元具有多個邏輯子單元以映射對應之實體抹除單元的實體程式化單元。並且,當主機系統100欲寫入資料至邏輯單元或更新儲存於邏輯單元中的資料時,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區504中提取一個實體抹除單元來寫入資料,以輪替資料區502的實體抹除單元。在本範例實施例中,邏輯子單元可以是邏輯頁面或邏輯扇區。
為了識別資料每個邏輯單元的資料被儲存在那個實體抹除單元,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會記錄邏輯單元與實體抹除單元之間的映射。並且,當主機系統1000欲在邏輯子單元中存取資料時,記憶體控制電路單元104(或記憶體管理電路202)會確認此邏輯子單元所屬的邏輯單元,並且在此邏輯單元所映射的實體抹除單元中來存取資料。例如,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會在可複寫式非揮發性記憶體模組106中儲存邏輯轉實體位址映射表來記錄每一邏輯單元所映射的實體抹除單元,並且當欲存取資料時記憶體控制電路單元104(或記憶體管理電路202)會將邏輯轉實體位址映射表載入至緩衝記憶體208來維
護。
值得一提的是,由於緩衝記憶體208的容量有限無法儲存記錄所有邏輯單元之映射關係的映射表,因此,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會將邏輯單元LBA(0)~LBA(H)分組為多個邏輯區域LZ(0)~LZ(M),並且為每一邏輯區域配置一個邏輯轉實體位址映射表。特別是,當記憶體控制電路單元104(或記憶體管理電路202)欲更新某個邏輯單元的映射時,對應此邏輯單元所屬之邏輯區域的邏輯轉實體位址映射表會被載入至緩衝記憶體208來被更新。
在本範例實施例中,記憶體儲存裝置100的可複寫式非揮發性記憶體模組106是以實體程式化單元為基礎(亦稱為頁面為基礎(page based)來進行管理,因此,在執行寫入指令時,不管目前資料是要寫入至那個邏輯單元的邏輯子單元,記憶體控制電路單元104(或記憶體管理電路202)皆會以一個實體程式化單元接續一個實體程式化單元的方式來寫入資料(以下亦稱為隨機寫入機制)。具體來說,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區504中提取一個空的實體抹除單元作為目前使用之實體抹除單元來寫入資料。並且,當此目前使用之實體抹除單元已被寫滿時,記憶體控制電路單元104(或記憶體管理電路202)會再從閒置區504中提取另一個空的實體抹除單元作為目前使用之實體抹除單元,以繼續寫入對應來自於主機系統1000之寫入指令的資料。特別是,為了避免閒置區504的實體抹除單元被耗盡,
當記憶體控制電路單元104(或記憶體管理電路202)欲從閒置區504中提取實體抹除單元且閒置區504的實體抹除單元的數目下降到所設定之垃圾回收門檻值時,記憶體控制電路單元104(或記憶體管理電路202)會先執行資料合併運作,來使資料區502的至少一個實體抹除單元中的資料成為無效資料,並且將資料區502中所儲存之資料皆為無效資料之實體抹除單元關聯回閒置區504,以致於閒置區504的實體抹除單元的數目大於所設定之垃圾回收門檻值。例如,在執行資料合併運作時,記憶體控制電路單元104(或記憶體管理電路202)至少需使用一個空的實體抹除單元,因此,垃圾回收門檻值至少會被設定為大於1的數值。
特別是,在本範例實施例中,倘若記憶體管理電路202從主機系統1000接收到寫入指令且此寫入指令指示將資料寫入至邏輯子單元時,記憶體管理電路202會指示(或利用)第一壓縮/解壓縮電路208來壓縮對應此寫入指令的資料,並將壓縮後的資料寫入至可複寫式非揮發性記憶體模組106。也就是說,在此狀態下,從主機系統1000中接收的寫入資料是符合上述第一態樣。另外,倘若記憶體管理電路202從某個實體程式化單元讀取資料,並要將此資料寫入至另一個實體程式化單元時,記憶體管理電路202會指示(或利用)第二壓縮/解壓縮電路210來壓縮對應此寫入指令的資料。也就是說,在此狀態下,從可複寫式非揮發性記憶體模組106中讀取的欲搬移資料是符合上述第二態樣。
圖8~20是根據第一範例實施例所繪示之寫入資料的範
例。
請參照圖8,為方便說明,在此假設資料區502初始地未有映射邏輯單元的實體抹除單元(即,記憶體儲存裝置100於開卡後尚未寫入過使用者資料),閒置區504具有5個實體抹除單元,每一實體抹除單元具有3個實體程式化單元,欲寫入至每一實體抹除單元的資料必須依照實體程式化單元的順序來被寫入。此外假設記憶體控制電路單元104(或記憶體管理電路202)會配置3個邏輯單元以供主機系統1000存取,並且設定垃圾回收門檻值為1其中每個邏輯單元具有3個邏輯子單元且每一個邏輯子單元的容量等於1實體程式化單元的容量。
請參照圖9,假設欲程式化資料UD1並且資料UD1是屬於邏輯單元LBA(0)的第1個邏輯子單元時,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區504中提取實體抹除單元410(0),利用第一壓縮/解壓縮電路208將資料UD1壓縮為壓縮資料UD1’,下達程式化指令以將此資料UD1’寫入至實體抹除單元410(0)的第0個實體程式化單元並且將實體抹除單元410(0)關聯至資料區502。
請參照圖10,接續圖9,假設欲再程式化資料UD2並且資料UD2是屬於邏輯單元LBA(1)的第0個邏輯子單元時,記憶體控制電路單元104(或記憶體管理電路202)會利用第一壓縮/解壓縮電路208將資料UD2壓縮為壓縮資料UD2’,且下達程式化指令以將此資料UD2’寫入至實體抹除單元410(0)的第1個實體程式
化單元。
請參照圖11,接續圖10,假設欲再程式化資料UD3並且資料UD3是屬於邏輯單元LBA(2)的第1個邏輯子單元時,記憶體控制電路單元104(或記憶體管理電路202)會利用第一壓縮/解壓縮電路208將資料UD3壓縮為壓縮資料UD3’,且下達程式化指令以將此資料UD3’寫入至實體抹除單元410(0)的第2個實體程式化單元。
請參照圖12,接續圖11,假設欲再程式化資料UD4並且資料UD4是屬於邏輯單元LBA(0)的第0個邏輯子單元時,由於實體抹除單元410(0)已無儲存空間,因此,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區504中提取實體抹除單元410(1),利用第一壓縮/解壓縮電路208將資料UD4壓縮為壓縮資料UD4’並且下達程式化指令以將此資料UD4’寫入至實體抹除單元410(1)的第0個實體程式化單元並且將實體抹除單元410(1)關聯至資料區502。
請參照圖13,接續圖12,假設欲再程式化資料UD5並且資料UD5是屬於邏輯單元LBA(1)的第1個邏輯子單元時,記憶體控制電路單元104(或記憶體管理電路202)會利用第一壓縮/解壓縮電路208將資料UD5壓縮為壓縮資料UD5’且下達程式化指令以將此資料UD5’寫入至實體抹除單元410(1)的第1個實體程式化單元。
請參照圖14,接續圖13,假設欲再程式化資料UD6並
且資料UD6是屬於邏輯單元LBA(0)的第2個邏輯子單元時,記憶體控制電路單元104(或記憶體管理電路202)會利用第一壓縮/解壓縮電路208將資料UD6壓縮為壓縮資料UD6’且下達程式化指令以將此資料UD6’寫入至實體抹除單元410(1)的第2個實體程式化單元。
請參照圖15,接續圖14,假設欲再程式化資料UD7並且資料UD4是屬於邏輯單元LBA(2)的第0個邏輯子單元時,由於實體抹除單元410(1)已無儲存空間,因此,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區504中提取實體抹除單元410(2),利用第一壓縮/解壓縮電路208將資料UD7壓縮為壓縮資料UD7’,且下達程式化指令以將此資料UD7’寫入至實體抹除單元410(2)的第0個實體程式化單元並且將實體抹除單元410(2)關聯至資料區502。
請參照圖16,接續圖15,假設欲再程式化資料UD8並且資料UD8是屬於邏輯單元LBA(1)的第2個邏輯子單元時,記憶體控制電路單元104(或記憶體管理電路202)會利用第一壓縮/解壓縮電路208將資料UD8壓縮為壓縮資料UD8’且下達程式化指令以將此資料UD8’寫入至實體抹除單元410(2)的第1個實體程式化單元。
請參照圖17,接續圖16,假設欲再程式化資料UD9並且資料UD9是屬於邏輯單元LBA(2)的第2個邏輯子單元時,記憶體控制電路單元104(或記憶體管理電路202)會利用第一壓縮/解
壓縮電路208將資料UD9壓縮為壓縮資料UD9’且下達程式化指令以將此資料UD9寫入至實體抹除單元410(2)的第2個實體程式化單元。
請參照圖18,接續圖17,假設欲再程式化資料UD10並且資料UD10是屬於邏輯單元LBA(1)的第2個邏輯子單元時,由於實體抹除單元410(2)已無儲存空間,因此,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區504中提取實體抹除單元410(3),會利用第一壓縮/解壓縮電路208將資料UD10壓縮為壓縮資料UD10’且下達程式化指令以將此資料UD10’寫入至實體抹除單元410(3)的第0個實體程式化單元並且將實體抹除單元410(3)關聯至資料區502,其中實體抹除單元410(2)的第1個實體程式化單元會被標記為無效資料狀態(如虛線所示)。
請參照圖19,接續圖18,假設欲再程式化資料UD11並且資料UD11是屬於邏輯單元LBA(2)的第2個邏輯子單元時,記憶體控制電路單元104(或記憶體管理電路202)會利用第一壓縮/解壓縮電路208將資料UD11壓縮為壓縮資料UD11’且下達程式化指令以將此資料UD11’寫入至實體抹除單元410(3)的第1個實體程式化單元,其中實體抹除單元410(2)的第2個實體程式化單元會被標記為無效資料狀態(如虛線所示)。
請參照圖20,接續圖19,假設欲再程式化資料UD12並且資料UD12是屬於邏輯單元LBA(1)的第1個邏輯子單元時,記憶體控制電路單元104(或記憶體管理電路202)會利用第一壓縮/
解壓縮電路208將資料UD12壓縮為壓縮資料UD12’且下達程式化指令以將此資料UD12’寫入至實體抹除單元410(3)的第2個實體程式化單元,其中實體抹除單元410(1)的第1個實體程式化單元會被標記為無效資料狀態(如虛線所示)。
以此類推,不論主機系統1000欲將資料儲存至那個邏輯單元的邏輯子單元中,記憶體控制電路單元104(或記憶體管理電路202)會依序地將主機系統1000欲儲存的資料寫入目前使用的實體抹除單元中。特別是,當閒置區504的實體抹除單元的數目不大於垃圾回收門檻值時,記憶體控制電路單元104(或記憶體管理電路202)會在執行寫入指令時一併執行資料合併運作,以防止閒置區的實體抹除單元被用盡。
圖21與22是根據第一範例實施例所繪示之執行有效資料合併程序以完成後續寫入指令的簡化範例。
接續圖20,假設欲再程式化資料UD13與UD14並且資料UD13與UD14是屬於邏輯單元LBA(2)的第0與第1個邏輯子單元時,由於實體抹除單元410(3)已無儲存空間,因此,記憶體控制電路單元104(或記憶體管理電路202)需要從閒置區504中提取空的實體抹除單元。然而,此時,閒置區504的實體抹除單元的數目是不大於垃圾回收門檻值,因此,記憶體控制電路單元104(或記憶體管理電路202)必須先執行資料合併運作。
請參照圖21,例如,記憶體控制電路單元104(或記憶體管理電路202)從閒置區504中提取實體抹除單元410(4),讀取實
體抹除單元410(1)中的有效資料(即,資料UD4’與UD6’)和實體抹除單元410(2)中的有效資料(即,資料UD7’),使用第一壓縮/解壓縮電路208將資料UD4’、資料UD6’與資料UD7’解壓縮回資料UD4、資料UD6與資料UD7,使用第二壓縮/解壓縮電路210壓縮資料UD4、資料UD6與資料UD7以產生資料UD4’’、資料UD6’’與資料UD7’’,將資料UD4’’、資料UD6’’與資料UD7’’寫入至實體抹除單元410(4),將實體抹除單元410(4)關聯至資料區502,將實體抹除單元410(1)的第0與1個實體程式化單元和實體抹除單元410(2)的第0實體程式化單元標記為無效,對僅儲存無效資料的實體抹除單元(即,實體抹除單元410(1)與實體抹除單元410(2))執行實體抹除,並且將抹除後的實體抹除單元關聯回閒置區504。此時,閒置區504的實體抹除單元的數目會回復為2(大於垃圾回收門檻值)。
請參照圖22,之後,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區504中提取實體抹除單元410(1),會利用第一壓縮/解壓縮電路208將資料UD13與資料UD14壓縮為壓縮資料UD13’與資料UD14’,且下達程式化指令以將資料UD13’與資料UD14’寫入至實體抹除單元410(1)的第0與第1個實體程式化單元並且將實體抹除單元410(1)關聯至資料區502,其中邏輯單元LBA(2)的第0與第1個邏輯子單元所映射的實體程式化單元(即,實體抹除單元410(0)的第2個實體程式化單元以及實體抹除單元410(4)的第2個實體程式化單元)會被標記為
無效資料狀態。
綜合圖8~圖22所示,對於來自於主機系統1000對寫入指令的資料,記憶體控制電路單元104(或記憶體管理電路202)會利用第一壓縮/解壓縮電路208來進行壓縮,由此儘速完成壓縮,以避免延遲執行寫入指令的時間。而對於執行資料合併運作時所搬移的資料,記憶體控制電路單元104(或記憶體管理電路202)會利用第二壓縮/解壓縮電路210來進行壓縮,由此獲得較佳的壓縮率。
值得一提的是,儘管在圖21所示的例子中,記憶體控制電路單元104(或記憶體管理電路202)會先利用第一壓縮/解壓縮電路208將從實體抹除單元410(1)中讀取的有效資料(即,資料UD4’與UD6’)和從實體抹除單元410(2)中讀取的有效資料(即,資料UD7’)解壓縮回資料UD4、資料UD6與資料UD7後再重新利用第二壓縮/解壓縮電路210,但本發明不限於此。例如,在另一範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)亦可直接利用第二壓縮/解壓縮電路210來壓縮從實體抹除單元410(1)中讀取的資料UD4’與UD6’和從實體抹除單元410(2)中讀取的資料UD7’以產生新的壓縮資料UD4’’、UD6’’與UD7’’。
此外,在本發明範例實施例中,對於來自於主機系統1000對寫入指令的資料,記憶體控制電路單元104(或記憶體管理電路202)是先利用第一壓縮/解壓縮電路208來進行壓縮以在緩衝記憶
體212中暫存所產生的壓縮資料後,再下達指令序列將壓縮資料寫入至可複寫式非揮發性記憶體模組106。然而,本發明不限於此,在另一範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)亦可直接下達指令序列將欲寫入的資料透過記憶體介面206傳送至可複寫式非揮發性記憶體模組106,並且在傳送資料至可複寫式非揮發性記憶體模組106的同時,第一壓縮/解壓縮電路208會以即時(on the fly)壓縮方式對所傳輸的資料進行壓縮。
圖23與圖24是根據第一範例實施例所繪示之資料寫入方法的流程圖。
請參照圖23,在步驟S2301中,記憶體控制電路單元104(或記憶體管理電路202)會從主機系統1000接收寫入指令與對應的資料(以下稱為第一資料)。
在步驟S2303中,記憶體控制電路單元104(或記憶體管理電路202)會使用第一壓縮/解壓縮電路208將第一資料壓縮為第一壓縮資料。
在步驟S2305中,記憶體控制電路單元104(或記憶體管理電路202)會從可複寫式非揮發性記憶體模組106中選擇一空的實體程式化單元(以下稱為第一實體程式化單元),並且在步驟S2307中,記憶體控制電路單元104(或記憶體管理電路202)會將第一壓縮資料程式化至第一實體程式化單元。
請參照圖24,在步驟S2401中,記憶體控制電路單元104(或記憶體管理電路202)會根據閒置區504中的實體抹除單元
的數目判斷是否執行資料合併程序。
倘若無需執行資料合併程序時,圖24的流程會被結束。
倘若需執行資料合併程序時,在步驟S2403中,記憶體控制電路單元104(或記憶體管理電路202)會從資料區502中選擇一個實體抹除單元(以下稱為第一實體抹除單元),並且在步驟S2405中,記憶體控制電路單元104(或記憶體管理電路202)會從第一實體抹除單元的至少一個實體程式化單元(以下稱為第二實體程式化單元)中讀取有效資料(以下稱為已壓縮資料)。
在步驟S2407中,記憶體控制電路單元104(或記憶體管理電路202)會使用第一壓縮/解壓縮電路208將此已壓縮資料解壓縮回原始資料(以下稱為第二資料),並且使用第二壓縮/解壓縮電路210壓縮此第二資料以產生第二壓縮資料。
在步驟S2409中,記憶體控制電路單元104(或記憶體管理電路202)會選擇一空的實體程式化單元(以下稱為第三實體程式化單元),並且在步驟S2411中,記憶體控制電路單元104(或記憶體管理電路202)會將第二壓縮資料程式化至第三實體程式化單元。
之後,在步驟S2413中,記憶體控制電路單元104(或記憶體管理電路202)會抹除第一實體抹除單元,並且將抹除後的第一實體抹除單元關聯至閒置區504。
第二範例實施例的記憶體儲存裝置的硬體結構本質上是
相同於第一範例實施例的記憶體儲存裝置的硬體結構,其差異之處在於第一範例實施例的記憶體儲存裝置是根據欲程式化的資料是來自於主機系統或可複寫式非揮發性記憶體而使用第一或第二壓縮/解壓縮電路來壓縮,而第二範例實施例的記憶體儲存裝置是根據欲程式化的資料的每一位元值是否屬於預設態樣而使用第一或第二壓縮/解壓縮電路來壓縮。以下將使用第一範例實施例的記憶體儲存裝置的圖式與元件編號來詳細說明第二範例實施例的記憶體儲存裝置的運作。
在第二範例實施例中,當欲寫入資料至可複寫式非揮發性記憶體106時,記憶體控制電路單元104(或記憶體管理電路202)會判斷此資料的每個位元值是否屬於預設態樣。例如,此預設態樣包括每個位元值皆為相同,並且,必須了解的是,本發明不限於此。例如,在另一範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)可將多種資料內容型態(例如,“01010101….”、“10101010…”等態樣)記錄在一個預設態樣表中,並且當欲寫入的資料的位元值的態樣相同於預設態樣表中所記錄的態樣時,則識別此資料屬於此預設態樣。
倘若資料的每個位元值屬於預設態樣(即,符合上述第一態樣)時,記憶體控制電路單元104(或記憶體管理電路202)會利用第一壓縮/解壓縮電路208來壓縮此資料並且將所壓縮的資料寫入至可複寫式非揮發性記憶體中。此外,倘若資料的每個位元值不屬於預設態樣(即,符合上述第二態樣)時,記憶體控制電路單元
104(或記憶體管理電路202)會利用第二壓縮/解壓縮電路210來壓縮此資料並且將所壓縮的資料寫入至可複寫式非揮發性記憶體模組106中。
值得一提的是,當記憶體儲存裝置100接收到來自主機系統1000的指令時,記憶體控制電路單元104(或記憶體管理電路202)需立即執行並且回應主機系統1000,以避免逾時。在此,為回應主機系統1000所執行之程序的模式,稱為前景執行模式。相對地,記憶體控制電路單元104(或記憶體管理電路202)亦可在閒置下(即,未收到主機系統1000所傳送之指令)運作,例如,搬移資料等。在此,非為回應主機系統1000所執行之程序的模式,稱為背景執行模式。由於第一壓縮/解壓縮電路208的處理速度較快,可以滿足主機系統1000的頻寬,因此,記憶體控制電路單元104(或記憶體管理電路202)會於立即處理主機系統1000的指令當下(即,前景執行模式)使用第一壓縮/解壓縮電路208來壓縮資料。反之,由於第二壓縮/解壓縮電路210的處理速度較慢,無法滿足主機系統1000的頻寬,因此,記憶體控制電路單元104(或記憶體管理電路202)會於背景執行模式中使用第二壓縮/解壓縮電路210來壓縮資料。也就是說,當選擇已背景執行模式來處理主機系統1000的指令時,記憶體控制電路單元104(或記憶體管理電路202)會將指令與資料暫存於緩衝記憶體212並回覆主機系統1000已完成此指令,並且在記憶體儲存裝置100閒置時(例如,一段時間未收到主機系統1000的指令時),執行此指令。
圖25是根據第二範例實施例所繪示的資料寫入方法的流程圖。
請參照圖25,在步驟S2501中,記憶體控制電路單元104(或記憶體管理電路202)會從主機系統1000接收欲寫入的資料。
在步驟S2503中,記憶體控制電路單元104(或記憶體管理電路202)會判斷此資料的每個位元值是否為相同。
倘若此資料的每個位元值皆為相同時,在步驟S2505中,記憶體控制電路單元104(或記憶體管理電路202)會在前景執行模式下利用第一壓縮/解壓縮電路208來壓縮此資料以產生一壓縮資料,從可複寫式非揮發性記憶體模組106選擇一空的實體程式化單元,並且將所產生的壓縮資料寫入至所選擇的實體程式化單元中。
倘若此資料的每個位元值不皆為相同時,在步驟S2507中,記憶體控制電路單元104(或記憶體管理電路202)會先在緩衝記憶體212中暫存此資料。
然後,在步驟S2509中,記憶體控制電路單元104(或記憶體管理電路202)在背景執行模式下利用第二壓縮/解壓縮電路210來壓縮此資料以產生另一壓縮資料,從可複寫式非揮發性記憶體模組106選擇一空的實體程式化單元,並且將所產生的另一壓縮資料寫入至所選擇的實體程式化單元中。
綜上所述,本發明範例實施例所提出的資料寫入方法、
記憶體控制電路單元與記憶體儲存裝置能夠根據欲寫入至實體程式化單元的資料的態樣來選擇不同的壓縮/解壓縮電路來進行壓縮,由此可以在需要顧及處理速度下以具較快速率的壓縮機制來完成壓縮,並且在有充裕時間下以具較佳壓縮率的壓縮機制來完成壓縮,基此同時可兼顧高速與高壓縮率的需求。
S101、S103、S105、S107‧‧‧資料寫入方法的步驟
Claims (18)
- 一種資料寫入方法,用於一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組具有多個實體抹除單元,每一所述實體抹除單元具有多個實體程式化單元,該資料寫入方法包括:識別一資料是屬於一第一態樣或一第二態樣;倘若該資料屬於該第一態樣時,使用一第一壓縮/解壓縮電路壓縮該資料以產生一壓縮資料,並且將該壓縮資料寫入至該些實體程式化單元中;以及倘若該資料屬於該第二態樣時,使用一第二壓縮/解壓縮電路壓縮該資料以產生另一壓縮資料,並且將該另一壓縮資料寫入至該些實體程式化單元中,其中該第一壓縮/解壓縮電路的一壓縮速度快於該第二壓縮/解壓縮電路的一壓縮速度,並且該第一壓縮/解壓縮電路的一資料壓縮率小於該第二壓縮/解壓縮電路的一資料壓縮率。
- 如申請專利範圍第1項所述的資料寫入方法,其中所述識別該資料是屬於該第一態樣或該第二態樣的步驟包括:將從一主機系統中接收的一寫入指令所指示的一第一資料識別為屬於該第一態樣;以及將從該些實體程式化單元中所讀取的一第二資料識別為屬於該第二態樣。
- 如申請專利範圍第2項所述的資料寫入方法,其中所述使 用該第一壓縮/解壓縮電路壓縮該資料以產生該壓縮資料,並且將該壓縮資料寫入至該些實體程式化單元中的步驟包括:將該第一資料透過一記憶體介面傳送至該可複寫式非揮發性記憶體模組的同時,使用該第一壓縮/解壓縮電路將該第一資料壓縮為一第一壓縮資料;以及將該第一壓縮資料寫入至該些實體程式化單元之中的一第一實體程式化單元中。
- 如申請專利範圍第3項所述的資料寫入方法,更包括:執行一資料合併運作以從該些實體程式化單元之中的一第二實體程式化單元中讀取一已壓縮資料,且使用該第一壓縮/解壓縮電路解壓縮從該第二實體程式化單元中讀取的該已壓縮資料以獲得該第二資料,其中所述使用該第二壓縮/解壓縮電路壓縮該資料以產生該另一壓縮資料,並且將該另一壓縮資料寫入至該些實體程式化單元中的步驟包括:使用該第二壓縮/解壓縮電路將該第二資料壓縮為一第二壓縮資料;以及將該第二壓縮資料寫入至該些實體程式化單元之中的一第三實體程式化單元中。
- 如申請專利範圍第3項所述的資料寫入方法,更包括:執行一資料合併運作以從該些實體程式化單元之中的一第二實體程式化單元中讀取該第二資料,其中該第二資料為經過該第 一壓縮/解壓縮電路壓縮的資料,其中所述使用該第二壓縮/解壓縮電路壓縮該資料以產生該另一壓縮資料,並且將該另一壓縮資料寫入至該些實體程式化單元中的步驟包括:使用該第二壓縮/解壓縮電路將該第二資料壓縮為一第二壓縮資料;以及將該第二壓縮資料寫入至該些實體程式化單元之中的一第三實體程式化單元中。
- 如申請專利範圍第1項所述的資料寫入方法,其中所述識別該資料是屬於該第一態樣或該第二態樣的步驟包括:判斷該資料的每個位元值是否皆為相同;倘若該資料的每個位元值皆為相同時,識別該資料屬於該第一態樣,其中上述使用該第一壓縮/解壓縮電路壓縮該資料以產生該壓縮資料,並且將該壓縮資料寫入至該些實體程式化單元中的步驟是於一前景執行模式中被執行;以及倘若該資料的每個位元值不皆為相同時,識別該資料屬於該第二態樣,其中上述使用該第二壓縮/解壓縮電路壓縮該資料以產生該另一壓縮資料,並且將該另一壓縮資料寫入至該些實體程式化單元中的步驟是在一背景執行模式中被執行。
- 一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,該記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統; 一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體抹除單元,每一所述實體抹除單元具有多個實體程式化單元;一記憶體管理電路,耦接至該主機介面與該記憶體介面;一第一壓縮/解壓縮電路,耦接至該記憶體管理電路;以及一第二壓縮/解壓縮電路,耦接至該記憶體管理電路,其中該記憶體管理電路識別一資料是屬於一第一態樣或一第二態樣,倘若該資料屬於該第一態樣時,該第一壓縮/解壓縮電路壓縮該資料以產生一壓縮資料,並且該記憶體管理電路下達一指令序列將該壓縮資料寫入至該些實體程式化單元中,倘若該資料屬於該第二態樣時,該第二壓縮/解壓縮電路壓縮該資料以產生另一壓縮資料,並且該記憶體管理電路下達一指令序列將該另一壓縮資料寫入至該些實體程式化單元中,其中該第一壓縮/解壓縮電路的一壓縮速度快於該第二壓縮/解壓縮電路的一壓縮速度,並且該第一壓縮/解壓縮電路的一資料壓縮率小於該第二壓縮/解壓縮電路的一資料壓縮率。
- 如申請專利範圍第7項所述的記憶體控制電路單元,在上述識別該資料是屬於該第一態樣或該第二態樣的運作中,該記憶體管理電路將從該主機系統中接收的一寫入指令所指示的一第一資料識別為屬於該第一態樣,並且將從該些實體程式化單元中所讀取的一第二資料識別為屬於該第二態樣。
- 如申請專利範圍第8項所述的記憶體控制電路單元,其中在壓縮該資料以產生該壓縮資料,並且將該壓縮資料寫入至該些實體程式化單元中的運作中,該記憶體管理電路將該第一資料透過該記憶體介面傳送至該可複寫式非揮發性記憶體模組的同時,該第一壓縮/解壓縮電路將該第一資料壓縮為一第一壓縮資料,其中該第一壓縮資料會被寫入至該些實體程式化單元之中的一第一實體程式化單元中。
- 如申請專利範圍第9項所述的記憶體控制電路單元,其中該記憶體管理電路執行一資料合併運作以從該些實體程式化單元之中的一第二實體程式化單元中讀取一已壓縮資料,且該第一壓縮/解壓縮電路解壓縮從該第二實體程式化單元中讀取的該已壓縮資料以獲得該第二資料,其中在上述壓縮該資料以產生該另一壓縮資料,並且將該另一壓縮資料寫入至該些實體程式化單元中的運作中,該第二壓縮/解壓縮電路將該第二資料壓縮為一第二壓縮資料,並且該記憶體管理電路將該第二壓縮資料寫入至該些實體程式化單元之中的一第三實體程式化單元中。
- 如申請專利範圍第9項所述的記憶體控制電路單元,其中該記憶體管理電路執行一資料合併運作以從該些實體程式化單元之中的一第二實體程式化單元中讀取該第二資料,其中該第二資料為經過該第一壓縮/解壓縮電路壓縮的資料, 其中在上述壓縮該資料以產生該另一壓縮資料,並且將該另一壓縮資料寫入至該些實體程式化單元中的運作中,該第二壓縮/解壓縮電路將該第二資料壓縮為一第二壓縮資料,並且該記憶體管理電路將該第二壓縮資料寫入至該些實體程式化單元之中的一第三實體程式化單元中。
- 如申請專利範圍第7項所述的記憶體控制電路單元,其中在上述識別該資料是屬於該第一態樣或該第二態樣的運作中,該記憶體管理電路判斷該資料的每個位元值是否皆為相同,倘若該資料的每個位元值皆為相同時,該記憶體管理電路識別該資料屬於該第一態樣,並且上述該第一壓縮/解壓縮電路壓縮該資料以產生該壓縮資料,並且該記憶體管理電路將該壓縮資料寫入至該些實體程式化單元中的運作是於一前景執行模式中被執行;以及倘若該資料的每個位元值不皆為相同時,該記憶體管理電路識別該資料屬於該第二態樣,其中上述該第二壓縮/解壓縮電路壓縮該資料以產生該另一壓縮資料,並且該記憶體管理電路將該另一壓縮資料寫入至該些實體程式化單元中的運作是在一背景執行模式中被執行。
- 一種記憶體儲存裝置,包括:一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,具有多個實體抹除單元,每一該些實體抹除單元具有多個實體程式化單元;以及 一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,其中該記憶體控制電路單元識別一資料是屬於一第一態樣或一第二態樣,倘若該資料屬於該第一態樣時,該記憶體控制電路單元利用一第一壓縮/解壓縮電路壓縮該資料以產生一壓縮資料,並且將該壓縮資料寫入至該些實體程式化單元中,倘若該資料屬於該第二態樣時,該記憶體控制電路單元利用一第二壓縮/解壓縮電路壓縮該資料以產生另一壓縮資料,並且將該另一壓縮資料寫入至該些實體程式化單元中,其中該第一壓縮/解壓縮電路的一壓縮速度快於該第二壓縮/解壓縮電路的一壓縮速度,並且該第一壓縮/解壓縮電路的一資料壓縮率小於該第二壓縮/解壓縮電路的一資料壓縮率。
- 如申請專利範圍第13項所述的記憶體儲存裝置,在上述識別該資料是屬於該第一態樣或該第二態樣的運作中,該記憶體控制電路單元將從該主機系統中接收的一寫入指令所指示的一第一資料識別為屬於該第一態樣,並且將從該些實體程式化單元中所讀取的一第二資料識別為屬於該第二態樣。
- 如申請專利範圍第14項所述的記憶體儲存裝置,其中在利用該第一壓縮/解壓縮電路壓縮該資料以產生該壓縮資料,並且將該壓縮資料寫入至該些實體程式化單元中的運作中,該記憶體控制電路單元將該第一資料透過一記憶體介面傳送 至該可複寫式非揮發性記憶體模組的同時,利用該第一壓縮/解壓縮電路將該第一資料壓縮為一第一壓縮資料,其中該第一壓縮資料會被寫入至該些實體程式化單元之中的一第一實體程式化單元中。
- 如申請專利範圍第14項所述的記憶體儲存裝置,其中該記憶體控制電路單元執行一資料合併運作以從該些實體程式化單元之中的一第二實體程式化單元中讀取一已壓縮資料,且利用該第一壓縮/解壓縮電路解壓縮從該第二實體程式化單元中讀取的該已壓縮資料以獲得該第二資料,其中在上述利用該第二壓縮/解壓縮電路壓縮該資料以產生該另一壓縮資料,並且將該另一壓縮資料寫入至該些實體程式化單元中的運作中,該記憶體控制電路單元利用該第二壓縮/解壓縮電路將該第二資料壓縮為一第二壓縮資料,並且該記憶體管理電路將該第二壓縮資料寫入至該些實體程式化單元之中的一第三實體程式化單元中。
- 如申請專利範圍第14項所述的記憶體儲存裝置,其中該記憶體控制電路單元執行一資料合併運作以從該些實體程式化單元之中的一第二實體程式化單元中讀取該第二資料,其中該第二資料為經過該第一壓縮/解壓縮電路壓縮的資料,其中在上述利用該第二壓縮/解壓縮電路壓縮該資料以產生該另一壓縮資料,並且將該另一壓縮資料寫入至該些實體程式化單元中的運作中,該記憶體控制電路單元利用該第二壓縮/解壓縮 電路將該第二資料壓縮為一第二壓縮資料,並且將該第二壓縮資料寫入至該些實體程式化單元之中的一第三實體程式化單元中。
- 如申請專利範圍第13項所述的記憶體儲存裝置,其中在上述識別該資料是屬於該第一態樣或該第二態樣的運作中,該記憶體控制電路單元判斷該資料的每個位元值是否皆為相同,倘若該資料的每個位元值皆為相同時,該記憶體控制電路單元識別該資料屬於該第一態樣,並且上述壓縮該資料以產生該壓縮資料,並且將該壓縮資料寫入至該些實體程式化單元中的運作是於一前景執行模式中被執行;以及倘若該資料的每個位元值不皆為相同時,該記憶體控制電路單元識別該資料屬於該第二態樣,其中上述壓縮該資料以產生該另一壓縮資料,並且將該另一壓縮資料寫入至該些實體程式化單元中的運作是在一背景執行模式中被執行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103136136A TWI534814B (zh) | 2014-10-20 | 2014-10-20 | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
US14/564,113 US20160110112A1 (en) | 2014-10-20 | 2014-12-09 | Data writing method, memoey control circuit unit and memory storage apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103136136A TWI534814B (zh) | 2014-10-20 | 2014-10-20 | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201616505A TW201616505A (zh) | 2016-05-01 |
TWI534814B true TWI534814B (zh) | 2016-05-21 |
Family
ID=55749103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103136136A TWI534814B (zh) | 2014-10-20 | 2014-10-20 | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20160110112A1 (zh) |
TW (1) | TWI534814B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102680390B1 (ko) * | 2016-10-12 | 2024-07-03 | 삼성전자주식회사 | 저장 장치 및 그것의 동작 방법 |
JP6692448B2 (ja) * | 2016-11-08 | 2020-05-13 | 株式会社日立製作所 | ストレージ装置及びストレージ装置の制御方法 |
US10331902B2 (en) | 2016-12-29 | 2019-06-25 | Noblis, Inc. | Data loss prevention |
DE112018002578T5 (de) * | 2017-05-19 | 2020-02-27 | Movidius Ltd. | Verfahren und vorrichtung zur verbesserungder datentransformation in verarbeitungsvorrichtungen |
US12019871B2 (en) | 2021-12-15 | 2024-06-25 | Samsung Electronics Co., Ltd. | Storage controller compressing indicator data, storage device including the same, and method of operating the same |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI220959B (en) * | 2003-06-05 | 2004-09-11 | Carry Computer Eng Co Ltd | Storage device with optimized compression management mechanism |
US20080228998A1 (en) * | 2007-03-16 | 2008-09-18 | Spansion Llc | Memory storage via an internal compression algorithm |
US8370544B2 (en) * | 2009-07-23 | 2013-02-05 | Stec, Inc. | Data storage system with compression/decompression |
TWI447735B (zh) * | 2010-02-05 | 2014-08-01 | Phison Electronics Corp | 記憶體管理與寫入方法及其可複寫式非揮發性記憶體控制器與儲存系統 |
KR20110138076A (ko) * | 2010-06-18 | 2011-12-26 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 쓰기 방법 |
KR20120084180A (ko) * | 2011-01-19 | 2012-07-27 | 삼성전자주식회사 | 데이터 압축 장치, 이의 동작 방법, 및 이를 포함하는 데이터 처리 장치 |
TWI459197B (zh) * | 2011-04-21 | 2014-11-01 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
US8725933B2 (en) * | 2011-07-01 | 2014-05-13 | Intel Corporation | Method to detect uncompressible data in mass storage device |
US8918579B2 (en) * | 2012-02-06 | 2014-12-23 | Sandisk Technologies Inc. | Storage device and method for selective data compression |
-
2014
- 2014-10-20 TW TW103136136A patent/TWI534814B/zh active
- 2014-12-09 US US14/564,113 patent/US20160110112A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20160110112A1 (en) | 2016-04-21 |
TW201616505A (zh) | 2016-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI515735B (zh) | 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置 | |
US9690490B2 (en) | Method for writing data, memory storage device and memory control circuit unit | |
CN109491588B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
TWI470431B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI615711B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI582776B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI656531B (zh) | 平均磨損方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI658361B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI611410B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI607309B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI534814B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TW201705148A (zh) | 映射表存取方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI506634B (zh) | 資料存取方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN107346211B (zh) | 映射表加载方法、存储器控制电路单元与存储器储存装置 | |
TWI548991B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TW201606503A (zh) | 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI644210B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI509615B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI642059B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI517165B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI501244B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN113885808B (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
CN109273033B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN110308876B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
TWI635495B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |