Patent ID: 7596147

Claim:
A method of processing cells in a communications system, comprising the steps of: causing at least one of the cells, from a network side, to be stored into a cell buffer bulk memory, said cell having a payload comprising a plurality of data bytes; responsive to detecting a predetermined fullness condition of a timeslot memory buffer, causing a predetermined number of said bytes to be retrieved from said cell buffer bulk memory into said timeslot memory buffer, said predetermined number of said bytes corresponding to a fraction of said payload of said cell; responsive to a line-side data requirement, causing at least one of said predetermined number of bytes to be retrieved from said timeslot memory buffer to a line side; and repeating, as needed, said steps of causing said at least one cell to be stored into said cell buffer bulk memory, causing said predetermined number of said bytes to be retrieved from said cell buffer bulk memory into said timeslot memory buffer, and causing said at least one of said predetermined number of bytes to be retrieved from said timeslot memory buffer to said line side, for ongoing processing of said cells; wherein: said predetermined number of said bytes to be retrieved from said cell buffer bulk memory into said timeslot memory buffer is determined based on at least virtual channel characteristics; and said step of causing said predetermined number of said bytes to be retrieved from said cell buffer bulk memory into said timeslot memory buffer comprises the sub-steps of: determining whether said step of causing said retrieval will completely read all remaining portions of said payload in a given one of the cells; responsive to determining that said step of causing said retrieval will completely read all remaining portions of said payload, calculating an amount of valid data as equal to a number of data bytes in said cell less a deconstruction index, and resetting said deconstruction index to zero; responsive to determining that said step of causing said retrieval will not completely read all remaining portions of said payload, calculating an amount of valid data as equal to said predetermined number of said bytes to be retrieved from said cell buffer bulk memory into said timeslot memory buffer, and setting a deconstruction index to a previous value of said deconstruction index plus said predetermined number of said bytes to be retrieved from said cell buffer bulk memory into said timeslot memory buffer.