OFFLOADING STORAGE OPERATIONS TO STORAGE HARDWARE
First Claim
1. In a computer system including a host computer connected to a storage system having storage devices that are represented as logical storage units, a method of carrying out storage operations on at least one file segment that is stored in at least two non-adjacent locations in one or more logical storage units, said method comprising:
- issuing a single instruction from the host computer to the storage system; and
carrying out the single instruction on said at least one file segment at the storage system until completion of the single instruction and independently of the host computer.
2 Assignments
0 Petitions
Accused Products
Abstract
In a computer system with a disk array that has physical storage devices arranged as logical storage units and is capable of carrying out hardware storage operations on a per logical storage unit basis, the hardware storage operations can be carried out on a per-file basis using various primitives. These primitives include instructions for zeroing file blocks, cloning file blocks, and deleting file blocks, and these instructions operate on one or more files defined in a blocklist, that identifies the locations in the logical storage units to which the files map.
-
Citations
23 Claims
-
1. In a computer system including a host computer connected to a storage system having storage devices that are represented as logical storage units, a method of carrying out storage operations on at least one file segment that is stored in at least two non-adjacent locations in one or more logical storage units, said method comprising:
-
issuing a single instruction from the host computer to the storage system; and carrying out the single instruction on said at least one file segment at the storage system until completion of the single instruction and independently of the host computer. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer system comprising:
-
a host computer; and a storage system, connected to the host computer, having storage devices that are presented to the host computer as one or more logical storage units, wherein a data stream from the host computer to the includes an instruction to carry out a storage operation on at least one file segment of the host computer that is stored in one or more logical storage units and the instruction identifies at least two non-adjacent locations in the logical storage units where said at least one file is stored. - View Dependent Claims (7, 8, 9, 10)
-
- 11. A computer readable storage medium having stored therein an instruction to be executed in a storage processor of a storage system that has storage devices that are represented as logical storage units, said instruction comprising an instruction ID and first and second parameters used in executing the instruction, wherein the first and second parameters address non-adjacent storage locations in one or more logical storage units.
-
14. A storage system for virtual machines having files managed through a virtual machine file system, comprising:
-
a plurality of storage devices in which the files of the virtual machines are stored; at least one storage processor programmed to;
(i) manage the storage devices as one or more logical storage units, each of which is identified by a logical unit number (LUN) and has addressable blocks;
(ii) receive an instruction from the virtual machine file system; and
(iii) to carry out the instruction,wherein the instruction contains multiple input parameters and identifies an operation to be carried out on the input parameters, and each input parameter addresses a contiguous region of blocks in a logical storage unit. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A computer system having a file system for virtual machines and connected to a storage system having storage devices that are represented as one or more logical storage units, the computer system comprising:
-
an interface through which storage instructions and storage data are transmitted to the storage system; and a processor programmed to issue an instruction to the storage system, wherein the instruction contains multiple input parameters and identifies an operation to be carried out on the input parameters, and each input parameter addresses a contiguous region of blocks in a logical storage unit. - View Dependent Claims (21, 22, 23)
-
Specification