TWI446194B - High-performance virtual disk management system - Google Patents
High-performance virtual disk management system Download PDFInfo
- Publication number
- TWI446194B TWI446194B TW100120318A TW100120318A TWI446194B TW I446194 B TWI446194 B TW I446194B TW 100120318 A TW100120318 A TW 100120318A TW 100120318 A TW100120318 A TW 100120318A TW I446194 B TWI446194 B TW I446194B
- Authority
- TW
- Taiwan
- Prior art keywords
- virtual disk
- disk
- management system
- segment
- virtual
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
一種高效能虛擬磁碟管理系統,尤指可讓實體及虛擬空間位址轉換一次性計算,以增進虛擬磁碟存取的效能,並讓區塊層級的儲存媒體上實現像虛擬磁碟般的動態空間配置的效用之高效能虛擬磁碟管理系統。A high-performance virtual disk management system, especially for one-time computing of physical and virtual space address translation, to improve the performance of virtual disk access, and to achieve virtual disk-like storage on block-level storage media. A high-performance virtual disk management system for the utility of dynamic space configuration.
按,美國專利編號US 7,107,385B2提出Storage Virtualization by Layering Virtual Disk Objects on a File System發明,其內容為應用作業系統的檔案系統對於儲存媒體的廣泛支援能力,將不同型態儲存媒體,如延伸磁碟或網路儲存媒體,集合成檔案系統的卷冊區段(Volume)用於存放虛擬磁碟。According to US Patent No. US 7,107,385 B2, the invention is based on the Storage Virtualization by Layering Virtual Disk Objects on a File System, which is a file system of an application operating system that supports a wide range of storage media, such as extended disks. Or a network storage medium, which is a volume of a file system that is used to store a virtual disk.
中華民國專利編號I307026,為提出儲存管理系統與方法,其發明使用一檔案系統伺服器、一檔案資訊(Metadata)伺服器與物件儲存裝置達成虛擬分割區進行檔案之存取的目地。由檔案資訊伺服器儲存檔案的管理及索引資訊,再由物件儲存裝置存取檔案內容資料。因為檔案的管理及索引資訊與真實的檔案內容被分離儲存在兩個存服器上,使得只要增加物件儲存裝置的儲存單元,即可使該虛擬分割區空間動態成長。The Republic of China Patent No. I307026, for the purpose of proposing a storage management system and method, the invention uses a file system server, a file information (Metadata) server and an object storage device to achieve a virtual partition for file access. The file information server stores the management and index information of the file, and the object storage device accesses the file content data. Because the file management and index information and the real file content are separated and stored on the two servers, the virtual partition space can be dynamically grown by adding the storage unit of the object storage device.
以上既有的虛擬化磁碟技術皆欲提供彈性化的實體磁碟空間及虛擬磁碟空間的對應,而藉由使用作業系統的檔案系統管理能力或分離檔案管理及索引資訊與真實的檔案內容的方法達成,然而這些技術都需要一定程度的額外計算消耗才能達成,即一個檔案的存取會經過至少兩層的位址轉換,造成需要高速的虛擬磁碟存取應用的效能瓶頸。The above existing virtual disk technology is intended to provide flexible physical disk space and virtual disk space correspondence, by using the operating system's file system management capabilities or separate file management and indexing information and real file content. The method is achieved, however, these techniques require a certain amount of additional computational cost to achieve, that is, a file access will undergo at least two layers of address translation, resulting in a performance bottleneck requiring high-speed virtual disk access applications.
本發明之主要目的乃在於,利用虛擬磁碟管理系統規劃區塊層級的儲存媒體成為具有動態大小的實體區段集合,然後將虛擬磁碟分段直接寫入於複數個實體區段,以避免習知技術中作業系統的檔案系統所需的位址轉換,進而成為實體及虛擬空間位址轉換一次性計算,以增進虛擬磁碟存取的效能,並讓儲存媒體實現像虛擬磁碟般的動態空間配置的效用。The main purpose of the present invention is to use a virtual disk management system to plan a block level storage medium into a dynamic size set of physical segments, and then directly write virtual disk segments into a plurality of physical segments to avoid In the prior art, the address conversion required by the file system of the operating system becomes a one-time calculation of the physical and virtual space address conversion, thereby improving the performance of the virtual disk access and making the storage medium realize like a virtual disk. The utility of dynamic space configuration.
為達上述目的,本發明係於儲存伺服器與儲存媒體之間連接有虛擬磁碟管理系統,且儲存伺服器為透過網路連接用戶端電腦,而虛擬磁碟管理系統設置有磁碟區段規劃器、管控區段處理器、磁碟存取及排程器、虛擬磁碟驅動器、磁碟區段分配及回收器、虛擬磁碟儲存區段表暫存器、虛擬磁碟寫入保護轉址器、虛擬磁碟存取器以及虛擬磁碟資料快取及緩衝器,其中:該磁碟區段規劃器,用以規劃儲存媒體成為複數個事先給定固定大小的實體區段,一個實體區段即為最小的使用單位,當磁碟區段規劃器規劃儲存媒體後,為會產生一實體區段索引表存放此儲存媒體之實體區段被使用的狀態,未配置以0表示;反之已配置以1表示,在初始狀態下,該索引表內的值皆為0;再者,若虛擬磁碟管理系統連接有複數個儲存媒體時,則磁碟區段規劃器會對每一實體儲存媒體會採用一致的規劃方式,並使用一儲存媒體群記錄表存放所有可被使用的儲存媒體資訊,每一儲存媒體會被分配唯一識別碼。To achieve the above objective, the present invention is a virtual disk management system connected between a storage server and a storage medium, and the storage server is connected to the client computer through a network, and the virtual disk management system is provided with a disk segment. Planner, managed segment processor, disk access and scheduler, virtual disk drive, disk segment allocation and recycler, virtual disk storage segment table register, virtual disk write protection switch Site device, virtual disk accessor, and virtual disk data cache and buffer, wherein: the disk segment planner is configured to plan the storage medium into a plurality of physical segments of a given fixed size, an entity The segment is the smallest unit of use. When the disk segment planner plans to store the media, a physical segment index table is generated to store the state in which the physical segment of the storage medium is used, which is not configured to be represented by 0; Configured to be 1, in the initial state, the value in the index table is 0; in addition, if the virtual disk management system is connected to a plurality of storage media, the disk segment planner will be for each entity. Storage Media use a consistent programming mode, and a storage medium using the recording table group storage medium to store all the information can be used, each is assigned a unique storage medium identifier.
該管控區段處理器會於各儲存媒體內分別選定複數個未配置的實體區段做為管理用途之為管控區段,一個儲存媒體會存放複數個管控區段,但只有一個為主要,其它為備援及檢查用,以增加重要資料的安全性,且管控區段處理器會將實體區段索引表及儲存媒體群記錄表寫入儲存媒體中之管控區段內。The control segment processor selects a plurality of unconfigured physical segments in each storage medium as a management segment for management purposes, and one storage medium stores a plurality of control segments, but only one is primary, and the other is For backup and inspection, to increase the security of important data, and the control segment processor will write the physical segment index table and the storage media group record table into the control section in the storage medium.
該磁碟存取及排程器為存取及排程儲存媒體的驅動元件,使得存取管理用途的資料指令比虛擬磁碟的資料存取指令有較優先的執行順序。The disk access and scheduler is a drive component for accessing and scheduling the storage medium, so that the data command for access management purposes has a higher priority order than the data access command of the virtual disk.
該虛擬磁碟驅動器為生成、刪除及掛載儲存媒體上的虛擬磁碟的控制器,當用戶端電腦對儲存伺服器發出新建、刪除或掛載虛擬磁碟的命令時,儲存伺服器將該指令轉發予虛擬磁碟驅動器,虛擬磁碟驅動器則透過磁碟區段分配及回收器得到新的實體區段、回收某個虛擬磁碟所佔用的實體區段或查詢出該虛擬磁碟佔用的所有實體區段。The virtual disk drive is a controller for generating, deleting, and mounting a virtual disk on the storage medium. When the client computer issues a command to create, delete, or mount a virtual disk to the storage server, the storage server will The instruction is forwarded to the virtual disk drive, and the virtual disk drive obtains a new physical segment through the disk segment allocation and recycler, reclaims a physical segment occupied by a virtual disk, or queries the virtual disk for occupation. All physical segments.
該磁碟區段分配及回收器,其為執行並完成虛擬磁碟驅動器所發出之新增、刪除及查詢某個虛擬磁碟所佔用的實體區段,當磁碟區段分配及回收器執行指令時,會先由管控區段處理器得到最新的實體區段索引表,以得知有哪些實體區段可以被分配,或已被佔用;再者,對於新增虛擬磁碟的指令或要求配置實體區段的請求而言,此磁碟區段分配及回收器會由可分配的實體區段中,以最佳化存取效能為原則選定實體區段分配,此最佳化存取效能可由優先選擇鄰近的實體區段達成,並產生一個虛擬磁碟實體區段佔用表,此虛擬磁碟實體區段佔用表的索引為虛擬磁碟在虛擬磁碟管理系統內的唯一識別碼,此識別碼對應的值為二元串列,串列中每一組資料的組成元素由儲存媒體群記錄表的識別碼及實體區段索引表的實體區段索引所組成,且若磁碟區段分配及回收器因執行新建及刪除虛擬磁碟的指令,造成虛擬磁碟實體區段佔用表或實體區段索引表的異動,會連帶將更新的虛擬磁碟實體區段佔用表或實體區段索引表傳送至管控區段處理器更新管控區段的記錄。The disk segment allocation and recovery device is configured to perform and complete the virtual disk drive to add, delete, and query a physical segment occupied by a virtual disk, when the disk segment allocation and the recycler execute When the instruction is executed, the latest entity segment index table is first obtained by the management segment processor to know which physical segments can be allocated or occupied; and, in addition, instructions or requirements for adding a virtual disk For the request to configure the physical segment, the disk segment allocation and recycler selects the physical segment allocation based on the principle of optimizing the access performance in the assignable entity segment, and the optimized access performance is optimized. The virtual disk entity segment occupancy table may be generated by preferentially selecting a neighboring physical segment, and the virtual disk physical segment occupancy table index is a unique identifier of the virtual disk in the virtual disk management system. The value corresponding to the identifier is a binary string, and the constituent elements of each group of data in the string are composed of an identifier of the storage media group record table and an entity segment index of the entity segment index table, and if the disk segment Distribution and The receiver changes the virtual disk physical segment occupation table or the physical segment index table due to the execution of the instruction to create and delete the virtual disk, and the virtual disk entity segment occupation table or entity segment index table to be updated. Transfer to the management of the managed zone processor update management zone.
該虛擬磁碟儲存區段表暫存器,其為加速定址虛擬磁碟於儲存媒體位置的快取暫存器,在空間足夠的狀況下,它會將正在使用中的虛擬磁碟的虛擬磁碟實體區段佔用表內容存放於一可高速存取(相對於磁碟存取而言)的暫存器中。使得虛擬磁碟寫入保護轉址器在計算該虛擬磁碟可實際存取的實體區段時可以快速完成,任何虛擬磁碟實體區段佔用表異動的事件發生時,管控區段處理器會更新虛擬磁碟儲存區段表暫存器中的擬磁碟實體區段佔用表,以保持資料一致。The virtual disk storage segment table register is a cache register for accelerating the address virtual disk to the storage medium location, and when the space is sufficient, it will be the virtual magnetic disk of the virtual disk in use. The contents of the disc physical sector occupancy table are stored in a register that can be accessed at high speed (relative to disk access). The virtual disk write protection transcoder can be completed quickly when calculating the physical segment that the virtual disk can actually access. When any virtual disk physical segment occupies a table transaction event, the control segment processor will Update the virtual disk entity segment occupancy table in the virtual disk storage segment table register to keep the data consistent.
該虛擬磁碟寫入保護轉址器為負責虛擬磁碟可實際存取的實體區段的位址轉換及檢查的兩種計算工作;用戶端電腦對某一虛擬磁碟進行資料存取的指令,會轉送予虛擬磁碟寫入保護轉址器以計算出該虛擬磁碟存放於儲存媒體的實體位址,之後才進行虛擬磁碟的資料存取,然而任何對於某虛擬磁碟的存取指令不應超出該虛擬磁碟之實體區段佔用表記錄所有該虛擬磁碟可以存取的實體區段範圍以保護多個虛擬磁碟的資料,避免相互讀取及寫入資料,但例外狀況為若當虛擬磁碟將於某一尚未配置但即將取得配置的實體儲存空間的合法磁碟虛擬位置(未超出虛擬磁碟的容量範圍)上寫入新的資料,會向磁碟區段分配及回收器請求配置新的實體區段,當加入新實體區段後,會使原存取的指令滿足保護條件,而可正常執行,再者,若是讀取磁碟上某一未配置的實體儲存空間的合法虛擬位置時,即此讀取指令讀取未曾寫入資料的位址,則只要回覆空白資料即可,不需配置新的實體區段。另外,不連續的實體區段配置可能引起存取指令操作複數個實體區段,這類跨實體區段的操作需要將一指令分解成複數個存取單一實體區段資料的指令,待此些指令完成後,才算完成原指令;更進一步,類似傳統虛擬磁碟技術定義的快照磁碟或差異磁碟(Snapshot or Differential Disks)的功能也由虛擬磁碟寫入保護轉址器負責,統一以差異磁碟稱之,差異磁碟實質上亦視為一個虛擬磁碟,假設在系統上已存在某一虛擬磁碟甲且使用者對虛擬磁碟甲建立一差異磁碟乙,此時,對虛擬磁碟甲寫入資料,會被轉存至差異磁碟乙;若對虛擬磁碟甲讀出資料,會有兩種可能性:第一,若為讀出曾寫入於差異磁碟乙的資料,則會由差異磁碟乙讀出;第二,若為讀出不曾寫入於差異磁碟乙的資料,則會由虛擬磁碟甲直接讀出,因此,差異磁碟會使其對應的虛擬磁碟變成唯讀的狀態;為了達成上述功能,虛擬磁碟寫入保護轉址器會建立差異磁碟關係表,差異磁碟關係表的索引欄位為某差異磁碟的唯一編號,其對應值為該差異磁碟所連結的虛擬磁碟編號,若出現複數筆相同虛擬磁碟編號的記錄,則代表某一虛擬磁碟已建立複數個差異磁碟。若要刪除某一差異磁碟,則只要刪除差異磁碟關係表內的記錄,再重設實體區段索引表相對應位置以釋放其所佔用的實體區段,最後再更新管控區段之內容即可。倘若某一虛擬磁碟被刪除,則差異磁碟關係表內所有建立於該虛擬磁碟的差異磁碟記錄必須同步刪除,並同步更新管控區段之內容即可;最後,若為多層次的差異磁碟關連,只要於差異磁碟關係表內的虛擬磁碟欄位填入某一差異磁碟編號即可。The virtual disk write protection relayer is two kinds of calculation work for address translation and check of the physical segment that the virtual disk can actually access; the client computer performs data access instruction on a virtual disk. And forwarded to the virtual disk write protection relayer to calculate the physical address of the virtual disk stored in the storage medium, and then the data access of the virtual disk is performed, but any access to a virtual disk is performed. The instruction should not exceed the physical segment occupancy table of the virtual disk to record all the physical segment ranges that the virtual disk can access to protect the data of multiple virtual disks, avoid reading and writing data to each other, but exceptions If a virtual disk is to be written to a new disk at a legal disk virtual location (not exceeding the capacity range of the virtual disk) of a physical storage space that is not yet configured but is about to be configured, the disk segment is allocated to the disk segment. And the recycler requests to configure a new entity segment. When the new entity segment is added, the original access instruction satisfies the protection condition and can be executed normally. Moreover, if an unconfigured real disk is read, When the legal position of the virtual storage space, that this read instruction reads the address data has not been written, it can simply reply to blank data without configuring a new physical section. In addition, the discontinuous physical segment configuration may cause the access instruction to operate on a plurality of physical segments. The operation of such cross-entity segments requires an instruction to be decomposed into a plurality of instructions for accessing a single entity segment data. After the instruction is completed, the original instruction is completed; further, the functions of the snapshot disk or the Snapshot or Differential Disks defined by the traditional virtual disk technology are also handled by the virtual disk write protection relayer. In the case of a differential disk, the differential disk is essentially regarded as a virtual disk. It is assumed that a virtual disk A already exists on the system and the user creates a different disk B for the virtual disk. Writing data to the virtual disk A will be dumped to the difference disk B; if the data is read from the virtual disk A, there are two possibilities: first, if the read is written on the differential disk The data of B will be read by the difference disk B. Secondly, if the data that has not been written to the difference disk B is read, it will be read directly by the virtual disk A. Therefore, the difference disk will Its corresponding virtual disk becomes the only one In order to achieve the above functions, the virtual disk write protection relayer establishes a differential disk relationship table, and the index field of the differential disk relation table is a unique number of a different disk, and the corresponding value is the difference magnetic The virtual disk number to which the disk is connected. If there are multiple records of the same virtual disk number, it means that a plurality of differential disks have been created on a virtual disk. To delete a disc, just delete the records in the disc relationship table, reset the corresponding position of the entity segment index table to release the physical segment occupied by it, and finally update the contents of the control segment. Just fine. If a virtual disk is deleted, all the differential disk records in the differential disk relation table that are created on the virtual disk must be deleted synchronously, and the contents of the control section can be updated synchronously; finally, if it is multi-level For differential disk associations, simply fill in a different disk number in the virtual disk field in the differential disk relationship table.
該虛擬磁碟存取器,其為傳統虛擬磁碟技術的實作元件,負責將用戶端得到的(虛擬)磁碟以傳統虛擬磁碟格式,如VMDK、VHD、及VDI寫入儲存媒體。在計算傳統虛擬磁碟格式實際存取儲存媒體位址時,只需加上由虛擬磁碟寫入保護轉址器查表得到的實體區段的偏移量,即資料的存取只需要一次性的計算即可完成。The virtual disk access device, which is a implemented component of the conventional virtual disk technology, is responsible for writing the (virtual) disk obtained by the client to the storage medium in a conventional virtual disk format such as VMDK, VHD, and VDI. When calculating the actual virtual storage format address of the traditional virtual disk format, only the offset of the physical segment obtained by the virtual disk write protection relayer lookup table is added, that is, the access of the data only needs to be performed once. The calculation of sex can be completed.
該虛擬磁碟資料快取及緩衝器,用以加速虛擬磁碟資料存取的快取及緩衝器,以減少對儲存媒體的讀取次數,並讓寫入資料的動作可以非同步完成,減少寫入指令的回應時間;此虛擬磁碟資料快取及緩衝器與傳統資料快取及緩衝器不同點在於,虛擬磁碟寫入保護轉址器提供差異磁碟功能,造成一虛擬磁碟及其一至複數個關連的差異磁碟有不同的存取頻率,假設向複數個關連於某一虛擬磁碟的差異磁碟讀取相同的某位址,若大多數的差異磁碟未曾寫入該位址,則轉址後真正的讀取位址將回歸於讀取虛擬磁碟上的某相同位址,基於此特性,快取被關連的虛擬磁碟比快取其差異磁碟的資料,在快取的空間利用率上及擊中率上更有效率;相似的,以資料存取具地域及時間的集中性(locality)而言,剛被寫入的資料,可能立即被引用,因此,寫入虛擬磁碟資料快取及緩衝器除了能像傳統作法以非同步方式完成寫入指令,減少回應時間外,也讓剛寫入的資料具較高的快取機會,特別是對差異磁碟寫入的資料;簡單地說,虛擬磁碟資料快取及緩衝器對讀取指令而言,會加強被關連的虛擬磁碟資料快取,對寫入指令而言,會加強差異磁碟的資料快取。The virtual disk data cache and buffer are used to speed up the cache and buffer of the virtual disk data access, so as to reduce the number of times the storage medium is read, and the action of writing data can be asynchronously completed, reducing The response time of the write command; this virtual disk data cache and buffer differs from the traditional data cache and buffer in that the virtual disk write protector provides a differential disk function, resulting in a virtual disk and One to a plurality of related differential disks have different access frequencies, assuming that the same address is read to a plurality of differential disks associated with a virtual disk, if most of the differential disks have not been written The address, then the actual read address will be returned to the same address on the read virtual disk. Based on this feature, the cached virtual disk is cached faster than the cached data. It is more efficient in terms of cache utilization and hit rate; similarly, in the case of data access with locality and time locality, the data just written may be quoted immediately, so , write virtual disk data fast In addition to the conventional method, the access buffer can complete the write command in a non-synchronous manner, reducing the response time, and also allowing the newly written data to have a higher cache chance, especially for the data written on the differential disk; In other words, the virtual disk data cache and the buffer for the read command will enhance the associated virtual disk data cache, and for the write command, the data cache of the differential disk will be enhanced.
請參閱第一圖以及第二圖所示,由圖中可清楚看出,本發明高效能虛擬磁碟管理系統的使用方式為用戶端電腦1透過網路2連接一台或複數台儲存伺服器3,而儲存伺服器3為透過虛擬磁碟管理系統4連接有一台至複數台的儲存媒體5,而虛擬磁碟管理系統4設置有磁碟區段規劃器41、管控區段處理器42、磁碟存取及排程器43、虛擬磁碟驅動器44、磁碟區段分配及回收器45、虛擬磁碟儲存區段表暫存器46、虛擬磁碟寫入保護轉址器47、虛擬磁碟存取器48以及虛擬磁碟資料快取及緩衝器49。Referring to the first figure and the second figure, it can be clearly seen from the figure that the high-performance virtual disk management system of the present invention is used by the client computer 1 to connect one or more storage servers through the network 2. 3, the storage server 3 is connected to the storage medium 5 of the plurality of units through the virtual disk management system 4, and the virtual disk management system 4 is provided with a disk segment planner 41, a control segment processor 42, Disk access and scheduler 43, virtual disk drive 44, disk sector allocation and recycler 45, virtual disk storage section table register 46, virtual disk write protection translator 47, virtual The disk accessor 48 and the virtual disk data cache and buffer 49.
請參閱第一圖至第四圖所示,當儲存媒體5於進行初始化處理流程時,係由磁碟區段規劃器41、管控區段處理器42及磁碟存取及排程器43合力完成,此時磁碟存取及排程器43先偵測高效能虛擬磁碟管理系統所連接的儲存媒體5,並將儲存媒體5的數量傳送至磁碟區段規劃器41;此實施例中為以二組儲存媒體5進行說明,使磁碟存取及排程器43偵測到已連接可使用的所有儲存媒體5,共兩組分別以編號0及1表示。此時,磁碟區段規劃器41依照磁碟存取及排程器43所偵測之儲存媒體5數量,建立出儲存媒體群記錄表53(如第三圖所示),並將此儲存媒體群記錄表53交由管控區段處理器42,且磁碟區段規劃器41得知儲存媒體5數量後,磁碟區段規劃器41會以一事先給定的固定區段容量值,將每一儲存媒體5以一致的規劃方式,規劃成為複數個實體區段51,並對每一儲存媒體5分別產生實體區段索引表52;以本實施例而言,當儲存媒體5容量大小為1Terabyte時,為規畫成1024個事先給定之1 Gigabyte(GB)固定容量的實體區段51,每一個實體區段51即為最小的使用單位;利用區段索引值可以快速定址某一區段在儲存媒體5的實際位址,例如:第i個區段起始於i x 1 GB的位址,終止於(i+1) x 1 GB-1的位址,決定好實體區段51的容量後,磁碟區段規劃器41接著產生一個實體區段索引表52存放實體區段51被使用的狀態,未配置以0表示;反之已配置以1表示。在初始狀態下,該索引表內的值皆為0。再使磁碟區段規劃器41將實體區段索引表52交由管控區段處理器42,而管控區段處理器42對於每個儲存媒體5會選定複數個(此例為第0及最後一個)實體區段51成為主要及備份的管控區段511,並將實體區段索引表52中第0及最後一個實體區段索引上填入1,代表已被分配使用,讓磁碟區段規劃器41將實體區段索引表52以及儲存媒體群記錄表53寫入儲存媒體5之管控區段511。Referring to the first to fourth figures, when the storage medium 5 performs the initialization process, the disk segment planner 41, the control segment processor 42, and the disk access and scheduler 43 are combined. After completion, the disk access and scheduler 43 first detects the storage medium 5 connected to the high performance virtual disk management system, and transfers the number of the storage medium 5 to the disk segment planner 41; this embodiment The description is made with two sets of storage media 5, so that the disk access and scheduler 43 detects all the storage media 5 that are connected and usable, and the two groups are denoted by numbers 0 and 1, respectively. At this time, the disk segment planner 41 creates a storage media group recording table 53 (as shown in the third figure) according to the number of storage media 5 detected by the disk access and scheduler 43, and stores this. After the media group record table 53 is handed over to the management segment processor 42, and the disk segment planner 41 knows the number of storage media 5, the disk segment planner 41 will have a predetermined fixed segment capacity value. Each storage medium 5 is planned into a plurality of physical segments 51 in a consistent planning manner, and a physical segment index table 52 is generated for each storage medium 5; in this embodiment, when the storage medium 5 has a capacity size In the case of 1 Terabyte, each entity segment 51 is the smallest unit of use for the physical segment 51 of 1024 fixed Gigabyte (GB) fixed capacity; the segment index value can be used to quickly locate a region. The segment is at the actual address of the storage medium 5, for example, the i-th segment starts at the address of ix 1 GB, and terminates at the address of (i+1) x 1 GB-1, which determines the physical segment 51. After the capacity, the disk section planner 41 then generates a physical section index table 52 to store the physical section 51 to be The status used is not configured with 0; otherwise it is configured with 1. In the initial state, the values in the index table are all 0. The disk section planner 41 is again caused to pass the physical section index table 52 to the managed section processor 42, and the governing section processor 42 selects a plurality of each storage medium 5 (this example is 0th and last). A) the physical segment 51 becomes the primary and backup management segment 511, and the 0th and the last physical segment index in the physical segment index table 52 is filled with 1 to represent the allocated disk partition. The planner 41 writes the physical section index table 52 and the storage media group recording table 53 to the management section 511 of the storage medium 5.
請參閱第一圖至第三圖與第五圖所示,初始化儲存媒體5的工作完成後,虛擬磁碟管理系統4即可處理來自用戶端電腦1透過儲存伺服器3執行虛擬磁碟的建立、刪除及掛載的操作指令,如第五圖所示,這類型的操作如同傳統的網路硬碟在檔案系統上被掛載成可被操作的儲存空間的動作相同,例如,儲存伺服器3可為iSCSI Target端,用戶端電腦1可為iSCSI Initiator端。執行虛擬磁碟的建立、刪除及掛載的操作指令工作由虛擬磁碟管理系統4之虛擬磁碟驅動器44、磁碟區段分配及回收器45、管控區段處理器42及磁碟存取及排程器43協力完成。當用戶端電腦1透過儲存伺服器3發出操作指令時,儲存伺服器3為會將操作指令傳送至虛擬磁碟管理系統4,此時虛擬磁碟驅動器44先判別操作指令類型,若為新建虛擬磁碟的指令,則會向磁碟區段分配及回收器45請求配置新的實體區段51,此實施例以第0個儲存媒體5的1號及52號實體區段51說明,並將新建立的虛擬磁碟給定一個唯一的流水碼,假設為編號0,並將其剛分配的實體區段51索引值記錄於虛擬磁碟實體區段佔用表54,並填入指令中新建磁碟的大小值,即最大該磁碟有效的定址空間(此例為2GB,如第三圖所示),而虛擬磁碟的容量可超出實際分配的儲存媒體5的容量,只要再使用前,完成擴充實際儲存媒體5的容量即可。接著,管控區段處理器42會更新實體區段索引表52相對位置為佔用狀態,即更新為1。再者,若為新建差異磁碟的指令,假設新建立虛擬磁碟1為虛擬磁碟0的差異磁碟,則需增加該新磁碟與由參數指定的虛擬磁碟0的關連記錄於差異磁碟關係表55(如第三圖所示),建立的差異磁碟,其磁碟的容量值等於其關連的虛擬磁碟,且差異磁碟關係表55更新後會透過管控區段處理器42及磁碟存取及排程器43寫入管控區段511,其過程與上述之初始化儲存媒體5寫入管控區段511一致,故往後不再贅述。若虛擬磁碟驅動器44接收到刪除虛擬磁碟的指令,指令中必定指定刪除的目標磁碟編號為參數,首先釋放其所佔用的實體區段51並更新實體區段索引表52為未配置狀態,若佔用來自複數個儲存媒體5的實體區段51,則會更新相對應數量的實體區段索引表52,接著,只需於虛擬磁碟實體區段佔用表54中找到並刪除該記錄,即可消滅該虛擬磁碟;若刪除的對象為差異磁碟,另需由差異磁碟關係表55刪除該差異磁碟的記錄;若是曾建立差異磁碟的虛擬磁碟,其所相關連的所有差異磁碟也需一併刪除。又,對於掛載虛擬磁碟指令,虛擬磁碟驅動器44只要透過管控區段處理器42檢查目標虛擬磁碟是否已存在於虛擬磁碟實體區段佔用表54,並檢查差異磁碟關係表55內其是否有相關連的差異磁碟,然後,將其佔用的實體區段51載入系統即可。若虛擬磁碟驅動器44接收到的指令不為上述幾種類型,例如可能為儲存媒體5的狀態查詢指令,這些指令將與傳統標準的元件作業流程一致,故不於本發明中強調。一些因管理用途需要的功能,例如列舉所有已註冊的虛擬磁碟或差異磁碟、加入或刪除新的儲存媒體5等功能,雖未詳述,但可由上述內容輕易類推,亦不於本發明中強調。Referring to the first to third and fifth figures, after the initialization of the storage medium 5 is completed, the virtual disk management system 4 can process the creation of the virtual disk from the client computer 1 through the storage server 3. Operation instructions for deleting, deleting, and mounting, as shown in Figure 5, this type of operation is the same as the traditional network hard disk being mounted on the file system as a storage space that can be operated, for example, a storage server 3 can be the iSCSI Target side, and the client computer 1 can be the iSCSI Initiator side. The operation instructions for performing the creation, deletion, and mounting of the virtual disk are operated by the virtual disk drive 44 of the virtual disk management system 4, the disk sector allocation and recycler 45, the management segment processor 42, and the disk access. And the scheduler 43 cooperates to complete. When the client computer 1 issues an operation command through the storage server 3, the storage server 3 transmits an operation command to the virtual disk management system 4. At this time, the virtual disk drive 44 first determines the operation instruction type, and if it is a new virtual The instructions of the disk will request the configuration of the new physical segment 51 to the disk segment allocation and recycler 45. This embodiment is illustrated by the physical segment 51 of the 0th storage medium 5 and the physical segment 51, and will The newly created virtual disk is given a unique pipeline code, which is assumed to be number 0, and the index value of the entity segment 51 it has just been assigned is recorded in the virtual disk entity segment occupancy table 54 and filled in the instruction to create a new magnetic The size of the disc, that is, the maximum address space available for the disc (in this case, 2 GB, as shown in the third figure), and the capacity of the virtual disk can exceed the capacity of the actually allocated storage medium 5, as long as it is used again. It is sufficient to expand the capacity of the actual storage medium 5. Next, the governing section processor 42 updates the relative position of the physical section index table 52 to the occupied state, that is, to 1. Furthermore, if the instruction to create a new differential disk is assumed to be a newly created virtual disk 1 as a differential disk of the virtual disk 0, the difference between the new disk and the virtual disk 0 specified by the parameter needs to be increased. The disk relationship table 55 (as shown in the third figure) establishes a differential disk whose capacity value is equal to its associated virtual disk, and the difference disk relationship table 55 is updated through the control segment processor. 42 and the disk access and scheduler 43 write to the control section 511, the process of which is the same as the above-mentioned initial storage medium 5 write control section 511, and therefore will not be described later. If the virtual disk drive 44 receives the instruction to delete the virtual disk, the instruction must specify the deleted target disk number as the parameter, first release the occupied physical segment 51 and update the physical segment index table 52 to the unconfigured state. If the physical segment 51 from the plurality of storage media 5 is occupied, the corresponding number of physical segment index tables 52 are updated, and then, the record only needs to be found and deleted in the virtual disk physical segment occupancy table 54. The virtual disk can be destroyed; if the deleted object is a differential disk, the difference disk record 55 is deleted from the difference disk table; if the virtual disk of the differential disk is created, the associated disk is associated with it. All discs need to be deleted as well. Also, for the mount virtual disk command, the virtual disk drive 44 checks whether the target virtual disk already exists in the virtual disk physical segment occupying table 54 through the management segment processor 42 and checks the differential disk relation table 55. Whether it has an associated differential disk, and then loads the occupied physical segment 51 into the system. If the instructions received by the virtual disk drive 44 are not of the above types, such as may be the status query instructions of the storage medium 5, these instructions will be consistent with the traditional standard component workflow, and are not emphasized in the present invention. Some functions required for management purposes, such as enumerating all registered virtual disks or differential disks, adding or deleting new storage media 5, etc., although not described in detail, can be easily analogized from the above, nor in the present invention. Emphasized.
請參閱第一圖至第三圖與第六圖所示,當虛擬磁碟被用戶端電腦1掛載後,接著即可服務虛擬磁碟的存取指令。此工作流程由管控區段處理器42、磁碟存取及排程器43、磁碟區段分配及回收器45、虛擬磁碟儲存區段表暫存器46及虛擬磁碟寫入保護轉址器47完成。當虛擬磁碟驅動器44收到虛擬磁碟取存資料的指令後,轉交由虛擬磁碟寫入保護轉址器47處理(如第五圖所示),虛擬磁碟寫入保護轉址器47可由虛擬磁碟儲存區段表暫存器46(較快速)或磁碟區段分配及回收器45(較慢速,因為需要由儲存媒體5上的管控區511段讀出)得知虛擬磁碟實體區段佔用表54,取得所有該虛擬磁碟可以存取的儲存媒體5之實體區段51,接著會先做合法性的檢查,任何對於該虛擬磁碟的存取指令不應超出這些範圍,否則該指令不應被執行,當虛擬磁碟將於某一未配置的實體儲存空間的合法虛擬位置(未超出虛擬磁碟的容量範圍)上寫入新的資料時,會先向磁碟區段分配及回收器45請求配置新的實體區段51,並更新管控區段511內的資料,使得原存取的指令仍滿足保護條件而正常執行。上述動作已可以計算出該虛擬磁碟存放於儲存媒體5的實體位址,之後由虛擬磁碟存取器48依虛擬磁碟格式進行真正的資料存取於儲存媒體5上;此虛擬磁碟格式與傳統作法一致,故不表現於流程圖中。再者,存取指令受目標磁碟是否為差異磁碟而有不同的處理方式,當某一虛擬磁碟被建立一差異磁碟後,該虛擬磁碟呈現唯讀狀態,受到避免寫入資料的保護,寫入的資料會被轉存至其差異磁碟;然而讀出資料則有會有兩種可能性:若為讀出曾寫入於差異磁碟的資料,則會由差異磁碟讀出;若為讀出不曾寫入於差異磁碟的資料,則會由虛擬磁碟直接讀出。Referring to the first to third and sixth figures, when the virtual disk is mounted by the client computer 1, the virtual disk access command can be served. This workflow consists of a managed segment processor 42, a disk access and scheduler 43, a disk segment allocation and recycler 45, a virtual disk storage segment table register 46, and a virtual disk write protection switch. The addresser 47 is completed. When the virtual disk drive 44 receives the instruction to fetch the data from the virtual disk, the transfer is processed by the virtual disk write protection relayer 47 (as shown in FIG. 5), and the virtual disk write protection protector 47 The virtual magnetic disk can be known from the virtual disk storage segment table register 46 (faster) or the disk segment allocation and recycler 45 (slower speed because it needs to be read by the control area 511 on the storage medium 5) The disc physical sector occupation table 54 obtains all the physical segments 51 of the storage medium 5 that the virtual disk can access, and then checks the legality first, and any access instructions for the virtual disk should not exceed these. Scope, otherwise the instruction should not be executed. When the virtual disk will write new data on the legal virtual location of an unconfigured physical storage space (not exceeding the capacity range of the virtual disk), it will first be magnetic. The disc section allocation and recycler 45 requests configuration of the new entity section 51 and updates the material in the management section 511 so that the originally accessed instructions still fulfill the protection conditions and are normally executed. The above operation can calculate that the virtual disk is stored in the physical address of the storage medium 5, and then the virtual disk accessor 48 performs real data access to the storage medium 5 according to the virtual disk format; the virtual disk The format is consistent with the traditional approach and is therefore not represented in the flow chart. Furthermore, the access command is processed differently depending on whether the target disk is a differential disk. When a virtual disk is created with a different disk, the virtual disk is read-only and is protected from writing data. Protection, the written data will be transferred to its differential disk; however, there are two possibilities for reading the data: if the data that was written on the differential disk is read, the difference disk will be Read; if it is to read data that has not been written to the differential disk, it will be read directly from the virtual disk.
最後,虛擬磁碟資料快取及緩衝器49在虛擬磁碟的存取運作原理與傳統快取方法雷同的部份不加以詳述,而虛擬磁碟資料快取及緩衝器49其運作特點在於對讀取的指令而言,會優先快取曾被建立差異磁碟的虛擬磁碟資料;對寫入指令而言,會優先快取寫入差異磁碟的資料,若快取空間不足,由讀取指令取得的資料優先於剛被寫入的資料。Finally, the virtual disk data cache and buffer 49 in the virtual disk access operation principle and the traditional cache method are not detailed, and the virtual disk data cache and buffer 49 is characterized by its operation For the read instruction, the virtual disk data of the differential disk that has been created is preferentially cached; for the write command, the data written to the differential disk is preferentially cached, and if the cache space is insufficient, The data obtained by the read command takes precedence over the data just written.
綜上所述,本發明之高效能虛擬磁碟管理系統能在無需作業系統的檔案系統的支援下,在複數個區塊層級的儲存媒體5上實現動態空間配置的效用,用以存放並管理複數個虛擬磁碟。且因本發明能避免運行作業系統及其檔案系統的計算效能損失,減少一層昂貴的檔案系統位址轉換的計算消耗,因此具備高速的存取效能。是以,利用本發明之技術,可提升傳統儲存媒體5技術的儲存空間利用率,且不因此造成大幅的存取效能損失。In summary, the high-performance virtual disk management system of the present invention can realize the effect of dynamic space allocation on a plurality of block-level storage media 5 without the support of the file system of the operating system for storage and management. Multiple virtual disks. Moreover, the present invention can avoid the computational performance loss of the operating system and its file system, and reduce the computational cost of an expensive file system address conversion, thereby providing high-speed access performance. Therefore, by utilizing the technology of the present invention, the storage space utilization rate of the conventional storage medium 5 technology can be improved without causing a large loss of access performance.
1...用戶端電腦1. . . Client computer
2...網路2. . . network
3...儲存伺服器3. . . Storage server
4...虛擬磁碟管理系統4. . . Virtual disk management system
41...磁碟區段規劃器41. . . Disk sector planner
42...管控區段處理器42. . . Control segment processor
43...磁碟存取及排程器43. . . Disk access and scheduler
44...虛擬磁碟驅動器44. . . Virtual disk drive
45...磁碟區段分配及回收器45. . . Disk segment allocation and recycler
46...虛擬磁碟儲存區段表暫存器46. . . Virtual disk storage section table register
47...虛擬磁碟寫入保護轉址器47. . . Virtual disk write protection translator
48...虛擬磁碟存取器48. . . Virtual disk accessor
49...虛擬磁碟資料快取及緩衝器49. . . Virtual disk data cache and buffer
5...儲存媒體5. . . Storage medium
51...實體區段51. . . Physical section
511...管控區段511. . . Control section
52...實體區段索引表52. . . Entity segment index table
53...儲存媒體群記錄表53. . . Storage media group record table
54...虛擬磁碟實體區段佔用表54. . . Virtual disk entity segment occupancy table
55...差異磁碟關係表55. . . Differential disk relationship table
第一圖係為本發明連接儲存伺服器之示意圖。The first figure is a schematic diagram of the connection storage server of the present invention.
第二圖係為本發明之方塊圖。The second figure is a block diagram of the present invention.
第三圖係為本發明之管控區段內容。The third figure is the content of the control section of the present invention.
第四圖係為本發明於儲存媒體初始化的運作流程圖。The fourth figure is a flow chart of the operation of the invention in the initialization of the storage medium.
第五圖係為本發明於建立、刪除及掛載虛擬磁碟的運作流程圖。The fifth figure is a flow chart of the operation of the invention for creating, deleting and mounting a virtual disk.
第六圖係為本發明於處理存取指令的運作流程圖。The sixth figure is a flow chart of the operation of the present invention in processing access commands.
3...儲存伺服器3. . . Storage server
4...虛擬磁碟管理系統4. . . Virtual disk management system
41...磁碟區段規劃器41. . . Disk sector planner
42...管控區段處理器42. . . Control segment processor
43...磁碟存取及排程器43. . . Disk access and scheduler
44...虛擬磁碟驅動器44. . . Virtual disk drive
45...磁碟區段分配及回收器45. . . Disk segment allocation and recycler
46...虛擬磁碟儲存區段表暫存器46. . . Virtual disk storage section table register
47...虛擬磁碟寫入保護轉址器47. . . Virtual disk write protection translator
48...虛擬磁碟存取器48. . . Virtual disk accessor
49...虛擬磁碟資料快取及緩衝器49. . . Virtual disk data cache and buffer
5...儲存媒體5. . . Storage medium
51...實體區段51. . . Physical section
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100120318A TWI446194B (en) | 2011-06-10 | 2011-06-10 | High-performance virtual disk management system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100120318A TWI446194B (en) | 2011-06-10 | 2011-06-10 | High-performance virtual disk management system |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201250500A TW201250500A (en) | 2012-12-16 |
TWI446194B true TWI446194B (en) | 2014-07-21 |
Family
ID=48139273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100120318A TWI446194B (en) | 2011-06-10 | 2011-06-10 | High-performance virtual disk management system |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI446194B (en) |
-
2011
- 2011-06-10 TW TW100120318A patent/TWI446194B/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TW201250500A (en) | 2012-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11003576B2 (en) | Namespace change propagation in non-volatile memory devices | |
US11226747B2 (en) | System and method for copy on write on an SSD | |
US8103847B2 (en) | Storage virtual containers | |
JP5456063B2 (en) | Method and system for dynamic storage tiering using allocate-on-write snapshots | |
KR101086857B1 (en) | Control Method of Solid State Storage System for Data Merging | |
CN102272742B (en) | For volume provide the online data of dynamic memory classification to place write time distribution snapshot mechanism | |
JP5707540B1 (en) | Hierarchical storage system, storage controller, and method for replacing data movement between tiers | |
WO2018194772A1 (en) | Persistent memory for key-value storage | |
US9075528B2 (en) | High-efficiency virtual disk management system | |
US10521345B2 (en) | Managing input/output operations for shingled magnetic recording in a storage system | |
JP6416591B2 (en) | Method for providing access to an updated file and executable software product stored on a computer readable recording medium including program instructions for executing the same | |
US10037161B2 (en) | Tiered storage system, storage controller, and method for deduplication and storage tiering | |
US20090157756A1 (en) | File System For Storing Files In Multiple Different Data Storage Media | |
US10956071B2 (en) | Container key value store for data storage devices | |
WO2017148242A1 (en) | Method for accessing shingled magnetic recording (smr) hard disk, and server | |
US10929066B1 (en) | User stream aware file systems with user stream detection | |
JP7006265B2 (en) | Information processing equipment, control programs and information processing methods | |
EP2122450A1 (en) | Method and apparatus for storing and accessing data records on solid state disks | |
JP6867578B2 (en) | Storage controller, storage system, storage control method and storage control program | |
US11789622B2 (en) | Method, device and computer program product for storage management | |
US20170351457A1 (en) | Storage controller, storage system, and storage control method | |
Zeng et al. | CosaFS: A cooperative shingle-aware file system | |
TWI446194B (en) | High-performance virtual disk management system | |
JP2013089225A (en) | Hierarchy changing method and device | |
JP6427913B2 (en) | Storage system, control device, storage device, input / output control method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |