掌桥专利:专业的专利平台
掌桥专利
首页

一种固态硬盘读请求处理方法、装置、设备及介质

文献发布时间:2024-04-18 20:01:30


一种固态硬盘读请求处理方法、装置、设备及介质

技术领域

本发明涉及计算机技术领域,特别涉及一种固态硬盘读请求处理方法、装置、设备及介质。

背景技术

固态硬盘(Solid State Drive,SSD)中管理了逻辑地址到物理地址的映射表,在收到读请求后,会通过查表找到对应的物理地址。其过程为:给出读取目标数据的目标电压值组,基于NAND Flash(NAND闪存)进行数据的读取,然后通过LDPC(Low Density ParityCheck Code,低密度奇偶校验码)解码、scramble(扰码)解码等获取真实数据。

由于读干扰、保持时间、擦写次数等原因,数据可能会发生错误,错误类别也不相同。目前,针对数据读取时的错误处理都是在读一遍出错之后,判断出错误的类别,然后根据类别进行相应的措施调整进行重读第二遍。可以看出,如此循环到指定次数,这增加了硬件开销和计算的开销。并且,重读的操作也对读写的I/O(Input/Output,输入/输出)性能会有很大的影响。

因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。

发明内容

有鉴于此,本发明的目的在于提供一种固态硬盘读请求处理方法、装置、设备及介质,能够前预判读是否发生错误,然后通过调整读取电压后再读取数据,节省重读的开销,提高读的准确性。其具体方案如下:

第一方面,本申请公开了一种固态硬盘读请求处理方法,包括:

获取固态硬盘在执行目标读请求时产生的第一特征数据,并基于所述第一特征数据构造训练数据集和验证数据集;

分别利用所述训练数据集和所述验证数据集对深度学习预测模型进行训练和验证以得到训练后的深度学习预测模型;其中,所述深度学习预测模型用于对所述目标读请求的处理结果为读正确或读错误进行预测;

获取所述固态硬盘在执行当前读请求时产生的第二特征数据,并将所述当前读请求对应的第二特征数据输入至所述训练后的深度学习预测模型以得到针对所述当前读请求的处理结果的预测结果;

根据所述预测结果对所述当前读请求进行处理。

可选的,所述获取固态硬盘在执行目标读请求时产生的第一特征数据,包括:

获取所述固态硬盘在执行历史读请求后得到的记录日志,并通过所述记录日志获取与所述历史读请求对应的第一特征数据;

和/或,通过更改参数变量的方式进行实验构造,以获取所述固态硬盘在执行与更改后参数变量对应的读请求时产生的所述第一特征数据。

可选的,所述获取固态硬盘在执行目标读请求时产生的第一特征数据,包括:

获取固态硬盘在执行目标读请求时产生的硬盘温度、擦写次数、保持时间以及读取电压;

将所述硬盘温度、所述擦写次数、所述保持时间以及所述读取电压进行整合以得到所述第一特征数据;

相应的,所述获取所述固态硬盘在执行当前读请求时产生的第二特征数据,包括:

获取所述固态硬盘在执行当前读请求时产生的当前硬盘温度、当前擦写次数、当前保持时间以及当前读取电压;

将所述当前硬盘温度、所述当前擦写次数、所述当前保持时间以及所述当前读取电压进行整合以得到所述第二特征数据。

可选的,所述基于所述第一特征数据构造训练数据集和验证数据集,包括:

对所述第一特征数据进行分类以得到表征读正确的一类数据以及表征读错误的二类数据;

按照预设数据分配比例分别将所述一类数据和所述二类数据进行划分,以得到划分后一类数据和划分后二类数据;

基于所述划分后一类数据和所述划分后二类数据确定所述训练数据集和所述验证数据集。

可选的,所述分别利用所述训练数据集和所述验证数据集对深度学习预测模型进行训练和验证以得到训练后的深度学习预测模型,包括:

构建卷积神经网络模型,并初始化网络训练参数;

