ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

氧化物栅控离子晶体管构建低功耗脉冲神经网络:从器件到系统的协同设计

氧化物栅控离子晶体管构建低功耗脉冲神经网络:从器件到系统的协同设计 1. 从标题拆解这个方向到底在做什么氧化物栅控离子晶体管构建低功耗脉冲神经网络这个标题第一次看到的时候我脑子里蹦出来的画面是一边是材料领域里那些做氧化物薄膜的课题组另一边是搞类脑计算、做SNN脉冲神经网络的硬件团队这两拨人平时开会都不在一个分会场现在被硬生生拽到了一张桌子上。而把他们拉到一起的核心驱动力只有一个词——低功耗。先把标题拆成三段来看。氧化物栅控离子晶体管这是器件层面的东西核心在于“栅控”和“离子”两个词。传统MOSFET靠栅极电压控制沟道里的电子或空穴而这类器件靠的是栅极电压驱动离子在介质层里迁移从而改变沟道的导电状态。离子迁移这个过程本身是慢的但正因为慢它带来了两个好处一是非易失性离子迁过去之后不撤电压它就不回来状态能记住二是多态可调通过控制电压脉冲的幅度、宽度、个数可以把沟道电导调到连续变化的多个值。这两个特性恰好是脉冲神经网络硬件最馋的东西。脉冲神经网络SNN跟现在主流的深度神经网络最大的区别在于信息编码方式。CNN、Transformer这些网络里神经元输出的是一个连续的激活值比如0.73、-1.2这种浮点数。而SNN里神经元输出的是离散的脉冲要么发一个脉冲要么不发信息藏在脉冲的时间和频率里。这种编码方式天然稀疏——大部分神经元大部分时间都在沉默只有少数在发放脉冲。稀疏就意味着省电这是SNN在硬件层面最大的卖点。低功耗这个词放在最后其实是整个工作的落脚点。现在训练一个大模型动辄几千张GPU推理端虽然优化了不少但边缘设备上跑神经网络依然是电池杀手。SNN理论上能把功耗降一到两个数量级但前提是你得有合适的硬件。用传统数字电路去模拟SNN脉冲的累积、阈值比较、膜电位泄漏这些操作都要用乘加器和存储器来实现功耗优势根本发挥不出来。所以大家才把目光投向存内计算投向那些本身就能“记住”电导状态的器件氧化物栅控离子晶体管就是其中很有竞争力的一条路线。这个方向适合谁看如果你是做器件物理的能从这里看到氧化物离子导体在神经形态计算里的应用出口如果你是做电路与系统的能理解为什么选这类器件而不是RRAM或相变存储器如果你是做算法和SNN仿真的能知道硬件端到底需要什么样的器件特性反过来指导你的网络设计。下面我按自己的理解把这个方向里的关键环节一个个拆开讲。2. 为什么偏偏是氧化物栅控离子晶体管2.1 三类候选器件的横向对比做神经形态硬件能用来当突触的器件有好几类我列个表把常见的几种放在一起比一比这样选型逻辑会清楚很多。器件类型电导调节机制非易失性多态线性度功耗水平工艺成熟度氧化物栅控离子晶体管离子在栅介质中迁移好较好极低中阻变存储器RRAM导电细丝形成/断裂好一般低较高相变存储器PCM晶态/非晶态转变好好中高较高浮栅晶体管电荷隧穿注入/移除好一般中高铁电晶体管FeFET铁电极化翻转好一般低中RRAM的问题是电导调节往往是非线性的导电细丝的形成和断裂带有随机性做多值存储时一致性不好而且写操作电流偏大。PCM的晶化过程需要加热功耗下不来跟低功耗的目标有点拧巴。浮栅晶体管写擦电压高而且电荷泄漏会导致保持特性退化。FeFET的铁电极化翻转次数有限疲劳特性是个隐患。氧化物栅控离子晶体管的核心优势在于离子迁移的动力学过程可以被电脉冲精确调控。你给一个正脉冲离子往沟道方向挪一点电导升高一点给一个负脉冲离子退回去电导降低。通过控制脉冲的数量和幅度电导可以连续调很多个状态。这个过程是离子在动不是电子在动所以操作电压可以做得很低通常在1V以下就能有效调控静态时栅极不漏电功耗几乎为零。2.2 离子迁移带来的“记忆”到底怎么理解很多人第一次接触这类器件会犯迷糊离子在固体里迁移跟液体里的离子运动是一回事吗不是。这里的氧化物栅介质通常是非晶态的比如氧化钽、氧化钨、氧化铪这类材料内部有大量的氧空位或者可移动离子。在电场作用下这些离子/空位会沿着电场方向发生漂移在栅介质和沟道的界面处积累或者耗尽。打个比方你可以把栅介质想象成一块海绵离子就是海绵里的水分子。你用手从左边压水就往右边跑松手之后水不会自动弹回来而是停在右边。下次你从右边压水又往左边跑。沟道电导就取决于界面处“水”的多少——水多界面处载流子浓度高电导大水少电导小。这个类比里有个关键点松手之后水不会自动回来这就是非易失性的来源。但海绵里的水终究会慢慢扩散所以这类器件也有保持特性的问题只是时间尺度通常在小时到天这个量级对于推理任务来说够用了。2.3 跟SNN的匹配度到底高在哪SNN硬件对突触器件的要求我总结下来主要是四条多态可调、非易失、线性度好、功耗低。氧化物栅控离子晶体管在这四条上的表现多态可调通过脉冲个数控制电导实测通常能做到几十到上百个可区分状态做权重存储够用。非易失离子迁移后状态保持不需要持续供电刷新静态功耗极低。线性度这是最需要优化的地方。离子迁移的响应跟脉冲参数之间往往不是严格线性的需要靠材料工程和脉冲方案来补偿。功耗单次脉冲操作的能耗可以做到飞焦耳量级比数字电路里的乘加操作低两到三个数量级。还有一点容易被忽略这类器件的本征电容可以做得很小因为沟道面积可以微缩栅介质也薄。电容小意味着充放电能耗低这对SNN里频繁的脉冲事件来说很关键。3. 器件层面的核心细节与实操要点3.1 材料体系怎么选氧化物栅控离子晶体管的材料选择主要看三个部分沟道材料、栅介质材料、栅极材料。沟道材料常见的有IGZO铟镓锌氧化物、IZO铟锌氧化物、氧化锌等。IGZO是显示面板行业用得很成熟的材料迁移率适中关态电流极低做低功耗器件很合适。IZO的迁移率更高一些但关态电流控制难度大一点。选IGZO还是IZO取决于你对速度的要求——SNN的脉冲频率通常不高IGZO的迁移率完全够用所以我个人更倾向IGZO工艺也更好找。栅介质材料是核心中的核心因为它要提供离子迁移的通道。常用的有氧化钽、氧化钨、氧化铪、氧化硅等。氧化钽里的氧空位迁移率比较合适操作电压低是很多课题组的选择。氧化钨的离子迁移更活跃但保持特性可能差一些。氧化铪是CMOS产线里的常客跟现有工艺兼容性好但氧空位迁移的调控难度大一点。栅极材料通常用惰性金属比如铂、金、氮化钛。铂和金化学稳定性好不容易跟栅介质发生反应但成本高、跟CMOS工艺兼容性差。氮化钛是更实际的选择产线上用得很多。注意材料选择不是越新越好要看你的工艺条件。如果实验室没有磁控溅射或者原子层沉积设备很多材料体系根本做不出来。先盘设备再定材料。3.2 器件结构设计的关键参数结构上这类器件通常是三端结构源极、漏极、栅极。沟道连接源漏栅介质夹在栅极和沟道之间。关键参数包括沟道长度L决定器件的响应速度。L越小沟道电阻越小但短沟道效应会变严重。对于SNN应用L在几微米到几十微米都够用不需要追先进制程。沟道宽度W影响电导的绝对值。W越大电导越大但器件面积也大。通常W/L比控制在1到10之间。栅介质厚度太厚了离子迁移距离长操作电压高太薄了漏电流大保持特性差。通常在20nm到100nm之间找一个平衡点。栅极面积栅极面积影响离子迁移的总量面积大一些电导调节范围宽但器件面积也大。我见过一些课题组为了追求小尺寸把栅极面积做得很小结果电导调节范围只有两三倍做多值权重根本不够用。后来把栅极面积放大到沟道面积的2到3倍调节范围一下子到了十倍以上。这个经验说明器件设计要服务于应用需求不是越小越好。3.3 电导调节的脉冲方案这是实操里最需要花时间调的部分。电导调节的脉冲方案通常有三种固定幅度、变脉冲个数给一串固定幅度的脉冲脉冲个数越多电导变化越大。这种方式简单但线性度往往不好因为离子迁移有饱和趋势。固定个数、变脉冲幅度给固定个数的脉冲幅度越大电导变化越大。这种方式对脉冲发生器的精度要求高。变幅度变个数组合先给一个大脉冲快速接近目标值再给几个小脉冲微调。这种方式线性度最好但控制逻辑复杂。实测下来第三种方式在需要高精度权重写入时最靠谱。比如你要把电导从1微西调到10微西可以先给5个大脉冲把电导拉到8微西左右再给3到5个小脉冲慢慢逼近10微西。这个过程需要配合读取电路实时监测电导值形成闭环控制。提示脉冲的上升沿和下降沿时间也会影响离子迁移行为。上升沿太陡离子来不及响应等效于脉冲幅度变小下降沿太缓离子有时间部分回迁等效于脉冲效果被削弱。通常上升沿和下降沿控制在微秒量级比较合适。4. 从器件到SNN系统层面的构建逻辑4.1 SNN的硬件映射方式SNN在硬件上的映射核心是把神经元的膜电位累积和阈值发放以及突触的权重存储和权重更新对应到具体的器件和电路上。突触部分每个权重用一个氧化物栅控离子晶体管来存。晶体管放在交叉阵列里行线是输入脉冲列线是输出电流。输入脉冲到来时晶体管的栅极电压变化沟道电导按权重值输出电流。这个电流在列线上累加起来就实现了乘加运算。因为是存内计算权重不需要搬到运算单元省掉了数据搬运的功耗。神经元部分通常用CMOS电路来实现。列线上的累加电流给到一个电容充电电容电压就是膜电位。当膜电位超过阈值时比较器翻转输出一个脉冲同时放电电路把电容电压复位。这个过程就是积分-发放。4.2 权重更新怎么在硬件上实现SNN的训练通常用STDP脉冲时序依赖可塑性规则或者用替代梯度方法做反向传播。不管哪种方法最终都要落到“根据前后脉冲的时间关系调整权重”这个操作上。在氧化物栅控离子晶体管上实现权重更新就是根据脉冲时序给栅极施加相应的电压脉冲。如果前神经元先发放后神经元后发放说明这个连接应该增强就给栅极一个正脉冲电导升高反过来就给负脉冲电导降低。这里有个实操难点权重更新和权重读取会互相干扰。你给栅极施加脉冲更新权重的时候源漏之间的读取电流也会变化如果读取电路和写入电路没有隔离好读取结果会不准。常见的做法是分时复用——先写等一段时间让离子迁移稳定再读。这个等待时间通常在微秒到毫秒量级取决于材料体系。4.3 阵列规模与外围电路小规模验证通常做8×8或者16×16的阵列用来跑简单的分类任务比如MNIST手写数字识别。阵列规模上去之后外围电路的设计难度会急剧增加。列线上的电流累加如果阵列是N×N每一列有N个晶体管的电流汇入总电流是N个电流的和。N大了之后列线电阻上的压降不能忽略会导致不同位置的器件实际看到的电压不同权重计算出现偏差。解决办法通常是增加列线宽度降低电阻或者分段读取。还有寄生电容的问题。列线本身有电容电流累加时电容充放电需要时间限制了脉冲频率的上限。对于SNN来说脉冲频率通常不高这个问题不算致命但设计时还是要留够余量。5. 低功耗到底低在哪里5.1 功耗来源的分解一个SNN硬件系统的功耗主要来自四块权重存储的静态功耗、乘加运算的动态功耗、数据搬运的功耗、外围电路的功耗。用氧化物栅控离子晶体管做权重存储静态功耗几乎为零因为离子迁移后状态保持不需要刷新。这是相比SRAM最大的优势——SRAM每个bit都要持续供电保持阵列大了之后静态功耗很可观。乘加运算的动态功耗因为是在存内计算权重不需要搬运省掉了数据搬运的功耗。而且离子晶体管的操作电压低单次脉冲能耗小。数据搬运的功耗在传统架构里权重从存储器搬到运算单元这个过程的功耗往往比运算本身还大。存内计算把这一步省掉了这是低功耗的主要来源之一。外围电路的功耗包括脉冲发生器、比较器、控制器等这部分用CMOS电路实现功耗取决于工艺节点和电路设计。用成熟工艺比如180nm或130nm功耗会比先进工艺高一些但成本低、可靠性好。5.2 跟数字SNN硬件的功耗对比数字SNN硬件比如用FPGA或者专用数字ASIC实现的SNN每个突触权重要用多个bit来存储每次乘加运算都要读权重、做乘法、做累加。虽然数字电路可以跑很高的时钟频率但功耗跟运算量成正比。模拟存内计算的SNN乘加运算的功耗跟脉冲事件数成正比而SNN本身是稀疏的大部分时间没有脉冲事件所以平均功耗可以很低。有文献报道在相同任务下模拟存内计算的SNN功耗可以比数字实现低一到两个数量级。当然这个对比不是绝对的。数字电路的优势在于精度高、可编程性强、设计工具成熟。模拟存内计算的优势在于功耗和面积。选哪条路取决于你的应用场景——如果是电池供电的边缘设备模拟存内计算更有吸引力如果是需要高精度、复杂网络的数据中心应用数字方案可能更合适。5.3 实测功耗数据的参考根据我看到的文献和实际测试经验单个氧化物栅控离子晶体管的一次脉冲操作能耗大约在飞焦耳到皮焦耳量级。一个16×16的阵列跑一次MNIST推理总能耗在纳焦耳到微焦耳量级。这个数字跟数字实现相比确实低了不少。但要注意这个功耗数据通常只包含阵列本身的功耗不含外围电路。外围电路的功耗在系统总功耗里占比可能超过一半。所以做系统级功耗评估时不能只看阵列。注意功耗测试一定要用高精度的源表普通万用表的精度不够。脉冲电流往往是微安甚至纳安量级持续时间短需要示波器配合电流探头来测。6. 实操中踩过的坑与排查技巧6.1 器件一致性差怎么办氧化物栅控离子晶体管的器件一致性是阻碍大规模阵列应用的最大问题。同一批做的器件电导调节范围可能差两三倍初始电导也参差不齐。排查思路先看材料沉积的均匀性。磁控溅射的靶材纯度、溅射功率、衬底温度、气氛比例任何一个参数波动都会影响薄膜质量。原子层沉积的均匀性更好但速度慢、成本高。如果材料没问题再看器件加工的一致性。光刻的套刻精度、刻蚀的侧壁角度、退火的温度分布都会影响器件性能。特别是退火温度不均匀会导致氧空位浓度分布不均直接影响离子迁移行为。实操技巧在阵列里加入参考器件每次操作前先测参考器件的电导根据参考器件的响应来校准脉冲参数。这个方法能补偿一部分工艺波动但不能完全解决。6.2 电导保持特性不达标保持特性差的表现是写完权重之后过一段时间电导自己变了。原因通常是离子在浓度梯度驱动下发生了扩散回迁。改善方法一是优化栅介质的材料体系选择离子迁移势垒更高的材料二是优化器件的几何结构增加离子迁移的路径长度三是操作完成后给一个小的反向脉冲把离子“锁”在界面处。实测经验氧化钽体系的保持特性通常比氧化钨好但操作电压高一些。如果应用对保持时间要求不高比如推理任务权重写完就用用完就扔氧化钨也可以用。6.3 阵列里的串扰问题交叉阵列里除了目标器件相邻器件的电流也会通过寄生路径汇入列线造成串扰。串扰会导致读取的权重值偏大网络精度下降。解决办法一是用选择器每个器件串联一个非线性元件只在目标器件被选中时导通二是用差分读取同时读取目标列和参考列相减抵消串扰三是用自整流器件器件本身具有整流特性反向电流被抑制。选择器会增加工艺复杂度差分读取会牺牲面积自整流器件会限制电导调节范围。具体选哪种要看你的应用对精度和面积的要求。6.4 常见问题速查表问题现象可能原因排查方法解决思路电导调节范围小栅极面积小、栅介质厚测不同尺寸器件的调节范围增大栅极面积、减薄栅介质电导调节非线性离子迁移饱和、脉冲方案不当测电导-脉冲数曲线改用变幅度变个数组合脉冲保持特性差离子扩散回迁测电导随时间变化优化材料、加锁定脉冲器件一致性差工艺波动统计多器件参数分布加参考器件校准阵列串扰严重寄生路径测单器件和阵列的电流差异加选择器、差分读取响应速度慢离子迁移率低、沟道长测脉冲响应时间优化材料、缩短沟道7. 这个方向后续还能怎么扩展从器件角度可以往三维集成方向走。把氧化物栅控离子晶体管阵列堆叠起来提高集成密度。三维集成的好处是面积利用率高坏处是散热和工艺难度大。目前已经有课题组在做两层堆叠的验证效果还不错。从电路角度可以往事件驱动电路方向走。SNN的脉冲是稀疏的如果外围电路能做成事件驱动没有脉冲事件时电路处于休眠状态功耗可以进一步降低。这需要设计异步电路难度比同步电路大但功耗收益明显。从算法角度可以往硬件感知训练方向走。现在的SNN训练通常假设权重可以精确调节但实际器件的电导调节有噪声、有非线性。如果在训练时就考虑这些非理想因素网络的鲁棒性会更好。具体做法是在训练时给权重加噪声或者用器件的实际响应曲线来替代理想模型。从应用角度可以往边缘智能方向走。低功耗SNN硬件最适合的场景是边缘设备上的实时推理比如传感器信号处理、关键词唤醒、手势识别。这些任务不需要很高的精度但对功耗和延迟敏感。氧化物栅控离子晶体管构建的SNN硬件在这类场景里有天然优势。我个人在实际操作中的体会是这个方向最大的挑战不在器件本身而在器件和电路的协同设计。做器件的人往往不懂电路做电路的人往往不懂器件两边各做各的最后拼在一起发现不匹配。最好的做法是从一开始就让器件和电路的人坐在一起器件的人知道电路需要什么特性电路的人知道器件能提供什么特性这样才能做出真正可用的系统。
返回列表