CN111367463A - 一种存储空间管理方法及装置 - Google Patents
一种存储空间管理方法及装置 Download PDFInfo
- Publication number
- CN111367463A CN111367463A CN201811595610.5A CN201811595610A CN111367463A CN 111367463 A CN111367463 A CN 111367463A CN 201811595610 A CN201811595610 A CN 201811595610A CN 111367463 A CN111367463 A CN 111367463A
- Authority
- CN
- China
- Prior art keywords
- linked list
- data
- block
- management
- stored
- 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
Images
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/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种存储空间管理方法及装置,该方法包括接收数据存储指令;在空间占用信息小于第一预设空间阈值的情况下,将待存储数据存储在第一管理链表对应的第一Block中;在第一Block中所存储数据的空间占用达到第一空间阈值的情况下,将第一Block中所存储的数据搬移到第二管理链表对应的第二Block中;在第二Block中所存储数据的空间占用达到一个完整Block存储空间阈值的情况下,将第二Block中所存储的数据搬移到第三管理链表对应的第三Block中。本发明实施例中非易失存储器中的存储数据以完整Block的状态存储在第三Block中,避免了非易失存储器的空间碎片化,大大减少了空间浪费。
Description
技术领域
本发明涉及存储器处理技术领域,特别是涉及一种存储空间管理方法及装置。
背景技术
随着各种电子装置及嵌入式***等的发展,非易失性存储器件被广泛应用于电子产品中。以非易失性存储器NAND闪存(NAND Flash Memory)为例,一个Nand闪存为一个设备(device),一个设备可以有2个晶片(Die),一个晶片可以分成两个闪存片(Plane),一个闪存片可以分成2048个块(Block),一个块可以被分成很256个页(Page),一个块也可以对应有256个WL(Word Line,字线)。
现有技术中,在对非易失存储器进行读写等操作时,通常是以Page为单位,因此,在非易失存储器中进行存储空间管理时,通常是以Page为映射单位,在管理链表中记录逻辑Page地址到物理Page地址的映射关系。
然而,发明人在研究上述技术方案的过程中发现,上述技术方案存在如下缺陷:通常的,每个Page的存储空间是16Kb,但是目前多数操作***(如windows等)的读写操作却不足16Kb,而每一次读写操作均会占用一个Page,导致空间浪费严重。
发明内容
鉴于上述问题,提出了本发明实施例的一种存储空间管理方法及装置,以解决空间浪费的问题。
根据本发明的第一方面,提供了一种存储空间管理方法,应用于非易失存储器,所述非易失存储器中预设有第一管理链表、第二管理链表、第三管理链表;所述方法包括:
接收数据存储指令;其中,所述数据存储指令包括:所述数据存储指令对应的待存储数据的空间占用信息;
在所述空间占用信息小于第一预设空间阈值的情况下,将所述待存储数据存储在所述第一管理链表对应的第一Block中,并通过所述第一管理链表中的第一节点记录所述待存储数据的逻辑地址与物理地址的第一映射关系;
在所述第一Block中所存储数据的空间占用达到所述第一空间阈值的情况下,将所述第一Block中所存储的数据搬移到所述第二管理链表对应的第二Block中,并通过所述第二管理链表中的第二节点记录从所述第一Block中搬移数据的逻辑地址与物理地址的第二映射关系;
在所述第二Block中所存储数据的空间占用达到一个完整Block存储空间阈值的情况下,将所述第二Block中所存储的数据搬移到所述第三管理链表对应的第三Block中,并通过所述第三管理链表中的第三节点记录从所述第二Block中搬移数据的逻辑地址与物理地址的第三映射关系。
优选地,所述第一管理链表和所述第二管理链表均为临时管理链表,所述第一管理链表中记录的第一映射关系和所述第二管理链表记录的第二映射关系不保存在所述非易失存储器中;
所述第三管理链表为固定管理链表,所述第三管理链表记录的第三映射关系保存在所述非易失存储器中。
优选地,还包括:
在所述空间占用信息等于所述第一预设空间阈值的情况下,将所述待存储数据存储在所述第二管理链表对应的第二Block中,并通过所述第二管理链表中的节点记录所述待存储数据的逻辑地址与物理地址的第二映射关系。
优选地,所述待存储数据的空间占用信息为:4Kb的整数倍。
优选地,所述第一预设空间阈值为16Kb。
根据本发明的第二方面,提供了一种存储空间管理装置,应用于非易失存储器,所述非易失存储器中预设有第一管理链表、第二管理链表、第三管理链表;所述装置包括:
数据存储指令接收模块,用于接收数据存储指令;其中,所述数据存储指令包括:所述数据存储指令对应的待存储数据的空间占用信息;
第一处理模块,用于在所述空间占用信息小于第一预设空间阈值的情况下,将所述待存储数据存储在所述第一管理链表对应的第一Block中,并通过所述第一管理链表中的第一节点记录所述待存储数据的逻辑地址与物理地址的第一映射关系;
第二处理模块,用于在所述第一Block中所存储数据的空间占用达到所述第一空间阈值的情况下,将所述第一Block中所存储的数据搬移到所述第二管理链表对应的第二Block中,并通过所述第二管理链表中的第二节点记录从所述第一Block中搬移数据的逻辑地址与物理地址的第二映射关系;
第三处理模块,用于在所述第二Block中所存储数据的空间占用达到一个完整Block存储空间阈值的情况下,将所述第二Block中所存储的数据搬移到所述第三管理链表对应的第三Block中,并通过所述第三管理链表中的第三节点记录从所述第二Block中搬移数据的逻辑地址与物理地址的第三映射关系。
优选地,所述第一管理链表和所述第二管理链表均为临时管理链表,所述第一管理链表中记录的第一映射关系和所述第二管理链表记录的第二映射关系不保存在所述非易失存储器中;
所述第三管理链表为固定管理链表,所述第三管理链表记录的第三映射关系保存在所述非易失存储器中。
优选地,还包括:
第四处理模块,用于在所述空间占用信息等于所述第一预设空间阈值的情况下,将所述待存储数据存储在所述第二管理链表对应的第二Block中,并通过所述第二管理链表中的节点记录所述待存储数据的逻辑地址与物理地址的第二映射关系。
优选地,所述待存储数据的空间占用信息为:4Kb的整数倍。
优选地,所述第一预设空间阈值为16Kb。
本发明实施例中,在非易失存储器中预设有第一管理链表、第二管理链表、第三管理链表,第一管理链表、第二管理链表以及第三管理链表分别对应着不同的存储地址,也分别记录着不同的映射关系;在接收到包括空间占用信息的数据存储指令后,可以将空间占用信息与第一预设空间阈值信息进行比较,在空间占用信息小于第一预设空间阈值的情况下,将待存储数据存储在第一管理链表对应的第一Block中,并通过第一管理链表中的第一节点记录待存储数据的逻辑地址与物理地址的第一映射关系;在第一Block中所存储数据的空间占用达到第一空间阈值的情况下,将第一Block中所存储的数据搬移到第二管理链表对应的第二Block中,并通过第二管理链表中的第二节点记录从第一Block中搬移数据的逻辑地址与物理地址的第二映射关系;在第二Block中所存储数据的空间占用达到一个完整Block存储空间阈值的情况下,将第二Block中所存储的数据搬移到第三管理链表对应的第三Block中,并通过第三管理链表中的第三节点记录从第二Block中搬移数据的逻辑地址与物理地址的第三映射关系。即本发明实施例中,将空间占用不足第一预设空间阈值的存储数据通过第一管理链表进行管理,当第一管理链表对应的第一Block达到该第一预设空间阈值时,将第一Block中的数据搬移到第二管理链表对应的第二Block中,在第二Block达到一个完整的Block存储空间阈值时,在将该一个完整的Block内的数据搬移到第三Block中,从而使得非易失存储器中的存储数据以完整Block的状态存储在第三Block中,避免了非易失存储器的空间碎片化,大大减少了空间浪费。
虽然各管理者信息对应的逻辑地址范围是预先划分的,但是节点却可以根据各个管理者的实际使用情况进行按需分配,提升了存储空间管理的灵活性。具体的,在接收到包括待使用逻辑地址信息的地址使用指令后,可以根据该待使用逻辑地址信息确定对应的管理者信息,并在多个节点中确定其中一个空闲的节点作为待使用节点,然后在管理者信息对应的待使用管理链表中记录待使用节点和待使用逻辑地址信息的映射关系;且,修改待使用节点的状态为已使用状态,则各管理者信息对应的管理链表中的节点数量是不确定的,是根据实际的地址使用情况设置的,避免出现因节点不够用而导致的存储空间无法使用等现象,大大提升了存储空间管理的灵活性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例提供的一种存储空间管理方法的流程图;
图2是本发明实施例提供的一种第一管理链表映射关系示意图;
图3是本发明实施例提供的一种第二管理链表映射关系示意图
图4是本发明实施例提供的一种第三管理链表映射关系示意图
图5是本发明实施例提供的一种存储空间管理装置的框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。应当理解,此处所描述的具体实施例仅用以解释本发明,仅仅是本发明一部分实施例,而不是全部的实施例,并不用于限定本发明。
参照图1,示出了一种存储空间管理方法的流程图,应用于非易失存储器,所述非易失存储器中预设有第一管理链表、第二管理链表、第三管理链表。
本发明实施例中,第一管理链表、第二管理链表以及第三管理链表中均可以根据实际需求分配相应的节点,在节点中可以记录对应于第一管理链表的存储数据的逻辑存储地址和物理存储地址的映射关系。
在本发明实施例的一种优选方案中,所述第一管理链表和所述第二管理链表均为临时管理链表,所述第一管理链表中记录的第一映射关系和所述第二管理链表记录的第二映射关系不保存在所述非易失存储器中;所述第三管理链表为固定管理链表,所述第三管理链表记录的第三映射关系保存在所述非易失存储器中。
本发明实施例中,考虑到第一管理链表是用于将空间占用不足第一预设空间阈值的存储数据汇总,在第一管理链表对应的第一Block中存储的数据达到第一预设空间阈值后,就将第一Block中存储的数据搬移到第二管理链表对应的第二Block中;第二管理链表是用于将第二Block中的存储数据汇总,第二Block中存储的数据达到一个完整的Block存储空间阈值后,就将第二Block中存储的数据搬移到第三管理链表对应的第三Block中;因此,第一管理链表中记录的第一映射关系和第二管理链表记录的第二映射关系都是临时的,在搬移后就失效,所以第一管理链表中记录的第一映射关系和
第二管理链表记录的第二映射关系可以不保存在所述非易失存储器中,以减少对非易失存储器空间的占用。
第三管理链表记录的第三映射关系,以及第三管理链表对应的第三Block中存储的数据,是不需要进行搬移的数据,因此,第三管理链表为固定管理链表,第三管理链表记录的第三映射关系保存在非易失存储器中,以备后续的数据读取等操作。
该方法具体可以包括如下步骤:
步骤101:接收数据存储指令;其中,所述数据存储指令包括:所述数据存储指令对应的待存储数据的空间占用信息。
本发明实施例中,数据存储指令可以用于指示要进行数据存储,需要进行存储的数据可以称为待存储数据,在数据存储指令中包括待存储数据的空间占用信息。
在一种优选的实施例中,发明人发现目标操作***的Host的读写操作是以4Kb(4*1024bit)操作为主,因此,待存储数据的空间占用信息为:4Kb的整数倍,具体可以是4Kb、8Kb、12Kb、16Kb等。
步骤102:在所述空间占用信息小于第一预设空间阈值的情况下,将所述待存储数据存储在所述第一管理链表对应的第一Block中,并通过所述第一管理链表中的第一节点记录所述待存储数据的逻辑地址与物理地址的第一映射关系。
本发明实施例中,第一预设空间阈值的具体值可以根据实际的应用场景进行设定,例如,在一种存储设备中,是以32Kb为一个操作单元,则可以将第一预设空间阈值设定为32Kb。可以理解,本领域技术人员可根据需求进行设定第一空间阈值,本发明实施例对此不作具体限定。
本发明实施例中,第一管理链表用于管理空间占用小于第一预设空间阈值的存储数据的第一映射关系;因此,在空间占用信息小于第一预设空间阈值的情况下,将待存储数据存储在第一管理链表对应的第一Block中,并通过第一管理链表中的第一节点记录该待存储数据的逻辑地址与物理地址的第一映射关系。
在一种优选的实施例中,发明人根据非易失存储器中以Page为读写单位的习惯,可以设定所述第一预设空间阈值为16Kb,即存储空间正好占用一个Page。
示例的,如图2所示,第一管理链表为T1Buffer,第一管理链表对应的第一Block为T1Block;将不满足16Kb的数据都存储在T1Block中。
步骤103:在所述第一Block中所存储数据的空间占用达到所述第一空间阈值的情况下,将所述第一Block中所存储的数据搬移到所述第二管理链表对应的第二Block中,并通过所述第二管理链表中的第二节点记录从所述第一Block中搬移数据的逻辑地址与物理地址的第二映射关系。
本发明实施例中,第二管理链表用于管理空间占用等于第一预设空间阈值的存储数据的第二映射关系;在第一Block中所存储数据的空间占用达到第一空间阈值的情况下,将第一Block中所存储的数据搬移到第二管理链表对应的第二Block中,并通过第二管理链表中的第二节点记录从第一Block中搬移数据的逻辑地址与物理地址的第二映射关系。
以所述第一预设空间阈值为16Kb,即存储空间正好占用一个Page为例,示例的,如图2所示,第一管理链表对应的T1Block中,4Kb加上8K加上4Kb等于16Kb,则可以将T1Block中的数据搬移到如图3所示的T1Block中,参照图3,第二管理链表为T2Buffer,第二管理链表对应的第二Block为T12Block。
在一种优选的实施方案中,所述方法还包括:
在所述空间占用信息等于所述第一预设空间阈值的情况下,将所述待存储数据存储在所述第二管理链表对应的第二Block中,并通过所述第二管理链表中的节点记录所述待存储数据的逻辑地址与物理地址的第二映射关系。
本发明实施例中,若正好出现待存储数据的空间占用信息等于第一预设空间阈值,则不需要将该待存储数据在第一管理链表中等待汇总处理,因此,可以直接将该待存储数据存储在第二管理链表对应的第二Block中,并通过第二管理链表中的节点记录待存储数据的逻辑地址与物理地址的第二映射关系。
可以理解,实际应用中,若待存储数据的空间占用信息大于第一预设空间阈值,则可以将待存储数据按照第一预设空间阈值拆分后在进行相应存储操作,或者根据实际的应用场景进行其他存储操作,本发明实施例对此不作具体限定。
步骤104:在所述第二Block中所存储数据的空间占用达到一个完整Block存储空间阈值的情况下,将所述第二Block中所存储的数据搬移到所述第三管理链表对应的第三Block中,并通过所述第三管理链表中的第三节点记录从所述第二Block中搬移数据的逻辑地址与物理地址的第三映射关系。
本发明实施例中,第三管理链表用于管理空间占用等于一个完整Block存储空间阈值的存储数据的第三映射关系;在第二Block中所存储数据的空间占用达到一个完整Block存储空间阈值的情况下,将第二Block中所存储的数据搬移到第三管理链表对应的第三Block中,并通过第三管理链表中的第三节点记录从第二Block中搬移数据的逻辑地址与物理地址的第三映射关系。
具体应用中,一个完整Block存储空间阈值可以是32Mb,也可以是根据实际应用场景定义的值,本发明实施例对此不做具体限定。
示例的,如图4所示,第三管理链表为T2Buffer,第三管理链表对应的第三Block为T3Block;T3Block中存储的是无碎片化的数据,因此可以避免对空间的占用。
综上所述,本发明实施例中,在非易失存储器中预设有第一管理链表、第二管理链表、第三管理链表,第一管理链表、第二管理链表以及第三管理链表分别对应着不同的存储地址,也分别记录着不同的映射关系;在接收到包括空间占用信息的数据存储指令后,可以将空间占用信息与第一预设空间阈值信息进行比较,在空间占用信息小于第一预设空间阈值的情况下,将待存储数据存储在第一管理链表对应的第一Block中,并通过第一管理链表中的第一节点记录待存储数据的逻辑地址与物理地址的第一映射关系;在第一Block中所存储数据的空间占用达到第一空间阈值的情况下,将第一Block中所存储的数据搬移到第二管理链表对应的第二Block中,并通过第二管理链表中的第二节点记录从第一Block中搬移数据的逻辑地址与物理地址的第二映射关系;在第二Block中所存储数据的空间占用达到一个完整Block存储空间阈值的情况下,将第二Block中所存储的数据搬移到第三管理链表对应的第三Block中,并通过第三管理链表中的第三节点记录从第二Block中搬移数据的逻辑地址与物理地址的第三映射关系。即本发明实施例中,将空间占用不足第一预设空间阈值的存储数据通过第一管理链表进行管理,当第一管理链表对应的第一Block达到该第一预设空间阈值时,将第一Block中的数据搬移到第二管理链表对应的第二Block中,在第二Block达到一个完整的Block存储空间阈值时,在将该一个完整的Block内的数据搬移到第三Block中,从而使得非易失存储器中的存储数据以完整Block的状态存储在第三Block中,避免了非易失存储器的空间碎片化,大大减少了空间浪费。
需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必需的。
参照图5,示出了一种存储空间管理装置的框图,应用于非易失存储器,所述非易失存储器中预设有第一管理链表、第二管理链表、第三管理链表;所述装置包括:
数据存储指令接收模块210,用于接收数据存储指令;其中,所述数据存储指令包括:所述数据存储指令对应的待存储数据的空间占用信息;
第一处理模块220,用于在所述空间占用信息小于第一预设空间阈值的情况下,将所述待存储数据存储在所述第一管理链表对应的第一Block中,并通过所述第一管理链表中的第一节点记录所述待存储数据的逻辑地址与物理地址的第一映射关系;
第二处理模块230,用于在所述第一Block中所存储数据的空间占用达到所述第一空间阈值的情况下,将所述第一Block中所存储的数据搬移到所述第二管理链表对应的第二Block中,并通过所述第二管理链表中的第二节点记录从所述第一Block中搬移数据的逻辑地址与物理地址的第二映射关系;
第三处理模块240,用于在所述第二Block中所存储数据的空间占用达到一个完整Block存储空间阈值的情况下,将所述第二Block中所存储的数据搬移到所述第三管理链表对应的第三Block中,并通过所述第三管理链表中的第三节点记录从所述第二Block中搬移数据的逻辑地址与物理地址的第三映射关系。
优选地,所述第一管理链表和所述第二管理链表均为临时管理链表,所述第一管理链表中记录的第一映射关系和所述第二管理链表记录的第二映射关系不保存在所述非易失存储器中;
所述第三管理链表为固定管理链表,所述第三管理链表记录的第三映射关系保存在所述非易失存储器中。
优选地,还包括:
第四处理模块,用于在所述空间占用信息等于所述第一预设空间阈值的情况下,将所述待存储数据存储在所述第二管理链表对应的第二Block中,并通过所述第二管理链表中的节点记录所述待存储数据的逻辑地址与物理地址的第二映射关系。
优选地,所述待存储数据的空间占用信息为:4Kb的整数倍。
优选地,所述第一预设空间阈值为16Kb。
综上所述,本发明实施例中,在非易失存储器中预设有第一管理链表、第二管理链表、第三管理链表,第一管理链表、第二管理链表以及第三管理链表分别对应着不同的存储地址,也分别记录着不同的映射关系;在接收到包括空间占用信息的数据存储指令后,可以将空间占用信息与第一预设空间阈值信息进行比较,在空间占用信息小于第一预设空间阈值的情况下,将待存储数据存储在第一管理链表对应的第一Block中,并通过第一管理链表中的第一节点记录待存储数据的逻辑地址与物理地址的第一映射关系;在第一Block中所存储数据的空间占用达到第一空间阈值的情况下,将第一Block中所存储的数据搬移到第二管理链表对应的第二Block中,并通过第二管理链表中的第二节点记录从第一Block中搬移数据的逻辑地址与物理地址的第二映射关系;在第二Block中所存储数据的空间占用达到一个完整Block存储空间阈值的情况下,将第二Block中所存储的数据搬移到第三管理链表对应的第三Block中,并通过第三管理链表中的第三节点记录从第二Block中搬移数据的逻辑地址与物理地址的第三映射关系。即本发明实施例中,将空间占用不足第一预设空间阈值的存储数据通过第一管理链表进行管理,当第一管理链表对应的第一Block达到该第一预设空间阈值时,将第一Block中的数据搬移到第二管理链表对应的第二Block中,在第二Block达到一个完整的Block存储空间阈值时,在将该一个完整的Block内的数据搬移到第三Block中,从而使得非易失存储器中的存储数据以完整Block的状态存储在第三Block中,避免了非易失存储器的空间碎片化,大大减少了空间浪费。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程存储空间管理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程存储空间管理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程存储空间管理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程存储空间管理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种存储空间管理方法和一种存储空间管理装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种存储空间管理方法,其特征在于,应用于非易失存储器,所述非易失存储器中预设有第一管理链表、第二管理链表、第三管理链表;所述方法包括:
接收数据存储指令;其中,所述数据存储指令包括:所述数据存储指令对应的待存储数据的空间占用信息;
在所述空间占用信息小于第一预设空间阈值的情况下,将所述待存储数据存储在所述第一管理链表对应的第一Block中,并通过所述第一管理链表中的第一节点记录所述待存储数据的逻辑地址与物理地址的第一映射关系;
在所述第一Block中所存储数据的空间占用达到所述第一空间阈值的情况下,将所述第一Block中所存储的数据搬移到所述第二管理链表对应的第二Block中,并通过所述第二管理链表中的第二节点记录从所述第一Block中搬移数据的逻辑地址与物理地址的第二映射关系;
在所述第二Block中所存储数据的空间占用达到一个完整Block存储空间阈值的情况下,将所述第二Block中所存储的数据搬移到所述第三管理链表对应的第三Block中,并通过所述第三管理链表中的第三节点记录从所述第二Block中搬移数据的逻辑地址与物理地址的第三映射关系。
2.根据权利要求1所述的方法,其特征在于,
所述第一管理链表和所述第二管理链表均为临时管理链表,所述第一管理链表中记录的第一映射关系和所述第二管理链表记录的第二映射关系不保存在所述非易失存储器中;
所述第三管理链表为固定管理链表,所述第三管理链表记录的第三映射关系保存在所述非易失存储器中。
3.根据权利要求1所述的方法,其特征在于,还包括:
在所述空间占用信息等于所述第一预设空间阈值的情况下,将所述待存储数据存储在所述第二管理链表对应的第二Block中,并通过所述第二管理链表中的节点记录所述待存储数据的逻辑地址与物理地址的第二映射关系。
4.根据权利要求1或2或3所述的方法,其特征在于,所述待存储数据的空间占用信息为:4Kb的整数倍。
5.根据权利要求1或2或3所述的方法,其特征在于,所述第一预设空间阈值为16Kb。
6.一种存储空间管理装置,其特征在于,应用于非易失存储器,所述非易失存储器中预设有第一管理链表、第二管理链表、第三管理链表;所述装置包括:
数据存储指令接收模块,用于接收数据存储指令;其中,所述数据存储指令包括:所述数据存储指令对应的待存储数据的空间占用信息;
第一处理模块,用于在所述空间占用信息小于第一预设空间阈值的情况下,将所述待存储数据存储在所述第一管理链表对应的第一Block中,并通过所述第一管理链表中的第一节点记录所述待存储数据的逻辑地址与物理地址的第一映射关系;
第二处理模块,用于在所述第一Block中所存储数据的空间占用达到所述第一空间阈值的情况下,将所述第一Block中所存储的数据搬移到所述第二管理链表对应的第二Block中,并通过所述第二管理链表中的第二节点记录从所述第一Block中搬移数据的逻辑地址与物理地址的第二映射关系;
第三处理模块,用于在所述第二Block中所存储数据的空间占用达到一个完整Block存储空间阈值的情况下,将所述第二Block中所存储的数据搬移到所述第三管理链表对应的第三Block中,并通过所述第三管理链表中的第三节点记录从所述第二Block中搬移数据的逻辑地址与物理地址的第三映射关系。
7.根据权利要求6所述的装置,其特征在于,所述第一管理链表和所述第二管理链表均为临时管理链表,所述第一管理链表中记录的第一映射关系和所述第二管理链表记录的第二映射关系不保存在所述非易失存储器中;
所述第三管理链表为固定管理链表,所述第三管理链表记录的第三映射关系保存在所述非易失存储器中。
8.根据权利要求6所述的装置,其特征在于,还包括:
第四处理模块,用于在所述空间占用信息等于所述第一预设空间阈值的情况下,将所述待存储数据存储在所述第二管理链表对应的第二Block中,并通过所述第二管理链表中的节点记录所述待存储数据的逻辑地址与物理地址的第二映射关系。
9.根据权利要求6或7或8所述的装置,其特征在于,所述待存储数据的空间占用信息为:4Kb的整数倍。
10.根据权利要求6或7或8所述的装置,其特征在于,所述第一预设空间阈值为16Kb。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811595610.5A CN111367463B (zh) | 2018-12-25 | 2018-12-25 | 一种存储空间管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811595610.5A CN111367463B (zh) | 2018-12-25 | 2018-12-25 | 一种存储空间管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111367463A true CN111367463A (zh) | 2020-07-03 |
CN111367463B CN111367463B (zh) | 2023-05-09 |
Family
ID=71208530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811595610.5A Active CN111367463B (zh) | 2018-12-25 | 2018-12-25 | 一种存储空间管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367463B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0720085A2 (en) * | 1994-12-29 | 1996-07-03 | International Business Machines Corporation | Compression monitoring system for controlling physical space allocation in a logically-mapped data store |
US20130346675A1 (en) * | 2012-06-22 | 2013-12-26 | Phison Electronics Corp. | Data storing method, and memory controller and memory storage apparatus using the same |
CN103544254A (zh) * | 2013-10-15 | 2014-01-29 | 华为技术有限公司 | 一种数据管理方法及装置 |
US20140310454A1 (en) * | 2013-04-12 | 2014-10-16 | International Business Machines Corporation | Data set management |
CN105808156A (zh) * | 2014-12-31 | 2016-07-27 | 华为技术有限公司 | 将数据写入固态硬盘的方法及固态硬盘 |
CN107678981A (zh) * | 2017-08-24 | 2018-02-09 | 北京盛和大地数据科技有限公司 | 数据处理方法及装置 |
CN108572792A (zh) * | 2017-06-13 | 2018-09-25 | 北京金山云网络技术有限公司 | 数据存储方法、装置、电子设备及计算机可读存储介质 |
-
2018
- 2018-12-25 CN CN201811595610.5A patent/CN111367463B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0720085A2 (en) * | 1994-12-29 | 1996-07-03 | International Business Machines Corporation | Compression monitoring system for controlling physical space allocation in a logically-mapped data store |
US20130346675A1 (en) * | 2012-06-22 | 2013-12-26 | Phison Electronics Corp. | Data storing method, and memory controller and memory storage apparatus using the same |
US20140310454A1 (en) * | 2013-04-12 | 2014-10-16 | International Business Machines Corporation | Data set management |
CN103544254A (zh) * | 2013-10-15 | 2014-01-29 | 华为技术有限公司 | 一种数据管理方法及装置 |
CN105808156A (zh) * | 2014-12-31 | 2016-07-27 | 华为技术有限公司 | 将数据写入固态硬盘的方法及固态硬盘 |
CN108572792A (zh) * | 2017-06-13 | 2018-09-25 | 北京金山云网络技术有限公司 | 数据存储方法、装置、电子设备及计算机可读存储介质 |
CN107678981A (zh) * | 2017-08-24 | 2018-02-09 | 北京盛和大地数据科技有限公司 | 数据处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
吴瑶瑶;杨庚;: "云环境下分布式文件***负载均衡研究" * |
Also Published As
Publication number | Publication date |
---|---|
CN111367463B (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9317214B2 (en) | Operating a memory management controller | |
CN104679661B (zh) | 混合存储的控制方法及混合存储*** | |
US7970806B2 (en) | Methods and apparatus for file management using partitioned file metadata | |
CN111737265B (zh) | 区块数据访问方法、区块数据存储方法及装置 | |
JP7058132B2 (ja) | 最大化された重複除去メモリのためのシステム及び方法 | |
CN113282249B (zh) | 一种数据处理方法、***、设备以及介质 | |
CN111857572B (zh) | Tlc固态硬盘的数据写入方法、装置、设备及存储介质 | |
CN110851434B (zh) | 一种数据存储方法、装置及设备 | |
KR20190067921A (ko) | 데이터에 대한 메모리 동작 | |
CN112466378A (zh) | 一种固态硬盘运行纠错方法、装置及相关组件 | |
CN111984204A (zh) | 一种数据读写方法、装置及电子设备和存储介质 | |
CN111813740A (zh) | 一种文件分层存储方法及服务器 | |
CN111367464B (zh) | 一种存储空间管理方法及装置 | |
CN112634975A (zh) | 一种数据存储纠错方法、装置及电子设备 | |
CN111367463B (zh) | 一种存储空间管理方法及装置 | |
WO2023235040A1 (en) | File system improvements for zoned storage device operations | |
CN111367461B (zh) | 一种存储空间管理方法及装置 | |
CN107102898B (zh) | 一种基于numa架构的内存管理、构建数据结构的方法及装置 | |
CN111951860B (zh) | 一种非易失存储器写处理方法及装置 | |
CN111367462B (zh) | 一种数据处理方法及装置 | |
CN111367697A (zh) | 一种错误处理方法及装置 | |
CN111951869A (zh) | 一种非易失存储器读处理方法及装置 | |
CN113625938B (zh) | 一种元数据存储方法及其设备 | |
CN111951865B (zh) | 一种非易失存储器读处理方法及装置 | |
CN110968552B (zh) | 应用信息的存储方法及装置 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094 Applicant after: Zhaoyi Innovation Technology Group Co.,Ltd. Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing Applicant before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |