一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于忆阻器的存算一体固态硬盘及存算实现方法与流程

2021-08-03 14:29:00 来源:中国专利 TAG:盘存 固态 硬盘 方法 是基于
基于忆阻器的存算一体固态硬盘及存算实现方法与流程

本发明涉及存储领域,具体是一种基于忆阻器的存算一体固态硬盘及该硬盘的存算实现方法。



背景技术:

ssd(solidstatedisk,固态硬盘)现在逐渐代替hdd(harddiskdrive,机械硬盘)成为主流的存储设备,随着大数据时代的到来,不仅加大了对存储设备的容量要求,让存储设备承担更多的功能已经成为大势所趋。传统的存储设备只是起到了存储主机(host)数据的作用,如果主机(host)想对数据进行计算操作只能先从存储设备中将数据读出,计算后在存储到设备中,这样比较耗时,计算效率较低,这也是冯诺依曼瓶颈的一种体现。如果能把主机(host)需要进行的计算操作在存储设备中处理,计算结果直接返回给主机(host)的话会节省很多时间,提升计算的效率。

忆阻器,全称记忆电阻器(memristor),它是表示磁通与电荷关系的电路器件。利用忆阻器构建运算存储阵列可以实现存储和运算的功能,将忆阻器组成的运算存储阵列运用到固态存储硬盘架构,能够使固态存储硬盘不仅具有存储的功能,还可以对存储数据运算以及根据计算模型进行自动化计算。



技术实现要素:

本发明要解决的技术问题是提供一种基于忆阻器的存算一体固态硬盘及存算实现方法,用忆阻器构建的运算存储阵列来替代存储设备中常用的存储介质,实现数据存储、运算以及根据计算模型进行自动化迭代计算的功能。

为了解决所述技术问题,本发明采用的技术方案是:基于忆阻器的存算一体固态硬盘,包括依次连接的通信接口、ssd控制器及运算存储阵列,并且ssd控制器通过通信接口与主机系统互连;

所述运算存储阵列基于忆阻器实现,包括二值忆阻器阵列以及多级阻态的模拟型忆阻器阵列,二值忆阻器实现逻辑运算,多级阻态的模拟型忆阻器实现在模拟域的乘法、加法以及减法运算,主机系统的运算需求由二值忆阻器阵列和多级阻态的模拟型忆阻器阵列单独或共同参与实现;

所述ssd控制器包括cpu、io接口控制器、缓存控制器、存算控制器、缓存和纠错模块;

io接口控制器、缓存控制器、存算控制器依次连接于通信接口与运算存储阵列之间,io接口控制器用于控制输入、输出数据与命令的传递与分配,缓存控制器用于控制输入、输出数据与命令是否放入缓存,存算控制器按照时序规则对运算存储阵列的访问进行调度与控制;

cpu与io接口控制、缓存控制器、存算控制器相连,cpu负责调度资源、调整命令执行顺序以及解释计算机指令以及处理计算机软件中的数据;

缓存与缓存控制器相连,用于暂时存放数据和命令;

纠错模块与存算控制器相连,用于对错误技术结果进行纠正。

进一步的,运算存储阵列包括水平连接线、垂直连接线和忆阻器,水平连接线和垂直连接线相交形成阵列框架,忆阻器连接在水平连接线和垂直连接线的交点处。

进一步的,所述通信接口为pcie或sata接口。

进一步的,所述硬盘用于基于深度学习的图像识别场景或者大数据计算场景。

本发明还公开了一种存算一体固态硬盘的存算实现方法,本方法基于上述存算一体固态硬盘,实现包括数据存储、数据计算、根据计算模型进行自动计算在内的功能。

进一步的,基于所述存算一体固态硬盘实现数据存储的过程为:

s01)、主机系统将要存储的数据及对应的命令通过通信接口传递给io接口控制器,要存储的数据及对应的命令简称为输入信息;

s02)、根据ssd控制器当前的状态通知io接口控制器是否将步骤s01的输入信息传递给缓存控制器;

s03)、缓存控制器根据当前任务的执行情况以及该条输入信息的优先级决定是将输入信息暂时存入缓存中还是发给存算控制器,如果暂时存入缓存中,则等待ssd控制器决定执行该条输入命令的消息,收到执行该输入命令的消息,从缓存中取出该输入信息发送存算控制器;如果不存入缓存中,则将输入信息发给存算控制器;

s04)、根据ssd控制器的仲裁,通知存算控制器将输入信息传递给运算存储阵列,运算存储阵列根据输入信息将数据存储到自身的存储单元中,此条存储任务完成。

进一步的,基于权利要求1所述存算一体固态硬盘实现数据计算的过程为:

s01)、主机系统将要进行的运算操作以及涉及到的数据信息通过通信接口传递给io接口控制器,要进行的运算操作以及涉及到的数据信息简称为输入信息;

s02)、根据ssd控制器当前的状态通知io接口控制器是否将步骤s01的输入信息传递给缓存控制器;

s03)、缓存控制器根据当前任务的执行情况以及该条输入信息的优先级决定是将输入信息暂时存入缓存中还是发给存算控制器,如果暂时存入缓存中,则等待ssd控制器决定执行该条输入命令的消息,收到执行该输入命令的消息,从缓存中取出该输入信息发送存算控制器;如果不存入缓存中,则将输入信息发给存算控制器;

s04)、根据ssd控制器的仲裁,通知存算控制器将输入信息传递给运算存储阵列,同时存算控制器将输入信息传递给纠错模块用来与运算存储阵列反馈的运算值做对比、判断结果的正确性;

s05)、运算存储阵列将输入信息进行保存并且执行运算操作同时将涉及到的运算数据通过存算控制器传递给纠错模块,运算存储阵列将运算结果存储到自身的存储单元中同时将运算结果传递给存算控制器;

s06)、存算控制器将运算存储阵列返回的运算结果传递给纠错模块,纠错模块判定结果正确则将运算结果传递给缓存控制器,如果不正确则通知运算存储阵列进行再次计算同时运算存储阵列删除已保存的自身运算结果,直到纠错模块判定的结果为正确,再次将正确的运算结果存储到自身的存储单元中;

s07)、缓存控制器根据ssd控制器的仲裁决定是将运算结果反馈给io接口控制器还是将运算结果暂时存放在缓存中;

s08)、io接口控制器将运算结果通过通信接口传递给主机系统,运算操作结束。

进一步的,基于权利要求1所述存算一体固态硬盘实现根据计算模型进行自动计算的过程为:

s01)、主机系统将初始计算模型以及涉及到的数据信息通过pcie/sata接口传递给io接口控制器,初始计算模型以及涉及到的数据信息简称为输入信息;

s02)、根据ssd控制器当前的状态通知io接口控制器是否将步骤s01的输入信息传递给缓存控制器;

s03)、缓存控制器根据当前任务的执行情况以及该条输入信息的优先级决定是将输入信息暂时存入缓存中还是发给存算控制器,如果暂时存入缓存中,则等待ssd控制器决定执行该条输入命令的消息,收到执行该输入命令的消息,从缓存中取出该输入信息发送存算控制器;如果不存入缓存中,则将输入信息发给存算控制器;

s04)、根据ssd控制器的仲裁,通知存算控制器将输入信息传递给运算存储阵列,运算存储阵列会根据计算模型进行自动计算,计算结果作为输入信息再次计算,不断迭代计算结果,直到收到主机暂停计算的命令;

s05)、运算存储阵列将计算结果传递给缓存控制器;

s06)、缓存控制器根据ssd控制器的仲裁决定是将运算结果反馈给io接口控制器还是将运算结果暂时存放在缓存中;

s07)、io接口控制器将运算结果通过通信接口传递给主机,主机决定是否更新计算模型继续计算还是直接返回结果结束流程。

进一步的,所述方法用于基于深度学习的图像识别场景或者大数据计算场景。

本发明的有益效果:本发明突破了原先存储设备只有存储功能的局限性,基于忆阻器组成的运算存储阵列来构建存算一体的固态硬盘架构,使固态硬盘不仅具有了存储数据的功能同时还可以对存储的数据进行运算以及根据计算模型进行自动迭代计算的功能。提升了计算的效率,尤其是对于较大数据量的计算,提升效果更加明显。原先的存储硬盘一般使用闪存介质组成存储阵列,由于闪存介质的本身属性原因,往往会随着时间的推移这些闪存介质的性能会发生显著变化,比如错误率升高、使用次数有限以及速度变慢的问题,这些对计算机系统的整体性能来说是非常不利的。用忆阻器组成的运算存储阵列可以有效的改善这些问题,提高存储设备的稳定性、正确性以及时效性。

本专利对于提升图像识别效率与正确性以及提高大数据计算的速度具有非常现实的意义,可以应用于图像识别以及大数据计算等众多领域。同时本发明对未来固态存储硬盘的架构设计方向有一定参考意义,丰富了固态硬盘的功能,更好的满足host对存储设备的功能需求。

附图说明

图1为实施例1所述硬盘的架构图;

图2为运算存储阵列的示意图;

图3为数据存储的流程图;

图4为数据计算的流程图;

图5为数据自动计算的流程图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步的说明。

实施例1

本实施例公开一种基于忆阻器的存算一体固态硬盘,用忆阻器构建的运算存储阵列来替代存储设备中常用的存储介质,实现数据存储、运算以及根据计算模型进行自动化迭代计算的功能。主机系统将要进行的数据运算操作、初始计算模型以及涉及到的数据信息传递给运算存储阵列,运算存储阵列根据输入信息对相关数据进行运算操作以及迭代计算,将运算结果反馈给主机系统。本发明可以利用计算结果对输入的初始计算模型进行自动化迭代优化,这对于大数据计算以及图像识别等应用场景是非常有利的。通过不断优化的计算模型来对图像进行识别,本发明可以实现提升图像识别正确率以及识别效率的作用。基本本发明实现原理,对于提升大数据计算的效率有很大益处,可以减轻大数据计算对cpu计算力的过度依赖,降低成本。

如图1所示,本实施例所述固态硬盘包括依次连接的通信接口、ssd控制器及运算存储阵列,并且ssd控制器通过通信接口与主机系统互连。

所述运算存储阵列基于忆阻器实现,包括二值忆阻器阵列以及多级阻态的模拟型忆阻器阵列,二值忆阻器实现逻辑运算,多级阻态的模拟型忆阻器实现在模拟域的乘法、加法以及减法运算,主机系统的运算需求由二值忆阻器阵列和多级阻态的模拟型忆阻器阵列单独或共同参与实现;

所述ssd控制器包括cpu、io接口控制器、缓存控制器、存算控制器、缓存和纠错模块;

io接口控制器、缓存控制器、存算控制器依次连接于通信接口与运算存储阵列之间,io接口控制器用于控制输入、输出数据与命令的传递与分配,缓存控制器用于控制输入、输出数据与命令是否放入缓存,存算控制器按照时序规则对运算存储阵列的访问进行调度与控制;

cpu与io接口控制、缓存控制器、存算控制器相连,cpu负责调度资源、调整命令执行顺序以及解释计算机指令以及处理计算机软件中的数据;

缓存与缓存控制器相连,用于暂时存放数据和命令;

纠错模块与存算控制器相连,用于对错误技术结果进行纠正。

图2为运算存储阵列的示意图,具体是一个由忆阻器组成的3*5尺寸的运算存储阵列示意图,运算存储阵列包括水平连接线、垂直连接线和忆阻器,水平连接线和垂直连接线相交形成阵列框架,忆阻器连接在水平连接线和垂直连接线的交点处。

