CN109189693B - 一种对lba信息进行预测的方法及ssd - Google Patents
一种对lba信息进行预测的方法及ssd Download PDFInfo
- Publication number
- CN109189693B CN109189693B CN201810789741.0A CN201810789741A CN109189693B CN 109189693 B CN109189693 B CN 109189693B CN 201810789741 A CN201810789741 A CN 201810789741A CN 109189693 B CN109189693 B CN 109189693B
- Authority
- CN
- China
- Prior art keywords
- ssd
- lbas
- lba
- subsequent
- trace
- 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 54
- 238000012005 ligant binding assay Methods 0.000 claims abstract description 94
- 238000003064 k means clustering Methods 0.000 claims description 7
- 239000007787 solid Substances 0.000 claims description 5
- 230000006870 function Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- 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/0614—Improving the reliability 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/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/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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4498—Finite state machines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种对LBA信息进行预测的方法,包括:SSD接收主机发送的Trace,所述Trace为主机获取所述SSD在一定重复使用环境中的Trace;所述SSD根据所述Trace确定所述SSD当前接收到的所有LBA;所述SSD基于预设学习算法对所述所有LBA进行学习,以获取LBA分布情况;所述SSD基于所述LBA分布情况对后续的LBA进行热度分类和预测。从而能够学习SSD在主机具有重复性使用环境下的LBA分布情况,对SSD以后使用中接下来的LBA进行热度分类和预测,从而提升读写命中率和GC冷热数据分类的效率。
Description
技术领域
本发明涉及数据处理领域,尤其涉及对LBA信息进行预测的方法及SSD。
背景技术
固态硬盘(Solid State Drives,SSD)通常需要对提供给主机接下来的逻辑块地址(Logical Block Address,LBA)进行预测,如果能尽可能的准确预测LBA信息,可以将热度较高的LBA数据缓冲到buffer中,提高主机读写命令的性能,降低延时。同时如果能预测到接下来的LBA是热数据或者冷数据,SSD中的FTL算法能够将冷热数据分类,提高垃圾回收(Garbage Collection,GC)效率。当前IO PATTERN的预测技术主要分为以下两类:
基于主机对LBA访问频率和邻近信息的显式算法,包括对LBA写频率(Frequency)的统计,对LBA生命周期(Age)的统计,对连续两次相同LBA内部间隔的统计(IRR),甚至有些算法综合了Frequency和Age。此类算法基本上需要在内存中统计所有LBA的访问频率等信息,需要巨大的内存容量。
另外一批算法使用数据结构统计当前邻近或者最热的LBA的频率或者热度信息的隐式算法,此类算法类似于主机系统的CPU cache的统计,主要包括的算法包括多级LRUlist,Multiple hash functions(MHF),Multiple Bloom Filters(MBF),Window basedDirect address Counting。
而当前比较流行的基于族(Cluster)的算法,主要包括Dynamic DATA CLUSTERING(DAC),IRR based K-Means,Extent-based Temperature使用特定算法将数据热度分为多个类,能显著的提升GC效率。
当前主流的显式算法,虽然拥有较高的准确率,针对每一个LBA都需要存放到内存中一组热度信息,对内存开销极大,对嵌入式系统基本上是不可行的。并且它只能分辨冷热数据,无法对接下来的LBA进行预测。一个固定的冷热数据门限也无法适应所有的主机负载。
当前主流的隐式算法,只需要有限的内存开销去记录例如LRU list,bloomfilter size等信息,预测冷热数据可能存在虚警,同样的,无法对接下来的LBA进行预测。
基于族的算法能够在尽量减小内存消耗的情况下,提高冷热度划分的准确度,拥有较高的性能,同样的,他们也只能对数据进行冷热度分类,无法做到预测。
发明内容
本发明的目的在于克服现有技术的不足,提供一种对LBA信息进行预测的方法及SSD,能够学习SSD在主机具有重复性使用环境下的LBA分布情况,对SSD以后使用中接下来的LBA进行热度分类和预测,从而提升读写命中率和GC冷热数据分类的效率。
为解决上述问题,本发明提供一种对LBA信息进行预测的方法,包括:
SSD接收主机发送的Trace,所述Trace为主机获取所述SSD在一定重复使用环境中的Trace;
所述SSD根据所述Trace确定所述SSD当前接收到的所有LBA;
所述SSD基于预设学习算法对所述所有LBA进行学习,以获取LBA分布情况;
所述SSD基于所述LBA分布情况对后续的LBA进行热度分类和预测。
可选地,所述SSD根据所述Trace确定所述SSD当前接收到的所有LBA包括:
所述SSD根据所述Trace确定所述主机下发的所有读写命令;
所述SSD确定所述读写命令中携带的LBA和进程号ID参数。
可选地,所述SSD基于预设学习算法对所述所有LBA进行学习,以获取LBA分布情况包括:
所述SSD依次确定各相邻的LBA之间的距离;
所述SSD确定所述各相邻的LBA之间的距离中大于预设门限值的各目标距离;
所述SSD依次将所述各目标距离和对应的当前LBA的进程号ID记录为一个二维坐标,得到m个二维坐标,其中,二维坐标的横坐标表示距离,纵坐标表示进程号ID,m为正整数;
所述SSD对所述m个二维坐标进行K-MEANS聚类操作,得到n个类,所述m为正整数;
所述SSD将得到的所述n个类作为LSTM的预测目标,建立n个LSTM的状态机;
所述SSD将所述m个二维坐标作为输入,输入至所述n个LSTM的状态机,训练得到n个LSTM状态机的参数。
可选地,所述SSD基于所述LBA分布情况对后续的LBA进行热度分类和预测包括:
所述SSD基于训练得到的所述n个LSTM状态机的参数确定目标LSTM状态机;
所述SSD根据所述目标LSTM状态机对后续的LBA进行热度分类和预测。
可选地,所述SSD根据所述目标LSTM状态机对后续的LBA进行热度分类和预测包括:
所述SSD接收所述主机发送的后续读写命令;
所述SSD确定所述主机发送的后续读写命令中携带的后续LBA和后续进程号ID参数;
若所述SSD确定相邻的后续LBA之间的距离大于预设门限值,则将所述后续LBA之间的距离和对应的当前LBA的进程号ID所记录的二维坐标作为输入,输入至所述目标LSTM状态机,得到后续的LBA的热度分类和预测。
本发明还提供一种SSD,包括:
接收模块,用于接收主机发送的Trace,所述Trace为主机获取SSD在一定重复使用环境中的Trace;
确定模块,用于根据所述Trace确定所述SSD当前接收到的所有LBA;
学习模块,用于基于预设学习算法对所述所有LBA进行学习,以获取LBA分布情况;
预测模块,用于基于所述LBA分布情况对后续的LBA进行热度分类和预测。
可选地,所述确定模块,具体用于根据所述Trace确定所述主机下发的所有读写命令;确定所述读写命令中携带的LBA和进程号ID参数。
可选地,所述学习模块,具体用于依次确定各相邻的LBA之间的距离;确定所述各相邻的LBA之间的距离中大于预设门限值的各目标距离;依次将所述各目标距离和对应的当前LBA的进程号ID记录为一个二维坐标,得到m个二维坐标,其中,二维坐标的横坐标表示距离,纵坐标表示进程号ID,m为正整数;对所述m个二维坐标进行K-MEANS聚类操作,得到n个类,所述m为正整数;将得到的所述n个类作为LSTM的预测目标,建立n个LSTM的状态机;将所述m个二维坐标作为输入,输入至所述n个LSTM的状态机,训练得到n个LSTM状态机的参数。
可选地,所述预测模块,具体用于基于训练得到的所述n个LSTM状态机的参数确定目标LSTM状态机;根据所述目标LSTM状态机对后续的LBA进行热度分类和预测。
可选地,所述预测模块,具体用于接收所述主机发送的后续读写命令;确定所述主机发送的后续读写命令中携带的后续LBA和后续进程号ID参数;若确定相邻的后续LBA之间的距离大于预设门限值,则将所述后续LBA之间的距离和对应的当前LBA的进程号ID所记录的二维坐标作为输入,输入至所述目标LSTM状态机,得到后续的LBA的热度分类和预测。
本发明提供的对LBA信息进行预测的方法,通过学习SSD在主机具有重复性使用环境下的LBA分布情况,对SSD以后使用中接下来的LBA进行热度分类和预测,从而提升读写命中率和GC冷热数据分类的效率。
附图说明
图1为对LBA信息进行预测的方法一实施例的步骤流程图;
图2为SSD一实施例的结构示意图。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
具体实施方式
这里将详细地对示例性实施例进行说明,其实例表示在附图中,下面的描述涉及附图时,除非另有表示,不同附图中的数字表示相同或相似的要素,以下示例性实施例中所描述的装置和方法并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的,本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅处于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其含义。
如图1所示,一种对LBA信息进行预测的方法,包括如下步骤:
S1、SSD接收主机发送的Trace,所述Trace为主机获取所述SSD在一定重复使用环境中的Trace;
S2、所述SSD根据所述Trace确定所述SSD当前接收到的所有LBA;
S3、所述SSD基于预设学习算法对所述所有LBA进行学习,以获取LBA分布情况;
S4、所述SSD基于所述LBA分布情况对后续的LBA进行热度分类和预测。
上述步骤S1中,主机获取SSD在一定重复使用环境中(用户有规律的使用场景和模式)的Trace,并将Trace重新播放给SSD,其中,Trace中会携带读写命令。
步骤S2中,SSD接收到Trace,Trace中携带读写命令,读写命令携带LBA。此外,逻辑块,指的是存储在磁盘或者磁带上的数据块,该数据块具有一个用以检索或重写的地址。逻辑块的术语一般用来指主机角度的物理设备数据编址。在存储设备中,经常需要将提供给主机的逻辑块地址转换成相应的数据实际存储的物理介质地址。
步骤S3中,SSD固件通过学习算法对接收到的所有LBA进行学习,以学习到LBA的模式和规律。
步骤S4中,SSD固件进入到真正的使用环节,按照学习阶段学习到的LBA的模式和规律对后续的LBA进行热度分类和预测。
本实施例提供的对LBA信息进行预测的方法,通过学习SSD在主机具有重复性使用环境下的LBA分布情况,对SSD以后使用中接下来的LBA进行热度分类和预测,从而提升读写命中率和GC冷热数据分类的效率。
在一些实施例中,上述步骤S2,包括:
所述SSD根据所述Trace确定所述主机下发的所有读写命令;
所述SSD确定所述读写命令中携带的LBA和进程号ID参数。
本实施例中,主机将下发的所有读写命令带上LBA和进程号ID参数,从而SSD能够确定读写命令中携带的LBA和进程号ID参数。
在一些实施例中,上述步骤S3,包括:
所述SSD依次确定各相邻的LBA之间的距离;
所述SSD确定所述各相邻的LBA之间的距离中大于预设门限值的各目标距离;
所述SSD依次将所述各目标距离和对应的当前LBA的进程号ID记录为一个二维坐标,得到m个二维坐标,其中,二维坐标的横坐标表示距离,纵坐标表示进程号ID,m为正整数;
所述SSD对所述m个二维坐标进行K-MEANS聚类操作,得到n个类,所述m为正整数;
所述SSD将得到的所述n个类作为LSTM的预测目标,建立n个LSTM的状态机;
所述SSD将所述m个二维坐标作为输入,输入至所述n个LSTM的状态机,训练得到n个LSTM状态机的参数。
本实施例中,每当SSD收到的LBA(n+1)与LBA(n)之间的距离大于一个门限th,SSD计算得到LBA的差值△LBA=LBA(n+1)-LBA(n)。获取当前LBA的进程ID,同时记录(△LBA,ID)作为K-MEANS算法的一个记录点。
Trace播放完毕时,将所有m个(△LBA,ID)组成的二维坐标进行K-MEANS聚类操作,得到n个类。
将得到的n个类作为LSTM的预测目标,建立n个LSTM的状态机。
将m个(△LBA,ID)组成的二维坐标作为输入,输入至n个LSTM的状态机,训练得到n个LSTM状态机的参数,训练好的参数将作为后续预测的输入参数。
在一些实施例中,上述步骤S4,包括:
所述SSD基于训练得到的所述n个LSTM状态机的参数确定目标LSTM状态机;
所述SSD根据所述目标LSTM状态机对后续的LBA进行热度分类和预测。
进一步地,所述SSD根据所述目标LSTM状态机对后续的LBA进行热度分类和预测包括:
所述SSD接收所述主机发送的后续读写命令;
所述SSD确定所述主机发送的后续读写命令中携带的后续LBA和后续进程号ID参数;
若所述SSD确定相邻的后续LBA之间的距离大于预设门限值,则将所述后续LBA之间的距离和对应的当前LBA的进程号ID所记录的二维坐标作为输入,输入至所述目标LSTM状态机,得到后续的LBA的热度分类和预测。
本实施例中,SSD进入真正的使用环节。主机往SSD发送的每个读写命令,需要携带LBA和进程ID信息。其中,学习阶段是学习trace,而不是真正的为用户提供服务,真正的使用环节指为客户提供SSD的标准服务。读写命令是存储设备基本命令接口。
当SSD收到的LBA(n+1)与LBA(n)之间的距离大于一个门限th,将(△LBA,ID)输入对应聚类的LSTM,得到接下来的LBA的一个预测。
如图2所示,提供一种固态硬盘SSD,包括:
接收模块1,用于接收主机发送的Trace,所述Trace为主机获取SSD在一定重复使用环境中的Trace;
确定模块2,用于根据所述Trace确定所述SSD当前接收到的所有LBA;
学习模块3,用于基于预设学习算法对所述所有LBA进行学习,以获取LBA分布情况;
预测模块4,用于基于所述LBA分布情况对后续的LBA进行热度分类和预测。
本实施例提供的固态硬盘SSD,通过学习SSD在主机具有重复性使用环境下的LBA分布情况,对SSD以后使用中接下来的LBA进行热度分类和预测,从而提升读写命中率和GC冷热数据分类的效率。
在一些实施例中,确定模块2,具体用于根据所述Trace确定所述主机下发的所有读写命令;确定所述读写命令中携带的LBA和进程号ID参数。
学习模块3,具体用于依次确定各相邻的LBA之间的距离;确定所述各相邻的LBA之间的距离中大于预设门限值的各目标距离;依次将所述各目标距离和对应的当前LBA的进程号ID记录为一个二维坐标,得到m个二维坐标,其中,二维坐标的横坐标表示距离,纵坐标表示进程号ID,m为正整数;对所述m个二维坐标进行K-MEANS聚类操作,得到n个类,所述m为正整数;将得到的所述n个类作为LSTM的预测目标,建立n个LSTM的状态机;将所述m个二维坐标作为输入,输入至所述n个LSTM的状态机,训练得到n个LSTM状态机的参数。
预测模块4,具体用于基于训练得到的所述n个LSTM状态机的参数确定目标LSTM状态机;根据所述目标LSTM状态机对后续的LBA进行热度分类和预测。
预测模块4,还具体用于接收所述主机发送的后续读写命令;确定所述主机发送的后续读写命令中携带的后续LBA和后续进程号ID参数;若确定相邻的后续LBA之间的距离大于预设门限值,则将所述后续LBA之间的距离和对应的当前LBA的进程号ID所记录的二维坐标作为输入,输入至所述目标LSTM状态机,得到后续的LBA的热度分类和预测。
应当说明的是,上述实施例中固态硬盘SSD和对LBA信息进行预测的方法均是基于相同的发明构思。因此,固态硬盘SSD中各个功能模块中具体的功能可以具有对应的方法步骤,在此不再赘述。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围。凡是利用本发明说明书及附图内容所作的等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种对LBA信息进行预测的方法,其特征在于,包括:
SSD接收主机发送的Trace,所述Trace为主机获取所述SSD在一定重复使用环境中的Trace;
所述SSD根据所述Trace确定所述SSD当前接收到的所有LBA;
所述SSD基于预设学习算法对所述所有LBA进行学习,以获取LBA分布情况;
所述SSD基于所述LBA分布情况对后续的LBA进行热度分类和预测;
所述SSD根据所述Trace确定所述SSD当前接收到的所有LBA包括:
所述SSD根据所述Trace确定所述主机下发的所有读写命令;
所述SSD确定所述读写命令中携带的LBA和进程号ID参数;
所述SSD基于预设学习算法对所述所有LBA进行学习,以获取LBA分布情况包括:
所述SSD依次确定各相邻的LBA之间的距离;
所述SSD确定所述各相邻的LBA之间的距离中大于预设门限值的各目标距离;
所述SSD依次将所述各目标距离和对应的当前LBA的进程号ID记录为一个二维坐标,得到m个二维坐标,其中,二维坐标的横坐标表示距离,纵坐标表示进程号ID,m为正整数;
所述SSD对所述m个二维坐标进行K-MEANS聚类操作,得到n个类,所述m为正整数;
所述SSD将得到的所述n个类作为LSTM的预测目标,建立n个LSTM的状态机;
所述SSD将所述m个二维坐标作为输入,输入至所述n个LSTM的状态机,训练得到n个LSTM状态机的参数。
2.如权利要求1所述的方法,其特征在于,所述SSD基于所述LBA分布情况对后续的LBA进行热度分类和预测包括:
所述SSD基于训练得到的所述n个LSTM状态机的参数确定目标LSTM状态机;
所述SSD根据所述目标LSTM状态机对后续的LBA进行热度分类和预测。
3.如权利要求2所述的方法,其特征在于,所述SSD根据所述目标LSTM状态机对后续的LBA进行热度分类和预测包括:
所述SSD接收所述主机发送的后续读写命令;
所述SSD确定所述主机发送的后续读写命令中携带的后续LBA和后续进程号ID参数;
若所述SSD确定相邻的后续LBA之间的距离大于预设门限值,则将所述后续LBA之间的距离和对应的当前LBA的进程号ID所记录的二维坐标作为输入,输入至所述目标LSTM状态机,得到后续的LBA的热度分类和预测。
4.一种固态硬盘SSD,其特征在于,包括:
接收模块,用于接收主机发送的Trace,所述Trace为主机获取SSD在一定重复使用环境中的Trace;
确定模块,用于根据所述Trace确定所述SSD当前接收到的所有LBA;
学习模块,用于基于预设学习算法对所述所有LBA进行学习,以获取LBA分布情况;
预测模块,用于基于所述LBA分布情况对后续的LBA进行热度分类和预测;
所述确定模块,具体用于根据所述Trace确定所述主机下发的所有读写命令;确定所述读写命令中携带的LBA和进程号ID参数;
所述学习模块,具体用于依次确定各相邻的LBA之间的距离;确定所述各相邻的LBA之间的距离中大于预设门限值的各目标距离;依次将所述各目标距离和对应的当前LBA的进程号ID记录为一个二维坐标,得到m个二维坐标,其中,二维坐标的横坐标表示距离,纵坐标表示进程号ID,m为正整数;对所述m个二维坐标进行K-MEANS聚类操作,得到n个类,所述m为正整数;将得到的所述n个类作为LSTM的预测目标,建立n个LSTM的状态机;将所述m个二维坐标作为输入,输入至所述n个LSTM的状态机,训练得到n个LSTM状态机的参数。
5.如权利要求4所述的SSD,其特征在于,所述预测模块,具体用于基于训练得到的所述n个LSTM状态机的参数确定目标LSTM状态机;根据所述目标LSTM状态机对后续的LBA进行热度分类和预测。
6.如权利要求5所述的SSD,其特征在于,所述预测模块,具体用于接收所述主机发送的后续读写命令;确定所述主机发送的后续读写命令中携带的后续LBA和后续进程号ID参数;若确定相邻的后续LBA之间的距离大于预设门限值,则将所述后续LBA之间的距离和对应的当前LBA的进程号ID所记录的二维坐标作为输入,输入至所述目标LSTM状态机,得到后续的LBA的热度分类和预测。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810789741.0A CN109189693B (zh) | 2018-07-18 | 2018-07-18 | 一种对lba信息进行预测的方法及ssd |
PCT/CN2019/095198 WO2020015550A1 (zh) | 2018-07-18 | 2019-07-09 | 一种对lba信息进行预测的方法及ssd |
US17/111,493 US11435953B2 (en) | 2018-07-18 | 2020-12-03 | Method for predicting LBA information, and SSD |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810789741.0A CN109189693B (zh) | 2018-07-18 | 2018-07-18 | 一种对lba信息进行预测的方法及ssd |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109189693A CN109189693A (zh) | 2019-01-11 |
CN109189693B true CN109189693B (zh) | 2020-10-30 |
Family
ID=64936207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810789741.0A Active CN109189693B (zh) | 2018-07-18 | 2018-07-18 | 一种对lba信息进行预测的方法及ssd |
Country Status (3)
Country | Link |
---|---|
US (1) | US11435953B2 (zh) |
CN (1) | CN109189693B (zh) |
WO (1) | WO2020015550A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189693B (zh) | 2018-07-18 | 2020-10-30 | 深圳大普微电子科技有限公司 | 一种对lba信息进行预测的方法及ssd |
TWI694463B (zh) | 2019-04-18 | 2020-05-21 | 祥碩科技股份有限公司 | 資料儲存設備及其資料預測方法 |
US11321636B2 (en) | 2019-07-18 | 2022-05-03 | Innogrit Technologies Co., Ltd. | Systems and methods for a data storage system |
TWI754206B (zh) * | 2020-01-10 | 2022-02-01 | 祥碩科技股份有限公司 | 資料儲存系統、資料儲存裝置及其管理方法 |
CN111522512B (zh) * | 2020-04-22 | 2023-08-08 | 深圳忆联信息系统有限公司 | 优化的冷热数据分离方法、装置、计算机设备及存储介质 |
CN111831228B (zh) * | 2020-07-06 | 2024-06-07 | 山东华芯半导体有限公司 | 一种基于带外交互的ssd冷热数据分离方法 |
CN112379842B (zh) * | 2020-11-18 | 2024-09-13 | 深圳安捷丽新技术有限公司 | 一种预测数据冷热属性的方法和装置 |
CN112416262B (zh) * | 2020-12-08 | 2024-03-19 | 合肥大唐存储科技有限公司 | 一种固态硬盘中数据预读方法、存储介质和电子装置 |
CN115079957B (zh) * | 2022-07-20 | 2023-08-04 | 阿里巴巴(中国)有限公司 | 请求处理方法、装置、控制器、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183800A (zh) * | 2015-08-25 | 2015-12-23 | 百度在线网络技术(北京)有限公司 | 信息预测的方法和装置 |
CN107292412A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种问题预测方法及预测系统 |
CN107943715A (zh) * | 2017-10-12 | 2018-04-20 | 记忆科技(深圳)有限公司 | 一种提升NVMe固态硬盘读缓存命中的方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006215799A (ja) * | 2005-02-03 | 2006-08-17 | Toshiba Corp | メモリコントローラ |
US20080114960A1 (en) * | 2006-11-14 | 2008-05-15 | Tau-Li Huang | Memory control methods for accessing a memory with partial or full serial transmission, and related apparatus |
CN100573437C (zh) * | 2006-12-28 | 2009-12-23 | 华中科技大学 | 一种基于连续度聚类和时间序列的i/o区域预取方法 |
CN100428170C (zh) * | 2007-01-26 | 2008-10-22 | 清华大学 | 基于贝叶斯决策的负载感知的io性能优化方法 |
US9563367B2 (en) * | 2014-08-26 | 2017-02-07 | HGST Netherlands B.V. | Latency command processing for solid state drive interface protocol |
CN106250064B (zh) * | 2016-08-19 | 2020-05-12 | 深圳大普微电子科技有限公司 | 固态硬盘控制装置和基于学习的固态硬盘数据存取方法 |
US10235069B2 (en) * | 2016-12-22 | 2019-03-19 | Western Digital Technologies, Inc. | Load balancing by dynamically transferring memory range assignments |
US10963394B2 (en) * | 2018-04-16 | 2021-03-30 | Samsung Electronics Co., Ltd. | System and method for optimizing performance of a solid-state drive using a deep neural network |
CN109189693B (zh) * | 2018-07-18 | 2020-10-30 | 深圳大普微电子科技有限公司 | 一种对lba信息进行预测的方法及ssd |
-
2018
- 2018-07-18 CN CN201810789741.0A patent/CN109189693B/zh active Active
-
2019
- 2019-07-09 WO PCT/CN2019/095198 patent/WO2020015550A1/zh active Application Filing
-
2020
- 2020-12-03 US US17/111,493 patent/US11435953B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183800A (zh) * | 2015-08-25 | 2015-12-23 | 百度在线网络技术(北京)有限公司 | 信息预测的方法和装置 |
CN107292412A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种问题预测方法及预测系统 |
CN107943715A (zh) * | 2017-10-12 | 2018-04-20 | 记忆科技(深圳)有限公司 | 一种提升NVMe固态硬盘读缓存命中的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210096777A1 (en) | 2021-04-01 |
WO2020015550A1 (zh) | 2020-01-23 |
US11435953B2 (en) | 2022-09-06 |
CN109189693A (zh) | 2019-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109189693B (zh) | 一种对lba信息进行预测的方法及ssd | |
US10296225B2 (en) | Storage controller and method of operating the same | |
US20120102276A1 (en) | Storing Corresponding Data Units in a Common Storage Unit | |
US20190361811A1 (en) | Data processing apparatus and prefetch method | |
CN109491616B (zh) | 数据的存储方法和设备 | |
US20110258186A1 (en) | Assigning data for storage based on a frequency with which the data is accessed | |
CN102831087B (zh) | 基于混合存储器的数据读写处理方法和装置 | |
US11327869B2 (en) | Distributed architecture for determining performance parameters | |
CN108829343B (zh) | 一种基于人工智能的缓存优化方法 | |
CN108776617A (zh) | 一种基于访问频率和动态优先级的预取目标识别方法 | |
CN105159602B (zh) | 数据处理方法及存储设备 | |
CN115495394A (zh) | 数据预取方法和数据预取装置 | |
KR101990329B1 (ko) | 로그 데이터 분석을 이용한 데이터베이스 복구 속도 향상 기법 및 장치 | |
CN106020717B (zh) | 数据处理方法及电子设备 | |
CN103488772A (zh) | 一种通过外存对文件进行缓存的方法、系统及设备 | |
US7035980B2 (en) | Effects of prefetching on I/O requests in an information processing system | |
Gudmundsson et al. | Impact of storage technology on the efficiency of cluster-based high-dimensional index creation | |
CN100489779C (zh) | 输入/输出子系统中确定命令的装载的方法和设备 | |
CN100371876C (zh) | 多媒体文件的输入/输出控制方法和设备 | |
US11340814B1 (en) | Placing data in a data storage array based on detection of different data streams within an incoming flow of data | |
Gim et al. | Dig: Rapid characterization of modern hard disk drive and its performance implication | |
Shin et al. | Shedding light in the black-box: Structural modeling of modern disk drives | |
CN114115719B (zh) | 基于io模式识别的io批量处理方法、装置及存储介质 | |
Yao et al. | Extremely-Compressed SSDs with I/O Behavior Prediction | |
CN118259839A (zh) | 一种固态盘空间分配方法、装置、电子设备及存储介质 |
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 518000 3501, venture capital building, No. 9, Tengfei Road, huanggekeng community, Longcheng street, Longgang District, Shenzhen, Guangdong Province Patentee after: Shenzhen Dapu Microelectronics Co.,Ltd. Country or region after: China Address before: 518000 503, block B, building 2, Huangge North Road, Longcheng street, Longgang District, Shenzhen, Guangdong Patentee before: SHENZHEN DAPU MICROELECTRONICS Co.,Ltd. Country or region before: China |