IP Library › Granted Patent US 11,880,277
Granted Patent B2
US 11,880,277 · App. 16/582,358 · Granted Jan 23, 2024

Selecting an error correction code type for a memory device

Inventors: Sudhanva Gurumurthi (Austin, TX); Vilas Sridharan (Boxborough, MA)
Assignee: ADVANCED MICRO DEVICES, INC.
G06F11/1076
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,880,277
App. No.
16/582,358
Granted
Jan 23, 2024
Kind
B2
Abstract

Selecting an error correction code type for a memory device includes: selecting, by the memory device in dependence upon predefined selection criteria, one of a plurality of error correction code types and carrying out memory access requests utilizing the selected error correction code type.

Claims (53)

1. A method of selecting an error correction code type for a memory device, the method comprising:

selecting, by the memory device based on predefined selection criteria, one of a plurality of error correction code types, the memory device configured to store error correction code (ECC) encoded data; and

executing memory access requests utilizing the selected error correction code type.

2. The method of claim 1 , wherein selecting one of the plurality of error correction code types based on predefined selection criteria further comprises:

selecting one of the plurality of error correction code types based on a type of a connection coupling between the memory device and a host.

3. The method of claim 2 , further comprising:

responsive to detecting a different connection to a host, reselecting one of the plurality of error correction code types.

4. The method of claim 1 , wherein selecting one of the plurality of error correction code types based on predefined selection criteria further comprises:

selecting one of the plurality of error correction code types based on a level at which the memory device is assigned within a memory hierarchy.

5. The method of claim 1 , wherein selecting one of the plurality of error correction code types based on predefined selection criteria further comprises:

selecting one of the plurality of error correction code types based on access patterns of data stored on the memory device.

6. The method of claim 1 , wherein selecting one of the plurality of error correction code types based on predefined selection criteria further comprises:

selecting one of the plurality of error correction code types based on a communications distance between the memory device and a host, wherein the communications distance refers to a length of a data communications link coupling the memory device and the host.

7. The method of claim 1 , wherein selecting one of the plurality of error correction code types based on predefined selection criteria further comprises:

selecting one of the plurality of error correction code types during initialization of the memory device.

8. The method of claim 1 further comprising:

receiving, from a host of a system, location information of the memory device within the system without request from the memory device, wherein selecting one of the plurality of error correction code types further comprises selecting one of the plurality of error correction code types based on the received location information.

9. The method of claim 1 further comprising:

querying, by the memory device, a host of a system for location information of the memory device; and

receiving, from the host, the location information, wherein selecting one of the plurality of error correction code types further comprises selecting one of the plurality of error correction code types in dependence upon the received location information.

10. The method of claim 1 , wherein each of the plurality of error correcting code types comprises a different code-rate.

11. A memory device for selecting an error correction code type, the memory device comprising:

a memory including a plurality of error correction code types; and

error correction selection logic configured to:

select, based on predefined selection criteria, one of a plurality of error correction code types, the memory device configured to store error correction code (ECC) encoded data, and

execute memory access requests utilizing the selected error correction code type.

12. The memory device of claim 11 , wherein the error correction selection logic is further configured to carry out selecting one of the plurality of error correction code types based on predefined selection criteria by selecting one of the plurality of error correction code types based on a type of a connection coupling between the memory device and a host.

13. The memory device of claim 12 , wherein the error correction selection logic is further configured to reselect one of the plurality of error correction code types responsive to detecting a different connection to a host.

14. The memory device of claim 11 , wherein the error correction selection logic is further configured to select one of the plurality of error correction code types by selecting one of the plurality of error correction code types based on a level at which the memory device is assigned within a memory hierarchy.

15. The memory device of claim 11 , wherein the error correction selection logic is further configured to select one of the plurality of error correction code types based on predefined selection criteria by selecting one of the plurality of error correction code types based on access patterns of data stored on the memory device.

16. The memory device of claim 11 , wherein the error correction selection logic is further configured to select one of the plurality of error correction code types based on predefined selection criteria by selecting one of the plurality of error correction code types based on a communications distance between the memory device and a host, wherein the communications distance refers to a length of a data communications link coupling the memory device and the host.

17. The memory device of claim 11 , wherein the error correction selection logic is further configured to select one of the plurality of error correction code types based on predefined selection criteria by selecting one of the plurality of error correction code types during initialization of the memory device.

18. The memory device of claim 11 wherein the error correction selection logic is further configured to:

receive, from a host of a system, location information of the memory device within the system without request from the memory device, wherein selecting one of the plurality of error correction code types further comprises selecting one of the plurality of error correction code types based on the received location information.

19. The memory device of claim 11 , wherein the error correction selection logic is further configured to:

query a host of a system for location information of the memory device; and

receive, from the host, the location information, wherein selecting one of the plurality of error correction code types further comprises selecting one of the plurality of error correction code types based on the received location information.

20. The memory device of claim 11 , wherein each of the plurality of error correcting code types comprises a different code-rate.

21. A method of selecting an error correction code type, the method comprising:

determining, by a host of a system, a type of connection coupling a memory device to the host, wherein the memory device comprises a plurality of error correction code types;

selecting, by the host, one of the plurality of error correction code types based on the connection type; and

informing, by the host, the memory device of the selected error correction code type.

22. The method of claim 21 , wherein upon receiving the error correction code type selected by the host, the memory device is configured to execute memory access requests utilizing the selected error correction code.

23. A method of selecting an error correction code type, the method comprising:

determining, by a host of a system, a layer of a memory device within a memory hiearchy of the system's memory hierarchy, wherein the memory device comprises a plurality of error correction code types;

selecting, by the host, one of the plurality of error correction code types based on the layer of the memory device within the system's memory hierarchy; and

informing, by the host, the memory device of the selected error correction code type.

24. The method of claim 23 , wherein upon receiving the error correction code type selected by the host, the memory device is configured to execute memory access requests utilizing the selected error correction code.

25. A method of selecting an error correction code type, the method comprising:

determining, by a host of a system, a communications distance of a coupling of a memory device to the host, wherein the memory device comprises a plurality of error correction code types;

selecting, by the host, one of a plurality of error correction code types based on the communications distance of the coupling of the memory device to the host, wherein the communications distance refers to a length of a data communications link coupling the memory device and the host; and

informing, by the host, the memory device of the selected error correction code type.

26. The method of claim 25 , wherein upon receiving the error correction code type selected by the host, the memory device is configured to execute memory access requests utilizing the selected error correction code.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2019
From: GURUMURTHI, SUDHANVA; SRIDHARAN, VILAS
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 050487/0609 →
Continuity (1)
Related Publication 20210089398A1 · Mar 25, 2021
Cited By (1)
US 12,608,275