CN107784121A - Lowercase optimization method of log file system based on nonvolatile memory - Google Patents
Lowercase optimization method of log file system based on nonvolatile memory Download PDFInfo
- Publication number
- CN107784121A CN107784121A CN201711149326.0A CN201711149326A CN107784121A CN 107784121 A CN107784121 A CN 107784121A CN 201711149326 A CN201711149326 A CN 201711149326A CN 107784121 A CN107784121 A CN 107784121A
- Authority
- CN
- China
- Prior art keywords
- data
- page
- update
- metadata
- renewal
- 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
- 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
-
- 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/14—Details of searching files based on file metadata
- G06F16/148—File search processing
- G06F16/152—File search processing using file content signatures, e.g. hash values
-
- 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/17—Details of further file system functions
- G06F16/1727—Details of free space management performed by the file system
-
- 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/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于非易失内存的日志文件系统的性能优化方法。该方法将NVM与DRAM连接到CPU内存总线上,对小数据更新使用原地写从而最小化内存占用,利用小数据日志对要更新的数据进行细粒度的备份,记录下文件最新的所要更改的数据信息;通过一个固定长度的循环缓冲区,存放全局哈希表,记录下每个更新的起始地址,用于下一次原地更新时对这个数据页的快速索引。记录下更新数据页的起始地址,用于下一次对此数据页的快速索引;数据写入完成后,通过更新元数据指向数据块的指针,更新日志tail对这次写进行提交,作为此次操作完成的标记。本发明可以平衡数据一致性开销和性能,减少空间分配成本,避免在小数据更新过程中的写入放大,同时提供强大的数据一致性保证。
The invention relates to a performance optimization method of a log file system based on non-volatile memory. This method connects NVM and DRAM to the CPU memory bus, uses in-place writing for small data updates to minimize memory usage, uses small data logs to perform fine-grained backup of the data to be updated, and records the latest files to be changed Data information; through a fixed-length circular buffer, store the global hash table, record the starting address of each update, and use it for fast indexing of this data page in the next in-place update. Record the starting address of the updated data page for the next quick index of this data page; after the data writing is completed, update the pointer to the data block by updating the metadata, and update the log tail to submit this write as this A marker that the operation is complete. The invention can balance data consistency overhead and performance, reduce space allocation cost, avoid write amplification in the small data update process, and provide strong data consistency guarantee at the same time.
Description
技术领域technical field
本发明涉及基于非易失内存的日志文件系统的性能优化方法,特别是针对小数据更新场景下写性能的优化方法。The invention relates to a performance optimization method of a log file system based on a non-volatile memory, in particular to an optimization method for writing performance in a small data update scenario.
背景技术Background technique
目前正在研究和开发几种非易失性存储器技术(non-volatile memory,NVM),包括相变存储器(PCM)、铁电存储器(FeRAM)、忆阻器(Memristors)、自旋矩传输存储器(STT-RAM)和3D XPoint等。这些NVM具有容量大、集成度高、漏电功耗低、访问速度快、非易失性、可字节寻址等优点。由于NVM既具有DRAM的可字节寻址的特性,又具有磁盘的持久性,数据可以在NVM中实现内存级别的持久化。持久性内存起初通过RAMDISK形式模拟成块设备,以兼容传统文件系统,从而使其受益于内存级别的持久化。然而,传统文件系统并不能完全适用于NVMM,主要有两个原因:首先,传统文件系统由于磁盘的块寻址特性普遍按块来组织和管理数据,当应用于NVM时无法利用NVM的字节寻址来提高系统读写性能。其次,传统文件系统所做的大部分优化都是以磁盘的顺序读写为前提,然而NVM在随机和顺序读写上并没有很大的性能差异。因此,如果针对NVM使用传统文件系统,其数据管理方式将会给系统性能带来冗余和负担。因此,当前的文件系统都越过页缓存直接将NVM通过内存总线接入处理器,由处理器以字节粒度访问NVM,从而构建持久化内存文件系统。Several non-volatile memory technologies (non-volatile memory, NVM) are currently being researched and developed, including phase change memory (PCM), ferroelectric memory (FeRAM), memristors (Memristors), spin torque transfer memory ( STT-RAM) and 3D XPoint, etc. These NVMs have the advantages of large capacity, high integration, low leakage power consumption, fast access speed, non-volatility, and byte addressability. Since NVM has both the byte-addressable characteristics of DRAM and the persistence of disk, data can be persisted at the memory level in NVM. Persistent memory initially simulates block devices in the form of RAMDISK to be compatible with traditional file systems, so that it can benefit from memory-level persistence. However, the traditional file system cannot be fully applied to NVMM for two main reasons: First, due to the block addressing characteristics of the disk, the traditional file system generally organizes and manages data by block, and cannot utilize NVM bytes when applied to NVM. Addressing to improve system read and write performance. Secondly, most of the optimizations done by the traditional file system are based on the sequential read and write of the disk. However, NVM does not have a big performance difference between random and sequential read and write. Therefore, if a traditional file system is used for NVM, its data management method will bring redundancy and burden to system performance. Therefore, the current file systems bypass the page cache and directly connect the NVM to the processor through the memory bus, and the processor accesses the NVM at byte granularity to build a persistent memory file system.
对于持久化内存文件系统来说,CPU绕过DRAM页高速缓存来直接访问NVM,存入NVM的数据必须保证一致性才是有效并且可访问的。而CPU及其缓存层次会对操作进行重排序以提升性能。为了达到这一点,文件系统的操作必须是原子性的,以防止系统在所有操作完成前崩溃产生数据结构处于不一致的状态。目前主流的文件系统采用一些机制来克服崩溃一致性问题,例如journaling,copy-on-write(COW)和日志结构。然而,这几种方法都存在缺陷。Journaling会对每次写操作执行两次以防止数据丢失,COW在对数据进行更新时先复制原有的数据块再进行更改,这对于小的更新来说会产生写放大,日志结构是将更新先进行缓存后,统一写入到目标位置,这在缓存时需要大块的连续空间。For a persistent memory file system, the CPU bypasses the DRAM page cache to directly access the NVM, and the data stored in the NVM must be consistent to be valid and accessible. The CPU and its cache hierarchy reorder operations to improve performance. To achieve this, file system operations must be atomic to prevent the system from crashing and leaving data structures in an inconsistent state before all operations are complete. Currently mainstream file systems use some mechanisms to overcome crash consistency issues, such as journaling, copy-on-write (COW) and log structures. However, these methods have drawbacks. Journaling will perform each write operation twice to prevent data loss. When COW updates data, it first copies the original data block and then makes changes. This will cause write amplification for small updates. The log structure is to update After caching first, write them to the target location uniformly, which requires a large block of continuous space during caching.
此外,通过关注不同场景下文件的存取模式变化,可以发现小文件的读写操作会对文件系统的性能提升产生重要的影响。传统块设备由于块寻址和顺序读写对于小文件的读写和小的更新的性能提升上始终受限。随着NVM的出现,我们就可以应用其字节寻址等性能来重新构造数据布局,优化存取策略,从而实现针对NVM的高性能的文件系统,特别是对于小数据集中更新的应用场景。In addition, by paying attention to the changes in file access modes in different scenarios, it can be found that the read and write operations of small files will have an important impact on the performance improvement of the file system. Due to block addressing and sequential reading and writing, traditional block devices are always limited in terms of performance improvement for small file reading and writing and small updates. With the emergence of NVM, we can use its byte addressing and other properties to reconstruct the data layout and optimize the access strategy, so as to realize a high-performance file system for NVM, especially for the application scenario of updating small data sets.
发明内容Contents of the invention
为了解决上述的技术问题,本发明的目的是提供了一种基于非易失内存的日志文件系统的小写优化方法。该方法将NVM与DRAM连接到CPU内存总线上,对小数据更新使用原地写从而最小化内存占用,利用小数据日志对要更新的数据进行细粒度的备份,记录下文件最新的所要更改的数据信息;通过一个固定长度的循环缓冲区,存放全局哈希表,记录下每个更新的起始地址,用于下一次原地更新时对这个数据页的快速索引。记录下更新数据页的起始地址,用于下一次对此数据页的快速索引;数据写入完成后,通过更新元数据指向数据块的指针,更新日志tail对这次写进行提交,作为此次操作完成的标记。In order to solve the above-mentioned technical problems, the object of the present invention is to provide a lowercase optimization method of a log file system based on non-volatile memory. This method connects NVM and DRAM to the CPU memory bus, uses in-place writing for small data updates to minimize memory usage, uses small data logs to perform fine-grained backup of the data to be updated, and records the latest changes to the file Data information; through a fixed-length circular buffer, store the global hash table, record the starting address of each update, and use it for fast indexing of this data page in the next in-place update. Record the starting address of the updated data page for the next quick index of this data page; after the data writing is completed, update the pointer to the data block by updating the metadata, and update the log tail to submit this write as this A marker that the operation is complete.
本发明解决其技术问题所采用的技术方案是:The technical solution adopted by the present invention to solve its technical problems is:
一种基于非易失内存的日志文件系统的小写优化方法,包括:A lowercase optimization method for a log file system based on non-volatile memory, including:
第一步,系统将NVM与DRAM并列,直接连接到CPU内存总线上,CPU使用load和store来访问NVM,使得NVM存在于内存层次而不是块设备层次,从根本上实现了持久化内存的性能提升;In the first step, the system parallels NVM and DRAM and directly connects them to the CPU memory bus. The CPU uses load and store to access NVM, so that NVM exists at the memory level instead of the block device level, fundamentally realizing the performance of persistent memory promote;
第二步,系统将数据和日志分别以链表结构存放于NVM,每个inode使用单独的日志以支持并发访问。将数据索引以radix tree形式存放于DRAM支持快速查找。数据基于页分配,默认一个数据页的大小为4096字节(4KB);In the second step, the system stores data and logs in NVM in a linked list structure, and each inode uses a separate log to support concurrent access. Store the data index in DRAM in the form of radix tree to support fast search. Data is allocated based on pages, and the default size of a data page is 4096 bytes (4KB);
第三步,当数据有更新操作时,计算此次更新所涉及的数据页数量,当更新大于文件系统的一个数据页大小时,直接跳到第七步;In the third step, when the data is updated, calculate the number of data pages involved in the update. When the update is larger than the size of a data page in the file system, skip directly to the seventh step;
第四步,当更新小于一个数据页大小时,先将元数据记录添加到日志。在DRAM中,我们存放了一个可循环写入的全局哈希表。当首次写单个数据页时,分配一个新的页,在哈希表中记录新数据页的块号和起始地址。当下一次再写此数据页时可通过哈希表快速索引到地址;In the fourth step, when the update is smaller than the size of a data page, first add metadata records to the log. In DRAM, we store a global hash table that can be written cyclically. When writing a single data page for the first time, allocate a new page, and record the block number and starting address of the new data page in the hash table. When writing this data page next time, the address can be quickly indexed through the hash table;
第五步,先对要更新的数据进行细粒度的备份,如果是首次写,即通过块号无法在哈希表中查到数据页地址,则先将原始数据复制到新页,再写入更新数据;若哈希表中可直接索引到数据页地址,则将文件最新的所要更改的数据信息记录到小数据日志备份。然后对数据页进行原地的写更新;The fifth step is to make a fine-grained backup of the data to be updated. If it is the first write, that is, the address of the data page cannot be found in the hash table through the block number, copy the original data to the new page first, and then write Update data; if the address of the data page can be directly indexed in the hash table, then record the latest data information to be changed in the small data log backup. Then write and update the data page in situ;
第六步,更新结束后,更新元数据指向数据块的指针,更新日志tail对这次写进行提交,表示此次更新完成,最后更新元数据索引的指针;Step 6: After the update is complete, update the metadata pointer to the data block, update the log tail to submit this write, indicating that the update is complete, and finally update the pointer to the metadata index;
第七步,对于多个数据页的写更新,先在新分配的空间写入更改部分的数据,再把未更改的原数据复制到新的页面,数据写入结束后,我们更新元数据并将相应的日志entry指向新页面,更新日志tail进行提交,表示此次更新的完成,最后更新元数据索引的指针。The seventh step, for writing and updating multiple data pages, first write the changed part of the data in the newly allocated space, and then copy the unchanged original data to the new page. After the data is written, we update the metadata and Point the corresponding log entry to the new page, update the log tail to submit, indicating the completion of the update, and finally update the pointer of the metadata index.
使用本发明能达到以下有益效果:首先,它充分利用了NVM与传统的存储设备不同的字节寻址特性,构建与DRAM和NVM的混合存储器。其次,本发明可以平衡数据一致性开销和性能,减少空间分配成本,避免在小数据更新过程中的写入放大,提升系统写性能,同时在系统崩溃后提供强大的数据一致性保证。Using the present invention can achieve the following beneficial effects: firstly, it fully utilizes the byte addressing characteristics different from NVM and traditional storage devices, and constructs a hybrid memory with DRAM and NVM. Secondly, the present invention can balance data consistency overhead and performance, reduce space allocation costs, avoid write amplification during small data updates, improve system write performance, and provide strong data consistency guarantees after system crashes.
附图说明Description of drawings
图1是基于非易失内存的日志文件系统的小写流程图;Figure 1 is a lowercase flowchart of a log file system based on non-volatile memory;
图2是小数据更新结构示意图。Fig. 2 is a schematic diagram of a small data update structure.
具体实施方式Detailed ways
参照图1,本发明提供了一种基于非易失内存的日志文件系统的小写优化,包括:With reference to Fig. 1, the present invention provides a kind of lowercase optimization based on the log file system of non-volatile memory, comprising:
第一步,系统将NVM与DRAM并列,直接连接到CPU内存总线上,CPU使用load和store来访问NVM。使用copy_from_user_nocache()接口越过缓存,确保要写的数据在相关元数据修改前进行了持久化;In the first step, the system parallels NVM and DRAM and directly connects it to the CPU memory bus. The CPU uses load and store to access NVM. Use the copy_from_user_nocache() interface to bypass the cache to ensure that the data to be written is persisted before the relevant metadata is modified;
第二步,系统将数据和元数据分别以链表结构存放于NVM,每个inode使用单独的日志以支持并发访问。将元数据索引以radix tree形式存放于DRAM支持快速查找。数据基于页分配,默认一个数据页的大小为4096字节(4KB);In the second step, the system stores data and metadata in NVM in a linked list structure, and each inode uses a separate log to support concurrent access. The metadata index is stored in DRAM in the form of radix tree to support fast search. Data is allocated based on pages, and the default size of a data page is 4096 bytes (4KB);
第三步,当数据有更新操作时,首先计算此次更新所涉及的数据页数量。当更新大于文件系统的一个数据页大小时,直接跳到第七步;In the third step, when there is an update operation on the data, first calculate the number of data pages involved in this update. When the update is larger than a data page size of the file system, skip directly to step 7;
第四步,当更新小于一个数据页大小时,先将元数据记录添加到日志,在DRAM中,有一个可循环写入的全局哈希表。当首次写单个数据页时,分配一个新的页,在哈希表中记录数据页的块号和起始地址。当下一次再写此数据页时可通过哈希表快速索引到地址;In the fourth step, when the update is smaller than the size of a data page, the metadata record is first added to the log. In DRAM, there is a global hash table that can be written cyclically. When writing a single data page for the first time, allocate a new page, and record the block number and starting address of the data page in the hash table. When writing this data page next time, the address can be quickly indexed through the hash table;
第五步,先对要更新的数据进行细粒度的备份,如果是首次写,即通过块号无法在哈希表中查到数据页地址,则先将原始数据复制到新页,再写入更新数据;若哈希表中可直接索引到数据页地址,则将文件最新的所要更改的数据信息记录到小数据日志备份。然后对数据页进行原地的写更新;The fifth step is to make a fine-grained backup of the data to be updated. If it is the first write, that is, the address of the data page cannot be found in the hash table through the block number, copy the original data to the new page first, and then write Update data; if the address of the data page can be directly indexed in the hash table, then record the latest data information to be changed in the small data log backup. Then write and update the data page in situ;
第六步,更新结束后,更新元数据指向数据块的指针,更新日志tail对这次写进行提交,表示此次更新完成,最后更新元数据索引的指针。图2即为数据页0进行更新时的示意图,<0,1>代表从数据页0开始,更新的数据涉及页数为1;Step 6: After the update is complete, update the metadata pointer to the data block, update the log tail to submit this write, indicating that the update is complete, and finally update the pointer to the metadata index. Figure 2 is a schematic diagram of data page 0 being updated, <0,1> means starting from data page 0, and the number of pages involved in the updated data is 1;
第七步,对于多个数据页的写更新,先在新分配的空间写入更改部分的数据,再把未更改的原数据复制到新的页面。数据写入结束后,我们更新元数据并将相应的日志entry指向新页面,更新日志tail进行提交,表示此次更新的完成,最后更新元数据索引的指针。The seventh step is to write and update multiple data pages, first write the changed data in the newly allocated space, and then copy the unchanged original data to the new page. After the data is written, we update the metadata and point the corresponding log entry to the new page, update the log tail to submit, indicating the completion of the update, and finally update the pointer of the metadata index.
进一步作为优选的实施方式,所述的步骤二,其具体为:Further as a preferred embodiment, the second step is specifically:
对于元数据来说,选用的日志结构的文件系统使用日志来记录元数据的每一次操作,元数据的每次更新都会添加一个日志entry,在更新之后我们通过改变日志tail到最新的entry来提交更新,我们默认处理器支持64位的原子写,因此可以保证更新的原子性。数据页大小根据不同处理器可能有4KB,2MB和1GB,此处我们默认其为4KB;For metadata, the selected log-structured file system uses logs to record every operation of metadata. Every update of metadata will add a log entry. After the update, we submit by changing the log tail to the latest entry. Update, our default processor supports 64-bit atomic write, so the atomicity of the update can be guaranteed. The data page size may be 4KB, 2MB and 1GB according to different processors, here we default to 4KB;
进一步作为优选的实施方式,在所述的步骤四之前:Further as a preferred embodiment, before step 4:
当判断更新在一个数据页之内时,先将元数据记录添加到日志,DRAM中可循环写入的全局哈希表,可利用有限空间存储最近更新的数据页地址。当此数据页为首次更新时,分配一个新的页,在哈希表中记录数据页的块号和起始地址。当下一次再写此页时可通过哈希表快速索引到其起始地址;When it is judged that the update is within a data page, the metadata record is first added to the log, and the global hash table that can be written cyclically in DRAM can store the address of the latest updated data page in limited space. When the data page is updated for the first time, a new page is allocated, and the block number and starting address of the data page are recorded in the hash table. When this page is written next time, its starting address can be quickly indexed through the hash table;
进一步作为优选的实施方式,所述的步骤五、六过程中:Further as a preferred embodiment, in the described step five and six processes:
在写数据之前,每一个inode都会有最新更新的数据记录,其中包括更改数据的页内偏移量和长度记录。对于哈希表中可找到的数据页,分配一个固定的小数据日志对每次的更新数据记录进行细粒度的备份,使用clflush和mfence来将数据从CPU缓存刷出进行持久化,然后再对数据页进行原地的写更新。相对于传统写时复制方法中多次的数据页分配和未修改数据的重复写,使用这种方法可提高小数据的写性能。在系统崩溃或断电后,读取小数据日志中的数据进行redo,从而完成未提交的操作,防止数据处于不一致的状态。Before writing data, each inode will have the latest updated data records, including the offset and length records of the changed data. For the data pages that can be found in the hash table, allocate a fixed small data log to perform fine-grained backup of each updated data record, use clflush and mfence to flush the data from the CPU cache for persistence, and then restore the Data pages are written and updated in-place. Compared with multiple data page allocations and repeated writing of unmodified data in the traditional copy-on-write method, using this method can improve the write performance of small data. After a system crash or power failure, read the data in the small data log for redo, thereby completing uncommitted operations and preventing data from being in an inconsistent state.
进一步作为优选的实施方式,在所述的步骤七,其具体为:Further as a preferred embodiment, in the step seven, it is specifically:
当判断数据更新涉及多个页,在新分配的空间写入更改部分的数据,再把未更改的原数据复制到新的页面,更新元数据以及日志entry指向新页面的指针,更新日志tail进行此次更新的提交。这样可以保证系统一旦在更新期间崩溃,只要元数据日志tail没有提交,我们仍然可以根据旧的元数据找到原先的数据页,从而保证数据处于一致性的状态。When it is judged that the data update involves multiple pages, write the changed part of the data in the newly allocated space, then copy the unmodified original data to the new page, update the metadata and log entry pointer to the new page, and update the log tail. Commit for this update. This can ensure that once the system crashes during the update, as long as the metadata log tail is not submitted, we can still find the original data page based on the old metadata, thus ensuring that the data is in a consistent state.
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。The above is a specific description of the preferred implementation of the present invention, but the invention is not limited to the described embodiments, and those skilled in the art can also make various equivalent deformations or replacements without violating the spirit of the present invention. These equivalent modifications or replacements are all within the scope defined by the claims of the present application.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711149326.0A CN107784121B (en) | 2017-11-18 | 2017-11-18 | Lowercase optimization method of log file system based on nonvolatile memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711149326.0A CN107784121B (en) | 2017-11-18 | 2017-11-18 | Lowercase optimization method of log file system based on nonvolatile memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107784121A true CN107784121A (en) | 2018-03-09 |
CN107784121B CN107784121B (en) | 2020-04-24 |
Family
ID=61433381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711149326.0A Active CN107784121B (en) | 2017-11-18 | 2017-11-18 | Lowercase optimization method of log file system based on nonvolatile memory |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107784121B (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109508143A (en) * | 2018-08-17 | 2019-03-22 | 郑州云海信息技术有限公司 | A kind of date storage method and device |
CN110134657A (en) * | 2019-04-08 | 2019-08-16 | 中国科学院计算技术研究所 | Method and system for accelerating file system metadata operation based on non-volatile main memory |
CN110377531A (en) * | 2019-07-19 | 2019-10-25 | 清华大学 | Based on log-structured persistence memory storage engine apparatus and control method |
CN110688357A (en) * | 2018-06-20 | 2020-01-14 | 华为技术有限公司 | Method and device for reading log type data |
CN111240840A (en) * | 2020-01-09 | 2020-06-05 | 中国人民解放军国防科技大学 | Consistent update method of non-volatile memory data based on one-to-many page mapping |
CN113486399A (en) * | 2021-07-14 | 2021-10-08 | 上海瓶钵信息科技有限公司 | Data storage method and system based on RISC-V architecture |
CN113655949A (en) * | 2020-06-15 | 2021-11-16 | 中兴通讯股份有限公司 | Database page caching method and system based on PM |
CN113935476A (en) * | 2021-12-16 | 2022-01-14 | 之江实验室 | Deep learning data set access method and system, electronic equipment and storage medium |
CN114281762A (en) * | 2022-03-02 | 2022-04-05 | 苏州浪潮智能科技有限公司 | Log storage acceleration method, device, equipment and medium |
CN114461456A (en) * | 2022-04-11 | 2022-05-10 | 成都云祺科技有限公司 | CDP backup method, system, storage medium and recovery method based on continuous writing |
CN114510198A (en) * | 2022-02-16 | 2022-05-17 | 北京中电华大电子设计有限责任公司 | Method for improving erasing and writing efficiency of NVM |
CN114936215A (en) * | 2022-06-07 | 2022-08-23 | 北京人大金仓信息技术股份有限公司 | Processing method, storage medium and equipment of pre-written log |
CN118819426A (en) * | 2024-09-18 | 2024-10-22 | 山东浪潮科学研究院有限公司 | A multi-granularity cache management system for GPGPU |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103392207A (en) * | 2011-10-05 | 2013-11-13 | Lsi公司 | Self-journaling and hierarchical consistency for non-volatile storage |
CN106599096A (en) * | 2016-11-24 | 2017-04-26 | 上海交通大学 | Design method of high-performance file system based on non-volatile memory |
US20170160988A1 (en) * | 2015-12-08 | 2017-06-08 | Kabushiki Kaisha Toshiba | Memory system that carries out an atomic write operation |
CN106843772A (en) * | 2017-02-14 | 2017-06-13 | 郑州云海信息技术有限公司 | A kind of system and method based on uniformity bus extension nonvolatile memory |
CN107329696A (en) * | 2017-06-23 | 2017-11-07 | 华中科技大学 | A kind of method and system for ensureing data corruption uniformity |
-
2017
- 2017-11-18 CN CN201711149326.0A patent/CN107784121B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103392207A (en) * | 2011-10-05 | 2013-11-13 | Lsi公司 | Self-journaling and hierarchical consistency for non-volatile storage |
US20170160988A1 (en) * | 2015-12-08 | 2017-06-08 | Kabushiki Kaisha Toshiba | Memory system that carries out an atomic write operation |
CN106599096A (en) * | 2016-11-24 | 2017-04-26 | 上海交通大学 | Design method of high-performance file system based on non-volatile memory |
CN106843772A (en) * | 2017-02-14 | 2017-06-13 | 郑州云海信息技术有限公司 | A kind of system and method based on uniformity bus extension nonvolatile memory |
CN107329696A (en) * | 2017-06-23 | 2017-11-07 | 华中科技大学 | A kind of method and system for ensureing data corruption uniformity |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688357A (en) * | 2018-06-20 | 2020-01-14 | 华为技术有限公司 | Method and device for reading log type data |
CN110688357B (en) * | 2018-06-20 | 2021-08-20 | 华为技术有限公司 | Method and device for reading log type data |
CN109508143A (en) * | 2018-08-17 | 2019-03-22 | 郑州云海信息技术有限公司 | A kind of date storage method and device |
CN109508143B (en) * | 2018-08-17 | 2022-04-22 | 郑州云海信息技术有限公司 | Data storage method and device |
CN110134657A (en) * | 2019-04-08 | 2019-08-16 | 中国科学院计算技术研究所 | Method and system for accelerating file system metadata operation based on non-volatile main memory |
CN110377531A (en) * | 2019-07-19 | 2019-10-25 | 清华大学 | Based on log-structured persistence memory storage engine apparatus and control method |
CN111240840B (en) * | 2020-01-09 | 2022-03-22 | 中国人民解放军国防科技大学 | Nonvolatile memory data consistency updating method based on one-to-many page mapping |
CN111240840A (en) * | 2020-01-09 | 2020-06-05 | 中国人民解放军国防科技大学 | Consistent update method of non-volatile memory data based on one-to-many page mapping |
WO2021254332A1 (en) * | 2020-06-15 | 2021-12-23 | 中兴通讯股份有限公司 | Pm-based database page caching method and system |
CN113655949A (en) * | 2020-06-15 | 2021-11-16 | 中兴通讯股份有限公司 | Database page caching method and system based on PM |
CN113655949B (en) * | 2020-06-15 | 2023-12-01 | 中兴通讯股份有限公司 | PM-based database page caching method and system |
CN113486399A (en) * | 2021-07-14 | 2021-10-08 | 上海瓶钵信息科技有限公司 | Data storage method and system based on RISC-V architecture |
CN113935476A (en) * | 2021-12-16 | 2022-01-14 | 之江实验室 | Deep learning data set access method and system, electronic equipment and storage medium |
CN114510198B (en) * | 2022-02-16 | 2023-06-30 | 北京中电华大电子设计有限责任公司 | Method for improving erasing and writing efficiency of NVM (non-volatile memory) |
CN114510198A (en) * | 2022-02-16 | 2022-05-17 | 北京中电华大电子设计有限责任公司 | Method for improving erasing and writing efficiency of NVM |
CN114281762A (en) * | 2022-03-02 | 2022-04-05 | 苏州浪潮智能科技有限公司 | Log storage acceleration method, device, equipment and medium |
CN114461456A (en) * | 2022-04-11 | 2022-05-10 | 成都云祺科技有限公司 | CDP backup method, system, storage medium and recovery method based on continuous writing |
CN114461456B (en) * | 2022-04-11 | 2022-06-21 | 成都云祺科技有限公司 | CDP backup method, system, storage medium and recovery method based on continuous writing |
CN114936215A (en) * | 2022-06-07 | 2022-08-23 | 北京人大金仓信息技术股份有限公司 | Processing method, storage medium and equipment of pre-written log |
CN114936215B (en) * | 2022-06-07 | 2024-06-11 | 北京人大金仓信息技术股份有限公司 | Processing method, storage medium and device for pre-written log |
CN118819426A (en) * | 2024-09-18 | 2024-10-22 | 山东浪潮科学研究院有限公司 | A multi-granularity cache management system for GPGPU |
Also Published As
Publication number | Publication date |
---|---|
CN107784121B (en) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107784121A (en) | Lowercase optimization method of log file system based on nonvolatile memory | |
US9652386B2 (en) | Management of memory array with magnetic random access memory (MRAM) | |
US9342256B2 (en) | Epoch based storage management for a storage device | |
CN109643275B (en) | Wear leveling apparatus and method for storage class memory | |
CN103838853B (en) | Mixed file system based on different storage media | |
TWI399644B (en) | Block management method for a non-volatile memory | |
CN103902669B (en) | A kind of separate type file system based on different storage mediums | |
US20190005079A1 (en) | Logical band-based key-value storage structure | |
US9009396B2 (en) | Physically addressed solid state disk employing magnetic random access memory (MRAM) | |
CN106527969B (en) | A life-balanced NandFlash memory reading and writing method | |
CN109952565B (en) | Memory access techniques | |
JP2015026379A (en) | Controller management of memory array of storage device using magnetic random access memory (mram) | |
CN105335098A (en) | Storage-class memory based method for improving performance of log file system | |
US11016905B1 (en) | Storage class memory access | |
WO2014074449A2 (en) | Wear leveling in flash memory devices with trim commands | |
US10402338B2 (en) | Method and apparatus for erase block granularity eviction in host based caching | |
CN103309815B (en) | A kind of method and system improving solid-state disk useful capacity and life-span | |
CN101425041A (en) | Optimizing method for establishing FAT file systems on NAND FLASH memory | |
CN104077235A (en) | Method and memory system for dividing physical blocks | |
CN106815152A (en) | A kind of method for optimizing page level flash translation layer (FTL) | |
WO2017213908A1 (en) | Method and apparatus for improving performance of sequential logging in a storage device | |
CN110018790A (en) | A kind of method and system guaranteeing persistence data in EMS memory crash consistency | |
CN109165321B (en) | Consistent hash table construction method and system based on nonvolatile memory | |
Chang et al. | Marching-based wear-leveling for PCM-based storage systems | |
CN102520885B (en) | Data management system for hybrid hard disk |
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 |