WO1994009443A1 - Non-numeric coprocessor - Google Patents
Non-numeric coprocessor Download PDFInfo
- Publication number
- WO1994009443A1 WO1994009443A1 PCT/NO1992/000173 NO9200173W WO9409443A1 WO 1994009443 A1 WO1994009443 A1 WO 1994009443A1 NO 9200173 W NO9200173 W NO 9200173W WO 9409443 A1 WO9409443 A1 WO 9409443A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- window
- data
- coprocessor
- hit
- match
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
- G06F15/8023—Two dimensional arrays, e.g. mesh, torus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
Definitions
- This invention relates to a non-numeric coprocessor for fuzzy information retrieval and pattern recognition by means of electronic computing devices.
- the present invention seeks to remove the mismatches between systems based on traditional methods and the performance requirements of today.
- the object of the present invention is to make provisions for simple non-numeric computation programming and at the same time provide for a capability of browsing huge data volumes at a rate which is substantially higher than that for traditional non-numeric computation systems, while looking for a specific full sentence, or, alternatively, a complex combination of many word fragments at a lower speed.
- the present invention seeks to avoid the need for extensive segmentation, vectori- zation and duplicate storing of data for the purpose of searching for complex items of information, and which is often required when employing known techniques.
- a 'byte' should be interpreted as a group of adjecent bits which is processed as a unit, the number of bits not necessarily being eight.
- a non-numeric coprocessor for fuzzy information retrieval and pattern recognition having means for information processing and being connectable to a host computer and a data source, and characterized in that said information processing means comprises a plurality of internal processing elements organized in a given number of simultaneously operable window modules arranged for inspecting streams of data from said data source, each processing element being designed for comparing one byte, e.g.
- one 8-bit byte in a stream of data, with predetermined, individually programmable upper and lower boundary values assigned to said processing element, to decide if the value of the byte present in that processing element is within said boundary values, and, if so, produce a hit signal which is communicated to a window match logic provided in each window module for correlating hit signals received from different processing elements in that window module, and to produce a window match signal by the occur ⁇ rence of a predefined match in said window module.
- the coprocessor further comprises data routing means allowing separate data streams from the source to be routed to said simultaneously operable window modules on an inidividual bases or in a manner whereby said window modules are chained into selectable ones of different window configurations, such as individual super- windows, groups of super-windows, or a single super-window including all window modules, according to configuration data corresponding to application needs.
- data routing means allowing separate data streams from the source to be routed to said simultaneously operable window modules on an inidividual bases or in a manner whereby said window modules are chained into selectable ones of different window configurations, such as individual super- windows, groups of super-windows, or a single super-window including all window modules, according to configuration data corresponding to application needs.
- the coprocessor can give a flexible, configurable data routing capability, which also supports using the processor in less than 64-bit wide applications.
- the data routing means comprises a network of multiplexers organized in different levels, each multiplexer element being capable of selecting one out of two data inputs to be routed to its output.
- the levels of multiplexers comprise a folding, a parallel and a serial multiplexer level, respectively.
- the coprocessor may further comprise a static random access memory (RAM) for internal storage of said window configura ⁇ tion loadable into the coprocessor. Then there is no need for supplying configuration data to the coprocessor for each search operation (only possible alterations in the configura ⁇ tion have to be communicated) , and development of software including customized sets of downloadable configuration data becomes advantageous.
- RAM static random access memory
- each processing element comprises a latch cell for temporary storage of the byte to be inspected, and two comparator cells loaded with said upper and lower boundary values for that processing element, the comparator cells being arranged to generate said hit signal.
- a result control logic arranged for receiving and comparing said window match signals with a programmable central hit mask allowing any logical combination of window hits to be defined and addresses of all occurrences found (hit address mode) , or alternatively the total number of matches within the data volume inspected (hit count mode) , to be reported.
- Figure 1 shows a typical application of the coprocessor according to the invention
- Figure 2 is a block diagram of the coprocessor according to the invention, connected with a host computer and a data source
- Figure 3 is a diagram illustrating a single window in the coprocessor according to the invention
- Figure 4 is a diagram illustrating a single processing element of a window in the coprocessor according to the invention
- Figure 5 shows the data routing network in the coprocessor according to the invention
- Figures 6 - 15 serves to illustrate various preferred configurations of the data routing network in the coprocessor according to the invention
- Figures 16 and 17 serves to illustrate in detail the data flow through the routing network in the coproces- sor, according to two different configurations shown in respective ones of Figures 7 - 16
- Figure 18 serves to illustrate a typical host/coprocesser configuration
- Figure 19 serves to illustrate the address map organization in the coprocessor
- Figure 20 serves to illustrate a part of the window for a given application example.
- the coprocessor chip 1 typically is connected with a host computer 2 by means of a two-way data transfer link, and with a data source 3 by means of a one-way data transfer link.
- the preferred embodiment of the coprocessor chip 1 includes, as can be seen in Figure 2 , a series of eight window modules WO - W8 logically located between a data router module 12 and a result control logic 13 interconnected by an 8-bit data bus which is also connected with a host interface module 14.
- a data source interface module 15 provides for one-way 64-bit data transfer from the source 3 to the data router module 12.
- each processing element PE is divided into a latch cell 17 and two associated comparator cells 18, 19 for match checking with individually program ⁇ mable upper and lower bounds.
- the data router comprises three levels of multiplexers, each selecting one out of two 8-bit wide inputs to be routed to its output.
- the first multiplexer level to which eight 8-bit wide source data streams are fed, is made up of a folding multiplexer (the upper mux row in Figure 5) , i.e. a multiplexer that may fold data streams in a circular manner, thus making the windows independent of where the actual data stream is input_ to the coprocessor.
- the folding multiplexer is connected to a parallel multiplexer (the middle mux row in Figure 5) which may duplicate data streams to let different windows read the same data stream simultaneously.
- a serial multiplexer (the bottom mux row in Figure 5) selects whether the windows should be chained into super-windows or not.
- the data streams are routed in pairs to two windows in parallel.
- the streams can alternatively be data set 0,2,4,6 or data set 1,3,5,7; making stream 1 an extension of stream 0, and so on. This configuration is shown in Figure 7.
- the different filter and data path configurations are determined by the configuration data loaded into the chip. All configurations will be able to give 10 giga single byte comparisons per second due to the routing of data. However, complex queries are done by trade off with the number of simultaneous data paths. This makes it easy to map a large number of applications onto the chip.
- the coprocessor 11 is typically linked to the a computer in a manner as illustrated in Figure 18.
- the host computer shown includes a disk unit 21 and an associated disk controller 22; a central processing unit, CPU, 23; a system memory 24, and a system bus 25.
- the host interface 14 is based on an 8-bit bidirectional port (HD-bus) , and read and write cycles can be carried out asynchronously as well as synchronously.
- the host interface itself is controlled by the assertion of IOR or IOW in combination with CS and the appropriate polarity on the SETADR line (see Figure 2) .
- the configuration data is stored in a configuration RAM, and consists of a total of 828 bytes, making a complete recon ⁇ figuration possible in about 100 microseconds. In most systems the configuration time will be determined by the transfer rate from the host. Using the I/O channel of a personal computer will typically take 1000 ⁇ s, assuming a transfer rate in the order of 1 MB/s.
- the coprocessor In count mode, the coprocessor will accumulate on chip the number of matching data items found. In report mode, the coprocessor will assert an interrupt signal upon detecting a hit. This signal will be kept asserted until ACK or IOW is asserted by the host. The internal result position counter will be stored in a shadow register (not shown) . The configuration data determines if the chip should stop accepting data or not, whenever a hit occurs.
- DWTD see Figure 2
- the counter stored in the shadow register will not be overwritten until ACK has been asserted. This could be advantageous with text searches, where the hits most often cluster together in the portions of the text containing the desired data.
- the problem is to find only the right part (chapter, article) of the text, it may be irrelevant to find several accurate occurrences within that part of the text.
- the 64-bit synchronous data interface 15 (see Figure 2) is controlled by a simple handshaking procedure. Whenever the coprocessor is ready to accept data, DWTD is asserted one clock cycle ahead of the actual data read. This allows more comfortable timing when designing the interface.
- the input stream contains data that is to be interpreted as numerical values spanning more than one byte, the most significant byte must arrive first into the window.
- Programming of the chip is done by writing configuration data to the different addresses in the host interface.
- the different parts of the configuration are indirectly address ⁇ able. This gives the ability to change only parts of the configuration whenever wanted, within a small amount of time.
- the data stream does not need to be stopped during a reconfiguration, but false matches may occur due to the transient conditions present when the configuration is only partly written. There may also be a problem with misaligned records, since the record counters are reset by a write to the corresponding window. It is therefore recommended not to alter the configuration without stopping the data stream.
- the internal configuration address in the coprocessor consists of 11 bits, ADR(10,0) , which is generated in an internal address register. The eight most significant bits of this register is loadable through the host interface. The three least significant bits will be cleared when the most significant bits are loaded. A load is done by setting up the address bits on the HD-bus, and asserting CS, IOW and SETADR simultaneously.
- the organization of the 11-bit address is shown in Figure 19.
- the coprocessor has twelve internal modules, each with its own address.
- a module address comprises the four most signi ⁇ ficant bits in the address, which only changes by writing a new value from the HD-bus.
- the module base addresses are shown in Table 1. The seven least significant bits are held in a counter, incrementing after each access from the host interface.
- the value is then loaded into the address register through the HD interface, followed by accesses to auto-increment the address register. Read accesses are easiest since they do not require any knowledge of the previous configuration.
- Each window module consists of: • 32 lower limit bytes
- the limit registers are loaded with the appropriate values for the actual search.
- the field separator mask has a 1 in the position which is the least significant byte in each field. It should be noticed that in the field separator mask only the least significant bit in each byte is used, i.e. 1 should be written to the separator mask byte matching the processing elements, PE's, holding the last byte in a field, 0 elsewhere.
- the match latency is the number of clock cycles during which a window should remember a hit.
- a match latency of zero implies that a hit is only reported from the window to the central match logic in the clock cycle it occurs.
- a match latency of e.g. 4 would imply that the match is be reported for four additional cycles, i.e. five cycles in total.
- the value written to the match latency register should be 65535 ( io ) ⁇ inus said latency, i.e. a match latency of e.g. 4 is specified by writing the value 65531 ( ⁇ o ) to the register.
- the record length is used to suppress hits due to occasional ⁇ ly matching patterns which are not aligned with record boundaries. By setting the record length to one, all hits will be reported to the central match logic. A record length of e.g. 6 will cause only matches occurring on every sixth data transfer to be reported from the window.
- the byte counting for a window is reset by all write operations with module address corresponding to that window; i.e. the first possible match would be six data transfers after writing the window configuration.
- the record length value is programmed into the corresponding register in the coprocessor as 256 (] _g ) minus record length. Thus, a record length of 10 (] _g ) is written as 246 (I Q ) .
- the 256-bit hit mask RAM is organized as 32x8 bits as seen from the host interface.
- the 32 bytes are selected by the five least significant bits in the internal address register, leaving bit 5 and 6 as "don't care", and bit 7 through 10 as module address (1000 ( 2 ) ) .
- a writing to byte address 0 influences bit 0 through 7 in the 256-bit addressing scheme, with the least significant bit in the byte corresponding to bit position 0.
- a write to byte address 4 affects bit 32 through 39 in the 256-bit addressing scheme.
- the windows are addressing the RAM as 256x1 bit.
- the match signals from the eight windows are used as an address with the match from Window 0 being the least significant address bit. If a 1 is stored in the actual location, a hit is detected.
- the module comprising the mode register, result counter, hit pattern and version register has no internal offset addres ⁇ ses, but is organized as a shift register chain with serial read and write. All writes to this module will occur in the mode register, which is the only writeable in the chain. It affects how the coprocessor acts upon a hit. Only the three least significant bits have a function, the others should always be written as 0.
- the mode bits are explained in Table 3. These bits give 8 combinations of operation, all explained in Table 4.
- All registers, except the mode register, are of the read ⁇ only type. Not all values have to be read after first initiating a read. Sending an ACK or IOW to the coprocessor will allow the values in the result counter and the hit pattern to be overwritten by a new hit, as well as making new reads start with accessing the most significant byte of the result counter. (IOW must be qualified with CS.) This is also valid when INT have not been asserted.
- the result counter is counting the number of hits or the number of data transfers that have occurred since the last write to the mode register. Thus, writing any value to this module will clear the result counter.
- the counter is 32 bit wide. No counter overflow indication is given.
- the hit pattern is the reported matches from each of the eight windows in the last hit. This can be used when the programming of the hit mask RAM allows several match patterns to generate a hit. The pattern that actually triggered the hit can be read to give more information to make post ⁇ processing easier.
- the version register contains a number indicating which version of coprocessor that is present. This is for use with later revisions, giving the software a possibility to adjust to the hardware actually present.
- the data router setup module is organized as a 3 level deep, one byte wide shift register. These are the bytes controlling the multiplexers described above with reference to Figures 5 through 17. The bytes are read and written in the following order:
- the coprocessor chip according to the invention may also contain a data path module intended for fabrication tests only, and allowing read operations giving data output from window 7.
- the preferred embodiment of a chip containing the non-numeric coprocessor according to the present invention is a massive parallel VLSI-chip for installation on an expansion card for a personal computer or workstation.
- the chip is preferably a
- Figure 20 shows the configuration of a part of a window for the purpose of this example.
- This window will report a match for persons having a family name beginning with the character 'A' through 'G' , and telephone number in the range of 142000 to 160000.
- the telephone number will be treated as a numerical field span- ning six bytes.
- the other two fields are also indicated, but it would make no difference if all bits were 1 for fields #1 and #2 since they are not involved in any comparisons including more than one byte.
- the bytes which are not contained in the search criteria are set to a "don't care" condition matching all data patterns within the maximum range of FF ( ig ) to 00 ( 16) -
- a programmed record length of 16 bytes ensures that no matches appear for data not being aligned with record bounds in the configura- tion. As only one window is used, no match latency is needed.
- the above is the only search criteria, it may be copied to all windows, setting the hit mask RAM to have a 1 in all positions except position 0. This will cause a match signal to be generated whenever at least one of the windows has a hit.
- the preferred embodiment of the coprocessor consists of 8 data windows, each containing a 32 byte shift register.
- each register element is associated with two comparators, checking for match with an upper and a lower bound. Each bound is individually programmable, and gives the opportunity of matching the data within any continuous interval in the byte range.
- the two comparators report a match to the match logic connected to each window. For items larger than one byte, combinations of matches in different bytes can be combined. This gives the ability to handle data records of up to 256 bytes. Data fields may consist of up to eight bytes for any interval test, and up to 256 bytes when testing for equality.
- Each window reports its individual hit to the on-chip central hit mask.
- the eight individual window matches are used as an address in a 256 bit user programmable RAM.
- This RAM has a 1 stored for any combination of window hits that should be detected as a hit.
- the user can select to be informed for instance on a hit in only one window, in four out of eight windows, or in all windows.
- any logic combination of the 8 window hits can be a user defined hit.
- the chip can report addresses of all occurrences found, or alternatively the total number of matches within the data volume.
- the coprocessor When set in report mode, upon a hit, the coprocessor stores in a shadow register the internal counter containing the position of the data found. This stored indication may later be read by the host. The shadow register will not be over ⁇ written until the host has acknowledged the match by asserting ACK.
- Each window can be set to remember a hit for a programmable time. This gives the ability of context sensitive searching in cases where exact matches cannot be found. This conforms with the principle of the coprocessor: Many weak conditions upon the data wanted are used in combination instead of one (strict) search key. This feature is particularly important for searches in complex and/or huge amounts of data. Examples of Applications
- the coprocessor according to the given example will accept a sustained data rate of 160 MB/s for queries of type Ql.
- Complex queries of type Q2 are processed at a sustained data rate of 20 MB/s.
- Potential applications include non-linear filtering, radar target correlations and detection of abnormal signals.
- the coprocessor according to the invention is an ideal disc controller component. It may drastically reduce the need for transferring data via buses to the host computer, simply by restricting this data to positively requested items only.
- the coprocessor functions go beyond classical content addressing to a more advanced "data property" addressing.
Abstract
Description
Claims
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6509863A JPH08502609A (en) | 1992-10-16 | 1992-10-16 | Non-numeric coprocessor |
KR1019950701513A KR950704751A (en) | 1992-10-16 | 1992-10-16 | NON-NUMERIC COPROCESSOR |
CA002146352A CA2146352A1 (en) | 1992-10-16 | 1992-10-16 | Non-numeric coprocessor |
PCT/NO1992/000173 WO1994009443A1 (en) | 1992-10-16 | 1992-10-16 | Non-numeric coprocessor |
EP92922718A EP0664910A1 (en) | 1992-10-16 | 1992-10-16 | Non-numeric coprocessor |
NO951401A NO951401L (en) | 1992-10-16 | 1995-04-10 | Non-numeric coprocessor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/NO1992/000173 WO1994009443A1 (en) | 1992-10-16 | 1992-10-16 | Non-numeric coprocessor |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1994009443A1 true WO1994009443A1 (en) | 1994-04-28 |
Family
ID=19907688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/NO1992/000173 WO1994009443A1 (en) | 1992-10-16 | 1992-10-16 | Non-numeric coprocessor |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP0664910A1 (en) |
JP (1) | JPH08502609A (en) |
KR (1) | KR950704751A (en) |
CA (1) | CA2146352A1 (en) |
NO (1) | NO951401L (en) |
WO (1) | WO1994009443A1 (en) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000029981A2 (en) * | 1998-11-13 | 2000-05-25 | Fast Search & Transfer Asa | A processing circuit and a search processor circuit |
US8326819B2 (en) | 2006-11-13 | 2012-12-04 | Exegy Incorporated | Method and system for high performance data metatagging and data indexing using coprocessors |
US8374986B2 (en) | 2008-05-15 | 2013-02-12 | Exegy Incorporated | Method and system for accelerated stream processing |
US8379841B2 (en) | 2006-03-23 | 2013-02-19 | Exegy Incorporated | Method and system for high throughput blockwise independent encryption/decryption |
US8407122B2 (en) | 2006-06-19 | 2013-03-26 | Exegy Incorporated | High speed processing of financial information using FPGA devices |
US8549024B2 (en) | 2000-04-07 | 2013-10-01 | Ip Reservoir, Llc | Method and apparatus for adjustable data matching |
US8620881B2 (en) | 2003-05-23 | 2013-12-31 | Ip Reservoir, Llc | Intelligent data storage and processing using FPGA devices |
US8762249B2 (en) | 2008-12-15 | 2014-06-24 | Ip Reservoir, Llc | Method and apparatus for high-speed processing of financial market depth data |
US8843408B2 (en) | 2006-06-19 | 2014-09-23 | Ip Reservoir, Llc | Method and system for high speed options pricing |
US8880501B2 (en) | 2006-11-13 | 2014-11-04 | Ip Reservoir, Llc | Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors |
US8879727B2 (en) | 2007-08-31 | 2014-11-04 | Ip Reservoir, Llc | Method and apparatus for hardware-accelerated encryption/decryption |
US9047243B2 (en) | 2011-12-14 | 2015-06-02 | Ip Reservoir, Llc | Method and apparatus for low latency data distribution |
US9547680B2 (en) | 2005-03-03 | 2017-01-17 | Washington University | Method and apparatus for performing similarity searching |
US9633097B2 (en) | 2012-10-23 | 2017-04-25 | Ip Reservoir, Llc | Method and apparatus for record pivoting to accelerate processing of data fields |
US9633093B2 (en) | 2012-10-23 | 2017-04-25 | Ip Reservoir, Llc | Method and apparatus for accelerated format translation of data in a delimited data format |
US9990393B2 (en) | 2012-03-27 | 2018-06-05 | Ip Reservoir, Llc | Intelligent feed switch |
US10037568B2 (en) | 2010-12-09 | 2018-07-31 | Ip Reservoir, Llc | Method and apparatus for managing orders in financial markets |
US10121196B2 (en) | 2012-03-27 | 2018-11-06 | Ip Reservoir, Llc | Offload processing of data packets containing financial market data |
US10146845B2 (en) | 2012-10-23 | 2018-12-04 | Ip Reservoir, Llc | Method and apparatus for accelerated format translation of data in a delimited data format |
US10229453B2 (en) | 2008-01-11 | 2019-03-12 | Ip Reservoir, Llc | Method and system for low latency basket calculation |
US10572824B2 (en) | 2003-05-23 | 2020-02-25 | Ip Reservoir, Llc | System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines |
US10650452B2 (en) | 2012-03-27 | 2020-05-12 | Ip Reservoir, Llc | Offload processing of data packets |
US10846624B2 (en) | 2016-12-22 | 2020-11-24 | Ip Reservoir, Llc | Method and apparatus for hardware-accelerated machine learning |
US10902013B2 (en) | 2014-04-23 | 2021-01-26 | Ip Reservoir, Llc | Method and apparatus for accelerated record layout detection |
US10909623B2 (en) | 2002-05-21 | 2021-02-02 | Ip Reservoir, Llc | Method and apparatus for processing financial information at hardware speeds using FPGA devices |
US10942943B2 (en) | 2015-10-29 | 2021-03-09 | Ip Reservoir, Llc | Dynamic field data translation to support high performance stream data processing |
US11436672B2 (en) | 2012-03-27 | 2022-09-06 | Exegy Incorporated | Intelligent switch for processing financial market data |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0233401A2 (en) * | 1985-12-10 | 1987-08-26 | Trw Inc. | Improved fast search processor |
EP0428328A1 (en) * | 1989-11-14 | 1991-05-22 | Amt(Holdings) Limited | Processor array system |
US5060143A (en) * | 1988-08-10 | 1991-10-22 | Bell Communications Research, Inc. | System for string searching including parallel comparison of candidate data block-by-block |
-
1992
- 1992-10-16 EP EP92922718A patent/EP0664910A1/en not_active Withdrawn
- 1992-10-16 KR KR1019950701513A patent/KR950704751A/en not_active Application Discontinuation
- 1992-10-16 CA CA002146352A patent/CA2146352A1/en not_active Abandoned
- 1992-10-16 JP JP6509863A patent/JPH08502609A/en active Pending
- 1992-10-16 WO PCT/NO1992/000173 patent/WO1994009443A1/en not_active Application Discontinuation
-
1995
- 1995-04-10 NO NO951401A patent/NO951401L/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0233401A2 (en) * | 1985-12-10 | 1987-08-26 | Trw Inc. | Improved fast search processor |
US5060143A (en) * | 1988-08-10 | 1991-10-22 | Bell Communications Research, Inc. | System for string searching including parallel comparison of candidate data block-by-block |
EP0428328A1 (en) * | 1989-11-14 | 1991-05-22 | Amt(Holdings) Limited | Processor array system |
Cited By (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000029981A2 (en) * | 1998-11-13 | 2000-05-25 | Fast Search & Transfer Asa | A processing circuit and a search processor circuit |
WO2000029981A3 (en) * | 1998-11-13 | 2000-08-10 | Fast Search & Transfer Asa | A processing circuit and a search processor circuit |
AU751081B2 (en) * | 1998-11-13 | 2002-08-08 | Fast Search & Transfer Asa | A processing circuit and a search processor circuit |
US6587852B1 (en) | 1998-11-13 | 2003-07-01 | Fast Search & Transfer Asa | Processing circuit and a search processor circuit |
CN100449529C (en) * | 1998-11-13 | 2009-01-07 | 快速检索及传递公司 | Processing circuit and search processor circuit |
US9020928B2 (en) | 2000-04-07 | 2015-04-28 | Ip Reservoir, Llc | Method and apparatus for processing streaming data using programmable logic |
US8549024B2 (en) | 2000-04-07 | 2013-10-01 | Ip Reservoir, Llc | Method and apparatus for adjustable data matching |
US10909623B2 (en) | 2002-05-21 | 2021-02-02 | Ip Reservoir, Llc | Method and apparatus for processing financial information at hardware speeds using FPGA devices |
US10572824B2 (en) | 2003-05-23 | 2020-02-25 | Ip Reservoir, Llc | System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines |
US8620881B2 (en) | 2003-05-23 | 2013-12-31 | Ip Reservoir, Llc | Intelligent data storage and processing using FPGA devices |
US11275594B2 (en) | 2003-05-23 | 2022-03-15 | Ip Reservoir, Llc | Intelligent data storage and processing using FPGA devices |
US10719334B2 (en) | 2003-05-23 | 2020-07-21 | Ip Reservoir, Llc | Intelligent data storage and processing using FPGA devices |
US10346181B2 (en) | 2003-05-23 | 2019-07-09 | Ip Reservoir, Llc | Intelligent data storage and processing using FPGA devices |
US9176775B2 (en) | 2003-05-23 | 2015-11-03 | Ip Reservoir, Llc | Intelligent data storage and processing using FPGA devices |
US9898312B2 (en) | 2003-05-23 | 2018-02-20 | Ip Reservoir, Llc | Intelligent data storage and processing using FPGA devices |
US8768888B2 (en) | 2003-05-23 | 2014-07-01 | Ip Reservoir, Llc | Intelligent data storage and processing using FPGA devices |
US10929152B2 (en) | 2003-05-23 | 2021-02-23 | Ip Reservoir, Llc | Intelligent data storage and processing using FPGA devices |
US8751452B2 (en) | 2003-05-23 | 2014-06-10 | Ip Reservoir, Llc | Intelligent data storage and processing using FPGA devices |
US10580518B2 (en) | 2005-03-03 | 2020-03-03 | Washington University | Method and apparatus for performing similarity searching |
US9547680B2 (en) | 2005-03-03 | 2017-01-17 | Washington University | Method and apparatus for performing similarity searching |
US10957423B2 (en) | 2005-03-03 | 2021-03-23 | Washington University | Method and apparatus for performing similarity searching |
US8737606B2 (en) | 2006-03-23 | 2014-05-27 | Ip Reservoir, Llc | Method and system for high throughput blockwise independent encryption/decryption |
US8983063B1 (en) | 2006-03-23 | 2015-03-17 | Ip Reservoir, Llc | Method and system for high throughput blockwise independent encryption/decryption |
US8379841B2 (en) | 2006-03-23 | 2013-02-19 | Exegy Incorporated | Method and system for high throughput blockwise independent encryption/decryption |
US8458081B2 (en) | 2006-06-19 | 2013-06-04 | Exegy Incorporated | High speed processing of financial information using FPGA devices |
US10467692B2 (en) | 2006-06-19 | 2019-11-05 | Ip Reservoir, Llc | High speed processing of financial information using FPGA devices |
US10504184B2 (en) | 2006-06-19 | 2019-12-10 | Ip Reservoir, Llc | Fast track routing of streaming data as between multiple compute resources |
US10360632B2 (en) | 2006-06-19 | 2019-07-23 | Ip Reservoir, Llc | Fast track routing of streaming data using FPGA devices |
US8843408B2 (en) | 2006-06-19 | 2014-09-23 | Ip Reservoir, Llc | Method and system for high speed options pricing |
US8655764B2 (en) | 2006-06-19 | 2014-02-18 | Ip Reservoir, Llc | High speed processing of financial information using FPGA devices |
US10169814B2 (en) | 2006-06-19 | 2019-01-01 | Ip Reservoir, Llc | High speed processing of financial information using FPGA devices |
US10817945B2 (en) | 2006-06-19 | 2020-10-27 | Ip Reservoir, Llc | System and method for routing of streaming data as between multiple compute resources |
US8626624B2 (en) | 2006-06-19 | 2014-01-07 | Ip Reservoir, Llc | High speed processing of financial information using FPGA devices |
US8595104B2 (en) | 2006-06-19 | 2013-11-26 | Ip Reservoir, Llc | High speed processing of financial information using FPGA devices |
US9582831B2 (en) | 2006-06-19 | 2017-02-28 | Ip Reservoir, Llc | High speed processing of financial information using FPGA devices |
US11182856B2 (en) | 2006-06-19 | 2021-11-23 | Exegy Incorporated | System and method for routing of streaming data as between multiple compute resources |
US8478680B2 (en) | 2006-06-19 | 2013-07-02 | Exegy Incorporated | High speed processing of financial information using FPGA devices |
US9672565B2 (en) | 2006-06-19 | 2017-06-06 | Ip Reservoir, Llc | High speed processing of financial information using FPGA devices |
US8407122B2 (en) | 2006-06-19 | 2013-03-26 | Exegy Incorporated | High speed processing of financial information using FPGA devices |
US9916622B2 (en) | 2006-06-19 | 2018-03-13 | Ip Reservoir, Llc | High speed processing of financial information using FPGA devices |
US9396222B2 (en) | 2006-11-13 | 2016-07-19 | Ip Reservoir, Llc | Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors |
US10191974B2 (en) | 2006-11-13 | 2019-01-29 | Ip Reservoir, Llc | Method and system for high performance integration, processing and searching of structured and unstructured data |
US8326819B2 (en) | 2006-11-13 | 2012-12-04 | Exegy Incorporated | Method and system for high performance data metatagging and data indexing using coprocessors |
US8880501B2 (en) | 2006-11-13 | 2014-11-04 | Ip Reservoir, Llc | Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors |
US9323794B2 (en) | 2006-11-13 | 2016-04-26 | Ip Reservoir, Llc | Method and system for high performance pattern indexing |
US11449538B2 (en) | 2006-11-13 | 2022-09-20 | Ip Reservoir, Llc | Method and system for high performance integration, processing and searching of structured and unstructured data |
US9363078B2 (en) | 2007-03-22 | 2016-06-07 | Ip Reservoir, Llc | Method and apparatus for hardware-accelerated encryption/decryption |
US8879727B2 (en) | 2007-08-31 | 2014-11-04 | Ip Reservoir, Llc | Method and apparatus for hardware-accelerated encryption/decryption |
US10229453B2 (en) | 2008-01-11 | 2019-03-12 | Ip Reservoir, Llc | Method and system for low latency basket calculation |
US10965317B2 (en) | 2008-05-15 | 2021-03-30 | Ip Reservoir, Llc | Method and system for accelerated stream processing |
US10158377B2 (en) | 2008-05-15 | 2018-12-18 | Ip Reservoir, Llc | Method and system for accelerated stream processing |
US9547824B2 (en) | 2008-05-15 | 2017-01-17 | Ip Reservoir, Llc | Method and apparatus for accelerated data quality checking |
US11677417B2 (en) | 2008-05-15 | 2023-06-13 | Ip Reservoir, Llc | Method and system for accelerated stream processing |
US10411734B2 (en) | 2008-05-15 | 2019-09-10 | Ip Reservoir, Llc | Method and system for accelerated stream processing |
GB2471634B (en) * | 2008-05-15 | 2013-02-20 | Exegy Inc | Method and system for accelerated stream processing |
US8374986B2 (en) | 2008-05-15 | 2013-02-12 | Exegy Incorporated | Method and system for accelerated stream processing |
US10929930B2 (en) | 2008-12-15 | 2021-02-23 | Ip Reservoir, Llc | Method and apparatus for high-speed processing of financial market depth data |
US8762249B2 (en) | 2008-12-15 | 2014-06-24 | Ip Reservoir, Llc | Method and apparatus for high-speed processing of financial market depth data |
US8768805B2 (en) | 2008-12-15 | 2014-07-01 | Ip Reservoir, Llc | Method and apparatus for high-speed processing of financial market depth data |
US11676206B2 (en) | 2008-12-15 | 2023-06-13 | Exegy Incorporated | Method and apparatus for high-speed processing of financial market depth data |
US10062115B2 (en) | 2008-12-15 | 2018-08-28 | Ip Reservoir, Llc | Method and apparatus for high-speed processing of financial market depth data |
US10037568B2 (en) | 2010-12-09 | 2018-07-31 | Ip Reservoir, Llc | Method and apparatus for managing orders in financial markets |
US11397985B2 (en) | 2010-12-09 | 2022-07-26 | Exegy Incorporated | Method and apparatus for managing orders in financial markets |
US11803912B2 (en) | 2010-12-09 | 2023-10-31 | Exegy Incorporated | Method and apparatus for managing orders in financial markets |
US9047243B2 (en) | 2011-12-14 | 2015-06-02 | Ip Reservoir, Llc | Method and apparatus for low latency data distribution |
US11436672B2 (en) | 2012-03-27 | 2022-09-06 | Exegy Incorporated | Intelligent switch for processing financial market data |
US10121196B2 (en) | 2012-03-27 | 2018-11-06 | Ip Reservoir, Llc | Offload processing of data packets containing financial market data |
US10872078B2 (en) | 2012-03-27 | 2020-12-22 | Ip Reservoir, Llc | Intelligent feed switch |
US10650452B2 (en) | 2012-03-27 | 2020-05-12 | Ip Reservoir, Llc | Offload processing of data packets |
US9990393B2 (en) | 2012-03-27 | 2018-06-05 | Ip Reservoir, Llc | Intelligent feed switch |
US10963962B2 (en) | 2012-03-27 | 2021-03-30 | Ip Reservoir, Llc | Offload processing of data packets containing financial market data |
US10133802B2 (en) | 2012-10-23 | 2018-11-20 | Ip Reservoir, Llc | Method and apparatus for accelerated record layout detection |
US10621192B2 (en) | 2012-10-23 | 2020-04-14 | IP Resevoir, LLC | Method and apparatus for accelerated format translation of data in a delimited data format |
US10102260B2 (en) | 2012-10-23 | 2018-10-16 | Ip Reservoir, Llc | Method and apparatus for accelerated data translation using record layout detection |
US10949442B2 (en) | 2012-10-23 | 2021-03-16 | Ip Reservoir, Llc | Method and apparatus for accelerated format translation of data in a delimited data format |
US9633093B2 (en) | 2012-10-23 | 2017-04-25 | Ip Reservoir, Llc | Method and apparatus for accelerated format translation of data in a delimited data format |
US9633097B2 (en) | 2012-10-23 | 2017-04-25 | Ip Reservoir, Llc | Method and apparatus for record pivoting to accelerate processing of data fields |
US11789965B2 (en) | 2012-10-23 | 2023-10-17 | Ip Reservoir, Llc | Method and apparatus for accelerated format translation of data in a delimited data format |
US10146845B2 (en) | 2012-10-23 | 2018-12-04 | Ip Reservoir, Llc | Method and apparatus for accelerated format translation of data in a delimited data format |
US10902013B2 (en) | 2014-04-23 | 2021-01-26 | Ip Reservoir, Llc | Method and apparatus for accelerated record layout detection |
US10942943B2 (en) | 2015-10-29 | 2021-03-09 | Ip Reservoir, Llc | Dynamic field data translation to support high performance stream data processing |
US11526531B2 (en) | 2015-10-29 | 2022-12-13 | Ip Reservoir, Llc | Dynamic field data translation to support high performance stream data processing |
US11416778B2 (en) | 2016-12-22 | 2022-08-16 | Ip Reservoir, Llc | Method and apparatus for hardware-accelerated machine learning |
US10846624B2 (en) | 2016-12-22 | 2020-11-24 | Ip Reservoir, Llc | Method and apparatus for hardware-accelerated machine learning |
Also Published As
Publication number | Publication date |
---|---|
JPH08502609A (en) | 1996-03-19 |
EP0664910A1 (en) | 1995-08-02 |
CA2146352A1 (en) | 1994-04-28 |
NO951401L (en) | 1995-06-15 |
KR950704751A (en) | 1995-11-20 |
NO951401D0 (en) | 1995-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO1994009443A1 (en) | Non-numeric coprocessor | |
CA2309820C (en) | Content addressable memory (cam) engine | |
EP0218523B1 (en) | programmable access memory | |
US5758148A (en) | System and method for searching a data base using a content-searchable memory | |
EP0622737B1 (en) | High performance memory system | |
EP0341899B1 (en) | Content addressable memory array | |
Teubner et al. | Frequent item computation on a chip | |
US6499028B1 (en) | Efficient identification of candidate pages and dynamic response in a NUMA computer | |
EP0665998A1 (en) | Microprocessor-based fpga | |
JPH0685156B2 (en) | Address translator | |
WO2008092044A2 (en) | Content-terminated dma | |
US9135984B2 (en) | Apparatuses and methods for writing masked data to a buffer | |
JPH0721325A (en) | Method and apparatus for on-line input of handwritten character | |
US7107392B2 (en) | Content addressable memory (CAM) device employing a recirculating shift register for data storage | |
US7533245B2 (en) | Hardware assisted pruned inverted index component | |
EP0626650A1 (en) | Devices, systems and methods for implementing a Kanerva memory | |
Melnyk | Computer memory with parallel conflict-free sorting network-based ordered data access | |
Muraszkiewicz | Cellular array architecture for relational database implementation | |
Blossom et al. | A 32-bit FASTBUS computer | |
JPH06119258A (en) | Trace marking circuit of common bus | |
JPH0594697A (en) | Associative memory and micro computer incorporated with the memory | |
JPS62221726A (en) | Data retrieving system | |
JPH02205950A (en) | Memory area designation circuit | |
Peterson et al. | Sequence information signal processor for local and global string comparisons | |
Rosen | Losses in ruby lasers due to crystal deviation from an ideal medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): CA JP KR NO US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL SE |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2146352 Country of ref document: CA |
|
ENP | Entry into the national phase |
Ref document number: 1995 416783 Country of ref document: US Date of ref document: 19950414 Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1992922718 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1992922718 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1992922718 Country of ref document: EP |