利用所述训练数据集对所述卷积神经网络模型进行前向传播以确定与所述训练数据集中的训练样本对应的读错误概率值;其中,所述前向传播包括卷积层、池化层和全连接层的计算;

利用交叉熵损失函数评估所述卷积神经网络模型对所述读错误概率值的训练误差,并根据所述训练误差通过反向传播对所述网络训练参数进行更新直到所述卷积神经网络模型的预测性能满足预设条件,以确定深度学习预测模型;

利用所述验证集对所述深度学习预测模型进行迭代训练以优化所述深度学习预测模型得到训练后的深度学习预测模型;

其中,所述卷积神经网络模型的预测性能是否满足预设条件的判断过程,包括:

通过所述卷积神经网络模型确定所述训练样本在预设时间段内读正确的最大数量和最小数量,以及所述训练样本在所述预设时间段内读正确的平均数量;

基于所述最大数量、所述最小数量以及所述平均数量确定所述卷积神经网络模型的性能分数值;

将所述性能分数值与预先设定的性能指标值进行比较,以便根据比较结果确定预测性能满足所述预设条件的卷积神经网络模型。

可选的,所述分别利用所述训练数据集和所述验证数据集对深度学习预测模型进行训练和验证以得到训练后的深度学习预测模型的之后,还包括:

根据所述训练后的深度学习预测模型的输出结果确定可信度达到预设阈值时对应的读错误目标概率值;

相应的,所述将所述当前读请求对应的第二特征数据输入至所述训练后的深度学习预测模型以得到针对所述当前读请求的处理结果的预测结果,包括:

将所述当前读请求对应的第二特征数据输入至所述训练后的深度学习预测模型;

如果所述训练后的深度学习预测模型输出的读错误预测概率值大于所述读错误目标概率值,则将所述当前读请求的处理结果预测为会出现读错误;

如果所述训练后的深度学习预测模型输出的所述读错误预测概率值不大于所述读错误目标概率值,则将所述当前读请求的处理结果预测为会出现读正确。

可选的,所述根据所述预测结果对所述当前读请求进行处理,包括:

如果针对所述当前读请求的处理结果的所述预测结果为会出现读错误,则根据推荐电压表提供的电压值调整所述固态硬盘的读取电压,以基于调整后的读取电压进行与所述当前读请求对应的读取操作;

如果针对所述当前读请求的处理结果的所述预测结果为会出现读正确,则将所述当前读请求以及所述第二特征数据进行记录,以便利用所述当前读请求以及所述第二特征数据更新所述训练后的深度学习预测模型。

第二方面,本申请公开了一种固态硬盘读请求处理装置,包括:

数据集获取模块,用于获取固态硬盘在执行目标读请求时产生的第一特征数据,并基于所述第一特征数据构造训练数据集和验证数据集;

模型训练模块,用于分别利用所述训练数据集和所述验证数据集对深度学习预测模型进行训练和验证以得到训练后的深度学习预测模型;其中,所述深度学习预测模型用于对所述目标读请求的处理结果为读正确或读错误进行预测;

读请求预测模块,用于获取所述固态硬盘在执行当前读请求时产生的第二特征数据,并将所述当前读请求对应的第二特征数据输入至所述训练后的深度学习预测模型以得到针对所述当前读请求的处理结果的预测结果;

读请求处理模块,用于根据所述预测结果对所述当前读请求进行处理。

第三方面,本申请公开了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如前所述的固态硬盘读请求处理方法。

第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中所述计算机程序被处理器执行时实现如前所述的固态硬盘读请求处理方法。

本申请提供了一种固态硬盘读请求处理方法,包括:获取固态硬盘在执行目标读请求时产生的第一特征数据,并基于所述第一特征数据构造训练数据集和验证数据集;分别利用所述训练数据集和所述验证数据集对深度学习预测模型进行训练和验证以得到训练后的深度学习预测模型;其中,所述深度学习预测模型用于对所述目标读请求的处理结果为读正确或读错误进行预测;获取所述固态硬盘在执行当前读请求时产生的第二特征数据,并将所述当前读请求对应的第二特征数据输入至所述训练后的深度学习预测模型以得到针对所述当前读请求的处理结果的预测结果;根据所述预测结果对所述当前读请求进行处理。本申请的有益技术效果为:通过收集固态硬盘在执行目标读请求时的相关数据,构造用于训练和验证深度学习预测模型的训练数据集和验证数据集。当固态硬盘在执行当前读请求时产生的第二特征数据时,能够基于深度学习预先预测这笔读请求发生读错误的概率。通过预测结果先调整读取电压,然后再去读,如此一来,能够节省重读的开销,提高读的准确性。

本申请提供的一种固态硬盘读请求处理装置、设备及存储介质,与上述固态硬盘读请求处理方法对应,效果同上。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请公开的一种固态硬盘读请求处理方法流程图;

图2为本申请公开的一种具体的卷积模型网络构造示意图;

图3为本申请公开的一种卷积模型网络构造示意图;

图4为本申请公开的一种具体的卷积模型网络构造示意图;

图5为本申请公开的一种深度学习预测读错误的方法步骤示意图;

图6为本申请公开的一种固态硬盘读请求处理装置结构示意图;

图7为本申请公开的一种深度学习预测读错误的装置结构示意图;

图8为本申请公开的一种电子设备结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

当前,针对固态硬盘的数据读取,如果出现数据读取出错事件,都是采用重读的方式,调整读取电压或者使用数据恢复来得到正确数据。这增加了硬件开销和计算的开销。重读的操作也对读写的I/O性能会有很大的影响。

为此,本申请提供了一种固态硬盘读请求处理方案,能够提前预判读是否发生错误,然后通过调整读取电压后再读取数据,节省重读的开销,提高读的准确性。

本发明实施例公开了一种固态硬盘读请求处理方法,参见图1所示,该方法包括:

步骤S11:获取固态硬盘在执行目标读请求时产生的第一特征数据,并基于所述第一特征数据构造训练数据集和验证数据集。

本申请实施例中,利用固态硬盘设备收集数据集并进行编码整理,构造并划分得到训练数据集和验证数据集。需要指出的是,收集的数据集为固态硬盘在执行目标读请求时产生的第一特征数据。

在收集数据集时,可以收集以往在执行读请求时相关的数据,也可以通过更改变量直接进行实验构造得到相关数据。也即,目标读请求可以对应执行的历史读请求,也可以对应更改参数变量后得到的特定参数变量对应的读请求。可以理解的是,针对执行的历史读请求,获取的相关信息在固态硬盘设备中可以通过每次执行读时打印的日志中得到;针对实验构造得到的读请求,则需要记录每次更改特定的参数变量后产生的读请求以及读请求的相关数据。例如,设置不同的读取电压,记录不同读取电压下读正确或者读错误时的硬盘的温度、擦写次数等。

具体的,获取所述固态硬盘在执行历史读请求后得到的记录日志,并通过所述记录日志获取与所述历史读请求对应的第一特征数据;和/或,通过更改参数变量的方式进行实验构造,以获取所述固态硬盘在执行与更改后参数变量对应的读请求时产生的所述第一特征数据。

本申请实施例中,第一特征数据为固态硬盘在执行目标读请求产生的能够表征固态硬盘当前特征的数据,例如在进行读请求时,读正确或者读错误后当时硬盘的温度、擦写次数、保持时间、读取电压等。具体的,获取固态硬盘在执行目标读请求时产生的硬盘温度、擦写次数、保持时间以及读取电压;将所述硬盘温度、所述擦写次数、所述保持时间以及所述读取电压进行整合以得到所述第一特征数据。

需要指出的是,考虑到NAND闪存设备中的所有块,固态硬盘数据的擦写次数是指平均擦除次数;温度是指SSD设备的温度;保持时间是指数据在块中停留的时间;读取电压就是在读该笔数据时的电压。

