Storage system and method for storage management in multi-channel, variable-bit-rate systems
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.
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.