CN104503710A - 一种提高闪存写入速度的方法和装置 - Google Patents

一种提高闪存写入速度的方法和装置 Download PDF

Info

Publication number
CN104503710A
CN104503710A CN201510035432.0A CN201510035432A CN104503710A CN 104503710 A CN104503710 A CN 104503710A CN 201510035432 A CN201510035432 A CN 201510035432A CN 104503710 A CN104503710 A CN 104503710A
Authority
CN
China
Prior art keywords
write request
module
write
random
request
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
CN201510035432.0A
Other languages
English (en)
Other versions
CN104503710B (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.)
Rockchip Electronics Co Ltd
Original Assignee
Fuzhou Rockchip Electronics 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 Fuzhou Rockchip Electronics Co Ltd filed Critical Fuzhou Rockchip Electronics Co Ltd
Priority to CN201510035432.0A priority Critical patent/CN104503710B/zh
Publication of CN104503710A publication Critical patent/CN104503710A/zh
Application granted granted Critical
Publication of CN104503710B publication Critical patent/CN104503710B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种提高闪存写入速度的方法,包括如下步骤,接收随机写请求,缓存随机写请求,当缓存的随机写请求的数据量超过一定阈值时,将多个随机写请求合并成一个合并写请求,再将合并写请求写入闪存中。通过将不断接收到的写请求进行分类、合并,并判断写请求的地址,然后进行进一步合并等操作,最后将合并后的写请求依次写入闪存中,有效减少了对闪存的访问次数,提高了闪存的写入效率,解决了闪存写入速度不够快的问题。

Description

一种提高闪存写入速度的方法和装置
技术领域
本发明涉及一种闪存的写入方法,尤其涉及一种提高Nand Flash写入速度的方法。
背景技术
Nand Flash闪存以页为单位进行编程,以块为单位进行擦除。随着NandFlash制程的进步,物理页的大小也随之变大,由原来的4KB、8KB变成16KB,未来可能继续变大。位于Nand Flash上的应用,如文件系统或数据库都是以扇区(512字节)为单位进行读写。因此实际中存在大量的小于Nand Flash页大小的随机写操作。所以提高Nand Flash随机写速度对于提升系统性能有非常重要的意义。但是现有的技术对于处理小于Nand Flash页大小的随机写的速度很慢,随机写性能很差。现有技术使用了页映射技术来处理随机写。页映射技术以物理页大小为单位进行读写。这种技术在处理小于Nand Flash页大小的随机写时,需要从Nand Flash读取一个页大小的原始数据到系统内存,然后与新提交的数据进行合并,再将合并后的数据编程到一个新物理页中,最后更新页映射表。因此大大降低了Nand Flash的随机写的性能。
发明内容
为此,需要提供一种新的提高闪存写入速度的方法,解决现有技术下闪存数据写入不够快的问题。
为实现上述目的,发明人提供了一种提高闪存写入速度的方法,包括如下步骤,接收随机写请求,缓存随机写请求,当缓存的随机写请求的数据量超过一定阈值时,将多个随机写请求合并成一个合并写请求,再将合并写请求写入闪存中。
进一步的,还包括步骤,判断合并写请求的逻辑地址是否连续;若连续则将合并写请求写入采用页映射的物理块,并更新页映射表;若不连续则将合并写请求写入随机写块,并更新随机写块的扇区映射表。
进一步的,还包括步骤,当随机写请求队列计时器超过阈值时,将随机写请求队列中的小数据写请求合并成一个小数据合并写请求,将小数据合并写请求写入随机写块,并更新随机写的扇区映射表。
进一步的,还包括步骤,判断接收到的写请求是否大于一个闪存物理页的大小,若判断为是,将该写请求直接写入采用页映射的物理块,并更新页映射表。若判断为否,进行后续步骤“接收随机写请求”。
进一步的,还包括步骤,对随机写块中已使用的物理页进行回收处理。
一种提高闪存写入速度的装置,包括如下模块,接收缓存模块、合并请求模块和写入模块;所述接收缓存模块用于接收并缓存随机写请求;所述合并请求模块用于在缓存的随机写请求的数据量超过一定阈值时,将多个随机写请求合并成一个合并写请求;写入模块用于将合并写请求写入闪存中。
进一步的,还包括判断模块、更新模块;所述判断模块用于判断合并写请求的逻辑地址是否连续;写入模块还用于在判断模块的判断结果为连续时则将合并写请求写入采用页映射的物理块;所述更新模块用于在判断模块的判断结果为连续时更新页映射表;写入模块还用于在判断模块的判断结果为不连续时将合并写请求写入随机写块,更新模块还用于在判断模块的判断结果为不连续时更新随机写块的扇区映射表。
进一步的,还包括更新模块,合并请求模块还用于在随机写请求队列计时器超过阈值时,将随机写请求队列中的小数据写请求合并成一个小数据合并写请求,写入模块还用于将小数据合并写请求写入随机写块,所述更新模块用于更新随机写的扇区映射表。
进一步的,还包括判断模块、更新模块,所述判断模块用于判断接收到的写请求是否大于一个闪存物理页的大小,并在判断为是时使能写入模块、更新模块;若判断为否时,则使能接收缓存模块;写入模块还用于将写请求直接写入采用页映射的物理块;更新模块用于更新页映射表。
进一步的,还包括回收模块,所述回收模块用于对随机写块中已使用的物理页进行回收处理。
区别于现有技术,上述技术方案通过将不断接收到的写请求进行分类、合并,并判断写请求的地址,然后进行进一步合并等操作,最后将合并后的写请求依次写入闪存中,有效减少了对闪存的访问次数,提高了闪存的写入效率,解决了闪存写入速度不够快的问题。
附图说明
图1为本发明方法流程示意图;
图2为本发明某些实施例连续地址数据写入示意图;
图3为本发明某些实施例随机写块写入示意图;
图4为本发明某些实施例回收数据处理示意图;
图5为本发明装置模块示意图。
附图标记说明:
501、接收缓存模块;
502、合并请求拨快;
503、写入模块;
504、判断模块;
505、更新模块;
506、回收模块。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1,为本发明的一种提高闪存写入速度的方法,本方法从步骤S101开始:接收随机写请求,缓存随机写请求;然后进行判断步骤S102当缓存的随机写请求的数据量超过一定阈值时,进行步骤S103将多个随机写请求合并成一个合并写请求,再将合并写请求写入闪存中。具体的,所述随机写请求指大小小于一个页单位大小的写入数据请求,在图1所示的某些实施例中,先接收随机写请求,然后将其缓存在内存的随机写请求队列中去。随后对所缓存的随机写请求的数据量进行判断,优选的,所述“一定阈值”为闪存的物理页的大小,若超过该阈值,则对随机写请求队列中的多个随机写请求进行合并,变成一个合并写请求,再将这个合并写请求写入到闪存中。所述物理页的大小并不固定,如背景技术所述,物理页的大小随着科技的进步也会不断增大。因此所述一定阈值也要因具体情况而确定,又如在某些实施例中,若使用的Nand Flash内存支持多个Plane编程时,所述一定阈值还可以扩展为物理页大小乘以Nand Flash支持的Plane个数。具体的,当所述的随机写请求超过该扩展后的阈值时,才进行随机写请求的合并操作,然后将合并写请求写入到闪存中,不但更加节省了对闪存的占用次数,同时也大大提高了随机写的数据吞吐量。综上,本方法缓存多个随机写请求,达到一定数据量之后对随机写请求进行合并最后再对闪存进行写入,使得原先需要不断对闪存进行多而杂的写入请求合并成一个合并写请求,因此只需对闪存进行一次占用。通过上述步骤,便达到了减少对闪存的写入请求,提高闪存利用率,进而提高闪存的写入性能的效果。
在某些实施例中,为了进一步优化数据的合并,还包括步骤S104,判断合并写请求的逻辑地址是否连续;若连续则进行步骤S105:将合并写请求写入采用页映射的物理块,并更新页映射表;若不连续则进行步骤S107:将合并写请求写入随机写块,并更新随机写块的扇区映射表。具体的,Nand Flash驱动层会分配若干个物理块,对于这些物理块,只使用它的LSB(LeastSignificant Bit)物理页用于存储随机写的数据,我们将仅使用LSB物理页的物理块称为随机写块,它们以扇区为单位进行存储映射。所述扇区的大小以512字节的2的幂次方倍为单位,但必须小于Nand Flash物理页的大小。例如对于16KB大小Nand Flash物理页,可以选择的扇区单位是512B,1KB,2KB,4KB,8KB。所述扇区单位的具体大小,可以由上层应用来选择。
图2为随机写请求队列数据合并,逻辑地址连续情况的某些实施例的具体实施方式。在该实施例中,页映射单位16K,扇映射单位4K,随机写请求数据单位4K。随机队列中有4个4KB大小随机写请求,随机写请求的逻辑地址分别是300,308,316,324(逻辑地址是以扇区为单位,4K等于8个扇区)。通过上述条件我们可以看到,这些随机写请求逻辑地址是连续的,并且满足总的数据大小等于一个物理页,则将4个随机写请求的数据合并写入采用页映射的物理块B1内一个空的物理页,本实施例中,该的物理页P1的写入地址为1001,然后更新页映射表,通过图2我们可以看到,逻辑地址LBA为300到324的映射都对应到了物理页地址PBA=1001。
图3为随机写请求队列数据合并,逻辑地址不连续情况下的某些实施例的具体实施方式。在该实施例中,页映射单位16K,扇映射单位4K,随机写请求数据单位4K。随机队列中有4个4KB大小随机写请求,随机写请求的逻辑地址分别是300,400,700,708。因此这些随机写请求逻辑地址是不连续的,则将这4个随机写请求的数据合并为合并写请求,然后将合并写请求写入随机写块B2内一个空的LSB物理页即随机写块内,本实施例中,LSB物理页(随机写块)P2的写入地址为2001,然后更新随机写块的扇区映射表。通过图3我们可以看到,逻辑地址LBA为300、200、700、708的映射分别都对应到了物理页地址PBA=2001。
通过上述优化数据的合并,使得地址连续的随机写请求能够有效合并,并分配一个页映射的物理块进行存储;同时对于非连续的随机写请求,分配到相对零碎的扇区进行存储。使得随机写请求更有效的整合,提高了闪存的利用效率,从而进一步提升了闪存的写入速度。
在某些实施例中,还包括一个随机写请求队列计时器。所述队列计时器可以通过向实时时钟注册中断来创建,或是使用定时器方式也可以实现,同时,时间阈值也可以灵活设置。在每一次缓存随机写请求时会将队列计时器清零。具体的,本方法还包括步骤S106,判断随机写请求队列计时器是否达到阈值。当随机写请求队列计时器超过阈值时,进行步骤S107,将随机写请求队列中的小数据写请求合并成一个小数据合并写请求,将小数据合并写请求写入随机写块,并更新随机写的扇区映射表。若未队列计时器未达到阈值,则不触发中断操作。设计队列计时器能够防止在系统不再有随机写请求进入,例如一批次的写入数据录入完毕时,随机写请求队列中仍然缓存有随机写数据,进而防止因这些数据得不到处理而导致的数据丢失等问题。提高了本方法的数据安全性。
在图1所示的某些实施例中,还包括步骤S108,上层应用的写请求到达,所述上层应用为需要在闪存中存储数据的应用或为系统的IO请求。随后进行步骤S109判断接收到的写请求是否大于一个闪存物理页的大小,若判断为是,则该写请求为大块数据写请求,进行步骤S110将该大块数据写请求直接写入采用页映射的物理块,并更新页映射表。若判断为否,则该写请求为随机写请求,此时才进行后续步骤S101“接收并缓存随机写请求”。通过上述判断,将大块数据写请求与随机写请求区分开来,将大块数据直接写入,将随机写请求缓存至随机写请求队列。节省了大块数据写请求对缓存的占用,提高了存储效率,加快了闪存的写入速度。
进一步的,还包括步骤,对随机写块中已使用的物理页进行回收处理。具体的,当随机写块空闲的物理页小于阈值或者系统空闲时,开始对随机写块中的已使用的物理页进行回收处理。首先读取扇区映射表,先将逻辑地址相同、相邻和重叠的随机写数据进行处理,处理后的随机写数据与物理块中读取的原始数据进行合并,合并后的新数据写入页映射的新物理块中,并更新页映射表和扇区映射表。在图4所示的某些实施例中,随机写块B2中4个物理页P21、P22、P23、P24,物理页地址分别是2001、2002、2003、2004。随机写块中相同逻辑地址的写请求只要回收最后写入的有效数据即可。图4中由于按时间顺序从低地址往高地址写,高地址的数据有效性高。因此P23中逻辑地址700和780是有效数据。P24中逻辑地址300、400、716、724是有效数据。回收时,将有效数据与原始数据进行合并。具体的,从P24读出逻辑地址300的数据,再从原始数据块读出逻辑地址308,316,324的数据,将这些数据合并成新的一页数据后写入页映射的物理块B3中页地址为3001的物理页P31中;再从P24读出逻辑地址400的数据,从原始数据块读出逻辑地址408,416,424的数据,将这些数据合并后写入页映射的物理块B3中页地址为3002的物理页P32中;再从P23中读出逻辑地址700和708的数据,从P24中读出逻辑地址716和724的数据,将这些数据合并后写入页映射的物理块B3中页地址为3003的物理页P33中;最后更新页映射表。这样随机写块B2中的数据都已被重新存储到页映射的物理块B3中,随机写块B2得到了回收。通过上述设计,使得系统空闲或随机写块占用较大的情况下对随机写块的数据进行整理并回收,提高了随机写块的利用率,进一步提升了闪存的存储效率和存储速度。
本发明还提供一种提高闪存写入速度的装置,请参阅图5,包括如下模块,接收缓存模块501、合并请求模块502和写入模块503;所述接收缓存模块用于接收并缓存随机写请求;所述合并请求模块用于在缓存的随机写请求的数据量超过一定阈值时,将多个随机写请求合并成一个合并写请求;写入模块用于将合并写请求写入闪存中。通过上述装置,达到了减少对闪存的写入请求,提高闪存利用率,进而提高闪存的写入性能的效果。
在某些实施例中,还包括判断模块504、更新模块505;所述判断模块用于判断合并写请求的逻辑地址是否连续;写入模块503还用于在判断模块的判断结果为连续时则将合并写请求写入采用页映射的物理块;所述更新模块用于在判断模块的判断结果为连续时更新页映射表;写入模块503还用于在判断模块的判断结果为不连续时将合并写请求写入随机写块,更新模块还用于在判断模块的判断结果为不连续时更新随机写块的扇区映射表。通过上述模块优化数据的合并,使得地址连续的随机写请求能够有效合并,并分配一个页映射的物理块进行存储;同时对于非连续的随机写请求,分配到相对零碎的扇区进行存储。使得随机写请求更有效的整合,提高了闪存的利用效率,从而进一步提升了闪存的写入速度。
在某些实施例中,还包括更新模块505,合并请求模块502还用于在随机写请求队列计时器超过阈值时,将随机写请求队列中的小数据写请求合并成一个小数据合并写请求,写入模块503还用于将小数据合并写请求写入随机写块,所述更新模块用于更新随机写的扇区映射表。通过上述模块设计,防止因这些数据得不到处理而导致的数据丢失等问题。提高了本方法的数据安全性。
在另一些实施例中,还包括判断模块504、更新模块505,所述判断模块用于判断接收到的写请求是否大于一个闪存物理页的大小,并在判断为是时使能写入模块403、更新模块;若判断为否时,则使能接收缓存模块501;写入模块还用于将写请求直接写入采用页映射的物理块;更新模块用于更新页映射表。通过上述模块,将大块数据写请求与随机写请求区分开来,将大块数据直接写入,将随机写请求缓存至随机写请求队列。节省了大块数据写请求对缓存的占用,提高了存储效率,加快了闪存的写入速度。
在某些实施例中,还包括回收模块506,所述回收模块用于对随机写块中已使用的物理页进行回收处理。通过设计回收模块,达到了减少对闪存的写入请求,提高闪存利用率,进而提高闪存的写入性能的效果。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。

