用于自主存储器搜索的方法及系统技术方案

技术编号:15104328 阅读:202 留言:0更新日期:2017-04-08 14:47
方法及系统操作以接收用于在存储器系统中搜索数据库的多个搜索请求。所述搜索请求可存储于FIFO队列中,且随后可针对每一搜索请求产生搜索。可对所述数据库实质上并行地执行所述多个所得搜索。当每一相应搜索完成或每一相应搜索已产生搜索结果时,将相应指示传输到请求主机。

【技术实现步骤摘要】
【国外来华专利技术】优先权申请案本申请案主张2013年8月13日申请的第13/965,739号优先权美国申请案的权益,所述申请案以全文引用的方式并入本文中。
技术介绍
通常提供存储器装置作为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)及非易失性(例如快闪)存储器。若干非易失性存储器装置可经组合以制造可仿效计算机系统中的机械操作硬盘驱动器的固态驱动器(SSD)。归因于缺乏活动部件,固态驱动器可提供比机械硬盘驱动器更快的存取及更高可靠性。至少部分归因于计算机系统的提高性能,存储器及固态驱动器制造者始终面临提高其存储器的性能以试图与计算机系统性能提高保持同步的压力。存储器制造者提高存储器性能的一种方式是减少存储器读取/写入次数。然而,存储器技术的改进可能妨碍所述效力。提高存储器性能的另一方式可为使存储器及SSD的搜索更加有效。附图说明图1说明数据库存储系统的实施例的框图。图2说明根据图1的实施例的存储器系统的实施例的框图。图3A及3B说明数据库存储格式的实施例的图式。图4A及4B说明主机与存储器之间的通信的实施例的协议流程图。图5说明用于自主存储器搜索的方法的实施例的功能框图。图6A及6B说明用于自主存储器搜索的方法的实施例的流程图。图7说明具有多个存储器系统的系统的框图。具体实施方式在以下详细描述中,参考形成本专利技术的一部分的附图,且在附图中以说明方式展示特定实施例。在图式中,相似符号描述贯穿若干视图的实质上类似组件。可利用其它实施例且可在不背离本专利技术的范围的情况下作出结构、逻辑及电气改变。因此,以下详细描述不应被视为限制意义。随后仅出于说明的目的而参考固态驱动器(SSD)。如本文中所揭示,自主存储器搜索操作可同样适当应用于包含半导体存储器、光学存储器或磁存储器的任何类型的存储器装置或存储器装置群组。因此,本专利技术不限于SSD的搜索。随后,也参考结构化查询语言(SQL)及术语“MySQL”。如所属领域中所知,SQL是指经设计以管理关系型数据库的专用编程语言。术语“MySQL”是指作为服务器运行以提供对若干数据库的多用户存取的品牌关系型数据库管理系统。MySQLTM数据库系统通常可被特征化为结构化数据库。因此,本文对SQL及MySQLTM数据库的参考仅出于说明的目的。本文所揭示的自主存储器搜索方法的实施例可同样适当应用于存储结构化数据及非结构化数据两者的其它类型的数据库。举例来说,任何关键值存储数据库(例如NoSQL数据库)可使用自主存储器搜索方法。如本文所使用,结构化数据可为被组织成离散记录(例如元素)的数据。所述记录可由一或多个字段组成。结构数据的实例可为被划分成名字、地址及识别信息的记录。如本文所使用,非结构化数据可为未组织成离散记录(例如元素)的数据。非结构化数据的实例可为来自书籍的文字、数字图像或人类语言的数字表示。图1说明可包含主机130及存储器系统(例如SSD)108的数据库系统的实施例的框图。主机130可为计算机系统或CPU。存储器系统(例如SSD)108可为单一非易失性存储器装置或组合成单一单元(例如SSD)的多个非易失性存储器装置。主机130可包括可提供数据库系统中的不同数据库功能的多个客户端(例如客户端软件、程序)100。举例来说,这些客户端100可包含数据库备份例程(例如mysqldump例程)、表维护例程(例如mysqlcheck例程)、命令行接口例程(例如mysqlimport例程)及/或其它数据库功能。客户端100与服务器102通信。服务器102可为mysqld(MySQL服务器)或一些其它类型的服务器。服务器102可为数据库系统中的主程序,其管理对存储于用于客户端100及主机(例如中央处理单元、计算机、控制器)的存储器系统108中的数据库的存取。存储引擎104在主机130的服务器102与操作系统(OS)文件系统协议106之间通信。存储引擎104通过主机130的OS文件系统106而将搜索准则及搜索关键字传输到存储器108,且通过主机130的OS文件系统106而从存储器系统108接收对搜索的响应。随后论述搜索准则及搜索关键字。典型的现有技术存储引擎可在存储器中的数据库的典型搜索期间传送来自所述数据库的大量原始数据。举例来说,在含有表中的数千条记录的数据库的典型现有技术搜索中,将所述记录的大多数或全部从所述存储器读取到CPU的主存储器以由CPU处理。用于自主存储器搜索的方法的存储引擎104可将搜索准则及搜索关键字传送到存储器系统108,且仅接收回由使用搜索准则及搜索关键字的数据库搜索所致的搜索结果。因此,存储引擎104可不必剖析大量原始数据且CPU可不必使用宝贵时间来执行搜索准则及搜索关键字与原始数据的比较。此可导致使用自主存储器搜索的方法的系统的性能增强。此也可导致总电力节约、成本节约及形状因子优点。存储器系统108可包含可存储待搜索的数据库的任何类型的存储器。图2说明存储器系统108(例如SSD)的实施例的框图。举例来说,多个非易失性存储器装置(例如快闪存储器)可经组合以形成存储器块203。存储器系统108(例如SSD)可具有耦合到存储器块203以控制存储器系统108(例如SSD)的操作的控制器(例如处理器)201。根据图4到6中所描述的协议及方法,控制器201可包括用于指导存储引擎104的活动的模块210(例如固件或软件)。图3A说明数据库存储格式的实施例的图式。在所说明的实施例中,数据库可存储于表状格式300中。所说明的表300包含标头301及‘n’条记录(例如记录(0)到记录(n-1))。每一记录可指向表300中的下一记录,使得当表300由后一记录更新时,前一记录可经更新以指向所述后一记录。标头301可包含描述表300的字段。举例来说,标头301可包含表300中的记录的数目、每一记录的长度、每记录的字段数目及每一字段的长度。其它实施例可包含标头301中的额外描述数据。每一记录(例如记录(0)到记录(n-1))303可包含待搜索的数据的多个字段(例如字段(0)到字段(m-1))。每一记录303也可包含针对下一记录的指针字段305。此指针字段305可为含有下一记录的存储器中的另一位置的逻辑地址。因此,记录在存储器中无需依序定位。每一字段(例如字段(0)到字段(m-1))可包括存储字段长度及字段数据的元素307。本文档来自技高网...

【技术保护点】
一种方法,其包括:将搜索请求发出到存储器;及从所述存储器接收对所述搜索请求作出响应的搜索已完成或搜索结果已找到的指示;及当已找到所述搜索结果时,响应于所述指示而从所述存储器检索所述搜索结果。

【技术特征摘要】
【国外来华专利技术】2013.08.13 US 13/965,7391.一种方法,其包括:
将搜索请求发出到存储器;及
从所述存储器接收对所述搜索请求作出响应的搜索已完成或搜索结果已找到的
指示;及
当已找到所述搜索结果时,响应于所述指示而从所述存储器检索所述搜索结果。
2.根据权利要求1所述的方法,其中所述搜索请求包括到所述存储器的写入命令。
3.根据权利要求2所述的方法,其中所述写入命令包括搜索准则及搜索关键字的指
示。
4.根据权利要求1所述的方法,且其进一步包括:从所述存储器接收所述搜索请求已
被接收的确认。
5.根据权利要求1所述的方法,其中从所述存储器接收对所述搜索请求作出响应的所
述搜索已完成或所述搜索结果已被找到的所述指示包括:接收所述搜索已到达存储
于所述存储器中的数据库的末尾的指示。
6.根据权利要求1所述的方法,其中从所述存储器接收对所述请求作出响应的所述搜
索已完成或所述搜索结果已被找到的所述指示包括:接收所述存储器中的缓冲区已
满的指示。
7.根据权利要求1所述的方法,其中响应于所述指示而从所述存储器检索所述搜索结
果包括:将读取命令发出到所述存储器以引起所述存储器传输回所述搜索结果。
8.根据权利要求1所述的方法,且其进一步包括:将读取命令发出到所述存储器以对
所述存储器指示主机准备接收所述搜索结果。
9.根据权利要求1所述的方法,且其进一步包括:所述存储器接收软件更新。
10.一种方法,其包括:
将第一命令传输到存储器系统,所述第一命令包括搜索数据库的搜索请求的指
示;
将第二命令传输到所述存储器系统,所述第二命令包括使主机准备接受搜索结果
的对所述存储器系统的指示;及
将第三命令传输到所述存储器系统以检索所述搜索结果。
11.根据权利要求10所述的方法,且其进一步包括:在传输所述第二命令与传输所述
第三命令之间,从所述存储器系统接收响应,所述响应包括所述存储器系统具有搜
索结果或所述数据库已被全部搜索的指示。
12.根据权利要求10所述的方法,其中所述第一命令包括小型计算机系统接口SCSI
写入命令,所述第二命命令包括SCSI读取命令,且所述第三命令包括SCSI读取
命令。
13.根据权利要求10所述的方法,其中所述搜索请求的所述指示包括所述第一命令的
特定字段中的位集,其指示与所述第一命令相关联的缓冲区含有搜索准则及搜索关
键字。
14.根据权利要求13所述的方法,其中所述搜索准则包括“等于”、“小于”、“大于”、
“不等于”、“小于或等于”、“大于或等于”、“与(AND)”、“或(OR)”或“非(NOT)”
中的一或多者。
15.一种方法,其包括:
使对应于存储器中的数据库的搜索的多个所接收的搜索请求排入队列;
产生所述数据库的多个搜索,针对所述多个所接收的搜索请求中的每一者产生所
述多个所述搜索中的相应一者;
实质上并行地执行所述数据库的所述多个搜索;及
针对所述多个搜索中的每一相应一者传输所述相应搜索已完成或已产生搜索结
果的指示。
16.根据权利要求15所述的方法,且其进一步包括:响应于所接收的命令而将所述搜
索结果中的相应一者传输到主机。
17.根据权利要求15所述的方法,其中所述多个搜索中的每一者包括相应搜索关键字
及相应搜索准则。
18.一种方法,其包括:
从主机接收第一命令,所述第一命令包括搜索存储器系统中的数据库的搜索请求
的指示;
从所述主机接收第二命令,所述第二命令包括使所述主机准备从所述存储器系统
接受搜索结果的对所述存储器系统的指示;及
从所述主机接收第三命令以检索所述搜索结果。
19.根据权利要求18所述的方法,且其进一步包括:响应于所述第三命令而将缓冲区
中的数据传输到所述主机。
20.根据权利要求18所述的方法,且其进一步包括:
剖析所述第一命令、所述第二命令及所述第三命令;
使所述第一命令在搜索请求缓冲区中排入队列;
将所述第二命令及所述第三命令的相应指示存储于未处理请求缓冲区中;
将搜索结果的指示存储于响应信息缓冲区中;
将所述搜索结果存储于响应缓冲区中;
响应于所述第二命令的所述指示及所述搜索结果的所述指示而将信息响应传输
到所述主机;及
响应于所述第三命令的所述指示及所述搜索结果的所述指示而从所述响应缓冲
区传输所述搜索结果。
21.根据权利要求20所述的方法,且其进一步包括:在从所述响应缓冲区传输所述搜
索结果之后,将指示存储于响应缓冲区自由列表中。
22.根据权利要求18所述的方法,且其进一步包括:所述存储器系统建立数据结构以
存储所述搜索结果。
23.根据权利要求18所述的方法,其中所述搜索结果含有来自第一数据结构的数据且
进一步含有响应于所述第一数据结构的来自第二数据结构的数据。
24.根据权利要求...

【专利技术属性】
技术研发人员:肯尼斯·柯维兹西恩·艾乐王宏育亚明·艾卡尔
申请(专利权)人:美光科技公司
类型:发明
国别省市:美国;US

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

1