High speed processing of financial information using FPGA devices
DCFirst Claim
Patent Images
1. An apparatus for processing a plurality of financial market data messages, each financial market data message comprising financial market data and being associated with a financial instrument, the apparatus comprising:
- a reconfigurable logic device comprising a plurality of pipelined data processing blocks implemented in firmware logic on the reconfigurable logic device, the pipelined data processing blocks comprising a first data processing block and a second data processing block downstream from the first data processing block;
wherein the first data processing block is configured to retrieve pointer data from a memory in response to a plurality of received financial market data messages, the retrieved pointer data being configured to point to a plurality of records that are associated with the financial instruments that are associated with the received financial market data messages; and
wherein the second data processing block is configured to retrieve a plurality of financial instrument records from a memory based on the retrieved pointer data, the retrieved financial instrument records being associated with the financial instruments that are associated with the received financial market data messages; and
wherein the first and second data processing blocks are configured to operate simultaneously with respect to each other in a pipelined fashion.
4 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A high speed apparatus and method for processing a plurality of financial market data messages are disclosed. With respect to an exemplary embodiment, a reconfigurable logic device is employed to (1) receive the financial market data messages, and (2) process each received financial market data message to update a stored record for the financial instrument associated with that message.
543 Citations
38 Claims
-
1. An apparatus for processing a plurality of financial market data messages, each financial market data message comprising financial market data and being associated with a financial instrument, the apparatus comprising:
-
a reconfigurable logic device comprising a plurality of pipelined data processing blocks implemented in firmware logic on the reconfigurable logic device, the pipelined data processing blocks comprising a first data processing block and a second data processing block downstream from the first data processing block; wherein the first data processing block is configured to retrieve pointer data from a memory in response to a plurality of received financial market data messages, the retrieved pointer data being configured to point to a plurality of records that are associated with the financial instruments that are associated with the received financial market data messages; and wherein the second data processing block is configured to retrieve a plurality of financial instrument records from a memory based on the retrieved pointer data, the retrieved financial instrument records being associated with the financial instruments that are associated with the received financial market data messages; and wherein the first and second data processing blocks are configured to operate simultaneously with respect to each other in a pipelined fashion. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
2. A method for processing financial market data, the method comprising:
-
receiving streaming data, the streaming data comprising a plurality of data fields, a plurality of financial instrument identifiers, and a plurality of exchange identifiers, each data field comprising financial market data for a financial instrument and being associated with a financial instrument identifier and an exchange identifier; processing the streaming data through a pipeline deployed in firmware logic on a reconfigurable logic device, the pipeline comprising a first data processing block, a second data processing block downstream from the first data processing block, and a third data processing block downstream from the second data processing block, wherein the processing step comprises; the first data processing block resolving the streaming data to a plurality of memory addresses based on the financial instrument identifiers and exchange identifiers in the streaming data; the second data processing block retrieving a plurality of composite financial instrument records and a plurality of regional financial instrument records from a memory based on the resolved memory addresses; and the third data processing block performing at least one financial data processing operation on the data fields in the streaming data to generate a plurality of updates for the retrieved composite financial instrument records and the retrieved regional financial instrument records; and the first data processing block, the second data processing block, and the third data processing block operating simultaneously with respect to each other in a pipelined fashion as the streaming data is processed through the pipeline. - View Dependent Claims (34, 35, 36, 37, 38)
-
-
3. A method for processing a plurality of financial market data messages, each financial market data message comprising financial market data and being associated with a financial instrument, the method comprising:
-
receiving the financial market data messages; and processing a plurality of the received financial market data messages through a pipeline deployed in firmware logic on a reconfigurable logic device, the pipeline comprising a first data processing block and a second data processing block that is downstream from the first data processing block, the processing step comprising; the first data processing block retrieving pointer data from a memory in response to the processed financial market data messages, the retrieved pointer data pointing to a plurality of records that are associated with the financial instruments that are associated with the processed financial market data messages; and the second data processing block retrieving a plurality of financial instrument records from a memory based on the retrieved pointer data, the retrieved financial instrument records being associated with the financial instruments that are associated with the received financial market data messages; and the first and second data processing blocks operating simultaneously with respect to each other in a pipelined fashion. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
Specification