Generating A Magnetoresistive RAM (MRAM) Stack using the MRAM-Builder

Version: U-2022.12

Introduction

Magnetoresistive RAM has become of increased interest for memory technology in the recent years. This device uses magnetic states to store information. It writes and reads electronically, hence enables to integrate in semiconductor chips. Understanding the configuration at the atomic level will help to engineer different properties i.e. MagneticAnisotropyEnergy (MAE). To understand the correlation between changes in the atomic structure and stack composition, it is often needed to create multiple configurations. However constructing such configurations at DFT level is very time consuming. Here we use moment tensor potential (MTP) which is a machine learned interatomic potential, to construct such configurations. Machine learned interatomic potentials (MLIPs) have emerged popular in recent years since they can provide ab initio level of accuracy within a realistic timescale, even for relatively complex materials. More information about the MTP can be found here .

Workflow to generate the MgO-FeCo-MgO MRAM structure

We begin by setting up the atomic structure of a MgO-FeCo-MgO structure. Start by opening the MRAM Builder. The MRAM Builder can be found in the Nanolab. In the MRAM Builder do the following (see image below):

  • Press the Add icon. This will add new layers.

../../_images/MRAM-builder-1.png

In the layers you can do the following changes (see image below):

  • You can change the material, miller indices and the thickness of the layer.

  • If the material type is alloy then you can select the percentage of Cobalt.

  • After the changes you need to click Update. This will create multiple stack candidates with different ratio of strain vs. number of atoms.

../../_images/MRAM-builder-2.png

Next you can do the following steps:

  • you can select the configuration based on mean average strain and number of atoms from the mean average strain vs number of atoms plot.

  • You can also change the Displacement vector with the mouse wheel or arrow keys to move a certain layer laterally in the AB-plane. This can be used to control the interface alignment, e.g. which atoms above each other. This will help to create a better initial configuration to obtain configurations with less defects.

  • You can modify the strain method as well as the layer that you want to strain from Lattice Matching Parameters.

../../_images/MRAM-builder-3.png

Send the calculation to the Job Manager using the send_to_icon icon and run the calculation. If needed some modification in the script, you can generate a script using the send_to_icon Send-to button and run the calculation.

Note

  • The builder for this type of stack is primarily designed to work with CrystalLayer and AlloyLayer types. Pre-trained MTP models for Fe-MgO, FeCo-MgO, Ta-Fe, Ta-FeCo, W-Fe, W-FeCo interfaces and FeCo alloy are provided in the MRAM builder. Other interfaces can be used in scripting, if a suitable interface calculator is specified. This could be a DFT calculator, a force-field calculator, or a user-trained MTP model.

  • The relaxation_length and interaction_length can be tuned according to the need of the interface. If the layer thickness is less than the relaxation_length then the optimization will not be done for the interface. By default, interfaces are not annealed, but this can be activated if needed.

Tip

  • To run the MultilayerBuilder efficiently in parallel we recommend using the OpenMP parallelization.

  • If you have multiple alloy layers in the stack, you should provide different values for the random_seed parameter in AlloyLayer. This will ensure that all the alloy layers in the stack are different.

  • If you increase the thickness of the layer from the default values, increasing the relaxation_length and interaction_length parameters in the script can help to achieve better configuration. For more details on these parameters please check the MultilayerBuilder study object.

The final MRAM stack configuration can be accessed using the configuration() method in MultilayerBuilder. A MgO-FeCo-MgO MRAM stack obtained from such calculation is shown below. Download the provided script (MRAM_builder_example.py) to generate such a configuration. This configuration is now ready for further DFT calculation for different electronic and magnetic properties. One can also use it as a starting configuration to manually add defects or dopant atoms in the Builder to investigate their effect on the magnetic properties.

../../_images/MRAM-builder-4.png