IP Library Granted Patent US 7,680,864
Granted Patent B2
US 7,680,864 · App. 10/792,417 · Granted Mar 16, 2010

Method and apparatus for managing access to stored objects based on retention policy

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,680,864
App. No.
10/792,417
Granted
Mar 16, 2010
Kind
B2
Abstract

In one embodiment, a method is provided that may include determining, at least in part, by a device comprised, at least in part, in storage, whether to request that the storage perform, at least in part, at least one operation. The at least one operation may involve, at least in part, at least one object stored in the storage. The determining may be based, at least in part, upon metadata associated with the at least one object. The metadata may be stored in the storage, and may indicate an earliest permitted deletion time for the at least one object and/or a latest permitted access time for the at least one object. Of course, many modifications, variations, and alternatives are possible without departing from this embodiment.

Claims (49)

1. A method comprising:

determining, by a storage controller in a storage device in response to a request received from a host whether to request that the storage device perform at least one operation, the at least one operation involving, at least one object stored in the storage device, the object including data and metadata, the metadata including one or more values that indicate an earliest permitted deletion time for the at least one object, the metadata also including one or more other values that indicate a latest permitted access time for the at least one object, the storage controller including a processor and memory, the data including user and application data that includes one or more files, the one or more files including one more or more blocks stored in the storage device, the metadata including one or more pointers that point to the one or more blocks, the metadata also including one or more other pointers that point to one or more other blocks stored in the storage device, the one or more other blocks including one or more additional pointers that point to one or more additional blocks of the one or more files;

determining if the at least one operation involves reading at least in part the at least one object, and if the at least one operation involves reading then the storage controller is to examine the one or more other values to make a determination of the latest permitted access time for the at least one object based at least in part upon the one or more other values; and

determining if a time at which the storage controller makes the determination of the latest permitted access time for the at least one object is prior to the latest permitted access time, and if the time at which the storage controller makes the determination of the latest permitted access time for the at least one object is prior to the latest permitted access time then the storage controller is to determine to permit and to request the reading of the at least one object.

2. The method of claim 1 , wherein:

the at least one operation comprises at least one of the following subparagraphs (a), (b), and/or (c):

(a) deleting, from the storage device the at least one object;

(b) reading, the at least one object;

(c) overwriting, the at least one object.

3. The method of claim 1 , further comprising:

performing, by the storage controller, based upon the metadata, deletion of the at least one object.

4. The method of claim 1 , wherein: the storage device comprises mass storage.

5. An apparatus comprising:

a processor and memory;

a storage controller in a storage device configured to determine, in response to a request received from a host whether to perform, at least one operation, the at least one operation involving, at least one object stored in the storage device, the object including data and metadata, the metadata including one or more values that indicate an earliest permitted deletion time for the at least one object, the metadata also including one or more other values that indicate a latest permitted access time for the at least one object, the storage controller including a processor and memory, the data including user and application data that includes one or more files, the one or more files including one or more blocks stored in the storage device, the metadata including one or more pointers that point to the one or more blocks, the metadata also including one or more other pointers that point to one or more other blocks stored in the storage device, the one or more other blocks including one or more additional pointers that point to one or more additional blocks of the one or more files;

determining if the at least one operation involves reading at least in part the at least one object, and if the at least one operation involves reading then the storage controller is to examine the one or more other values to make a determination of the latest permitted access time for the at least one object based at least in part upon the one or more other values; and

determining if a time at which the storage controller makes the determination of the latest permitted access time for the at least one object is prior to the latest permitted access time, and if the time at which the storage controller makes the determination of the latest permitted access time for the at least one object is prior to the latest permitted access time then the storage controller is to determine to permit and to request the reading of the at least one object.

6. The apparatus of claim 5 , wherein:

the at least one operation comprises at least one of the following subparagraphs (a), (b), and/or (c):

(a) deleting, the at least one object;

(b) reading, the at least one object;

(c) overwriting, the at least one object.

7. The apparatus of claim 5 , wherein:

the storage controller is also configured to request deletion of the at least one object.

8. The apparatus of claim 5 , wherein: the storage device comprises mass storage.

9. An article comprising:

memory storing instructions that when executed by a machine result in the following:

determining, by a storage controller in a storage device, in response to a request received from a host whether to perform, at least one operation, the at least one operation involving, at least one object stored in the storage device, the object including data and metadata, the metadata including one or more values that indicate an earliest permitted deletion time for the at least one object, the metadata also including one or more other values that indicate a latest permitted access time for the at least one object, the storage controller including a processor and the memory, the data including user and application data that includes one or more files, the one or more files including one or more blocks stored in the storage device, the metadata including one or more pointers that point to the one or more blocks, the metadata also including one or more other pointers that point to one or more other blocks stored in the storage device, the one or more other blocks including one or more additional pointers that point to one or more additional blocks of the one or more files;

determining if the at least one operation involves reading at least in part the at least one object, and if the at least one operation involves reading then the storage controller is to examine the one or more other values to make a determination of the latest permitted access time for the at least one object based at least in part upon the one or more other values; and

determining if a time at which the storage controller makes the determination of the latest permitted access time for the at least one object is prior to the latest permitted access time, and if the time at which the storage controller makes the determination of the latest permitted access time for the at least one object is prior to the latest permitted access time then the storage controller is to determine to permit and to request the reading of the at least one object.

10. The article of claim 9 , wherein:

the at least one operation comprises at least one of the following subparagraphs (a), (b), and/or (c):

(a) deleting, from the storage device the at least one object;

(b) reading, the at least one object;

(c) overwriting, the at least one object.

11. The article of claim 9 , wherein the instructions when executed also result in:

requesting, by the storage controller based upon the metadata, deletion of the at least one object.

12. The article of claim 9 , wherein: the storage comprises mass storage.

13. A system comprising:

a processor and memory;

a storage controller in a storage device configured to determine, in response to a request received from a host, whether to perform, at least one operation, the at least one operation involving, at least one object stored in the storage device, the object including data and metadata, the metadata including one or more values that indicate an earliest permitted deletion time for the at least one object, the metadata also including one or more other values that indicate a latest permitted access time for the at least one object, the storage controller including a processor and memory, the data including user and application data that includes one or more files, the one or more files including one or more blocks stored in the storage device, the metadata including one or more pointers that point to the one or more blocks, the metadata also including one or more other pointers that point to one or more other blocks stored in the storage device, the one or more other blocks including one or more additional pointers that point to one or more additional blocks of the one or more files; and

a redundant array of independent disks (RAID) including the storage device;

determining if the at least one operation involves reading at least in part the at least one object, and if the at least one operation involves reading then the storage controller is to examine the one or more other values to make a determination of the latest permitted access time for the at least one object based at least in part upon the one or more other values; and

determining if a time at which the storage controller makes the determination of the latest permitted access time for the at least one object is prior to the latest permitted access time, and if the time at which the storage controller makes the determination of the latest permitted access time for the at least one object is prior to the latest permitted access time then the storage controller is to determine to permit and to request the reading of the at least one object.

14. The system of claim 13 , wherein:

the host comprises a host bus adapter (HBA) coupled to the storage controller.

15. The system of claim 13 , wherein: the metadata also indicates one or more attributes of the file, the one or more attributes comprising at least one of the following subparagraphs: a name of the file; a possessor of right to access the file; a size of the file; a creation time of the file; and a most recent access time of the file.

16. The system of claim 13 , wherein:

the storage controller is also configured to store a data structure comprising a pointer that points to the at least one object.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061175/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2004
From: CAMERON, DONALD F.; STRICKLAND, DANCIL C.
To: INTEL CORPORATION
Reel/Frame 015638/0150 →