文献调研——存算一体的一些基础知识

SSD课程背景知识学习
主要包含:
Part 1 存算一体的相关概念
Part 2 SSD基本结构

一、Why

人工智能芯片:
边缘市场-终端推理手机,可穿戴智能家居 要求低成本低功耗 -推理芯片
云端市场-云端计算、云端推理 服务器 算力大 不care成本和功耗-训练芯片
来自Ref3:
(1)终端推理将是主要趋势:权重精度简化、不涉及训练的权重更新、终端推理任务一般较为固定
(2)物联网将是主要应用场景
(3)非挥发性存储器件是存内计算落地关键
人工智能三大要素:
算力-NVIDIA-GPU/Google-TPU(云端算力) 边缘终端?资源受限,高能效、低成本、长待机
数据-互联网与5G
算法-深度神经网络
瓶颈:
存储和运算之间的瓶颈,二者是分离的 缓存临时数据 存储调用
神经网络参数:读取瓶颈
数据缓存:读写瓶颈 存储器和处理器之间通路窄 ,存储器和处理器之间壁垒高(存储墙 功耗墙)
降低数据搬运开销
高带宽内存(HBM DRAM)
高带宽数据通信
提高存储器速度(RRAM PCM FeRAM)
增加片上存储(eDRAM STI-MRAM)
存算一体(近数据计算,存算一体)-见啥数据处理电路中移动数据的需求

二.What

存算一体:将计算机中的运算从中央处理器转入内存中进行,可大幅将死数据交换时间以及计算过程中的数据存取能耗。
以计算为中心转变为以数据为中心,直接利用存储器进行数据处理
技术路线分为片内存储和片外存储两大类。
片外存储:基于数字芯片和存储器配合的存算一体技术,通过在存储器中植入计算芯片或逻辑计算单元来提高读写速度
片内存储:数模混合的存算一体技术,通过在存储器嵌入算法权重,使存储器具备算法功能,实现真正意义上的将存储和计算完全结合在一起。
相关概念:
Computing-in-memory In-memory-Computing,Logic-in-Memory,In-Memory-Processing,Processing-in-Memory分别对应:内存处理、存内处理、内存计算、存算融合、存内计算、存算一体等
Q:与“近存计算”的区别?
为什么重点放在边缘端智能应用场景?
(1)不可能吧所有运算都放在云端,考虑到实时产生的数据量、实际传输带宽、端侧设备的损耗-实时性的要求
(2)同类设备产生的大部分数据有具有极高的相同模式化特征,借助终端的处理能力先过滤掉大部分无用数据
(3)用户隐私/安全性的要求,人脸语音信息传至云端的安全性?

三.How

目前存算一体芯片的主要研发集中在传统非易失存储:SRAM,DRAM以及非易失存储:PRAM,PCM,MRAM与闪存等,比较成熟的是SRAM和MRAM为代表的通用近存计算架构。

四.存算一体芯片的相关实现

95%以上的运算为向量矩阵乘法(MAC),因此存算一体主要加速该部分运算。
通常采用同构众核的架构,每个存储计算核(MPU)包含:计算引擎(PE,processing engine)、缓存(cache)、控制(CTRL)与输入输出(I/O)。其中缓存可以是SRAM、MRAM或类似的高速随机存储器,每个MPU之间同过片上网络(NoC,network on chip)进行连接,每个MPU访问自己的cache,可以实现高性能并行运算。
1.SRAM二值存储器 = XNOR累计运算,可用于二值神经网络运算。核心思想:网络权重存储于SRAM中,激励信号由额外字线给出,最终利用外围电路实现XNOR累加运算。计算结果通过计数器或模拟电流输出。 难点:实现大阵列的运算同时保证运算精度
2.DRAM存算一体:利用DRAM单元之间的电荷共享机制,党多行单元被选通时不同单元之间因为存储数据的不同会产生电荷交换共享,从而实现逻辑运算。这种方案的问题之一是计算操作对数据是破坏性的,每次执行运算后都要进行刷新带来的功耗问题;问题二依旧是实现大阵列运算的同时保证运算精度。
3.PRAM/PCM/Flash多值存算一体 利用存储单元的多值特性,通过器件本证的物理电气行为来实现多值MAC运算。将每个存储单元看做可变电导/电阻用于存储网络权重。当在每一行施加电流/电压(激励)时每一列即可得到MAC运算的电压/电流值。
由于Flash本身是非易失可直接存储网络权重,无需片外存储器,减小了芯片成本,而且数据掉电不丢,可以实现即时开机/关机操作,减少静态功耗延长待机时间,非常适用于功耗受限的边缘终端设备。基于Flash的存算一体相对成熟,收到业界广泛关注。
如直接利用存储单元的输入输出进行逻辑运算,根据不同存储器逻辑单元的结构与操作方法的不同有不同的实现方式。
存在的挑战
1、技术层面:涉及器件-芯片-算法-应用多层次的跨层协同
2、产业生态层面:需要得到芯片厂商、软件工具厂商、应用集成厂商的大力协同、研发、推广与应用才是落地的关键
3、计算精度有限:浮栅存储器件并不适用于计算,且片内存储本质上使用模拟计算,计算精度会受到模拟计算低信噪比的影响,通常精度上线在8bit+定点运算。这一点就能看出不适合做DNN训练,只能适用于嵌入式等对高能效比有要求且对精确度有一定容忍
4、关键技术:存算一体模拟信号误差、高效模拟/数字信号转换
Why?

