一种数据处理方法及电子设备的制造方法_2

文档序号:9687205阅读:来源:国知局
存称为第二存储单元,这里,内存尤指计算机闪存设备(NAND)。写数据时,首先将数据写入缓存中,然后,再将数据由缓存写入内存中进行存储。这里,缓存被划分为多个缓存模块,划分的原则可以由用户预先设置,也可以按照约定好的规则进行设置。具体地,预先将第二存储单元的存储空间划分为一个以上子存储空间,每个子存储空间对应一个缓存模块。特别地,可以对第二存储单元的存储空间进行平均划分,这样更方便分配与管理。例如以4K为单位划分存储空间。当然,也可以按照一定的规则划分,例如针对某些特殊格式的数据进行划分。此时,写命令携有指示划分规则的属性信息;SSD根据所述数据长度以及所述规则属性,将第二存储单元的存储空间划分为一个以上子存储空间,每个子存储空间对应一个缓存模块。这样,可以达到动态划分存储空间,适应性强,例如,对于以帧为单位的数据,按照帧数据的大小进行划分。
[0035]本发明实施例中,SSD接收到主机发送的写命令,该写命令中至少包括如下信息:写命令对应的数据长度、写命令对应的数据。基于此,SSD根据接收到的写命令,可确定出与所述写命令对应的数据长度,例如写命令对应的数据长度为128k。
[0036]步骤202:根据所述数据长度,为所述写命令对应的数据分配两个以上缓存模块。
[0037]本发明实施例中,为写命令对应的数据分配的两个以上缓存模块的总存储空间应该与写命令对应的数据长度一致。具体地,根据所述数据长度以及各个缓存模块的空间大小,计算所需分配的缓存模块的个数,并为所述写命令对应的数据分配相应个数的缓存模块。
[0038]例如,假设缓存模块的空间大小为4K,SSD收到主机发送的数据长度为128k的写命令后,分配32个空闲的缓存模块(32X4 = 128k)用于存储主机发送过来的数据。
[0039]步骤203:将所述写命令对应的数据存储至所述两个以上缓存模块。
[0040]本发明实施例中,以缓存模块为单元对写命令对应的数据进行存储。在缓存模块中存储的数据还需要存储至第一存储单元(内存),为了提高存储速率,将所述写命令对应的数据存储至所述一个以上缓存模块的同时,将所述缓存模块中已存储的数据存储至第一储单元。这样,一个缓存模块存储满数据后,便可以将该缓存模块中的数据存储至内存中,而无需等待其他缓存模块是否存储完成。
[0041]步骤204:当所述缓存模块中的数据存储至第一存储单元时,释放所述缓存模块;被释放的所述缓存模块,在其他缓存模块未被释放时,接收数据并存储。
[0042]本发明实施例中,当某一个缓存模块中的数据存储至第一存储单元时,立即释放该缓存模块,被释放的缓存模块可以继续接收新的数据并存储,而不必等待所有的缓存模块的数据都存储至第一存储单元,才进行释放。提高了 SSD的性能及缓存资源的使用效率。
[0043]图3为本发明实施例三的数据处理方法的流程示意图,本示例中的数据处理方法应用于电子设备中,如图3所示,所述数据处理方法包括以下步骤:
[0044]步骤301:预先将第二存储单元的存储空间划分为一个以上子存储空间,每个子存储空间对应一个缓存模块。
[0045]本发明实施例中,所述电子设备可以是笔记本、台式机等电子设备。所述电子设备具有缓存,缓存是数据交换的缓冲区(Cache)。本发明实施例将电子设备中的缓存划分为两个以上缓存模块,每个缓存模块的大小可以远小于主机发送的数据长度,缓存的分配及释放均以这个较小的缓存模块为单位。
[0046]本发明实施例中,将内存称为第一存储单元,将缓存称为第二存储单元,这里,内存尤指计算机闪存设备(NAND)。写数据时,首先将数据写入缓存中,然后,再将数据由缓存写入内存中进行存储。这里,缓存被划分为多个缓存模块,划分的原则可以由用户预先设置,也可以按照约定好的规则进行设置。具体地,预先将第二存储单元的存储空间划分为一个以上子存储空间,每个子存储空间对应一个缓存模块。特别地,可以对第二存储单元的存储空间进行平均划分,这样更方便分配与管理。例如以4K为单位划分存储空间。
[0047]步骤302:接收到写命令时,确定所述写命令对应的数据长度。
[0048]本发明实施例中,SSD接收到主机发送的写命令,该写命令中至少包括如下信息:写命令对应的数据长度、写命令对应的数据。基于此,SSD根据接收到的写命令,可确定出与所述写命令对应的数据长度,例如写命令对应的数据长度为128k。
[0049]步骤303:根据所述数据长度,为所述写命令对应的数据分配两个以上缓存模块。
[0050]本发明实施例中,为写命令对应的数据分配的两个以上缓存模块的总存储空间应该与写命令对应的数据长度一致。具体地,根据所述数据长度以及各个缓存模块的空间大小,计算所需分配的缓存模块的个数,并为所述写命令对应的数据分配相应个数的缓存模块。
[0051 ]例如,假设缓存模块的空间大小为4K,SSD收到主机发送的数据长度为128k的写命令后,分配32个空闲的缓存模块(32X4 = 128k)用于存储主机发送过来的数据。
[0052]步骤304:将所述写命令对应的数据存储至所述两个以上缓存模块。
[0053]本发明实施例中,以缓存模块为单元对写命令对应的数据进行存储。在缓存模块中存储的数据还需要存储至第一存储单元(内存),为了提高存储速率,将所述写命令对应的数据存储至所述一个以上缓存模块的同时,将所述缓存模块中已存储的数据存储至第一储单元。这样,一个缓存模块存储满数据后,便可以将该缓存模块中的数据存储至内存中,而无需等待其他缓存模块是否存储完成。
[0054]步骤305:当所述缓存模块中的数据存储至第一存储单元时,释放所述缓存模块。
[0055]本发明实施例中,当某一个缓存模块中的数据存储至第一存储单元时,立即释放该缓存模块,被释放的缓存模块可以继续接收新的数据并存储,而不必等待所有的缓存模块的数据都存储至第一存储单元,才进行释放。提高了 SSD的性能及缓存资源的使用效率。
[0056]图4为本发明实施例四的数据处理方法的流程示意图,本示例中的数据处理方法应用于电子设备中,如图4所示,所述数据处理方法包括以下步骤:
[0057]步骤401:接收到写命令时,确定所述写命令对应的数据长度。
[0058]本发明实施例中,所述电子设备可以是笔记本、台式机等电子设备。所述电子设备具有缓存,缓存是数据交换的缓冲区(Cache)。本发明实施例将电子设备中的缓存划分为两个以上缓存模块,每个缓存模块的大小可以远小于主机发送的数据长度,缓存的分配及释放均以这个较小的缓存模块为单位。
[0059]本发明实施例中,SSD接收到主机发送的写命令,该写命令中至少包括如下信息:写命令对应的数据长度、写命令对应的数据。基于此,SSD根据接收到的写命令,可确定出与所述写命令对应的数据长度,例如写命令对应的数据长度为128k。
[0060]步骤402:根据所述数据长度以及规则属性,将第二存储单元的存储空间划分为一个以上子存储空间,每个子存储空间对应一个缓存模块。
[0061 ]本发明实施例中,所述写命令携有指示划分规则的属性信息。
[0062]本发明实
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1