基于交叉开关的计算环境中的缺陷减轻的制作方法

文档序号:20675792发布日期:2020-05-08 17:48阅读:279来源:国知局
基于交叉开关的计算环境中的缺陷减轻的制作方法

本公开涉及缺陷减轻,更具体地说,是涉及减轻基于交叉开关的计算环境中的缺陷的系统和方法。



背景技术:

交叉开关矩阵可能包括相互交叉的横行金属线和纵列金属线(或电极),在交叉点处形成交叉点器件。交叉开关矩阵可用于计算目的,例如在人工神经网络中。

交叉开关矩阵中可能存在缺陷。例如,交叉点器件可能陷入不可调状态(例如短路状态、断路状态或中间状态),并且变得无法响应编程信号。由于无法将这些缺陷编程到目标值,因此会导致计算不准确。因此,在不降低计算性能或导致过高设计或制造成本的情况下,减轻交叉开关矩阵中的缺陷仍然是一项技术挑战。



技术实现要素:

本公开披露了减轻基于交叉开关的计算环境中的缺陷的系统和方法。在一些实施中,一个装置包括:第一条横行线;存在有缺陷器件的第二条横行线;以及配置为接收第一个输入信号的交叉开关矩阵。有缺陷器件与缺陷模式相关;第一条横行线和第二条横行线位于交叉开关矩阵内;第一个输入信号配置用于提供给第一条横行线。该装置还包括一个重排模块,该模块连接到交叉开关矩阵,并根据确定缺陷模式位于与第一个输入信号相关的目标电路模式的预定义近似范围内,配置为将输入信号从第一条横行线转移到第二条横行线。

在一些实施中,缺陷模式包括不可调电导,目标电路模式包括目标电导,第一个输入信号配置为提供给该器件。

在一些实施中,重排模块根据再次确定缺陷模式位于与第一个输入信号相关的目标电路模式的预定义近似范围外,进一步配置为离开第二条横行线。

在一些实施中,该装置包括第一条横行线上的多个第一个器件;以及第二条横行线上的多个第二个器件。多个第一个器件中的一个和/或多个第二个器件中的一个至少包括:忆阻器、忆阻系统、脉冲编码调制(pcm)器件、浮栅器件、相变随机存取存储器(pcram)器件、电阻式随机存取存储器(rram或reram)、磁阻随机存取存储器(mram)、动态随机存取存储器(dram)、静态随机存取存储器(静态ram或sram)或带可调电阻的其他器件。

在一些实施中,重排模块包括基于交叉开关的开关矩阵。

在一些实施中,该装置还包括连接重排模块与交叉开关矩阵的数模转换器。

在一些实施中,一种装置包括:配置为接收输入信号并产生原始输出信号的交叉开关矩阵;交叉开关矩阵中的一条横行线。

横行线包括一个拥有缺陷模式的有缺陷器件,以及输入信号通过有缺陷器件而产生的原始输出信号。该装置还包括一个补偿模块,该补偿模块配置用于:确定因输入信号通过拥有缺陷模式的有缺陷器件而产生的误差信号;以及产生补偿输出信号,该补偿输出信号配置用于根据误差信号从交叉开关矩阵输出,代替原始输出信号。

在一些实施中,缺陷模式包括有缺陷器件的不可调电导。

在一些实施中,补偿模块经配置用于根据原始输出信号和误差信号产生补偿输出信号。

一种方法包括:确定一种装置的缺陷模式;该装置包括:第一条横行线;第二条横行线;接收输入信号的第一个交叉开关矩阵,其中第一条横行线和第二条横行线位于第一个交叉开关矩阵内;第一条横行线上的多个第一个器件;第二条横行线上的多个第二个器件,其中多个第一个器件和多个第二个器件包括有缺陷器件;检查存在缺陷的行;与目标电导矩阵中的每一行或一组行进行比较;确定目标电导矩阵中的最佳拟合行,其目标电导最接近缺陷电导;记住最佳拟合行的索引;对最佳拟合行进行编程;并将输入信号重排到最佳拟合行。

一种方法包括:确定一种装置的缺陷模式;该装置包括:第一条横行线;第二条横行线;接收输入信号和发送原始输出信号的第一个交叉开关矩阵,其中第一条横行线和第二条横行线位于第一个交叉开关矩阵内;第一条横行线上的多个第一个器件;第二条横行线上的多个第二个器件,其中多个第一个器件和多个第二个器件包括有缺陷器件;读取原始输出信号;根据缺陷模式和输入信号估计误差电流;从原始输出信号中减去误差电流的影响;并产生最终输出信号。

一种方法包括:确定一种装置的缺陷模式;该装置包括:第一条横行线;第二条横行线;接收输入信号的第一个交叉开关矩阵,其中第一条横行线和第二条横行线位于第一个交叉开关矩阵内;第一条横行线上的多个第一个器件;第二条横行线上的多个第二个器件,其中多个第一个器件和多个第二个器件包括有缺陷器件;检查存在缺陷的行;使用转换算法找到新映射电导;通过有缺陷器件的电导更新新映射电导中的元素;与拥有新映射电导的目标电导矩阵中的每一行或一组行进行比较;确定目标电导矩阵中的最佳拟合行,其目标电导最接近缺陷电导;记住最佳拟合行的索引;对最佳拟合行进行编程;并将输入信号重排到最佳拟合行。

在一些实施中,该方法还包括:检查是否已检查所有缺陷行;如果是,则对剩余行进行编程;使用该装置进行计算;产生原始输出信号;根据目标电导估计误差电流;从原始输出信号中减去误差电流的影响;并产生最终输出信号;如果不是,则重复与拥有新映射电导的目标电导矩阵中的每一行或一组行进行比较的步骤。

附图说明

图1是方框图,根据一些实施,展示了示例性存在缺陷的交叉开关矩阵电路。

图2是方框图,根据一些实施,展示了示例性存在缺陷的交叉开关矩阵电路。

图3是流程图,根据一些实施,展示了在基于交叉开关的计算环境中减轻缺陷的示例性方法。

图4是流程图,根据一些实施,展示了在基于交叉开关的计算环境中减轻缺陷的示例性方法。

图5是流程图,根据一些实施,展示了减轻基于交叉开关的计算环境中的缺陷的示例性方法。

本公开所公开的实施通过举例而非限制的方式在附图中进行说明。参考数字是指图纸上相应的零件。

具体实施方式

本公开提供了减轻交叉开关中缺陷的系统和方法。本公开中所述技术可以带来以下技术优势。首先,由于缺陷电导是固定的(例如不可调或不可变),因此交叉开关内的缺陷可能导致交叉开关矩阵变得无响应或不可编程。使用冗余电路来替换缺陷行或列可减少缺陷带来的影响;但是,在大规模交叉开关矩阵中提供冗余的成本过高。因为,即使行或列中只存在一个缺陷,也必须替换整行或整列。本公开中所述系统和方法能够以更低成本减轻交叉开关矩阵中的缺陷。

其次,在使用一个或多个交叉开关矩阵实施人工神经网络的情况下,重新训练神经网络模型可减轻交叉开关矩阵中的缺陷。这种情况假设神经网络模型对缺陷具有恢复力。但是,由于每个芯片可能均有其自身缺陷模式,因此可能需要重新训练每个芯片以应对所有缺陷模式,这使得解决这个问题几乎不切实际。最好对神经网络模型进行一次训练,然后重复使用,以便尽可能多次地进行推理。

此外,重新训练可能仅适用于某些实施,例如,其中存在数据阈限量。重新训练也可能不适用于一般的矩阵-向量乘法。本公开中所述技术可减轻缺陷,且不存在上述这些缺点。

第三,所公开的技术可确定交叉开关矩阵中存在的寄生元件效应,从而更准确地减轻缺陷。

图1是方框图,展示了存在一个或多个缺陷的示例性交叉开关矩阵电路100。如图1所示,交叉开关矩阵电路100包括第一条横行线1011、第二条横行线1012、第一条纵列线1021、第二条纵列线1022、连接第一条横行线1011和第一条纵列线1021的第一个交叉点器件1031,以及连接第二条横行线1012和第二条纵列线1022的第二个交叉点器件1032。在一些实施例中,第一个交叉点器件1031是操作交叉点器件,第二个交叉点器件1032是有缺陷交叉点器件。

在一些实施中,交叉点器件可以是1-晶体管-1-电阻器(1t1r)、1-选择器-1-电阻器(1s1r)或2-电阻器(2r)的结构。交叉点器件可以是以下器件中的一种:忆阻器、忆阻系统、脉冲编码调制(pcm)器件、浮栅器件、相变随机存取存储器(pcram)器件、电阻式随机存取存储器(rram或reram)、磁阻随机存取存储器(mram)、动态随机存取存储器(dram)、静态随机存取存储器(静态ram或sram)或带可调电阻的其他器件。

在一些实施中,可通过对操作交叉点器件施加足够大的电压或电流信号来调谐其电导。在一些实施中,横行线、纵列线或两者均为金属线。

输入信号(也可称为编程信号)从交叉开关矩阵电路100进入,通过第一个转换器阵列104(例如数模转换器(dac))阵列)之后,到达第一条横行线1011和第二条横行线1012。然后,电流可流过第一个操作交叉点器件1031和第二个有缺陷交叉点器件1032。离开第二个转换器阵列105(例如模数转换器(adc)阵列)之后,电流输出。

在一些实施中,交叉开关矩阵中的缺陷(例如有缺陷交叉点器件)是带有不可调电导的交叉点器件。操作交叉点器件的电导可在低电阻状态(lrs)和高电阻状态(hrs)之间任意调谐;相反,有缺陷交叉点器件的电导可能陷入操作范围之内或之外的某个电导水平,并且无法通过编程信号来进行调谐。

交叉开关矩阵中的缺陷可能会降低计算准确度。在理想的nxn交叉开关矩阵中,可通过以下方法确定在第j列的输出处收集的电流:

其中gi,j表示第i行和第j列的理想器件电导,vi表示第i行的输入电压信号。

当列中存在位置索引为[kl,k2,k3,……,km]的m(m≤i)个缺陷时,可通过以下方法确定输出电流中存在的误差:

其中表示第i行和第j列的缺陷电导。

在交叉开关矩阵中,由缺陷引起的输出电流误差与线阻、器件非线性和热变化等电路寄生密切相关。因此,无法简单的通过输入或输出补偿轻易消除ij,error。

本公开至少提供了三种减轻缺陷的方法。这些方法可在基于交叉开关的计算过程的不同阶段减轻缺陷,因此可单独或组合使用,以优化性能和成本。

根据检测到的缺陷进行输入信号重排

如果使器件变得不可调的电导与目标电导或电阻不同,则缺陷会产生负面影响。例如,操作交叉点器件的目标电阻可能为2kω至2mω。另一方面,如果交叉点器件发生缺陷并且具有500kω的不可调电阻,则无论施加多大的电压或电流,均无法将交叉点器件调谐为提供10kω的电阻。

然而,如果目标电阻(例如510kω)在不可调电阻(500kω)的近似范围内,则该缺陷可能并不明显或可能不会带来严重的负面影响。因此,使用有缺陷器件的不可调电导来模拟目标电导将使缺陷变得无关紧要,从而减轻或消除缺陷。

使用重排模块可实现此类模拟。如图2所示,交叉开关矩阵电路200包括交叉开关矩阵201、第一个转换器204、第二个转换器阵列205和重排模块211。在一些实施中,接收输入信号的交叉开关矩阵201包括第一条横行线2011和第二条横行线2012。重排模块211可在第一条横行线2011和第二条横行线2012之间重排输入信号。例如,重排模块211可将要提供给第一条横行线2011的输入信号转移到第二条横行线2012,反之亦然。例如,可将要提供给具有510kω电阻的操作交叉点器件的输入信号转移到具有500kω不可调电阻的有缺陷交叉点器件.通过这些方式,可减轻交叉开关矩阵中存在的缺陷所带来的影响,因为有缺陷器件的电导用于模拟应由操作器件提供的目标电导。在一些实施中,重排模块211可能包括基于交叉开关的开关矩阵。

图3是流程图,根据一些实施,展示了在基于交叉开关的计算环境中减轻缺陷的示例性方法300。

如图3所示,方法300包括确定交叉开关矩阵201的缺陷模式(步骤301),然后检查存在有缺陷交叉点器件2032的有缺陷横行线(例如第二条横行线2012)(步骤302)。

在一些实施中,确定缺陷模式可能包括确定交叉开关矩阵中的哪些交叉点器件存在缺陷,以及这些有缺陷器件在交叉开关矩阵中的位置。可向交叉开关矩阵201施加电流或电压,并记录包括有缺陷交叉点器件2032在内的每个交叉点器件的性能,从而确定缺陷模式。在一些实施中,交叉开关矩阵的缺陷模式可存储在存储器或任何数据存储设备中,以供将来参考。

接下来,将存在有缺陷器件的行与目标电导矩阵中的所有行或行子集进行比较,以确定目标电导矩阵中的最佳拟合行,例如第一条横行线2011(行中不存在缺陷)。最佳拟合行的目标电导可能最接近缺陷电导(步骤303)。最佳拟合行的目标电导可能位于缺陷电导的预定义近似范围内。例如,如果缺陷电导为5500ω,则当预定义的近似范围为±500ω时,目标电导矩阵中的最佳拟合行可能是目标电导为5kω的行。

在一些实施中,计算器(例如加法器、减法器、电压放大器、差分放大器或中央处理器(cpu))用于确定目标电导矩阵中的最佳拟合行。在一些实施中,减法器用于计算有缺陷行(缺陷所在的行)电导减去最佳拟合行电导的最小绝对值。

将最佳拟合行的索引(例如行号1)或任何其他标识符提供给重排模块。方法300还包括将存在缺陷的第二条横行线2012映射到目标电导矩阵中的最佳拟合行,并将要提供给最佳拟合行的输入信号重排到有缺陷行(步骤304)。方法300继续检查有缺陷行(步骤305)并重复步骤302至304。可通过重排交叉开关矩阵211实现输入信号重排。

根据检测到的缺陷进行输出信号补偿

有时,可能无法确定输入信号可能映射或重排到其中的最佳行(例如最佳拟合行)。当同一行中存在多个缺陷时,也可能发生冲突。因此,补偿输出信号可代替重排输入信号或与之配合使用,以减轻缺陷。

图4是流程图,根据一些实施,展示了在基于交叉开关的计算环境中减轻缺陷的示例性方法400。

如图4所示,方法400包括确定交叉开关矩阵201的缺陷模式(步骤401),然后读取原始输出信号215(步骤402)。接下来,根据缺陷模式和输入信号214估计误差电流或电压(步骤403)。

然后,从原始输出信号215中减去误差电流或电压的影响,从而产生最终输出信号216。

在一些实施中,如图如图2所示,由补偿模块220完成估计,补偿模块包括缓冲器221、cpu222和补偿电路223。因此,可在输出级使用补偿模块220,以减轻缺陷所带来的影响。例如,在检测到原始输出信号215并将其保存在缓冲器221中之后,根据缺陷模式和输入信号,使用方程式(2)计算误差电流,并从原始输出信号215中减去误差电流的影响。可在补偿电路223中实施减去影响后的结果,以产生最终输出信号216。例如,第二条横行线2012的目标电导是50kω。然而,在感测到原始输出信号215之后,选定横行线(例如第二条横行线2012)的电导计算为10kω。电导信息可能位于缓冲器221中。然后,cpu222比较两个不同的电导值,并确定误差电流,例如0.001ma。cpu222随后可确定补偿电流或电压;补偿电路223随后可将补偿电流或电压施加到输出信号。

在一些实施中,cpu222可能包括一个或多个处理器;缓冲器221包括一个暂时性或非暂时性存储器;补偿电路223包括一个交叉开关矩阵。

根据检测到的缺陷进行矩阵映射

输入信号重排和输出信号补偿假设交叉开关拥有理想性能,如果交叉开关矩阵的规模扩大,则可能不适用。此外,如果缺陷陷入高导电状态(例如短路状态),则缺陷电导可能与目标电导存在显著差异。由于缺陷的高导电性,误差电流可能会很大,这会放大电路寄生所带来的影响,从而使估计结果更加不准确。矩阵映射可用于处理交叉开关矩阵中存在的电路寄生。应注意的是,输入信号重排、输出信号补偿和矩阵映射可单独或组合使用。可根据成本和性能要求确定单独或组合使用这些技术。

图5是流程图,根据一些实施,展示了在基于交叉开关的计算环境中减轻缺陷的示例性方法500。

如图5所示,方法500可能包括方法300和400所述步骤。方法500包括确定缺陷模式(步骤501)。应用转换算法,通过电路模拟确定新映射电导g’,其中每个交叉点器件的电流均可使用以下实际交叉开关模型进行计算:

i_actual=v⊙g=crossbarsim(g’,v)(步骤502)。

i_actual等于流过每个交叉点器件的理想电流,这些器件的电导为原始目标电导g。使用交叉开关矩阵g中的缺陷电导替换目标电导,该交叉开关矩阵的性能类似于存在有缺陷交叉点器的理想交叉电路。然后,方法500包括使用缺陷电导更新新映射电导g’中的元素(步骤503)。

接下来,在完成矩阵映射之后,确定至少存在一个缺陷的一行或多行(步骤504)。然后,将存在缺陷的行(或有缺陷行)与目标电导矩阵中的每一行(或一组行)进行比较,矩阵包括新目标电导,即新映射电导g’,以及

方法500试图在目标电导矩阵内找到最佳拟合行,最佳拟合行的目标电导等于有缺陷器件的电导或位于其预定义近似范围内(步骤505)。

方法500还包括存储最佳拟合行的标识符(例如行索引)、对最佳拟合行进行编程,以及将一个或多个输入信号重排到最佳拟合行(步骤506)。接下来,方法500还包括确定是否已审查所有的有缺陷行(步骤507)。如果为了减轻缺陷而尚未检查所有的有缺陷行,则可重复步骤505。

或者,如果为了减轻缺陷而已检查所有的有缺陷行,则方法500继续对剩余行进行编程(步骤509),使用交叉开关矩阵201进行计算,并产生原始输出信号215(步骤510)。

通过根据原始目标电导g估计误差电流或电压(步骤511)、调整(例如减去或增加)来自原始输出信号215的误差电流或电压的影响,以及产生补偿输出信号216(步骤512),方法500可应用输出信号补偿技术。

可为本公开中描述为单个实例的组件、操作或结构提供多个实例。最后,在某种程度上来说,各种组件、操作和数据存储之间的边界稍显随意,并且在特定说明性配置的上下文中对特定操作进行了说明。其他功能分配可预见,并可能属于实施范围。通常情况下,在示例性配置中作为单独组件呈现的结构和功能可以作为组合结构或组件实施。同样,作为单个组件呈现的结构和功能也可以作为单独组件实施。这些和其他变更、修改、添加和改进均属于实施范围。

还应该理解的是,尽管本公开使用术语“第一”、“第二”等来描述各种元件,但这些元件不应受这些术语的限制。这些术语仅用于将一个元件与另一个元件区分开来。例如,可将第一列称为第二列,同样,也可将第二列称为第一列,而不会改变描述的含义,只要将出现的所有“第一列”进行一致地重命名,并且出现的所有“第二列”也进行一致地重命名。第一列和第二列仍然是原来的两列,但每一列与原来的列不同。

本公开中使用的术语仅用于描述特定实施,并非旨在限制权利要求书。正如在对各种所述实施方案中的描述和所附权利要求书中所使用的那样,除非上下文另有明确说明,否则单数形式“一个”和“该”同样也涵盖复数形式。还应理解的是,本公开所用的术语“和/或”包括一个或多个相关的所列项目的任何和所有组合。此外,还应进一步理解,本公开中使用的术语“包括”和/或“包含”指定所述特征、整数、步骤、操作、要素和/或部件的存在,但不排除其中一个或多个其他特征、整数、步骤、操作、要素、部件和/或集合的存在或添加。

正如本公开说明书中所使用的那样,术语“如果”可以依据上下文被解释为所陈述的先决条件为真的“当……时”或“一旦”或“响应于确定”或“根据确定”或“响应于检测到”。类似地,短语“如果确定(所陈述的先决条件为真)”或“如果(所陈述的先决条件为真)”或“当……时(所陈述的先决条件为真)”可以依据上下文被解释为所陈述的先决条件为真的“一旦确定”或“响应于确定”或“根据确定”或“一旦检测到”或“响应于检测到”。

以上描述包括体现本公开说明书的说明性实施例的示例性系统、方法、技术、指令序列和计算机器程序。出于说明目的,按顺序阐述了众多具体细节,以提供对本发明专利技术主题各种实施方式的理解。然而,对于本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下实践本发明主题。通常情况下,众所周知的指令实例、协议、结构和技术不一定详细示出。

出于说明目的,已经参考具体实施方式对以上说明进行了描述。然而,以上说明性讨论并非旨在穷举或将实施例限制于所公开的精确形式。鉴于上述教导,许多修改和变化都是可能的。所选择和阐述的实施方式是为了最好地解释本发明的原理和其实践应用,从而使本领域的其他技术人员能够最佳地利用适合于所设想特定用途的实施方式和各种修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1