CN111597125A - 一种非易失内存文件系统索引节点的磨损均衡方法及系统 - Google Patents
一种非易失内存文件系统索引节点的磨损均衡方法及系统 Download PDFInfo
- Publication number
- CN111597125A CN111597125A CN202010394802.0A CN202010394802A CN111597125A CN 111597125 A CN111597125 A CN 111597125A CN 202010394802 A CN202010394802 A CN 202010394802A CN 111597125 A CN111597125 A CN 111597125A
- Authority
- CN
- China
- Prior art keywords
- index node
- physical page
- domain
- storage
- writing
- 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
Images
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及存储设备技术领域,提供一种非易失内存文件系统索引节点的磨损均衡方法,方法包括:对非易失内存文件系统中索引节点以及索引节点所在的存储单元、物理页和存储域的写次数分别进行统计并判断,并根据判断执行域间磨损均衡算法或域内磨损均衡算法,将非易失内存文件系统中索引节点迁至新的存储位置,从而实现在文件系统这一系统软件层面实现磨损均衡机制,实现存储单元之间的磨损率均衡,进而延长设备使用寿命。
Description
技术领域
本发明属于存储设备技术领域,尤其涉及一种非易失内存文件系统索引节点的磨损均衡方法及系统。
背景技术
大数据时代背景下,随着数据量的不断积累和技术的迭代更新,大量新型技术手段被逐渐提出并广泛应用,以此来满足使用者的特殊需求并不断提升用户体验,例如个性化推荐、自动驾驶、虚拟现实等。这些应用场景中存在的普遍特点是用户对响应时延的敏感度较高,这就要求上述应用在使用过程中必须要保证足够低的应用程序响应延迟。而与之相反的是,现有机器学习、图像识别等复杂算法的运行时间较长,无法满足用户对于实时应用的时延需求。现有主流操作系统仍使用基于磁盘介质的文件系统。当需要对大量历史数据进行处理时,受到磁盘介质本身读写带宽较低的限制,使得在数据得到处理之前需要消耗大量的时间用于将其从磁盘读入运行内存,从而极大地增加了算法的运行时间。
新型非易失性内存(Non-Volatile Memory,NVM)的提出为这些复杂技术的广泛应用提供了新的机遇和挑战。一方面,学术界和工业界设计并实现了多个以NVM为存储介质的非易失性内存文件系统。区别于磁盘文件系统,这类文件系统充分利用NVM可字节寻址且可持久化存储的特性,优化了传统面向磁盘设备的I/O软件栈,以提高文件系统的读写性能。替换低速的磁盘设备,而将新型非易失性内存作为文件系统的存储介质,能够极大程度上提高文件系统的读写性能,从而有效降低应用程序的响应时延。
另一方面,新型非易失性内存NVM的缺陷同样不可忽略,与闪存设备相类似,NVM设备上的存储单元在写入新的内容之前,需要首先对已有数据进行擦除,并且这些存储单元存在耐受度限制,也即其可擦除次数是有限的。此外,由于硬件制造工艺的不同,导致NVM设备上的多个存储单元之间可能存在不同的耐受度。这一特点使得写次数相同时,耐受度较低的存储单元往往具有更加严重的磨损程度。
发明内容
针对现有技术中的缺陷,本发明提供了一种非易失内存文件系统索引节点的磨损均衡方法,旨在解决现有技术中非易失内存文件系统的索引节点区域的磨损不均衡,降低了非易失内存文件系统设备的使用寿命。
本发明所提供的技术方案是:一种非易失内存文件系统索引节点的磨损均衡方法,所述方法包括下述步骤:
对非易失内存文件系统中索引节点以及索引节点所在的存储单元、物理页和存储域的写次数分别进行统计;
判断对非易失内存文件系统中索引节点的写次数K是否大于等于预设的写次数阈值;
当判定非易失内存文件系统中索引节点的写次数K大于等于预设的写次数阈值时,执行域间磨损均衡算法,将非易失内存文件系统中索引节点迁至新的存储域;
当判定非易失内存文件系统中索引节点的写次数K小于预设的写次数阈值时,判断所述索引节点所在的存储单元SLOT的写次数是否超过当前所有运行周期内累计所允许的最大写次数;
当判定所述索引节点所在的存储单元SLOT的写次数超过当前所有运行周期内累计所允许的最大写次数时,执行域内磨损均衡算法,将非易失内存文件系统中索引节点迁至当前新的存储域或相邻存储域寻找新的存储位置。
作为一种改进的方案,所述对非易失内存文件系统中索引节点以及索引节点所在的存储单元、物理页和存储域的写次数分别进行统计的步骤之前还包括下述步骤:
根据存储域的个数以及耐受度差异,将索引节点空闲存储单元以多链表的形式进行组织,并配置从所述链表头部开始分配,从所述链表尾部回收。
作为一种改进的方案,所述当判定非易失内存文件系统中索引节点的写次数K大于等于预设的写次数阈值时,执行域间磨损均衡算法,将非易失内存文件系统中索引节点迁至新的存储域的步骤具体包括下述步骤:
判断当前存储域中的索引节点li的写次数是否超过期望写次数最大值;
当判定当前存储域中的索引节点li的写次数超过期望写次数最大值时,计算所述索引节点li的重量因子;
根据根据与预先创建的存储域匹配算法,计算与所述索引节点li的重量因子相匹配的存储域;
当计算得到与所述索引节点li的重量因子相匹配的存储域时,控制将所述索引节点li迁移至计算得到的所述存储区;
当判定当前存储域中的索引节点li的写次数未超过期望写次数最大值时,则返回继续判断。
作为一种改进的方案,所述当判定所述索引节点所在的存储单元SLOT的写次数超过当前所有运行周期内累计所允许的最大写次数时,执行域内磨损均衡算法,将非易失内存文件系统中索引节点迁至当前新的存储域或相邻存储域寻找新的存储位置的步骤具体包括下述步骤:
当判定所述索引节点所在的存储单元SLOT的写次数超过当前所有运行周期内累计所允许的最大写次数时,查找并判断在所述索引节点所在的存储域内是否存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页;
当所述索引节点所在的存储域内存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页时,将所述索引节点迁移至查找到的写次数最少的物理页上,同时对两个物理页的索引节点进行交换更新;
当所述索引节点所在的存储域内不存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页时,查找判断所述索引节点所在的存储域内是否存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页;
当所述索引节点所在的存储域内存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页时,将所述索引节点迁移至查找到的物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页上,同时对两个物理页的索引节点进行交换更新;
当所述索引节点所在的存储域内不存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页时,则在当前的存储域的相邻存储域中,按照存储域所有物理页写次数的平均值和在运行周期内累计的所允许最大写次数的方式查找物理页,并将索引节点迁移至对应的物理页上。
本发明的另一目的在于提供一种非易失内存文件系统索引节点的磨损均衡系统,其特征在于,所述系统包括:
写次数统计模块,用于对非易失内存文件系统中索引节点以及索引节点所在的存储单元、物理页和存储域的写次数分别进行统计;
第一写次数判断模块,用于判断对非易失内存文件系统中索引节点的写次数K是否大于等于预设的写次数阈值;
域间均衡处理模块,用于当判定非易失内存文件系统中索引节点的写次数K大于等于预设的写次数阈值时,执行域间磨损均衡算法,将非易失内存文件系统中索引节点迁至新的存储域;
第二写次数判断模块,用于当判定非易失内存文件系统中索引节点的写次数K小于预设的写次数阈值时,判断所述索引节点所在的存储单元SLOT的写次数是否超过当前所有运行周期内累计所允许的最大写次数;
域内均衡处理模块,用于当判定所述索引节点所在的存储单元SLOT的写次数超过当前所有运行周期内累计所允许的最大写次数时,执行域内磨损均衡算法,将非易失内存文件系统中索引节点迁至当前新的存储域或相邻存储域寻找新的存储位置。
作为一种改进的方案,所述系统还包括:
链表处理模块,用于根据存储域的个数以及耐受度差异,将索引节点空闲存储单元以多链表的形式进行组织,并配置从所述链表头部开始分配,从所述链表尾部回收。
作为一种改进的方案,所述域间均衡处理模块具体包括下述步骤:
第三写次数判断模块,用于判断当前存储域中的索引节点li的写次数是否超过期望写次数最大值;
重量因子计算模块,用于当判定当前存储域中的索引节点li的写次数超过期望写次数最大值时,计算所述索引节点li的重量因子;
存储域计算模块,用于根据根据与预先创建的存储域匹配算法,计算与所述索引节点li的重量因子相匹配的存储域;
第一索引节点迁移模块,用于当计算得到与所述索引节点li的重量因子相匹配的存储域时,控制将所述索引节点li迁移至计算得到的所述存储区;
当判定当前存储域中的索引节点li的写次数未超过期望写次数最大值时,则返回继续判断。
作为一种改进的方案,所述域内均衡处理模块具体包括:
第四写次数判断模块,用于当判定所述索引节点所在的存储单元SLOT的写次数超过当前所有运行周期内累计所允许的最大写次数时,查找并判断在所述索引节点所在的存储域内是否存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页;
第二索引节点迁移模块,用于当所述索引节点所在的存储域内存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页时,将所述索引节点迁移至查找到的写次数最少的物理页上,同时对两个物理页的索引节点进行交换更新;
第五写次数判断模块,用于当所述索引节点所在的存储域内不存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页时,查找判断所述索引节点所在的存储域内是否存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页;
第三索引节点迁移模块,用于当所述索引节点所在的存储域内存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页时,将所述索引节点迁移至查找到的物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页上,同时对两个物理页的索引节点进行交换更新;
相邻存储域处理模块,用于当所述索引节点所在的存储域内不存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页时,则在当前的存储域的相邻存储域中,按照存储域所有物理页写次数的平均值和在运行周期内累计的所允许最大写次数的方式查找物理页,并将索引节点迁移至对应的物理页上。
在本发明实施例中,对非易失内存文件系统中索引节点以及索引节点所在的存储单元、物理页和存储域的写次数分别进行统计并判断,并根据判断执行域间磨损均衡算法或域内磨损均衡算法,将非易失内存文件系统中索引节点迁至新的存储位置,从而实现在文件系统这一系统软件层面实现磨损均衡机制,实现存储单元之间的磨损率均衡,进而延长设备使用寿命。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1是本发明提供的非易失内存文件系统索引节点的磨损均衡方法的实现流程图;
图2是本发明提供的多链表的结构示意图;
图3是本发明提供的当判定非易失内存文件系统中索引节点的写次数K大于等于预设的写次数阈值时,执行域间磨损均衡算法,将非易失内存文件系统中索引节点迁至新的存储域的实现流程图;
图4是本发明提供的当判定所述索引节点所在的存储单元SLOT的写次数超过当前所有运行周期内累计所允许的最大写次数时,执行域内磨损均衡算法,将非易失内存文件系统中索引节点迁至当前新的存储域或相邻存储域寻找新的存储位置的实现流程图;
图5是本发明提供的非易失内存文件系统索引节点的磨损均衡系统的结构框图;
图6是本发明提供的域间均衡处理模块的结构框图;
图7是本发明提供的域内均衡处理模块的结构框图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的、技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
图1示出了本发明提供的非易失内存文件系统索引节点的磨损均衡方法的实现流程图,所述方法包括下述步骤:
在步骤S101中,对非易失内存文件系统中索引节点以及索引节点所在的存储单元、物理页和存储域的写次数分别进行统计;
在步骤S102中,判断对非易失内存文件系统中索引节点的写次数K是否大于等于预设的写次数阈值,是则执行步骤S103,否则执行步骤S104;
该写次数阈值为预设值,可根据实际的需求进行设置,在此不再赘述。
在步骤S103中,当判定非易失内存文件系统中索引节点的写次数K大于等于预设的写次数阈值时,执行域间磨损均衡算法,将非易失内存文件系统中索引节点迁至新的存储域;
在步骤S104中,当判定非易失内存文件系统中索引节点的写次数K小于预设的写次数阈值时,判断所述索引节点所在的存储单元SLOT的写次数是否超过当前所有运行周期内累计所允许的最大写次数,是则执行步骤S105,否则结束;
在步骤S105中,当判定所述索引节点所在的存储单元SLOT的写次数超过当前所有运行周期内累计所允许的最大写次数时,执行域内磨损均衡算法,将非易失内存文件系统中索引节点迁至当前新的存储域或相邻存储域寻找新的存储位置。
在该实施例中,文件系统初始化阶段,首先划分1%的空间用于保存索引节点,也称为元数据区域。其次,按照4MB的大小将元数据区域划分为多个连续且耐受度递增的存储域,存储域耐受度的分布范围是[1×106,3×108,且服从线性分布。
对非易失内存文件系统中索引节点以及索引节点所在的存储单元、物理页和存储域的写次数分别进行统计的步骤之前还包括下述步骤:
根据存储域的个数以及耐受度差异,将索引节点空闲存储单元以多链表的形式进行组织,并配置从所述链表头部开始分配,从所述链表尾部回收,具体结构参考图2所示。
由于文件系统在创建索引节点时,无法得知该索引节点在后续时间内的访问和更新热度情况,因此创建文件时默认以“轮询”的方式在多个空闲链表中分配新的索引节点,以保证不同存储域内所保存的索引节点数量大致相同。对应地,删除索引节点时则根据该存储单元的物理地址将其回收至对应的链表即可。同时,为了避免上述单链表中存在的头尾节点磨损不一致的问题,该策略中采取了“头部分配,尾部回收”的方案,以尽可能缓解磨损不均衡现象。
区别于基于单链表的分配管理策略,存储域差异感知的空间管理策略能够在一定程度上缓解索引节点磨损不均衡问题,并且能够有效降低单链表结构中出现资源冲突的可能性。由于文件系统的存储域个数较少,因此多链表方案所引入的管理开销可忽略不计。
文件系统需要为每个索引节点、存储单元(Slot)、物理页(Page)以及存储域(Storage Domain)建立计数器,以保存其写次数。因此在文件系统初始化阶段,首先需要为这些计数器分配对应的存储空间。这些计数器默认保存在运行内存DRAM中,不存在写次数限制或磨损不均衡问题。当文件个数为100万时,保存这些计数器所需要的内存空间大小仅约为8.13MB,空闲开销较小,且这些计数器所在的内存存储域不存在耐受度受限的问题。
为了能够得到尽可能理想的磨损均衡效果,同时排除不同索引节点分配方案对方磨损分布结果的影响,本文将存储域差异感知的空间管理策略实现在文件系统中,也即采用“多链表+轮询”的方式实现空闲索引节点的管理和分配。文件系统初始化阶段,每个存储域内的所有存储单元以单链表的形式进行组织,也即空闲链表的个数等于元数据区域所包含存储域的个数。当需要分配新的索引节点时,优先从剩余节点数量最少的链表中进行分配。默认情况下,为了尽可能避免对链表头部节点造成过多的磨损,分配操作从链表头部进行,而回收操作则将索引节点回收至链表尾部。在基于树形索引节点组织结构的文件系统中,可通过位置标记的形式实现同等效果,而无须对多链表进行显式管理。
为了便于说明,下表给出了下述具体用到的参数:
在本发明实施例中,如图3所示,当判定非易失内存文件系统中索引节点的写次数K大于等于预设的写次数阈值时,执行域间磨损均衡算法,将非易失内存文件系统中索引节点迁至新的存储域的步骤具体包括下述步骤:
在步骤S201中,判断当前存储域中的索引节点li的写次数是否超过期望写次数最大值,是则执行步骤S202,否则执行步骤S205;
其中,首先定义WBL(Write budget line)的概念,WBL是一个可修改的磨损率参数。该参数和存储域耐受度的乘积可用来表示一段时间内某个存储域(dj)所允许的最大磨损次数,记为WBj(Write budget)。
给定WBL参数(如X%),耐受度不同的存储域所能够承受的磨损次数也不同。耐受度较高的存储域能够承受的磨损次数较多,反之则较少。因此为了使得多个存储域能够始终保持同等水平的磨损率,需要通过索引节点的迁移操作,使得各个存储域所承受的写次数不同。
一方面,由于不同应用程序所造成的索引节点访问冷热程度不同,并且访问热度较高的索引节点不能够总是被预先分配至耐受度较高的存储单元,因此Contour动态地将索引节点的访问热度与存储域的耐受度差异进行匹配,从而得以在存储域之间完成索引节点的迁移操作。另一方面,为了避免对单个存储域造成过度磨损,若某一存储域的写次数超出WBL参数所允许的最大值,则在后续的运行周期内限制对该存储域的写操作,进而将该存储域内的索引节点迁出,以达到均衡的目的。
每一次索引节点迁移均会对非易失性存储设备造成额外的磨损次数,因此在实现磨损均衡的过程中,应尽量减少索引节点迁移的次数。对于文件系统中磨损次数最多的索引节点,应尽可能地将其迁移至耐受度较高的存储域,以避免后续的额外迁移。根据索引节点的潜在磨损热度以及存储域上所允许的剩余写次数将两者进行匹配,从而在后续的每一次的迁移过程中始终将索引节点迁移至与其匹配的存储域中去,进而在实现存储域层面磨损均衡的基础上,尽可能减少迁移所带来的磨损和性能开销。
在步骤S202中,当判定当前存储域中的索引节点li的写次数超过期望写次数最大值时,计算所述索引节点li的重量因子;
为了能够有效区分不同的索引节点访问模式,首先使用写频率来标识索引节点的更新热度。索引节点Ii在时钟周期T内的写频率记为DFT(Ii),时钟周期的时间长度设置为t。时钟周期T后文件系统中所有索引节点的平均更新频率用表示:
其中,表示时钟周期T内全部索引节点的总更新次数,的初始值为0,借助索引节点更新频率和平均更新频率,可通过下述公式计算索引节点的重量因子(Critical factor),以此来表示索引节点Ii在当前所有索引节点中的“重要”程度;
如果某个索引节点的更新频率远高于当前的平均更新频率,也即远大于1,那么可以近似地认为该索引节点在接下来的时钟周期内将会对其所在的存储单元产生相对较高的磨损,也即该索引节点应当被迁移到耐受度更高的存储域,因此以时钟周期为单位,可根据计算得到的重量因子将每个索引节点匹配至耐受度合适的存储域,并且当某个索引节点的重量因子增加至一定程度时,可通过将其迁移至耐受度更高的存储域来避免潜在的磨损。
在该时钟周期内,若索引节点Ii的写次数超过期望的最大值时,文件系统选择迁移该索引节点。以时钟周期T为单位,单个索引节点所期望的写次数(记为WIT(Ii)max)最大值为当文件系统内的某个索引节点在单个时钟周期内的写磨损次数超过期望的最大值,则立即重新计算该索引节点的重量因子,并为其匹配新的存储域。此时该索引节点的重量因子计算公式为:
其中,Δti表示当前时钟周期T内经过的时间长度。计算得到该索引节点最新的重量因子之后,即可通过上述公式重新匹配新的存储域,并由文件系统自动完成迁移过程。
在步骤S203中,根据根据与预先创建的存储域匹配算法,计算与所述索引节点li的重量因子相匹配的存储域;
在该步骤中,该预先创建的存储域匹配算法为:
对于包含有N个具有不同耐受度存储域的文件系统,可设置N个对应的重量因子存储域。文件系统内的每个索引节点可根据其重量因子所在的数值范围进行匹配,其具体的实现如下:
其中,Aj(j=1,2,...,N)表示索引节点重量因子的多个划分存储域,存储域划分的依据可通过对每个存储域的可磨损次数进行归一化得到,具体过程如下:
(1)首先以存储域为单位,计算所有存储域的平均可磨损次数,并将其作为基准值;
(2)其次按照基准值,对每个存储域的可磨损次数从小到大进行归一化,第j个存储域归一化之后的值记为NWBj;
(3)最后根据归一化的结果,设置每个存储域对应的重量因子范围。其中Aj=(NWBj-1,NWBj],A0=[0,NWBj],AN=(NWBN-1,+∞]。
在该步骤中,通过归一化存储域的可磨损次数得到了重量因子划分范围,并根据索引节点的重量因子来实现索引节点与存储域的一一匹配。默认情况下,当索引节点的重量因子始终保持在当前存储域所对应的权重范围时,也即其重量因子满足条件时,可认为该索引节点暂时不需要被迁移。
在步骤S204中,当计算得到与所述索引节点li的重量因子相匹配的存储域时,控制将所述索引节点li迁移至计算得到的所述存储区;
在步骤S205中,当判定当前存储域中的索引节点li的写次数未超过期望写次数最大值时,则返回继续判断。
在该实施例中,通过归一化存储域的可磨损次数得到了重量因子划分范围,并根据索引节点的重量因子来实现索引节点与存储域的一一匹配。默认情况下,当索引节点的重量因子始终保持在当前存储域所对应的权重范围时,也即其重量因子满足条件时,可认为该索引节点暂时不需要被迁移。
在上述域间磨损均衡机制中,使用WBL参数来控制多个存储域写磨损的均衡分布,该参数以运行周期(Round)为单位进行设置。当所有存储域的剩余可磨损次数低于某个阈值(如5%)时进入下一个运行周期。通常一个运行周期包含有多个时钟周期。对于每一个新的运行周期,首先需要根据历史运行情况来计算每个存储域在接下来的周期内的可磨损次数及其总和,计算方法如公式为:
另外,需要加以说明的是,由于任何方案都无法保证磨损分布在任意时刻都是绝对均衡的,因此参数WBL存在的主要意义在于使得多个存储域的磨损率以某种粒度(或步长)来进行均衡。理论上讲,该参数越小,则能够实现的均衡效果就越好,反之则均衡效果相对较差。
在本发明实施例中,如图4所示,当判定所述索引节点所在的存储单元SLOT的写次数超过当前所有运行周期内累计所允许的最大写次数时,执行域内磨损均衡算法,将非易失内存文件系统中索引节点迁至当前新的存储域或相邻存储域寻找新的存储位置的步骤具体包括下述步骤:
在步骤S301中,当判定所述索引节点所在的存储单元SLOT的写次数超过当前所有运行周期内累计所允许的最大写次数时,查找并判断在所述索引节点所在的存储域内是否存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页,是则执行步骤S302,否则执行步骤S303;
在步骤S302中,当所述索引节点所在的存储域内存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页时,将所述索引节点迁移至查找到的写次数最少的物理页上,同时对两个物理页的索引节点进行交换更新;
在步骤S303中,当所述索引节点所在的存储域内不存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页时,查找判断所述索引节点所在的存储域内是否存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页,是则执行步骤S304,否则执行步骤S305;
在步骤S304中,当所述索引节点所在的存储域内存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页时,将所述索引节点迁移至查找到的物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页上,同时对两个物理页的索引节点进行交换更新;
在步骤S305中,当所述索引节点所在的存储域内不存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页时,则在当前的存储域的相邻存储域中,按照存储域所有物理页写次数的平均值和在运行周期内累计的所允许最大写次数的方式查找物理页,并将索引节点迁移至对应的物理页上。
在该实施例中,单个存储域内所有索引节点存储单元均具有相同的耐受度。存储域内的磨损均衡意味着所有存储单元(Slot)均承受了相同的写次数,也即具有相同的磨损率。因此,可将存储域内部的磨损均衡问题定义如下:给定N个索引节点和Np个物理页,其中每个物理页均包含N_s个耐受度相同的存储单元,求这些索引节点应如何分布,才能使得写磨损在存储域内分布均衡,也即所有物理页写次数(或写磨损率)的标准差最小。
由于文件系统运行过程中每个索引节点的写次数可能是实时变化的,并且索引节点的访问冷热程度可能会随时间的变化而不同,因此无法通过静态的“背包问题”来解决,而是需要借助索引节点的动态迁移,来实现存储域内部的写次数均衡分布。首先给出如下两点分析:
第一,为了尽可能限制迁移操作的次数,当某个存储单元的累计写次数低于其在运行周期内所允许的最大写次数时,文件系统不应主动迁移该存储单元上保存的索引节点;
第二,索引节点迁移后,对该索引节点的更新操作将会对新的存储位置产生进一步地磨损。因此在迁移过程中,应同时考虑存储单元的磨损情况和索引节点的访问特征,尽可能地为其选择适合的位置,以达到理想的磨损均衡效果。
在本发明实施例中,该域内磨损均衡算法中,使用当前存储域内所有物理页写次数的平均值作为基准值,记为WPavg。其主要目标是尽可能地将存储域内所有物理页的写次数与WPavg保持一致。
在域内磨损均衡算法当中,对于某个索引节点Ii,首先需要判断其所在的存储单元是否处于“过磨损”的状态,也即当前存储单元上的累计写次数是否已经超过了其在运行周期内所允许的最大写次数。使用阈值α作为判断依据,其计算方法如下所示:
对于单个存储域,阈值α表示当前存储域内每个存储单元在过去的所有周期内累计的所允许最大写次数。若某个存储单元的写次数超过该阈值,则认为当前存储单元存在“过磨损”的情况。此时认为该存储单元上保存的索引节点理应被迁移至当前存储域内其他的存储单元上。
域内磨损均衡算法将:当前存储域内所有物理页写次数的平均值WPavg和保存索引节点Ii的存储单元的累计写次数WS(Ii)作为输入参数,首先判断当前存储单元是否处于“过磨损”状态,若存储单元的累计写次数WS(Ii)超过了阈值α,则表示索引节点Ii应被迁移。为索引节点Ii寻找一个适合的存储单元以完成迁移操作。域内磨损均衡算法中,以运行周期为单位计算阈值α,并且该阈值在运行周期内部保持不变。上述迁移算法在最差情况下需要对存储域内保存的全部索引节点进行迁移,因此该算法的时间复杂度应为O(Np·Ns),其中Np和Ns分别为单个存储域内物理页的个数和单个物理页内存储单元的个数。
在本发明实施例中,域内磨损均衡算法中,若索引节点所在的存储域已经处于“过磨损”状态,也即该存储域的累计写次数大于磨损率参数WBL控制下的最大允许写次数时,算法主动将对应的索引节点迁移至相邻存储域,以避免对单个存储域的过度磨损。选择目标存储域时采用的算法是存储域最优匹配算法。
域间磨损均衡算法中也存在对该匹配算法的调用,若第j个存储域(dj)在某一周期内的累计写次数超出最大值限制,导致该存储域在后续运行周期内的可用写次数为0,则根据存储域归一化结果可得出,每一次对该存储域内索引节点的更新操作均会触发存储域之间的迁移。因此,为了避免所有索引节点全部迁移至耐受度最低的第0个存储域,文件系统采用了上述存储域最优匹配算法,以使得写磨损尽可能地均衡分布在相邻的位置上。
域间磨损均衡算法的输入是索引节点当前所在的存储域cur_domain,输出则为迁移操作的目标存储域target_domain。该算法的主要目的是在相邻的存储域中为索引节点选择合适存储位置,因此查找过程从当前存储域首先向耐受度增加的方向进行遍历。
对于剩余可写次数大于0的存储域,若该存储域内存在空闲的索引节点存储单元,且该存储单元未处于“过磨损”状态时,则表示算法已匹配到合适的目标存储域,返回且查询过程结束。若未找到满足条件的存储域,则向耐受度减少的方向进行遍历,遍历过程同理。这样的做法使得算法能够尽可能地将索引节点迁移至当前磨损率较低的物理存储域,从而实现均衡的效果。
在本发明实施例中,在磨损均衡算法中,域间磨损均衡算法US负责将索引节点与存储域进行动态匹配,并根据匹配结果完成存储域之间的索引节点迁移过程。其中存储域的权重区间划分以运行周期为单位。新的运行周期开始时,首先根据历史磨损情况为每个存储域计算下一个周期内所允许的写次数,并通过归一化得到权重划分存储域。基于树形索引结构的文件系统,运行过程中可能涉及到存储域的动态分配,因此需要在分配新的存储域时执行归一化操作并重新调整权重划分。
域间磨损均衡算法中将时钟周期的时间长度设置为10s。也即文件系统初始化完成后,立即启动一个名为period_kthread的内核线程,该线程以10s为间隔,记录当前周期后文件系统内所有索引节点的平均更新频率_之后以该数值作为基准,当某个索引节点的更新频率/更新次数达到最大阈值时,文件系统自动为该索引节点计算新的重量因子,并重新匹配适合的存储域,以触发迁移过程。
域内磨损均衡算法主要负责单个存储域内多个存储单元的磨损均衡。在对索引节点不断更新的过程中,一旦其所在的存储单元处于“过磨损”状态,则为其寻找新的保存位置,并触发迁移。
图5示出了本发明提供的非易失内存文件系统索引节点的磨损均衡系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
写次数统计模块11,用于对非易失内存文件系统中索引节点以及索引节点所在的存储单元、物理页和存储域的写次数分别进行统计;
第一写次数判断模块12,用于判断对非易失内存文件系统中索引节点的写次数K是否大于等于预设的写次数阈值;
域间均衡处理模块13,用于当判定非易失内存文件系统中索引节点的写次数K大于等于预设的写次数阈值时,执行域间磨损均衡算法,将非易失内存文件系统中索引节点迁至新的存储域;
第二写次数判断模块14,用于当判定非易失内存文件系统中索引节点的写次数K小于预设的写次数阈值时,判断所述索引节点所在的存储单元SLOT的写次数是否超过当前所有运行周期内累计所允许的最大写次数;
域内均衡处理模块15,用于当判定所述索引节点所在的存储单元SLOT的写次数超过当前所有运行周期内累计所允许的最大写次数时,执行域内磨损均衡算法,将非易失内存文件系统中索引节点迁至当前新的存储域或相邻存储域寻找新的存储位置。
在该实施例中,所述系统还包括:
链表处理模块16,用于根据存储域的个数以及耐受度差异,将索引节点空闲存储单元以多链表的形式进行组织,并配置从所述链表头部开始分配,从所述链表尾部回收。
如图6所示,所述域间均衡处理模块具体包括下述步骤:
第三写次数判断模块17,用于判断当前存储域中的索引节点li的写次数是否超过期望写次数最大值;
重量因子计算模块18,用于当判定当前存储域中的索引节点li的写次数超过期望写次数最大值时,计算所述索引节点li的重量因子;
存储域计算模块19,用于根据根据与预先创建的存储域匹配算法,计算与所述索引节点li的重量因子相匹配的存储域;
第一索引节点迁移模块20,用于当计算得到与所述索引节点li的重量因子相匹配的存储域时,控制将所述索引节点li迁移至计算得到的所述存储区;
当判定当前存储域中的索引节点li的写次数未超过期望写次数最大值时,则返回继续判断。
如图7所示,所述域内均衡处理模块具体包括:
第四写次数判断模块21,用于当判定所述索引节点所在的存储单元SLOT的写次数超过当前所有运行周期内累计所允许的最大写次数时,查找并判断在所述索引节点所在的存储域内是否存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页;
第二索引节点迁移模块22,用于当所述索引节点所在的存储域内存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页时,将所述索引节点迁移至查找到的写次数最少的物理页上,同时对两个物理页的索引节点进行交换更新;
第五写次数判断模块23,用于当所述索引节点所在的存储域内不存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页时,查找判断所述索引节点所在的存储域内是否存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页;
第三索引节点迁移模块24,用于当所述索引节点所在的存储域内存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页时,将所述索引节点迁移至查找到的物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页上,同时对两个物理页的索引节点进行交换更新;
相邻存储域处理模块25,用于当所述索引节点所在的存储域内不存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页时,则在当前的存储域的相邻存储域中,按照存储域所有物理页写次数的平均值和在运行周期内累计的所允许最大写次数的方式查找物理页,并将索引节点迁移至对应的物理页上。
在本发明实施例中,上述各个模块的功能如上述方法实施例所记载,在此不再赘述。
在本发明实施例中,对非易失内存文件系统中索引节点以及索引节点所在的存储单元、物理页和存储域的写次数分别进行统计并判断,并根据判断执行域间磨损均衡算法或域内磨损均衡算法,将非易失内存文件系统中索引节点迁至新的存储位置,从而实现在文件系统这一系统软件层面实现磨损均衡机制,其具有如下技术效果:
(1)根据存储域的个数及其耐受度差异,将索引节点空闲存储单元以多链表的形式进行组织,并且默认从链表头部分配,从链表尾部回收,从而实现管理分配策略对域间耐受度差异的感知,该策略能够一定程度上缓解由传统单链表管理策略所导致的头尾磨损分布不均问题,并提升操作效率;
(2)以磨损率参数WBL为步长,周期性进行磨损率均衡。在单个运行周期内,根据WBL参数为每个存储域设定最大允许的写次数。若某一周期内累计写次数超过限定的最大值,则在后续周期内使用最优匹配算法,将当前存储域上的索引节点迁移至相邻的存储域,从而保证多个耐受度不同的存储域在长时间运行后具有同等水平的磨损率;
(3)访问热度较高的索引节点,应尽可能保存在耐受度较高的存储域。本发明使用归一化权重的方法将索引节点与存储域进行动态匹配。其中索引节点按照其更新频率,计算得到当前索引节点在全部索引节点中的权重,而存储域则按照其在当前周期内所允许的最大写次数进行归一化并求得权重。通过将两者的权重进行动态匹配,得以通过尽可能少的迁移次数实现索引节点的跨存储域迁移;
(4)当某个存储域处于“过磨损”状态时,存储域最优匹配算法依次按照耐受度递增和递减的方向进行遍历,以尽可能地在相邻的存储域中为索引节点寻找最优的存储位置。该算法使得大量写操作能够被优先分配到耐受度较高的存储域,并且避免对单个存储域的过度磨损。
以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (8)
1.一种非易失内存文件系统索引节点的磨损均衡方法,其特征在于,所述方法包括下述步骤:
对非易失内存文件系统中索引节点以及索引节点所在的存储单元、物理页和存储域的写次数分别进行统计;
判断对非易失内存文件系统中索引节点的写次数K是否大于等于预设的写次数阈值;
当判定非易失内存文件系统中索引节点的写次数K大于等于预设的写次数阈值时,执行域间磨损均衡算法,将非易失内存文件系统中索引节点迁至新的存储域;
当判定非易失内存文件系统中索引节点的写次数K小于预设的写次数阈值时,判断所述索引节点所在的存储单元SLOT的写次数是否超过当前所有运行周期内累计所允许的最大写次数;
当判定所述索引节点所在的存储单元SLOT的写次数超过当前所有运行周期内累计所允许的最大写次数时,执行域内磨损均衡算法,将非易失内存文件系统中索引节点迁至当前新的存储域或相邻存储域寻找新的存储位置。
2.根据权利要求1所述的非易失内存文件系统索引节点的磨损均衡方法,其特征在于,所述对非易失内存文件系统中索引节点以及索引节点所在的存储单元、物理页和存储域的写次数分别进行统计的步骤之前还包括下述步骤:
根据存储域的个数以及耐受度差异,将索引节点空闲存储单元以多链表的形式进行组织,并配置从所述链表头部开始分配,从所述链表尾部回收。
3.根据权利要求1所述的非易失内存文件系统索引节点的磨损均衡方法,其特征在于,所述当判定非易失内存文件系统中索引节点的写次数K大于等于预设的写次数阈值时,执行域间磨损均衡算法,将非易失内存文件系统中索引节点迁至新的存储域的步骤具体包括下述步骤:
判断当前存储域中的索引节点li的写次数是否超过期望写次数最大值;
当判定当前存储域中的索引节点li的写次数超过期望写次数最大值时,计算所述索引节点li的重量因子;
根据根据与预先创建的存储域匹配算法,计算与所述索引节点li的重量因子相匹配的存储域;
当计算得到与所述索引节点li的重量因子相匹配的存储域时,控制将所述索引节点li迁移至计算得到的所述存储区;
当判定当前存储域中的索引节点li的写次数未超过期望写次数最大值时,则返回继续判断。
4.根据权利要求3所述的非易失内存文件系统索引节点的磨损均衡方法,其特征在于,所述当判定所述索引节点所在的存储单元SLOT的写次数超过当前所有运行周期内累计所允许的最大写次数时,执行域内磨损均衡算法,将非易失内存文件系统中索引节点迁至当前新的存储域或相邻存储域寻找新的存储位置的步骤具体包括下述步骤:
当判定所述索引节点所在的存储单元SLOT的写次数超过当前所有运行周期内累计所允许的最大写次数时,查找并判断在所述索引节点所在的存储域内是否存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页;
当所述索引节点所在的存储域内存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页时,将所述索引节点迁移至查找到的写次数最少的物理页上,同时对两个物理页的索引节点进行交换更新;
当所述索引节点所在的存储域内不存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页时,查找判断所述索引节点所在的存储域内是否存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页;
当所述索引节点所在的存储域内存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页时,将所述索引节点迁移至查找到的物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页上,同时对两个物理页的索引节点进行交换更新;
当所述索引节点所在的存储域内不存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页时,则在当前的存储域的相邻存储域中,按照存储域所有物理页写次数的平均值和在运行周期内累计的所允许最大写次数的方式查找物理页,并将索引节点迁移至对应的物理页上。
5.一种非易失内存文件系统索引节点的磨损均衡系统,其特征在于,所述系统包括:
写次数统计模块,用于对非易失内存文件系统中索引节点以及索引节点所在的存储单元、物理页和存储域的写次数分别进行统计;
第一写次数判断模块,用于判断对非易失内存文件系统中索引节点的写次数K是否大于等于预设的写次数阈值;
域间均衡处理模块,用于当判定非易失内存文件系统中索引节点的写次数K大于等于预设的写次数阈值时,执行域间磨损均衡算法,将非易失内存文件系统中索引节点迁至新的存储域;
第二写次数判断模块,用于当判定非易失内存文件系统中索引节点的写次数K小于预设的写次数阈值时,判断所述索引节点所在的存储单元SLOT的写次数是否超过当前所有运行周期内累计所允许的最大写次数;
域内均衡处理模块,用于当判定所述索引节点所在的存储单元SLOT的写次数超过当前所有运行周期内累计所允许的最大写次数时,执行域内磨损均衡算法,将非易失内存文件系统中索引节点迁至当前新的存储域或相邻存储域寻找新的存储位置。
6.根据权利要求5所述的非易失内存文件系统索引节点的磨损均衡系统,其特征在于,所述系统还包括:
链表处理模块,用于根据存储域的个数以及耐受度差异,将索引节点空闲存储单元以多链表的形式进行组织,并配置从所述链表头部开始分配,从所述链表尾部回收。
7.根据权利要求5所述的非易失内存文件系统索引节点的磨损均衡系统,其特征在于,所述域间均衡处理模块具体包括下述步骤:
第三写次数判断模块,用于判断当前存储域中的索引节点li的写次数是否超过期望写次数最大值;
重量因子计算模块,用于当判定当前存储域中的索引节点li的写次数超过期望写次数最大值时,计算所述索引节点li的重量因子;
存储域计算模块,用于根据根据与预先创建的存储域匹配算法,计算与所述索引节点li的重量因子相匹配的存储域;
第一索引节点迁移模块,用于当计算得到与所述索引节点li的重量因子相匹配的存储域时,控制将所述索引节点li迁移至计算得到的所述存储区;
当判定当前存储域中的索引节点li的写次数未超过期望写次数最大值时,则返回继续判断。
8.根据权利要求7所述的非易失内存文件系统索引节点的磨损均衡系统,其特征在于,所述域内均衡处理模块具体包括:
第四写次数判断模块,用于当判定所述索引节点所在的存储单元SLOT的写次数超过当前所有运行周期内累计所允许的最大写次数时,查找并判断在所述索引节点所在的存储域内是否存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页;
第二索引节点迁移模块,用于当所述索引节点所在的存储域内存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页时,将所述索引节点迁移至查找到的写次数最少的物理页上,同时对两个物理页的索引节点进行交换更新;
第五写次数判断模块,用于当所述索引节点所在的存储域内不存在物理页写次数低于所述存储域所有物理页写次数的平均值的物理页时,查找判断所述索引节点所在的存储域内是否存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页;
第三索引节点迁移模块,用于当所述索引节点所在的存储域内存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页时,将所述索引节点迁移至查找到的物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页上,同时对两个物理页的索引节点进行交换更新;
相邻存储域处理模块,用于当所述索引节点所在的存储域内不存在物理页写次数低于物理页在运行周期内累计的所允许最大写次数的物理页时,则在当前的存储域的相邻存储域中,按照存储域所有物理页写次数的平均值和在运行周期内累计的所允许最大写次数的方式查找物理页,并将索引节点迁移至对应的物理页上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010394802.0A CN111597125B (zh) | 2020-05-09 | 2020-05-09 | 一种非易失内存文件系统索引节点的磨损均衡方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010394802.0A CN111597125B (zh) | 2020-05-09 | 2020-05-09 | 一种非易失内存文件系统索引节点的磨损均衡方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111597125A true CN111597125A (zh) | 2020-08-28 |
CN111597125B CN111597125B (zh) | 2023-04-25 |
Family
ID=72185286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010394802.0A Active CN111597125B (zh) | 2020-05-09 | 2020-05-09 | 一种非易失内存文件系统索引节点的磨损均衡方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111597125B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113971091A (zh) * | 2021-10-25 | 2022-01-25 | 重庆大学 | 一种考虑制程差异的持久内存的分配方法 |
WO2022048274A1 (zh) * | 2020-09-07 | 2022-03-10 | 长鑫存储技术有限公司 | 测试系统以及测试方法 |
US11380413B2 (en) | 2020-09-07 | 2022-07-05 | Changxin Memory Technologies, Inc. | Test system and test method |
CN116820352A (zh) * | 2023-08-23 | 2023-09-29 | 湖南奔普智能科技有限公司 | 一种具有数据容灾功能的病区自助结算系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050055481A1 (en) * | 2003-09-10 | 2005-03-10 | Super Talent Flash, Inc | Flash drive/reader with serial-port controller and flash-memory controller mastering a second ram-buffer bus parallel to a cpu bus |
US20070106707A1 (en) * | 2005-11-08 | 2007-05-10 | Nec Corporation | File management method for log-structured file system for sequentially adding and storing log of file access |
US20130145085A1 (en) * | 2008-06-18 | 2013-06-06 | Super Talent Technology Corp. | Virtual Memory Device (VMD) Application/Driver with Dual-Level Interception for Data-Type Splitting, Meta-Page Grouping, and Diversion of Temp Files to Ramdisks for Enhanced Flash Endurance |
CN105354152A (zh) * | 2014-08-19 | 2016-02-24 | 华为技术有限公司 | 非易失性存储器及磨损均衡方法 |
CN105930280A (zh) * | 2016-05-27 | 2016-09-07 | 诸葛晴凤 | 一种面向非易失性内存的高效的页面组织和管理方法 |
CN106250320A (zh) * | 2016-07-19 | 2016-12-21 | 诸葛晴凤 | 一种数据一致性及磨损均衡的内存文件系统管理方法 |
CN107016100A (zh) * | 2017-04-10 | 2017-08-04 | 重庆大学 | 一种基于非易失性内存文件系统的元数据管理方法 |
CN107818269A (zh) * | 2017-11-27 | 2018-03-20 | 杭州中天微系统有限公司 | 一种基于Flash的文件保存方法及系统 |
-
2020
- 2020-05-09 CN CN202010394802.0A patent/CN111597125B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050055481A1 (en) * | 2003-09-10 | 2005-03-10 | Super Talent Flash, Inc | Flash drive/reader with serial-port controller and flash-memory controller mastering a second ram-buffer bus parallel to a cpu bus |
US20070106707A1 (en) * | 2005-11-08 | 2007-05-10 | Nec Corporation | File management method for log-structured file system for sequentially adding and storing log of file access |
US20130145085A1 (en) * | 2008-06-18 | 2013-06-06 | Super Talent Technology Corp. | Virtual Memory Device (VMD) Application/Driver with Dual-Level Interception for Data-Type Splitting, Meta-Page Grouping, and Diversion of Temp Files to Ramdisks for Enhanced Flash Endurance |
CN105354152A (zh) * | 2014-08-19 | 2016-02-24 | 华为技术有限公司 | 非易失性存储器及磨损均衡方法 |
CN105930280A (zh) * | 2016-05-27 | 2016-09-07 | 诸葛晴凤 | 一种面向非易失性内存的高效的页面组织和管理方法 |
CN106250320A (zh) * | 2016-07-19 | 2016-12-21 | 诸葛晴凤 | 一种数据一致性及磨损均衡的内存文件系统管理方法 |
CN107016100A (zh) * | 2017-04-10 | 2017-08-04 | 重庆大学 | 一种基于非易失性内存文件系统的元数据管理方法 |
CN107818269A (zh) * | 2017-11-27 | 2018-03-20 | 杭州中天微系统有限公司 | 一种基于Flash的文件保存方法及系统 |
Non-Patent Citations (2)
Title |
---|
杨朝树 等: ""持久化内存文件系统的磨损攻击与防御机制"" * |
鞠高明 等: ""UBIFS闪存文件系统分析与研究"" * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022048274A1 (zh) * | 2020-09-07 | 2022-03-10 | 长鑫存储技术有限公司 | 测试系统以及测试方法 |
US11380413B2 (en) | 2020-09-07 | 2022-07-05 | Changxin Memory Technologies, Inc. | Test system and test method |
CN113971091A (zh) * | 2021-10-25 | 2022-01-25 | 重庆大学 | 一种考虑制程差异的持久内存的分配方法 |
CN113971091B (zh) * | 2021-10-25 | 2024-05-14 | 重庆大学 | 一种考虑制程差异的持久内存的分配方法 |
CN116820352A (zh) * | 2023-08-23 | 2023-09-29 | 湖南奔普智能科技有限公司 | 一种具有数据容灾功能的病区自助结算系统 |
CN116820352B (zh) * | 2023-08-23 | 2023-11-10 | 湖南奔普智能科技有限公司 | 一种具有数据容灾功能的病区自助结算系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111597125B (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134514B (zh) | 基于异构内存的可扩展内存对象存储系统 | |
CN111597125B (zh) | 一种非易失内存文件系统索引节点的磨损均衡方法及系统 | |
CN109196459B (zh) | 一种去中心化的分布式异构存储系统数据分布方法 | |
EP3869316B1 (en) | Hybrid storage | |
US9021231B2 (en) | Storage control system with write amplification control mechanism and method of operation thereof | |
US9098417B2 (en) | Partitioning caches for sub-entities in computing devices | |
EP3388947B1 (en) | Memory resource optimization method and apparatus | |
US9971698B2 (en) | Using access-frequency hierarchy for selection of eviction destination | |
CN105808156A (zh) | 将数据写入固态硬盘的方法及固态硬盘 | |
WO2008026204A2 (en) | Logical super block mapping for nand flash memory | |
US8572321B2 (en) | Apparatus and method for segmented cache utilization | |
CN102880556A (zh) | 一种实现Nand Flash磨损均衡的方法及其系统 | |
CN101419573A (zh) | 一种存储管理的方法、系统和存储设备 | |
CN111930643B (zh) | 一种数据处理方法及相关设备 | |
EP3974974A1 (en) | Virtualization method and system for persistent memory | |
CN112463333A (zh) | 一种基于多线程并发的数据存取方法、装置和介质 | |
US10684964B1 (en) | System and method for reducing read latency in storage devices | |
CN116364148A (zh) | 一种面向分布式全闪存储系统的磨损均衡方法及系统 | |
CN106569728B (zh) | 多磁盘阵列raid共享写缓存的处理方法及装置 | |
CN108897618B (zh) | 一种异构内存架构下基于任务感知的资源分配方法 | |
CN102779017A (zh) | 一种固态盘中数据缓存区的控制方法 | |
CN113867641B (zh) | 主机内存缓冲管理方法、装置、以及固态硬盘 | |
WO2021129847A1 (zh) | 一种内存设置方法以及装置 | |
CN110865768A (zh) | 写缓存资源分配方法、装置、设备以及存储介质 | |
US11797183B1 (en) | Host assisted application grouping for efficient utilization of device resources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |