TWI678620B - 儲存系統及儲存方法 - Google Patents

儲存系統及儲存方法 Download PDF

Info

Publication number
TWI678620B
TWI678620B TW107107766A TW107107766A TWI678620B TW I678620 B TWI678620 B TW I678620B TW 107107766 A TW107107766 A TW 107107766A TW 107107766 A TW107107766 A TW 107107766A TW I678620 B TWI678620 B TW I678620B
Authority
TW
Taiwan
Prior art keywords
access memory
mapping table
random access
storage device
host
Prior art date
Application number
TW107107766A
Other languages
English (en)
Other versions
TW201939286A (zh
Inventor
侯冠宇
Guan-Yu Hou
傅子瑜
Tz-Yu Fu
Original Assignee
宏碁股份有限公司
Acer Incorporated
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 宏碁股份有限公司, Acer Incorporated filed Critical 宏碁股份有限公司
Priority to TW107107766A priority Critical patent/TWI678620B/zh
Priority to US16/294,623 priority patent/US10789016B2/en
Publication of TW201939286A publication Critical patent/TW201939286A/zh
Application granted granted Critical
Publication of TWI678620B publication Critical patent/TWI678620B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一種儲存方法包含:藉由一主機以接收一驅動指令,驅動指令促使一驅動器收集一使用者資訊;其中,驅動器依據使用者資訊以產生一命中率資訊,並依據命中率資訊產生一映射表;藉由一儲存裝置中的一處理單元以接收來自驅動器的映射表;其中,儲存裝置不包含一動態隨機存取記憶體(Dynamic Random Access Memory,DRAM);藉由一靜態隨機存取記憶體(Static Random-Access Memory,SRAM)以儲存映射表;藉由複數個NAND型快閃記憶體以儲存複數個儲存資料;其中,當主機接收到一存取指令時,處理單元讀取靜態隨機存取記憶體中的映射表以尋找對應存取指令的此些儲存資料。

Description

儲存系統及儲存方法
本案是有關於一種儲存系統及儲存方法,且特別是有關於一種適用於低成本高速非揮發性記憶體(NVM Express,NVMe)之儲存系統及儲存方法。
由於儲存裝置為被動裝置,儲存裝置例如為固態硬碟,並不能夠得知真正系統重要的資料,所以儲存裝置廠在設計加速機制時往往只能夠透過內部開機前驗證(Pre-boot Authentication,PBA)-的命中率(hit rate)來統計哪一個區塊可能是對使用者重要或是值得加速的資料,然而此方法仍然不及系統端,來得熟悉使用者真正頻繁使用的資料;其中系統端例如為與固態硬碟電性耦接的電腦。
此外,隨著高速非揮發性記憶體(NVM Express,NVMe)市占攀升,在未來低成本NVMe,即不具有動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)的記憶體,此類型的產品將會逐漸增加;然而,由於低成本NVMe不具有DRAM的設計,故低成本NVMe的效能遠低於一般具有DRAM作為存放完整位址對映表(mapping table)表之儲存裝置的存取速度。因此,如何提升低成本NVMe的存取速度,已成為須解決的問題之一。
本案提供一種儲存系統及儲存方法,其可在儲存裝置本身不具有動態隨機存取記憶體時(例如低成本NVMe的儲存裝置),將映射表儲存於靜態隨機存取記憶體或是外部動態隨機存取記憶體中,當主機接收到存取指令時,可快速由靜態隨機存取記憶體或是外部動態隨機存取記憶體讀取映射表以尋找對應存取指令的儲存資料,藉此以提高低成本NVMe的儲存裝置的存取效能。
根據本案之一方面,提供一種儲存系統,包含:一主機以及一儲存裝置。儲存裝置包含一控制器以及複數個NAND型快閃記憶體。控制器包含一處理單元以及一靜態隨機存取記憶體(Static Random-Access Memory,SRAM)。主機用以接收一驅動指令以促使一驅動器收集一使用者資訊。其中,驅動器依據該使用者資訊以產生一命 中率資訊,並依據該命中率資訊產生一映射表。處理單元用以接收來自驅動器的映射表。NAND型快閃記憶體用以儲存複數個儲存資料。其中,儲存裝置不包含一動態隨機存取記憶體(Dynamic Random Access Memory,DRAM),當主機接收到一存取指令時,處理單元讀取靜態隨機存取記憶體中的映射表以尋找對應存取指令的此些儲存資料。
根據本案之另一方面,提供一種儲存方法包含:藉由一主機以接收一驅動指令,驅動指令促使一驅動器收集一使用者資訊;其中,驅動器依據使用者資訊以產生一命中率資訊,並依據命中率資訊產生一映射表;藉由一儲存裝置中的一處理單元以接收來自驅動器的映射表;其中,儲存裝置不包含一動態隨機存取記憶體(Dynamic Random Access Memory,DRAM);藉由一靜態隨機存取記憶體(Static Random-Access Memory,SRAM)以儲存映射表;藉由複數個NAND型快閃記憶體以儲存複數個儲存資料;其中,當主機接收到一存取指令時,處理單元讀取靜態隨機存取記憶體中的映射表以尋找對應存取指令的此些儲存資料。
100‧‧‧儲存方法
110~150‧‧‧步驟
200、300‧‧‧儲存系統
HS‧‧‧主機
10‧‧‧作業系統
iSRT‧‧‧Intel智慧反應技術
20‧‧‧驅動器
30‧‧‧控制器
32‧‧‧處理單元
34‧‧‧靜態隨機存取記憶體
41~44‧‧‧NAND型快閃記憶體
ST‧‧‧儲存裝置
50‧‧‧外部動態隨機存取記憶體
為讓本揭示內容之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖示之說明如下:第1圖為根據本案一實施例繪示的一種儲存方法的流程圖;第2圖為根據本案一實施例繪示的一種儲存系統的示意圖;以及第3圖為根據本案一實施例繪示的一種儲存系統的示意圖。
請參閱第1~2圖,第1圖為根據本案一實施例繪示的一種儲存方法100的流程圖。第2圖為根據本案一實施例繪示的一種儲存系統200的示意圖。於一實施例中,儲存系統200包含一主機HS及一儲存裝置ST。其中,主機HS包含作業系統10及驅動器20。儲存裝置ST包含控制器30及多個NAND型快閃記憶體41~44。控制器30包含處理單元32及靜態隨機存取記憶體34。
於一實施例中,主機HS可以是一筆電、一桌機、一手機、一平板或其他具有運算功能的裝置。
於一實施例中,驅動器20用以驅動儲存裝置ST進行運作,例如,驅動器20負責收集使用者行為,再透過驅動指令調用驅動器20,將所收集到 的使用者相關資訊傳送至儲存裝置ST,驅動器20可以由軟體或韌體以實現之。
於一實施例中,儲存裝置ST為一固態硬碟(Solid State Disk、Solid State Drive,SSD)。
於一實施例中,處理單元32可以由微處理單元(microcontroller)、處理器(microprocessor)、數位訊號處理器(digital signal processor)、特殊應用積體電路(application specific integrated circuit,ASIC)或一邏輯電路以實現之。
於一實施例中,請參閱第1圖,以下詳述本案儲存方法100的流程圖。儲存方法100中所提及的元件可由第2圖所述的元件實現之。
於步驟110中,藉由一主機HS以接收一驅動指令,此驅動指令促使一驅動器20收集一使用者資訊。其中,驅動器20依據使用者資訊以產生一命中率(hit rate)資訊,並依據命中率資訊產生一映射表。
於一實施例中,儲存裝置ST為不具有動態隨機存取記憶體的一固態硬碟(Solid State Disk、Solid State Drive,SSD)。
於一實施例中,使用者資訊包含一邏輯區塊位址(Logical Block Address,LBA)資訊,邏輯區塊位址資訊是描述儲存裝置ST上資料所在區塊的通用機制。邏輯區塊位址資訊可以是指某個資 料區塊的位址或是某個位址所指向的資料區塊,例如由邏輯區塊位址資訊可得知某一資料存放於NAND型快閃記憶體41的某個區塊中。
於一實施例中,映射表中所存放的為命中率較高(例如命中率高於一命中率門檻值)的邏輯區塊位址資訊。相較於儲存所有(全域)NAND型快閃記憶體41~44中的每一個區塊的邏輯區塊位址資訊,由於映射表只儲存命中率較高的邏輯區塊位址資訊,故映射表的大小不會過大,通常映射表的大小只需占所有NAND型快閃記憶體41~44空間的千分之一,例如,NAND型快閃記憶體41~44空間共為512GB,則映射表所需空間僅須約512MB。
於一實施例中,驅動指令可以是Intel智慧反應技術(Intel Smart Response Technology,iSRT),關於iSRT的技術為已知,故此處不贅述之。
於一實施例中,當主機HT由作業系統10接收到一驅動指令時,作業系統10會傳送驅動指令至驅動器20,透過驅動指令可開啟NVMe的混和提示功能(Hybrid hinting feature),混和提示功能是指透過驅動器20對NVMe下達一轉換指令,轉換指令用以將儲存裝置ST原有的加速機制關閉,並將加速機制的控制權轉換至主機HS,此 時,主機HS取得儲存裝置ST的加速機制的控制權,並藉由驅動指令促使驅動器紀錄一輸入輸出資訊(例如為使用者對儲存裝置ST存取行為的輸入輸出資訊),以收集使用者資訊,藉此可知使用者較常存取的檔案,並依據使用者資訊算出一命中率資訊。於一實施例中,命中率資訊可以是每一個NAND型快閃記憶體41~44(全域記憶體)中的每一個區塊被使用者存取到的機率。
於步驟120中,藉由一儲存裝置ST中的一處理單元32以接收來自驅動器20的映射表。其中,儲存裝置ST不包含一動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)。
於步驟130中,藉由一靜態隨機存取記憶體(Static Random-Access Memory,SRAM)34以儲存映射表。
於步驟140中,藉由複數個NAND型快閃記憶體41~44以儲存複數個儲存資料。
於一實施例中,此步驟130可以在步驟110、120或130之前實施。
於步驟150中,當主機HS接收到一存取指令時,處理單元32讀取靜態隨機存取記憶體34中的映射表以尋找對應存取指令的儲存資料。
更具體而言,驅動指令(例如為iSRT)為主機HS端的驅動腳色,當驅動指令被觸發後,驅動指 令會對儲存裝置ST下達轉換指令來啟動NVMe的混合提示功能,此時NVMe關閉自身的加速機制,於此例中,儲存裝置ST不具有動態隨機存取記憶體,例如儲存裝置ST為低成本(low cost)NVMe的儲存裝置,一樣透過驅動指令(例如為iSRT)估算出所需的映射表大小後,透過對NVMe下達內部靜態隨機存取記憶體34的調用請求,加速功能由主機HS端接管,當映射表有任何更新時驅動器20將更新的邏輯區塊位址資訊傳送至NVMe,並透過內部快閃記憶體轉換層(Flash Translation Layer,FTL)機制轉換出對應的更新之映射表存放至內部靜態隨機存取記憶體34中。
於一實施例中,存取指令可以是使用者透過作業系統10以觸發的讀取指令或寫入指令。
於一實施例中,當儲存裝置ST具有動態隨機存取記憶體時,動態隨機存取記憶體的存取速度是NAND型快閃記憶體41~44的兩倍,然而在實際使用的情況下,不是所有空間都需要加速,要加速的通常是常用的資料、系統必備的檔案及/或開機所需要的隨機資料等,通常而言,這些資料不會超過10GB,由於映射表只儲存命中率較高的邏輯區塊位址資訊(即NAND型快閃記憶體41~44中,較常被存取之資料的邏輯區塊位址),故只需要約10MB即可以利用映射表進行加速。此外,於 第1圖所示的儲存方法100是假設儲存裝置ST不包含一動態隨機存取記憶體的情形下,進行的加速儲存系統200存取速度的方法,由於一般儲存裝置ST(如固態硬碟)的靜態隨機存取記憶體34約有32MB,其已足夠用以儲存映射表,由於映射表只儲存命中率較高的邏輯區塊位址資訊,因此主機HS端可有較高機率由映射表快速地找到對應所需要的邏輯區塊位址,藉此可達成儲存裝置ST不包含一動態隨機存取記憶體的情形下,加速儲存系統200的存取速度的效果。
請參閱第3圖,第3圖為根據本案一實施例繪示的一種儲存系統300的示意圖。於一實施例中,儲存系統300包含一主機HS及一儲存裝置ST。其中,主機HS包含作業系統10及驅動器20。儲存裝置ST包含處理單元32及多個NAND型快閃記憶體41~44。控制器30包含處理單元32及靜態隨機存取記憶體34。
於此實施例中,儲存裝置ST支援主機記憶體緩衝區(Host Memory Buffer,HMB)功能,儲存系統300更包含一外部動態隨機存取記憶體50,外部動態隨機存取記憶體50藉由高速非揮發性記憶體(NVM Express,NVMe)介面以與儲存裝置ST通訊耦接,處理單元32將映射表傳送到外部動態隨機存取記憶體50以儲存之,當主機HS接收到存 取指令時,處理單元32讀取外部動態隨機存取記憶體中的映射表以尋找對應存取指令的儲存資料。
更具體而言,驅動指令(例如為iSRT)為主機HS端的驅動腳色,當驅動指令被觸發後,驅動指令會對儲存裝置ST下達轉換指令來啟動NVMe的混合提示功能,此時NVMe關閉自身的加速機制,於此例中,儲存系統300為支援HMB的平台,主機HS端藉由驅動指令估算出所需的映射表之大小後,對NVMe下達調用DRAM的請求,而NVMe支援HMB時,則主機HS端有權限能夠使用儲存系統300之DRAM(此DRAM可以是外接於儲存單元ST,或位於主機HS中)的空間,放置主機HS端所需對應的映射表,此後當映射表有任何更新時,透過驅動指令(例如為iSRT)對NVMe下達指令更新映射表,此時驅動器20則會將更新的邏輯區塊位址資訊傳送至NVMe,並透過內部快閃記憶體轉換層(Flash Translation Layer,FTL)機制轉換出對應的更新之映射表存放至外部動態隨機存取記憶體50。
綜上,本案的儲存系統及儲存方法可在儲存裝置本身不具有動態隨機存取記憶體時(例如低成本NVMe的儲存裝置),將映射表儲存於靜態隨機存取記憶體或是外部動態隨機存取記憶體 中,當主機接收到存取指令時,可快速由靜態隨機存取記憶體或是外部動態隨機存取記憶體讀取映射表以尋找對應存取指令的儲存資料,藉此以提高低成本NVMe的儲存裝置的存取效能。
雖然本案已以實施例揭露如上,然其並非用以限定本案,任何熟習此技藝者,在不脫離本案之精神和範圍內,當可作各種之更動與潤飾,因此本案之保護範圍當視後附之申請專利範圍所界定者為準。

