本发明涉及存储技术领域,尤其涉及一种固态硬盘中提高数据传输性能的方法。
背景技术:
在ssd中,涉及大量的数据的搬移操作,例如写操作时数据被搬移至ssd内部,读操作时数据从ssd中搬移出来。为了提高ssd数据搬移的效率,一般都会使用dma,dma负责数据从源地址向目的地址的搬移工作,从而减轻ssd内部cpu的干预。dma的采用在一定程度上,减少了cpu的干预,提高了系统性能,但是大量的数据搬移工作,也对性能有很大的影响。
基于上述问题,因此,对于本领域技术人员而言,如何简化数据从源地址向目的地址的搬移过程是亟需解决的技术问题。
技术实现要素:
基于背景技术存在的技术问题,本发明提出了一种固态硬盘中提高数据传输性能的方法,简化了数据从源地址向目的地址的搬移过程,仅仅通过维护系统缓冲区列表、数据源缓冲区列表和数据目的缓冲区列表,极大减少了数据搬移的时间,提高了数据传输的效率,能够极大提高ssd数据传输性能,提高产品竞争力。
本发明提出的一种固态硬盘中提高数据传输性能的方法,包括以下步骤:
将系统中缓冲区划分为多个缓冲区块;
创建系统缓冲区列表,并将所述缓存区块添加到上述系统缓冲区列表中;
构建数据源缓冲区列表,并从所述系统缓冲区列表中分配缓冲区块;
创建数据目的缓冲区列表;
当数据到达数据源缓冲区列表中缓冲区块时,记录数据源缓冲区列表中该缓冲区块存有有效数据,并将该缓冲区块加入数据目的缓冲区列表,且将该缓冲区块从数据源缓冲区列表中删除。
优选地,将系统中缓冲区划分的多个缓冲区块大小相等。
优选地,还包括以下步骤:当数据源缓冲区列表中缓冲区块加入数据目的缓冲区列表时,从系统缓冲区列表中分配同等数量缓冲区块加入数据源缓冲区列表。
优选地,还包括以下步骤:当数据目的缓冲区列表中缓冲区块的数据量达到预设值时,将数据目的缓冲区列表中缓冲区块的数据写入nand中,并清空数据目的缓冲区列表中缓冲区块的数据,且将清空后的缓冲区块加入系统缓冲区列表中。
优选地,还包括以下步骤:将清空后的缓冲区块,从数据目的缓冲区列表中删除。
本发明中提供的一种固态硬盘中提高数据传输性能的方法,通过维护系统缓冲区列表、数据源缓冲区列表和数据目的缓冲区列表,减少数据的搬移操作,通过系统缓冲区列表动态分配数据源缓冲区,通过修改数据源缓冲区列表和数据目的缓冲区列表标识对应缓冲区块的作用;化了数据从源地址向目的地址的搬移过程,仅仅通过维护系统缓冲区列表、数据源缓冲区列表和数据目的缓冲区列表,极大减少了数据搬移的时间,提高了数据传输的效率,能够极大提高ssd数据传输性能,提高产品竞争力。
附图说明
图1为本发明提出的一种固态硬盘中提高数据传输性能的方法的流程图。
具体实施方式
如图1所示,图1为本发明提出的一种固态硬盘中提高数据传输性能的方法的流程图。
下面结合附图和实施例对本发明进行详细的描述。
一种固态硬盘中提高数据传输性能的方法,包括以下步骤:
s1:将系统中缓冲区划分为多个大小为4k的缓冲区块;
s2:创建系统缓冲区列表,并将所述缓存区块添加到上述系统缓冲区列表中;
s3:构建数据源缓冲区列表,并从所述系统缓冲区列表中分配缓冲区块;
s4:创建数据目的缓冲区列表;
s5:当数据到达数据源缓冲区列表中缓冲区块时,记录数据源缓冲区列表中该缓冲区块存有有效数据,并将该缓冲区块加入数据目的缓冲区列表,且将该缓冲区块从数据源缓冲区列表中删除;
s6:从系统缓冲区列表中分配同等数量缓冲区块加入数据源缓冲区列表;
s7:当数据目的缓冲区列表中缓冲区块的数据量达到预设值时,将数据目的缓冲区列表中缓冲区块的数据写入nand中,并清空数据目的缓冲区列表中缓冲区块的数据,且将清空后的缓冲区块加入系统缓冲区列表中,并将清空后的缓冲区块,从数据目的缓冲区列表中删除。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。