[go: up one dir, main page]

CN106802777A - A kind of flash translation layer (FTL) control method for solid storage device - Google Patents

A kind of flash translation layer (FTL) control method for solid storage device Download PDF

Info

Publication number
CN106802777A
CN106802777A CN201710042136.2A CN201710042136A CN106802777A CN 106802777 A CN106802777 A CN 106802777A CN 201710042136 A CN201710042136 A CN 201710042136A CN 106802777 A CN106802777 A CN 106802777A
Authority
CN
China
Prior art keywords
flash
flash memory
ftl
mapping
data
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.)
Pending
Application number
CN201710042136.2A
Other languages
Chinese (zh)
Inventor
樊凌雁
袁志东
何宏
梅岳辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Electronic Science and Technology University
Original Assignee
Hangzhou Electronic Science and Technology University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Electronic Science and Technology University filed Critical Hangzhou Electronic Science and Technology University
Priority to CN201710042136.2A priority Critical patent/CN106802777A/en
Publication of CN106802777A publication Critical patent/CN106802777A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)

Abstract

本发明公开了一种用于固态存储设备的闪存转换层控制方法,包括以下步骤:步骤S1:在闪存转换层(FTL)中设置最小管理单元,且N个最小管理单元刚好构成一个闪存物理页的空间,其中,N为大于0的正整数;步骤S2:逻辑地址和物理地址之间以最小管理单元来进行映射;步骤S3:FTL为每个最小管理单元数据给予一个地址标识进行管理;步骤S4:当主机写入数据时,等待连续写入数据达到一个完整的闪存物理页空间后,再一次性写入一个完整的空白闪存物理页。与现有技术相比较,本发明采用4KB数据块映射算法,从而能够有效提高随机写速度,同时能够在有限的片上存储空间来实现越来越大的映射表。

The invention discloses a flash memory conversion layer control method for a solid-state storage device, comprising the following steps: Step S1: setting a minimum management unit in the flash memory conversion layer (FTL), and N minimum management units just constitute a flash memory physical page space, wherein, N is a positive integer greater than 0; step S2: mapping between the logical address and the physical address with the smallest management unit; step S3: FTL gives each smallest management unit data an address identifier for management; step S4: When the host writes data, it waits for the continuously written data to reach a complete flash physical page space, and then writes a complete blank flash physical page at one time. Compared with the prior art, the present invention adopts a 4KB data block mapping algorithm, so that the random writing speed can be effectively improved, and at the same time, larger and larger mapping tables can be realized in limited on-chip storage space.

Description

一种用于固态存储设备的闪存转换层控制方法A flash memory conversion layer control method for solid-state storage devices

技术领域technical field

本发明涉及存储技术领域,尤其涉及一种用于固态存储设备的闪存转换层控制方法。The invention relates to the field of storage technology, in particular to a method for controlling a flash conversion layer of a solid-state storage device.

背景技术Background technique

随着半导体技术的进步,闪存容量越来越大,价格也却越来越便宜,固态硬盘SSD在越来越多的领域取代以磁带为媒介的传统机械硬盘(HDD)。固态硬盘与机械硬盘最大的区别在于,固态硬盘中没有任何机械部件。所以,相比传统硬盘,固态硬盘具有更低的延时和能耗,更快的数据处理速度,更好的抗震性能,更高的可靠性和耐用性。With the advancement of semiconductor technology, the capacity of flash memory is getting bigger and bigger, but the price is getting cheaper and cheaper. Solid-state drives (SSDs) are replacing traditional mechanical hard drives (HDDs) with magnetic tape as the medium in more and more fields. The biggest difference between a solid-state drive and a mechanical hard drive is that there are no mechanical parts in a solid-state drive. Therefore, compared with traditional hard drives, SSDs have lower latency and energy consumption, faster data processing speeds, better shock resistance, higher reliability and durability.

固态硬盘的存储器件采用的是闪存,NAND型闪存具有以下几个特点:The storage device of solid-state hard disk uses flash memory, and NAND flash memory has the following characteristics:

①读写基本单位是以页(Page)为单位,擦除是以块(Block)为单位;页的大小为nKB(KB单位为1024字节),n通常等于2,4,8或16。每块包含m页,m通常为64,128或者256。① The basic unit of reading and writing is Page, and the unit of erasing is Block; the size of a page is nKB (KB unit is 1024 bytes), and n is usually equal to 2, 4, 8 or 16. Each block contains m pages, m is usually 64, 128 or 256.

②每个物理块,必须先擦除后,才能够写入数据。②Each physical block must be erased before data can be written.

③每个块有一定的寿命,即擦除次数是有限的。举例来说,对于SLC(Single LevelCell)Flash,即单逻辑单元闪存,寿命为10,00,00次;而对于MLC(Multi-Level Cell)Flash,典型寿命为1500-3,000次。③Each block has a certain lifespan, that is, the number of erasures is limited. For example, for SLC (Single Level Cell) Flash, that is, single logic unit flash memory, the lifespan is 10,00,00 times; and for MLC (Multi-Level Cell) Flash, the typical lifespan is 1500-3,000 times.

基于闪存的上述特点,在固态硬盘中引入了闪存转换层FTL,用于对闪存进行存储控制。比如,Flash写数据只能将1写为0,擦除数据是将所有数据都写为1,因此如果在已经有数据的Flash上写入新的数据,则必须先是整块擦除(所有存储为全部为1),然后再写入新数据。这也决定了做适合读写SSD的最小单元是Page。在过去的机械硬盘时代,操作系统认为磁盘是一连串扇区(Sector,包含512Byte存储空间),这是对硬盘操作的最小单位。这一系列的物理特性的限制,要求FTL承担向下兼容的特性。FTL位于文件系统和物理介质之间,把Flash的操作习惯虚拟成以传统硬盘的512Byte扇区进行操作。操作系统就可以按照传统的扇区方式操作,而不用担心之前说的擦除/读/写问题。一切逻辑到物理的转换,都由FTL来完成,如图1所示。Based on the above-mentioned characteristics of flash memory, a flash translation layer FTL is introduced into the solid-state hard disk for storage control of flash memory. For example, Flash writing data can only write 1 as 0, erasing data is writing all data as 1, so if you write new data on the Flash that already has data, you must first erase the whole block (all storage is all 1), and then write new data. This also determines that the smallest unit suitable for reading and writing SSD is Page. In the past mechanical hard disk era, the operating system considered the disk as a series of sectors (Sector, including 512Byte storage space), which is the smallest unit for hard disk operations. The limitations of this series of physical characteristics require FTL to bear the characteristics of backward compatibility. FTL is located between the file system and the physical medium, and virtualizes the operating habits of Flash to operate on the 512Byte sector of the traditional hard disk. The operating system can operate in the traditional sector mode without worrying about the erase/read/write problems mentioned earlier. All logic-to-physics conversions are done by FTL, as shown in Figure 1.

FTL层负责将上层文件系统的读写请求转换成闪存物理层面的读写操作命令,同时,依据闪存的操作特点完成相应的管理。FTL算法,特别是它对应的闪存映射表FMT(FlashMapping Table)机制,是影响固态硬盘性能高低的关键所在。The FTL layer is responsible for converting the read and write requests of the upper file system into read and write operation commands at the physical level of the flash memory, and at the same time completes the corresponding management according to the operating characteristics of the flash memory. The FTL algorithm, especially its corresponding FMT (FlashMapping Table) mechanism, is the key to affecting the performance of solid-state drives.

传统的数据映射方式采用块映射和页映射。随着闪存页面的增大,页映射和块映射在随机读写上的速度的不足显现出来。页映射是将逻辑页映射到Flash中的任何一个物理页(Physical Page)。如果把逻辑区块地址(Logical Block Address,LBA)切割成很多以物理页大小为单位的操作单元,该映射算法在物理页小于或等于4KB的时候,管理的灵活度高,垃圾回收负载小。但是随着工艺的提升,Flash的物理页逐渐增大,目前主流基本为16KB的物理页,并有扩大到32KB的趋势。当物理页大于4KB的时候,随机写入小文件(通常IOPS的测量是基于4KB大小的随机数据块),将会导致一个物理页只用掉4KB空间,剩余的物理页空间补充其他数据,这时候写入放大WA(Write Amplification)系数就会变大,随着物理页大小的增大这种算法的劣势会越来越大。显然,按照这样子简单的映射方法是无法满足写入速度的要求的,同时,也大大消耗了闪存的“寿命”。Traditional data mapping methods use block mapping and page mapping. As the size of the flash memory page increases, the insufficient speed of page mapping and block mapping in random read and write becomes apparent. Page mapping is to map a logical page to any physical page (Physical Page) in Flash. If the logical block address (Logical Block Address, LBA) is divided into many operation units with physical page size as the unit, the mapping algorithm has high management flexibility and small garbage collection load when the physical page is less than or equal to 4KB. However, with the improvement of technology, the physical pages of Flash gradually increase. At present, the mainstream is basically 16KB physical pages, and there is a tendency to expand to 32KB. When the physical page is larger than 4KB, writing small files randomly (usually the measurement of IOPS is based on random data blocks of 4KB size) will cause a physical page to only use up 4KB space, and the remaining physical page space will supplement other data. When the write amplification WA (Write Amplification) coefficient will become larger, as the physical page size increases, the disadvantage of this algorithm will become greater and greater. Obviously, such a simple mapping method cannot meet the requirements of writing speed, and at the same time, it also greatly consumes the "life" of the flash memory.

故,针对目前现有技术中存在的上述缺陷,实有必要进行研究,以提供一种方案,解决现有技术中存在的缺陷。Therefore, in view of the above-mentioned defects existing in the current prior art, it is necessary to conduct research to provide a solution to solve the defects existing in the prior art.

发明内容Contents of the invention

有鉴于此,确有必要提供一种用于固态存储设备的闪存转换层控制方法,从而能够改善随机读写的速度,并提高闪存的使用寿命。In view of this, it is indeed necessary to provide a flash memory conversion layer control method for solid-state storage devices, so that the speed of random read and write can be improved, and the service life of the flash memory can be increased.

为了克服现有技术的缺陷,本发明的技术方案如下:In order to overcome the defective of prior art, technical scheme of the present invention is as follows:

一种用于固态存储设备的闪存转换层控制方法,包括以下步骤:A flash memory conversion layer control method for a solid-state storage device, comprising the following steps:

步骤S1:在闪存转换层(FTL)中设置最小管理单元,且N个最小管理单元刚好构成一个闪存物理页的空间,其中,N为大于0的正整数;Step S1: setting the minimum management unit in the flash memory translation layer (FTL), and N minimum management units just form the space of a flash memory physical page, where N is a positive integer greater than 0;

步骤S2:逻辑地址和物理地址之间以最小管理单元来进行映射;Step S2: Mapping between the logical address and the physical address with the smallest management unit;

步骤S3:FTL为每个最小管理单元数据给予一个地址标识进行管理;Step S3: FTL gives each minimum management unit data an address identifier for management;

步骤S4:当主机写入数据时,等待连续写入数据达到一个完整的闪存物理页空间后,再一次性写入一个完整的空白闪存物理页。Step S4: When the host writes data, wait for the continuously written data to reach a complete physical page space of the flash memory, and then write a complete blank physical page of the flash memory at one time.

优选地,所述步骤S3中,在闪存映射表(FMT)中为每个最小管理单元数据设置一个独立的地址码。Preferably, in the step S3, an independent address code is set for each minimum management unit data in the flash memory mapping table (FMT).

优选地,所述最小管理单元采用4KB存储容量。Preferably, the minimum management unit adopts a storage capacity of 4KB.

优选地,闪存映射表(FMT)采用分段调度的方式,将当前需要用到的相关部分的闪存映射表读入内存,而其余部分闪存映射表存放在外部存储空间。Preferably, the flash memory mapping table (FMT) adopts a segmented scheduling method to read the relevant part of the flash memory mapping table that needs to be used into the memory, and store the rest of the flash memory mapping table in the external storage space.

优选地,闪存映射表(FMT)存放到外部的DRAM空间。Preferably, the Flash Mapping Table (FMT) is stored in an external DRAM space.

优选地,闪存映射表(FMT)存放到闪存中。Preferably, the flash mapping table (FMT) is stored in the flash memory.

与现有技术相比较,本发明提供的用于固态存储设备的闪存转换层控制方法,闪存转化层采用4KB数据块映射算法,从而能够有效提高随机读写速度,同时能够在有限的片上存储空间来实现越来越大的映射表。Compared with the prior art, the flash memory conversion layer control method for solid-state storage devices provided by the present invention uses a 4KB data block mapping algorithm, thereby effectively improving the random read and write speed, and at the same time being able to use the limited on-chip storage space To achieve larger and larger mapping tables.

附图说明Description of drawings

图1为现有技术中FTL映射图。FIG. 1 is an FTL mapping diagram in the prior art.

图2为本发明用于固态存储设备的闪存转换层控制方法的流程框图。FIG. 2 is a flowchart of a method for controlling a flash conversion layer of a solid-state storage device according to the present invention.

图3为采用页映射方式下随机写的FLASH存储分布。Figure 3 shows the random write FLASH storage distribution in the page mapping mode.

图4为采用4KB映射方式下随机写的FLASH存储分布。Figure 4 shows the random write FLASH storage distribution in the 4KB mapping mode.

图5为传统页映射的PMT映射图。FIG. 5 is a PMT mapping diagram of traditional page mapping.

图6为本发明一种优选实施方式中4KB映射的PMT映射图。FIG. 6 is a PMT mapping diagram of 4KB mapping in a preferred implementation manner of the present invention.

如下具体实施例将结合上述附图进一步说明本发明。The following specific embodiments will further illustrate the present invention in conjunction with the above-mentioned drawings.

具体实施方式detailed description

以下将结合附图对本发明提供的一种用于固态存储设备的闪存转换层控制方法作进一步说明。A flash conversion layer control method for a solid-state storage device provided by the present invention will be further described below in conjunction with the accompanying drawings.

随着闪存物理页大小的增大,传统页映射方式将会导致写入放大WA(WriteAmplification)系数变大,从而无法满足写入速度的要求的,同时,也大大消耗了闪存的“寿命”。With the increase of the physical page size of the flash memory, the traditional page mapping method will lead to a larger write amplification WA (Write Amplification) coefficient, which cannot meet the requirements of the write speed. At the same time, it also greatly consumes the "lifetime" of the flash memory.

举一个简单的写入放大例子,假设Page大小为16KB,每次写入4KB,基本需要:To give a simple example of write amplification, assuming that the Page size is 16KB, and each write is 4KB, the basic requirements are:

①读出此Page内不需要修改的12KB;① Read out the 12KB that does not need to be modified in this Page;

②寻找新的物理Page写入完整的16KB数据(包括读出的12KB、新写入的4KB)。也就是说,写入4KB,实际上需要写入16KB,写入放大系数是②Find a new physical Page and write complete 16KB data (including 12KB read and 4KB newly written). That is to say, writing 4KB actually needs to write 16KB, and the write amplification factor is

为了克服上述技术缺陷,参见图2,所示为本发明一种用于固态存储设备的闪存转换层控制方法的流程框图,包括以下步骤:In order to overcome the above-mentioned technical defects, referring to Fig. 2, it is shown as a flow chart of a flash conversion layer control method for a solid-state storage device of the present invention, including the following steps:

步骤S1:在闪存转换层(FTL)中设置最小管理单元,且N个最小管理单元刚好构成一个闪存物理页的空间,其中,N为大于0的正整数;优选地,最小管理单元通常采用4KB存储容量,通常操作系统读写数据的以4KB为最小单位,同时,IOPS的测量也是基于4KB大小的随机数据块。Step S1: Set the minimum management unit in the flash translation layer (FTL), and N minimum management units just form the space of a flash memory physical page, wherein, N is a positive integer greater than 0; preferably, the minimum management unit usually adopts 4KB Storage capacity, usually the minimum unit for reading and writing data by the operating system is 4KB. At the same time, the measurement of IOPS is also based on random data blocks of 4KB.

步骤S2:逻辑地址和物理地址之间以最小管理单元来进行映射;Step S2: Mapping between the logical address and the physical address with the smallest management unit;

步骤S3:FTL为每个最小管理单元数据给予一个地址标识进行管理;Step S3: FTL gives each minimum management unit data an address identifier for management;

步骤S4:当主机写入数据时,等待连续写入数据达到一个完整的闪存物理页空间后,再一次性写入一个完整的空白闪存物理页。Step S4: When the host writes data, wait for the continuously written data to reach a complete physical page space of the flash memory, and then write a complete blank physical page of the flash memory at one time.

参见图3和图4,所示分别为采用页映射方式和4KB映射方式下随机写的FLASH存储分布情况。从图3可以看出,现有技术的页映射一个Page只是写入了4KB,剩余的部分用其它数据填满,16KB的空间只记录了4KB有效数据。从图4可以看出,本发明提出的4KB映射,一个Page能够存满16KB的数据。基本原理为:来自主机的写入数据,每4KB给予一个地址进行管理;连续几个4KB达到一个完整的闪存Page数据量的时候,把它们一次性写入一个完整的闪存Page。特别当Flash读写采用4KB随机读写(4KB Random R/W)时,4KB映射的写优势特别明显。由于随机读写数据的最小单元为4KB,把FTL的最小管理单元也适应性地调整为每4KB数据块为最小单元来进行映射和管理后,理性状态下,写入放大系数WA=1。使得随机写入速度,几乎接近于连续数据流的写入,大大提高了随机写入的性能。Referring to Fig. 3 and Fig. 4, it shows the FLASH storage distribution of random writing under the page mapping mode and the 4KB mapping mode respectively. It can be seen from FIG. 3 that in the prior art page mapping, only 4KB is written into a Page, and the remaining part is filled with other data, and only 4KB of valid data is recorded in the 16KB space. It can be seen from FIG. 4 that with the 4KB mapping proposed by the present invention, a Page can store 16KB of data. The basic principle is: write data from the host, each 4KB is assigned an address for management; when several consecutive 4KB reaches the data volume of a complete flash memory Page, write them into a complete flash memory Page at one time. Especially when the Flash read and write adopts 4KB random read and write (4KB Random R/W), the write advantage of 4KB mapping is particularly obvious. Since the minimum unit of random read and write data is 4KB, the minimum management unit of FTL is also adaptively adjusted so that every 4KB data block is the minimum unit for mapping and management. In a rational state, the write amplification factor WA=1. The random writing speed is almost close to the writing of continuous data stream, which greatly improves the performance of random writing.

闪存映射表(FMT)中,最重要的表为页映射表(Paging Mapping Table,PMT),PMT是算法的核心,它至少包括逻辑页到物理页映射(Logic Page To Physical PageMapping),参见图5,所示为传统页映射的PMT映射图,内存地址表示逻辑页号,内存值表示物理页号,PMT中存储的每个物理地址信息对应一个闪存物理页,根据逻辑页号可以获取物理页号。In the flash memory mapping table (FMT), the most important table is the page mapping table (Paging Mapping Table, PMT). PMT is the core of the algorithm, which includes at least logical page to physical page mapping (Logic Page To Physical PageMapping), see Figure 5 , shows the PMT mapping diagram of traditional page mapping. The memory address represents the logical page number, and the memory value represents the physical page number. Each physical address information stored in the PMT corresponds to a physical page of flash memory. The physical page number can be obtained according to the logical page number .

在一种优选实施方式中,所述步骤S3中,在闪存映射表(FMT)中为每个最小管理单元数据设置一个独立的地址码。也即在PMT中,为每个4KB空间设置一个独立的物理地址。参见图6,PMT中存储的每个物理地址信息对应闪存中的一段4KB空间。In a preferred implementation manner, in the step S3, an independent address code is set for each minimum management unit data in the flash memory mapping table (FMT). That is, in the PMT, an independent physical address is set for each 4KB space. Referring to FIG. 6, each physical address information stored in the PMT corresponds to a 4KB space in the flash memory.

上述技术方案中,采用4KB为单元的映射,从而大大提高了写入性能,但是由于为每个4KB空间设置一个独立的物理地址,以4KB为最小单元的映射引起了映射表存储空间的成倍增大。映射表大小参见以下公式:In the above technical solution, the mapping of 4KB is used as the unit, thereby greatly improving the writing performance, but since an independent physical address is set for each 4KB space, the mapping with 4KB as the smallest unit causes the storage space of the mapping table to double big. Refer to the following formula for the size of the mapping table:

假设硬盘存储空间128GB,每个映射单元的地址表征字节数为4,即用4字节地址来表示一个映射单元的地址,采用16KB Page映射,映射表格大小为32MB;而采用4KB映射,则映射表格大小为128MB。Assuming that the hard disk storage space is 128GB, the number of address representation bytes of each mapping unit is 4, that is, the address of a mapping unit is represented by a 4-byte address, and the mapping table size is 32MB when using 16KB Page mapping; while using 4KB mapping, then The mapping table size is 128MB.

另外,在上述技术方案中,由于为每个4KB空间设置一个独立的物理地址,读取时候的搜索就变成为每4KB就要搜索一次。而在16KB Page为单元的映射情况下,一次映射表的搜索,可以读取16KB数据,即每16KB搜索一次闪存映射表格。因此,随机写入性能的增加,一定程度上是以降低了随机读性能为折中的。但是在硬件性能大大提高的前提下,搜索速度(效能)很高,随机读速度的降低相比于随机写性能的提高,以及对于写入放大系数WA的降低(从而提高闪存使用寿命),是非常值得的。In addition, in the above technical solution, since an independent physical address is set for each 4KB space, the search at the time of reading becomes a search every 4KB. In the case of mapping with 16KB Page as a unit, a search of the mapping table can read 16KB of data, that is, the flash memory mapping table is searched every 16KB. Therefore, the increase in random write performance is compromised to a certain extent by reducing the random read performance. However, under the premise that the hardware performance is greatly improved, the search speed (efficiency) is very high, and the reduction of random read speed is compared with the improvement of random write performance, and the reduction of write amplification factor WA (thus improving the service life of flash memory), is Well worth it.

在一种优选实施方式中,闪存映射表(FMT)采用分段调度的方式,将当前需要用到的相关部分的闪存映射表读入内存,而其余部分闪存映射表存放在外部存储空间。由于映射表需要在集成电路芯片内调度使用,芯片内的缓存一般采用SRAM来实现。超过1MB大小的SRAM空间对于当前的集成电路细芯片需要占据很大的空间,性价比不高。通过采用分段调度的方式可以解决问题。即把当前需要用到的表格部分,读入SRAM,而把其余部分存放在芯片外部空间。芯片外部空间存放的形式有两种:In a preferred embodiment, the flash memory mapping table (FMT) adopts a segmented scheduling method, and the relevant part of the flash memory mapping table that needs to be used at present is read into the memory, while the rest of the flash memory mapping table is stored in the external storage space. Since the mapping table needs to be scheduled and used in the integrated circuit chip, the cache in the chip is generally implemented by SRAM. The SRAM space of more than 1MB needs to occupy a large space for the current integrated circuit thin chip, and the cost performance is not high. The problem can be solved by adopting segment scheduling. That is to read the part of the table currently needed into the SRAM, and store the rest in the external space of the chip. There are two forms of storage in the external space of the chip:

存放到外部的DRAM(Dynamic Random Access Memory)空间。优点是,存取速度很快,性能优越。缺点是,需要额外的硬件资源和成本,增加了芯片的复杂度、额外的DRAM芯片的成本;在电源不稳定(包括异常掉电)情形下,很难对DRAM内的大量表格数据及时备份保护,容易引起硬盘映射表格的丢失造成硬盘损坏。适合于电源稳定、追求极致读写性能的硬盘和系统,比如,高速计算机或者服务器的第一级硬盘阵列、热数据存储。Stored in the external DRAM (Dynamic Random Access Memory) space. The advantage is that the access speed is fast and the performance is superior. The disadvantage is that additional hardware resources and costs are required, which increases the complexity of the chip and the cost of additional DRAM chips; in the case of unstable power supply (including abnormal power failure), it is difficult to back up and protect a large amount of table data in DRAM in time , It is easy to cause the loss of the hard disk mapping table and cause hard disk damage. It is suitable for hard disks and systems with stable power supply and pursuit of ultimate read and write performance, such as first-level hard disk arrays of high-speed computers or servers, and hot data storage.

存放到闪存(Flash Memory)中。优点是,没有额外硬件成本开支;异常电源问题的情况下,容易保护映射表不丢失,或者容易丢失后自我重建,可靠性高。缺点是,存取速度相对比较慢,引起读写性能的一定程度下降;该方法也造成额外的闪存写入负担(WA系数略略增大)。适合于追求可靠性、读写性能要求一般的硬盘和系统,比如工业设备、大型数据库的冷数据存储。Store in flash memory (Flash Memory). The advantage is that there is no additional hardware cost; in the case of abnormal power supply problems, it is easy to protect the mapping table from loss, or it is easy to rebuild itself after loss, and has high reliability. The disadvantage is that the access speed is relatively slow, causing a certain degree of decline in read and write performance; this method also causes an additional flash memory write burden (the WA coefficient is slightly increased). It is suitable for hard disks and systems that pursue reliability and require general read and write performance, such as industrial equipment and cold data storage of large databases.

下面通过计算分析4KB映射存储管理的读写速度及性能分析。假设随机写入4个4KB的数据,Flash的页大小为16KB,以下分别计算页映射和4KB映射的速度。The following is a calculation and analysis of the read and write speed and performance analysis of 4KB mapped storage management. Assuming that four pieces of 4KB data are randomly written, and the page size of Flash is 16KB, the speeds of page mapping and 4KB mapping are respectively calculated below.

随机写入4个4KB的数据时,4KB映射算法最大写速度(不更换映射表):When four pieces of 4KB data are randomly written, the maximum write speed of the 4KB mapping algorithm (without changing the mapping table):

最小写速度(每个4KB都要更换全部的映射表):Minimum write speed (every 4KB must replace all mapping tables):

公式(3)和公式(4)中,Tx0是指写入16KB数据过程用来通过总线搬移数据的时间;Tw是写入闪存时候的编程等待时间(体现为闪存总线总即busy时间);本文芯片内,SRAM资源用于存放4KB Mapping映射表的大小为13KB(其中8KB为直接地址映射,3KB为其他辅助信息),搬移映射表的时间为Tx1,读取闪存数的总线等待时间(体现为总线忙即busy时间)为Tr,如果两个4KB之间需要全部更新一次映射表(调用和更新当前SRAM内的映射表)的时间为Tm=Tr+Tx1。In formula (3) and formula (4), Tx0 refers to the time for writing 16KB data to move data through the bus; Tw is the programming waiting time when writing to the flash memory (reflected as the total busy time of the flash memory bus); in this paper In the chip, the SRAM resources are used to store the 4KB Mapping mapping table with a size of 13KB (8KB is direct address mapping, and 3KB is other auxiliary information), the time to move the mapping table is Tx1, and the bus waiting time for reading the flash memory (reflected as The bus is busy (busy time) is Tr, if it is necessary to update the mapping table (calling and updating the mapping table in the current SRAM) between two 4KBs, the time is Tm=Tr+Tx1.

随机写入4个4KB的数据时,页映射算法最大写速度(不更换映射表):When four pieces of 4KB data are randomly written, the maximum write speed of the page mapping algorithm (without changing the mapping table):

最小写速度(每个4KB都要更换全部的映射表):Minimum write speed (every 4KB must replace all mapping tables):

公式(5)和公式(6)中,由于页映射(Page Mapping)每次系统对硬盘写入4KB数据时候,硬盘控制器芯片需要对另外12KB数据进行补齐,所以需要一个12KB数据的搬移时间Tp,以及一个读的延迟时间Tr(从闪存读取12KB时候的总线等待时间,体现为总线忙即BUSY时间)。In formula (5) and formula (6), because the page mapping (Page Mapping) every time the system writes 4KB data to the hard disk, the hard disk controller chip needs to complete the other 12KB data, so a 12KB data migration time is required Tp, and a read delay time Tr (the bus waiting time when reading 12KB from the flash memory, reflected in the busy bus, that is, the BUSY time).

对比公式(3)和(5),(4)和(6),得知4KB映射的写速度高于页映射。Comparing formulas (3) and (5), (4) and (6), it is known that the writing speed of 4KB mapping is higher than that of page mapping.

针对128GB的固态硬盘,闪存映射表(FMT表)总计32MB,按本文芯片资源给予的8KBSRAM内存,具有4M个“映射表段”(每个8KB大小),其中只有一段8KB映射表段被导入控制器芯片内存SRAM(称为“当前内存表段”),可以随时被搜索查询。因此,随机写入的4个4KB数据,有四种可能性分布对应于落入FMT中:For the 128GB solid-state hard drive, the flash memory mapping table (FMT table) is 32MB in total. According to the 8KBSRAM memory given by the chip resource in this article, there are 4M "mapping table segments" (each 8KB in size), of which only one 8KB mapping table segment is imported into the control The processor chip memory SRAM (called "current memory table segment") can be searched and queried at any time. Therefore, four 4KB data randomly written, there are four possible distributions corresponding to falling into the FMT:

全部4个4KB数据落在同一个映射表段,那么此时写入数据时只有一个busy时间,概率为:All four 4KB data fall into the same mapping table segment, then there is only one busy time when writing data at this time, and the probability is:

(2)全部4个4KB数据落在两个映射表段,有两个busy时间,概率为:(2) All four 4KB data fall into two mapping table segments, and there are two busy times, the probability is:

(3)全部4个4KB数据落在三个映射表段,有三个busy时间,概率为:(3) All four 4KB data fall into three mapping table segments, and there are three busy times, the probability is:

全部4个4KB数据落在四个映射表段,有四个busy时间,概率为:All four 4KB data fall into four mapping table segments, and there are four busy times, the probability is:

当写入四个4KB数据时,平均概率为:When writing four 4KB data, the average probability is:

页映射(Page Mapping)在随机写入4个4KB数据时候,它首先传输4KB有效数据给相应地址的页(页大小为16KB),Flash读写是以页为单位的,则页内剩下的空间填充全1或全0。由于是随机写入数据,并且是页映射,那么每次随机写入4KB的地址都不同,它将会如第一个4KB数据那样写入另一个页中,每次写入16KB到Flash中,有效的数据也只有4KB,那么它的传输效率为25%。按第一章末尾分析的结果,其写入放大系数WA>4。When Page Mapping randomly writes four 4KB data, it first transfers 4KB valid data to the page of the corresponding address (the page size is 16KB). Flash reads and writes in units of pages, and the rest of the page The space is filled with all 1s or all 0s. Since the data is written randomly, and it is page mapping, the address of each random write of 4KB is different, it will be written into another page like the first 4KB data, and each time 16KB is written into Flash, Effective data is only 4KB, so its transmission efficiency is 25%. According to the analysis results at the end of the first chapter, the write amplification factor WA>4.

相比之下,基于4KB映射的方法,在随机写入4个4KB数据时,它会在16KB大小的页内等待4个4KB数据写完,再写入Flash中,也就是说这个页写入的都是需要传输的4个4KB的有效数据,所以理论值上的传输效率为100%。相应的写入放大系数WA>1而且接近于1。In contrast, based on the 4KB mapping method, when four 4KB data are randomly written, it will wait for the four 4KB data to be written in a 16KB page before writing to Flash, that is to say, this page writes All of them are four valid data of 4KB that need to be transmitted, so the theoretical value of the transmission efficiency is 100%. The corresponding write amplification factor WA>1 and close to 1.

基于4KB映射算法思路,本发明实现了一颗固态硬盘控制器芯片的设计。该芯片采用110nm工艺,已经在8英寸硅片上面实现了批量生产。芯片尺寸3.908mm*3.746mm,采用SATA PHY,具有3Gb/s的数据传输速率。片上集成的电源管理电路,可以把5V电源转换成为I/O电路和闪存芯片需要的3.3V电压,同时也产生芯片内部需要的1.2V电源。本发明讨论的映射表存储采用SRAM实现。Based on the idea of 4KB mapping algorithm, the present invention realizes the design of a solid-state hard disk controller chip. The chip adopts 110nm process and has been mass-produced on 8-inch silicon wafers. The chip size is 3.908mm*3.746mm, using SATA PHY, with a data transmission rate of 3Gb/s. The power management circuit integrated on the chip can convert the 5V power supply to the 3.3V voltage required by the I/O circuit and the flash memory chip, and also generate the 1.2V power supply required inside the chip. The storage of the mapping table discussed in the present invention is realized by SRAM.

为了检验本发明描述算法的效果,这里采用市场上常见的M公司的两个NAND闪存型号来进行测试和比较,其中一个型号的闪存页面大小(Page Size)为8KB,另外一个型号的闪存页面大小为16KB,因为出自同一个公司的同系列产品,其余标称参数基本上一致,如读取等待时间为75us,编程(写入)等待时间1300us。通过测速软件来测试这两款Flash使用页映射和4KB映射的随机传输4KB数据的写速度,如表1所示。可以看出:无论页面大小是8KB还是16KB,4KB映射的平均速度明显比页映射的速度快,并且页面越大,4KB映射的速度与页映射的速度差距增大。In order to check the effect of the algorithm described in the present invention, two NAND flash memory models of M company commonly used in the market are used here to test and compare, wherein the flash memory page size (Page Size) of one model is 8KB, and the flash memory page size of another model It is 16KB, because the same series of products from the same company, the other nominal parameters are basically the same, such as the read waiting time is 75us, and the programming (writing) waiting time is 1300us. Use the speed measurement software to test the writing speed of these two Flashes using page mapping and 4KB mapping to randomly transmit 4KB data, as shown in Table 1. It can be seen that no matter whether the page size is 8KB or 16KB, the average speed of 4KB mapping is obviously faster than that of page mapping, and the larger the page, the greater the gap between the speed of 4KB mapping and the speed of page mapping.

表1使用不同映射方式的随机写测试速度Table 1 Random write test speed using different mapping methods

上述讨论4KB映射方式下的随机写性能,在实际存储操作中,还需要考虑连续写性能。4KB映射方式,由于FMT更新更频繁,显然,当写入大数据时,相对于页映射方式,其写效率反而降低。The random write performance under the 4KB mapping method is discussed above. In the actual storage operation, the continuous write performance also needs to be considered. In the 4KB mapping method, since the FMT is updated more frequently, obviously, when writing large data, compared with the page mapping method, its writing efficiency will decrease instead.

为了克服上述技术缺陷,在本发明的一种优选实施方式中,还包括获取主机写入文件大小的步骤,当文件的数据量大于单个闪存物理页的存储空间时,采用页映射进行闪存管理。而当文件的数据量小于单个闪存物理页的存储空间时,将文件的数据先以最小管理单元为单位进行分割,再以最小管理单元映射进行闪存管理。也即采用页映射和4KB映射相结合的方式,从而提高了闪存转换层的随机写性能和连续写性能。In order to overcome the above-mentioned technical defects, in a preferred embodiment of the present invention, it also includes the step of obtaining the size of the file written by the host, and when the data volume of the file is greater than the storage space of a single flash memory physical page, page mapping is used for flash memory management. When the amount of data in the file is smaller than the storage space of a single physical page of the flash memory, the data in the file is first divided into units of the smallest management unit, and then mapped to the smallest management unit for flash memory management. That is, the combination of page mapping and 4KB mapping is adopted, thereby improving the random write performance and continuous write performance of the flash translation layer.

以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。The descriptions of the above embodiments are only used to help understand the method and core idea of the present invention. It should be pointed out that for those skilled in the art, without departing from the principle of the present invention, some improvements and modifications can be made to the present invention, and these improvements and modifications also fall within the protection scope of the claims of the present invention.

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。The above description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the present invention will not be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (6)

1. a kind of flash translation layer (FTL) control method for solid storage device, it is characterised in that comprise the following steps:
Step S1:Minimum administrative unit is set in flash translation layer (FTL) (FTL), and N number of minimum administrative unit just constitutes one The space of flash memory Physical Page, wherein, N is the positive integer more than 0;
Step S2:Mapped with minimum administrative unit between logical address and physical address;
Step S3:FTL is managed for each minimum management cell data gives an address mark;
Step S4:When main frame writes data, wait is continuously written into after data reach a complete flash memory Physical Page space, then The complete blank flash memory Physical Page of one-time write one.
2. the flash translation layer (FTL) control method for solid storage device according to claim 1, it is characterised in that described In step S3, for each minimum management cell data sets an independent address code in Flash table (FMT).
3. the flash translation layer (FTL) control method for solid storage device according to claim 1, it is characterised in that described Minimum administrative unit uses 4KB memory capacity.
4. the flash translation layer (FTL) control method for solid storage device according to claim 2, it is characterised in that flash memory By the way of subsection scheduling, the Flash table of relevant portion that will be currently needed for using reads in internal memory to mapping table (FMT), and Remainder Flash table is stored in external memory space.
5. the flash translation layer (FTL) control method for solid storage device according to claim 4, it is characterised in that flash memory Mapping table (FMT) is stored in the dram space of outside.
6. the flash translation layer (FTL) control method for solid storage device according to claim 4, it is characterised in that flash memory Mapping table (FMT) is stored in flash memory.
CN201710042136.2A 2017-01-20 2017-01-20 A kind of flash translation layer (FTL) control method for solid storage device Pending CN106802777A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710042136.2A CN106802777A (en) 2017-01-20 2017-01-20 A kind of flash translation layer (FTL) control method for solid storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710042136.2A CN106802777A (en) 2017-01-20 2017-01-20 A kind of flash translation layer (FTL) control method for solid storage device

Publications (1)

Publication Number Publication Date
CN106802777A true CN106802777A (en) 2017-06-06

Family

ID=58986814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710042136.2A Pending CN106802777A (en) 2017-01-20 2017-01-20 A kind of flash translation layer (FTL) control method for solid storage device

Country Status (1)

Country Link
CN (1) CN106802777A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032958A (en) * 2017-06-12 2018-12-18 西部数据技术公司 Method and apparatus for reading data during control synchronization operations
CN109086006A (en) * 2018-07-24 2018-12-25 浪潮电子信息产业股份有限公司 Data reading method and related device
WO2020082451A1 (en) * 2018-10-25 2020-04-30 江苏华存电子科技有限公司 Method for quickly searching for effective flash memory page based on static random access memory
CN111177034A (en) * 2019-12-27 2020-05-19 鸿秦(北京)科技有限公司 Self-adaptive FTL algorithm of solid state disk
CN111258924A (en) * 2020-01-17 2020-06-09 中国科学院国家空间科学中心 Mapping method based on satellite-borne solid-state storage system self-adaptive flash translation layer
TWI703438B (en) * 2018-09-11 2020-09-01 慧榮科技股份有限公司 Mapping table updating method
CN112732182A (en) * 2020-12-29 2021-04-30 北京浪潮数据技术有限公司 NAND data writing method and related device
CN114546296A (en) * 2022-04-25 2022-05-27 武汉麓谷科技有限公司 Full flash memory system based on ZNS solid state disk and address mapping method
WO2023116235A1 (en) * 2021-12-24 2023-06-29 阿里巴巴(中国)有限公司 Data processing method and system, device, storage system, and medium

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169751A (en) * 2006-10-25 2008-04-30 三星电子株式会社 System with flash memory device and data recovery method thereof
CN101784993A (en) * 2007-08-24 2010-07-21 三星电子株式会社 Apparatus using flash memory as storage and method of operating the same
CN102253868A (en) * 2010-05-21 2011-11-23 联发科技股份有限公司 Method for data recovery and device for data recovery
CN102662856A (en) * 2012-04-27 2012-09-12 中国科学院计算技术研究所 Solid state disk and access method
CN102708058A (en) * 2011-01-11 2012-10-03 海力士半导体有限公司 Non-volitile memory device for performing ftl and method thereof
CN103136109A (en) * 2013-02-07 2013-06-05 中国科学院苏州纳米技术与纳米仿生研究所 Writing-in and reading method of solid-state memory system flash translation layer (FTL) with compression function
CN103744795A (en) * 2013-12-19 2014-04-23 记忆科技(深圳)有限公司 Method for rapidly booting solid state disc and solid state disc thereof
CN103914395A (en) * 2013-01-06 2014-07-09 北京忆恒创源科技有限公司 Address mapping method for memory device
CN104503710A (en) * 2015-01-23 2015-04-08 福州瑞芯微电子有限公司 Method and device for increasing writing speed of nand flash
CN105224478A (en) * 2015-09-25 2016-01-06 联想(北京)有限公司 A kind of formation of mapping table, renewal and restoration methods and electronic equipment
CN105868122A (en) * 2016-03-28 2016-08-17 深圳市硅格半导体股份有限公司 Data processing method and device for quick flashing storage equipment
CN106201901A (en) * 2014-12-10 2016-12-07 爱思开海力士有限公司 Including the controller of mapping table, the storage system including semiconductor storage unit and operational approach thereof

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169751A (en) * 2006-10-25 2008-04-30 三星电子株式会社 System with flash memory device and data recovery method thereof
CN101784993A (en) * 2007-08-24 2010-07-21 三星电子株式会社 Apparatus using flash memory as storage and method of operating the same
CN102253868A (en) * 2010-05-21 2011-11-23 联发科技股份有限公司 Method for data recovery and device for data recovery
CN102708058A (en) * 2011-01-11 2012-10-03 海力士半导体有限公司 Non-volitile memory device for performing ftl and method thereof
CN102662856A (en) * 2012-04-27 2012-09-12 中国科学院计算技术研究所 Solid state disk and access method
CN103914395A (en) * 2013-01-06 2014-07-09 北京忆恒创源科技有限公司 Address mapping method for memory device
CN103136109A (en) * 2013-02-07 2013-06-05 中国科学院苏州纳米技术与纳米仿生研究所 Writing-in and reading method of solid-state memory system flash translation layer (FTL) with compression function
CN103744795A (en) * 2013-12-19 2014-04-23 记忆科技(深圳)有限公司 Method for rapidly booting solid state disc and solid state disc thereof
CN106201901A (en) * 2014-12-10 2016-12-07 爱思开海力士有限公司 Including the controller of mapping table, the storage system including semiconductor storage unit and operational approach thereof
CN104503710A (en) * 2015-01-23 2015-04-08 福州瑞芯微电子有限公司 Method and device for increasing writing speed of nand flash
CN105224478A (en) * 2015-09-25 2016-01-06 联想(北京)有限公司 A kind of formation of mapping table, renewal and restoration methods and electronic equipment
CN105868122A (en) * 2016-03-28 2016-08-17 深圳市硅格半导体股份有限公司 Data processing method and device for quick flashing storage equipment

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032958A (en) * 2017-06-12 2018-12-18 西部数据技术公司 Method and apparatus for reading data during control synchronization operations
CN109032958B (en) * 2017-06-12 2023-07-11 西部数据技术公司 Method and apparatus for reading data during control synchronization operation
CN109086006A (en) * 2018-07-24 2018-12-25 浪潮电子信息产业股份有限公司 Data reading method and related device
CN109086006B (en) * 2018-07-24 2021-10-15 浪潮电子信息产业股份有限公司 A data reading method and related device
US11068391B2 (en) 2018-09-11 2021-07-20 Silicon Motion, Inc. Mapping table updating method for data storage device
TWI703438B (en) * 2018-09-11 2020-09-01 慧榮科技股份有限公司 Mapping table updating method
WO2020082451A1 (en) * 2018-10-25 2020-04-30 江苏华存电子科技有限公司 Method for quickly searching for effective flash memory page based on static random access memory
CN111177034A (en) * 2019-12-27 2020-05-19 鸿秦(北京)科技有限公司 Self-adaptive FTL algorithm of solid state disk
CN111258924B (en) * 2020-01-17 2021-06-08 中国科学院国家空间科学中心 Mapping method based on satellite-borne solid-state storage system self-adaptive flash translation layer
CN111258924A (en) * 2020-01-17 2020-06-09 中国科学院国家空间科学中心 Mapping method based on satellite-borne solid-state storage system self-adaptive flash translation layer
CN112732182A (en) * 2020-12-29 2021-04-30 北京浪潮数据技术有限公司 NAND data writing method and related device
WO2023116235A1 (en) * 2021-12-24 2023-06-29 阿里巴巴(中国)有限公司 Data processing method and system, device, storage system, and medium
CN114546296A (en) * 2022-04-25 2022-05-27 武汉麓谷科技有限公司 Full flash memory system based on ZNS solid state disk and address mapping method
CN114546296B (en) * 2022-04-25 2022-07-01 武汉麓谷科技有限公司 ZNS solid state disk-based full flash memory system and address mapping method

Similar Documents

Publication Publication Date Title
CN106802777A (en) A kind of flash translation layer (FTL) control method for solid storage device
CN110955384B (en) Data storage device and non-volatile memory control method
Cornwell Anatomy of a solid-state drive
KR101852668B1 (en) Address mapping
CN103019958B (en) Method for managing data in solid-state memory using data attributes
CN103049397B (en) A kind of solid state hard disc inner buffer management method based on phase transition storage and system
TWI385518B (en) Data storing method for a flash memory and storage system
Burr et al. Storage class memory
CN107025071A (en) Nonvolatile memory device and garbage collection method thereof
CN114510434A (en) Data aggregation in ZNS drivers
CN102193869B (en) Memory management and write-in method, memory controller and storage system
CN103164343B (en) Based on the paging of phase transition storage, ECC verification and multidigit forecasting method and structure thereof
CN101556555B (en) Block management method for flash memory, its controller and storage system
CN101957797B (en) Flash memory logic block management method and its control circuit and storage system
CN106844227A (en) Solid state hard disc abrasion equilibrium method and device based on grouping mechanism
JP2021533467A (en) Logical vs. physical table fragment
TW201508484A (en) Data writing method, hard disc module, and data writing system
CN101859278B (en) Data storage method and storage system for flash memory
CN102915273B (en) Data writing method, memory controller and memory storage device
CN101425338A (en) Writing method of nonvolatile memory and controller using the same
CN114036079B (en) Mapping table compression method and system, memory controller, solid state disk and data reading method
TWI464585B (en) Data storing method, and memory controller and memory storage apparatus using the same
CN112204533B (en) Data relocation in memory having two data portions
CN104423892A (en) Data writing method, disk module and data writing system
CN112052190B (en) Solid state disk hot data identification method based on bloom filter and secondary LRU table

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170606