IP Library Granted Patent US 10,761,982
Granted Patent B2
US 10,761,982 · App. 16/117,115 · Granted Sep 1, 2020

Data storage device and method for operating non-volatile memory

Inventors: Ming-Hung Chang (Zhubei, TW); Fang-I Peng (Hsinchu, TW)
Assignee: SILICON MOTION, INC.
G06F12/0804G06F12/0246G06F2212/1036G06F2212/205G06F2212/608G06F2212/7201G06F2212/7203
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,761,982
App. No.
16/117,115
Granted
Sep 1, 2020
Kind
B2
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.

Claims (39)

1. 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.

2. The data storage device as claimed in claim 1 , wherein:

the non-volatile memory is a flash memory; and

each section of said write data collected in the cache area corresponds to a target space that is allocated by the host; and

failed programmed addresses of the non-volatile memory are listed in the error log.

3. The data storage device as claimed in claim 2 , wherein:

a mapping table between the flash memory and the host is managed by a flash translation layer of the host.

4. The data storage device as claimed in claim 1 , wherein:

the cache area is an always-on area of the volatile memory.

5. The data storage device as claimed in claim 1 , wherein:

the microprocessor records the asynchronous event request in the volatile memory.

6. 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.

7. The method as claimed in claim 6 , wherein:

the non-volatile memory is a flash memory; and

each section of said write data collected in the cache area corresponds to a target space that is allocated by the host; and

failed programmed addresses of the non-volatile memory are listed in the error log.

8. The method as claimed in claim 7 , wherein:

a mapping table between the flash memory and the host is managed by a flash translation layer of the host.

9. The method as claimed in claim 6 , wherein:

the cache area is an always-on area of the volatile memory.

10. The method as claimed in claim 6 , further comprising:

recording the asynchronous event request in the volatile memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2018
From: CHANG, MING-HUNG; PENG, FANG-I
To: SILICON MOTION, INC.
Reel/Frame 046751/0754 →
Priority Claims (1)
TW 106137606 A · Oct 31, 2017 · national
Continuity (1)
Related Publication 20190129850A1 · May 2, 2019