IP Library Granted Patent US 9,684,681
Granted Patent B2
US 9,684,681 · App. 14/706,187 · Granted Jun 20, 2017

Processing columns in a database accelerator while preserving row-based architecture

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,684,681
App. No.
14/706,187
Granted
Jun 20, 2017
Kind
B2
Abstract

Database processing using columns to present to a processing unit decompressed column data without changing the underlying row-based database architecture. For some embodiments, a database accelerator is used to efficiently process the columns of a database and output tuples to a processing unit's memory, such that the columns can be quickly processed (with the advantages of a column-based architecture) to create tuples of requested data, but without having to depart from a row-based architecture at the processing unit level or having decompressed data scattered throughout the processing unit's memory.

Claims (12)

1. A method of database processing, comprising:

storing, in a first memory associated with a first processing unit, data associated with a table having a plurality of columns, wherein the data is stored in the first memory as the plurality of columns;

reading at least a portion of each of the stored plurality of columns with the first processing unit;

decompressing, in parallel, the read portions of the columns, wherein the first processing unit comprises a column buffer first-in-first-out (FIFO) configured to supply the read portions of the columns for the decompression and wherein the first processing unit is configured to decompress the read portions of the columns according to a finite state machine (FSM) based at least in part on a column number for each of the read portions of the columns;

forming one or more tuples of the table from at least the decompressed read portions of each of the columns using the first processing unit; and

outputting, to a second memory associated with a second processing unit, the tuples for processing by the second processing unit.

2. The method of claim 1 , wherein the first processing unit comprises a database accelerator.

3. The method of claim 2 , wherein the database accelerator comprises a field programmable gate array (FPGA).

4. The method of claim 1 , wherein the second processing unit comprises a central processing unit (CPU).

5. The method of claim 1 , wherein the table comprises a database and wherein the one or more tuples comprise one or more records of the database.

6. The method of claim 1 , wherein the reading comprises concurrently reading the at least the portion of each of the stored plurality of columns with the first processing unit.

7. The method of claim 1 , further comprising decompressing the at least the portion of each of the columns before forming the one or more tuples.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: AIRBNB, INC.
Reel/Frame 056427/0193 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2015
From: VIEHLAND, JASON A.; YATES, JOHN S., JR.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 035585/0032 →