IP Library Granted Patent US 12,632,190
Granted Patent B2
US 12,632,190 · App. 18/426,768 · Granted May 19, 2026

Achieving uniform bandwidth using blended memory blocks for relocation operations

Inventors: Bishwajit Dutta (Bengaluru, IN); Akhilesh Yadav (Bangalore, IN)
Assignee: Sandisk Technologies, Inc.
G06F3/064G06F3/0647G06F12/0246G06F12/0253G06F3/0604G06F3/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,632,190
App. No.
18/426,768
Granted
May 19, 2026
Kind
B2
Abstract

A data storage device includes a bandwidth balancing system operable to reduce or eliminate bandwidth availability fluctuations that occur as a result of the performance of various internal operations and host operations. The bandwidth balancing system reduces or eliminates bandwidth availability fluctuations using a randomness factor. The randomness factor is a value that indicates a probability that an entire memory block will be invalidated by a single operation, which would cause the validity count of the memory block to significantly drop, thereby causing bandwidth availability fluctuations. The bandwidth balancing system ensures the memory blocks have a desired randomness factor by enabling the memory blocks to store both random data and sequential data. Specifically, the bandwidth balancing system intelligently mixes random data and sequential data within a memory block to achieve the desired randomness factor.

Claims (50)

1 . A method, comprising:

logically dividing a memory block of a memory device into a plurality of sub-blocks, a first number of the plurality of sub-blocks allocated to store sequential data and a second number of the plurality of sub-blocks allocated to store random data;

determining a randomness factor associated with the memory block, the randomness factor indicating a probability of the sequential data and the random data being invalidated using a single operation; and

selecting the memory block for a relocation operation based, at least in part, on the randomness factor.

2 . The method of claim 1 , further comprising changing the allocation of at least one of the first number and the second number based, at least in part, on an amount of sequential data received by the memory device.

3 . The method of claim 1 , wherein the relocation operation is a folding operation.

4 . The method of claim 3 , further comprising:

selecting an additional memory block as part of the folding operation, wherein the additional memory block is selected based, at least in part, on a randomness factor associated with the additional memory block; and

performing the folding operation using the memory block and the additional memory block.

5 . The method of claim 4 , wherein the randomness factor associated with the additional memory block is different than the randomness factor of the memory block.

6 . The method of claim 4 , wherein the randomness factor associated with the memory block and the randomness factor associated with the additional memory block indicate the memory block and the additional memory block include sequential data, wherein:

the sequential data of the memory block is associated with a first set of data; and

the sequential data of the additional memory block is associated with a second set of data.

7 . The method of claim 1 , wherein the relocation operation is a compaction operation.

8 . The method of claim 7 , further comprising:

selecting a destination memory block for the compaction operation, the destination memory block having a first predetermined number of sub-blocks allocated to store sequential data and a second predetermined number of sub-blocks allocated to store random data;

moving at least a portion of data associated with the memory block to the destination memory block; and

moving at least a portion of data associated with another memory block to the destination memory block, the another memory block being associated with a randomness factor.

9 . The method of claim 8 , further comprising identifying another destination memory block for the compaction operation based, at least in part, on determining at least one of the first predetermined number of sub-blocks allocated to store sequential data and the second predetermined number of sub-blocks allocated to store random data are full.

10 . A data storage device, comprising:

a controller; and

a bandwidth balancing system operable to:

determine a randomness factor associated with each of a plurality of memory blocks of the data storage device, the randomness factor of each of the plurality of memory blocks being based, at least in part, on an amount of sequential data stored in each of the plurality of memory blocks;

determine a target randomness factor threshold associated with a destination memory block; and

select one or more of the plurality of memory blocks for a relocation operation based, at least in part, on the randomness factor associated with the selected one or more of the plurality of memory blocks and the target randomness factor threshold associated with the destination memory block.

11 . The data storage device of claim 10 , wherein the relocation operation is a folding operation.

12 . The data storage device of claim 11 , wherein the bandwidth balancing system is further operable to:

