TW201800930A - 資料儲存裝置之資料儲存方法 - Google Patents

資料儲存裝置之資料儲存方法 Download PDF

Info

Publication number
TW201800930A
TW201800930A TW105130613A TW105130613A TW201800930A TW 201800930 A TW201800930 A TW 201800930A TW 105130613 A TW105130613 A TW 105130613A TW 105130613 A TW105130613 A TW 105130613A TW 201800930 A TW201800930 A TW 201800930A
Authority
TW
Taiwan
Prior art keywords
data storage
data
storage device
storage method
host
Prior art date
Application number
TW105130613A
Other languages
English (en)
Other versions
TWI602115B (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 慧榮科技股份有限公司
Application granted granted Critical
Publication of TWI602115B publication Critical patent/TWI602115B/zh
Publication of TW201800930A publication Critical patent/TW201800930A/zh

Links

Classifications

    • 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/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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
    • 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/0253Garbage collection, i.e. reclamation of unreferenced 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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
    • 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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/60Details of cache memory
    • 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/7204Capacity control, e.g. partitioning, end-of-life degradation
    • 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/0653Monitoring storage devices or systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本發明提出一種可用於一資料儲存裝置之資料儲存方法。在所述之資料儲存方法中,當發生電源中斷事件時,資料儲存裝置便依據一電荷儲存裝置之電壓準位的記錄來判斷電荷儲存裝置是否正常運作,當判斷為否時便進入安全操作模式。

Description

資料儲存裝置之資料儲存方法
本發明是有關於資料儲存之技術,尤其是有關於一種資料儲存裝置之資料儲存方法。
一般的資料儲存裝置主要由控制單元、降壓模組、揮發性記憶體(volatile memory)與非揮發性記憶體(non-volatile memory)所構成,且控制單元可電性耦接一主機(host),例如是電性耦接至電腦或手持式行動裝置,並負責與主機進行溝通與資料的傳遞。在習知之資料儲存裝置的操作中,控制單元會接收並處理來自於主機的指令,將目標資料寫入非揮發性記憶體中或自非揮發性記憶體讀取目標資料。若主機所傳來的是資料量很小的資料,例如是不足一個資料頁(page)大小的資料時,那麼控制單元就會將此資料先儲存在揮發性記憶體或資料緩衝器中,待資料的大小等於或大於一個資料頁大小的時候,再將揮發性記憶體與資料緩衝器中的資料寫入非揮發性記憶體中以進行儲存。除了來自於或提供給主機的資料外,控制單元運作所需之系統資料,例如:位址對應表,亦會儲存在揮發性記憶體中。
一般而言,資料儲存裝置乃是將主機所提供的外部電源經其降壓模組轉換成不同電壓大小的降壓電源,然後再將這些降壓電源當作控制單元、揮發性記憶體與非揮發性記憶體的操作電源。然而,資料儲存裝置在運作上可能會遇到電源中斷事件,為了避免發生電源中斷事件而造成資料儲存裝置的不當運作,有些製造商在資料儲存裝置中加入電荷儲存裝置(或電容),以作為小型的備用電源。當發生電源中斷事件時,電荷儲存裝置能提供短暫的電源使資料儲存裝置得以順利地完成指定的任務。
然而,一般而言,電荷儲存裝置有使用壽命的問題,當使用壽命(lifetime)到期或產品故障時,除非使用者更換電荷儲存裝置或進行故障排除之處置,否則,電荷儲存裝置將無法發揮預期的功能。然而,目前並無適當的處理機制來處理電荷儲存裝置使用壽命到期或產生了故障的事件。
此外,資料儲存裝置亦需要保護機制以保護發生電源中斷事件時仍儲存於揮發性記憶體,例如是動態隨機存取記憶體(dynamic random access memory,DRAM),中的資料或儲存於資料緩衝器中的資料。
本發明之一目的在提供一種可用於一資料儲存裝置之資料儲存方法,其可使資料儲存裝置在電荷儲存裝置已無法正常運作時,仍能確保欲寫入之資料不會發生遺失。
本發明之另一目的在提供一種可用於一資料儲存裝置之資料儲存方法,其可確保資料儲存裝置處於忙碌狀態時,供電給資料儲存裝置的主機不會強制關機。
本發明之再一目的在提供一種可用於一資料儲存裝置之資料儲存方法,其可確保供電給資料儲存裝置的主機在關機時,資料儲存裝置可以馬上啟動資料傾倒程序。
本發明提出一種可用於一資料儲存裝置之資料儲存方法,此資料儲存方法包括有下列步驟:判斷是否發生電源中斷事件;當發生電源中斷事件時,記錄一電荷儲存裝置之電壓準位,其中此電荷儲存裝置於電源中斷事件時可提供電源至資料儲存裝置;依據電荷儲存裝置之電壓準位的記錄來判斷電荷儲存裝置是否正常運作;以及當判斷結果為否時,使資料儲存裝置進入安全操作模式。
本發明另提出一種可用於一資料儲存裝置之資料儲存方法,此資料儲存方法包括下列步驟:判斷是否自主機接收到中斷信息,所述中斷信息為主機在其電源開關被切換為斷路時所傳送;當收到中斷信息時,判斷資料儲存裝置是否正處於忙碌狀態;以及當判斷為真時,使資料儲存裝置透過一GPIO腳位傳送上述忙碌狀態至該主機。
本發明再提出一種可用於一資料儲存裝置之資料儲存方法,此資料儲存方法包括下列步驟:指派資料暫存區塊;判斷是否自主機接收到中斷信息,此中斷信息為主機在其電源開關被切換為斷路時所傳送;以及當判斷為真時,啟動資料傾倒程序。
本發明之資料儲存裝置由於採用上述操作,因此其可在發生電源中斷事件時,仍能確保欲寫入資料儲存裝置之資料不會發生遺失,保證了欲寫入資料的完整性與正確性。
圖1繪有依照本發明一實施例之資料儲存裝置的示意圖。如圖1所示,資料儲存裝置100係電性耦接主機200。此資料儲存裝置100包括有升壓模組110(非必要)、電荷儲存裝置120、降壓模組130、控制單元140、揮發性記憶體150與非揮發性記憶體160。其中,升壓模組110用以接收主機200所提供的外部電源EP,例如5伏特,並用以提高外部電源EP的電壓準位而據以產生升壓電源HV,例如12伏特。電荷儲存裝置120係電性耦接於升壓電源HV與參考電位REF之間。此外,降壓模組130用以接收升壓電源HV,並用以降低其所接收之電源的電壓準位而據以產生至少一降壓電源。在此例中,降壓模組130具有降壓電路132、134、136與138,而這些降壓電路用以分別產生降壓電源V1(例如5伏特)、V2(例如3.3伏特)、V3(例如1.5伏特)與V4(例如1.2伏特)。控制單元140係接收降壓電源V1、V2、V3與V4,以將所接收的降壓電源當作其內部各構件的操作電源。
使用者可使控制單元140將所接收到之降壓電源的至少其中之一轉傳至揮發性記憶體150與非揮發性記憶體160,例如將降壓電源V3轉傳至揮發性記憶體150,並將降壓電源V4轉傳至非揮發性記憶體160,以將這二個降壓電源分別當作揮發性記憶體150與非揮發性記憶體160的操作電源。或者,部份降壓電源V1、V2、V3與V4可直接提供給揮發性記憶體150與非揮發性記憶體160。例如:降壓電源V2及V3可直接提供給非揮發性記憶體160,降壓電源V3可直接提供給揮發性記憶體150,此實施例可降低控制單元140的負擔並降低其內部電路大小,其缺點為控制單元140缺乏對揮發性記憶體150與非揮發性記憶體160的電源管理的能力。
上述之揮發性記憶體150例如可採用動態隨機存取記憶體或靜態隨機存取記憶體(Static Random-Access Memory,SRAM)來實現。在另一實施例中,亦可以用資料緩衝器替代揮發性記憶體150,資料緩衝器係置於控制單元140內部,其缺點為資料儲存能力小,其優點為速度快、成本低。上述之非揮發性記憶體160則例如可採用快閃記憶體(Flash memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、相變記憶體(Phase-change memory)或鐵電隨機存取記憶體(Ferroelectric RAM)等具有長時間資料保存之記憶體裝置來實現。
非揮發性記憶體160包括資料暫存區162、資料儲存區164與備用區塊(spare data block)池168。資料儲存區164較佳具有多個第一類資料區塊(資料區塊即所謂的data block),每一第一類資料區塊中的每一儲存單元(儲存單元即所謂的memory cell)可儲存M個位元的資料。資料暫存區162具有多個第二類資料區塊且每一第二類資料區塊中的每一儲存單元可儲存N個位元的資料,其中N與M皆為正整數,且N小於M。資料暫存區162之功能乃是作為資料緩衝區,其具有較快速的資料存取能力,用以暫存來自於主機200的資料。備用區塊池168具有多個第一類資料區塊,可以用以替換資料儲存區164的第一類資料區塊。在另一實施例中,備用區塊池168更具有多個第二類資料區塊,可以用以替換資料暫存區162的第二類資料區塊。當發生電源中斷事件時,控制單元140會將儲存於揮發性記憶體150之資料傾倒至資料暫存區162的第二類資料區塊,或將控制單元140內部之資料緩衝器中所儲存的資料傾倒至資料暫存區162的第二類資料區塊。
在另一實施例中,非揮發性記憶體160也可包括資料暫存區162、資料儲存區164、資料傾倒(flush)區塊166與備用區塊池168。此實施例的資料暫存區162、資料儲存區164與備用區塊池168的功能與上一實施例相同。資料傾倒區塊166具有一個第二類資料區塊。在正常操作下資料傾倒區塊166不提供資料暫存之功能,來自於主機200的資料皆會先儲存至資料暫存區162。控制單元140僅有在緊急狀態之下才會對資料傾倒區塊166進行資料的存取,例如:當發生電源中斷事件時,控制單元140會將儲存於揮發性記憶體150之資料傾倒至資料傾倒區塊166,或將控制單元140內部之資料緩衝器中所儲存的資料傾倒至資料傾倒區塊166。
第一類資料區塊較佳可採用三階儲存單元(triple-level cell,TLC)型態的快閃記憶體來實現,並利用軟體方式來將部份的第一類資料區塊的記憶單元規劃成多階儲存單元(multi-level cell,MLC)或單階儲存單元(single level cell,SLC),或切換至MLC或SLC的模式,並成為第二類資料區塊。而在另一實施例中,非揮發性記憶體160可採用多階儲存單元型態的快閃記憶體來實現,並利用軟體方式來將部份的第一類資料區塊的記憶單元規劃成單階儲存單元,或切換至SLC的模式,並成為第二類資料區塊。在另一實施例中,第一類資料區塊為TLC型態的快閃記憶體,第二類資料區塊為SLC型態的快閃記憶體。在另一實施例中,第一類資料區塊為MLC型態的快閃記憶體,第二類資料區塊為SLC型態的快閃記憶體。
控制單元140係透過通訊介面170電性耦接主機200,並透過通訊介面170來與主機200進行溝通與傳遞資料。此通訊介面170例如可採序列式ATA(serial advanced technology attachment,SATA)、序列式小型電腦系統介面(Serial Attached SCSI ,SAS)、高速週邊元件互連(Peripheral Component Interconnect Express,PCI-E)、通用序列匯流排(Universal Serial Bus,USB)、M. 2(原稱為Next Generation Form Factor,NGFF)介面、U.2(原稱為SFF-8639,Small Form Factor)介面、mSATA(即mini SATA)介面等連接介面來實現。
控制單元140除了可以透過通訊介面170與主機200進行通信之外,控制單元140更可以透過GPIO(通用輸入/輸出,general purpose input/output)腳位142與主機200進行通信,使控制單元140可以透過GPIO腳位142而傳送或接收來自於主機200的資料。其中,GPIO腳位142較佳為通訊介面170的功能保留腳位的其中一,如此一來,通訊介面170無需進行物理上的變更;當然,GPIO腳位142亦可為一個獨立於通訊介面170的腳位。GPIO腳位142所傳送或接收的資料較佳為中斷訊號或忙錄訊號。一般而言,主機200具有基本輸入輸出系統(Basic Input/Output System,BIOS)、晶片組(Chipset)、中央處理器以及週邊電子元件。晶片組可包括北橋和南橋晶片,或是整合北橋和南橋的單晶片。主機200可藉由GPIO腳位142而傳送一中斷信息至控制單元140,例如,當主機200的電源開關被切換為斷路(open)或重置開關被按下以重置主機200時,BIOS輸出一個中斷訊號至晶片組。當晶片組偵測到來自於BIOS的中斷訊號時,主機200的晶片組可藉由GPIO腳位142而傳送一中斷信息至控制單元140。此外,主機200於預設時間後,例如2秒後,才執行關機或系統重置程序。
另一方面,資料儲存裝置100完成系統初始化後則執行本發明之資料儲存方法,如圖2所示,步驟S202:指派一資料暫存區塊,例如事先指派資料傾倒區塊166或資料暫存區162的第二類資料區塊來當作資料暫存區塊。步驟S204:控制單元140判斷是否從外部,例如主機200,收到中斷信息,若判斷為真則執行步驟S206。當控制單元140收到此中斷信息(即步驟S204的判斷結果為是),控制單元140立即啟動資料傾倒程序(如步驟S206所示),即將揮發性記憶體150或控制單元140的內部資料緩衝器所儲存之資料複製或搬移至資料傾倒區塊166(較佳)或資料暫存區162的第二類資料區塊。另外,資料傾倒程序可為一連串之資料寫入指令或傾倒指令,使DRAM、SRAM或資料緩衝器所儲存之資料寫入資料傾倒區塊166或資料暫存區162的第二類資料區塊。資料傾倒程序較佳具有最高或較高的優先執行權,使得資料可以最快的速度或預設時間內寫入資料傾倒區塊166或資料暫存區162的第二類資料區塊中,完成本發明之資料儲存的目的。
圖3為本發明之資料儲存方法的另一實施例。於步驟S204時,控制單元140在接收到晶片組202傳來的中斷信息後,會先執行步驟S208:判斷控制單元140本身是否正處於忙碌狀態(busy state)。當步驟S208的判斷結果為是時,例如控制單元140判斷其本身正在執行耗損平均(Wear Leveling)程序或是垃圾收集(Garbage Collection)程序而呈現忙碌狀態時,則執行步驟S210:控制單元140透過GPIO腳位142傳送忙錄訊號給晶片組202,表示控制單元140正處於忙碌狀態而必須暫緩關機或系統重置程序。另外,晶片組202在接收到這樣的信息後,亦可進一步透過主機200的螢幕(未繪示)或是喇叭(未繪示)來顯示或發出警告信息或警告聲給使用者。當控制單元140完成耗損平均或垃圾收集程序之後,即離開忙碌狀態之後,立即執行步驟S206來啟動資料傾倒程序以完成本發明之資料儲存的目的。
由於硬體或軟體設計上的差異,當主機200的電源開關被切換為斷路(open)或重置開關被按下以重置主機200時,有可能主機200會立即執行關機或系統重置程序,而不是等待一段預設時間再執行關機或系統重置程序。在此例中,控制單元140更包括電壓偵測單元144。如圖4所示,一般而言,當電荷儲存裝置120正常運作時,其電壓準位的變化與時間將如PLP(power loss protection)電容放電曲線所示。電壓偵測單元144可偵測並記錄電荷儲存裝置120的電壓準位,使控制單元140可以依據此記錄而判斷電荷儲存裝置120是否正常運作。
如圖5所示,本發明之資料儲存方法的另一實施例包括下列步驟,當外部電源EP中斷或消失時(此時步驟S402的判斷結果為是),電荷儲存裝置120仍可短暫地提供控制單元140、揮發性記憶體150以及非揮發性記憶體160運作所需之電源。假設電荷儲存裝置120並無損壞,則其電壓準位的變化(此需透過執行步驟S404來進行記錄),從電壓準位Va(即圖4所示之開始進行壓降偵測的預設電壓準位)降低到電壓準位Vb(即圖4所示之電壓臨界值),所需的時間為100ms(即T1與T0之時間差),誤差值為10ms;假設電荷儲存裝置120已損壞或無法正常運作,則其電壓準位的變化,從電壓準位Va降低到電壓準位Vb,所需的時間可能小於誤差下限值90ms,例如,僅50ms。因此,當控制單元140依據此記錄而判斷電荷儲存裝置120已無法正常運作(此時步驟S406的判斷結果為否),此時,控制單元140藉由GPIO腳位142或通訊介面170中所定義的功能保留腳位而傳送一備用電源損壞信息至主機200,而控制單元140亦從正常操作模式進入安全操作模式(如步驟S408所示)。
安全操作模式可為無寫入快取(write caching)模式。在無寫入快取模式下,控制單元140一律將來自於主機200的資料寫入資料暫存區162的第二資料區塊中,而不利用揮發性記憶體150來暫存資料。雖然在無寫入快取模式下,資料儲存裝置100的系統效能比較低落,但是能確保來自於主機200的資料皆已寫入至資料暫存區162。
在另一實施例中,安全操作模式可為混合寫入快取(hybrid write caching)模式。在混合寫入快取模式下,控制單元140限縮揮發性記憶體150的資料儲存量,例如,資料儲存量僅為原本的一半,或資料儲存量僅為一個資料頁的大小。當發生電源中斷事件時,控制單元140可在有限的時間及資源下,仍然能夠將揮發性記憶體150的資料複製或搬移至資料傾倒區塊166(較佳)或資料暫存區162的資料暫存區塊。
在另一實施例中,安全操作模式可為直接寫入(write through)模式。在直接寫入模式下,控制單元140將來自於主機200的資料同時寫入資料暫存區162的第二資料區塊以及揮發性記憶體150。如此一來,資料儲存裝置100可提供高速的資料讀取速度,又能確保自於主機200的資料皆已寫入至資料暫存區塊。
圖5所示之資料儲存方法的另一實施例更包括步驟S410:提供偵錯日誌(debug log)。控制單元140可主動或被動地依據主機200之要求,透過通訊介面170提供偵錯日誌給主機200。偵錯日誌較佳為S.M.A.R.T.(Self-Monitoring Analysis and Reporting Technology,自我監測、分析及報告技術)資訊,亦可為任何記錄有控制單元140的軟體、硬體、發生事件的資訊,並記錄電荷儲存裝置120的相關資訊,使主機200可以據偵錯日誌而判斷出備用電源損壞或接近損壞。主機200透過其螢幕將判斷之結果顯示給使用者,讓使用者可以在備用電源損壞或接近損壞時及時進行更換。
綜上所述,本發明之資料儲存裝置可在發生電源中斷事件時,仍能確保欲寫入資料儲存裝置之資料不會發生遺失,保證了欲寫入資料的完整性與正確性。
100‧‧‧資料儲存裝置
110‧‧‧升壓模組
120‧‧‧電荷儲存裝置
130‧‧‧降壓模組
132~138‧‧‧降壓電路
140‧‧‧控制單元
142‧‧‧GPIO腳位
144‧‧‧電壓偵測單元
150‧‧‧揮發性記憶體
160‧‧‧非揮發性記憶體
162‧‧‧資料暫存區
164‧‧‧資料儲存區
166‧‧‧資料傾倒區塊
168‧‧‧備用區塊池
170‧‧‧通訊介面
200‧‧‧主機
202‧‧‧晶片組
EP‧‧‧外部電源
HV‧‧‧升壓電源
REF‧‧‧參考電位
V1~V4‧‧‧降壓電源
S202~S210、S402~S408‧‧‧步驟
圖1為繪有依照本發明一實施例之資料儲存裝置的示意圖; 圖2為依照本發明一實施例之資料儲存方法的流程圖; 圖3為依照本發明另一實施例之資料儲存方法的流程圖; 圖4繪有PLP電容放電曲線; 圖5為依照本發明再一實施例之資料儲存方法的流程圖。
S402~S408‧‧‧流程

Claims (13)

  1. 一種可用於一資料儲存裝置之資料儲存方法,該資料儲存方法包括: 判斷是否發生一電源中斷事件; 當發生該電源中斷事件時,記錄一電荷儲存裝置之電壓準位,其中該電荷儲存裝置於該電源中斷事件時可提供一電源至該資料儲存裝置; 依據該電荷儲存裝置之電壓準位的記錄來判斷該電荷儲存裝置是否正常運作;以及 當判斷結果為否時,使該資料儲存裝置進入一安全操作模式。
  2. 如申請專利範圍第1項所述之資料儲存方法,其中該安全操作模式包括是一無寫入快取模式、一混合寫入快取模式或一直接寫入模式。
  3. 如申請專利範圍第1項所述之資料儲存方法,其中當該電荷儲存裝置之電壓準位自一預設電壓準位降低至一電壓臨界值所需的時間小於一誤差下限值時,便判斷該電荷儲存裝置為非正常運作。
  4. 如申請專利範圍第1項所述之資料儲存方法,其更包括: 當判斷結果為否時,透過一GPIO腳位傳送一備用電源損壞信息至一主機。
  5. 如申請專利範圍第4項所述之資料儲存方法,其中該GPIO腳位包括是一通訊介面之一功能保留腳位。
  6. 一種可用於一資料儲存裝置之資料儲存方法,該資料儲存方法包括下列步驟: 判斷是否自一主機接收到一中斷信息,該中斷信息為該主機在其電源開關被切換為斷路時所傳送; 當收到該中斷信息時,判斷該資料儲存裝置是否正處於一忙碌狀態;以及 當判斷為真時,使該資料儲存裝置透過一GPIO腳位傳送該忙碌狀態至該主機。
  7. 如申請專利範圍第6項所述之資料儲存方法,其中當該資料儲存裝置正執行一耗損平均程序或一垃圾收集程序時,便判斷該資料儲存裝置處於該忙碌狀態。
  8. 如申請專利範圍第6項所述之資料儲存方法,其中該GPIO腳位包括是一通訊介面之一保留腳位。
  9. 如申請專利範圍第6項所述之資料儲存方法,其中該資料儲存方法更包括: 指派一資料暫存區塊。
  10. 如申請專利範圍第6項所述之資料儲存方法,其中該資料儲存方法更包括: 啟動一資料傾倒程序。
  11. 如申請專利範圍第10項所述之資料儲存方法,其中該資料傾倒程序包括複數資料寫入指令或一傾倒指令。
  12. 一種可用於一資料儲存裝置之資料儲存方法,該資料儲存方法包括下列步驟: 指派一資料暫存區塊; 判斷是否自一主機接收到一中斷信息,該中斷信息為該主機在其電源開關被切換為斷路時所傳送;以及 當判斷為真時,啟動一資料傾倒程序。
  13. 如申請專利範圍第12項所述之資料儲存方法,其中該資料傾倒程序包括複數資料寫入指令或一傾倒指令。
TW105130613A 2016-06-23 2016-09-22 資料儲存裝置之資料儲存方法 TWI602115B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662353570P 2016-06-23 2016-06-23
US62/353570 2016-06-23

Publications (2)

Publication Number Publication Date
TWI602115B TWI602115B (zh) 2017-10-11
TW201800930A true TW201800930A (zh) 2018-01-01

Family

ID=60676833

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105130613A TWI602115B (zh) 2016-06-23 2016-09-22 資料儲存裝置之資料儲存方法

Country Status (3)

Country Link
US (2) US10324645B2 (zh)
CN (1) CN107544919B (zh)
TW (1) TWI602115B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI670601B (zh) * 2018-07-30 2019-09-01 慧榮科技股份有限公司 斷電保護方法及系統

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10705129B2 (en) * 2017-09-13 2020-07-07 Toshiba Memory Corporation Techniques for testing PLP capacitors
DE102018101028B3 (de) * 2018-01-18 2019-05-29 Infineon Technologies Austria Ag Mikrocontrollersystem mit schaltungsinternem Debugger
US10839862B2 (en) 2018-04-25 2020-11-17 Micron Technology, Inc. Cross point array memory in a non-volatile dual in-line memory module
TWI688864B (zh) * 2018-08-31 2020-03-21 威剛科技股份有限公司 儲存設備及儲存方法
LU100947B1 (en) * 2018-09-27 2020-03-27 Nanopower As Device connection system and method of operation
KR20210080967A (ko) * 2019-12-23 2021-07-01 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법
CN111968694A (zh) * 2020-09-07 2020-11-20 湖南国科微电子股份有限公司 一种数据保护装置、存储设备及存储系统
TWI800777B (zh) * 2020-12-15 2023-05-01 宏碁股份有限公司 溫度控制方法與資料儲存系統
US20230072161A1 (en) * 2021-09-07 2023-03-09 Novatek Microelectronics Corp. Method of display control and related display driver circuit and application processor
GB2620445A (en) * 2022-07-08 2024-01-10 Kirintec Ltd Data erasure system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608684A (en) * 1994-10-13 1997-03-04 Hewlett-Packard Company System and method for RAM power and data backup utilizing a capacitor and ROM
TW498202B (en) * 2000-01-04 2002-08-11 Via Tech Inc Feedback structure adaptable to different memory module load
US7353305B2 (en) * 2002-06-28 2008-04-01 Brocade Communications Systems, Inc. Apparatus and method for data virtualization in a storage processing device
JP2004110367A (ja) * 2002-09-18 2004-04-08 Hitachi Ltd 記憶装置システムの制御方法、記憶制御装置、および記憶装置システム
US8032787B2 (en) * 2004-09-02 2011-10-04 Intel Corporation Volatile storage based power loss recovery mechanism
US8032688B2 (en) * 2005-06-30 2011-10-04 Intel Corporation Micro-tile memory interfaces
US7692996B2 (en) * 2007-07-30 2010-04-06 Micron Technology, Inc. Method, system, and apparatus for voltage sensing and reporting
US8239629B2 (en) * 2009-03-31 2012-08-07 Micron Technology, Inc. Hierarchical memory architecture to connect mass storage devices
JP5687484B2 (ja) * 2010-12-20 2015-03-18 矢崎総業株式会社 絶縁状態検出ユニットのフライングキャパシタ故障検出装置
US9141505B1 (en) * 2012-09-27 2015-09-22 Emc Corporation Adaptive failure survivability in a storage system using save time and data transfer after power loss
US20150378415A1 (en) * 2014-02-05 2015-12-31 Christopher George Back-up power supply systems and methods for use with solid state storage devices
US8902652B1 (en) * 2014-05-13 2014-12-02 Sandisk Technologies Inc. Systems and methods for lower page writes
KR102174030B1 (ko) * 2014-05-13 2020-11-05 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 읽기 방법
US9632562B2 (en) * 2014-11-20 2017-04-25 Qualcomm Incorporated Systems and methods for reducing volatile memory standby power in a portable computing device
TWI569144B (zh) * 2015-02-02 2017-02-01 慧榮科技股份有限公司 資料儲存裝置及其斷電事件判斷方法
US9846468B2 (en) * 2015-06-24 2017-12-19 Xitore, Inc. Apparatus, system, and method of storage and retrieval of local volatile memory content of non-volatile storage memory
US20170091042A1 (en) * 2015-09-25 2017-03-30 Quanta Computer Inc. System and method for power loss protection of storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI670601B (zh) * 2018-07-30 2019-09-01 慧榮科技股份有限公司 斷電保護方法及系統

Also Published As

Publication number Publication date
CN107544919B (zh) 2021-02-05
US10592143B2 (en) 2020-03-17
CN107544919A (zh) 2018-01-05
TWI602115B (zh) 2017-10-11
US10324645B2 (en) 2019-06-18
US20190258418A1 (en) 2019-08-22
US20170371577A1 (en) 2017-12-28

Similar Documents

Publication Publication Date Title
TWI602115B (zh) 資料儲存裝置之資料儲存方法
US8230161B2 (en) Data backup method for a flash memory and controller and storage system using the same
TWI524183B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US8392649B2 (en) Memory storage device, controller, and method for responding to host write commands triggering data movement
US10860247B2 (en) Data writing method and storage controller
US9645769B2 (en) Performance acceleration during shutdown of a data storage device
US9443591B2 (en) Storage device out-of-space handling
CN104423888A (zh) 数据写入方法、存储器控制电路单元与存储器存储装置
KR20140078893A (ko) 데이터 저장 장치의 동작 방법
KR20160007988A (ko) 런 타임 배드 셀을 관리하는 스토리지 시스템
KR20160074025A (ko) 데이터 저장 장치의 동작 방법
US20160011799A1 (en) Solid state disk device
US11061614B2 (en) Electronic apparatus having data retention protection and operating method thereof
US11036493B2 (en) Memory system and operating method thereof
TW201643721A (zh) 緩衝記憶體存取方法、記憶體控制器與記憶體儲存裝置
CN112051971A (zh) 数据整并方法、存储器存储装置及存储器控制电路单元
US11803307B2 (en) Memory system and operating method thereof
CN113138720B (zh) 数据存储方法、存储器控制电路单元以及存储器存储装置
TWI738235B (zh) 用來進行恢復管理的方法以及記憶裝置及其控制器以及電子裝置
TWI720400B (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
TW202125206A (zh) 記憶體管理方法與記憶體裝置
CN107451073B (zh) 数据储存方法及发生电源中断事件后的系统初始化的方法
CN107229413B (zh) 存储器管理方法、存储器控制电路单元与存储器储存装置
KR20140090416A (ko) 데이터 저장 장치의 동작 방법
US11249898B1 (en) Data merge method, memory storage device and memory control circuit unit