TW202009942A - 資料存取方法、記憶體控制電路單元與記憶體儲存裝置 - Google Patents
資料存取方法、記憶體控制電路單元與記憶體儲存裝置 Download PDFInfo
- Publication number
- TW202009942A TW202009942A TW107129490A TW107129490A TW202009942A TW 202009942 A TW202009942 A TW 202009942A TW 107129490 A TW107129490 A TW 107129490A TW 107129490 A TW107129490 A TW 107129490A TW 202009942 A TW202009942 A TW 202009942A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- error correction
- physical programming
- programming unit
- correction code
- Prior art date
Links
Images
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 OR CALCULATING; 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/1068—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 in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- 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/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- 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
-
- 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/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
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)
Abstract
一種資料存取方法、記憶體控制電路單元與記憶體儲存裝置。此方法包括:依據第一錯誤校正編碼操作產生與接收的第一資料對應的第一錯誤更正碼;並且依據第二錯誤校正編碼操作產生與接收的第二資料對應的第二錯誤更正碼,其中第二錯誤更正碼包括第一及第二部分錯誤更正碼。此方法還包括將第一資料及第一錯誤更正碼與第二部分錯誤更正碼分別寫入至第一實體程式化單元的資料位元區及冗餘位元區;以及將第二資料及第一部分錯誤更正碼分別寫入至第二實體程式化單元的資料位元區及冗餘位元區。
Description
本發明是有關於一種資料存取方法、記憶體控制電路單元與記憶體儲存裝置。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(rewritable non-volatile memory module),例如,快閃記憶體,具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
一般來說,為了確保資料的正確性,資料會先被編碼然後再被寫入可複寫式非揮發性記憶體模組。在讀取資料時,資料會被解碼以嘗試更正其中的錯誤。若資料中的錯誤位元皆被更正,資料才會被傳回給主機系統。在寫入資料至可複寫式非揮發性記憶體模組的實體程式化單元時,會產生與資料相對應的錯誤更正碼(error correcting code, ECC)及/或錯誤檢查碼(error detecting code,EDC),並且資料會被寫入至實體程式化單元的資料位元區,而與資料相對應的錯誤更正碼會被寫入至實體程式化單元的冗餘位元區。編碼產生的錯誤更正碼可用來更正欲保護之資料中的錯誤。
由於製程技術上的關係,儲存在實體程式化單元的資料的錯誤位元發生機率(即,錯誤率)可能不相同。例如在TLC NAND型快閃記憶體中,一般來說,下實體程式化單元的可靠度是高於中實體程式化單元的可靠度,中實體程式化單元的可靠度是高於上實體程式化單元的可靠度。也就是說,實體程式化單元的可靠度越低,其出現錯誤位元的數目也會越多,在執行解碼操作令資料被更正時需要的錯誤更正碼的位元數目也會越多。例如對於可靠度較高的下實體程式化單元,其出現錯誤位元的數目比較少,執行解碼操作令資料被更正時需要的錯誤更正碼的位元數目也會較少,需要儲存錯誤更正碼的儲存空間也較小。相反地,對於可靠度較低的上實體程式化單元,其出現錯誤位元的數目比較多,則執行解碼操作令資料被更正時需要的錯誤更正碼的位元數目也會較多,需要儲存錯誤更正碼的儲存空間也較大。
而在傳統方式中,無論實體程式化單元的可靠度高低,實體程式化單元中用於儲存錯誤更正碼的冗餘位元區的大小是固定。然而,對於可靠度低的實體程式單元來說,若有能較多儲存空間儲存校正能力更強的錯誤更正碼,可以提高儲存資料的可靠度。
本發明提供一種資料存取方法、記憶體控制電路單元與記憶體儲存裝置。
本發明的一範例實施例提出一種資料存取方法,用於包括多個實體程式化單元的可複寫式非揮發性記憶體模組,每一實體程式化單元包括資料位元區與冗餘位元區。資料存取方法包括:接收第一資料;依據第一錯誤校正編碼操作產生對應第一資料的第一錯誤更正碼;接收第二資料;以及依據第二錯誤校正編碼操作產生對應第二資料的第二錯誤更正碼,其中,第二錯誤更正碼包括第一部分錯誤更正碼及第二部分錯誤更正碼。此方法更包括:寫入第一資料至該些實體程式化單元之中的第一實體程式化單元的資料位元區,並且將第一錯誤更正碼與第二錯誤更正碼的第二部分錯誤更正碼寫入至第一實體程式化單元的冗餘位元區;以及寫入第二資料至該些實體程式化單元之中的第二實體程式化單元的資料位元區,並且將第一部分錯誤更正碼寫入第二實體程式化單元的冗餘位元區,其中第一錯誤更正碼的位元數目與第二錯誤更正碼的位元數目不同。
在本發明的一範例實施例中,上述資料存取方法更包括:從第一實體程式化單元的資料位元區中讀取第一資料;從第一實體程式化單元的冗餘位元區中讀取第一錯誤更正碼;依據從第一實體程式化單元的冗餘位元區中讀取的第一錯誤更正碼,對從第一實體程式化單元的資料位元區中讀取的第一資料執行第一錯誤校正解碼操作,並且判斷從第一實體程式化單元的資料位元區中讀取的第一資料內的錯誤位元是否可被校正;以及若從該第一實體程式化單元的資料位元區中讀取的該第一資料內的錯誤位元可被校正時,將已校正的第一資料傳送至主機系統。
在本發明的一範例實施例中,上述資料存取方法更包括:從第二實體程式化單元的資料位元區中讀取第二資料;從第二實體程式化單元的冗餘位元區中讀取第一部分錯誤更正碼;依據從第二實體程式化單元的冗餘位元區中讀取的第一部分錯誤更正碼,對從第二實體程式化單元的資料位元區中讀取的第二資料執行第二錯誤校正解碼操作,並且判斷從第二實體程式化單元的資料位元區中讀取的第二資料內的錯誤位元是否可被校正;以及若依據從第二實體程式化單元的冗餘位元區中讀取的第一部分錯誤更正碼可校正從第二實體程式化單元的資料位元區中讀取的第二資料內的錯誤位元時,將已校正的第二資料傳送至主機系統。
在本發明的一範例實施例中,上述資料存取方法更包括:若依據從第二實體程式化單元的冗餘位元區中讀取的第一部分錯誤更正碼無法校正從第二實體程式化單元的資料位元區中讀取的第二資料內的錯誤位元時,從第一實體程式化單元的冗餘位元區中讀取第二部分錯誤更正碼;依據從第二實體程式化單元的冗餘位元區中讀取的第一部分錯誤更正碼和從第一實體程式化單元的冗餘位元區中讀取的第二部分錯誤更正碼,對從第二實體程式化單元的資料位元區中讀取的第二資料執行第二錯誤校正解碼操作,並且判斷從第二實體程式化單元的資料位元區中讀取的第二資料內的錯誤位元是否可被校正;以及若依據從第二實體程式化單元的冗餘位元區中讀取的第一部分錯誤更正碼和從第一實體程式化單元的冗餘位元區中讀取的第二部分錯誤更正碼可校正從第二實體程式化單元的資料位元區中讀取的第二資料內的錯誤位元時,將已校正的第二資料傳送至主機系統。
在本發明的一範例實施例中,上述可複寫式非揮發性記憶體模組為複數階記憶胞反及快閃記憶體模組,且第一實體程式化單元屬於下實體程式化單元或者中實體程式化單元,並且第二實體程式化單元屬於上實體程式化單元。
本發明的一範例實施例提出一種記憶體控制電路單元,用於控制包括多個實體程式化單元的可複寫式非揮發性記憶體模組,每一實體程式化單元包括資料位元區與冗餘位元區。此記憶體控制電路單元包括主機介面、記憶體介面以及記憶體管理電路。主機介面用以耦接至主機系統。記憶體介面用以耦接至可複寫式非揮發性記憶體模組。記憶體管理電路耦接至主機介面以及記憶體介面,記憶體管理電路用以接收第一資料,依據第一錯誤校正編碼操作產生對應第一資料的第一錯誤更正碼。記憶體管理電路更用以接收第二資料,依據第二錯誤校正編碼操作產生對應第二資料的第二錯誤更正碼,其中第二錯誤更正碼包括第一部分錯誤更正碼及第二部分錯誤更正碼。記憶體管理電路更用以寫入第一資料至該些實體程式化單元之中的第一實體程式化單元的資料位元區,並且將第一錯誤更正碼與第二錯誤更正碼的第二部分錯誤更正碼寫入至第一實體程式化單元的冗餘位元區。此外,記憶體管理電路更用以寫入第二資料至該些實體程式化單元之中的第二實體程式化單元的資料位元區,並且將第一部分錯誤更正碼寫入第二實體程式化單元的冗餘位元區,其中第一錯誤更正碼的位元數目與第二錯誤更正碼的位元數目不同。
在本發明的一範例實施例中,上述記憶體管理電路更用以從第一實體程式化單元的資料位元區中讀取第一資料,從第一實體程式化單元的冗餘位元區中讀取第一錯誤更正碼。記憶體管理電路更用以依據從第一實體程式化單元的冗餘位元區中讀取的第一錯誤更正碼,對從第一實體程式化單元的資料位元區中讀取的第一資料執行第一錯誤校正解碼操作。並且記憶體管理電路更用以判斷從第一實體程式化單元的資料位元區中讀取的第一資料內的錯誤位元是否可被校正。若從第一實體程式化單元的資料位元區中讀取的第一資料內的錯誤位元可被校正時,記憶體管理電路更用以將已校正的第一資料傳送至主機系統。
在本發明的一範例實施例中,上述記憶體管理電路更用以從第二實體程式化單元的資料位元區中讀取第二資料。記憶體管理電路更用以從第二實體程式化單元的冗餘位元區中讀取第一部分錯誤更正碼。記憶體管理電路更用以依據第二實體程式化單元的冗餘位元區中讀取的第一部分錯誤更正碼,對從第二實體程式化單元的資料位元區中讀取的第二資料執行第二錯誤校正解碼操作。並且,記憶體管理電路更用以判斷從第二實體程式化單元的資料位元區中讀取的第二資料內的錯誤位元是否可被更正。若依據從第二實體程式化單元的冗餘位元區中讀取的第一部分錯誤更正碼可校正從第二實體程式化單元的資料位元區中讀取的第二資料內的錯誤位元時,記憶體管理電路更用以將已校正第二資料傳送至主機系統。
在本發明的一範例實施例中,若依據從第二實體程式化單元的冗餘位元區中讀取的第一部分錯誤更正碼無法校正從第二實體程式化單元的資料位元區中讀取的第二資料內的錯誤位元時,上述記憶體管理電路更用以從第一實體程式化單元的冗餘位元區中讀取第二部分錯誤更正碼,並且依據從第二實體程式化單元的冗餘位元區中讀取的第一部分錯誤更正碼以及從第一實體程式化單元的冗餘位元區中讀取的第二部分錯誤更正碼,對從第二實體程式化單元的資料位元區中讀取的第二資料執行一第二錯誤校正解碼操作。此外,記憶體管理電路更用以判斷從第二實體程式化單元的資料位元區中讀取的第二資料內的錯誤位元是否可被校正。若依據從第二實體程式化單元的冗餘位元區中讀取的第一部分錯誤更正碼和從第一實體程式化單元的冗餘位元區中讀取的第二部分錯誤更正碼可校正從第二實體程式化單元的資料位元區中讀取的第二資料內的錯誤位元時,上述記憶體管理電路更用以將已校正的第二資料傳送至主機系統。
在本發明的一範例實施例中,上述可複寫式非揮發性記憶體模組為複數階記憶胞反及快閃記憶體模組,且第一實體程式化單元屬於下實體程式化單元或者中實體程式化單元,並且第二實體程式化單元屬於上實體程式化單元。
本發明的一範例實施例提出一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組以及記憶體控制電路單元。連接介面單元用以耦接至主機系統。可複寫式非揮發性記憶體模組包括多個實體程式化單元,每一實體程式化單元包括資料位元區與冗餘位元區。記憶體控制電路單元耦接至連接介面單元與可複寫式非揮發性記憶體模組,記憶體控制電路單元用以接收第一資料,依據第一錯誤校正編碼操作產生對應第一資料的第一錯誤更正碼。記憶體控制電路單元用以接收第二資料,依據第二錯誤校正編碼操作產生對應第二資料的第二錯誤更正碼,其中第二錯誤更正碼包括第一部分錯誤更正碼及第二部分錯誤更正碼。記憶體控制電路單元用以寫入第一資料至該些實體程式化單元之中的第一實體程式化單元的資料位元區,並且將第一錯誤更正碼與第二錯誤更正碼的第二部分錯誤更正碼寫入至第一實體程式化單元的冗餘位元區。此外,記憶體控制電路單元用以寫入第二資料至該些實體程式化單元之中的第二實體程式化單元的資料位元區,並且將第一部分錯誤更正碼寫入第二實體程式化單元的冗餘位元區。其中第一錯誤更正碼的位元數目與第二錯誤更正碼的位元數目不同。
在本發明的一範例實施例中,上述記憶體控制電路單元更用以從第一實體程式化單元的資料位元區讀取第一資料,從第一實體程式化單元的冗餘位元區讀取第一錯誤更正碼。記憶體控制電路單元更用以依據第一實體程式化單元的冗餘位元區中讀取的第一錯誤更正碼,對從第一實體程式化單元的資料位元區中讀取的第一資料執行第一錯誤校正解碼操作。並且記憶體控制電路單元更用以判斷從第一實體程式化單元的資料位元區中讀取的第一資料內的錯誤位元是否可被校正。若從該第一實體程式化單元的資料位元區中讀取的該第一資料內的錯誤位元可被校正時,上述記憶體控制電路單元更用以將已校正的第一資料傳送至主機系統。
在本發明的一範例實施例中,上述記憶體控制電路單元更用以從第二實體程式化單元的資料位元區中讀取第二資料。記憶體控制電路單元更用以從第二實體程式化單元的冗餘位元區中讀取第一部分錯誤更正碼。上述記憶體控制電路單元更用以依據從第二實體程式化單元的冗餘位元區中讀取的第一部分錯誤更正碼,對從第二實體程式化單元的資料位元區中讀取的第二資料執行第二錯誤校正解碼操作。並且上述記憶體控制電路單元更用以判斷從第二實體程式化單元的資料位元區中讀取的第二資料內的錯誤位元是否可被校正。若依據從第二實體程式化單元的冗餘位元區中讀取的第一部分錯誤更正碼可校正從第二實體程式化單元的資料位元區中讀取的第二資料內的錯誤位元時,上述記憶體控制電路單元更用以將已校正的第二資料傳送至主機系統。
在本發明的一範例實施例中,若依據從第二實體程式化單元的冗餘位元區中讀取的第一部分錯誤更正碼無法校正從第二實體程式化單元的資料位元區中讀取的第二資料內的錯誤位元時,上述記憶體控制電路單元更用以從第一實體程式化單元的冗餘位元區中讀取第二部分錯誤更正碼,並且依據從第二實體程式化單元的冗餘位元區中讀取的第一部分錯誤更正碼以及從第一實體程式化單元的冗餘位元區中讀取的第二部分錯誤更正碼,對從第二實體程式化單元的資料位元區中讀取的第二資料執行第二錯誤校正解碼操作。此外,上述記憶體控制電路單元更用以判斷從第二實體程式化單元的資料位元區中讀取的第二資料內的錯誤位元是否可被校正。若依據從第二實體程式化單元的冗餘位元區中讀取的第一部分錯誤更正碼和從第一實體程式化單元的冗餘位元區中讀取的第二部分錯誤更正碼可校正從第二實體程式化單元的資料位元區中讀取的第二資料內的錯誤位元時,上述記憶體控制電路單元更用以將已校正的第二資料傳送至主機系統。
在本發明的一範例實施例中,上述可複寫式非揮發性記憶體模組為複數階記憶胞反及快閃記憶體模組,且第一實體程式化單元屬於下實體程式化單元或者中實體程式化單元,並且第二實體程式化單元屬於上實體程式化單元。
基於上述,本發明提供一種資料存取方法、記憶體控制電路單元與記憶體儲存裝置,可以因應實體程式化單元的可靠度高低,在寫入資料時將可靠度較低的實體程式化單元產生的錯誤更正碼的一部分寫入可靠度較高的實體程式化單元的冗餘位元區,不僅可以得到最佳的解碼能力,並且合理利用了實體程式化單元中用於儲存錯誤更正碼的冗餘位元區的儲存空間。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據本發明的一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。圖2是根據本發明的另一範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。請參照圖1與圖2,主機系統11一般包括處理器111、隨機存取記憶體(random access memory, RAM)112、唯讀記憶體(read only memory, ROM)113及資料傳輸介面114。處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114皆耦接至系統匯流排(system bus)110。
在本範例實施例中,主機系統11是透過資料傳輸介面114與記憶體儲存裝置10耦接。例如,主機系統11可經由資料傳輸介面114將資料儲存至記憶體儲存裝置10或從記憶體儲存裝置10中讀取資料。此外,主機系統11是透過系統匯流排110與I/O裝置12耦接。例如,主機系統11可經由系統匯流排110將輸出訊號傳送至I/O裝置12或從I/O裝置12接收輸入訊號。
在本範例實施例中,處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114可設置在主機系統11的主機板20上。資料傳輸介面114的數目可以是一或多個。透過資料傳輸介面114,主機板20可以經由有線或無線方式耦接至記憶體儲存裝置10。記憶體儲存裝置10可例如是隨身碟201、記憶卡202、固態硬碟(Solid State Drive, SSD)203或無線記憶體儲存裝置204。無線記憶體儲存裝置204可例如是近距離無線通訊(Near Field Communication, NFC)記憶體儲存裝置、無線傳真(WiFi)記憶體儲存裝置、藍牙(Bluetooth)記憶體儲存裝置或低功耗藍牙記憶體儲存裝置(例如,iBeacon)等以各式無線通訊技術為基礎的記憶體儲存裝置。此外,主機板20也可以透過系統匯流排110耦接至全球定位系統(Global Positioning System, GPS)模組205、網路介面卡206、無線傳輸裝置207、鍵盤208、螢幕209、喇叭210等各式I/O裝置。例如,在一範例實施例中,主機板20可透過無線傳輸裝置207存取無線記憶體儲存裝置204。
在一範例實施例中,所提及的主機系統為可實質地與記憶體儲存裝置配合以儲存資料的任意系統。雖然在上述範例實施例中,主機系統是以電腦系統來作說明,然而,圖3是根據本發明的另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。請參照圖3,在另一範例實施例中,主機系統31也可以是數位相機、攝影機、通訊裝置、音訊播放器、視訊播放器或平板電腦等系統,而記憶體儲存裝置30可為其所使用的安全數位(Secure Digital, SD)卡32、小型快閃(Compact Flash, CF)卡33或嵌入式儲存裝置34等各式非揮發性記憶體儲存裝置。嵌入式儲存裝置34包括嵌入式多媒體卡(embedded Multi Media Card, eMMC)341及/或嵌入式多晶片封裝(embedded Multi Chip Package, eMCP)儲存裝置342等各類型將記憶體模組直接耦接於主機系統的基板上的嵌入式儲存裝置。
圖4是根據本發明的一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。請參照圖4,記憶體儲存裝置10包括連接介面單元402、記憶體控制電路單元404與可複寫式非揮發性記憶體模組406。
連接介面單元402用以將記憶體儲存裝置10耦接至主機系統11。在本範例實施例中,連接介面單元402是相容於序列先進附件(Serial Advanced Technology Attachment, SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元402亦可以是符合並列先進附件(Parallel Advanced Technology Attachment, PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers, IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express, PCI Express)標準、通用序列匯流排(Universal Serial Bus, USB)標準、SD介面標準、超高速一代(Ultra High Speed-I, UHS-I)介面標準、超高速二代(Ultra High Speed-II, UHS-II)介面標準、記憶棒(Memory Stick, MS)介面標準、MCP介面標準、MMC介面標準、eMMC介面標準、通用快閃記憶體(Universal Flash Storage, UFS)介面標準、eMCP介面標準、CF介面標準、整合式驅動電子介面(Integrated Device Electronics, IDE)標準或其他適合的標準。連接介面單元402可與記憶體控制電路單元404封裝在一個晶片中,或者連接介面單元402是佈設於一包含記憶體控制電路單元404之晶片外。
記憶體控制電路單元404用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令並且根據主機系統11的指令在可複寫式非揮發性記憶體模組406中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組406是耦接至記憶體控制電路單元404並且用以儲存主機系統11所寫入之資料。可複寫式非揮發性記憶體模組406可以是單階記憶胞(Single Level Cell, SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元的快閃記憶體模組)、多階記憶胞(Multi Level Cell, MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元的快閃記憶體模組)、複數階記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
可複寫式非揮發性記憶體模組406中的每一個記憶胞是以電壓(以下亦稱為臨界電壓)的改變來儲存一或多個位元。具體來說,每一個記憶胞的控制閘極(control gate)與通道之間有一個電荷捕捉層。透過施予一寫入電壓至控制閘極,可以改變電荷補捉層的電子量,進而改變記憶胞的臨界電壓。此改變記憶胞之臨界電壓的操作亦稱為“把資料寫入至記憶胞”或“程式化(programming)記憶胞”。隨著臨界電壓的改變,可複寫式非揮發性記憶體模組406中的每一個記憶胞具有多個儲存狀態。透過施予讀取電壓可以判斷一個記憶胞是屬於哪一個儲存狀態,藉此取得此記憶胞所儲存的一或多個位元。
在本範例實施例中,可複寫式非揮發性記憶體模組406的記憶胞會構成多個實體程式化單元,並且此些實體程式化單元會構成多個實體抹除單元。具體來說,同一條字元線上的記憶胞會組成一或多個實體程式化單元。若每一個記憶胞可儲存2個以上的位元,則同一條字元線上的實體程式化單元至少可被分類為下實體程式化單元與上實體程式化單元。例如,一記憶胞的最低有效位元(Least Significant Bit,LSB)是屬於下實體程式化單元,並且一記憶胞的最高有效位元(Most Significant Bit,MSB)是屬於上實體程式化單元。一般來說,在MLC NAND型快閃記憶體中,下實體程式化單元的寫入速度會大於上實體程式化單元的寫入速度,及/或下實體程式化單元的可靠度是高於上實體程式化單元的可靠度。
在本範例實施例中,實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。例如,實體程式化單元為實體頁面(page)或是實體扇(sector)。若實體程式化單元為實體頁面,則此些實體程式化單元通常包括資料位元區與冗餘(redundancy)位元區。資料位元區包含多個實體扇,用以儲存使用者資料,而冗餘位元區用以儲存系統資料(例如,錯誤更正碼等管理資料)。在本範例實施例中,資料位元區包含32個實體扇,且一個實體扇的大小為512位元組(byte, B)。然而,在其他範例實施例中,資料位元區中也可包含8個、16個或數目更多或更少的實體扇,並且每一個實體扇的大小也可以是更大或更小。另一方面,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。例如,實體抹除單元為實體區塊(block)。
圖5是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。
請參照圖5,記憶體控制電路單元404包括記憶體管理電路502、主機介面504、記憶體介面506及錯誤檢查與校正電路508。
記憶體管理電路502用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路502具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。以下說明記憶體管理電路502的操作時,等同於說明記憶體控制電路單元404的操作。
在本範例實施例中,記憶體管理電路502的控制指令是以韌體型式來實作。例如,記憶體管理電路502具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在另一範例實施例中,記憶體管理電路502的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路502具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當記憶體控制電路單元404被致能時,微處理器單元會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組406中之控制指令載入至記憶體管理電路502的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在另一範例實施例中,記憶體管理電路502的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路502包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路是耦接至微控制器。記憶胞管理電路用以管理可複寫式非揮發性記憶體模組406的記憶胞或其群組。記憶體寫入電路用以對可複寫式非揮發性記憶體模組406下達寫入指令序列以將資料寫入至可複寫式非揮發性記憶體模組406中。記憶體讀取電路用以對可複寫式非揮發性記憶體模組406下達讀取指令序列以從可複寫式非揮發性記憶體模組406中讀取資料。記憶體抹除電路用以對可複寫式非揮發性記憶體模組406下達抹除指令序列以將資料從可複寫式非揮發性記憶體模組406中抹除。資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組406的資料以及從可複寫式非揮發性記憶體模組406中讀取的資料。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程式碼或指令碼並且用以指示可複寫式非揮發性記憶體模組406執行相對應的寫入、讀取及抹除等操作。在一範例實施例中,記憶體管理電路502還可以下達其他類型的指令序列給可複寫式非揮發性記憶體模組406以指示執行相對應的操作。
記憶體管理電路502可將可複寫式非揮發性記憶體模組406的多個實體單元邏輯地分組至儲存區與替換區。儲存區中的實體單元是用以儲存資料,而替換區中的實體單元則是用以替換儲存區中損壞的實體單元。例如,若從某一個實體單元中讀取的資料所包含的錯誤過多而無法被更正時,此實體單元可被視為是損壞的實體單元。須注意的是,若替換區中沒有可用的實體單元,則記憶體管理電路502可能會將整個記憶體儲存裝置10宣告為寫入保護(write protect)狀態,而無法再寫入資料。
在本範例實施例中,每一個實體單元是指一個實體抹除單元。然而,在另一範例實施例中,一個實體單元亦可以是指一個實體位址、一個實體程式化單元或由多個連續或不連續的實體位址組成。記憶體管理電路502可配置多個邏輯單元以映射儲存區中的實體單元。在本範例實施例中,每一個邏輯單元是指一個邏輯位址。然而,在另一範例實施例中,一個邏輯單元也可以是指一個邏輯程式化單元、一個邏輯抹除單元或者由多個連續或不連續的邏輯位址組成。此外,邏輯單元中的每一者可被映射至一或多個實體單元。
記憶體管理電路502可將邏輯單元與實體單元之間的映射關係(亦稱為邏輯-實體位址映射關係)記錄於至少一邏輯-實體位址映射表。當主機系統11欲從記憶體儲存裝置10讀取資料或寫入資料至記憶體儲存裝置10時,記憶體管理電路502可根據此邏輯-實體位址映射表來執行對於記憶體儲存裝置10的資料存取操作。
主機介面504是耦接至記憶體管理電路502並且用以接收與識別主機系統11所傳送的指令與資料。也就是說,主機系統11所傳送的指令與資料會透過主機介面504來傳送至記憶體管理電路502。在本範例實施例中,主機介面504是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面504亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面506是耦接至記憶體管理電路502並且用以存取可複寫式非揮發性記憶體模組406。也就是說,欲寫入至可複寫式非揮發性記憶體模組406的資料會經由記憶體介面506轉換為可複寫式非揮發性記憶體模組406所能接受的格式。具體來說,若記憶體管理電路502要存取可複寫式非揮發性記憶體模組406,記憶體介面506會傳送對應的指令序列。例如,這些指令序列可包括指示寫入資料的寫入指令序列、指示讀取資料的讀取指令序列、指示抹除資料的抹除指令序列、以及用以指示各種記憶體操作(例如,改變讀取電壓準位或執行垃圾回收操作等等)的相對應的指令序列。這些指令序列例如是由記憶體管理電路502產生並且透過記憶體介面506傳送至可複寫式非揮發性記憶體模組406。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。這些訊號或資料可包括指令碼或程式碼。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
錯誤檢查與校正電路508是耦接至記憶體管理電路502並且用以執行錯誤檢查與校正操作以確保資料的正確性。具體來說,當記憶體管理電路502從主機系統11中接收到寫入指令時,錯誤檢查與校正電路508會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code, ECC)及/或錯誤檢查碼(error detecting code,EDC),並且記憶體管理電路502會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組406中。之後,當記憶體管理電路502從可複寫式非揮發性記憶體模組406中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路508會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正操作。為了說明方便,以下將經由編碼產生的錯誤更正碼及/或錯誤檢查碼統稱為ECC碼。
在一範例實施例中,記憶體控制電路單元404還包括緩衝記憶體510與電源管理電路512。
緩衝記憶體510是耦接至記憶體管理電路502並且用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料。電源管理電路512是耦接至記憶體管理電路502並且用以控制記憶體儲存裝置10的電源。
在本範例實施例中,錯誤檢查與校正電路508支援低密度奇偶檢查(low-density parity-check, LDPC)碼。例如,錯誤檢查與校正電路508可利用低密度奇偶檢查碼來編碼與解碼。然而,在另一範例實施例中,錯誤檢查與校正電路508亦可以支援BCH碼、迴旋碼(convolutional code)、渦輪碼(turbo code)等等,本發明不加以限制。
圖6是根據本發明的一範例實施例所繪示的寫入資料至實體程式化單元的示意圖。
請參照圖6,以記憶體控制電路單元404寫入資料至可複寫式非揮發性記憶體模組406的實體程式化單元601~602來產生相對應的錯誤更正碼為例。當記憶體控制電路單元404接收資料,將資料寫入至實體程式化單元601~602時,記憶體控制電路單元404依據錯誤校正編碼操作對資料進行編碼以產生與資料對應的錯誤更正碼,並且記憶體控制電路單元404將資料寫入實體程式化單元601~602的資料位元區,將與資料對應的錯誤更正碼寫入實體程式化單元601~602的冗餘位元區。爾後,記憶體控制電路單元404需從實體程式化單元601~602的資料位元區讀取資料時,從實體程式化單元601~602的冗餘位元區讀取與資料對應的錯誤更正碼,並且記憶體控制電路單元404會依據從實體程式化單元601~602的冗餘位元區讀取的與資料對應的錯誤更正碼,對從實體程式化單元601~602的資料位元區中讀取的資料執行錯誤校正解碼操作,以嘗試更正所讀取之資料內可能存在的錯誤位元。
在此須說明的是,由於製程技術上的關係,可複寫式非揮發性記憶體模組406中實體程式化單元所儲存的資料的錯誤發生機率(即,錯誤率)可能不相同。例如在TLC NAND型快閃記憶體中,上實體程式化單元、中實體程式化單元、下實體程式化單元具有不同的可靠度。一般來說,下實體程式化單元的可靠度是高於中實體程式化單元的可靠度,中實體程式化單元的可靠度是高於上實體程式化單元的可靠度。也就是說,實體程式化單元的可靠度越低,其出現錯誤位元的數目也會越多,在執行解碼操作令資料的錯誤位元被更正時需要的錯誤更正碼的位元數目也會越多。例如對於可靠度較高的下實體程式化單元,其出現錯誤位元的數目比較少,執行解碼操作令資料的錯誤位元被更正時需要的錯誤更正碼的位元數目也會較少,需要儲存錯誤更正碼的儲存空間也較小;相反,對於可靠度較低的上實體程式化單元,其出現錯誤位元的數目比較多,則執行解碼操作令資料的錯誤位元被更正時需要的錯誤更正碼的位元數目也會較多,需要儲存錯誤更正碼的儲存空間也較大。
在本範例實施例中,以可複寫式非揮發性記憶體模組406為TLC NAND型快閃記憶體,且可複寫式非揮發性記憶體模組406包括實體程式化單元601~602。其中,實體程式化單元601(亦稱為第一實體程式化單元601)包括資料位元區6011與冗餘位元區6012,實體程式化單元602(亦稱為第二實體程式化單元602)包括資料位元區6021與冗餘位元區6022。在此,第一實體程式化單元601屬於下實體程式化單元,且第二實體程式化單元602屬於上實體程式化單元。第一實體程式化單元601的可靠度較第二實體程式化單元602的可靠度高。在另一範例實施例中,第一實體程式化單元601屬於中實體程式化單元,第二實體程式化單元602屬於上實體程式化單元。本發明不以此為限。
在一範例實施例中,記憶體控制電路單元404接收第一資料D1,依據第一錯誤校正編碼操作對第一資料D1進行編碼以產生與第一資料D1對應的第一錯誤更正碼S1。記憶體控制電路單元404接收第二資料D2,依據第二錯誤校正編碼操作對第二資料D2進行編碼以產生與第二資料D2對應的第二錯誤更正碼S2,其中,第二錯誤更正碼S2包括第一部分錯誤更正碼S2_1及第二部分錯誤更正碼S2_2。
記憶體控制電路單元404將第一資料D1寫入至第一實體程式化單元601的資料位元區6011,並且將第一錯誤更正碼S1與第二錯誤更正碼S2中的第二部分錯誤更正碼S2_2寫入第一實體程式化單元601的冗餘位元區6012。類似地,記憶體控制電路單元404將第二資料D2寫入至第二實體程式化單元602的資料位元區6021,並且將與第二資料D2對應的第二錯誤更正碼S2的第一部分錯誤更正碼S2_1寫入第二實體程式化單元602的冗餘位元區6022。也就是說,在本範例實施例中,第一實體程式化單元601的資料位元區6011用以儲存第一資料D1,第一實體程式化單元601的冗餘位元區6012用以儲存第一錯誤更正碼S1以及第二錯誤更正碼S2的第二部分錯誤更正碼S2_2。第二實體程式化單元602的資料位元區6021用以儲存第二資料D2,第二實體程式化單元602的冗餘位元區6022用以儲存第二錯誤更正碼S2的第一部分錯誤更正碼S2_1。
在本範例實施中,第一錯誤更正碼S1的位元數目與第二錯誤更正碼S2的位元數目不同。具體來說,由於第一實體程式化單元601屬於下實體程式化單元,其出現錯誤位元的數目比較少,執行錯誤校正解碼操作令資料的錯誤位元被更正時需要的錯誤更正碼的位元數目也會較少,需要儲存錯誤更正碼的儲存空間也較小,即是說,需要的冗餘位元區的儲存空間也較小。而屬於可靠度較低的上實體程式化單元的第二實體程式化單元602,其出現錯誤位元的數目比較多,執行錯誤校正解碼操作令資料的錯誤位元被更正時需要的錯誤更正碼的位元數目也會較多,需要儲存錯誤更正碼的儲存空間也較大,即是說,需要的冗餘位元區的儲存空間也較大。也就是說,第一錯誤更正碼S1的位元數目比第二錯誤更正碼S2的位元數目要少,儲存第一錯誤更正碼S1的儲存空間比儲存第二錯誤更正碼S2的儲存空間小。在實體程式化單元的冗餘位元區的儲存空間固定並且第二錯誤更正碼S2的位元數目超出實體程式化單元的冗餘位元區的儲存空間的情況下,記憶體控制電路單元404會將第二錯誤更正碼S2的第二部分錯誤更正碼S2_2寫入第一實體程式化單元601的冗餘位元區6012。
在一範例實施例中,當記憶體控制電路單元404讀取第一實體程式化單元601的資料位元區6011的第一資料D1時,記憶體控制電路單元404從第一實體程式化單元601的冗餘位元區6012讀取與第一資料D1對應的第一錯誤更正碼S1,並依據第一錯誤更正碼S1對第一資料D1執行第一錯誤校正解碼操作,並且,記憶體控制電路單元404判斷從第一實體程式化單元601的資料位元區6011中讀取的第一資料D1內的錯誤位元是否可被校正。若從第一實體程式化單元601的資料位元區6011中讀取的第一資料D1內的錯誤位元可被校正時,記憶體控制電路單元404將已校正的第一資料D1傳送至主機系統11。
在一範例實施例中,當記憶體控制電路單元404讀取第二實體程式化單元602的資料位元區6021的第二資料D2時,記憶體控制電路單元404從第二實體程式化單元602的冗餘位元區6022讀取第二錯誤更正碼S2的第一部分錯誤更正碼S2_1,並依據讀取的第一部分錯誤更正碼S2_1,對第二資料D2執行第二錯誤校正解碼操作,並且記憶體控制電路單元404判斷從第二實體程式化單元602的資料位元區6021中讀取的第二資料D2內的錯誤位元是否可被校正。若依據從第二實體程式化單元602的冗餘位元區6022中讀取的第一部分錯誤更正碼S2_1可校正從第二實體程式化單元602的資料位元區6021中讀取的第二資料D2內的錯誤位元時,記憶體控制電路單元404將已校正的第二資料D2傳送至主機系統11。
在另一範例實施例中,若依據從第二實體程式化單元602的冗餘位元區6022中讀取的第一部分錯誤更正碼S2_1無法校正從第二實體程式化單元602的資料位元區6021中讀取的第二資料D2內的錯誤位元時,記憶體控制電路單元404從第一實體程式化單元601的冗餘位元區6012讀取第二錯誤更正碼S2的第二部分錯誤更正碼S2_2,並且記憶體控制電路單元404依據從第二實體程式化單元602的冗餘位元區6022讀取的第二錯誤更正碼S2的第一部分錯誤更正碼S2_1以及從第一實體程式化單元601的冗餘位元區6012讀取第二錯誤更正碼S2的第二部分錯誤更正碼S2_2,對從第二實體程式化單元602的資料位元區6021中讀取的第二資料D2執行第二錯誤校正解碼操作,判斷從第二實體程式化單元602的資料位元區6021中讀取的第二資料D2內的錯誤位元是否可被校正。若依據從第二實體程式化單元602的冗餘位元區6022中讀取的第一部分錯誤更正碼S2_1和從第一實體程式化單元601的冗餘位元區6012中讀取的第二部分錯誤更正碼S2_2可校正從第二實體程式化單元602的資料位元區6021中讀取的第二資料D2內的錯誤位元時,記憶體控制電路單元404將已校正的第二資料D2傳送至主機系統11。
在此需要說明的是,若記憶體控制電路單元404依據從第二實體程式化單元602的冗餘位元區6022中讀取的第一部分錯誤更正碼S2_1對第二資料D2執行第二錯誤校正解碼操作且第二資料D2可以在第二錯誤校正解碼操作中被校正,則記憶體控制電路單元404不再繼續從第一實體程式化單元601的冗餘位元區6012讀取第二錯誤更正碼S2的第二部分錯誤更正碼S2_2。
圖7是根據本發明的一範例實施例所繪示的資料寫入方法的流程圖。
請參照圖7,在步驟S701中,記憶體控制電路單元404接收第一資料D1。在步驟S703中,記憶體控制電路單元404依據第一錯誤校正編碼操作產生對應第一資料D1的第一錯誤更正碼S1。
在步驟S705中,記憶體控制電路單元404接收第二資料D2。在步驟S707中,記憶體控制電路單元404依據第二錯誤校正編碼操作產生對應第二資料D2的第二錯誤更正碼S2,其中,第二錯誤更正碼S2包括第一部分錯誤更正碼S2_1及第二部分錯誤更正碼S2_2。
在步驟S709中,記憶體控制電路單元404將第一資料D1寫入至第一實體程式化單元601的資料位元區6011,並且記憶體控制電路單元404將第一錯誤更正碼S1與第二錯誤更正碼S2的第二部分錯誤更正碼S2_2寫入第一實體程式化單元601的冗餘位元區6012。
在步驟S711中,記憶體控制電路單元404將第二資料D2寫入至第二實體程式化單元602的資料位元區6021,並且將第二錯誤更正碼S2的第一部分錯誤更正碼S2_1寫入至第二實體程式化單元602的冗餘位元區6022。其中,在本範例實施例中,第一實體程式化單元601屬於下實體程式化單元,第二實體程式化單元602屬於上實體程式化單元。第一錯誤更正碼S1的位元數目較第二錯誤更正碼S2的位元數目少。也就是說,儲存第一錯誤更正碼S1的儲存空間比儲存第二錯誤更正碼S2的儲存空間小。
圖8是根據本發明的一範例實施例所繪示的讀取第一資料的方法的流程圖。
請參照圖8,在步驟S801中,記憶體控制電路單元404從第一實體程式化單元601的資料位元區6011中讀取第一資料D1。在步驟S803中,記憶體控制電路單元404從第一實體程式化單元601的冗餘位元區6012讀取第一錯誤更正碼S1。在步驟S805中,記憶體控制電路單元404依據從第一實體程式化單元601的冗餘位元區6012讀取的第一錯誤更正碼S1,對從第一實體程式化單元601的資料位元區6011中讀取的第一資料D1執行第一錯誤校正解碼操作,並且記憶體控制電路單元404判斷從第一實體程式化單元601的資料位元區6011中讀取的第一資料D1內的錯誤位元是否可被校正。
若從第一實體程式化單元601的冗餘位元區6012中讀取的第一錯誤更正碼S1內的錯誤位元可被校正時,在步驟S807中,記憶體控制電路單元404將已校正的第一資料D1傳送至主機系統11。
若從第一實體程式化單元601的冗餘位元區6012中讀取的第一錯誤更正碼S1內的錯誤位元無法被校正時,在步驟S809中,輸出錯誤資訊。
圖9是根據本發明的一範例實施例所繪示的讀取第二資料的方法的流程圖。
請參照圖9,在步驟S901中,記憶體控制電路單元404從第二實體程式化單元602的資料位元區6021中讀取第二資料D2。在步驟S903中,記憶體控制電路單元404從第二實體程式化單元602的冗餘位元區6022讀取第二錯誤更正碼S2的第一部分錯誤更正碼S2_1。在步驟S905中,記憶體控制電路單元404依據從第二實體程式化單元602的冗餘位元區6022中讀取的第一部分錯誤更正碼S2_1,對從第二實體程式化單元602的資料位元區6021中讀取的第二資料D2執行第二錯誤校正解碼操作,並且記憶體控制電路單元404判斷從第二實體程式化單元602的資料位元區6021中讀取的第二資料D2內的錯誤位元是否可被校正。
若依據從第二實體程式化單元602的冗餘位元區6022中讀取的第一部分錯誤更正碼S2_1可校正從第二實體程式化單元602的資料位元區6021中讀取的第二資料D2內的錯誤位元時,在步驟S907中,記憶體控制電路單元404將已校正的第二資料D2傳送至主機系統11。
若依據從第二實體程式化單元602的冗餘位元區6022中讀取的第一部分錯誤更正碼S2_1無法校正從第二實體程式化單元602的資料位元區6021中讀取的第二資料D2內的錯誤位元時,在步驟S909中,記憶體控制電路單元404從第一實體程式化單元601的冗餘位元區6011中讀取第二部分錯誤更正碼S2_2。
在步驟S911中,記憶體控制電路單元404依據從第二實體程式化單元602的冗餘位元區6022中讀取的第一部分錯誤更正碼S2_1和從第一實體程式化單元601的第一冗餘位元區6021中讀取的第二部分錯誤更正碼S2_2,記憶體控制電路單元404對從第二實體程式化單元602的資料位元區6022中讀取的第二資料D2執行第二錯誤校正解碼操作,並且記憶體控制電路單元404判斷從第二實體程式化單元602的第二資料位元區6022中讀取的第二資料D2內的錯誤位元是否可被校正。
若依據從第二實體程式化單元602的冗餘位元區6022中讀取的第一部分錯誤更正碼S2_1和從第一實體程式化單元601的冗餘位元區6012中讀取的第二部分錯誤更正碼S2_2可校正從第二實體程式化單元602的資料位元區6021中讀取的第二資料D2內的錯誤位元時,在步驟S913中,記憶體控制電路單元404將已校正的第二資料D2傳送至主機系統11。若依據從第二實體程式化單元602的冗餘位元區6022中讀取的第一部分錯誤更正碼S2_1和從第一實體程式化單元601的冗餘位元區6012中讀取的第二部分錯誤更正碼S2_2無法校正從第二實體程式化單元602的資料位元區6021中讀取的第二資料D2內的錯誤位元時,在步驟S915中,輸出錯誤資訊。
綜上所述,本發明提出的資料存取方法、記憶體控制電路單元與記憶體儲存裝置,可以因應實體程式化單元的可靠度高低,在寫入資料時將可靠度較低的實體程式化單元產生的錯誤更正碼的一部分寫入可靠度較高的實體程式化單元的冗餘位元區,不僅可以得到最佳的解碼能力,並且合理利用了冗餘位元區的儲存空間。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10‧‧‧記憶體儲存裝置11‧‧‧主機系統12‧‧‧輸入/輸出(I/O)裝置110‧‧‧系統匯流排111‧‧‧處理器112‧‧‧隨機存取記憶體(RAM)/緩衝記憶體113‧‧‧唯讀記憶體(ROM)114‧‧‧資料傳輸介面20‧‧‧主機板201‧‧‧隨身碟202‧‧‧記憶卡203‧‧‧固態硬碟204‧‧‧無線記憶體儲存裝置205‧‧‧全球定位系統模組206‧‧‧網路介面卡207‧‧‧無線傳輸裝置208‧‧‧鍵盤209‧‧‧螢幕210‧‧‧喇叭30‧‧‧記憶體儲存裝置31‧‧‧主機系統32‧‧‧SD卡33‧‧‧CF卡34‧‧‧嵌入式儲存裝置341‧‧‧嵌入式多媒體卡342‧‧‧嵌入式多晶片封裝儲存裝置402‧‧‧連接介面單元404‧‧‧記憶體控制電路單元406‧‧‧可複寫式非揮發性記憶體模組408‧‧‧選項唯讀記憶體502‧‧‧記憶體管理電路504‧‧‧主機介面506‧‧‧記憶體介面508‧‧‧錯誤檢查與校正電路510‧‧‧緩衝記憶體512‧‧‧電源管理電路601‧‧‧實體程式化單元、第一實體程式化單元602‧‧‧實體程式化單元、第二實體程式化單元6011、6021‧‧‧資料位元區6012、6022‧‧‧冗餘位元區D1‧‧‧第一資料D2‧‧‧第二資料S1‧‧‧第一錯誤更正碼S2‧‧‧第二錯誤更正碼S2_1‧‧‧第一部分錯誤更正碼S2_2‧‧‧第二部分錯誤更正碼S701‧‧‧接收第一資料的步驟S703‧‧‧依據第一錯誤校正編碼操作產生對應第一資料的第一錯誤更正碼的步驟S705‧‧‧接收第二資料的步驟S707‧‧‧依據第二錯誤校正編碼操作產生對應第二資料的第二錯誤更正碼,第二錯誤更正碼包括第一部分錯誤更正碼及第二部分錯誤更正碼的步驟S709‧‧‧將第一資料寫入至第一實體程式化單元的資料位元區,並且將第一錯誤更正碼與第二錯誤更正碼的第二部分錯誤更正碼寫入第一實體程式化單元的冗餘位元區的步驟S711‧‧‧將第二資料寫入至第二實體程式化單元的資料位元區,並且將第二錯誤更正碼的第一部分錯誤更正碼寫入至第二實體程式化單元的冗餘位元區的步驟S801‧‧‧從第一實體程式化單元的資料位元區中讀取第一資料的步驟S803‧‧‧從第一實體程式化單元的冗餘位元區讀取第一錯誤更正碼的步驟S805‧‧‧依據第一錯誤更正碼,對讀取的第一資料執行第一錯誤校正解碼操作,並且判斷第一資料內的錯誤位元是否可被校正的步驟S807‧‧‧將已校正的第一資料傳送至主機系統的步驟S809‧‧‧輸出錯誤資訊的步驟S901‧‧‧從第二實體程式化單元的資料位元區中讀取第二資料的步驟S903‧‧‧從第二實體程式化單元的冗餘位元區讀取第二錯誤更正碼的第一部分錯誤更正碼的步驟S905‧‧‧依據第一部分錯誤更正碼,對讀取的第二資料執行第二錯誤校正解碼操作,並且判斷第二資料內的錯誤位元是否可被校正的步驟S907‧‧‧將已校正的第二資料傳送至主機系統的步驟S909‧‧‧從第一實體程式化單元的冗餘位元區中讀取第二部分錯誤更正碼的步驟S911‧‧‧依據第一部分錯誤更正碼和第二部分錯誤更正碼,對第二資料執行第二錯誤校正解碼操作,並且判斷第二資料內的錯誤位元是否可被校正的步驟S913‧‧‧將已校正的第二資料傳送至主機系統的步驟S915‧‧‧輸出錯誤資訊的步驟
圖1是根據本發明的一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖2是根據本發明的另一範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。 圖3是根據本發明的另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。 圖4是根據本發明的一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。 圖5是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。 圖6是根據本發明的一範例實施例所繪示的寫入資料至實體程式化單元的示意圖。 圖7是根據本發明的一範例實施例所繪示的資料寫入方法的流程圖。 圖8是根據本發明的一範例實施例所繪示的讀取第一資料的方法的流程圖。 圖9是根據本發明的一範例實施例所繪示的讀取第二資料的方法的流程圖。
S901‧‧‧從第二實體程式化單元的資料位元區中讀取第二資料的步驟
S903‧‧‧從第二實體程式化單元的冗餘位元區讀取第二錯誤更正碼的第一部分錯誤更正碼的步驟
S905‧‧‧依據第一部分錯誤更正碼,對讀取的第二資料執行第二錯誤校正解碼操作,並且判斷第二資料內的錯誤位元是否可被校正的步驟
S907‧‧‧將已校正的第二資料傳送至主機系統的步驟
S909‧‧‧從第一實體程式化單元的冗餘位元區中讀取第二部分錯誤更正碼的步驟
S911‧‧‧依據第一部分錯誤更正碼和第二部分錯誤更正碼,對第二資料執行第二錯誤校正解碼操作,並且判斷第二資料內的錯
誤位元是否可被校正的步驟
S913‧‧‧將已校正的第二資料傳送至主機系統的步驟
S915‧‧‧輸出錯誤資訊的步驟
Claims (15)
- 一種資料存取方法,用於包括多個實體程式化單元的一可複寫式非揮發性記憶體模組,每一所述實體程式化單元包括一資料位元區與一冗餘位元區,該資料存取方法包括: 接收一第一資料; 依據一第一錯誤校正編碼操作產生對應該第一資料的一第一錯誤更正碼; 接收一第二資料; 依據一第二錯誤校正編碼操作產生對應該第二資料的一第二錯誤更正碼,該第二錯誤更正碼包括一第一部分錯誤更正碼及一第二部分錯誤更正碼; 寫入該第一資料至該些實體程式化單元之中的一第一實體程式化單元的資料位元區,並且將該第一錯誤更正碼與該第二錯誤更正碼的第二部分錯誤更正碼寫入至該第一實體程式化單元的冗餘位元區;以及 寫入該第二資料至該些實體程式化單元之中的一第二實體程式化單元的資料位元區,並且將該第二錯誤更正碼的該第一部分錯誤更正碼寫入該第二實體程式化單元的冗餘位元區, 其中該第一錯誤更正碼的位元數目與該第二錯誤更正碼的位元數目不同。
- 如申請專利範圍第1項所述的資料存取方法,其中該資料存取方法更包括: 從該第一實體程式化單元的資料位元區中讀取該第一資料; 從該第一實體程式化單元的冗餘位元區中讀取該第一錯誤更正碼; 依據從該第一實體程式化單元的冗餘位元區中讀取的該第一錯誤更正碼,對從該第一實體程式化單元的資料位元區中讀取的該第一資料執行一第一錯誤校正解碼操作,並且判斷從該第一實體程式化單元的資料位元區中讀取的該第一資料內的錯誤位元是否可被校正;以及 若該第一實體程式化單元的資料位元區中讀取的該第一資料內的錯誤位元可被校正時,將已校正的該第一資料傳送至一主機系統。
- 如申請專利範圍第1項所述的資料存取方法,其中該資料存取方法更包括: 從該第二實體程式化單元的資料位元區中讀取該第二資料; 從該第二實體程式化單元的冗餘位元區中讀取該第一部分錯誤更正碼; 依據從該第二實體程式化單元的冗餘位元區中讀取的該第一部分錯誤更正碼,對從該第二實體程式化單元的資料位元區中讀取的該第二資料執行一第二錯誤校正解碼操作,並且判斷從該第二實體程式化單元的資料位元區中讀取的該第二資料內的錯誤位元是否可被校正;以及 若依據從該第二實體程式化單元的冗餘位元區中讀取的該第一部分錯誤更正碼可校正從該第二實體程式化單元的資料位元區中讀取的該第二資料內的錯誤位元時,將已校正的該第二資料傳送至一主機系統。
- 如申請專利範圍第3項所述的資料存取方法,其中該資料存取方法更包括: 若依據從該第二實體程式化單元的冗餘位元區中讀取的該第一部分錯誤更正碼無法校正從該第二實體程式化單元的資料位元區中讀取的該第二資料內的錯誤位元時,從該第一實體程式化單元的冗餘位元區中讀取該第二部分錯誤更正碼; 依據從該第二實體程式化單元的冗餘位元區中讀取的該第一部分錯誤更正碼和從該第一實體程式化單元的冗餘位元區中讀取的該第二部分錯誤更正碼,對從該第二實體程式化單元的資料位元區中讀取的該第二資料執行該第二錯誤校正解碼操作,並且判斷從該第二實體程式化單元的資料位元區中讀取的該第二資料內的錯誤位元是否可被校正;以及 若依據從該第二實體程式化單元的冗餘位元區中讀取的該第一部分錯誤更正碼和從該第一實體程式化單元的冗餘位元區中讀取的該第二部分錯誤更正碼可校正從該第二實體程式化單元的資料位元區中讀取的該第二資料內的錯誤位元時,將已校正的該第二資料傳送至該主機系統。
- 如申請專利範圍第1項所述的資料存取方法,其中該可複寫式非揮發性記憶體模組為一複數階記憶胞反及快閃記憶體模組,且該第一實體程式化單元屬於一下實體程式化單元或者一中實體程式化單元,並且該第二實體程式化單元屬於一上實體程式化單元。
- 一種記憶體控制電路單元,用於控制一包括多個實體程式化單元的可複寫式非揮發性記憶體模組,每一所述實體程式化單元包括一資料位元區與一冗餘位元區,所述記憶體控制電路單元包括: 一主機介面,用以耦接至一主機系統; 一記憶體介面,用以耦接至所述可複寫式非揮發性記憶體模組; 一記憶體管理電路,耦接至所述主機介面以及所述記憶體介面, 其中該記憶體管理電路用以接收一第一資料,依據一第一錯誤校正編碼操作產生對應該第一資料的一第一錯誤更正碼, 其中該記憶體管理電路用以接收一第二資料,依據一第二錯誤校正編碼操作產生對應該第二資料的一第二錯誤更正碼,該第二錯誤更正碼包括一第一部分錯誤更正碼及一第二部分錯誤更正碼, 其中該記憶體管理電路用以寫入該第一資料至該些實體程式化單元之中的一第一實體程式化單元的資料位元區,並且將該第一錯誤更正碼與該第二錯誤更正碼的第二部分錯誤更正碼寫入至該第一實體程式化單元的冗餘位元區,以及, 其中該記憶體管理電路用以寫入該第二資料至該些實體程式化單元之中的第二實體程式化單元的資料位元區,並且將該第二錯誤更正碼的該第一部分錯誤更正碼寫入該第二實體程式化單元的冗餘位元區, 其中該第一錯誤更正碼的位元數目與該第二錯誤更正碼的位元數目不同。
- 如申請專利範圍第6項所述的記憶體控制電路單元,其中, 該記憶體管理電路更用以從該第一實體程式化單元的資料位元區中讀取該第一資料,從該第一實體程式化單元的冗餘位元區中讀取該第一錯誤更正碼, 該記憶體管理電路更用以依據從該第一實體程式化單元的冗餘位元區中讀取的該第一錯誤更正碼,對從該第一實體程式化單元的資料位元區中讀取的該第一資料執行一第一錯誤校正解碼操作,並且該記憶體管理電路更用以判斷從該第一實體程式化單元的資料位元區中讀取的該第一資料內的錯誤位元是否可被校正,以及 若從該第一實體程式化單元的資料位元區中讀取的該第一資料內的錯誤位元可被校正時,該記憶體管理電路更用以將已校正的該第一資料傳送至一主機系統。
- 如申請專利範圍第6項所述的記憶體控制電路單元,其中, 該記憶體管理電路更用以從該第二實體程式化單元的資料位元區中讀取該第二資料, 該記憶體管理電路更用以從該第二實體程式化單元的冗餘位元區中讀取該第一部分錯誤更正碼, 該記憶體管理電路更用以依據該第二實體程式化單元的冗餘位元區中讀取的該第一部分錯誤更正碼,對從該第二實體程式化單元的資料位元區中讀取的該第二資料執行一第二錯誤校正解碼操作,並且該記憶體管理電路更用以判斷從該第二實體程式化單元的資料位元區中讀取的該第二資料內的錯誤位元是否可被更正,以及 若依據從該第二實體程式化單元的冗餘位元區中讀取的該第一部分錯誤更正碼可校正從該第二實體程式化單元的資料位元區中讀取的該第二資料內的錯誤位元時,該記憶體管理電路更用以將已校正的該第二資料傳送至一主機系統。
- 如申請專利範圍第8項所述的記憶體控制電路單元,其中, 若依據從該第二實體程式化單元的冗餘位元區中讀取的該第一部分錯誤更正碼無法校正從該第二實體程式化單元的資料位元區中讀取的該第二資料內的錯誤位元時,該記憶體管理電路更用以從該第一實體程式化單元的冗餘位元區中讀取該第二部分錯誤更正碼, 該記憶體管理電路更用以依據從該第二實體程式化單元的冗餘位元區中讀取的該第一部分錯誤更正碼以及從該第一實體程式化單元的冗餘位元區中讀取的該第二部分錯誤更正碼,對從第二實體程式化單元的資料位元區中讀取的該第二資料執行一第二錯誤校正解碼操作,並且該記憶體管理電路更用以判斷從該第二實體程式化單元的資料位元區中讀取的該第二資料內的錯誤位元是否可被校正,以及 若依據從該第二實體程式化單元的冗餘位元區中讀取的該第一部分錯誤更正碼和從該第一實體程式化單元的冗餘位元區中讀取的該第二部分錯誤更正碼可校正從該第二實體程式化單元的資料位元區中讀取的該第二資料內的錯誤位元時,該記憶體管理電路更用以將已校正的該第二資料傳送至該主機系統。
- 如申請專利範圍第6項所述的記憶體控制電路單元,其中該可複寫式非揮發性記憶體模組為一複數階記憶胞反及快閃記憶體模組,且該第一實體程式化單元屬於一下實體程式化單元或者一中實體程式化單元,並且該第二實體程式化單元屬於一上實體程式化單元。
- 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統; 一可複寫式非揮發性記憶體模組,包括多個實體程式化單元,每一所述實體程式化單元包括一資料位元區與一冗餘位元區;以及 一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組, 其中該記憶體控制電路單元用以接收一第一資料,依據一第一錯誤校正編碼操作產生對應該第一資料的一第一錯誤更正碼, 其中該記憶體控制電路單元用以接收一第二資料,依據一第二錯誤校正編碼操作產生對應該第二資料的一第二錯誤更正碼,該第二錯誤更正碼包括一第一部分錯誤更正碼及一第二部分錯誤更正碼, 其中該記憶體控制電路單元用以寫入該第一資料至該些實體程式化單元之中的一第一實體程式化單元的資料位元區,並且將該第一錯誤更正碼與該第二錯誤更正碼的第二部分錯誤更正碼寫入至該第一實體程式化單元的冗餘位元區,以及 其中該記憶體控制電路單元用以寫入該第二資料至該些實體程式化單元之中的第二實體程式化單元的資料位元區,並且將該第一部分錯誤更正碼寫入該第二實體程式化單元的冗餘位元區, 其中該第一錯誤更正碼的位元數目與該第二錯誤更正碼的位元數目不同。
- 如申請專利範圍第11項所述的記憶體儲存裝置,其中, 該記憶體控制電路單元更用以從該第一實體程式化單元的資料位元區讀取該第一資料,從該第一實體程式化單元的冗餘位元區讀取該第一錯誤更正碼, 該記憶體控制電路單元更用以依據該第一實體程式化單元的冗餘位元區中讀取的該第一錯誤更正碼,對從該第一實體程式化單元的資料位元區中讀取的該第一資料執行一第一錯誤校正解碼操作,並且該記憶體控制電路單元更用以判斷從該第一實體程式化單元的資料位元區中讀取的該第一資料內的錯誤位元是否可被校正,以及 若從該第一實體程式化單元的資料位元區中讀取的該第一資料內的錯誤位元可被校正時,該記憶體控制電路單元更用以將已校正的該第一資料傳送至一主機系統。
- 如申請專利範圍第11項所述的記憶體儲存裝置,其中, 該記憶體控制電路單元更用以從該第二實體程式化單元的資料位元區中讀取該第二資料,該記憶體控制電路單元更用以從該第二實體程式化單元的冗餘位元區中讀取該第一部分錯誤更正碼, 該記憶體控制電路單元更用以依據從該第二實體程式化單元的冗餘位元區中讀取的該第一部分錯誤更正碼,對從該第二實體程式化單元的資料位元區中讀取的該第二資料執行一第二錯誤校正解碼操作,並且該記憶體控制電路單元更用以判斷從該第二實體程式化單元的資料位元區中讀取的該第二資料內的錯誤位元是否可被校正,以及 若依據從該第二實體程式化單元的冗餘位元區中讀取的該第一部分錯誤更正碼可校正從該第二實體程式化單元的資料位元區中讀取的該第二資料內的錯誤位元時,該記憶體控制電路單元更用以將已校正的該第二資料傳送至一主機系統。
- 如申請專利範圍第13項所述的記憶體儲存裝置,其中, 若依據從該第二實體程式化單元的冗餘位元區中讀取的該第一部分錯誤更正碼無法校正從該第二實體程式化單元的資料位元區中讀取的該第二資料內的錯誤位元時,該記憶體控制電路單元更用以從該第一實體程式化單元的冗餘位元區中讀取該第二部分錯誤更正碼, 該記憶體控制電路單元更用以依據從該第二實體程式化單元的冗餘位元區中讀取的該第一部分錯誤更正碼以及從該第一實體程式化單元的冗餘位元區中讀取的該第二部分錯誤更正碼,對從該第二實體程式化單元的資料位元區中讀取的該第二資料執行該第二錯誤校正解碼操作,並且該記憶體控制電路單元更用以判斷從該第二實體程式化單元的資料位元區中讀取的該第二資料內的錯誤位元是否可被校正,以及 若依據從該第二實體程式化單元的冗餘位元區中讀取的該第一部分錯誤更正碼和從該第一實體程式化單元的冗餘位元區中讀取的該第二部分錯誤更正碼可校正從該第二實體程式化單元的資料位元區中讀取的該第二資料內的錯誤位元時,該記憶體控制電路單元更用以將已校正的該第二資料傳送至該主機系統。
- 如申請專利範圍第11項所述的記憶體儲存裝置,其中該可複寫式非揮發性記憶體模組為一複數階記憶胞反及快閃記憶體模組,且該第一實體程式化單元屬於一下實體程式化單元或者一中實體程式化單元,並且該第二實體程式化單元屬於一上實體程式化單元。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW107129490A TWI658463B (zh) | 2018-08-23 | 2018-08-23 | 資料存取方法、記憶體控制電路單元與記憶體儲存裝置 |
| US16/153,828 US10977116B2 (en) | 2018-08-23 | 2018-10-08 | Data access method, memory control circuit unit and memory storage device |
| US16/788,320 US11190217B2 (en) | 2018-08-23 | 2020-02-12 | Data writing method, memory controlling circuit unit and memory storage device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW107129490A TWI658463B (zh) | 2018-08-23 | 2018-08-23 | 資料存取方法、記憶體控制電路單元與記憶體儲存裝置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI658463B TWI658463B (zh) | 2019-05-01 |
| TW202009942A true TW202009942A (zh) | 2020-03-01 |
Family
ID=67347900
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW107129490A TWI658463B (zh) | 2018-08-23 | 2018-08-23 | 資料存取方法、記憶體控制電路單元與記憶體儲存裝置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US10977116B2 (zh) |
| TW (1) | TWI658463B (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI768764B (zh) * | 2021-03-09 | 2022-06-21 | 大陸商合肥兆芯電子有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
| US12153492B1 (en) | 2023-07-12 | 2024-11-26 | Macronix International Co., Ltd. | Managing error corrections for memory systems |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI731338B (zh) * | 2019-05-30 | 2021-06-21 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
| TWI738390B (zh) * | 2020-06-19 | 2021-09-01 | 群聯電子股份有限公司 | 資料保護方法、記憶體儲存裝置及記憶體控制電路單元 |
| CN112799874B (zh) * | 2021-02-23 | 2023-06-13 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
| CN113093694B (zh) * | 2021-03-18 | 2022-05-20 | 东风汽车集团股份有限公司 | 一种基于uds的车载电控单元数据刷写方法及系统 |
| CN113434331B (zh) * | 2021-07-05 | 2023-07-25 | 群联电子股份有限公司 | 跨框编码管理方法、存储器存储装置及存储器控制电路 |
| JP2023039212A (ja) * | 2021-09-08 | 2023-03-20 | キオクシア株式会社 | メモリシステムおよび制御方法 |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI385666B (zh) * | 2007-05-25 | 2013-02-11 | Realtek Semiconductor Corp | 適用於快閃記憶體之資料結構、及其資料寫入方法及資料讀取方法 |
| US7747903B2 (en) * | 2007-07-09 | 2010-06-29 | Micron Technology, Inc. | Error correction for memory |
| US8069392B1 (en) * | 2007-10-16 | 2011-11-29 | Integrated Device Technology, Inc. | Error correction code system and method |
| TWI456579B (zh) * | 2010-03-26 | 2014-10-11 | Silicon Motion Inc | 提昇錯誤更正能力之方法以及相關之記憶裝置及其控制器 |
| KR101990971B1 (ko) * | 2012-01-30 | 2019-06-19 | 삼성전자 주식회사 | 메모리, 메모리 시스템, 및 메모리에 대한 에러 검출/정정 방법 |
| TWI478048B (zh) * | 2012-02-23 | 2015-03-21 | Univ Nat Taiwan | 儲存系統與其存取方法 |
| US8954825B2 (en) * | 2012-03-06 | 2015-02-10 | Micron Technology, Inc. | Apparatuses and methods including error correction code organization |
| TWI527040B (zh) * | 2013-05-13 | 2016-03-21 | 群聯電子股份有限公司 | 資料寫入方法、記憶體儲存裝置與記憶體控制器 |
| TWI537734B (zh) * | 2013-06-18 | 2016-06-11 | 群聯電子股份有限公司 | 資料保護方法、記憶體控制器與記憶體儲存裝置 |
| US9424953B2 (en) * | 2013-06-20 | 2016-08-23 | Samsung Electronics Co., Ltd. | Semiconductor memory device including repair circuit |
| JP6140093B2 (ja) * | 2014-03-18 | 2017-05-31 | 株式会社東芝 | キャッシュメモリ、誤り訂正回路およびプロセッサシステム |
| US9971647B2 (en) * | 2014-07-31 | 2018-05-15 | Winbond Electronics Corporation | Apparatus and method for programming ECC-enabled NAND flash memory |
| TWI529530B (zh) * | 2014-08-25 | 2016-04-11 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
| US9425829B2 (en) * | 2014-09-12 | 2016-08-23 | Freescale Semiconductor, Inc. | Adaptive error correction codes (ECCs) for electronic memories |
| TWI606333B (zh) * | 2016-04-15 | 2017-11-21 | 群聯電子股份有限公司 | 資料處理方法、記憶體儲存裝置及記憶體控制電路單元 |
-
2018
- 2018-08-23 TW TW107129490A patent/TWI658463B/zh active
- 2018-10-08 US US16/153,828 patent/US10977116B2/en active Active
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI768764B (zh) * | 2021-03-09 | 2022-06-21 | 大陸商合肥兆芯電子有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
| US11442657B1 (en) | 2021-03-09 | 2022-09-13 | Hefei Core Storage Electronic Limited | Abnormal data management method, memory storage device, and memory control circuit unit |
| US12153492B1 (en) | 2023-07-12 | 2024-11-26 | Macronix International Co., Ltd. | Managing error corrections for memory systems |
| TWI873820B (zh) * | 2023-07-12 | 2025-02-21 | 旺宏電子股份有限公司 | 管理記憶體系統的錯誤更正 |
Also Published As
| Publication number | Publication date |
|---|---|
| US10977116B2 (en) | 2021-04-13 |
| TWI658463B (zh) | 2019-05-01 |
| US20200065187A1 (en) | 2020-02-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI658463B (zh) | 資料存取方法、記憶體控制電路單元與記憶體儲存裝置 | |
| TWI731338B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TWI732642B (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
| US10691534B2 (en) | Data encoding method, data decoding method and storage controller | |
| TWI808483B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TWI628543B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TW202040370A (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
| CN113724774B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
| TWI668699B (zh) | 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置 | |
| TWI691962B (zh) | 解碼方法、記憶體控制電路單元與記憶體儲存裝置 | |
| US12197737B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
| TW202230377A (zh) | 資料存取方法、記憶體控制電路單元及記憶體儲存裝置 | |
| CN111580741B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
| TWI597731B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
| US9996415B2 (en) | Data correcting method, memory control circuit unit, and memory storage device | |
| TWI709850B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
| TWI834149B (zh) | 表格管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
| CN112799874B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
| CN110874282B (zh) | 数据存取方法、存储器控制电路单元与存储器存储装置 | |
| TWI738390B (zh) | 資料保護方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TWI688958B (zh) | 冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置 | |
| CN111258791B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
| CN113299329A (zh) | 存储装置及其控制方法、控制电路单元 | |
| TWI819876B (zh) | 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元 | |
| CN111724851B (zh) | 数据保护方法、存储器存储装置及存储器控制电路单元 |