EP4616401A1 - System and method for storing information - Google Patents
System and method for storing informationInfo
- Publication number
- EP4616401A1 EP4616401A1 EP23828245.3A EP23828245A EP4616401A1 EP 4616401 A1 EP4616401 A1 EP 4616401A1 EP 23828245 A EP23828245 A EP 23828245A EP 4616401 A1 EP4616401 A1 EP 4616401A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- ferrofluid
- information
- state
- reading unit
- memory element
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C25/00—Digital stores characterised by the use of flowing media; Storage elements therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
Definitions
- the present invention refers to the field of the electronic systems.
- the present invention refers to a memory system, in particular comprising a memory element in the liquid state (in the sense of physical aggregation state), and a relative control method for performing storage, reading and processing of the information stored in the system.
- nanowire field-effect transistors nanowire FETs
- spin FETs spin FETs
- tunnelling transistors atomic switches
- memristors memristors
- molecular switches etc.
- Aim of the present invention is to overcome the drawbacks of the prior art.
- aim of the present invention is to comprise a versatile and efficient system for storing information and a relative control method.
- a further aim of the present invention is to propose a system and a relative control method adapted to allow information to be processed simultaneously with its storage.
- the present invention is directed to a system for storing information.
- the system comprises a memory element, a programming unit - adapted to store and erase information in the memory element - and a reading unit - adapted to comprise an indication of the information stored in the memory element.
- the memory element comprises a ferrofluid enclosed in a container.
- the programming unit and the reading unit are electrically connected to the ferrofluid and the programming unit is adapted to selectively change a state of the ferrofluid by means of an electrical programming signal applied to the ferrofluid.
- the state of the ferrofluid therefore encodes the information stored by the memory element.
- the shape of the container of the ferrofluid can be any, making the system suitable in all those applications where there are stringent dimensional requirements, in particular where the classic electronic boards are not usable - for example, in aerospace, maritime applications, etc.
- the space launchers are for example reported, typically cylindrical in shape, which make available surfaces whose curvature hardly lends itself to integrating classic rigid panels.
- a clear advantage offered by this invention is represented by the state of aggregation of the physical system: in fact a liquid, being intrinsically amorphous, lends itself to tolerating environmental conditions prohibitive for the conventional systems based on the (crystalline solid) semiconductors, such as for example strong doses of ionizing radiations, cosmic rays, X-rays and gamma rays, high pressures, high temperatures, high magnetic fields, typical of the extreme environments.
- the Applicant has determined that it is possible to change a state of the ferrofluid so as to store information even in high quantity in an extremely simple and reliable manner.
- the ferrofluid is a water-based ferrofluid.
- the water-based ferrofluids are adapted to store information, do not pose safety problems for humans, are relatively simple at the composition level, can be synthesized through an economic procedure, and are easily usable in processes of production of electronic devices.
- the system comprises at least two electrical terminals in contact with the ferrofluid inside the container and connected to the reading unit.
- the terminals are made of, or are at least partially coated with, an inert metal, for example gold.
- terminals in direct contact with the ferrofluid i.e. with at least a part of the contacts immersed in the ferrofluid, allows the state in the ferrofluid to be programmed and read precisely and accurately.
- the reading unit is adapted to transmit a probe signal through at least one electrical terminal and to calculate a plurality of scattering parameters referred to the at least two electrical terminals, due to the propagation of the probe signal in the ferrofluid.
- the reading unit is adapted to generate the probe signal with a variable frequency in a predefined frequency range with a predefined step and to acquire a plurality of scattering parameters for each frequency of the probe signal in the frequency interval.
- the frequency range extends from 10 MHz to 6 GHz. Even more preferably, the step with which the frequency of the probe signal is varied is substantially equal to 10 MHz.
- the Applicant has determined that the scattering parameters measured at the terminals in contact with the ferrofluid depend on the current state of the ferrofluid.
- the scattering parameters allow to decode, in a precise, accurate and reliable manner, information stored in the ferrofluid.
- the stored information may have a complexity varying from a single bit to several bits based on a methodology with which the state of the ferrofluid is modified to store the information and on the methodology with which the scattering parameters are used to decode the information stored in the ferrofluid.
- the reading unit is adapted to determine a value of the modulus of the scattering parameters of the plurality of scattering parameters and to comprise an indication of the information stored in the memory element based on at least one of the values of the modulus of the scattering parameters.
- the Applicant has determined that an analysis of the modulus of the scattering parameters is sufficient to correctly interpret the information stored in the ferrofluid, thereby substantially limiting the computational load necessary to decode the information stored in the ferrofluid.
- the reading unit is adapted to calculate a plurality of impedance values of the ferrofluid observed by each of the electrical terminals starting from the plurality of calculated scattering parameters.
- the reading unit is adapted to calculate a plurality of overall impedance values according to the formula: where Z xy (z) is the impedance between terminal x and terminal y calculated with respect to the z-th frequency step of the probe signal, Z c xy is the overall impedance between terminal x and terminal y of the at least two terminals, N is the number of steps z with which the probe signal passes from an initial value of the frequency interval to a final value thereof.
- the Applicant has determined that the analysis of the impedances, preferably of the overall impedances defined above, allows to decode in a simple and effective way the information stored in the ferrofluid.
- the information in the ferrofluid can be encoded/ decoded by means of a function - of the plurality of the scattering parameters or of the plurality of the calculated impedance values - based on Shannon entropy, Kolmogorov entropy or on the Kullback-Leibler divergence. More generally, the information in the ferrofluid may be encoded/ decoded by means of a function based on an aggregate representation of the complexity of the plurality of the scattering parameters or of the plurality of the calculated impedance values.
- the reading unit comprises a vector network analyzer.
- a vector network analyzer makes it possible to determine the scattering and, possibly, impedance parameters in a simple and reliable manner.
- a different aspect of the present invention concerns a method for controlling an information storage system.
- the system controlled by the method comprises a memory element, a programming unit, and a reading unit.
- the method comprises the step of applying a direct voltage on a ferrofluid enclosed in a container comprised in the memory element, by means of the programming unit. This changes a collective state of the ferrofluid, encoding information in the memory element.
- the presented method allows to efficiently program the system according to one of the embodiments described above.
- the step of applying a DC voltage on a ferrofluid comprises selecting at least one between a DC voltage amplitude value and a duration for which the DC voltage is applied in order to bring the state of the ferrofluid to a desired state.
- the method comprises performing a sequence of write operations, each of which comprises applying a voltage with amplitude or for a specific duration.
- each write operation adds a portion of information to the overall information stored in the ferrofluid. Consequently, thanks to the sequence of write operations it is possible to store an overall information that is the result of the combination - for example, a superposition of effects or a convolution - of a plurality of portions of information.
- the method comprises the step of determining the state of the ferrofluid by measuring a response of the ferrofluid to a frequency signal applied to the ferrofluid, by means of the reading unit, and providing an indication of the information stored in the memory element based on said response.
- the response of the ferrofluid is measured in terms of a plurality of scattering and/ or impedance parameters measured at least at a pair of terminals to which it is connected.
- the processing of the scattering parameters to decode the information stored - even with high complexity - in the ferrofluid allows to obtain the capacity to decode the information stored in the ferrofluid in a reliable manner, similar to what has been exposed above.
- a different aspect of the present invention concerns an apparatus comprising at least an information storage system according to one of the embodiments described above.
- a different aspect of the present invention concerns a neural network made with a plurality of information storage systems according to one of the embodiments described above, each of which is configured to operate like at least one artificial neuron of the artificial neural network.
- FIG. 1 is a block diagram of the information storage system according to an embodiment of the present invention.
- Figure 2 is a flowchart of an operation for reading information stored in the system of Figure 1;
- FIG 3 is a flowchart of an operation for writing information in the system of Figure 1;
- Figure 4 is a flowchart of an operation for erasing information stored in the system of Figure 1;
- Figure 5 is a flowchart of an alternative operation for erasing information stored in the system of Figure 1;
- Figure 6 is a graph of the trend of voltages and impedances in the system of Figure 1 during the execution of the read, write and erase functions;
- Figure 7 is a flowchart of an operation for identifying desired information according to an embodiment of the present invention.
- Figure 8 illustrates graphical representations of the numbers from 0 to 9 used as input information for the identification operation of Figure 7;
- Figure 9 conceptually illustrates bit words encoding the graphical representations of Figure 8.
- Figure 10 is a graph of the trend of voltages and impedances in the system of Figure 1 during the execution of the identification operation of Figure 7.
- the system 1 comprises a container 10 for a fluid, preferably watertight, containing a ferrofluid 20.
- the container 10 is made of Acrylonitrile-Butadiene-Styrene (ABS) and the ferrofluid 20 is a water-based ferrofluid, for example EMG 601P produced by FerroTec - having the following salient parameters: saturation magnetization (Ms) 44 mT, viscosity @ 27°C ⁇ 5 mPa s, and density @ 25°C 1.34 10 3 kg/ m 3 .
- the container 10 contains a volume of ferrofluid 20 between 1 m and 10 ml, for example substantially equal to 5 ml.
- a plurality of electrically conductive terminals 30 - two in the example of Figure 1 - pass through the container 10 so as to enter into - and remain in - contact with the ferrofluid 20.
- the electrical terminals are made of, or at least coated with, an inert material, for example gold (Au).
- Each of the terminals is connected to a frequency division multiplexing device, for example a bias tee 40, configured to maintain separate a DC voltage bias signal PDC, comprised by a bias unit 50, and one or more frequency probe signals SRF, generated by a reading unit, a frequency analysis unit in the embodiments of the present invention, for example a vector network analyzer or VNA 60.
- a frequency division multiplexing device for example a bias tee 40, configured to maintain separate a DC voltage bias signal PDC, comprised by a bias unit 50, and one or more frequency probe signals SRF, generated by a reading unit, a frequency analysis unit in the embodiments of the present invention, for example a vector network analyzer or VNA 60.
- the bias unit 50 is connected to the low-frequency input terminals of at least one pair of bias tees 40 so as to apply the bias signal PDC to the ends of the corresponding terminals 30 connected to the output terminals of the bias tees 40 and in contact with the ferrofluid 20.
- the VNA 60 is connected to the high-frequency input terminals of the bias tees 40 in order to apply to the ends of two or more terminals 30 one or more probe signals SRF at a desired frequency band - between 10 MHz and 6 GHz with a step of 10 MHz in the example considered - and to detect an impedance value Z - or a parameter value S - at the ends of the same terminals 30.
- Both the bias unit 50 and the VNA 60 are connected to a processing unit 70, which is configured to govern the operation of the system 1 according to one or more operations described hereinafter in the present description.
- the processing unit 70 may comprise one or more processors, microprocessors, microcontrollers, ASICs, FPGAs, DSPs, or the like, one or more non-volatile and volatile memory elements.
- the processing unit 70 may comprise a user interface 80 - comprised with input/ output systems - and/ or a modem, or other similar element, in order to allow an exchange of data with a user terminal 90.
- the system 1 is adapted to write, read and erase a bit of information in the ferrofluid 20 according to the read 1000 (Read), write 2000 (Write) and erase 3000 (Reset) operations, of which Figures 2, 3 and 4 are respective flow diagrams, described below and of which Figure 5 illustrates qualitatively the trend of the values of an operating voltage VOP, of the probe signal SRF and of an impedance Z c n overall which is associated with the ferrofluid 20 in operation during a plurality of read, write and erase operations.
- the read operation 1000 comprises that the VNA 60 injects a probe signal SRF through the terminals 30 into the ferrofluid 20 (step 1001) and measures the corresponding reflected signals transmitted to the terminals 30 (step 1002).
- the VNA performs a 'sweep' in frequency with step Af equal to 10 MHz in the range 10 MHz - 6 GHz.
- the VNA 60 determines a scattering matrix (step 1003).
- the scattering matrix comprises a respective transmission and reflection parameter S of the probe signal SRF at the terminals 30 (four parameters S12, S21, Su and S22 in the case considered of 2 terminals 30) for each of the frequency values assumed by the probe signal SRF.
- the VNA 60 calculates a matrix of equivalent impedances of the ferrofluid 20 (four impedance values Z12, Z21, Z11 and Z22 in the case considered of 2 terminals 30) associated with the transmission and reflection from the probe signal SRF.
- the values of the modulus of the impedance values Z12, Z21, Z11 e Z22 are calculated as a function of the frequency.
- each overall impedance Z c 12, Z c 21, Z c 11 and Z c 22 corresponds to the summation of the impedance values calculated during the sweep from fMAX to fmin with step Af.
- the processing unit 70 compares the overall impedances Z c 12 - Z c 22 calculated with a set of overall impedances measured in an unprogrammed state of the ferrofluid 20 (decision step 1004) and, when at least one of the calculated complex impedances Z c 12 - Z c 22 differs from a corresponding one of the overall impedances in the unprogrammed state of the ferrofluid 20 (output branch Y of step 1004), it identifies a bit at logical value one (step 1005), namely that the ferrofluid 20 is in a programmed state.
- the processing unit 70 determines that the ferrofluid 20 stores one bit at the logical value zero, i.e. in an unprogrammed state (step 1006).
- the write operation 2000 comprises changing a state of the ferrofluid 20 by applying, to the terminals 30, an operating DC voltage VOP at a predetermined programming value Vp.
- the write operation 2000 comprises performing a read operation 1000 to determine an initial state Mo of the ferrofluid 20 (step 2001).
- the operating voltage VOP is brought to the programming value Vp (step 2002) and is applied between the terminals 30 for a predetermined programming time period Tp (step 2003).
- the operating voltage VOP is cancelled (step 2004) and the ferrofluid 20 is in a programmed state M p different from the initial state Mo.
- at least one of the overall impedances Z c i2 - Z c 22 associated with the ferrofluid 20 in the programmed state M p differs from the overall impedances Z c i2 - Z c 22 associated with the ferrofluid 20 in the initial state Mo.
- the system 1 enters a holding condition in which the terminals 30 are held at high impedance for a desired holding period Th.
- the Applicant has determined that the system 1 has an information retention time dependent - e.g., inversely proportional - on the intensity of mechanical stresses to which the ferrofluid 20 is subjected and dependent on the resolution - i.e., on the difference (in modulus) between the values of the overall impedances Z c i2 - Z c 22 associated with different storable information (the smaller the difference between the values, the smaller the information retention will be).
- one or more read operations 1000 may be performed in parallel to the programming of the ferrofluid 20 and/ or during the holding condition, in order to monitor the state of the ferrofluid 20 during the write operation 2000 and/ or during the holding period Th.
- the erase operation 3000 comprises applying the operating DC voltage VOP at a predetermined erase value VE.
- the operating voltage VOP is brought to the erase value VE (step 3001) and is applied between the terminals 30 for a predetermined programming time period TE (step 3002).
- the operating voltage VOP is cancelled and the terminals 30 are brought to high impedance (step 3003) - or a write operation 2000 is initiated - and the ferrofluid 20 is in an erased state M e , for example, corresponding to the initial state Mo.
- an alternative erase operation 3100 comprises applying the operating voltage VOP to the terminals 30 by alternating the value thereof between the programming value Vp and the erase value VE for respective decreasing time periods (step 3101) until the desired initial state Mo is reached when the programming voltage VOP is cancelled and the terminals 30 are brought to high impedance (step 3102) - or a write operation 2000 is initiated.
- the Applicant has determined that varying the value of the operating voltage VOP allows to quickly reach the values of the overall impedances Z c i2 - Z c 22 in the erased state M e , in particular, faster than holding the operating voltage VOP at the erase value VE.
- the number of voltage variation and the duration of each time period of application of the programming voltage values Vp and of erasure VE depends on the programmed state Mp or initial state Mo in which the ferrofluid 20 is located at the time instant prior to the start of the erase operation 3100 and the erased state M e to be reached at the end thereof.
- Figure 6 illustrates a plurality of read operations 1000 (Read) performed during the write operation 2000 (Write) and during an information holding (Hold) step in which the terminals 30 are isolated from the bias unit 40.
- Read read operations
- write operation 2000 Write
- Hold information holding
- the trend of the overall impedance Z c n - calculated during the read operations 1000 - shifts from an initial value - set with an erase operation 3000 (Reset) - to a programmed value - dependent on the programming value of the operating voltage VOP and on the programming time Tp.
- Reset erase operation 3000
- Tp programming time
- the processing unit 70 is configured to perform an erase operation 3000 before a write operation 2000.
- the processing unit 70 is configured to perform a read operation 1000 to evaluate whether the initial state Mo of the ferrofluid is to be changed with an erase operation 3000 - to store a logical zero a write operation 2000 - to store a logical one - or do nothing - to keep the state of the ferrofluid and thus the stored bit of information unchanged.
- the system 1 allows information to be stored by changing a state of the ferrofluid 20 from an initial state to a final state by applying an electrical signal. Furthermore, the stored information can be read through the analysis of the scattering matrix, or the analysis of the impedance matrix, calculated by applying the probe signal SRF with a variable frequency in a predefined range - e.g., 10 MHz and 6 GHz.
- system 1 is not limited to storing individual bits, but it allows complex information to be stored and read.
- the Applicant has observed that it is possible to change the values of the parameters S, or of the impedances, at the terminals 30 in contact with the ferrofluid 30 by varying the amplitude of the operating voltage VOP and/ or the programming Tp and/ or erasure TE time periods. This allows to obtain a plurality of different states of the ferrofluid 20, which can be used to encode a plurality of information according to a coding criterion selectable according to the amount of information and the particular application specifications in which the system 1 is to be used.
- system 1 is able to perform a combination - for example, a convolution - of the stored data substantially contextual to the write operation 2000.
- the Applicant has observed that it is possible to progressively change the state of the ferrofluid 20 - and, hence, the values of the parameters S, or of the impedances determined during the read operation 1000 - by means of a desired sequence of write operations 2000. This possibility to change the state of the ferrofluid 20 and thus the stored information is exploited to encode a desired combination of the information.
- the system 1 is configurable to perform information processing directly in the memory - i.e., a capacity called in-memory computing.
- the system 1 may simply and effectively implement an artificial neuron of an artificial neural network.
- the system 1 can be configured to perform a multiplication and accumulation function or MAC - acronym for Multiply- Accumulate (MAC) -, which is a basic function for the neural networks and, more generally, in signal processing.
- MAC Multiply- Accumulate
- the system 1 may be configured to identify the graphical representation of a number selected from 0 to 9 - i.e., an identification operation 4000 of which Figure 7 is a flowchart.
- the numbers are represented graphically by means of an 8x8 pixel matrix that can assume a white or black colour, as illustrated in Figure 8.
- the graphical representation of a number to be analysed - that is, the input comprised to the system 1 - is encoded by a 64-bit word (step 4001).
- Figure 9 graphically illustrates the bit words for the numbers 0, 1, and 9 as a sequence of black and white blocks, indicated as serialized "0", serialized "1", and serialized "9” in Figure 9.
- Each bit of the word corresponding to a pixel of the 8x8 pixel matrix, and has logical value 1 (black block) if the corresponding pixel is part of the graphical representation of the number - i.e., black pixel - or logical value 0 (white block) in the opposite case - i.e., white pixel.
- the processing unit 70 is configured to apply a greater weight to the bits of the word corresponding to the pixels with logical value 1 in the 8x8 pixel matrix that graphically represents the number 1, with respect to the bits of the word corresponding to the pixels with logical value 0 of the same matrix.
- the weight is realized in the time domain, as described below in relation to Figures 9 and 10.
- the programming unit 70 controls the bias unit 50 to perform a sequence of write operations 2000 (step 4002), which comprises a write operation 2000 for each bit of a word to be analysed as schematically illustrated for the numbers 0, 1 and 9 in Figure 10 with the wording "Programming".
- the 64 bits of the word are stored in the ferrofluid sequentially - in particular, without interposing erase operations 3000 between writing one bit and the next.
- the bias unit 50 generates the operating voltage VOP at the programming value Vp if the bit corresponds to a pixel with logical value 1 in the 8x8 pixel matrix, or it holds the operating voltage VOP at the null value if the bit corresponds to a pixel with logical value 0 in the 8x8 pixel matrix.
- the programming value Vp is set equal to -VA and the erase value VE is set equal to +VA, i.e. opposite to the example of Figure 6.
- the bias unit 50 holds the operating voltage VOP for a first programming time period Tpi if the bit corresponds to a pixel with logical value 1 in the 8x8 pixel matrix which represents the number 1 to be identified. Conversely, if the bit corresponds to a pixel with logical value 0 in the 8x8 pixel matrix which represents the number 1 to be identified, the bias unit 50 holds the operating voltage VOP for a second programming time period Tp2.
- the first programming time period Tpi is greater than the second programming time period Tp2.
- At least one of the overall impedances Z c i2 - Z c 22 determined during a read operation 1000 of the ferrofluid 20 in the programmed state M pi - corresponding to the graphical representation of the number 1 - assumes a value substantially different from the corresponding overall impedances Z c i2 - Z c 22 associated with the ferrofluid 20 in the programmed states M p o,2-9 - corresponding to the graphical representations of the other numbers - as visible in Figure 9.
- Figure 10 shows the trend of the overall impedance Z c 22 during the write 2000, read 1000 and erase 3000 operations of the numbers 0, 1 and 9.
- the processing unit 70 for identifying the number 1 reads (“Read” in Figure 10) the value of at least one of the overall impedances Z c i2 - Z c 22 at the end of the sequence of write operations (step 4003) and verifies the reaching or exceeding of a threshold value by the at least one impedance of the overall impedances Z c i2 - Z c 22 (decision step 4004), as illustrated in Figure 10 for the impedance Z22.
- the processing unit 70 identifies the number 1 (step 4005). Otherwise, if the at least one impedance of the overall impedances Z c i2 - Z c 22 does not exceed the threshold value (output branch N of step 4004), the erase operation 3000 ("Erase" in Figure 10, step 4006) is performed and a new graphical representation of a number is analysed, returning to step 4001.
- alternative embodiments (not illustrated) of the system may comprise a different number n of terminals (with n greater than 2).
- the number of parameters S or, equivalently, of impedance values increases quadratically, i.e. during the read operation, n 2 parameters S or impedance parameters are acquired as a function of the frequency.
- the system according to the embodiments of the present invention is adapted to store a large amount of information defining a suitable encoding of the information based on the parameters S or impedance values.
- the system may comprise more than one VNA and/or a bias unit coupled to one or more respective pairs of terminals.
- the processing unit coordinates the operation of VNA and bias unit to perform the abovedescribed write, read, and erase operations mutatis mutandis.
- the system may comprise two or more containers, each of which encloses a respective amount of ferrofluid that is programmed and read by the units of the system.
- one or more of the steps of the operations described above can be performed in parallel with each other - such as the steps relating to the read and write operations - or in a different order from the one presented above.
- one or more optional steps can be added or removed from one or more of the operations described above.
- the above-described operations form a method for controlling an information storage system based on a ferrofluid.
- the information stored in the ferrofluid is decoded by directly analysing the amplitude of the scattering parameters as a function of the frequency, i.e. the modulus of the scattering parameters as a function of the frequency, instead of calculating the impedance values.
- the processing unit is configured to modify a weight to be attributed to each stored bit of information by means of a modulation of the amplitude of the operating voltage, in particular by modulating the bias voltage between two or more voltage values, each proportional to a different weight to be applied to the bit of information according to a predetermined rule.
- system according to the embodiments of the present invention is not limited to storing information in binary format, nor in digital format.
- the system according to the embodiments of the present invention can be configured to store information according to various encodings - even non-standardized or proprietary - without requiring substantial modifications.
- the processing unit may be realized as a single device, as a distributed network of devices, and may comprise one or more virtual machines.
- system can be configured to identify an image different from a number and/ or represented with a different resolution, greater or less than, of 8 bits, or still represented analogically in the continuum spectrum.
- the system may be configured to identify a desired pattern in a sequence of information in a simple and efficient manner.
- a complex apparatus comprising more than one system according to the present invention each configured to store and possibly process information in parallel to the other systems.
- a plurality of systems according to the embodiments of the present invention may form a neural network.
- the information in the ferrofluid can be encoded/ decoded by means of a function - of the plurality of the scattering parameters or of the plurality of the calculated impedance values - based on Shannon entropy, Kolmogorov entropy or on the Kullback-Leibler divergence. More generally, the information in the ferrofluid may be encoded/ decoded by means of a function based on an aggregate representation of the complexity of the plurality of the scattering parameters or of the plurality of the calculated impedance values.
Landscapes
- Semiconductor Memories (AREA)
Abstract
The present invention concerns an information storage system (1). In particular, the system comprises a memory element (10, 20), a programming unit (50), adapted to store and erase information in the memory element (10, 20), and a reading unit (60), adapted to comprise an indication of the information stored in the memory element (10, 20). Advantageously, the memory element (10, 20) comprises a ferrofluid (20) enclosed in a container (10). In addition, the programming unit (50) and the reading unit (60) are electrically connected to the ferrofluid (20). The programming unit (50) is adapted to selectively change a state of the ferrofluid (20) by means of an electrical programming signal applied to the ferrofluid (20), wherein the state of the ferrofluid encodes information stored by the memory element.
Description
SYSTEM AND METHOD FOR STORING INFORMATION
DESCRIPTION
TECHNICAL FIELD
The present invention refers to the field of the electronic systems. In greater detail, the present invention refers to a memory system, in particular comprising a memory element in the liquid state (in the sense of physical aggregation state), and a relative control method for performing storage, reading and processing of the information stored in the system.
BACKGROUND
In the information sector, there is a constant drive to increase the density of integrable solid-state devices capable of storing information and performing calculations.
In particular, the miniaturization of the semiconductor-based devices is reaching the limit of the so-called Moore's law, an event that has led to the search for techniques for making electronic devices that allow the Moore's law to be overcome. For example, various types of nano- and atomic-scale devices are currently being researched and developed, for example nanowire field-effect transistors (nanowire FETs), spin FETs, tunnelling transistors, atomic switches, memristors, molecular switches, etc.
In parallel with this development of the technology, computational devices and methods are being researched, in particular the so-called in-memory processing/computing, which allow data stored in volatile memory to be processed at least in part, so as to overcome the limitations imposed by the need to transfer data from the volatile memory to one or more processing units. In fact, the capacity to quickly and efficiently manage and process large amounts of information is a fundamental feature in the applications of massive data analysis, artificial intelligence, etc. that are taking on an increasingly important role in modern society.
Consequently, the need for innovative devices capable of storing information reliably and efficiently, as well as devices capable of performing a direct processing of the stored data, is strongly felt in the electronic systems sector and more generally in the IT systems sector.
OBJECTS AND SUMMARY OF THE INVENTION
Aim of the present invention is to overcome the drawbacks of the prior art.
In particular, aim of the present invention is to comprise a versatile and efficient
system for storing information and a relative control method.
A further aim of the present invention is to propose a system and a relative control method adapted to allow information to be processed simultaneously with its storage.
These and other objects of the present invention are achieved by a system incorporating the features of the annexed claims, which form an integral part of the present description.
According to a first aspect, the present invention is directed to a system for storing information.
The system comprises a memory element, a programming unit - adapted to store and erase information in the memory element - and a reading unit - adapted to comprise an indication of the information stored in the memory element.
Advantageously, the memory element comprises a ferrofluid enclosed in a container. In particular, the programming unit and the reading unit are electrically connected to the ferrofluid and the programming unit is adapted to selectively change a state of the ferrofluid by means of an electrical programming signal applied to the ferrofluid. The state of the ferrofluid therefore encodes the information stored by the memory element.
Thanks to the use of the ferrofluid it is possible to store information in an extremely versatile structure. In fact, the shape of the container of the ferrofluid can be any, making the system suitable in all those applications where there are stringent dimensional requirements, in particular where the classic electronic boards are not usable - for example, in aerospace, maritime applications, etc. By way of non-exhaustive example, the space launchers are for example reported, typically cylindrical in shape, which make available surfaces whose curvature hardly lends itself to integrating classic rigid panels.
A clear advantage offered by this invention is represented by the state of aggregation of the physical system: in fact a liquid, being intrinsically amorphous, lends itself to tolerating environmental conditions prohibitive for the conventional systems based on the (crystalline solid) semiconductors, such as for example strong doses of ionizing radiations, cosmic rays, X-rays and gamma rays, high pressures, high temperatures, high magnetic fields, typical of the extreme environments. These extreme environments can be both natural (Van Allen belts, outer space, proximity of planetary plasma bodies, proximity of magnetic field sources such as Jupiter or Saturn, proximity of solar wind sources such as the Sun) and artificial (instruments for biomedical investigation and
material characterisation, synchrotrons or particle accelerators in general, plasma sources, nuclear fuel depots, nuclear reactors, etc.). In both cases, it is advantageous, when not strictly necessary, to have storage data capacity and to perform on-site calculations, a task that is accomplished with great difficulty by the conventional systems mentioned above.
Furthermore, the Applicant has determined that it is possible to change a state of the ferrofluid so as to store information even in high quantity in an extremely simple and reliable manner.
Preferably, the ferrofluid is a water-based ferrofluid.
The water-based ferrofluids are adapted to store information, do not pose safety problems for humans, are relatively simple at the composition level, can be synthesized through an economic procedure, and are easily usable in processes of production of electronic devices.
In one embodiment, the system comprises at least two electrical terminals in contact with the ferrofluid inside the container and connected to the reading unit.
Preferably, the terminals are made of, or are at least partially coated with, an inert metal, for example gold.
The use of terminals in direct contact with the ferrofluid, i.e. with at least a part of the contacts immersed in the ferrofluid, allows the state in the ferrofluid to be programmed and read precisely and accurately.
In one embodiment, the reading unit is adapted to transmit a probe signal through at least one electrical terminal and to calculate a plurality of scattering parameters referred to the at least two electrical terminals, due to the propagation of the probe signal in the ferrofluid.
Preferably, the reading unit is adapted to generate the probe signal with a variable frequency in a predefined frequency range with a predefined step and to acquire a plurality of scattering parameters for each frequency of the probe signal in the frequency interval.
Even more preferably, the frequency range extends from 10 MHz to 6 GHz. Even more preferably, the step with which the frequency of the probe signal is varied is substantially equal to 10 MHz.
The Applicant has determined that the scattering parameters measured at the terminals in contact with the ferrofluid depend on the current state of the ferrofluid. In other words, the scattering parameters allow to decode, in a precise, accurate and reliable manner, information stored in the ferrofluid. In
particular, the stored information may have a complexity varying from a single bit to several bits based on a methodology with which the state of the ferrofluid is modified to store the information and on the methodology with which the scattering parameters are used to decode the information stored in the ferrofluid.
In one embodiment, the reading unit is adapted to determine a value of the modulus of the scattering parameters of the plurality of scattering parameters and to comprise an indication of the information stored in the memory element based on at least one of the values of the modulus of the scattering parameters.
The Applicant has determined that an analysis of the modulus of the scattering parameters is sufficient to correctly interpret the information stored in the ferrofluid, thereby substantially limiting the computational load necessary to decode the information stored in the ferrofluid.
In one embodiment, the reading unit is adapted to calculate a plurality of impedance values of the ferrofluid observed by each of the electrical terminals starting from the plurality of calculated scattering parameters.
Preferably, the reading unit is adapted to calculate a plurality of overall impedance values according to the formula:
where Zxy(z) is the impedance between terminal x and terminal y calculated with respect to the z-th frequency step of the probe signal, Zc xy is the overall impedance between terminal x and terminal y of the at least two terminals, N is the number of steps z with which the probe signal passes from an initial value of the frequency interval to a final value thereof.
The Applicant has determined that the analysis of the impedances, preferably of the overall impedances defined above, allows to decode in a simple and effective way the information stored in the ferrofluid.
Alternatively, it is possible to encode/ decode the information differently. For example, the information in the ferrofluid can be encoded/ decoded by means of a function - of the plurality of the scattering parameters or of the plurality of the calculated impedance values - based on Shannon entropy, Kolmogorov entropy or on the Kullback-Leibler divergence. More generally, the information in the ferrofluid may be encoded/ decoded by means of a function based on an aggregate representation of the complexity of the plurality of the scattering parameters or of the plurality of the calculated impedance values.
In one embodiment, the reading unit comprises a vector network analyzer.
The use of a vector network analyzer makes it possible to determine the scattering and, possibly, impedance parameters in a simple and reliable manner.
A different aspect of the present invention concerns a method for controlling an information storage system. The system controlled by the method comprises a memory element, a programming unit, and a reading unit.
Advantageously, the method comprises the step of applying a direct voltage on a ferrofluid enclosed in a container comprised in the memory element, by means of the programming unit. This changes a collective state of the ferrofluid, encoding information in the memory element.
The presented method allows to efficiently program the system according to one of the embodiments described above.
In one embodiment, the step of applying a DC voltage on a ferrofluid comprises selecting at least one between a DC voltage amplitude value and a duration for which the DC voltage is applied in order to bring the state of the ferrofluid to a desired state.
By acting on the amplitude and/ or on the time of the programming voltage, it is possible to process information while it is being stored in the ferrofluid.
In addition or alternatively, the method comprises performing a sequence of write operations, each of which comprises applying a voltage with amplitude or for a specific duration. In other words, each write operation adds a portion of information to the overall information stored in the ferrofluid. Consequently, thanks to the sequence of write operations it is possible to store an overall information that is the result of the combination - for example, a superposition of effects or a convolution - of a plurality of portions of information.
In one embodiment, the method comprises the step of determining the state of the ferrofluid by measuring a response of the ferrofluid to a frequency signal applied to the ferrofluid, by means of the reading unit, and providing an indication of the information stored in the memory element based on said response.
Preferably, the response of the ferrofluid is measured in terms of a plurality of scattering and/ or impedance parameters measured at least at a pair of terminals to which it is connected.
The processing of the scattering parameters to decode the information stored - even with high complexity - in the ferrofluid allows to obtain the capacity to decode the information stored in the ferrofluid in a reliable manner, similar to
what has been exposed above.
A different aspect of the present invention concerns an apparatus comprising at least an information storage system according to one of the embodiments described above.
A different aspect of the present invention concerns a neural network made with a plurality of information storage systems according to one of the embodiments described above, each of which is configured to operate like at least one artificial neuron of the artificial neural network.
Further features and purposes of the present invention will become more evident from the description below.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be described below with reference to some examples, comprised for explanatory and non-limiting purposes, and illustrated in the annexed drawings. These drawings illustrate different aspects and embodiments of the present invention and reference numerals illustrating structures, components, materials and/or similar elements in different drawings are indicated by similar reference numerals, where appropriate.
Figure 1 is a block diagram of the information storage system according to an embodiment of the present invention;
Figure 2 is a flowchart of an operation for reading information stored in the system of Figure 1;
Figure 3 is a flowchart of an operation for writing information in the system of Figure 1;
Figure 4 is a flowchart of an operation for erasing information stored in the system of Figure 1;
Figure 5 is a flowchart of an alternative operation for erasing information stored in the system of Figure 1;
Figure 6 is a graph of the trend of voltages and impedances in the system of Figure 1 during the execution of the read, write and erase functions;
Figure 7 is a flowchart of an operation for identifying desired information according to an embodiment of the present invention;
Figure 8 illustrates graphical representations of the numbers from 0 to 9 used as input information for the identification operation of Figure 7;
Figure 9 conceptually illustrates bit words encoding the graphical
representations of Figure 8, and
Figure 10 is a graph of the trend of voltages and impedances in the system of Figure 1 during the execution of the identification operation of Figure 7.
DETAILED DESCRIPTION OF THE INVENTION
While the invention is susceptible to various modifications and alternative constructions, certain preferred embodiments are shown in the drawings and are described hereinbelow in detail. It must in any case be understood that there is no intention to limit the invention to the specific embodiment illustrated, but, on the contrary, the invention intends covering all the modifications, alternative and equivalent constructions that fall within the scope of the invention as defined in the claims.
The use of "for example", "etc.", "or" indicates non-exclusive alternatives without limitation, unless otherwise indicated. The use of "includes" means "includes, but not limited to" unless otherwise indicated.
With reference to Figure 1 there is illustrated a liquid-state memory system according to an embodiment of the present invention, referred to briefly as 'system 1' hereinafter.
The system 1 comprises a container 10 for a fluid, preferably watertight, containing a ferrofluid 20. In the considered non-limiting embodiment, the container 10 is made of Acrylonitrile-Butadiene-Styrene (ABS) and the ferrofluid 20 is a water-based ferrofluid, for example EMG 601P produced by FerroTec - having the following salient parameters: saturation magnetization (Ms) 44 mT, viscosity @ 27°C <5 mPa s, and density @ 25°C 1.34 103 kg/ m3. In a non-limiting embodiment, the container 10 contains a volume of ferrofluid 20 between 1 m and 10 ml, for example substantially equal to 5 ml.
A plurality of electrically conductive terminals 30 - two in the example of Figure 1 - pass through the container 10 so as to enter into - and remain in - contact with the ferrofluid 20. Preferably, the electrical terminals are made of, or at least coated with, an inert material, for example gold (Au).
Each of the terminals is connected to a frequency division multiplexing device, for example a bias tee 40, configured to maintain separate a DC voltage bias signal PDC, comprised by a bias unit 50, and one or more frequency probe signals SRF, generated by a reading unit, a frequency analysis unit in the embodiments of the present invention, for example a vector network analyzer or VNA 60.
In particular, the bias unit 50 is connected to the low-frequency input terminals
of at least one pair of bias tees 40 so as to apply the bias signal PDC to the ends of the corresponding terminals 30 connected to the output terminals of the bias tees 40 and in contact with the ferrofluid 20. Furthermore, the VNA 60 is connected to the high-frequency input terminals of the bias tees 40 in order to apply to the ends of two or more terminals 30 one or more probe signals SRF at a desired frequency band - between 10 MHz and 6 GHz with a step of 10 MHz in the example considered - and to detect an impedance value Z - or a parameter value S - at the ends of the same terminals 30.
Both the bias unit 50 and the VNA 60 are connected to a processing unit 70, which is configured to govern the operation of the system 1 according to one or more operations described hereinafter in the present description. For example, the processing unit 70 may comprise one or more processors, microprocessors, microcontrollers, ASICs, FPGAs, DSPs, or the like, one or more non-volatile and volatile memory elements. The processing unit 70 may comprise a user interface 80 - comprised with input/ output systems - and/ or a modem, or other similar element, in order to allow an exchange of data with a user terminal 90.
The system 1 is adapted to write, read and erase a bit of information in the ferrofluid 20 according to the read 1000 (Read), write 2000 (Write) and erase 3000 (Reset) operations, of which Figures 2, 3 and 4 are respective flow diagrams, described below and of which Figure 5 illustrates qualitatively the trend of the values of an operating voltage VOP, of the probe signal SRF and of an impedance Zcn overall which is associated with the ferrofluid 20 in operation during a plurality of read, write and erase operations.
The read operation 1000 comprises that the VNA 60 injects a probe signal SRF through the terminals 30 into the ferrofluid 20 (step 1001) and measures the corresponding reflected signals transmitted to the terminals 30 (step 1002). In particular, the probe signal SRF is injected with a variable frequency in the operating frequency range of the VNA60 starting from the minimum value (fmin = 10 MHz) until reaching the maximum value (fMAX = 6 GHz), i.e. 599 different frequency values considering a step Af of 10 MHz. In other words, the VNA performs a 'sweep' in frequency with step Af equal to 10 MHz in the range 10 MHz - 6 GHz.
Based on the ratio between the signal reflected by the ferrofluid 20 and the probe signal SRF and the ratio between the signal transmitted through the ferrofluid and the probe signal SRF the VNA 60 determines a scattering matrix (step 1003). The scattering matrix comprises a respective transmission and reflection parameter S of the probe signal SRF at the terminals 30 (four parameters S12, S21, Su and S22 in
the case considered of 2 terminals 30) for each of the frequency values assumed by the probe signal SRF.
Preferably, the VNA 60 calculates a matrix of equivalent impedances of the ferrofluid 20 (four impedance values Z12, Z21, Z11 and Z22 in the case considered of 2 terminals 30) associated with the transmission and reflection from the probe signal SRF. In this case, from the modulus of the scattering parameters S11-S22 the values of the modulus of the impedance values Z12, Z21, Z11 e Z22 are calculated as a function of the frequency.
For example, the impedance values Z12, Z21, Z11 and Z22 are calculated using the following relationships:
where As = (1 - S11) · (1 — S22) — S21 · S12and Zo is a base impedance value, for example, set equal to 50 as is typical in the radio frequency systems.
Subsequently, overall impedance values Zc12, Zc21, Zc11 and Zc22 are calculated, such as:
∀i: Δfi = Δfi+1 = Δf, (5) fMAX - fmin = N f , (6)
i.e. each overall impedance Zc12, Zc21, Zc11 and Zc22 corresponds to the summation of the impedance values calculated during the sweep from fMAX to fmin with step Af.
In case a single bit of information is stored, the processing unit 70 compares the overall impedances Zc12 - Zc22 calculated with a set of overall impedances measured in an unprogrammed state of the ferrofluid 20 (decision step 1004) and, when at least one of the calculated complex impedances Zc12 - Zc22 differs from a corresponding one of the overall impedances in the unprogrammed state of the ferrofluid 20 (output branch Y of step 1004), it identifies a bit at logical value one
(step 1005), namely that the ferrofluid 20 is in a programmed state. Otherwise, when the calculated complex impedances Zci2 - Zc22 correspond to the overall impedances in the unprogrammed state of the ferrofluid 20 (output branch Y of step 1004), the processing unit 70 determines that the ferrofluid 20 stores one bit at the logical value zero, i.e. in an unprogrammed state (step 1006).
The write operation 2000 comprises changing a state of the ferrofluid 20 by applying, to the terminals 30, an operating DC voltage VOP at a predetermined programming value Vp.
In the considered embodiment, the write operation 2000 comprises performing a read operation 1000 to determine an initial state Mo of the ferrofluid 20 (step 2001).
Subsequently, the operating voltage VOP is brought to the programming value Vp (step 2002) and is applied between the terminals 30 for a predetermined programming time period Tp (step 2003). For example, the operating voltage VOP has a programming value Vp equal to +VA = +3.3V, i.e. compatible with the supply value normally used in electronics, in particular in the standard CMOS technology.
At the end of the programming time Tp the operating voltage VOP is cancelled (step 2004) and the ferrofluid 20 is in a programmed state Mp different from the initial state Mo. In other words, at least one of the overall impedances Zci2 - Zc22 associated with the ferrofluid 20 in the programmed state Mp differs from the overall impedances Zci2 - Zc22 associated with the ferrofluid 20 in the initial state Mo.
In this situation, the system 1 enters a holding condition in which the terminals 30 are held at high impedance for a desired holding period Th. In particular, the Applicant has determined that the system 1 has an information retention time dependent - e.g., inversely proportional - on the intensity of mechanical stresses to which the ferrofluid 20 is subjected and dependent on the resolution - i.e., on the difference (in modulus) between the values of the overall impedances Zci2 - Zc22 associated with different storable information (the smaller the difference between the values, the smaller the information retention will be).
Optionally, one or more read operations 1000 may be performed in parallel to the programming of the ferrofluid 20 and/ or during the holding condition, in order to monitor the state of the ferrofluid 20 during the write operation 2000 and/ or during the holding period Th.
Finally, the erase operation 3000 comprises applying the operating DC voltage
VOP at a predetermined erase value VE.
In detail, the operating voltage VOP is brought to the erase value VE (step 3001) and is applied between the terminals 30 for a predetermined programming time period TE (step 3002). For example, the operating voltage VOP has an erase value VE substantially equal to -VA = -3.3V, again, compatible with the supply value normally used in electronics, in particular in the standard CMOS technology.
At the end of the erase time TE the operating voltage VOP is cancelled and the terminals 30 are brought to high impedance (step 3003) - or a write operation 2000 is initiated - and the ferrofluid 20 is in an erased state Me, for example, corresponding to the initial state Mo.
Optionally, an alternative erase operation 3100 comprises applying the operating voltage VOP to the terminals 30 by alternating the value thereof between the programming value Vp and the erase value VE for respective decreasing time periods (step 3101) until the desired initial state Mo is reached when the programming voltage VOP is cancelled and the terminals 30 are brought to high impedance (step 3102) - or a write operation 2000 is initiated. The Applicant has determined that varying the value of the operating voltage VOP allows to quickly reach the values of the overall impedances Zci2 - Zc22 in the erased state Me, in particular, faster than holding the operating voltage VOP at the erase value VE. For example, the number of voltage variation and the duration of each time period of application of the programming voltage values Vp and of erasure VE depends on the programmed state Mp or initial state Mo in which the ferrofluid 20 is located at the time instant prior to the start of the erase operation 3100 and the erased state Me to be reached at the end thereof.
As will be apparent to the skilled person, Figure 6 illustrates a plurality of read operations 1000 (Read) performed during the write operation 2000 (Write) and during an information holding (Hold) step in which the terminals 30 are isolated from the bias unit 40. During these operations the trend of the overall impedance Zcn - calculated during the read operations 1000 - shifts from an initial value - set with an erase operation 3000 (Reset) - to a programmed value - dependent on the programming value of the operating voltage VOP and on the programming time Tp. Which is held substantially unchanged, or varies within a tolerated range of variation during the holding step (Hold).
Preferably, in case a single bit of information is stored, the processing unit 70 is configured to perform an erase operation 3000 before a write operation 2000. Alternatively, the processing unit 70 is configured to perform a read operation 1000 to evaluate whether the initial state Mo of the ferrofluid is to be changed
with an erase operation 3000 - to store a logical zero
a write operation 2000 - to store a logical one - or do nothing - to keep the state of the ferrofluid and thus the stored bit of information unchanged.
More generally, the system 1 allows information to be stored by changing a state of the ferrofluid 20 from an initial state to a final state by applying an electrical signal. Furthermore, the stored information can be read through the analysis of the scattering matrix, or the analysis of the impedance matrix, calculated by applying the probe signal SRF with a variable frequency in a predefined range - e.g., 10 MHz and 6 GHz.
In other words, the system 1 is not limited to storing individual bits, but it allows complex information to be stored and read.
In fact, the Applicant has observed that it is possible to change the values of the parameters S, or of the impedances, at the terminals 30 in contact with the ferrofluid 30 by varying the amplitude of the operating voltage VOP and/ or the programming Tp and/ or erasure TE time periods. This allows to obtain a plurality of different states of the ferrofluid 20, which can be used to encode a plurality of information according to a coding criterion selectable according to the amount of information and the particular application specifications in which the system 1 is to be used.
Furthermore, the system 1, according to the considered embodiment, is able to perform a combination - for example, a convolution - of the stored data substantially contextual to the write operation 2000.
In fact, the Applicant has observed that it is possible to progressively change the state of the ferrofluid 20 - and, hence, the values of the parameters S, or of the impedances determined during the read operation 1000 - by means of a desired sequence of write operations 2000. This possibility to change the state of the ferrofluid 20 and thus the stored information is exploited to encode a desired combination of the information. In other words, the system 1 is configurable to perform information processing directly in the memory - i.e., a capacity called in-memory computing.
For example, the system 1 may simply and effectively implement an artificial neuron of an artificial neural network. In other words, the system 1 can be configured to perform a multiplication and accumulation function or MAC - acronym for Multiply- Accumulate (MAC) -, which is a basic function for the neural networks and, more generally, in signal processing.
For example, the system 1 may be configured to identify the graphical
representation of a number selected from 0 to 9 - i.e., an identification operation 4000 of which Figure 7 is a flowchart. In the example considered, the numbers are represented graphically by means of an 8x8 pixel matrix that can assume a white or black colour, as illustrated in Figure 8.
In this case, the graphical representation of a number to be analysed - that is, the input comprised to the system 1 - is encoded by a 64-bit word (step 4001). For example, Figure 9 graphically illustrates the bit words for the numbers 0, 1, and 9 as a sequence of black and white blocks, indicated as serialized "0", serialized "1", and serialized "9" in Figure 9. Each bit of the word corresponding to a pixel of the 8x8 pixel matrix, and has logical value 1 (black block) if the corresponding pixel is part of the graphical representation of the number - i.e., black pixel - or logical value 0 (white block) in the opposite case - i.e., white pixel.
In order to carry out the recognition of a desired number, for example number 1, the processing unit 70 is configured to apply a greater weight to the bits of the word corresponding to the pixels with logical value 1 in the 8x8 pixel matrix that graphically represents the number 1, with respect to the bits of the word corresponding to the pixels with logical value 0 of the same matrix. In the example considered the weight is realized in the time domain, as described below in relation to Figures 9 and 10.
The programming unit 70 controls the bias unit 50 to perform a sequence of write operations 2000 (step 4002), which comprises a write operation 2000 for each bit of a word to be analysed as schematically illustrated for the numbers 0, 1 and 9 in Figure 10 with the wording "Programming". In other words, the 64 bits of the word are stored in the ferrofluid sequentially - in particular, without interposing erase operations 3000 between writing one bit and the next. In particular, the bias unit 50 generates the operating voltage VOP at the programming value Vp if the bit corresponds to a pixel with logical value 1 in the 8x8 pixel matrix, or it holds the operating voltage VOP at the null value if the bit corresponds to a pixel with logical value 0 in the 8x8 pixel matrix. In the example of Figure 10, the programming value Vp is set equal to -VA and the erase value VE is set equal to +VA, i.e. opposite to the example of Figure 6.
Furthermore, the bias unit 50 holds the operating voltage VOP for a first programming time period Tpi if the bit corresponds to a pixel with logical value 1 in the 8x8 pixel matrix which represents the number 1 to be identified. Conversely, if the bit corresponds to a pixel with logical value 0 in the 8x8 pixel matrix which represents the number 1 to be identified, the bias unit 50 holds the operating voltage VOP for a second programming time period Tp2.
Advantageously, the first programming time period Tpi is greater than the second programming time period Tp2. In other words, a greater weight is attributed to each bit of the word stored in the ferrofluid 20 if the corresponding pixel in the graphical representation of the searched number 1 is at the logical value 1 - that is, it is a "weighed" graphical representation of the number 1 as indicated in Figures 9 and 10 by the wording "1" Weighted. This is also graphically illustrated in Figure 9, where the blocks of the words of bit 0, 1, and 9 that correspond with the pixels to logical value 1 in the 8x8 pixel matrix which represents the number one have a greater width than the pixels with logical value 0 in the same matrix.
In this way, at least one of the overall impedances Zci2 - Zc22 determined during a read operation 1000 of the ferrofluid 20 in the programmed state Mpi - corresponding to the graphical representation of the number 1 - assumes a value substantially different from the corresponding overall impedances Zci2 - Zc22 associated with the ferrofluid 20 in the programmed states M po,2-9 - corresponding to the graphical representations of the other numbers - as visible in Figure 9. In particular, Figure 10 shows the trend of the overall impedance Zc22 during the write 2000, read 1000 and erase 3000 operations of the numbers 0, 1 and 9.
Consequently, the processing unit 70 for identifying the number 1 reads ("Read" in Figure 10) the value of at least one of the overall impedances Zci2 - Zc22 at the end of the sequence of write operations (step 4003) and verifies the reaching or exceeding of a threshold value by the at least one impedance of the overall impedances Zci2 - Zc22 (decision step 4004), as illustrated in Figure 10 for the impedance Z22.
If the at least one impedance of the overall impedances Zci2 - Zc22 exceeds the threshold value (output branch Y of step 4004), the processing unit 70 identifies the number 1 (step 4005). Otherwise, if the at least one impedance of the overall impedances Zci2 - Zc22 does not exceed the threshold value (output branch N of step 4004), the erase operation 3000 ("Erase" in Figure 10, step 4006) is performed and a new graphical representation of a number is analysed, returning to step 4001.
However, it should be clear that the above examples must not be interpreted in a limiting sense and the invention thus conceived is susceptible of numerous modifications and variations.
For example, alternative embodiments (not illustrated) of the system may comprise a different number n of terminals (with n greater than 2). In this case,
the number of parameters S or, equivalently, of impedance values increases quadratically, i.e. during the read operation, n2 parameters S or impedance parameters are acquired as a function of the frequency.
Therefore, the system according to the embodiments of the present invention is adapted to store a large amount of information defining a suitable encoding of the information based on the parameters S or impedance values.
In addition, the system may comprise more than one VNA and/or a bias unit coupled to one or more respective pairs of terminals. In this case, the processing unit coordinates the operation of VNA and bias unit to perform the abovedescribed write, read, and erase operations mutatis mutandis.
Furthermore, in an alternative embodiment (not illustrated), the system may comprise two or more containers, each of which encloses a respective amount of ferrofluid that is programmed and read by the units of the system.
As will be apparent to the person skilled in the art, one or more of the steps of the operations described above can be performed in parallel with each other - such as the steps relating to the read and write operations - or in a different order from the one presented above. Similarly, one or more optional steps can be added or removed from one or more of the operations described above.
The above-described operations form a method for controlling an information storage system based on a ferrofluid.
In one embodiment, the information stored in the ferrofluid is decoded by directly analysing the amplitude of the scattering parameters as a function of the frequency, i.e. the modulus of the scattering parameters as a function of the frequency, instead of calculating the impedance values.
Still, nothing prevents from considering also the trend of the step of the scattering parameters in order to decode the information stored in the ferrofluid.
In an alternative embodiment, the processing unit is configured to modify a weight to be attributed to each stored bit of information by means of a modulation of the amplitude of the operating voltage, in particular by modulating the bias voltage between two or more voltage values, each proportional to a different weight to be applied to the bit of information according to a predetermined rule.
As will be apparent to the skilled person, the system according to the embodiments of the present invention is not limited to storing information in binary format, nor in digital format. In other words, the system according to the
embodiments of the present invention can be configured to store information according to various encodings - even non-standardized or proprietary - without requiring substantial modifications.
Naturally, all the details can be replaced with other technically-equivalent elements.
For example, the processing unit may be realized as a single device, as a distributed network of devices, and may comprise one or more virtual machines.
It will also be apparent to the skilled person that the system according to the embodiments described above can be configured to identify an image different from a number and/ or represented with a different resolution, greater or less than, of 8 bits, or still represented analogically in the continuum spectrum.
More generally, the system may be configured to identify a desired pattern in a sequence of information in a simple and efficient manner.
Still nothing forbids from providing a complex apparatus comprising more than one system according to the present invention each configured to store and possibly process information in parallel to the other systems. For example, a plurality of systems according to the embodiments of the present invention may form a neural network.
In other embodiments, it is possible to encode/ decode the information differently. For example, the information in the ferrofluid can be encoded/ decoded by means of a function - of the plurality of the scattering parameters or of the plurality of the calculated impedance values - based on Shannon entropy, Kolmogorov entropy or on the Kullback-Leibler divergence. More generally, the information in the ferrofluid may be encoded/ decoded by means of a function based on an aggregate representation of the complexity of the plurality of the scattering parameters or of the plurality of the calculated impedance values.
In conclusion, the materials used, as well as the contingent shapes and dimensions of the aforementioned devices, apparatuses and terminals, may be any according to the specific implementation requirements without thereby abandoning the scope of protection of the following claims.
The project from which this patent application derives has received funding from the research and innovation program of the European Union Horizon 2020, contract no. 964388.
Claims
1. System (1) for storing information including: a memory element (10,20), a programming unit (50) adapted to store and erase information in the memory element (10,20), and a reading unit (60) adapted to comprise an indication of the information stored in the memory element (10,20), characterized in that the memory element (10,20) comprises a ferrofluid (20) enclosed in a container (10), and in that the programming unit (50) and the reading unit (60) are electrically connected to the ferrofluid (20), wherein the programming unit (50) is adapted to selectively change a state of the ferrofluid (20) by means of an electrical programming signal applied to the ferrofluid (20), the state of the ferrofluid encoding an information stored by the memory element.
2. System (1) according to claim 1, wherein the ferrofluid is a water-based ferrofluid.
3. System (1) according to claim 1 or 2, further comprising at least two electrical terminals (30) in contact with the ferrofluid (20) inside the container (10) and connected to the reading unit (60), wherein the reading unit (60) is adapted to transmit a probe signal through at least one electrical terminal (30) and calculating a plurality of scattering parameters, due to the propagation of the probe signal in the ferrofluid (20), at the at least two electrical terminals (30).
4. System (1) according to claim 3, wherein the reading unit (60) is adapted to generate the probe signal with a variable frequency in a predefined frequency range, preferably between 10 MHz and 6 GHz, with a predefined step, preferably 10 MHz, and to acquire a respective plurality of scattering parameters for each frequency of the probe signal in the frequency interval.
5. System (1) according to claim 3 or 4, wherein the reading unit (60) is adapted to calculate a plurality of impedance values of the ferrofluid (20) observed by each of the electrical terminals (30) starting from the plurality of calculated scattering parameters.
6. System (1) according to claims 5 and 4, wherein the reading unit is adapted to calculate a plurality of overall impedance values according to the formula:
where Zxy(z) is the impedance between terminal x and terminal i/ calculated with respect to the z-th frequency step of the probe signal, Zc xy is the overall impedance between terminal x and terminal y of the at least two terminals, N is the number of steps z with which the probe signal passes from an initial value of the frequency interval to a final value thereof.
7. System (1) according to any one of claims 3 to 5, wherein the reading unit is adapted to determine the information encoded by the state of the ferrofluid (20) as a result of a function of the plurality of scattering parameters or of the plurality of calculated impedance values, wherein the function is based on an aggregated representation of the complexity of the plurality of scattering parameters or of the plurality of calculated impedance values, preferably a function based on Shannon entropy, Kolmogorov entropy or on the Kullback- Leibler divergence.
8. System (1) according to any one of claims 3 to 7, wherein the reading unit (60) comprises a vector network analyzer (60) adapted to generate the probe signal.
9. A method (1000;2000;3000;4000) for controlling an information storage system (1) comprising: a memory element (10,20), a programming unit (50), and a reading unit (60), the method including the step of by means of the programming unit (50) applying a direct voltage on a ferrofluid (20) enclosed in a container comprised in the memory element (10,20), thereby changing a state of the ferrofluid (20).
10. Method (1000;2000;3000;4000) according to claim 9, wherein the step of applying a DC voltage to a ferrofluid (20) comprises selecting at least one between a DC voltage amplitude value and a duration for which the DC voltage is applied in order to bring the state of the ferrofluid (20) to a desired state.
11. Method (4000) according to claim 10, wherein the step of applying a DC voltage to the ferrofluid (20) is performed iteratively, at each iteration selecting between a DC voltage amplitude value and a duration for which the DC voltage is applied as a function of a portion of information to be stored, wherein the state of the ferrofluid (20) is a convolution of the state changes of the ferrofluid (20) made by each iteration of the step of applying a direct voltage on the ferrofluid
12. Method (1000;2000;3000;4000) according to any one of the preceding claims 9 to 11, further comprising the step of, by means of the reading unit (60), determining the state of the ferrofluid (20) by measuring a response of the ferrofluid (20) to a frequency signal applied to the ferrofluid (20) and providing an indication of the information stored in the memory element (10,20) based on said response.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IT102022000022839A IT202200022839A1 (en) | 2022-11-07 | 2022-11-07 | SYSTEM AND METHOD FOR INFORMATION STORAGE |
| PCT/IB2023/060511 WO2024100479A1 (en) | 2022-11-07 | 2023-10-18 | System and method for storing information |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4616401A1 true EP4616401A1 (en) | 2025-09-17 |
Family
ID=84943881
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23828245.3A Pending EP4616401A1 (en) | 2022-11-07 | 2023-10-18 | System and method for storing information |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4616401A1 (en) |
| IT (1) | IT202200022839A1 (en) |
| WO (1) | WO2024100479A1 (en) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SE530367C2 (en) * | 2005-10-28 | 2008-05-13 | Vladislav Korenivski | Method and arrangement of an associative memory device based on a ferrofluid |
| EP4020481B1 (en) * | 2020-12-23 | 2025-10-08 | Imec Vzw | Memory device |
-
2022
- 2022-11-07 IT IT102022000022839A patent/IT202200022839A1/en unknown
-
2023
- 2023-10-18 WO PCT/IB2023/060511 patent/WO2024100479A1/en not_active Ceased
- 2023-10-18 EP EP23828245.3A patent/EP4616401A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024100479A1 (en) | 2024-05-16 |
| IT202200022839A1 (en) | 2024-05-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102928586B1 (en) | Method and device for precise data tuning for analog neural memory in artificial neural networks | |
| US8144508B2 (en) | Memory reading method for resistance drift mitigation | |
| Kim et al. | 3-bit multilevel operation with accurate programming scheme in tio x/al2o3 memristor crossbar array for quantized neuromorphic system | |
| Du et al. | Practical guide for validated memristance measurements | |
| KR102542532B1 (en) | Mixed-Signal Computing Systems and Methods | |
| US3975592A (en) | Electrographic system | |
| US3413543A (en) | Compensated ferroelectric hysteresiscope employing ground reference | |
| WO2016122525A1 (en) | Hamming distance computation | |
| US12174909B2 (en) | Method and apparatus for convolutional computation based on floating gate NVM array | |
| Guo et al. | An SBT-memristor-based crossbar memory circuit | |
| WO2024100479A1 (en) | System and method for storing information | |
| Matthies et al. | Topological characterization of dynamic chiral magnetic textures using machine learning | |
| US20220163576A1 (en) | Method and apparatus for on-chip power metering using automated selection of signal power proxies | |
| Hong et al. | Memristor-based adaptive analog-to-digital conversion for efficient and accurate compute-in-memory | |
| US10607664B2 (en) | Sub-threshold voltage leakage current tracking | |
| Ochs et al. | Wave digital emulation of charge-or flux-controlled memristors | |
| EP3956894B1 (en) | Memristor-based circuit and method | |
| Mladenov et al. | An improved memristor model and applications | |
| CN121909454A (en) | In-memory computation of neural networks stored in non-volatile memory using predictive block health assessment for non-volatile memory | |
| Dutta et al. | Direct interfacing circuit‐based e‐nose for gas classification and its uncertainty estimation | |
| Siegel et al. | QS4D: Quantization‐Aware Training for Efficient Hardware Deployment of Structured State‐Space Sequential Models | |
| Yumagulov et al. | Reference generator with load-dissipated power control system | |
| Ermini et al. | Memristor emulator using MCP3208 and digital potentiometer | |
| KR101304094B1 (en) | Device of scanning electromagnetic wave using structure of flash memory and method thereof | |
| US3105958A (en) | Memory systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20250319 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) |