WO2022178998A1 - 一种基于SEDRAM的堆叠式Cache系统、控制方法和Cache装置 - Google Patents
一种基于SEDRAM的堆叠式Cache系统、控制方法和Cache装置 Download PDFInfo
- Publication number
- WO2022178998A1 WO2022178998A1 PCT/CN2021/096732 CN2021096732W WO2022178998A1 WO 2022178998 A1 WO2022178998 A1 WO 2022178998A1 CN 2021096732 W CN2021096732 W CN 2021096732W WO 2022178998 A1 WO2022178998 A1 WO 2022178998A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cache
- sedram
- memory
- controller
- data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 235000012431 wafers Nutrition 0.000 claims description 215
- 230000005540 biological transmission Effects 0.000 claims description 15
- 230000005055 memory storage Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 5
- 230000010354 integration Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- BASFCYQUMIYNBI-UHFFFAOYSA-N platinum Chemical compound [Pt] BASFCYQUMIYNBI-UHFFFAOYSA-N 0.000 description 2
- 235000010675 chips/crisps Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 229910052697 platinum Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本公开涉及一种基于SEDRAM的堆叠式Cache系统、控制方法和Cache装置,该堆叠式Cache系统集成于多层键合晶圆,并包括高速缓冲存储器、Cache控制器及SEDRAM控制器;多层键合晶圆包括存储晶圆结构和处理器晶圆结构;SEDRAM单元集成于存储晶圆结构中的每一层存储晶圆中,并用作高速缓冲存储器的存储空间;处理器晶圆结构集成有CPU、Cache控制器、SEDRAM控制器及内存控制器。上述Cache系统采用集成于存储晶圆结构每一层存储晶圆的SEDRAM单元作为高速缓冲存储器的存储空间,可以极大地提高高速缓冲存储器的容量和带宽,提高高速缓冲存储器的命中率,加快热点数据的读取速度,提升CPU内部读取数据的命中率,同时还可以节省处理器芯片的存储资源。
Description
相关申请的交叉引用
本公开要求于2021年2月26日提交中国专利局的申请号为2021102141979、名称为“一种基于SEDRAM的堆叠式Cache系统、控制方法和Cache装置”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
本公开涉及计算机存储器技术领域,具体涉及一种基于SEDRAM的堆叠式Cache系统、控制方法和Cache装置。
现有技术中,高速缓冲存储器(Cache)是一种小容量的高速存储器,由快速SRAM(Static Random-Access Memory)存储元件组成,可以直接集成在CPU(Central Processing Unit,中央处理器)芯片内。在CPU和内存之间设置高速缓存Cache,把内存中被频繁访问的活跃程序块和数据块复制到Cache中,以提高CPU读写指令和数据的速度。由于程序访问的局部性,在大多数情况下,CPU能直接从Cache中取得指令和数据,而不必访问内存。
SRAM的集成度较低,相同容量的DRAM(Dynamic Random Access Memory,动态随机存取存储器)内存可以设计为较小的体积,但SRAM却需要很大的体积,而且价格较高,这也是不能将缓存容量做大的重要原因,容量增大必然导致CPU内部晶体管数量的增加,要在有限的CPU面积上集成更大的缓存,对制造工艺要求更高。例如IBM最新的Power9处理器,其缓存容量只有120MB;而Intel的服务器级芯片至强Platinum的缓存容量也只有38.5MB。
发明内容
本公开提供了一种基于SEDRAM的堆叠式Cache系统、控制方法和Cache装置,该堆叠式Cache系统采用SEDRAM(Stacking Embedded Dynamic Random Access Memory,三维堆叠嵌入式动态随机存储器)单元作为高速缓冲存储器(Cache)的存储空间,处理器晶圆和集成SEDRAM单元的存储晶圆直接键合连接,大幅度增加Cache容量,可以将Cache容量提高到GB(Gigabyte,2
20字节)量级,与传统Cache容量相比至少可以提高一个数量级。
本公开提供一种基于SEDRAM的堆叠式Cache系统,所述堆叠式Cache系统集成于多层键合晶圆,并包括:高速缓冲存储器(Cache)、Cache控制器以及SEDRAM控制器;
所述多层键合晶圆包括存储晶圆结构和处理器晶圆结构;
所述存储晶圆结构包括至少一层存储晶圆;
所述处理器晶圆结构包括至少一层处理器晶圆;
SEDRAM单元集成于所述存储晶圆结构的每一层存储晶圆中,并用作所述高速缓冲存储器的存储空间;
所述处理器晶圆结构,集成有CPU、Cache控制器、SEDRAM控制器及内存控制器;
晶圆之间通过键合结构进行管脚对管脚(Pin to Pin)的数据直接传输;
所述晶圆之间通过键合结构进行管脚对管脚的数据直接传输,包括:
所述存储晶圆结构中的存储晶圆与所述处理器晶圆结构中的处理器晶圆之间通过键合结构进行管脚对管脚的数据直接传输;
所述存储晶圆结构中的存储晶圆之间通过键合结构进行管脚对管脚的数据直接传输;
所述处理器晶圆结构中的处理器晶圆之间通过键合结构进行管脚对管脚的数据直接传输。
结合上述内容,可选地,所述Cache控制器配置成判断所述高速缓冲存储器是否命中,向所述CPU、所述SEDRAM控制器以及所述内存控制器发出相应的命令操作及数据交互请求;
所述SEDRAM控制器控制读出或写入所述SEDRAM单元的内容。
结合上述内容,可选地,所述SEDRAM单元存储的内容,包括控制域(Cache Control)和Cache数据域(Cache Data),所述控制域包括Cache状态域(Cache State)、Cache标签域(Cache Tag)。
结合上述内容,可选地,所述控制域还包括目录域(Directory)信息。
结合上述内容,可选地,所述处理器晶圆结构所述堆叠式Cache系统,还包括集成于所述处理器晶圆结构的有Cache SRAM,所述SEDRAM单元和Cache SRAM用作所述高速缓冲存储器的存储空间。
结合上述内容,可选地,所述Cache控制器配置成判断所述高速缓冲存储器是否命中,向所述CPU、所述SEDRAM控制器以及所述内存控制器发出相应的命令操作及数据交互请求;
所述SEDRAM控制器控制读出或写入所述SEDRAM单元的内容;
所述Cache控制器还配置成读出或写入所述Cache SRAM中存储的内容。
结合上述内容,可选地,所述SEDRAM单元存储的内容为Cache数据域;
所述Cache SRAM存储的内容为控制域;
所述控制域包括Cache状态域和Cache标签域。
结合上述内容,可选地,所述控制域还包括有目录域信息。
结合上述内容,可选地,采用所述SEDRAM单元作为所述高速缓冲存储器其中任一级的高速缓冲存储器的存储空间。
结合上述内容,可选地,所述处理器晶圆结构设置一层处理器晶圆,所述存储晶圆结构设置一层或两层存储晶圆。
结合上述内容,可选地,所述处理器晶圆结构设置一层处理器晶圆,所述存储晶圆结构设置一层或两层存储晶圆。
本公开还提供一种用于上述技术方案提供的任意一种堆叠式Cache系统的Cache控制方法,所述Cache控制方法将集成于存储晶圆结构每一层的存储晶圆的SEDRAM单元,作为高速缓冲存储器的整体存储空间进行控制,控制域和Cache数据域都存储在所述SEDRAM单元中,具体步骤如下:
第一步骤:集成于处理器晶圆结构的CPU输出访存地址;
第二步骤:根据访存地址,集成于所述处理器晶圆结构的Cache控制器发送读请求给集成于所述处理器晶圆结构的SEDRAM控制器,所述SEDRAM控制器从所述SEDRAM单元中读出所需要的Cache Line,所述Cache Line包括所述控制域和所述Cache数据域(Cache Data),所述控制域包括Cache状态域(Cache State)和Cache标签域(Cache Tag);
第三步骤:对访存地址中对应于Tag的位与所述Cache Line中的所述Cache标签域进行地址比较;
第四步骤:如果访存地址对应于Tag的位与其中一路的Cache标签域完全相同、且所述Cache Line的状态位处于有效状态,则判断所述高速缓冲存储器访问命中(Cache Hit),否则判断所述高速缓冲存储器访问未命中(Cache Miss);
第五步骤:当所述高速缓冲存储器访问命中后,所述Cache控制器直接把所述Cache Line中的所述Cache数据域内容读回到CPU中,作为本次访存操作的结果,并直接执行第十步骤;
第六步骤:当所述高速缓冲存储器访问未命中时,如果存在下一级所述高速缓冲存储器,所述Cache控制器向下一级所述高速缓冲存储器发送访存操作请求,并等待所述访存操作请求所对应的数据返回;当所述访存操作请求所对应的数据返回所述Cache控制器后,执行第八步骤;
第七步骤:如果所述高速缓冲存储器访问未命中,且本级高速缓冲存储器是最后一级高速缓冲存储器时,所述Cache控制器直接通过集成于所述处理器晶圆结构的内存控制器 向内存发送访存操作请求,并等待该访问内存的访存操作请求所对应的数据返回;当该访问内存的访存操作请求所对应的数据返回所述Cache控制器后,执行第八步骤;
第八步骤:所述Cache控制器将返回的访存数据发送给CPU,同时通过高速缓冲存储器替换算法找出一个Cache路中的Cache Line;被找出的Cache Line作为被替换(Replace)的Cache Line,根据被替换的Cache Line是未被使用的Cache Line、被使用但非脏(dirty)的Cache Line、或脏(dirty)的Cache Line,以及Cache写策略进行写回块的处理;
第九步骤:所述Cache控制器将第八步骤中返回的访存数据填充到被替换的Cache Line所对应的SEDRAM单元存储空间中,由所述SEDRAM控制器向所述存储晶圆结构上与写地址对应的SEDRAM单元发出写操作,写操作的写地址由所述Cache控制器根据第八步骤中找出的被替换Cache Line给出,写数据是需要被写入的Cache Line完整内容,包括控制域和Cache数据域,其中控制域信息根据访问Cache Line的请求确定,Cache数据域内容由第八步骤中返回的访存数据确定;
第十步骤:本次高速缓冲存储器访问操作结束。
本公开还提供一种用于上述技术方案提供的任意一种堆叠式Cache系统的Cache控制方法,所述Cache控制方法将集成于存储晶圆结构每一层的存储晶圆的SEDRAM单元作为高速缓冲存储器(Cache)的部分存储空间进行控制,Cache数据域(Cache Data)存储在所述SEDRAM单元中,控制域(Cache Control)存储在集成于处理器晶圆结构的Cache SRAM中,具体步骤如下:
第一步骤:集成于所述处理器晶圆结构的CPU给出访存地址;
第二步骤:根据访存地址,集成于所述处理器晶圆结构的Cache控制器先访问所述Cache SRAM,从所述Cache SRAM中读出对应的控制域,所述控制域包括Cache状态域和Cache标签域;
第三步骤:对访存地址与Tag相对应的位与从所述Cache SRAM读出的Cache标签域进行地址比较;
第四步骤:如果访存地址对应于Tag的位与其中一路的Cache标签域完全相同、且Cache Line的状态位处于有效状态,则判断所述高速缓冲存储器访问命中(Cache Hit),否则判断所述高速缓冲存储器访问未命中(Cache Miss);
第五步骤:当所述高速缓冲存储器访问命中时,根据访存地址,通过集成于所述处理器晶圆结构的SEDRAM控制器从所述SEDRAM单元中读出访存地址对应的Cache Line中的Cache数据域(Cache Data)的内容,作为本次访存操作的结果,直接执行第十步骤;
第六步骤:当所述高速缓冲存储器访问未命中时,如果存在下一级高速缓冲存储器,所述Cache控制器向下一级高速缓冲存储器发送访存操作请求,并等待该访存操作请求所 对应的数据返回;当该访存操作请求所对应的数据返回所述Cache控制器后,执行第八步骤;
第七步骤:如果所述高速缓冲存储器访问未命中,且本级高速缓冲存储器是最后一级高速缓冲存储器时,所述Cache控制器直接通过集成于处理器晶圆的内存控制器向内存发送访存操作请求,并等待该访问内存的访存操作请求所对应的数据返回;当该访问内存的访存操作请求所对应的数据返回所述Cache控制器后,执行第八步骤;
第八步骤:Cache控制器将返回的访存数据发送给CPU,同时通过高速缓冲存储器替换算法找出一个Cache路中的Cache Line;被找出的Cache Line作为被替换(Replace)的Cache Line,根据被替换的Cache Line是未被使用的Cache Line、被使用但非脏(dirty)的Cache Line、或脏(dirty)的Cache Line,以及Cache写策略进行写回块的处理;
第九步骤:所述Cache控制器在第八步骤中返回的访存数据返回后对第八步骤中找出的被替换Cache Line进行控制域和Cache数据域的填充,其中控制域内容根据第六、七步骤中发出的访存请求确定,通过所述Cache控制器填充到第八步骤中找出的被替换Cache Line所对应的Cache SRAM存储空间中;Cache数据域内容根据返回的访存数据确定,通过所述SEDRAM控制器向所述存储晶圆结构上与写地址对应的SEDRAM单元发出写操作,填充到第八步骤中找出的被替换Cache Line所对应的SEDRAM单元存储空间中,写地址由所述Cache控制器根据被替换的Cache Line给出;
第十步骤:本次高速缓冲存储器访问操作结束。
本公开还提供一种基于SEDRAM的堆叠式Cache装置,包括上述第一方面的十一种可能的实现方式中的任意一种堆叠式Cache系统。
根据本公开提供的基于SEDRAM的堆叠式Cache系统、Cache控制方法和Cache装置,采用SEDRAM单元作为该Cache系统的高速缓冲存储器(Cache)的存储空间,可以大幅度增加Cache容量,实现不同功能、不同工艺的晶圆之间的数据快速、短距离传输并有效突破“存储墙”的限制,打造真正的存算一体。
根据本公开提供的基于SEDRAM的堆叠式Cache系统、Cache控制方法和Cache装置,采用SEDRAM单元作为该Cache系统的Cache的整体存储空间或者其中一级Cache的整体存储空间,处理器晶圆和集成有SEDRAM单元的存储晶圆直接键合连接,大幅度增加Cache容量,可以将Cache的存储容量提高到GB(Gigabyte,2
20字节)量级,与传统Cache容量相比至少可以提高一个数量级;同时,还能提高Cache的命中率,加快热点数据的读取速度,提升CPU内部读取数据的命中率,综合提高系统性能,同时降低成本、功耗和延时;除此之外,还可以大幅度增加大容量存储器的数据传输带宽,节省处理器芯片的存储资源,实现在同样大小面积的芯片上集成更多的处理逻辑,如集成更多人工智能(Artificial Intelligence,AI)核或其它协处理器(Coprocessor)核,实现更多的功能和更强的计算能力。
根据本公开提供的基于SEDRAM的堆叠式Cache系统、Cache控制方法和Cache装置,采用SEDRAM单元作为该Cache系统的Cache的部分存储空间或者其中一级Cache的部分存储空间,片内Cache SRAM中可以存储更多的控制域,大幅度增加Cache容量,可以将Cache的存储容量提高到GB(Gigabyte,2
20字节)量级,与传统Cache容量相比至少可以提高一个数量级,还可提高Cache的命中率,加快热点数据的读取速度,提升CPU内部读取数据的命中率,综合提高系统性能,同时降低成本、功耗和延时,并大幅度增加大容量存储器的数据传输带宽。
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本公开实施例提供的SEDRAM作为Cache整体存储空间的堆叠式Cache系统示意图;
图2为本公开实施例提供的SEDRAM作为Cache部分存储空间的堆叠式Cache系统示意图;
图3为本公开实施例提供的SEDRAM和CPU的堆叠式Cache系统结构示意图;
图4为本公开实施例提供的可选的SEDRAM和CPU的堆叠式Cache系统结构示意图;
图5为本公开实施例提供的SEDRAM作为Cache整体存储空间的Cache控制方法流程图;
图6为本公开实施例提供的SEDRAM作为Cache部分存储空间的Cache控制方法流程图。
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
在本公开实施例中,SEDRAM(Stacking Embedded Dynamic Random Access Memory, 三维堆叠嵌入式动态随机存储器)是一种DRAM结构,其利用纳米级互连技术将多片晶圆或晶圆与芯片在垂直方向互相连接在一起,两片晶圆堆叠技术S-stacking或多片晶圆堆叠技术M-stacking可以实现两片或多片不同工艺、不同功能的晶圆直接金属互连,达到更高的互连密度及对准精度。S-stacking技术和M-stacking技术可直接将存储(Memory)晶圆和逻辑(Logic)晶圆堆叠在一起,并行高效处理架构,在不同功能的晶圆之间实现数据快速传输,实现更短的连接距离,提升连接速度和通道数目。
第63届国际电子器件大会(IEDM 2020)上发表的题为《采用3D混合键合技术具有34GB/s/1Gb带宽和0.88pJ/b能效接口的异质集成嵌入式LPDDR4/LPDDR4X DRAM》(A Stacked Embedded DRAM Array for LPDDR4/4Xusing Hybrid Bonding 3D Integration with 34GB/s/1Gb 0.88pJ/b Logic-to-MemoryInterface)的技术论文中公开了SEDRAM。
高速缓冲存储器(Cache)通常分为多级Cache,每一级Cache内部又可以分成多个路(way),每个路有多个Cache Line(Cache行),Cache Line作为一个基本存储块由控制域(简称Cache Control)和Cache数据域(简称Cache Data)两个部分构成;控制域再划分为Cache状态域(Cache State)和Cache标签域(Cache Tag),多核处理器系统还包括目录域(简称Directory)信息等。
Cache状态域代表本Cache Line的状态,包括标记这个Cache Line是否保存着有效的数据(有效位,valid位),只有在之前被访问过的存储地址,它的数据才会存在于对应的Cache Line中,相应的有效位也会被置为1;是否有被写过的最新数据(脏位,dirty位),即数据是否与下一级存储系统(下一级Cache或内存)保持一致等等。
Cache标签域存储Cache Line数据对应的地址,用于判断本Cache Line是否是当前访问地址所对应的内容。
目录域(Directory)记录多核一致性相关信息,记录多核处理器中哪个处理器核拥有该Cache Line的数据备份,数据是独占使用(Exclusive)还是共享使用(Shared)等信息。
Cache数据域存放访存数据,供CPU使用。
Cache Line中的控制域除Cache状态域(Cache State)、Cache标签域(Cache Tag)、目录域(Directory)外,还可包含年龄位、指令标志位和预取算法的标志位等,年龄位是指Cache替换算法用到的Cache Line的年龄,指令标志位用来标志Cache Line存储的是指令还是数据,预取算法的标志位用来标志是否是预取回来的数据等。
本公开实施例提供了一种基于SEDRAM的堆叠式Cache系统、控制方法和Cache装置,该堆叠式Cache系统集成于多层键合晶圆,并包括:高速缓冲存储器(Cache)、Cache控制器以及SEDRAM控制器,该堆叠式Cache系统采用SEDRAM单元作为Cache的存储空间,处理器晶圆和集成SEDRAM单元的存储晶圆直接键合连接,大幅度增加Cache容量, 可以将Cache容量提高到GB(Gigabyte,2
20字节)量级,与传统Cache容量相比至少可以提高一个数量级。
参考图1、图3,本公开提供了一种基于SEDRAM的堆叠式Cache系统,堆叠式Cache系统集成于多层键合晶圆,并包括高速缓冲存储器(Cache)、Cache控制器以及SEDRAM控制器;SEDRAM控制器可以为单通道也可以为多通道并行访问;根据SEDRAM的分体(bank)数量,SEDRAM控制器可以是一个也可以是多个;
多层键合晶圆包括存储晶圆结构和处理器晶圆结构,存储晶圆结构包括至少一层存储晶圆,处理器晶圆结构包括至少一层处理器晶圆;即:多层键合晶圆可以包括一层处理器晶圆和一层存储晶圆,多层键合晶圆也可以包括一层处理器晶圆和两层存储晶圆,多层键合晶圆还可以包括两层处理器晶圆和一层存储晶圆,处理器晶圆结构中的处理器晶圆的具体层数和存储晶圆结构中的存储晶圆的具体层数,可以根据实际情况进行确定;如图3所示,该Cache系统设置有一层存储晶圆和一层处理器晶圆,即存储晶圆0和处理器晶圆0;
SEDRAM单元集成于存储晶圆结构的每一层存储晶圆中,并用作该Cache系统中的Cache的整体存储空间;也可以采用SEDRAM单元作为其中一级Cache的整体存储空间;如图3所示,SEDRAM单元集成在存储晶圆0上,SEDRAM单元作为该Cache系统中的Cache的整体存储空间,存储Cache Line的Cache数据域和控制域,并且处理器晶圆0集成有CPU、Cache控制器、SEDRAM控制器及内存控制器;晶圆之间通过键合结构进行管脚对管脚(Pin to Pin)的数据直接传输,这里的晶圆之间是指:存储晶圆和处理器晶圆之间、存储晶圆和存储晶圆之间以及处理器晶圆和处理器晶圆之间;
多层键合晶圆上集成的全部逻辑模块构成完整的处理器系统;内存一般集成在芯片外的主板上;存储晶圆和处理器晶圆可以先进行整晶圆键合,再进行划片,并完成封装;
Cache控制器是该堆叠式Cache系统的控制核心,Cache控制器配置成判断该Cache系统中的Cache是否命中,向CPU、SEDRAM控制器以及内存控制器发出相应的命令操作及数据交互请求;SEDRAM控制器控制读出或写入SEDRAM单元的内容。
更进一步地,SEDRAM单元存储的内容包括控制域(Cache Control)和Cache数据域(Cache Data);控制域包括Cache状态域(Cache State)和Cache标签域(Cache Tag),控制域还可以包括目录域(Directory)信息。
采用SEDRAM单元作为该Cache系统中的Cache的整体存储空间或者其中一级Cache的整体存储空间,处理器晶圆和集成SEDRAM单元的存储晶圆直接键合连接,大幅度增加Cache容量,可以将Cache的存储容量提高到GB(Gigabyte,2
20字节)量级,与传统Cache容量相比至少可以提高一个数量级;同时,还能提高Cache的命中率,加快热点数据的读取速度,提升CPU内部读取数据的命中率,综合提高系统性能,同时降低成本、功耗和延 时;除此之外,还可以大幅度增加大容量存储器的数据传输带宽,节省处理器芯片的存储资源,实现在同样大小面积的芯片上集成更多的处理逻辑,如集成更多人工智能(Artificial Intelligence,AI)核或其它协处理器(Coprocessor)核,实现更多的功能和更强的计算能力。
参考图2、图4,本公开提供了一种基于SEDRAM的堆叠式Cache系统,堆叠式Cache系统集成于多层键合晶圆,并包括高速缓冲存储器(Cache)、Cache控制器以及SEDRAM控制器;SEDRAM控制器可以为单通道也可以为多通道并行访问;根据SEDRAM的分体(bank)数量,SEDRAM控制器可以是一个也可以是多个;
多层键合晶圆包括存储晶圆结构和处理器晶圆结构,存储晶圆结构包括至少一层存储晶圆,处理器晶圆结构包括至少一层处理器晶圆;即:多层键合晶圆可以包括一层处理器晶圆和一层存储晶圆,多层键合晶圆也可以包括一层处理器晶圆和两层存储晶圆,多层键合晶圆还可以包括两层处理器晶圆和一层存储晶圆,处理器晶圆结构中的处理器晶圆的具体层数和存储晶圆结构中的存储晶圆的具体层数,可以根据实际情况进行确定;如图4所示,该Cache系统设置有两层存储晶圆和一层处理器晶圆,即存储晶圆0、存储晶圆1以及处理器晶圆0;
SEDRAM单元集成于存储晶圆结构的每一层存储晶圆中,并用作该Cache系统中的Cache的部分存储空间;也可以采用SEDRAM单元作为其中一级Cache的部分存储空间;如图4所示,SEDRAM单元集成在存储晶圆0和存储晶圆1上,处理器晶圆0上集成有CPU、SEDRAM控制器、Cache控制器、Cache SRAM及内存控制器,SEDRAM单元作为该Cache系统中的Cache的部分存储空间存储Cache Line中的Cache数据域,Cache Line的控制域信息存储在Cache SRAM中;晶圆之间通过键合结构进行管脚对管脚(Pin to Pin)的数据直接传输,这里的晶圆之间是指:存储晶圆和处理器晶圆之间、存储晶圆和存储晶圆之间以及处理器晶圆和处理器晶圆之间;
多层键合晶圆上集成的全部逻辑模块构成完整的处理器系统;内存一般集成在芯片外的主板上;存储晶圆和处理器晶圆可以先进行整晶圆键合,再进行划片,并完成封装;
更进一步地,Cache控制器是该堆叠式Cache系统的控制核心,Cache控制器配置成判断该Cache系统中的Cache是否命中,向CPU、SEDRAM控制器以及内存控制器发出相应的命令操作及数据交互请求;SEDRAM控制器控制读出或写入SEDRAM单元的内容;Cache控制器还配置成读出或写入Cache SRAM中存储的内容。
具体地,SEDRAM单元作为该Cache系统中的Cache的部分存储空间,SEDRAM单元存储的内容为Cache数据域;Cache SRAM存储的内容为控制域;控制域包括Cache状态域和Cache标签域,控制域还可以包括目录域信息。
采用SEDRAM单元作为该Cache系统中的Cache的部分存储空间或者其中一级Cache的部分存储空间,Cache SRAM中可以存储更多的控制域,大幅度增加Cache容量,可以将Cache的存储容量提高到GB(Gigabyte,2
20字节)量级,与传统Cache容量相比至少可以提高一个数量级,还可提高Cache的命中率,加快热点数据的读取速度,提升CPU内部读取数据的命中率,综合提高系统性能,同时降低成本、功耗和延时,并大幅度增加大容量存储器的数据传输带宽。
基于SEDRAM的堆叠式Cache系统的组织方式可以是组相联(set-associative)、直接相联(direct-mapped)和全相联(fully-associative)等。堆叠式Cache系统既可以作为处理器系统的其中一级Cache(其余各级Cache通常实现在CPU内部),也可以作为处理器系统的唯一一级Cache存在。
在上述堆叠式Cache系统中,SEDRAM单元并不集成在处理器芯片内部,而是集成在存储晶圆结构的每一层存储晶圆上;采用SEDRAM单元作为该Cache系统中的Cache的存储空间,可以提高访问带宽,实现不同功能、不同工艺的晶圆之间的数据快速、短距离传输并有效突破“存储墙”的限制,打造真正的存算一体;除此之外,还可以极大地提高Cache容量,提高Cache的命中率,加快热点数据的读取速度,提升CPU内部读取数据的命中率,综合提高系统性能,同时降低成本、功耗和延时。
参考图5,本公开提供了一种用于上述内容中任意一种堆叠式Cache系统的Cache控制方法,将集成于存储晶圆结构的每一层存储晶圆中的SEDRAM单元作为该Cache系统中的Cache的整体存储空间进行控制,控制域和Cache数据域都存储在SEDRAM单元中;
该Cache控制方法的具体步骤如下:
第一步骤S10:集成于处理器晶圆结构的CPU输出访存地址;
第二步骤S11:根据访存地址,Cache控制器发送读请求给集成于处理器晶圆结构的SEDRAM控制器,SEDRAM控制器从SEDRAM单元中读出所需要的Cache Line,Cache Line包括控制域和Cache数据域(Cache Data),控制域包括Cache状态域(Cache State)和Cache标签域(Cache Tag);
第三步骤S12:对访存地址中对应于Tag的位与Cache Line中的Cache Tag进行地址比较;
第四步骤S13:如果访存地址对应于Tag的位与其中一路的Cache Tag完全相同、且Cache Line的状态位处于有效状态,则判断Cache访问命中(Cache Hit),否则判断Cache访问未命中(Cache Miss);
第五步骤S14:当Cache访问命中后,直接把Cache Line中的Cache Data内容读回到CPU中,作为本次访存操作的结果,并直接执行第十步骤S19;
第六步骤S15:当Cache访问未命中时,如果存在下一级Cache,Cache控制器向下一级Cache发送访存操作请求,并等待该访存操作请求所对应的数据返回;当该访存操作请求所对应的数据返回Cache控制器后,执行第八步骤S17;
第七步骤S16:如果Cache访问未命中,且本级Cache是最后一级Cache时,Cache控制器直接通过集成于处理器晶圆结构的内存控制器向内存发送访存操作请求,并等待该访问内存的访存操作请求所对应的数据返回;当该访问内存的访存操作请求所对应的数据返回Cache控制器后,执行第八步骤S17;
第八步骤S17:Cache控制器将返回的访存数据发送给CPU,同时通过Cache替换算法找出一个Cache路中的Cache Line;被找出的Cache Line作为被替换(Replace)的Cache Line,根据被替换的Cache Line是未被使用的Cache Line、被使用但非脏(dirty)的Cache Line、或脏(dirty)的Cache Line,以及Cache写策略进行写回块的处理;Cache替换算法有随机替换(Random)、最近最少使用(LRU)、最不经常使用(LFU)和先进先出(FIFO)等;Cache写策略有写回(Write Back)或写穿透(Write Through)等;
第九步骤S18:所述Cache控制器将第八步骤S17中返回的访存数据填充(Refill)到被替换的Cache Line所对应的SEDRAM单元存储空间中,由所述SEDRAM控制器向所述存储晶圆结构上与写地址对应的SEDRAM单元发出写操作,写操作的写地址由所述Cache控制器根据第八步骤S17中找出的被替换Cache Line给出,写数据是需要被写入的Cache Line完整内容,包括控制域和Cache数据域,其中控制域信息根据访问Cache Line的请求确定,Cache数据域内容由第八步骤S17中返回的访存数据确定;
第十步骤S19:本次Cache访问操作结束。
下面以单核处理器为例进行说明,因为处理器晶圆和集成SEDRAM单元的存储晶圆采用堆叠式结构,可以提供大容量高带宽,单核处理器的堆叠式Cache为4路组相联1GB Cache,每路的容量为2
18字节,每个Cache Line对应1024位宽的Cache数据域,即每个Cache Line对应2
7字节数据,每路2
11个Cache Line;Cache替换策略为随机(Random)替换,Cache替换块写策略为写回策略。Cache状态位为2位,1位为valid位(即,有效位),即Cache数据是否有效,1位为dirty位(即,脏位),表示Cache中的数据是否是被写过,即是否与下一级存储系统一致;CPU的访存地址为40位。
对于上述单核处理器,采用上述方法时可以包括以下具体步骤:
第一步骤S10,CPU给出访存物理地址为40位1fc0000000(采用16进制表示),采用二进制表示为:0001 1111 1100 0000 0000 0000 0000 0000 0000 0000;
第二步骤S11,根据访存地址,Cache控制器发送请求访问地址1fc0000000给SEDRAM控制器,SEDRAM控制器从SEDRAM单元中读出所需要的4路Cache Line;访存地址低7 位([6:0])(0000000)为Cache Line的行内地址,称为Offset,即找到Cache Line内对应的字节的地址;访存地址接下来的11位([17:7])(00000000000)为Cache Line地址,称为Index,即定位具体的Cache Line的地址,即从四路的第0行读取Cache Line;
第三步骤S12:访存地址对应于Tag的位为地址位的高22位([39:18])(0001 1111 1100 0000 0000 00),与从SEDRAM单元读出来的Cache Line中的Cache Tag域进行地址比较;
第四步骤S13:地址比较结果为访存地址对应于Tag的位([39:18])(0001 1111 1100 0000 0000 00)与其中一路(第01路)的Tag一致,且该路对应的Cache Line的状态位处于有效状态,即valid为1,则认为Cache访问命中(Cache Hit);
第五步骤S14:当Cache访问命中后,直接把Cache Line中的Cache Data内容读回到CPU中,作为本次访存操作的结果,直接执行第十步骤S19;
第十步骤S19:CPU为单核处理器,本次Cache访问操作结束。
采用SEDRAM单元作为该Cache系统中的Cache的整体存储空间或者该Cache系统中的Cache的其中一级Cache的整体存储空间,处理器晶圆和集成SEDRAM单元的存储晶圆直接键合连接,大幅度增加Cache容量,可以将Cache的存储容量提高到GB(Gigabyte,2
20字节)量级,与传统Cache容量相比至少可以提高一个数量级;同时,还能提高Cache的命中率,加快热点数据的读取速度,提升CPU内部读取数据的命中率,综合提高系统性能,同时降低成本、功耗和延时;除此之外,还可以大幅度增加大容量存储器的数据传输带宽,节省处理器芯片的存储资源,实现在同样大小面积的芯片上集成更多的处理逻辑,如集成更多人工智能(Artificial Intelligence,AI)核或其它协处理器(Coprocessor)核,实现更多的功能和更强的计算能力。
参考图6,本公开提供了一种用于上述内容中任意一种堆叠式Cache系统的Cache控制方法,Cache控制方法将集成于存储晶圆结构的每一层存储晶圆中的SEDRAM单元作为该Cache系统中的Cache的部分存储空间进行控制,Cache数据域(Cache Data)存储在SEDRAM单元中,控制域(Cache Control)存储在与CPU一起集成于处理器晶圆结构的Cache SRAM中;
该控制方法具体步骤如下:
第一步骤S20:集成于处理器晶圆结构的CPU给出访存地址;
第二步骤S21:根据访存地址,集成于处理器晶圆结构的Cache控制器先访问Cache SRAM,从Cache SRAM中读出对应的控制域,控制域包括Cache状态域和Cache标签域;
第三步骤S22:对访存地址与Tag相对应的位与从Cache SRAM读出的Cache Tag进行地址比较;
第四步骤S23:如果访存地址对应于Tag的位与其中一路的Cache Tag完全相同、且 Cache Line的状态位处于有效状态,则判断Cache访问命中(Cache Hit),否则判断Cache访问未命中(Cache Miss);
第五步骤S24:当Cache访问命中时,根据访存地址,通过集成于处理器晶圆结构的SEDRAM控制器从SEDRAM单元中读出访存地址对应的Cache Line中的Cache数据域(Cache Data)的内容,作为本次访存操作的结果,直接执行第十步骤S29;
第六步骤S25:当Cache访问未命中时,如果存在下一级Cache,Cache控制器向下一级Cache发送访存操作请求,并等待该访存操作请求所对应的数据返回;当该访存操作请求所对应的数据返回Cache控制器后,执行第八步骤S27;
第七步骤S26:如果Cache访问未命中,且本级Cache是最后一级Cache时,Cache控制器直接通过内存控制器向内存发送访存操作请求,并等待该访问内存的访存操作请求所对应的数据返回;当该访问内存的访存操作请求所对应的数据返回Cache控制器后,执行第八步骤S27;
第八步骤S27:Cache控制器将返回的访存数据发送给CPU,同时通过Cache替换算法找出一个Cache路中的Cache Line;被找出的Cache Line作为被替换(Replace)的Cache Line,根据被替换的Cache Line是未被使用的Cache Line、被使用但非脏(dirty)的Cache Line、或脏(dirty)的Cache Line,以及Cache写策略进行写回块的处理;
第九步骤S28:所述Cache控制器在第八步骤S27中返回的访存数据返回后对第八步骤S27中找出的被替换Cache Line进行控制域和Cache数据域的填充,其中控制域内容根据第六步骤S25或第七步骤S26中发出的访存请求确定,通过所述Cache控制器填充(Refill)到第八步骤S27中找出的被替换Cache Line所对应的Cache SRAM存储空间中;Cache数据域内容根据返回的访存数据确定,通过所述SEDRAM控制器向所述存储晶圆结构上与写地址对应的SEDRAM单元发出写操作,填充(Refill)到第八步骤S27中找出的被替换Cache Line所对应的SEDRAM单元存储空间中,写地址由所述Cache控制器根据被替换的Cache Line给出;
第十步骤S29:本次Cache访问操作结束。
下面以单核处理器为例进行说明,因为处理器晶圆和集成SEDRAM单元的存储晶圆采用堆叠式结构,可以提供大容量高带宽,单核处理器的堆叠式Cache为8路组相联2GB Cache,每路的容量为2
18字节,每个Cache Line对应512位宽的数据域,即每个Cache Line包括2
6字节,每路2
12个Cache Line;Cache替换策略为最近最少使用(LRU)替换,Cache替换块写策略为写回策略。Cache状态位为2位,1位为valid位(即,有效位),即Cache数据是否有效,1位为dirty位(即,脏位),表示Cache中的数据是否是被写过;CPU的访存物理地址为48位。
对于上述单核处理器,采用上述控制方法时Cache访问步骤可以包括以下内容:
第一步骤S20:CPU给出访存地址,CPU给出访存物理地址为48位8e0005800000(采用十六进制表示),访存物理地址采用二进制表示为1000 1110 0000 0000 0000 0101 1000 0000 0000 0000 0000 0000;
第二步骤S21:根据访存地址,Cache控制器先访问存放控制域(包括Cache状态域(Cache State)和Cache标签域(Cache Tag))等的Cache SRAM,从中读出对应8路的Cache状态域和Cache标签域;访存地址低6位([5:0])(000000)为Cache Line的行内地址,称为Offset,即找到Cache Line内对应的字节的地址;访存地址接下来的12位([17:6])(000000000000)为Cache Line地址,称为Index,即定位具体的Cache Line的地址,从8路Cache SRAM每一路的第0行读出控制域信息;
第三步骤S22:访存地址对应于Tag的位为地址位的高30位([47:18])(100011100000000000000101100000),与从SEDRAM单元读出来的8路Cache Line中的Cache Tag域进行地址比较;
第四步骤S23:通过Tag比较发现从Cache SRAM读出的8路Tag与访存地址对应的Tag位(100011100000000000000101100000)都不一致,则认为Cache访问未命中(Cache Miss),执行第六步骤S25;
第六步骤S25:Cache访问未命中,而且不存在下一级Cache;
第七步骤S26:如果Cache访问未命中,且本级Cache是最后一级Cache时,Cache控制器直接通过内存控制器向内存发送访存操作请求,访存地址为8e0005800000,并等待该访问内存的访存操作请求所对应的数据返回;访问内存的访存操作请求所对应的数据返回Cache控制器后,执行第八步骤S27;
第八步骤S27:Cache控制器将返回的数据发送给CPU内部,同时通过Cache替换算法LRU算法从8路中找出一个最近最少使用Cache路中的Cache Line,被找出的Cache Line作为被替换(Replace)的Cache Line,该被替换的Cache Line的dirty位为1,表示是脏的Cache Line,写策略为写回,进行写回块的处理,采用十六进制表示的地址为1f0005800000,将SEDRAM单元中该Cache Line的脏数据写回内存对应的地址;
第九步骤S28:内存访问的地址为8e0005800000的访存数据返回后,Cache控制器根据第八步骤S27中找出的被替换(Replace)的Cache Line向Cache SRAM中填充控制域信息,同时发送请求给SEDRAM控制器进行Cache数据域的填充,其中Cache SRAM内被替换的Cache Line所对应的存储空间中的Cache状态域(Cache State)的valid位置为1和dirty位置为0,Cache标签域(Cache Tag)填充为访存地址的[47:18]位的内容(100011100000000000000101100000),Cache数据域(Cache Data)的内容则通过SEDRAM 控制器填充(Refill)到第八步骤S27中找出的被替换Cache Line所对应的SEDRAM单元存储空间中;
第十步骤S29:作为单核处理器,本次Cache访问操作结束。
采用SEDRAM单元作为该Cache系统中的Cache的部分存储空间或者其中一级Cache的部分存储空间,Cache SRAM中可以存储更多的控制域,大幅度增加Cache容量,可以将Cache的存储容量提高到GB(Gigabyte,2
20字节)量级,与传统Cache容量相比至少可以提高一个数量级,还可提高Cache的命中率,加快热点数据的读取速度,提升CPU内部读取数据的命中率,综合提高系统性能,同时降低成本、功耗和延时,并大幅度增加大容量存储器的数据传输带宽。
本公开提供了一种堆叠式Cache装置,包括上述内容提供的任意一种堆叠式Cache系统。
需要说明的是:本公开实施例中提到的Cache容量并非本公开能达到的最高Cache容量,Cache容量大小和处理器芯片的面积、集成SEDRAM单元的密度、SEDRAM存储晶圆堆叠层数、SEDRAM的制作工艺密切相关,处理器芯片的面积越大、存储晶圆密度越大、存储晶圆堆叠层数越多且能堆叠的SEDRAM制作工艺越先进,Cache容量也就越大,Cache容量可以达到4GB、8GB甚至更高。
本公开采用SEDRAM作为Cache的存储空间。这里提到的Cache可以是处理器系统内所有的Cache作为一个整体设置在存储晶圆上,也可以作为其中一级Cache设置在存储晶圆上,处理器系统中的其它级Cache可以集成在CPU内,也可以设置在CPU外围,其它级Cache可以是SRAM,也可以是DRAM、HBM(High Bandwidth Memory)等,这些情况均不影响本公开的保护范围。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不 需要对其进行进一步定义和解释。以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (13)
- 一种基于SEDRAM的堆叠式Cache系统,其特征在于,所述堆叠式Cache系统集成于多层键合晶圆,并包括:高速缓冲存储器、Cache控制器以及SEDRAM控制器;所述多层键合晶圆包括存储晶圆结构和处理器晶圆结构;所述存储晶圆结构包括至少一层存储晶圆;所述处理器晶圆结构包括至少一层处理器晶圆;SEDRAM单元集成于所述存储晶圆结构的每一层存储晶圆中,并用作所述高速缓冲存储器的存储空间;所述处理器晶圆结构,集成有CPU、Cache控制器、SEDRAM控制器及内存控制器;晶圆之间通过键合结构进行管脚对管脚的数据直接传输;所述晶圆之间通过键合结构进行管脚对管脚的数据直接传输,包括:所述存储晶圆结构中的存储晶圆与所述处理器晶圆结构中的处理器晶圆之间通过键合结构进行管脚对管脚的数据直接传输;所述存储晶圆结构中的存储晶圆之间通过键合结构进行管脚对管脚的数据直接传输;所述处理器晶圆结构中的处理器晶圆之间通过键合结构进行管脚对管脚的数据直接传输;所述Cache控制器配置成判断所述高速缓冲存储器是否命中,向所述CPU、所述SEDRAM控制器以及所述内存控制器发出相应的命令操作及数据交互请求;所述SEDRAM控制器控制读出或写入所述SEDRAM单元的内容。
- 根据权利要求1所述的堆叠式Cache系统,其特征在于,所述SEDRAM单元存储的内容,包括控制域和Cache数据域,所述控制域包括Cache状态域、Cache标签域。
- 根据权利要求2所述的堆叠式Cache系统,其特征在于,所述控制域还包括目录域信息。
- 根据权利要求1所述的堆叠式Cache系统,其特征在于,所述处理器晶圆结构还包括集成于所述处理器晶圆结构的Cache SRAM,所述SEDRAM单元和Cache SRAM用作所述高速缓冲存储器的存储空间。
- 根据权利要求4所述的堆叠式Cache系统,其特征在于,所述Cache控制器配置成判断所述高速缓冲存储器是否命中,向所述CPU、所述SEDRAM控制器以及所述内存控制器发出相应的命令操作及数据交互请求;所述SEDRAM控制器控制读出或写入所述SEDRAM单元的内容;所述Cache控制器还配置成读出或写入所述Cache SRAM中存储的内容。
- 根据权利要求5所述的堆叠式Cache系统,其特征在于,所述SEDRAM单元存储的内容为Cache数据域;所述Cache SRAM存储的内容为控制域;所述控制域包括Cache状态域和Cache标签域。
- 根据权利要求6所述的堆叠式Cache系统,其特征在于,所述控制域还包括有目录域信息。
- 根据权利要求1-7任一项所述的堆叠式Cache系统,其特征在于,采用所述SEDRAM单元作为所述高速缓冲存储器的其中任一级的高速缓冲存储器的存储空间。
- 根据权利要求8所述的堆叠式Cache系统,其特征在于,所述处理器晶圆结构设置一层处理器晶圆,所述存储晶圆结构设置一层或两层存储晶圆。
- 根据权利要求1-7任一项所述的堆叠式Cache系统,其特征在于,所述处理器晶圆结构设置一层处理器晶圆,所述存储晶圆结构设置一层或两层存储晶圆。
- 一种用于如权利要求1-3中任一项所述的堆叠式Cache系统的Cache控制方法,其特征在于,所述Cache控制方法将集成于存储晶圆结构每一层的存储晶圆的SEDRAM单元,作为高速缓冲存储器的整体存储空间进行控制,控制域和Cache数据域都存储在所述SEDRAM单元中,具体步骤如下:第一步骤:集成于处理器晶圆结构的CPU输出访存地址;第二步骤:根据访存地址,集成于所述处理器晶圆结构的Cache控制器发送读请求给集成于所述处理器晶圆结构的SEDRAM控制器,所述SEDRAM控制器从所述SEDRAM单元中读出所需要的Cache Line,所述Cache Line包括所述控制域和所述Cache数据域,所述控制域包括Cache状态域和Cache标签域;第三步骤:对访存地址中对应于Tag的位与所述Cache Line中的所述Cache标签域进行地址比较;第四步骤:如果访存地址对应于Tag的位与其中一路的Cache标签域完全相同、且所述Cache Line的状态位处于有效状态,则判断所述高速缓冲存储器访问命中,否则判断所述高速缓冲存储器访问未命中;第五步骤:当所述高速缓冲存储器访问命中后,所述Cache控制器直接把所述Cache Line中的所述Cache数据域内容读回到CPU中,作为本次访存操作的结果,并直接执行第十步骤;第六步骤:当所述高速缓冲存储器访问未命中时,如果存在下一级高速缓冲存储器,所述Cache控制器向下一级高速缓冲存储器发送访存操作请求,并等待所述访存操作请求所对应的数据返回;当所述访存操作请求所对应的数据返回所述Cache控制器后,执行第 八步骤;第七步骤:如果所述高速缓冲存储器访问未命中,且本级高速缓冲存储器是最后一级高速缓冲存储器时,所述Cache控制器直接通过集成于所述处理器晶圆结构的内存控制器向内存发送访存操作请求,并等待访问内存的访存操作请求所对应的数据返回;当访问内存的访存操作请求所对应的数据返回所述Cache控制器后,执行第八步骤;第八步骤:所述Cache控制器将返回的访存数据发送给CPU,同时通过高速缓冲存储器替换算法找出一个Cache路中的Cache Line;被找出的Cache Line作为被替换的Cache Line,根据被替换的Cache Line是未被使用的Cache Line、被使用但非脏的Cache Line、或脏的Cache Line,以及Cache写策略进行写回块的处理;第九步骤:所述Cache控制器将第八步骤中返回的访存数据填充到被替换的Cache Line所对应的SEDRAM单元存储空间中,由所述SEDRAM控制器向所述存储晶圆结构上与写地址对应的SEDRAM单元发出写操作,写操作的写地址由所述Cache控制器根据第八步骤中找出的被替换的Cache Line给出,写数据是需要被写入的Cache Line的完整内容,包括控制域和Cache数据域,其中控制域信息根据访问Cache Line的请求确定,Cache数据域内容由第八步骤中返回的访存数据确定;第十步骤:本次高速缓冲存储器访问操作结束。
- 一种用于如权利要求4-7中任一项所述的堆叠式Cache系统的Cache控制方法,其特征在于,所述Cache控制方法将集成于存储晶圆结构每一层的存储晶圆的SEDRAM单元,作为高速缓冲存储器的部分存储空间进行控制,Cache数据域存储在所述SEDRAM单元中,控制域存储在集成于处理器晶圆结构的Cache SRAM中,具体步骤如下:第一步骤:集成于所述处理器晶圆结构的CPU给出访存地址;第二步骤:根据访存地址,集成于所述处理器晶圆结构的Cache控制器先访问所述Cache SRAM,从所述Cache SRAM中读出对应的控制域,所述控制域包括Cache状态域和Cache标签域;第三步骤:对访存地址与Tag相对应的位与从所述Cache SRAM读出的Cache标签域进行地址比较;第四步骤:如果访存地址对应于Tag的位与其中一路的Cache标签域完全相同、且Cache Line的状态位处于有效状态,则判断所述高速缓冲存储器访问命中,否则判断所述高速缓冲存储器访问未命中;第五步骤:当所述高速缓冲存储器访问命中时,根据访存地址,通过集成于所述处理器晶圆结构的SEDRAM控制器从所述SEDRAM单元中读出访存地址对应的Cache Line中的Cache数据域的内容,作为本次访存操作的结果,直接执行第十步骤;第六步骤:当所述高速缓冲存储器访问未命中时,如果存在下一级高速缓冲存储器,所述Cache控制器向下一级高速缓冲存储器发送访存操作请求,并等待所述访存操作请求所对应的数据返回;当所述访存操作请求所对应的数据返回所述Cache控制器后,执行第八步骤;第七步骤:如果所述高速缓冲存储器访问未命中,且本级高速缓冲存储器是最后一级高速缓冲存储器时,所述Cache控制器直接通过内存控制器向内存发送访存操作请求,并等待访问内存的访存操作请求所对应的数据返回;当访问内存的访存操作请求所对应的数据返回所述Cache控制器后,执行第八步骤;第八步骤:所述Cache控制器将返回的访存数据发送给CPU,同时通过高速缓冲存储替换算法找出一个Cache路中的Cache Line;被找出的Cache Line作为被替换的Cache Line,根据被替换的Cache Line是未被使用的Cache Line、被使用但非脏的Cache Line、或脏的Cache Line,以及Cache写策略进行写回块的处理;第九步骤:所述Cache控制器在第八步骤中返回的访存数据返回后对第八步骤中找出的被替换Cache Line进行控制域和Cache数据域的填充,其中控制域内容根据第六、七步骤中发出的访存请求确定,通过所述Cache控制器填充到第八步骤中找出的被替换Cache Line所对应的Cache SRAM存储空间中;Cache数据域内容根据返回的访存数据确定,通过所述SEDRAM控制器向所述存储晶圆结构上与写地址对应的SEDRAM单元发出写操作,填充到被替换的Cache Line所对应的SEDRAM单元存储空间中,写地址由所述Cache控制器根据被替换的Cache Line给出;第十步骤:本次高速缓冲存储器访问操作结束。
- 一种基于SEDRAM的堆叠式Cache装置,其特征在于,包括权利要求1-10任一项所述的堆叠式Cache系统。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21870564.8A EP4071593A4 (en) | 2021-02-26 | 2021-05-28 | SEDRAM-BASED STACKED CACHE MEMORY SYSTEM, AND APPARATUS AND CONTROL METHOD THEREOF |
US17/708,130 US20220276969A1 (en) | 2021-02-26 | 2022-03-30 | Sedram-based stacked cache system and device and controlling method therefor |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110214197.9A CN112558889B (zh) | 2021-02-26 | 2021-02-26 | 一种基于SEDRAM的堆叠式Cache系统、控制方法和Cache装置 |
CN202110214197.9 | 2021-02-26 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/708,130 Continuation US20220276969A1 (en) | 2021-02-26 | 2022-03-30 | Sedram-based stacked cache system and device and controlling method therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022178998A1 true WO2022178998A1 (zh) | 2022-09-01 |
Family
ID=75034726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/096732 WO2022178998A1 (zh) | 2021-02-26 | 2021-05-28 | 一种基于SEDRAM的堆叠式Cache系统、控制方法和Cache装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112558889B (zh) |
WO (1) | WO2022178998A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112558889B (zh) * | 2021-02-26 | 2021-05-28 | 北京微核芯科技有限公司 | 一种基于SEDRAM的堆叠式Cache系统、控制方法和Cache装置 |
CN113643739A (zh) * | 2021-09-02 | 2021-11-12 | 西安紫光国芯半导体有限公司 | 一种llc芯片及缓存系统 |
CN113934170A (zh) * | 2021-10-14 | 2022-01-14 | 西安紫光国芯半导体有限公司 | Scm控制器、系统、三维集成装置以及数据处理方法 |
CN113934375B (zh) * | 2021-10-14 | 2024-04-19 | 西安紫光国芯半导体有限公司 | 固态硬盘ssd控制器、三维集成装置以及数据处理方法 |
CN113674772B (zh) * | 2021-10-25 | 2022-04-12 | 西安紫光国芯半导体有限公司 | 三维集成芯片及其构建方法、数据处理方法、电子设备 |
CN113703690B (zh) * | 2021-10-28 | 2022-02-22 | 北京微核芯科技有限公司 | 处理器单元、访问内存的方法、计算机主板和计算机系统 |
CN113722244B (zh) * | 2021-11-02 | 2022-02-22 | 北京微核芯科技有限公司 | 一种高速缓存结构、访问方法和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110249427A (zh) * | 2019-04-30 | 2019-09-17 | 长江存储科技有限责任公司 | 具有嵌入式动态随机存取存储器的三维存储器件 |
CN110379799A (zh) * | 2019-07-18 | 2019-10-25 | 武汉新芯集成电路制造有限公司 | 一种芯片结构、晶圆结构及其制造方法 |
CN110731012A (zh) * | 2019-04-15 | 2020-01-24 | 长江存储科技有限责任公司 | 具有处理器和异构存储器的一体化半导体器件及其形成方法 |
CN110783337A (zh) * | 2018-07-24 | 2020-02-11 | 英特尔公司 | 堆叠式基于薄膜晶体管的嵌入式动态随机存取存储器 |
WO2020242781A1 (en) * | 2019-05-31 | 2020-12-03 | Kepler Computing Inc. | 3d integrated ultra high-bandwidth memory |
CN112558889A (zh) * | 2021-02-26 | 2021-03-26 | 北京微核芯科技有限公司 | 一种基于SEDRAM的堆叠式Cache系统、控制方法和Cache装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073527B (zh) * | 2016-11-07 | 2020-02-14 | 华为技术有限公司 | 一种缓存替换的方法和设备 |
CN109582214B (zh) * | 2017-09-29 | 2020-04-28 | 华为技术有限公司 | 数据访问方法以及计算机系统 |
-
2021
- 2021-02-26 CN CN202110214197.9A patent/CN112558889B/zh active Active
- 2021-05-28 WO PCT/CN2021/096732 patent/WO2022178998A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110783337A (zh) * | 2018-07-24 | 2020-02-11 | 英特尔公司 | 堆叠式基于薄膜晶体管的嵌入式动态随机存取存储器 |
CN110731012A (zh) * | 2019-04-15 | 2020-01-24 | 长江存储科技有限责任公司 | 具有处理器和异构存储器的一体化半导体器件及其形成方法 |
CN110249427A (zh) * | 2019-04-30 | 2019-09-17 | 长江存储科技有限责任公司 | 具有嵌入式动态随机存取存储器的三维存储器件 |
WO2020242781A1 (en) * | 2019-05-31 | 2020-12-03 | Kepler Computing Inc. | 3d integrated ultra high-bandwidth memory |
CN110379799A (zh) * | 2019-07-18 | 2019-10-25 | 武汉新芯集成电路制造有限公司 | 一种芯片结构、晶圆结构及其制造方法 |
CN112558889A (zh) * | 2021-02-26 | 2021-03-26 | 北京微核芯科技有限公司 | 一种基于SEDRAM的堆叠式Cache系统、控制方法和Cache装置 |
Non-Patent Citations (3)
Title |
---|
ANONYMOUS: "Wuhan Xinxin 3D IC technology platform realizes infinite possibilities of wafer stacking", DEEPTECH, 12 June 2020 (2020-06-12), XP055961784, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/147771577> [retrieved on 20220916] * |
ANONYMOUS: "Xi'an Tsinghua Unigroup Published Heterogeneous Integrated Embedded DRAM (SeDRAM) Paper at IEDM ", TSINGHUA UNIGROUP, 23 January 2021 (2021-01-23), XP055961783, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/346511170> * |
See also references of EP4071593A4 * |
Also Published As
Publication number | Publication date |
---|---|
CN112558889B (zh) | 2021-05-28 |
CN112558889A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022178998A1 (zh) | 一种基于SEDRAM的堆叠式Cache系统、控制方法和Cache装置 | |
Jevdjic et al. | Unison cache: A scalable and effective die-stacked DRAM cache | |
KR101893544B1 (ko) | 물리적 로우에 함께 저장된 태그 및 데이터를 구비한 dram 캐시 | |
Lee et al. | Tiered-latency DRAM: A low latency and low cost DRAM architecture | |
US10310976B2 (en) | System and method for concurrently checking availability of data in extending memories | |
JP3807582B2 (ja) | 情報処理装置及び半導体装置 | |
KR100454441B1 (ko) | 전폭캐쉬를가진집적프로세서/메모리장치 | |
US20130046934A1 (en) | System caching using heterogenous memories | |
CN109582214B (zh) | 数据访问方法以及计算机系统 | |
JP2010532517A (ja) | 連想度を設定可能なキャッシュメモリ | |
WO2013081937A1 (en) | A hardware filter for tracking block presence in large caches | |
US8234453B2 (en) | Processor having a cache memory which is comprised of a plurality of large scale integration | |
TWI652576B (zh) | Memory system and processor system | |
US11232039B2 (en) | Cache for storing regions of data | |
US9058283B2 (en) | Cache arrangement | |
US11921650B2 (en) | Dedicated cache-related block transfer in a memory system | |
US10191664B2 (en) | Memory system | |
JP2001043130A (ja) | コンピュータシステム | |
KR20210025344A (ko) | 이종 메모리를 갖는 메인 메모리 장치, 이를 포함하는 컴퓨터 시스템, 그것의 데이터 관리 방법 | |
EP4064059A1 (en) | Integrated three-dimensional (3d) dram cache | |
US20170109086A1 (en) | Memory system | |
US20220276969A1 (en) | Sedram-based stacked cache system and device and controlling method therefor | |
CN109117388B (zh) | 针对内存端缓存的数据动态旁路装置及方法 | |
WO2022012307A1 (zh) | 数据访问的方法和处理器系统 | |
KR101831226B1 (ko) | 차세대 메모리로 구성된 캐시의 제어 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2021870564 Country of ref document: EP Effective date: 20220331 |
|
ENP | Entry into the national phase |
Ref document number: 2021870564 Country of ref document: EP Effective date: 20220331 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |