IP Library › Granted Patent US 12,300,339
Granted Patent B2
US 12,300,339 · App. 17/962,098 · Granted May 13, 2025

Performing memory testing using error correction code values

Inventors: Kok Hua Tan (Singapore, SG); Chee Hock Ngo (Singapore, SG); Michael T. Brady (Loveland, CO)
Assignee: Micron Technology, Inc.
G11C29/42G06F11/1004
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,300,339
App. No.
17/962,098
Granted
May 13, 2025
Kind
B2
Abstract

A system includes a memory component and a processing device operatively coupled with the memory component. The processing device performs a test of the memory component by generating an error correction code (ECC) value for an initial operation of the test based on an address in the memory component on which the initial operation of the test is performed, generating ECC values for subsequent operations of the test, and reporting the ECC value generated for the last of the subsequent operations of the test in an event log. The ECC value for each respective subsequent operation of the test is generated based on an address in the memory component on which that respective subsequent operation of the test is performed, and the ECC value generated for the operation of the test that was performed immediately before that respective subsequent operation.

Claims (45)

1. An apparatus, comprising:

a memory component; and

a processing device, operatively coupled with the memory component, to perform a test of blocks of memory cells of the memory component by:

generating an error correction code (ECC) value for an initial operation of the test based on an address in the memory component on which the initial operation of the test is performed;

generating ECC values for subsequent operations of the test, wherein the ECC value for each respective subsequent operation of the test is generated based on:

an address in the memory component on which that respective subsequent operation of the test is performed; and

the ECC value generated for the operation of the test that was performed immediately before that respective subsequent operation; and

reporting the ECC value generated for the last of the subsequent operations of the test in an event log; and

wherein the processing device is further to:

skip a block of the blocks of memory cells of the memory component while performing the test of the memory component, wherein the skipped block is a block of memory cells of the memory component used to store system data, wherein the system data includes data associated with manufacture of the memory component; and

report the skipped block of the blocks of memory cells in the event log after the block was skipped during the test;

wherein only the ECC value generated for the last of the subsequent operations of the test and the skipped block of the block of memory cells are reported in the event log.

2. The apparatus of claim 1 , wherein the ECC values for the initial operation and subsequent operations of the test are generated using a cyclic redundancy check (CRC) table.

3. The apparatus of claim 2 , wherein the CRC table includes the addresses in the memory component on which the initial operation and subsequent operations of the test are performed.

4. The apparatus of claim 1 , wherein the ECC values for the initial operation and subsequent operations of the test are generated using a cyclic redundancy check (CRC) function.

5. The apparatus of claim 1 , wherein the addresses in the memory component on which the initial operation and subsequent operations of the test are performed are logical addresses.

6. A method, comprising:

generating an error correction code (ECC) value for an initial operation of a test performed on blocks of memory cells of a memory component of a memory sub-system, wherein the ECC value is generated based on an address in the memory component on which the initial operation of the test is performed;

generating ECC values for subsequent operations of the test, wherein the ECC value for each respective subsequent operation of the test is generated based on:

an address in the memory component on which that respective subsequent operation of the test is performed; and

the ECC value generated for the operation of the test that was performed immediately before that respective subsequent operation;

comparing only the ECC value generated for the last of the subsequent operations of the test to an ECC value in an event log of the memory sub-system;

skipping a block of the blocks of memory cells of the memory component while performing the test on the memory component, wherein the skipped block is a block of memory cells of the memory component used to store system data, wherein the system data includes data programmed to the memory component during manufacture of the memory sub-system; and

reporting only the skipped block of the blocks of memory cells in the event log after the block was skipped during the test.

7. The method of claim 6 , wherein the method includes validating the test based on a result of the comparison.

8. The method of claim 6 , wherein the method includes invalidating the test based on a result of the comparison.

9. The method of claim 6 , wherein the method includes simulating, by a host system, the test after the test is performed on the blocks of memory cells of the memory component of the memory sub-system.

10. An apparatus, comprising:

an event log;

a memory component; and

a processing device, operatively coupled with the memory component, to:

perform a test of blocks of memory cells of the memory component by:

generating an error correction code (ECC) value for an initial operation of the test based on an address in the memory component on which the initial operation of the test is performed;

generating ECC values for subsequent operations of the test, wherein the ECC value for each respective subsequent operation of the test is generated based on:

an address in the memory component on which that respective subsequent operation of the test is performed; and

the ECC value generated for the operation of the test that was performed immediately before that respective subsequent operation;

validate the test using an ECC value in the event log and only the ECC value generated for the last of the subsequent operations of the test;

skip a block of the blocks of memory cells of the memory component while performing the test of the memory component, wherein the skipped block is a block of memory cells of the memory component used to store system data, wherein the system data includes data associated with, and programmed to the memory component during, manufacture of the memory component; and

report only the skipped block of the blocks of memory cells in the event log after the block was skipped during the test.

11. The apparatus of claim 10 , wherein validating the test using only the ECC value generated for the last of the subsequent operations of the test comprises validating the test without using the ECC value generated for the initial operation of the test and any of the ECC values generated for the subsequent operations of the test prior to the last of the subsequent operations of the test.

12. The apparatus of claim 10 , wherein the processing device is to validate the test responsive to the ECC value in the event log and the ECC value generated for the last of the subsequent operations of the test being a same value.

13. The apparatus of claim 10 , wherein the processing device is to invalidate the test using the ECC value in the event log and only the ECC value generated for the last of the subsequent operations of the test.

14. The apparatus of claim 13 , wherein the processing device is to invalidate the test responsive to the ECC value in the event log and the ECC value generated for the last of the subsequent operations of the test being different values.

15. The apparatus of claim 10 , wherein validating the test comprises validating that the initial operation and subsequent operations of the test were performed on correct addresses in the memory component.

16. The apparatus of claim 10 , wherein validating the test comprises validating that the initial operation and subsequent operations of the test were performed in a correct sequence.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2022
From: TAN, KOK HUA; NGO, CHEE HOCK; BRADY, MICHAEL T.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 061349/0525 →
Continuity (2)
Continuation 17190800 · Mar 3, 2021
Related Publication 20230034275A1 · Feb 2, 2023
References Cited (38)
US 3585378A · Bouricius et al. · 1971 [cited by applicant]
US 3950729A · Fletcher · 1976 [cited by examiner]
US 4939694A · Eaton et al. · 1990 [cited by applicant]
US 4980888A · Bruce et al. · 1990 [cited by applicant]
US 6012839A · Nguyen et al. · 2000 [cited by applicant]
US 6115763A · Douskey · 2000 [cited by examiner]
US 7257750B1 · Singh et al. · 2007 [cited by applicant]
US 7257763B1 · Srinivasan et al. · 2007 [cited by applicant]
US 8645811B2 · Sauber · 2014 [cited by examiner]
US 9286181B2 · Monroe · 2016 [cited by examiner]
US 9472308B1 · Hwang · 2016 [cited by applicant]
US 9785732B2 · Pusuluri · 2017 [cited by examiner]
US 10133664B2 · Yang · 2018 [cited by examiner]
US 10169177B1 · Shivaray · 2019 [cited by examiner]
US 10726940B2 · Li · 2020 [cited by examiner]
US 10777295B2 · Frolikov · 2020 [cited by examiner]
US 10803971B2 · Pyo et al. · 2020 [cited by applicant]
US 10825541B1 · Fu et al. · 2020 [cited by applicant]
US 20030217189A1 · Kelley · 2003 [cited by examiner]
US 20040103036A1 · Nilsson · 2004 [cited by examiner]
US 20050149824A1 · Arnez et al. · 2005 [cited by applicant]
US 20050182997A1 · Kushida et al. · 2005 [cited by applicant]
US 20060053361A1 · Kim · 2006 [cited by examiner]
US 20080235485A1 · Haertel et al. · 2008 [cited by applicant]
US 20090265403A1 · Fukumoto · 2009 [cited by applicant]
US 20090316501A1 · Bunker · 2009 [cited by examiner]
US 20100123005A1 · Guess et al. · 2010 [cited by applicant]
US 20140245097A1 · Larsen et al. · 2014 [cited by applicant]
US 20150363268A1 · Chandra · 2015 [cited by examiner]
US 20160133340A1 · Bowers et al. · 2016 [cited by applicant]
US 20170147416A1 · Ranjan et al. · 2017 [cited by applicant]
US 20170195164A1 · Kacel · 2017 [cited by examiner]
US 20170286197A1 · Halbert et al. · 2017 [cited by applicant]
US 20170315909A1 · Yang · 2017 [cited by examiner]
US 20190027230A1 · Ryu et al. · 2019 [cited by applicant]
KR 1020190033410A · 2019 [cited by applicant]
Wikipedia, “Cyclic redundancy check”, “https://en.wikipedia.org/wiki/Cyclic_redundancy_check#:˜:text=A%20cyclic%20redundancy%20check%20(CRC,polynomial%20division%20of%20their%20contents”, Mar. 3, 2021, 11 pages. [cited by applicant]
International Search Report and Written Opinion from related International Patent Application No. PCT/US2022/018113, dated Jun. 17, 2022, 10 pages. [cited by applicant]