Claims (10)

  1. 一種儲存系統,包含:一主機,用以接收一驅動指令以促使一驅動器收集一使用者資訊;其中,該驅動器依據該使用者資訊以產生一命中率資訊,並依據該命中率資訊產生一映射表;以及一儲存裝置,係與該主機電性連接,該儲存裝置包含:一控制器,包含:一處理單元,用以接收來自該驅動器的該映射表;以及一靜態隨機存取記憶體(Static Random-Access Memory,SRAM),用以儲存該映射表;以及複數個NAND型快閃記憶體,用以儲存複數個儲存資料;其中,該儲存裝置不包含一動態隨機存取記憶體(Dynamic Random Access Memory,DRAM),當該主機接收到一存取指令時,該處理單元讀取該靜態隨機存取記憶體中的該映射表以尋找對應該存取指令的該些儲存資料;其中,該映射表係存放命中率較高的邏輯區塊位址資訊。
  2. 如請求項1所述之儲存系統,其中該使用者資訊包含一邏輯區塊位址(Logical Block Address,LBA)資訊,且該儲存裝置為一固態硬碟(Solid State Disk、Solid State Drive,SSD)。
  3. 如請求項1所述之儲存系統,其中該驅動器用以執行一轉換指令,該轉換指令用以將該儲存裝置原有的加速機制關閉,並將加速機制的控制權轉換至該主機。
  4. 如請求項1所述之儲存系統,其中該驅動器紀錄一輸入輸出資訊,以收集該使用者資訊。
  5. 如請求項1所述之儲存系統,其中當該儲存裝置支援主機記憶體緩衝區(Host Memory Buffer,HMB)功能時,該儲存系統更包含:一外部動態隨機存取記憶體,藉由高速非揮發性記憶體(NVM Express,NVMe)介面以與該儲存裝置通訊耦接,該處理單元將該映射表傳送到該外部動態隨機存取記憶體以儲存之;當該主機接收到該存取指令時,該處理單元讀取該外部動態隨機存取記憶體中的該映射表以尋找對應該存取指令的該些儲存資料。
  6. 一種儲存方法,包含:藉由一主機以接收一驅動指令,該驅動指令促使一驅動器收集一使用者資訊;其中,該驅動器依據該使用者資訊以產生一命中率資訊,並依據該命中率資訊產生一映射表;藉由與該主機電性連接之一儲存裝置中的一處理單元以接收來自該驅動器的該映射表;其中,該儲存裝置不包含一動態隨機存取記憶體(Dynamic Random Access Memory,DRAM);藉由一靜態隨機存取記憶體(Static Random-Access Memory,SRAM)以儲存該映射表;藉由複數個NAND型快閃記憶體以儲存複數個儲存資料;其中,當該主機接收到一存取指令時,該處理單元讀取該靜態隨機存取記憶體中的該映射表以尋找對應該存取指令的該些儲存資料;其中,該映射表係存放命中率較高的邏輯區塊位址資訊。
  7. 如請求項6所述之儲存方法,其中該使用者資訊包含一邏輯區塊位址(Logical Block Address,LBA)資訊,且該儲存裝置為一固態硬碟(Solid State Disk、Solid State Drive,SSD)。
  8. 如請求項6所述之儲存方法,更包含:藉由該驅動器以執行一轉換指令,該轉換指令用以將該儲存裝置原有的加速機制關閉,並將加速機制的控制權轉換至該主機。
  9. 如請求項6所述之儲存方法,其中該驅動器紀錄一輸入輸出資訊,以收集該使用者資訊。
  10. 如請求項6所述之儲存方法,其中當該儲存裝置支援主機記憶體緩衝區(Host Memory Buffer,HMB)功能時,該儲存方法更包含:藉由該處理單元將該映射表傳送到一外部動態隨機存取記憶體以儲存之;其中該外部動態隨機存取記憶體,藉由高速非揮發性記憶體(NVM Express,NVMe)介面以與該儲存裝置通訊耦接;當該主機接收到該存取指令時,該處理單元讀取該外部動態隨機存取記憶體中的該映射表以尋找對應該存取指令的該些儲存資料。
