Patent application number | Description | Published |
20130007389 | System and Method for Making Snapshots of Storage Devices - A system and method for making snapshots of storage devices are provided. A method for making a snapshot of a volume includes setting the volume to a read-only mode, receiving an access attempt for the volume, and if the access attempt is a write access attempt, buffering information associated with the write access attempt in a buffer, and updating a snapshot indicator based on the information associated with the write access attempt, where the snapshot indicator includes block information regarding a block in the volume that is a target of the write access attempt. The method also includes if the access attempt is a read access attempt, providing read information requested in the read access attempt, where the read information is based on the volume, or a combination of the snapshot indicator, the buffer, and a buffer indicator. | 01-03-2013 |
20130055009 | System and Method for Providing Reliable Storage - A system and method for providing reliable storage are provided. A method for initiator operations includes storing information associated with an access attempt in a store, and accessing a storage system responsive to the access attempt, wherein the storage system includes a first storage node and a second storage node arranged in a sequential loop, and where the first storage node is accessed by an initiator. The method also includes determining if the access attempt completed successfully, deleting the information from the store if the access attempt completed successfully, and indicating an error if the access attempt did not complete successfully. | 02-28-2013 |
20140188813 | Fast Object Fingerprints - An embodiment computing device operating in a data storage system includes an object storage controller operable to divide an object into blocks and to create an object hash from hash values, and a network interface in communication with the object storage controller, the network interface operable to transmit the blocks to a storage subsystem that generates one of the hash values from each of the blocks, to receive the hash values from the storage subsystem, and to provide the hash values to the object storage controller for creation of the object hash from the hash values. In an embodiment, the object storage controller is operably coupled to a processor and a memory or stored on a computer readable medium. | 07-03-2014 |
20140188817 | System and Method for Object Integrity Service - An embodiment for object integrity service in a storage system includes generating a list of objects stored in a storage system, wherein the list of objects may list an unchecked object, and wherein the unchecked object is an object that has not been checked within a set time period, walking through the list of objects to identify the unchecked object, adding a task to a queue to check the unchecked object, and clearing the task from the queue by checking the unchecked object. | 07-03-2014 |
20140189269 | System and Method for Virtual Tape Library Over S3 - System and method embodiments are provided herein to enable VTL backup and retrieval over S3 storage technology. An embodiment method includes mapping a plurality of data blocks for VTL storage into a plurality of S3 objects for S3 storage, and storing the S3 objects at one or more locations for S3 storage over one or more networks, wherein the mapping enables stateless backup and restore of the data blocks. An embodiment network component includes a Small Computer System Interface configured to receive a plurality of data blocks form one or more servers, a data library storage including tape storage, disk storage, or both that is configured to store the data blocks, a blocks-to-objects mapping engine configured to map the data blocks into a plurality of S3 objects, and a S3 interface configured to transfer the S3 objects to one or more locations for S3 storage over one or more networks. | 07-03-2014 |
20140259090 | Storage Object Distribution System with Dynamic Policy Controls - System and methods for storage object distribution using dynamic policy controls are provided. An embodiment method of updating a policy on an endpoint node includes receiving, from a key management server, an update to be applied to the policy on the endpoint node, updating, on the endpoint node, the policy without modifying applications on the endpoint node, and enforcing, on the endpoint node, the policy as updated when one of the applications requests an object stored on the endpoint node. In an embodiment, the method further includes storing, at the endpoint node, an object received from the key management server to appear as a file in a file system structure. | 09-11-2014 |
20140270153 | System and Method for Content Encryption in a Key/Value Store - System and method embodiments are provided for content encryption in a key/value store. The embodiments include encrypting both the key and value of client data blocks for storage so that the data can be retrieved reliability without compromising the key. An embodiment method includes obtaining a key from a data block comprising the key and a value, encrypting the key using a deterministic encryption algorithm with an encryption key to map the key to a cypher text in a one-to-one mapping, and encrypting the value using a second encryption algorithm to randomly map the value to a second cypher text. Encrypting both the key and the value provides more protection to the client data instead of encrypting only the value and leaving the key vulnerable without encryption. The encrypted key can also be protected from unauthorized access and from the owner of the database or the storage system. | 09-18-2014 |
20140279946 | System and Method for Automatic Integrity Checks in a Key/Value Store - System and method embodiments are provided for integrity check and recovery in a key/value store. An embodiment method includes receiving a command to retrieve a data block stored in the key-value store system, the command indicating a key associated with the data block. The method further includes retrieving one or more copies of the stored data block including the key, a value, a data integrity check algorithm, and an integrity value, and performing data integrity check on the retrieved one or more copies of the data block using the data integrity check algorithm, the integrity value, and at least one of the key and the value. Upon one or more copies of the data block failing the data integrity check, the one or more copies of the data block are repaired and the data block is delivered. | 09-18-2014 |
20140280765 | Self-Organizing Disk (SoD) - System and methods for storage object distribution using a universal distributed storage (UDS) system. An embodiment UDS includes server nodes and a header server in communication with the server nodes. The header server is configured to divide an object received from a client into chunks, to assign a key to each of the chunks, to calculate a hash value for each of the keys to identify which of the server nodes will store each of the chunks, and to instruct one of the server nodes to store each of the chunks in accordance with the hash value calculated. In an embodiment, the server nodes include a single central processing unit, a single storage device, a primary network interface, and a redundant network interface. | 09-18-2014 |
20140281784 | Systems and Methods for Data Repair - An embodiment method for data repair in a storage system includes determining, by a processor, a minimum number of missing data blocks needed to repair a corrupted object in a first portion of the storage system, wherein the missing data blocks are not available in the first portion of the storage system, retrieving only the minimum number of missing data blocks needed to repair the corrupted object from a second portion of the storage system, and repairing the corrupted object in the first portion of the storage system using erasure codes and the retrieved minimum number of missing data blocks. | 09-18-2014 |
20140317162 | Using Carry-less Multiplication (CLMUL) to Implement Erasure Code - Systems and methods for using carry-less multiplication (CLMUL) to implement erasure code are provided. An embodiment method of using CLMUL to implement erasure code includes initiating, with a processor, a first CLMUL call to calculate a first product of a data bit word and a constant, partitioning, with the processor, the first product into a high portion and a low portion, and initiating, with the processor, a second CLMUL call to calculate a second product of the high portion and a hexadecimal number portion, a bit size of the second product less than a bit size of the first product. The second product, or a third product generated by a third CLMUL call, is used to calculate a parity bit. Because the second product or the third product has a number of bits equivalent to the number of bits used by the processor, the erasure codes are more efficiently implemented. | 10-23-2014 |