CN116048420A - 基于小批量数据的固态硬盘读写性能提升方法和装置 - Google Patents

基于小批量数据的固态硬盘读写性能提升方法和装置 Download PDF

Info

Publication number
CN116048420A
CN116048420A CN202310146113.1A CN202310146113A CN116048420A CN 116048420 A CN116048420 A CN 116048420A CN 202310146113 A CN202310146113 A CN 202310146113A CN 116048420 A CN116048420 A CN 116048420A
Authority
CN
China
Prior art keywords
command
read
write
data
cache
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
CN202310146113.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.)
Suzhou Yilian Information System Co Ltd
Original Assignee
Suzhou Yilian Information System 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 Suzhou Yilian Information System Co Ltd filed Critical Suzhou Yilian Information System Co Ltd
Priority to CN202310146113.1A priority Critical patent/CN116048420A/zh
Publication of CN116048420A publication Critical patent/CN116048420A/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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请涉及一种基于小批量数据的固态硬盘读写性能提升方法、装置、计算机设备和存储介质,其中该方法包括:在SSD主控内部添加专用缓存包括专用读缓存和专用写缓存;在完成常规读写的同时可将数据存储到主控内部的专用缓存中,待存入数据后标记为可复用区域;获取主机下发的命令并判断所述命令是否与可复用区域的数据一致;若一致,则当收到调用所述可复用区域的命令时硬件自动从专用缓存中读取数据并向颗粒或主机发送。本发明可以有效提升小批量数据的读写性能。

Description

基于小批量数据的固态硬盘读写性能提升方法和装置
技术领域
本发明涉及固态硬盘技术领域,特别是涉及一种基于小批量数据的固态硬盘读写性能提升方法、装置、计算机设备和存储介质。
背景技术
SSD(Solid State Drive,固态硬盘)作为一种新型存储介质,其采用NAND颗粒作为数据存储,已经广泛应用于PC,笔记本,服务器等各个领域并逐渐取代HDD(Hard DiskDrive,机械硬盘)成为存储领域的主流应用产品。其中,在固态硬盘的使用和测试中,小块数据读写性能一直是很重要的性能参数,小批量数据读写直接影响用户读写体验与测试表现。
传统SSD在小批量数据读写场景中,通常以主机发出命令;主控收到命令并检测;如为写命令,主控向主机申请并得到数据后传输至Flash颗粒,完成后向主机回命令报完成信息;如为读命令,主控先从Flash颗粒搬运数据至主控缓存后传输至主机,完成后同样向主机命令提交完成信息。由此可见,现有SSD在批量重复读写测试中,偏就于机械的执行接受命令,取数据,发送数据,回报完成状态。进而导致在大批量重复测试中需反复奔波,容易造成主机及软件资源的浪费。
发明内容
基于此,有必要针对上述技术问题,提供一种基于小批量数据的固态硬盘读写性能提升方法、装置、计算机设备和存储介质。
一种基于小批量数据的固态硬盘读写性能提升方法,所述方法包括:
在SSD主控内部添加专用缓存包括专用读缓存和专用写缓存;
在完成常规读写的同时可将数据存储到主控内部的专用缓存中,待存入数据后标记为可复用区域;
获取主机下发的命令并判断所述命令是否与可复用区域的数据一致;
若一致,则当收到调用所述可复用区域的命令时硬件自动从专用缓存中读取数据并向颗粒或主机发送。
在其中一个实施例中,所述获取主机下发的命令并判断所述命令是否与可复用区域的数据一致的步骤还包括:
获取主机下发的命令并判断所述命令为读命令还是写命令;
若所述命令为读命令则将所述读命令与专用读缓存中的命令做内容对比;
若所述命令为写命令则解析写命令并通知软件有新命令;软件收到中断从NVMeHW中读取命令信息;软件产生写命令信息发送给NFC模块,NFC模块收到并解析写命令,按LBA顺序将命令信息发给搬运模块;将写命令与专用写缓存中的命令做内容对比。
在其中一个实施例中,在所述将所述读命令与专用读缓存中的命令做内容对比的步骤之后还包括:
若内容一致则将读写接口切换至专用读缓存,结合命令内容的PRP地址信息将缓存数据发至主机指定地址;
通知软件和主机所述读命令完成,释放硬件资源完成此次命令。
在其中一个实施例中,在所述将写命令与专用写缓存中的命令做内容对比的步骤之后还包括:
若内容一致则将读写接口切换至专用写缓存,结合命令信息按Block顺序发送给NFC模块;
NFC模块按Toggle/Onfi协议,将数据按Page写入NAND Flash颗粒;
通知软件和主机所述写命令完成,释放硬件资源完成此次命令。
一种基于小批量数据的固态硬盘读写性能提升装置,所述装置包括:
添加模块,所述添加模块用于在SSD主控内部添加专用缓存包括专用读缓存和专用写缓存;
缓存标记模块,所述缓存标记模块用于在完成常规读写的同时可将数据存储到主控内部的专用缓存中,待存入数据后标记为可复用区域;
判断模块,所述判断模块用于获取主机下发的命令并判断所述命令是否与可复用区域的数据一致;
调用模块,所述调用模块用于若一致,则当收到调用所述可复用区域的命令时硬件自动从专用缓存中读取数据并向颗粒或主机发送。
在其中一个实施例中,所述判断模块还用于:
获取主机下发的命令并判断所述命令为读命令还是写命令;
所述装置还包括读命令处理模块,所述读命令处理模块用于若所述命令为读命令则将所述读命令与专用读缓存中的命令做内容对比;
所述装置还包括写命令处理模块,所述写命令处理模块用于若所述命令为写命令则解析写命令并通知软件有新命令;软件收到中断从NVMe HW中读取命令信息;软件产生写命令信息发送给NFC模块,NFC模块收到并解析写命令,按LBA顺序将命令信息发给搬运模块;将写命令与专用写缓存中的命令做内容对比。
在其中一个实施例中,所述读命令处理模块还用于:
若内容一致则将读写接口切换至专用读缓存,结合命令内容的PRP地址信息将缓存数据发至主机指定地址;
通知软件和主机所述读命令完成,释放硬件资源完成此次命令。
在其中一个实施例中,所述写命令处理模块还用于:
若内容一致则将读写接口切换至专用写缓存,结合命令信息按Block顺序发送给NFC模块;
NFC模块按Toggle/Onfi协议,将数据按Page写入NAND Flash颗粒;
通知软件和主机所述写命令完成,释放硬件资源完成此次命令。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
上述基于小批量数据的固态硬盘读写性能提升方法、装置、计算机设备和存储介质,在主控内部设计添加两块SRAM专用读缓存以及专用写缓存,分别数据存入后标记为可复用区域。硬件收到主机命令后可自行判断此命令是否与复用区域数据相吻合。若数据吻合收到调用该区域的命令时,硬件自动从缓存中读取数据并向颗粒或主机发送。本发明可以有效提升小批量数据的读写性能。
附图说明
图1为传统SSD进行小批量数据读写操作的示意图;
图2为本发明中SSD进行小批量数据读写操作的示意图;
图3为一个实施例中基于小批量数据的固态硬盘读写性能提升方法的流程示意图;
图4为另一个实施例中基于小批量数据的固态硬盘读写性能提升方法的流程示意图;
图5为再一个实施例中基于小批量数据的固态硬盘读写性能提升方法的流程示意图;
图6为一个实施例中基于小批量数据的固态硬盘读写性能提升装置的结构框图;
图7为另一个实施例中基于小批量数据的固态硬盘读写性能提升装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
目前,参考图1所示,传统SSD在小批量数据读写场景中,通常以主机发出命令;主控收到命令并检测;如为写命令,主控向主机申请并得到数据后传输至Flash颗粒,完成后向主机回命令报完成信息;如为读命令,主控先从Flash颗粒搬运数据至主控缓存后传输至主机,完成后同样向主机命令提交完成信息。显然,传统SSD在进行小批量数据读写操作时,需重复访问颗粒与主机进行数据搬运传递,进而导致浪费主机与软件资源,且效率较低。
基于此,本发明提出了一种基于小批量数据的固态硬盘读写性能提升方法,具体地可参考图2所示,在指定场景下,在完成常规读写的同时可将数据暂存到主控内部。当主控再次收到同样内容的读写命令时,硬件内部判断命令信息与缓存内部数据信息是否匹配,匹配一致后。主控将读写端口转至专用缓存,将缓存内数据直接发送给颗粒或主机,避免重复与主机及颗粒沟通传递。发送完成后,回报主机命令已完成。
在一个实施例中,如图3所示,提供了一种基于小批量数据的固态硬盘读写性能提升方法,该方法包括:
步骤302,在SSD主控内部添加专用缓存包括专用读缓存和专用写缓存;
步骤304,在完成常规读写的同时可将数据存储到主控内部的专用缓存中,待存入数据后标记为可复用区域;
步骤306,获取主机下发的命令并判断所述命令是否与可复用区域的数据一致;
步骤308,若一致,则当收到调用所述可复用区域的命令时硬件自动从专用缓存中读取数据并向颗粒或主机发送。
在本实施例中,提供了一种基于小批量数据的固态硬盘读写性能提升方法该方法可以应用于如图2所示的应用环境中,在主控上新增两块缓存,用于保存后续可能被重复调用的数据。当主控硬件检测到有重复读/写的命令且命令信息和缓存内数据信息一致时,主控可直接调用缓存内数据发送至主机或颗粒。
具体地,首先在SSD主控内部添加专用缓存包括专用读缓存和专用写缓存。在完成常规读写的同时可将数据存储到主控内部的专用缓存中,待存入数据后标记为可复用区域。在小批量数据传输场景中,根据需求将数据在传输同时缓存于主控内部,当接收到同样地址范围的命令时可主动调用内部缓存数据进行传输,减少SSD主控对主机的访问次数,有效减少软件负担,提升传输效率。
接着,硬件收到主机命令后可自行判断此命令是否与复用区域数据相吻合。若相吻合,则当收到调用该区域的命令时,硬件自动从缓存中读取数据并向颗粒或主机发送,即可有效提升小批量数据读写性能。
在本实施例中,在主控内部设计添加两块SRAM专用读缓存以及专用写缓存,分别数据存入后标记为可复用区域。硬件收到主机命令后可自行判断此命令是否与复用区域数据相吻合。若数据吻合收到调用该区域的命令时,硬件自动从缓存中读取数据并向颗粒或主机发送。本方案可以有效提升小批量数据的读写性能。
在一个实施例中,获取主机下发的命令并判断所述命令是否与可复用区域的数据一致的步骤还包括:
获取主机下发的命令并判断所述命令为读命令还是写命令;
若命令为读命令则将所述读命令与专用读缓存中的命令做内容对比;
若内容一致则将读写接口切换至专用读缓存,结合命令内容的PRP地址信息将缓存数据发至主机指定地址;
通知软件和主机所述读命令完成,释放硬件资源完成此次命令。
具体地,参考图4所示的重复读场景下的处理过程,其具体的执行步骤包括:
步骤4.1.Host发送读命令。
步骤4.2.NVMe收到并解析读命令。
步骤4.3.硬件将读命令与缓存重复读命令做内容对比,如对比一致则进入步骤4.4,否则进入步骤4.5。
步骤4.4.硬件将读接口切换至内部专用读缓存,结合命令内容的PRP地址信息将缓存数据发至主机指定地址,完成后跳转至步骤4.11。
步骤4.5.如对比命令内容发现不一致,NVMe通知软件有新命令。
步骤4.6.软件将逻辑地址计算映射到物理地址,产生读命令信息发送给NFC。
步骤4.7.NFC模块收到并解析读命令,按Toggle/Onfi协议格式发送读请求给NANDFlash颗粒。
步骤4.8.NFC接受到NAND Flash颗粒发来的数据(Page为单位)。
步骤4.9.NFC HW将数据经过校验并按Block标记有效位后传送至搬运模块。
步骤4.10.NFC HW将数据经过校验并按Block标记有效位后传送至搬运模块。
步骤4.11.通知软件与主机读命令完成,释放硬件资源,完成此次命令。
在本实施例中,当颗粒需向主机提供同一块区域的数据时,可以有效地减少固件工作量和硬件对颗粒的访问次数。
在一个实施例中,若命令为写命令则解析写命令并通知软件有新命令;软件收到中断从NVMe HW中读取命令信息;软件产生写命令信息发送给NFC模块,NFC模块收到并解析写命令,按LBA顺序将命令信息发给搬运模块;将写命令与专用写缓存中的命令做内容对比;
若内容一致则将读写接口切换至专用写缓存,结合命令信息按Block顺序发送给NFC模块;
NFC模块按Toggle/Onfi协议,将数据按Page写入NAND Flash颗粒;
通知软件和主机所述写命令完成,释放硬件资源完成此次命令。
具体地,参考图5所示的重复写场景下的处理过程,其具体的执行步骤包括:
步骤5.1.Host发送写命令。
步骤5.2.NVMe收到并解析写命令。
步骤5.3.NVMe通知软件有新命令。
步骤5.4.软件收到中断,然后从NVMe HW中读取命令信息。
步骤5.5.软件产生写命令信息发送给NFC。
步骤5.6.NFC模块收到并解析写命令,按LBA顺序将命令信息发给搬运模块。
步骤5.7.硬件将写命令与缓存重复写命令做内容对比,如一致进入步骤5.8,如不一致进入步骤5.9。
步骤5.8.硬件将读接口切换至内部专用写缓存,结合命令信息按Block顺序发送给NFC模块,发送完全部Block后进入步骤5.10。
步骤5.9.搬运模块收到信息从主机指定地址取回数据,按命令信息顺序保序返回给NFC模块,如该笔数据需做特殊缓存处理还需将数据同步写入到缓存模块。
步骤5.10.NFC模块按Toggle/Onfi协议,将数据按Page写入NAND Flash颗粒。
步骤5.11.完成写入后通知软件与主机写命令完成,释放硬件资源,完成此次命令。
在本实施例中,当主机向颗粒重复写同一片区域的数据时,无需固件重复参与且减少对主机访问次数。
应该理解的是,虽然图1-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种基于小批量数据的固态硬盘读写性能提升装置600,该装置包括:
添加模块601,所述添加模块用于在SSD主控内部添加专用缓存包括专用读缓存和专用写缓存;
缓存标记模块602,所述缓存标记模块用于在完成常规读写的同时可将数据存储到主控内部的专用缓存中,待存入数据后标记为可复用区域;
判断模块603,所述判断模块用于获取主机下发的命令并判断所述命令是否与可复用区域的数据一致;
调用模块604,所述调用模块用于若一致,则当收到调用所述可复用区域的命令时硬件自动从专用缓存中读取数据并向颗粒或主机发送。
在一个实施例中,如图7所示,提供了一种基于小批量数据的固态硬盘读写性能提升装置600,判断模块603还用于:获取主机下发的命令并判断所述命令为读命令还是写命令;
装置还包括读命令处理模块605,所述读命令处理模块用于若所述命令为读命令则将所述读命令与专用读缓存中的命令做内容对比;
装置还包括写命令处理模块606,所述写命令处理模块用于若所述命令为写命令则解析写命令并通知软件有新命令;软件收到中断从NVMe HW中读取命令信息;软件产生写命令信息发送给NFC模块,NFC模块收到并解析写命令,按LBA顺序将命令信息发给搬运模块;将写命令与专用写缓存中的命令做内容对比。
在一个实施例中,读命令处理模块605还用于:
若内容一致则将读写接口切换至专用读缓存,结合命令内容的PRP地址信息将缓存数据发至主机指定地址;
通知软件和主机所述读命令完成,释放硬件资源完成此次命令。
在一个实施例中,写命令处理模块606还用于:
若内容一致则将读写接口切换至专用写缓存,结合命令信息按Block顺序发送给NFC模块;
NFC模块按Toggle/Onfi协议,将数据按Page写入NAND Flash颗粒;
通知软件和主机所述写命令完成,释放硬件资源完成此次命令。
关于基于小批量数据的固态硬盘读写性能提升装置的具体限定可以参见上文中对于基于小批量数据的固态硬盘读写性能提升方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于小批量数据的固态硬盘读写性能提升方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一种非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于小批量数据的固态硬盘读写性能提升方法,所述方法包括:
在SSD主控内部添加专用缓存包括专用读缓存和专用写缓存;
在完成常规读写的同时可将数据存储到主控内部的专用缓存中,待存入数据后标记为可复用区域;
获取主机下发的命令并判断所述命令是否与可复用区域的数据一致;
若一致,则当收到调用所述可复用区域的命令时硬件自动从专用缓存中读取数据并向颗粒或主机发送。
2.根据权利要求1所述的基于小批量数据的固态硬盘读写性能提升方法,其特征在于,所述获取主机下发的命令并判断所述命令是否与可复用区域的数据一致的步骤还包括:
获取主机下发的命令并判断所述命令为读命令还是写命令;
若所述命令为读命令则将所述读命令与专用读缓存中的命令做内容对比;
若所述命令为写命令则解析写命令并通知软件有新命令;软件收到中断从NVMe HW中读取命令信息;软件产生写命令信息发送给NFC模块,NFC模块收到并解析写命令,按LBA顺序将命令信息发给搬运模块;将写命令与专用写缓存中的命令做内容对比。
3.根据权利要求2所述的基于小批量数据的固态硬盘读写性能提升方法,其特征在于,在所述将所述读命令与专用读缓存中的命令做内容对比的步骤之后还包括:
若内容一致则将读写接口切换至专用读缓存,结合命令内容的PRP地址信息将缓存数据发至主机指定地址;
通知软件和主机所述读命令完成,释放硬件资源完成此次命令。
4.根据权利要求2所述的基于小批量数据的固态硬盘读写性能提升方法,其特征在于,在所述将写命令与专用写缓存中的命令做内容对比的步骤之后还包括:
若内容一致则将读写接口切换至专用写缓存,结合命令信息按Block顺序发送给NFC模块;
NFC模块按Toggle/Onfi协议,将数据按Page写入NAND Flash颗粒;
通知软件和主机所述写命令完成,释放硬件资源完成此次命令。
5.一种基于小批量数据的固态硬盘读写性能提升装置,其特征在于,所述装置包括:
添加模块,所述添加模块用于在SSD主控内部添加专用缓存包括专用读缓存和专用写缓存;
缓存标记模块,所述缓存标记模块用于在完成常规读写的同时可将数据存储到主控内部的专用缓存中,待存入数据后标记为可复用区域;
判断模块,所述判断模块用于获取主机下发的命令并判断所述命令是否与可复用区域的数据一致;
调用模块,所述调用模块用于若一致,则当收到调用所述可复用区域的命令时硬件自动从专用缓存中读取数据并向颗粒或主机发送。
6.根据权利要求5所述的基于小批量数据的固态硬盘读写性能提升装置,其特征在于,所述判断模块还用于:
获取主机下发的命令并判断所述命令为读命令还是写命令;
所述装置还包括读命令处理模块,所述读命令处理模块用于若所述命令为读命令则将所述读命令与专用读缓存中的命令做内容对比;
所述装置还包括写命令处理模块,所述写命令处理模块用于若所述命令为写命令则解析写命令并通知软件有新命令;软件收到中断从NVMe HW中读取命令信息;软件产生写命令信息发送给NFC模块,NFC模块收到并解析写命令,按LBA顺序将命令信息发给搬运模块;将写命令与专用写缓存中的命令做内容对比。
7.根据权利要求6所述的基于小批量数据的固态硬盘读写性能提升装置,其特征在于,所述读命令处理模块还用于:
若内容一致则将读写接口切换至专用读缓存,结合命令内容的PRP地址信息将缓存数据发至主机指定地址;
通知软件和主机所述读命令完成,释放硬件资源完成此次命令。
8.根据权利要求6所述的基于小批量数据的固态硬盘读写性能提升装置,其特征在于,所述写命令处理模块还用于:
若内容一致则将读写接口切换至专用写缓存,结合命令信息按Block顺序发送给NFC模块;
NFC模块按Toggle/Onfi协议,将数据按Page写入NAND Flash颗粒;
通知软件和主机所述写命令完成,释放硬件资源完成此次命令。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
CN202310146113.1A 2023-02-21 2023-02-21 基于小批量数据的固态硬盘读写性能提升方法和装置 Pending CN116048420A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310146113.1A CN116048420A (zh) 2023-02-21 2023-02-21 基于小批量数据的固态硬盘读写性能提升方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310146113.1A CN116048420A (zh) 2023-02-21 2023-02-21 基于小批量数据的固态硬盘读写性能提升方法和装置

Publications (1)

Publication Number Publication Date
CN116048420A true CN116048420A (zh) 2023-05-02

Family

ID=86129565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310146113.1A Pending CN116048420A (zh) 2023-02-21 2023-02-21 基于小批量数据的固态硬盘读写性能提升方法和装置

Country Status (1)

Country Link
CN (1) CN116048420A (zh)

Similar Documents

Publication Publication Date Title
US10649905B2 (en) Method and apparatus for storing data
US10152274B2 (en) Method and apparatus for reading/writing data from/into flash memory, and user equipment
CN110888602A (zh) 基于固态硬盘的读性能提升方法、装置及计算机设备
WO2017132797A1 (zh) 数据整理方法、存储设备、存储控制器以及存储阵列
US20230384979A1 (en) Data processing method, apparatus, and system
CN112214158A (zh) 主机输出输入命令的执行装置及方法及计算机可读取存储介质
CN115470156A (zh) 基于rdma的内存使用方法、系统、电子设备和存储介质
CN115249057A (zh) 用于图形节点采样的系统和由计算机实现的方法
CN116048420A (zh) 基于小批量数据的固态硬盘读写性能提升方法和装置
CN111176566A (zh) 一种支持queue命令的eMMC读写控制方法及存储介质
CN115563021A (zh) 基于固态硬盘的重复读性能提升方法、装置和计算机设备
CN112114757B (zh) 对象存储系统中的存储方法及系统、计算设备和介质
CN111274176B (zh) 一种信息处理方法、电子设备、系统及存储介质
CN112732176A (zh) 基于fpga的ssd访问方法及装置、存储系统及存储介质
WO2022126534A1 (zh) 数据处理方法及相关设备
CN116884470B (zh) 存储产品测试方法和系统、电子设备、存储介质
CN112650445B (zh) 一种固态硬盘执行Trim的方法和设备
CN116501266B (zh) 消息上下文处理方法、装置、计算机设备和存储介质
CN114153505B (zh) 一种数据交互方法、系统、装置、设备及计算机存储介质
CN112003860B (zh) 适用于远程直接内存访问的内存管理方法、系统及介质
US20230045119A1 (en) Data access method and apparatus
WO2023279900A1 (zh) 日志文件发送方法、装置和客户端
CN115079956A (zh) 固态硬盘的写性能提升实现方法、装置和计算机设备
CN117891405A (zh) 固态硬盘的读性能提升实现方法、装置和计算机设备
CN117785049A (zh) 异常掉电下Write Zero命令的优化处理方法和装置

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