CN105740170A - 一种缓存脏页刷写方法及装置 - Google Patents
一种缓存脏页刷写方法及装置 Download PDFInfo
- Publication number
- CN105740170A CN105740170A CN201610041801.1A CN201610041801A CN105740170A CN 105740170 A CN105740170 A CN 105740170A CN 201610041801 A CN201610041801 A CN 201610041801A CN 105740170 A CN105740170 A CN 105740170A
- Authority
- CN
- China
- Prior art keywords
- chinese ink
- brush dipped
- writes
- block device
- dirty pages
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Pens And Brushes (AREA)
- Inks, Pencil-Leads, Or Crayons (AREA)
Abstract
本发明公开了一种缓存脏页刷写方法及装置,创建块设备时为每个块设备单独分配内核刷写线程,所述缓存脏页刷写方法包括:每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中。可见,在本实施例中,通过为每个块设备分配单独内核刷写线程,可以保证每个块设备的脏页都得到及时的刷写,并且可以为每个块设备指定不同的脏页刷写算法,提高***脏页刷写的灵活性,提高脏页刷写的并发度,从而提高***脏页刷写的性能。
Description
技术领域
本发明涉及计算机数据存储技术,更具体地说,涉及一种缓存脏页刷写方法及装置。
背景技术
随着数字化时代的到来,在人们的日常生活和科学研究中,越来越多的传统业务开始数字化、网络化,促使数据***式增长,存储***在整个业务处理***中的地位也愈发重要,然而源源不断的数据流导致存储***产生严重的I/O瓶颈问题。计算机***的性能主要由处理子***性能和I/O子***的性能两部分决定。其中CPU的处理速度始终保持了高速的增长,而I/O子***其存储容量虽然增长较快,但其处理速度的增长远跟不上CPU速度的增长,为解决上述问题,现代计算机***中,从寄存器、L1/L2高速缓存、内存、闪存,到磁盘/光盘/存储网络,各级存储器硬件组成了一个金字塔结构,越是底层存储容量越大,访问速度也越慢。在操作***层面通过缓存***来对金字塔结构的存储硬件进行支持,用户的写操作会先写到内存而不是后端磁盘。内存中的脏数据在一定情况下需要刷写到后端磁盘。目前最通用的缓存脏页刷写方法是创建一定数量的全局内核线程,这些内核线程在需要进行脏页刷写时被唤醒。当某一个块设备脏页数量过多时,会导致一直刷写该块设备,从而其后面的块设备得不到刷写。
因此,如何合理的刷写缓存脏页,保证每个块设备的脏页都能得到及时的刷写是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种缓存脏页刷写方法及装置,以实现合理的刷写缓存脏页,保证每个块设备的脏页都能得到及时的刷写。
为实现上述目的,本发明实施例提供了如下技术方案:
一种缓存脏页刷写方法,创建块设备时为每个块设备单独分配内核刷写线程,所述缓存脏页刷写方法包括:
每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中。
优选的,所述创建块设备时为每个块设备单独分配内核刷写线程之后,还包括:
为每个块设备单独分配定时器和work链表。
优选的,所述每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中,包括:
检测块设备的脏页比例是否超过预设阈值;
若是,则封装第一work对象,并将所述第一work对象添加至所述块设备的work对象链表;其中,所述第一work对象包括待刷写的脏页数量;
唤醒所述块设备的内核刷写线程,并根据所述第一work对象将所述块设备内的脏页刷写到磁盘中。
优选的,所述每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中,包括:
以预定时长为间隔调用定时器回调函数;
封装第二work对象,并将所述第二work对象添加至所述块设备的work对象链表;其中,所述第二work对象包括待刷写的脏页保存时长阈值;
唤醒所述块设备的内核刷写线程,并根据所述第二work对象将所述块设备内的脏页刷写到磁盘中。
优选的,所述每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中,包括:
检测***空闲页比例是否低于预定比例值;若是,则依次检查全局块设备链表中的块设备是否有脏页,并将有脏页的块设备作为目标块设备;
封装第三work对象,并将所述第三work对象添加至所述目标块设备的work对象链表;其中,所述第三work对象包括待刷写的脏页数量;
唤醒所述目标块设备的内核刷写线程,并根据所述第三work对象将所述目标块设备内的脏页刷写到磁盘中。
一种缓存脏页刷写装置,包括:
第一分配模块,用于在创建块设备时为每个块设备单独分配内核刷写线程;
脏页刷写模块,用于在块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中。
优选的,还包括:
第二分配模块,用于为每个块设备单独分配定时器和work链表。
优选的,所述脏页刷写模块,包括:
第一检测单元,用于检测块设备的脏页比例是否超过预设阈值;若是,则触发第一封装单元;
所述第一封装模块,用于封装第一work对象;其中,所述第一work对象包括待刷写的脏页数量;
第一添加模块,用于将所述第一work对象添加至所述块设备的work对象链表,并唤醒所述块设备的内核刷写线程;
第一刷写单元,用于根据所述第一work对象将所述块设备内的脏页刷写到磁盘中。
优选的,所述脏页刷写模块,包括:
第二封装模块,用于以预定时长为间隔调用定时器回调函数后,封装第二work对象;其中,所述第二work对象包括待刷写的脏页保存时长阈值;
第二添加模块,用于将所述第二work对象添加至所述块设备的work对象链表,并唤醒所述块设备的内核刷写线程;
第二刷写单元,用于根据所述第二work对象将所述块设备内的脏页刷写到磁盘中。
优选的,所述脏页刷写模块,包括:
第二检测单元,用于检测***空闲页比例是否低于预定比例值;若是,则依次检查全局块设备链表中的块设备是否有脏页,并将有脏页的块设备作为目标块设备;
第三封装模块,用于封装第三work对象,其中,所述第三work对象包括待刷写的脏页数量;
第三添加模块,用于将所述第三work对象添加至所述目标块设备的work对象链表,唤醒所述目标块设备的内核刷写线程;
第三刷写单元,用于根据所述第三work对象将所述目标块设备内的脏页刷写到磁盘中。
通过以上方案可知,本发明实施例提供的一种缓存脏页刷写方法及装置,创建块设备时为每个块设备单独分配内核刷写线程,所述缓存脏页刷写方法包括:每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中。可见,在本实施例中,通过为每个块设备分配单独内核刷写线程,可以保证每个块设备的脏页都得到及时的刷写,并且可以为每个块设备指定不同的脏页刷写算法,提高***脏页刷写的灵活性,提高脏页刷写的并发度,从而提高***脏页刷写的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种块设备结构示意图;
图2为本发明实施例公开的一种缓存脏页刷写装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种缓存脏页刷写方法及装置,以实现合理的刷写缓存脏页,保证每个块设备的脏页都能得到及时的刷写。
本发明实施例提供的一种缓存脏页刷写方法,在创建块设备时为每个块设备单独分配内核刷写线程,所述缓存脏页刷写方法包括:
每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中。
具体的,在本实施例中,在创建块设备时为每个块设备单独分配内核刷写线程,因此每个快设备可以根据本身缓存脏页的总量及时的将脏页刷写入磁盘中,这样就不会导致由于某个块设备一直占用刷写线程,而导致其它块设备得不到刷写的问题,从而从整体上提高了脏页刷写速度。
本发明实施例提供的一种缓存脏页刷写方法,创建块设备时为每个块设备单独分配内核刷写线程,所述缓存脏页刷写方法包括:每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中。可见,在本实施例中,通过为每个块设备分配单独内核刷写线程,可以保证每个块设备的脏页都得到及时的刷写,并且可以为每个块设备指定不同的脏页刷写算法,提高***脏页刷写的灵活性,提高脏页刷写的并发度,从而提高***脏页刷写的性能。
基于上述实施例,所述创建块设备时为每个块设备单独分配内核刷写线程之后,还包括:
为每个块设备单独分配定时器和work链表。
参见图1,在块设备驱动创建块设备对象时,为每个块设备创建一个内核刷写线程100、一个超时定时器200和一个work链表300,并将块设备加入到全局块设备链表。其中内核刷写线程的回调函数,不同块设备可以指定不同的脏页刷写算法。
其中,所述每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中,包括:
检测块设备的脏页比例是否超过预设阈值;
若是,则封装第一work对象,并将所述第一work对象添加至所述块设备的work对象链表;其中,所述第一work对象包括待刷写的脏页数量;
唤醒所述块设备的内核刷写线程,并根据所述第一work对象将所述块设备内的脏页刷写到磁盘中。
具体的,在有用户写该块设备时,如果检测到该块设备的脏页超过一定阈值,则创建一个work对象,work对象指明要刷写的脏页数,添加到块设备的work链表,并唤醒块设备的内核刷写线程,执行该work,将该块设备内相应的脏页刷写到磁盘中。
其中,所述每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中,包括:
以预定时长为间隔调用定时器回调函数;
封装第二work对象,并将所述第二work对象添加至所述块设备的work对象链表;其中,所述第二work对象包括待刷写的脏页保存时长阈值;
唤醒所述块设备的内核刷写线程,并根据所述第二work对象将所述块设备内的脏页刷写到磁盘中。
具体的,块设备的定时器在创建时即被激活,每一次到时会执行定时器回调函数,在回调函数中会创建一个work对象,work对象指明超过多长时间的脏页需要刷写,添加到块设备的work链表,并唤醒块设备的内核刷写线程,执行该work,将该块设备内相应的脏页刷写到磁盘中。
其中,所述每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中,包括:
检测***空闲页比例是否低于预定比例值;若是,则依次检查全局块设备链表中的块设备是否有脏页,并将有脏页的块设备作为目标块设备;
封装第三work对象,并将所述第三work对象添加至所述目标块设备的work对象链表;其中,所述第三work对象包括待刷写的脏页数量;
唤醒所述目标块设备的内核刷写线程,并根据所述第三work对象将所述目标块设备内的脏页刷写到磁盘中。
具体的,若***的内存分配模块发现***空闲内存不足时,会遍历全局的块设备链表,对有脏页的块设备创建一个work对象,指明要刷写的脏页数,添加到块设备的work链表,并唤醒块设备的内核刷写线程。然后再检查下一个块设备,直到***空闲内存页达到一定数量。
本发明实施例提供的一种缓存脏页刷写方法及装置,创建块设备时为每个块设备单独分配内核刷写线程,所述缓存脏页刷写方法包括:每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中。可见,在本实施例中,通过为每个块设备分配单独内核刷写线程,可以保证每个块设备的脏页都得到及时的刷写,并且可以为每个块设备指定不同的脏页刷写算法,提高***脏页刷写的灵活性,提高脏页刷写的并发度,从而提高***脏页刷写的性能。
下面对本发明实施例提供的一种缓存脏页刷写装置进行介绍,下文描述的一种缓存脏页刷写装置与上文描述的一种缓存脏页刷写方法可以相互参照。
参见图2,本发明实施例提供的一种缓存脏页刷写装置,包括:
第一分配模块100,用于在创建块设备时为每个块设备单独分配内核刷写线程;
脏页刷写模块200,用于在块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中。
本发明实施例提供的一种缓存脏页刷写装置,包括第一分配模块100,用于在创建块设备时为每个块设备单独分配内核刷写线程;脏页刷写模块200,用于在块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中。可见,在本实施例中,通过为每个块设备分配单独内核刷写线程,可以保证每个块设备的脏页都得到及时的刷写,并且可以为每个块设备指定不同的脏页刷写算法,提高***脏页刷写的灵活性,提高脏页刷写的并发度,从而提高***脏页刷写的性能。
基于上述实施例,所述缓存脏页刷写装置还包括:
第二分配模块,用于为每个块设备单独分配定时器和work链表。
其中,所述脏页刷写模块,包括:
第一检测单元,用于检测块设备的脏页比例是否超过预设阈值;若是,则触发第一封装单元;
所述第一封装模块,用于封装第一work对象;其中,所述第一work对象包括待刷写的脏页数量;
第一添加模块,用于将所述第一work对象添加至所述块设备的work对象链表,并唤醒所述块设备的内核刷写线程;
第一刷写单元,用于根据所述第一work对象将所述块设备内的脏页刷写到磁盘中。
其中,所述脏页刷写模块,包括:
第二封装模块,用于以预定时长为间隔调用定时器回调函数后,封装第二work对象;其中,所述第二work对象包括待刷写的脏页保存时长阈值;
第二添加模块,用于将所述第二work对象添加至所述块设备的work对象链表,并唤醒所述块设备的内核刷写线程;
第二刷写单元,用于根据所述第二work对象将所述块设备内的脏页刷写到磁盘中。
其中,所述脏页刷写模块,包括:
第二检测单元,用于检测***空闲页比例是否低于预定比例值;若是,则依次检查全局块设备链表中的块设备是否有脏页,并将有脏页的块设备作为目标块设备;
第三封装模块,用于封装第三work对象,其中,所述第三work对象包括待刷写的脏页数量;
第三添加模块,用于将所述第三work对象添加至所述目标块设备的work对象链表,唤醒所述目标块设备的内核刷写线程;
第三刷写单元,用于根据所述第三work对象将所述目标块设备内的脏页刷写到磁盘中。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种缓存脏页刷写方法,其特征在于,创建块设备时为每个块设备单独分配内核刷写线程,所述缓存脏页刷写方法包括:
每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中。
2.根据权利要求1所述的缓存脏页刷写方法,其特征在于,所述创建块设备时为每个块设备单独分配内核刷写线程之后,还包括:
为每个块设备单独分配定时器和work链表。
3.根据权利要求2所述的缓存脏页刷写方法,其特征在于,所述每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中,包括:
检测块设备的脏页比例是否超过预设阈值;
若是,则封装第一work对象,并将所述第一work对象添加至所述块设备的work对象链表;其中,所述第一work对象包括待刷写的脏页数量;
唤醒所述块设备的内核刷写线程,并根据所述第一work对象将所述块设备内的脏页刷写到磁盘中。
4.根据权利要求2所述的缓存脏页刷写方法,其特征在于,所述每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中,包括:
以预定时长为间隔调用定时器回调函数;
封装第二work对象,并将所述第二work对象添加至所述块设备的work对象链表;其中,所述第二work对象包括待刷写的脏页保存时长阈值;
唤醒所述块设备的内核刷写线程,并根据所述第二work对象将所述块设备内的脏页刷写到磁盘中。
5.根据权利要求2所述的缓存脏页刷写方法,其特征在于,所述每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中,包括:
检测***空闲页比例是否低于预定比例值;若是,则依次检查全局块设备链表中的块设备是否有脏页,并将有脏页的块设备作为目标块设备;
封装第三work对象,并将所述第三work对象添加至所述目标块设备的work对象链表;其中,所述第三work对象包括待刷写的脏页数量;
唤醒所述目标块设备的内核刷写线程,并根据所述第三work对象将所述目标块设备内的脏页刷写到磁盘中。
6.一种缓存脏页刷写装置,其特征在于,包括:
第一分配模块,用于在创建块设备时为每个块设备单独分配内核刷写线程;
脏页刷写模块,用于在块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中。
7.根据权利要求6所述的缓存脏页刷写装置,其特征在于,还包括:
第二分配模块,用于为每个块设备单独分配定时器和work链表。
8.根据权利要求7所述的缓存脏页刷写装置,其特征在于,所述脏页刷写模块,包括:
第一检测单元,用于检测块设备的脏页比例是否超过预设阈值;若是,则触发第一封装单元;
所述第一封装模块,用于封装第一work对象;其中,所述第一work对象包括待刷写的脏页数量;
第一添加模块,用于将所述第一work对象添加至所述块设备的work对象链表,并唤醒所述块设备的内核刷写线程;
第一刷写单元,用于根据所述第一work对象将所述块设备内的脏页刷写到磁盘中。
9.根据权利要求7所述的缓存脏页刷写装置,其特征在于,所述脏页刷写模块,包括:
第二封装模块,用于以预定时长为间隔调用定时器回调函数后,封装第二work对象;其中,所述第二work对象包括待刷写的脏页保存时长阈值;
第二添加模块,用于将所述第二work对象添加至所述块设备的work对象链表,并唤醒所述块设备的内核刷写线程;
第二刷写单元,用于根据所述第二work对象将所述块设备内的脏页刷写到磁盘中。
10.根据权利要求7所述的缓存脏页刷写装置,其特征在于,所述脏页刷写模块,包括:
第二检测单元,用于检测***空闲页比例是否低于预定比例值;若是,则依次检查全局块设备链表中的块设备是否有脏页,并将有脏页的块设备作为目标块设备;
第三封装模块,用于封装第三work对象,其中,所述第三work对象包括待刷写的脏页数量;
第三添加模块,用于将所述第三work对象添加至所述目标块设备的work对象链表,唤醒所述目标块设备的内核刷写线程;
第三刷写单元,用于根据所述第三work对象将所述目标块设备内的脏页刷写到磁盘中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610041801.1A CN105740170B (zh) | 2016-01-22 | 2016-01-22 | 一种缓存脏页刷写方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610041801.1A CN105740170B (zh) | 2016-01-22 | 2016-01-22 | 一种缓存脏页刷写方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105740170A true CN105740170A (zh) | 2016-07-06 |
CN105740170B CN105740170B (zh) | 2020-12-04 |
Family
ID=56247460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610041801.1A Active CN105740170B (zh) | 2016-01-22 | 2016-01-22 | 一种缓存脏页刷写方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105740170B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577439A (zh) * | 2017-09-28 | 2018-01-12 | 郑州云海信息技术有限公司 | 分配处理资源的方法、装置、设备及计算机可读存储介质 |
WO2018059079A1 (zh) * | 2016-09-28 | 2018-04-05 | 华为技术有限公司 | 一种内存管理方法和装置 |
CN109783000A (zh) * | 2017-11-10 | 2019-05-21 | 成都华为技术有限公司 | 一种数据处理方法及设备 |
CN116880774A (zh) * | 2023-09-06 | 2023-10-13 | 麒麟软件有限公司 | 一种Linux***下的脏页回写方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101359326A (zh) * | 2007-07-31 | 2009-02-04 | 英业达股份有限公司 | 一种刷新指定裸设备脏数据的***及方法 |
CN101382871A (zh) * | 2008-09-17 | 2009-03-11 | 武汉海恒信息存储有限责任公司 | 一种用于iSCSI目标器块设备I/O的方法 |
US7636745B1 (en) * | 2004-03-12 | 2009-12-22 | Sun Microsystems, Inc. | Concurrent-marking-initiation heuristic |
CN102521173A (zh) * | 2011-11-17 | 2012-06-27 | 曙光信息产业(北京)有限公司 | 一种自动将缓存在易失介质中的数据写回方法 |
CN103049396A (zh) * | 2012-12-10 | 2013-04-17 | 浪潮(北京)电子信息产业有限公司 | 数据的刷写方法及装置 |
US20130185511A1 (en) * | 2012-01-16 | 2013-07-18 | Qualcomm Incorporated | Hybrid Write-Through/Write-Back Cache Policy Managers, and Related Systems and Methods |
CN103345451A (zh) * | 2013-07-18 | 2013-10-09 | 四川九成信息技术有限公司 | 一种在多核处理器中缓冲数据的方法 |
CN103902474A (zh) * | 2014-04-11 | 2014-07-02 | 华中科技大学 | 一种支持固态盘缓存动态分配的混合存储***和方法 |
CN103984508A (zh) * | 2014-05-15 | 2014-08-13 | 中国人民解放军国防科学技术大学 | 基于飞腾处理器平台的raid多线程并发读写方法 |
CN105138481A (zh) * | 2014-05-30 | 2015-12-09 | 华为技术有限公司 | 存储数据的处理方法、装置和*** |
CN105183667A (zh) * | 2015-09-16 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种数据刷写方法及装置 |
-
2016
- 2016-01-22 CN CN201610041801.1A patent/CN105740170B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7636745B1 (en) * | 2004-03-12 | 2009-12-22 | Sun Microsystems, Inc. | Concurrent-marking-initiation heuristic |
CN101359326A (zh) * | 2007-07-31 | 2009-02-04 | 英业达股份有限公司 | 一种刷新指定裸设备脏数据的***及方法 |
CN101382871A (zh) * | 2008-09-17 | 2009-03-11 | 武汉海恒信息存储有限责任公司 | 一种用于iSCSI目标器块设备I/O的方法 |
CN102521173A (zh) * | 2011-11-17 | 2012-06-27 | 曙光信息产业(北京)有限公司 | 一种自动将缓存在易失介质中的数据写回方法 |
US20130185511A1 (en) * | 2012-01-16 | 2013-07-18 | Qualcomm Incorporated | Hybrid Write-Through/Write-Back Cache Policy Managers, and Related Systems and Methods |
CN103049396A (zh) * | 2012-12-10 | 2013-04-17 | 浪潮(北京)电子信息产业有限公司 | 数据的刷写方法及装置 |
CN103345451A (zh) * | 2013-07-18 | 2013-10-09 | 四川九成信息技术有限公司 | 一种在多核处理器中缓冲数据的方法 |
CN103902474A (zh) * | 2014-04-11 | 2014-07-02 | 华中科技大学 | 一种支持固态盘缓存动态分配的混合存储***和方法 |
CN103984508A (zh) * | 2014-05-15 | 2014-08-13 | 中国人民解放军国防科学技术大学 | 基于飞腾处理器平台的raid多线程并发读写方法 |
CN105138481A (zh) * | 2014-05-30 | 2015-12-09 | 华为技术有限公司 | 存储数据的处理方法、装置和*** |
CN105183667A (zh) * | 2015-09-16 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种数据刷写方法及装置 |
Non-Patent Citations (1)
Title |
---|
吴昌松: "ISCSI双控制器存储***缓存设计与实现", 《中国优秀硕士学位论文全文数据库(信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018059079A1 (zh) * | 2016-09-28 | 2018-04-05 | 华为技术有限公司 | 一种内存管理方法和装置 |
CN107885666A (zh) * | 2016-09-28 | 2018-04-06 | 华为技术有限公司 | 一种内存管理方法和装置 |
US10990540B2 (en) | 2016-09-28 | 2021-04-27 | Huawei Technologies Co., Ltd. | Memory management method and apparatus |
US11531625B2 (en) | 2016-09-28 | 2022-12-20 | Huawei Technologies Co., Ltd. | Memory management method and apparatus |
CN107577439A (zh) * | 2017-09-28 | 2018-01-12 | 郑州云海信息技术有限公司 | 分配处理资源的方法、装置、设备及计算机可读存储介质 |
CN107577439B (zh) * | 2017-09-28 | 2020-10-20 | 苏州浪潮智能科技有限公司 | 分配处理资源的方法、装置、设备及计算机可读存储介质 |
CN109783000A (zh) * | 2017-11-10 | 2019-05-21 | 成都华为技术有限公司 | 一种数据处理方法及设备 |
CN116880774A (zh) * | 2023-09-06 | 2023-10-13 | 麒麟软件有限公司 | 一种Linux***下的脏页回写方法 |
CN116880774B (zh) * | 2023-09-06 | 2023-11-28 | 麒麟软件有限公司 | 一种Linux***下的脏页回写方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105740170B (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cho et al. | Natjam: Design and evaluation of eviction policies for supporting priorities and deadlines in mapreduce clusters | |
US20200192715A1 (en) | Workload scheduler for memory allocation | |
Sudan et al. | Micro-pages: increasing DRAM efficiency with locality-aware data placement | |
TWI534702B (zh) | 有效管理階層之間的資料轉移的設備 | |
Calandrino et al. | Cache-aware real-time scheduling on multicore platforms: Heuristics and a case study | |
CN110226157A (zh) | 用于减少行缓冲冲突的动态存储器重新映射 | |
CN105740170A (zh) | 一种缓存脏页刷写方法及装置 | |
Gao et al. | Exploiting parallelism for access conflict minimization in flash-based solid state drives | |
GB2529074A (en) | Graphics processor with non-blocking concurrent architecture | |
US10120810B2 (en) | Implementing selective cache injection | |
Khan et al. | Improving cache performance by exploiting read-write disparity | |
CN109614344A (zh) | 一种缓存空间回收方法、装置、设备以及存储*** | |
US20190056872A1 (en) | Reallocate memory pending queue based on stall | |
Tabbakh et al. | Power efficient sharing-aware gpu data management | |
Usui et al. | Squash: Simple qos-aware high-performance memory scheduler for heterogeneous systems with hardware accelerators | |
CN110648356A (zh) | 一种基于视觉数字信号处理的多目标跟踪处理优化方法 | |
US7076614B2 (en) | System and method for optimizing bus bandwidth utilization by grouping cache write-backs | |
US8990537B2 (en) | System and method for robust and efficient free chain management | |
CN109324761A (zh) | 一种数据缓存方法、装置、设备及存储介质 | |
CN108388529A (zh) | 一种外设主动实现与cpu间数据交换的方法 | |
CN102521173A (zh) | 一种自动将缓存在易失介质中的数据写回方法 | |
US11409673B2 (en) | Triggered operations for collective communication | |
WO2021190468A1 (zh) | 一种基于键值缓存***的内存管理方法及装置 | |
US20170192720A1 (en) | Prioritization of order ids in dram scheduling | |
US8694740B2 (en) | Area efficient counters array system and method for updating counters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |