CN114691555A - 一种存储设备和计算机设备 - Google Patents
一种存储设备和计算机设备 Download PDFInfo
- Publication number
- CN114691555A CN114691555A CN202110161484.8A CN202110161484A CN114691555A CN 114691555 A CN114691555 A CN 114691555A CN 202110161484 A CN202110161484 A CN 202110161484A CN 114691555 A CN114691555 A CN 114691555A
- Authority
- CN
- China
- Prior art keywords
- memory
- controller
- pcm
- data
- main memory
- 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
Links
- 230000015654 memory Effects 0.000 claims abstract description 224
- 238000004891 communication Methods 0.000 claims description 45
- 230000008859 change Effects 0.000 claims description 3
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 claims 9
- 101000581507 Homo sapiens Methyl-CpG-binding domain protein 1 Proteins 0.000 abstract description 107
- 101001134861 Homo sapiens Pericentriolar material 1 protein Proteins 0.000 abstract description 107
- 102100027383 Methyl-CpG-binding domain protein 1 Human genes 0.000 abstract description 107
- 101150090128 PCM1 gene Proteins 0.000 abstract description 9
- 238000004806 packaging method and process Methods 0.000 description 13
- 239000000463 material Substances 0.000 description 11
- 238000000034 method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 239000007787 solid Substances 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- XOMKZKJEJBZBJJ-UHFFFAOYSA-N 1,2-dichloro-3-phenylbenzene Chemical compound ClC1=CC=CC(C=2C=CC=CC=2)=C1Cl XOMKZKJEJBZBJJ-UHFFFAOYSA-N 0.000 description 5
- ZHBBDTRJIVXKEX-UHFFFAOYSA-N 1-chloro-2-(3-chlorophenyl)benzene Chemical compound ClC1=CC=CC(C=2C(=CC=CC=2)Cl)=C1 ZHBBDTRJIVXKEX-UHFFFAOYSA-N 0.000 description 4
- 239000008187 granular material Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 210000000352 storage cell Anatomy 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- WVHNUGRFECMVLQ-UHFFFAOYSA-N 1,3-dichloro-2-(2,4-dichlorophenyl)benzene Chemical compound ClC1=CC(Cl)=CC=C1C1=C(Cl)C=CC=C1Cl WVHNUGRFECMVLQ-UHFFFAOYSA-N 0.000 description 1
- HLQDGCWIOSOMDP-UHFFFAOYSA-N 2,3,4,5-tetrachlorobiphenyl Chemical compound ClC1=C(Cl)C(Cl)=CC(C=2C=CC=CC=2)=C1Cl HLQDGCWIOSOMDP-UHFFFAOYSA-N 0.000 description 1
- 101100520094 Methanosarcina acetivorans (strain ATCC 35395 / DSM 2834 / JCM 12185 / C2A) pcm2 gene Proteins 0.000 description 1
- 229910052787 antimony Inorganic materials 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 229910052732 germanium Inorganic materials 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012536 packaging technology Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229910052706 scandium Inorganic materials 0.000 description 1
- SIXSYDAISGFNSX-UHFFFAOYSA-N scandium atom Chemical compound [Sc] SIXSYDAISGFNSX-UHFFFAOYSA-N 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052714 tellurium Inorganic materials 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/005—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0004—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0035—Evaluating degradation, retention or wearout, e.g. by counting writing cycles
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/18—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof the devices being of types provided for in two or more different subgroups of the same main group of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B63/00—Resistance change memory devices, e.g. resistive RAM [ReRAM] devices
- H10B63/10—Phase change RAM [PCRAM, PRAM] devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2024—Rewritable memory not requiring erasing, e.g. resistive or ferroelectric RAM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
Abstract
本申请实施例公开了一种存储设备和计算机设备,属于计算机技术领域。所述存储设备包括第一PCM1、主存储器2和控制器3,其中:所述第一PCM1和所述控制器3封装在同一芯片中;所述第一PCM1的时延小于所述主存储器2,所述主存储器2的存储密度大于所述第一PCM1;所述控制器3,用于基于数据的读写热度,将数据存储在所述第一PCM1和所述主存储器2中,其中,所述第一PCM1为所述主存储器2的缓存。采用本申请实施例,可以提高存储设备缓存容量并减小设备成本。
Description
本申请要求于2020年12月30日提交的申请号为202011617059.7、发明名称为“一种内存设备、处理器系统和PCIe设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,特别涉及一种存储设备和计算机设备。
背景技术
随着计算机技术的发展,中央处理器(central processing unit,CPU)的处理能力呈现持续不断快速增长的趋势。然而,动态随机存取存储器(dynamic random accessmemory,DRAM)作为内存受物理特性和工艺的限制,已经无法满足CPU的需求。许多针对DRAM的补充存储方案应运而生。
这些补充存储方案,一般都采用大容量的主存储器,配合静态随机存储器(staticrandom access memory,SRAM)或DRAM缓存使用。
在实现本申请的过程中,发明人发现相关技术至少存在以下问题:
SRAM和DRAM虽然具有较低的时延,但是,SRAM的存储密度很低,在存储设备中占用的面积过大的同时容量也非常有限,且SRAM和DRAM都属于易失性存储器,需要设置掉电保护机制,会大大增加成本。
发明内容
本申请实施例提供了一种存储设备和计算机设备,可以解决存储设备缓存容量低、成本高的问题。所述技术方案如下:
第一方面,提供了一种存储设备,该存储设备包括第一PCM1、主存储器2和控制器3。第一PCM1和控制器3封装在同一芯片中。第一PCM1的时延小于主存储器2,主存储器2的存储密度大于第一PCM1。第一PCM1为主存储器2的缓存。控制器3,用于基于数据的读写热度,将数据存储在第一PCM1和主存储器2中。
存储设备可以为内存或固态硬盘。第一PCM1和控制器3可以采用2D封装或者3D封装。
第一PCM1和主存储器2分别与控制器3通过线路连接。第一PCM1和控制器3通过片内的线路连接,3D封装的情况,通过Die之间的垂直线路连接。主存储器2和控制器3之间可以通过PCB上的线路连接,此提供线路连接的PCB可以是存储设备内部的PCB,也可以是存储设备外的其他设备或部件的PCB,或者,也可以同时包括存储设备内部和外部的PCB。主存储器2和控制器3之间也可以不通过PCB进行线路连接,可以也将主存储器2与第一PCM1、控制器3封装在同一芯片中,主存储器2与第一PCM1、控制器3之间可以采用2D封装的方式,也可以采用3D封装的方式。
控制器3可以基于数据的读写热度,对待存储的数据和/或已存储的数据,在第一PCM1和主存储器2中进行存储调度。第一PCM1的数据的读写热度高于主存储器2的数据的读写热度。
采用较低时延的PCM作为缓存,低时延的PCM介质可以做到在时延低至20ns的同时,仍然具有较高的存储密度,可以达到GB级的存储量,能够有效的权衡时延、面积占用和缓存数据量。而且在断电后能够保持数据几天,这样,对于一些企业级的应用场景(设备掉电后短时间内就会重新上电),完全无需设置掉电保护机制,可以很好的降低存储设备的制造成本。
在上述控制器3的控制逻辑中,控制器3将读写热度较高的数据存入第一PCM1,将读写热度较低的数据存入主存储器2。这样,因为CPU频繁读写的数据是那些读写热度较高的数据,而很少会对那些读写热度较低的数据进行读写操作,而且,第一PCM1的数据的读写热度高于主存储器2的数据的读写热度,所以存储设备对外反映出来的时延主要是第一PCM1的时延,主存储器2的时延基本不会被存储设备外部所察觉。这样,既能够很好的发挥主存储器2存储密度高容量大的优点,又可以保证主存储器2时延较高的问题不会对整个存储设备对外的时延产生太大的影响。
在一种可能的实现方式中,第一PCM1和控制器3采用3D封装,第一PCM1和控制器3在芯片的不同Die中。
3D封装的芯片,可以由两个或两个以上的Die组成,控制器3可以设置在一个或多个Die中,第一PCM1也可以设置在一个或多个Die中。可以将控制器3设置在上、第一PCM1设置在下,或者将第一PCM1设置在上、控制器设置在下,等等。
采用3D封装方式,PCM和控制器位于不同的Die中,PCM和控制器重叠放置,不会重复占用面积,可以减小面积占用,而且PCM和控制器之间通过垂直方向的线路连接,垂直方向的线路相对于水平方向的线路来说,占用面积少很多,基本可以认为不占用面积,进一步减小了面积占用。
在一种可能的实现方式中,控制器3用于对第一PCM1进行读写操作。
控制器3中可以包括第一PCM1的操作电路,操作电路在控制器3中可以为独立的单元,或者,也可以不将操作电路设置为独立的单元,将第一PCM1的操作电路的处理逻辑融入到控制器3的处理逻辑中。
本申请实施例中,通过封装成芯片的方式,PCM和控制器之间是芯片级连接,连接有大量的线路,控制器可以直接对PCM的存储介质中的数据进行读写操作,这样,PCM内部可以不设置常规的操作电路,进而,在数据读写过程中,也省去了控制器与操作电路之间的协议通信,对PCM的数据读写不受常规的控制器与操作电路之间的协议限制,数据读写更加灵活高效。
在一种可能的实现方式中,主存储器2为第二PCM或NAND存储器。
第二PCM可以是具有高存储密度的PCM,也可称作高密度PCM,高密度PCM和NAND存储器都具有较高的存储密度,所以可以在有限的空间占用下提供很大的存储量。
在一种可能的实现方式中,第一PCM1为GB级存储器,主存储器2为TB级存储器,或者,第一PCM1为MB级存储器,主存储器2为GB级存储器。第一PCM1和主存储器2的存储级别可以根据需求灵活设置,这里也只是举出了一些可能的例子。
在一种可能的实现方式中,第一PCM1和控制器3封装在CPU4中。
第一PCM1和控制器2组成的整体在CPU4中可以是一个在物理上相对独立的单元。或者,第一PCM1也可以作为CPU4的缓存,如L4缓存,控制器2可以是CPU4的存储控制单元。
控制器3与CPU4的其他单元之间存在片内连接线路,可以通过片内连接线路进行通信。属于芯片级连接,可以大大减小控制器3与CPU4的其他单元之间通信的时延,可以提高存储设备的传输效率。
在一种可能的实现方式中,存储设备还包括具有DDR接口51的PCB5,主存储器2设置在PCB5上。
主存储器2的产品形式可以设计成标准的DIMM条形式,这样,可以兼容一般主板的DIMM插槽,而且主存储器2可以作为独立的内存条使用。
在一种可能的实现方式中,存储设备还包括PCB6,芯片和主存储器2设置在PCB6上。
该结构中,存储设备是一个完整一体的硬件模组,第一PCM1和控制器3封装的芯片与主存储器2都连接在同一PCB上。控制器3和主存储器2通过PCB6上的线路相连接,以进行通信,控制器3与第一PCM1通过片内的线路连接,以进行通信。这种结构,产品具有更好的完整性。
在一种可能的实现方式中,PCB6具有DDR接口61。
这样,整个存储器的产品形态为一个DIMM条,采用DDR接口61可以很好的兼容标准的DIMM插槽。
在一种可能的实现方式中,PCB6具有PCIe接口62。
这样,整个存储器的产品形态为一个PCIe卡,采用PCIe接口62可以很好的兼容标准的PCIe插槽。
在一种可能的实现方式中,控制器3与CPU4的通信协议为PCIe协议或CXL协议。
存储设备与CPU4之间可以通过PCIe协议通信,存储设备支持I/O语义访问,即支持块寻址。存储设备与CPU4之间也可以通过CXL协议通信,存储设备同时支持内存语义和I/O语义访问,即同时支持字节寻址和块寻址。
在一种可能的实现方式中,控制器3与CPU4的通信协议为私有协议。
存储设备与CPU4之间通过私有协议通信,具有更强的数据读写灵活性。
在一种可能的实现方式中,控制器3支持并行总线通信标准、串行总线通信标准或自定义总线通信标准。
在一种可能的实现方式中,控制器3与主存储器2的通信协议为ONFI协议、toggle协议或私有协议。
第二方面,提供了一种计算机设备,该计算机设备包括如第一方面及其可能的实现方式所述的存储设备。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例中,采用较低时延的PCM作为缓存,低时延的PCM介质可以做到在时延低至20ns的同时,仍然具有较高的存储密度,可以达到GB级的大存储量,而且在断电后能够保持数据几天,无需设置掉电保护机制,从而降低成本。控制器将读写热度较高的数据存入PCM,将读写热度较低的数据存入主存储器,这样,既能够很好的利用主存储器存储密度高容量大的优点,又可以保证主存储器时延较高的问题不会对整个存储设备对外的时延产生太大的影响。采用3D封装方式,PCM和控制器位于不同的Die中,PCM和控制器不会重复占用面积,可以减小面积占用,而且PCM和控制器之间通过垂直方向的线路连接,垂直方向的线路不会占用面积,进一步减小了面积占用。另外,将PCM和控制器封装在同一芯片中,PCM和控制器之间是芯片级连接,可以连接大量的线路,控制器可以直接对PCM中的数据进行读写操作,这样,PCM内部无需设置常规的操作电路,相应的,对PCM的数据读写不受常规的控制器与操作电路之间的协议限制,数据读写更加灵活高效。
附图说明
图1是本申请实施例提供的一种存储设备的结构示意图;
图2是本申请实施例提供的一种存储设备的结构示意图;
图3是本申请实施例提供的一种存储设备的结构示意图;
图4是本申请实施例提供的一种存储设备的结构示意图;
图5是本申请实施例提供的一种存储设备的结构示意图;
图6是本申请实施例提供的一种计算机设备的内部结构示意图;
图7是本申请实施例提供的一种计算机设备的内部结构示意图;
图8是本申请实施例提供的一种计算机设备的内部结构示意图。
图例说明
1、第一PCM 2、主存储器
3、控制器 4、CPU
5、PCB 51、DDR接口
6、PCB 61、DDR接口
62、PCIe接口
具体实施方式
本申请实施例提供了一种存储设备,该存储设备应用于计算机设备中,该计算机设备可以是服务器或终端等。该存储设备可以是计算机设备的外置设备,也可以是计算机设备的内置部件。该存储设备可以是一个完整的一体设备,也可以是由多个分离部件组成的设备。该存储设备可以是一个独立的可与计算机设备插拔连接的部件,也可以是与计算机设备的其它部件一体加工的部件。从产品功能角度来说,该存储设备可以作为常规的DRAM内存的补充内存,也可以作为独立使用的内存,还可以作为硬盘,或者作为硬盘的缓存,等等。
下面首先对本申请涉及的一些技术术语进行解释。
相变存储器(phase change memory,PCM),是利用特殊材料在晶态和非晶态之间相互转化时所表现出来的导电性差异来存储数据的。相变存储器通常是利用硫族化合物在晶态和非晶态巨大的导电性差异来存储数据的一种信息存储装置。PCM的存储介质的材料有很多种,各种材料的属性参数各不相同。
DRAM,是一种半导体存储器,主要的工作原理是利用电容内存储电荷的数量于阈值的大小关系代表一个二进制比特(bit),取值为1或0。由于在现实中晶体管会有漏电电流的现象,导致电容上所存储的电荷数量并不足以正确的进行数据判别,而导致数据毁损。因此对于DRAM来说,周期性地充电(也可称刷新)是一个不可避免的条件。由于这种需要定时刷新的特性,因此被称为“动态”随机存储器。相对来说,静态随机存储器只要存入数据,纵使不刷新也不会丢失数据。
SRAM,是随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。相对来说,DRAM里面所储存的数据就需要周期性地刷新。然而,当电力供应停止时,SRAM储存的数据还是会消失,也即,SRAM和DRAM均为易失性存储器(volatile memory),这与在断电后还能储存资料的只读存储器(read-only memory,ROM)或闪存是不同的。
双线存储器模块(dual in-line memory module,DIMM),是指一系列由DRAM组成的模块。DIMM通常是数颗至数十颗DRAM芯片焊接安装于一块已制作好电路的印刷电路板的形式,用于个人电脑、工作站、服务器等计算机设备。计算机设备上一般设置有DIMM插槽,用于连接DIMM内存条。
三维(three dimension,3D)封装,是一种芯片封装技术,在同一个芯片内于垂直方向叠放两个以上的裸晶(Die),各个Die之间通过大量的垂直方向的线路连接,进行数据传输。每个Die可以认为是芯片的一层。相对来说,二维(two dimension,2D)封装就不存在垂直叠放的多个Die,2D封装而成的芯片,多个部分之间通过水平方向的线路连接,相对于垂直方向的线路,水平方向的线路会浪费更多的芯片面积。
高速串行计算机扩展总线标准(peripheral component interconnect express,PCIe),是一种高速串行计算机扩展总线标准,用于CPU与计算机设备的其他部件进行数据传输,替代了传统的外设部件互连标准(peripheral component interconnect,PCI),具有更高的传输带宽和传输速率。
双倍数据速率(double data rate,DDR)电子工程设计发展联合协会(jointelectron device engineering council,JEDEC)标准,是并行总线通信标准,该标准中包括连接接口的物理规格和数据传输的相关协议等。
读写热度,是用于表示数据的读写频度的量化信息,数据的读写频度越高则读写热度越高,数据的读写频度越低则读写热度越低。具体的量化方式可以基于实际需求任意设置,例如,一种常用的量化方式,读写热度包括热、温、冷三种数值,热、温、冷通过读写频度的阈值来划分,数据的读写频度大于第一频度阈值则判定为热数据,数据的读写频度小于第二频度阈值则判定为冷数据,数据的读写热度在第一频度阈值和第二频度阈值之间则判定为温数据。
时延,是存储器中存储介质的属性,是对存储介质进行一次数据读写所需的时长,一般时延较低的存储介质可以达到几纳秒(ns),时延较高的存储介质可以有几百ns或者几毫秒(ms),例如,DRAM的时延一般为80ns左右。
存储密度,是存储器中存储介质的属性,可以认为是单位体积的存储介质中存储单元的数量,存储单元是用于存储1bit数据的存储介质,存储密度也可以认为是单位体积的存储介质能够存储的数据量。
印制电路板(printed circuit board,PCB),又称印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连接的载体。由于它是采用电子印刷术制作的,故被称为“印刷”电路板。PCB上印制有大量的导线,用作不同电子元器件的连接线路。
固态硬盘(solid state disk,SSD),是用固态电子存储芯片阵列制成的硬盘。
本申请实施例提供了一种存储设备,参见图1,存储设备的结构可以如下:
存储设备包括第一PCM1、主存储器2和控制器3。第一PCM1和控制器3封装在同一芯片中。其中,第一PCM1的时延小于主存储器2,主存储器2的存储密度大于第一PCM1。
下面介绍一下存储设备中的各部件。
第一PCM1,其存储介质有很多可供选择的材料,可以选用时延较低的材料,如时延在20ns左右或低于20ns,相应的,第一PCM1也可以称作低时延PCM。低时延PCM的材料可以选用钪(Sc)-锑(Sb)-碲(Te)材料。PCM存储介质选用的材料时延在20ns以内,一般存储密度会偏低一些,不过,第一PCM1在满足20ns时延和合理面积大小的情况下依然可以达到吉字节(gigabyte,GB)级的存储量。在实际使用中,第一PCM1可以是GB级存储器也可以是兆字节(mbyte,MB)级存储器。
采用较低时延的PCM作为缓存,低时延的PCM介质可以做到在时延低至20ns的同时,仍然具有较高的存储密度,可以达到GB级的存储量,能够有效的权衡时延、面积占用和缓存数据量。而且在断电后能够保持数据几天,这样,对于一些企业级的应用场景(设备掉电后短时间内就会重新上电),完全无需设置掉电保护机制,可以很好的降低存储设备的制造成本。
主存储器2,可以是第二PCM、与非(not and,NAND)存储器等,或者可以是采用其他具有较高存储密度的存储介质的存储器。第二PCM可称作高密度PCM,高密度PCM的材料可以选用锗(Ge)-锑-碲材料。主存储器2可以达到太字节(terabyte,TB)级的存储量。在实际使用中,主存储器2可以是TB级存储器也可以是GB级存储器。
第一PCM1可以认为是缓存器,第一PCM1的时延与主存储器2的时延之间可以满足一定的比例关系,第一PCM1的时延与主存储器2的存储量之间可以满足一定的比例关系。例如,第一PCM1的时延与主存储器2的时延之间的比值可以在15~30的范围内,第一PCM1的时延与主存储器2的存储量之间的比值可以在1/500~1/1000的范围内。
控制器3,可以是一个独立的用于对存储设备的数据读写进行控制的控制器,其中的控制逻辑仅用于对第一PCM1和主存储器2中的数据读写进行控制。或者,控制器3也可以是一个具有更多控制功能的综合性控制器,对该存储设备的数据读写进行控制仅仅是控制器3的一部分功能,控制器3中各种功能的控制逻辑是统一部署的,在物理上没有分割到不同的单元中。控制器3中可以包括第一PCM1的操作电路,操作电路在控制器3中可以为独立的单元,或者,也可以不将操作电路设置为独立的单元,将第一PCM1的操作电路的处理逻辑融入到控制器3的处理逻辑中。
下面介绍一下存储设备的具体结构。
第一PCM1和控制器3可以采用2D封装或者3D封装,本申请实施例以3D封装为例进行方案详细说明。在3D封装时,第一PCM1和控制器3在芯片的不同Die中。3D封装的芯片,可以由两个或两个以上的Die组成,控制器3可以设置在一个或多个Die中,第一PCM1也可以设置在一个或多个Die中。可以将控制器3设置在上、第一PCM1设置在下,或者将第一PCM1设置在上、控制器设置在下,等等。例如,芯片包括两个Die,一个Die为控制器3,另一个Die为第一PCM1,或者,芯片包括三个Die,上面的一个Die为控制器3,中间和下面的两个Die为第一PCM1,等等。
第一PCM1和主存储器2分别与控制器3通过线路连接。第一PCM1和控制器3在同一芯片内通过Die之间的垂直线路连接。主存储器2和控制器3之间可以通过PCB上的线路连接,此提供线路连接的PCB可以是存储设备内部的PCB,也可以是存储设备外的其他设备或部件的PCB,或者,也可以同时包括存储设备内部和外部的PCB。主存储器2和控制器3之间也可以不通过PCB进行线路连接,可以也将主存储器2与第一PCM1、控制器3封装在同一芯片中,主存储器2与第一PCM1、控制器3之间可以采用2D封装的方式,也可以采用3D封装的方式。
主存储器2和封装的芯片可以设置在同一PCB上,这样,存储设备是一个整体的器件,例如,存储设备可以是一个SSD盘,或者存储设备可以是一个PCIe接口的内存。芯片和主存储器2分离设置,这样,存储设备做成两个分离的子部件。
存储设备对外连接形式可以多种多样,可以采用并行总线接口、串行总线接口、或自定义总线接口,或者,也可以不采用可插拔的接口,在加工其他设备时,直接将存储设备加工在其他设备中。
采用3D封装方式,PCM和控制器位于不同的Die中,PCM和控制器重叠放置,不会重复占用面积,可以减小面积占用,而且PCM和控制器之间通过垂直方向的线路连接,垂直方向的线路相对于水平方向的线路来说,占用面积少很多,基本可以认为不占用面积,进一步减小了面积占用。
另外,常规的PCM中会设置有操作电路,因为PCM与控制器之间不是芯片级的连接,连接线路数量较少,所以控制器无法直接对PCM的存储介质中的数据进行读写,必须要有一个操作电路来帮助PCM进行数据读写,即PCM中封装有操作电路和存储介质,他们相互之间是芯片级连接,操作电路可以做到直接对存储介质进行数据读写操作,控制器和操作电路之间设置有相应的协议,他们通过协议相互通信,以下达指令和反馈结果。协议中一般会规定数据读写的单位数据量,这样,假如想要读取的数据量小于单位数据量,那也必须要读取单位数据量的数据,然后再在其中获取真正想要的数据,对于高频率小数据量的应用场景,会严重影响处理效率。
本申请实施例中,通过3D封装方式,PCM和控制器之间是芯片级连接,连接有大量的线路,控制器可以直接对PCM的存储介质中的数据进行读写操作,这样,PCM内部可以不设置常规的操作电路,进而,在数据读写过程中,也省去了控制器与操作电路之间的协议通信,对PCM的数据读写不受常规的控制器与操作电路之间的协议限制,数据读写更加灵活高效。
下面介绍一下存储设备中各部件的功能。
控制器3,用于基于数据的读写热度,将数据存储在所述第一PCM1和所述主存储器2中。
技术人员可以预先为第一PCM1和主存储器2设置对应的读写热度,这里可以根据不同存储器的时延设置对应的读写热度,设置时延较低的存储器存储读写热度较高的数据。第一PCM1的时延小于主存储器2的时延,所以设置第一PCM1存储读写热度较高的数据,主存储器2存储读写热度较低的数据。例如,读写热度包括热、温、冷,可以设置第一PCM1存储热数据,主存储器2存储温数据和冷数据,或者,也可以设置第一PCM1存储热数据和温数据,主存储器2存储冷数据,等等。具体如何设置可以综合考虑应用场景的热数据、温数据、冷数据的比例以及第一PCM1和主存储器2的存储量比例来确定。
基于上述设置,可以基于数据的读写热度,对待存储的数据和/或已存储的数据,在第一PCM1和主存储器2中进行存储调度。进行存储调度的方法可以有很多种,以下对几种可行的方法进行简单介绍。
方法一
控制器3在接收到CPU4发来的待存储的数据时,将该数据判定为热数据,将其存入第一PCM1中。对于已存储的所有数据,控制器3每经过一个周期时长,基于当前周期时长内数据的读写频度,确定数据的读写热度为热、温、或冷,进而,基于数据的读写热度,重新确定数据的存储器,如果新确定的存储器与数据当前所在的存储器不同,则将数据迁移至新确定的存储器。例如,如果第一PCM1中的数据变为冷数据,则将其迁移到主存储器2中,如果主存储器2中的冷数据变为热数据,则将其迁移到第一PCM1中。
方法二
CPU4向控制器3发送待存储的数据时,同时发送该数据对应的读写热度,控制器3接收到该数据和对应的读写热度后,基于该读写热度确定该数据对应的存储器为第一PCM1或主存储器2,将该数据存入相应的存储器中。对于已存储的所有数据,控制器3每经过一个周期时长,基于当前周期时长内数据的读写频度,确定数据的读写热度为热、温、或冷,进而,基于数据的读写热度,重新确定数据的存储器,如果新确定的存储器与数据当前所在的存储器不同,则将数据迁移至新确定的存储器。
方法三
控制器3在接收到CPU4发来的待存储的数据时,暂不确定该数据的读写热度,将其存入预先指定的存储器(可以指定第一PCM1或主存储器2)中。对于已存储的所有数据,控制器3每经过一个周期时长,基于当前周期时长内数据的读写频度,确定数据的读写热度为热、温、或冷,进而,基于数据的读写热度,重新确定数据的存储器,如果新确定的存储器与数据当前所在的存储器不同,则将数据迁移至新确定的存储器。这样,新存入的数据经过一个周期时长之后就可以确定出读写热度,进而可以继续存储在第一PCM1中或迁移到主存储器2中。
另外,对于某些消费级的应用场景(设备有时会长时间关闭),在控制器3中可以设置一些正常断电情况下的数据保护机制。控制器3用于:当接收到设备待关闭指令时,将第一PCM1中的数据迁移到主存储器2中,迁移结束后反馈完成通知;当设备启动后,将迁移到主存储器2中的数据迁移回到第一PCM1中。
另外,在控制器3的控制逻辑中还可以设置相应的磨损均衡算法,即在为待存入第一PCM1或主存储器2的数据分配地址时,基于磨损均衡的原则进行地址分配,即选择写入次数最少的存储单元,将其地址分配给待存入的数据。
在实际应用中,控制器3可以支持各种总线通信标准,基于相应的总线通信标准进行通信,如并行总线通信标准、串行总线通信标准或自定义总线通信标准等。
在实际应用中,控制器3与主存储器2之间可以采用各种通信协议,如开放与非闪存接口(open NAND flash interface,ONFI)协议、toggle(一种通信标准名称)协议或私有协议等。
在上述控制器3的控制逻辑中,控制器3将读写热度较高的数据存入第一PCM1,将读写热度较低的数据存入主存储器2。这样,因为CPU频繁读写的数据是那些读写热度较高的数据,而很少会对那些读写热度较低的数据进行读写操作,所以存储设备对外反映出来的时延主要是第一PCM1的时延,主存储器2的时延基本不会被存储设备外部所察觉。而且,只要在一定程度上保证第一PCM1与主存储器2之间的总容量比与计算机设备热数据、温数据、冷数据的比例较为匹配,就能够较为充分的利用第一PCM1和主存储器2的存储空间。这样,既能够很好的发挥主存储器2存储密度高容量大的优点,又可以保证主存储器2时延较高的问题不会对整个存储设备对外的时延产生太大的影响,即可以发挥第一PCM1时延低的优点。
基于上述对存储设备各部件及其功能的介绍,技术人员可以基于实际应用场景以及对成本的要求来设置第一PCM1的时延、主存储器2的时延、第一PCM1的存储量、主存储器2的存储量、以及第一PCM1对应的读写热度、主存储器2对应的读写热度。相应的应用场景有很多种可能,例如,该存储设备用作某应用的服务器中的内存,或者,该存储设备用作某用户终端中的内存,等等。
以某应用的服务器的内存为例,对于应用的服务器来说,在其运行过程中,内存中热数据、温数据、冷数据的数据量和比例一般是比较稳定的,技术人员可以通过历史统计确定一般状态下内存中热数据、温数据、冷数据的数据量和比例,另外,基于成本和业务需求考虑确定温数据是存储于第一PCM1还是存储于主存储器2,假设确定将温数据存储于第一PCM1中,也就是说,设置将热数据和温数据存储于第一PCM1,将冷数据存储于主存储器2。进一步,可以基于上述统计的该应用热数据和温数据的数据量,确定第一PCM1的存储量,基于上述统计的应用冷数据的数据量,确定主存储器2的存储量。如果应用对内存时延要求不是非常高的话,可以采用20ns左右时延的材料制作第一PCM1。主存储器2存储的是冷数据,所以主存储器2的时延对整个存储设备的时延没有什么影响,可以采用300-500ns时延的材料制作主存储器2。
本申请实施例中,采用较低时延的PCM作为缓存,低时延的PCM介质可以做到在时延低至20ns的同时,仍然具有较高的存储密度,可以达到GB级的大存储量,而且在断电后能够保持数据几天,无需设置掉电保护机制,从而降低成本。控制器将读写热度较高的数据存入PCM,将读写热度较低的数据存入主存储器,这样,既能够很好的利用主存储器存储密度高容量大的优点,又可以保证主存储器时延较高的问题不会对整个存储设备对外的时延产生太大的影响。采用3D封装方式,PCM和控制器位于不同的Die中,PCM和控制器不会重复占用面积,可以减小面积占用,而且PCM和控制器之间通过垂直方向的线路连接,垂直方向的线路不会占用面积,进一步减小了面积占用。另外,通过3D封装方式,PCM和控制器之间可以连接大量的线路,这样,PCM内部无需设置常规的操作电路,相应的,控制器可以直接对PCM中的数据进行读写操作,不受常规的控制器与操作电路之间的协议限制,数据读写更加灵活高效。
本申请实施例提供了一种存储设备,参见图2,存储设备的结构可以如下:
存储设备包括第一PCM1、主存储器2、控制器3和PCB5。主存储器2为第二PCM(第二PCM具有较高的存储密度,可称作高密度PCM)。第一PCM1和控制器3通过3D封装方式封装在CPU4中,第一PCM1和控制器3在CPU4的不同Die中。PCB5具有DDR接口51。主存储器2设置在PCB5上。第一PCM1的时延小于第二PCM,第二PCM的存储密度大于第一PCM1。
上述结构中,存储设备分成了两个独立的部分。第一部分包括第二PCM和PCB5。第二部分包括第一PCM1和控制器2,通过3D封装的方式封装在CPU4中。
第一部分
第二PCM设置在PCB5上,PCB5具有DDR接口51,第二PCM通过PCB5上的线路与DDR接口51连接。第二PCM和控制器3可以兼容DDR JEDEC标准。这样,第二PCM和PCB5则组成一个标准的DDR接口的内存条,与传统DDR接口的内存条不同的是,传统内存条采用DRAM颗粒,而本申请实施例的内存条采用的是PCM颗粒。该内存条可以插在计算机设备主板的DIMM插槽中。这样,第二PCM就可以通过并行总线与CPU4中的控制器2通信。
第二PCM中可以包括存储介质和操作电路,操作电路可以直接对存储介质中的数据进行读写,控制器3与操作电路之间通过相应的协议通信,操作电路在控制器3的指示下进行相应的读写操作,并将结果反馈给控制器3。
需要说明一下,在第二PCM兼容DDR JEDEC标准的情况下,此PCM内存条不是必须与第二部分配合使用,即不是必须与封装有第一PCM1和控制器2的CPU4配合使用,也可以与普通的CPU配合使用,在于普通的CPU配合使用时,PCM内存条就相当于一个普通的内存条,只不过内存颗粒采用了PCM颗粒。
第二部分
第一PCM1和控制器2组成的整体在CPU4中可以是一个在物理上相对独立的单元。这种情况,可以认为第一PCM1、第二PCM和控制器3共同组成内存,控制器2可以在CPU4的内存控制单元指示下进行工作,并对第一PCM1和第二PCM进行管理,第二PCM是内存中的主存,以内存条的形式存在,第一PCM1是内存中的高速缓存,嵌入在CPU4中。CPU4的内存控制单元与控制器2之间存在片内连接线路,可以通过片内连接线路进行通信。内存控制单元可以在CPU4内部向控制器2发送待存储的数据或发送数据读取地址等,控制器2在CPU4内部向内存控制单元发送读取的数据或应答消息等。这样可以大大减小内存控制单元和控制器2之间通信的时延,可以提高传输效率。
或者,第一PCM1也可以作为CPU4的缓存,如4级(L4)缓存,控制器2可以是CPU4的存储控制单元。存在多种具体的实施方式,例如,每级缓存都有独立的缓存控制单元,另外CPU4中还有内存控制单元,内存控制单元和第一PCM1对应的缓存控制单元的组合可以称为控制器2,他们分别负责第一PCM1和第二PCM的控制。
关于控制器3的功能,可以参见本申请实施例上面的内容。
本申请实施例中,存储设备可以完全替代标准的DRAM内存条。与一般的DRAM内存条相比,该存储设备具有低延时的缓存,而且该缓存具有很大的存储量,整个存储设备均采用非易失性存储器,具有很好的防掉电能力。控制器将读写热度较高的数据存入低时延PCM,将读写热度较低的数据存入高密度PCM,这样,既能够很好的利用主存储器存储密度高容量大的优点,又可以保证主存储器时延较高的问题不会对整个存储设备对外的时延产生太大的影响,存储设备对外体现出的时延主要取决于低时延PCM的时延。而且,控制器与CPU中的其它单元采用片内通信,低时延PCM与控制器之间也是采用片内通信,可以有效的降低对低时延PCM的数据读写的时延,也即,能够有效的降低整个存储设备的数据读写的时延。采用3D封装方式,PCM和控制器位于不同的Die中,PCM和控制器不会重复占用面积,可以减小面积占用,而且PCM和控制器之间通过垂直方向的线路连接,垂直方向的线路不会占用芯片面积,进一步减小了面积占用。另外,通过3D封装方式,PCM和控制器之间是芯片级连接,可以连接大量的线路,所以控制器可以直接对PCM中的数据进行读写操作,这样,PCM内部无需设置常规的操作电路,相应的,对PCM的数据读写不受常规的控制器与操作电路之间的协议限制,数据读写更加灵活高效。
上述实施例内容中采用高密度PCM作为主存储器,当然也可以采用NAND存储器作为主存储器,NAND存储器的特性与高密度PCM的特性比较接近,本申请实施例不做具体介绍。另外,基于上述各种结构,控制器3与CPU4的通信协议可以采用通用协议或私有协议。
本申请实施例提供了一种存储设备,存储设备的结构可以如下:
存储设备包括第一PCM1、主存储器2、控制器3和PCB6。主存储器2为第二PCM。第一PCM1和控制器3通过3D封装方式封装在同一芯片中,第一PCM1和控制器3在芯片的不同Die中。3D封装的芯片和第二PCM都设置在PCB6上。PCB6具有串行总线接口或自定义总线接口。第一PCM1的时延小于第二PCM,第二PCM的存储密度大于第一PCM1。
关于控制器3的功能,可以参见本申请实施例上面的内容。
该结构中,存储设备是一个完整一体的硬件模组,第一PCM1和控制器3封装的芯片与第二PCM都连接在同一PCB上。控制器3和第二PCM通过PCB上的线路相连接,以进行通信,控制器3与第一PCM1通过芯片内的垂直方向的线路连接,以进行通信。第二PCM中可以包括存储介质和操作电路,操作电路可以直接对存储介质中的数据进行读写,控制器3与操作电路之间通过相应的协议通信,操作电路在控制器3的指示下进行相应的读写操作,并将结果反馈给控制器3。
该结构有很多可能的模组形态,以下给出了几种可能的模组形态。
模组形态一,DIMM条,如图3所示。
PCB6上设置有DDR接口61。控制器3支持串行总线通信标准或自定义总线通信标准,存储设备可基于串行总线通信标准或自定义总线通信标准与CPU4通信。整个存储设备的硬件模组是一个DIMM条,与普通DIMM条不同之处在于,普通DIMM条上采用DRAM颗粒,并采用并行总线通信标准,而本存储设备采用高密度PCM颗粒,并采用串行总线通信标准或自定义总线通信标准。这种方案可以对CPU4进行定制化的设计,使CPU4与该DIMM条之间通过串行总线通信标准或自定义总线通信标准进行通信,并使CPU4支持在串行总线或自定义总线上通过内存语义或自定义语义访问该DIMM条。
存储设备采用该模组形态可以使用标准主板上的DIMM插槽,可以很好的兼容已有的主板。该存储设备可以用作内存或DRAM内存的补充内存。
模组形态二,PCIe盘,如图4或图5所示。
PCB6上设置有PCIe接口62。控制器3支持串行总线通信标准或自定义总线通信标准,存储设备基于串行总线通信标准或自定义总线通信标准与CPU4通信。整个存储设备的硬件模组是一个PCIe盘,PCIe盘有很多种不同的形态,图4和图5分别给出了两种具体形态。与普通的PCIe盘不同之处在于,普通的PCIe盘采用DRAM来保存地址映射表,而且采用的是NAND颗粒,而本存储设备可以采用低时延PCM保存地址映射表,并且采用高密度PCM颗粒作为主存储器。
这种模组形态下,存储设备与CPU4之间可以通过PCIe协议通信,存储设备支持输入/输出(input/output,I/O)语义访问,即支持块寻址。这样,存储设备可以作为固态硬盘使用。
这种模组形态下,存储设备与CPU4之间也可以通过计算表达链接(computeexpress link,CXL)协议通信,存储设备同时支持内存语义和I/O语义访问,即同时支持字节寻址和块寻址。这样,存储设备可以作为固态硬盘使用,也可以作为补充内存使用。
存储设备作为固态硬盘,通过低时延PCM的使用,以及控制器3基于读写热度对数据进行存储调度的机制,存储设备对外可以呈现出较低的时延,作为固态硬盘,可以将平均访问时延降低至1微秒(μs)。存储设备作为补充内存,具有很高的存储密度,可以达到TB级的存储量,而且可以在系统程序或应用程序中设置相应的控制逻辑,基于数据的读写热度在DRAM内存和该存储设备之间进行存储调度(该存储调度可以认为是一级调度,存储设备内部由控制器3控制进行的存储调度可以认为是二级调度),使DRAM内存存储读写热度较高的数据、该存储设备存储读写热度较低的数据,这样,虽然PCIe接口的固有时延较高,但是上述方案可以保证内存和补充内存组成的整体内存对外的时延不受PCIe接口的固有时延影响。
上述实施例内容中采用高密度PCM作为主存储器,当然也可以采用NAND存储器作为主存储器,NAND存储器的特性与高密度PCM的特性比较接近,本申请实施例不做具体介绍。另外,基于上述各种结构,控制器3与CPU4的通信协议除了可以采用通用协议还可以采用私有协议。
本申请实施例还提供了一种计算机设备,该计算机设备包括上述实施例中的存储设备。计算机设备在配备该存储设备后,可以配备DRAM也可以不配备DRAM。图6示出了计算机设备未配备DRAM的情况,其中,该存储设备可以作为内存。图7示出了计算机设备配备DRAM的情况,其中,DRAM作为内存,该存储设备可以作为补充内存、或者也可以作为SSD。图8示出了计算机设备同时配备DRAM、SSD和上述存储设备的情况,其中,DRAM作为内存,该存储设备可以补充内存、也可以作为SSD与原SSD一起使用、还可以作为原SSD的高速缓存盘使用。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请一个实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种存储设备,其特征在于,所述存储设备包括第一相变存储器PCM(1)、主存储器(2)和控制器(3),其中:
所述第一PCM(1)和所述控制器(3)封装在同一芯片中;
所述第一PCM(1)的时延小于所述主存储器(2),所述主存储器(2)的存储密度大于所述第一PCM(1);
所述控制器(3),用于基于数据的读写热度,将数据存储在所述第一PCM(1)和所述主存储器(2)中,其中,所述第一PCM(1)为所述主存储器(2)的缓存。
2.根据权利要求1所述的存储设备,其特征在于,所述封装为三维3D封装,所述第一PCM(1)和所述控制器(3)在所述芯片的不同裸晶Die中。
3.根据权利要求1所述的存储设备,其特征在于,所述控制器(3),用于对所述第一PCM(1)进行读写操作。
4.根据权利要求1所述的存储设备,其特征在于,所述主存储器(2)为第二PCM或与非NAND存储器。
5.根据权利要求1所述的存储设备,其特征在于,所述第一PCM(1)为吉字节GB级存储器,所述主存储器(2)为太字节TB级存储器;或者,
所述第一PCM(1)为兆字节MB级存储器,所述主存储器(2)为GB级存储器。
6.根据权利要求1-5任一项所述的存储设备,其特征在于,所述第一PCM(1)和所述控制器(3)封装在中央处理器CPU(4)中。
7.根据权利要求6所述的存储设备,其特征在于,所述存储设备还包括具有双倍数据速率DDR接口(51)的印制电路板PCB(5),所述主存储器(2)设置在所述PCB(5)上。
8.根据权利要求1-5任一项所述的存储设备,其特征在于,所述存储设备还包括PCB(6),所述芯片和所述主存储器(2)设置在所述PCB(6)上。
9.根据权利要求8所述的存储设备,其特征在于,所述PCB(6)具有DDR接口(61)。
10.根据权利要求8所述的存储设备,其特征在于,所述PCB(6)具有高速串行计算机扩展总线标准PCIe接口(62)。
11.根据权利要求10所述的存储设备,其特征在于,所述控制器(3)与CPU(4)的通信协议为PCIe协议或计算表达链接CXL协议。
12.根据权利要求1-10任一项所述的存储设备,其特征在于,所述控制器(3)与CPU(4)的通信协议为私有协议。
13.根据权利要求1-10任一项所述的存储设备,其特征在于,所述控制器(3)支持并行总线通信标准、串行总线通信标准或自定义总线通信标准。
14.根据权利要求1-13任一项所述的存储设备,其特征在于,所述控制器(3)与所述主存储器(2)的通信协议为开放与非闪存接口ONFI协议、toggle协议或私有协议。
15.一种计算机设备,其特征在于,所述计算机设备包括如权利要求1-14所述的存储设备。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/141015 WO2022143434A1 (zh) | 2020-12-30 | 2021-12-24 | 一种存储设备和计算机设备 |
KR1020237025763A KR20230122154A (ko) | 2020-12-30 | 2021-12-24 | 저장 디바이스 및 컴퓨터 디바이스 |
EP21914171.0A EP4266183A1 (en) | 2020-12-30 | 2021-12-24 | Data storage and computer device |
US18/342,252 US20230342312A1 (en) | 2020-12-30 | 2023-06-27 | Storage device and computer device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020116170597 | 2020-12-30 | ||
CN202011617059 | 2020-12-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114691555A true CN114691555A (zh) | 2022-07-01 |
Family
ID=82135567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110161484.8A Pending CN114691555A (zh) | 2020-12-30 | 2021-02-05 | 一种存储设备和计算机设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230342312A1 (zh) |
EP (1) | EP4266183A1 (zh) |
KR (1) | KR20230122154A (zh) |
CN (1) | CN114691555A (zh) |
WO (1) | WO2022143434A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8516194B2 (en) * | 2010-11-22 | 2013-08-20 | Micron Technology, Inc. | Systems and methods for caching data with a nonvolatile memory cache |
US20140317337A1 (en) * | 2011-12-30 | 2014-10-23 | Leena K. Puthiyedath | Metadata management and support for phase change memory with switch (pcms) |
CN104461935B (zh) * | 2014-11-27 | 2018-03-13 | 华为技术有限公司 | 一种进行数据存储的方法、装置及系统 |
US9870169B2 (en) * | 2015-09-04 | 2018-01-16 | Intel Corporation | Interleaved all-level programming of non-volatile memory |
-
2021
- 2021-02-05 CN CN202110161484.8A patent/CN114691555A/zh active Pending
- 2021-12-24 KR KR1020237025763A patent/KR20230122154A/ko unknown
- 2021-12-24 EP EP21914171.0A patent/EP4266183A1/en active Pending
- 2021-12-24 WO PCT/CN2021/141015 patent/WO2022143434A1/zh unknown
-
2023
- 2023-06-27 US US18/342,252 patent/US20230342312A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4266183A1 (en) | 2023-10-25 |
WO2022143434A1 (zh) | 2022-07-07 |
KR20230122154A (ko) | 2023-08-22 |
US20230342312A1 (en) | 2023-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9536609B2 (en) | Memory modules with multi-chip packaged integrated circuits having flash memory | |
US10025737B2 (en) | Interface for storage device access over memory bus | |
US8856464B2 (en) | Systems for two-dimensional main memory including memory modules with read-writeable non-volatile memory devices | |
CN108780423B (zh) | 多级存储器管理电路、管理方法和管理设备 | |
KR101343252B1 (ko) | 메모리 회로 시스템 및 방법 | |
US20190266096A1 (en) | Data storage device, method of operating the same, and storage system having the same | |
CN105027092A (zh) | 具有sdram接口的dram、混合闪存存储器模块 | |
US11630785B2 (en) | Data storage with improved data transfer | |
US20220368047A1 (en) | Adapter card with compression attached memory modules | |
CN114691555A (zh) | 一种存储设备和计算机设备 | |
CN114327300A (zh) | 一种数据存储方法、ssd控制器、ssd及电子设备 | |
US11816337B2 (en) | Enterprise host memory buffer | |
US11934684B2 (en) | Maximum data transfer size per tenant and command type | |
CN112650439B (zh) | Mram-nand控制器及其数据写入方法 | |
US11500447B2 (en) | Power allocation management for external storage | |
US20230307030A1 (en) | Adaptive Wordline Refresh | |
CN116301570A (zh) | 用于无dram ssd的企业主存储器缓冲区 | |
CN114038491A (zh) | 3d动态存储装置及读数据方法、写数据方法、内存设备 | |
KR20090097488A (ko) | 플래시 메모리를 이용하는 가상 메모리 모듈 및 그를이용하는 솔리드 스테이트 드라이브 |
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 |