进一步的,基于获取的第一特征数据构造训练数据集和验证数据集。具体的,对所述第一特征数据进行分类以得到表征读正确的一类数据以及表征读错误的二类数据;按照预设数据分配比例分别将所述一类数据和所述二类数据进行划分,以得到划分后一类数据和划分后二类数据;基于所述划分后一类数据和所述划分后二类数据确定所述训练数据集和所述验证数据集。

可见,把数据分为两类,一类是直接读正确的数据,另一类是读错误的数据。在数据分类的过程中,尽量做到两类数据的平衡。可以理解的是,一类数据与二类数据共同构成数据集,按照预设数据分配比例分别将一类数据和二类数据进行划分,也即,按照预设数据分配比例对数据集进行划分。在一种具体的实施方式中,将80%的数据作为训练数据集来训练模型,将20%的数据作为验证数据集来验证模型。

步骤S12:分别利用所述训练数据集和所述验证数据集对深度学习预测模型进行训练和验证以得到训练后的深度学习预测模型;其中,所述深度学习预测模型用于对所述目标读请求的处理结果为读正确或读错误进行预测。

由于目前针对读错误类别的处理方案通常为额外设置硬件,通过对采样点的电压值的获取与变化的对比,来确定发生了读错误,然后进行调整读取电压进行重读。可以看出,读错误的处理都是读一遍出错之后进行相应的措施调整进行重读第二遍。如此循环到指定次数。这增加了硬件开销和计算的开销。重读的操作也对读写的I/O性能会有很大的影响。

本申请实施例中,利用深度学习预测读错误,通过预先预测这笔读请求发生读错误的概率,如果超过阈值,判断为会发生读错误,调整读取电压再去读,节省重读的开销,提高读的准确性。因此,为了实现读错误的预测,利用针对读请求得到的训练数据集和验证数据集对深度学习预测模型进行训练和验证,得到训练后的深度学习预测模型。

可以理解的是,由于深度学习预测模型用于对所述目标读请求的处理结果为读正确或读错误进行预测。那么训练后的深度学习预测模型就能够实现对任意读请求的处理结果为读正确或读错误进行预测。

步骤S13:获取所述固态硬盘在执行当前读请求时产生的第二特征数据,并将所述当前读请求对应的第二特征数据输入至所述训练后的深度学习预测模型以得到针对所述当前读请求的处理结果的预测结果。

本申请实施例中,在得到训练好的深度学习预测模型后就可以针对当前获取的读请求进行预测。具体地,在进行读请求时,SSD将当前相关的第二特征数据,包括当时硬盘的温度、当前擦写次数、当前保持时间、当前读取电压,将他们整合成输入数据输入模型,得到针对当前读请求的处理结果的预测结果。

步骤S14:根据所述预测结果对所述当前读请求进行处理。

可以理解的是,模型输出的预测结果在一种具体的实施方式中可以是读错误的预测概率,通过分析该预测结果来判断当前读请求是否可能会出现读错误。然后相应的对当前读请求进行处理。

本申请提供了一种固态硬盘读请求处理方法,包括:获取固态硬盘在执行目标读请求时产生的第一特征数据,并基于所述第一特征数据构造训练数据集和验证数据集;分别利用所述训练数据集和所述验证数据集对深度学习预测模型进行训练和验证以得到训练后的深度学习预测模型;其中,所述深度学习预测模型用于对所述目标读请求的处理结果为读正确或读错误进行预测;获取所述固态硬盘在执行当前读请求时产生的第二特征数据,并将所述当前读请求对应的第二特征数据输入至所述训练后的深度学习预测模型以得到针对所述当前读请求的处理结果的预测结果;根据所述预测结果对所述当前读请求进行处理。本申请的有益技术效果为:通过收集固态硬盘在执行目标读请求时的相关数据,构造用于训练和验证深度学习预测模型的训练数据集和验证数据集。当固态硬盘在执行当前读请求时产生的第二特征数据时,能够基于深度学习预先预测这笔读请求发生读错误的概率。通过预测结果先调整读取电压,然后再去读,如此一来,能够节省重读的开销,提高读的准确性。

