Method and system for modulating read operations to support error correction in solid state memory
First Claim
Patent Images
1. A method for reading and decoding data from solid state memory, the method comprising:
- receiving a client read request for data from a client, wherein the client read request comprises a logical address;
determining a physical address corresponding to the logical address, wherein the physical address comprises a page number for a physical page in the solid state memory;
determining, using one selected from a group consisting of the physical address and the logical address, a retention time for the data;
determining a program/erase (P/E) cycle value associated with the physical page;
obtaining at least one read threshold value and a decoding scheme using the P/E cycle value, the retention time, and the page number;
issuing a control module read request comprising the at least one read threshold value and the decoding scheme to a storage module, wherein the storage module comprises the physical page;
obtaining the data from the physical page using the at least one read threshold value; and
decoding the data obtained from the physical page using the decoding scheme.
7 Assignments
0 Petitions
Accused Products
Abstract
In general, embodiments of the technology relate to improving read performance of solid-state storage by using decoding schemes deemed particularly suitable for the read operation that is currently being performed. More specifically, embodiments of the technology relate to using program/erase (P/E) cycle values, retention times, and page numbers in order to determine the appropriate decoding parameters to use when reading data that has been previously stored in the solid-state storage.
90 Citations
20 Claims
-
1. A method for reading and decoding data from solid state memory, the method comprising:
-
receiving a client read request for data from a client, wherein the client read request comprises a logical address; determining a physical address corresponding to the logical address, wherein the physical address comprises a page number for a physical page in the solid state memory; determining, using one selected from a group consisting of the physical address and the logical address, a retention time for the data; determining a program/erase (P/E) cycle value associated with the physical page; obtaining at least one read threshold value and a decoding scheme using the P/E cycle value, the retention time, and the page number; issuing a control module read request comprising the at least one read threshold value and the decoding scheme to a storage module, wherein the storage module comprises the physical page; obtaining the data from the physical page using the at least one read threshold value; and decoding the data obtained from the physical page using the decoding scheme. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system, comprising:
-
a storage module comprising a storage module controller and persistent storage; and a control module operatively connected to the storage module and a client, wherein the control module; receives a client read request for data from a client, wherein the client read request comprises a logical address; determines a physical address corresponding to the logical address, wherein the physical address comprises a page number for a physical page in the persistent storage; determines, using one selected from a group consisting of the physical address and the logical address, a retention time for the data; determines a program/erase (P/E) cycle value associated with the physical page; obtains at least one read threshold value and a decoding scheme using the P/E cycle value, the retention time, and the page number; and issues a control module read request comprising the at least one read threshold value and the decoding scheme to a storage module, wherein the storage module comprises the physical page, wherein the storage module; receives the control module read request; obtains the data from the physical page using the at least one read threshold value; and decodes the data obtained from the physical page using the decoding scheme. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to:
-
receive a client read request for data from a client, wherein the client read request comprises a logical address; determine a physical address corresponding to the logical address, wherein the physical address comprises a page number for a physical page in solid state memory; determine, using one selected from a group consisting of the physical address and the logical address, a retention time for the data; determine a program/erase (P/E) cycle value associated with the physical page; obtain at least one read threshold value and a decoding scheme using the P/E cycle value, the retention time, and the page number; issue a control module read request comprising the at least one read threshold value and the decoding scheme to a storage module, wherein the storage module comprises the physical page; obtain the data from the physical page using the at least one read threshold value; and decode the data obtained from the physical page using the decoding scheme.
-
Specification