IP Library › Granted Patent US 12,292,794
Granted Patent B2
US 12,292,794 · App. 18/397,399 · Granted May 6, 2025

Techniques for managing memory exception handling

Inventor: Santhosh Kumar Siripragada (Telangana, IN)
Assignee: Micron Technology, Inc.
G06F11/1068G06F3/0619G06F3/0656G06F3/0679G06F11/0772
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 12,292,794
App. No.
18/397,399
Granted
May 6, 2025
Kind
B2
Abstract

Methods, systems, and devices for techniques for managing memory exception handling are described. A memory device may write first data associated with a first access command to a first portion of a buffer of a memory device. The memory device may determine a programming failure to write second data to a page of a first block of the memory device. In response to determining the programming failure, the memory device may perform an access operation associated with the first access command to vacate the first data from the first portion of the buffer. In response, the memory device may write the second data to the first portion of the buffer. The memory device may write the second data from the first portion of the buffer to a page of a second block of the memory device in response to writing the second data to the first portion of the buffer.

Claims (55)

1. An apparatus, comprising:

a memory device; and

a controller coupled with the memory device and configured to cause the apparatus to:

write first data associated with a first access command to a first portion of a buffer of the memory device, the first portion of the buffer allocated for the first access command;

determine a programming failure to write second data to a page of a first block of the memory device, the second data associated with a second access command;

perform an access operation associated with the first access command to vacate the first data from the first portion of the buffer in response to determining the programming failure of the second data associated with the second access command;

write the second data associated with the second access command to the first portion of the buffer based at least in part on performing the access operation; and

write the second data from the first portion of the buffer to a page of a second block of the memory device based at least in part on writing the second data to the first portion of the buffer.

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

receive the second access command to write the second data to the page of the first block.

3. The apparatus of claim 1 , wherein the controller is further configured to cause the apparatus to:

write the second data to a register of the memory device in response to the programming failure; and

write the second data from the register to the first portion of the buffer.

4. The apparatus of claim 1 , wherein the controller is further configured to cause the apparatus to:

write data from one or more pages of the first block preceding the page of the first block to the second block based at least in part on a maintenance operation, the page of the first block being determined to include the programming failure.

5. The apparatus of claim 4 , wherein the maintenance operation is one of a wear leveling operation, garbage collection operation, relocation operation, or refresh operation.

6. The apparatus of claim 1 , wherein the controller is further configured to cause the apparatus to:

release the second data from the first portion of the buffer based at least in part on writing the second data from the first portion of the buffer to the page of the second block;

write, to the first portion of the buffer, third data from a first page of one or more pages preceding the page of the first block, the page of the first block being determined to include the programming failure; and

write the third data from the first portion of the buffer to a first page of the second block.

7. The apparatus of claim 6 , wherein the first page of the first block directly precedes the page of the first block and the first page of the second block directly precedes the page of the second block.

8. The apparatus of claim 1 , wherein the controller is further configured to cause the apparatus to:

refrain from performing one or more additional access operations based at least in part on determining the programming failure of the page of the first block.

9. The apparatus of claim 1 , wherein the controller is further configured to cause the apparatus to:

refrain from receiving one or more additional access commands based at least in part on determining the programming failure of the page of the first block.

10. The apparatus of claim 1 , wherein the controller is further configured to cause the apparatus to:

perform one or more additional access operations to vacate data from the buffer in response to determining the programming failure of the second data associated with the second access command.

11. The apparatus of claim 1 , wherein the controller is further configured to cause the apparatus to:

allocate the first portion of the buffer to write the second data based at least in part on performing the access operation, wherein writing the second data to the first portion of the buffer is based at least in part on allocating the first portion of the buffer.

12. The apparatus of claim 1 , wherein the controller is further configured to cause the apparatus to:

select the second block from the memory device based at least in part on determining the programming failure, wherein writing the second data from the first portion of the buffer to the page of the second block is based at least in part on selecting the second block.

13. The apparatus of claim 1 , wherein the buffer is volatile memory.

14. The apparatus of claim 1 , wherein the first block and the second block are non-volatile blocks.

15. A non-transitory computer-readable medium storing code comprising instructions which, when executed by a processor of an electronic device, cause the electronic device to:

write first data associated with a first access command to a first portion of a buffer of a memory device, the first portion of the buffer allocated for the first access command;

determine a programming failure to write second data to a page of a first block of the memory device, the second data associated with a second access command;

perform an access operation associated with the first access command to vacate the first data from the first portion of the buffer in response to determining the programming failure of the second data associated with the second access command;

write the second data associated with the second access command to the first portion of the buffer based at least in part on performing the access operation; and

write the second data from the first portion of the buffer to a page of a second block of the memory device based at least in part on writing the second data to the first portion of the buffer.

16. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the processor of the electronic device, further cause the electronic device to:

write the second data to a register of the memory device in response to the programming failure; and

write the second data from the register to the first portion of the buffer.

17. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the processor of the electronic device, further cause the electronic device to:

write data from one or more pages of the first block preceding the page of the first block to the second block based at least in part on a maintenance operation, the page of the first block being determined to include the programming failure.

18. The non-transitory computer-readable medium of claim 17 , wherein the maintenance operation is one of a wear leveling operation, garbage collection operation, relocation operation, or refresh operation.

19. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the processor of the electronic device, further cause the electronic device to:

release the second data from the first portion of the buffer based at least in part on writing the second data from the first portion of the buffer to the page of the second block;

write, to the first portion of the buffer, third data from a first page of one or more pages preceding the page of the first block, the page of the first block being determined to include the programming failure; and

write the third data from the first portion of the buffer to a first page of the second block.

20. A method, comprising:

writing first data associated with a first access command to a first portion of a buffer of a memory device, the first portion of the buffer allocated for the first access command;

determining a programming failure to write second data to a page of a first block of the memory device, the second data associated with a second access command;

performing an access operation associated with the first access command to vacate the first data from the first portion of the buffer in response to determining the programming failure of the second data associated with the second access command;

writing the second data associated with the second access command to the first portion of the buffer based at least in part on performing the access operation; and

writing the second data from the first portion of the buffer to a page of a second block of the memory device based at least in part on writing the second data to the first portion of the buffer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2025
From: SIRIPRAGADA, SANTHOSH KUMAR
To: MICRON TECHNOLOGY, INC.
Reel/Frame 070049/0615 →
Continuity (2)
Provisional Application 63439793 · Jan 18, 2023
Related Publication 20240241788A1 · Jul 18, 2024
References Cited (13)
US 8555027B2 · Kimura · 2013 [cited by examiner]
US 10114578B2 · Li · 2018 [cited by examiner]
US 11362685B2 · Hirano · 2022 [cited by examiner]
US 20100174951A1 · Yamashita · 2010 [cited by examiner]
US 20130117632A1 · Fujinami · 2013 [cited by examiner]
US 20140372667A1 · Tan · 2014 [cited by examiner]
US 20210223994A1 · Kanno · 2021 [cited by examiner]
US 20210311826A1 · Senoo · 2021 [cited by examiner]
US 20220130485A1 · Hwang · 2022 [cited by examiner]
US 20220229585A1 · Kang · 2022 [cited by examiner]
US 20220261186A1 · Oh · 2022 [cited by examiner]
US 20240070067A1 · Choi · 2024 [cited by examiner]
D. Lee et al., “Improving Write Performance Through Reliable Asynchronous Operation in Physically-Addressable SSD,” in IEEE Access, vol. 8, pp. 195528-195540, 2020, (Year: 2020). [cited by examiner]