【技术实现步骤摘要】
一种将数据写入固态硬盘的方法
[0001]本专利技术涉及存储系统领域,并且更具体地,涉及一种将数据写入固态硬盘的方法。
技术介绍
[0002]基于闪存(Flash)的固态存储器(Solid State Drive,SSD)以页(Page)为基本单元进行数据读/写操作,默认的页大小一般为4KB/8KB/16KB。因此,和SSD通信的上层系统(例如文件系统和块系统)广泛使用页作为数据写入单位,从而简化空间管理,提升元数据存储效率。
[0003]当上层系统需要向SSD写入一个小于页大小的数据(即小IO数据)时,通常先从SSD中读取出和该小IO数据属于同一个页的数据,然后将它们合并成一个新的页数据,最后将合并后的页数据作为一个新页写入SSD中。可见,执行一个小IO的写请求会带来对于一个页数据的读取操作和一个写入操作,从而造成读/写放大问题,降低了SSD的寿命。
技术实现思路
[0004]有鉴于此,本申请提供一种数据写入固态硬盘的方法、装置、固态硬盘以及系统,能够提高优化固态硬盘在小IO下写性能较差问题。
[0005]第一方面,本申请实施例提供了一种将数据写入固态硬盘中的方法,该方法提供两种写入的接口,即字节级写入接口和页级写入接口。具体的写入方法是:通过该字节级写入接口接收第一写入请求,该第一写入请求中携带待写入的第一数据,该第一数据的长度小于一个闪存页的大小,以及通过该页级写入接口接收第二写入请求,该第二写入请求中携带待写入的第二数据,该第一数据长度等于一个闪存页的大小。
[0006 ...
【技术保护点】
【技术特征摘要】
1.一种将数据写入固态硬盘的方法,其特征在于,所述方法包括:提供字节级写入接口;通过所述字节级写入接口接收第一写入请求,所述第一写入请求中携带待写入的第一数据,所述第一数据的长度小于一个闪存页的大小;提供页级写入接口;通过所述页级写入接口接收第二写入请求,所述第二写入请求中携带待写入的第二数据,所述第二数据长度等于一个闪存页的大小。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述第一数据写入所述固态硬盘的存储级内存SCM芯片中进行持久化存储;以及将所述第二数据写入所述固态硬盘的闪存芯片中进行持久化存储。3.根据权利要求2所述的方法,其特征在于,所述第一数据的长度大于或等于所述SCM芯片的最小管理单元;所述将所述第一数据写入存储级存储SCM芯片中持久化存储包括:以所述最小管理单元为粒度存储所述第一数据。4.根据权利要求2或3所述的方法,其特征在于,所述第一写入请求中还携带所述第一数据的逻辑地址,所述第一数据写入所述SCM芯片的地址为第一物理地址;所述方法还包括:根据所述第一数据的逻辑地址,获得所述第一数据的根页地址和子页地址;保存所述根页地址和所述子页地址的索引关系,以及所述子页地址和所述第一物理地址之间的索引关系。5.根据权利要求2
‑
4任一项所述的方法,其特征在于,在将所述第二数据写入所述闪存芯片中持久化存储之后,所述方法还包括:当所述SCM芯片中存储的数据包含与所述第二数据的至少一部分数据相同的数据时,删除所述SCM芯片中存储的与所述的至少一部分数据相同的数据。6.根据权利要求2至5任一项所述的方法,其特征在于,所述方法还包括:提供页级读取接口;通过所述页级读取接口接收第一读取请求以读取所述第二数据,所述第一读取请求中携带所述第二数据的逻辑地址;根据所述第二数据的逻辑地址,判断所述SCM芯片中是否已存储与所述第二数据的根页地址相同的第三数据;当所述SCM芯片中已存储所述第三数据时,根据所述第二数据的逻辑地址从所述SCM芯片中读取所述第三数据,以及从所述闪存芯片中读取的所述第二数据;将所述读取到的所述第三数据和所述第二数据合并成整页数据后返回。7.根据权利要求6所述的方法,其特征在于,根据所述第二数据的逻辑地址从所述SCM芯片中读取所述第三数据,包括:根据所述第二数据的逻辑地址,获得所述第二数据的根页地址;根据所述第二数据的根页地址,获得所述第三数据的子页地址;根据所述第三数据的子页地址,获得所述第三数据的物理地址,并根据所述第三数据的物理地址读取所述第三数据。
8.根据权利要求1至7任一项所述的方法,其特征在于,在将所述第二数据的写入所述闪存芯片持久化存储之后,所述方法还包括:将所述第二数据的副本缓存在所述固态硬盘的动态随机存取存储器DRAM芯片中。9.根据权利要求8所述的方法,其特征在于,在将所述第一数据的写入所述固态硬盘的SCM芯片中进行持久化存储之后,所述方法还包括:将所述第一数据的副本缓存在所述DRAM芯片中。10.根据权利要求1
‑
9所述的方法,其特征在于,所述方法还包括:将所述第一数据与其他数据以页为粒度迁移至所述闪存芯片中,所述其他数据与所述第一数据属于同一个根页,所述其他数据在迁移之前位于所述SCM芯片或所述闪存芯片中。11.一种固态硬盘,其特征在于,所述固态硬盘中包括主控制器、多个闪存芯片以及一个或多个SCM芯片;所述主控制器执行计算机指令以实现权利要求1
‑
10任一项所述的方法。12.根据权利要求11所述的固态硬盘,其特征在于,所述SCM芯片与所述闪存芯片连接在不同通道控制器上,其中,所述通道控制器位于所述主控制器中。13.一种将数据写入存储设备的方法,其特征在于,所述方法包括:控制器向存储级内存SCM存储设备发送第一写入请求,所述第一写入请求中携带待写入的第一数据,所述第一数据的长度小于一个闪存页的大小;所述SCM存储设备通过字节级写入接口接收所述第一写入请求;所述控制器向闪存存储设备发送第二写入请求,所述第二写入请求中携带待写入的第二数据,所述第二数据长度等于一个闪存页的大小;所述闪存存储设备通过页级写入接口接收所述第二写入请求;14.根据权利要求13所述的方法,其特征在于,所述方法还包括:所述SCM存储设备持久化存储所述第一数据;所述闪存存储设备持久化存储所述第二数据。15.根据权利要求14所述的方法,其特征在于,所述第一数据的长度大于或等于所述SCM存储设备的最小管理单元;所述SCM存储设备持久化存储所述第一数据包括:以所述最小管理单元存储所述第一数据。16.根据权利要求14或15任一项所述的方法,其特征在于,所述第一写入请求中还携带所述第一数据的逻辑地址,所述第一数据写入所述SCM存储设备中的地址为第一物理地址;所述方法还包括:所述控制器根据所述第一数据的逻辑地址,获得所述第一数据的根页地址和子页地址;所述控制器保存所述根页地址和所述子页地址的索引关系,以及所述子页地址和所述第一物理地址之间的索引关系。17.根据权利要求14
‑
16任一项所述的方法,其特征在于,在所述闪存存储设备持久化存储所述第二数据之后,所述方法还包...
【专利技术属性】
技术研发人员:周文,程桢,苏毅,蒋泓峰,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。