TWI528372B - 資料儲存裝置以及揮發式記憶體的資料校驗方法 - Google Patents
資料儲存裝置以及揮發式記憶體的資料校驗方法 Download PDFInfo
- Publication number
- TWI528372B TWI528372B TW103104680A TW103104680A TWI528372B TW I528372 B TWI528372 B TW I528372B TW 103104680 A TW103104680 A TW 103104680A TW 103104680 A TW103104680 A TW 103104680A TW I528372 B TWI528372 B TW I528372B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- volatile memory
- error check
- burst format
- burst
- Prior art date
Links
Classifications
-
- 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/109—Sector level checksum or ECC, i.e. sector or stripe level checksum or ECC in addition to the RAID parity calculation
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
本案係有關於一種揮發式記憶體的資料校驗,特別有關於資料儲存裝置之揮發式記憶體的資料校驗。
資料校驗係用於數位資料之檢查甚至校正。例如,ECC(Error Checking and Correcting,譯為「錯誤檢查與校正」)以及Parity(譯為「奇偶校驗」)即為常見的兩種資料校驗技術。資料校驗一般係對數位資料進行運算產生對應的錯誤校驗內容,用作數位資料之檢查甚至校正。例如產生錯誤校驗碼(Error Checking Code)以及錯誤校驗內容(Parity)即為常見的兩種資料校驗技術的錯誤校驗內容。
為了傳輸資料校驗所需的錯誤校驗內容,一種傳統記憶體技術係針對錯誤校驗內容多設計至少一腳位,會導致硬體成本較高。如何以低成本製作具有資料校驗功能的記憶體為本技術領域一項待解決問題。
另外,以資料儲存裝置為例,其中作為使用者資料之儲存媒體的非揮發式記憶體之操作相當複雜。一般而言,資料儲存裝置中會更設置有揮發式記憶體作資料暫存。如何以低成本使得資料儲存裝置之揮發式記憶體也有資料校驗功
能,為本技術領域一項待解決問題。
本案揭露一種揮發式記憶體的資料校驗技術,更揭露一種使用該技術的資料儲存裝置。
根據本案所揭露技術的一種實施方式所實現的一種資料儲存裝置,包括:非揮發式記憶體、揮發式記憶體、以及控制器。控制器係根據一主機之要求操作非揮發式記憶體,且係以揮發式記憶體暫存操作非揮發式記憶體時所需的暫態資料。控制器包括對上述暫態資料產生錯誤校驗內容,並且將所產生的錯誤校驗內容與對應的暫態資料呈至少一突發格式暫存至該揮發式記憶體。如此一來,揮發式記憶體無須針對錯誤校驗資料增加任何腳位,即可具有資料校驗功能。
另一種實施方式係有關於一資料儲存裝置之揮發式記憶體的資料校驗方法,其中該資料儲存裝置包括一非揮發式記憶體以及一揮發式記憶體,且該方法包括:對與該非揮發式記憶體相關的暫態資料產生錯誤校驗內容;以及,將上述暫態資料以及對應之錯誤校驗內容呈至少一突發格式暫存至該揮發式記憶體中。
本案所揭露技術並不意圖限定於資料儲存裝置之應用。另一種實施方式係有關於一種揮發式記憶體資料校驗方法,包括:對資料尺寸大於一第一資料量的第一型資料,產生錯誤校驗內容;將所述第一型資料呈複數個突發格式寫入該揮發式記憶體;以及,將所產生的所述錯誤校驗內容呈另一個突發格式寫入至該揮發式記憶體。
下文特舉實施例,並配合所附圖式,詳細說明本發明內容。
100‧‧‧資料儲存裝置
102‧‧‧快閃記憶體
104‧‧‧動態隨機存取記憶體
106‧‧‧控制器
108‧‧‧主機
110‧‧‧資料匯流排
BLK1、BLK2‧‧‧區塊
Data_0.5Burst‧‧‧半個突發格式的控制器運算資料
Data_Bits‧‧‧(N-1)位元的映射表資料
Data_Burst1、Data_Burst2…Data_Burst8‧‧‧複數個突發格式的使用者資料
Data_Checked‧‧‧校驗後的控制器運算資料
MCU_Data‧‧‧控制器運算資料的資料校驗格式
P1…P8‧‧‧錯誤校驗字
P11、P12、P21、P22‧‧‧錯誤校驗內容
Parity_0.5Burst‧‧‧用以容載錯誤校驗內容的半個突發格式
Parity_Bit‧‧‧錯誤校驗位元
Parity_Burst‧‧‧一個突發格式的錯誤校驗內容
S202…S208‧‧‧步驟
S402…S410‧‧‧步驟
Table_Data‧‧‧映射表資料的資料校驗格式
User_Data‧‧‧使用者資料的資料校驗格式
第1圖圖解根據本案所揭露技術的一種實施方式所實現的一資料儲存裝置100;第2圖以流程圖說明控制器106對動態隨機存取記憶體104所作的寫入操作;第3A圖更詳解使用者資料(user data)專屬格式User_Data的一種實施方式;第3B圖更詳解控制器運算資料(controller data)專屬格式MCU_Data的一種實施方式;第3C圖更詳解映射表資料(如,非揮發式記憶體之映射表資料/temporary data for the mapping table of the non-volatile memory)專屬格式Table_Data的一種實施方式;第4圖以流程圖說明控制器106對動態隨機存取記憶體104所作的讀取操作;第5A圖更詳解使用者資料專屬格式User_Data的錯誤校驗;第5B圖更詳解控制器運算資料專屬格式MCU_Data的錯誤校驗;第5C圖更詳解映射表資料專屬格式Table_Data的錯誤校驗。
以下敘述列舉本發明的多種實施例。以下敘述介
紹本發明的基本概念,且並非意圖限制本發明內容。實際發明範圍應依照申請專利範圍界定之。
第1圖圖解根據本案所揭露技術的一種實施方式所實現的一資料儲存裝置100,包括:快閃記憶體(FLASH memory)102所實現的一非揮發式記憶體、動態隨機存取記憶體(DRAM)104所實現的一揮發式記憶體、以及一控制器106。該控制器106係根據一主機108之要求操作該快閃記憶體102,且係以該動態隨機存取記憶體104暫存與該快閃記憶體102相關的暫態資料。
如第1圖所示,快閃記憶體102之空間係劃分為多個區塊(blocks),如,BLK1、BLK2…。各區塊更劃分為多頁(pages)。快閃記憶體102的操作特性是以「區塊」為抹除單位。使用過的空間須以「區塊」為單位抹除後方能釋出再利用。如此的使用限制將使得動態隨機存取記憶體104的暫態資料儲存需求高。動態隨機存取記憶體104之資料校驗(data checking and correcting)因而更為重要。
本發明可以在不增加動態隨機存取記憶體104之管腳數量的前提下,實現動態隨機存取記憶體104所暫存之暫態資料的資料校驗。如第1圖所示,控制器106對前述暫態資料(與該快閃記憶體102相關)產生錯誤校驗內容,並且將所產生的錯誤校驗內容與對應的暫態資料呈至少一突發格式暫存至動態隨機存取記憶體104。所述錯誤校驗內容可依循ECC技術或是奇偶校驗技術…等。在一實施例中,控制器106經由一資料匯流排110耦接動態隨機存取記憶體104,所述突發格式的
長度(burst length)係該資料匯流排的寬度的M倍,其中M係大於或等於2。舉例而言,動態隨機存取記憶體104如果採用第三代双倍數據率同步動態隨機存取記憶體(Double-Data-Rate Three Synchronous Dynamic Random Access Memory,DDR3 SDRAM),根據DDR3 SDRAM的規格標準(JEDEC標準JESD79-3E),所述突發格式的長度為16個位元組(byte),而動態隨機存取記憶體104具備16根資料腳位(data pins),即該資料匯流排的寬度為16位元(bit),因此可同時並行存取16位元(即2個位元組)的暫態資料。
動態隨機存取記憶體104的暫態資料一般有以下來源:‧使用者資料(user data),如,由主機108要求儲存至該快閃記憶體102的資料,在寫入快閃記憶體102之前需要暫存在該動態隨機存取記憶體104,待控制器106作運算後方搬移到該快閃記憶體102,一般資料量較大;‧控制器運算資料(controller data),如,控制器106對該快閃記憶體102作讀寫時所作運算所產生的暫態資料(如,控制器106對快閃記憶體102作有效資料收集(garbage collection)、存儲地址運算…等而產生的暫態資料),資料量一般低於上述使用者資料;以及‧映射表資料(temporary data for the mapping table),如,快閃記憶體102與主機108端之間的邏輯-物理位址映射資料,資料量一般更低於上述控制器運算資料。
根據暫態資料的屬性不同,控制器106具體地可選
擇適當的方式將暫態資料以考量資料校驗的方式儲存至動態隨機存取記憶體104。
如第1圖所示,控制器106係以格式User_Data將使用者資料以及其錯誤校驗內容暫存至動態隨機存取記憶體104。在一實施例中,主機108存取使用者資料是以區段(sector)為單位,一個區段舉例而言包括512位元組的資料。在本發明一實施例中,快閃記憶體102以128位元組為一個區塊(block)存儲使用者資料,因此主機108一次存取的使用者資料包括至少4個區塊,而1個區塊的使用者資料需通過8個突發格式傳輸。如第1圖所示,使用者資料係以複數個突發格式(bursts)Data_Burst1、Data_Burst2…Data_Burst8搭配一突發格式的錯誤校驗內容Parity_Burst暫存至該動態隨機存取記憶體104。以16根資料腳位(data pins)的動態隨機存取記憶體為例,一個突發格式可傳送16位元組的資料。以32根資料腳位的動態隨機存取記憶體為例,一個突發格式可傳送32位元組的資料。控制器106更針對所述複數個突發格式之使用者資料Data_Burst1、Data_Burst2…Data_Burst8中的每一個分別運算產生一錯誤校驗字,各個錯誤校驗字組成所述一個突發格式的錯誤校驗內容Parity_Burst。並且於呈複數個所述突發格式之使用者資料Data_Burst1、Data_Burst2…Data_Burst8暫存至動態隨機存取記憶體104之後,控制器106更將錯誤校驗內容呈另一個突發格式Parity_Burst暫存至動態隨機存取記憶體104。
另外,控制器106係以格式MCU_Data將控制器運算資料以及其錯誤校驗內容暫存至動態隨機存取記憶體104。
格式MCU_Data整體呈一個突發格式,其中包括半個突發格式的控制器運算資料Data_0.5Burst以及規劃來儲存錯誤校驗內容的半個突發格式之空間Parity_0.5Burst。於半個突發格式之空間Parity_0.5Burst的錯誤校驗內容係為控制器106針對所述半個突發格式的控制器運算資料Data_0.5Burst運算產生。
另外,控制器106係以格式Table_Data將映射表資料以及其錯誤校驗內容暫存至動態隨機存取記憶體104。格式Table_Data包括(N-1)位元之映射表資料Data_Bits以及一錯誤校驗位元Parity_Bit。錯誤校驗位元Parity_Bit係控制器106針對所述(N-1)位元之映射表資料Data_Bits運算產生。
根據以上設計,動態隨機存取記憶體104無須為資料校驗設計增設任何腳位。此外,不同尺寸的暫態資料以及其錯誤校驗內容都可以妥善由該動態隨機存取記憶體104暫存。
第2圖以流程圖說明控制器106對動態隨機存取記憶體104所作的寫入操作。於步驟S202,控制器106作資料類型判斷,以對不同資料類型作不同操作。當然,本發明並不限制某種屬性的暫態資料一定使用某種資料校驗以及寫入方式,只是本發明下述之特定的屬性的暫態資料使用特定資料校驗以及寫入方式的實施例可以提高資料存取的效率。在本發明其它實施例中,步驟S202不是必要步驟,可以不管暫態資料的屬性而在步驟S204~S208的寫入方式,步驟S210~S212的寫入方式以及步驟S214~S216的寫入方式中擇一施行。換句話說,步驟S204~S208的寫入方式,步驟S210~S212的寫入方式以及步驟S214~S216的寫入方式可以係三個獨立的對動態隨機存取記憶
體104進行寫入操作的實施方式。
若為使用者資料,控制器106執行步驟S204,對上述複數個突發格式的使用者資料Data_Burst1、Data_Burst2…Data_Burst8中的每一個分別產生一錯誤校驗字,並將各錯誤校驗字組成一錯誤校驗內容。控制器106執行步驟S206,將使用者資料呈複數個突發格式Data_Burst1、Data_Burst2…Data_Burst8暫存至動態隨機存取記憶體104中。接下來控制器106更執行步驟S208,將該錯誤校驗內容以一個突發格式Parity_Burst暫存至動態隨機存取記憶體104。即是說控制器106係以突發格式將使用者資料Data_Burst1、Data_Burst2…Data_Burst8以及其錯誤校驗內容Parity_Burst暫存至動態隨機存取記憶體104。由於本實施例中,首先對各個突發格式的使用者資料分別進行運算產生各個錯誤校驗字,但在傳輸時須等待複數個突發格式的使用者資料暫存完畢以後,再將各個錯誤校驗字湊成一個突發格式的錯誤校驗內容再暫存至動態隨機存取記憶體104,因此需要將運算產生的各個錯誤校驗字先暫存於控制器106內之寄存器(register)中。但本發明并不限制步驟S204與S206的發生先後順序。
若為控制器運算資料,控制器106執行步驟S210,對半個突發格式之控制器運算資料Data_0.5Burst產生錯誤校驗內容;接下來控制器106執行步驟S212,將上述半個突發格式之控制器運算資料Data_0.5Burst與所對應產生的錯誤校驗內容呈一個突發格式(Data_0.5Burst聯合Parity_0.5Burst)暫存至動態隨機存取記憶體104。控制器106係以格式MCU_Data將
控制器運算資料Data_0.5Burst以及其錯誤校驗內容Parity_0.5Burst暫存至動態隨機存取記憶體104。
若為映射表資料,控制器106執行步驟S214,對(N-1)位元之映射表資料Data_Bits產生一錯誤校驗位元Parity_Bit;接下來,控制器106執行步驟S216,將上述(N-1)位元之映射表資料Data_Bits與該錯誤校驗位元Parity_Bit暫存至動態隨機存取記憶體104。控制器106係以格式Table_Data將映射表資料Data_Bits以及其錯誤校驗內容Parity_Bit暫存至動態隨機存取記憶體104。
第3A圖更詳解使用者資料專屬格式User_Data的一種實施方式。此實施例中,一個突發格式的長度係16位元組,且主機108要求寫入快閃記憶體102的一個區塊的使用者資料包括128位元組。動態隨機存取記憶體104寫入操作時,則一個區塊的使用者資料係以八個突發格式Data_Burst1、Data_Burst2…Data_Burst8循序寫入動態隨機存取記憶體104,相應的一個突發格式之錯誤校驗內容Parity_Burst係最後寫入。錯誤校驗內容Parity_Burst由八個錯誤校驗字P1~P8組成,其分別對應八個突發格式Data_Burst1、Data_Burst2…Data_Burst8的使用者資料,其中錯誤校驗字P1中之位元組P11係由突發格式的使用者資料Data_Burst1之前面半個突發格式資料(例如前面8個位元組的資料)產生,錯誤校驗字P1中之位元組P12係由突發格式的使用者資料Data_Burst1之後面半個突發格式資料(例如後面8個位元組的資料)產生。其中錯誤校驗字P2中之位元組P21係由突發格式的使用者資料Data_Burst2之前
面半個突發格式資料(例如前面8個位元組的資料)產生,錯誤校驗字P2中之位元組P22係由突發格式的使用者資料Data_Burst2之後面半個突發格式資料(例如後面8個位元組的資料)產生。後續類推。
第3B圖更詳解控制器運算資料專屬格式MCU_Data的一種實施方式。此實施例中,一個突發格式的長度係16位元組。由於控制器運算資料的資料量較之使用者資料通常小得多,可將每8個位元組的控制器運算資料Data_0.5Burst及其錯誤校驗內容P由單一個突發格式暫存至動態隨機存取記憶體104。在一優選實施例中,半個突發格式的控制器運算資料Data_0.5Burst所對應生成的錯誤校驗內容P(如圖所示,佔據一位元組)係規劃以半個突發格式的空間Parity_0.5Burst儲存,與該半個突發格式的控制器運算資料Data_0.5Burst佔據單一個突發格式之空間。
第3C圖更詳解映射表資料專屬格式Table_Data的一種實施方式。此實施例令N為32,係對31位元之映射表資料Data_Bits作異或(XOR)運算以產生一錯誤校驗位元Parity_Bit。
第4圖以流程圖說明控制器106對動態隨機存取記憶體104所作的讀取操作。於步驟S402,控制器106作資料類型判斷,以對不同資料類型作不同操作。對應第2圖之寫入操作之流程圖,本發明同樣也不限制某種屬性的暫態資料一定使用某種資料校驗以及讀取方式,暫態資料之資料校驗以及讀取方式與其寫入操作時所採取的資料校驗以及寫入方式對應,因此步驟S402也不是必要步驟,可以不管暫態資料的屬性而在步驟
S404~S408的讀取方式,步驟S410~S412的讀取方式以及步驟S414~S416的讀取方式中擇一施行。換句話說,步驟S404~S408的讀取方式,步驟S410~S412的讀取方式以及步驟S414~S416的讀取方式可以係三個獨立的對動態隨機存取記憶體104進行讀取操作的實施方式。
若為使用者資料,控制器106執行步驟S404,自該動態隨機存取記憶體104讀出一個突發格式之錯誤校驗內容Parity_Burst。接著,控制器106執行步驟S406,自動態隨機存取記憶體104讀取對應該個突發格式之錯誤校驗內容Parity_Burst的複數個突發格式之使用者資料Data_Burst1、Data_Burst2…Data_Burst8。控制器106再執行步驟S408,使用該個突發格式之錯誤校驗內容Parity_Burst對上述複數個突發格式之使用者資料Data_Burst1、Data_Burst2…Data_Burst8作錯誤校驗。
若為控制器運算資料,控制器106執行步驟S410,以一個突發格式MCU_Data讀取暫存於動態隨機存取記憶體104的半個突發格式之控制器運算資料Data_0.5Burst與對應之錯誤校驗內容P(由半個突發格式之空間Parity_0.5Burst取出)。控制器106再執行步驟S412,對上述半個突發格式Data_0.5Burst之控制器運算資料作錯誤校驗。
若為映射表資料,控制器106執行步驟S414,讀取暫存於動態隨機存取記憶體104的映射表資料及其錯誤校驗位元Parity_Bit,一共N位元的資料。控制器106執行步驟S416,以其中之錯誤校驗位元Parity_Bit對自其中之(N-1)位元之映射
表資料Data_Bits作錯誤校驗。
第5A圖更詳解使用者資料專屬格式User_Data的錯誤校驗。動態隨機存取記憶體104讀取操作時,較先讀出的是一個突發格式之錯誤校驗內容Parity_Burst,後續讀出的循序是八個突發格式的使用者資料Data_Burst1、Data_Burst2…Data_Burst8。錯誤校驗內容Parity_Burst由八個錯誤校驗字P1~P8組成,其分別對應八個突發格式Data_Burst1、Data+Burst2…Data_Burst8的使用者資料,其中錯誤校驗字P1中之位元組P11係用來對使用者資料Data_Burst1之前面半個突發格式資料(例如前面8個位元組的資料)作錯誤校驗,以獲得校驗後的使用者資料。錯誤校驗字P1中位元組P12係用來對使用者資料Data_Burst1之後面半個突發格式資料(例如前面8個位元組的資料)作錯誤校驗,以獲得校驗後的使用者資料。其中錯誤校驗字P2中之位元組P21係用來對使用者資料Data_Burst2之前面半個突發格式資料作錯誤校驗,以獲得校驗後的使用者資料。錯誤校驗字P2中之位元組P22係用來對使用者資料Data_Burst2之後面半個突發格式資料作錯誤校驗,以獲得校驗後的使用者資料。後續類推。
第5B圖更詳解控制器運算資料專屬格式MCU_Data的錯誤校驗。半個突發格式的控制器運算資料Data_0.5Burst係由半個突發格式的空間Parity_0.5Burst儲存之錯誤校驗內容P作錯誤校驗,以獲得校驗後的控制器運算資料Data_Checked。
第5C圖更詳解映射表資料專屬格式Table_Data的
錯誤校驗。此實施例令N為32,係對31位元之映射表資料Data_Bits與錯誤校驗位元Parity_Bit作異或(XOR)運算,以獲得一指標顯示目前31位元之映射表資料Data_Bits是否正確。
資料儲存裝置100中的非揮發式記憶體與揮發式記憶體不限定以快閃記憶體102以及動態隨機存取記憶體104實現。此外,所揭露之揮發式記憶體資料校驗技術不限定應用於資料儲存裝置。任何電子裝置只要有安裝揮發式記憶體都可使用所揭露之資料校驗技術。
整理之,凡是以格式User_Data以及/或格式MCU_Data以及/或格式Table_Data達到資料校驗的揮發式記憶體操作,皆屬於本案所意圖保護的範圍。
一種實施方式係根據暫態資料的尺寸決定該以何種格式達成揮發式記憶體的資料校驗。資料尺寸大於一第一資料量的第一型資料可以上述格式User_Data實現揮發式記憶體的資料校驗。資料尺寸不超過該第一資料量但高於一第二資料量的第二型資料可以上述格式MCU_Data實現揮發式記憶體的資料校驗。資料尺寸不高於該第二資料量的第三型資料可以上述格式Table_Data實現揮發式記憶體的資料校驗。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧資料儲存裝置
102‧‧‧快閃記憶體
104‧‧‧動態隨機存取記憶體
106‧‧‧控制器
108‧‧‧主機
110‧‧‧資料匯流排
BLK1、BLK2‧‧‧區塊
Data_0.5Burst‧‧‧半個突發格式的控制器運算資料
Data_Bits‧‧‧(N-1)位元的映射表資料
Data_Burst1、Data_Burst2…Data_Burst8‧‧‧複數個突發格式的使用者資料
MCU_Data‧‧‧控制器運算資料的資料校驗格式
Parity_0.5Burst‧‧‧用以容載錯誤校驗內容的半個突發格式
Parity_Bit‧‧‧錯誤校驗位元
Parity_Burst‧‧‧一個突發格式的錯誤校驗內容
Table_Data‧‧‧映射表資料的資料校驗格式
User_Data‧‧‧使用者資料的資料校驗格式
Claims (30)
- 一種資料儲存裝置,包括:一非揮發式記憶體;一揮發式記憶體;以及一控制器,根據一主機之要求操作該非揮發式記憶體,且係以該揮發式記憶體暫存與該非揮發式記憶體相關的暫態資料,其中,該控制器對上述暫態資料產生錯誤校驗內容,並且將所產生的錯誤校驗內容與對應的暫態資料呈至少一突發格式暫存至該揮發式記憶體,其中:上述暫態資料包括該主機要求寫入該非揮發式記憶體的使用者資料;且該控制器將所述使用者資料呈複數個所述突發格式暫存至該揮發式記憶體中,且針對該等所述突發格式之所述使用者資料以所述突發格式為單位個別產生一錯誤校驗字,且將該等所述突發格式之所述使用者資料對應之錯誤校驗字組成所述錯誤校驗內容,並且於所述使用者資料呈複數個所述突發格式暫存至該揮發式記憶體中之後,更將所述錯誤校驗內容呈另一個突發格式暫存至該揮發式記憶體。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該控制器經由一資料匯流排耦接該揮發式記憶體,所述突發格式的長度係該資料匯流排的寬度的M倍,其中M係大於或等於2。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該控制器經由一資料匯流排耦接該揮發式記憶體,所述突發格式的 長度為16個位元組,該資料匯流排的寬度為16位元。
- 如申請專利範圍第1項所述之資料儲存裝置,其中:該控制器更對(N-1)位元之映射表資料產生一錯誤校驗位元,並將上述(N-1)位元之映射表資料與該錯誤校驗位元暫存至該揮發式記憶體。
- 如申請專利範圍第1項所述之資料儲存裝置,其中:關於暫存於該揮發式記憶體的使用者資料,該控制器係在自該揮發式記憶體讀出一個突發格式之錯誤校驗內容後,更自該揮發式記憶體讀取對應該個突發格式之錯誤校驗內容的複數個突發格式之使用者資料,再使用該個突發格式之錯誤校驗內容對上述複數個突發格式之使用者資料作錯誤校驗。
- 如申請專利範圍第1項所述之資料儲存裝置,其中:該控制器更讀取暫存於該揮發式記憶體的一錯誤校驗位元與(N-1)位元之映射表資料,並以該錯誤校驗位元對該(N-1)位元之映射表資料作錯誤校驗。
- 一種資料儲存裝置,包括:一非揮發式記憶體;一揮發式記憶體;以及一控制器,根據一主機之要求操作該非揮發式記憶體,且係以該揮發式記憶體暫存與該非揮發式記憶體相關的暫態資料,其中,該控制器對上述暫態資料產生錯誤校驗內容,並且將所產生的錯誤校驗內容與對應的暫態資料呈至少一突發格式暫存至該揮發式記憶體, 其中:上述暫態資料包括該主機操作該非揮發式記憶體的控制器運算資料;且該控制器將所述控制器運算資料呈半個所述突發格式暫存至該揮發式記憶體中,且更對呈半個所述突發格式的上述控制器運算資料產生所述錯誤校驗內容與呈半個所述突發格式的上述控制器運算資料呈一個突發格式暫存至該揮發式記憶體。
- 如申請專利範圍第7項所述之資料儲存裝置,其中該控制器經由一資料匯流排耦接該揮發式記憶體,所述突發格式的長度係該資料匯流排的寬度的M倍,其中M係大於或等於2。
- 如申請專利範圍第7項所述之資料儲存裝置,其中該控制器經由一資料匯流排耦接該揮發式記憶體,所述突發格式的長度為16個位元組,該資料匯流排的寬度為16位元。
- 如申請專利範圍第7項所述之資料儲存裝置,其中:該控制器更對(N-1)位元之映射表資料產生一錯誤校驗位元,並將上述(N-1)位元之映射表資料與該錯誤校驗位元暫存至該揮發式記憶體。
- 如申請專利範圍第7項所述之資料儲存裝置,其中:關於暫存於該揮發式記憶體的控制器運算資料,該控制器係以一個突發格式讀取暫存於該揮發式記憶體的半個突發格式之控制器運算資料與對應之錯誤校驗內容,再對上述半個突發格式之控制器運算資料作錯誤校驗。
- 如申請專利範圍第7項所述之資料儲存裝置,其中: 該控制器更讀取暫存於該揮發式記憶體的一錯誤校驗位元與(N-1)位元之映射表資料,並以該錯誤校驗位元對該(N-1)位元之映射表資料作錯誤校驗。
- 一種資料儲存裝置之揮發式記憶體的資料校驗方法,其中該資料儲存裝置包括一非揮發式記憶體以及一揮發式記憶體,該方法包括:對與該非揮發式記憶體相關的暫態資料產生錯誤校驗內容;以及將上述暫態資料以及對應之錯誤校驗內容呈至少一突發格式暫存至該揮發式記憶體中,其中:該暫態資料為一主機要求寫入該非揮發式記憶體的使用者資料時,該資料校驗方法將所述使用者資料呈複數個所述突發格式暫存至該揮發式記憶體中,且針對該等所述突發格式之所述使用者資料以所述突發格式為單位個別產生一錯誤校驗字,且將該等所述突發格式之所述使用者資料對應之錯誤校驗字組成所述錯誤校驗內容,並且於所述使用者資料呈複數個所述突發格式暫存至該揮發式記憶體中之後,更將所述錯誤校驗內容呈另一個突發格式暫存至該揮發式記憶體。
- 如申請專利範圍第13項所述之資料校驗方法,其中所述突發格式的長度係該揮發式記憶體之匯流排寬度的M倍,其中M係大於或等於2。
- 如申請專利範圍第13項所述之資料校驗方法,其中,所述 突發格式的長度為16個位元組,該揮發式記憶體之匯流排寬度為16位元。
- 如申請專利範圍第13項所述之資料校驗方法,更包括:對(N-1)位元之映射表資料產生一錯誤校驗位元;以及將上述(N-1)位元之映射表資料與該錯誤校驗位元暫存至該揮發式記憶體。
- 如申請專利範圍第13項所述之資料校驗方法,其中,關於暫存於該揮發式記憶體的使用者資料,所述資料校驗方法係在自該揮發式記憶體讀出一個突發格式之錯誤校驗內容後,更自該揮發式記憶體讀取對應該個突發格式之錯誤校驗內容的複數個突發格式之使用者資料,再使用該個突發格式之錯誤校驗內容對上述複數個突發格式之使用者資料作錯誤校驗。
- 如申請專利範圍第13項所述之資料校驗方法,更包括:讀取暫存於該揮發式記憶體的一錯誤校驗位元與(N-1)位元之映射表資料,並以該錯誤校驗位元對該(N-1)位元之映射表資料作錯誤校驗。
- 一種資料儲存裝置之揮發式記憶體的資料校驗方法,其中該資料儲存裝置包括一非揮發式記憶體以及一揮發式記憶體,該方法包括:對與該非揮發式記憶體相關的暫態資料產生錯誤校驗內容;以及將上述暫態資料以及對應之錯誤校驗內容呈至少一突發格式暫存至該揮發式記憶體中, 其中:上述暫態資料為一主機操作該非揮發式記憶體的控制器運算資料時,該資料校驗方法將所述控制器運算資料呈半個所述突發格式暫存至該揮發式記憶體中,且更對呈半個所述突發格式的上述控制器運算資料產生所述錯誤校驗內容與呈半個所述突發格式的上述控制器運算資料呈一個突發格式暫存至該揮發式記憶體。
- 如申請專利範圍第19項所述之資料校驗方法,其中所述突發格式的長度係該揮發式記憶體之匯流排寬度的M倍,其中M係大於或等於2。
- 如申請專利範圍第19項所述之資料校驗方法,其中,所述突發格式的長度為16個位元組,該揮發式記憶體之匯流排寬度為16位元。
- 如申請專利範圍第19項所述之資料校驗方法,更包括:對(N-1)位元之映射表資料產生一錯誤校驗位元;以及將上述(N-1)位元之映射表資料與該錯誤校驗位元暫存至該揮發式記憶體。
- 如申請專利範圍第19項所述之資料校驗方法,其中,關於暫存於該揮發式記憶體的控制器運算資料,所述資料校驗方法係以一個突發格式讀取暫存於該揮發式記憶體的半個突發格式之控制器運算資料與對應之錯誤校驗內容,再對上述半個突發格式之控制器運算資料作錯誤校驗。
- 如申請專利範圍第19項所述之資料校驗方法,更包括:讀取暫存於該揮發式記憶體的一錯誤校驗位元與(N-1)位元 之映射表資料,並以該錯誤校驗位元對該(N-1)位元之映射表資料作錯誤校驗。
- 一種揮發式記憶體的資料校驗方法,包括:對資料尺寸大於一第一資料量的第一型資料,產生錯誤校驗內容;將所述第一型資料呈複數個突發格式寫入該揮發式記憶體;以及將所產生的所述錯誤校驗內容呈另一個突發格式寫入至該揮發式記憶體。
- 如申請專利範圍第25項所述之資料校驗方法,更包括:關於資料尺寸不超過該第一資料量但高於一第二資料量的第二型資料,取半個突發格式的所述第二型資料產生錯誤校驗內容;以及將呈半個突發格式之所述第二型資料與所對應產生之錯誤校驗內容呈一個突發格式寫入該揮發式記憶體。
- 如申請專利範圍第25項所述之資料校驗方法,更包括:關於資料尺寸不高於一第二資料量的第三型資料,取(N-1)位元產生一錯誤校驗位元;以及將該錯誤校驗位元與所對應之(N-1)位元之第三型資料寫入該揮發式記憶體。
- 如申請專利範圍第25項所述之資料校驗方法,其中,關於暫存於該揮發式記憶體的第一型資料之讀取,更包括:自該揮發式記憶體讀出一個突發格式之錯誤校驗內容;自該揮發式記憶體讀取對應該個突發格式之錯誤校驗內容 的複數個突發格式之第一型資料;以及以該個突發格式之錯誤校驗內容對上述複數個突發格式之第一型資料作錯誤校驗。
- 如申請專利範圍第25項所述之資料校驗方法,更包括:以一個突發格式讀取暫存於該揮發式記憶體的半個突發格式之第二型資料與對應之錯誤校驗內容;以及對上述半個突發格式之第二型資料作錯誤校驗。
- 如申請專利範圍第25項所述之資料校驗方法,更包括:讀取暫存於該揮發式記憶體的一錯誤校驗位元與對應之第三型資料;以及以該錯誤校驗位元對該第三型資料作錯誤校驗。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410046036.3A CN103744744B (zh) | 2014-02-08 | 2014-02-08 | 数据储存装置以及易失性存储器的数据校验方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201532062A TW201532062A (zh) | 2015-08-16 |
TWI528372B true TWI528372B (zh) | 2016-04-01 |
Family
ID=50501764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103104680A TWI528372B (zh) | 2014-02-08 | 2014-02-13 | 資料儲存裝置以及揮發式記憶體的資料校驗方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9519541B2 (zh) |
CN (1) | CN103744744B (zh) |
TW (1) | TWI528372B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI798250B (zh) * | 2017-12-15 | 2023-04-11 | 韓商愛思開海力士有限公司 | 錯誤校正方法和使用其的半導體裝置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10127101B2 (en) * | 2015-08-28 | 2018-11-13 | Intel Corporation | Memory device error check and scrub mode and error transparency |
TWI599904B (zh) * | 2016-03-30 | 2017-09-21 | 緯創資通股份有限公司 | 電子裝置及其資料驗證方法 |
CN109189603A (zh) * | 2018-07-20 | 2019-01-11 | 江苏华存电子科技有限公司 | 一种用于动态随机存取存储器使用raid做纠错校验的方法 |
CN109086161A (zh) * | 2018-07-20 | 2018-12-25 | 江苏华存电子科技有限公司 | 一种随机内存使用ecc运算达成块资料纠错校验的方法 |
CN109117301A (zh) * | 2018-07-20 | 2019-01-01 | 江苏华存电子科技有限公司 | 一种随机内存使用纠错码校验可配置功能设置分区的方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100342361C (zh) * | 2005-05-31 | 2007-10-10 | 威盛电子股份有限公司 | 快速读写存储器数据的方法及装置 |
US7739576B2 (en) * | 2006-08-31 | 2010-06-15 | Micron Technology, Inc. | Variable strength ECC |
US8023358B2 (en) * | 2008-04-02 | 2011-09-20 | International Business Machines Corporation | System and method for providing a non-power-of-two burst length in a memory system |
US8239724B2 (en) * | 2009-04-08 | 2012-08-07 | Google Inc. | Error correction for a data storage device |
US8458572B1 (en) * | 2009-11-24 | 2013-06-04 | Apple Inc. | Efficient storage of error correction information in DRAM |
US9263106B2 (en) * | 2011-10-21 | 2016-02-16 | Nvidia Corporation | Efficient command mapping scheme for short data burst length memory devices |
-
2014
- 2014-02-08 CN CN201410046036.3A patent/CN103744744B/zh active Active
- 2014-02-13 TW TW103104680A patent/TWI528372B/zh active
- 2014-05-07 US US14/271,813 patent/US9519541B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI798250B (zh) * | 2017-12-15 | 2023-04-11 | 韓商愛思開海力士有限公司 | 錯誤校正方法和使用其的半導體裝置 |
Also Published As
Publication number | Publication date |
---|---|
CN103744744B (zh) | 2017-08-25 |
TW201532062A (zh) | 2015-08-16 |
CN103744744A (zh) | 2014-04-23 |
US20150227424A1 (en) | 2015-08-13 |
US9519541B2 (en) | 2016-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI528372B (zh) | 資料儲存裝置以及揮發式記憶體的資料校驗方法 | |
US9760304B2 (en) | High performance system for selective merging of dataframe segments | |
US8555143B2 (en) | Flash memory controller and the method thereof | |
US10761997B2 (en) | Methods of memory address verification and memory devices employing the same | |
US20180157428A1 (en) | Data protection of flash storage devices during power loss | |
AU2014328501A1 (en) | High performance system providing selective merging of dataframe segments in hardware | |
US20140122972A1 (en) | Storage control apparatus, storage apparatus, information processing system, and storage control method | |
US9754682B2 (en) | Implementing enhanced performance with read before write to phase change memory | |
US20180341545A1 (en) | Data storage system and associated method | |
US10445199B2 (en) | Bad page management in storage devices | |
US9069660B2 (en) | Systems and methods for writing to high-capacity memory | |
CN102541677A (zh) | 提高nandflash存储设备对照表加载速度的实现方法 | |
US10078548B2 (en) | Memory controller, semiconductor device and method of controlling semiconductor device | |
CN103365737B (zh) | 数据读写方法、读写装置及数据存储系统 | |
CN103064640B (zh) | 应用于nandflash存储设备的快速读写方法 | |
CN105183369B (zh) | 一种NandFlash中模拟用户数据存储的方法 | |
AU2018247214B2 (en) | High performance system providing selective merging of dataframe segments in hardware | |
TWI431631B (zh) | 應用可變動錯誤更正碼容量的快閃記憶體控制方法 | |
TWI692767B (zh) | 具有錯誤更正功能的記憶體及相關記憶體系統 |