IP Library › Granted Patent US 11,860,714
Granted Patent B1
US 11,860,714 · App. 18/048,286 · Granted Jan 2, 2024

Error notification using an external channel

Inventors: Yoav Weinberg (Toronto, CA); Chandrakanth Rapalli (Hyderabad, IN); Tal Sharifie (Lehavim, IL)
Assignee: Micron Technology, Inc.
G06F11/0766G06F11/1096
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,860,714
App. No.
18/048,286
Granted
Jan 2, 2024
Kind
B1
Abstract

Methods, systems, and devices for error notification using an external channel are described. In some cases, a memory system having a host-driven logical block interface may issue a notification of a detected error using an out of band channel. For example, after receiving a data unit from a host system but prior to storing the data in a memory array of the memory system, the memory system may transmit an acknowledgment to host system to indicate that the data was successfully received. As part of storing the data, the memory system may transfer the data along data paths between various components and perform parity checks at each component. If the memory system detects an error along a data path, the memory system may issue a notification of the error to the host system over the out of band channel.

Claims (77)

1. An apparatus, comprising:

an interface controller configured to cause the apparatus to:

receive, via a host-driven logical block interface, a write command comprising first data and first parity information associated with the first data; and

acknowledge, via the host-driven logical block interface in response to receiving the write command, that the first data has been received based on determining that the first parity information matches second parity information generated from the first data; and

a memory controller configured to cause the apparatus to:

perform one or more operations on second data and third parity information associated with the second data, wherein the second data comprises the first data;

identify an error associated with performing the one or more operations on the second data after acknowledging that the first data has been received; and

transmit an indication of the error over a channel external to the host-driven logical block interface.

2. The apparatus of claim 1 , wherein the interface controller is further configured to:

generate a protocol unit based on receiving the write command, wherein the protocol unit comprises the second data and the third parity information associated with the second data, and wherein performing the one or more operations is based on generating the protocol unit.

3. The apparatus of claim 2 , wherein the memory controller comprises a data storage controller, and wherein, to perform the one or more operations, the data storage controller is configured to cause the apparatus to:

receive the protocol unit;

generate fourth parity information associated with the second data based on receiving the protocol unit;

compare the third parity information with the fourth parity information based on generating the fourth parity information; and

issue, to the interface controller, a second indication that the fourth parity information does not match the third parity information, wherein transmitting the indication of the error is based on issuing the second indication.

4. The apparatus of claim 2 , wherein the memory controller comprises a data storage controller, and wherein, to perform the one or more operations, the data storage controller is configured to cause the apparatus to:

receive the protocol unit;

generate, by the data storage controller, fourth parity information associated with the second data based on receiving the protocol unit;

compare the third parity information with the fourth parity information based on generating the fourth parity information; and

store the second data of the protocol unit and the fourth parity information in a memory array.

5. The apparatus of claim 4 , wherein, to perform the one or more operations, the memory controller is further configured to cause the apparatus to:

perform one or more maintenance operations on the memory array based on storing the second data in the memory array;

generate fifth parity information associated with the second data as part of performing the one or more maintenance operations;

compare the fifth parity information with the fourth parity information based on generating the fourth parity information; and

issue, to the interface controller, a second indication that the fifth parity information does not match the fourth parity information, wherein transmitting the indication of the error is based on issuing the second indication.

6. The apparatus of claim 2 , wherein the protocol unit comprises a Universal Flash Storage Protocol Information Unit (UPIU).

7. The apparatus of claim 1 , wherein, to perform the one or more operations, the memory controller is configured to cause the apparatus to:

perform an operation to determine one or more supply voltages; and

determine whether a supply voltage of the one or more supply voltages is within a voltage range, wherein transmitting the indication of the error is based on determining that the supply voltage is not within the voltage range.

8. The apparatus of claim 1 , wherein, to perform the one or more operations, the memory controller is configured to cause the apparatus to:

perform an operation to determine a temperature; and

determine whether the temperature is within a temperature range, wherein transmitting the indication of the error is based on determining that the temperature is not within the temperature range.

9. The apparatus of claim 1 , wherein the channel comprises a general purpose input/output (GPIO) channel.

10. The apparatus of claim 1 , wherein the host-driven logical block interface comprises a universal flash storage (UFS) interface.

11. The apparatus of claim 1 , wherein the interface controller receives the write command via a physical interface comprising one or more serial data lanes.

12. The apparatus of claim 1 , wherein:

the interface controller is configured to communicate over the host-driven logical block interface in response to receiving one or more commands over the host-driven logical block interface.

13. A non-transitory computer-readable medium storing code, the code comprising instructions executable by a processor to:

receive, at an interface controller of a memory system, a write command comprising first data and first parity information associated with the first data, wherein the interface controller comprises a host-driven logical block interface;

acknowledge, via the host-driven logical block interface in response to receiving the write command, that the first data has been received based on determining that the first parity information matches second parity information generated from the first data;

perform one or more operations on second data and third parity information associated with the second data, wherein the second data comprises the first data;

identify an error associated with performing the one or more operations on the second data after acknowledging that the first data has been received; and

transmit an indication of the error over a channel that is external to the host-driven logical block interface.

14. The non-transitory computer-readable medium of claim 13 , wherein the instructions are further executable by the processor to:

generate, by the interface controller, a protocol unit based on receiving the write command, wherein the protocol unit comprises the second data and the third parity information associated with the second data, and wherein performing the one or more operations is based on generating the protocol unit.

15. The non-transitory computer-readable medium of claim 14 , wherein the instructions to perform the one or more operations are executable by the processor to:

receive, by a data storage controller of the memory system, the protocol unit;

generate, by the data storage controller, fourth parity information associated with the second data based on receiving the protocol unit;

compare the third parity information with the fourth parity information based on generating the fourth parity information; and

issue, to the interface controller, a second indication that the fourth parity information does not match the third parity information, wherein transmitting the indication of the error is based on issuing the second indication.

16. The non-transitory computer-readable medium of claim 14 , wherein the instructions to perform the one or more operations are executable by the processor to:

receive, by a data storage controller of the memory system, the protocol unit;

generate, by the data storage controller, fourth parity information associated with the second data based on receiving the protocol unit;

compare the third parity information with the fourth parity information based on generating the fourth parity information; and

store the second data of the protocol unit and the fourth parity information in a memory array of the memory system.

17. The non-transitory computer-readable medium of claim 16 , wherein the instructions to perform the one or more operations are further executable by the processor to:

perform one or more maintenance operations on the memory array based on storing the second data in the memory array;

generate fifth parity information associated with the second data as part of performing the one or more maintenance operations;

compare the fifth parity information with the fourth parity information based on generating the fourth parity information; and

issue, to the interface controller, a second indication that the fifth parity information does not match the fourth parity information, wherein transmitting the indication of the error is based on issuing the second indication.

18. The non-transitory computer-readable medium of claim 14 , wherein the protocol unit comprises a Universal Flash Storage Protocol Information Unit (UPIU).

19. The non-transitory computer-readable medium of claim 13 , wherein the instructions to perform the one or more operations are executable by the processor to:

perform an operation to determine one or more supply voltages; and

determine whether a supply voltage of the one or more supply voltages is within a voltage range, wherein transmitting the indication of the error is based on determining that the supply voltage is not within the voltage range.

20. The non-transitory computer-readable medium of claim 13 , wherein the instructions to perform the one or more operations are executable by the processor to:

perform an operation to determine a temperature of the memory system; and

determine whether the temperature is within a temperature range, wherein transmitting the indication of the error is based on determining that the temperature is not within the temperature range.

21. The non-transitory computer-readable medium of claim 13 , wherein the channel comprises a general purpose input/output (GPIO) channel.

22. The non-transitory computer-readable medium of claim 13 , wherein the host-driven logical block interface comprises a universal flash storage (UFS) interface.

23. A method, comprising: receiving, at an interface controller of a memory system, a write command comprising first data and first parity information associated with the first data, wherein the interface controller comprises a host-driven logical block interface; acknowledging, via the host-driven logical block interface in response to receiving the write command, that the first data has been received based on determining that the first parity information matches second parity information generated from the first data; performing one or more operations on second data and third parity information associated with the second data, wherein the second data comprises the first data; identifying an error associated with performing the one or more operations on the second data after acknowledging that the first data has been received; and transmitting an indication of the error over a channel that is external to the host-driven logical block interface.

24. The method of claim 23 , further comprising:

generating, by the interface controller, a protocol unit based on receiving the write command, wherein the protocol unit comprises the second data and the second parity information associated with the second data, and wherein performing the one or more operations is based on generating the protocol unit.

25. The method of claim 24 , wherein performing the one or more operations comprises:

receiving, by a data storage controller of the memory system, the protocol unit;

generating, by the data storage controller, third parity information associated with the second data based on receiving the protocol unit;

comparing the second parity information with the third parity information based on generating the third parity information; and

issuing, to the interface controller, a second indication that the third parity information does not match the second parity information, wherein transmitting the indication of the error is based on issuing the second indication.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2022
From: WEINBERG, YOAV; RAPALLI, CHANDRAKANTH; SHARIFIE, TAL
To: MICRON TECHNOLOGY, INC.
Reel/Frame 062238/0333 →
Cited By (2)
US 12,645,519 US 12,748,694