Claims
- 1. High performance sort hardware for a database accelerator comprising:
- working store means for storing data records to be sorted;
- a plurality of comparator modules, said plurality of comparator modules each including cache storing means for storing records from said working store means and providing high speed access to stored records, data in said cache storing means of each of said plurality of comparator modules being identical data, said plurality of comparator modules each further including comparator means for selecting records stored in said cache storing means in a predetermined ascending or descending order and generating comparator outputs according to said predetermined order; and
- control means for loading said comparator outputs of said plurality of comparator modules in said working store means in a sequence of cycles which implements a sort algorithm as a state machine,
- wherein each of said comparator modules have access to all digits of said data values to be sorted.
- 2. High performance sort hardware as recited in claim 1 wherein records are stored in said cache storing means by real addresses where a sequence in which said records are loaded is identified by an index, said comparator outputs being identified in terms of said index and results of a sort being identified in terms of said index,
- said high performance sort hardware further including translation means for translating said index after the sort to a real address.
- 3. High performance sort hardware as recited in claim 2, wherein said translation means comprises a plurality of storage control elements coupled to said plurality of comparator modules for providing said real address to said working store means, said data in the logical arrays of each of said comparator modules requiring only addresses of data to be transferred between comparator modules.
- 4. High performance sort hardware as recited in claim 3, wherein said plurality of storage control elements each include a plurality of storage elements, an arithmetic logic unit, and a pointer array coupled to said arithmetic logic unit.
- 5. High performance sort hardware as recited in claim 2 wherein said cache storing means in each of said plurality of comparator modules comprises a plurality of imbedded logical arrays functioning as a high speed cache for the comparator module.
- 6. High performance sort hardware as recited in claim 1, wherein said plurality of comparator modules comprises eight comparator modules operating in nine cycles and wherein said sort algorithm is a Van Voorhis n=16 sort network, where n specifies how many elements are to be sorted.
- 7. High performance sort hardware for a database accelerator comprising:
- working store means for storing data records to be sorted;
- a plurality of comparator modules, said plurality of comparator modules each including cache storing means for storing records from said working store means and providing high speed access to stored records, data in said cache storing means of each of said plurality of comparator modules being identical, said plurality of comparator modules each further including comparator means for selecting records stored in said cache storing means in a predetermined ascending or descending order and generating comparator outputs according to said predetermined order; and
- control means for loading said comparator outputs of said plurality of comparator modules in said working store means in a sequence of cycles which implements a sort algorithm as a state machine,
- wherein each of said plurality of comparator modules comprises first and second imbedded logical arrays functioning as a high-speed cache and storing data to be compared, said data in the logical arrays of each of said comparator modules requiring only addresses of data to be transferred between comparator modules.
- 8. The high performance sort hardware according to claim 7, wherein said comparator means is connected to receive data read out of said first and second imbedded logical arrays and generates a comparator output indicative of a comparator operation on said data.
- 9. The high performance sort hardware according to claim 8, wherein each of said plurality of comparator modules further comprises first and second address register means for addressing data in said first and second imbedded logical arrays, respectively, addressed data being read out of said first and second logical arrays to said comparator means.
- 10. The high performance sort hardware according to claim 9, wherein each of said plurality of comparator modules further comprises first and second multiplexer means each receiving addresses from said first and second address register means and responsive to said comparator output of said comparator means for respectively outputting one of said addresses as a high output and one of said addresses as a low output.
- 11. The high performance sort hardware as recited in claim 10, wherein records are stored in said cache storing means by real addresses where a sequence in which said records are loaded is identified by an index, said comparator outputs being identified in terms of said index and results of a sort being identified in terms of said index,
- said high performance sort hardware further including translation means for translating said index after the sort to a real address,
- wherein said translation means comprises a plurality of storage control elements coupled to said plurality of comparator modules for providing said real address to said working store means, said data in the logical arrays of each of said comparator modules requiring only addresses of data to be transferred between comparator modules.
- 12. The high performance sort hardware as recited in claim 11, wherein said plurality of storage control elements each include a plurality of storage elements, an arithmetic logic unit, and a pointer array coupled to said arithmetic logic unit.
- 13. The high performance sort hardware as recited in claim 12, wherein said plurality of comparator modules comprises eight comparator modules operating in nine cycles and wherein said sort algorithm is a Van Voorhis n=16 sort network, where n specifies how many elements are to be sorted.
Parent Case Info
This is a continuation of application Ser. No. 07/721,023 filed Jun. 26, 1991, now U.S. Pat. No. 5,265,260.
US Referenced Citations (3)
Non-Patent Literature Citations (1)
Entry |
Donald E. Knuth, "The Art of Computer Programming" vol. 3; Addison Wesley, Reading, Mass. (1973), pp. 220-235. |
Continuations (1)
|
Number |
Date |
Country |
Parent |
721023 |
Jun 1991 |
|