Data storage device and method for operating non-volatile memory
AssigneeSilicon Motion, Inc.
InventorsMing-Hung Chang, Fang-I Peng
Life of this patent
Estimating the term…
Abstract
An efficient data storage device is disclosed, which uses a microprocessor and at least one volatile memory to operate a non-volatile memory. The microprocessor allocates the volatile memory to provide a cache area. According to an asynchronous event request (AER) issued by a host, the microprocessor uses the cache area to collect sections of write data requested by the host, programs the sections of write data collected in the cache area to the non-volatile memory together, and reports failed programming of the sections of write data to the host by AER completion information.
Claims10
A data storage device, comprising:
- a non-volatile memory;
- and
- a controller operating the non-volatile memory, including a microprocessor and a volatile memory,
- wherein:
- the microprocessor allocates the volatile memory to provide a cache area;
- according to an asynchronous event request issued by a host, the microprocessor uses the cache area to collect write data of a plurality of write commands requested by the host to a predefined amount, programs the predefined amount of collected write data to the non-volatile memory, and reports failed programming of the predefined amount of collected write data to the host by asynchronous event request completion information;
- wherein when programming the predefined amount of collected write data to the non-volatile memory, the microprocessor uses the volatile memory to record an error log to list details of programming errors;
- receiving a request from the host;
- in response to the request from the host, the microprocessor retrieves the error log from the volatile memory and transmits the error log to the host;
- and
- the asynchronous event request completion information is provided to inform the host to transmit the request for getting the error log recorded in the volatile memory.
A method for operating a non-volatile memory, comprising:
- providing at least one volatile memory;
- allocating the volatile memory to provide a cache area;
- issuing an asynchronous event request by a host;
- and
- according to the asynchronous event request, using the cache area to collect write data of a plurality of write commands requested by the host to a predefined amount, programming the predefined amount of collected write data to the non-volatile memory, and reporting failed programming of the predefined amount of collected write data to the host by asynchronous event request completion information;
- wherein when programming the predefined amount of collected write data to the non-volatile memory, using the volatile memory to record an error log to list details of programming errors;
- receiving a request from the host;
- and
- in response to the request from the host, retrieving the error log from the volatile memory and transmitting the error log to the host;
- wherein the asynchronous event request completion information is provided to inform the host to transmit the request for getting the error log recorded in the volatile memory.
Dependencies are inferred from the claim text.