[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2022135009A1 - Storage computing array and data reading/writing computing method - Google Patents

Storage computing array and data reading/writing computing method Download PDF

Info

Publication number
WO2022135009A1
WO2022135009A1 PCT/CN2021/132945 CN2021132945W WO2022135009A1 WO 2022135009 A1 WO2022135009 A1 WO 2022135009A1 CN 2021132945 W CN2021132945 W CN 2021132945W WO 2022135009 A1 WO2022135009 A1 WO 2022135009A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
storage
voltage
array
resistance
Prior art date
Application number
PCT/CN2021/132945
Other languages
French (fr)
Chinese (zh)
Inventor
熊保玉
张捷
Original Assignee
浙江驰拓科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 浙江驰拓科技有限公司 filed Critical 浙江驰拓科技有限公司
Publication of WO2022135009A1 publication Critical patent/WO2022135009A1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1673Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods

Definitions

  • the invention relates to the technical field of integrated circuits, in particular to a storage computing array and a data reading and writing computing method.
  • a storage computing array is generally composed of storage computing units, wherein the storage computing unit is usually composed of a 1T1R storage structure and a logic computing module.
  • the 1T1R storage structure In the 1T1R storage structure, a gate switch and an Resistive memory in series. Since the data storage capacity of the storage-computation array is determined by the number of resistive memories in the storage-computation array, the storage-computation array under this configuration has the technical defect of low storage efficiency. At present, there is no more effective solution to the above problems.
  • the purpose of the present invention is to provide a storage computing array and a data read/write computing method, so as to improve the storage efficiency of the storage computing array. Its specific plan is as follows:
  • a storage computing array including:
  • each of the storage and calculation units includes a gate switch, and N resistive memories connected in series or in parallel with the gate switch; wherein one or more Resistive memories are each connected with a bidirectional selector, N ⁇ 1.
  • the N resistive memories connected in series have the same structure but different physical sizes.
  • it also includes:
  • a metal thin film bidirectional selector or diode connected in parallel with the resistive memory wherein, the turn-on voltage of the metal thin film bidirectional selector is greater than or equal to the write voltage of the resistive memory connected in parallel with the metal thin film bidirectional selector, and less than The breakdown voltage of the resistive memory; or the turn-on voltage of the diode is greater than or equal to the write voltage of the resistive memory in parallel with the diode, and less than the breakdown voltage of the resistive memory.
  • the gate switch is specifically an NMOS transistor or a PMOS transistor or a transmission gate.
  • the resistive memory is specifically a magnetoresistive memory or a ferroelectric memory or a phase change memory or a resistive memory.
  • it also includes:
  • An enabling switch used to jointly control the storage and computing units connected in rows or columns in the array structure.
  • the present invention also discloses a data read and write calculation method, which is applied to the storage and calculation array as disclosed above, including:
  • the resistive memory in the target storage and calculation unit is divided into a plurality of resistance intervals, and a corresponding target preset voltage is set for each resistance interval.
  • the target storage and calculation unit is loaded with a first current, respectively reads the target voltage corresponding to each resistance interval, and sequentially compares the target voltage with the target preset voltage according to the order of the resistance interval to obtain a target comparison result , to read the first data through the target comparison result;
  • the target data to be written in the target storage and calculation unit is determined according to the second data, and is determined according to the resistance value of the target storage and calculation unit Applying the sequence of different currents on the target storage and calculation unit to obtain a target current sequence, so as to write the target data in the target storage and calculation unit through the target current sequence;
  • the target electrical signal and the target storage data corresponding to the target storage calculation unit are determined, and the target electrical signal and the target storage data are multiplied to obtain the target electrical signal and the target storage data.
  • the calculation value of the target storage calculation unit is added, and the calculation value of all storage calculation units in the storage calculation array is added to obtain the calculation value of the storage calculation array.
  • the resistive memory in the target storage and calculation unit is divided into a plurality of resistance intervals, and a corresponding target preset voltage is set for each resistance interval, and a first current is loaded on the target storage and calculation unit, respectively.
  • Read the target voltage corresponding to each resistance interval compare the target voltage with the target preset voltage in turn according to the order of the resistance interval, and obtain a target comparison result, so as to read the first voltage through the target comparison result.
  • a data process including:
  • the first target sub-data stored in the target storage computing unit is read according to the first comparison sequence, and the first data stored in the storage computing array is read according to the first target sub-data.
  • the resistive memory in the target storage and calculation unit is divided into a plurality of resistance intervals, and a corresponding target preset voltage is set for each resistance interval, and a first current is loaded on the target storage and calculation unit, respectively.
  • Read the target voltage corresponding to each resistance interval compare the target voltage with the target preset voltage in turn according to the order of the resistance interval, and obtain a target comparison result, so as to read the first voltage through the target comparison result.
  • a data process including:
  • the second target sub-data stored in the target storage computing unit is read according to the second comparison sequence, and the first data stored in the storage computing array is read according to the second target sub-data.
  • N resistive memories connected in series are connected to a gate switch in the storage computing unit. Therefore, compared with the prior art, through this The setting method can set a larger number of storage computing units under the same area overhead.
  • N resistive memories connected in series are set in each storage and calculation unit, the data storage capacity of each storage and calculation unit can be significantly increased by this setting method, and the Thereby, the storage efficiency of the storage computing array is improved.
  • FIG. 1 is a schematic structural diagram of a series connection between a gate switch and N mutually series-connected resistive memories in a storage computing unit provided by an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of a parallel connection between a gating switch and N resistive memories in series in a storage computing unit provided by an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of a diode connected in parallel on each resistive memory in the storage and computation array shown in FIG. 1 according to an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of a diode connected in parallel on each resistive memory in the storage and calculation array shown in FIG. 2 according to an embodiment of the present invention
  • FIG. 5 is a schematic structural diagram when a gate switch in a target storage computing unit is connected in series with N series resistive memories, and an enable switch controls the storage computing units connected in columns in the storage computing array;
  • Fig. 6 is when the gating switch in the target storage calculation unit is connected in parallel with N series resistive memories, the structural representation when the enable switch controls the storage calculation unit connected with the column in the storage calculation array;
  • FIG. 7 is a flowchart of a data read/write calculation method provided by an embodiment of the present invention.
  • the embodiment of the present invention discloses a storage computing array, the storage computing array includes: a plurality of storage computing units connected with each other in an array structure, each storage computing unit includes a gate switch, and N connected in series or in parallel with the gate switch Resistive memories connected in series with each other; wherein, one or more resistive memories are each connected with a bidirectional selector, N ⁇ 1.
  • a new type of storage computing array is provided, by which the storage efficiency of the storage computing array can be significantly improved.
  • the storage computing unit in the storage computing array is mainly improved.
  • a gate switch and N resistive memories are arranged in the storage computing unit of the storage computing array, wherein the N resistive memories are connected in series with each other, and after the N resistive memories are connected in series, they will be connected with the selected Connect the switches in series or in parallel.
  • FIG. 1 is a schematic structural diagram of a series connection between a gate switch and N resistive memories in series in a storage calculation unit provided by an embodiment of the present invention
  • FIG. 2 is a storage calculation unit provided by an embodiment of the present invention.
  • R a ⁇ b> represents a resistive memory, 0 ⁇ a ⁇ N, 0 ⁇ b ⁇ i, WL ⁇ c> denotes a gate switch, 1 ⁇ c ⁇ N, a, b, Both c and i are integers
  • BL and SL represent two signal input terminals of the storage computing unit.
  • the storage computing array in the process of using the storage computing unit to build the storage computing array, can be built with neatly aligned rows and columns, or the storage computing array can be built with staggered rows and columns. That is, the storage computing unit of the next row is arranged between the two storage computing units of the previous row. It is assumed that the size of the storage-computation array is M ⁇ K, that is, there are M rows of storage-computation units and K columns of storage-computation units in the storage-computation array.
  • each storage and calculation unit can be connected in sequence in the row direction, and the BL terminals of each storage and calculation unit can be connected in sequence in the column direction, and then each storage calculation unit can be sequentially connected in the row direction.
  • the gate switches in the cells are connected to the same row control line, and connect the row control lines connected to the same resistive memory to the same column control line in the column direction.
  • the storage computing unit can be used to store more data.
  • the technical solution provided by this embodiment Because more resistive memories can be arranged in each storage computing unit, the storage efficiency of the storage computing array can be significantly improved through the storage computing array.
  • the storage computing array provided by the present application can not only make the storage computing array have a higher integration degree, but also improve the data processing speed of the storage computing array.
  • N resistive memories connected in series have the same structure but different physical sizes. That is, through such an arrangement, the storage and computing arrays can have different write currents.
  • N resistive memories connected in series are connected to a gate switch in the storage computing unit. Therefore, compared with the prior art, this In this way, a larger number of storage and computing units can be set under the same area cost.
  • N resistive memories connected in series are set in each storage and calculation unit, the data storage capacity of each storage and calculation unit can be significantly increased by this setting method, and the Thereby, the storage efficiency of the storage computing array is improved.
  • the storage computing array further includes:
  • the on-voltage of the metal film bidirectional selector is greater than or equal to the write voltage of the resistive memory in parallel with the metal thin-film bidirectional selector, and is less than the breakdown voltage of the resistive memory; or the on-voltage of the diode is greater than or equal to that of the diode in parallel
  • the write voltage of the resistive memory is lower than the breakdown voltage of the resistive memory.
  • the materials of the metal film bidirectional selectors or diodes are the same, but the thickness of each metal film bidirectional selector or diode is different, because the resistive memories connected in parallel with the metal film bidirectional selectors or diodes have different write currents.
  • FIG. 3 is a schematic structural diagram of a diode connected in parallel with each resistive memory in the storage computing array shown in FIG. 1 according to an embodiment of the present invention.
  • FIG. 4 is a schematic structural diagram of a diode connected in parallel with each resistive memory in the storage-computation array shown in FIG. 2 according to an embodiment of the present invention.
  • the gate switch is specifically an NMOS transistor or a PMOS transistor or a transmission gate.
  • the gate switch is set to the NMOS tube. Or a PMOS tube or a transmission gate, so that the setting method of the strobe switch can be more flexible and diverse.
  • the resistive memory is specifically a magnetoresistive memory or a ferroelectric memory or a phase change memory or a resistive memory.
  • magnetoresistive memory or ferroelectric memory or phase change memory or resistive memory are relatively common memories in practical operation, when the resistive memory is set as magnetoresistive memory or ferroelectric memory or phase change memory, When a variable memory or a resistive variable memory is used, the construction difficulty of the storage computing array provided by the present application in the actual construction process can be relatively reduced.
  • the storage computing array further includes:
  • An enable switch for common control of memory-computing units connected in rows or columns in an array structure is an enable switch for common control of memory-computing units connected in rows or columns in an array structure.
  • an enable switch for jointly controlling the storage and computing units connected in rows or columns in the array structure is also provided in the storage computing array. It is conceivable that, after the enabling switch is set in the storage computing array, the enabling switch can be used to jointly control the storage computing units connected by rows or the storage computing units connected by columns in the storage computing array. Therefore, the convenience for people to use the storage computing array can be further improved.
  • FIG. 5 shows when the enable switch controls the storage and calculation units connected in columns in the storage and calculation array when the gate switch in the target storage and calculation unit is connected in series with N series resistive memories.
  • 6 is a schematic diagram of the structure when the enable switch controls the storage and calculation units connected in columns in the storage and calculation array when the gating switch in the target storage and calculation unit is connected in parallel with N series resistive memories.
  • Ten 0 and Ten M are enable switches.
  • the target storage computing unit refers to any storage computing unit in the storage computing array.
  • the embodiment of the present invention also provides a data read/write computing method corresponding to the above-mentioned storage computing array. Please refer to FIG. 7 , which is provided by an embodiment of the present invention.
  • a flowchart of a data read-write calculation method, wherein the data read-write calculation method includes:
  • Step S11 when the first data stored in the storage and calculation array is to be read, the resistive memory in the target storage and calculation unit is divided into a plurality of resistance sections, and a corresponding target preset voltage is set for each resistance section, Load the first current on the target storage and calculation unit, read the target voltage corresponding to each resistance interval respectively, compare the target voltage with the target preset voltage in sequence according to the order of the resistance interval, and obtain the target comparison result, so as to pass the target comparison As a result, the first data is read;
  • the target storage computing in the storage computing array is read.
  • the unit is taken as an example for detailed description.
  • the resistive memory in the target storage and calculation unit is divided into a plurality of resistance intervals, and a corresponding target preset voltage is set for each resistance interval; The first current is loaded on the target storage and calculation unit, and the target voltage corresponding to each resistance interval is read respectively.
  • the read target voltage is compared with the target preset voltage in sequence according to the order of the resistance interval, and the target voltage is obtained. The result of the comparison is compared, and the first data stored in the storage computing array is read through the target comparison result.
  • the storage computing array shown in FIG. 1 when the first data stored in the storage computing array needs to be read, first select the target storage computing unit from which the data is to be read from the storage computing array, and then , the gate switch in the target storage and calculation unit and all resistive memories are turned on, at this time, the first current can be loaded on the target storage and calculation unit through the signal input terminal of the target storage and calculation unit.
  • the target storage computing array to which the data is to be read is selected from the storage computing array, and then the target storage computing array is selected from the storage computing array.
  • the gate switch in the storage and calculation unit is turned off, and at this time, the first current can be loaded on the target storage and calculation unit through the signal input terminal of the target storage and calculation unit.
  • Step S12 when the second data is to be written into the storage computing array, the target data to be written in the target storage computing unit is determined according to the second data, and the target storage computing unit is determined according to the resistance value of the target storage computing unit.
  • writing data into the target storage computing unit is taken as an example for specific description.
  • the target data to be written in the target storage and calculation unit is determined according to the second data, and then, the sequence of loading different currents on the target storage and calculation unit is determined according to the resistance value of the target storage and calculation unit, because each layer of resistance
  • the write currents Ii of different types of memory are different, so, under a certain write current Iwrite, only the resistive memory with Ii ⁇ Iwrite can be written. Under the principle mechanism, the state stored by different resistive memory combinations can be obtained by current control.
  • the application sequence of the write current is established according to the state of each resistive memory corresponding to the required write state, so as to obtain the target current sequence.
  • the resistance state of the resistive memory is changed by the current, and finally, the states of the plurality of resistive memories are changed to the state corresponding to the write state.
  • the target data can be written in the target storage computing unit through this setting.
  • a target storage computing unit to which data is to be written is first selected from the storage computing array, and then the control
  • the target storage and calculation unit is in an on state, while the gate switch in the adjacent storage and calculation unit is in an off state, and is loaded at both ends of the signal of the target storage and calculation unit according to the resistance value of the resistive memory in the target storage and calculation unit
  • a target storage computing unit to which data is to be written is first selected from the storage computing array, and then the storage computing unit is controlled.
  • All storage and calculation units in the array except the target storage and calculation unit are in an on state, and the gate switch in the target storage and calculation unit is controlled to be in an off state, and then the target current sequence is loaded on the target storage and calculation unit to The resistance state of the resistive memory is changed by the current passing through the state of the resistive memory, thereby achieving the purpose of writing data to the target storage computing unit.
  • the parity interleaving method can be used to complete all storage computing units in the storage computing array. data read and write. Specifically, in the actual operation process, corresponding digital labels may be set to the storage and calculation units in the storage and calculation array in turn, and then, the storage and calculation units with odd numbers in the storage and calculation array are divided into the first array. The storage and calculation units with even numbers in the storage and calculation array are divided into second arrays; after that, the data in the first array is read or written, and when the data in the first array is read or written.
  • the data in the second array is read or written, and when the read or write of the data in the second array is completed, the data read or write to the entire storage computing array is completed.
  • data reading or writing to all storage computing units in the storage computing array can be completed within 2N clock cycles, thereby achieving faster data reading and writing effects.
  • Step S13 when the storage calculation array is to be calculated, determine the target electrical signal and the target storage data corresponding to the target storage calculation unit, and multiply the target electrical signal and the target storage data to obtain the calculation of the target storage calculation unit.
  • the calculated value of all storage computing units in the storage computing array is added to obtain the computing value of the storage computing array.
  • the target storage computing unit is taken as an example for specific description.
  • calculating the target storage computing unit first obtain the target electrical signal loaded on the target storage computing unit and the target storage data stored in the target storage computing unit; then, compare the target electrical signal with the target storage data. Multiply to get the calculation value of the target storage calculation unit; finally, calculate the other storage calculation units in the storage calculation array except the target storage calculation unit by the same method, and compare the calculated values of all storage calculation units in the storage calculation array with each other. Add, you will get the calculation value of the storage calculation array.
  • this embodiment further describes and optimizes the technical solution.
  • the above step S11 divide the resistive memory in the target storage calculation unit into a plurality of resistance intervals, and each A corresponding target preset voltage is set in one resistance interval, the first current is loaded on the target storage and calculation unit, the target voltage corresponding to each resistance interval is read respectively, and the target voltage and the target preset voltage are sequentially performed according to the order of the resistance interval.
  • the process of comparing and obtaining the target comparison result, so as to read the first data through the target comparison result includes:
  • the first target sub-data stored in the target storage computing unit is read according to the first comparison sequence, and the first data stored in the storage computing array is read according to the first target sub-data.
  • the total resistance of the N resistive memories in series in the target storage and calculation unit can be obtained first, and the N resistive memories in series can be divided according to the total resistance into 2 N resistance intervals, then, each resistance interval will correspond to a data state, and at this time, the target storage computing unit will correspond to N bits of data.
  • a corresponding preset voltage is set for each resistance section, that is, the preset voltage corresponding to the first resistance section is set as the first reference voltage, and the preset voltage corresponding to the second resistance section is set as Second reference voltage.
  • the preset voltage corresponding to the 2 Nth resistance interval is set as the 2 Nth reference voltage
  • the first preset voltage sequence is the first reference voltage, the second reference voltage...
  • the voltage reading is the second reading voltage.
  • the voltage reading corresponding to the 2 N resistance interval is the 2 N reading voltage, then, the first voltage sequence is the first reading voltage, the second reading voltage...
  • the 2 N reading voltage A collection of read voltages.
  • the first preset voltage sequence and the first voltage sequence are sequentially compared in the order corresponding to the 2N resistance intervals, that is, the first read voltage is compared with the first reference voltage, and the second read voltage is compared with the first reference voltage.
  • Compare the voltage with the second reference voltage ...Compare the 2nd N read voltage with the 2nd N reference voltage to obtain the first comparison result, the second comparison result...the 2nd N comparison result, then, the first comparison sequence That is, the set of the first comparison result, the second comparison result...the second N comparison result. It should be noted that if the ith reference voltage is greater than the ith read voltage, the ith comparison result is 1, and if the ith reference voltage is less than the ith read voltage, the ith comparison result is 0, where 1 ⁇ i ⁇ 2 N.
  • this embodiment further describes and optimizes the technical solution.
  • the above step S11 divide the resistive memory in the target storage calculation unit into a plurality of resistance intervals, and each A corresponding target preset voltage is set in one resistance interval, the first current is loaded on the target storage and calculation unit, the target voltage corresponding to each resistance interval is read respectively, and the target voltage and the target preset voltage are sequentially performed according to the order of the resistance interval.
  • the process of comparing and obtaining the target comparison result, so as to read the first data through the target comparison result includes:
  • the second target sub-data stored in the target storage computing unit is read according to the second comparison sequence, and the first data stored in the storage computing array is read according to the second target sub-data.
  • the total resistance of N mutually connected resistive memories in the target storage and calculation unit can also be obtained first, and N are connected in series with each other according to the total resistance.
  • the resistive memory is divided into 2 N-1 resistance intervals, then, each resistance interval corresponds to a data state, and at this time, the target storage computing unit corresponds to N-1 bits of data.
  • a corresponding preset voltage is set for each resistance section, that is, the preset voltage corresponding to the first resistance section is set to the first preset voltage, and the preset voltage corresponding to the second resistance section is set to For the second preset voltage... Set the preset voltage corresponding to the 2 N-1 resistance interval as the 2 N-1 preset voltage, then, the second preset voltage sequence is the first preset voltage, The second preset voltage...the set of 2 N-1 preset voltages.
  • the corresponding voltage reading is the second voltage.
  • the voltage reading corresponding to the 2nd N-1 resistance interval is the 2nd N-1 voltage, then, the second voltage sequence is the first voltage, the second voltage...
  • the second voltage A collection of N-1 voltages.
  • the second preset voltage sequence with the second voltage sequence in sequence according to the sequence corresponding to the 2 N-1 resistance intervals, that is, compare the first voltage with the first preset voltage, and compare the first voltage with the first preset voltage.
  • the second voltage is compared with the second preset voltage...
  • the 2nd N-1 voltage is compared with the 2nd N-1 preset voltage
  • the first comparison value, the second comparison value are obtained respectively...
  • the 2nd N-1 The comparison value, then, the second comparison sequence is the set of the first comparison value, the second comparison value...the 2nd N-1 comparison value.
  • the jth comparison value is 1, and if the jth preset voltage is less than the jth voltage, the jth comparison value is 0, where 1 ⁇ j ⁇ 2 N-1 .
  • the data reading method of the storage computing array can be made more flexible and diverse.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Semiconductor Memories (AREA)

Abstract

A storage computing array, comprising: a plurality of storage computing units connected with each other in an array structure, wherein each storage computing unit comprises a gating switch, and N resistive memories which are connected in series with one another and connected with the gating switch in series or in parallel; wherein the one or more resistive memories each are connected to a bi-directional selector. Hence, in the storage computing array, as N resistive memories connected in series with one another are connected to one gating switch in the storage computing unit, more storage computing units can be provided at the same area overhead. Moreover, in the storage computing array, N resistive memories connected in series with one another are provided in each storage computing unit, and therefore the amount of data stored in each storage computing unit can be significantly improved by such arrangement, and the storage efficiency of the storage computing array is thereby improved.

Description

一种存储计算阵列以及一种数据读写计算方法A storage computing array and a data reading and writing computing method
本申请要求于2020年12月24日提交中国专利局、申请号为202011552408.1、发明名称为“一种存储计算阵列以及一种数据读写计算方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application filed on December 24, 2020, with the application number of 202011552408.1 and the invention titled "A storage computing array and a data reading and writing computing method", the entire contents of which are approved by Reference is incorporated in this application.
技术领域technical field
本发明涉及集成电路技术领域,特别涉及一种存储计算阵列以及一种数据读写计算方法。The invention relates to the technical field of integrated circuits, in particular to a storage computing array and a data reading and writing computing method.
背景技术Background technique
在现有技术中,存储计算阵列一般是由存储计算单元所组成,其中,存储计算单元通常是由1T1R存储结构和逻辑计算模块构成,在1T1R存储结构中是设置有一个选通开关和一个与之串联的阻式存储器。由于存储计算阵列的数据存储量是由存储计算阵列中阻式存储器的数量所决定,所以,此种设置架构下的存储计算阵列就会存在存储效率低的技术缺陷。目前,针对上述问题,还没有较为有效的解决办法。In the prior art, a storage computing array is generally composed of storage computing units, wherein the storage computing unit is usually composed of a 1T1R storage structure and a logic computing module. In the 1T1R storage structure, a gate switch and an Resistive memory in series. Since the data storage capacity of the storage-computation array is determined by the number of resistive memories in the storage-computation array, the storage-computation array under this configuration has the technical defect of low storage efficiency. At present, there is no more effective solution to the above problems.
由此可见,如何提高存储计算阵列的存储效率,是本领域技术人员亟待解决的技术问题。It can be seen that how to improve the storage efficiency of the storage computing array is a technical problem to be solved urgently by those skilled in the art.
发明内容SUMMARY OF THE INVENTION
有鉴于此,本发明的目的在于提供一种存储计算阵列以及一种数据读写计算方法,以提高存储计算阵列的存储效率。其具体方案如下:In view of this, the purpose of the present invention is to provide a storage computing array and a data read/write computing method, so as to improve the storage efficiency of the storage computing array. Its specific plan is as follows:
一种存储计算阵列,包括:A storage computing array including:
以阵列结构相互连接的多个存储计算单元,各所述存储计算单元包括一个选通开关,以及与所述选通开关串联或并联的N个相互串联的阻式存储器;其中,一个或多个阻式存储器各自与一个双向选择器连接,N≥1。A plurality of storage and calculation units connected to each other in an array structure, each of the storage and calculation units includes a gate switch, and N resistive memories connected in series or in parallel with the gate switch; wherein one or more Resistive memories are each connected with a bidirectional selector, N≥1.
优选的,N个相互串联的阻式存储器具有相同的结构,但具有不同的物理尺寸。Preferably, the N resistive memories connected in series have the same structure but different physical sizes.
优选的,还包括:Preferably, it also includes:
与所述阻式存储器并联的金属薄膜双向选择器或二极管;其中,所述金属薄膜双向选择器的导通电压大于或等于与所述金属薄膜双向选择器并联阻式存储器的写电压,且小于所述阻式存储器的击穿电压;或所述二极管的导通电压大于或等于与所述二极管并联阻式存储器的写电压,且小于所述阻式存储器的击穿电压。A metal thin film bidirectional selector or diode connected in parallel with the resistive memory; wherein, the turn-on voltage of the metal thin film bidirectional selector is greater than or equal to the write voltage of the resistive memory connected in parallel with the metal thin film bidirectional selector, and less than The breakdown voltage of the resistive memory; or the turn-on voltage of the diode is greater than or equal to the write voltage of the resistive memory in parallel with the diode, and less than the breakdown voltage of the resistive memory.
优选的,所述选通开关具体为NMOS管或PMOS管或传输门。Preferably, the gate switch is specifically an NMOS transistor or a PMOS transistor or a transmission gate.
优选的,所述阻式存储器具体为磁阻存储器或铁电存储器或相变存储器或阻变存储器。Preferably, the resistive memory is specifically a magnetoresistive memory or a ferroelectric memory or a phase change memory or a resistive memory.
优选的,还包括:Preferably, it also includes:
用于对所述阵列结构中以行或列连接的存储计算单元进行共同控制的使能开关。An enabling switch used to jointly control the storage and computing units connected in rows or columns in the array structure.
相应的,本发明还公开了一种数据读写计算方法,应用于如前述所公开的存储计算阵列,包括:Correspondingly, the present invention also discloses a data read and write calculation method, which is applied to the storage and calculation array as disclosed above, including:
当要读取所述存储计算阵列所存储的第一数据时,则将目标存储计算单元中的阻式存储器划分为多个电阻区间,并为每一个电阻区间设置相应的目标预设电压,在所述目标存储计算单元上加载第一电流,分别读取每一个电阻区间所对应的目标电压,按照电阻区间的顺序依次将所述目标电压与所述目标预设电压进行比较,得到目标比较结果,以通过所述目标比较结果读取所述第一数据;When the first data stored in the storage and calculation array is to be read, the resistive memory in the target storage and calculation unit is divided into a plurality of resistance intervals, and a corresponding target preset voltage is set for each resistance interval. The target storage and calculation unit is loaded with a first current, respectively reads the target voltage corresponding to each resistance interval, and sequentially compares the target voltage with the target preset voltage according to the order of the resistance interval to obtain a target comparison result , to read the first data through the target comparison result;
当要向所述存储计算阵列写入第二数据时,则根据所述第二数据确定在所述目标存储计算单元待要写入的目标数据,并根据所述目标存储计算单元的阻值确定在所述目标存储计算单元上施加不同电流的顺序,得到目标电流序列,以通过所述目标电流序列在所述目标存储计算单元中写入所述目标数据;When the second data is to be written into the storage and calculation array, the target data to be written in the target storage and calculation unit is determined according to the second data, and is determined according to the resistance value of the target storage and calculation unit Applying the sequence of different currents on the target storage and calculation unit to obtain a target current sequence, so as to write the target data in the target storage and calculation unit through the target current sequence;
当要对所述存储计算阵列进行计算时,则确定与所述目标存储计算单元相对应的目标电信号和目标存储数据,并将所述目标电信号和所述目标存储数据相乘,得到所述目标存储计算单元的计算值,将所述存储计算阵列中所有存储计算单元的计算值相加,得到所述存储计算阵列的计算值。When the storage calculation array is to be calculated, the target electrical signal and the target storage data corresponding to the target storage calculation unit are determined, and the target electrical signal and the target storage data are multiplied to obtain the target electrical signal and the target storage data. The calculation value of the target storage calculation unit is added, and the calculation value of all storage calculation units in the storage calculation array is added to obtain the calculation value of the storage calculation array.
优选的,所述将目标存储计算单元中的阻式存储器划分为多个电阻区间,并为每一个电阻区间设置相应的目标预设电压,在所述目标存储计算单元上加载第一电流,分别读取每一个电阻区间所对应的目标电压,按照电阻区间的顺序依次将所述目标电压与所述目标预设电压进行比较,得到目标比较结果,以通过所述目标比较结果读取所述第一数据的过程,包括:Preferably, the resistive memory in the target storage and calculation unit is divided into a plurality of resistance intervals, and a corresponding target preset voltage is set for each resistance interval, and a first current is loaded on the target storage and calculation unit, respectively. Read the target voltage corresponding to each resistance interval, compare the target voltage with the target preset voltage in turn according to the order of the resistance interval, and obtain a target comparison result, so as to read the first voltage through the target comparison result. A data process, including:
获取所述存储计算阵列内目标存储计算单元中N个相互串联阻式存储器的总电阻;Obtain the total resistance of N mutually connected resistive memories in the target storage and calculation unit in the storage and calculation array;
根据所述总电阻将N个相互串联的阻式存储器划分为2 N个电阻区间,并为每一个电阻区间设置相应的预设电压,得到第一预设电压序列; Divide N resistive memories connected in series into 2 N resistance intervals according to the total resistance, and set a corresponding preset voltage for each resistance interval to obtain a first preset voltage sequence;
在所述目标存储计算单元上加载所述第一电流,并分别读取2 N个电阻区间相对应的电压,得到第一电压序列; Loading the first current on the target storage and computing unit, and reading the corresponding voltages of 2 N resistance intervals respectively, to obtain a first voltage sequence;
按照与2 N个电阻区间相对应的顺序依次将所述第一预设电压序列和所述第一电压序列进行比较,得到第一比较序列; Comparing the first preset voltage sequence with the first voltage sequence in sequence according to the sequence corresponding to the 2 N resistance intervals, to obtain a first comparison sequence;
根据所述第一比较序列读取所述目标存储计算单元中所存储的第一目标子数据,并根据所述第一目标子数据读取所述存储计算阵列所存储的所述第一数据。The first target sub-data stored in the target storage computing unit is read according to the first comparison sequence, and the first data stored in the storage computing array is read according to the first target sub-data.
优选的,所述将目标存储计算单元中的阻式存储器划分为多个电阻区间,并为每一个电阻区间设置相应的目标预设电压,在所述目标存储计算单元上加载第一电流,分别读取每一个电阻区间所对应的目标电压,按照电阻区间的顺序依次将所述目标电压与所述目标预设电压进行比较,得到目标比较结果,以通过所述目标比较结果读取所述第一数据的过程,包括:Preferably, the resistive memory in the target storage and calculation unit is divided into a plurality of resistance intervals, and a corresponding target preset voltage is set for each resistance interval, and a first current is loaded on the target storage and calculation unit, respectively. Read the target voltage corresponding to each resistance interval, compare the target voltage with the target preset voltage in turn according to the order of the resistance interval, and obtain a target comparison result, so as to read the first voltage through the target comparison result. A data process, including:
获取所述存储计算阵列内目标存储计算单元中N个相互串联阻式存储器的总电阻;Obtain the total resistance of N mutually connected resistive memories in the target storage and calculation unit in the storage and calculation array;
根据所述总电阻将N个相互串联的阻式存储器划分为2 N-1个电阻区间,并为每一个电阻区间设置相应的预设电压,得到第二预设电压序列; Divide N resistive memories connected in series into 2 N-1 resistance intervals according to the total resistance, and set a corresponding preset voltage for each resistance interval to obtain a second preset voltage sequence;
在所述目标存储计算单元上加载所述第一电流,并分别读取2 N-1个电阻区间相对应的电压,得到第二电压序列; Loading the first current on the target storage and computing unit, and respectively reading the voltages corresponding to 2 N-1 resistance intervals to obtain a second voltage sequence;
按照与2 N-1个电阻区间相对应的顺序依次将所述第二预设电压序列和所述第二电压序列进行比较,得到第二比较序列; Comparing the second preset voltage sequence with the second voltage sequence in sequence according to the sequence corresponding to the 2N-1 resistance intervals, to obtain a second comparison sequence;
根据所述第二比较序列读取所述目标存储计算单元中所存储的第二目标子数据,并根据所述第二目标子数据读取所述存储计算阵列所存储的所述第一数据。The second target sub-data stored in the target storage computing unit is read according to the second comparison sequence, and the first data stored in the storage computing array is read according to the second target sub-data.
可见,在本发明所提供的存储计算阵列中,因为是在存储计算单元内的一个选通开关上连接N个相互串联的阻式存储器,所以,相较于现有技术而言,通过此种设置方式就可以在相同的面积开销下设置数量更多的存储计算单元。并且,由于在该存储计算阵列中,是在各存储计算单元中设置了N个相互串联的阻式存储器,所以,通过此种设置方式就可以显著提高每一个存储计算单元的数据存储量,并由此提高存储计算阵列的存储效率。It can be seen that in the storage computing array provided by the present invention, N resistive memories connected in series are connected to a gate switch in the storage computing unit. Therefore, compared with the prior art, through this The setting method can set a larger number of storage computing units under the same area overhead. In addition, since in the storage and calculation array, N resistive memories connected in series are set in each storage and calculation unit, the data storage capacity of each storage and calculation unit can be significantly increased by this setting method, and the Thereby, the storage efficiency of the storage computing array is improved.
附图说明Description of drawings
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。In order to explain the embodiments of the present invention or the technical solutions in the prior art more clearly, the following briefly introduces the accompanying drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are only It is an embodiment of the present invention. For those of ordinary skill in the art, other drawings can also be obtained according to the provided drawings without creative work.
图1为本发明实施例所提供的存储计算单元中选通开关与N个相互串联阻式存储器进行串联的结构示意图;FIG. 1 is a schematic structural diagram of a series connection between a gate switch and N mutually series-connected resistive memories in a storage computing unit provided by an embodiment of the present invention;
图2为本发明实施例所提供的存储计算单元中选通开关与N个相互串联阻式存储器进行并联的结构示意图;2 is a schematic structural diagram of a parallel connection between a gating switch and N resistive memories in series in a storage computing unit provided by an embodiment of the present invention;
图3为本发明实施例所提供的在图1所示存储计算阵列内的每一个阻式存储器上并联二极管的结构示意图;3 is a schematic structural diagram of a diode connected in parallel on each resistive memory in the storage and computation array shown in FIG. 1 according to an embodiment of the present invention;
图4为本发明实施例所提供的在图2所示存储计算阵列内的每一个阻式存储器上并联二极管的结构示意图;4 is a schematic structural diagram of a diode connected in parallel on each resistive memory in the storage and calculation array shown in FIG. 2 according to an embodiment of the present invention;
图5为当目标存储计算单元中的选通开关和N个串联阻式存储器相串联时,使能开关对存储计算阵列中以列连接的存储计算单元进行控制时的结构示意图;5 is a schematic structural diagram when a gate switch in a target storage computing unit is connected in series with N series resistive memories, and an enable switch controls the storage computing units connected in columns in the storage computing array;
图6为当目标存储计算单元中的选通开关和N个串联阻式存储器相并联时,使能开关对存储计算阵列中以列连接的存储计算单元进行控制时的 结构示意图;Fig. 6 is when the gating switch in the target storage calculation unit is connected in parallel with N series resistive memories, the structural representation when the enable switch controls the storage calculation unit connected with the column in the storage calculation array;
图7为本发明实施例所提供的一种数据读写计算方法的流程图。FIG. 7 is a flowchart of a data read/write calculation method provided by an embodiment of the present invention.
具体实施方式Detailed ways
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, but not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
本发明实施例公开了一种存储计算阵列,该存储计算阵列包括:以阵列结构相互连接的多个存储计算单元,各存储计算单元包括一个选通开关,以及与选通开关串联或并联的N个相互串联的阻式存储器;其中,一个或多个阻式存储器各自与一个双向选择器连接,N≥1。The embodiment of the present invention discloses a storage computing array, the storage computing array includes: a plurality of storage computing units connected with each other in an array structure, each storage computing unit includes a gate switch, and N connected in series or in parallel with the gate switch Resistive memories connected in series with each other; wherein, one or more resistive memories are each connected with a bidirectional selector, N≥1.
在本实施例中,是提供了一种新型的存储计算阵列,通过该存储计算阵列可以显著提高存储计算阵列的存储效率。具体的,在该存储计算阵列中,主要是对存储计算阵列中的存储计算单元进行了改进。在该存储计算阵列的存储计算单元中是设置有一个选通开关和N个阻式存储器,其中,N个阻式存储器相互串联在一起,并且,N个阻式存储器相互串联之后,会与选通开关串联或并联。In this embodiment, a new type of storage computing array is provided, by which the storage efficiency of the storage computing array can be significantly improved. Specifically, in the storage computing array, the storage computing unit in the storage computing array is mainly improved. A gate switch and N resistive memories are arranged in the storage computing unit of the storage computing array, wherein the N resistive memories are connected in series with each other, and after the N resistive memories are connected in series, they will be connected with the selected Connect the switches in series or in parallel.
请参见图1和图2,图1为本发明实施例所提供的存储计算单元中选通开关与N个相互串联阻式存储器进行串联的结构示意图,图2为本发明实施例所提供的存储计算单元中选通开关与N个相互串联阻式存储器进行并联的结构示意图。在图1和图2中,R a<b>表示阻式存储器,0≤a≤N,0≤b≤i,WL<c>表示选通开关管,1≤c≤N,a、b、c、i均为整数;BL和SL代表存储计算单元的两个信号输入端。 Please refer to FIG. 1 and FIG. 2 . FIG. 1 is a schematic structural diagram of a series connection between a gate switch and N resistive memories in series in a storage calculation unit provided by an embodiment of the present invention, and FIG. 2 is a storage calculation unit provided by an embodiment of the present invention. A schematic structural diagram of the parallel connection between the gate switch and N resistive memories in series in the unit. In Figure 1 and Figure 2, R a <b> represents a resistive memory, 0≤a≤N, 0≤b≤i, WL<c> denotes a gate switch, 1≤c≤N, a, b, Both c and i are integers; BL and SL represent two signal input terminals of the storage computing unit.
需要说明的是,在利用存储计算单元搭建存储计算阵列的过程中,既可以是整齐对位的行列排布来搭建存储计算阵列,也可以是以错位的行列排布来搭建存储计算阵列,也即,后一行的存储计算单元设置于前一行两个存储计算单元之间。假设存储计算阵列的规模为M×K,也即,存储计 算阵列中有M行存储计算单元,有K列存储计算单元。那么,在实际搭建过程中,就可以先按照行方向依次将各个存储计算单元的SL端连接,并按照列方向依次将各个存储计算单元的BL端连接,然后,按照行方向依次将各个存储计算单元中的选通开关连接至同一行控制线上,并在列方向上将连接同一阻式存储器的行控制线连接至同一列控制线上。It should be noted that, in the process of using the storage computing unit to build the storage computing array, the storage computing array can be built with neatly aligned rows and columns, or the storage computing array can be built with staggered rows and columns. That is, the storage computing unit of the next row is arranged between the two storage computing units of the previous row. It is assumed that the size of the storage-computation array is M×K, that is, there are M rows of storage-computation units and K columns of storage-computation units in the storage-computation array. Then, in the actual construction process, the SL terminals of each storage and calculation unit can be connected in sequence in the row direction, and the BL terminals of each storage and calculation unit can be connected in sequence in the column direction, and then each storage calculation unit can be sequentially connected in the row direction. The gate switches in the cells are connected to the same row control line, and connect the row control lines connected to the same resistive memory to the same column control line in the column direction.
可以理解的是,当在存储计算单元中设置了N个阻式存储器时,就可以利用存储计算单元存储更多的数据,相较于现有技术而言,通过本实施例所提供的技术方案因为可以在每一个存储计算单元中设置数量更多的阻式存储器,所以,通过该存储计算阵列就可以显著提高存储计算阵列的存储效率。并且,通过本申请所提供的存储计算阵列,不仅可以使得存储计算阵列具有更高的集成度,而且,也可以提高存储计算阵列的数据处理速度。It can be understood that when N resistive memories are set in the storage computing unit, the storage computing unit can be used to store more data. Compared with the prior art, the technical solution provided by this embodiment Because more resistive memories can be arranged in each storage computing unit, the storage efficiency of the storage computing array can be significantly improved through the storage computing array. Moreover, the storage computing array provided by the present application can not only make the storage computing array have a higher integration degree, but also improve the data processing speed of the storage computing array.
此外,作为一种优选的实施方式,N个相互串联的阻式存储器具有相同的结构,但具有不同的物理尺寸。也即,通过这样的设置方式,就可以使得存储计算阵列拥有不同的写电流。In addition, as a preferred embodiment, N resistive memories connected in series have the same structure but different physical sizes. That is, through such an arrangement, the storage and computing arrays can have different write currents.
可见,在本实施例所提供的存储计算阵列中,因为是在存储计算单元内的一个选通开关上连接N个相互串联的阻式存储器,所以,相较于现有技术而言,通过此种设置方式就可以在相同的面积开销下设置数量更多的存储计算单元。并且,由于在该存储计算阵列中,是在各存储计算单元中设置了N个相互串联的阻式存储器,所以,通过此种设置方式就可以显著提高每一个存储计算单元的数据存储量,并由此提高存储计算阵列的存储效率。It can be seen that, in the storage computing array provided in this embodiment, N resistive memories connected in series are connected to a gate switch in the storage computing unit. Therefore, compared with the prior art, this In this way, a larger number of storage and computing units can be set under the same area cost. In addition, since in the storage and calculation array, N resistive memories connected in series are set in each storage and calculation unit, the data storage capacity of each storage and calculation unit can be significantly increased by this setting method, and the Thereby, the storage efficiency of the storage computing array is improved.
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,该存储计算阵列还包括:Based on the above embodiment, this embodiment further describes and optimizes the technical solution. As a preferred implementation manner, the storage computing array further includes:
与阻式存储器并联的金属薄膜双向选择器或二极管;Metal thin film bidirectional selector or diode in parallel with resistive memory;
其中,金属薄膜双向选择器的导通电压大于或等于与金属薄膜双向选择器并联阻式存储器的写电压,且小于阻式存储器的击穿电压;或二极管 的导通电压大于或等于与二极管并联阻式存储器的写电压,且小于阻式存储器的击穿电压。Wherein, the on-voltage of the metal film bidirectional selector is greater than or equal to the write voltage of the resistive memory in parallel with the metal thin-film bidirectional selector, and is less than the breakdown voltage of the resistive memory; or the on-voltage of the diode is greater than or equal to that of the diode in parallel The write voltage of the resistive memory is lower than the breakdown voltage of the resistive memory.
可以理解的是,在实际应用中,由于存储计算阵列中各个阻式存储器上所加载的电流相差较大,在此情况下,就有可能会出现阻式存储器被加载电流所击穿的现象,因此,在本实施例中,为了避免上述情况的出现,还在每一个阻式存储器上并联了金属薄膜双向选择器或二极管。It can be understood that, in practical applications, due to the large difference between the currents loaded on each resistive memory in the storage and computing array, in this case, there may be a phenomenon that the resistive memory is broken down by the loading current. Therefore, in this embodiment, in order to avoid the above situation, a metal thin film bidirectional selector or diode is connected in parallel with each resistive memory.
需要说明的是,金属薄膜双向选择器或二极管的材料均相同,但各个金属薄膜双向选择器或二极管的厚度不同,因为与金属薄膜双向选择器或二极管并联的阻式存储器具有不同的写电流。It should be noted that the materials of the metal film bidirectional selectors or diodes are the same, but the thickness of each metal film bidirectional selector or diode is different, because the resistive memories connected in parallel with the metal film bidirectional selectors or diodes have different write currents.
请参见图3和图4,图3为本发明实施例所提供的在图1所示存储计算阵列内的每一个阻式存储器上并联二极管的结构示意图。图4为本发明实施例所提供的在图2所示存储计算阵列内的每一个阻式存储器上并联二极管的结构示意图。Please refer to FIG. 3 and FIG. 4 . FIG. 3 is a schematic structural diagram of a diode connected in parallel with each resistive memory in the storage computing array shown in FIG. 1 according to an embodiment of the present invention. FIG. 4 is a schematic structural diagram of a diode connected in parallel with each resistive memory in the storage-computation array shown in FIG. 2 according to an embodiment of the present invention.
显然,通过本实施例所提供的技术方案,可以进一步保证该存储计算阵列在使用过程中的可靠性。Obviously, through the technical solution provided in this embodiment, the reliability of the storage computing array during use can be further guaranteed.
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,选通开关具体为NMOS管或PMOS管或传输门。Based on the above embodiment, this embodiment further describes and optimizes the technical solution. As a preferred implementation manner, the gate switch is specifically an NMOS transistor or a PMOS transistor or a transmission gate.
因为NMOS管或PMOS管或传输门均可以控制存储计算单元的导通或关断,并能够达到存储计算阵列的实际应用需求,所以,在本实施例中,是将选通开关设置为NMOS管或PMOS管或传输门,由此就可以使得选通开关的设置方式更加灵活与多样。Because the NMOS tube, PMOS tube or transmission gate can control the on or off of the storage and calculation unit, and can meet the actual application requirements of the storage and calculation array, in this embodiment, the gate switch is set to the NMOS tube. Or a PMOS tube or a transmission gate, so that the setting method of the strobe switch can be more flexible and diverse.
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,阻式存储器具体为磁阻存储器或铁电存储器或相变存储器或阻变存储器。Based on the above embodiments, this embodiment further describes and optimizes the technical solution. As a preferred implementation, the resistive memory is specifically a magnetoresistive memory or a ferroelectric memory or a phase change memory or a resistive memory.
可以理解的是,因为磁阻存储器或铁电存储器或相变存储器或阻变存储器均是实践操作过程中较为常见的存储器,所以,当将阻式存储器设置 为磁阻存储器或铁电存储器或相变存储器或阻变存储器时,就可以相对降低本申请所提供存储计算阵列在实际构建过程中的搭建难度。It can be understood that, because magnetoresistive memory or ferroelectric memory or phase change memory or resistive memory are relatively common memories in practical operation, when the resistive memory is set as magnetoresistive memory or ferroelectric memory or phase change memory, When a variable memory or a resistive variable memory is used, the construction difficulty of the storage computing array provided by the present application in the actual construction process can be relatively reduced.
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,该存储计算阵列还包括:Based on the above embodiment, this embodiment further describes and optimizes the technical solution. As a preferred implementation manner, the storage computing array further includes:
用于对阵列结构中以行或列连接的存储计算单元进行共同控制的使能开关。An enable switch for common control of memory-computing units connected in rows or columns in an array structure.
在本实施例中,还在存储计算阵列中设置了用于对阵列结构中以行连接或以列连接的存储计算单元进行共同控制的使能开关。能够想到的是,当在存储计算阵列中设置了使能开关之后,就可以利用使能开关来对存储计算阵列中以行连接的存储计算单元或者是以列连接的存储计算单元共同进行控制,由此就可以进一步提高人们在使用该存储计算阵列时的便捷度。In this embodiment, an enable switch for jointly controlling the storage and computing units connected in rows or columns in the array structure is also provided in the storage computing array. It is conceivable that, after the enabling switch is set in the storage computing array, the enabling switch can be used to jointly control the storage computing units connected by rows or the storage computing units connected by columns in the storage computing array. Therefore, the convenience for people to use the storage computing array can be further improved.
请参见图5和图6,图5为当目标存储计算单元中的选通开关和N个串联阻式存储器相串联时,使能开关对存储计算阵列中以列连接的存储计算单元进行控制时的结构示意图;图6为当目标存储计算单元中的选通开关和N个串联阻式存储器相并联时,使能开关对存储计算阵列中以列连接的存储计算单元进行控制时的结构示意图。需要说明的是,在图5和图6中,Ten 0和Ten M为使能开关。并且,在本实施例中,目标存储计算单元是指存储计算阵列中的任意一个存储计算单元。 Please refer to FIG. 5 and FIG. 6 . FIG. 5 shows when the enable switch controls the storage and calculation units connected in columns in the storage and calculation array when the gate switch in the target storage and calculation unit is connected in series with N series resistive memories. 6 is a schematic diagram of the structure when the enable switch controls the storage and calculation units connected in columns in the storage and calculation array when the gating switch in the target storage and calculation unit is connected in parallel with N series resistive memories. It should be noted that, in FIG. 5 and FIG. 6 , Ten 0 and Ten M are enable switches. Moreover, in this embodiment, the target storage computing unit refers to any storage computing unit in the storage computing array.
与上述实施例所公开的存储计算阵列相对应,本发明实施例还提供了一种与上述存储计算阵列相对应的数据读写计算方法,请参见图7,图7为本发明实施例所提供的一种数据读写计算方法的流程图,其中,该数据读写计算方法包括:Corresponding to the storage computing array disclosed in the above-mentioned embodiment, the embodiment of the present invention also provides a data read/write computing method corresponding to the above-mentioned storage computing array. Please refer to FIG. 7 , which is provided by an embodiment of the present invention. A flowchart of a data read-write calculation method, wherein the data read-write calculation method includes:
步骤S11:当要读取存储计算阵列所存储的第一数据时,则将目标存储计算单元中的阻式存储器划分为多个电阻区间,并为每一个电阻区间设置相应的目标预设电压,在目标存储计算单元上加载第一电流,分别读取每一个电阻区间所对应的目标电压,按照电阻区间的顺序依次将目标电压 与目标预设电压进行比较,得到目标比较结果,以通过目标比较结果读取第一数据;Step S11: when the first data stored in the storage and calculation array is to be read, the resistive memory in the target storage and calculation unit is divided into a plurality of resistance sections, and a corresponding target preset voltage is set for each resistance section, Load the first current on the target storage and calculation unit, read the target voltage corresponding to each resistance interval respectively, compare the target voltage with the target preset voltage in sequence according to the order of the resistance interval, and obtain the target comparison result, so as to pass the target comparison As a result, the first data is read;
可以理解的是,当需要读取存储计算阵列所存储的数据时,实际上是读取存储计算阵列中每一个存储计算单元内所存储的数据,此处以读取存储计算阵列中的目标存储计算单元为例进行具体说明。在读取目标存储计算单元内所存储的数据时,首先是将目标存储计算单元中的阻式存储器划分为多个电阻区间,并为每一个电阻区间设置相应的目标预设电压;然后,在目标存储计算单元上加载第一电流,并分别读取每一个电阻区间所对应的目标电压,之后,再按照电阻区间的顺序依次将读取到的目标电压与目标预设电压进行比较,得到目标比较结果,并通过目标比较结果来读取存储计算阵列所存储的第一数据。It can be understood that when the data stored in the storage computing array needs to be read, the data stored in each storage computing unit in the storage computing array is actually read. Here, the target storage computing in the storage computing array is read. The unit is taken as an example for detailed description. When reading the data stored in the target storage and calculation unit, firstly, the resistive memory in the target storage and calculation unit is divided into a plurality of resistance intervals, and a corresponding target preset voltage is set for each resistance interval; The first current is loaded on the target storage and calculation unit, and the target voltage corresponding to each resistance interval is read respectively. After that, the read target voltage is compared with the target preset voltage in sequence according to the order of the resistance interval, and the target voltage is obtained. The result of the comparison is compared, and the first data stored in the storage computing array is read through the target comparison result.
能够想到的是,当获取得到目标比较结果时,也就相当于是获取得到了目标存储计算单元内所存储的数据,此时,再将每一个存储计算单元所存储的数据进行汇总,就可以读取得到存储计算阵列所存储的第一数据。It is conceivable that when the target comparison result is obtained, it is equivalent to obtaining the data stored in the target storage and calculation unit. At this time, the data stored in each storage and calculation unit is aggregated to read The first data stored in the storage computing array is obtained.
具体的,在图1所示的存储计算阵列中,当需要读取存储计算阵列所存储的第一数据时,首先是从存储计算阵列中选出想要读取数据的目标存储计算单元,然后,将目标存储计算单元中的选通开关和所有阻式存储器均导通,此时就可以通过目标存储计算单元的信号输入端在目标存储计算单元上加载第一电流。而在图2所示的存储计算阵列中,当需要读取存储计算阵列所存储的第一数据时,首先从存储计算阵列中选出想要读取数据的目标存储计算阵列,然后,将目标存储计算单元中的选通开关关断,此时就可以通过目标存储计算单元的信号输入端在目标存储计算单元上加载第一电流。Specifically, in the storage computing array shown in FIG. 1 , when the first data stored in the storage computing array needs to be read, first select the target storage computing unit from which the data is to be read from the storage computing array, and then , the gate switch in the target storage and calculation unit and all resistive memories are turned on, at this time, the first current can be loaded on the target storage and calculation unit through the signal input terminal of the target storage and calculation unit. In the storage computing array shown in FIG. 2, when the first data stored in the storage computing array needs to be read, the target storage computing array to which the data is to be read is selected from the storage computing array, and then the target storage computing array is selected from the storage computing array. The gate switch in the storage and calculation unit is turned off, and at this time, the first current can be loaded on the target storage and calculation unit through the signal input terminal of the target storage and calculation unit.
步骤S12:当要向存储计算阵列写入第二数据时,则根据第二数据确定在目标存储计算单元待要写入的目标数据,并根据目标存储计算单元的阻值确定在目标存储计算单元上施加不同电流的顺序,得到目标电流序列,以通过目标电流序列在目标存储计算单元中写入目标数据;Step S12: when the second data is to be written into the storage computing array, the target data to be written in the target storage computing unit is determined according to the second data, and the target storage computing unit is determined according to the resistance value of the target storage computing unit. The sequence of applying different currents to obtain the target current sequence, so as to write the target data in the target storage computing unit through the target current sequence;
可以理解的是,当要向存储计算阵列中写入第二数据时,就相当于是需要在存储计算阵列中的每一个存储计算单元中写入与第二数据相对应的数据。此处,还是以向目标存储计算单元中写入数据为例进行具体说明。It can be understood that when the second data is to be written into the storage computing array, it is equivalent to need to write data corresponding to the second data in each storage computing unit in the storage computing array. Here, writing data into the target storage computing unit is taken as an example for specific description.
首先是根据第二数据确定要在目标存储计算单元中待要写入的目标数据,然后,根据目标存储计算单元的阻值确定在目标存储计算单元上加载不同电流的顺序,因为每一层阻式存储器的写电流Ii都不相同,所以,在某一写电流Iwrite下,只有Ii<Iwrite的阻式存储器才能被写入。在原理机制下,就可以通过电流控制来得到不同阻式存储器组合存储的状态。Firstly, the target data to be written in the target storage and calculation unit is determined according to the second data, and then, the sequence of loading different currents on the target storage and calculation unit is determined according to the resistance value of the target storage and calculation unit, because each layer of resistance The write currents Ii of different types of memory are different, so, under a certain write current Iwrite, only the resistive memory with Ii<Iwrite can be written. Under the principle mechanism, the state stored by different resistive memory combinations can be obtained by current control.
也即,首先是依据需要写入态对应的各阻式存储器的状态建立写电流的施加顺序,得到目标电流序列,然后,在目标存储计算单元上通过一次或多次施加大小或方向不同的写电流来改变阻式存储器的阻态,最后,再将多个阻式存储器的状态改变为写入态对应的状态。显然,通过此种设置方式就可以在目标存储计算单元中写入目标数据。That is, first, the application sequence of the write current is established according to the state of each resistive memory corresponding to the required write state, so as to obtain the target current sequence. The resistance state of the resistive memory is changed by the current, and finally, the states of the plurality of resistive memories are changed to the state corresponding to the write state. Obviously, the target data can be written in the target storage computing unit through this setting.
具体的,在图1所示的存储计算阵列中,当需要在存储计算阵列中写入第二数据时,首先从存储计算阵列中选出一个待写入数据的目标存储计算单元,然后,控制目标存储计算单元处于导通状态,而与其相邻存储计算单元中的选通开关管处于断开状态,并依据目标存储计算单元中阻式存储器的阻值在目标存储计算单元的信号两端加载目标电流序列,以通过目标电流序列来在目标存储计算单元中写入目标数据。在图2所示的存储计算阵列中,当需要在存储计算阵列中写入第二数据时,首先是从存储计算阵列中选出一个待写入数据的目标存储计算单元,然后,控制存储计算阵列中除去目标存储计算单元之外的所有存储计算单元处于导通状态,并控制目标存储计算单元中的选通开关处于关断状态,之后,再在目标存储计算单元上加载目标电流序列,以通过电流通过阻式存储器的状态来改变阻式存储器的阻态,并由此达到对目标存储计算单元写入数据的目的。Specifically, in the storage computing array shown in FIG. 1, when the second data needs to be written in the storage computing array, a target storage computing unit to which data is to be written is first selected from the storage computing array, and then the control The target storage and calculation unit is in an on state, while the gate switch in the adjacent storage and calculation unit is in an off state, and is loaded at both ends of the signal of the target storage and calculation unit according to the resistance value of the resistive memory in the target storage and calculation unit A target current sequence to write target data in the target storage computing unit through the target current sequence. In the storage computing array shown in FIG. 2 , when the second data needs to be written in the storage computing array, a target storage computing unit to which data is to be written is first selected from the storage computing array, and then the storage computing unit is controlled. All storage and calculation units in the array except the target storage and calculation unit are in an on state, and the gate switch in the target storage and calculation unit is controlled to be in an off state, and then the target current sequence is loaded on the target storage and calculation unit to The resistance state of the resistive memory is changed by the current passing through the state of the resistive memory, thereby achieving the purpose of writing data to the target storage computing unit.
另外,在实际应用中,如果目标存储计算单元中的选通开关与其内N个相互串联的阻式存储器为串联结构时,则可以通过奇偶交错的方式来完成对存储计算阵列中所有存储计算单元的数据读取与写入。具体的,在实际操作过程中,可以依次先对存储计算阵列中的存储计算单元设置相应的数 字标号,然后,将存储计算阵列中数字标号为奇数的存储计算单元划分为第一阵列,并将存储计算阵列中数字标号为偶数的存储计算单元划分为第二阵列;之后,再对第一阵列中的数据进行读取或写入,当对第一阵列中的数据读取或写入完毕时,则对第二阵列中的数据进行读取或写入,当第二阵列中的数据读取或写入完毕时,就完成了对整个存储计算阵列的数据读取或写入。显然,通过该种数据读写方法,就能够在2N个时钟周期内完成对存储计算阵列中所有存储计算单元的数据读取或写入,由此就可以取得更快的数据读写效果。In addition, in practical applications, if the gate switch in the target storage computing unit and its N resistive memories connected in series with each other are in series structure, the parity interleaving method can be used to complete all storage computing units in the storage computing array. data read and write. Specifically, in the actual operation process, corresponding digital labels may be set to the storage and calculation units in the storage and calculation array in turn, and then, the storage and calculation units with odd numbers in the storage and calculation array are divided into the first array. The storage and calculation units with even numbers in the storage and calculation array are divided into second arrays; after that, the data in the first array is read or written, and when the data in the first array is read or written. , the data in the second array is read or written, and when the read or write of the data in the second array is completed, the data read or write to the entire storage computing array is completed. Obviously, through this data reading and writing method, data reading or writing to all storage computing units in the storage computing array can be completed within 2N clock cycles, thereby achieving faster data reading and writing effects.
步骤S13:当要对存储计算阵列进行计算时,则确定与目标存储计算单元相对应的目标电信号和目标存储数据,并将目标电信号和目标存储数据相乘,得到目标存储计算单元的计算值,将存储计算阵列中所有存储计算单元的计算值相加,得到存储计算阵列的计算值。Step S13: when the storage calculation array is to be calculated, determine the target electrical signal and the target storage data corresponding to the target storage calculation unit, and multiply the target electrical signal and the target storage data to obtain the calculation of the target storage calculation unit. The calculated value of all storage computing units in the storage computing array is added to obtain the computing value of the storage computing array.
在实际应用中,如果想要对存储计算阵列进行计算时,则需要对存储计算阵列中的每一个存储计算单元进行计算,此处,还是以目标存储计算单元为例进行具体说明。在对目标存储计算单元进行计算时,首先是获取与目标存储计算单元上加载的目标电信号,以及目标存储计算单元中所存储的目标存储数据;然后,再将目标电信号和目标存储数据相乘,就得到目标存储计算单元的计算值;最后,通过同样的方法对存储计算阵列中除去目标存储计算单元的其它存储计算单元进行计算,并将存储计算阵列中所有存储计算单元的计算值相加,就会得到存储计算阵列的计算值。In practical applications, if you want to perform calculations on the storage computing array, you need to perform calculations on each storage computing unit in the storage computing array. Here, the target storage computing unit is taken as an example for specific description. When calculating the target storage computing unit, first obtain the target electrical signal loaded on the target storage computing unit and the target storage data stored in the target storage computing unit; then, compare the target electrical signal with the target storage data. Multiply to get the calculation value of the target storage calculation unit; finally, calculate the other storage calculation units in the storage calculation array except the target storage calculation unit by the same method, and compare the calculated values of all storage calculation units in the storage calculation array with each other. Add, you will get the calculation value of the storage calculation array.
显然,通过本实施例所提供的技术方案,就实现了存储计算阵列的数据读取、数据写入和数据计算,并且,通过本实施例所提供的存储计算阵列无需在存储计算阵列中额外设置逻辑计算模块就可以对存储计算阵列进行计算,由此就可以相对降低存储计算阵列所需要的设计成本。Obviously, through the technical solution provided by this embodiment, data reading, data writing and data calculation of the storage computing array are realized, and the storage computing array provided by this embodiment does not require additional settings in the storage computing array The logical computing module can perform computation on the storage computing array, thereby relatively reducing the design cost required by the storage computing array.
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述步骤S11:将目标存储计算单元中的阻式存储器划分为多个电阻区间,并为每一个电阻区间设置相应的目标预设电压,在目标存储计算单元上加载第一电流,分别读取每一个电阻区间所对应的 目标电压,按照电阻区间的顺序依次将目标电压与目标预设电压进行比较,得到目标比较结果,以通过目标比较结果读取第一数据的过程,包括:Based on the above embodiment, this embodiment further describes and optimizes the technical solution. As a preferred implementation, the above step S11: divide the resistive memory in the target storage calculation unit into a plurality of resistance intervals, and each A corresponding target preset voltage is set in one resistance interval, the first current is loaded on the target storage and calculation unit, the target voltage corresponding to each resistance interval is read respectively, and the target voltage and the target preset voltage are sequentially performed according to the order of the resistance interval. The process of comparing and obtaining the target comparison result, so as to read the first data through the target comparison result, includes:
获取存储计算阵列内目标存储计算单元中N个相互串联阻式存储器的总电阻;Obtain the total resistance of N mutually connected resistive memories in the target storage computing unit in the storage computing array;
根据总电阻将N个相互串联的阻式存储器划分为2 N个电阻区间,并为每一个电阻区间设置相应的预设电压,得到第一预设电压序列; Divide N resistive memories connected in series with each other into 2 N resistance intervals according to the total resistance, and set a corresponding preset voltage for each resistance interval to obtain a first preset voltage sequence;
在目标存储计算单元上加载第一电流,并分别读取2 N个电阻区间相对应的电压,得到第一电压序列; Load the first current on the target storage and calculation unit, and read the voltages corresponding to the 2 N resistance intervals respectively to obtain the first voltage sequence;
按照与2 N个电阻区间相对应的顺序依次将第一预设电压序列和第一电压序列进行比较,得到第一比较序列; Comparing the first preset voltage sequence with the first voltage sequence in sequence according to the sequence corresponding to the 2 N resistance intervals, to obtain the first comparison sequence;
根据第一比较序列读取目标存储计算单元中所存储的第一目标子数据,并根据第一目标子数据读取存储计算阵列所存储的第一数据。The first target sub-data stored in the target storage computing unit is read according to the first comparison sequence, and the first data stored in the storage computing array is read according to the first target sub-data.
可以理解的是,因为存储计算单元中设置有数量众多的阻式存储器,所以,通过对阻式存储器以不同方式进行组合就会读取得到存储计算单元中不同的存储数据。It can be understood that, because a large number of resistive memories are provided in the storage computing unit, different stored data in the storage computing unit can be obtained by combining the resistive memories in different ways.
其中,为了读取得到目标存储计算单元中所存储的数据,可以先获取目标存储计算单元中N个相互串联阻式存储器的总电阻,并根据总电阻将N个相互串联的阻式存储器划分为2 N个电阻区间,那么,每一个电阻区间就会对应一个数据状态,而此时目标存储计算单元就会对应N个bit的数据。 Among them, in order to read the data stored in the target storage and calculation unit, the total resistance of the N resistive memories in series in the target storage and calculation unit can be obtained first, and the N resistive memories in series can be divided according to the total resistance into 2 N resistance intervals, then, each resistance interval will correspond to a data state, and at this time, the target storage computing unit will correspond to N bits of data.
然后,为每一个电阻区间设置相应的预设电压,也即,将第一个电阻区间所对应的预设电压设置为第一参考电压,将第二个电阻区间所对应的预设电压设置为第二参考电压……将第2 N个电阻区间所对应的预设电压设置为第2 N参考电压,那么,第一预设电压序列即为第一参考电压、第二参考电压……第2 N参考电压的集合。 Then, a corresponding preset voltage is set for each resistance section, that is, the preset voltage corresponding to the first resistance section is set as the first reference voltage, and the preset voltage corresponding to the second resistance section is set as Second reference voltage... Set the preset voltage corresponding to the 2 Nth resistance interval as the 2 Nth reference voltage, then the first preset voltage sequence is the first reference voltage, the second reference voltage... The second A collection of N reference voltages.
在目标存储计算单元上加载第一电流,并分别读取2 N个电阻区间相对应的电压,其中,第一个电阻区间所对应的电压读数为第一读电压、第二个电阻区间所对应的电压读数为第二读电压……第2 N个电阻区间所对应 的电压读数为第2 N读电压,那么,第一电压序列即为第一读电压、第二读电压……第2 N读电压的集合。 Load the first current on the target storage and calculation unit, and read the voltages corresponding to 2 N resistance intervals respectively, wherein the voltage readings corresponding to the first resistance interval are the first read voltage and the second resistance interval. The voltage reading is the second reading voltage... The voltage reading corresponding to the 2 N resistance interval is the 2 N reading voltage, then, the first voltage sequence is the first reading voltage, the second reading voltage... The 2 N reading voltage A collection of read voltages.
之后,再按照与2 N个电阻区间相对应的顺序依次将第一预设电压序列和第一电压序列进行比较,也即,将第一读电压与第一参考电压进行比较、将第二读电压与第二参考电压进行比较……将第2 N读电压与第2 N参考电压进行比较,分别得到第一比较结果、第二比较结果……第2 N比较结果,那么,第一比较序列即为第一比较结果、第二比较结果……第2 N比较结果的集合。需要说明的是,如果第i参考电压大于第i读电压,则第i比较结果为1,如果第i参考电压小于第i读电压,则第i比较结果为0,其中,1≤i≤2 NAfter that, the first preset voltage sequence and the first voltage sequence are sequentially compared in the order corresponding to the 2N resistance intervals, that is, the first read voltage is compared with the first reference voltage, and the second read voltage is compared with the first reference voltage. Compare the voltage with the second reference voltage...Compare the 2nd N read voltage with the 2nd N reference voltage to obtain the first comparison result, the second comparison result...the 2nd N comparison result, then, the first comparison sequence That is, the set of the first comparison result, the second comparison result...the second N comparison result. It should be noted that if the ith reference voltage is greater than the ith read voltage, the ith comparison result is 1, and if the ith reference voltage is less than the ith read voltage, the ith comparison result is 0, where 1≤i≤2 N.
能够想到的是,当获取得到第一比较序列时,就相当于是获取得到目标存储计算单元中所存储的第一目标子数据,最后,再通过同样的方法读取存储计算阵列中除去目标存储计算单元之外其它存储计算单元所存储的数据。显然,当获取得到存储计算阵列中所有存储计算单元中所存储的数据时,就会读取得到存储计算阵列所存储的第一数据。It is conceivable that when the first comparison sequence is obtained, it is equivalent to obtaining the first target sub-data stored in the target storage computing unit, and finally, the same method is used to read and remove the target storage computing from the storage computing array. Data stored by other storage computing units other than the unit. Obviously, when the data stored in all the storage computing units in the storage computing array is obtained, the first data stored in the storage computing array will be read.
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述步骤S11:将目标存储计算单元中的阻式存储器划分为多个电阻区间,并为每一个电阻区间设置相应的目标预设电压,在目标存储计算单元上加载第一电流,分别读取每一个电阻区间所对应的目标电压,按照电阻区间的顺序依次将目标电压与目标预设电压进行比较,得到目标比较结果,以通过目标比较结果读取第一数据的过程,包括:Based on the above embodiment, this embodiment further describes and optimizes the technical solution. As a preferred implementation, the above step S11: divide the resistive memory in the target storage calculation unit into a plurality of resistance intervals, and each A corresponding target preset voltage is set in one resistance interval, the first current is loaded on the target storage and calculation unit, the target voltage corresponding to each resistance interval is read respectively, and the target voltage and the target preset voltage are sequentially performed according to the order of the resistance interval. The process of comparing and obtaining the target comparison result, so as to read the first data through the target comparison result, includes:
获取存储计算阵列内目标存储计算单元中N个相互串联阻式存储器的总电阻;Obtain the total resistance of N mutually connected resistive memories in the target storage computing unit in the storage computing array;
根据总电阻将N个相互串联的阻式存储器划分为2 N-1个电阻区间,并为每一个电阻区间设置相应的预设电压,得到第二预设电压序列; Divide the N resistive memories connected in series into 2 N-1 resistance intervals according to the total resistance, and set a corresponding preset voltage for each resistance interval to obtain a second preset voltage sequence;
在目标存储计算单元上加载第一电流,并分别读取2 N-1个电阻区间相对应的电压,得到第二电压序列; Load the first current on the target storage computing unit, and read the voltages corresponding to the 2 N-1 resistance intervals respectively to obtain the second voltage sequence;
按照与2 N-1个电阻区间相对应的顺序依次将第二预设电压序列和第二电压序列进行比较,得到第二比较序列; Comparing the second preset voltage sequence with the second voltage sequence in sequence according to the sequence corresponding to the 2 N-1 resistance intervals, to obtain a second comparison sequence;
根据第二比较序列读取目标存储计算单元中所存储的第二目标子数据,并根据第二目标子数据读取存储计算阵列所存储的第一数据。The second target sub-data stored in the target storage computing unit is read according to the second comparison sequence, and the first data stored in the storage computing array is read according to the second target sub-data.
或者,在实际应用中,为了读取得到目标存储计算单元中所存储的数据,还可以先获取目标存储计算单元中N个相互串联阻式存储器的总电阻,并根据总电阻将N个相互串联的阻式存储器划分为2 N-1个电阻区间,那么,每一个电阻区间就会对应一个数据状态,而此时目标存储计算单元就会对应N-1个bit的数据。 Or, in practical applications, in order to read the data stored in the target storage and calculation unit, the total resistance of N mutually connected resistive memories in the target storage and calculation unit can also be obtained first, and N are connected in series with each other according to the total resistance. The resistive memory is divided into 2 N-1 resistance intervals, then, each resistance interval corresponds to a data state, and at this time, the target storage computing unit corresponds to N-1 bits of data.
然后,为每一个电阻区间设置相应的预设电压,也即,将第一个电阻区间所对应的预设电压设置为第一预设电压,将第二个电阻区间所对应的预设电压设置为第二预设电压……将第2 N-1个电阻区间所对应的预设电压设置为第2 N-1预设电压,那么,第二预设电压序列即为第一预设电压、第二预设电压……第2 N-1预设电压的集合。 Then, a corresponding preset voltage is set for each resistance section, that is, the preset voltage corresponding to the first resistance section is set to the first preset voltage, and the preset voltage corresponding to the second resistance section is set to For the second preset voltage... Set the preset voltage corresponding to the 2 N-1 resistance interval as the 2 N-1 preset voltage, then, the second preset voltage sequence is the first preset voltage, The second preset voltage...the set of 2 N-1 preset voltages.
在目标存储计算单元上加载第一电流,并分别读取2 N-1个电阻区间相对应的电压,其中,第一个电阻区间所对应的电压读数为第一电压、第二个电阻区间所对应的电压读数为第二电压……第2 N-1个电阻区间所对应的电压读数为第2 N-1电压,那么,第二电压序列即为第一电压、第二电压……第2 N-1电压的集合。 Load the first current on the target storage and calculation unit, and read the voltages corresponding to 2 N-1 resistance intervals respectively, wherein the voltage readings corresponding to the first resistance interval are the first voltage and the second resistance interval. The corresponding voltage reading is the second voltage... The voltage reading corresponding to the 2nd N-1 resistance interval is the 2nd N-1 voltage, then, the second voltage sequence is the first voltage, the second voltage... The second voltage A collection of N-1 voltages.
之后,再按照与2 N-1个电阻区间相对应的顺序依次将第二预设电压序列和第二电压序列进行比较,也即,将第一电压与第一预设电压进行比较、将第二电压与第二预设电压进行比较……、将第2 N-1电压与第2 N-1预设电压进行比较,分别得到第一比较值、第二比较值……第2 N-1比较值,那么,第二比较序列即为第一比较值、第二比较值……第2 N-1比较值的集合。需要说明的是,如果第j预设电压大于第j电压,则第j比较值为1,如果第j预设电压小于第j电压,则第j比较值为0,其中,1≤j≤2 N-1After that, compare the second preset voltage sequence with the second voltage sequence in sequence according to the sequence corresponding to the 2 N-1 resistance intervals, that is, compare the first voltage with the first preset voltage, and compare the first voltage with the first preset voltage. The second voltage is compared with the second preset voltage..., the 2nd N-1 voltage is compared with the 2nd N-1 preset voltage, and the first comparison value, the second comparison value are obtained respectively... The 2nd N-1 The comparison value, then, the second comparison sequence is the set of the first comparison value, the second comparison value...the 2nd N-1 comparison value. It should be noted that if the jth preset voltage is greater than the jth voltage, the jth comparison value is 1, and if the jth preset voltage is less than the jth voltage, the jth comparison value is 0, where 1≤j≤2 N-1 .
能够想到的是,当获取得到第二比较序列时,就相当于是获取得到目标存储计算单元中所存储的第二目标子数据,最后,再通过同样的方法读取存储计算阵列中除去目标存储计算单元之外其它存储计算单元所存储的数据。显然,当获取得到存储计算阵列中所有存储计算单元中所存储的数据时,就会读取得到存储计算阵列所存储的第一数据。It is conceivable that when the second comparison sequence is obtained, it is equivalent to obtaining the second target sub-data stored in the target storage computing unit, and finally, the same method is used to read the storage computing array to remove the target storage computing. Data stored by other storage computing units other than the unit. Obviously, when the data stored in all the storage computing units in the storage computing array is obtained, the first data stored in the storage computing array will be read.
显然,通过本实施例所提供的技术方案,可以使得存储计算阵列的数据读取方法更加灵活与多样。Obviously, with the technical solution provided in this embodiment, the data reading method of the storage computing array can be made more flexible and diverse.
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments, and the same or similar parts between the various embodiments may be referred to each other. Finally, it should also be noted that in this document, relational terms such as first and second are used only to distinguish one entity or operation from another, and do not necessarily require or imply these entities or that there is any such actual relationship or sequence between operations. Moreover, the terms "comprising", "comprising" or any other variation thereof are intended to encompass a non-exclusive inclusion such that a process, method, article or device that includes a list of elements includes not only those elements, but also includes not explicitly listed or other elements inherent to such a process, method, article or apparatus. Without further limitation, an element qualified by the phrase "comprising a..." does not preclude the presence of additional identical elements in a process, method, article or apparatus that includes the element.
以上对本发明所提供的一种存储计算阵列以及一种数据读写计算方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。A storage computing array and a data reading and writing computing method provided by the present invention have been described in detail above. The principles and implementations of the present invention are described with specific examples in this paper. The descriptions of the above embodiments are only used for Help to understand the method of the present invention and its core idea; at the same time, for those skilled in the art, according to the idea of the present invention, there will be changes in the specific implementation and application scope. In summary, the content of this specification It should not be construed as a limitation of the present invention.

Claims (9)

  1. 一种存储计算阵列,其特征在于,包括:A storage computing array, characterized in that it includes:
    以阵列结构相互连接的多个存储计算单元,各所述存储计算单元包括一个选通开关,以及与所述选通开关串联或并联的N个相互串联的阻式存储器;其中,一个或多个阻式存储器各自与一个双向选择器连接,N≥1。A plurality of storage and calculation units connected to each other in an array structure, each of the storage and calculation units includes a gate switch, and N resistive memories connected in series or in parallel with the gate switch; wherein one or more Resistive memories are each connected with a bidirectional selector, N≥1.
  2. 根据权利要求1所述的存储计算阵列,其特征在于,N个相互串联的阻式存储器具有相同的结构,但具有不同的物理尺寸。The storage computing array according to claim 1, wherein the N resistive memories connected in series have the same structure, but have different physical sizes.
  3. 根据权利要求1所述的存储计算阵列,其特征在于,还包括:The storage computing array according to claim 1, further comprising:
    与所述阻式存储器并联的金属薄膜双向选择器或二极管;其中,所述金属薄膜双向选择器的导通电压大于或等于与所述金属薄膜双向选择器并联阻式存储器的写电压,且小于所述阻式存储器的击穿电压;或所述二极管的导通电压大于或等于与所述二极管并联阻式存储器的写电压,且小于所述阻式存储器的击穿电压。A metal thin film bidirectional selector or diode connected in parallel with the resistive memory; wherein, the turn-on voltage of the metal thin film bidirectional selector is greater than or equal to the write voltage of the resistive memory connected in parallel with the metal thin film bidirectional selector, and less than The breakdown voltage of the resistive memory; or the turn-on voltage of the diode is greater than or equal to the write voltage of the resistive memory in parallel with the diode, and less than the breakdown voltage of the resistive memory.
  4. 根据权利要求1所述的存储计算阵列,其特征在于,所述选通开关具体为NMOS管或PMOS管或传输门。The storage computing array according to claim 1, wherein the gate switch is specifically an NMOS transistor or a PMOS transistor or a transmission gate.
  5. 根据权利要求1所述的存储计算阵列,其特征在于,所述阻式存储器具体为磁阻存储器或铁电存储器或相变存储器或阻变存储器。The storage computing array according to claim 1, wherein the resistive memory is specifically a magnetoresistive memory or a ferroelectric memory or a phase change memory or a resistive memory.
  6. 根据权利要求1所述的存储计算阵列,其特征在于,还包括:The storage computing array according to claim 1, further comprising:
    用于对所述阵列结构中以行或列连接的存储计算单元进行共同控制的使能开关。An enabling switch used to jointly control the storage and computing units connected in rows or columns in the array structure.
  7. 一种数据读写计算方法,其特征在于,应用于如权利要求1至6任一项所述的存储计算阵列,包括:A data read-write computing method, characterized in that, applied to the storage computing array as claimed in any one of claims 1 to 6, comprising:
    当要读取所述存储计算阵列所存储的第一数据时,则将目标存储计算单元中的阻式存储器划分为多个电阻区间,并为每一个电阻区间设置相应的目标预设电压,在所述目标存储计算单元上加载第一电流,分别读取每一个电阻区间所对应的目标电压,按照电阻区间的顺序依次将所述目标电压与所述目标预设电压进行比较,得到目标比较结果,以通过所述目标比较结果读取所述第一数据;When the first data stored in the storage and calculation array is to be read, the resistive memory in the target storage and calculation unit is divided into a plurality of resistance intervals, and a corresponding target preset voltage is set for each resistance interval. The target storage and calculation unit is loaded with a first current, and the target voltage corresponding to each resistance interval is read respectively, and the target voltage is compared with the target preset voltage in sequence according to the order of the resistance interval to obtain a target comparison result. , to read the first data through the target comparison result;
    当要向所述存储计算阵列写入第二数据时,则根据所述第二数据确定在所述目标存储计算单元待要写入的目标数据,并根据所述目标存储计算单元的阻值确定在所述目标存储计算单元上施加不同电流的顺序,得到目标电流序列,以通过所述目标电流序列在所述目标存储计算单元中写入所述目标数据;When the second data is to be written into the storage and calculation array, the target data to be written in the target storage and calculation unit is determined according to the second data, and is determined according to the resistance value of the target storage and calculation unit Applying the sequence of different currents on the target storage and calculation unit to obtain a target current sequence, so as to write the target data in the target storage and calculation unit through the target current sequence;
    当要对所述存储计算阵列进行计算时,则确定与所述目标存储计算单元相对应的目标电信号和目标存储数据,并将所述目标电信号和所述目标存储数据相乘,得到所述目标存储计算单元的计算值,将所述存储计算阵列中所有存储计算单元的计算值相加,得到所述存储计算阵列的计算值。When the storage calculation array is to be calculated, the target electrical signal and the target storage data corresponding to the target storage calculation unit are determined, and the target electrical signal and the target storage data are multiplied to obtain the target electrical signal and the target storage data. The calculation value of the target storage calculation unit is added, and the calculation value of all storage calculation units in the storage calculation array is added to obtain the calculation value of the storage calculation array.
  8. 根据权利要求7所述的一种数据读写计算方法,其特征在于,所述将目标存储计算单元中的阻式存储器划分为多个电阻区间,并为每一个电阻区间设置相应的目标预设电压,在所述目标存储计算单元上加载第一电流,分别读取每一个电阻区间所对应的目标电压,按照电阻区间的顺序依次将所述目标电压与所述目标预设电压进行比较,得到目标比较结果,以通过所述目标比较结果读取所述第一数据的过程,包括:The data reading and writing calculation method according to claim 7, wherein the resistive memory in the target storage and calculation unit is divided into a plurality of resistance intervals, and a corresponding target preset is set for each resistance interval voltage, load the first current on the target storage and calculation unit, read the target voltage corresponding to each resistance interval respectively, and compare the target voltage with the target preset voltage in turn according to the order of the resistance interval, to obtain The process of reading the first data through the target comparison result, including:
    获取所述存储计算阵列内目标存储计算单元中N个相互串联阻式存储器的总电阻;obtaining the total resistance of N mutually series-connected resistive memories in the target storage computing unit in the storage computing array;
    根据所述总电阻将N个相互串联的阻式存储器划分为2 N个电阻区间,并为每一个电阻区间设置相应的预设电压,得到第一预设电压序列; Divide N resistive memories connected in series into 2 N resistance intervals according to the total resistance, and set a corresponding preset voltage for each resistance interval to obtain a first preset voltage sequence;
    在所述目标存储计算单元上加载所述第一电流,并分别读取2 N个电阻区间相对应的电压,得到第一电压序列; Loading the first current on the target storage and computing unit, and reading the corresponding voltages of 2 N resistance intervals respectively, to obtain a first voltage sequence;
    按照与2 N个电阻区间相对应的顺序依次将所述第一预设电压序列和所述第一电压序列进行比较,得到第一比较序列; Comparing the first preset voltage sequence with the first voltage sequence in sequence according to the sequence corresponding to the 2 N resistance intervals, to obtain a first comparison sequence;
    根据所述第一比较序列读取所述目标存储计算单元中所存储的第一目标子数据,并根据所述第一目标子数据读取所述存储计算阵列所存储的所述第一数据。The first target sub-data stored in the target storage computing unit is read according to the first comparison sequence, and the first data stored in the storage computing array is read according to the first target sub-data.
  9. 根据权利要求7所述的一种数据读写计算方法,其特征在于,所述将目标存储计算单元中的阻式存储器划分为多个电阻区间,并为每一个电阻区间设置相应的目标预设电压,在所述目标存储计算单元上加载第一电 流,分别读取每一个电阻区间所对应的目标电压,按照电阻区间的顺序依次将所述目标电压与所述目标预设电压进行比较,得到目标比较结果,以通过所述目标比较结果读取所述第一数据的过程,包括:The data reading and writing calculation method according to claim 7, wherein the resistive memory in the target storage and calculation unit is divided into a plurality of resistance intervals, and a corresponding target preset is set for each resistance interval voltage, load the first current on the target storage and calculation unit, read the target voltage corresponding to each resistance interval respectively, and compare the target voltage with the target preset voltage in turn according to the order of the resistance interval, to obtain The process of reading the first data through the target comparison result, including:
    获取所述存储计算阵列内目标存储计算单元中N个相互串联阻式存储器的总电阻;obtaining the total resistance of N mutually series-connected resistive memories in the target storage computing unit in the storage computing array;
    根据所述总电阻将N个相互串联的阻式存储器划分为2 N-1个电阻区间,并为每一个电阻区间设置相应的预设电压,得到第二预设电压序列; Divide N resistive memories connected in series into 2 N-1 resistance intervals according to the total resistance, and set a corresponding preset voltage for each resistance interval to obtain a second preset voltage sequence;
    在所述目标存储计算单元上加载所述第一电流,并分别读取2 N-1个电阻区间相对应的电压,得到第二电压序列; Loading the first current on the target storage and computing unit, and respectively reading the voltages corresponding to 2 N-1 resistance intervals to obtain a second voltage sequence;
    按照与2 N-1个电阻区间相对应的顺序依次将所述第二预设电压序列和所述第二电压序列进行比较,得到第二比较序列; Comparing the second preset voltage sequence with the second voltage sequence in sequence according to the sequence corresponding to the 2N-1 resistance intervals, to obtain a second comparison sequence;
    根据所述第二比较序列读取所述目标存储计算单元中所存储的第二目标子数据,并根据所述第二目标子数据读取所述存储计算阵列所存储的所述第一数据。The second target sub-data stored in the target storage computing unit is read according to the second comparison sequence, and the first data stored in the storage computing array is read according to the second target sub-data.
PCT/CN2021/132945 2020-12-24 2021-11-25 Storage computing array and data reading/writing computing method WO2022135009A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011552408.1 2020-12-24
CN202011552408.1A CN114678047A (en) 2020-12-24 2020-12-24 Storage calculation array and data read-write calculation method

Publications (1)

Publication Number Publication Date
WO2022135009A1 true WO2022135009A1 (en) 2022-06-30

Family

ID=82069956

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/132945 WO2022135009A1 (en) 2020-12-24 2021-11-25 Storage computing array and data reading/writing computing method

Country Status (2)

Country Link
CN (1) CN114678047A (en)
WO (1) WO2022135009A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4345823A1 (en) * 2022-09-30 2024-04-03 IHP GmbH - Innovations for High Performance Microelectronics / Leibniz-Institut für innovative Mikroelektronik Resistive memory subcell, resistive random access memory for in-memory-computing and in-memory-processor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855928A (en) * 2011-06-28 2013-01-02 中国科学院微电子研究所 Resistance transition memory array and method for performing storage operation on same
CN104900261A (en) * 2014-03-07 2015-09-09 华邦电子股份有限公司 Variable resistor storage device and input method
CN106530210A (en) * 2016-10-31 2017-03-22 北京大学 Equipment and method for realizing parallel convolution calculation based on resistive random access memory array
US20170309332A1 (en) * 2016-04-26 2017-10-26 HGST Netherlands B.V. Planar memory cell architectures in resistive memory devices
CN111191776A (en) * 2019-12-19 2020-05-22 浙江大学 Storage calculation array, storage calculation module and data calculation method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855928A (en) * 2011-06-28 2013-01-02 中国科学院微电子研究所 Resistance transition memory array and method for performing storage operation on same
CN104900261A (en) * 2014-03-07 2015-09-09 华邦电子股份有限公司 Variable resistor storage device and input method
US20170309332A1 (en) * 2016-04-26 2017-10-26 HGST Netherlands B.V. Planar memory cell architectures in resistive memory devices
CN106530210A (en) * 2016-10-31 2017-03-22 北京大学 Equipment and method for realizing parallel convolution calculation based on resistive random access memory array
CN111191776A (en) * 2019-12-19 2020-05-22 浙江大学 Storage calculation array, storage calculation module and data calculation method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4345823A1 (en) * 2022-09-30 2024-04-03 IHP GmbH - Innovations for High Performance Microelectronics / Leibniz-Institut für innovative Mikroelektronik Resistive memory subcell, resistive random access memory for in-memory-computing and in-memory-processor

Also Published As

Publication number Publication date
CN114678047A (en) 2022-06-28

Similar Documents

Publication Publication Date Title
US7330370B2 (en) Enhanced functionality in a two-terminal memory array
US7986545B2 (en) Non-volatile memory device and method of operating the same
US8413013B2 (en) Memory system
US8320196B2 (en) Semiconductor memory with improved block switching
US8422271B2 (en) Bidirectional non-volatile memory array architecture
US8136017B2 (en) Multi-layer semiconductor memory device comprising error checking and correction (ECC) engine and related ECC method
US8045412B2 (en) Multi-stage parallel data transfer
US8645795B2 (en) Nonvolatile semiconductor memory device
KR20100024800A (en) Non-volatile memory device and method of operating the same
EP3210208B1 (en) Generating a representative logic indicator of grouped memristors
US7936625B2 (en) Pipeline sensing using voltage storage elements to read non-volatile memory cells
WO2022135009A1 (en) Storage computing array and data reading/writing computing method
WO2014149585A1 (en) Program cycle skip evaluation before write operations in non-volatile memory
US7304887B2 (en) Method and apparatus for multi-plane MRAM
JPWO2013128854A1 (en) Nonvolatile semiconductor memory device
US10783946B2 (en) Semiconductor memory device including memory cell arrays
US10056128B2 (en) Semiconductor storage device
CN113808637B (en) Magnetoresistive random access memory
KR102157360B1 (en) Memroy Device and Memroy Cell Array
CN115841839B (en) Fuse array circuit
US20240038322A1 (en) Performing sense operations in memory
US10692571B1 (en) Memory device
US10636464B1 (en) Memory device
US20200302986A1 (en) Semiconductor memory device
JP2024038840A (en) Memory device forming method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21909008

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21909008

Country of ref document: EP

Kind code of ref document: A1