CN107729268A - 一种基于capi接口的内存扩展装置与方法 - Google Patents
一种基于capi接口的内存扩展装置与方法 Download PDFInfo
- Publication number
- CN107729268A CN107729268A CN201710854796.0A CN201710854796A CN107729268A CN 107729268 A CN107729268 A CN 107729268A CN 201710854796 A CN201710854796 A CN 201710854796A CN 107729268 A CN107729268 A CN 107729268A
- Authority
- CN
- China
- Prior art keywords
- flash
- memory
- data
- write
- cache
- 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.)
- Granted
Links
Classifications
-
- 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
- G06F13/1673—Details of memory controller using buffers
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种基于CAPI接口的内存扩展装置,包括PSL单元、Ex‑Cache控制器、SRAM存储器、DDR存储器、DMA引擎、Flash控制器、Flash写缓冲存储器、Flash芯片阵列部件;其内存扩展方法包括连接到PowerBus总线方法、Flash存储空间映射到CAPI接口空间的方法、数据访问的方法;本发明所述装置设有DMA引擎、与数据分开存储的cache的tag、以flash page大小设计的cacheline、减少flash芯片擦写次数的写回策略,还可以扩展IB类型接口实现内存模块扩展,提高了使用寿命且适用多种应用场景中。
Description
技术领域
本发明涉及本发明涉及计算机服务器的存储技术领域,特别是涉及一种基于CAPI接口的内存扩展装置与方法。
背景技术
21世纪信息技术产业的飞速发展,带给人们巨大的利益和便利。随着计算机技术和集成电路工艺的不断发展,处理器核心的性能越来越高,速度越来越快,处理器与存储器之间的性能差距不断加大,存储器已经成为限制系统性能的决定因素。同时,随着近年来计算机技术的进步与问题规模的不断扩大,许多应用正在由计算密集型向数据密集型转变,数据密集计算更加需要高带宽的存储系统和 I/O 系统的支持。 特别是目前大数据处理,特别占用内存,为了提升大数据计算性能,通常采用内存级的大数据处理框架,因此,必须深入研究满足高带宽、高数据传输率的存储系统体系结构。FPGA(Field-ProgrammableGate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。闪存 (Flash Memory) 作为一种新的数据存储介质已经得到广泛应用,经过多次技术变革,闪存存储容量越来越大、数据读写速度越来越快、性价比也越来越高。如在全闪存存储行业中,IBM虽然并不是最早推出全闪存阵列的厂商,但通过并购了TMS公司,并基于TMS在闪存领域的独特知识产权,推出了IBM FlashSystem系列全闪存阵列:IBM FlashSystem A9000R、IBM FlashSystemA9000、IBM FlashSystem V9000和IBM FlashSystemF900这四款重榜产品有着明确的定位和清晰的分工,以适应不同的应用环境,方便不同的用户选择,并快速得到了客户的关注和认可。其中,IBM FlashSystem A9000R是一款专门为推动企业实现认知转型而设计的网络规模全闪存阵列产品,性能表现非常出色,能够轻松处理大规模动态数据;IBMFlashSystem A9000是专门为云规模业务设计的高度并行全闪存产品,基于IBM SpectrumAccelerate,使用了创新的网格体系结构来消除大部分传统的存储管理任务,并能够有效控制成本,可以满足企业快速增长的结构化和非结构化数据及云环境的需求,以实现简单的管理和横向扩展的容量;IBM FlashSystem V9000是一台针对混合工作负载设计的高性能全闪存系统,增添了 IBM Spectrum Virtualize的存储服务和虚拟化功能,用以创建完整的第一层存储解决方案;IBM还推出了一台针对基础应用的全闪存产品——FlashSystemF900,这款产品专门为企业的关键应用业务设计,最大的优势是非常容易部署和管理。Flash System就是与服务器直连的,全冗余设计的闪存阵列,也是微秒级的产品。FlashSystem的背后有多个技术要点,有三点极为引人注目:基于FPGA基础的数据移动相比软件实现的存储控制器算法实现减少了大量的延迟时间,不管是直连PCIe卡还是SAN网络闪存阵列,都要更快;对于业内关心的使用寿命问题,eMIC可以做到是MLC的10倍以上,而SLC则可做到33倍,对于一般企业的业务负载需求,10TB的Flash System可以在100M/S的写压力下工作100年;分布式CPU独立处理路径。IBM FlashSystem V9000和FlashSystem 900全闪存阵列采用全新20纳米的MLC设计将帮助提升系统40%的密度和20%的带宽,并能持续保持性能。更高价格的FlashSystem V9000也是以集成软件堆栈和横向、纵向扩展能力为特点。FlashSystem 900系统内扩展可达57TB,它不具备V9000的虚拟化功能和软件堆栈特性,如压缩、动态分层和复制。两款产品都支持16 Gbps光纤通道、千兆以太网和基于以太网连接的光纤通道技术。
近年来,人们开发研究了大规模高性能的内存级的数据存储系统或装置,如图7所示,如公开号为CN102012791B的中国专利基于 Flash 的数据存储 PCIE 板卡,该发明由一块 FPGA 芯片做主控模块,连接了DDR 内存作为缓冲模块,同时连接了 Flash 芯片作为存储模块, PCIE 控制器、 DDR 控制器、命令解析器、软 Cache 命中逻辑、 X-Card 管理模块、 ECC 校验数据逻辑、Flash 块地址映射、仲裁器、Flash 控制器都是在 FPGA 内部实现的,通过将程序下载到FPGA 内部完成各自的功能。 通信接口采用 PCIE接口,数据传输速率高。 PCI-E 也支持高阶电源管理,支持热插拔,支持数据同步传输,为优先传输数据进行带宽优化。
与IBM flash system 方案和公开号为CN102012791B所使用的计算机服务器不同,POWER8服务器系统上设置了一致性加速处理器接口(Coherent Accelerator ProcessorInterface, CAPI),它提供了超高的带宽和一种全新的途径来获得系统级性能。因此,研究如何基于CAPI接口的 Flash Memory 构建大规模高性能的内存级的数据存储系统是非常必要的。
发明内容
为了要解决POWER8服务器系统上基于CAPI接口 Flash Memory 构建大规模高性能的内存级的数据存储系统性能的不足,本发明提供了一种基于CAPI接口的内存扩展装置与方法;本发明解决其技术问题的技术方案为:
一种基于CAPI接口的内存扩展装置,用于构建POWER8处理器系统CAPI接口内存级的数据存储系统,包括:
扩展内存模块板卡Extend Memory Module,是布置扩展内存电子集成器件的印刷电路板;
PSL单元(Power Service layer),是CAPI接口的FPGA实现单元,POWER8处理器服务层,与POWER8处理器内部的CAPP配合,实现CAPI协议的数据传输;
Ex-Cache Controller控制器,在FPGA中实现的逻辑单元,通过capi接口接收到操作请求,对请求中的地址进行解析,查询SRAM中的tag信息,HIT则从DDR Memory中得到数据信息,进行读写操作;MISS则启动DMA Engine;
SRAM存储器,是存储芯片,作为外部cache的存储器,用来存储tag、status信息,通过外部cache控制器进行访问;
DDR Memory存储器,是DDR存储芯片,作为外部cache的存储器,用来存储数据信息,通过外部cache控制器进行访问;
DMA Engine引擎,是在FPGA中实现的逻辑单元,当出现cache miss,负责通过FlashController 从Flash Chip Arrays中读取数据到DDR Memory中,并把DDR Memory中需要替换掉且dirty的数据写回Flash Chip Arrays;
Flash Controller控制器,是Flash Chip Arrays的控制器,负责管理Flash ChipArrays,读取和写入数据到Flash Chip Arrays中;
Flash Writebuffer写缓冲存储器,是存储芯片,Flash芯片的写入操作都是以块(block)为单位,且擦写寿命是有限的,因此设计一个写缓冲机制,避免Flash芯片的频繁擦写,提高其使用寿命;
Flash Chip Arrays芯片阵列部件,是Flash存储阵列,由一系列Flash芯片组成,通过Flash Controller进行控制和管理;
其特征在于扩展内存模块板卡Extend Memory Module左侧上部设置有Power Servicelayer PSL单元,包括CAPI接口,且作为CAPI接口的FPGA数据传输实现单元通过CAPI接口通信连接在POWER8处理器的PowerBus总线上;Power Service layer PSL单元的右侧通信端口连接设置作为FPGA逻辑实现单元的Ex-Cache Controller控制器;Ex-Cache Controller控制器右侧的两个通信端口连接平行设置的SRAM存储器、DDR Memory存储器;Ex-CacheController控制器下方的通信端口连接有实现数据传输的DMA Engine引擎,DMA Engine引擎下方的通信端口连接有Flash Controller控制器;Flash Controller控制器下方左侧的通信端口连接有Flash Writebuffer写缓冲存储器,Flash Writebuffer写缓冲存储器下方的通信端口连接Flash Chip Arrays芯片阵列部件左侧的通信端口;Flash Controller控制器下方右侧的通信端口连接Flash Chip Arrays芯片阵列部件右侧的通信端口。
所述POWER8处理器系统包括power8处理器芯片、Cache缓存层、PowerBus总线、MemoryController控制器、LocalMemory 存储器、Extend Memory Module板卡;所述Cache缓存层与PowerBus总线通信方式连接;所述MemoryController控制器与LocalMemory 存储器、PowerBus总线均通信方式连接。
所述Flash Chip Arrays芯片阵列部件包括二个以上Flash芯片,且通过FlashController进行控制和管理。
所述Power Service layer PSL单元设置有CAPI接口,还包括扩展设置的FC、FCoE、IB接口;Power Service layer PSL单元能够并行设置二个以上的CAPI接口,且通信连接二个以上基于CAPI接口的内存扩展模块并负责管理。
一种基于CAPI接口的内存扩展装置的内存扩展方法,用于构建大规模高性能的内存级的数据存储系统,其特征在于:包括如下步骤:首先将基于CAPI接口的内存扩展装置连接到PowerBus总线;接着在系统启动后,装置的Flash存储空间均已映射到CAPI接口空间;最后数据访问,数据访问方法包括读操作方法、写操作方法、cache更新操作方法、Flash数据写回方法。
所述读操作方法包括如下步骤:
S1,当系统产生读操作请求,访问的内存地址在扩展的内存空间中,则读请求通过CAPI接口发送到内存扩展模块;
S2,Ex-cache控制器接到从CAPI接口传递过来的读操作请求,首先查询SRAM中的TAG信息;
S3,若命中HIT,则直接从DDR Memory读取数据;
S4,若没有命中miss,则启动DMA Engine通过flash 控制器从flash芯片中读取数据,并把数据通过Ex-cache控制器缓存到DDR Memory中,同时更新SRAM中的TAG,插入新的TAG,状态为clean。
所述写操作方法包括如下步骤:
S11,当系统产生写操作请求,访问的内存地址在扩展的内存空间中,则写请求通过CAPI接口发送到内存扩展模块;
S12,Ex-cache控制器接到从CAPI接口传递过来的写操作请求,首先查询SRAM中的TAG信息;
S13,若HIT命中,则Ex-cache控制器直接更新DDR Memory中的数据,同时更新TAG的对应状态为dirty;
S14,若没有命中,则启动DMA Engine通过flash控制器读取数据,并通过Ex-cache控制器缓存数据到DDR Memory中,同时更新SRAM中的TAG,插入新的TAG,状态的clean,之后再执行HIT流程的写操作请求。
所述cache更新操作方法包括如下步骤:
S21,写操作HIT时,数据写入DDR Memory时,同时需要更新TAG,状态为clean时则需要更新为dirty;
S22,读操作产生miss时,Ex-cache controller 启动DMA engine从flash中读取数据,并缓存到ddr memory中,同时插入tag信息,状态clean;
S23,写miss时,先转化成读miss,之后再执行写HIT;
S24,无论读写请求,当产生miss,需要直接从flash中读数据,写入DDR,并更新TAG,这个过程要产生替换操作,使用LRU原则,把最近最少使用的数据替换出去;如果被替换的tag信息是dirty状态,则需要Ex-cache 控制器启动dma把相应的ddr数据写回到flash中,之后才写入新的数据和tag信息,并设置状态为clean。
所述Flash数据写回方法包括以下步骤:
S31,写回 writebuffer:Flash控制器和flash阵列之间设计有写缓冲机制,为了避免flash芯片被频繁的擦写,影响使用寿命,只有发生cache替换时,才产生写回操作,但数据首先不会被真正的写入到flash芯片颗粒中,而是写入到缓冲区内推理模块直接通过虚拟地址从服务端读取相应的权值、偏置信息至内部RAM;
S32,Writebuffer数据写回flash芯片:flash控制器提供写回策略,避免频繁擦出flash芯片,设置缓冲区阈值,可预测即将产生整块缓存数据时,则一次性写回flash芯片。
与现有技术相比,本发明的有益效果体现在:本发明所述一种基于CAPI接口的内存扩展装置包括扩展内存模块板卡Extend Memory Module、PSL单元(Power Servicelayer)、Ex-Cache Controller控制器、SRAM存储器、DDR Memory存储器、DMA Engine引擎、Flash Controller控制器、Flash Writebuffer写缓冲存储器、Flash Chip Arrays芯片阵列部件;一种基于CAPI接口的内存扩展装置的内存扩展方法,包括如下步骤首先将基于CAPI接口的内存扩展装置连接到PowerBus总线;接着在系统启动后,装置的Flash存储空间均已映射到CAPI接口空间;最后数据访问,而数据访问方法包括读操作方法、写操作方法、cache更新操作方法、Flash数据写回方法;本发明所述装置设计有DMA引擎并进行数据传输;设计cache的tag与数据分开存储;以flash page大小设计cacheline,提高flash使用寿命;设计写回策略,减少flash芯片擦写次数,提高了使用寿命;可以使用CAPI接口,也可以扩展IB类型接口实现二个以上的内存扩展模块并负责管理,继而扩展了内存,适用多种应用场景中。
附图说明
图1 为本发明基于CAPI接口的内存扩展装置结构框图。
图2 为本发明所述POWER8处理器系统各模块关系结构框图。
图3 为本发明内存扩展装置的读操作流程图。
图4 为本发明内存扩展装置的写操作流程图。
图5 为本发明内存扩展装置的cache更新示意图。
图6 为本发明内存扩展装置持续扩展的结构框图。
图7 为基于 Flash 的数据存储PCIE板卡体系结构框图。
具体实施方式
结合附图1至图6对本发明进一步详细描述,以便公众更好地掌握本发明的实施方法,本发明具体的实施方案为:
实施例1:
如图 1所示,本发明所述的一种基于CAPI接口的内存扩展装置,用于构建POWER8处理器系统CAPI接口内存级的数据存储系统,包括:
扩展内存模块板卡Extend Memory Module,是布置扩展内存电子集成器件的印刷电路板;
PSL单元,是CAPI接口的FPGA实现单元,POWER8处理器服务层,与POWER8处理器内部的CAPP配合,实现CAPI协议的数据传输;
Ex-Cache Controller控制器,在FPGA中实现的逻辑单元,通过capi接口接收到操作请求,对请求中的地址进行解析,查询SRAM中的tag信息,HIT则从DDR Memory中得到数据信息,进行读写操作;MISS则启动DMA Engine;
SRAM存储器,是存储芯片,作为外部cache的存储器,用来存储tag、status信息,通过外部cache控制器进行访问;
DDR Memory存储器,是DDR存储芯片,作为外部cache的存储器,用来存储数据信息,通过外部cache控制器进行访问;
DMA Engine引擎,是在FPGA中实现的逻辑单元,当出现cache miss,负责通过FlashController 从Flash Chip Arrays中读取数据到DDR Memory中,并把DDR Memory中需要替换掉且dirty的数据写回Flash Chip Arrays;
Flash Controller控制器,是Flash Chip Arrays的控制器,负责管理Flash ChipArrays,读取和写入数据到Flash Chip Arrays中;
Flash Writebuffer写缓冲存储器,是存储芯片,Flash芯片的写入操作都是以块(block)为单位,且擦写寿命是有限的,因此设计一个写缓冲机制,避免Flash芯片的频繁擦写,提高其使用寿命;
Flash Chip Arrays芯片阵列部件,是Flash存储阵列,由一系列Flash芯片组成,通过Flash Controller进行控制和管理;
其特征在于扩展内存模块Extend Memory Module板卡左侧上部设置有Power Servicelayer PSL单元,包括CAPI接口,且作为CAPI接口的FPGA数据传输实现单元通过CAPI接口通信连接在POWER8处理器的PowerBus总线上;Power Service layer PSL单元的右侧通信端口连接设置作为FPGA逻辑实现单元的Ex-Cache Controller控制器;Ex-Cache Controller控制器右侧的两个通信端口连接平行设置的SRAM存储器、DDR Memory存储器;Ex-CacheController控制器下方的通信端口连接有实现数据传输的DMA Engine引擎,DMA Engine引擎下方的通信端口连接有Flash Controller控制器;Flash Controller控制器下方左侧的通信端口连接有Flash Writebuffer写缓冲存储器,Flash Writebuffer写缓冲存储器下方的通信端口连接Flash Chip Arrays芯片阵列部件左侧的通信端口;Flash Controller控制器下方右侧的通信端口连接Flash Chip Arrays芯片阵列部件右侧的通信端口;
所述Flash Chip Arrays芯片阵列部件包括二个以上Flash芯片,且通过FlashController进行控制和管理。
如图 2所示,所述POWER8处理器系统包括power8处理器芯片、Cache缓存层、PowerBus总线、MemoryController控制器、LocalMemory 存储器、Extend Memory Module板卡;所述Cache缓存层与PowerBus总线通信方式连接;所述MemoryController控制器与LocalMemory 存储器、PowerBus总线均通信方式连接。
一种基于CAPI接口的内存扩展装置的内存扩展方法,用于构建大规模高性能的内存级的数据存储系统,其特征在于:包括如下步骤:首先将基于CAPI接口的内存扩展装置连接到PowerBus总线;接着在系统启动后,装置的Flash存储空间均已映射到CAPI接口空间;最后数据访问,数据访问方法包括读操作方法、写操作方法、cache更新操作方法、Flash数据写回方法。
所述读操作方法包括如下步骤:
S1,当系统产生读操作请求,访问的内存地址在扩展的内存空间中,则读请求通过CAPI接口发送到内存扩展模块;
S2,Ex-cache控制器接到从CAPI接口传递过来的读操作请求,首先查询SRAM中的TAG信息;
S3,若命中HIT,则直接从DDR Memory读取数据;
S4,若没有命中miss,则启动DMA Engine通过flash 控制器从flash芯片中读取数据,并把数据通过Ex-cache控制器缓存到DDR Memory中,同时更新SRAM中的TAG,插入新的TAG,状态为clean。
所述写操作方法包括如下步骤:
S11,当系统产生写操作请求,访问的内存地址在扩展的内存空间中,则写请求通过CAPI接口发送到内存扩展模块;
S12,Ex-cache控制器接到从CAPI接口传递过来的写操作请求,首先查询SRAM中的TAG信息;
S13,若HIT命中,则Ex-cache控制器直接更新DDR Memory中的数据,同时更新TAG的对应状态为dirty;
S14,若没有命中,则启动DMA Engine通过flash控制器读取数据,并通过Ex-cache控制器缓存数据到DDR Memory中,同时更新SRAM中的TAG,插入新的TAG,状态的clean,之后再执行HIT流程的写操作请求。
所述cache更新操作方法包括如下步骤:
S21,写操作HIT时,数据写入DDR Memory时,同时需要更新TAG,状态为clean时则需要更新为dirty;
S22,读操作产生miss时,Ex-cache controller 启动DMA engine从flash中读取数据,并缓存到ddr memory中,同时插入tag信息,状态clean;
S23,写miss时,先转化成读miss,之后再执行写HIT;
S24,无论读写请求,当产生miss,需要直接从flash中读数据,写入DDR,并更新TAG,这个过程要产生替换操作,使用LRU原则,把最近最少使用的数据替换出去;如果被替换的tag信息是dirty状态,则需要Ex-cache 控制器启动dma把相应的ddr数据写回到flash中,之后才写入新的数据和tag信息,并设置状态为clean。
所述Flash数据写回方法包括以下步骤:
S31,写回 writebuffer:Flash控制器和flash阵列之间设计有写缓冲机制,为了避免flash芯片被频繁的擦写,影响使用寿命,只有发生cache替换时,才产生写回操作,但数据首先不会被真正的写入到flash芯片颗粒中,而是写入到缓冲区内推理模块直接通过虚拟地址从服务端读取相应的权值、偏置信息至内部RAM;
S32,Writebuffer数据写回flash芯片:flash控制器提供写回策略,避免频繁擦出flash芯片,设置缓冲区阈值,可预测即将产生整块缓存数据时,则一次性写回flash芯片。
实施例2:
将实施例1中的所述DMA引擎集成到Flash Controller控制器内。
实施例3:
如图 6所示,将实施例1中的所述Power Service layer PSL单元设置有CAPI接口,还包括扩展设置的FC、FCoE、IB接口;Power Service layer PSL单元能够并行设置二个以上的CAPI接口,且通信连接二个以上基于CAPI接口的内存扩展模块并负责管理。
与现有技术相比,本发明的有益效果体现在:本发明所述一种基于CAPI接口的内存扩展装置包括扩展内存模块板卡Extend Memory Module、PSL单元(Power Servicelayer)、Ex-Cache Controller控制器、SRAM存储器、DDR Memory存储器、DMA Engine引擎、Flash Controller控制器、Flash Writebuffer写缓冲存储器、Flash Chip Arrays芯片阵列部件;一种基于CAPI接口的内存扩展装置的内存扩展方法,包括如下步骤首先将基于CAPI接口的内存扩展装置连接到PowerBus总线;接着在系统启动后,装置的Flash存储空间均已映射到CAPI接口空间;最后数据访问,而数据访问方法包括读操作方法、写操作方法、cache更新操作方法、Flash数据写回方法;本发明所述装置设计有DMA引擎并进行数据传输;设计cache的tag与数据分开存储;以flash page大小设计cacheline,提高flash使用寿命;设计写回策略,减少flash芯片擦写次数,提高了使用寿命;可以使用CAPI接口,也可以扩展IB类型接口实现二个以上的内存扩展模块并负责管理,继而扩展了内存,适用多种应用场景中。
以上所述仅为本发明的较佳实施例而已,但本发明的保护范围并不限制于本发明的具体实施方式,凡在本发明的精神和原则、揭露技术范围之内,所作的任何修改、等同替换、改进、改型等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于CAPI接口的内存扩展装置,用于构建POWER8处理器系统CAPI接口内存级的数据存储系统,包括:
扩展内存模块板卡Extend Memory Module,布置扩展内存电子集成器件的印刷电路板;
PSL单元,是CAPI接口的FPGA实现单元, POWER8处理器服务层,与POWER8处理器内部的CAPP配合,实现CAPI协议的数据传输;
Ex-Cache Controller控制器,在FPGA中实现的逻辑单元,通过capi接口接收到操作请求,对请求中的地址进行解析,查询SRAM中的tag信息,HIT则从DDR Memory中得到数据信息,进行读写操作;MISS则启动DMA Engine;
SRAM存储器,是存储芯片,作为外部cache的存储器,用来存储tag、status信息,通过外部cache控制器进行访问;
DDR Memory存储器,是DDR存储芯片,作为外部cache的存储器,用来存储数据信息,通过外部cache控制器进行访问;
DMA Engine引擎,是在FPGA中实现的逻辑单元,当出现cache miss,负责通过FlashController 从Flash Chip Arrays中读取数据到DDR Memory中,并把DDR Memory中需要替换掉且dirty的数据写回Flash Chip Arrays;
Flash Controller控制器,是Flash Chip Arrays的控制器,负责管理Flash ChipArrays,读取和写入数据到Flash Chip Arrays中;
Flash Writebuffer写缓冲存储器,是存储芯片,Flash芯片的写入操作都是以块(block)为单位,且擦写寿命是有限的,因此设计一个写缓冲机制,避免Flash芯片的频繁擦写,提高其使用寿命;
Flash Chip Arrays芯片阵列部件,是Flash存储阵列,由一系列Flash芯片组成,通过Flash Controller进行控制和管理;
其特征在于:扩展内存模块板卡Extend Memory Module左侧上部设置有PowerService layer PSL单元,包括CAPI接口,且作为CAPI接口的FPGA数据传输实现单元通过CAPI接口通信连接在POWER8处理器的PowerBus总线上;Power Service layer PSL单元的右侧通信端口连接设置作为FPGA逻辑实现单元的Ex-Cache Controller控制器;Ex-CacheController控制器右侧的两个通信端口连接平行设置的SRAM存储器、DDR Memory存储器;Ex-Cache Controller控制器下方的通信端口连接有实现数据传输的DMA Engine引擎,DMAEngine引擎下方的通信端口连接有Flash Controller控制器;Flash Controller控制器下方左侧的通信端口连接有Flash Writebuffer写缓冲存储器,Flash Writebuffer写缓冲存储器下方的通信端口连接Flash Chip Arrays芯片阵列部件左侧的通信端口;FlashController控制器下方右侧的通信端口连接Flash Chip Arrays芯片阵列部件右侧的通信端口。
2.根据权利要求1所述的装置,其特征在于:所述POWER8处理器系统包括power8处理器芯片、Cache缓存层、PowerBus总线、MemoryController控制器、LocalMemory 存储器、Extend Memory Module板卡;所述Cache缓存层与PowerBus总线通信方式连接;所述MemoryController控制器与LocalMemory 存储器、PowerBus总线均通信方式连接。
3.根据权利要求1所述的装置,其特征在于:所述Flash Chip Arrays芯片阵列部件包括二个以上Flash芯片,且通过Flash Controller进行控制和管理。
4.根据权利要求1所述的装置,其特征在于:所述Power Service layer PSL单元设置有CAPI接口,还包括扩展设置的FC、FCoE、IB接口;Power Service layer PSL单元能够并行设置二个以上的CAPI接口,且通信连接二个以上基于CAPI接口的内存扩展模块并负责管理。
5.一种如权利要求1~4任一项所述基于CAPI接口的内存扩展装置的内存扩展方法,用于构建大规模高性能的内存级的数据存储系统,其特征在于:包括如下步骤:首先将基于CAPI接口的内存扩展装置连接到PowerBus总线;接着在系统启动后,装置的Flash存储空间均已映射到CAPI接口空间;最后数据访问,数据访问方法包括读操作方法、写操作方法、cache更新操作方法、Flash数据写回方法。
6.根据权利要求5所述的方法,其特征在于:所述读操作方法包括如下步骤:
S1,当系统产生读操作请求,访问的内存地址在扩展的内存空间中,则读请求通过CAPI接口发送到内存扩展模块;
S2,Ex-cache控制器接到从CAPI接口传递过来的读操作请求,首先查询SRAM中的TAG信息;
S3,若命中HIT,则直接从DDR Memory读取数据;
S4,若没有命中miss,则启动DMA Engine通过flash 控制器从flash芯片中读取数据,并把数据通过Ex-cache控制器缓存到DDR Memory中,同时更新SRAM中的TAG,插入新的TAG,状态为clean。
7.根据权利要求5所述的方法,其特征在于:所述写操作方法包括如下步骤:
S11,当系统产生写操作请求,访问的内存地址在扩展的内存空间中,则写请求通过CAPI接口发送到内存扩展模块;
S12,Ex-cache控制器接到从CAPI接口传递过来的写操作请求,首先查询SRAM中的TAG信息;
S13,若HIT命中,则Ex-cache控制器直接更新DDR Memory中的数据,同时更新TAG的对应状态为dirty;
S14,若没有命中,则启动DMA Engine通过flash控制器读取数据,并通过Ex-cache控制器缓存数据到DDR Memory中,同时更新SRAM中的TAG,插入新的TAG,状态的clean,之后再执行HIT流程的写操作请求。
8.根据权利要求5所述的方法,其特征在于:所述cache更新操作方法包括如下步骤:
S21,写操作HIT时,数据写入DDR Memory时,同时需要更新TAG,状态为clean时,则需要更新为dirty;
S22,读操作产生miss时,Ex-cache controller 启动DMA engine从flash中读取数据,并缓存到ddr memory中,同时插入tag信息,状态clean;
S23,写miss时,先转化成读miss,之后再执行写HIT;
S24,无论读写请求,当产生miss,需要直接从flash中读数据,写入DDR,并更新TAG,这个过程要产生替换操作,使用LRU原则,把最近最少使用的数据替换出去;如果被替换的tag信息是dirty状态,则需要Ex-cache 控制器启动dma把相应的ddr数据写回到flash中,之后才写入新的数据和tag信息,并设置状态为clean。
9.根据权利要求5所述的方法,其特征在于:所述Flash数据写回方法包括以下步骤:
S31,写回 writebuffer:Flash控制器和flash阵列之间设计有写缓冲机制,为了避免flash芯片被频繁的擦写,影响使用寿命,只有发生cache替换时,才产生写回操作,但数据首先不会被真正的写入到flash芯片颗粒中,而是写入到缓冲区内推理模块直接通过虚拟地址从服务端读取相应的权值、偏置信息至内部RAM;
S32,Writebuffer数据写回flash芯片:flash控制器提供写回策略,避免频繁擦出flash芯片,设置缓冲区阈值,预测即将产生整块缓存数据时,则一次性写回flash芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710854796.0A CN107729268B (zh) | 2017-09-20 | 2017-09-20 | 一种基于capi接口的内存扩展装置与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710854796.0A CN107729268B (zh) | 2017-09-20 | 2017-09-20 | 一种基于capi接口的内存扩展装置与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107729268A true CN107729268A (zh) | 2018-02-23 |
CN107729268B CN107729268B (zh) | 2019-11-12 |
Family
ID=61206654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710854796.0A Active CN107729268B (zh) | 2017-09-20 | 2017-09-20 | 一种基于capi接口的内存扩展装置与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107729268B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582243A (zh) * | 2018-12-03 | 2019-04-05 | 深圳市得微电子有限责任公司 | 主控内存的存储扩展方法、装置、可读存储介质及系统 |
CN110597457A (zh) * | 2019-08-06 | 2019-12-20 | 深圳市金泰克半导体有限公司 | 一种固态硬盘、固态硬盘的控制方法及控制器 |
CN111026682A (zh) * | 2019-12-26 | 2020-04-17 | 浪潮(北京)电子信息产业有限公司 | 板卡芯片的数据访存方法、装置及计算机可读存储介质 |
CN111045964A (zh) * | 2019-12-06 | 2020-04-21 | 思尔芯(上海)信息科技有限公司 | 一种基于pcie接口高速传输方法、存储介质及终端 |
CN115114200A (zh) * | 2022-06-29 | 2022-09-27 | 海光信息技术股份有限公司 | 一种多芯片系统及基于其的启动方法 |
CN115291814A (zh) * | 2022-10-09 | 2022-11-04 | 深圳市安信达存储技术有限公司 | 嵌入式存储芯数据存储方法、嵌入式存储芯片及存储系统 |
CN117807005A (zh) * | 2024-02-29 | 2024-04-02 | 苏州元脑智能科技有限公司 | 一种内存扩展系统、服务器、内存请求方法及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR920000406B1 (ko) * | 1989-08-29 | 1992-01-13 | 삼성전자 주식회사 | 어드레스 변환신호로 동기화시킨 어드레스 지정방법 및 어드레스 버퍼회로 |
CN103229165A (zh) * | 2010-08-12 | 2013-07-31 | 安全第一公司 | 用于数据的安全远程存储的系统和方法 |
US20170168736A1 (en) * | 2015-12-10 | 2017-06-15 | International Business Machines Corporation | Sharing read-only data among virtual machines using coherent accelerator processor interface (capi) enabled flash |
CN106951926A (zh) * | 2017-03-29 | 2017-07-14 | 山东英特力数据技术有限公司 | 一种混合架构的深度学习系统方法及装置 |
CN106997438A (zh) * | 2017-03-29 | 2017-08-01 | 山东英特力数据技术有限公司 | 一种可信服务器cpu设计方法 |
-
2017
- 2017-09-20 CN CN201710854796.0A patent/CN107729268B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR920000406B1 (ko) * | 1989-08-29 | 1992-01-13 | 삼성전자 주식회사 | 어드레스 변환신호로 동기화시킨 어드레스 지정방법 및 어드레스 버퍼회로 |
CN103229165A (zh) * | 2010-08-12 | 2013-07-31 | 安全第一公司 | 用于数据的安全远程存储的系统和方法 |
US20170168736A1 (en) * | 2015-12-10 | 2017-06-15 | International Business Machines Corporation | Sharing read-only data among virtual machines using coherent accelerator processor interface (capi) enabled flash |
CN106951926A (zh) * | 2017-03-29 | 2017-07-14 | 山东英特力数据技术有限公司 | 一种混合架构的深度学习系统方法及装置 |
CN106997438A (zh) * | 2017-03-29 | 2017-08-01 | 山东英特力数据技术有限公司 | 一种可信服务器cpu设计方法 |
Non-Patent Citations (2)
Title |
---|
刘志学: "《计算机内存概念的理解》", 《电脑应用》 * |
廖湘科: "《新型高性能计算系统与技术》", 《中国科学》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582243A (zh) * | 2018-12-03 | 2019-04-05 | 深圳市得微电子有限责任公司 | 主控内存的存储扩展方法、装置、可读存储介质及系统 |
CN109582243B (zh) * | 2018-12-03 | 2022-04-12 | 深圳市得一微电子有限责任公司 | 主控内存的存储扩展方法、装置、可读存储介质及系统 |
CN110597457A (zh) * | 2019-08-06 | 2019-12-20 | 深圳市金泰克半导体有限公司 | 一种固态硬盘、固态硬盘的控制方法及控制器 |
CN111045964A (zh) * | 2019-12-06 | 2020-04-21 | 思尔芯(上海)信息科技有限公司 | 一种基于pcie接口高速传输方法、存储介质及终端 |
CN111045964B (zh) * | 2019-12-06 | 2021-07-20 | 上海国微思尔芯技术股份有限公司 | 一种基于pcie接口高速传输方法、存储介质及终端 |
CN111026682A (zh) * | 2019-12-26 | 2020-04-17 | 浪潮(北京)电子信息产业有限公司 | 板卡芯片的数据访存方法、装置及计算机可读存储介质 |
CN115114200A (zh) * | 2022-06-29 | 2022-09-27 | 海光信息技术股份有限公司 | 一种多芯片系统及基于其的启动方法 |
CN115114200B (zh) * | 2022-06-29 | 2023-11-17 | 海光信息技术股份有限公司 | 一种多芯片系统及基于其的启动方法 |
CN115291814A (zh) * | 2022-10-09 | 2022-11-04 | 深圳市安信达存储技术有限公司 | 嵌入式存储芯数据存储方法、嵌入式存储芯片及存储系统 |
CN117807005A (zh) * | 2024-02-29 | 2024-04-02 | 苏州元脑智能科技有限公司 | 一种内存扩展系统、服务器、内存请求方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107729268B (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107729268A (zh) | 一种基于capi接口的内存扩展装置与方法 | |
CN104461393B (zh) | 一种闪存存储器的混合映射方法 | |
US10410693B2 (en) | Multiprocessor system with independent direct access to bulk solid state memory resources | |
CN102063274B (zh) | 存储阵列和存储系统及数据访问方法 | |
CN114519029A (zh) | 具有逐出高速缓存的网络接口控制器 | |
CN104765575B (zh) | 信息存储处理方法 | |
CN106843772A (zh) | 一种基于一致性总线扩展非易失内存的系统及方法 | |
CN104536702B (zh) | 一种存储阵列系统及数据写请求处理方法 | |
CN100342352C (zh) | 一种可扩充的高速存储网络缓存系统 | |
CN107066393A (zh) | 提高地址映射表中映射信息密度的方法 | |
CN103885728A (zh) | 一种基于固态盘的磁盘缓存系统 | |
US20130318196A1 (en) | Storage system and storage control method for using storage area based on secondary storage as cache area | |
CN106066890B (zh) | 一种分布式高性能数据库一体机系统 | |
CN103366016A (zh) | 基于hdfs的电子文件集中存储及优化方法 | |
CN105518631B (zh) | 内存管理方法、装置和系统、以及片上网络 | |
CN108762671A (zh) | 基于pcm和dram的混合内存系统及其管理方法 | |
CN109344090A (zh) | 数据中心中kvm虚拟机的虚拟硬盘系统及数据中心 | |
Xu et al. | Rethink the storage of virtual machine images in clouds | |
CN104765574A (zh) | 数据云端存储方法 | |
CN104035903B (zh) | 一种基于可重构技术的二维数据访问动态自适应方法 | |
CN107589908A (zh) | 一种基于固态盘缓存系统中非对齐更新数据的合并方法 | |
CN109240603A (zh) | 全闪存服务器 | |
CN106020731A (zh) | 存储设备、存储设备阵列和网络适配器 | |
CN107957962A (zh) | 一种面向大图计算高效图划分方法与系统 | |
CN103294407B (zh) | 存储装置和数据读写方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220915 Address after: 272000, No. 431, Chongwen Avenue, high tech Zone, Jining City, Shandong Province Patentee after: SHANDONG INTELLIGENT OPTICAL COMMUNICATION DEVELOPMENT Co.,Ltd. Address before: 272000 yingteli Industrial Park, 431 Chongwen Avenue, high tech Zone, Jining City, Shandong Province Patentee before: SHANDONG ITL DATA TECHNIQUE CO.,LTD. |
|
TR01 | Transfer of patent right |