Method and apparatus for moving data between storage levels of a hierarchically arranged data storage system
AssigneeEMC Corporation
InventorYoav Raz
Life of this patent
Estimating the term…
Abstract
A method of moving data between first, second, and third storage levels of a hierarchically arranged data storage system is described. The method includes the steps of dividing address space into a plurality of contiguous segments, each of which is further divided into a plurality of contiguous groups. Each of the groups may store a sequence of records, each of which is represented by a sequence of bytes. When it is necessary to move a designated record between the second and third levels of the data storage system, the segment in which that designated record is stored is moved; and when it is necessary to move the designated record between the first and second levels, the group in which that designated record is stored is moved.
Claims30
A method of moving data between first, second, and third storage levels of a hierarchically arranged data storage system, said method comprising:
- dividing address space of said storage system into a plurality of predefined contiguous segments, each of said segments having in said address space a corresponding fixed start address and a corresponding fixed end address, each of said segments being further divided into a plurality of predefined contiguous groups, each of said groups having in said address space a corresponding fixed start address and a corresponding fixed end address in that region of address space defining the segment of which that group is a part and each of said groups for storing a sequence of records, each of which is represented by a sequence of bytes;
- whenever it is necessary to move any designated record between the second and third levels of data storage, accomplishing that by moving that particular segment among said plurality of segments in which that designated record is stored;
- and
- whenever it is necessary to move the designated record between the first and second levels of data storage, accomplishing that by moving that particular group in which that designated record is stored, that particular group being among said plurality of groups within that particular segment in which said particular record is stored.
A method of moving data between hierarchically arranged levels of data storage in a data storage system, wherein the hierarchically arranged levels include first, second, and third levels, said method comprising:
- dividing address space of said storage system into a plurality of predefined contiguous segments, each of said segments having in said address space a corresponding fixed start address and a corresponding fixed end address, each of said segments being further divided into a plurality of predefined contiguous groups, each of said groups having in said address space a corresponding fixed start address and a corresponding fixed end address in that region of address space defining the segment of which that group is a part and each of said groups for storing a contiguous sequence of records;
- moving data between the second and third levels only in blocks that are made up of one or more segments selected from among said plurality of contiguous segments;
- and
- moving data between the first and second levels only in blocks that are made up of one or more groups selected from among the plurality of contiguous groups that make up a corresponding segment of said plurality of continuous segments.
A hierarchical data storage system for use by one or more host processors to store data, said system adapted for use with a tertiary storage device and comprising:
- a controller including one or more interfaces through which the one or more host processors are connected to the data storage system;
- an internal bus to which the controller is connected;
- a cache memory connected to said bus;
- an array of disks connected to said bus;
- and
- an interface connected to said bus and for connecting said tertiary storage device to the storage system;
- wherein address space of said data storage system is divided into a plurality of predefined contiguous segments, each of said segments having in said address space a corresponding fixed start address and a corresponding fixed end address, each of said segments being further divided into a plurality of predefined contiguous groups, each of said groups having in said address space a corresponding fixed start address and a corresponding fixed end address in that region of address space defining the segment of which that group is a part and each of said groups for storing a sequence of records, and wherein the controller is programmed to perform the following functions:
- whenever it is necessary to move a designated record between the tertiary storage device and the array of disks, the controller moves that particular segment among said plurality of segments in which that designated record is stored;
- and
- whenever it is necessary to move the designated record between the cache memory and the array of disks, the controller moves that particular group in which that designated record is stored, that particular group being among said plurality of groups within that particular segment in which said particular record is stored.
Dependencies are inferred from the claim text.