IP Library Granted Patent US 11,809,331
Granted Patent B1
US 11,809,331 · App. 17/824,066 · Granted Nov 7, 2023

Storage system and method for avoiding header to improve parity

Inventors: Arunkumar Mani (Karnataka, IN); Lakshmi Sowjanya Sunkavelli (Karnataka, IN)
Assignee: Western Digital Technologies, Inc.
G06F12/1027
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,809,331
App. No.
17/824,066
Granted
Nov 7, 2023
Kind
B1
Abstract

A storage system stores data in a primary block and a copy of the data in a secondary block. Parity bits are stored with the data and the copy of the data. A header with logical block information is stored with the copy of the data in the secondary block. The data in the primary block is not stored with a header, which allows more parity bits to be stored with the data in the primary block. This provides more robust error protection for the data stored in the primary block and reduces the need to rely upon the copy of the data in the secondary block.

Claims (48)

1. A storage system comprising:

a volatile memory;

a non-volatile memory; and

a controller coupled with the volatile memory and the non-volatile memory and configured to:

store data in a first data word in a primary block in the non-volatile memory;

store a copy of the data in a second data word in a secondary block in the non-volatile memory;

wherein:

the first and second data words are a same size but comprise a different number of parity bits;

the second data word comprises a header storing a logical address of the data; and

instead of comprising the header, the first data word comprises more parity bits than the second data word;

store, in the volatile memory, an association between the logical address of the data and a physical address of the primary block;

verify that the first data word was written correctly in the primary block; and

copy the association from the volatile memory to the non-volatile memory after verifying that the first data word was written correctly in the primary block.

2. The storage system of claim 1 , wherein the controller is further configured to in response to a power cycle occurring prior to the association being copied to the non-volatile memory:

read the logical address from the header of the second data word; and

re-store, in the volatile memory, the association between the logical address and the physical address of the primary block.

3. The storage system of claim 1 , wherein the controller is further configured to discard the second data word after verifying that the first data word was written correctly in the primary block.

4. The storage system of claim 1 , wherein the controller is further configured to use an enhanced post-write-read (EPWR) operation to verify that the first data word was written correctly in the primary block.

5. The storage system of claim 1 , wherein the controller is further configured to perform a low-density parity check (LDPC) operation using the parity bits.

6. The storage system of claim 1 , wherein the primary and secondary blocks comprise single-level cell (SLC) blocks or multi-level cell (MLC) blocks.

7. The storage system of claim 6 , wherein the controller is further configured to fold the data from the primary block to a multi-level cell (MLC) block.

8. The storage system of claim 1 , wherein the non-volatile memory comprises a three-dimensional memory.

9. In a storage system comprising a non-volatile memory, a method comprising:

creating a first data word comprising data and parity bits;

creating a second data word comprising the data, a header storing logical group information for the data, and parity bits, wherein there are fewer parity bits in the second data word than the first data word due to the header in the second data word;

writing the first data word in a primary block in the non-volatile memory;

writing the second data word in a secondary block in the non-volatile memory; and

verifying that the first data word was written correctly in the primary block; and

writing addressing information in the non-volatile memory after verifying that the first data word was written correctly in the primary block.

10. The method of claim 9 , wherein the first and second data words are a same size.

11. The method of claim 9 , further comprising:

in response to a power cycle occurring prior to writing the addressing information in the non-volatile memory, recreating the addressing information from the logical group information in the header of the second data word.

12. The method of claim 9 , further comprising discarding the second data word after verifying that the first data word was written correctly in the primary block.

13. The method of claim 12 , wherein the first data word is verified using an enhanced post-write-read (EPWR) operation.

14. The method of claim 9 , further comprising performing a low-density parity check (LDPC) operation using the parity bits.

15. The method of claim 9 , wherein the primary block comprises a single-level cell (SLC) block or a multi-level cell (MLC) block, and wherein the method further comprises folding the data from the primary block to a multi-level cell (MLC) block.

16. A storage system comprising:

a volatile memory;

a non-volatile memory;

means for storing data in a first data word in a primary block in the non-volatile memory; and

means for storing a copy of the data in a second data word in a secondary block in the non-volatile memory;

wherein:

the first and second data words are a same size but comprise a different number of parity bits;

the second data word comprises a header storing a logical address of the data; and

instead of comprising the header, the first data word comprises more parity bits than the second data word;

means for storing, in the volatile memory, an association between the logical address of the data and a physical address of the primary block;

means for verifying that the first data word was written correctly in the primary block; and

means for copying the association from the volatile memory to the non-volatile memory after verifying that the first data word was written correctly in the primary block.

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 May 25, 2022
From: MANI, ARUNKUMAR; SUNKAVELLI, LAKSHMI SOWJANYA
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 060011/0406 →