IP Library Granted Patent US 12,321,643
Granted Patent B2
US 12,321,643 · App. 18/591,932 · Granted Jun 3, 2025

Memory command verification

Inventors: Scott E. Schaefer (Boise, ID); Aaron P. Boehm (Boise, ID)
G06F3/0659G06F3/0607G06F3/0658G06F3/0688G06F9/30196
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,321,643
App. No.
18/591,932
Granted
Jun 3, 2025
Kind
B2
Abstract

Methods, systems, and devices for performing memory command verification are described. A system may include a memory device and a memory controller, which may be external (e.g., a host device). The memory device may receive, from the memory controller, a command indicating a type of operation and an address. The memory device may decode the command and execute an operation (e.g., the operation corresponding to the decoded command) at an execution location on the memory device. The system (e.g., the memory device or the memory controller) may determine whether the executed operation and execution location match the type of operation and address indicated in the command, and the system may thereby determine an error associated with the decoding, the execution, or both of the command.

Claims (60)

1. A method, comprising:

receiving a series of commands at a memory device, wherein the series of commands comprises a command;

determining an error associated with the command;

accessing respective locations of a memory array of the memory device in response to the series of commands, wherein accessing at least one of the respective locations occurs concurrently with determining the error; and

transmitting signaling to a host device that indicates the error associated with the command.

2. A method, comprising:

receiving a command at a memory device, wherein the command is associated with a first location of a memory array;

determining a second location of the memory array that is accessed based on receiving the command;

determining an error associated with the command based at least in part on comparing the first location and the second location; and

transmitting signaling to a host device that indicates the error associated with the command.

3. The method of claim 2 , further comprising:

decoding the command, wherein the second location is accessed based at least in part on the decoding the command.

4. The method of claim 2 , further comprising:

determining, based at least in part on the command, an instruction for access of the memory array; and

determining the error based at least in part on comparing a type of access for the second location to the instruction.

5. The method of claim 2 , further comprising:

determining a matrix (MAT) or a sub-array of the memory array corresponding to the second location of the memory array; and

determining the error associated with the command based at least in part on the MAT or the sub-array of the memory array.

6. The method of claim 1 , wherein the memory device comprises a dynamic random access memory (DRAM), and wherein the command is received at the DRAM.

7. A memory device, comprising:

one or more memories storing processor-executable code; and

one or more processors coupled with the one or more memories and operable to execute the code to cause the memory device to:

receive a series of commands at the memory device, wherein the series of commands comprises a command;

determine an error associated with the command;

access respective locations of a memory array of the memory device in response to the series of commands, wherein accessing at least one of the respective locations occurs concurrently with determining the error; and

transmit signaling to a host device that indicates the error associated with the command.

8. A memory device, comprising:

one or more memories storing processor-executable code; and

one or more processors coupled with the one or more memories and operable to execute the code to cause the memory device to:

receive a command at the memory device, wherein the command is associated with a first location of a memory array;

determine a second location of the memory array that is accessed based on receiving the command;

determine an error associated with the command based at least in part on comparing the first location and the second location; and

transmit signaling to a host device that indicates the error associated with the command.

9. The memory device of claim 8 , wherein the one or more processors are individually or collectively further operable to execute the code to cause the memory device to:

decode the command, wherein the second location is accessed based at least in part on the decoding the command.

10. The memory device of claim 8 , wherein the one or more processors are individually or collectively further operable to execute the code to cause the memory device to:

determine, based at least in part on the command, an instruction for access of the memory array; and

determine the error based at least in part on comparing a type of access for the second location to the instruction.

11. The memory device of claim 8 , wherein the one or more processors are individually or collectively further operable to execute the code to cause the memory device to:

determine a matrix (MAT) or a sub-array of the memory array corresponding to the second location of the memory array; and

determine the error associated with the command based at least in part on the MAT or the sub-array of the memory array.

12. The memory device of claim 8 , wherein the memory device comprises a dynamic random access memory (DRAM), and wherein the command is received at the DRAM.

13. A non-transitory computer-readable medium storing code, the code comprising instructions executable by one or more processors to:

receive a series of commands at a memory device, wherein the series of commands comprises a command;

determine an error associated with the command;

access respective locations of a memory array of the memory device in response to the series of commands, wherein accessing at least one of the respective locations occurs concurrently with determining the error; and

transmit signaling to a host device that indicates the error associated with the command.

14. A non-transitory computer-readable medium storing code, the code comprising instructions executable by one or more processors to:

receive a command at a memory device, wherein the command is associated with a first location of a memory array;

determine a second location of the memory array that is accessed based on receiving the command;

determine an error associated with the command based at least in part on comparing the first location and the second location; and

transmit signaling to a host device that indicates the error associated with the command.

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

decode the command, wherein the second location is accessed based at least in part on the decoding the command.

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

determine, based at least in part on the command, an instruction for access of the memory array; and

determine the error based at least in part on comparing a type of access for the second location to the instruction.

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

determine a matrix (MAT) or a sub-array of the memory array corresponding to the second location of the memory array; and

determine the error associated with the command based at least in part on the MAT or the sub-array of the memory array.

Continuity (4)
Continuation 17470594 · Sep 9, 2021
Continuation 16579095 · Sep 23, 2019
Provisional Application 62746274 · Oct 16, 2018
Related Publication 20240201908A1 · Jun 20, 2024
References Cited (17)
US 20070143542A1 · Watanabe et al. · 2007 [cited by applicant]
US 20070277085A1 · Goessel et al. · 2007 [cited by applicant]
US 20100100660A1 · Tamagawa · 2010 [cited by applicant]
US 20110145474A1 · Intrater · 2011 [cited by applicant]
US 20120030531A1 · Brewerton et al. · 2012 [cited by applicant]
US 20140281686A1 · Ware · 2014 [cited by applicant]
US 20150149739A1 · Seo et al. · 2015 [cited by applicant]
US 20150268875A1 · Jeddeloh · 2015 [cited by applicant]
US 20160092293A1 · Ishii et al. · 2016 [cited by applicant]
US 20190034365A1 · Lovelace · 2019 [cited by examiner]
CN 101359513A · 2009 [cited by applicant]
JP 2002251332A · 2002 [cited by applicant]
KR 1020140100752A · 2014 [cited by applicant]
WO 2018175001 · 2018 [cited by applicant]
China Patent Office, “First Office Action,” issued in connection with China Patent Application No. 201980075919.8, dated Nov. 26, 2021 (16 pages). [cited by applicant]
European Patent Office, “Search Report and Search Opinion”, issued in connection with European Patent Application No. 19873601.9 dated Feb. 11, 2022 (8 pages). [cited by applicant]
International Search Report and Written Opinion received for PCT Patent Application No. PCT/US19/54760, mailed on Jan. 23, 2020, 8 pages. [cited by applicant]