CN116301667A - 一种数据库系统,数据访问方法、装置、设备及存储介质 - Google Patents
一种数据库系统,数据访问方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116301667A CN116301667A CN202310586789.2A CN202310586789A CN116301667A CN 116301667 A CN116301667 A CN 116301667A CN 202310586789 A CN202310586789 A CN 202310586789A CN 116301667 A CN116301667 A CN 116301667A
- Authority
- CN
- China
- Prior art keywords
- data
- programmable gate
- gate array
- field programmable
- memory
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000001360 synchronised effect Effects 0.000 claims abstract description 50
- 238000013500 data storage Methods 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 27
- 238000004891 communication Methods 0.000 claims abstract description 16
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7825—Globally asynchronous, locally synchronous, e.g. network on chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/068—Hybrid storage device
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据库系统,数据访问方法、装置、设备及存储介质,涉及计算机体系结构领域,包括:数据存储节点;包括闪存、非易失性存储器、保存第一热数据的双倍速率同步动态随机存储器;采用片上网络与数据存储节点数据通信的现场可编程逻辑门阵列,用于读取双倍速率同步动态随机存储器的第二热数据,保存至非易失性存储器;读取非易失性存储器的冷数据,保存至闪存;连接现场可编程逻辑门阵列的中央处理器,用于获取数据访问请求,控制现场可编程逻辑门阵列对数据存储节点的数据进行访问。在处理器与存储器间增加现场可编程逻辑门阵列,并引入片上网络用于节点间数据交换,可以有效的解决数据同步时效率较低的问题,并提升数据转发效率。
Description
技术领域
本发明涉及计算机体系结构领域,特别涉及一种数据库系统,数据访问方法、装置、设备及存储介质。
背景技术
随着存储设备的工艺提升,存储器的内存容量指数级提升,并且数据库软件引入了更多的内存计算的技术,降低了外存访问的开销,提升了处理速度。而PM/NVM(persistent memory/non-volatile memory,持久性内存/非易失性存储器)的引入,使得数据库系统有效的防止了系统掉电丢失数据的问题,但PM/NVM在读取和写入速度上存在较大差距,使得系统存在较大的性能瓶颈。另外,由于读写的非对称,也使得PM/NVM与系统内存之间,存在数据更新同步效率较低的问题。因此,如何提升数据访问效率,改善数据同步的效果是本领域有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种数据库系统,数据访问方法、装置、设备及存储介质。在中央处理器与非易失性存储器之间增加现场可编程逻辑门阵列,并引入片上网络用于节点间数据交换,可以有效地解决数据同步时效率较低的问题,并提升数据转发效率。其具体方案如下:
第一方面,本申请提供了一种数据库系统,包括:
用于存储数据的数据存储节点;所述数据存储节点包括闪存、非易失性存储器以及用于保存第一热数据的双倍速率同步动态随机存储器;
采用片上网络与所述闪存、所述非易失性存储器和所述双倍速率同步动态随机存储器进行数据通信的现场可编程逻辑门阵列,用于对所述双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的所述第二热数据保存至所述非易失性存储器;对所述非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的所述冷数据保存至所述闪存;其中,所述第一热数据的数据更新频率大于所述第二热数据的数据更新频率;
与所述现场可编程逻辑门阵列连接的中央处理器,用于获取客户端发送的数据访问请求,并控制所述现场可编程逻辑门阵列对所述数据存储节点中的数据执行相应的访问操作。
可选的,所述现场可编程逻辑门阵列,包括:
地址映射模块,用于解析所述现场可编程逻辑门阵列中存储的数据报文,并基于所述数据报文进行所述现场可编程逻辑门阵列中逻辑地址与对应的物理地址的映射,以便所述现场可编程逻辑门阵列通过所述地址映射模块直接对所述物理地址进行操作;
复制写回模块,用于基于所述片上网络进行所述闪存、所述非易失性存储器和所述双倍速率同步动态随机存储器的数据读取与保存;
智能队列模块,用于优化指令队列;所述指令队列为所述现场可编程逻辑门阵列基于所述中央处理器根据所述数据访问请求下发的数据访问指令构建的指令队列;
数据库指令算子库,用于加速所述数据访问指令;
存储控制模块,用于在将读取到的所述冷数据保存至所述闪存和将读取到的所述第二热数据保存至所述非易失性存储器时的存储空间划分。
可选的,所述现场可编程逻辑门阵列,包括:
系统控制模块,用于控制所述现场可编程逻辑门阵列中的各个模块,以及控制用于和所述现场可编程逻辑门阵列和所述闪存、所述非易失性存储器所述双倍速率同步动态随机存储器进行数据通信的数据通路。
可选的,所述现场可编程逻辑门阵列,包括:
片上网络路由模块,用于利用片上网络控制所述现场可编程逻辑门阵列中的各个模块之间的数据通信。
第二方面,本申请提供了一种数据访问方法,包括:
通过数据库系统中的采用片上网络的现场可编程逻辑门阵列,对所述数据库系统中的双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的所述第二热数据保存至非易失性存储器;所述双倍速率同步动态随机存储器中预先保存有第一热数据,所述第一热数据的数据更新频率大于所述第二热数据的数据更新频率;
通过所述现场可编程逻辑门阵列对所述数据库系统中的所述非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的所述冷数据保存至所述数据库系统中的闪存;
通过与所述现场可编程逻辑门阵列连接的中央处理器获取客户端发送的数据访问请求,并控制所述现场可编程逻辑门阵列对所述数据库系统中的数据存储节点中的数据执行相应的访问操作;所述数据存储节点包括所述闪存、所述非易失性存储器以及所述双倍速率同步动态随机存储器。
可选的,所述对所述数据库系统中的双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的所述第二热数据保存至所述非易失性存储器,包括:
基于双倍数据速率存储技术对所述数据库系统中的双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的所述第二热数据保存至所述非易失性存储器;
相应的,所述通过所述现场可编程逻辑门阵列对所述数据库系统中的非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的所述冷数据保存至所述数据库系统中的闪存,包括:
基于闪存控制器通过所述现场可编程逻辑门阵列对所述数据库系统中的非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的所述冷数据保存至所述数据库系统中的闪存。
可选的,所述通过与所述现场可编程逻辑门阵列连接的中央处理器获取客户端发送的数据访问请求,包括:
通过与所述现场可编程逻辑门阵列连接的中央处理器基于PCIE5/6接口以及CXL协议获取客户端发送的数据访问请求;所述CXL协议支持CXL.io模式、CXL.cache模式和CXL.memory模式。
第三方面,本申请提供了一种数据访问装置,包括:
第一数据读取模块,用于通过数据库系统中的采用片上网络的现场可编程逻辑门阵列,对所述数据库系统中的双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的所述第二热数据保存至非易失性存储器;所述双倍速率同步动态随机存储器中预先保存有第一热数据,所述第一热数据的数据更新频率大于所述第二热数据的数据更新频率;
第二数据读取模块,用于通过所述现场可编程逻辑门阵列对所述数据库系统中的所述非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的所述冷数据保存至所述数据库系统中的闪存;
数据访问模块,用于通过与所述现场可编程逻辑门阵列连接的中央处理器获取客户端发送的数据访问请求,并控制所述现场可编程逻辑门阵列对所述数据库系统中的数据存储节点中的数据执行相应的访问操作;所述数据存储节点包括所述闪存、所述非易失性存储器以及所述双倍速率同步动态随机存储器。
第四方面,本申请提供了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述的数据访问方法。
第五方面,本申请提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的数据访问方法。
通过上述技术方案,本申请提供了一种数据库系统,及数据访问方法,通过所述数据库系统中的采用片上网络的现场可编程逻辑门阵列,对所述数据库系统中的双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的所述第二热数据保存至所述非易失性存储器;所述双倍速率同步动态随机存储器中预先保存有第一热数据,所述第一热数据的数据更新频率大于所述第二热数据的数据更新频率;通过所述现场可编程逻辑门阵列对所述数据库系统中的非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的所述冷数据保存至所述数据库系统中的闪存;通过与所述现场可编程逻辑门阵列连接的中央处理器获取客户端发送的数据访问请求,并控制所述现场可编程逻辑门阵列对所述数据库系统中的数据存储节点中的数据执行相应的访问操作;所述数据存储节点包括所述闪存、所述非易失性存储器以及所述双倍速率同步动态随机存储器。在中央处理器与非易失性存储器之间增加现场可编程逻辑门阵列,并引入片上网络用于节点内和节点间的数据交换,可以有效地解决非易失性存储器由于读写非对称在数据访问时进行数据同步效率较低的问题,并提升了数据转发效率,增加系统弹性扩展能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种数据库系统构造图;
图2为本申请提供的一种数据访问方法流程图;
图3为本申请提供的一种数据访问装置结构示意图;
图4为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着非易失性存储器的引入,由于非易失性存储器在读取和写入速度上存在较大差距,存在数据更新同步效率较低的问题,使得系统存在较大的性能瓶颈。本申请公开的数据库系统在中央处理器(Central Processing Unit,CPU)与非易失性存储器之间增加现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA),并引入片上网络(network-on-chip,NoC)用于节点间数据交换,提升了数据转发效率,增加系统弹性扩展能力。
参见图1所示,本发明实施例公开了一种数据库系统,包括:
用于存储数据的数据存储节点;所述数据存储节点包括闪存(NandFlash)、非易失性存储器以及用于保存第一热数据的双倍速率同步动态随机存储器(Double Data RateSynchronous Dynamic Random Access Memory,DDR SDRAM,常被称为DDR)。
采用片上网络与所述闪存、所述非易失性存储器和所述双倍速率同步动态随机存储器进行数据通信的现场可编程逻辑门阵列,用于对所述双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的所述第二热数据保存至所述非易失性存储器;对所述非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的所述冷数据保存至所述闪存;其中,所述第一热数据的数据更新频率大于所述第二热数据的数据更新频率。本实施例中基于现场可编程逻辑门阵列进行外部存储器,即数据存储节点之间的数据同步,数据库中的数据同步顺序为DDR→PM/NVM→NandFlash,需要指出的是,数据同步时根据预设数据读取条件筛选满足数据更新频率的数据进行读取,上述条件包括第一预设条件和第二预设条件。双倍速率同步动态随机存储器与非易失性存储器内部均为热数据,闪存中为冷数据。并且双倍速率同步动态随机存储器中的第一热数据相较非易失性存储器中的第二热数据具有更高的写更新频率,用于平衡读写非对称问题。需要指出的是,上述现场可编程逻辑门阵列,包括:地址映射模块(Memory Map),用于解析所述现场可编程逻辑门阵列中存储的数据报文,并基于所述数据报文进行所述现场可编程逻辑门阵列中逻辑地址与对应的物理地址的映射,以便所述现场可编程逻辑门阵列通过所述地址映射模块直接对所述物理地址进行操作;复制写回模块(Copy Back),用于基于所述片上网络进行所述闪存、所述非易失性存储器和所述双倍速率同步动态随机存储器的数据读取与保存,以及行数据转换列数据时的数据更新写回;智能队列模块(Smart Queue),用于优化指令队列,以及实现存储通路负载均衡,以便规划存储器的存储空间;所述指令队列为所述现场可编程逻辑门阵列基于所述中央处理器根据所述数据访问请求下发的数据访问指令构建的指令队列;数据库指令算子库(Operator Lib),用于加速所述数据访问指令;存储控制模块(Memory-Ctrl),用于在将读取到的所述冷数据保存至所述闪存和将读取到的所述第二热数据保存至所述非易失性存储器时的存储空间划分;系统控制模块(System-Ctrl),用于控制所述现场可编程逻辑门阵列中的各个模块,以及控制用于和所述现场可编程逻辑门阵列和所述闪存、所述非易失性存储器所述双倍速率同步动态随机存储器进行数据通信的数据通路;片上网络路由模块(NoC Router),用于利用片上网络控制所述现场可编程逻辑门阵列中的各个模块之间的数据通信,同时也用于服务器节点(ETH节点)间的通信与路由扩展,上述服务器节点通过SERDES(SERializer/DESerializer,串行器/解串器)进行数据通信。并且在图1所示的数据库系统中,中央处理器包括处理器核心0(core0)、处理器核心1(core1)…处理器核心N(coreN);一级缓存(L1)、二级缓存(L2)与末级缓存(LLC,即最后一级缓存,在图1中即为三级缓存)。
与所述现场可编程逻辑门阵列连接的中央处理器,用于获取客户端发送的数据访问请求,并控制所述现场可编程逻辑门阵列对所述数据存储节点中的数据执行相应的访问操作。获取客户端发送的数据访问请求后,生成对应的数据访问指令完成对数据存储节点中数据的访问操作。
这样一来,上述数据库系统在中央处理器与非易失性存储器之间增加现场可编程逻辑门阵列,并引入片上网络用于节点内和节点间的数据交换,可以有效地解决非易失性存储器由于读写非对称在数据同步时效率较低的问题,并提升了数据转发效率,增加系统弹性扩展能力。
基于上一实施例可知,本申请的数据库系统在中央处理器与非易失性存储器之间增加现场可编程逻辑门阵列,并引入片上网络用于节点间数据交换,接下来,本实施例中将对基于上述数据库系统的数据访问方法进行详细地阐述。参见图2所示,本申请实施例公开了一种数据访问方法,包括:
步骤S11、通过数据库系统中的采用片上网络的现场可编程逻辑门阵列,对所述数据库系统中的双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的所述第二热数据保存至非易失性存储器;所述双倍速率同步动态随机存储器中预先保存有第一热数据,所述第一热数据的数据更新频率大于所述第二热数据的数据更新频率。
本实施例中,基于双倍数据速率(Double Data Rate,DDR)存储技术对所述数据库系统中的双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的所述第二热数据保存至所述非易失性存储器。
步骤S12、通过所述现场可编程逻辑门阵列对所述数据库系统中的所述非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的所述冷数据保存至所述数据库系统中的闪存。
本实施例中,基于闪存控制器(NandFlash Controller,NFC)通过所述现场可编程逻辑门阵列对所述数据库系统中的非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的所述冷数据保存至所述数据库系统中的闪存。上述闪存控制器的其接口协议为Toggle(以DDR为基础制定的Flash接口标准)/ONFI(Open NAND FlashInterface,开放的NANDFlash接口标准)等。
步骤S13、通过与所述现场可编程逻辑门阵列连接的中央处理器获取客户端发送的数据访问请求,并控制所述现场可编程逻辑门阵列对所述数据库系统中的数据存储节点中的数据执行相应的访问操作;所述数据存储节点包括所述闪存、所述非易失性存储器以及所述双倍速率同步动态随机存储器。
本实施例中,通过中央处理器获取客户端发送的数据访问请求,并控制现场可编程逻辑门阵列对数据库系统中的数据存储节点中的数据执行相应的访问操作。在获取数据访问请求时,通过与现场可编程逻辑门阵列连接的中央处理器基于PCIE5/6(peripheralcomponent interconnect express5.0/6.0,高速串行计算机扩展总线标准5.0/6.0)接口以及CXL协议(Compute eXpress Link,一种多协议的高速互联技术总线)获取客户端发送的数据访问请求。可以理解的是,上述CXL协议支持CXL.io模式、CXL.cache模式和CXL.memory模式。
通过上述技术方案,本实施例通过数据库系统中的采用片上网络的现场可编程逻辑门阵列,对数据库系统中的双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的所述第二热数据保存至非易失性存储器,通过现场可编程逻辑门阵列对数据库系统中的非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的冷数据保存至数据库系统中的闪存,通过与现场可编程逻辑门阵列连接的中央处理器获取客户端发送的数据访问请求,并控制现场可编程逻辑门阵列对数据库系统中的数据存储节点中的数据执行相应的访问操作。本实施例针对数据库系统扩展PM/NVM存在的问题,在中央处理器与非易失性存储器间增加基于现场可编程门阵列的存储扩展模块,同时引入片上网络用于节点内和节点间数据通路,可以有效的解决数据同步、读写非对称等问题,并提升节点内与节点间数据转发效率,增加系统弹性扩展能力。
参见图3所示,本申请实施例还公开了一种数据访问装置,包括:
第一数据读取模块11,用于通过数据库系统中的采用片上网络的现场可编程逻辑门阵列,对所述数据库系统中的双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的所述第二热数据保存至非易失性存储器;所述双倍速率同步动态随机存储器中预先保存有第一热数据,所述第一热数据的数据更新频率大于所述第二热数据的数据更新频率;
第二数据读取模块12,用于通过所述现场可编程逻辑门阵列对所述数据库系统中的所述非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的所述冷数据保存至所述数据库系统中的闪存;
数据访问模块13,用于通过与所述现场可编程逻辑门阵列连接的中央处理器获取客户端发送的数据访问请求,并控制所述现场可编程逻辑门阵列对所述数据库系统中的数据存储节点中的数据执行相应的访问操作;所述数据存储节点包括所述闪存、所述非易失性存储器以及所述双倍速率同步动态随机存储器。
本实施例中,通过数据库系统中的采用片上网络的现场可编程逻辑门阵列,对数据库系统中的双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的第二热数据保存至非易失性存储器;所述双倍速率同步动态随机存储器中预先保存有第一热数据,所述第一热数据的数据更新频率大于所述第二热数据的数据更新频率;通过现场可编程逻辑门阵列对数据库系统中的非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的冷数据保存至数据库系统中的闪存;通过与现场可编程逻辑门阵列连接的中央处理器获取客户端发送的数据访问请求,并控制现场可编程逻辑门阵列对数据库系统中的数据存储节点中的数据执行相应的访问操作。在中央处理器与非易失性存储器之间增加现场可编程逻辑门阵列,并引入片上网络用于节点内和节点间的数据交换,提升了数据转发效率,增加系统弹性扩展能力。
在一些具体实施例中,所述第一数据读取模块11,具体包括:
第一数据读取单元,用于基于双倍数据速率存储技术对所述数据库系统中的双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的所述第二热数据保存至所述非易失性存储器;
相应的,所述第二数据读取模块12,具体包括:
第二数据读取单元,用于基于闪存控制器通过所述现场可编程逻辑门阵列对所述数据库系统中的非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的所述冷数据保存至所述数据库系统中的闪存。
在一些具体实施例中,所述数据访问模块13,具体包括:
请求接收单元,用于通过与所述现场可编程逻辑门阵列连接的中央处理器基于PCIE5/6接口以及CXL协议获取客户端发送的数据访问请求;所述CXL协议支持CXL.io模式、CXL.cache模式和CXL.memory模式。
进一步的,本申请实施例还公开了一种电子设备,图4是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图4为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的数据访问方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的数据访问方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的数据访问方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据库系统,其特征在于,包括:
用于存储数据的数据存储节点;所述数据存储节点包括闪存、非易失性存储器以及用于保存第一热数据的双倍速率同步动态随机存储器;
采用片上网络与所述闪存、所述非易失性存储器和所述双倍速率同步动态随机存储器进行数据通信的现场可编程逻辑门阵列,用于对所述双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的所述第二热数据保存至所述非易失性存储器;对所述非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的所述冷数据保存至所述闪存;其中,所述第一热数据的数据更新频率大于所述第二热数据的数据更新频率;
与所述现场可编程逻辑门阵列连接的中央处理器,用于获取客户端发送的数据访问请求,并控制所述现场可编程逻辑门阵列对所述数据存储节点中的数据执行相应的访问操作。
2.根据权利要求1所述的数据库系统,其特征在于,所述现场可编程逻辑门阵列,包括:
地址映射模块,用于解析所述现场可编程逻辑门阵列中存储的数据报文,并基于所述数据报文进行所述现场可编程逻辑门阵列中逻辑地址与对应的物理地址的映射,以便所述现场可编程逻辑门阵列通过所述地址映射模块直接对所述物理地址进行操作;
复制写回模块,用于基于所述片上网络进行所述闪存、所述非易失性存储器和所述双倍速率同步动态随机存储器的数据读取与保存;
智能队列模块,用于优化指令队列;所述指令队列为所述现场可编程逻辑门阵列基于所述中央处理器根据所述数据访问请求下发的数据访问指令构建的指令队列;
数据库指令算子库,用于加速所述数据访问指令;
存储控制模块,用于在将读取到的所述冷数据保存至所述闪存和将读取到的所述第二热数据保存至所述非易失性存储器时的存储空间划分。
3.根据权利要求2所述的数据库系统,其特征在于,所述现场可编程逻辑门阵列,包括:
系统控制模块,用于控制所述现场可编程逻辑门阵列中的各个模块,以及控制用于和所述现场可编程逻辑门阵列和所述闪存、所述非易失性存储器所述双倍速率同步动态随机存储器进行数据通信的数据通路。
4.根据权利要求3所述的数据库系统,其特征在于,所述现场可编程逻辑门阵列,包括:
片上网络路由模块,用于利用片上网络控制所述现场可编程逻辑门阵列中的各个模块之间的数据通信。
5.一种数据访问方法,其特征在于,包括:
通过数据库系统中的采用片上网络的现场可编程逻辑门阵列,对所述数据库系统中的双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的所述第二热数据保存至非易失性存储器;所述双倍速率同步动态随机存储器中预先保存有第一热数据,所述第一热数据的数据更新频率大于所述第二热数据的数据更新频率;
通过所述现场可编程逻辑门阵列对所述数据库系统中的所述非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的所述冷数据保存至所述数据库系统中的闪存;
通过与所述现场可编程逻辑门阵列连接的中央处理器获取客户端发送的数据访问请求,并控制所述现场可编程逻辑门阵列对所述数据库系统中的数据存储节点中的数据执行相应的访问操作;所述数据存储节点包括所述闪存、所述非易失性存储器以及所述双倍速率同步动态随机存储器。
6.根据权利要求5所述的数据访问方法,其特征在于,所述对所述数据库系统中的双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的所述第二热数据保存至所述非易失性存储器,包括:
基于双倍数据速率存储技术对所述数据库系统中的双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的所述第二热数据保存至所述非易失性存储器;
相应的,所述通过所述现场可编程逻辑门阵列对所述数据库系统中的非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的所述冷数据保存至所述数据库系统中的闪存,包括:
基于闪存控制器通过所述现场可编程逻辑门阵列对所述数据库系统中的非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的所述冷数据保存至所述数据库系统中的闪存。
7.根据权利要求5所述的数据访问方法,其特征在于,所述通过与所述现场可编程逻辑门阵列连接的中央处理器获取客户端发送的数据访问请求,包括:
通过与所述现场可编程逻辑门阵列连接的中央处理器基于PCIE5/6接口以及CXL协议获取客户端发送的数据访问请求;所述CXL协议支持CXL.io模式、CXL.cache模式和CXL.memory模式。
8.一种数据访问装置,其特征在于,包括:
第一数据读取模块,用于通过数据库系统中的采用片上网络的现场可编程逻辑门阵列,对所述数据库系统中的双倍速率同步动态随机存储器中的满足第一预设条件的第二热数据进行读取,并将读取到的所述第二热数据保存至非易失性存储器;所述双倍速率同步动态随机存储器中预先保存有第一热数据,所述第一热数据的数据更新频率大于所述第二热数据的数据更新频率;
第二数据读取模块,用于通过所述现场可编程逻辑门阵列对所述数据库系统中的所述非易失性存储器中的满足第二预设条件的冷数据进行读取,并将读取到的所述冷数据保存至所述数据库系统中的闪存;
数据访问模块,用于通过与所述现场可编程逻辑门阵列连接的中央处理器获取客户端发送的数据访问请求,并控制所述现场可编程逻辑门阵列对所述数据库系统中的数据存储节点中的数据执行相应的访问操作;所述数据存储节点包括所述闪存、所述非易失性存储器以及所述双倍速率同步动态随机存储器。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求5至7任一项所述的数据访问方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求5至7任一项所述的数据访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310586789.2A CN116301667B (zh) | 2023-05-24 | 2023-05-24 | 一种数据库系统,数据访问方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310586789.2A CN116301667B (zh) | 2023-05-24 | 2023-05-24 | 一种数据库系统,数据访问方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116301667A true CN116301667A (zh) | 2023-06-23 |
CN116301667B CN116301667B (zh) | 2023-09-01 |
Family
ID=86789189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310586789.2A Active CN116301667B (zh) | 2023-05-24 | 2023-05-24 | 一种数据库系统,数据访问方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116301667B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627867A (zh) * | 2023-07-25 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 数据交互系统、方法、大规模运算处理方法、设备及介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090058462A1 (en) * | 2005-01-21 | 2009-03-05 | Actel Corporation | Field programmable gate array including a nonvolatile user memory and method for programming |
US20120131253A1 (en) * | 2010-11-18 | 2012-05-24 | Mcknight Thomas P | Pcie nvram card based on nvdimm |
US20120320517A1 (en) * | 2011-06-17 | 2012-12-20 | Bae Systems Controls Inc. | Obsolescence tolerant flash memory architecture and physical building block (pbb) implementation |
CN108133728A (zh) * | 2018-01-18 | 2018-06-08 | 上海新储集成电路有限公司 | 一种非易失性随机存储器 |
CN111339544A (zh) * | 2019-04-24 | 2020-06-26 | 上海安路信息科技有限公司 | 离线下载装置及离线下载方法 |
US20200218646A1 (en) * | 2019-01-04 | 2020-07-09 | Alibaba Group Holding Limited | System and method of fpga-executed flash translation layer in multiple solid state drives |
CN111984557A (zh) * | 2019-05-21 | 2020-11-24 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和系统 |
CN212694406U (zh) * | 2020-03-27 | 2021-03-12 | 西安紫光国芯半导体有限公司 | 储存级存储器的双列直插式存储模块装置 |
WO2022068185A1 (zh) * | 2020-09-29 | 2022-04-07 | 深圳大普微电子科技有限公司 | 一种存储系统及存储数据处理方法 |
CN115480713A (zh) * | 2022-10-21 | 2022-12-16 | 济南浪潮数据技术有限公司 | 一种冷热数据的确定方法、装置及介质 |
CN115577113A (zh) * | 2021-06-21 | 2023-01-06 | 北京纵存科技有限公司 | 知识图谱平台 |
US20230055349A1 (en) * | 2021-08-20 | 2023-02-23 | Micron Technology, Inc. | Memory access control |
-
2023
- 2023-05-24 CN CN202310586789.2A patent/CN116301667B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090058462A1 (en) * | 2005-01-21 | 2009-03-05 | Actel Corporation | Field programmable gate array including a nonvolatile user memory and method for programming |
US20120131253A1 (en) * | 2010-11-18 | 2012-05-24 | Mcknight Thomas P | Pcie nvram card based on nvdimm |
US20120320517A1 (en) * | 2011-06-17 | 2012-12-20 | Bae Systems Controls Inc. | Obsolescence tolerant flash memory architecture and physical building block (pbb) implementation |
CN108133728A (zh) * | 2018-01-18 | 2018-06-08 | 上海新储集成电路有限公司 | 一种非易失性随机存储器 |
US20200218646A1 (en) * | 2019-01-04 | 2020-07-09 | Alibaba Group Holding Limited | System and method of fpga-executed flash translation layer in multiple solid state drives |
CN111339544A (zh) * | 2019-04-24 | 2020-06-26 | 上海安路信息科技有限公司 | 离线下载装置及离线下载方法 |
CN111984557A (zh) * | 2019-05-21 | 2020-11-24 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和系统 |
CN212694406U (zh) * | 2020-03-27 | 2021-03-12 | 西安紫光国芯半导体有限公司 | 储存级存储器的双列直插式存储模块装置 |
WO2022068185A1 (zh) * | 2020-09-29 | 2022-04-07 | 深圳大普微电子科技有限公司 | 一种存储系统及存储数据处理方法 |
CN115577113A (zh) * | 2021-06-21 | 2023-01-06 | 北京纵存科技有限公司 | 知识图谱平台 |
US20230055349A1 (en) * | 2021-08-20 | 2023-02-23 | Micron Technology, Inc. | Memory access control |
CN115480713A (zh) * | 2022-10-21 | 2022-12-16 | 济南浪潮数据技术有限公司 | 一种冷热数据的确定方法、装置及介质 |
Non-Patent Citations (3)
Title |
---|
KOICHIRO ZAITSU 等: "Nonvolatile Programmable Switch With Adjacently Integrated Flash Memory and CMOS Logic for Low-Power and High-Speed FPGA", 《IEEE TRANSACTIONS ON ELECTRON DEVICES》 * |
谢玲芳;孟令军;许艳;朱珊;: "基于非易失性存储阵列的实时数据记录卡设计", 科学技术与工程, no. 30 * |
谭海清;陈正国;陈微;肖侬;: "基于FPGA的DDR3协议解析逻辑设计", 计算机应用, no. 05 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627867A (zh) * | 2023-07-25 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 数据交互系统、方法、大规模运算处理方法、设备及介质 |
CN116627867B (zh) * | 2023-07-25 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 数据交互系统、方法、大规模运算处理方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116301667B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11290534B2 (en) | System and method for scheduling computer tasks | |
US20180150240A1 (en) | Technologies for offloading i/o intensive operations to a data storage sled | |
US9832275B2 (en) | Message processing method, device and system for internet of things | |
US8325603B2 (en) | Method and apparatus for dequeuing data | |
US11025745B2 (en) | Technologies for end-to-end quality of service deadline-aware I/O scheduling | |
US10209890B2 (en) | Near memory accelerator | |
US20220224614A1 (en) | Technologies for capturing processing resource metrics as a function of time | |
CN106503058B (zh) | 一种数据加载方法、终端和计算集群 | |
CN116301667B (zh) | 一种数据库系统,数据访问方法、装置、设备及存储介质 | |
EP2705433A2 (en) | Method and system for dynamically creating and servicing master-slave pairs within and across switch fabrics of a portable computing device | |
CN110119304B (zh) | 一种中断处理方法、装置及服务器 | |
US11863469B2 (en) | Utilizing coherently attached interfaces in a network stack framework | |
US9690713B1 (en) | Systems and methods for effectively interacting with a flash memory | |
US20210377150A1 (en) | Memory pooled time sensitive networking based architectures | |
CN109992597A (zh) | 一种热点数据的存储方法及终端 | |
CN116560562A (zh) | 一种读、写数据方法及装置 | |
CN111259014B (zh) | 一种fpga的单向链表数据存储方法及系统 | |
US10915470B2 (en) | Memory system | |
JP2020166838A (ja) | エッジ重複排除を提供するための技術 | |
US9537941B2 (en) | Method and system for verifying quality of server | |
CN114490458B (zh) | 数据传输方法、芯片、服务器以及存储介质 | |
US10678455B2 (en) | System and method for increased efficiency thin provisioning with respect to garbage collection | |
CN112579006A (zh) | 一种数据存储生命周期管理方法及系统 | |
WO2016197607A1 (zh) | 一种实现路由查找的方法及装置 | |
CN116028541B (zh) | 一种数据向量化聚集方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |