Storage of sequentially sensitive data
AssigneeBright Technologies, LLC
InventorAntony Harris
Life of this patent
Estimating the term…
Abstract
A contiguous digital media storage system and method is disclosed. In one embodiment, the contiguous digital media storage system comprises a storage server, mass storage device, allocator subsystem, and metadata subsystem. Other embodiments may include additional storage servers or mass storage devices as well as one or more client devices. The system and method may be used with third party file systems. Generally, sequentially sensitive information is identified and stored contiguously based on its position within a sequence which substantially increases throughput. This position may be determined from information provided by client devices, file characteristics, or other ways. The system and method may store uniform and variable sized files contiguously.
Claims23
A contiguous digital media storage system comprising:
- at least one memory device storing machine readable code executable by one or more processors the memory having one or more allocation areas thereon, each allocation area having one or more segments and one or more contiguous blocks are allocated from the one or more segments, the machine readable code comprising;
- an allocator subsystem, the allocator subsystem configured to:
- identify a position of sequentially sensitive data within a sequence of data to be stored on a mass storage device, the identifying may occur by receiving client information from one or more client devices, analyzing one or more file characteristics, or both,
- acquire a particular segment from the one or more segments based on a segment number, the segment number determined by taking a quotient resulting from dividing the position of the sequentially sensitive data by an average file quantity for one or more preceding segments;
- assign the particular segment to the segment number if the particular segment has not previously been acquired;
- and
- determine a file position within the particular segment, the file position determined by taking a remainder resulting from dividing the position of the sequentially sensitive data by the average file quantity for the one or more preceding segments and
- allocate one or more contiguous blocks on the mass storage device, a location of the one or more contiguous blocks based on the position of the sequentially sensitive data within the sequence of data to be stored on the mass storage device;
- and
- a metadata subsystem, the metadata subsystem in communication with the allocator subsystem and configured to maintain file system information, wherein the allocator subsystem, the metadata subsystem, or both are configured to communicate with one or more client devices to write the sequentially sensitive data from the one or more client devices to the one or more contiguous blocks allocated by the allocator subsystem based on the position of the sequentially sensitive data in relation to the sequence of data to be stored on the mass storage device.
A data storage system comprising:
- a mass storage device, the mass storage device comprising one or more allocation areas on the mass storage device, each allocation area having one or more segments, each segment comprising a contiguous region on the mass storage device;
- at least one storage server, the at least one storage server further comprising:
- an allocator subsystem, the allocator subsystem configured to:
- receive sequentially sensitive data having a position within a sequence of data;
- identify the position of the sequentially sensitive data in relation to the sequence of data, wherein identifying comprises receiving client information from one or more client devices, analyzing one or more file characteristics, or both;
- acquiring a particular segment from the one or more segments based on a segment number, the segment number determined by taking a quotient resulting from dividing the position of the sequentially sensitive data by an average file quantity for one or more preceding segments;
- assigning the particular segment to the segment number if the particular segment has not previously been acquired;
- and
- determining a file position within the particular segment, the file position determined by taking a remainder resulting from dividing the position of the sequentially sensitive data by the average file quantity for the one or more preceding segments, and
- allocate one or more contiguous blocks within a segment based on the position of the sequentially sensitive data within the sequence;
- a metadata subsystem, the metadata subsystem in communication with the allocator subsystem and configured to maintain file system information;
- wherein the allocator subsystem, the metadata subsystem, or both are configured to communicate with one or more client devices to write sequentially sensitive data to the one or more contiguous blocks allocated by the allocator subsystem.
A method for contiguous digital media storage comprising:
- receiving sequentially sensitive data;
- identifying a position of the sequentially sensitive data within a sequence;
- creating one or more allocation areas on the mass storage device, each allocation area having one or more segments;
- acquiring a particular segment from the one or more segments based on a segment number, the segment number determined by taking the quotient resulting from dividing the position of the sequentially sensitive data by an average file quantity for one or more preceding segments;
- assigning the particular segment to the segment number if the particular segment has not previously been acquired;
- determining a file position within the particular segment, the file position determined by taking the remainder resulting from dividing the position of the sequentially sensitive data by the average file quantity for the one or more preceding segments;
- allocating one or more contiguous blocks on a mass storage device from the one or more segments based on the position of the sequentially sensitive data within the sequence and by identifying the one or more contiguous blocks at the file position to one or more client devices;
- and
- writing the sequentially sensitive data to the one or more contiguous blocks.
Dependencies are inferred from the claim text.