TW201017405A - Improved hybrid drive - Google Patents

Improved hybrid drive Download PDF

Info

Publication number
TW201017405A
TW201017405A TW098131198A TW98131198A TW201017405A TW 201017405 A TW201017405 A TW 201017405A TW 098131198 A TW098131198 A TW 098131198A TW 98131198 A TW98131198 A TW 98131198A TW 201017405 A TW201017405 A TW 201017405A
Authority
TW
Taiwan
Prior art keywords
ssd
hdd
read
memory
block
Prior art date
Application number
TW098131198A
Other languages
English (en)
Inventor
Siamak Arya
Fong Long Lin
Original Assignee
Silicon Storage Tech Inc
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 Silicon Storage Tech Inc filed Critical Silicon Storage Tech Inc
Publication of TW201017405A publication Critical patent/TW201017405A/zh

Links

Classifications

    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • 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/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
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1021Hit rate improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

201017405 六、發明說明: t發明所屬之技術領域】 技術領域 本發明關於一改良式儲存裝置,其包含一硬碟驅動機 及一非依電性記憶體快取。 L· iltr ^ 發明背景 混成驅動機在此技藝中已熟知。一混成驅動機包含一 硬碟驅動機(HDD)及用作一快取記憶體之一固態驅動機 (SSD)。一混成驅動機之吸引力在於自HDD頻繁存取之資料 或程式儲存在SSD之非依電性記憶體中,該SSD充當該HDD 之一快取。因此,在理論上一混成驅動機應該提高性能、 減少存取時間及降低功耗。然而,混成驅動機由於多種原 因未能兒現其承諾。 典型地,在先前技術中,混成驅動機多作爲一習知的 快取記憶體操作。最初,當一資料區塊被自該HDD擷取或 讀取時’其也儲存在該SSD中。如果一隨後的讀取請求指 向同一區塊,那麼自該SSD讀取該資料。然而,如果該隨 後的讀取請求指向一不同區塊,那麼讀取來自該不同區塊 之資料且同時將其儲存在該SSD中。—旦該SSD被填滿且對 該HDD之一隨後的讀取請求被發出,那麼典型地,將依對 該HDD之最近請求所讀取之資料儲存在該SSD中的一位 置,取代該SSD中在存取時間上最早的資料區塊。此理論 是,如果在該SSD中的—資料區塊經最長時間段未被存 3 201017405 取,其應當被取代。 在一些混成驅動機中,該SSD之一部分記憶體致力於 儲存作業系統程式或類似之物,該等作業系統程式或類似 之物一直被使用且無論它們怎樣很少使用都不會被取代。 儘管如此,混成驅動機仍未達到它們的期望,因爲頻 繁使用的程式及資料往往未能在該SSD中找到。在某種程 度上,這是由於在該SSD中使用的該非依電性記憶體之費 用導致的。因此,在該SSD中使用的總記憶體量很小。而 且’用於該SSD之最佳化使用之習知方法已依賴於該ssd係 為該HDD之一靜態記憶體。 因此需要改良混成驅動機之性能。 【明内3 發明概要 因此,在本發明中,一非依電性儲存系統包含具有一 第-容量之-硬碟驅動機(HDD),其用於在其中以多個區 塊儲存資訊。該儲存系統還包含具有一比該第—容量小的 第二容量之-非依電性固態記憶體(SSD),其用於在其中儲 存資訊。最後,該儲存系統包含具有一依電性記憶體之一 控制器且該控制器用於控制該HDD之讀取操作及該之 讀取/寫人操作。該控制器把在第—時間段中自該HDD讀取 區塊之位址儲存在該依電性記憶體中且決定在該第一時間 段中多個最縣ff取H塊。該控㈣接著使魏D儲存自 該HDD最頻繁讀取區塊之f訊且此後#_存系統被請求 以自該等最頻繁讀取區塊存取資訊時使該資訊自該ss〇中 201017405 被讀取。該控制器在一第二時間段後重置在該依電性記憶 體中的該等最賴繁讀取區塊之識別,其中該第二時間段比 該第一時間段長。 本發明還關於讀取儲存在以上所述之非依電性儲存系 統中的資料之〜方法。 圖式簡單說明 第1圖是本發明之該改良式儲存系統之一方塊級圖式。 第2a、b圖是用於第1圖顯示的該控制器中的緩衝器之 齡一個實施例之一示意圖。 【方式j 發明之詳細説明 參考第1圖,顯示了本發明之一改良式非依電性儲存系 統10之一方塊級圖式。該系統包含連接於主機裝置12之一 控制器20。該主機裝置12典型地是一處理器或一電腦。該 控制器20包含一依電性記憶體3〇、一微處理器22及一非依 電性記憶體(NVM)24。該NVM 24儲存籍由該微處理器22執 行之一程式。當然,儲存在該NVM 24中的該儲存程式也可 籍由該主機裝置12更新。該微處理器22接收來自該NVM 24 之該儲存程式且執行其中的指令及控制該依電性記憶體 30。此外,該控制器連接於一硬碟驅動機(HDD)4〇。最後’ 該系統10包含一固態驅動機(SSD)50,其也連接於該控制器 20且受該控制器20控制。根據下文描述之本發明,執行來 自該NVM 24之該儲存程式之該微處理器22還控制該HDD 40與該SSD 50及該非依電性記憶體30之操作。 5 201017405 該HDD4〇疋-習知的磁碟驅動機而該ss〇5〇也是一 習知的驅動機’其由非依電性固態記㈣積體電路晶 片組成。 在該系統1〇之操作中,當打開電源時該依電性記憶體 30被“重置”,因爲根據定義,當轉電料__依電性記憶 體30“丢失”赫在其中的所有内容。最初,#該主機⑽ #對4#操作時’該控制^讀取該HDD 4〇且 從其中擷取資料。該HDD 4〇可藉由雜制㈣分成多個區 塊。該主機12所請求的該特定資料被自該等區塊中的一個 區塊讀取。該主機12所請求的該讀取資料之區塊之位址接 著被儲存在3依電性§己憶體3G巾。與請求的該讀取資料之 該區塊之位址相關聯的還有_計數器,表示自該HDD 4〇讀 取該資料區塊之次數。 從該HDD 40擷取資料(當該主機12發出每一新讀取請 求時)及把一特定區塊已被存取之頻率記錄在該依電性記 憶體中之此程序持續一第一時間段N。一旦經過該第一時間 段N ’該控制器2 0自該依電性記憶體3 〇決定在該第一時間段 N期間已被存取之區塊之列表。該控制器2〇選擇或決定自該 HDD 40最頻繁存取之區塊之列表,使得該等最頻繁存取區 塊之資料可被儲存在該SSD 50中。當然,該SSD 5〇之—部 分可包含作業程式及類似之物,該作業程式及類似之物靜 態儲存在該SSD 50中無關於本發明之方法,因此用於啓動 目的之那些程式籍由從該SSD 50中而不是從該hdd 4〇中 存取可產生快速啓動。 201017405
一旦該等最頻繁讀取或存取區塊被識別,接著來自那 些自該HDD 40最頻繁存取區塊之資料被儲存在該SSD 5〇 中。這可以兩種方式中的一種完成。第一種方式,當該主 機12向該系統1〇做出對來自該等自該HDD 4〇最頻繁存取 區塊之資料之一讀取操作之每一讀取請求時,該資料被從 此區塊中讀取且儲存在該SSD 5〇中,而來自該區塊之資料 也提供給該域I2。第二種方式,替代或加之該第一種方 式,當该系統ίο間置且未收到來自該主機12之任何命令或 請求(讀取或寫入)時,該系統1〇可讀取自該hdd 4〇最頻繁 存取區塊巾的料區塊且將其物存在該SSD 50中。以此 方式,該祕1G可驗㈣存操作而^影響來自該主機^ 之任何請求。 旦自*亥等最頻繁存取區塊之該資料被儲存在該SSD 50中,接著當來自社機12之每—新讀取請求被該系統ι〇 接收到時,該控制器20首先檢查該依電性記憶體魏決定 該資料是否在該SSD 5Gt。如㈣資料在該灿辦,那 麼來自該SSD 50之資料被讀取。然而,如果該資料不是來 自該等最頻繁存取區塊中的—個,那麼該㈣被自該hdd 40讀取。無論在哪種情況下,在該依雜記髓尉的該 使用頻率計數器隨每__次—資料區塊自該hdd 中或該 SSD 50中讀取而遞增。如果該主機12寫人資料到該等最頻 繁存取區塊中的—個,那麼該新資料區塊也4寫入該SSD 50及該HDD 40。其持續一第二時間段N。 在第二時間段N結束時,該控制㈣重新檢查儲存在該 7 201017405 依電性記憶體30中的使用頻率計數器之值。該控制器20將 再次自該依電性記憶體30決定已自該HDD 40最頻繁存取 區塊之列表,使得來自此等最頻繁存取區塊之資料可儲存 在該SSD 50中。由於可能要儲存在該SSD 50中的該等資料 中的一些已經從第一時間段N中儲存在該SSD 50中,所以 該等最頻繁存取區塊與在第一時間段N中最頻繁存取區塊 之變化即使有的話也不大。因此,第二時間段N後,儲存該 等最頻繁存取區塊之資料所需的時間比最初該第一時間段 N後儲存SSD 40時要短。 每一時間段N後重複檢查最頻繁存取區塊之操作被重 複’直到經過一總時間段Μ。大體上,一段時間μ(諸如24 小時)中可有多個Ν時間段(每個Ν為1小時),其中該ssd 50 藉由該依電性δ己憶體3 0中的該等使用頻率計數器更新。然 而,在該Μ時間段結束時,該依電性記憶體中的所有使用 頻率計數器被重置。 參考第2a圖及第2b圖,顯示了用在第旧顯示的該控制 器20中的該依電性記憶體30之一個實施例之一示意圖。該 依電性s己憶體30包含兩個緩衝器:第2&圖中顯示的一第— 緩衝器32及第2b圖中顯示的―第二緩衝㈣。該第一緩衝 器32也被稱爲HDD緩衝器32。該緩衝器34也被稱爲SSD緩 衝器34。 假設該HDD 4〇具有一 128G位元組之總儲存容量 〇進_ 步假設每-資Μ塊是位元M。因此,在該麵4〇 中有1百萬個不同的區塊,每一個代表128K位元組之一資料 201017405 區塊。該HDD緩衝器32具有一 2M位元組之儲存容量,即i 百萬項,每一項具有2位元組或丨6位元。對於與每一區塊相 對應之每一項來説,該HDD緩衝器32具有14位元用以在第 一時間段N中記錄存取該區塊之頻率。而且每—區塊具有一 項(1位元)(被稱為‘‘在SSD中,,位元)用以指示此對應的項是 否在該SSD緩衝器34中。如果該位元被設定,則其指示此 HDD項也儲存在該SSD緩衝器34中。最後,每一區塊具有 一項(1位元)(被稱爲“鎖定”位元)用以指示此區塊是否被鎖 定。如果該位元被設定,則其指示此資料區塊在該SSD 5〇 中且被鎖疋且不能被移除或被一頻繁存取之區塊取代。 如果母一區塊是128K位元組,且如果我們假設此SSD 5 〇具有4G位元組之總儲存容量,則共有8K個不同區塊(每一 個128Κ位元組)可儲存在該ssd 50中。因此,該SSD緩衝器 34具有8Κ項,每一項各對應可儲存在該SSD5〇中之該等不 同區塊中的一個區塊。對於該SSD 5〇中的每一項來説,二 十(20)個位元被保留用於該區塊在該11〇〇 4〇中所對應的位 址。而且,1位元被保留用於項“在該SSD中的分區”,其指 不對應於該HDD位址之資料是否儲存在該SSC)5〇中。 在具有以上描述之該等依電性記憶體緩衝器32及34之 β亥系統ίο之操作中,電力開啓之後,該等記憶體32及34都 疋空的。我們假設該SSD 50也是空的。因此該HDD緩衝器 32中的該等區塊項之每一個中的“在ssd中,,之旗標是空 的,指示資料未儲存在該SSD緩衝器34中。而且,對應於 每一區塊項之該“鎖定”位元也沒被設定。隨著該hhd4〇2 9 201017405 一區塊中的每一項被存取,該HDD緩衝器32中的相對應的 區塊項中的該“使用頻率,,欄位遞增。接著在諸如六十(6〇) 分鐘之—第一時間段N後,該HDD緩衝器32中的該等項中 的許多項被檢查以決定在該“使用頻率”欄位中具有最高或 最大計數之8K個項。則如上所討論,在對該hdD 40中之此 等區塊項之一隨後的讀取期間將此等受讀取區塊之資料複 製到該SSD 50中,或當該系統1〇閒置且不為來自該主機12 之任何請求提供服務時’自該HDd 40讀取具有最高或最大 “使用頻率”之該8K個項之資料區塊且接著將其複製到SSD Θ 5〇中。無論是哪種情況,隨著自該HDD 4〇讀取一資料區塊 且接著將其複製到該SSD 50中,該HDD緩衝器32中與自該 HDD 40讀取之該區塊相對應的該旗標“在SSD中”則被設 - 定。受讀取之該區塊自其開始之該特定HDD位址接著以欄 _ 位“HDD位址”儲存在該SSD緩衝器34中的該8K個項之一 中。該旗標“在SSD中的分區,,接著也被設定,以指示該資料 在該SSD 50中。此程序繼續,直到所有的8κ個項被從該 HDD 40複製到該SSD 50中。 參
在複製程序中’或在所有的8K項被複製後,當該系統 10自該主機12接收到一讀取請求時,將該主機請求欲讀 取的該區塊自其開始之該HDD位址與儲存在該SSD緩衝器 34中的HDD位址相比較。如果該主機12請求的該特定HDD 位址在該欄位“HDD位址”上匹配於該SSD緩衝器34中的該 等項中的一個,則該資料從該SSD 50中的該相對應的項中 讀取。如果該主機12請求的該特定HDD位址在該欄位“HDD 10 201017405 位址”上不匹配於該SSD緩衝器34中的該等項中的任何一 個’則該資料從該HDD 40讀取。此程序繼續一第二時間段 N,其是另一六十(60)分鐘。如上所討論,在該第二時間段 N期間,該HDD緩衝器32中的該使用頻率計數器持續被更 新。最終,一時間段Μ(其可以是二十四(24)小時)之後,該 HDD緩衝器32中的該等使用頻率計數器被重置。當然,Ν 及Μ之值可動態地修改。 在該時間段Μ之後’該HDD緩衝器32中的所有一(1)百 萬個項中的欄位“使用頻率’’被重置為〇。接著達一第一時間 段N之存取該HDD以讀取之程序被重複。而且,如上文所 討論的’隨著該HDD 40之每一區塊被存取,該HDD緩衝器 32中的該“使用頻率”遞增。 第二時間段N過後,該HDD緩衝器32中的該使用頻率 欄位被分類,如以上討論。具有最高區塊之8K項再一次被 選擇。該控制器20接著查看該等已選擇的8K項之HDD位址 是否也存在於該SSD緩衝器34中。如果該已選擇項之該 HDD位址在該SSD緩衝器34中,則不作任何動作。然而, 如果該已選擇區塊項之該HDD位址不在該SSD緩衝器34 中,則將該SSD緩衝器34中此HDD位址之旗標“在SSD中” 設定,以指示該HDD位址不在該SSD緩衝器34中。此外, 該SSD緩衝器34被檢查,且未獲選擇的HDD位址之所有的 項則被從該SSD缓衝器34移除。該HDD緩衝器32中的所有 其它項(該8K已選擇的項之部分且尚未在該SSD緩衝器34 中的項)接著被複製到該SSD緩衝器34中的閒置項。那些已 11 201017405 複製項之相對應的旗標“在SSD中,,被設定,以指示該欄位在 該SSD緩衝器34中。然而該HDD位址之該旗標“在SSD中的 分區”直到此HDD位址之資料被複製且儲存在該SSD 50中 時才被設定。 · 此後,隨著每一次讀取操作發生,將來自該主機12之 HDD位址與儲存在該SSD緩衝器34中的HDD位址相比較。 如果該位址不匹配’則其指示該請求的位址不是該8尺項中 的一個且該資料直接從該HDD 40讀取。然而,如果該位址 匹配,則該旗標“在SSD中的分區,,被檢查。如果該旗標有 @ 效’則該資料從該SSD記憶體50中讀取。然而,如果該旗 標無效,則再一次該讀取請求發向該HDD 40,在該HDD 40 中讀取該區塊之資料且將其提供給該主機12。同時,將該 資料儲存在該SSD記憶體50中且“在SSD中的分區,,之旗標 接著被設定成有效,指示一隨後的讀取操作可從該SSD記 憶體50完成。 爲了保持資料的連貫性與一致性,在對該HDD 40之任 何寫入操作期間,向該HDD40某一區塊位址處之任何寫入 Θ 操作也將使相同資料被寫入該SSD 50,如果此相同位址之 該資料也存在於該SSD50中的話。 本發明之該方法及裝置之一個好處可透過下面的範例 看出。該系統10與該主機12 —起是一pc系統。在操作的第 一天,一使用者可能使用該PC來創建文件、使用文本編輯 (text editing)程式及儲存文本檔案。在這段期間此等程式及 資料將是最頻繁使用的。因此,該SSD 50將儲存該程式及 12 201017405 資:來最有效率的讀取以回應該主機12。在第二天,該pc 可能用以試算表(spfead sheet)料。賊算練纽相關聯 的樓案將儲存在該SSD对以用於此操作。因此,隨著使 用變化,儲存在該SSD 50中_資料/程式將改變以最佳化 該系統10之讀取操作。 熱於此技者應當清楚的是,本發明有很多變化。首先, 該SSD 5G中的該分區可以是-多位元欄位,其中每一位元 對應於轉移之最小單元。例如,對於每次存取4KB資料之 一儲存裝置來説,在一 128KB分區的情況中,可以有32個 每次可被存取及轉移的頁。因此,使此欄位為32位元將允 許標記被轉移的每一頁。而且,不必一起轉移該區塊之所 有128KB’尤其當該使用者每次請求4KB時。因此,每當_ 頁被轉移時’對於被轉移之該區塊而言此欄位中的該相對 應的位元被標記。 其次,該等缓衝器HDD 32及SSD 34可結合成一單—緩 衝器’其可使該SSD 50中的該區塊之位址在該HDD緩衝器 32之相對應的欄位中及使分區在SSD欄位中。這將使得& 該SSD 50中針對該已請求的HDD區塊之詢查更有效率。然 而,這需要比該兩個緩衝器32及34大的一緩衝區頁。 【圖式簡單說明】 第1圖是本發明之該改良式儲存系統之一方塊級圖式。 第2a、b圖是用於第1圖顯示的該控制器中的緩衝器之 一個實施例之一示意圖。 【主要元件符號說明】 13 201017405 ίο...改良式非依電性儲存系統 12.. .主機裝置、主機 20.. .控制器 22.. .微處理器 24.. .非依電性記憶體(NVM) 30.. .依電性記憶體 32.. .第一緩衝器、HDD緩衝器、依電性記憶體緩衝器、記憶體 34.. .第二緩衝器、SSD緩衝器、依電性記憶體緩衝器、記憶體 40··.硬碟驅動機(HDD) 50.. .固態驅動機(SSD)、SSD記憶體
14

Claims (1)

  1. 201017405 七、申請專利範圍: 1. 一種非依電性儲存系統,其包含: 二一第一容量之一硬碟驅動機,其用於在 其中以多個區塊儲存資訊; /、有-比第一容量小的第二容量之一非依電性固 態s己憶體(SSD),其用於在其中儲存資訊及
    具有一依電性記憶體之-控制器,且=於控制該 HDD之該讀取操作及該SSD之該讀取/寫入操作其中該 控制器用於把在-第-時職中自該咖讀取區塊之 位址儲存在該依電性記憶體中;用於決定在該第一段時 間中的多個最頻繁s賣取區塊;用於把來自該等自該Hdd 最頻繁讀取區塊之該資訊儲存在該SSD中;用於此後當 該非依電性儲存系統被請求以從該等最頻繁讀取區塊 存取資訊時,從該SSD讀取資訊;及用於在一第二時間 段後,重置在該依電性記憶體中的該等最頻繁讀取區塊 之識別’其中該第二時間段比該第一時間段長。 2·如申請專利範圍第1項所述之非依電性儲存系統,其中 該依電性記憶體中的最頻繁讀取區塊之該識別在每次 電力開啓後被重置。 3. 如申請專利範圍第1項所述之非依電性儲存系統,其中 該第二時間段包含多個第一時間段。 4. 如申請專利範圍第3項所述之非依電性儲存系統,其中 在每一第一時間段後,該控制器決定多個自該HDD最頻 繁讀取區塊。 15 201017405 5. 一種讀取儲存在—非依電性財Μ中的資料之方 法,其中鮮依電財特系統包含具有_第—容量之— 硬碟驅動機(讎),㈣於在其巾以?㈣塊儲 訊;具有-比該第-容量小的第二容量之—非依電性固 態記憶艘(SSD),其用於在其中儲存資訊;及具有—依 電性記憶體之一控制器’其用於控制該腦之該讀取操 作及該SSD之該軌/寫人操作;财法包含以下步驟: 自該HDD之區塊讀取資料達—第__時間段; 把自該HDD讀取區塊之位址儲存在該依電性記情 體中; ° &
    決定在該第一時間段中之多個最頻繁讀取區塊; 把來自該等自該HDD最頻繁讀取區塊之該資料儲 存在該SSD中; 當該非依電性儲存系統被請求以存取來自該等最 頻繁讀取區塊之資料時,自該SSD讀取資料;及
    在一第二時間段後,重置該依電性記憶體中的該等 最頻繁讀取區塊之識別’其中該第二時間段比該第一時 間段長。 6. 如申請專利範圍第5項所述之方法,其中把來自該等自 該HDD最頻繁讀取區塊之該資料儲存在該SSD中之該 步驟籍由當自該非依電性儲存系統請求該資料且從該 HDD讀取該資料時把來自該等自該HDD最頻繁讀取區 塊之該資料儲存在該SSD中來完成。 7. 如申請專利範圍第5項所述之方法,其中把來自該等自 16 201017405 該HDD最頻繁讀取區塊之該資料儲存在該SSC>中之該 步驟籍由當沒有向該#依電性儲存系統之請求時把來 自該等自該HDD最頻繁讀取區塊之該資料儲存在該 SSD中來完成。 8. 如申請專利範圍第5項所述之方法,其中該第二時間段 包含多個該第一時間段。
    9. 如申請專利範圍第8項所述之方法’其中與儲存在該依 電性記憶體中的該等自該HDD讀取區塊之該每一個位 址相關聯的是一計數器,其中每一計數器在完成對該 HDD之該相關聯位址之一讀取操作之後遞增。 10. 如申請專利範圍第9項所述之方法,其中該重置步驟在 該第二時間段後重置該等計數器中的每一個。 11. 如申請專利範圍第10項所述之方法,其中該決定步驟在 每一該第一時間段後基於該依電性記憶體中的該等計 數器決定該等讀取區塊之頻率。
    12· 一種用於控制一硬碟驅動機(HDD)及一非依電性固態 記憶體(SSD)之操作之控制器,該控制器包含: 一依電性記憶體; 子-儲存程式之—非依電性記憶體;及 彳1 / I· _執行該儲存程式以控制該HDD之 该璜取操作及該SSD 亥磧取/寫入操作,其中該微處理 器用於把在第一時間段 红扣 自該HDD讀取區塊之位址儲 存在該依電性記憶體中; 敢頻繁4取Q塊,用於把來自該等自該讎最頻繁 17 201017405 讀取區塊之該資訊儲存在該SSD中;用於此後當該非依 電性儲存系統被請求以自該等最頻繁讀取區塊存取資 訊時,自該SSD讀取資訊;及用於在一第二時間段後重 置該依電性記憶體中的該等最頻繁讀取區塊之識別,其 中該第二時間段比該第一時間段長。 13. 如申請專利範圍第12項所述之控制器,其中該微處理器 用於執行該儲存程式以在每次電力開啓後重置該依電 性記憶體中的最頻繁讀取區塊之該識別。 14. 如申請專利範圍第12項所述之控制器,其中該第二時間 段包含多個第一時間段。 15. 如申請專利範圍第13項所述之控制器,其中該微處理器 用於執行該儲存程式以在每一第一時間段後決定多個 自該HDD最頻繁讀取區塊。 18
