CN105224474A - 固态硬盘闪存转换层的实现系统和闪存转换层的实现装置 - Google Patents

固态硬盘闪存转换层的实现系统和闪存转换层的实现装置 Download PDF

Info

Publication number
CN105224474A
CN105224474A CN201410243479.1A CN201410243479A CN105224474A CN 105224474 A CN105224474 A CN 105224474A CN 201410243479 A CN201410243479 A CN 201410243479A CN 105224474 A CN105224474 A CN 105224474A
Authority
CN
China
Prior art keywords
layer
ftl
flash translation
solid state
device object
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
Application number
CN201410243479.1A
Other languages
English (en)
Other versions
CN105224474B (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.)
Shenzhen Tencent Computer Systems Co Ltd
Original Assignee
Shenzhen Tencent Computer Systems Co Ltd
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 Shenzhen Tencent Computer Systems Co Ltd filed Critical Shenzhen Tencent Computer Systems Co Ltd
Priority to CN201410243479.1A priority Critical patent/CN105224474B/zh
Publication of CN105224474A publication Critical patent/CN105224474A/zh
Application granted granted Critical
Publication of CN105224474B publication Critical patent/CN105224474B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种固态硬盘闪存转换层的实现系统和闪存转换层的实现装置,以最大限度地提高固态硬盘的使用性能。所述系统包括应用层、内核层和固态硬盘硬件层,内核层包括闪存转换层;固态硬盘硬件层用于以并发单元为设备对象向内核层提供每个设备对象的属性和操作每个设备对象的物理接口;闪存转换层用于限制业务层对设备对象实施写操作的方式和向应用层提供逻辑接口;应用层用于在业务层的触发下,通过逻辑接口实现对设备对象的管理。本发明大大降低了因SSD固件升级带来的升级成本,降低了闪存转换层在内核层实现的垃圾回收、磨损均衡等操作对业务层I/O造成的影响,延长了固态硬盘的使用寿命。

Description

固态硬盘闪存转换层的实现系统和闪存转换层的实现装置
技术领域
本发明涉及计算机领域,具体涉及固态硬盘闪存转换层的实现系统和闪存转换层的实现装置。
背景技术
现有的固态硬盘(SolidStateDisk,SSD)使用模型是层次化结构,闪存转换层(FlashTranslationLayer,FTL)在SSD内部实现(即device-basedFTL),业务层不参与对SSD中存储介质即闪存(Flash)的管理,FTL算法对业务层透明。
通常情况下,SSD的使用分为3个层次,即应用层(UserSpace)、内核层(Kernel)和SSD硬件层(Hardware),如附图1所示。附图1示例的SSD使用层次中,SSD硬件层以闪存(Flash)作为存储介质,提供硬件基础,对用户提供传统硬盘类似的操作接口和功能。SSD硬件层的核心层次是FTL,FTL对Flash进行管理,将用户访问的逻辑地址映射到Flash的物理地址,并进行物理擦除块(PhysicalEraseBlock,PEB)的磨损均衡、SSD内部的垃圾块回收以及对坏块进行管理等。内核层的作用主要体现在屏蔽硬件的差异,对应用层提供友好的、一致的操作接口;内核层本身又细化为几个层次,一般而言SSD经过SCSI层会被注册成SCSI设备,其主要作用是对上层屏蔽硬盘操作指令的细节;SCSI之上又有通用块(GeneralBlock,GB)层,其作用是对输入/输出(Input/Output,IO)进行调度,使硬盘访问性能最优化,通用块层之上的文件系统(FileSystem,FS)层将SSD以文件的形式对应用层提供友好的接口。应用层是用户程序即SSD的使用者,应用层并不关心SSD的硬件细节,在Linux操作系统中,SSD像其他设备一样被虚拟成文件供用户程序访问。
从上述对现有SSD使用层次的剖析可知,现有的闪存转换层(FTL)是在SSD硬件层实现,这种实现方式带来的缺陷在于:一方面,FTL任何一点改变都需要SSD固件升级来完成,而FTL是在SSD硬件层实现,SSD固件升级的成本相当高,因此不适合业务多样化、使用场景快速变化的互联网海量数据存储需求;另一方面,由于FTL对业务层(在应用层以及内核层实现)透明,业务层不参与对Flash的管理,业务层不了解SSD内部的操作,使得在SSD硬件层进行的垃圾回收、磨损均衡等内部操作对业务层的I/O造成影响,不仅不能最大限度发挥SSD的性能,而且有可能造成I/O毛刺,影响互联网络的高效运营。
发明内容
本发明实施例提供固态硬盘闪存转换层的实现系统和闪存转换层的实现装置,以最大限度地提高固态硬盘的使用性能。
本发明实施例提供一种固态硬盘闪存转换层的实现系统,包括应用层、所述应用层之下的内核层和所述内核层之下的固态硬盘硬件层,所述内核层包括闪存转换层;
所述固态硬盘硬件层,用于以并发单元为设备对象向所述内核层提供每个所述设备对象的属性和操作每个所述设备对象的物理接口,所述并发单元为构成固态硬盘的物理芯片颗粒;
所述闪存转换层,用于限制业务层对所述设备对象实施写操作的方式和向所述应用层提供逻辑接口,所述逻辑接口用于所述业务层通过所述应用层参与对所述设备对象的管理;
所述应用层,用于在所述业务层的触发下,通过所述逻辑接口实现对所述设备对象的管理。
本发明另一实施例提供一种闪存转换层的实现装置,所述装置位于操作系统的内核层,所述装置包括:
逻辑接口模块,用于向所述内核层之上的应用层提供逻辑接口,所述逻辑接口用于所述业务层通过所述应用层参与对设备对象的管理;
算法实现模块,用于实现闪存转换算法;
设备管理模块,用于限制所述业务层对所述设备对象实施写操作的方式;
驱动接口模块,用于向位于所述内核层之下的固态硬盘硬件层提供统一的驱动接口。
从上述本发明实施例可知,一方面,闪存转换层在内核层而不是在固态硬盘硬件层,因此大大降低了因SSD固件升级带来的升级成本,适合业务多样化、使用场景快速变化的互联网海量数据存储需求;另一方面,闪存转换层向应用层提供逻辑接口,使得业务层能够通过这些逻辑接口参与对固态硬盘中物理存储介质Flash的管理,如此,降低了闪存转换层在内核层实现的垃圾回收、磨损均衡等操作对业务层I/O造成的影响,而闪存转换层限制业务层对设备对象实施写操作的方式也优化了固态硬盘的性能,降低了固态硬盘的写放大,延长了固态硬盘的使用寿命。
附图说明
图1是现有技术提供的固态硬盘使用层次示意图;
图2是本发明实施例提供的固态硬盘闪存转换层的实现系统结构示意图;
图3是本发明实施例提供的闪存转换层的实现装置结构示意图。
具体实施方式
本发明实施例提供固态硬盘闪存转换层的实现系统和闪存转换层的实现装置,所述系统包括应用层、所述应用层之下的内核层和所述内核层之下的固态硬盘硬件层,所述内核层包括闪存转换层;所述固态硬盘硬件层,用于以并发单元为设备对象向所述内核层提供每个所述设备对象的属性和操作每个所述设备对象的物理接口,所述并发单元为构成固态硬盘的物理芯片颗粒;所述闪存转换层,用于限制业务层对所述设备对象实施写操作的方式和向所述应用层提供逻辑接口,所述逻辑接口用于所述业务层通过所述应用层参与对所述设备对象的管理;所述应用层,用于在所述业务层的触发下,通过所述逻辑接口实现对所述设备对象的管理。本发明实施例还提供相应的闪存转换层的实现装置。以下分别进行详细说明。
与现有的固态硬盘类似,本发明实施例提供的固态硬盘闪存转换层的实现系统也包括三个层次,即应用层(Userspace)、应用层之下的内核层(Kernel)和内核层之下的固态硬盘硬件层(Hardware),所不同的是,本发明实施例提供的内核层包括闪存转换层(FlashTranslationLayer,FTL),即与通用的SSD相比,FTL被移至操作系统即主机端的内核层实现,如附图2所示。从附图2示例的固态硬盘闪存转换层的实现系统还可以看出,本发明实施例提供的固态硬盘闪存转换层的实现系统中,内核层仅包含FTL和固态硬盘驱动程序(SSDdriver),将原有的虚拟文件系统(VFS)层、文件系统(FS)层以及针对传统硬盘优化的通用块(GB)层和SCSI从内核层剔除,如此精简了内核层的I/O协议栈,减小了开发成本和提高的I/O速率。
在附图2示例的固态硬盘闪存转换层的实现系统中,固态硬盘硬件层是SSD的硬件实现,主要包括物理存储介质即闪存(Flash)和固态硬盘控制器(Controller)。由于闪存转换层FTL被移至内核层,固态硬盘硬件层直接向内核层暴露,此时的固态硬盘被还原成原始状态,呈现为SSD并发单元,即构成固态硬盘的物理芯片颗粒。固态硬盘硬件层的作用在于以并发单元为设备对象向内核层提供每个设备对象的属性和操作每个设备对象的物理接口,具体地,是在向操作系统注册时,向内核层提供每个设备对象的属性和操作每个设备对象的物理接口。需要说明的是,物理接口的“物理”是为了表明内核层与位于其下的固态硬盘硬件层打交道的是物理的操作,例如,物理地址的读写、物理块的擦除等等。
具体地,附图2示例的固态硬盘硬件层以并发单元为设备对象向内核层提供操作每个设备对象的物理接口包括:以并发单元为设备对象向内核层提供操作每个设备对象的物理擦除(Erase)接口、读冗余空间(ReadOOB)接口、写冗余空间(WriteOOB)接口、坏块判断(BlockIsBad)接口和坏块标识(BlockMarkBad)接口中的一种或多种,除此之外,还包括通用SSD具有的写(Write)接口和读(Read)接口,其中,Erase接口被调用时,用于对设备对象进行物理块(PhysicalBlock)的擦除,ReadOOB接口被调用时,用于对OOB进行读操作,WriteOOB接口被调用时,用于对OOB进行写操作,BlockIsBad接口被调用时,用于对物理块是否已损坏进行判断,BlockMarkBad接口被调用时,用于对已损坏的物理块进行标识,Write接口被调用时,用于对设备对象物理地址进行写操作,Read接口被调用时,用于对设备对象物理地址进行读操作。固态硬盘硬件层向内核层提供每个设备对象的属性包括Number、Size、Erasesize、Writesize和Oobsize等,其中,Number为每个设备对象在固态硬盘内部的序号,Size表示每个设备对象的容量大小,Erasesize表示闪存中物理擦除块(PhysicalEraseBlock,PEB)的大小,Writesize表示闪存中物理页(page)的大小,Oobsize表示闪存中每页OOB的大小。在本发明实施例中,OOB表示闪存内部每页后边冗余的空间,通常用于数据纠错和元数据(Metadata)的保存。
在现有的固态硬盘使用层次中,应用层与内核层、固态硬盘硬件层的交互需要先通过虚拟文件系统VFS接口,再通过内核层与固态硬盘硬件层之间的接口,实现对固态硬盘硬件层物理存储介质的访问。在在附图2示例的固态硬盘闪存转换层的实现系统中,闪存转换层向应用层提供逻辑接口,这些逻辑接口用于业务层通过应用层参与对设备对象的管理。需要说明的是,逻辑接口的“逻辑”是为了表明应用层对SSD的操作是对逻辑地址而非物理地址的操作。逻辑接口可以是逻辑读(Read)接口、逻辑写(Write)接口和逻辑擦除(Erase)接口,其中,逻辑Read接口被调用时,用于对设备对象的逻辑地址进行读操作,逻辑Write接口被调用时,用于对设备对象的逻辑地址进行写操作,逻辑Erase接口被调用时,用于对设备对象的逻辑地址进行擦除操作。正是由于闪存转换层向应用层提供了丰富的逻辑接口,业务层才可能根据自身的实际应用场景,触发应用层,从而参与对设备对象的管理。
闪存转换层还用于限制业务层对设备对象实施写操作的方式。具体地,可以是与业务层约定(例如,以通信协议的方法)对设备对象实施写操作时采用物理块内连续写和物理块间随机写的方式。所谓物理块内连续写和物理块间随机写,具体是指要求业务层在对设备对象实施写操作时,在每个物理块内对其页(page)是连续写而不是间隔一个或多个页进行写操作,只有在写满一个物理块后,才可以随机跳转至另一个物理块对其页(page)进行连续的写操作。这种在物理块内连续写和物理块间随机写的方式可以在一定程度上减小垃圾回收(GarbageCollection,GC)的频率,降低固态硬盘的写放大(WriteAmplification,WA),从而延长固态硬盘的使用寿命。
尽管在层次上移至内核层,然而,附图2示例的固态硬盘闪存转换层的实现系统中,闪存转换层仍然需要完成与现有技术提供的闪存转换层类似的功能,例如,逻辑地址到物理地址的映射、磨损均衡以及坏块管理(包括对是否坏块进行判断和对坏块进行标识等等)等,这些可以通过闪存转换层中的算法实现模块实现。
附图2示例的应用层用于在业务层的触发下,通过闪存转换层提供的逻辑接口实现对设备对象的管理。具体地,可以是在业务层的触发下,通过所述逻辑接口向闪存转换层下发读、写和擦除指令,例如,通过对前述实施例提及的逻辑Read接口、逻辑Write接口和逻辑Erase接口的调用,使闪存转换层中的算法实现模块实现闪存转换算法,包括实现逻辑地址到物理地址的映射、磨损均衡以及坏块管理等算法。需要说明的是,在本发明实施例中,在业务层的触发下,通过逻辑接口向闪存转换层下发读、写和擦除指令,使闪存转换层中的算法实现模块实现闪存转换算法,具体是使闪存转换层中的算法实现模块实现垃圾回收算法。当所有固态硬盘的空闲空间被写满之后,固态硬盘的主控芯片(Controller)就会将所有标记为“无效”的块(block)和页(page)都统一进行擦除,然后,将这些离散的数据整合起来重置为“空白”的块空间,这一操作行为就是所谓的垃圾回收(GarbageCollection,GC)。
在本发明实施例中,垃圾回收是由业务层根据需要或者设定一些条件,在条件满足时触发的,例如,业务层可以设定I/O门限值,当实际业务运行时导致I/O低于该门限值时则触发垃圾回收,再如,可以是在某个时间点(例如凌晨2点用户访问少时)触发垃圾回收。具体的垃圾回收方法可通过闪存转换层的算法实现模块的固件程序算法实现,例如,自动为每一个经过擦除处理的“空白”块作一个标记,当整个固态硬盘的垃圾达到一定数量,需要进行垃圾回收时,自动寻找到标记等级较低的块进行垃圾回收。如此,宏观上可以做到减小垃圾回收的频繁程度,降低对业务层I/O的影响,微观上可以做到磨损均衡,确保块的健康,减少对某个块的频繁的垃圾回收,从而降低写放大,延长固态硬盘的使用寿命。
闪存转换层还用于根据业务层的业务特征,对并发单元进行调度。这是由于,闪存转换层被移至内核层,固态硬盘向操作系统呈现的是并发单元,而闪存转换层向应用层提供了丰富的逻辑接口,业务层可以根据自身的业务特征,通过应用层与内核层之间的这些逻辑接口,直接对并发单元操作,例如,在某个时刻对并发单元A实施了读操作,在短时间内需要对固态硬盘实施读操作时,尽可能去访问并发单元B而不是继续访问并发单元A,这种对并发单元的调度方式也可以优化固态硬盘的性能。
从上述本发明实施例可知,一方面,闪存转换层在内核层而不是在固态硬盘硬件层,因此大大降低了因SSD固件升级带来的升级成本,适合业务多样化、使用场景快速变化的互联网海量数据存储需求;另一方面,闪存转换层向应用层提供逻辑接口,使得业务层能够通过这些逻辑接口参与对固态硬盘中物理存储介质Flash的管理,如此,降低了闪存转换层在内核层实现的垃圾回收、磨损均衡等操作对业务层I/O造成的影响,而闪存转换层限制业务层对设备对象实施写操作的方式也优化了固态硬盘的性能,降低了固态硬盘的写放大,延长了固态硬盘的使用寿命。
请参阅附图3,是本发明实施例提供的闪存转换层的实现装置。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图3示例的闪存转换层的实现装置位于操作系统的内核层,该装置包括逻辑接口模块301、算法实现模块302、设备管理模块303和驱动接口模块304,其中:
逻辑接口模块301,用于向内核层之上的应用层提供逻辑接口,所述逻辑接口用于业务层通过所述应用层参与对设备对象的管理。
需要说明的是,逻辑接口模块301向应用层提供的逻辑接口,其中的“逻辑”是为了表明应用层对SSD的操作是对逻辑地址而非物理地址的操作。逻辑接口可以是逻辑读(Read)接口、逻辑写(Write)接口和逻辑擦除(Erase)接口,其中,逻辑Read接口被调用时,用于对设备对象的逻辑地址进行读操作,逻辑Write接口被调用时,用于对设备对象的逻辑地址进行写操作,逻辑Erase接口被调用时,用于对设备对象的逻辑地址进行擦除操作。正是由于闪存转换层向应用层提供了丰富的逻辑接口,业务层才可能根据自身的实际应用场景,触发应用层,从而参与对设备对象的管理。
算法实现模块302,用于实现闪存转换算法。
算法实现模块302用于实现闪存转换算法包括逻辑地址到物理地址的映射、磨损均衡以及坏块管理(包括对是否坏块进行判断和对坏块进行标识等等)等。除了这些基本功能之外,算法实现模块302根据从逻辑接口下发的读、写和擦除指令,实现垃圾回收算法。所谓垃圾回收(GarbageCollection,GC),是指当所有固态硬盘的空闲空间被写满之后,固态硬盘的主控芯片(Controller)就会将所有标记为“无效”的块(block)和页(page)都统一进行擦除,然后,将这些离散的数据整合起来重置为“空白”的块空间。
垃圾回收是由业务层根据需要或者设定一些条件,在条件满足时触发的,例如,业务层可以设定I/O门限值,当实际业务运行时导致I/O低于该门限值时则触发垃圾回收,再如,可以是在某个时间点(例如凌晨2点用户访问少时)触发垃圾回收。具体的垃圾回收方法可通过算法实现模块302的固件程序算法实现,例如,自动为每一个经过擦除处理的“空白”块作一个标记,当整个固态硬盘的垃圾达到一定数量,需要进行垃圾回收时,自动寻找到标记等级较低的块进行垃圾回收。如此,宏观上可以做到减小垃圾回收的频繁程度,降低对业务层I/O的影响,微观上可以做到磨损均衡,确保块的健康,减少对某个块的频繁的垃圾回收,从而降低写放大,延长固态硬盘的使用寿命。
设备管理模块303,用于限制业务层对设备对象实施写操作的方式。
具体地,设备管理模块303可以是与业务层约定(例如,以通信协议的方法)对设备对象实施写操作时采用物理块内连续写和物理块间随机写的方式。所谓物理块内连续写和物理块间随机写,具体是指要求业务层在对设备对象实施写操作时,在每个物理块内对其页(page)是连续写而不是间隔一个或多个页进行写操作,只有在写满一个物理块后,才可以随机跳转至另一个物理块对其页(page)进行连续的写操作。这种在物理块内连续写和物理块间随机写的方式可以在一定程度上减小垃圾回收(GarbageCollection,GC)的频率,降低固态硬盘的写放大(WriteAmplification,WA),从而延长固态硬盘的使用寿命。
设备管理模块303还用于根据业务层的业务特征,对并发单元进行调度。这是由于,闪存转换层被移至内核层,固态硬盘向操作系统呈现的是并发单元,而闪存转换层向应用层提供了丰富的逻辑接口,业务层可以根据自身的业务特征,通过应用层与内核层之间的这些逻辑接口,直接对并发单元操作,例如,在某个时刻对并发单元A实施了读操作,在短时间内需要对固态硬盘实施读操作时,尽可能去访问并发单元B而不是继续访问并发单元A,这种对并发单元的调度方式也可以优化固态硬盘的性能。
驱动接口模块304,用于向位于所述内核层之下的固态硬盘硬件层提供统一的驱动接口。
从上述附图3示例的闪存转换层的实现装置可知,一方面,闪存转换层的实现装置在内核层而不是在固态硬盘硬件层,因此大大降低了因SSD固件升级带来的升级成本,适合业务多样化、使用场景快速变化的互联网海量数据存储需求;另一方面,装置的逻辑接口模块向应用层提供逻辑接口,使得业务层能够通过这些逻辑接口参与对固态硬盘中物理存储介质Flash的管理,如此,降低了闪存转换层的实现装置在内核层实现的垃圾回收、磨损均衡等操作对业务层I/O造成的影响,而设备管理模块限制业务层对设备对象实施写操作的方式也优化了固态硬盘的性能,降低了固态硬盘的写放大,延长了固态硬盘的使用寿命。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,ReadOnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁盘或光盘等。
以上对本发明实施例所提供的固态硬盘闪存转换层的实现系统和闪存转换层的实现装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种固态硬盘闪存转换层的实现系统,包括应用层、所述应用层之下的内核层和所述内核层之下的固态硬盘硬件层,其特征在于,所述内核层包括闪存转换层;
所述固态硬盘硬件层,用于以并发单元为设备对象向所述内核层提供每个所述设备对象的属性和操作每个所述设备对象的物理接口,所述并发单元为构成固态硬盘的物理芯片颗粒;
所述闪存转换层,用于限制业务层对所述设备对象实施写操作的方式和向所述应用层提供逻辑接口,所述逻辑接口用于所述业务层通过所述应用层参与对所述设备对象的管理;
所述应用层,用于在所述业务层的触发下,通过所述逻辑接口实现对所述设备对象的管理。
2.根据权利要求1所述的系统,其特征在于,所述固态硬盘硬件层用于以并发单元为设备对象向所述内核层提供操作每个所述设备对象的物理接口包括:
所述固态硬盘硬件层用于以并发单元为设备对象向所述内核层提供操作每个所述设备对象的物理擦除接口、读冗余空间接口、写冗余空间接口、坏块判断接口和坏块标识接口中的一种或多种。
3.根据权利要求1所述的系统,其特征在于,所述闪存转换层用于限制业务层对所述设备对象实施写操作的方式包括:与业务层约定对所述设备对象实施写操作时采用物理块内连续写和物理块间随机写的方式。
4.根据权利要求1所述的系统,其特征在于,所述闪存转换层用于向所述应用层提供逻辑接口包括所述闪存转换层用于向所述应用层提供逻辑读接口、逻辑写接口和逻辑擦除接口;
所述应用层用于在所述业务层的触发下,通过所述逻辑接口实现对所述设备对象的管理包括:在所述业务层的触发下,通过所述逻辑接口向所述闪存转换层下发读、写和擦除指令,使所述闪存转换层中的算法实现模块实现闪存转换算法。
5.根据权利要求4所述的系统,其特征在于,所述在所述业务层的触发下,通过所述逻辑接口向所述闪存转换层下发读、写和擦除指令,使所述闪存转换层中的算法实现模块实现闪存转换算法包括:使所述闪存转换层中的算法实现模块实现垃圾回收算法。
6.根据权利要求1至5任意一项所述的系统,其特征在于,所述闪存转换层还用于根据所述业务层的业务特征,对所述并发单元进行调度。
7.一种闪存转换层的实现装置,其特征在于,所述装置位于操作系统的内核层,所述装置包括:
逻辑接口模块,用于向所述内核层之上的应用层提供逻辑接口,所述逻辑接口用于业务层通过所述应用层参与对设备对象的管理;
算法实现模块,用于实现闪存转换算法;
设备管理模块,用于限制所述业务层对所述设备对象实施写操作的方式;
驱动接口模块,用于向位于所述内核层之下的固态硬盘硬件层提供统一的驱动接口。
8.根据权利要求7所述的装置,其特征在于,所述设备管理模块用于限制所述业务层对所述设备对象实施写操作的方式包括:与业务层约定对所述设备对象实施写操作时采用物理块内连续写和物理块间随机写的方式。
9.根据权利要求7所述的装置,其特征在于,所述逻辑接口模块用于向所述内核层之上的应用层提供逻辑接口包括:所述逻辑接口模块用于向所述应用层提供逻辑读接口、逻辑写接口和逻辑擦除接口;
所述算法实现模块用于实现闪存转换算法包括:根据从所述逻辑接口下发的读、写和擦除指令,实现垃圾回收算法。
10.根据权利要求7至9任意一项所述的装置,其特征在于,所述设备管理模块还用于:根据所述业务层的业务特征,对所述并发单元进行调度。
CN201410243479.1A 2014-06-03 2014-06-03 固态硬盘闪存转换层的实现系统和闪存转换层的实现装置 Active CN105224474B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410243479.1A CN105224474B (zh) 2014-06-03 2014-06-03 固态硬盘闪存转换层的实现系统和闪存转换层的实现装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410243479.1A CN105224474B (zh) 2014-06-03 2014-06-03 固态硬盘闪存转换层的实现系统和闪存转换层的实现装置

Publications (2)

Publication Number Publication Date
CN105224474A true CN105224474A (zh) 2016-01-06
CN105224474B CN105224474B (zh) 2019-05-31

Family

ID=54993458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410243479.1A Active CN105224474B (zh) 2014-06-03 2014-06-03 固态硬盘闪存转换层的实现系统和闪存转换层的实现装置

Country Status (1)

Country Link
CN (1) CN105224474B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106339182A (zh) * 2016-08-25 2017-01-18 曾美枝 存储器管理方法和装置
CN106354486A (zh) * 2016-08-08 2017-01-25 珠海全志科技股份有限公司 nand flash设备管理的方法和系统
WO2018103010A1 (zh) * 2016-12-07 2018-06-14 华为技术有限公司 一种存储设备管理方法及用户终端
CN108509353A (zh) * 2018-03-14 2018-09-07 清华大学 基于裸闪存的对象存储构建方法及装置
CN108710507A (zh) * 2018-02-11 2018-10-26 深圳忆联信息系统有限公司 一种ssd主机休眠优化的方法
CN110018966A (zh) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 一种存储器、存储系统、主机及数据操作、垃圾回收方法
CN110515547A (zh) * 2019-08-09 2019-11-29 浪潮电子信息产业股份有限公司 一种固态硬盘及计算机设备
CN112002370A (zh) * 2020-07-23 2020-11-27 烽火通信科技股份有限公司 一种识别磁盘异常的方法、装置及分布式存储系统
WO2021120218A1 (zh) * 2019-12-20 2021-06-24 华为技术有限公司 一种提升ssd利用率的方法、存储装置及ssd控制器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236483A (zh) * 2007-02-01 2008-08-06 三星电子株式会社 合作存储器管理
CN101271383A (zh) * 2007-02-13 2008-09-24 三星电子株式会社 操作数据处理系统的系统、方法以及计算机程序产品
CN101916228A (zh) * 2010-08-17 2010-12-15 中国人民解放军国防科学技术大学 带有数据压缩功能的闪存转换层及实现方法
CN103543955A (zh) * 2013-08-05 2014-01-29 记忆科技(深圳)有限公司 利用固态硬盘作为设备读缓存的方法、系统及固态硬盘
CN103744611A (zh) * 2013-12-17 2014-04-23 记忆科技(深圳)有限公司 基于固态硬盘为缓存的计算机系统及缓存加速方法
CN103744612A (zh) * 2013-12-17 2014-04-23 记忆科技(深圳)有限公司 基于闪存转换层的精简配置的方法及其系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236483A (zh) * 2007-02-01 2008-08-06 三星电子株式会社 合作存储器管理
CN101271383A (zh) * 2007-02-13 2008-09-24 三星电子株式会社 操作数据处理系统的系统、方法以及计算机程序产品
CN101916228A (zh) * 2010-08-17 2010-12-15 中国人民解放军国防科学技术大学 带有数据压缩功能的闪存转换层及实现方法
CN103543955A (zh) * 2013-08-05 2014-01-29 记忆科技(深圳)有限公司 利用固态硬盘作为设备读缓存的方法、系统及固态硬盘
CN103744611A (zh) * 2013-12-17 2014-04-23 记忆科技(深圳)有限公司 基于固态硬盘为缓存的计算机系统及缓存加速方法
CN103744612A (zh) * 2013-12-17 2014-04-23 记忆科技(深圳)有限公司 基于闪存转换层的精简配置的方法及其系统

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106354486A (zh) * 2016-08-08 2017-01-25 珠海全志科技股份有限公司 nand flash设备管理的方法和系统
CN106354486B (zh) * 2016-08-08 2019-06-18 珠海全志科技股份有限公司 nand flash设备管理的方法和系统
CN106339182A (zh) * 2016-08-25 2017-01-18 曾美枝 存储器管理方法和装置
WO2018103010A1 (zh) * 2016-12-07 2018-06-14 华为技术有限公司 一种存储设备管理方法及用户终端
CN110018966A (zh) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 一种存储器、存储系统、主机及数据操作、垃圾回收方法
CN108710507A (zh) * 2018-02-11 2018-10-26 深圳忆联信息系统有限公司 一种ssd主机休眠优化的方法
CN108710507B (zh) * 2018-02-11 2021-01-12 深圳忆联信息系统有限公司 一种ssd主机休眠优化的方法
CN108509353A (zh) * 2018-03-14 2018-09-07 清华大学 基于裸闪存的对象存储构建方法及装置
CN110515547A (zh) * 2019-08-09 2019-11-29 浪潮电子信息产业股份有限公司 一种固态硬盘及计算机设备
WO2021120218A1 (zh) * 2019-12-20 2021-06-24 华为技术有限公司 一种提升ssd利用率的方法、存储装置及ssd控制器
CN112002370A (zh) * 2020-07-23 2020-11-27 烽火通信科技股份有限公司 一种识别磁盘异常的方法、装置及分布式存储系统
CN112002370B (zh) * 2020-07-23 2022-04-15 烽火通信科技股份有限公司 一种识别磁盘异常的方法、装置及分布式存储系统

Also Published As

Publication number Publication date
CN105224474B (zh) 2019-05-31

Similar Documents

Publication Publication Date Title
CN105224474A (zh) 固态硬盘闪存转换层的实现系统和闪存转换层的实现装置
TWI385523B (zh) 用於快閃記憶體的資料備份方法及其控制器與儲存系統
TWI596480B (zh) 記憶體儲存系統及其中控裝置、管理方法與斷電復原方法
TWI515735B (zh) 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置
TWI488041B (zh) 儲存媒體的資料存取管理方法及儲存控制器
CN105786411B (zh) 非易失性存储器装置的操作方法
TWI423024B (zh) 用於快閃記憶體的資料儲存方法及其控制器與儲存系統
TWI524183B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI405209B (zh) 資料管理方法及使用此方法的快閃儲存系統與控制器
TWI569139B (zh) 有效資料合併方法、記憶體控制器與記憶體儲存裝置
TWI619018B (zh) 可用於資料儲存裝置之垃圾蒐集方法
US8914608B2 (en) Data storage device and computing system including the same
US9436267B2 (en) Data storage device
CN106681935A (zh) 一种固态硬盘垃圾回收方法
CN102591790B (zh) 基于固态硬盘的数据存储快照实现方法及固态硬盘
CN104461391A (zh) 一种存储设备元数据管理处理方法及系统
TWI470431B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
US8516184B2 (en) Data updating using mark count threshold in non-volatile memory
TWI420308B (zh) 區塊管理方法、記憶體控制器與記憶體儲存裝置
CN105556416A (zh) 数据存储设备/系统中利用低功率状态的停电保护和恢复
CN102508724A (zh) 一种基于软raid的磁盘坏块处理方法
CN106598493A (zh) 一种固态硬盘地址映射表管理方法
US8819387B2 (en) Memory storage device, memory controller, and method for identifying valid data
TWI517165B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI501244B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置

Legal Events

Date Code Title Description
C06 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