TWI506634B - 資料存取方法、記憶體控制電路單元及記憶體儲存裝置 - Google Patents
資料存取方法、記憶體控制電路單元及記憶體儲存裝置 Download PDFInfo
- Publication number
- TWI506634B TWI506634B TW103138539A TW103138539A TWI506634B TW I506634 B TWI506634 B TW I506634B TW 103138539 A TW103138539 A TW 103138539A TW 103138539 A TW103138539 A TW 103138539A TW I506634 B TWI506634 B TW I506634B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- virtual
- unit
- generate
- bit
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Description
本發明是有關於一種資料存取方法,且特別是有關於一種用於可複寫式非揮發性記憶體模組的資料存取方法、記憶體儲存裝置及記憶體控制電路單元。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,最適於可攜式電子產品,例如筆記型電腦。固態硬碟就是一種以快閃記憶體作為儲存媒體的儲存裝置。因此,近年快閃記憶體產業成為電子產業中相當熱門的一環。
由於儲存在可複寫式非揮發性記憶體的資料可能會因各種因素(例如,記憶體胞的漏電、程式化失敗、損毀等)而產生錯誤位元,因此,在記憶體儲存系統中一般會配置錯誤檢查與校正電
路並為所儲存之資料產生錯誤檢查與校正碼以確保資料的正確性。然而,當資料中的錯誤位元數目超過錯誤檢查與校正電路所能偵測與校正的錯誤位元數時,含有錯誤位元的資料就無法被校正,而造成資料遺失。
基此,如何能夠校正更多個錯誤位元並確保資料的正確性是此領域技術人員所致力的目標。
本發明提供一種資料存取方法、記憶體儲存裝置及記憶體控制電路單元,其能夠校正更多錯誤位元,以確保資料的正確性與可靠度。
本發明的一範例實施例提出一種資料存取方法,用於可複寫式非揮發性記憶體模組,其中此可複寫式非揮發性記憶體模組包括多個實體抹除單元,且每一實體抹除單元包括多個實體程式化單元。本資料存取方法包括:將一虛擬資料(dummy data)填補至此第一資料以產生一第二資料,產生對應此第二資料的一錯誤檢查與校正碼,根據第二資料與此錯誤檢查與校正碼產生一錯誤檢查與校正碼框,將此錯誤檢查與校正碼框寫入至所述實體程式化單元之中的一第一實體程式化單元,並且將一邏輯位址映射至此第一實體程式化單元。本資料存取方法還包括:接收一讀取指令,其中此讀取指令指示從所述邏輯位址中讀取資料;以及從此第一實體程式化單元中讀取錯誤檢查與校正碼框以獲取一讀取資
料串,其中此讀取資料串包括一第三資料與所述錯誤檢查與校正碼。本資料存取方法更包括:當無法藉由錯誤檢查與校正碼來校正第三資料以獲得一已校正資料時,依據虛擬資料的態樣來調整此第三資料以產生一第四資料,並使用此錯誤檢查與校正碼來校正此第四資料以獲得已校正資料,其中此已校正資料相同於第二資料;從此已校正資料中移除虛擬資料以獲得一第五資料。
在本發明的一範例實施例中,上述資料存取方法更包括:接收一寫入指令,其中所述寫入指令指示將一寫入資料寫入至所述邏輯位址;以及壓縮所述寫入資料以產生第一資料。
在本發明的一範例實施例中,上述資料存取方法更包括:解壓縮所述第五資料以獲得一讀取資料,其中所述讀取資料相同於所述寫入資料;以及傳送所述讀取資料以回應所述讀取指令。
在本發明的一範例實施例中,上述資料存取方法更包括:將對應第一實體程式化單元的虛擬資料的態樣記錄於一虛擬資料登錄表中,其中此虛擬資料的態樣包括此虛擬資料的長度。
在本發明的一範例實施例中,上述將虛擬資料填補至第一資料以產生第二資料的步驟包括:接續此第一資料的最後一個資料位元填入虛擬資料以產生此第二資料。並且,依據虛擬資料的態樣來調整第三資料以產生第四資料的步驟包括:依據虛擬資料登錄表識別對應第一實體程式化單元的虛擬資料的長度,並且依據對應此第一實體程式化單元的虛擬資料的長度,將排列在第
三資料最後的多個資料位元以虛擬資料來取代以獲得第四資料,其中排列在此第三資料最後的資料位元的長度是等於虛擬資料的長度。
在本發明的一範例實施例中,上述將錯誤檢查與校正碼
框寫入至實體程式化單元之中的第一實體程式化單元的步驟包括:將一虛擬資料資訊和錯誤檢查與校正碼框寫入至此第一實體程式化單元,其中此虛擬資料資訊記錄對應此第一實體程式化單元的虛擬資料的態樣,且此虛擬資料的態樣包括虛擬資料的長度。
在本發明的一範例實施例中,上述將虛擬資料填補至第一資料以產生第二資料的步驟包括:接續此第一資料的最後一個位元填入此虛擬資料以產生此第二資料。其中依據虛擬資料的態樣來調整第三資料以產生第四資料的步驟包括:從第一實體程式化單元中讀取虛擬資料資訊,依據所讀取的虛擬資料資訊識別對應第一實體程式化單元的虛擬資料的長度,並且依據對應此第一實體程式化單元的虛擬資料的長度,將排列在第三資料最後的多個資料位元以虛擬資料來取代以獲得第四資料,其中所述排列在第三資料最後的資料位元的長度是等於虛擬資料的長度。
在本發明的一範例實施例中,上述虛擬資料具有多個資料位元,並且每一資料位元的值皆為一第一值。
在本發明的一範例實施例中,上述將虛擬資料填補至第一資料以產生第二資料的步驟包括:接續此第一資料的最後一個位元填入虛擬資料以產生此第二資料。並且,依據虛擬資料的態
樣來調整第三資料以產生第四資料的步驟包括:從此第三資料的最後一個資料位元開始掃瞄此第三資料的每個資料位元,識別此第三資料之中的一組連續資料位元,並且將此第三資料之中接續在此組連續資料位元之後的至少一個資料位元的值以第一值來取代,其中此組連續資料位元的每一資料位元的值皆為第一值。
在本發明的一範例實施例中,上述將虛擬資料填補至第一資料以產生第二資料的步驟包括:接續此第一資料的最後一個位元填入虛擬資料以產生此第二資料。其中依據虛擬資料的態樣來調整第三資料以產生第四資料的步驟包括:從此第三資料的最後一個資料位元開始掃瞄此第三資料的每個資料位元,識別此第三資料之中的一組連續資料位元與另一組連續資料位元,並且將此第三資料之中接續在此另一組連續資料位元之後的至少一個資料位元的值以第一值來取代,其中此組連續資料位元的每一資料位元的值皆為第一值,而另一組連續資料位元的每一資料位元的值皆為第二值,此第一值不同於此第二值並且此組連續資料位元是接續在另一組連續資料位元之後。
本發明的一範例實施例提出一種用於控制可複寫式非揮
發性記憶體模組的記憶體控制電路單元。此記憶體控制電路單元包括主機介面、記憶體介面、記憶體管理電路與資料壓縮/解壓縮電路。主機介面耦接至主機系統。記憶體介面耦接至可複寫式非揮發性記憶體模組,其中可複寫式非揮發性記憶體模組具有多個實體抹除單元並且每一實體抹除單元包括多個實體程式化單元。
記憶體管理電路耦接至主機介面與記憶體介面,錯誤檢查與校正電路耦接至記憶體管理電路,且資料壓縮/解壓縮電路耦接至記憶體管理電路。資料壓縮/解壓縮電路將一虛擬資料填補至第一資料以產生一第二資料。錯誤檢查與校正電路產生對應第二資料的一錯誤檢查與校正碼。記憶體管理電路更根據第二資料與錯誤檢查與校正碼產生一錯誤檢查與校正碼框。記憶體管理電路更下達一指令序列以將錯誤檢查與校正碼框寫入至實體程式化單元之中的第一實體程式化單元,並且將一邏輯位址映射至此第一實體程式化單元。記憶體管理電路接收一讀取指令,其中此讀取指令指示從此邏輯位址中讀取資料。記憶體管理電路下達一指令序列以從第一實體程式化單元中讀取錯誤檢查與校正碼框以獲取一讀取資料串,其中此讀取資料串包括一第三資料與錯誤檢查與校正碼。
在此,當無法藉由錯誤檢查與校正碼來校正第三資料以獲得一已校正資料時,記憶體管理電路依據虛擬資料的態樣來調整第三資料以產生一第四資料,並且錯誤檢查與校正電路使用此錯誤檢查與校正碼來校正第四資料以獲得此已校正資料,其中此已校正資料相同於第二資料。記憶體管理電路從已校正資料中移除虛擬資料以獲得一第五資料。
在本發明的一範例實施例中,上述記憶體管理電路更接收一寫入指令,其中所述寫入指令指示將一寫入資料寫入至所述邏輯位址。資料壓縮/解壓縮電路壓縮所述寫入資料以產生所述第一資料。
在本發明的一範例實施例中,上述記憶體管理電路解壓縮所述第五資料以獲得一讀取資料,其中所述讀取資料相同於所述寫入資料。並且記憶體管理電路更傳送所述讀取資料以回應所述讀取指令。
在本發明的一範例實施例中,上述記憶體管理電路更將對應第一實體程式化單元的虛擬資料的態樣記錄於一虛擬資料登錄表中,其中此虛擬資料的態樣包括虛擬資料的長度。
在本發明的一範例實施例中,上述在將虛擬資料填補至第一資料以產生第二資料的操作中,資料壓縮/解壓縮電路更接續此第一資料的最後一個資料位元填入虛擬資料以產生此第二資料。此外,在依據虛擬資料的態樣來調整第三資料以產生第四資料的操作中,記憶體管理電路更依據虛擬資料登錄表識別對應第一實體程式化單元的虛擬資料的長度,並且依據對應此第一實體程式化單元的虛擬資料的長度,將排列在第三資料最後的多個資料位元以虛擬資料來取代以獲得第四資料,其中排列在第三資料最後的資料位元的長度是等於虛擬資料的長度。
在本發明的一範例實施例中,上述在將錯誤檢查與校正碼框寫入至實體程式化單元之中的第一實體程式化單元的操作中,記憶體管理電路更將一虛擬資料資訊和錯誤檢查與校正碼框寫入至第一實體程式化單元,其中此虛擬資料資訊記錄對應第一實體程式化單元的虛擬資料的態樣,且此虛擬資料的態樣包括虛擬資料的長度。
在本發明的一範例實施例中,上述在將虛擬資料填補至第一資料以產生第二資料的操作中,資料壓縮/解壓縮電路更接續此第一資料的最後一個位元填入虛擬資料以產生此第二資料。此外,在依據虛擬資料的態樣來調整第三資料以產生第四資料的操作中,記憶體管理電路更從此第一實體程式化單元中讀取虛擬資料資訊,依據所讀取的虛擬資料資訊識別對應第一實體程式化單元的虛擬資料的長度,並且依據對應此第一實體程式化單元的虛擬資料的長度,將排列在第三資料最後的多個資料位元以虛擬資料來取代以獲得第四資料,其中排列在此第三資料最後的資料位元的長度是等於虛擬資料的長度。
在本發明的一範例實施例中,上述虛擬資料具有多個資料位元,並且每一資料位元的值皆為一第一值。
在本發明的一範例實施例中,上述在將虛擬資料填補至第一資料以產生第二資料的操作中,資料壓縮/解壓縮電路更接續此第一資料的最後一個位元填入虛擬資料以產生此第二資料。此外,在依據虛擬資料的態樣來調整第三資料以產生第四資料的操作中,記憶體管理電路從此第三資料的最後一個資料位元開始掃瞄此第三資料的每個資料位元,識別此第三資料之中的一組連續資料位元,並且將此第三資料之中接續在此組連續資料位元之後的至少一個資料位元的值以第一值來取代,其中此組連續資料位元的每一資料位元的值皆為第一值。
在本發明的一範例實施例中,上述在將虛擬資料填補至
第一資料以產生第二資料的操作中,資料壓縮/解壓縮電路更接續此第一資料的最後一個位元填入虛擬資料以產生此第二資料。此外,在依據虛擬資料的態樣來調整第三資料以產生第四資料的操作中,記憶體管理電路從此第三資料的最後一個資料位元開始掃瞄此第三資料的每個資料位元,識別此第三資料之中的一組連續資料位元與另一組連續資料位元,並且將此第三資料之中接續在此另一組連續資料位元之後的至少一個資料位元的值以第一值來取代,其中此組連續資料位元的每一資料位元的值皆為第一值,另一組連續資料位元的每一資料位元的值皆為第二值,此第一值不同於此第二值並且此組連續資料位元是接續在另一組連續資料位元之後。
本發明的一範例實施例提出一種記憶體儲存裝置,其包
括連接介面單元、可複寫式非揮發性記憶體模組與記憶體控制電路單元。連接介面單元用以耦接至主機系統。可複寫式非揮發性記憶體模組具有多個實體抹除單元,且每一實體抹除單元包括多個實體程式化單元。記憶體控制電路單元耦接至連接介面單元與可複寫式非揮發性記憶體模組。記憶體控制電路單元將一虛擬資料填補至第一資料以產生一第二資料,產生對應此第二資料的一錯誤檢查與校正碼,根據此第二資料與此錯誤檢查與校正碼產生一錯誤檢查與校正碼框,將此錯誤檢查與校正碼框寫入至實體程式化單元之中的一第一實體程式化單元,並且將此邏輯位址映射至此第一實體程式化單元。記憶體控制電路單元更接收一讀取指
令,其中此讀取指令指示從所述邏輯位址中讀取資料。記憶體控制電路單元更從第一實體程式化單元中讀取錯誤檢查與校正碼框以獲取一讀取資料串,其中讀取資料串包括一第三資料與錯誤檢查與校正碼。記憶體控制電路單元更當無法藉由錯誤檢查與校正碼來校正第三資料以獲得一已校正資料時,依據虛擬資料的態樣來調整此第三資料以產生一第四資料,並使用此錯誤檢查與校正碼來校正此第四資料以獲得已校正資料,其中此已校正資料相同於第二資料。記憶體控制電路單元更從已校正資料中移除虛擬資料以獲得一第五資料。
在本發明的一範例實施例中,上述記憶體控制電路單元更接收一寫入指令,並且此寫入指令指示將一寫入資料寫入至所述邏輯位址。並且記憶體控制電路單元壓縮此寫入資料以產生所述第一資料。
在本發明的一範例實施例中,上述記憶體控制電路單元解壓縮所述第五資料以獲得一讀取資料,其中此讀取資料相同於所述寫入資料。記憶體控制電路單元更傳送此讀取資料以回應讀取指令。
在本發明的一範例實施例中,上述記憶體控制電路單元更將對應第一實體程式化單元的虛擬資料的態樣記錄於一虛擬資料登錄表中,其中虛擬資料的態樣包括虛擬資料的長度。
在本發明的一範例實施例中,上述將虛擬資料填補至第一資料以產生第二資料的操作中,記憶體控制電路單元更接續此
第一資料的最後一個資料位元填入虛擬資料以產生此第二資料。並且在依據虛擬資料的態樣來調整第三資料以產生第四資料的操作中,記憶體控制電路單元更依據虛擬資料登錄表識別對應第一實體程式化單元的虛擬資料的長度,並且依據對應此第一實體程式化單元的虛擬資料的長度,將排列在第三資料最後的多個資料位元以虛擬資料來取代以獲得第四資料,其中列在此第三資料最後的資料位元的長度是等於虛擬資料的長度。
在本發明的一範例實施例中,上述將錯誤檢查與校正碼框寫入至實體程式化單元之中的第一實體程式化單元的操作中,記憶體控制電路單元更將一虛擬資料資訊和錯誤檢查與校正碼框寫入至此第一實體程式化單元,其中虛擬資料資訊記錄對應此第一實體程式化單元的虛擬資料的態樣,且此虛擬資料的態樣包括虛擬資料的長度。
在本發明的一範例實施例中,上述在將虛擬資料填補至第一資料以產生第二資料的操作中,記憶體控制電路單元更接續此第一資料的最後一個位元填入虛擬資料以產生此第二資料。此外,在依據虛擬資料的態樣來調整第三資料以產生第四資料的操作中,記憶體控制電路單元更從第一實體程式化單元中讀取虛擬資料資訊,依據所讀取的虛擬資料資訊識別對應此第一實體程式化單元的虛擬資料的長度,並且依據對應此第一實體程式化單元的虛擬資料的長度,將排列在第三資料最後的多個資料位元以虛擬資料來取代以獲得第四資料,其中排列在此第三資料最後的資
料位元的長度是等於虛擬資料的長度。
在本發明的一範例實施例中,上述虛擬資料具有多個資料位元,並且每一資料位元的值皆為第一值。
在本發明的一範例實施例中,上述將虛擬資料填補至第一資料以產生第二資料的操作中,記憶體控制電路單元更接續此第一資料的最後一個位元填入虛擬資料以產生此第二資料。此外,在依據虛擬資料的態樣來調整第三資料以產生第四資料的操作中,記憶體控制電路單元更從此第三資料的最後一個資料位元開始掃瞄此第三資料的每個資料位元,識別此第三資料之中的一組連續資料位元,並且將此第三資料之中接續在此組連續資料位元之後的至少一個資料位元的值以第一值來取代,其中此組連續資料位元的每一資料位元的值皆為第一值。
在本發明的一範例實施例中,上述將虛擬資料填補至第一資料以產生第二資料的操作中,記憶體控制電路單元更接續此第一資料的最後一個位元填入此虛擬資料以產生此第二資料。此外,在依據虛擬資料的態樣來調整第三資料以產生第四資料的操作中,記憶體控制電路單元更從此第三資料的最後一個資料位元開始掃瞄此第三資料的每個資料位元,識別此第三資料之中的一組連續資料位元與另一組連續資料位元,並且將此第三資料之中接續在此另一組連續資料位元之後的至少一個資料位元的此以此第一值來取代,其中此組連續資料位元的每一資料位元的值皆為第一值,而另一組連續資料位元的每一資料位元的值皆為第二
值,此第一值不同於此第二值並且此組連續資料位元是接續在另一組連續資料位元之後。
基於上述,本發明範例實施例的資料存取方法、記憶體控制電路單元與記憶體儲存裝置能夠當無法藉由錯誤檢查與校正碼來校正所讀取之資料以獲得已校正資料時,根據虛擬資料的態樣來調整所讀取之資料,由此可校正更多的錯誤位元並且確保所存取之資料的正確性,基此,有效地提升錯誤檢查與校正碼的資料校正能力。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
1000‧‧‧主機系統
1100‧‧‧電腦
1102‧‧‧微處理器
1104‧‧‧隨機存取記憶體(RAM)
1106‧‧‧輸入/輸出裝置
1108‧‧‧系統匯流排
1110‧‧‧資料傳輸介面
1202‧‧‧滑鼠
1204‧‧‧鍵盤
1206‧‧‧顯示器
1208‧‧‧印表機
1212‧‧‧隨身碟
1214‧‧‧記憶卡
1216‧‧‧固態硬碟
1310‧‧‧數位相機
1312‧‧‧SD卡
1314‧‧‧MMC卡
1316‧‧‧記憶棒
1318‧‧‧CF卡
1320‧‧‧嵌入式儲存裝置
100‧‧‧記憶體儲存裝置
102‧‧‧連接介面單元
104‧‧‧記憶體控制電路單元
106‧‧‧可複寫式非揮發性記憶體模組
410(0)~410(N)‧‧‧實體抹除單元
202‧‧‧記憶體管理電路
204‧‧‧主機介面
206‧‧‧記憶體介面
208‧‧‧資料壓縮/解壓縮電路
210‧‧‧緩衝記憶體
212‧‧‧電源管理電路
214‧‧‧錯誤檢查與校正電路
502‧‧‧資料區
504‧‧‧閒置區
506‧‧‧系統區
508‧‧‧取代區
LBA(0)~LBA(H)‧‧‧邏輯位址
LZ(0)~LZ(M)‧‧‧邏輯區域
802‧‧‧第二資料
802'‧‧‧第三資料
902‧‧‧第四資料
804‧‧‧第一實體程式化單元
WD‧‧‧寫入資料
RD‧‧‧讀取資料
FCD‧‧‧第一資料
SCD‧‧‧第五資料
CCD‧‧‧已校正資料
DD‧‧‧虛擬資料
DD'、FCD'‧‧‧資料
SP、SP'‧‧‧管理資訊
ECC、ECC'‧‧‧錯誤檢查與校正碼
ECCF、ECCF'‧‧‧錯誤檢查與校正碼框
EB‧‧‧錯誤位元
900‧‧‧虛擬資料登錄表
1006‧‧‧虛擬資料資訊
1402‧‧‧第一組連續資料位元
1404‧‧‧最後一組連續資料位元
1502‧‧‧另一組連續資料位元
S1501、S1503、S1505‧‧‧資料寫入方法的步驟
S1507、S1509、S1511、S1513‧‧‧資料讀取方法的步驟
圖1A是根據第一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖1B是根據第一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖1C是根據第一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖2是根據第一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。
圖3是根據第一範例實施例所繪示之記憶體控制電路單元的
概要方塊圖。
圖4A與圖4B是根據第一範例實施例所繪示之管理實體抹除單元的範例示意圖。
圖5~圖7是根據第一範例實施例所繪示的寫入資料至可複寫式非揮發性記憶體模組的範例。
圖8是根據第一範例實施例所繪示之寫入資料至實體程式化單元的示意圖。
圖9是根據第一範例實施例所繪示之從實體程式化單元中讀取資料的示意圖。
圖10A是根據第一範例實施例所繪示的將虛擬資料的態記錄於虛擬資料登錄表的範例。
圖10B是根據第一範例實施例所繪示的藉由虛擬資料的態樣來調整所讀取之資料以增強錯誤檢查與校正碼之校正能力的範例。
圖11A是根據第一範例實施例所繪示的資料寫入方法的流程圖。
圖11B是根據第一範例實施例所繪示的資料讀取方法的流程圖。
圖12是根據第二範例實施例所繪示之寫入資料至實體程式化單元的示意圖。
圖13是根據第二範例實施例所繪示的藉由虛擬資料的態樣來調整所讀取之資料以增強錯誤檢查與校正碼之校正能力的範
例。
圖14A與14B是根據第三範例實施例所繪示的藉由識別所讀取之資料中的一組連續資料位元來調整所讀取之資料的範例。
圖15A與15B是根據第四範例實施例所繪示的藉由識別所讀取之資料中的兩組不同的連續資料位元來調整所讀取之資料的範例。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1A是根據第一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
請參照圖1A,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108與資料傳輸介面1110。輸入/輸出裝置1106包括如圖1B的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖1B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明實施例中,記憶體儲存裝置100是透過資料傳
輸介面1110與主機系統1000的其他元件電性連接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的運作可將資料寫入至記憶體儲存裝置100或從記憶體儲存裝置100中讀取資料。例如,記憶體儲存裝置100可以是如圖1B所示的隨身碟1212、記憶卡1214或固態硬碟(Solid State Drive,SSD)1216等的可複寫式非揮發性記憶體儲存裝置。
一般而言,主機系統1000為可實質地與記憶體儲存裝置
100配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統1000是以電腦系統來做說明,然而,在本發明另一範例實施例中主機系統1000可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為圖1C中的數位相機(攝影機)1310時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、CF卡1318或嵌入式儲存裝置1320(如圖1C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接電性連接於主機系統的基板上。
圖2是根據第一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。
請參照圖2,記憶體儲存裝置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)介面標準、安全數位(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個實體程式化單元或其他任意個實體程式化單元所組成。
更詳細來說,實體抹除單元為抹除之最小單位。亦即,
每一實體抹除單元含有最小數目之一併被抹除之記憶胞。實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。每一實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體存取位址用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,控制資訊與錯誤更正碼)。在此,一個實體程式化單元的容量是定義為包含資料位元區的容量與冗餘位元區的容量。例如,在本範例實施例中,每一實體程式化單元的使用者資料位元區的容量為2千位元組(Kilobyte,KB)並且冗餘位元區的容量為64位元組(byte),也就是說,每一個實體程式化單元的資料位元區中會包含4個實體存取位址,且一個實體存取位址的大小為512位元組(byte)。然而,必須瞭解的是,本發明不限於此。例如,在其他範例實施例中,資料位元區中也可包含數目更多或更少的實體存取位址,本發明並不限制實體存取位址的大小以及個數。例如,在一範例實施例中,實體抹除單元為實體區塊,並且實體程式化單元為實體頁面或實
體扇區,但本發明不以此為限。
在本範例實施例中,可複寫式非揮發性記憶體模組106為多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元資料的快閃記憶體模組)。然而,本發明不限於此,可複寫式非揮發性記憶體模組106亦可是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元資料的快閃記憶體模組)、複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元資料的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖3是根據第一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
請參照圖3,記憶體控制電路單元104包括記憶體管理電路202、主機介面204、記憶體介面206與資料壓縮/解壓縮電路208。
記憶體管理電路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並且用以耦接至連接介面單元102,以接收與識別主機系統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是耦接至記憶體管理電路
202。在此,資料壓縮/解壓縮電路208用以壓縮欲寫入至可複寫式非揮發性記憶體模組106的資料並且用以解壓縮從可複寫式非揮發性記憶體模組106中所讀取之資料。例如,資料壓縮/解壓縮電路208包含壓縮器(compressor)及解壓縮器(decompressor)。壓縮器用以找出原始資料(original data)中存在的資料累贅(data redundancy)、移除所找出之累贅,將剩餘的必要資料編碼並且輸出編碼結果(即,壓縮資料(compressed data)。而解壓縮器用以將讀入的壓縮資料依據既定的步驟解碼並送出解碼結果(即,解壓縮資料(decompressed data)。在本範例實施例中,資料壓縮/解壓縮電路208是使用無失真壓縮演算法來壓縮資料,以使壓縮後之資料能夠被還原。
在本發明一範例實施例中,記憶體控制電路單元104還包括緩衝記憶體210、電源管理電路212與錯誤檢查與校正電路214。
緩衝記憶體210是耦接至記憶體管理電路202並且用以暫存來自於主機系統1000的資料與指令或來自於可複寫式非揮發性記憶體模組106的資料。
電源管理電路212是耦接至記憶體管理電路202並且用以控制記憶體儲存裝置100的電源。
錯誤檢查與校正電路214是耦接至記憶體管理電路202並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路202從主機系統1000中接收到寫入指令
時,錯誤檢查與校正電路214會為對應此寫入指令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),並且記憶體管理電路202會將對應此寫入指令的資料與對應的錯誤檢查與校正碼寫入至可複寫式非揮發性記憶體模組106中。之後,當記憶體管理電路202從可複寫式非揮發性記憶體模組106中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼,並且錯誤檢查與校正電路214會依據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
值得一提的是,錯誤檢查與校正電路214能夠校正之錯誤位元的數目會與所產生之錯誤檢查與校正碼的大小成正比。也就是說,當錯誤檢查與校正電路214被設計能夠校正之錯誤位元的數目越多時,則需要越多儲存空間來儲存所產生之錯誤檢查與校正碼。然而,用以儲存錯誤檢查與校正碼之冗餘位元區的容量是固定的(根據不同種類之可複寫式非揮發性記憶體模組而不同)。因此,實作於錯誤檢查與校正電路214中的錯誤校正演算法會受限於可複寫式非揮發性記憶體模組106的類型。具體來說,錯誤檢查與校正電路214會被設計能夠校正一數目的錯誤位元(以下稱為最大可校正錯誤位元數)。例如,最大可校正錯誤位元數為48。倘若發生在所讀取之資料的錯誤位元的數目非大於48個時,錯誤檢查與校正電路214就能夠依據錯誤檢查與校正碼將錯誤位元校正回正確的值。反之,錯誤檢查與校正電路214會回報錯誤校正失敗且記憶體管理電路202會將指示資料已遺失的訊息傳送
給主機系統1000。
圖4A與圖4B是根據第一範例實施例所繪示之管理實體抹除單元的範例示意圖。
必須瞭解的是,在此描述可複寫式非揮發性記憶體模組106之實體抹除單元的運作時,以“提取”、“分組”、“劃分”、“關聯”等詞來操作實體抹除單元是邏輯上的概念。也就是說,可複寫式非揮發性記憶體模組之實體抹除單元的實際位置並未更動,而是邏輯上對可複寫式非揮發性記憶體模組的實體抹除單元進行操作。
請參照圖4A,記憶體控制電路單元104(或記憶體管理電路202)會將實體抹除單元410(0)~410-(N)邏輯地分組為資料區502、閒置區504、系統區506與取代區508。
邏輯上屬於資料區502與閒置區504的實體抹除單元是用以儲存來自於主機系統1000的資料。具體來說,資料區502的實體抹除單元是被視為已儲存資料的實體抹除單元,而閒置區504的實體抹除單元是用以替換資料區502的實體抹除單元。也就是說,當從主機系統1000接收到寫入指令與欲寫入之資料時,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區504中提取實體抹除單元,並且將資料寫入至所提取的實體抹除單元中,以替換資料區502的實體抹除單元。
邏輯上屬於系統區506的實體抹除單元是用以記錄系統資料。例如,系統資料包括關於可複寫式非揮發性記憶體模組的
製造商與型號、可複寫式非揮發性記憶體模組的實體抹除單元數、每一實體抹除單元的實體程式化單元數等。
邏輯上屬於取代區508中的實體抹除單元是用於壞實體抹除單元取代程序,以取代損壞的實體抹除單元。具體來說,倘若取代區508中仍存有正常之實體抹除單元並且資料區502的實體抹除單元損壞時,記憶體控制電路單元104(或記憶體管理電路202)會從取代區508中提取正常的實體抹除單元來更換損壞的實體抹除單元。
特別是,資料區502、閒置區504、系統區506與取代區508之實體抹除單元的數量會依據不同的記憶體規格而有所不同。此外,必須瞭解的是,在記憶體儲存裝置100的運作中,實體抹除單元關聯至資料區502、閒置區504、系統區506與取代區508的分組關係會動態地變動。例如,當閒置區504中的實體抹除單元損壞而被取代區508的實體抹除單元取代時,則原本取代區508的實體抹除單元會被關聯至閒置區504。
請參照圖4B,記憶體控制電路單元104(或記憶體管理電路202)會配置邏輯位址LBA(0)~LBA(H)以映射資料區502的實體抹除單元,其中每一邏輯位址具有多個邏輯子單元以映射對應之實體抹除單元的實體程式化單元。並且,當主機系統100欲寫入資料至邏輯位址或更新儲存於邏輯位址中的資料時,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區504中提取一個實體抹除單元來寫入資料,以輪替資料區502的實體抹除單元。
在本範例實施例中,邏輯子單元可以是邏輯頁面或邏輯扇區。
為了識別資料每個邏輯位址的資料被儲存在那個實體抹除單元,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會記錄邏輯位址與實體抹除單元之間的映射。並且,當主機系統1000欲在邏輯子單元中存取資料時,記憶體控制電路單元104(或記憶體管理電路202)會確認此邏輯子單元所屬的邏輯位址,並且在此邏輯位址所映射的實體抹除單元中來存取資料。例如,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會在可複寫式非揮發性記憶體模組106中儲存邏輯轉實體位址映射表來記錄每一邏輯位址所映射的實體抹除單元,並且當欲存取資料時記憶體控制電路單元104(或記憶體管理電路202)會將邏輯轉實體位址映射表載入至緩衝記憶體210來維護。
值得一提的是,由於緩衝記憶體210的容量有限,無法儲存記錄所有邏輯位址之映射關係的映射表,因此,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會將邏輯位址LBA(0)~LBA(H)分組為多個邏輯區域LZ(0)~LZ(M),並且為每一邏輯區域配置一個邏輯轉實體位址映射表。特別是,當記憶體控制電路單元104(或記憶體管理電路202)欲更新某個邏輯位址的映射時,對應此邏輯位址所屬之邏輯區域的邏輯轉實體位址映射表會被載入至緩衝記憶體210來被更新。
圖5~圖7是根據第一範例實施例所繪示的寫入資料至可
複寫式非揮發性記憶體模組的範例。
請參照圖5~圖7,在本範例實施例中,記憶體儲存裝置100的可複寫式非揮發性記憶體模組106是以實體抹除單元為基礎(亦稱為區塊為基礎(block based)來進行管理。具體而言,在邏輯位址LBA(0)是映射至實體抹除單元410(0)的映射狀態下,當記憶體控制電路單元104(或記憶體管理電路202)從主機系統1000中接收到寫入指令而欲寫入資料至屬於邏輯位址LBA(0)的邏輯存取位址時,記憶體控制電路單元104(或記憶體管理電路202)會依據邏輯轉實體位址映射表識別邏輯位址LBA(0)目前是映射至實體抹除單元410(0)並且從閒置區504中提取實體抹除單元410(F)作為替換實體抹除單元來輪替實體抹除單元410(0)。然而,當記憶體控制電路單元104(或記憶體管理電路202)將新資料寫入至實體抹除單元410(F)的同時,記憶體控制電路單元104(或記憶體管理電路202)不會立刻將實體抹除單元410(0)中的所有有效資料搬移至實體抹除單元410(F)而抹除實體抹除單元410(0)。具體來說,記憶體控制電路單元104(或記憶體管理電路202)會將實體抹除單元410(0)中欲寫入實體程式化單元之前的有效資料(即,實體抹除單元410(0)的第0實體程式化單元與第1實體程式化單元中的資料)複製至實體抹除單元410(F)的第0實體程式化單元與第1實體程式化單元中(如圖5所示),並且將新資料寫入至實體抹除單元410(F)的第2實體程式化單元與第3實體程式化單元中(如圖6所示)。此時,記憶體控制電路單元104(或記憶體管理電路202)即完
成寫入的運作。因為實體抹除單元410(0)中的有效資料有可能在下個操作(例如,寫入指令)中變成無效,因此立刻將實體抹除單元410(0)中的有效資料搬移至實體抹除單元410(F)可能會造成無謂的搬移。此外,資料必須依序地寫入至實體抹除單元內的實體程式化單元,因此,記憶體控制電路單元104(或記憶體管理電路202)僅會先搬移欲寫入實體程式化單元之前的有效資料。
在本範例實施例中,暫時地維持此等母子暫態關係(即,實體抹除單元410(0)與實體抹除單元410(F))的運作稱為開啟(open)母子單元,並且原實體抹除單元稱為母實體抹除單元而替換實體抹除單元稱為子實體抹除單元。
之後,當需要將實體抹除單元410(0)與實體抹除單元410(F)的內容合併(merge)時,記憶體控制電路單元104(或記憶體管理電路202)才會將實體抹除單元410(0)與實體抹除單元410(F)的資料整併至一個實體抹除單元,由此提升實體抹除單元的使用效率。在此,合併母子單元的運作稱為資料合併程序或關閉(close)母子單元。例如,如圖7所示,當進行關閉母子單元時,記憶體控制電路單元104(或記憶體管理電路202)會將實體抹除單元410(0)中剩餘的有效資料(即,實體抹除單元410(0)的第4實體程式化單元~第(K)實體程式化單元中的資料)複製至替換實體抹除單元410(F)的第4實體程式化單元~第(K)實體程式化單元中,然後將實體抹除單元410(0)抹除並關聯至閒置區504,同時,將實體抹除單元410(F)關聯至資料區502。也就是說,記憶體控制電路單
元104(或記憶體管理電路202)會在邏輯單元-實體抹除單元映射表中將邏輯單元510(0)重新映射至實體抹除單元410(F)。此外,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會建立閒置區實體抹除單元表(未繪示)來記錄目前被關聯至閒置區的實體抹除單元。值得一提的是,閒置區504中實體抹除單元的數目是有限的,基此,在記憶體儲存裝置100運作期間,開啟之母子單元的組數亦會受到限制。因此,當記憶體儲存裝置100接收到來自於主機系統1000的寫入指令時,倘若已開啟母子單元的組數達到上限時,記憶體控制電路單元104(或記憶體管理電路202)需關閉至少一組目前已開啟之母子單元(即,執行關閉母子單元運作)以執行此寫入指令。在此,圖5~圖7所示的寫入運作稱為一般寫入模式。
值得注意的是,在另一範例實施例中,記憶體儲存裝置100的可複寫式非揮發性記憶體模組106亦可以是以實體程式化單元為基礎(亦稱為頁面為基礎(page based)來進行管理),本發明不加以限制。例如,在執行寫入指令時,不管目前資料是要寫入至那個邏輯單元的邏輯子單元,記憶體控制電路單元104(或記憶體管理電路202)皆會以一個實體程式化單元接續一個實體程式化單元的方式來寫入資料(以下亦稱為隨機寫入機制)。具體來說,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區504中提取一個空的實體抹除單元作為目前使用之實體抹除單元來寫入資料。並且,當此目前使用之實體抹除單元已被寫滿時,記憶體
控制電路單元104(或記憶體管理電路202)會再從閒置區504中提取另一個空的實體抹除單元作為目前使用之實體抹除單元,以繼續寫入對應來自於主機系統1000之寫入指令的資料。
在本範例實施例中,在從主機系統1000中接收到寫入指令以及對應此寫入指令的資料之後,記憶體控制電路單元104(或記憶體管理電路202)會以實體程式化單元為單位將所接收之資料寫入至可複寫式非揮發性記憶體模組106中。特別是,記憶體控制電路單元104(或記憶體管理電路202)會依據所接收之資料及對應的錯誤檢查與校正碼來產生錯誤檢查與校正碼框(ECC Frame)並且將錯誤檢查與校正碼框寫入至可複寫式非揮發性記憶體模組106中。例如,在本範例實施例中,一個錯誤檢查與校正碼框所包含的使用者資料的長度為2K,且1個實體程式化單元可儲存1個錯誤檢查與校正碼框。然而,必須瞭解的是,本發明不限於此,在本發明另一範例實施例中,一個錯誤檢查與校正碼框所包含的使用者資料的長度亦可為512Byte或1K。也就是說,1個實體程式化單元可儲存多個錯誤檢查與校正碼框。
圖8是根據第一範例實施例所繪示之寫入資料至實體程式化單元的示意圖。
請參照圖8,在本範例實施例中,當記憶體控制電路單元104(或記憶體管理電路202)從主機系統1000中接收到一寫入指令,並且此寫入指令指示將寫入資料WD寫入至某個邏輯位址時,記憶體控制電路單元104(或資料壓縮/解壓縮電路208)會將虛擬資
料DD填補至對應此寫入資料WD的資料FCD(以下稱為第一資料FCD)以產生資料802(以下稱為第二資料802)。在此,第二資料802亦可稱為使用者資料。特別是,在本範例實施例中,第一資料FCD是由記憶體控制電路單元104(或資料壓縮/解壓縮電路208)壓縮寫入資料WD所產生的壓縮資料,然而,本發明不限於此。例如,在另一範例實施例中,第一資料FCD為未經壓縮的寫入資料WD。
在本範例實施例中,記憶體控制電路單元104(或資料壓縮/解壓縮電路208)是接續第一資料FCD的最後一個位元填入虛擬資料DD以產生第二資料802。值得一提的是,儘管在本範例實施例中,虛擬資料DD是被填補在第一資料FCD之後,然而,必須瞭解的是,本發明不限於此。例如,在另一範例實施例中,虛擬資料DD亦可置於第一資料FCD之前。
接著,記憶體控制電路單元104(或錯誤檢查與校正電路214)會產生對應此第二資料802的錯誤檢查與校正碼ECC,並且記憶體控制電路單元104(或記憶體管理電路202)會產生對應此第二資料802的管理資訊SP(例如,此資料所屬的邏輯位址等)。之後,記憶體控制電路單元104(或記憶體管理電路202)會根據此第二資料802、管理資訊SP與錯誤檢查與校正碼ECC產生錯誤檢查與校正碼框ECCF。
具體來說,記憶體控制電路單元104(或資料壓縮/解壓縮電路208)會使用無失真壓縮演算法來壓縮資料,然而,不同之寫入資料WD經過壓縮後所產生之壓縮資料的大小可能會不同。由
於在本範例實施例中,可複寫式非揮發性記憶體模組106的寫入是以實體程式化單元為單位並且一個實體程式化單元可儲存1個錯誤檢查與校正碼框,因此,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會以虛擬資料DD來填補第一資料FCD,以使得所產生之錯誤檢查與校正碼框ECCF的大小相同於一個實體程式化單元的大小。例如,倘若大小為2KB的寫入資料經過壓縮後產生大小為1.8KB的壓縮資料時,記憶體控制電路單元104(或記憶體管理電路202)會使用大小為0.2KB的虛擬資料DD來填塞第一資料FCD以產生第二資料802,以達到程式化至資料位元區的資料量仍維持在2KB。在此,虛擬資料DD具有多個資料位元,並且每一資料位元的值皆為相同值(以下稱為第一值)。例如,此第一值為"F",但本發明不限於此,虛擬資料DD的每一資料位元可以是任何符號。
之後,記憶體控制電路單元104(或記憶體管理電路202)會將錯誤檢查與校正碼框ECCF寫入至實體程式化單元之中的第一實體程式化單元804,亦即,第一資料FCD與虛擬資料DD(即,第二資料802)會被寫入第一實體程式化單元804的資料位元區以及錯誤檢查與校正碼ECC會被寫入至第一實體程式化單元804的冗餘位元區。並且,記憶體控制電路單元104(或記憶體管理電路202)會將上述邏輯位址映射至此第一實體程式化單元804。
圖9是根據第一範例實施例所繪示之從實體程式化單元中讀取資料的示意圖。
請參照圖9,倘若接續圖8的例子並且記憶體控制電路單元104(或記憶體管理電路202)從主機系統1000中接收讀取指令,並且此讀取指令指示從對應第一實體程式化單元804之邏輯位址中讀取儲存於第一實體程式化單元804中的資料(即,先前所寫入之寫入資料WD)時,記憶體控制電路單元104(或記憶體管理電路202)會從第一實體程式化單元804中讀取錯誤檢查與校正碼框ECCF'以獲取一讀取資料串,其中讀取資料串包含資料802'(以下稱為第三資料802')、管理資訊SP'與錯誤檢查與校正碼ECC'。其中第三資料802'包括資料FCD'與資料DD'。
具體而言,記憶體控制電路單元104(或記憶體管理電路202)會使用錯誤檢查與校正碼ECC'來校正第三資料802'以獲得一已校正資料。在本範例實施例中,倘若當無法藉由錯誤檢查與校正碼ECC'來校正第三資料802'以獲得已校正資料時,記憶體控制電路單元104(或記憶體管理電路202)會依據之前所寫入之虛擬資料的態樣來調整第三資料802'以產生第四資料902,並且錯誤檢查與校正電路214會使用錯誤檢查與校正碼ECC'來校正第四資料902以獲得已校正資料CCD。特別是,由於之前記憶體控制電路單元104(或記憶體管理電路202)是將第二資料802寫入至第一實體程式化單元804中,因此,已校正資料CCD會相同於第二資料802。
接著,記憶體控制電路單元104(或記憶體管理電路202)會從已校正資料CCD中移除虛擬資料DD以獲得壓縮資料SCD(以
下稱為第五資料SCD),並且解壓縮此第五資料SCD以獲得讀取資料RD。在此,讀取資料RD會相同於寫入資料WD。之後,記憶體控制電路單元104(或記憶體管理電路202)會傳送此讀取資料RD至主機系統1000以回應讀取指令。
圖10A是根據第一範例實施例所繪示的將虛擬資料的態記錄於虛擬資料登錄表的範例。
請參照圖10A,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)是將對應第一實體程式化單元804的虛擬資料的態樣記錄於一虛擬資料登錄表900中,據此,當記憶體控制電路單元104(或錯誤檢查與校正電路214)無法藉由錯誤檢查與校正碼ECC'來校正所讀取的第三資料802'以獲得已校正資料時,記憶體控制電路單元104(或記憶體管理電路202)即可依據記錄於此虛擬資料登錄表的虛擬資料的態樣來調整第三資料802'。舉例來說,記憶體控制電路單元104(或記憶體管理電路202)會儲存並記錄上述第二資料802是被填入幾個資料位元所產生的。換言之,記憶體管理電路202會將虛擬資料的態樣記錄為虛擬資料DD的長度。例如,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會將此虛擬資料DD的長度記錄為200位元組(即,0.2KB)並儲存於虛擬資料登錄表900中。然而,在另一範例實施例中,虛擬資料的態樣可以是虛擬資料DD中第一個資料位元所在的實體位址,本發明不加以限制。此外,虛擬資料登錄表例如會被儲存在可複寫式非揮發性記憶體模組106中
用以儲存系統資料的實體抹除單元中,亦或是被儲存於緩衝記憶體210中,本發明不加以限制。
圖10B是根據第一範例實施例所繪示的藉由虛擬資料的
態樣來調整所讀取之資料以增強錯誤檢查與校正碼之校正能力的範例。
請參照圖10B,在讀取過程中,未校正的第三資料802'是藉由所讀取之錯誤檢查與校正碼ECC'來錯誤校正。在此,由於第三資料802'與錯誤檢查與校正碼ECC'內之錯誤位元EB的數目為10,因此,發生在所讀取之資料的錯誤位元的數目大於最大可校正錯誤位元數(在此假設為8),亦即,此時將無法使用錯誤檢查與校正碼ECC'來校正第三資料802'以獲得已校正資料CCD。在此,記憶體控制電路單元104(或記憶體管理電路202)會讀取虛擬資料登錄表900並依據此虛擬資料登錄表900識別對應第一實體程式化單元804的虛擬資料DD的長度(即,200位元組),並且依據對應第一實體程式化單元804的虛擬資料DD的長度,將排列在第三資料802'最後的200位元組以虛擬資料DD來取代以獲得第四資料902。特別是,排列在此第三資料802'最後的此些資料位元的長度(即,200位元組)是等於虛擬資料DD的長度。因此,錯誤檢查與校正電路214仍可順利地使用錯誤檢查與校正碼ECC'來將未校正的第三資料802'校正以還原為第二資料802。具體來說,由於圖10所示之10個錯誤位元之中,2個錯誤位元EB是發生在資料DD'中,而資料DD'已在上述操作中,被調整並校正為虛擬資
料DD,據此,第四資料902(即,經調整後的第三資料802')與錯誤檢查與校正碼ECC'內僅包含8個錯誤位元EB,因此,欲校正的錯誤位元數未超過錯誤檢查與校正電路214可錯誤校正之錯誤位元的數目。也就是說,錯誤檢查與校正電路214可使用錯誤檢查與校正碼來校正第四資料902以獲得已校正資料CCD,並且已校正資料CCD(如圖10B所示)會相同於第二資料802(如圖8所示),之後已校正資料CCD亦可被順利地解壓縮以取得讀取資料RD(即,原寫入之寫入資料WD)。
圖11A是根據第一範例實施例所繪示的資料寫入方法的流程圖。
請參照圖11A,在步驟S1501中,記憶體控制電路單元104(或資料壓縮/解壓縮電路214)將虛擬資料填補至第一資料以產生第二資料。
接著,在步驟S1503中,記憶體控制電路單元104(或錯誤檢查與校正電路214)會產生對應此第二資料的錯誤檢查與校正碼,並且根據此第二資料與此錯誤檢查與校正碼產生錯誤檢查與校正碼框。
之後,在步驟S1505中,記憶體控制電路單元104(或記憶體管理電路202)會將錯誤檢查與校正碼框寫入至實體程式化單元之中的第一實體程式化單元,並且將一邏輯位址映射至此第一實體程式化單元。
圖11B是根據第一範例實施例所繪示的資料讀取方法的
流程圖。
請參照圖11B,在步驟S1507中,記憶體控制電路單元104(或記憶體管理電路202)從主機系統中接收一讀取指令,並且此讀取指令指示從所述邏輯位址中讀取資料。
在步驟S1509中,記憶體控制電路單元104(或記憶體管理電路202)會從第一實體程式化單元中讀取錯誤檢查與校正碼框以獲取一讀取資料串,其中此讀取資料串包括一第三資料與錯誤檢查與校正碼。
接著,在步驟S1511中,當無法藉由錯誤檢查與校正碼來校正第三資料以獲得已校正資料時,記憶體控制電路單元104(或記憶體管理電路202)會依據虛擬資料的態樣來調整此第三資料以產生一第四資料,並且錯誤檢查與校正電路214會使用錯誤檢查與校正碼來校正第四資料以獲得已校正資料,其中已校正資料相同於第二資料。
之後,在步驟S1513中,記憶體控制電路單元104(或記憶體管理電路202)會從已校正資料中移除虛擬資料以獲得一第五資料。
第二範例實施例的記憶體儲存裝置的硬體結構本質上是相同於第一範例實施例的記憶體儲存裝置的硬體結構,其差異之處在於第一範例實施例的記憶體儲存裝置是將虛擬資料的態樣記錄於一虛擬資料登錄表中並藉由此虛擬資料的態樣來調整所讀取
之資料以增強錯誤檢查與校正碼之校正能力,而第二範例實施例的記憶體儲存裝置是將虛擬資料的態樣記錄於寫入資料所對應的實體程式化單元的虛擬資料資訊中。以下將使用第一範例實施例的記憶體儲存裝置的圖式與元件編號來詳細說明第二範例實施例的記憶體儲存裝置的運作。
圖12是根據第二範例實施例所繪示之寫入資料至實體程式化單元的示意圖。
請參照圖12,其中圖12所示之記憶體控制電路單元104(或記憶體管理電路202)將寫入資料WD壓縮以產生第一資料FCD,將虛擬資料DD填補至第一資料FCD以產生第二資料802,以第二資料802、管理資訊SP與錯誤檢查與校正碼ECC產生錯誤檢查與校正碼框ECCF以及將錯誤檢查與校正碼框ECCF寫入至第一實體程式化單元804的方法是相同於第一範例實施例中圖8所示之方法,在此不再重複。其不同之處在於,在本範例實施例中,在記憶體控制電路單元104(或記憶體管理電路202)將錯誤檢查與校正碼框804寫入至實體程式化單元之中的第一實體程式化單元804的操作中,記憶體控制電路單元104(或記憶體管理電路202)是將一虛擬資料資訊1006和錯誤檢查與校正碼框ECCF一併寫入至第一實體程式化單元804。特別是,虛擬資料資訊1006會記錄對應第一實體程式化單元804之虛擬資料的態樣,在此,虛擬資料的態樣會記錄為虛擬資料DD的長度。例如,假設大小為2KB的寫入資料WD經過壓縮後產生大小為1.8KB的第一資料
FCD時,記憶體控制電路單元104(或記憶體管理電路202)會使用大小為0.2KB的虛擬資料DD來填塞第一資料FCD來產生第二資料802。因此,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會將此虛擬資料DD的長度記錄為200位元組(即,0.2KB)並儲存於第一實體程式化單元804的虛擬資料資訊1006中。
圖13是根據第二範例實施例所繪示的藉由虛擬資料的態樣來調整所讀取之資料以增強錯誤檢查與校正碼之校正能力的範例。
請參照圖13,在讀取過程中,未校正的第三資料802'是藉由所讀取之錯誤檢查與校正碼ECC'來錯誤校正。在此,由於第三資料802'與錯誤檢查與校正碼ECC'內之錯誤位元EB的數目為10,因此,發生在所讀取之資料的錯誤位元的數目大於最大可校正錯誤位元數(在此假設為8),亦即,此時將無法使用錯誤檢查與校正碼ECC'來校正第三資料802'以獲得已校正資料CCD。在此,記憶體控制電路單元104(或記憶體管理電路202)會從第一實體程式化單元804中讀取虛擬資料資訊1006並依據所讀取的虛擬資料資訊1006識別對應第一實體程式化單元804的虛擬資料DD的長度為200位元組,並且依據對應第一實體程式化單元804的虛擬資料DD的長度,將排列在第三資料802'最後的200位元組以虛擬資料DD來取代以獲得第四資料902。特別是,排列在此第三資料802'最後的此些資料位元的長度(即,200位元組)是等於虛擬資
料DD的長度。因此,錯誤檢查與校正電路214仍可順利地使用錯誤檢查與校正碼ECC'來將未校正的第三資料802'校正以還原為第二資料802。具體來說,由於圖13所示之10個錯誤位元之中,2個錯誤位元EB是發生在資料DD'中,而資料DD'已在上述操作中,被調整並校正為虛擬資料DD,據此,第四資料902(即,經調整後的第三資料802')與錯誤檢查與校正碼ECC'內僅包含8個錯誤位元EB,並且欲校正的錯誤位元數未超過錯誤檢查與校正電路214可錯誤校正之錯誤位元的數目。也就是說,錯誤檢查與校正電路214可使用錯誤檢查與校正碼來校正此第四資料902以獲得已校正資料CCD,並且已校正資料CCD(如圖13所示)會相同於第二資料802(如圖12所示),之後已校正資料CCD亦可被順利地解壓縮以取得讀取資料RD(即,原寫入之寫入資料WD)。
第三範例實施例的記憶體儲存裝置的硬體結構本質上是相同於第一範例實施例的記憶體儲存裝置的硬體結構,其差異之處在於第三範例實施例的記憶體儲存裝置是藉由識別所讀取之資料中的一組連續資料位元來調整所讀取之資料以增強錯誤檢查與校正碼之校正能力。以下將使用第一範例實施例的記憶體儲存裝置的圖式與元件編號來詳細說明第三範例實施例的記憶體儲存裝置的運作。
圖14A與14B是根據第三範例實施例所繪示的藉由識別所讀取之資料中的一組連續資料位元來調整所讀取之資料的範
例。
請參照圖14A,在本範例實施例中,記憶體控制電路單
元104(或記憶體管理電路202)將寫入資料壓縮以產生第一資料FCD,將虛擬資料DD填補至第一資料FCD以產生第二資料802,以第二資料802、管理資訊SP與錯誤檢查與校正碼ECC產生錯誤檢查與校正碼框ECCF以及將錯誤檢查與校正碼框ECCF寫入至第一實體程式化單元804的方法是相同於第一範例實施例中圖8所示之方法,在此不再重複。值得一提的是,若大小為2KB的寫入資料經過壓縮後產生大小為1.8KB的壓縮資料時,記憶體管理電路202會使用大小為0.2KB的虛擬資料DD來填塞所產生之第二資料802,以達到程式化至資料位元區的資料量仍維持在2KB。
如上所述,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會將虛擬資料DD的多個資料位元以第一值來填入,例如,此第一值為"F",然而,本發明不限於此。例如,在另一範例實施例中,虛擬資料DD的每一資料位元可以是任何的數值或符號。
請參照圖14B,在讀取過程中,對應第二資料802的未
校正的第三資料802'是藉由所讀取之錯誤檢查與校正碼ECC'來錯誤校正。在此,由於第三資料802'與錯誤檢查與校正碼ECC'內之錯誤位元EB的數目為12,因此,發生在所讀取之資料的錯誤位元的數目大於最大可校正錯誤位元數(在此假設為8)時,亦即,此時將無法使用錯誤檢查與校正碼ECC'來校正第三資料802'以獲得
已校正資料CCD。在此,記憶體控制電路單元104(或記憶體管理電路202)會從第三資料802'的最後一個資料位元開始掃瞄第三資料802'的每個資料位元,並識別第三資料802'之中的一組連續資料位元。在本範例實施例中,記憶體管理電路202會以5個連續資料位元為一組,當連續掃瞄到5個連續的資料位元皆為第一值(即,“F”)時,會將其視為一組連續資料位元(即,“FFFFF”),然而,本發明並不加以限制一組連續資料位元的個數。例如,在另一範例實施例中,一組連續資料位元的個數可以設為4個或大於5個以上。
在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會將第三資料802'之中接續在所識別的至少一組連續資料位元之後的至少一個資料位元的值以第一值(即,"F")來取代以產生第四資料。具體來說,記憶體控制電路單元104(或記憶體管理電路202)會將第三資料802'內的所有這類連續資料位元搜尋出來,並識別所搜尋出之排列在最前面的一組連續資料位元以及之後的資料位元應為虛擬資料。例如,記憶體控制電路單元104(或記憶體管理電路202)會先掃描到第一組連續資料位元1402,然後,繼續掃描直到掃描到最後一組連續資料位元1404為止。由此可確保當記憶體管理電路202將第三資料802'之中接續在最後一組連續資料位元1404之後的至少一個資料位元的值以第一值(即,"F")來取代時每一個錯誤位元皆可以被取代到。
此後,錯誤檢查與校正電路214即可使用錯誤檢查與校
正碼ECC'來校正依據虛擬資料的態樣調整未校正的第三資料802'所獲得的第四資料902以還原為第二資料802。具體來說,由於圖14B所示之12個錯誤位元之中,4個錯誤位元EB是發生在資料DD'中,而資料DD'已在上述操作中,被調整並校正為虛擬資料DD,據此,第四資料902(即,經調整後的第三資料802')與錯誤檢查與校正碼ECC'內僅包含8個錯誤位元EB,因此,欲校正的錯誤位元數未超過錯誤檢查與校正電路214可錯誤校正之錯誤位元的數目。也就是說,錯誤檢查與校正電路214可使用錯誤檢查與校正碼ECC'來校正第四資料902以獲得已校正資料CCD,並且如圖14A與14B所示,已校正資料CCD會相同於第二資料802,之後已校正資料CCD亦可被順利地解壓縮以取得讀取資料RD(即,原寫入之寫入資料WD)。
第四範例實施例的記憶體儲存裝置的硬體結構本質上是相同於第一範例實施例的記憶體儲存裝置的硬體結構,其差異之處在於第四範例實施例的記憶體儲存裝置是藉由識別所讀取之資料中的兩組不同的連續資料位元來調整所讀取之資料以增強錯誤檢查與校正碼之校正能力。以下將使用第一範例實施例的記憶體儲存裝置的圖式與元件編號來詳細說明第四範例實施例的記憶體儲存裝置的運作。
圖15A與15B是根據第四範例實施例所繪示的藉由識別所讀取之資料中的兩組不同的連續資料位元來調整所讀取之資料
的範例。
請參照圖15A,在本範例實施例中,記憶體控制電路單
元104(或記憶體管理電路202)將寫入資料壓縮以產生第一資料FCD,將虛擬資料DD填補至第一資料FCD以產生第二資料802,以第二資料802、管理資訊SP與錯誤檢查與校正碼ECC產生錯誤檢查與校正碼框ECCF以及將錯誤檢查與校正碼框ECCF寫入至第一實體程式化單元804的方法是相同於第一範例實施例中圖8所示之方法,在此不再重複。值得一提的是,若大小為2KB的寫入資料經過壓縮後產生大小為1.8KB的壓縮資料時,記憶體管理電路202會使用大小為0.2KB的虛擬資料DD來填塞所產生之第二資料802,以達到程式化至資料位元區的資料量仍維持在2KB。
特別是,在本範例實施例中,記憶體管理電路202會將虛擬資料DD的多個資料位元以第一值來填入並且在此些第一值之前更填入一組第二值。在此,例如,第一值為"F"且第二值是"0"。然而,本發明不限於此。例如,在另一範例實施例中,第一值與第二值可以分別是任何其他的數值或符號。值得注意的是,第一值會不相同於第二值。
請參照圖15B,在讀取過程中,未校正的第三資料802'
是藉由所讀取之錯誤檢查與校正碼ECC'來錯誤校正。在此,由於第三資料802'與錯誤檢查與校正碼ECC'內之錯誤位元EB的數目為12,因此,發生在所讀取之資料的錯誤位元的數目大於最大可校正錯誤位元數(在此假設為8),亦即,此時將無法使用錯誤檢查
與校正碼ECC'來校正第三資料802'以獲得已校正資料CCD。在此情況下,記憶體管理電路202會從第三資料802'的最後一個資料位元開始掃瞄第三資料802'的每個資料位元,並識別第三資料802'之中的一組連續資料位元與另一組連續資料位元,其中兩組連續資料位元並不相同。在本範例實施例中,記憶體管理電路202會以5個連續資料位元為一組,當連續掃瞄到5個連續的資料位元皆為第一值(即,“F”)時,會將其視為一組連續資料位元(即,“FFFFF”),然而,本發明並不加以限制一組連續資料位元的個數。例如,在另一範例實施例中,一組連續資料位元的個數可以設為4個或大於5個以上。由於記憶體管理電路202是從第三資料802'的最後一個資料位元開始掃瞄第三資料802'的每個資料位元,因此,記憶體控制電路單元104(或記憶體管理電路202)會接著掃描到另一組不同的連續資料位元,且此組連續資料位元的4個資料位元皆為第二值“0”。
在本範例實施例中,記憶體管理電路202會將第三資料802'之中接續在所識別的另一組連續資料位元(即,其連續資料位元為第二值的一組連續資料位元)之後的至少一個資料位元的值以第一值(即,"F")來取代。具體來說,記憶體管理電路202會從第二資料的最後開始往前掃描到第一組連續資料位元1402或多組其連續位元皆為第一值的連續資料位元。特別是,若在其中一組其連續位元皆為第一值的連續資料位元之前發現其連續位元皆為第二值的另一組連續資料位元1502時,表示此另一組連續資料位
元1502以及其後的資料位元皆為虛擬資料,由此,可正確地將資料DD'中的錯誤位元皆校正為其資料位元皆為第一值的虛擬資料DD。
此後,錯誤檢查與校正電路214即可使用錯誤檢查與校
正碼ECC'來校正依據虛擬資料的態樣調整未校正的第三資料802'所獲得的第四資料902以還原為第二資料802。具體來說,由於圖15B所示之12個錯誤位元之中,4個錯誤位元EB是發生在資料DD'中,而資料DD'已在上述操作中,被調整並校正為虛擬資料DD,據此,第四資料902(即,經調整後的第三資料802')與錯誤檢查與校正碼ECC'內僅包含8個錯誤位元EB,因此,欲校正的錯誤位元數未超過錯誤檢查與校正電路214可錯誤校正之錯誤位元的數目。也就是說,錯誤檢查與校正電路214可使用錯誤檢查與校正碼ECC'來校正第四資料902以獲得已校正資料CCD,並且如圖15A與15B所示,已校正資料CCD會相同於第二資料802,之後,已校正資料CCD亦可被解壓縮以獲得讀取資料RD(即,原寫入之寫入資料WD)。
綜上所述,本發明範例實施例所提出的資料存取方法、記憶體控制電路單元與記憶體儲存裝置能夠根據虛擬資料的態樣來調整所讀取之資料,以將所讀取之部分的資料以虛擬資料的態樣來校正,由此增強錯誤檢查與校正碼對所讀取之其餘的資料的保護與校正能力,基此,可校正更多的錯誤位元並且確保所存取之資料的正確性與可靠度。
S1507、S1509、S1511、S1513‧‧‧資料讀取方法的步驟
Claims (27)
- 一種資料存取方法,用於一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組包括多個實體抹除單元,且每一該些實體抹除單元包括多個實體程式化單元,其中該資料存取方法包括:將一虛擬資料(dummy data)填補至一第一資料以產生一第二資料,產生對應該第二資料的一錯誤檢查與校正碼,根據該第二資料與該錯誤檢查與校正碼產生一錯誤檢查與校正碼框,將該錯誤檢查與校正碼框寫入至該些實體程式化單元之中的一第一實體程式化單元,並且將一邏輯位址映射至該第一實體程式化單元;接收一讀取指令,其中該讀取指令指示從該邏輯位址中讀取資料;從該第一實體程式化單元中讀取該錯誤檢查與校正碼框以獲取一讀取資料串,其中該讀取資料串包括一第三資料與該錯誤檢查與校正碼;當無法藉由該錯誤檢查與校正碼來校正該第三資料以獲得一已校正資料時,依據該虛擬資料的態樣來調整該第三資料以產生一第四資料,並使用該錯誤檢查與校正碼來校正該第四資料以獲得該已校正資料,其中該已校正資料相同於該第二資料;從該已校正資料中移除該虛擬資料以獲得一第五資料。
- 如申請專利範圍第1項所述之資料存取方法,更包括:接收一寫入指令,其中該寫入指令指示將一寫入資料寫入至 該邏輯位址;壓縮該寫入資料以產生該第一資料;解壓縮該第五資料以獲得一讀取資料,其中該讀取資料相同於該寫入資料;以及傳送該讀取資料以回應該讀取指令。
- 如申請專利範圍第1項所述之資料存取方法,更包括:將對應該第一實體程式化單元的該虛擬資料的態樣記錄於一虛擬資料登錄表中,其中該虛擬資料的態樣包括該虛擬資料的長度。
- 如申請專利範圍第3項所述之資料存取方法,其中將該虛擬資料填補至該第一資料以產生該第二資料的步驟包括:接續該第一資料的最後一個資料位元填入該虛擬資料以產生該第二資料,其中依據該虛擬資料的態樣來調整該第三資料以產生該第四資料的步驟包括:依據該虛擬資料登錄表識別對應該第一實體程式化單元的該虛擬資料的長度,並且依據對應該第一實體程式化單元的該虛擬資料的長度,將排列在該第三資料最後的多個資料位元以該虛擬資料來取代以獲得該第四資料,其中該排列在該第三資料最後的該些資料位元的長度是等於該虛擬資料的長度。
- 如申請專利範圍第1項所述之資料存取方法,其中將該錯誤檢查與校正碼框寫入至該些實體程式化單元之中的該第一實體 程式化單元的步驟包括:將一虛擬資料資訊和該錯誤檢查與校正碼框寫入至該第一實體程式化單元,其中該虛擬資料資訊記錄對應該第一實體程式化單元的該虛擬資料的態樣,且該虛擬資料的態樣包括該虛擬資料的長度。
- 如申請專利範圍第5項所述之資料存取方法,其中將該虛擬資料填補至該第一資料以產生該第二資料的步驟包括:接續該第一資料的最後一個位元填入該虛擬資料以產生該第二資料,其中依據該虛擬資料的態樣來調整該第三資料以產生該第四資料的步驟包括:從該第一實體程式化單元中讀取該虛擬資料資訊,依據所讀取的該虛擬資料資訊識別對應該第一實體程式化單元的該虛擬資料的長度,並且依據對應該第一實體程式化單元的該虛擬資料的長度,將排列在該第三資料最後的多個資料位元以該虛擬資料來取代以獲得該第四資料,其中該排列在該第三資料最後的該些資料位元的長度是等於該虛擬資料的長度。
- 如申請專利範圍第1項所述之資料存取方法,其中該虛擬資料具有多個資料位元,並且每一該些資料位元的值皆為一第一值。
- 如申請專利範圍第7項所述之資料存取方法,其中將該虛擬資料填補至該第一資料以產生該第二資料的步 驟包括:接續該第一資料的最後一個位元填入該虛擬資料以產生該第二資料,其中依據該虛擬資料的態樣來調整該第三資料以產生該第四資料的步驟包括:從該第三資料的最後一個資料位元開始掃瞄該第三資料的每個資料位元,識別該第三資料之中的一組連續資料位元,並且將該第三資料之中接續在該組連續資料位元之後的至少一個資料位元的值以該第一值來取代,其中該組連續資料位元的每一資料位元的值皆為該第一值。
- 如申請專利範圍第7項所述之資料存取方法,其中將該虛擬資料填補至該第一資料以產生該第二資料的步驟包括:接續該第一資料的最後一個位元填入該虛擬資料以產生該第二資料,其中依據該虛擬資料的態樣來調整該第三資料以產生該第四資料的步驟包括:從該第三資料的最後一個資料位元開始掃瞄該第三資料的每個資料位元,識別該第三資料之中的一組連續資料位元與另一組連續資料位元,並且將該第三資料之中接續在該另一組連續資料位元之後的至少一個資料位元的值以該第一值來取代,其中該組連續資料位元的每一資料位元的值皆為該第一值,該另一組連續資料位元的每一資料位元的值皆為一第二值,該第一值不同於該第二值並且該組連續資料位元是接續在該另一組連 續資料位元之後。
- 一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包括多個實體抹除單元,且每一該些實體抹除單元包括多個實體程式化單元,該記憶體控制電路單元包括:一主機介面,耦接至一主機系統;一記憶體介面,耦接至該可複寫式非揮發性記憶體模組;一記憶體管理電路,耦接至該主機介面與該記憶體介面;一錯誤檢查與校正電路,耦接至該記憶體管理電路;以及一資料壓縮/解壓縮電路,耦接至該記憶體管理電路,其中該資料壓縮/解壓縮電路壓將一虛擬資料填補至一第一資料以產生一第二資料,該錯誤檢查與校正電路產生對應該第二資料的一錯誤檢查與校正碼,該記憶體管理電路更根據該第二資料與該錯誤檢查與校正碼產生一錯誤檢查與校正碼框,下達一指令序列以將該錯誤檢查與校正碼框寫入至該些實體程式化單元之中的一第一實體程式化單元,並且將一邏輯位址映射至該第一實體程式化單元,其中該記憶體管理電路接收一讀取指令,其中該讀取指令指示從該邏輯位址中讀取資料,其中該記憶體管理電路下達一指令序列以從該第一實體程式化單元中讀取該錯誤檢查與校正碼框以獲取一讀取資料串,其中該讀取資料串包括一第三資料與該錯誤檢查與校正碼, 其中當無法藉由該錯誤檢查與校正碼來校正該第三資料以獲得一已校正資料時,該記憶體管理電路依據該虛擬資料的態樣來調整該第三資料以產生一第四資料,並且該錯誤檢查與校正電路使用該錯誤檢查與校正碼來校正該第四資料以獲得該已校正資料,其中該已校正資料相同於該第二資料,其中該記憶體管理電路從該已校正資料中移除該虛擬資料以獲得一第五資料。
- 如申請專利範圍第10項所述之記憶體控制電路單元,其中該記憶體管理電路接收一寫入指令,其中該寫入指令指示將一寫入資料寫入至該邏輯位址,其中該資料壓縮/解壓縮電路壓縮該寫入資料以產生該第一資料,其中該記憶體管理電路解壓縮該第五資料以獲得一讀取資料,其中該讀取資料相同於該寫入資料,其中該記憶體管理電路傳送該讀取資料以回應該讀取指令。
- 如申請專利範圍第10項所述之記憶體控制電路單元,其中該記憶體管理電路更將對應該第一實體程式化單元的該虛擬資料的態樣記錄於一虛擬資料登錄表中,並且該虛擬資料的態樣包括該虛擬資料的長度。
- 如申請專利範圍第12項所述之記憶體控制電路單元,其中在將該虛擬資料填補至該第一資料以產生該第二資料的操作中,該資料壓縮/解壓縮電路更接續該第一資料的最後一個資料位 元填入該虛擬資料以產生該第二資料,其中在依據該虛擬資料的態樣來調整該第三資料以產生該第四資料的操作中,該記憶體管理電路更依據該虛擬資料登錄表識別對應該第一實體程式化單元的該虛擬資料的長度,並且依據對應該第一實體程式化單元的該虛擬資料的長度,將排列在該第三資料最後的多個資料位元以該虛擬資料來取代以獲得該第四資料,其中該排列在該第三資料最後的該些資料位元的長度是等於該虛擬資料的長度。
- 如申請專利範圍第10項所述之記憶體控制電路單元,其中在將該錯誤檢查與校正碼框寫入至該些實體程式化單元之中的該第一實體程式化單元的操作中,該記憶體管理電路更將一虛擬資料資訊和該錯誤檢查與校正碼框寫入至該第一實體程式化單元,其中該虛擬資料資訊記錄對應該第一實體程式化單元的該虛擬資料的態樣,且該虛擬資料的態樣包括該虛擬資料的長度。
- 如申請專利範圍第14項所述之記憶體控制電路單元,其在將該虛擬資料填補至該第一資料以產生該第二資料的操作中,該資料壓縮/解壓縮電路更接續該第一資料的最後一個位元填入該虛擬資料以產生該第二資料,其中在依據該虛擬資料的態樣來調整該第三資料以產生該第四資料的操作中,該記憶體管理電路更從該第一實體程式化單元中讀取該虛擬資料資訊,依據所讀取的該虛擬資料資訊識別對應該第一實體程式化單元的該虛擬資料的長度,並且依據對應該第 一實體程式化單元的該虛擬資料的長度,將排列在該第三資料最後的多個資料位元以該虛擬資料來取代以獲得該第四資料,其中該排列在該第三資料最後的該些資料位元的長度是等於該虛擬資料的長度。
- 如申請專利範圍第10項所述之記憶體控制電路單元,其其中該虛擬資料具有多個資料位元,並且每一該些資料位元的值皆為一第一值。
- 如申請專利範圍第16項所述之記憶體控制電路單元,其中在將該虛擬資料填補至該第一資料以產生該第二資料的操作中,該資料壓縮/解壓縮電路更接續該第一資料的最後一個位元填入該虛擬資料以產生該第二資料,其中在依據該虛擬資料的態樣來調整該第三資料以產生該第四資料的操作中,該記憶體管理電路更從該第三資料的最後一個資料位元開始掃瞄該第三資料的每個資料位元,識別該第三資料之中的一組連續資料位元,並且將該第三資料之中接續在該組連續資料位元之後的至少一個資料位元的值以該第一值來取代,其中該組連續資料位元的每一資料位元的值皆為該第一值。
- 如申請專利範圍第17項所述之記憶體控制電路單元,其中在將該虛擬資料填補至該第一資料以產生該第二資料的操作中,該資料壓縮/解壓縮電路更接續該第一資料的最後一個位元填入該虛擬資料以產生該第二資料,其中該記憶體管理電路依據該虛擬資料的態樣來調整該第三 資料以產生該第四資料的操作中,該記憶體管理電路更從該第三資料的最後一個資料位元開始掃瞄該第三資料的每個資料位元,識別該第三資料之中的一組連續資料位元與另一組連續資料位元,並且將該第三資料之中接續在該另一組連續資料位元之後的至少一個資料位元的值以該第一值來取代,其中該組連續資料位元的每一資料位元的值皆為該第一值,該另一組連續資料位元的每一資料位元的值皆為一第二值,該第一值不同於該第二值並且該組連續資料位元是接續在該另一組連續資料位元之後。
- 一種記憶體儲存裝置,包括:一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括多個實體抹除單元,且每一該些實體抹除單元包括多個實體程式化單元;以及一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,其中該記憶體控制電路單元將一虛擬資料填補至一第一資料以產生一第二資料,產生對應該第二資料的一錯誤檢查與校正碼,根據該第二資料與該錯誤檢查與校正碼產生一錯誤檢查與校正碼框,將該錯誤檢查與校正碼框寫入至該些實體程式化單元之中的一第一實體程式化單元,並且將該邏輯位址映射至該第一實體程式化單元,其中該記憶體控制電路單元更接收一讀取指令,其中該讀取 指令指示從該邏輯位址中讀取資料,其中該記憶體控制電路單元更從該第一實體程式化單元中讀取該錯誤檢查與校正碼框以獲取一讀取資料串,並且該讀取資料串包括一第三資料與該錯誤檢查與校正碼,其中當無法藉由該錯誤檢查與校正碼來校正該第三資料以獲得一已校正資料時,該記憶體控制電路單元更依據該虛擬資料的態樣來調整該第三資料以產生一第四資料,並使用該錯誤檢查與校正碼來校正該第四資料以獲得該已校正資料,其中該已校正資料相同於該第二資料,其中該記憶體控制電路單元更從該已校正資料中移除該虛擬資料以獲得一第五資料。
- 如申請專利範圍第19項所述之記憶體儲存裝置,其中該記憶體控制電路單元更接收一寫入指令,並且該寫入指令指示將一寫入資料寫入至該邏輯位址,其中該記憶體控制電路單元壓縮該寫入資料以產生該第一資料,其中該記憶體控制電路單元解壓縮該第五資料以獲得一讀取資料,其中該讀取資料相同於該寫入資料,其中該記憶體控制電路單元傳送該讀取資料以回應該讀取指令。
- 如申請專利範圍第19項所述之記憶體儲存裝置,其中該記憶體控制電路單元更將對應該第一實體程式化單元的該虛擬資 料的態樣記錄於一虛擬資料登錄表中,並且該虛擬資料的態樣包括該虛擬資料的長度。
- 如申請專利範圍第21項所述之記憶體儲存裝置,其中在將該虛擬資料填補至該第一資料以產生該第二資料的操作中,該記憶體控制電路單元更接續該第一資料的最後一個資料位元填入該虛擬資料以產生該第二資料,其中在依據該虛擬資料的態樣來調整該第三資料以產生該第四資料的操作中,該記憶體控制電路單元更依據該虛擬資料登錄表識別對應該第一實體程式化單元的該虛擬資料的長度,並且依據對應該第一實體程式化單元的該虛擬資料的長度,將排列在該第三資料最後的多個資料位元以該虛擬資料來取代以獲得該第四資料,其中該排列在該第三資料最後的該些資料位元的長度是等於該虛擬資料的長度。
- 如申請專利範圍第19項所述之記憶體儲存裝置,其中在將該錯誤檢查與校正碼框寫入至該些實體程式化單元之中的該第一實體程式化單元的操作中,該記憶體控制電路單元更將一虛擬資料資訊和該錯誤檢查與校正碼框寫入至該第一實體程式化單元,其中該虛擬資料資訊記錄對應該第一實體程式化單元的該虛擬資料的態樣,且該虛擬資料的態樣包括該虛擬資料的長度。
- 如申請專利範圍第23項所述之記憶體儲存裝置,其中在將該虛擬資料填補至該第一資料以產生該第二資料的操作中,該記憶體控制電路單元更接續該第一資料的最後一個位元填入該虛 擬資料以產生該第二資料,其中在依據該虛擬資料的態樣來調整該第三資料以產生該第四資料的操作中,該記憶體控制電路單元更從該第一實體程式化單元中讀取該虛擬資料資訊,依據所讀取的該虛擬資料資訊識別對應該第一實體程式化單元的該虛擬資料的長度,並且依據對應該第一實體程式化單元的該虛擬資料的長度,將排列在該第三資料最後的多個資料位元以該虛擬資料來取代以獲得該第四資料,其中該排列在該第三資料最後的該些資料位元的長度是等於該虛擬資料的長度。
- 如申請專利範圍第19項所述之記憶體儲存裝置,其中該虛擬資料具有多個資料位元,並且每一該些資料位元的值皆為一第一值。
- 如申請專利範圍第25項所述之記憶體儲存裝置,其中在將該虛擬資料填補至該第一資料以產生該第二資料的操作中,該記憶體控制電路單元更接續該第一資料的最後一個位元填入該虛擬資料以產生該第二資料,其中在依據該虛擬資料的態樣來調整該第三資料以產生該第四資料的操作中,該記憶體控制電路單元更從該第三資料的最後一個資料位元開始掃瞄該第三資料的每個資料位元,識別該第三資料之中的一組連續資料位元,並且將該第三資料之中接續在該組連續資料位元之後的至少一個資料位元的值以該第一值來取代,其中該組連續資料位元的每一資料位元的值皆為該第一值。
- 如申請專利範圍第26項所述之記憶體儲存裝置,其中在將該虛擬資料填補至該第一資料以產生該第二資料的操作中,該記憶體控制電路單元更接續該第一資料的最後一個位元填入該虛擬資料以產生該第二資料,其中在依據該虛擬資料的態樣來調整該第三資料以產生該第四資料的操作中,該記憶體控制電路單元更從該第三資料的最後一個資料位元開始掃瞄該第三資料的每個資料位元,識別該第三資料之中的一組連續資料位元與另一組連續資料位元,並且將該第三資料之中接續在該另一組連續資料位元之後的至少一個資料位元的值以該第一值來取代,其中該組連續資料位元的每一資料位元的值皆為該第一值,該另一組連續資料位元的每一資料位元的值皆為一第二值,該第一值不同於該第二值並且該組連續資料位元是接續在該另一組連續資料位元之後。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103138539A TWI506634B (zh) | 2014-11-06 | 2014-11-06 | 資料存取方法、記憶體控制電路單元及記憶體儲存裝置 |
US14/572,793 US9430327B2 (en) | 2014-11-06 | 2014-12-17 | Data access method, memory control circuit unit and memory storage apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103138539A TWI506634B (zh) | 2014-11-06 | 2014-11-06 | 資料存取方法、記憶體控制電路單元及記憶體儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI506634B true TWI506634B (zh) | 2015-11-01 |
TW201618112A TW201618112A (zh) | 2016-05-16 |
Family
ID=55220079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103138539A TWI506634B (zh) | 2014-11-06 | 2014-11-06 | 資料存取方法、記憶體控制電路單元及記憶體儲存裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9430327B2 (zh) |
TW (1) | TWI506634B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10223198B2 (en) | 2016-02-18 | 2019-03-05 | Micron Technology, Inc. | Error rate reduction |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI588833B (zh) * | 2015-11-27 | 2017-06-21 | 群聯電子股份有限公司 | 資料程式化方法與記憶體儲存裝置 |
TWI584292B (zh) * | 2016-09-08 | 2017-05-21 | 群聯電子股份有限公司 | 記憶體抹除方法、記憶體控制電路單元及記憶體儲存裝置 |
TWI615711B (zh) * | 2017-03-28 | 2018-02-21 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
US10514980B2 (en) * | 2018-03-22 | 2019-12-24 | Winbond Electronics Corp. | Encoding method and memory storage apparatus using the same |
KR20220021796A (ko) * | 2020-08-14 | 2022-02-22 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100088574A1 (en) * | 2008-10-08 | 2010-04-08 | Samsung Electronics Co., Ltd. | Data storage system and device with randomizer/de-randomizer |
US7739443B2 (en) * | 2004-09-22 | 2010-06-15 | Kabushiki Kaisha Toshiba | Memory controller, memory device and control method for the memory controller |
WO2012023102A1 (en) * | 2010-08-17 | 2012-02-23 | Technion R&D Foundation | Mitigating inter-cell coupling effects in non volatile memory (nvm) cells |
US8711618B2 (en) * | 2010-07-26 | 2014-04-29 | Samsung Electronics Co., Ltd. | Method for programming non-volatile memory device and apparatuses performing the method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7559004B1 (en) * | 2003-10-01 | 2009-07-07 | Sandisk Corporation | Dynamic redundant area configuration in a non-volatile memory system |
US8533550B2 (en) * | 2010-06-29 | 2013-09-10 | Intel Corporation | Method and system to improve the performance and/or reliability of a solid-state drive |
TWI459396B (zh) * | 2010-12-30 | 2014-11-01 | Phison Electronics Corp | 資料寫入與讀取方法、記憶體控制器與記憶體儲存裝置 |
KR101861247B1 (ko) * | 2011-04-06 | 2018-05-28 | 삼성전자주식회사 | 메모리 컨트롤러, 이의 데이터 처리 방법, 및 이를 포함하는 메모리 시스템 |
-
2014
- 2014-11-06 TW TW103138539A patent/TWI506634B/zh active
- 2014-12-17 US US14/572,793 patent/US9430327B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7739443B2 (en) * | 2004-09-22 | 2010-06-15 | Kabushiki Kaisha Toshiba | Memory controller, memory device and control method for the memory controller |
US20100088574A1 (en) * | 2008-10-08 | 2010-04-08 | Samsung Electronics Co., Ltd. | Data storage system and device with randomizer/de-randomizer |
US8711618B2 (en) * | 2010-07-26 | 2014-04-29 | Samsung Electronics Co., Ltd. | Method for programming non-volatile memory device and apparatuses performing the method |
WO2012023102A1 (en) * | 2010-08-17 | 2012-02-23 | Technion R&D Foundation | Mitigating inter-cell coupling effects in non volatile memory (nvm) cells |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10223198B2 (en) | 2016-02-18 | 2019-03-05 | Micron Technology, Inc. | Error rate reduction |
TWI682399B (zh) * | 2016-02-18 | 2020-01-11 | 美商美光科技公司 | 操作記憶體之方法及用於錯誤率降低之設備 |
Also Published As
Publication number | Publication date |
---|---|
TW201618112A (zh) | 2016-05-16 |
US9430327B2 (en) | 2016-08-30 |
US20160132387A1 (en) | 2016-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI459197B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI534618B (zh) | 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI527037B (zh) | 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI516927B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI537958B (zh) | 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI506634B (zh) | 資料存取方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI548990B (zh) | 記憶體儲存裝置及其還原方法與記憶體控制器 | |
TWI540582B (zh) | 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI459396B (zh) | 資料寫入與讀取方法、記憶體控制器與記憶體儲存裝置 | |
TWI545432B (zh) | 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI438630B (zh) | 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置 | |
TW201705148A (zh) | 映射表存取方法、記憶體控制電路單元及記憶體儲存裝置 | |
TW201913382A (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI548991B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN109491828B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
TWI534814B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8595594B2 (en) | Data processing method, memory controller, and memory storage device | |
CN102591737B (zh) | 数据写入与读取方法、存储器控制器与存储器储存装置 | |
TWI634561B (zh) | 資料保護方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN105653391A (zh) | 数据存取方法、存储器控制电路单元及存储器储存装置 | |
CN108664350B (zh) | 数据保护方法、存储器存储装置及存储器控制电路单元 | |
TWI545576B (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI541809B (zh) | 資料存取方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN105573662B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
CN115202933A (zh) | 映射表重建方法、存储器存储装置及存储器控制电路单元 |