TWI741296B - 瞬間斷電回復處理方法及裝置以及電腦程式產品 - Google Patents
瞬間斷電回復處理方法及裝置以及電腦程式產品 Download PDFInfo
- Publication number
- TWI741296B TWI741296B TW108117396A TW108117396A TWI741296B TW I741296 B TWI741296 B TW I741296B TW 108117396 A TW108117396 A TW 108117396A TW 108117396 A TW108117396 A TW 108117396A TW I741296 B TWI741296 B TW I741296B
- Authority
- TW
- Taiwan
- Prior art keywords
- power failure
- instantaneous power
- data
- pseudo
- block
- Prior art date
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明提出一種瞬間斷電回復處理方法,該方法由電子裝置的處理單元執行,包含以下步驟:於偵測到電子裝置發生瞬間斷電後,驅動閃存介面將主裝置傳送的資料以單層式單元模式通過多個通道寫入多個邏輯單元號的擬單層式單元塊,使得動態隨機存取記憶體的資料能夠以盡可能短的時間寫入擬單層式單元塊。
Description
本發明涉及資料儲存裝置,尤指一種快閃記憶裝置的資料存取控制方法及電腦程式產品。
快閃記憶裝置通常分為NOR快閃記憶裝置與NAND快閃記憶裝置。NOR快閃記憶裝置為隨機存取裝置,主裝置(Host)可於位址腳位上提供任何存取NOR快閃記憶裝置的位址,並及時地從NOR快閃記憶裝置的資料腳位上獲得儲存於該位址上的資料。相反地,NAND快閃記憶裝置並非隨機存取,而是序列存取。NAND快閃記憶裝置無法像NOR快閃記憶裝置一樣,可以存取任何隨機位址,主裝置反而需要寫入序列的位元組(Bytes)的值到NAND快閃記憶裝置中,用以定義請求命令(Command)的類型(如,讀取、寫入、抹除等),以及用在此命令上的位址。位址可指向一個頁面(快閃記憶裝置中寫入作業的最小資料塊)或一個區塊(快閃記憶裝置中抹除作業的最小資料塊)。
由於自然或人為引起的瞬間斷電可能讓揮發性動態隨機存取記憶體中儲存的資料丟失,因此,本發明實施例提出一種的瞬間斷電回復處理方法及裝置以及電腦程式產品,使用NAND快閃記憶體來解決如上所述的問題。
有鑑於此,如何減輕或消除上述相關領域的缺失,實為有待解決的
問題。
本發明提出一種瞬間斷電回復處理方法,該方法由電子裝置的處理單元執行,包含以下步驟:於偵測到電子裝置發生瞬間斷電後,驅動閃存介面將主裝置傳送的資料以單層式單元模式通過多個通道寫入多個邏輯單元號的擬單層式單元塊。這些擬單層式單元塊於正常運行時被保留下來而不寫入資料,直到偵測到發生瞬間斷電。
本發明另提出一種電腦程式產品,包含可實施如上所述方法的程式碼,用於讓處理單元載入並執行。
本發明提出一種瞬間斷電回復處理裝置,至少包含處理單元,用以於載入並執行相關韌體或軟體指令時實施如上所述的方法。
上述實施例的優點之一,通過擬單層式單元塊的設置及多通道的單層式單元模式的資料寫入,使得動態隨機存取記憶體的資料能夠以盡可能短的時間寫入擬單層式單元塊。
本發明的其他優點將搭配以下的說明和圖式進行更詳細的解說。
100:系統架構
110:主裝置
130:控制器
131:處理單元
135:主裝置介面
137:靜態隨機存取記憶體
139:閃存介面
150:動態隨機存取記憶體
170:LUN
170#0~170#8:LUN
170#0-0~170#8-0:正常塊
170#0-1~170#8-1:擬單層式單元塊
CH#0~CH#2:輸出入通道
CE#0~CE#2:晶片致能控制訊號
310~370:邏輯區段
LBA#0~LBA#36863:邏輯區塊位址
S510~S560:方法步驟
610:邏輯-實體表
630:實體位置資訊
630-0:(實體)區塊編號
630-1:(實體)頁面編號
630-2:(實體)平面編號
630-3:邏輯單元編號以及輸出入通道編號
650:實體區塊
655:實體區域
S710~S730:方法步驟
圖1為依據本發明實施例的快閃記憶裝置的系統架構示意圖。
圖2為閃存介面與邏輯單元號(Logical Unit Number LUN)之間的連接示意圖。
圖3為依據本發明實施例的邏輯區段示意圖。
圖4為依據本發明實施例的LUN的實體塊分割示意圖。
圖5為依據本發明實施例的瞬間斷電回復處理的方法流程圖。
圖6為依據本發明實施例的邏輯-實體表(Logical-to-Physical L2P Table)與實體位置間的對應示意圖。
圖7為依據本發明實施例的瞬間斷電回復處理的方法流程圖。
以下說明為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的
權利要求範圍。
必須了解的是,使用於本說明書中的”包含”、”包括”等詞,用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
於權利要求中使用如”第一”、"第二"、"第三"等詞是用來修飾權利要求中的元件,並非用來表示之間具有優先順序,前置關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。
必須了解的是,當元件描述為”連接”或”耦接"至另一元件時,可以是直接連結、或耦接至其他元件,可能出現中間元件。相反地,當元件描述為”直接連接”或”直接耦接”至另一元件時,其中不存在任何中間元件。使用來描述元件之間關係的其他語詞也可類似方式解讀,例如”介於”相對於”直接介於”,或者是”鄰接”相對於”直接鄰接”等等。
參考圖1。系統架構100包含主裝置110、控制器130、動態隨機存取記憶體150(Dynamic Random Access Memory DRAM)及邏輯單元號(Logical Unit Number LUN)170。此系統架構100可實施於伺服器、個人電腦、筆記型電腦(Laptop PC)、平板電腦、手機、數位相機、數位攝影機等電子產品。控制器130是一種特殊應用積體電路(Application-Specific Integrated Circuit ASIC),用來控制LUN 170的資料存取,可包含處理單元131、主裝置介面135及閃存介面139。LUN 170提供的儲存空間(例如16、32、64 Gigabytes GBs)可作為開機碟(Boot Disk)及快取資料(Cache Data)的儲存空間。LUN 170中的記憶單元可為三層式單元(Triple Level Cells,TLCs)或四層式單元(Quad-Level Cells QLCs)。當記憶體單元為TLC而可記錄8個狀態時,一個實體字元線可包含頁面P#0(可稱為最低位
元頁面,Most Significant Bit MSB page)、頁面P#1(可稱為中間位元頁面,CSB,Center Significant Bit page)及頁面P#2(可稱為最高位元頁面,Least Significant Bit LSB page)。當記憶體單元為QLC而可記錄16個狀態時,除了MSB、CSB以及LSB頁面之外,更包括TSB(可稱為頂部位元,TSB,Top Significant Bit)頁面。靜態隨機存取記憶體(Static Random Access Memory SRAM)137可用於緩存處理單元131於執行過程中需要的資料,例如,變數、資料表(Data Tables)等。處理單元131可通過閃存介面139與NAND閃存170通信,例如,可採用開放NAND快閃(Open NAND Flash Interface ONFI)、雙倍資料率開關(DDR Toggle)或其他介面。
控制器130包含處理單元131,通過主裝置介面135與主裝置110通信。主裝置介面135可為通用快閃記憶儲存(Universal Flash Storage UFS)、快速非揮發記憶體(Non-Volatile Memory Express NVMe)、通用序列匯流排(Universal Serial Bus,USB)、先進技術附著(advanced technology attachment,ATA)、序列先進技術附著(serial advanced technology attachment,SATA)、快速周邊元件互聯(peripheral component interconnect express,PCI-E)或其他介面。主裝置110及處理單元131中之任一者可使用多種方式實施,如使用通用硬體(例如,單一處理器、具平行處理能力的多處理器,或其他具運算能力的處理器),並且在執行韌體或軟體指令(Instructions)時,提供之後描述的功能。多處理器為單一的運算元件,可配備二或更多的獨立處理器(又稱為多核)來讀取及執行程式指令。
參考圖2,閃存介面139可包含三個輸出入通道(I/O channels,以下簡稱通道)CH#0至CH#2,每一個通道連接三個LUN,例如,通道CH#0連接LUN 170#0至170#2,通道CH#1連接LUN 170#3至170#5,依此類推。換句話說,多個LUN可共享一個通道。例如,處理單元
131可驅動閃存介面139發出致能訊號CE#0來致能LUN 170#0、170#3及170#6,接著以並行的方式從致能的LUN讀取使用者資料,或者寫入使用者資料至致能的LUN。
資料儲存裝置中的儲存空間可邏輯性地切割為多個區段(Partitions),用來儲存不同類型的資料,每個區段使用一段連續邏輯位址,例如,邏輯區塊位址(Logical Block Address,LBA),以作區分。舉例來說,每個LBA可關聯512位元組(Bytes)、4KB、16KB等大小的資料,下述中將以4KB為例進行說明,但不以此為限。參考圖3,第一區段310可包含6GB的空間,位址範圍從LBA#0至LBA#1,572,863,用於對應主裝置110的使用者資料(簡稱資料),例如:作業系統相關的程式碼。第二區段330可包含2GB的空間,位址範圍從LBA#1,572,864至LBA#2,097,151,用於對應主裝置110的資料,例如:應用程式相關的程式碼。第三區段350可包含5GB的空間,位址範圍從LBA#2,097,152至LBA#3,407,871,用於對應主裝置110的資料,例如:主裝置110於運行時產生的快取資料。動態隨機存取記憶體150儲存主裝置110於運行過程中需要的資料,例如變數、資料表、執行緒內容(Thread Context)等。為了防止瞬間斷電造成動態隨機存取記憶體150中儲存的資料丟失,主裝置110於偵測到瞬間斷電時,立即要求資料儲存裝置將動態隨機存取記憶體150所儲存的資料通過主裝置介面135寫入LUN 170。為了達到此目的,資料儲存裝置可設置第四區段370,包含5GB的空間,位址範圍從LBA#3,407,872至LBA#4,718,591,用於對應動態隨機存取記憶體150中所儲存的資料。第四區段370的大小可為固定值,例如5GB,亦可與儲存動態隨機存取記憶體150的大小相等。之後,主裝置110於系統回復時,可通過要求資料儲存裝置提供第四區段370的資料,如此一來,主裝置110可迅速地取回原本動態隨機存取記憶體150所儲存的資料。
參考圖4,資料儲存裝置中的每個LUN的實體塊(Physical Blocks)可依據不同的運作目的或編程方式而區分成一般塊(Normal Blocks)及擬單層式單元塊(pseudo SLC,pSLC Blocks)。參考圖4,例如,LUN 170#0中的實體塊可配置為包含800個一般塊170#0-0及400個pSLC塊170#0-1,LUN 170#1中的實體塊可配置為包含800個一般塊170#1-0及400個pSLC塊170#1-1,依此類推。處理單元131較佳將LUN 170#0至170#8中實體塊以及擬單層式單元塊的配置資訊記錄於靜態隨機存取記憶體137。一般塊用以提供第一區段310、第二區段330以及第三區段350的儲存空間,儲存主裝置於正常運行時寫入的資料,例如,作業系統、應用程式的檔案。由於每個LUN中的記憶單元為TLC或QLC,處理單元131可驅動閃存介面139使用多段式編程方式,例如粗略(Foggy)編程以及精細(Fine)編程來將資料寫入一般塊的記憶單元。
另一方面,快取資料等擬單層式單元塊則提供第四區段370的儲存空間,所以,pSLC塊於正常運行時被保留下來而不寫入資料。當處理單元131偵測到瞬間斷電發生時,才依據主裝置110的要求,將動態隨機存取記憶體150中所儲存的資料寫入至pSLC塊。偵測到瞬間斷電後,來自主裝置110的電力通常只能維持資料儲存裝置數秒(例如1~5秒間)的運作,因此,資料儲存裝置需利用這段時間來將動態隨機存取記憶體150所儲存的資料寫入至LUN 170。如果於正常運行時有資料佔據pSLC塊中的記憶單元,處理單元131還需要耗費時間把pSLC塊所儲存的資料搬移至一般塊,然後執行抹除作業等等,不僅需要花費時間,也會消耗所剩無幾的電力,無法在容許的時間內將動態隨機存取記憶體150的資料寫入pSLC塊。處理單元131採用單層式單元(Single Level Cells,SLC)模式及交錯頁編程(Interleave Page Programming)方式,並通過所有通道來將動態隨機存取記憶體150的資料寫入至pSLC塊中的記憶單元,即以最快的
方式將動態隨機存取記憶體150的資料寫入至資料儲存裝置的pSLC塊中,例如,以300MB/s或更高的資料傳輸率將資料寫入至資料儲存裝置的pSLC塊中。雖然實施例描述了三個通道,每個通道連接三個LUN作為範例,但是所屬技術領域的技術人員可修改NAND閃存架構來包含更多或更少的通道及LUN,本發明不應因此受侷限。
參考圖5所示的資料編程方法的流程圖,由處理單元131於載入相關軟體或韌體程式碼時執行。在步驟S510,處理單元131偵測是否有斷電中斷事件,如果是則執行步驟S520,如果否則執行步驟S540。
在步驟S520,處理單元131以多通道以及交錯頁編程將來自主裝置110的資料寫入pSLC塊,其中,pSLC塊為採用SLC模式來進行資料編程的實體塊。
在步驟S530,處理單元131依據pSLC塊所儲存的資料來更新邏輯-實體(Logical-to-Physical,L2P)映射表,其中,L2P映射表較佳儲存在SRAM 137中。
在步驟S540,處理單元131以多通道以及交錯頁編程將來自主裝置110的資料寫入一般塊。
在步驟S550,處理單元131依據一般塊所儲存的資料來更新邏輯-實體L2P映射表。
在步驟S560,處理單元131將更新的L2P映射表寫入一般塊,其中,處理單元131較佳以SLC模式將更新的L2P映射表寫入一般塊。
之後,當主裝置110恢復電力之後,資料儲存裝置再依據主裝置110的要求,將pSLC塊所儲存的資料上傳至動態隨機存取記憶體150,之後,處理單元131可將pSLC塊予以抹除,當再次發生斷電中斷事件時,處理單元131可再將資料寫入pSLC塊。
為了記錄邏輯位置(由主裝置110管理)及實體位置(由控制器130管理)間的對應關係,控制器130可於SRAM 137中維護L2P映射表,依序儲存每個邏輯位址的資料實際儲存於哪個實體位址的資訊,讓
控制器130處理關於特定邏輯位址的讀取或寫入命令時,可快速查找出對應的實體位址。另外,由於SRAM 137的大小有限,因此,L2P映射表可分割成複數個子表,控制器130再輪流將子表上傳至SRAM 137中。參考圖6,舉例來說,子表610較佳依照順序儲存相應於每一邏輯位址的實體位址資訊。子表610所需的空間較佳與邏輯位址的總數成正比。邏輯位址可以LBA表示,每個LBA對應到一個固定大小的邏輯區塊,例如512B或4KB,並且此LBA的資料儲存於LUN 170的實體位址。子表610依序儲存從LBA#26624至LBA#27647的實體位址資訊。實體位址資訊630例如包括四個位元組,其中,位元組630-0記錄(實體)區塊編號,位元組630-1記錄頁面編號及偏移量(offset);位元組630-2紀錄平面編號,位元組630-3記錄邏輯單元編號以及輸出入通道編號等等。例如,相應於LBA#26626的實體位址資訊630可指向區塊650中的一個區域655。
於步驟S510的一些實施例,處理單元131可偵測每個從主裝置110發出的命令是否為立即待命命令(STANDBY IMMEDIATE command),立即待命命令的內容可參考ATA命令集-4(ATA Command Set-4,ACS-4)第7.48節的規範。雖然立即待命命令原為主裝置110指示資料儲存裝置進入待命模式(Standby Mode),但是主裝置110及控制器130可協議當主裝置110偵測到發生瞬間斷電時,發出立即待命命令,指示處理單元131將後續傳送的資料以最快的速度寫入LUN 170。雖然實施例舉出立即待命命令做例子,主裝置110可使用其他命令指示處理單元131,用以達成相同的技術效果。
於步驟S510的另一些實施例,處理單元131可觀察命令佇列(Command Queue)中的主裝置寫入命令(Host Write Commands)來判斷電子裝置是否發生瞬間斷電。相對於大量資料儲存裝置(Mass Storage)提供超過如100GB以上儲存空間的應用場景,當主裝置110將LUN 170作為開機碟及快取資料的儲存空間時,於正常運
行的情況下,主裝置110發出長資料寫入命令是罕見的。所以,當處理單元131在命令佇列中發現到一個長資料寫入命令後接著一個連續寫入命令時,可判斷電子裝置很可能發生瞬間斷電。主裝置命令通常包含起始邏輯位址及長度的參數,長資料寫入命令可指主裝置寫入命令中的長度超過一個預設閥值(例如1MB),並且連續寫入命令可指主裝置寫入命令中的起始邏輯位址為命令佇列中的前一個主裝置寫入命令的結束邏輯位址的下一個位址。
於步驟S510的更另一些實施例,處理單元131可觀察命令佇列中的主裝置寫入命令的起始邏輯位址是否落入預設區間來判斷電子裝置是否發生瞬間斷電。例如,參考圖3,當發現任何主裝置寫入命令的起始邏輯位址介於LBA#3407872及LBA#4718591之間時,處理單元131判斷電子裝置很可能發生瞬間斷電。
於步驟S520,處理單元131可先通過閃存介面139發出SLC模式致能命令(SLC MODE ENABLE Command),接著發出一連串的編程頁面命令(PROGRAM PAGE Commands)用來將資料寫入預先配置的pSLC塊。SLC模式的資料寫入指閃存介面139編程pSLC塊中的每個記憶單元成為兩個狀態中的一個,而不是八或十六個狀態中的一個。所屬技術領域人員可理解SLC模式的資料寫入速度優於TLC或QLC模式中使用粗略-精細技術的資料寫入速度。
於步驟S520的較佳實施例,處理單元131可驅動閃存介面以交錯頁編程的方式寫入資料,以圖4的通道CH#0舉例,閃存介面139可發出致能訊號CE#0來致能LUN 170#0並通過通道CH#0傳送資料給pSLC塊170#0-1,接著於資料傳送完畢後發出指令給pSLC塊170#0-1來開始編程其中的記憶單元。於pSLC塊170#0-1實際編程記憶單元的期間,閃存介面139可發出致能訊號CE#1來致能LUN 170#1並通過通道CH#0傳送資料給pSLC塊170#1-1,依此類推。
於步驟S520的較佳實施例,處理單元131可驅動閃存介面139通過所
有通道寫入主裝置110傳送的資料。
參考圖7所示的方法流程圖,由處理單元131於載入相關軟體或韌體程式碼時執行。於偵測到電子裝置已經完成瞬間斷電回復後(步驟S710),處理單元131驅動閃存介面170抹除LUN 170中所有pSLC塊的記憶單元,讓pSLC塊處於就緒狀態,供下次可能發生的瞬間斷電運用(步驟S730)。
處理單元131可檢視每個從主裝置110發出的資料集管理命令(DATA SET MANAGEMENT command)的內容判斷是否指示修剪(Trim)pSLC塊,資料集管理命令的內容可參考ATA命令集-4(ATA Command Set-4 ACS-4)第7.6節的規範。資料集管理命令可包含LBA及修剪位元(Trim Bit)等參數,處理單元131可參考L2P映射表的資訊判斷資料集管理命令中的LBA是否關聯於一個pSLC塊且修剪位元設為“1”。如果是,處理單元131判斷電子裝置已經完成瞬間斷電回復。雖然實施例舉出資料集管理命令做例子,主裝置110可使用其他命令指示處理單元131,用以達成相同的技術效果。
於步驟S710的另一些實施例,處理單元131可紀錄主裝置讀取命令(Host Read Commands)的執行來判斷電子裝置是否已經完成瞬間斷電回復。處理單元131可參考L2P映射表的內容記錄每個關聯於pSLC塊的主裝置讀取命令的執行。當L2P映射表中對應於pSLC塊的所有LBA的資料都已經被主裝置110讀取後,處理單元131判斷電子裝置已經完成瞬間斷電回復。
本發明所述的方法中的全部或部分步驟可以電腦程式實現,例如電腦的作業系統、電腦中特定硬體的驅動程式、或軟體應用程式。此外,也可實現於如上所示的其他類型程式。所屬技術領域具有通常知識者可將本發明實施例的方法撰寫成電腦程式,為求簡潔不再加以描述。依據本發明實施例方法實施的電腦程式.可儲存於適當的電腦可讀取資料載具,例如DVD、CD-ROM、USB碟、硬碟,亦可置
於可通過網路(例如,網際網路,或其他適當載具)存取的網路伺服器。
雖然圖1中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然圖5及圖7的流程圖採用指定的順序來執行,但是在不違反發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。
雖然本發明使用以上實施例進行說明,但需要注意的是,這些描述並非用以限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。
S510~S560:方法步驟
Claims (13)
- 一種瞬間斷電回復處理方法,由一電子裝置中的一處理單元執行,包含:根據一主裝置發出給該電子裝置的一個或多個主機寫入命令中攜帶的資訊判斷是否發生電力只能維持以秒為單位的運作後瞬間斷電;當在一命令佇列中發現一長資料寫入命令後接著一連續寫入命令,或者一主機寫入命令的一起始邏輯位址落入一預設區間時,判斷該電子裝置發生電力只能維持以秒為單位的運作後瞬間斷電;以及於偵測到該電子裝置發生瞬間斷電後,驅動一閃存介面將該主裝置傳送的資料以一單層式單元模式通過多個通道寫入多個邏輯單元號的擬單層式單元塊,其中,該些擬單層式單元塊於正常運行時被保留下來而不寫入資料,直到偵測到發生瞬間斷電。
- 如請求項1所述的瞬間斷電回復處理方法,其中每個該邏輯單元號中的每個實體塊區分為一般塊或該擬單層式單元塊,該擬單層式單元塊中的記憶單元為三層式單元或四層式單元,以及該單層式單元模式的資料寫入編程該擬單層式單元塊中的每個記憶單元成為兩個狀態中的一個。
- 如請求項1所述的瞬間斷電回復處理方法,包含:於偵測到該電子裝置發生瞬間斷電後,驅動該閃存介面將該主裝置傳送的資料以交錯頁編程的方式寫入該些邏輯單元號的該擬單層式單元塊。
- 如請求項1所述的瞬間斷電回復處理方法,包含:偵測到該主裝置已經完成瞬間斷電回復後,驅動該閃存介面抹除所 有擬單層式單元塊的記憶單元。
- 如請求項4所述的瞬間斷電回復處理方法,包含:當偵測到該主裝置發出一命令指示修剪該擬單層式單元塊時,判斷該電子裝置已經完成瞬間斷電回復。
- 如請求項4所述的瞬間斷電回復處理方法,包含:當偵測到所有擬單層式單元塊的資料都已經被該主裝置讀取時,判斷該電子裝置已經完成瞬間斷電回復。
- 一種電腦程式產品,用於瞬間斷電回復處理,由一電子裝置中的一處理單元載入並執行,包含以下的程式碼:根據一主裝置發出給該電子裝置的一個或多個主機寫入命令中攜帶的資訊判斷是否發生電力只能維持以秒為單位的運作後瞬間斷電;當在一命令佇列中發現一長資料寫入命令後接著一連續寫入命令,或者一主機寫入命令的一起始邏輯位址落入一預設區間時,判斷該電子裝置發生電力只能維持以秒為單位的運作後瞬間斷電;以及於偵測到該電子裝置發生瞬間斷電後,驅動一閃存介面將該主裝置傳送的資料以一單層式單元模式通過多個通道寫入多個邏輯單元號的擬單層式單元塊,其中,該些擬單層式單元塊於正常運行時被保留下來而不寫入資料,直到偵測到發生瞬間斷電。
- 如請求項7所述的電腦程式產品,包含以下程式碼:於偵測到該電子裝置發生瞬間斷電後,驅動該閃存介面將該主裝置傳送的資料以交錯頁編程的方式寫入該些邏輯單元號的該擬單層式單元塊。
- 如請求項7至8中任一項所述的電腦程式產品,包含以下程式碼:偵測到該主裝置已經完成瞬間斷電回復後,驅動該閃存介面抹除所 有擬單層式單元塊的記憶單元。
- 一種瞬間斷電回復處理裝置,包含:一主裝置介面;一閃存介面;以及一處理單元,耦接於該主裝置介面及該閃存介面,根據一主裝置經由該主裝置介面發出給該電子裝置的一個或多個主機寫入命令中攜帶的資訊判斷是否發生電力只能維持以秒為單位的運作後瞬間斷電;當在一命令佇列中發現一長資料寫入命令後接著一連續寫入命令,或者一主機寫入命令的一起始邏輯位址落入一預設區間時,判斷該瞬間斷電回復處理裝置發生電力只能維持以秒為單位的運作後瞬間斷電;以及於偵測到該瞬間斷電回復處理裝置發生瞬間斷電後,驅動該閃存介面將該主裝置通過該主裝置介面傳送的資料以一單層式單元模式通過多個通道寫入多個邏輯單元號的擬單層式單元塊。
- 如請求項10所述的瞬間斷電回復處理裝置,其中每個該邏輯單元號中的每個實體塊區分為一般塊或該擬單層式單元塊,該擬單層式單元塊中的記憶單元為三層式單元或四層式單元,以及該單層式單元模式的資料寫入編程該擬單層式單元塊中的每個記憶單元成為兩個狀態中的一個。
- 如請求項10所述的瞬間斷電回復處理裝置,其中該處理單元於偵測到該主裝置已經完成瞬間斷電回復後,驅動該閃存介面抹除所有擬單層式單元塊的記憶單元。
- 如請求項12所述的瞬間斷電回復處理裝置,其中該處理單元於偵測到該主裝置發出一資料集管理命令指示修剪該擬單層式單元塊時,判斷該主裝置已經完成瞬間斷電回復。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW108117396A TWI741296B (zh) | 2019-05-21 | 2019-05-21 | 瞬間斷電回復處理方法及裝置以及電腦程式產品 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW108117396A TWI741296B (zh) | 2019-05-21 | 2019-05-21 | 瞬間斷電回復處理方法及裝置以及電腦程式產品 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202044048A TW202044048A (zh) | 2020-12-01 |
| TWI741296B true TWI741296B (zh) | 2021-10-01 |
Family
ID=74668179
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW108117396A TWI741296B (zh) | 2019-05-21 | 2019-05-21 | 瞬間斷電回復處理方法及裝置以及電腦程式產品 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI741296B (zh) |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201403318A (zh) * | 2012-07-02 | 2014-01-16 | Infomicro Electronics Shenzhen Ltd | 具耐用轉換層並能轉移暫存讓記憶體耐磨損的硬碟驅動器 |
| CN104077174A (zh) * | 2009-03-27 | 2014-10-01 | Lsi公司 | 用于提供存储系统逻辑块地址的数据固化的方法及系统 |
| TW201521027A (zh) * | 2013-11-28 | 2015-06-01 | Phison Electronics Corp | 資料管理方法、記憶體儲存裝置及記憶體控制電路單元 |
| US20160268000A1 (en) * | 2015-03-09 | 2016-09-15 | Ocz Storage Solutions, Inc. | Power fail saving modes in solid state drive with mlc memory |
| CN106155874A (zh) * | 2015-02-02 | 2016-11-23 | 慧荣科技股份有限公司 | 数据储存装置及其断电事件判断方法 |
| US20180260331A1 (en) * | 2017-03-10 | 2018-09-13 | Toshiba Memory Corporation | Multibit nand media using pseudo-slc caching technique |
| CN108762669A (zh) * | 2018-05-18 | 2018-11-06 | 深圳忆联信息系统有限公司 | 提升掉电时数据写入速度的方法、装置及计算机设备 |
-
2019
- 2019-05-21 TW TW108117396A patent/TWI741296B/zh active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104077174A (zh) * | 2009-03-27 | 2014-10-01 | Lsi公司 | 用于提供存储系统逻辑块地址的数据固化的方法及系统 |
| TW201403318A (zh) * | 2012-07-02 | 2014-01-16 | Infomicro Electronics Shenzhen Ltd | 具耐用轉換層並能轉移暫存讓記憶體耐磨損的硬碟驅動器 |
| TW201521027A (zh) * | 2013-11-28 | 2015-06-01 | Phison Electronics Corp | 資料管理方法、記憶體儲存裝置及記憶體控制電路單元 |
| CN106155874A (zh) * | 2015-02-02 | 2016-11-23 | 慧荣科技股份有限公司 | 数据储存装置及其断电事件判断方法 |
| US20160268000A1 (en) * | 2015-03-09 | 2016-09-15 | Ocz Storage Solutions, Inc. | Power fail saving modes in solid state drive with mlc memory |
| US20180260331A1 (en) * | 2017-03-10 | 2018-09-13 | Toshiba Memory Corporation | Multibit nand media using pseudo-slc caching technique |
| CN108762669A (zh) * | 2018-05-18 | 2018-11-06 | 深圳忆联信息系统有限公司 | 提升掉电时数据写入速度的方法、装置及计算机设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202044048A (zh) | 2020-12-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9645924B2 (en) | Garbage collection scaling | |
| KR102610395B1 (ko) | 비휘발성 메모리 장치를 포함하는 메모리 시스템 | |
| CN107908571B (zh) | 一种数据写入方法、闪存装置及存储设备 | |
| US9720616B2 (en) | Data-retention controller/driver for stand-alone or hosted card reader, solid-state-drive (SSD), or super-enhanced-endurance SSD (SEED) | |
| JP5554489B2 (ja) | ソリッドステートメモリ(ssm)、ssmを有するコンピュータシステム及びssm駆動方法 | |
| CN111984441B (zh) | 瞬间断电回复处理方法及装置以及计算机可读取存储介质 | |
| US10360144B2 (en) | Storage apparatus and non-volatile memory device including a controller to selectively compress data based on an update frequency level | |
| US20090049234A1 (en) | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm | |
| CN114327240B (zh) | 计算机可读存储介质、闪存存储器的数据存储方法及装置 | |
| CN104461397A (zh) | 一种固态硬盘及其读写方法 | |
| KR102585883B1 (ko) | 메모리 시스템의 동작 방법 및 메모리 시스템 | |
| US20190227738A1 (en) | Integrated circuit memory devices with enhanced buffer memory utilization during read and write operations and methods of operating same | |
| TWI719494B (zh) | 用於控制不同類型儲存單元的方法及裝置 | |
| TWI754396B (zh) | 快閃記憶體的資料儲存方法及裝置以及電腦程式產品 | |
| US11403211B2 (en) | Storage system with file priority mechanism and method of operation thereof | |
| US8799573B2 (en) | Storage system and its logical unit management method | |
| CN101999117A (zh) | 能像光盘驱动器操作的存储器驱动器及用于将存储器驱动器虚拟化为光盘驱动器的方法 | |
| US11144380B2 (en) | Memory controller and storage device including the same | |
| KR20240143192A (ko) | 존 영역의 상태 정보를 제공하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 전자 장치의 동작하는 방법 | |
| KR102425470B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
| TWI741296B (zh) | 瞬間斷電回復處理方法及裝置以及電腦程式產品 | |
| US20170115886A1 (en) | Storage device and method of performing a write operation by the same | |
| TWI820473B (zh) | 瞬間斷電回復處理方法及裝置以及電腦程式產品 | |
| US20230236737A1 (en) | Storage Controller Managing Different Types Of Blocks, Operating Method Thereof, And Operating Method Of Storage Device Including The Same | |
| KR102555800B1 (ko) | 스토리지 시스템 및 그 동작 방법 |