Patent ID: 8429314
Filing Date: 2013-04-23
Classification: G06F

Abstract:
1. A First-in-First-Out (FIFO) system, for transferring data between a first device and a second device, wherein the FIFO system is coupled between the first and second devices and a memory device, comprising: a CPU, executing status instructions to control data transfer between the first and second devices; a first status FIFO, coupled to the first device and the CPU, serving as an instruction buffer for buffering status instructions transferred between the first device and the CPU; a second status FIFO, coupled to the second device and the CPU, serving as an instruction buffer for buffering status instructions transferred between the second device and the CPU; a data FIFO, serving as a data buffer for buffering data instructions transferred between the first and second devices; and a FIFO controller, establishing a bidirectional data path between the first and second devices through the data FIFO; wherein the bidirectional data path is a direct data path that does not occupy the memory device, and the first and second devices share the data FIFO in the bidirectional data path, wherein the data FIFO is not coupled to the CPU, wherein the FIFO controller comprises: a first selector coupled between the first status FIFO, the data FIFO and the first device, selectively forwarding an output of the first status FIFO or an output of the data FIFO to the first device; a second selector coupled between the second status FIFO, the data FIFO and the second device, selectively forwarding an output of the second status FIFO or the output of the data FIFO to the second device; and a third selector coupled between the data FIFO and the first and second devices, selectively forwarding data instructions from the first device or data instructions from the second device to the data FIFO.