一种数据存储方法、存储装置及设备与流程

文档序号:37461317发布日期:2024-03-28 18:44阅读:6来源:国知局
一种数据存储方法、存储装置及设备与流程

本技术涉及数据处理,具体涉及一种数据存储方法、存储装置及设备。


背景技术:

1、云存储(cloud storage)为一种云端存储模式。用户或者说租户利用云端的存储资源,进行数据存发。其中,云存储可以采用存储资源池(storage pool)的方式提供存储资源,以便用户使用存储资源池来存发数据。

2、目前,云存储的存储资源池使用的是标准的非易失性内存主机控制器接口规范(non-volatile memory express,nvme)硬盘。由于追加写(append)是常用的一种数据写入方式。为了支持追加写(append)是这一常见数据写入方式,标准的nvme硬盘需要预留较大的额外存储空间(over-provisioning,op),硬盘的存储空间利用率较低。


技术实现思路

1、本技术实施例提供了一种数据存储方法、存储装置及设备,可以提高存储装置的存储空间利用率。

2、第一方面,提供了一种数据存储方法,应用于包括控制器和存储芯片的存储装置,存储芯片包括被分配给至少一个日志的多个第一物理擦除块peb,其中,每个日志分配有n个第一peb,且每个第一peb仅被分配给一个日志,n为大于或等于1的整数;该方法包括:控制器接收第一存储请求,第一存储请求包括待存储的第一数据;控制器确定第一数据属于至少一个日志中的第一日志;控制器将第一数据存储到被分配给第一日志的第一peb中。

3、其中,日志是指按照预设大小(例如128m),对待存储的大段数据进行划分,而得到的数据段。

4、一个peb仅被分配给一个日志,一个日志可以分配有一个或多个peb。在存储某一日志的数据时,将该日志的数据存储到该日志所分配的peb中。在存储其他日志的数据时,将该其他日志的数据存储到该其他日志所分配的peb中。即一个peb仅存储一个日志(即分配了该peb的日志)中的数据。如此,当需要擦除某一日志时,直接擦除该日志所分配的peb即可,无需进行数据搬迁,省却了数据搬迁时间,进而节省数据擦除时间,并且无需较大的用于数据搬迁的额外存储空间,从而可以提高存储装置的性能、寿命、存储空间利用率。此外,日志所分配的peb对应且仅对应同一日志,可以节省ftl的存储开销,进一步提高了存储装置的存储空间利用率。

5、在一种可能的实现方式中,第一日志的数据量是第一peb的存储容量的n倍,第一数据的数据量小于或等于第一peb的存储容量。

6、在该实现方式中,可以按照一个peb的存储容量,对待存储的大段数据进行划分,得到日志,使得一个日志的数据量是一个peb存储容量的n倍。如此,可以使得分配给日志的n个peb刚好能够存储该日志的数据,避免了peb存储空间的浪费。并且,在存储日志的数据时,按照小于peb的存储容量的数据量,分批次存储数据,如此,每一批次的数据可以存储到一个peb中,避免了单匹配存储数据过多而拆分到多个peb所导致的存储效率低等问题。

7、在一种可能的实现方式中,控制器将第一数据存储到被分配给第一日志的第一peb中包括:控制器采用追加写的方式,将第一数据存储到被分配给第一日志的第一peb中。

8、在该实现方式中,可以采用追加写的方式,写入数据,具有较高数据写入效率。并且,该实现方式中,一个peb仅用于存储一个日志中的数据,如此在擦除某日志时,无需进行数据搬迁,直接擦除存储该日志的peb即可,从而避免了现有技术中,追加写方式所导致的gc写放大、数据擦除时间长等问题。

9、在一种可能的实现方式中,多个第一peb被分配给至少一个日志的多个逻辑分区,且多个第一物理擦除块和多个逻辑分区一一对应,不同的逻辑分区具有不同的分区标识;第一存储请求还包括第一分区标识,控制器确定第一数据属于至少一个日志中的第一日志包括:控制器从第一日志的逻辑分区中,确定第一分区标识对应的第一逻辑分区;控制器将第一数据存储到被分配给第一日志的第一peb中包括:控制器将第一数据存储到被分配给第一逻辑分区的第一peb中。

10、在该实现方式中,分配给某日志的peb具体被分配给该日志的逻辑分区,上层应用可以通过指示存储数据的逻辑分区,将日志的数据存储到该日志所分配到的peb,从而在上层应用(产生存储请求的应用)不识别该日志所分配的peb的情况下,能够将日志的数据存储到该日志所分配的peb。

11、在一种可能的实现方式中,存储装置为分区命名空间固态硬盘zns ssd,逻辑分区为zone。

12、在一种可能的实现方式中,存储芯片还包括被分配给第二日志的多个第二peb,该方法还包括:控制器接收第二存储请求,第二存储请求包括待存储的第二数据;控制器确定第二数据属于第二日志;控制器从多个第二peb中,确定出剩余存储空间最大的peb;控制器将第二数据存储到剩余存储空间最大的peb中。

