[go: up one dir, main page]

TWI898586B - 固態硬碟裝置之資料存取方法及固態硬碟裝置 - Google Patents

固態硬碟裝置之資料存取方法及固態硬碟裝置

Info

Publication number
TWI898586B
TWI898586B TW113117271A TW113117271A TWI898586B TW I898586 B TWI898586 B TW I898586B TW 113117271 A TW113117271 A TW 113117271A TW 113117271 A TW113117271 A TW 113117271A TW I898586 B TWI898586 B TW I898586B
Authority
TW
Taiwan
Prior art keywords
data
volatile memory
physical address
host
controller
Prior art date
Application number
TW113117271A
Other languages
English (en)
Other versions
TW202544812A (zh
Inventor
賴忠毅
張晨興
Original Assignee
宜鼎國際股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 宜鼎國際股份有限公司 filed Critical 宜鼎國際股份有限公司
Priority to TW113117271A priority Critical patent/TWI898586B/zh
Priority to US18/739,337 priority patent/US12504888B2/en
Application granted granted Critical
Publication of TWI898586B publication Critical patent/TWI898586B/zh
Publication of TW202544812A publication Critical patent/TW202544812A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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]

Landscapes

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

Abstract

一種固態硬碟(solid-state drive, SSD)裝置的資料存取方法,包含下列步驟:根據來自主機端的指令,將資料儲存至揮發性記憶體中,或者從揮發性記憶體中讀取資料;及當接收到來自主機端的關機指令,或偵測到斷電訊號時,將儲存於揮發性記憶體中的資料以實體位址對應實體位址的方式轉移至非揮發性記憶體中,從而進行資料儲存程序;當接收到來自主機端的開機指令時,將儲存於非揮發性記憶體中的資料以實體位址對應實體位址的方式轉移至揮發性記憶體中,從而進行資料載入程序。藉此,本發明可應用於資料儲存裝置上,並可改善大儲存容量資料儲存裝置的資料存取效能被影響和丟失資料的問題,以及提升固態硬碟效能。

Description

