Code rate switching mechanism for flash memory
First Claim
Patent Images
1. A method comprising:
- setting a code rate in a data storage device to a first code rate defining a first ratio of parity data for encoding data to be written to non-volatile memory of the data storage device;
receiving, at the data storage device, a host command indicating a switch point for switching the set code rate from the first code rate to a second code rate defining a second ratio of parity data that differs from the first ratio, wherein the indicated switch point corresponds to a lifecycle threshold of the non-volatile memory of the data storage device;
adjusting a preconfigured switch point of the data storage device to the indicated switch point;
switching the set code rate from the first code rate to the second code rate at the adjusted switch point;
after the switching, encoding the data at the second code rate with the second ratio of parity data, wherein the second ratio is greater than the first ratio when the second code rate is less than the first code rate; and
writing the data encoded at the second code rate to the non-volatile memory.
7 Assignments
0 Petitions
Accused Products
Abstract
A data storage system capable of switching a code rate based on a host command is disclosed. A controller of the data storage system may set a code rate in a data storage device to a first code rate for encoding data to be written to non-volatile memory of the data storage device. The controller may receive, at the data storage device, a host command indicating a switch point for switching the set code rate from the first code rate to a second code rate. The controller may switch the set code rate from the first code rate to the second code rate at the indicated switch point.
-
Citations
22 Claims
-
1. A method comprising:
-
setting a code rate in a data storage device to a first code rate defining a first ratio of parity data for encoding data to be written to non-volatile memory of the data storage device; receiving, at the data storage device, a host command indicating a switch point for switching the set code rate from the first code rate to a second code rate defining a second ratio of parity data that differs from the first ratio, wherein the indicated switch point corresponds to a lifecycle threshold of the non-volatile memory of the data storage device; adjusting a preconfigured switch point of the data storage device to the indicated switch point; switching the set code rate from the first code rate to the second code rate at the adjusted switch point; after the switching, encoding the data at the second code rate with the second ratio of parity data, wherein the second ratio is greater than the first ratio when the second code rate is less than the first code rate; and writing the data encoded at the second code rate to the non-volatile memory. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A data storage device comprising:
-
non-volatile memory; and a controller coupled to the non-volatile memory, the controller configured to; set, at a code rate management component, a code rate in the data storage device to a first code rate defining a first ratio of parity data for encoding data to be written to the non-volatile memory; receive, at the code rate management component, a host command indicating a switch point for switching the set code rate from the first code rate to a second code rate defining a second ratio of parity data that differs from the first ratio, wherein the indicated switch point corresponds to a lifecycle threshold of the non-volatile memory; adjust, by the code rate management component, a preconfigured switch point of the data storage device to the indicated switch point; determine, by the code rate management component, that the adjusted switch point has been reached in the non-volatile memory; switch, by the code rate management component, the set code rate from the first code rate to the second code rate in response to determining that the adjusted switch point has been reached; after the switching, encode, by an encoder, the data at the second code rate with the second ratio of parity data, wherein the second ratio is greater than the first ratio when the second code rate is less than the first code rate; and write, by a read/write management component, the data encoded at the second code rate to the non-volatile memory. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A non-transitory, processor-readable storage media encoded with instructions that, when executed by processor, perform a method comprising:
-
setting a code rate to a first code rate for encoding data defining a first ratio of parity data to be written to non-volatile memory of a data storage device; receiving a host command indicating a switch point for switching the set code rate from the first code rate to a second code rate defining a second ratio of parity data that differs from the first ratio, wherein the indicated switch point corresponds to a lifecycle threshold of the non-volatile memory of the data storage device; adjusting a preconfigured switch point of the data storage device to the indicated switch point; switching the set code rate from the first code rate to the second code rate at the adjusted switch point; reading and decoding data encoded at the first code rate from the non-volatile memory in response to switching the set code rate from the first code rate to the second code rate; encoding the read and decoded data at the second code rate with the second ratio of parity data, wherein the second ratio is greater than the first ratio when the second code rate is less than the first code rate; and writing the data encoded at the second code rate to the non-volatile memory. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A data storage device comprising:
-
non-volatile memory; means for setting a code rate in the data storage device to a first code rate defining a first ratio of parity data for encoding data to be written to the non-volatile memory; means for receiving, at the data storage device, a host command indicating a switch point for switching the set code rate from the first code rate to a second code rate defining a second ratio of parity data that differs from the first ratio, wherein the indicated switch point corresponds to a lifecycle threshold of the non-volatile memory; means for adjusting a preconfigured switch point of the data storage device to the indicated switch point; means for determining that the adjusted switch point has been reached in the non-volatile memory; means for switching the set code rate from the first code rate to the second code rate in response to determining that the adjusted switch point has been reached; means for encoding, after the switching, data the second code rate with the second ratio of parity data, wherein the second ratio is greater than the first ratio when the second code rate is less than the first code rate; and means for writing the data encoded at the second code rate to the non-volatile memory. - View Dependent Claims (20, 21, 22)
-
Specification