CN107391391A - 在固态硬盘的ftl实现数据拷贝的方法、***及固态硬盘 - Google Patents
在固态硬盘的ftl实现数据拷贝的方法、***及固态硬盘 Download PDFInfo
- Publication number
- CN107391391A CN107391391A CN201710591084.4A CN201710591084A CN107391391A CN 107391391 A CN107391391 A CN 107391391A CN 201710591084 A CN201710591084 A CN 201710591084A CN 107391391 A CN107391391 A CN 107391391A
- Authority
- CN
- China
- Prior art keywords
- address
- mapping table
- ladest
- copy
- pasrc
- 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
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Memory System (AREA)
Abstract
本发明公开在固态硬盘的FTL实现数据拷贝的方法、***及固态硬盘。该方法包括:维护一张逻辑地址LA到物理地址PA的地址映射表;对成为拷贝目标的物理地址PAdest维护一个数组或链表,这些从物理地址PAdest到多个逻辑地址LAi的映射组成一个反向地址映射表,维护该反向地址映射表;接收软件发送给固态硬盘的无复制拷贝命令,该无复制拷贝命令包括拷贝的源逻辑地址LAsrc、目标逻辑地址LAdest、和需要拷贝的数据块数量;根据无复制拷贝命令对地址映射表和反向地址映射表进行修改,以将目标逻辑地址LAdest指向源逻辑地址LAsrc映射到的物理地址,完成对数据的无复制拷贝。本发明能大大减少固态硬盘中不必要的写操作,降低拷贝时间,延长固态硬盘的使用寿命,提高数据可靠性。
Description
技术领域
本发明涉及固态硬盘技术领域,尤其涉及一种在固态硬盘的FTL实现数据拷贝的方法、***及固态硬盘。
背景技术
固态硬盘(Solid State Drives,SSD)的FTL(Flash translation layer,闪存转换层)是固态硬盘的设计核心,目前的固态硬盘中的FTL不提供支持内部数据复制命令的实现,更不提供零数据复制的支持,它只直接支持READ、WRITE、和TRIM等基本的命令,相应地,它只实现了地址映射、垃圾回收、数据读写和磨损平衡等基本的功能。
现有的固态硬盘对现有的应用和***程序大量使用的数据复制需求无法满足,需要主机上的CPU和内存参与数据的物理复制,包括实际从固态硬盘的读出和到固态硬盘的写入。但是这种做法存在着两个不足:(一)物理的数据复制导致复制耗时过长,浪费了固态硬盘的读写带宽和CPU的时间;(二)为了保证数据的持久性和一致性,在写操作之后往往要想固态硬盘发出FLUSH命令,但是FLUSH命令很耗时,会降低固态硬盘的性能,而且对固态硬盘的写操作会导致固态硬盘的寿命缩短。
发明内容
本发明所要解决的技术问题在于提供了一种在固态硬盘的FTL实现数据拷贝的方法、***及固态硬盘,大大地减少了固态硬盘中不必要的写操作,从而降低了拷贝时间、延长了固态硬盘的使用寿命、提高了数据可靠性。
为解决上述技术问题,本发明采用以下技术方案:
一方面,提供了一种在固态硬盘的FTL实现数据拷贝的方法,该方法包括:
FTL维护一张逻辑地址LA到物理地址PA的地址映射表;对成为拷贝目标的物理地址PAdest维护一个数组或链表,以记录映射到物理地址PAdest的一个或多个逻辑地址LAi,其中i=1、2、3……N,N≥1,这些从物理地址PAdest到多个逻辑地址LAi的映射组成一个反向地址映射表,维护该反向地址映射表,N称为映射计数;
接收软件发送给固态硬盘的无复制拷贝命令,所述无复制拷贝命令包括拷贝的源逻辑地址LAsrc、目标逻辑地址LAdest、和需要拷贝的数据块数量M;
根据所述无复制拷贝命令对地址映射表和反向地址映射表进行修改,以将目标逻辑地址LAdest指向源逻辑地址LAsrc映射到的物理地址,完成对数据的无复制拷贝。
其中,所述根据所述无复制拷贝命令对地址映射表和反向地址映射表进行修改,完成对数据的无复制拷贝包括:
FTL查找所述地址映射表判断目标逻辑地址LAdest是否已映射到一个物理地址PAdest上,若否,在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入地址映射表中;若是,将在物理地址PAdest上的闪存页作废掉,在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入所述地址映射表中;
根据需要拷贝的数据块数量M,将(LAdest+1,PAsrc+1)、(LAdest+2,PAsrc+2)、……、(LAdest+M-1,PAsrc+M-1)写入所述地址映射表中,完成对数据的无复制拷贝。
其中,接收软件发送给固态硬盘的无复制拷贝命令具体为:接收软件通过一个操作***调用发送给固态硬盘的无复制拷贝命令。
其中,在所述这些从物理地址PAdest到多个逻辑地址LAi的映射组成一个反向地址映射表,维护该反向地址映射表,N称为映射计数之后还包括:FTL在进行垃圾收集、静态磨损平衡时,若涉及的逻辑地址或物理地址在所述反向地址映射表中,则对地址映射表和反向地址映射表进行相应的更新。
第二方面,提供了一种在固态硬盘的FTL实现数据拷贝的***,该***包括:
映射表维护模块,维护一张逻辑地址LA到物理地址PA的地址映射表;对成为拷贝目标的物理地址PAdest维护一个数组或链表,以记录映射到物理地址PAdest的一个或多个逻辑地址LAi,其中i=1、2、3……N,N≥1,这些从物理地址PAdest到多个逻辑地址LAi的映射组成一个反向地址映射表,维护该反向地址映射表,N称为映射计数;
命令接收模块,用于接收软件发送给固态硬盘的无复制拷贝命令,所述无复制拷贝命令包括拷贝的源逻辑地址LAsrc、目标逻辑地址LAdest、和需要拷贝的数据块数量M;
修改模块,用于根据所述无复制拷贝命令对地址映射表和反向地址映射表进行修改,以将目标逻辑地址LAdest指向源逻辑地址LAsrc映射到的物理地址,完成对数据的无复制拷贝。
其中,所述修改模块具体用于:
查找所述地址映射表判断目标逻辑地址LAdest是否已映射到一个物理地址PAdest上,若否,在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入地址映射表中;若是,将在物理地址PAdest上的闪存页作废掉,在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入所述地址映射表中;
根据需要拷贝的数据块数量M,将(LAdest+1,PAsrc+1)、(LAdest+2,PAsrc+2)、……、(LAdest+M-1,PAsrc+M-1)写入所述地址映射表中,完成对数据的无复制拷贝。
其中,接收软件发送给固态硬盘的无复制拷贝命令具体为:接收软件通过一个操作***调用发送给固态硬盘的无复制拷贝命令。
其中,所述修改模块还用于:在进行垃圾收集、静态磨损平衡时,若涉及的逻辑地址或物理地址在所述反向地址映射表中,则对地址映射表和反向地址映射表进行相应的更新。
第三方面提供了一种固态硬盘,该固态硬盘的FTL用于执行以下步骤:
维护一张逻辑地址LA到物理地址PA的地址映射表;对成为拷贝目标的物理地址PAdest维护一个数组或链表,以记录映射到物理地址PAdest的一个或多个逻辑地址LAi,其中i=1、2、3……N,N≥1,这些从物理地址PAdest到多个逻辑地址LAi的映射组成一个反向地址映射表,维护该反向地址映射表,N称为映射计数;
接收软件发送给固态硬盘的无复制拷贝命令,所述无复制拷贝命令包括拷贝的源逻辑地址LAsrc、目标逻辑地址LAdest、和需要拷贝的数据块数量M;
根据所述无复制拷贝命令对地址映射表和反向地址映射表进行修改,以将目标逻辑地址LAdest指向源逻辑地址LAsrc映射到的物理地址,完成对数据的无复制拷贝。
其中,所述根据所述无复制拷贝命令对地址映射表和反向地址映射表进行修改,完成对数据的无复制拷贝包括:
FTL查找所述地址映射表判断目标逻辑地址LAdest是否已映射到一个物理地址PAdest上,若否,在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入地址映射表中;若是,将在物理地址PAdest上的闪存页作废掉,在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入所述地址映射表中;
根据需要拷贝的数据块数量M,将(LAdest+1,PAsrc+1)、(LAdest+2,PAsrc+2)、……、(LAdest+M-1,PAsrc+M-1)写入所述地址映射表中,完成对数据的无复制拷贝。
与现有技术相比,本发明的有益效果为:本发明通过维护一张逻辑地址LA到物理地址PA的地址映射表、以及一张由物理地址PAdest与多个逻辑地址LAi的映射关系组成的反向地址映射表,当固态硬盘需要拷贝的时候,根据无复制拷贝命令中的源逻辑地址LAsrc、目标逻辑地址LAdest、和需要拷贝的数据块数量对地址映射表和反向地址映射表进行修改,将拷贝的目标逻辑地址指向源逻辑地址映射到的物理逻辑地址即可,这样对该目标逻辑地址的访问就会获得和源逻辑地址一样的数据,数据不需要作物理拷贝,大大地减少了固态硬盘中不必要的写操作,从而降低了拷贝时间、延长了固态硬盘的使用寿命、提高了数据可靠性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。
图1是本发明具体实施方式中提供的一种在固态硬盘的FTL实现数据拷贝的方法的实施例的方法流程图。
图2是本发明具体实施方式中提供的一种在固态硬盘的FTL实现数据拷贝的方法的另一实施例的方法流程图。
图3是本发明具体实施方式中提供的一种在固态硬盘的FTL实现数据拷贝的***的实施例的结构框图。
具体实施方式
为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图1~2对本发明实施例提供的一种在固态硬盘的FTL实现数据拷贝的方法作进一步的详细描述。请参考图1,其是本发明具体实施方式中提供的一种在固态硬盘的FTL实现数据拷贝的方法的第一实施例的方法流程图。如图1所示,在一些实施例中,该方法包括步骤S101~步骤S103,具体如下:
步骤S101:FTL维护一张逻辑地址LA到物理地址PA的地址映射表;对成为拷贝目标的物理地址PAdest维护一个数组或链表,以记录映射到物理地址PAdest的一个或多个逻辑地址LAi,其中i=1、2、3……N,N≥1,这些从物理地址PAdest到多个逻辑地址LAi的映射组成一个反向地址映射表,维护该反向地址映射表,N称为映射计数。
步骤S102:接收软件发送给固态硬盘的无复制拷贝命令,所述无复制拷贝命令包括拷贝的源逻辑地址LAsrc、目标逻辑地址LAdest、和需要拷贝的数据块数量M,M为正整数。
在一些实施例中,所述软件包括主机中的应用程序和操作***中的***软件。接收软件发送给固态硬盘的无复制拷贝命令具体为:接收软件通过一个操作***调用发送给固态硬盘的无复制拷贝命令,这是针对应用程序来说的,应用程序需要通过操作***调用把无复制拷贝命令发送给FTL。
步骤S103:根据所述无复制拷贝命令对地址映射表和反向地址映射表进行修改,以将目标逻辑地址LAdest指向源逻辑地址LAsrc映射到的物理地址,完成对数据的无复制拷贝。
在一些优选的实施例中,步骤S103:根据所述无复制拷贝命令对地址映射表和反向地址映射表进行修改,完成对数据的无复制拷贝包括:
步骤S1031:FTL查找所述地址映射表判断目标逻辑地址LAdest是否已映射到一个物理地址PAdest上,若否,在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入地址映射表中;若是,将在物理地址PAdest上的闪存页作废掉(若为物理页地址,则将在物理页地址上的闪存页作废掉,需要说明的是闪存不支持直接的页修改或删除。只能先标记该页为无用页,以后再以更大的数据单位擦除,擦除以后该位置才可重新写),在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入所述地址映射表中。
反向地址映射表不能因为突然掉电等事故原因丢失,需要用超级电容或电池的有限电力在事故发生后紧急写回。考虑到有限电力只能讲少量的数据写回,并且SSD内的DRAM容量有限,反向地址映射表需要限制在一定的大小以内,为此,可通过采取以下两种方法缩小反向地址映射表:(1)定期将其写回,确保在DRAM中的脏页的大小在容许的范围内;(2)定期将映射计数为1的表项从反向地址映射表中删除。如果有必要,将与映射计数N≥1的物理页相联的逻辑页分别写到不同的物理页上,从而将它们的映射计数降成1并被删除。
步骤S1032:根据需要拷贝的数据块数量M,将(LAdest+1,PAsrc+1)、(LAdest+2,PAsrc+2)、……、(LAdest+M-1,PAsrc+M-1)写入所述地址映射表中,完成对数据的无复制拷贝。
图2是本发明具体实施方式中提供的一种在固态硬盘的FTL实现数据拷贝的方法的另一实施例的方法流程图,如图2所示,作为一个实施例,在所述这些从物理地址PAdest到多个逻辑地址LAi的映射组成一个反向地址映射表,维护该反向地址映射表,N称为映射计数之后还包括步骤S104:FTL在进行垃圾收集、静态磨损平衡时,若涉及的逻辑地址或物理地址在所述反向地址映射表中,则对地址映射表和反向地址映射表进行相应的更新。这样当逻辑地址与物理地址的映射关系发生变化时,能及时对地址映射表和反地址映射表进行更新,以保证后续实现数据复制时的准确性。
作为一个实施例FTL维护一张逻辑块地址LBA到物理块地址PBA的地址映射表;FTL查找所述地址映射表判断目标块地址LBAdest是否已映射到一个物理块地址PBAdest上,若否,在所述地址映射表上查出与目标块地址LBAdest对应的源地址LBAsrc的物理地址PBAsrc,并将物理地址PBAsrc作为目标逻辑块地址LBAdest的物理块地址,即将(LBAdest,PBAsrc)写入地址映射表中;若是,将在物理块地址PBAdest上的闪存块作废掉,在所述地址映射表上查出与目标逻辑块地址LBAdest对应的源逻辑块地址LBAsrc的物理块地址PBAsrc,并将物理块地址PBAsrc作为目标逻辑块地址LBAdest的物理块地址,即将(LBAdest,PBAsrc)写入表中;对成为拷贝目标的物理块地址PBAdest维护一个数组或链表,以记录映射到物理块地址PBAdest的一个或多个逻辑块地址LBAi,其中i=1、2、3……N,N≥1,物理块地址PBAdest与多个逻辑块地址LBAi的映射关系组成一个反向地址映射表,N称为映射计数,每个在反向地址映射表中的物理块地址PBAdest都维护一个映射计数N。
在本实施例中,拷贝的源数据和目标数据是一样的,数据不用作物理拷贝,只需修改有关地址的映射关系就可以,具体作法是:将拷贝的目标逻辑地址指向源逻辑地址映射到的物理逻辑地址即可,这样对该目标逻辑地址的访问就会获得和源逻辑地址一样的数据,从功能上看就有了拷贝的效果。需要澄清的是,SSD的使用(读或写)是一定的数据大小为读写单位(比如4KB)为单位的,这个单位通常称为块。在SSD的内部管理中也是以一定的数据单位从其内部的闪存读写数据的,这个单位通常称为页。这两个单位可能不一样大,但不影响我们的设计。所以为理解方便,可以认为它们一样大。
在一些实施例中,零数据复制的无复制拷贝命令可以通过一个操作***调用提供给应用程序,大量的各种应用和***程序可以使用这个操作***调用或无复制拷贝命令极大地提高性能,将原来的由读写两个步骤实现的数据在固态硬盘上的物理拷贝替换成一个无复制拷贝的***调用或无复制拷贝命令就可以。无复制拷贝命令可应用于以下应用场景:1.数据库或文件***中日志操作;2.在支持Container虚拟执行环境的OverlayFS/UnionFS中文件写操作;3.固态硬盘全盘的去碎片化操作;4.在文件中增加或减少块的操作;5.实现块级别的去冗余的软件。使用无复制拷贝可以大大提高软件的性能,除了提供I/O性能外,还大大减少了固态硬盘闪存内的不必要的写操作,从而大大地延长了固态硬盘存储器的使用寿命和提高数据的可靠性。
综上所述,本实施例通过维护一张逻辑地址LA到物理地址PA的地址映射表、以及一张由物理地址PAdest与多个逻辑地址LAi的映射关系组成的反向地址映射表,当固态硬盘需要拷贝的时候,根据无复制拷贝命令中的源逻辑地址LAsrc、目标逻辑地址LAdest、和需要拷贝的数据块数量对地址映射表和反向地址映射表进行修改,将拷贝的目标逻辑地址指向源逻辑地址映射到的物理逻辑地址即可,这样对该目标逻辑地址的访问就会获得和源逻辑地址一样的数据,数据不需要作物理拷贝,大大地提高了I/O性能,大大地减少了固态硬盘中不必要的写操作,从而降低了拷贝时间、延长了固态硬盘的使用寿命、提高了数据可靠性。
以下是本发明具体实施方式中提供的一种在固态硬盘的FTL实现数据拷贝的***的实施例,***的实施例基于上述的方法的实施例实现,在***中未尽的描述,请参考前述方法的实施例。
请参考图3,其是本发明具体实施方式中提供的一种在固态硬盘的FTL实现数据拷贝的***的实施例的结构方框图。如图3所示,该***包括:
映射表维护模块10,维护一张逻辑地址LA到物理地址PA的地址映射表;对成为拷贝目标的物理地址PAdest维护一个数组或链表,以记录映射到物理地址PAdest的一个或多个逻辑地址LAi,其中i=1、2、3……N,N≥1,这些从物理地址PAdest到多个逻辑地址LAi的映射组成一个反向地址映射表,维护该反向地址映射表,N称为映射计数。
命令接收模块20,用于接收软件发送给固态硬盘的无复制拷贝命令,所述无复制拷贝命令包括拷贝的源逻辑地址LAsrc、目标逻辑地址LAdest、和需要拷贝的数据块数量M,M为正整数。在一些实施例中,所述软件包括主机中的应用程序和操作***中的***软件。接收软件发送给固态硬盘的无复制拷贝命令具体为:接收软件通过一个操作***调用发送给固态硬盘的无复制拷贝命令,这是针对应用程序来说的,应用程序需要通过操作***调用把无复制拷贝命令发送给FTL。
修改模块30,用于根据所述无复制拷贝命令对地址映射表和反向地址映射表进行修改,以将目标逻辑地址LAdest指向源逻辑地址LAsrc映射到的物理地址,完成对数据的无复制拷贝。
在一些实施例中,修改模块30具体用于:查找所述地址映射表判断目标逻辑地址LAdest是否已映射到一个物理地址PAdest上,若否,在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入地址映射表中;若是,将在物理地址PAdest上的闪存页作废掉,在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入所述地址映射表中;根据需要拷贝的数据块数量M,将(LAdest+1,PAsrc+1)、(LAdest+2,PAsrc+2)、……、(LAdest+M-1,PAsrc+M-1)写入所述地址映射表中,完成对数据的无复制拷贝。
在一些实施例中,修改模块30还用于:在进行垃圾收集、静态磨损平衡时,若涉及的逻辑地址或物理地址在所述反向地址映射表中,则对地址映射表和反向地址映射表进行相应的更新。
综上所述,本实施例提供的在固态硬盘的FTL实现数据拷贝的***通过维护一张逻辑地址LA到物理地址PA的地址映射表、以及一张由物理地址PAdest与多个逻辑地址LAi的映射关系组成的反向地址映射表,当固态硬盘需要拷贝的时候,根据无复制拷贝命令中的源逻辑地址LAsrc、目标逻辑地址LAdest、和需要拷贝的数据块数量对地址映射表和反向地址映射表进行修改,将拷贝的目标逻辑地址指向源逻辑地址映射到的物理逻辑地址即可,这样对该目标逻辑地址的访问就会获得和源逻辑地址一样的数据,数据不需要作物理拷贝,大大地提高了I/O性能,大大地减少了固态硬盘中不必要的写操作,从而降低了拷贝时间、延长了固态硬盘的使用寿命、提高了数据可靠性。
本发明实施例还提供了一种固态硬盘,该固态硬盘的FTL用于执行上述方法实施例中的步骤S101~步骤S103,具体如下:
步骤S101:维护一张逻辑地址LA到物理地址PA的地址映射表;对成为拷贝目标的物理地址PAdest维护一个数组或链表,以记录映射到物理地址PAdest的一个或多个逻辑地址LAi,其中i=1、2、3……N,N≥1,这些从物理地址PAdest到多个逻辑地址LAi的映射组成一个反向地址映射表,维护该反向地址映射表,N称为映射计数。
步骤S102:接收软件发送给固态硬盘的无复制拷贝命令,所述无复制拷贝命令包括拷贝的源逻辑地址LAsrc、目标逻辑地址LAdest、和需要拷贝的数据块数量M,M为正整数。
步骤S103:根据所述无复制拷贝命令对地址映射表和反向地址映射表进行修改,以将目标逻辑地址LAdest指向源逻辑地址LAsrc映射到的物理地址,完成对数据的无复制拷贝。
在一些优选的实施例中,步骤S103:根据所述无复制拷贝命令对地址映射表和反向地址映射表进行修改,完成对数据的无复制拷贝包括步骤S1031-步骤S1032,具体如下:
步骤S1031:FTL查找所述地址映射表判断目标逻辑地址LAdest是否已映射到一个物理地址PAdest上,若否,在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入地址映射表中;若是,将在物理地址PAdest上的闪存页作废掉,在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入所述地址映射表中。
步骤S1032:根据需要拷贝的数据块数量M,将(LAdest+1,PAsrc+1)、(LAdest+2,PAsrc+2)、……、(LAdest+M-1,PAsrc+M-1)写入所述地址映射表中,完成对数据的无复制拷贝。
本实施例提供的固态硬盘还用于执行上述的方法的实施例的其他步骤和内容,在固态硬盘中未尽的描述,请参考前述方法的实施例。
本实施例提供的固态硬盘通过维护一张逻辑地址LA到物理地址PA的地址映射表、以及一张由物理地址PAdest与多个逻辑地址LAi的映射关系组成的反向地址映射表,当固态硬盘需要拷贝的时候,根据无复制拷贝命令中的源逻辑地址LAsrc、目标逻辑地址LAdest、和需要拷贝的数据块数量对地址映射表和反向地址映射表进行修改,将拷贝的目标逻辑地址指向源逻辑地址映射到的物理逻辑地址即可,这样对该目标逻辑地址的访问就会获得和源逻辑地址一样的数据,数据不需要作物理拷贝,大大地提高了I/O性能,大大地减少了固态硬盘中不必要的写操作,从而降低了拷贝时间、延长了固态硬盘的使用寿命、提高了数据可靠性。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。
Claims (10)
1.一种在固态硬盘的FTL实现数据拷贝的方法,其特征在于,该方法包括:
FTL维护一张逻辑地址LA到物理地址PA的地址映射表;对成为拷贝目标的物理地址PAdest维护一个数组或链表,以记录映射到物理地址PAdest的一个或多个逻辑地址LAi,其中i=1、2、3……N,N≥1,这些从物理地址PAdest到多个逻辑地址LAi的映射组成一个反向地址映射表,维护该反向地址映射表,N称为映射计数;
接收软件发送给固态硬盘的无复制拷贝命令,所述无复制拷贝命令包括拷贝的源逻辑地址LAsrc、目标逻辑地址LAdest、和需要拷贝的数据块数量M;
根据所述无复制拷贝命令对地址映射表和反向地址映射表进行修改,以将目标逻辑地址LAdest指向源逻辑地址LAsrc映射到的物理地址,完成对数据的无复制拷贝。
2.根据权利要求1所述的一种在固态硬盘的FTL实现数据拷贝的方法,其特征在于,所述根据所述无复制拷贝命令对地址映射表和反向地址映射表进行修改,完成对数据的无复制拷贝包括:
FTL查找所述地址映射表判断目标逻辑地址LAdest是否已映射到一个物理地址PAdest上,若否,在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入地址映射表中;若是,将在物理地址PAdest上的闪存页作废掉,在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入所述地址映射表中;
根据需要拷贝的数据块数量M,将(LAdest+1,PAsrc+1)、(LAdest+2,PAsrc+2)、……、(LAdest+M-1,PAsrc+M-1)写入所述地址映射表中,完成对数据的无复制拷贝。
3.根据权利要求1所述的一种在固态硬盘的FTL实现数据拷贝的方法,其特征在于,接收软件发送给固态硬盘的无复制拷贝命令具体为:接收软件通过一个操作***调用发送给固态硬盘的无复制拷贝命令。
4.根据权利要求1所述的一种在固态硬盘的FTL实现数据拷贝的方法,其特征在于,在所述这些从物理地址PAdest到多个逻辑地址LAi的映射组成一个反向地址映射表,维护该反向地址映射表,N称为映射计数之后还包括:FTL在进行垃圾收集、静态磨损平衡时,若涉及的逻辑地址或物理地址在所述反向地址映射表中,则对地址映射表和反向地址映射表进行相应的更新。
5.一种在固态硬盘的FTL实现数据拷贝的***,其特征在于,该***包括:
映射表维护模块,维护一张逻辑地址LA到物理地址PA的地址映射表;对成为拷贝目标的物理地址PAdest维护一个数组或链表,以记录映射到物理地址PAdest的一个或多个逻辑地址LAi,其中i=1、2、3……N,N≥1,这些从物理地址PAdest到多个逻辑地址LAi的映射组成一个反向地址映射表,维护该反向地址映射表,N称为映射计数;
命令接收模块,用于接收软件发送给固态硬盘的无复制拷贝命令,所述无复制拷贝命令包括拷贝的源逻辑地址LAsrc、目标逻辑地址LAdest、和需要拷贝的数据块数量M;
修改模块,用于根据所述无复制拷贝命令对地址映射表和反向地址映射表进行修改,以将目标逻辑地址LAdest指向源逻辑地址LAsrc映射到的物理地址,完成对数据的无复制拷贝。
6.根据权利要求5所述的一种在固态硬盘的FTL实现数据拷贝的***,其特征在于,所述修改模块具体用于:
查找所述地址映射表判断目标逻辑地址LAdest是否已映射到一个物理地址PAdest上,若否,在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入地址映射表中;若是,将在物理地址PAdest上的闪存页作废掉,在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入所述地址映射表中;
根据需要拷贝的数据块数量M,将(LAdest+1,PAsrc+1)、(LAdest+2,PAsrc+2)、……、(LAdest+M-1,PAsrc+M-1)写入所述地址映射表中,完成对数据的无复制拷贝。
7.根据权利要求5所述的一种在固态硬盘的FTL实现数据拷贝的***,其特征在于,所述接收软件发送给固态硬盘的无复制拷贝命令具体为:接收软件通过一个操作***调用发送给固态硬盘的无复制拷贝命令。
8.根据权利要求5所述的一种在固态硬盘的FTL实现数据拷贝的***,其特征在于,所述修改模块还用于:在进行垃圾收集、静态磨损平衡时,若涉及的逻辑地址或物理地址在所述反向地址映射表中,则对地址映射表和反向地址映射表进行相应的更新。
9.一种固态硬盘,其特征在于,所述固态硬盘的FTL用于执行以下步骤:
维护一张逻辑地址LA到物理地址PA的地址映射表;对成为拷贝目标的物理地址PAdest维护一个数组或链表,以记录映射到物理地址PAdest的一个或多个逻辑地址LAi,其中i=1、2、3……N,N≥1,这些从物理地址PAdest到多个逻辑地址LAi的映射组成一个反向地址映射表,维护该反向地址映射表,N称为映射计数;
接收软件发送给固态硬盘的无复制拷贝命令,所述无复制拷贝命令包括拷贝的源逻辑地址LAsrc、目标逻辑地址LAdest、和需要拷贝的数据块数量M;
根据所述无复制拷贝命令对地址映射表和反向地址映射表进行修改,以将目标逻辑地址LAdest指向源逻辑地址LAsrc映射到的物理地址,完成对数据的无复制拷贝。
10.根据权利要求9所述的一种固态硬盘,其特征在于,所述根据所述无复制拷贝命令对地址映射表和反向地址映射表进行修改,完成对数据的无复制拷贝包括:
FTL查找所述地址映射表判断目标逻辑地址LAdest是否已映射到一个物理地址PAdest上,若否,在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入地址映射表中;若是,将在物理地址PAdest上的闪存页作废掉,在所述地址映射表上查出源逻辑地址LAsrc对应的的物理地址PAsrc,并将物理地址PAsrc作为目标逻辑地址LAdest的物理地址,即将(LAdest,PAsrc)写入所述地址映射表中;
根据需要拷贝的数据块数量M,将(LAdest+1,PAsrc+1)、(LAdest+2,PAsrc+2)、……、(LAdest+M-1,PAsrc+M-1)写入所述地址映射表中,完成对数据的无复制拷贝。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710591084.4A CN107391391B (zh) | 2017-07-19 | 2017-07-19 | 在固态硬盘的ftl实现数据拷贝的方法、***及固态硬盘 |
PCT/CN2018/094548 WO2019015479A1 (zh) | 2017-07-19 | 2018-07-04 | 在固态硬盘的ftl实现数据拷贝的方法、***及固态硬盘 |
US16/711,418 US20200117368A1 (en) | 2017-07-19 | 2019-12-11 | Method for achieving data copying in ftl of solid state drive, system and solid state drive |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710591084.4A CN107391391B (zh) | 2017-07-19 | 2017-07-19 | 在固态硬盘的ftl实现数据拷贝的方法、***及固态硬盘 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107391391A true CN107391391A (zh) | 2017-11-24 |
CN107391391B CN107391391B (zh) | 2019-05-14 |
Family
ID=60335828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710591084.4A Active CN107391391B (zh) | 2017-07-19 | 2017-07-19 | 在固态硬盘的ftl实现数据拷贝的方法、***及固态硬盘 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200117368A1 (zh) |
CN (1) | CN107391391B (zh) |
WO (1) | WO2019015479A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021515A (zh) * | 2017-12-29 | 2018-05-11 | 苏州大学 | Mlc nand闪存关键数据的存储方法、固态硬盘和计算机 |
WO2019015479A1 (zh) * | 2017-07-19 | 2019-01-24 | 深圳大普微电子科技有限公司 | 在固态硬盘的ftl实现数据拷贝的方法、***及固态硬盘 |
CN110462577A (zh) * | 2017-12-28 | 2019-11-15 | 华为技术有限公司 | 一种数据写入的方法及固态硬盘阵列 |
WO2020052216A1 (zh) * | 2018-09-12 | 2020-03-19 | 华为技术有限公司 | 一种***垃圾回收方法和固态硬盘中的垃圾回收方法 |
CN110895513A (zh) * | 2018-09-12 | 2020-03-20 | 华为技术有限公司 | 一种***垃圾回收方法和固态硬盘中的垃圾回收方法 |
CN111597159A (zh) * | 2020-07-27 | 2020-08-28 | 成都智明达电子股份有限公司 | 一种提高ext4文件***读写速率的方法 |
CN111913892A (zh) * | 2019-05-09 | 2020-11-10 | 北京忆芯科技有限公司 | 使用cmb提供开放通道存储设备 |
CN113742255A (zh) * | 2021-08-26 | 2021-12-03 | 合肥康芯威存储技术有限公司 | 一种无效标记命令的处理方法、***及数据存储设备 |
WO2023221403A1 (zh) * | 2022-05-18 | 2023-11-23 | 苏州忆联信息***有限公司 | 数据快速拷贝的方法、装置、计算机设备及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200095103A (ko) | 2019-01-31 | 2020-08-10 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
KR20200117256A (ko) * | 2019-04-03 | 2020-10-14 | 에스케이하이닉스 주식회사 | 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10860228B1 (en) * | 2019-06-24 | 2020-12-08 | Western Digital Technologies, Inc. | Method to switch between traditional SSD and open-channel SSD without data loss |
US11977783B2 (en) * | 2021-10-28 | 2024-05-07 | Silicon Motion, Inc. | Method and apparatus for performing data access control of memory device with aid of predetermined command |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020161984A1 (en) * | 2000-03-01 | 2002-10-31 | Kevin Lloyd-Jones | Address mapping in solid state storage device |
CN101120305A (zh) * | 2005-02-03 | 2008-02-06 | 国际商业机器公司 | 新型即时复制操作 |
CN102830942A (zh) * | 2012-06-28 | 2012-12-19 | 记忆科技(深圳)有限公司 | 固态硬盘磁盘阵列映射的方法及其固态硬盘 |
CN102866955A (zh) * | 2012-09-14 | 2013-01-09 | 记忆科技(深圳)有限公司 | 一种闪存数据管理方法及*** |
CN103064765A (zh) * | 2012-12-28 | 2013-04-24 | 华为技术有限公司 | 数据恢复方法、装置及集群存储*** |
CN103473266A (zh) * | 2013-08-09 | 2013-12-25 | 记忆科技(深圳)有限公司 | 固态硬盘及其删除重复数据的方法 |
CN103530062A (zh) * | 2012-07-03 | 2014-01-22 | 群联电子股份有限公司 | 数据存储方法、存储器控制器与存储器存储装置 |
CN103678166A (zh) * | 2013-08-16 | 2014-03-26 | 记忆科技(深圳)有限公司 | 一种采用固态硬盘作为计算机高速缓存的实现方法及*** |
US8769350B1 (en) * | 2011-09-20 | 2014-07-01 | Advent Software, Inc. | Multi-writer in-memory non-copying database (MIND) system and method |
CN104281538A (zh) * | 2013-07-03 | 2015-01-14 | 联想(北京)有限公司 | 一种存储设备的扩容及快照方法和存储设备 |
US20150089009A1 (en) * | 2013-09-23 | 2015-03-26 | Red Hat Israel, Ltd. | Remote direct memory access with copy-on-write support |
CN105912277A (zh) * | 2016-04-29 | 2016-08-31 | 上海交通大学 | 在虚拟机镜像中实现文件***单写日志的方法 |
CN105988723A (zh) * | 2015-02-12 | 2016-10-05 | 中兴通讯股份有限公司 | 一种快照处理方法及装置 |
CN106598493A (zh) * | 2016-11-30 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种固态硬盘地址映射表管理方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100383763C (zh) * | 2004-02-27 | 2008-04-23 | 中国人民解放军国防科学技术大学 | 基于操作***反向页表的页迁移和复制方法 |
CN101533337B (zh) * | 2009-05-05 | 2012-04-04 | 成都市华为赛门铁克科技有限公司 | 固态硬盘数据管理方法及设备 |
CN102622307B (zh) * | 2012-02-27 | 2016-03-30 | 记忆科技(深圳)有限公司 | 硬盘数据的操作方法和硬盘控制器 |
US9135121B2 (en) * | 2012-10-16 | 2015-09-15 | International Business Machines Corporation | Managing updates and copying data in a point-in-time copy relationship expressed as source logical addresses and target logical addresses |
CN107391391B (zh) * | 2017-07-19 | 2019-05-14 | 深圳大普微电子科技有限公司 | 在固态硬盘的ftl实现数据拷贝的方法、***及固态硬盘 |
-
2017
- 2017-07-19 CN CN201710591084.4A patent/CN107391391B/zh active Active
-
2018
- 2018-07-04 WO PCT/CN2018/094548 patent/WO2019015479A1/zh active Application Filing
-
2019
- 2019-12-11 US US16/711,418 patent/US20200117368A1/en not_active Abandoned
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020161984A1 (en) * | 2000-03-01 | 2002-10-31 | Kevin Lloyd-Jones | Address mapping in solid state storage device |
CN101120305A (zh) * | 2005-02-03 | 2008-02-06 | 国际商业机器公司 | 新型即时复制操作 |
US8769350B1 (en) * | 2011-09-20 | 2014-07-01 | Advent Software, Inc. | Multi-writer in-memory non-copying database (MIND) system and method |
CN102830942A (zh) * | 2012-06-28 | 2012-12-19 | 记忆科技(深圳)有限公司 | 固态硬盘磁盘阵列映射的方法及其固态硬盘 |
CN103530062A (zh) * | 2012-07-03 | 2014-01-22 | 群联电子股份有限公司 | 数据存储方法、存储器控制器与存储器存储装置 |
CN102866955A (zh) * | 2012-09-14 | 2013-01-09 | 记忆科技(深圳)有限公司 | 一种闪存数据管理方法及*** |
CN103064765A (zh) * | 2012-12-28 | 2013-04-24 | 华为技术有限公司 | 数据恢复方法、装置及集群存储*** |
CN104281538A (zh) * | 2013-07-03 | 2015-01-14 | 联想(北京)有限公司 | 一种存储设备的扩容及快照方法和存储设备 |
CN103473266A (zh) * | 2013-08-09 | 2013-12-25 | 记忆科技(深圳)有限公司 | 固态硬盘及其删除重复数据的方法 |
CN103678166A (zh) * | 2013-08-16 | 2014-03-26 | 记忆科技(深圳)有限公司 | 一种采用固态硬盘作为计算机高速缓存的实现方法及*** |
US20150089009A1 (en) * | 2013-09-23 | 2015-03-26 | Red Hat Israel, Ltd. | Remote direct memory access with copy-on-write support |
CN105988723A (zh) * | 2015-02-12 | 2016-10-05 | 中兴通讯股份有限公司 | 一种快照处理方法及装置 |
CN105912277A (zh) * | 2016-04-29 | 2016-08-31 | 上海交通大学 | 在虚拟机镜像中实现文件***单写日志的方法 |
CN106598493A (zh) * | 2016-11-30 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种固态硬盘地址映射表管理方法 |
Non-Patent Citations (2)
Title |
---|
柯剑等: "动态地址映射虚拟存储***", 《计算机工程》 * |
王强等: "一种基于访存行为地址映射机制的混合内存***", 《小型微型计算机***》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019015479A1 (zh) * | 2017-07-19 | 2019-01-24 | 深圳大普微电子科技有限公司 | 在固态硬盘的ftl实现数据拷贝的方法、***及固态硬盘 |
US11243701B2 (en) | 2017-12-28 | 2022-02-08 | Huawei Technologies Co., Ltd. | Data write method and solid-state drive array |
CN110462577A (zh) * | 2017-12-28 | 2019-11-15 | 华为技术有限公司 | 一种数据写入的方法及固态硬盘阵列 |
CN108021515A (zh) * | 2017-12-29 | 2018-05-11 | 苏州大学 | Mlc nand闪存关键数据的存储方法、固态硬盘和计算机 |
WO2020052216A1 (zh) * | 2018-09-12 | 2020-03-19 | 华为技术有限公司 | 一种***垃圾回收方法和固态硬盘中的垃圾回收方法 |
CN110895513A (zh) * | 2018-09-12 | 2020-03-20 | 华为技术有限公司 | 一种***垃圾回收方法和固态硬盘中的垃圾回收方法 |
US11928053B2 (en) | 2018-09-12 | 2024-03-12 | Huawei Technologies Co., Ltd. | System garbage collection method and method for garbage collection in solid state disk |
CN111913892A (zh) * | 2019-05-09 | 2020-11-10 | 北京忆芯科技有限公司 | 使用cmb提供开放通道存储设备 |
CN111913892B (zh) * | 2019-05-09 | 2021-12-07 | 北京忆芯科技有限公司 | 使用cmb提供开放通道存储设备 |
CN111597159A (zh) * | 2020-07-27 | 2020-08-28 | 成都智明达电子股份有限公司 | 一种提高ext4文件***读写速率的方法 |
CN113742255A (zh) * | 2021-08-26 | 2021-12-03 | 合肥康芯威存储技术有限公司 | 一种无效标记命令的处理方法、***及数据存储设备 |
CN113742255B (zh) * | 2021-08-26 | 2023-08-08 | 合肥康芯威存储技术有限公司 | 一种无效标记命令的处理方法、***及数据存储设备 |
WO2023221403A1 (zh) * | 2022-05-18 | 2023-11-23 | 苏州忆联信息***有限公司 | 数据快速拷贝的方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20200117368A1 (en) | 2020-04-16 |
WO2019015479A1 (zh) | 2019-01-24 |
CN107391391B (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391391B (zh) | 在固态硬盘的ftl实现数据拷贝的方法、***及固态硬盘 | |
KR101852668B1 (ko) | 어드레스 매핑 | |
US10430084B2 (en) | Multi-tiered memory with different metadata levels | |
US10133511B2 (en) | Optimized segment cleaning technique | |
Jiang et al. | S-FTL: An efficient address translation for flash memory by exploiting spatial locality | |
US8996797B1 (en) | Dense tree volume metadata update logging and checkpointing | |
KR101717644B1 (ko) | 고체-상태 저장 디바이스 상에서 데이터를 캐싱하는 장치, 시스템, 및 방법 | |
CN102981963B (zh) | 一种固态盘的闪存转换层的实现方法 | |
US9256527B2 (en) | Logical to physical address mapping in storage systems comprising solid state memory devices | |
CN110058822B (zh) | 一种磁盘阵列横向拓展方法 | |
US11144224B2 (en) | Locality-aware, memory-efficient, time-efficient hot data identification using count-min-sketch for flash or streaming applications | |
Xu et al. | CAST: A page-level FTL with compact address mapping and parallel data blocks | |
Park et al. | A lookahead read cache: improving read performance for deduplication backup storage | |
CN113254358A (zh) | 用于地址表高速缓存管理的方法和*** | |
US20210034289A1 (en) | User stream aware file systems with user stream detection | |
CN113253926A (zh) | 提升新型存储器的查询和存储性能的存储内索引构建方法 | |
US11366609B2 (en) | Technique for encoding deferred reference count increments and decrements | |
KR101191650B1 (ko) | 낸드 플래시 메모리에서 데이터의 주소를 사상시키는 장치 및 방법 | |
Lee et al. | Efficient logging of metadata using NVRAM for NAND flash based file system | |
Kang et al. | Muninn: A versioning flash key-value store using an object-based storage model | |
Niu et al. | XPMFS: A new NVM file system for vehicle big data | |
Ryu | A flash translation layer for NAND flash-based multimedia storage devices | |
Kwon et al. | Fast responsive flash translation layer for smart devices | |
Lee et al. | Caching and deferred write of metadata for yaffs2 flash file system | |
Lim et al. | Hashing directory scheme for NAND flash file system |
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 |