← Back to Patent Explorer
US6993604B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Dynamic buffer size allocation for multiplexed streaming

Assignee: Seagate Technology LLC
•
Filing: 2001-06-27
•
Granted: 2006-01-31
•
Expires: 2021-06-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and disc drive are disclosed that employ dynamic buffer size allocation for handling multiple data streams, such as time-sensitive audio/video data. The method involves allocating a certain amount of required buffer space for each data stream to be handled without an interruption in recording or playing back the data stream. The method further involves reallocating the amount of required buffer space for each stream including any additional stream when one or more additional streams are to be added to the total number of streams being handled. The method also involves reallocating the amount of required buffer space for each stream including those streams that remain after any of the data streams being handled are terminated.

Inventors

  • 👤 Robert William Dixon

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 19:49
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/061; G06F3/0613; G06F3/0628; G06F3/0655; G06F3/0656; G06F3/0668; G06F3/0671; G06F3/0673; G06F3/0674; G06F3/0676

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 169 words
A method for handling multiple data streams in a disc drive, the method comprising steps of: a) allocating a buffer size required by each data stream currently being handled; b) utilizing the buffer sizes found in allocating step a) for corresponding data streams; c) when an additional data stream is to be added, reallocating the buffer size required by each data stream including the additional data stream; and d) when a data stream currently being handled is to be terminated, reallocating the buffer size required by each data stream that will remain after the data stream is terminated, wherein the allocating step a) comprises a step of: a)(1) scaling a host data rate for each data stream by an expression for a total time to fill or empty the buffer size allocated to all of the data streams being handled to create a set of simultaneous equations for the buffer sizes; and a)(2) solving the simultaneous equations to find the buffer size to be allocated for each data stream.
Claim 2
Independent Claim 169 words
A method for handling multiple data streams in a disc drive, the method comprising steps of: a) allocating a buffer size required by each data stream currently being handled; b) utilizing the buffer sizes found in allocating step a) for corresponding data streams; c) when an additional data stream is to be added, reallocating the buffer size required by each data stream including the additional data stream; and d) when a data stream currently being handled is to be terminated, reallocating the buffer size required by each data stream that will remain after the data stream is terminated, wherein the allocating step a) comprises a step of: a)(1) scaling a host data rate for each data stream by an expression for a total time to fill or empty the buffer size allocated to all of the data streams being handled to create a set of simultaneous equations for the buffer sizes; and a)(2) solving the simultaneous equations to find the buffer size to be allocated for each data stream.
Claim 3
Dependent Claim 68 words
The method of claim 1 , wherein the scaling step a)(1) comprises a step of: a)(1)(A) summing an expression for time to fill or empty the buffer size to be allocated for each data stream with a time to sequentially switch between each data stream to find the expression of total time to fill or empty the buffer size allocated to all of the data streams being handled.
Claim 4
Dependent Claim 63 words
The method of claim 2 , wherein the summing step a)(1)(A) comprises a step of: a)(1)(A)(i) scaling a variable for the buffer size to be allocated for the first data stream by a disc rate assigned for the first data stream to find the expression for the time to fill or empty the buffer size to be allocated for the first data stream.
Claim 5
Dependent Claim 61 words
The method of claim 1 , further comprising a step of: e) comparing a sum of the buffer size dedicated for each data stream to the total buffer size available for use; and f) detecting whether handling of the multiple data streams at a requested host data rate and disc data rate is possible from a result of comparing step e).
Claim 6
Dependent Claim 35 words
The method of claim 1 , further comprising: h) receiving, by the disc drive, one or more of the data streams; and i) sending, by the disc drive, one or more of the data streams.
Claim 7
Dependent Claim 29 words
The method of claim 1 wherein a sum of buffer sizes allocated for the data streams is less than the total size of the buffer of the disc drive.
Claim 8
Dependent Claim 31 words
The method of claim 1 , further comprising: j) receiving, by the disc drive, data not in a stream; and k) sending, by the disc drive, data not in a stream.
Claim 9
Dependent Claim 226 words
A disc drive for handling multiple data streams, comprising: one or more discs that store data; a buffer that outputs data streams to the one or more discs and receives data streams from the one or more discs; and a processor in electrical communication with the buffer, the processor being configured to dynamically allocate the size of the buffer used for each data stream being handled by the disc drive by computing a buffer size required by each data stream currently being handled, instructing the buffer to utilize the buffer sizes for corresponding data streams, recomputing the buffer size allocated to each data stream including an additional data stream when an additional data stream is to be added, and when a data stream will be terminated, recomputing the buffer size allocated to each data stream that will remain after a data stream is terminated, wherein the processor is configured to compute the buffer size required by each data stream currently being handled by scaling a host data rate for a first stream by an expression for a total time to fill or empty the buffer size that is dedicated to all of the data streams being handled to create a set of simultaneous equations for the buffer sizes and is further configured to solve the simultaneous equations to find the buffer size for each data steam.
Claim 10
Dependent Claim 226 words
A disc drive for handling multiple data streams, comprising: one or more discs that store data; a buffer that outputs data streams to the one or more discs and receives data streams from the one or more discs; and a processor in electrical communication with the buffer, the processor being configured to dynamically allocate the size of the buffer used for each data stream being handled by the disc drive by computing a buffer size required by each data stream currently being handled, instructing the buffer to utilize the buffer sizes for corresponding data streams, recomputing the buffer size allocated to each data stream including an additional data stream when an additional data stream is to be added, and when a data stream will be terminated, recomputing the buffer size allocated to each data stream that will remain after a data stream is terminated, wherein the processor is configured to compute the buffer size required by each data stream currently being handled by scaling a host data rate for a first stream by an expression for a total time to fill or empty the buffer size that is dedicated to all of the data streams being handled to create a set of simultaneous equations for the buffer sizes and is further configured to solve the simultaneous equations to find the buffer size for each data steam.
Claim 11
Dependent Claim 64 words
The disc drive of claim 8 , wherein the processor is configured to sum an expression for a time to fill or empty the buffer size to be dedicated for each data stream with a time to sequentially switch between each data stream to find the total time to fill or empty the buffer size dedicated to all of the data streams being handled.
Claim 12
Dependent Claim 60 words
The disc drive of claim 9 , wherein the processor is configured to scale a variable for the buffer size to be dedicated for the first data stream by a disc rate assigned for the first data stream to find the expression for the time to fill or empty the buffer size to be dedicated for the first data stream.
Claim 13
Dependent Claim 60 words
The disc drive of claim 8 , wherein the processor is further configured to compare a sum of the buffer sizes dedicated for each data stream to total buffer size available for use, and detect whether handling of the multiple data streams at a requested host data rate and disc data rate is possible from a result of the comparison.
Claim 14
Dependent Claim 64 words
The disc drive of claim 8 , wherein one or more of the data streams are received into the buffer at a host rate and are recorded to the disc at a disc rate, and wherein one or more of the data streams are received into the buffer at a second disc rate and are sent from the buffer at a second host rate.
Claim 15
Dependent Claim 38 words
The disc drive of claim 8 , wherein the processor is configured to compute a sum of buffer sizes allocated for the data streams that is less than the total size of the buffer of the disc drive.
Claim 16
Dependent Claim 54 words
The disc drive of claim 8 , wherein data not in a stream is received into the buffer and is recorded to the disc, and wherein data not in a stream is received into the buffer and is sent from the buffer contemporaneously with the buffer utilizing the buffer sizes allocated by the processor.
Claim 17
Dependent Claim 134 words
A disc drive for handling multiple data streams, comprising: a buffer that receives data from the multiple data streams; and means for reallocating an amount of the buffer required for each data stream being handled whenever a new data stream is added or an existing data stream is terminated, wherein the means for reallocating is configured to compute an amount of the buffer required by each data stream currently being handled by scaling a host data rate for a first stream by an expression for a total time to fill or empty the buffer amount dedicated to all of the data streams being handled to create a set of simultaneous equations for the buffer amounts and that is further configured to solve the simultaneous equations to find the buffer amount for each data stream.
Claim 18
Dependent Claim 134 words
A disc drive for handling multiple data streams, comprising: a buffer that receives data from the multiple data streams; and means for reallocating an amount of the buffer required for each data stream being handled whenever a new data stream is added or an existing data stream is terminated, wherein the means for reallocating is configured to compute an amount of the buffer required by each data stream currently being handled by scaling a host data rate for a first stream by an expression for a total time to fill or empty the buffer amount dedicated to all of the data streams being handled to create a set of simultaneous equations for the buffer amounts and that is further configured to solve the simultaneous equations to find the buffer amount for each data stream.
Claim 19
Dependent Claim 66 words
The disc drive of claim 15 , wherein the means for reallocating is configured to sum an expression for a time to fill or empty the buffer amount to be dedicated for each data stream with a time to sequentially switch between each data stream to find the total time to fill or empty the buffer amount dedicated to all of the data streams being handled.
Claim 20
Dependent Claim 62 words
The disc drive of claim 16 , wherein the means for reallocating is configured to scale a variable for the buffer amount to be dedicated for the first data stream by a disc rate assigned for the first data stream to find the expression for the time to fill or empty the buffer amount to be dedicated for the first data stream.
Claim 21
Dependent Claim 63 words
The disc drive of claim 15 , wherein the means for reallocating is further configured to compare a sum of the buffer amounts dedicated for each data stream to the total buffer amount available for use, and detect whether handling of the multiple data streams at a requested host data rate and disc data rate is possible from a result of the comparison.
Claim 22
Dependent Claim 64 words
The disc drive of claim 15 , wherein one or more of the data streams are received into the buffer at a host rate and are recorded to the disc at a disc rate, and wherein one or more of the data streams are received into the buffer at a second disc rate and are sent from the buffer at a second host rate.
Claim 23
Dependent Claim 40 words
The disc drive of claim 15 , wherein the means for reallocating is configured to compute a sum of buffer amounts allocated for the data streams that is less than the total size of the buffer of the disc drive.
Claim 24
Dependent Claim 56 words
The disc drive of claim 15 , wherein data not in a stream is received into the buffer and is recorded to the disc, and wherein data not in a stream is received into the buffer and is sent from the buffer contemporaneously with the buffer utilizing the buffer amounts allocated by the means for reallocating.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2009-01-30 2009-08-01 2010-01-31 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2013-01-30 2013-08-01 2014-01-31 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2017-01-30 2017-08-01 2018-01-31 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag