FIFO system and operating method thereof
AssigneeMediatek Inc.
InventorJin Xiao Wu
Life of this patent
Estimating the term…
Abstract
FIFO systems and operating method thereof are provided to transfer data between a first device and a second device. In the FIFO system, a memory controller serves as an interface to access a memory device for storage of the data, and a CPU processes instructions to control the data transfer. Two data FIFOs serve as data buffers for data transactions to and from the first and second devices, and two status FIFOs serve as an instruction buffers for status transactions between the first, second devices and the CPU. A data controller connects the memory controller and the two data FIFOs for direct data delivery therebetween.
Claims13
A First-in-First-Out (FIFO) system, for transferring data between a first device and a second device and handling access of a memory device, wherein the FIFO system is coupled between the first and second devices, and the memory device, comprising:
- a CPU, executing status instructions to control data transfer between the first and second devices;
- at least two data FIFOs, serving as data buffers dedicated to buffer data instructions transferred between the first and second devices;
- at least one status FIFO, coupled to the CPU, serving as an instruction buffer dedicated to buffer status instructions transferred between the first device, the second device and the CPU;
- and
- a FIFO controller, establishing a bidirectional data path between the first and second devices through the at least two data FIFOs,
- wherein the bidirectional data path is a direct data path that does not occupy the memory device, and wherein the memory device is separate from the at least two data FIFOs and the at least one status FIFO, the at least two data FIFOs comprises a first and a second data FIFOs, and wherein the FIFO controller further comprises a memory controller to access the memory device and a data controller, the data controller comprising:
- a first selector, having two input ends respectively connected to the second data FIFO and the memory controller, and one output end connected to the first data FIFO, selectively passing a data instruction sent from the second data FIFO or the memory controller to the first data FIFO;
- and
- a second selector, having two input ends respectively connected to the first data FIFO and the memory controller, and one output end connected to the second data FIFO, selectively passing a data instruction sent from the first data FIFO or the memory controller to the second data FIFO.
A First-in-First-Out (FIFO) operating method for transferring data between a first device and a second device and handling access of a memory device via a FIFO system, wherein the FIFO system is coupled between the first and second devices, and the memory device, wherein the FIFO system comprises a CPU, at least one status FIFO coupled to the CPU, at least two data FIFOs coupled to the first and second devices, and a FIFO controller coupled to the at least two data FIFOs and the first and second devices, the operating method comprising:
- respectively sending status instructions by the CPU to the first and second devices via the at least one status FIFO to initialize a copy operation;
- receiving status instructions from the first and second device via the at least one status FIFO as an acknowledgement;
- receiving data instructions from the first device by the at least two data FIFOs;
- buffering the data instructions by the at least two data FIFOs;
- and
- transmitting the data instructions from the at least two data FIFOs to the second device,
- wherein the steps of receiving, buffering and transmitting the data instructions are performed without occupying the memory device, and wherein the memory device is separate from the at least two data FIFOs and the at least one status FIFO, the at least two data FIFOs comprises a first and a second data FIFOs, and wherein the FIFO controller further comprises a memory controller to access the memory device and a data controller, the data controller comprising:
- a first selector, having two input ends respectively connected to the second data FIFO and the memory controller, and one output end connected to the first data FIFO, selectively passing a data instruction sent from the second data FIFO or the memory controller to the first data FIFO;
- and
- a second selector, having two input ends respectively connected to the first data FIFO and the memory controller, and one output end connected to the second data FIFO, selectively passing a data instruction sent from the first data FIFO or the memory controller to the second data FIFO.
A First-in-First-Out (FIFO) system configured to transfer data between a first device and a second device, the system further configured to control access of a memory device, comprising:
- a CPU for executing status instructions to control data transfer between the first and second devices;
- at least two data FIFOs for serving as data buffers dedicated to buffer data instructions transferred between the first and second devices;
- at least one status FIFO, coupled to the CPU, for serving as an instruction buffer dedicated to buffer status instructions transferred between the first device, the second device and the CPU;
- and
- a FIFO controller for establishing a bidirectional data path between the first and second devices through the at least two data FIFOs;
- wherein the FIFO system is coupled between the first and second devices and the memory device, and wherein data is transferred between the first and second devices without utilizing the memory device, the at least two data FIFOs comprises a first and a second data FIFOs, and wherein the FIFO controller further comprises a memory controller to access the memory device and a data controller, the data controller comprising:
- a first selector, having two input ends respectively connected to the second data FIFO and the memory controller, and one output end connected to the first data FIFO, selectively passing a data instruction sent from the second data FIFO or the memory controller to the first data FIFO;
- and
- a second selector, having two input ends respectively connected to the first data FIFO and the memory controller, and one output end connected to the second data FIFO, selectively passing a data instruction sent from the first data FIFO or the memory controller to the second data FIFO.
Dependencies are inferred from the claim text.