METHOD AND SYSTEM FOR MANAGING WEAR-LEVEL AWARE FILE SYSTEMS
First Claim
1. A method for wear level-based allocation in a storage pool, comprising:
- receiving a first request to write a first data item in a storage pool,wherein the storage pool comprises a plurality of storage devices and a plurality of physical locations associated with the storage devices, andwherein each of the plurality of storage devices comprises metadata regarding a level of wear of the storage device;
determining a first target physical location selected from the plurality of physical locations by using a wear-level selection policy and a wear cost for each of the storage devices, wherein the wear cost is determined based on a type of the storage device;
allocating a first data block to the first target physical location; and
writing the first data block to the first target physical locations, wherein the first data block comprises a first portion of the first data item.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for wear level-based allocation in a storage pool. The method includes receiving a first request to write a first data item in a storage pool, where the storage pool includes a number of physical locations associated with the storage devices, and where each of the storage devices includes metadata regarding a level of wear of the storage device. The method further includes determining a first target physical location selected from the plurality of physical locations by using a wear-level selection policy and a wear cost for each of the storage devices, where the wear cost is determined based on a type of the storage device. The method further includes allocating a first data block to the first target physical location writing the first data block to the first target physical locations, wherein the first data block comprises a first portion of the first data item.
-
Citations
20 Claims
-
1. A method for wear level-based allocation in a storage pool, comprising:
-
receiving a first request to write a first data item in a storage pool, wherein the storage pool comprises a plurality of storage devices and a plurality of physical locations associated with the storage devices, and wherein each of the plurality of storage devices comprises metadata regarding a level of wear of the storage device; determining a first target physical location selected from the plurality of physical locations by using a wear-level selection policy and a wear cost for each of the storage devices, wherein the wear cost is determined based on a type of the storage device; allocating a first data block to the first target physical location; and writing the first data block to the first target physical locations, wherein the first data block comprises a first portion of the first data item. - View Dependent Claims (2, 4, 5, 6, 7)
-
-
3. The method of clam 1, wherein the wear-level policy is defined to extended the lifetime of the storage devices.
-
8. A method for retrieving a logical block, comprising:
-
receiving a request to read the logical block; obtaining metadata associated with the logical block, wherein the metadata comprises; a replication type used to store the logical block; physical block locations in a storage pool for each physical block associated with the logical block, wherein each physical block location specifies one of a plurality of storage devices in the storage pool; obtaining wear-level information comprising a level of wear for each of the storage devices specified in the physical block locations; selecting a first set of physical block locations using the metadata, the wear-level information, and a wear-level selection policy; generating a first set of I/O requests, wherein each I/O request specifies one of the first set of physical block locations; issuing a first set of I/O requests; receiving the first set of physical blocks in response to the first set of I/O requests; and constructing the logical block using the first set of physical blocks. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer readable medium comprising a plurality of executable instructions for, retrieving a logical block, wherein the plurality of executable instructions comprises instructions to:
-
receive a request to read the logical block; obtain metadata associated with the logical block, wherein the metadata comprises; a replication type used to store the logical block; physical block locations in a storage pool for each physical block associated with the logical block, wherein each physical block location specifies one of a plurality of storage devices in the storage pool; obtain wear-level information comprising a level of wear for each of the storage devices specified in the physical block locations; select a first set of physical block locations using the metadata, the wear-level information, and a wear-level selection policy; generate a first set of I/O requests, wherein each I/O request specifies one of the first set of physical block locations; issue a first set of I/O requests; receive the first set of physical blocks in response to the first set of I/O requests; and construct the logical block using the first set of physical blocks. - View Dependent Claims (17, 18, 19, 20)
-
Specification