Method and system for improving flash storage read performance in partially programmed blocks
First Claim
1. A method for reading data from persistent storage, the method comprising:
- receiving a first client read request for first data from a client, wherein the first client read request comprises a first logical address;
determining a first physical address corresponding to the first logical address;
making a first determination that the first physical address is directed to an open block in the persistent storage;
making a second determination that the first physical address is directed to a last closed word line of the open block, and based on the first and the second determinations;
obtaining at least one first read threshold value for reading from the last closed word line of the open block;
issuing a control module read request comprising the at least one first read threshold value to a storage module, wherein the storage module comprises the open block; and
obtaining the first data from the open block using the at least one first read threshold value.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for reading data from persistent storage. The method includes receiving a client read request for data from a client. The client read request includes a logical address. The method further includes determining a physical address corresponding to the logical address, determining that the physical address is directed to an open block in the persistent storage and determining that the physical address is directed to a last closed word line of the open block. The method further includes, based on these determinations, obtaining at least one read threshold value for the reading from last closed word lines, issuing a control module read request comprising the at least one read threshold value to a storage module that includes the open block, and obtaining the data from the open block using the at least one read threshold value.
39 Citations
20 Claims
-
1. A method for reading data from persistent storage, the method comprising:
-
receiving a first client read request for first data from a client, wherein the first client read request comprises a first logical address; determining a first physical address corresponding to the first logical address; making a first determination that the first physical address is directed to an open block in the persistent storage; making a second determination that the first physical address is directed to a last closed word line of the open block, and based on the first and the second determinations; obtaining at least one first read threshold value for reading from the last closed word line of the open block; issuing a control module read request comprising the at least one first read threshold value to a storage module, wherein the storage module comprises the open block; and obtaining the first data from the open block using the at least one first read threshold value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. 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 first client read request for first data from the client, wherein the first client read request comprises a first logical address; determines a first physical address corresponding to the first logical address; makes a first determination that the first physical address is directed to an open block in the persistent storage; makes a second determination that the first physical address is directed to a last closed word line of the open block, and based on the first and the second determinations; obtains at least one first read threshold value for reading from the last closed word line of the open block; issues a control module read request comprising the at least one first read threshold value to the storage module, wherein the storage module comprises the open block; and wherein the storage module; receives the control module read request; and obtains the first data from the open block using the at least one first read threshold value. - View Dependent Claims (13, 14, 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 first client read request for first data from a client, wherein the first client read request comprises a first logical address; determine a first physical address corresponding to the first logical address; make a first determination that the first physical address is directed to an open block in persistent storage; make a second determination that the first physical address is directed to a last closed word line of the open block, and based on the first and the second determinations; obtain at least one first read threshold value for reading from the last closed word line of the open block; issue a control module read request comprising the at least one first read threshold value to a storage module, wherein the storage module comprises the open block; and obtain the first data from the open block using the at least one first read threshold value.
-
Specification