[go: up one dir, main page]

WO1998057489A2 - Modular system for accelerating data searches and data stream operations - Google Patents

Modular system for accelerating data searches and data stream operations Download PDF

Info

Publication number
WO1998057489A2
WO1998057489A2 PCT/US1998/011485 US9811485W WO9857489A2 WO 1998057489 A2 WO1998057489 A2 WO 1998057489A2 US 9811485 W US9811485 W US 9811485W WO 9857489 A2 WO9857489 A2 WO 9857489A2
Authority
WO
WIPO (PCT)
Prior art keywords
module
memory
data
computer
programmable logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US1998/011485
Other languages
French (fr)
Inventor
James M. O'reilly
Daryl Eigen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Metalithic Systems Inc
Original Assignee
Metalithic Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Metalithic Systems Inc filed Critical Metalithic Systems Inc
Publication of WO1998057489A2 publication Critical patent/WO1998057489A2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques

Definitions

  • This invention generally relates to integrated circuit computing devices and to computer system designs. More specifically, it relates to a combination of memory devices and Field-Programmable gate Arrays, together forming a Module which can be used to accelerate list processing functions such as database searches, speech recognition, speech or text translation, data stream transformation as in video or image editing, or routing of communications messages.
  • the invention described herein addresses each of these issues and achieves a dramatic performance boost for these type of operations. It provides a means to increase memory bandwidth by adding semi- autonomous Modules, it adds several layers of parallelism in computing, data transforming or comparison.
  • the architecture is designed for the specific set of tasks required, but, since it is based on Reconfigurable Logic, the electronic circuits on which it is based can be rapidly modified at any given point in time to be optimal in configuration for the task at hand.
  • the memory devices and FPGA's that make up a module can be packaged together in a variety of ways. Packaging choices include placing the elements on an adapter card that plugs into the computer bus, or into , a special bus dedicated to the search functions. To achieve a dense and flexible packaging means, the combination of devices that makes up a module can be packaged onto a SIMM, DIMM or similar plug-in module. This permits the modules to be packed closely together, and allows the system designer choices as to whether the module is inserted into the sockets on the main processor board, or into sockets on a separate adapter card, where the constraints of the computer memory system can be ignored.
  • Figure 1 identified the basic structure of this invention, showing the connection of the various elements and optional elements and the function of the interconnections.
  • Figure 2 is an alternative method of connecting the elements together.
  • FIG. 3 shows the functional content of the FPGA(s).
  • Figure 4 identified the incorporation of a processor or programmable controller element into the FPGA(s).
  • Figure 5 demonstrates how parallel function is achieved within a
  • Figure 6 shows the preferred packaging scheme.
  • Figure 7 shows a scheme for connection of multiple Modules.
  • Figure 8 shows the connection of multiple Modules to operate on a large number of characters in parallel.
  • Figure 9 shows how multiple parallel comparisons are made using the same data lists.
  • Data and control (such as timing signals and address signals) are transferred from the computer on the Bus Data and Control lines 1 and into the FPGA 2 and/or additional optional FPGA's 3.
  • the data and control signals are modified to generate the Modified Data and Control signals 4 which are used to control the actions and contents of the memory Devices 6.
  • Such modifications may include: 1 ) generating different address values than the one sent by the computer, 2) generating the required control and address values to permit reading data from the Memory Devices 5 to compare with values loaded into the FPGA(s) 2,3.
  • FIG. 2 shows one such alternative method, where the same Modified Data and Control 4 are shared by all the FPGA's 2,3, as opposed to the method shown in Fig. 1 where different Modified Data and Control 4,5 go to each FPGA 2,3.
  • Such alternative methods are reconfigurable by connection of different logic in the FPGA(s) 2,3. This allows different operations to be performed in the several FPGA(s) 2,3 in the case of Figure 1 , while the method of Figure 2 permits operation on the same or related data.
  • Transforms 7, Math Functions 8 and Comparators 9 being used to modify and/or examine the data. For clarity, only one of each such Transform 7, .
  • Math Function 8 or Comparators 9 is shown. A typical embodiment might have several of each, in any order, connected to operate consecutively on data.
  • the control logic 10 manages the sequence of events inside FPGA(s) 2,3.
  • Search Lists are placed into the Memory Devices 6.
  • DRAM dynamic Random Access Memory
  • SRAM Static Random Access Memory
  • semi-static memory devices that are typically programmed infrequently or only at the time of initial assembly of the embodiment, such as FLASH memory or electrically
  • EEPROM Erasable Programmable read-Only Memory
  • ROM Mask-Programmable Read-Only Memory
  • the FPGA(s) 2,3 are re-programmed from an initial start-up state to be able to manipulate the Search List data now stored in the Memory Devices 6. Such manipulations are effected by placing the functional elements, Transforms 7, Math/Logic Functions 8 and Comparators 9 in any sequence or quantity to act upon selected data elements of the Search List data.
  • a data item (Search Target) to be compared against the Search List is placed into FPGA's 2,3.
  • Data from the Search List are then moved, data item by data item, into the FPGA(s) 2,3, where the instantiated Transforms 7 and Math/Logic Functions 8 operate on said Search List data item, following which said modified data item is compared with the Search Target inside Comparator 9. If a match is found between the Search
  • Control Logic 10 then informs the computer that a match has been found.
  • Said Control Logic may be . programmed to continue on for additional matches to the same Search target data, or re-loaded with new Search Target data, and the Search List and FPGA contents may be changed at any time as required to optimize performance.
  • Figure 4 extends the concept described above to allow a programmable controller or processor 1 1 to be instantiated into the FPGA.
  • Figure 5 shows an extension of the embodiment where multiple search operations occur in parallel. This is realized by instantiating sets of the various Transforms 7, MatlVLogic Functions 8 and Comparators 9 into FPGA(s) 1 (etc.) and loading either the same or different Search Target data elements to correspond with each such set, which may contain different sizes and types of transforms 7, functions 8 and comparators 9.
  • the operation in such multiple search mode follows the sequence above for a single search path, with the set of Search Target data items being compared with either the same Search List data items, as (optionally) modified by the (possibly different) set of Transforms 7 that are applied in each search path, or with different Search List data items, similarly modified.
  • the preferred packaging scheme ( Figure 6) for the Modules is the SIMM.
  • Memory Devices 6 and FPGA's 1 ,2 are mounted on one of several industry-standard form-factor boards to make a Module. This permits a very dense package, talcing up a small physical space, and advantageously is supported by many computer systems.
  • Alternative packaging schemes include the industry standard PCM-CIA bus card, the DIMM card, the small footprint PCI card and many other standard form , factors.
  • several Modules 16 will be mounted together to achieve modular increments of power.
  • Figure 7 shows such a configuration. Note that each Module shares the Data and Control signals to the computer. This permits each Module 16 to be loaded with Search Data, Search Target and control information, and to communicate with the computer, while allowing the autonomous parallel operation of the Modules 16 during the searching or modifying of data.
  • the Modules 16 can also be connected in such a way as to communicate with each other. This permits comparison of very wide data elements, which might be useful in image or speech processing, for example.
  • Figure 8 shows a means where this might be achieved by sharing the computer Data and Control Box 1 , which is connected to all of the Modules, as an intercommunication path 12 between each Module. Determination of the success or otherwise of the search or data modification operations can be realized by either the computer system or a specially programmed Module 13.
  • Another method of using the Module architecture is to build several parallel search or transform paths in each Module. This can be done within a single FPGA, as shown, or within multiple FPGA's mounted on the same module and sharing the same data. This method has the benefit that different transforms, mathematical operations or comparison methods can be deployed in parallel, to act on the same data, or, if appropriate, different data, as required. This allows, in some circumstances, for a large multiplication of performance of the modular system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Using a modular reconfigurable Logic architecture coupled with a dense and flexible packaging scheme, it is possible to develop an engine with very high search speed and capable of complex search operations or data stream operations. This technology has great applicability in the areas of data mining, recognition of continuous speech, automated translation and image analysis/processing.

Description

MODULAR SYSTEM FOR ACCELERATING DATA SEARCHES AND DATA STREAM OPERATIONS
TECHNICAL FIELD OF THE INVENTION
This invention generally relates to integrated circuit computing devices and to computer system designs. More specifically, it relates to a combination of memory devices and Field-Programmable gate Arrays, together forming a Module which can be used to accelerate list processing functions such as database searches, speech recognition, speech or text translation, data stream transformation as in video or image editing, or routing of communications messages.
BACKGROUND OF THE INVENTION
Most computers use a simple architecture of a single memory subsystem and a single processor or set of processors accessing that memory. As a result, many systems are unable to perform so-called data-stream operations efficiently, and, are limited by the memory bandpass of the system in achieving total performance.
This limits the ability of the conventional computer to handle large data sets (data-streams) at an adequate level of performance. Such performance limitation prevents deployment of, for example, speech to text and automated translation systems.
To overcome this issue, and to provide the capability that demanding data-stream operations place on a system, it is necessary to: (a) increase memory bandwidth, (b) increase compute power by parallel processing, and (c) define a compute/comparison engine running at very high speed.
The invention described herein addresses each of these issues and achieves a dramatic performance boost for these type of operations. It provides a means to increase memory bandwidth by adding semi- autonomous Modules, it adds several layers of parallelism in computing, data transforming or comparison. The architecture is designed for the specific set of tasks required, but, since it is based on Reconfigurable Logic, the electronic circuits on which it is based can be rapidly modified at any given point in time to be optimal in configuration for the task at hand. SUMMARY OF THE INVENTION
Using a combination of memory devices and field Programmable gate Arrays (FPGA), it is possible to build a modular system for accelerating data searches to much higher levels of performance than can bed realized with a simple computer system. This system achieves performance improvement in several ways.
First, the use of a combination of memory devices and FPGA's allows a much higher effective memory access rate than conventional computer architectures, with total memory bandpass increasing as each new module is added.
Second, because the architecture is independent of any computer structure the speed of access of each module to its memory component can be optimized to take advantage of special high-speed memory access modes such as fast page mode.
Third, the comparisons and other functions take place at hardware speeds, since the modular architect described herein does not require the structure of program steps typically seen in a conventional computer system. Fourth, complex comparisons that involve logical or mathematical transforms of either the Search List data or the Search Target data can occur in a pipelined stream of hardware operations, permitting very sophisticated and complex operations, which, again, occur at hardware speeds. The memory devices and FPGA's that make up a module can be packaged together in a variety of ways. Packaging choices include placing the elements on an adapter card that plugs into the computer bus, or into, a special bus dedicated to the search functions. To achieve a dense and flexible packaging means, the combination of devices that makes up a module can be packaged onto a SIMM, DIMM or similar plug-in module. This permits the modules to be packed closely together, and allows the system designer choices as to whether the module is inserted into the sockets on the main processor board, or into sockets on a separate adapter card, where the constraints of the computer memory system can be ignored.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention and for further advantages thereof, reference is now made to the following Description of the Preferred Embodiments taken in conjunction with the accompanying Drawings in which:
Figure 1 identified the basic structure of this invention, showing the connection of the various elements and optional elements and the function of the interconnections. Figure 2 is an alternative method of connecting the elements together.
Figure 3 shows the functional content of the FPGA(s).
Figure 4 identified the incorporation of a processor or programmable controller element into the FPGA(s). Figure 5 demonstrates how parallel function is achieved within a
FPGA(s).
Figure 6 shows the preferred packaging scheme.
Figure 7 shows a scheme for connection of multiple Modules.
Figure 8 shows the connection of multiple Modules to operate on a large number of characters in parallel.
Figure 9 shows how multiple parallel comparisons are made using the same data lists.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
The most basic embodiment of this invention is shown in Figure 1 . Data and control (such as timing signals and address signals) are transferred from the computer on the Bus Data and Control lines 1 and into the FPGA 2 and/or additional optional FPGA's 3.
In the FPGA's 2,3, the data and control signals are modified to generate the Modified Data and Control signals 4 which are used to control the actions and contents of the memory Devices 6. Such modifications may include: 1 ) generating different address values than the one sent by the computer, 2) generating the required control and address values to permit reading data from the Memory Devices 5 to compare with values loaded into the FPGA(s) 2,3.
There are alternative methods of connecting the Memory Devices 5 to the FPGA(s) 2,3. Figure 2 shows one such alternative method, where the same Modified Data and Control 4 are shared by all the FPGA's 2,3, as opposed to the method shown in Fig. 1 where different Modified Data and Control 4,5 go to each FPGA 2,3. Such alternative methods are reconfigurable by connection of different logic in the FPGA(s) 2,3. This allows different operations to be performed in the several FPGA(s) 2,3 in the case of Figure 1 , while the method of Figure 2 permits operation on the same or related data.
In Figure 3, the elements within the FPGA(s) 2,3 are detailed. Here is shown how data from the Memoiy Devices containing Search Lists 6 are moved into and from the FPGA(s) 2,3 with some combination of
Transforms 7, Math Functions 8 and Comparators 9 being used to modify and/or examine the data. For clarity, only one of each such Transform 7, . Math Function 8 or Comparators 9 is shown. A typical embodiment might have several of each, in any order, connected to operate consecutively on data. The control logic 10 manages the sequence of events inside FPGA(s) 2,3.
To effect a typical search, data constituting Search Lists are placed into the Memory Devices 6. Depending on application of the embodiment, this might be done by using rapidly reprogrammable Memory Devices, such as dynamic Random Access Memory (DRAM) or Static Random Access Memory (SRAM), semi-static memory devices that are typically programmed infrequently or only at the time of initial assembly of the embodiment, such as FLASH memory or electrically
Erasable Programmable read-Only Memory (EEPROM) or one-time programmable Memory Devices such as Mask-Programmable Read-Only Memory (ROM).
Following the placement of the Search List data, the FPGA(s) 2,3 are re-programmed from an initial start-up state to be able to manipulate the Search List data now stored in the Memory Devices 6. Such manipulations are effected by placing the functional elements, Transforms 7, Math/Logic Functions 8 and Comparators 9 in any sequence or quantity to act upon selected data elements of the Search List data. A data item (Search Target) to be compared against the Search List is placed into FPGA's 2,3. Data from the Search List are then moved, data item by data item, into the FPGA(s) 2,3, where the instantiated Transforms 7 and Math/Logic Functions 8 operate on said Search List data item, following which said modified data item is compared with the Search Target inside Comparator 9. If a match is found between the Search
Target and the Search List data item, the Control Logic 10 then informs the computer that a match has been found. Said Control Logic may be . programmed to continue on for additional matches to the same Search target data, or re-loaded with new Search Target data, and the Search List and FPGA contents may be changed at any time as required to optimize performance.
Figure 4 extends the concept described above to allow a programmable controller or processor 1 1 to be instantiated into the FPGA.
This permits much greater flexibility in operation, since the sequence of hardware events, and the interaction of the module(s) with a host computer are capable of being modified.
Figure 5 shows an extension of the embodiment where multiple search operations occur in parallel. This is realized by instantiating sets of the various Transforms 7, MatlVLogic Functions 8 and Comparators 9 into FPGA(s) 1 (etc.) and loading either the same or different Search Target data elements to correspond with each such set, which may contain different sizes and types of transforms 7, functions 8 and comparators 9. The operation in such multiple search mode follows the sequence above for a single search path, with the set of Search Target data items being compared with either the same Search List data items, as (optionally) modified by the (possibly different) set of Transforms 7 that are applied in each search path, or with different Search List data items, similarly modified.
The preferred packaging scheme (Figure 6) for the Modules is the SIMM. In this means, Memory Devices 6 and FPGA's 1 ,2 are mounted on one of several industry-standard form-factor boards to make a Module. This permits a very dense package, talcing up a small physical space, and advantageously is supported by many computer systems. Alternative packaging schemes include the industry standard PCM-CIA bus card, the DIMM card, the small footprint PCI card and many other standard form , factors. In a typical application, several Modules 16 will be mounted together to achieve modular increments of power. Figure 7 shows such a configuration. Note that each Module shares the Data and Control signals to the computer. This permits each Module 16 to be loaded with Search Data, Search Target and control information, and to communicate with the computer, while allowing the autonomous parallel operation of the Modules 16 during the searching or modifying of data.
The Modules 16 can also be connected in such a way as to communicate with each other. This permits comparison of very wide data elements, which might be useful in image or speech processing, for example. Figure 8 shows a means where this might be achieved by sharing the computer Data and Control Box 1 , which is connected to all of the Modules, as an intercommunication path 12 between each Module. Determination of the success or otherwise of the search or data modification operations can be realized by either the computer system or a specially programmed Module 13.
Another method of using the Module architecture, shown in Figure 9, is to build several parallel search or transform paths in each Module. This can be done within a single FPGA, as shown, or within multiple FPGA's mounted on the same module and sharing the same data. This method has the benefit that different transforms, mathematical operations or comparison methods can be deployed in parallel, to act on the same data, or, if appropriate, different data, as required. This allows, in some circumstances, for a large multiplication of performance of the modular system.

Claims

CLAIMS:
1 . A data processing module adapted to be connected to a computer for use with a computer, the computer including a memory for storing data, the module comprising: a module memory for storing data; and a programmable logic device connected to said module memory and adapted to be connected to the computer for receiving data stored in said module memory and the computer memoiy for processing data.
2. The module of Claim 1 wherein said programmable logic device includes a comparator for determining whether data stored in the computer memory is stored in said module memory.
3. The module of Claim 1 wherein said programmable logic device is programmable by data stored in said module memory for processing data stored in said module memory.
4. The module of Claim 1 wherein said module memory includes a random access memory device.
5. The module of Claim 1 wherein said module memory and said programmable logic device are mounted on a single in-line memory module having terminals for connection to the computer.
6. A data processing system for use with a computer, the computer including a memory for storing data, the system comprising: a plurality of data processing modules, adapted to be connected to the computer, each of said modules including: a module memory for storing data; and a programmable logic device connected to said module memory and adapted to be connected to the computer for receiving data stored in said module memory and the computer memory; and such that said plurality of data processing modules simultaneously process data stored in each of said module memories and the computer memory.
7. The system of Claim 6 wherein said programmable logic devices include a comparator for determining whether data stored in the computer memory is stored in said module memories.
8. The system of Claim 6 and further including: means for transferring data between said plurality of data processing modules.
9. The system of Claim 6 wherein ones of said programmable logic devices perform comparisons on said data stored in said module memories.
PCT/US1998/011485 1997-06-09 1998-06-08 Modular system for accelerating data searches and data stream operations Ceased WO1998057489A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US87248097A 1997-06-09 1997-06-09
US08/872,480 1997-06-09

