Skip to main content
Chemistry LibreTexts

9.6: Non-Volatile (Primary) Data Storage

  • Page ID
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    In the Raspberry Pi your "hard drive" is a micro SD card. This card also contains your operating system, which you must load when you boot up the pi. By loading different programs onto different SD cards you can actually change the functionality of a Pi by simply swapping micro SD cards. When you install the micro SD card the contacts should face the board. Instructions for installing the operating system will evolve over time and we will try and keep the Installing RPi OS page updated.

    clipboard_e95c0557ba5f91eabb6164ef3d25f81fe.pngFigure \(\PageIndex{1}\): micro SD card port. (Belford cc 0.0)

    Raspberry Pi 4 Specs

    • micro SD (Secure Digital) card
      • Hard drive with image of operating system
      • 50 MBps top transfer rate
        • Twice speed of Pi 3

    Micro SD Card Specs

    Tom's Hardware, Android Central and PCguide have provided reviews of 2023 micro SD cards, and the size really depends on what you want to do, but 32 gigabytes will be plenty for most Applications 


    SD Card Labels

    Speed Label

    The problem with the "Speed Label" is this is for sequential reading (looking at an image or video", while when used as a general purpose computer you tend to pull lots of small files, with many read/write statements.

    Minimum Sequential Write Speed Speed Class UHS Speed Class Video Speed Class
    90MB/sec     V90
    60MB/sec     V60
    30MB/sec   U with 3 in it V30
    10MB/sec C with 10 in it U with 1 in it V10
    6MB/sec C with 6 in it   V6
    4MB/sec C with 4 in it    
    2.5MB/sec C with 2.5 in it    


    Performance Application Class

    This gives the minimum number of Input/Output operations per second (IOPS).  When using the micro SD card as a hard drive you want this to be as big as possible

    Class (App Performance Minimum Random Read Minimum Random Write
    A1 1500 IOPS 500 IOPS
    A2 4000 IOPS 2000 IOPS

    There is evidence that the A1 cards are actually slower on the Raspberry Pi, and the verdict is still out (See Jeff Geerling's blog posts July 22, 2019 and July 22, 2019).

    Bus Interface Label

    These deals with how fast data can be transferred in and out of the card and uses a ROMAN Numeral.  UHS means Ultra High Speed

    Speed Designation High Speed UHS-I UHS-II UHS-III
    Label no label I II III
    Speed 25 MB/s 104 MB/s 312 MB/s 624 MB/s

    Note: High speed and UHS-I  micro SD cards have a single row of connectors, while UHS-II and UHS-III have two rows of connectors.  Since the fastest transfer rate of a Pi is 50 MB/s there is no reason to get a UHS-II micro SD card.

    Formatting SD Cards

    FAT stands for File Allocation Table and there are 3 FAT standards that SD cards use

    Standard FAT16 FAT32 exFAT
    Capacity 128 MB to 2 GB 4GB to 32GB 64GB to 2 TB

    This section needs to be developed as there is a lot of conflicting information

    Raspberry Pi Speed test

    Instructions at

    in Command Line 

    sudo apt update
    sudo apt install agnostics

    Once installed you will see new menu item under Accessories in main menu 

    Internet in a Box

    It is actually rather amazing what you can put on a microSD card. Internet-in-a-box (iiab) is an organization devoted to making online content available in regions without internet access by capturing images of the web, and these images can be placed into a microSD card, and the Raspberry Pi is then used as an internet hotspot. This is really a fascinating use of the Raspberry Pi. I have an iiab with all of wikipedia, a map of the world with building level precision (think Google Maps), almost 10,000 Khan Academy videos and a ton of other stuff.  It is absolutely amazing what you can put onto a micro SD card. The iiabFAQ is a good place to start and links can be found on their download site.  Note, on an iiab you are typically only reading, that is, you are using it to read an image off the "web", and so the micro SD card usage is different than a normal Pi, where you are reading and writing all the time.




    This page titled 9.6: Non-Volatile (Primary) Data Storage is shared under a not declared license and was authored, remixed, and/or curated by Robert Belford.

    • Was this article helpful?