TWI684988B - 錯誤處置方法以及資料儲存裝置及其控制器 - Google Patents
錯誤處置方法以及資料儲存裝置及其控制器 Download PDFInfo
- Publication number
- TWI684988B TWI684988B TW108116832A TW108116832A TWI684988B TW I684988 B TWI684988 B TW I684988B TW 108116832 A TW108116832 A TW 108116832A TW 108116832 A TW108116832 A TW 108116832A TW I684988 B TWI684988 B TW I684988B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- controller
- cache
- volatile memory
- storage device
- Prior art date
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Read Only Memory (AREA)
Abstract
本發明提供一種錯誤處置方法以及資料儲存裝置及其控制器。該錯誤處置方法可包含:將一錯誤處置程式上傳至具備ECC保護的能力之緩衝記憶體;因應至少一錯誤,中斷目前程序的執行並啟動中斷服務;執行該緩衝記憶體上的該錯誤處置程式;停用一傳輸介面電路;重設至少一硬體引擎以及非揮發性記憶體元件;針對該資料儲存裝置中之一資料快取進行快取重新整理,且將重新整理後的快取資料編程至非揮發性記憶體元件,以進行資料復原;以及透過啟動一看門狗模組與該傳輸介面電路並與一主機重新連線,來完成軟重設,以使該資料儲存裝置再度正常地運作。
Description
本發明係有關於快閃記憶體(Flash memory)之存取(access),尤指一種錯誤處置(error handling)方法以及相關之資料儲存裝置及其控制器。
快閃記憶體可廣泛地應用於各種可攜式或非可攜式資料儲存裝置(例如:符合SD/MMC、CF、MS、XD或UFS標準之記憶卡;又例如:固態硬碟;又例如:符合UFS或EMMC規格之嵌入式(embedded)儲存裝置)中。以常用的NAND型快閃記憶體而言,最初有單階細胞(single level cell,SLC)、多階細胞(multiple level cell,MLC)等類型的快閃記憶體。由於記憶體的技術不斷地發展,較新的資料儲存裝置產品可採用三階細胞(triple level cell,TLC)快閃記憶體,甚至四階細胞(quadruple level cell,QLC)快閃記憶體。為了確保資料儲存裝置對快閃記憶體之存取控制能符合相關規範,快閃記憶體的控制器通常備有某些管理機制以妥善地管理其內部運作。
依據相關技術,有了這些管理機制的資料儲存裝置還是有不足之處。舉例來說,隨著半導體製程中的元件密度越來越高,軟錯誤(soft error)之發生率也變得更高。當軟錯誤發生時,常常伴隨著位元翻轉(Bit flip)的錯誤。相關技術中提出了某些建議,以嘗試避免此狀況變得更糟。不論這些建議中之哪一個建議被採用,當錯誤位元的數量超過某錯誤更正機制可更正的範圍時,傳統架構典型地控制資料儲存裝置進入系統停止(system halt)狀態,以防止各種不可預期的錯誤進一步發生。然而,傳統架構之這樣的控制一定造成整個資料儲存裝置無法繼續操作,且大幅地增加使用者資料遺失(data loss)的風險。因此,需要一種新穎的方法及相關架構,以在沒有副作用或較不可能帶來副作用之狀況下實現具有可靠的管理機制之資料儲存裝置。
本發明之一目的在於提供一種錯誤處置(error handling)方法以及相關之資料儲存裝置及其控制器,以解決上述問題。
本發明之另一目的在於提供一種錯誤處置方法以及相關之資料儲存裝置及其控制器,以在沒有副作用或較不可能帶來副作用之狀況下將可靠的管理機制賦予資料儲存裝置。
本發明之至少一實施例提供一種錯誤處置方法,其中該錯誤處置方法係應用於一資料儲存裝置,該資料儲存裝置包含一非揮發性記憶體(non-volatile memory,NV memory)以及用來控制該非揮發性記憶體的存取之一記憶體控制器,該非揮發性記憶體包含至少一非揮發性記憶體元件(NV memory element),以及上述至少一非揮發性記憶體元件包含複數個區塊。該錯誤處置方法可包含:將一錯誤處置程式上傳(upload)至具備錯誤更正碼(Error Correction Code,ECC)保護能力之一緩衝記憶體,其中該緩衝記憶體係位於該記憶體控制器中;因應至少一錯誤,中斷目前程序的執行並啟動中斷服務;執行該緩衝記憶體上的該錯誤處置程式;停用(disable)一傳輸介面電路,其中該傳輸介面電路係位於該記憶體控制器中,且係用來對一主機(host device)進行通訊;重設至少一硬體引擎以及該至少一非揮發性記憶體元件;針對該資料儲存裝置中之一資料快取進行快取重新整理,且將重新整理後的快取資料編程至該至少一非揮發性記憶體元件,以進行資料復原;以及透過啟動該記憶體控制器中之一看門狗(Watchdog)模組、且啟動該傳輸介面電路並與該主機重新連線,來完成軟重設(soft reset),以使該資料儲存裝置再度正常地運作。
本發明之至少一實施例提供一種資料儲存裝置,其可包含:一非揮發性記憶體,用來儲存資訊,其中該非揮發性記憶體包含至少一非揮發性記憶體元件,以及上述至少一非揮發性記憶體元件包含複數個區塊;以及一控制器,耦接至該非揮發性記憶體,用來控制該資料儲存裝置之運作。該控制器可包含一緩衝記憶體,用來暫時地儲存資訊;符合一特定通訊標準之一傳輸介面電路,用來依據該特定通訊標準進行通訊;以及一處理電路,其中該處理電路可依據來自一主機(host device)的複數個主機命令(host command)控制該控制器,以容許該主機透過該控制器存取該非揮發性記憶體。例如:該控制器將一錯誤處置程式上傳至具備錯誤更正碼(ECC)保護能力之該緩衝記憶體;因應至少一錯誤,該控制器中斷目前程序的執行並啟動中斷服務;該控制器執行該緩衝記憶體上的該錯誤處置程式;該控制器停用該傳輸介面電路,其中該傳輸介面電路係用來對該主機進行通訊;該控制器重設至少一硬體引擎以及該至少一非揮發性記憶體元件;該控制器針對該資料儲存裝置中之一資料快取進行快取重新整理,且將重新整理後的快取資料編程至該至少一非揮發性記憶體元件,以進行資料復原;以及該控制器透過啟動該記憶體控制器中之一看門狗模組、且啟動該傳輸介面電路並與該主機重新連線,來完成軟重設,以使該資料儲存裝置再度正常地運作。
本發明之至少一實施例提供一種資料儲存裝置之控制器,其中該資料儲存裝置包含該控制器與一非揮發性記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,以及上述至少一非揮發性記憶體元件包含複數個區塊。該控制器可包含一緩衝記憶體,用來暫時地儲存資訊;符合一特定通訊標準之一傳輸介面電路,用來依據該特定通訊標準進行通訊;以及一處理電路,其中該處理電路可依據來自一主機的複數個主機命令控制該控制器,以容許該主機透過該控制器存取該非揮發性記憶體。例如:該控制器將一錯誤處置程式上傳至具備錯誤更正碼(ECC)保護能力之該緩衝記憶體;因應至少一錯誤,該控制器中斷目前程序的執行並啟動中斷服務;該控制器執行該緩衝記憶體上的該錯誤處置程式;該控制器停用該傳輸介面電路,其中該傳輸介面電路係用來對該主機進行通訊;該控制器重設至少一硬體引擎以及該至少一非揮發性記憶體元件;該控制器針對該資料儲存裝置中之一資料快取進行快取重新整理,且將重新整理後的快取資料編程至該至少一非揮發性記憶體元件,以進行資料復原;以及該控制器透過啟動該記憶體控制器中之一看門狗模組、且啟動該傳輸介面電路並與該主機重新連線,來完成軟重設,以使該資料儲存裝置再度正常地運作。
本發明的好處之一是,透過仔細設計之管理機制,本發明能針對該控制器的運作進行妥善的控制,尤其,使資料儲存裝置能於軟錯誤(soft error)發生時進行自我修復,例如在資料儲存裝置遭受干擾(例如:輻射、雜訊等)的情況下。由於資料儲存裝置能於軟錯誤發生時進行自我修復,故本發明能降低軟錯誤率(Soft Error Rate,SER),並且也能夠極度地降低使用者資料遺失的風險。另外,依據本發明之實施例來實施並不會增加許多額外的成本。因此,相關技術的問題可被解決,且整體成本不會增加太多。相較於傳統架構,本發明能在沒有副作用或較不可能帶來副作用之狀況下達到資料儲存裝置之最佳化效能。
請參考第1圖,第1圖為依據本發明一第一實施例之一種資料儲存裝置100與一主機(host device)50的示意圖。例如:資料儲存裝置100可為固態硬碟(Solid State Drive,SSD)。另外,主機50的例子可包含(但不限於):多功能行動電話(multifunctional mobile phone)、平板電腦(tablet)、以及個人電腦(personal computer)諸如桌上型電腦與膝上型電腦。依據本實施例,資料儲存裝置100可包含一控制器諸如記憶體控制器110,且可另包含一非揮發性記憶體(non-volatile memory,NV memory)120,其中該控制器係用來存取(access)非揮發性記憶體120,且非揮發性記憶體120係用來儲存資訊。
非揮發性記憶體120可包含複數個非揮發性記憶體元件(NV memory element)122-1、122-2、…與122-N,其中符號「N」可代表大於一的正整數。例如:非揮發性記憶體120可為一快閃記憶體(Flash memory),而非揮發性記憶體元件122-1、122-2、…與122-N可分別為複數個快閃記憶體晶片(Flash memory chip;可簡稱為快閃晶片)或複數個快閃記憶體裸晶(Flash memory die;可簡稱為快閃裸晶),但本發明並不限於此。此外,資料儲存裝置100可更包括揮發性記憶體元件130以供進行資料緩衝,其中,揮發性記憶體元件130較佳為動態隨機存取記憶體(Dynamic Random Access Memory,簡稱DRAM)。在記憶體控制器110的控制下,資料儲存裝置100可利用揮發性記憶體元件130的儲存空間的至少一部分(例如一部分或全部)作為資料緩衝空間,以供暫時地儲存資料,例如在存取非揮發性記憶體120的期間。另外,揮發性記憶體元件130為非必要元件。
記憶體控制器110可包含處理電路諸如微處理器112、儲存器諸如一唯讀記憶體(Read Only Memory,ROM)112M、控制邏輯電路114、緩衝記憶體116、與傳輸介面電路118,其中這些元件可透過一匯流排彼此耦接。緩衝記憶體116較佳為靜態隨機存取記憶體(Static Random Access Memory,SRAM)。舉例來說,記憶體控制器110可利用緩衝記憶體116諸如SRAM作為第一層快取(Cache),並利用揮發性記憶體元件130諸如DRAM作為第二層快取。DRAM的資料儲存量較佳大於緩衝記憶體116的資料儲存量,而緩衝記憶體116所緩衝處理的資料可源自於DRAM或非揮發性記憶體120。
本實施例之唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對非揮發性記憶體120之存取。請注意,程式碼112C亦得儲存在緩衝記憶體116或任何形式之記憶體內。此外,控制邏輯電路114可包含至少一錯誤更正碼(Error Correction Code,簡稱ECC)電路(未顯示),以保護資料、及/或進行錯誤更正,而傳輸介面電路118可符合一特定通訊標準(諸如串列高級技術附件(Serial Advanced Technology Attachment,SATA)標準、快捷外設互聯(Peripheral Component Interconnect Express,PCIE)標準或非揮發性記憶體快捷(Non-Volatile Memory Express,NVME)標準)且可依據該特定通訊標準進行通訊,尤其,可依據該特定通訊標對主機50進行通訊。
於本實施例中,主機50可傳送複數個主機命令(Host Command)至資料儲存裝置100,記憶體控制器110再依據主機命令而對非揮發性記憶體120進行存取(例如讀取或寫入資料),其中上述資料較佳為源自於主機50之使用者資料。主機命令包括邏輯位址,例如:邏輯區塊位址(Logical Block Address)。記憶體控制器110可接收主機命令並將主機命令分別轉譯成記憶體操作命令(簡稱操作命令),再以操作命令控制非揮發性記憶體120讀取、寫入(Write)/編程(Program)非揮發性記憶體120當中特定實體位址之頁面(Page)。記憶體控制器110將資料的邏輯位址與實體位址之間的映射關係記錄於邏輯對實體位址映射表(Logical-to-Physical Address Mapping Table,簡稱「L2P映射表」),其中,實體位址可由通道(Channel)編號、邏輯單元編號(Logical Unit Number,LUN)、平面(Plane)編號、區塊編號、頁面編號以及偏移量(Offset)所組成。於某些實施例中,實體位址的實施可予以變化。例如,實體位址可包含通道編號、邏輯單元編號、平面編號、區塊編號、頁面編號、及/或偏移量。
L2P映射表可儲存於非揮發性記憶體120中之一系統區塊中,且可分割成多個群組(Group)映射表,系統區塊較佳為加密區塊且以SLC模式進行資料的編程。記憶體控制器110可依緩衝記憶體116的容量大小而將該多個群組映射表中的一部分或全部群組映射表從非揮發性記憶體120載入緩衝記憶體116,以供快速參考,但本發明不限於此。當使用者資料更新時,記憶體控制器110可依據使用者資料的最新映射關係來更新群組映射表。該多個群組映射表中的任何群組映射表的大小較佳等於非揮發性記憶體元件122-n的一個頁面(Page)的大小,例如16KB(kilobytes;千位元組),其中符號「n」可代表區間[1, N]中之任一正整數,但本發明不限於此。上述任何群組映射表的大小亦可小於頁面的大小,例如4KB或1KB。當然,上述任何群組映射表的大小亦可等於多個非揮發性記憶體元件122的一個頁面的大小,例如在N = 4的情況下,4個非揮發性記憶體元件122的一個頁面的大小,即64KB,其中這4個非揮發性記憶體元件122的頁面亦可稱為超級頁面(Super Page)。
此外,記憶體控制器110對非揮發性記憶體120進行編程運作的最小單位可為一個頁面,而記憶體控制器110對非揮發性記憶體120進行抹除(Erase)運作的最小單位可為一個區塊。非揮發性記憶體元件122-n的多個區塊中之每一區塊包含多個頁面。
在寫入快取(Write Cache)模式中,主機50可發出寫入指令以請求記憶體控制器110將一筆使用者資料(簡稱資料)寫入非揮發性記憶體120。記憶體控制器110可從主機50接收或下載該筆資料、利用緩衝記憶體116對該筆資料進行緩衝、且利用揮發性記憶體元件130快取該筆資料,接著,直接回覆寫入指令執行完成的訊息至主機50。之後,當寫入條件滿足時,例如累積的資料長度等於大於頁面長度或超級頁面長度,記憶體控制器110再將快取的資料寫入至非揮發性記憶體120之資料。
記憶體控制器110的微處理器112可進行資料快取之快取配置(cache allocation),且因應配置操作、及/或相關操作來更新資料快取之快取頭(cache head)H與快取尾(cache tail)T的位址,如第2圖所示,其中快取頭H與快取尾T可視為資料快取的快取配置參數。第2圖下半部所示之橫軸代表一快取範圍。以揮發性記憶體元件130作為上述資料快取的例子,快取範圍對應於快取位址的範圍。針對快取位址範圍,記憶體控制器110(例如微處理器112)例如以4 KB為單位來配置(allocate)揮發性記憶體元件130的快取空間,例如,依據預定順序,例如,由左至右,來配置揮發性記憶體元件130的快取空間,其中,對於快取位址範圍中的任何兩個位址值,左邊的位址值小於右邊的位址值,但本發明不限於此。
微處理器112以循環(cyclic)方式使用揮發性記憶體元件130的快取空間,故快取位址範圍可視為循環位址範圍,且對應於快取位址範圍之快取範圍可視為循環範圍。當微處理器112快取4 KB長度的資料時,微處理器112以基本增量(例如1)來移動(由左至右)快取頭H的位址,使快取頭H在移動前與移動後之間的快取空間可儲存4 KB快取資料。
微處理器112為揮發性記憶體元件130的一筆4 KB資料配置先進先出(First-In First-Out,簡稱FIFO)緩衝器,則該筆4 KB資料將被寫入至非揮發性記憶體120。當先進先出緩衝器配置完成後,微處理器112以基本增量(例如1)來移動(由左至右)快取尾T,以將快取尾T更新成對應於下一筆將被寫入至非揮發性記憶體120的4KB資料。簡言之,快取頭H與快取尾T之間的範圍為已快取的資料(簡稱快取資料),剩餘快取空間則為空白或儲存無效資料,微處理器112可將資料寫入至空白快取空間。
依據某些實施例,上述至少一ECC電路可包含複數個ECC電路諸如複數個ECC引擎。複數個ECC電路可分別因應複數個程序(Procedure)來產生資料的同位元碼(Parity Code)、及/或依據同位元碼來對資料進行錯誤更正。尤其,複數個ECC電路可並行運作,所以記憶體控制器110(例如微處理器112)可指派複數個程序給複數個ECC電路,但本發明不限於此。
於某些實施例中,緩衝記憶體116可用來儲存重要資訊,重要資訊的例子可包含(但不限於):源自於主機50之使用者資料、特定程式碼之指令(instruction)及資料等。
第3圖繪示依據本發明一實施例之一種錯誤處置(Error Handling)方法的流程圖,此錯誤處置方法可應用於資料儲存裝置100,並由資料儲存裝置100的記憶體控制器110所執行,且可針對資料儲存裝置100運作過程中所產生的軟錯誤(Soft Error)進行錯誤處置。本發明錯誤處置方法可使資料儲存裝置100能修復錯誤,並執行軟重置(Soft Reset),使資料儲存裝置100能迅速重新回復到正常模式下工作。
在下述中,本發明錯誤處置方法可區分成三大步驟,步驟S10~S18又可統稱為本發明錯誤處置方法的初始步驟,步驟S20~S30又可統稱為本發明錯誤處置方法的資料復原(recovery)步驟,步驟S40~S44又可統稱為本發明錯誤處置方法的系統復原步驟,每一步驟的說明如下所述。
於步驟S10中,記憶體控制器110將錯誤處置程式上傳(upload)至緩衝記憶體116,其中,緩衝記憶體116較佳具備ECC保護能力,尤其,依據同位元碼進行錯誤更正的能力。例如,緩衝記憶體116可以自行產生同位元碼以保護錯誤處置程式;或是,ECC電路對錯誤處置程式產生同位元碼,且記憶體控制器110將錯誤處置程式以及同位元碼一起上傳(upload)至緩衝記憶體116。由於緩衝記憶體116具備ECC保護能力,因此,可以有效地保護錯誤處置程式。
於步驟S11中,記憶體控制器110判斷是否產生軟錯誤,如果是則執行步驟S12,如果否則重複執行步驟S11。其中,軟錯誤包括硬體元件或韌體(Firmware)執行所產生的錯誤,之後,將以錯誤處置程式進行錯誤的處置,而非以傳統的系統重開(Reboot)方式來進行錯誤的處置。記憶體控制器110較佳以內建的錯誤偵測電路來判斷是否產生軟錯誤;如果記憶體控制器110具有多個核心(Cores),則該多個核心中的一個核心可用以判斷是否產生軟錯誤。
第4圖繪示依據本發明一實施例之關於記憶體控制器110如何判斷是否產生軟錯誤的實施細節,其中,舉例來說,微處理器112之硬體架構可採用精簡指令集計算(Reduced Instruction Set Computing,簡稱RISC)架構諸如阿爾戈精簡指令集計算核心(Argonaut RISC Core,簡稱ARC)架構來實施,且可內建指令近端耦接記憶體(Instruction Close Coupled Memory,簡稱ICCM)以及資料近端耦接記憶體(Data Close Coupled Memory,簡稱DCCM),但本發明不限於此。微處理器112可透過SATA控制器(例如SATA控制器引擎)控制SATA PHY電路之運作,且可透過控制邏輯電路114中之閃存控制器(例如閃存控制器引擎)控制邏輯電路114中之相關電路(例如:用來介接(Interfacing)非揮發性記憶體120之輸入輸出介面電路、上述至少一ECC電路等)。造成軟錯誤的原因例如包含:
(A) 主機命令1秒超時(Host command 1 second timeout),其可包含:
(1) 超時條件#1:DRAM或ARC DCCM變量(Variable)錯誤導致韌體停止(Firmware Halt);
(2) 超時條件#2:發生硬體系統、SATA控制器引擎、或閃存控制器引擎之異常停止(abnormal halt);以及
(3) 超時條件#3:ICCM碼位址映射(Address Mapping)錯誤,其中 ICCM碼位址映射錯誤以及ICCM碼指令(例外)錯誤亦屬於ICCM碼錯誤;
(B) ICCM碼指令(例外)錯誤(ICCM code instruction (exception) error),諸如ICCM碼指令錯誤、ICCM碼指令例外錯誤、及/或ICCM碼例外錯誤;以及
(C) 無法更正的ECC錯誤(Uncorrectable ECC error,UECC錯誤),諸如SRAM的UECC錯誤或DRAM的UECC錯誤,這表示SRAM或DRAM所儲存的資料無法依據對應的同位元碼進行錯誤更正,進而產生UECC錯誤。
於步驟S12中,記憶體控制器110中斷目前程序的執行並啟動中斷服務。當偵測到上述多種類的軟錯誤中之任一軟錯誤發生時,微處理器112記錄目前程序的執行位址,中斷目前運行中的程序,並從執行位址跳至對應的中斷服務常式(Interrupt Service Routine,ISR),以啟動中斷服務,其中,一種或多種的軟錯誤可對應至一種中斷服務常式。舉例來說,ISR,諸如中斷處置器,可被來自硬體架構的中斷請求所調用(Invoke),以將中斷請求轉送給微處理器112,來中斷目前運行中的程序。
於步驟S14中,記憶體控制器110執行緩衝記憶體116上的錯誤處置程式。記憶體控制器110從上述目前程序的執行位址跳躍(Jump)至錯誤處置程式的起始處以執行錯誤處置程式。
於步驟S16中,記憶體控制器110停用(Disable)傳輸介面電路118,尤其,SATA PHY電路,其中SATA控制器與SATA PHY電路位於傳輸介面電路118中。依據本實施例,記憶體控制器110停用傳輸介面電路118來停止對主機50的資料接收及傳送,包括資料、指令以及確認(Acknowledgement,ACK)訊息的接收及傳送,避免增加錯誤之數量。
於步驟S18中,記憶體控制器110重設至少一硬體引擎(例如一或多個硬體引擎)以及非揮發性記憶體元件122諸如快閃記憶體元件(例如快閃晶片或快閃裸晶)。記憶體控制器110可透過重設ECC引擎、SATA控制器引擎、及/或閃存控制器引擎來重設上述至少一硬體引擎,並且可重設非揮發性記憶體元件122,如此一來,硬體引擎以及非揮發性記憶體元件122可以恢復正常狀態,亦可避免硬體引擎持續的錯誤運作而造成資料無法復原。另外,上述至少一硬體引擎可包含發生軟錯誤的硬體引擎。如果記憶體控制器110可以判斷軟錯誤的來源,例如,軟錯誤的來源為SATA控制器引擎的異常停止,則可僅重設SATA控制器引擎。
接下來,記憶體控制器110可針對資料儲存裝置100中之資料快取(例如揮發性記憶體元件130諸如DRAM)進行如第5圖所示的快取重新整理,且將重新整理後的快取資料編程至非揮發性記憶體元件122,以進行資料復原,但本發明不限於此。
於步驟S20中,記憶體控制器110重新配置(reallocate)揮發性記憶體元件130的快取資料。為了避免快取資料的遺失,記憶體控制器110將揮發性記憶體元件130的快取資料重新配置至FIFO緩衝器,並準備將快取資料寫入至非揮發性記憶體元件122諸如快閃記憶體元件。為了增加步驟S20的效率,記憶體控制器110以快取尾T的位址為基準,可僅重新配置揮發性記憶體元件130中一個頁面的快取資料,例如,快取尾T左側的4KB快取資料,即基本增量等於1;或者,可僅重新配置揮發性記憶體元件130中一個超級頁面(Super Page)的快取資料,即基本增量等於4,例如,快取尾T左側的16KB快取資料;或者,可僅重新配置揮發性記憶體元件130中一個超級字串(Super String)的快取資料,即基本增量等於12,例如,快取尾T左側的48KB快取資料,至FIFO緩衝器。於是,不論步驟S20中的重新配置的範圍(於第5圖中標示「重新配置範圍」,在快取尾T的旁邊)的大小有多大,記憶體控制器110可使重新配置的快取資料,諸如4KB、16KB或48KB快取資料,於FIFO緩衝器中備妥,以準備將4KB、16KB或48KB快取資料寫入至非揮發性記憶體元件122諸如快閃記憶體元件。
於步驟S22中,記憶體控制器110判斷是否存在已觸發寫入命令(Triggered Write Command),如果是則執行步驟S24,如果否則執行步驟S26。當主機命令中的寫入命令被觸發後,揮發性記憶體元件130應配置適當的快取空間以緩衝來自主機50的資料。例如,上述已觸發寫入命令可代表接收自主機50的至少一寫入命令。當上述至少一寫入命令被觸發後,揮發性記憶體元件130被預期去配置適當的快取空間以緩衝來自主機50的資料,但可能因為前面的某些步驟而沒有進行此預期的配置操作。此情況下,進入步驟S24以確保此預期的配置操作被進行。
於步驟S24中,記憶體控制器110依據已觸發寫入命令來配置(allocate)揮發性記憶體元件130的快取空間,例如,從快取頭H的原始位置起。當有寫入命令被觸發,記憶體控制器110則右移快取頭H,並使快取頭H的右移量與已觸發寫入命令的數量或資料量相符合。例如,對應於三個已觸發寫入命令之三筆資料可為總共預計寫入12 KB的資料。此情況下,微處理器112可在揮發性記憶體元件130上配置12 KB大小之局部快取空間,快取頭H則右移基本增量(例如1)3次((12 KB / 4 KB) = 3),以更新快取頭H的位址。又例如,對應於二個已觸發寫入命令之二筆資料可為總共預計寫入32 KB的資料。此情況下,微處理器112可在揮發性記憶體元件130上配置32 KB大小之局部快取空間,快取頭H則右移基本增量(例如4)2次((32 KB / 16 KB) = 2),以更新快取頭H的位址。
於步驟S26中,記憶體控制器110判斷資料是否未進到揮發性記憶體元件130諸如DRAM,如果是則執行步驟S28,如果否則執行步驟S30。由於步驟S16中SATA PHY電路已被停用,因此已終止了SATA PHY電路的資料傳輸,因此,有可能寫入命令已被觸發,但是,寫入命令之部分資料卻還沒有被緩衝至揮發性記憶體元件130中,因此,快取頭H需作適當的修正,使快取頭H指向有效的快取資料。
於步驟S28中,記憶體控制器110重新同步(re-synchronize)揮發性記憶體元件130的快取空間,例如,將快取頭H拉回且指向上述有效的快取資料,諸如最後一筆已被緩衝的資料。記憶體控制器110依據SATA PHY電路的回傳而得知已觸發寫入命令所對應的資料傳輸量,此資料傳輸量即為快取資料的資料量,記憶體控制器110再依據此資料量修正快取頭H的移動量,尤其,依據此資料量決定快取頭H於重新同步操作的修正量(左移量)。例如,快取頭H原本右移基本增量3次,但是快取資料的資料量僅為2,差異值為1,因此,記憶體控制器110左移快取頭H一個基本增量。
於步驟S30中,記憶體控制器110將快取資料(尤其,上述重新整理後的快取資料)編程至非揮發性記憶體元件122,其中,快取資料較佳以SLC模式編程至非揮發性記憶體元件122中的快刷區塊(Flushing Block)。快刷區塊選自非揮發性記憶體元件122中的閒置區塊,主要用以在緊急情況下的資料寫入。記憶體控制器110選取快刷區塊(類似主動區塊),並以頁面、超級頁面或超級字串為單位,將快取資料編程至快刷區塊。記憶體控制器110能以大於一個頁面的一預定編程單位,將快取資料編程至快刷區塊。在以該預定編程單位諸如超級頁面或超級字串為單位來編程快刷區塊的情況下,當編程後的剩餘的快取資料無法寫入超級頁面或超級字串時(例如剩餘的快取資料的資料長度小於該預定編程單位),記憶體控制器110可將剩餘的快取資料與虛擬資料(Dummy Data)結合,使結合後的資料長度等於該預定編程單位諸如一個超級頁面或超級字串,再將剩餘的快取資料與虛擬資料編程至快刷區塊的超級頁面或超級字串。當快取資料依序編程至快刷區塊時,快取頭H的位址不變,快取尾T的位址逐漸往右移,當所有快取資料皆編程至快刷區塊後,快取頭H的位址等於快取尾T的位址。當步驟S30執行完成時,則快取資料皆儲存至非揮發性記憶體元件122。
於步驟S40中,記憶體控制器110儲存一錯誤日誌(Error Log),尤其,將軟錯誤發生起的一系列事件的相關資訊記錄於該錯誤日誌,其中錯誤日誌可儲存於非揮發性記憶體120之系統區塊中。
於步驟S42中,記憶體控制器110啟動記憶體控制器110中之看門狗(Watchdog)模組。舉例來說,看門狗模組可為位於記憶體控制器110中之看門狗電路,且看門狗電路可包含看門狗計時器,其中微處理器112可啟動看門狗計時器以進行軟重設(Soft Reset),軟重設乃以軟體方式進行系統重設,例如,重新執行系統執行檔(或在線編程檔,In-System Programming File)、或清除系統暫存器(Register)的值,以達到系統重設的目的,但本發明不限於此。
於步驟S44中,記憶體控制器110啟動傳輸介面電路118並與主機50重新連線(Re-Link)。由於傳輸介面電路118已重新啟動,因此,微處理器112可透過傳輸介面電路118和主機50重新連線並互動。透過步驟S42與S44之運作,記憶體控制器110(例如微處理器112)可完成軟重設以使資料儲存裝置100再度正常地運作。
綜上所述,當資料儲存裝置100的運作發生錯誤時,藉由執行本發明錯誤處置方法,資料儲存裝置100不但可避免系統停止的情況,且迅速地將快取資料儲存至非揮發性記憶體120,以避免快取資料的遺失,並且更藉由軟重設的方式,使資料儲存裝置100再度正常地運作,達到本發明的目的。另外,本發明錯誤處置方法亦儲存錯誤日誌,其可作為系統偵錯的依據。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
50‧‧‧主機
100‧‧‧資料儲存裝置
110‧‧‧記憶體控制器
112‧‧‧微處理器
112C‧‧‧程式碼
112M‧‧‧唯讀記憶體
114‧‧‧控制邏輯電路
116‧‧‧緩衝記憶體
118‧‧‧傳輸介面電路
120‧‧‧非揮發性記憶體
122、122-1、122-2、…、122-N‧‧‧非揮發性記憶體元件
130‧‧‧揮發性記憶體元件
H‧‧‧快取頭
T‧‧‧快取尾
S10、S11、S12、S14、S16、S18、S20、S22、S24、S26、S28、S30、S40、S42、S44‧‧‧步驟
第1圖為依據本發明一實施例之一種資料儲存裝置與一主機(host device)的示意圖。
第2圖繪示依據本發明一實施例之一快取配置(cache allocation)方案。
第3圖繪示依據本發明一實施例之一種錯誤處置方法的流程圖。
第4圖繪示依據本發明一實施例之關於第1圖所示之記憶體控制器如何判斷是否產生軟錯誤的實施細節。
第5圖繪示依據本發明一實施例之於第3圖所示錯誤處置方法中的快取重新整理。
S10、S11、S12、S14、S16、S18、S20、S22、S24、S26、S28、S30、S40、S42、S44‧‧‧步驟
Claims (20)
- 一種錯誤處置方法,該錯誤處置方法係應用於一資料儲存裝置,該資料儲存裝置包含一非揮發性記憶體(non-volatile memory,NV memory)以及用來控制該非揮發性記憶體的存取之一記憶體控制器,該非揮發性記憶體包含至少一非揮發性記憶體元件(NV memory element),該至少一非揮發性記憶體元件包含複數個區塊,該錯誤處置方法包含有: 將一錯誤處置程式上傳(upload)至具備錯誤更正碼(Error Correction Code,ECC)保護能力之一緩衝記憶體,其中該緩衝記憶體係位於該記憶體控制器中; 因應至少一錯誤,中斷目前程序的執行並啟動中斷服務; 執行該緩衝記憶體上的該錯誤處置程式; 停用(disable)一傳輸介面電路,其中該傳輸介面電路係位於該記憶體控制器中,且係用來對一主機(host device)進行通訊; 重設至少一硬體引擎以及該至少一非揮發性記憶體元件; 針對該資料儲存裝置中之一資料快取進行快取重新整理,且將重新整理後的快取資料編程至該至少一非揮發性記憶體元件,以進行資料復原;以及 透過啟動該記憶體控制器中之一看門狗(Watchdog)模組、且啟動該傳輸介面電路並與該主機重新連線,來完成軟重設(soft reset),以使該資料儲存裝置再度正常地運作。
- 如申請專利範圍第1項所述之錯誤處置方法,其中因應所述至少一錯誤中斷所述目前程序的執行並啟動該中斷服務另包含: 因應多種類的軟錯誤(soft error)中之任一軟錯誤之發生,中斷所述目前程序的執行並啟動該中斷服務,其中所述至少一錯誤包含所述任一軟錯誤。
- 如申請專利範圍第1項所述之錯誤處置方法,其中執行該緩衝記憶體上的該錯誤處置程式另包含: 從所述目前程序的執行位址跳躍(jump)至該錯誤處置程式的起始處以執行該錯誤處置程式。
- 如申請專利範圍第1項所述之錯誤處置方法,其中停用該傳輸介面電路另包含: 停用該傳輸介面電路來停止對該主機的資料接收及傳送。
- 如申請專利範圍第1項所述之錯誤處置方法,其中該資料儲存裝置另包含一動態隨機存取記憶體(Dynamic Random Access Memory,DRAM),且該資料快取係位於該動態隨機存取記憶體。
- 如申請專利範圍第1項所述之錯誤處置方法,其中針對該資料儲存裝置中之該資料快取進行該快取重新整理另包含: 於一重新配置範圍中,重新配置(reallocate)該快取的快取資料,其中該重新配置範圍是在該資料快取的一快取尾的旁邊。
- 如申請專利範圍第6項所述之錯誤處置方法,其中針對該資料儲存裝置中之該資料快取進行該快取重新整理另包含: 判斷是否存在至少一已觸發寫入命令(triggered write command);以及 因應存在所述至少一已觸發寫入命令,依據已觸發寫入命令來配置(allocate)該資料快取的快取空間。
- 如申請專利範圍第6項所述之錯誤處置方法,其中針對該資料儲存裝置中之該資料快取進行該快取重新整理另包含: 判斷是否有任何已觸發寫入命令(triggered write command)之資料還沒有被緩衝至該資料快取中;以及 因應有所述任何已觸發寫入命令之該資料還沒有被緩衝至該資料快取中,重新同步(re-synchronize)該資料快取的快取空間。
- 如申請專利範圍第1項所述之錯誤處置方法,其中將所述重新整理後的快取資料編程至該至少一非揮發性記憶體元件另包含: 將所述重新整理後的快取資料編程至該至少一非揮發性記憶體元件中的一或多個快刷區塊(Flushing Block),其中該一或多個快刷區塊是選自該至少一非揮發性記憶體元件中的閒置區塊。
- 如申請專利範圍第9項所述之錯誤處置方法,其中將所述重新整理後的快取資料編程至該至少一非揮發性記憶體元件中的該一或多個快刷區塊另包含: 以大於一個頁面的一預定編程單位,將所述重新整理後的快取資料編程至該一或多個快刷區塊;以及 因應編程後的剩餘的快取資料的資料長度小於該預定編程單位,將該剩餘的快取資料與虛擬資料(Dummy Data)結合,使結合後的資料長度等於該預定編程單位,再將該剩餘的快取資料與該虛擬資料編程至該一或多個快刷區塊。
- 一種資料儲存裝置,包含有: 一非揮發性記憶體(non-volatile memory,NV memory),用來儲存資訊,其中該非揮發性記憶體包含至少一非揮發性記憶體元件(NV memory element),以及該至少一非揮發性記憶體元件包含複數個區塊;以及 一控制器,耦接至該非揮發性記憶體,用來控制該資料儲存裝置之運作,其中該控制器包含: 一緩衝記憶體,用來暫時地儲存資訊; 符合一特定通訊標準之一傳輸介面電路,用來依據該特定通訊標準進行通訊;以及 一處理電路,用來依據來自一主機(host device)的複數個主機命令(host command)控制該控制器,以容許該主機透過該控制器存取(access)該非揮發性記憶體,其中: 該控制器將一錯誤處置程式上傳(upload)至具備錯誤更正碼(Error Correction Code,ECC)保護能力之該緩衝記憶體; 因應至少一錯誤,該控制器中斷目前程序的執行並啟動中斷服務; 該控制器執行該緩衝記憶體上的該錯誤處置程式; 該控制器停用(disable)該傳輸介面電路,其中該傳輸介面電路係用來對該主機進行通訊; 該控制器重設至少一硬體引擎以及該至少一非揮發性記憶體元件; 該控制器針對該資料儲存裝置中之一資料快取進行快取重新整理,且將重新整理後的快取資料編程至該至少一非揮發性記憶體元件,以進行資料復原;以及 該控制器透過啟動該記憶體控制器中之一看門狗(Watchdog)模組、且啟動該傳輸介面電路並與該主機重新連線,來完成軟重設(soft reset),以使該資料儲存裝置再度正常地運作。
- 如申請專利範圍第11項所述之資料儲存裝置,其中因應多種類的軟錯誤(soft error)中之任一軟錯誤之發生,該控制器中斷所述目前程序的執行並啟動該中斷服務,其中所述至少一錯誤包含所述任一軟錯誤。
- 如申請專利範圍第11項所述之資料儲存裝置,其中該控制器從所述目前程序的執行位址跳躍(jump)至該錯誤處置程式的起始處以執行該錯誤處置程式。
- 如申請專利範圍第11項所述之資料儲存裝置,其中該控制器停用該傳輸介面電路來停止對該主機的資料接收及傳送。
- 如申請專利範圍第11項所述之資料儲存裝置,其中該資料儲存裝置另包含一動態隨機存取記憶體(Dynamic Random Access Memory,DRAM),且該資料快取係位於該動態隨機存取記憶體。
- 一種資料儲存裝置之控制器,該資料儲存裝置包含該控制器與一非揮發性記憶體(non-volatile memory,NV memory),該非揮發性記憶體包含至少一非揮發性記憶體元件(NV memory element),該至少一非揮發性記憶體元件包含複數個區塊,該控制器包含有: 一緩衝記憶體,用來暫時地儲存資訊; 符合一特定通訊標準之一傳輸介面電路,用來依據該特定通訊標準進行通訊;以及 一處理電路,用來依據來自一主機(host device)的複數個主機命令(host command)控制該控制器,以容許該主機透過該控制器存取(access)該非揮發性記憶體,其中: 該控制器將一錯誤處置程式上傳(upload)至具備錯誤更正碼(Error Correction Code,ECC)保護能力之該緩衝記憶體; 因應至少一錯誤,該控制器中斷目前程序的執行並啟動中斷服務; 該控制器執行該緩衝記憶體上的該錯誤處置程式; 該控制器停用(disable)該傳輸介面電路,其中該傳輸介面電路係用來對該主機進行通訊; 該控制器重設至少一硬體引擎以及該至少一非揮發性記憶體元件; 該控制器針對該資料儲存裝置中之一資料快取進行快取重新整理,且將重新整理後的快取資料編程至該至少一非揮發性記憶體元件,以進行資料復原;以及 該控制器透過啟動該記憶體控制器中之一看門狗(Watchdog)模組、且啟動該傳輸介面電路並與該主機重新連線,來完成軟重設(soft reset),以使該資料儲存裝置再度正常地運作。
- 如申請專利範圍第16項所述之控制器,其中因應多種類的軟錯誤(soft error)中之任一軟錯誤之發生,該控制器中斷所述目前程序的執行並啟動該中斷服務,其中所述至少一錯誤包含所述任一軟錯誤。
- 如申請專利範圍第16項所述之控制器,其中該控制器從所述目前程序的執行位址跳躍(jump)至該錯誤處置程式的起始處以執行該錯誤處置程式。
- 如申請專利範圍第16項所述之控制器,其中該控制器停用該傳輸介面電路來停止對該主機的資料接收及傳送。
- 如申請專利範圍第16項所述之控制器,其中該資料儲存裝置另包含一動態隨機存取記憶體(Dynamic Random Access Memory,DRAM),且該資料快取係位於該動態隨機存取記憶體。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910756354.1A CN110990175B (zh) | 2018-10-03 | 2019-08-16 | 错误处置方法以及数据存储装置及其控制器 |
US16/568,192 US10884856B2 (en) | 2018-10-03 | 2019-09-11 | Error-handling method, associated data storage device and controller thereof |
JP2019177102A JP6811819B2 (ja) | 2018-10-03 | 2019-09-27 | エラー処理方法、並びにデータ記憶装置及びその制御装置 |
KR1020190119680A KR102175884B1 (ko) | 2018-10-03 | 2019-09-27 | 에러 핸들링 방법 및 데이터 저장장치 및 그 컨트롤러 |
EP19200957.9A EP3647951B1 (en) | 2018-10-03 | 2019-10-02 | Error-handling method, associated data storage device and controller thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862740439P | 2018-10-03 | 2018-10-03 | |
US62/740,439 | 2018-10-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI684988B true TWI684988B (zh) | 2020-02-11 |
TW202015065A TW202015065A (zh) | 2020-04-16 |
Family
ID=70413304
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108116832A TWI684988B (zh) | 2018-10-03 | 2019-05-16 | 錯誤處置方法以及資料儲存裝置及其控制器 |
TW109116137A TWI709975B (zh) | 2018-10-03 | 2019-07-15 | 寫入控制方法以及資料儲存裝置及其控制器 |
TW108124909A TWI697009B (zh) | 2018-10-03 | 2019-07-15 | 寫入控制方法以及資料儲存裝置及其控制器 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109116137A TWI709975B (zh) | 2018-10-03 | 2019-07-15 | 寫入控制方法以及資料儲存裝置及其控制器 |
TW108124909A TWI697009B (zh) | 2018-10-03 | 2019-07-15 | 寫入控制方法以及資料儲存裝置及其控制器 |
Country Status (1)
Country | Link |
---|---|
TW (3) | TWI684988B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342260A (zh) * | 2020-03-02 | 2021-09-03 | 慧荣科技股份有限公司 | 伺服器与应用于伺服器的控制方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI748507B (zh) * | 2020-06-08 | 2021-12-01 | 瑞昱半導體股份有限公司 | 資料存取系統及操作資料存取系統的方法 |
JP2022147448A (ja) * | 2021-03-23 | 2022-10-06 | キオクシア株式会社 | メモリシステム及びデータ管理方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5291494A (en) * | 1989-08-01 | 1994-03-01 | Digital Equipment Corporation | Method of handling errors in software |
US5625840A (en) * | 1992-11-18 | 1997-04-29 | International Business Machines Corporation | Programmable external storage control apparatus |
US6804794B1 (en) * | 2001-02-28 | 2004-10-12 | Emc Corporation | Error condition handling |
US7096407B2 (en) * | 2003-02-18 | 2006-08-22 | Hewlett-Packard Development Company, L.P. | Technique for implementing chipkill in a memory system |
US7417600B2 (en) * | 1993-06-24 | 2008-08-26 | Nintendo Co., Ltd. | Electronic entertainment and communication system |
TWI516915B (zh) * | 2012-12-28 | 2016-01-11 | 英特爾股份有限公司 | 即時錯誤復原 |
TWI537967B (zh) * | 2010-07-26 | 2016-06-11 | 英特爾公司 | 用以保護記憶體之區段的方法及裝置 |
TWI537815B (zh) * | 2013-03-15 | 2016-06-11 | 美光科技公司 | 用於記憶體適應性控制之裝置及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10592122B2 (en) * | 2015-03-31 | 2020-03-17 | Sandisk Technologies Llc | Inherent adaptive trimming |
US20170177276A1 (en) * | 2015-12-21 | 2017-06-22 | Ocz Storage Solutions, Inc. | Dual buffer solid state drive |
KR102527992B1 (ko) * | 2016-03-14 | 2023-05-03 | 삼성전자주식회사 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
US10534709B2 (en) * | 2016-08-31 | 2020-01-14 | Sandisk Technologies Llc | Flush command consolidation |
-
2019
- 2019-05-16 TW TW108116832A patent/TWI684988B/zh active
- 2019-07-15 TW TW109116137A patent/TWI709975B/zh active
- 2019-07-15 TW TW108124909A patent/TWI697009B/zh active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5291494A (en) * | 1989-08-01 | 1994-03-01 | Digital Equipment Corporation | Method of handling errors in software |
US5625840A (en) * | 1992-11-18 | 1997-04-29 | International Business Machines Corporation | Programmable external storage control apparatus |
US7417600B2 (en) * | 1993-06-24 | 2008-08-26 | Nintendo Co., Ltd. | Electronic entertainment and communication system |
US6804794B1 (en) * | 2001-02-28 | 2004-10-12 | Emc Corporation | Error condition handling |
US7096407B2 (en) * | 2003-02-18 | 2006-08-22 | Hewlett-Packard Development Company, L.P. | Technique for implementing chipkill in a memory system |
TWI537967B (zh) * | 2010-07-26 | 2016-06-11 | 英特爾公司 | 用以保護記憶體之區段的方法及裝置 |
TWI516915B (zh) * | 2012-12-28 | 2016-01-11 | 英特爾股份有限公司 | 即時錯誤復原 |
TWI537815B (zh) * | 2013-03-15 | 2016-06-11 | 美光科技公司 | 用於記憶體適應性控制之裝置及方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342260A (zh) * | 2020-03-02 | 2021-09-03 | 慧荣科技股份有限公司 | 伺服器与应用于伺服器的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202015065A (zh) | 2020-04-16 |
TW202015045A (zh) | 2020-04-16 |
TWI697009B (zh) | 2020-06-21 |
TWI709975B (zh) | 2020-11-11 |
TW202032547A (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102175884B1 (ko) | 에러 핸들링 방법 및 데이터 저장장치 및 그 컨트롤러 | |
US10732849B2 (en) | Method for read latency bound in SSD storage systems | |
EP2438521B1 (en) | Object oriented memory in solid state devices | |
US10599345B2 (en) | Memory device that writes data into a block based on time passage since erasure of data from the block | |
US8230161B2 (en) | Data backup method for a flash memory and controller and storage system using the same | |
US11036421B2 (en) | Apparatus and method for retaining firmware in memory system | |
KR101856506B1 (ko) | 데이터 저장 장치 및 그것의 데이터 쓰기 방법 | |
TWI684988B (zh) | 錯誤處置方法以及資料儲存裝置及其控制器 | |
US8601347B1 (en) | Flash memory device and storage control method | |
KR101581859B1 (ko) | 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법 | |
KR102641107B1 (ko) | 스토리지 장치, 이를 포함하는 시스템 및 그 동작 방법 | |
JP5364807B2 (ja) | メモリコントローラ及び不揮発性記憶装置 | |
TWI698749B (zh) | 資料儲存裝置與資料處理方法 | |
KR20190051530A (ko) | 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법 | |
TWI657339B (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器 | |
US11281381B2 (en) | Storage node of distributed storage system and method of operating the same | |
TWI721365B (zh) | 高效能垃圾收集方法以及資料儲存裝置及其控制器 | |
TWI697780B (zh) | 瞬間斷電回復處理方法及電腦程式產品以及裝置 | |
KR20240053298A (ko) | 호스트와 메모리 시스템에서 맵데이터를 관리하는 장치 및 방법 | |
TWI582594B (zh) | 資料保護方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN114420192A (zh) | DRAMLess SSD NAND编程出错的优化方法、装置及介质 | |
TW202105181A (zh) | 瞬間斷電回復處理方法及電腦程式產品以及裝置 |