IP Library Granted Patent US 10,923,202
Granted Patent B2
US 10,923,202 · App. 16/054,109 · Granted Feb 16, 2021

Host-resident translation layer triggered host refresh

Inventor: David Aaron Palmer (Boise, ID)
Assignee: Micron Technology, Inc.
G11C16/3431G11C11/5635G11C16/10G11C16/28H01L27/115
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,923,202
App. No.
16/054,109
Granted
Feb 16, 2021
Kind
B2
Abstract

Devices and techniques are disclosed herein for verifying host generated physical addresses at a memory device during a host performance boost mode of operation to ameliorate erroneous or potentially malicious access to the memory device, and efficiently providing refreshed mapping information to the host during the host performance boost mode of operation.

Claims (67)

1. A method comprising:

receiving a memory operation request from a host at a non-volatile memory, the memory operation request including a logical block address (LBA) associated with the host and a physical address associated with the non-volatile memory;

determining a correct physical address associated with the LBA using an address mapping stored on the non-volatile memory;

comparing the correct physical address with the physical address received from the host;

when the correct physical address is different than the physical address received from the host, incrementing a first counter at the non-volatile memory;

comparing the first counter to a threshold value; and

when the first counter is at or over the threshold value, providing a refreshed address mapping table to the host.

2. The method of claim 1 , wherein the providing a refreshed address mapping table to the host includes sending a mapping table chunk including the LBA from the non-volatile memory to the host.

3. The method of claim 1 , wherein the memory operation request is a memory read request.

4. The method of claim 1 , wherein the memory operation request is a memory write request.

5. The method of claim 1 , including resetting the first counter after a predetermined amount of time to avoid refreshing the host for seldom encountered discrepancies.

6. The method of claim 1 , including using a mathematical operation on the LBA to determine the first counter is associated with the LBA, wherein a quotient of a result of the mathematical operation is an index to the first counter.

7. The method of claim 1 , wherein incrementing the first counter includes assigning the first counter with a range of LBAs and storing the range of LBAs assigned to the first counter in a counter assignment table on the non-volatile memory.

8. The method of claim 7 , including:

receiving a second memory operation request from the host at the non-volatile memory, the second memory operation request including a second logical block address (LBA) associated with the host and a second physical address associated with the non-volatile memory;

determining a second correct physical address associated with the second LBA using the address mapping table stored on the non-volatile memory;

comparing the second correct physical address with the second physical address received from the host;

when the second correct physical address is different than the second physical address received from the host:

using a modular mathematical operation on the second LBA to determine the first counter is associated with the second LBA;

retrieving the range of LBAs assigned to the first counter from the counter assignment table;

comparing the second LBA with the range of LBAs assigned to the first counter; and

if the second LBA is not within the range of LBAs assigned to the first counter:

assigning the first counter with a second range of LBAs and storing the second range of LBAs assigned to the first counter in the counter assignment table; and

resetting the first counter.

9. The method of claim 8 , if the second LBA is within the range of LBAs assigned to the first counter, incrementing the first counter.

10. The method of claim 7 , including:

receiving a second memory operation request from the host at the non-volatile memory, the second memory operation request including a second logical block address (LBA) associated with the host and a second physical address associated with the non-volatile memory;

determining a second correct physical address associated with the second LBA using the address mapping table stored on the non-volatile memory;

comparing the second correct physical address with the second physical address received from the host;

when the second correct physical address is different than the second physical address received from the host:

using a modular mathematical operation on the second LBA to determine the first counter associated with the second LBA;

retrieving the range of LBAs assigned to the first counter from the counter assignment table;

comparing the second LBA with the range of LBAs assigned to the first counter; and

if the second LBA is not within the range of LBAs assigned to the first counter:

assigning a second counter with a second range of LBAs and storing the second range of LBAs assigned to the second counter in the counter assignment table, wherein the second range of LBAs includes the second LBA; and

resetting the second counter.

11. The method of claim 10 , including:

determining the second LBA is within the range of LBAs assigned to the first counter; and

incrementing the first counter.

12. A memory device comprising:

a cache configured to hold a portion of a mapping table of the memory device;

flash memory configured to store and retrieve user data of a host, and to store the mapping table of the memory device; and

a controller configured to:

receive a memory operation request from a host, the memory operation request including a logical block address (LBA) associated with the host and a physical address associated with the flash memory;

determine a correct physical address associated with the LBA using the mapping table;

compare the correct physical address with the physical address received from the host;

when the correct physical address is different than the physical address received from the host, incrementing a counter of the memory device;

comparing the counter to a threshold value; and

when the counter satisfies the threshold value, providing a refreshed portion of the mapping table to the host.

13. The memory device of claim 12 , wherein the refreshed portion of the mapping table includes a chunk of the mapping table including the LBA and the correct physical address.

14. The memory device of claim 12 , wherein the controller is further configured to assign the counter with a range of LBAs and store the range of LBAs assigned to the counter in a counter assignment table on the memory device.

15. The memory device of claim 14 , wherein the controller is further configured to:

receive a second memory operation request from the host, the second memory operation request including a second LBA associated with the host and a second physical address associated with the flash memory;

determine a second correct physical address associated with the second LBA using the mapping table of the flash memory;

compare the second correct physical address with the second physical address received from the host;

when the second correct physical address is different than the second physical address received from the host:

execute a mathematical operation on the second LBA to determine a second counter associated with the second LBA;

retrieve the range of LBAs assigned to the second counter from the counter assignment table;

compare the second LBA with the range of LBAs assigned to the counter;

if the second LEA is not within the range of LBAs assigned to the second counter:

assign the second counter with a second range of LBAs and store the second range of LBAs assigned to the second counter in the counter assignment table; and

reset the second counter.

16. The memory device of claim 15 , if the second LBA is within the range of LBAs assigned to the second counter, the controller is configured to increment the second counter.

17. The memory device of claim 15 , wherein a quotient of the mathematical operation is an index to the second counter.

18. The memory device of claim 12 , wherein the memory operation request is a memory read request.

19. The memory device of claim 12 , wherein the memory operation request is a memory write request.

20. The memory device of claim 12 , wherein the counter is reset after a predetermined amount of time independent of a value of the counter to avoid refreshing the host for seldom encountered discrepancies.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 14, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051028/0835 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050719/0550 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2019
From: PALMER, DAVID AARON
To: MICRON TECHNOLOGY, INC.
Reel/Frame 048745/0077 →
SUPPLEMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Nov 13, 2018
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A.., AS COLLATERAL AGENT
Reel/Frame 047630/0756 →
SUPPLEMENT NO. 10 TO PATENT SECURITY AGREEMENT Recorded Nov 13, 2018
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048102/0420 →
Continuity (1)
Related Publication 20200043561A1 · Feb 6, 2020