CN106250064B - 固态硬盘控制装置和基于学习的固态硬盘数据存取方法 - Google Patents

固态硬盘控制装置和基于学习的固态硬盘数据存取方法 Download PDF

Info

Publication number
CN106250064B
CN106250064B CN201610690097.2A CN201610690097A CN106250064B CN 106250064 B CN106250064 B CN 106250064B CN 201610690097 A CN201610690097 A CN 201610690097A CN 106250064 B CN106250064 B CN 106250064B
Authority
CN
China
Prior art keywords
data
learning model
solid state
learning
state disk
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
Application number
CN201610690097.2A
Other languages
English (en)
Other versions
CN106250064A (zh
Inventor
杨靖
何海波
杨庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Dapu Microelectronics Co Ltd
Original Assignee
Shenzhen Dapu Microelectronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Dapu Microelectronics Co Ltd filed Critical Shenzhen Dapu Microelectronics Co Ltd
Priority to CN201610690097.2A priority Critical patent/CN106250064B/zh
Publication of CN106250064A publication Critical patent/CN106250064A/zh
Priority to PCT/CN2017/097330 priority patent/WO2018033035A1/zh
Priority to US16/249,897 priority patent/US11119694B2/en
Application granted granted Critical
Publication of CN106250064B publication Critical patent/CN106250064B/zh
Priority to US17/398,402 priority patent/US11816334B2/en
Priority to US17/398,357 priority patent/US11797185B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning

Abstract

本发明公开了固态硬盘控制装置和基于学习的固态硬盘数据存取方法,其中所述方法包括步骤:预设哈希表,所述哈希表包括一个以上的哈希值;所述哈希值用于记录和表征所述固态硬盘中数据页的数据特征;获取所述固态硬盘的I/O数据流,在所述哈希表中获取与所述I/O数据流对应的哈希值;通过预设的第一学习模型预测即将发生访问的数据页和/或数据页序列;根据所述第一学习模型的输出结果在所述固态硬盘中进行数据预取。通过本发明实施例,在预测预取的数据时,可以实时的进行学习以通过自适应的调整参数来适用于不同的应用种类和访问模式,从而可以能够获得更好的数据预取效能。

Description

固态硬盘控制装置和基于学习的固态硬盘数据存取方法
技术领域
本发明涉及计算机领域,特别是涉及固态硬盘控制装置和基于学习的固态硬盘数据存取方法。
背景技术
固态硬盘(SSD,Solid State Drives),是采用固态电子存储芯片阵列而制成的硬盘,固态硬盘会包括控制单元和存储单元(一般为FLASH存储芯片)。
固态硬盘中所广泛使用的存储单元一般为与非门闪存,这种存储单元是无法直接在存有原始数据的位置上进行覆盖式的写操作的;具体原因为,首先,与非门闪存中的字节只能由1变为0,反之则无法实现;此外,对于固态硬盘的写操作来说,其最小的操作单位是页;基于上述这两个特性,所有的写操作是需要在一个全部字节全是1的新页上进行的,这样通过将全是1的新页中将需要变为0的字节变为0,并保留应当为1的字节,从而实现数据的存储。
上述存储方式中,为写操作准备全部字节全是1的新页的具体过程包括:在存储单元中以数据块(block)为单位进行数据的擦除,即,将整个数据块中的每个页的所有字节变为1,并将这些页用于写入新数据。
为了能够提高固定硬盘的存取效能,现有技术中,包括有基于步幅的数据预取技术,发明人经过研究发现,现有技术中基于步幅的数据预取技术,至少包括有以下缺点,当固态硬盘的数据存取过程中,所涉及的应用种类和访问模式较多时,特别是存储数据为非结构化数据如文件、非相关数据库大数据等,基于步幅的数据预取的预取效能将会降低甚至无法工作。
发明内容
本发明所要解决的技术问题是如何提高固态硬盘的读取效能,具体的:
本发明实施例提供了一种基于学习的数据存取方法,根据I/O数据存取的历史,通过机器学习的方法准确地预测未来数据存取的模式、规律、地址、频率等,包括步骤:
预设哈希表,所述哈希表包括一个以上的哈希值;所述哈希值用于记录和表征所述固态硬盘中数据页的数据特征;所述数据特征包括所述数据页的访问历史数据、所述数据页的当前I/O操作类型和地址、所述数据页的访问频率、所述数据页的重新引用间隔,和,所述数据页的数据类别,以及,所述数据页所属文件的文件名、文件类型和文件大小;
获取所述固态硬盘的I/O数据流,在所述哈希表中获取与所述I/O数据流对应的哈希值;
通过预设的第一学习模型预测即将发生访问的数据页和/或数据页序列;所述第一学习模型以第一数据特征集中的数据特征为输入;所述第一数据特征集为用于获取第一学习模型预测结果所需的数据特征的集合;所述第一数据特征集中的数据特征根据所述哈希值获得;
根据所述第一学习模型的输出结果在所述固态硬盘中进行数据预取。
优选的,在本发明实施例中,当所述固态硬盘的I/O数据流为待写入所述固态硬盘的待写入数据时,还包括步骤:
通过预设的第二学习模型对待写入数据的进行分组,分组的方式为根据所述待写入数据间的重写时间是否相近,将所述待写入数据划分为不同组别;所述第二学习模型以第二数据特征集中的数据特征为输入;所述第二数据特征集为用于获取第二学习模型预测结果所需的数据特征的集合;所述第二数据特征集中的数据特征根据所述哈希值获得;
根据所述待写入数据的组别信息,为所述待写入数据确定在所述固态硬盘中的目标数据块。
优选的,在本发明实施例中,所述第一学习模型和/或所述第二学习模型为增强学习型学习模型。
优选的,在本发明实施例中,所述第一学习模型和/或所述第二学习模型中的学习算法为深度学习结构。
优选的,在本发明实施例中,以所述深度学习的算法结构中,所包括的多个神经结构层中的输出层所生成的结果特征集为中心,将所述多个神经结构层划分为互相对称的编码层和解码层两种神经结构层;
建立编码层与解码层间的对称性对应关系;
在通过所述学习模型进行学习时,以每个编码层的权重矩阵转置作为与所述编码层对应的解码层的权重矩阵。
在本发明实施例的另一面,还提供了一种固态硬盘控制装置,包括:
哈希表维护单元,用于预设哈希表,所述哈希表包括一个以上的哈希值;所述哈希值用于记录和表征所述固态硬盘中数据页的数据特征;所述数据特征包括所述数据页的访问历史数据、所述数据页的当前I/O操作类型和地址、所述数据页的访问频率、所述数据页的重新引用间隔,和,所述数据页的数据类别,以及,所述数据页所属文件的文件名、文件类型和文件大小;
数据获取单元,用于获取所述固态硬盘的I/O数据流,在所述哈希表中获取与所述I/O数据流对应的哈希值;
第一学习模型,用于预测即将发生访问的数据页和/或数据页序列;所述第一学习模型以第一数据特征集中的数据特征为输入;所述第一数据特征集为用于获取第一学习模型预测结果所需的数据特征的集合;所述第一数据特征集中的数据特征根据所述哈希值获得;
预取单元,用于根据所述第一学习模型的输出结果在所述固态硬盘中进行数据预取。
优选的,在本发明实施例中,还包括:
第二学习模型,用于对待写入数据的进行分组,分组的方式为根据所述待写入数据间的重写时间是否相近,将所述待写入数据划分为不同组别;所述第二学习模型以第二数据特征集中的数据特征为输入;所述第二数据特征集为用于获取第二学习模型预测结果所需的数据特征的集合;所述第二数据特征集中的数据特征根据所述哈希值获得;
确定单元,用于根据所述待写入数据的组别信息,为所述待写入数据确定在所述固态硬盘中的目标数据块。
优选的,在本发明实施例中,所述第一学习模型和/或所述第二学习模型为增强学习型学习模型。
优选的,在本发明实施例中,所述第一学习模型和/或所述第二学习模型中的学习算法为深度学习结构。
优选的,在本发明实施例中,所述第一学习模型和/或所述第二学习模型还包括算法控制单元;
所述算法控制单元包括:
逻辑划分组件,用于以所述深度学习的算法结构中,所包括的多个神经结构层中的输出层所生成的结果特征集为中心,将所述多个神经结构层划分为互相对称的编码层和解码层两种神经结构层;
对应组件,用于建立编码层与解码层间的对称性对应关系;
替代组件,用于在通过所述学习模型进行学习时,以每个编码层的权重矩阵转置作为与所述编码层对应的解码层的权重矩阵。
本发明实施例中,通过预设哈希表为固态硬盘中的数据页建立对应的数据特征;具体方式为在哈希表中建立与每个数据页对应的哈希值,每个数据页的哈希值所包括的多个序列值分别根据与该数据页的多个数据特征而获得,然后通过这多个序列值构成该数据页的哈希值;本发明实施例中的多个数据特征分别可以是所述数据页的访问历史数据、所述数据页的当前I/O操作类型和地址、所述数据页的访问频率、所述数据页的重新引用间隔,和,所述数据页的数据类别,以及,所述数据页所属文件的文件名、文件类型和文件大小等数据。
在本发明实施例中,通过识别固态硬盘的I/O数据流,可以根据与数据流中数据对应的哈希值来获得各数据的数据特征;接着,预设的第一学习模型的目的是预测即将访问到的数据页;通过多个数据特征中选取所需的数据特征进行机器学习,进而预测即将发生访问的数据页;由于通过本发明实施例,在预测预取的数据时,可以实时的进行学习以适应不同的应用种类和访问模式,从而可以准确地预测未来I/O的规律、序列、地址空间、访问频率、读写比例等,最终能够获得更好的数据预取效能和存取数度和性能。
进一步的,在本发明实施例中,当所述固态硬盘的I/O数据流为待写入所述固态硬盘的待写入数据时,还可以通过预设有第二学习模型,来根据设定的数据特征来预测待写入数据的重写时间,进而可以将待写入数据进行分组;由于每组中的数据都具有相近的重写时间,所以可以通过将同组的数据写入固态硬盘中相同的数据块中,来使的在重写固态硬盘中的数据时,可以减少一个数据块中的同时存在有效页面和无效页面的情况出现,从而可以有效的减少写放大的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请中所述基于学习的固态硬盘数据存取方法的步骤示意图;
图2为本申请中所述基于学习的固态硬盘数据存取方法的又一步骤示意图;
图3为本申请中所述增强型学习模型的结构示意图;
图4为本申请中所述深度学习的神经结构层的结构示意图;
图5为本申请中所述固态硬盘控制装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高固态硬盘的读取效能,在本发明实施例中,提供了一种基于学习的数据存取方法,如图1所示,包括步骤:
S11、预设哈希表,所述哈希表包括一个以上的哈希值;所述哈希值用于记录和表征所述固态硬盘中数据页的数据特征;所述数据特征包括所述数据页的访问历史数据、所述数据页的当前I/O操作类型和地址、所述数据页的访问频率、所述数据页的重新引用间隔,和,所述数据页的数据类别,以及,所述数据页所属文件的文件名、文件类型和文件大小;
每个存储至固态硬盘的数据页都有其自身的各种特定属性,在本发明实施例中,将这些特定属性称为数据特征,具体来说,数据特征可以有很多种,包括:数据页的文件所属(即,该数据页所属文件的文件名),以及,该文件的文件类型和文件大小;此外,数据特征还可以包括所述数据页的访问历史数据、所述数据页的当前I/O操作类型和地址、所述数据页的访问频率、所述数据页的重新引用间隔,和,所述数据页的数据类别等多种类型;在本发明实施例中,数据页的访问历史数据具体可以是在一定的时间段内对于所述数据页的I/O操作记录;所述I/O操作记录包括该I/O操作的模式、时间和频率等。此外,在本发明实施例中,所提及的数据页的数据类别是指说明该数据是只读数据、一写多读数据还是频繁写数据等用于表征数据的读写特性的类别划分。
在本发明实施例中,每个数据页的多个数据特征可以通过哈希值的序列值得形式来体现,具体来说,一个数据页的每个数据特征都可以记载为一个序列值,所有的序列值组合为一个哈希值,就可以通过该哈希值记载这个数据页的所有数据特征了;而哈希表则是固态硬盘中多个数据页分别所对应的哈希值的集合。这样就可以通过访问哈希表来获得固态硬盘中数据页的各个数据特征。
S12、获取所述固态硬盘的I/O数据流,在所述哈希表中获取与所述I/O数据流对应的哈希值;
数据预取的效能体现在预取的命中率上,命中率越高,预取的效能就越高,本发明实施例的核心方案是通过机器学习的方式来将固态硬盘当前的I/O数据及数据流与即将产生的数据页访问关联起来,以达到预测即将要发生的数据访问的目的。
当前的I/O数据及数据流与即将产生的数据页访问之间的关联可以包括很多种,比如,可以是当前获取的I/O数据流属于某一特定的文件名(文件A)时,那么后续就会访问与该文件关联的另一个文件(文件B),此时,如果在通过获取I/O数据流并分析到数据流属于文件A时就将文件B预取到高速缓存中,那么就会有效的提高固态硬盘的读取效能。
此外,通过分析数据页的访问历史数据得知,数据页X的所属文件(文件C)在每天的特定时刻都要被访问(比如文件C可以是闹铃的播放文件,每天的早上8点定时读取该文件以进行播放),那么,如果每天8点钟播放前将文件C提前预取到高速缓存中就可以有效的提高固态硬盘的读取效能。
I/O数据及数据流的数据特征与后续的数据访问规律间的关联影响还包括很多种,因此,通过对I/O数据及数据流的数据特征进行分析来预测即将发生的访问是可行和有效的。
S13、通过预设的第一学习模型预测即将发生访问的数据页和/或数据页序列;所述第一学习模型以第一数据特征集中的数据特征为输入;所述第一数据特征集为用于获取第一学习模型预测结果所需的数据特征的集合;所述第一数据特征集中的数据特征根据所述哈希值获得;
可以用于预测的数据特征可以包括有多种,每个数据特征对于预测结果的影响机制也是各有不同,此外数据流中的一个数据页不同的数据特征,以及,一个数据流中不同数据页之间的数据特征互相关系也会影响到预测结果。
在本发明实施例中,在以预测即将发生访问的数据页为目标,建立学习模型后,可以根据固态硬盘的当前I/O数据流,来获取用于输入学习模型的数据特征,数据特征的获取方式可以是,在哈希表中获取与I/O数据流中各个数据页对应的哈希值,然后在哈希值中获取用于记录各个数据特征的序列值。在本发明实施例中,采用哈希表的来记录固态硬盘中数据页的数据特征的方式,可以有效的提高数据特征的记录效率和访问效率。
在本发明实施例中,用于预测即将发生访问的数据页的学习模型可以称之为第一学习模型,第一学习模型所需的数据特征可以从数据页的哈希值中根据需要来选取。在本发明实施例中,可以将第一学习模型所需的数据特征的集合称为第一数据特征集。
第一学习模型的输出结果会确定需要将哪些数据页进行预取,这些预取数据页中在很短的时间内被访问的数据页占整体预取数据的百分比(即,预取数据的准确率),会直接影响固态硬盘的读取效能,预取数据页的准确率越高固态硬盘的读取效能也就越高,反之,则会降低固态硬盘的读取效能。
为了提高预取数据的准确率,如图3所示,第一学习模型还可以是增强学习(RL,Reinforcement Learning)型学习模型,这样,可以设定一个固态硬盘数据的预取效能指标,当第一学习模型的输出结果达不到所述预取效能指标或是预取效能指标下降时,可以反馈一个惩罚值来作为第一学习模型中机器学习模块的输入,以调整数据特征的权重;当第一学习模型在输出的结果使得预取效能指标上升时,可以反馈一个奖励值来作为第一学习模型的输入,来激励并增加有效数据特征的权重。
S14、根据所述第一学习模型的输出结果在所述固态硬盘中进行数据预取。
本发明实施例中,第一学习模型的输出结果预测即将发生的数据页和/或数据页序列的访问,因此根据第一学习模型的结果可以预测哪些数据页很快就要被访问到了,因此可以通过将这些数据页中的数据预取到高速缓存的方式来提高固态硬盘的数据读取效率。由于通过本发明实施例,在预测预取的数据时,可以实时的进行学习以适应不同的应用种类和访问模式,从而可以准确地预测未来I/O的规律、序列、地址空间、访问频率、读写比例等,最终能够获得更好的数据预取效能和存取数度和性能。
进一步的,在本发明实施例中,还可以将深度学习(DL,Deep Learning)和增强学习结合起来构建本发明实施例中的学习模型,这样,使得学习模型不但可以自动的动态调整以保证输出结果不会性能降低(即,具有增强学习的效果),此外还可以通过深度学习来对作为输入的数据特征进行精简或者生成新的数据特征,从而减少学习模型的调节输入参数的参数数量。基于深度学习的特性,随着时间的推进,本发明实施例中的学习模型能够不断的积累经验,从而可以持续不断提高效果的。进一步的,为了节约学习模型的计算资源,以提高学习模型的输出结果的输出效率,在本发明实施例中,还对学习模型的计算模式进行了改进;具体的,在本发明实施例中,在逻辑上将具有深度学习特征的学习模型中的多个神经结构层进行了划分;如图4所示,深度计算的算法结构中,包括有多个神经结构层,其中用于输出结果的输出层包括有该层生成的结果特征集;如图4所示,该结果特征集为整个深度计算的算法结构的中心位置,在结果特征集的左侧的神经结构层均为编码层,在结果特征集的右侧的神经结构层均为解码层,这样,就以结果特征集为中心,将所述多个神经结构层划分为互相对称的编码层和解码层两种神经结构层。
接着,将深度计算的学习模型中的编码层和解码层建立呈对称性的对应关系,即,左数第一个神经结构层与右数第一个神经结构层对应,左数第二个神经结构层与右数第二个神经结构层对应,以此类推。在建立上述对应关系后,在通过所述学习模型进行学习时,就可以以每个编码层的权重矩阵转置作为与所述编码层对应的解码层的权重矩阵,也就是说,通过将已经得出的权重矩阵代替对应的权重矩阵,从而节省被代替的权重矩阵的计算过程;举例来说,在编码层(如图4中左侧的各个神经结构层)的各层的权重矩阵计算得出以后,在进行解码层各个神经结构层的计算时,可以根据上述对称性的对应关系直接应用在编码层得到的权重矩阵,即,右数第一个神经结构层直接采用左数第一个神经结构层所计算出的权重矩阵,右数第二个神经结构层直接采用左数第二个神经结构层所计算出的权重矩阵,以此类推。
由上可以看出,通过本发明实施例中的计算方式,可以节约了一半的权重矩阵的计算时间,进而也就有效的节约学习模型的计算资源,使输出结果更加的快速,也就提高了学习模型的实时性。
进一步的,为了提高固态硬盘的使用寿命,减少固态硬盘的写放大问题,在本发明实施例中,还可以包括有将待写入数据进行分组步骤,通过将具有相近的重写时间的待写入数据分为同组,然后将同组的待写入数据写入相同的数据块中,从而使的固态硬盘中每个数据块中的数据页基本上都会同步的重写,从而可以有效的减少写放大问题;具体的如2所示,包括步骤:
S21、预设哈希表,所述哈希表包括一个以上的哈希值;所述哈希值用于记录和表征所述固态硬盘中数据页的数据特征;所述数据特征包括所述数据页的访问历史数据、所述数据页的当前I/O操作类型和地址、所述数据页的访问频率、所述数据页的重新引用间隔,和,所述数据页的数据类别,以及,所述数据页所属文件的文件名、文件类型和文件大小;
S22、获取所述固态硬盘的I/O数据流,在所述哈希表中获取与所述I/O数据流对应的哈希值;
在本实施例中,预设哈希表,和,获取固态硬盘的I/O数据流,在哈希表中获取与I/O数据流对应的哈希值的具体的技术内容和作用与图1所对应实施例中的记载一致,在此就不再赘述。
S23、通过预设的第二学习模型对待写入数据的进行分组,分组的方式为根据所述待写入数据间的重写时间是否相近,将所述待写入数据划分为不同组别;所述第二学习模型以第二数据特征集中的数据特征为输入;所述第二数据特征集为用于获取第二学习模型预测结果所需的数据特征的集合;所述第二数据特征集中的数据特征根据所述哈希值获得;
在本实施例中,第二学习模型的目的与上述第一学习模型有所不同,第二学习模型的目的是将待写入固态硬盘的待写入数据的进行分组,通过将待写入数据中重写时间相近的化为同组,从而使的固态硬盘中单个数据块中的每个数据页基本上都会同步的重写;分组的具体方式可以举例描述为:
当待写入数据分为A、B、C三组时,A、B、C这三组待写入数据要分别写入不同的数据块,同一数据块中不能写入有两组或两组以上的待写入数据。
与图1所对应实施例类似,在本实施例中,第二学习模型的结构也可以是增强学习模块,或是增强学习模块结合深度学习模块的方式;此外,为了节约学习模型的计算资源,以提高学习模型的实时性,在本发明实施例中,还可以对学习模型的计算模式进行与图1对应实施例中相同的改进,具体的:
在逻辑上将具有深度学习特征的学习模型中的多个神经结构层进行了划分;深度计算的算法结构中,包括有多个神经结构层,其中用于输出结果的输出层包括有该层生成的结果特征集;如图4所示,该结果特征集为整个深度计算的算法结构的中心位置,在结果特征集的左侧的神经结构层均为编码层,在结果特征集的右侧的神经结构层均为解码层,这样,就以结果特征集为中心,将所述多个神经结构层划分为互相对称的编码层和解码层两种神经结构层。
接着,对应组件将深度计算的学习模型中的编码层(Encoder)和解码层(Decoder)建立呈对称性的对应关系,即,左数第一个神经结构层与右数第一个神经结构层对应,左数第二个神经结构层与右数第二个神经结构层对应,以此类推。在建立上述对应关系后,在通过所述学习模型进行学习时,就可以以每个编码层的权重矩阵转置作为与所述编码层对应的解码层的权重矩阵,也就是说,通过将已经得出的权重矩阵代替对应的权重矩阵,从而节省被代替的权重矩阵的计算过程;举例来说,在编码层(如图4中左侧的各个神经结构层)的各层的权重矩阵计算得出以后,在进行解码层各个神经结构层的计算时,可以根据上述对称性的对应关系直接应用在编码层得到的权重矩阵,即,右数第一个神经结构层直接采用左数第一个神经结构层所计算出的权重矩阵(即,用W0直接作为W7使用),右数第二个神经结构层直接采用左数第二个神经结构层所计算出的权重矩阵(即,用W1直接作为W6使用),以此类推。
由上可以看出,通过本发明实施例中的计算方式,可以节约了一半的权重矩阵的计算时间,进而也就有效的节约学习模型的计算资源,使输出结果更加的快速,也就提高了学习模型的实时性。
S24、根据所述待写入数据的组别信息,为所述待写入数据确定在所述固态硬盘中的目标数据块。
在经过学习模型的分组后,就可以将待写入数据按照组别的不同分别写入不同的数据块中了;
本实施例中,固态硬盘中每个数据块中的数据页基本上都会同步的重写,这样,当该数据块中的某一数据页发生重写时,该数据块中的绝大部分其他数据页也会很快的发生重写,从而减少了同一数据块中经常同时存在有效数据页和无效数据页的情况的发生,进而也就可以有效的减少写放大问题。
需要说明的是,在本发明实施例中的第一学习模型和第二学习模型,均可以为增强型学习模型,从而可以适用于不同的场景,具体来说,超市和银行是两个不同的场景,这两个场景对于数据的访问情况是有着很大的不同的;通过增强型学习,本发明实施例可以随着时间的推移,不断地不断的积累机器学习过程中的经验,分别在不同的场景中获得较好的效能指标。
在本发明实施例的另一面,还提供了一种固态硬盘的控制装置,如图5所示,包括:哈希表维护单元、数据获取单元、第一学习模型和预取单元,其中:
哈希表维护单元,用于预设哈希表,所述哈希表包括一个以上的哈希值;所述哈希值用于记录和表征所述固态硬盘中数据页的数据特征;所述数据特征包括所述数据页的访问历史数据、所述数据页的当前I/O操作类型和地址、所述数据页的访问频率、所述数据页的重新引用间隔,和,所述数据页的数据类别,以及,所述数据页所属文件的文件名、文件类型和文件大小;
数据获取单元,用于获取所述固态硬盘的I/O数据流,在所述哈希表中获取与所述I/O数据流对应的哈希值;
第一学习模型,用于预测即将发生访问的数据页和/或数据页序列;所述第一学习模型以第一数据特征集中的数据特征为输入;所述第一数据特征集为用于获取第一学习模型预测结果所需的数据特征的集合;所述第一数据特征集中的数据特征根据所述哈希值获得;
预取单元,用于根据所述第一学习模型的输出结果在所述固态硬盘中进行数据预取。
哈希表维护单元通过维护哈希表可以记录固态硬盘中各个数据页的数据特征;当数据获取单元获取到实时的数据流时,就可以分析通过第一学习模型预测出即将发生访问的数据页,从而预取单元可以根据第一学习模型的预测结果进行预取。由于通过本发明实施例,在预测预取的数据时,可以实时的进行学习以适应不同的应用种类和访问模式,从而可以能够获得更好的数据预取效能。
进一步的,在本发明实施例中,还可以包括有第二学习模型和确定单元,具体的:
第二学习模型,用于对待写入数据的进行分组,分组的方式为根据所述待写入数据间的重写时间是否相近,将所述待写入数据划分为不同组别;所述第二学习模型以第二数据特征集中的数据特征为输入;所述第二数据特征集为用于获取第二学习模型预测结果所需的数据特征的集合;所述第二数据特征集中的数据特征根据所述哈希值获得;
确定单元,用于根据所述待写入数据的组别信息,为所述待写入数据确定在所述固态硬盘中的目标数据块。
同样的,利用哈希表维护单元所记录的记录固态硬盘中各个数据页的数据特征;当数据获取单元获取到实时的数据流时,通过第二学习模型可以待写入数据的进行分组,从而使固态硬盘中单个数据块中只包括一个组别的数据页,由于相同组别的数据页重写时间相近,因此可以有效的减少单个数据块中同时包括有效数据页和无效数据页的情况的发生,进而也就可以有效的降低固态硬盘的写放大问题。
进一步的,为了提高预取数据的准确率,第一学习模型和/或所述第二学习模型具体还可以是增强学习型学习模型。
在本发明实施例中,还可以将深度学习(DL,Deep Learning)和增强学习结合起来构建本发明实施例中的学习模型,这样,使得学习模型不但可以自动的动态调整以保证输出结果不会性能降低(即,具有增强学习的效果),此外还可以通过深度学习来对作为输入的数据特征进行精简,从而减少学习模型的调节输入参数的参数数量(即,具有深度学习的效果)。
进一步的,为了节约学习模型的计算资源,以提高学习模型的实时性,在本发明实施例中,还通过设有所述算法控制单元对学习模型的计算模式进行了改进,算法控制单元包括逻辑划分组件、对应组件和替代组件,其中:
逻辑划分组件,用于以所述深度学习的算法结构中,所包括的多个神经结构层中的输出层所生成的结果特征集为中心,将所述多个神经结构层划分为互相对称的编码层和解码层两种神经结构层;
对应组件,用于建立编码层与解码层间的对称性对应关系;
替代组件,用于在通过所述学习模型进行学习时,以每个编码层的权重矩阵转置作为与所述编码层对应的解码层的权重矩阵。
逻辑划分组件在逻辑上将具有深度学习特征的学习模型中的多个神经结构层进行了划分;深度计算的算法结构中,包括有多个神经结构层,其中用于输出结果的输出层包括有友该层生成的结果特征集;如图3所示,该结果特征集为整个深度计算的算法结构的中心位置,在结果特征集的左侧的神经结构层均为编码层,在结果特征集的右侧的神经结构层均为解码层,这样,就以结果特征集为中心,将所述多个神经结构层划分为互相对称的编码层和解码层两种神经结构层。
接着,对应组件将深度计算的学习模型中的编码层(Encoder)和解码层(Decoder)建立呈对称性的对应关系,即,左数第一个神经结构层与右数第一个神经结构层对应,左数第二个神经结构层与右数第二个神经结构层对应,以此类推。在建立上述对应关系后,在通过所述学习模型进行学习时,替代组件就可以以每个编码层的权重矩阵转置作为与所述编码层对应的解码层的权重矩阵,也就是说,通过将已经得出的权重矩阵代替对应的权重矩阵,从而节省被代替的权重矩阵的计算过程;举例来说,在编码层(如图4中左侧的各个神经结构层)的各层的权重矩阵计算得出以后,在进行解码层各个神经结构层的计算时,可以根据上述对称性的对应关系直接应用在编码层得到的权重矩阵,即,右数第一个神经结构层直接采用左数第一个神经结构层所计算出的权重矩阵(即,用W0直接作为W7使用),右数第二个神经结构层直接采用左数第二个神经结构层所计算出的权重矩阵(即,用W1直接作为W6使用),以此类推。
由上可以看出,通过本发明实施例可以节约了一半的权重矩阵的计算时间,进而也就有效的节约学习模型的计算资源,使输出结果更加的快速,也就提高了学习模型的实时性。
由于本实施例中的固态硬盘的控制装置,与图1所对应的基于学习的固态硬盘数据存取方法具有对应关系,其技术方案的实质相同,其工作原理和达到的有益效果也相同,因此在理解本发明实施例中的技术方案时可以互为参考。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、ReRAM、MRAM、PCM、NAND Flash,NOR Flash, Memristor、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于学习的固态硬盘数据存取方法,其特征在于,包括步骤:
预设哈希表,所述哈希表包括一个以上的哈希值;所述哈希值用于记录和表征所述固态硬盘中数据页的数据特征;所述数据特征包括所述数据页的访问历史数据、所述数据页的当前I/O操作类型和地址、所述数据页的访问频率、所述数据页的重新引用间隔,和,所述数据页的数据类别,以及,所述数据页所属文件的文件名、文件类型和文件大小;
获取所述固态硬盘的I/O数据流,在所述哈希表中获取与所述I/O数据流对应的哈希值;
通过预设的第一学习模型预测即将发生访问的数据页和/或数据页序列;所述第一学习模型以第一数据特征集中的数据特征为输入;其中,根据固态硬盘的I/O数据流获取用于输入所述第一学习模型的数据特征;所述第一数据特征集为用于获取第一学习模型预测结果所需的数据特征的集合;所述第一数据特征集中的数据特征根据所述哈希值获得;
根据所述第一学习模型的输出结果在所述固态硬盘中进行数据预取;
其中,所述第一学习模型为增强学习型学习模型,预先设定在固态硬盘中进行数据预取的预取效能指标,所述预取效能指标表征预取的命中率,当所述第一学习模型的输出结果达不到所述预取效能指标或输出结果使得预取效能指标下降时反馈惩罚值,并将惩罚值作为所述第一学习模型中机器学习模块的输入,以调整数据特征的权重;当所述第一学习模型的输出结果使得预取效能指标上升时,反馈奖励值,并将奖励值作为所述第一学习模型中机器学习模块的输入,以激励并增加有效的数据特征的权重;
所述第一学习模型中的学习算法为深度学习结构,通过深度学习对作为所述第一学习模型输入的数据特征进行精简或生成新的数据特征,以减少所述第一学习模型的调节输入参数的参数数量。
2.根据权利要求1所述基于学习的固态硬盘数据存取方法,其特征在于,当所述固态硬盘的I/O数据流为待写入所述固态硬盘的待写入数据时,还包括步骤:
通过预设的第二学习模型对待写入数据的进行分组,分组的方式为根据所述待写入数据间的重写时间是否相近,将所述待写入数据划分为不同组别;所述第二学习模型以第二数据特征集中的数据特征为输入;所述第二数据特征集为用于获取第二学习模型预测结果所需的数据特征的集合;所述第二数据特征集中的数据特征根据所述哈希值获得;
根据所述待写入数据的组别信息,为所述待写入数据确定在所述固态硬盘中的目标数据块。
3.根据权利要求2所述基于学习的固态硬盘数据存取方法,其特征在于,
所述第二学习模型为增强学习型学习模型。
4.根据权利要求3所述基于学习的固态硬盘数据存取方法,其特征在于,
所述第二学习模型中的学习算法为深度学习结构。
5.根据权利要求4所述基于学习的固态硬盘数据存取方法,其特征在于,
以所述深度学习的算法结构中,所包括的多个神经结构层中的输出层所生成的结果特征集为中心,将所述多个神经结构层划分为互相对称的编码层和解码层两种神经结构层;
建立编码层与解码层间的对称性对应关系;
在通过所述学习模型进行学习时,以每个编码层的权重矩阵转置作为与所述编码层对应的解码层的权重矩阵。
6.一种固态硬盘的控制装置,其特征在于,包括:
哈希表维护单元,用于预设哈希表,所述哈希表包括一个以上的哈希值;所述哈希值用于记录和表征所述固态硬盘中数据页的数据特征;所述数据特征包括所述数据页的访问历史数据、所述数据页的当前I/O操作类型和地址、所述数据页的访问频率、所述数据页的重新引用间隔,和,所述数据页的数据类别,以及,所述数据页所属文件的文件名、文件类型和文件大小;
数据获取单元,用于获取所述固态硬盘的I/O数据流,在所述哈希表中获取与所述I/O数据流对应的哈希值;
第一学习模型,用于预测即将发生访问的数据页;所述第一学习模型以第一数据特征集中的数据特征为输入;其中,根据固态硬盘的I/O数据流获取用于输入所述第一学习模型的数据特征;所述第一数据特征集为用于获取第一学习模型预测结果所需的数据特征的集合;所述第一数据特征集中的数据特征根据所述哈希值获得;
预取单元,用于根据所述第一学习模型的输出结果在所述固态硬盘中进行数据预取;
其中,所述第一学习模型为增强学习型学习模型,预先设定在固态硬盘中进行数据预取的预取效能指标,所述预取效能指标表征预取的命中率,当所述第一学习模型的输出结果达不到所述预取效能指标或输出结果使得预取效能指标下降时反馈惩罚值,并将惩罚值作为所述第一学习模型中机器学习模块的输入,以调整数据特征的权重;当所述第一学习模型的输出结果使得预取效能指标上升时,反馈奖励值,并将奖励值作为所述第一学习模型中机器学习模块的输入,以激励并增加有效的数据特征的权重;
所述第一学习模型中的学习算法为深度学习结构,通过深度学习对作为所述第一学习模型输入的数据特征进行精简或生成新的数据特征,以减少所述第一学习模型的调节输入参数的参数数量。
7.根据权利要求6所述固态硬盘的控制装置,其特征在于,还包括:
第二学习模型,用于对待写入数据的进行分组,分组的方式为根据所述待写入数据间的重写时间是否相近,将所述待写入数据划分为不同组别;所述第二学习模型以第二数据特征集中的数据特征为输入;所述第二数据特征集为用于获取第二学习模型预测结果所需的数据特征的集合;所述第二数据特征集中的数据特征根据所述哈希值获得;
确定单元,用于根据所述待写入数据的组别信息,为所述待写入数据确定在所述固态硬盘中的目标数据块。
8.根据权利要求7所述固态硬盘的控制装置,其特征在于,
所述第二学习模型为增强学习型学习模型。
9.根据权利要求8所述固态硬盘的控制装置,其特征在于,
所述第二学习模型中的学习算法为深度学习结构。
10.根据权利要求9所述固态硬盘的控制装置,其特征在于,所述第一学习模型和/或所述第二学习模型还包括算法控制单元;
所述算法控制单元包括:
逻辑划分组件,用于以所述深度学习的算法结构中,所包括的多个神经结构层中的输出层所生成的结果特征集为中心,将所述多个神经结构层划分为互相对称的编码层和解码层两种神经结构层;
对应组件,用于建立编码层与解码层间的对称性对应关系;
替代组件,用于在通过所述学习模型进行学习时,以每个编码层的权重矩阵转置作为与所述编码层对应的解码层的权重矩阵。
CN201610690097.2A 2016-08-19 2016-08-19 固态硬盘控制装置和基于学习的固态硬盘数据存取方法 Active CN106250064B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201610690097.2A CN106250064B (zh) 2016-08-19 2016-08-19 固态硬盘控制装置和基于学习的固态硬盘数据存取方法
PCT/CN2017/097330 WO2018033035A1 (zh) 2016-08-19 2017-08-14 固态硬盘控制装置和基于学习的固态硬盘数据存取方法
US16/249,897 US11119694B2 (en) 2016-08-19 2019-01-17 Solid-state drive control device and learning-based solid-state drive data access method
US17/398,402 US11816334B2 (en) 2016-08-19 2021-08-10 Solid-state drive control device and learning-based solid-state drive data access method
US17/398,357 US11797185B2 (en) 2016-08-19 2021-08-10 Solid-state drive control device and learning-based solid-state drive data access method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610690097.2A CN106250064B (zh) 2016-08-19 2016-08-19 固态硬盘控制装置和基于学习的固态硬盘数据存取方法

Publications (2)

Publication Number Publication Date
CN106250064A CN106250064A (zh) 2016-12-21
CN106250064B true CN106250064B (zh) 2020-05-12

Family

ID=57592999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610690097.2A Active CN106250064B (zh) 2016-08-19 2016-08-19 固态硬盘控制装置和基于学习的固态硬盘数据存取方法

Country Status (3)

Country Link
US (3) US11119694B2 (zh)
CN (1) CN106250064B (zh)
WO (1) WO2018033035A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250064B (zh) 2016-08-19 2020-05-12 深圳大普微电子科技有限公司 固态硬盘控制装置和基于学习的固态硬盘数据存取方法
CN106951181A (zh) 2017-02-21 2017-07-14 深圳大普微电子科技有限公司 一种数据存储系统的控制装置
US11042330B2 (en) 2017-03-01 2021-06-22 Samsung Electronics Co., Ltd. Methods and systems for distributed data storage
CN107562806B (zh) * 2017-08-08 2020-07-28 上海交通大学 混合内存文件系统的自适应感知加速方法及系统
CN107908366A (zh) * 2017-11-14 2018-04-13 郑州云海信息技术有限公司 一种智能数据存取方法、装置及设备
US10528489B2 (en) 2018-02-28 2020-01-07 Micron Technology, Inc. Multiple memory type memory module systems and methods
US10754793B2 (en) * 2018-02-28 2020-08-25 Micron Technology, Inc. Memory module data object processing systems and methods
CN109189693B (zh) 2018-07-18 2020-10-30 深圳大普微电子科技有限公司 一种对lba信息进行预测的方法及ssd
KR20200054600A (ko) 2018-11-12 2020-05-20 삼성전자주식회사 스토리지 장치의 구동 방법, 이를 수행하는 스토리지 장치 및 이를 포함하는 스토리지 시스템
US10838869B1 (en) * 2018-12-11 2020-11-17 Amazon Technologies, Inc. Predictive prefetch of a memory page
CN111913648B (zh) * 2019-05-09 2021-08-17 深圳大普微电子科技有限公司 一种固态硬盘的数据处理方法及装置
CN111913649B (zh) * 2019-05-09 2022-05-06 深圳大普微电子科技有限公司 一种固态硬盘的数据处理方法及装置
CN112445725A (zh) * 2019-08-27 2021-03-05 华为技术有限公司 预读取文件页的方法、装置和终端设备
KR20210055875A (ko) 2019-11-08 2021-05-18 삼성전자주식회사 저장 장치와 저장 장치 시스템 그리고 그 동작 방법
JP2021157259A (ja) * 2020-03-25 2021-10-07 株式会社日立製作所 オブジェクト最適配置装置及び方法
CN112181312A (zh) * 2020-10-23 2021-01-05 北京安石科技有限公司 硬盘数据的快速读取方法及系统
CN114706798B (zh) * 2022-06-08 2022-08-12 四川省人工智能研究院(宜宾) 基于注意力机制的固态硬盘数据预取方法
US20230400994A1 (en) * 2022-06-13 2023-12-14 Western Digital Technologies, Inc. Data Storage Device and Method for Dynamic Prediction of Random Read with Low Memory Consumption
US11860784B1 (en) * 2022-06-27 2024-01-02 Advanced Micro Devices, Inc. Live profile-driven cache aging policies
US20240028203A1 (en) * 2022-07-21 2024-01-25 Dell Products L.P. System and Method for Distributed Input/output (IO) Performance Forecasting Across Multiple Machine Learning Models

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070143547A1 (en) * 2005-12-20 2007-06-21 Microsoft Corporation Predictive caching and lookup
US9323680B1 (en) * 2007-09-28 2016-04-26 Veritas Us Ip Holdings Llc Method and apparatus for prefetching data
CN101419543B (zh) * 2007-10-26 2010-12-01 瑞昱半导体股份有限公司 预测高速寄存器的存取位置的方法及系统
KR101027112B1 (ko) * 2008-06-30 2011-04-05 한국산업기술대학교산학협력단 플래시 메모리의 클러스터링 장치 및 그 클러스터링 방법
CN101540017B (zh) * 2009-04-28 2016-08-03 黑龙江工程学院 基于字节级n元文法的特征提取方法及垃圾邮件过滤器
CN102033769B (zh) * 2010-12-08 2013-05-22 北京航空航天大学 面向虚拟化软件流式加载的预取方法和系统
CN102111448B (zh) * 2011-01-13 2013-04-24 华为技术有限公司 分布式哈希表dht存储系统的数据预取方法、节点和系统
US9639471B2 (en) * 2012-11-27 2017-05-02 Nvidia Corporation Prefetching according to attributes of access requests
CN103135945B (zh) * 2013-03-25 2014-11-26 中国人民解放军国防科学技术大学 用于ssd的多通道动态读写调度方法
US9747214B2 (en) * 2013-05-22 2017-08-29 Schwegman Lundberg & Woessner, P.A. Forecast modeling cache prefetch system and method
KR102074329B1 (ko) * 2013-09-06 2020-02-06 삼성전자주식회사 데이터 저장 장치 및 그것의 데이터 처리 방법
CN103559115A (zh) * 2013-09-29 2014-02-05 记忆科技(深圳)有限公司 基于smart的ssd智能监控系统
US9614925B2 (en) * 2014-03-31 2017-04-04 Futurewei Technologies, Inc. Intelligent file pre-fetch based on access patterns
US10255319B2 (en) * 2014-05-02 2019-04-09 Google Llc Searchable index
US10025530B2 (en) * 2014-09-29 2018-07-17 Western Digital Technologies, Inc. Optimized garbage collection for solid-state storage devices
CN104331252B (zh) * 2014-10-10 2017-08-25 上海新储集成电路有限公司 异构nand固态硬盘结构及其数据读取管理方法
CN104461397A (zh) * 2014-12-19 2015-03-25 上海新储集成电路有限公司 一种固态硬盘及其读写方法
CN104486350B (zh) * 2014-12-24 2017-11-10 电子科技大学 一种基于用户行为的网络内容加速方法
JP2016167195A (ja) * 2015-03-10 2016-09-15 富士通株式会社 ストレージ装置、ストレージ制御プログラム、ストレージ制御方法、およびストレージシステム
US10409781B2 (en) * 2015-04-29 2019-09-10 Box, Inc. Multi-regime caching in a virtual file system for cloud-based shared content
US10197631B2 (en) * 2015-06-01 2019-02-05 Verizon Patent And Licensing Inc. Systems and methods for determining vehicle battery health
US11461010B2 (en) * 2015-07-13 2022-10-04 Samsung Electronics Co., Ltd. Data property-based data placement in a nonvolatile memory device
US9734073B2 (en) * 2015-10-30 2017-08-15 Qualcomm Incorporated System and method for flash read cache with adaptive pre-fetch
CN105512051B (zh) * 2015-12-16 2019-03-12 鸿秦(北京)科技有限公司 一种自学习型智能固态硬盘缓存管理方法和装置
CN106250064B (zh) * 2016-08-19 2020-05-12 深圳大普微电子科技有限公司 固态硬盘控制装置和基于学习的固态硬盘数据存取方法

Also Published As

Publication number Publication date
WO2018033035A1 (zh) 2018-02-22
US20190146716A1 (en) 2019-05-16
US20210365215A1 (en) 2021-11-25
CN106250064A (zh) 2016-12-21
US20210365214A1 (en) 2021-11-25
US11119694B2 (en) 2021-09-14
US11797185B2 (en) 2023-10-24
US11816334B2 (en) 2023-11-14

Similar Documents

Publication Publication Date Title
CN106250064B (zh) 固态硬盘控制装置和基于学习的固态硬盘数据存取方法
CN110546628B (zh) 用有向线缓冲器最小化存储器读取提高神经网络环境性能
Eisenman et al. Bandana: Using non-volatile memory for storing deep learning models
CN104246721B (zh) 存储系统、存储控制器及存储控制方法
TW201539187A (zh) 快閃記憶體之壓縮、讀取方法及應用其方法的裝置
US9483350B1 (en) Flash memory codeword architectures
CN111078439A (zh) 一种固态硬盘寿命预测方法和装置
CN112667528A (zh) 一种数据预取的方法及相关设备
US20150178190A1 (en) Detecting hot spots through flash memory management table snapshots
CN110990174A (zh) 一种基于Prophet模型预测SSD可用时间的方法、设备及介质
CN110532200B (zh) 一种基于混合内存架构的内存系统
CN110795363B (zh) 一种存储介质的热页预测方法和页面调度方法
CN112286461A (zh) 一种数据迁移方法、装置及电子设备和存储介质
CN109871181A (zh) 一种对象存取方法及装置
CN106788468A (zh) 一种纠删码更新方法及装置,电子设备
JP2022070218A (ja) 方法、システム、コンピュータ・プログラム、及びコンピュータ可読ストレージ媒体(積極的なプリフェッチをサポートするための高速キャッシュ追跡)
WO2023083454A1 (en) Data compression and deduplication aware tiering in a storage system
CN111796757B (zh) 一种固态硬盘缓存区管理方法和装置
US20210349828A1 (en) Page modification encoding and caching
CN113467724A (zh) 一种crc校验码存储方法、装置、设备及介质
CN111522512A (zh) 优化的冷热数据分离方法、装置、计算机设备及存储介质
WO2023061569A1 (en) Smart defragmentation of a data storage system
CN117235088B (zh) 一种存储系统的缓存更新方法、装置、设备、介质及平台
WO2023061567A1 (en) Compressed cache as a cache tier
Baek et al. Don’t make cache too complex: A simple probability-based cache management scheme for SSDs

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Solid state hard disk control device and learning based solid state hard disk data access method

Effective date of registration: 20210406

Granted publication date: 20200512

Pledgee: Shenzhen small and medium sized small loan Co., Ltd

Pledgor: Shenzhen Dapu Microelectronics Co.,Ltd.

Registration number: Y2021440020011

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20220523

Granted publication date: 20200512

Pledgee: Shenzhen small and medium sized small loan Co.,Ltd.

Pledgor: SHENZHEN DAPU MICROELECTRONICS Co.,Ltd.

Registration number: Y2021440020011