CN115512741A - 数据读写方法、数据读取方法、三维存储器以及电子设备 - Google Patents

数据读写方法、数据读取方法、三维存储器以及电子设备 Download PDF

Info

Publication number
CN115512741A
CN115512741A CN202211204382.0A CN202211204382A CN115512741A CN 115512741 A CN115512741 A CN 115512741A CN 202211204382 A CN202211204382 A CN 202211204382A CN 115512741 A CN115512741 A CN 115512741A
Authority
CN
China
Prior art keywords
data
sample
chip
memory
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211204382.0A
Other languages
English (en)
Inventor
周小锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Unilc Semiconductors Co Ltd
Original Assignee
Xian Unilc Semiconductors Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Unilc Semiconductors Co Ltd filed Critical Xian Unilc Semiconductors Co Ltd
Priority to CN202211204382.0A priority Critical patent/CN115512741A/zh
Publication of CN115512741A publication Critical patent/CN115512741A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种数据读写方法、数据读取方法、三维存储器以及电子设备,数据读写方法包括:逻辑芯片确定第一写入数据;逻辑芯片根据样本数据对第一写入数据进行压缩,得到冗余码;第一写入数据与样本数据的比特差在预设范围内;将冗余码与样本数据的存储地址存储至存储芯片的冗余存储区,逻辑芯片与存储芯片三维集成。本申请的方法实现高压缩率,减少访存数据的延时,并且降低CPU的功耗。另外,本申请的方法,在缓存区容量不足时,将至少部分数据转移,能够扩展存储容量,降低了CPU的开销。

Description

