Detecting access sequences for data compression on non-volatile memory devices
First Claim
1. A method of operating a non-volatile memory system including a controller circuit and one or more non-volatile memory circuits, the method comprising:
- receiving, at the controller circuit, logically-addressed host data from a host;
storing the host data in the one or more non-volatile memory circuits;
monitoring, by the controller circuit, access patterns by the host of the host data stored in the one or more non-volatile memory circuits;
determining, by the controller circuit, ranges of contiguous logical addresses of the host data that are accessed by the host as single entities in response to the monitoring;
maintaining, by the controller circuit, a record of the ranges of contiguous logical addresses of the host data that are accessed by the host as single entities;
merging, by the controller circuit, at least two of the ranges of contiguous logical addresses of the host data that are in the record into a single logical unit;
updating, by the controller circuit, the record to include the single logical unit; and
performing, by the controller circuit, a data operation on the single logical unit.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are presented to allow non-volatile memory system to operate by determining ranges of logical addresses that a host typically accesses as together. For example, the system'"'"'s controller can determine that the host always, or most always, writes or reads a contiguous set of logical addresses as a single unit. The controller can exploit this information by operating on these ranges as single a unit for data operations it performs. To take one example, the memory system can treat such ranges as single units for on-system data compression prior to writing the data to non-volatile memory.
68 Citations
25 Claims
-
1. A method of operating a non-volatile memory system including a controller circuit and one or more non-volatile memory circuits, the method comprising:
-
receiving, at the controller circuit, logically-addressed host data from a host; storing the host data in the one or more non-volatile memory circuits; monitoring, by the controller circuit, access patterns by the host of the host data stored in the one or more non-volatile memory circuits; determining, by the controller circuit, ranges of contiguous logical addresses of the host data that are accessed by the host as single entities in response to the monitoring; maintaining, by the controller circuit, a record of the ranges of contiguous logical addresses of the host data that are accessed by the host as single entities; merging, by the controller circuit, at least two of the ranges of contiguous logical addresses of the host data that are in the record into a single logical unit; updating, by the controller circuit, the record to include the single logical unit; and performing, by the controller circuit, a data operation on the single logical unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of operating a non-volatile memory system, the memory system including one or more non-volatile memory circuits and a controller circuit that manages storage of logically-addressed host data received from a host in the one or more non-volatile memory circuits, the method comprising:
-
maintaining, by the controller circuit, a record of ranges of contiguous logical addresses that are accessed by the host as single entities; treating, by the controller circuit, the ranges of contiguous logical addresses that are accessed by the host as single entities as single units for data operations; and monitoring, by the controller circuit, access patterns by the host of the host data stored in the one or more non-volatile memory circuits and updating the record based on the monitoring, wherein the updating includes merging at least two of the ranges of contiguous logical addresses into a single logical unit; and compressing the single logical unit. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A non-volatile memory device comprising:
-
a non-volatile memory circuit; and a controller circuit configured to receive logically-addressed host data from a host; store the host data in the non-volatile memory circuit; monitor access patterns by the host of the host data stored in the non-volatile memory circuit; determine ranges of contiguous logical addresses of the host data that are accessed by the host as single entities in response to the monitoring; maintain a record of the ranges of contiguous logical addresses of the host data that are accessed by the host as single entities; merge at least two of the ranges of contiguous logical addresses of the host data that are in the record into a single logical unit; update the record to include the single logical unit; and perform a data operation on the single logical unit. - View Dependent Claims (21, 22, 23, 24, 25)
-
Specification