TW098131198A 2008-10-06 2009-09-16 Improved hybrid drive TW201017405A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/246,327 US20100088459A1 (en) 2008-10-06 2008-10-06 Improved Hybrid Drive

Publications (1)

Publication Number Publication Date
TW201017405A true TW201017405A (en) 2010-05-01

Family

ID=42076701

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098131198A TW201017405A (en) 2008-10-06 2009-09-16 Improved hybrid drive

Country Status (3)

Country Link
US (1) US20100088459A1 (zh)
CN (1) CN101714062A (zh)
TW (1) TW201017405A (zh)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101350981B1 (ko) * 2008-12-04 2014-01-14 도시바삼성스토리지테크놀러지코리아 주식회사 복합 광 디스크 드라이브 및 그 구동 방법 및 이를 적용하는 전자 시스템
US8195878B2 (en) * 2009-02-19 2012-06-05 Pmc-Sierra, Inc. Hard disk drive with attached solid state drive cache
US8195891B2 (en) * 2009-03-30 2012-06-05 Intel Corporation Techniques to perform power fail-safe caching without atomic metadata
US9176883B2 (en) * 2009-04-30 2015-11-03 HGST Netherlands B.V. Storage of data reference blocks and deltas in different storage devices
US9582222B2 (en) 2009-04-30 2017-02-28 Western Digital Technologies, Inc. Pre-cache similarity-based delta compression for use in a data storage system
US9413527B2 (en) 2009-04-30 2016-08-09 HGST Netherlands B.V. Optimizing signature computation and sampling for fast adaptive similarity detection based on algorithm-specific performance
US8321630B1 (en) * 2010-01-28 2012-11-27 Microsoft Corporation Application-transparent hybridized caching for high-performance storage
US8850151B2 (en) * 2010-03-24 2014-09-30 Apple Inc. Hybrid-device storage based on environmental state
US20110246790A1 (en) * 2010-03-31 2011-10-06 Gainteam Holdings Limited Secured removable storage device
USRE49818E1 (en) * 2010-05-13 2024-01-30 Kioxia Corporation Information processing method in a multi-level hierarchical memory system
US8341339B1 (en) 2010-06-14 2012-12-25 Western Digital Technologies, Inc. Hybrid drive garbage collecting a non-volatile semiconductor memory by migrating valid data to a disk
US9471240B2 (en) 2010-06-24 2016-10-18 International Business Machines Corporation Performing read and write operations with respect to at least one solid state disk and at least one non-solid state disk
US8959284B1 (en) 2010-06-28 2015-02-17 Western Digital Technologies, Inc. Disk drive steering write data to write cache based on workload
US9146875B1 (en) 2010-08-09 2015-09-29 Western Digital Technologies, Inc. Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining
US9058280B1 (en) 2010-08-13 2015-06-16 Western Digital Technologies, Inc. Hybrid drive migrating data from disk to non-volatile semiconductor memory based on accumulated access time
US8639872B1 (en) 2010-08-13 2014-01-28 Western Digital Technologies, Inc. Hybrid drive comprising write cache spanning non-volatile semiconductor memory and disk
US9268499B1 (en) 2010-08-13 2016-02-23 Western Digital Technologies, Inc. Hybrid drive migrating high workload data from disk to non-volatile semiconductor memory
US8775720B1 (en) 2010-08-31 2014-07-08 Western Digital Technologies, Inc. Hybrid drive balancing execution times for non-volatile semiconductor memory and disk
US8683295B1 (en) 2010-08-31 2014-03-25 Western Digital Technologies, Inc. Hybrid drive writing extended error correction code symbols to disk for data sectors stored in non-volatile semiconductor memory
US8782334B1 (en) 2010-09-10 2014-07-15 Western Digital Technologies, Inc. Hybrid drive copying disk cache to non-volatile semiconductor memory
US8825976B1 (en) 2010-09-28 2014-09-02 Western Digital Technologies, Inc. Hybrid drive executing biased migration policy during host boot to migrate data to a non-volatile semiconductor memory
US8825977B1 (en) 2010-09-28 2014-09-02 Western Digital Technologies, Inc. Hybrid drive writing copy of data to disk when non-volatile semiconductor memory nears end of life
US8670205B1 (en) 2010-09-29 2014-03-11 Western Digital Technologies, Inc. Hybrid drive changing power mode of disk channel when frequency of write data exceeds a threshold
US8699171B1 (en) 2010-09-30 2014-04-15 Western Digital Technologies, Inc. Disk drive selecting head for write operation based on environmental condition
US8612798B1 (en) 2010-10-21 2013-12-17 Western Digital Technologies, Inc. Hybrid drive storing write data in non-volatile semiconductor memory if write verify of disk fails
US8427771B1 (en) 2010-10-21 2013-04-23 Western Digital Technologies, Inc. Hybrid drive storing copy of data in non-volatile semiconductor memory for suspect disk data sectors
US8429343B1 (en) 2010-10-21 2013-04-23 Western Digital Technologies, Inc. Hybrid drive employing non-volatile semiconductor memory to facilitate refreshing disk
US8560759B1 (en) 2010-10-25 2013-10-15 Western Digital Technologies, Inc. Hybrid drive storing redundant copies of data on disk and in non-volatile semiconductor memory based on read frequency
US9069475B1 (en) 2010-10-26 2015-06-30 Western Digital Technologies, Inc. Hybrid drive selectively spinning up disk when powered on
US20120191701A1 (en) 2011-01-26 2012-07-26 International Business Machines Corporation Database index profile based weights for cost computation
CN102722448B (zh) 2011-03-31 2015-07-22 国际商业机器公司 管理高速存储器的方法和装置
US9792218B2 (en) * 2011-05-20 2017-10-17 Arris Enterprises Llc Data storage methods and apparatuses for reducing the number of writes to flash-based storage
US9069678B2 (en) * 2011-07-26 2015-06-30 International Business Machines Corporation Adaptive record caching for solid state disks
KR101861170B1 (ko) 2011-08-17 2018-05-25 삼성전자주식회사 마이그레이션 관리자를 포함하는 메모리 시스템
KR20130024271A (ko) * 2011-08-31 2013-03-08 삼성전자주식회사 하드 디스크 드라이브와 불휘발성 메모리를 포함하는 스토리지 시스템
US9195530B1 (en) 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
US8713357B1 (en) 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US8630056B1 (en) 2011-09-12 2014-01-14 Western Digital Technologies, Inc. Hybrid drive adjusting spin-up profile based on cache status of non-volatile semiconductor memory
US8909889B1 (en) 2011-10-10 2014-12-09 Western Digital Technologies, Inc. Method and apparatus for servicing host commands by a disk drive
WO2013062542A1 (en) 2011-10-26 2013-05-02 Hewlett-Packard Development Company Segmented caches
US9268701B1 (en) 2011-11-21 2016-02-23 Western Digital Technologies, Inc. Caching of data in data storage systems by managing the size of read and write cache based on a measurement of cache reliability
US8977803B2 (en) 2011-11-21 2015-03-10 Western Digital Technologies, Inc. Disk drive data caching using a multi-tiered memory
US8977804B1 (en) 2011-11-21 2015-03-10 Western Digital Technologies, Inc. Varying data redundancy in storage systems
US8904091B1 (en) 2011-12-22 2014-12-02 Western Digital Technologies, Inc. High performance media transport manager architecture for data storage systems
US9053008B1 (en) 2012-03-26 2015-06-09 Western Digital Technologies, Inc. Systems and methods for providing inline parameter service in data storage devices
CN102662459A (zh) * 2012-04-22 2012-09-12 复旦大学 利用固态硬盘与机械硬盘混合存储减少服务器能源消耗的方法
CN103631737A (zh) * 2012-08-27 2014-03-12 鸿富锦精密工业(深圳)有限公司 存储器数据处理系统及方法
US8984267B2 (en) * 2012-09-30 2015-03-17 Apple Inc. Pinning boot data for faster boot
US8959281B1 (en) 2012-11-09 2015-02-17 Western Digital Technologies, Inc. Data management for a storage device
US20140207996A1 (en) * 2013-01-18 2014-07-24 Lsi Corporation Hybrid hard disk drive having a flash storage processor
US9141176B1 (en) 2013-07-29 2015-09-22 Western Digital Technologies, Inc. Power management for data storage device
US9244624B2 (en) 2013-08-01 2016-01-26 International Business Machines Corporation File load times with dynamic storage usage
US9070379B2 (en) 2013-08-28 2015-06-30 Western Digital Technologies, Inc. Data migration for data storage device
US8917471B1 (en) 2013-10-29 2014-12-23 Western Digital Technologies, Inc. Power management for data storage device
US9323467B2 (en) 2013-10-29 2016-04-26 Western Digital Technologies, Inc. Data storage device startup
WO2015072925A1 (en) * 2013-11-14 2015-05-21 Agency For Science, Technology And Research Method for hot i/o selective placement and metadata replacement for non-volatile memory cache on hybrid drive or system
US10534686B2 (en) 2014-01-30 2020-01-14 Micron Technology, Inc. Apparatuses and methods for address detection
US20150234595A1 (en) * 2014-02-14 2015-08-20 Kabushiki Kaisha Toshiba Storage device
CN104951239B (zh) * 2014-03-26 2018-04-10 国际商业机器公司 高速缓存驱动器、主机总线适配器及其使用的方法
CN113836084A (zh) * 2014-11-10 2021-12-24 创新先进技术有限公司 一种数据存储方法、装置和系统
US10089227B1 (en) 2015-05-06 2018-10-02 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with a write cache flushing algorithm
US10019362B1 (en) 2015-05-06 2018-07-10 American Megatrends, Inc. Systems, devices and methods using solid state devices as a caching medium with adaptive striping and mirroring regions
US10108344B1 (en) * 2015-05-06 2018-10-23 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with an SSD filtering or SSD pre-fetch algorithm
US10055354B1 (en) 2015-05-07 2018-08-21 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with a hashing algorithm to maintain sibling proximity
US10176103B1 (en) 2015-05-07 2019-01-08 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with a cache replacement algorithm
US10114566B1 (en) 2015-05-07 2018-10-30 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with a read-modify-write offload algorithm to assist snapshots
US9703485B2 (en) 2015-07-15 2017-07-11 Western Digital Technologies, Inc. Storage management in hybrid drives
US9880913B2 (en) * 2015-12-14 2018-01-30 International Business Machines Corporation Storing data in multi-region storage devices
US20170329684A1 (en) * 2016-05-13 2017-11-16 Synology Incorporated Method and apparatus for performing data recovery in redundant storage system
US9990134B2 (en) 2016-06-15 2018-06-05 Seagate Technology Llc Command tunneling in a hybrid data storage device
US10459658B2 (en) 2016-06-23 2019-10-29 Seagate Technology Llc Hybrid data storage device with embedded command queuing
US10628045B2 (en) 2016-06-23 2020-04-21 Seagate Technology Llc Internal data transfer management in a hybrid data storage device
US10067683B2 (en) * 2016-07-19 2018-09-04 Western Digital Technologies, Inc. Systems and methods for classifying data in solid state drives
US9927981B2 (en) 2016-08-29 2018-03-27 Seagate Technology Llc Hybrid data storage device with partitioned local memory
US10552053B2 (en) 2016-09-28 2020-02-04 Seagate Technology Llc Hybrid data storage device with performance mode data path
US10394493B2 (en) 2017-06-30 2019-08-27 Seagate Technology Llc Managing shingled magnetic recording (SMR) zones in a hybrid storage device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910106B2 (en) * 2002-10-04 2005-06-21 Microsoft Corporation Methods and mechanisms for proactive memory management
US7490197B2 (en) * 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US7424577B2 (en) * 2005-08-26 2008-09-09 Network Appliance, Inc. Dynamic optimization of cache memory
US7966450B2 (en) * 2005-09-01 2011-06-21 Micron Technology, Inc. Non-volatile hard disk drive cache system and method
US8032699B2 (en) * 2007-06-15 2011-10-04 Seagate Technology Llc System and method of monitoring data storage activity
US8375190B2 (en) * 2007-12-11 2013-02-12 Microsoft Corporation Dynamtic storage hierarachy management

Also Published As

Publication number Publication date
CN101714062A (zh) 2010-05-26
US20100088459A1 (en) 2010-04-08

Similar Documents

Publication Publication Date Title
TW201017405A (en) Improved hybrid drive
US9928167B2 (en) Information processing system and nonvolatile storage unit
US10387313B2 (en) Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
EP2544094B1 (en) Command resequencing in memory operations
US8489815B2 (en) Managing cache data and metadata
USRE46446E1 (en) Method and system for facilitating fast wake-up of a flash memory system
JP6310061B2 (ja) システムメモリから不揮発性データストレージに移行されるアプリケーションプログラムデータの選択的保持
US11194710B2 (en) Garbage collection—automatic data placement
US8825946B2 (en) Memory system and data writing method
CN105917318A (zh) 用于实现基于ssd的i/o高速缓存的系统和方法
US8862819B2 (en) Log structure array
US8433847B2 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
US20070260769A1 (en) Computer-implemented method, apparatus, and computer program product for managing DMA write page faults using a pool of substitute pages
US10223001B2 (en) Memory system
US7650489B2 (en) Determining coherency between a non-volatile memory and a system
US9946656B2 (en) Completion packet return based on eviction or flush
JP2011113129A (ja) 情報記録装置及び情報記録方法