Associating an identifier with a content unit
AssigneeEMC Corporation
InventorsMark O'Connell, Michael Kilian
Life of this patent
Estimating the term…
Loading patent…
AssigneeEMC Corporation
InventorsMark O'Connell, Michael Kilian
Estimating the term…
Embodiments of the invention relate to associating a source string with a target content unit stored on a content addressable storage (CAS) system. This may be accomplished, in some embodiments, by storing on the CAS system an associative content unit that includes the source string in its binding part and includes the target content unit in its non-binding part.
A method of retrieving a target content unit stored on a content addressable storage (CAS) system based upon a source identifier associated with the target content unit, wherein the target content unit is identified on the CAS system via a target content address generated based, at least in part, on the content of the target content unit, the method comprising acts of:
A method of retrieving a target content unit stored on a content addressable storage (CAS) system based upon a source identifier associated with the target content unit, wherein the target content unit is identified on the CAS system via a target content address generated based, at least in part, on the content of the target content unit, the method comprising acts of:
At least one computer readable medium encoded with instructions that, when executed, perform a method of retrieving a target content unit stored on a content addressable storage (CAS) system based upon a source identifier associated with the target content unit, wherein the target content unit is identified on the CAS system via a target content address generated based, at least in part, on the content of the target content unit, the method comprising acts of:
At least one computer readable medium encoded with instructions that, when executed, perform a method of retrieving a target content unit stored on a content addressable storage (CAS) system based upon a source identifier associated with the target content unit, wherein the target content unit is identified on the CAS system via a target content address generated based, at least in part, on the content of the target content unit, the method comprising acts of:
At least one content addressable storage system that stores a target content unit that is associated with a source identifier, wherein the target content unit is identified on the at least one CAS system via a target content address generated based, at least in part, on the content of the target content unit, the at least one CAS system comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
Using page tables, e.g. page table structures: involving hashing techniques, e.g. inverted page tables
Computing and data processing
About 3 years 6 months of term left · ends 22 Apr 2030 (estimated)
The present application relates to associating an identifier with a content unit stored on a content addressable storage system.
Virtually all computer application programs rely on storage that may be used to store computer code and data manipulated by the computer code. A typical computer system includes one or more host computers that execute such application programs and one or more storage systems that provide storage.
The host computers may access data by sending access requests to the one or more storage systems. Some storage systems require that the access requests identify units of data to be accessed using logical volume and block addresses that define where the units of data are stored on the storage system. Such storage systems are known as “block I/O” storage systems. In some block I/O storage systems, the logical volumes presented by the storage system to the host correspond directly to physical storage devices (e.g., disk drives) on the storage system, so that the specification of a logical volume and block address specifies where the data is physically stored within the storage system. In other block I/O storage systems (referred to as intelligent storage systems), internal mapping techniques may be employed so that the logical volumes presented by the storage system do not necessarily map in a one-to-one manner to physical storage devices within the storage system. Nevertheless, the specification of a logical volume and a block address used with an intelligent storage system specifies where associated content is logically stored within the storage system, and from the perspective of devices outside of the storage system (e.g., a host) is perceived as specifying where the data is physically stored.
FIG. 1 is a block diagram of a computer system on which some embodiments of the invention may be implemented;
FIG. 2 is a block diagram of a content unit having a binding portion and a non-binding portion, in accordance with some embodiments;
FIG. 3 is a block diagram of a target content unit and an associative content unit that associates a source string with the target content unit, in accordance with some embodiments;
As discussed above, in a content addressable storage (CAS) system, content units are identified using an identifier, referred to herein as a content address, that is generated, at least in part, from at least a portion of the content of the content unit that it identifies. For example, FIG. 1 shows a computer system 100 that includes a host computer 101 which communicates with a CAS system 103. An application program 105 executing on host computer 101 may generate content units and initiate requests to store and access content units. In some embodiments, application program 105 may communicate with CAS system 103 via application programming interface (API) 107.
An API is an interface that supports requests from application programs. That is, for example, API 107 may provide an interface that the application program uses to communicate with CAS system 103. In this way, the application program need not be aware of the details of the protocols used to communicate with the CAS system. Moreover, if it is desired to change these protocols, the application program need not be changed.
Application program 105 may access a content unit stored on CAS system 103 by sending an access request 109 that identifies the requested content unit by it content address. Because a content address is generated, at least in part, using a hashing function, the content address is frequently a long random string. For example, the MD5 hashing algorithm yields a 128-bit hash value, that is frequently expressed as a 26 character hexadecimal string.