用于机器学习的增强型存储设备存储架构

文档序号:1126536 发布日期:2020-10-02 浏览:7次 >En<

阅读说明:本技术 用于机器学习的增强型存储设备存储架构 (Enhanced storage device storage architecture for machine learning ) 是由 L·M·弗朗卡-内托 V·杜贝科 于 2019-12-03 设计创作,主要内容包括:本发明题为“用于机器学习的增强型存储设备存储架构”。公开了用于使用机器学习来处理数据的存储设备架构的实施方案。在一些实施方案中,存储设备包括独立的I/O内核和神经网络内核。存储设备可创建存储数据的数据流的副本,并且神经网络内核可处理神经网络中的数据流的副本,而I/O内核可对数据流执行读取或写入功能。(The invention provides an enhanced storage device storage architecture for machine learning. Embodiments of a storage device architecture for processing data using machine learning are disclosed. In some embodiments, the storage device includes separate I/O cores and a neural network core. The storage device may create a copy of the data stream that stores the data, and the neural network core may process the copy of the data stream in the neural network, while the I/O core may perform read or write functions on the data stream.)

用于机器学习的增强型存储设备存储架构

以引用任何优先权申请的方式并入

根据37 CFR 1.57,在与本专利申请一同提交的申请数据表中被识别的国外或国内优先权的任何和所有申请均据此以引用方式并入本文。

技术领域

本公开涉及存储设备架构,并且更具体地,涉及通过机器学习在存储设备内部进行的数据处理。

背景技术

现代计算系统经常利用机器学习技术,诸如神经网络。这些技术可以在大型数据集上运行,因此可能需要大量存储空间。但是,当前的存储架构不允许大数据分析的可扩展性。本公开解决了这些和其他问题。

具体实施方式

虽然描述了某些实施方案,但是这些实施方案仅作为示例呈现,并且不旨在限制保护范围。实际上,本文描述的新颖方法和系统可以各种其他形式体现。此外,在不脱离保护范围的情况下,可以对本文描述的方法和系统的形式进行各种省略、替换和改变。

本公开的各种实施方案提供了被配置为执行神经网络计算的数据存储设备,该设备包括:非易失性存储器,所述非易失性存储器包括被配置为存储由主机系统提供的数据的第一存储区域和被配置为存储与神经网络计算相关的数据的第二存储区域;控制器,所述控制器被配置为:响应于从所述主机系统接收的至少一个数据传输命令来将数据存储在所述第一存储区域中并从所述第一存储区域检索数据;以及在所述第二存储区域中执行神经网络计算。

在前述段落或本文的任何段落的数据存储设备中,所述第二存储区域可被配置为存储多个存储流,每个流包括所述非易失性存储器的一组连续物理存储器存储单元,并且所述控制器可被进一步配置为对所述多个存储流执行神经网络计算。

在前述段落或本文的任何段落的数据存储设备中,所述控制器可被进一步配置为通过公共标识符来识别所述多个存储流中的每个存储流。

在前述段落或本文的任何段落的数据存储设备中,多个存储流可包括第一存储流和第二存储流。

在前述段落或本文的任何段落的数据存储设备中,所述控制器可被进一步配置为存储用于所述多个存储流中的至少一个存储流中的神经网络计算的输入数据。

在前述段落或本文的任何段落的数据存储设备中,所述多个存储流可包括至少一个输入存储流和至少一个输出存储流,并且其中所述控制器可被进一步配置为对存储在所述至少一个输入存储流中的数据执行神经网络计算,并且将所述神经网络计算的结果存储在所述至少一个输出存储流中。

在前述段落或本文的任何段落的数据存储设备中,所述控制器可被进一步配置为从所述至少一个输出存储流接收所述神经网络计算的所述结果并将所述结果提供给所述主机系统。

在前述段落或本文的任何段落的数据存储设备中,控制器可包括被配置为基本上同时处理多个存储流的多个处理器内核。

在前述段落或本文的任何段落的数据存储设备中,控制器可包括I/O内核,并且该设备还可包括神经网络内核的另一个控制器。I/O内核可以负责对数据执行I/O操作,而神经网络内核可以单独负责执行神经网络计算。

本公开的各种实施方案提供一种用于在数据存储设备内执行神经网络计算的方法,所述方法包括由所述数据存储设备的控制器:从主机系统接收对存储在所述数据存储设备的非易失性存储器的存储区域中的数据执行分析的第一请求;锁定所述非易失性存储器的所述存储区域;复制所述非易失性存储器的所述存储区域;解锁所述非易失性存储器的所述存储区域;以及通过对所复制的数据应用神经网络来启动对所述数据的处理。

在前述段落或本文的任何段落的方法中,神经网络可包括收缩流引擎。

在前述段落或本文的任何段落的方法中,神经网络参数可被存储在所述非易失性存储器中,并且经由所述神经网络的所述数据的所述处理可在所述数据存储设备内进行。

前述段落或本文的任何段落的方法还可包括由处理器:从主机系统接收对存储在非易失性存储器的存储区域中的数据执行操作的第二请求;以及响应于确定所述存储区域被锁定来将所述第二请求存储在日志中,直到所述存储区域变为解锁。

在前述段落或本文的任何段落的方法中,该操作可包括写入操作。

前述段落或本文的任何段落的方法还可包括由处理器:响应于确定经由所述神经网络的所述数据的所述处理已完成来删除所述存储区域的所述副本。

本公开的各种实施方案提供了被配置为执行神经网络计算的数据存储设备,该设备包括:非易失性存储器,所述非易失性存储器包括被配置为存储由主机系统提供的数据的第一存储区域和被配置为存储与神经网络计算相关的数据的第二存储区域;第一控制器,所述第一控制器被配置为:从所述主机系统接收对存储在所述第一存储区域中的数据执行分析的第一请求;设定所述第一存储区域的锁定状态;将存储在所述第一存储区域中的所述数据复制到所述第二存储区域中;设定所述第一存储区域的解锁状态;以及对存储在所述第二存储区域中的所述数据的所述副本执行神经网络计算;和第二控制器,所述第二控制器被配置为:从所述主机系统接收对存储在所述第一存储区域中的数据执行操作的第二请求;响应于确定所述第一存储区域处于解锁状态来执行所述操作;以及响应于确定所述第一存储区域处于锁定状态来将所述第二请求存储在日志中;以及对存储在所述第二存储区域中的所述数据的所述副本执行神经网络计算。

在前述段落或本文的任何段落的数据存储设备中,日志可防止写入第一存储部分。

在前述段落或本文的任何段落的数据存储设备中,第一控制器可被进一步配置为:在所述第一存储区域处于锁定状态时,接收对存储在所述第一存储区域中的数据执行分析的第二请求,并且将存储在所述第一存储区域中的所述数据复制到第三存储区域中,而不等待所述第一存储区域处于解锁状态。

在前述段落或本文的任何段落的数据存储设备中,所述第一控制器可被进一步配置为从输出存储流检索所述神经网络计算的所述结果,并且将所述结果提供给所述主机系统,所述输出存储流包括所述非易失性存储器的所述第二存储部分的一组连续物理存储器存储单元。

在前述段落或本文的任何段落的数据存储设备中,控制器可包括被配置为基本上同时处理多个存储流的多个处理内核。

概述

传统的存储器架构,诸如在非易失性存储器(NVM)、磁随机存取存储器(MRAM)、电阻随机存取存储器(ReRAM)、纳米随机存取存储器(NRAM)等中存在的架构,可具有低延迟特性,从而提供显著提高计算机系统性能的机会。然而,这些传统的存储器架构无法有效利用非易失性存储器。传统的存储器架构存在严重缺陷,特别是如果某些数据未预访存到页面缓存中,那么在处理某些数据时,持久数据将从持久存储装置传输到动态随机存取存储器(DRAM)。

图1A和图1B是在DRAM和持久存储装置之间传输的持久数据的示例100和150。主机102可包括CPU 104和DRAM 106。对于每个必须处理的数据,DRAM 106的接口电路与持久存储装置诸如固态驱动器(SSD)108A或混合SSD 108B的接口电路通信。SSD 108A可包括NAND闪存存储器110A。混合SSD 108B可包括NAND闪存存储器110A和非易失性存储器(NVM)110B。

图2是通过人工智能模型来分析数据的示例200。在步骤202中,主机可请求对数据的分析。数据可输入到人工智能模型204中,数据206可经由人工智能模型进行处理,并且输出数据208。然后,用户210可接收输出的数据。在现有技术中,存储器设备通常等待接收输出数据并且可能浪费时间212和本来可用于执行其他操作的资源。

此外,当前存储器芯片架构不允许大数据分析的可扩展性。使用此类架构,将必须将大量数据传输到DRAM和持久存储设备以及从其传输大量数据。因此,仅仅增加用于增加数据处理的内核数量不能解决本文所述的问题。例如,存储设备可能必须将数据复制到主机侧,并且主机侧可能必须处理数据。然后,需要在DRAM中复制一组数据,CPU将处理该组数据,然后将再次复制下一组数据以进行处理。这会对性能造成很大的瓶颈,并且无法针对大数据处理进行扩展。因此,数据处理需要大量的时间和资源。此外,这将导致软件堆栈中的大量开销。此外,对于单独的CPU内核,每个CPU都可以专用于数据的子集,诸如修改数据子集,从而导致跨CPU的数据状态不一致。此外,增大DRAM的尺寸还带来低效率,诸如功率消耗的增加。此外,CPU可能无法在特定大小上寻址DRAM,因此DRAM不可扩展。

一般来讲,本文所述的系统和方法的一些实施方案通过处理存储设备内部的数据来改善存储器芯片架构。图3为根据一些实施方案的将存储设备与神经网络引擎组合以创建改进的或增强的(有时称为“智能”)存储设备的示例300。传统存储设备302A可存储持久数据304,并且存储设备302A的接口可将数据发送至主机以进行处理。描述的系统和方法的一些实施方案涉及智能存储设备302B。智能存储设备302B可存储持久数据304并在智能存储设备302B内执行神经网络,诸如收缩流引擎306。收缩流引擎更详细地描述于标题为“能够前向传播的收缩神经网络引擎”的专利申请(提交于2018年5月16日的美国专利申请15/981,624)以及标题为“可重新配置的收缩神经网络引擎”的专利申请(提交于2018年12月27日的美国专利申请No.16/233,968),其公开内容据此全文以引用方式并入本文。

因此,在一些实施方案中,存储器芯片架构可减少或消除在存储设备和DRAM(或另一类型的存储器)之间的基于瓶颈的传输数据。有利的是,存储设备上的数据处理可为可扩展的,并且能够处理大量数据。

在图3的实施方案中,I/O内核(或控制器或处理器)与神经网络内核(或控制器或处理器)之间可能存在冲突,诸如在神经网络需要大量时间进行数据处理,但主机系统期望来自存储设备的快速I/O操作(诸如读取或写入操作)的情况下。图4是根据一些实施方案的存储设备和主机之间的通信的示例400。智能存储设备402可包括神经网络诸如收缩流引擎404和与持久存储器406通信的I/O内核408。收缩流引擎404可从持久存储器406检索数据并开始处理数据,诸如通过干扰操作。但是,在处理数据时,主机系统可能会请求访问相同的数据。在检索和/或写入由主机系统所请求的相同数据之前,I/O内核408可等待收缩流引擎404完成数据处理。因此,神经网络处理时间可显著降低I/O操作的性能。

存储在持久空间中的数据流

图5示出了根据一些实施方案的存储设备502的一个示例500,该存储设备包括在流中存储I/O请求的持久空间504。存储设备502可存储持久空间504内的流(诸如流#0506A、流#1 506B、...流#N 506N)中的I/O请求。持久空间可包括一个或多个持久存储器,诸如非易失性固态存储器、磁存储器等。

在一些实施方案中,存储设备502可接收处理特定流的请求。在一些实施方案中,持久空间504可持久地存储数据。数据可通过存储设备502的电源关闭状态来保持。持久空间504可提供可用作文件的类似物的数据流。

在一些实施方案中,对应于流的邻接空间可存储持久空间504中的数据,所述数据可基于对应于流的标识符来区分。因此,流对于存储在存储设备内的机器学习过程诸如神经网络可为有利的,因为机器学习过程可应用存储在流中的任何请求以用于数据处理。机器学习过程可识别流的标识符,在流的内部偏移,并且机器学习过程可处理流内部的数据。流可能优于存储对象,因为对象可以包括神经网络处理不需要的元数据。通常,对象包括基于对象的存储,从而导致对神经网络适用性的显著限制。例如,某些神经网络可能不被配置为从对象数据中排除元数据,或者作为输入接收与元数据相关的数据,从而使得神经网络不可操作。在一些实施方案中,流可存储没有元数据的数据和/或仅存储神经网络的相关数据。神经网络可接收来自邻接空间的字节流的相关数据,该字节流对应于可在持久空间504中存储数据的流。有利的是,此类神经网络可通过不必经过训练来区分元数据和相关数据而简化复杂性。此外,对象可以连续存储,也可以不连续存储,而流方法则可以实现连续存储。

神经网络可有效地实现用于数据处理的专用算法。人工神经网络(或连接系统或机器学习模型)可学习基于训练数据来执行某些任务。此外,此类训练可在无需特定于任务的编程的情况下进行。例如,神经网络可通过分析已手动标记为“猫”或“无猫”的示例图像的训练数据来学习识别包含猫的图像。神经网络可调节其在节点中的权重以识别其他图像中的猫。

本发明所公开的实施方案使用的神经网络引擎可被配置为任何类型的神经网络。神经网络引擎可基于一个或多个因素来定义神经网络,包括(1)一个层中的节点的数量,(2)隐藏层的数量,(3)激活函数的类型,和/或(4)层节点之间的每个连接的权重矩阵。在一些实施方案中,神经网络可基于功能来定义,并且神经网络引擎可检索对应于所需功能的预定义神经网络。

存储为连续序列的流

文件系统可分配存储器的一些物理扇区以存储文件。然而,存储设备可被分段,并且文件可被分成若干片,存储在作为可经由逻辑块地址(“LBA”)访问的连续空间的不同区域中,并且不可连续存储。在这种情况下,为了读取和写入存储设备,主机将使用多个逻辑块地址来存储和/或检索数据。

在一些实施方案中,数据作为流存储在智能存储设备的邻接区域中。图6示出了根据一些实施方案的分成若干区段并由文件系统存储在物理存储器单元的连续序列中的文件的示例600。文件604的区段(或流)#1 606A、区段#2 606B、...区段#N 606N(在本文中统称为区段606)可由主机的文件系统识别为起始逻辑块地址诸如LBA#1、LBA#2、LBA#3和每个区段的长度(或具有相同长度的区段的情况下的公共长度)。文件系统可经由逻辑块地址来更新和/或访问文件内容。

在一些实施方案中,主机或主机侧602可基于流的LBA和长度来请求神经网络(诸如收缩流引擎)的推断操作。主机侧602可发送起始LBA数量和主机侧602希望在神经网络中处理的每个区段的长度。在其他实施方案中,主机侧602可发送区段ID。存储设备608可接收每个区段的LBA数量和长度,可确定和/或配置用于处理数据的神经网络的数量,并通过存储设备608侧上的神经网络来处理流。此外,物理存储器单元的连续序列的基于流的方法可提供处理存储设备608上的神经网络中的数据的有效方式。此外,基于流的方法可以在内存神经网络数据处理中支持不同的文件大小以及随着时间的推移而变化的文件。

在一些实施方案中,存储设备608可实现使得用于神经网络操作的流中的数据表示一致性的锁定功能。有利的是,即使文件可具有各种长度并且尺寸可随时间推移而变化,神经网络内核仍可处理固定尺寸的数据。如存储设备608中所示,该文件可能不存储在连续的物理存储器单元序列中,但可存储在一组一个或多个存储设备存储流中,诸如流#1610A、流#2 610B、流#N 610N(在本文中统称为存储设备流610),它们分布在存储设备中的不同位置。可以通过公共标识来标识流,该标识可以是唯一的。每个存储设备流可包括物理存储器存储单元(诸如单元、页面、扇区等)的连续序列。

存储设备608可使用区段在文件604上处理神经网络计算。有利的是,基于区段的方法允许存储设备608解决神经网络内核与另一个内核(例如,处理I/O操作的内核)之间的冲突,因为仅锁定神经网络的相关文件而不是整个存储器存储的优点。另外,因为每个流是连续的,所以神经网络内核可以基本上同时或基本上并行地处理多个流。这可提高神经网络处理的效率。

图7示出了根据一些实施方案的由神经网络处理的数据的输入流的示例700。在一些实施方案中,存储设备可配置神经网络,诸如定义用于处理数据的神经网络的类型。存储设备可基于流标识符来识别适当的输入流702。例如,输入流702可包括被发送到神经网络(诸如收缩流引擎704)中的图像702,该神经网络被训练以识别图像中的人。收缩流引擎704可输出输出流706,该输出流提供关于是否在输入流702的图像中识别人的指示。

神经网络和I/O内核架构

图8示出了根据一些实施方案的多核智能存储设备802的示例800。在一些实施方案中,存储设备802可包括神经网络内核806,诸如收缩流引擎(“SFE”)内核和I/O内核808。神经网络内核806可通过接口804从主机系统接收推断(和/或训练)命令,和/或通过一个或多个神经网络处理数据。I/O内核808可通过接口804从主机系统接收I/O命令。

在一些实施方案中,神经网络内核806可将数据812复制到持久空间的知识空间810中以便执行神经网络计算。有利的是,在神经网络内核806正在并行地或基本上并行地执行神经网络计算时,创建副本可释放I/O内核808以对实际数据812执行I/O命令。如果神经网络计算需要较长的时间段和/或如果执行神经网络处理时从主机接收到I/O命令,那么这可能很有用。此外,创建副本允许对数据的单独副本执行所有神经网络计算,而不是对可由I/O内核808修改的副本执行所有神经网络计算。此外,在发生错误(例如,真实数据812经由神经网络中的数据处理而损坏)的情况下,复制能够保护真实数据812。在一些实施方案中,存储设备802可将用于数据处理的相关流存储到知识810数据空间中。在一些实施方案中,神经网络的输出可存储在持久空间的知识空间810和/或数据空间812中。数据可至少在知识空间810中使用如本文所述的流来存储。

在一些实施方案中,神经网络内核806可配置一个神经网络以在给定时间处理数据。在一些实施方案中,神经网络内核806可配置多个神经网络以在相同或基本上相同的时间处理同一组数据。例如,神经网络内核806可配置神经网络以识别图像中的人以及可识别图像的背景位置的另一个神经网络。可将图像输入到两个神经网络中以用于并行或基本上并行的处理。

在一些情况下,内核806和808可由不同的控制器或处理器来实现。例如,I/O内核808可以是与神经网络内核806不同的内核。I/O内核可以具有用于存储持久数据的专用持久数据812空间。神经网络内核806可以是独立的内核,诸如ASIC、CPU、FPGA,具有知识810数据的专用持久空间以执行训练、推断和数据处理。

在一些实施方案中,I/O内核808可与主机通信,而不知道经由神经网络的底层数据处理。例如,主机可请求I/O内核808对一组数据诸如读取/写入请求执行特定操作。特定操作可以是可能需要大量处理资源的神经网络的推断操作。然后,I/O内核808可将数据存储到持久空间(如本文所述)。在一些实施方案中,神经网络内核806可从主机接收输入数据,配置神经网络以执行一个或多个推理操作,通过神经网络处理数据并将输出数据发送至主机。此外,神经网络内核806可并行地或基本上并行于由I/O内核808执行的其他操作来执行神经网络的训练和/或推断操作。

在一些实施方案中,当输入数据被推入神经网络中时,存储设备可锁定对应的输入数据。I/O内核不需要等待神经网络内核完成推断操作,因为它需要在将数据从数据812复制到知识区域810的时间段内锁定初始数据。主机可以在不进行修改的情况下访问数据,诸如读取操作。

在一些实施方案中,神经网络内核可将数据推送到神经网络中。层之间的电路可包括一个或多个存储单元以将先前层的输出存储为下一层的输入。

在一些实施方案中,为了训练的目的,数据可通过持久空间的层被反向传播。例如,训练数据可以通过神经网络前向传播。根据神经网络的输出,神经网络内核可通过增加贡献期望输出的节点的权重而通过每个层反向传播,反之亦然。

在不复制流数据的情况下执行推断操作

图9示出了根据一些实施方案的在不复制流数据的情况下在神经网络上执行推断操作的示例900。所示的过程可由本文所述的任何智能存储设备执行,诸如例如I/O内核和神经网络内核。在步骤1中,主机可向智能存储设备902发送将数据流写入存储器中的请求。I/O内核912可接收请求,并且在步骤2中,根据流标识符910将该流存储到持久空间906中。

在步骤3中,存储设备902可接收用于定义神经网络配置的参数。在一些实施方案中,神经网络配置是预定义的,诸如在制造过程中预定义的。在其他实施方案中,可基于某些参数来配置和/或重新配置神经网络,诸如节点的数量、层的数量、节点的权重的集合、功能的类型等。在步骤4中,存储设备902可将神经网络的配置存储在持久空间906的神经网络配置部分908中。如本文所示和所述,持久性空间906可包括一个或多个存储流。

在步骤5中,存储设备902可接收推断操作的请求。神经网络内核诸如收缩流引擎904可在步骤6处处理一个或多个数据流,并且在步骤7处返回处理的一个或多个结果。

在一些情况下,在神经网络操作期间,I/O内核912可在步骤1A处接收更新现有流的请求。如果I/O内核912更新与神经网络正在处理的流相同的流,那么可能存在以下问题:神经网络未处理静态数据集合,而是处理期间正在更改的数据。这会导致神经网络的输入错误和/或改变神经网络的输出。例如,当神经网络开始处理存储在流中的汽车的图像,I/O内核接收将车辆的相同图像与建筑物的图像进行切换的请求时,神经网络可能既不处理汽车也不处理建筑物。相反,神经网络可正在处理汽车和建筑物图像的混合,从而导致错误的结果。

在复制流数据的情况下执行推断操作

这些问题可如图10所示来解决,图10示出了根据一些实施方案的通过复制流数据在神经网络上执行推断操作的示例1000。所示的过程可由本文所述的任何智能存储设备执行,诸如例如I/O内核和神经网络内核。在步骤1中,神经网络内核1002诸如收缩流引擎内核可与子系统通信以实现锁定请求。神经网络内核1002和I/O内核1006可与子系统交互以访问持久空间中的数据。

在步骤2中,I/O内核可通过将数据1014的副本发送到视图1008来创建相关数据流的视图(或副本),所有数据均在持久空间1004内。在步骤3中,I/O内核1006可向神经网络内核1002指示数据现在已解锁。在步骤4中,神经网络内核1002可通过神经网络处理存储在视图1008中的数据,并且可在步骤5中将结果存储在结果空间1010中。

在一些实施方案中,从数据1014复制到视图1008的流可在复制期间被单独锁定/解锁。在一些实施方案中,神经网络所需的所有流可同时被锁定、复制和解锁。在一些实施方案中,整个数据存储装置1014可被锁定,相关的流被复制,并且整个数据1014被解锁。

在步骤2A中,在数据被锁定时接收到的I/O操作和/或其他操作可存储在日志1012中。在步骤3中的数据被解锁之后,在步骤4A中,可在数据1014上重放和执行存储在日志1012中的请求。有利的是,神经网络可处理视图1008中的数据而不影响需要对数据1014执行的I/O操作和/或不暂停以等待I/O操作完成。

图11示出了根据一些实施方案的数据复制管理的示例1100。在步骤1中,数据存储设备1102(其可为任何所公开的实施方案的智能存储设备)可接收来自主机设备的训练或干扰操作的请求。在步骤2中,可将持久空间中的流数据1108复制到持久空间的视图1106部分。在步骤3中,数据存储设备可处理神经网络中的分离的视图数据。在神经网络完成处理之后,数据存储设备可将结果(例如,知识)存储到步骤4中的持久空间的知识部分1104中,并且在步骤5中销毁数据的副本。在步骤6中,数据存储设备可将神经网络的结果(例如,知识)传输至主机设备。

其他变型

本文所公开的实施方案中的任一个可与共同未决的美国专利申请中公开的任何概念一起使用,该专利申请标题为“用于神经网络处理的增强型存储设备架构”(代理人案卷号WDA-3974-US-SILSP.381A),其与本专利申请在同一天提交,并且全文以引用方式并入本文。

本领域的技术人员将会知道,在一些实施方案中,可利用另外的系统部件,并且可组合或省略所公开的系统部件。虽然一些实施方案描述了视频数据传输,但所公开的系统和方法可用于传输任何类型的数据。此外,尽管一些实施方案利用擦除编码,但可使用任何合适的错误校正方案。所公开的过程中采取的实际步骤可不同于附图中所示的那些。根据实施方案,可移除上述步骤中的某些步骤,可添加其他步骤。因此,本公开的范围旨在仅通过参考所附权利要求书来限定。

虽然已经描述了某些实施方案,但是这些实施方案仅作为示例呈现,并且不旨在限制保护范围。实际上,本文描述的新颖方法和系统可以各种其他形式体现。此外,在不脱离保护精神的情况下,可以对本文描述的方法和系统的形式进行各种省略、替换和改变。所附权利要求书以及其等同物旨在涵盖落入保护范围和实质内的这些形式或修改。例如,本文所公开的系统和方法可应用于硬盘驱动器、混合硬盘等。此外,可附加地或另选地使用其他形式的存储装置(诸如,DRAM或SRAM、电池备份的易失性DRAM或SRAM设备、EPROM、EEPROM存储器等)。又如,图中所示的各种部件可实现为处理器、ASIC/FPGA或专用硬件上的软件和/或固件。而且,上文公开的特定实施方案的特征和属性可以不同方式组合以形成另外的实施方案,所有这些都落入本公开的范围内。

本文所用的术语仅出于描述特定实施方案的目的,并不旨在限制本公开。如本文所用,单数形式“一个”、“一种”和“所述”旨在也包括复数形式,除非上下文另外清楚地指明。还应当理解,当用于本说明书中时,术语“包括”和/或“包含”指定所述特征、整数、步骤、操作、元件和/或部件的存在,但不排除其存在或添加一个或多个其它特征、整数、步骤、操作、元件、部件和/或它们的组。此外,除非上下文另外清楚地指明,否则本文中对“一种方法”或“实施方案”的引用并不旨在表示相同的方法或相同的实施方案。

下文权利要求中的所有方法或步骤加功能元件的对应结构、材料、操作和等同形式旨在包括用于与具体权利要求书保护的其它权利要求书保护的元件组合执行所述功能的任何结构、材料或操作。为了举例说明和描述的目的,已经提供了对本公开的各种实施方案的描述,但并非旨在穷举或限于所公开的实施方案。在不脱离本公开的范围和精神的前提下,许多修改形式和变型对于本领域的普通技术人员将是显而易见的。选择和描述所述示例性实施方案是为了最佳地阐明本公开的原理以及实际应用,并且使得本领域的其他普通技术人员能够理解各种实施方案的公开内容以及各种修改适合于所构想的特定用途。

尽管本公开提供了某些优选的实施方案和应用,但是对于本领域普通技术人员显而易见的其他实施方案,包括不提供本文所述的所有特征和优点的实施方案,也在本公开的范围内。因此,本公开的范围旨在仅通过参考所附权利要求书来限定。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种持久缓存的设置方法、装置、设备及介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类