技术领域technical field
本发明属于固态硬盘技术领域,具体涉及管理固态硬盘地址映射表的方法。The invention belongs to the technical field of solid-state hard disks, and in particular relates to a method for managing address mapping tables of solid-state hard disks.
背景技术Background technique
美国计算机协会出版的《2009年编程语言和操作系统的架构支持的国际会议的会议记录》(Proceedings of the 2009International Conference on ArchitecturalSupport for Programming Languages and Operating Systems,2009年,第229~240页)中所介绍的固态硬盘映射表的管理方法(DFTL:a flash translation layer employingdemand-based selective caching ofpage-level address mappings),将固态硬盘的映射表存储到底层的闪存中,并将部分映射表放入到缓存中;当需要查找映射表时,首选在缓存中查找,如果没有命中就需要从闪存中读取一个页的映射表,并从中查找所需的映射记录,将其加载到缓存中;缓存中剔除一个脏的映射记录时,会先读取该映射记录所在的闪存页,修改其内容再重新写入。固态硬盘中闪存的最小读写单元是4KB,一个映射记录的大小只有8B,缓冲区中映射表都是按照一个映射记录(8B)来管理的,而闪存中保存的映射记录都是按照闪存的page(4KB)来管理的,这样当缓存区中的映射记录发生换进换出时,会造成很大的读放大和写放大效应;另一方面,存储映射表的闪存页中只有少数的映射记录是被频繁访问的,这对缓存的命中率也是有影响的。Introduced in Proceedings of the 2009 International Conference on Architectural Support for Programming Languages and Operating Systems (2009, pp. 229-240) published by the American Association for Computing Machinery The management method of the solid-state disk mapping table (DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings), stores the mapping table of the solid-state disk in the underlying flash memory, and puts part of the mapping table into the cache ; When the mapping table needs to be looked up, it is preferred to search in the cache. If there is no hit, it is necessary to read the mapping table of a page from the flash memory, and find the required mapping record from it, and load it into the cache; remove a page from the cache When the mapping record is dirty, it will first read the flash memory page where the mapping record is located, modify its content and then rewrite it. The minimum read/write unit of the flash memory in the SSD is 4KB, and the size of a mapping record is only 8B. The mapping table in the buffer is managed according to a mapping record (8B), and the mapping records stored in the flash memory are all in accordance with the page (4KB), so that when the mapping records in the cache area are swapped in and out, it will cause a large read amplification and write amplification effect; on the other hand, there are only a few mappings in the flash memory page storing the mapping table Records are frequently accessed, which also has an impact on the cache hit rate.
发明内容Contents of the invention
本发明的目的是提出一种管理固态硬盘映射表的方法,以避免现有技术的上述缺点,在保证较低额外开销的情况下,提升固态硬盘的性能,减少对固态硬盘的写入量,提升缓存中映射表的命中率。The purpose of the present invention is to propose a method for managing the solid-state hard disk mapping table, so as to avoid the above-mentioned shortcomings of the prior art, improve the performance of the solid-state hard disk and reduce the amount of writing to the solid-state hard disk under the condition of ensuring low overhead. Improve the hit rate of the mapping table in the cache.
本发明管理固态硬盘映射表的方法,其特征在于包括以下步骤:The method for managing the solid-state hard disk mapping table of the present invention is characterized in that comprising the following steps:
第一步:设计固态硬盘的功能结构Step 1: Design the functional structure of the SSD
将固态硬盘中存储数据的闪存分为两部分:一部分用以存储用户数据,另一部分用以存储映射表;将存储映射表的闪存页再分为两部分:一部分按序存储映射记录,后面称为In-order Translation Page,另一部分乱序动态地存放映射记录,后面称为DynamicTranslation Page,这部分的映射记录都是从缓冲区中替换出来的;固态硬盘的内存区域大致分为两部分,一部分用以缓存映射记录,称为CMT,另一部分保存映射表的映射记录,称为GTD;Divide the flash memory for storing data in the solid-state drive into two parts: one part is used to store user data, and the other part is used to store the mapping table; the flash memory page storing the mapping table is further divided into two parts: one part stores the mapping records in sequence, which is called It is an In-order Translation Page, and the other part dynamically stores mapping records out of order, which is called DynamicTranslation Page. The mapping records in this part are all replaced from the buffer; the memory area of the SSD is roughly divided into two parts, one part It is used to cache the mapping records, called CMT, and the other part saves the mapping records of the mapping table, called GTD;
第二步:为Dynamic Translation Page建立索引Step 2: Indexing the Dynamic Translation Page
Dynamic Translation Page的索引是存放在内存中的,每个DynamicTranslation Page的索引包括两部分,一部分是Bloom Filter,一部分是该闪存页中映射记录逻辑地址的最大值和最小值,Dynamic Translation Page的索引用来查找某个映射记录是否存在于某个物理的闪存页中;The index of Dynamic Translation Page is stored in the memory. The index of each Dynamic Translation Page includes two parts, one part is Bloom Filter, and the other part is the maximum value and minimum value of the logical address of the mapping record in the flash memory page. The index of Dynamic Translation Page is used To find whether a mapping record exists in a physical flash page;
第三步:缓冲区的写回策略Step 3: Buffer writeback strategy
存储映射记录的缓冲区分为两部分:一部分为主缓冲区,后面称为CMT,另一部分为辅助缓冲区,后面称为Ghost-CMT,辅助缓冲区的大小通常为主缓冲区大小的1%-10%,且最小为一个闪存页的大小;当主缓冲区中替换出一个映射记录时,如果记录为干净的,则直接剔出缓冲区,如果为脏的映射记录,则将映射记录放入到辅助缓冲区;无论记录是在辅助缓冲区中命中还是在主缓冲区命中,都将该记录移到主缓冲区的头部;当辅助缓冲区变满的时候,批量写回一部分映射记录到闪存页中,这样的闪存页为Dynamic TranslationPage,批量写回的映射记录的数量为一个闪存页中存放的映射记录的数量,在写入一个Dynamic Translation Page到闪存上时,同时在内存中为它建立一个索引;The buffer for storing mapping records is divided into two parts: one is the main buffer, which is called CMT later, and the other is the auxiliary buffer, which is called Ghost-CMT later, and the size of the auxiliary buffer is usually 1% of the size of the main buffer - 10%, and the minimum is the size of a flash page; when a mapping record is replaced in the main buffer, if the record is clean, it will be directly removed from the buffer; if it is a dirty mapping record, the mapping record will be put into Auxiliary buffer; regardless of whether the record hits in the auxiliary buffer or the main buffer, move the record to the head of the main buffer; when the auxiliary buffer becomes full, batch write back a part of the mapped records to flash memory In the page, such a flash page is a Dynamic TranslationPage, and the number of mapping records written back in batches is the number of mapping records stored in a flash page. When writing a Dynamic Translation Page to the flash memory, it is established in the memory an index;
第四步:映射记录查找流程Step 4: Mapping record lookup process
当需要查找一个映射记录时,首先查找缓存,先查找主缓冲区,再查找辅助缓冲区;如果命中了缓冲区则直接返回,如果没有在缓冲区中命中,则查找DynamicTranslation Page的索引;如果通过索引确定在该记录所在的闪存页在DynamicTranslation Page区域,则从闪存中读出这个闪存页,并将该页中的全部映射记录都加载到缓冲区中;如果不在Dynamic Translation Page区域,则通过计算算出该映射记录所在的闪存页,然后读出该映射记录,并将该条记录加载到映射记录中;When you need to find a mapping record, first look for the cache, first look for the main buffer, and then look for the auxiliary buffer; if the buffer is hit, it will return directly, if it is not hit in the buffer, then look for the index of the DynamicTranslation Page; if passed The index determines that the flash memory page where the record is located is in the Dynamic Translation Page area, then read the flash memory page from the flash memory, and load all the mapping records in the page into the buffer; if it is not in the Dynamic Translation Page area, calculate Calculate the flash memory page where the mapping record is located, then read the mapping record, and load the record into the mapping record;
第五步:映射记录的加载Step 5: Loading of mapping records
当缓冲区没有命中时,从闪存中读取映射表,存储映射表的闪存页逻辑上分为两部分,一部分为In-order Translation Page,另一部分为Dynamic Translation Page;当要从Dynamic Translation Page中加载一个映射记录时,将该闪存页中的其他记录也同时加载到缓存中;When the buffer does not hit, the mapping table is read from the flash memory. The flash memory page storing the mapping table is logically divided into two parts, one part is the In-order Translation Page, and the other part is the Dynamic Translation Page; when you want to read from the Dynamic Translation Page When loading a mapping record, other records in the flash page are also loaded into the cache at the same time;
第六步:Dynamic Translation Page的合并操作Step 6: Merge operation of Dynamic Translation Page
当Dynamic Translation Page的数量超过一定的阈值后,固态硬盘的主控将其合并到顺序存储区,同时在内存中删除Dynamic Translation Page的索引。When the number of Dynamic Translation Pages exceeds a certain threshold, the master controller of the solid-state disk merges them into the sequential storage area, and deletes the index of Dynamic Translation Pages in the memory at the same time.
上述本发明固态硬盘映射表的管理方法,包括设计固态硬盘的功能结构,将存储映射表的闪存页分为映射记录顺序存储的闪存页和映射记录动态存储的闪存页,为动态的闪存转换页建立索引,设计缓冲区写回策略,映射记录的查找流程和动态闪存转换页的合并等步骤。缓存中的脏数据首先会被踢出到附加缓冲区中,给了第二次机会留在缓冲区,减少了写回操作的次数。命中动态闪存转换页时,一次读取一个闪存页的映射记录,并将该页内的所有映射记录都加载到缓冲区中,提高了缓存的命中率。本发明的方法与传统的映射表管理方法相比,减少了对固态硬盘的读写次数,同时可以提高固态硬盘的寿命,缓冲区命中率的提高可以大大提升固态硬盘的性能。The above-mentioned management method of the solid-state hard disk mapping table of the present invention includes designing the functional structure of the solid-state hard disk, and dividing the flash memory page of the storage mapping table into the flash memory page stored in the mapping record sequence and the flash memory page stored dynamically in the mapping record, which is a dynamic flash memory conversion page Steps such as index establishment, buffer write-back strategy design, mapping record lookup process and dynamic flash conversion page merging. Dirty data in the cache will first be kicked out to the additional buffer, giving a second chance to stay in the buffer, reducing the number of write-back operations. When hitting a dynamic flash conversion page, the mapping record of a flash page is read at a time, and all mapping records in the page are loaded into the buffer, which improves the hit rate of the cache. Compared with the traditional mapping table management method, the method of the present invention reduces the number of reads and writes to the solid-state hard disk, and at the same time can improve the lifespan of the solid-state hard disk, and the improvement of the buffer hit rate can greatly improve the performance of the solid-state hard disk.
附图说明Description of drawings
图1为本发明中的固态硬盘的逻辑结构示意图;Fig. 1 is a schematic diagram of the logical structure of a solid-state hard disk in the present invention;
图2为固态硬盘中In-order Translation Page的结构示意图。Figure 2 is a schematic diagram of the structure of the In-order Translation Page in the solid state disk.
图3为固态硬盘中GTD的结构示意图;Fig. 3 is a structural schematic diagram of GTD in a solid-state hard disk;
图4为固态硬盘中Dynamic Translation Page的结构示意图;Fig. 4 is a schematic diagram of the structure of the Dynamic Translation Page in the solid state disk;
图5为固态硬盘中的Dynamic Translation Page的索引结构图;Fig. 5 is the index structure diagram of the Dynamic Translation Page in the solid state disk;
图6为固态硬盘中映射记录的查找流程图。FIG. 6 is a flow chart of searching mapping records in a solid state disk.
具体实施方式Detailed ways
下面结合附图通过具体实施例对本发明固态硬盘映射表的管理方法作进一步的详细说明。The method for managing the solid-state hard disk mapping table of the present invention will be further described in detail below through specific embodiments in conjunction with the accompanying drawings.
实施例1:Example 1:
本发明固态硬盘映射表的管理方法的一个具体实施过程举例,包括以下步骤:A specific implementation process example of the management method of the solid-state hard disk mapping table of the present invention comprises the following steps:
第一步:设计固态硬盘的功能结构Step 1: Design the functional structure of the SSD
图1为本发明中的固态硬盘的逻辑功能结构示意图,上面的部分为动态随机存取存储器(图中标记为DRAM),下面的部分为闪存(图中标记为flash);与传统的做法一样闪存分为了两部分,分别用来存储用户数据(图中标记为User Page)和映射表(图中标记为Translation Page),存储映射表的闪存页(Translation Page)又被分为两部分,一部分是顺序存储的映射表页(图中标记为In-order Translation Page),另外一部分用来动态存储映射表页(图中标记为Dynamic Translation Page)。Fig. 1 is the logic function structure schematic diagram of solid-state hard disk among the present invention, and the part above is dynamic random access memory (marked as DRAM in the figure), and the following part is flash memory (marked as flash among the figure); Same as traditional way The flash memory is divided into two parts, which are used to store user data (marked as User Page in the figure) and mapping table (marked as Translation Page in the figure), and the flash memory page (Translation Page) storing the mapping table is divided into two parts, one part It is a sequentially stored mapping table page (marked as In-order Translation Page in the figure), and another part is used to dynamically store the mapping table page (marked as Dynamic Translation Page in the figure).
图2给出了In-order Translation Page的结构示意图,如图2所示:每一个闪存页里面存储512个映射记录,每条映射记录包含两个字段,逻辑地址(图中标记为LPN)和物理地址(图中标记为PPN),每个闪存页里面的映射记录都是连续递增的,而且所有映射记录都是按照逻辑地址升序方式存入到不同的闪存页中的。在本实施例中,将0-10000的逻辑地址分配给保存映射记录的闪存页(也就是Translation Page),用户数据保存的闪存页的逻辑地址从10000开始,也就是说上层将请求发给固态硬盘时,主控都会自动将地址加上10000,然后再进行处理。Translation Page也有逻辑地址到物理地址的映射,这个映射记录比较小,直接保存在内存中,称为GTD。Figure 2 shows the structural diagram of the In-order Translation Page, as shown in Figure 2: 512 mapping records are stored in each flash page, and each mapping record contains two fields, the logical address (marked as LPN in the figure) and The physical address (marked as PPN in the figure), the mapping records in each flash page are continuously increasing, and all mapping records are stored in different flash pages in ascending order of logical addresses. In this embodiment, the logical address of 0-10000 is assigned to the flash memory page (that is, Translation Page) for storing the mapping record, and the logical address of the flash memory page for user data storage starts from 10000, that is to say, the upper layer sends the request to the solid state For hard disk, the main controller will automatically add 10000 to the address before processing. Translation Page also has a mapping from logical address to physical address. This mapping record is relatively small and stored directly in memory, called GTD.
图3为固态硬盘中GTD的结构示意图,如图3中所示,GTD的每条记录包含两个字段,一个字段是存储映射表的闪存页的逻辑地址(T-LPN),另一个字段为其对应的物理地址(T-PPN)。所以当需要查找某个逻辑地址的映射记录时,首先将该地址减去所有In-orderTranslation Page的数量(在本实施例中为10000),然后除以每个闪存页中保存的映射记录的个数(在这里为512)就可以得到该逻辑地址对应的映射记录所在的闪存页的逻辑地址,然后通过查找映射GTD就可以得出所在闪存页的物理地址。Fig. 3 is the schematic diagram of the structure of GTD in the solid-state hard disk, as shown in Fig. 3, each record of GTD comprises two fields, and a field is the logical address (T-LPN) of the flash memory page that stores the mapping table, and another field is Its corresponding physical address (T-PPN). So when needing to find the mapping record of a certain logical address, first subtract the quantity of all In-orderTranslation Pages (in this embodiment, 10000) from this address, then divide by the number of mapping records preserved in each flash memory page number (here 512) just can get the logical address of the flash memory page where the mapping record corresponding to the logical address is located, and then just can get the physical address of the flash memory page by looking up the mapping GTD.
图4给出了固态硬盘中Dynamic Translation Page的结构示意图,如图4中所示:每个Dynamic Translation Page中仍然是存储512个映射记录,与In-order TranslationPage不同的是,其中的映射记录都是乱序存储的,没有规律可行,每个映射记录仍然是包含两个字段逻辑地址(LPN)和物理地址(PPN)。如果一个映射记录在顺序存储的闪存页中,可以通过计算然后通过查找GTD得到,但是在动态存储的闪存页中时,就需要借助在内存中的索引来查找。Figure 4 shows a schematic diagram of the structure of the Dynamic Translation Page in the SSD, as shown in Figure 4: each Dynamic Translation Page still stores 512 mapping records. Unlike the In-order TranslationPage, the mapping records in it are all It is stored out of order, and there is no rule that is feasible. Each mapping record still contains two fields, logical address (LPN) and physical address (PPN). If a mapping is recorded in a sequentially stored flash page, it can be obtained by calculating and then looking up GTD, but when it is in a dynamically stored flash page, it needs to be searched with the help of an index in memory.
第二步:为Dynamic Translation Page建立索引Step 2: Indexing the Dynamic Translation Page
图5给出了Dynamic Translation Page的索引结构示意图,如图5所示:每条索引信息包含三部分,主键为存储映射记录的闪存页的物理地址(T-PPN),后面是该物理地址对应的闪存页中所有映射记录的逻辑地址生成的Bloom Filter,最后一部分是该物理页中映射记录的逻辑地址的最大值和最小值(Max-Min)。通过这些索引信息,就可以比较精确的判断一个逻辑地址的映射记录是否存在某个物理页上。Figure 5 shows a schematic diagram of the dynamic translation page index structure, as shown in Figure 5: each index information contains three parts, the primary key is the physical address (T-PPN) of the flash memory page stored in the mapping record, followed by the physical address corresponding to The Bloom Filter generated by the logical addresses of all mapping records in the flash memory page, and the last part is the maximum and minimum values (Max-Min) of the logical addresses of the mapping records in the physical page. Through these index information, it can be more accurately judged whether a mapping record of a logical address exists on a certain physical page.
第三步:缓冲区的写回策略Step 3: Buffer writeback strategy
保存映射表的缓冲区分为CMT和Ghost-CMT,CMT占据了缓冲区的大部分空间,Ghost-CMT只是占据了很小的一部分空间,当CMT发生剔出时,如果是干净的记录就直接剔出,如果是脏记录,则直接放入到Ghost-CMT中。当Ghost-CMT满了时,会一次从Ghost-CMT中替换出512个映射记录(在这里一个闪存页中存放512个映射记录)。首先会分配一个可用的物理页用来写入替换出的512个映射记录,然后用这512个映射记录的逻辑地址生成一个Bloom Filter并求出这512个映射记录中逻辑地址的最大值和最小值,最后用即将要写入的物理页地址,Bloom Filter和最大值、最小值生成了一条索引信息,并记录到内存中,同时将Dynamic Translation Page写入到闪存中。The buffer for saving the mapping table is divided into CMT and Ghost-CMT. CMT occupies most of the buffer space, and Ghost-CMT only occupies a small part of the space. When CMT is removed, if it is a clean record, it will be removed directly. If it is a dirty record, it will be directly put into Ghost-CMT. When Ghost-CMT is full, can once replace 512 mapping records from Ghost-CMT (512 mapping records are stored in a flash memory page here). First, an available physical page will be allocated for writing the replaced 512 mapping records, then a Bloom Filter will be generated with the logical addresses of the 512 mapping records and the maximum and minimum logical addresses in the 512 mapping records will be calculated value, and finally use the address of the physical page to be written, the Bloom Filter and the maximum value and minimum value to generate an index information, and record it into the memory, and write the Dynamic Translation Page into the flash memory at the same time.
第四步:映射记录查找流程Step 4: Mapping record lookup process
图6给出了映射记录的查找流程示意图,如图6所示:对于一个逻辑地址,如果要查找它对应的物理地址过程①,首先查找缓存(包括CMT和Ghost-CMT),也就是判断是否满足判断过程②的条件,如果在缓存中命中,那么直接返回同时更新缓存即可。如果没有在缓存中命中,这时就要先判断是否在Dynamic Translation Page中,也就是判断是否满足判断过程③的条件,这个过程需要遍历内存中Dynamic Translation Page的索引,对于每一个索引都首先判断该逻辑地址的值是否在索引中最大值和最小值之间,如果不在则继续遍历下一个,如果在就继续用Bloom Filter判断该逻辑地址是否在该闪存页中,如果在就根据物理地址读出该闪存页,然后在从中查找,如果没有查找到,说明Bloom Filter发生了误报,需要继续查找下一个索引。如果遍历完所有的索引后发现该映射记录都不在DynamicTranslation Page中,,那么映射记录就一定在In-order Translation Page中,这时按照传统的做法,通过计算得出存储该映射记录的逻辑地址,然后查找GTD得出物理地址过程④,然后直接从闪存上即可读出相应的闪存页过程⑤,最后从读出的数据中就可以得到所需的映射记录过程⑥。Figure 6 provides a schematic diagram of the search process for mapping records, as shown in Figure 6: For a logical address, if you want to find its corresponding physical address process ①, first look up the cache (including CMT and Ghost-CMT), that is, determine whether Satisfy the conditions of the judgment process ②, if it hits in the cache, then return directly and update the cache at the same time. If there is no hit in the cache, it is necessary to judge whether it is in the Dynamic Translation Page, that is, to judge whether the condition of the judgment process ③ is met. This process needs to traverse the indexes of the Dynamic Translation Page in the memory, and first judge for each index Whether the value of the logical address is between the maximum value and the minimum value in the index, if not, continue to traverse the next one, if it is, continue to use Bloom Filter to judge whether the logical address is in the flash page, if it is, read it according to the physical address Exit the flash memory page, and then search from it. If it is not found, it means that the Bloom Filter has a false positive, and you need to continue to search for the next index. If it is found that the mapping record is not in the DynamicTranslation Page after traversing all the indexes, then the mapping record must be in the In-order Translation Page. At this time, according to the traditional method, the logical address for storing the mapping record is calculated. Then look up the GTD to get the physical address process ④, and then directly read the corresponding flash memory page process ⑤ from the flash memory, and finally obtain the required mapping record process ⑥ from the read data.
第五步:映射记录的加载Step 5: Loading of mapping records
当缓冲区没有命中时,需要从闪存中读取映射表。当从闪存中加载映射记录时,可能有两中情况,第一种情况是该映射记录位于In-order Translation Page中,这个时候只要读出该闪存页,并将改映射记录加载到缓存中。还有一种情况是该映射记录位于DynamicTranslation Page中,此时会将该闪存页读出,并将该页内的全部映射记录都加载到缓冲区中。当向缓缓冲区中加载一个映射记录,如果缓冲区中有空闲位置就直接加入,如果没有空闲位置,则先剔出一个记录再加载新的记录。When the buffer misses, the mapping table needs to be read from the flash memory. When loading the mapping record from the flash memory, there may be two situations. The first situation is that the mapping record is located in the In-order Translation Page. At this time, it is only necessary to read the flash memory page and load the mapping record into the cache. Another situation is that the mapping record is located in the DynamicTranslation Page, at this time, the flash memory page will be read out, and all the mapping records in the page will be loaded into the buffer. When loading a mapping record into the cache buffer, if there is a free space in the buffer, it will be added directly. If there is no free space, a record will be removed first and then a new record will be loaded.
第六步:Dynamic Translation Page的合并操作Step 6: Merge operation of Dynamic Translation Page
Dynamic Translation Page的数量是有上限的,当Dynamic Translation Page的数量达到阈值时就会将其和In-order Translation Page进行合并。合并操作尽可能在固态硬盘的空闲时间内完成,这样可以降低对整体性能的影响。进行合并时会一次读取多个Dynamic Translation Page,然后将其中原本属于同一个In-order Translation Page的所有记录一次更新到一个In-order Translation Page中。The number of Dynamic Translation Pages is limited, and when the number of Dynamic Translation Pages reaches the threshold, it will be merged with the In-order Translation Page. The merge operation is done as much as possible during the idle time of the SSD, which can reduce the impact on the overall performance. When merging, multiple Dynamic Translation Pages are read at a time, and all records that originally belonged to the same In-order Translation Page are updated to one In-order Translation Page at a time.
本实施例中,将存储映射记录的闪存页分为In-order Translation Page和Dynamic Translation Page,并通过Bloom Filter和最大值,最小值信息为DynamicTranslation Page建立索引存放在内存中,同时将存储映射记录的缓冲区分为主缓冲区和辅助缓冲区,每次缓冲区发生写回操作时,都批量更新一个闪存页的映射记录到DynamicTranslation Page中,每次在Dynamic Translation Page读取映射记录时,都会将一个页的数据加载到缓冲区中。这样的设计不仅减少了缓冲区写回操作时的写放大问题,还同时提高了缓冲区命中率。In this embodiment, the flash page of the storage mapping record is divided into In-order Translation Page and Dynamic Translation Page, and through the Bloom Filter and the maximum value, the minimum value information is DynamicTranslation Page indexed and stored in the memory, and the storage mapping record The buffer is divided into a main buffer and an auxiliary buffer. Every time a write-back operation occurs in the buffer, the mapping record of a flash memory page is updated in batches to the Dynamic Translation Page. Every time the mapping record is read in the Dynamic Translation Page, the A page of data is loaded into the buffer. Such a design not only reduces the write amplification problem during the buffer write-back operation, but also improves the buffer hit rate at the same time.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201711070866.XACN107832013B (en) | 2017-11-03 | 2017-11-03 | A method for managing solid-state hard disk mapping table |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201711070866.XACN107832013B (en) | 2017-11-03 | 2017-11-03 | A method for managing solid-state hard disk mapping table |
| Publication Number | Publication Date |
|---|---|
| CN107832013Atrue CN107832013A (en) | 2018-03-23 |
| CN107832013B CN107832013B (en) | 2019-10-25 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201711070866.XAActiveCN107832013B (en) | 2017-11-03 | 2017-11-03 | A method for managing solid-state hard disk mapping table |
| Country | Link |
|---|---|
| CN (1) | CN107832013B (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108537719A (en)* | 2018-03-26 | 2018-09-14 | 上海交通大学 | A kind of system and method improving graphics processing unit performance |
| CN108829346A (en)* | 2018-05-28 | 2018-11-16 | 华中科技大学 | A kind of user's write request processing method for the solid state hard disk adapting to Hash memory pages difference |
| CN109375877A (en)* | 2018-10-24 | 2019-02-22 | 江苏华存电子科技有限公司 | A kind of method of managing main frame end logical place correspondence mappings table in flash memory storage |
| CN110262982A (en)* | 2019-05-05 | 2019-09-20 | 杭州电子科技大学 | A kind of method of solid state hard disk address of cache |
| CN111026678A (en)* | 2019-12-23 | 2020-04-17 | 深圳忆联信息系统有限公司 | Cache design method and device based on solid state disk and computer equipment |
| WO2020082455A1 (en)* | 2018-10-25 | 2020-04-30 | 江苏华存电子科技有限公司 | Hybrid recording method for logical-to-physical mapping table |
| WO2020082454A1 (en)* | 2018-10-24 | 2020-04-30 | 江苏华存电子科技有限公司 | Method for effectively accessing flash block state management table in flash storage device |
| CN111177033A (en)* | 2019-12-24 | 2020-05-19 | 河南文正电子数据处理有限公司 | Use method of solid state disk |
| CN112559386A (en)* | 2020-12-22 | 2021-03-26 | 深圳忆联信息系统有限公司 | Method and device for improving SSD performance, computer equipment and storage medium |
| WO2022199027A1 (en)* | 2021-03-25 | 2022-09-29 | 湖南国科微电子股份有限公司 | Random write method, electronic device and storage medium |
| CN117270760A (en)* | 2023-07-31 | 2023-12-22 | 深圳三地一芯电子股份有限公司 | Sequence mapping generation method and device, storage main control chip and storage medium |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101788948A (en)* | 2010-02-05 | 2010-07-28 | 瑞斯康达科技发展股份有限公司 | Dynamic storage system of journal information and method |
| CN102637147A (en)* | 2011-11-14 | 2012-08-15 | 天津神舟通用数据技术有限公司 | Storage system using solid state disk as computer write cache and corresponding management scheduling method |
| CN104679437A (en)* | 2013-11-27 | 2015-06-03 | 群联电子股份有限公司 | Data writing method, memory control circuit unit and memory storage device |
| US20150220274A1 (en)* | 2014-02-05 | 2015-08-06 | Quanta Storage Inc. | Reading Method of Solid State Disk |
| CN106527987A (en)* | 2016-11-04 | 2017-03-22 | 湖南国科微电子股份有限公司 | Non-DRAM SSD master control reliability improving system and method |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101788948A (en)* | 2010-02-05 | 2010-07-28 | 瑞斯康达科技发展股份有限公司 | Dynamic storage system of journal information and method |
| CN102637147A (en)* | 2011-11-14 | 2012-08-15 | 天津神舟通用数据技术有限公司 | Storage system using solid state disk as computer write cache and corresponding management scheduling method |
| CN104679437A (en)* | 2013-11-27 | 2015-06-03 | 群联电子股份有限公司 | Data writing method, memory control circuit unit and memory storage device |
| US20150220274A1 (en)* | 2014-02-05 | 2015-08-06 | Quanta Storage Inc. | Reading Method of Solid State Disk |
| CN106527987A (en)* | 2016-11-04 | 2017-03-22 | 湖南国科微电子股份有限公司 | Non-DRAM SSD master control reliability improving system and method |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108537719A (en)* | 2018-03-26 | 2018-09-14 | 上海交通大学 | A kind of system and method improving graphics processing unit performance |
| CN108537719B (en)* | 2018-03-26 | 2021-10-19 | 上海交通大学 | A system and method for improving the performance of a general-purpose graphics processor |
| CN108829346B (en)* | 2018-05-28 | 2020-11-17 | 华中科技大学 | User writing request processing method of solid state disk adapting to flash memory page difference |
| CN108829346A (en)* | 2018-05-28 | 2018-11-16 | 华中科技大学 | A kind of user's write request processing method for the solid state hard disk adapting to Hash memory pages difference |
| CN109375877A (en)* | 2018-10-24 | 2019-02-22 | 江苏华存电子科技有限公司 | A kind of method of managing main frame end logical place correspondence mappings table in flash memory storage |
| WO2020082454A1 (en)* | 2018-10-24 | 2020-04-30 | 江苏华存电子科技有限公司 | Method for effectively accessing flash block state management table in flash storage device |
| WO2020082455A1 (en)* | 2018-10-25 | 2020-04-30 | 江苏华存电子科技有限公司 | Hybrid recording method for logical-to-physical mapping table |
| CN110262982A (en)* | 2019-05-05 | 2019-09-20 | 杭州电子科技大学 | A kind of method of solid state hard disk address of cache |
| CN111026678A (en)* | 2019-12-23 | 2020-04-17 | 深圳忆联信息系统有限公司 | Cache design method and device based on solid state disk and computer equipment |
| CN111177033A (en)* | 2019-12-24 | 2020-05-19 | 河南文正电子数据处理有限公司 | Use method of solid state disk |
| CN112559386A (en)* | 2020-12-22 | 2021-03-26 | 深圳忆联信息系统有限公司 | Method and device for improving SSD performance, computer equipment and storage medium |
| CN112559386B (en)* | 2020-12-22 | 2024-06-18 | 深圳忆联信息系统有限公司 | Method, device, computer equipment and storage medium for improving SSD performance |
| WO2022199027A1 (en)* | 2021-03-25 | 2022-09-29 | 湖南国科微电子股份有限公司 | Random write method, electronic device and storage medium |
| CN117270760A (en)* | 2023-07-31 | 2023-12-22 | 深圳三地一芯电子股份有限公司 | Sequence mapping generation method and device, storage main control chip and storage medium |
| CN117270760B (en)* | 2023-07-31 | 2024-08-20 | 深圳三地一芯电子股份有限公司 | Sequence mapping generation method and device, storage main control chip and storage medium |
| Publication number | Publication date |
|---|---|
| CN107832013B (en) | 2019-10-25 |
| Publication | Publication Date | Title |
|---|---|---|
| CN107832013B (en) | A method for managing solid-state hard disk mapping table | |
| CN105930282B (en) | A kind of data cache method for NAND FLASH | |
| EP3121703B1 (en) | Data caching method, cache and computer system | |
| TWI647567B (en) | Method for locating hot and cold access zone using memory address | |
| CN105095116B (en) | Cache method, cache controller and the processor replaced | |
| TWI510920B (en) | Data storage device and operating method thereof | |
| CN109582593B (en) | FTL address mapping reading and writing method based on calculation | |
| JP2017138852A (en) | Information processing device, storage device and program | |
| CN104166634A (en) | Management method of mapping table caches in solid-state disk system | |
| CN106547703A (en) | A kind of FTL optimization methods based on block group structure | |
| CN109918316B (en) | Method and system for reducing FTL address mapping space | |
| CN108595349B (en) | Method and device for address translation of mass storage device | |
| CN101510176B (en) | Control method of general-purpose operating system for accessing CPU two stage caching | |
| CN110147331A (en) | Caching data processing method, system and readable storage medium storing program for executing | |
| KR20120058352A (en) | Hybrid Memory System and Management Method there-of | |
| KR20100132244A (en) | Memory system and how to manage it | |
| CN102981963A (en) | Implementation method for flash translation layer of solid-state disc | |
| CN114356877A (en) | A log structure merge tree hierarchical storage method and system based on persistent memory | |
| CN109446117B (en) | Design method for page-level flash translation layer of solid state disk | |
| CN106528454A (en) | Memory system cache mechanism based on flash memory | |
| CN110968269A (en) | SCM and SSD-based key value storage system and read-write request processing method | |
| CN113377690B (en) | Solid state disk processing method suitable for user requests of different sizes | |
| CN103793332B (en) | Data storage method and device based on memory, processor and electronic equipment | |
| CN105389135A (en) | Solid-state disk internal cache management method | |
| CN110262982A (en) | A kind of method of solid state hard disk address of cache |
| 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 |