摘要:
Allocation process that allows erasure coded data to be stored on any of a plurality of disk drives, in a pool of drives, so that the allocation is not tied to a fixed group of drives. Still further, the encoded data can be generated by any of multiple different erasure coding algorithms, where again storage of the encoded data is not restricted to a single group of drives based on the erasure algorithm being utilized to encode the data. In another embodiment, the encoded data can be “stacked” (aligned) on select drives to reduce the number of head seeks required to access the data. As a result of these improvements, the system can dynamically determine which one of multiple erasure coding algorithms to utilize for a given incoming data block, without being tied to one particular algorithm and one particular group of storage devices as in the prior art.
摘要:
Method and apparatus for locating data on disk storage, wherein multiple instances of data can be stored at different locations to satisfy different use requirements such as read access, write access, and data security. The method allows a data storage system, such as a file system, to provide both read optimized and write optimized performance on disk storage of different types (e.g., sizes and speed).
摘要:
Method and apparatus for replicating data structures over a network in which each data structure is assigned an owner node among a plurality of networked peer nodes. Preferably that owner can be ascertained through information in the data structure. When an update to the data structure is desired by a non-owner, a request to modify the data structure is sent out on the network and when received by the owner, the owner performs the modification. The owner node can then notify the other nodes regarding the update. The method, implemented through a single-writer, multiple-reader paradigm, insures availability, partition tolerance and eventual consistency; it avoids the high overhead costs and single point of failure drawbacks of the prior art centralized management and locking protocols. Administrators can connect to any peer node in the network to manage, monitor and request modifications to a data structure.
摘要:
Method and apparatus for locating data on disk storage, wherein multiple instances of data can be stored at different locations to satisfy different use requirements such as read access, write access, and data security. The method allows a data storage system, such as a file system, to provide both read optimized and write optimized performance on disk storage of different types (e.g., sizes and speed).
摘要:
Method and apparatus for replicating data structures over a network in which each data structure is assigned an owner node among a plurality of networked peer nodes. Preferably that owner can be ascertained through information in the data structure. When an update to the data structure is desired by a non-owner, a request to modify the data structure is sent out on the network and when received by the owner, the owner performs the modification. The owner node can then notify the other nodes regarding the update. The method, implemented through a single-writer, multiple-reader paradigm, insures availability, partition tolerance and eventual consistency; it avoids the high overhead costs and single point of failure drawbacks of the prior art centralized management and locking protocols. Administrators can connect to any peer node in the network to manage, monitor and request modifications to a data structure.
摘要:
Apparatus and method for placing data based on the content of the data in random access memory such that indexing operations are not required. A strong (e.g., cryptographic) hash is applied to a data element resulting in a signature. A weaker hash function is then applied to the signature to generate a storage location in memory for the data element. The weaker hash function assigns multiple data elements to the same storage location while the signature comprises a unique identifier for locating a particular data element at this location. In one embodiment a plurality of weak hash functions are applied successively to increase storage space utilization. In other embodiments, the assigned storage location can be determined by one or more attributes of the data element and/or the storage technology, e.g, long-lived versus short-lived data and/or different regions of the memory having different performance (e.g., access latency memory lifetime) characteristics.
摘要:
Apparatus and method for placing data based on the content of the data in random access memory such that indexing operations are not required. A strong (e.g., cryptographic) hash is applied to a data element resulting in a signature. A weaker hash function is then applied to the signature to generate a storage location in memory for the data element. The weaker hash function assigns multiple data elements to the same storage location while the signature comprises a unique identifier for locating a particular data element at this location. In one embodiment a plurality of weak hash functions are applied successively to increase storage space utilization. In other embodiments, the assigned storage location can be determined by one or more attributes of the data element and/or the storage technology, e.g, long-lived versus short-lived data and/or different regions of the memory having different performance (e.g., access latency memory lifetime) characteristics.
摘要:
Allocation process that allows erasure coded data to be stored on any of a plurality of disk drives, in a pool of drives, so that the allocation is not tied to a fixed group of drives. Still further, the encoded data can be generated by any of multiple different erasure coding algorithms, where again storage of the encoded data is not restricted to a single group of drives based on the erasure algorithm being utilized to encode the data. In another embodiment, the encoded data can be “stacked” (aligned) on select drives to reduce the number of head seeks required to access the data. As a result of these improvements, the system can dynamically determine which one of multiple erasure coding algorithms to utilize for a given incoming data block, without being tied to one particular algorithm and one particular group of storage devices as in the prior art.