Patent ID: 7574541

Claim:
A first-in-first-out (FIFO) sub-system for a disk formatter for controlling movement of data in a data processing system, the first-in-first out (FIFO) sub-system comprising: a first FIFO unit, which has a first width, for receiving first data from and transferring second data to a first device using a first bursting channel having a first channel width, wherein the FIFO sub-system transfers the data according to a plurality of sector sizes; the first device coupled to a memory device, the first device for receiving said first data from said memory device and transferring said second data to said memory device; a second FIFO unit, which has a second width, for transferring said first data to and receiving said second data from a second device using a second bursting channel having a second channel width, wherein the second channel width is not a multiple of the first channel width and the first channel width is not a multiple of the second channel width, and wherein said second width is not a multiple of the first width and the first width is not a multiple of the second width; a third FIFO unit having the first width and interfacing between the first bursting channel and the first FIFO for transferring the data during a read operation; data width conversion means between the first FIFO unit and the second FIFO unit for converting said first data moving from the first FIFO unit to the second FIFO unit from the first width to the second width, and for converting said second data moving from the second FIFO unit to the first FIFO unit from the second width to the first width, wherein the data width conversion means comprises at least a first counter and a second counter, wherein the first counter and the second counter are sector counters, and wherein based on an indication from the sector counters, the data is adjusted to accommodate the plurality of sector sizes, by appending padding to the data as needed to convert said second data to the second FIFO unit during a write operation; and a third interface to a third channel having a third channel width for performing error correction, wherein the error correction during a read operation is performed as the data is moved from the second FIFO unit to a read converter, and wherein the error correction during a write operation is performed as the data is moved from the second FIFO unit to an external read/write device, wherein the error correction occurs as a part of the FIFO sub-system and within the disk formatter.