TWI360050B - Data storage system, method for accelerated data s - Google Patents
Data storage system, method for accelerated data s Download PDFInfo
- Publication number
- TWI360050B TWI360050B TW094101858A TW94101858A TWI360050B TW I360050 B TWI360050 B TW I360050B TW 094101858 A TW094101858 A TW 094101858A TW 94101858 A TW94101858 A TW 94101858A TW I360050 B TWI360050 B TW I360050B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- storage device
- volatile
- storage
- address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
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 Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
,碘1修正替換頁| 1360050 九、發明說明: * 【發明所屬之技術領域】 且更具體而言係 本發明一般而言係關於資料儲存裝置 關於雙媒體儲存。 【先前技術】 通用電腦需要-大量儲存系統。不同於用於直接調處資 广主D己隐體,大里儲存器係用來保存資料。通常,一程 式儲存於大量儲存器内纟,當執行該程式時,或將該整個 程=或將該程式之部分複製至主記憶體内。一系統能夠將 该程式及其相關f料定位並自A量儲存裝置傳輸至主記憶 體之速度係與該系統之整體速度成一體。 常見的大量儲存裝置包括:軟碟、硬碟、光碟及磁帶。 每種裝置皆在容量、價格、速度及方便性方面具有其強點 及弱點》 此外諸如快閃记憶體之其它裝置能夠提供非揮發性儲 存。快閃記憶體係-種電可抹除可程式規劃唯讀記憶體 (EEPR〇M)。儘管㈣記憶體通常不像揮發性主記憶體那 樣快,但其仍快於硬碟。 本發明人先前已研究過將多個單獨裝置整合至一大量儲 存系統來最大化每一裝置之強點及最小化每一裝置之弱點 之概念。例如,本發明人亦係1997年12月31日公開之卩^丁 申請案「記憶體裝置」wo 97/50035之發明人,此案以引 用之方式倂入本文中。彼PCT申請案闡釋一種既包括—相 對慢存取之大量儲存裝置(諸如一硬碟)亦包括一相對快存 98844-99I108.doc 1360050 月日修i丨穿換Μ! 取之資料儲存裝置(諸如一快閃記憶體)之記憶體系統。一 類似概念業已揭示於別⑼年丨月18日頒予Daniel Auclair& Eliyahou Harari之第6 〇16 53〇號「既具有固態亦具有旋轉 磁碟型記憶體之電腦大量儲存系統」之美國專利中,該案 全文以引用的方式倂入本文中。 藉由將-非揮發性快閃記憶體裝置與—非揮發性硬碟相 組合,-合成大量儲存系統能夠大於其部件之和。然而, 以往’此-記憶體系統被限制於始終保持每—資料區段之 唯-版本之情形。該資料區段即可儲存在高速記憶體内亦 可儲存在—慢存取㈣儲存裝置内,由此使邏輯位址 工間等於同速5己憶體及慢存取大量資料儲存裝置之容量之 和0 田7有多種正使用的商品上成功之非揮發性記憶體產 口口,、通予保用-構建在一個或多個積體電路晶片上 閃記憶體單元陣列。一補蚩A… „ ' 通常位於一早獨積體電路晶片上之 記憶㈣制n(但非必須地制該記憶體陣列之運作。此— 控制器通常包括:_微處理 處理盗、某一非揮發性唯讀記愔體 (ROM)、一揮發性隨機存 〜 殊電路,諸如,一個力咨粗 将 ^ 在#枓於程式化及讀取運作期間穿過 该控制器時計算該資料中 ^ 竹τ t錯邊修正碼(ECC)之電路。 一典型的快閃陣列之印,陪辨 平』之。己隐體早凡可劃分為多個能夠一 擦除之分立記憶體單元 … 料70 &塊。亦即,該擦除區塊係該棒除 早兀一一可同時擦除之最小 〆'除 «-a , 里<5己憶體早兀。每一椒a 區塊通常儲存一個或多個 ①除 凡夕個貝枓頁,可在不同之子陣列或平 98844-991108.doc
爹正替換頁I 多::: =規劃或讀取該頁。每-平面通常儲存-個或 貝’區段.’·該區段之大小係由主機系統來決定。按昭 ::由磁碟所建立之標準,一實例區段包括⑽位元組 用者貢料。此等記憶體通常組態為每一擦除區塊内具 段:6 32或更多個頁’且每一頁儲存一個或幾個主資料區 為提高並行度,一般會將該陣列劃分為通常稱作平面的 β 二陣列。每-平面皆可包括其自己的資料暫存器及允許並 订運作之其匕電路,以便可將該等資料區段同時程式規劃 至所有平面内或自所有平面讀取之…單一積體電路上之 P車列可實體上劃分為多個平面,或每-平面可由單獨的一 ㈣多個積體電路晶片構成。此-記憶體構建方案之實例 閣釋於1998年8月25日頒予^等人之第5 798,968號美國專 利「平面解碼/虛擬區段構造」,及1999年3月3〇日頒予 等人之第5,890,192號美國專利「將多個資料區塊並行寫入 φ 快閃EEPR0M2多個子陣列」中,該等兩個專利之全文皆 以引用的方式併入本文中。 為進一步有效管理記憶體,擦除區塊可連接在一起形成 虛擬區塊或元區塊。亦即,可規定每一元區塊包括一來自 每一平面之擦除區塊。該元區塊之使用闡釋於2〇〇2年7月 25曰公開的第W002/058074號國際專利申請案「一非揮發 性記憶體内之部分區塊資料程式規劃及讀取運作」中,該 案之全文以引用的方式倂入本文中。該元區塊由一主機邏 輯區塊位址識別為一程式規劃及讀取資料之目的地。同 98844-991108.doc XJ〇〇〇5〇 f"~^nr^S----, …----------------- 樣,一元區塊之全部擦除區塊能夠一起擦除。一記憶體系 統内由此等大區塊及/或元區塊運作之.控制器需執行大量 功旎,其中包括接收自一主機之邏輯區塊位址(LB As)與記 憶體單元陣列内實體區塊編號(PBNs)之間的轉換。該等區 塊内之單個頁通常藉由該區塊位址内之偏置來識別。 此類型之快閃記憶體系統通常在可攜式應用中用作大量 儲存裝置。該快閃記憶體裝置使用一諸如ATA之協定經由 一邏輯介面與一主機系統進行通訊,且常常呈一可移動卡 之形式。某些市面出售之卡係:C〇mpactFlashTM(CF)卡、 多媒體卡(MMC)、安全數位(SD)卡、智慧媒體卡、個人資 訊卡(P-Tag)及記憶卡。主機包括個人電腦、筆記本電腦、 個人數位助理(PDAs)、各種資料通訊系統、及類似形式之 设備。除記憶體卡實施方案外,此類型之記憶體亦可嵌裝 於各種類型主機系統内。 至今,人們仍在不斷努力改良大量儲存裝置。 【發明内容】 本發明提供一資料儲存系統,其通常包括:一第一儲存 裝置、一第二儲存裝置及一儲存控制器。該第二儲存裝置 ::一較該第一儲存裝置為慢之平均存取時間及一為高之 谷里。平均存取時間係該裝置能夠開始讀取或寫入資料之 前必須之平均延遲。 於-實施例中,該儲存控制器可藉運作將資料之第一部 分引導至該第-料裝置及將資料之第二部分引導至該第 二儲存裝置。於另-實施财,儲存控制器可藉運作自第 98844-99ll08.doc • 8 - !360〇5〇 —儲存裝置類取資料之第 料之第二部分。 通吊’ β玄貝料之第-部分係一連續資料流内資料之第〆 部分。同樣,《料之第二部分係來自該資料流之剩餘資 料。通常使用-表格來含納關於該資料之第—部分之位置 及該資料之第二部分之位置的資訊。
於另-實拖例中,首先藉由自—主機系統匯流排接收〆 寫入指令將資料寫至一資料位址來儲存該資料 '然後,將 該資料之第一部分儲存於該第一儲存裝置内。在該資料之 第-部分完全儲存人第-裝置之前,該第二财裝置業已 做好寫人資料之準I在第二儲存裝置準備就緒後,將該 資料之剩餘部分儲存入第二儲存裝置内。
一部分及自第二儲存裝置擷取資 於再一實施例中,首先自該主機系統匯流排接收一讀取 指令。然後,該資料儲存系統確定該資料之第一部分是否 駐存於第一儲存裝置上。若該資料確實駐存於第一儲存裝 置上,則.自第一儲存裝置讀取該資料之第一部分;在完 成讀取該資料之第一部分之前,第二儲存裝置做好讀取該 資料之剩餘部分之準備;及自第二儲存裝置讀取該資料之 剩餘部勿。否則,若該資料之一部分未駐存於第一儲存裝 置上,則自第二儲存裝置讀取該資料之第一部分該資料之 剩餘部分二者。 藉由結合以舉例方式圖解闡釋本發明原理之附圖來閱讀 下述詳細說明,本發明之其它態樣及優點將顯而易見。 【實施方式】 98844-991108.doc jjij 车月!3修止替換頁丨 在下文闡釋中’列舉了大量具體細節以使人們能夠徹底 瞭解本毛明。當然’熟悉此項技術者應明瞭:無需某些或 全部此等具體細節亦可實施本發明。在其他示例中,為避 免對本發明產生不必要之混淆,本文不再 過程步驟β 通*本發明係藉由組合兩個各具有其強點及弱點之單 獨儲存裝置來改良先前之大量儲存裝置卜般亦稱為辅助 己德體)例如,儘營快閃記憶體較一硬碟機具有更快之 存取時間但其-般不具備硬碟機之儲存容量。如彼等熟 悉此項技術者所瞭解,任何兩個非揮發性儲存裝置皆能夠 用於本發明中,只要其中一個較另—個具有更快之存取時 間。應用於健存裳置之存取時間通常係定義為一儲存裝置 接收一貢料請求與該儲存裝置實際開始讀取及 資㈣的時間。例如,對於位於一硬碟或軟碟上之資;;. 而。,存取時間一般等於指令耗用時間、搜尋時間 '移定 時間及等待時間之總和。 “ 搜子時間及等待時間決定_磁確之整體存取時間。 碟之搜尋時間係— °賣寫磁頭自一個磁軌移動至另一磁軌 所花費之時1對 ★ 磁轨 W,-全程搜二:至一相鄰磁軌通常需
王耘搜哥(一自内磁軌至外磁軌之搜 反之亦然)需番_丨ς 0 一X ^要15 mSec,且隨機搜尋之平均 待時間係指磁職位於—位址磁執4 =:::區段轉動至磁頭之時間,且該時間係磁: 狡轉迷度之函數。科於 70ΛΛ 對於一 7200 rPm之旋轉速度,平均等待 98844-99I108.doc 1360050 S1 il正替換 時間係4.14 mSec,而最大等待時間係8 3 mSec。 相反地,於一典型的快閃磁碟裝置上,可將一資料區段 以約30 pS之速度轉移至該裝置,且可以2〇〇…將八個區 段並行程式規劃至該快閃記憶體内。此可提供—約Μ MB/s之叢發寫入速度’其中每25〇 μδ可將八個區段寫至裝 置。然而,由於該裝置偶爾亦須執行某些内務運作,諸^ 無用單7G收集、再定位資料區段來完成一資料區塊、及區 塊擦除;因此’將程式規劃八個區段之有效時間有時相當 長❶由此,一快閃記憶體之維持寫入速率大約為^ MB/Sec。當然,亦可於一快閃磁碟裝置内使用其它區段轉 移及並行程式規劃方案’以提供一不同之運作速度。 圖1A描繪一能夠使用本發明之實例性通用電腦系统 ⑽。該系統之組件包括:一電腦1〇5、諸如一滑鼠ιι〇及 鍵盤115等各種輸人裝置、及諸如—監視器i2G及—印表機 125等各種輸出裝置。 圖1B一描綠圖1所示電腦系統⑽之抽象視圖,圖中僅描 繪系統之基本組件。-單—組件130表示允許-使用者與 電腦系統1 00交作$給 ^: @ 之輸入裝置,例如一滑鼠及鍵盤。同 樣:一早一組件135表示能夠顯示電腦系統100所完成任務 :裝置例如—監視器及印表機。電腦系統100之核 心係-中央處理單元(CPU)14G及執行指令之組件。主記憶 體二5-般係揮發性且給cpu⑷提供供執行之指令及供該 等指7調處之賁料兩者。此等組件130、135、140及145皆 在此技術領域中衆所周知。 98844-991108.doc 1360050 一改良型大量儲存裝置150允許電腦系統1〇〇永久保存大 里資料。組件130、135、140、145及150能夠經由—主機 匯流排155相互交換資訊。 圖2A描緣一根據本發明之—實施例^文良型大量儲存裝 置15〇A。其中兩個儲存裝置’即-快閃記憶體系統205及 -硬碟機21G,係並行連接。該快閃記憶體系統⑽包括一 快閃記憶體陣列215及一快閃記憶體控制器22〇。硬碟機 210包括-硬碟225及一磁碟控制器23〇。每一控制器22〇及 230各負責相應類型之記憶體之特定作業。例如,快閃控 制器22G控制所有資料區段之邏輯_至實體映射及所有快閃 記憶體之管理’以使快閃控制器2 2 G與快閃記憶體陣列⑴ 間之介面250係一實體介面。磁碟控制器23〇管理硬碟us 之讀取及寫入作業。控制器22()及23()兩者經由—邏輯介面 260及265連接至路由器235。 一主機;I面240及一儲存控制器245雙雙定位於路由器 235之上游,以允許資料及控制資訊於主機介面240與磁碟 控制器230或快閃控制器22〇之間的任一方向上通行。此 外,路由器235能夠控制於磁碟控制器230與快閃控制器 220之間任一方向上之資料轉移。此等轉移可作為一獨立 作業實施。另—選擇係’此等轉移可結合主機介面240盘 大量儲存控制器⑽或咖之—間的任—方向上之資料轉移 來貫施。路由器235可含納用於f料轉移之控制邏輯。 主機介面240給主機匯流排155提供一直接介面,且能夠 給主機匯流排155上使用的特㈣^提供全部支援。該由 98844-99l1〇8.d, -12· 1360050 Γ^ΐί.
..—— ",r *-' J 主機介面240、磁碟控制器230及硬碟225構成之子系統及 由主機介面240、快閃記憶體控制器22〇及快閃記憶體陣列 215構成之子系統皆各構成完整的資料儲存系統。路由器 235可使貧料及控制信號通過而無需主機介面24〇之修改, 或可建立一用於與控制器220及230通訊之替代協定。路由 态235與大量儲存控制器220或230之間的介面260及265可 係一標準協定,例如ATA,或可係一規定用於改良型大量 儲存裝置150之特殊介面。介面26〇及265通常係提供對快 閃記憶體系統205及硬碟機21〇内單獨資料區段之隨機讀取 及寫入存取之邏輯介面,且不相依於各自儲存媒體之實體 特徵。 此外,快閃記憶體控制器22〇亦可支援介面26〇上之特殊 指令或作業,以便直接存取快閃記憶體陣列215之保留區 域’該些區域可用來儲存供儲存控制器245A使用的表格及 資訊記錄。另一選擇係’儲存控制器245A可具有自己的非 揮發性記憶體供儲存此等表格及記錄。 儲存控制器245A係一能夠指揮主機介面24〇與大量儲存 控制器220及230之間資訊轉移的智慧型控制單元。儲存控 制器245 A可協調至或自快閃記憶體系統2()5或硬碟機2 i 〇内 貧料之儲存或資料之讀取。儲存控制器245A能夠為儲存於 快閃記憶體陣列2 1 5之資訊維持位址列表。 揮發性記憶體可在諸多改良型大㈣存裝置⑼之組件 中擔當-緩衝器或快取記憶體,該等組件包括主機介面 240、路由器235、快閃記憶體控制器22〇或磁碟控制器 98844-99ll08.doc 1360050 '……—: ! V· -. · ·· Λ· 1 \ ' 230。或可排定一單一揮發性記憶體運作於不同組件内, 或可將單獨之揮發性記憶體專用於每一組件。 於另一實施例中’可將控制器22〇及230之功能與路由器 235 —起合併於一整合型控制裝置内❶此裝置亦可包括儲 存控制器245及主機介面240。然而,此一組態需要產生新 的控制器單元《相應地,控制器22〇及23〇中之任一個或其 兩者均不會再包括在記憶體裝置内。雖然此組態將需要開 發新的控制電路,但此亦可減少所需組件之總數量。 圖2 Β描繪一根據本發明另一實施例之改良型大量儲存裝 置150Β。該改良型儲存裝置15〇Β保留與圖2八中改良型大 量儲存裝置150Α内相同之硬碟機21〇組件,但其使用一包 含路由态23 5及主機介面240之功能以及圖2Α中儲存控制器 245Α之主要功能之儲存控制器245Β。邏輯介面26〇被去除 並由一直接連接至一快閃記憶體陣列215Β之實體介面275 所替代。於此一組態中,一磁碟加速器25〇宜為一位於硬 碟機210之ΑΤΑ介面上之前端快取記憶體或為利用硬碟機 210之現有組件而整合於硬碟機21〇總成中。於此實施例 中,不再需要快閃記憶體控制器22〇之功能且快閃記憶體 陣列215Β亦不再構成_邏輯資料儲存裝置之部分,但其可 直接用作-實體儲#器。&組態特別適合臨時儲存資料 流。 無論使用何種具體構造’磁碟加速通常皆可藉由在一第 一儲存裝置正經歷等待之同時將一「磁頭」資料寫至一第 -儲存裝置及/或自該第—儲存裝置讀取該「磁頭」資料 98844-991I08.doc 1360050 來達成。在圖2Α及圖2Β中所示之實施例中,快閃記憶體 陣列215所經歷之等待時間明顯小於硬碟225。將—資料流 之初始部分(「磁頭部分」)寫至快閃記憶體系統2 〇 5之快閃 記憶體陣列215,@料待硬碟奶之讀/寫磁頭合適定 位。—旦硬碟225已準備接收資料,即將剩餘部分(「主體 資料」)寫至硬碟機21〇之硬碟225。同時,該標頭資料及 主體資料形成一單一資料片&。一資,料片段可定義為一能
料致該第二儲存裝置經歷—非—般存取時間之資料蒸。 若係-硬碟225 ’可將一資料片段闡釋為一非鄰接先前資 料之順序資料’藉此可迫使硬碟機21〇經歷搜尋時間及/或 專待時間。 依據任何利用改良型大量儲存裝置15〇,該標頭資料之 大小或可基於需要來計算或可係一標準大小。一標準大小 可取決於多個因素,包括一硬碟機21〇之平均搜尋時間、 快閃記憶體陣列215之大小、及/或在因一無用單元收集運 作而出現一顯著延長之有效程式規劃時間之前可寫入的邏 輯上相鄰區段之數量。 圖3Α係一描繪一硬碟機位址空間315及快閃記憶體位址 空間320内標頭資料305及主體資料31〇之抽象視圖。儲存 控制器245Α或245Β使用一標頭映射表格協調標頭 資料305 及主體資料3 10之儲存。若快閃記憶體位址空間足夠大, 則標頭資料305能夠永久駐存於快閃記憶體陣列2丨5内。然 而,若該快閃s己憶體空間有限,則需要構建機理來允許自 快閃記憶體Is車列215中移除標頭資料3〇5,以給新標頭資料 98844-991108.doc 15 丄360050 (H-8_____ | 丄 :h#.v;i; »___________________________ j 騰出空間。 種此類機理可包括將磁碟位址空間内之空間33〇保留 用於標頭貢料305。當快閃記憶體陣列215内需要空間時, 可將標頭資料305複製至保留空間33〇 ,以使整個資料片段 在硬碟225上鄰接。較佳地,在未使用改良型大量儲存裝 置150A或150B時,標頭資料3〇5之複製可作為一背景作業 予以實施。此一區段再定位之頻率較佳係根據磁碟裝置與 快閃重曰己憶體裝置内儲存容量之比率,及根據能夠寫至改良 型大量儲存裝置150之單獨鄰接區段序列之數量而定。 同樣,圖3B係一描繪該整個改良型大量儲存裝置之一位 址空間350與磁碟位址空間315及快閃記憶體位址空間 之間關系之抽象視圖。由於磁碟位址空間3丨5内保留有用 於標頭資料之空間,所以用於該改良型大量儲存裝置之位 址空間350等於磁碟位址空間3丨5。 自圖4A與圖4B之差異可看出:系統性能因使用改良型 大量儲存裝置而提高。圖4A係一時序圖,其描繪當自一大 量儲存系統接收到一寫入指令405時所發生的傳統寫入處 理,此處,該大量儲存系統未使用本發明所提供之磁碟加 速。通常,大約在硬碟機210之讀/寫磁頭開始移動415至 位置之同時,資料410開始轉移至一磁碟快取記憶體。一 旦該讀/寫磁頭及硬碟225皆已進入位置,即可開始將資料 420寫至硬碟225。通常,將資料42〇自該快取記憶體寫至 硬碟225所花費置時間長於將進入資料41〇轉移至快取記憶 體内所花費之時間。 〜 98844-991108.doc -16· 1360050 正督換頁 圖4B係一描繪根據本發明實施例在自一使用磁碟加速之 大量儲存系統接收到-寫入指令4〇5時所發生的寫入處理 之時序圖。一旦接收到寫入指令4〇5,數個不同之運作即 可開始。例如,可開始將標頭資料425及轉移至快閃記 憶體内。揮發性緩衝記憶體無需快閃記憶體所需之内務運 作。因此,將標頭資料43G儲存於快閃記憶體系統2〇5内通 常包括:將標頭資料425轉移至一緩衝器,且隨後將標頭 資料425自該緩衝器轉移至快閃記憶體系統2〇5以於快閃記 憶體系統205内產生標帛資料43〇。在儲存標頭資料化及 430之同時,硬碟機⑽準備接收資料1正為該標頭資料 保留空間’則給硬碟機21〇提供一新的寫入指令们5。該新 的寫入指令435不會將讀/寫磁頭引導至該資料片段位址, 而是引導至該主體資料位址’而該主體資料位址僅係偏置 開分配給該標頭資料之分配空間之片段位址。在硬碟機 210接收到新的寫人指令435之後,即可將讀/寫磁頭及硬 碟適當定位440。 -旦標頭資料425全部轉移至快閃緩衝器似,則開始將 主體資料445儲存於改良型大量儲存裝置之磁碟快取記憶 體内,因此’一主機系統將資料轉移至改良型大量儲存裝 置150内之速度與一未使用磁碟加速之系統之轉移速度係 相同。當讀/寫磁頭及硬碟皆已進入位置時,—旦該主體 資料係可用,即可開始將主體資料45〇寫至硬碟。寫入圖 4B中之資料片段所花費之總時間明顯小於圖4A中所需之 總時間。 98844-991108.doc •17- 1360050 |~~^9:1ι· - 8 --i 1年月日修ά替換一 [ ' 一一一—-- . . .? 然而,系統性能之整體提尚既取決於快閃記憶體陣列 215之容量亦取決於存取改良型大量儲存裝置15〇之頻率。 如圖5Α所示,當快閃記憶體陣列215之容量增加時系統 性能會顯著獲益。快閃記憶體陣列21 5越大,在具有多個 資料片段之叢發行動期間可儲存的資料越多。 同樣地,圖5Β顯示:當利用更多改良型大量儲存裝置 1 50時,系統性能會降低。若持續不斷地存取大量儲存裝 置150,則將沒有足夠之時間將標頭資料自快閃記憶體陣 列215轉移至硬碟225(假設必須轉移)。最後,根據其錯誤 處理ΐ式,大量儲存裝置15〇或必須在接收新標頭資料之 前轉移舊標頭資料,或必須停止使用快閃記憶體陣列215 而將硬碟機210專用於新資料片段。如圖5Β所示,假若採 用後一錯誤處理常式,則系統性能應與一僅使用一硬碟機 21〇之系統相同。若快閃記憶體陣列215暫時不可用,則亦 可利用此一錯誤處理常式(例如,快閃記憶體陣列215參與 一無用單元收集過程)。若在主機資料正被寫至硬碟機21〇 同時執行無用單元收集作業,則會減少與無用單元收 集之衝大其原因係此時通常為快閃記憶體陣列215之待 用時間。 圖6描繪—種以環形緩衝區6〇〇形式組織快閃記憶體陣列 2+15Β之資料流中之區段儲存的方式。供寫入一資料區段之 當前位置由一寫入指標6〇5來界定,該寫入指標以一無終 點循環在圖6所示之位址空間内順時針移動。該位址空間 係由το區塊來界定(例如,61〇及615),該等元區塊以一預 98844-991 l〇8.d〇c 1360050 定人序或以寫入指標605自一全元區塊移動至一新檫除元 區塊時動態決定之次序鏈接(例如620) ^同樣地,一擦除指 標625以—無終點循環在圖6所示之位址空間内順時針移 =。為儲存新的資料區段,以一能夠確保在寫入指標6〇5 、維持ν畺備用已擦除元區塊之速率,擦除由擦除指標 625識別之元區塊。該等正被擦除之區塊包含最少量最近 寫入環形緩衝區6〇〇内之資料。 標頭資料鍺存於一循環位址空間内,亦即,一於其内可 j由提供一自最高位址返回至最低位址之遞增步驟,連續 實施遞增位址變遷之位址空間。於圖2A所描繪之改良型大 量儲存裝置150A之實施例中"决閃記憶體系統2〇5之邏輯 位址空間之-部分内的循環緩衝區提供該循環位址空間。 於圖2B所描綠之改良型大量儲存裝置⑽之實施例中, ㈣記憶料列215B之實體位址㈣内之環形緩衝區_ 提供該循環位址空間。 為保持决閃5己憶體之成本盡可能低,快閃記憶體陣列 出之容量通常小於儲存與改良型大量儲存裝置⑽之整個 位址空間350相關之全部標頭資料所需之容量。由此,為 了在快閃記憶體陣列215内騰出空間供繼續儲存標頭資 料’需要將標頭資料自快閃記憶體陣列215複製至硬碟225 上適合之保留空間。執行此作業之方法對藉由改良型大量 儲存裝置15〇而達成之系統性能之整體提高且有重要作 用。 、 理方法相 圖9描繪一與將標頭資料複製至硬碟機21〇之管 98844-99ll08.doc 1360050
i.L ~ S- I 年月曰修正替換頁丨 關的環形緩衝區600内之區段儲存位置圖。該環形緩衝區 600具有一自其最後實體位址至其第一實體位址呈環繞狀 之環形位址空間。該環形缓衝區6〇〇包括元區塊96〇、 區段資料在由遞 965 、 970 、 975 、 980 、 985 、 990及995 。 增寫入指標605所界定之位置處寫至該緩衝區。圖9將此循 環位址空間描繪為一移動線性位址空間’其中包括寫入指 標605之元區塊960被指配為緩衝區91〇之頂部。循環緩衝 區600内寫入指標6〇5前面的元區塊995被指配為緩衝區94〇 之底。卩。擦除指標625界定供擦除之下一目標區塊,且亦 界定該緩衝區内標頭資料輸入項之尾部。擦除指標與 緩衝區底部940之間的元區塊皆處於被擦除狀態。 自擦除指標625所識別之元區塊990複製有效標頭資料, 以允許擦除元區塊990。若標頭資料305自其寫至環形緩衝 區600後尚未被讀取,則將其複製至硬碟225上對應之保留 空間330。然而,若標頭資料3〇5自寫入後已經被讀取,則 亦可將其在寫入指標6〇5處複製回快閃記憶體,且因此保 存在環形緩衝區600内。此可允許可能供主機系統讀取之 標頭資料仍會在環形緩衝區600内保持可用。可使用標頭 映射表3 25及資料區段自身之一標頭内之邏輯位址資訊來 識別有效標頭資料。若有效標頭資料重疊元區塊99〇與另 一元區塊間之邊界’則完整地複製整個標頭資料。 …、'而,標頭資料可能因相同邏輯位址之更新標頭資料存 在於環形緩衝區600内之其他地方而無效。於此情形下, 無需在擦除元區塊990之前複製該標頭資料。 98844-991108.doc -20· 1360050
在除彼等由擦除指標625識別之元區塊外的元區塊上執 行提前複製作業。此可允許,例如,在主機所需的一磁碟 存取臨時阻止對硬碟225之複製作業時,繼續實施對快閃 己隐體陣列115之複製作業。—快閃記憶體複製指標9^及 一磁碟複製指標9G5皆可用於識別下—需要複製作業之位 置。位於擦除指標625與複製指標9〇5及915之間的有效標 ,資料均應已執行其所要求之複製作業。由於人們期望:
環形緩衝區_内儲存盡可能多的有效標頭資料因此, 對此等提前複製作業之程度設定若干限制。—磁碟複製限 制920及-快閃記憶體複製限制請界定磁碟複製指標簡 及快閃記憶體複製指標915可在擦除指標625前移動之最大 限度。 無需將擦除元區塊限定於指標625所識別之元區塊。例 ^ ’,若擦除指標625處之元區塊99()f要進—步快閃記憶體 複製作業,同時擦除指標625與磁碟複製指標9G5之間的元 • 品龙8〇不匕3未複製的有效資料’則可即刻擦除元區塊 980。於此情形下’可修改m區塊鏈接次序形成環 形緩衝區的區塊鏈接表,以將新擦除元區塊_移至擦除 指標625下方。 在任何可能之地方,將標„料之複製作為―背景任務 予以實施。一至快閃記憶體陣列215之複製可與主機·至-磁 碟或磁碟-至·主機之資料轉移同時實施。另一選擇係,假 若複製-完整的元區塊,則無需移動一實際資料。可僅修 改區塊鏈接表來再定位緩衝區内之資料。當主機介面非現 98844-991108.doc 1360050 i * _ i I '丨 vg 1 » >_ - - ·· -· _ — · »· -«· —·一 ·»· · n ft 用時,可在環形緩衝器600與硬碟快取記憶體之間實施— 快速磁碟複製。若主機開始活動,則會安全地終止一磁碟 複製,且此磁碟複製可在一隨後時間恢復或重複實施。” 儲存在快閃記憶體陣列215内之管理表可包括一標頭映 射表奶及-區塊鏈接表。於—實施例中,該標頭:射表 325僅能為儲存於快閃記憶體陣列215内之每一有效標頭資 料片段提供一個輸入項《隨後,該等輸入項將以一非連續 邏輯位址次序儲存於一專用區塊内的一標頭映射表區段集 合内,以允許藉助—確定邏輯地址搜尋一輸入項。每一輸 ,項可具有單獨攔位用⑨:一改良型大量儲存裝置内之邏 輯位址 '一環形緩衝區内之實體位址、一標頭資料之大小 (若未使用一固定磁頭大小)、一指示該標頭資料自寫入後 被已凟取之讀取旗標 '及一指示該標頭資料已複製至硬碟 機210之複製旗標。該區塊鏈接表給環形緩衝區6〇〇内之每 一鏈接兀區塊提供—個輸入項。該等輸入項以區塊鏈接次 序儲存在一專用區塊内的一鏈接表區段集合内。可添加新 的鏈接表區段,並可修改其次序。每一區段無需滿載,且 可添加新輸入項。該最後寫入的鏈接表區段可包括界定該 專用區塊内所有有效鏈接表區段之位置及其次序之資訊。 圖7係一本發明實例性實施例之實例性寫入技術之流程 圖。在705處,自主機系統匯流排155接收一在某個位址χ 寫入資料之指令。在71〇處,改良型大量儲存裝置150確定 位址X是否鄰接於先前已存取之位址且因此係一現有資料 片段之部分、.或係非鄰接於先前位址並界定一新資料片段 98844-991108.doc •22- 1360050 [f¥ 之開始。若該位址係鄰接,則該資料在7i5處被直接寫至 硬碟機210並續接該現有資料片段。若快閃記憶體陣列215 係非鄰接’則嘗試將該資料作為新資料片段之標頭資料寫 至快閃記憶體陣列21 5 »
若欲寫入標頭資料’則該系統在72〇處確定快閃記憶體 陣列215是否已準備就m任何原因快閃記憶體陣列 2 15不可用,則該系統可在715處簡單地將標頭資料寫至硬 碟仙〇且不對該>;段執行加速^快閃記憶體陣列215可 用則接下來的二個作業可大致同時進行。
三個作業中之第一個係在725處發送一搜尋指令至硬碟 機210。若資料最終將自快閃記憶體陣列215轉移至硬碟機 ’則該搜尋指令應慮及—等同於該標頭資料大小之偏 差。因此,硬碟機21〇應接收—搜尋指令以將讀/寫磁頭定 位至位址X+H,其中H係該標頭資料偏差之大小。在了“ 處,將該標頭資料寫至快閃記憶體陣列215。若使用一環 形緩衝區,則在寫入指標處寫入該標頭資料。在7^處, 更新該等區塊映射表以指示標頭㈣被獨自儲存在快閃記 憶體陣列215内。為適當地協調資料,儲存控制器應具有 關於硬碟225内邏輯位址及快閃記憶體陣列2丨5内實體位址 之育訊。另-選擇係,纟它資訊亦可儲存在區塊映射表 内。例如,若該磁頭大小係可變,則亦應儲存該磁頭之大 小。下文將结合圖8討論其它旗標。 在該標頭資料正被寫至快閃記憶體陣列215且該等區塊 映射表被更新之同時,硬碟機21〇在74〇處等待硬碟225適 98844-991108.doc •23· 1360050 1 扮―η~\ ,·年’月⑽換頁丨 當定位。一旦進入合適位置,假若改良型大量儲存裝置 150已自主機系統匯流排155接收到主體資料,則在745 處’該主體資料開始被寫至硬碟225。 圖8係一本發明實例性實施例之實例性讀取技術之流程 圖。在805處,自主機系統匯流排155接收一在某個位址χ 讀取資料之指令。在81〇處,儲存控制器245確定在區塊映 射表内是否存在一位址χ之輸入項。若該位址未在區塊映 射表内,則該系統在815處自硬碟機21〇讀取該資料。隨 後,在820處,系統確定快閃記憶體陣列215是否準備寫 入。若因某個原因(例如,無用單元收集)快閃記憶體陣列 215係不可用,則可結束該過程’從而擔當一無磁碟加速 之系統。然而,若快閃記憶體215係可用,則在825處,可 在自硬碟機210讀取資料之同時,正將標頭資料複製至快 閃記憶體陣列215。隨後,在830處,可更新該等區塊映射 表來指示現在駐存於快閃記憶體陣列215上之標頭資料。 一旦一輸入存在於該等區塊映射表内,則在8〇5處接收 一讀取指令後,儲存控制器245將遵循一不同之路徑。若 在810處該位址係在區塊映射表内,則儲存控制器245將給 硬碟機210發送一搜尋指令來搜尋硬碟機21〇内主體資料之 位址。在本發明之實施例中,該主體資料之位址將係偏置 標頭資料大小之位址X。隨後,在84〇處,儲存控制器245 通常等待快閃記憶體陣列215準備就緒❶然而,某些實施 例可具有額外的錯誤處理常式,該等額外的錯誤處理常式 可確定在硬碟機210内是否亦存在該磁頭之一副本,且 98844-991108.doc •24- 1360050
,則僅自硬碟 ΚαΤί 〜—ί -· 'r ——.一.—,,j 適合,若其在快閃記憶體陣列2丨5之前可用 機210讀取該資料。在某些專使用讀取技術的實施例中, 該標頭貢料之一副本始终存在於該硬碟機内。一旦快閃記 憶體陣列215可用,則在845處自該快閃記憶體讀取標頭資 料。在850處,可在該等區塊映射表内設置一旗標來指示 已頊取對應於表輸入項之資料。假若使用一環形緩衝區佈 置,在必須擦除含有該輸入項之元區塊時,此一旗標將允 許該輸入項藉由複製至該緩衝區之頂部而非硬碟機而得以 保存在該環形緩衝區内。 當該標頭資料完全自快閃記憶體陣列215讀出後,則在 855處,該系統可能需要等待硬碟225正確定位。一旦合適 定位,則在860處自硬碟225讀取該主體資料。 儘管本文以其當前所設想之最佳模式闡釋本發明,但應 瞭解··本發明彳具有諸多修改、運作模式及實施例,且此 等皆在熟悉此項技術者之能力範圍内且無需進一步實施發 明性行動。例如,其它改良型儲存裝置可使用除快閃記憶 體或硬碟機外之技術’且可包括電池支援型RAM、光碟、 相變化記憶體(OUM)、磁性RAM(MRAM)、鐵電聚合物、 鐵電RAM(FeRAM)、絕緣體上覆石夕(8〇1)等。相應地,意欲 又到專利書保護之内S陳述於申請專利⑮圍内及包括屬於 申請專利範圍糈神及範圍内之所有改變及修改。 、 【圖式簡單說明】 結合此等附圖參照以下闡釋可最佳地理解本發明,其 中: 98844-99H08.doc -25- 1360050 正替換 圖1A描繪一能夠使用本發明之實例性通用電腦系統; 圖1B係一描繪圖1A通用電腦系統之抽象示意圖; 圖2 A描繪根據本發明一實例性實施例之改良型大量儲存 裝置; 圖2B描繪根據本發明另一實例性實施例之改良型大量儲 存裝置; 圖3A係一描繪一硬碟機位址空間及一快閃記憶體位址空 間内之標頭資料及主體資料之抽象示意圖; 圖3B係一描繪一一硬碟機位址空間及一快閃記憶體位址 _ 空間與整個改良型大量儲存裝置之位址空間關系之抽象示 意圖; 圖4A係一時序圖,其描繪當—未使用磁碟加速之系統接 . 收一寫入指令時所發生的傳統寫入處理。 圖4B係一時序圖,其描繪根據本發明一實例性實施例當 一使用磁碟加速之系統接收一寫入指令時所發生的寫入處 理; 5A解說明當快閃記憶體容量提升時系統性能籲 受益之曲線圖; 圖58描繪一圖解說明當該改良型大量儲存裝置之利用率 降低時系統性能受益之曲線圖; 圖6係一描繪—環形緩衝區之格式示意圖; 圖7係-根據本發明一實例性實施例之實例性寫入技術 之流程圖; 系根據本發明之一實例性實施例之實例性讀取技 98844-991108.doc -26- 1360050 ~激]丄-- 年月曰修正势換頁 術之流程圖;及 圖9係圖6環形緩衝區内一區段儲存位置圖之示意圖。 應瞭解,在此等附圖中,相同之參考編號代表相同之結 構元件。同樣,應瞭解此等圖紙中之描繪未必按照比例 尺。
【主要元件符號說明】 100 電腦系統 105 電腦 110 滑鼠 115 鍵盤 115 快閃記憶體陣列 120 監視器 125 印表機 130 組件 135 組件 140 t央處理單元(cpu) 145 主記憶體 150 改良型大量儲存裝置 150A 改良型大量儲存裝置 150B 改良型大量儲存裝置 150A 改良型大量儲存裝置 155 主機匯流排 205 快閃記憶體系統 210 硬碟機 98844-991108.doc -27- 1360050 215 快閃記憶體陣列 215B 快閃記憶體陣列 220 快閃記憶體控制器 225 硬碟 230 磁碟控制器 235 路由器 240 主機介面 245 儲存控制器 245A 儲存控制器 245B 儲存控制器 250 介面(磁碟加速器) 260 邏輯介面 265 邏輯介面 275 實體介面 305 標頭資料 310 主體資料 315 硬碟機位址空間 320 快閃記憶體位址空間 325 標頭映射表 330 保留空間 350 位址空間 405 寫入指令 410 資料轉移至磁碟快取記憶體 415 磁碟存取 98844-991108.doc •28- 1360050 Φ 年 420 資料寫至磁碟 425 標頭資料(轉移至緩衝區) 430 標頭資料(寫至快閃記憶體) 435 發送寫入指令至磁碟 440 磁碟存取 445 主體資料(轉移至磁碟快取記憶體) 450 主體資料(寫至磁碟) 600 環形缓衝區 600 循環緩衝區 605 寫入指標 610 元區塊 615 元區塊 620 鏈接 625 擦除指標 905 磁碟複製指標 915 快閃記憶體複製指標 920 磁碟複製限制 930 快閃記憶體複製限制 940 緩衝區之底部 960 元區塊 965 元區塊 970 元區塊 975 元區塊 980 元區塊 98844-991108.doc •29- 1360050 985 元區塊 990 元區塊 995 元區塊 98844-991108.doc
Claims (1)
1360050 第094101858號專利申請案 .d·,&----- 、 中文申請專利範圍替換本(100年6月) j年月3修ϋ替读& 十、申請專利範圍: 、 一一 4 1 一種資料儲存系統,其包括: 一第一非揮發性儲存裝置; 一具有較該第一非揮發性儲存裝置為慢之平均存取時 間及為高之容量之第二非揮發性儲存裝置,其中該較慢 《平均存取時間係該第二非揮發性射裝置開始寫入資 料之前所需之平均延遲; -可運作用來將資料之第_部分引導至該第—非揮發 性儲存裝置及將資料之第二部分引導至該第二非揮發性 儲存裝置之儲存控制器; 2. 3. 該儲存控制器可運作以指示該第二非揮發性儲存裝置 保留足夠之空間以容納該資料之第一部分。 如,求項i之資料料系統,其中該儲存控制器可運作 二該第非揮發性儲存裝置將該資料之第一部分發 运至該第二非揮發性儲存裝置内所保留的空間。 们之資_存系統,其中該第—非揮發性错存 =該儲存控制器正將該資料之第二部分引導至該第 ==性儲存裝置時,執行非直接與該資料之儲存相 4·如清求項3之資料儲存系 „ 系統其令非直接與該資料之傷 存相關之作業包括無用單元收集。 偽 5·如請求項丨之資料 裝置在該資料之整㈣u㈣二非揮發性儲存 儲存裝置之前門^ 部分被引導至該第一非揮發性 苴之則開始經歷其延遲。 98844-I000603.doc 修正f換頁 6, 如請求们之資料儲存系統,其 裝置將資㈣存於實體位址之—^第—非揮發性館存 7. 如請求们之資料 緩衝區佈置内。 裝置將資料儲存㈣輯位址之 第⑽發性儲存 8·如請求们之資料二 展緩衝區佈置内。 運作以自^ 其中該储存控制器可額外 及二第!:揮發性储存裝置操取資料之第-部分 9如;揮發性儲存裝置擁取資料之第二部分。 如5月未項1之資料儲存系統,其中: =-非揮發性儲存裝置係_固態記憶體;及 “第二非揮發性儲存裝置係一硬碟。 1〇·如請求項9之資料儲存系統,其中該 閃記憶體系統。 己隐體係一快 U. -種資料儲存系統,其包括: 第一非揮發性儲存裝置; 間:二有=一非揮發性儲存裝置為慢之平均存取時 之平均Γ 第二非揮發性健存裝置,其中該較慢 ^取時間係該第二非料性錯存裝置開始 枓之前必須之平均延遲; Γ運作以自該第—非揮發性儲存裝置縣資料之第 _部分及自該第二非揮發性儲存裝置揭 分之儲存控制器; 付疋弟一。Ρ 忒儲存控制器可運作以指示該第 =可夠之空間™料之該第-部分;及= 工益運作以隨後指示該第一非揮發性儲存裝置以傳 98844-1000603.doc -2· 送該資料之該第 之保留的空間。 一部分至在該第 ;'-:·* 〇 ·;· ,ijf· .f- ~-S " -- ~-----. -非揮發性儲存裝置中 12.—種資料儲存系統其包括 一可運作以儲存標頭資料之第-非揮發性儲存裝置, 該標頭貧料係-鄰接資料流之資料的第一部分; -㈣㈣第—非揮發性㈣裝置為慢之平均存 間及為冋之谷量之第二非揮發性儲存裝置,該第撞 發性儲存裝置可運作間存主體資料,該主體資料係— 鄰接資料流之資料的剩餘部分; 一可運作以包含關於該標頭資料之位置及該主體資料 之位置之資訊之磁頭表;及 可運作以藉由使用該磁頭表來滿足資料儲存請求之 諸存控♦丨器’致使該儲存控制器可運作以指示該第二非 揮U生儲存裝置保留足夠的空間以容納該標頭資料,且 其中該儲存控制器可運作以指示該第一非揮發性儲存裝 置以傳送該#帛資料至在該第二非揮發性儲存裝置中之 該保留的空間。 •一種用於儲存資料之方法,其包括: 自一主機系統匯流排接收一寫至一資料位址之寫入指 令; .S 自該主機系統匯流排接收一資料片段; 將該資料之一第一部分儲存於一第一儲存裝置内; 在疋成將該資料片段之第一部分儲存於該第一儲存裝 置前’使一第二儲存裝置做好寫入資料之準備; 98844-1000603.doc ΜΤΓ-Ί i 年月日修正皆換頁 將該資料片段之剩 在該第二儲存裝置已做好準備後, 餘部分儲存於該第二儲存裝置内;及 其中該使一第二儲存裝置做好寫入資料之準備包含傳 送一搜尋指令至相同於該資料位址之一第二位址資料及 14. 15. 16. 17. 18. —足夠大的偏置以儲存該資料片段之該第一部分。 如明求項13之儲存資料之方法,進—步包括更新一包含 關於》玄資料之第一部分及該資料之剩餘部分之位置之資 訊之磁頭表。 如請求項14之儲存資料之方法,進—步包括隨後將該資 料片段之第一部分自該第一儲存裝置複製至該第二儲存 裝置内之該資料位址。 如請求項15之儲存資料之方法,其令在該主機系統匯流 排未請求存取該包含在該第一或該第二儲存裝置内之資 料期間,實施該複製。 如請求W3之儲存資料之方法,其中若該第—儲存裝置 不可用’則將該整個資料片段都儲存於該第二儲存裝置 内。 、 資料位址讀取資料之 —種擷取資料之方法,其包括: 自一主機系統匯流排接收一在一 讀取指令; —儲存裝置上 確定該資料之第一部分是否駐存於第 若該資料之一部分駐存於該第—儲存裝置上,, 自該第一儲存裝置讀取該資料之第—八 P刀, 在完成讀取3亥第一儲存裝置内之兮皆粗 〜料片段之第一部 98844-l〇〇〇6〇3.d〇c 1360050 千.渖日修正替換頁 分之前,使第二儲存装置進供^ ^' 罝革備續取該資料之剩餘 在該第二儲存裝置已準偌虹„ 刀 令自…健… 資料之剩餘部分 後,自該第一儲存裝置讀取該資料之剩餘部分; 若該資料之第-部分未駐存於該第一儲存裝置上,則 自該第二儲存裝置讀取該資料之第—部分且讀料 之剩餘部分;及 X 其中若確定該資料之第一邱八车紅―^ 弟部为未駐存於該第一儲存裝 置上’則該方法進-步包含將該資料之第—部分自該第 二儲存裝置複製至該第一儲存裝置。 19. 如請求項18之擁取資料之方法,其中若該第存裝置 不可用,則自該第二儲存裝置讀取該資料之第一部分及 該資料之剩餘部分。 20. —種用於擷取資料之方法,包括: 自一主機系統匯流排擷取一讀取指令以讀取於一 資料位址的資料; 確定該資料之一第一部分是否常駐於一第一儲存 裝置; 若該資料之該第一部分常駐於該第一儲存裝置, 則 自該第一儲存裝置讀取該資料之該第一部分; 在該第一儲存裝置讀取該資料片段之該第一部 分完成之前,致使一第二儲存裝置被預備以讀取 該資料之一剩餘部分,及 在該第一儲存裝置已被預備以讀取該資料之剩 98844-1000603.doc
1360050 餘部分之後,自該第二健存裝置讀取該資料之該 剩餘部分,及 若該資料之該第一部分並未常駐於該第一儲存裝 置’則自該第二儲存裝置讀取該資料之該第一部分及 該資料之該剩餘部分, 其中該方法進一步包含於一標頭映射表内設置一 指示已請求該資料之旗標。 21. —種至少包括用來儲存資料之電腦程式碼之電腦可讀媒 體’該電腦可讀媒體包括: ' 用於自一主機系統匯流排接收一寫至—資料地址之寫 入指令之電腦程式碼; 資料片段之電腦程式 用於自該主機系統匯流排接收一 部分儲存於第一儲存裝置内 用於將該資料片段之第一部 之電腦程式碼; 用於在完成將該資料片段之第一 -部分儲存於訪楚μ
22. 98844-I000603.doc -6 · 1360050 含:
自一主機系統接收一第一指令以在該旋轉磁磲機中自 經定義的一起始位址讀取一資料簇; 確定該第一指令之用於該資料簇之該位址是否與一先 月*J存取的位址不連讀; 若綠定該位址係不連續,則
自該旋轉磁碟機讀取該請求的資料且複製該資料 之一初始部分至一非揮發性記憶體裝置; 隨後自該主機系統接收-第二指令以在該旋轉磁 碟機中相同的起始位址讀取—資料藥; 確定來自該第二指令之用於該資料簇之該位址是 否不連續於一先前存取的位址;
若確定該位址係不連續,則: 自該非揮發性記憶體裝置讀取該請求的f料的該 初始部分,且自該旋轉磁碟機讀取該請求的資料的剩 餘部分,@而、;肖除於提供資料至該主機系統時,由該 旋轉磁碟機中的搜尋時間所造成的延遲。 23.如請求項22之方法,苴中哼斿鯓讲泄城竹 〃 轉磁碟機及該非揮發性裝 置係一電腦系統之部分, 係可自該電腦系統移除。 且其中該非揮發性記憶體裝置 24.如請求項22之方法 態記憶體。 其中該非揮發性記憶體裝置為一固 25. 如π求項24之方法’其中該固態記憶體係快閃記憶體 且其中該旋轉磁碟機係一磁性硬碟機。 98844-1000603.doc jvj
作業係根據若干電腦可讀 26·如請求項22之方法,其中每 指令而由一處理器來執行。 27. 如請求項26之方法,直中兮 r通等電腦可讀指令 非暫時的電腦可讀媒體中。 ’、·、 28. —種增進自一電腦系統之— 硬式驅動機讀取資料之效能 的方法,其包含: 自主機系統接收一請求έ ·*· π ο» β e u 八乂自s亥硬式驅動機中經定義 的一起始位址讀取一資料; 續定該請求的資料之^立β π | t 貝啊义位址疋否連續於一先前存取的資 料; 若該請求的資料之位址係連續於該先前存取的資料, 則自該硬式驅動機讀取該請求的資料,及 若該請求的資料的該位址係不連續於該先前存取的資 料,則確定該請求資料之一第一部分是否常駐於一非揮 發性大量儲存裝置; 右该請求資料之該第一部分係常駐於該非揮發性大量 儲存裝置,則自該非揮發性大量儲存裝置讀取該請求資 料之該第一部分且自該硬式驅動機讀取該請求的資料之 剩餘部分;及 若該請求資料之一第一部分並不常駐於該非揮發性大 量儲存裝置,則自該硬式驅動機讀取該請求的資料且複 製該請求資料的該第一部分至該非揮發性大量儲存裴 置。 29_ —種資料儲存系統’其包括: 98844-l000603.doc __, 年月曰修正替換頁I —第一非揮發性儲存裝置; 1 J 办:、有較該第一儲存裝置為慢之平均存取時間及為高 之第一非揮發性儲存裝置,其中該較慢之平均存 取時間係該第二非揮發性儲存裝置開始寫人資料之前所 需之平均延遲;及 -儲存控制器’其可運作用來將資料之一第一部分引 第非揮發性儲存裝置及將資料之第二部分引導 • =第二非揮發性儲存裝置,且進-步可運作用來將該 第部刀儲存至該第二非揮發性儲存裝置之一部份,該 第二非揮發性儲存裝置係經保留以用於該第一部分之儲 存。 ㈤求項29之資料儲存系統,其中該第—非揮發性儲存 裝置在該儲存控制器正將該資料之該第二部分引導至該 第一非揮發性儲存裝置時’執行非直接與該資料之儲存 相關之作業。 # 3!•如請求項3〇之資料儲存系統,其中非直接與該資料之儲 存相關之作業包括垃圾收集。 32. 如請求項29之資料儲存系統,其中該第二非揮發性儲存 裝置在該資料之整個第一部分被引導至該第一非揮發性 儲存裝置之前開始經歷其延遲。 33. 如請求項29之f料儲存系统,其中該第一非揮發性儲存 裝置將資料儲存於實體位址之一環形緩衝區佈置内。 34. 如請求項29之資料錯存系、统’其令該第一非揮發性儲存 裝置將資料儲存於邏輯位址之一循環緩衝區佈置内。 98844-1000603.doc -9- 35·如請求項29之資料儲存系統,其中該儲存控制器可額外 運作以自該第-非揮發性儲存裝置操取資料之第一部分 及自該第二非揮發性健存裝置棟取資料之第二部分。 36.如請求項29之資料儲存系統其中: 〇第非揮發性儲存裝置係一固態記憶體;及 該第二非揮發性儲存裝置係一磁性硬碟。 月长項3 6之-貝料儲存系統,其中該固態記憶體係一快 閃記憶體系統。 38.種增進電腦系統之硬式驅動機之效能的方法,其包 含: ' 通過一介面來連接該硬式驅動機至該電腦系統之一系 統匯流排,該介面允許資料可被傳遞於該系統匯流排與 該硬式驅動機間之任一方向; 通過一介面以連接一相較於該硬驅動機具有較快的平 句存取時間及較低的容量的一非揮發性大量儲存裝置至 該系統匯流排,該介面允許資料可被傳遞於該系統匯流 排與垓硬式驅動機間之任一方向,其中該較快的平均存 取時間係在該非揮發性大量儲存裝置能開始讀取資料之 前之必要的平均延遲;及 使用一儲存控制器以引導來自該電腦系統的資料的一 第一部分至該非揮發性大量儲存裝置,以及引導來自該 電腦系統的資料的一第二部分至該硬式驅動機,其中資 料的該第二部分係藉由一量的偏置足以致能由該偏置所 創造之區域中之資料的該第一部分之一隨後的儲存。 98844-1000603.doc 39. 正替換頁丨 一種用於儲存資料之方法,其包括: 1 ·—1 自主機系統匯流排接收一寫入至—資料位址入 指令; ~ 自該主機系統匯流排接收一資料片段; 將該資料片段之一第一部分儲存於一第一儲存裝置 内; 在完成將該資料片段之該第一部分儲存於該第一儲存 F置内別使一第一儲存裝置做好寫入資料之準備;及 在該第二儲存裝置已做好準備後,將該資料片段之剩 餘。P刀儲存於該第二儲存裝置内,其中資料之該第二部 刀係藉由一方式儲存於該第二儲存裝置之一部份中,該 方式包含一標定大小的偏置以致能由偏置所創造之區域 中之資料的該第一部分之一隨後的儲存。 40. 如叫求項39之儲存資料之方法,進一步包括更新一包含 關於該資料之第—部分及該資料之剩餘部分之位置之資 訊之標頭表。 41. 如請求項40之儲存資料之方法,進一步包括隨後將該資 料片&之該第-部分自該第—儲存裝置複製至該第二儲 存裝置内之該資料位址。 42. 如請求項之儲存資料之方法,其t在該主機系統匯流 排未請求存取該包含在該第一或該第二儲存裝置内之資 料期間’實施該複製。 43. 如請求項39之儲存資料之方法,其中若該第一儲存裝置 不可用,則將該整個資料片段都儲存於該第二儲存裝置 98844-_03.dOC 1360050 τητ-Έ------ 年月日修正替換頁 内 44· -種包括至少用來错存資料之電腦程式碼之電腦可讀媒 體,該電腦可讀媒體包括·· 用於自一主機系統匯片排接你眘 %匯饥排接收一寫入至一資料地址之 寫入指令之電腦程式碼; 用於自該主機系統匯姑垃必-j, 進/y,L排接收一貧料片段之電腦程式 碼; 用於將該資料片殺夕 货 . 巧奴之一第一部分儲存於一第一儲存裝 置内之電腦程式碼; 用於在完成將該資料片政夕兮故 負针月奴之β亥第—部分儲存於該第一 儲存裝置内之前,使—篦_•辟六 第一儲存裝置做好寫入資料準備 之電腦程式碼;及 用於在該第二儲存裝置已準僑涂^ … 一 以..: 干两野壤,將該實料片段之 一剩‘餘部分儲存於該第二儲存裝置内(電_勝_ _其 中將該貧料片段之該剩餘部分儲存於該第適存裝置内 包含實施一偏置,其適合用於 _ 攻弟一儲存裝置上之該眘 料片段之該第一部份之—隨後的儲存。 98844Ί 000603.doc -12·
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/772,789 US7127549B2 (en) | 2004-02-04 | 2004-02-04 | Disk acceleration using first and second storage devices |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW200604796A TW200604796A (en) | 2006-02-01 |
| TWI360050B true TWI360050B (en) | 2012-03-11 |
Family
ID=34808627
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW094101858A TWI360050B (en) | 2004-02-04 | 2005-01-21 | Data storage system, method for accelerated data s |
Country Status (7)
| Country | Link |
|---|---|
| US (2) | US7127549B2 (zh) |
| EP (2) | EP2241966A3 (zh) |
| JP (3) | JP4777263B2 (zh) |
| KR (1) | KR101200670B1 (zh) |
| CN (1) | CN100570546C (zh) |
| TW (1) | TWI360050B (zh) |
| WO (1) | WO2005081097A2 (zh) |
Families Citing this family (150)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7108975B2 (en) * | 2001-09-21 | 2006-09-19 | Regents Of The University Of Michigan | Atlastin |
| WO2005003952A1 (ja) * | 2003-07-07 | 2005-01-13 | Hitachi Ulsi Systems Co., Ltd. | 記憶装置および記憶システム |
| US7644239B2 (en) | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
| US7472222B2 (en) * | 2004-10-12 | 2008-12-30 | Hitachi Global Storage Technologies Netherlands B.V. | HDD having both DRAM and flash memory |
| US7490197B2 (en) | 2004-10-21 | 2009-02-10 | Microsoft Corporation | Using external memory devices to improve system performance |
| US9104315B2 (en) | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
| SG126788A1 (en) * | 2005-04-19 | 2006-11-29 | Trek 2000 Int Ltd | Interface for non-volatile memories |
| US7318118B2 (en) * | 2005-07-14 | 2008-01-08 | Hitachi Global Storage Technologies B.V. | System and method for selective write to flash memory in HDD |
| US7627733B2 (en) | 2005-08-03 | 2009-12-01 | Sandisk Corporation | Method and system for dual mode access for storage devices |
| WO2007024236A1 (en) | 2005-08-26 | 2007-03-01 | Thomson Licensing | Transcoded images for improved trick play |
| US8914557B2 (en) | 2005-12-16 | 2014-12-16 | Microsoft Corporation | Optimizing write and wear performance for a memory |
| US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
| US7769978B2 (en) | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
| US7793068B2 (en) | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
| KR100755702B1 (ko) * | 2005-12-27 | 2007-09-05 | 삼성전자주식회사 | 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 동작방법 |
| US7519754B2 (en) * | 2005-12-28 | 2009-04-14 | Silicon Storage Technology, Inc. | Hard disk drive cache memory and playback device |
| US20070147115A1 (en) * | 2005-12-28 | 2007-06-28 | Fong-Long Lin | Unified memory and controller |
| JP2008033412A (ja) * | 2006-07-26 | 2008-02-14 | Hitachi Ltd | 計算機システムの性能管理方法、管理計算機、及びストレージ装置 |
| US20080072084A1 (en) * | 2006-09-20 | 2008-03-20 | Chao-Kuang Yang | Method for Power Management |
| US8745315B2 (en) | 2006-11-06 | 2014-06-03 | Rambus Inc. | Memory Systems and methods supporting volatile and wear-leveled nonvolatile physical memory |
| US20080244105A1 (en) * | 2007-03-27 | 2008-10-02 | Rothman Michael A | Enhancing performance of input-output (i/o) components |
| JP4925230B2 (ja) * | 2007-06-08 | 2012-04-25 | 株式会社東芝 | 記憶装置、記憶制御装置及び制御方法 |
| US8032699B2 (en) * | 2007-06-15 | 2011-10-04 | Seagate Technology Llc | System and method of monitoring data storage activity |
| US8504784B2 (en) * | 2007-06-27 | 2013-08-06 | Sandisk Technologies Inc. | Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system |
| US20090006720A1 (en) * | 2007-06-27 | 2009-01-01 | Shai Traister | Scheduling phased garbage collection and house keeping operations in a flash memory system |
| US20090002863A1 (en) * | 2007-06-29 | 2009-01-01 | Seagate Technology, Llc | System and method of monitoring data operations at a data storage device |
| US8122322B2 (en) | 2007-07-31 | 2012-02-21 | Seagate Technology Llc | System and method of storing reliability data |
| JP5124217B2 (ja) * | 2007-09-18 | 2013-01-23 | 株式会社日立製作所 | ストレージ装置 |
| US8959307B1 (en) | 2007-11-16 | 2015-02-17 | Bitmicro Networks, Inc. | Reduced latency memory read transactions in storage devices |
| US8416657B2 (en) * | 2007-12-03 | 2013-04-09 | Mediatek Inc. | Method and system for managing data from host to optical disc |
| US8631203B2 (en) | 2007-12-10 | 2014-01-14 | Microsoft Corporation | Management of external memory functioning as virtual cache |
| US20090172048A1 (en) * | 2007-12-31 | 2009-07-02 | Intel Corporation | Memory storage of file fragments |
| US8327095B2 (en) * | 2008-06-06 | 2012-12-04 | International Business Machines Corporation | Maintaining information of a relationship of target volumes comprising logical copies of a source volume |
| US8843691B2 (en) * | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
| KR101521493B1 (ko) * | 2008-07-16 | 2015-05-19 | 시게이트 테크놀로지 엘엘씨 | 통신 속도를 조절할 수 있는 컨트롤러, 상기 컨트롤러를포함하는 데이터 저장 장치, 및 상기 데이터 저장 장치를포함하는 데이터 통신 시스템 |
| KR101459520B1 (ko) * | 2008-07-16 | 2014-11-07 | 시게이트 테크놀로지 엘엘씨 | 기입 속도를 향상시킬 수 있는 데이터 저장 장치, 및 이를포함하는 데이터 저장 시스템 |
| US8032707B2 (en) | 2008-09-15 | 2011-10-04 | Microsoft Corporation | Managing cache data and metadata |
| US9032151B2 (en) | 2008-09-15 | 2015-05-12 | Microsoft Technology Licensing, Llc | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot |
| US7953774B2 (en) | 2008-09-19 | 2011-05-31 | Microsoft Corporation | Aggregation of write traffic to a data store |
| DE112008004033T5 (de) | 2008-10-09 | 2012-01-19 | Numonyx B.V. | Virtualisiertes Ecc Nand |
| US8112580B2 (en) * | 2009-01-19 | 2012-02-07 | Hitachi Global Storage Technologies Netherlands B.V. | Disk drive having multiple disk surfaces accessible by a read/write head and nonvolatile memory for continuous data transfer |
| US20100199036A1 (en) * | 2009-02-02 | 2010-08-05 | Atrato, Inc. | Systems and methods for block-level management of tiered storage |
| JP2010211858A (ja) | 2009-03-09 | 2010-09-24 | Sony Corp | 記録再生装置及び記録再生方法 |
| US8433845B2 (en) * | 2009-04-08 | 2013-04-30 | Google Inc. | Data storage device which serializes memory device ready/busy signals |
| US8250271B2 (en) * | 2009-04-08 | 2012-08-21 | Google Inc. | Command and interrupt grouping for a data storage device |
| US20100262979A1 (en) * | 2009-04-08 | 2010-10-14 | Google Inc. | Circular command queues for communication between a host and a data storage device |
| US20100287217A1 (en) * | 2009-04-08 | 2010-11-11 | Google Inc. | Host control of background garbage collection in a data storage device |
| US8352689B2 (en) * | 2009-11-30 | 2013-01-08 | Lsi Corporation | Command tag checking in a multi-initiator media controller architecture |
| US8166258B2 (en) * | 2009-07-24 | 2012-04-24 | Lsi Corporation | Skip operations for solid state disks |
| US8321639B2 (en) * | 2009-12-30 | 2012-11-27 | Lsi Corporation | Command tracking for direct access block storage devices |
| US8516264B2 (en) * | 2009-10-09 | 2013-08-20 | Lsi Corporation | Interlocking plain text passwords to data encryption keys |
| US8245112B2 (en) * | 2009-06-04 | 2012-08-14 | Lsi Corporation | Flash memory organization |
| US8219776B2 (en) * | 2009-09-23 | 2012-07-10 | Lsi Corporation | Logical-to-physical address translation for solid state disks |
| US20100306451A1 (en) * | 2009-06-01 | 2010-12-02 | Joshua Johnson | Architecture for nand flash constraint enforcement |
| US8555141B2 (en) * | 2009-06-04 | 2013-10-08 | Lsi Corporation | Flash memory organization |
| US8151137B2 (en) * | 2009-05-28 | 2012-04-03 | Lsi Corporation | Systems and methods for governing the life cycle of a solid state drive |
| US8176367B2 (en) | 2009-05-28 | 2012-05-08 | Agere Systems Inc. | Systems and methods for managing end of life in a solid state drive |
| JP2012533112A (ja) * | 2009-07-07 | 2012-12-20 | エルエスアイ コーポレーション | 階層不揮発性ストレージのためのシステムおよび方法 |
| US8665601B1 (en) | 2009-09-04 | 2014-03-04 | Bitmicro Networks, Inc. | Solid state drive with improved enclosure assembly |
| US9135190B1 (en) | 2009-09-04 | 2015-09-15 | Bitmicro Networks, Inc. | Multi-profile memory controller for computing devices |
| US8447908B2 (en) | 2009-09-07 | 2013-05-21 | Bitmicro Networks, Inc. | Multilevel memory bus system for solid-state mass storage |
| US8243546B2 (en) * | 2009-09-08 | 2012-08-14 | Lsi Corporation | Systems and methods for peak power and/or EMI reduction |
| US8499220B2 (en) * | 2009-09-08 | 2013-07-30 | Lsi Corporation | Systems and methods for re-designating memory regions as error code corrected memory regions |
| US8174912B2 (en) * | 2009-09-08 | 2012-05-08 | Lsi Corporation | Systems and methods for circular buffering control in a memory device |
| US8243536B2 (en) * | 2009-09-08 | 2012-08-14 | Lsi Corporation | Systems and methods for increasing bit density in a memory cell |
| US8381077B2 (en) * | 2009-09-08 | 2013-02-19 | Lsi Corporation | Systems and methods for implementing error correction in relation to a flash memory |
| US8458416B2 (en) * | 2009-09-08 | 2013-06-04 | Lsi Corporation | Systems and methods for selecting bit per cell density of a memory cell based on data typing |
| US8560765B2 (en) * | 2009-09-08 | 2013-10-15 | Lsi Corporation | Systems and methods for variable level use of a multi-level flash memory |
| US20110060865A1 (en) * | 2009-09-08 | 2011-03-10 | Lsi Corporation | Systems and Methods for Flash Memory Utilization |
| US20110060862A1 (en) * | 2009-09-08 | 2011-03-10 | Lsi Corporation | Systems and Methods for Switchable Memory Configuration |
| US8560804B2 (en) * | 2009-09-14 | 2013-10-15 | Bitmicro Networks, Inc. | Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device |
| US8775719B2 (en) * | 2009-09-21 | 2014-07-08 | Aplus Flash Technology, Inc. | NAND-based hybrid NVM design that integrates NAND and NOR in 1-die with parallel interface |
| US8996785B2 (en) * | 2009-09-21 | 2015-03-31 | Aplus Flash Technology, Inc. | NAND-based hybrid NVM design that integrates NAND and NOR in 1-die with serial interface |
| CN102103545B (zh) * | 2009-12-16 | 2013-03-27 | 中兴通讯股份有限公司 | 一种数据缓存的方法、装置及系统 |
| US8463984B2 (en) * | 2009-12-31 | 2013-06-11 | Seagate Technology Llc | Dynamic data flow management in a multiple cache architecture |
| US8289768B2 (en) * | 2010-01-22 | 2012-10-16 | Lsi Corporation | Systems and methods for extended life multi-bit memory cells |
| US8756387B2 (en) * | 2010-03-05 | 2014-06-17 | International Business Machines Corporation | Method and apparatus for optimizing the performance of a storage system |
| US8725931B1 (en) | 2010-03-26 | 2014-05-13 | Western Digital Technologies, Inc. | System and method for managing the execution of memory commands in a solid-state memory |
| US8504766B2 (en) * | 2010-04-15 | 2013-08-06 | Netapp, Inc. | Methods and apparatus for cut-through cache management for a mirrored virtual volume of a virtualized storage system |
| US8489940B2 (en) | 2010-04-16 | 2013-07-16 | Netapp, Inc. | Methods and apparatus for managing asynchronous dependent I/O for a virtual fibre channel target |
| US8782327B1 (en) | 2010-05-11 | 2014-07-15 | Western Digital Technologies, Inc. | System and method for managing execution of internal commands and host commands in a solid-state memory |
| US9026716B2 (en) | 2010-05-12 | 2015-05-05 | Western Digital Technologies, Inc. | System and method for managing garbage collection in solid-state memory |
| USRE49818E1 (en) * | 2010-05-13 | 2024-01-30 | Kioxia Corporation | Information processing method in a multi-level hierarchical memory system |
| JP4988007B2 (ja) * | 2010-05-13 | 2012-08-01 | 株式会社東芝 | 情報処理装置およびドライバ |
| JP4988008B2 (ja) * | 2010-05-13 | 2012-08-01 | 株式会社東芝 | 情報処理装置およびドライバ |
| US9213628B2 (en) * | 2010-07-14 | 2015-12-15 | Nimble Storage, Inc. | Methods and systems for reducing churn in flash-based cache |
| JP4886887B2 (ja) * | 2010-07-23 | 2012-02-29 | 株式会社東芝 | コマンド管理装置及び同コマンド管理装置を備えた記憶装置 |
| US8255634B2 (en) * | 2010-08-11 | 2012-08-28 | Lsi Corporation | Apparatus and methods for look-ahead virtual volume meta-data processing in a storage controller |
| US8261003B2 (en) | 2010-08-11 | 2012-09-04 | Lsi Corporation | Apparatus and methods for managing expanded capacity of virtual volumes in a storage system |
| US8176218B2 (en) | 2010-08-11 | 2012-05-08 | Lsi Corporation | Apparatus and methods for real-time routing of received commands in a split-path architecture storage controller |
| US8635412B1 (en) | 2010-09-09 | 2014-01-21 | Western Digital Technologies, Inc. | Inter-processor communication |
| US9164886B1 (en) | 2010-09-21 | 2015-10-20 | Western Digital Technologies, Inc. | System and method for multistage processing in a memory storage subsystem |
| US9021192B1 (en) | 2010-09-21 | 2015-04-28 | Western Digital Technologies, Inc. | System and method for enhancing processing of memory access requests |
| 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 |
| 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 |
| US20120275046A1 (en) * | 2011-04-27 | 2012-11-01 | Toshiba America Information Systems, Inc. | Splitting a data stream between two storage media in a hybrid disk drive |
| US9158670B1 (en) | 2011-06-30 | 2015-10-13 | Western Digital Technologies, Inc. | System and method for dynamically adjusting garbage collection policies in solid-state memory |
| 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 |
| US9195530B1 (en) | 2011-09-06 | 2015-11-24 | Western Digital Technologies, Inc. | Systems and methods for improved data management in data storage systems |
| US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
| KR101342658B1 (ko) * | 2011-12-06 | 2013-12-16 | 주식회사 디에이아이오 | 비휘발성 메모리 시스템 및 그 구성 방법 |
| KR20130064521A (ko) * | 2011-12-08 | 2013-06-18 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 데이터 관리 방법 |
| US9128949B2 (en) * | 2012-01-18 | 2015-09-08 | Cloudera, Inc. | Memory allocation buffer for reduction of heap fragmentation |
| US9053008B1 (en) | 2012-03-26 | 2015-06-09 | Western Digital Technologies, Inc. | Systems and methods for providing inline parameter service in data storage devices |
| US9009392B2 (en) * | 2012-04-25 | 2015-04-14 | International Business Machines Corporation | Leveraging a hybrid infrastructure for dynamic memory allocation and persistent file storage |
| US9043669B1 (en) | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
| CN103870208B (zh) * | 2012-12-17 | 2017-08-25 | 联想(北京)有限公司 | 信息处理的方法及电子设备 |
| US10073851B2 (en) | 2013-01-08 | 2018-09-11 | Apple Inc. | Fast new file creation cache |
| US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
| US9934045B1 (en) | 2013-03-15 | 2018-04-03 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
| US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
| US9400617B2 (en) | 2013-03-15 | 2016-07-26 | Bitmicro Networks, Inc. | Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained |
| US10120694B2 (en) | 2013-03-15 | 2018-11-06 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
| US9672178B1 (en) | 2013-03-15 | 2017-06-06 | Bitmicro Networks, Inc. | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
| US9842024B1 (en) | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
| US9916213B1 (en) | 2013-03-15 | 2018-03-13 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
| US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
| US9971524B1 (en) | 2013-03-15 | 2018-05-15 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
| US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
| US9720603B1 (en) | 2013-03-15 | 2017-08-01 | Bitmicro Networks, Inc. | IOC to IOC distributed caching architecture |
| US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
| US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
| US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
| US9164828B2 (en) | 2013-09-26 | 2015-10-20 | Seagate Technology Llc | Systems and methods for enhanced data recovery in a solid state memory system |
| US9424179B2 (en) | 2013-10-17 | 2016-08-23 | Seagate Technology Llc | Systems and methods for latency based data recycling in a solid state memory system |
| US9201729B2 (en) | 2013-10-21 | 2015-12-01 | Seagate Technology, Llc | Systems and methods for soft data utilization in a solid state memory system |
| US9378840B2 (en) | 2013-10-28 | 2016-06-28 | Seagate Technology Llc | Systems and methods for sub-zero threshold characterization in a memory cell |
| US9323467B2 (en) | 2013-10-29 | 2016-04-26 | Western Digital Technologies, Inc. | Data storage device startup |
| US9276609B2 (en) | 2013-11-16 | 2016-03-01 | Seagate Technology Llc | Systems and methods for soft decision generation in a solid state memory system |
| US9576683B2 (en) | 2014-02-06 | 2017-02-21 | Seagate Technology Llc | Systems and methods for hard error reduction in a solid state memory device |
| US9378810B2 (en) | 2014-02-11 | 2016-06-28 | Seagate Technology Llc | Systems and methods for last written page handling in a memory device |
| US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
| US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
| US9811461B1 (en) | 2014-04-17 | 2017-11-07 | Bitmicro Networks, Inc. | Data storage system |
| US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
| US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
| US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
| US9672107B1 (en) * | 2015-02-11 | 2017-06-06 | Western Digital Technologies, Inc. | Data protection for a data storage device |
| US9942324B2 (en) * | 2015-08-05 | 2018-04-10 | Futurewei Technologies, Inc. | Rebalancing and elastic storage scheme with elastic named distributed circular buffers |
| CN106469119B (zh) * | 2015-08-10 | 2020-07-07 | 北京忆恒创源科技有限公司 | 一种基于nvdimm的数据写缓存方法及其装置 |
| TWI588824B (zh) * | 2015-12-11 | 2017-06-21 | 捷鼎國際股份有限公司 | 加快在不連續頁面寫入資料之電腦系統及其方法 |
| US9886209B2 (en) * | 2016-02-16 | 2018-02-06 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Controlling file placement on a disk drive to improve file access |
| US10942844B2 (en) | 2016-06-10 | 2021-03-09 | Apple Inc. | Reserved memory in memory management system |
| DE102016211386A1 (de) * | 2016-06-14 | 2017-12-14 | Robert Bosch Gmbh | Verfahren zum Betreiben einer Recheneinheit |
| US10459658B2 (en) * | 2016-06-23 | 2019-10-29 | Seagate Technology Llc | Hybrid data storage device with embedded command queuing |
| US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
| KR102586768B1 (ko) | 2018-03-27 | 2023-10-16 | 에스케이하이닉스 주식회사 | 컴퓨팅 시스템 및 그것의 동작방법 |
| KR102655094B1 (ko) * | 2018-11-16 | 2024-04-08 | 삼성전자주식회사 | 메모리를 공유하는 이종의 프로세서들을 포함하는 스토리지 장치 및 그것의 동작 방법 |
Family Cites Families (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US408357A (en) * | 1889-08-06 | William ruttan | ||
| US4896262A (en) | 1984-02-24 | 1990-01-23 | Kabushiki Kaisha Meidensha | Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory |
| GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
| US5778418A (en) | 1991-09-27 | 1998-07-07 | Sandisk Corporation | Mass computer storage system having both solid state and rotating disk types of memory |
| JPH0590669U (ja) * | 1992-05-20 | 1993-12-10 | ミツミ電機株式会社 | 再生装置 |
| US5636355A (en) | 1993-06-30 | 1997-06-03 | Digital Equipment Corporation | Disk cache management techniques using non-volatile storage |
| US5542066A (en) | 1993-12-23 | 1996-07-30 | International Business Machines Corporation | Destaging modified data blocks from cache memory |
| JPH0883148A (ja) | 1994-09-13 | 1996-03-26 | Nec Corp | 磁気ディスク装置 |
| JPH08195022A (ja) * | 1994-11-14 | 1996-07-30 | Sega Enterp Ltd | ディスク再生装置、カラオケシステム及びディスク再生方法 |
| US5586291A (en) | 1994-12-23 | 1996-12-17 | Emc Corporation | Disk controller with volatile and non-volatile cache memories |
| US5708846A (en) | 1995-02-24 | 1998-01-13 | Intel Corporation | System for retrieving initial data sequence corresponding to next data sequence while locating next data sequence when branch point is reached during current data sequence |
| US6728851B1 (en) | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
| US5754888A (en) | 1996-01-18 | 1998-05-19 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | System for destaging data during idle time by transferring to destage buffer, marking segment blank , reodering data in buffer, and transferring to beginning of segment |
| GB9613088D0 (en) | 1996-06-21 | 1996-08-28 | Memory Corp Plc | Memory device |
| US5798968A (en) | 1996-09-24 | 1998-08-25 | Sandisk Corporation | Plane decode/virtual sector architecture |
| US5890192A (en) | 1996-11-05 | 1999-03-30 | Sandisk Corporation | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM |
| US6424486B2 (en) * | 1997-12-17 | 2002-07-23 | Texas Instruments Incorporated | Method and apparatus for positioning a read/write head of a hard disk drive |
| US6286056B1 (en) * | 1998-06-26 | 2001-09-04 | Seagate Technology Llc | Data storage device with small computer system interface providing persistent reservations |
| US6408357B1 (en) | 1999-01-15 | 2002-06-18 | Western Digital Technologies, Inc. | Disk drive having a cache portion for storing write data segments of a predetermined length |
| US6370614B1 (en) | 1999-01-26 | 2002-04-09 | Motive Power, Inc. | I/O cache with user configurable preload |
| JP2000285590A (ja) * | 1999-03-26 | 2000-10-13 | Sony Corp | ディスク装置 |
| JP2001189912A (ja) * | 1999-10-21 | 2001-07-10 | Sanyo Electric Co Ltd | デジタルtv放送記録再生装置 |
| US20010047473A1 (en) * | 2000-02-03 | 2001-11-29 | Realtime Data, Llc | Systems and methods for computer initialization |
| JP2002133835A (ja) * | 2000-10-27 | 2002-05-10 | Sharp Corp | 記録装置 |
| JP4523150B2 (ja) | 2000-12-27 | 2010-08-11 | レノボ シンガポール プライヴェート リミテッド | データサーバシステム、コンピュータ装置、記憶媒体 |
| US6763424B2 (en) | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
| US6631456B2 (en) | 2001-03-06 | 2003-10-07 | Lance Leighnor | Hypercache RAM based disk emulation and method |
| GB0123412D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system sectors |
| JP3770138B2 (ja) * | 2001-10-18 | 2006-04-26 | ソニー株式会社 | 情報処理装置、情報処理装置の制御方法、情報処理装置の制御プログラム及び情報処理装置の制御プログラムを記録した記録媒体 |
| JP2003123381A (ja) * | 2001-10-11 | 2003-04-25 | Sony Computer Entertainment Inc | ディスク再生装置及び方法、メモリ制御プログラム、メモリ制御プログラムを記録した記録媒体 |
| US6646948B1 (en) | 2002-08-29 | 2003-11-11 | Motorola, Inc. | Data storage system utilizing a non-volatile IC based memory for reduction of data retrieval time |
| US7024614B1 (en) * | 2002-12-24 | 2006-04-04 | Western Digital Technologies, Inc. | Disk drive employing a configuration data structure comprising a plurality of configuration parameters to facilitate disk commands |
| US20050125603A1 (en) * | 2003-12-04 | 2005-06-09 | Ehrlich Richard M. | Method for rapid availability of critical data through re-allocation |
| US20050125602A1 (en) * | 2003-12-04 | 2005-06-09 | Ehrlich Richard M. | HDD with storage of critical data in FLASH |
| US20050125600A1 (en) * | 2003-12-04 | 2005-06-09 | Ehrlich Richard M. | Method for storing HDD critical data in flash |
-
2004
- 2004-02-04 US US10/772,789 patent/US7127549B2/en not_active Expired - Lifetime
-
2005
- 2005-01-05 KR KR1020067016395A patent/KR101200670B1/ko not_active Expired - Fee Related
- 2005-01-05 CN CNB2005800081633A patent/CN100570546C/zh not_active Expired - Fee Related
- 2005-01-05 WO PCT/US2005/000275 patent/WO2005081097A2/en not_active Ceased
- 2005-01-05 JP JP2006552117A patent/JP4777263B2/ja not_active Expired - Fee Related
- 2005-01-05 EP EP10171208A patent/EP2241966A3/en not_active Ceased
- 2005-01-05 EP EP05711276A patent/EP1716477A2/en not_active Ceased
- 2005-01-21 TW TW094101858A patent/TWI360050B/zh not_active IP Right Cessation
-
2006
- 2006-09-29 US US11/541,013 patent/US7310699B2/en not_active Expired - Lifetime
-
2011
- 2011-05-16 JP JP2011109493A patent/JP2011192298A/ja active Pending
-
2013
- 2013-07-31 JP JP2013159593A patent/JP2013218741A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| EP2241966A2 (en) | 2010-10-20 |
| EP1716477A2 (en) | 2006-11-02 |
| US7310699B2 (en) | 2007-12-18 |
| CN1934529A (zh) | 2007-03-21 |
| JP4777263B2 (ja) | 2011-09-21 |
| US7127549B2 (en) | 2006-10-24 |
| CN101685382A (zh) | 2010-03-31 |
| US20070028040A1 (en) | 2007-02-01 |
| JP2013218741A (ja) | 2013-10-24 |
| US20050172067A1 (en) | 2005-08-04 |
| KR20070001136A (ko) | 2007-01-03 |
| JP2007522560A (ja) | 2007-08-09 |
| KR101200670B1 (ko) | 2012-11-12 |
| EP2241966A3 (en) | 2010-11-17 |
| JP2011192298A (ja) | 2011-09-29 |
| CN100570546C (zh) | 2009-12-16 |
| TW200604796A (en) | 2006-02-01 |
| WO2005081097A2 (en) | 2005-09-01 |
| WO2005081097A3 (en) | 2005-11-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI360050B (en) | Data storage system, method for accelerated data s | |
| EP3568768B1 (en) | Directed sanitization of memory | |
| CN100487632C (zh) | 双媒体存储装置 | |
| US8429358B2 (en) | Method and data storage device for processing commands | |
| JP5236469B2 (ja) | 大容量データ記憶システム | |
| JP4931810B2 (ja) | 最適化されたシーケンシャルなクラスタの管理のためのfat分析 | |
| TWI418980B (zh) | 記憶體控制器、用於格式化記憶體系統中之記憶體陣列和固態驅動器之方法及固態記憶體系統 | |
| CN1722109B (zh) | 增量归并方法和使用该方法的存储系统 | |
| CN112306393B (zh) | 存储装置 | |
| US20240070066A1 (en) | Storage device including nonvolatile memory device and operating method of storage device | |
| TW201005520A (en) | Solid state storage system for data merging and method of controlling the same according to both in-place method and out-of-place method | |
| TW200928736A (en) | A controller for one type of NAND flash memory for emulating another type of NAND flash memory | |
| JP5137413B2 (ja) | 半導体記憶装置 | |
| TW201040720A (en) | Logical address offset | |
| TW201009577A (en) | Data transfer method for flash memory and flash memory storage system and controller using the same | |
| US20090172269A1 (en) | Nonvolatile memory device and associated data merge method | |
| WO2024234347A1 (zh) | 操作方法、存储器系统、电子设备及计算机可读存储介质 | |
| CN101685382B (zh) | 使用第一及第二存储装置的磁盘加速 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |