Storage device operations using a die translation table
AssigneeWestern Digital Technologies, Inc.
InventorsAmir SHAHARABANY, Hadas OSHINSKY
Life of this patent
Estimating the term…
Abstract
In one non-limiting embodiment, a method is disclosed for performing a storage device operation on a die is provide having steps of choosing a storage device operation to perform, estimating which die is related to the storage device operation chosen to be performed and performing the storage device operation at the die based on the estimating.
Claims20
A method for performing a storage device operation on a die, comprising:
- choosing a storage device operation to perform;
- estimating which die is related to the storage device operation chosen to be performed based on a look-up table and a formula using a die alignment, a logical based address and a die count;
- and
- performing the storage device operation at the die based on the estimating.
A method for performing a storage device operation on a die, comprising:
- choosing a storage device operation to perform;
- estimating which die is related to the storage device operation chosen to be performed based on a look-up table and a formula;
- and
- checking the die estimated for the storage device operation to determine an idle state.
A method to estimate a die value used for completion of a request for a set of data having an entry value, a best distance value and a best entry value, comprising:
- calculating a distance of the set of data to end values in a die table;
- comparing the distance calculated to the best distance value;
- setting the best distance value equal to the distance value when the distance of the set of data is less than the best distance value;
- setting the best entry value equal to the entry value when the distance is less than the best distance value;
- comparing the entry value to a table size;
- repeating the calculation of the distance value when the entry value is less than the table size;
- and
- calculating the die value of the set of data according to a formula.
An apparatus for performing a storage device operation on a die, comprising:
- means for choosing a storage device operation to perform;
- means for estimating which die is related to the storage device operation chosen to be performed;
- and
- means for performing the storage device operation at the die based on the estimating.
A method for updating a die translation table in a memory of a storage device, comprising:
- obtaining set of values pertaining to a set of data for updating to a die translation table, wherein the set of values includes an entry value, a command LBA value, an isHit value, and a cmdFirstDie value;
- obtaining a dieAlignment value of the die translation table;
- setting a value of cmdFirstLBA equal to the command LBA value−commandLBA % dieAlignment;
- comparing the isHit value to a true value;
- comparing the cmdFirstLBA to entry.lastLBA;
- and
- adding a new entry to the die translation table in the memory of the storage device of the cmdFirstLBA and cmdFirstDie when a value of the cmdFirstLBA is greater than the entry.lastLBA.
A method for updating a die translation table in a memory of a storage device, comprising:
- obtaining set of values pertaining to a set of data for updating to a die translation table, wherein the set of values includes an entry value, a command LBA value, an isHit value, and a cmdFirstDie value;
- obtaining a dieAlignment value of the die translation table;
- setting a value of cmdFirstLBA equal to the command LBA value−commandLBA % dieAlignment;
- comparing the isHit value to a true value;
- comparing the cmdFirstLBA to entry.lastLBA;
- comparing the value cmdFirstLBA to entry.firstLBA;
- setting the value of entry.firstLBA equal to cmdFirstLBA when the cmdFirstLBA is not less than the value of entry.firstLBA;
- and
- adding a new entry to the die translation table in the memory of the storage device of the cmdFirstLBA and cmdFirstDie.
A method for updating a die translation table in a memory of a storage device, comprising:
- obtaining set of values pertaining to a set of data for updating to a die translation table, wherein the set of values includes an entry value, a command LBA value, an isHit value, and a cmdFirstDie value;
- obtaining a dieAlignment value of the die translation table;
- setting a value of cmdFirstLBA equal to the command LBA value−commandLBA % dieAlignment;
- comparing the isHit value to a true value;
- comparing the cmdFirstLBA value to a value of entry.lastLBA;
- and
- setting a value of entry.LastLBA equal to cmdFirstLBA when CMDFirst LBA is greater than entry.lastLBA and the isHit value equals the true value;
- and
- updating the die translation table in the storage device memory with at least the entry.LastLBA.
A method for updating a die translation table in a memory of a storage device, comprising:
- obtaining set of values pertaining to a set of data for updating to a die translation table, wherein the set of values includes an entry value, a command LBA value, an isHit value, and a cmdFirstDie value;
- obtaining a dieAlignment value for the die translation table;
- setting a value of cmdFirstLBA equal to the command LBA value−commandLBA % dieAlignment;
- comparing the isHit value to a true value;
- comparing the cmdFirstLBA to entry.lastLBA when the isHit value is true;
- comparing the value of cmdFirstLBA with entry.firstLBA when the isHit value is true;
- setting the value of entry.firstLBA equal to cmdFirstLBA and entry.firstDie equal to cmdFirstDie when cmdFirstLBA is less than the value of entry.firstLBA when the isHit value is true;
- and
- updating the die translation table in the memory of the storage device with the entry.firstLBA and entry.firstDie values.
Dependencies are inferred from the claim text.