信息交换系统与方法技术方案

技术编号:33511531 阅读:11 留言:0更新日期:2022-05-19 01:20
本公开涉及信息交换系统与方法。信息交换方法由从机来执行,能节省从机的储存资源。方法包含:接收主机的提交队列尾端提醒,以得知在主机有X个SQ条目待处理,X不大于主机SQ条目上限;依据SQ尾端提醒执行多次读取操作,以从主机读取该X个SQ条目,其中在每次读取操作中,该从机从该主机读取至多Y个SQ条目,该Y小于该X,且不大于从机SQ条目上限,该从机SQ条目上限小于该主机SQ条目上限;准备P个完成队列条目;执行多次写入操作,以传送该P个CQ条目给该主机,在每次写入操作中,该从机传送至多Q个CQ条目给该主机,该Q小于该P,且不大于从机CQ条目上限;发送CQ尾端提醒给该主机,以告知该主机该从机完成写入该P个CQ条目。该从机完成写入该P个CQ条目。该从机完成写入该P个CQ条目。

【技术实现步骤摘要】
信息交换系统与方法


[0001]本专利技术涉及信息交换系统与方法,尤其涉及提交队列条目/完成队列条目的信息交换系统与方法。

技术介绍

[0002]图1显示一般的系统单芯片(SoC)100具有一到多个中央处理器(CPU)110,该/该些CPU 110的运行固件(后称固件)通过系统总线120调度与协调各个硬件130的功能以进行运算和处理流程,从而完成SoC 100的整体功能。
[0003]当固件和硬件的某个功能互动(interaction)时,硬件为了完成一次具体作业(task),需要来自固件的输入信息,该输入信息称为命令信息(command;cmd);硬件完成一次具体作业后,需回馈输出信息给固件,该输出信息称为完成信息(completion;cmpl)。图2显示基于非易失性内存快捷(Non-Volatile Memory Express;NVMe)协议的cmd与cmpl的互动形式,其中主机210的系统内存212储存cmd所形成的提交队列(submission queue;SQ)与cmpl所形成的完成队列(completion queue;CQ)。该互动模式采用消费者/生产者模型。详言之,对SQ而言,主机210是生产者,从机220是消费者;主机210藉由更新SQ的尾端提醒(tail doorbell)来通知从机220其已写入了几笔cmd;从机220藉由更新SQ的首端提醒(head doorbell)来通知主机210其已经取走了几笔cmd。另外,对CQ而言,从机220是生产者,主机210是消费者;从机220藉由更新CQ的尾端提醒来告知主机210其写入了几笔cmpl,主机210藉由更新CQ的首端提醒来通知从机220其已经处理了几笔cmpl。从机220内部的内存222会储存上述SQ的尾端提醒与SQ的首端提醒等等SQ信息,并储存上述CQ的尾端提醒与CQ的首端提醒等CQ信息。
[0004]通过前述NVMe协议的SQ/CQ的提醒(doorbell)所形成的握手机制,主机与从机的cmd/cmpl的互动可以实现。从机内部的cmd/cmpl的沟通方式如图3所示:从机220中,CPU 310的固件通过总线320访问内存222资源;固件经由总线320将cmd按递增顺序写进cmd队列指定的地址范围,然后藉由缓存器330的档案(register files)提供「指向下一笔写入的cmd的地址的指针(cmd_write_pointer)」给硬件340;硬件340根据该指针计算出未处理的cmd,并通过总线320从cmd队列取得未处理的cmd以执行;硬件340处理完cmd后,产生cmpl,并经由总线320将cmpl按递增顺序写进cmpl队列指定的地址范围,接着提供「指向下一笔写入的cmpl的地址的指针(cmpl_write_pointer)」给固件,固件再藉由缓存器330的档案得到最新的cmpl_write_pointer,以从cmpl队列中取得未处理的cmpl。
[0005]据上所述,从机220的内存222会储存cmd队列与cmpl队列。依据NVMe协议,主机210会认为从机220完全支持主机210的SQ队列与CQ队列内所有条目(entry);换言之,从机220的cmd队列与cmpl队列直观上应完全对应主机210的SQ队列与CQ队列,因此从机220中用来储存cmd队列与cmpl队列的内存应相当于主机210中用来储存SQ队列与CQ队列的内存。然而,考虑到从机220与主机210的硬件资源的不对等,从机220需要大量的硬件资源以完全支持主机端的SQ内所有条目。

技术实现思路

[0006]本公开的目的之一在于提供一种信息交换系统与方法,以作为先前技术的改良。
[0007]本公开的信息交换系统的一实施例包含一主机与一从机,其中:该主机准备X个提交队列(submission queue;SQ)条目(entries),该X为大于一的整数,且不大于一主机SQ条目上限;该主机发送一SQ尾端提醒(SQ tail doorbell)给该从机;该从机依据该SQ尾端提醒执行多次读取操作,以从该主机读取该X个SQ条目,其中于该多次读取操作的每一次读取操作中,该从机从该主机读取至多Y个SQ条目,该Y为小于该X的正整数,且不大于一从机SQ条目上限,该从机SQ条目上限小于该主机SQ条目上限;该从机准备P个完成队列(completion queue;CQ)条目,该P为大于一的整数;该从机执行多次写入操作,以传送该P个CQ条目给该主机,其中于该多次写入操作的每一次写入操作中,该从机传送至多Q个CQ条目给该主机,该Q为小于该P的正整数,且不大于一从机CQ条目上限;以及该从机发送一CQ尾端提醒(CQ tail doorbell)给该主机,以告知该主机该从机完成写入该P个CQ条目。
[0008]本公开的信息交换方法的一实施例是由一从机来执行,该实施例包含下列步骤(1)~(5):(1)接收来自一主机的一SQ尾端提醒(SQ tail doorbell),以得知在该主机有X个SQ条目待处理,该X为大于一的整数,且不大于一主机SQ条目上限;(2)依据该SQ尾端提醒执行多次读取操作,以从该主机读取该X个SQ条目,其中于该多次读取操作的每一次读取操作中,该从机从该主机读取至多Y个SQ条目,该Y为小于该X的正整数,且不大于一从机SQ条目上限,该从机SQ条目上限小于该主机SQ条目上限;(3)准备P个CQ条目,该P为大于一的整数;(4)执行多次写入操作,以传送该P个CQ条目给该主机,其中于该多次写入操作的每一次写入操作中,该从机传送至多Q个CQ条目给该主机,该Q为小于该P的正整数,且不大于一从机CQ条目上限;(5)以及发送一CQ尾端提醒给该主机,以告知该主机该从机完成写入该P个CQ条目。
[0009]本公开的信息交换方法的另一实施例是由一从机来执行,该实施例包含前述步骤(1)~(2)。本实施例可采用已知或自行开发的方式作为前述步骤(3)~(5)的替代,以交换CQ条目的信息。
[0010]本公开的信息交换方法的又一实施例是由一从机来执行,该实施例包含前述步骤(3)~(5)。本实施例可采用已知或自行开发的方式作为前述步骤(1)~(2)替代,以交换SQ条目的信息。
[0011]有关本专利技术的特征、实作与效果,配合图式作优选实施例详细说明如下。
附图说明
[0012]图1显示一般系统单芯片的架构;
[0013]图2显示基于NVMe协议的命令信息与完成信息的互动形式;
[0014]图3显示从机内部的命令信息/完成信息的沟通方式;
[0015]图4显示本公开的信息交换系统的一实施例;
[0016]图5a显示主机与从机进行提交队列条目的信息交换的示意图;
[0017]图5b显示主机与从机进行完成队列条目的信息交换的示意图;
[0018]图6显示本公开的信息交换方法的一实施例;
[0019]图7显示本公开的信息交换方法的另一实施例;以及
[0020]图8显示本公开的信息交换方法的又一实施例。
具体实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种信息交换系统,包含一主机与一从机,其中:该主机准备X个提交队列条目,该X为大于一的整数,且不大于一主机提交队列条目上限;该主机发送一提交队列尾端提醒给该从机;该从机依据该提交队列尾端提醒执行多次读取操作,以从该主机读取该X个提交队列条目,其中在该多次读取操作的每一次读取操作中,该从机从该主机读取至多Y个提交队列条目,该Y为小于该X的正整数,且不大于一从机提交队列条目上限,该从机提交队列条目上限小于该主机提交队列条目上限;该从机准备P个完成队列条目,该P为大于一的整数;该从机执行多次写入操作,以传送该P个完成队列条目给该主机,其中在该多次写入操作的每一次写入操作中,该从机传送至多Q个完成队列条目给该主机,该Q为小于该P的正整数,且不大于一从机完成队列条目上限;以及该从机发送一完成队列尾端提醒给该主机,以告知该主机该从机完成写入该P个完成队列条目。2.根据权利要求1的信息交换系统,其中,该P个完成队列条目包含一提交队列首端提醒信息,该提交队列首端提醒信息用来告知该主机该从机完成读取该X个提交队列条目。3.根据权利要求1的信息交换系统,其中,该从机完成队列条目上限小于一主机完成队列条目上限,该主机完成队列条目上限表示该主机在单一次写入操作中处理完成队列条目的上限。4.根据权利要求1的信息交换系统,其中,该从机使用硬件与固件来执行该多次读取操作以及该多次写入操作,该硬件与该主机进行信息交换,该固件处理该X个提交队列条目以及准备该P个完成队列条目。5.根据权利要求1的信息交换系统,其中,该主机与该从机之间的传输是基于非易失性内存快捷协议。6.根据权利要求5的信息交换系统,其中,该从机完成队列条目上限小于一主机完成队列条目上限,该主机完成队列条目上限表示该主机在单一次写入操作中完成队列条目的上限,该主机依据该非易失性内存快捷协议预期该从机提交队列条目上限等于该主机提交队列条目上限,以及预期该从机完成队列条目上限等于该主机完成队列条目上限。7.一种信息交换方法,是由一从机来执行,该方...

【专利技术属性】
技术研发人员:赵诗尧王道富荆永鹏
申请(专利权)人:瑞昱半导体股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1