用于控制存储器的存储控制器和方法与流程

文档序号:37542893发布日期:2024-04-08 13:43阅读:12来源:国知局
用于控制存储器的存储控制器和方法与流程

本发明涉及存储系统,并且更具体地,本发明涉及一种控制存储器的存储控制器,以及一种用于通过存储控制器控制存储器以改进内存处理的方法。


背景技术:

1、许多存储系统都包含缓存算法,以在存储器中维护最活跃的数据块,以便更快地访问。活跃数据块可以作为缓存文件存储在缓冲存储器中。缓冲存储器只占存储系统的少量空间,即不到存储系统的1%。如果缓冲存储器被填满,则缓冲存储器必须淘汰使用较少的块,以便包括新的数据块。

2、高级存储系统包括分层过程,最高层级提供最好的性能,最低层级提供较差的性能。分层过程包括向下迁移(tier down)和向上迁移(tier up)。存储系统在向下迁移中从最高层级读取数据块并将该数据块写入最低层级,从最低层级读取数据块并将该数据块写入最高层级。但是,分层过程大多以粒度级别进行,数据移动集中在使用算法的层级之间。具有缓存算法和分层过程的存储系统在设计和开发中都包括复杂的向下迁移机制和向上迁移机制,这将产生来自低层级的大量读请求,从而可能会给存储系统带来压力。此外,向上迁移需要从低层级进行大量读取。使用缓存算法和分层处理的存储系统在处理内存的性能方面成本十分高昂。

3、因此,需要解决在处理内存的已知技术或工艺中的上述技术缺陷。


技术实现思路

1、本发明的一个目的是提供一种控制存储器的存储控制器,以及一种用于通过所述存储控制器控制存储器的方法,同时避免现有技术方法的一个或多个缺点。

2、该目的通过独立权利要求的特征来实现。其它实施方式在从属权利要求、说明书和附图中显而易见。

3、本发明提供了一种控制存储器的存储控制器,以及一种用于通过所述存储控制器控制存储器的方法。

4、根据第一方面,提供了一种用于控制存储器的存储控制器。所述存储器包括至少一个缓冲存储器、至少一个第一层级存储器和至少一个第二层级存储器。所述第一层级存储器具有比所述第二层级存储器更快的访问速度。所述存储器被布置成将数据存储在内存块中。每个内存块与一个内存块组相关联。所述存储控制器用于确定内存块从所述缓冲存储器中淘汰,并作为响应,将所述内存块写入所述第一层级存储器。

5、存储控制器通过重写命令将被淘汰的块写入第一层级存储器。重写命令能够根据写入内存块而非针对内存块组作出决策。存储控制器不会强制从存储器中读取数据,因为读取需要更多的时间才能作出决策。此外,由于存储控制器正在写入被淘汰的块,因此不需要读取数据。存储控制器为向上迁移过程提供了良好的粒度,并改进了内存处理。即使将内存块从缓冲存储器中淘汰,整个内存块组也可以写入第一层级存储器。没有向上迁移功能的系统可以使活跃数据通过存储控制器从第二层级存储器移动到第一层级存储器。

6、可选地,所述存储控制器还用于:确定所述内存块是否已经存在于所述第一层级存储器中,如果存在,则不将所述内存块写入所述第一层级存储器中。

7、可选地,所述存储控制器还用于:确定所述内存块是否存在于所述第二层级存储器中,如果存在,则将所述内存块从所述第二层级存储器中删除。

8、可选地,所述存储控制器还用于:从所述缓冲存储器中读取所述内存块,然后将所述内存块写入所述第一层级存储器。

9、可选地,所述存储控制器还用于:将与所述内存块相关联的内存块组连同所述内存块一起写入所述第一层级存储器。

10、可选地,所述存储控制器用于:维护所述内存块的内存统计信息。可选地,所述存储控制器用于:基于所述内存统计信息;基于所述内存统计信息,确定所述内存块的内存访问分数,如果所述内存访问分数超过阈值分数值,则将所述内存块写入所述第一层级存储器。

11、存储控制器包括避免在第一层级存储器上进行额外写入的策略,这也避免了内存的使用和消耗。存储控制器包括块组级统计信息,以限制第一层级存储器上的写入量,从而避免数据移动使系统过载。

12、可选地,所述存储控制器还用于:通过维护所述相关联的内存块组的所述内存统计信息来维护所述内存块的所述内存统计信息。可选地,所述存储控制器的特征还在于,所述内存统计信息包括读取次数。

13、可选地,所述存储控制器的特征还在于,所述内存统计信息还包括以下各项中的一个或多个:所述内存块或所述内存块组中的顺序读取次数、读取大小、写入次数、顺序写入次数和写入大小。

14、可选地,所述存储控制器的特征还在于,所述分数阈值是预先指定的值。

15、可选地,所述存储控制器还用于:基于对所述第一层级存储器的所述读取次数确定所述分数阈值。

16、可选地,所述存储控制器还用于:将与所述内存块中的一个内存块相关联的所述内存块组从所述第一层级存储器降级到所述第二层级存储器。可选地,所述存储控制器还用于:维护对降级的内存块组的读取次数。可选地,所述存储控制器还用于:基于所有降级的块组数量中的最大读取次数确定所述分数阈值。

17、可选地,所述存储控制器还用于:通过以下操作确定所述分数阈值:维护对所述第一层级存储器的写入次数的计数器在一段时间内和针对先前的分数阈值的写入统计信息;基于所述写入统计信息确定所述分数阈值,使得所述分数阈值允许内存写入的增加小于增加阈值。

18、可选地,所述存储控制器还用于:通过以下操作基于所述写入统计信息确定所述分数阈值:维护淘汰统计信息,并基于所述淘汰统计信息确定所述分数阈值,使得写入所述第一层级存储器的多个被淘汰的内存块能够使所述内存写入的增加小于所述增加阈值。

19、可选地,所述增加阈值为5%、10%、15%、20%,在5%至10%的范围内、在5%至15%的范围内、在5%至20%的范围内、在10%至15%的范围内、在10%至20%的范围内,或者在15%至20%的范围内。

20、根据第二方面,提供了一种用于通过存储控制器控制存储器的方法。所述存储器包括至少一个缓冲存储器、至少一个第一层级存储器和至少一个第二层级存储器。所述第一层级存储器具有比所述第二层级存储器更快的访问速度。所述存储器被布置成将数据存储在内存块中。每个内存块与一个内存块组相关联。所述方法包括确定内存块从所述缓冲存储器中淘汰,并作为响应,将所述内存块写入所述第一层级存储器。

21、该方法通过重写命令向第一层级存储器提供被淘汰的块的写入。重写命令能够根据写入内存块而非针对内存块组作出决策。该方法不会强制从存储器中读取数据,因为读取需要更多的时间才能作出决策。此外,由于方法正在写入被淘汰的块,因此不需要读取数据。该方法为向上迁移过程提供了良好的粒度,并改进了内存处理。即使将内存块从缓冲存储器中淘汰,整个内存块组也可以写入第一层级存储器。没有向上迁移功能的系统可以使活跃数据通过该方法从第二层级存储器移动到第一层级存储器。

22、可选地,所述方法包括:确定所述内存块是否已经存在于所述第一层级存储器中,如果存在,则不将所述内存块写入所述第一层级存储器中。

23、可选地,所述方法包括:确定所述内存块是否存在于所述第二层级存储器中,如果存在,则将所述内存块从所述第二层级存储器中删除。

24、可选地,所述方法包括:从所述缓冲存储器中读取所述内存块,然后将所述内存块写入所述第一层级存储器。

25、可选地,所述方法包括:将与所述内存块相关联的内存块组连同所述内存块一起写入所述第一层级存储器。

26、可选地,所述方法包括:维护所述内存块的内存统计信息;基于所述内存统计信息,确定所述内存块的内存访问分数,如果所述内存访问分数超过阈值分数值,则将所述内存块写入所述第一层级存储器。

27、该方法包括避免在第一层级存储器上进行额外写入的策略,这也避免了内存的使用和消耗。该方法包括块组级统计信息,以限制第一层级存储器上的写入量,从而避免数据移动使系统过载。

28、可选地,所述方法包括:通过维护所述相关联的内存块组的内存统计信息来维护所述内存块的所述内存统计信息。

29、可选地,所述内存统计信息包括读取次数。

30、可选地,所述内存统计信息还包括以下各项中的一个或多个:所述内存块或所述内存块组中的顺序读取次数、读取大小、写入次数、顺序写入次数和写入大小。

31、可选地,所述分数阈值是预先指定的值。

32、可选地,所述方法包括:基于对所述第一层级存储器的所述读取次数确定所述分数阈值。

33、可选地,所述方法还包括:将与所述内存块中的一个内存块相关联的所述内存块组从所述第一层级存储器降级到所述第二层级存储器。可选地,所述方法还包括:维护对降级的内存块组的读取次数;基于所有降级的块组数量中的最大读取次数确定所述分数阈值。

34、可选地,所述方法还包括:通过以下操作确定所述分数阈值:维护对所述第一层级存储器的写入次数的计数器在一段时间内和针对先前的分数阈值的写入统计信息;基于所述写入统计信息确定所述分数阈值,使得所述分数阈值允许内存写入的增加小于增加阈值。

35、可选地,所述方法还包括:通过以下操作基于所述写入统计信息确定所述分数阈值:维护淘汰统计信息,并基于所述淘汰统计信息确定所述分数阈值,使得写入所述第一层级存储器的多个被淘汰的内存块能够使所述内存写入的增加小于所述增加阈值。

36、可选地,所述增加阈值为5%、10%、15%、20%,在5%至10%的范围内、在5%至15%的范围内、在5%至20%的范围内、在10%至15%的范围内、在10%至20%的范围内,或者在15%至20%的范围内。

37、根据第三方面,提供了一种包括计算机指令的计算机可读介质,所述计算机指令当加载到计算装置的控制器中并由计算装置的控制器执行时,使得所述计算装置能够实现所述方法。

38、解决了现有技术中的技术问题,其中,该技术问题采用了复杂的向上迁移和向下迁移机制,需要从低层级进行大量的读取,并且可能不是顺序的,给系统带来压力。

39、因此,与现有技术不同的是,根据存储控制器和存储控制器中使用的用于控制存储器以改进内存处理的方法,该方法通过重写命令将被淘汰的块写入第一层级存储器。重写命令能够根据写入内存块而非针对内存块组作出决策。存储控制器和方法不会强制读取存储器的数据,因为读取需要更多的时间。由于存储控制器和方法正在写入缓冲存储器的被淘汰的块,因此完全避免了数据的读取。因此,通过写入被淘汰的块为向上迁移过程提供了良好的粒度,并改进了内存处理。通过限制写入量,避免额外的写入、内存的使用和消耗,并且避免通过数据移动使系统过载。

40、根据下文描述的一种或多种实施方式,本发明的这些和其它方面是显而易见的。

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