五.固态硬盘科普(SSD)

主控+Flash 控制芯片+Flash(闪存颗粒:4 SLC MLC TLC QLC每个单元分别存储1-4种数据)+缓存
1.存储颗粒:
SLC:每个存储单元只放1bit数据 查找速度快
MLC:每个存储单元存放2bit数据
TLC:每个存储单元存放3bit数据 寿命短(访问多)但价格便宜
能自主生产内存颗粒的厂商:Intel Sumsung Mocron SK Hynix TOSHIBA SanDisk
颗粒和固件影响了SSD的读写速度,SLC缓存也让TLC颗粒的固态硬盘能有不错的顺序读写速度
4k 随机读写
2.主控
主控厂商:marwell马牌 三星Phoenix Intel| TOSHIBA SiliconMotion(慧荣)PHISON(群联)
3.缓存:
DDR/SLC-cache
4.分类
按接口:3种
SATA:600Mb/s
PCI-E :X1 X2(1000Mb/s) X4(1500Mb/s) X8(显卡) X16
M.2:高性能M型接口-socket3接口1500Mb/s
B-Ket插槽,socket2接口
协议:NVME协议 (PCI-E-3000Mb/s M.2)
传输方式:
顺序读写:单个大文件
随机读写:文件夹下多个小文件 4k IPOS值越大越好
5.SSD厂商推荐
三星 860EVO 970EVO SM961
东芝 MLC:Q200 TLC:TR200
浦科特:M9PeG 马牌主控+TLC
Intel: 545s 760P
建兴:T9 马牌主控 贵
惠普: EX900 HP主控+美光颗粒
闪迪:便宜但性能一般 升级老电脑可以
尽量选择能自己生产闪存颗粒,TLC+缓存 可以接受的,容量越大越好寿命也越久,SATA接口不用考虑是否电脑型号支持,M.2许考虑;4K IPOS值记得参考
0323补充SSD相关
内存处理速度快但容量小,外存存储容量大但不能直接访问,必须先搬到内存,再搬到缓存,跨越计算机系统的存储层级结构。
Processing in-memory内存处理器是将数据直接存放在内存,计算过程不需要在内存外存之间来回搬运数据,从而克服IO带宽限制,但内存容量相对于外存而言仍然较小。(存储靠近计算)
ISC:存内计算将存储和计算放在一个系统里面,存储采用非易失 闪存Flash,每个处理器通过PCIe接口连接到NAND Flash(存储计算一体)
面向计算的融合:将存储靠近计算
面向存储的融合:将计算靠近存储,将一部分计算任务卸载(offloading)至靠近数据存储的位置,利用内部总线而非IO完成数据搬动。通常通过在存储器加入计算功能的部件实现。-SSD
3D-STACKING以上两种在计算机体系结构层面实现融合,3D堆叠主要在器件封装层面以堆叠的方式实现异构封装。相关堆叠方案有:高带宽存储(High-Bandwidth memory)、混合存储立方体(Hybrid Memory Cube).多通过硅穿孔技术实现存储容量的倍增-解决存储墙
what is OFF-Loading:对数据处理的部分操作下移至存储系统,在存储系统中增加通用或专用处理器/加速器,对需要存取的数据进行预处理,以降低从存储系统至内存的数据来回搬移,避免IO作为性能瓶颈。
SSD靠近存储做计算的实现:嵌入低功耗处理器(ARM核)和内存资源(DRAM).NAND Flash,ARM,DRAM,控制器和内部总线整体构成一个事实上的计算机系统。
SSD如何实现计算:
(1)SSD接受主控CPU的计算需求,将数据从Flash搬运到SSD内部DRAM;
(2)SSD内部处理器(ARM核)完成计算并将计算结果返回CPU。
整个过程SSD不仅仅将SSD当做存储设备完成数据搬动;数据搬运利用的是内部高速总线,返回的计算结果数据量远远小于计算所需的数据量。
以上延伸出智能SSD相关文献。smartSSD related works

六.典型案例

Related Works
Graphcore【英】200-400Mb的SRAM缓存
Gyrfalcon Technology[美] 40Mb嵌入式MRAM缓存
International:
NOR闪存存算一体芯片:Intel傲腾固态盘-片外存储-CPU和硬板之间的数据搬运
Domestic:
知存科技-片外存储-超低功耗语音识别存算一体
新忆科技
Research Institute:
加州大学圣芭芭拉分校-谢源团队-阻变存储的存内计算
清华-全球首款多阵列忆阻器存算一体系统,处理CNN时的能效比GPU高两个数量级。
清华大学-刘永攀教授团队和汪玉教授团队-PRIME架构研发-150nm工艺流片
清华+SK Hynix-智能存储计算芯片联合研究中心
复旦大学-周鹏团队
恒硕+中科大
基于NOR闪存架构的存算一体AI芯片,利用NOR Flash的模拟特性,可直接在存储单元内进行全精度矩阵卷积运算(乘加运算),规避了数据在ALU和存储器之间来回传输的瓶颈,从而使功耗大幅降低、提高了运算效率。
结构: Flash存储单元:存储神经网络权重参数+同时还可以完成和此权重相关的乘加法运算->乘加法+存储融合到了一个Flash 省去了DRAM、SRAM以及片上并行计算单元,简化系统设计

知存科技-MemCore-单麦/双麦降噪-基于Flash的模拟存算一体
Flash-(8bit权重存储 8*8bit模拟矩阵乘加运算) 单一Flash阵列可完成200万次矩阵乘法加法运算,吞吐率比DRAM/SRAM带宽高100-1000倍

内存计算:通过将一个相关的电子元件编程成一个离散的阻值和状态,然后将这些具有不同权重的电子元件相互卷积,就可以建立一个近似突触和神经元的系统。

文献阅读-Ref2:知存科技-端侧智能存算一体芯片概述
1.存算一体-提出背景
存储墙和功耗墙并称为冯诺依曼计算架构瓶颈
智能大数据存储的挑战实质是由硬件设施的处理能力与所处理问题的数据规模之间的矛盾导致的。->need高效的硬件设施与计算架构
单纯增加数据总线或带宽:增加功耗和硬件成本开销
业界主流:高速接口、光互联、增加片上缓存、存储器尽可能靠近处理器以减小数据传输距离
相关企业:Google,AMD,NVIDIA,寒武纪
2.存算一体芯片主流研究方向
(1)通用近存计算架构
(2)SRAM存算一体
(3)DRAM存算一体
(4)多值存算一体(PRAM/PCM/Flash)
(5)二值存算一体(PRAM/PCM/Flash)

Ref3.存内计算技术发展趋势分析
1.当前存内计算主要面临:硬件的资源复用、存内计算单元设计和模拟运算实现等挑战
存内计算的硬件载体也逐渐从NOR Flash向新兴非挥发性存储器件方向转变
2.根据逻辑单元和存储单元的关系,计算架构可分为:
传统架构
近存储计算架构->不改变逻辑、存储单元自身设计功能前提下,通过硬件布局和结构优化,增强二者之间的通信带宽从而提高计算效率
存内计算架构-直接在存储单元内部进行运算,实现逻辑单元和存储单元的有机整合

3.存内计算的工作模式:
(1)计算结果与输入和存储状态均有关,结果直接输出->满足算法推理功能的基本实现
(2)计算结果与输入和存储状态均有关,结果保存在存储单元内->实现权重跟新(训练)
(3)计算结果和输入和存储状态均有关,结果输出并同时更新存储状态->更贴近真是的突触单元,目前还较为困难
4.实现存内计算的挑战
(1)硬件资源的复用。没有原冯诺依曼架构的多级存储模式,存内计算:存储单元分散在逻辑单元内、逻辑单元分散在存储单元内或二者有机结合->神经网络的层数设置增加了复用难度
(2)存算一体化单元的设计问题。开销、可靠性都既要满足存储也要满足计算的要求
(3)模拟量运算的实现。神经网络起码权重精度要求6bit(尤其是训练过程)->硬件实现上巨大的计算开销,寻求模拟量功能的趋势性估算既能简化算法又能够降低对硬件的性能要求;另一方面硬件上实现模拟量的可控调制和存储难度较高

