传输数据掩码的方法、内存控制器、内存芯片和计算机系统技术方案

技术编号:23164811 阅读:94 留言:0更新日期:2020-01-21 22:37
本申请提供了一种传输数据掩码的方法、内存控制器、内存芯片和计算机系统,该方法包括内存控制器向内存芯片发送第一写命令,该第一写命令中包含有第一指示信息,该第一指示信息用于指示待写入的数据块中具有掩码数据块,该待写入的数据块的个数为N,N为大于或等于2的整数;该内存控制器根据该第一写命令向该内存芯片发送N个数据块,其中,该N个数据块中的一个数据块为第一DM信息块,该第一DM信息块用于指示该待写入的数据块中的掩码数据块的位置,该N个数据块包括该待写入的数据块中的非掩码数据块。本申请实施例实现了在不增加管脚的情况DM的传输。

Methods of transferring data mask, memory controller, memory chip and computer system

【技术实现步骤摘要】
【国外来华专利技术】传输数据掩码的方法、内存控制器、内存芯片和计算机系统
本申请涉及计算机领域,并且更具体地,涉及传输数据掩码的方法、内存芯片和计算机系统。
技术介绍
现有的计算机内存中最常用的存储介质是动态随机存取存储器(dynamic random access memory,DRAM)。计算机的内存常采用双列直插式存储模块(dual inline memory modules,DIMM)的形式,内存控制器和DIMM之间一般通过双倍速率(double data rate,DDR)总线相连。内存控制器可以通过内存控制器和DIMM之间的DDR总线对DRAM中的数据进行访问。DDR的DRAM内存芯片通常具有数据掩码(data mask,DM)管脚,DM管脚用来表示当前周期的写数据是否是被掩码(masked)。例如DDR4标准中就具有DM_n管脚,在DM_n管脚为低的时候表示当前和DM_n管脚同一时刻采样的数据是无效的。然而,×4DRAM(即DRAM芯片的位宽为4位)并不具有DM功能。×4DRAM组成的DIMM容量高,通常用在对性能要求高的服务器场合,如果能有办法在不增加管脚的前提下解决×4DRAM的DM传输,将会有利于提高服务器的性能。因此,如何在不增加管脚的前提下实现DM的传输,成为亟待解决的问题。
技术实现思路
本申请提供一种传输数据掩码的方法、内存控制器、内存芯片和计算机系统,能够在不增加管脚的前提下实现DM的传输。第一方面,提供了一种一种传输数据掩码DM的方法,该方法包括:内存控制器向内存芯片发送第一写命令,该第一写命令中包含有第一指示信息,该第一指示信息用于指示待写入的数据块中具有掩码数据块,该待写入的数据块的个数为N,N为大于或等于2的整数;该内存控制器根据该第一写命令向该内存芯片发送N个数据块,其中,该N个数据块中的一个数据块为第一DM信息块,该第一DM信息块用于指示该待写入的数据块中的掩码数据块的位置,该N个数据块包括该待写入的数据块中的非掩码数据块。因此,本申请实施例通过将传输的N个数据块中的一个数据块作为DM信息块,在不增加管脚的情况下实现了DM的传输,并且该N个数据块中包括有待写入数据块中的非掩码数据块,能够保证有用数据的传输的基础上,实现在不增加传输的数据量的情况下DM的传输,能够避免了额外的传输时间,节省传输资源。应理解,本申请实施例中,该第一DM信息块可以包括N个比特的DM信息,其中该N个比特与N个待写入的数据块具有一一对应关系。也就是说DM信息中的每个比特对应一个待写入的数据块(也可以称为原始数据块)。通过第一DM信息,内存控制器可以通知内存芯片N个待写入的数据块中哪些为掩码数据块,哪些为非掩码数据块,例如,在待写入的数据块对应的比特为0时,可以表示该待写入的数据块为非掩码数据块,在待写入的数据块对应的比特为1时,可以表示该待写入的数据块为掩码数据块。应理解,第一DM信息块可以为发送的N个数据块中的任意一个数据块,本申请实施例并不对此做限定。应理解,本申请实施例中该内存芯片可以包括DRAM芯片、相变存储器(Phase change memory,PCM)芯片或阻变存储器(resistive random access memory,RRAM)芯片等,本申请实施例并不限于此。可选地,在第一方面的一种实现方式中,该第一DM信息块为该N个数据块中的第一个数据块。本申请实施例中,通过在第一个数据块传输DM信息,使得内存芯片根据该DM信息能够知道后续接收到的数据块是否是掩码块,这样,在接收到数据块后,如果该数据块为非掩码数据块,该内存芯片可以直接将该非掩码数据块写入该内存芯片的存储介质中,无需等待其他数据块的接收,能够提升写效率。应理解,本申请实施例中,存储介质也可以称为存储阵列,本申请实施例并不限于此。可选地,在第一方面的一种实现方式中,该待写入的数据块中的首个掩码数据块为第n个数据块,n为大于0且小于等于N的整数;该N个数据块中的第2至第n个数据块为该待写入的数据块中的第1至第n-1个数据块,该N个数据块中的第n+1至第N个数据块为该待写入的数据块中的第n+1至第N个数据块。也就是说,内存控制器向内存芯片发送的N个数据块中不包括N个待写入的数据块中的第一个掩码数据块,该N个数据块包括第一DM信息块和N个待写入的数据块中除第一个掩码数据块之外的所有数据块。应理解,本申请实施例中待写入数据块也可以称为原始数据块,N个待写入数据块可以称为N个原始数据块,该N个原始数据块中不包括DM信息块。N个待写入的数据块与内存控制器发送的N个数据块(实际传输的数据块)不同,发送的N个数据块中包括DM信息块。具体而言,内存控制器可以按照如下预设规则发送DM信息:首先传输DM信息,之后内存控制器会根据DM信息找到待写入的数据块中的第一个掩码数据块,即待写入的数据块3,在第一个被掩码的掩码数据块之前的数据(即待写入的数据块1和数据块2),按照顺序接在DM信息之后依次发送,即发送的数据块2和数据块3对应待写入的数据块1和数据块2,然后,第一个掩码数据块不传输,第一个掩码数据块之后的数据,即待写入的数据块4至8,按照原始数据的位置,依次发送。因此,本申请实施例通过摒弃传输BL对应的数据块(可以称为待写入的数据块或原始数据块)中的第一个掩码数据块的数据,通过增加传输一个DM信息块,在不增加传输的数据量的基础上实现了DM的传输,避免了额外的传输时间,能够节省传输资源。应理解,上文描述的情况一中,描述了内存控制器不传输第一个掩码数据块的情况,但本申请实施例并不限于此,例如,在实际应用中,内存控制器可以不传输最后一个掩码数据块,即传输的N个数据块包括第一DM信息块和待写入的个数据块中除最后一个掩码数据块之外的所有数据块。相应地,内存控制器可以按照情况一的类似规则传输该N个数据块,为了避免重复,此处不再赘述。可选地,在第一方面的一种实现方式中,该待写入的数据块中具有Z个非掩码数据块,其中,该Z为大于0且小于N的整数;该N个数据块中的第2至第Z+1个数据块为该Z个非掩码数据块,当Z小于等于N-2时,该N个数据块中的第Z+2至第N个数据块为预设数据块。也就是说,内存控制器向内存芯片发送的N个数据块(实际传输的N个数据块)中不包括N个待写入的数据块(也可以称为原始数据块)中的掩码数据块,该N个数据块包括第一DM信息块和N个待写入的数据块中的所有非掩码数据块以及预设数据块。应理解,当待写入的数据块中包括仅包括一个掩码数据块时,传输的N个数据块中包括第一DM信息块和N-1个非掩码数据块。当待写入的数据块中包括包括多个掩码数据块时,例如,包括N-Z个掩码数据块,那么该传输的N个数据块中包括第一DM信息块、Z个非掩码数据库块和N-Z-1个预设数据块。具体而言,内存控制器可以按照如下预设规则发送DM信息:首先传输DM信息,之后内存控制器会根据DM信息判断每一个待写入的数据块是否本文档来自技高网...

【技术保护点】
一种传输数据掩码DM的方法,其特征在于,包括:/n内存控制器向内存芯片发送第一写命令,所述第一写命令中包含有第一指示信息,所述第一指示信息用于指示待写入的数据块中具有掩码数据块,所述待写入的数据块的个数为N,N为大于或等于2的整数;/n所述内存控制器根据所述第一写命令向所述内存芯片发送N个数据块,其中,所述N个数据块中的一个数据块为第一DM信息块,所述第一DM信息块用于指示所述待写入的数据块中的掩码数据块的位置,所述N个数据块包括所述待写入的数据块中的非掩码数据块。/n

【技术特征摘要】
【国外来华专利技术】一种传输数据掩码DM的方法,其特征在于,包括:
内存控制器向内存芯片发送第一写命令,所述第一写命令中包含有第一指示信息,所述第一指示信息用于指示待写入的数据块中具有掩码数据块,所述待写入的数据块的个数为N,N为大于或等于2的整数;
所述内存控制器根据所述第一写命令向所述内存芯片发送N个数据块,其中,所述N个数据块中的一个数据块为第一DM信息块,所述第一DM信息块用于指示所述待写入的数据块中的掩码数据块的位置,所述N个数据块包括所述待写入的数据块中的非掩码数据块。


根据权利要求1所述的方法,其特征在于,所述第一DM信息块为所述N个数据块中的第一个数据块。


根据权利要求2所述的方法,其特征在于,所述待写入的数据块中的首个掩码数据块为第n个数据块,n为大于0且小于等于N的整数;
所述N个数据块中的第2至第n个数据块为所述待写入的数据块中的第1至第n-1个数据块,所述N个数据块中的第n+1至第N个数据块为所述待写入的数据块中的第n+1至第N个数据块。


根据权利要求2所述的方法,其特征在于,所述待写入的数据块中具有Z个非掩码数据块,其中,所述Z为大于0且小于N的整数;
所述N个数据块中的第2至第Z+1个数据块为所述Z个非掩码数据块,所述N个数据块中的第Z+2至第N个数据块为预设数据块。


根据权利要求1至4中任一项所述的方法,其特征在于,还包括:
所述内存控制器向所述内存芯片发送第二写命令;
所述内存控制器根据所述第二写命令向所述内存芯片发送P个数据块,所述P个数据块中的一个数据块为第二DM信息块,所述第二DM信息块用于指示所述内存芯片根据所述第二写命令待写入的Q个数据块中的K个掩码数据块的位置,所述P个数据块包括所述Q个数据块中的非掩码数据块,其中,所述Q个数据块中的非掩码数据块的个数为M,Q=N,P=Q/2,K大于或等于Q/2+1,M为大于0且小于等于P-1的整数,M+K=Q。


一种传输数据掩码DM的方法,其特征在于,包括:
内存芯片接收内存控制器发送的第一写命令,所述第一写命令中包含有第一指示信息,所述第一指示信息用于指示待写入的数据块中具有掩码数据块,所述待写入的数据块的个数为N,N为大于或等于2的整数;
所述内存芯片接收所述内存控制器根据所述第一写命令发送的N个数据块,其中,所述N个数据块中的一个数据块为第一DM信息块,所述第一DM信息块用于指示所述待写入的数据块中的掩码数据块的位置,所述N个数据块包括所述待写入的数据块中的非掩码数据块,
所述内存芯片根据所述第一DM信息块的指示,将所述待写入的数据块中的非掩码数据块写入所述内存芯片的存储介质中。


根据权利要求6所述的方法,其特征在于,所述第一DM信息块为所述N个数据块中的第一个数据块。


根据权利要求7所述的方法,其特征在于,所述待写入的数据块中的首个掩码数

据块为第n个数据块,n为大于0且小于等于N的整数;
所述N个数据块中的第2至第n个数据块为所述待写入的数据块中的第1至第n-1个数据块,所述N个数据块中的第n+1至第N个数据块为所述待写入的数据块中的第n+1至第N个数据块。


根据权利要求7所述的方法,其特征在于,所述待写入的数据块中具有Z个非掩码数据块,其中,所述Z为大于0且小于N的整数;
所述N个数据块中的第2至第Z+1个数据块为所述Z个非掩码数据块,所述N个数据块中的第Z+2至第N个数据块为预设数据块。


根据权利要求6至9中任一项所述的方法,其特征在于,还包括:
所述内存芯片接收所述内存控制器发送的第二写命令;
所述内存芯片接收所述内存控制器根据所述第二写命令发送的P个数据块,所述P个数据块中的一个数据块为第二DM信息块,所述第二DM信息块用于指示所述内存芯片根据所述第二写命令待写入的Q个数据块中的K个掩码数据块的位置,所述P个数据块包括所述Q个数据块中的非掩码数据块,其中,所述Q个数据块中的非掩码数据块的个数为M,Q=N,P=Q/2,K大于或等于Q/2+1,M为大于0且小于等于P-1的整数,M+K=Q;
所述内存芯片根据所述第二DM信息块的指示,将所述待写入的Q个数据块中的非掩码数据块写入所述存储介质中。


一种内存控制器,其特征在于,包括:
前端接口,连接计算机系统中的处理器,所述前端接口用于接收所述处理器的写请求,所述写请求中包含有待写入的数据块,所述待写入的数据块的个数为N,N为大于或等于2的整数;
内存总线接口,通过双倍速率DDR总线与内存芯片相连,所述内存总线接口用于:
根据所述写请求向所述内存芯片发送第一写命令,所述第一写命令中包含有第一指示信息,所述第一指示信息用于指示所述待写入的数据块中具有掩码数据块;
根据所述第一写命令向所述内存芯片发送N个数据块,其中,所述N个数据块中的一个数据块为第一DM信息块,所述第一DM信息块用于指示所述N个待写入的数据块中的掩码数据块的位置,所述N个数据块包括所述待写入的数据块中的非掩码数据块。


根据权利要求11所述的内存控制器,其特征在于,所述第一DM信息块为所述N个数据块中的第一个数据块。


根据权利要求12所述的内存控制器,其特征在于,所述待写入的数据块中的首个掩码数据块为第n个数据块,n为大于0且小于等于N;
所述N个数据块中的第2至第n个数据块为所述待写入的数据块中的第1至第n-1个数据块,所述N个数据块中的第n+1至第N个数据块为所述待写入的数据块中的第n+1至第N个数据块。


根据权利要求12所述的内存控制器,其特征在于,所述待写入的数据块中具有Z个非掩码数据块,其中,所...

【专利技术属性】
技术研发人员:肖世海弗洛里安·朗诺斯杨伟
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1
相关领域技术
  • 暂无相关专利