TW107107766A 2018-03-07 2018-03-07 儲存系統及儲存方法 TWI678620B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW107107766A TWI678620B (zh) 2018-03-07 2018-03-07 儲存系統及儲存方法
US16/294,623 US10789016B2 (en) 2018-03-07 2019-03-06 Storage system and storing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107107766A TWI678620B (zh) 2018-03-07 2018-03-07 儲存系統及儲存方法

Publications (2)

Publication Number Publication Date
TW201939286A TW201939286A (zh) 2019-10-01
TWI678620B true TWI678620B (zh) 2019-12-01

Family

ID=67843918

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107107766A TWI678620B (zh) 2018-03-07 2018-03-07 儲存系統及儲存方法

Country Status (2)

Country Link
US (1) US10789016B2 (zh)
TW (1) TWI678620B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114238158A (zh) * 2021-12-17 2022-03-25 合肥沛睿微电子股份有限公司 数据存储管理方法和存储装置
US11977767B2 (en) * 2022-03-14 2024-05-07 Silicon Motion, Inc. Method and apparatus for caching address mapping information in flash memory based storage device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120110247A1 (en) * 2010-10-27 2012-05-03 International Business Machines Corporation Management of cache memory in a flash cache architecture
US20160246726A1 (en) * 2014-08-20 2016-08-25 Sandisk Technologies Inc. Adaptive host memory buffer (hmb) caching using unassisted hinting

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3906825B2 (ja) * 2003-06-17 2007-04-18 日本電気株式会社 計算機システム、計算機システム起動方法およびプログラム
US9003104B2 (en) * 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US8819367B1 (en) * 2011-12-19 2014-08-26 Western Digital Technologies, Inc. Accelerated translation power recovery
US9213632B1 (en) * 2012-02-29 2015-12-15 Marvell International Ltd. Systems and methods for data storage devices to use external resources
KR101979735B1 (ko) * 2012-11-02 2019-05-17 삼성전자 주식회사 비휘발성 메모리 시스템 및 이와 통신하는 호스트
US10445229B1 (en) * 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US10254972B2 (en) * 2016-09-13 2019-04-09 Toshiba Memory Corporation Storage device and storage system
JP6967986B2 (ja) * 2018-01-29 2021-11-17 キオクシア株式会社 メモリシステム
US10599576B2 (en) * 2018-07-23 2020-03-24 International Business Machines Corporation Hybrid memory access frequency
KR20200056533A (ko) * 2018-11-14 2020-05-25 삼성전자주식회사 맵 스케줄링을 수행하기 위한 스토리지 장치 및 그것을 포함하는 전자 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120110247A1 (en) * 2010-10-27 2012-05-03 International Business Machines Corporation Management of cache memory in a flash cache architecture
US20160246726A1 (en) * 2014-08-20 2016-08-25 Sandisk Technologies Inc. Adaptive host memory buffer (hmb) caching using unassisted hinting

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jesung Kim, Jong Min Kim, Sam H. Noh, Sang Lyul Min and Yookun Cho, "A SPACE-EFFICIENT FLASH TRANSLATION LAYER FOR COMPACTFLASH SYSTEMS," IEEE Transactions on Consumer Electronics, Vol. 48, No. 2, MAY 2002. *

