一种内存设备的访问方法、装置和系统制造方法及图纸

技术编号:17441827 阅读:21 留言:0更新日期:2018-03-10 14:28
本发明专利技术实施例提供了一种内存设备的访问方法、装置和系统,实现了对内存设备的异步访问。该系统包含内存控制器和内存设备,内存设备包含介质控制器、存储器和缓存器;介质控制器用于根据接收到的内存控制器的每个访问请求,将每个访问请求所请求的保存在存储器中的数据写入缓存器;内存控制器,用于在向介质控制器发送至少一个访问请求之后,向介质控制器发送查询请求,查询请求用于查询缓存器中是否有数据写入;介质控制器,还用于根据查询请求,确定缓存器中是否有数据写入,若确定缓存器中已有数据写入,向内存控制器发送缓存器中已写入的数据。

【技术实现步骤摘要】
一种内存设备的访问方法、装置和系统
本专利技术实施例涉及计算机领域,尤其涉及一种内存设备的方法访问方法、装置和系统。
技术介绍
内存系统是计算机系统中最重要的组成部分之一,而传统的内存系统使用同步双倍数据速率(DoubleDataRate,DDR)协议进行数据交互。同步DDR协议使用固定的读写延迟,而且访存的延迟、粒度、顺序都是固定的。因此同步DDR协议中只需要传输数据内容、请求地址等数据即可完成访存动作。随着不同内存介质的出现,同步DDR协议已经不能适应所有的内存介质,特别是混合内存系统。由于混合内存系统中不同的内存介质具有不同的访存延迟,使用固定延迟的DDR协议显然无法满足系统的要求。异步访存就是为了解决这一问题而使用的内存协议。在异步访存中,每次内存访问使用不同的访存延迟,因此不仅要传输数据内容和请求地址,还需要传输额外的延迟标识、访问粒度、请求标识等信息。而传输这些信息需要占用大量的总线带宽,会加大对内存系统的负荷。
技术实现思路
有鉴于此,本专利技术公开了一种内存设备的方法访问方法、装置和系统,以实现对内存设备的异步访问。第一方面,本申请提供了一种内存设备的访问系统,该系统包含内存控制器和内存设备,内存设备包含介质控制器、存储器和缓存器,介质控制器用于接收内存控制器的多个访问请求,以及将每个访问请求所请求的数据从存储器中读出并写入缓存器。内存控制器在向介质控制器发送至少一个访问请求之后,用于向介质控制器发送查询请求,查询请求用于查询缓存器中是否有数据写入,介质控制器用于根据查询请求,确定缓存器中是否有数据写入,在确定缓存器中已有数据写入的情况下,介质控制器还用于向内存控制器发送缓存器中已写入的数据。在内存设备的存储介质的访问时延不同的场景中,通过内存控制器向介质控制器主动发送查询请求,在不增加额外信号线的情况下,实现对内存设备的访问操作。介质控制器在接收到查询请求后,若确定缓存器中有数据写入,则介质控制器可以将查询请求当做一次对缓存器的读指令,并将缓存器中已写入的数据返回给内存控制器。结合第一方面,在第一方面第一种可能的实现方式中,介质控制器确定缓存器中已有数据写入之后,还用于向内存控制器发送应答消息,应答消息用于指示缓存器的数据写入状态为已有数据写入;内存控制器还用于根据应答消息触发读缓存器请求,并将读缓存器请求发送给介质控制器,读缓存器请求用于读取缓存器中已写入的数据;介质控制器还用于接收该读缓存器请求,并根据读缓存器请求读取缓存器中已写入的数据,并触发所述向所述内存控制器发送所述缓存器中写入的数据的操作。查询请求用于查询缓存器中是否有数据写入,内存控制器使用读缓存器请求实现对缓存器的读操作,从而可以进一步降低存储协议的复杂度。具体的,应答消息里可以携带缓存器中数据的多少,内存控制器可以根据缓存器中数据的多少触发读缓存器请求。例如,如果一次读缓存器只能读取固定大小的一份数据,若应答消息指示缓存器中当前有M份数据,则内存控制器可以触发M条读缓存器请求,其中,一份数据指一次访问请求可以请求的数据。结合第一方面或第一方面以上任一种可能的实现方式,在第一方面第二种可能的实现方式中,内存控制器具体用于按照预设的查询周期向介质控制器发送查询请求。更具体的,该预设的查询周期还可以根据内存控制器和内存设备之间互连的通道的忙碌程度进行动态调整,例如,当总线或通道比较忙碌时,可以增大预设的查询周期,从而减小查询请求的发送频率,减少对总线或者通道的占用;当总线或者通道比较空闲时,可以减少预设的查询周期,从而增大查询请求的发送频率,可以尽快的实现内存控制器对待访问数据的读取。结合第一方面或第一方面以上任一种可能的实现方式,在第一方面第三种可能的实现方式中,内存控制器发送的多个访问请求分为至少两种优先级,内存设备包含至少两个缓存器,每个缓存器对应一种优先级,访问请求的查询周期根据访问请求的优先级确定,不同优先级的访问请求对应不同的查询周期。计算机系统的访问请求可以分为多个优先级,可以通过在内存设备中设置多个缓存器的形式实现对不同优先级的访问请求的管理,每个缓存器对应一个优先级的访问请求。根据访问请求的优先级确定对应查询请求的查询周期,可以合理的折中数据的返回时间和对互联通道的占用之间的矛盾。对于优先级高的访问请求,发送查询请求的查询周期可以更小,从而保证重要数据优先返回给内存控制器。结合第一方面或第一方面以上任一种可能的实现方式,在第一方面第四种可能的实现方式中,内存控制器向介质控制器发送的查询请求中还携带缓存器的指示信息,缓存器的指示信息用于指示查询请求所查询的缓存器。内存控制器在查询特定缓存器的数据写入状态时,需要在查询请求中携带所查询的缓存器的指示信息。该指示消息可以具体为缓存器的地址信息,或者记录缓存器的数据写入状态的状态寄存器的地址信息等。结合第一方面或第一方面以上任一种可能的实现方式,在第一方面第五种可能的实现方式中,为了保证正常的数据通信,内存控制器向介质控制器发送查询请求之前,还用于确定内存控制器与介质控制器之间的互联通道处于空闲状态。在互联通道处于空闲的时候才发送查询请求,可以避免查询请求对其他正常的读写操作的影响。结合第一方面或第一方面以上任一种可能的实现方式,在第一方面第六种可能的实现方式中,内存设备还包含状态寄存器,状态寄存器用于记录缓存器的数据写入状态;当确定缓存器是否有数据写入时,介质控制器具体用于:读取状态寄存器记录的缓存器的数据写入状态,并根据所述缓存器的数据写入状态,确定缓存器中是否有数据写入。介质控制器将待访问数据写入缓存器后,会更新状态寄存器,并在读取出状态寄存器中数值后,对状态寄存器进行清零操作。结合第一方面或第一方面以上任一种可能的实现方式,在第一方面第七种可能的实现方式中,由于异步访存方式中,待访问数据返回可能存在乱序,介质控制器还用于在向内存控制器发送缓存器中写入的数据时,向内存控制器发送标识信息,标识信息用于指示发送的数据对应的访问请求。具体的,该标识信息可以为请求ID,可以在内存控制器发送的访问请求中携带请求ID,也可以在内存控制器和介质控制器两侧各维护一个同步的请求计数器,使用请求计数器的值表示请求ID。第二方面,本申请提供了一种内存设备的访问方法,内存设备包含介质控制器、存储器和缓存器,介质控制器用于接收内存控制器的多个访问请求,以及将每个访问请求所请求的数据从存储器中读出并写入缓存器,该方法包括:内存控制器向介质控制器发送至少一个访问请求;内存控制器向介质控制器发送查询请求,查询请求用于查询缓存器中是否有数据写入;内存控制器接收介质控制器发送的缓存器中已写入的数据。在内存设备的存储介质的访问时延不同的场景中,通过内存控制器向介质控制器主动发送查询请求,在不增加额外信号线的情况下,实现对内存设备的访问操作。且查询请求可以当做一次对缓存器的读指令,若缓存器中有数据写入,则内存控制器可以直接接收到介质控制器发送的缓存器中已写入的数据。结合第二方面,在第二方面第一种可能的实现方式中,内存控制器向介质控制器发送查询请求之后,该方法还包括:内存控制器接收来自介质控制器的应答消息,应答消息用于指示缓存器的数据写入状态为已有数据写入;内存控制器根据应答消息,向介质控制器发本文档来自技高网...
一种内存设备的访问方法、装置和系统

【技术保护点】
一种内存设备的访问系统,其特征在于,所述系统包含内存控制器和内存设备,所述内存设备包含介质控制器、存储器和缓存器;所述介质控制器,用于接收所述内存控制器的多个访问请求,以及将每个访问请求所请求的数据从所述存储器中读出并写入所述缓存器;所述内存控制器,在向所述介质控制器发送至少一个访问请求之后,用于向所述介质控制器发送查询请求,所述查询请求用于查询所述缓存器中是否有数据写入;所述介质控制器,还用于根据所述查询请求,确定所述缓存器中是否有数据写入,在所述缓存器中已有数据写入的情况下,还用于向所述内存控制器发送所述缓存器中已写入的数据。

【技术特征摘要】
1.一种内存设备的访问系统,其特征在于,所述系统包含内存控制器和内存设备,所述内存设备包含介质控制器、存储器和缓存器;所述介质控制器,用于接收所述内存控制器的多个访问请求,以及将每个访问请求所请求的数据从所述存储器中读出并写入所述缓存器;所述内存控制器,在向所述介质控制器发送至少一个访问请求之后,用于向所述介质控制器发送查询请求,所述查询请求用于查询所述缓存器中是否有数据写入;所述介质控制器,还用于根据所述查询请求,确定所述缓存器中是否有数据写入,在所述缓存器中已有数据写入的情况下,还用于向所述内存控制器发送所述缓存器中已写入的数据。2.根据权利要求1所述的系统,其特征在于,所述介质控制器确定所述缓存器中已有数据写入之后,还用于:向所述内存控制器发送应答消息,所述应答消息用于指示所述缓存器的数据写入状态为已有数据写入;则,所述内存控制器,还用于根据所述应答消息,向所述介质控制器发送读缓存器请求,所述读缓存器请求用于读取所述缓存器中已写入的数据;所述介质控制器,还用于接收所述内存控制器发送的所述读缓存器请求,根据所述读缓存器请求触发所述向所述内存控制器发送所述缓存器中已写入的数据的操作。3.根据权利要求1或2所述的系统,其特征在于,所述内存控制器具体用于:按照预设的查询周期向所述介质控制器发送所述查询请求。4.根据权利要求3所述的系统,其特征在于,所述内存控制器发送的多个访问请求包含至少两种优先级,所述内存设备包含至少两个缓存器,每个缓存器对应一种优先级;所述预设的查询周期根据所述访问请求的优先级确定,不同优先级的访问请求对应不同的查询周期。5.根据权利要求1-4任一项所述的系统,其特征在于,所述内存控制器向所述介质控制器发送的所述查询请求中还携带缓存器的指示信息,所述缓存器的指示信息用于指示所述查询请求所查询的缓存器。6.根据权利要求1或2所述的系统,其特征在于,所述内存控制器向所述介质控制器发送查询请求之前,还用于确定所述内存控制器与所述介质控制器之间的互联通道处于空闲状态。7.根据权利要求1-6任一项所述的系统,其特征在于,所述内存设备还包含状态寄存器,所述状态寄存器用于记录所述缓存器的数据写入状态;所述介质控制器具体用于:读取所述状态寄存器记录的所述缓存器的数据写入状态,并根据所述缓存器的数据写入状态,确定所述缓存器中是否有数据写入。8.根据权利要求1-7任一项所述的系统,其特征在于,所述介质控制器还用于在向所述内存控制器发送所述缓存器中写入的数据时,向所述内存控制器发送标识信息,所述标识信息用于指示所述发送的数据对应的访问请求。9.一种内存设备的访问方法,其特征在于,所述内存设备包含介质控制器、存储器和缓存器,所述介质控制器用于接收内存控制器的多个访问请求,以及将所述每个访问请求所请求的数据从所述存储器中读出并写入所述缓存器,所述方法包括:所述内存控制器向所述介质控制器发送至少一个访问请求;所述内存控制器向所述介质控制器发送查询请求,所述查询请求用于查询所述缓存器中是否有数据写入;所述内存控制器接收所述介质控制器发送的所述缓存器中已写入的数据。10.根据权利要求9所述的方法,其特征在于,所述内存控制器向所述介质控制器发送查询请求之后,所述方法还包括:所述内存控制器接收来自所述介质控制器的应答消息,所述应答消息用于指示所述缓存器的数据写入状态为已有数据写入;所述内存控制器根据所述应答消息,向所述介质控制器发送读缓存器请求,所述读缓存器请求用于读取所述缓存器中已写入的数据。11.根据权利要求9或10所述的方法,其特征在于,所述内存控制器向所述介质控制器发送查询请求包括:所述内存控制器按照预设的查询周期向所述介质控制器发送所述查询请求。12.根据权利要求11所述的方法,其特征在于,所述内存控制器发送的多个访问请求包含至少两种优先级,所述内存设备包含至少两个缓存器,每个缓存器对应一种优先级;所述预设的查询周期根据所述访问请求的优先级确定,不同优先级的访问请求对应不同的查询周期。13.根据权利要求9-12任一项所述的方法,其特征在于,所述内存控制器向所述介质控制器发送的所述查询请求中还携带缓存器的指示信息,所述缓存器的指示信息用于指示所述查询请求所查询的缓存器。14.根据权利要求9或10所述的方法,其特征在于,所述内存控制器向所述介质控制器发送查询请求之前,所述方法还包括:所述内存控制器确定所述内存控制器与所述介质控制器之间的互联通道处于空闲状态。15.根据权利要求9-14任一项所述的方法,其特征在于,所述方法还包括:所述内存控制器接收介质控制器发送的标识信息,所述标识信息用于指示所述接收的数据对应的访问请求。16.一种内存设备的访问方法,其特征在于,所述内存设备包含介质控制器、存储器和缓存器,所述介质控制器,用于接收所述内存控制器的多个访问请求,以及将每个访问请求所请求的数据从所述存储器中读出并写入所述缓存器,所述方法包括:所述介质控制器接收来...

【专利技术属性】
技术研发人员:卢天越阮元陈明宇陈少杰
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东,44

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

1