In this chapter, we learn the fundamental concepts of spintronics. We will understand what electron "spin" is, why it matters for information technology, and how revolutionary the 1988 discovery of GMR was.
Learning Objectives
- Understand the basic concept of electron spin
- Explain the differences between spintronics and conventional electronics
- Understand the historical significance of GMR discovery
- Express spin polarization concepts through equations and code
- List application areas of spintronics
1.1 What is Electron Spin?
Electrons carry not only electric charge ($-e$) but also an intrinsic angular momentum called spin. Spin is a quantum mechanical property fundamentally different from classical "rotation," but similar in terms of magnetic behavior.
Basic Properties of Spin
- Spin Quantum Number: The electron spin quantum number is $s = 1/2$
- Magnetic Quantum Number: $m_s = +1/2$ (spin-up, ↑) or $m_s = -1/2$ (spin-down, ↓)
- Spin Angular Momentum: $S = \hbar\sqrt{s(s+1)} = \frac{\sqrt{3}}{2}\hbar$
- Spin Magnetic Moment: $\mu_s = -g_s \mu_B S/\hbar$ ($g_s \approx 2$ is the g-factor, $\mu_B$ is the Bohr magneton)
Key Point
Electron spin measurements always yield only two values: "up" or "down." This binary nature is why electron spin can be used as a carrier of digital information (0 and 1).
Code Example 1.1: Visualizing Spin States
"""
Visualizing electron spin states on the Bloch sphere
"""
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# Draw the Bloch sphere
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection='3d')
# Sphere mesh
u = np.linspace(0, 2 * np.pi, 50)
v = np.linspace(0, np.pi, 50)
x = np.outer(np.cos(u), np.sin(v))
y = np.outer(np.sin(u), np.sin(v))
z = np.outer(np.ones(np.size(u)), np.cos(v))
# Semi-transparent sphere
ax.plot_surface(x, y, z, alpha=0.1, color='blue')
# Spin-up state |↑⟩ = (1, 0)
ax.quiver(0, 0, 0, 0, 0, 1, color='red', arrow_length_ratio=0.1,
linewidth=3, label='|↑⟩ (spin-up)')
# Spin-down state |↓⟩ = (0, 1)
ax.quiver(0, 0, 0, 0, 0, -1, color='blue', arrow_length_ratio=0.1,
linewidth=3, label='|↓⟩ (spin-down)')
# Superposition state |ψ⟩ = (|↑⟩ + |↓⟩)/√2
ax.quiver(0, 0, 0, 1, 0, 0, color='green', arrow_length_ratio=0.1,
linewidth=3, label='|+⟩ = (|↑⟩+|↓⟩)/√2')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_title('Electron Spin States on the Bloch Sphere')
ax.legend()
plt.tight_layout()
plt.show()
# Expected output: 3D Bloch sphere with three spin state vectors displayed
1.2 The Birth of Spintronics: Discovery of GMR
In 1988, French physicist Albert Fert and German physicist Peter Grünberg independently discovered Giant Magnetoresistance (GMR). For this discovery, both scientists were awarded the Nobel Prize in Physics in 2007.
What is GMR?
GMR is a phenomenon where the electrical resistance of a ferromagnet/non-magnetic metal/ferromagnet multilayer structure changes dramatically depending on whether the magnetizations of the two ferromagnetic layers are parallel or antiparallel.
$$ \text{GMR ratio} = \frac{R_{AP} - R_P}{R_P} \times 100\% $$Here, $R_P$ is the resistance in parallel configuration and $R_{AP}$ is the resistance in antiparallel configuration. Early GMR devices showed resistance changes exceeding 50%, which was "giant" compared to the conventional Anisotropic Magnetoresistance (AMR) effect of a few percent.
Code Example 1.2: Simple GMR Model
"""
Simple GMR simulation using the two-current model
"""
import numpy as np
import matplotlib.pyplot as plt
def calculate_gmr(theta_deg):
"""
Calculate GMR resistance for a given magnetization angle
Parameters:
theta_deg: Relative angle between two ferromagnetic layers (degrees)
Returns:
Normalized resistance value
"""
theta = np.radians(theta_deg)
# Spin-dependent resistance parameters
r_up = 1.0 # Majority spin electron resistance (low)
r_down = 5.0 # Minority spin electron resistance (high)
# Parallel configuration (θ=0): Both channels have same resistance
# Antiparallel configuration (θ=180): High and low resistance in series
# Resistance for each spin channel (simplified model)
R_up = r_up + r_up * np.cos(theta/2)**2 + r_down * np.sin(theta/2)**2
R_down = r_down + r_down * np.cos(theta/2)**2 + r_up * np.sin(theta/2)**2
# Parallel resistance
R_total = (R_up * R_down) / (R_up + R_down)
return R_total
# Calculate angle dependence
angles = np.linspace(0, 180, 100)
resistances = [calculate_gmr(a) for a in angles]
# Normalization
R_P = calculate_gmr(0)
R_AP = calculate_gmr(180)
gmr_ratio = (R_AP - R_P) / R_P * 100
# Plot
plt.figure(figsize=(10, 6))
plt.plot(angles, resistances, 'b-', linewidth=2)
plt.xlabel('Magnetization Angle θ (degrees)', fontsize=12)
plt.ylabel('Resistance R (a.u.)', fontsize=12)
plt.title(f'Angular Dependence of GMR Effect (GMR ratio = {gmr_ratio:.1f}%)', fontsize=14)
plt.axhline(y=R_P, color='g', linestyle='--', label=f'R_P (parallel) = {R_P:.2f}')
plt.axhline(y=R_AP, color='r', linestyle='--', label=f'R_AP (antiparallel) = {R_AP:.2f}')
plt.legend()
plt.grid(True, alpha=0.3)
plt.tight_layout()
plt.show()
print(f"GMR ratio: {gmr_ratio:.1f}%")
# Expected output: GMR ratio: approximately 50-80% (depends on parameters)
1.3 Spintronics vs Conventional Electronics
Conventional electronics (silicon-based semiconductor technology) utilizes only the charge of electrons. In contrast, spintronics uses both charge and spin, enabling new functionalities and advantages.
| Aspect | Conventional Electronics | Spintronics |
|---|---|---|
| Information Carrier | Charge (presence/absence of electrons) | Charge + Spin (up/down) |
| Non-volatility | Information lost when power off | Information retained in magnetization (MRAM) |
| Power Consumption | High standby power | Instant-on capability, low power possible |
| Scaling | Limits due to quantum effects | Potential down to single-spin level |
| Materials | Si, SiO₂ dominant | Diverse: ferromagnetic metals, oxides |
Code Example 1.3: Calculating Spin Polarization
"""
Calculate spin polarization of ferromagnetic materials
"""
import numpy as np
def spin_polarization(n_up, n_down):
"""
Calculate spin polarization
P = (n↑ - n↓) / (n↑ + n↓)
Parameters:
n_up: Density of states for spin-up electrons
n_down: Density of states for spin-down electrons
Returns:
Spin polarization P (-1 ≤ P ≤ 1)
"""
return (n_up - n_down) / (n_up + n_down)
# Typical spin polarization of ferromagnetic materials
materials = {
'Fe (Iron)': (0.7, 0.3), # ~40% polarization
'Co (Cobalt)': (0.75, 0.25), # ~50% polarization
'Ni (Nickel)': (0.6, 0.4), # ~20% polarization
'CoFe Alloy': (0.8, 0.2), # ~60% polarization
'Half-metal (ideal)': (1.0, 0.0), # 100% polarization
}
print("=" * 50)
print("Spin Polarization of Ferromagnetic Materials")
print("=" * 50)
for material, (n_up, n_down) in materials.items():
P = spin_polarization(n_up, n_down)
print(f"{material:20s}: P = {P*100:5.1f}%")
print("=" * 50)
print("\nNote: Half-metals (e.g., La0.7Sr0.3MnO3) have")
print("density of states for only one spin at the Fermi level")
# Expected output:
# Fe (Iron) : P = 40.0%
# Co (Cobalt) : P = 50.0%
# Ni (Nickel) : P = 20.0%
# CoFe Alloy : P = 60.0%
# Half-metal (ideal) : P = 100.0%
1.4 Application Areas of Spintronics
Spintronics is already used in many practical devices, with further developments expected in the future.
Applications)) Memory Devices HDD Read Heads MRAM STT-MRAM SOT-MRAM Sensors Magnetic Sensors Biosensors Position Sensors Logic Spin FET Spin Logic Circuits Neuromorphic Chips Quantum Tech Spin Qubits Quantum Communication Quantum Sensing
Key Applications
- Hard Disk Read Heads: Since 1997, GMR-based read heads have contributed to increased HDD recording density
- MRAM (Magnetoresistive RAM): Next-generation memory with non-volatility, high speed, and high endurance
- Magnetic Sensors: Widely used in automobiles, smartphones, and industrial equipment
- Spin Qubits: Using electron spins in semiconductors for quantum information processing
1.5 Why Spintronics Now?
Conventional silicon-based electronics has continued miniaturization following Moore's Law, but faces the following challenges:
- Quantum Effects: When transistor size goes below a few nm, quantum effects like tunneling become significant
- Increased Power Consumption: Leakage current increases standby power
- Heat Dissipation: Thermal issues from high-density integration
Spintronics is expected as one solution to these challenges:
- Non-volatility: Information retained even when power is off (zero standby power)
- Fast Operation: Spin reversal occurs on nanosecond to picosecond timescales
- New Physics: New device concepts utilizing spin in addition to charge
Code Example 1.4: Comparing Spin Relaxation Times
"""
Comparison of spin relaxation times in various material systems
"""
import numpy as np
import matplotlib.pyplot as plt
# Typical spin relaxation times (room temperature)
materials = {
'Cu (Copper)': 10e-12, # ~10 ps
'Al (Aluminum)': 100e-12, # ~100 ps
'Ag (Silver)': 3e-12, # ~3 ps
'Au (Gold)': 40e-12, # ~40 ps
'GaAs': 100e-9, # ~100 ns
'Si': 1e-6, # ~1 μs
'Graphene': 1e-9, # ~1 ns
'CNT': 10e-9, # ~10 ns
}
# Prepare data
names = list(materials.keys())
times = list(materials.values())
# Plot on log scale
fig, ax = plt.subplots(figsize=(12, 6))
bars = ax.barh(names, times, color='steelblue')
ax.set_xscale('log')
ax.set_xlabel('Spin Relaxation Time τ_s (seconds)', fontsize=12)
ax.set_title('Spin Relaxation Times in Various Materials (Room Temp.)', fontsize=14)
# Add timescale references
ax.axvline(x=1e-12, color='r', linestyle='--', alpha=0.5, label='1 ps')
ax.axvline(x=1e-9, color='g', linestyle='--', alpha=0.5, label='1 ns')
ax.axvline(x=1e-6, color='b', linestyle='--', alpha=0.5, label='1 μs')
ax.legend()
plt.tight_layout()
plt.show()
print("\nMaterials with long spin relaxation times are")
print("suitable for long-distance spin transport.")
print("Semiconductors (Si, GaAs) and carbon materials are promising.")
Code Example 1.5: Calculating Spin Diffusion Length
"""
Calculate spin diffusion length
λ_s = √(D × τ_s)
D: Diffusion coefficient, τ_s: Spin relaxation time
"""
import numpy as np
def spin_diffusion_length(D, tau_s):
"""
Calculate spin diffusion length
Parameters:
D: Diffusion coefficient (m²/s)
tau_s: Spin relaxation time (s)
Returns:
λ_s: Spin diffusion length (m)
"""
return np.sqrt(D * tau_s)
# Typical material parameters
materials = {
'Cu': {'D': 1e-2, 'tau': 10e-12}, # D~10⁻² m²/s, τ~10 ps
'Al': {'D': 5e-3, 'tau': 100e-12}, # D~5×10⁻³ m²/s, τ~100 ps
'Ag': {'D': 2e-2, 'tau': 3e-12}, # D~2×10⁻² m²/s, τ~3 ps
'Py (Permalloy)': {'D': 5e-4, 'tau': 5e-12},
}
print("=" * 65)
print(f"{'Material':<15} {'Diffusion D':<20} {'Relaxation τ_s':<15} {'Diff. Length λ_s'}")
print("=" * 65)
for mat, params in materials.items():
lambda_s = spin_diffusion_length(params['D'], params['tau'])
print(f"{mat:<15} {params['D']:.0e} m²/s {params['tau']*1e12:5.0f} ps {lambda_s*1e9:.1f} nm")
print("=" * 65)
print("\nIn spintronic device design,")
print("device size must be smaller than the spin diffusion length.")
# Expected output:
# Cu 1e-02 m²/s 10 ps 10.0 nm
# Al 5e-03 m²/s 100 ps 22.4 nm
# etc.
Chapter Summary
Key Points
- Electron spin is a quantum mechanical angular momentum that takes two states: up (↑) and down (↓)
- Spintronics is a technology that uses both charge and spin for information processing
- GMR effect (discovered 1988) showed that resistance change due to magnetization configuration is "giant"
- Spin polarization $P = (n_↑ - n_↓)/(n_↑ + n_↓)$ characterizes a material's spin transport properties
- Spin diffusion length $\lambda_s = \sqrt{D\tau_s}$ is a key parameter for device design
Exercises
Problem 1 (Difficulty: Easy)
List the two possible values of the magnetic quantum number $m_s$ for electron spin and explain what each means.
Show Answer
$m_s = +1/2$ (spin-up, ↑) and $m_s = -1/2$ (spin-down, ↓). These correspond to the z-component of spin angular momentum being $+\hbar/2$ or $-\hbar/2$, representing whether the spin is pointing up or down in a magnetic field.
Problem 2 (Difficulty: Medium)
For a GMR device with a GMR ratio of 80%, if the resistance in parallel configuration is 100Ω, what is the resistance in antiparallel configuration?
Hint
Use the GMR ratio definition: $\text{GMR} = (R_{AP} - R_P)/R_P$
Show Answer
From $0.80 = (R_{AP} - 100)/100$, we get $R_{AP} = 180$ Ω
Problem 3 (Difficulty: Hard)
For a metal with diffusion coefficient $D = 2 \times 10^{-3}$ m²/s and spin relaxation time $\tau_s = 50$ ps, calculate the spin diffusion length and discuss whether this material is suitable for nanoscale spintronic devices.
Show Answer
$\lambda_s = \sqrt{D \times \tau_s} = \sqrt{2 \times 10^{-3} \times 50 \times 10^{-12}} = \sqrt{10^{-13}} = 10$ nm
With a spin diffusion length of 10 nm, spin information can be transported while maintained in devices smaller than 10 nm. This size is achievable with modern nanofabrication techniques (e.g., EB lithography), making this material suitable for nanoscale spintronic devices.
References
- Baibich, M. N., et al. (1988). "Giant Magnetoresistance of (001)Fe/(001)Cr Magnetic Superlattices." Physical Review Letters, 61(21), 2472-2475.
- Binasch, G., et al. (1989). "Enhanced magnetoresistance in layered magnetic structures with antiferromagnetic interlayer exchange." Physical Review B, 39(7), 4828-4830.
- Nobel Prize Committee (2007). "The Nobel Prize in Physics 2007." nobelprize.org