Multi buffer asynchronous scheme for processing incoming information
First Claim
1. A method for processing incoming data by an incoming data module and a processor, the method comprising:
- waiting until two flags have identical values by the incoming data module;
when the two flags do have identical values, selecting one of two buffers depending on the values of the flags by the incoming data module;
saving a set of data into the selected buffer by the incoming data module;
changing a first flag of the two flags by the incoming data module;
alerting the processor by the incoming data module;
identifying the selected buffer by the processor; and
processing the data of the selected buffer by the processor.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is an electronic device featuring a multi buffer scheme for processing incoming signals. For example, two buffers can be used. A processor can read and process stored signals from a first buffer while an incoming data module can concurrently store signals in a second buffer. Once, the processor is done, it can move on to the second buffer and process signals stored therein while the incoming data module stores signals in the first buffer. Also provided is a flagging scheme for allowing the processor and the incoming data module to control their respective access to the various buffers, so that only one of them accesses a single buffer at any time.
-
Citations
34 Claims
-
1. A method for processing incoming data by an incoming data module and a processor, the method comprising:
-
waiting until two flags have identical values by the incoming data module; when the two flags do have identical values, selecting one of two buffers depending on the values of the flags by the incoming data module; saving a set of data into the selected buffer by the incoming data module; changing a first flag of the two flags by the incoming data module; alerting the processor by the incoming data module; identifying the selected buffer by the processor; and processing the data of the selected buffer by the processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for processing incoming data comprising:
-
waiting until two flags have identical values by an incoming data module; when the two flags do have identical values, selecting one of two buffers depending on the values of the flags by the incoming data module; saving a set of data into the selected buffer by the incoming data module; changing a first flag of the two flags by the incoming data module; and alerting a processor by the incoming data module. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method for processing data by an incoming data module and a processor comprising:
-
consulting one or more flags by the incoming data module to select a first buffer from a plurality of buffers, the first buffer being available to store information into; storing a first set of information into the first buffer by the incoming data module; modifying the one or more flags to indicate that new information has been stored in the first buffer by the incoming data module; processing the information in the first buffer by the processor; and modifying the one or more flags by the processor to indicate that the first buffer is available to store information into, wherein the processor and the incoming data module operate in parallel. - View Dependent Claims (15)
-
-
16. A method for processing data by a plurality of incoming data modules and a plurality of processors comprising:
-
consulting one or more flags by the plurality of incoming data modules so that each incoming data module selects a buffer from a plurality of buffers, the selected buffer being available to store information into; changing the one or more flags by each incoming data module to indicate that each respective selected buffer is being used; storing a respective set of information into each selected buffer by the plurality of incoming data modules; modifying the one or more flags to indicate that new information has been stored in each selected buffer by the plurality of incoming data modules; processing the information in a plurality of buffers in which new information has been stored by the plurality of processors; and modifying the one or more flags by each of the processors to indicate that the respective buffers are available to store information into, wherein the plurality of processors and the plurality of incoming data modules operate in parallel.
-
-
17. A system for processing incoming information comprising:
-
a source of incoming data; an incoming data module connected to the source of incoming data; a processor connected to the incoming data module; a memory comprising two buffers and connected to the processor and the source of incoming data; and two flags accessible by the processor and the source of incoming data; wherein the incoming data module is configured to wait until the two flags have identical values, and when the two flags do have identical values, select one of two buffers depending on the values of the flags, save a set of data received from the source of incoming data into the selected buffer, change a first flag of the two flags, and alert the processor, and the processor is configured to receive the alert, change the second flag if all data in the other one of the two buffers has been processed, identify the selected buffer, and process the data of the selected buffer. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A system for processing incoming information comprising:
-
a source of incoming data; an incoming data module connected to the source of incoming data; a processor connected to the incoming data module; a memory comprising two buffers and connected to the processor and the source of incoming data; and two flags accessible by the processor and the source of incoming data; wherein the incoming data module is configured to wait until two flags have identical values and when the two flags do have identical values, select one of two buffers depending on the values of the flags, save a set of data received from the source of incoming data into the selected buffer, change a first flag of the two flags, and alert the processor. - View Dependent Claims (27, 28, 29, 30, 31)
-
-
32. A system comprising:
-
a plurality of processors; a plurality of incoming data modules connected to the plurality of processors; and a memory comprising a plurality of buffers and one or more flags, the memory being connected to the plurality of processors and the plurality of incoming data modules; wherein the plurality of processors and the plurality of incoming data modules operate in parallel, each of the plurality of incoming data modules comprises logic configured to; consult one or more flags in order to select a buffer from a plurality of buffers, which is available to store information into; change the one or more flags to indicate that the selected buffer is being used; store a respective set of information into the selected buffer; and modify the one or more flags to indicate that new information has been stored in the selected buffer, and the memory further comprises instructions configured to cause each of the plurality of processors to; consult the one or more flags to locate the selected buffer into which new information has been stored; process the information in the selected buffer; and modify the one or more flags to indicate that the respective buffers are available to store information into.
-
-
33. A mobile telephone comprising:
-
a source of incoming data; an incoming data module connected to the source of incoming data; a processor connected to the incoming data module; a memory comprising two buffers and connected to the processor and the source of incoming data; and two flags accessible by the processor and the source of incoming data; wherein the incoming data module is configured to wait until the two flags have identical values, and when the two flags do have identical values, select one of two buffers depending on the values of the flags, save a set of data received from the source of incoming data into the selected buffer, change a first flag of the two flags, and alert the processor, and the processor is configured to receive the alert, change the second flag if all data in the other one of the two buffers has been processed, identify the selected buffer, and process the data of the selected buffer.
-
-
34. A portable audio player comprising:
-
a source of incoming data; an incoming data module connected to the source of incoming data; a processor connected to the incoming data module; a memory comprising two buffers and connected to the processor and the source of incoming data; and two flags accessible by the processor and the source of incoming data; wherein the incoming data module is configured to wait until the two flags have identical values, and when the two flags do have identical values, select one of two buffers depending on the values of the flags, save a set of data received from the source of incoming data into the selected buffer, change a first flag of the two flags, and alert the processor, and the processor is configured to receive the alert, change the second flag if all data in the other one of the two buffers has been processed, identify the selected buffer, and process the data of the selected buffer.
-
Specification