CN108874308A - 以闭环反馈来提高固态驱动器的io一致性的监督式学习 - Google Patents
以闭环反馈来提高固态驱动器的io一致性的监督式学习 Download PDFInfo
- Publication number
- CN108874308A CN108874308A CN201810413139.7A CN201810413139A CN108874308A CN 108874308 A CN108874308 A CN 108874308A CN 201810413139 A CN201810413139 A CN 201810413139A CN 108874308 A CN108874308 A CN 108874308A
- Authority
- CN
- China
- Prior art keywords
- time delay
- solid state
- state drive
- write
- calculating
- 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
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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了一种以闭环反馈来使用监督式学习的方法和设备,以提高诸如固态驱动器的存储器布置的输出一致性。
Description
相关申请的交叉引用
本申请要求于2017年5月12日提交的美国临时专利申请62/505,491的优先权,其全部内容通过引用并入本文。
技术领域
本公开的方面涉及与诸如计算机的主机结合使用的存储器系统。更具体地,方面涉及提供增加固态驱动器(SSD)的输入输出(IO)一致性的系统。
发明背景
领域
随着计算机系统在效率和能力上的增加,对信息的储存和撷取的需求越来越重要。对应地,每千兆字节SSD的成本下降。与传统硬盘驱动器(HDD)相比,这些系统购买者期望要求更快地访问这些类型的驱动器。
SSD使用不同的系统和方法来储存数据。特别重要的是对SSD的低时延和恒定吞吐量的维护。SSD因为它们与HDD相比的卓越的低时延性而被使用。在操作期间,垃圾收集在确定SSD的恒定吞吐量中发挥重要作用。垃圾收集允许系统收集未使用或很少使用的数据进行处置。虽然普通用户看不到发生的垃圾收集活动,但是如果垃圾收集发生在不适当的时间,垃圾收集活动可能会损害SSD的整体吞吐量,导致性能限制。
减慢SSD的操作挫败了SSD向用户提供卓越的性能参数的目的。因此,减慢SSD来进行垃圾收集和其他部署(ministerial)功能为提供IO一致性提供了不太优化的解决方案来。为确保垃圾收集继续进行并且不影响整体吞吐量,可以在低于最大吞吐量的水平上操作SSD。因此,在垃圾收集发生时,用户将不会经历减少的吞吐量。
因此,需要为固态驱动器提供不会严重影响固态驱动器的整体性能的IO一致性的水平。
还需要提供方法,其将基于诸如计算机使用的各种因素来限制可能由垃圾收集和其他功能而经历的性能损失。
还需要提供如上文的自动限制性能损失的方法,其可以基于机器学习技术来限制性能能力的整体变化。
还需要提供方法,其不改变SSD的耐用性并且可以基于SSD的最佳使用来增加整体寿命。
发明内容
为了可以以上文叙述的方式详细地理解本公开的特征,可以参考实施例(其中的一些在附图中示出)进行本公开的上文简要总结的更具体地描述。然而,将注意到,因为本公开可以允许其他等效实施例,附图仅图示本公开的典型实施例并且因此不被认为是其范围的限制。
在一个非限制性实施例中,公开了以固态驱动器的闭环反馈来进行监督式学习的布置,该布置包括:配置为从主机接收输入命令的工作负载(workload)检测引擎;配置为从主机接收输入命令的命令分配器(dispatcher);具有用于接收并且发送数据的连接件的闪存存储器;连接到命令分配器的命令处理器,该命令处理器配置为进行由命令分配器提供的命令,该命令处理器通过连接件连接到闪存存储器;配置为从工作负载检测引擎接收一组数据的引擎,该引擎配置为计算固态驱动器的节流时延(throttling latency);以及连接到命令分配器和引擎的主机响应器,该主机响应器配置为用已完成的命令对主机进行响应。
在另一个非限制性实施例中,公开了用于改进固态驱动器的输入和输出一致性的方法,该方法包括:计算固态驱动器的最小系统强加的读取和写入时延;基于最小系统强加的读取和写入时延来计算固态驱动器的期望读取时延和期望写入时延;基于模型来计算写入操作的放大系数和读取操作的放大系数;基于所计算的期望读取时延和所计算的期望写入时延以及写入操作的放大系数和读取操作的放大系数,来计算固态驱动器的最终读取时延和最终写入时延;以及根据最终读取时延和写入时延来操作固态驱动器。
在另一个非限制性实施例中,公开了用于计算固态驱动器的最终写入时延和最终读取时延的设备,该设备包括:用于计算固态驱动器的最小系统强加的读取和写入时延的构件;用于基于所计算的最小系统强加的读取和写入时延来计算固态驱动器的期望读取时延和期望写入时延的构件;用于计算写入操作的放大系数和读取操作的放大系数的构件;和用于基于所计算的期望读取时延和期望写入时延以及写入操作的放大系数和读取操作的放大系数,来计算固态驱动器的最终读取时延和写入时延的构件;以及用于基于最终读取时延和最终写入时延来操作固态驱动器以进行读取操作和写入操作的构件。
在另一个非限制性实施例中,公开了用于操作固态驱动器的方法,该方法包括:计算固态驱动器的最小系统强加的读取和写入时延中的至少一个;基于固态驱动器的最小系统强加的读取和写入时延来计算固态驱动器的期望读取时延和期望写入时延中的至少一个;计算写入操作的放大系数和读取操作的放大系数中的至少一个;基于所计算的期望读取时延和期望写入时延以及写入操作的放大系数和读取操作的放大系数中的至少一个,来计算固态驱动器的最终读取时延和写入时延中的至少一个;以及操作固态驱动器使得固态驱动器的操作不超过固态驱动器的至少一个最终读取时延和写入时延。
在另一个非限制性实施例中,公开了操作固态驱动器的方法,该方法包括:计算固态驱动器的最小系统强加的读取和写入时延中的一个;基于固态驱动器的最小系统强加的读取和写入时延中的一个来计算固态驱动器的期望读取时延和期望写入时延中的一个;计算写入操作的放大系数和读取操作的放大系数中的一个;基于所计算的期望读取时延和所计算的写入时延以及所计算的写入操作的放大系数和读取操作的放大系数,来计算固态驱动器的最终读取时延和最终写入时延中的一个;以及根据最终读取时延和写入时延来操作固态驱动器。
附图说明
为了可以以上文叙述的方式详细地理解本公开的特征,可以参考实施例(其中的一些在附图中示出)进行本公开的上文简要总结的更具体地描述。然而,将注意到,因为本公开可以允许其他等效实施例,附图仅图示本公开的典型实施例,并且因此不被认为是其范围的限制。
图1是在确定某些标准是否占优势中使用的两个模型的曲线图。
图2是节流引擎的示意图。
图3是随机R/W IOPS相对时间的图。
图4是随机R/W IOPS相对实现本公开的算法的时间的图。
图5是具有30%读取IOPS的随机R/W相对时间的图。
图6是具有30%读取IOPS的随机R/W相对实现本公开的算法的时间的图。
图7是具有50%读取IOPS的随机R/W相对时间的图。
图8是具有50%读取IOPS的随机R/W相对实施本公开的算法的时间的图。
为了便于理解,在可能的情况下已经使用相同的附图标记来表示附图共有的相同元件。预期的是,在一个实施例中公开的元件可以有利地用于其他实施例而不用具体详述。
具体实施方式
现在将参照附图描述一些实施例。为了一致,各种附图中的相似元件将以相同的数字引用。在下面的描述中,提出许多细节以提供对各种实施例和/或特征的理解。然而,本领域技术人员将理解的是,可以在没有许多这些细节的情况下实践一些实施例,并且从所描述的实施例进行许多变化或修改是可能的。如本文中所使用的,术语“在...上方”和“在...下方”、“在...上”和“在…下”、“上部”和“下部”,“向上”和“向下”、以及表示在给定点或元件上方或下方的相对位置的其他相似术语用于本说明书中,以更清楚地描述某些实施例。
本公开的方面涉及计算机操作和计算机储存,并且具体地,以闭环反馈进行监督式学习,以提高固态驱动器的IO一致性。在所描述的实施例中,数据储存布置连接到主机系统。数据储存布置的功能是接受数据并且储存数据,直到用户或主机再次需要为止。取决于所进行的计算机过程,数据储存布置可以配置为接受数据的资料组(burst),因此数据储存布置配置有提供使用的各种状态的多个存储器单元。数据储存布置的某些区段(section)配置为提供快速行为(低时延)的存储器系统,使得计算机过程可以迅速实施。这种低时延性能可以由单层单元(SLC)存储器配置来实现。如果需要储存大量数据,则还可以存在多层单元存储器配置,诸如三层单元(TLC)存储器配置。数据储存布置可以具有允许数据储存布置与主机连接的接口。作为非限制性实施例,该接口可以是统计分析系统(SAS)接口或串行ATA(SATA)兼容接口。存储器储存装置可以具有允许即插即用能力的配置。尽管描述为具有SATA兼容接口,但是存储器储存装置可以提供有允许通过无线技术进行访问的配置。在一个非限制性实施例中,可以使用802.11ac技术来为平滑串流(smooth streaming)提供快速性能。无线技术可以使用例如在2.5Ghz至5GHz之间的频率,用于连接。在一些实施例中,数据储存装置可以允许用户选择无线连接的频率。尽管描述为SATA兼容,但可以使用其他类型的接口。
可以向数据储存布置提供辅助连接件,以允许用于将数据直接输入到数据储存布置而不与主机接口的附加选项。数据的这种直接输入可以通过放置集成安全数字卡来提供,以卸载或复制数据。可以为额外的IO操作提供其他辅助连接件。这种连接件可以是USB2.0、USB 3.0、火线或其他硬连线配置。还可以使用千兆以太网接口和连接件。
数据储存布置可以配置有单独的电力供应,或者可以通过诸如来自计算机母板的其他电力供应构件来运行。在一些实施例中,可以提供内部电池给作为独立的实体的数据储存布置供电。可以提供这样的配置,使得数据储存布置是便携式单元。在这样的数据储存布置配置中,电力供应构件可以足以给主机供电和/或给诸如移动蜂窝电话、个人计算机、平板电脑、相机或其他配置的主机充电。数据储存布置还可以具有电池指示器,以允许用户从视觉检查中了解数据储存布置中的电量。示例电池指示器可以是低功率消耗的发光二极管技术。在特定实施例中,数据储存布置可以提供有如下电路:允许充电,并且如果数据储存布置在延长的时期连接到外部电力供应,则防止系统过度充电。在一些实施例中,可以使用电路来确定储存系统是否已经达到不活动的阈值,从而使得系统进入低功率消耗模式并节约电池电量。
在一个非限制性实施例中,提供控制器以如主机所要求地来控制数据储存布置的行为。控制器还可以配置为进行对数据储存布置的维护活动,以允许有效使用。
可以在数据储存布置上提供内部软件,以允许系统上的数据的有效储存和读取能力。可以使用这种内部软件,使得数据储存布置可以用作便携式媒体服务器,以将媒体无线地串流(stream)到主机或输出装置。这种输出装置可以包括但不限于智能电视、智能电话、立体声音频系统。还可以提供内部软件,使得可以由设计为与数据储存布置接口的云应用程序来进行数据的访问。
数据储存布置的内部软件还可以配置为提供数据储存布置的安全性。数据储存布置上提供的材料的安全保护防止对系统上包含的敏感信息的未经授权的访问。这种安全性可以采用诸如Wi-Fi密码保护的密码保护的形式。在一些实施例中,数据储存布置可以配置有允许数据储存布置创建硬件锁定的软件。这种硬件锁定可以防止通过USB连接件进行访问。
内部软件还可以能够为用户提供诊断支持。在这样的配置中,可以提供两种不同的模式。快速测试软件程序可以提供有对主要性能问题检查数据储存布置的能力。还可以提供完全的测试模式,以向用户提供详细的状态信息。例如,这种状态信息可以是数据储存布置的存储器的总数量、所使用的存储器储存装置的数量、在数据储存布置上所提供的储存划分、内部软件的固件版本、存储器块错误和类似数据。内部软件还可以具有接受数据以更新内部软件的固件的能力。
内部软件还可以用作服务器系统,其中在某些实施例中,并入使能数字生活网络联盟(DLNA)的软件。这样的软件与服务器一样地允许快速文件传输和错误检查操作。在一些实施例中,内部软件可以提供有使用文件传输协议(FTP)的能力,以在公共访问文件夹中使得内容能够传输到存储器储存装置以及从存储器储存装置能够传输内容。数据储存布置还可以提供安全登录或匿名登录能力。
在特定实施例中,数据储存布置可以配置为使得系统与云储存系统交互。在数据储存布置接近储存能力极限的情况下,数据储存布置可以允许数据中的一些储存在基于云的系统上。要储存在这样的外部储存系统上的数据的选择可以由控制器来管理,该控制器配置为确定数据的哪个区段可以适当地储存在基于云的系统中,以为用户最小化时延。储存系统可以具有唯一标识符媒体访问控制(MAC)地址和装置名称,以允许系统在独立的基础上操作。储存系统还可以操作为允许系统克隆它所附接的计算机的MAC地址的配置。
数据储存布置的整体容量可以根据所提供的不同实施例而变化。作为非限制性实施例,可以提供1TB、2TB、直到64TB的容量。还可以提供不同的形状因素。在一些实施例中,提供了2.5英寸的形状因素。还可以使用诸如1.8英寸或3.5英寸的其他形状因素。作为非限制性实施例,可以为Windows操作系统、Windows服务器、Linux和Mac OS提供数据储存布置的兼容性。可以使用该系统的示例Windows操作系统可以是Windows 10、Windows 8和Windows 7。作为非限制性实施例,示例Mac OS系统可以是Lion(Mac OSA 10.7)、MountainLion(Mac OS 10.8)、Yosemite(Mac OS 10.10)、El Capitan (Mac OS 10.11)、Sierra和Mavericks。在非限制性实施例中,用于储存系统的支持的浏览器可以是InternetExplorer、Safari、Firefox和谷歌浏览器。
在示例实施例中,随着在计算机操作中发生从HDD到SSD的行业变化,操作的速度增加。有利地,SSD不使用用于数据访问的移动零件,并且因此与HDD相比提供了卓越的操作。然而,SSD需要对旧数据进行垃圾收集,以避免数据丢失。被称为写入放大的过程是一种与闪存存储器关联的不期望的现象,其中已写入的物理信息的实际数量是将要写入的逻辑数量的多倍。随着因为写入放大过程而发生更多写入,由于驱动器具有固定的编程和擦除(PE)计数,所以该驱动器经历了寿命减少。
因为SSD必须确保非主机数据被回收,所以垃圾收集对SSD的服务质量(QoS)提出了相当大的挑战。在某些行业,SSD对性能非常重视,因此低时延是头等重要的。在其他行业中,数据保持的质量更重要,因此与数据质量相比速度不太受关注。对于大多数用户而言,通常会在服务质量和性能之间做出妥协。本公开的方面提供允许SSD的可适应性能的方法,例如,以确保了维持服务质量,以及维持足够的性能。
值的限定
出于限定的目的,页面大小Ω被限定为驱动器内的数据传输的基元单位(atomicunit)。页面大小以倍数或4096或4k测量。
固态驱动器的写入放大α是闪速写入的总数对主机发布的写入的总数的比率。
SSD将一定数量的内部存储器分配为写入高速缓存Ξ,以增强写入性能。高速缓存包含在如电力故障的意外事件之下尚未写入闪存存储器但保证将完成的写入。
工作负载的队列深度ψ被限定为主机程序在任何给定时刻可以发送到驱动器的命令的最大数量。
工作负载的R/W混合被限定为主机程序始终维持的读取与写入的总数的比率。例如,如果比率是75/25并且主机程序已经向驱动器发送了12个命令,则将读取它们中的9个以及将写入另外3个。
工作负载的块大小是主机程序用于在驱动器上进行操作的传输单位。读取和写入块大小分别表示为Br和Bw,其中下标r是读取并且w是写入。主机程序可以在任何恒定的间隔t之上发送不同的块大小。工作负载的块大小解释为在t之上所有不同块大小的平均值。Br和Bw用于表示间隔t之上的平均读取和写入块大小。的值可以限定为读取或写入操作的块大小。
如果则
如果Brw>Ω,则
在主机程序用于在驱动器上进行操作的逻辑页方面,块对准BA是对地址的测量。总体上,如果BA=Brw,则工作负载被称为是对准的并且表示为BAΞ,而对于其他值,工作负载被认为是未对准的并且表示为
地址模式是主机程序向驱动器发布的逻辑块地址(LBA)的范围。这些范围可以分类为随机的和顺序的。
时延被测量为单个IO命令从主机首次向操作系统或驱动器提交该命令时到完成的总间隔。Lr和Lw分别表示读取和写入的时延。
驱动器的IOPS被限定为每时间单位完成的IO的总数。相似地,驱动器的带宽BW是每单位时间传输的数据的总量。通常,时间是以秒为单位来测量的。
BWRW=IOPSRW X BRW EQ.3
线性回归被限定为建模单个输出变量y和若干个不同输入变量x之间的关系的方法。线性回归的输出为以下形式的模型:
y=θ0+θ1x0 ax1 b…xn z+…+θNx0 ax1 b…xn z EQ4
本公开的方面使用基于节流机制的监督式学习来提供一种可伸缩的(scalable)方法,以提供IO一致性。所描述的方面在连续的域中工作,并且在若干个工作负载上是可伸缩的。对于复杂的工作负载(例如具有混合块大小的工作负载),维护性能需求而不对IO一致性进行杠杆作用。
使得元件S是任何SSD。令Rmax和Wmax为在处的S的最大可能IOPS,其中Br=Bw=Ω。对于任何给定的工作负载,时延线性地增加到高于任何队列深度ψ,其中Rmax和/或Wmax已经获得。时延与成比例地增加。该队列深度标记为工作负载的饱和队列深度或ψsat。低于ψsat的队列深度与时延之间可以具有非线性关系。
对于给定的块大小的R′max和W′max,B′rw>Ω与成比例。还为工作负载限定有效队列。令ψr=ψx Pr和ψw=ψx Pw是工作负载的有效读取和写入的队列深度。基于主机程序履行(honor)工作负载的重新混合的假设,这些数量表示任何特定时刻时驱动器中激活的读取和写入的近似数目。
最小系统强加的时延μrw是在无限写入高速缓存和无限快速存储器的假设下在S中的最小时延。S的基本时延是在ψ=1的值时系统所经历的时延。
注意到上述等式忽略了对于任何ψ=ψsat的非线性关系。最终,二阶的线性回归模型限定为:
y=θ0x2+θ1x+θ2 EQ.7
以EQ.8(模型1)和EQ.9(模型2)限定两个(2)模型:
其中φrw[x]定义为用于放大所计算的时延的放大因子。该因子[x]允许将二阶模型表示为保留简单性的高阶等式。作为非限制性示例,可以基于读取是否主导(dominate)工作负荷来选择两个不同模型中的一个。对于这个非限制性示例,规则可以是如果读取小于50%,则使用模型1(等式8)。在其他实例下,使用模型2(等式9)。
对于任何工作负载,下面计算期望的读取和写入时延L′rw:
这些是假设系统以理想方式行事、在考虑工作负载的情况下系统将经历的期望时延。这些时延不保证IO一致性。参考图1,在图的表示中示出了两个模型(模型1和模型2)。
通过使用线性回归模型进行放大系数φrw的计算。然后最终时延计算如下:
L″r=L′rxφr[x] EQ.12
L″w=L′wxφw[x] EQ.13
然后将这些时延作为完成时延馈送给固件。在这些之前完成的任何命令将在固件中等待,并且将不会被完成到主机。这有助于如垃圾收集的其他固件活动来追赶并释放中央处理单元的时间以帮助IO一致性。
接下来,计算系数θn的理想值。值σ是IOPS与平均值的最大偏差。该值限定了IO一致性。接下来,令x是可能由于不带节流的驱动器而下降的最大性能。计算并列表来自缺少节流的若干个工作负载的性能值。基于x和σ方面的成本函数,使用梯度下降来调整θ。一旦建立θ值,就运行测试工作负载来检查模型是否保持顺从并且提供与数据的良好拟合。一旦学习过程已经被认为完成,可以禁用或移除用于学习模型的代码。因此,通过此行为,开销(overhead)被最小化。
如果需求随不同的安装而改变,则学习过程可以被重新激活。由于该方法不会干扰驱动器架构,因此该方法不会改变驱动器的耐用性。随着驱动器老化,取决于NAND特性,学习可能需要或可能不需要重新激活。
对于所描述的系统和方法的另一个考虑是使系统适应于异常事件。在一些实施例中,固件可能进入不期望的状态。通过使闭环反馈确定这种平衡是否激活,动态节流机制可以处理这种情景。取决于此,可以在短时间量内(以可能的离散步骤)调整时延。
参考图3,示出了每时间单位(多个秒)每秒输入输出操作的0%读取的随机R/W,4KiB的图。如所提供的,在不使用算法的情况下,每秒输入和输出操作的值沿着整个时间(x)轴线变化。参考图4,在使能算法的情况下,每时间单位每秒输入输出操作的值沿着整个时间(x)轴线相对恒定。
参考图5,在不使用算法的情况下,对于30%读取的IOPS参数,沿着时间(x)轴线的图指示沿着时间(x)轴线的变化性。参考图6,在使能算法的情况下(对于图5中的数据),每时间单位每秒输入输出操作的值沿着整个时间(x)轴线相对恒定。
参考图7,在不使用算法的情况下,对于每秒50%读取的输入输出操作,沿着整个时间(x)轴线的图示出相当大的变化性。参考图8,在(对于图7中的数据)使能算法的情况下,在变化性的第一周期之后,该变化性随着时间推移到时间(x)轴线的末端而减少。
参考图2,示出了配置为实施所描述的方法的布置200。将主机202以连接布置提供到固件204,该固件204继而连接到闪存216。从主机202获得命令并且将其发送到工作负载检测引擎206和命令分配器208。将命令分配器208连接到主机响应器210,该主机响应器210以完成的命令回应主机202。工作负载检测引擎206连接到节流引擎212,该节流引擎212向主机响应器210提供计算的节流时延。在一个实施例中,工作负载检测引擎206可以是用于计算读取和写入时延的构件。命令分配器208连接到命令处理器214。在一个实施例中,命令处理器214可以是用于计算放大因子的构件。在另一个实施例中,图2的其他组件可以组合成命令处理器214以计算期望的读取时延和写入时延。在其他的实施例中,处理器214可用于计算最终的读取和写入时延。命令分配器208和命令处理器214之间的连接件允许两(2)路通信。命令处理器214连接到具有输入和输出能力的闪存216。
在一个非限制性实施例中,公开了以固态驱动器的闭环反馈来进行监督式学习的布置,该布置包括工作负载检测引擎,该工作负载检测引擎配置为从主机接收输入命令;命令分配器,该命令分配器配置为从主机接收输入命令;闪存存储器,该闪存存储器具有用于接收和发送数据的连接件;命令处理器,该命令处理器连接到命令分配器,该命令处理器配置为进行由命令分配器提供的命令,该命令处理器通过连接件连接到闪存存储器;引擎,该引擎配置为从工作负载检测引擎接收一组数据,该引擎配置为计算固态驱动器的节流时延;以及主机响应器,该主机响应器连接到命令分配器和引擎,该主机响应器配置为用已完成的命令响应主机。
在另一个非限制性实施例中,该布置可以配置为其中引擎是节流引擎。
在另一个非限制性实施例中,该布置可以配置为其中来自工作负载检测引擎的该组数据是当前工作负载。
在另一个非限制性实施例中,该布置可以配置为其中闪存存储器是NAND闪存存储器。
在另一个非限制性实施例中,该布置可以配置为将其中节流引擎连接到命令处理器。
在另一个非限制性实施例中,该布置可以配置为其中节流引擎向命令处理器提供节流时延。
在另一个非限制性实施例中,该布置可以配置为其中闪存存储器是NOR闪存存储器。
在另一个非限制性实施例中,该布置可以配置为其中闪存存储器是垂直NAND闪存存储器。
在另一个非限制性实施例中,公开了一种用于改进固态驱动器的输入和输出一致性的方法,该方法包括:计算固态驱动器的最小系统强加的读取和写入时延;基于最小系统强加的读取和写入时延来计算固态驱动器的期望读取时延和期望写入时延;基于模型计算写入操作的放大系数和读取操作的放大系数;基于计算的期望读取时延和计算的期望写入时延以及写入操作的放大系数和读取操作的放大系数,来计算固态驱动器的最终读取时延和最终写入时延;以及根据最终读取时延和写入时延来操作固态驱动器。
在另一个非限制性实施例中,可以完成该方法,其中从线性回归模型计算写入操作的放大系数和读取操作的放大系数。
在另一个非限制性实施例中,可以完成该方法,其中线性回归模型是二阶线性回归模型。
在另一个非限制性实施例中,可以完成该方法,其中最小系统强加的读取时延计算为:
其中R′max是固态驱动器的每秒最大可能输入输出读取操作值。
在另一个非限制性实施例中,可以完成该方法,其中最小系统强加的读取时延计算为:
其中W′max是固态驱动器的每秒最大可能输入输出读取操作值。
在另一个非限制性实施例中,可以实现该方法,其中计算固态驱动器的期望读取时延和期望写入时延是基于工作负载和在理想条件下操作的固态驱动器。
在另一个非限制性实施例中,可以实现该方法,其中读取操作的二阶线性回归模型具有以下形式:
其中φr[x]是读取放大因子,Pr是读取百分比以及θn
值是监督式学习系数。
在另一个非限制性实施例中,可以完成该方法,其中写入操作的二阶线性回归模型具有以下形式:
其中φw[x]是写入放大因子,Pw是写入百分比,以及θn值是监督式学习系数。
在另一个非限制性实施例中,可以进行该方法,其中从训练数据计算θn值。
在另一个非限制性实施例中,可以进行该方法,其中从训练数据计算θn值。
在另一个非限制性实施例中,公开了一种用于计算固态驱动器的最终写入时延和最终读取时延的设备,该设备包括用于计算固态驱动器的最小系统强加的读取和写入时延的构件;用于基于所计算的最小系统强加的读取和写入时延来计算固态驱动器的期望读取时延和期望写入时延的构件;用于计算写入操作的放大系数和读取操作的放大系数的构件和用于基于所计算的期望读取时延和期望写入时延以及写入操作的放大系数和读取操作的放大系数来计算固态驱动器的最终读取时延和最终写入时延的构件;以及用于基于最终读取时延和最终写入时延来操作固态驱动器以进行读取操作和写入操作的构件。
在另一个非限制性实施例中,该设备可以配置为其中用于计算放大系数的构件使用回归模型。
在另一个非限制性实施例中,该设备可以配置为其中回归模型是线性回归模型。
在另一个非限制性实施例中,该设备可以配置为其中线性回归模型是二阶线性回归模型。
在另一个非限制性实施例中,公开了用于操作固态驱动器的方法,该方法包括:计算固态驱动器的最小系统强加的读取和写入时延中的至少一个;基于该固态驱动器的最小系统强加的读取和写入时延来计算固态驱动器的期望读取时延和期望写入时延中的至少一个;计算写入操作的放大系数和读取操作的放大系数中的至少一个;基于计算的期望读取时延和期望写入时延以及写入操作的放大系数和读取操作的放大系数中的至少一个来计算固态驱动器的最终读取时延和写入时延中的至少一个;以及操作固态驱动器,使得固态驱动器的操作不超过固态驱动器的至少一个最终读取时延和写入时延。
在另一个非限制性实施例中,可以进行该方法,其中从线性回归模型计算放大系数。
在另一个非限制性实施例中,可以进行该方法,其中线性回归模型是二阶线性回归模型。
在另一个非限制性实施例中,公开了操作固态驱动器的方法,该方法包括:计算固态驱动器的最小系统强加的读取和写入时延中的一个;基于该固态驱动器的最小系统强加的读取和写入时延中的一个来计算固态驱动器的期望读取时延和期望写入时延中的一个;计算写入操作的放大系数和读取操作的放大系数中的一个;基于计算的期望读取时延和计算的写入时延以及计算的写入操作的放大系数和读取操作的放大系数来计算固态驱动器的最终读取时延和最终写入时延中的一个;以及根据最终读取时延和写入时延来操作固态驱动器。
在另一个非限制性实施例中,可以进行该方法,其中放大系数是基于线性回归模型。
尽管在本文中已经描述了实施例,但是受益于本公开的本领域技术人员将理解,不偏离本申请的发明范围的其他实施例是可设想的。相应地,本权利要求或任何后续相关权利要求的范围不应当受到本文所描述的实施例的描述的过度限制。
Claims (27)
1.一种以固态驱动器的闭环反馈来进行监督式学习的布置,所述布置包括:
配置为从主机接收输入命令的工作负载检测引擎;
配置为从所述主机接收所述输入命令的命令分配器;
具有用于接收和发送数据的连接件的闪存存储器;
连接到所述命令分配器的命令处理器,所述命令处理器配置为进行由所述命令分配器提供的命令,所述命令处理器通过所述连接件连接到所述闪存存储器;
配置为从所述工作负载检测引擎接收一组数据的引擎,所述引擎配置为计算所述固态驱动器的节流时延;以及
连接到所述命令分配器和所述引擎的主机响应器,所述主机响应器配置为用已完成的命令响应所述主机。
2.根据权利要求1所述的布置,其中所述引擎是节流引擎。
3.根据权利要求1所述的布置,其中来自所述工作负载检测引擎的所述一组数据是当前工作负载。
4.根据权利要求1所述的布置,其中所述闪存存储器是NAND闪存存储器。
5.根据权利要求2所述的布置,其中所述节流引擎连接到所述命令处理器。
6.根据权利要求5所述的布置,其中所述节流引擎将节流时延提供给所述命令处理器。
7.根据权利要求1所述的布置,其中所述闪存存储器是NOR闪存存储器。
8.根据权利要求1所述的布置,其中所述闪存存储器是垂直的NAND闪存存储器。
9.一种用于改进固态驱动器的输入和输出一致性的方法,所述方法包括:
计算所述固态驱动器的最小系统强加的读取和写入时延;
基于所述最小系统强加的读取和写入时延来计算所述固态驱动器的期望读取时延和期望写入时延;
基于模型计算写入操作的放大系数和读取操作的放大系数;
基于所述计算的期望读取时延和所述计算的期望写入时延以及写入操作的所述放大系数和读取操作的所述放大系数,来计算所述固态驱动器的最终读取时延和最终写入时延;以及
根据所述最终读取时延和所述写入时延来操作所述固态驱动器。
10.根据权利要求9所述的方法,其中用于计算写入操作的所述放大系数和读取操作的所述放大系数的所述模型是线性回归模型。
11.根据权利要求10所述的方法,其中所述线性回归模型是二阶线性回归模型。
12.根据权利要求9所述的方法,其中所述最小系统强加的读取时延计算为:
其中R′max是所述固态驱动器的每秒最大可能输入输出读取操作值。
13.根据权利要求9所述的方法,其中所述最小系统强加的写入时延计算为:
其中W′max是所述固态驱动器的每秒最大可能输入输出读取操作值。
14.根据权利要求9所述的方法,其中计算所述固态驱动器的所述期望读取时延和所述期望写入时延基于在理想条件下操作的工作负载和所述固态驱动器。
15.根据权利要求11所述的方法,其中读取操作的所述二阶线性回归模型具有以下形式:
其中φr[x]是读取放大因子,Pr是读取百分比,以及θn值是监督式学习系数。
16.根据权利要求11所述的方法,其中写入操作的所述二阶线性回归模型具有以下形式:
其中φw[x]是写入放大因子,Pw是写入百分比,以及θn值是监督式学习系数。
17.根据权利要求15所述的方法,其中从训练数据计算所述θn值。
18.根据权利要求16所述的方法,其中从训练数据计算所述θn值。
19.一种用于计算固态驱动器的最终写入时延和最终读取时延的设备,包括:
用于计算所述固态驱动器的最小系统强加的读取和写入时延的构件;
用于基于所述计算的最小系统强加的读取和写入时延来计算所述固态驱动器的期望读取时延和期望写入时延的构件;
用于计算写入操作的放大系数和读取操作的放大系数的构件;
用于基于所述计算的期望读取时延、所述期望写入时延、写入操作的所述放大系数和读取操作的所述放大系数,来计算所述固态驱动器的最终读取时延和最终写入时延的构件;以及
用于基于所述最终读取时延和所述最终写入时延来操作所述固态驱动器以进行读取操作和写入操作的构件。
20.根据权利要求19所述的设备,其中用于计算所述放大系数的构件使用回归模型。
21.根据权利要求20所述的设备,其中所述回归模型是线性回归模型。
22.根据权利要求21所述的设备,其中所述线性回归模型是二阶线性回归模型。
23.一种用于操作固态驱动器的方法,所述方法包括:
计算所述固态驱动器的最小系统强加的读取和写入时延中的至少一个;
基于所述固态驱动器的最小系统强加的读取和写入时延来计算所述固态驱动器的期望读取时延和期望写入时延中的至少一个;
计算写入操作的放大系数和读取操作的放大系数中的至少一个;
基于所述计算的期望读取时延、所述期望写入时延、以及写入操作的所述放大系数和读取操作的所述放大系数中的至少一个,来计算所述固态驱动器的最终读取时延和最终写入时延中的至少一个;以及
操作所述固态驱动器,使得所述固态驱动器的操作不超过所述固态驱动器的至少一个最终读取时延和写入时延。
24.根据权利要求23所述的方法,其中从线性回归模型计算所述放大系数。
25.根据权利要求24所述的方法,其中所述线性回归模型是二阶线性回归模型。
26.一种操作固态驱动器的方法,包括:
计算所述固态驱动器的最小系统强加的读取和写入时延中的一个;
基于所述固态驱动器的最小系统强加的读取和写入时延中的一个来计算所述固态驱动器的期望读取时延和期望写入时延中的一个;
计算写入操作的放大系数和读取操作的放大系数中的一个;
基于所述计算的期望读取时延和所述计算的写入时延以及写入操作的所述计算的放大系数和读取操作的所述放大系数,来计算所述固态驱动器的最终读取时延和最终写入时延中的一个;以及
根据所述最终读取时延和所述写入时延来操作所述固态驱动器。
27.根据权利要求26所述的方法,其中所述放大系数基于线性回归模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110191359.1A CN112748886A (zh) | 2017-05-12 | 2018-05-03 | 以闭环反馈来提高固态驱动器的io一致性的监督式学习 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762505491P | 2017-05-12 | 2017-05-12 | |
US62/505,491 | 2017-05-12 | ||
US15/947,665 | 2018-04-06 | ||
US15/947,665 US10877667B2 (en) | 2017-05-12 | 2018-04-06 | Supervised learning with closed loop feedback to improve ioconsistency of solid state drives |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110191359.1A Division CN112748886A (zh) | 2017-05-12 | 2018-05-03 | 以闭环反馈来提高固态驱动器的io一致性的监督式学习 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108874308A true CN108874308A (zh) | 2018-11-23 |
CN108874308B CN108874308B (zh) | 2021-05-25 |
Family
ID=64096113
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810413139.7A Active CN108874308B (zh) | 2017-05-12 | 2018-05-03 | 改进固态驱动器的输入和输出一致性的方法和设备 |
CN202110191359.1A Pending CN112748886A (zh) | 2017-05-12 | 2018-05-03 | 以闭环反馈来提高固态驱动器的io一致性的监督式学习 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110191359.1A Pending CN112748886A (zh) | 2017-05-12 | 2018-05-03 | 以闭环反馈来提高固态驱动器的io一致性的监督式学习 |
Country Status (2)
Country | Link |
---|---|
US (2) | US10877667B2 (zh) |
CN (2) | CN108874308B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220236912A1 (en) * | 2021-01-27 | 2022-07-28 | SK Hynix Inc. | Firmware parameters auto-tuning for memory systems |
US11481145B2 (en) * | 2021-02-25 | 2022-10-25 | PetaIO Inc. | Dynamically throttling host write data rate |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673192A (zh) * | 2009-10-26 | 2010-03-17 | 北京世纪互联宽带数据中心有限公司 | 时序化的数据处理方法、装置及系统 |
CN105893541A (zh) * | 2016-03-31 | 2016-08-24 | 中国科学院软件研究所 | 一种基于混合存储的流式数据自适应持久化方法及系统 |
US20170068481A1 (en) * | 2015-09-09 | 2017-03-09 | Samsung Electronics Co., Ltd. | Memory system including nonvolatile memory device |
CN106527967A (zh) * | 2015-09-10 | 2017-03-22 | 蜂巢数据有限公司 | 减小存储设备中的读命令时延 |
US20170123730A1 (en) * | 2015-10-29 | 2017-05-04 | Netflix, Inc. | Memory input/output management |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777559A (zh) * | 2009-12-24 | 2010-07-14 | 复旦大学 | 一种自对准的垂直式半导体存储器器件及存储器阵列 |
US9128662B2 (en) * | 2011-12-23 | 2015-09-08 | Novachips Canada Inc. | Solid state drive memory system |
US9239786B2 (en) * | 2012-01-18 | 2016-01-19 | Samsung Electronics Co., Ltd. | Reconfigurable storage device |
US9720601B2 (en) * | 2015-02-11 | 2017-08-01 | Netapp, Inc. | Load balancing technique for a storage array |
US10956083B2 (en) | 2016-12-16 | 2021-03-23 | Western Digital Technologies, Inc. | Method and system for input-output throttling to improve quality of service in a solid state drive |
US10387340B1 (en) * | 2017-03-02 | 2019-08-20 | Amazon Technologies, Inc. | Managing a nonvolatile medium based on read latencies |
US10719235B1 (en) * | 2017-03-28 | 2020-07-21 | Amazon Technologies, Inc. | Managing volume placement on disparate hardware |
-
2018
- 2018-04-06 US US15/947,665 patent/US10877667B2/en active Active
- 2018-05-03 CN CN201810413139.7A patent/CN108874308B/zh active Active
- 2018-05-03 CN CN202110191359.1A patent/CN112748886A/zh active Pending
-
2020
- 2020-11-30 US US17/107,597 patent/US11640243B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673192A (zh) * | 2009-10-26 | 2010-03-17 | 北京世纪互联宽带数据中心有限公司 | 时序化的数据处理方法、装置及系统 |
US20170068481A1 (en) * | 2015-09-09 | 2017-03-09 | Samsung Electronics Co., Ltd. | Memory system including nonvolatile memory device |
CN106527967A (zh) * | 2015-09-10 | 2017-03-22 | 蜂巢数据有限公司 | 减小存储设备中的读命令时延 |
US20170123730A1 (en) * | 2015-10-29 | 2017-05-04 | Netflix, Inc. | Memory input/output management |
CN105893541A (zh) * | 2016-03-31 | 2016-08-24 | 中国科学院软件研究所 | 一种基于混合存储的流式数据自适应持久化方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US11640243B2 (en) | 2023-05-02 |
CN112748886A (zh) | 2021-05-04 |
US10877667B2 (en) | 2020-12-29 |
CN108874308B (zh) | 2021-05-25 |
US20180329626A1 (en) | 2018-11-15 |
US20210081106A1 (en) | 2021-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100476742C (zh) | 基于对象存储设备的负载平衡方法 | |
US10031671B2 (en) | Method, apparatus, and system for calculating identification threshold to distinguish cold data and hot data | |
CN102035697B (zh) | 一种文件系统的并发连接数性能测试系统和方法 | |
US9077728B1 (en) | Systems and methods for managing access-control groups | |
US11520524B2 (en) | Host adaptive memory device optimization | |
US20140201576A1 (en) | System and Method for Improving Solid State Storage System Reliability | |
JP2009500705A5 (zh) | ||
CN108874308A (zh) | 以闭环反馈来提高固态驱动器的io一致性的监督式学习 | |
KR20220150202A (ko) | 메모리 칩 행 해머 위협 배압 신호 및 호스트 측 응답을 위한 방법 및 장치 | |
CN109543891A (zh) | 容量预测模型的建立方法、设备及计算机可读存储介质 | |
CN109684166A (zh) | 自动测试Sensor日志规范性的方法、装置、终端及存储介质 | |
CN106980647A (zh) | 一种分布式文件系统数据分布方法及装置 | |
US20120179883A1 (en) | System and method for dynamically adjusting memory performance | |
CN106067889B (zh) | 电子装置及其上传方法 | |
CN106980618B (zh) | 基于MongoDB分布式集群架构的文件存储方法和系统 | |
CN102591594A (zh) | 一种数据的处理方法和设备 | |
WO2020028818A1 (en) | Fast non-volatile storage device recovery techniques | |
CN104025628B (zh) | 网络系统、节点装置组、传感器装置组及传感器数据收发方法 | |
CN104794030A (zh) | Sas线缆检测系统及方法 | |
US20190171384A1 (en) | Data storage arrangement partitionable memory and method to accomplish partition | |
US10983713B2 (en) | Energy optimized power state declarations for solid state drives | |
CN106330595A (zh) | 分布式平台的心跳检测方法和装置 | |
US9412066B1 (en) | Systems and methods for predicting optimum run times for software samples | |
CN204946014U (zh) | 一种计算机安全控制系统 | |
KR102227644B1 (ko) | 마이크로 데이터센터 환경에서의 학습형 워크로드 측정 방법 |
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 |