一种信息处理方法及固态硬盘
技术领域
本发明涉及固体硬盘技术领域,尤其涉及一种信息处理方法及固态硬盘。
背景技术
SSD(SolidStateDisk,固态硬盘)是一种永久性存储器,由于其具有传统机械硬盘不具备的快速读写,质量轻,能耗低以及体积小的优点,所以,SSD在市场上得到了广泛的应用。
在现有技术中,在SSD芯片内部通过大量的命令包交互来实现对NAND控制器进行读写操作的功能,而在SSD芯片内部主要是基于SSD芯片处理器通过纯软件的方式直接产生命令包,如通过SSD芯片内部的ARM处理器,来直接产生所需的大量命令包。
但本申请发明人在实现本申请实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
在现有技术中,由于SSD芯片内部主要是通过纯软件的方式产生命令包,而纯软件的方式本身具有用时长,延时多的缺点,并且还要经过SSD芯片内部的处理器,又会导致处理器负荷大,功耗高,所以,现有技术中,通过SSD芯片产生命令包的技术存在用时长,处理器负荷大,且功耗高的技术问题。
发明内容
本申请实施例通过提供一种信息处理方法及固态硬盘,解决了现有技术中,通过SSD芯片产生命令包的技术存在用时长,处理器负荷大,且功耗高的技术问题,实现了减少SSD芯片产生命令包的时长功耗高的技术效果,实现了SSD芯片产生命令包的整体性能的技术效果。
本申请实施例一方面提供了一种信息处理方法,包括:
硬件加速器从电子设备的主控单元中获得用于生成重读命令包的至少一个重读参数;
基于所述至少一个重读参数,确定出预存数据中与所述至少一个重读参数匹配的第一预存数据;
基于所述第一预存数据与所述至少一个重读参数,生成重读命令包,以使得所述电子设备的闪存单元能够基于所述重读命令包进行读写操作。
可选的,所述方法还包括:
从所述主控单元中获得用于生成通用命令包的至少一个通用参数;
基于所述至少一个通用参数,确定出所述预存数据中与所述至少一个通用参数匹配的第二预存数据;
基于所述至少一个通用参数和所述第二预存数据,生成通用命令包,以使得所述闪存单元能够基于所述通用命令包进行读写操作。
可选的,所述硬件加速器从电子设备的主控单元中获得用于生成重读命令包的至少一个重读参数之前,所述方法还包括:
获取用于判断是生成通用命令包还是生成重读命令包的标识信息,以便所述硬件加速器能够基于所述标识信息知道是生成所述通用命令包还是生成所述重读命令包。
可选的,所述基于所述第一预存数据与所述至少一个重读参数,生成重读命令包之后,所述方法还包括:
将所述重读命令包传输到所述闪存单元中的闪存控制器中,以使得所述闪存控制器能够基于所述重读命令包进行读写操作。
再一方面,本申请实施例还提供了一种固态硬盘,包括:
主控单元;
闪存单元,与所述主控单元连接;
硬件加速器,与所述主控单元以及所述闪存单元连接;
其中,所述硬件加速器从所述主控单元中获得用于生成重读命令包的至少一个重读参数;并基于所述至少一个重读参数,确定出所述硬件加速器的预存数据中与所述至少一个重读参数匹配的第一预存数据;并基于所述第一预存数据与所述至少一个重读参数,生成重读命令包,以使得所述闪存单元能够基于所述重读命令包进行读写操作。
可选的,所述硬件加速器包括样板模块,重读输入参数模块以及命令包产生单元,所述样板模块、所述重读输入参数模块分别与所述主控单元连接,所述命令包产生单元分别与所述样板模块、所述重读输入参数模块连接;
其中,所述样板模块用于存放从所述主控单元中获得的所述预存数据;
所述重读输入参数模块用于存放从所述主控单元中获得的用于生成所述重读命令包的所述至少一个重读参数;
所述命令包产生单元用于从所述重读输入参数中获取所述至少一个重读参数,以及从所述样板模块中获取与所述至少一个重读参数匹配的所述第一预存数据,并基于所述至少一个重读参数和所述第一预存数据,生成所述重读命令包。
可选的,所述硬件加速器还包括参数模块,所述参数模块分别与所述主控单元、所述命令包产生单元连接;
其中,所述参数模块用于存放从所述主控单元中获得的用于生成通用命令包的至少一个通用参数;
所述命令包产生单元还用于从所述参数模块中获取所述至少一个通用参数,以及从所述预存模块中获取与所述至少一个通用参数匹配的第二预存数据,并基于所述至少一个通用参数和所述第二预存数据,生成通用命令包。
可选的,所述硬件加速器还包括寄存器单元,所述寄存器单元分别与所述命令包产生单元、所述主控单元连接;
其中,所述寄存器单元用于从所述主控单元获取用于判断是生成通用命令包还是生成重读命令包的标识信息,以使所述命令包产生单元基于所述标识信息知道是生成所述通用命令包还是生成所述重读命令包。
可选的,所述硬件加速器还包括命令包传输单元,用于将所述命令包产生单元生成的重读命令包或生成的通用命令包传输到所述闪存单元中的闪存控制器中,以使得所述闪存控制器能够基于所述重读命令包或所述通用命令包进行读写操作。
可选的,所述命令包传输单元具体包括:Aix总线模块,存储器直接访问模块,以及命令包缓冲器;
其中,所述命令包缓冲器分别与所述命令包产生单元、所述Aix总线模块连接,所述存储器直接访问模块与所述Aix总线模块连接,所述Aix总线模块与所述闪存控制器连接;
所述命令包缓冲器用于缓存所述通用命令包和所述重读命令包,所述存储器直接访问模块控制所述Aix总线模块将所述命令包缓冲器中的所述重读命令包和所述通用命令包通过所述Aix总线模块传输到所述闪存控制器。
本申请实施例中提供的一个或多个技术方案,至少具有如下一种或多种技术效果:
1、由于本申请实施例中的技术方案,采用了硬件加速器从电子设备的主控单元中获得用于生成重读命令包的至少一个重读参数;以及基于所述至少一个重读参数,确定出预存数据中与所述至少一个重读参数匹配的第一预存数据;以及基于所述第一预存数据与所述至少一个重读参数,生成重读命令包,以使得所述电子设备的闪存单元能够基于所述重读命令包进行读写操作的技术方案,即在本申请中,在固态硬盘的硬件加速器中增加了重读输入参数模块,进而可以通过硬件加速器读取重读输入参数模块中的重读参数,以及从预存数据中找出与重读参数匹配的命令包的缺省模式,然后由重读参数和与重读参数匹配的命令包的缺省模式批量产生不同策略的重读命令包给固态硬盘闪存单元,以便完成重读,因此,避免了在现有技术中,SSD芯片通过纯软件的方式产生命令包,用时长延时多,SD处理器负荷大,功耗高的情况,所以,有效的解决了现有技术中,通过SSD芯片产生命令包的技术存在用时长,处理器负荷大,且功耗高的技术问题,实现了减少SSD芯片产生命令包的时长功耗高的技术效果,同时,又由于将重读输入参数模块集成到硬件加速器中,简化了自动重读情况下产生重读命令包整体流程,提高SSD芯片产生命令包的效率和性能的技术效果。
2、由于本申请实施例中的技术方案,采用了从所述主控单元中获得用于生成通用命令包的至少一个通用参数;以及基于所述至少一个通用参数,确定出所述预存数据中与所述至少一个通用参数匹配的第二预存数据;以及基于所述至少一个通用参数和所述第二预存数据,生成通用命令包,以使得所述闪存单元能够基于所述通用命令包进行读写操作的技术方法,即在本申请中,还可以在固态硬盘的硬件加速器中设置产生通用名包的参数模块,进而通过参数模块中的通用参数,以及从预存数据中找出与通用参数匹配的命令包的缺省模式,产生不同策略的通用命令包,所以,具有产生通用命令流程更加简洁,更加高效的技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本申请实施例一提供的一种信息处理方法流程图;
图2为本申请实施例一提供的产生通用数据包的流程图;
图3为本申请实施例二提供的一种固态硬盘结构示意图;
图4为本申请实施例二中硬盘加速器的结构示意图;
图5为本申请实施例二中命令包传输单元的结构示意图。
具体实施方式
本申请实施例通过提供一种信息处理方法及固态硬盘,解决了现有技术中,通过SSD芯片产生命令包的技术存在用时长,处理器负荷大,且功耗高的技术问题,实现了减少SSD芯片产生命令包的时长功耗高的技术效果,实现了SSD芯片产生命令包的整体性能的技术效果。
本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:
硬件加速器从电子设备的主控单元中获得用于生成重读命令包的至少一个重读参数;
基于所述至少一个重读参数,确定出预存数据中与所述至少一个重读参数匹配的第一预存数据;
基于所述第一预存数据与所述至少一个重读参数,生成重读命令包,以使得所述电子设备的闪存单元能够基于所述重读命令包进行读写操作。
在上述方法中,采用了硬件加速器从电子设备的主控单元中获得用于生成重读命令包的至少一个重读参数;以及基于所述至少一个重读参数,确定出预存数据中与所述至少一个重读参数匹配的第一预存数据;以及基于所述第一预存数据与所述至少一个重读参数,生成重读命令包,以使得所述电子设备的闪存单元能够基于所述重读命令包进行读写操作的技术方案,即在本申请中,在固态硬盘的硬件加速器中增加了重读输入参数模块,进而可以通过硬件加速器读取重读输入参数模块中的重读参数,以及从预存数据中找出与重读参数匹配的命令包的缺省模式,然后由重读参数和与重读参数匹配的命令包的缺省模式批量产生不同策略的重读命令包给固态硬盘闪存单元,以便完成重读。
因此,避免了在现有技术中,SSD芯片通过纯软件的方式产生命令包,用时长延时多,SD处理器负荷大,功耗高的情况,所以,有效的解决了现有技术中,通过SSD芯片产生命令包的技术存在用时长,处理器负荷大,且功耗高的技术问题,实现了减少SSD芯片产生命令包的时长功耗高的技术效果,同时,又由于将重读输入参数模块集成到硬件加速器中,简化了自动重读情况下产生重读命令包整体流程,提高SSD芯片产生命令包的效率和性能的技术效果。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明技术方案保护的范围。
实施例一
请参考图1,为本申请实施例一提供的一种信息处理方法,包括:
S101:硬件加速器从电子设备的主控单元中获得用于生成重读命令包的至少一个重读参数;
S102:基于所述至少一个重读参数,确定出预存数据中与所述至少一个重读参数匹配的第一预存数据;
S103:基于所述第一预存数据与所述至少一个重读参数,生成重读命令包,以使得所述电子设备的闪存单元能够基于所述重读命令包进行读写操作。
在具体实施过程中,所述信息处理方法应用于SSD固态硬盘中,在采用本申请实施例中的方法进行信息处理时,首先执行步骤S101,即硬件加速器从电子设备的主控单元中获得用于生成重读命令包的至少一个重读参数。
在具体实施过程中,SSD固态硬盘主要包括主控单元和闪存单元,其中主控单元又名主控芯片是SSD固态硬盘中的控制中心,实际应用中,SSD固态硬盘中的主控单元可以为ARM处理器,也可以为其他类型的微处理器,SSD固态硬盘中闪存单元又名闪存芯片或闪存颗粒,是SSD固态硬盘的数据仓库,实际应用中,SSD固态硬盘中闪存单元可以为nand闪存颗粒,当然,本领域的技术人员还可以根据实际需要,选择其他能够存储数据的颗粒作为SSD固态硬盘中闪存单元,具体的,在本实施例中,以闪存单元为nand闪存颗粒,主控单元为ARM处理器为例,来对本申请实施例中的方法的具体实现过程进行详细描述。
在具体实施过程中,请继续沿用上述例子,在SSD固态硬盘中需要产生重读命令包时,SSD固态硬盘中的硬件加速器就会从SSD固态硬盘中的主控单元ARM控制器中去获取能够产生重读命令包的重读参数,例如,在SSD固态硬盘中通过nand控制器对nand闪存颗粒中的数据1进行读写操作的过程中,nand闪存颗粒中的读写检验单元发现,在对数据1进行读写操作中发生读写错误时,读写检验单元就会反馈给SSD固态硬盘中的ARM控制器,以便SSD固态硬盘知道在对数据1进行读写操作中发生了读写错误,ARM控制器就会重新产生针对数据1进行重新读写的重读参数,当然,在实际应用中,根据发生读写错误的原因,产生的重读参数可能为一个,也可能为多个,那么,SSD固态硬盘中的硬件加速器就会从ARM控制器中获取产生的重读参数。
在具体实施过程中,请继续沿用上述例子,在实际应用中,读写检验单元反馈给SSD固态硬盘中的ARM控制器,在ARM控制器产生针对数据1进行重新读写的重读参数步骤后,以及SSD固态硬盘中的硬件加速器从ARM控制器中获取产生的重读参数之前,还可以执行步骤:获取用于判断是生成通用命令包还是生成重读命令包的标识信息,以便所述硬件加速器能够基于所述标识信息知道是生成所述通用命令包还是生成所述重读命令包。即在ARM控制器产生了针对数据1进行重新读写的重读参数步骤后,ARM控制器会发生给硬件加速器一个标识信息,在实际应用中,标识信息可以为状态控制字,通过状态控制字来表征硬件加速器需要产生重读命令包还是需要产生通用命令包,那么,硬件加速器接收到这个标识信息后,就能判断出是产生重读命令包或是判断出是产生通用命令包。在实际应用中,还可以在硬件加速器中设置一个寄存器单元,这个寄存器单元至少包括控制寄存器和状态寄存器,那么寄存器单元中的控制寄存器就能控制寄存器单元从ARM控制器中获得标识信息,如获得状态控制字,控制寄存器就将这个状态控制字存放状态寄存器中,以便硬件加速器判断出是产生重读命令包或是判断出是产生通用命令包。
具体的,在本申请实施例中,由于在对数据1进行读写操作中发生读写错误,读写检验单元反馈给SSD固态硬盘中的ARM控制器后,ARM控制器会发送给硬件加速器中的寄存器单元一个用于标识需要硬件加速器产生针对数据1进行重读操作状态控制字,那么,寄存器单元获得这个状态控制字,并将其存放在状态寄存器中,硬件加速器中就能够根据存放在状态寄存器中的这个状态控制字,判断出需要产生重读命令包。
在执行完成步骤S101之后,本申请实施例中的方法便执行步骤S102,即基于所述至少一个重读参数,确定出预存数据中与所述至少一个重读参数匹配的第一预存数据。
在具体实施过程中,请继续沿用上述例子,具体的,在SSD固态硬盘中的硬件加速器从ARM控制器中获取到需要重新产生针对数据1进行重读的重读参数后,就需要从预存的数据中确定处于与该重读参数匹配的用于产生重读命令的模板数据,这里预存的数据具体为SSD固态硬盘中用于产生各种命令包的命令包缺省模式数据,在实际应用中,可以在硬件加速器中设置一个样板单元,专门用于存放命令包缺省模式数据,这样,在硬件加速器获得针对数据1进行重读的重读参数后,就可以从样板单元中的命令包缺省模式数据中确定出与该重读参数匹配的命令包缺省数据1。
在执行完成步骤S102之后,本申请实施例中的方法便执行步骤S103,即基于所述第一预存数据与所述至少一个重读参数,生成重读命令包,以使得所述电子设备的闪存单元能够基于所述重读命令包进行读写操作。
在具体实施过程中,请继续沿用上述例子,具体的,在硬件加速器获得针对数据1进行重读的重读参数以及从命令包缺省模式数据中确定出与该重读参数匹配的命令包缺省数据1后,硬件加速器就会基于该重读数据以及命令包缺省数据1,来生成针对数据1进行重读的重读命令包,在实际应用中,可以在硬件加速器中设置一个命令包产生单元,以便在命令产生单元中根据重读参数以及命令包缺省数据1产生重读命令包。
在具体实施过程中,请继续沿用上述例子,在本申请实施例中的信息处理方法除了能够产生重读命令包外,还能够产生通用命令包,具体的,请参考图2,为本申请实施例中产生通用命令包的流程图:
S104:从所述主控单元中获得用于生成通用命令包的至少一个通用参数;
S105:基于所述至少一个通用参数,确定出所述预存数据中与所述至少一个通用参数匹配的第二预存数据;
S106:基于所述至少一个通用参数和所述第二预存数据,生成通用命令包,以使得所述闪存单元能够基于所述通用命令包进行读写操作。
在具体实施过程中,请继续沿用上述例子,在SSD固态硬盘中需要产生通用命令包时,SSD固态硬盘中的硬件加速器就会从SSD固态硬盘中的主控单元ARM控制器中去获取能够产生通用命令包的通用参数,例如,在SSD固态硬盘中通过nand控制器对nand闪存颗粒中的数据2进行读写操作时,就需要产生针对数据2进行读写的通用数据包,在实际应用中,可以在硬件加速器中设置一个参数单元,专门用于存放通用参数,这样,在硬件加速器从ARM控制器中获得针对数据2进行读写操作的通用参数时,就可以将该通用参数存放在这个参数单元中,以便于数据管理。
在具体实施过程中,请继续沿用上述例子,具体的,在硬件加速器从ARM控制器中获得针对数据2进行读写操作的通用参数,并将该通用参数存放在这个参数单元中后,硬件加速器就需要从预存的数据中确定处于与该通用参数匹配的用于产生通用命令包的模板数据,这里预存的数据具体为用于产生各种命令包的命令包缺省模式数据,在实际应用中,可以在硬件加速器中设置一个样板单元,专门用于存放命令包缺省模式数据,这样,在硬件加速器获得针对数据2进行读写操作的通用参数后,就会从样板单元中的命令包缺省模式数据中确定出与该通用参数匹配的命令包缺省数据2。
在具体实施过程中,请继续沿用上述例子,具体的,在硬件加速器获得针对数据2进行读写操作的通用参数,以及从命令包缺省模式数据中确定出与该通用参数匹配的命令包缺省数据2后,硬件加速器就会基于该通用数据以及命令包缺省数据2,来生成针对数据1进行读写操作的通用命令包,在实际应用中,可以在硬件加速器中设置一个命令包产生单元,以便在命令产生单元中根据通用参数以及命令包缺省数据2产生重读命令包。
实施例二
基于与本申请实施例一同样的发明构思,本申请实施例二提供一种固态硬盘,请参考图3,包括:
主控单元10;
闪存单元20,与所述主控单元10连接;
硬件加速器30,与所述主控单元10以及所述闪存单元20连接;
其中,所述硬件加速器30从所述主控单元10中获得用于生成重读命令包的至少一个重读参数;并基于所述至少一个重读参数,确定出所述硬件加速器30的预存数据中与所述至少一个重读参数匹配的第一预存数据;并基于所述第一预存数据与所述至少一个重读参数,生成重读命令包,以使得所述闪存单元20能够基于所述重读命令包进行读写操作。
在具体实施过程中,SSD固态硬盘中的主控单元10可以为ARM处理器,也可以为其他类型的微处理器,SSD固态硬盘中闪存单元20可以为nand闪存颗粒,当然,本领域的技术人员还可以根据实际需要,选择其他能够存储数据的颗粒作为SSD固态硬盘中闪存单元20,在本实施例中,对此不作显示。
在具体实施过程中,请继续沿用上述例子,在SSD固态硬盘中需要产生重读命令包时,SSD固态硬盘中的硬件加速器30就会从SSD固态硬盘中的主控单元10中去获取能够产生重读命令包的重读参数,具体的,在闪存单元20为nand闪存颗粒时,SSD固态硬盘通过nand闪存颗粒中nand控制器对nand闪存颗粒中的数据3进行读写操作,nand闪存颗粒中的读写检验单元在这个读写操作过程中发现在对数据3发生了读写错误时,读写检验单元就会反馈给SSD固态硬盘中的主控单元10,如ARM控制器,那么,SSD固态硬盘就会知道在对数据3进行读写操作中发生了读写错误,主控单元10就会重新产生针对数据3进行重新读写的重读参数,当然,在实际应用中,硬件加速器30根据数据3发生读写错误的原因,产生的重读参数可能为一个,也可能为多个,那么,SSD固态硬盘中的硬件加速器30就会从主控单元10中获取产生的重读参数。
在具体实施过程中,请继续沿用上述例子,在SSD固态硬盘中的硬件加速器30从主控单元10中获取到重读参数后,在SSD固态硬盘就要从预存的数据中确定出与获取到的重读参数匹配且用于产生重读命令包的预存数据3,在实际应用中,预存数据是指SSD固态硬盘中用于产生各种命令包的预存的命令包缺省模式数据,那么,预存数据3也就是指与获得重读参数匹配,且用于产生针对数据3进行重读操作的重读命令包缺省模式数据。那么,在SSD固态硬盘获得重读参数和重读命令包缺省模式数据后,就能够通过重读参数和重读命令包缺省模式数据产生针对数据3进行重读操作的重读命令包,SSD固态硬盘将产生的重读命令包发送给闪存单元20,如nand闪存颗粒,这样,nand闪存颗粒中的nand控制器就能通过重读命令包对nand闪存颗粒中的数据3进行重读操作,以便正确的完成对数据3的读写操作。
所以,有效的避免了在现有技术中,SSD芯片通过纯软件的方式产生命令包,用时长延时多,SD处理器负荷大,功耗高的情况,能够有效的解决了现有技术中,通过SSD芯片产生命令包的技术存在用时长,处理器负荷大,且功耗高的技术问题,实现了减少SSD芯片产生命令包的时长功耗高的技术效果,同时,又由于通过SSD芯片硬件加速器30产生重读命令包,简化了自动重读情况下产生重读命令包整体流程,提高SSD芯片产生命令包的效率和性能,还能通过硬件加速器30批量且快速的产生重读命令包。
在具体实施过程中,请继续沿用上述例子,并且继续参考图3,以及参考图4,硬件加速器30中具体包括样板模块301,重读输入参数模块302,命令包产生单元303,参数模块304,寄存器单元305以及命令包传输单元306,其中,样板模块301,重读输入参数模块302,参数模块304以及寄存器单元305分别与命令包产生单元303、主控单元10连接,命令包产生单元303与命令包传输单元306连接,寄存器单元305分别与命令包产生单元303、主控单元10连接。
这样,硬件加速器30中用于产生各种命令包的命令包缺省模式数据就可预存在样板模块301中,即SSD固态硬盘中的主控单元10向硬件加速器30发送命令包缺省模式数据,硬件加速器30就会将该数据预存到样板模块301中,重读输入参数模块302用来接收并存放从主控单元10获得的用于产生重读命令包的重读参数,参数模块304用来接收并存放从主控单元10获得的用于产生通用命令包的通用参数,寄存器单元305用来从主控单元10获取用于判断是生成通用命令包还是生成重读命令包的标识信息,这个标识信息可以是状态控制字,例如,当寄存器单元305从主控单元10中获取到状态控制字1时,表示硬件加速器30需要产生重读命令包,当寄存器单元305从主控单元10中获取到状态控制字0时,表示硬件加速器30需要产生通用命令包。
具体的,当寄存器单元305从主控单元10中获取到状态控制字1时,硬件加速器30需要产生重读命令包,这时,重读输入参数模块302从主控单元10中获得针对数据3进行重读操作的重读参数,硬件加速器30从样板模块301中确定出与该重读参数匹配的且用来产生针对数据3进行重读操作的命令包的命令包缺省模式数据3,然后硬件加速器30中的命令包产生单元303从重读输入参数模块302中获得重读参数,以及从样板模块301中获得命令包缺省模式数据3后,就能产生针对数据3进行重读操作的重读命令包,然后命令包产生单元303将产生的重读命令包发送给命令包传输单元306后,命令包传输单元306就会将重读命令包传输到闪存单元20中的闪存控制器中,以使闪存控制器能够根据这个重读命令包针对闪存单元20中的数据3重新进行读写操作。
具体的,当寄存器单元305从主控单元10中获取到状态控制字0时,硬件加速器30需要产生通用命令包,这时,参数模块304从主控单元10中获得针对数据4进行读写操作的通用参数,硬件加速器30从样板模块301中确定出与该通用参数匹配的且用来产生针对数据4进行读写操作的命令包的命令包缺省模式数据4,然后硬件加速器30中的命令包产生单元303从参数模块304中获得通用参数,以及从样板模块301中获得命令包缺省模式数据4后,就能产生针对数据3进行读写操作的通用命令包,然后命令包产生单元303将产生的通用命令包发送给命令包传输单元306后,命令包传输单元306就会将通用命令包传输到闪存单元20中的闪存控制器中,以使闪存控制器能够根据这个通用命令包针对闪存单元20中的数据4进行读写操作。
请参考图5,在实际应用中,命令包传输单元306还可以进一步包括Aix总线模块3061,存储器直接访问模块3062,以及命令包缓冲器3063,其中,命令包缓冲器3063分别与命令包产生单元303、Aix总线模块3061连接,存储器直接访问模块3062与Aix总线模块3061连接,Aix总线模块3061与闪存单元20中的闪存控制器连接,这样,命令包产生单元303中产生的重读命令包或/和通用命令包就可以在命令包缓冲器3063中进行缓存,然后再在存储器直接访问模块3062控制下,以先进先出或先进后出或其他规则,依次将命令包缓冲器3063中缓存的重读命令包或/和通用命令包经过Aix总线模块3061传输到闪存单元20中的闪存控制器,以便闪存控制器能够根据接收到的通用命令或重读命令包针对闪存单元20中对应的数据进行读写操作或重新进行读写操作。
本申请实施例中提供的一个或多个技术方案,至少具有如下一种或多种技术效果:
1、由于本申请实施例中的技术方案,采用了硬件加速器从电子设备的主控单元中获得用于生成重读命令包的至少一个重读参数;以及基于所述至少一个重读参数,确定出预存数据中与所述至少一个重读参数匹配的第一预存数据;以及基于所述第一预存数据与所述至少一个重读参数,生成重读命令包,以使得所述电子设备的闪存单元能够基于所述重读命令包进行读写操作的技术方案,即在本申请中,在固态硬盘的硬件加速器中增加了重读输入参数模块,进而可以通过硬件加速器读取重读输入参数模块中的重读参数,以及从预存数据中找出与重读参数匹配的命令包的缺省模式,然后由重读参数和与重读参数匹配的命令包的缺省模式批量产生不同策略的重读命令包给固态硬盘闪存单元,以便完成重读,因此,避免了在现有技术中,SSD芯片通过纯软件的方式产生命令包,用时长延时多,SD处理器负荷大,功耗高的情况,所以,有效的解决了现有技术中,通过SSD芯片产生命令包的技术存在用时长,处理器负荷大,且功耗高的技术问题,实现了减少SSD芯片产生命令包的时长功耗高的技术效果,同时,又由于将重读输入参数模块集成到硬件加速器中,简化了自动重读情况下产生重读命令包整体流程,提高SSD芯片产生命令包的效率和性能的技术效果。
2、由于本申请实施例中的技术方案,采用了从所述主控单元中获得用于生成通用命令包的至少一个通用参数;以及基于所述至少一个通用参数,确定出所述预存数据中与所述至少一个通用参数匹配的第二预存数据;以及基于所述至少一个通用参数和所述第二预存数据,生成通用命令包,以使得所述闪存单元能够基于所述通用命令包进行读写操作的技术方法,即在本申请中,还可以在固态硬盘的硬件加速器中设置产生通用名包的参数模块,进而通过参数模块中的通用参数,以及从预存数据中找出与通用参数匹配的命令包的缺省模式,产生不同策略的通用命令包,所以,具有产生通用命令流程更加简洁,更加高效的技术效果。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
具体来讲,本申请实施例中的信息处理方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与信息处理方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:
硬件加速器从电子设备的主控单元中获得用于生成重读命令包的至少一个重读参数;
基于所述至少一个重读参数,确定出预存数据中与所述至少一个重读参数匹配的第一预存数据;
基于所述第一预存数据与所述至少一个重读参数,生成重读命令包,以使得所述电子设备的闪存单元能够基于所述重读命令包进行读写操作。
可选的,所述存储介质中还存储有另外的一些计算机程序指令,另外一些计算机程序指令在执行过程中包括如下步骤:
从所述主控单元中获得用于生成通用命令包的至少一个通用参数;
基于所述至少一个通用参数,确定出所述预存数据中与所述至少一个通用参数匹配的第二预存数据;
基于所述至少一个通用参数和所述第二预存数据,生成通用命令包,以使得所述闪存单元能够基于所述通用命令包进行读写操作。
可选的,所述存储介质中还存储有另外的一些计算机程序指令,另外一些计算机程序指令在与步骤:所述硬件加速器从电子设备的主控单元中获得用于生成重读命令包的至少一个重读参数之前执行,执行过程中包括如下步骤:
获取用于判断是生成通用命令包还是生成重读命令包的标识信息,以便所述硬件加速器能够基于所述标识信息知道是生成所述通用命令包还是生成所述重读命令包。
可选的,所述存储介质中还存储有另外的一些计算机程序指令,另外一些计算机程序指令在与步骤:所述基于所述第一预存数据与所述至少一个重读参数,生成重读命令包之后执行,执行过程中包括如下步骤:
将所述重读命令包传输到所述闪存单元中的闪存控制器中,以使得所述闪存控制器能够基于所述命令包进行读写操作。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。