本申请实施例公开了一种具体的利用所述训练数据集和所述验证数据集对深度学习预测模型进行训练和验证以得到训练后的深度学习预测模型的方法,参见图2所示,该方法包括:

步骤S21:构建卷积神经网络模型,并初始化网络训练参数。

在人工神经网络结构中,卷积神经网络由卷积层、池化层、全连接层组成,具有局部链接、权值共享以及池化操作的特征,可以有效的提取特征,又可以大幅度的简化网络的复杂度。因此,本申请实施例中,使用卷积神经网络模型。面对预测读请求的数据集特征:高离散性、多维特征、多维特征间关联性差的特点,可充分利用卷积神经网络拟合数据集之间的内在联系,提升预测准确率。卷积神经网络模型构造图参考图3。

步骤S22:利用所述训练数据集对所述卷积神经网络模型进行前向传播以确定与所述训练数据集中的训练样本对应的读错误概率值;其中,所述前向传播包括卷积层、池化层和全连接层的计算。

首先,模型训练的过程中先进行前向传播,前向传播输出的结果为读错误概率。具体的,网络的输入可以定义为X=(x

其中,σ为激活函数,为保证网络的泛化能力和更好的拟合能力,在此选用非线性激活函数ReLU(Linear rectification function,线性整流函数),它的特点是收敛快,求梯度简单,即σ=ReLU(x)。

卷积层后面再用三个隐含的全连接层整合归纳。设k为输入神经元维度,则第M+1个全连接层输出神经元值α

定义α

步骤S23:利用交叉熵损失函数评估所述卷积神经网络模型对所述读错误概率值的训练误差,并根据所述训练误差通过反向传播对所述网络训练参数进行更新直到所述卷积神经网络模型的预测性能满足预设条件,以确定深度学习预测模型。

进一步的,前向传播计算完成之后执行反向传播操作。具体的,正向传播后使用交叉熵损失函数:

定义ε

ε

其中,ε

权重和偏置即为不断更新的网络训练参数,对于权重和偏置的更新,采用以下公式更新:

对于全连接层的反向传播误差使用以下公式计算:

ε

全连接层权重更新公式与卷积层相同,将损失值反向传播回模型从而更新网络参数,不断提升预测的性能。

本申请实施例中,所述卷积神经网络模型的预测性能是否满足预设条件的判断过程,包括:通过所述卷积神经网络模型确定所述训练样本在预设时间段内读正确的最大数量和最小数量,以及所述训练样本在所述预设时间段内读正确的平均数量;基于所述最大数量、所述最小数量以及所述平均数量确定所述卷积神经网络模型的性能分数值;将所述性能分数值与预先设定的性能指标值进行比较,以便根据比较结果确定预测性能满足所述预设条件的卷积神经网络模型。

可见,通过使用一段时间一次读正确的数量来评价模型的好坏:

其中,MAX

步骤S24:利用所述验证集对所述深度学习预测模型进行迭代训练以优化所述深度学习预测模型得到训练后的深度学习预测模型。

本申请实施例中,用验证数据集验证训练好的深度学习预测模型。具体地,模型训练后,用验证数据集的数据验证系统的可靠性,用所述验证数据集对所述训练后的深度学习模型继续进行优化,重复模型训练的过程,也即,重复步骤S22、步骤S23,对比预测结果,选取最优预测结果的参数,得到最优的深度学习预测模型作为训练后的深度学习预测模型。

另外,模型整体分为两个部分,训练模块和更新模块。其中,训练模块主要功能为基于采集的数据集训练深度学习模型得到适用于预测读错误的算法模型。本申请实施例中,为增加训练模型的精度,加入更新模块,进行在线强化学习,每次处理一笔读请求,将收集相应的数据传入更新模块,更新训练模型。

可见,通过训练后的深度学习预测模型,能够提前预判读是否发生错误,通过调整读取电压后再读取数据,节省重读的开销,提高读的准确性。

本申请实施例公开了一种具体的固态硬盘读请求处理方法,参见图4所示,该方法包括:

步骤S31:获取固态硬盘在执行目标读请求时产生的第一特征数据,并基于所述第一特征数据构造训练数据集和验证数据集。

步骤S32:分别利用所述训练数据集和所述验证数据集对深度学习预测模型进行训练和验证以得到训练后的深度学习预测模型;其中,所述深度学习预测模型用于对所述目标读请求的处理结果为读正确或读错误进行预测。

其中,关于上述步骤S31、步骤S32更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

步骤S33:根据所述训练后的深度学习预测模型的输出结果确定可信度达到预设阈值时对应的读错误目标概率值。

本申请实施例中,利用验证数据集选取最优预测结果的参数,得到最优的训练后的深度学习预测模型。在结果对比过程中,可以得到可信度高的出错误的阈值,超过阈值,则判断为会出错误,没有超过,判断为不会出错误。

步骤S34:获取所述固态硬盘在执行当前读请求时产生的第二特征数据,并将所述当前读请求对应的第二特征数据输入至所述训练后的深度学习预测模型。

本申请实施例中,接收当前读请求的相关数据信息,组合模型输入数据,通过模型预测出错概率,如果出错概率很大,调整读取电压进行读取NAND。

步骤S35:如果所述训练后的深度学习预测模型输出的读错误预测概率值大于所述读错误目标概率值,则将所述当前读请求的处理结果预测为会出现读错误。

步骤S36:如果针对所述当前读请求的处理结果的所述预测结果为会出现读错误,则根据推荐电压表提供的电压值调整所述固态硬盘的读取电压,以基于调整后的读取电压进行与所述当前读请求对应的读取操作。

步骤S37:如果所述训练后的深度学习预测模型输出的所述读错误预测概率值不大于所述读错误目标概率值,则将所述当前读请求的处理结果预测为会出现读正确。

步骤S38:如果针对所述当前读请求的处理结果的所述预测结果为会出现读正确,则将所述当前读请求以及所述第二特征数据进行记录,以便利用所述当前读请求以及所述第二特征数据更新所述训练后的深度学习预测模型。

为方便描述,将上述步骤S35-步骤S38结合起来进行说明。

本申请实施例中,根据之前反复训练得到的出错阈值,即目标概率值,通过预测出错概率与阈值的对比,判断是否出错。如果没有出错,这笔读请求的数据可以作为训练数据积累;如果会出错,通过推荐电压表调整读取电压进行读取。通过这种提前预测读错误的方式,减少重读的概率,节省重读的开销,提高读的准确性。

如图5所示为一种示例性的利用深度学习预测SSD读错误的流程示意图。第一步,利用SSD设备收集数据集,并进行编码整理,构造并划分训练集和验证集;第二步,用训练集训练深度学习预测模型;第三步,用验证集验证训练好的深度学习预测模型;第四步,接收当前读请求的相关数据信息,组合模型输入数据,通过模型预测出错概率,如果出错概率很大,调整读取电压再读取NAND。

本申请的有益技术效果为:通过收集固态硬盘在执行目标读请求时的相关数据,构造用于训练和验证深度学习预测模型的训练数据集和验证数据集。当固态硬盘在执行当前读请求时产生的第二特征数据时,能够基于深度学习预先预测这笔读请求发生读错误的概率。通过预测结果先调整读取电压,然后再去读,如此一来,能够节省重读的开销,提高读的准确性。

相应的,本申请实施例还公开了一种固态硬盘读请求处理装置,参见图6所示,该装置包括:

数据集获取模块11,用于获取固态硬盘在执行目标读请求时产生的第一特征数据,并基于所述第一特征数据构造训练数据集和验证数据集;

模型训练模块12,用于分别利用所述训练数据集和所述验证数据集对深度学习预测模型进行训练和验证以得到训练后的深度学习预测模型;其中,所述深度学习预测模型用于对所述目标读请求的处理结果为读正确或读错误进行预测;

读请求预测模块13,用于获取所述固态硬盘在执行当前读请求时产生的第二特征数据,并将所述当前读请求对应的第二特征数据输入至所述训练后的深度学习预测模型以得到针对所述当前读请求的处理结果的预测结果;

读请求处理模块14,用于根据所述预测结果对所述当前读请求进行处理。

其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

由此可见,通过本实施例的上述方案,本申请提供了一种固态硬盘读请求处理方法,包括:获取固态硬盘在执行目标读请求时产生的第一特征数据,并基于所述第一特征数据构造训练数据集和验证数据集;分别利用所述训练数据集和所述验证数据集对深度学习预测模型进行训练和验证以得到训练后的深度学习预测模型;其中,所述深度学习预测模型用于对所述目标读请求的处理结果为读正确或读错误进行预测;获取所述固态硬盘在执行当前读请求时产生的第二特征数据,并将所述当前读请求对应的第二特征数据输入至所述训练后的深度学习预测模型以得到针对所述当前读请求的处理结果的预测结果;根据所述预测结果对所述当前读请求进行处理。本申请的有益技术效果为:通过收集固态硬盘在执行目标读请求时的相关数据,构造用于训练和验证深度学习预测模型的训练数据集和验证数据集。当固态硬盘在执行当前读请求时产生的第二特征数据时,能够基于深度学习预先预测这笔读请求发生读错误的概率。通过预测结果先调整读取电压,然后再去读,如此一来,能够节省重读的开销,提高读的准确性。

示例性的,如图7所示为本发明提供一种具体的深度学习预测SSD读错误的装置示意图,包括:

获取模块21,用于获取当前读请求的相关数据信息;

组合模块22,将数据信息整合,组合成模型的输入数据;

预测模块23,利用深度学习模型预测读请求出错的概率;

调整模块24,若出错概率超出阈值,调整不同读取电压进行读操作。

其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

本申请的有益技术效果为:通过收集固态硬盘在执行目标读请求时的相关数据,构造用于训练和验证深度学习预测模型的训练数据集和验证数据集。当固态硬盘在执行当前读请求时产生的第二特征数据时,能够基于深度学习预先预测这笔读请求发生读错误的概率。通过预测结果先调整读取电压,然后再去读,如此一来,能够节省重读的开销,提高读的准确性。

进一步的,本申请实施例还公开了一种电子设备,图8是根据一示例性实施例示出的电子设备30结构图,图中内容不能认为是对本申请的使用范围的任何限制。

图8为本申请实施例提供的一种电子设备30的结构示意图。该电子设备30,具体可以包括:至少一个处理器31、至少一个存储器32、电源33、通信接口34、输入输出接口35和通信总线36。其中,所述存储器32用于存储计算机程序,所述计算机程序由所述处理器31加载并执行,以实现前述任一实施例公开的固态硬盘读请求处理方法中的相关步骤。另外,本实施例中的电子设备30具体可以为计算机。

本实施例中,电源33用于为电子设备30上的各硬件设备提供工作电压;通信接口34能够为电子设备30创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口35,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。

另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统321、计算机程序322及数据323等,数据323可以包括各种各样的数据。存储方式可以是短暂存储或者永久存储。

其中,操作系统321用于管理与控制电子设备30上的各硬件设备以及计算机程序322,其可以是Windows Server、Netware、Unix、Linux等。计算机程序322除了包括能够用于完成前述任一实施例公开的由电子设备30执行的固态硬盘读请求处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。

进一步的,本申请实施例还公开了一种计算机可读存储介质,这里所说的计算机可读存储介质包括随机存取存储器(Random Access Memory,RAM)、内存、只读存储器(Read-Only Memory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、磁碟或者光盘或技术领域内所公知的任意其他形式的存储介质。其中,所述计算机程序被处理器执行时实现前述固态硬盘读请求处理方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

结合本文中所公开的实施例描述的固态硬盘读请求处理方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种固态硬盘读请求处理方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术分类

06120116556028