SYSTEM AND METHOD FOR UTILIZATION OF A DATA BUFFER IN A STORAGE DEVICE
First Claim
1. A data storage system comprising:
- a non-volatile memory having a plurality of data latches and a non-volatile memory array;
a volatile memory with a data buffer; and
a controller having, or cooperatively coupled with, the volatile memory and in communication with the non-volatile memory, wherein the controller is configured to;
request, from a host in communication with the data storage system, first data associated with a pending host command;
write to the data buffer in the volatile memory the first data received from the host;
copy the first data from the data buffer to the plurality of data latches;
request additional data from the host; and
write the additional data to the data buffer prior to verifying that the first data was successfully written from the plurality of latches to the non-volatile memory array, wherein writing the additional data overwrites at least some of the first data in the data buffer and wherein the verifying lags behind the overwriting.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for managing a data buffer of a non-volatile memory system are disclosed. The method may include a controller of a storage system retrieving host data, storing the retrieved data in a data buffer and transferring the data to a non-volatile memory. The controller may then overwrite the retrieved data in the data buffer as soon as the retrieved data has been transferred to the non-volatile memory die but prior to sending a command to program that data to the non-volatile memory array of the non-volatile memory. The system includes a non-volatile memory with a plurality of data latches and a non-volatile memory array, a data buffer and a controller configured to free the data buffer for receiving new data as soon as the prior data is transferred to the data latches and prior to any indication on success of programming prior data to the non-volatile memory array.
-
Citations
21 Claims
-
1. A data storage system comprising:
-
a non-volatile memory having a plurality of data latches and a non-volatile memory array; a volatile memory with a data buffer; and a controller having, or cooperatively coupled with, the volatile memory and in communication with the non-volatile memory, wherein the controller is configured to; request, from a host in communication with the data storage system, first data associated with a pending host command; write to the data buffer in the volatile memory the first data received from the host; copy the first data from the data buffer to the plurality of data latches; request additional data from the host; and write the additional data to the data buffer prior to verifying that the first data was successfully written from the plurality of latches to the non-volatile memory array, wherein writing the additional data overwrites at least some of the first data in the data buffer and wherein the verifying lags behind the overwriting. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of managing data in a data storage system in communication with a host, the method comprising the storage system:
-
requesting data associated with a pending host command from a memory outside of the data storage system; storing the data in a data buffer in volatile memory in the data storage system; copying the data from the data buffer to non-volatile memory in the data storage system; and prior to verifying that the data retrieved from the data buffer in the data storage system was successfully written to a non-volatile memory array in the non-volatile memory, requesting additional data from the host and overwriting at least some the data in the data buffer with the additional data. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer readable medium comprising processor executable instructions that, when executed by a controller of a data storage system, cause the controller to:
-
request, from a memory in communication with the data storage system, first data associated with a pending host command; in response to receipt of the first data from the memory, write the first data to a data buffer in a volatile memory in the data storage system; retrieve the first data from the data buffer and transfer the first data to data latches in a non-volatile memory of the storage system; and retrieve additional data from the memory and overwrite at least a portion of the first data in the data buffer prior to executing a program command to program the first data from the data latches into a non-volatile memory array in the non-volatile memory. - View Dependent Claims (20, 21)
-
Specification