Efficient write cache staging of multi-channel stream appendices
Abstract
A method of recording data received as part of a multi-channel data stream includes writing a first subset of initially-received channel segments of a multi-channel stream to corresponding main store locations instead of a write cache while writing a second subset of initially-received channel segments of the multi-channel stream to a write cache instead of corresponding main store locations. The method further provides for writing continuation segments associated with the first and second subsets of the initially-received channel segments to the write cache and flushing a collection of same-channel segments out of the write cache responsive to a determination that the same-channel segments satisfy a coalescence condition.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method comprising:
receiving a multi-channel data stream including channel segments of multiple channels, the channel segments of the multiple channels being intermixed with one another according to a sequential order of receipt; and writing the channel segments of the multiple channels according to a write order than is different from the sequential order of receipt.
2 . The method of claim 1 , wherein the sequential order of receipt includes same-channel continuous channel segments that are separated from one another by channel segments of other channels.
3 . The method of claim 1 , wherein writing the channel segments according to the write order further comprises:
for each channel of the multiple channels in the multi-channel data stream, writing continuous channel segments of the channel to a series of physically contiguous data blocks such that continuous channel data of the channel can be read back sequentially from the series of physically contiguous data blocks.
4 . The method of claim 1 , further comprising:
coalescing subsets of continuous channel segments for each of the multiple channels in a write cache; and flushing one or more of the coalesced subsets of the continuous channel segments from the write cache to a main store responsive to satisfaction of a coalescence condition.
5 . The method of claim 4 , wherein flushing the one or more of the coalesced subsets of the continuous channel segments from the write cache to the main store further comprises:
consecutively writing the continuous channel segments of each of the coalesced subsets to a series physically contiguous data blocks.
6 . The method of claim 4 , wherein the coalescence condition is satisfied when a collective data size of an individual one of the coalesced subsets satisfies a threshold quantity.
7 . The method of claim 4 , wherein the coalescence condition is satisfied when a total quantity of data in the write cache exceeds a threshold and wherein flushing the one or more of the coalesced subsets includes flushing same-channel segments of a data channel having a largest quantity of data in the write cache when the coalescence condition is satisfied.
8 . A storage system comprising:
a main store mapped to magnetic media storage locations; a storage device controller configured to: receive a multi-channel data stream including channel segments of multiple channels, the channel segments of the multiple channels being intermixed with one another according to a sequential order of receipt; and write the channel segments of the multiple channels to the main store according to a write order than is different from the sequential order of receipt.
9 . The storage system of claim 8 , wherein the sequential order of receipt includes same-channel continuous channel segments that are separated from one another by channel segments of other channels.
10 . The storage system of claim 8 , wherein the storage device controller is further configured to:
for each channel of the multiple channels in the multi-channel data stream, write continuous channel segments of the channel to a series of physically contiguous data blocks such that continuous channel data of the channel can be read back sequentially from the series of physically contiguous data blocks.
11 . The storage system of claim 8 , wherein the storage device controller is further configured to:
coalesce subsets of continuous channel segments for each of the multiple channels in a write cache; and flush one or more of the coalesced subsets of the continuous channel segments from the write cache to the main store responsive to satisfaction of a coalescence condition.
12 . The storage system of claim 11 , wherein the storage device controller is configured to flush the coalesced subsets of the continuous channel segments from the write cache to the main store by consecutively writing the continuous channel segments of each of the coalesced subsets to a series physically contiguous data blocks.
13 . The storage system of claim 11 , wherein the coalescence condition is satisfied when a collective data size of an individual one of the coalesced subsets satisfies a threshold quantity.
14 . The storage system of claim 11 , wherein the coalescence condition is satisfied when a total quantity of data in the write cache exceeds a threshold and wherein flushing one or more of the coalesced subsets includes flushing same-channel segments of a data channel having a largest quantity of data in the write cache when the coalescence condition is satisfied.
15 . One or more memory devices encoding computer-executable instructions for executing on a computer system a computer process comprising:
receiving a multi-channel data stream including channel segments of multiple channels, the channel segments of the multiple channels being intermixed with one another according to a sequential order of receipt; and writing the channel segments of the multiple channels according to a write order than is different from the sequential order of receipt.
16 . The one or more memory devices of claim 15 , wherein the computer process further comprises:
for each channel of the multiple channels in the multi-channel data stream, writing continuous channel segments of the channel to a series of physically contiguous data blocks such that continuous channel data of the channel can be read back sequentially from the series of physically contiguous data blocks.
17 . The one or more memory devices of claim 15 , wherein the computer process further comprises:
coalescing subsets of continuous channel segments for each of the multiple channels in a write cache; and flushing one or more of the coalesced subsets of the continuous channel segments from the write cache to a main store responsive to satisfaction of a coalescence condition.
18 . The one or more memory devices of claim 17 , wherein flushing one or more of the coalesced subsets of the continuous channel segments from the write cache to the main store further comprises:
consecutively writing the continuous channel segments of each of the coalesced subsets to a series physically contiguous data blocks.
19 . The one or more memory devices of claim 15 , wherein the sequential order of receipt includes same-channel continuous channel segments that are separated from one another by channel segments of other channels.
20 . The one or more memory devices of claim 17 , wherein the coalescence condition is satisfied when a collective data size of an individual one of the coalesced subsets satisfies a threshold quantity.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.