CN109918319A - 一种固态硬盘控制器加速方法及其系统 - Google Patents

一种固态硬盘控制器加速方法及其系统 Download PDF

Info

Publication number
CN109918319A
CN109918319A CN201910221863.4A CN201910221863A CN109918319A CN 109918319 A CN109918319 A CN 109918319A CN 201910221863 A CN201910221863 A CN 201910221863A CN 109918319 A CN109918319 A CN 109918319A
Authority
CN
China
Prior art keywords
lpa
hardware
circuit
hardware accelerator
software
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
CN201910221863.4A
Other languages
English (en)
Other versions
CN109918319B (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 Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory 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 Shenzhen Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN201910221863.4A priority Critical patent/CN109918319B/zh
Publication of CN109918319A publication Critical patent/CN109918319A/zh
Application granted granted Critical
Publication of CN109918319B publication Critical patent/CN109918319B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种固态硬盘控制器加速方法及其系统;其中,加速方法,包括:S1,获取主机下发的命令信息;S2,判断命令信息为写命令或读命令;S3,硬件电路通知软件有新命令;S4,软件进行命令解析;S5,硬件加速模块申请本地存储空间;S6,硬件加速模块通知软件数据传输完毕;S7,软件下发命令给NFC电路;S8,NFC电路根据软件指定的LPA向硬件加速模块获取主机数据;S9,硬件加速模块申请本地存储空间;S10,硬件电路通知软件有新命令;S11,软件解析命令;S12,NFC电路从flash颗粒读出数据;S13,自动解析主机命令;S14,通知硬件加速模块数据传输完毕。本发明减轻了软件的负担,提高了本地存储空间的使用效率,提升了软件和硬件各自的效率。

Description

一种固态硬盘控制器加速方法及其系统
技术领域
本发明涉及固态硬盘控制器技术领域,更具体地说是指一种固态硬盘控制器加速方法及其系统。
背景技术
现有的软硬件协同工作的固态硬盘,需要软硬件多次交互,各自效率都降低了,同时采用软件来分配和释放本地存储空间,增加了软件的负担,在处理过程中,容易出现延迟,阻塞等情况,影响性能,无法满足需求。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种固态硬盘控制器加速方法及其系统。
为实现上述目的,本发明采用于下技术方案:
一种固态硬盘控制器加速方法,包括以下步骤:
S1,获取主机下发的命令信息,并将命令信息发送至硬件加速模块;
S2,判断命令信息为写命令或读命令;若是写命令,进入S3;若是读命令,则进入S9;
S3,硬件电路通知软件有新命令;
S4,软件进行命令解析,获得必要的信息;
S5,硬件加速模块申请本地存储空间,关联LPA与本地存储地址,自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记,硬件电路根据指定的LPA,将主机数据发送至硬件加速模块,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间;
S6,硬件加速模块通知软件数据传输完毕;
S7,软件下发命令给NFC电路,指定LPA和有效LBA标记;
S8,NFC电路根据软件指定的LPA向硬件加速模块获取主机数据,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给NFC电路,并由NFC电路烧写入flash颗粒,NFC电路通知硬件加速模块数据传输完毕,硬件加速模块释放本地存储空间;
S9,硬件加速模块申请本地存储空间,关联LPA与本地存储地址;
S10,硬件电路通知软件有新命令;
S11,软件解析命令,并生成NFC命令下发给NFC电路,指定LPA和有效LBA标记;
S12,NFC电路从flash颗粒读出数据,并标记上软件指定的LPA信息发送至硬件加速模块,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间;
S13,硬件加速模块自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记,硬件电路根据指定的LPA向硬件加速模块获取主机数据,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给硬件电路,并由硬件电路搬入主机存储空间;
S14,硬件电路通知硬件加速模块数据传输完毕,硬件加速模块释放本地存储空间。
其进一步技术方案为:所述S1中,由硬件电路获取主机下发的命令信息。
其进一步技术方案为:所述硬件电路为NVMe电路。
其进一步技术方案为:所述本地存储空间为若干4KB本地存储空间。
其进一步技术方案为:所述S5包括:
S51,硬件加速模块申请本地存储空间,关联LPA与本地存储地址;
S52,硬件加速模块自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记;
S53,硬件电路根据指定的LPA,将主机数据发送至硬件加速模块;
S54,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间。
其进一步技术方案为:所述S8包括:
S81,NFC电路根据软件指定的LPA向硬件加速模块获取主机数据;
S82,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给NFC电路,并由NFC电路烧写入flash颗粒;
S83,NFC电路通知硬件加速模块数据传输完毕,硬件加速模块释放本地存储空间。
其进一步技术方案为:所述S12包括:
S121,NFC电路将主机需要的数据从flash颗粒读出,并标记上软件指定的LPA信息发送至硬件加速模块;
S122,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间。
其进一步技术方案为:所述S13包括:
S131,硬件加速模块自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记;
S132,硬件电路根据指定的LPA向硬件加速模块获取主机数据;
S133,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给硬件电路,并由硬件电路搬入主机存储空间。
一种固态硬盘控制器加速系统,包括:获取单元,判断单元,第一通知单元,第一解析单元,申请解析发送存储单元,第二通知单元,下发指定单元,获取烧入释放单元,申请关联单元,第三通知单元,第二解析单元,标记存储单元,解析指定搬入单元,及释放单元;
所述获取单元,用于获取主机下发的命令信息,并将命令信息发送至硬件加速模块;
所述判断单元,用于判断命令信息为写命令或读命令;
所述第一通知单元,用于硬件电路通知软件有新命令;
所述第一解析单元,用于软件进行命令解析,获得必要的信息;
所述申请解析发送存储单元,用于硬件加速模块申请本地存储空间,关联LPA与本地存储地址,自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记,硬件电路根据指定的LPA,将主机数据发送至硬件加速模块,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间;
所述第二通知单元,用于硬件加速模块通知软件数据传输完毕;
所述下发指定单元,用于软件下发命令给NFC电路,指定LPA和有效LBA标记;
所述获取烧入释放单元,用于NFC电路根据软件指定的LPA向硬件加速模块获取主机数据,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给NFC电路,并由NFC电路烧写入flash颗粒,NFC电路通知硬件加速模块数据传输完毕,硬件加速模块释放本地存储空间;
所述申请关联单元,用于硬件加速模块申请本地存储空间,关联LPA与本地存储地址;
所述第三通知单元,用于硬件电路通知软件有新命令;
所述第二解析单元,用于软件解析命令,并生成NFC命令下发给NFC电路,指定LPA和有效LBA标记;
所述标记存储单元,用于NFC电路从flash颗粒读出数据,并标记上软件指定的LPA信息发送至硬件加速模块,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间;
所述解析指定搬入单元,用于硬件加速模块自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记,硬件电路根据指定的LPA向硬件加速模块获取主机数据,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给硬件电路,并由硬件电路搬入主机存储空间;
所述释放单元,用于硬件电路通知硬件加速模块数据传输完毕,硬件加速模块释放本地存储空间。
其进一步技术方案为:所述硬件电路为NVMe电路;所述本地存储空间为若干4KB本地存储空间。
本发明与现有技术相比的有益效果是:1、将原本由软件来分配和释放本地存储空间,改为由硬件加速电路来实施,减轻了软件的负担;2、硬件自动释放本地存储空间比软件释放更加的实时,提高了本地存储空间的使用效率,有助于提升性能;3、原本软件需要按照主机命令记录本地存储地址,并下发给NFC电路和NVMe电路,现在本地存储地址对软件是透明的,减轻了软件负担;4、原本由软件解析主机命令后生成NVMe命令并控制NVMe电路搬运数据,现在由硬件加速电路自动生成NVMe命令并控制NVMe电路搬运数据,减轻了软件的工作量;5、减少了软硬件之间的交互,提升了软件和硬件各自的效率,有助于提升性能。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
图1为现有技术中软硬件协调工作的应用示意图;
图2为本发明一种固态硬盘控制器加速方法的流程图;
图3为主机写命令时,软硬件协调工作的应用示意图;
图4为主机读命令时,软硬件协调工作的应用示意图;
图5为本发明一种固态硬盘控制器加速系统的方框图。
10 获取单元 20 判断单元
30 第一通知单元 40 第一解析单元
50 申请解析发送存储单元 60 第二通知单元
70 下发指定单元 80 获取烧入释放单元
90 申请关联单元 100 第三通知单元
110 第二解析单元 120 标记存储单元
130 解析指定搬入单元 140 释放单元
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
如图1到图5所示的具体实施例,其中,如图1所示的现有技术,以主机写命令为例,步骤流程如下:1、NVMe电路获取主机命令;2、NVMe电路通知软件有新命令;3、软件解析命令;4、软件申请本地存储空间;5、软件下发命令给NVMe电路,指定本地存储地址;6、NVMe电路将主机数据存入软件指定的本地存储地址;7、NVMe电路通知软件数据传输完毕;8、软件下发命令给NFC电路,指定本地存储地址;9、NFC电路将数据从软件指定的本地存储地址取出,写入flsah颗粒;10、NFC电路通知软件数据传输完毕;11、软件释放本地存储空间。
其中,上述流程中,软件总共需要完成5个步骤,包括申请和释放本地存储资源,生成和下发NVMe命令,生成和下发NFC命令,负担比较大,必须采用高性能CPU才能处理;NFC硬件电路完成flsah烧写后通知软件,软件再来释放本地存储资源必然存在延迟;通常软件采用查询方式获取NFC电路烧写flash完毕的信息,而非中断;这意味着软件处理了一圈别的事务,再轮转到查询NFC电路烧写flash完毕与否,此时延迟非常大;其实这片本地存储空间在NFC电路烧写flash完毕后已经可以释放给新命令使用了,但是由于软件没有及时进行释放处理,导致这片本地存储空间继续被占用着,而新命令可能因为没有足够的本地存储空间而被阻塞,影响性能;由步骤(5)和(8)可知,软件给NVMe电路和NFC电路下发命令时需要根据主机命令派生出的LPA信息对应到本地存储地址后,将本地存储地址告知硬件电路,软件需要维护LPA和本地存储地址的映射表,增加了软件负担;而软硬件存在5次交互,需要相互等待对方,各自效率都降低了。
如图2至图4所示,本发明公开了一种固态硬盘控制器加速方法,包括以下步骤:
S1,获取主机下发的命令信息,并将命令信息发送至硬件加速模块;
S2,判断命令信息为写命令或读命令;若是写命令,进入S3;若是读命令,则进入S9;
S3,硬件电路通知软件有新命令;
S4,软件进行命令解析,获得必要的信息;
S5,硬件加速模块申请本地存储空间,关联LPA与本地存储地址,自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记,硬件电路根据指定的LPA,将主机数据发送至硬件加速模块,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间;
S6,硬件加速模块通知软件数据传输完毕;
S7,软件下发命令给NFC电路,指定LPA和有效LBA标记;
S8,NFC电路根据软件指定的LPA向硬件加速模块获取主机数据,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给NFC电路,并由NFC电路烧写入flash颗粒,NFC电路通知硬件加速模块数据传输完毕,硬件加速模块释放本地存储空间;
S9,硬件加速模块申请本地存储空间,关联LPA与本地存储地址;
S10,硬件电路通知软件有新命令;
S11,软件解析命令,并生成NFC命令下发给NFC电路,指定LPA和有效LBA标记;
S12,NFC电路从flash颗粒读出数据,并标记上软件指定的LPA信息发送至硬件加速模块,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间;
S13,硬件加速模块自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记,硬件电路根据指定的LPA向硬件加速模块获取主机数据,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给硬件电路,并由硬件电路搬入主机存储空间;
S14,硬件电路通知硬件加速模块数据传输完毕,硬件加速模块释放本地存储空间。
其中,在所述S1中,由硬件电路获取主机下发的命令信息。
进一步地,所述硬件电路为NVMe电路。
其中,所述本地存储空间为若干4KB本地存储空间。
其中,所述S5包括:
S51,硬件加速模块申请本地存储空间,关联LPA与本地存储地址;
S52,硬件加速模块自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记;
S53,硬件电路根据指定的LPA,将主机数据发送至硬件加速模块;
S54,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间。
其中,所述S8包括:
S81,NFC电路根据软件指定的LPA向硬件加速模块获取主机数据;
S82,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给NFC电路,并由NFC电路烧写入flash颗粒;
S83,NFC电路通知硬件加速模块数据传输完毕,硬件加速模块释放本地存储空间。
其中,所述S12包括:
S121,NFC电路将主机需要的数据从flash颗粒读出,并标记上软件指定的LPA信息发送至硬件加速模块;
S122,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间。
其中,所述S13包括:
S131,硬件加速模块自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记;
S132,硬件电路根据指定的LPA向硬件加速模块获取主机数据;
S133,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给硬件电路,并由硬件电路搬入主机存储空间。
其中,当主机写命令时,软件只需要处理2个步骤,软硬件交互只有3次,软件无需维护本地存储空间,软件无需生成NVMe硬件电路命令控制NVMe电路搬运数据,而是由硬件自发处理,NFC电路完成flash烧写后硬件加速模块立刻释放本地存储空间,本地存储空间使用效率非常高;当主机读命令时,软件只需要处理2个步骤,软硬件交互只有2次,软件无需维护本地存储空间,软件无需生成NVMe硬件电路命令控制NVMe电路搬运数据,而是由硬件自发处理;NVMe电路完成数据搬运后硬件加速模块立刻释放本地存储空间,本地存储空间使用效率非常高。
其中,本发明的原理为:硬件加速电路自动按照LPA大小管理本地存储空间,硬件加速电路收到主机命令后,自动分配若干4KB本地存储空间,存放来自主机并将要通过NFC电路烧写进flash的数据或者存放来自NFC电路并将要通过NVMe电路传输给主机的数据;由于硬件加速电路自动分配了本地存储空间,同时硬件加速电路收到的主机命令里面包含了主机数据在主机存储空间的地址,因此硬件加速电路可以代替软件自动向NVMe电路发起命令搬运数据;硬件加速电路记录LPA与本地存储空间的对应关系;软件无需知道本地存储地址,软件和硬件加速电路向NFC电路或者NVMe电路发起命令时,只给出LPA地址和LPA内部的有效LBA标记即可,NFC电路或者NVMe电路根据LPA地址和有效LBA标记向硬件加速电路获取主机需要读取或者写入的数据;当NFC电路完成flash烧写时或者NVMe电路完成读命令时,自动触发硬件加速电路释放之前分配的这若干4KB本地存储空间。
其中,在本实施例中,Flash为闪存介质,一种非易失性存储体;NFC:NAND FlashController,一种硬件电路,实现flash颗粒接口协议;NVMe:Non-Volatile Memoryexpress,这里指一种硬件电路,实现与主机的接口协议;LBA:Logic Block Address,逻辑块地址,大小通常是512Byte,主机操作系统通常按照LBA管理数据;LPA:Logic PageAddress,逻辑页地址,大小通常是4KB,固态硬盘控制器软件通常按照LPA管理数据,每8个LBA按照4KB对齐构成LPA。
本发明中,当硬件加速电路收到主机命令后,自动分配若干4KB本地存储空间;当硬件加速电路收到主机命令后,自动向NVMe电路下发数据搬运命令,在主机存储空间和本地存储空间之间搬运数据;硬件加速电路在NFC电路完成flash烧写时或者NVMe电路完成主机读命令时,自动回收之前分配的这若干4KB本地存储空间,用于新的主机命令;硬件加速电路记录LPA与本地存储空间的对应关系,无需软件来管理,即本地存储地址对软件是透明的。
如图5所示,本发明公开了一种固态硬盘控制器加速系统,包括:获取单元10,判断单元20,第一通知单元30,第一解析单元40,申请解析发送存储单元50,第二通知单元60,下发指定单元70,获取烧入释放单元80,申请关联单元90,第三通知单元100,第二解析单元110,标记存储单元120,解析指定搬入单元130,及释放单元140;
所述获取单元10,用于获取主机下发的命令信息,并将命令信息发送至硬件加速模块;
所述判断单元20,用于判断命令信息为写命令或读命令;
所述第一通知单元30,用于硬件电路通知软件有新命令;
所述第一解析单元40,用于软件进行命令解析,获得必要的信息;
所述申请解析发送存储单元50,用于硬件加速模块申请本地存储空间,关联LPA与本地存储地址,自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记,硬件电路根据指定的LPA,将主机数据发送至硬件加速模块,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间;
所述第二通知单元60,用于硬件加速模块通知软件数据传输完毕;
所述下发指定单元70,用于软件下发命令给NFC电路,指定LPA和有效LBA标记;
所述获取烧入释放单元80,用于NFC电路根据软件指定的LPA向硬件加速模块获取主机数据,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给NFC电路,并由NFC电路烧写入flash颗粒,NFC电路通知硬件加速模块数据传输完毕,硬件加速模块释放本地存储空间;
所述申请关联单元90,用于硬件加速模块申请本地存储空间,关联LPA与本地存储地址;
所述第三通知单元100,用于硬件电路通知软件有新命令;
所述第二解析单元110,用于软件解析命令,并生成NFC命令下发给NFC电路,指定LPA和有效LBA标记;
所述标记存储单元120,用于NFC电路从flash颗粒读出数据,并标记上软件指定的LPA信息发送至硬件加速模块,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间;
所述解析指定搬入单元130,用于硬件加速模块自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记,硬件电路根据指定的LPA向硬件加速模块获取主机数据,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给硬件电路,并由硬件电路搬入主机存储空间;
所述释放单元140,用于硬件电路通知硬件加速模块数据传输完毕,硬件加速模块释放本地存储空间。
其中,所述硬件电路为NVMe电路;所述本地存储空间为若干4KB本地存储空间。
本发明由硬件自动申请和释放本地存储空间,减轻了软件负担;由硬件自动及时的释放本地存储空间,提高了本地存储空间的周转效率;由硬件自动记录LPA与本地存储地址的对应关系,本地存储地址对软件透明,从而减轻了软件负担;由硬件自动生成和下发NVMe命令,指导NVMe电路在主机地址空间和本地存储空间之间搬运数据,减轻了软件负担。
于其他实施例中,硬件电路以LPA大小管理本地存储空间,LPA不局限于4KB,也可以是8KB或者其它任意大小。
于其他实施例中,硬件电路还可以是SATA(串行高级技术附件(Serial AdvancedTechnology Attachment),一种基于行业标准的串行硬件驱动器接口),EMMC(EmbeddedMulti Media Card,嵌入式多媒体卡接口),UFS(Universal Flash Storage,通用闪存存储接口)其中的一种,或其它主机接口电路。
综上所述,本发明具有以下优点:1、将原本由软件来分配和释放本地存储空间,改为由硬件加速电路来实施,减轻了软件的负担;2、硬件自动释放本地存储空间比软件释放更加的实时,提高了本地存储空间的使用效率,有助于提升性能;3、原本软件需要按照主机命令记录本地存储地址,并下发给NFC电路和NVMe电路,现在本地存储地址对软件是透明的,减轻了软件负担;4、原本由软件解析主机命令后生成NVMe命令并控制NVMe电路搬运数据,现在由硬件加速电路自动生成NVMe命令并控制NVMe电路搬运数据,减轻了软件的工作量;5、减少了软硬件之间的交互,提升了软件和硬件各自的效率,有助于提升性能。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。

Claims (10)

1.一种固态硬盘控制器加速方法,其特征在于,包括以下步骤:
S1,获取主机下发的命令信息,并将命令信息发送至硬件加速模块;
S2,判断命令信息为写命令或读命令;若是写命令,进入S3;若是读命令,则进入S9;
S3,硬件电路通知软件有新命令;
S4,软件进行命令解析,获得必要的信息;
S5,硬件加速模块申请本地存储空间,关联LPA与本地存储地址,自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记,硬件电路根据指定的LPA,将主机数据发送至硬件加速模块,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间;
S6,硬件加速模块通知软件数据传输完毕;
S7,软件下发命令给NFC电路,指定LPA和有效LBA标记;
S8,NFC电路根据软件指定的LPA向硬件加速模块获取主机数据,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给NFC电路,并由NFC电路烧写入flash颗粒,NFC电路通知硬件加速模块数据传输完毕,硬件加速模块释放本地存储空间;
S9,硬件加速模块申请本地存储空间,关联LPA与本地存储地址;
S10,硬件电路通知软件有新命令;
S11,软件解析命令,并生成NFC命令下发给NFC电路,指定LPA和有效LBA标记;
S12,NFC电路从flash颗粒读出数据,并标记上软件指定的LPA信息发送至硬件加速模块,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间;
S13,硬件加速模块自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记,硬件电路根据指定的LPA向硬件加速模块获取主机数据,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给硬件电路,并由硬件电路搬入主机存储空间;
S14,硬件电路通知硬件加速模块数据传输完毕,硬件加速模块释放本地存储空间。
2.根据权利要求1所述的一种固态硬盘控制器加速方法,其特征在于,所述S1中,由硬件电路获取主机下发的命令信息。
3.根据权利要求1所述的一种固态硬盘控制器加速方法,其特征在于,所述硬件电路为NVMe电路。
4.根据权利要求1所述的一种固态硬盘控制器加速方法,其特征在于,所述本地存储空间为若干4KB本地存储空间。
5.根据权利要求1所述的一种固态硬盘控制器加速方法,其特征在于,所述S5包括:
S51,硬件加速模块申请本地存储空间,关联LPA与本地存储地址;
S52,硬件加速模块自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记;
S53,硬件电路根据指定的LPA,将主机数据发送至硬件加速模块;
S54,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间。
6.根据权利要求1所述的一种固态硬盘控制器加速方法,其特征在于,所述S8包括:
S81,NFC电路根据软件指定的LPA向硬件加速模块获取主机数据;
S82,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给NFC电路,并由NFC电路烧写入flash颗粒;
S83,NFC电路通知硬件加速模块数据传输完毕,硬件加速模块释放本地存储空间。
7.根据权利要求1所述的一种固态硬盘控制器加速方法,其特征在于,所述S12包括:
S121,NFC电路将主机需要的数据从flash颗粒读出,并标记上软件指定的LPA信息发送至硬件加速模块;
S122,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间。
8.根据权利要求1所述的一种固态硬盘控制器加速方法,其特征在于,所述S13包括:
S131,硬件加速模块自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记;
S132,硬件电路根据指定的LPA向硬件加速模块获取主机数据;
S133,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给硬件电路,并由硬件电路搬入主机存储空间。
9.一种固态硬盘控制器加速系统,其特征在于,包括:获取单元,判断单元,第一通知单元,第一解析单元,申请解析发送存储单元,第二通知单元,下发指定单元,获取烧入释放单元,申请关联单元,第三通知单元,第二解析单元,标记存储单元,解析指定搬入单元,及释放单元;
所述获取单元,用于获取主机下发的命令信息,并将命令信息发送至硬件加速模块;
所述判断单元,用于判断命令信息为写命令或读命令;
所述第一通知单元,用于硬件电路通知软件有新命令;
所述第一解析单元,用于软件进行命令解析,获得必要的信息;
所述申请解析发送存储单元,用于硬件加速模块申请本地存储空间,关联LPA与本地存储地址,自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记,硬件电路根据指定的LPA,将主机数据发送至硬件加速模块,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间;
所述第二通知单元,用于硬件加速模块通知软件数据传输完毕;
所述下发指定单元,用于软件下发命令给NFC电路,指定LPA和有效LBA标记;
所述获取烧入释放单元,用于NFC电路根据软件指定的LPA向硬件加速模块获取主机数据,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给NFC电路,并由NFC电路烧写入flash颗粒,NFC电路通知硬件加速模块数据传输完毕,硬件加速模块释放本地存储空间;
所述申请关联单元,用于硬件加速模块申请本地存储空间,关联LPA与本地存储地址;
所述第三通知单元,用于硬件电路通知软件有新命令;
所述第二解析单元,用于软件解析命令,并生成NFC命令下发给NFC电路,指定LPA和有效LBA标记;
所述标记存储单元,用于NFC电路从flash颗粒读出数据,并标记上软件指定的LPA信息发送至硬件加速模块,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据存入本地存储空间;
所述解析指定搬入单元,用于硬件加速模块自动解析主机命令,并将解析后的命令下发至硬件电路,指定LPA和有效LBA标记,硬件电路根据指定的LPA向硬件加速模块获取主机数据,硬件加速模块根据LPA与本地存储地址的对应关系,将主机数据从本地存储器读出,发送给硬件电路,并由硬件电路搬入主机存储空间;
所述释放单元,用于硬件电路通知硬件加速模块数据传输完毕,硬件加速模块释放本地存储空间。
10.根据权利要求9所述的一种固态硬盘控制器加速系统,其特征在于,所述硬件电路为NVMe电路;所述本地存储空间为若干4KB本地存储空间。
CN201910221863.4A 2019-03-22 2019-03-22 一种固态硬盘控制器加速方法及其系统 Active CN109918319B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910221863.4A CN109918319B (zh) 2019-03-22 2019-03-22 一种固态硬盘控制器加速方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910221863.4A CN109918319B (zh) 2019-03-22 2019-03-22 一种固态硬盘控制器加速方法及其系统

Publications (2)

Publication Number Publication Date
CN109918319A true CN109918319A (zh) 2019-06-21
CN109918319B CN109918319B (zh) 2021-03-05

Family

ID=66966295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910221863.4A Active CN109918319B (zh) 2019-03-22 2019-03-22 一种固态硬盘控制器加速方法及其系统

Country Status (1)

Country Link
CN (1) CN109918319B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764669A (zh) * 2019-11-01 2021-05-07 北京忆芯科技有限公司 用于存储控制器的加速器
CN112765055A (zh) * 2019-11-01 2021-05-07 北京忆芯科技有限公司 存储设备的控制部件
CN113094296A (zh) * 2021-04-29 2021-07-09 深圳忆联信息系统有限公司 Ssd读加速的实现方法、装置、计算机设备及存储介质
CN114721600A (zh) * 2022-05-16 2022-07-08 北京得瑞领新科技有限公司 NVMe设备中软硬件协同的命令解析系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105393236A (zh) * 2014-05-16 2016-03-09 华为技术有限公司 快速数据读写方法和装置
WO2016106070A1 (en) * 2014-12-23 2016-06-30 Intel Corporation Adjustment of voltage regulator based on power state
US20170269157A1 (en) * 2014-12-22 2017-09-21 Intel Corporation Reconfigurable test access port with finite state machine control
CN107250980A (zh) * 2015-03-26 2017-10-13 英特尔公司 具有图形和系统存储器冲突检查的计算方法和设备
CN108345545A (zh) * 2017-01-25 2018-07-31 三星电子株式会社 在逻辑地址与物理地址之间执行散列式转译的存储装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105393236A (zh) * 2014-05-16 2016-03-09 华为技术有限公司 快速数据读写方法和装置
US20170269157A1 (en) * 2014-12-22 2017-09-21 Intel Corporation Reconfigurable test access port with finite state machine control
WO2016106070A1 (en) * 2014-12-23 2016-06-30 Intel Corporation Adjustment of voltage regulator based on power state
CN107250980A (zh) * 2015-03-26 2017-10-13 英特尔公司 具有图形和系统存储器冲突检查的计算方法和设备
CN108345545A (zh) * 2017-01-25 2018-07-31 三星电子株式会社 在逻辑地址与物理地址之间执行散列式转译的存储装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邓永红: "详述虚拟存储技术", 《有线电视技术》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764669A (zh) * 2019-11-01 2021-05-07 北京忆芯科技有限公司 用于存储控制器的加速器
CN112765055A (zh) * 2019-11-01 2021-05-07 北京忆芯科技有限公司 存储设备的控制部件
CN112764669B (zh) * 2019-11-01 2021-12-21 北京忆芯科技有限公司 一种硬件加速器
CN113094296A (zh) * 2021-04-29 2021-07-09 深圳忆联信息系统有限公司 Ssd读加速的实现方法、装置、计算机设备及存储介质
CN113094296B (zh) * 2021-04-29 2023-10-10 深圳忆联信息系统有限公司 Ssd读加速的实现方法、装置、计算机设备及存储介质
CN114721600A (zh) * 2022-05-16 2022-07-08 北京得瑞领新科技有限公司 NVMe设备中软硬件协同的命令解析系统及方法
CN114721600B (zh) * 2022-05-16 2022-09-02 北京得瑞领新科技有限公司 NVMe设备中软硬件协同的命令解析系统及方法

Also Published As

Publication number Publication date
CN109918319B (zh) 2021-03-05

Similar Documents

Publication Publication Date Title
CN109918319A (zh) 一种固态硬盘控制器加速方法及其系统
CN106598878B (zh) 一种固态硬盘冷热数据分离方法
EP2115595B1 (en) Memory device performance enhancement through pre-erase mechanism
US10108545B2 (en) Operating shingled magnetic recording device
CN106469122B (zh) 有效数据合并方法、存储器控制器与存储器储存装置
US8762627B2 (en) Memory logical defragmentation during garbage collection
CN103080911B (zh) 存储器块的先占式垃圾回收
US10732838B2 (en) Logical grouping for hybrid dual write
US10014056B1 (en) Changing storage parameters
DE102012110692A1 (de) Datenspeichervorrichtung, die eine unterteilte Datei in verschiedenen Speichermedien speichert, sowie Datenverwaltungsverfahren
DE102008036822A1 (de) Verfahren zum Speichern von Daten in einem Solid-State-Speicher, Solid-State-Speichersystem und Computersystem
CN102521349A (zh) 一种文件预读方法
CN109710541B (zh) 针对NAND Flash主控芯片Greedy垃圾回收的优化方法
CN103744798A (zh) 固态硬盘的垃圾回收方法
US11086554B2 (en) Writing same data on a storage system
US11237979B2 (en) Method for management of multi-core solid state drive
US20180136840A1 (en) Storage operation queue
CN107797772A (zh) 一种基于闪存介质的垃圾回收系统及方法
WO2016123748A1 (zh) 一种闪存存储系统及其读写、删除方法
CN109558075B (zh) 一种利用数据冷热属性存储数据的方法及装置
CN107908358A (zh) 一种降低NVMe固态硬盘写放大的方法
CN106708416A (zh) 数据重建方法与系统及其存储器控制电路单元
CN110737404A (zh) 硬盘数据存储方法、装置及存储介质
CN105653466B (zh) 数据储存装置以及快闪存储器控制方法
CN103077118A (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
GR01 Patent grant
GR01 Patent grant