IP Library › Granted Patent US 11,216,189
Granted Patent B2
US 11,216,189 · App. 16/730,159 · Granted Jan 4, 2022

Method and computer program product for reading partial data of a page on multiple planes

Inventors: Kuan-Te Li (Taipei, TW); Jian-Wei Sun (Taipei, TW); Ting-Heng Chou (Taipei, TW)
Assignee: SILICON MOTION, INC.
G06F3/061G06F3/0659G06F3/0679
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 11,216,189
App. No.
16/730,159
Granted
Jan 4, 2022
Kind
B2
Abstract

A non-transitory computer-readable storage medium, a method, and an apparatus for reading partial data of a page on multiple data planes are provided. A processor core when loading and executing program code is arranged operably to: select at least two flash-memory access commands, which individually reads data whose length (e.g., 4KB or 8KB) is shorter than a length (e.g., 16KB) of one page across data planes for a logical unit number (LUN) according to the content of scheduling table; integrate the selected flash-memory access commands into one MPR-Lite command; drive a flash interface to perform a multi-page read lite (MPR-Lite) operation by executing the MPR-Lite command rather than the flash-memory access commands to read data from the LUN; and reply with read data to a host. Therefore, the time delay between the execution of selected flash-memory access commands would be reduced.

Claims (35)

1. A non-transitory computer-readable storage medium for reading partial data of a page on multiple data planes when executed by a processor core, the non-transitory computer-readable storage medium comprising program code to:

provide a scheduling table;

put each flash-memory access command of a command queue into a cell of the scheduling table according to physical address information of the flash-memory access command;

select two or more flash-memory access commands for a logical unit number (LUN) from the scheduling table, wherein each of the selected flash-memory access commands requests for reading data whose length is shorter than a length of one page across data planes;

drive a flash interface to perform a multi-page read lite (MPR-Lite) operation for reading data requested by the selected flash-memory access commands from the LUN; and

reply with the read data requested by the selected flash-memory access commands to a host.

2. The non-transitory computer-readable storage medium of claim 1 , wherein the MPR-Lite operation comprises:

driving the flash interface to issue a snap read command following issuance of one or more read page multi-plane commands to the LUN, so as to read data of physical addresses that the selected flash-memory access commands indicate.

3. The non-transitory computer-readable storage medium of claim 2 , wherein the read page multi-plane command or the read data multi-plane commands, and the snap read command are used to read partial data of different pages across data planes, respectively.

4. The non-transitory computer-readable storage medium of claim 2 , wherein the read page multi-plane command or the read data multi-plane commands, and the snap read command are executed in a programming mode.

5. The non-transitory computer-readable storage medium of claim 4 , wherein the programming mode is a Single-Level Cell (SLC) mode, a Triple-Level Cell (TLC) mode or a Quad-Level Cell (QLC) mode.

6. The non-transitory computer-readable storage medium of claim 1 , wherein the flash memory access commands are snap read commands, and the non-transitory computer program product comprising program code to:

integrate the selected flash-memory access commands into one MPR-Lite command, so as to form the MPR-Lite operation.

7. The non-transitory computer-readable storage medium of claim 6 , wherein the integration for the MPR-Lite command comprises replacing the selected snap read commands except for the last selected snap read command with read page multi-plane commands.

8. A method for reading partial data of a page on multiple data planes, performed by a processor core, comprising:

providing a scheduling table;

putting each flash-memory access command of a command queue into a cell of the scheduling table according to physical address information of the flash-memory access command;

selecting two or more flash-memory access commands for a logical unit number (LUN) from the scheduling table, wherein each of the selected flash-memory access commands requests for reading data whose length is shorter than a length of one page across data planes;

driving a flash interface to perform a multi-page read lite (MPR-Lite) operation for reading data requested by the selected flash-memory access commands from the LUN; and

replying with the read data requested by the selected flash-memory access commands to a host.

9. The method of claim 8 , wherein the MPR-Lite operation comprises:

driving the flash interface to issue a snap read command following issuance of one or more read page multi-plane commands to the LUN, so as to read data of physical addresses that the selected flash-memory access commands indicate.

10. The method of claim 9 , wherein data-ready time required by each read page multi-plane command is shorter than data-ready time required by the snap read command.

11. The method of claim 9 , wherein each column of the scheduling table is used to record information about flash-memory access commands for reading data on a specific data plane of a designated LUN.

12. The method of claim 9 , wherein each column of the scheduling table is used to record information about flash-memory access commands for reading data on a first data plane of a designated LUN, on a second data plane of the designated LUN in a first programming mode, or on the second data plane of the designated LUN in a second programming mode.

13. An apparatus for reading partial data of a page on multiple data planes, comprising:

a memory arranged to operably store a scheduling table; and

a processor core, coupled to the memory, arranged to operably put each flash-memory access command of a command queue into a cell of the scheduling table according to physical address information of the flash-memory access command; select two or more flash-memory access commands for a logical unit number (LUN) from the scheduling table, wherein each of the selected flash-memory access commands requests for reading data whose length is shorter than a length of one page across data planes; and drive a flash interface to perform a multi-page read lite (MPR-Lite) operation for reading data requested by the selected flash-memory access commands from the LUN, so as to reply with the read data requested by the selected flash-memory access commands to a host.

14. The apparatus of claim 13 , wherein the processor core, in the MPR-Lite operation, is arranged to operably drive the flash interface to issue a snap read command following issuance of one or more read page multi-plane commands to the LUN, so as to read data of physical addresses that the selected flash-memory access commands indicate.

15. The apparatus of claim 14 , wherein the read page multi-plane command or the read data multi-plane commands, and the snap read command are used to read partial data of different pages across data planes, respectively.

16. The apparatus of claim 14 , wherein the read page multi-plane command or the read data multi-plane commands, and the snap read command are executed in a programming mode.

17. The apparatus of claim 16 , wherein the programming mode is a Single-Level Cell (SLC) mode, a Triple-Level Cell (TLC) mode or a Quad-Level Cell (QLC) mode.

18. The apparatus of claim 13 , wherein the flash memory access commands are snap read commands, and the processor core is arranged to operably replace the selected snap read commands except for the last selected snap read command with read page multi-plane commands.

19. The apparatus of claim 13 , wherein each column of the scheduling table is used to record information about flash-memory access commands for reading data on a specific data plane of a designated LUN.

20. The apparatus of claim 13 , wherein each column of the scheduling table is used to record information about flash-memory access commands for reading data on a first data plane of a designated LUN, on a second data plane of the designated LUN in a first programming mode, or on the second data plane of the designated LUN in a second programming mode.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2019
From: LI, KUAN-TE; SUN, JIAN-WEI; CHOU, TING-HENG
To: SILICON MOTION, INC.
Reel/Frame 051392/0946 →
Priority Claims (1)
CN 201911076916.4 · Nov 6, 2019 · national
Continuity (2)
Provisional Application 62827317 · Apr 1, 2019
Related Publication 20200310643A1 · Oct 1, 2020
Cited By (2)
US 12,282,682 US 12,743,386