IP Library Granted Patent US 12,164,437
Granted Patent B2
US 12,164,437 · App. 18/306,110 · Granted Dec 10, 2024

Methods of memory address verification and memory devices employing the same

Inventor: Alberto Troia (Munich, DE)
G06F12/1018G06F3/061G06F3/0655G06F3/0688G06F12/0246G06F2212/7201
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,164,437
App. No.
18/306,110
Granted
Dec 10, 2024
Kind
B2
Abstract

A memory device and methods for operating the same are provided. The memory device includes an array of memory cells, a non-volatile memory, and a controller. The controller is configured to receive a read command to read a data word from an address of the array and decode the address to generate a decoded address. The controller is further configured to retrieve response data from the decoded address of the array, retrieve a location indicia corresponding to the decoded address from the non-volatile memory, and verify that the location indicia corresponds to the address. The controller can optionally be further configured to indicate an error if the location indicia does not correspond to the address.

Claims (56)

1. An apparatus, comprising:

a volatile memory device comprising a first array of volatile memory cells;

a non-volatile memory device comprising a second array of non-volatile memory cells; and

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

generate a first physical address of the first array of volatile memory cells based at least in part on decoding a logical address of the first array of volatile memory cells indicated by a read command;

read a location identifier from a second physical address of the second array of non-volatile memory cells based at least in part on generating the first physical address, wherein the second physical address of the second array of non-volatile memory cells is the same as the first physical address of the first array of volatile memory cells;

determine, based at least in part on reading the location identifier, whether the location identifier corresponds to the logical address; and

verify that the first physical address was generated without one or more errors based at least in part on determining that the location identifier corresponds to the logical address.

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

transmit an indication of the one or more errors to a host device based at least in part on determining that the location identifier does not correspond to the logical address.

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

read data associated with the read command from the first physical address based at least in part on generating the first physical address.

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

transmit the data read from the first physical address to a host device based at least in part on verifying that the first physical address was generated without the one or more errors.

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

receive, from a host device, the read command indicating the logical address; and

decode the logical address based at least in part on receiving the read command.

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

generate a plurality of location identifiers comprising at least the location identifier, wherein each location identifier of the plurality of location identifiers corresponds to a respective logical address of the first array of volatile memory cells; and

store the plurality of location identifiers in the second array of non-volatile memory cells.

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

disable reading the location identifier from the second physical address based at least in part on determining not to verify that the first physical address was generated without the one or more errors.

8. The apparatus of claim 1 , wherein the location identifier comprises the logical address or a hash of the logical address.

9. An apparatus, comprising:

a volatile memory device comprising an array of volatile memory cells;

a first non-volatile memory device comprising a first array of non-volatile memory cells;

a second non-volatile memory device comprising a second array of non-volatile memory cells; and

a controller coupled with the volatile memory device, the first non-volatile memory device, and the second non-volatile memory device and configured to cause the apparatus to:

generate a first physical address of the array of volatile memory cells based at least in part on decoding a logical address of the array of volatile memory cells indicated by a read command,

read a first location identifier from a second physical address of the first array of non-volatile memory cells based at least in part on generating the first physical address, the second physical address corresponding to the first physical address;

read a second location identifier from a third physical address of the second array of non-volatile memory cells based at least in part on generating the first physical address, the third physical address corresponding to the first physical address;

determine, based at least in part on reading the first location identifier and the second location identifier, whether the first location identifier and the second location identifier correspond to the logical address; and

verify that the first physical address was generated without one or more errors based at least in part on determining that the first location identifier and the second location identifier correspond to the logical address.

10. The apparatus of claim 9 , wherein the controller is further co figured to cause the apparatus to:

transmit an indication of the one or more errors to a host device based at least in part on determining that the first location identifier or the second location identifier do not correspond to the logical address.

11. The apparatus of claim 9 , wherein the controller is further co figured to cause the apparatus to:

read data associated with the read command from the first physical address based at least in part on generating the first physical address.

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

transmit the data read from the first physical address to a host device based at least in part on verifying that the first physical address was generated without the one or more errors.

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

disable reading the first location identifier and the second location identifier based at least in part on determining not to verify that the first physical address was generated without the one or more errors.

14. The apparatus of claim 9 , wherein generating the first physical address further comprises generating a first component of the first physical address and a second component of the first physical address, and wherein determining whether the first location identifier and the second location identifier correspond to the logical address further comprises determining whether the first location identifier corresponds to the first component of the first physical address and whether the second location identifier corresponds to the second component of the first physical address.

15. The apparatus of claim 14 , wherein the first component of the first physical address comprises a first row, a first column, or a first block associated with the first physical address, and the second component of the first physical address comprises a second row, a second column, or a second block associated with the first physical address.

16. The apparatus of claim 14 , wherein the controller comprises:

a first decoder configured to decode the logical address to generate the first component of the first physical address; and

a second decoder configured to decode the logical address to generate the second component of the first physical address.

17. The apparatus of claim 10 , wherein the first location identifier comprises a first hash of at least a portion of the logical address and the second location identifier comprises a second hash of at least another portion of the logical address.

18. A method, comprising:

generating a first physical address of a first array of volatile memory cells based at least in part on decoding a logical address of the first array of volatile memory cells indicated by a write command;

reading a location identifier from a second physical address of a second array of non-volatile memory cells based at least in part on generating the first physical address, wherein the second physical address of the second array of non-volatile memory cells is the same as the first physical address of the first array of volatile memory cells;

determining, based at least in part on reading the location identifier, whether the location identifier corresponds to the logical address; and

verifying that the first physical address was generated without one or more errors based at least in part on determining that the location identifier corresponds to the logical address.

19. The method of claim 18 , further comprising:

transmitting an indication of the one or more errors to a host device based at least in part on determining that the location identifier does not correspond to the logical address.

20. The method of claim 18 , further comprising:

writing data associated with the write command to the first physical address based at least in part on generating the first physical address.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2023
From: TROIA, ALBERTO
To: MICRON TECHNOLOGY, INC.
Reel/Frame 064551/0709 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2023
From: MICRON TECHNOLOGY, INC.
To: LODESTAR LICENSING GROUP LLC
Reel/Frame 064551/0729 →
Continuity (3)
Continuation 17397449 · Aug 9, 2021
Continuation 15687069 · Aug 25, 2017
Related Publication 20240126701A1 · Apr 18, 2024