一种数据处理方法及电子设备技术

技术编号:13074002 阅读:37 留言:0更新日期:2016-03-30 09:55
本发明专利技术公开了一种数据处理方法及电子设备,包括:接收到写命令时,确定所述写命令对应的数据长度;根据所述数据长度,为所述写命令对应的数据分配两个以上缓存模块;将所述写命令对应的数据存储至所述两个以上缓存模块;当所述缓存模块中的数据存储至第一存储单元时,释放所述缓存模块。

【技术实现步骤摘要】

本专利技术涉及数据处理技术,尤其涉及一种数据处理方法及电子设备
技术介绍
固态硬盘(SSD,Solid State Drive)是用固态电子存储芯片阵列而制成的硬盘,主机(Host)向SSD写入数据时,一般SSD会按照主机发送的写命令数据长度为管理单位,进行写缓存的管理。具体地,SSD根据写命令对应的数据长度为其分配缓存空间,当该缓存空间存储完数据后,再将数据发送给内存。当缓存空间的数据全部发送给内存后,再将该缓存空间释放。现有的SSD性能及资源的使用效率较低。
技术实现思路
为解决上述技术问题,本专利技术实施例提供了一种数据处理方法及电子设备。本专利技术实施例提供的数据处理方法包括:接收到写命令时,确定所述写命令对应的数据长度;根据所述数据长度,为所述写命令对应的数据分配两个以上缓存模块;将所述写命令对应的数据存储至所述两个以上缓存模块;当所述缓存模块中的数据存储至第一存储单元时,释放所述缓存模块。本专利技术实施例提供的电子设备包括:缓存,所述缓存被划分为两个以上缓存模块;控制器,用于接收到写命令时,确定所述写命令对应的数据长度;根据所述数据长度,为所述写命令对应的数据分配两个以上缓存模块;将所述写命令对应的数据存储至所述两个以上缓存模块;当所述缓存模块中的数据存储至内存时,释放所述缓存模块。本专利技术实施例的技术方案中,将缓存进行分块管理,即将缓存划分为两个以上缓存模块;缓存模块的大小可以远小于主机发送的数据长度,缓存的分配及释放均以这个较小的缓存模块为单位。具体地,接收到写命令时,确定所述写命令对应的数据长度;根据所述数据长度,为所述写命令对应的数据分配两个以上缓存模块;将所述写命令对应的数据存储至所述两个以上缓存模块;当所述缓存模块中的数据存储至第一存储单元时,释放所述缓存模块。被释放的所述缓存模块,在其他缓存模块未被释放时,接收数据并存储。可见,本专利技术实施例的技术方案能够提高SSD的性能及缓存资源的使用效率。【附图说明】图1为本专利技术实施例一的数据处理方法的流程示意图;图2为本专利技术实施例二的数据处理方法的流程示意图;图3为本专利技术实施例三的数据处理方法的流程示意图;图4为本专利技术实施例四的数据处理方法的流程示意图;图5为本专利技术实施例五的数据处理方法的流程示意图;图6为本专利技术实施例一至实施例五的电子设备的结构组成示意图。【具体实施方式】为了能够更加详尽地了解本专利技术实施例的特点与
技术实现思路
,下面结合附图对本专利技术实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本专利技术实施例。图1为本专利技术实施例一的数据处理方法的流程示意图,本示例中的数据处理方法应用于电子设备中,如图1所示,所述数据处理方法包括以下步骤:步骤101:接收到写命令时,确定所述写命令对应的数据长度。本专利技术实施例中,所述电子设备可以是笔记本、台式机等电子设备。所述电子设备具有缓存,缓存是数据交换的缓冲区(Cache)。本专利技术实施例将电子设备中的缓存划分为两个以上缓存模块,每个缓存模块的大小可以远小于主机发送的数据长度,缓存的分配及释放均以这个较小的缓存模块为单位。本专利技术实施例中,将内存称为第一存储单元,将缓存称为第二存储单元,这里,内存尤指计算机闪存设备(NAND)。写数据时,首先将数据写入缓存中,然后,再将数据由缓存写入内存中进行存储。这里,缓存被划分为多个缓存模块,划分的原则可以由用户预先设置,也可以按照约定好的规则进行设置。具体地,预先将第二存储单元的存储空间划分为一个以上子存储空间,每个子存储空间对应一个缓存模块。特别地,可以对第二存储单元的存储空间进行平均划分,这样更方便分配与管理。例如以4K为单位划分存储空间。当然,也可以按照一定的规则划分,例如针对某些特殊格式的数据进行划分。此时,写命令携有指示划分规则的属性信息;SSD根据所述数据长度以及所述规则属性,将第二存储单元的存储空间划分为一个以上子存储空间,每个子存储空间对应一个缓存模块。这样,可以达到动态划分存储空间,适应性强,例如,对于以帧为单位的数据,按照帧数据的大小进行划分。本专利技术实施例中,SSD接收到主机发送的写命令,该写命令中至少包括如下信息:写命令对应的数据长度、写命令对应的数据。基于此,SSD根据接收到的写命令,可确定出与所述写命令对应的数据长度,例如写命令对应的数据长度为128k。步骤102:根据所述数据长度,为所述写命令对应的数据分配两个以上缓存模块。本专利技术实施例中,为写命令对应的数据分配的两个以上缓存模块的总存储空间应该与写命令对应的数据长度一致。具体地,根据所述数据长度以及各个缓存模块的空间大小,计算所需分配的缓存模块的个数,并为所述写命令对应的数据分配相应个数的缓存模块。例如,假设缓存模块的空间大小为4K,SSD收到主机发送的数据长度为128k的写命令后,分配32个空闲的缓存模块(32X4 = 128k)用于存储主机发送过来的数据。步骤103:将所述写命令对应的数据存储至所述两个以上缓存模块。本专利技术实施例中,以缓存模块为单元对写命令对应的数据进行存储。在缓存模块中存储的数据还需要存储至第一存储单元(内存),为了提高存储速率,将所述写命令对应的数据存储至所述一个以上缓存模块的同时,将所述缓存模块中已存储的数据存储至第一储单元。这样,一个缓存模块存储满数据后,便可以将该缓存模块中的数据存储至内存中,而无需等待其他缓存模块是否存储完成。步骤104:当所述缓存模块中的数据存储至第一存储单元时,释放所述缓存模块。本专利技术实施例中,当某一个缓存模块中的数据存储至第一存储单元时,立即释放该缓存模块,被释放的缓存模块可以继续接收新的数据并存储,而不必等待所有的缓存模块的数据都存储至第一存储单元,才进行释放。提高了 SSD的性能及缓存资源的使用效率。图2为本专利技术实施例二的数据处理方法的流程示意图,本示例中的数据处理方法应用于电子设备中,如图2所示,所述数据处理方法包括以下步骤:步骤201:接收到写命令时,确定所述写命令对应的数据长度。本专利技术实施例中,所述电子设备可以是笔记本、台式机等电子设备。所述电子设备具有缓存,缓存是数据交换的缓冲区(Cache)。本专利技术实施例将电子设备中的缓存划分为两个以上缓存模块,每个缓存模块的大小可以远小于主机发送的数据长度,缓存的分配及释放均以这个较小的缓存模块为单位。本专利技术实施例中,将内存称为第一存储单元,将缓当前第1页1 2 3 4 本文档来自技高网
...

【技术保护点】
一种数据处理方法,该方法包括:接收到写命令时,确定所述写命令对应的数据长度;根据所述数据长度,为所述写命令对应的数据分配两个以上缓存模块;将所述写命令对应的数据存储至所述两个以上缓存模块;当所述缓存模块中的数据存储至第一存储单元时,释放所述缓存模块。

【技术特征摘要】

【专利技术属性】
技术研发人员:徐超
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1