CN113485640A - 数据写入方法、装置、设备及可读存储介质 - Google Patents

数据写入方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN113485640A
CN113485640A CN202110699056.0A CN202110699056A CN113485640A CN 113485640 A CN113485640 A CN 113485640A CN 202110699056 A CN202110699056 A CN 202110699056A CN 113485640 A CN113485640 A CN 113485640A
Authority
CN
China
Prior art keywords
data
written
writing
storage medium
cached
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
CN202110699056.0A
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.)
Exascend Technology Wuhan Co ltd
Original Assignee
Exascend Technology Wuhan 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 Exascend Technology Wuhan Co ltd filed Critical Exascend Technology Wuhan Co ltd
Priority to CN202110699056.0A priority Critical patent/CN113485640A/zh
Publication of CN113485640A publication Critical patent/CN113485640A/zh
Pending legal-status Critical Current

Links

Images

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • 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)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种数据写入方法、装置、设备及可读存储介质,该方法包括:检测已缓存的数据中是否存在与待写入数据的逻辑单元相同的目标数据,其中,待写入数据的数据大小小于固态硬盘内部管理数据的最小逻辑单元N;若存在,则将所述待写入数据与所述目标数据进行合并,得到合并数据;检测合并数据的数据大小是否达到N;若达到N,则将所述合并数据写入非易失性存储介质;若未达到N,则缓存所述合并数据;若不存在,则缓存所述待写入数据;当当前已缓存的数据中存在满足写入条件的数据时,将所述满足写入条件的数据进行补充合并处理后再写入非易失性存储介质中。通过本发明,减少了向固态硬盘内部读取数据的次数,提高了数据写入的速度。

Description

数据写入方法、装置、设备及可读存储介质
技术领域
本发明涉及固态硬盘的数据处理领域,尤其涉及一种数据写入方法、装置、设备及可读存储介质。
背景技术
传统硬盘存储数据是以扇区为存储单元,而固态硬盘直接把数据存在闪存阵列中,可以实现对数据的快速访问。在内部管理数据时,以4KB数据为单位。向存储介质中写入数据时,如果待写入的数据不足4KB,需要在存储介质中读取4KB数据与待写入的数据覆盖合并,将待写入的数据补齐4KB后再写入存储介质中。这样的话,每向存储介质中写入一次不足4KB的数据,就要向存储介质中读取数据一次,导致向存储介质中写入数据的速度很慢。
发明内容
本发明的主要目的在于提供一种数据写入方法、装置、设备及可读存储介质,旨在解决向固态硬盘写入的数据不足固态硬盘内部管理数据的最小单位时,数据写入速度慢的问题。
第一方面,本发明提供一种数据写入方法,包括以下步骤:
检测已缓存的数据中是否存在与待写入数据的逻辑单元相同的目标数据,其中,待写入数据的数据大小小于固态硬盘内部管理数据的最小逻辑单元N;
若存在,则将所述待写入数据与所述目标数据进行合并,得到合并数据;
检测合并数据的数据大小是否达到N;
若达到N,则将所述合并数据写入非易失性存储介质;
若未达到N,则缓存所述合并数据;
若不存在,则缓存所述待写入数据;
当当前已缓存的数据中存在满足写入条件的数据时,将所述满足写入条件的数据进行补充合并处理后再写入非易失性存储介质中。
可选的,所述若存在,则将所述待写入数据与所述目标数据进行合并的步骤包括:
当已缓存的数据中存在与待写入数据的逻辑单元相同的目标数据时,将所述待写入数据与所述目标数据进行覆盖合并,其中所述待写入数据的优先级高于所述目标数据的优先级。
可选的,所述当当前已缓存的数据中存在满足写入条件的数据时,将所述满足写入条件的数据进行补充合并处理后再写入非易失性存储介质中的步骤包括:
当当前已缓存的数据中存在缓存时长大于或等于预设时长的数据时,将所述缓存时长大于或等于预设时长的数据进行补充合并处理后再写入非易失性存储介质中。
可选的,所述当当前已缓存的数据中存在满足写入条件的数据时,将所述满足写入条件的数据进行补充合并处理后再写入非易失性存储介质中的步骤包括:
当当前已缓存的数据的数量为M,且M等于预设数量N时,将当前已缓存的数据中最先缓存的数据进行补充合并处理后再写入非易失性存储介质中。
可选的,所述检测已缓存的数据中是否存在与待写入数据的逻辑单元相同的目标数据的步骤之前包括:
将用户数据分割成对齐数据与非对齐数据,非对齐的数据作为待写入数据。
第二方面,本发明还提供一种数据写入装置,所述数据写入装置包括:
第一检测模块:用于检测已缓存的数据中是否存在与待写入数据的逻辑单元相同的目标数据,其中,待写入数据的数据大小小于固态硬盘内部管理数据的最小逻辑单元N;
合并数据模块:用于若存在,则将所述待写入数据与所述目标数据进行合并,得到合并数据;
第二检测模块:用于检测合并数据的数据大小是否达到N;
数据写入模块:用于若达到N,则将所述合并数据写入非易失性存储介质;
第一缓存模块:用于若未达到N,则缓存所述合并数据;
第二缓存模块:用于若不存在,则缓存所述待写入数据;
补充数据模块:用于当当前已缓存的数据中存在满足写入条件的数据时,将所述满足写入条件的数据进行补充合并处理后再写入非易失性存储介质中。
可选的,合并数据模块,具体用于:
当已缓存的数据中存在与待写入数据的逻辑单元相同的目标数据时,将所述待写入数据与所述目标数据进行覆盖合并,其中所述待写入数据的优先级高于所述目标数据的优先级。
可选的,补充数据模块,具体用于:
当当前已缓存的数据中存在缓存时长大于或等于预设时长的数据时,将所述缓存时长大于或等于预设时长的数据进行补充合并处理后再写入非易失性存储介质中。
第三方面,本发明还提供一种数据写入设备,所述数据写入设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的数据写入程序,其中所述数据写入程序被所述处理器执行时,实现如上所述的数据写入方法的步骤。
第四方面,本发明还提供一种可读存储介质,所述可读存储介质上存储有数据写入程序,其中所述数据写入程序被处理器执行时,实现如上所述的数据写入方法的步骤。
本发明中,检测已缓存的数据中是否存在与待写入数据的逻辑单元相同的目标数据,其中,待写入数据的数据大小小于固态硬盘内部管理数据的最小逻辑单元N;若存在,则将所述待写入数据与所述目标数据进行合并,得到合并数据;检测合并数据的数据大小是否达到N;若达到N,则将所述合并数据写入非易失性存储介质;若未达到N,则缓存所述合并数据;若不存在,则缓存所述待写入数据;当当前已缓存的数据中存在满足写入条件的数据时,将所述满足写入条件的数据进行补充合并处理后再写入非易失性存储介质中。通过本发明,当输入的数据不足固态硬盘内部管理数据的最小单位时,先将该数据缓存起来,再将逻辑单元相同的数据覆盖合并,减少了向固态硬盘内部读取数据的次数,提高了数据写入的速度。
附图说明
图1为本发明实施例方案中涉及的数据写入设备的硬件结构示意图;
图2为本发明数据写入方法一实施例的流程示意图;
图3为本发明数据写入方法第一实施例的数据覆盖合并示意图;
图4为本发明数据写入方法第二实施例的数据覆盖合并示意图;
图5为本发明数据写入方法第一实施例的数据补充合并示意图
图6为本发明数据写入装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一方面,本发明实施例提供一种数据写入设备,该数据写入设备可以是个人计算机(personal computer,PC)、笔记本电脑、服务器等具有数据处理功能的设备。
参照图1,图1为本发明实施例方案中涉及的数据写入设备的硬件结构示意图。本发明实施例中,数据写入设备可以包括处理器1001(例如中央处理器CentralProcessingUnit,CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WI-FI接口);存储器1005可以是高速随机存取存储器(random access memory,RAM),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据写入程序。其中,处理器1001可以调用存储器1005中存储的数据写入程序,并执行本发明实施例提供的数据写入方法。
第二方面,本发明实施例提供了一种数据写入方法。
一实施例中,参照图2,图2为本发明数据写入方法第一实施例的流程示意图。如图2所示,数据写入方法包括以下步骤:
S10:检测已缓存的数据中是否存在与待写入数据的逻辑单元相同的目标数据,其中,待写入数据的数据大小小于固态硬盘内部管理数据的最小逻辑单元N;
本实施例中,当缓存的数据为空时,不存在与待写入数据的逻辑单元相同的目标数据。当缓存的数据为的数量为N时,将待写入数据的逻辑单元分别与N个数据的逻辑单元进行检测。当固态硬盘内部管理数据的最小逻辑单元为4KB时,待写入数据的数据大小小于4KB。容易想到的是,本实施例中参数的大小及位置在此仅供参考,并不做限制。
S20:若存在,则将所述待写入数据与所述目标数据进行合并,得到合并数据;
本实施例中,若检测到已缓存的数据中存在与待写入数据的逻辑单元相同的目标数据,则将待写入数据与目标数据合并成一个数据。
进一步地,一实施例中,步骤S20还包括:
当已缓存的数据中存在与待写入数据的逻辑单元相同的目标数据时,将所述待写入数据与所述目标数据进行覆盖合并,其中所述待写入数据的优先级高于所述目标数据的优先级。
本实施例中,固态硬盘内部管理数据的最小逻辑单元N由X个主机读写数据的最小逻辑单元M组成,将待写入数据与目标数据进行合并时,若待写入数据的位置与目标数据的位置相同,则将待写入数据覆盖目标数据,从而合并成一个数据。
例如,固态硬盘内部管理数据的最小逻辑单元(LPA)为4KB,主机读写数据的最小逻辑单元(LBA)为512Byte,则一个LPA由8个LBA组成,下述内容以此为基础进行说明。
参照图3,图3为本发明数据写入方法第一实施例的数据覆盖合并示意图。如图3所示,待写入数据以及目标数据的逻辑单元相同,且目标数据由LBA0至LBA4组成,待写入数据由LBA0至LBA3组成,将待写入数据与目标数据进行覆盖合并时,由于待写入数据的优先级高于目标数据的优先级,所以待写入数据对应的LBA0至LBA3覆盖目标数据对应的LBA0至LBA3,得到合并数据,合并数据由待写入数据对应的LBA0至LBA3以及目标数据对应的LBA4组成。容易想到的是,本实施例中参数的大小及位置在此仅供参考,并不做限制。
S30:检测合并数据的数据大小是否达到N;
本实施例中,合并数据为步骤S10中检测到的目标数据与待写入数据合并得到的数据,由于目标数据与待写入数据进行覆盖合并,所以合并得到的数据的大小达到4KB或小于4KB。容易想到的是,本实施例中参数的大小及位置在此仅供参考,并不做限制。
S40:若达到N,则将所述合并数据写入非易失性存储介质;
本实施例中,参照图4,图4为本发明数据写入方法第二实施例的数据覆盖合并示意图。如图4所示,待写入数据的逻辑单元以及目标数据的逻辑单元相同,且目标数据由LBA0至LBA4组成,待写入数据由LBA4至LBA7组成,将待写入数据与目标数据进行覆盖合并时,由于待写入数据的优先级高于目标数据的优先级,所以待写入数据对应的LBA4覆盖目标数据对应的LBA4,得到合并数据,合并数据由待写入数据对应的LBA4至LBA7以及目标数据对应的LBA0至LBA3组成。此时,合并数据的大小达到4KB,将合并数据写入非易失性存储介质。容易想到的是,本实施例中参数的大小及位置在此仅供参考,并不做限制。
S50:若未达到N,则缓存所述合并数据;
本实施例中,若步骤S30中检测的合并数据的大小小于4KB,则将这个合并数据缓存到固态硬盘中。容易想到的是,本实施例中参数的大小在此仅供参考,并不做限制。
S60:若不存在,则缓存所述待写入数据;
本实施例中,若没有检测到已缓存的数据中存在与待写入数据的逻辑单元相同的目标数据,则将待写入数据缓存到固态硬盘中。如步骤S10中,当缓存的数据为空时,不存在与待写入数据的逻辑单元相同的目标数据,将待写入数据缓存。当缓存的数据为的数量为N时,将待写入数据的逻辑单元分别与N个数据的逻辑单元进行检测,若检测缓存的数据中不存在与待写入数据的逻辑单元相同的目标数据时,将待写入数据缓存。
S70:当当前已缓存的数据中存在满足写入条件的数据时,将所述满足写入条件的数据进行补充合并处理后再写入非易失性存储介质中。
本实施例中,如图2所示,对每个待写入数据执行步骤S10至S60的操作,当前缓存的数据包括待写入数据和/或合并数据。当当前缓存的数据中存在满足写入条件的数据时,向固态硬盘的NAND flash上读取一个4KB大小的数据,将读取的数据与满足写入条件的数据进行补充合并,补充合并后的数据的大小达到4KB后,再将其写入非易失性存储介质中。容易想到的是,本实施例中参数的大小在此仅供参考,并不做限制。
进一步地,一实施例中,步骤S70还包括:
当当前已缓存的数据中存在缓存时长大于或等于预设时长的数据时,将所述缓存时长大于或等于预设时长的数据进行补充合并处理后再写入非易失性存储介质中。
本实施例中,缓存的数据中存在满足缓存时长大于或等于预设时长的数据时,将满足缓存时长大于或等于预设时长的数据进行补充合并处理后再写入非易失性存储介质中。
例如,参照图5,图5为本发明数据写入方法第一实施例的数据补充合并示意图。如图5所示,数据1为缓存时长大于或等于预设时长的数据,向固态硬盘的NAND flash上读取一个4KB大小的数据,将读取的数据与数据1进行补充合并,得到补充合并数据。补充合并数据由数据1对应的LBA0至LBA4以及读取的数据对应的LBA5至LBA7组成。此时,补充合并数据的大小达到4KB,从而,将补充合并数据写入非易失性存储介质中。容易想到的是,本实施例中参数的大小及位置在此仅供参考,并不做限制。
进一步地,一实施例中,步骤S70还包括:
当当前已缓存的数据的数量为M,且M等于预设数量N时,将当前已缓存的数据中最先缓存的数据进行补充合并处理后再写入非易失性存储介质中。
本实施例中,若预设数量N为10,当固态硬盘中累计已缓存的数据数量M为10时,则以当前已缓存的数据中最先缓存的数据作为满足写入条件的数据。例如,当前已缓存的数据中最先缓存的数据为数据1。如图5所示,向固态硬盘的NAND flash上读取一个4KB大小的数据,将读取的数据与数据1进行补充合并,得到补充合并数据。补充合并数据由数据1对应的LBA0至LBA4以及读取的数据对应的LBA5至LBA7组成。此时,补充合并数据的大小达到4KB,从而,将补充合并数据写入非易失性存储介质中。容易想到的是,本实施例中的参数大小及位置仅供参考,并不做限制。
本实施例中,检测已缓存的数据中是否存在与待写入数据的逻辑单元相同的目标数据,其中,待写入数据的数据大小小于固态硬盘内部管理数据的最小逻辑单元N;若存在,则将所述待写入数据与所述目标数据进行合并,得到合并数据;检测合并数据的数据大小是否达到N;若达到N,则将所述合并数据写入非易失性存储介质;若未达到N,则缓存所述合并数据;若不存在,则缓存所述待写入数据;当当前已缓存的数据中存在满足写入条件的数据时,将所述满足写入条件的数据进行补充合并处理后再写入非易失性存储介质中。通过本实施例,当输入的数据不足固态硬盘内部管理数据的最小单位时,先将该数据缓存起来,再将逻辑单元相同的数据覆盖合并,减少了向固态硬盘内部读取数据的次数,提高了数据写入的速度。
进一步地,一实施例中,步骤S10之前还包括:
将用户数据分割成对齐数据与非对齐数据,非对齐的数据作为待写入数据。
本实施例中,固态硬盘内部管理数据的最小逻辑单元(LPA)为4KB,主机读写数据的最小逻辑单元(LBA)为512Byte,即对齐数据的LPA中的LBA为8个,非对齐数据的LPA中的LBA不足8个。当用户数据的大小为3KB时,若组成3KB大小的6个连续的LBA的逻辑单元相同,则将3KB大小的用户数据分割成分割成1个非对齐数据;若组成3KB大小的6个连续的LBA的逻辑单元不相同,则将3KB大小的用户数据分割成分割成2个非对齐数据。当用户数据的大小为8KB时,若组成8KB大小的16个连续的LBA的前8个LBA的逻辑单元不相同,则将8KB大小的用户数据分割成分割成2个非对齐数据和1个对齐数据;若组成8KB大小的16个连续的LBA的前8个LBA的逻辑单元相同,则将8KB大小的用户数据分割成2个对齐数据。当用户数据的大小为15KB时,若组成15KB大小的30个连续的LBA从一个逻辑单元的前两个LBA开始,则用户数据被分割成2个非对齐数据和2个对齐数据。若组成15KB大小的30个连续的LBA从一个逻辑单元的第三个LBA开始,则用户数据被分割成1个非对齐数据和3个对齐数据。若组成15KB大小的30个连续的LBA从一个逻辑单元的第四个LBA开始,则用户数据被分割成2个非对齐数据和3个对齐数据。若用户数据被分割成2个非对齐数据,则将这2个非对齐数据依次作为待写入数据。容易想到的是,本实施例中的参数大小及位置仅供参考,并不做限制。
第三方面,本发明实施例还提供一种数据写入装置。
一实施例中,参照图6,图6为本发明数据写入装置第一实施例的功能模块示意图。如图6所示,数据写入装置包括:
第一检测模块10:用于检测已缓存的数据中是否存在与待写入数据的逻辑单元相同的目标数据,其中,待写入数据的数据大小小于固态硬盘内部管理数据的最小逻辑单元N;
合并数据模块20:用于若存在,则将所述待写入数据与所述目标数据进行合并,得到合并数据;
第二检测模块30:用于检测合并数据的数据大小是否达到N;
数据写入模块40:用于若达到N,则将所述合并数据写入非易失性存储介质;
第一缓存模块50:用于若未达到N,则缓存所述合并数据;
第二缓存模块60:用于若不存在,则缓存所述待写入数据;
补充数据模块70:用于当当前已缓存的数据中存在满足写入条件的数据时,将所述满足写入条件的数据进行补充合并处理后再写入非易失性存储介质中。
进一步地,一实施例中,合并数据模块20,具体用于:
当已缓存的数据中存在与待写入数据的逻辑单元相同的目标数据时,将所述待写入数据与所述目标数据进行覆盖合并,其中所述待写入数据的优先级高于所述目标数据的优先级。
进一步地,一实施例中,补充数据模块70,具体用于:
当当前已缓存的数据中存在缓存时长大于或等于预设时长的数据时,将所述缓存时长大于或等于预设时长的数据进行补充合并处理后再写入非易失性存储介质中。
进一步地,一实施例中,补充数据模块70,还用于:
当当前已缓存的数据的数量为M,且M等于预设数量N时,将当前已缓存的数据中最先缓存的数据进行补充合并处理后再写入非易失性存储介质中。
进一步地,一实施例中,数据写入装置还包括分割模块,用于:
将用户数据分割成对齐数据与非对齐数据,非对齐的数据作为待写入数据。
其中,上述数据写入装置中各个模块的功能实现与上述数据写入方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
第四方面,本发明实施例还提供一种可读存储介质。
本发明可读存储介质上存储有数据写入程序,其中所述数据写入程序被处理器执行时,实现如上述的数据写入方法的步骤。
其中,数据写入程序被执行时所实现的方法可参照本发明数据写入方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种数据写入方法,其特征在于,所述数据写入方法包括:
检测已缓存的数据中是否存在与待写入数据的逻辑单元相同的目标数据,其中,待写入数据的数据大小小于固态硬盘内部管理数据的最小逻辑单元N;
若存在,则将所述待写入数据与所述目标数据进行合并,得到合并数据;
检测合并数据的数据大小是否达到N;
若达到N,则将所述合并数据写入非易失性存储介质;
若未达到N,则缓存所述合并数据;
若不存在,则缓存所述待写入数据;
当当前已缓存的数据中存在满足写入条件的数据时,将所述满足写入条件的数据进行补充合并处理后再写入非易失性存储介质中。
2.如权利要求1所述的数据写入方法,其特征在于,所述若存在,则将所述待写入数据与所述目标数据进行合并的步骤包括:
当已缓存的数据中存在与待写入数据的逻辑单元相同的目标数据时,将所述待写入数据与所述目标数据进行覆盖合并,其中所述待写入数据的优先级高于所述目标数据的优先级。
3.如权利要求1所述的数据写入方法,其特征在于,所述当当前已缓存的数据中存在满足写入条件的数据时,将所述满足写入条件的数据进行补充合并处理后再写入非易失性存储介质中的步骤包括:
当当前已缓存的数据中存在缓存时长大于或等于预设时长的数据时,将所述缓存时长大于或等于预设时长的数据进行补充合并处理后再写入非易失性存储介质中。
4.如权利要求1所述的数据写入方法,其特征在于,所述当当前已缓存的数据中存在满足写入条件的数据时,将所述满足写入条件的数据进行补充合并处理后再写入非易失性存储介质中的步骤包括:
当当前已缓存的数据的数量为M,且M等于预设数量N时,将当前已缓存的数据中最先缓存的数据进行补充合并处理后再写入非易失性存储介质中。
5.如权利要求1所述的数据写入方法,其特征在于,所述检测已缓存的数据中是否存在与待写入数据的逻辑单元相同的目标数据的步骤之前包括:
将用户数据分割成对齐数据与非对齐数据,非对齐的数据作为待写入数据。
6.一种数据写入装置,其特征在于,所述数据写入装置包括:
第一检测模块:用于检测已缓存的数据中是否存在与待写入数据的逻辑单元相同的目标数据,其中,待写入数据的数据大小小于固态硬盘内部管理数据的最小逻辑单元N;
合并数据模块:用于若存在,则将所述待写入数据与所述目标数据进行合并,得到合并数据;
第二检测模块:用于检测合并数据的数据大小是否达到N;
数据写入模块:用于若达到N,则将所述合并数据写入非易失性存储介质;
第一缓存模块:用于若未达到N,则缓存所述合并数据;
第二缓存模块:用于若不存在,则缓存所述待写入数据;
补充数据模块:用于当当前已缓存的数据中存在满足写入条件的数据时,将所述满足写入条件的数据进行补充合并处理后再写入非易失性存储介质中。
7.如权利要求6所述的数据写入装置,其特征在于,合并数据模块,具体用于:
当已缓存的数据中存在与待写入数据的逻辑单元相同的目标数据时,将所述待写入数据与所述目标数据进行覆盖合并,其中所述待写入数据的优先级高于所述目标数据的优先级。
8.如权利要求6所述的数据写入装置,其特征在于,补充数据模块,具体用于:
当当前已缓存的数据中存在缓存时长大于或等于预设时长的数据时,将所述缓存时长大于或等于预设时长的数据进行补充合并处理后再写入非易失性存储介质中。
9.一种数据写入设备,其特征在于,所述数据写入设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的数据写入程序,其中所述数据写入程序被所述处理器执行时,实现如权利要求1至5中任一项所述的数据写入方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有数据写入程序,其中所述数据写入程序被处理器执行时,实现如权利要求1至5中任一项所述的数据写入方法的步骤。
CN202110699056.0A 2021-06-23 2021-06-23 数据写入方法、装置、设备及可读存储介质 Pending CN113485640A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110699056.0A CN113485640A (zh) 2021-06-23 2021-06-23 数据写入方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110699056.0A CN113485640A (zh) 2021-06-23 2021-06-23 数据写入方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN113485640A true CN113485640A (zh) 2021-10-08