在进行运算操作的时候,可以直接从运算存储阵列中取出相应的数据,运用忆阻器组成的电路功能结构进行运算操作,这样就可以直接把运算结果反馈给host,提升了运算的效率,打破了“冯·诺依曼瓶颈”,功耗降低,速度提升。原先存储设备中采用的存储介质一般都是闪存介质,闪存介质有自身的短板,比如它会随着使用次数的增加进而导致错误率提升,而且这种特性是无法修复的;还有就是闪存介质会随着使用次数的增加间接导致存储速度变慢,这是由闪存介质本身的属性导致的,存储设备的存储速度越用越慢而且速度无法提升,这些都是目前存储设备的瓶颈问题。忆阻器具有很高的鲁棒性,频繁使用不会对忆阻器本身的属性带来改变,稳定性较好,克服了闪存介质的这些瓶颈问题,用忆阻器组成的运算存储阵列具有高稳定性、高效率性以及高可靠性。

本实施例中,所述通信接口为pcie或sata接口。

本实施例中,所述硬盘用于基于深度学习的图像识别场景或者大数据计算场景。

基于该架构设计的固态硬盘不仅可以存储数据、依据host的需求来进行运算操作还可以根据计算模型进行自动计算,使原先的存储硬盘升级为存算一体的固态硬盘,打破了“冯·诺依曼瓶颈”,将存储与运算集成于一体,扩展了固态硬盘的功能性的同时还提高了运算的速度与效率。

实施例2

本实施例公开一种固态硬盘的存算实现方法,基于实施例1所述固态硬盘实现实现包括数据存储、数据计算、根据计算模型进行自动计算在内的功能。

如图3所示,数据存储的过程为:

s01)、主机系统将要存储的数据及对应的命令通过通信接口传递给io接口控制器,要存储的数据及对应的命令简称为输入信息;

s02)、根据ssd控制器当前的状态通知io接口控制器是否将步骤s01的输入信息传递给缓存控制器;

s03)、缓存控制器根据当前任务的执行情况以及该条输入信息的优先级决定是将输入信息暂时存入缓存中还是发给存算控制器,如果暂时存入缓存中,则等待ssd控制器决定执行该条输入命令的消息,收到执行该输入命令的消息,从缓存中取出该输入信息发送存算控制器;如果不存入缓存中,则将输入信息发给存算控制器;

s04)、根据ssd控制器的仲裁,通知存算控制器将输入信息传递给运算存储阵列,运算存储阵列根据输入信息将数据存储到自身的存储单元中,此条存储任务完成。

如图4所示,数据计算的过程为:

s01)、主机系统将要进行的运算操作以及涉及到的数据信息通过通信接口传递给io接口控制器,要进行的运算操作以及涉及到的数据信息简称为输入信息;

s02)、根据ssd控制器当前的状态通知io接口控制器是否将步骤s01的输入信息传递给缓存控制器;

s03)、缓存控制器根据当前任务的执行情况以及该条输入信息的优先级决定是将输入信息暂时存入缓存中还是发给存算控制器,如果暂时存入缓存中,则等待ssd控制器决定执行该条输入命令的消息,收到执行该输入命令的消息,从缓存中取出该输入信息发送存算控制器;如果不存入缓存中,则将输入信息发给存算控制器;

s04)、根据ssd控制器的仲裁,通知存算控制器将输入信息传递给运算存储阵列,同时存算控制器将输入信息传递给纠错模块用来与运算存储阵列反馈的运算值做对比、判断结果的正确性;

s05)、运算存储阵列将输入信息进行保存并且执行运算操作同时将涉及到的运算数据通过存算控制器传递给纠错模块,运算存储阵列将运算结果存储到自身的存储单元中同时将运算结果传递给存算控制器;

s06)、存算控制器将运算存储阵列返回的运算结果传递给纠错模块,纠错模块判定结果正确则将运算结果传递给缓存控制器,如果不正确则通知运算存储阵列进行再次计算同时运算存储阵列删除已保存的自身运算结果,直到纠错模块判定的结果为正确,再次将正确的运算结果存储到自身的存储单元中;

s07)、缓存控制器根据ssd控制器的仲裁决定是将运算结果反馈给io接口控制器还是将运算结果暂时存放在缓存中;

s08)、io接口控制器将运算结果通过通信接口传递给主机系统,运算操作结束。