Claims (10)

1.一种提高闪存写入速度的方法,其特征在于,包括如下步骤,接收随机写请求,缓存随机写请求,当缓存的随机写请求的数据量超过一定阈值时,将多个随机写请求合并成一个合并写请求,再将合并写请求写入闪存中。
2.根据权利要求1所述的一种提高闪存写入速度的方法,其特征在于,还包括步骤,判断合并写请求的逻辑地址是否连续;若连续则将合并写请求写入采用页映射的物理块,并更新页映射表;若不连续则将合并写请求写入随机写块,并更新随机写块的扇区映射表。
3.根据权利要求1所述的一种提高闪存写入速度的方法,其特征在于,还包括步骤,当随机写请求队列计时器超过阈值时,将随机写请求队列中的小数据写请求合并成一个小数据合并写请求,将小数据合并写请求写入随机写块,并更新随机写的扇区映射表。
4.根据权利要求1所述的一种提高闪存写入速度的方法,其特征在于,还包括步骤,判断写请求是否大于一个闪存物理页的大小,若判断为是,将该写请求直接写入采用页映射的物理块,并更新页映射表;若判断为否,进行后续步骤“接收随机写请求”。
5.根据权利要求2所述的一种提高闪存写入速度的方法,其特征在于,还包括步骤,对随机写块中已使用的物理页进行回收处理。
6.一种提高闪存写入速度的装置,其特征在于,包括如下模块:接收缓存模块、合并请求模块和写入模块;所述接收缓存模块用于接收并缓存随机写请求;所述合并请求模块用于在缓存的随机写请求的数据量超过一定阈值时,将多个随机写请求合并成一个合并写请求;写入模块用于将合并写请求写入闪存中。
7.根据权利要求6所述的一种提高闪存写入速度的装置,其特征在于,还包括判断模块、更新模块;所述判断模块用于判断合并写请求的逻辑地址是否连续;写入模块还用于在判断模块的判断结果为连续时则将合并写请求写入采用页映射的物理块;所述更新模块用于在判断模块的判断结果为连续时更新页映射表;写入模块还用于在判断模块的判断结果为不连续时将合并写请求写入随机写块,更新模块还用于在判断模块的判断结果为不连续时更新随机写块的扇区映射表。
8.根据权利要求6所述的一种提高闪存写入速度的装置,其特征在于,还包括更新模块,合并请求模块还用于在随机写请求队列计时器超过阈值时,将随机写请求队列中的小数据写请求合并成一个小数据合并写请求,写入模块还用于将小数据合并写请求写入随机写块,所述更新模块用于更新随机写的扇区映射表。
9.根据权利要求6所述的一种提高闪存写入速度的装置,其特征在于,还包括判断模块、更新模块,所述判断模块用于判断写请求是否大于一个闪存物理页的大小,并在判断为是时使能写入模块、更新模块;若判断为否时,则使能接收缓存模块;写入模块还用于将写请求直接写入采用页映射的物理块;更新模块用于更新页映射表。
10.根据权利要求7所述的一种提高闪存写入速度的装置,其特征在于,还包括回收模块,所述回收模块用于对随机写块中已使用的物理页进行回收处理。
CN201510035432.0A 2015-01-23 2015-01-23 一种提高闪存写入速度的方法和装置 Active CN104503710B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510035432.0A CN104503710B (zh) 2015-01-23 2015-01-23 一种提高闪存写入速度的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510035432.0A CN104503710B (zh) 2015-01-23 2015-01-23 一种提高闪存写入速度的方法和装置

Publications (2)

Publication Number Publication Date
CN104503710A true CN104503710A (zh) 2015-04-08
CN104503710B CN104503710B (zh) 2018-02-13

Family

ID=52945111

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510035432.0A Active CN104503710B (zh) 2015-01-23 2015-01-23 一种提高闪存写入速度的方法和装置

Country Status (1)

Country Link
CN (1) CN104503710B (zh)

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104965806A (zh) * 2015-06-30 2015-10-07 北京奇艺世纪科技有限公司 一种请求处理方法及装置
CN105302501A (zh) * 2015-11-27 2016-02-03 浙江宇视科技有限公司 一种磁盘扇区的控制方法和装置
CN105893272A (zh) * 2016-03-23 2016-08-24 联想(北京)有限公司 一种数据处理方法、处理设备及存储系统
WO2016192572A1 (zh) * 2015-06-01 2016-12-08 华为技术有限公司 提高无线局域网并发处理能力的方法、装置及系统
CN106406750A (zh) * 2016-08-23 2017-02-15 浪潮(北京)电子信息产业有限公司 一种数据操作方法及系统
CN106469174A (zh) * 2015-08-19 2017-03-01 阿里巴巴集团控股有限公司 数据读取方法和装置
CN106802777A (zh) * 2017-01-20 2017-06-06 杭州电子科技大学 一种用于固态存储设备的闪存转换层控制方法
CN106843748A (zh) * 2016-11-28 2017-06-13 北京握奇智能科技有限公司 一种提高数据写入移动存储设备速度的方法和系统
CN106886368A (zh) * 2016-12-30 2017-06-23 北京同有飞骥科技股份有限公司 一种块设备写io整形和多控制器同步系统及同步方法
WO2017139973A1 (zh) * 2016-02-19 2017-08-24 华为技术有限公司 一种闪存设备的访问方法和装置
CN107203330A (zh) * 2016-03-17 2017-09-26 北京忆恒创源科技有限公司 一种面向读写数据流的闪存数据分布方法
CN107580066A (zh) * 2017-09-20 2018-01-12 郑州云海信息技术有限公司 一种分布式nas存储系统中文件访问的方法、装置及系统
CN107832020A (zh) * 2017-11-24 2018-03-23 苏州韦科韬信息技术有限公司 一种固态硬盘的写入方法
CN107861685A (zh) * 2017-06-20 2018-03-30 平安科技(深圳)有限公司 基于写时复制的虚拟磁盘写入方法及装置、存储介质
CN108958657A (zh) * 2018-06-27 2018-12-07 深圳市德名利电子有限公司 一种数据存储方法、存储设备及存储系统
CN109120665A (zh) * 2018-06-20 2019-01-01 中国科学院信息工程研究所 高速数据包采集方法及装置
CN109213691A (zh) * 2017-06-30 2019-01-15 伊姆西Ip控股有限责任公司 用于缓存管理的方法和设备
CN109407966A (zh) * 2017-08-18 2019-03-01 爱思开海力士有限公司 数据存储装置及其操作方法
CN109426436A (zh) * 2017-08-28 2019-03-05 北京忆恒创源科技有限公司 基于可变长大块的垃圾回收方法与装置
CN109669888A (zh) * 2018-11-06 2019-04-23 电子科技大学 一种可配置且高效的嵌入式Nor-Flash控制器及控制方法
CN109783019A (zh) * 2018-12-28 2019-05-21 上海威固信息技术股份有限公司 一种数据智能存储管理方法与装置
CN110059021A (zh) * 2019-04-18 2019-07-26 深圳市时创意电子有限公司 一种降低写入放大率并提升随机写入性能的算法
CN110191168A (zh) * 2019-05-23 2019-08-30 北京百度网讯科技有限公司 在线业务数据的处理方法、装置、计算机设备和存储介质
CN110297810A (zh) * 2019-07-05 2019-10-01 联想(北京)有限公司 一种流数据处理方法、装置及电子设备
CN110543435A (zh) * 2019-09-05 2019-12-06 北京兆易创新科技股份有限公司 存储单元的混合映射操作方法、装置、设备及存储介质
CN111045956A (zh) * 2019-12-22 2020-04-21 北京浪潮数据技术有限公司 一种基于多核cpu的固态硬盘垃圾回收方法以及装置
CN112506442A (zh) * 2020-12-22 2021-03-16 深圳市时创意电子有限公司 一种闪存芯片数据处理方法、装置、电子设备及存储介质
CN112558879A (zh) * 2020-12-17 2021-03-26 南昌航空大学 一种提高固态盘内3D-flash性能的方法
CN113076062A (zh) * 2021-03-30 2021-07-06 山东英信计算机技术有限公司 一种提升qlcssd寿命的方法和设备
CN113703664A (zh) * 2021-06-24 2021-11-26 杭州电子科技大学 一种eMMC芯片随机写入速率优化实现方法
CN114153384A (zh) * 2021-11-09 2022-03-08 尧云科技(西安)有限公司 一种混合缓存的存储方法及装置
CN114428590A (zh) * 2022-01-27 2022-05-03 新拓尼克科技(成都)有限公司 一种大幅度增加固态硬盘使用寿命的存储方案
CN114442960A (zh) * 2022-01-27 2022-05-06 新拓尼克科技(成都)有限公司 一种无惧异常掉电并增加使用寿命的固态存储方案
WO2023116235A1 (zh) * 2021-12-24 2023-06-29 阿里巴巴(中国)有限公司 数据处理方法、系统、设备、存储系统及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101630233A (zh) * 2008-07-17 2010-01-20 群联电子股份有限公司 用于闪存的数据存取方法、储存系统与控制器
US20100174853A1 (en) * 2009-01-08 2010-07-08 Samsung Electronics Co., Ltd. User device including flash and random write cache and method writing data
CN103049215A (zh) * 2012-12-07 2013-04-17 记忆科技(深圳)有限公司 Io命令处理的方法及其固态硬盘
CN103473185A (zh) * 2013-09-06 2013-12-25 华为数字技术(苏州)有限公司 缓存写入的方法、缓存装置和存储系统
CN103729149A (zh) * 2013-12-31 2014-04-16 创新科存储技术有限公司 一种存储数据的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101630233A (zh) * 2008-07-17 2010-01-20 群联电子股份有限公司 用于闪存的数据存取方法、储存系统与控制器
US20100174853A1 (en) * 2009-01-08 2010-07-08 Samsung Electronics Co., Ltd. User device including flash and random write cache and method writing data
CN103049215A (zh) * 2012-12-07 2013-04-17 记忆科技(深圳)有限公司 Io命令处理的方法及其固态硬盘
CN103473185A (zh) * 2013-09-06 2013-12-25 华为数字技术(苏州)有限公司 缓存写入的方法、缓存装置和存储系统
CN103729149A (zh) * 2013-12-31 2014-04-16 创新科存储技术有限公司 一种存储数据的方法

Cited By (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016192572A1 (zh) * 2015-06-01 2016-12-08 华为技术有限公司 提高无线局域网并发处理能力的方法、装置及系统
US10356841B2 (en) 2015-06-01 2019-07-16 Huawei Technologies Co., Ltd. Method, apparatus, and system for enhancing concurrent processing capability of wireless local area network
CN104965806B (zh) * 2015-06-30 2019-02-22 北京奇艺世纪科技有限公司 一种请求处理方法及装置
CN104965806A (zh) * 2015-06-30 2015-10-07 北京奇艺世纪科技有限公司 一种请求处理方法及装置
CN106469174A (zh) * 2015-08-19 2017-03-01 阿里巴巴集团控股有限公司 数据读取方法和装置
CN106469174B (zh) * 2015-08-19 2019-10-29 阿里巴巴集团控股有限公司 数据读取方法和装置
CN105302501B (zh) * 2015-11-27 2018-09-14 浙江宇视科技有限公司 一种磁盘扇区的控制方法和装置
CN105302501A (zh) * 2015-11-27 2016-02-03 浙江宇视科技有限公司 一种磁盘扇区的控制方法和装置
WO2017139973A1 (zh) * 2016-02-19 2017-08-24 华为技术有限公司 一种闪存设备的访问方法和装置
US10732898B2 (en) 2016-02-19 2020-08-04 Huawei Technologies Co., Ltd. Method and apparatus for accessing flash memory device
CN107203330A (zh) * 2016-03-17 2017-09-26 北京忆恒创源科技有限公司 一种面向读写数据流的闪存数据分布方法
CN105893272B (zh) * 2016-03-23 2019-03-15 北京联想核芯科技有限公司 一种数据处理方法、处理设备及存储系统
CN105893272A (zh) * 2016-03-23 2016-08-24 联想(北京)有限公司 一种数据处理方法、处理设备及存储系统
CN106406750A (zh) * 2016-08-23 2017-02-15 浪潮(北京)电子信息产业有限公司 一种数据操作方法及系统
CN106843748A (zh) * 2016-11-28 2017-06-13 北京握奇智能科技有限公司 一种提高数据写入移动存储设备速度的方法和系统
CN106886368A (zh) * 2016-12-30 2017-06-23 北京同有飞骥科技股份有限公司 一种块设备写io整形和多控制器同步系统及同步方法
CN106886368B (zh) * 2016-12-30 2019-08-16 北京同有飞骥科技股份有限公司 一种块设备写io整形和多控制器同步系统及同步方法
CN106802777A (zh) * 2017-01-20 2017-06-06 杭州电子科技大学 一种用于固态存储设备的闪存转换层控制方法
CN107861685A (zh) * 2017-06-20 2018-03-30 平安科技(深圳)有限公司 基于写时复制的虚拟磁盘写入方法及装置、存储介质
CN109213691B (zh) * 2017-06-30 2023-09-01 伊姆西Ip控股有限责任公司 用于缓存管理的方法和设备
CN109213691A (zh) * 2017-06-30 2019-01-15 伊姆西Ip控股有限责任公司 用于缓存管理的方法和设备
CN109407966A (zh) * 2017-08-18 2019-03-01 爱思开海力士有限公司 数据存储装置及其操作方法
CN109426436A (zh) * 2017-08-28 2019-03-05 北京忆恒创源科技有限公司 基于可变长大块的垃圾回收方法与装置
CN109426436B (zh) * 2017-08-28 2024-04-12 北京忆恒创源科技股份有限公司 基于可变长大块的垃圾回收方法与装置
CN107580066A (zh) * 2017-09-20 2018-01-12 郑州云海信息技术有限公司 一种分布式nas存储系统中文件访问的方法、装置及系统
CN107832020A (zh) * 2017-11-24 2018-03-23 苏州韦科韬信息技术有限公司 一种固态硬盘的写入方法
CN109120665B (zh) * 2018-06-20 2020-05-29 中国科学院信息工程研究所 高速数据包采集方法及装置
CN109120665A (zh) * 2018-06-20 2019-01-01 中国科学院信息工程研究所 高速数据包采集方法及装置
CN108958657A (zh) * 2018-06-27 2018-12-07 深圳市德名利电子有限公司 一种数据存储方法、存储设备及存储系统
CN108958657B (zh) * 2018-06-27 2022-03-04 深圳市德明利技术股份有限公司 一种数据存储方法、存储设备及存储系统
CN109669888A (zh) * 2018-11-06 2019-04-23 电子科技大学 一种可配置且高效的嵌入式Nor-Flash控制器及控制方法
CN109783019A (zh) * 2018-12-28 2019-05-21 上海威固信息技术股份有限公司 一种数据智能存储管理方法与装置
CN110059021A (zh) * 2019-04-18 2019-07-26 深圳市时创意电子有限公司 一种降低写入放大率并提升随机写入性能的算法
CN110191168A (zh) * 2019-05-23 2019-08-30 北京百度网讯科技有限公司 在线业务数据的处理方法、装置、计算机设备和存储介质
CN110297810B (zh) * 2019-07-05 2022-01-18 联想(北京)有限公司 一种流数据处理方法、装置及电子设备
CN110297810A (zh) * 2019-07-05 2019-10-01 联想(北京)有限公司 一种流数据处理方法、装置及电子设备
CN110543435A (zh) * 2019-09-05 2019-12-06 北京兆易创新科技股份有限公司 存储单元的混合映射操作方法、装置、设备及存储介质
CN110543435B (zh) * 2019-09-05 2022-02-08 北京兆易创新科技股份有限公司 存储单元的混合映射操作方法、装置、设备及存储介质
CN111045956A (zh) * 2019-12-22 2020-04-21 北京浪潮数据技术有限公司 一种基于多核cpu的固态硬盘垃圾回收方法以及装置
CN111045956B (zh) * 2019-12-22 2021-10-22 北京浪潮数据技术有限公司 一种基于多核cpu的固态硬盘垃圾回收方法以及装置
CN112558879A (zh) * 2020-12-17 2021-03-26 南昌航空大学 一种提高固态盘内3D-flash性能的方法
CN112506442A (zh) * 2020-12-22 2021-03-16 深圳市时创意电子有限公司 一种闪存芯片数据处理方法、装置、电子设备及存储介质
CN113076062A (zh) * 2021-03-30 2021-07-06 山东英信计算机技术有限公司 一种提升qlcssd寿命的方法和设备
CN113703664A (zh) * 2021-06-24 2021-11-26 杭州电子科技大学 一种eMMC芯片随机写入速率优化实现方法
CN113703664B (zh) * 2021-06-24 2024-05-03 杭州电子科技大学 一种eMMC芯片随机写入速率优化实现方法
CN114153384A (zh) * 2021-11-09 2022-03-08 尧云科技(西安)有限公司 一种混合缓存的存储方法及装置
WO2023116235A1 (zh) * 2021-12-24 2023-06-29 阿里巴巴(中国)有限公司 数据处理方法、系统、设备、存储系统及介质
CN114428590A (zh) * 2022-01-27 2022-05-03 新拓尼克科技(成都)有限公司 一种大幅度增加固态硬盘使用寿命的存储方案
CN114442960A (zh) * 2022-01-27 2022-05-06 新拓尼克科技(成都)有限公司 一种无惧异常掉电并增加使用寿命的固态存储方案

Also Published As

Publication number Publication date
CN104503710B (zh) 2018-02-13

Similar Documents

Publication Publication Date Title
CN104503710A (zh) 一种提高闪存写入速度的方法和装置
US10831734B2 (en) Update-insert for key-value storage interface
CN111352581B (zh) 在存储设备中写入数据的方法、存储设备、和存储系统
CN103049397B (zh) 一种基于相变存储器的固态硬盘内部缓存管理方法及系统
Lee et al. LAST: locality-aware sector translation for NAND flash memory-based storage systems
Lim et al. FASTer FTL for enterprise-class flash memory SSDs
CN107728937B (zh) 一种使用非易失性内存介质的键值对持久存储方法及系统
CN105302744B (zh) 高速缓存器的无效数据区
US20170139825A1 (en) Method of improving garbage collection efficiency of flash-oriented file systems using a journaling approach
US10468077B2 (en) Adaptive object buffering and meta-data indexing using persistent memory to improve flash memory durability in tiered storage
CN103885728A (zh) 一种基于固态盘的磁盘缓存系统
CN104484283B (zh) 一种降低固态硬盘写放大的方法
CN109582593B (zh) 一种基于计算的ftl地址映射读、写方法
US9645739B2 (en) Host-managed non-volatile memory
EP2665065A2 (en) Electronic device employing flash memory
CN104423894A (zh) 数据储存装置以及快闪存储器控制方法
CN101777061B (zh) 一种java卡对象管理方法及java卡
CN1719422A (zh) 一种存储器文件数据虚拟存取方法
CN106445832A (zh) 闪存存储系统的地址映射方法及装置
CN107817945A (zh) 一种混合内存结构的数据读取方法和系统
CN102609305A (zh) 一种服务器集群中内存共享方法
CN105607862A (zh) 一种dram与mram结合具有备份电源的固态硬盘
CN104133779A (zh) 非易失性存储装置及其动态调整映射方式的方法
CN108664217B (zh) 一种降低固态盘存储系统写性能抖动的缓存方法及系统
CN102169464B (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
CB02 Change of applicant information

Address after: 350003 Fuzhou Gulou District, Fujian, software Avenue, building 89, No. 18

Applicant after: FUZHOU ROCKCHIP ELECTRONICS CO., LTD.

Address before: 350003 Fuzhou Gulou District, Fujian, software Avenue, building 89, No. 18

Applicant before: Fuzhou Rockchip Semiconductor Co., Ltd.

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 350003 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee after: Ruixin Microelectronics Co., Ltd

Address before: 350003 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee before: Fuzhou Rockchips Electronics Co.,Ltd.