摘要 |
A method and apparatus for switching n data streams for input and output of the data streams by an n input, n output data store without data loss. The data store is divided into n separate storage arrays and each data stream is divided into n equal-sized pieces. Then, during each one of n separate time units, one data stream piece is written into a corresponding one of the storage arrays; or, one data stream piece is read from a corresponding one of the storage arrays. For each data stream, during each time unit i, where 1 ~ i ~ n, an i th data stream piece is written into an i th one of the storage arrays, or an i th piece is read from an i th storage array. During each j th time unit, where 1 ~ j ~ n, one data stream piece P ij is written into an i th storage array, or one pie ce P ij is read from an i th storage array. Before the writing or reading ste p, each data stream is shifted log2n separate stages, such that for each shifting stage each data stream is shifted by: 2(log2n)-1 bits in the first shifting stage; 2(log2n)-2 bits in the second shifting stage; ... ; and, 1 bit in the n th shifting stage.
|