如图5所示,根据计算模型进行自动计算的过程为:

s01)、主机系统将初始计算模型以及涉及到的数据信息通过pcie/sata接口传递给io接口控制器,初始计算模型以及涉及到的数据信息简称为输入信息;

s02)、根据ssd控制器当前的状态通知io接口控制器是否将步骤s01的输入信息传递给缓存控制器;

s03)、缓存控制器根据当前任务的执行情况以及该条输入信息的优先级决定是将输入信息暂时存入缓存中还是发给存算控制器,如果暂时存入缓存中,则等待ssd控制器决定执行该条输入命令的消息,收到执行该输入命令的消息,从缓存中取出该输入信息发送存算控制器;如果不存入缓存中,则将输入信息发给存算控制器;

s04)、根据ssd控制器的仲裁,通知存算控制器将输入信息传递给运算存储阵列,运算存储阵列会根据计算模型进行自动计算,计算结果作为输入信息再次计算,不断迭代计算结果,直到收到主机暂停计算的命令;

s05)、运算存储阵列将计算结果传递给缓存控制器;

s06)、缓存控制器根据ssd控制器的仲裁决定是将运算结果反馈给io接口控制器还是将运算结果暂时存放在缓存中;

s07)、io接口控制器将运算结果通过通信接口传递给主机,主机决定是否更新计算模型继续计算还是直接返回结果结束流程。

图4和图5中,实线代表host向运算存储阵列传递消息的过程,流程图中的虚线代表运算存储阵列向host反馈计算结果的过程。

本实施例所述的固态硬盘使计算机体系中的存储端具有了运算以及自动化计算的功能,对于数据运算,尤其是对于大数据计算、人工智能(ai)、深度学习等涉及到大数据量计算的领域具有提升计算速度、提高识别正确率的作用。

下面介绍两个具体的应用场景来详细说明本发明的作用:

场景一:基于深度学习的图像识别场景

近些年深度学习被广泛的应用于图像识别领域,相较于其他方法,其识别正确率较高,但是该方法是基于大量数据训练生成识别模型而实现的。在识别的过程中涉及到大量的数据计算,所以计算速度直接决定识别的效率。

通常计算的过程都是从存储设备中取出数据,计算后把计算结果存储到存储设备中,用到该计算结果时再从存储设备中取出,这样造成的结果是计算效率很低,进而造成在形成识别模型的过程中学习的时间较长,不利于现实应用场景中对即时性的要求。

通过本发明设计的固态硬盘存储架构可以有效提升计算的效率,计算机系统无需将要进行计算的数据从存储设备中取出,由于新的存储架构本身具有根据计算模型自动计算而且不断迭代优化计算模型的功能,所以计算机系统只需将初始的学习模型发送给运算存储阵列,运算存储阵列就可以根据学习模型进行计算并将计算结果保存以便迭代使用,同时不断迭代学习模型,直到达到host设置的训练次数为止。运算存储阵列利用运算结果不断的迭代学习,优化识别模型,提升识别效率。运用到图像识别领域,能够提升识别速度与正确率,满足host的实时性需求。

场景二:大数据计算场景

大数据时代的出现简单的讲是海量数据同完美计算能力结合的结果,确切的说是移动互联网、物联网产生了海量的数据,大数据计算技术完美地解决了海量数据的收集、存储、计算、分析的问题。大数据计算的速度直接决定了大数据技术的应用,对大数据产业的发展至关重要。

大数据计算依赖高性能的cpu,这会大幅度地增加应用成本。如果在存储端就将数据进行运算并进行反馈的话会减少cpu的负荷,降低对cpu计算性能的要求。本发明设计的固态存储硬盘架构可以实现无需将数据从存储设备中取出放入cpu中进行计算的功能,cpu只负责调度资源以及传递运算命令即可,本发明中的运算存储阵列把运算结果直接存储到自身的存储单元中,使用该运算结果时可以直接从存储单元中取出,以满足大数据计算技术对数据不间断使用的要求,提升运算速度,降低对cpu高计算性能的依赖进而降低成本。

以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