TWI507869B - 虛擬化儲存裝置之系統、設備及方法 - Google Patents
虛擬化儲存裝置之系統、設備及方法 Download PDFInfo
- Publication number
- TWI507869B TWI507869B TW099142053A TW99142053A TWI507869B TW I507869 B TWI507869 B TW I507869B TW 099142053 A TW099142053 A TW 099142053A TW 99142053 A TW99142053 A TW 99142053A TW I507869 B TWI507869 B TW I507869B
- Authority
- TW
- Taiwan
- Prior art keywords
- ssd
- file
- logical
- disk
- address
- Prior art date
Links
Classifications
-
- 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
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- 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
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
本發明涉及儲存技術。
資料處理系統(如電腦系統)可以使用一或多個儲存設備來儲存並檢索資訊。儲存設備的各種例子包括固態硬碟(Solid State Drivers,SSD)、磁帶機和磁碟機,如硬碟(Hard Disk Drives,HDDs)和光碟機。SSD可以包括非揮發性記憶體,如快閃記憶體。儲存設備可以儲存檔案,如作業系統檔案和應用程式檔案。SSD可提供比HDD低的等待時間,而HDD可提供比SSD大的儲存容量。
本發明揭露包括與虛擬磁碟的儲存技術相關的系統和技術。
根據所描述系統和技術的一態樣,用在儲存技術上的方法包括操作包括一固態硬碟(SSD)和磁碟機的磁碟,其中該SSD和磁碟機會被虛擬化為具有邏輯位址空間的單個邏輯磁碟,其中邏輯磁碟會將邏輯區塊位址映射到該SSD和磁碟機。該技術包括根據將要被寫到該邏輯磁碟的檔案來判定與該SSD和磁碟機其中一者相對應的目標邏輯位址,以及將該檔案寫到在該目標邏輯位址處的邏輯磁碟以在該SSD和磁碟機其中一者上實現儲存功能。在一些實作中,操作磁碟之步驟包括操作SSD和如磁帶機等大容量的儲存設備。在一些實作中,操作
磁碟之步驟包括操作一比第二磁碟更快的第一磁碟,其中該第一磁碟具有比該第二磁碟更小的容量。判定目標邏輯位址之步驟可以包括使用檔案特徵來選擇目標邏輯位址。該判定目標邏輯位址之步驟更可以包括選擇第一位址範圍和第二位址範圍其中一者。
根據所描述系統和技術的另一態樣,用在儲存技術上的方法包括:操作包括一SSD和一磁碟機的磁碟;將該SSD和磁碟機虛擬化為帶有邏輯位址空間的單個邏輯磁碟,其中該邏輯磁碟將邏輯區塊位址映射到該SSD和磁碟機;根據將被寫到該邏輯磁碟的檔案特徵來選擇與該SSD和磁碟機其中一者相對應的目標邏輯位址;以及將檔案寫到在該目標邏輯位址處的邏輯磁碟以在該SSD和磁碟機其中一者上實現儲存功能。該方法可以將SSD和磁碟機虛擬化為帶有從0到L的邏輯位址空間的單個邏輯磁碟,其中L大於0。該虛擬化步驟可以包括將邏輯位址空間的一第一位址範圍的邏輯區塊位址映射到SSD以及將邏輯位址空間一不同的第二位址範圍的邏輯區塊位址映射到磁碟機。
本發明實作可以包括監控與邏輯磁碟相關聯的檔案的使用資訊。在一些實作中,檔案的特徵是基於其使用資訊,例如相關的使用頻率。該選擇目標邏輯位址之步驟可以包括使用所述使用資訊來選擇SSD和磁碟機其中一者。在一些情況下,檔案會先儲存在磁碟機上。該選擇目標邏輯位址之步驟可以包括選擇與SSD相對應的目標邏輯位址。將檔案寫到邏輯磁碟之步驟可以包
括將檔案從磁碟機移動到SSD以減少檔案的讀取存取等待時間。在一些情況下,檔案已經被儲存在SSD上。將檔案寫到邏輯磁碟之動作可以包括根據各使用資訊將儲存在該SSD上的檔案移動到磁碟機以增加該SSD上的可用空間。本發明執行步驟可以包括監控與邏輯磁碟相關聯的檔案的使用資訊。其判定目標邏輯位址之步驟可以包括使用所述使用資訊來選擇SSD和磁碟機其中一者。
本發明實作可以包括識別與該邏輯磁碟相關聯的檔案之類型。其檔案特徵可以包括類型。選擇目標邏輯位址之步驟可以包括根據檔案類型的等待時間需求來選擇與SSD相對應的目標邏輯位址。將檔案寫到邏輯磁碟之步驟可以包括將檔案寫到SSD。
虛擬化SSD和磁碟機之步驟可以包括將從0到K的第一位址範圍的邏輯區塊位址映射到SSD以及將從K+1到L的第二位址範圍的邏輯區塊位址映射到磁碟機,其中L大於K,且K大於0。將檔案寫到邏輯磁碟之步驟可以包括使控制器根據目標邏輯位址來選擇SSD和磁碟機其中一者,以及將檔案寫到所選擇的磁碟。
本發明所描述的系統和技術可以在電子電路、電腦硬體、韌體、軟體或其組合(如在本說明書中揭露的結構裝置及其結構均等物中)實行。這可以包括至少一種電腦可讀取式媒介,其包含可操作來使一或多個資料處理裝置(例如,包括可編程式處理器的信號處理設備)執行所述操作的程式。因此,程式之實作可以由所揭露之方
法、系統或裝置來實現,且裝置之實作可以由所揭露的系統、電腦可讀取式媒介或方法來實現。同樣地,方法之實作可以由所揭露之系統、電腦可讀取式媒介或裝置來實現,且系統之實作可以由所揭露之方法、電腦可讀取式媒介或裝置來實現。
例如,一或多個所揭露的實施方式可以在各種系統和裝置中被實行,該各種系統和裝置包括但不限於專用的資料處理裝置(例如,無線通信設備如無線存取點、遠端環境監控器、路由器、交換機、電腦系統部件、媒體存取單元)、行動式資料處理裝置(例如,無線客戶端、行動電話、智慧型電話、個人數位助理(PDA)、行動電腦、數位相機)、一般用途型資料處理裝置(如電腦)、或這些的組合。
系統和裝置可以包括與SDD通信的第一介面,與磁碟機通信的第二介面,以及與磁碟通信並映射從0到L的邏輯位址空間中的邏輯區塊位址的處理器電子電路,其中L大於0。SSD和磁碟機可以被虛擬化為單個邏輯磁碟。在一些實作中,處理器電子電路會將邏輯位址空間的一第一位址範圍的邏輯區塊位址映射到SSD,並將邏輯位址空間一不同的第二位址範圍的邏輯區塊位址映射到磁碟機。在一些實作中,處理器電子電路係配置來執行操作,其操作包括根據要被寫到邏輯磁碟的檔案來判定與SSD和磁碟機其中一者相對應的目標邏輯位址,並將檔案寫到在目標邏輯位址處的邏輯磁碟以在SSD和磁碟機其中一者上實現儲存功能。
這些以及其他的實作可以包括一或多個以下特徵。判定目標邏輯位址之步驟可以包括使用檔案特徵來選擇目標邏輯位址。操作步驟可以包括監控與邏輯磁碟-相關聯的檔案的使用資訊。在一些實作中,該檔案特徵是基於使用資訊。選擇目標邏輯位址之步驟可以包括使用所述使用資訊來選擇SSD和磁碟機其中一者。在一些情況下,檔案已經被儲存在磁碟機上。選擇目標邏輯位址可以包括選擇與SSD相對應的目標邏輯位址。將檔案寫到邏輯磁碟之步驟可以包括將檔案從磁碟機移動到SSD以減少檔案的讀取存取等待時間。在一些情況下,檔案已經被儲存在SSD上。將檔案寫到邏輯磁碟之步驟可以包括根據各使用資訊將儲存在SSD上的檔案移動到磁碟機以增加在SSD上的可用空間。
本發明實作可以包括識別與邏輯磁碟相關聯的檔案的類型之動作。檔案的特徵可以包括類型。選擇目標邏輯位址之步驟可以包括根據檔案類型的等待時間需求來選擇與SSD相對應的目標邏輯位址。將檔案寫到邏輯磁碟之步驟可以包括將檔案寫到SSD。
在一些實作中,SSD會被分割為範圍區(extent),其中虛擬化之步驟可以包括將其中一該範圍區和磁碟機虛擬化為單個邏輯磁碟。在一些實作中,第一地址範圍包括從0到K的位址,且第二地址範圍包括從K+1到L的位址,其中L大於K,且K大於0。
在另一態樣中,系統和裝置可以包括一SSD、一磁碟機以及一與該些磁碟通信並將之映射在從0到L的邏
輯位址空間中的邏輯區塊位址的處理器電子電路。在一些實作中,處理器電子電路會將一第一位址範圍的邏輯區塊位址映射到SSD,並且將一不同的第二位址範圍的邏輯區塊位址映射到磁碟機。在一些實作中,第一地址範圍包括從0到K的位址,且第二地址範圍包括從K+1到L的位址,其中L大於K,且K大於0。判定目標邏輯位址之步驟可以包括選擇第一位址範圍和第二位址範圍其中一者。
本發明一或多個實作的細節會在下面的附圖和描述中提出。其他的特徵和優點則可明顯地從描述、附圖以及申請專利範圍中得知。
本發明揭露書提供了虛擬磁碟儲存技術的細節和例子。文中所描述的系統和技術包括了用於將磁碟機和固態硬碟(Solid State Drive,SSD)等實體儲存設備虛擬化為虛擬磁碟的機制。文中所描述的系統和技術亦包括了用於在一虛擬磁碟的多個實體磁碟之間移動檔案以優化虛擬磁碟性能的機制。使用不同類型的實體磁碟可以提供增加存取性能和增加儲存量等優點。
第一圖顯示了用於與兩個實體磁碟相關聯的虛擬磁碟之映射技術(mapping)例子。邏輯磁碟可以與兩個或多個如SSD 120和磁碟機130等的實體磁碟產生關聯。映射技術100會將虛擬磁碟的邏輯區塊位址(LBA)等邏輯位址110映射成適合輸入到該虛擬磁碟的其中一實體磁碟120、130中的一個邏輯位址。在此例中,LBA
空間105會被分割為第一和第二位址範圍115、125。第一範圍115包括從0到K的位址。第二範圍125包括從K+1到L的位址。此處的L大於K,且K大於0。視需求,第一映射會將第一範圍115中的LBAs轉換為適合用於SSD 120的LBAS。第二映射會將第二範圍125中的LBAs轉換為適合用於磁碟機130的LBAS。在此處,從K+1到L的LBA會被分別映射到位址0到L-K,其中位址L-K是磁碟機130的最大邏輯位址值。
基於映射機制,映射技術100會將一邏輯區塊位址110映射到多個位址範圍中的其中一者上。該些位址範圍分別與實體磁碟120、130相關聯。映射技術100並不限於兩個實體磁碟,而是可以應用於與虛擬磁碟相關聯的三個或多個實體磁碟或其分割區中。如所描述的,含有SSD和磁碟機的虛擬磁碟的多種潛在優點可能包括更快速的啟動時間、更快速的讀取和寫入效能和增加的儲存容量。
第二圖顯示了包括一SSD和一硬碟(Hard Disk Drive,HDD)的系統結構例子。處理器205會使用控制器210來與兩個虛擬化為單個邏輯磁碟的實體磁碟215、220通信。實體磁碟215、220的各種例子包括SSD 215和HDD 220。在一些實作中,SSD 215包括NAND快閃記憶體。在一些實作中,SSD 215包括NOR快閃記憶體。在一些實作中,SSD 120包括具有電池備份功能的雙倍資料速率(Double Data Rate,DDR)記憶體。
處理器205和控制器210之間的實體介面的各種例
子包括週邊組件互連(PCI)、PCI Express(PCIe)、序列先進技術附件(SATA)、小型電腦系統介面(SCSI)、序列連接SCSI(SAS)、通用序列匯流排(USB)以及用於多媒體卡(MMC)等記憶卡的介面。主機軟體通信協定的各種例子包括進階主機控制器介面(AHCI)、非揮發性記憶體主機控制器介面(NVMHCI)、整合驅動電子介面(IDE)以及智慧型輸入/輸出(I2O)。
在一些實作中,處理器205使用映射技術100來控制實體硬碟215、220的選擇以將資料儲存到單個邏輯硬碟。例如,在處理器205上運行的虛擬化過程可以維持實體硬碟215、220的虛擬化。而在處理器205上運行的應用程式可以寫到特定的LBA。虛擬化過程可以將LBA轉換為一轉換後的邏輯位址。虛擬化過程可以發出一帶有轉換後邏輯位址和目標實體磁碟215、220之標識的寫入命令到控制器210。處理器205可以將檔案寫入邏輯磁碟。在一些情況下,將檔案寫到邏輯磁碟之動作包括經由一移動操作將檔案重寫到單個邏輯磁碟中的不同邏輯位址處。在一些實作中,處理器205會執行移動操作,其包括從其中一實體磁碟215、220中讀取檔案並將該檔案寫到另一實體磁碟。在一些實作中,移動操作包括操作控制器210以在實體磁碟215、220之間轉移一或多個檔案。
在一些實作中,控制器210會在處理來自處理器205的寫入命令時使用映射技術100來控制實體磁碟215、220之選擇。例如,控制器210可以維持實體磁碟215、
220的虛擬化。控制器210可以接收在處理器205上運行的應用程式所產生的寫入命令。該寫入命令可以包括一LBA和寫入資料。控制器210會根據含括在該寫入命令中的LBA來選擇實體磁碟215、220。
第三圖顯示了包括一SSD和一HDD的系統結構的另一例子。資料處理系統可以包括如控制器305等的處理器電子電路。控制器305包括一或多個處理器310、記憶體315以及用於與SSD 330和HDD 335等各自的實體磁碟通信的介面320、325。用於與實體磁碟通信的介面320、325可以包括產生位址信號、資料信號或兩者的電路。在一些實作中,控制器305會包括具有處理器310、記憶體315以及介面320、325功能的積體電路。
第四圖顯示了包括雙控制器、一SSD以及一HDD的系統結構例子。資料處理系統可以包括處理器電子電路,例如一或多個處理器405和一或多個控制器410、420。處理器405可以與分別控制兩個或多個SSD 430和HDD 440等實體磁碟的兩個或多個控制器410、420通信。處理器405可以執行虛擬化程序以從SSD 430和HDD 440中產生虛擬磁碟。
第五圖顯示了包括兩個HDD和一多重分割式SDD的系統結構例子。控制器510可以將一SSD 530分割為兩個或多個分割區540、545。文中一分割區可以被稱為一範圍區(extent)。控制器510可以將SSD 530的第一分割區540和一第一HDD 520群組成一第一虛擬磁碟。控制器510可以將SSD 530的第二分割區545和一第二
HDD 525群組成一第二虛擬磁碟。主機系統505可以經由該控制器510與第一或第二虛擬磁碟通信。主機系統505可以包括一或多個處理器。在一些實作中,主機系統505包括控制器510。主機系統505可以執行作業系統(OS)來存取儲存在如虛擬磁碟或實體磁碟等磁碟上的檔案系統。作業系統可以裝載一可虛擬化實體磁碟的驅動程式。在一些實作中,作業系統會裝載一可以與設定為虛擬磁碟的實體磁碟通信的驅動程式。
第六圖顯示了一作業系統儲存元件組架構的例子。作業系統的儲存元件組架構可以包括一作業系統檔案系統驅動程式600、一或多個作業系統儲存元件組驅動程式605、作業系統磁碟分類驅動程式610以及磁碟篩檢驅動程式615。作業系統檔案系統驅動程式600可以提供檔案系統功能給作業系統和各種應用程式。
磁碟篩檢驅動程式615可以與不同實體磁碟相關聯的多個驅動程式通信。磁碟篩檢驅動程式615可以與如HDD 625等實體磁碟相關聯的儲存控制器驅動程式620通信。磁片篩檢驅動程式615可以與如SSD 645等實體磁碟相關聯的另一控制器驅動程式640通信。例如,磁碟篩檢驅動程式615可以和可操作來與SSD 645中的快閃記憶體互動的快閃控制器驅動程式640通信。
在一些實作中,橋接驅動程式630會與磁碟程式驅動程式615和快閃控制器驅動程式640通信耦合。在一些實作中,橋接驅動程式630可操作來在磁碟篩檢驅動程式615和快閃控制器驅動程式640之間轉換命令。
在一些實作中,磁碟篩檢驅動程式615包括產生一虛擬磁碟的功能。在一些實作中,磁碟篩檢驅動程式615會察覺到將兩個或多個磁碟組合成一虛擬磁碟的控制器。在一些實作中,一或多個如作業系統檔案系統驅動程式600等的驅動程式不會察覺到虛擬的磁碟並將這樣的磁碟視為實體磁碟。
第七圖顯示了一虛擬磁碟儲存程序的例子。控制器、主機系統或其組合可以運行一虛擬磁碟儲存程序。在步驟705,該程序會操作包括SSD和HDD的磁碟。在一些實作中,操作磁碟之動作包括與一正與SSD和HDD通信的控制器通信。在一些實現中,操作磁碟之動作包括與兩個或多個正分別與SSD和HDD通信的控制器通信。在一些實作中,操作磁碟之動作包括藉由一控制器(或者是無需控制器)來與SSD和HDD通信。
在步驟710,程序會將SDD和HDD虛擬化為一具有從0到L的邏輯位址空間的單個邏輯磁碟。在一些實作中,程序可以使SSD和HDD對作業系統而言為單個磁碟。在一些實作中,控制器可以虛擬化實體磁碟。虛擬化動作可以在每次控制器和主機系統通電時發生。在一些實現中,虛擬化動作包括了在電源開啟後的初始化過程期間存取一指定實體磁碟對虛擬磁碟之映射的設定檔。
在步驟720,過程會根據要寫到邏輯磁碟的檔案來判定對應SSD和HDD其中一者的目標邏輯位址。確定目標邏輯位址之動作可以包括根據該檔案特徵來在該
邏輯磁碟的邏輯位址空間內選擇一目標邏輯位址。例如,作業系統可以將檔案寫到邏輯磁碟中。此過程可以識別檔案類型或檔案使用率等檔案特徵。處理程序可以根據其類型來選擇目標邏輯位址,以使檔案將被寫到SSD。或者,該程序會選擇一不同的目標邏輯位址使得檔案將被寫到HDD。在一些實作中,目標邏輯位址包括一邏輯區塊位址。在一些實作中,判定一目標邏輯位址之動作可以包括將邏輯磁碟的邏輯位址空間內的邏輯位址轉換為SSD和HDD其中一者的邏輯位址空間內的邏輯位址。
在步驟730,處理程序會將檔案寫到邏輯磁碟的目標邏輯位址處,以在SSD和HDD其中一者上實現儲存功能。在一些情況下,步驟730寫入檔案之動作可以包括將檔案從SSD移動到HDD,或反之亦然。在一些實作中,目標邏輯位址係基於SSD和HDD其中一者的邏輯位址空間。在一些實作中,該目標邏輯位址係基於虛擬磁碟的邏輯位址空間。
在一些實作中,作業系統的檔案系統驅動程式不允許從外部來選擇目標邏輯位址。在這類實作中,程序可以允許作業系統進行寫入作業系統所選擇的目標邏輯位址之動作。在由作業系統初始寫入後,於步驟720,處理程序可以根據檔案的特徵選擇不同的目標邏輯位址。例如,如果該初始目標邏輯位址與HDD相對應,那麼該程序可以選擇與SSD相對應的一目標邏輯位址。在步驟730,過程會將檔案寫入邏輯磁碟以將該檔
案移動到一新的目標邏輯位址。作業系統可從較低的位址值到較高的位址值來分配邏輯位址,如邏輯區塊位址。因此,將一虛擬磁碟的SSD映射為比該虛擬磁碟的HDD低的位址範圍處係有利於使當空間允許時檔案的初始位置會位於SSD上。為了管理在SSD上的空間,處理程序可以將使用頻率較低的檔案從SSD移動到HDD。
在一些實作中,作業系統會提供應用程式介面(API)來移動已經被寫入磁碟的檔案。例如,儲存程序可以使用這類API來在初始寫入磁碟後移動檔案。在一些實作中,作業系統可以提供API來控制用於將檔案初始寫入磁碟的目標邏輯位址之選擇。
第八圖顯示了虛擬磁碟儲存程序的另一例子。在步驟805中,兩個或多個實體磁碟會被虛擬化為一帶有從0到L的邏輯位址空間的單一邏輯磁碟。在步驟810中,將從0到K的第一位址範圍的邏輯區塊位址映射到一第一實體磁碟。在步驟815,處理程序會將從K+1到L的第二位址範圍的邏輯區塊位址映射到一第二實體磁碟。此處的L大於K,且K大於0。
在步驟820中,處理程序會選擇與其中一實體磁碟相對應的目標邏輯位址。處理程序會根據要寫到邏輯磁碟的檔案特徵來選擇一目標邏輯位址。在一些實作中,選擇目標邏輯位址之動作包括選擇一目標邏輯位址以將檔案從其中一該實體磁碟移動到另一個。
在步驟825,處理程序會使控制器根據該目標邏輯
位址選擇其中一實體磁碟。使控制器選擇之動作可以包括將一寫入命令發送到一控制器,其中該寫入命令包括該目標邏輯位址。在一些實作中,處理程序會包括一位在該寫入命令中的驅動程式識別符。例如,該控制器可以根據一寫入命令中的驅動程式識別符來選擇驅動程式。在一些實作中,一部份的該目標邏輯位址(如該目標邏輯位址的最有效位)會作為一驅動程式識別符。在一些實作中,處理程序會將目標邏輯位址轉換為和與驅動程式有關聯的位址範圍相容的地址。在步驟830,處理程序會使控制器將檔案寫到所選擇的實體磁碟。在一些實作中,將寫入命令發送到控制器之動作可以使控制器選擇其中一實體磁碟並將檔案寫入所選擇的實體磁碟中。
第九圖顯示了一包括監控檔案使用率資訊的虛擬磁碟儲存程序例子。在步驟905,一虛擬磁碟儲存程序會監控一與SSD和HDD有關的邏輯磁碟上的檔案使用率資訊。在步驟910,處理程序會根據如使用頻率等使用資訊來選擇檔案從HDD移動到SSD。根據使用資訊來選擇檔案之動作可以包括使用一檔案相關的使用頻率。處理程序可以根據如檔案使用日誌或表等資料結構來判定儲存在該邏輯磁碟上的檔案的相關的使用頻率。例如,處理程序可以選擇比其他檔案常使用的一或多個檔案以移動到SSD。在步驟915,處理程序會選擇與SSD相對應的邏輯目標位址。在步驟920,處理程序會根據所選擇的目標邏輯位址將檔案從HDD移動到SSD,以降低該檔案的讀取存取等待時間。
第十圖顯示了包括監控檔案使用資訊的虛擬磁碟儲存程序的另一例子。在步驟1010,儲存程序會監控在與SSD和HDD相關聯的邏輯磁碟上的檔案的使用資訊。監控使用資訊之動作可以包括存取一會追蹤如最後存取時間或存取次數等檔案存取資訊的作業系統檔案。在步驟1015,處理程序會根據使用資訊選擇檔案從SSD轉移到HDD。該選擇檔案之動作可以包括根據兩個或多個檔案的使用資訊來判定相關的使用頻率。在一些實作中,處理程序會使用最後存取時間和日期臨界值來搜索不常使用的檔案。在這類例子中,搜索動作可以限制在與該SDD相對應的地址範圍內的地址。
在步驟1020,處理程序會選擇一與HDD相對應的目標邏輯位址。選擇這樣的目標邏輯位址之動作可以包括使用一會分別識別一或多個位址範圍和一或多個實體磁碟的映射表。在步驟1025,過程會根據所選擇的目標邏輯位址將檔案從SSD移動到HDD,以增加該SSD上的可用空間。該移動檔案之動作可以包括從SSD讀取檔案,將該檔案寫到HDD,以及將該檔案從SSD刪除。刪除檔案之動作可以包括將檔案標記為已刪除的,而不需要消除檔案。
第十一圖顯示了包括檔案類型標識的虛擬磁碟儲存程序的另一例子。在步驟1110中,儲存程序會識別要被寫到與SSD和HDD相關聯的邏輯磁碟的檔案類型。識別檔案類型之動作可以包括識別要經由移動被重寫到邏輯磁碟的檔案。識別檔案類型之動作可以包括存取
檔案延伸檔名字串等部分的檔案名稱。在一些實作中,識別檔案類型的動作可以包括存取一部分的檔案以確定其檔案類型。在一些實作中,識別檔案類型之動作可以包括判定該檔案的來源,如負責獲得要寫入檔案的來源之程序的所有者。在一些實作中,與“管理員”或“根源”等所有者相關聯的檔案可以被分配到SSD。
在步驟1115,處理程序會根據要被寫到邏輯磁碟的檔案類型來選擇與SSD和HDD其中一者對應的目標邏輯位址。在步驟1120,處理程序會將檔案寫到邏輯磁碟的目標邏輯位址處以在SSD和HDD其中一者上實現儲存機制。在一些實作中,處理程序包括將檔案從SSD移動到HDD或從HDD移動到SSD。該移動檔案的動作可以包括步驟1115的選擇和步驟1120的寫入。
主機系統可以運行超磁碟公用程式(hyper drive utility)以與一或多個如超磁碟等的虛擬磁碟相互作用。在一些實作中,超磁碟公用程式可以將一非揮發性記憶體分割成一或多個範圍。超磁碟公用程式可以將非揮發性記憶體的範圍和HDD虛擬化為單個磁碟。超磁碟公用程式可以作為背景程序來運行。在一些實作中,這樣的公用程式係被含括作為檔案系統驅動程式的一部分。
超磁碟公用程式可以優化超磁碟上的檔案儲存動作。超磁碟公用程式可以將熱門的(如經常使用的)應用程式放置到一超範圍區(hyper extent)中,其存在於包括非揮發性記憶體的SSD中。例如,公用程式可以將可執行的應用程式檔案移動到一超範圍區。公用程式可以
將冷門的(如鮮少使用的)應用程式從該超範圍區移動到一HDD範圍區。例如,如果應用程式在一段時間內未被使用,則該實用程式可以將與該應用程式相關聯的檔案從該超範圍區移動到HDD範圍區。
在一些實作中,超磁碟公用程式可以識別檔案以根據一或多個檔案類型、檔案使用率或上述二者等特徵分配到超範圍區。公用程式可以促使頁面檔案或交換檔案等作業系統檔案儲存在超範圍區上。公用程式可以促使啟動應用程式檔案儲存在超範圍區上。公用程式可以促使與經常使用的應用程式相關聯的檔案儲存在超範圍區上。如果熱門的應用程式有更新,則該公用程式可以將該更新移動到超範圍區。在一些實作中,公用程式會存取預先確定的檔案類型之列表以判定是否要將檔案儲存在超範圍區上。
超磁碟位址空間等虛擬磁碟位址空間可以包括被分配到SSD的範圍[LBA 0,LBA N]和被分配到HDD的範圍[LBA N+1,MAX_LBA]。MAX_LBA代表了與超磁碟位址空間相關聯的最大LBA值。在一些實作中,作業系統可操作來將檔案從頭開始寫在位址空間的開頭部分處。如果作業系統無法辨識超磁碟的實體磁碟設置,那麼超磁碟公用程式可以在該實體磁碟之間移動檔案以優化超磁碟的性能。在磁碟間移動檔案之動作可以包括讀取檔案的資料,使用新的LBA來與檔案產生關聯,以及將檔案資料寫到新的LBA。在一些實作中,公用程式可以使作業系統擁有用於一或多個檔案類型的預先
確定的LBA範圍。這些預先確定的範圍可以與一超磁碟的SSD相對應。在一些實作中,超磁碟位址空間可以包括被分配到HDD的範圍[LBA 0,LBA N]和被分配到SSD的範圍[LBA N+1,MAX_LBA]。
上文中已詳細描述了一些實施方式,並可能作各種修改。其所揭示的主題--包括本說明書中所描述的功能操作--可以在電子電路、電腦硬體、韌體、軟體、或它們的組合中被執行,例如在本說明書中所揭露的結構裝置及其結構均等物,其可能包括可操作來使一或多個資料處理裝置執行所述之操作(例如被編碼在電腦可讀取式媒介中的程式,其可以是記憶體裝置、儲存設備、電腦可讀取式儲存基板、或其他實體、機器可讀取式媒介、或它們中的一或多個的組合)。
“資料處理裝置”一詞含括了用於處理資料的所有裝置、設備和機器,舉例而言,其包括了可編程式處理器、電腦、或多個處理器或電腦。除硬體之外,該裝置還可以包括為討論中的電腦程式產生一執行環境的程式碼,如構成處理器韌體的程式碼、通訊協定元件組的程式碼、資料庫管理系統的程式碼、作業系統的程式碼、或它們中的一或多個的組合的程式碼。
程式(亦稱為電腦程式、軟體、軟體應用程式、腳本或程式碼)可以以任何形式的編程語言來寫入--包括經過編譯或解釋的語言、或說明性或程序語言,並且它可以以任何形式來使用,包括作為一獨立的程式或作為模組、組件、次常式或適合於運算環境中使用的其他
單元。程式不一定會與檔案系統中的檔案相對應。程式可以被儲存在保存其他程式或資料(例如,儲存在標記語言文檔中的一或多個腳本)的部分檔案中,儲存在專門用於討論中的程式的單個檔案中,或在多個相互配合的檔案(例如,儲存一或多個模組、副程式或部分的程式碼的檔案)中。程式可以被使用來為一位於一個位置或分佈在多個位置上且由通信網路內部互連的一個電腦或多個電腦所執行。
雖然本說明書內含許多細節,這些細節不應被理解成是加諸在可能被主張的範圍上之限制,而是作為實施方式可能特有的特徵描述。在本說明書中個別實施例情境下所描述的某些特徵也可以被結合成單一實施方式來實現。相反地,在單一實施例情境中所描述的各種特徵也可以在多個實施方式中個別地或以任何適合的子組合來實現。此外,雖然本發明之特徵可能在上文中被描述為會在某些組合中實行甚至以此來主張,然而來自所主張組合的一或多個特徵在一些情況下可以從其組合中被刪除,且所主張組合可係針對一子組合或一次組合之變化。
同樣地,雖然本發明操作在圖中以特定順序來描述,然而這不應被理解為一定需要以該所示之特定順序或以連續的順序來實行,或需要實行所有示出的操作來得到吾人所期望之結果。在某些情況中,多工和並行處理可能是有利的。此外,上述實施方式中各種系統組件的分離不應被理解為在所有實施方式中都一定要這樣
的分離。
本發明其他實施方式會落入下述申請專利範圍的範圍內。
100‧‧‧映射技術
105‧‧‧LBA空間
110‧‧‧邏輯位址
115‧‧‧範圍
120‧‧‧實體磁碟/SSD
125‧‧‧範圍
130‧‧‧實體磁碟/磁碟機
205‧‧‧處理器
210‧‧‧控制器
215‧‧‧實體磁碟/SSD
220‧‧‧實體磁碟/HDD
305‧‧‧控制器
310‧‧‧處理器
315‧‧‧記憶體
320/325‧‧‧介面
330‧‧‧SSD
335‧‧‧HDD
405‧‧‧處理器
410/420‧‧‧控制器
505‧‧‧主機系統
510‧‧‧控制器
520/525‧‧‧HDD
530‧‧‧SSD
540/545‧‧‧分割區
600‧‧‧作業系統檔案系統驅動程式
605‧‧‧作業系統儲存元件組驅動程式
610‧‧‧作業系統磁碟分類驅動程式
615‧‧‧磁碟篩檢驅動程式
620‧‧‧儲存控制器驅動程式
630‧‧‧橋接驅動程式
640‧‧‧控制器驅動程式
645‧‧‧SSD
705/710/720/730‧‧‧步驟
805/810/815/820/825/830‧‧‧步驟
905/910/915/920‧‧‧步驟
1010/1015/1020/1025‧‧‧步驟
1110/1115/1120‧‧‧步驟
第一圖顯示了用於與兩個實體磁碟相關聯的虛擬磁碟之映射技術的例子。
第二圖顯示包括一SSD和一HDD的系統結構例子。
第三圖顯示了包括一SSD和一HDD的系統結構的另一例子。
第四圖顯示了包括雙控制器、一SSD以及一HDD的系統結構例子。
第五圖顯示了包括兩個HDD和一多重分割式區SDD的系統結構例子。
第六圖顯示了一作業系統儲存元件架構的例子。
第七圖顯示了一虛擬磁碟儲存程序的例子。
第八圖顯示了虛擬磁碟儲存程序的另一例子。
第九圖顯示了一包括監控檔案使用資訊的虛擬磁碟儲存程序的例子。
第十圖顯示了包括監控檔案使用資訊的虛擬磁碟儲存程序的另一例子。
第十一圖顯示了包括檔案類型標識的虛擬磁碟儲存程序的另一例子。
相似的元件符號在各個圖中係代表相似的元件。
100‧‧‧映射技術
105‧‧‧LBA空間
110‧‧‧邏輯位址
115‧‧‧範圍
120‧‧‧實體磁碟/SSD
125‧‧‧範圍
130‧‧‧實體磁碟/磁碟機
Claims (17)
- 一種虛擬化儲存裝置之系統,包括:一固態硬碟(SSD);一磁碟機,其中所述SSD和所述磁碟機被虛擬-化為單個邏輯磁碟;以及處理器電子電路,其與所述磁碟通信並映射在0到L的邏輯位址空間中的邏輯區塊位址,其中L大於0,其中所述處理器電子電路會將所述邏輯位址空間的一第一位址範圍的邏輯區塊位址映射到所述SSD並將所述邏輯位址空間一不同的第二位址範圍的邏輯區塊位址映射到所述磁碟機,且其中所述處理器電子電路係配置來執行操作,所述操作包括:根據要被寫到所述邏輯磁碟的檔案來判定與所述SSD和所述磁碟機其中一者相對應的目標邏輯位址;以及將所述檔案寫到所述目標邏輯位置處的所述邏輯磁碟以在所述SSD和所述磁碟機其中一者上實現儲存功能;其中所述第一位址範圍包括從0到K的位址,其中所述第二位址範圍包括從K+1到L的位址,其中L大於K,且K大於0,其中所述第一位址範圍被分配到所述SSD,其中所述第二位址範圍被分配到所述磁碟機,且其中該判定所述目標邏輯位址之步驟包括選擇所述第一位址範圍和所述第二位址範圍其中一者。
- 如專利申請範圍第1項所述的系統,其中所述操作包括:監控與所述邏輯磁碟相關聯的檔案的使用頻率;其中該判定所述目標邏輯位址之步驟包括根據負責獲得要被寫入檔案的來源之程序的所有者來選擇所述SSD和所述磁碟機其中一者;以及其中該將所述檔案寫到所述邏輯磁碟之步驟包含根據所述使用頻率將所述檔案從所述磁碟機移動到所述SSD或將所述檔案從所述SSD移動到所述磁碟機。
- 如專利申請範圍第2項所述的系統,其中所述檔案已儲存在所述磁碟機上,其中該判定所述目標邏輯位址之步驟包括選擇一與所述SSD相對應的目標邏輯位址,且其中該將所述檔案寫到所述邏輯磁碟之步驟包括將所述檔案從所述磁碟機移動到所述SSD。
- 如專利申請範圍第2項所述的系統,其中所述檔案已儲存在所述SSD上,且其中該將所述檔案寫到所述邏輯磁碟之步驟包括根據各個該使用資訊來將儲存在所述SSD上的檔案移動到所述磁碟機。
- 如專利申請範圍第1項所述的系統,其中所述操作包括: 識別所述檔案的類型,其中該判定所述目標邏輯位址之步驟包括根據所述檔案類型的等待時間需求來選擇與所述SSD相對應的目標邏輯位址,且其中該將所述檔案寫到所述邏輯磁碟之步驟包括將所述檔案寫到所述SSD。
- 如專利申請範圍第1項所述的系統,其中所述SSD被分割為範圍區(extent),其中所述邏輯磁碟係以其中一所述範圍區和所述磁碟機為基礎。
- 一種虛擬化儲存裝置之設備,包括:第一介面,其與一固態硬碟(SSD)通信;第二介面,其與一磁碟機通信,其中所述SSD和所述磁碟機被虛擬化為單個邏輯磁碟;以及處理器電子電路,其與所述磁碟通信並映射在0到L的邏輯位址空間中的邏輯區塊位址,其中L大於0,其中所述處理器電子電路將所述邏輯位址空間的一第一位址範圍的邏輯區塊位址映射到所述SSD並將所述邏輯位址空間一不同的第二位址範圍的邏輯區塊位址映射到所述磁碟機,且其中所述處理器電子電路係配置來執行操作,所述操作包括:根據要被寫到所述邏輯磁碟的檔案來判定與所述SSD和所述磁碟機其中一者相對應的目標邏輯位址;以及將所述檔案寫到目標邏輯位址處的所述邏輯磁 碟以在所述SSD和所述磁碟機其中一者上實現儲存功能;其中所述第一位址範圍包括從0到K的位址,其中所述第二位址範圍包括從K+1到L的位址,其中L大於K,且K大於0,其中所述第一位址範圍被分配到所述SSD,其中所述第二位址範圍被分配到所述磁碟機,且其中該判定所述目標邏輯位址之步驟包括選擇所述第一位址範圍和所述第二位址範圍其中一者。
- 如專利申請範圍第7項所述的設備,其中所述操作包括:監控與所述邏輯磁碟相關聯的檔案的使用頻率;其中該判定所述目標邏輯位址之步驟包括根據負責獲得要被寫入檔案的來源之程序的所有者來選擇所述SSD和所述磁碟機其中一者;以及其中該將所述檔案寫到所述邏輯磁碟之步驟包含根據所述使用頻率將所述檔案從所述磁碟機移動到所述SSD或將所述檔案從所述SSD移動到所述磁碟機。
- 如專利申請範圍第8項所述的設備,其中所述檔案已儲存在所述磁碟機上,其中該判定所述目標邏輯位址之步驟包括選擇一與所述SSD相對應的目標邏輯位址,且其中該將所述檔案寫到所述邏輯磁碟之步驟包 括將所述檔案從所述磁碟機移動到所述SSD。
- 如專利申請範圍第8項所述的設備,其中所述檔案已儲存在所述SSD上,且其中該將所述檔案寫到所述邏輯磁碟之步驟包括根據各個該使用資訊來將儲存在所述SSD上的檔案移動到所述磁碟機。
- 如專利申請範圍第7項所述的設備,其中所述操作包括:識別所述檔案的類型,其中該判定所述目標邏輯位址之步驟包括根據所述檔案類型的等待時間需求來選擇與所述SSD相對應的目標邏輯位址,且其中該將所述檔案寫到所述邏輯磁碟之步驟包括將所述檔案寫到所述SSD。
- 如專利申請範圍第7項所述的設備,其中所述SSD被分割為範圍區(extent),其中所述邏輯磁碟係以其中一所述範圍區和所述磁碟機為基礎。
- 一種虛擬化儲存裝置之方法,包括:操作包括固態硬碟(SSD)和磁碟機的磁碟,其中所述SSD和所述磁碟機被虛擬化為具有0到L的邏輯位址空間的單個邏輯磁碟,其中L大於0,且其中該操作所述磁碟之步驟包括將所述邏輯位址空間的一第一位址範圍的邏輯區塊位址映射到所述SSD 以及將所述邏輯位址空間一不同的第二位址範圍的邏輯區塊位址映射到所述磁碟機;根據要被寫到所述邏輯磁碟的檔案來判定與所述SSD和所述磁碟機其中一者相對應的目標邏輯位址;以及將所述檔案寫到在所述目標邏輯位址處的所述邏輯磁碟以在所述SSD和所述磁磁碟其中一者上實現儲存功能;其中該虛擬化所述SSD和所述磁碟機之步驟包括將從0到K的一第一位址範圍的邏輯區塊位址映射到所述SSD以及將從K+1到L的一第二位址範圍的邏輯區塊位址映射到所述磁碟機,其中L大於K,且K大於0,且其中該將所述檔案寫到所述邏輯磁碟之步驟包括使控制器(i)根據所述目標邏輯位址來選擇所述SSD和所述磁碟機其中一者,以及(ii)將所述檔案寫到所選擇的磁碟。
- 如專利申請範圍第13項所述的方法,包括:監控與所述邏輯磁碟相關聯的檔案的使用頻率;其中該判定所述目標邏輯位址之步驟包括根據負責獲得要被寫入檔案的來源之程序的所有者來選擇所述SSD和所述磁碟機其中一者;以及其中該將所述檔案寫到所述邏輯磁碟之步驟包含根據所述使用頻率將所述檔案從所述磁碟機移動到所述SSD或將所述檔案從所述SSD移動到所述磁 碟機。
- 如專利申請範圍第14項所述的方法,其中所述檔案先前被儲存在所述磁碟機上,其中該判定所述目標邏輯位址之步驟包括選擇與所述SSD相對應的目標邏輯位址,且其中將所述檔案寫到所述邏輯磁碟之步驟包括將所述檔案從所述磁碟機移動到所述SSD。
- 如專利申請範圍第14項所述的方法,其中所述檔案已儲存在所述SSD上,且其中該將所述檔案寫到所述邏輯磁碟之步驟包括根據各個所述的使用資訊來將儲存在所述SSD上的檔案移動到所述磁碟機。
- 如專利申請範圍第13項所述的方法,包括:識別所述檔案的類型,其中該判定所述目標邏輯位址之步驟包括根據所述檔案類型的等待時間需求來選擇與所述SSD相對應的目標邏輯位址,且其中該將所述檔案寫到所述邏輯磁碟之步驟包括將所述檔案寫到所述SSD。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US26692409P | 2009-12-04 | 2009-12-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201145022A TW201145022A (en) | 2011-12-16 |
TWI507869B true TWI507869B (zh) | 2015-11-11 |
Family
ID=43501585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099142053A TWI507869B (zh) | 2009-12-04 | 2010-12-03 | 虛擬化儲存裝置之系統、設備及方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8769241B2 (zh) |
EP (1) | EP2507700A1 (zh) |
JP (2) | JP5984118B2 (zh) |
TW (1) | TWI507869B (zh) |
WO (1) | WO2011068699A1 (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5984118B2 (ja) * | 2009-12-04 | 2016-09-06 | マーベル ワールド トレード リミテッド | 格納デバイスの仮想化 |
US9977732B1 (en) * | 2011-01-04 | 2018-05-22 | Seagate Technology Llc | Selective nonvolatile data caching based on estimated resource usage |
KR101612594B1 (ko) | 2011-01-27 | 2016-04-14 | 소프트 머신즈, 인크. | 프로세서의 변환 룩 어사이드 버퍼를 이용하는 게스트 명령-네이티브 명령 레인지 기반 매핑 |
WO2012103359A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Hardware acceleration components for translating guest instructions to native instructions |
WO2012103367A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Guest to native block address mappings and management of native code storage |
WO2012103253A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Multilevel conversion table cache for translating guest instructions to native instructions |
WO2012103245A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines Inc. | Guest instruction block with near branching and far branching sequence construction to native instruction block |
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 |
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 |
US9710397B2 (en) * | 2012-02-16 | 2017-07-18 | Apple Inc. | Data migration for composite non-volatile storage device |
US20130238851A1 (en) * | 2012-03-07 | 2013-09-12 | Netapp, Inc. | Hybrid storage aggregate block tracking |
US9053008B1 (en) | 2012-03-26 | 2015-06-09 | Western Digital Technologies, Inc. | Systems and methods for providing inline parameter service in data storage devices |
CN103678143B (zh) * | 2012-09-25 | 2018-10-12 | 联想(北京)有限公司 | 文件存储方法、装置及电子设备 |
US10073851B2 (en) * | 2013-01-08 | 2018-09-11 | Apple Inc. | Fast new file creation cache |
US9606935B2 (en) * | 2013-03-15 | 2017-03-28 | Intel Corporation | Method and apparatus for preventing non-temporal entries from polluting small structures using a transient buffer |
WO2014151652A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines Inc | Method and apparatus to allow early dependency resolution and data forwarding in a microprocessor |
US10467010B2 (en) | 2013-03-15 | 2019-11-05 | Intel Corporation | Method and apparatus for nearest potential store tagging |
US10198265B2 (en) | 2013-03-15 | 2019-02-05 | Intel Corporation | Microprocessor for gating a load operation based on entries of a prediction table |
CN105122206B (zh) | 2013-03-15 | 2018-11-09 | 英特尔公司 | 用于支持推测的访客返回地址栈仿真的方法和装置 |
US20150234595A1 (en) * | 2014-02-14 | 2015-08-20 | Kabushiki Kaisha Toshiba | Storage device |
EP3149992A1 (en) | 2014-05-28 | 2017-04-05 | Corning Optical Communications Wireless Inc. | MULTIPLE APPLICATION MODULES (MAMs) FOR MONITORING SIGNALS IN COMPONENTS IN WIRELESS DISTRIBUTION SYSTEMS, INCLUDING DISTRIBUTED ANTENNA SYSTEMS (DASs), AND RELATED SYSTEMS AND METHODS |
WO2016112308A2 (en) | 2015-01-09 | 2016-07-14 | Corning Optical Communications LLC | Multiple application module or unit |
TWI579689B (zh) * | 2015-09-25 | 2017-04-21 | 瑞昱半導體股份有限公司 | 資料備份系統 |
US9936019B2 (en) | 2016-03-16 | 2018-04-03 | Google Llc | Efficient live-migration of remotely accessed data |
US9959058B1 (en) * | 2016-03-31 | 2018-05-01 | EMC IP Holding Company LLC | Utilizing flash optimized layouts which minimize wear of internal flash memory of solid state drives |
EP3449650A1 (en) | 2016-04-27 | 2019-03-06 | Corning Optical Communications LLC | Multiple application modules (mam) and/or multiple application units (mau) for providing services in wireless distribution systems (wds), including distributed antenna systems (das), and related systems and methods |
WO2017210186A1 (en) | 2016-05-31 | 2017-12-07 | Corning Optical Communications LLC | Multiple application devices for providing services in wireless distribution systems (wds), including distributed antenna systems (das), and related systems and methods |
US10942844B2 (en) | 2016-06-10 | 2021-03-09 | Apple Inc. | Reserved memory in memory management system |
US10866912B2 (en) | 2017-03-10 | 2020-12-15 | Toshiba Memory Corporation | Integrated heterogeneous solid state storage drive |
US10713750B2 (en) * | 2017-04-01 | 2020-07-14 | Intel Corporation | Cache replacement mechanism |
US11755420B2 (en) * | 2020-09-28 | 2023-09-12 | Druva Inc. | Recovery point objective optimized file recovery |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070271413A1 (en) * | 2005-09-22 | 2007-11-22 | Akira Fujibayashi | Storage control apparatus, data management system and data management method |
TW200807241A (en) * | 2006-06-08 | 2008-02-01 | Bitmicro Networks Inc | Optimized placement policy for solid state storage devices |
US20090287878A1 (en) * | 2008-05-14 | 2009-11-19 | Hitachi, Ltd. | Storage apparatus using flash memory |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0497659A (ja) | 1990-08-15 | 1992-03-30 | Hitachi Ltd | 垂直画面歪補正回路 |
US5778418A (en) | 1991-09-27 | 1998-07-07 | Sandisk Corporation | Mass computer storage system having both solid state and rotating disk types of memory |
JPH05127962A (ja) * | 1991-11-08 | 1993-05-25 | Nec Software Kansai Ltd | 電子デイスクフアイル常駐優先度管理方式 |
US5420998A (en) | 1992-04-10 | 1995-05-30 | Fujitsu Limited | Dual memory disk drive |
JPH06314177A (ja) * | 1993-04-28 | 1994-11-08 | Toshiba Corp | 磁気ディスク装置及びアクセス方法 |
JPH09297659A (ja) * | 1996-04-30 | 1997-11-18 | Toshiba Corp | 不揮発性記憶装置およびその制御方法 |
JPH1063551A (ja) * | 1996-08-16 | 1998-03-06 | Nec Off Syst Ltd | 情報処理装置 |
US6356915B1 (en) * | 1999-02-22 | 2002-03-12 | Starbase Corp. | Installable file system having virtual file system drive, virtual device driver, and virtual disks |
US6785767B2 (en) * | 2000-12-26 | 2004-08-31 | Intel Corporation | Hybrid mass storage system and method with two different types of storage medium |
JP4100968B2 (ja) * | 2002-06-06 | 2008-06-11 | 株式会社日立製作所 | データマッピング管理装置 |
JP2006302315A (ja) * | 2003-07-07 | 2006-11-02 | Hitachi Ulsi Systems Co Ltd | 記憶装置および記憶システム |
JP4327585B2 (ja) * | 2003-12-25 | 2009-09-09 | 株式会社東芝 | 記憶装置 |
US20050235076A1 (en) * | 2004-04-14 | 2005-10-20 | Winarski Daniel J | Targeted communications for microcode updates using dedicated LUNs |
JP4890048B2 (ja) * | 2006-02-24 | 2012-03-07 | 株式会社日立製作所 | 記憶制御装置及び記憶制御装置を用いたデータマイグレーション方法 |
SG135082A1 (en) * | 2006-02-27 | 2007-09-28 | Gueh How Kiap | Method and apparatus for removable, ide-ata or scsi flash memory based data storage in a portable computer device |
US7555575B2 (en) * | 2006-07-27 | 2009-06-30 | Hitachi, Ltd. | Method and apparatus for migrating data between storage volumes of different data pattern |
KR100854032B1 (ko) * | 2007-02-09 | 2008-08-26 | 삼성전자주식회사 | 메모리 시스템 및 그것의 데이터 저장 방법 |
US7899987B2 (en) * | 2007-05-15 | 2011-03-01 | Sandisk Il Ltd. | File storage in a computer system with diverse storage media |
US7996447B2 (en) * | 2007-07-24 | 2011-08-09 | Dell Products L.P. | Method and system for optimal file system performance |
KR101498673B1 (ko) * | 2007-08-14 | 2015-03-09 | 삼성전자주식회사 | 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템 |
JP2009134601A (ja) * | 2007-11-30 | 2009-06-18 | Fujitsu Ltd | ディスクアクセス方式切替装置 |
JP2011515727A (ja) * | 2008-02-12 | 2011-05-19 | ネットアップ,インコーポレイテッド | ハイブリッド媒体ストレージシステムアーキテクチャ |
US8171278B2 (en) * | 2008-08-11 | 2012-05-01 | Vmware, Inc. | Booting a computer system from central storage |
JP2010049502A (ja) * | 2008-08-21 | 2010-03-04 | Hitachi Ltd | ストレージサブシステム、及びこれを有するストレージシステム |
US8103847B2 (en) * | 2009-04-08 | 2012-01-24 | Microsoft Corporation | Storage virtual containers |
US8321645B2 (en) * | 2009-04-29 | 2012-11-27 | Netapp, Inc. | Mechanisms for moving data in a hybrid aggregate |
JP5984118B2 (ja) * | 2009-12-04 | 2016-09-06 | マーベル ワールド トレード リミテッド | 格納デバイスの仮想化 |
TWI587139B (zh) * | 2010-01-20 | 2017-06-11 | 旺玖科技股份有限公司 | 驅動裝置及其取得資料之方法 |
US8677093B2 (en) * | 2010-04-19 | 2014-03-18 | Hitachi, Ltd. | Method and apparatus to manage tier information |
-
2010
- 2010-11-19 JP JP2012542078A patent/JP5984118B2/ja active Active
- 2010-11-19 EP EP10788444A patent/EP2507700A1/en not_active Ceased
- 2010-11-19 WO PCT/US2010/057495 patent/WO2011068699A1/en active Application Filing
- 2010-11-19 US US12/950,733 patent/US8769241B2/en active Active
- 2010-12-03 TW TW099142053A patent/TWI507869B/zh not_active IP Right Cessation
-
2014
- 2014-06-25 US US14/314,446 patent/US9164895B2/en active Active
-
2015
- 2015-07-17 JP JP2015143318A patent/JP6253614B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070271413A1 (en) * | 2005-09-22 | 2007-11-22 | Akira Fujibayashi | Storage control apparatus, data management system and data management method |
TW200807241A (en) * | 2006-06-08 | 2008-02-01 | Bitmicro Networks Inc | Optimized placement policy for solid state storage devices |
US20090287878A1 (en) * | 2008-05-14 | 2009-11-19 | Hitachi, Ltd. | Storage apparatus using flash memory |
Also Published As
Publication number | Publication date |
---|---|
EP2507700A1 (en) | 2012-10-10 |
JP2013513163A (ja) | 2013-04-18 |
WO2011068699A1 (en) | 2011-06-09 |
JP6253614B2 (ja) | 2017-12-27 |
US20110138112A1 (en) | 2011-06-09 |
TW201145022A (en) | 2011-12-16 |
JP5984118B2 (ja) | 2016-09-06 |
US20140310449A1 (en) | 2014-10-16 |
JP2015228235A (ja) | 2015-12-17 |
US9164895B2 (en) | 2015-10-20 |
US8769241B2 (en) | 2014-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI507869B (zh) | 虛擬化儲存裝置之系統、設備及方法 | |
US11640353B2 (en) | Memory system, data storage device, user device and data management method thereof | |
US9880766B2 (en) | Storage medium storing control program, method of controlling information processing device, information processing system, and information processing device | |
KR100923990B1 (ko) | 플래시 저장 장치의 특성을 기반으로 한 컴퓨팅 시스템 | |
TWI514134B (zh) | 達成固態硬碟最佳化之移除已刪除資料技術 | |
US10956071B2 (en) | Container key value store for data storage devices | |
KR102649131B1 (ko) | 메모리 시스템 내 대용량 데이터 저장이 가능한 블록에서의 유효 데이터 체크 방법 및 장치 | |
US8433847B2 (en) | Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive | |
KR20170110810A (ko) | 데이터 처리 시스템 및 그것의 동작 방법 | |
CN111324414B (zh) | Nvm存储介质模拟器 | |
KR20130079706A (ko) | 휘발성 메모리를 포함하는 저장 장치의 구동 방법 | |
TW201504937A (zh) | 由實體儲存裝置中所選分區所構成的虛擬儲存裝置 | |
US9740420B2 (en) | Storage system and data management method | |
KR102425470B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
JP2013073409A (ja) | ディスクアレイ装置 | |
KR20060095133A (ko) | 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는방법 | |
US20120131236A1 (en) | Communication between a computer and a data storage device | |
US20230376201A1 (en) | Persistence logging over nvm express for storage devices application | |
US12066928B2 (en) | Memory system, memory controller and operation method thereof | |
KR20200125216A (ko) | 데이터 저장 장치, 이를 포함하는 전자 장치 및 데이터 저장 장치의 동작 방법 | |
KR20200069889A (ko) | 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법 | |
US20170277474A1 (en) | Data processing system including data storage device | |
TW202044048A (zh) | 瞬間斷電回復處理方法及裝置以及電腦程式產品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |