IP Library Granted Patent US 10,884,659
Granted Patent B2
US 10,884,659 · App. 16/023,177 · Granted Jan 5, 2021

Host timeout avoidance in a memory device

Inventors: Nadav Grosz (Broomfield, CO); David Aaron Palmer (Boise, ID)
Assignee: Micron Technology, Inc.
G06F3/0659G06F3/0604G06F3/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 10,884,659
App. No.
16/023,177
Granted
Jan 5, 2021
Kind
B2
Abstract

Devices and techniques for host timeout avoidance in a memory device are disclosed herein. A memory device command is received with a memory device from a host. A determination is made, with the memory device, of a host timeout interval associated with the received memory device command. A timer of the memory device is initialized to monitor a time interval from receipt of the memory device command. After partially performing the memory device command, a response to the host before the memory device timer interval reaches the host timeout interval is generated by the memory device.

Claims (40)

1. A method of preventing host reset commands of a memory device, the method comprising:

using one or more processors of a memory device to perform operations comprising:

receiving, a multi-block read command from a host device, the multi-block read command requesting that the memory device read multiple blocks of a memory array of a memory device;

determining a host timeout value associated with the received multi-block read command, the host timeout value being a maximum amount of time the host device waits for completion of the multi-block read command prior to sending a host reset command to the memory device, the host timeout value identified by the memory device based upon a time between receipt of a past multi-block read command and receipt of a host reset message;

initializing a timer of the memory device to monitor a time interval from receipt of the multi-block read command;

causing the multi-block read command to be executed;

determining that the timer either has expired or is within a predetermined time before expiry and the multi-block read command has not finished executing; and

responsive to determining that the timer either has expired or is within a predetermined time before expiry, and that the multi-block read command has not finished executing:

obtaining from a page buffer, data from a set of blocks already read from the memory array, the set of blocks less than a complete set of blocks specified in the multi-block read command; and

causing transmission of a response to the multi-block read command to the host device, wherein the response includes the data from the set of blocks already read from the memory array.

2. The method of claim 1 , wherein determining the host timeout value comprises:

accessing a list of stored host timeout values each associated with a different class of memory device commands; and

retrieving, from the list of stored host timeout values, the host timeout value associated with the multi-block read command.

3. The method of claim 2 , wherein the class corresponds to at least one of a size of a memory device command, and a frequency of memory device commands.

4. The method of claim 2 further comprising:

receiving a second multi-block read command at the memory device;

measuring a second host timeout value between receipt of the multi-block read command at the memory device and when a host reset signal associated with the second multi-block read command was received at the memory device; and

populating to the list of stored host timeout values, the measured second host timeout value for the multi-block read command.

5. The method of claim 1 , wherein the response is transmitted to the host device to cause the host device to reset a timer of the host device.

6. The method of claim 1 , wherein the memory device comprises a NAND storage device.

7. A memory system, comprising:

control circuitry configured to perform operations comprising:

receiving, a multi-block read command from a host device, the multi-block read command requesting that the memory system read multiple blocks of a memory array of a memory device;

determining a host timeout value associated with the received multi-block read command, the host timeout value being a maximum amount of time the host device waits for completion of the multi-block read command prior to sending a host reset command to the memory device, the host timeout value identified by the memory device based upon a time between receipt of a past multi-block read command and receipt of a host reset message;

initializing a timer of the memory device to monitor a time interval from receipt of the multi-block read command;

causing the multi-block read command to be executed;

determining that the timer either has expired or is within a predetermined time before expiry and the multi-block read command has not finished executing; and

responsive to determining that the timer either has expired or is within a predetermined time before expiry, and that the multi-block read command has not finished executing:

obtaining from a page buffer, data from a set of blocks already read from the memory array, the set of blocks less than a complete set of blocks specified in the multi-block read command; and

causing transmission of a response to the multi-block read command to the host device, wherein the response includes the data from the set of blocks already read from the memory array.

8. The memory system of claim 7 , wherein the operations of determining the host timeout value comprise:

accessing a list of stored host timeout values each associated with a different class of memory device commands; and

retrieving, from the list of stored host timeout values, the host timeout value associated with the multi-block read command.

9. The memory system of claim 8 , wherein the class corresponds to at least one of a size of a memory device command, and a frequency of memory device commands.

10. The memory system of claim 8 , wherein the operations further comprise

receiving a second multi-block read command at the memory device;

measuring a second host timeout value between receipt of the multi-block read command at the memory device and when a host reset signal associated with the second multi-block read command was received at the memory device; and

populating to the list of stored host timeout values, the measured second host timeout value for the multi-block read command.

11. The memory system of claim 7 , wherein the response is transmitted to the host device to cause the host device to reset a timer of the host device.

12. The memory system of claim 7 , wherein the memory system comprises a NAND storage device.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Oct 11, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050713/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2019
From: GROSZ, NADAV; PALMER, DAVID AARON
To: MICRON TECHNOLOGY, INC.
Reel/Frame 049203/0757 →
SUPPLEMENT NO. 9 TO PATENT SECURITY AGREEMENT Recorded Aug 9, 2018
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 047282/0463 →
Continuity (1)
Related Publication 20200004459A1 · Jan 2, 2020