Method and computer program product for performing data writes into a flash memory
AssigneeSilicon Motion, Inc.
InventorKuo-Ting Huang
Life of this patent
Estimating the term…
Abstract
The invention introduces a method for performing data writes into a flash memory, at least including the steps: determining whether at least one host write command that requires to process immediately is presented in a submission queue (SQ) before performing a portion of a Host-Flash mapping (H2F) table update or a GC process; and executing the host write command that requires to process immediately in a batch and then performing the portion of the H2F table update or the GC process when the determination is positive.
Claims20
A method for performing data writes into a flash memory, performed by a processing unit in response to loading and executing program codes of a software or firmware module, comprising:
- dividing a Host-Flash mapping (H2F) table update into a plurality of portions, wherein the H2F table update comprises programming physical address information associated with a successive range of logical addresses into a logical unit number (LUN) through a flash interface;
- in response to detecting a number of host write commands less than or equal to a threshold, determining whether at least one host write command that requires to process immediately is presented in a submission queue (SQ) by an equation:
- Tnow−Ti>Ttr before performing any portion of the H2F table update, wherein Tnow represents a current time point, i represents a positive integer, Ti represents a time point indicating that host write commands of a batch before an ith host write command have been executed completely, Tr represents a threshold, and the equation for the ith host write command has met indicates that the ith host write command of the SQ requires to process immediately;
- and
- executing the host write command that requires to process immediately in a batch and then performing a corresponding portion of the H2F table update in response to at least one host write command that requires to process immediately is presented in the SQ.
A non-transitory computer program product for performing data writes into a flash memory when executed by a processing unit, the non-transitory computer program product comprising program code to:
- divide a Host-Flash mapping (H2F) table update into a plurality of portions, wherein the H2F table update comprises programming physical address information associated with a successive range of logical addresses into a logical unit number (LUN) through a flash interface;
- in response to detecting a number of host write commands less than or equal to a threshold, determine whether at least one host write command that requires to process immediately is presented in a submission queue (SQ) by an equation:
- Tnow−Ti>Ttr before performing any portion of the H2F table update, wherein Tnow represents a current time point, i represents a positive integer, Ti represents a time point indicating that host write commands of a batch before an ith host write command have been executed completely, Tr represents a threshold, and the equation for the ith host write command has met indicates that the ith host write command of the SQ requires to process immediately;
- and
- execute the host write command that requires to process immediately in a batch and then performing a corresponding portion of the H2F table update in response to at least one host write command that requires to process immediately is presented in the SQ.
An apparatus for performing data writes into a flash memory, comprising:
- a flash interface;
- and
- a processing unit, coupled to the flash interface, arranged to operably divide a Host-Flash mapping (H2F) table update into a plurality of portions, wherein the H2F table update comprises programming physical address information associated with a successive range of logical addresses into a logical unit number (LUN) through a flash interface;
- in response to detecting a number of host write commands less than or equal to a threshold, determine whether at least one host write command that requires to process immediately is presented in a submission queue (SQ) by an equation:
- Tnow−Ti>Ttr before performing any portion of the H2F table update, wherein Tnow represents a current time point, i represents a positive integer, Ti represents a time point indicating that host write commands of a batch before an ith host write command have been executed completely, Tr represents a threshold, and the equation for the ith host write command has met indicates that the ith host write command of the SQ requires to process immediately;
- and execute the host write command that requires to process immediately in a batch and then performing a corresponding portion of the H2F table update through the flash interface in response to at least one host write command that requires to process immediately is presented in the SQ.
Dependencies are inferred from the claim text.