Publications (1)

Publication Number Publication Date
WO1998057489A2 true WO1998057489A2 (en) 1998-12-17

Family

ID=25359644

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/011485 Ceased WO1998057489A2 (en) 1997-06-09 1998-06-08 Modular system for accelerating data searches and data stream operations

Country Status (1)

Country Link
WO (1) WO1998057489A2 (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6425781B1 (en) 1999-01-28 2002-07-30 Bel-Fuse, Inc. RJ jack with integrated interface magnetics
US7106611B2 (en) 2002-09-09 2006-09-12 Micron Technology, Inc. Wavelength division multiplexed memory module, memory system and method
US7117316B2 (en) 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US7120727B2 (en) 2003-06-19 2006-10-10 Micron Technology, Inc. Reconfigurable memory module and method
US7149874B2 (en) 2002-08-16 2006-12-12 Micron Technology, Inc. Memory hub bypass circuit and method
JP2007504531A (en) * 2003-08-28 2007-03-01 マイクロン・テクノロジー・インコーポレーテッド Memory module and method with on-board data retrieval capability and processor-based system using such a memory module
US7194593B2 (en) 2003-09-18 2007-03-20 Micron Technology, Inc. Memory hub with integrated non-volatile memory
US7200024B2 (en) 2002-08-02 2007-04-03 Micron Technology, Inc. System and method for optically interconnecting memory devices
US7222197B2 (en) 2003-07-22 2007-05-22 Micron Technology, Inc. Apparatus and method for direct memory access in a hub-based memory system
US7260685B2 (en) 2003-06-20 2007-08-21 Micron Technology, Inc. Memory hub and access method having internal prefetch buffers
US7428644B2 (en) 2003-06-20 2008-09-23 Micron Technology, Inc. System and method for selective memory module power management
US7644253B2 (en) 2002-06-07 2010-01-05 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US8352265B1 (en) 2007-12-24 2013-01-08 Edward Lin Hardware implemented backend search engine for a high-rate speech recognition system
EP2535820A3 (en) * 2011-06-15 2013-02-06 Data Design Corporation Method and apparatus for data access by a reprogrammable circuit module
US8463610B1 (en) 2008-01-18 2013-06-11 Patrick J. Bourke Hardware-implemented scalable modular engine for low-power speech recognition
US8639510B1 (en) 2007-12-24 2014-01-28 Kai Yu Acoustic scoring unit implemented on a single FPGA or ASIC
US9417894B1 (en) 2011-06-15 2016-08-16 Ryft Systems, Inc. Methods and apparatus for a tablet computer system incorporating a reprogrammable circuit module

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2347796B (en) * 1999-01-28 2003-04-16 Bel Fuse Inc Rj jack with intergrated interface magnetics
US6425781B1 (en) 1999-01-28 2002-07-30 Bel-Fuse, Inc. RJ jack with integrated interface magnetics
US8195918B2 (en) 2002-06-07 2012-06-05 Round Rock Research, Llc Memory hub with internal cache and/or memory access prediction
US7644253B2 (en) 2002-06-07 2010-01-05 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US8499127B2 (en) 2002-06-07 2013-07-30 Round Rock Research, Llc Memory hub with internal cache and/or memory access prediction
US7200024B2 (en) 2002-08-02 2007-04-03 Micron Technology, Inc. System and method for optically interconnecting memory devices
US7117316B2 (en) 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US7415567B2 (en) 2002-08-16 2008-08-19 Micron Technology, Inc. Memory hub bypass circuit and method
US7149874B2 (en) 2002-08-16 2006-12-12 Micron Technology, Inc. Memory hub bypass circuit and method
US7106611B2 (en) 2002-09-09 2006-09-12 Micron Technology, Inc. Wavelength division multiplexed memory module, memory system and method
US7120727B2 (en) 2003-06-19 2006-10-10 Micron Technology, Inc. Reconfigurable memory module and method
US7343444B2 (en) 2003-06-19 2008-03-11 Micron Technology, Inc. Reconfigurable memory module and method
US7966444B2 (en) 2003-06-19 2011-06-21 Round Rock Research, Llc Reconfigurable memory module and method
US8732383B2 (en) 2003-06-19 2014-05-20 Round Rock Research, Llc Reconfigurable memory module and method
US8200884B2 (en) 2003-06-19 2012-06-12 Round Rock Research, Llc Reconfigurable memory module and method
US7260685B2 (en) 2003-06-20 2007-08-21 Micron Technology, Inc. Memory hub and access method having internal prefetch buffers
US7412566B2 (en) 2003-06-20 2008-08-12 Micron Technology, Inc. Memory hub and access method having internal prefetch buffers
US7428644B2 (en) 2003-06-20 2008-09-23 Micron Technology, Inc. System and method for selective memory module power management
US7437579B2 (en) 2003-06-20 2008-10-14 Micron Technology, Inc. System and method for selective memory module power management
US7389364B2 (en) 2003-07-22 2008-06-17 Micron Technology, Inc. Apparatus and method for direct memory access in a hub-based memory system
US7222197B2 (en) 2003-07-22 2007-05-22 Micron Technology, Inc. Apparatus and method for direct memory access in a hub-based memory system
US8209445B2 (en) 2003-07-22 2012-06-26 Round Rock Research, Llc Apparatus and method for direct memory access in a hub-based memory system
JP2007504531A (en) * 2003-08-28 2007-03-01 マイクロン・テクノロジー・インコーポレーテッド Memory module and method with on-board data retrieval capability and processor-based system using such a memory module
US7194593B2 (en) 2003-09-18 2007-03-20 Micron Technology, Inc. Memory hub with integrated non-volatile memory
US7490211B2 (en) 2003-09-18 2009-02-10 Micron Technology, Inc. Memory hub with integrated non-volatile memory
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US8352265B1 (en) 2007-12-24 2013-01-08 Edward Lin Hardware implemented backend search engine for a high-rate speech recognition system
US8639510B1 (en) 2007-12-24 2014-01-28 Kai Yu Acoustic scoring unit implemented on a single FPGA or ASIC
US8463610B1 (en) 2008-01-18 2013-06-11 Patrick J. Bourke Hardware-implemented scalable modular engine for low-power speech recognition
EP2535820A3 (en) * 2011-06-15 2013-02-06 Data Design Corporation Method and apparatus for data access by a reprogrammable circuit module
US8838873B2 (en) 2011-06-15 2014-09-16 Data Design Corporation Methods and apparatus for data access by a reprogrammable circuit module
GB2491979B (en) * 2011-06-15 2015-04-29 Data Design Corp Methods and apparatus for data access by a reprogrammable circuit module
US9417894B1 (en) 2011-06-15 2016-08-16 Ryft Systems, Inc. Methods and apparatus for a tablet computer system incorporating a reprogrammable circuit module

Similar Documents

Publication Publication Date Title
WO1998057489A2 (en) Modular system for accelerating data searches and data stream operations
US7856545B2 (en) FPGA co-processor for accelerated computation
US5822608A (en) Associative parallel processing system
EP1402392B1 (en) System and method for web server with a reconfigurable processor operating under single operation system image
EP0111399B1 (en) Microcomputer
US5818350A (en) High performance method of and system for selecting one of a plurality of IC chip while requiring minimal select lines
US4933909A (en) Dual read/write register file memory
US5924115A (en) Hierarchical memory architecture for a programmable integrated circuit having an interconnect structure connected in a tree configuration
WO2001024031A3 (en) Multiprocessor node controller circuit and method
JP2002503839A (en) Method of generating an application specific integrated circuit using a programmable hardware architecture
EP2450799A1 (en) Heterogeneous computing system comprising a switch/network adapter port interface utilizing load-reduced dual in-line memory modules (LR-DIMMS) incorporating isolation memory buffers
US20070192576A1 (en) Circular register arrays of a computer
US5537624A (en) Data repacking circuit having toggle buffer for transferring digital data from P1Q1 bus width to P2Q2 bus width
Saito et al. What is the cost of delay insensitivity?
US6886088B2 (en) Memory that allows simultaneous read requests
CN114911528A (en) Branch instruction processing method, processor, chip, board card, equipment and medium
US5428762A (en) Expandable memory having plural memory cards for distributively storing system data
US6199143B1 (en) Computing system with fast data transfer of CPU state related information
US12299597B2 (en) Reconfigurable AI system
EP0359192B1 (en) Vector processors and vector register control
Ouaiss et al. Global memory mapping for FPGA-based reconfigurable systems
Pantho et al. Transparent acceleration of image processing kernels on FPGA-attached hybrid memory cube computers
US20080229063A1 (en) Processor Array with Separate Serial Module
US5134694A (en) Method and device for the processing of address words
US20240283753A1 (en) Communication device and service signal scheduling method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): JP

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT 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
NENP Non-entry into the national phase in:

Ref country code: CA

NENP Non-entry into the national phase in:

Ref country code: JP

Ref document number: 1999502849

Format of ref document f/p: F

122 Ep: pct application non-entry in european phase