13、在该实现方式中,在向多个第二peb存储数据时,将数据存储到剩余空间最多的第二peb,如此,在擦除第二peb上的数据时,可以减少擦除的数据量以及搬迁的数据量。

14、在一种可能的实现方式中,多个第二peb还被分配给第三日志。

15、在该实现方式中,第二peb可用于存储不同日志的数据。其中,如上所述,在向多个第二peb存储数据时,将数据存储到剩余空间最多的第二peb(即存储数据量最少的peb),如此,在擦除第二peb上某个日志的数据时,由于该第二peb上其他日志的数据少,从而减少搬迁的数据量。

16、在一种可能的实现方式中,控制器将第二数据存储到剩余存储空间最大的peb中包括:控制器采用覆盖写的方式,将第二数据存储到剩余存储空间最大的peb中。

17、在该实现方式中,由于第二peb上存储的数据较少,在进行覆盖写,需要擦除数据时,擦除的数据量较少,可以提高覆盖写的写入效率。

18、在一种可能的实现方式中,在存储芯片中,第一peb的数量大于第二peb的数量。

19、在该实现方式中,存储芯片中的多数peb用作第一peb,少数的peb用作第二peb,如此,在可以降低存储装置的追加写所产生的gc的同时,也提高存储装置的覆盖写的写入效率。

20、第二方面,提供了一种数据存储装置,包括控制器和存储芯片,存储芯片包括被分配给至少一个日志的多个第一物理擦除块peb,其中,每个日志分配有n个第一peb,且每个第一peb仅被分配给一个日志,n为大于或等于1的整数;其中,控制器用于接收第一存储请求,第一存储请求包括待存储的第一数据;控制器用于确定第一数据属于至少一个日志中的第一日志;控制器用于将第一数据存储到被分配给第一日志的第一peb中。

21、在一种可能的实现方式中,第一日志的数据量是第一peb的存储容量的n倍,第一数据的数据量小于或等于第一peb的存储容量。

22、在一种可能的实现方式中,控制器用于采用追加写的方式,将第一数据存储到被分配给第一日志的第一peb中。

23、在一种可能的实现方式中,多个第一peb被分配给至少一个日志的多个逻辑分区,且多个第一物理擦除块和多个逻辑分区一一对应,不同的逻辑分区具有不同的分区标识;第一存储请求还包括第一分区标识,控制器用于:从第一日志的逻辑分区中,确定第一分区标识对应的第一逻辑分区;控制器将第一数据存储到被分配给第一逻辑分区的第一peb中。

24、在一种可能的实现方式中,存储装置为分区命名空间固态硬盘zns ssd,逻辑分区为zone。

25、在一种可能的实现方式中,存储芯片还包括被分配给第二日志的多个第二peb,控制器用于:接收第二存储请求,第二存储请求包括待存储的第二数据;确定第二数据属于第二日志;从多个第二peb中,确定出剩余存储空间最大的peb;将第二数据存储到剩余存储空间最大的peb中。

26、在一种可能的实现方式中,多个第二peb还被分配给第三日志。

27、在一种可能的实现方式中,控制器用于采用覆盖写的方式,将第二数据存储到剩余存储空间最大的peb中。

28、在一种可能的实现方式中,在存储芯片中,第一peb的数量大于第二peb的数量。

29、第三方面,提供了一种计算设备,包括:处理器和第二方面所提供的装置。

30、第四方面,提供了一种控制装置,控制装置配置于存储装置中的控制器,存储装置还包括存储芯片,存储芯片包括被分配给至少一个日志的多个第一物理擦除块peb,其中,每个日志分配有n个第一peb,且每个第一peb仅被分配给一个日志,n为大于或等于1的整数;控制装置包括:接收模块,用于接收第一存储请求,第一存储请求包括待存储的第一数据;确定模块,用于确定第一数据属于至少一个日志中的第一日志;存储模块,用于将第一数据存储到被分配给第一日志的第一peb中。

31、第五方面,提供了一种控制器,用于执行第一方面所提供的方法。

32、第六方面,提供了一种芯片,该芯片用于执行第一方面所提供的方法。

33、第七方面,提供了一种计算机存储介质,计算机存储介质包括计算机指令,当计算机指令在存储装置的控制器上运行时,使得控制器执行第一方面所提供的方法。

34、第八方面,提供了一种计算机程序产品,该计算机程序产品包含的程序代码被存储装置中的控制器执行时,实现第一方面所提供的方法。

35、本技术实施例提供的数据存储方法、存储装置及设备,可以节省数据擦除时间,并且无需较大的用于数据搬迁的额外存储空间,从而可以提高存储装置的性能、寿命、存储空间利用率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1