System for determining mapping of logical objects in a...

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000, C711S162000

Reexamination Certificate

active

06542909

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to data storage systems. More particularly, the present invention is directed to a method and apparatus for manipulating logical objects in a data storage system.
DESCRIPTION OF THE RELATED ART
Computer systems typically include one or more storage devices.
FIG. 1
is a block diagram of such a typical computer system
100
. The system
100
includes a host computer
110
, having a processor
120
and a memory
130
, and a storage system
140
. The storage system
140
can be of any of a number of types (e.g., a tape storage device, a floppy diskette storage device, a disk storage device, etc.), or can include a combination of different types of storage devices.
Application programs executing on the processor
120
typically operate on data that is stored in the storage system
140
. The data from the storage system
140
may be copied to the memory
130
for more efficient access by the host computer
110
. When data in memory
130
is no longer needed by an application program, the processor
120
typically reads the data from memory
130
and writes the data to the storage system
140
. Thus, application programs executing on the host computer
110
typically perform numerous reads from and writes to the storage system
140
.
As discussed below, data stored in the storage device
140
is typically organized in units termed “blocks”, where each block includes a number of bytes of data (e.g., 512 bytes). Application programs executing on the host computer
110
typically operate on logical objects (e.g., files) that include a collection of one or more blocks of data that are logically related. The computer system
100
typically includes one or more mapping layers that map from the logical objects operated upon by the application programs to the particular physical locations in the storage system where the blocks that make up the logical object are stored. Often, the blocks of data that make up a particular logical object are mapped to non-contiguous physical locations in the storage system
140
. In a typical computer system
100
, the storage system has no understanding that a number of non-contiguous physical blocks are logically related. Thus, when the host computer
110
executes an operation on a logical object having a plurality of blocks of data stored in non-contiguous physical locations in the storage device
140
, the non-contiguous blocks must be accessed in separate operations from the storage system
140
, which can impact the performance of the computer system
100
.
FIG. 2
schematically represents a number of mapping layers on the computer system
100
of FIG.
1
. Computer system
100
can be viewed as having a number of hierarchical spaces or layers including an application space
210
and a physical space
230
. Between the application space
210
and the physical space
230
is a mapping layer
220
. As mentioned above, application programs (e.g., word processing applications, desktop publishing applications, etc.) executing on the host computer
110
of the computer system
100
operate on logical objects (e.g., files) in application space
210
. The data forming those logical objects is stored on one or more storage devices
241
-
243
that are included in the storage system
140
and define a physical space
230
.
In the illustrative example shown in
FIG. 2
, storage system
140
is a disk storage system that includes disk drives
241
-
243
. Each disk drive can include one or more disks of a recording medium (e.g., a magnetic or optical recording medium), on which data can be stored, and from which stored data can be read. As discussed above, data stored on each of the disk drives
241
-
243
is typically organized in units termed “blocks”, where each block includes a number of bytes of data (e.g., 512 bytes).
In the illustrative system shown in
FIG. 2
, the mapping layer
220
is implemented entirely on the host computer
110
of the computer system
100
. The mapping layer maps each logical object specified in application space
210
to one or more unique locations (e.g., blocks) in physical space
230
where the data forming the logical object is stored. The mapping layer
220
can include a single layer of mapping, such as a file system
222
or a Logical Volume Manager (LVM)
224
, or as shown in
FIG. 2
, can include multiple mapping layers
222
and
224
. When an application program accesses a logical object, such as a file, it identifies the object using a logical object identifier, such as its file name. The mapping layer
220
is typically organized as a data structure that assigns unique locations in physical space
230
to the blocks of data that form each of the logical objects identified in the application space. Thus, when a logical object is written to the storage device
140
by an application program operating in application space
210
, the mapping layer defines the physical locations in the storage devices
241
-
243
that are written by the host computer
110
with the blocks of data that make up the object. Similarly, when a logical object is read by an application program operating in application space
210
, the mapping layer
220
uses the logical object identifier to identify the physical locations in the storage devices
241
-
243
that are read by the host computer
110
to retrieve the blocks of data that make up the object.
For example, a word processing document file
1
to be accessed by a word processing application may be stored on disk
242
at blocks
0
-
3
. The word processing application requests a read of the data forming file
1
by issuing a read command and specifying the logical object identifier of file
1
(e.g., read file
1
). Where the computer system
100
includes only a single layer of mapping (e.g., file system
222
), the file system
222
maps the logical object identifier file
1
to the physical location where the data is stored (i.e., disk
242
, blocks
0
-
3
). The location of the data for the logical object (file
1
) that is identified by the file system
222
is used by the host computer to issue the read to the storage system
140
. In this manner, the data can be read by the host computer
110
and written into memory
130
, where it can be operated upon by the application program. Alternatively, where the word processing application requests a write of the data forming file
1
, the word processing application issues a write command specifying the logical object identifier file
1
(e.g., write file
1
). The file system
222
maps the logical object identifier file
1
to disk
242
, blocks
0
-
3
, whereupon the data in memory
130
corresponding to the identified logical object is written to the appropriate location (i.e.,disk
242
, blocks
0
-
3
) by the host computer. The application program has no knowledge about the actual physical location wherein the data forming file
1
is actually located, as the mapping layer
220
handles this mapping task in a manner that is transparent to the application program.
As stated above, the mapping layer
220
may include a number of mapping layers such as file system
222
and LVM
224
. The LVM represents an additional layer of mapping that is used in ultimately converting a logical object identifier into the physical blocks that store the data corresponding to the logical object. LVMs are typically used in larger computer systems having a number of storage devices, and enable volumes of storage data to be managed at a logical (rather than physical) level. The presence or absence of the LVM
224
is transparent to the application space. Similarly, the presence or absence of the LVM
224
is also transparent to the file system
222
. In this respect, the file system simply maps from the application space to what the file system perceives to be the physical space
230
. If another layer of mapping, such as an LVM, is included in the mapping layer
220
, it simply means that the result of the mapping done in the file system does not indicate the final mapping to the physical layer.
As in

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System for determining mapping of logical objects in a... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System for determining mapping of logical objects in a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System for determining mapping of logical objects in a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3046167

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.