TW201504937A - 由實體儲存裝置中所選分區所構成的虛擬儲存裝置 - Google Patents

由實體儲存裝置中所選分區所構成的虛擬儲存裝置 Download PDF

Info

Publication number
TW201504937A
TW201504937A TW102127547A TW102127547A TW201504937A TW 201504937 A TW201504937 A TW 201504937A TW 102127547 A TW102127547 A TW 102127547A TW 102127547 A TW102127547 A TW 102127547A TW 201504937 A TW201504937 A TW 201504937A
Authority
TW
Taiwan
Prior art keywords
storage device
partition
partitions
virtual
operating system
Prior art date
Application number
TW102127547A
Other languages
English (en)
Inventor
Yoshiaki Funaki
Giant Xiao-Mu Tu
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Priority to TW102127547A priority Critical patent/TW201504937A/zh
Priority to US14/447,111 priority patent/US20150082014A1/en
Publication of TW201504937A publication Critical patent/TW201504937A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/4408Boot device selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

揭露一種電腦系統,其具有一實體儲存裝置,該實體儲存裝置包含複數個分區,可供使用者從中挑選出至少兩個分區以組合作為一虛擬儲存裝置供該作業系統存取。未被挑選之分區則不提供該作業系統存取。

Description

由實體儲存裝置中所選分區所構成的虛擬儲存裝置
本發明大體而言係關於管理儲存裝置中的分區。更特別地,係關於具有儲存裝置中分區的選擇(partition selection)與存取。
現有儲存裝置,例如硬碟或是固態硬碟(SSD),其容量都愈來愈大。為了使用上以及資料管理上的需要,可對儲存裝置中可用空間加以劃分出多個邏輯上的儲存單元,通常被稱之為分區(partition)。每個分區可用來放置不同的資料,也可使用不同的檔案系統。透過分區,單一實體儲存裝置在運作上就如同同時有多個儲存裝置一般。
分區的資訊一般記錄在主要啟動記錄(Master Boot Record、MBR)中。主要啟動記錄一般都放置在儲存裝置上的第一個磁區(sector)。每次電腦啟動時,基本輸入輸出系統(BIOS)會從第一個磁區中讀取主要啟動記錄的分區表,以獲得儲存裝置中分區的狀況,以及找出開機分區並藉此載入開機程序所需要的作業系統。
關於更多分區的資訊,可參考維基百科關於『Disk Partition』的說明(http://en.wikipedia.org/wiki/Disk_partitioning)或是美國專利公開號US2007/0283114。
本發明一方面在於提出一種新的儲存裝置中分區的管理方 式。使用者可在實體儲存裝置全部可得的分區中挑選所需的分區,並加以組合或排序,而產生出一虛擬儲存裝置。此虛擬儲存裝置的儲存容量等同所挑選的分區的容量總和,因此可小於實體儲存裝置的總容量。
本發明另一方面即在於以此虛擬儲存裝置取代原本的實體儲存裝置。換言之,作業系統將只會『看到』此由被挑選出的分區所構成的虛擬儲存裝置,而不是原本的實體儲存裝置。因此作業系統也只能存取虛擬儲存裝置,未被挑選的分區則排除在此虛擬儲存裝置之外,而不會被作業系統存取,如同未連結到電腦主機一般。
本發明另一方面,在於即使僅使用同一實體儲存裝置,但藉由挑選不同的分區或是對相同的多個分區給予不同的排序,可組合出不同的虛擬儲存裝置供作業系統存取,其效果即等同於提供不同的實體儲存裝置予作業系統。因為省卻了手動更換實體儲存裝置的麻煩,此特點在軟體的測試環境將具有優勢,特別是本發明還可測試出儲存裝置中分區的數目或排序對軟體的運作是否產生影響。
相較於本發明,現有技術將儲存裝置劃分出分區後,使用者並無法更進一步地對各分區進行管理或選擇。因此現有技術中儲存裝置的分區所能提供的效益有限,多著重於儲存空間的區隔(separation)以及並藉此可利用區隔的分區來實現多重作業系統開機。另外在上述美國專利公開號US2007/0283114所揭示的技術中,係利用單純開關的作法,讓電腦主機一次僅能存取實體儲存裝置中的一分區,其效益有限,不像本發明中可在實體儲存裝置中自由組合多重分區來產生不同的虛擬儲存裝置。
本說明書中所提及的特色、優點、或類似表達方式並不表示,可以本發明實現的所有特色及優點應在本發明之任何單一的具體實施例內。而是應明白,有關特色及優點的表達方式是指結合具體實施例所述的特定特色、優點、或特性係包括在本發明的至少一具體實施例內。因此,本說明書中對於特色及優點、及類似表達方式的論述與相同具體實施例有關,但亦非必要。
參考以下說明及隨附申請專利範圍或利用如下文所提之本發明的實施方式,即可更加明瞭本發明的這些特色及優點。
100‧‧‧電腦系統
102‧‧‧基本輸入輸出系統(BIOS)
104‧‧‧中央處理器
16‧‧‧主記憶體模組
18‧‧‧儲存裝置/硬碟
OS‧‧‧作業系統
DD‧‧‧驅動程式
VD‧‧‧虛擬儲存裝置
為了立即瞭解本發明的優點,請參考如附圖所示的特定具體實施例,詳細說明上文簡短敘述的本發明。在瞭解這些圖示僅描繪本發明的典型具體實施例並因此不將其視為限制本發明範疇的情況下,參考附圖以額外的明確性及細節來說明本發明,圖式中:圖1係依據本發明一具體實施例之電腦系統;圖2至圖4係繪示依據本發明之不同實施例。
本說明書中「一具體實施例」或類似表達方式的引用是指結合該具體實施例所述的特定特色、結構、或特性係包括在本發明的至少一具體實施例中。因此,在本說明書中,「在一具體實施例中」及類似表達方式之用語的出現未必指相同的具體實施例。
熟此技藝者當知,本發明可實施為電腦系統/裝置、方法或作為電腦程式產品之電腦可讀媒體。因此,本發明可以實施為各種形式,例如完全的硬體實施例、完全的軟體實施例(包含韌體、常駐軟體、微程式碼等),或者亦可實施為軟體與硬體的實施形式,在以下會被稱為「電路」、「模組」或「系統」。此外,本發明亦可以任何有形的媒體形式實施為電腦程式產品,其具有電腦可使用程式碼儲存於其上。
一個或更多個電腦可使用或可讀取媒體的組合都可以利用。舉例來說,電腦可使用或可讀取媒體可以是(但並不限於)電子的、磁的、光學的、電磁的、紅外線的或半導體的系統、裝置、設備或傳播媒體。更具體的電腦可讀取媒體實施例可以包括下列所示(非限定的例示):由一個或多個連接線所組成的電氣連接、可攜式的電腦磁片、硬碟機、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可抹除程式化唯讀記憶體(EPROM或快閃記憶體)、光纖、可攜式光碟片(CD-ROM)、光學儲存裝置、傳輸媒體(例如網際網路(Internet)或內部網路(intranet)之基礎連接)、或磁儲存裝置。需注意的是,電腦可使用或可讀取媒體更可以為紙張或任何可用於將程式列印 於其上而使得該程式可以再度被電子化之適當媒體,例如藉由光學掃描該紙張或其他媒體,然後再編譯、解譯或其他合適的必要處理方式,然後可再度被儲存於電腦記憶體中。在本文中,電腦可使用或可讀取媒體可以是任何用於保持、儲存、傳送、傳播或傳輸程式碼的媒體,以供與其相連接的指令執行系統、裝置或設備來處理。電腦可使用媒體可包括其中儲存有電腦可使用程式碼的傳播資料訊號,不論是以基頻(baseband)或是部分載波的型態。電腦可使用程式碼之傳輸可以使用任何適體的媒體,包括(但並不限於)無線、有線、光纖纜線、射頻(RF)等。
用於執行本發明操作的電腦程式碼可以使用一種或多種程式語言的組合來撰寫,包括物件導向程式語言(例如Java、Smalltalk、C++或其他類似者)以及傳統程序程式語言(例如C程式語言或其他類似的程式語言)。程式碼可以獨立軟體套件的形式完整的於使用者的電腦上執行或部分於使用者的電腦上執行,部分於使用者電腦而部分於遠端電腦,或完整的於遠端電腦。
於以下本發明的相關敘述會參照依據本發明具體實施例之電腦裝置、方法及電腦程式產品之流程圖及/或方塊圖來進行說明。當可理解每一個流程圖及/或方塊圖中的每一個方塊,以及流程圖及/或方塊圖中方塊的任何組合,可以使用電腦程式指令來實施。這些電腦程式指令可供通用型電腦或特殊電腦的處理器或其他可程式化資料處理裝置所組成的機器來執行,而指令經由電腦或其他可程式化資料處理裝置處理以便實施流程圖及/或方塊圖中所說明之功能或操作。
這些電腦程式指令亦可被儲存在電腦可讀取媒體上,以便指示電腦或其他可程式化資料處理裝置來進行特定的功能,而這些儲存在電腦可讀取媒體上的指令構成一製成品,其內包括之指令可實施流程圖及/或方塊圖中所說明之功能或操作。
電腦程式指令亦可被載入到電腦上或其他可程式化資料處理裝置,以便於電腦或其他可程式化裝置上進行一系統操作步驟,而於該電腦或其他可程式化裝置上執行該指令時產生電腦實施程序以達成流程圖及/或方塊圖中所說明之功能或操作。
其次,請參照圖1至圖4,在圖式中顯示依據本發明各種實施例的裝置、方法及電腦程式產品可實施的架構、功能及操作之流程圖及方塊圖。因此,流程圖或方塊圖中的每個方塊可表示一模組、區段、或部分的程式碼,其包含一個或多個可執行指令,以實施指定的邏輯功能。另當注意者,某些其他的實施例中,方塊所述的功能可以不依圖中所示之順序進行。舉例來說,兩個圖示相連接的方塊事實上亦可以皆執行,或依所牽涉到的功能在某些情況下亦可以依圖示相反的順序執行。此外亦需注意者,每個方塊圖及/或流程圖的方塊,以及方塊圖及/或流程圖中方塊之組合,可藉由基於特殊目的硬體的系統來實施,或者藉由特殊目的硬體與電腦指令的組合,來執行特定的功能或操作。
<系統架構>
圖1顯示一實施例中之電腦系統100之硬體架構。電腦系統100包含基本輸入輸出系統(BIOS)102、中央處理器104、主記憶體模組106、儲存裝置108(例如硬碟、固態硬碟(SSD)、或其他大量儲存(mass storage)裝置)。中央處理器104可執行作業系統(例如WINDOWS或是Linux作業系統)。電腦系統100的其他基本架構與元件可參見一般的個人電腦或伺服器,例如IBM公司的System X、Blade Center或eServer。與本發明無關的細節將省略不予描述。
在本文實施例中,儲存裝置108係實施為硬碟,但熟此技藝者應知本發明將不限於此。進一步參考圖2,在作業系統OS中一般具有儲存裝置108的驅動程式DD以存取儲存裝置108中的資料或檔案。此外,基本輸入輸出系統(BIOS)102亦可與儲存裝置108進行通訊以取得例如儲存裝置108的硬體資訊。在此實施例中,硬碟108提供給驅動程式DD以及基本輸入輸出系統(BIOS)102的資料存取介面不限,較佳地可實施為ATA(Advanced Technology Attachment)或SAS(Serial Attached SCSI),但熟此技藝者應知,其他硬碟資料介面例如SATA或SCSI亦可應用於本發明。硬碟108的基本架構可參考例如IBM公司所提供的硬碟產品IBM Enterprise SAS Hard Drives(http://www-03.ibm.com/systems/x/options/storage/hddstorage/sas/index.html) 。而硬碟108與現有技術不同之處將於下文中說明。
如同現有的硬碟,硬碟108具有分區表(partition table),存放於硬碟108的第零磁柱(cylinder)、第零磁頭(head)、第一磁區(sector),也就是最前面的磁區裏,這個磁區稱為主要啟動記錄(即MBR,master boot record)。分區表記錄硬碟108中全部各分區的位址,記錄的方式可利用CHS參數(磁柱(cylinder)-磁頭(head)-磁區(sector))或是LBA((Logical Block Addressing))。以下表1的實施例將以LBA進行說明硬碟108中的分區表,但應知本發明並不欲對此加以限制。
<建立虛擬分區表>
當電腦系統100啟動時,基本輸入輸出系統(BIOS)102可讀取硬碟108中的主要啟動記錄(MBR),獲得如表1所示的『原始』分區表。特別地,在此實施例中,在載入作業系統OS之前,基本輸入輸出系統(BIOS)102可提供選單介面,供使用者從『原始』分區表之中選擇組成虛擬儲存裝置VD所需的分區。此外,使用者可進一步從組成虛擬儲存裝置VD所需的分區選擇開機作業系統所在的分區。
如表1與圖2所示,實體硬碟108總共具有5個分區(分區0至分區4),而在此範例中,使用者係選擇分區1以及分區3以組成虛擬儲存裝置VD,並將原本硬碟108中的分區1作為虛擬儲存裝置VD中的分區0(即第一分區),原本硬碟108中的分區3作為虛擬儲存裝置VD中的分區1(即第二分區),而原本硬碟108中其他分區(分區0、分區2、分區4)則暫時被排除在使用者所要建立的虛擬儲存裝置VD之外,而不提供存取。對 此,可建立虛擬儲存裝置VD的分區表(以下簡稱虛擬分區表),如表2所示。
在虛擬儲存裝置VD中的分區0與分區1中可各自儲存有不同的作業系統,例如分區0存有WINDOWS作業系統(繁體中文版),而分區1存有WINDOWS作業系統(日文版)。若使用者經由基本輸入輸出系統102的選單介面選擇虛擬儲存裝置VD中的分區1為開機分區,則基本輸入輸出系統102會載入分區1的WINDOWS作業系統(日文版)作為開機的作業系統。
需說明的是,在某些情況下,虛擬分區表中分區的次序將會影響到作業系統OS分配給虛擬儲存裝置VD的磁碟機代號。例如在WINDOWS作業系統下,若無額外的變更,虛擬儲存裝置VD中分區0(第一分區)將會分配到磁碟機代號為「C:」,而虛擬儲存裝置VD中的分區1(第二分區)將會分配到磁碟機代號為「D:」。而在進行軟體測試時,軟體所在的各分區所被分配到的磁碟機代號有可能會影響測試的結果。
因此,在另一實施例(未圖示)中,使用者同樣選擇分區1以及分區3以組成虛擬儲存裝置VD,但將原本硬碟108中的分區3作為虛擬儲存裝置VD中的分區0(即第一分區),而原本硬碟108中的分區1作為虛擬儲存裝置VD中的分區1(即第二分區)。對此,將建立出虛擬分區表,如表3所示。
以下將配合不同實施例,進一步說明作業系統OS如何存取虛擬儲存裝置VD。
<第一實施例>
可參考圖2,在此實施例中,基本輸入輸出系統102可能需要被重新設計或修改,以根據使用者的選擇,透過上述的ATA介面在硬碟108上而建立如表2或表3的虛擬分區表,並儲存在硬碟108的韌體FW或是特定預先保留的磁區中。隨後,基本輸入輸出系統102需讀取此虛擬分區表(而不是表1的原始分區表)來進行開機程序,並提供對應資料給作業系統OS。因此當作業系統OS被載入以完成開機程序後,作業系統OS將只會『看到』具有兩個分區的虛擬儲存裝置VD,而不是具有五個分區的實體硬碟108。
當作業系統OS下的驅動程式DD要存取虛擬儲存裝置OS中的分區時,可經由例如上述ATA的資料介面,而使用ATA規範下的標準指令集。由於作業系統OS只『看到』虛擬儲存裝置VD,因此驅動程式DD所發出的存取指令(包含讀/寫)係參照如表2或表3的虛擬分區表中的分區資料以及LBA。接著,當收到參照如表2或表3的虛擬分區表所發出的存取指令時,硬碟108的韌體FW需要查找出虛擬分區表中分區資料以及LBA與實體硬碟108中原始分區資料以及LBA間的對應關係,藉此從驅動程式DD存取指令所指涉的『虛擬LBA』中解讀出正確的LBA。
舉例來說,表2所示虛擬分區表中的LBA:134(分區1)係在為表1所示實體硬碟108為LBA:300(分區3)。透過此對應關係,驅動程式DD才能夠正確地從硬碟108存取到所需的資料或檔案。
<第二實施例>
如圖3所示,在此實施例中,作業系統OS並無法直接存取儲存裝置,而需要仰賴輸入輸出系統102的『int 13h』中斷來下達指令以通知儲存裝置其所要存取的位址。在此實施例中,如表2或表3的虛擬分區表可儲存於基本輸入輸出系統(BIOS)102,而不是如前述第一實施例儲存於硬碟108的韌體或磁區中。基本輸入輸出系統102也需要被重新設計或修改,以在當電腦系統100開機時,提供虛擬分區表(而不是表1的原始分區 表)給作業系統,因此同樣地,當作業系統開機完成後,作業系統將『只會』看到虛擬儲存裝置VD,而不是原本的實體硬碟108。
在此實施例中,硬碟108可採用現有技術中的硬碟,而不需調整或修改。由於基本輸入輸出系統(BIOS)102可同時存取虛擬分區表以及如表1所示的原始分區表,因此基本輸入輸出系統(BIOS)102本身即可獲得虛擬分區表中分區資料以及LBA與實體硬碟108中原始分區資料以及LBA間的對應關係,因此當作業系統OS透過輸入輸出系統(BIOS)102來存取虛擬儲存裝置VD中的分區時,輸入輸出系統(BIOS)102可將存取指令中『虛擬LBA』替換為正確的LBA,並傳送給硬碟108以正確地從硬碟108存取到所需的資料或檔案。
<第三實施例>
如圖4所示,在此實施例中,係以作業系統OS中所含硬碟108的驅動程式DD來取代前述第二實施例中的基本輸入輸出系統(BIOS)102,以提供虛擬分區表以及將存取指令所指涉的『虛擬LBA』替換為正確的LBA。因此在此實施例中,基本輸入輸出系統(BIOS)可採用現有技術中的基本輸入輸出系統,而不需調整。相對地,驅動程式DD可在作業系統OS被載入後進行開機程序的初期,提供選單介面供使用者從硬碟108『原始』分區表之中選擇組成虛擬儲存裝置VD所需的分區。驅動程式DD根據使用者所希望的虛擬儲存裝置VD的組成而製作出如表2或表3的虛擬分區表,並儲存於如圖1所示的主記憶體模組106(例如DIMM模組)。當作業系統OS完成開機後,因應驅動程式DD所製作的虛擬分區表,作業系統OS將只會呈現出虛擬儲存裝置VD給使用者,而不是呈現出原本的實體硬碟108。進一步地,當作業系統OS透過驅動程式DD來存取虛擬儲存裝置VD中的分區時,驅動程式DD可根據虛擬分區表中分區資料以及LBA與實體硬碟108中原始分區資料以及LBA間的對應關係,可將存取指令中『虛擬LBA』替換為正確的LBA,並傳送給硬碟108以正確地從硬碟108存取到所需的資料或檔案。
另外需說明的是,相較於前述第一實施例與第二實施例的作法,在第三實施例中,驅動程式DD可被設計為在每次作業系統OS被載入 以進行開機程序時,依照使用者預先設定的規則,自動從硬碟108『原始』分區表之中選擇出組成虛擬儲存裝置VD所需的分區,而不需要使用者手動挑選。這種作法在軟體自動測試的環境中將是具有優勢的。
在不脫離本發明精神或必要特性的情況下,可以其他特定形式來體現本發明。應將所述具體實施例各方面僅視為解說性而非限制性。因此,本發明的範疇如隨附申請專利範圍所示而非如前述說明所示。所有落在申請專利範圍之等效意義及範圍內的變更應視為落在申請專利範圍的範疇內。
102‧‧‧基本輸入輸出系統(BIOS)
108‧‧‧儲存裝置/硬碟
OS‧‧‧作業系統
DD‧‧‧驅動程式
VD‧‧‧虛擬儲存裝置

Claims (7)

  1. 一種電腦系統,包含:一中央處理器,用以執行一作業系統;一實體儲存裝置,該實體儲存裝置包含複數個分區,該複數個分區係供使用者從中挑選出至少兩個分區,被挑選出之該至少兩個分區被組合而作為一虛擬儲存裝置供該作業系統存取,而未被挑選之分區則不提供該作業系統存取。
  2. 如請求項1之電腦系統,其中該實體儲存裝置係為一硬碟。
  3. 如請求項1之電腦系統,其中該實體儲存裝置係為一固態硬碟。
  4. 如請求項1之電腦系統,其中該實體儲存裝置係維持一虛擬分區表,以對應被挑選出之該至少兩個分區。
  5. 如請求項1之電腦系統,其中該作業系統係維持一虛擬分區表,以對應被挑選出之該至少兩個分區。
  6. 如請求項1之電腦系統,更包含一基本輸入輸出系統,其中該基本輸入輸出系統係維持一虛擬分區表,以對應被挑選出之該至少兩個分區。
  7. 一種方法,用於如請求項1-6其中任一之電腦系統,該方法包含:從該複數個分區挑選出至少兩個分區;將被挑選出之該至少兩個分區組合為一虛擬儲存裝置; 提供該作業系統存取該虛擬儲存裝置;以及不提供該作業系統存取未被挑選之分區。
TW102127547A 2013-07-31 2013-07-31 由實體儲存裝置中所選分區所構成的虛擬儲存裝置 TW201504937A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW102127547A TW201504937A (zh) 2013-07-31 2013-07-31 由實體儲存裝置中所選分區所構成的虛擬儲存裝置
US14/447,111 US20150082014A1 (en) 2013-07-31 2014-07-30 Virtual Storage Devices Formed by Selected Partitions of a Physical Storage Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102127547A TW201504937A (zh) 2013-07-31 2013-07-31 由實體儲存裝置中所選分區所構成的虛擬儲存裝置

Publications (1)

Publication Number Publication Date
TW201504937A true TW201504937A (zh) 2015-02-01

Family

ID=52669098

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102127547A TW201504937A (zh) 2013-07-31 2013-07-31 由實體儲存裝置中所選分區所構成的虛擬儲存裝置

Country Status (2)

Country Link
US (1) US20150082014A1 (zh)
TW (1) TW201504937A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI674503B (zh) * 2017-11-02 2019-10-11 國立清華大學 用於測試固態儲存裝置之韌體的方法與系統以及電子設備

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9720855B2 (en) * 2014-08-19 2017-08-01 Samsung Electronics Co., Ltd. Virtual device based systems with access to parts other than data storage elements through the virtual device
WO2016154079A1 (en) 2015-03-20 2016-09-29 Burlywood, LLC Configurable multi-level error correction in a storage controller
WO2016154078A1 (en) 2015-03-26 2016-09-29 Burlywood, LLC A medium defect management method for storage systems requiring an integrated controller
TWI722269B (zh) * 2018-01-26 2021-03-21 和碩聯合科技股份有限公司 韌體更新方法及使用此方法的電子裝置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286080B2 (en) * 2008-07-02 2016-03-15 Hewlett-Packard Development Company, L.P. Memory management for hypervisor loading
US9256440B1 (en) * 2009-03-30 2016-02-09 Amazon Technologies, Inc. Facilitating device driver interactions
CN104272273A (zh) * 2012-04-25 2015-01-07 惠普发展公司,有限责任合伙企业 动态存储器分配

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI674503B (zh) * 2017-11-02 2019-10-11 國立清華大學 用於測試固態儲存裝置之韌體的方法與系統以及電子設備

Also Published As

Publication number Publication date
US20150082014A1 (en) 2015-03-19

Similar Documents

Publication Publication Date Title
TWI507869B (zh) 虛擬化儲存裝置之系統、設備及方法
US10268385B2 (en) Grouped trim bitmap
US8255656B2 (en) Storage device, memory controller, and data protection method
US10061708B2 (en) Mapped region table
US7921230B2 (en) USB devices pre-configuration for KVM switch
US8433847B2 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
US20120117367A1 (en) Electronic apparatus and booting method thereof
KR101579941B1 (ko) 가상머신 i/o 관리 방법 및 장치
US9389998B2 (en) Memory formatting method, memory controller, and memory storage apparatus
US11803330B2 (en) Method and apparatus and computer-readable storage medium for handling sudden power off recovery
TW201504937A (zh) 由實體儲存裝置中所選分區所構成的虛擬儲存裝置
US20160307646A1 (en) Verification of storage media upon deployment
US10528116B2 (en) Fast resume from hibernate
US10620867B2 (en) System and method for performing wear leveling at a non-volatile firmware memory
US20120191962A1 (en) System and method for simulating bios rom of computing device into virtual disk
US8595418B2 (en) Memory configuring method, memory controller and memory storage apparatus
TWI601058B (zh) 減少在固態驅動機中混植輸入與輸出操作的技術
JP7522775B2 (ja) 不揮発性記憶区画識別子
US20170083235A1 (en) Device capable of using external volatile memory and device capable of releasing internal volatile memory
US20150324127A1 (en) Storage control apparatus and storage control method
US8595417B2 (en) Memory configuring method, memory controller and memory storage apparatus
US20160139850A1 (en) Managing method of storage device, computer system and storage medium
KR20060095133A (ko) 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는방법
US9317440B2 (en) Computing device and virtual device control method for controlling virtual device by computing system
US9268554B2 (en) Controlling method, memory controller, and data transmission system