TWI678620B - 儲存系統及儲存方法 - Google Patents
儲存系統及儲存方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/068—Hybrid storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical 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)
- 一種儲存系統,包含:一主機,用以接收一驅動指令以促使一驅動器收集一使用者資訊;其中,該驅動器依據該使用者資訊以產生一命中率資訊,並依據該命中率資訊產生一映射表;以及一儲存裝置,係與該主機電性連接,該儲存裝置包含:一控制器,包含:一處理單元,用以接收來自該驅動器的該映射表;以及一靜態隨機存取記憶體(Static Random-Access Memory,SRAM),用以儲存該映射表;以及複數個NAND型快閃記憶體,用以儲存複數個儲存資料;其中,該儲存裝置不包含一動態隨機存取記憶體(Dynamic Random Access Memory,DRAM),當該主機接收到一存取指令時,該處理單元讀取該靜態隨機存取記憶體中的該映射表以尋找對應該存取指令的該些儲存資料;其中,該映射表係存放命中率較高的邏輯區塊位址資訊。
- 如請求項1所述之儲存系統,其中該使用者資訊包含一邏輯區塊位址(Logical Block Address,LBA)資訊,且該儲存裝置為一固態硬碟(Solid State Disk、Solid State Drive,SSD)。
- 如請求項1所述之儲存系統,其中該驅動器用以執行一轉換指令,該轉換指令用以將該儲存裝置原有的加速機制關閉,並將加速機制的控制權轉換至該主機。
- 如請求項1所述之儲存系統,其中該驅動器紀錄一輸入輸出資訊,以收集該使用者資訊。
- 如請求項1所述之儲存系統,其中當該儲存裝置支援主機記憶體緩衝區(Host Memory Buffer,HMB)功能時,該儲存系統更包含:一外部動態隨機存取記憶體,藉由高速非揮發性記憶體(NVM Express,NVMe)介面以與該儲存裝置通訊耦接,該處理單元將該映射表傳送到該外部動態隨機存取記憶體以儲存之;當該主機接收到該存取指令時,該處理單元讀取該外部動態隨機存取記憶體中的該映射表以尋找對應該存取指令的該些儲存資料。
- 一種儲存方法,包含:藉由一主機以接收一驅動指令,該驅動指令促使一驅動器收集一使用者資訊;其中,該驅動器依據該使用者資訊以產生一命中率資訊,並依據該命中率資訊產生一映射表;藉由與該主機電性連接之一儲存裝置中的一處理單元以接收來自該驅動器的該映射表;其中,該儲存裝置不包含一動態隨機存取記憶體(Dynamic Random Access Memory,DRAM);藉由一靜態隨機存取記憶體(Static Random-Access Memory,SRAM)以儲存該映射表;藉由複數個NAND型快閃記憶體以儲存複數個儲存資料;其中,當該主機接收到一存取指令時,該處理單元讀取該靜態隨機存取記憶體中的該映射表以尋找對應該存取指令的該些儲存資料;其中,該映射表係存放命中率較高的邏輯區塊位址資訊。
- 如請求項6所述之儲存方法,其中該使用者資訊包含一邏輯區塊位址(Logical Block Address,LBA)資訊,且該儲存裝置為一固態硬碟(Solid State Disk、Solid State Drive,SSD)。
- 如請求項6所述之儲存方法,更包含:藉由該驅動器以執行一轉換指令,該轉換指令用以將該儲存裝置原有的加速機制關閉,並將加速機制的控制權轉換至該主機。
- 如請求項6所述之儲存方法,其中該驅動器紀錄一輸入輸出資訊,以收集該使用者資訊。
- 如請求項6所述之儲存方法,其中當該儲存裝置支援主機記憶體緩衝區(Host Memory Buffer,HMB)功能時,該儲存方法更包含:藉由該處理單元將該映射表傳送到一外部動態隨機存取記憶體以儲存之;其中該外部動態隨機存取記憶體,藉由高速非揮發性記憶體(NVM Express,NVMe)介面以與該儲存裝置通訊耦接;當該主機接收到該存取指令時,該處理單元讀取該外部動態隨機存取記憶體中的該映射表以尋找對應該存取指令的該些儲存資料。
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)
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)
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)
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 | 삼성전자주식회사 | 맵 스케줄링을 수행하기 위한 스토리지 장치 및 그것을 포함하는 전자 장치 |
-
2018
- 2018-03-07 TW TW107107766A patent/TWI678620B/zh active
-
2019
- 2019-03-06 US US16/294,623 patent/US10789016B2/en active Active
Patent Citations (2)
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)
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 |