固態硬碟裝置之資料存取方法及固態硬碟裝置
本發明係關於一種資料儲存裝置,特別是一種固態硬碟(solid-state drive,SSD)裝置之資料存取方法及固態硬碟裝置。
SSD裝置是一種以積體電路製作的資料儲存裝置,常見的SSD裝置係採用非揮發性記憶體(non-volatile memory)作為主要的資料儲存元件。
近年來,SSD裝置相比於傳統硬碟具有更小體積、更耐用、更輕、更方便攜帶、無噪音和更快的存取速度等優點,因此非常受到使用者的青睞。因應資料量迅速增加的使用需求,SSD裝置的製造商積極地增大儲存容量,以符合前述的使用需求。然而,隨著SSD裝置的儲存容量增大,相對會影響到SSD裝置的存取效能,也可能丟失資料。
這是因為目前的SSD裝置大部分是採用映射表的存取方式。映射表指的是位址映射表(例如,邏輯到實體位址(logical page number to physical page number,L2P)映射表)。當SSD裝置把每一筆資料寫入非揮發性記憶體位址空間時,會記錄下此邏輯位址到物理位址的映射關係,而這樣的映射關係就成 為L2P表。當主機端想要讀取該筆資料時,SSD裝置會查找該L2P表中邏輯頁對應的物理頁,再訪問非揮發性記憶體來讀取資料並提供給主機端。
在一般正常運作情況下,L2P表駐留在動態隨機存取記憶體(dynamic random-access memory,DRAM)中,因此,L2P表需要佔用DRAM的空間,且在資料存取過程中需要透過查找L2P表來將資料儲存到特定位址,或從特定位址讀取資料,故多少會影響到資料存取的速度。同樣狀況下,L2P表也會儲存一份在非揮發性記憶體裡面,以提供開機時快速回復L2P表的狀態。當SSD裝置發生異常時,如果SSD裝置的儲存容量很大,會需要花很長的時間從非揮發性記憶體去讀取或用其他方式去恢復L2P表。若異常情況嚴重到導致L2P表無法恢復時,則會導致丟失資料。
目前的SSD裝置因為需要額外的管理機制(即L2P表),因此,在具有大儲存容量SSD裝置上,前述的管理機制難免會影響到資料存取的速度,且在執行管理機制時亦會影響到SSD裝置的效能。另外,當L2P表因為異常情況而無法恢復時,亦會有丟失資料的問題。
為解決上述問題,本發明之目的在於提供一種固態硬碟裝置的資料存取方法,所述SSD裝置適於與主機端進行通訊,所述SSD裝置包括控制器、揮發性記憶體與電性耦接至所述揮發性記憶體的非揮發性記憶體,所述資料存取方法包含下列步驟:控制器根據來自所述主機端的指令,將資料儲存至所述揮發性記憶體中,或者從所述揮發性記憶體中讀取所述資料;及當控制器接收到來自所述主機端的關機指令,或偵測到斷電訊號時,將儲存於所述揮發性記憶體中 的所述資料以實體位址對應實體位址的方式轉移至所述非揮發性記憶體中,從而進行資料儲存程序;當控制器接收到來自所述主機端的開機指令時,將儲存於所述非揮發性記憶體中的所述資料以所述實體位址對應實體位址的方式轉移至所述揮發性記憶體中,從而進行資料載入程序。
在一些實施例中,當控制器接收到來自所述主機端的所述關機指令時,所述主機端基於所述SSD裝置所回應的資料儲存完成訊息來進行關機動作。
在一些實施例中,所述SSD裝置還電性耦接至備用電源,當偵測到所述斷電訊號時,由所述備用電源提供電力給所述SSD裝置,以將儲存於所述揮發性記憶體中的所述資料以所述實體位址對應實體位址的方式轉移至所述非揮發性記憶體中,從而進行資料儲存程序。
在一些實施例中,於將儲存於所述非揮發性記憶體中的所述資料以所述實體位址對應實體位址的方式轉移至所述揮發性記憶體中,從而進行資料載入程序之步驟中,還包括對所述資料進行解壓縮來進行資料載入程序。
為解決上述問題,本發明之目的在於提供一種固態硬碟裝置,適於與主機端進行通訊,以傳輸資料,SSD裝置被配置為執行資料存取方法,所述資料存取方法包含下列步驟:控制器根據來自所述主機端的指令,將所述資料儲存至所述揮發性記憶體中,或者從所述揮發性記憶體中讀取所述資料;及當控制器接收到來自所述主機端的關機指令,或偵測到斷電訊號時,將儲存於所述揮發性記憶體中的所述資料以實體位址對應實體位址的方式轉移至所述非揮發性記憶體中,從而進行資料儲存程序;當控制器接收到來自所述主機端的所述開機指 令時,將儲存於所述非揮發性記憶體中的所述資料以所述實體位址對應實體位址的方式轉移至所述揮發性記憶體中,從而進行資料載入程序。
綜上所述,本發明之固態硬碟裝置的資料存取方法及固態硬碟裝置,以SSD裝置中的揮發性記憶體作為主要進行資料存取過程的資料儲存元件,因為揮發性記憶體的效能遠比非揮發性記憶體的好,因此可以獲得更高速的資料存取速度。於關機或斷電時,將資料存回SSD裝置的非揮發性記憶體中,並於開機或恢復電力時,再將資料從SSD裝置的非揮發性記憶體載入至SSD裝置的揮發性記憶體中,以完成整個資料存取的操作程序。藉此,可有效提升SSD裝置的資料存取速度。另外,由於本發明採用非L2P表的存取方式來儲存和讀取資料,不需要額外的管理機制,可相對提升SSD裝置的運作效能,且不會產生L2P表因為異常情況而無法恢復而丟失資料的問題,進而可提升SSD裝置的運作穩定性。
10:SSD裝置
12:控制器
14:揮發性記憶體
16:非揮發性記憶體
18:備用電源
20:主機端
CMD:指令
DATA:資料
S200,S201,S202,S203,S204,S206,S208:步驟
S210,S212,S214,S215,S216,S218,S219:步驟
圖1是顯示本發明實施例的SSD裝置的方塊圖。
圖2A是顯示本發明一實施例的SSD裝置的資料存取方法的流程圖。
圖2B是顯示本發明另一實施例的SSD裝置的資料存取方法的流程圖。
請參照圖1,是顯示本發明實施例的SSD裝置10的方塊圖。SSD裝置10可透過資料匯流排介面與主機端20電性耦接。SSD裝置10可與主機端20進行通訊以傳輸指令CMD和/或資料DATA。在本實施例中,SSD裝置10和主機端20 可設置在同一個電腦裝置內。在其他實施例中,SSD裝置10可設置主機端20的外部。換句話說,SSD裝置10和主機端20可分別設置在不同的電腦裝置內。前述的資料匯流排介面可以包括:串列高階(serial advanced technology attachment,SATA)硬碟架構(例如,SATA-1、SATA-2、SATA-3)、周邊組件互連高速(periphery component interconnect express,PCIe)架構(例如,PCIe Gen1、PCIe Gen2、PCIe Gen3、PCIe Gen4)等。SSD裝置10適於與主機端20進行通訊。SSD裝置10可包括有控制器12、揮發性記憶體14、非揮發性記憶體16和備用電源18。在其他實施例中,備用電源18可被省略,並使用來自於主機端20的電源,以維持SSD裝置10運作所需的電力。
控制器12被配置為可以執行軟體程式或韌體程式,以實現電腦功能。控制器12可以例如是中央處理器、系統晶片(system on chip,SoC)、現場可編程門陣列(field programmable gate array,FPGA)、專用整合晶片(application specific integrated circuit,ASIC)、微控制器(micro controller unit,MCU)、數位訊號處理電路(digital signal processor,DSP)、可編程控制器(programmable logic device,PLD)或其他類型的控制器。在本實施例中,控制器12可以透過執行儲存於非揮發性記憶體16中的韌體程式碼來實現資料存取方法的功能。
揮發性記憶體14與控制器12電性耦接。揮發性記憶體14被配置為主要進行資料存取過程的資料儲存元件。前述的「主要」可以是指在主機端20處於開機運行的階段,即未關機的狀態。例如,當SSD裝置10根據指令CMD將資料DATA進行儲存時,可將資料DATA儲存於揮發性記憶體14中。當SSD裝置10的控制器12根據指令CMD對資料DATA進行讀取時,會從揮發性記憶體14中讀取資料DATA。更具體的說,在主機端20處於開機運行的階段,SSD裝置10從非揮 發性記憶體16中將資料DATA以實體位址對應實體位址的方式轉移至揮發性記憶體14中,並根據來自主機端20的指令CMD對在揮發性記憶體14中的資料DATA進行寫入、抹除、儲存、讀取等操作。
另外,揮發性記憶體14可以例如是靜態隨機存取記憶體(static random-access memory,SRAM)、動態隨機存取記憶體(dynamic random-access memory,DRAM)、同步動態隨機存取記憶體(synchronous dynamic random-access memory,SDRAM)等。
值得說明的是,由於揮發性記憶體14的寫入和抹除的單位是一樣,這表示儲存在揮發性記憶體14中的資料DATA可以直接覆寫,而不需要L2P表來管理。因此,相較於習知使用L2P表進行存取方式而言,本實施例使用揮發性記憶體14作為主要進行資料存取過程的資料儲存元件,由於不需要查找L2P表,因此,可相對提升SSD裝置10的資料存取速度和運作效能,且不會產生L2P表因為異常情況而無法恢復而丟失資料的問題,進而可提升SSD裝置10的運作穩定性。
非揮發性記憶體16與控制器12、揮發性記憶體14電性耦接。非揮發性記憶體16被配置為次要進行資料存取過程的資料儲存元件。前述的「次要」可以是指在主機端20處於斷電的階段,即關機的狀態。
例如,當SSD裝置10的控制器12根據指令CMD或斷電訊號而準備將資料DATA進行儲存時,會將儲存於揮發性記憶體14中的資料DATA轉移至非揮發性記憶體16中儲存。
更具體的說,當SSD裝置10的控制器12接收到來自主機端20的關機指令或者偵測到斷電訊號時,SSD裝置10會將儲存於揮發性記憶體14中的資料 DATA以實體位址對應實體位址的方式轉移至非揮發性記憶體16中儲存,並於前述的儲存操作完成時,SSD裝置10的控制器12會回應資料儲存完成訊息給主機端20,以讓主機端20進行關機動作。簡單來說,當SSD裝置10的控制器12接收到來自主機端20的關機指令或偵測到斷電訊號時,主機端20可基於SSD裝置10的控制器12所回應的資料儲存完成訊息來進行關機動作,藉以確保資料DATA不會因為未完成轉移而丟失。
另外,非揮發性記憶體16可以例如是唯讀記憶體(Read Only Memory,ROM)、可編程唯讀記憶體(Programmable Read Only Memory,PROM)、電可編程唯讀記憶體(Erasable Programmable Read Only Memory,EPROM)、電可複寫可編程唯讀記憶體(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快閃記憶體、自旋轉移矩記憶體(Spin Torque Transfer Random Access Memory,STT RAM)、可變電阻式記憶體(Resistive Random-Access Memory,RRAM)、鐵電隨機存取記憶體(Ferroelectric Random-Access Memory,FRAM)、磁阻式隨機存取記憶體(Magnetoresistive Random Access Memory,MRAM)、賽道記憶體(Racetrack Memory)...等。在本實施例中,非揮發性記憶體16的儲存容量可以被配置為大於揮發性記憶體14的儲存容量,以確保資料DATA可以完全地在非揮發性記憶體16和揮發性記憶體14之間進行轉移。在其他實施例中,非揮發性記憶體16的儲存容量也可以被配置為等於揮發性記憶體14的儲存容量。
備用電源18與控制器12、揮發性記憶體14、非揮發性記憶體16電性耦接。在SSD裝置10失去電力來源的期間,備用電源18可以被配置為在前述期間被啟用並提供控制器12、揮發性記憶體14和非揮發性記憶體16運作所需的電力,以使SSD裝置10能進行與完成將資料DATA從揮發性記憶體14轉移至非揮發 性記憶體16的儲存操作。備用電源18可以由電容器和/或電池所組成。在本實施例中,備用電源18可以和控制器12、揮發性記憶體14、非揮發性記憶體16一起設置在SSD裝置10的內部,並透過開關電路(圖中未示)和電性路徑讓備用電源18可以電性耦接至控制器12、揮發性記憶體14和非揮發性記憶體16。在其他實施例中,備用電源18也可以單獨設置在SSD裝置10的外部。同樣的,SSD裝置10可以透過開關電路和電性路徑讓備用電源18可以電性耦接至控制器12、揮發性記憶體14和非揮發性記憶體16。
請一併參照圖1和圖2A,而圖2A是顯示本發明一實施例的SSD裝置10的資料存取方法的流程圖。
步驟S200,主機端20進行開機動作,並可傳送開機指令或訊號至SSD裝置10的控制器12。
步驟S202,SSD裝置10從非揮發性記憶體16中讀取資料DATA,並將資料DATA轉移至揮發性記憶體14中。更具體的說,當SSD裝置10的控制器12接收到來自主機端20的開機指令或電源訊號,可將儲存於非揮發性記憶體16中的資料DATA以實體位址對應實體位址的方式轉移至揮發性記憶體14中,從而進行資料載入程序。例如,以120GB的儲存容量的揮發性記憶體14為例,實體位址可以是從00 0000 0000H到1D FFFF FFFFH,而非揮發性記憶體16具有與揮發性記憶體14相對應的儲存容量和實體位址。
步驟S204,SSD裝置10的控制器12偵測是否有來自主機端20的新指令。當判斷為〝否〞,則表示無來自主機端20的新指令,流程重新進行步驟S204。當判斷為〝是〞,則表示有來自主機端20的新指令,流程進行步驟S206。
步驟S206,SSD裝置10的控制器12確認前述的新指令是否為寫入指令。當判斷為〝否〞,則表示前述的新指令不是寫入指令,流程進行步驟S210。當判斷為〝是〞,則表示前述的新指令為寫入指令,流程進行步驟S208。
步驟S208,SSD裝置10的控制器12可根據寫入指令將資料DATA寫入至揮發性記憶體14中。於前述寫入操作完成後,SSD裝置10可回應資料寫入完成訊息給主機端20,並且流程進行步驟S204。
步驟S210,SSD裝置10的控制器12確認前述的新指令是否為讀取指令。當判斷為〝否〞,則表示前述的新指令不是讀取指令,流程進行步驟S214。當判斷為〝是〞,則表示前述的新指令為讀取指令,流程進行步驟S212。
步驟S212,SSD裝置10的控制器12可根據讀取指令從揮發性記憶體14中讀取資料DATA並提供給主機端20。於前述讀取操作完成後,SSD裝置10的控制器12可回應資料讀取完成訊息給主機端20,並且流程進行步驟S204。
步驟S214,SSD裝置10的控制器12是否收到來自主機端20的關機指令,或是否偵測到斷電訊號,當判斷為〝否〞,則表示前述的新指令不是為關機指令,或是未偵測到斷電訊號,流程進行步驟S219。當判斷為〝是〞,則表示前述的新指令為關機指令,或是偵測到斷電訊號,流程進行步驟S216。
步驟S216,SSD裝置10的控制器12將儲存於揮發性記憶體14中的資料DATA以實體位址對應實體位址的方式轉移至非揮發性記憶體16中,從而進行資料儲存程序,並且流程進行步驟S218。在本實施例中,SSD裝置10還電性耦接至備用電源18,當SSD裝置10的控制器12偵測到斷電訊號時,由備用電源18提供電力給SSD裝置10,以將儲存於揮發性記憶體14中的資料DATA以實體位址對應實體位址的方式轉移至非揮發性記憶體16中,從而進行資料儲存程序。前述的 斷電訊號可以由額外的偵測電路(圖中未示)來傳送給SSD裝置10的控制器12,而偵測電路可用以偵測主機端20所供應的電力是否異常中斷,或者偵測供應到SSD裝置10的電力是否異常中斷,並於偵測到電力異常中斷時傳送斷電訊號至SSD裝置10。
步驟S218,主機端20可根據SSD裝置10的控制器12回應的資料儲存完成訊息來進行關機動作。更具體的說,當SSD裝置10的控制器12接收到來自主機端20的關機指令時並於資料儲存程序完成後,SSD裝置10的控制器12更執行回應資料儲存完成訊息至主機端20的程序,而主機端20可根據SSD裝置10的控制器12所回應的資料儲存完成訊息來進行關機動作。
步驟S219,SSD裝置10可根據來自主機端20的其他指令來執行其他指令所對應的操作程序。
請一併參照圖1和圖2B,而圖2B是顯示本發明另一實施例的SSD裝置10的資料存取方法的流程圖。
步驟S200,主機端20進行開機動作,並可傳送開機指令或訊號至SSD裝置10。
步驟S201,SSD裝置10的控制器12對儲存於非揮發性記憶體16中的資料DATA進行解壓縮來進行資料載入程序。例如,可以使用LZ77無損資料壓縮演算法或LZ78無損資料壓縮演算法來對資料DATA進行解壓縮,但不以此為限。
步驟S202,SSD裝置10的控制器12從非揮發性記憶體16中讀取資料DATA(或者,解壓縮後的資料DATA),並將前述的資料DATA轉移至揮發性記憶體14中。更具體的說,當SSD裝置10的控制器12接收到來自主機端20的開 機指令或電源訊號,可將儲存於非揮發性記憶體16中的資料DATA以實體位址對應實體位址的方式轉移至揮發性記憶體14中,從而進行資料載入程序。更具體的說,當SSD裝置10的控制器12接收到來自主機端20的開機指令或電源訊號,可將儲存於非揮發性記憶體16中的資料DATA以實體位址對應實體位址的方式轉移至揮發性記憶體14中,從而進行資料載入程序。例如,以120GB的儲存容量的揮發性記憶體14為例,實體位址可以是從00 0000 0000H到1D FFFF FFFFH,且非揮發性記憶體16具有與揮發性記憶體14相對應的儲存容量和實體位址。
步驟S204,SSD裝置10的控制器12持續偵測是否有來自主機端20的新指令。當判斷為〝否〞,則表示無來自主機端20的新指令,流程重新進行步驟S204。當判斷為〝是〞,則表示有來自主機端20的新指令,流程進行步驟S206。
步驟S206,SSD裝置10的控制器12確認前述的新指令是否為寫入指令。當判斷為〝否〞,則表示前述的新指令不是寫入指令,流程進行步驟S210。當判斷為〝是〞,則表示前述的新指令為寫入指令,流程進行步驟S208。
步驟S208,SSD裝置10的控制器12可根據寫入指令將資料DATA寫入至揮發性記憶體14中。於前述寫入操作完成後,SSD裝置10的控制器12可回應資料寫入完成訊息給主機端20,並且流程進行步驟S204。
步驟S210,SSD裝置10的控制器12確認前述的新指令是否為讀取指令。當判斷為〝否〞,則表示前述的新指令不是讀取指令,流程進行步驟S214。當判斷為〝是〞,則表示前述的新指令為寫入指令,流程進行步驟S212。
步驟S212,SSD裝置10的控制器12可根據讀取指令從揮發性記憶體14中讀取資料DATA。於前述讀取操作完成後,SSD裝置10的控制器12可回應資料讀取完成訊息給主機端20,並且流程進行步驟S204。
步驟S214,SSD裝置10的控制器12是否收到來自主機端20的關機指令,或是否偵測到斷電訊號,當判斷為〝否〞,則表示前述的新指令不是為關機指令,或是未偵測到斷電訊號,流程進行步驟S219。當判斷為〝是〞,則表示前述的新指令為關機指令,或是偵測到斷電訊號,流程進行步驟S215。
步驟S215,SSD裝置10的控制器12對資料DATA進行壓縮。例如,可以使用LZ77無損資料壓縮演算法或LZ78無損資料壓縮演算法來對資料DATA進行壓縮,但不以此為限。藉此,可減少資料DATA佔用非揮發性記憶體16的儲存空間。在本實施例中,壓縮資料DATA的動作可以在揮發性記憶體14中進行。在其他實施例中,壓縮資料DATA的動作也可以在非揮發性記憶體16中進行。在其他實施例中,步驟S215可以被省略,當步驟S215被省略時,可以對應地省略步驟S201。
步驟S216,SSD裝置10的控制器12將儲存於揮發性記憶體14中的資料DATA(或者,壓縮後的資料DATA)以實體位址對應實體位址的方式轉移至非揮發性記憶體16中,從而進行資料儲存程序,並且流程進行步驟S218。當SSD裝置10完成前述的資料儲存程序後,可回應資料儲存完成訊息給主機端20。在本實施例中,當SSD裝置10的控制器12偵測到斷電訊號時,由備用電源18提供電力給SSD裝置10,以將儲存於揮發性記憶體14中的資料DATA以實體位址對應實體位址的方式轉移至非揮發性記憶體16中,從而進行資料儲存程序。前述的斷電訊號可以由額外的偵測電路(圖中未示)來傳送給SSD裝置10的控制器12,而偵測電路可用以偵測主機端20所供應的電力是否異常中斷,或者偵測供應到SSD裝置10的電力是否異常中斷,並於偵測到電力異常中斷時傳送斷電訊號至SSD裝置10。
步驟S218,主機端20可根據SSD裝置10回應的資料儲存完成訊息來進行關機動作。更具體的說,當SSD裝置10的控制器12接收到來自主機端20的關機指令時並於資料儲存程序完成後,SSD裝置10的控制器12更執行回應資料儲存完成訊息至主機端20的程序,而主機端20可根據SSD裝置10的控制器12所回應的資料儲存完成訊息來進行關機動作。
步驟S219,SSD裝置10可根據來自主機端20的其他指令來執行其他指令所對應的操作程序。
綜上所述,本發明之固態硬碟裝置的資料存取方法及固態硬碟裝置,以SSD裝置中的揮發性記憶體作為主要進行資料存取過程的資料儲存元件,因為揮發性記憶體的效能遠比非揮發性記憶體的好,因此可以獲得更高速的資料存取速度。於關機或斷電時,將資料存回SSD裝置的非揮發性記憶體中,並於開機或恢復電力時,再將資料從SSD裝置的非揮發性記憶體載入至SSD裝置的揮發性記憶體中,以完成整個資料存取的操作程序。藉此,可有效提升固態硬碟裝置的資料存取速度。另外,由於本發明採用非L2P表的存取方式來儲存和讀取資料,不需要額外的管理機制,可相對提升SSD裝置的運作效能,且不會產生L2P表因為異常情況而無法恢復而丟失資料的問題,進而可提升SSD裝置的運作穩定性。
S200,S202,S204,S206,S208:步驟
S210,S212,S214,S216,S218,S219:步驟

Claims (8)

  1. 一種固態硬碟(solid-state drive, SSD)裝置的資料存取方法,該SSD裝置適於與一主機端進行通訊,該SSD裝置包括有一控制器、一揮發性記憶體與電性耦接至該揮發性記憶體的一非揮發性記憶體,該資料存取方法包含下列步驟:該控制器根據來自該主機端的指令,將一資料儲存至該揮發性記憶體中,或者從該揮發性記憶體中讀取該資料;及當該控制器接收到來自該主機端的一關機指令,或偵測到一斷電訊號時,將儲存於該揮發性記憶體中的該資料以一實體位址對應實體位址的方式轉移至該非揮發性記憶體中,從而進行資料儲存程序;當該控制器接收到來自該主機端的一開機指令時,將儲存於該非揮發性記憶體中的該資料以該實體位址對應實體位址的方式轉移至該揮發性記憶體中,從而進行資料載入程序;當該控制器接收到來自該主機端的該關機指令時,該主機端基於該SSD裝置所回應的資料儲存完成訊息來進行關機動作。
  2. 如請求項1所述的資料存取方法,其中該SSD裝置還電性耦接至一備用電源,當該控制器偵測到該斷電訊號時,由該備用電源提供電力給該SSD裝置,以將儲存於該揮發性記憶體中的該資料以該實體位址對應實體位址的方式轉移至該非揮發性記憶體中,從而進行資料儲存程序。
  3. 如請求項1所述的資料存取方法,其中於將儲存於該揮發性記憶體中的該資料以一實體位址對應實體位址的方式轉移至該非揮發性記憶體中,從而進行資料儲存程序之步驟中,還包括對該資料進行壓縮來進行資料儲存程序。
  4. 如請求項3所述的資料存取方法,其中於將儲存於該非揮發性記憶體中的該資料以該實體位址對應實體位址的方式轉移至該揮發性記憶體中,從而進行資料載入程序之步驟中,還包括對該資料進行解壓縮來進行資料載入程序。
  5. 一種固態硬碟(solid-state drive, SSD)裝置,適於與一主機端進行通訊,以傳輸一資料,該SSD裝置被配置為執行如請求項1所述的資料存取方法,包含下列步驟:該控制器根據來自該主機端的指令,將該資料儲存至該揮發性記憶體中,或者從該揮發性記憶體中讀取該資料;及當該控制器接收到來自該主機端的該關機指令,或偵測到該斷電訊號時,將儲存於該揮發性記憶體中的該資料以該實體位址對應實體位址的方式轉移至該非揮發性記憶體中,從而進行資料儲存程序;當該控制器接收到來自該主機端的該開機指令時,將儲存於該非揮發性記憶體中的該資料以該實體位址對應實體位址的方式轉移至該揮發性記憶體中,從而進行資料載入程序;當該控制器接收到來自該主機端的該關機指令時並於資料儲存程序完成後,該控制器更執行回應一資料儲存完成訊息至該主機端的程序,以使該主機端基於該資料儲存完成訊息來進行關機動作。
  6. 如請求項5所述的固態硬碟裝置,其中該SSD裝置還電性耦接至一備用電源,當該控制器偵測到該斷電訊號時,由該備用電源提供電力給該SSD裝置,以將儲存於該揮發性記憶體中的該資料以該實體位址對應實體位址的方式轉移至該非揮發性記憶體中,從而進行資料儲存程序。
  7. 如請求項5所述的固態硬碟裝置,其中於將儲存於該揮發性記憶體中的該資料以該實體位址對應實體位址的方式轉移至該非揮發性記憶體中,從而進行資料儲存程序之步驟中,還包括對該資料進行壓縮來進行資料儲存程序。
  8. 如請求項7所述的固態硬碟裝置,其中於將儲存於該非揮發性記憶體中的該資料以該實體位址對應實體位址的方式轉移至該揮發性記憶體中,從而進行資料載入程序之步驟中,還包括對該資料進行解壓縮來進行資料載入程序。
TW113117271A 2024-05-10 2024-05-10 固態硬碟裝置之資料存取方法及固態硬碟裝置 TWI898586B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW113117271A TWI898586B (zh) 2024-05-10 2024-05-10 固態硬碟裝置之資料存取方法及固態硬碟裝置
US18/739,337 US12504888B2 (en) 2024-05-10 2024-06-11 Data access method of solid-state drive device and solid-state drive device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW113117271A TWI898586B (zh) 2024-05-10 2024-05-10 固態硬碟裝置之資料存取方法及固態硬碟裝置

Publications (2)

Publication Number Publication Date
TWI898586B true TWI898586B (zh) 2025-09-21
TW202544812A TW202544812A (zh) 2025-11-16

Family

ID=97601088

Family Applications (1)

Application Number Title Priority Date Filing Date
TW113117271A TWI898586B (zh) 2024-05-10 2024-05-10 固態硬碟裝置之資料存取方法及固態硬碟裝置

Country Status (2)

Country Link
US (1) US12504888B2 (zh)
TW (1) TWI898586B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201123013A (en) * 2009-12-28 2011-07-01 Apacer Technology Inc Method for increasing booting speed of electronic device
TW201243593A (en) * 2011-04-28 2012-11-01 Phison Electronics Corp Data writing method, memory controller and memory storage apparatus
TW202125263A (zh) * 2019-12-26 2021-07-01 大陸商深圳大心電子科技有限公司 儲存控制器、記憶體管理方法與儲存裝置
US20240061748A1 (en) * 2022-08-18 2024-02-22 Micron Technology, Inc. Memory recovery partitions

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10042575B2 (en) * 2015-03-06 2018-08-07 Toshiba Memory Corporation Memory system including a battery powered buffer with a storage capacity of that buffer dependent on the voltage level of the battery
US11023316B2 (en) * 2018-02-02 2021-06-01 Solid State Storage Technology Corporation DRAM-based storage device and associated data processing method
US12165686B2 (en) * 2021-02-17 2024-12-10 Intel Corporation Memory power management method and apparatus
US12001678B2 (en) * 2022-08-25 2024-06-04 Micron Technology, Inc. Address translation metadata compression in memory devices
US12105621B2 (en) * 2022-08-31 2024-10-01 Micron Technology, Inc. Logical to physical (L2P) address mapping with fast L2P table load times

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201123013A (en) * 2009-12-28 2011-07-01 Apacer Technology Inc Method for increasing booting speed of electronic device
TW201243593A (en) * 2011-04-28 2012-11-01 Phison Electronics Corp Data writing method, memory controller and memory storage apparatus
TW202125263A (zh) * 2019-12-26 2021-07-01 大陸商深圳大心電子科技有限公司 儲存控制器、記憶體管理方法與儲存裝置
US20240061748A1 (en) * 2022-08-18 2024-02-22 Micron Technology, Inc. Memory recovery partitions

Also Published As

Publication number Publication date
TW202544812A (zh) 2025-11-16
US20250348229A1 (en) 2025-11-13
US12504888B2 (en) 2025-12-23

Similar Documents

Publication Publication Date Title
TWI514408B (zh) 於裝置開機期間處置來自非揮發性記憶體之錯誤
US9329931B2 (en) Solid state drive emergency pre-boot application providing expanded data recovery function
JP6465806B2 (ja) ソリッドステートドライブアーキテクチャ
US20190108101A1 (en) Memory module with non-volatile backup storage
KR101678911B1 (ko) 데이터 저장 장치 및 그것을 포함하는 컴퓨팅 시스템
CN107632939A (zh) 用于存储装置的映射表
TWI712954B (zh) 用於自刷新旁路之記憶體系統、方法及電腦可讀儲存媒體
WO2021253983A1 (zh) 一种数据恢复方法、装置及固态硬盘
TWI715925B (zh) 用於備份操作之方法與非暫時性電腦可讀儲存媒體,以及可用於備份操作之記憶體系統
US9015459B2 (en) Method of initializing operation of a memory system
TWI660306B (zh) 資料儲存裝置的操作方法
TW202240407A (zh) 主機記憶體緩衝區管理方法、記憶體儲存裝置與記憶體控制電路單元
JP2018022333A (ja) ストレージ制御装置および記憶装置管理プログラム
TWI898586B (zh) 固態硬碟裝置之資料存取方法及固態硬碟裝置
TWI709034B (zh) 自揮發性至非揮發性記憶體之備份操作
US20220413962A1 (en) Detecting and recovering a corrupted non-volatile random-access memory
CN115840661A (zh) 从hmb丢失恢复的无dram ssd
US20250068517A1 (en) Storage device including mapping memory and method of operating the same
CN120929303A (zh) 固态硬盘器件的数据存取方法及固态硬盘器件
CN114822630B (zh) 一种基于mram缓存的混合型nvme ssd存储系统
US12067265B2 (en) Idle power mode for external storage device
US11809742B2 (en) Recovery from HMB loss
KR20200019513A (ko) 컨트롤러, 메모리 시스템 및 그 동작 방법
CN114968630A (zh) 提高存储设备可用性的故障管芯管理方法
TWI854482B (zh) 資料備份還原方法及其資料備份還原裝置