用于表扫描加速的硬件制造技术

技术编号:19177575 阅读:66 留言:0更新日期:2018-10-17 00:24
本公开涉及用于表扫描加速的硬件。提供了用于处理查询的技术。为处理查询所需的一个或多个操作由独立于运行查询处理软件的通用微处理器的协处理器执行。查询处理软件接收查询,确定完全处理查询所需要执行的一个或多个操作,并且发出一个或多个命令给一个或多个协处理器,所述一个或多个协处理器被编程用于执行所述操作之一,比如表扫描操作和/或查找操作。所述查询处理软件从所述协处理器中获得结果,并且在其上执行一个或多个附加操作,以生成所述查询的最终结果。

Hardware for table scan acceleration

The present disclosure relates to hardware for table scan acceleration. A technology for processing queries is provided. One or more operations required to process a query are performed by a coprocessor independent of a general purpose microprocessor running the query processing software. The query processing software receives the query, determines one or more operations to be performed to fully process the query, and issues one or more commands to one or more coprocessors, which are programmed to perform one of the operations, such as table scan operations and/or lookup operations. The query processing software obtains the result from the coprocessor and performs one or more additional operations thereon to generate the final result of the query.

【技术实现步骤摘要】
用于表扫描加速的硬件本申请是国际申请日为2013年6月14日、名称为“用于表扫描加速的硬件”、申请号为201380049301.7(PCT/US2013/045873)的专利技术专利申请的分案申请。优先权和相关申请本申请要求在2013年2月26日提交的美国专利申请No.13/778,009的优先权;该申请No.13/778,009要求在2012年10月2日提交的美国临时申请No.61/709,142的优先权,这两个申请的内容通过引用的方式并入本文,如同完全在此阐述一样。本申请涉及在2013年2月26日提交的美国专利申请No.13/778,013,该申请的内容通过引用的方式并入本文,如同完全在此阐述一样。
本专利技术一般地涉及处理查询,并且更具体地,涉及在一个或多个协处理器中使用定制硬件来执行为处理该查询所需的一个或多个操作。
技术介绍
这部分所描述的方法是能够实行的方法,但不一定是之前已经构想出的或已经实现的方法。因此,除非另有指出,否则不应这样假定:这部分所描述的任何方法仅仅由于它们包含于这部分内而算作现有技术。对数据库发出的查询典型地将诸如关系表的一个或多个数据库对象作为目标。通本文档来自技高网...

【技术保护点】
1.一种处理芯片,包括:第一硬件元件,被配置为:接收包括数据库操作的查询;响应于接收到所述查询,生成扫描操作命令,其中所述扫描操作命令包含用于识别输入数据的地址数据以及用于与所述输入数据进行比较的一个或多个值来作为所述扫描操作命令的参数;第二硬件元件,被配置为:读取所述扫描操作命令;促使从由所述地址数据指示的位置处读取所述输入数据;在所述输入数据与所述一个或多个值之间执行比较;基于所述比较来生成结果数据;促使将所述结果数据通知第一硬件元件。

【技术特征摘要】
2012.10.02 US 61/709,142;2013.02.26 US 13/778,0091.一种处理芯片,包括:第一硬件元件,被配置为:接收包括数据库操作的查询;响应于接收到所述查询,生成扫描操作命令,其中所述扫描操作命令包含用于识别输入数据的地址数据以及用于与所述输入数据进行比较的一个或多个值来作为所述扫描操作命令的参数;第二硬件元件,被配置为:读取所述扫描操作命令;促使从由所述地址数据指示的位置处读取所述输入数据;在所述输入数据与所述一个或多个值之间执行比较;基于所述比较来生成结果数据;促使将所述结果数据通知第一硬件元件。2.根据权利要求1所述的处理芯片,其中,第一硬件元件是通用微处理器,所述通用微处理器处理基于以高级编程语言编写的代码的指令。3.根据权利要求1所述的处理芯片,其中,第二硬件元件是协处理器。4.根据权利要求1所述的处理芯片,其中:所述扫描操作命令还包含指示要执行的操作的类型的操作类型数据;第二硬件元件还被配置为识别所述操作类型数据以确定操作的类型。5.根据权利要求4所述的处理芯片,其中,第二硬件元件还被配置为执行以下步骤:使用所述操作类型数据来确定用来解释所述输入数据的逻辑;将所述输入数据从第一数据类型转换为与第一数据类型不同的第二数据类型。6.根据权利要求1所述的处理芯片,其中,所述扫描操作命令还包含指示所述结果数据将要存储于何处的目的地数据。7.根据权利要求1所述的处理芯片,其中,促使将所述结果数据通知第一硬件元件包括:促使所述结果数据被存储于第一硬件元件的高速缓存内。8.根据权利要求1所述的处理芯片,其中:所述输入数据包含值数据和计数数据;在所述值数据中的输入值对应于数据元素,所述数据元素的数量由在所述计数数据中的计数值指示;在所述输入数据与所述一个或多个值之间执行比较包括:将所述输入值与所述一个或多个值进行比较;生成所述结果数据包括:生成指示所述输入值是否满足所述一个或多个值的结果指示;生成所述结果数据是在没有将所述输入值与所述一个或多个值进行由所述计数值指示的次数的比较的情况下执行的。9.根据权利要求1所述的处理芯片,其中:第二硬件元件是串联连接的多个硬件元件中的第一特定硬件元件;促使将所述结果数据通知第一硬件元件包括:促使所述结果数据被发送给所述多个硬件元件中的第二特定硬件元件的缓冲区。10.根据权利要求1所述的处理芯片,其中:包含于所述扫描操作命令中的所述地址数据包含一个或多个虚地址;第二硬件元件还被配置为促使所述一个或多个虚地址被第二硬件元件用来读取所述输入数据的一个或多个物理地址所替代。11.根据权利要求1所述的处理芯片,其中:所述一个或多个值包含多个数据元素;在所述输入数据与所述一个或多个值之间执行比较包括:在所述输入数据与所述多个数据元素之间同时执行比较。12.根据权利要求11所述的处理芯片,其中基于所述比较来生成所述结果数据包括生成位向量,其中在所述位向量中的每个位指示比较结果是真还是假。13.一种方法,包括:接收涉及数据库操作和一个或多个其它操作的查询;响应于接收到所述查询:由微处理器处理所...

【专利技术属性】
技术研发人员:K·艾加仑G·F·斯沃特S·卡皮尔
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1