Also Published As

Publication number Publication date
US10789016B2 (en) 2020-09-29
TW201939286A (zh) 2019-10-01
US20190278519A1 (en) 2019-09-12

Similar Documents

Publication Publication Date Title
US11960725B2 (en) NVMe controller memory manager providing CMB capability
US10108366B2 (en) Non-volatile memory apparatus and operating method thereof
JP6190045B2 (ja) 高性能でかつ低コストのフラッシュ変換層のためのシステムおよび方法
US10824564B2 (en) Operation method of memory controller and operation method of storage device including the same
TWI601060B (zh) 資料傳輸方法、記憶體儲存裝置及記憶體控制電路單元
US20130339576A1 (en) Method for constructing address mapping table of solid state drive
US9396108B2 (en) Data storage device capable of efficiently using a working memory device
US11620066B2 (en) Storage device with expandible logical address space and operating method thereof
KR20170087043A (ko) 저속 메모리를 이용하여 페이지 리맵핑 방식으로 바이트 어드레스 지정 능력 및 근-dram 성능을 달성하는 메커니즘
JP2017501504A5 (zh)
US11861359B2 (en) Storage device and method of operating the same
KR20100115580A (ko) 비휘발성 메모리 장치 및 컨트롤러를 포함하는 메모리 시스템
US11016904B2 (en) Storage device for performing map scheduling and electronic device including the same
KR20220060372A (ko) 메모리 시스템 및 그것의 동작방법
TWI678620B (zh) 儲存系統及儲存方法
US20190042415A1 (en) Storage model for a computer system having persistent system memory
US20170344311A1 (en) Method of operating a memory device
US10635601B2 (en) Flash memory devices and prefetch methods thereof
CN110515861B (zh) 处理刷写命令的存储设备及其方法
CN114064522A (zh) 一种计算机
CN110262750B (zh) 储存系统及储存方法
US11182329B2 (en) Data processing system and operating method thereof
KR20090129620A (ko) 불휘발성 메모리 시스템 및 불휘발성 메모리 장치의 액세스방법
TW201915740A (zh) 固態硬碟及其執行刪除命令的方法
US11853203B1 (en) Systems and methods with variable size super blocks in zoned namespace devices