Selectively throttling host reads for read disturbs in non-volatile memory system
First Claim
Patent Images
1. A method of processing read requests in a non-volatile memory system, the method comprising:
- receiving, from a host device external to the non-volatile memory system, a read request to read data from the non-volatile memory system; and
in response to receiving the read request;
identifying a storage location in the non-volatile memory system corresponding to data requested by the read request received from the host device;
determining if the identified storage location satisfies predefined read disturb criteria;
in accordance with a determination that the identified storage location does not satisfy the predefined read disturb criteria, initiating execution of a read operation corresponding to the read request on the identified storage location; and
in accordance with a determination that the identified storage location satisfies the predefined read disturb criteria;
determining if the identified storage location satisfies predefined non-activity criteria for a predefined time period; and
in accordance with a determination that the identified storage location satisfies predefined non-activity criteria for the predefined time period;
enqueuing a read command corresponding to the read request to perform the read operation on the identified storage location for deferred execution; and
initiating execution of read operations corresponding to the enqueued read command and other enqueued read commands at a predefined rate, wherein the predefined rate has a predefined ratio with the predefined time period.
1 Assignment
0 Petitions
Accused Products
Abstract
The various implementations described herein include systems, methods, and/or devices used to selectively throttle host reads in memory devices. The method includes: (1) identifying a storage location in the non-volatile memory system with high read disturbs vulnerable to reliability issues, (2) determining if the identified storage location is being throttled for host reads, (3) in accordance with a determination that the identified storage location does not satisfy the predefined read throttling criteria, initiate execution of a read operation, otherwise, enqueue read commands for deferred execution.
-
Citations
19 Claims
-
1. A method of processing read requests in a non-volatile memory system, the method comprising:
-
receiving, from a host device external to the non-volatile memory system, a read request to read data from the non-volatile memory system; and in response to receiving the read request; identifying a storage location in the non-volatile memory system corresponding to data requested by the read request received from the host device; determining if the identified storage location satisfies predefined read disturb criteria; in accordance with a determination that the identified storage location does not satisfy the predefined read disturb criteria, initiating execution of a read operation corresponding to the read request on the identified storage location; and in accordance with a determination that the identified storage location satisfies the predefined read disturb criteria; determining if the identified storage location satisfies predefined non-activity criteria for a predefined time period; and in accordance with a determination that the identified storage location satisfies predefined non-activity criteria for the predefined time period; enqueuing a read command corresponding to the read request to perform the read operation on the identified storage location for deferred execution; and initiating execution of read operations corresponding to the enqueued read command and other enqueued read commands at a predefined rate, wherein the predefined rate has a predefined ratio with the predefined time period. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-volatile memory controller for controlling access to non-volatile memory in a non-volatile memory system, the non-volatile memory controller comprising:
-
a host interface for receiving, from a host device external to the non-volatile memory system, a read request to read data from the non-volatile memory system; one or more processors; and memory storing one or more programs for execution by the one or more processors, the one or more programs including instructions for; identifying a storage location in the non-volatile memory system corresponding to data requested by the read request received from the host device; determining if the identified storage location satisfies predefined read disturb criteria; in accordance with a determination that the identified storage location does not satisfy the predefined read disturb criteria, initiating execution of a read operation corresponding to the read request on the identified storage location; and in accordance with a determination that the identified storage location satisfies the predefined read disturb criteria; determining if the identified storage location satisfies predefined non-activity criteria for a predefined time period; and in accordance with a determination that the identified storage location satisfies predefined non-activity criteria for the predefined time period; enqueuing a read command corresponding to the read request to perform the read operation on the identified storage location for deferred execution; and initiating execution of read operations corresponding to the enqueued read command and other enqueued read commands at a predefined rate, wherein the predefined rate has a predefined ratio with the predefined time period. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-volatile memory system comprising:
-
means for receiving, from a host device external to the non-volatile memory system, a read request to read data from a non-volatile memory in the non-volatile memory system; means for identifying a storage location in the non-volatile memory corresponding to data requested by the read request received from the host device; means for determining if the identified storage location satisfies predefined read disturb criteria and, in accordance with a determination that the identified storage location does not satisfy the predefined read disturb criteria, for initiating execution of a read operation corresponding to the read request on the identified storage location; and means for, in accordance with a determination that the identified storage location satisfies the predefined read disturb criteria; determining if the identified storage location satisfies predefined non-activity criteria for a predefined time period; and in accordance with a determination that the identified storage location satisfies predefined non-activity criteria for the predefined time period; enqueuing a read command corresponding to the read request to perform the read operation on the identified storage location for deferred execution; and initiating execution of read operations corresponding to the enqueued read command and other enqueued read commands at a predefined rate, wherein the predefined rate has a predefined ratio with the predefined time period. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification