Calibration of flash channels in SSD
First Claim
1. A method for communicating with memory, performed by a memory controller, the method comprising:
- sampling reads from a plurality of memory devices;
storing first calibration points in first buffers, based on the sampling, with at least one first calibration point and corresponding first buffer for each of the plurality of memory devices;
sampling a read from a second memory device in background while performing a read from a first memory device using the first calibration point in the first buffer corresponding to the first memory device;
storing a second calibration point in a second buffer, for the second memory device, based on the sampling in the background, with the first buffer for the second memory device having the first calibration point used for ongoing reads of the second memory device;
dumping at least the first calibration points from the plurality of first buffers to a memory, responsive to a power loss; and
retrieving at least the first calibration points from the memory in recovering from the power loss, and using the first calibration points in the first buffers for further reads from the plurality of memory devices.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for communicating with memory, performed by a memory controller, is provided. The method includes sampling reads from a plurality of memory devices and storing first calibration points in first buffers, based on the sampling, with at least one first calibration point and corresponding first buffer for each of the plurality of memory devices. The method includes sampling a read from a second memory device in background while performing a read from a first memory device using the first calibration point in the first buffer corresponding to the first memory device. The method includes storing a second calibration point in a second buffer, for the second memory device, based on the sampling in the background, with the first buffer for the second memory device having the first calibration point used for ongoing reads of the second memory device.
266 Citations
17 Claims
-
1. A method for communicating with memory, performed by a memory controller, the method comprising:
-
sampling reads from a plurality of memory devices; storing first calibration points in first buffers, based on the sampling, with at least one first calibration point and corresponding first buffer for each of the plurality of memory devices; sampling a read from a second memory device in background while performing a read from a first memory device using the first calibration point in the first buffer corresponding to the first memory device; storing a second calibration point in a second buffer, for the second memory device, based on the sampling in the background, with the first buffer for the second memory device having the first calibration point used for ongoing reads of the second memory device; dumping at least the first calibration points from the plurality of first buffers to a memory, responsive to a power loss; and retrieving at least the first calibration points from the memory in recovering from the power loss, and using the first calibration points in the first buffers for further reads from the plurality of memory devices. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A tangible, non-transitory, computer-readable media having instructions thereupon which, when executed by a processor, cause the processor to perform a method comprising:
-
determining first calibration points for a plurality of memory devices, based on sampling reads from the plurality of memory devices; writing the first calibration points into a plurality of first buffers associated with the plurality of memory devices; determining a second calibration point for a second one of the plurality of memory devices, based on sampling a read from the second one of the plurality of memory devices in background during a read of a first one of the plurality of memory devices using the first calibration point in the first buffer corresponding to the first memory device; writing the second calibration point into one of a plurality of second buffers, in association with the second one of the plurality of memory devices, with the first calibration point in one of the plurality of first buffers in association with the second one of the plurality of memory devices used for at least one read of the second one of the plurality of memory devices; writing the first calibration points to a memory, responsive to a power loss; recovering the first calibration points from the memory to the plurality of first buffers, responsive to recovering from the power loss; performing reads from the plurality of memory devices using the first calibration points from the plurality of first buffers, responsive to the recovering from a power loss. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A memory controller, comprising:
-
a plurality of first buffers; a plurality of second buffers; and hardware, firmware, or a processor, configured to perform a method comprising; sampling reads from a plurality of memory devices; writing first calibration points, for the reads, based on the sampling, into the plurality of first buffers; performing a read from a first memory device, using the first calibration point in the first buffer associated with the first memory device; sampling, in background, a read from a second memory device; writing a second calibration point, based on the sampling in the background, into one of the plurality of second buffers; performing a read from the second memory device, using the first calibration point in the first buffer associated with the second memory device; dumping contents of the first and second buffers to a memory, responsive to a power loss; retrieving and using the first calibration points in the plurality of first buffers, for reading from the plurality of memory devices, to recover from the power loss. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification