METHOD AND SYSTEM FOR BLOCK ALLOCATION FOR HYBRID DRIVES
First Claim
1. A method for priority-based allocation in a storage pool, comprising:
- receiving a first request to write a first data item in the storage pool,wherein the storage pool comprises a first hybrid drive comprising a first plurality of metaslabs associated with a first storage type and a second plurality of metaslabs associated with a second storage type, andwherein each of the first and second plurality of metaslabs comprises a contiguous region of data;
selecting a first target metaslab from the first and second plurality of metaslabs based on a first plurality of allocation priorities, wherein the first plurality of allocation priorities are determined using a storage and power management policy, a storage characteristic, and a power characteristic associated with the first storage type and the second storage type in the first hybrid drive;
allocating a first block to the first target metaslab; and
writing, after allocating, the first block to the first target metaslab,wherein the first block comprises a first portion of the first data item.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for priority-based allocation in a storage pool, involving receiving a first request to write a first data item in the storage pool, wherein the storage pool includes a first hybrid drive including a first plurality of metaslabs associated with a first storage type and a second plurality of metaslabs associated with a second storage type, selecting a first target metaslab from the first and second plurality of metaslabs based on a first plurality of allocation priorities, wherein the first plurality of allocation priorities are determined using a storage and power management policy, a storage characteristic, and a power characteristic associated with the first storage type and the second storage type in the first hybrid drive, allocating a first block to the first target metaslab, and writing the first block to the first target metaslab, wherein the first block includes a first portion of the first data item.
-
Citations
20 Claims
-
1. A method for priority-based allocation in a storage pool, comprising:
-
receiving a first request to write a first data item in the storage pool, wherein the storage pool comprises a first hybrid drive comprising a first plurality of metaslabs associated with a first storage type and a second plurality of metaslabs associated with a second storage type, and wherein each of the first and second plurality of metaslabs comprises a contiguous region of data; selecting a first target metaslab from the first and second plurality of metaslabs based on a first plurality of allocation priorities, wherein the first plurality of allocation priorities are determined using a storage and power management policy, a storage characteristic, and a power characteristic associated with the first storage type and the second storage type in the first hybrid drive; allocating a first block to the first target metaslab; and writing, after allocating, the first block to the first target metaslab, wherein the first block comprises a first portion of the first data item. - View Dependent Claims (2, 3, 4, 5, 6, 7, 9, 10)
-
-
8. The method of claim 8, wherein the first plurality of metaslabs associated with the flash memory is assigned high allocation priorities than the second plurality of metaslabs associated with the hard disk drive.
-
11. A system for priority-based allocation in a storage pool, comprising:
-
a storage pool comprising a first hybrid drive, wherein the first hybrid drive comprises a first plurality of metaslabs associated with a first storage type and a second plurality of metaslabs associated with a second storage type, wherein each of the plurality of metaslabs comprises a contiguous region of data; a first plurality of allocation priorities, wherein the first plurality of allocation priorities is associated with the first and second plurality of metaslabs; and a file system configured to; receive a request to write a data item in the storage pool; selecting a first target metaslab from the first and second plurality of metaslabs based on a first plurality of allocation priorities, wherein the first plurality of allocation priorities are determined using a storage and power management policy, a storage characteristic and a power characteristic associated with the first storage type and the second storage type in the first hybrid drive; allocate a block to the target metaslab; and write the block to the target metaslab, wherein the block comprises a portion of the data item. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A computer readable medium comprising computer readable program code embodied therein for causing a computer system to:
-
receive a first request to write a first data item in the storage pool, wherein the storage pool comprises a first hybrid drive comprising a first plurality of metaslabs associated with a first storage type and a second plurality of metaslabs associated with a second storage type, and wherein each of the first and second plurality of metaslabs comprises a contiguous region of data; selecting a first target metaslab from the first and second plurality of metaslabs based on a first plurality of allocation priorities, wherein the first plurality of allocation priorities are determined using a storage and power management policy, a storage characteristic and a power characteristic associated with the first storage type and the second storage type in the first hybrid drive; allocate a first block to the first target metaslab; and writing, after allocating, the first block to the first target metaslab, wherein the first block comprises a first portion of the first data item. - View Dependent Claims (19, 20)
-
Specification