Row identification number generation in database direct memory access engine
First Claim
1. A method for generating row identifiers (RIDs) for one or more columns:
- storing a first descriptor at a particular memory location, said first descriptor indicating;
an attribute specifying to generate a RID column comprising a particular sequence of RIDs;
a destination memory location for said RID column;
in response to said particular memory location being pushed into a first register within a register space that is accessible by a first set of electronic circuits;
said first set of electronic circuits accessing said first descriptor stored at said particular memory location;
said first set of electronic circuits generating an ordered sequence of RIDs;
said first set of electronic circuits storing said RID column at said destination memory location, said particular sequence of RIDs in said RID column including at least a portion of said ordered sequence of RIDs.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques provide for hardware accelerated data movement between main memory and an on-chip data movement system that comprises multiple core processors that operate on the tabular data. The tabular data is moved to or from the scratch pad memories of the core processors. While the data is in-flight, the data may be manipulated by data manipulation operations. The data movement system includes multiple data movement engines, each dedicated to moving and transforming tabular data from main memory data to a subset of the core processors. Each data movement engine is coupled to an internal memory that stores data (e.g. a bit vector) that dictates how data manipulation operations are performed on tabular data moved from a main memory to the memories of a core processor, or to and from other memories. The internal memory of each data movement engine is private to the data movement engine. Tabular data is efficiently copied between internal memories of the data movement system via a copy ring that is coupled to the internal memories of the data movement system and/or is coupled to a data movement engine. Also, a data movement engine internally broadcasts data to other data movement engines, which then transfer the data to respective core processors. Partitioning may also be performed by the hardware of the data movement system. Techniques are used to partition data “in flight”. The data movement system also generates a column of row identifiers (RIDs). A row identifier is a number treated as identifying a row or element'"'"'s position within a column. Row identifiers each identifying a row in column are also generated.
156 Citations
20 Claims
-
1. A method for generating row identifiers (RIDs) for one or more columns:
-
storing a first descriptor at a particular memory location, said first descriptor indicating; an attribute specifying to generate a RID column comprising a particular sequence of RIDs; a destination memory location for said RID column; in response to said particular memory location being pushed into a first register within a register space that is accessible by a first set of electronic circuits; said first set of electronic circuits accessing said first descriptor stored at said particular memory location; said first set of electronic circuits generating an ordered sequence of RIDs; said first set of electronic circuits storing said RID column at said destination memory location, said particular sequence of RIDs in said RID column including at least a portion of said ordered sequence of RIDs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method, comprising:
-
storing a first descriptor at a first descriptor memory location, said first descriptor indicating; an attribute specifying to generate a RID column comprising an ordered sequence of RIDs; a first destination memory location for said RID column; in response to the first descriptor memory location being pushed into a register within a register space that is accessible by a first set of electronic circuits, said first set of electronic circuits generating and storing said RID column at said first destination memory location; storing each core partitioning descriptor of a set of core partitioning descriptors in a respective descriptor memory location; wherein each core partitioning descriptor of said set of core partitioning descriptors specifies a respective source memory location of a respective column wherein the respective source memory location specified by a certain core partitioning descriptor of said set of core partition descriptors is the first destination memory location of said RID column; in response to each respective descriptor memory location of the set of core partitioning descriptors being pushed into a register within a register space that is accessible by a first set of electronic circuits; for each core partitioning descriptor of said set of core partitioning descriptors, partitioning the respective column of said core partitioning descriptor between scratch pad memories of core processors that are each coupled to said first set of electronic circuits. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A chip comprising electronic circuitry being configured for generating row identifiers (RIDs) for one or more columns, said electronic circuitry being configured for:
-
storing a first descriptor at a particular memory location, said first descriptor indicating; an attribute specifying to generate a RID column comprising a particular sequence of RIDs; a destination memory location for said RID column; in response to said particular memory location being pushed into a first register within a register space that is accessible by a first set of electronic circuits; said first set of electronic circuits accessing said first descriptor stored at said particular memory location; said first set of electronic circuits generating an ordered sequence of RIDs; said first set of electronic circuits storing said RID column at said destination memory location, said particular sequence of RIDs in said RID column including a least a portion of said ordered sequence of RIDs. - View Dependent Claims (18)
-
-
19. A chip comprising electronic circuitry configured for:
-
storing a first descriptor at a first descriptor memory location, said first descriptor indicating; an attribute specifying to generate a RID column comprising an ordered sequence of RIDs; a first destination memory location for said RID column; in response to the first descriptor memory location being pushed into a register within a register space that is accessible by a first set of electronic circuits, said first set of electronic circuits generating and storing said RID column at said first destination memory location; storing each core partitioning descriptor of a set of core partitioning descriptors in a respective descriptor memory location; wherein each core partitioning descriptor of said set of core partitioning descriptors specifies a respective source memory location of a respective column wherein the respective source memory location specified by a certain core partitioning descriptor of said set of core partition descriptors is the first destination memory location of said RID column; in response to each respective descriptor memory location of the set of core partitioning descriptors being pushed into a register within a register space that is accessible by a first set of electronic circuits; for each core partitioning descriptor of said set of core partitioning descriptors, partitioning the respective column of said core partitioning descriptor between scratch pad memories of core processors that are each coupled to said first set of electronic circuits. - View Dependent Claims (20)
-
Specification