wiki:sata

mSATA (SSD) / SATA / Storage

Several Gateworks products support SATA and mSATA.

For microSD card support, see here

mSATA

mSATA cards are miniPCIe form-factor (electrical and mechanical) cards that use SATA signalling on the PCIe signals and typically use flash based storage (Solid State Disk or SSD).

Ventana

Note - mSATA requires a quad-core processor on Ventana

Note - For configuring, jump to #VentanaSoftware

Many of the Gateworks Ventana boards support mSATA. Because mSATA routes SATA signals to a miniPCIe socket, these boards use a software controllable mux to decide if mSATA or PCIe should be routed to a specific miniPCI socket on the board. The bootloader 'hwconfig' command (see here) is used to configure this mux at boot time because if PCI is desired, the bus is enumerated only once at boot time.

Ventana boards with mSATA support:

  • GW5520-SP308 (IMX6Q) J6 (Bottom Left socket)
  • GW54xx (all variants) J11 (Bottom Left socket)
  • GW5304 (fully loaded with IMX6Q) J9 (Bottom Left socket)

Notes:

  • SATA II 3Gbps interface supports Mini-PCIe mSATA disk drive
  • Gateworks would expect any SATA 3.0 mSATA to work
  • Only 1 miniPCIe socket supports mSATA - see the PCB silkscreen or hardware reference manual to determine which (if not specified above)
  • Drives are currently available from a variety of manufactures including Toshiba, Samsung, HP, Intel, SanDisk and Dell.
  • The selection between the standard PCIe interface and the mSATA interface is under software control using the i.MX6 GPIO[2]:DIO[8] digital I/O signal, which is configured by the bootloader on powerup via the 'hwconfig' command.
  • Gateworks tests with a mSATA Crucial CT032M4SSD3 32GB SATA SSD: http://www.amazon.com/Crucial-mSATA-Internal-Solid-CT032M4SSD3/dp/B0082PVK8Q

The internal IMX SATA controller supports the following features:

  • Compliant with the following specifications:
  • Serial ATA 3.0
  • AHCI Revision 1.3
  • AMBA 2.0 from ARM
  • SATA 1.5 Gb/s and SATA 3.0 Gb/s speed.
  • eSATA (external analog logic also needs to support eSATA)
  • RX data buffer for recovered clock systems
  • Data alignment circuitry when RX data buffer is also included
  • OOB signaling detection and generation
  • 8b/10b encoding/decoding
  • Asynchronous signal recovery, including retry polling
  • Power management features including automatic partial-to-slumber transition
  • BIST loopback modes

Ventana Software

  • Note - ' Please see the bootloader for configuring mSATA ventana/bootloader
  • If configured correctly device will show up most likely as a device /dev/sdX in the operating system , etc (sdb,sdc,sdd,sde) (where sd stands for storage device and a is an identifier)

Ventana mSATA Performance

See the following link for some read/write performance numbers for mSATA SSD drives on Ventana: boot_speed

Laguna

Laguna has support for SATA on the GW2388 http://www.gateworks.com/product/item/laguna-gw2388-4-network-processor

  • SATA Serial ATA 2.6 port
  • The GW2388 includes a SATA factory ordering option. This option adds a Serial ATA data connector for supporting SATA 1.5Gbps Generation 1 and 3Gbps Generation 2 speeds. The SATA port is compliant with Serial ATA 2.6 and AHCI 1.1.
  • Please consult the user manual for more information http://www.gateworks.com/product/item/laguna-gw2388-4-network-processor

Laguna Software

  • If configured correctly device will show up most likely as a device /dev/sdX in the operating system , etc (sdb,sdc,sdd,sde) (where sd stands for storage device and a is an identifier)

PCIe based Storage

Various cards exist that implement a SATA interface over the PCIe bus.

Some common examples

  • Solid State Disk (SSD):
    • Super Talent !CoreStore Plus - ASMedia Technology Inc. ASM1062 Serial ATA based (similar to mSATA but actually uses the PCIe bus signally and thus does not require mSATA support)
  • PCIe to SATA adapters:

http://www.supertalent.com/largeImage/6_104_10084.jpg

Setting up a New Disk / mSATA

This is standard Linux procedure that is widely documented on google.

An example is provided below:

  1. Partition the drive using fdisk. Example shown below.
    > fdisk /dev/sda
    Command (m for help): p
    
    Disk /dev/sda: 128.0 GB, 128035676160 bytes
    255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
       Device Boot      Start         End      Blocks   Id  System
    
    Command (m for help): n
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    Select (default p): p
    Partition number (1-4, default 1): 1
    First sector (2048-250069679, default 2048):
    Using default value 2048
    Last sector, +sectors or +size{K,M,G} (2048-250069679, default 250069679):
    Using default value 250069679
    
    Command (m for help): p
    
    Disk /dev/sda: 128.0 GB, 128035676160 bytes
    255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1            2048   250069679   125033816   83  Linux
    
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.
    root@linaro-alip:~#
    
  2. Format the drive using
    mkfs.ext4 /dev/sda1
    
  3. Mount the drive
    mkdir /mnt/disk
    root@OpenWrt:/# mount -t ext4 /dev/sda1 /mnt/disk
    [  344.374329] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
    
  4. Verify disk size (see /dev/sda1 as the last item in the list below)
    root@OpenWrt:/# df -h
    Filesystem                Size      Used Available Use% Mounted on
    rootfs                    1.8G     16.3M      1.8G   1% /
    ubi0:rootfs               1.8G     16.3M      1.8G   1% /
    tmpfs                   251.2M    132.0K    251.1M   0% /tmp
    tmpfs                   512.0K         0    512.0K   0% /dev
    /dev/sda1               117.2G     59.6M    111.2G   0% /mnt/disk
    
Last modified 9 months ago Last modified on 11/15/16 09:54:09