Ref4:基于NOR Flash的存算一体AI推理芯片
合肥恒烁半导体+中科大->用于人脸识别、音频识别、心电检测
未来应用场景:智能手机、可穿戴设备、无人机、智能摄像头、助听器等
1、NOR Flash 存算一体AI芯片:Flash阵列的模拟计算来高度并行化完成矩阵计算。具体将权值映射到Flash阵列,然后将输入转哈为电压,输入到Flash阵列进行模拟计算,采集到的的输出电流即为计算结果。
特点:
(1)Flash单元即是存储单元又是计算单元 消除了神经网络权重部分的内存移动降低功耗
(2)每个Flash相当于一个乘法器,矩阵运算时有几万个乘法累加并行进行,大大提高了吞吐量。

Ref5.基于忆阻器的感存算一体技术研究进展
1、忆阻器:阻值由激励决定且连续变化,集成密度高、操作速度快、操作功耗低、非易失。常采用交叉阵列,在阵列一端施加列电压矢量时另一端的输出行电流是施加列电压矢量与忆阻器电导矩阵的乘积。->基于欧姆定律和基尔霍夫电压定理,忆阻器阵列能够在一个周期内完成矢量和矩阵的乘累加运算,乘法的因子直接存储在忆阻器阵列中,不需要单独的存储单元,从而绕过了冯诺依曼瓶颈。
2、模拟式存算一体:欧姆定律和基尔霍夫电压定律一步实现乘累加。
相关研究:STDP规则完成脉冲神经网络的训练、搭建单层感知机系统
现存问题:目前只能海鲜简单数据的线性分类,与复杂多变的现实应用需求有较大差距;大规模忆阻器阵列的外围测试电路过于复杂;忆阻器状态有一定波动性-信息安全领域的应用
数字式存算一体:忆阻器完成布尔逻辑运算、加法、乘法
类型:V-V型(好级联)、R-R型(容易级联、配置)、V-R型(不好级联)
现存问题:植被的器件尺寸大、功耗高、单次运算优势与CMOS并不明显
3、忆阻器存算一体存在的问题
(1)忆阻器器件可靠性距应用还相差较远,器件参数一致性受材料工艺制约
(2)大规模忆阻器阵列:阵列纸杯工艺和串扰(旁路电流通道对目标器件读写操作的干扰)
(3)数字式存算一体有一定进展但 其实际处理能力目前还未有科研成果现实

4、感存算一体技术
感存算一体技术:集感知、存储和运算为一体的架构。传感器采集到的的模拟信号直接送到忆阻器处理单元进行运算,无需ADC的采样量化存储
主要有:
压力感存算一体->阻变压力传感器+阻变存储器=触觉记忆单元 问题:柔性衬底、集成度
光学感存算一体->光探测器+阻变存储器/光阻器件 问题:视觉信息临时存储、实时处理、光电子突触型器件
气体感存算一体->气体探测器+存储器
5、感存算一体技术的发展思考
大规模集成:考虑多感知融合、多元化处理功能
器件性能可靠性:器件分立,需发展维纳传感器的高密度三维集成工艺
外围控制电路架构:起步阶段
Ref6.基于忆阻器的非易失逻辑研究前沿
Ref7.基于新兴忆阻器的存内计算
1、忆阻器:高低电阻两个状态可表示逻辑1/0;不同电阻状态之间可逆翻转、状态需满足一定条件才发生翻转
2、忆阻器逻辑
Stateful:R-R 方便集成,具有很高的逻辑完备性、易于逻辑级联;但对器件参数一致性要求高
Non-stateful:R-V/V-V 无需额外的操作电压,便于集成在交叉阵列中;但不利于级联,输出输出状态不一致
存在的问题:器件状态飘逸、阵列排列方式影响逻辑运算性能、泄露路径、
3、忆阻器分类
磁效应忆阻器:不同层电子自旋方向->相对磁化方向->阻值变化
相变效应忆阻器:电压->可编程区的晶态(多晶、非晶)->阻态变化
阻变效应忆阻器:上下金属电极+中间阻变绝缘体层,有单双极性两类->电压极性
Ref8:一种基于斯格明子介质的高效存内计算框架
赛道型内存:RM,racetrack memory密度大、非易失、静态功耗低
斯格明子赛道内存:Skyrmion-based racetrack memory逻辑单元构成加法/乘法器,无需大量CMOS电路辅助;另一方面改进存储单元读写端口数目与系统级改进内存地址映射方式,大幅提高框架运行效率
看不懂了。。。

Question
目前问题:近存计算和存算一体的区别? 为什么会设计模拟量运算的难题?

你可能感兴趣的