存储器及其数据读写方法转让专利
申请号 : CN202210120624.1
文献号 : CN114153402B
文献日 : 2022-05-03
发明人 : 辛鑫 , 赵莉
申请人 : 阿里云计算有限公司 , 阿里巴巴(中国)有限公司
摘要 :
权利要求 :
1.一种存储器,包括至少一个数据存储芯片,每个数据存储芯片包括数据存储模块、数据处理模块和2m个数据引脚,m为正整数,其中,在针对数据存储芯片的每次读操作中从数据存储模块读取N位数据,并且/或者在针对数据存储芯片的每次写操作中向数据存储模块写入N位数据,N为正整数,数据处理模块以2N位数据为单次处理量对要写入数据存储模块的数据进行第一数据处理,并且/或者以2N位数据为单次处理量对从数据存储模块读出的数据进行第二数据处理,
其中,在所述存储器与外部设备进行数据交换时:从数据存储模块读取第一组N位数据和第二组N位数据,送入数据处理模块以进行第二数据处理;
通过所述2m个数据引脚中的第一组m个数据引脚,从所述外部设备接收第三组N位数据;
通过所述2m个数据引脚中的第二组m个数据引脚,向所述外部设备传输第一组N位数据;
由数据处理模块对第三组N位数据和第二数据处理后的第二组N位数据进行第一数据处理;
将第一数据处理后的第三组N位数据和第二组N位数据写入数据存储模块。
2.根据权利要求1所述的存储器,其中,所述数据存储芯片的数据位宽为m,用于构建所述数据存储芯片的管芯与用于构建数据位宽为2m的数据存储芯片的管芯相同,其中第一组m个数据引脚被初始配置为用于支持m位数据位宽的读和写操作,第二组m个数据引脚被初始配置为不使用,并且第二组m个数据引脚被重新配置以用于对外传输所述第一组N位数据。
3.根据权利要求1所述的存储器,其中,所述第一组N位数据和所述第二组N位数据是先前写入数据存储模块时一同进行第一数据处理的2N位数据。
4.根据权利要求1所述的存储器,其中,所述第一数据处理是纠错编码,所述第二数据处理是纠错解码,所述数据处理模块是片上纠错编解码模块。
5.一种混合存储器系统,包括第一存储器和第二存储器,第一存储器为根据权利要求1至4中任何一项所述的存储器,第一存储器与第二存储器之间进行数据交换操作。
6.根据权利要求5所述的混合存储器系统,其中,第一存储器的数据读写速度比第二存储器的数据读写速度快;并且/或者所述混合存储器系统用于服务器;并且/或者m=4;并且/或者
N=64。
7.根据权利要求5所述的混合存储器系统,其中,第一存储器为易失性存储器,第二存储器为非易失性存储器。
8.根据权利要求7所述的混合存储器系统,其中,第一存储器为双倍速率同步动态随机存储器DRAM,所述第二存储器为非易失性存储器NVM。
9.一种存储器数据读写方法,其中,所述存储器包括至少一个数据存储芯片,每个数据存储芯片包括数据存储模块、数据处理模块和2m个数据引脚,m为正整数,在针对数据存储芯片的每次读操作中从数据存储模块读取N位数据,并且/或者在针对数据存储芯片的每次写操作中向数据存储模块写入N位数据,N为正整数,数据处理模块以2N位数据为单次处理量对要写入数据存储模块的数据进行第一数据处理,并且/或者以2N位数据为单次处理量对从数据存储模块读出的数据进行第二数据处理,
该方法包括:
从数据存储模块读取第一组N位数据和第二组N位数据,送入数据处理模块以进行第二数据处理;
通过所述2m个数据引脚中的第一组m个数据引脚,从所述存储器外部接收第三组N位数据;
通过所述2m个数据引脚中的第二组m个数据引脚,向所述存储器外部传输第一组N位数据;
由数据处理模块对第三组N位数据和第二数据处理后的第二组N位数据进行第一数据处理;以及
将第一数据处理后的第三组N位数据和第二组N位数据写入数据存储模块。
10.一种在第一存储器和第二存储器之间交换数据的方法,其中,第一存储器包括至少一个数据存储芯片,每个数据存储芯片包括数据存储模块、数据处理模块和2m个数据引脚,m为正整数,在针对数据存储芯片的每次读操作中从数据存储模块读取N位数据,并且/或者在针对数据存储芯片的每次写操作中向数据存储模块写入N位数据,N为正整数,数据处理模块以2N位数据为单次处理量对要写入数据存储模块的数据进行第一数据处理,并且/或者以2N位数据为单次处理量对从数据存储模块读出的数据进行第二数据处理,
该方法包括:
从第一存储器的数据存储芯片的数据存储模块读取第一组N位数据和第二组N位数据,送入所述数据存储芯片上的数据处理模块以进行第二数据处理;
通过所述2m个数据引脚中的第一组m个数据引脚,获取来自第二存储器的第三组N位数据;
通过所述2m个数据引脚中的第二组m个数据引脚,对外传输第一组N位数据,以便写入第二存储器;
由第一存储器的数据存储芯片的数据处理模块对第三组N位数据和第二数据处理后的第二组N位数据进行第一数据处理;以及将第一数据处理后的第三组N位数据和第二组N位数写入第一存储器的数据存储芯片的数据存储模块。
11.根据权利要求9或10所述的方法,其中,所述第一组N位数据和所述第二组N位数据是先前写入数据存储模块时一同进行第一数据处理的2N位数据。
12.根据权利要求9或10所述的方法,其中,所述数据存储芯片的数据位宽为m,用于构建所述数据存储芯片的管芯与用于构建数据位宽为2m的数据存储芯片的管芯相同,其中第一组m个数据引脚被初始配置为用于支持m位数据位宽的读和写操作,第二组m个数据引脚被初始配置为不使用,该方法还包括:配置第二组m个数据引脚以用于对外传输所述第一组N位数据。
说明书 :
存储器及其数据读写方法
技术领域
背景技术
于它们较高的访问延迟和较差的耐久性能。
之前的工作。
和写处理。
理。
发明内容
存储芯片的每次读操作中从数据存储模块读取N位数据,并且/或者在针对数据存储芯片的
每次写操作中向数据存储模块写入N位数据,N为正整数。数据处理模块以2N位数据为单次
处理量对要写入数据存储模块的数据进行第一数据处理,并且/或者以2N位数据为单次处
理量对从数据存储模块读出的数据进行第二数据处理。在存储器与外部设备进行数据交换
时:从数据存储模块读取第一组N位数据和第二组N位数据,送入数据处理模块以进行第二
数据处理;通过2m个数据引脚中的第一组m个数据引脚,从外部设备接收第三组N位数据;通
过2m个数据引脚中的第二组m个数据引脚,向外部设备传输第一组N位数据;由数据处理模
块对第三组N位数据和第二数据处理后的第二组N位数据进行第一数据处理;以及将第一数
据处理后的第三组N位数据和第二组N位数据写入数据存储模块。
持m位数据位宽的读和写操作,第二组m个数据引脚被初始配置为不使用,并且第二组m个数
据引脚被重新配置以用于对外传输第一组N位数据。
为正整数。在针对数据存储芯片的每次读操作中从数据存储模块读取N位数据,并且/或者
在针对数据存储芯片的每次写操作中向数据存储模块写入N位数据,N为正整数。数据处理
模块以2N位数据为单次处理量对要写入数据存储模块的数据进行第一数据处理,并且/或
者以2N位数据为单次处理量对从数据存储模块读出的数据进行第二数据处理。该方法包
括:从数据存储模块读取第一组N位数据和第二组N位数据,送入数据处理模块以进行第二
数据处理;通过2m个数据引脚中的第一组m个数据引脚,从存储器外部接收第三组N位数据;
通过2m个数据引脚中的第二组m个数据引脚,向存储器外部传输第一组N位数据;由数据处
理模块对第三组N位数据和第二数据处理后的第二组N位数据进行第一数据处理;以及将第
一数据处理后的第三组N位数据和第二组N位数据写入数据存储模块。
处理模块和2m个数据引脚,m为正整数,在针对数据存储芯片的每次读操作中从数据存储模
块读取N位数据,并且/或者在针对数据存储芯片的每次写操作中向数据存储模块写入N位
数据,N为正整数,数据处理模块以2N位数据为单次处理量对要写入数据存储模块的数据进
行第一数据处理,并且/或者以2N位数据为单次处理量对从数据存储模块读出的数据进行
第二数据处理,该方法包括:从第一存储器的数据存储芯片的数据存储模块读取第一组N位
数据和第二组N位数据,送入数据存储芯片上的数据处理模块以进行第二数据处理;通过2m
个数据引脚中的第一组m个数据引脚,获取来自第二存储器的第三组N位数据;通过2m个数
据引脚中的第二组m个数据引脚,对外传输第一组N位数据,以便写入第二存储器;由第一存
储器的数据存储芯片的数据处理模块对第三组N位数据和第二数据处理后的第二组N位数
据进行第一数据处理;以及将第一数据处理后的第三组N位数据和第二组N位数写入第一存
储器的数据存储芯片的数据存储模块。
数据位宽的读和写操作,第二组m个数据引脚被初始配置为不使用。该方法还可以包括:配
置第二组m个数据引脚以用于对外传输第一组N位数据。
附图说明
通常代表相同部件。
具体实施方式
式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的
范围完整地传达给本领域的技术人员。
别记为“x4”、“x8”、“x16”。数据存储芯片的数据引脚(DQ)数量与数据位宽相同。也即“x4”、
“x8”、“x16”数据存储芯片分别通过4个、8个、16个数据引脚进行数据输入和输出。
有基本上相同的存储量。这样,相对于x8数据存储芯片,使用x4数据存储芯片可以使整个
DRAM存储器具有更高的存储容量。
存储库,第四代双倍速率同步动态随机存储器(DDR4)具有16个存储库,而第五代双倍速率
同步动态随机存储器(DDR5)则具有高达32个存储库。
DDR4而言为32位,对于DDR5而言为64位。为便于描述,本公开中可以将这样一次读或写的32
位或64位数据成为一组数据。
128位数据)和相应生成的8位ECC校验数据进行纠错解码,实现错误检查及纠错。
作之前需要执行内部读操作。
储该128位ECC编码后的两组各64位数据A和B以及8位校验数据。一同进行128位ECC编码的
两组各64位数据可以认为是内部相关联的。
实现错误检查及纠错。然后将经过ECC纠错解码后的一组64位数据A通过其4个数据引脚
(DQ0、DQ1、DQ2、DQ3)传输出去。
一组64位数据。
存储芯片的存储库110中存储的一组64位数据A替换为数据C时,需要使用先前存储的另一
组64位数据B和新输入的又一组64位数据C进行128位ECC编码,并得到8位校验数据,然后在
存储库110中存储该128位ECC编码后的两组各64位数据C和数据B以及8位校验数据,从而使
得数据C和数据B内部相关联。而在使用数据B与数据C进行128位ECC编码之前,还需要先使
用数据A和数据B进行128位ECC解码以至少对数据B进行错误检查和纠错。
据C和数据B写入存储库。即,在数据存储芯片内部执行一读一写两次操作,实现对数据存储
芯片的一次写入操作。
的情况下,需要首先按上述完整的读取操作过程读出数据A,经4个数据引脚(DQ0、DQ1、DQ2、
DQ3)传输到外部设备,然后再经这4个数据引脚(DQ0、DQ1、DQ2、DQ3)接收来自外部设备的数
据C,并按上述完整的写入操作过程将数据C写入存储库110。
写入存储库110。
写入数据C的过程中,都需要执行从存储库110读取数据A的过程。换言之,数据A被读取两
次。
块120的数据A实现读数据A(并向外传输)的操作,则能够减少一次上述完整的读操作。
“x8芯片”)和数据位宽为4位的x4 DRAM数据存储芯片(以下简称“x4芯片”)。并且x8芯片与
x4芯片也共享相同的封装。
外一组4个数据引脚(及其对应的输入/输出缓存器)则未被使用。而与初始设置用于支持4
位数据位宽的读和写操作的一组4个数据引脚一样,未被使用的另外一组4个数据引脚也通
过其对应的输入/输出缓存器连接到片上ECC编解码模块。这样,厂商只需要设计并生产一
种管芯,并对其引脚进行初始配置,即可以相应得到x8芯片或x4芯片。
120与经过ECC解码校验的一组数据B一起进行128位ECC数据编码;另一组4个数据引脚
(DQ4、DQ5、DQ6、DQ7)则按新的配置,在其对应的输入/输出缓存器140中缓存经过ECC解码校
验的一组数据A,以向外输出。
(DQ4、DQ5、DQ6、DQ7)对应的输入/输出缓存器140中。
作,与读取数据A和数据B直到将数据A缓存到另一组4个数据引脚(DQ4、DQ5、DQ6、DQ7)对应
的输入/输出缓存器140中的操作,两者可以是独立的,其执行顺序可以任意调整,也可以并
行。
校验数据写入到存储库110中。
节。
实施根据本公开的技术方案。
m为正整数,在上述x4芯片的实施例中,m=4。
线。即,第一组m个数据引脚313被初始配置为用于支持m位数据位宽的读和写操作,而第二
组m个数据引脚314则被初始配置为不使用。
述实施例中,N=64。
数据处理。
设备如混合存储器系统用的另一个存储器进行数据交换时的时间消耗,进一步提升了存储
器的运行速度和性能。
序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的
逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可
以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,
它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流
程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作
的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨
在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的
其它普通技术人员能理解本文披露的各实施例。