Implementing enhanced deterministic memory allocation for indirection tables for persistent media
AssigneeHGST Netherlands B.V.
InventorDavid Robison Hall
Life of this patent
Estimating the term…
Abstract
A method and a storage system are provided for implementing deterministic memory allocation for indirection tables for persistent media or disk drives, such as, shingled perpendicular magnetic recording (SMR) indirection tables. A plurality of fixed-size memory pools are used to store indirection data. The distribution of pool allocate sizes is fixed. A pool allocate size is selected based upon an indirection system request size.
Claims20
A method for implementing deterministic memory allocation for indirection tables for persistent media comprising:
- using a plurality of fixed-size memory pools to store indirection data;
- a distribution of pool allocate sizes being fixed;
- initializing each of the plurality of fixed-size memory pools with a head pointer and a plurality of next pointers, each next pointer using a first word for building each free allocation in each respective fixed-size memory pool, and
- selecting a pool allocate size using an index to the plurality of fixed-size memory pools based upon an indirection system request size and the fixed distribution of pool allocate sizes for the plurality of fixed-size memory pools.
An apparatus for implementing deterministic memory allocation for indirection tables for persistent media comprising:
- a plurality of fixed-size memory pools for storing indirection data;
- a distribution of pool allocate sizes being fixed;
- each of the plurality of fixed-size memory pools being initialized with a head pointer and a plurality of next pointers, each next pointer using a first word for building each free allocation in each respective fixed-size memory pool, and
- a pool manager selecting a pool allocate size using an index to the plurality of fixed-size memory pools based upon an indirection system request size and the fixed distribution of pool allocate sizes for the plurality of fixed-size memory pools.
A data storage system comprising:
- a persistent media;
- a controller, and indirection tables memory allocation control logic coupled to said controller for implementing deterministic memory allocation for indirection tables;
- said controller and indirection tables memory allocation control logic using a plurality of fixed-size memory pools for storing indirection data;
- a distribution of pool allocate sizes being fixed;
- each of the plurality of fixed-size memory pools being initialized with a head pointer and a plurality of next pointers, each next pointer using a first word for building each free allocation in each respective fixed-size memory pool;
- and a pool manager selecting a pool allocate size using an index to the plurality of fixed-size memory pools based upon an indirection system request size and the fixed distribution of pool allocate sizes for the plurality of fixed-size memory pools.
Dependencies are inferred from the claim text.