IP Library › Granted Patent US 11,068,336
Granted Patent B2
US 11,068,336 · App. 16/510,591 · Granted Jul 20, 2021

Generating error checking data for error detection during modification of data in a memory sub-system

Inventors: Ning Chen (San Jose, CA); Juane Li (Milpitas, CA); Fangfang Zhu (San Jose, CA)
Assignee: MICRON TECHNOLOGY, INC.
G06F11/1004G06F3/0619G06F3/0653G06F3/0673
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,068,336
App. No.
16/510,591
Granted
Jul 20, 2021
Kind
B2
Abstract

A request to store a first data is received. The first data and a first error-checking data are received. The first error-checking data can be based on a cyclic redundancy check (CRC) operation of the first data. A second data is generated by modifying the first data. A second error-checking data of the second data is generated by using the first error-checking data and a difference between the first data and the second data.

Claims (55)

1. A system comprising:

a memory component;

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

receive a request to store a first data;

receive the first data and a first error-checking data, the first error-checking data being based on a cyclic redundancy check (CRC) operation of the first data;

generate a second data by modifying the first data;

generate a second error-checking data of the second data by using the first error-checking data and a difference between the first data and the second data; and

determine whether the second data contains an error by comparing the second error-checking data with a third error-checking data generated from a CRC operation of the second data.

2. The system of claim 1 , wherein to generate the second error-checking data, the processing device is to:

update the first error-checking data based on a combination of the first data and the second data; and

generate the second error-checking data by combining the first error-checking data and the updated first error-checking data.

3. The system of claim 2 , wherein to update the first error-checking data, the processing device is to:

determine the difference between the first data and the second data; and

update the first error-checking data by applying a CRC operation to the difference between the first data and the second data.

4. The system of claim 1 , wherein to determine whether the second data contains the error, the processing device is to:

in response to determining that the second error-checking data matches the third error-checking data generated from the CRC operation of the second data, determine that the second data does not contain the error; and

in response to determining that the second error-checking data does not match the third error-checking data generated from the CRC operation of the second data, determine that the second data contains the error.

5. The system of claim 4 , the processing device is further to:

in response to determining that the second data does not contain the error, store the second data in association with the second error-checking data.

6. The system of claim 1 , wherein to modify the first data, the processing device is to modify the first data to the second data while maintaining the same data size.

7. A method comprising:

receiving a request to store a first data;

receiving the first data and a first error-checking data, the first error-checking data being based on a cyclic redundancy check (CRC) operation of the first data;

generating a second data by modifying the first data;

generating, by a processing device, a second error-checking data of the second data by using the first error-checking data and a difference between the first data and the second data; and

determining whether the second data contains an error by comparing the second error-checking data with a third error-checking data generated from a CRC operation of the second data.

8. The method of claim 7 , wherein the generating of the second error-checking data comprises:

updating the first error-checking data a third error-checking data based on a combination of the first data and the second data; and

generating the second error-checking data by combining the first error-checking data and the updated first error-checking data.

9. The method of claim 8 , wherein the updating of the first error-checking data comprises:

determining the difference between the first data and the second data; and

updating the first error-checking data by applying a CRC operation to the difference between the first data and the second data.

10. The method of claim 9 , wherein the determining of whether the second data contains the error comprises:

in response to determining that the second error-checking data matches the third error-checking data generated from the CRC operation of the second data, determining that the second data does not contain the error; and

in response to determining that the second error-checking data does not match the third error-checking data generated from the CRC operation of the second data, determining that the second data contains the error.

11. The method of claim 10 , further comprising:

in response to determining that the second data does not contain the error, storing the second data in association with the second error-checking data.

12. The method of claim 7 , wherein the modifying of the first data comprises modifying the first data to the second data while maintaining the same data size.

13. A method comprising:

receiving a request from a host system to retrieve a first data;

retrieving a second data associated with the first data and a second error-checking data of the second data, the second data corresponding to a modification of the first data and the second error-checking data being based on a cyclic redundancy check (CRC) operation of the second data;

generating the first data from the second data by reversing the modification;

generating a first error-checking data that is based on the second error-checking data and a difference between the first data and the second data;

determining, by a processing device, whether the first data contains an error by comparing the first error-checking data with an error-checking data generated based on a CRC operation of the first data, wherein the determining of whether the first data contains the error comprises:

in response to determining that the first error-checking data matches the error-checking data generated based on the CRC operation of the first data, determining that the first data does not contain the error, and

in response to determining that the first error-checking data does not match error-checking data generated based on the CRC operation of the first data, determining that the first data contains the error; and

in response to determining that the first data does not contain the error, providing the first data to the host system.

14. The method of claim 13 , wherein the generating of the first error-checking data comprises:

updating the second error-checking data based on a combination of the first data and the second data, the updated second error-checking data corresponding to the first error-checking data.

15. The method of claim 14 , wherein the updating of the second error-checking data comprises:

determining the difference between the first data and the second data; and

updating the second error-checking data by combining the second error-checking data with an error-checking data generated from a CRC operation of the difference between the first data and the second data.

16. The method of claim 13 , further comprising:

in response to determining that the first data contains the error, notifying a failure to retrieve the first data to the host system.

17. The method of claim 13 , wherein the reversing of the modification comprises modifying the second data back to the first data while maintaining the same data size.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2019
From: CHEN, NING; LI, JUANE; ZHU, FANGFANG
To: MICRON TECHNOLOGY, INC.
Reel/Frame 049846/0520 →
Continuity (1)
Related Publication 20210011800A1 · Jan 14, 2021