IP Library Granted Patent US 12,613,646
Granted Patent B2
US 12,613,646 · App. 18/804,492 · Granted Apr 28, 2026

Data storage device and method for providing prolonged high performance for tenants in a multi-tenancy environment

Inventors: Amit Sharma (Bangalore, IN); Dinesh Kumar Agarwal (Bangalore, IN); Abhinandan Venugopal (Mysore, IN)
Assignee: Sandisk Technologies, Inc.
G06F3/0631G06F3/0616G06F3/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,613,646
App. No.
18/804,492
Granted
Apr 28, 2026
Kind
B2
Abstract

A data storage device and method are disclosed for providing prolonged high performance for tenants in a multi-tenancy environment. In one embodiment, a data storage device determines whether a first block of the memory allocated to a first tenant can satisfy a performance requirement of the first tenant. In response to determining that the first block cannot satisfy the performance requirement of the first tenant, the data storage device exchanges the first block with a second block of the memory allocated to a second tenant, wherein the second block can satisfy the performance requirement of the first tenant and the first block can satisfy the performance requirement of the second tenant. Other embodiments are provided.

Claims (34)

1 . A data storage device comprising:

a memory; and

one or more processors, individually or in combination, configured to:

determine whether a program-erase count of a first block of the memory allocated to a first tenant is above a threshold for meeting a throughput requirement of the first tenant; and

in response to determining that the program-erase count of the first block is above the threshold:

identify a second tenant that has both (i) a throughput requirement that is met by the program-erase count of the first block and (ii) an allocated second block with a program-erase count that is not above the threshold; and

reallocate the first and second blocks, wherein the second block is reallocated to the first tenant and the first block is reallocated to the second tenant.

2 . The data storage device of claim 1 , wherein reallocating the first and second blocks allows the first tenant to meet its throughput requirement without use of overprovisioned blocks.

3 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to calculate the threshold.

4 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to ensure that the program-erase count of a subset of the blocks of the memory is kept below the threshold so the subset can be made available to the first tenant, if needed.

5 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to:

receive, from a host, a query regarding an additional amount of data that can be written to the first block before the program-erase count of the first block exceeds the threshold;

calculate the additional amount of data; and

send, to the host, a response to the query by identifying the additional amount of data.

6 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to perform dynamic tenant creation by creating a new tenant only if the data storage device can support the new tenant's throughput requirement.

7 . The data storage device of claim 1 , wherein the data storage device is one of a plurality of data storage devices in a storage environment and a new tenant is created in a given data storage device only if that given data storage device can support the new tenant's throughput requirement.

8 . The data storage device of claim 1 , wherein the throughput requirement of the first tenant is for video recording.

9 . The data storage device of claim 1 , wherein a total bytes written (TBW) parameter is considered when creating the first tenant.

10 . The data storage device of claim 1 , wherein the data storage device comprises a solid-state drive (SSD).

11 . The data storage device of claim 1 , wherein the memory comprises a three- dimensional memory.

12 . A method comprising:

performing in a data storage device comprising a memory:

determining whether a first block of the memory allocated to a first tenant can satisfy a throughput requirement of the first tenant; and

in response to determining that the first block cannot satisfy the throughput requirement of the first tenant, exchanging the first block with a second block of the memory allocated to a second tenant, wherein the second block can satisfy the throughput requirement of the first tenant and the first block can satisfy the throughput requirement of the second tenant.

13 . The method of claim 12 , wherein exchanging the first and second blocks allows the first tenant to meet its throughput requirement without use of overprovisioned blocks.

14 . The method of claim 12 , wherein determining whether the first block can satisfy the throughput requirement of the first tenant comprises determining whether a program-erase count of the first block is above a threshold.

15 . The method of claim 14 , further comprising calculating the threshold.

16 . The method of claim 14 , wherein determining whether the program-erase count of the first block is above the threshold is performed by a program-erase count module in the data storage device.

17 . The method of claim 12 , further comprising ensuring that a subset of the blocks of the memory are able to meet the throughput requirement of the first tenant.

18 . The method of claim 12 , further comprising responding to an inquiry from a host regarding how much data can be written to the first block before the first block cannot meet the throughput requirement of the first tenant.

19 . The method of claim 12 , further comprising performing dynamic tenant creation.

20 . A data storage device comprising:

a memory; and

means for reallocating blocks of memory previously-allocated to first and second tenants so that the reallocated blocks satisfy throughput requirement of the first and second tenant.

Assignments (4)
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 →
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0486 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2024
From: SHARMA, AMIT; AGARWAL, DINESH KUMAR; VENUGOPAL, ABHINANDAN
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 068284/0546 →
Continuity (1)
Related Publication 20260050386A1 · Feb 19, 2026
References Cited (12)
US 7287118B2 · Chang et al. · 2007 [cited by applicant]
US 9646019B2 · Factor et al. · 2017 [cited by applicant]
US 9959067B2 · Yang et al. · 2018 [cited by applicant]
US 10409509B2 · Bivens et al. · 2019 [cited by applicant]
US 10802757B2 · Zentz et al. · 2020 [cited by applicant]
US 20090287875A1 · Lin · 2009 [cited by examiner]
US 20120191900A1 · Kunimatsu · 2012 [cited by examiner]
US 20150058530A1 · Reddy · 2015 [cited by examiner]
US 20150067239A1 · Chu · 2015 [cited by examiner]
US 20190179548A1 · Lee · 2019 [cited by examiner]
US 20210294739A1 · Oh · 2021 [cited by examiner]
US 20230251788A1 · Bordia · 2023 [cited by examiner]