EN | JP | Last update: 2025-12-26

Chapter 1: What is Spintronics?

A New World of Electronics Through Electron Spin

Reading Time: 20-30 min Difficulty: Introductory Code Examples: 5 Exercises: 3

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


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

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.

timeline title History of Spintronics 1988 : GMR Discovery (Fert, Grünberg) 1995 : GMR Read Heads Commercialized (IBM) 2001 : Room Temperature Spin Injection 2004 : Spin Transfer Torque Discovery 2007 : Nobel Prize (GMR) 2010 : STT-MRAM Commercialization 2015 : Spin-Orbit Torque Research Intensifies 2020 : Next-Gen MRAM Scaling

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.

mindmap root((Spintronics
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

  1. Hard Disk Read Heads: Since 1997, GMR-based read heads have contributed to increased HDD recording density
  2. MRAM (Magnetoresistive RAM): Next-generation memory with non-volatility, high speed, and high endurance
  3. Magnetic Sensors: Widely used in automobiles, smartphones, and industrial equipment
  4. 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:

Spintronics is expected as one solution to these challenges:

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


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

  1. Baibich, M. N., et al. (1988). "Giant Magnetoresistance of (001)Fe/(001)Cr Magnetic Superlattices." Physical Review Letters, 61(21), 2472-2475.
  2. Binasch, G., et al. (1989). "Enhanced magnetoresistance in layered magnetic structures with antiferromagnetic interlayer exchange." Physical Review B, 39(7), 4828-4830.
  3. Nobel Prize Committee (2007). "The Nobel Prize in Physics 2007." nobelprize.org