IP Library Granted Patent US 11,569,844
Granted Patent B2
US 11,569,844 · App. 16/910,893 · Granted Jan 31, 2023

Optimizations for variable sector size in storage device namespaces

Inventors: Shay Benisty (Beer Sheva, IL); Ran Zamir (Ramat Gan, IL); Eran Sharon (Rishon Lezion, IL)
Assignee: Western Digital Technologies, Inc.
H03M13/1174G06F12/0246H03M13/1177H03M13/1575G06F2212/403G06F2212/7207
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,569,844
App. No.
16/910,893
Granted
Jan 31, 2023
Kind
B2
Abstract

A method and apparatus for determining the sector size and concomitant host metadata size to determine the difference between total size of the data block to be stored, and using the difference for parity data. This allows an increase in parity bits available for smaller sector sizes and/or data with smaller host metadata sizes. Because the amount of space available for additional parity bits is known, data with lower numbers of parity bits may be assigned to higher quality portions a memory array written with longer programming trim times, and/or written to memory dies with good redundant columns, further increasing performance and reliability.

Claims (51)

1. A data storage device, comprising:

one or more memory devices; and

a controller comprising a processor configured to perform a method for improving performance of the storage device, the method comprising:

receiving a logical block address (LBA) size of an LBA, from a host;

receiving a host metadata size from the host; and

determining a parity size of an error correction code (ECC), based on the difference between the LBA size and the host metadata size, wherein the difference is used for parity data instead of padding.

2. The data storage device of claim 1 , further comprising a low density parity code (LDPC), the LDPC comprising a plurality of ECC matrices, wherein the method further comprises determining a first ECC matrix of the plurality of ECC matrices to generate the ECC of the parity size.

3. The data storage device of claim 2 , wherein the determining the first ECC matrix is based on the LBA size and the host metadata size.

4. The data storage device of claim 2 , wherein the LBA size comprises a plurality of LBA sizes, and the host metadata size comprises a plurality of host metadata sizes.

5. The data storage device of claim 2 , wherein the one or more memory devices comprises a die having high health portions, the method further comprising determining one or more high health portions on the die, and assigning the LBA to the determined one or more high health portions based on the parity size.

6. The data storage device of claim 2 , wherein the one or more memory devices comprises at least one of a single layer cell (SLC), and at least one of a multi-layer cell (MLC), a tri-layer cell (TLC), or a quad-layer cell (QLC), wherein the method further comprises assigning the LBA to the one of the SLC, the MLC, the TLC, and the QLC based on the parity size.

7. The data storage device of claim 2 , wherein the one or more memory device comprises a good redundant column, wherein the method further comprises assigning the LBA to the one or more memory devices with the good redundant column based on the parity size.

8. A data storage device, comprising:

one or more memory devices;

a controller comprising a processor configured to perform a method for improving performance of the storage device, the method comprising:

receiving a logical block address (LBA) size of an LBA, from a host;

receiving a host metadata size from the host; and

determining a parity size of an error correction code (ECC), based on the LBA size and the host metadata size; and

a low density parity code (LDPC) comprising a plurality of ECC matrices, the method further comprising:

determining a first ECC matrix of the plurality of ECC matrices to generate the ECC of the parity size; and

assigning a programming trim time to the LBA based on the parity size.

9. A controller for a data storage device, comprising:

an I/O to one or more memory devices; and

a processor configured to execute a method for improving performance of a data storage device composed of the processor, the method comprising:

receiving a request from a host for data at a Logical Block Address (LBA); and

selecting a low density parity check (LDPC) matrix from a plurality of ECC matrices that utilizes remaining sector size for parity data instead of padding for decoding the data.

10. The controller of claim 9 , wherein the selecting the LDPC matrix further comprises detecting a sector size of the data at the LBA.

11. The controller of claim 10 , wherein the processor is further configured to calculate a syndrome weight for the data.

12. The controller of claim 9 , the method further comprising retrieving the data from a die of the one or more memory devices having one of a high health rating and a low health rating, based on the LDPC matrix.

13. The controller of claim 9 , the method further comprising retrieving the data from a die of the one or more memory devices having one of an SLC, an MLC, a TLC, or a QLC, based on the LDPC matrix.

14. The controller of claim 9 , the method further comprising retrieving the data from a die of the one or more memory devices having at least one good redundant column, based on the LDPC matrix.

15. A controller for a data storage device, comprising:

an I/O to one or more memory devices; and

a processor configured to execute a method for improving performance of a data storage device composed of the processor, the method comprising:

receiving a request from a host for data at a Logical Block Address (LBA);

selecting a low density parity check (LDPC) matrix from a plurality of ECC matrices for decoding the data, wherein the selecting the LDPC matrix further comprises detecting a sector size of the data at the LBA;

calculating a syndrome weight for the data; and

calculating a plurality of syndrome weights for the data based on each respective one of the plurality of ECC matrices.

16. The controller of claim 15 , the method further comprising choosing an ECC matrix of the plurality of ECC matrices that results in a minimal syndrome weight.

17. A data storage system, comprising:

one or more memory means; and

one or more controller means configured to execute a method for improving performance of the data storage system, the method comprising:

receiving data to the one or more memory means from a host and selecting a Low Density Parity Check (LDPC) matrix to encode the data based on a sector size of the received data, wherein a difference between a size of the received data and metadata and the sector size of the received data is used for parity data instead of padding;

reading the data from the one or more memory means; and

decoding the data using by selecting the LDPC matrix from the one or more LDPC matrices based on the sector size of the data.

18. The data storage system of claim 17 , the method further comprising wherein the sector size is based on an LBA size, a host metadata size, and an internal header size.

19. The data storage system of claim 17 , the method further comprising writing the received data based on the LDPC matrix to one of:

a high quality portion of the one or more memory means;

one of an SLC, an MLC, a TLC, and a QLC; and

a redundant column of the one or more memory means.

20. The data storage system of claim 17 , the sector size is stored in a LDPC encoder/decoder.

Assignments (10)
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 →
RELEASE OF SECURITY INTEREST AT REEL 053926 FRAME 0446 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058966/0321 →
SECURITY INTEREST Recorded Sep 29, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 053926/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: BENISTY, SHAY; ZAMIR, RAN; SHARON, ERAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 053035/0179 →