TWI546818B - 一種具有綠能資料持續模式的裝置驅動器 - Google Patents

一種具有綠能資料持續模式的裝置驅動器 Download PDF

Info

Publication number
TWI546818B
TWI546818B TW103117719A TW103117719A TWI546818B TW I546818 B TWI546818 B TW I546818B TW 103117719 A TW103117719 A TW 103117719A TW 103117719 A TW103117719 A TW 103117719A TW I546818 B TWI546818 B TW I546818B
Authority
TW
Taiwan
Prior art keywords
data
host
power
solid state
random access
Prior art date
Application number
TW103117719A
Other languages
English (en)
Other versions
TW201501131A (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 晶天電子(深圳)有限公司
Publication of TW201501131A publication Critical patent/TW201501131A/zh
Application granted granted Critical
Publication of TWI546818B publication Critical patent/TWI546818B/zh

Links

Classifications

    • 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
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/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
    • 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
    • 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/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2015Redundant power supplies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

一種具有綠能資料持續模式的裝置驅動器
本發明係關於一種不同的電池組和後備電源系統共同工作的固態硬碟,特別是關於一種具有綠能資料持續模式的裝置驅動器。
帶有旋轉磁碟的硬碟正在日益被利用半導體快閃記憶體的更可靠的固態硬碟(SSD)代替。東芝Fujio Masuoka博士1987年發明的與非快閃記憶體,使用在浮動閘極上儲存電荷的電子抹除式可複寫唯讀記憶體(EEPROM)單元。單元一般用雪崩電流編程,然後利用穿過氧化物薄層的量子力學隧道(效應)擦除。可惜的是,在編程或擦除過程中某些電子可能在氧化物薄層中被捕捉。假定編程電壓恆定,這些被捕捉的電子在隨後的編程週期中減少了該單元中貯存的電荷。往往要提高編程電壓來補償被捕捉的電子。
增大快閃記憶體的密度和尺寸時,該單元的尺寸及其可靠性和壽命已經全都降低。快閃記憶體保證能夠承受的編程-擦除週期數約為100,000週期,在正常的讀寫條件下這被認為是一個很長的壽命了。但較小的快閃記憶體單元已經經歷高得令人不安的損耗。較新式的快閃記憶體規格標明,對於二級單元小於10,000編程-擦除週期,而對於三級單元(TLC-Triple Level Cell)約為600。若當前的趨勢繼續,則未來的快閃記憶體可能只允許300編程-擦除週期。這樣低的耐久性可能嚴重地限制快閃記憶體可能的用途,並已經嚴重衝擊固態硬碟應用程式。
相關的快閃記憶體技術在將來可能具有較低的耐久性。快閃隨身碟可以用各種各樣的技術來補償所涉及的快閃記憶體較低的損耗允差。例如,可以用該快閃隨身碟上的動態隨機存取記憶體(動態隨機記憶體緩衝區)起回寫入高速快取的作用,當主機向同一資料地址完成寫入時,減少向所涉及的快閃記憶體的寫入次數。
因為動態隨機存取記憶體有揮發性,掉電時資料便丟失。可以用不同的電池組、超級電容和萬用電源(UPS(不斷電供應系統))系統來維持向動態隨機存取記憶體供電,並提供電力把內容存入非揮發性記憶體。可以利用在任何給定的系統上都可能存在的不同的備份系統的軟體驅動器是需要的。
連接到一個標準固態硬碟或超級耐久的快閃隨身碟的主機用的綠色與非裝置(GND)應用程式和驅動器,需要使用先進的管理技術來減少快閃記憶體的寫入次數,因而減少的所涉及的快閃記憶體上的編程-擦除週期。操作超級耐久快閃隨身碟的主機上的GND應用程式和驅動器需要帶有幾個可能的電源備份系統中的一個或多個。另外,還要求把該處理器的狀態和動態隨機存取記憶體的內容存入非揮發性記憶體,然後在上電引導時間,甚至在無意間交流供電線路掉電的情況下也能使用它們。
本申請涉及“Endurance and Retention Flash Controller with Programmable Binary-Levels-Per-Cell Bits Identifying Pages or Blocks as having Triple, Multi, 或Single-Level Flash-Memory Cells”(帶有可編程二進位層級每單元(Binary-Levels-Per-Cel)位元識別元頁或區塊作為具有三級、多級或單級快閃記憶體單元的耐久性和保持力快閃記憶體控制器),美國專利序號No.13/788,989,2013年3月7日提出申請。
本申請涉及“Virtual Memory Device (VMD) Application/Driver with Dual-Level Interception for Data-Type Splitting, Meta-Page Grouping, and Diversion of Temp Files to Ramdisks for Enhanced Flash Endurance(帶有資料類型分割、元頁分組和暫存檔向隨機存取記憶磁碟轉向用的二級攔截以提高快閃記憶體耐久性的虛擬記憶體件(VMD)應用程式/驅動器)”,美國專利序列號No.13/730,797,2012年12月28日提出申請。
本申請涉及“Super-Endurance Solid-State Drive with Endurance Translation Layer (ETL) and Diversion of Temp Files for Reduced Flash Wear(帶有耐久性轉換層(ETL)和暫存檔轉向以減少快閃記憶體損耗的超級耐久固態硬碟)”美國專利序列號No.13/540,569,2012年7月2日提出申請。
本申請涉及“High Performance and Endurance Non-volatile Memory Based Storage Systems(基於高性能和耐久性非揮發性記憶體的儲存系統)”,美國專利序列號No.12/141,879,2008年6月18日提出申請。
本發明的上述技術問題主要是通過下述技術方案得以解決的:
一種具有綠能資料持續模式的裝置驅動器,包括:一持續處理器影像產生器:當持續模式掉電例程被啟動,用以產生主機處理器影像時,該持續處理器影像產生器把來自主機處理器狀態和來自處理器高速快取記憶體的資料複製到揮發性記憶體;一持續復原影像:當持續模式掉電例程被啟動時,儲存在該揮發性記憶體中的復原影像;一持續影像產生器:當持續模式掉電例程被啟動時,把來自主機揮發性記憶體的資料複製到快閃記憶體中;以產生持續復原影像。其中當電源充足時,持續模式被啟動和執行。能夠用於啟動和執行持續模式;所述啟動是指持續模式掉電例程被啟動;一復原影像載入器:在掉電後,當持續模式例程再次被啟動時,從快閃記憶體把該持續復原影像讀到主機揮發性記憶體,並從該揮發性記憶體執行該持續復原影像,以復原主機處理器影像。
在上述的的具有綠能資料持續模式的裝置驅動器,更包括一持續模式電源/電池組監視器:當檢測出掉電時,它從備份電源讀出電源狀態線,並為電池組讀出電池組狀態;一掉電例程模組,當該電池組狀態指出電力低於一個閾值並表明掉電時,掉電例程模組被啟動並啟動掉電例程。
在上述的具有綠能資料持續模式的裝置驅動器,更包括:一持續模式寫入高速快取,用以把主機寫入資料存入一個動態隨機存取記憶體。
在上述的具有綠能資料持續模式的裝置驅動器,更包括:一持續模式隨機存取記憶磁碟:用以把資料存入一個動態隨機存取記憶體。
在上述的具有綠能資料持續模式的裝置驅動器,更包括:一用戶介面:用以接收用戶選擇,當用戶選擇禁止持續模式時,啟用該掉電例程並禁止持續模式例程。持續模式例程能正常使用時被使用者停用掉,在那狀況下,掉電時持續模式例程不會被啟動。
在上述的具有綠能資料持續模式的裝置驅動器,更包括:一分組引擎:用以把存於資料寫入高速快取的資料分組輸入元頁。
在上述的具有綠能資料持續模式的裝置驅動器,更包括:一持續模式模組:具有一組策略,用以觸發無效資料從該揮發性記憶體中的高速快取寫入該快閃記憶體;該快閃記憶體是指持續影像產生器工作中涉及的快閃記憶體,持續模式並非只做前述使中央處理器(CPU)在掉電後時復原中回到當時的狀態,更包括存在動態隨機存取記憶體中的資料與元(meta)資料,這裡的策略是指資料與元資料特意不馬上寫入快閃記憶體(flash)中,但是又因電池能量不足,怕到時不能完全的寫入快閃記憶體(flash)使用。其中該組策略包括高速快取中的閾值電平無效資料、時間週期、由該用戶指定的特殊資料類型或寫滿的高速快取。
在上述的具有綠能資料持續模式的裝置驅動器,更包括:一上層檔案過濾器驅動器:用以在主機上執行,以便攔截向快閃隨身碟的上層主機寫入;一下層檔案過濾器驅動器:用以在主機上執行,攔截下層檔案系統主機寫入到快閃隨身碟,並把該下層檔案系統主機寫入傳送到資料分割管理器,以便對主機寫入資料進行分類;該快閃隨身碟是指持續影像產生器工作中涉及的快閃記憶體。
在上述的具有綠能資料持續模式的裝置驅動器,更包括:一加密引擎:耦合來接收被攔截的上層主機寫入,以便產生加密資料。
在上述的具有綠能資料持續模式的裝置驅動器,一壓縮引擎:耦合來接收被攔截的上層主機寫入,以便產生壓縮資料和加壓對應表。
在上述的具有綠能資料持續模式的裝置驅動器,更包括:一去冗餘引擎:耦合來接收被攔截的上層主機寫入,以便產生無冗餘對應表。
在上述的具有綠能資料持續模式的裝置驅動器,更包括:一事務管理器:用於事件登入,指示資料寫入快閃記憶體的開始和完成;一據復原管理器:用以讀出由該事務管理器登入的事件,以便在電源復原之後撤銷或重做向快閃記憶體的寫入。
在上述的具有綠能資料持續模式的裝置驅動器,更包括:一組態設定管理器:用來改變設定,以改善快閃記憶體耐久性和性能,該設定包括驅動索引、搜尋索引、頁面檔案大小、系統復原、休眠、寫入高速快取、預先擷取、超級擷取、資源回收筒大小、登入、可靠性監視器、和隨機存取記憶磁碟中的至少一個設定或多個設定。
在上述的具有綠能資料持續模式的裝置驅動器,所述的持續復原影像更包括:一處理器間動態隨機存取記憶體:受該主機處理器控制,它保存一個不同的資料類型在揮發性記憶體的開始位置及其長度清單;一個標誌模組:指示在該揮發性記憶體特定的資料類型需要包括進持續復原影像中。
在上述的具有綠能資料持續模式的裝置驅動器,更包括:一電源/電池組監視器:該電源/電池組監視器從備份電源讀出電源狀態線,並當電源狀態線指出掉電時,啟動掉電例程。
在上述的具有綠能資料持續模式的裝置驅動器,更包括:一檔案類型識別碼:用以為該GND驅動器接收的主機寫入並產生資料類型;一資料分割管理器:根據該檔案類型識別碼產生的資料類型,對主機寫入資料進行分類;一資料寫入高速快取:用以貯存具有一個用戶資料類型的主機寫入資料;一中繼資料高速快取:用以貯存具有中繼資料資料類型的主機寫入資料;一分頁高速快取:用以貯存具有分頁檔案資料類型的主機寫入資料; 一暫存高速快取:用以貯存具有暫存資料類型的主機寫入資料。
在上述的具有綠能資料持續模式的裝置驅動器,更包括:一用戶選定的關閉監視器:用於監視用戶所選定的關閉類型;一開關用戶選擇例程模組:用於暫停當前的用戶對話方塊,並從揮發性記憶體把高速快取和緩衝區沖洗至固態硬碟;一登出選擇例程模組:用於暫停全部用戶對話方塊,並把高速快取和緩衝區從該揮發性記憶體沖洗至固態硬碟;一鎖定選擇例程模組:用於為密碼輸入顯示一個畫面並等待用戶輸入密碼來復原;一重新啟動選擇例程模組:用於關掉用戶定義的除關鍵系統業務外的其他全部應用程式,然後重新引導系統;一靜止選擇例程模組:用於使該主機處於低電力狀態,但是不處於關閉狀態;一休眠選擇例程模組:用於暫停除該固態硬碟外的全部應用程式、以及暫停全部業務和裝置;其中把一個休眠影像寫入該固態硬碟,然後暫停該固態硬碟;具體是指,先暫停除該固態硬碟外的全部應用程式、以及暫停全部業務和裝置後,然後把一個休眠影像寫入該固態硬碟,然後暫停該固態硬碟;和把一個休眠影像寫入該固態硬碟,然後暫停該固態硬碟;和一關閉選擇例程模組:用於暫停全部對話方塊、應用程式和裝置。
在上述的具有綠能資料持續模式的裝置驅動器,更包括:一持續模式隨機存取記憶磁碟,用以把資料存入動態隨機存取記憶體。
一種帶有掉電模式的無需要安裝驅動的快閃記憶體驅動器,包括:一分組引擎:用以對存入元頁的資料進行分組;一處理模組:當啟動掉電模式例程時被啟動;並且該處理模組暫停全部應用程式、業務和裝置;其中電源掉電時主機揮發性記憶體中的全部資料丟失;一復原影像載入器,當上次掉電時上次啟動掉電模式例程時,該復原影像載入器把引導影像從快閃記憶體讀到該主機揮發性記憶體,並從該主機揮發性記憶體執行該引導影像,以便將其存入主機處理器影像。
在上述的帶有掉電模式的無需要安裝驅動的快閃隨身碟,更包括:一加密引擎:用於耦合接收被攔截的上層主機寫入資料,以便產生加密資料。
在上述的帶有掉電模式的無需要安裝驅動的快閃隨身碟,更包括:一壓縮引擎,用於耦合接收被攔截的上層主機寫入資料,以便產生壓縮資料和壓縮對應表。
在上述的帶有掉電模式的無需要安裝驅動的快閃隨身碟,包括:一分組引擎,用以把資料分組輸入元頁;根據固態硬碟不同的結構管理不同尺寸元頁的多個方案,用以增強該固態硬碟的性能和耐久性;與該固態硬碟的通訊協定;一參數選擇器,用以選擇參數,包括元頁大小參數,當固態硬碟提供標準固態硬碟識別碼(ID)時,該參數選擇器為標準固態硬碟選擇標準參數,當該固態硬碟不提供標準固態硬碟識別碼時,該參數選擇器為該固態硬碟選擇最佳化參數,並提供該固態硬碟的硬體結構和功能能力的訊息。
在上述的帶有掉電模式的無需要安裝驅動的快閃記憶體隨身碟,更包括:一參數測試器:用以執行一組預定的測試,以便利用測試參數來測試該固態硬碟,並根據測試結果為該固態硬碟選擇參數,這裡,預定的測試是用戶自定義的,如果系統所接的固態硬碟是未知的結構,driver可以用不同的假定參數值去測試固態硬碟,由測試結果來決定那一種參數最適合這個固態硬碟。
在上述的帶有掉電模式的無需要安裝驅動的快閃隨身碟,更包括:一分區對齊引擎:用以設定分區位移,以便與多個與非頁面大小和與非刪除區塊大小和檔案分配單元叢集的大小對齊。
一種帶有綠色與非裝置驅動器的超級增強耐久性固態硬碟,包括:一主機介面,用以從主機GND驅動器接收主機讀出和主機寫入:帶有加密、壓縮、元頁分組的能力;一控制器:用以回應由該主機介面接收的主機讀取和主機寫入:控制對快閃記憶體和對SEED 動態隨機存取記憶體緩衝區的存取,該控制器把主機資料寫入至該SEED 動態隨機存取記憶體緩衝區;一SEED動態隨機存取記憶體緩衝區:用以貯存主機耐久性轉換層;和一快閃記憶體介面:用以存取快閃記憶體或快閃記憶體件。
在上述的帶有綠色與非裝置驅動器的超級增強耐久性固態硬碟,更包括:一錯誤修正碼(ECC)管理器:用以產生錯誤修正碼,以便附在寫入該快閃記憶體的分組元頁後面;一錯誤頁面管理器:用以追蹤該快閃記憶體的錯誤頁面;一損耗分級器:用以向刪除計數低的快閃記憶體的空塊指定新的資料,或把刪除計數低的區塊資料移至空刪除計數高的區塊。
在上述的帶有綠色與非裝置驅動器的超級增強耐久性固態硬碟,更包括:一種資料類型:從主機GND驅動器接收的檔案類型識別碼的資料類型;一資料分割管理器:用以根據由該檔案類型識別碼產生的資料類型對主機寫入資料進行分類;一資料寫入高速快取:用以儲存具有用戶資料類型的主機寫入資料;一中繼資料高速快取:用以貯存具有中繼資料資料類型的主機寫入資料;一分頁高速快取:用以貯存具有分頁檔案資料類型的主機寫入資料;一暫存高速快取:用以貯存具有暫存資料類型的主機寫入資料。
在上述的帶有綠色與非裝置驅動器的超級增強耐久性固態硬碟,更包括:一SEED動態隨機存取記憶體緩衝區:受所述控制器控制;一動態隨機存取記憶體緩衝區中的備用/交換區;其中所述控制器使用該動態隨機存取記憶體緩衝區中的備用/交換區來在該快閃記憶體內合併有效的資料與新的來自主機的資料,以便當重寫一個寫滿的頁或該快閃記憶體中現有的區塊上的部分頁面時,產生結合的資料,通過把新的資料寫入該動態隨機存取記憶體緩衝區中涉及該快閃記憶體中現有區塊的備用區塊,並當針對該快閃記憶體中不同的區塊,該備用區塊是附加的新的資料所需要時,把該備用區塊與新的資料和來自該快閃記憶體中現有區塊的資料結合,寫入該快閃記憶體中的交換區塊,並針對該快閃記憶體中現有區塊的頁,把頁面狀態標記為垃圾頁面。
在上述的帶有綠色與非裝置驅動器的超級增強耐久性固態硬碟,更包括:該帶有綠色與非裝置驅動器的超級增強耐久性固態硬碟上的備份電源當該主機關閉時向SEED固態硬碟供電;其中在該動態隨機存取記憶體緩衝區中的備用/交換區用於該快閃記憶體作為備用區塊。
在上述的帶有綠色與非裝置驅動器的超級增強耐久性固態硬碟,更包括:當該主機關閉時,主機上的電源備份向該SEED固態硬碟供電或在該SEED固態硬碟上的備份電源向該SEED固態硬碟供電;在小功率狀態下的處理器和當主機關閉時保持有效的計時器;其中動態隨機存取記憶體和快閃記憶體沒有電力提供;其中當計時器達到一個時間閾值時,該計時器喚醒該處理器並向該動態隨機存取記憶體和該快閃記憶體提供電力;以此處理器檢查快閃記憶體區塊的寫入日期並當保持時間超過保持極限時重新整理快閃記憶體區塊。
一種主機板上的非揮發性記憶體控制器,包括一快閃記憶體介面:用以在快閃記憶體上刪除區塊和寫入頁,其中區塊在尺寸上可以有多個頁;一動態隨機存取記憶體(動態隨機存取記憶體)介面;一來自主機處理器輸入訊號,用於關閉電源或失效時的持續模式,指出主機已經把處理器狀態及其高速快取沖洗進動態隨機存取記憶體,該非揮發性記憶體控制器接過動態隨機存取記憶體模組匯流排訊號和快閃記憶體介面的控制,用以把資料從動態隨機存取記憶體備份到該快閃記憶體;一來自主機處理器輸入訊號,用於上電重新引導時的持續模式,指出該主機正在等待非揮發性記憶體控制器重新從該快閃記憶體載入動態隨機存取記憶體;一輸出訊號,控制外部開關來選擇動態隨機存取記憶體;和快閃記憶體介面訊號,不是來自該主機,就是來自非揮發性記憶體控制器;一輸出訊號,指示上電引導影像從非揮發性記憶體控制器重新載入主機處理器的操作成功或失效;其中該非揮發性記憶體控制器在關閉電源或失效時,在完成從動態隨機存取記憶體備份到該快閃記憶體之後,暫停全部操作;其中上電重新引導時完成從該快閃記憶體復原到動態隨機存取記憶體之後,該非揮發性記憶體控制器暫停全部操作。需要注意的是,帶有綠色與非裝置驅動器的超級增強耐久性固態硬碟是SEED固態硬碟外掛在系統(motherboard)上,非揮發性記憶體控制器是敘述非揮發性記憶體控制器 與快閃記憶體也安裝在motherboard上。
在上述的主機板上的非揮發性記憶體控制器,更包括:其中該外部開關整合進該非揮發性記憶體控制器。
在上述的主機板上的非揮發性記憶體控制器,更包括:一處理間動態隨機存取記憶體:受控於該主機處理器,它保存一個不同資料類型在揮發性記憶體的開始位置和長度的清單。
在上述的主機板上的非揮發性記憶體控制器,其中該外部開關整合進主機處理器。
在上述的主機板上的非揮發性記憶體控制器,其中該外部開關整合進該主機處理器的晶片組。
經由本發明所採用之技術手段,本發明具有如下優點:1. 提供斷電/掉電時把處理器狀態存入動態隨機存取記憶體,然後把動態隨機存取記憶體內容存入非揮發性記憶體的途徑,上電重新引導時,動態隨機存取記憶體可以重新載入並復原處理器狀態;2. 主機或快閃隨身碟固態硬碟裝置上的動態隨機存取記憶體緩衝區可以儲存不必永久貯存的並因而不必寫入快閃記憶體的資料,提高裝置的耐久性也提高裝置的讀取速度;3. 通過阻止向該快閃記憶體不必要的寫入,可以減少相關快閃記憶體裝置的損耗。在主機上執行的綠色與非裝置(GND)應用程式和GND驅動器可以在寫入到達快閃記憶體以前,阻止該次寫入或將其結合,於是降低向該快閃記憶體的寫入頻率。
本發明所採用的具體實施例,將藉由以下之實施例及附呈圖式作進一步之說明。
以下將配合圖式及實施例來詳細說明本發明的實施方式,藉此對本發明如何應用技術手段來解決技術問題並達成技術功效的實現過程能充分理解並據以實施。
本發明涉及快閃隨身碟的改進。它還提供斷電/掉電時把處理器狀態存入動態隨機存取記憶體,然後把動態隨機存取記憶體內容存入非揮發性記憶體的途徑。上電重新引導時,動態隨機存取記憶體可以重新載入並復原處理器狀態。呈現以下的描述是為了使本專業普通技術人員能夠根據特定的應用環境及其要求實現和利用本發明。推薦實施例的不同的修改對本專業的技術人員將是顯而易見的,而這裡定義的一般原則可以應用於其他實施例。因此,本發明不打算限於所表示和描述的特定的實施例,而是與這裡公開的原則和在新型特徵最廣闊的範圍一致。
透過阻止向該快閃記憶體不必要的寫入,可以減少相關快閃記憶體裝置的損耗。在主機上執行的綠色與非裝置(GND)應用程式和GND驅動器可以在寫入到達快閃記憶體以前,阻止該次寫入或將其結合,於是降低向該快閃記憶體的寫入頻率。提供足夠的備份電力時,該GND把主機的寫入轉向主機動態隨機存取記憶體和/或固態硬碟動態隨機存取記憶體上的高速快取和隨機存取記憶磁碟。
主機或快閃隨身碟固態硬碟裝置上的動態隨機存取記憶體緩衝區可以儲存不必永久貯存的並因而不必寫入快閃記憶體的資料。動態隨機存取記憶體不僅比較快,而且耐久性高得多的,因為它可以重寫一百萬次以上。
典型的主機建立許多暫存性檔案,諸如在網際網路瀏覽過程中,或當執行某個巨大的並非關鍵的應用程式時。
本發明人認識到這些檔案不需要寫入快閃記憶體,減少快閃記憶體的損耗。
典型的系統還頻繁的重寫某些類型的資料。這樣頻繁重寫的資料最好貯存在主機上的或者在快閃隨身碟內的動態隨機存取記憶體緩衝區中,並按照一個策略(諸如根據消逝的時間、分配的容量等)或掉電(用戶關閉電源或發生電源失效)時拷入快閃記憶體。只在掉電才把這樣頻繁重寫的資料存入快閃記憶體,還可以顯著地減少該快閃記憶體裝置的損耗。大部分中繼資料尺寸小並像FAT表一樣組合在一起。每次更新都只涉及寫入該快閃記憶體頁的一個非常小的部分。把中繼資料存入動態隨機存取記憶體可以隨著時間減少不必要的快閃記憶體寫入。
這樣頻繁重寫的資料可以包括隨著新的事件頻繁更新的登入檔案。一般系統崩潰之後檢查最近的複製。該檔案分配表(FAT)是另一個頻繁重寫的位置,因為當檔案建立或擴展時它便被更新。該FAT表占記憶體相對較小的部分,但若每次FAT更新都拷入快閃記憶體,則它的頻繁存取可以明顯增大損耗。檔案描述區塊(FDB)是一個頻繁重寫的類似的結構,諸如當在windows explorer簡單地存取和顯示檔案清單時便重寫“存取日期”。FDB/FAT保存該主機檔案系統的中繼資料。與動態隨機存取記憶體緩衝區一起使用的不同的表具有建立來把檔案系統存入動態隨機存取記憶體和快閃記憶體的中繼資料。
按照策略或在掉電時,由快閃隨身碟建立的壞塊表、刪除計數器、垃圾收集、備用和交換區塊、對應表及其他檔案需要存入快閃記憶體。按照策略或在掉電時,該快閃記憶體系統元檔案也可以貯存在動態隨機存取記憶體緩衝區中,並拷入快閃記憶體,以減少快閃記憶體損耗。上面指出的表和元檔案在上電時貯存在快閃記憶體中。它們在裝置初始化時載入動態隨機存取記憶體緩衝區。隨後的主機資料讀/寫改變該資料的內容。發生掉電時,無效表和元檔案需要寫入或備份入快閃記憶體。若為了一個特別的應用程式需要一個精確復原點,則在寫入高速快取、FIFO(先進先出)緩衝區、資料入緩衝區、耐久性備用和交換區塊及快閃隨身碟中的其他緩衝區的主機資料,在電源失效時也可以拷入快閃記憶體,以便允許系統復原。
當主機主要的動態隨機存取記憶體記憶體影像傳統上移入硬碟或快閃隨身碟時,該系統針對記憶體管理使用分頁檔案。若在電源失效時丟失,則頁面交換檔案並非關鍵,因為該系統無論如何都需要重新引導,而記憶體管理和分頁系統將被重新初始化,擦除任何貯存的分頁檔案。這些分頁檔案也可以貯存在動態隨機存取記憶體緩衝區中,而在掉電時不必拷入快閃記憶體,於是減少快閃記憶體損耗。
主機對快閃隨身碟的請求往往遵循資料類型的一般順序。例如,主機可以首先存取FAT,然後存取FDB,然後讀出或寫入一個資料檔案。這種重現的順序可以協助超級耐久快閃隨身碟對資料類型進行分類。該FAT總是在一個取決於作業系統(OS)類型(Windows,Linux,Apple OS,Android等)的預定的儲存位置上。於是存取該地址範圍就是FAT類型存取。在FAT之後就要存取FDB。然後,接著存取用戶資料。因而用戶資料可以繼FAT和FDB存取之後被識別。該FDB可以由超級耐久快閃隨身碟檢查,以便發現檔案的副檔名,使得可以檢測出.tmp檔案,並以不同於用戶資料檔案的方式進行處理。
在一個不在資料類型之間進行區分的典型的快閃隨身碟中,每一種類型的檔案都會使快閃記憶體損耗。這樣的不可知系統均等地處理所有資料。任何東西寫入快閃記憶體,至少當它在動態隨機存取記憶體緩衝區中的項目,假如有的話,都被來自主機的資料的具有同一高速快取索引號的其他資料逐出到動態隨機存取記憶體緩衝區。通過識別資料類型及其對該主機的目的,然後在正常執行過程中只把實際的用戶資料寫入快閃記憶體,和然後按照一個策略在電源失效時只把關鍵資料寫入快閃記憶體,便可以達到明顯地減少快閃記憶體寫入的目的。
通過資料裝箱可以達到進一步減少快閃記憶體損耗。例如,快閃記憶體中不滿一整頁的資料(部分頁資料)可以與其他部分頁資料一起貯存在快閃記憶體中的一個單頁中,而不是貯存在許多單獨的頁上。多通道系統可以具有一個較大的單位,諸如元頁,每個通道一頁,或通道數乘以頁面大小。通過裝箱輸入元頁,而不是輸入較小的頁,可以進一步減少快閃記憶體損耗。
在不友善的環境中,動態隨機存取記憶體緩衝區可能有軟體差錯。額外超量配置的動態隨機存取記憶體可以用於錯誤修正碼奇偶位來提高可靠性。
每種技術帶來的快閃記憶體損耗節約都可以提供不同的改進,但一起使用時這些技術可以明顯提高快閃記憶體的耐久性。利用這些技術,GND應用程式和GND驅動器可以提供更高的快閃隨身碟耐久性。若無意間掉電,動態隨機存取記憶體內容將會丟失,不僅當前資料丟失,還可能使固態硬碟崩潰並丟失全部寶貴的資料。可以利用不同形式的備份電源來保證動態隨機存取記憶體內容可以保持在非揮發性記憶體中。另外,帶有足夠的備份電力,在動態隨機存取記憶體內容存入非揮發性記憶體以前,可以把處理器的狀態存入動態隨機存取記憶體。該動態隨機存取記憶體內容的存儲可以在處理器控制下進行,它要求更多電力,或利用非揮發性記憶體控制器來進行這項工作,並禁止多數耗電量大的電路。
圖1是主機上的GND應用程式和驅動器的方塊示意圖,該主機在主機上和在具有低耐久性快閃記憶體的超級耐久快閃隨身碟上都建立和管理多個高速快取和隨機存取記憶磁碟。主機300有一個處理器,它執行程式,諸如用戶應用程式182和作業系統(OS)諸如Windows,Linux,Apple OS或Android等核心178的指令。當主電源失效時,備份電源176向主機300提供電力,使主機300能夠把來自隨機存取記憶磁碟的關鍵資料188存入超級增強耐久性裝置(SEED)固態硬碟200,以便當電源失效時儲存在與非快閃記憶體196中。備份電源176可以使用電池組或不斷電供應系統(UPS)等。這給主機處理器以時間來關閉應用程式和在掉電模式下適當地關閉所附裝置的電源。或者,在持續模式下,該處理器在動態隨機存取記憶體中保存其狀態、高速快取,並準備復原環境,然後把動態隨機存取記憶體內容存入非揮發性硬碟。SEED固態硬碟200有它自己的電源備份195,當主電源失效時允許SEED固態硬碟200把關鍵資料寫入與非快閃記憶體196。電源備份195可以利用電容、超級電容或電池組。作為另一方案,若備份電源176有足夠的電力來優雅地關閉該系統,則在SEED固態硬碟200中不需要電源備份195,諸如當主機300是筆記型電腦或智慧型電話時。
固態硬碟應用程式180是一個在主機300上執行的應用程式。固態硬碟應用程式180和固態硬碟驅動器100可以用來使SEED 固態硬碟200容易載入。固態硬碟應用程式180和固態硬碟驅動器100可以分開和/或儲存不想永久地貯存在快閃記憶體的資料,諸如暫存檔、分頁檔案等。固態硬碟驅動器100可以管理隨機存取記憶磁碟188來儲存這樣的暫時性資料。隨機存取記憶磁碟188可以是主機動態隨機存取記憶體的一部分。
固態硬碟驅動器100可以使用主機中央處理器來執行諸如壓縮/解壓引擎242和加密/解密引擎240等任務。去複份引擎243找出和刪除重複的資料檔案複製,以減少寫入負載。來自用戶應用程式182的資料,也就是說由OS核心178寫入的資料,用上層檔案過濾器190攔截,並傳送到固態硬碟驅動器100,以便在傳送至檔案系統驅動器266以前進行壓縮和/或加密。然後,下層檔案過濾器驅動器268再次截取資料,以便由固態硬碟驅動器100進一步處理,諸如存入隨機存取記憶磁碟188。
最後準備好要寫入SEED固態硬碟200的資料從固態硬碟驅動器100傳送到磁碟管理器270,它管理儲存磁碟區,諸如SEED固態硬碟200等。SEED固態硬碟200中的SEED控制器192,可以儲存固態硬碟動態隨機存取記憶體緩衝區194中的資料,然後在掉電時或當固態硬碟動態隨機存取記憶體緩衝區194寫滿時,存入與非快閃記憶體196。
固態硬碟應用程式180中的固態硬碟家庭清掃(housecleaning)181完成諸如垃圾收集、刪除老舊無用檔案等不同的高層功能。固態硬碟家庭清掃181可以定期執行,諸如每日、每週或當固態硬碟驅動器100管理隨機存取記憶磁碟188時。組態設定186和登入庫和OS設定184可以由OS核心178或其他程式進行,以定義隨機存取記憶磁碟188的尺寸或其他系統變數,和管理固態硬碟應用程式180和固態硬碟驅動器100推薦的功能。
組態設定186和登入庫和OS設定184可以有不同的設定,它可以改善快閃記憶體耐久性和性能。例如,設定可以啟用或禁止寫入高速快取、驅動器索引、搜尋索引、清除碎片、主機休眠、預先擷取、超級擷取和視窗作業系統(windows)寫入高速快取緩衝區沖洗。預先擷取、索引、休眠和清除碎片可能附帶地導致快閃記憶體寫入,並因而降低耐久性。禁止寫入高速快取和寫入高速快取緩衝區沖洗,因為GND驅動器具有它自己的寫入高速快取和沖洗功能。因而,可以通過禁止這些特徵使快閃記憶體耐久性得以改善。
圖1所示的某些任選元件對異常掉電形勢有用。電源保持接通時,電源管理305儲存能量,並在掉電時向主機300供電。中央處理器暫存器和高速快取控制器301把中央處理器暫存器和高速快取寫入主機動態隨機存取記憶體,然後當掉電時寫入SEED固態硬碟200。在另一個實施例中,SEED固態硬碟303連接至主機300的另一個固態硬碟,諸如通過一個PCIe(PCI Express)介面、USB介面、NVMe介面等。在又一個實施例中,SEED固態硬碟303可以位於動態隨機存取記憶體模組中並受記憶體控制器309控制。中央處理器暫存器和高速快取控制器301把中央處理器暫存器和高速快取寫入主機動態隨機存取記憶體,並在該替代方案中,然後在掉電時寫入SEED固態硬碟200或SEED固態硬碟303。開關311,當預先設定時,隔離主機300上不必要的元件,使它們不接收備份電力,因而為關鍵元件延長備份電力週期。可以存在記憶體控制器309,以便在異常關閉電源和電力復原過程中在主機動態隨機存取記憶體和SEED固態硬碟303之間轉移資料。或者,記憶體控制器309可以整合在主機300的處理器中。
以下是GND驅動器通過配置和OS設定改善耐久性和性能的細節:1.禁止驅動器索引:固態硬碟驅動查找快速,約0.1ms,使得無需索引。
2.禁止驅動器搜尋索引:禁止搜尋索引可以幫助增大固態硬碟的性能和壽命。禁止該選項避免視窗(windows)嘗試為搜尋目的而追蹤每個檔案。缺點是固態硬碟搜尋可能較慢。3.縮小分頁檔案大小:把頁檔案留在固態硬碟上,但將其設定為固定和合理的大小。該作業系統將分配一個與所安裝的動態隨機存取記憶體一樣大的頁檔案,對於動態隨機存取記憶體尺寸大的機器,它開始相當迅速吞食固態硬碟空間。頁檔案在固態硬碟上性能很好,取決於系統中動態隨機存取記憶體的數量。可以將其設定為1或2GB大小(固定的,最小和最大同值)。應該在固態硬碟上的可用空間和有多少動態隨機存取記憶體可用和正常使用值之間取得平衡。4.禁止系統復原:該系統復原特徵允許針對軟體安裝、驅動器及其他更新能夠卷回。禁止該特徵可以釋放幾百兆位元和幾千兆位元之間。它可以減小系統復原可以使用的硬碟空間數量,或者冒著不能從系統改變所引起問題中自動復原的風險將其完全關閉。但若該特徵被禁止,則用戶應使用某些其他形式的備份,諸如建立硬碟影像備份。5.禁止休眠:通過在視窗(Windows)中禁止休眠特徵可以釋放固態硬碟空間(多達動態隨機存取記憶體的數量)。通過默認,該休眠檔案(hiberfil.sys)的尺寸與該電腦上安裝的動態隨機存取記憶體數量相同。自然,禁止休眠將使用戶無法利用該省電模式。禁止該休眠特徵將相應地失去快速引導和停機。對於固態硬碟它並沒有提供實際的好處,因為它的10-20秒快速載入時間,在某些情況下等於休眠。但是用戶可以通過從該關閉菜單選擇它來選擇啟用休眠功能。6.禁止寫入高速快取和利用GND驅動器高速快取。當備份電源可用時該GND驅動器將充分利用其高速快取。關閉寫入高速快取緩衝區沖洗可以增強固態硬碟的性能。7.禁止預先擷取:固態硬碟具有極低的查找次數而且沒有轉動延遲,於是存取次數不取決於特定段的位置。因此預先擷取失去其主要目的。另外,減少寫入固態硬碟是最佳化其性能的一部分,於是應該禁止預先擷取。8.高速快取引導只進行超級擷取:較好的途徑將是只設定高速快取引導檔案。超級擷取確實有一個目的,而且僅僅將其完全關閉將只增大某些硬碟空間,而且只有在高速快取檔案在被禁止之後刪除時才如此。禁止超級擷取將導致繁忙的機器減慢,因為它將應用從硬碟交換到RAM。正因為它是一個固態硬碟,並不意味著交換不出現或不會被察覺。9.縮小資源回收筒的大小:把資源回收筒設定為固定的和小的尺寸。視窗(Windows)將把該尺寸設定為固態硬碟大小的10%。利用較小的,諸如300MB可能有助於釋放空間並減少固態硬碟的寫入。10.減少登入:作業系統(OS)寫入大量的事件登入。除某些必要的登入(事件登入應用、安全、系統、安全必要件)外,可以安全地使定期進行驅動器寫入的某些登入停止。11.視窗(Windows)可靠性監視:若OS在固態硬碟上,則該監視程式提供一個硬體和軟體問題隨著時間的概觀。它在事件(出現)時和每小時寫入驅動器。監測的活動可能使穩定的系統減慢。12.使用GND驅動器上的隨機存取記憶磁碟:a)隨機存取記憶磁碟對於所有PC(至少那些已有動態隨機存取記憶體備用者)都是一個好主意。把全部暫存檔案夾、網際網路瀏覽器、火狐(Firefox)和Tbird高速快取、視窗(Windows)事件登入等記入隨機存取記憶磁碟。針對掉電模式在沒有備份電源的情況下那些暫存檔在掉電時會丟失。不需要寫入硬碟的暫存檔可以安全地在掉電時丟失。b)若隨機存取記憶磁碟的內容讀/寫到固態硬碟上的一個影像檔案,則隨機存取記憶磁碟只會增加引導和關閉次數。重要的是判定哪些要寫回固態硬碟。此外,在隨機存取記憶磁碟中貯存暫存檔會提高系統性能,某些頻繁使用的應用軟體可以貯存在隨機存取記憶磁碟上,以減少那些應用的啟動時間。在系統關掉之後隨機存取記憶磁碟上的資料將丟失。每次上電引導時都需要把該應用軟體拷到隨機存取記憶磁碟上。若用批檔案複製,則時間將是漫長的,因為有太多尺寸小的檔案要存取。利用影像檔案是有幫助的。但若該影像檔案包括帶有全部不同的資料和應用軟體,則該影像檔案大小將會太大,並且要用長時間載入隨機存取記憶磁碟。在這種情況下,可以使用多個隨機存取記憶磁碟來分開資料,而頻繁使用的應用軟體存入不同的隨機存取記憶磁碟。於是,可以載入和執行帶有頻繁的應用軟體的隨機存取記憶磁碟,以節省引導時間。另外,掉電時,該類型的隨機存取記憶磁碟棄置即可。c)有電池組備份電源可用時,隨機存取記憶磁碟可以用來儲存資料。電源失效或關閉時不僅暫存檔需要保持。只有當電腦關閉(並把.img(檔案)寫回固態硬碟)時或者電源失效或關閉時才需要把隨機存取記憶磁碟存入固態硬碟。
下面通過實施例,並結合附圖,對本發明的技術方案作進一步具體的說明。
圖2A、圖2B顯示一個突出主機上的GND驅動器的更詳細的示意圖。在圖2A中,OS核心寫入並被上層檔案過濾器驅動器190(圖1)攔截的主機資料傳送到GND驅動器100,以便在被傳送到檔案系統驅動器266之前,由壓縮引擎242壓縮和/或由加密引擎240加密。去複份引擎243找出和刪除重複的資料檔案複製,以減少寫入負載。然後,下層檔案過濾器驅動器268再次攔截該資料,以便由GND驅動器100進行更多的處理。
檔案優先級分類264根據下層檔案過濾器驅動器268指定的資料類型或由邏輯區塊位址(Logical Block Address, LBA)指出對該資料,諸如針對中繼資料(FAT,FDB),暫存檔、分頁檔案或用戶資料)進行分類。暫存檔包括視窗(windows)暫時性檔案、網際網路瀏覽器暫時性檔案等。或者,對於諸如服務器等某些用途,該功能可以任選地加以禁止。操作被任務優先級分配器260賦予一個優先級,使得優先級較高的任務可以先於優先級較低的任務執行。性能調整器256可以定期調整這些優先級,以改善性能。然後,目標分配器254把該資料傳送到隨機存取記憶磁碟驅動器250,以便依資料類型而定,存入隨機存取記憶磁碟188(圖11),或資料寫入高速快取20。
寫入固態硬碟的資料在傳送到磁碟管理器270和SEED 固態硬碟200以前可以由分組器134分組。分區管理器172和硬碟類驅動器174可以指定該資料路由到選定的分區或硬碟。硬碟最小介面驅動器138管理所連接的固態硬碟的廠家規定的功能。解分組器136對從SEED固態硬碟200取出的資料在被傳送到資料讀出高速快取132之前進行解分組。
事務系統262保證該資料完全寫入SEED固態硬碟200。復原管理器216確定哪些寫入業務由於異常斷電而沒有完成,並協助該應用進行必要的重做或反重做,使資料正確。調度程式218管理事務系統262來管理和記錄對諸如開始、取消和提交等固態硬碟業務的寫入。
當電源監測器248檢測到掉電時,啟動隨機存取記憶磁碟沖洗/復原管理器126,以便把來自資料寫入高速快取20和隨機存取記憶磁碟188的資料轉移到SEED固態硬碟200,以便存入快閃記憶體。當沖洗完成時,沖洗/復原管理器126向SEED固態硬碟200和備份電源176或電源管理305(全部在圖1)發出售主命令。備份電源,若有的話,關閉該系統的電源,而只向SEED固態硬碟200供電。若使用電源管理305,則它將繼續向動態隨機存取記憶體、SEED固態硬碟303、開關311和記憶體控制器309供電。沖洗/復原管理器126可以在掉電之前定期把資料寫入高速快取20和隨機存取記憶磁碟188的內容沖洗到SEED固態硬碟200。
安全設定244可以在允許存取SEED固態硬碟200或由GND驅動器100高速快取的資料之前,執行密碼核實處理。智慧型資料監測器246把來自SEED固態硬碟200的S.M.A.R.T.監測訊息傳送到固態硬碟應用程式180。智慧型資料監測器246、電源/中央處理器監測器248、安全設定244和隨機存取記憶磁碟驅動器250是任選的。
不同的省電模式249可以如圖2B所示得到支持。PRST模式251支持持續模式,在此模式下當主電源失效或用戶選擇關機時,保存資料和處理器狀態。當用戶選擇關機和GND驅動器的持續模式被用戶禁止使用時,掉電模式253以一種受控的方式關閉系統電源。它將關閉全部尚未完成的事情並完全關閉電腦。切換用戶模式261,登出當前用戶並顯示一個畫面,以便讓新的用戶以其名字和密碼登入。登出模式259把用戶從該系統登出,使得其他用戶隨後可以登入。鎖定模式263鎖定畫面並提示輸入密碼。重啟模式265除諸如GND驅動器等關鍵系統業務外,關閉全部應用,和然後再次重新將其打開。休眠模式257使該系統處於低電力休眠模式,這允許較快的喚醒時間。靜止模式255使該系統處於關閉電源狀態,同時把喚醒影像存入非揮發性記憶體。
圖3A是帶有耐久性控制器的超級增強耐久性裝置(SEED)的方塊示意圖。在這替代方案中,SEED固態硬碟200’直接接口到與非快閃記憶體342。SEED固態硬碟200’可以在沒有主機GND驅動器的情況下獨立工作。可以實現駐留在主機GND驅動器上的某些功能。
SEED固態硬碟200’具有主機介面16,利用諸如快捷外設互聯標準(PCI Express, PCIe)、串列先進技術附件(Serial Advanced Technology Attachment, SATA)或萬用序列匯流排(USB)、非揮發性記憶體(NVMe)、雷電(Thunderbolt)、嵌入式多媒體卡(Embedded Multi Media Card, eMMC)、整合型固態硬碟(integrated solid state drive, iSSD)等與主機300(圖11)通訊。來自主機介面16的主機資料傳送到耐久性控制器360。
動態隨機存取記憶體介面12在耐久性控制器動態隨機存取記憶體340中讀出和寫入資料。耐久性控制器動態隨機存取記憶體340可以儲存一個或多個隨機存取記憶磁碟、高速快取、S.M.A.R.T.訊息、韌體及其他緩衝區和表。動態隨機存取記憶體340還可以儲存安全訊息、錯誤頁面管理用的表、對應表、刪除計數表、備用和交換區塊及其他緩衝區和表。
重新整理管理器202可以定期重新整理下層固態硬碟快閃記憶體342中的資料。沖洗復原管理器43利用沖洗出去的資料管理復原操作。暫存管理器348控制暫存資料。安全設定346管理安全功能。編程/刪除管理器41可以減慢頁面寫入和區塊刪除時間,以幫助延長快閃記憶體單元氧化物層的壽命。較慢頁面寫入/區塊刪除時間可以應用於TLC快閃記憶體,以便以縮短保持時間為代價增大耐久性。
多通道快閃記憶體介面14在快閃記憶體342中編程資料頁和刪除區塊,該快閃記憶體可以組織成幾個通道。錯誤修正碼管理器338產生下層錯誤修正碼,以便附在寫入資料後面,和把所貯存的與重新產生的錯誤修正碼比較,以便在讀出時糾錯。另外,它管理需要額外錯誤修正碼保護的快閃記憶體頁,為那些頁產生錯誤修正碼,和管理儲存和需要時取回錯誤修正碼資料。錯誤頁面管理器206追蹤錯誤頁面在快閃記憶體342中的位置。該可以延長各區塊的壽命,因為在該區塊中可能只有一頁是壞的,而其他頁可以繼續使用。更複雜的壞塊管理可以在總體上減少快閃隨身碟的損耗。
損耗分級器40可以提供兩個損耗分級方法。一個方法是動態地從可用空塊中選擇損耗分級計數最低的區塊,以便寫入資料。另一方法是基於損耗分級計數閾值。一旦達到該閾值,快閃記憶體資料區塊便從一個物理區塊(損耗分級計數低的)移動到快閃記憶體342中其他空的物理區塊中(損耗分級計數高的)。
本地命令隊列(NCQ)管理器52可以對來自主機300的主機命令重新排序,並管理一個通過主機介面16接收的主機命令隊列。該管理器把主機命令載入隊列,在這裡對寫入進行重新排序並加以結合,以便減少快閃記憶體寫入。
RAID控制器50跨越與非快閃記憶體342的幾個通道寫入新資料,並可以複製資料,以便提供冗餘和資料復原。
進行更新,以便由表管理器48管理對應表中的邏輯到物理的對應。另外,貯存在每個邏輯區塊或頁上的資料類型,一旦被資料分割管理器204識別和分類,表管理器48便對其進行追蹤,以便追蹤暫存檔、分頁檔案、FAT、FDB和用戶資料檔案。作為另一方案,主機300可以通過售主命令把資料類型的訊息資訊送到SEED固態硬碟200,於是資料分割管理器204不再重複GND驅動器100所完成的工作。或者,對於某些狀態,該功能可以任選地被禁止。
修剪管理器42處理來自檔案系統或主機300 OS的修剪命令。修剪命令指出該主機不再需要一個磁區並可以擦除或刪除。該被修剪的頁面在該頁面狀態表中被標記為垃圾頁面,諸如‘100b’或‘101b’。進行後臺垃圾收集時,若該區塊被識別為刪除候選,則該頁面不會被複製到新的區塊。此刻修剪命令完成。修剪管理器42完成諸如追蹤一個區塊中哪個磁區和頁不再需要等系統開銷。垃圾收集器還可以用來追蹤準備好刪除的區塊。一旦一個整區塊不再需要,修剪管理器42便啟動垃圾收集器或其他刪除機制,刪除該區塊,以便該區塊可以再用。去複份引擎243找出和刪除重複的資料檔案複製,以減少寫入載入。
自我檢測、分析報告(S.M.A.R.T.)功能39處理來自主機300的S.M.A.R.T.命令或售主命令,諸如監視和控制糾錯、損耗、壞塊及其他快閃記憶體管理。S.M.A.R.T.代表自檢測、分析和報告技術(Self-Monitoring,Analysis and Reporting Technology)。主機可以使用S.M.A.R.T.命令組來監視諸如上電時間、損耗分級計數等來自固態硬碟裝置的某些重要資料。主機可以使用該資料來診斷和識別固態硬碟的壽命預期。它還可以使用該訊息來根據該用法確定保證範圍。主機可以在經歷實際損壞之前更換固態硬碟驅動器。在冗餘獨立磁碟陣列(RAID)中,主機可以使用S.M.A.R.T.命令來避免比較昂貴的RAID 5配置。
事務管理器356保證資料完全寫入或傳送到與非快閃記憶體。超量配置208在與非快閃記憶體342中保留和管理備用區塊。安全刪除管理器18完成較高安全性刪除操作,諸如向一個區塊寫入全零或全1,以便必要時去除資料。
電源備份195提供備份電源,使得當掉電時SEED 固態硬碟200’可以來自耐久性控制器動態隨機存取記憶體340的資料寫入與非快閃記憶體342。
圖3B是帶有在eMMC中儲存資料的耐久性控制器的超級增強耐久性裝置(SEED)的方塊示意圖。在該替代方案中,SEED固態硬碟200’有介面通向包含快閃記憶體的增強多媒體卡(eMMC)343。
SEED固態硬碟200’具有主機介面16,利用諸如PCIe、SATA或通用序列匯流排(USB)、NVMe、雷電(Thunderbolt)、eMMC、iSSD等匯流排與主機300(圖1)通訊。來自主機介面16的主機資料傳送至耐久性控制器360’。
動態隨機存取記憶體介面12把資料讀出和寫入耐久性控制器動態隨機存取記憶體340。耐久性控制器動態隨機存取記憶體340可以儲存一個或多個隨機存取記憶磁碟、高速快取、S.M.A.R.T.訊息、韌體及其他緩衝區和表。動態隨機存取記憶體 340還可以儲存安全訊息及其他緩衝區和表。
沖洗復原管理器43利用沖洗出去的資料管理復原操作。暫存管理器348控制暫存資料。安全設定346管理安全功能。可以用壓縮/解壓引擎242和加密/解密引擎240對資料進行操作。錯誤修正碼/低密度奇偶校驗碼(Low Density Parity Check Code, LDPC)管理器339管理需要額外錯誤修正碼保護的快閃記憶體頁、為那些頁產生錯誤修正碼和管理儲存和需要時取回錯誤修正碼資料。可以使用低密度奇偶檢驗(LDPC),而不用錯誤修正碼。
多通道eMMC介面17對eMMC 343中資料進行編程,它可以組織成幾個通道。本地命令隊列(NCQ)管理器52可以對來自主機300的主機命令進行重新排序,並管理通過主機介面16接收的主機命令隊列。該管理器把主機命令載入命令隊列,在這裡寫入被重新排序和結合,以便減少快閃記憶體寫入。RAID控制器50跨越幾個eMMC 343通道寫入新資料並可以複製資料,以便提供冗餘和資料復原。
表管理器48追蹤貯存在每個邏輯區塊或頁上的資料類型,使得暫存檔、分頁檔案、檔案配置表(File Allocation Table, FAT)、轉換數據(Forwarding DataBase, FDB)、和用戶資料檔案一旦被資料分割管理器204識別和分類,便對其進行追蹤。作為另一方案,主機可以把資料類型訊息通過售主命令送到SEED固態硬碟,於是資料分割管理器204不再重複GND驅動器100完成的工作。或者,對於某些狀態該功能可以任選地被禁止。
修剪管理器42處理來自檔案系統或主機300 OS的修剪命令。該修剪命令指出,該主機不再需要一個磁區,它可以被擦除或刪除。修剪管理器42將該修剪訊息資訊傳送至eMMC 343。去複份引擎243找出和刪除資料檔案的重複複製,以減少寫入負載。
S.M.A.R.T.功能39處理來自主機300的S.M.A.R.T.命令或售主命令,諸如監視和控制糾錯、損耗、壞塊及其他快閃記憶體管理。S.M.A.R.T.功能39將修正來自eMMC 343的S.M.A.R.T.訊息。主機可以使用S.M.A.R.T.命令組來監視來自固態硬碟裝置的某些重要資料,諸如上電時間、損耗分級計數等。主機可以使用該資料來診斷和識別該固態硬碟的壽命預期。它還可以使用該訊息來根據該用法確定保證範圍。主機可以在經歷實際損壞之前更換固態硬碟驅動器。在冗餘獨立磁碟陣列(RAID)中,主機可以使用S.M.A.R.T.命令來避免比較昂貴的RAID 5配置。
事務管理器356保證資料完全寫入或傳送到eMMC 343。超量配置208保留和管理eMMC 343中的備用區塊。安全刪除管理器18完成安全性較高的刪除操作,諸如向一個區塊寫入全零或全1,以便必要時,去除資料。
電源備份195提供備份電源,使得掉電時SEED固態硬碟200’可以把耐久性控制器動態隨機存取記憶體340的資料寫入eMMC 343。
圖3C是帶有耐久性控制器的超級增強耐久性裝置(SEED)eMMC的方塊示意圖。在這替代方案中,SEED eMMC 205直接介面至與非快閃記憶體342。
eMMC主機介面19使用eMMC協議與主機300(圖1)通訊。來自eMMC主機介面19的主機資料傳送至耐久性控制器360”。
SEED SRAM 345可以儲存S.M.A.R.T.訊息、韌體、錯誤頁面管理用的表、對應表、刪除計數表、備用和交換區塊及其他緩衝區和表。
重新整理管理器202可以定期重新整理下層固態硬碟快閃記憶體342中的資料。多通道快閃記憶體介面14在快閃記憶體342中編程資料頁和刪除區塊,它可以組織成幾個通道。錯誤修正碼管理器338產生下層錯誤修正碼,以便附在寫入資料後面,並把貯存的錯誤修正碼與重新產生的錯誤修正碼比較,以便在讀出時檢測和糾錯。另外,它還管理需要額外錯誤修正碼保護的快閃記憶體頁、為那些頁產生錯誤修正碼和管理存儲和需要時取回錯誤修正碼資料。錯誤頁面管理器206追蹤快閃記憶體342中錯誤頁面的位置。它可以延長各區塊的壽命,因為在該區塊中可能只有一頁是壞的,而其他頁可以繼續使用。更複雜的壞塊管理可以在總體上減少快閃隨身碟的損耗。
損耗分級器40可以提供兩種損耗分級方法。一種方法是動態地從可用空塊中選擇損耗分級計數最低的區塊來寫入資料。另一方法基於損耗分級計數閾值。一旦達到該閾值,快閃記憶體的資料區塊便從快閃記憶體342中一個物理區塊(損耗分級計數低的)移動到其他空物理區塊(損耗分級計數高的)。
編程/刪除管理器41可以減慢頁寫入和區塊刪除時間,以便幫助延長該快閃記憶體單元的氧化物層的壽命。較慢頁寫入/區塊刪除時間可以應用於TLC快閃記憶體,以便以縮短保持時間為代價增強耐久性。
S.M.A.R.T.功能39處理來自主機300的S.M.A.R.T.命令或售主命令,諸如監視和控制糾錯、損耗、壞塊及其他快閃記憶體管理。S.M.A.R.T.代表Self-Monitoring, Analysis and Reporting Technology(自檢測、分析和報告技術)。主機可以使用S.M.A.R.T.命令組來監視來自固態硬碟裝置的某些重要資料,諸如上電時間、損耗分級計數等。主機可以使用該資料來診斷和識別該固態硬碟的壽命預期。它還可以使用該訊息資訊來根據該用法確定保證範圍。主機可以在經歷實際的損壞之前更換固態硬碟驅動器。在冗餘獨立磁碟陣列(RAID)中,主機可以使用S.M.A.R.T.命令來避免比較昂貴的RAID 5配置。
事務管理器356保證資料完全寫入或傳送到與非快閃記憶體。超量配置208保留和管理與非快閃記憶體342中的備用區塊。安全刪除管理器18完成安全性較高的刪除操作,諸如向一個區塊寫入全零或全1,以便必要時去除資料。RAID控制器50跨越與非快閃記憶體的幾個通道寫入新資料,並可以複製資料,以便提供冗餘和資料復原。
圖4A至圖4C是表示為通過GND驅動器100寫入進行資料分割和分組的流程圖。主機向資料分割管理器108傳送寫入命令,另外,它還接收由壓縮/加密引擎106,若它被啟用,壓縮或加密之後的主機寫入資料。加密或加壓檔案用的壓縮表項或元頁分組表可以在中繼資料高速快取120中修改。
GND驅動器100(圖2)內的資料分割管理器108按資料類型,諸如通過檢驗檔案副檔名或通過FAT和FDB分析,對主機寫入資料進行分類。暫存檔貯存在隨機存取記憶磁碟_01中的暫存檔案區124中,帶有一個表項在中繼資料高速快取120中修改。當關閉電源或電源失效時,暫存檔案區124存入SEED固態硬碟200的持續模式動態隨機存取記憶體影像203。或者,回應用戶選擇,暫存檔不存入持續模式動態隨機存取記憶體影像203。
分頁檔案貯存在高速快取內的分頁區38中,並通過分頁檔案分組處理116,與其他包含同樣分頁檔案資料類型的頁分組輸入元頁。該分組後的頁將傳送至SEED固態硬碟200,若在正常執行過程中,高速快取中的分頁檔案區38沒有足夠的空間,則貯存在固態硬碟驅動器磁碟區201中。分組檔案用的表項可以在中繼資料高速快取120中修改。當關閉電源或電源失效時,高速快取內分頁檔案區38中未儲存的資料和元頁分組116貯存在持續模式的動態隨機存取記憶體影像203中,不在SEED固態硬碟200的固態硬碟驅動器磁碟區201中。或者,通過用戶選擇,分頁檔案不貯存在持續模式動態隨機存取記憶體影像203中。
諸如FAT和FDB登錄項目等中繼資料檔案貯存在中繼資料高速快取120中。FDB可以是由FDB元頁分組處理114分組輸入元頁。若在正常執行過程中,高速快取內的中繼資料120沒有足夠的空間,則該分組後的頁將傳送至SEED固態硬碟200,並貯存在固態硬碟驅動器磁碟區201。分組檔案用的表項可以在中繼資料高速快取120中修改。當關閉電源或電源失效時,高速快取內中繼資料120中未儲存的資料和元頁分組114貯存在持續模式動態隨機存取記憶體影像203中,不存入SEED固態硬碟200的固態硬碟驅動器磁碟區201。
用戶檔案貯存在資料寫入高速快取20中,並與包含同一用戶或非暫存檔資料類型的其他頁一起,由元頁用戶檔案分組處理113分組存入元頁。若在正常執行過程中,在高速快取中資料寫入20沒有足夠的空間,則該分組後的頁將傳送至SEED固態硬碟200,並存入固態硬碟驅動器磁碟區201。分組檔案用的表項可以在中繼資料高速快取120中修改。當關閉電源或電源失效時,高速快取內的資料寫入20中未儲存的資料和元頁分組113貯存在持續模式動態隨機存取記憶體影像203中,不存入SEED固態硬碟200的固態硬碟驅動器磁碟區201。
圖4B表示當關閉電源或電源失效時在持續模式過程中附加的寫入。隨機存取記憶磁碟205複製至持續模式動態隨機存取記憶體影像203,但不複製至固態硬碟驅動器磁碟區201。處理器間(IP)的訊息資訊貯存在IP動態隨機存取記憶體213中,並拷入持續模式動態隨機存取記憶體影像203,但不拷入固態硬碟驅動器磁碟區201。當關閉電源或電源失效,和持續模式被啟用時,固態硬碟驅動器100將諸如處理器環境207、中央處理器高速快取209和復原環境212等訊息資訊沖洗進主機300的動態隨機存取記憶體,並在把動態隨機存取記憶體資料存入持續模式動態隨機存取記憶體影像203之前,更新IP動態隨機存取記憶體213。為了完成把資料寫入持續模式動態隨機存取記憶體影像203,需要電池組或其他備份電源,以保持有效一段時間。然後,當主電源復原時,該資料可以由持續模式動態隨機存取記憶體影像203取出。請注意,由GND驅動器處理的寫入資料可以經過壓縮、加密或分組處理。
圖4C表示帶有掉電模式,不是主機300沒有備份電源176,就是用戶選擇選項1204選擇掉電模式1210(圖29A、圖29B)。
綠色或低功率快閃記憶體裝置可以使用與非快閃記憶體。GND驅動器不會利用動態隨機存取記憶體高速快取20,38和120來避免當掉電時關鍵資料的丟失。固態硬碟驅動器磁碟區201在由元頁用戶檔案分組處理113分組的元頁中接收用戶或非暫存檔資料類型。另外,固態硬碟驅動器磁碟區201還接收被分頁檔案分組處理116分組為元頁的分頁檔案資料類型,和被FDB元頁分組處理114分組為元頁的FDB。在正常執行過程中,一旦元頁寫滿,所有這三個元頁分組便都從主機300被傳送至固態硬碟驅動器磁碟區201。掉電時未完成的元頁分組可能丟失。或者,若SEED 固態硬碟具有動態隨機存取記憶體區,用於這三個元頁分組的鏡像影像,則掉電時資料的丟失可以減到最少。關閉電源和電源失效時,貯存在隨機存取記憶磁碟_01暫存檔案區124的暫存檔丟失。
圖5A至圖5C是表示針對通過GND驅動器為掉電和持續方式讀出的資料進行分類和解分組的流程圖。主機向資料分割管理器108傳送一個讀命令,該管理器在用壓縮/加密引擎解壓或解密之後還向主機發出讀資料。GND驅動器100(圖2)內的資料分割管理器108按資料類型對主機讀資料進行分類,並根據該資料類型對資料進行選擇。
在圖5A中,最近該用戶資料可能已經寫入資料寫入高速快取20,並仍然可從其中獲得。該資料可以貯存在SEED固態硬碟200的固態硬碟驅動器磁碟區201,而且必須首先用用戶資料元頁解分組處理113解分組,並輸入資料寫入高速快取20。貯存在固態硬碟驅動器磁碟區201的FAT/FDB資料在放入中繼資料高速快取120之前,首先由FAT/FDB元頁解分組處理114解分組。
貯存在SEED固態硬碟200的固態硬碟驅動器磁碟區201的分頁檔案首先用分頁檔案元頁解分組處理116解分組,並載入高速快取中的分頁區38。
暫存檔不貯存在快閃記憶體中,而被資料分割管理器108從隨機存取記憶磁碟_01中的暫存檔案區124讀出。在上電重新引導過程中利用持續模式,當關閉電源或電源失效時,那些貯存在持續模式動態隨機存取記憶體影像203的高速快取20, 38, 120和元頁分組113, 114, 116,裝回它們在動態隨機存取記憶體中的同一位置。
圖5B表示在持續模式和上電重新引導過程中附加的讀類型。隨機存取記憶磁碟214可以從持續模式動態隨機存取記憶體影像203複製。處理器間(IP)的訊息資訊可以從持續模式動態隨機存取記憶體影像203複製至IP動態隨機存取記憶體 213。諸如處理器環境207、中央處理器高速快取209和復原環境212等沖洗出去的訊息從持續模式動態隨機存取記憶體影像203複製。
圖5C表示掉電模式,固態硬碟驅動器磁碟區201提供由元頁用戶檔案分組處理113分組的元頁中的用戶或非暫存檔資料類型。固態硬碟驅動器磁碟區201還提供被分頁檔案分組處理116分組輸入元頁的分頁檔案資料類型,和被FDB元頁分組處理114分組輸入元頁的FDB。一旦向隨機存取記憶磁碟記憶體提供的電力耗盡,貯存在隨機存取記憶磁碟_01暫存檔案區124中的暫存檔便丟失。
圖6是帶有備份電源的主機板示意圖。主機板361’具有電源區358’帶有從備份電源351接收電力PWR的主機電源輸入67。備份電源351接收交流電源輸入,並具有一個內部電池組,以便在交流電源掉電時供電PWR一段時間。當交流電源掉電時,從備份電源351向中央處理器76傳送一個掉電訊號。然後中央處理器 76可以啟動掉電例程。可以啟動晶片組80內的動態隨機存取記憶體控制器84,從安裝在動態隨機存取記憶體插槽354內的動態隨機存取記憶體讀出資料,並利用記憶體介面82把該資料寫入固態硬碟357中的快閃記憶體。固態硬碟電源由主機板361’從主機電源輸入67提供。或者,動態隨機存取記憶體 CTLR(動態隨機存取記憶體控制器)84可以駐留在中央處理器 76中,而不在晶片組80內。備份電源351可以有直流電源DC PWR,代替交流電源AC PWR。
圖7是帶有非揮發性記憶體控制器的電源隔離的主機板的示意圖。主機板361具有隔離的電源區358,它可以用開關60, 62與其他元件隔離。
諸如萬用電源等主電源向隔離電源區358提供不斷電供應系統。電源64向全部元件供電。當關閉電源或電源失效時,中央處理器 350檢測到掉電。固態硬碟驅動器100將使用一段非常短的時間進行沖洗,並準備諸如處理器環境207、中央處理器高速快取209和復原環境212等訊息資訊,然後向主機300的動態隨機存取記憶體更新IP動態隨機存取記憶體213。此後,它將向非揮發性記憶體控制器70傳送中央處理器 HALT(停止)訊號,以便啟動動態隨機存取記憶體354內容向固態硬碟357的儲存處理。中央處理器350將停止,而主機300將掉電,電源區358除外。收到中央處理器 HALT訊號之後,非揮發性記憶體控制器70啟動開關控制,以便使開關60斷開晶片組80中動態隨機存取記憶體控制器84,並使開關62斷開晶片組80中的記憶體介面82。或者,晶片組80可以整合進中央處理器350。
然後,非揮發性記憶體控制器70利用它的動態隨機存取記憶體控制器74從動態隨機存取記憶體插槽354中的動態隨機存取記憶體讀出資料,並使用其固態硬碟記憶體介面72把該資料寫入固態硬碟357。若使用IP動態隨機存取記憶體方案,則只把IP動態隨機存取記憶體213指向的部分動態隨機存取記憶體內容354備份進固態硬碟,而不是備份整個動態隨機存取記憶體內容。
因為中央處理器350和晶片組80被開關60, 62隔離,所以它們可以掉電,保存電力使得非揮發性記憶體控制器70可以把動態隨機存取記憶體資料拷入固態硬碟357。剩餘UPS電力可以只由非揮發性記憶體控制器70及隔離電源區358內的其他元件使用。
上電重新引導時,中央處理器350將向非揮發性記憶體控制器70傳送一個中央處理器 INIT(初始化)訊號,而且中央處理器350不存取動態隨機存取記憶體354或固態硬碟357,但將等待非揮發性記憶體控制器完成資料向動態隨機存取記憶體 354的載入。然後,該非揮發性記憶體控制器將通過控制開關60和62接管動態隨機存取記憶體和固態硬碟匯流排訊號。此後它將把持續模式動態隨機存取記憶體影像載入動態隨機存取記憶體 354。一旦載入完成,它將向中央處理器350發出SUCCESS/FAIL(成功/失敗)訊號,以便指明任務完成,並釋放動態隨機存取記憶體和固態硬碟匯流排訊號,把控制交回中央處理器/晶片組。中央處理器350將進行上電引導處理。
圖8表示處理器間的記憶體(IP動態隨機存取記憶體213)針對只把選定的動態隨機存取記憶體內容存入持續模式動態隨機存取記憶體影像203的情況的登錄項目。第一位元可以是簽名,諸如0x55AA。每個記錄都有一個用以決定這組資料是否在掉電時需要備份儲存DEF,也就是說0x00指示該記錄所指向的資料在掉電時不必備份,0x01指示需要備份所指向的資料,或0xFF用於IP動態隨機存取記憶體中最後有效的記錄。更詳細可以利用剩餘號碼0x02至0xFE實現,以便識別不同類型的資料,諸如0x02用於處理器環境207, 0x03針對資料寫入高速快取20等。另外,每個記錄都包含一個指針,指示主機動態隨機存取記憶體中的起始地址,而長度字段指示有關資料的總長度。每個記錄都總共有10位元。對於512位元的磁區,它可以保存51個記錄。0xFF記錄不必位於最後記錄。
掉電時,非揮發性記憶體控制器70(圖7)或中央處理器76(圖6)執行的掉電例程可以讀出IP動態隨機存取記憶體的每個記錄(在動態隨機存取記憶體的部分存儲的情況下),並決定當DEF字段不是0x00或0xFF時是否把該資料從動態隨機存取記憶體複製至固態硬碟。IP動態隨機存取記憶體將位於動態隨機存取記憶體的一個固定的已知地址上,使得不是中央處理器76(圖6),就是中央處理器350和非揮發性記憶體控制器70(圖7)將存取同一位置,而不會引起混亂。
圖9是帶有RAID耐久性控制器的PCIe SEED 固態硬碟的方塊示意圖。當關閉電源或電源失效時,該PCIe SEED 固態硬碟控制器將實現持續模式。在這替代方案中,PCIe SEED 固態硬碟200”直接接口到由RAID 控制器50存取的固態硬碟 364,它冗餘地儲存資料。
PCIe SEED 固態硬碟200”具有主機介面16,它利用週邊元件快速互聯(peripheral component Interconnect express(PCIe))匯流排與主機300(圖1)通訊。來自主機介面16的主機資料傳送至耐久性控制器360。
動態隨機存取記憶體介面12在固態硬碟耐久性轉換層(Endurance Translation Layer(ETL))動態隨機存取記憶體368中讀出和寫入資料。動態隨機存取記憶體368可以儲存一個或多個隨機存取記憶磁碟、高速快取、S.M.A.R.T.訊息、韌體、安全訊息及其他緩衝區和表。
重新整理管理器202可以定期重新整理固態硬碟 364中的資料。沖洗復原管理器43利用沖洗出去的資料管理復原操作。安全設定346管理安全功能。
本地命令隊列(NCQ)管理器52可以對來自主機300的主機命令進行重新排序,並管理通過主機介面16接收的主機命令隊列。該管理器把主機命令載入命令隊列,在這裡對寫入重新排序並加以結合,以便減少快閃記憶體寫入。
RAID控制器50跨越固態硬碟364的幾個通道寫入新資料,並可以複製資料,以便提供冗餘和資料復原。
表管理器48追蹤貯存在每個邏輯區塊或頁上的資料類型,以便暫存檔、分頁檔案、FAT、FDB和用戶資料檔案一旦被該資料分割管理器識別和分類,便對其進行追蹤。
S.M.A.R.T.功能39處理來自主機300的S.M.A.R.T.命令或售主命令,諸如監視和控制糾錯、損耗、壞塊及其他快閃記憶體管理。S.M.A.R.T.代表Self-Monitoring, Analysis and Reporting Technology(自檢測,分析和報告技術)。主機可以使用S.M.A.R.T.命令組來監視來自固態硬碟 裝置的某些重要資料,諸如上電時間、損耗分級計數等。主機可以使用該資料來診斷和識別該固態硬碟的壽命預期。它還可以使用該訊息來根據該用法確定保證範圍。主機可以在經歷實際損壞之前更換固態硬碟驅動器。在RAID中,主機可以使用S.M.A.R.T.命令來避免比較昂貴的RAID 5配置。
事務管理器356保證該資料完全寫入或傳送到固態硬碟364。電源備份195提供備份電源,以便PCIe SEED固態硬碟200” 可以在掉電時把持續模式資料從固態硬碟ETL動態隨機存取記憶體368寫入備份固態硬碟366或固態硬碟364。
圖10是前端備份電源的示意圖。來自供電線路的交流電網電源被功率整流器420整流,並用電容388和電阻392濾波,以便通過二極管394向電池組380充電。升壓器422向DC-DC(直流-直流)逆變器372提供一個升壓後的電壓,當掉電檢測器418檢測到交流電網掉電時向功率開關382提供備份電源。否則,功率開關382把交流電網電源連接至主機375上的電源376。電源376可以提供各種各樣的電壓,諸如12v,5v和3.3v。來自備份電源419中的掉電檢測器418的掉電訊號也可以被引導到主機375。
圖11表示主機板上的內部電源樹。一個12V主機板電源經電容388和電阻392濾波,以便通過二極管394向電池組380充電。電池組380可以是一個電池組或超級電容,掉電時它通過電感396和齊納二極管398提供本機備份電源。把來自電池組380的小於12V轉換為恒定的12V輸出的分步直流-直流轉換器370通過晶體管390接收備份電源,並向電容402充電,以便調節向功率開關382提供的備份電源。濾波電容402對分步DC-DC轉換器370輸出進行濾波。
當功率開關訊號PWR_SW有效時,功率開關382選擇12V主機板電源,但當掉電時選擇備份電源。被功率開關382選定的該12V電源進一步被其他DC-DC轉換器406, 408, 410, 412, 414, 416改變,以便向涉及把動態隨機存取記憶體備份至固態硬碟方案的主機板提供所需要的電力。
圖12A至圖12C突出非揮發性記憶體控制器用的隔離電源開關。圖12A表示非揮發性記憶體控制器430,收到電源VNVMX和接地,和往來於中央處理器的不同的控制訊號。DC-DC轉換器406向非揮發性記憶體控制器70、開關60, 62等提供不同的電壓電平的電源。DC-DC轉換器408, 410, 412為動態隨機存取記憶體有關電源提供不同電壓電平的電源。DC-DC轉換器414, 416根據固態硬碟介面是何種類型而被選擇,並提供不同電壓電平的電源。
非揮發性記憶體控制器430向圖12B、圖12C中的開關432, 434產生開關控制(訊號)SW_CTL。開關432, 434在中央處理器和非揮發性記憶體輸入訊號之間進行選擇,以便連接至動態隨機存取記憶體或固態硬碟。對於記憶體模組的一個通道,在該實施例中,需要12個14位開關434,或需要單個整合160位開關432(圖12B)。
圖13表示帶有整合開關的非揮發性記憶體控制器。起圖7中非揮發性記憶體控制器70作用的非揮發性記憶體控制器428具有起圖7開關60, 62的作用的整合開關426。內部非揮發性記憶體動態隨機存取記憶體和固態硬碟匯流排直接連接至整合開關426而不要求外部腳位。或者,非揮發性記憶體控制器428可以整合進中央處理器或晶片組。在那種情況下,它將簡化PCB設計,並若中央處理器的其他部分可以在關閉電源或失效持續模式的過程中切掉電源,則降低對備份電源的要求。
圖14A、圖14B顯示主機上動態隨機存取記憶體持續模式用的掉電例程。參見圖3A。當收到掉電中斷和資料完整性位被置位時,步驟503,把處理器環境存入動態隨機存取記憶體,步驟507,把一個指向所存資料的指針和長度存入IP動態隨機存取記憶體213。把中央處理器高速快取沖洗至動態隨機存取記憶體,步驟509,並使高速快取失效。在IP動態隨機存取記憶體建立一個所保存的資料的項目。
在動態隨機存取記憶體建立復原環境,步驟513,並建立一個復原環境用的IP動態隨機存取記憶體項目。然後,把IP動態隨機存取記憶體內容寫入SEED固態硬碟200的持續模式動態隨機存取記憶體影像203,步驟515。
在圖14B中,讀出IP動態隨機存取記憶體內容,從第一記錄啟動,步驟585。當第一位元是FF時,步驟575,則已經達到IP動態隨機存取記憶體記錄的末尾。在持續模式動態隨機存取記憶體影像203中置位複製成功標誌,步驟579。所複製的動態隨機存取記憶體影像可以作為影像檔案加以貯存,或者一個固態硬碟分區至少與動態隨機存取記憶體的尺寸匹配。
對於其他記錄,步驟575,從下一個項目讀出所指向的資料起始地址的指針及其長度,步驟577。從動態隨機存取記憶體讀出所指向的資料,寫入持續模式動態隨機存取記憶體影像203和利用售主命令存入固態硬碟,步驟581。
圖15A、圖15B顯示PCIe RAID控制器的動態隨機存取記憶體持續模式用的掉電例程。當從主機電源輸入用的電源監測器收到掉電中斷時,把處理器環境存入動態隨機存取記憶體,步驟564。把高速快取沖洗至動態隨機存取記憶體,步驟566並使之失效。
在動態隨機存取記憶體中建立復原環境,步驟568。在動態隨機存取記憶體中把沖洗成功標誌置位,步驟570。然後,把IP動態隨機存取記憶體內容寫入固態硬碟,步驟572。由PCIe控制器保存IP動態隨機存取記憶體。
在圖15B中,讀出IP動態隨機存取記憶體內容,從第一記錄啟動,步驟584。當第一位元是FF時,步驟574,則已經達到IP動態隨機存取記憶體的末尾。在動態隨機存取記憶體中置位複製成功標誌,步驟578。使耐久性RAID控制器363’的操作停止,步驟582。
對於其他記錄,步驟574,從下一個項目讀出所指向資料的起始地址的指針及其長度,步驟576。從動態隨機存取記憶體讀出所指向的資料並利用售主命令存入固態硬碟,步驟580。
圖16A、圖16B顯示主機上動態隨機存取記憶體持續模式用的引導載入例程。參見圖3A。收到引導裝入載入初始化訊號時,從固態硬碟讀出先前貯存的影像,步驟550。該影像是持續模式動態隨機存取記憶體影像203。
讀出IP動態隨機存取記憶體內容,從第一記錄啟動,步驟552。當第一位元是0xFF時,步驟554,則已經達到IP動態隨機存取記憶體的末尾。先前保存的全部動態隨機存取記憶體內容裝回它們在動態隨機存取記憶體中原來的位置。控制跳至復原環境,步驟558,由中央處理器執行。
對於其他記錄,步驟556,從下一個項目讀出所指向資料的起始地址的指針及其長度,步驟556。利用售主命令從固態硬碟讀出所指向的資料,然後在來自IP動態隨機存取記憶體項目的指針的位置上寫入動態隨機存取記憶體,步驟560。
在圖16B中,所保存的沖洗出去的高速快取復原至中央處理器核心層,步驟540,並利用它們的驅動器對全部週邊裝置進行初始化,步驟542。掉電時仍然有效的任何處理都使之失效或取消,步驟544。設定資料完整性標誌,步驟546,中央處理器復原正常執行,步驟548。該資料完整性標誌用於:若在進到步驟546之前再次掉電, 則避免不必要地寫入持續模式影像。
圖17A、圖17B顯示PCIe RAID控制器動態隨機存取記憶體持續模式用的上電重新引導例程。參見圖9。當PCIe RAID 控制器收到上電中斷訊號時,全部下游固態硬碟初始化,步驟586。讀出持續模式動態隨機存取記憶體影像並檢查以前的“複製成功標誌”是否成功。不成功時,步驟594,則在沒有持續模式的情況下完成正常上電引導,步驟596。成功時,步驟594,從固態硬碟, 不是從備份固態硬碟366,就是從固態硬碟 364,讀出先前貯存的持續模式動態隨機存取記憶體影像,步驟598。該影像是持續模式動態隨機存取記憶體影像203。
在圖17B中,讀出IP動態隨機存取記憶體內容,從第一記錄啟動,步驟592。當第一位元是0xFF時,步驟604,已經達到IP動態隨機存取記憶體的末尾。控制跳至復原環境,步驟608,由RAID控制器執行。復原任何為耐久性RAID控制器363’保存的處理器環境,步驟590,並把保存的沖洗出去的高速快取復原到耐久性RAID控制器363’,步驟610。該耐久性RAID控制器363’復原正常執行,步驟592。
對於其他記錄,步驟604,從下一個項目讀出所指向資料的起始地址指針及其長度,步驟606。利用售主命令從固態硬碟讀出所指向的資料,然後在來自IP動態隨機存取記憶體項目的指針所指的位置上寫入動態隨機存取記憶體,步驟588。
圖18A、圖18B顯示由本機固態硬碟投入和執行的GND應用程式和GND驅動器。當用戶執行該GND應用程式,和該程式沒有重複時,步驟612,載入設定檔案,步驟614。像掉電之前一樣地安裝同一固態硬碟裝置時,步驟616,清除老隨機存取記憶磁碟,步驟618。獲得動態隨機存取記憶體的尺寸,步驟620。
在圖18B中,當隨機存取記憶磁碟驅動器在執行記憶體中仍未存在時,步驟622,安裝隨機存取記憶磁碟驅動器,步驟624。
啟動中央處理器監測器,步驟626,把資料從固態硬碟同步至隨機存取記憶磁碟,步驟628。啟用計時器,步驟630。初始化建立完成。
圖19是GND驅動器維持其狀態用的定期例程。當前一附圖步驟630中為該計時器觸發計時器中斷時,在該主機上執行該例程。禁止該計時器,以避免該例程被再次調用,步驟632。當用戶請求該程式退出,步驟634,而且隨機存取記憶磁碟沒有改變時,步驟636時,使GND驅動器退出。若從上次時間到之前隨機存取記憶磁碟發生變化,步驟636,則把隨機存取記憶磁碟中的無效資料沖洗至固態硬碟,並在GND驅動器退出之前清除隨機存取記憶磁碟資料,步驟644。
當用戶不請求該程式退出時,步驟634,按照所符合的策略判據,把隨機存取記憶磁碟資料的改變,諸如其數量大於一個閾值,諸如高速快取的80%的無效資料更新至固態硬碟,步驟638,或對於一段充分長的時間週期,諸如1小時的資料,或一個預定類別的資料,或者直至主機掉電的資料,都不同步至固態硬碟。若需重新同步,則作出判決。當隨機存取記憶磁碟需要重新同步時,步驟640,把無效資料沖洗至固態硬碟,步驟646。啟用計時器,以便檢查下一個狀態,步驟642。重新同步及其策略可以由用戶選定。
圖20A、圖20B顯示從USB裝置投入和執行的GND應用程式和GND驅動器。當插入USB裝置並執行自動執行,而且該程式沒有由於再插入而重複時,步驟652,載入設定檔案,步驟654。當同一個USB裝置拔出以前被安裝時,步驟656,清除老隨機存取記憶磁碟,步驟658。獲得動態隨機存取記憶體的尺寸,步驟660。
在圖20B中,當在執行記憶體中仍不存在隨機存取記憶磁碟驅動器時,步驟662,安裝隨機存取記憶磁碟驅動器,步驟664。
啟動中央處理器監測器,步驟666,把資料從USB裝置同步至隨機存取記憶磁碟,步驟668。啟用計時器,步驟660。
圖21A、圖21B是一個USB裝置驅動器用的定期例程。當前一附圖的步驟660的計時器觸發計時器中斷時,在該主機上執行該例程。禁止該計時器,以避免該例程被再次調用,步驟672。
當用戶不請求該程式退出,步驟674,而且USB裝置被拔出時,步驟676,向該用戶顯示一個報警,(要求)把USB裝置插回去,步驟678。否則,當正如在步驟638所指出的,隨機存取記憶磁碟需要重新同步時,步驟680,把該無效資料沖洗到USB,步驟686。啟用計時器,以便檢查下一個狀態,步驟682。
在圖21B中,當用戶請求該程式退出,步驟674,而且該隨機存取記憶磁碟沒有改變時,步驟688,則把DevEject例程複製到隨機存取記憶磁碟,步驟702,然後利用DevEject命令使目標USB裝置退出,步驟704。向用戶顯示以指出可以拔去USB裝置,步驟706。持續顯示該消息,直至用戶拔去USB裝置為止,步驟708。
隨機存取記憶磁碟已經改變時,步驟688,把隨機存取記憶磁碟中的無效資料沖洗到USB並清除隨機存取記憶磁碟的資料,步驟684。在執行DevEject例程之前,步驟704,將其複製至隨機存取記憶磁碟,步驟702。
圖22A、圖22B顯示帶有電池組,持續和正常掉電模式的筆記型電腦電源監測器的操作。當筆記型電腦接通,步驟710,而且電網電源維持接通時,步驟714,該電源監測器繼續向筆記型電腦電池組充電,步驟716,該筆記型電腦正常操作,步驟718。
當筆記型電腦接通,步驟710,但是電網掉電,步驟714,該電池組電源電平尚未降低到第一閾值,low1以下時,步驟720,然後當電網電源接通,步驟726時,電源監測器繼續向筆記型電腦電池組充電,步驟716,而該筆記型電腦正常操作,步驟718。當電網電源掉電時,步驟726,該筆記型電腦電源監測器循環回到初始步驟。
當該筆記型電腦接通,步驟710,但電網掉電,步驟714,而且電池組電源電平低於low1時,步驟720,顯示一個報警消息,步驟722。當電池組電源電平降低到low2以下時,步驟724,在圖22B中當掉電持續模式起作用時,步驟730,把持續模式用於掉電,步驟736。在中央處理器停止之前,步驟734,該例程等待動態隨機存取記憶體複製至固態硬碟,步驟738。
當掉電持續模式不起作用,步驟730,以掉電模式發生掉電時,步驟732,使中央處理器停止,步驟734。
在圖22A中,當筆記型電腦關閉時,步驟710,除該監視器和計時器電路的一小部分外,向處於休眠模式的固態硬碟供電,並當該計時器到點,應該定期,諸如每週重新整理其快閃記憶體時,將其喚醒,步驟712。在圖22B中,當電網電源接通時,步驟740,該電源監測器繼續向筆記型電腦電池組充電,步驟742,而且該筆記型電腦電源監測器循環回到初始步驟。
圖23A、圖23B顯示帶有電池組備份,持續和正常掉電模式的桌上型電腦電源監測器的操作。當該桌上型電腦重新引導時,步驟750,而電網電源接通,步驟758,該電源監測器繼續向該桌上型電腦的電池組充電,步驟760,而該桌上型電腦正常操作,步驟762,直至該桌上型電腦關閉電源為止,步驟764。
當該桌上型電腦不重新引導,步驟750,但電網掉電時,步驟754,該桌上型電腦電源監測器循環回到初始步驟。當電網電源沒有掉電時,步驟754,向固態硬碟提供電力,以便重新整理快閃記憶體,步驟752。該電源繼續向桌上型電腦電池組充電,步驟756,而該桌上型電腦電源監測器循環回到初始步驟。
當該桌上型電腦重新引導,步驟750,但電網掉電時,步驟758,則在圖23B中把持續模式用於掉電,步驟776。在使中央處理器停止之前,步驟774,該例程等待動態隨機存取記憶體複製至固態硬碟,步驟778。
當該桌上型電腦掉電,步驟764,而掉電持續模式起作用時,步驟770,把持續模式用於掉電,步驟776。在使中央處理器停止之前,步驟774,該例程等待動態隨機存取記憶體複製至固態硬碟,步驟778。
當掉電持續模式不起作用,步驟770,發生正常掉電時,步驟772,則使中央處理器停止,步驟774。
圖24A、圖24B顯示帶有UPS備份、持續和正常掉電模式的服務器電源監測器的操作。當該服務器重新引導,步驟780,而且電網電源接通時,步驟788,則該電源監測器繼續向服務器UPS電池組充電,步驟790,而該服務器正常操作,步驟792,直至該服務器斷電,步驟794。
當服務器不重新引導,步驟780,但電網掉電時,步驟784,該服務器電源監測器循環回到初始步驟。當電網電源沒有掉電時,步驟784,向固態硬碟提供電力以重新整理其快閃記憶體,步驟782。該電源繼續向該服務器電池組充電,步驟786,該服務器電源監測器循環回到初始步驟。
當該服務器重新引導,步驟780,但電網掉電時,步驟788,則在圖24B中該服務器電池組向該服務器供電,步驟814。若該服務器電池組不低,步驟812,但電網電源已復原,步驟810,則該例程循環回到圖24A的步驟788。
當服務器電池組低時,步驟812,則把持續模式用於掉電,步驟806。在使中央處理器停止之前,步驟804,該例程等待動態隨機存取記憶體複製至固態硬碟,步驟808。
當服務器掉電,步驟794,而掉電持續模式起作用時,步驟800,把持續模式用於掉電,步驟806。在使中央處理器停止之前,步驟804,該例程等待動態隨機存取記憶體複製至固態硬碟,步驟808。
當掉電持續模式不起作用,步驟800,以掉電模式發生正常掉電時,步驟802,使中央處理器停止,步驟804。
圖25A至圖25C顯示帶有電池組、持續和正常掉電模式的PCIe RAID控制器用的電源監測器例程。當PCIe RAID控制器具有來自主機300 PCIe介面的電網電源時,步驟828,則該電源監測器持續向本機電池組充電,步驟820,而PCIe RAID控制器正常操作,步驟822。
當到PCIe RAID控制器的供電線路掉電時,步驟824,則在圖25B中當掉電持續模式起作用時,步驟830,把持續模式用於掉電,步驟836。在使PCIe RAID控制器停止之前,步驟834,該例程等待動態隨機存取記憶體複製至固態硬碟,步驟838。
當掉電持續模式不起作用,步驟830,以掉電模式發生正常掉電時,步驟832,使該PCIe RAID控制器停止,步驟834。
在圖25C中,當電網電源掉電時,步驟828,用本機電池組向動態隨機存取記憶體、固態硬碟及其他涉及持續模式的元件供電,步驟840。把持續模式用於掉電,步驟846。把動態隨機存取記憶體資料複製至固態硬碟,步驟848,使PCIe RAID控制器停止,步驟844。用本機電池組向固態硬碟供電,步驟842。一旦本機電池組掉電,步驟850,用固態硬碟電容向固態硬碟供電,步驟826。一旦這些固態硬碟電容掉電,固態硬碟 動態隨機存取記憶體中的資料丟失。
圖26A至圖26D顯示涉及登入的例程。圖26A是從SEED 固態硬碟中的動態隨機存取記憶體高速快取寫入快閃記憶體的登入流程圖。當SEED固態硬碟把來自固態硬碟 動態隨機存取記憶體緩衝區的資料傳送至與非快閃記憶體時,start2鍵或標誌寫入登入分組表,步驟694。向快閃記憶體寫入資料採取元頁形式,步驟696。諸如分組、壓縮等用的不同的中繼資料表,以及其他中繼資料從固態硬碟 動態隨機存取記憶體緩衝區的有關ETL表區傳輸至快閃記憶體,步驟698。把compd2標誌登入進登入分組表,步驟695。當登入表寫滿時,步驟699,把該登入分組表寫入快閃記憶體,步驟697。“start1”標誌登入資料向動態隨機存取記憶體移動的開始,而“start2”登入資料寫入快閃記憶體的開始,“compd2”登入資料向快閃記憶體移動的完成,“abort1”登入該資料在同一LBA上被新資料覆蓋寫入。
圖26B是清除登入區的流程圖。它在檢查點登入插入之後執行。為檢查選定序列號,步驟1536,將其與一個為清洗目的插入的檢查點的序列號比較,步驟1538。當該序列號在該檢查點的前面時,步驟1538,而為此序列登入了Compd2標誌,步驟1540,則清除涉及該序列號的全部登入項,步驟1544,因為該序列的資料已被成功地提交快閃記憶體。當該序列具有已登入的abort1標誌時,步驟1542,則清除涉及該序列號的全部登入項,因為原來的LBA資料已被動態隨機存取記憶體中序列號較大的新資料覆蓋寫入,不再需要移向快閃記憶體,步驟1544。當在該檢查點之前沒有剩餘更多序列號要檢查時,步驟1546,清除檢查點的登入項,步驟1548。
圖26C表示下次上電時在固態硬碟上完成的異常掉電檢查。為一個選定的序列號掃描登入項,步驟1550。當找到標誌compd2,步驟1556,或標誌abort1時,步驟1558,清除涉及該序列號的登入項,步驟1569,而若還有其他序列號,則選定其他序列號,步驟1552,重複該處理。
既找不到compd2,又找不到abort1標誌,步驟1556,1558,但找到標誌start2時,步驟1560,則讀出該LBA的資料,並產生檢查和,並與該登入的檢查和比較,步驟1564。當該檢查和匹配時,步驟1568,清除涉及該序列號的登入項,步驟1569,因為儘管異常掉電,該資料已被正確地寫入。
當檢查和發生不匹配,步驟1568,或找不到標誌start2時,步驟1560,則在異常掉電過程中把涉及該序列LBA報告給主機,作為一次失敗的資料寫入,步驟1562。清除涉及該序列號的登入項,步驟1569,而若還剩餘其他序列號,則選定其他序列號,步驟1552,並重複該處理。
圖26D表示主機下次上電時在該主機上完成的異常掉電檢查。從固態硬碟(步驟1562)接收失效資料寫入及其LBA位置的清單,並將其讀出,步驟1580,在該清單上選定一個失效的LBA,步驟1582。把該登入表上的業務號和該LBA對比,看它們是否相關,步驟1584。該LBA不相關時,步驟1586,可以選定該清單中其他的LBA,步驟1582。該LBA相關,步驟1586,而且找到compd標誌時,步驟1588,則重做該業務。檢查寫入業務登入中的每個LBA,並以該登入中記錄的新數值更新,步驟1592。找不到compd標誌時,步驟1588,則復原該業務。檢查該寫入業務登入中的每個LBA,並以該登入中記錄的老數值更新,步驟1590。當在該清單中還有更多失效的LBA時,步驟1594,則可以選定該清單上的其他LBA,步驟1582。
圖27是當非揮發性記憶體控制器負責把持續模式動態隨機存取記憶體影像存入其固態硬碟和從其中取出時,在主機上執行的引導載入程式的示意圖。在步驟530,主機300在上電引導時傳送一個訊號給非揮發性記憶體控制器,諸如圖7的訊號中央處理器_INIT。該非揮發性記憶體控制器從固態硬碟載入復原影像,而該主機控制器等待,步驟532。該主機等待非揮發性記憶體控制器發來成功或失效訊號,諸如利用訊號圖7的SUCCESS/FAIL。該非揮發性記憶體控制器把復原影像從它的動態隨機存取記憶體複製至中央處理器的動態隨機存取記憶體。根據SUCCESS/FAIL訊號,該中央處理器可以讀出復原影像。當復原影像被成功傳輸時,步驟534,則該主機中央處理器跳到復原影像的復原環境212,並在那裡開始執行,步驟538。然後,如圖16B所示,該處理繼續。
當復原影像載入失敗時,步驟534,則由該主機執行正常默認非持續模式上電引導例程,步驟536。
圖28A、圖28B顯示通過啟動隔離開關,使非揮發性記憶體控制器取得對主機板上的動態隨機存取記憶體和固態硬碟的控制,來備份IP動態隨機存取記憶體所指向的資料。在以持續模式掉電過程中,該主機沖洗和準備處理器環境207、中央處理器高速快取209和復原環境212,然後發出沖洗完成訊號,諸如通過啟動圖7的訊號中央處理器_HALT至該非揮發性記憶體控制器。然後,非揮發性記憶體控制器通過向隔離開關60(圖7)啟動開關控制訊號SW_CTL,把中央處理器和晶片組與動態隨機存取記憶體和固態硬碟隔離。這些開關隔離動態隨機存取記憶體和固態硬碟匯流排以便供非揮發性記憶體控制器使用,步驟854。給中央處理器的電源掉電,但是非揮發性記憶體控制器啟動電源開關控制訊號PWR_SW_CTL,以便從超級電容或本機電池組取得電力,步驟856。該隔離電源區包括非揮發性記憶體控制器、動態隨機存取記憶體和固態硬碟,於是與中央處理器和晶片組吸取的電力相比,吸取較少電力。
非揮發性記憶體控制器讀出IP動態隨機存取記憶體的內容,步驟858,並利用售主命令針對上電重新引導訊息資訊把該IP動態隨機存取記憶體的內容寫入固態硬碟,步驟860。
在圖28B中,該非揮發性記憶體控制器讀出該IP動態隨機存取記憶體的內容,從第一記錄啟動,步驟884。當第一位元是0xFF時,步驟874,則已經達到該IP動態隨機存取記憶體的末尾。在該固態硬碟中置位複製成功標誌,步驟878。然後,可以使非揮發性記憶體控制器停止操作。
對於其他記錄,步驟874,從下一個項目讀出指向資料起始地址的指針及其長度,步驟876。從動態隨機存取記憶體讀出所指向的資料並利用售主命令存入固態硬碟,步驟880。
圖29A、圖29B突出GND驅動器初始化過程中的模式選擇。在該主機引導的過程中當該GND驅動器初始化時,確定在上次掉電過程中所使用的供電模式。當該用戶進行選擇,步驟1204,但不使用持續模式時,步驟1206,則該GND驅動器把該模式設定為掉電模式,步驟1210。該復原影像應該在固態硬碟快閃記憶體中。
使用持續模式,步驟1206,而且在上次掉電過程中備份電源可用時,步驟1202則該GND驅動器把該模式設定為持續模式,步驟1208。復原影像應該在動態隨機存取記憶體中可用。
使用持續模式,步驟1206,而且在上次掉電過程中備份電源不可用時,步驟1202,則該GND驅動器把該模式設定為修改的持續模式,步驟1211。由於可用電力少只有少量的動態隨機存取記憶體被使用。動態隨機存取記憶體中的復原影像可能由於備份電源掉電而丟失。
當該用戶在提示時不作選擇,步驟1204,而且在上次掉電過程中備份電源可用時,步驟1205,則該GND驅動器把該模式設定為持續模式,步驟1208。復原影像應該在動態隨機存取記憶體中可用。在上次掉電過程中備份電源不可用時,步驟1205,則該GND驅動器把該模式設定為掉電模式,步驟1210。
圖30A至圖30C顯示UPS或電池組備份可用時該GND驅動器用的掉電例程。電源監測器例程查詢UPS或電池組的狀態,步驟1212,諸如通過從電源讀取交流電網狀態(在線或離線),並從電源讀取電池組標誌,當電池組能量保持66%或更大時該標誌可以指示高,而當剩餘33%時指示低,當剩餘5%時指示危急,指示充電,沒有電池組存在等。
當該狀態是交流離線時,步驟1214,從該電池組、UPS或其他電源獲得該電池組狀態,步驟1216。電池組容量高時,步驟1218,則關閉可以正常進行,如圖30B所示。該登入庫設定也可以針對正常關閉進行配置,步驟1220。否則,該GND驅動器連續地執行而且不關閉,但該GND驅動器關閉不必要的應用程式和業務,步驟1222,以便保存電池組電力。然後,該GND驅動器持續,諸如定期地監視電池組狀態,步驟1216。
在圖30B中,該電池組電平降低到關閉閾值以下,步驟1218,或該登入庫配置成關閉GND驅動器,步驟1220。當持續(PRST)模式不起作用時,步驟1226,則設定該電力保存完成標誌,步驟1230,並關閉全部程式,包括該GND驅動器,並關閉該主機電源,步驟1236。
當持續模式起作用,步驟1226,而且資料完整性標誌沒有設定時,步驟1228,則把全部裝置設定為DX狀態,在這裡各裝置停止活動,並等待關閉電源,步驟1232。關閉全部程式,包括該GND驅動器並關閉該主機電源,步驟1236。
當持續模式起作用,步驟1226,而且資料完整性標誌設定時,步驟1228,則所有其他裝置都設定為DX狀態,步驟1234。
在圖30C中,該主機動態隨機存取記憶體內容倒入非揮發性記憶體NVS檔案,諸如持續模式動態隨機存取記憶體影像203或帶有固態硬碟中影像的檔案,步驟1240。把倒入成功標誌寫入該固態硬碟,步驟1242,並使資料完整性標誌複位,步驟1244。該固態硬碟設定為DX狀態,步驟1248。關閉所有程式,包括該GND驅動器,並關閉該主機電源,步驟1246。
圖31A、圖31B顯示當UPS或電池組備份可用時該GND驅動器用的上電重新引導例程。電源監測器例程查詢UPS或電池組的狀態,步驟1262,諸如通過從電源讀取交流線路狀態(在線或離線)。當該狀態是交流在線時,步驟1264,從該電池組、UPS或其他電源獲得該電池組狀態,步驟1266。該電池組容量不低時,步驟1268,則在該主機上執行上電自檢(POST)例程,步驟1270。載入初始的記憶體影像並讀出記憶體對應,步驟1272。
在圖31B中,倒入成功標誌被設定時,步驟1276,則可以從固態硬碟讀出該固態硬碟中的NVS檔案,並載入主機動態隨機存取記憶體,步驟1280。然後,該主機執行喚醒例程,步驟1288。設定該資料完整性標誌,步驟1290,並為下次掉電使該倒入成功和上電安全完成標誌複位,步驟1292。
當倒入成功標誌沒有被設定,步驟1276,但上電安全完成標誌被設定時,步驟1278,則從固態硬碟載入該OS(作業系統)影像,步驟1282,並可以執行喚醒例程,步驟1288,並完成以下步驟1290,1292
倒入成功標誌沒有設定,步驟1276,而且上電安全完成標誌也沒有設定時,步驟1278,則載入OS復原程式,步驟1284,並載入OS復原程式產生的復原OS影像,步驟1286。然後執行喚醒例程,步驟1288,並完成以下步驟1290,1292。
圖32A-E顯示用戶選擇退出帶有控制中的GND驅動器的視窗(windows)程式。在圖32A中,當用戶進行切換時,步驟1650,關閉全部用戶對話方塊,步驟1654。把高速快取和緩衝區沖洗至固態硬碟,步驟1658,該用戶準備好進行新的用戶切換,步驟1656。用戶選擇登出時,步驟1600,關閉全部用戶對話方塊,步驟1604。把高速快取和緩衝區沖洗至固態硬碟,步驟1608,並登出該用戶,步驟1606。
在圖32B中,當該用戶選定鎖定時,步驟1660,向該用戶提示(輸入)他的密碼,步驟1664。鎖定該系統,步驟1666。當用戶選擇休眠時,步驟1670,暫停全部用戶對話方塊,步驟1674。進入休眠模式,步驟1676。
在圖32C中,當不啟動休眠時,步驟1602,除該固態硬碟外關閉全部用戶對話方塊,步驟1610。把高速快取沖洗至固態硬碟,步驟1612,並且不允許新的高速快取。關閉全部用戶模式應用程式,步驟1614,並關閉全部業務,步驟1616。繼續在圖32E中,關閉核心(程式),步驟1630,並關閉該固態硬碟,步驟1636。重新引導標誌設定時,步驟1640,則該系統重新引導,步驟1638,否則關閉該系統,步驟1642。
選定休眠時,步驟1602,則在圖32D中繼續處理。暫停全部應用,步驟1620。除該GND驅動器業務外暫停全部業務,步驟1622。查詢全部裝置,步驟1624,並用售主命令通知該固態硬碟準備暫停,步驟1626。除該固態硬碟外暫停全部裝置,步驟1628。把休眠檔案寫入該固態硬碟,步驟1632。該固態硬碟暫停操作,步驟1634,並進入休眠,步驟1644。
圖33A、圖33B顯示GND驅動器參數初始化程式。當該固態硬碟不是已知類型時,步驟1702,則利用幾個預定的測試來測試所連接的固態硬碟,步驟1704。分析研究該測試結果並最佳化參數,步驟1706。
該固態硬碟是已知類型時,步驟1702,則查詢該固態硬碟,步驟1708。該固態硬碟是標準類型時,步驟1710,從該固態硬碟獲得標準固態硬碟的識別碼(識別符),步驟1712。為標準固態硬碟選定匹配該標準固態硬碟的識別碼的參數,包括該固態硬碟分區對齊方式的調整,步驟1714。利用向該固態硬碟傳送的售主命令來禁止由GND驅動器100完成的某些重複的功能,諸如壓縮、加密、資料分割,步驟1720。
該固態硬碟不是標準類型時,步驟1710,向該固態硬碟傳送售主命令,以便取得有關所連接的固態硬碟的不同的訊息資訊,諸如通道號、快閃記憶體識別碼(識別每個快閃記憶體的容量、頁大小、區塊大小、面、SLC/MLC/TLC),動態隨機存取記憶體大小、韌體版本等,步驟1716。針對該固態硬碟最佳化諸如元頁大小等參數,以便最佳化性能,它包括固態硬碟分區對齊方式的調整,步驟1718。向該固態硬碟傳送售主命令來禁止在不同的層次上完成的某些重複的功能,諸如壓縮、加密和資料分割,步驟1720。
針對固態硬碟分區對齊方式,把固態硬碟分為由多個頁組成的區塊,和每個快閃記憶體區塊在重寫之前必須被完全刪除。若該固態硬碟控制器由於分區不對齊而不得不執行不必要的區塊刪除操作,則寫入速度將大受影響。適當的分區對齊方式是最關鍵的屬性之一,它可以大大提升固態硬碟的I/O性能和由於減少讀取-修改-寫操作而延長其預期壽命。
事實上,為了達到最好性能,該分區位移應該與多個與非頁面面大小(一般為8KB)、與非刪除區塊大小(一般為2MB)和檔案分配單元(在NTFS中默認叢集大小4KB)對齊。
下面介紹本發明涉及的綠色與非裝置(GND)驅動器。
總體上,當電源掉電時,具有持續模式的GND驅動器需要電池組電源備份。當電源異常掉電或被該用戶的選擇關閉時,它將被啟動。關閉電源或失效時,中央處理器狀態、高速快取和復原例程將首先被存入動態隨機存取記憶體,然後把動態隨機存取記憶體的內容存入固態硬碟。上電重新引導時,重新把以前的動態隨機存取記憶體內容從固態硬碟載入動態隨機存取記憶體。在這個模式下,和正常執行時,全部GND驅動器功能都未被啟動。
對於耐久性加持續模式,在正常執行過程中,啟動某些GND驅動器。該GND驅動器將在該主機和固態硬碟之間對資料讀寫進行加密/解密。另外,它還對該主機和固態硬碟之間的資料讀寫完成壓縮/解壓。另外,它對從主機向固態硬碟的寫入資料進行去複份。
資料管理器的資料分解器把資料分成不同的類型,諸如用戶資料、中繼資料、分頁和暫存。每種類型的資料都有它自己的寫入高速快取和元頁分組。它將部分頁面資料在傳送至固態硬碟之前組合成元頁,並對從固態硬碟至主機的元頁資料進行解分組。對於諸如服務器等環境,可以禁止資料管理器的資料分解器。
IP動態隨機存取記憶體可以用來識別動態隨機存取記憶體資料選定的部分,以便把該資料從動態隨機存取記憶體存入中央處理器控制的固態硬碟。對於性能加持續模式,可以完全啟用寫入高速快取和隨機存取記憶磁碟功能。
電源掉電時具有掉電模式的綠色與非裝置驅動器可以沒有電池組電源備份。當電源異常掉電或被用戶選擇關閉時,它將被啟動。在正常執行過程中,全部GND驅動器功能未被啟用。若意想不到地發生掉電而且不存在電池組備份電源,則仍然在動態隨機存取記憶體中處理的寫入資料將丟失。對於該耐久性加掉電模式,該備份電源可能不可用,諸如對於桌上型電腦。該GND驅動器將利用該主機動態隨機存取記憶體有限的一部分。正常執行時,GND驅動器將對該主機和固態硬碟之間讀寫的資料進行加密/解密。另外,它還完成該主機和固態硬碟之間讀寫資料的壓縮/解壓。另外,它對從主機寫入固態硬碟的資料進行去複份。
該資料管理器的資料分解器把該資料分成不同的類型,諸如用戶資料、中繼資料,分頁和暫存。每一種類型的資料將具有它自己的寫入高速快取和元頁分組。它在部分頁面資料傳送至該固態硬碟之前將其組合到元頁,並對從固態硬碟送往主機的元頁資料進行解分組。IP動態隨機存取記憶體可以用來識別動態隨機存取記憶體資料的選定部分,以便把來自動態隨機存取記憶體的資料存入受控於中央處理器的固態硬碟。隨機存取記憶磁碟可以用來改善暫存資料的性能,諸如暫時性網際網路,可以在意外掉電時使用。
在備份電源可用的環境下,諸如筆記型電腦、便攜式裝置或智慧型電話,可以使用性能加掉電模式。正常執行時可以使用寫入高速快取和隨機存取記憶磁碟。上述六種方式可以使用事務管理器來保證資料完全寫入或傳送到該固態硬碟。這六種模式也可以使用設定,諸如索引、搜尋索引、清除碎片、主機休眠、預先擷取、超級擷取、寫入高速快取和寫入高速快取緩衝區沖洗,以便最佳化該系統,以達到最佳的耐久性和性能結果。另外,該GND驅動器還可以整合到OS和BIOS環境中並使該系統更健壯。
替代的實施例
本發明人設想了幾個其他實施例。例如,可以使用許多電源、電池組、超級電容等類型並進行不同的組合。可以用各種各樣的方法實現隔離開關。在主機板上可以有一個以上的隔離電源區。
儘管上面已經描述了把寫滿的元頁移到該SEED、固態硬碟或快閃記憶體,但也可以在完全寫滿之前移動幾乎寫滿的元頁。因而,寫滿可以指在某個寫滿閾值內,諸如元頁大小減去512位元。
可能採用資料類型位及其他狀態字段、指針等的許多編碼。資料類型狀態位不必是一個項目內的第一位。登錄項目可以連接到其他表中的登錄項目,諸如具有一個分立的表,用於標記或有效位。暫存檔可以有各種各樣的副檔名,而新的副檔名可以被加到搜尋清單中。由眾所周知的程式,諸如字處理器和網際網路瀏覽程式建立的暫存檔具有眾所周知的檔案副檔名,但任何時候都可以增加附加的副檔名。這些附加檔案副檔名可以通過韌體更新至SEED和固態硬碟驅動器用的控件軟體,用軟體更新到固態硬碟應用程式180和VMD驅動器100。
ETL每個部分所使用的動態隨機存取記憶體緩衝區的尺寸可以由該固態硬碟控制器的韌體固定。另外,ETL的每個部分還可以由控制器韌體自動地或手工根據用法或用戶的喜好動態地調整。由於動態隨機存取記憶體緩衝區的大小有限,不能在其中同時容納ETL的全部功能。不同的ETL功能可以與實際的工作環境相適應。該控制器可以調整每個ETL所使用的尺寸,以便最佳化動態隨機存取記憶體緩衝區。適應性調整可以根據該裝置所使用的模式定期完成。
對於TLC快閃記憶體裝置,動態隨機存取記憶體緩衝區可以用諸如相變化記憶體(PCM)、鐵電隨機存取記憶體(FRAM)、磁阻RAM(MRAM)、Memristor、PRAM、電阻式RAM(RRAM)、Racetrack記憶體和納米RAM(NRAM)等NVRAM代替。NVRAM的優點是全部ETL支持的表等可以保持在NVRAM中(不必放在快閃記憶體中)及以其他快閃記憶體為目的地的資料(諸如資料寫入高速快取等),甚至在關閉電源時仍能維持,於是甚至當電源突然關閉時也不再需要備份電源電路。tmp(暫存)等和對應表,和讀取高速快取和對應表可以在掉電或下次上電初始化時任選地棄置。除MLC外,NVRAM的缺點是成本高。對於MLC,缺點是速度緩慢和寫入/刪除次數有限。MLC可以通過分配TLC只具有強頁編程的一部分從TLC衍生。一些ETL功能可以在SEED固態硬碟200中的靜態隨機存取記憶體(Static Random-Access Memory, SRAM)中實現。
在TLC快閃記憶體裝置中,動態隨機存取記憶體緩衝區也可以用諸如動態隨機存取記憶體+SRAM,動態隨機存取記憶體+MLC、動態隨機存取記憶體+PCRAM或動態隨機存取記憶體+MRAM的組合代替。當使用動態隨機存取記憶體緩衝區的組合,諸如動態隨機存取記憶體+MLC時,ETL支持的功能在動態隨機存取記憶體中管理,但是它們的某些存入MLC。最後可以棄置動態隨機存取記憶體緩衝區中的一些資料,諸如電源關閉時不移到MLC的暫存資料和對應表,和讀取高速快取和對應表。當電源關閉時需要保持的表和資料,諸如區塊刪除計數表、頁面狀態表、S.M.A.R.T.資料收集器等,當電源突然關閉時需要貯存至MLC。複製至MLC比複製到TLC快閃記憶體快。在服務器應用的情況下,暫存資料和對應表,和讀取高速快取和對應表不能棄置;當電源突然關閉時那些區域將利用電源備份存入MLC。另一個途徑是確保動態隨機存取記憶體的ETL中有意義的資料拷入MLC。在關閉電源的情況下,資料中的有效複製可以保持在MLC中。上電時,ETL中的資料可以從MLC裝回動態隨機存取記憶體。該複製方法可以通過記錄較小的差異進行修改,這將減少資料複製次數,並因此減少寫入MLC的次數。
動態隨機存取記憶體和MLC或動態隨機存取記憶體和SLC不必使用不同類型的快閃記憶體196, 342,諸如SLC、MLC、TLC、QLC、PLC、3DNAND等。反而,該MLC可以通過分配TLC只具有強頁編程的一部分從TLC衍生。該SLC可以通過分配MLC、TLC、QLC、PLC等中只有強頁編程的一部分,由MLC、TLC、QLC、PLC等衍生。例如,增強TLC快閃記憶體可以通過利用諸如用作SLC(強頁面)的TLC的1/4和TLC的提醒物(弱頁面)配置成SLC(帶有強頁)的一部分實現。或TLC的一部分配置成MLC(強頁面),而提醒物配置成TLC(弱頁面)。另外,編程/刪除管理器41(圖14)可以減慢頁面寫入和區塊刪除時間,以幫助延長該快閃記憶體單元氧化物層的壽命。較慢頁面寫入/區塊刪除時間可以應用于增強TLC快閃記憶體,以便以減少保持時間為代價增大耐久性。利用重新整理管理器202可以延長保持時間。由於該增強TLC快閃記憶體包括SLC(強頁面)和TLC(弱頁面)和帶有不同保持時間,重新整理管理器202可以追蹤區塊作為SLC(強頁面)或TLC(弱頁面)的用法,然後相應地調整重新整理時間。作為另一方案,增強TLC快閃記憶體可以用配置成SLC(強頁面)用法的TLC一部分,諸如用作SLC(強頁面)的TLC的1/4實現。類似地,MLC可以用作SLC(強頁面)/MLC(弱頁面)的組合,而QLC可以用作諸如SLC(強頁面)/QLC(弱頁面)、MLC(強頁面)/QLC(強頁面)、TLC(強頁面)/QLC(強頁面)的組合或SLC/MLC/TLC/QLC的任何結合。作為另一方案,MLC可以用作SLC(強頁面)等。另外,上述功能也可以在SEED固態硬碟200中實現。
這裡描述的耐久性技術試圖解決與非快閃記憶體的耐久性問題。有幾種非揮發性記憶體,諸如MRAM、PCM、RRAM、Memristors、NRAM等,它們利用競爭技術來代替與非快閃記憶體。
超級耐久快閃隨身碟可以與硬碟驅動器(HDD)結合,帶有作為高速快取的超級耐久快閃隨身碟和作為記憶體的HDD。超級耐久快閃隨身碟具有高的耐久性,而且是比高速快取更適用。可以為該混合裝置改善總體性能。確保動態隨機存取記憶體的ETL中有意義的資料的另一個途徑是複製至HDD。在關閉電源的情況下,ETL中資料的有效複製可以保存在HDD中。上電時,ETL中的那些資料可以從HDD裝回動態隨機存取記憶體。該複製方法可以通過記錄較小的差異修改,這將減少複製資料的數量,並因此減少至HDD的寫入。
OS的引導影像可以是預先載入動態隨機存取記憶體緩衝區,以加速主機上電引導。一旦上電引導過程結束,便釋放動態隨機存取記憶體緩衝區,供隨後的正常執行使用。該主機進入休眠模式或待機模式時,無效的動態隨機存取記憶體緩衝區可以寫入快閃記憶體。當該主機的用戶登出時,該無效的動態隨機存取記憶體緩衝區可以寫入快閃記憶體。
寫入資料的分組不限於以一頁作為一個單元。資料可以分組輸入一個較大的單元,諸如多頁(元頁)和整塊等。
儘管已經把主機存取的資料類型分類描述為來自該主機的邏輯地址與一個或多個地址範圍的比較,但這個比較可以只把邏輯地址的一部分與代表該位址範圍的範圍加以比較。另外,資料類型可以通過針對某種形式,諸如FAT形式或FDB形式,分析主機寫入資料進行識別。另外,早期主機按順序寫入可以針對其資料格式進行檢查。該FAT檔案系統已經用作示例。FDB/FAT是FAT檔案系統的中繼資料。其他檔案系統,諸如LINUX、Apple OS和Android等都有它們自己的中繼資料,帶有不同的名字,但卻等效。
每個區塊都可以分為多頁區。例如,一個區塊可以有16頁和4個區,每個區4頁。在這替代的實施方案中,一些對應可以針對區而不是針對單個的頁或區塊作為另一方案,在一種特殊情況下可以每區有一頁。採用區模式比採用頁模式需要較少的對應登錄項目,因為每個區有多個頁。
來自該主機的邏輯磁區位址(LSA)的高幾位可以選擇叢集或區。對應表中的全部登錄項目都可以針對同一區。當來自LSA的該區號與對應表中所有登錄項目的區號匹配時,該來自LSA的LBA選擇對應表的一項。也可以使用混合或多級對應表。因為針對FAT1/2, LBA的範圍是已知的,所以表內容資料類型位“100”可以省略。該對應表可以具有區塊或頁的粒紋。
複製區塊來重定位較不常採用頁對應,因為在頁模式下比在區塊模式下較少違反非SLC快閃記憶體的順序寫入規則。這增強該快閃記憶體系統的耐久性並提高性能。
該對應表可以位於擴展位址空間,並可以使用大於用戶位址空間最大位址的虛擬位址或非法位址。頁可以保留主機內的頁順序,或者可以重對應至任何頁位置。在另一個實施例中,諸如針對資料中心應用,分頁和暫存檔可以作為正常用戶資料處理,以簡化控制器操作,但以快閃記憶體的耐久性為代價。利用動態隨機存取記憶體緩衝區而不是快閃記憶體作為耐久性備用/交換緩衝區,該耐久性備用/交換區域可以提供擴展的超量配置。關閉電源時,需要備份電源來把備用/交換資料寫入快閃記憶體。該備份電源可以是電容、超級電容、電池組或UPS。在主機已經提供壓縮功能的情況下可以任選地關閉壓縮功能。在其他實施例中,該控制器可以把分頁檔案作為用戶資料檔案處理,以簡化控制器功能。
對這些方塊圖可以作許多改動。諸如EEPROM等ROM可以連接到一個控制器或其一部分,和針對虛擬存儲處理器被專用於貯存韌體。該韌體還可以存入主快閃記憶體模組。主機介面匯流排可以是序列AT附加(SATA)匯流排、週邊元件快速互聯(PCIe)匯流排、緊湊快閃記憶體(CF)匯流排或通用序列匯流排(USB)、NVMe、韌體(Firewire)1394匯流排、光纖通道(FC)匯流排、不同的乙太網匯流排等。SCFD可以只包括SLC或MLC快閃記憶體,或可以結合SLC/MLC快閃記憶體。
快閃記憶體可以嵌入主機板或固態硬碟電路板或可以處於分立模組上。可以增加電容、緩衝區、電阻及其他元件。該控制器可以整合在主機板上或在一個分立的電路板或模組上。快閃記憶體可以與該控制器或與粗與非快閃記憶體晶片整合在一起,作為單晶片裝置或插入模組或電路板。
利用多級控制器,諸如控制器的總統-州長配置(president-governor arrangement)、對於損耗分級、壞塊管理、再對應、高速快取、電源管理等,SEED中的控制器可以比單級控制所要求的簡單一些。在該控制器中可以使用成本較低的硬體,諸如利用8051處理器作控制器或虛擬存儲處理器或事務管理器,而不是功能更強大的處理器,諸如先進RISC機器ARM-9中央處理器核心。針對某些應用,可以考慮功能更強大的處理器。
不同數目和安排的快閃記憶體區塊可以連接至該SEED。與其使用一個LBA儲存匯流排介面或差分序列分組匯流排,還不如使用其他序列匯流排,諸如同步雙資料速率(DDR)、ONFI、切換與非、差分序列分組資料匯流排、傳統的快閃記憶體介面等。
模式邏輯可以只在上電時檢測一個腳位的狀態,而不是檢測一個專用腳位的狀態。腳位狀態的某種結合或狀態序列可以用來初始化一個模式改變,或內部暫存器,諸如配置登入可以設定該模式。多匯流排協議晶片可以有一個附加的個性化腳位,用來選擇使用哪一種序列匯流排介面,或可以具有可編程暫存器,把模式設定為集線器或開關模式。
可以以各種各樣的方法實現事務管理器、控制器、處理和功能。功能和處理可以用中央處理器或其他處理器編程和執行,或可以用專用硬體、韌體或某些結合實現。可以代替該功能的許多分區。該SEED控制器可以是硬體或,或者可以包括韌體或軟體或其結合。
使用奇偶校驗/錯誤修正碼帶有多個快閃記憶體通道,和把資料段剝成多個非揮發性記憶體區塊,大大改善總體系統的可靠性。例如,第九快閃記憶體晶片可以與快閃記憶體介面一起使用。其他八個晶片的奇偶位寫入第九快閃記憶體晶片,以便在八個快閃記憶體晶片之一遭到致命的讀出差錯時,為資料提供額外的保護。但是,可能要求中央處理器引擎與DDR/S動態隨機存取記憶體高速快取一起使用,以便滿足複雜的錯誤修正碼/奇偶計算和產生的計算能力要求。其他好處是,即使一個快閃記憶體區塊或快閃記憶體模組損壞,資料仍舊可以復原,或該SEED可以初始化“故障復原”或“自動重建”處理,來插入一個新的快閃記憶體模組,並復原或重建該“丟失”或“損壞”的資料。系統的總體容錯得以顯著改善。
通過把電子注入快閃記憶體單元的浮動閘極可以將其編程。快閃記憶體控制頁面寫入時的電子注入,使得它停留的兩個基準電壓電平內。該與非快閃記憶體結構的位線連接到一串32個單元,而每個單元還連接到32條不同的字線。一個單元寫入資料之後,對相鄰單元的讀和寫都將導致對該單元的干擾。該干擾將向該單元的浮動閘極注入電子或由其中去除。另外,長的時間週期將影響該單元浮動閘極上的電子數目。由於浮動閘極上電子數量的改變,於是當讀出時輸出電壓電平將偏移。若輸出電壓電平的偏移跨越基準電壓邊界,則讀出結果將是錯的。
加寬或收窄資料匯流排,而快閃記憶體晶片可以用諸如帶有16或32位資料通道代替。替代的匯流排體系結構帶有疊壘或分段匯流排可以在SEED的內部或外部使用。可以在該SEED內使用兩個或多個內部匯流排以增大處理量。更複雜的開關組織可以代替內部或外部匯流排。
可以用各種各樣的方法完成資料剝離,諸如可以用奇偶位和錯誤修正碼。分組重新排序可以根據資料安排加以調整,用以避免針對重疊存儲位置重新排序。該SEED可以與其他元件整合在一起,或者可以是一個獨立的晶片。
可以增加附加的流水線或暫存緩衝區和先進先出(FIFO)堆疊。可以在每個通道中設定單獨的頁緩衝區。可以增加時脈來源。
單一封裝、單一晶片或多晶片封裝可以包含快閃記憶體和/或SEED或固態硬碟的多個通道中的一個或多個。本發明不限於SCFD的用法。SCFD可以是用任何類型的帶有非揮發性快閃記憶體的非揮發性裝置和控制器代替。
基於MLC的快閃記憶體裝置可以具有四個MLC快閃記憶體晶片,帶有兩個並行資料通道,但也可以用不同的組合來形成其他快閃記憶體模組,例如,四個,八個或更多資料通道,或八個,16個或更多MLC晶片。該快閃記憶體裝置和通道可以接成鏈、分支或陣列。例如,4個快閃記憶體裝置的分支對於該SEED可以連接成一條鏈。可以把聚集或分區方案的其他尺寸用於對該記憶體的不同的存取。
主機可以桌上型電腦主機板或其他PC平臺,諸如伺服器、筆記型電腦、小筆電(Netbook)、平板輸入器、智慧型電話、移動通訊裝置、個人數位助理(PDA)、數位攝影機、生產工具或測試器、結合器裝置或其他裝置。主機匯流排或主機裝置介面可以是SATA、PCIE、雷電(Thunderbolt)、SD、USB、NVMe、eMMC、iSSD或其他主機匯流排,而快閃記憶體模組的內部匯流排可以是PATA;利用多個SD/MMC的多通道固態硬碟、緊湊快閃記憶體(CF)、USB或其他並列介面。快閃記憶體模組可以是標準PCB或可以是多晶片模組封裝在TSOP, BGA, LGA, COB, PIP, SIP, CSP, POP上或多晶片封裝(MCP)和可以包括原始反及(raw-NAND)快閃記憶體晶片或原始反及(raw-NAND)快閃記憶體晶片可以是在分立的快閃記憶體晶片中,或其他類型非揮發性記憶體非揮發性記憶體,諸如雙穩電路、ONFI、eMMC、iSSD、3D NAND。SEED固態硬碟可以使用帶有RAID的eMMC,而eMMC可以使用SEED結構。內部匯流排可以完全或部分地共享或可以是單獨的匯流排。固態硬碟系統可以使用帶有其他元件,諸如LED指示器、電容、電阻等的印刷電路板。可以在一級或多級上增加電源管理。該SEED 固態硬碟可以與或不與VMD驅動器一起工作。PCIe RAID 動態隨機存取記憶體高速快取卡可以包含一個VMD驅動器和多個SEED結構化固態硬碟。
方向術語,諸如上面、下面、向上、向下、頂部、底部等是相對的和隨著系統或資料旋轉可變的,翻轉過來等。這些術語針對描述裝置是有用的,但不想絕對化。
非揮發性記憶體快閃記憶體可以在快閃記憶體模組中,後者可以有一個封裝在一個單一的晶片封裝中的控制器和快閃記憶體片芯,它們不是可以整合在PCBA上,就是直接在主機板上,以便進一步簡化裝配、降低製造成本和減少總厚度。另外,快閃記憶體晶片還可以與其他實施例配合使用,包括開放幀卡(open frame card)。
與其使用一個只用於快閃記憶體的控制器,還不如可以增加一些附加的特徵。例如,音樂播放器可以包括一個從存入快閃記憶體的MP3資料播放音頻用的控制器。可以把一個音頻插口加到該裝置上,以便允許用戶插入耳機來傾聽音樂。可以把諸如藍牙傳送器等無線傳送器加到該裝置上,以便連接至無線耳機,而不用音頻插口。也可以增加諸如IrDA用的紅外傳送器。還可以增加藍牙無線電收發兩用機至無線滑鼠、PDA、鍵盤、列印機、數字攝影機、MP3播放器或其他無線電裝置上。該藍牙無線電收發兩用機可以代替該連接器,作為初級連接器。藍牙適配器裝置可以具有連接器、RF(射頻)無線電收發兩用機、基帶控制器、天線、快閃記憶體(EEPROM)、電壓調節器、晶體、LED(發光二極管)、電阻、電容和電感。這些元件可以在包入塑料或金屬罩之前設定在PCB上。
資料的尺寸,諸如磁區、頁、區塊可以多樣化。一個磁區可以有512位元,一頁可以有16個磁區,而一區塊可以有128頁,正如許多實施例中的一個。
作為另一方案,ETL中的寫入資料可以用快閃記憶體控制器裝箱和一對一地登入到資料寫入高速快取,作為一個頁單元。增加標頭,以顯示該資料與主機LBA的關係。單獨裝箱的表把來自該主機的LBA對應到資料寫入高速快取元頁單元中資料和標頭位置的位移。該資料寫入高速快取的尺寸可以有兩個以上元頁單元的容量。當該資料寫入高速快取寫滿或消逝的時間已到時,一個選定的元頁單元將從該資料寫入高速快取移至快閃記憶體。該裝箱的表把來自該主機的LBA對應到資料和標頭在該快閃記憶體元頁單元中位置的位移。在覆蓋寫入來自主機的老資料時,若該裝箱的資料仍在資料寫入高速快取中,則可以通過上移該裝箱資料加以棄置,把老舊資料附後寫入資料寫入高速快取,並更新該裝箱的表。否則,若該裝箱的資料是在快閃記憶體中,則把新的和老的資料加以比較,並產生差異(delta)資料,以顯示該差異。該差異資料及其標頭將附在該資料寫入高速快取後面。該新的標頭還將包括以前的老舊資料的位置。該裝箱的表將把該LBA對應到差異資料位置。
先前技術段落可以包含有關本發明的問題或環境的背景訊息資訊,而不是通過其他來描述習知技術。因而包括在先前技術段落中的內容並非是申請人承認習知技術。
這裡描述的任何方法或處理是機器實現的或電腦實現的,而且是想要由機器、電腦或其他裝置完成,而不是想要在沒有這樣的機器輔助的情況下完全用人完成。所產生的實際的結果可以包括報告或其他機器在顯示裝置,諸如電腦監視器、投影裝置、音頻產生裝置和有關多媒體裝置上產生的顯示,並可以包括也是由機器產生的列印的硬複製。其他機器的電腦控制是其他實際結果。
以上之敘述僅為本發明之較佳實施例說明,凡精於此項技藝者當可依據上述之說明而作其它種種之改良,惟這些改變仍屬於本發明之發明精神及以下所界定之專利範圍中。
儘管本文較多地使用了相關電腦術語,但並不排除使用其它術語的可能性。使用這些術語僅僅是為了更方便地描述和解釋本發明的本質;把它們解釋成任何一種附加的限制都是與本發明精神相違背的。
5‧‧‧RAID
12‧‧‧動態隨機存取記憶體介面
14‧‧‧多通道快閃記憶體介面
16‧‧‧主機介面
17‧‧‧多通道eMMC介面
18‧‧‧安全刪除管理器
19‧‧‧eMMC主機介面
20、38、120‧‧‧高速快取
39‧‧‧自我檢測、分析報 告(S.M.A.R.T.)功能
40‧‧‧損耗分級器
41‧‧‧編程/刪除管理器
42‧‧‧修剪管理器
43‧‧‧沖洗復原管理器
48‧‧‧表管理器
50‧‧‧RAID控制器
52‧‧‧本地命令隊列(NCQ)管理器
60、62、311、426、432、434‧‧‧開關
64、376‧‧‧電源
67‧‧‧主機電源輸入
70、428、430‧‧‧非揮發性記憶體控制器
72‧‧‧固態硬碟記憶體介面
74‧‧‧動態隨機存取記憶體控制 器
76‧‧‧中央處理器
80‧‧‧啟動晶片組
82‧‧‧記憶體介面
84‧‧‧動態隨機存取記憶體控制 器
100‧‧‧驅動器
106‧‧‧壓縮/加密引擎
108‧‧‧資料分割管理器
113、114、116‧‧‧元頁分組
124‧‧‧暫存檔案區
126‧‧‧沖洗/復原管理器
132‧‧‧資料讀出高速快取
134‧‧‧分組器
136‧‧‧解分組器
138‧‧‧硬碟最小介面驅動器
172‧‧‧分區管理器
174‧‧‧硬碟類驅動器
176、351、419‧‧‧備份電源
178‧‧‧操作系統核心
180‧‧‧固態硬碟應用程式
181‧‧‧固態硬碟家庭清掃
182‧‧‧用戶應用程式
184‧‧‧登入庫和OS設定
186‧‧‧組態設定
188‧‧‧隨機存取記憶磁碟
190‧‧‧上層檔案過濾器
192‧‧‧SEED控制器
194‧‧‧固態硬碟動態隨機存取記 憶體緩衝區
195‧‧‧電源備份
196、342‧‧‧與非快閃記憶體
200、200’、200”、303‧‧‧SEED固態硬碟
201‧‧‧固態硬碟驅動器磁碟區
202‧‧‧重新整理管理器
203‧‧‧動態隨機存取記憶體影像
204‧‧‧資料分割管理器
205‧‧‧eMMC
206‧‧‧錯誤頁面管理器
207‧‧‧處理器環境
208‧‧‧超量配置
209‧‧‧中央處理器高速快取
212‧‧‧復原環境
213‧‧‧IP動態隨機存取記憶體
214‧‧‧隨機存取記憶磁碟
216‧‧‧復原管理器
218‧‧‧調度程式
240‧‧‧加密/解密引擎
242‧‧‧壓縮/解壓引擎
243‧‧‧去複份引擎
244、346‧‧‧安全設定
246‧‧‧智慧型資料監測器
248‧‧‧電源/中央處理器監測器
249‧‧‧省電模式
250‧‧‧隨機存取記憶磁碟驅動器
251‧‧‧PRST模式
253‧‧‧掉電模式
254‧‧‧目標分配器
255‧‧‧靜止模式
256‧‧‧性能調整器
257‧‧‧休眠模式
259‧‧‧登出模式
260‧‧‧任務優先級分配器
261‧‧‧切換用戶模式
262‧‧‧事務系統
263‧‧‧鎖定模式
264‧‧‧檔案優先級分類
265‧‧‧重啟模式
266‧‧‧檔案系統驅動器
268‧‧‧下層檔案過濾器驅動器
270‧‧‧磁碟管理器
300、375‧‧‧主機
301‧‧‧高速快取控制器
305‧‧‧電源管理
309‧‧‧記憶體控制器
338‧‧‧錯誤修正碼管理器
339‧‧‧錯誤修正碼/LDPC管理器
340、368‧‧‧動態隨機存取記憶體
343‧‧‧多媒體卡(eMMC)
345‧‧‧SEED SRAM
348‧‧‧暫存管理器
350‧‧‧中央處理器
354‧‧‧動態隨機存取記憶體插槽
356‧‧‧事務管理器
357‧‧‧固態硬碟
358、358’‧‧‧電源區
360、360’、360”‧‧‧耐久性控制器
361、361’‧‧‧主機板
363’‧‧‧耐久性RAID控制器
364、366‧‧‧固態硬碟
370‧‧‧分步直流-直流轉換器
406、408、410、412、414、416‧‧‧直流-直流轉換器
372‧‧‧直流-直流逆變器
376‧‧‧電源
380‧‧‧電池組
382‧‧‧功率開關
388‧‧‧電容
390‧‧‧晶體管
392‧‧‧電阻
394‧‧‧二極管
396‧‧‧電感
398‧‧‧齊納二極管
402‧‧‧電容
418‧‧‧掉電檢測器
420‧‧‧功率整流器
422‧‧‧升壓器
圖1是主機上GND應用程式和驅動器的方塊示意圖,它在主 機和具有低耐久性快閃記憶體的超級耐久快閃隨身碟上都建立和管理多個高速快取和隨機存取記憶磁碟。 圖2A、圖2B表示更詳細的示意圖,突出主機上的固態硬碟 驅動器。 圖3A是一個帶有耐久性控制器的超級增強耐久性裝置(SEED 的方塊示意圖。 圖3B是帶有一個在eMMC中儲存資料的耐久性控制器的超級 增強耐久性裝置(SEED)的方塊示意圖。 圖3C是帶有耐久性控制器的超級增強耐久性裝置 (SEED)eMMC的方塊示意圖。 圖4A至圖4C是表示掉電和持續方式、為通過GND驅動器寫 入而進行的資料分割和分組的流程圖。 圖5A至圖5C是為針對掉電和持續方式通過GND驅動器讀出 而進行的資料分類和解分組的流程圖。 圖6是帶有備份電源的主機板示意圖。 圖7是帶有非揮發性記憶體控制器電源隔離的主機板示意圖。 圖8表示在處理器間的記憶體中登錄項目。 圖9是帶有RAID耐久性控制器的PCIe SEED 固態硬碟的方 塊示意圖。 圖10是一個前端備份電源的示意圖。 圖11表示主機板上非揮發性記憶體控制器用的內部電源樹。 圖12A至圖12C突出非揮發性記憶體控制器和非揮發性記憶 體控制器用的隔離電源開關。 圖13表示帶有整合開關的非揮發性記憶體控制器。 圖14A、圖14B顯示主機上動態隨機存取記憶體持續方式用的掉電 例程。 圖15A、圖15B顯示PCIe RAID控制器的動態隨機存取記憶 體持續方式用的掉電例程。 圖16A、圖16B顯示主機上動態隨機存取記憶體持續方式用 的引導載入例程。 圖17A、圖17B顯示PCIe RAID 控制器動態隨機存取記憶體 持續方式用的上電重新引導例程。 圖18A、圖18B顯示由本機固態硬碟執行的GND應用程式例 程。 圖19是固態硬碟投入使用的驅動器用的定期例程。 圖20A、圖20B顯示由USB裝置執行的GND應用程式例程。 圖21A、圖21B是USB投入使用的驅動器用的定期例程。 圖22A、圖22B顯示帶有電池組、持續和正常掉電模式的筆 記簿電源監測器的操作。 圖23A、圖23B顯示帶有電池組備份、持續和正常掉電模式 的桌上型電腦電源監測器的操作。 圖24A、圖24B顯示帶有UPS備份、持續和正常掉電模式的 服務器電源監測器的操作。 圖25A至圖25C顯示帶有電池組、持續和正常掉電模式的PCIe RAID控制器用的電源監測器例程。 圖26A至圖26D顯示涉及登入的例程。 圖27是當非揮發性記憶體控制器把影像存入其動態隨機存取 記憶體時,在主機上執行的引導載入程式的示意圖。 圖28A、圖28B顯示通過啟動隔離開關以備份IP動態隨機存 取記憶體所指向的資料,取得主機板控制權的非揮發性記憶體控制器。 圖29A、圖29B突出在GND驅動器初始化過程中的模式選擇。 圖30A至圖30C顯示當UPS或電池組備份可用時GND驅動 器的掉電例程。 圖31A、圖31B顯示當UPS或電池組備份可用時GND驅動器 用的上電重新引導例程。 圖32A至圖32E顯示採用GND驅動器時不同的window退出 程式。 圖33A、圖33B顯示GND驅動器參數初始化程式。
100‧‧‧驅動器
176‧‧‧備份電源
178‧‧‧操作系統核心
180‧‧‧固態硬碟應用程式
181‧‧‧固態硬碟家庭清掃
182‧‧‧用戶應用程式
184‧‧‧登入庫和OS設定
186‧‧‧組態設定
188‧‧‧隨機存取記憶磁碟
190‧‧‧上層檔案過濾器
192‧‧‧SEED控制器
194‧‧‧固態硬碟動態隨機存取記憶體緩衝區
195‧‧‧電源備份
196‧‧‧與非快閃記憶體
200、303‧‧‧SEED固態硬碟
240‧‧‧加密/解密引擎
242‧‧‧壓縮/解壓引擎
243‧‧‧去複份引擎
266‧‧‧檔案系統驅動器
268‧‧‧下層檔案過濾器驅動器
270‧‧‧磁碟管理器
300‧‧‧主機
301‧‧‧高速快取控制器
305‧‧‧電源管理
309‧‧‧記憶體控制器
311‧‧‧開關

Claims (34)

  1. 一種具有綠能資料持續模式的裝置驅動器,包含:一持續處理器影像產生器,其係為在當持續模式掉電例程被啟動,用以產生主機處理器影像時,該持續處理器影像產生器把來自主機處理器狀態和來自處理器高速快取記憶體的資料複製到揮發性記憶體;一持續復原影像,其係為在當持續模式掉電例程被啟動時,儲存在該揮發性記憶體中的復原影像;一持續影像產生器,其係為在當持續模式掉電例程被啟動時,把來自主機揮發性記憶體的資料複製到快閃記憶體中,以產生持續復原影像,其中當電源充足時,持續模式被啟動和執行而能夠用於啟動和執行持續模式,所述啟動是指持續模式掉電例程被啟動;一復原影像載入器,其係為在掉電後,當持續模式例程再次被啟動時,從快閃記憶體把該持續復原影像讀到主機揮發性記憶體,並從該揮發性記憶體執行該持續復原影像,以復原主機處理器影像;一持續模式電源/電池組監視器,其係為在當檢測出掉電時,它從備份電源讀出電源狀態線,並為電池組讀出電池組狀態;以及一掉電例程模組,當該電池組狀態指出電力低於一個閾值並表明掉電時,掉電例程模組被啟動並啟動掉電例程。
  2. 如請求項1所述的具有綠能資料持續模式的裝置驅動器,更包括一持續模式寫入高速快取記憶體,用以把主機寫入資料存入一個動態隨機存取記憶體。
  3. 如請求項1所述的具有綠能資料持續模式的裝置驅動器,更包括:一持續模式隨機存取記憶磁碟,用以把資料存入一個動態隨機存取記憶體。
  4. 如請求項1所述的具有綠能資料持續模式的裝置驅動器,更包括:一用戶介面,用以接收用戶選擇,當用戶選擇禁止持續模式時,啟用該掉電例程並禁止持續模式例程;其中持續模式例程能正常使用時被使用者停用掉,在那狀況下,掉電時持續模式例程不會被啟動。
  5. 如請求項1所述的具有綠能資料持續模式的裝置驅動器,更包括:一分組引擎,用以把存於資料寫入高速快取的資料分組輸入元頁。
  6. 如請求項1所述的具有綠能資料持續模式的裝置驅動器,更包括:一持續模式模組,具有一組策略,用以觸發無效資料從該揮發性記憶體中的高速快取寫入該快閃記憶體,其中該組策略包括高速快取中的閾值電平無效資料、時間週期、由該用戶指定的特殊資料類型或寫滿的高速快取。
  7. 如請求項1所述的具有綠能資料持續模式的裝置驅動器,更包括:一上層檔案過濾器驅動器,用以在主機上執行,以便攔截向快閃隨身碟的上層主機寫入;以及一下層檔案過濾器驅動器,用以在主機上執行,攔截下層檔案系統主機寫入到快閃隨身碟,並把該下層檔案系統主機寫入傳送到資料分割管理器,以便對主機寫入資料進行分類。
  8. 如請求項7所述的具有綠能資料持續模式的裝置驅動器,更包括:一加密引擎,耦合來接收被攔截的上層主機寫入,以便產生加密資料。
  9. 如請求項7所述的具有綠能資料持續模式的裝置驅動器,更包括:一壓縮引擎,耦合來接收被攔截的上層主機寫入,以便產生壓縮資料和加壓對應表。
  10. 如請求項7所述的具有綠能資料持續模式的裝置驅動器,更包括: 一去冗餘引擎,耦合來接收被攔截的上層主機寫入,以便產生無冗餘對應表。
  11. 如請求項1所述的具有綠能資料持續模式的裝置驅動器,更包括:一事務管理器,用於事件登入,指示資料寫入快閃記憶體的開始和完成;以及一據復原管理器,用以讀出由該事務管理器登入的事件,以便在電源復原之後撤銷或重做向快閃記憶體的寫入。
  12. 如請求項1所述的具有綠能資料持續模式的裝置驅動器,更包括:一組態設定管理器,用來改變設定,以改善快閃記憶體耐久性和性能,該設定包括驅動索引、搜尋索引、頁面檔案大小、系統復原、休眠、寫入高速快取、預先擷取、超級擷取、資源回收筒大小、登入、可靠性監視器、和隨機存取記憶磁碟中的至少一個設定或多個設定。
  13. 如請求項1所述的具有綠能資料持續模式的裝置驅動器,其中所述的持續復原影像更包括:一處理器間動態隨機存取記憶體,受該主機處理器控制,它保存一個不同的資料類型在揮發性記憶體的開始位置及其長度清單;以及一個標誌模組,指示在該揮發性記憶體特定的資料類型需要包括進持續復原影像中。
  14. 如請求項1所述的具有綠能資料持續模式的裝置驅動器,更包括:一電源/電池組監視器,該電源/電池組監視器從備份電源讀出電源狀態線,並當電源狀態線指出掉電時,啟動掉電例程。
  15. 如請求項1所述的具有綠能資料持續模式的裝置驅動器,更包括:一檔案類型識別碼,用以為該GND驅動器接收的主機寫入並產生資料類型; 一資料分割管理器,根據該檔案類型識別碼產生的資料類型,對主機寫入資料進行分類;一資料寫入高速快取記憶體,用以貯存具有一個用戶資料類型的主機寫入資料;一中繼資料高速快取記憶體,用以貯存具有中繼資料資料類型的主機寫入資料;一分頁高速快取記憶體,用以貯存具有分頁檔案資料類型的主機寫入資料;以及一暫存高速快取記憶體,用以貯存具有暫存資料類型的主機寫入資料。
  16. 如請求項1所述的具有綠能資料持續模式的裝置驅動器,更包括:一用戶選定的關閉監視器,用於監視用戶所選定的關閉類型;一開關用戶選擇例程模組,用於暫停當前的用戶對話方塊,並從揮發性記憶體把高速快取和緩衝區沖洗至固態硬碟;一登出選擇例程模組,用於暫停全部用戶對話方塊,並把高速快取和緩衝區從該揮發性記憶體沖洗至固態硬碟;一鎖定選擇例程模組,用於為密碼輸入顯示一個畫面並等待用戶輸入密碼來復原;一重新啟動選擇例程模組,用於關掉用戶定義的除關鍵系統業務外的其他全部應用程式,然後重新引導系統;一靜止選擇例程模組,係用於使該主機處於低電力狀態,但是不處於關閉狀態;一休眠選擇例程模組,用於暫停除該固態硬碟外的全部應用程式、以及暫停全部業務和裝置,其中把一個休眠影像寫入該固態硬碟,然後暫停該固態硬碟,以及把一個休眠影像寫入該固態硬碟,然後暫停該固態硬碟;以及 一關閉選擇例程模組,用於暫停全部對話方塊、應用程式和裝置。
  17. 如請求項1的所述的具有綠能資料持續模式的裝置驅動器,更包括:一持續模式隨機存取記憶磁碟,用以把資料存入動態隨機存取記憶體。
  18. 一種帶有掉電模式的無需要安裝驅動的快閃隨身碟,包含:一分組引擎,用以對存入元頁的資料進行分組;一處理模組,其係為在當啟動掉電模式例程時被啟動;並且該處理模組暫停全部應用程式、業務和裝置,其中電源掉電時主機揮發性記憶體中的全部資料丟失;一復原影像載入器,當上次掉電時上次啟動掉電模式例程時,該復原影像載入器把引導影像從快閃記憶體讀到該主機揮發性記憶體,並從該主機揮發性記憶體執行該引導影像,以便將其存入主機處理器影像。
  19. 如請求項18所述的帶有掉電模式的無需要安裝驅動的快閃隨身碟,更包括:一加密引擎,用於耦合接收被攔截的上層主機寫入資料,以便產生加密資料。
  20. 如請求項18所述的帶有掉電模式的無需要安裝驅動的快閃隨身碟,更包括:一壓縮引擎,用於耦合接收被攔截的上層主機寫入資料,以便產生壓縮資料和壓縮對應表。
  21. 一種帶有與固態硬碟匹配的配置的綠色與非裝置驅動器,包含:一分組引擎,用以把資料分組輸入元頁,根據固態硬碟不同的結構管理不同尺寸元頁的多個配置,用以增強該固態硬碟的性能和耐久性,與該固態硬碟的通訊協定;以及 一參數選擇器,用以選擇參數,包括元頁大小參數,當固態硬碟提供標準固態硬碟識別碼時,該參數選擇器為標準固態硬碟選擇標準參數,當該固態硬碟不提供標準固態硬碟識別碼(ID)時,該參數選擇器為該固態硬碟選擇最佳化參數,並提供該固態硬碟的硬體結構和功能能力的訊息資訊。
  22. 如請求項21所述的帶有與固態硬碟匹配的配置的綠色與非裝置驅動器,更包括:一參數測試器,用以執行一組預定的測試,以便利用測試參數來測試該固態硬碟,並根據測試結果為該固態硬碟選擇參數。
  23. 如請求項21所述的帶有與固態硬碟匹配的配置的綠色與非裝置驅動器,更包括:一分區對齊引擎,用以設定分區位移,以便與多個與非頁面大小和與非刪除區塊大小和檔案分配單元叢集的大小對齊。
  24. 一種具有如請求項21所述的綠色與非裝置驅動器的超級增強耐久性固態硬碟,包含:一主機介面,用以從主機GND驅動器接收主機讀出和主機寫入,帶有加密、壓縮、元頁分組的能力;一控制器,用以回應由該主機介面接收的主機讀出和主機寫入,控制對快閃記憶體和對SEED動態隨機存取記憶體緩衝區的存取,該控制器把主機資料寫入至該SEED動態隨機存取記憶體緩衝區;一SEED動態隨機存取記憶體緩衝區,用以貯存主機耐久性轉換層;以及一快閃記憶體介面,用以存取快閃記憶體或快閃記憶體件。
  25. 如請求項24所述的超級增強耐久性固態硬碟,更包括: 一錯誤修正碼管理器,用以產生錯誤修正碼,以便附在寫入該快閃記憶體的分組元頁後面;一錯誤頁面管理器,用以追蹤該快閃記憶體的錯誤頁面;以及一損耗分級器,用以向刪除計數低的快閃記憶體的空塊指定新的資料,或把刪除計數低的區塊資料移至空刪除計數高的區塊。
  26. 如請求項24所述的超級增強耐久性固態硬碟,更包括:一種資料類型,從主機GND驅動器接收的檔案類型識別碼的資料類型;一資料分割管理器,用以根據由該檔案類型識別碼產生的資料類型對主機寫入資料進行分類;一資料寫入高速快取,用以儲存具有用戶資料類型的主機寫入資料;一中繼資料高速快取,用以貯存具有中繼資料資料類型的主機寫入資料;一分頁高速快取,用以貯存具有分頁檔案資料類型的主機寫入資料;以及一暫存高速快取,用以貯存具有暫存資料類型的主機寫入資料。
  27. 如請求項24所述的超級增強耐久性固態硬碟,更包括:一SEED動態隨機存取記憶體緩衝區,受所述控制器控制;以及一動態隨機存取記憶體緩衝區中的備用/交換區,其中所述控制器使用該動態隨機存取記憶體緩衝區中的備用/交換區來在該快閃記憶體內合併有效的資料與新的來自主機的資料,以便當重寫一個寫滿的頁或該快閃記憶體中現有的區塊上的部分頁面時,產生結合的資料,通過把新的資料寫入該動態隨機存取記憶體緩衝區中涉及該快閃記 憶體中現有區塊的備用區塊,並當針對該快閃記憶體中不同的區塊,該備用區塊是附加的新的資料所需要時,把該備用區塊與新的資料和來自該快閃記憶體中現有區塊的資料結合,寫入該快閃記憶體中的交換區塊,並針對該快閃記憶體中現有區塊的頁,把頁面狀態標記為垃圾頁面。
  28. 如請求項27所述的超級增強耐久性固態硬碟,更包括:該帶有綠色與非裝置驅動器的超級增強耐久性固態硬碟上的備份電源當該主機關閉時向SEED固態硬碟供電,其中在該動態隨機存取記憶體緩衝區中的備用/交換區用於該快閃記憶體作為備用區塊。
  29. 如請求項24所述的超級增強耐久性固態硬碟,更包括:當該主機關閉時,主機上的電源備份向該SEED固態硬碟供電或在該SEED固態硬碟上的備份電源向該SEED固態硬碟供電;在小功率狀態下的處理器和當主機關閉時保持有效的計時器,其中動態隨機存取記憶體和快閃記憶體沒有電力提供;其中當計時器達到一個時間閾值時,該計時器喚醒該處理器並向該動態隨機存取記憶體和該快閃記憶體提供電力,以此處理器檢查快閃記憶體區塊的寫入日期並當保持時間超過保持極限時重新整理快閃記憶體區塊。
  30. 一種主機板上的非揮發性記憶體控制器,包含:一快閃記憶體介面,用以在快閃記憶體上刪除區塊和寫入頁,其中區塊在尺寸上可以有多個頁;一動態隨機存取記憶體介面;一來自主機處理器輸入訊號,用於關閉電源或失效時的持續模式,指出主機已經把處理器狀態及其高速快取沖洗進動態隨機存取記憶體,該非 揮發性記憶體控制器接過動態隨機存取記憶體模組匯流排訊號和快閃記憶體介面的控制,用以把資料從動態隨機存取記憶體備份到該快閃記憶體;一來自主機處理器輸入訊號,用於上電重新引導時的持續模式,指出該主機正在等待非揮發性記憶體控制器重新從該快閃記憶體載入動態隨機存取記憶體;一輸出訊號,控制外部開關來選擇動態隨機存取記憶體;和快閃記憶體介面訊號,不是來自該主機,就是來自非揮發性記憶體控制器;以及一輸出訊號,指示上電引導影像從非揮發性記憶體控制器重新載入主機處理器的操作成功或失效,其中該非揮發性記憶體控制器在關閉電源或失效時,在完成從動態隨機存取記憶體備份到該快閃記憶體之後,暫停全部操作;其中上電重新引導時完成從該快閃記憶體復原到動態隨機存取記憶體之後,該非揮發性記憶體控制器暫停全部操作。
  31. 如請求項30所述的主機板上的非揮發性記憶體控制器,更包括:其中該外部開關整合進該非揮發性記憶體控制器。
  32. 如請求項30所述的主機板上的非揮發性記憶體控制器,更包括:一處理間動態隨機存取記憶體,其係為受控於該主機處理器,它儲存一個不同資料類型在揮發性記憶體的開始位置和長度的清單。
  33. 如請求項30所述的主機板上的非揮發性記憶體控制器,其中該外部開關整合進主機處理器。
  34. 如請求項30所述的一種主機板上的非揮發性記憶體控制器,其中該外部開關整合進該主機處理器的晶片組。
TW103117719A 2013-03-15 2014-05-21 一種具有綠能資料持續模式的裝置驅動器 TWI546818B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361800604P 2013-03-15 2013-03-15
US13/927,435 US9223642B2 (en) 2013-03-15 2013-06-26 Green NAND device (GND) driver with DRAM data persistence for enhanced flash endurance and performance

Publications (2)

Publication Number Publication Date
TW201501131A TW201501131A (zh) 2015-01-01
TWI546818B true TWI546818B (zh) 2016-08-21

Family

ID=51533831

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103117719A TWI546818B (zh) 2013-03-15 2014-05-21 一種具有綠能資料持續模式的裝置驅動器

Country Status (3)

Country Link
US (2) US9223642B2 (zh)
CN (1) CN103995578B (zh)
TW (1) TWI546818B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI627532B (zh) * 2017-07-25 2018-06-21 旺宏電子股份有限公司 記憶體裝置的資料管理方法與系統
TWI736650B (zh) * 2016-08-25 2021-08-21 南韓商愛思開海力士有限公司 半導體記憶裝置及其操作方法

Families Citing this family (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008106686A1 (en) * 2007-03-01 2008-09-04 Douglas Dumitru Fast block device and methodology
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US9548108B2 (en) * 2008-06-18 2017-01-17 Super Talent Technology, Corp. Virtual memory device (VMD) application/driver for enhanced flash endurance
US9547589B2 (en) * 2008-06-18 2017-01-17 Super Talent Technology, Corp. Endurance translation layer (ETL) and diversion of temp files for reduced flash wear of a super-endurance solid-state drive
US9720616B2 (en) * 2008-06-18 2017-08-01 Super Talent Technology, Corp. Data-retention controller/driver for stand-alone or hosted card reader, solid-state-drive (SSD), or super-enhanced-endurance SSD (SEED)
US8954654B2 (en) * 2008-06-18 2015-02-10 Super Talent Technology, Corp. Virtual memory device (VMD) application/driver with dual-level interception for data-type splitting, meta-page grouping, and diversion of temp files to ramdisks for enhanced flash endurance
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
WO2014081719A1 (en) * 2012-11-20 2014-05-30 Peddle Charles I Solid state drive architectures
US11037625B2 (en) * 2012-11-20 2021-06-15 Thstyme Bermuda Limited Solid state drive architectures
US9405621B2 (en) * 2012-12-28 2016-08-02 Super Talent Technology, Corp. Green eMMC device (GeD) controller with DRAM data persistence, data-type splitting, meta-page grouping, and diversion of temp files for enhanced flash endurance
US9223664B1 (en) * 2013-04-22 2015-12-29 Amazon Technologies, Inc. Energy storage for memory protection during power event
KR20140145835A (ko) * 2013-06-14 2014-12-24 삼성전자주식회사 리스크 보호 저장 장치 및 그것의 리스크 보호 방법
US9256603B1 (en) 2013-06-28 2016-02-09 Emc Corporation File system over fully provisioned volume file in direct mode
US9256614B1 (en) * 2013-06-28 2016-02-09 Emc Corporation File system snapshots over fully provisioned volume file in direct mode
US9256629B1 (en) * 2013-06-28 2016-02-09 Emc Corporation File system snapshots over thinly provisioned volume file in mapped mode
US9329803B1 (en) 2013-06-28 2016-05-03 Emc Corporation File system over thinly provisioned volume file in mapped mode
US9824004B2 (en) 2013-10-04 2017-11-21 Micron Technology, Inc. Methods and apparatuses for requesting ready status information from a memory
US9218891B2 (en) * 2013-11-27 2015-12-22 Silicon Motion, Inc. Data storage device and flash memory control method
KR102103543B1 (ko) * 2013-11-28 2020-05-29 삼성전자 주식회사 내부 하드웨어 필터를 포함하는 일체형 데이터 저장 장치, 이의 동작 방법, 및 상기 데이터 저장 장치를 포함하는 시스템
US9329992B2 (en) 2013-12-04 2016-05-03 Silicon Motion, Inc. Data storage device and flash memory control method
US10108372B2 (en) 2014-01-27 2018-10-23 Micron Technology, Inc. Methods and apparatuses for executing a plurality of queued tasks in a memory
KR20150092386A (ko) * 2014-02-03 2015-08-13 에스케이하이닉스 주식회사 메모리 시스템
US9454310B2 (en) 2014-02-14 2016-09-27 Micron Technology, Inc. Command queuing
US10101943B1 (en) * 2014-09-25 2018-10-16 EMC IP Holding Company LLC Realigning data in replication system
US9910621B1 (en) 2014-09-29 2018-03-06 EMC IP Holding Company LLC Backlogging I/O metadata utilizing counters to monitor write acknowledgements and no acknowledgements
TWI539282B (zh) * 2014-10-13 2016-06-21 慧榮科技股份有限公司 非揮發性儲存裝置與控制器
CN105653345A (zh) * 2014-10-17 2016-06-08 伊姆西公司 用于支持对数据的非易失性随机访问的方法和设备
US9990278B2 (en) * 2014-10-20 2018-06-05 Cypress Semiconductor Corporation Overlaid erase block mapping
CN105404468B (zh) * 2014-11-17 2020-05-26 晶天电子(深圳)有限公司 绿能与非固态硬盘应用及其驱动器
US9841902B2 (en) 2014-11-20 2017-12-12 Avago Technologies General Ip (Singapore) Pte. Ltd. Peripheral component interconnect express controllers configured with non-volatile memory express interfaces
CN104503707B (zh) * 2014-12-24 2018-03-06 华为技术有限公司 读取数据的方法以及装置
CN105786545B (zh) * 2014-12-25 2021-03-05 研祥智能科技股份有限公司 基于异构混合内存的断点恢复方法和系统
US9606851B2 (en) 2015-02-02 2017-03-28 International Business Machines Corporation Error monitoring of a memory device containing embedded error correction
US9940457B2 (en) 2015-02-13 2018-04-10 International Business Machines Corporation Detecting a cryogenic attack on a memory device with embedded error correction
US9870836B2 (en) 2015-03-10 2018-01-16 Toshiba Memory Corporation Memory system and method of controlling nonvolatile memory
US10185842B2 (en) * 2015-03-18 2019-01-22 Intel Corporation Cache and data organization for memory protection
US9459802B1 (en) 2015-03-30 2016-10-04 Kabushiki Kaisha Toshiba Hybrid-HDD that limits dirty data in NAND
US10157008B2 (en) * 2015-04-29 2018-12-18 Qualcomm Incorporated Systems and methods for optimizing memory power consumption in a heterogeneous system memory
US9940039B2 (en) 2015-05-21 2018-04-10 Western Digital Technologies, Inc. Method and data storage device with enhanced data retention
CN105630701B (zh) * 2015-05-29 2018-09-14 上海磁宇信息科技有限公司 数据存储装置及使用不可用页表或不可用块表的读写方法
WO2016194175A1 (ja) * 2015-06-03 2016-12-08 株式会社日立製作所 ストレージシステム
TWI553477B (zh) * 2015-06-12 2016-10-11 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
JP2017027388A (ja) * 2015-07-23 2017-02-02 株式会社東芝 メモリシステムおよび不揮発性メモリの制御方法
CN106407145A (zh) * 2015-08-03 2017-02-15 联想(北京)有限公司 接口访问方法、系统及存储卡
US20170068480A1 (en) * 2015-09-09 2017-03-09 Mediatek Inc. Power Saving Methodology for Storage Device Equipped with Task Queues
EP3144842A1 (de) * 2015-09-15 2017-03-22 Siemens Aktiengesellschaft System und verfahren zur analytik eines objektes
WO2017048294A1 (en) 2015-09-18 2017-03-23 Hewlett Packard Enterprise Development Lp Memory persistence from a volatile memory to a non-volatile memory
US20170091042A1 (en) * 2015-09-25 2017-03-30 Quanta Computer Inc. System and method for power loss protection of storage device
US9658669B2 (en) 2015-09-28 2017-05-23 Toshiba Corporation Solid-state mass storage devices with capacitor-based power supply and methods of operation
US10235288B2 (en) * 2015-10-02 2019-03-19 Netapp, Inc. Cache flushing and interrupted write handling in storage systems
WO2017066601A1 (en) * 2015-10-16 2017-04-20 Huang Yiren Ronnie Method and apparatus for providing hybrid mode to access ssd drive
US10467155B2 (en) * 2015-10-26 2019-11-05 Micron Technology, Inc. Command packets for the direct control of non-volatile memory channels within a solid state drive
KR102362239B1 (ko) * 2015-12-30 2022-02-14 삼성전자주식회사 디램 캐시를 포함하는 메모리 시스템 및 그것의 캐시 관리 방법
US9928168B2 (en) 2016-01-11 2018-03-27 Qualcomm Incorporated Non-volatile random access system memory with DRAM program caching
US10379745B2 (en) * 2016-04-22 2019-08-13 Samsung Electronics Co., Ltd. Simultaneous kernel mode and user mode access to a device using the NVMe interface
US10776273B2 (en) * 2016-05-16 2020-09-15 SK Hynix Inc. Memory system having multiple cache pages and operating method thereof
KR20170132483A (ko) 2016-05-24 2017-12-04 삼성전자주식회사 메모리 장치의 구동 방법
CN106127049B (zh) * 2016-06-28 2019-03-26 珠海豹趣科技有限公司 一种清除恶意程序的方法、装置以及电子设备
US10445178B2 (en) * 2016-08-24 2019-10-15 Samsung Electronics Co., Ltd. Methods and systems for controlling redundant array of inexpensive disks (RAID) operations
US10623526B2 (en) * 2016-10-03 2020-04-14 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Dynamically configuring multi-mode hardware components based on workload requirements
TWI621129B (zh) 2016-10-25 2018-04-11 慧榮科技股份有限公司 資料儲存裝置及其資料寫入方法
US10489313B2 (en) 2016-10-31 2019-11-26 Alibaba Group Holding Limited Flash storage failure rate reduction and hyperscale infrastructure robustness enhancement through the MRAM-NOR flash based cache architecture
KR102588113B1 (ko) * 2016-11-07 2023-10-16 삼성전자주식회사 스토리지 장치를 포함하는 사용자 장치 및 그것의 트림 관리 방법
WO2018143970A1 (en) 2017-02-01 2018-08-09 Hewlett-Packard Development Company, L.P. Delay of power off to write data from volatile to non-volatile memory of a solid state drive
US11175853B2 (en) 2017-05-09 2021-11-16 Samsung Electronics Co., Ltd. Systems and methods for write and flush support in hybrid memory
CN109213692B (zh) * 2017-07-06 2022-10-21 慧荣科技股份有限公司 存储装置管理系统以及存储装置管理方法
US11256618B2 (en) 2017-07-06 2022-02-22 Silicon Motion, Inc. Storage apparatus managing system comprising local and global registering regions for registering data and associated method
CN110020266B (zh) * 2017-07-13 2021-12-14 深圳市Tcl高新技术开发有限公司 存取图片的方法、装置及计算机可读存储介质、终端设备
US20190108896A1 (en) * 2017-10-05 2019-04-11 Dell Products L.P. Systems and methods for providing post-package repair visibility to a host for memory reliability, availability, and serviceability
CN107832236B (zh) * 2017-10-24 2021-08-03 记忆科技(深圳)有限公司 一种提高固态硬盘写性能的方法
CN107844716A (zh) * 2017-11-15 2018-03-27 深圳佰维存储科技股份有限公司 一种固态硬盘掉电保护装置
CN107861886A (zh) * 2017-11-28 2018-03-30 青岛海信电器股份有限公司 缓存数据的处理方法、装置及终端
CN108037725B (zh) * 2017-12-08 2019-09-03 中冶南方工程技术有限公司 一种读写plc数据的方法和装置
US10552145B2 (en) * 2017-12-12 2020-02-04 Cypress Semiconductor Corporation Memory devices, systems, and methods for updating firmware with single memory device
CN108182154A (zh) * 2017-12-22 2018-06-19 深圳大普微电子科技有限公司 一种基于固态硬盘的日志文件的读写方法及固态硬盘
US10481958B2 (en) * 2017-12-29 2019-11-19 Intel IP Corporation Speculative execution tag for asynchronous DRAM refresh
US10831393B2 (en) 2018-02-08 2020-11-10 Micron Technology, Inc. Partial save of memory
CN108446009A (zh) * 2018-03-10 2018-08-24 北京联想核芯科技有限公司 掉电控制方法、装置、设备及介质
US10908825B2 (en) * 2018-03-29 2021-02-02 Intel Corporation SSD with persistent DRAM region for metadata
CN108321245B (zh) * 2018-04-11 2023-10-27 南京邮电大学 基于光电器件的动态随机存取存储单元及其制备方法
US11151037B2 (en) 2018-04-12 2021-10-19 International Business Machines Corporation Using track locks and stride group locks to manage cache operations
US10831597B2 (en) 2018-04-27 2020-11-10 International Business Machines Corporation Receiving, at a secondary storage controller, information on modified data from a primary storage controller to use to calculate parity data
US10884849B2 (en) 2018-04-27 2021-01-05 International Business Machines Corporation Mirroring information on modified data from a primary storage controller to a secondary storage controller for the secondary storage controller to use to calculate parity data
CN108829613B (zh) * 2018-05-24 2020-12-29 中山市江波龙电子有限公司 数据存储方法及存储设备
US10628072B2 (en) * 2018-08-21 2020-04-21 Samsung Electronics Co., Ltd. Scalable architecture enabling large memory system for in-memory computations
TWI696951B (zh) 2018-08-31 2020-06-21 威剛科技股份有限公司 儲存裝置異常斷電的處理系統和方法
US10963249B2 (en) 2018-11-02 2021-03-30 International Business Machines Corporation Processor prefetcher mode governor for switching between prefetch modes
KR20200057331A (ko) * 2018-11-16 2020-05-26 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR20200066882A (ko) * 2018-12-03 2020-06-11 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN109597773B (zh) * 2018-12-10 2024-01-23 浪潮(北京)电子信息产业有限公司 一种ssd及其数据掉电保护方法、系统、装置
US11204819B2 (en) * 2018-12-21 2021-12-21 Samsung Electronics Co., Ltd. System and method for offloading application functions to a device
CN109799959B (zh) * 2019-01-22 2020-07-10 华中科技大学 一种提高开放通道固态盘写并行性的方法
CN109885343B (zh) * 2019-02-25 2022-03-29 深圳忆联信息系统有限公司 一种控制器低功耗启动方法、装置、计算机设备及存储介质
US10976795B2 (en) * 2019-04-30 2021-04-13 Seagate Technology Llc Centralized power loss management system for data storage devices
US10990323B2 (en) * 2019-05-28 2021-04-27 Silicon Motion, Inc. Flash memory controller, memory device and method for accessing flash memory module
CN110472200B (zh) * 2019-07-29 2023-10-27 深圳市中兴新云服务有限公司 一种基于表单的数据处理方法、装置及电子设备
JP6874814B2 (ja) * 2019-10-30 2021-05-19 株式会社安川電機 産業機器の制御装置、産業機器の制御装置の設定システム、産業機器の制御装置の設定方法、及びプログラム
CN111078143B (zh) * 2019-11-27 2020-12-29 华中科技大学 基于段映射进行数据布局和调度的混合存储方法及系统
US11157179B2 (en) 2019-12-03 2021-10-26 Pure Storage, Inc. Dynamic allocation of blocks of a storage device based on power loss protection
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
CN111339053B (zh) * 2020-03-17 2022-09-30 卡斯柯信号有限公司 一种ram文件系统及ram文件系统的访问方法
US11327884B2 (en) * 2020-04-01 2022-05-10 Micron Technology, Inc. Self-seeded randomizer for data randomization in flash memory
US11256617B2 (en) 2020-04-01 2022-02-22 Micron Technology, Inc. Metadata aware copyback for memory devices
KR20210150779A (ko) 2020-06-04 2021-12-13 에스케이하이닉스 주식회사 위임된 작업을 처리하는 메모리 시스템 및 동작 방법
CN111832088B (zh) * 2020-07-13 2024-02-13 深圳忆联信息系统有限公司 固态硬盘低功耗模式数据保护方法、装置、计算机设备及存储介质
KR20220019570A (ko) * 2020-08-10 2022-02-17 에스케이하이닉스 주식회사 메모리 시스템 및 이에 포함된 메모리 컨트롤러의 동작 방법
CN112148377B (zh) * 2020-09-28 2023-02-10 深圳忆联信息系统有限公司 EFI Shell环境下防止SSD异常掉电的方法和装置
CN111951866B (zh) * 2020-10-19 2021-01-15 深圳市芯天下技术有限公司 非易失型闪存深睡眠低静态功耗的电路
US11301401B1 (en) * 2020-12-18 2022-04-12 Micron Technology, Inc. Ball grid array storage for a memory sub-system
CN112506442A (zh) * 2020-12-22 2021-03-16 深圳市时创意电子有限公司 一种闪存芯片数据处理方法、装置、电子设备及存储介质
CN112612418B (zh) * 2020-12-25 2024-03-08 航天信息股份有限公司 一种用于大容量NandFlash坏块管理的方法及系统
KR20220103378A (ko) 2021-01-15 2022-07-22 에스케이하이닉스 주식회사 메모리 시스템에 저장된 데이터를 처리하는 장치 및 방법
TWI798680B (zh) * 2021-04-14 2023-04-11 群聯電子股份有限公司 主機記憶體緩衝區管理方法、記憶體儲存裝置與記憶體控制電路單元
WO2023075769A1 (en) * 2021-10-28 2023-05-04 Hewlett-Packard Development Company, L.P. Remediation action initiation responsive to storage control feature disabling
CN114333930B (zh) * 2021-12-23 2024-03-08 合肥兆芯电子有限公司 多通道存储器存储装置、控制电路单元及其数据读取方法
CN116745768A (zh) * 2022-01-10 2023-09-12 华为技术有限公司 一种数据处理方法及电子设备
CN114816833B (zh) * 2022-04-15 2023-07-18 巨翊科技(上海)有限公司 一种flash数据的写入方法、装置以及系统
CN115576783B (zh) * 2022-12-12 2023-03-14 湖南博匠信息科技有限公司 一种vpx机箱的刀片服务器带外日志存储方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010645B2 (en) * 2002-12-27 2006-03-07 International Business Machines Corporation System and method for sequentially staging received data to a write cache in advance of storing the received data
CN101458662A (zh) * 2007-12-14 2009-06-17 创惟科技股份有限公司 改进闪存存取效率的存储系统与方法
US8145925B2 (en) * 2007-12-21 2012-03-27 Mosaid Technologies Incorporated Non-volatile semiconductor memory device with power saving feature
US8601202B1 (en) * 2009-08-26 2013-12-03 Micron Technology, Inc. Full chip wear leveling in memory device
KR101844346B1 (ko) * 2010-11-05 2018-04-02 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10587689B2 (en) * 2014-02-14 2020-03-10 Western Digital Technologies, Inc. Data storage device with embedded software

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI736650B (zh) * 2016-08-25 2021-08-21 南韓商愛思開海力士有限公司 半導體記憶裝置及其操作方法
TWI627532B (zh) * 2017-07-25 2018-06-21 旺宏電子股份有限公司 記憶體裝置的資料管理方法與系統

Also Published As

Publication number Publication date
US20140281151A1 (en) 2014-09-18
CN103995578A (zh) 2014-08-20
US9841911B2 (en) 2017-12-12
TW201501131A (zh) 2015-01-01
CN103995578B (zh) 2017-10-24
US9223642B2 (en) 2015-12-29
US20160054942A1 (en) 2016-02-25

Similar Documents

Publication Publication Date Title
TWI546818B (zh) 一種具有綠能資料持續模式的裝置驅動器
US20220139455A1 (en) Solid state drive architectures
US9720616B2 (en) Data-retention controller/driver for stand-alone or hosted card reader, solid-state-drive (SSD), or super-enhanced-endurance SSD (SEED)
US9489258B2 (en) Green NAND SSD application and driver
US10037158B2 (en) Vertically integrated storage
JP5376983B2 (ja) メモリシステム
US8954654B2 (en) Virtual memory device (VMD) application/driver with dual-level interception for data-type splitting, meta-page grouping, and diversion of temp files to ramdisks for enhanced flash endurance
TWI506431B (zh) 虛擬記憶體設備驅動器、用於在主機上執行之虛擬記憶體設備驅動器、刷新快閃記憶體的方法、快閃記憶體刷新的方法、超級增強耐力設備硬碟固體狀態驅動機耐用轉換層之方法、超級增強耐力設備及耐力快閃記憶體檔案系統
US20150331624A1 (en) Host-controlled flash translation layer snapshot
TWI524183B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US20190369892A1 (en) Method and Apparatus for Facilitating a Trim Process Using Auxiliary Tables
KR102114109B1 (ko) 데이터 저장 장치
CN105404468B (zh) 绿能与非固态硬盘应用及其驱动器
US20190324868A1 (en) Backup portion of persistent memory
US11314453B2 (en) Memory system managing map data based on risk of malware—infection of host, and operating method thereof