Family

ID=77935902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110699056.0A Pending CN113485640A (zh) 2021-06-23 2021-06-23 数据写入方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113485640A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425602A (zh) * 2013-08-15 2013-12-04 深圳市江波龙电子有限公司 一种闪存存储设备数据读写的方法、装置及主机系统
CN105511802A (zh) * 2015-11-24 2016-04-20 北京达沃时代科技有限公司 写缓存的方法和装置以及磁盘缓存区的同步方法和装置
CN107832007A (zh) * 2017-10-25 2018-03-23 记忆科技(深圳)有限公司 一种提高ssd综合性能的方法
CN112084163A (zh) * 2020-09-04 2020-12-15 珠海大横琴科技发展有限公司 一种数据写入方法、装置及计算机设备
CN112988038A (zh) * 2019-12-17 2021-06-18 国民技术股份有限公司 非易失性存储器的数据写入方法、终端和可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425602A (zh) * 2013-08-15 2013-12-04 深圳市江波龙电子有限公司 一种闪存存储设备数据读写的方法、装置及主机系统
CN105511802A (zh) * 2015-11-24 2016-04-20 北京达沃时代科技有限公司 写缓存的方法和装置以及磁盘缓存区的同步方法和装置
CN107832007A (zh) * 2017-10-25 2018-03-23 记忆科技(深圳)有限公司 一种提高ssd综合性能的方法
CN112988038A (zh) * 2019-12-17 2021-06-18 国民技术股份有限公司 非易失性存储器的数据写入方法、终端和可读存储介质
CN112084163A (zh) * 2020-09-04 2020-12-15 珠海大横琴科技发展有限公司 一种数据写入方法、装置及计算机设备

Similar Documents

Publication Publication Date Title
US11200337B2 (en) System and method for user data isolation
CN110162525B (zh) 基于b+树的读写冲突解决方法、装置及存储介质
US9710283B2 (en) System and method for pre-storing small data files into a page-cache and performing reading and writing to the page cache during booting
KR101555210B1 (ko) 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치
US8180930B2 (en) Information processing device, and device initialization method in the information processing device
CN107608905B (zh) 擦写Flash数据的方法及装置
CN110502881B (zh) 动态修改安卓系统只读属性的方法、系统及存储介质
CN107391038B (zh) 资料存储型闪存的数据写入方法、闪存及存储介质
CN111177026A (zh) 一种修改变量内存布局的方法、装置及计算机设备
CN107577775B (zh) 一种读取数据方法、装置、电子设备及可读存储介质
CN107423095B (zh) 适配硬件的数据处理方法、装置、存储介质和计算机设备
CN112925606A (zh) 一种内存管理方法、装置及设备
US8726101B2 (en) Apparatus and method for tracing memory access information
CN111061429B (zh) 一种数据访问方法、装置、设备、介质
CN112965661A (zh) 数据存储方法、装置、设备及存储介质
US9535713B2 (en) Manipulating rules for adding new devices
CN110489425B (zh) 一种数据访问方法、装置、设备及存储介质
CN113485640A (zh) 数据写入方法、装置、设备及可读存储介质
CN113821458B (zh) 一种数据操作方法、装置、计算机设备和存储介质
CN113272785A (zh) 一种挂载文件系统的方法、终端设备及存储介质
US9804968B2 (en) Storage system and data writing method
CN112463041A (zh) 一种主机读写数据的处理方法及相关装置
CN107515828B (zh) 一种数据读写方法及移动终端
CN111090396A (zh) 一种文件的处理方法、装置及电子设备
CN114676071B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20211008