Systems and methods for handling storage access requests
First Claim
Patent Images
1. A method of responding to storage access requests, the method comprising:
- defining at least one write area and at least one read-only area;
receiving a write request, the request specifying a first address that resides within the at least one read-only area;
determining a second address in the write address area;
storing data associating the first address with the second address; and
redefining the at least one write area and the at least one read-only area to form at least one new write area and at least one new read-only area, at least a portion of the new, read-only area occupying an area previously occupied by the at least one write area.
9 Assignments
0 Petitions
Accused Products
Abstract
In general, in one aspect, the description includes a method of responding to storage access requests. The method includes defining at least one write area and at least one read-only area, receiving a write request specifying a first address that resides within the at least one read-only area, determining a second address in the write address area, and storing data associating the first address with the second address.
-
Citations
20 Claims
-
1. A method of responding to storage access requests, the method comprising:
-
defining at least one write area and at least one read-only area;
receiving a write request, the request specifying a first address that resides within the at least one read-only area;
determining a second address in the write address area;
storing data associating the first address with the second address; and
redefining the at least one write area and the at least one read-only area to form at least one new write area and at least one new read-only area, at least a portion of the new, read-only area occupying an area previously occupied by the at least one write area. - View Dependent Claims (2, 3, 4, 5, 6)
receiving a read request specifying the first address;
accessing the data associating the first address and the second address; and
requesting information stored at the second address.
-
-
5. The method of claim 1, further comprising
defining at third area for storing a copy of at least one of the read-only areas; -
copying data stored in at least one of the read-only areas into the third area; and
collecting free blocks of the third area.
-
-
6. The method of claim 5, further comprising redefining the at least one read-only area, the at least one write area, and the third area such that at least a portion of the write area and at least a portion of the third area form a new read-only area.
-
7. A computer program product, disposed on a computer readable medium, for responding to storage access requests, the computer program including instructions for causing a processor to:
-
define at least one write area and at least one read-only area;
receive a write request, the request specifying a first address that resides within the at least one read-only area;
determine a second address in the address area;
store data associating the first address with the second address; and
redefine the at least one write area and the at least one read-only area to form at least one new write area and at least one new read-only area, at least a portion of the new read-only area occupying an area previously occupied by the at least one write area. - View Dependent Claims (8, 9, 10, 11, 12)
receive a read request specifying the first address;
access the data associating the first address and the second address; and
request information stored at the second address.
-
-
11. The computer program of claim 7, further comprising instructions for causing the processor to:
-
define a third area for storing a copy of at least one of the read-only areas;
copy data stored in at least one of the read-only areas into the third area; and
collect free blocks of the third area.
-
-
12. The computer program of claim 11, further comprising instructions for causing the processor to redefine the at least one read-only area, the at least one write area, and the third area such that at least a portion of the write area and at least a portion of the third area form a new read-only area.
-
13. A system for handling I/O (Input/Output) requests, the system comprising:
-
(1) a collection of storage disks;
(2) a block table associating addresses specified by the I/O requests write addresses of the storage disks, the block table also defining at least one read-only area of the storage disks, at least one write area of the storage disks, and at least one third area of the storage disks; and
(3) instructions for causing a processor to;
(a) process a read request by accessing the block table to determine the storage disk address associated with the address specified by the request;
(b) process a write request that specifies a storage disk address corresponding to the at least one read-only area of the storage disks by determining a next location in the at least one write area and storing information in the block table that associates the location in the at least one write area with the storage disk address specified by the write request; and
(c) redefine the at least one read-only area, the at least one write area, and the at least one third area such that the redefined read-only area comprises a combination of the previously defined third area and the previously defined write area, and such that the redefined write area comprises free blocks collected in the previously defined third area. - View Dependent Claims (14, 15)
(d) copy information stored in the at least one read-only area to the third area, and (e) collect free blocks in the third area.
-
-
15. The system of claim 13,
further comprising at least one cache; - and
wherein the read request comprises a request for uncached information.
- and
-
16. A method of managing storage, the method comprising:
-
(1) defining a read-only storage area, a write storage area, and a first garbage storage area; and
(2) repeatedly;
(a) redirecting write requests for an address within the read-only storage area to the write area;
(b) collecting free space in the garbage storage area; and
(c) defining a new read-only storage area, a new write storage area, and a new garbage storage area such that the new read-only area includes the previously defined write area and the new write area includes collected free space in the new garbage storage area. - View Dependent Claims (17, 18, 19)
(d) copying data stored in the new read-only storage area to the new garbage storage area. -
18. The method of claim 16, wherein the storage areas comprise physical storage areas.
-
19. The method of claim 18, wherein the write requests specify a physical address.
-
-
20. A method of responding to storage access requests, the method comprising:
-
defining at least one write area and at least one read-only area;
receiving a write request, the request specifying a first address that resides within the at least one read-only area;
determining a second address in the write address area by determining the next sequential address of a write area;
storing data associating the first address with the second address;
storing information included in the write request at the second address;
receiving a read request specifying the first address;
accessing the data associating the first address and the second address;
requesting information stored at the second address;
defining at garbage area for storing a copy of at least one of the read-only areas;
copying data stored in at least one of the read-only areas into the garbage area;
collecting free blocks of the garbage area; and
redefining the at least one read-only area, the at least one write area, and the third area such that at least a portion of the write area and at least a portion of the third area form a new read-only area.
-
Specification