identify an additional memory block, based at least in part, on a randomness factor associated with the additional memory block; and

initiate the folding operation using the selected one or more of the plurality of memory blocks and the additional memory block.

13 . The data storage device of claim 12 , wherein the randomness factor associated with the additional memory block is different than the randomness factor associated with the selected one or more of the plurality of memory blocks.

14 . The data storage device of claim 13 , wherein the randomness factor associated with the selected one or more of the plurality of memory blocks and the randomness factor associated with the additional memory block indicate the selected one or more of the plurality of memory blocks and the additional memory block include sequential data, wherein:

the sequential data of the selected one or more of the plurality of memory blocks is associated with a first set of data; and

the sequential data of the additional memory block is associated with a second set of data that is different than the first set of data.

15 . The data storage device of claim 10 , wherein the relocation operation is a compaction operation.

16 . The data storage device of claim 15 , wherein the bandwidth balancing system is further operable to:

identify a destination memory block for the compaction operation, the destination memory block having a first predetermined number of sub-blocks allocated to store sequential data and a second predetermined number of sub-blocks allocated to store random data;

move at least a portion of data associated with the selected one or more of the plurality of memory blocks to the destination memory block; and

move at least a portion of data associated with another memory block to the destination memory block, the another memory block being associated with a randomness factor.

17 . A data storage device, comprising:

means for determining a randomness factor associated with a memory block of the data storage device, the randomness factor being based, at least in part, on an amount of random data being stored in the memory block;

means for determining a target randomness factor threshold associated with a destination memory block; and

means for selecting the memory block for a relocation operation based, at least in part, on the randomness factor associated with the memory block and the target randomness factor threshold associated with the destination memory block.

18 . The data storage device of claim 17 , wherein the relocation operation is a folding operation.

19 . The data storage device of claim 18 , further comprising:

means for identifying an additional memory block, based at least in part, on a randomness factor associated with the additional memory block; and

means for initiating the folding operation using the memory block and the additional memory block.

20 . The data storage device of claim 17 , wherein the relocation operation is a compaction operation and wherein the data storage device further comprises:

means for identifying a destination memory block for the compaction operation, the destination memory block having a first predetermined number of sub-blocks allocated to store sequential data and a second predetermined number of sub-blocks allocated to store random data;

means for moving at least a portion of data associated with memory block to the destination memory block; and

means for moving at least a portion of data associated with another memory block to the destination memory block, the another memory block being associated with a randomness factor.

Assignments (7)
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 (AR) Recorded May 15, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 067417/0329 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2024
From: DUTTA, BISHWAJIT; YADAV, AKHILESH
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 066312/0146 →
Continuity (1)
Related Publication 20250244896A1 · Jul 31, 2025
References Cited (18)
US 9753847B2 · Syu · 2017 [cited by examiner]
US 10739996B1 · Ebsen · 2020 [cited by examiner]
US 20110145473A1 · Maheshwari · 2011 [cited by examiner]
US 20120297122A1 · Gorobets · 2012 [cited by examiner]
US 20160124848A1 · Bellorado · 2016 [cited by examiner]
US 20160210060A1 · Dreyer · 2016 [cited by examiner]
US 20170003911A1 · Uchigaito · 2017 [cited by examiner]
US 20180113620A1 · Kwon · 2018 [cited by examiner]
US 20190155521A1 · Bahirat · 2019 [cited by examiner]
US 20190354311A1 · Ji · 2019 [cited by examiner]
US 20190391756A1 · Wang · 2019 [cited by examiner]
US 20200097403A1 · Saxena · 2020 [cited by examiner]
US 20210303185A1 · Mishra · 2021 [cited by examiner]
US 20220066648A1 · Gunda · 2022 [cited by examiner]
US 20230333979A1 · Shin · 2023 [cited by examiner]
US 20240045799A1 · Cariello · 2024 [cited by examiner]
US 20240160563A1 · Kochar · 2024 [cited by examiner]
US 20250130719A1 · Gundecha · 2025 [cited by examiner]