一种硬件加速器转让专利
申请号 : CN201911060807.3
文献号 : CN112764669B
文献日 : 2021-12-21
发明人 : 陈博
申请人 : 北京忆芯科技有限公司
摘要 :
权利要求 :
1.一种硬件加速器,其特征在于,包括:命令管理器、读写处理器、缓冲存储器,其中,所述命令管理器判断从主机获取的读命令或写命令是否符合主机与存储设备之间的协议,以及向CPU组发送符合所述协议的第一命令,所述第一命令为读命令或写命令,所述CPU组包括至少一个CPU;
所述读写处理器根据第一信息获取数据索引,以及,指示数据搬移单元获取与所述第一命令对应的读/写数据,其中,所述第一信息为所述CPU组从所述第一命令中获取的,所述第一信息包括所述数据索引或用于获取所述数据索引的信息,若所述第一命令为读命令,所述读/写数据包括所述数据搬移单元从动态随机存取存储器DRAM中获取的第一数据;
所述缓冲存储器缓存所述数据索引。
2.如权利要求1所述的硬件加速器,其特征在于,若所述第一命令为写命令,所述读/写数据包括所述数据搬移单元按照所述数据索引从主机中获取的第二数据。
3.如权利要求1或2所述的硬件加速器,其特征在于,所述读写处理器接收介质接口控制器发送的标签信息,所述标签信息用于表征所述介质接口控制器将所述第一数据从NVM中读取到所述DRAM已完成,所述标签信息包括与所述第一命令对应的标识信息;
所述读写处理器指示所述数据搬移单元根据所述标识信息从所述DRAM中获取所述第一数据,并根据所述数据索引向主机发送所述第一数据。
4.如权利要求3所述的硬件加速器,其特征在于,所述标签信息为所述介质接口控制器在所述第一数据存储到所述DRAM之后,向所述读写处理器反馈的。
5.如权利要求3所述的硬件加速器,其特征在于,若所述第一命令为读命令,所述读写处理器记录所述第一数据的数据长度,其中,所述第一数据的数据长度为所述读写处理器根据所述第一信息获取的;
响应于所述标签信息,所述读写处理器根据所述标签信息记录为所述第一命令已向所述主机发送的数据的长度;
所述读写处理器响应于所述第一命令要读取的数据的长度等于为所述第一命令已向所述主机发送的数据的长度,而向所述主机发送用于表征读命令处理完成的状态信息。
6.如权利要求3所述的硬件加速器,其特征在于,若所述第一命令为读命令,所述读写处理器记录所述第一命令要读取的数据长度;
所述读写处理器响应于收到所述标签信息,根据所述标签信息记录为所述第一命令已读取到所述DRAM的数据的长度;
所述读写处理器响应于所述第一命令要读取的数据的长度等于为所述第一命令已读取到所述DRAM的数据的长度,而指示所述数据搬移单元根据所述标识信息从所述DRAM中获取为所述第一命令已读取的数据,并向主机发送用于表征读命令处理完成的状态信息。
7.如权利要求2所述的硬件加速器,其特征在于,若所述第一命令为写命令,所述读写处理器在所述缓冲存储器获取到所述数据索引之后,指示所述数据搬移单元从与所述数据索引对应的主机地址中获取所述第二数据,并向介质接口控制器发送所述第二数据。
8.如权利要求7 所述的硬件加速器,其特征在于,所述读写处理器为所述第二数据分配所述DRAM的存储空间,并向所述介质接口控制器指示所分配的存储空间,以控制NVM存储所述第二数据。
9.如权利要求2 所述的硬件加速器,其特征在于,所述硬件加速器还包括至少两个缓存单元,在所述数据搬移单元从主机获取第二数据或向主机发送第一数据的过程中,所述至少两个缓存单元采用乒乓方式缓存第一数据或第二数据。
10.如权利要求7 所述的硬件加速器,其特征在于,所述读写处理器响应于所述第二数据传输到所述介质接口控制器,向所述主机发送用于表征写命令处理完成的状态信息。
说明书 :
一种硬件加速器
技术领域
背景技术
通过例如SATA(Serial Advanced Technology Attachment,串行高级技术附件)、SCSI
(Small Computer System Interface,小型计算机系统接口)、SAS(Serial Attached
SCSI,串行连接SCSI)、IDE (Integrated Drive Electronics,集成驱动器电子)、USB
(Universal Serial Bus,通用串行总线)、PCIE(Peripheral Component Interconnect
Express,PCIe,高速外围组件互联)、NVMe(NVM Express,高速非易失存储)、以太网、光纤通
道、无线通信网络等连接主机与固态存储设备100。主机可以是能够通过上述方式同存储设
备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换
机、路由器、蜂窝电话、个人数字助理等。存储设备100包括接口120、控制部件140、一个或多
个NVM芯片 130以及DRAM(Dynamic Random Access Memory,动态随机访问存储器) 110。
Memory,阻变存储器)、XPoint存储器等是常见的NVM。
通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件140可以是FPGA(Field‑
programmable gate array,现场可编程门阵列)、ASIC(Application Specific
Integrated Circuit,应用专用集成电路)或者其组合的形式。控制部件140也可以包括处
理器或者控制器,在处理器或控制器中执行软件来操纵控制部件140的硬件来处理IO
(Input/Output)命令。控制部件140还可以耦合到DRAM 110,并可访问 DRAM 110的数据。在
DRAM可存储FTL表和/或缓存的IO命令的数据。
发出命令,以操作NVM芯片130,并接收从NVM芯片130输出的命令执行结果。已知的NVM芯片
接口协议包括“Toggle”、“ONFI”等。
调度方法与装置,中国专利申请CN 201611213754.0提供了IO命令处理方法与固态存储设
备,中国专利申请CN 201611213755.5提供了大容量NVM接口控制器,将其全文合并于此。
不同规模的NVM芯片。将其全文合并于此。
备的存储空间。物理地址是用于访问固态存储设备的物理存储单元的地址。在相关技术中
还可利用中间地址形态实施地址映射。例如将逻辑地址映射为中间地址,进而将中间地址
进一步映射为物理地址。这些情况下,存储设备所接收的读/写命令指示逻辑地址。
射关系。
FTL。这些情况下,存储设备所接收的读/写命令指示物理地址。
辑地址空间大小切分命令),并处理改变形态的命令。为了清楚的目的,在本文中,以存储设
备接收的读/写命令访问单一FTL 条目为例来描述。
ErrorCorrectionCode)编码,并将编码得到的校验数据同数据一同写入NVM芯片。在从NVM
芯片读出数据时,对读出的数据(连同校验数据)实施ECC解码以得到正确的数据。当数据中
的错误比特较多,实施ECC解码无法得到正确的数据。可选地,存储设备的控制部件还采取
其他一些数据校正的措施(例如,重读(Read‑Retry),RAID数据重建等)以尝试恢复正确的
数据。依然存在一些情况,采用了多种或所有数据校验措施依然无法得到正确的数据,将这
种情况称为发生了UECC(不可纠正错误, uncorrectable error correction code)。
发明内容
写命令是否符合主机与存储设备之间的协议,以及向 CPU组发送符合所述协议的第一命
令,所述第一命令为读命令或写命令,所述CPU组包括至少一个CPU;所述读写处理器根据第
一信息获取数据索引,以及,指示数据搬移单元获取与所述第一命令对应的读/写数据,其
中,所述第一信息为所述CPU组从所述第一命令中获取的,所述第一信息包括所述数据索引
或用于获取所述数据索引的信息,若所述第一命令为读命令,所述读/ 写数据包括所述数
据搬移单元从动态随机存取存储器DRAM中获取的第一数据;所述缓冲存储器缓存所述数据
索引。
据索引从主机中获取的第二数据。
用于表征所述介质接口控制器将所述第一数据从NVM 中读取到所述DRAM已完成,所述标签
信息包括与所述第一命令对应的标识信息;所述读写处理器指示所述数据搬移单元根据所
述标识信息从所述 DRAM中获取所述第一数据、并根据所述数据索引向主机发送所述第一
数据。
向所述读写处理器反馈的。
中,所述第一数据的数据长度为所述读写处理器根据所述第一信息获取的;响应于所述标
签信息,所述读写处理器根据所述标签信息记录为所述第一命令已向所述主机发送的数据
的长度;所述读写处理器响应于所述第一命令要读取的数据的长度等于为所述第一命令已
向所述主机发送的数据的长度,而向所述主机发送用于表征读命令处理完成的状态信息。
长度;所述读写处理器响应于收到所述标签信息,根据所述标签信息记录为所述第一命令
已读取到所述DRAM的数据的长度;所述读写处理器响应于所述第一命令要读取的数据的长
度等于为所述第一命令已读取到所述DRAM的数据的长度,而指示所述数据搬移单元根据所
述标识信息从所述DRAM中获取为所述第一命令已读取的数据,并向主机发送用于表征读命
令处理完成的状态信息。
据索引之后,指示所述数据搬移单元从与所述数据索引对应的主机地址中获取所述第二数
据,并向介质接口控制器发送所述第二数据。
口控制器指示所分配的存储空间,以控制所述NVM 存储所述第二数据。
从主机获取第二数据或向主机发送第一数据时的过程中,所述至少两个缓存单元采用乒乓
方式缓存第一数据或第二数据。
器,向所述主机发送用于表征写命令处理完成的状态信息。
的第一数据解密或者对缓存单元中的第二数据加密。
前,所述命令管理器获取所述主机发送的第二命令,所述第二命令为读命令、写命令或除读
命令和写命令之外的其它命令;判断所述第二命令是否为读命令或写命令。
向所述主机发送指示命令错误的响应信息。
述CPU组以及所述介质接口控制器耦合,所述CPU组与所述介质接口控制器耦合;其中,所述
硬件加速器从所述NVMe 控制器中获取读命令或写命令,所述硬件加速器向所述CPU组发送
符合主机与存储设备之间的协议的第一命令,所述第一命令为读命令或写命令;所述CPU组
从所述第一命令中获取第一信息,并向所述硬件加速器指示所述第一信息,所述第一信息
包括数据索引或用于获取所述数据索引的信息,所述数据索引用于获取第一数据或第二数
据;所述介质接口控制器根据所述硬件加速器的指示,从NVM芯片中读取出所述第一数据或
将所述第二数据写入所述NVM芯片,所述硬件加速器的指示为所述硬件加速器根据所述第
一信息做出的。
接收到的命令或者发送指示信息,所述指示信息用于指示所述硬件加速器从所述NVMe控制
器中抓取读命令或写命令。
示,从所述NVM芯片中读取出所述第一数据,并将所述第一数据存储至与所述控制部件耦合
的DRAM。
示,从与所述控制部件耦合的DRAM中读取出所述第二数据,并将所述第二数据写入所述NVM
芯片。
所述第一数据从所述DRAM中搬移到主机。
主机搬运至所述DRAM。
和所述介质接口控制器指示所述存储空间。
所述逻辑地址访问闪存转换层,以获取与所述逻辑地址对应的物理地址;所述CPU组向所述
介质接口控制器指示所述物理地址,以使所述介质接口控制器根据所述物理地址从所述
NVM芯片中读取出所述第一数据。
述NVM芯片的物理地址读出所述第一数据;以及
于表征所述介质接口控制器接收所述第二数据已完成,所述第二标签信息包括与写命令对
应的标识信息;所述介质接口控制器接收所述CPU组提供的第三信息,所述第三信息指示将
所述第二数据写入所述 NVM芯片的物理地址;以及所述介质接口控制器向所述CPU组提供
第四信息,所述第四信息指示所述第二数据已被写入所述NVM芯片。
述CPU组响应于收到所述介质接口控制器提供的所述第四信息,根据所述第四信息记录为
所述第一命令已写入所述NVM芯片的数据的长度;所述CPU响应于所述第一命令要写入的数
据的长度等于为所述第一命令已写入所述NVM芯片的长度,而获知所述第一命令已处理完
成。
一数据解密或者对所述第二数据加密。
的数据长度为所述硬件加速器根据所述第一信息获取的;响应于所述标签信息,所述硬件
加速器根据所述标签信息记录为所述第一命令已向所述主机发送的数据的长度;所述硬件
加速器响应于所述第一命令要读取的数据的长度等于为所述第一命令已向所述主机发送
的数据的长度,而向所述主机发送用于表征读命令处理完成的状态信息。
取的数据长度;所述硬件加速器响应于收到所述标签信息,根据所述标签信息记录为所述
第一命令已存储到所述DRAM的数据的长度。
已存储到所述DRAM的数据的长度,而指示所述NVMe 控制器根据所述标识信息从所述DRAM
中获取为所述第一命令已读取的数据。
DRAM,而指示所述NVMe控制器根据所述标识信息从所述DRAM中获取为所述第一命令已读取
的数据。
控制器向主机发送用于表征读命令处理完成的状态信息。
速器之一。
附图说明
申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他
的附图。
具体实施方式
中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都
属于本申请保护的范围。
含”、“具有”和“包括”是同义的。短语“A和/或B”表示(A)、(B)或(A和B)。短语“A/B”和“A或B”
表示(A)或(B)。短语“A和B中的至少一个”表示(A)、(B)或(A 和B)。
CPU组142和图1A中的接口120 耦合。例如,NVMe控制器141从接口120接收主机发送第一读
命令。NVMe 控制器141与CPU组142耦合。例如,NVMe控制器141将接收到第一写命令,转换为
适用于CPU处理的数据格式的第二写命令,并向CPU组142发送第二写命令。CPU组142与介质
接口控制器143耦合。例如,CPU组142 接收到第二写命令,根据第二写命令操作介质接口控
制器143向闪存芯片写入数据。
读操作或者写操作,但CPU组142操作介质接口控制器143需要较多的操作,并增加了CPU组
142的负荷,影响处理速度。
2所示,NVMe控制器210与硬件加速器220耦合,硬件加速器220分别与CPU组230和介质接口
控制器240耦合, CPU组230与介质接口控制器240耦合。CPU组230包括一个或多个CPU 核。
加速器220接收到该提示信息,则主动从 NVMe控制器210中获取该读命令。
据格式是否符合NVMe协议的规定。又如,判断该读命令的数据格式是否符合AHCI协议的规
定。
址对应的物理地址,并且CPU组230还根据有效信息指示硬件加速器220记录主机地址或根
据指向该主机地址的第二索引信息从主机获取主机地址。本实施例中,有效信息包括待读
取的数据的逻辑地址、用于存储读取出的数据的主机地址、指向该逻辑地址的第一索引信
息和指向该主机地址的第二索引信息中的至少二者。
小于读命令。例如,硬件加速器220获取到的读命令的长度为80比特,有效信息的长度为64
比特。该有效信息包括:待读取的数据的逻辑地址、用于存储读取出的数据的主机地址、指
向该逻辑地址的第一索引信息和指向该主机地址的第二索引信息中的至少二者。例如,在
待读取的数据长度很短或逻辑地址连续时,有效信息包括待读取的数据的逻辑地址和用于
存储读取出的数据的主机地址。又如,在待读取的数据长度很长或离散存储时,有效信息包
括指向该逻辑地址的第一索引信息和指向该主机地址的第二索引信息。
据指向该主机地址的第二索引信息从主机获取主机地址。
从主机中获取该主机地址,并通过总线向DRAM发送主机地址。
出物理地址中存储的数据,并将该数据存放至 DRAM中。介质接口控制器240在将待读取的
数据均存放至DRAM之后,向硬件加速器220反馈读数据完成信息,用于通知硬件加速器220
可以将数据传输至主机。该读数据完成信息包括命令标识,命令标识用于区别不同命令对
应的数据。
而介质接口控制器240开始从NVM中读取第一数据,并将读取出的第一数据存储到DRAM中。
例如,第一数据的大小是20KB,介质接口控制器240每次读取4KB,则共需要进行5次读取,以
及将第一数据分成5次存入DRAM。
NVM芯片读出的数据存储到第二消息所指示的缓存单元。介质接口控制器将还将读数据完
成信息提供给硬件加速器。
存单元管理器管理缓存单元,并用可用的缓存单元承载从介质接口控制器接收的响应于第
二消息而从NVM芯片读出的数据,以及缓存单元管理器还将读数据完成信息提供给硬件加
速器。读数据完成信息指示承载了读出数据的缓存单元的索引。
标识对应的数据搬运到同主机地址对应的存储空间中。例如,在第一数据完整的存储至
DRAM之后,介质接口控制器240向硬件加速器220发送标签信息,该标签信息与包括与读命
令对应的标识信息,从而硬件加速器220根据该标识信息指示NVMe控制器210从 DRAM中获
取第一数据,以及将第一数据搬移到主机。
数据时要进行AES处理,则由硬件加速器220提供存储空间来缓存AES处理过程中产生的数
据。
加速器220接收到该提示信息,则主动从 NVMe控制器210中抓取该写命令。
据格式是否符合NVMe协议的规定。主机和存储设备之间的协议包括NVMe协议、AHCI协议等。
效信息包括:待写入的数据的主机地址或指向该主机地址的第三索引信息、以及命令标识。
小于写命令。例如,硬件减速器220获取到的写命令的长度为64比特,有效信息的长度为32
比特。该有效信息包括:待写入的数据的主机地址或指向该主机地址的第三索引信息、以及
命令标识。例如,待写入的数据长度很长或主机地址数量太多,则有效命令包括第三索引信
息和命令标识。本实施例中的命令标识与该写命令对应的待写入数据对应,例如,NVMe控制
器210中同时处理3个写命令,每个写命令对应于一个命令标识,从而能够区分3个写命令对
应的待写入数据。
后,通过与硬件加速器220耦合的接口,从主机中获取该主机地址,并通过NVMe控制器210根
据主机地址获取对应数据,并将该数据搬运至DRAM。硬件加速器220在将与命令标识对应的
数据全部搬运至DRAM之后,向主机反馈表征写命令完成的完成信息。主机接收到该完成信
息后,对于主机该写命令的处理就已经完成。硬件加速器220也向CPU 组230反馈表征写命
令完成的完成信息。
址获取的数据存储到所分配的缓存单元。
缓存单元,并用可用的缓存单元承载从硬件加速器 220接收的从主机地址获取的数据。缓
存管理单元将从主机地址获取的数据存储到缓存单元后,还将数据传输完成信息提供给硬
件加速器。数据传输完成信息指示承载了从主机地址获取的数据的缓存单元的索引。
加速器220发送的表征数据传输完成的信息之后,将写命令待写入的数据在DRAM中的位置
和分配的物理地址发送给介质接口控制器240。
控制器240将数据搬运至DRAM。或者,硬件加速器220接收到第三索引信息后,通过与硬件加
速器220耦合的接口,从主机中获取该主机地址,并通过NVMe控制器210从主机地址中读取
与命令标识对应数据,并将该数据发送给介质接口控制器240,由介质接口控制器 240将数
据搬运至DRAM。硬件加速器220在将与命令标识对应的数据全部发送给介质接口控制器240
之后,向主机反馈表征写命令完成的完成信息。硬件加速器220将数据搬运至介质接口控制
器240之后,向介质接口控制器 240发送启动写操作的指示信息,以及通知CPU组230数据传
输完成。
逻辑地址和物理地址之间的对应关系。
硬件加速器220提供存储空间来缓存AES 处理过程中产生的数据。
器。如图3所示,本申请实施例二提供了硬件加速器300,包括:命令处理器310、读写处理器
320和缓冲存储器330。命令处理器310 与读写处理器320耦合,读写处理器320和缓冲存储
器330耦合。
图4中给出了控制部件400的一种可能的结构。下面以图4中的控制部件400的结构为例,对
硬件加速器300进行介绍。CPU 组430包括至少一个CPU,例如,图4中CPU组430包括2个CPU,
分别是CPU核1和CPU核2。CPU组430还可以包括两个以上的CPU,可根据实际需求选择CPU的
数量,在此并不做限定。
(PhysicalRegionPage,PRP)列表、分散收集列表(ScatterGatherList, SGL)、数据在主机
中的主机地址、数据在DRAM中的地址等。用于获取该数据索引的信息包括指向数据索引的
指针,例如,第一信息包括指向数据索引的指针,读写处理器320通过该指针访问到数据索
引所在的存储空间,从而获取到该数据索引。读写处理器320还会将数据索引存放至缓冲存
储器330 中。
问的逻辑地址范围分割为多个逻辑地址,并从FTL 获得多个对应的物理地址。
给介质接口控制器440以及介质接口控制器440 从NVM芯片读出数据的过程,同读写处理器
320获取数据索引的操作被并发处理。
物理地址而从NVM芯片读出的数据存储到所分配的缓存单元。介质接口控制器440将还将读
数据完成信息提供给读写管理器320,而不是提供给CPU组430。读数据完成信息指示承载了
读出数据的缓存单元的索引。
事先分配缓存单元的过程。缓存单元管理器管理缓存单元,并用可用的缓存单元承载从介
质接口控制器440接收的从NVM 芯片读出的数据,以及缓存单元管理器还将读数据完成信
息提供给读写管理器320,而不是提供给CPU组430。
长度,并根据接收到的一个或多个读数据完成消息识别为该读命令已经从NVM芯片读出并
搬移到DRAM 50的数据长度,从而通过识别读命令要读取的数据长度同已经从NVM芯片读出
并搬移到 DRAM 50的数据长度来确定读命令要读取的数据已被全部从NVM芯片读出并存储
到DRAM 50。
命令要读取的数据(也称为“读数据”)搬移到由数据索引所指示的主机地址。
据搬移单元是NVMe控制器410内的DMA引擎(直接存储器存取,DirectMemoryAccess)。数据
搬移单元除了嵌入在NVMe 控制器410内,还可以采用独立于NVMe控制器410的数据搬移单
元,在此不做限定。由于第一命令是读命令,读数据是数据搬移单元根据读数据完成信息指
示的承载了读出数据的缓存单元的索引从DRAM中获取的数据,并将获取的数据搬移到数据
索引所指示的主机索引。
从而通过识别读命令要读取的数据长度同已经从 DRAM 50读出并搬移到主机的数据长度
来确定读命令要读取的数据已被全部搬移到主机。继而,读写管理器320通过NVMe控制器
410向主机指示读命令处理完成。
读写管理器320将读数据搬移到主机。
一命令对应的标识信息;读写处理器320指示数据搬移单元根据标识信息从DRAM中获取第
一数据、并根据数据索引向主机发送第一数据。
口控制器440会向读写处理器320反馈标签信息。例如,第一数据长度为10K,介质接口控制
器440每次传输4K,则共需要3 次才能完成将第一数据传输到DRAM中的操作。在每次传输4K
的数据到 DRAM之后,介质接口控制器440都会向读写处理器320发送一个标签信息,以告知
读写处理器320当前已经传输的数据的长度。从而读写处理器320接收到标签信息,就知晓
第一数据已经从闪存芯片中读取到了DRAM中,从而读写处理器320继续将第一数据从DRAM
中搬移到主机中。例如,读写处理器320将标识信息和主机地址指示给数据搬移单元,并指
示数据搬移单元开始数据搬运,从而数据搬移单元根据该标识信息从DRAM存储的所有数据
中获取到第一数据,通过主机地址访问主机,并将第一数据存放到该主机地址对应的存储
空间内。
数据的长度;读写处理器320响应于第一命令要读取的数据的长度等于为第一命令已向主
机发送的数据的长度,而向主机发送用于表征读命令处理完成的状态信息。
较,来判断第一数据是否完成发送,从而能够简单而快速的判断出第一数据的发送状态。例
如,第一数据的数据长度为4KB,在T1时刻,记录的已发送的数据长度为3KB,则T1时刻没有
完成数据发送,而在T2时刻,记录的已发送的数据长度变更为4KB,则判断出T2时刻完后数
据发送,并向主机发送用于表征读命令处理完成的状态信息。
读写处理器320发送该第一信息,读写处理器 320将数据索引存放至缓冲存储器330中。
数据是待写入闪存芯片的数据。
主机地址获取的数据存储到所分配的缓存单元。
CPU组430分配缓存单元,减少了占用的CPU 资源,加快了处理速度。
管理缓存单元,并用可用的缓存单元承载从读写处理器320接收的从主机地址获取的数据。
缓存管理单元将从主机地址获取的数据存储到缓存单元后,还将数据传输完成信息提供给
读写处理器320。数据传输完成信息指示承载了从主机地址获取的数据的缓存单元的索引。
口控制器440,而无须事先分配缓存单元的过程。介质接口控制器440将从主机地址获取的
数据存储到缓存单元后,还将数据传输完成信息提供给读写处理器320。
数据的长度。从而通过识别写命令要写入的数据长度同已经从主机搬移的数据长度来确定
写命令要写入的数据已被全部从主机搬移到存储设备。继而,读写管理器320通过NVMe控制
器410向主机指示写命令处理完成。读写管理器320还将表征写命令的数据传输完成的信息
提供给CPU组430。
命令获取的数据索引,也关联于表征写命令的数据传输完成的信息。
理器320发送的表征数据传输完成的信息之后,将写命令待写入的数据在DRAM 50中的位置
和分配的物理地址发送给介质接口控制器440。
片,而向读写处理器320发送标签消息,标签消息作为表征写命令的数据传输完成的信息。
或多个标签消息识别为该写命令已经写入NVM 芯片的数据长度,从而通过识别写命令要读
取的数据长度同已经写入NVM 芯片0的数据长度来确定写命令要写入的数据已被全部写入
NVM芯片。
据或读数据。本申请中,硬件加速器可以设置一个及以上的缓存单元,在设置至少两个缓存
单元时,采用乒乓方式来缓存写数据或读数据可以有效地加快数据传输速度。
数据进行加密。例如,安全单元对第一数据进行AES 解密处理。
是否为读命令或写命令。
盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。