CN106155932A - 基于Flash的数据缓存方法及装置 - Google Patents

基于Flash的数据缓存方法及装置 Download PDF

Info

Publication number
CN106155932A
CN106155932A CN201610522315.1A CN201610522315A CN106155932A CN 106155932 A CN106155932 A CN 106155932A CN 201610522315 A CN201610522315 A CN 201610522315A CN 106155932 A CN106155932 A CN 106155932A
Authority
CN
China
Prior art keywords
data
cache
flash memory
block
big 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
CN201610522315.1A
Other languages
English (en)
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.)
SiliconGo Microelectronics Co Ltd
Original Assignee
SiliconGo Microelectronics 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 SiliconGo Microelectronics Co Ltd filed Critical SiliconGo Microelectronics Co Ltd
Priority to CN201610522315.1A priority Critical patent/CN106155932A/zh
Publication of CN106155932A publication Critical patent/CN106155932A/zh
Pending legal-status Critical Current

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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种基于闪存的数据缓存方法,包括:在连续的大数据缓存至所述闪存的一级缓存块的过程中,实时检测当前是否存在与所述大数据关联的小数据;在检测到当前存在与所述大数据关联的小数据时,将所述小数据缓存至所述闪存的二级缓存块;在所述小数据缓存完成时,继续缓存所述大数据至所述一级缓存块。本发明还公开了一种基于闪存的数据缓存装置。本发明实现了将小数据缓存至闪存的二级缓存块后继续缓存大数据,降低了小数据回写时对大数据写入效率的影响,大大提高了采用闪存存储连续大数据的速度以及效率。

Description

基于Flash的数据缓存方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于Flash的数据缓存方法及装置。
背景技术
目前,在采用Flash(Flash Memory,闪存)存储连续的大数据时,首先将大数据暂存/缓存在Flash的缓冲块(Cache块)上,然后在Cache块写满数据时,通过Switch交换操作将Cache块的数据存储至数据块(Data块),以实现大数据的快速写入。
由于在连续的大数据的写入过程中,往往需要更新与大数据相关的系统数据(即小数据),进而导致大数据写入过程中回写的产生。例如,逻辑地址为LgBlk5的Cache块有256个页,在采用该Cache块缓存大数据过程中,如果在该Cache块未写满256页比如在缓存至第200页的位置时,需要更新与大数据相关的小数据,此时回写第0页的位置、即小数据的缓存位置。由于Cache块的第0页已经被更新,原Cache块上的数据已非最新数据,Cache块的数据不能直接Switch至Data块,导致后续写入该Cache块的大数据,需要存入Random块中,等到要将Cache块上的数据Merge至Data块时,需将Cache块上未产生回写的缓存页的大数据,搬移至数据块(Data块),会带来大量时间开销。
但是,由于搬移操作的耗时较长,并且在小数据的缓存位置位于缓存块的中间时可能需要数次搬移操作,造成大数据缓存的速度低,进而导致闪存数据存储的效率低。
发明内容
本发明提供一种基于闪存的数据缓存方法及装置,旨在解决现有闪存写入连续的大数据时由于小数据的回写而造成数据存储效率低的技术问题。
为实现上述目的,本发明提供的一种基于闪存的数据缓存方法,所述基于闪存的数据缓存方法包括以下步骤:
在连续的大数据缓存至所述闪存的一级缓存块的过程中,实时检测当前是否存在与所述大数据关联的小数据;
在检测到当前存在与所述大数据关联的小数据时,将所述小数据缓存至所述闪存的二级缓存块;
在所述小数据缓存完成时,继续缓存所述大数据至所述一级缓存块。
优选地,所述在检测到当前存在与所述大数据关联的小数据时,将所述小数据缓存至所述闪存的二级缓存块的步骤包括:
在检测到当前存在与所述大数据关联的小数据时,确定所述二级缓存块中是否存储有与所述大数据关联的小数据;
在所述二级缓存块中存储有与所述大数据关联的小数据时,基于当前的所述小数据更新所述二级缓存块中与所述大数据关联的小数据。
优选地,所述继续缓存所述大数据至所述一级缓存块的步骤之后,所述基于闪存的数据缓存方法还包括:
在所述二级缓存块的数据量超过第一预设容量时,确定所述数据块是否处于空闲状态;
在所述数据块处于空闲状态时,将所述二级缓存块中的数据存储至所述闪存的数据块。
优选地,所述继续缓存所述大数据至所述一级缓存块的步骤之后,所述基于闪存的数据缓存方法还包括:
在所述一级缓存块的数据量超过第二预设容量时,将所述一级缓存块的数据存储至所述闪存的数据块。
优选地,所述小数据至少包括以下之一:所述大数据的格式信息、所述大数据占用扇区的数量、所述大数据的数据量和所述大数据的缓存时间。
此外,为实现上述目的,本发明还提供一种基于闪存的数据缓存装置,所述基于闪存的数据缓存装置包括:
检测模块,用于在连续的大数据缓存至所述闪存的一级缓存块的过程中,实时检测当前是否存在与所述大数据关联的小数据;
第一缓存模块,用于在检测到当前存在与所述大数据关联的小数据时,将所述小数据缓存至所述闪存的二级缓存块;
第二缓存模块,用于在所述小数据缓存完成时,继续缓存所述大数据至所述一级缓存块。
优选地,所述第一缓存模块包括:
确定单元,用于在检测到当前存在与所述大数据关联的小数据时,确定所述二级缓存块中是否存储有与所述大数据关联的小数据;
更新单元,用于在所述二级缓存块中存储有与所述大数据关联的小数据时,基于当前的所述小数据更新所述二级缓存块中与所述大数据关联的小数据。
优选地,所述数据缓存装置还包括:
确定模块,用于在所述二级缓存块的数据量超过第一预设容量时,确定所述数据块是否处于空闲状态;
第一存储模块,用于在所述数据块处于空闲状态时,将所述二级缓存块中的数据存储至所述闪存的数据块。
优选地,所述数据缓存装置还包括:
第二存储模块,用于在所述一级缓存块的数据量超过第二预设容量时,将所述一级缓存块的数据存储至所述闪存的数据块。
优选地,所述小数据至少包括以下之一:所述大数据的格式信息、所述大数据占用扇区的数量、所述大数据的数据量和所述大数据的缓存时间。
本发明通过在连续的大数据缓存至所述闪存的一级缓存块的过程中,实时检测当前是否存在与所述大数据关联的小数据,接着在检测到当前存在与所述大数据关联的小数据时,将所述小数据缓存至所述闪存的二级缓存块,而后在所述小数据缓存完成时,继续缓存所述大数据至所述一级缓存块,实现了将小数据缓存至闪存的二级缓存块后继续缓存大数据,降低了小数据回写时对大数据写入效率的影响,大大提高了采用闪存存储连续大数据的速度以及效率。
附图说明
图1为本发明基于闪存的数据缓存方法第一实施例的流程示意图;
图2为本发明基于闪存的数据缓存方法第二实施例中将所述小数据缓存至所述闪存的二级缓存块步骤的细化流程示意图;
图3为本发明基于闪存的数据缓存方法第三实施例的流程示意图;
图4为本发明基于闪存的数据缓存装置第一实施例的功能模块示意图;
图5为本发明基于闪存的数据缓存装置第二实施例中第一缓存模块的细化功能模块示意图;
图6为本发明基于闪存的数据缓存装置第三实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于闪存的数据缓存方法。参照图1,图1为本发明基于闪存的数据缓存方法第一实施例的流程示意图。
在本实施例中,该基于闪存的数据缓存方法包括:
步骤S10,在将连续的大数据缓存至所述闪存的一级缓存块的过程中,实时检测当前是否存在与所述大数据关联的小数据;
其中,小数据包括:所述大数据的格式信息、所述大数据占用扇区的数量、所述大数据的数据量、所述大数据的缓存时间等系统数据。本实施例中,在将连续的大数据缓存至Flash的Cache块的过程中,实时检测是否生成了与该大数据关联的小数据,即实时检测是否生成了该大数据的数据量、格式信息、占用扇区的数量及缓存时间等系统数据,进而确定当前是否存在与所述大数据关联的小数据。
步骤S20,在检测到当前存在与所述大数据关联的小数据时,将所述小数据缓存至所述闪存的二级缓存块;
在检测到当前存在与所述大数据关联的小数据时,即实时检测系统生成了该大数据的数据量、格式信息、占用扇区的数量及缓存时间等系统数据时,将所述小数据缓存至所述闪存的二级缓存块,其中,该二级缓存块为专门用于存储大数据相关的系统数据(小数据)的一级缓存块。
步骤S30,在所述小数据缓存完成时,继续缓存所述大数据至所述一级缓存块。
在所述小数据完成缓存至闪存的二级缓存块时,继续缓存所述大数据至所述一级缓存块。例如,连续的大数据的Cache块的逻辑地址LgBlk5、二级缓存块的逻辑地址为LgBlk100,LgBlk100这个区域缓存的都是小数据或者文件系统的数据,在系统生成了该大数据对应的小数据时,将小数据缓存至该二级缓存块,然后在小数据完成缓存至LgBlk100对应的二级缓存块时,继续缓存连续的大数据至逻辑地址为LgBlk5的Cache块。
进一步地,在一实施例中,在步骤S30之后,该基于闪存的数据缓存方法还包括:在所述一级缓存块的数据量超过第二预设容量时,将所述一级缓存块的数据存储至所述闪存的数据块。
本实施例中,在一级缓存块的数据量超过第二预设容量时,Cache块无法再写入更多的数据即Cache块已写满数据,直接将Cache块与Data块做Switch Merge,即将所述一级缓存块的数据交换至所述闪存的数据块,由于Switch Merge即数据交换的效率远高于Full-Merge(全合并)或搬移,因此能够大大提高闪存数据存储的速度以及效率。
本实施例中,通过在连续的大数据缓存至所述闪存的一级缓存块的过程中,实时检测当前是否存在与所述大数据关联的小数据,接着在检测到当前存在与所述大数据关联的小数据时,将所述小数据缓存至所述闪存的二级缓存块,而后在所述小数据缓存完成时,继续缓存所述大数据至所述一级缓存块,实现了将小数据缓存至闪存的二级缓存块后继续缓存大数据,降低了小数据回写时对大数据写入效率的影响,大大提高了采用闪存存储连续大数据的速度以及效率。
基于第一实施例提出本发明基于闪存的数据缓存方法的第二实施例,参照图2,在本实施例中,步骤S20包括:
步骤S21,在检测到当前存在与所述大数据关联的小数据时,确定所述二级缓存块中是否存储有与所述大数据关联的小数据;
由于在大数据开始写入Cache块时,都会产生大数据相关的系统数据即小数据,若二级缓存块中已存储有与所述小数据相关的小数据,则直接更新二级缓存块中已存储有与所述小数据相关的小数据即可实现小数据的缓存,并能够避免小数据的重复缓存以节约二级缓存块的存储空间。因此,在检测到当前存在与所述大数据关联的小数据时,首先确定所述二级缓存块中是否存储有与所述大数据关联的小数据。
步骤S22,在所述二级缓存块中存储有与所述大数据关联的小数据时,基于当前的所述小数据更新所述二级缓存块中与所述大数据关联的小数据。
本实施例中,在所述二级缓存块中存储有与所述大数据关联的数据时,直接基于当前的与大数据关联的小数据更新所述二级缓存块中与所述大数据关联的小数据,例如,在小数据包括大数据的缓存时间时,直接更新二级缓存块中存储的该大数据的缓存时间,进而能够节约二级缓存块的存储空间。
本实施例中,在检测到当前存在与所述大数据关联的小数据时,确定所述二级缓存块中是否存储有与所述大数据关联的小数据,而后在所述二级缓存块中存储有与所述大数据关联的小数据时,基于当前的所述小数据更新所述二级缓存块中与所述大数据关联的小数据,实现了更新二级缓存块中与大数据关联的数据,进而节约了二级缓存块的存储空间,进一步提高了采用闪存存储连续大数据的速度以及效率。
基于第一实施例提出本发明基于闪存的数据缓存方法的第三实施例,参照图3,在本实施例中,在步骤S30之后,该基于闪存的数据缓存方法还包括:
步骤S40,在所述二级缓存块的数据量超过第一预设容量时,确定所述数据块是否处于空闲状态;
容易理解,Flash的资源是有限的,因此二级缓存块也不可能无限大,本实施例中二级缓存块能够存储的数据量的为第一预设容量或者稍大于第一预设容量,其中,该第一预设容量可以在Flash出厂时设置,也可以由用户进行自行设定,比如第一预设容量可以设置为100页等。在二级缓存块的数据量超过第一预设容量时,需要将二级缓存块中存储的数据存储至数据块,为了提高数据存储的速度与效率,本实施例中在数据块处于空闲状态时,将二级缓存块中存储的数据存储至数据块,因此,需要首先确定数据块是否处于空闲状态。
步骤S50,在所述数据块处于空闲状态时,将所述二级缓存块中的数据存储至所述闪存的数据块。
在数据块处于空闲状态时,利用Flash进行数据传输的Idle(空闲)时间,比如二个大文件(大数据)之间的间隔,将所述二级缓存块中的数据存储至所述闪存的数据块,以实现二级缓存块的空闲回收,保证将二级缓存块的数据更新到Data块上,具体地,根据实际的Cache块的情形进行Merge操作,但是该Merge操作是在Flash数据传输的空闲时进行的,因此不会影响Flash写入大数据的速度及效率。
本实施例中,在所述二级缓存块的数据量超过第一预设容量时,确定所述数据块是否处于空闲状态,而后在所述数据块处于空闲状态时,将所述二级缓存块中的数据存储至所述闪存的数据块,实现了在Flash数据传输的空闲时将二级缓存块中的数据存储至数据块,并不会影响Flash写入大数据的速度及效率,进一步提高了采用闪存存储连续大数据的速度以及效率。
本发明进一步提供一种基于闪存的数据缓存装置。参照图4,图4为本发明基于闪存的数据缓存装置第二实施例的功能模块示意图。
在本实施例中,该基于闪存的数据缓存装置包括:
检测模块10,用于在连续的大数据缓存至所述闪存的一级缓存块的过程中,实时检测当前是否存在与所述大数据关联的小数据;
其中,小数据包括:所述大数据的格式信息、所述大数据占用扇区的数量、所述大数据的数据量、所述大数据的缓存时间等系统数据。本实施例中,在将连续的大数据缓存至Flash的Cache块的过程中,检测模块10实时检测是否生成了与该大数据关联的小数据,即实时检测是否生成了该大数据的数据量、格式信息、占用扇区的数量及缓存时间等系统数据,进而确定当前是否存在与所述大数据关联的小数据。
第一缓存模块20,用于在检测到当前存在与所述大数据关联的小数据时,将所述小数据缓存至所述闪存的二级缓存块;
在检测模块10检测到当前存在与所述大数据关联的小数据时,即实时检测系统生成了该大数据的数据量、格式信息、占用扇区的数量及缓存时间等系统数据时,第一缓存模块20将所述小数据缓存至所述闪存的二级缓存块,其中,该二级缓存块为专门用于存储大数据相关的系统数据(小数据)的一级缓存块。
第二缓存模块30,用于在所述小数据缓存完成时,继续缓存所述大数据至所述一级缓存块。
在所述小数据完成缓存至闪存的二级缓存块时,第二缓存模块30继续缓存所述大数据至所述一级缓存块。例如,连续的大数据的Cache块的逻辑地址LgBlk5、二级缓存块的逻辑地址为LgBlk100,LgBlk100这个区域缓存的都是小数据或者文件系统的数据,在系统生成了该大数据对应的小数据时,将小数据缓存至该二级缓存块,然后在小数据完成缓存至LgBlk100对应的二级缓存块时,继续缓存连续的大数据至逻辑地址为LgBlk5的Cache块。
进一步地,在一实施例中,数据缓存装置还包括:第二存储模块,用于在所述一级缓存块的数据量超过第二预设容量时,将所述一级缓存块的数据存储至所述闪存的数据块。
本实施例中,在一级缓存块的数据量超过第二预设容量时,Cache块无法再写入更多的数据即Cache块已写满数据,第二存储模块直接将Cache块与Data块做Switch Merge,即将所述一级缓存块的数据交换至所述闪存的数据块,由于Switch Merge即数据交换的效率远高于Full-Merge(全合并)或搬移,因此能够大大提高闪存数据存储的速度以及效率。
本实施例中,通过在连续的大数据缓存至所述闪存的一级缓存块的过程中,检测模块10实时检测当前是否存在与所述大数据关联的小数据,接着在检测到当前存在与所述大数据关联的小数据时,第一缓存模块20将所述小数据缓存至所述闪存的二级缓存块,而后在所述小数据缓存完成时,第二缓存模块30继续缓存所述大数据至所述一级缓存块,实现了将小数据缓存至闪存的二级缓存块后继续缓存大数据,降低了小数据回写时对大数据写入效率的影响,大大提高了采用闪存存储连续大数据的速度以及效率。
基于第一实施例提出本发明基于闪存的数据缓存装置的第二实施例,参照图5,在本实施例中,第一缓存模块20包括:
确定单元21,用于在检测到当前存在与所述大数据关联的小数据时,确定所述二级缓存块中是否存储有与所述大数据关联的小数据;
由于在大数据开始写入Cache块时,都会产生大数据相关的系统数据即小数据,若二级缓存块中已存储有与所述小数据相关的小数据,则直接更新二级缓存块中已存储有与所述小数据相关的小数据即可实现小数据的缓存,并能够避免小数据的重复缓存以节约二级缓存块的存储空间。因此,在检测到当前存在与所述大数据关联的小数据时,首先通过确定单元21确定所述二级缓存块中是否存储有与所述大数据关联的小数据。
更新单元22,用于在所述二级缓存块中存储有与所述大数据关联的数据时,基于当前的所述小数据更新所述二级缓存块中与所述大数据关联的数据。
本实施例中,在所述二级缓存块中存储有与所述大数据关联的数据时,更新单元22直接基于当前的与大数据关联的所述小数据更新所述二级缓存块中与所述大数据关联的小数据,例如,在小数据包括大数据的缓存时间时,直接更新二级缓存块中存储的该大数据的缓存时间,进而能够节约二级缓存块的存储空间。
本实施例中,在检测到当前存在与所述大数据关联的小数据时,确定单元21确定所述二级缓存块中是否存储有与所述大数据关联的小数据,而后在所述二级缓存块中存储有与所述大数据关联的小数据时,更新单元22基于当前的所述小数据更新所述二级缓存块中与所述大数据关联的小数据,实现了更新二级缓存块中与大数据关联的数据,进而节约了二级缓存块的存储空间,进一步提高了采用闪存存储连续大数据的速度以及效率。
基于第一实施例提出本发明基于闪存的数据缓存装置的第三实施例,参照图6,在本实施例中,数据缓存装置还包括:
确定模块40,用于在所述二级缓存块的数据量超过第一预设容量时,确定所述数据块是否处于空闲状态;
容易理解,Flash的资源是有限的,因此二级缓存块也不可能无限大,本实施例中二级缓存块能够存储的数据量的为第一预设容量或者稍大于第一预设容量,其中,该第一预设容量可以在Flash出厂时设置,也可以由用户进行自行设定,比如第一预设容量可以设置为100页等。在二级缓存块的数据量超过第一预设容量时,需要将二级缓存块中存储的数据存储至数据块,为了提高数据存储的速度与效率,本实施例中在数据块处于空闲状态时,将二级缓存块中存储的数据存储至数据块,因此,需要首先通过确定模块40确定数据块是否处于空闲状态。
第一存储模块50,用于在所述数据块处于空闲状态时,将所述二级缓存块中的数据存储至所述闪存的数据块。
在数据块处于空闲状态时,第一存储模块50利用Flash进行数据传输的Idle(空闲)时间,比如二个大文件(大数据)之间的间隔,将所述二级缓存块中的数据存储至所述闪存的数据块,以实现二级缓存块的空闲回收,保证将二级缓存块的数据更新到Data块上,具体地,根据实际的Cache块的情形进行Merge操作,但是该Merge操作是在Flash数据传输的空闲时进行的,因此不会影响Flash写入大数据的速度及效率。
本实施例中,在所述二级缓存块的数据量超过第一预设容量时,确定模块40确定所述数据块是否处于空闲状态,而后在所述数据块处于空闲状态时,第一存储模块50将所述二级缓存块中的数据存储至所述闪存的数据块,实现了在Flash数据传输的空闲时将二级缓存块中的数据存储至数据块,并不会影响Flash写入大数据的速度及效率,进一步提高了采用闪存存储连续大数据的速度以及效率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于闪存的数据缓存方法,其特征在于,所述基于闪存的数据缓存方法包括以下步骤:
在连续的大数据缓存至所述闪存的一级缓存块的过程中,实时检测当前是否存在与所述大数据关联的小数据;
在检测到当前存在与所述大数据关联的小数据时,将所述小数据缓存至所述闪存的二级缓存块;
在所述小数据缓存完成时,继续缓存所述大数据至所述一级缓存块。
2.如权利要求1所述的基于闪存的数据缓存方法,其特征在于,所述在检测到当前存在与所述大数据关联的小数据时,将所述小数据缓存至所述闪存的二级缓存块的步骤包括:
在检测到当前存在与所述大数据关联的小数据时,确定所述二级缓存块中是否存储有与所述大数据关联的小数据;
在所述二级缓存块中存储有与所述大数据关联的小数据时,基于当前的所述小数据更新所述二级缓存块中与所述大数据关联的小数据。
3.如权利要求1所述的基于闪存的数据缓存方法,其特征在于,所述继续缓存所述大数据至所述一级缓存块的步骤之后,所述基于闪存的数据缓存方法还包括:
在所述二级缓存块的数据量超过第一预设容量时,确定所述数据块是否处于空闲状态;
在所述数据块处于空闲状态时,将所述二级缓存块中的数据存储至所述闪存的数据块。
4.如权利要求1所述的基于闪存的数据缓存方法,其特征在于,所述继续缓存所述大数据至所述一级缓存块的步骤之后,所述基于闪存的数据缓存方法还包括:
在所述一级缓存块的数据量超过第二预设容量时,将所述一级缓存块的数据存储至所述闪存的数据块。
5.如权利要求1至4任一项所述的基于闪存的数据缓存方法,其特征在于,所述小数据至少包括以下之一:所述大数据的格式信息、所述大数据占用扇区的数量、所述大数据的数据量和所述大数据的缓存时间。
6.一种基于闪存的数据缓存装置,其特征在于,所述基于闪存的数据缓存装置包括:
检测模块,用于在连续的大数据缓存至所述闪存的一级缓存块的过程中,实时检测当前是否存在与所述大数据关联的小数据;
第一缓存模块,用于在检测到当前存在与所述大数据关联的小数据时,将所述小数据缓存至所述闪存的二级缓存块;
第二缓存模块,用于在所述小数据缓存完成时,继续缓存所述大数据至所述一级缓存块。
7.如权利要求6所述的基于闪存的数据缓存装置,其特征在于,所述第一缓存模块包括:
确定单元,用于在检测到当前存在与所述大数据关联的小数据时,确定所述二级缓存块中是否存储有与所述大数据关联的小数据;
更新单元,用于在所述二级缓存块中存储有与所述大数据关联的小数据时,基于当前的所述小数据更新所述二级缓存块中与所述大数据关联的小数据。
8.如权利要求6所述的基于闪存的数据缓存装置,其特征在于,所述数据缓存装置还包括:
确定模块,用于在所述二级缓存块的数据量超过第一预设容量时,确定所述数据块是否处于空闲状态;
第一存储模块,用于在所述数据块处于空闲状态时,将所述二级缓存块中的数据存储至所述闪存的数据块。
9.如权利要求6所述的基于闪存的数据缓存装置,其特征在于,所述数据缓存装置还包括:
第二存储模块,用于在所述一级缓存块的数据量超过第二预设容量时,将所述一级缓存块的数据存储至所述闪存的数据块。
10.如权利要求6至9任一项所述的基于闪存的数据缓存装置,其特征在于,所述小数据至少包括以下之一:所述大数据的格式信息、所述大数据占用扇区的数量、所述大数据的数据量和所述大数据的缓存时间。
CN201610522315.1A 2016-07-04 2016-07-04 基于Flash的数据缓存方法及装置 Pending CN106155932A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610522315.1A CN106155932A (zh) 2016-07-04 2016-07-04 基于Flash的数据缓存方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610522315.1A CN106155932A (zh) 2016-07-04 2016-07-04 基于Flash的数据缓存方法及装置

Publications (1)

Publication Number Publication Date
CN106155932A true CN106155932A (zh) 2016-11-23

Family

ID=58061385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610522315.1A Pending CN106155932A (zh) 2016-07-04 2016-07-04 基于Flash的数据缓存方法及装置

Country Status (1)

Country Link
CN (1) CN106155932A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541755A (zh) * 2010-12-29 2012-07-04 深圳市硅格半导体有限公司 闪存存储器及其接收数据的方法
CN103399713A (zh) * 2013-08-02 2013-11-20 浙江大学 平衡多级存储性能与固态硬盘寿命的数据缓冲方法
CN103838853A (zh) * 2014-03-17 2014-06-04 华中科技大学 一种基于不同存储介质的混合文件系统
CN104410897A (zh) * 2014-12-11 2015-03-11 深圳市九洲电器有限公司 一种数据存储的方法和装置
CN105608155A (zh) * 2015-12-17 2016-05-25 北京华油信通科技有限公司 海量数据分布式存储系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541755A (zh) * 2010-12-29 2012-07-04 深圳市硅格半导体有限公司 闪存存储器及其接收数据的方法
CN103399713A (zh) * 2013-08-02 2013-11-20 浙江大学 平衡多级存储性能与固态硬盘寿命的数据缓冲方法
CN103838853A (zh) * 2014-03-17 2014-06-04 华中科技大学 一种基于不同存储介质的混合文件系统
CN104410897A (zh) * 2014-12-11 2015-03-11 深圳市九洲电器有限公司 一种数据存储的方法和装置
CN105608155A (zh) * 2015-12-17 2016-05-25 北京华油信通科技有限公司 海量数据分布式存储系统

Similar Documents

Publication Publication Date Title
CN103473150B (zh) 一种用于数据去重系统中的碎片重写方法
CN103425600B (zh) 一种固态盘闪存转换层中的地址映射方法
CN102760101B (zh) 一种基于ssd 的缓存管理方法及系统
CN103488583B (zh) 一种高性能高可靠的固态盘实现方法
CN102843396B (zh) 一种分布式缓存系统中的数据写入及读取方法及装置
CN102331986B (zh) 一种数据库缓存管理方法及一种数据库服务器
CN106569733A (zh) 缓存数据的处理方法和装置
CN106227731B (zh) 一种数据处理方法、装置及分布式文件系统
CN105095116A (zh) 缓存替换的方法、缓存控制器和处理器
CN103885728A (zh) 一种基于固态盘的磁盘缓存系统
CN104881333A (zh) 一种存储系统及其使用的方法
CN106610790A (zh) 一种重复数据删除方法及装置
CN108984130A (zh) 一种分布式存储的缓存读取方法及其装置
CN106407224A (zh) 一种键值存储系统中文件压实的方法和装置
CN106066818B (zh) 一种提高重复数据删除备份系统恢复性能的数据布局方法
CN104750432B (zh) 一种数据存储方法及装置
CN106649146A (zh) 一种内存释放方法及装置
CN108762916A (zh) 一种内存管理方法、装置、设备及计算机可读存储介质
CN103548005B (zh) 替换缓存对象的方法和装置
US20170262485A1 (en) Non-transitory computer-readable recording medium, data management device, and data management method
CN102779098B (zh) 混合缓存的协同式自适应预取方法、装置和系统
CN103336812A (zh) 用于提高二次加载效率的网页资源缓存方法及装置
CN106155936B (zh) 一种缓存替换方法与相关装置
CN106251623B (zh) 一种提供道路实时路况服务的系统
CN106155932A (zh) 基于Flash的数据缓存方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Units 05-2 and 06-08, 6th floor, Changhong Science and Technology Building, 18 Science and Technology South 12 Road, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen SiliconGo Semiconductor Co., Ltd.

Address before: Units 05-2 and 06-08, 6th floor, Changhong Science and Technology Building, 18 Science and Technology South 12 Road, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: SILICONGO MICROELECTRONICS CO., LTD.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20161123