TWI591533B - 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置 - Google Patents

可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置 Download PDF

Info

Publication number
TWI591533B
TWI591533B TW105138978A TW105138978A TWI591533B TW I591533 B TWI591533 B TW I591533B TW 105138978 A TW105138978 A TW 105138978A TW 105138978 A TW105138978 A TW 105138978A TW I591533 B TWI591533 B TW I591533B
Authority
TW
Taiwan
Prior art keywords
data
comparison table
data block
active
block
Prior art date
Application number
TW105138978A
Other languages
English (en)
Other versions
TW201820116A (zh
Inventor
沈揚智
周柏昇
Original Assignee
慧榮科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to TW105138978A priority Critical patent/TWI591533B/zh
Priority to CN201710406527.8A priority patent/CN107402719B/zh
Application granted granted Critical
Publication of TWI591533B publication Critical patent/TWI591533B/zh
Priority to US15/805,067 priority patent/US10579483B2/en
Publication of TW201820116A publication Critical patent/TW201820116A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
本發明是有關於資料儲存之技術,尤其是有關於可用於資料儲存裝置之一種資料儲存方法與一種資料回復程序、以及一種採用這些方法的資料儲存裝置。
傳統上,採用非揮發性記憶體(Non-volatile memory)作為資料儲存媒體的資料儲存裝置在運作時如果發生電源中斷事件,必需立即產生一實體位址至邏輯位址(Flash Physical-to-Host Logical address mapping table,F2H)對照表,以下簡稱為F2H對照表,以建立使用者資料的實體位址(physical address)至邏輯位址(logical address)之間的對應關係(簡稱對應關係),避免使用者資料的遺失。由此可知,F2H對照表對於資料儲存裝置的運作極為重要。
然而,電源中斷事件發生後,資料儲存裝置需要在所剩無幾的時間內建立並儲存F2H對照表。因此,如何建立一個精簡的F2H對照表並將它儲存至適當的地方,以便復電時資料儲存裝置可以依據F2H對照表而取得使用者資料,存在著實作上的需求。
本發明之一目的在提供可用於資料儲存裝置之資料儲存方法,以此方法所產生之F2H對照表的資料量較少。
本發明之另一目的在提供一種對應於上述資料儲存方法的資料回復程序。
本發明之再一目的在提供一種採用上述方法的資料儲存裝置。
本發明提出一種可用於資料儲存裝置之資料儲存方法,此資料儲存方法包括有下列步驟:選取主動資料區塊以儲存來自主機的資料;判斷是否發生電源中斷事件;當判斷為是時,記錄主動資料區塊的編號、以及主動資料區塊中具有資料的最後一個資料頁的編號;產生主要F2H對照表;以及將主要F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的編號寫入至指定資料區塊。
本發明另提出一種可用於資料儲存裝置之資料儲存方法,此資料儲存方法包括有下列步驟:選取主動資料區塊以儲存來自主機的資料;判斷是否發生電源中斷事件;當判斷為是時,進一步判斷主動資料區塊是否已發生另一電源中斷事件;當進一步判斷的結果為否時,記錄主動資料區塊的編號、以及主動資料區塊中具有資料的最後一個資料頁的主要編號;產生主要F2H對照表;以及將主要F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的主要編號寫入至指定資料區塊。
本發明再提出一種可用於資料儲存裝置之資料回復程序,此資料回復程序包括下列步驟:讀取指定資料區塊而取得F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的編號;判斷F2H對照表的內容是否與主動資料區塊的編號以及具有資料的最後一個資料頁的編號一致;當判斷為是時,將F2H對照表儲存至揮發性儲存媒體;以及選取一主動資料區塊以儲存來自主機的資料。
本發明又提出一種資料儲存裝置,其包括有非揮發性儲存媒體以及控制單元。控制單元用以自非揮發性儲存媒體選取主動資料區塊以儲存來自主機的資料,並判斷是否發生電源中斷事件。當判斷為是時,控制單元便記錄主動資料區塊的編號、以及主動資料區塊中具有資料的最後一個資料頁的編號,據以產生主要F2H對照表,並將主要F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的編號寫入至非揮發性儲存媒體中之指定資料區塊。
本發明又另提出一種資料儲存裝置,其包括有非揮發性儲存媒體以及控制單元。控制單元用以自揮發性儲存媒體選取主動資料區塊以儲存來自主機的資料,並判斷是否發生電源中斷事件,當判斷為是時,進一步判斷主動資料區塊是否已發生另一電源中斷事件。且當進一步判斷的結果為否時,控制單元便記錄主動資料區塊的編號、以及主動資料區塊中具有資料的最後一個資料頁的主要編號,據以產生主要F2H對照表,並將主要F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的主要編號寫入至非揮發性儲存媒體之指定資料區塊。
本發明又再提出一種資料儲存裝置,其包括有揮發性儲存媒體、非揮發性儲存媒體以及控制單元。控制單元用以讀取非揮發性儲存媒體中之指定資料區塊而取得F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的編號,並判斷F2H對照表的內容是否與主動資料區塊的編號以及具有資料的最後一個資料頁的編號一致。當判斷為是時,控制單元便將F2H對照表儲存至揮發性儲存媒體,並自非揮發性儲存媒體選取主動資料區塊以儲存來自主機的資料。
在本發明中,由於控制單元在電源中斷時所產生的F2H對照表僅記錄部份資料頁的資料的對應關係,因此,產生的F2H對照表的資料量會少於採習知方法所產生之完整F2H對照表的資料量,不但可以降低F2H對照表的資料量,更能減少產生的F2H對照表所需要的時間,且將F2H對照表儲存至具有較佳資料保存能力的資料區塊中,更能提供F2H對照表較佳的保護。
圖1繪有依照本發明一實施例之資料儲存裝置及其與主機的電性耦接關係。請參照圖1,主機100主要包括有中央處理單元110與連接介面120。連接介面120適於電性耦接資料儲存裝置200。中央處理單元110用以透過連接介面120傳送命令、資料給資料儲存裝置200,例如是傳送讀取命令給資料儲存裝置200,或是傳送寫入命令及欲寫入資料儲存裝置200的資料給資料儲存裝置200。而在此例中,主機100包括以電腦、手機、平板、相機或是其他具運算功能的手持式電子裝置來實現。
資料儲存裝置200主要包括有控制單元210、非揮發性儲存媒體220與揮發性儲存媒體230。控制單元210係電性耦接非揮發性儲存媒體220與揮發性儲存媒體230,並用以控制非揮發性儲存媒體220與揮發性儲存媒體230的操作(例如進行資料的存取與抹除)。在此例中,非揮發性儲存媒體220例如是以快閃記憶體(Flash memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)等具有長時間資料保存之記憶體裝置來實現,在下述的說明中將以快閃記憶體為例進行說明,但不以此為限。
揮發性儲存媒體230例如是以動態隨機存取記憶體(Dynamic Random-Access Memory,DRAM)、靜態隨機存取記憶體(Static Random-Access Memory, SRAM)等具有資料緩衝(data buffering)功能的元件來實現。
控制單元210主要包括有介面邏輯212、微處理器214與控制邏輯216。微處理器214電性耦接介面邏輯212與控制邏輯214。微處理器214用以透過控制邏輯216存取非揮發性儲存媒體220與揮發性儲存媒體230中的資料,且微處理器214還用以透過介面邏輯212接收來自主機100之命令或資料,例如:寫入命令、欲寫入資料儲存裝置200的資料、讀取命令、抺除命令等。
圖2繪有依照本發明一實施例之非揮發性儲存媒體220的實現方式。請參照圖2,非揮發性儲存媒體220包括有記憶體0~4。記憶體0較佳為SLC(Single Level Cell,單階儲存單元)類型快閃記憶體,以提供較大的資料存取能力或較佳的資料正確性(data integrity)。記憶體0可用以儲存機密(confidential)資料、保護(protection)資料或管理(management)資料,其中,保護資料包括:使用者設定的安全資訊(例如密碼)、偵錯日誌等,其中偵錯日誌較佳為S.M.A.R.T.(Self-Monitoring Analysis and Reporting Technology,自我監測、分析及報告技術)資訊。記憶體0具有多個SLC類型資料區塊240,而每一個SLC類型資料區塊240較佳具有二個平面(planes),分別以平面P1與P2來表示。每一個平面具有Q+1個實體資料頁(physical page),其中Q為自然數,例如是256。控制單元210較佳可同時對平面P1與P2的一個資料頁進行存取,此運作模式稱之為多平面(multi-planes)存取,並將此二個平面P1與P2資料頁邏輯上視為一個多平面資料頁250。想當然爾,控制單元210亦可分別對平面P1與P2的一個資料頁進行存取,此為實作上的選項,並不以此為限。
記憶體1~4較佳為TLC(Triple-Level Cell,三階儲存單元)類型快閃記憶體,用以儲存使用者資料。每一記憶體1~4亦具有多個TLC類型資料區塊,每一個TLC類型資料區塊具有二個平面,分別以P1與P2來表示,支援多平面(multi-planes)存取;每一個平面具有R+1個資料頁(或稱實體資料頁,physical page),其中R為自然數,例如是2304。控制單元210較佳可同時對記憶體1~4的一個TLC類型資料區塊進行存取,此時,邏輯上可將總共4個TLC類型資料區塊視為一個超級資料區塊260,並將總共8個資料頁視為一個超級資料頁270。想當然爾,控制單元210亦可只選取記憶體1~4的其中一個資料區塊進行存取,此為實作上的選項,並不以此為限。
在實作上,記憶體0亦可為操作於binary mode的MLC(Multi-Level Cell,多階儲存單元)或TLC類型快閃記憶體;記憶體1~4亦可為MLC或SLC類型快閃記憶體。使用者可以依其實際需求而進行替換,並不以本發明中的設定為限。
圖3為依照本發明一實施例之資料儲存方法的流程圖,請同時參照圖1~3。步驟S301:選取一個主動資料區塊以儲存來自主機100的資料。當資料儲存裝置200接收來自主機100的寫入命令時,資料儲存裝置200的控制單元210便會選取一個超級資料區塊260,例如:超級資料區塊#0,作為主動資料區塊,以儲存來自主機100的資料,而來自主機100的資料較佳係依序儲存至超級資料區塊#0的超級資料頁270。假設超級資料區塊#0包含2304個超級資料頁270,則來自主機100的資料較佳先從超級資料區塊#0的超級資料頁#0開始寫入資料,接著是超級資料頁#1,以下依此類推。如果超級資料區塊#0已寫滿資料,則控制單元210便會選取另一個超級資料區塊260,例如超級資料區塊#1,作為主動資料區塊,以儲存後續的資料。
步驟S302,判斷是否發生電源中斷事件。控制單元210會持續地判斷是否發生電源中斷事件。當主機100因故停止對資料儲存裝置200進行供電,或要求資料儲存裝置200進入指定的電力狀態(power state)以節約電力的消耗,皆可能觸發電源中斷事件。
步驟S303,記錄主動資料區塊的編號以及主動資料區塊中具有資料的最後一個資料頁的編號。假設發生電源中斷事件時,最後一個完成資料寫入或即將完成資料寫入的是超級資料區塊#0的超級資料頁#63,則超級資料頁#63為具有資料的最後一個超級資料頁270,那麼控制單元210就會將超級資料區塊的編號0與超級資料頁270的編號63這二者記錄下來。
步驟S304,產生主要F2H對照表,其中,主要F2H對照表係記錄具有資料的最後一個資料頁及其之前的所有資料頁的資料的對應關係。以前述的例子來說,此主要F2H對照表係記錄超級資料區塊#0之超級資料頁#63及其以前的所有超級資料頁270,即超級資料頁#0至超級資料頁#63共計64個超級資料頁270,的資料的對應關係。相較於習知方法,依習知方法所產生的完整F2H對照表則需要將超級資料頁#0至超級資料頁#2303,總共2304個超級資料頁270,的資料的對應關係通通記錄下來。對比之下,依本發明之資料儲存方法所產生的主要F2H對照表僅為完整F2H對照表的一部份,除了資料量較少之外,產生主要F2H對照表所需的時間亦較短。
在步驟S304的另一實施例中,主要F2H對照表僅記錄具有資料的最後一個資料頁及其以前的所有資料頁的有效資料的對應關係。以前述的例子來說,最後一個具有資料的資料頁是超級資料頁#63,假設超級資料頁#0~#63所儲存的資料皆為有效資料,則控制單元210會產生包含超級資料頁#0~#63的資料的對應關係的主要F2H對照表,此主要F2H對照表的內容與上一實施例相同;假設超級資料頁#0~#63中僅超級資料頁#60~#63所儲存的資料為有效資料,則控制單元210僅產生包含超級資料頁#60~#63的資料的對應關係的主要F2H對照表,如此一來,此實施例的主要F2H對照表的大小會小於上一實施例。綜上所述,依此實施例所產生的主要F2H對照表的資料量會小於完整F2H對照表的資料量。
步驟S305,將主要F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的編號寫入至指定資料區塊,其中,指定資料區塊與主動資料區塊較佳為不同類型的資料區塊,或指定資料區塊的每個儲存單元(cell)的資料儲存能力不大於主動資料區塊的每個儲存單元(cell)的資料儲存能力,或指定資料區塊不用以儲存來自主機100的資料。以上述為例,控制單元210便將產生的主要F2H對照表、超級資料區塊260的編號0、以及具有資料的最後一個超級資料頁270的編號63寫入至SLC類型資料區塊#0的多平面資料頁250。
依習知方法所產生的完整F2H對照表,其記錄超級資料區塊#0之2304個超級資料頁270的資料的對應關係,而儲存此完整F2H對照表共需要SLC類型資料區塊240中的72個多平面資料頁250來儲存,則較佳將完整F2H對照表分割成72份,使每一分割後的完整F2H對照表可儲存至SLC類型資料區塊240的一個資料頁,並分別給予一個編號,例如編號0~71,則第一個分割後的完整F2H對照表為F2H#0對照表,第72個分割後的完整F2H對照表為F2H#71對照表,而每一個分割後的完整F2H對照表係可記錄32個超級資料頁270的資料的對應關係。另外,使用者亦可使每一分割後的完整F2H對照表可儲存至SLC類型資料區塊240的複數個資料頁,其運作原理相似,故不多作說明。由於主要F2H對照表以及SLC類型資料區塊240的多平面資料頁250的大小為已知,因此,控制單元210可以計算出儲存主要F2H對照表所需的多平面資料頁250的數目,並將主要F2H對照表予以分割, 每一個分割後的主要F2H對照表給予一個編號(index),而此編號與分割後的完整F2H對照表的編號一致。
由於主要F2H對照表僅為完整F2H對照表的一部份,假設主要F2H對照表需儲存至SLC類型資料區塊240的二個多平面資料頁250,那麼控制單元210可將主要F2H對照表分割並寫入至多平面資料頁#K與#K+1,其中K亦為自然數,並在這二個多平面資料頁250中分別儲存F2H#0對照表與F2H#1對照表。較佳地,F2H#0對照表與F2H#1對照表的編號,即編號0以及1,可分別記錄在多平面資料頁#K與#K+1的詮釋資料(matadata)中,以作為日後資料確認的依據。此外,超級資料區塊260的編號(即編號0)、以及具有資料的最後一個超級資料頁270的編號(即編號63)亦可記錄在多平面資料頁#K與#K+1的詮釋資料中,同樣可以作為日後資料確認的依據。
由於SLC類型快閃記憶體240的可靠性(即錯誤率)優於MLC類型快閃記憶體的可靠性,而MLC類型快閃記憶體的可靠性又優於TLC類型快閃記憶體的可靠性,因此將步驟S303所產生的主要F2H對照表儲存在SLC類型資料區塊240可以使主要F2H對照表得到較好的保護。
圖4為依照本發明另一實施例之資料儲存方法的流程圖,相較於圖3所對應的實施例,圖4所對應的實施例可適用於同一主動資料區塊上發生多重電源中斷事件的處理。步驟S401:選取一個主動資料區塊以儲存來自主機100的資料;S402:判斷是否發生電源中斷事件。由於步驟S401與S301相同,步驟S402與S302相同,故不多作說明。
步驟S403,當步驟S402的判斷結果為是時,判斷此主動資料區塊是否已發生另一電源中斷事件。以前述例子來說就是判斷超級資料區塊#0是否已發生上述另一電源中斷事件。
步驟S404,當步驟S403的判斷結果為否時,記錄主動資料區塊的編號以及主動資料區塊中具有資料的最後一個資料頁的主要編號;步驟S405,產生主要F2H對照表,其中,主要F2H對照表係記錄具有資料的最後一個資料頁及其之前的所有資料頁的資料的對應關係;步驟S406,將主要F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的主要編號寫入至指定資料區塊,其中,指定資料區塊與主動資料區塊較佳為不同類型的資料區塊,或指定資料區塊的每個儲存單元的資料儲存能力不大於主動資料區塊的每個儲存單元的資料儲存能力,或指定資料區塊不用以儲存來自主機100的資料。由於步驟S404與S303類似,步驟S405與S304相同,步驟S406與S305類似,主要的差異乃在於具有資料的最後一個資料頁的編號變更為具有資料的最後一個資料頁的主要編號,故不多作說明。
步驟S407,當步驟S403的判斷結果為是時,記錄主動資料區塊的編號、以及具有資料的最後一個資料頁的次要編號。假設超級資料區塊#0曾發生過電源中斷事件(稱之為第一次電源中斷事件),且當時最後一個具有資料的超級資料頁270是超級資料頁#63。現在又再度發生電源中斷事件(稱之為第二次電源中斷事件),且最後一個具有資料的超級資料頁270是超級資料頁#127,那麼控制單元210就會記錄超級資料區塊的編號0、以及超級資料頁的編號128(即次要編號)。
步驟S408,產生一個次要F2H對照表,此次要F2H對照表係記錄步驟S404的主要編號以及步驟S407的次要編號,此兩個編號之間的所有資料頁的資料的對應關係。控制單元210會產生一個次要F2H對照表,此次要F2H對照表係記錄第一次電源中斷事件時最後一個具有資料的超級資料頁270的編號(即編號63)以及第二次電源中斷事件時最後一個具有資料的超級資料頁270的編號(編號127),兩個編號之間的所有超級資料頁270的資料的對應關係。由於次要F2H對照表係記錄超級資料區塊#0之超級資料頁#64至超級資料頁#127這64個超級資料頁270的資料的對應關係,而非超級資料頁#0至超級資料頁#127這128個超級資料頁270的資料的對應關係,因此,控制單元210僅需較少的時間即能完成次要F2H對照表的建立。
步驟S409,將次要F2H對照表、主動資料區塊的編號、以及具有資料的最後一個資料頁的次要編號寫入至指定資料區塊。控制單元210便將新產生的次要F2H對照表、超級資料區塊260的編號(即編號0)、以及第二次電源中斷時具有資料的的最後一個超級資料頁270的次要編號(即編號127)寫入至 SLC類型資料區塊#0的多平面資料頁250。
假設記錄超級資料頁#64至超級資料頁#127這64個超級資料頁270的資料的對應關係的次要F2H對照表需以SLC類型資料區塊240中的二個多平面資料頁250來儲存,那麼控制單元210可將次要F2H對照表分割並分別寫入至多平面資料頁#K+2與#K+3,並在這二個多平面資料頁250中分別儲存F2H#2對照表與F2H#3對照表。較佳地,F2H#2對照表與F2H#3對照表的編號,即編號2以及3,超級資料區塊260的編號(即編號0)、以及具有資料的最後一個超級資料頁270的編號(即編號127)記錄在多平面資料頁#K+2與#K+3的詮釋資料中,以作為日後資料確認的依據。
假設記錄超級資料頁#64至超級資料頁#127這64個超級資料頁270的資料並非全是新的資料,而是更新後的資料,則分割後的F2H對照表的編號有可能會重覆。例如,超級資料頁#64至超級資料頁#127所儲存的資料包含32筆新的資料以及超級資料頁#0-31的更新資料,則次要F2H對照表包含F2H#2對照表與更新後的F2H#0對照表,則控制單元210可將F2H#2對照表與更新後的F2H#0對照表儲存至多平面資料頁#K+2與#K+3,並將F2H#2對照表與更新後的F2H#0對照表的編號,即編號2以及0,可分別記錄在多平面資料頁#K+2與#K+3的詮釋資料(matadata)中,以作為資料確認的依據。此外,超級資料區塊260的編號(即編號0)、以及具有資料的最後一個超級資料頁270的編號(即編號127)亦可記錄在多平面資料頁#K+2與#K+3的詮釋資料中,同樣可以作為資料確認的依據。
圖5為本發明一實施例的資料回復程序的流程,本發明資料回復程序可應用於資料儲存裝置200,以便於復電後進行資料回復。步驟S501,讀取指定資料區塊而取得F2H對照表、主動資料區塊的編號以及具有資料的最後一個資料頁的編號。控制單元210讀取SLC類型資料區塊240的內容可以取得F2H對照表,例如,步驟S305所儲存的主要F2H對照表,或是步驟S406所儲存的主要F2H對照表以及步驟S409所儲存的次要F2H對照表。
步驟S502判斷F2H對照表的內容是否與主動資料區塊的編號以及具有資料的最後一個資料頁的編號一致。由於F2H對照表的編號乃已建立,因此,藉由詮釋資料所記錄的F2H對照表的編號即可得知分割後的F2H對照表的總數。再判斷是否需要將分割後的F2H對照表予以合併,即可得到完整的主要F2H對照表以及次要F2H對照表。主要F2H對照表及次要F2H對照表的內容本身含有主動資料區塊的編號以及具有資料的最後一個資料頁的編號(主要編號及次要編號)的資訊,控制單元210可藉比對此些資料即可得到判斷的結果。假設詮釋資料所記錄的主動資料區塊是超級資料區塊#0,且具有資料的最後一個超級資料頁270的主要編號是63,次要編號是127,那麼控制單元210就會判斷出這些是否符合主要F2H對照表以及次要F2H對照表的記錄。如果F2H對照表包括主要F2H對照表以及次要F2H對照表,由於次要F2H對照表僅記錄第一次電源中斷事件後所新增或更新的資料的對應關係,因此,次要F2H對照表需結合主要F2H對照表的才是完整的F2H對照表,也才能得到超級資料區塊#0中所有具有資料的超級資料頁270的資料的對應關係。假如分割後的次要F2H對照表的編號與分割後的主要F2H對照表的編號重覆時,如上述例子中所述的F2H#0對照表,這表示於第一次電源中斷事件後,超級資料頁#0~#31的資料已被更新,因此,超級資料頁#0~#31的資料的對應關係將以分割後的次要F2H對照表(即F2H#0對照表)為準。
步驟S503,如果步驟S502的判斷結果為是,則將F2H對照表儲存至揮發性儲存媒體230。控制單元210會將主要F2H對照表儲存至揮發性儲存媒體230,或同時將主要F2H對照表及次要F2H對照表儲存至揮發性儲存媒體230。
步驟S504,選取主動資料區塊以儲存來自主機100的資料。以上述為例,由於超級資料區塊#0仍有空間可以儲存來自主機100的資料,則控制單元210會將後續的資料寫入至超級資料區塊#0中。以上述為例,如果F2H對照表僅包含主要F2H對照表,則後續的資料將寫入至超級資料頁#64以及後續的超級資料頁270;如果F2H對照表包含主要F2H對照表以及次要F2H對照表,則後續的資料將寫入至超級資料頁#128以及後續的超級資料頁270。
在另一實施例中,於步驟S503,控制單元210會將F2H對照表寫入主動資料區塊,並於步驟S504,選取另一個超級資料區塊260,例如超級資料區塊#1,作為主動資料區塊,以儲存來自主機100的資料。或者,於步驟S503,控制單元210會將主要F2H對照表以及次要F2H對照表寫入主動資料區塊,並於步驟S504,選取另一個超級資料區塊260,例如超級資料區塊#1,作為主動資料區塊,以儲存來自主機100的資料。在此實施例中,由於超級資料區塊#0發生過電源中斷事件,其資料儲存能力可能已受到影響,因此,將超級資料區塊#0予以關閉,並選取超級資料區塊#1作為主動資料區塊,可以降低資料流失的風險。此外,若步驟S502中的判斷結果為否,則控制單元210將執行資料修復程序(如步驟S505所示),由於資料修復程序為習知技術,故不多作說明。
綜上所述,在本發明中,由於控制單元210在電源中斷時所產生的主要或次要F2H對照表僅記錄有儲存資料的資料頁的資料的對應關係,因此,產生的主要或次要F2H對照表的資料量會少於採習知方法所產生之完整F2H對照表的資料量,不但可以降低主要或次要F2H對照表的資料量,更能減少產生主要或次要F2H對照表所需要的時間,且將主要或次要F2H對照表儲存至具有較佳資料保存能力的資料區塊中,更能提供主要或次要F2H對照表較佳的保護。
100‧‧‧主機
110‧‧‧中央處理單元
120‧‧‧連接介面
200‧‧‧資料儲存裝置
210‧‧‧控制單元
212‧‧‧介面邏輯
214‧‧‧微處理器
216‧‧‧控制邏輯
220‧‧‧非揮發性儲存媒體
230‧‧‧揮發性儲存媒體
240‧‧‧SLC類型資料區塊
250‧‧‧多平面資料頁
260‧‧‧超級資料區塊
270‧‧‧超級資料頁
F2H#0~F2H#3‧‧‧具有編號的F2H對照表
P1、P2‧‧‧平面
S301~S305、S401~S409、S501-S505‧‧‧步驟
圖1繪有依照本發明一實施例之資料儲存裝置及其與主機的電性耦接關係; 圖2繪有依照本發明一實施例之非揮發性儲存媒體220的實現方式; 圖3為依照本發明一實施例之資料儲存方法的流程圖; 圖4為依照本發明另一實施例之資料儲存方法的流程圖; 圖5為本發明一實施例的資料回復程序的流程。
S301~S305‧‧‧步驟

Claims (43)

  1. 一種可用於一資料儲存裝置之資料儲存方法,該資料儲存方法包括: 選取一主動資料區塊以儲存來自一主機的資料; 判斷是否發生一電源中斷事件; 當判斷為是時,記錄該主動資料區塊的編號、以及該主動資料區塊中具有資料的最後一個資料頁的編號; 產生一主要F2H對照表;以及 將該主要F2H對照表、該主動資料區塊的編號、以及具有資料的最後一個資料頁的編號寫入至一指定資料區塊。
  2. 如申請專利範圍第1項所述之資料儲存方法,其中該主要F2H對照表係記錄具有資料的最後一個資料頁及其之前的所有資料頁的資料的對應關係。
  3. 如申請專利範圍第1項所述之資料儲存方法,其中該主要F2H對照表係記錄具有資料的最後一個資料頁及其之前的所有資料頁的有效資料的對應關係。
  4. 如申請專利範圍第1項所述之資料儲存方法,其中該指定資料區塊與該主動資料區塊為不同類型的資料區塊。
  5. 如申請專利範圍第1項所述之資料儲存方法,其中該指定資料區塊的每個儲存單元的資料儲存能力不大於該主動資料區塊的每個儲存單元的資料儲存能力。
  6. 如申請專利範圍第1項所述之資料儲存方法,其更包括將該主要F2H對照表予以分割,並對每一分割後之該主要F2H對照表給予一編號,並將該編號也寫入至該指定資料區塊。
  7. 如申請專利範圍第6項所述之資料儲存方法,其中,每一該分割後之該主要F2H對照表的長度為該指定資料區塊的一資料頁的整數倍。
  8. 一種可用於一資料儲存裝置之資料儲存方法,該資料儲存方法包括: 選取一主動資料區塊以儲存來自一主機的資料; 判斷是否發生一電源中斷事件; 當判斷為是時,進一步判斷該主動資料區塊是否已發生另一電源中斷事件; 當進一步判斷的結果為否時,記錄該主動資料區塊的編號、以及該主動資料區塊中具有資料的最後一個資料頁的主要編號; 產生一主要F2H對照表;以及 將該主要F2H對照表、該主動資料區塊的編號、以及具有資料的最後一個資料頁的主要編號寫入至一指定資料區塊。
  9. 一種可用於一資料儲存裝置之資料儲存方法,該資料儲存方法包括: 選取一主動資料區塊以儲存來自一主機的資料; 判斷是否發生一電源中斷事件; 當判斷為是時,進一步判斷該主動資料區塊是否已發生另一電源中斷事件; 當進一步判斷的結果為是時,記錄該主動資料區塊的編號、以及具有資料的最後一個資料頁的次要編號; 產生一次要F2H對照表;以及 將該次要F2H對照表、該主動資料區塊的編號、以及具有資料的最後一個資料頁的一次要編號寫入至一指定資料區塊。
  10. 如申請專利範圍第9項所述之資料儲存方法,其中該次要F2H對照表係記錄一主要編號與該次要編號之間的所有資料頁的資料的對應關係。
  11. 如申請專利範圍第9項所述之資料儲存方法,其更包括將該次要F2H對照表予以分割,並對每一分割後之該次要F2H對照表給予一編號,並將該編號也寫入至該指定資料區塊。
  12. 如申請專利範圍第9項所述之資料儲存方法,其中該指定資料區塊更儲存一主要F2H對照表,該主要F2H對照表記錄主要編號之前的所有資料頁的資料的對應關係。
  13. 如申請專利範圍第9項所述之資料儲存方法,其中該指定資料區塊更儲存一主要F2H對照表,該主要F2H對照表記錄主要編號之前的所有資料頁的有效資料的對應關係。
  14. 如申請專利範圍第9項所述之資料儲存方法,其中該指定資料區塊與該主動資料區塊為不同類型的資料區塊。
  15. 如申請專利範圍第9項所述之資料儲存方法,其中該指定資料區塊的每個儲存單元的資料儲存能力不大於該主動資料區塊的每個儲存單元的資料儲存能力。
  16. 如申請專利範圍第9項所述之資料儲存方法,其更包括將該次要F2H對照表予以分割,並對每一分割後之該次要F2H對照表給予一編號,並將該編號也寫入至該指定資料區塊。
  17. 一種可用於一資料儲存裝置之資料回復程序,該資料回復程序包括下列步驟: 讀取一指定資料區塊而取得一F2H對照表、一主動資料區塊的編號、以及具有資料的最後一個資料頁的編號; 判斷該F2H對照表的內容是否與該主動資料區塊的編號以及具有資料的最後一個資料頁的編號一致; 當判斷為是時,將該F2H對照表儲存至一揮發性儲存媒體;以及 選取一主動資料區塊以儲存來自一主機的資料。
  18. 如申請專利範圍第17項所述之資料回復程序,其中當判斷為否時,執行一資料修復程序。
  19. 如申請專利範圍第17項所述之資料回復程序,其中該主要F2H對照表係記錄具有資料的最後一個資料頁及其之前的所有資料頁的資料的對應關係。
  20. 如申請專利範圍第17項所述之資料回復程序,其中該主要F2H對照表係記錄具有資料的最後一個資料頁及其之前的所有資料頁的有效資料的對應關係。
  21. 如申請專利範圍第17項所述之資料回復程序,其中該指定資料區塊與該主動資料區塊為不同類型的資料區塊。
  22. 如申請專利範圍第17項所述之資料回復程序,其中該指定資料區塊的每個儲存單元的資料儲存能力不大於該主動資料區塊的每個儲存單元的資料儲存能力。
  23. 一種資料儲存裝置,其包括: 一非揮發性儲存媒體;以及 一控制單元,用以自該非揮發性儲存媒體選取一主動資料區塊以儲存來自一主機的資料,並判斷是否發生一電源中斷事件,當判斷為是時,記錄該主動資料區塊的編號、以及該主動資料區塊中具有資料的最後一個資料頁的編號,據以產生一主要F2H對照表,並將該主要F2H對照表、該主動資料區塊的編號、以及具有資料的最後一個資料頁的編號寫入至該非揮發性儲存媒體中之一指定資料區塊。
  24. 如申請專利範圍第23項所述之資料儲存裝置,其中該主要F2H對照表係記錄具有資料的最後一個資料頁及其之前的所有資料頁的資料的對應關係。
  25. 如申請專利範圍第23項所述之資料儲存裝置,其中該主要F2H對照表係記錄具有資料的最後一個資料頁及其之前的所有資料頁的有效資料的對應關係。
  26. 如申請專利範圍第23項所述之資料儲存裝置,其中該指定資料區塊與該主動資料區塊為不同類型的資料區塊。
  27. 如申請專利範圍第23項所述之資料儲存裝置,其中該指定資料區塊的每個儲存單元的資料儲存能力不大於該主動資料區塊的每個儲存單元的資料儲存能力。
  28. 如申請專利範圍第23項所述之資料儲存裝置,其中該控制單元更包括將該主要F2H對照表予以分割,並對每一分割後之該主要F2H對照表給予一編號,並將該編號也寫入至該指定資料區塊。
  29. 一種資料儲存裝置,其包括: 一非揮發性儲存媒體;以及 一控制單元,用以自該揮發性儲存媒體選取一主動資料區塊以儲存來自一主機的資料,並判斷是否發生一電源中斷事件,當判斷為是時,進一步判斷該主動資料區塊是否已發生另一電源中斷事件,且當進一步判斷的結果為否時,記錄該主動資料區塊的編號、以及該主動資料區塊中具有資料的最後一個資料頁的主要編號,據以產生一主要F2H對照表,並將該主要F2H對照表、該主動資料區塊的編號、以及具有資料的最後一個資料頁的主要編號寫入至該非揮發性儲存媒體之一指定資料區塊。
  30. 一種資料儲存裝置,其包括: 一非揮發性儲存媒體;以及 一控制單元,用以自該揮發性儲存媒體選取一主動資料區塊以儲存來自一主機的資料,並判斷是否發生一電源中斷事件,當判斷為是時,進一步判斷該主動資料區塊是否已發生另一電源中斷事件,且當進一步判斷的結果為是時,記錄該主動資料區塊的編號、以及具有資料的最後一個資料頁的次要編號;產生一次要F2H對照表;以及將該次要F2H對照表、該主動資料區塊的編號、以及具有資料的最後一個資料頁的次要編號寫入至一指定資料區塊。
  31. 如申請專利範圍第30項所述之資料儲存裝置,其中該次要F2H對照表係記錄主要編號與次要編號之間的所有資料頁的資料的對應關係。
  32. 如申請專利範圍第30項所述之資料儲存裝置,其中該控制單元更包括將該次要F2H對照表予以分割,並對每一分割後之該次要F2H對照表給予一編號,並將該編號也寫入至該指定資料區塊。
  33. 如申請專利範圍第30項所述之資料儲存裝置,其中該指定資料區塊更儲存一主要F2H對照表,該主要F2H對照表記錄主要編號之前的所有資料頁的資料的對應關係。
  34. 如申請專利範圍第30項所述之資料儲存裝置,其中該指定資料區塊更儲存一主要F2H對照表,該主要F2H對照表記錄主要編號之前的所有資料頁的有效資料的對應關係。
  35. 如申請專利範圍第30項所述之資料儲存裝置,其中該指定資料區塊與該主動資料區塊為不同類型的資料區塊。
  36. 如申請專利範圍第30項所述之資料儲存裝置,其中該指定資料區塊的每個儲存單元的資料儲存能力不大於該主動資料區塊的每個儲存單元的資料儲存能力。
  37. 如申請專利範圍第30項所述之資料儲存裝置,其中該控制單元更包括將該主要F2H對照表予以分割,並對每一分割後之該主要F2H對照表給予一編號,並將該編號也寫入至該指定資料區塊。
  38. 一種資料儲存裝置,其包括: 一揮發性儲存媒體; 一非揮發性儲存媒體;以及 一控制單元,用以讀取該非揮發性儲存媒體中之一指定資料區塊而取得一F2H對照表、一主動資料區塊的編號、以及具有資料的最後一個資料頁的編號,並判斷該F2H對照表的內容是否與該主動資料區塊的編號以及具有資料的最後一個資料頁的編號一致,當判斷為是時,將該F2H對照表儲存至該揮發性儲存媒體,並自該非揮發性儲存媒體選取一主動資料區塊以儲存來自一主機的資料。
  39. 如申請專利範圍第38項所述之資料儲存裝置,其中當判斷為否時,該控制單元執行一資料修復程序。
  40. 如申請專利範圍第38項所述之資料儲存裝置,其中該主要F2H對照表係記錄具有資料的最後一個資料頁及其之前的所有資料頁的資料的對應關係。
  41. 如申請專利範圍第38項所述之資料儲存裝置,其中該主要F2H對照表係記錄具有資料的最後一個資料頁及其之前的所有資料頁的有效資料的對應關係。
  42. 如申請專利範圍第38項所述之資料儲存裝置,其中該指定資料區塊與該主動資料區塊為不同類型的資料區塊。
  43. 如申請專利範圍第38項所述之資料儲存裝置,其中該指定資料區塊的每個儲存單元的資料儲存能力不大於該主動資料區塊的每個儲存單元的資料儲存能力。
TW105138978A 2016-11-25 2016-11-25 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置 TWI591533B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW105138978A TWI591533B (zh) 2016-11-25 2016-11-25 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
CN201710406527.8A CN107402719B (zh) 2016-11-25 2017-06-02 可用于数据储存装置的数据储存方法与数据回复方法、以及采用这些方法的数据储存装置
US15/805,067 US10579483B2 (en) 2016-11-25 2017-11-06 Storing a compact flash physical-to-host logical address mapping table on power loss

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105138978A TWI591533B (zh) 2016-11-25 2016-11-25 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置

Publications (2)

Publication Number Publication Date
TWI591533B true TWI591533B (zh) 2017-07-11
TW201820116A TW201820116A (zh) 2018-06-01

Family

ID=60048250

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105138978A TWI591533B (zh) 2016-11-25 2016-11-25 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置

Country Status (3)

Country Link
US (1) US10579483B2 (zh)
CN (1) CN107402719B (zh)
TW (1) TWI591533B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11334448B2 (en) 2017-09-20 2022-05-17 SK Hynix Inc. Memory system and operating method thereof

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110471788B (zh) * 2018-05-08 2024-03-15 美光科技公司 异步功率损耗影响的数据结构
JP6708762B1 (ja) * 2019-01-29 2020-06-10 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US11342008B2 (en) * 2020-04-14 2022-05-24 Silicon Motion, Inc. Method and apparatus for accessing to data in response to power-supply event
KR20220133003A (ko) * 2021-03-24 2022-10-04 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4317607B2 (ja) 1998-12-14 2009-08-19 株式会社日立製作所 情報処理装置、耐タンパ処理装置
KR100588199B1 (ko) 2004-12-07 2006-06-08 주식회사 팬택 휴대 단말기에서 프로그램 다운로드 실패시 이의 복구방법 및 이를 적용한 휴대 단말기
CN101458659A (zh) 2007-12-14 2009-06-17 环达电脑(上海)有限公司 闪存储存系统及其方法
US7962801B2 (en) * 2008-10-15 2011-06-14 Silicon Motion, Inc. Link table recovery method
US8677100B2 (en) * 2009-07-17 2014-03-18 Macronix International Co., Ltd. Serial memory interface for extended address space
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
TW201107970A (en) 2009-08-21 2011-03-01 Hsu Hsiu Yu Memory accessing method for microcontroller
CN101876949B (zh) * 2009-11-30 2012-04-25 威盛电子股份有限公司 数据储存系统与方法
US8886870B2 (en) * 2010-05-25 2014-11-11 Marvell World Trade Ltd. Memory access table saving and restoring system and methods
CN102915286A (zh) * 2011-08-02 2013-02-06 鸿富锦精密工业(深圳)有限公司 数据高速传输电路和方法
US9164887B2 (en) * 2011-12-05 2015-10-20 Industrial Technology Research Institute Power-failure recovery device and method for flash memory
TWI448891B (zh) 2012-09-06 2014-08-11 Silicon Motion Inc 資料儲存裝置與快閃記憶體控制方法
US9268682B2 (en) * 2012-10-05 2016-02-23 Skyera, Llc Methods, devices and systems for physical-to-logical mapping in solid state drives
JP2016506585A (ja) * 2013-01-08 2016-03-03 ヴァイオリン メモリー インコーポレイテッド データストレージのための方法及びシステム
US9830257B1 (en) * 2013-06-12 2017-11-28 Western Digital Technologies, Inc. Fast saving of data during power interruption in data storage systems
KR20150017990A (ko) * 2013-08-08 2015-02-23 삼성전자주식회사 서버 클러스터의 데이터 분배 방법 및 장치
KR20150045747A (ko) * 2013-10-21 2015-04-29 에스케이하이닉스 주식회사 데이터 저장 시스템 및 그것의 동작 방법
US9542278B2 (en) 2013-12-26 2017-01-10 Silicon Motion, Inc. Data storage device and flash memory control method
CN104881334B (zh) * 2015-02-06 2018-04-10 北京华胜天成软件技术有限公司 缓存数据的防掉电保护方法及系统
US10915256B2 (en) * 2015-02-25 2021-02-09 SK Hynix Inc. Efficient mapping scheme with deterministic power transition times for flash storage devices
CN106095699B (zh) * 2015-03-20 2020-12-01 爱思开海力士有限公司 用于快闪存储器的可扩展spor算法
KR101676175B1 (ko) * 2015-06-16 2016-11-14 한양대학교 산학협력단 전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법
US9940261B2 (en) * 2016-05-05 2018-04-10 Western Digital Technology, Inc. Zoning of logical to physical data address translation tables with parallelized log list replay
US20180260319A1 (en) * 2017-03-10 2018-09-13 Toshiba Memory Corporation Writing ssd system data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11334448B2 (en) 2017-09-20 2022-05-17 SK Hynix Inc. Memory system and operating method thereof
TWI782977B (zh) * 2017-09-20 2022-11-11 韓商愛思開海力士有限公司 記憶體系統及其操作方法

Also Published As

Publication number Publication date
CN107402719B (zh) 2020-10-16
TW201820116A (zh) 2018-06-01
CN107402719A (zh) 2017-11-28
US10579483B2 (en) 2020-03-03
US20180150357A1 (en) 2018-05-31

Similar Documents

Publication Publication Date Title
KR102580577B1 (ko) 솔리드 스테이트 드라이브들 내의 zns들
TWI591533B (zh) 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
KR102370760B1 (ko) 존 네임스페이스에 대한 존 형성
US11055176B1 (en) Storage devices hiding parity swapping behavior
US10657048B2 (en) Garbage collection method for data storage device
TW201732597A (zh) 資料儲存裝置和其操作方法
KR20110121897A (ko) 사용자 장치 및 그것의 프로그램 페일 처리 방법
US11726672B2 (en) Operating method of storage device setting secure mode of command, and operating method of storage system including the storage device
CN111916140B (zh) 控制器及其操作方法以及包括控制器的存储器系统
US20200218667A1 (en) Operating method for data storage device
KR20200114212A (ko) 데이터 저장 장치 및 그것의 동작 방법
US20140219041A1 (en) Storage device and data processing method thereof
TWI670640B (zh) 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
US11288184B2 (en) Systems and methods for managing an artificially limited logical space of non-volatile memory
KR20180042699A (ko) 데이터 저장 장치 및 그것의 동작 방법
US20180217928A1 (en) Data storage device and operating method thereof
TW201941208A (zh) 記憶體管理方法與儲存控制器
US11847337B2 (en) Data parking for ZNS devices
US11733920B2 (en) NVMe simple copy command support using dummy virtual function
KR20230037255A (ko) 이벤트 로그 관리 방법, 컨트롤러 및 저장 장치
US11194494B2 (en) Storage devices hiding parity swapping behavior
US11853607B2 (en) Optimizing flash memory utilization for NVMe KV pair storage
US20240111646A1 (en) Hmb multi-segment optimal selection
US20230141682A1 (en) Memory controller, storage device, and operating method of storage device
US20240103726A1 (en) NVMe Copy Command Acceleration