数据读写方法、数据读取方法、三维存储器以及电子设备
技术领域
本发明涉及存储器技术领域,特别是涉及一种数据读写方法、数据读取方法、三维存储器以及电子设备。
背景技术
如图1所示,现有技术中,在处理器如CPU的高速缓冲存储器与外部存储器例如DDR之间引入压缩/解压模块,该压缩/解压模块通过多通道总线与高速缓冲存储器连接,通过单通道总线与外部存储器连接。在写数据时,通过压缩/解压模块进行压缩,压缩完成后的数据存入DRAM,读取数据时,从DRAM中读取压缩数据,再通过压缩/解压模块解压,将数据回传给高速缓冲存储器。这种结构在CPU侧引入压缩/解压模块,一方面造成CPU功耗的上升,另一方面会使得访存数据延时增加。
发明内容
本发明提供一种数据读写方法、数据读取方法、三维存储器以及电子设备,其能够实现高压缩率,减少访存数据的延时,并且降低CPU的功耗。
为解决上述技术问题,本发明提供的第一个技术方案为:提供一种数据读写方法,方法包括:逻辑芯片确定第一写入数据;逻辑芯片根据样本数据对所述第一写入数据进行压缩,得到冗余码;所述第一写入数据与所述样本数据的比特差在预设范围内;将所述冗余码与所述样本数据的存储地址存储至所述存储芯片的冗余存储区,所述逻辑芯片与所述存储芯片三维集成。
其中,所述方法还包括:所述逻辑芯片接收第二写入数据;将所述第二写入数据中的所述样本数据存储至所述存储芯片的样本存储区;将所述第二写入数据中除所述样本数据外的其余数据写入所述逻辑芯片的缓存区。
其中,所述逻辑芯片确定第一写入数据的步骤之前,包括:确定所述逻辑芯片的缓存区的可用存储空间是否大于阈值;响应于否,则将所述缓存区中至少部分数据确定为所述第一写入数据。
其中,所述逻辑芯片根据样本数据对所述第一写入数据进行压缩,得到冗余码的步骤之前,包括:确定所述存储芯片的样本存储区是否具有匹配所述第一写入数据的样本数据;若没有,确定所述第一写入数据中是否包含样本数据,所述第一写入数据中的样本数据与所述第一写入数据中其余数据的比特差在预设范围内;或者,确定所述缓存区中是否包含样本数据;如果所述第一写入数据或者所述缓存区中包含样本数据,将所述样本数据存储至所述存储芯片的样本存储区。
其中,如果所述样本存储区、所述第一写入数据、所述缓存区中不包含所述样本数据,将所述第一写入数据写入所述存储芯片的原始数据存储区。
所述方法还包括:接收读取指令;基于所述读取指令从所述样本存储区读出所述样本数据,以及从所述冗余存储区读取所述冗余码;基于所述样本数据以及所述冗余码得到读出数据。
其中,所述逻辑芯片根据样本数据对所述第一写入数据进行压缩,得到冗余码的步骤,包括:所述逻辑芯片利用编解码模块根据样本数据对所述第一写入数据进行压缩,得到冗余码;所述编解码模块设置于所述逻辑芯片中;其中,所述编解码模块包括BCH纠错算法、LDPC中至少一种。
为解决上述技术问题,本发明提供的第二个技术方案为:提供一种数据读取方法,方法包括:接收读取指令;基于读取指令从存储器的样本存储区读出样本数据,以及从存储器的冗余存储区读取冗余码;利用存储器中的编解码模块基于样本数据以及冗余码得到读出数据。
为解决上述技术问题,本发明提供的第三个技术方案为:提供一种三维存储器,包括:逻辑芯片;存储芯片,所述存储芯片包括冗余存储区;所述逻辑芯片与所述存储芯片三维集成;其中,所述逻辑芯片确定第一写入数据;根据样本数据对所述第一写入数据进行压缩,得到冗余码;所述第一写入数据与所述样本数据的比特差在预设范围内;将所述冗余码与所述样本数据的存储地址存储至所述存储芯片的冗余存储区。
其中,所述逻辑芯片包括:编解码模块,所述编解码模块用于基于所述样本数据计算所述第一写入数据的冗余码,以及用于基于所述样本数据以及所述冗余码计算得到读出数据;地址命令模块,所述地址命令模块用于接收读取指令和写入指令;内存控制器,所述内存控制器连接所述存储芯片,用于控制所述逻辑芯片以及所述存储芯片。
其中,所述存储芯片还包括原始数据存储区和样本数据存储区,所述原始数据存储区用于存储所述第一写入数据,所述样本数据存储区用于存储所述样本数据。
其中,所述样本存储区、所述冗余存储区以及所述原始数据存储区位于同一存储芯片上;或者所述样本存储区、所述冗余存储区以及所述原始数据存储区分别位于不同存储芯片上。
为解决上述技术问题,本发明提供的第四个技术方案为:提供一种电子设备,包括:三维存储器以及处理芯片;所述三维存储器包括:逻辑芯片和存储芯片;所述存储芯片包括冗余存储区;所述逻辑芯片与所述存储芯片三维集成;其中,所述逻辑芯片确定第一写入数据;根据样本数据对所述第一写入数据进行压缩,得到冗余码;所述第一写入数据与所述样本数据的比特差在预设范围内;将所述冗余码与所述样本数据的存储地址存储至所述存储芯片的冗余存储区;所述三维存储器包括接口,所述三维存储器通过所述接口与所述处理芯片连接。
本发明的有益效果,区别于现有技术的情况,本发明通过逻辑芯片确定第一写入数据;逻辑芯片根据样本数据对所述第一写入数据进行压缩,得到冗余码;所述第一写入数据与所述样本数据的比特差在预设范围内;将所述冗余码与所述样本数据的存储地址存储至所述存储芯片的冗余存储区,所述逻辑芯片与所述存储芯片三维集成。本申请的方法,在进行压缩时,无需将数据读出存储器,实现高压缩率,减少访存数据的延时,并且降低CPU的功耗。另外,本申请的方法,在缓存区容量不足时,将至少部分数据转移,能够扩展存储容量,降低了CPU的开销。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
图1为现有技术的存储架构示意图;
图2为本发明数据读写方法的第一实施例的流程示意图;
图3为本发明数据读写方法的第二实施例的流程示意图;
图4为本发明数据读取方法的一实施例的流程示意图;
图5为本发明三维存储器的一实施例的结构示意图;
图6为本发明三维存储器的另一实施例的结构示意图;
图7为本发明电子设备的一实施例的结构示意图。
具体实施方法
本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图2,图2为本发明数据读写方法的第一实施例的流程示意图,具体包括:
步骤S11:逻辑芯片确定第一写入数据。
在一实施例中,第一写入数据为需要从逻辑芯片转移出去的数据。具体的,本申请的数据读写方法应用于三维存储器,三维存储器包括逻辑芯片和存储芯片,逻辑芯片和存储芯片层叠设置,且两者之间通过三维集成的方法之一连接。例如,通过硅通孔TSV和/或混合键合技术实现三维集成。其中,逻辑芯片中设置有缓存区,在实际应用中,数据进行存储时,优先存入缓存区中,但是当缓存区中的存储空间不足时,需要将缓存区中的数据清理出去,此时清理的数据即为第一写入数据。
在一具体实施例中,确定逻辑芯片的缓存区的可用存储空间是否大于阈值,如果可用空间大于阈值,则可以继续使用,无需将缓存区中的数据清理出去。如果可用空间不大于阈值,则需要将缓存区中至少部分数据清理出去。具体的,将缓存区中至少部分数据确定为第一写入数据。在一实施例中,如果缓存区中存储空间不足时,则按照时间先后将最先存入缓存区的至少部分数据确定为第一写入数据。在另一实施例中,如果缓存空间不足时,则按照数据的读取次数进行优先级划分,读取次数多的数据优先级高,读取次数少的数据优先级低,将不经常用的,也即优先级低的数据至少部分确定为第一写入数据。
步骤S12:逻辑芯片根据样本数据对第一写入数据进行压缩,得到冗余码;第一写入数据与样本数据的比特差在预设范围内。
在将第一写入数据转移时,为节省空间,需要对第一写入数据进行压缩。在一实施例中,逻辑芯片根据样本数据对第一写入数据进行压缩,得到冗余码。需要说明的是,第一写入数据与样本数据的比特差在预设范围内。也即在进行压缩时,需要确定第一写入数据对应的样本数据,该样本数据与第一写入数据的关系需要满足压缩条件,即比特差在预设范围内。
需要说明的是,该预设范围表征纠错能力,也即,需要使得待转移数据与样本数据的比特差在纠错能力范围内。
具体的,对第一写入数据进行压缩时,需要确定样本数据。在本申请的一实施例中,逻辑芯片在将数据写入缓存区的过程中,即确定出样本数据。具体的,逻辑芯片接收第二写入数据,确定第二写入数据中是否具有样本数据,如果有,将第二写入数据中的样本数据存储至存储芯片的样本存储区,将第二写入数据中除样本数据外的其余数据写入逻辑芯片的缓存区。假设,逻辑芯片接收的第二写入数据包括:0xFF00AA55BB0000CB、0xFF00AA55BB0000C8、0xFF00AA55BB0000C4、0xFF00AA55BB0000CC、经过判断,发现0xFF00AA55BB0000CC与0xFF00AA55BB0000CB、0xFF00AA55BB0000C8、0xFF00AA55BB0000C4的比特差为2bit,其在预设范围内,此时将0xFF00AA55BB0000CC确定为样本数据,将其存储至存储芯片的样本存储区,而其余的数据存入缓存区。以此,在缓存区的存储空间不足时,确定至少部分数据为第一写入数据,此时确定存储芯片的样本存储区是否具有匹配第一写入数据的样本数据,如果有,从样本存储区中找出样本数据,基于样本数据对第一写入数据进行压缩,得到冗余码。
在本申请的另一实施例中,如果样本存储区中没有匹配第一写入数据的样本数据,那么还可以确定第一写入数据中是否包含样本数据。第一写入数据中的样本数据与第一写入数据中其余数据的比特差在预设范围内。具体的,假设此时确定的第一写入数据包括0xFF00AA55BB0000CB、0xFF00AA55BB0000C8、0xFF00AA55BB0000C4、0xFF00AA55BB0000CC,而样本存储区没有匹配的样本数据,经判断发现第一写入数据中的0xFF00AA55BB0000CC可以作为第一写入数据中的其他数据(0xFF00AA55BB0000CB、0xFF00AA55BB0000C8、0xFF00AA55BB0000C4)的样本数据,因此,根据数据0xFF00AA55BB0000CC对其他数据(0xFF00AA55BB0000CB、0xFF00AA55BB0000C8、0xFF00AA55BB0000C4)进行压缩,得到冗余码。
可以理解的,本申请的一实施例中,如果样本存储区没有匹配第一写入数据的样本数据,还可以确定缓存区中是否包含样本数据。具体的,假设第一写入数据包括0xFF00AA55BB0000CB、0xFF00AA55BB0000C8、0xFF00AA55BB0000C4,样本存储区没有匹配的样本数据,此时从缓存区中确定是否包含样本数据,假设缓存区中包含数据0xFF00AA55BB0000CC,此时可以确定缓存区中包含样本数据。
需要说明的是,如果第一写入数据或者缓存区中包含样本数据,将样本数据存储至存储芯片的样本存储区。如果样本存储区、第一写入数据、缓存区中不包含样本数据,将第一写入数据写入存储芯片的原始数据存储区。
在本申请的一实施例中,逻辑芯片利用编解码模块根据样本数据对第一写入数据进行压缩,得到冗余码;编解码模块设置于逻辑芯片中;其中,编解码模块包括BCH纠错算法、LDPC中至少一种。
以BCH纠错算法为例,BCH纠错算法的数据位宽和冗余码位宽可配置,例如,可以配置64bit的数据位宽、14bit的冗余码,2bit的纠错能力;还例如,可以配置128bit的数据位宽、28bit的冗余码,4bit的纠错能力,具体不做限定。
以BCH纠错算法配置64bit的数据位宽、14bit的冗余码,2bit的纠错能力为例,对于样本数据0xFF00AA55BB0000CC为例,其与第一写入数据0xFF00AA55BB0000CB、0xFF00AA55BB0000C8、0xFF00AA55BB0000C4相差1bit,满足纠错能力要求,利用BCH纠错算法计算待转移数据0xFF00AA55BB0000CB、0xFF00AA55BB0000C8、0xFF00AA55BB0000C4的冗余码,假设计算的冗余码为0x3FEB,0x1537,0x27F6。
步骤S13:将冗余码与样本数据的存储地址存储至存储芯片的冗余存储区,逻辑芯片与存储芯片三维集成。
具体的,将冗余码与样本数据的存储地址存储至存储芯片的冗余区。假设样本数据在样本存储区中的存储地址或索引为0×00,那么将0×00和冗余码0x3FEB,0x1537,0x27F6存储至存储芯片的冗余区。
在本申请的另一实施例中,将冗余码(0x3FEB,0x1537,0x27F6)与样本数据的存储地址关联,假设样本数据在样本存储区中的存储地址或索引为0×00,那么将冗余码与样本数据的存储地址的结果进行关联,得到关联结果为(0×00,0×3FEB)、(0×00,0×0x1537)、(0×00,0×0x27F6)。将该关联结果存储至存储器的冗余存储区。以此在读取冗余码时,可以确定对应的样本数据的存储地址,进而读取出样本数据。
本实施例中,进行编码(压缩)时,利用存储器内部的编解码模块进行,无需将数据读出存储器,实现存内压缩,高压缩率,减少访存数据的延时,并且降低CPU的功耗。另外,本申请的方法,在缓存区容量不足时,将至少部分数据转移,能够扩展存储容量,降低了CPU的开销。
请参见图3,图3为本发明数据读写方法的第二实施例的流程示意图,本实施例中,步骤S21~步骤S23与上述图2所示的第一实施例中步骤S11~步骤S13相同,区别在于,本实施例在步骤S23之后还包括:
步骤S24:接收读取指令。
步骤S25:基于读取指令从样本存储区读出样本数据,以及从冗余存储区读取冗余码。
具体的,基于读取指令确定读出地址;响应于读出地址为样本存储区和/或冗余存储区的地址,则从样本存储区读出样本数据,以及从冗余存储区读取冗余码。响应于读出地址为原始存储区的地址,则从原始存储区读数据,得到读出数据;响应于读出地址为缓存区的地址,则从缓存区读数据,得到读出数据。
具体的,读取地址可以仅包含样本数据的存储地址,由于冗余码与样本数据的存储地址关联,因此可以基于样本数据的存储地址得到冗余码。当然,读取地址也可以既包含样本数据的存储地址,还包含冗余码的存储地址。
步骤S26:基于样本数据以及冗余码得到读出数据。
得到样本数据以及冗余码后,利用BCH纠错算法或LDPC算法基于样本数据以及冗余码得到读出数据。
请参见他4,图4为本发明数据读取方法的一实施例的流程示意图,具体包括:
步骤S31:接收读取指令。
步骤S32:基于读取指令从存储器的样本存储区读出样本数据,以及从存储器的冗余存储区读取冗余码。
步骤S33:利用存储器中的编解码模块基于样本数据以及冗余码得到读出数据。
具体的,基于读取指令确定读出地址;响应于读出地址为样本存储区和/或冗余存储区的地址,则从样本存储区读出样本数据,以及从冗余存储区读取冗余码。响应于读出地址为原始存储区的地址,则从原始存储区读数据,得到读出数据;响应于读出地址为缓存区的地址,则从缓存区读数据,得到读出数据。
具体的,读取地址可以仅包含样本数据的存储地址,由于冗余码与样本数据的存储地址关联,因此可以基于样本数据的存储地址得到冗余码。当然,读取地址也可以既包含样本数据的存储地址,还包含冗余码的存储地址。
得到样本数据以及冗余码后,利用存储器中的编解码模块例如BCH纠错算法或LDPC算法基于样本数据以及冗余码得到读出数据。
本实施例中,在进行数据读取时,利用存储器内部的编解码模块对样本数据以及冗余码进行解码,得到读出数据,无需将数据读出存储器,再进行解码。实现高压缩率,减少访存数据的延时,并且降低CPU的功耗。
请参见图5,为本发明三维存储器的一实施例的结构示意图,三维存储器包括逻辑芯片62以及存储芯片61。其中,存储芯片61与逻辑芯片62三维集成,具体的,存储芯片61与逻辑芯片62之间通过三维集成的方法之一连接。例如,通过硅通孔TSV和/或混合键合技术实现三维集成。
存储芯片61包括冗余存储区,逻辑芯片62确定第一写入数据;根据样本数据对第一写入数据进行压缩,得到冗余码;第一写入数据与样本数据的比特差在预设范围内;将冗余码与样本数据的存储地址存储至存储芯片的冗余存储区。
在一实施例中,请结合图6,逻辑芯片62包括编解码模块、地址命令模块、内存控制器,编解码模块用于基于样本数据计算第一写入数据的冗余码,以及用于基于样本数据以及冗余码计算得到读出数据;地址命令模块用于接收读取指令和写入指令;内存控制器连接存储芯片,内存控制器用于控制逻辑芯片以及存储芯片。
具体的,存储芯片还包括原始数据存储区和样本数据存储区,原始数据存储区用于存储第一写入数据,样本数据存储区用于存储样本数据。
本申请的实施例中,存储芯片61设置有原始数据存储区、样本存储区以及冗余存储区,其中,原始数据存储区、样本存储区以及冗余存储区均通过混合键合和/或硅通孔连接逻辑芯片62的内存控制器。
具体的,逻辑芯片62的内存控制器从缓存区中确定第一写入数据。在一实施例中,内存控制器确定逻辑芯片的缓存区的可用存储空间是否大于阈值;响应于否,则内存控制器将缓存区中至少部分数据确定为第一写入数据。
逻辑芯片62的内存控制器根据样本数据对第一写入数据进行压缩,得到冗余码。具体的,逻辑芯片接收第二写入数据;内存控制器将第二写入数据中的样本数据存储至存储芯片的样本存储区;将第二写入数据中除样本数据外的其余数据写入逻辑芯片的缓存区。
具体的,确定存储芯片的样本存储区是否具有匹配第一写入数据的样本数据;
若没有,内存控制器确定第一写入数据中是否包含样本数据,第一写入数据中的样本数据与第一写入数据中其余数据的比特差在预设范围内;或者,确定缓存区中是否包含样本数据;如果第一写入数据或者缓存区中包含样本数据,将样本数据存储至存储芯片的样本存储区。
逻辑芯片62的内存控制器将冗余码与样本数据的存储地址存储至存储芯片的冗余存储区。具体的,如果样本存储区、第一写入数据、缓存区中不包含样本数据,将第一写入数据写入存储芯片的原始数据存储区。
具体的,在数据写入时,地址命令模块通过接口memory IF接收外部设备例如CPU发送的写入指令以及第二写入数据,内存控制器判断第二写入数据中是否有样本数据,如果有,内存控制器将第二写入数据中的样本数据存储至存储芯片的样本存储区,将第二写入数据中除样本数据外的其余数据写入逻辑芯片的缓存区中。将数据写入至缓存区时,若缓存区的存储空间不足时,内存控制器将缓存区中至少部分数据作为第一写入数据,转移至存储芯片中。具体的,内存控制器从缓存区或样本存储区或第一写入数据中确定是否有匹配的样本数据,如果有,根据样本数据对第一写入数据进行压缩,得到冗余码,将冗余码和样本数据的存储地址存入冗余存储区。如果缓存区或样本存储区或第一写入数据中没有样本数据,则将第一写入数据存入原始数据存储区。
在数据读取时,地址命令模块通过接口memory IF接收外部设备例如CPU发送的读取指令,基于该读取指令得到读取地址,若该读取地址为缓存区的地址,则基于该读取地址从缓存区获取读出数据,若该读取地址为原始数据存储区,则内存控制器从原始数据存储区获取读出数据;若该读取地址为样本存储区,则内存控制器从样本存储区读取样本图像,由于样本数据的存储地址与冗余码关联,内存控制器还可以基于该读取地址从冗余区获取冗余码;如该读取地址为样本存储区以及冗余存储区,则内存控制器从样本存储区读取样本图像,从冗余区获取冗余码。得到样本数据以及冗余码后,利用编解码模块基于样本数据以及冗余码进行解码,得到读取数据。
需要说明的是,编解码模块为基于BCH纠错算法或LDPC的编解码模块。
可以理解的,在将数据从缓存区转移到存储芯片中后,转移的数据从缓存区中删除。以此利用存储芯片扩展存储空间。由于逻辑芯片与存储芯片通过三维集成的方法之一连接,具有大带宽、低功耗的优势。
在一实施例中,样本存储区、冗余存储区以及原始数据存储区位于同一存储芯片上。也即,一个存储芯片被分别定义为样本存储区、冗余存储区以及原始数据存储区。在另一实施例中,样本存储区、冗余存储区以及原始数据存储区分别位于不同存储芯片上。也即,样本存储区、冗余存储区以及原始数据存储区别为不同的存储芯片,该不同的存储芯片如图5所示的方式三维集成在逻辑芯片上。可以理解的,样本存储区、冗余存储区以及原始数据存储区对应的存储芯片可以为多个,分别以沿远离逻辑芯片的方向层叠键合。在一可行实施例中,样本存储区、冗余存储区以及原始数据存储区对应的存储芯片还可以三维集成设置,然后与逻辑芯片通过三维集成的方法之一连接,具体不做限定。在多个存储芯片三维集成时,各个存储芯片之间通过硅通孔TSV实现信号连通。
在一实施例中,三维存储器还包括基板63,逻辑芯片62远离存储芯片61的一表面通过焊球与基板63连接。
本申请的三维存储器,在存储器内部设置编解码模块,数据的转移以及编码、解码均在存储器内部进行,无需将数据读出存储器,实现高压缩率,减少访存数据的延时,并且降低CPU的功耗。另外,本申请的方法,在缓存区容量不足时,将至少部分数据转移,能够扩展存储容量,降低了CPU的开销。
请参见图7,为本发明电子设备的一实施例的结构示意图,电子设备包括三维存储器以及处理芯片64,三维存储器包括:逻辑芯片62和存储芯片61;存储芯片61包括冗余存储区;逻辑芯片62与存储芯片61三维集成;其中,逻辑芯片62确定第一写入数据;根据样本数据对第一写入数据进行压缩,得到冗余码;第一写入数据与样本数据的比特差在预设范围内;将冗余码与样本数据的存储地址存储至存储芯片的冗余存储区;三维存储器包括接口,三维存储器通过接口与处理芯片连接。
具体的,三维存储器包括接口memory IF,三维存储器通过接口memory IF与处理芯片64连接。
本申请的电子设备,在存储器内部设置编解码模块,数据的转移以及编码、解码均在存储器内部进行,无需将数据读出存储器,实现高压缩率,减少访存数据的延时,并且降低CPU的功耗。另外,本申请的方法,在缓存区容量不足时,将至少部分数据转移,能够扩展存储容量,降低了CPU的开销。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方法实现。例如,以上所描述的装置实施方法仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方法,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方法方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,系统服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方法的全部或部分步骤。
以上仅为本发明的实施方法,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (13)

1.一种数据读写方法,其特征在于,所述方法包括:
逻辑芯片确定第一写入数据;
逻辑芯片根据样本数据对所述第一写入数据进行压缩,得到冗余码;所述第一写入数据与所述样本数据的比特差在预设范围内;
将所述冗余码与所述样本数据的存储地址存储至所述存储芯片的冗余存储区,所述逻辑芯片与所述存储芯片三维集成。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述逻辑芯片接收第二写入数据;
将所述第二写入数据中的所述样本数据存储至所述存储芯片的样本存储区;
将所述第二写入数据中除所述样本数据外的其余数据写入所述逻辑芯片的缓存区。
3.根据权利要求1所述的方法,其特征在于,所述逻辑芯片确定第一写入数据的步骤之前,包括:
确定所述逻辑芯片的缓存区的可用存储空间是否大于阈值;
响应于否,则将所述缓存区中至少部分数据确定为所述第一写入数据。
4.根据权利要求1所述的方法,其特征在于,所述逻辑芯片根据样本数据对所述第一写入数据进行压缩,得到冗余码的步骤之前,包括:
确定所述存储芯片的样本存储区是否具有匹配所述第一写入数据的样本数据;
若没有,确定所述第一写入数据中是否包含样本数据,所述第一写入数据中的样本数据与所述第一写入数据中其余数据的比特差在预设范围内;或者,确定所述缓存区中是否包含样本数据;
如果所述第一写入数据或者所述缓存区中包含样本数据,将所述样本数据存储至所述存储芯片的样本存储区。
5.根据权利要求4所述的方法,其特征在于,如果所述样本存储区、所述第一写入数据、所述缓存区中不包含所述样本数据,将所述第一写入数据写入所述存储芯片的原始数据存储区。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述方法还包括:
接收读取指令;
基于所述读取指令从所述样本存储区读出所述样本数据,以及从所述冗余存储区读取所述冗余码;
基于所述样本数据以及所述冗余码得到读出数据。
7.根据权利要求1~5任一项所述的方法,其特征在于,所述逻辑芯片根据样本数据对所述第一写入数据进行压缩,得到冗余码的步骤,包括:
所述逻辑芯片利用编解码模块根据样本数据对所述第一写入数据进行压缩,得到冗余码;所述编解码模块设置于所述逻辑芯片中;
其中,所述编解码模块包括BCH纠错算法、LDPC中至少一种。
8.一种数据读取方法,其特征在于,所述方法包括:
接收读取指令;
基于所述读取指令从所述样本存储区读出所述样本数据,以及从所述冗余存储区读取所述冗余码;
基于所述样本数据以及所述冗余码得到读出数据。
9.一种三维存储器,其特征在于,包括:
逻辑芯片;
存储芯片,所述存储芯片包括冗余存储区;所述逻辑芯片与所述存储芯片三维集成;
其中,所述逻辑芯片确定第一写入数据;根据样本数据对所述第一写入数据进行压缩,得到冗余码;所述第一写入数据与所述样本数据的比特差在预设范围内;将所述冗余码与所述样本数据的存储地址存储至所述存储芯片的冗余存储区。
10.根据权利要求9所述的三维存储器,其特征在于,所述逻辑芯片包括:
编解码模块,所述编解码模块用于基于所述样本数据计算所述第一写入数据的冗余码,以及用于基于所述样本数据以及所述冗余码计算得到读出数据;
地址命令模块,所述地址命令模块用于接收读取指令和写入指令;
内存控制器,所述内存控制器连接所述存储芯片,用于控制所述逻辑芯片以及所述存储芯片。
11.根据权利要求9~10任一项所述的三维存储器,其特征在于,
所述存储芯片还包括原始数据存储区和样本数据存储区,所述原始数据存储区用于存储所述第一写入数据,所述样本数据存储区用于存储所述样本数据。
12.根据权利要求11所述的三维存储器,其特征在于,
所述样本存储区、所述冗余存储区以及所述原始数据存储区位于同一存储芯片上;或者
所述样本存储区、所述冗余存储区以及所述原始数据存储区分别位于不同存储芯片上。
13.一种电子设备,其特征在于,包括:三维存储器以及处理芯片;
所述三维存储器包括:逻辑芯片和存储芯片;
所述存储芯片包括冗余存储区;所述逻辑芯片与所述存储芯片三维集成;其中,所述逻辑芯片确定第一写入数据;根据样本数据对所述第一写入数据进行压缩,得到冗余码;所述第一写入数据与所述样本数据的比特差在预设范围内;将所述冗余码与所述样本数据的存储地址存储至所述存储芯片的冗余存储区;
所述三维存储器包括接口,所述三维存储器通过所述接口与所述处理芯片连接。
CN202211204382.0A 2022-09-29 2022-09-29 数据读写方法、数据读取方法、三维存储器以及电子设备 Pending CN115512741A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211204382.0A CN115512741A (zh) 2022-09-29 2022-09-29 数据读写方法、数据读取方法、三维存储器以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211204382.0A CN115512741A (zh) 2022-09-29 2022-09-29 数据读写方法、数据读取方法、三维存储器以及电子设备

Publications (1)

Publication Number Publication Date
CN115512741A true CN115512741A (zh) 2022-12-23

Family

ID=84507795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211204382.0A Pending CN115512741A (zh) 2022-09-29 2022-09-29 数据读写方法、数据读取方法、三维存储器以及电子设备

Country Status (1)

Country Link
CN (1) CN115512741A (zh)

Similar Documents

Publication Publication Date Title
US11334429B2 (en) Non-volatile memory apparatus and reading method thereof
TW201923609A (zh) 用於主機知悉式效能提升器的控制器硬體自動化
US9336081B2 (en) Data writing and reading method, and memory controller and memory storage apparatus using the same for improving reliability of data access
US9430344B2 (en) Memory system for mirroring data
KR20180114972A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN109992201B (zh) 数据存储设备及其操作方法
US11422717B2 (en) Memory addressing methods and associated controller, memory device and host
US20150378813A1 (en) Semiconductor memory card, method for controlling the same, and semiconductor memory system
US11816336B2 (en) Storage system and control method thereof
US8464006B2 (en) Method and apparatus for data transmission between processors using memory remapping
KR100625811B1 (ko) 코드 데이터 에러 정정 방법 및 장치
US11625344B2 (en) Transmission control circuit, data transmission system using different data formats, and operating method thereof
KR20180106127A (ko) 반도체 메모리 장치 및 이를 위한 플래그 생성회로와 데이터 출력 방법
CN115512741A (zh) 数据读写方法、数据读取方法、三维存储器以及电子设备
US20220005540A1 (en) Memory controller and storage device including the same
KR20190105869A (ko) 메모리 컨트롤러 및 그 동작 방법
US20050027906A1 (en) System and method for adaptive buffer allocation in a memory device interface
JP2003345650A (ja) フラッシュメモリシステム
US20050251632A1 (en) Silicon storage media, controller and access method thereof
JP4192171B2 (ja) メモリアクセス方法及びメモリアクセス装置
EP1959350A2 (en) Fusion memory device and method
US10540315B2 (en) Computing systems relating to serial and parallel interfacing operations
CN114461145B (zh) 一种扩容固态硬盘及其扩容、数据写入和数据读取方法
JPH06250935A (ja) 半導体メモリ装置
US9298673B2 (en) Electronic device and information processing method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Country or region after: China

Address after: 710075 4th floor, block a, No.38, Gaoxin 6th Road, Zhangba Street office, Gaoxin District, Xi'an City, Shaanxi Province

Applicant after: Xi'an Ziguang Guoxin Semiconductor Co.,Ltd.

Address before: 710075 4th floor, block a, No.38, Gaoxin 6th Road, Zhangba Street office, Gaoxin District, Xi'an City, Shaanxi Province

Applicant before: XI''AN UNIIC SEMICONDUCTORS Co.,Ltd.

Country or region before: China

CB02 Change of applicant information