Claims Analysis
Total Claims: 16
Claim 1
Independent Claim
237 words
A method of accessing chunks of data in files from a storage medium in a computer system, the storage medium for storing user data from a file in one or more chunks of date, each chunk having a storage tag portion and a user data portion, the storage tag having at least a pathname and a logical offset, said method comprising the steps of; receiving an access tag from a user requesting access to the chunk, said access tag being identical to the storage tag of the chunk; hashing the pathname and the logical offset in the access tag to generate a suggested location as a possible storage location of the chunk in the storage medium; reading the storage tag of the chunk in the storage medium at the suggested location and; comparing the storage tag of the chunk at the suggested location with the access tag and indicating whether the storage tag and the access tag match; if the storage tag of the chunk at the suggested location and the access tag match, accessing the chunk at the suggested location; and if the storage tag of the chunk at the suggested location and the access tag do not match, searching the storage medium from the suggested location to locations proximate to the suggested location to look for a match between the storage tag and the access tag and thereby locate the chunk requested by the user.
Claim 2
Independent Claim
237 words
A method of accessing chunks of data in files from a storage medium in a computer system, the storage medium for storing user data from a file in one or more chunks of date, each chunk having a storage tag portion and a user data portion, the storage tag having at least a pathname and a logical offset, said method comprising the steps of; receiving an access tag from a user requesting access to the chunk, said access tag being identical to the storage tag of the chunk; hashing the pathname and the logical offset in the access tag to generate a suggested location as a possible storage location of the chunk in the storage medium; reading the storage tag of the chunk in the storage medium at the suggested location and; comparing the storage tag of the chunk at the suggested location with the access tag and indicating whether the storage tag and the access tag match; if the storage tag of the chunk at the suggested location and the access tag match, accessing the chunk at the suggested location; and if the storage tag of the chunk at the suggested location and the access tag do not match, searching the storage medium from the suggested location to locations proximate to the suggested location to look for a match between the storage tag and the access tag and thereby locate the chunk requested by the user.
Claim 3
Dependent Claim
44 words
The method of accessing files in accordance with claim 1, wherein said searching step comprises the steps of: reiteratively reading the storage tags associated with chunks proximate to the suggested location until a predetermined event occurs, and terminating said search upon such an occurrence.
Claim 4
Dependent Claim
45 words
The method of accessing files in accordance with claim 2 wherein said predetermined event is one of two possible events, whichever comes first, and the two possible events are locating an empty chunk and finding a match between the access tag and the storage tag.
Claim 5
Dependent Claim
166 words
The method of accessing files in accordance with claim 1 wherein said searching step comprises the step of: reading the storage tag of each chunk in the storage medium at locations proximate to the suggested location and; second comparing with the access tag each storage tag read at the locations proximate to the suggested location and indicating a tag match if the storage tag matches the access tag at a location proximate to the suggested location; detecting an available-for-write chunk if said second comparing step has not indicated a tag match and the chunk is empty; and if said second comparing step has not indicated a tag match and the chunk is not empty, scanning in a preset search pattern to a next storage location and reading the storage tag of a next chunk; repeating said second comparing step, the detecting step and the scanning step until one of said second comparing step and the detecting step indicates a tag match or an available-for-write chunk, respectively.
Claim 6
Dependent Claim
38 words
The method of claim 4 further comprises the steps of: writing data to said available-for-write chunk, if said detecting step detects an empty chunk; and updating the storage tag of the available-for-write chunk to match the access tag.
Claim 7
Dependent Claim
47 words
The method of claim 4 when retrieving a file further comprises the step of: returning a message to the computer system indicating the requested chunk was not found when said scanning step completes the preset search pattern and said comparing step has not indicated a tag match.
Claim 8
Dependent Claim
42 words
The method of claim 4, when writing a file, further comprises the step of: if said comparing step indicates a tag match, indicating to said computer system a message for the user to choose between appending the file and overwriting the file.
Claim 9
Dependent Claim
237 words
In a data processing system including a computer having volatile and non-volatile memory, and input/output apparatus configured for controlling the operation of at least some of said non-volatile memory; said non-volatile memory being divided into an identifiable and selected number of bytes forming blocks of user data, and a hash code file system for said data processing system, apparatus for accessing user data blocks in the hash code file system comprising: said hash code file system having a storage tag associated with each block of user data; a hashing module, responsive to an access request containing an access tag identifying the user data block requested, operable to hash code at least a portion of the access tag to create a suggested address of a possible storage location for the user data block identified by the access tag; said input/output apparatus responsive to the suggested address for detecting if a storage tag at the suggested address matches the access tag and accessing a user data block at the suggested address in said non-volatile memory if there is a match; and said input/output apparatus responsive to the suggested address for detecting if a storage tag at the suggested address does not match the access tag and searching the non-volatile memory in a preset pattern from the suggest address until a match between the access tag and a storage tag is found or an empty user data block is found.
Claim 10
Dependent Claim
237 words
In a data processing system including a computer having volatile and non-volatile memory, and input/output apparatus configured for controlling the operation of at least some of said non-volatile memory; said non-volatile memory being divided into an identifiable and selected number of bytes forming blocks of user data, and a hash code file system for said data processing system, apparatus for accessing user data blocks in the hash code file system comprising: said hash code file system having a storage tag associated with each block of user data; a hashing module, responsive to an access request containing an access tag identifying the user data block requested, operable to hash code at least a portion of the access tag to create a suggested address of a possible storage location for the user data block identified by the access tag; said input/output apparatus responsive to the suggested address for detecting if a storage tag at the suggested address matches the access tag and accessing a user data block at the suggested address in said non-volatile memory if there is a match; and said input/output apparatus responsive to the suggested address for detecting if a storage tag at the suggested address does not match the access tag and searching the non-volatile memory in a preset pattern from the suggest address until a match between the access tag and a storage tag is found or an empty user data block is found.
Claim 11
Dependent Claim
44 words
The apparatus of claim 8, wherein: said non-volatile memory is accessed first at the suggested address; and said input/output apparatus upon finding an empty user data block at the suggested address, writing a user data block if the access request is a write operation.
Claim 12
Dependent Claim
149 words
A computer program storage medium readable by a computing system and encoding a program of instructions for executing a computer process for accessing data in the computing system, said computer process comprising the steps of: appending a tag on finite tagged portions of files to be accessed; during an access request hashing an access tag in the access request to suggest a possible location of where said tagged portions of files reside on a computer useable medium, and; reading a storage tag stored at the possible location and comparing the storage tag to the access tag to determine a tag match or no tag match; if there is a tag match, accessing the tagged portion of the file at the possible location: if there is no tag match, searching the computer usable medium in a predetermined search pattern for accessing finite portions of files on the computer useable medium.
Claim 13
Dependent Claim
149 words
A computer program storage medium readable by a computing system and encoding a program of instructions for executing a computer process for accessing data in the computing system, said computer process comprising the steps of: appending a tag on finite tagged portions of files to be accessed; during an access request hashing an access tag in the access request to suggest a possible location of where said tagged portions of files reside on a computer useable medium, and; reading a storage tag stored at the possible location and comparing the storage tag to the access tag to determine a tag match or no tag match; if there is a tag match, accessing the tagged portion of the file at the possible location: if there is no tag match, searching the computer usable medium in a predetermined search pattern for accessing finite portions of files on the computer useable medium.
Claim 14
Dependent Claim
28 words
The computer program storage medium of claim 10 wherein said computer process further comprises the step of terminating the search pattern on the occurrence of a predetermined event.
Claim 15
Dependent Claim
36 words
The computer program storage medium of claim 11 wherein said predetermined event in the searching step of said computer process comprises detecting a tag match or finding an available-for-write finite portion on the computer useable medium.
Claim 16
Dependent Claim
28 words
The computer program storage medium of claim 10 wherein the access tag and the storage tag contain a pathname and offset identifying a finite portion of the file.