CN104834644A - 一种自搜索存储装置 - Google Patents
一种自搜索存储装置 Download PDFInfo
- Publication number
- CN104834644A CN104834644A CN201410047741.5A CN201410047741A CN104834644A CN 104834644 A CN104834644 A CN 104834644A CN 201410047741 A CN201410047741 A CN 201410047741A CN 104834644 A CN104834644 A CN 104834644A
- Authority
- CN
- China
- Prior art keywords
- data
- search
- searching
- main frame
- storage device
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种自搜索存储装置,包含一个位于主机和数据存储介质之间的数据缓冲器,用于从主机接收关键字。所述自搜索存储装置进一步包含一个数据此较引擎,它连接到数据缓冲器和数据存储介质,包含多个数据搜索单元。该数据比较引擎用于从数据总线接收数据,并是用多个数据搜索单元,对数据的不同部分进行关键字搜索操作。每个数据搜索单元根据关键字来比较数据的特定部分,并向主机返回搜索结果。
Description
技术领域
本发明与存储装置和搜索引擎相关,特别是用于存储装置的搜索引擎。
背景技术
在信息爆炸时代的今天,随着各种数字信息成几何级数大规模的增长.从网络设备中找到所需信息的难度也在不断增加。尽管搜索引擎技术已经被不断改进,但其搜索效能仍然是信息搜索应用的主要瓶颈。信息通常储存在诸如服务器、数据中心等网络设备中,从成千上万的网络设备中查找相关数据在目前仍然效率低下。那么为何存储设备不在其内部嵌入搜索引擎,使搜索工作在存储设备端进行并将结果反馈给系统?通过这种方式,即使反馈的搜索结果不够精确,它也能够极大拨帮助系统提升整体搜索效率。
如今,单一服务器由于受运算速度的限制,已经远不能满足搜索引擎的要求,这种方案通过软件而非硬件实现搜索引擎。因此已被分布式服务器集群取代。但需这要付出高昂的设备及能耗费用。
因此,市场对于低成本、低功耗的搜索引擎存储设备的需求日益强烈。
发明内容
本发明提供一种具有自搜索功能的存储装置,能够通过存储装置自身的硬件完成数据搜索操作。所述存储装置具有存储控制器和存储介质,包括一个多功能数据缓冲器,所述多功能数据缓冲器能够从主机接收搜索配置信息、缓冲主机对存储装置收发的数据、以及保存搜索结果信息。所述存储装置还包含数据比较引擎,所述数据此较引擎位于数据缓冲器与存储介质之间,包括多个数据搜索单元。所述数据此较引擎可使用多个数据搜索单元,每个数据比较单元可配置用来搜索不同的关键字,各个数据此较单元可同时并行进行关键字搜索操作,并将搜索结果返回主机。
为进一步理解本存储装置的的优点,下面结合附图对本发明作进一步详细的描述
附图说明
图1示出了根据本发明的一个实施例:自搜索存储装置2以及与之相连的主机1。
图2示出了根据本发明的一个实施例:自搜索存储装置2的进一步细节。
图3示出了根据本发明中关于自搜索存储控制器21的另一种实现方式。
图4示出了根据本发明的一个实施例数据此较引擎212的进一步细节。
图5示出了图4的数据搜索单元的个实施例的进一步细节。
图6示出了根据本发明的一个用自搜索存储装置2的搜索方法的相关步骤流程图600。
图7示出了根据本发明的一个用自搜索存储装置2的搜索方法的相关步骤流程图700。
图8示出了根据本发明的一个用自搜索存储装置2的搜索方法的相关步骤流程图800。
具体实施方式
本发明公开了一种具有自搜索功能的存储装置,及其搜索方法。其包含用于接收关键字的数据缓冲器,该缓冲器位于主机和存储介质之间。所述自搜索存储装置还包含数据比较引擎,该数据此较引擎位于数据缓冲器与存储介质之间,其包含多个数据搜索单元。所述数据此较引擎可使用多个数据搜索单元,用于对数据的多个不同部分进行一个或多个关键字的搜索操作,并向主机返回搜索结果。
图1示出了本发明的一个实施例中的自搜索存储装置2,以及其与之相连的主机1。自搜索存储装置2包括一个自搜索存储装置控制器21,和与之相连的数据存储介质22。所述搜索存储装置控制器21与主机1相连。进行搜索操作时,主机1向自搜索存储控制器21发送搜索命令和关键字列表,所述控制器21将待搜索的关键字分配到数据此较引擎的多个数据搜索单元(见图4),每个数据搜索单元监听输出或者输入到存储介质22的数据流,并搜索一个关键字。因此对于存储介质22数据搜索操作,实质上由多个数据搜索单元实时并行进行。存储介质22可以是通过远程方式连接到自搜索控制器21的大量存储设备。
所述自搜索存储装置控制器21包含一个数据搜索引擎,能够从数据流中搜索至少1个关键字。进一步的,所述自搜索存储装置2还能够:监听从主机1传输到存储介质22的数据流、监听从存储介质22传输到主机1的数据流、自动将数据从存储介质读入到数据缓冲器,并在此过程中搜索关键字。此外,搜索自搜索存储装置还可以对任何类型的输入/输出自搜索存储装置控制器21的数据流进行搜索如上所述的搜索操作。自搜索存储装置控制器21的搜索操作无需借助任何外部设备,其数据搜索功能完全由所述装置自身实现,因此称之为自搜索。
在本发明的实例中,主机1可以是笔记本、台式机、服务器、移动计算设备,或者任何其他类型的能够访问存储介质的设备。自搜索存储装置控制器21的应用场合包括但不限于:硬盘、SSD、PC卡、SD/EMMC卡、U盘、eMMC、CD/DVD驱动器或者任何类型的非易失存储设备。存储介质22包括但不限于:闪存、磁性介质,即其他非易失存储介质。
图2示出了本发明实施例中自搜索存储装置2的进一步的细节。自搜索存储装置2包含一个位于主机1和数据存储介质22之间的自搜索存储控制器21。自搜索控制器21包含主机端控制器213、数据缓冲器214、数据存储控制器215、数据比较引擎212、主控制器211、数据总线0217、数据总线1216。其中主控制器211与其余各控制/执行模块均有联系,负责对各控制/执行模块的调度和控制。
机端控制器213位于主机1和数据缓冲器214之间通过总线0217相互连接。数据缓冲器214进一步通过数据总线1216,与主控制器211和数据存储控制器215相连。数据比较引擎212位于数据缓冲器214和数据存储控制器215之间,通过数据总线1216与之相连。数据比较引擎212进一步与主控制器211相连。主控制器211通过主机端控制器213与主机进行命令和数据等通讯。进一步的,主控制器211通过数据存储控制器215对数据存储介质22进行访问和管理。进一步的,主控制器211通过数据存储控制器215对数据此较引擎进行关键字配置等操作。
数据比较引擎212包含多个数据搜索单元,用来监听数据总线1216,并实时地执行关键字搜索操作。
主机端控制器213处理主机1与数据存储介质22之间的传输协议,其包括但不限于:SATA,PCI,PCIE,SAS,1394,USB,SD或MMC,或任何适用于数据交换的传输协议。
数据缓冲器214具有多种功能:所述数据缓冲器可以缓存主机写到存储介质,或存储介质读取到主机的数据;进一步的,所述数据缓冲器还可以保存主机发送给存储装置的搜索配置信息,或者保存储装置返回给主机的搜索结果;所述数据缓冲器还可以被主控制器作为普通数据缓存使用。
数据存储控制器215用于访问和管理数据存储介质22。
在操作过程中,该主机端控制器213从主机1接收搜索命令、关键字列表,以及搜索范围信息(以下统称搜索信息)并通过数据总线0217将搜索信息传输到数据缓冲器214。主控制器211从数据缓冲器214中取得搜索信息,并将关键字发送到数据比较引擎212,用来与数据存储介质22中的数据进行比较。主控制器211按照主机发出的搜索范围,控制数据存储控制器215进行数据读取操作。数据存储控制器215从存储介质22中读到数据后通过数据总线1216传送给数据缓中器214。在数据传输过程中数据比较引擎监听数据总线1216,并将监听到的数据与关键字进行此较操作,并将结果返回给主控制器211。主控制器211将比较结果传送到数据缓冲器214座位临时保存,并在搜索完成后,通过主机端控制器213将搜索结果返回给主机1。此外,如图7和图8中示出的附加命令(诸如读命令和写命令)也可以由主机端控制器213接收。
控制信号218表示主控制器211可以控制主机端控制器213,执行命令或数据传输操作。例如,主控制器可以作为中央处理单元用以控制自搜索控制器21的其它模块。
图3示出了自搜索存储控制器21的另一个变体实例。在本例中,数据此较引擎212位于主机端和数据缓冲器之间,与数据总线0217相连。与图2中的自搜索存储控制器21类似。在图2的示例中,数据搜索操作更容易处理,因为数据此较引擎可以在数据从存储装置读出到数据缓冲器时就进行搜索操作,而读出到缓冲器的数据也可以在搜索完成后丢弃。
图4示出了本发明实施例中数据此较引擎212的进一步细节。据比较引擎212包含数据搜索单元12120到N2120其中“N”为整数,它与数据总线1216。该主控制器211提供了配置和关键字信息到数据搜索单元1-N。数据搜索单元1-N的每个单元根据来自主机1的一个或多个关键字此较了存储在数据缓冲器214中的数据部分,通过主控制器211提供了比较结果到主控制器211。因此,平行的或实时的关键字和数据被获得。数据搜索单元1-N的每个单元包含一个关键字锁存器,或任何其它合适的存储元素来存储被搜索到的关键字。
图5示出了图4当中本发明实施例数据比较引擎212的进一步细节。该数据此较引擎212包含多个数据搜索单元2120,其包含关键字索存器21201、数据索存器21202、此较器21203、以及比较结果锁存器21204。关键字锁存器21201与主控制器211和此较器21203相连,数据锁存器位于主据总线1216和比较器21203项链,此较器21203将关键字锁存器输出的数据与数据锁存器输出的数据进行比较,并产生结果,保存在此较结果锁存器21204种。此较结果锁存器进一步将数据输出到主控制器211。
图6示出了本发明方法由自搜索存储装置2执行的相关步骤的流程图600。602搜索过程开始,步骤604,主机1向自搜索存储装置2发送搜索命令,和搜索配置信息。接下来步骤606,存储装置2解析收到的命令,并依此进行更新关键字列表、初始化搜索结果列表,以及初始化与存储介质22相关的读取地址等操作。初始化一个搜索结果列表,并且初始化一个与数据存储介质22相关的读地址。接下来步骤608,存储装置控制器21从数据存储介质22读取数据块,并将其保存到数据缓冲器214,然后进行数据较过程。如果数据此较引擎212找到匹配数据,则将搜索结果更新到结果列表,然后进行步骤614;如果没有找到匹配数据,则直接跳转到步骤614,判断是否到达地址末尾,如果已经到达地址末尾,则进行步骤618,否则跳转到步骤616,更新对数据存储介质22的读取地址,并读取下一个数据块,然后继续步骤608。搜索结果列表通常在维护在数据缓冲器214中数据缓冲器214和开有部分被用作主机1与存储介质22之间的数据缓存,另外也可有部分数据保存在主控制器的内存中。
在步骤614,如果全部的块都已处理,则进行到步骤618,搜索操作完成。流程继续进行到步骤620,自搜索存储装置2向主机1返回搜索结果,接下来步骤622,主机1通过自搜索存储控制器21,根据搜索结果读取步骤604中搜索配置信息所对应的数据地址,即关键字所对应的地址在步骤622中返回到主机,主机不必读取存储介质中的全部数据,可直接根据搜结果返回的地址读取包含关键字的数据。因此可以大大节省花费在主机和存储装置之间的数据传输开销,同时由于多个关键字的搜索操作可在数据此较引擎的多个搜索单元中同时进行,且此过程无需主机CPU参与,因此可大大节省搜索过程中的CPU运算开销,是搜索效率到大幅提升。
图7示出了本发明方法由自搜索存储装置2在主机写命令过程执行自搜索相关步骤的流程图700。在702,该过程开始。在步骤704,主机1向自搜索存储装置2发送搜索命令,和搜索配置信息,其中搜索配置信息包含1到N个待搜索的关键字,以及搜索范围信息。步骤706,存储装置2通过更新关键字搜索来解析接收到的命令。步骤708上,主机1向自搜索存储装置2发送写命令。步骤710,数据此较引擎在数据写入过程中进行关键字比较,如果找到匹配数据,则更新搜索结果列表。接下来则进行步骤714,根据步骤704主机所发送的搜索配置信息查询写命令是否完成,如果没有完成则继续到步骤768,否则进行步骤716,主机获取搜索结果,最后进行到步骤718,搜索过程完毕。
图8示出了本发明方法由自搜索存储装置2在主机读命令过程执行自搜索相关步骤的流程图800。步骤802,搜索过程开始。步骤804,主机1向自搜索存储装置2发送搜索命令,和搜索配置信息,其中搜索配置信息包含1到N个待搜索的关键字,以及搜索范围信息。接下来进行步骤806,存储装置2解析收到的命令。接下来进行步骤808上,主机1向自搜索存储装置2发送读命令。继续到步骤810,数据比较引擎在数据读出过程中进行关键字比较,如果找到匹配数据,则更新搜索结果列表。接下来则进行步骤814,根据步骤804主机所发送的搜索配置信息查询写命令是否完成,如果没有完成则继续到步骤868,否则进行步骤816,主机获取搜索结果,最后进行到步骤818,搜索过程完毕。
图6与图8的一个显著区别在于,前者在搜索过程中,数据必须被读取到主机中,而后者在搜索过程中,数据仅需要读取到数据缓冲器214,并且可在搜索完毕都丢弃。
本发明已经在一定程度上被充分详细的描述。本领域技术人员可以理解,目前实施例所揭露的只是示例而已,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。因此,本发明的范围定义为其保护范围而不是以上实施例的说明。
Claims (12)
1.一种自搜索存储装置,其特征在于:包含自搜索存储控制器;
所述自搜索存储控制器包含:位于主机和存储介质之间的多功能数据缓冲器;
所述多功能数据缓冲器能够接收主机发来的搜索配置信息、缓存主机对存储装收/发的数据,以及保存需要返回给主机的存搜索结果信息;
所述自搜索控制器还包含:位于多功能数据缓冲器和存储介质之间的数据此较引擎;所述数据此较引擎包括多个数据搜索单元,用于接收写入/读出存储介质的数据流,并利用多个数据搜索单元进行关键字的搜索操作,并将搜索结果返回主机;所述多个数据搜索单元,其每个单元可配置成搜索互不相同的关键字,并且各个数据搜索单元可同时并行进行搜索操作。
2.根据权利要求1中所述的自搜索存储控制器,其特征还在于其包含:位于主机和数据缓冲器之间的主机端控制器;所述主机端控制器用于接收主机发来的搜索配置信息,包括搜索命令、关键字,并向主机发送搜索结果。
3.根据权利要求1中所述自搜索存储控制器,其特征还在于其包含:位于数据缓冲器和存储介质之间的数据存储控制器,所属数据存储控制器用于访问存储介质,实现数据存储与读出操作。
4.根据权利要求1中所述的多个数据搜索单元,其特征在于:包含关键字锁存器、数据锁存器、数据比较器,和比较结果锁存器;其中,关键字锁存器和数据锁存器与数据此较器相连,而数据比较器与此较结果锁存器相连;关键字锁存器用于保存待搜索的关键字,数据锁存器用于保存待此较的数据,数据此 较器用来此较保存在关键字锁存器与数据锁存器中的数据,并将结果保存到此较结果锁存器中。
5.根据权利要求1中所述自搜索存储装置其类型可以是硬盘、固态硬盘(SSD)、PCMCIA卡、SD卡、TF卡、MMC卡、U盘、eMMC芯片、以及CD和DVD。
6.根据权利要求1中所述自搜索存储装置,其存储介质可以是闪存以及磁性存储介质。
7.一种自搜索存储装置的搜索方法,包括:接收包含搜索配置信息的搜索命令,分解搜索任务并初始化搜索结果列表,从存储介质中将数据块读取到数据缓冲器,并在此过程中执至少一个关键字的数据搜索此较操作,根据数据比较结果更新数据搜索列表,将最终的结果返回主机。
8.根据权利要求7中所述自搜索存储装置的搜索方法,其特征在于:分解搜索任务包括一个使用在搜索步骤中的关键字列表。
9.根据权利要求7中所述自搜索存储装置的搜索方法,其特征在于:搜索步骤包括对一个数据块进行部分搜索操作。
10.根据权利要求9中所述自搜索存储装置的搜索方法,其特征在于:对数据块的部分搜索如果没有得到匹配的结果,则继续搜索数据块的其他部分,直到整个数据块搜索完毕。
11.根据权利要求1中所述自搜索存储装置的搜索方法,其特征在于:自搜索存储装置接收从主机发来的写命令,并监听主机发送到存储介质的数据流。
12.根据权利要求1中所述自搜索存储装置的搜索方法,其特征在于:自搜索存储装置接收从主机发来的读命令,并监听存储介质读取到主机的数据流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410047741.5A CN104834644B (zh) | 2014-02-11 | 2014-02-11 | 一种自搜索存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410047741.5A CN104834644B (zh) | 2014-02-11 | 2014-02-11 | 一种自搜索存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104834644A true CN104834644A (zh) | 2015-08-12 |
CN104834644B CN104834644B (zh) | 2018-08-28 |
Family
ID=53812540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410047741.5A Active CN104834644B (zh) | 2014-02-11 | 2014-02-11 | 一种自搜索存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104834644B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106713629A (zh) * | 2016-12-14 | 2017-05-24 | 重庆笨瓜科技有限公司 | 一种老人手机用全局搜索系统 |
CN108763421A (zh) * | 2018-05-24 | 2018-11-06 | 湖南国科微电子股份有限公司 | 一种基于逻辑电路的数据搜索方法及系统 |
CN109426446A (zh) * | 2017-08-29 | 2019-03-05 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070047409A1 (en) * | 2005-08-31 | 2007-03-01 | Wang Liang-Yun | Data recording system and control method thereof |
CN101231636A (zh) * | 2007-01-25 | 2008-07-30 | 北京搜狗科技发展有限公司 | 一种便捷的信息搜索方法、系统及一种输入法系统 |
US20120016857A1 (en) * | 2010-07-16 | 2012-01-19 | Levi Gross | System and method for providing search engine optimization analysis |
CN103268347A (zh) * | 2013-05-27 | 2013-08-28 | 中山大学 | 一种基于短信的移动互联网搜索系统及实现方法 |
CN103324702A (zh) * | 2013-06-13 | 2013-09-25 | 华为技术有限公司 | 视频文件处理方法和视频文件处理设备 |
-
2014
- 2014-02-11 CN CN201410047741.5A patent/CN104834644B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070047409A1 (en) * | 2005-08-31 | 2007-03-01 | Wang Liang-Yun | Data recording system and control method thereof |
CN101231636A (zh) * | 2007-01-25 | 2008-07-30 | 北京搜狗科技发展有限公司 | 一种便捷的信息搜索方法、系统及一种输入法系统 |
US20120016857A1 (en) * | 2010-07-16 | 2012-01-19 | Levi Gross | System and method for providing search engine optimization analysis |
CN103268347A (zh) * | 2013-05-27 | 2013-08-28 | 中山大学 | 一种基于短信的移动互联网搜索系统及实现方法 |
CN103324702A (zh) * | 2013-06-13 | 2013-09-25 | 华为技术有限公司 | 视频文件处理方法和视频文件处理设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106713629A (zh) * | 2016-12-14 | 2017-05-24 | 重庆笨瓜科技有限公司 | 一种老人手机用全局搜索系统 |
CN109426446A (zh) * | 2017-08-29 | 2019-03-05 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN108763421A (zh) * | 2018-05-24 | 2018-11-06 | 湖南国科微电子股份有限公司 | 一种基于逻辑电路的数据搜索方法及系统 |
CN108763421B (zh) * | 2018-05-24 | 2021-11-12 | 湖南国科微电子股份有限公司 | 一种基于逻辑电路的数据搜索方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104834644B (zh) | 2018-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10334334B2 (en) | Storage sled and techniques for a data center | |
KR102028252B1 (ko) | 자율 메모리 아키텍처 | |
CN103123604B (zh) | 跟踪数据处理系统的内存使用的方法 | |
CN100504827C (zh) | 在次序混乱的dma命令队列中建立命令次序 | |
CN101650646B (zh) | 一种共享数据一致性的实现方法及装置 | |
US7818561B2 (en) | Sending service data to an RFID tag while an attached computer system is powered off | |
CN104346294A (zh) | 基于多级缓存的数据读/写方法、装置和计算机系统 | |
CN103873559A (zh) | 一种高速存储的数据库一体机 | |
CN103649923B (zh) | 一种numa系统内存镜像配置方法、解除方法、系统和主节点 | |
EP3223162B1 (en) | Configurable on-chip interconnection system and method and apparatus for implementing same, and storage medium | |
CN107092835B (zh) | 一种虚拟存储盘的计算机数据加密装置及方法 | |
CN104636186A (zh) | 虚拟机内存管理方法、物理主机、pcie设备及其配置方法以及迁移管理设备 | |
CN105637524A (zh) | 硬件平台中的资产管理设备和方法 | |
CN104484131A (zh) | 多磁盘服务器的数据处理装置及对应的处理方法 | |
US8838873B2 (en) | Methods and apparatus for data access by a reprogrammable circuit module | |
CN107852349B (zh) | 用于多节点集群的事务管理的系统、方法及存储介质 | |
CN104102549A (zh) | 一种实现多线程互斥操作的方法、装置和芯片 | |
CN104834644A (zh) | 一种自搜索存储装置 | |
CN103222286B (zh) | 路由交换装置、网络交换系统和路由交换方法 | |
CN103140839A (zh) | 在能够进行高速缓存的存储装置上进行高效顺序记录的系统和方法 | |
CN106341448A (zh) | 分布式存储方法、装置及系统 | |
CN104252416A (zh) | 一种加速器以及数据处理方法 | |
CN102650932A (zh) | 数据的访问方法、设备和系统 | |
CN102393838A (zh) | 数据处理方法及装置、pci-e总线系统、服务器 | |
CN107003932A (zh) | 多核处理器系统的缓存目录处理方法和目录控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Hangzhou City, Zhejiang province 311202 Xiaoshan District Road No. 66 Building No. 1 building 22 layer Huarui Center Applicant after: SAGE MICROELECTRONICS CORP. Address before: Hangzhou City, Zhejiang province 311202 Xiaoshan District Road No. 66 Building No. 1 building 22 layer Huarui Center Applicant before: Hangzhou Sage Microelectronics Technology Co., Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |