CN105612518A - 用于自主存储器搜索的方法及系统 - Google Patents

用于自主存储器搜索的方法及系统 Download PDF

Info

Publication number
CN105612518A
CN105612518A CN201480055911.2A CN201480055911A CN105612518A CN 105612518 A CN105612518 A CN 105612518A CN 201480055911 A CN201480055911 A CN 201480055911A CN 105612518 A CN105612518 A CN 105612518A
Authority
CN
China
Prior art keywords
search
instruction
order
memory
database
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
Application number
CN201480055911.2A
Other languages
English (en)
Other versions
CN105612518B (zh
Inventor
肯尼斯·柯维兹
西恩·艾乐
王宏育
亚明·艾卡尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Priority to CN201911328989.8A priority Critical patent/CN111221848A/zh
Publication of CN105612518A publication Critical patent/CN105612518A/zh
Application granted granted Critical
Publication of CN105612518B publication Critical patent/CN105612518B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/24569Query processing with adaptation to specific hardware, e.g. adapted for using GPUs or SSDs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results

Abstract

方法及系统操作以接收用于在存储器系统中搜索数据库的多个搜索请求。所述搜索请求可存储于FIFO队列中,且随后可针对每一搜索请求产生搜索。可对所述数据库实质上并行地执行所述多个所得搜索。当每一相应搜索完成或每一相应搜索已产生搜索结果时,将相应指示传输到请求主机。

Description

用于自主存储器搜索的方法及系统
优先权申请案
本申请案主张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。所述字段数据可包括待搜索的实际数据309。
图3B说明数据库存储格式的另一实施例。此实施例也可呈表状格式310。然而,图3A及3B的格式仅出于说明的目的。本发明的实施例不受限于任何一种格式(表状或其它格式)。
表310包括表标头312及‘n’个记录群组(例如记录群组(0)到记录群组(n-1))。每一记录群组可指向表300中的下一记录群组,使得当表310由后一记录群组更新时,前一记录群组可经更新以指向所述后一记录群组。
标头312可包含描述表310的字段。举例来说,标头312可包含若干记录群组、记录群组长度、记录数目、每记录的字段数、字段长度、第一记录群组的地址(例如逻辑地址、物理地址)及/或表的版本号码。
每一记录群组(例如记录群组(0)到记录群组(n-1))314可包含‘m’条记录(例如记录(0)到记录(m-1))。每一记录群组314可包含针对下一记录群组314的指针320及用于每一记录群组314中的记录321以及记录316的数目的字段。指针320可为含有下一记录的存储器中的另一位置的逻辑地址。因此,记录群组在存储器中无需依序定位。
每一记录316可包括数据的‘k’个字段318(例如字段(0)到字段(k-1))。每一字段318可包括待搜索的实际数据。
图4A及4B说明主机与存储器系统之间的通信的两个实施例的协议流程图。这些实施例出于说明的目的,此仅是因为其它实施例可使用替代方法。
图4A说明自主存储器搜索的方法期间的主机(例如CPU、计算机)130与存储器系统108(如先前参考图1所描述)之间的通信的实施例的协议流程图。在所说明的实施例中,可由存储引擎104发出三个命令以执行搜索。举例来说,写入命令(例如小型计算机系统接口(SCSI)写入命令)及接着两个或两个以上读取命令可用于将搜索关键字及搜索准则转移到存储器系统108且检索数据库搜索的结果。
存储器系统108中的数据库的搜索可由一或多个搜索关键字(例如模式)、搜索准则(例如比较准则)及待搜索的数据集(例如数据库)界定。可通过比较搜索关键字与作为整体的数据集或数据的一系列子集而执行搜索。当由搜索准则限定的搜索关键字的比较匹配数据集的至少一部分时,可进行匹配。搜索的结果可为无匹配、一个匹配、或多个匹配。
搜索准则可包含例如“等于”、“小于”、“大于”、“不等于”、“小于或等于”或“大于或等于”的运算子。另外,任何逻辑运算子(例如“与(AND)”、“或(OR)”、“非(NOT)”)及任何逻辑运算子的组合可单独或与其它运算子组合地用于搜索数据库。
可由将初始命令(例如SCSI写入命令)401发出到存储器系统108的主机130起始搜索(例如,可由存储引擎(例如图1的存储引擎104)发出命令)。初始命令401可包含搜索准则及搜索关键字的指示。
初始命令(例如SCSI写入命令)中的搜索准则及搜索关键字的指示可为所述命令的特定字段中的位集,其指示:由所述命令隐含且与所述命令相关联的缓冲区含有搜索准则及搜索关键字。举例来说,在SCSI写入命令中,传入逻辑块地址(LBA)的高阶位可经设定以指示所述缓冲区中的队列搜索准则及搜索关键字。
存储器系统108接收初始命令401且读取缓冲区中的队列搜索准则及搜索关键字的指示。接着,存储器系统108可将确认402回复给主机130。所述确认可被视为任选的,此是因为主机130可简单地假定:存储器系统108接收到初始命令401。
接着,主机130(例如存储引擎)可将第二命令(例如SCSI读取)403发出到存储器系统108以指示准备接收搜索结果。在无来自存储器系统108的响应的情况下,第二命令403可保持未处理,直到存储器系统108已完成搜索或已填满分配给搜索结果的其内部缓冲区。一旦缓冲区已填满搜索结果或搜索到达数据库的末尾,存储器系统108就可将响应(例如感测数据)405发出到主机130以指示搜索已完成。如果存在且如果搜索已完成或缓冲区确实已满且需要被读取以清空缓冲区,此响应(例如感测数据)405就可指示从搜索找到的结果的数目。
如果来自存储器系统108的响应405指示非零数目个搜索结果,主机130就可响应于此指示而发出另一命令(例如SCSI读取)407以从存储器系统缓冲区检索结果。接着,存储器系统108可发出可含有来自缓冲区的搜索结果的另一响应(例如感测数据)409。
如果来自主机130的第一读取命令403的结果指示搜索尚未完成,主机130就可返回到此读取步骤403且重复过程,直到指示从存储器系统108进行的搜索已完成。
图4B说明自主存储器搜索的方法期间的主机(例如CPU、计算机)130与存储器系统108(如先前参考图1所描述)之间的通信的另一实施例的协议流程图。在所说明的实施例中,可由存储引擎104发出三个命令以执行搜索。举例来说,写入命令(例如小型计算机系统接口(SCSI)写入命令)及接着两个或两个以上读取命令可用于将搜索关键字及搜索准则转移到存储器系统108且检索数据库搜索的结果。
可由将初始命令(例如SCSI写入命令)410发出到存储器系统108的主机130起始搜索(例如,可由存储引擎(例如图1的存储引擎104)发出命令)。初始命令410可包含搜索准则及搜索关键字的指示。
初始命令(例如SCSI写入命令)中的搜索准则及搜索关键字的指示可为所述命令的特定字段中的位集,其指示:由所述命令隐含且与所述命令相关联的缓冲区含有搜索准则及搜索关键字。举例来说,在SCSI写入命令中,传入逻辑块地址(LBA)的高阶位可经设定以指示所述缓冲区中的队列搜索准则及搜索关键字。
存储器系统108接收初始命令410且读取缓冲区中的队列搜索准则及搜索关键字的指示。接着,存储器系统108可将确认412回复给主机130。所述确认可被视为任选的,此是因为主机130仅可假定:存储器系统108接收初始命令410。
在无来自存储器系统108的响应的情况下,初始命令410可保持未处理,直到存储器系统108已完成搜索或已填满分配给搜索结果的其内部缓冲区。一旦缓冲区已由搜索结果填满或搜索到达数据库的末尾,存储器系统108就可将响应(例如感测数据)414发出到主机130以指示搜索已完成或响应于搜索请求搜索结果缓冲区已满。如果存在且如果搜索已完成或缓冲区确实已满且需要被读取以清空缓冲区,此响应(例如感测数据)414就可指示从搜索找到结果的数目。
存储器系统108可使用实际搜索结果416(例如感测数据)来跟进响应414,假定具有非零个搜索结果。主机130可使用命令418(例如SCSI读取命令)来确认搜索结果的正确接收。
存储器系统108可让与与搜索相关联的缓冲区。可通过来自存储器系统108的响应(例如感测数据)420向主机108指示此情况。
在图4A及4B中所说明的协议流程图期间,存储器系统108仍可继续正常操作。因此,存储器系统108仍可对来自主机130的正常读取命令及写入命令作出响应。
图5说明用于自主存储器搜索的方法的实施例的功能框图。可由存储器系统108的控制器201执行此功能框图的执行。
可从主机通过存储器总线(例如序列先进技术附接(SATA))而接收命令(例如搜索请求、读取)。可由剖析块501检查所接收的命令以确定命令的类型。
如果所接收的命令是搜索请求(例如图4的SCSI写入命令401),其就可在请求先进先出(FIFO)缓冲区503中排入队列以供搜索处理线程512使用。缓冲区503可存储搜索关键字及搜索准则。如果所接收的命令被剖析块501确定为两个随后命令(例如图4的SCSI读取403、407)中的一者,这些命令的指示就可存储于两个未处理请求缓冲区505、506中的一者中。
连续缓冲区505可存储第二命令(例如图4中的SCSI读取403)的指示,所述指示请求存储器系统一旦缓冲区已满或搜索已完成就作出响应。此缓冲区505耦合到发送响应信息块507,使得当响应信息FIFO508含有指示搜索完成(例如,响应FIFO510、511已满,整个数据库已被搜索)的数据时,发送响应信息块507可封装返回到主机的信息响应(例如图4中的响应405)以指示缓冲区已满或整体数据库已被搜索。
获得响应缓冲区506可存储第三命令(例如图4中的SCSI读取407)的指示,所述指示请求来自存储器系统的搜索结果。此缓冲区508耦合到发送响应块509,使得当从主机接收第二命令(例如图4中的SCSI读取407)时,发送响应块509可封装存储于响应FIFO缓冲区510、511中的搜索结果且通过存储器总线将数据发送到主机。一旦这些缓冲区510、511已空,指示就可存储于响应缓冲区自由列表513中以对搜索处理线程512指示:如果搜索仍在继续,则线程512可继续填充缓冲区510、511。
搜索处理线程512各自包括如从主机接收的单独搜索。可通过使用多个不同搜索处理线程512而实质上同时(例如实质上并行、部分或完全重叠)执行多个单独搜索。
当从主机接收到起始命令(例如图4中的SCSI写入401)时,可将搜索准则及搜索关键字转发到搜索处理线程512中的一者。接着,所述特定搜索处理线程512可存取数据库记录表(例如图3)以根据搜索准则而比较搜索关键字与所存储的记录。每一搜索处理线程512可执行具有不同搜索准则及搜索关键字的单独搜索。
一旦搜索处理线程512中的一者已用来自搜索的结果填满缓冲区510、511或已搜索整个数据库(例如,搜索已完成),对何物完成的指示就可存储于响应信息FIFO508中。此指示可包含对所述指示所涉及的特定搜索的参考以及与是否缓冲区510、511确实已满或搜索已完成相关的信息。接着,此指示可由发送响应信息块507封装且被发送到主机,如先前所论述。
图5的功能块可为存储器系统108的部分且由存储器系统中的控制器201执行。功能块可为硬件模块与软件/固件模块的组合。因此,多个搜索处理线程512不仅实现多个并行搜索,且可由存储器系统108执行完成这些搜索的处理,此可减少主机130的工作负荷。
图6A说明用于自主存储器搜索的方法的实施例的流程图。主机可将命令(例如SCSI写入命令、搜索请求)传输到存储器系统以起始搜索601。此命令可包含与搜索关键字及搜索准则相关的指示。主机可从存储器系统接收搜索请求已被接收的确认603。
接着,主机可将命令(例如SCSI读取命令)发送到存储器系统以对存储器系统指示:主机已准备接收来自搜索请求的任何结果605。可从存储器系统接收可指示搜索已完成(例如,整个数据库已被搜索)或搜索结果缓冲区已满的响应607。
接着,主机可将命令(例如SCSI读取命令)发送到存储器系统以检索存储器系统可使用搜索结果来作出响应的这些搜索结果609。如果存储器系统已指示搜索未完成611,从主机指示其准备接收搜索结果605的点重复方法。如果搜索已完成,则方法完成615。
图6B说明用于自主存储器搜索的方法的另一实施例的流程图。在任选的步骤中,可在搜索请求之前配置存储器。举例来说,可设置转移大小配置(例如,在发回到请求器/起始器之前的全部响应的大小),可设定最大/最小记录及页面大小(例如,所存储的数据结构的大小及存储器页面的大小,可设定每物理页面的记录数,可设定多个区域的驱动的划分、一些支持的常规读取及写入及其它支持的数据-结构感知操作,可设定压缩的存在(例如启用/停用、所使用的算法),及/或可设定加密的存在(例如启用/停用、所使用的算法)。
主机可将命令(例如SCSI写入命令、搜索请求)传输到存储器系统以起始搜索620。此命令可包含与搜索关键字及搜索准则相关的指示。主机可从存储器系统接收搜索请求已被接收的确认622。
存储器系统可将指示搜索已完成或搜索响应缓冲区已满的响应发出到主机624。存储器系统可使用实际搜索结果来跟进此响应626。接着,主机可确认结果的接收且确认结果被正确接收628。接着,存储器系统可让与与搜索相关联的搜索结果缓冲区630。
在另一实施例中,存储器系统传输及主机接收搜索结果存在的指示的步骤(例如607及624)可与传输实际结果的步骤(例如609及626)组合。
虽然已从主机的观点说明图6A及6B的实施例,但所属领域的技术人员应了解,这些实施例也说明由存储器系统执行的过程。换句话来说,当主机从存储器系统接收响应时,所属领域的技术人员应了解,存储器系统已传输所述响应。
实施例可实施于包含图2的存储器203的硬件、固件及/或软件中的一者或组合中。实施例也可实施为存储于计算机可读存储装置上的指令,可由至少一个处理器读取及执行所述指令以执行本文所描述的操作。计算机可读存储装置可包含用于存储呈可由机器(例如计算机)可读的形式的信息的任何非暂时性机构。举例来说,计算机可读存储装置可包含只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储媒体、光学存储媒体、快闪存储器装置及其它存储装置及媒体。在一些实施例中,系统可包含一或多个处理器且可配置有存储于计算机可读存储装置中的指令。
存储器系统108的控制器201可辨识正被搜索的数据结构格式(例如图3A及3B中所揭示)。为使控制器201辨识数据结构,软件/固件210已被写入及/或被升级成包含与所述数据结构相关联的属性。接着,控制器可剖析数据结构的个别字段且因此执行涉及所述特定数据结构的操作。举例来说,特定数据结构可能先前已被使用或与所述数据结构有关的信息可能在实际使用所述特定数据结构之前已预先存储于由控制器201执行的软件/固件中。此信息可以数据库表、数据库模式、二元树格式、图形结构或将数据结构格式通知存储器系统的某一其它方式来包含字段描述。所有此信息可为控制器的固件/软件的部分(或更新到控制器的固件/软件),使得当在存储器系统中使用特定数据库格式时,控制器201知道预期会发生什么。
作为其中控制器201可辨识数据结构格式的此操作的实例,用户可指示存储器系统108搜索位于地址0处的数据库中的列表。存储器系统的控制器可看到地址0且找到所述列表的适当格式。控制器的固件(或经由固件升级而发送)包括允许控制器辨识所存储数据结构的格式的所存储例程。如果假定控制器在所述处找到所述列表的第一元素,则控制器现在辨识出所述列表的结构(而非仅将其视为一般数据),其可看到具有一定意义的不同数据字段(例如指向下一列表节点的指针及所存储的数据)且使所述不同数据字段相关联。由于所述列表被搜索,所以软件/固件可指示控制器剖析针对下一列表节点的指针,跟随所述指针,且开始以相同方式处理下一列表节点。
存储器系统108的控制器201可理解如何为尚未由存储器系统使用的新数据结构的存储分配空间。举例来说,控制器可管理存储器阵列中的存储区且给传入命令分配所述存储区的任何部分。
存储器系统108的控制器201可理解及接受变更数据库的状态的命令(例如来自主机130)。换句话来说,控制器201可经配置以建立数据库、在所述数据库内建立表、插入记录、删除记录、删除表或删除所述数据库。在由主机130请求关于特定数据集的索引的情况下,控制器201也可变更所述数据库的所述状态。
存储器系统108的控制器201可控制存储器系统108,使得第一存储器系统可充当到另一数据库启用存储器系统的客户端。举例来说,如果存储器系统是SSD,则具有数据库的一个SSD可为到另一SSD的客户端且对来自具有数据库的另一SSD的命令作出响应。此可使一个存储器系统具备也搜索具有相同搜索准则及搜索关键字的其它存储器系统的能力。
图7说明此系统的一个实例。主机130可耦合到多个存储器系统(例如SSD)108、701、702且与所述多个存储器系统通信,其中存储器系统108、701、702中的每一者实质上类似。存储器系统108、701、702不仅可与主机130通信,且可在其之间通信,使得一个存储器系统701可为到另一存储器系统108的客户端。
存储器系统108的控制器201也可具有取决于由控制器执行的固件/软件210的额外功能。由于控制器201并不仅受限于某些功能,所以这些功能仅出于说明的目的。
举例来说,控制器201可具有可靠地接收及控制固件/软件210的更新的能力。此可用于更新控制器201的能力。控制器201可建立新数据结构以存储搜索结果、建立由多个输入数据结构所致的新数据结构(例如MySQLTM式运算,例如接合、结合及其它数据操纵操作)、基于数据结构中的共同字段的比较而建立新数据结构(例如,基于多条记录中的特定列中的等效数据的比较的MySQLTM式接合)、基于其它记录的聚合函数而将值指派给记录中的字段(例如MySQLTM式运算,例如计数、求和、求平均值、求标准偏差及条件求和)。
控制器201可进一步具有将冗余添加到数据库的记录以能够检测错误(例如错误校正码(ECC))的能力。举例来说,控制器201可在将数据存储于存储器中使得ECC存储于所述数据库内时控制ECC的添加,或控制器201可在将搜索结果传输到主机之前控制将ECC添加到搜索结果。控制器201也可复制记录,使得可在当前记录中检测到错误时检查额外记录。
控制器201可进一步具有在数据库的一或多个字段中建立索引以改进搜索性能的能力。举例来说,控制器201可控制每一记录的特定字段中的旗标的存储,使得后一搜索可仅寻找所述旗标以确定所述特定记录是否符合搜索关键字及搜索准则。
控制器201可进一步具有控制存储器系统的高速缓冲存储器中的搜索结果的存储的能力。此高速缓冲存储器可为搜索结果数据缓冲区或为出于其它目的在存储器系统中使用的另一高速缓冲存储器。
控制器201可进一步具有在已接收到搜索结果已被正确接收的指示(例如写入命令)时控制存储器及/或搜索结果数据缓冲区的清除的能力。控制器201可进一步控制用于存储搜索结果的存储器位置(例如缓存、数据缓冲区、存储器)的解除分配。
设备可被界定为电路、集成电路裸片、存储器装置、存储器阵列或系统。
结论
用于自主存储器搜索的设备及方法的一或多个实施例可对存储器系统(例如SSD)的数据库中的结构化或非结构化数据集执行搜索。可在无来自外部主机的干扰的情况下在所述存储器系统内完全执行所述搜索。可使一或多个搜索请求在所述存储器系统中排入队列。可实质上并行地处理多个搜索。在具有多个存储器系统(例如多个SSD)的系统中,可使每存储器系统的多个搜索排入队列。数据集可驻留在单一存储器系统中或跨越多个存储器系统且由单一搜索来搜索整个数据集。
虽然本文已说明及描述特定实施例,但所属领域的技术人员应了解,意在实现相同目的的任何布置可代替所展示的所述特定实施例。所属领域的技术人员将明白许多调适。因此,本申请案希望涵盖任何调适或变体。

Claims (47)

1.一种方法,其包括:
将搜索请求发出到存储器;及
从所述存储器接收对所述搜索请求作出响应的搜索已完成或搜索结果已找到的指示;及
当已找到所述搜索结果时,响应于所述指示而从所述存储器检索所述搜索结果。
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.根据权利要求23所述的方法,其中建立所述第二数据结构包括:基于存在于所述第一数据结构及所述第二数据结构两者中的特定字段而建立所述第二数据结构。
25.根据权利要求18所述的方法,且其进一步包括:响应于所述搜索结果中的其它记录的聚合函数而将值指派给记录中的字段。
26.一种非暂时性计算机可读存储媒体,其存储由存储器系统的处理电路执行以执行数据库搜索的指令,执行所述搜索的操作:
使用于所述数据库的搜索的多个搜索请求排入队列;
产生多个搜索,针对所述多个所接收的搜索请求中的每一者产生相应搜索;
实质上并行地执行所述多个搜索;及
针对每一相应搜索传输所述相应搜索已完全搜索所述数据库或已产生搜索结果的指示。
27.根据权利要求26所述的非暂时性计算机可读存储媒体,其中执行所述搜索的所述操作响应于指示主机准备接收所述搜索结果的命令的接收而进一步传输针对每一相应搜索的所述指示。
28.根据权利要求27所述的非暂时性计算机可读存储媒体,其中执行所述搜索的所述操作响应于指示所述搜索结果的读取的命令而进一步传输所述搜索结果。
29.根据权利要求28所述的非暂时性计算机可读存储媒体,其中执行所述搜索的所述操作将所述搜索结果进一步存储于存储器系统中的缓冲区中,直到接收指示所述搜索结果的所述读取的所述命令。
30.一种存储器系统,其包括:
存储器,其经配置以存储数据库;及
控制器,其耦合到所述存储器,所述控制器经配置以控制:接收搜索请求;响应于所述搜索请求而产生所述数据库的搜索;与其它搜索请求实质上并行地执行所述数据库的所述搜索;针对每一搜索而传输指示所述相应搜索已完成或已产生搜索结果的相应指示。
31.根据权利要求30所述的存储器系统,其中所述控制器进一步经配置以控制:
响应于从主机接收请求所述搜索结果的命令而将包括所述搜索结果的数据缓冲区传输到所述主机;及
在传输所述搜索结果之后,设定所述数据缓冲区已空的指示。
32.根据权利要求30所述的存储器系统,其中所述数据库包括非结构化数据集。
33.根据权利要求30所述的存储器系统,其中所述数据库包括结构化数据集。
34.根据权利要求30所述的存储器系统,其中所述存储器系统包括固态驱动器且所述存储器包括非易失性存储器。
35.根据权利要求30所述的存储器系统,其中所述数据库包括存储于多个存储器系统中的数据集,且所述控制器进一步经配置以控制横跨所述多个存储器系统而执行所述数据库的所述搜索。
36.根据权利要求30所述的存储器系统,其中所述控制器进一步经配置以将错误校正冗余添加到所述搜索结果。
37.根据权利要求30所述的存储器系统,其中所述控制器进一步经配置以控制搜索结果的重复。
38.根据权利要求30所述的存储器系统,其中所述控制器进一步经配置以在所述搜索结果的一或多条记录的字段中建立索引。
39.根据权利要求30所述的存储器系统,其中所述控制器进一步经配置以高速缓冲存储所述搜索结果。
40.根据权利要求30所述的存储器系统,其中所述控制器进一步经配置以:
接收指示所述搜索结果已被接收的命令;及
响应于指示所述搜索结果已被接收的所述命令而清除与所述搜索结果相关联的存储器。
41.根据权利要求30所述的存储器系统,其中所述控制器进一步经配置以对与所述搜索结果相关联的存储器位置解除分配。
42.根据权利要求30所述的存储器系统,其中所述控制器进一步经配置以在所述数据缓冲区已空时对所述数据缓冲区解除分配。
43.根据权利要求30所述的存储器系统,其中所述控制器进一步经配置以存储与数据结构格式有关的信息。
44.根据权利要求43所述的存储器系统,其中所述信息包括字段描述、数据库模式、二元树信息或图形结构。
45.根据权利要求30所述的存储器系统,其中所述控制器进一步经配置以给数据结构的存储分配空间。
46.根据权利要求30所述的存储器系统,其中所述控制器进一步经配置以执行以下各操作中的一或多者:变更所述数据库的状态;建立所述数据库;在所述数据库内建立表;将第一记录插入所述数据库中;删除所述数据库中的第二记录;删除所述数据库中的表;及/或删除所述数据库。
47.一种系统,其包括:
多个存储器系统,每一存储器系统包括:
存储器,其经配置以存储数据库;及
控制器,其耦合到所述存储器,所述控制器经配置以控制:接收搜索请求;响应于所述搜索请求而产生所述数据库的搜索;与其它搜索请求实质上并行地执行所述数据库的所述搜索;针对每一搜索传输指示所述相应搜索已完成或已产生搜索结果的相应指示;
其中所述多个存储器系统耦合在一起,使得第一存储器系统是到第二存储器系统的客户端,使得所述搜索请求是在所述第一存储器系统及所述第二存储器系统两者内而执行。
CN201480055911.2A 2013-08-13 2014-08-12 用于自主存储器搜索的方法及系统 Active CN105612518B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911328989.8A CN111221848A (zh) 2013-08-13 2014-08-12 自主存储器搜索方法、装置可读存储媒体和存储器装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/965,739 2013-08-13
US13/965,739 US9779138B2 (en) 2013-08-13 2013-08-13 Methods and systems for autonomous memory searching
PCT/US2014/050624 WO2015023625A1 (en) 2013-08-13 2014-08-12 Methods and systems for autonomous memory searching

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201911328989.8A Division CN111221848A (zh) 2013-08-13 2014-08-12 自主存储器搜索方法、装置可读存储媒体和存储器装置

Publications (2)

Publication Number Publication Date
CN105612518A true CN105612518A (zh) 2016-05-25
CN105612518B CN105612518B (zh) 2020-01-14

Family

ID=52467568

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201480055911.2A Active CN105612518B (zh) 2013-08-13 2014-08-12 用于自主存储器搜索的方法及系统
CN201911328989.8A Withdrawn CN111221848A (zh) 2013-08-13 2014-08-12 自主存储器搜索方法、装置可读存储媒体和存储器装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201911328989.8A Withdrawn CN111221848A (zh) 2013-08-13 2014-08-12 自主存储器搜索方法、装置可读存储媒体和存储器装置

Country Status (7)

Country Link
US (2) US9779138B2 (zh)
EP (1) EP3033701B1 (zh)
JP (1) JP6211196B2 (zh)
KR (2) KR101868850B1 (zh)
CN (2) CN105612518B (zh)
TW (2) TWI610187B (zh)
WO (1) WO2015023625A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9779057B2 (en) 2009-09-11 2017-10-03 Micron Technology, Inc. Autonomous memory architecture
CN109426446A (zh) * 2017-08-29 2019-03-05 爱思开海力士有限公司 存储器系统及其操作方法
CN110765156A (zh) * 2018-07-09 2020-02-07 慧荣科技股份有限公司 链表搜索装置及方法
US10778815B2 (en) 2013-12-02 2020-09-15 Micron Technology, Inc. Methods and systems for parsing and executing instructions to retrieve data using autonomous memory

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10380022B2 (en) 2011-07-28 2019-08-13 Netlist, Inc. Hybrid memory module and system and method of operating the same
US10838646B2 (en) * 2011-07-28 2020-11-17 Netlist, Inc. Method and apparatus for presearching stored data
US10198350B2 (en) 2011-07-28 2019-02-05 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US9779138B2 (en) 2013-08-13 2017-10-03 Micron Technology, Inc. Methods and systems for autonomous memory searching
US10248328B2 (en) 2013-11-07 2019-04-02 Netlist, Inc. Direct data move between DRAM and storage on a memory module
CN105934747B (zh) 2013-11-07 2020-03-06 奈特力斯股份有限公司 混合内存模块以及操作混合内存模块的系统和方法
US11182284B2 (en) 2013-11-07 2021-11-23 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US9633074B1 (en) * 2014-01-03 2017-04-25 Amazon Technologies, Inc. Querying data set tables in a non-transactional database
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
CN105988704B (zh) * 2015-03-03 2020-10-02 上海触乐信息科技有限公司 高效的触摸屏文本输入系统及方法
US9927984B2 (en) * 2015-10-14 2018-03-27 Samsung Electronics Co., Ltd. Electronic system with interface control mechanism and method of operation thereof
TWI664527B (zh) * 2018-03-20 2019-07-01 慧榮科技股份有限公司 用來於一記憶裝置中進行初始化之方法、記憶裝置及其控制器以及電子裝置
US10990323B2 (en) * 2019-05-28 2021-04-27 Silicon Motion, Inc. Flash memory controller, memory device and method for accessing flash memory module

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0482741A2 (en) * 1990-10-24 1992-04-29 International Computers Limited Database search processor
CN1601526A (zh) * 2003-09-23 2005-03-30 国际商业机器公司 用于在计算机网络内搜索的方法和设备
US20080005116A1 (en) * 2006-06-30 2008-01-03 Brother Kogyo Kabushiki Kaisha Communication system for performing authentication process of peripheral device
US20120203761A1 (en) * 2011-02-08 2012-08-09 International Business Machines Corporation Pattern matching accelerator
CN103154943A (zh) * 2010-07-27 2013-06-12 甲骨文国际公司 新数据和更新的数据的基于企业的搜索

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5134711A (en) 1988-05-13 1992-07-28 At&T Bell Laboratories Computer with intelligent memory system
GB8816413D0 (en) 1988-07-09 1988-08-17 Int Computers Ltd Data processing system
US5671430A (en) 1993-06-30 1997-09-23 Gunzinger; Anton Parallel data processing system with communication apparatus control
CA2145106C (en) 1994-04-22 1999-08-24 Abhaya Asthana Intelligent memory-based input/output system
JP3289101B2 (ja) * 1996-01-25 2002-06-04 東京エレクトロン株式会社 フラッシュ・ディスク・システムの初期化方法及び装置
KR100359414B1 (ko) * 1996-01-25 2003-01-24 동경 엘렉트론 디바이스 주식회사 데이타독출/기록방법및그를이용한메모리제어장치및시스템
US5913217A (en) * 1997-06-30 1999-06-15 Microsoft Corporation Generating and compressing universally unique identifiers (UUIDs) using counter having high-order bit to low-order bit
US6105130A (en) 1997-12-23 2000-08-15 Adaptec, Inc. Method for selectively booting from a desired peripheral device
US6751606B1 (en) * 1998-12-23 2004-06-15 Microsoft Corporation System for enhancing a query interface
KR20030007447A (ko) 2000-03-03 2003-01-23 테너 네트워크스, 인크. 내부 프로세서 메모리 공간을 이용한 고속 데이터 처리
US6516380B2 (en) * 2001-02-05 2003-02-04 International Business Machines Corporation System and method for a log-based non-volatile write cache in a storage controller
US7581080B2 (en) 2003-04-23 2009-08-25 Micron Technology, Inc. Method for manipulating data in a group of processing elements according to locally maintained counts
US7243200B2 (en) 2004-07-15 2007-07-10 International Business Machines Corporation Establishing command order in an out of order DMA command queue
US7242216B1 (en) 2004-11-08 2007-07-10 Herman Schmit Embedding memory between tile arrangement of a configurable IC
US7634622B1 (en) 2005-06-14 2009-12-15 Consentry Networks, Inc. Packet processor that generates packet-start offsets to immediately store incoming streamed packets using parallel, staggered round-robin arbitration to interleaved banks of memory
US20070165457A1 (en) 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system
DE102006009027A1 (de) 2006-02-27 2007-08-30 Infineon Technologies Ag Speicheranordnung
TW200743991A (en) * 2006-05-18 2007-12-01 Realtek Semiconductor Corp Data search method and apparatus thereof
US7657705B2 (en) * 2006-09-27 2010-02-02 Lsi Corporation Method and apparatus of a RAID configuration module
US8285707B2 (en) * 2006-11-08 2012-10-09 International Business Machines Corporation Method of querying relational database management systems
US7895151B2 (en) 2008-06-23 2011-02-22 Teradata Us, Inc. Fast bulk loading and incremental loading of data into a database
US7623365B2 (en) 2007-08-29 2009-11-24 Micron Technology, Inc. Memory device interface methods, apparatus, and systems
US7913033B2 (en) 2007-10-09 2011-03-22 Micron Technology, Inc. Non-volatile memory device having assignable network identification
TWI346289B (en) 2007-12-19 2011-08-01 Ralink Technology Corp Peripheral complying with sdio standard and method for managing sdio command
US8493979B2 (en) 2008-12-30 2013-07-23 Intel Corporation Single instruction processing of network packets
US8549092B2 (en) 2009-02-19 2013-10-01 Micron Technology, Inc. Memory network methods, apparatus, and systems
TWI406130B (zh) * 2009-03-10 2013-08-21 Phison Electronics Corp 資料處理系統、控制器及其搜尋特定記憶體區的方法
US8427952B1 (en) 2009-03-24 2013-04-23 Packet Plus, Inc. Microcode engine for packet processing
US9779057B2 (en) 2009-09-11 2017-10-03 Micron Technology, Inc. Autonomous memory architecture
US10803066B2 (en) 2010-06-29 2020-10-13 Teradata Us, Inc. Methods and systems for hardware acceleration of database operations and queries for a versioned database based on multiple hardware accelerators
US8930618B2 (en) 2010-08-24 2015-01-06 Futurewei Technologies, Inc. Smart memory
US10026458B2 (en) 2010-10-21 2018-07-17 Micron Technology, Inc. Memories and methods for performing vector atomic memory operations with mask control and variable data length and data unit size
JP2012159903A (ja) * 2011-01-31 2012-08-23 Fujitsu Semiconductor Ltd データ処理システム、データ処理装置、及びデータ処理方法
KR101306622B1 (ko) 2011-06-22 2013-09-11 주식회사 에이디칩스 명령어 큐 제어장치
JP2013045378A (ja) 2011-08-26 2013-03-04 Fujitsu Ltd ストレージ制御方法、情報処理装置およびプログラム
US8775685B1 (en) 2011-10-13 2014-07-08 Xilinx, Inc. Parallel processing of network packets
US20130173655A1 (en) * 2012-01-04 2013-07-04 International Business Machines Corporation Selective fetching of search results
US9424202B2 (en) * 2012-11-19 2016-08-23 Smartfocus Holdings Limited Database search facility
US10089043B2 (en) 2013-03-15 2018-10-02 Micron Technology, Inc. Apparatus and methods for a distributed memory system including memory nodes
US9779138B2 (en) 2013-08-13 2017-10-03 Micron Technology, Inc. Methods and systems for autonomous memory searching
US10003675B2 (en) 2013-12-02 2018-06-19 Micron Technology, Inc. Packet processor receiving packets containing instructions, data, and starting location and generating packets containing instructions and data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0482741A2 (en) * 1990-10-24 1992-04-29 International Computers Limited Database search processor
CN1601526A (zh) * 2003-09-23 2005-03-30 国际商业机器公司 用于在计算机网络内搜索的方法和设备
US20080005116A1 (en) * 2006-06-30 2008-01-03 Brother Kogyo Kabushiki Kaisha Communication system for performing authentication process of peripheral device
CN103154943A (zh) * 2010-07-27 2013-06-12 甲骨文国际公司 新数据和更新的数据的基于企业的搜索
US20120203761A1 (en) * 2011-02-08 2012-08-09 International Business Machines Corporation Pattern matching accelerator

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9779057B2 (en) 2009-09-11 2017-10-03 Micron Technology, Inc. Autonomous memory architecture
US10769097B2 (en) 2009-09-11 2020-09-08 Micron Technologies, Inc. Autonomous memory architecture
US11586577B2 (en) 2009-09-11 2023-02-21 Micron Technology, Inc. Autonomous memory architecture
US10778815B2 (en) 2013-12-02 2020-09-15 Micron Technology, Inc. Methods and systems for parsing and executing instructions to retrieve data using autonomous memory
CN109426446A (zh) * 2017-08-29 2019-03-05 爱思开海力士有限公司 存储器系统及其操作方法
CN110765156A (zh) * 2018-07-09 2020-02-07 慧荣科技股份有限公司 链表搜索装置及方法

Also Published As

Publication number Publication date
TWI664541B (zh) 2019-07-01
KR20160042122A (ko) 2016-04-18
US20170351737A1 (en) 2017-12-07
EP3033701A4 (en) 2017-04-05
JP6211196B2 (ja) 2017-10-11
CN105612518B (zh) 2020-01-14
TWI610187B (zh) 2018-01-01
CN111221848A (zh) 2020-06-02
WO2015023625A1 (en) 2015-02-19
EP3033701B1 (en) 2020-05-27
TW201518968A (zh) 2015-05-16
KR20180067729A (ko) 2018-06-20
KR101868850B1 (ko) 2018-06-19
KR101927677B1 (ko) 2018-12-10
US20150052114A1 (en) 2015-02-19
JP2016536694A (ja) 2016-11-24
TW201810088A (zh) 2018-03-16
US9779138B2 (en) 2017-10-03
EP3033701A1 (en) 2016-06-22

Similar Documents

Publication Publication Date Title
CN105612518A (zh) 用于自主存储器搜索的方法及系统
US10540323B2 (en) Managing I/O operations in a storage network
CN106407040B (zh) 一种远程数据复制方法及系统
US9846642B2 (en) Efficient key collision handling
US7647449B1 (en) Method, system, and computer readable medium for maintaining the order of write-commands issued to a data storage
CN110083552A (zh) 存储数据的减少冗余
CN103152395A (zh) 一种分布式文件系统的存储方法及装置
EP3206128A1 (en) Data storage method, data storage apparatus, and storage device
CN103827843A (zh) 一种写数据方法、装置和系统
CN104765575A (zh) 信息存储处理方法
KR102316271B1 (ko) 데이터 저장장치의 주소 맵핑 테이블 운용 방법
CN105138281B (zh) 一种物理磁盘的共享方法及装置
CN107741947B (zh) 基于hdfs文件系统的随机数密钥的存储与获取方法
CN104765574A (zh) 数据云端存储方法
CN110147203B (zh) 一种文件管理方法、装置、电子设备及存储介质
CN111309245B (zh) 一种分层存储写入方法和装置、读取方法和装置及系统
US20180052632A1 (en) Storage system and storage control method
CN103778120A (zh) 全局文件标识生成方法、生成装置及相应的分布式文件系统
JP6034512B2 (ja) 計算機システム及びデータ管理方法
CN111435286B (zh) 一种数据存储方法、装置和系统
US9483200B2 (en) System and method for optical cold storage wherein plurality of first and second chunks are encoded and placed on different optical disks
CN105068896A (zh) 基于raid备份的数据处理方法及装置
US10678701B2 (en) Direct read control in a data storage system
CN111367712A (zh) 一种数据处理方法及装置
JP2018163572A (ja) ストレージシステム、および通信方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant