1460886639-e1fb19ab-0bde-401a-ab5a-391e1f4e02ec

1. A method of periodically distributing data to a plurality of data receivers, comprising:
dividing a data distribution period into a plurality of time slots;
assigning each of the data receivers to a respective one of the time slots; and
for each time slot having an assigned data receiver, during the time slot, calculating the data to be sent to the data receiver and sending the data to the data receiver.
2. A method according to claim 1, wherein the assignment of data receivers to time slots is random.
3. A method according to claim 1, comprising, on every Jth data distribution period:
selecting a random slot in the data distribution period; and
swapping the position of the random slot in the data distribution period, together with any data receiver assigned to that time slot, with another time slot.
4. A method according to claim 3, wherein the position of the randomly selected time slot in the data distribution period is swapped with an adjacent time slot.
5. A method according to claim 3, wherein the swapping of the position of time slots occurs prior to calculation of the data to be sent during the first of the time slots.
6. A method according to claim 1, wherein the number of time slots is greater than the number of data receivers to be assigned to the time slots.
7. A method according to claim 1, wherein the data is distributed by a plurality of data distributors each to a plurality of data receivers, wherein the data distribution period and the number of time slots within the data distribution period is substantially equal for each of the data distributors.
8. A method according to claim 1, wherein the data is received by a data receiver from a data source for distribution to the data receivers repeatedly every data distribution period.
9. A method according to claim 1, wherein the data to be distributed is received from a trading system, the data is market data for a product to be traded, and the data receivers are trading floors.
10. A method according to claim 1, wherein the data distribution period is divided into a plurality of blocks, each block having a number of the time slots, and wherein the calculating and sending of data to receivers takes place on a block by block basis.
11. A method according to claim 1, wherein data receivers take notice of data sent to them every M timeslices, where M is a trading floor multiplier.
12. A method according to claim 11, wherein data receivers take notice of data sent to them every M timeslices, where M is a trading floor multiplier.
13. A method according to claim 1, wherein selected data receivers take notice of data sent to them every M\xd7A timeslices, where M is a trading floor multiplier and A is a automated trading interface multiplier.
14. A method according to claim 1, comprising delaying distributing data to a given data receiver by a predefined period.
15. A method of periodically distributing data to a plurality of data receivers, comprising:
dividing a data distribution period into a plurality of time slots;
assigning each of the data receivers to a respective one of the time slots; and
for each time slot having an assigned data receiver, every M data distribution periods, where M is defined for each data receiver, during the time slot, calculating the data to be sent to the data receiver and sending the data to the data receiver.
16. A method of periodically distributing data to a plurality of data receivers, comprising:
dividing a data distribution period into a plurality of time slots;
assigning each of the data receivers to a respective one of the time slots for distribution of data;
on every Jth data distribution period:
selecting a random slot of the plurality of slots in the data distribution period; and
swapping the position of that random slot in the data distribution period, together with any data receiver assigned to that time slot, with another time slot.
17. A method according to claim 16, wherein the data to be distributed to individual data receivers is calculated during the time slot assigned to the respective data receivers.
18. A method according to claim 16, wherein the two time slots, whose positions in the data distribution period are swapped, are adjacent time slots.
19. A method according to claim 16, wherein the number of time slots is greater than the number of data receivers.
20. A method according to claim 16, wherein the assignment of data receivers to time slots is random.
21. A method according to claim 16, wherein the swapping of the position of the randomly selected slot within the data distribution period occurs prior to distribution of data to data receivers in either of the swapped slots.
22. A method according to claim 16, wherein the swapping of the position of the randomly selected slot within the data distribution period occurs immediately prior to distribution of data to data receivers in either of the swapped slots.
23. A method according to claim 22, wherein the swapping occurs prior to calculation of the data to be distributed to the data receivers assigned to either of the swapped slots.
24. A method according to claim 16, wherein the time slot with which the randomly selected slot is swapped occurs after the randomly selected slot within the same data distribution period.
25. Apparatus for periodically distributing data to a plurality of data receivers, comprising:
a data distributor for distributing data to data receivers over a data distribution period, the data period being divided into a plurality of time slots;
the data distributor comprising a slot assignor for assigning each of the data receivers to a respective one of the time slots; and
a data calculator for calculating during the time slot, for each time slot having an assigned data receiver, the data to be sent to the data receiver, the data distributor sending the data to the data receiver within the time slot.
26. Apparatus according to claim 25, wherein the slot assignor assigns data receivers to time slots randomly.
27. Apparatus according to claim 25, comprising:
a slot position swapper for calculating every Jth data distribution period, a random slot in the timeslice; and for swapping the position of that random slot in the data distribution period, together with any data receiver assigned to that time slot, with another time slot.
28. Apparatus according to claim 27, wherein the slot position swapper swaps positions with an adjacent time slot.
29. Apparatus according to claim 27, wherein the slot position swapper swaps the position of time slots prior to calculation of the data to be sent during the first of the time slots.
30. Apparatus according to claim 25, comprising a plurality of data distributors each for distributing data from a data source to a plurality of data receivers, wherein the data distribution period and the number of time slots within each data distribution period is substantially equal for all of the data distributors.
31. Apparatus according to claim 25, wherein the data to be distributed is received from a trading system, the data is market data for a product to be traded, and the data receivers are trading floors.
32. Apparatus according to claim 25, wherein the data distribution period is divided into a plurality of blocks, each block having a number of the time slots, and wherein the data calculator and data distributor calculate and send data to data receivers on a block by block basis.
33. Apparatus according to claim 25, wherein data receivers take notice of data sent to them every M timeslices, where M is a trading floor multiplier.
34. Apparatus according to claim 32, wherein data receivers take notice of data sent to them every M timeslices, where M is a trading floor multiplier.
35. Apparatus according to claim 25, wherein selected data receivers take notice of data sent to them every M\xd7A timeslices, where M is a trading floor multiplier and A is a automated trading interface multiplier.
36. Apparatus according to claim 25, comprising a data delay for delaying distribution of data to a given data receiver by a predefined period.
37. Apparatus for periodically distributing data to a plurality of data receivers, comprising:
a data distributor for distributing data to data receivers over a data distribution period, the data period being divided into a plurality of time slots;
the data distributor comprising a slot assignor for assigning each of the data receivers to a respective one of the time slots; and
a data calculator for calculating during the time slot, every M data distribution periods, where M is defined for each data receiver, for each time slot having an assigned data receiver, the data to be sent to the data receiver, the data distributor sending the data to the data receiver within the time slot.
38. Apparatus for periodically distributing data to a plurality of data receivers, comprising:
a data distributor for distributing data received from a data source to a data receiver over a data distribution period, the data distribution period being divided into a plurality of time slots;
the data distributor comprising a slot assignor for assigning each of the data receivers to a respective one of the time slots for distribution of data; and
a slot position swapper for, on every Jth data distribution period, selecting a random slot of the plurality of slots in the data distribution period; and swapping the position of that random slot in the data distribution period, together with any data receiver assigned to that time slot, with another time slot.
39. Apparatus according to claim 38, wherein the data to be distributed to individual data receivers is calculated during the time slot assigned to the respective data receivers.
40. Apparatus according to claim 38, wherein the swapping of data slots occurs prior to distribution of data to the data receivers in the swapped time slots.
41. Apparatus according to claim 39, wherein the swapping of data slots occurs immediately prior to distribution of data to receivers in the swapped time slots.
42. Apparatus according to claim 38, wherein the slot position swapper swaps the randomly selected slot with an adjacent slot.
43. Apparatus according to claim 38, wherein the other slot with which the randomly selected slot is swapper occurs later in the same data distribution period.
44. A method of periodically distributing data to a plurality of data receivers, comprising:
dividing a data distribution period into a plurality of time slots;
assigning each of the data receivers to a respective one of the time slots for distribution of data; and
performing a low frequency shuffle of the order of the time slots relative to the data distribution frequency.
45. A computer software product for periodically distributing data from a data distributor to a plurality of data receivers, the software, when run on a data distributor, causing the distributor to perform the steps of:
dividing a data distribution period into a plurality of time slots;
assigning each of the data receivers to a respective one of the time slots; and
for each time slot having an assigned data receiver, during the time slot, calculating the data to be sent to the data receiver and sending the data to the data receiver.
46. A computer software product for periodically distributing data from a data distributor to a plurality of data receivers, the software, when run on a data distributor, causing the distributor to perform the steps of:
dividing a data distribution period into a plurality of time slots;
assigning each of the data receivers to a respective one of the time slots for distribution of data;
on every Jth data distribution period:
selecting a random slot of the plurality of slots in the data distribution period; and
swapping the position of that random slot in the data distribution period, together with any data receiver assigned to that time slot, with another time slot.
47. A computer software product for periodically distributing data from a data distributor to a plurality of data receivers, the software, when run on a data distributor, causing the distributor to perform the steps of:
dividing a data distribution period into a plurality of time slots;
assigning each of the data receivers to a respective one of the time slots; and
for each time slot having an assigned data receiver, during the time slot, every M data distribution periods, where M is defined for each data receiver, calculating the data to be sent to the data receiver and sending the data to the data receiver.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method for causing data to be written to a non-volatile medium, the method comprising:
transmitting, to a write or readwrite channel device, first data to be encoded and written in a sector of the non-volatile medium as a first codeword;
asserting a write gate signal corresponding to the sector, wherein asserting the write gate signal indicates to the write or readwrite channel device when to write the first codeword to the sector; and
while asserting the write gate signal to cause the first codeword to be written, transmitting, to the write or readwrite channel device, second data to be encoded and written to the non-volatile medium.
2. A method as defined in claim 1, further comprising transmitting to the write or readwrite channel device an indication of a size of a phase-locked loop synchronizing field to be written in the sector.
3. A method as defined in claim 1, further comprising:
receiving an indication of a codeword size; and
utilizing the codeword size to pre-fill data units of the first data to be encoded and written in the sector as the first codeword prior to transmitting the first data to be encoded and written in the sector as the first codeword.
4. A method as defined in claim 3, further comprising:
receiving an indication of a number of parity bits in the first codeword; and
utilizing the number of parity bits to pre-fill data units of the first data to be encoded and written in the sector as the first codeword prior to transmitting the first data to be encoded and written in the sector as the first codeword.
5. A method as defined in claim 1, further comprising transmitting to the write or readwrite channel device an indication of a size of the sector or a fragment of the sector.
6. A method as defined in claim 1, further comprising transmitting to the write or readwrite channel device an indication of one fragment of a plurality of fragments of the sector when a portion of the first codeword is to be written to the one fragment.
7. A non-volatile medium controller to control a write or readwrite channel device, the non-volatile medium controller comprising:
a write data bus generation circuit, the write data bus to transmit data units corresponding to a first codeword to be written in a write sector, wherein the write sector is a sector of a non-volatile medium to which the first codeword is to be written;
a write gate signal generation circuit configured to generate a write gate signal, the write gate signal, when asserted, indicating when the first codeword is to be written to the write sector;
wherein the non-volatile medium controller is configured to cause the write data bus generation circuit to transmit, on the write data bus, data units corresponding to a second codeword while the write gate signal is asserted for writing the first codeword to the write sector.
8. A non-volatile medium controller as defined in claim 7, further comprising a phase-locked loop (PLL) synchronizing field size indicator signal generation circuit to generate a PLL synchronizing field size indicator signal, the PLL synchronizing field size indicator signal indicating a size of a PLL synchronizing field to be written to the sector before at least a portion of the first codeword.
9. A non-volatile medium controller as defined in claim 7, further comprising a pre-filling logic circuit to append one or more bits set to a predetermined value to data units corresponding to the first codeword.
10. A non-volatile medium controller as defined in claim 9, further comprising a codeword size reception circuit coupled to the pre-filling logic circuit, the codeword size reception circuit to receive an indicator of a size of the first codeword and to provide the indicator of a size of the first codeword to the pre-filling logic circuit.
11. A non-volatile medium controller as defined in claim 10, further comprising a parity information bus reception circuit coupled to the pre-filling logic circuit, the parity information bus reception circuit to receive an indicator of a number of parity bits in the first codeword and to provide the indicator of the number of parity bits in the first codeword to the pre-filling logic circuit.
12. A non-volatile medium controller as defined in claim 7, further comprising a write fragment indicator signal generation circuit to generate a write fragment indicator signal, the write fragment indicator signal to indicate which fragment of the write sector is to be written when the write gate signal is asserted.
13. A non-volatile medium controller as defined in claim 7, wherein the read or readwrite channel device is a readwrite channel device, and wherein the non-volatile medium controller further comprises:
a read gate signal generation circuit configured to generate a read gate signal, the read gate signal, when asserted, indicating when a third codeword is to be read from a read sector, wherein the read sector is a sector of the non-volatile medium from which the third codeword is to be read; and
a read data bus reception circuit to receive data units corresponding to the third codeword;
wherein the non-volatile medium controller is configured to cause the read gate signal generation circuit to assert the read gate signal to read a fourth codeword from the non-volatile medium while the read data bus reception circuit receives the data units corresponding to the third codeword.
14. A method for causing data to be written to a non-volatile medium, the method comprising:
receiving first data to be encoded and written in a sector of the non-volatile medium as a first codeword;
encoding the first data to generate the first codeword;
if the sector is a split sector, asserting a non-volatile medium write signal to write a portion of the first codeword to a fragment of the sector; and
if the sector is not a split sector, asserting the non-volatile medium write signal to write the first codeword to the sector.
15. A method as defined in claim 14, further comprising receiving second data to be encoded and written as a second codeword to the non-volatile medium while asserting the non-volatile medium write signal to write at least the portion of the first codeword to the sector.
16. A method as defined in claim 14, further comprising receiving a write gate signal corresponding to the sector or the fragment of the sector.
17. A method as defined in claim 14, further comprising:
receiving an indication of a size of a phase-locked loop (PLL) synchronizing field to be written in the sector or the fragment of the sector; and
writing to the sector or the fragment of the sector the PLL synchronizing field having the size indicated by the indication of the size of the PLL synchronizing field.
18. A method as defined in claim 14, further comprising transmitting to a non-volatile medium controller an indication of a size of the first codeword to be written in the sector.
19. A method as defined in claim 14, further comprising, if the sector is a split sector, receiving an indication of the fragment, from a plurality of fragments of the sector, to which the portion of the first codeword is to be written.
20. A method as defined in claim 14, further comprising receiving an indication of a size of the sector or the fragment of the sector.
21. A write or readwrite channel device, comprising:
a write data bus reception circuit to receive first data units via a write data bus;
an encoder to generate a first codeword based on the first data units received via the write data bus;
a write gate signal reception circuit to receive a write gate signal; and
a non-volatile medium write signal generator circuit to generate a non-volatile medium write signal to write at least a portion of the first codeword to the non-volatile medium at a position indicated by the write gate signal.
22. A write or readwrite channel device as defined in claim 21, wherein the write or readwrite channel device is configured to receive second data to be encoded and written as a second codeword while the non-volatile medium write signal generator circuit generates the non-volatile medium write signal to write the at least the portion of the first codeword to the non-volatile medium.
23. A write or readwrite channel device as defined in claim 21, further comprising a sector or sector fragment size indicator bus reception circuit to receive an indication of a size of a sector or sector fragment on the non-volatile medium to which at least a portion of the first codeword is to be written.
24. A write or readwrite channel device as defined in claim 21, further comprising:
a phase-locked loop (PLL) synchronizing field size indicator signal reception circuit to receive a PLL synchronizing field size indicator signal;
wherein the non-volatile medium write signal generator circuit is configured to generate the non-volatile medium write signal to write to the non-volatile medium a PLL synchronizing field having a length indicated by the PLL synchronizing field size indicator signal.
25. A write or readwrite channel device as defined in claim 21, further comprising a write fragment indicator signal reception circuit to receive a write fragment indicator signal that indicates which fragment of the sector is to be written when the write gate signal is asserted.
26. A write or readwrite channel device as defined in claim 21, further comprising:
a read gate signal reception circuit; and
a non-volatile medium read signal reception circuit to receive a non-volatile medium read signal and to generate at least a portion of a third codeword stored on the non-volatile medium based on the non-volatile medium read signal and in response to the read gate signal;
a decoder to decode the third codeword; and
a read data bus generation circuit to transmit data units corresponding to the third codeword;
wherein the write or readwrite channel device is configured to cause the non-volatile medium read signal reception circuit to generate at least a portion of a fourth codeword stored on the non-volatile medium while the read data bus generation circuit transmits the data units corresponding to the third codeword.