IP Library Granted Patent US 11,681,581
Granted Patent B1
US 11,681,581 · App. 17/845,770 · Granted Jun 20, 2023

Data integrity protection with partial updates

Inventors: Ishai Ilani (Dolev, IL); Ran Zamir (Ramat Gan, IL); Karin Inbar (Ramat Hasharon, IL); Eran Sharon (Rishon Lezion, IL); Idan Alrod (Herzliya, IL)
Assignee: Western Digital Technologies, Inc.
G06F11/1068G06F3/0619G06F3/0659G06F3/0673G06F11/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 11,681,581
App. No.
17/845,770
Granted
Jun 20, 2023
Kind
B1
Abstract

Effective use of cyclic redundancy check (CRC) signatures is achieved where each sector of a flash management unit (FMU) has a distinct CRC signature. The CRC signatures are XORed together to create a total CRC signature for the FMU. When a host device updates a single sector of the FMU, the CRC signature for the updated single sector can be changed by removing the old CRC signature corresponding to the single sector and replacing the old CRC signature with a new CRC signature corresponding to the updated single sector. The old CRC signature is XORed from the total CRC signature and then the new CRC signature is XORed with the remaining CRC signatures to create a new total CRC signature. In so doing, data integrity is ensured.

Claims (42)

1. A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller is configured to:

calculate a first cyclic redundancy check (CRC) signature for a first sector of a flash management unit (FMU) within the memory device;

calculate a second CRC signature for a second sector of the FMU;

combine the first CRC signature and the second CRC signature into a total CRC signature for the FMU;

calculate a new second CRC signature; and

combine the new second CRC signature with the first CRC signature to create a new total CRC signature.

2. The data storage device of claim 1 , wherein combining the first CRC signature and the second CRC signature into a total CRC signature comprises XORing the first CRC signature and the second CRC signature.

3. The data storage device of claim 1 , wherein the controller is configured to receive an indication that a host device wants to update the second sector of the FMU.

4. The data storage device of claim 3 , wherein the controller is configured to read the FMU in response to the indication and overwrite the second sector.

5. The data storage device of claim 4 , wherein receiving the indication occurs after the combining the first CRC signature and the second CRC signature into a total CRC signature, wherein the controller is configured to recalculate the second CRC signature and calculate the new second CRC signature prior to overwriting the second sector and after reading the FMU.

6. The data storage device of claim 4 , wherein reading the FMU comprises validating the total CRC signature by recalculating the first CRC signature and the second CRC signature.

7. The data storage device of claim 6 , wherein reading the FMU comprises comparing the total CRC signature to a CRC signature stored in the memory device in a different location.

8. The data storage device of claim 7 , wherein the controller is configured to store the first CRC signature, the second CRC signature, and the new second CRC signature in the controller separate from the memory device.

9. The data storage device of claim 1 , wherein the controller is configured to calculate the first CRC signature and the second CRC signature and the new second CRC signature using matrices, wherein a number of matrices maintained by the controller is equal to log 2 N sectors where N sectors is a number of sectors for the FMU, wherein the number of sectors is equal to 8, wherein the number of matrices is 3, and wherein the matrices correspond to first, second, and fourth sectors.

10. The data storage device of claim 1 , wherein the controller is configured to:

receive a request from a host device to write a subset of sectors in the FMU;

read the total CRC signature;

check the total CRC signature;

calculate an old sector CRC signature;

calculate a new sector CRC signature;

calculate the new total CRC signature by XORing the old sector CRC signature and the new sector CRC signature with the total CRC signature; and

adding the new total CRC signature to a payload.

11. A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller is configured to:

remove at least one sector cyclic redundancy check (CRC) signature corresponding to at least one sector from a total CRC signature to result in a partial CRC signature;

calculate a new CRC signature for the at least one sector; and

combine the new CRC signature with the partial CRC signature.

12. The data storage device of claim 11 , wherein the removing comprises XORing the at least one CRC signature from the total CRC signature.

13. The data storage device of claim 11 , wherein combining the new CRC signature with the partial CRC signature comprises XORing the new CRC signature with the partial CRC signature to create a new total CRC signature.

14. The data storage device of claim 11 , wherein the controller is configured to store the total CRC signature at an end of a flash management unit (FMU).

15. The data storage device of claim 11 , wherein the removing occurs during a read modify write procedure.

16. The data storage device of claim 11 , wherein the removing occurs prior to overwriting the at least one sector and after recalculating the at least one sector CRC signature.

17. The data storage device of claim 16 , wherein the combining occurs after the overwriting.

18. A data storage device, comprising:

a memory means; and

a controller coupled to the memory means, wherein the controller is configured to:

update a total cyclic redundancy check (CRC) signature for a flash management unit (FMU) of the memory means by removing an outdated CRC signature corresponding to a sector of the FMU and adding in a new CRC signature corresponding to the sector.

19. The data storage device of claim 18 , wherein the controller is configured to validate the total CRC signature prior to updating the total CRC signature.

20. The data storage device of claim 18 , wherein updating comprises XORing the new CRC signature and XORing the outdated CRC signature.

Assignments (8)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2022
From: ILANI, ISHAI; ZAMIR, RAN; INBAR, KARIN; SHARON, ERAN; ALROD, IDAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 060270/0697 →