IP Library Granted Patent US 12,363,312
Granted Patent B2
US 12,363,312 · App. 17/176,831 · Granted Jul 15, 2025

Storage system and method for storage management in multi-channel, variable-bit-rate systems

Inventor: Ramanathan Muthiah (Bangalore, IN)
Assignee: Sandisk Technologies, Inc.
H04N19/15G06F3/0611G06F3/064G06F3/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,363,312
App. No.
17/176,831
Granted
Jul 15, 2025
Kind
B2
Abstract

A storage system and method for storage management in multi-channel, variable-bit-rate systems are provided. In one embodiment, a host is provided comprising a first interface configured for communication with a storage system; a second interface configured for communication with a video capture device; and a processor. The processor is configured to receive an internal latency estimate from the storage system; use the internal latency estimate from the storage system to determine whether a rate of data generation by the video capture device exceeds a storage rate of the storage system; and in response to determining that the rate of data generation by the video capture device exceeds the storage rate of the storage system, instruct the video capture device to lower its rate of data generation. Other embodiments are provided.

Claims (51)

1. A method comprising:

performing in a host in communication with a storage system and a plurality of video capture devices:

sending to the storage system, a command regarding a group of files, wherein execution of the command by the storage system involves a file system update; and

receiving, prior to completion of the command by the storage system, an internal latency time estimate from the storage system, wherein the internal latency time estimate comprises: a block erase time estimate; a swap time estimate for cached flash translation layer pages; a garbage collection time estimate; and a random access latency estimate for the group of files based on a number of random memory accesses needed to perform the file system update;

using the internal latency time estimate from the storage system to evaluate a total storage processing rate capability for a first period of time;

determining whether a collective rate of data generation by the plurality of video capture devices exceeds the total storage processing rate capability for the first period of time;

in response to determining that the collective rate of data generation by the plurality of video capture devices exceeds the total storage processing rate capability for the first period of time, instructing each video capture device of a subset of the plurality of video capture devices to lower its rate of data generation to a rate lower than a current rate but higher than a zero rate, and high enough to meet an acceptable minimum rate to provide a minimum quality of service, to minimize a peak storage load for a second period of time, wherein the rate of data generation comprises a rate of capturing video.

2. The method of claim 1 , wherein:

determining whether the collective rate of data generation by the plurality of video capture devices exceeds a storage rate of the storage system comprises evaluating a deviation of the storage rate of the storage system from an average storage rate of the storage system.

3. The method of claim 1 , wherein:

instructing each video capture device of the subset of the plurality of video capture devices to lower its rate of data generation comprises instructing each video capture device to lower its rate of data generation for the second period of time.

4. The method of claim 1 , wherein the host comprises an interface configured for communication with the plurality of video capture devices.

5. The method of claim 1 , wherein the internal latency time estimate from the storage system indicates a storage rate of the storage system.

6. The method of claim 1 , wherein the storage system comprises a three-dimensional memory.

7. The method of claim 1 , wherein the plurality of video capture devices is part of a surveillance system.

8. The method of claim 1 , further comprising:

receiving an updated latency time estimate from the storage system;

using the updated latency time estimate to determine whether a current collective rate of data generation by the plurality of video capture devices is lower than a current storage rate of the storage system by a threshold; and

in response to determining that the current collective rate of data generation by the plurality of video capture devices is lower than the current storage rate of the storage system by the threshold, instructing each video capture device of the subset of the plurality of video capture devices to increase its rate of data generation.

9. A host comprising:

interfaces configured for communication with a storage system and a plurality of video capture devices; and

a processor configured to:

send to the storage system, a command regarding a group of files, wherein execution of the command by the storage system involves a file system update;

receive, prior to completion of the command by the storage system, an internal latency time estimate from the storage system, wherein the internal latency time estimate comprises: a block erase time estimate; a swap time estimate for cached flash translation layer pages; a garbage collection time estimate; and a random access latency estimate for the group of files based on a number of random memory accesses needed to perform the file system update;

use the internal latency time estimate from the storage system to evaluate a total storage processing rate capability for a first period of time;

determine whether a collective rate of data generation by the plurality of video capture devices exceeds the total storage processing rate capability for the first period of time; and

in response to determining that the collective rate of data generation by the plurality of video capture devices exceeds the total storage processing rate capability for the first period of time, instruct each video capture device of a subset of the plurality of video capture devices to lower its rate of data generation to a rate lower than a current rate but higher than a zero rate, and high enough to meet an acceptable minimum rate to provide a minimum quality of service, to minimize a peak storage load for a second period of time, wherein the rate of data generation comprises a rate of capturing video.

10. The host of claim 9 , wherein determining whether the collective rate of data generation by the plurality of video capture devices exceeds a storage rate of the storage system comprises evaluating a deviation of the storage rate of the storage system from an average storage rate of the storage system.

11. The host of claim 9 , wherein instructing each video capture device of the subset of the plurality of video capture devices to lower its rate of data generation comprises instructing each video capture device to lower its rate of data generation for the second period of time.

12. The host of claim 9 , wherein the internal latency time estimate from the storage system indicates a storage rate of the storage system.

13. The host of claim 9 , wherein the plurality of video capture devices is part of a surveillance system.

14. The host of claim 9 , wherein the processor is further configured to:

receive an updated latency time estimate from the storage system;

use the updated latency time estimate to determine whether a current collective rate of data generation by the plurality of video capture devices is lower than a current storage rate of the storage system by a threshold; and

in response to determining that the current collective rate of data generation by the plurality of video capture devices is lower than the current storage rate of the storage system by the threshold, instruct each video capture device of the subset of the plurality of video capture devices to increase its rate of data generation.

15. A host comprising:

interfaces configured for communication with a storage system and a plurality of video capture devices; and

means for:

sending to the storage system, a command regarding a group of files, wherein execution of the command by the storage system involves a file system update;

receiving, prior to completion of the command by the storage system, an internal latency time estimate from the storage system, wherein the internal latency time estimate comprises: a block erase time estimate; a swap time estimate for cached flash translation layer pages; a garbage collection time estimate; and a random access latency estimate for the group of files based on a number of random memory accesses needed to perform the file system update;

using the internal latency time estimate from the storage system to evaluate a total storage processing rate capability for a first period of time;

determining whether a collective rate of data generation by the plurality of video capture devices exceeds the total storage processing rate capability for the first period of time; and

in response to determining that the collective rate of data generation by the plurality of video capture devices exceeds the total storage processing rate capability for the first period of time, instructing each video capture device of a subset of the plurality of video capture devices to lower its rate of data generation to a rate lower than a current rate but higher than a zero rate, and high enough to meet an acceptable minimum rate to provide a minimum quality of service, to minimize a peak storage load for a second period of time, wherein the rate of data generation comprises a rate of capturing video.

16. The host of claim 15 , wherein determining whether the collective rate of data generation by the plurality of video capture devices exceeds a storage rate of the storage system comprises evaluating a deviation of the storage rate of the storage system from an average storage rate of the storage system.

17. The host of claim 15 , wherein instructing each video capture device of the subset of the plurality of video capture devices to lower its rate of data generation comprises instructing each video capture device to lower its rate of data generation for the second period of time.

18. The host of claim 15 , wherein the internal latency time estimate from the storage system indicates a storage rate of the storage system.

19. The host of claim 15 , wherein the plurality of video capture devices is part of a surveillance system.

20. The host of claim 15 , further comprising:

means for receiving an updated latency time estimate from the storage system;

means for using the updated latency time estimate to determine whether a current collective rate of data generation by the plurality of video capture devices is lower than a current storage rate of the storage system by a threshold; and

means for instructing each video capture device of the subset of the plurality of video capture devices to increase its rate of data generation in response to determining that the current collective rate of data generation by the plurality of video capture devices is lower than the current storage rate of the storage system by the threshold.

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 16, 2021
From: MUTHIAH, RAMANATHAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 055277/0302 →
Continuity (2)
Provisional Application 63077004 · Sep 11, 2020
Related Publication 20220086455A1 · Mar 17, 2022
References Cited (17)
US 6925120B2 · Zhang et al. · 2005 [cited by applicant]
US 7054371B2 · Kim · 2006 [cited by applicant]
US 7492731B2 · Hagendorf · 2009 [cited by applicant]
US 8649425B2 · Seo · 2014 [cited by examiner]
US 20070067598A1 · Fujimoto · 2007 [cited by examiner]
US 20070183198A1 · Otsuka · 2007 [cited by examiner]
US 20140068007A1 · O'Gorman · 2014 [cited by examiner]
US 20160080744A1 · Brydon et al. · 2016 [cited by applicant]
US 20160188208A1 · Kim · 2016 [cited by examiner]
US 20160283119A1 · Frickey, III · 2016 [cited by examiner]
US 20170371558A1 · George · 2017 [cited by examiner]
US 20180220174A1 · Hunt · 2018 [cited by applicant]
US 20190324644A1 · Jin · 2019 [cited by examiner]
International Search Report mailed Sep. 19, 2021 for International Application No. PCT/US2021/033857. [cited by applicant]
Written Opinion mailed Sep. 19, 2021 for International Application No. PCT/US2021/033857. [cited by applicant]
Search Strategy completed Sep. 19, 2021 for International Application No. PCT/US2021/033857. [cited by applicant]
U.S. Appl. No. 16/359,662, filed Mar. 20, 2019, entitled “Solid State Drive Latency Estimation Interface for Host Performance Tuning.” [cited by applicant]