Physically unclonable function based on domain wall memory and method of use
09859018 ยท 2018-01-02
Assignee
Inventors
- Swaroop Ghosh (Tampa, FL, US)
- Anirudh Srikant Iyengar (Centre Hall, PA, US)
- Kenneth Ramclam (Tampa, FL, US)
Cpc classification
B82Y10/00
PERFORMING OPERATIONS; TRANSPORTING
International classification
G11C11/16
PHYSICS
Abstract
A system and method for providing a physically unclonable function (PFU) is described. In operation, the method includes applying a domain wall shift pulse challenge to a plurality of nanowires of a domain wall memory (DWM) array, wherein the nanowires of the domain wall memory (DWM) array have process induced variations, resulting in pinning potentials which affect the velocity of the domain walls along the length of the nanowires. Following the application of the domain wall shift pulse, the response to the challenge is determined by measuring the response of the plurality of nanowires of the domain wall memory to the applied domain wall shift pulse challenge to provide a physically unclonable function (PUF) for the integrated circuit.
Claims
1. A method of providing a physically unclonable function (PUF) in a domain wall memory (DWM) array of an integrated circuit: applying a domain wall shift pulse challenge to a plurality of nanowires comprising a domain wall memory (DWM) array of an integrated circuit, wherein at least one of the plurality of nanowires comprises at least one process induced variation; and measuring the response of the plurality of nanowires of the domain wall memory to the applied domain wall shift pulse challenge to provide a physically unclonable function (PUF) for the integrated circuit.
2. The method of claim 1 further comprising, nucleating a domain wall in the plurality of nanowires of the domain wall memory (DWM) array prior to applying a domain wall shift pulse challenge to the plurality of nanowires.
3. The method of claim 1, wherein the domain wall shift pulse challenge comprises at least one of a pulse magnitude, a pulse width and a pulse frequency.
4. The method of claim 1, wherein the at least one process induced variation establishes a pinning potential within the at least one nanowire.
5. The method of claim 1, wherein applying a domain wall shift pulse challenge to a plurality of nanowires comprising a domain wall memory (DWM) array further comprises, applying the domain wall shift pulse challenge to two or more parallel paths of nanowires in the domain wall memory array.
6. The method of claim 5, wherein measuring the response of the plurality of nanowires of the domain wall memory to the applied domain wall shift pulse challenge to provide a physically unclonable function (PUF) for the integrated circuit further comprises, sensing an earliest arrival of the domain wall for each of the two or more parallel paths of nanowires in the domain wall memory array.
7. The method of claim 5, wherein the two or more parallel paths of nanowires comprises a plurality of nanowire shift stages and applying a domain wall shift pulse challenge further comprises: applying the domain wall shift pulse challenge to the nanowires of a first shift stage of the plurality of shift stages; sensing when the domain wall has traveled a length of the nanowires of the first shift stage; and relaying the shift pulse challenge to the nanowires of a second shift stage when the domain wall has traveled a length of the nanowires of the first shift stage.
8. The method of claim 1, wherein applying a domain wall shift pulse challenge to a plurality of nanowires comprising a domain wall memory (DWM) array further comprises, applying the domain wall shift pulse challenge substantially simultaneous to one or more of the plurality of nanowires in the domain wall memory array.
9. The method of claim 8, wherein measuring the response of the plurality of nanowires of the domain wall memory to the applied domain wall shift pulse challenge to provide a physically unclonable function (PUF) for the integrated circuit further comprises, sensing a bit cell state of one or more of the one or more nanowires based upon a memory address of the domain wall memory array after a predetermined amount of time has elapsed.
10. An integrated circuit comprising a physically unclonable function (PUF), the integrated circuit comprising: a domain wall memory (DWM) array comprising a plurality of nanowires, wherein at least one of the plurality of nanowires comprises at least one process induced variation; a domain wall shift pulse challenge circuit for applying a domain wall shift pulse challenge to two or more of the plurality of nanowires of the domain wall memory (DWM) array; and a measuring circuit for measuring the response of the two or more nanowires of the domain wall memory to the applied domain wall shift pulse challenge to provide a physically unclonable function (PUF) for the integrated circuit.
11. The integrated circuit of claim 10, wherein the domain wall shift pulse challenge comprises at least one of a pulse magnitude, a pulse width and a pulse frequency.
12. The integrated circuit of claim 10, wherein the at least one process induced variation establishes a pinning potential within the at least one nanowire.
13. The integrated circuit of claim 10, wherein the domain wall shift pulse challenge circuit further comprises circuitry for applying the domain wall shift pulse challenge to two or more parallel paths of nanowires in the domain wall memory array.
14. The integrated circuit of claim 13, wherein the measuring circuit further comprises an arbiter for sensing an earliest arrival of the domain wall for each of the two or more parallel paths of nanowires in the domain wall memory array.
15. The integrated circuit of claim 13, wherein the two or more parallel paths of nanowires comprises a plurality of shift stages and the domain wall shift pulse challenge circuit further comprises circuitry for applying the domain wall shift pulse challenge to the nanowires of a first shift stage of the plurality of shift stages, sensing when the domain wall has traveled a length of the nanowires of the first shift stage and relaying the shift pulse challenge to the nanowires of a second shift stage when the domain wall has traveled a length of the nanowires of the first shift stage.
16. The integrated circuit of claim 10, wherein the domain wall shift pulse challenge circuit further comprise circuitry for applying the domain wall shift pulse challenge substantially simultaneously to one or more of the plurality of nanowires in the domain wall memory array.
17. The integrated circuit of claim 16, wherein the measuring circuit further comprises at least one read head for sensing at least one bit cell state of the one or more nanowires based upon a memory address of the domain wall memory array after a predetermined amount of time has elapsed.
18. A device having a physically unclonable function (PUF), the device comprising: an integrated circuit; a domain wall memory (DWM) array comprising a plurality of nanowires embedded in the integrated circuit, wherein at least one nanowire comprises at least one process induced variation; a domain wall shift pulse challenge circuit for applying a domain wall shift pulse challenge to two or more of the plurality of nanowires of the domain wall memory (DWM) array; and a measuring circuit for measuring the response of the two or more nanowires of the domain wall memory to the applied domain wall shift pulse challenge to provide a physically unclonable function (PUF) for the integrated circuit.
19. The device of claim 18, wherein the domain wall shift pulse challenge comprises at least one of a pulse magnitude, a pulse width and a pulse frequency.
20. The device circuit of claim 18, wherein the at least one process induced variation establishes a pinning potential within the at least one nanowire.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
(2) Many aspects of the present disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
DETAILED DESCRIPTION OF THE INVENTION
(32) The present disclosure describes systems and methods for the application of spintronics for hardware security and authentication. In various embodiments, the present invention provides two novel spintronic physically unclonable functions (PUF): relay-PUF and memory-PUF. Both relay-PUF and memory-PUF exploit the process variation induced domain wall pinning in nanowires and the resulting slowdown to generate a response to a presented challenge. By exploiting the randomness of the domain wall velocity due to process variations induced pinning, an authentication key unique to the device at hand is generated. The basic premise is to trigger a domain wall race between nanowires in the memory array. Due to process variations, the domain wall velocity is detected by the read head of the memory array. In the case of a memory-PUF of the present invention, if the read head timing edge is fixed, then the domain walls in the nanowire that fail to reach the read head for a pre-determined fixed time quantum are assigned a value of 0. The nanowires who's domain walls successfully reach the read head within the time quantum are assigned a value of 1. Additionally, this concepts is used in a relay-PUF in accordance with an additional embodiment of the present invention, which concatenates nanowires in parallel configuration to create a relay-race, wherein the winning path will determine the response of the PUF. A race is in the domain wall memory array where the winning nanowires will read a 1 and the remaining nanowires will read a 0. This random pattern in the domain wall memory array is then used as the signature (memory-PUF). Process variation being random and unique to every integrated circuit, the key generated will vary from die-to-die.
(33) In additional embodiments, the present invention provides added controls to expand the set of challenge-response pairs, including variation in the shift pulse and the number of access ports. Due to the non-volatile nature of the domain wall memory array structure, the proposed memory-PUF provides a low-power solution, when compared to conventional SRAM-PUFs.
(34) Recent experimental results on spin valves such as, magnetic-tunnel junctions (MIT) and domain wall memory (DWM) have created enormous interest in spin based computations. The most promising effect is current induced modulation of magnetization dynamics discovered in MTJ and DWM as they facilitate energy-efficient logic and memory designs. Interaction between injected current and local magnetization creates several Spin-Transfer Torque (STT) mechanisms that are excellent sources of entropy in the magnet.
(35) In the present invention, the nonlinear dynamics of domain walls (DWs) in the physical magnetic system are leveraged for hardware security and authentication. Accordingly, this is the first effort known in the art towards employing spintronics for designing physically unclonable functions (PUFs).
(36) Magnetic memory is promising due to its high-density, low-power requirements and non-volatility. Domain wall memory (DWM) is a type of magnetic memory that provides high-density as a result of its ability to store multiple bits per bitcell. Additionally, DWM provides low standby power, as a result of the non-volatile nature of the device, fast access and superior endurance and retention.
(37) With reference to
(38) When two domains meet in the nanowire, a domain wall is formed where the magnetization changes orientation (shown schematically in
(39) With reference to
(40)
Where {right arrow over (m)} and {right arrow over (j)} are unit vectors representing local magnetic moment of the domain wall and current flow, respectively,
(41)
is the effective field, is a damping constant, is a non-adiabatic spin torque transfer term and u is a scalar quantity having the units of velocity. The term u depends upon the current density J, the spin polarization P, saturation magnetization M.sub.s and Bohr Magneton .sub.B as follows:
(42)
(43) In the above expression, h is a reduced plank's constant, e is electron charge and m.sub.e is electron mass. The final expressions of motion are given by:
(44)
(45) Where, {dot over (q)} and {dot over ()} are the time derivatives of the domain wall position and tilt angel, respectively. The position (q) 140 and tilt angle () 135 of the domain wall were modeled using Verilog-A and the values of the constants shown in Table 1 below.
(46) TABLE-US-00001 TABLE 1 MAGNETIC CONSTANTS USED FOR DOMAIN WALL DYNAMICS Parameter Value Varied (0.01-0.02) Varied (0.0-0.1) Bohr Magneton (.sub.B) 9.27e.sup.24 J/T M.sub.s 8e.sup.5 A/m Exchange Constant (A) 1.3e.sup.11 J/m Length (l)/Width (w)/Thickness (t) of nanowire 1e.sup.6 m/100e.sup.9 m/10e.sup.9 m 1.76e.sup.11/G s Demagnetization Field (H.sub.k) 1600-1800 Oe
(47) The above expressions don't consider the effect of process variation induced roughness of the nanowire on the domain wall dynamics. The process variations in the nanowire could create unwanted physical notches that could pin the domain wall or degrade its velocity. The magnitude of pinning energy is dependent upon the dimensions of the physical notch. The pinning energy can be modeled as follows:
(48)
(49) Where q.sub.pin is the pinning site, V.sub.pin is the pinning potential at that particular site location and d is the pinning width. Multiple pinning sites are modeled by changing q.sub.pin, accordingly. The LLG can be solved with the pinning sites in order to observe the impact of the domain wall dynamics.
(50) In practice, several techniques have been suggested to mitigate the effect of process variations in the nanowire. However, in the present invention, it is demonstrated that the inherent variations in the nanowire can be exploited to generate challenge-response pairs that can be used for authentication purposes. To understand the impact of these variations, two experiments were conducted. First, the pinning locations (q.sub.1/q.sub.2 and q.sub.1/q.sub.2/q.sub.3) are fixed and the pinning potential is set to be equal to 2000 J/m.sup.3. This condition is set to simulate the intentional pinning and depinning to study its impact on shift current. Next, the pinning potential is distributed to two and three equal and smaller pinning sites to simulate the impact of unintentional notches due to process variations.
(51) With reference to
(52) In order to study the impact of the process variations in the nanowire 200, the relationship between the depinning magnetic field (H.sub.th) and its dependency on notch depth (nt) 225 for the nanowire 200 is first modeled and then the presence of a single notch at q.sub.pin=0 under process variation induced notch width (d) 220 and depth (nt) 225 functions are studied. The variation in d 220 and nt 225 is assumed to be Gaussian with mean () and sigma () of (.sub.d, .sub.d)=(0, 6.66 nm) and (.sub.nt, .sub.nt)=(0, 50 nm). In this study, the supply voltage of the shift circuit is swept from 0 to 3V and the minimum voltage to dislodge the domain wall is plotted as shown in
(53) In accordance with the present invention, pinning of the domain wall, which results in randomness in the domain wall velocity, is exploited to generate an authentication key. The basic premise is to trigger a domain wall race between nanowires in the domain wall memory array. Due to variation in speed of the domain walls, as a result of the process induced variations in the different nanowires, the domain walls in each of the nanowires will reach the read head at different times. If the read timing edge is fixed, some nanowires will read 0 and the others will read 1 at the end of the shift and read operation. In the present invention, this random pattern in the domain wall memory is used as the authentication signature, or memory physically unclonable function (PUF).
(54)
(55) Physically unclonable functions (PUF) are commonly grouped under two general categories: strong and weak PUF. A strong PUF is one in which the challenge-response pairs grow exponentially with physical size and challenge parameters. In contrast, a weak PUF is one in which the challenge-response pairs grow linearly with the size of the implementation. In the present invention, the relay-PUF falls under the category of strong PUFs since, the number of challenge-response pairs can be exponentially increased by varying the pulse width, pulse magnitude and pulse frequency and the memory-PUF falls under the category of a weak PUF.
(56) With reference to
(57) In contrast with convention delay-PUF, where only the select signal to the switching circuitry (muxing) are used as challenges, the relay-PUF provides three additional sets of challenges, namely, shift pulse magnitude (PM), shift pulse width (PW) and shift pulse frequency (PF). As shown in
(58) In order to incorporate an adequate amount of randomness into the relay-PUF, a long chain of such nanowires are used. The first step of operation is to nucleate 450 the domain walls in all of the nanowires by applying a pulsed (+/) current, during which the write word line is activated. Following which, the shift signal 455 of stage-1, comprising NW1 410 and NW2 415, is activated, which triggers the domain wall race in stage-1. The read head is activated by pulsing the read word line. As soon as the resistance sensed by the read head changes (by sensing the magnetization change), the shifting of stage-1 stops. Once the read head detects the arrival of the domain wall (i.e. the domain wall reaches the end of the nanowire), the shift signal of stage-2, comprising NW3 420 and NW4 425, is activated, thus relaying the domain wall information to the next stage. The switching circuitry 445 determines whether the upper or lower domain wall will be fired in the following state.
(59) The response of the relay-PUF is determined by an arbiter 440 in accordance with the arrival of the domain walls in the parallel nanowires. If the top (bottom) domain wall reaches first, the response of the PUF is 0 (1). The switching of paths in association with shift pulse magnitude, pulse width and pulse frequency provides several layers of randomness in the race conditions. The outcome of the race is highly randomized as the process variation is different for different nanowires and the size and location of the bumps and dents are random in nature. Depending upon the path the domain wall takes, the outcome of the race can be varied. For example, a fast domain wall in one nanowire can travel through a nanowire with higher surface roughness that causes it to slow down and vice versa. A higher pulse width, pulse magnitude and pulse frequency will increase the speed of the domain wall, thus increasing the randomness of the response. The sequence of events in the relay-PUF is illustrated with reference to
(60) The response of the relay-PUF 400 is determined by an arbiter 440 that decides the earliest arrival of the domain walls in parallel nanowires 420, 425. If the top (bottom) domain wall reaches the read head first, the response of the PUF is 0 (1). The nanowire-to-nanowire variation of size and location of surface roughness affects the domain wall velocity, thereby increasing the randomness of the race outcome. Depending upon the path, a fast domain wall in one nanowire may travel slower through another nanowire having a higher surface roughness. In contrast, a slow domain wall can travel through a smoother nanowire in a following stage, thereby increasing its speed. The response is also dependent upon the shift pulse challenges. Higher pulse width, higher magnitude and higher frequency will change the speed of the domain wall and will thereby increase the randomness of the response.
(61) With reference to
(62)
(63) In an additional embodiment, the behavior of the relay-PUF can be altered by changing the challenge. To illustrate this embodiment, the relay-PUF is extended to a design including two parallel paths and six stages. The total number of challenges in this relay-PUF is 2.sup.5 (i.e., 32 challenges). Therefore, 32 different path combinations are possible in this design, any of which can trigger the race by producing a one bit response. As previously described, process variation within each nanowire can result in different pinning potentials for each notch. In a simulated embodiment, the pinning locations in the nanowire are assumed to be 0.5 m, 1 m and 1.5 m along the length of the 2 m nanowire, the mean pinning potential is assumed to be 500 J/m.sup.3 and a variation of 150 J/m3 (3 sigma) is added to the model to incorporate the effect of process variation-induced pinning potentials.
(64) In an additional embodiment, a memory-PUF is designed that is similar to an SRAM based PUF, wherein the entire memory bank is potentially used to obtain the authentication key unique to the integrated circuit. In this embodiment, the domain walls in all the nanowires in the memory banks are activated simultaneously and the race concludes when the read signal is asserted. The domain walls winning the race are set to 1 and the domain walls that do not win are set to 0. In contrast to the relay-PUF, the memory-PUF embodiment does not require any circuit overhead. Due to the non-volatile nature of the bitcell, the memory-PUF also exhibits low power requirements.
(65) In contrast to a convention SRAM-PUF, wherein the memory pattern challenge is solely dependent upon power-up and variations, the domain wall memory-PUF is dependent upon both process variations and shift pulse characteristics, including magnitude, width and frequency. In the memory-PUF, the challenges are the address of the array and the shift pulse. With reference to
(66) In a simulated embodiment of the memory-PUF, a 100100 domain wall memory array is assumed and the intra-die variation is modeled by varying the pinning depth and width as a Gaussian distribution with (.sub.d, .sub.d) to be (0, 5 nm) and (.sub.int, .sub.int) to be (0, 2 nm). In this simulated embodiment, three notches are assumed per nanowire at 0.5 m, 1 m and 1.5 m and the pinning potentials are determined from the notch dimensions.
(67) With reference to
(68)
(69) Additionally, it has been found that high current density in the nanowires results in Joule heating and a corresponding rise in temperature and performance degradation. The crucial challenge in domain wall memories is the reliable shift operation, which requires high current density (10.sup.10-10.sup.12 A/m.sup.2) to push the domain walls. The domain walls velocity degrades as the temperature increases over time. Therefore, the desired domain wall will fail to reach the read/write head, resulting in functional failure. The shift circuit is shared among the local columns, hence the entire column performs shift in parallel. The wordline is shared amongst all of the rows and activates the nanowires sharing the wordline. This approach enable fast access, but also causes an increase in temperature, as even the unselected nanowires in the columns are made to shift. If a subarray of the domain wall memory array contains n global columns and m rows, then a total of nm bits perform shift simultaneously, as shown in
(70) To analyze the die-to-die uniqueness in the response for the memory-PUF, the inter-die process corners (fast and typical) are modeled by skewing the nanowire width and thickness by a factor of 10% (i.e., fast corner is 10% to 10%).
(71) While the previous embodiment have been described utilizing only one read head and one write head, it is within the scope of the invention to have multiple read heads on a nanowire, which may be individually selected by a wordline (WL). As such, the selection of the read head can be used as another challenge tier. By utilizing multiple read heads in the memory-PUF embodiment, a larger number of responses can be achieved for the same size array or the number of responses can be maintained and the size of the memory can be reduced. The selection of read heads should be performed in an orderly fashion (i.e., head1-head2-head3 . . . ) to avoid the need to reset the domain walls before each analysis. Additionally, as illustrated in
(72) In various embodiments, the system of the present invention may be implemented in a Field Programmable Gate Array (FPGA) or Application Specific Integrated Circuit (ASIC). As would be appreciated by one skilled in the art, various functions of circuit elements may also be implemented as processing steps in a software program. Such software may be employed in, for example, a digital signal processor, microcontroller or general-purpose computer.
(73) For purposes of this description, it is understood that all circuit elements are powered from a voltage power domain and ground unless illustrated otherwise. Accordingly, all digital signals generally have voltages that range from approximately ground potential to that of the power domain.
(74) It should be emphasized that the above-described embodiments of the present disclosure are merely possible examples of implementations set forth for a clear understanding of the principles of the disclosure. Many variations and modifications can be made to the above-described embodiment(s) without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.