Patent ID: 7650474

Claim:
A method for dividing a data segment into first and second halves of the data segment, wherein the data segment comprises an unknown plurality of data units, the method comprising: sequentially writing units of the data segment into first and second register files; with respect to the first register file: responsive to determining that the last unit of the data segment has been written into the first register file, removing units of the data segment in the first register file that are not units of the first half of the data segment, wherein the first register file stores the first half of the data segment; with respect to the second register file: responsive to writing each unit of the data segment into the second register file, adjusting data currently stored in the second register file to comprise a last half of the data so far written into the second register file, wherein when the last unit of the data segment has been written into the second register file, and the data currently stored in the second register file has been adjusted, the data currently stored in the second register file comprises the second half of the data segment; and wherein adjusting data currently stored in the second register file to comprise a last half of the data so far written into the second register file, includes: adjusting a boundary between a first half and a second half of the data currently stored in the second register file by half a unit of the data as a unit of the input data segment is written into the second register file.