MEMORY DEVICE AND DATA ACCESS METHOD
First Claim
1. A data access method for a memory, comprising:
- storing a plurality of commands received from a host in a command queue;
calculating a plurality of logical address ranges of the commands;
selecting a plurality of write commands from the commands stored in the command queue, wherein the logical address ranges of the write commands are overlapping with each other;
determining whether at least one read command having a receiving order that is in between the receiving orders of the write commands exits in the command queue;
when the at least one read command does not exist, combining write data corresponding to the write commands together to obtain combined write data according to the logical address ranges of the write commands; and
sending a combined write command and the combined write data to the memory to request that the memory executes the write commands.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention provides a data access method. First, a plurality of commands received from a host is stored in a command queue. A plurality of logical address ranges of the commands is then calculated. A plurality of write commands is then selected from the commands, wherein the logical address ranges of the write commands are overlapping with each other. Whether at least one read command having a receiving order that is in between the receiving orders of the write commands exists in the command queue is then determined. When the at least one read command does not exist, write data corresponding to the write commands are combined together to obtain combined write data according to the logical address ranges of the write commands. A combined write command and the combined write data are then sent to a memory to request that the memory executes the write commands.
59 Citations
24 Claims
-
1. A data access method for a memory, comprising:
-
storing a plurality of commands received from a host in a command queue; calculating a plurality of logical address ranges of the commands; selecting a plurality of write commands from the commands stored in the command queue, wherein the logical address ranges of the write commands are overlapping with each other; determining whether at least one read command having a receiving order that is in between the receiving orders of the write commands exits in the command queue; when the at least one read command does not exist, combining write data corresponding to the write commands together to obtain combined write data according to the logical address ranges of the write commands; and sending a combined write command and the combined write data to the memory to request that the memory executes the write commands. - View Dependent Claims (2, 3, 4, 5, 6, 8)
-
-
7. A memory device, coupled to a host, comprising:
-
a memory, for data storage; and a controller, storing a plurality of commands received from the host in a command queue, calculating a plurality of logical address ranges of the commands, selecting a plurality of write commands with logical address ranges overlapping with each other from the commands stored in the command queue, determining whether at least one read command having a receiving order that is in between the receiving orders of the write commands exits in the command queue, combining write data corresponding to the write commands together to obtain combined write data according to the logical address ranges of the write commands when the at least one read command does not exist, and sending a combined write command and the combined write data to the memory to request that the memory executes the write commands. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A data access method for a memory, comprising:
-
storing a plurality of commands received from a host in a command queue; calculating a plurality of logical address ranges of the commands; selecting a plurality of write commands from the commands stored in the command queue, wherein the logical address ranges of the write commands correspond to a specific page of the memory; determining whether at least one read command having a receiving order that is in between the receiving orders of the write commands exists in the command queue; when the at least one read command does not exist, combining write data corresponding to the write commands together to obtain combined write data according to the logical address ranges of the write commands; and sending a combined write command and the combined write data to the memory to request that the memory executes the write commands. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A memory device, coupled to a host, comprising:
-
a memory, for data storage; and a controller, storing a plurality of commands received from the host in a command queue, calculating a plurality of logical address ranges of the commands, selecting a plurality of write commands with logical address ranges corresponding to a specific page of the memory from the commands stored in the command queue, determining whether at least one read command having a receiving order that is in between the receiving orders of the write commands exists in the command queue, combining write data corresponding to the write commands together to obtain combined write data according to the logical address ranges of the write commands when the at least one read command does not exist, and sending a combined write command and the combined write data to the memory to request that the memory executes the write commands. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification