CN106021124A - 一种数据的存储方法及存储系统 - Google Patents

一种数据的存储方法及存储系统 Download PDF

Info

Publication number
CN106021124A
CN106021124A CN201610303593.8A CN201610303593A CN106021124A CN 106021124 A CN106021124 A CN 106021124A CN 201610303593 A CN201610303593 A CN 201610303593A CN 106021124 A CN106021124 A CN 106021124A
Authority
CN
China
Prior art keywords
block
physical block
data
logical block
blank
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
CN201610303593.8A
Other languages
English (en)
Other versions
CN106021124B (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 University
Original Assignee
Shenzhen 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 Shenzhen University filed Critical Shenzhen University
Priority to CN201610303593.8A priority Critical patent/CN106021124B/zh
Publication of CN106021124A publication Critical patent/CN106021124A/zh
Application granted granted Critical
Publication of CN106021124B publication Critical patent/CN106021124B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration

Abstract

本发明适用于存储器技术领域,提供了一种数据的存储方法及存储系统,该存储方法包括以下步骤:当检测到写操作时,若可写入数据,则直接在最新物理块的物理页内写入所述数据;若不可写入数据,则根据逻辑块对应的物理块链的更新次数,判断所述逻辑块的更新频率;根据所述逻辑块的更新频率选取相应的空白物理块进行写入数据。该存储方法能够减少写错误、读错误的产生,并且能最大范围的确保数据的正确性,同时,也减轻了ECC纠错的工作量。

Description

一种数据的存储方法及存储系统
技术领域
本发明涉及存储器技术领域,尤其涉及一种数据的存储方法及存储系统。
背景技术
闪存(Flash Memory)是一种长寿命的非易失性的存储器,它在断电情况下仍能保持所存储的数据信息。闪存的数据删除不是以单个的字节为单位而是以固定的区块为单位进行删除,区块大小一般为256KB到20MB。由于其在断电时仍能保存数据,因此,闪存通常被用来保存设置信息,比如应用在电脑、手机、平板电脑、数码相机中进行保存资料等。
现有的闪存,在进行数据存储时,没有对需要存储的数据进行区分,只要有数据发生更新,就会产生写、读、擦除、垃圾回收等操作。闪存内的数据一般可以分为三类:Hot数据(即频繁更新的数据)、Cold数据(几乎没有更新的数据)和Normal数据(正常范围内更新的数据),闪存对这三类数据进行存储时没有进行区分,按照物理块的顺序进行随机分配,从而造成物理块的分配不合理。
发明内容
本发明所要解决的技术问题在于提供一种数据的存储方法及存储系统,旨在解决闪存中的数据在存储时不能合理分配物理块的问题。
本发明是这样实现的,一种数据的存储方法,包括以下步骤:当检测到写操作时,若可直接写入数据,则直接在最新物理块的物理页内写入所述数据;
若不可写入数据,则根据逻辑块对应的物理块链的更新次数,判断所述逻辑块的更新频率;
根据所述逻辑块的更新频率选取相应的空白物理块进行写入数据。
进一步地,所述根据逻辑块对应的物理块链的更新次数,判断所述逻辑块的更新频率具体包括:
每次进行写操作时,记录各个逻辑块对应的物理块的更新次数;
比较各个逻辑块对应的物理块的更新次数与第一预设次数和第二预设次数的大小;
若逻辑块对应的物理块的更新次数大于所述第一预设次数,则记为频繁更新逻辑块;若逻辑块对应的物理块的更新次数小于所述第二预设次数,则记为无更新逻辑块;若逻辑块对应的物理块的更新次数介于所述第一预设次数和所述第二预设次数之间,则记为正常更新逻辑块。
进一步地,所述根据所述逻辑块的更新频率选取相应的空白物理块进行写入数据具体包括:
若所述逻辑块为无更新逻辑块或者正常更新逻辑块,则在所述逻辑块对应的空白物理块链上顺序分配空白物理块进行写入数据;
若所述逻辑块为频繁更新逻辑块,则在所述逻辑块对应的空白物理块链中选取性能差的空白物理块进行写入数据。
进一步地,所述存储方法还包括:
将闪存中所有空白物理块的数量与预置数量进行对比;
若空白物理块的数量大于或等于预置数量,则结束操作,若所述空白物理块的数量小于预置数量,则将闪存中所有空白物理块的性能分别与性能阈值进行对比;
若所有空白物理块的性能都小于性能阈值,则将无更新逻辑块所对应的物理块链中性能最好的物理块上的数据写到所述物理块链中所剩空白物理块中性能最差的物理块上,然后执行垃圾回收操作;
若所有空白物理块的性能大于或等于性能阈值,则直接执行垃圾回收操作。
本发明还提供一种数据的存储系统,该存储系统包括:
写操作模块,用于直接在所述最新物理块的物理页内写入所述数据;
判断模块,用于在所述写操作模块不可写入数据时,根据逻辑块对应的物理块链的更新次数,判断所述逻辑块的更新频率;
选取模块,用于根据所述逻辑块的更新频率选取相应的空白物理块进行写入数据。
进一步地,所述判断模块具体包括:
标记单元,用于在每次进行写操作时,记录各个逻辑块对应的物理块的更新次数;
第一判断子单元,判断各个逻辑块对应的物理块的更新次数是否大于第一预设次数,若大于所述第一预设次数,则记为频繁更新逻辑块;
第二判断子单元,判断各个逻辑块对应的物理块的更新次数是否小于第二预设次数,若小于所述第二预设次数,则记为无更新逻辑块;
第三判断子单元,判断各个逻辑块对应的物理块的更新次数是否介于所述第一预设次数和所述第二预设次数之间,若介于所述第一、第二预设次数之间,则记为正常更新逻辑块。
进一步地,所述选取模块具体包括:
第一选取子单元,用于当所述逻辑块为无更新逻辑块或者正常更新逻辑块时,在所述逻辑块对应的空白物理块链上顺序分配空白物理块进行写入数据;
第二选取子单元,用于当所述逻辑块为频繁更新逻辑块时,在所述逻辑块对应的空白物理块链中选取性能差的空白物理块进行写入数据。
进一步地,该存储系统还包括:
对比模块,用于将闪存中所有空白物理块的数量与预置数量进行对比,若空白物理块的数量大于或等于预置数量,则结束操作,若所述空白物理块的数量小于预置数量,则将闪存中所有空白物理块的性能分别与性能阈值进行对比;
转换模块,用于在所有空白物理块中每个空白物理块的性能都小于性能阈值时,将无更新逻辑块所对应的物理块链中性能最好的物理块上的数据写到所述物理块链中所剩空白物理块中性能最差的物理块上,然后转到回收模块;转换模块还用于在所有空白物理块的性能大于或等于性能阈值时,直接转到回收模块;
回收模块,用于执行垃圾回收操作。
本发明与现有技术相比,有益效果在于:所述的数据存储方法在执行写操作不能直接将数据写入最新物理块的物理页内时,对逻辑块对应的物理块链的更新次数进行统计,并根据统计的更新次数判断出逻辑块的更新频率,在写入数据时根据逻辑块的更新频率选取相应的空白物理块进行写数据,即不同更新频率的数据选用不同性能的空白物理块进行写入数据,从而减少了写错误、读错误的产生,并且能最大范围的确保数据的正确性,同时,也减轻了ECC纠错的工作量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例提供的数据的存储方法的实现流程示意图;
图2为本发明第二实施例提供的数据的存储方法的实现流程示意图;
图3是本发明第三实施例提供的数据的存储系统的结构示意图;
图4是本发明第四实施例提供的数据的存储系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为本发明第一实施例提供的数据的存储方法的实现流程示意图,主要包括以下步骤:
S101、当检测到写操作时,若可直接写入数据,则直接在最新物理块的物理页内写入数据。在进行写入数据前,需要接收到写操作,判断写操作的逻辑地址所对应的最新物理块的物理页是否可写入数据。
在进行写入数据时,优先将数据写入到逻辑地址对应的最新物理块的物理页内,在物理页没有空闲时,才去寻找其它的空白物理块进行写操作。
S102、若不可写入数据,则根据逻辑块对应的物理块链的更新次数,判断逻辑块的更新频率。
物理块链为与逻辑块的逻辑地址对应的所有空白物理块的链接集合。空白物理块为没有写入数据的物理块。物理块链的更新次数反映了物理块内存储数据的类型,该存储数据的类型分为三类:频繁更新数据、几乎没有更新数据和正常范围内更新的数据。逻辑块的更新频率反映的是对该逻辑块写入数据的频率。根据逻辑块的更新频率可以将不同性能的空白物理块分配给不同的数据进行写操作,从而达到数据写入时空白物理块的合理分配。
S103、根据逻辑块的更新频率选取相应的空白物理块进行写入数据。
本发明实施例中,通过判断逻辑块的更新频率,在进行写操作时,根据需要写入数据的逻辑块的更新频率分配性能不同的空白物理块进行写入数据,即对需要写入的数据要求不高的分配性能差的空白物理块,对数据要求较高的,分配性能好的空白物理块,从而可以实现在一定范围内选取性能最优的物理块进行使用,以减少写错误、读错误的产生,最大范围的确保数据的正确性,同时,由于在进行数据的写入时考虑到了空白物理块的性能,因此能减轻ECC(Error Correcting Code,错误检查和纠正)纠错的工作量。
请参阅图2,图2为本发明第二实施例提供的数据的存储方法的实现流程示意图,主要包括以下步骤:
S201、接收到写操作时,判断写操作的逻辑地址所对应的最新物理块的物理页是否可写入数据。若可写入数据,则转到步骤S202;若不可写入数据,则转到步骤S203。
S202、直接在最新物理块的物理页内写入数据。
S203、每次进行写操作时,记录各个逻辑块对应的物理块的更新次数。
具体的,在逻辑块对应的链(即逻辑块实际对应的物理块链)上标注该逻辑块更新的次数,每有一次数据写入时,在该写入的逻辑块中加1,以记录逻辑块的更新频率。
S204、比较各个逻辑块对应的物理块的更新次数与第一预设次数和第二预设次数的大小。
第一预设次数和第二预设次数为人为设置的阈值,以此阈值来判断逻辑块的更新次数处于哪一个范围段。第一预设次数即限制了逻辑块写入频率的上限范围,第二预设次数限制了逻辑块写入频率的下限范围。
更新次数可以用逻辑块所对应的物理块的数量来进行量化,第一预设次数可以量化为闪存(Flash)所拥有的物理块总数的N分之一,其中,N的取值范围为0至闪存所拥有的物理块的总数,同理可得,第二预设次数的取值范围也是一样的,同时,还需要满足,第二预设次数小于第一预设次数。
S205、若逻辑块对应的物理块的更新次数大于第一预设次数,则记为频繁更新逻辑块,频繁更新逻辑块内的数据即为通常所说的Hot数据。若逻辑块对应的物理块的更新次数小于第二预设次数,则记为无更新逻辑块,无更新逻辑块内的数据即为通常所说的Cold数据。若逻辑块对应的物理块的更新次数介于第一预设次数和第二预设次数之间,则记为正常更新逻辑块,正常更新逻辑块内的数据即为通常所说的Normal数据。
一般的,Hot数据需要频繁更新,由于Hot数据本身更新快,对数据的正确性要求不高,如果将性能好的空白物理块分配给Hot数据,频繁的更新会迅速的将物理块的性能降低,导致分配不合理。Cold数据几乎没有更新,其对物理块的要求也不高。Normal数据为在正常范围内更新的数据,一般性能的物理块即可满足其要求。
S206、若逻辑块为无更新逻辑块或者正常更新逻辑块,则在逻辑块对应的空白物理块链上顺序分配空白物理块进行写入数据。若逻辑块为频繁更新逻辑块,则在逻辑块对应的空白物理块链中选取性能差的空白物理块进行写入数据。
具体的,在频繁更新逻辑块内的Hot数据进行更新时,在空白物理块链上顺序选取物理块为i、i+1、i+2、……i+n的n块空白物理块,其中i表示空白物理块在空白物理块链上的位置,将这n块中性能最差的空白物理块分配给频繁更新逻辑块进行写入数据。在无更新逻辑块内的Cold数据或者正常更新逻辑块内的Normal数据进行更新时,在空白物理块链上顺序分配空白物理块进行写入数据。
S207、判断闪存中所有空白物理块的数量是否小于预置数量。若小于预置数量,则转到步骤S208;若大于或等于预置数量,则转到步骤S211。
预置数据是判断空白物理块链中的空白物理块数量是否小于要求的最低数据,即小于要求的最低数量时,需要进行垃圾回收,以空出更多的空白物理块进行写入数据。
S208、判断闪存中所有空白物理块的每一个空白物理块的性能是否小于性能阈值。若都小于性能阈值,则转到步骤S209;若大于或等于性能阈值,则转到步骤S210。
性能阈值用于体现空白物理块的读写性能,读写性能具体体现在进行操作时产生的写错误、读错误等。若所有空白物理块的性能都小于性能阈值,则现有的空白物理块不能满足正常情况下的写操作。性能阀值体现了物理块读写数据的速度,物理块读写数据的速度受物理块的擦除次数、物理块的垃圾回收次数、制作工艺等影响。
S209、将无更新逻辑块所对应的物理块链中性能最好的物理块上的数据写到物理块链中所剩空白物理块中性能最差的物理块上。
在所有Cold数据对应的物理块链中,选取性能最优的物理块链,再在所剩的空白物理块中选取性能最差的物理块,将性能最优的物理块链上的数据写入选取出来的性能最差的物理块上。
S210、执行垃圾回收操作。
S211、结束操作。
本发明实施例中,通过判断逻辑块的更新频率,在进行写操作时,根据需要写入数据的逻辑块的更新频率分配性能不同的空白物理块进行写入数据,即对需要写入的要求不高的数据分配性能差的空白物理块,对其它数据,在空白物理块链上顺序分配空白物理块,从而可以实现在一定范围内选取符合各个数据标准的空白物理块进行使用,又由于在进行数据的写入时考虑到了空白物理块的性能,因此能减轻ECC纠错的工作量。同时,还对空白物理块的数量和性能进行监控,在出现数量低且性能低时,及时进行垃圾回收,以增加空白物理块的数量和空白物理块链的性能,从而可以最大限度的减少写错误、读错误的产生,最大范围的确保数据的正确性。
请参阅图3,图3为本发明第三实施例提供的数据的存储系统的结构示意图,为了便于说明,该结构图仅示出了与本发明实施例相关的部分。该系统主要包括:写操作模块301、判断模块302和选取模块303。各功能模块详细说明如下:
写操作模块301用于直接在最新物理块的物理页内写入所述数据。在执行写操作模块301前需要接收到写操作指令,并判断写操作的逻辑地址所对应的最新物理块的物理页是否可写入数据。
在进行写入数据时,优先将数据写入到逻辑地址对应的最新物理块的物理页内,在物理页没有空闲时,才去寻找其它的空白物理块进行写操作。
判断模块302用于在写操作模块不可写入数据时,根据逻辑块对应的物理块链的更新次数,判断逻辑块的更新频率。
物理块链为与逻辑块的逻辑地址对应的所有空白物理块的链接集合。空白物理块为没有写入数据的物理块。物理块链的更新次数反映了物理块内存储数据的类型,该存储数据的类型分为三类:频繁更新数据、几乎没有更新数据和正常范围内更新的数据。逻辑块的更新频率反映的是对该逻辑块写入数据的频率。根据逻辑块的更新频率可以将不同性能的空白物理块分配给不同的数据进行写操作,从而达到数据写入时空白物理块的合理分配。
选取模块303用于根据逻辑块的更新频率选取相应的空白物理块进行写入数据。
本发明实施例中,通过判断逻辑块的更新频率,在进行写操作时,根据需要写入数据的逻辑块的更新频率分配性能不同的空白物理块进行写入数据,即对需要写入的数据要求不高的分配性能差的空白物理块,对数据要求较高的,分配性能好的空白物理块,从而可以实现在一定范围内选取性能最优的物理块进行使用,以减少写错误、读错误的产生,最大范围的确保数据的正确性,同时,由于在进行数据的写入时考虑到了空白物理块的性能,因此能减轻ECC纠错的工作量。
请参阅图4,图4为本发明第四实施例提供的数据的存储系统的结构示意图,为了便于说明,该结构图仅示出了与本发明实施例相关的部分。该系统主要包括:写操作模块401、判断模块402、选取模块403、对比模块404、转换模块405和回收模块406。
写操作模块401用于在接收到写操作时,判断写操作的逻辑地址所对应的最新物理块的物理页是否可写入数据,若可写入数据,则直接在最新物理块的物理页内写入所述数据。
判断模块402用于在写操作模块不可写入数据时,根据逻辑块对应的物理块链的更新次数,判断逻辑块的更新频率。
判断模块402包括标记单元4021、第一判断子单元4022、第二判断子单元4023和第三判断子单元4024。
标记单元4021用于在每次进行写操作时,记录各个逻辑块对应的物理块的更新次数。
第一判断子单元4022判断各个逻辑块对应的物理块的更新次数是否大于第一预设次数,若大于所述第一预设次数,则记为频繁更新逻辑块,频繁更新逻辑块内的数据即为通常所说的Hot数据。
第二判断子单元4023判断各个逻辑块对应的物理块的更新次数是否小于第二预设次数,若小于第二预设次数,则记为无更新逻辑块,无更新逻辑块内的数据即为通常所说的Cold数据。
第三判断子单元4024判断各个逻辑块对应的物理块的更新次数是否介于第一预设次数和第二预设次数之间,若介于第一、第二预设次数之间,则记为正常更新逻辑块,正常更新逻辑块内的数据即为通常所说的Normal数据。
第一预设次数和第二预设次数为人为设置的阈值,以此阈值来判断逻辑块的更新次数处于哪一个范围段。第一预设次数即限制了逻辑块写入频率的上限范围,第二预设次数限制了逻辑块写入频率的下限范围。
选取模块403用于根据逻辑块的更新频率选取相应的空白物理块进行写入数据。即根据第一、第二和第三判断子单元4022、4023和4024的判断情况进行写入数据。
选取模块403第一选取子单元4031和第二选取子单元4032。
第一选取子单元4031用于当逻辑块为无更新逻辑块或者正常更新逻辑块时,在逻辑块对应的空白物理块链上顺序分配空白物理块进行写入数据。
第二选取子单元4032用于当逻辑块为频繁更新逻辑块时,在逻辑块对应的空白物理块链中选取性能差的空白物理块进行写入数据。
一般的,Hot数据需要频繁更新,由于Hot数据本身更新快,对数据的正确性要求不高,如果将性能好的空白物理块分配给Hot数据,频繁的更新会迅速的将物理块的性能降低,导致分配不合理。Cold数据几乎没有更新,其对物理块的要求也不高。Normal数据为在正常范围内更新的数据,一般性能的物理块即可满足其要求。
具体的,在频繁更新逻辑块内的Hot数据进行更新时,在空白物理块链上顺序选取物理块为i、i+1、i+2、……i+n的n块空白物理块,其中,i表示空白物理块在空白物理块链上的位置,将这n块中性能最差的空白物理块分配给频繁更新逻辑块进行写入数据。在无更新逻辑块内的Cold数据或者正常更新逻辑块内的Normal数据进行更新时,在空白物理块链上顺序分配空白物理块进行写入数据。
对比模块404用于将闪存中所有空白物理块的数量与预置数量进行对比。若白物理块的数量大于或等于预置数量,则结束操作;若空白物理块的数量小于预置数量,则将闪存中所有空白物理块的性能与性能阈值进行对比。
预置数据是判断空白物理块链中的空白物理块数量是否小于要求的最低数据,即小于要求的最低数量时,需要进行垃圾回收,以空出更多的空白物理块进行写入数据。
性能阈值用于体现空白物理块的读写性能,读写性能具体体现在进行操作时产生的写错误、读错误等。若所有空白物理块的性能小于性能阈值,则现有的空白物理块不能满足正常情况下的写操作。
转换模块405用于在所有空白物理块的性能都小于性能阈值时,则将无更新逻辑块所对应的物理块链中性能最好的物理块上的数据写到物理块链中所剩空白物理块中性能最差的物理块上,然后转到回收模块406。转换模块405用于在所有空白物理块的性能都大于或等于性能阈值时,直接转到回收模块406。
在所有Cold数据对应的物理块链中,选取性能最优的物理块链,再在所剩的空白物理块中选取性能最差的物理块,将性能最优的物理块链上的数据写入选取出来的性能最差的物理块上。
回收模块406用于执行垃圾回收操作。
各个功能模块中,不详尽之处,请参考上述各个实施例,在此不再赘述。
本发明实施例中,通过判断逻辑块的更新频率,在进行写操作时,根据需要写入数据的逻辑块的更新频率分配性能不同的空白物理块进行写入数据,即对需要写入的要求不高的数据分配性能差的空白物理块,对其它数据,在空白物理块链上顺序分配空白物理块,从而可以实现在一定范围内选取符合各个数据标准的空白物理块进行使用,又由于在进行数据的写入时考虑到了空白物理块的性能,因此能减轻ECC纠错的工作量。同时,还对空白物理块的数量和性能进行监控,在出现数量低且性能低时,及时进行垃圾回收,以增加空白物理块的数量和空白物理块链的性能,从而可以最大限度的减少写错误、读错误的产生,最大范围的确保数据的正确性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种数据的存储方法,其特征在于,包括以下步骤:
当检测到写操作时,若可直接写入数据,则直接在最新物理块的物理页内写入所述数据;
若不可写入数据,则根据逻辑块对应的物理块链的更新次数,判断所述逻辑块的更新频率;
根据所述逻辑块的更新频率选取相应的空白物理块进行写入数据。
2.根据权利要求1所述的存储方法,其特征在于,所述根据逻辑块对应的物理块链的更新次数,判断所述逻辑块的更新频率具体包括:
每次进行写操作时,记录各个逻辑块对应的物理块的更新次数;
比较各个逻辑块对应的物理块的更新次数与第一预设次数和第二预设次数的大小;
若逻辑块对应的物理块的更新次数大于所述第一预设次数,则记为频繁更新逻辑块;若逻辑块对应的物理块的更新次数小于所述第二预设次数,则记为无更新逻辑块;若逻辑块对应的物理块的更新次数介于所述第一预设次数和所述第二预设次数之间,则记为正常更新逻辑块。
3.根据权利要求2所述的存储方法,其特征在于,所述根据所述逻辑块的更新频率选取相应的空白物理块进行写入数据具体包括:
若所述逻辑块为无更新逻辑块或者正常更新逻辑块,则在所述逻辑块对应的空白物理块链上顺序分配空白物理块进行写入数据;
若所述逻辑块为频繁更新逻辑块,则在所述逻辑块对应的空白物理块链中选取性能差的空白物理块进行写入数据。
4.根据权利要求1、2或3所述的存储方法,其特征在于,所述存储方法还包括:
将闪存中所有空白物理块的数量与预置数量进行对比;
若空白物理块的数量大于或等于预置数量,则结束操作,若所述空白物理块的数量小于预置数量,则将闪存中所有空白物理块的性能分别与性能阈值进行对比;
若所有空白物理块的性能都小于性能阈值,则将无更新逻辑块所对应的物理块链中性能最好的物理块上的数据写到所述物理块链中所剩空白物理块中性能最差的物理块上,然后执行垃圾回收操作;
若所有空白物理块的性能大于或等于性能阈值,则直接执行垃圾回收操作。
5.一种数据的存储系统,其特征在于,该存储系统包括:
写操作模块,用于直接在所述最新物理块的物理页内写入所述数据;
判断模块,用于在所述写操作模块不可写入数据时,根据逻辑块对应的物理块链的更新次数,判断所述逻辑块的更新频率;
选取模块,用于根据所述逻辑块的更新频率选取相应的空白物理块进行写入数据。
6.根据权利要求5所述的存储系统,其特征在于,所述判断模块具体包括:
标记单元,用于在每次进行写操作时,记录各个逻辑块对应的物理块的更新次数;
第一判断子单元,判断各个逻辑块对应的物理块的更新次数是否大于第一预设次数,若大于所述第一预设次数,则记为频繁更新逻辑块;
第二判断子单元,判断各个逻辑块对应的物理块的更新次数是否小于第二预设次数,若小于所述第二预设次数,则记为无更新逻辑块;
第三判断子单元,判断各个逻辑块对应的物理块的更新次数是否介于所述第一预设次数和所述第二预设次数之间,若介于所述第一、第二预设次数之间,则记为正常更新逻辑块。
7.根据权利要求6所述的存储系统,其特征在于,所述选取模块具体包括:
第一选取子单元,用于当所述逻辑块为无更新逻辑块或者正常更新逻辑块时,在所述逻辑块对应的空白物理块链上顺序分配空白物理块进行写入数据;
第二选取子单元,用于当所述逻辑块为频繁更新逻辑块时,在所述逻辑块对应的空白物理块链中选取性能差的空白物理块进行写入数据。
8.根据权利要求5、6或7所述的存储系统,其特征在于,该存储系统还包括:
对比模块,用于将闪存中所有空白物理块的数量与预置数量进行对比,若空白物理块的数量大于或等于预置数量,则结束操作,若所述空白物理块的数量小于预置数量,则将闪存中所有空白物理块的性能分别与性能阈值进行对比;
转换模块,用于在所有空白物理块中每个空白物理块的性能都小于性能阈值时,将无更新逻辑块所对应的物理块链中性能最好的物理块上的数据写到所述物理块链中所剩空白物理块中性能最差的物理块上,然后转到回收模块;转换模块还用于在所有空白物理块的性能大于或等于性能阈值时,直接转到回收模块;
回收模块,用于执行垃圾回收操作。
CN201610303593.8A 2016-05-09 2016-05-09 一种数据的存储方法及存储系统 Active CN106021124B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610303593.8A CN106021124B (zh) 2016-05-09 2016-05-09 一种数据的存储方法及存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610303593.8A CN106021124B (zh) 2016-05-09 2016-05-09 一种数据的存储方法及存储系统

Publications (2)

Publication Number Publication Date
CN106021124A true CN106021124A (zh) 2016-10-12
CN106021124B CN106021124B (zh) 2019-05-07

Family

ID=57099767

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610303593.8A Active CN106021124B (zh) 2016-05-09 2016-05-09 一种数据的存储方法及存储系统

Country Status (1)

Country Link
CN (1) CN106021124B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528000A (zh) * 2016-12-02 2017-03-22 郑州云海信息技术有限公司 一种数据存储装置及其读写性能优化方法、系统
CN107577619A (zh) * 2017-07-20 2018-01-12 深圳大学 一种数据写入、读取方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090106751A1 (en) * 2007-10-17 2009-04-23 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd Data storage medium, software installation method and copyright protection module
CN101620570A (zh) * 2008-10-31 2010-01-06 长沙市源微微电子有限公司 记忆模块动态备份管理系统及方法
CN102222046A (zh) * 2011-06-09 2011-10-19 清华大学 一种磨损均衡方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090106751A1 (en) * 2007-10-17 2009-04-23 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd Data storage medium, software installation method and copyright protection module
CN101620570A (zh) * 2008-10-31 2010-01-06 长沙市源微微电子有限公司 记忆模块动态备份管理系统及方法
CN102222046A (zh) * 2011-06-09 2011-10-19 清华大学 一种磨损均衡方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528000A (zh) * 2016-12-02 2017-03-22 郑州云海信息技术有限公司 一种数据存储装置及其读写性能优化方法、系统
CN107577619A (zh) * 2017-07-20 2018-01-12 深圳大学 一种数据写入、读取方法和装置

Also Published As

Publication number Publication date
CN106021124B (zh) 2019-05-07

Similar Documents

Publication Publication Date Title
CN102667736B (zh) 存储器管理装置及存储器管理方法
US20180260317A1 (en) Method for managing the copying and storing of data in garbage collection, memory storage device and memory control circuit unit using the same
CN105740157B (zh) 数据储存装置以及快闪存储器控制方法
US8332576B2 (en) Data reading method for flash memory and controller and storage system using the same
US8041883B2 (en) Restoring storage devices based on flash memories and related circuit, system, and method
CN109753443B (zh) 一种数据处理方法、装置及电子设备
US9268687B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
CN102135942B (zh) 一种存储设备中实现损耗均衡的方法及存储设备
CN110895514A (zh) 映射表更新方法
WO2014074449A2 (en) Wear leveling in flash memory devices with trim commands
US9213634B2 (en) Efficient reuse of segments in nonoverwrite storage systems
JP2008152909A (ja) 不揮発性データ保存装置の静的データ領域の検出方法、磨耗度平準化方法及びデータユニットの併合方法とその装置
CN104008061A (zh) 内存回收方法及装置
CN104063186A (zh) 一种电子设备的数据访问方法
CN110673789B (zh) 固态硬盘的元数据存储管理方法、装置、设备及存储介质
CN109669889B (zh) 一种轻量型Nor Flash闪存控制方法和装置
CN103106143A (zh) 固态储存装置及其逻辑至实体对应表建立方法
CN102298543A (zh) 一种存储器管理方法和装置
CN109582216A (zh) 数据储存装置与存储器装置的数据处理方法
CN103996412A (zh) 一种用于智能卡非易失性存储器的掉电保护方法
TWI450271B (zh) 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
CN115129262A (zh) 一种固态硬盘垃圾回收方法、装置、设备及介质
CN103593301B (zh) 坏块管理方法及系统
CN102789813B (zh) 一种控制存储设备内非最低有效位页使用的方法及装置
CN103106148B (zh) 区块管理方法、存储器控制器与存储器存储装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant