IP Library Granted Patent US 12,417,030
Granted Patent B2
US 12,417,030 · App. 17/933,823 · Granted Sep 16, 2025

Toggle mode interface for data integrity protection

Inventors: Julian Vlaiko (Kfar Saba, IL); Siddhesh Darne (Milpitas, CA); Hanan Borukhov (Rehovot, IL); Venky Ramachandra (San Jose, CA); Grishma Shah (San Jose, CA); Dmitry Vaysman (San Jose, CA)
Assignee: Sandisk Technologies, Inc.
G06F3/0619G06F3/0653G06F3/0679
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,417,030
App. No.
17/933,823
Granted
Sep 16, 2025
Kind
B2
Abstract

Aspects of a storage device including a memory and a controller are provided, which allow for error detection or data integrity checking during data transfer of write operations and read operations. The controller may be configured to generate data integrity information based on at least one data byte to be written to the memory, and to transfer the at least one data byte contemporaneously with the data integrity information on separate data paths to the memory. The controller may be configured to select between transferring data bus inversion information or the data integrity information based on whether a data integrity protection mode is active between the memory and the controller. The memory may be configured to receive the at least one data byte and the data integrity information from the controller, and detect whether an error exists in the at least one data byte based on the data integrity information.

Claims (62)

1. A storage device, comprising:

a memory; and

a controller coupled to the memory and configured to:

generate first data integrity information based on at least one write data byte to be written to the memory, wherein the first data integrity information comprises cyclic redundance check (CRC) information generated based on the at least one write data byte, wherein the CRC information comprises a plurality of CRC bits;

transfer a plurality of write data bytes on a first output to the memory;

toggle each CRC bit of the plurality of CRC bits on a second output based on a respective write data byte of the plurality of write data bytes when transferring the plurality of write data bytes to the memory; and

transfer the at least one write data byte contemporaneously with the first data integrity information on separate data paths to the memory.

2. The storage device of claim 1 , wherein the second output comprises a data bus inversion (DBI) output.

3. The storage device of claim 1 , wherein the controller is further configured to:

receive an indication of whether an error exists in the at least one write data byte based on the first data integrity information.

4. The storage device of claim 1 , wherein the controller comprises:

a data integrity check circuit configured to:

receive at least one read data byte that is read from the memory;

receive second data integrity information from the memory; and

detect whether an error exists in the at least one read data byte based on the second data integrity information.

5. The storage device of claim 2 , wherein the controller is further configured to:

switch between a data bus inversion (DBI) path and a data integrity path to the memory based on whether a data integrity protection mode is active between the memory and the controller.

6. The storage device of claim 5 , wherein the controller is further configured to:

select the data integrity path when the data integrity protection mode is active between the memory and the controller, wherein the first data integrity information is transferred on the data integrity path to the memory.

7. The storage device of claim 5 , wherein the controller is further configured to:

select the DBI path when the data integrity protection mode is not active between the memory and the controller; and

transfer a DBI signal on the DBI path via the second output to the memory.

8. The storage device of claim 4 , wherein the data integrity check circuit is further configured to:

generate expected information based on a data integrity algorithm and the at least one read data byte; and

compare the expected information with the second data integrity information,

wherein the detection of whether the error exists is further based on the comparison of the expected information with the second data integrity information.

9. A storage device, comprising:

a controller; and

a memory coupled to the controller and configured to:

receive a plurality of write data bytes on a first input from the controller, wherein the plurality of write data bytes include a first write data byte to be written to the memory;

receive first data integrity information from the controller, wherein the first write data byte and the first data integrity information are received on separate data paths between the controller and the memory, wherein the first data integrity information comprises cyclic redundance check (CRC) information generated based on the first write data byte, and wherein the CRC information comprises a plurality of CRC bits;

receive each CRC bit of the plurality of CRC bits toggled on a second input based on a respective write data byte of the plurality of write data bytes when the plurality of write data bytes are received from the controller;

detect whether an error exists in the first write data byte based on the first data integrity information; and

write the first write data byte into the memory in response to detecting that the error does not exist in the first write data byte.

10. The storage device of claim 9 , wherein the second input comprises a data bus inversion (DBI) input, wherein the memory is further configured to:

switch between a data bus inversion (DBI) path and a data integrity path within the memory based on whether a data integrity protection mode is active between the memory and the controller.

11. The storage device of claim 9 , wherein the memory is further configured to:

provide an indication of whether an error exists in the first write data byte based on the first data integrity information.

12. The storage device of claim 9 , wherein the memory comprises:

a data integrity generator circuit configured to:

generate second data integrity information based on at least one read data byte that is read from the memory; and

transfer the at least one read data byte contemporaneously with the second data integrity information on separate data paths to the controller.

13. The storage device of claim 9 , wherein the memory comprises:

a data integrity check circuit configured to:

generate expected information based on a data integrity algorithm and the first write data byte; and

compare the expected information with the first data integrity information,

wherein the detection of whether the error exists is further based on the comparison of the expected information with the first data integrity information.

14. The storage device of claim 10 , wherein the memory is further configured to:

select the data integrity path when the data integrity protection mode is active between the memory and the controller, wherein the first data integrity information is transferred on the data integrity path from the controller.

15. The storage device of claim 10 , wherein the memory is further configured to:

select the DBI path when the data integrity protection mode is not active between the memory and the controller; and

receive a DBI signal on the DBI path via the second input at the memory.

16. An apparatus, comprising:

a memory;

a data integrity generator circuit connected to the memory and configured to:

generate first data integrity information based on at least one write data byte to be written to the memory, wherein the first data integrity information comprises cyclic redundance check (CRC) information generated based on the at least one write data byte, wherein the CRC information comprises a plurality of CRC bits;

transfer a plurality of write data bytes on a first output to the memory; and

toggle each CRC bit of the plurality of CRC bits on a second output based on a respective write data byte of the plurality of write data bytes when transferring the plurality of write data bytes to the memory; and

a data integrity check circuit connected to the memory and configured to:

receive at least one read data byte that is read from the memory,

receive second data integrity information from the memory, and

detect whether an error exists in the at least one read data byte based on the second data integrity information.

Assignments (9)
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 - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER 17/899,139 PREVIOUSLY RECORDED AT REEL: 062485 FRAME: 0132. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 3, 2023
From: VLAIKO, JULIAN; DARNE, SIDDHESH; BORUKHOV, HANAN; RAMACHANDRA, VENKY; SHAH, GRISHMA; VAYSMAN, DMITRY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 063083/0482 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2023
From: VLAIKO, JULIAN; DARNE, SIDDHESH; BORUKHOV, HANAN; RAMACHANDRA, VENKY; SHAH, GRISHMA; VAYSMAN, DMITRY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 062485/0132 →
Continuity (1)
Related Publication 20240094919A1 · Mar 21, 2024
References Cited (8)
US 8645790B2 · Lee et al. · 2014 [cited by applicant]
US 8677211B2 · Bandholz · 2014 [cited by applicant]
US 10795759B2 · Riho et al. · 2020 [cited by applicant]
US 10951232B2 · Kwak · 2021 [cited by applicant]
US 11422888B2 · Hsieh · 2022 [cited by examiner]
US 20150309742A1 · Amidi · 2015 [cited by examiner]
US 20210012852A1 · Tanaka et al. · 2021 [cited by applicant]
US 20210042189A1 · Whately et al. · 2021 [cited by applicant]