CN111176564B - 确定ssd内数据摆放策略的方法及装置 - Google Patents
确定ssd内数据摆放策略的方法及装置 Download PDFInfo
- Publication number
- CN111176564B CN111176564B CN201911355189.5A CN201911355189A CN111176564B CN 111176564 B CN111176564 B CN 111176564B CN 201911355189 A CN201911355189 A CN 201911355189A CN 111176564 B CN111176564 B CN 111176564B
- Authority
- CN
- China
- Prior art keywords
- data
- strategy
- model
- time period
- training
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000012549 training Methods 0.000 claims abstract description 120
- 238000005457 optimization Methods 0.000 claims abstract description 114
- 238000005259 measurement Methods 0.000 claims abstract description 112
- 238000010801 machine learning Methods 0.000 claims abstract description 76
- 230000015654 memory Effects 0.000 claims description 42
- 230000003321 amplification Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 10
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 10
- 239000007787 solid Substances 0.000 claims description 5
- 238000005192 partition Methods 0.000 claims description 3
- 238000013403 standard screening design Methods 0.000 description 46
- 238000010586 diagram Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
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/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
- 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
- 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
- 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
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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/0638—Organizing or formatting or addressing of data
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0653—Monitoring storage devices or 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
提供一种确定SSD内数据摆放策略的方法及装置。该确定SSD内数据摆放策略的方法包括:获取优化目标和预先采集的预设时间段的工作负载度量数据;根据优化目标选择机器学习模型和训练数据策略;根据选择出的训练数据策略从所述预设时间段的工作负载度量数据中选择特征数据,基于选择的特征数据对选择出的机器学习模型进行训练;在后续的每个预测时刻,通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在所述预测时刻采集的工作负载度量数据确定与所述预测时刻对应的预测时间段的数据摆放策略。这样使得SSD在各种工作负载环境下都能获得性能优化,从而实现动态确定数据摆放策略,提高了数据摆放策略的准确性。
Description
技术领域
本公开涉及数据存储技术领域。更具体地,本公开涉及一种确定固态硬盘(SolidState Drive,简称SSD)内数据摆放策略的方法及装置。
背景技术
由于基于Nand闪存的SSD相对于传统的磁盘具有高性能、低功耗等特性,而被广泛地应用于数据中心等场景。由于Nand闪存需要进行擦除操作后才能再次写入,所以不支持数据页的更新操作。SSD为了解决该问题,通过内部的闪存转换层(Flash TranslationLayer,简称FTL)软件来维护一张逻辑地址到物理地址的映射表。
SSD内的数据摆放策略用来决定数据摆放位置。为了提高SSD的容量和吞吐量,现在SSD内部一般都设计有多个通道,一个通道内又有多个芯片。这种多并发的结构为FTL软件中的数据摆放策略的设计带来了新的挑战。最常见的数据摆放策略有两种:第一种是Round-Robin策略,第二种是条带策略。
Round-Robin策略原理如图1所示。每个通道轮流处理用户的写请求。一次写请求的数据会被放入到一个通道内,下一个写请求的数据放入下一个通道内。
条带策略原理如图2所示。该策略将用户的写请求数据被划分为多个页,然后将这些页并行地写入到多个通道,充分发挥多通道的并发性。
一般而言,同一次写请求中的数据生命周期相近,有较高的概率同时无效。如果把同一笔写请求的数据写入SSD中的同一块,后续进行垃圾回收时,需要从块中搬出的有效页数目少,垃圾回收(GC)成本小,有利于降低写放大因子(write amplify factor,简称WAF)以及GC对SSD性能波动的影响。反之,把同一笔写请求的数据条带化到不同通道内,会增加后续的GC成本。
Round-Robin策略可有效降低SSD后续的GC成本,对写密集型工作负载友好。对读密集的工作负载不友好,存在读时延较长的问题,因为未能利用多通道的并发特性。
条带策略对读密集的工作负载友好,能充分发挥SSD的多通道并发性能。对写密集型工作负载不友好,因为相同生命周期的数据被条带化到多个通道上,存在后续GC成本高的问题。
上面两种数据摆放策略都不感知工作负载变化,都是针对特定工作负载而设计。当工作负载由写密集型变成读密集型或者由读密集型变成写密集型时,不能做出相应的调整,最终读时延差或者性能差问题。
也有一些数据摆放策略感知部分工作负载信息。例如,统计逻辑地址区间内的访问热度,不同热度的数据存放到不同物理块上,从而降低后续GC成本。该策略仅根据工作负载当前状态来计算数据热度。当工作负载数据热度变化剧烈,数据将来的温度会与当前温度差距很大。例如,某块数据当前被判定为热数据,被放置到热块,该块数据有可能变冷,从而会增加在该热块上的GC搬移成本。
总之,目前的数据摆放策略要么针对特定工作负载而设计,不感知工作负载,要么感知工作负载部分信息(例如,只能根据工作负载当前状态来决定当前数据摆放位置),当工作负载剧烈变化时,不能动态调整,最终导致读时延较大或者性能差的问题。
发明内容
本公开的示例性实施例在于提供一种确定SSD内数据摆放策略的方法及装置,以解决读时延较大或者读性能不佳的问题。
根据本公开的示例性实施例,提供一种确定SSD内数据摆放策略的方法,包括:获取优化目标和预先采集的预设时间段的工作负载度量数据;根据优化目标选择机器学习模型和训练数据策略;根据选择出的训练数据策略从所述预设时间段的工作负载度量数据中选择特征数据,基于选择的特征数据对选择出的机器学习模型进行训练;在后续的每个预测时刻,通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在所述预测时刻采集的工作负载度量数据确定与所述预测时刻对应的预测时间段的数据摆放策略。这样使得SSD在各种工作负载环境下都能获得性能优化,从而实现了动态确定数据摆放策略,提高了数据摆放策略的准确性。
可选地,通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在所述预测时刻采集的工作负载度量数据确定与所述预测时刻对应的预测时间段的数据摆放策略的步骤可包括:通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在当前预测时刻采集的工作负载度量数据预测输入输出(Input/Output,简称IO)模型;根据预测的IO模型确定与当前预测时刻对应的预测时间段的数据摆放策略,从而提高了数据摆放策略的准确性。
可选地,IO模型的类型可至少包括读密集型IO模型、写密集型IO模型、数据冷热程度IO模型、顺序写IO模型、随机写IO模型。
可选地,根据预测的IO模型确定下一时间段的数据摆放策略的步骤可包括:当IO模型为读密集型IO模型时,确定使用round-robin策略作为数据摆放策略;当IO模型为写密集型IO模型时,确定使用条带策略作为数据摆放策略;当IO模型为数据冷热程度IO模型时,确定使用冷热数据分区存储的策略;当IO模型为顺序写IO模型时,采取将数据写入到低成本的闪存单元内的策略;当IO模型为随机写IO模型时,采取将数据写入到高速的闪存单元内的策略,从而提高了数据摆放策略的准确性。
可选地,优化目标可包括以下至少一项:写入性能、Nand闪存寿命、读时延。
可选地,根据优化目标选择机器学习模型和训练数据策略的步骤包括:预设的优化目标为写入性能时,选择写入性能优化训练数据策略,所述写入性能优化训练数据策略包括从工作负载度量数据中选择IO大小、IO次数、IO访问间隔、写放大因子中的至少一项作为用于进行训练的特征数据;当预设的优化目标为Nand闪存寿命时,选择Nand闪存寿命优化训练数据策略,所述Nand闪存寿命优化训练数据策略包括从工作负载度量数据中至少选择块擦除次数作为用于进行训练的特征数据;当预设的优化目标为读时延时,选择读时延优化训练数据策略,所述读时延优化训练数据策略包括从工作负载度量数据中选择IO大小、IO次数、读时延中的至少一项作为用于进行训练的特征数据。
可选地,所述方法还可包括:当检测到优化目标变化时,对预设时间段进行更新,并获取更新后的预设时间段的工作负载度量数据;根据变化后的优化目标重新选择机器学习模型和训练数据策略;根据重新选择的训练数据策略从更新后的预设时间段的工作负载度量数据中选择特征数据,来对重新选择的机器学习模型再次进行训练,以在后续的每个预测时刻使用再次训练后的机器学习模型来确定数据摆放策略。
可选地,所述方法还可包括:实时地采集工作负载度量数据,以获得当前的工作负载度量数据。
根据本公开的示例性实施例,提供一种确定SSD内数据摆放策略的装置,包括:数据获取单元,被配置为获取优化目标和预先采集的预设时间段的工作负载度量数据;选择单元,被配置为根据优化目标选择机器学习模型和训练数据策略;模型训练单元,被配置为根据选择出的训练数据策略从预设时间段的工作负载度量数据中选择特征数据,基于选择的特征数据对选择出的机器学习模型进行训练;和策略确定单元,被配置为在后续的每个预测时刻,通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在所述预测时刻采集的工作负载度量数据确定与所述预测时刻对应的预测时间段的数据摆放策略。这样使得SSD在各种工作负载环境下都能获得性能优化,从而实现了动态确定数据摆放策略,提高了数据摆放策略的准确性。
可选地,策略确定单元可被配置为:通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在当前预测时刻采集的工作负载度量数据预测IO模型;根据预测的IO模型确定与当前预测时刻对应的预测时间段的数据摆放策略。
可选地,IO模型的类型可至少包括读密集型IO模型、写密集型IO模型、数据冷热程度IO模型、随机写IO模型和顺序写IO模型。
可选地,策略确定单元还可被配置为:当IO模型为读密集型IO模型时,确定使用round-robin策略作为数据摆放策略;当IO模型为写密集型IO模型时,确定使用条带策略作为数据摆放策略;当IO模型为数据冷热程度IO模型时,确定使用冷热数据区分存储的策略;当IO模型为顺序写IO模型时,采取将数据写入到低成本的闪存单元内的策略;当IO模型为随机写IO模型时,采取将数据写入到高速的闪存单元内的策略,从而提高了数据摆放策略的准确性。
可选地,优化目标可包括以下至少一项:写入性能、Nand闪存寿命、读时延。
可选地,选择单元被配置为:当预设的优化目标为写入性能时,选择写入性能优化训练数据策略,所述写入性能优化训练数据策略包括从工作负载度量数据中选择IO大小、IO次数、IO访问间隔、写放大因子中的至少一项作为用于进行训练的特征数据;当预设的优化目标为Nand闪存寿命时,选择Nand闪存寿命优化训练数据策略,所述Nand闪存寿命优化训练数据策略包括从工作负载度量数据中至少选择块擦除次数作为用于进行训练的特征数据;当预设的优化目标为读时延时,选择读时延优化训练数据策略,所述读时延优化训练数据策略包括从工作负载度量数据中选择IO大小、IO次数、读时延中的至少一项作为用于进行训练的特征数据。
可选地,所述装置还可包括:再次训练单元,被配置为:当检测到优化目标变化时,对预设时间段进行更新,并获取更新后的预设时间段的工作负载度量数据;根据变化后的优化目标重新选择机器学习模型和训练数据策略;根据重新选择的训练数据策略从更新后的预设时间段的工作负载度量数据中选择特征数据,来对重新选择的机器学习模型再次进行训练,以在后续的每个预测时刻使用再次训练后的机器学习模型来确定数据摆放策略。
可选地,所述装置还可包括:数据采集单元,被配置为实时地采集工作负载度量数据,以获得当前的工作负载度量数据。
根据本公开的示例性实施例,提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现根据本公开的示例性实施例的确定SSD内数据摆放策略的方法。
根据本公开的示例性实施例,提供一种SSD,包括存储单元;控制芯片,被配置为:获取优化目标和预先采集的预设时间段的工作负载度量数据;根据优化目标选择机器学习模型和训练数据策略;根据选择出的训练数据策略从所述预设时间段的工作负载度量数据中选择特征数据,基于选择的特征数据对选择出的机器学习模型进行训练;在后续的每个预测时刻,通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在所述预测时刻采集的工作负载度量数据确定与所述预测时刻对应的预测时间段的数据摆放策略。
根据本公开的示例性实施例,提供一种计算装置,包括:处理器;存储器,存储有计算机程序,当所述计算机程序被处理器执行时,实现根据本公开的示例性实施例的确定SSD内数据摆放策略的方法。
根据本公开示例性实施例的确定SSD内数据摆放策略的方法及装置,通过获取优化目标和预先采集的预设时间段的工作负载度量数据;根据优化目标选择机器学习模型和训练数据策略;根据选择出的训练数据策略从所述预设时间段的工作负载度量数据中选择特征数据,基于选择的特征数据对选择出的机器学习模型进行训练;在后续的每个预测时刻,通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在所述预测时刻采集的工作负载度量数据确定与所述预测时刻对应的预测时间段的数据摆放策略,使得SSD在各种工作负载环境下都能获得性能优化,从而实现了动态确定数据摆放策略,提高了数据摆放策略的准确性。
将在接下来的描述中部分阐述本公开总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本公开总体构思的实施而得知。
附图说明
通过下面结合示例性地示出实施例的附图进行的描述,本公开示例性实施例的上述和其他目的和特点将会变得更加清楚,其中:
图1示出Round-Robin策略原理的示意图;
图2示出条带策略原理的示意图;
图3示出根据本公开示例性实施例的确定SSD内数据摆放策略的方法的流程图;
图4示出根据本公开示例性实施例的确定SSD内数据摆放策略的装置的框图;和
图5示出根据本公开示例性实施例的计算装置的示意图。
具体实施方式
现将详细参照本公开的示例性实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的部件。以下将通过参照附图来说明所述实施例,以便解释本公开。
图3示出根据本公开示例性实施例的确定固态硬盘(Solid State Drive,简称SSD)内数据摆放策略的方法的流程图。
参照图3,在步骤S301,获取优化目标和预先采集的预设时间段的工作负载度量数据。
在本公开的示例性实施例中,用户可根据不同应用场景,设置不同SSD的优化目标。应用场景可以是例如写场景、读场景等,优化目标可以是以下至少一项:例如,写入性能、Nand闪存寿命、读时延等,应理解,优化目标也可以是与数据摆放有关的其他目标,本公开对此不进行限制。
在本公开的示例性实施例中,可实时地或周期性地(例如,周期为1s或者5s等)采集SSD的工作负载度量数据。
具体来说,工作负载度量数据可包括但不限于以下中的一个或更多个:输入输出(Input/Output,简称I/O)大小、I/O次数、读时延、写时延、写放大因子、块擦除次数、每秒输入输出次数(Input/Output Per Second,简称IOPS)、IO访问间隔等。因此,可实时地或者周期性地采集SSD的IO大小、IO次数、读时延、写时延、写放大因子、块擦除次数、IOPS等与SSD的工作负载有关的度量数据,以用于实时地或者周期性地动态确定SSD内的数据摆放策略,从而使得SSD的性能得到优化。
在步骤S302,根据优化目标选择机器学习模型和训练数据策略。
在本公开的示例性实施例中,根据优化目标选择机器学习模型和训练数据策略的步骤包括:当预设的优化目标为写入性能时,选择写入性能优化训练数据策略,所述写入性能优化训练数据策略包括从工作负载度量数据中选择IO大小、IO次数、IO访问间隔、写放大因子中的至少一项作为用于进行训练的特征数据;当预设的优化目标为Nand闪存寿命时,选择Nand闪存寿命优化训练数据策略,所述Nand闪存寿命优化训练数据策略包括从工作负载度量数据中至少选择块擦除次数作为用于进行训练的特征数据;当预设的优化目标为读时延时,选择读时延优化训练数据策略,所述读时延优化训练数据策略包括从工作负载度量数据中选择IO大小、IO次数、读时延中的至少一项作为用于进行训练的特征数据。应理解,训练数据策略还可包括针对其他优化目标来选择训练数据的策略,本公开对此不进行限制。
在本公开的示例性实施例中,机器学习模型可以是但不限于回归算法模型、聚类算法模型、长短期记忆网络(Long Short-Term Memory,简称LSTM)模型、循环神经网络(Recurrent Neural Network,简称RNN)模型等。
在步骤S303,根据选择出的训练数据策略从预设时间段的工作负载度量数据中选择特征数据,基于选择的特征数据对选择出的机器学习模型进行训练。
具体来说,当预设的优化目标为写入性能时,可根据选择出的训练数据策略从工作负载度量数据中至少选择IO大小、IO次数、IO访问间隔、写放大因子中的一项或更多项作为用于进行训练的特征数据;当预设的优化目标为Nand闪存寿命时,可根据选择出的训练数据策略从工作负载度量数据中至少选择块擦除次数作为用于进行训练的特征数据;当预设的优化目标为读时延时,可根据选择出的训练数据策略从工作负载度量数据中至少选择IO大小、IO次数、读时延中的一项或更多项作为用于进行训练的特征数据。
在本公开的示例性实施例中,可基于选择的特征数据对选择出的机器学习模型进行离线或者在线训练,本公开对此不进行限制。
在步骤S304,在后续的每个预测时刻,通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在所述预测时刻采集的工作负载度量数据确定与所述预测时刻对应的预测时间段的数据摆放策略。
具体来说,可将实时地或者周期性地采集的工作负载度量数据输入到训练后的机器学习模型来实时地或者周期性地确定数据摆放策略,从而实现了动态调整数据摆放策略,提高了数据摆放策略的准确性。
在本公开的示例性实施例中,在通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在所述预测时刻采集的工作负载度量数据确定与所述预测时刻对应的预测时间段的数据摆放策略时,可首先通过训练后的机器学习模型根据预设时间段的工作负载度量数据和在当前预测时刻采集的工作负载度量数据预测IO模型,然后根据预测的IO模型确定当前预测时刻对应的预测时间段的数据摆放策略,从而提高了数据摆放策略的准确性。
在本公开的示例性实施例中,IO模型的类型可至少包括读密集型IO模型、写密集型IO模型、数据冷热程度IO模型、顺序写IO模型和随机写IO模型等。
在本公开的示例性实施例中,在根据预测的IO模型确定下一时间段的数据摆放策略时,当IO模型为读密集型IO模型时,确定使用Round-Robin策略作为数据摆放策略;当IO模型为写密集型IO模型时,确定使用条带策略作为数据摆放策略;当IO模型为数据冷热程度IO模型时,确定使用冷热数据分区存储的策略。例如:热数据放到同一物理块上,冷数据放到另一物理块上。当IO模型为顺序写IO模型时,采取将数据写入到低成本的闪存单元内的策略。例如,数据写入多层单元闪存(Multi-Level Cell,简称MLC)。当IO模型为随机写IO模型时,采取将数据写入到高速的闪存单元内的策略。例如,数据写入单层单元闪存(Single-Level Cell,简称SLC)。
在本公开的示例性实施例中,还可以当检测到优化目标变化时,对预设时间段进行更新,并获取更新后的预设时间段的工作负载度量数据;根据变化后的优化目标重新选择机器学习模型和训练数据策略;根据重新选择的训练数据策略从更新后的预设时间段的工作负载度量数据中选择特征数据,来对重新选择的机器学习模型再次进行训练,以在后续的每个预测时刻使用再次训练后的机器学习模型来确定数据摆放策略,从而提高机器学习模型的准确性,进而提高数据摆放策略的准确性。
以上已经结合图3对根据本公开示例性实施例的确定SSD内数据摆放策略的方法进行了描述。在下文中,将参照图4对根据本公开示例性实施例的确定SSD内数据摆放策略的装置及其单元进行描述。
图4示出根据本公开示例性实施例的确定SSD内数据摆放策略的装置的框图。该确定SSD内数据摆放策略的装置可被包括在SSD内,也可位于与SSD连接的电子装置(例如,计算机)中。
参照图4,确定SSD内数据摆放策略的装置包括数据获取单元41、选择单元42、模型训练单元43和策略确定单元44。
数据获取单元41被配置为获取优化目标和预先采集的预设时间段的工作负载度量数据。
在本公开的示例性实施例中,优化目标可包括以下至少一项:写入性能、Nand闪存寿命、读时延。
在本公开的示例性实施例中,确定SSD内数据摆放策略的装置还可包括:数据采集单元(未示出),被配置为实时地或周期性地采集工作负载度量数据。
选择单元42被配置为根据优化目标选择机器学习模型和训练数据策略。
在本公开的示例性实施例中,选择单元被配置为:当预设的优化目标为写入性能时,选择写入性能优化训练数据策略,所述写入性能优化训练数据策略包括从工作负载度量数据中选择IO大小、IO次数、IO访问间隔、写放大因子中的至少一项作为用于进行训练的特征数据;当预设的优化目标为Nand闪存寿命时,选择Nand闪存寿命优化训练数据策略,所述Nand闪存寿命优化训练数据策略包括从工作负载度量数据中至少选择块擦除次数作为用于进行训练的特征数据;当预设的优化目标为读时延时,选择读时延优化训练数据策略,所述读时延优化训练数据策略包括从工作负载度量数据中选择IO大小、IO次数、读时延中的至少一项作为用于进行训练的特征数据。
模型训练单元43被配置为根据选择出的训练数据策略从预设时间段的工作负载度量数据中选择特征数据,基于选择的特征数据对选择出的机器学习模型进行训练。
策略确定单元44被配置为在后续的每个预测时刻,通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在所述预测时刻采集的工作负载度量数据确定与所述预测时刻对应的预测时间段的数据摆放策略。
在本公开的示例性实施例中,策略确定单元可被配置为:通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在当前预测时刻采集的工作负载度量数据预测IO模型;根据预测的IO模型确定与当前预测时刻对应的预测时间段的数据摆放策略。
在本公开的示例性实施例中,IO模型的类型可至少包括读密集型IO模型、写密集型IO模型、数据冷热程度IO模型、数据连续/随机程度IO模型。
在本公开的示例性实施例中,策略确定单元还可被配置为:当IO模型为读密集型IO模型时,确定使用Round-Robin策略作为数据摆放策略;当IO模型为写密集型IO模型时,确定使用条带策略作为数据摆放策略;当IO模型为数据冷热程度IO模型时,确定使用冷热数据区分存储的策略;当IO模型为顺序写IO模型时,采取将数据写入到低成本的闪存单元内的策略;当IO模型为随机写IO模型时,采取将数据写入到高速的闪存单元内的策略。
在本公开的示例性实施例中,确定SSD内数据摆放策略的装置还可包括再次训练单元(未示出),被配置为:当检测到优化目标变化时,对预设时间段进行更新,并获取更新后的预设时间段的工作负载度量数据;根据变化后的优化目标重新选择机器学习模型和训练数据策略;根据重新选择的训练数据策略从更新后的预设时间段的工作负载度量数据中选择特征数据,来对重新选择的机器学习模型再次进行训练,以在后续的每个预测时刻使用再次训练后的机器学习模型来确定数据摆放策略。
此外,根据本公开的示例性实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现根据本公开的示例性实施例的确定SSD内数据摆放策略的方法。
在本公开的示例性实施例中,所述计算机可读存储介质可承载有一个或者多个程序,当所述计算机程序被执行时可实现以下步骤:获取优化目标和预先采集的预设时间段的工作负载度量数据;根据优化目标选择机器学习模型和训练数据策略;根据选择出的训练数据策略从所述预设时间段的工作负载度量数据中选择特征数据,基于选择的特征数据对选择出的机器学习模型进行训练;在后续的每个预测时刻,通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在所述预测时刻采集的工作负载度量数据确定与所述预测时刻对应的预测时间段的数据摆放策略。
计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储计算机程序的有形介质,该计算机程序可以被指令执行***、装置或者器件使用或者与其结合使用。计算机可读存储介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。计算机可读存储介质可以包含在任意装置中;也可以单独存在,而未装配入该装置中。
此外,根据本公开的示例性实施例,还提供一种SSD,包括存储单元;控制芯片,被配置为:获取优化目标和预先采集的预设时间段的工作负载度量数据;根据优化目标选择机器学习模型和训练数据策略;根据选择出的训练数据策略从所述预设时间段的工作负载度量数据中选择特征数据,基于选择的特征数据对选择出的机器学习模型进行训练;在后续的每个预测时刻,通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在所述预测时刻采集的工作负载度量数据确定与所述预测时刻对应的预测时间段的数据摆放策略。
以上已经结合图4对根据本公开示例性实施例的确定SSD内数据摆放策略的装置进行了描述。接下来,结合图5对根据本公开的示例性实施例的计算装置进行描述。
图5示出根据本公开示例性实施例的计算装置的示意图。
参照图5,根据本公开示例性实施例的计算装置5,包括存储器51和处理器52,所述存储器51上存储有计算机程序,当所述计算机程序被处理器52执行时,实现根据本公开的示例性实施例的确定SSD内数据摆放策略的方法。
在本公开的示例性实施例中,当所述计算机程序被处理器52执行时,可实现以下步骤:获取优化目标和预先采集的预设时间段的工作负载度量数据;根据优化目标选择机器学习模型和训练数据策略;根据选择出的训练数据策略从所述预设时间段的工作负载度量数据中选择特征数据,基于选择的特征数据对选择出的机器学习模型进行训练;在后续的每个预测时刻,通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在所述预测时刻采集的工作负载度量数据确定与所述预测时刻对应的预测时间段的数据摆放策略。
本公开实施例中的计算装置可以包括但不限于诸如移动电话、笔记本电脑、PDA(个人数字助理)、PAD(平板电脑)、台式计算机等的装置。图5示出的计算装置仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
以上已参照图3至图5描述了根据本公开示例性实施例的确定SSD内数据摆放策略的方法及装置。然而,应该理解的是:图4中所示的确定SSD内数据摆放策略的装置及其单元可分别被配置为执行特定功能的软件、硬件、固件或上述项的任意组合,图5中所示的计算装置并不限于包括以上示出的组件,而是可根据需要增加或删除一些组件,并且以上组件也可被组合。
根据本公开示例性实施例的确定SSD内数据摆放策略的方法及装置,通过获取优化目标和预先采集的预设时间段的工作负载度量数据;根据优化目标选择机器学习模型和训练数据策略;根据选择出的训练数据策略从所述预设时间段的工作负载度量数据中选择特征数据,基于选择的特征数据对选择出的机器学习模型进行训练;在后续的每个预测时刻,通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在所述预测时刻采集的工作负载度量数据确定与所述预测时刻对应的预测时间段的数据摆放策略,使得SSD在各种工作负载环境下都能获得性能优化,从而实现了动态确定数据摆放策略,提高了数据摆放策略的准确性。
尽管已经参照其示例性实施例具体显示和描述了本公开,但是本领域的技术人员应该理解,在不脱离权利要求所限定的本公开的精神和范围的情况下,可以对其进行形式和细节上的各种改变。
Claims (17)
1.一种确定固态硬盘SSD内数据摆放策略的方法,包括:
获取优化目标和预先采集的预设时间段的工作负载度量数据;
根据优化目标选择机器学习模型和训练数据策略;
根据选择出的训练数据策略从所述预设时间段的工作负载度量数据中选择特征数据,基于选择的特征数据对选择出的机器学习模型进行训练;
在后续的每个预测时刻,通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在所述预测时刻采集的工作负载度量数据确定与所述预测时刻对应的预测时间段的数据摆放策略。
2.根据权利要求1所述的方法,其中,通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在所述预测时刻采集的工作负载度量数据确定与所述预测时刻对应的预测时间段的数据摆放策略的步骤包括:
通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在当前预测时刻采集的工作负载度量数据预测输入输出IO模型;
根据预测的IO模型确定与当前预测时刻对应的预测时间段的数据摆放策略。
3.根据权利要求2所述的方法,其中,IO模型的类型至少包括读密集型IO模型、写密集型IO模型、数据冷热程度IO模型、顺序写IO模型、随机写IO模型。
4.根据权利要求3所述的方法,其中,根据预测的IO模型确定下一时间段的数据摆放策略的步骤包括:
当IO模型为读密集型IO模型时,确定使用round-robin策略作为数据摆放策略;
当IO模型为写密集型IO模型时,确定使用条带策略作为数据摆放策略;
当IO模型为数据冷热程度IO模型时,确定使用冷热数据分区存储的策略;
当IO模型为顺序写IO模型时,采取将数据写入到低成本的闪存单元内的策略;
当IO模型为随机写IO模型时,采取将数据写入到高速的闪存单元内的策略。
5.根据权利要求1所述的方法,其中,优化目标包括以下至少一项:写入性能、Nand闪存寿命、读时延。
6.根据权利要求5所述的方法,其中,根据优化目标选择机器学习模型和训练数据策略的步骤包括:
当预设的优化目标为写入性能时,选择写入性能优化训练数据策略,所述写入性能优化训练数据策略包括从工作负载度量数据中选择IO大小、IO次数、IO访问间隔、写放大因子中的至少一项作为用于进行训练的特征数据;
当预设的优化目标为Nand闪存寿命时,选择Nand闪存寿命优化训练数据策略,所述Nand闪存寿命优化训练数据策略包括从工作负载度量数据中至少选择块擦除次数作为用于进行训练的特征数据;
当预设的优化目标为读时延时,选择读时延优化训练数据策略,所述读时延优化训练数据策略包括从工作负载度量数据中选择IO大小、IO次数、读时延中的至少一项作为用于进行训练的特征数据。
7.根据权利要求1所述的方法,还包括:
当检测到优化目标变化时,对预设时间段进行更新,并获取更新后的预设时间段的工作负载度量数据;
根据变化后的优化目标重新选择机器学习模型和训练数据策略;
根据重新选择的训练数据策略从更新后的预设时间段的工作负载度量数据中选择特征数据,来对重新选择的机器学习模型再次进行训练,以在后续的每个预测时刻使用再次训练后的机器学习模型来确定数据摆放策略。
8.一种确定SSD内数据摆放策略的装置,包括:
数据获取单元,被配置为获取优化目标和预先采集的预设时间段的工作负载度量数据;
选择单元,被配置为根据优化目标选择机器学习模型和训练数据策略;
模型训练单元,被配置为根据选择出的训练数据策略从所述预设时间段的工作负载度量数据中选择特征数据,基于选择的特征数据对选择出的机器学习模型进行训练;和
策略确定单元,被配置为在后续的每个预测时刻,通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在所述预测时刻采集的工作负载度量数据确定与所述预测时刻对应的预测时间段的数据摆放策略。
9.根据权利要求8所述的装置,其中,策略确定单元被配置为:
通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在当前预测时刻采集的工作负载度量数据预测IO模型;
根据预测的IO模型确定与当前预测时刻对应的预测时间段的数据摆放策略。
10.根据权利要求9所述的装置,其中,IO模型的类型至少包括读密集型IO模型、写密集型IO模型、数据冷热程度IO模型、随机写IO模型和顺序写IO模型。
11.根据权利要求10所述的装置,其中,策略确定单元还被配置为:
当IO模型为读密集型IO模型时,确定使用round-robin策略作为数据摆放策略;
当IO模型为写密集型IO模型时,确定使用条带策略作为数据摆放策略;
当IO模型为数据冷热程度IO模型时,确定使用冷热数据区分存储的策略;
当IO模型为顺序写IO模型时,采取将数据写入到低成本的闪存单元内的策略;
当IO模型为随机写IO模型时,采取将数据写入到高速的闪存单元内的策略。
12.根据权利要求8所述的装置,其中,优化目标包括以下至少一项:写入性能、Nand闪存寿命、读时延。
13.根据权利要求12所述的装置,其中,选择单元被配置为:
当预设的优化目标为写入性能时,选择写入性能优化训练数据策略,所述写入性能优化训练数据策略包括从工作负载度量数据中选择IO大小、IO次数、IO访问间隔、写放大因子中的至少一项作为用于进行训练的特征数据;
当预设的优化目标为Nand闪存寿命时,选择Nand闪存寿命优化训练数据策略,所述Nand闪存寿命优化训练数据策略包括从工作负载度量数据中至少选择块擦除次数作为用于进行训练的特征数据;
当预设的优化目标为读时延时,选择读时延优化训练数据策略,所述读时延优化训练数据策略包括从工作负载度量数据中选择IO大小、IO次数、读时延中的至少一项作为用于进行训练的特征数据。
14.根据权利要求8所述的装置,还包括再次训练单元,被配置为:
当检测到优化目标变化时,对预设时间段进行更新,并获取更新后的预设时间段的工作负载度量数据;
根据变化后的优化目标重新选择机器学习模型和训练数据策略;
根据重新选择的训练数据策略从更新后的预设时间段的工作负载度量数据中选择特征数据,来对重新选择的机器学习模型再次进行训练,以在后续的每个预测时刻使用再次训练后的机器学习模型来确定数据摆放策略。
15.一种存储有计算机程序的计算机可读存储介质,其中,当所述计算机程序被处理器执行时,实现权利要求1至7中任一项所述的确定SSD内数据摆放策略的方法。
16.一种SSD,包括:
存储单元;
控制芯片,被配置为:
获取优化目标和预先采集的预设时间段的工作负载度量数据;
根据优化目标选择机器学习模型和训练数据策略;
根据选择出的训练数据策略从所述预设时间段的工作负载度量数据中选择特征数据,基于选择的特征数据对选择出的机器学习模型进行训练;
在后续的每个预测时刻,通过训练后的机器学习模型根据所述预设时间段的工作负载度量数据和在所述预测时刻采集的工作负载度量数据确定所述预测时刻对应的预测时间段的数据摆放策略。
17.一种计算装置,包括:
处理器;
存储器,存储有计算机程序,当所述计算机程序被处理器执行时,实现权利要求1至7中任一项所述的确定SSD内数据摆放策略的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911355189.5A CN111176564B (zh) | 2019-12-25 | 2019-12-25 | 确定ssd内数据摆放策略的方法及装置 |
KR1020200149157A KR20210082345A (ko) | 2019-12-25 | 2020-11-10 | Ssd 내 데이터 배치를 위한 전략을 결정하는 방법 및 장치 |
US16/952,855 US11397529B2 (en) | 2019-12-25 | 2020-11-19 | Method and device for determining strategy for data placement within SSD |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911355189.5A CN111176564B (zh) | 2019-12-25 | 2019-12-25 | 确定ssd内数据摆放策略的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111176564A CN111176564A (zh) | 2020-05-19 |
CN111176564B true CN111176564B (zh) | 2024-02-27 |
Family
ID=70650457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911355189.5A Active CN111176564B (zh) | 2019-12-25 | 2019-12-25 | 确定ssd内数据摆放策略的方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11397529B2 (zh) |
KR (1) | KR20210082345A (zh) |
CN (1) | CN111176564B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210031220A (ko) * | 2019-09-11 | 2021-03-19 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US11543981B2 (en) * | 2020-06-12 | 2023-01-03 | Western Digital Technologies, Inc. | Data storage device self-configuring based on customer prediction model |
KR20220105303A (ko) * | 2021-01-20 | 2022-07-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US11513720B1 (en) * | 2021-06-11 | 2022-11-29 | Western Digital Technologies, Inc. | Data storage device having predictive analytics |
US12026542B2 (en) * | 2021-07-15 | 2024-07-02 | International Business Machines Corporation | Optimizing deployment of machine learning workloads |
US20230022330A1 (en) * | 2021-07-22 | 2023-01-26 | EMC IP Holding Company LLC | Blockchain-enabled storage array |
CN113886382A (zh) * | 2021-08-23 | 2022-01-04 | 阿里云计算有限公司 | 数据库任务处理方法、设备及存储介质 |
US11599298B1 (en) * | 2021-09-23 | 2023-03-07 | Western Digital Technologies, Inc. | Storage system and method for prediction-based pre-erase of blocks to improve sequential performance |
KR102484073B1 (ko) * | 2021-11-22 | 2023-01-02 | 삼성전자주식회사 | 스토리지 시스템 |
CN114442935B (zh) * | 2021-12-29 | 2023-08-04 | 天翼云科技有限公司 | 刷脏数据的方法、装置、电子设备及存储介质 |
CN114637466B (zh) * | 2022-03-03 | 2022-11-11 | 深圳大学 | 一种数据读写行为推测方法、装置、存储介质及电子设备 |
CN114860160B (zh) * | 2022-04-15 | 2023-04-07 | 北京科杰科技有限公司 | 一种针对Hadoop数据平台的扩容资源预测方法及*** |
CN114840149B (zh) * | 2022-07-06 | 2022-09-23 | 江苏华存电子科技有限公司 | 一种超级闪存的时序稳定分析方法及*** |
CN117854569B (zh) * | 2024-03-05 | 2024-05-24 | 合肥康芯威存储技术有限公司 | 一种存储器的性能测试***及性能测试方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834479A (zh) * | 2015-04-24 | 2015-08-12 | 清华大学 | 面向云平台的自动优化存储***配置的方法及*** |
US10127234B1 (en) * | 2015-03-27 | 2018-11-13 | Amazon Technologies, Inc. | Proactive optimizations at multi-tier file systems |
CN109417564A (zh) * | 2016-07-22 | 2019-03-01 | 英特尔公司 | 用于基于资源利用阶段来指派工作负载的技术 |
CN110188910A (zh) * | 2018-07-10 | 2019-08-30 | 第四范式(北京)技术有限公司 | 利用机器学习模型提供在线预测服务的方法及*** |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7506098B2 (en) | 2006-06-08 | 2009-03-17 | Bitmicro Networks, Inc. | Optimized placement policy for solid state storage devices |
US7853759B2 (en) * | 2007-04-23 | 2010-12-14 | Microsoft Corporation | Hints model for optimization of storage devices connected to host and write optimization schema for storage devices |
US8327066B2 (en) | 2008-09-30 | 2012-12-04 | Samsung Electronics Co., Ltd. | Method of managing a solid state drive, associated systems and implementations |
US9098201B2 (en) | 2011-06-23 | 2015-08-04 | Cohort Fs, Llc | Dynamic data placement for distributed storage |
EP2629247B1 (en) | 2012-02-15 | 2014-01-08 | Alcatel Lucent | Method for mapping media components employing machine learning |
US9582297B2 (en) | 2013-05-16 | 2017-02-28 | Vmware, Inc. | Policy-based data placement in a virtualized computing environment |
US9256371B2 (en) * | 2013-05-28 | 2016-02-09 | Globalfoundries Inc. | Implementing reinforcement learning based flash control |
US9152495B2 (en) | 2013-07-03 | 2015-10-06 | SanDisk Technologies, Inc. | Managing non-volatile media using multiple error correcting codes |
US9652471B1 (en) | 2014-12-15 | 2017-05-16 | Amazon Technologies, Inc. | Intelligent file system with transparent storage tiering |
US9851919B2 (en) | 2014-12-31 | 2017-12-26 | Netapp, Inc. | Method for data placement in a memory based file system |
US10943184B2 (en) * | 2017-09-14 | 2021-03-09 | Amadeus S.A.S. | Machine learning methods and systems for predicting online user interactions |
US10254979B1 (en) | 2017-09-28 | 2019-04-09 | Intel Corporation | Relocating or aborting a block of data by a host, based on media policies managed by a storage device |
EP3732628A1 (en) * | 2018-05-18 | 2020-11-04 | Google LLC | Learning data augmentation policies |
-
2019
- 2019-12-25 CN CN201911355189.5A patent/CN111176564B/zh active Active
-
2020
- 2020-11-10 KR KR1020200149157A patent/KR20210082345A/ko active Search and Examination
- 2020-11-19 US US16/952,855 patent/US11397529B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10127234B1 (en) * | 2015-03-27 | 2018-11-13 | Amazon Technologies, Inc. | Proactive optimizations at multi-tier file systems |
CN104834479A (zh) * | 2015-04-24 | 2015-08-12 | 清华大学 | 面向云平台的自动优化存储***配置的方法及*** |
CN109417564A (zh) * | 2016-07-22 | 2019-03-01 | 英特尔公司 | 用于基于资源利用阶段来指派工作负载的技术 |
CN110188910A (zh) * | 2018-07-10 | 2019-08-30 | 第四范式(北京)技术有限公司 | 利用机器学习模型提供在线预测服务的方法及*** |
Non-Patent Citations (3)
Title |
---|
Matthieu Dorier.Using Formal Grammars to Predict I/O Behaviors in HPC:The Omnisc''IO Approach.《IEEE Transactions on Parallel and Distributed Systems》.2015,摘要. * |
李东阳 ; 刘鹏 ; 丁科 ; 田浪军 ; .基于固态硬盘的云存储分布式缓存策略.计算机工程.2013,(04),全文. * |
罗蜜.基于数据生存期的固态盘性能优化策略研究.《中国优秀硕士学位论文全文数据库 信息科技辑》.2018,全文. * |
Also Published As
Publication number | Publication date |
---|---|
KR20210082345A (ko) | 2021-07-05 |
US11397529B2 (en) | 2022-07-26 |
US20210200448A1 (en) | 2021-07-01 |
CN111176564A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111176564B (zh) | 确定ssd内数据摆放策略的方法及装置 | |
US10922235B2 (en) | Method and system for address table eviction management | |
US9645924B2 (en) | Garbage collection scaling | |
CN108121503B (zh) | 一种NandFlash地址映射及块管理方法 | |
US20190243771A1 (en) | Accelerate Data Access in Memory Systems via Data Stream Segregation | |
US8938630B2 (en) | Apparatus power control | |
US8966204B2 (en) | Data migration between memory locations | |
US11093152B2 (en) | Automated storage tiering by access pattern detection and temporal trend prediction | |
US20140013032A1 (en) | Method and apparatus for controlling writing data in storage unit based on nand flash memory | |
KR20140040998A (ko) | 로그기반 데이터 저장 시스템의 관리방법 | |
CN110162491A (zh) | 存储器控制器及其操作方法、应用处理器和数据处理*** | |
Zhang et al. | CRFTL: cache reallocation-based page-level flash translation layer for smartphones | |
Wang et al. | A novel buffer management scheme based on particle swarm optimization for SSD | |
TW202307662A (zh) | 電腦系統、儲存器裝置以及操作電腦系統的方法 | |
CN115934002B (zh) | 固态硬盘的访问方法、固态硬盘、存储***及云服务器 | |
US10317982B2 (en) | Sequence power control | |
KR20220148944A (ko) | 호스트 시스템의 워크로드에 기초하여 저장 장치에 대한 판독 동작 식별 | |
Sun et al. | CalmWPC: A buffer management to calm down write performance cliff for NAND flash-based storage systems | |
Xiao et al. | PASM: Parallelism Aware Space Management strategy for hybrid SSD towards in-storage DNN training acceleration | |
KR20230031123A (ko) | 메모리 모듈, 메모리 모듈을 포함하는 메모리 시스템 및 그 동작 방법 | |
TW202034172A (zh) | 非對稱型平面管理方法以及資料儲存裝置及其控制器 | |
Chen et al. | Short-term and long-term idle time detectors for reducing long-tail latency in solid-state drives | |
Yao et al. | Uniform scheduling of interruptible garbage collection and request IO to improve performance and wear-leveling of SSDs | |
KR101051504B1 (ko) | 저전력과 입출력 성능 향상을 위한 n-블록 선반입 기반의 하이브리드 하드디스크 입출력 시스템 | |
KR20240014315A (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 |