IP Library Granted Patent US 11,934,675
Granted Patent B2
US 11,934,675 · App. 17/183,991 · Granted Mar 19, 2024

Mixed mode block cycling for intermediate data

Inventors: Dinesh Kumar Agarwal (Bangalore, IN); Sourabh Sankule (Bangalore, IN)
Assignee: Western Digital Technologies, Inc.
G06F3/064G06F3/0604G06F3/0619G06F3/0629G06F3/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 11,934,675
App. No.
17/183,991
Granted
Mar 19, 2024
Kind
B2
Abstract

Data blocks may be optimized and managed in a mixed mode that utilizes a single-level cell (SLC) mode in combination with higher-density memory modes to promote full block utilization and to increase overall cycles of the data blocks. A data block cycling process in the mixed mode can place a data block in a higher-density memory mode that includes a multi-level cell (MLC) mode, a triple-level cell (TLC) mode, or a quad-level cell (QLC) mode, if the SLC cycle count of the data block is relatively higher as compared to other data blocks. Similarly, in the mixed mode, a data block may be placed in the SLC mode to store parity data or intermediate data if the corresponding TLC cycle count is relatively higher than other data blocks. Data clocks cycles may also be evenly distributed in the mixed mode, thereby balancing the mixed mode usage across all data blocks.

Claims (43)

1. A storage device, comprising:

one or more communication channels suitable for connection with a computing device;

a plurality of memory devices within a memory array;

a controller configured to provide access to the plurality of memory devices within the memory array;

wherein the controller operates in a plurality of mixed modes, and wherein each mixed mode is associated with a different level of performance;

wherein the plurality of mixed modes comprises a single-level cell (SLC) mode, and one of: a double-level cell (MLC) mode, a triple-level cell (TLC) mode, or a quad-level cell (QLC) mode;

wherein the SLC mode is configured to store intermediate data;

wherein each block of a plurality of blocks of the storage device has a first counter to track SLC mode program/erase cycles and a second counter to track multiple bit per cell mode program/erase cycles;

wherein values of the first and second counters remain balanced until a maximum threshold number of program/erase cycles of the SLC mode is reached; and

wherein after the maximum threshold number of program/erase cycles of the SLC mode is reached, the block is retired from use in SLC mode and only operates in multiple bit per cell mode thereafter.

2. The storage device of claim 1 , wherein the intermediate data comprises parity data.

3. The storage device of claim 1 , wherein each mixed mode is selectable by the computing device and further comprises one or more predetermined values.

4. The storage device of claim 1 , wherein a second data block of the plurality of data blocks is used in the SLC mode to store a parity data block if the second data block has a corresponding TLC cycle count greater than other data blocks.

5. The storage device of claim 1 , wherein a pair of SLC data blocks are configured into the TLC mode to maintain a program/erase (P/E) cycle count for the SLC data blocks that is equal to a P/E cycle count for one or more TLC data blocks.

6. A storage device, comprising:

a controller configured to direct the storage device to:

utilize a mixed mode programming method to store data within a plurality of data blocks within the storage device;

detect one or more errors during data transfer; and

wherein the storage device is directed to operate a plurality of data blocks in a plurality of mixed modes, wherein each mixed mode is associated with a different level of performance;

wherein the plurality of mixed modes includes a single-level cell (SLC) mode and one of: a double-level cell (MLC) mode, a triple-level cell (TLC) mode, or a quad-level cell (QLC) mode;

wherein the SLC mode is used for storing intermediate data;

wherein each block has a first counter to track SLC mode program/erase cycles and a second counter to track multiple bit per cell mode program/erase cycles; and

wherein values of the first and second counters remain balanced until a maximum threshold number of program/erase cycles of the SLC mode is reached; and

wherein after the maximum threshold number of program/erase cycles of the SLC mode is reached, the block is retired from use in SLC mode and only operates in multiple bit per cell mode thereafter.

7. The storage device of claim 6 , wherein the intermediate data is comprised of parity data.

8. The storage device of claim 6 , wherein the plurality of mixed modes further comprises one or more predetermined values.

9. The storage device of claim 6 , wherein a second data block of the plurality of data blocks is used in the SLC mode to store a parity data block if the second data block has a corresponding TLC cycle count greater than other data blocks.

10. The storage device of claim 6 , wherein a pair of SLC data blocks are allocated into the TLC mode to maintain a P/E cycle count for the pair of SLC data blocks that is equal to a P/E cycle count for one or more TLC data blocks.

11. A method of evenly balancing a mixed mode in a storage device, comprising:

evaluating a plurality of data blocks within a memory array to be used in the mixed mode, wherein the mixed mode includes a plurality of modes, and wherein the plurality of modes includes a SLC mode and one of a two-or-more-bits-per-cell (2+LC) mode;

determining a first block within the plurality of blocks that has a SLC cycle count that is greater than a corresponding SLC cycle count of other blocks;

erasing the first block into an erased 2+LC data block in the 2+LC mode;

determining a second block within the plurality of blocks that has a 2+LC cycle count that is greater than a corresponding 2+LC cycle count of the other blocks;

erasing the second block into an erased SLC block in the SLC mode;

allocating, in the SLC mode, the second block for storing intermediate data;

wherein each block has a first counter to track SLC mode program/erase cycles and a second counter to track 2+LC mode program/erase cycles; and

wherein values of the first and second counters remain balanced until a maximum threshold number of program/erase cycles of the SLC mode is reached; and

wherein after the maximum threshold number of program/erase cycles of the SLC mode is reached, the block is retired from use in SLC mode and only operates in multiple bit per cell mode thereafter.

12. The method of claim 11 , wherein the SLC mode has a higher performance as compared to performance of the 2+LC mode.

13. The method of claim 11 , wherein the intermediate data is comprised of parity data.

14. The method of claim 13 , wherein the first counter of the second block is used in the SLC mode when the second block does not exceed a SLC threshold count.

15. The method of claim 14 , wherein the first counter of the second block is not used in the SLC mode when the second block does exceed the SLC threshold count.

16. The method of claim 15 , wherein, if the first counter of the second block does exceed the SLC threshold count, the second block is allocated back into the 2+LC mode.

Assignments (10)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 →
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 →
RELEASE OF SECURITY INTEREST AT REEL 056285 FRAME 0292 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 056285/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2021
From: AGARWAL, DINESH KUMAR; SANKULE, SOURABH
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 055393/0306 →
Continuity (2)
Provisional Application 63077573 · Sep 12, 2020
Related Publication 20220083221A1 · Mar 17, 2022
Cited By (1)
US 12,664,086