CN102841758B - High-performance virtual disk management system - Google Patents
High-performance virtual disk management system Download PDFInfo
- Publication number
- CN102841758B CN102841758B CN201110165547.3A CN201110165547A CN102841758B CN 102841758 B CN102841758 B CN 102841758B CN 201110165547 A CN201110165547 A CN 201110165547A CN 102841758 B CN102841758 B CN 102841758B
- Authority
- CN
- China
- Prior art keywords
- virtual disk
- management system
- disk
- physical
- virtual
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 230000000694 effects Effects 0.000 claims abstract description 4
- 238000007726 management method Methods 0.000 claims description 66
- 230000026676 system process Effects 0.000 claims 2
- 238000006243 chemical reaction Methods 0.000 abstract description 5
- 238000000034 method Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
技术领域 technical field
本发明涉及一种高效能虚拟磁盘管理系统,尤指可让实体及虚拟空间位址转换一次性计算,以增进虚拟磁盘存取的效能,并让区块层级的储存媒体上实现像虚拟磁盘般的动态空间配置的效用的高效能虚拟磁盘管理系统。The present invention relates to a high-efficiency virtual disk management system, especially capable of one-time calculation of entity and virtual space address conversion, so as to improve the performance of virtual disk access, and to realize block-level storage media like virtual disks. A high-performance virtual disk management system with the utility of dynamic space allocation.
背景技术 Background technique
美国专利编号US 7,107,385B2提出Storage Virtualization by LayeringVirtual Disk Objects on a File System发明,其内容为应用作业系统的档案系统对于储存媒体的广泛支援能力,将不同型态储存媒体,如延伸磁盘或网络储存媒体,集合成档案系统的卷册区段(Volume)用于存放虚拟磁盘。US Patent No. US 7,107,385B2 proposes the invention of Storage Virtualization by LayeringVirtual Disk Objects on a File System, the content of which is to use the file system of the operating system to support a wide range of storage media, and to store different types of storage media, such as extended disks or network storage media , the volume section (Volume) of the file system is assembled to store the virtual disk.
中国台湾省专利编号I307026,为提出储存管理系统与方法,其发明使用一档案系统伺服器、一档案资讯(Metadata)伺服器与物件储存装置达成虚拟分割区进行档案的存取的目地。由档案资讯伺服器储存档案的管理及索引资讯,再由物件储存装置存取档案内容数据。因为档案的管理及索引资讯与真实的档案内容被分离储存在两个存服器上,使得只要增加物件储存装置的储存单元,即可使该虚拟分割区空间动态成长。Patent No. I307026 of Taiwan Province of China proposes a storage management system and method. Its 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 file management and index information, and then the object storage device accesses the file content data. Because the file management and index information and the real file content are stored separately on two storage servers, the virtual partition space can be dynamically grown by adding storage units of the object storage device.
以上现有的虚拟化磁盘技术皆欲提供弹性化的实体磁盘空间及虚拟磁盘空间的对应,而通过使用作业系统的档案系统管理能力或分离档案管理及索引资讯与真实的档案内容的方法达成,然而这些技术都需要一定程度的额外计算消耗才能达成,即一个档案的存取会经过至少两层的位址转换,造成需要高速的虚拟磁盘存取应用的效能瓶颈。The above existing virtual disk technologies all intend to provide flexible correspondence between physical disk space and virtual disk space, and achieve this by using the file system management capability of the operating system or separating file management and index information from the real file content. However, these technologies require a certain degree of additional computing consumption to achieve, that is, the access of a file will go through at least two layers of address translation, resulting in a performance bottleneck for applications that require high-speed virtual disk access.
发明内容 Contents of the invention
本发明的主要目的乃在于提供一种高效能虚拟磁盘管理系统,利用虚拟磁盘管理系统规划区块层级的储存媒体成为具有动态大小的实体区段集合,然后将虚拟磁盘分段直接写入于多个实体区段,以避免现有技术中作业系统的档案系统所需的位址转换,进而成为实体及虚拟空间位址转换一次性计算,以增进虚拟磁盘存取的效能,并让储存媒体实现像虚拟磁盘般的动态空间配置的效用。The main purpose of the present invention is to provide a high-performance virtual disk management system, which uses the virtual disk management system to plan block-level storage media into a set of physical sections with dynamic sizes, and then directly writes virtual disk segments to multiple A physical segment, to avoid the address conversion required by the file system of the operating system in the prior art, and then become a one-time calculation of the physical and virtual space address conversion, so as to improve the performance of virtual disk access and enable storage media to be realized. The utility of dynamic space allocation like virtual disks.
为达上述目的,本发明是在储存伺服器与储存媒体的间连接有虚拟磁盘管理系统,且储存伺服器通过网络连接用户端电脑,而虚拟磁盘管理系统设置有磁盘区段规划器、管控区段处理器、磁盘存取及排程器、虚拟磁盘驱动器、磁盘区段分配及回收器、虚拟磁盘储存区段表暂存器、虚拟磁盘写入保护转址器、虚拟磁盘存取器以及虚拟磁盘数据快取及缓冲器,其中:In order to achieve the above purpose, the present invention is to connect a virtual disk management system between the storage server and the storage medium, and the storage server is connected to the client computer through the network, and the virtual disk management system is provided with a disk segment planner, a control area segment processor, disk access and scheduler, virtual disk driver, disk segment allocation and reclaimer, virtual disk storage segment table register, virtual disk write protection Disk data cache and buffer, where:
该磁盘区段规划器,用以规划储存媒体成为多个事先给定固定大小的实体区段,一个实体区段即为最小的使用单位,当磁盘区段规划器规划储存媒体后,为会产生一实体区段索引表存放此储存媒体的实体区段被使用的状态,未配置以0表示;反之已配置以1表示,在初始状态下,该索引表内的值皆为0;再者,若虚拟磁盘管理系统连接有多个储存媒体时,则磁盘区段规划器会对每一实体储存媒体会采用一致的规划方式,并使用一储存媒体群记录表存放所有可被使用的储存媒体资讯,每一储存媒体会被分配唯一识别码。The disk segment planner is used to plan the storage medium into a plurality of physical segments with a given fixed size in advance. A physical segment is the smallest unit of use. After the disk segment planner plans the storage medium, it will generate A physical segment index table stores the status of the physical segment of the storage medium being used. If it is not configured, it is represented by 0; otherwise, it is represented by 1. In the initial state, the values in the index table are all 0; moreover, If multiple storage media are connected to the virtual disk management system, the disk segment planner will use a consistent planning method for each physical storage media, and use a storage media group record table to store all available storage media information , each storage medium will be assigned a unique identification code.
该管控区段处理器会在各储存媒体内分别选定多个未配置的实体区段做为管理用途的为管控区段,一个储存媒体会存放多个管控区段,但只有一个为主要,其它为备援及检查用,以增加重要数据的安全性,且管控区段处理器会将实体区段索引表及储存媒体群记录表写入储存媒体中的管控区段内。The control section processor will select multiple unconfigured physical sections in each storage medium as the control section for management purposes. One storage medium will store multiple control sections, but only one is the main one. Others are used for backup and inspection to increase the security of important data, and the control section processor will write the entity section index table and storage medium group record table into the control section in the storage medium.
该磁盘存取及排程器为存取及排程储存媒体的驱动元件,使得存取管理用途的数据指令比虚拟磁盘的数据存取指令有较优先的执行顺序。The disk access and scheduler is a drive component for accessing and scheduling storage media, so that data commands for access management purposes have a higher priority execution order than data access commands for virtual disks.
该虚拟磁盘驱动器为生成、删除及挂载储存媒体上的虚拟磁盘的控制器,当用户端电脑对储存伺服器发出新建、删除或挂载虚拟磁盘的命令时,储存伺服器将该指令转发予虚拟磁盘驱动器,虚拟磁盘驱动器则通过磁盘区段分配及回收器得到新的实体区段、回收某个虚拟磁盘所占用的实体区段或查询出该虚拟磁盘占用的所有实体区段。The virtual disk driver is a controller for generating, deleting and mounting virtual disks 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 forwards the command to A virtual disk driver, the virtual disk driver obtains a new physical section through disk section allocation and reclaimer, reclaims a physical section occupied by a certain virtual disk, or queries all physical sections occupied by the virtual disk.
该磁盘区段分配及回收器,其为执行并完成虚拟磁盘驱动器所发出的新增、删除及查询某个虚拟磁盘所占用的实体区段,当磁盘区段分配及回收器执行指令时,会先由管控区段处理器得到最新的实体区段索引表,以得知有哪些实体区段可以被分配,或已被占用;再者,对于新增虚拟磁盘的指令或要求配置实体区段的请求而言,此磁盘区段分配及回收器会由可分配的实体区段中,以最佳化存取效能为原则选定实体区段分配,此最佳化存取效能可由优先选择邻近的实体区段达成,并产生一个虚拟磁盘实体区段占用表,此虚拟磁盘实体区段占用表的索引为虚拟磁盘在虚拟磁盘管理系统内的唯一识别码,此识别码对应的值为二元串列,串列中每一组数据的组成元素由储存媒体群记录表的识别码及实体区段索引表的实体区段索引所组成,且若磁盘区段分配及回收器因执行新建及删除虚拟磁盘的指令,造成虚拟磁盘实体区段占用表或实体区段索引表的异动,会连带将更新的虚拟磁盘实体区段占用表或实体区段索引表传送至管控区段处理器更新管控区段的记录。The disk segment allocation and collector is used to execute and complete the addition, deletion and query of the physical segment occupied by a virtual disk issued by the virtual disk driver. When the disk segment allocation and collector executes the command, it will First, the management and control section processor obtains the latest physical section index table to know which physical sections can be allocated or have been occupied; moreover, for the instruction of adding a new virtual disk or requiring configuration of the physical section For the request, this disk segment allocation and collector will select the physical segment allocation from the available physical segments based on the principle of optimizing access performance. This optimal access performance can be selected by preferentially selecting adjacent The physical section is reached, and a virtual disk physical section occupation table is generated. The index of the virtual disk physical section occupation table is the unique identification code of the virtual disk in the virtual disk management system. The value corresponding to this identification code is a binary string The elements of each group of data in the string are composed of the identification code of the storage media group record table and the entity segment index of the entity segment index table, and if the disk segment allocation and recycler execute new and delete virtual The command of the disk causes the change of the virtual disk physical segment occupation table or the physical segment index table, and the updated virtual disk physical segment occupation table or physical segment index table will be sent to the control section processor to update the control section record of.
该虚拟磁盘储存区段表暂存器,其为加速定址虚拟磁盘于储存媒体位置的快取暂存器,在空间足够的状况下,它会将正在使用中的虚拟磁盘的虚拟磁盘实体区段占用表内容存放于一可高速存取(相对于磁盘存取而言)的暂存器中。使得虚拟磁盘写入保护转址器在计算该虚拟磁盘可实际存取的实体区段时可以快速完成,任何虚拟磁盘实体区段占用表异动的事件发生时,管控区段处理器会更新虚拟磁盘储存区段表暂存器中的拟磁盘实体区段占用表,以保持数据一致。The virtual disk storage segment table temporary register is a cache register that speeds up addressing the virtual disk at the location of the storage medium. If there is enough space, it will save the virtual disk entity segment of the virtual disk in use The contents of the occupancy table are stored in a temporary register that can be accessed at a high speed (compared to disk access). This enables the virtual disk write protection transponder to quickly complete the calculation of the physical segments that can be accessed by the virtual disk. When any virtual disk physical segment occupancy table changes, the control segment processor will update the virtual disk. Store the virtual disk physical segment occupancy table in the segment table temporary register to keep the data consistent.
该虚拟磁盘写入保护转址器为负责虚拟磁盘可实际存取的实体区段的位址转换及检查的两种计算工作;用户端电脑对某一虚拟磁盘进行数据存取的指令,会转送予虚拟磁盘写入保护转址器以计算出该虚拟磁盘存放于储存媒体的实体位址,之后才进行虚拟磁盘的数据存取,然而任何对于某虚拟磁盘的存取指令不应超出该虚拟磁盘的实体区段占用表记录所有该虚拟磁盘可以存取的实体区段范围以保护多个虚拟磁盘的数据,避免相互读取及写入数据,但例外状况为若当虚拟磁盘将于某一尚未配置但即将取得配置的实体储存空间的合法磁盘虚拟位置(未超出虚拟磁盘的容量范围)上写入新的数据,会向磁盘区段分配及回收器请求配置新的实体区段,当加入新实体区段后,会使原存取的指令满足保护条件,而可正常执行,再者,若是读取磁盘上某一未配置的实体储存空间的合法虚拟位置时,即此读取指令读取未曾写入数据的位址,则只要回复空白数据即可,不需配置新的实体区段。另外,不连续的实体区段配置可能引起存取指令操作多个实体区段,这类跨实体区段的操作需要将一指令分解成多个存取单一实体区段数据的指令,待此些指令完成后,才算完成原指令;更进一步,类似传统虚拟磁盘技术定义的快照磁盘或差异磁盘(Snapshot or DifferentialDisks)的功能也由虚拟磁盘写入保护转址器负责,统一以差异磁盘称之,差异磁盘实质上亦视为一个虚拟磁盘,假设在系统上已存在某一虚拟磁盘甲且使用者对虚拟磁盘甲建立一差异磁盘乙,此时,对虚拟磁盘甲写入数据,会被转存至差异磁盘乙;若对虚拟磁盘甲读出数据,会有两种可能性:第一,若为读出曾写入于差异磁盘乙的数据,则会由差异磁盘乙读出;第二,若为读出不曾写入于差异磁盘乙的数据,则会由虚拟磁盘甲直接读出,因此,差异磁盘会使其对应的虚拟磁盘变成只读的状态;为了达成上述功能,虚拟磁盘写入保护转址器会建立差异磁盘关系表,差异磁盘关系表的索引栏位为某差异磁盘的唯一编号,其对应值为该差异磁盘所连结的虚拟磁盘编号,若出现复数笔相同虚拟磁盘编号的记录,则代表某一虚拟磁盘已建立多个差异磁盘。若要删除某一差异磁盘,则只要删除差异磁盘关系表内的记录,再重设实体区段索引表相对应位置以释放其所占用的实体区段,最后再更新管控区段的内容即可。倘若某一虚拟磁盘被删除,则差异磁盘关系表内所有建立于该虚拟磁盘的差异磁盘记录必须同步删除,并同步更新管控区段的内容即可;最后,若为多层次的差异磁盘关连,只要在差异磁盘关系表内的虚拟磁盘栏位填入某一差异磁盘编号即可。The virtual disk write-protection transponder is responsible for the address translation and checking of the virtual disk’s physically accessible physical segments; The virtual disk is write-protected to the indexer 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. However, any access command to a virtual disk should not exceed the virtual disk The physical section occupation table records all the physical section ranges that can be accessed by the virtual disk to protect the data of multiple virtual disks and avoid mutual reading and writing of data, but the exception is when the virtual disk is going to a certain When new data is written to the legal disk virtual location (not exceeding the capacity range of the virtual disk) that is configured but will soon obtain the configured physical storage space, it will request the disk segment allocation and recycler to configure a new physical segment. When adding a new After the physical section, the original access command will meet the protection conditions and can be executed normally. Furthermore, if the legal virtual location of an unconfigured physical storage space on the disk is read, that is, the read command reads For addresses that have not been written into data, it is only necessary to return blank data, and there is no need to configure a new physical segment. In addition, the configuration of discontinuous physical sections may cause access instructions to operate multiple physical sections. Such cross-physical section operations need to decompose an instruction into multiple instructions for accessing data in a single physical section. After the instruction is completed, the original instruction is considered to be completed; further, functions similar to snapshot disks or differential disks (Snapshot or Differential Disks) defined by traditional virtual disk technology are also taken care of by the virtual disk write protection transponder, which is collectively referred to as differential disks , the difference disk is also regarded as a virtual disk in essence, assuming that a virtual disk A already exists in the system and the user creates a difference disk B for virtual disk A, at this time, writing data to virtual disk A will be transferred Save to differential disk B; if data is read from virtual disk A, there are two possibilities: first, if the data written in differential disk B is to be read, it will be read from differential disk B; second , if it is to read the data that has not been written in the difference disk B, it will be read directly from the virtual disk A. Therefore, the difference disk will make its corresponding virtual disk into a read-only state; in order to achieve the above functions, the virtual disk The write protection indexer will create a difference disk relationship table. The index field of the difference disk relationship table is the unique number of a difference disk, and its corresponding value is the number of the virtual disk connected to the difference disk. If there are multiple identical virtual disks numbered record, it means that a certain virtual disk has created multiple differencing disks. If you want to delete a difference disk, you only need to delete the records in the difference disk relationship table, then reset the corresponding position of the entity section index table to release the entity section occupied by it, and finally update the content of the control section . If a virtual disk is deleted, all the difference disk records created on the virtual disk in the difference disk relationship table must be deleted synchronously, and the contents of the control section must be updated synchronously; finally, if it is a multi-level difference disk relationship, Just fill in a certain difference disk number in the virtual disk field in the difference disk relationship table.
该虚拟磁盘存取器,其为传统虚拟磁盘技术的实作元件,负责将用户端得到的(虚拟)磁盘以传统虚拟磁盘格式,如VMDK、VHD、及VDI写入储存媒体。在计算传统虚拟磁盘格式实际存取储存媒体位址时,只需加上由虚拟磁盘写入保护转址器查表得到的实体区段的偏移量,即数据的存取只需要一次性的计算即可完成。The virtual disk accessor, which is an implementation component of traditional virtual disk technology, is responsible for writing the (virtual) disk obtained by the client in the traditional virtual disk format, such as VMDK, VHD, and VDI, into the storage medium. When calculating the actual access storage medium address of the traditional virtual disk format, it is only necessary to add the offset of the physical segment obtained from the lookup table of the virtual disk write protection indexer, that is, data access only needs one time The calculation is done.
该虚拟磁盘数据快取及缓冲器,用以加速虚拟磁盘数据存取的快取及缓冲器,以减少对储存媒体的读取次数,并让写入数据的动作可以非同步完成,减少写入指令的回应时间;此虚拟磁盘数据快取及缓冲器与传统数据快取及缓冲器不同点在于,虚拟磁盘写入保护转址器提供差异磁盘功能,造成一虚拟磁盘及其一至多个关连的差异磁盘有不同的存取频率,假设向多个关连于某一虚拟磁盘的差异磁盘读取相同的某位址,若大多数的差异磁盘未曾写入该位址,则转址后真正的读取位址将回归于读取虚拟磁盘上的某相同位址,基于此特性,快取被关连的虚拟磁盘比快取其差异磁盘的数据,在快取的空间利用率上及击中率上更有效率;相似的,以数据存取具地域及时间的集中性(locality)而言,刚被写入的数据,可能立即被引用,因此,写入虚拟磁盘数据快取及缓冲器除了能像传统作法以非同步方式完成写入指令,减少回应时间外,也让刚写入的数据具较高的快取机会,特别是对差异磁盘写入的数据;简单地说,虚拟磁盘数据快取及缓冲器对读取指令而言,会加强被关连的虚拟磁盘数据快取,对写入指令而言,会加强差异磁盘的数据快取。The virtual disk data cache and buffer are used to speed up the virtual disk data access cache and buffer to reduce the number of reads to the storage medium, and allow the operation of writing data to be completed asynchronously, reducing writing command response time; the difference between this virtual disk data cache and buffer and traditional data cache and buffer is that the virtual disk write protection indexer provides a differential disk function, resulting in a virtual disk and one or more associated Differential disks have different access frequencies. Suppose the same address is read from multiple differentiating disks associated with a certain virtual disk. If most of the differentiating disks have not written to this address, the actual read Fetching the address will return to reading the same address on the virtual disk. Based on this feature, caching the data of the associated virtual disk is faster than fetching the data of its different disks, in terms of cache space utilization and hit rate It is more efficient; similarly, in terms of the locality (locality) of data access with region and time, the data that has just been written may be referenced immediately. Therefore, writing to the virtual disk data cache and buffer can not only Completing the write command in an asynchronous manner like the traditional method not only reduces the response time, but also allows the newly written data to have a higher chance of being cached, especially the data written to the difference disk; simply put, the virtual disk data is fast For read commands, the fetch and buffer will enhance the data cache of the associated virtual disk, and for write commands, it will enhance the data cache of different disks.
附图说明 Description of drawings
图1为本发明连接储存伺服器的示意图。FIG. 1 is a schematic diagram of the present invention connecting to a storage server.
图2为本发明的方块图。Figure 2 is a block diagram of the present invention.
图3为本发明的管控区段内容。Fig. 3 is the content of the control section of the present invention.
图4为本发明于储存媒体初始化的运作流程图。FIG. 4 is a flow chart of the present invention for initializing storage media.
图5为本发明于建立、删除及挂载虚拟磁盘的运作流程图。FIG. 5 is a flow chart of the present invention in creating, deleting and mounting virtual disks.
图6为本发明于处理存取指令的运作流程图。FIG. 6 is a flow chart of the present invention in processing access commands.
附图标记说明:1、用户端电脑;2、网络;3、储存伺服器;4、虚拟磁盘管理系统;41、磁盘区段规划器;42、管控区段处理器;43、磁盘存取及排程器;44、虚拟磁盘驱动器;45、磁盘区段分配及回收器;46、虚拟磁盘储存区段表暂存器;47、虚拟磁盘写入保护转址器;48、虚拟磁盘存取器;49、虚拟磁盘数据快取及缓冲器;5、储存媒体;51、第一储存媒体;511、实体区段;512、管控区段;5121、储存媒体群记录表;5122、第一实体区段索引表;5123、第二实体区段索引表;5124、差异磁盘关系表;5125、虚拟磁盘实体区段占用表;52、第二储存媒体;521、实体区段。Explanation of reference signs: 1. client computer; 2. network; 3. storage server; 4. virtual disk management system; 41. disk segment planner; 42. control segment processor; 43. disk access and Scheduler; 44. Virtual disk driver; 45. Disk segment allocation and reclaimer; 46. Virtual disk storage segment table temporary register; 47. Virtual disk write protection redirector; 48. Virtual disk access device ;49. Virtual disk data cache and buffer; 5. Storage medium; 51. First storage medium; 511. Entity section; 512. Control section; 5121. Storage medium group record table; 5122. First entity area Segment index table; 5123, second entity segment index table; 5124, difference disk relationship table; 5125, virtual disk entity segment occupancy table; 52, second storage medium; 521, entity segment.
具体实施方式 Detailed ways
请参阅图1以及图2所示,由图中可清楚看出,本发明高效能虚拟磁盘管理系统的使用方式为用户端电脑1通过网络2连接一台或多台储存伺服器3,而储存伺服器3通过虚拟磁盘管理系统4连接有一台至多台的储存媒体5,而虚拟磁盘管理系统4设置有磁盘区段规划器41、管控区段处理器42、磁盘存取及排程器43、虚拟磁盘驱动器44、磁盘区段分配及回收器45、虚拟磁盘储存区段表暂存器46、虚拟磁盘写入保护转址器47、虚拟磁盘存取器48以及虚拟磁盘数据快取及缓冲器49。Please refer to Fig. 1 and Fig. 2, it can be clearly seen from the figure that the high-efficiency virtual disk management system of the present invention is used in that the client computer 1 is connected to one or more storage servers 3 through the network 2, and the storage The server 3 is connected to one or more storage media 5 through the virtual disk management system 4, and the virtual disk management system 4 is provided with a disk segment planner 41, a management and control segment processor 42, a disk access and scheduler 43, A virtual disk driver 44, a disk segment allocation and reclaimer 45, a virtual disk storage segment table register 46, a virtual disk write protection redirector 47, a virtual disk access device 48, and a virtual disk data cache and buffer 49.
请参阅图1至图4所示,当储存媒体5在进行初始化处理流程时,是由磁盘区段规划器41、管控区段处理器42及磁盘存取及排程器43合力完成,此时磁盘存取及排程器43先侦测高效能虚拟磁盘管理系统所连接的储存媒体5,并将储存媒体5的数量传送至磁盘区段规划器41;此实施例中为以二组储存媒体5进行说明,使磁盘存取及排程器43侦测到已连接可使用的所有储存媒体5,为第一储存媒体51与第二储存媒体52共两组,分别以编号0及1表示。此时,磁盘区段规划器41依照磁盘存取及排程器43所侦测的储存媒体5数量,建立出储存媒体群记录表5121(如图3所示),并将此储存媒体群记录表5121交由管控区段处理器42,且磁盘区段规划器41得知储存媒体5数量后,磁盘区段规划器41会以一事先给定的固定区段容量值,将第一储存媒体51与第二储存媒体52以一致的规划方式,规划成为多个实体区段511、512,并分别对第一储存媒体51与第二储存媒体52产生第一实体区段索引表5122与第二实体区段索引表5123;以本实施例而言,当第一储存媒体51容量大小为1Terabyte时,为规画成1024个事先给定的1Gigabyte(GB)固定容量的实体区段511,每一个实体区段511即为最小的使用单位;利用区段索引值可以快速定址某一区段在第一储存媒体51的实际位址,例如:第i个区段起始于i x 1GB的位址,终止于(i+1)x 1 GB 1的位址,决定好实体区段51的容量后,磁盘区段规划器41接着产生一个第一实体区段索引表5122存放实体区段511被使用的状态,未配置以0表示;反之已配置以1表示。在初始状态下,该索引表内的值皆为0。再使磁盘区段规划器41将第一实体区段索引表5122与第二实体区段索引表5123交由管控区段处理器42,而管控区段处理器42对于每个储存媒体5会选定多个(此例为第一储存媒体51的第0及最后一个)实体区段511成为主要及备份的管控区段512,并将第一实体区段索引表5122中第0及最后一个实体区段索引上填入1,代表已被分配使用,并让磁盘区段规划器41将第一实体区段索引表5122、第二实体区段索引表5123以及储存媒体群记录表5121写入管控区段512。Please refer to FIG. 1 to FIG. 4, when the storage medium 5 is performing the initialization process, it is completed by the joint efforts of the disk segment planner 41, the management and control segment processor 42, and the disk access and scheduler 43. The disk access and scheduler 43 first detects the storage media 5 connected to the high-performance virtual disk management system, and sends the quantity of the storage media 5 to the disk segment planner 41; in this embodiment, two sets of storage media are used 5 for illustration, so that the disk access and scheduler 43 detects all connected and usable storage media 5, which are two groups of the first storage media 51 and the second storage media 52, represented by numbers 0 and 1 respectively. At this time, the disk segment planner 41 creates a storage medium group record table 5121 (as shown in FIG. 3 ) according to the number of storage media 5 detected by the disk access and scheduler 43, and records the storage medium group The table 5121 is handed over to the management and control section processor 42, and after the disk section planner 41 knows the number of storage media 5, the disk section planner 41 will use a predetermined fixed section capacity value to allocate the first storage medium 51 and the second storage medium 52 are planned into a plurality of physical sections 511 and 512 in a consistent planning manner, and generate a first physical section index table 5122 and a second physical section index table 5122 for the first storage medium 51 and the second storage medium 52 respectively. Physical segment index table 5123; in this embodiment, when the capacity of the first storage medium 51 is 1 Terabyte, it is planned to be 1024 physical segments 511 with a fixed capacity of 1 Gigabyte (GB), each The physical section 511 is the smallest unit of use; the actual address of a certain section in the first storage medium 51 can be quickly addressed by using the section index value, for example: the i-th section starts at the address of i x 1GB , terminated at the address of (i+1)x 1 GB 1, after determining the capacity of the physical segment 51, the disk segment planner 41 then generates a first physical segment index table 5122 to store the used physical segment 511 If it is not configured, it is represented by 0; otherwise, it is represented by 1. In the initial state, the values in the index table are all 0. Then let the disk segment planner 41 hand over the first physical segment index table 5122 and the second physical segment index table 5123 to the management and control segment processor 42, and the management and control segment processor 42 will select for each storage medium 5 Determine a plurality of (in this example, the 0th and the last one of the first storage medium 51) entity sections 511 as primary and backup management and control sections 512, and set the 0th and last entities in the first entity section index table 5122 Fill in the segment index with 1, which means it has been allocated and used, and let the disk segment planner 41 write the first physical segment index table 5122, the second physical segment index table 5123 and the storage media group record table 5121 into the control Section 512.
请参阅图1至图3与5图所示,初始化储存媒体5的工作完成后,虚拟磁盘管理系统4即可处理来自用户端电脑1通过储存伺服器3执行虚拟磁盘的建立、删除及挂载的操作指令,如图5所示,这类型的操作如同传统的网络硬碟在档案系统上被挂载成可被操作的储存空间的动作相同,例如,储存伺服器3可为iSCSITarget端,用户端电脑1可为iSCSI Initiator端。执行虚拟磁盘的建立、删除及挂载的操作指令工作由虚拟磁盘管理系统4的虚拟磁盘驱动器44、磁盘区段分配及回收器45、管控区段处理器42及磁盘存取及排程器43协力完成。当用户端电脑1通过储存伺服器3发出操作指令时,储存伺服器3为会将操作指令传送至虚拟磁盘管理系统4,此时虚拟磁盘驱动器44先判别操作指令类型,若为新建虚拟磁盘的指令,则会向磁盘区段分配及回收器45请求配置新的实体区段511或实体区段521,此实施例以第一储存媒体51的1号及52号实体区段51说明,并将新建立的虚拟磁盘给定一个唯一的流水码,假设为编号0,并将其刚分配的实体区段511索引值记录于虚拟磁盘实体区段占用表5125,并填入指令中新建磁盘的大小值,即最大该磁盘有效的定址空间(此例为2GB,如图3所示),而虚拟磁盘的容量可超出实际分配的的容量,只要再使用前,完成扩充实际实体区段511的数量即可。接着,管控区段处理器42会更新第一实体区段索引表5122相对位置为占用状态,即更新为1。再者,若为新建差异磁盘的指令,假设新建立虚拟磁盘1为虚拟磁盘0的差异磁盘,则需增加该新磁盘与由参数指定的虚拟磁盘0的关连记录于差异磁盘关系表5124(如图3所示),建立的差异磁盘,其磁盘的容量值等于其关连的虚拟磁盘,且差异磁盘关系表5124更新后会通过管控区段处理器42及磁盘存取及排程器43写入管控区段512,其过程与上述的初始化储存媒体5写入管控区段512一致,故往后不再赘述。若虚拟磁盘驱动器44接收到删除虚拟磁盘的指令,指令中必定指定删除的目标磁盘编号为参数,首先释放其所占用的实体区段511或实体区段521,并更新相关的第一实体区段索引表5122或第二实体区段索引表5123为未配置状态,接着,只需于虚拟磁盘实体区段占用表5125中找到并删除该记录,即可消灭该虚拟磁盘;若删除的对象为差异磁盘,另需由差异磁盘关系表5124删除该差异磁盘的记录;若是曾建立差异磁盘的虚拟磁盘,其所相关连的所有差异磁盘也需一并删除。又,对于挂载虚拟磁盘指令,虚拟磁盘驱动器44只要通过管控区段处理器42检查目标虚拟磁盘是否已存在于虚拟磁盘实体区段占用表5125,并检查差异磁盘关系表5124内其是否有相关连的差异磁盘,然后,将其占用的实体区段511、521载入系统即可。若虚拟磁盘驱动器44接收到的指令不为上述几种类型,例如可能为储存媒体5的状态查询指令,这些指令将与传统标准的元件作业流程一致,故不于本发明中强调。一些因管理用途需要的功能,例如列举所有已注册的虚拟磁盘或差异磁盘、加入或删除新的储存媒体5等功能,虽未详述,但可由上述内容轻易类推,亦不于本发明中强调。Please refer to FIGS. 1 to 3 and 5. After the work of initializing the storage medium 5 is completed, the virtual disk management system 4 can handle the creation, deletion and mounting of the virtual disk from the client computer 1 through the storage server 3. As shown in Figure 5, this type of operation is the same as the action of a traditional network hard disk being mounted as an operable storage space on the file system. For example, the storage server 3 can be an iSCSITarget end, and the user The terminal computer 1 may be an iSCSI Initiator terminal. The virtual disk driver 44, disk segment allocation and reclaimer 45, management and control segment processor 42, and disk access and scheduler 43 of the virtual disk management system 4 are used to perform the creation, deletion, and mounting of virtual disks. Work together. When the client computer 1 sends an operation instruction through the storage server 3, the storage server 3 will transmit the operation instruction to the virtual disk management system 4. At this time, the virtual disk driver 44 first judges the type of the operation instruction, if it is a new virtual disk command, then the disk segment allocation and reclaimer 45 will be requested to configure a new physical segment 511 or a new physical segment 521. This embodiment is illustrated with the No. 1 and No. 52 physical segments 51 of the first storage medium 51, and will The newly created virtual disk is given a unique serial number, assuming it is number 0, and the index value of the newly allocated physical section 511 is recorded in the virtual disk physical section occupation table 5125, and the size of the newly created disk is filled in the command value, that is, the maximum effective addressing space of the disk (in this example, 2GB, as shown in Figure 3), and the capacity of the virtual disk can exceed the actual allocated capacity, as long as the expansion of the actual physical section 511 is completed before use That's it. Next, the management and control section processor 42 updates the relative position of the first physical section index table 5122 to be occupied, that is, updated to 1. Furthermore, if it is an instruction to create a new differential disk, assuming that the newly created virtual disk 1 is the differential disk of virtual disk 0, then it is necessary to add the association record between the new disk and the virtual disk 0 specified by the parameter in the differential disk relationship table 5124 (such as As shown in FIG. 3 ), the capacity value of the created difference disk is equal to its associated virtual disk, and the difference disk relationship table 5124 will be written by the management and control section processor 42 and the disk access and scheduler 43 after being updated. The process of the management and control section 512 is the same as the above-mentioned initialization of the storage medium 5 and writing into the management and control section 512 , so it will not be repeated hereafter. If the virtual disk driver 44 receives an instruction to delete a virtual disk, the number of the target disk to be deleted must be specified as a parameter in the instruction, first release the occupied physical section 511 or physical section 521, and update the relevant first physical section The index table 5122 or the second physical section index table 5123 is in an unconfigured state, and then, only need to find and delete the record in the virtual disk physical section occupation table 5125, and the virtual disk can be eliminated; if the deleted object is a difference disk, the record of the difference disk needs to be deleted from the difference disk relationship table 5124; if a virtual disk with a difference disk has been created, all the difference disks associated with it also need to be deleted together. Also, for the command to mount a virtual disk, the virtual disk driver 44 only needs to check whether the target virtual disk has already existed in the virtual disk physical section occupation table 5125 through the control section processor 42, and check whether there is a correlation in the difference disk relationship table 5124. Connected differential disks, and then load the physical sections 511 and 521 occupied by them into the system. If the commands received by the virtual disk drive 44 are not of the above types, for example, they may be status inquiry commands of the storage medium 5, these commands will be consistent with the traditional standard component operation flow, so they will not be 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 deduced from the above content, and are not emphasized in the present invention .
请参阅图1至图3与图6所示,当虚拟磁盘被用户端电脑1挂载后,接着即可服务虚拟磁盘的存取指令。此工作流程由管控区段处理器42、磁盘存取及排程器43、磁盘区段分配及回收器45、虚拟磁盘储存区段表暂存器46及虚拟磁盘写入保护转址器47完成。当虚拟磁盘驱动器44收到虚拟磁盘取存数据的指令后,转交由虚拟磁盘写入保护转址器47处理(如图5所示),虚拟磁盘写入保护转址器47可由虚拟磁盘储存区段表暂存器46(较快速)或磁盘区段分配及回收器45(较慢速,因为需要由储存媒体5上的管控区512段读出)得知虚拟磁盘实体区段占用表5125,取得所有该虚拟磁盘可以存取的储存媒体5的实体区段511、521,接着会先做合法性的检查,任何对于该虚拟磁盘的存取指令不应超出这些范围,否则该指令不应被执行,当虚拟磁盘将于某一未配置的实体储存空间的合法虚拟位置(未超出虚拟磁盘的容量范围)上写入新的数据时,会先向磁盘区段分配及回收器45请求配置新的实体区段511、521,并更新管控区段512内的数据,使得原存取的指令仍满足保护条件而正常执行。上述动作已可以计算出该虚拟磁盘存放于储存媒体5的实体位址,的后由虚拟磁盘存取器48依虚拟磁盘格式进行真正的数据存取于储存媒体5上;此虚拟磁盘格式与传统作法一致,故不表现于流程图中。再者,存取指令受目标磁盘是否为差异磁盘而有不同的处理方式,当某一虚拟磁盘被建立一差异磁盘后,该虚拟磁盘呈现只读状态,受到避免写入数据的保护,写入的数据会被转存至其差异磁盘;然而读出数据则有会有两种可能性:若为读出曾写入于差异磁盘的数据,则会由差异磁盘读出;若为读出不曾写入于差异磁盘的数据,则会由虚拟磁盘直接读出。Please refer to FIG. 1 to FIG. 3 and FIG. 6 , when the virtual disk is mounted by the client computer 1 , then the access command of the virtual disk can be served. This workflow is completed by the management and control section processor 42, disk access and scheduler 43, disk section allocation and reclaimer 45, virtual disk storage section table temporary register 46 and virtual disk write protection indexer 47 . After the virtual disk driver 44 receives the instruction of virtual disk access data, it is transferred to the virtual disk write protection indexer 47 for processing (as shown in Figure 5), and the virtual disk write protection indexer 47 can be used by the virtual disk storage area Segment table temporary register 46 (faster) or disk segment allocation and reclaimer 45 (slower, because it needs to be read by the management and control area 512 segment on the storage medium 5) knows the virtual disk entity segment occupancy table 5125, Get all the physical sections 511, 521 of the storage medium 5 that the virtual disk can access, and then do a legality check first, any access command for the virtual disk should not exceed these ranges, otherwise the command should not be Execution, when the virtual disk is about to write new data on a legal virtual location (not exceeding the capacity range of the virtual disk) of a certain unconfigured physical storage space, it will first request to the disk segment allocation and collector 45 to configure the new data The physical sections 511, 521 of the system, and update the data in the control section 512, so that the originally accessed instructions still meet the protection conditions and are executed normally. The above-mentioned actions can calculate the physical address of the virtual disk stored in the storage medium 5, and then carry out real data access on the storage medium 5 by the virtual disk accessor 48 according to the virtual disk format; this virtual disk format is different from the traditional one. The practice is the same, so it is not shown in the flow chart. Furthermore, access commands are handled differently depending on whether the target disk is a differential disk. When a virtual disk is created as a differential disk, the virtual disk is in a read-only state and is protected from writing data. The data will be dumped to the difference disk; however, there are two possibilities for reading the data: if it is to read the data that has been written on the difference disk, it will be read from the difference disk; if it is to read the data that has not been Data written to the differencing disk will be read directly from the virtual disk.
最后,虚拟磁盘数据快取及缓冲器49在虚拟磁盘的存取运作原理与传统快取方法雷同的部份不加以详述,而虚拟磁盘数据快取及缓冲器49其运作特点在于对读取的指令而言,会优先快取曾被建立差异磁盘的虚拟磁盘数据;对写入指令而言,会优先快取写入差异磁盘的数据,若快取空间不足,由读取指令取得的数据优先于刚被写入的数据。Finally, the virtual disk data cache and buffer 49 will not be described in detail in the part where the virtual disk access operation principle is the same as the traditional cache method, and the virtual disk data cache and buffer 49 are characterized by their operation For the command, the virtual disk data that has been created as a different disk will be cached first; for the write command, the data written to the different disk will be cached first. If the cache space is insufficient, the data obtained by the read command will be cached first. Takes precedence over data that has just been written.
综上所述,本发明的高效能虚拟磁盘管理系统能在无需作业系统的档案系统的支援下,在多个区块层级的储存媒体5上实现动态空间配置的效用,用以存放并管理多个虚拟磁盘。且因本发明能避免运行作业系统及其档案系统的计算效能损失,减少一层昂贵的档案系统位址转换的计算消耗,因此具备高速的存取效能。因此,利用本发明的技术,可提升传统储存媒体5技术的储存空间利用率,且不因此造成大幅的存取效能损失。To sum up, the high-performance virtual disk management system of the present invention can realize the effect of dynamic space allocation on multiple block-level storage media 5 without the support of the file system of the operating system to store and manage multiple virtual disk. And because the present invention can avoid the calculation performance loss of running the operating system and its file system, and reduce the calculation consumption of an expensive file system address conversion, it has high-speed access performance. Therefore, using the technology of the present invention, the utilization rate of the storage space of the traditional storage medium 5 technology can be improved without causing a large loss of access performance.
以上说明对本发明而言只是说明性的,而非限制性的,本领域普通技术人员理解,在不脱离以下所附权利要求所限定的精神和范围的情况下,可做出许多修改,变化,或等效,但都将落入本发明的保护范围内。The above description is only illustrative, rather than restrictive, to the present invention. Those of ordinary skill in the art understand that many modifications and changes can be made without departing from the spirit and scope defined by the following appended claims. Or equivalent, but all will fall within the protection scope of the present invention.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110165547.3A CN102841758B (en) | 2011-06-20 | 2011-06-20 | High-performance virtual disk management system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110165547.3A CN102841758B (en) | 2011-06-20 | 2011-06-20 | High-performance virtual disk management system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102841758A CN102841758A (en) | 2012-12-26 |
CN102841758B true CN102841758B (en) | 2015-09-30 |
Family
ID=47369173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110165547.3A Expired - Fee Related CN102841758B (en) | 2011-06-20 | 2011-06-20 | High-performance virtual disk management system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102841758B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293519B (en) * | 2016-07-29 | 2019-05-10 | 浪潮(北京)电子信息产业有限公司 | A method of disk storage management |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008886A (en) * | 2006-01-26 | 2007-08-01 | 普安科技股份有限公司 | Storage virtualization computer system and management data snapshot image method in the storage system |
CN100403277C (en) * | 2002-08-09 | 2008-07-16 | 网络装置公司 | Storage virtualization by layering virtual disk objects on the file system |
CN101788890A (en) * | 2009-01-23 | 2010-07-28 | 普安科技股份有限公司 | Method for generating a virtual volume and data access method under a storage system architecture |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6779094B2 (en) * | 2000-06-19 | 2004-08-17 | Storage Technology Corporation | Apparatus and method for instant copy of data by writing new data to an additional physical storage area |
-
2011
- 2011-06-20 CN CN201110165547.3A patent/CN102841758B/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100403277C (en) * | 2002-08-09 | 2008-07-16 | 网络装置公司 | Storage virtualization by layering virtual disk objects on the file system |
CN101008886A (en) * | 2006-01-26 | 2007-08-01 | 普安科技股份有限公司 | Storage virtualization computer system and management data snapshot image method in the storage system |
CN101788890A (en) * | 2009-01-23 | 2010-07-28 | 普安科技股份有限公司 | Method for generating a virtual volume and data access method under a storage system architecture |
Also Published As
Publication number | Publication date |
---|---|
CN102841758A (en) | 2012-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10891055B2 (en) | Methods, systems and devices relating to data storage interfaces for managing data address spaces in data storage devices | |
US12169453B2 (en) | Namespace change propagation in non-volatile memory devices | |
US10776278B2 (en) | Storage control apparatus and computer-readable storage medium storing storage control program | |
JP5944587B2 (en) | Computer system and control method | |
US9792073B2 (en) | Method of LUN management in a solid state disk array | |
US9075528B2 (en) | High-efficiency virtual disk management system | |
JP5530863B2 (en) | I/O conversion method and apparatus for storage system - Patents.com | |
US7584229B2 (en) | Method and system for priority-based allocation in a storage pool | |
CN114860163A (en) | A storage system, memory management method and management node | |
JP5816303B2 (en) | Storage system including flash memory and storage control method | |
JP2017091548A (en) | Distributed storage system, distributed storage method, and distributed facility | |
WO2015162758A1 (en) | Storage system | |
US10037161B2 (en) | Tiered storage system, storage controller, and method for deduplication and storage tiering | |
US10503424B2 (en) | Storage system | |
TWI531963B (en) | Data storage systems and their specific instruction enforcement methods | |
US8694563B1 (en) | Space recovery for thin-provisioned storage volumes | |
US8954658B1 (en) | Method of LUN management in a solid state disk array | |
KR20230012440A (en) | Systems and methods for load balancing in a heterogeneous memory system | |
US20110231611A1 (en) | Storage apparatus and cache control method | |
JP6867578B2 (en) | Storage controller, storage system, storage control method and storage control program | |
CN115794676A (en) | Storage System | |
CN115904255B (en) | Data request method, device, equipment and storage medium | |
US10089125B2 (en) | Virtual machines accessing file data, object data, and block data | |
CN102841758B (en) | High-performance virtual disk management system | |
TWI446194B (en) | High-performance virtual disk management system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150930 Termination date: 20170620 |
|
CF01 | Termination of patent right due to non-payment of annual fee |