TWI522804B - 快閃記憶體控制器以及資料儲存裝置以及快閃記憶體控制方法 - Google Patents
快閃記憶體控制器以及資料儲存裝置以及快閃記憶體控制方法 Download PDFInfo
- Publication number
- TWI522804B TWI522804B TW103114630A TW103114630A TWI522804B TW I522804 B TWI522804 B TW I522804B TW 103114630 A TW103114630 A TW 103114630A TW 103114630 A TW103114630 A TW 103114630A TW I522804 B TWI522804 B TW I522804B
- Authority
- TW
- Taiwan
- Prior art keywords
- flash memory
- data
- volatile memory
- error correction
- code
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
Description
本發明係有關於資料儲存裝置,特別有關於快閃記憶體(FLASH memory)控制技術。
現今資料儲存裝置常以快閃記憶體(FLASH memory)為儲存媒體,常見型式包括非及閘型快閃記憶體(即NAND FLASH)…等。
快閃記憶體常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)…等產品。另外有一種應用是採多晶片封裝、將快閃記憶體與其控制器包裝在一起一稱為嵌入式快閃記憶體模組(eMMC)。
快閃記憶體的實體空間通常包括複數個區塊(blocks)。各區塊包括複數頁(pages)。一區塊需要完整抹除(erase)後方能被重新配置。快閃記憶體之資料更新並非對同樣儲存空間作複寫,而是將更新資料儲存在閒置空間,至於舊儲存內容則轉為無效。快閃記憶體如此操作特性使得其儲存空間之管理明顯複雜、且不同於其他類型的儲存記憶元件。針對快閃記憶體而特別設計的快閃記憶體控制器相應產生。
隨著製成尺寸精化,快閃記憶體控制器的可靠度
也遭受考驗。特別是,宇宙粒子對精細製程之半導體產品會有一定的損害,例如,粒子撞擊現象(Neutron Strike)。當這些粒子撞擊到快閃記憶體控制器中儲存空間時,儲存空間中的資料可能會產生錯誤。
本說明書揭露多種實施方式提供高可靠度的快閃記憶體控制技術。
在本發明一種實施方式中,所揭露的一快閃記憶體控制器係以一第一揮發性記憶空間儲存一主機以及一快閃記憶體之間的邏輯-物理位址映射表之數據,並且,該快閃記憶體控制器的微控制器使該第一揮發性記憶空間更儲存上述邏輯-物理位址映射表之數據的偵錯碼。該微控制器在讀取該第一揮發性記憶空間時包括基於上述偵錯碼實施一偵錯程序。當該偵錯程序指示該邏輯-物理位址映射表之數據產生錯誤時,該微控制器係基於上述邏輯-物理位址映射表的一備份修復該第一揮發性記憶空間上的上述邏輯-物理位址映射表之數據。
另有一實施方式是將上述快閃記憶體控制器以及快閃記憶體結合製作成一資料儲存裝置。
另一種實施方式則是揭露一種快閃記憶體控制方法,包括以下步驟:提供一第一揮發性記憶空間,用作儲存該主機以及該快閃記憶體之間的邏輯-物理位址映射表之數據,並儲存上述邏輯-物理位址映射表之暫存數據的偵錯碼;且在讀取該第一揮發性記憶空間時基於上述偵錯碼實施一偵錯程
序,並且,當該偵錯程序指示該邏輯-物理位址映射表之數據產生錯誤時,基於上述邏輯-物理位址映射表之數據的一備份修復該第一揮發性記憶空間所儲存的該邏輯-物理位址映射表之數據。
下文特舉實施例,並配合所附圖式,詳細說明本發明內容。
100‧‧‧資料儲存裝置
102‧‧‧快閃記憶體
104‧‧‧快閃記憶體控制器
106‧‧‧主機
108‧‧‧非揮發性記憶體
122‧‧‧偵錯(EDC)模組
124‧‧‧錯誤校正(ECC)模組
BLK‧‧‧區塊
Codes‧‧‧韌體程式碼
Codes_with_ECC、FIFO_with_ECC‧‧‧揮發性記憶空間
DataBlks‧‧‧資料區塊
MCU‧‧‧微控制器
S202…S206、S302…S312、S402…S406‧‧‧步驟
Table_Backup‧‧‧邏輯-物理位址映射表備份
Table_with_EDC‧‧‧揮發性記憶空間
第1圖根據本發明一種實施方式圖解一資料儲存裝置100,更圖解其中所使用的一快閃記憶體控制器104;第2圖為流程圖,根據本發明一種實施方式圖解一快閃記憶體控制器之揮發性記憶空間的寫入操作;第3圖為流程圖,根據本發明一種實施方式圖解一快閃記憶體控制器之揮發性記憶空間的讀取操作;第4圖為流程圖,根據本發明一種實施方式圖解一快閃記憶體控制器之揮發性記憶空間所暫存的映射表之修復操作。
以下敘述列舉本發明的多種實施例。以下敘述介紹本發明的基本概念,且並非意圖限制本發明內容。實際發明範圍應依照申請專利範圍界定之。
第1圖根據本發明一種實施方式圖解一資料儲存裝置100。資料儲存裝置100包括一快閃記憶體(FLASH memory)102以及一快閃記憶體控制器104。快閃記憶體控制器104係根據一主機106所下達的指令操作該快閃記憶體102。
快閃記憶體102的儲存空間係劃分為複數個區塊(blocks,圖示符號為BLK),各區塊BLK之空間更劃分為複數頁(pages)。快閃記憶體102之物理空間規劃係與主機106端的邏輯位址有對應關係,此對應關係為主機106以及快閃記憶體102之間的一邏輯-物理位址映射表(logical-to-physical address mapping table)。快閃記憶體102除了有多個區塊配置成的資料區塊DataBlks,更可儲存上述邏輯-物理位址映射表之備份Table_Backup、以及韌體程式碼Codes。在一實施例中,此韌體程式碼Codes為該主機106執行開機程序的一開機程式碼(Booting Code)。
參考第1圖所示之快閃記憶體控制器104架構,透過信號傳輸介面,快閃記憶體控制器104可執行快閃記憶體102以及主機106之間的資料存取。快閃記憶體控制器104提供有一微控制器(microcontroller)MCU、偵錯模組(error detection module)EDC模組122、錯誤校正模組(error correction module)ECC模組124以及揮發性記憶空間Table_with_EDC、FIFO_with_ECC、以及Codes_with_ECC。在微控制器MCU控制下,偵錯模組EDC模組122可對傳輸於兩個信號傳輸介面之間的資料實施一偵錯程序,並產生對應於該資料的偵錯碼(error detection code)。相似的,在微控制器MCU控制下,錯誤校正模組ECC模組124可對傳輸於兩個信號傳輸介面之間的資料實施一錯誤校正程序,並產生對應於該資料的錯誤校正碼(error correction code)。在微控制器MCU控制下,揮發性記憶空間Table_with_EDC用暫存主機106以及快閃記憶體102之間的邏
輯-物理位址映射表之數據,以及上述邏輯-物理位址映射表之數據的偵錯碼。在一實施例中,偵錯模組EDC模組是以總和檢查運算(check sum)的方式對偵錯碼偵錯。揮發性記憶空間FIFO_with_ECC用作主機106以及快閃記憶體102之間的資料緩衝(如,採先進先出(FIFO)技術),以及儲存緩衝於其中緩衝之資料的錯誤校正碼(如ECC codes)。揮發性記憶空間Codes_with_ECC則用以儲存由快閃記憶體102載出的韌體程式碼Codes,以及儲存韌體程式碼Codes的錯誤校正碼(如ECC codes)。
一種實施方式係令該快閃記憶體控制器104以一靜態隨機存取記憶體(SRAM)提供上述第一、第二與第三揮發性記憶空間。
藉由以上揮發性記憶空間Table_with_EDC、FIFO_with_ECC、以及Codes_with_ECC之規劃,快閃記憶體控制器104可靠度大幅提升。
以搭配偵錯碼與錯誤校正碼技術的揮發性記憶空間FIFO_with_ECC、Codes_with_ECC而言,錯誤可基於其偵錯碼與錯誤校正碼簡單偵測或校正。一種實施方式中,揮發性記憶空間FIFO_with_ECC、或Codes_with_ECC之數據所搭配的錯誤校正碼係對512位元組數據有1位元校錯的能力。
至於揮發性記憶空間Table_with_EDC,考慮邏輯-物理位址映射表龐大的數據量,僅搭配偵錯碼(如,運用低運算量的總和檢查運算)。一種實施方式中,揮發性記憶空間Table_with_EDC係對512位元組的映射數據搭配1位元的偵錯
碼。
如前所述,揮發性記憶空間Table_with_EDC可用以儲存主機106以及快閃記憶體102之間的邏輯-物理位址映射表之數據,以及暫存邏輯-物理位址映射表之數據的偵錯碼。微控制器MCU在讀取揮發性記憶空間Table_with_EDC時係基於上述偵錯碼實施一偵錯程序,以判斷暫存邏輯-物理位址映射表之數據是否產生錯誤。一旦偵測到錯誤,微控制器MCU可基於邏輯-物理位址映射表的備份Table_Backup修復該揮發性記憶空間Table_with_EDC中的邏輯-物理位址映射表的備份。在一實施方式中,邏輯-物理位址映射表可以是備份在主機106的一非揮發性記憶體108中或快閃記憶體102中的一非揮發性記憶體(如備份Table_Backup)。
在此要特別說明的是,習知技術中快閃記憶體控制器通常不具有揮發性記憶體的資料偵錯或校正功能。因此當習知技術的快閃記憶體控制器的揮發性記憶體中的資料因不預期的因素產生錯誤時,通常無法復原。基於本發明以上技術,即便揮發性記憶空間Table_with_EDC、FIFO_with_ECC、以及Codes_with_ECC的資料因不預期的因素產生錯誤(如受宇宙粒子撞擊轉態)時,微控制器MCU也得以察覺並修復之。
本發明一種實施方式特別以定週期方式(固定時間間隔T)對主機106與快閃記憶體102之間的邏輯-物理位址映射表作備份。該固定時間間隔T可基於快閃記憶體控制器104該些揮發性記憶空間Table_with_EDC、FIFO_with_ECC、以及Codes_with_ECC之製程條件而設定,使各偵錯碼所負責偵錯的
數據在固定時間間隔T內之宇宙粒子撞擊轉態之發生次數不超過各偵錯碼之偵錯能力。例如,以總和檢查運算(check sum)為例,特定製程條件之半導體在固定時間間隔T中至多只能發生一次宇宙粒子撞擊轉態。固定時間間隔T可以實驗平均估算獲得。
此外,以上揮發性記憶空間Table_with_EDC、FIFO_with_ECC、以及Codes_with_ECC之偵錯與修復可在多種時間點執行。以下特別以揮發性記憶空間Table_with_EDC為例,凡是有需要讀取或修改揮發性記憶空間Table_with_EDC之數據,都可執行上述偵錯與修復。例如,主機106要求讀取快閃記憶體102資料區塊DataBlks時,微處理器MCU即需要自揮發性記憶空間Table_with_EDC讀取邏輯-物理位址映射表,此時即可進行上述偵錯與修復。此外,在基於揮發性記憶空間Table_with_EDC之內容作邏輯-物理位址映射表之備份時(備份至快閃記憶體102的備份Table_Backup、或備份至主機106的非揮發性記憶體108),揮發性記憶空間Table_with_EDC也會被讀取,此時機點也可進行上述偵錯與修復,以確保係對正確資料作備份。另外,微控制器MCU在將上述邏輯-物理位址映射表之數據載入揮發性記憶空間Table_with_EDC之前也可對欲載入之邏輯-物理位址映射表數據基於所對應之偵錯碼進行偵錯程序。揮發性記憶空間FIFO_with_ECC以及Codes_with_ECC之數據的錯誤校正程序也可類似以上時間點進行。
第2圖為流程圖,根據本發明一種實施方式圖解一快閃記憶體控制器之揮發性記憶空間的寫入操作。步驟S202
作資料類型判斷。倘若資料為邏輯-物理位址映射表,寫入動作是採步驟S204,執行偵錯碼(如,EDC codes)編碼,並使邏輯-物理位址映射表的儲存數據搭配其偵錯碼寫入如第1圖所示之揮發性記憶空間Table_with_EDC。倘若資料為溝通於主機106與快閃記憶體102間的緩衝資料、或資料為載自快閃記憶體102的韌體程式碼Codes,寫入動作是採步驟S206,執行錯誤校正碼(如,ECC codes)編碼,並使緩衝資料、或韌體程式碼搭配錯誤校正碼寫入如第1圖所示之揮發性記憶空間FIFO_with_ECC或Codes_with_ECC。
第3圖為流程圖,根據本發明一種實施方式圖解一快閃記憶體控制器之揮發性記憶空間的讀取操作。步驟S302作資料類型判斷。倘若資料為邏輯-物理位址映射表,讀取動作是採步驟S304,基於所讀取數據對應的偵錯碼進行偵錯。倘若步驟S306判定無錯誤,流程進行步驟S308,以正確的邏輯物理位址映射表作為讀出資料。倘若步驟S306判定有錯誤,流程進行步驟S310,修復映射表後再作步驟S308,以正確的邏輯物理位址映射表作為讀出資料。倘若資料為緩衝資料、或韌體程式碼,讀取動作是採步驟S312,基於錯誤校正碼校錯,以正確的緩衝資料、或韌體程式碼作為讀出資料。
第4圖為流程圖,根據本發明一種實施方式圖解快閃記憶體控制器104之揮發性記憶空間Table_with_EDC所暫存的邏輯-物理位址映射表數據之修復操作。步驟S402負責取得最近一次更新的邏輯-物理位址映射表之備份,可取自快閃記憶體102內的Table_Backup或主機106之非揮發性記憶體108。
步驟S404負責掃描快閃記憶體102,尋得邏輯-物理位址映射表之備份中來不及更新的資訊。步驟S406則是基於步驟S402所取得最近一次更新的的邏輯-物理位址映射表之備份、以及步驟S404自備份中來不及更新的資訊,修復快閃記憶體控制器104之揮發性記憶空間Table_with_EDC所暫存的邏輯-物理位址映射表相關數據。
在一種實施方式中,上述技術步驟皆可以程式化方式呈韌體實現;相關程式碼可內建於快閃記憶體控制器中,或在資料儲存裝置開機時載入該快閃記憶體控制器,且係由快閃記憶體控制器之微控制器執行。此外,其他採用同樣概念控制一快閃記憶體的技術都屬於本案所欲保護的範圍。本案更涉及快閃記憶體的控制方法,不限定以特定控制器架構實現。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧資料儲存裝置
102‧‧‧快閃記憶體
104‧‧‧快閃記憶體控制器
106‧‧‧主機
108‧‧‧非揮發性記憶體
122‧‧‧偵錯(EDC)模組
124‧‧‧錯誤校正(ECC)模組
BLK‧‧‧區塊
Codes‧‧‧韌體程式碼
Codes_with_ECC、FIFO_with_ECC‧‧‧揮發性記憶空間
DataBlks‧‧‧資料區塊
MCU‧‧‧微控制器
Table_Backup‧‧‧邏輯-物理位址映射表備份
Table_with_EDC‧‧‧揮發性記憶空間
Claims (15)
- 一種快閃記憶體控制器,根據一主機所下達的指令操作一快閃記憶體,包括:一第一揮發性記憶空間,用以儲存該主機以及該快閃記憶體之間的邏輯-物理位址映射表之數據,以及儲存該邏輯-物理位址映射表之數據的偵錯碼;以及一微控制器,用以在讀取該第一揮發性記憶空間時基於上述偵錯碼實施一偵錯程序;其中,當該偵錯程序指示儲存於該第一揮發性記憶空間上的該邏輯-物理位址映射表之數據產生錯誤時,該微控制器基於上述邏輯-物理位址映射表之數據的一備份修復該第一揮發性記憶空間上的上述邏輯-物理位址映射表之數據。
- 如申請專利範圍第1項所述之快閃記憶體控制器,其中該微控制器以一固定時間間隔更新該備份;且上述固定時間間隔係基於該第一揮發性記憶空間之製程條件而設定,使該第一揮發性記憶空間中各偵錯碼所負責偵錯的數據在上述固定時間間隔內之宇宙粒子撞擊轉態發生次數不超過各偵錯碼之偵錯能力。
- 如申請專利範圍第1項所述之快閃記憶體控制器,其中,該備份係儲存於該快閃記憶體或儲存於該主機的一非揮發性記憶體上。
- 如申請專利範圍第1項所述之快閃記憶體控制器,其中:該微控制器更在將上述邏輯-物理位址映射表之數據載入該第一揮發性記憶空間之前對欲載入之上述邏輯-物理位址映 射表之數據基於所對應之該偵錯碼實施該偵錯程序,該偵錯碼係由一偵錯模組產生。
- 如申請專利範圍第1項所述之快閃記憶體控制器,更包括:一第二揮發性記憶空間,用作該主機以及該快閃記憶體之間的資料緩衝,以及儲存緩衝於其中之資料的一錯誤校正碼,其中:該微控制器更在讀取該第二揮發性記憶空間時基於上述錯誤校正碼實施一錯誤校正程序;上述錯誤校正碼由一錯誤校正模組產生。
- 如申請專利範圍第5項所述之快閃記憶體控制器,更包括:一靜態隨機存取記憶體,提供上述第一與第二揮發性記憶空間。
- 如申請專利範圍第1項所述之快閃記憶體控制器,更包括:一第三揮發性記憶空間,用以儲存由該快閃記憶體載出的韌體程式碼,以及儲存該韌體程式碼的錯誤校正碼;其中,該微控制器在讀取該第三揮發性記憶空間時基於上述錯誤校正碼實施一錯誤校正程序;其中,上述錯誤校正碼由一錯誤校正模組產生。
- 如申請專利範圍第7項所述之快閃記憶體控制器,更包括:一靜態隨機存取記憶體,提供上述第一與第三揮發性記憶空間。
- 一種資料儲存裝置,包括如申請專利範圍第1項所述之快閃記憶體控制器以及上述快閃記憶體。
- 一種快閃記憶體控制方法,根據一主機所下達的指令操作一快閃記憶體,包括:提供一第一揮發性記憶空間,用以儲存該主機以及該快閃記憶體之間的邏輯-物理位址映射表之數據,以及儲存該邏輯-物理位址映射表之數據的偵錯碼;以及在讀取該第一揮發性記憶空間時基於上述偵錯碼實施一偵錯程序,其中,當該偵錯程序指示儲存於該第一揮發性記憶空間上的該邏輯-物理位址映射表之數據產生錯誤時,基於上述邏輯-物理位址映射表之數據的一備份修復該第一揮發性記憶空間所儲存的該邏輯-物理位址映射表之數據。
- 如申請專利範圍第10項所述之快閃記憶體控制方法,更包括:以一固定時間間隔更新該備份;其中,上述固定時間間隔係基於該第一揮發性記憶空間之製程條件而設定,使該第一揮發性記憶空間中各偵錯碼所負責偵錯的數據在上述固定時間間隔內之宇宙粒子撞擊轉態發生次數不超過各偵錯碼之偵錯能力。
- 如申請專利範圍第10項所述之快閃記憶體控制方法,更包括:以該快閃記憶體、或該主機內的一非揮發性記憶體儲存上述邏輯-物理位址映射表之數據的該備份。
- 如申請專利範圍第10項所述之快閃記憶體控制方法,更包括: 在將上述邏輯-物理位址映射表之數據載入該第一揮發性記憶空間之前,對欲載入之上述邏輯-物理位址映射表之數據基於所對應之該偵錯碼實施該偵錯程序,該偵錯碼係由一偵錯模組產生。
- 如申請專利範圍第10項所述之快閃記憶體控制方法,更包括:提供一第二揮發性記憶空間,用作該主機以及該快閃記憶體之間的資料緩衝,以及儲存緩衝於其中之資料的一錯誤校正碼;以及在讀取該第二揮發性記憶空間時,基於上述錯誤校正碼實施一錯誤校正程序;其中,上述錯誤校正碼由一錯誤校正模組產生。
- 如申請專利範圍第10項所述之快閃記憶體控制方法,更包括:提供一第三揮發性記憶空間,用以儲存由該快閃記憶體載出的韌體程式碼,以及儲存該韌體程式碼的錯誤校正碼;以及在讀取該第三揮發性記憶空間時,基於上述錯誤校正碼實施一錯誤校正程序;其中,上述錯誤校正碼由一錯誤校正模組產生。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103114630A TWI522804B (zh) | 2014-04-23 | 2014-04-23 | 快閃記憶體控制器以及資料儲存裝置以及快閃記憶體控制方法 |
CN201410218979.XA CN103995784B (zh) | 2014-04-23 | 2014-05-22 | 快闪存储器控制器与存储装置以及快闪存储器控制方法 |
US14/514,733 US9817725B2 (en) | 2014-04-23 | 2014-10-15 | Flash memory controller, data storage device, and flash memory control method with volatile storage restoration |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103114630A TWI522804B (zh) | 2014-04-23 | 2014-04-23 | 快閃記憶體控制器以及資料儲存裝置以及快閃記憶體控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201541251A TW201541251A (zh) | 2015-11-01 |
TWI522804B true TWI522804B (zh) | 2016-02-21 |
Family
ID=51309956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103114630A TWI522804B (zh) | 2014-04-23 | 2014-04-23 | 快閃記憶體控制器以及資料儲存裝置以及快閃記憶體控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9817725B2 (zh) |
CN (1) | CN103995784B (zh) |
TW (1) | TWI522804B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10379926B2 (en) * | 2014-08-05 | 2019-08-13 | Macronix International Co., Ltd. | Method and device for monitoring data error status in a memory |
CN106303708A (zh) * | 2015-06-02 | 2017-01-04 | 冠捷投资有限公司 | 内存备份的方法 |
CN105159697A (zh) * | 2015-07-09 | 2015-12-16 | 捷鼎国际股份有限公司 | 存贮装置的韧体更新结构及方法 |
US10255004B2 (en) * | 2015-11-16 | 2019-04-09 | Marvell World Trade Ltd. | Systems and methods for managing address-mapping data in memory devices |
TWI587132B (zh) * | 2016-01-21 | 2017-06-11 | 瑞昱半導體股份有限公司 | 記憶體裝置以及映射表保證方法 |
CN107015913B (zh) * | 2016-01-28 | 2020-06-05 | 合肥沛睿微电子股份有限公司 | 记忆体装置以及映射表保证方法 |
CN107765989B (zh) * | 2016-08-16 | 2020-08-11 | 上海磁宇信息科技有限公司 | 一种存储设备控制芯片、存储设备及存储设备管理方法 |
US10127103B2 (en) * | 2016-09-07 | 2018-11-13 | Sandisk Technologies Llc | System and method for detecting and correcting mapping table errors in a non-volatile memory system |
TWI592796B (zh) * | 2016-09-19 | 2017-07-21 | Univ Nat Central | 運用於雲端服務之虛擬機之封包察覺式容錯方法及系統、電腦可讀取之記錄媒體及電腦程式產品 |
CN106875977A (zh) * | 2017-02-27 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种固态硬盘调试方法及装置 |
CN108572887A (zh) * | 2017-03-14 | 2018-09-25 | 上海骐宏电驱动科技有限公司 | 数据检验校正方法 |
US10339343B2 (en) * | 2017-06-06 | 2019-07-02 | Western Digital Technologies, Inc. | Storage system and method for improved generation and storage of data protection information |
KR20190004094A (ko) * | 2017-07-03 | 2019-01-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
CN108228104B (zh) * | 2017-12-29 | 2021-04-20 | 深圳忆联信息系统有限公司 | 数据传输方法及固态硬盘控制器 |
US10594366B2 (en) | 2018-04-26 | 2020-03-17 | RayMX Microelectronics, Corp. | Storage device, memory controller circuit, and monitoring method thereof |
TWI668566B (zh) * | 2018-06-05 | 2019-08-11 | 和碩聯合科技股份有限公司 | 記憶體檢測系統、記憶體檢測方法以及用於記憶體檢測的錯誤映射表建立方法 |
KR102589402B1 (ko) | 2018-10-04 | 2023-10-13 | 삼성전자주식회사 | 스토리지 디바이스 및 스토리지 디바이스의 동작 방법 |
CN109446108A (zh) * | 2018-10-25 | 2019-03-08 | 江苏华存电子科技有限公司 | 一种基于静态随机存取存储器快速搜寻有效闪存页的方法 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6708231B1 (en) * | 1999-08-12 | 2004-03-16 | Mitsumi Electric Co., Ltd. | Method and system for performing a peripheral firmware update |
GB0123415D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
GB2402803B (en) * | 2003-06-11 | 2006-06-28 | Ibm | Arrangement and method for detection of write errors in a storage system |
KR20070060101A (ko) * | 2004-08-30 | 2007-06-12 | 실리콘 스토리지 테크놀로지 인크 | 무선 단말기에서의 비휘발성 메모리 관리 시스템 및 방법 |
US8341491B2 (en) * | 2007-07-16 | 2012-12-25 | Cadence Design Systems, Inc. | System and method for providing data integrity in a non-volatile memory system |
US8656083B2 (en) * | 2007-12-21 | 2014-02-18 | Spansion Llc | Frequency distributed flash memory allocation based on free page tables |
US7941692B2 (en) * | 2007-12-31 | 2011-05-10 | Intel Corporation | NAND power fail recovery |
TWI362668B (en) * | 2008-03-28 | 2012-04-21 | Phison Electronics Corp | Method for promoting management efficiency of an non-volatile memory storage device, non-volatile memory storage device therewith, and controller therewith |
US8185778B2 (en) * | 2008-04-15 | 2012-05-22 | SMART Storage Systems, Inc. | Flash management using separate metadata storage |
US7917803B2 (en) * | 2008-06-17 | 2011-03-29 | Seagate Technology Llc | Data conflict resolution for solid-state memory devices |
JP2010152542A (ja) * | 2008-12-24 | 2010-07-08 | Toshiba Corp | メモリシステム |
US8429135B1 (en) * | 2009-06-11 | 2013-04-23 | Cisco Technology, Inc. | Processor fault tolerance through translation lookaside buffer refresh |
KR101631162B1 (ko) * | 2009-06-11 | 2016-06-17 | 삼성전자주식회사 | 플래시 메모리를 구비하는 저장 장치 및 이의 데이터 저장 방법 |
US8495423B2 (en) * | 2009-08-11 | 2013-07-23 | International Business Machines Corporation | Flash-based memory system with robust backup and restart features and removable modules |
TWI408551B (zh) * | 2009-10-28 | 2013-09-11 | Phison Electronics Corp | 快閃記憶體儲存系統及其控制器與資料處理方法 |
CN101876949B (zh) * | 2009-11-30 | 2012-04-25 | 威盛电子股份有限公司 | 数据储存系统与方法 |
KR101139187B1 (ko) * | 2009-12-28 | 2012-04-26 | (주)인디링스 | 버퍼 없이 에러를 검출하고 정정하는 컨트롤러 및 그 컨트롤러의 동작 방법 |
TWI493340B (zh) * | 2009-12-28 | 2015-07-21 | Via Tech Inc | 資料儲存系統與方法 |
JP4901987B1 (ja) * | 2010-09-14 | 2012-03-21 | 株式会社東芝 | 記憶装置、電子機器及び誤りデータの訂正方法 |
US8645609B2 (en) * | 2010-12-06 | 2014-02-04 | Brocade Communications Systems, Inc. | Two-port memory implemented with single-port memory blocks |
TWI447579B (zh) | 2011-05-18 | 2014-08-01 | Phison Electronics Corp | 程式碼載入與存取方法、記憶體控制器與記憶體儲存裝置 |
WO2011127866A2 (zh) | 2011-05-27 | 2011-10-20 | 华为技术有限公司 | 数据处理方法、装置及系统 |
KR20130076430A (ko) * | 2011-12-28 | 2013-07-08 | 삼성전자주식회사 | 적응적 카피백 방법 및 이를 이용한 저장 장치 |
TWI521528B (zh) * | 2012-08-08 | 2016-02-11 | 群聯電子股份有限公司 | 記憶體儲存裝置、其記憶體控制器與資料處理方法 |
US9268682B2 (en) | 2012-10-05 | 2016-02-23 | Skyera, Llc | Methods, devices and systems for physical-to-logical mapping in solid state drives |
US9489296B1 (en) * | 2012-10-17 | 2016-11-08 | Western Digital Technologies, Inc. | Methods, devices and systems for hardware-based garbage collection in solid state drives |
US9251067B1 (en) * | 2012-11-01 | 2016-02-02 | Western Digital Technologies, Inc. | High speed trim command processing in a solid state drive |
US9454474B2 (en) * | 2013-03-05 | 2016-09-27 | Western Digital Technologies, Inc. | Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive |
US20140281148A1 (en) * | 2013-03-15 | 2014-09-18 | Kabushiki Kaisha Toshiba | Memory system |
US9170938B1 (en) * | 2013-05-17 | 2015-10-27 | Western Digital Technologies, Inc. | Method and system for atomically writing scattered information in a solid state storage device |
US8953365B2 (en) * | 2013-06-07 | 2015-02-10 | International Business Machines Corporation | Capacitor backup for SRAM |
US9135113B2 (en) * | 2013-10-08 | 2015-09-15 | Apple Inc. | Recovery from programming failure in non-volatile memory |
TWI502345B (zh) * | 2014-05-12 | 2015-10-01 | Via Tech Inc | 快閃記憶體控制晶片以及資料儲存裝置以及快閃記憶體控制方法 |
-
2014
- 2014-04-23 TW TW103114630A patent/TWI522804B/zh active
- 2014-05-22 CN CN201410218979.XA patent/CN103995784B/zh active Active
- 2014-10-15 US US14/514,733 patent/US9817725B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9817725B2 (en) | 2017-11-14 |
CN103995784B (zh) | 2017-12-01 |
US20150309886A1 (en) | 2015-10-29 |
CN103995784A (zh) | 2014-08-20 |
TW201541251A (zh) | 2015-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI522804B (zh) | 快閃記憶體控制器以及資料儲存裝置以及快閃記憶體控制方法 | |
JP5675954B2 (ja) | メタデータタグを介した不規則なパリティ分布の検出 | |
US8271515B2 (en) | System and method for providing copyback data integrity in a non-volatile memory system | |
TWI546666B (zh) | 資料儲存裝置以及快閃記憶體控制方法 | |
US8478930B1 (en) | Solid state drive power safe wear-leveling | |
TWI662410B (zh) | 資料儲存裝置與記憶體裝置之資料處理方法 | |
TW201916018A (zh) | 資料儲存裝置與將資料寫入記憶體裝置之方法 | |
US8645776B2 (en) | Run-time testing of memory locations in a non-volatile memory | |
US7450436B2 (en) | Device recoverable purge for flash storage device | |
US20070170268A1 (en) | Memory cards, nonvolatile memories and methods for copy-back operations thereof | |
US8495281B2 (en) | Intra-block memory wear leveling | |
TWI512742B (zh) | 非揮發性快閃記憶體擦除異常存儲塊修復方法和裝置 | |
JP2008198310A (ja) | ビットエラーの修復方法および情報処理装置 | |
US10635527B2 (en) | Method for processing data stored in a memory device and a data storage device utilizing the same | |
US20150046772A1 (en) | Method and device for error correcting code (ecc) error handling | |
TWI509615B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TW201618113A (zh) | 資料儲存裝置以及快閃記憶體控制方法 | |
CN112673356A (zh) | 快速非易失性存储装置恢复技术 | |
US20190391874A1 (en) | Memory storage apparatus with dynamic data repair mechanism and method of dynamic data repair thereof | |
US20070101049A1 (en) | Redundant purge for flash storage device | |
JP2010079686A (ja) | データ処理装置、メモリ制御回路およびメモリ制御方法 | |
TWI779209B (zh) | 具有動態資料修復機制的記憶體存放裝置及其動態資料修復的方法 | |
CN112151104B (zh) | 存储器存放装置及其动态数据修复的方法 | |
US20070101048A1 (en) | Verified purge for flash storage device | |
TWI476589B (zh) | 記憶體編程方法及應用其之快閃記憶體裝置 |