[[PageOutline]] = mSATA (SSD) / SATA / Storage = For microSD card support, see [wiki:MMC 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). [=#newport] == Newport == Many of the Gateworks Newport 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 [wiki:newport/#hwconfig here]) is used to configure this mux at boot time because if PCI is desired, the bus is enumerated only once at boot time. Newport boards with mSATA support: * GW630x J10 (Middle socket) * GW640x J10 (Center Right socket) * [http://www.gateworks.com/octeon-tx-single-board-computers-gateworks-newport Newport product page] Notes: * 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 a digital I/O signal, which is configured by the bootloader on powerup via the '[wiki:newport/#hwconfig hwconfig]' env variable. * Gateworks tests with a mSATA Crucial CT032M4SSD3 32GB SATA SSD: http://www.amazon.com/Crucial-mSATA-Internal-Solid-CT032M4SSD3/dp/B0082PVK8Q The internal CN80XX / CN81XX SATA controller supports the following features: * Compliant with Serial ATA 3.1 and AHCI revision 1.3.1. * Supports SATA 3.0 (6.0 Gb/s - 600MB/s), SATA 2.0 (3.0GB/s - 300MB/s), or SATA 1.0 (1.5Gb/s - 150MB/s). * 4KB native mode (4Kn) support [=#ventana] == Ventana == '''Note - mSATA requires a quad-core processor on Ventana''' * [http://www.gateworks.com/imx6-single-board-computer-gateworks-ventana-family Ventana product page] '''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 [wiki:ventana/bootloader#mSATAenable 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 (these all have Quad Core CPU loaded by default):''' * GW5204 = J8 (Bottom Left socket) * GW5224 = J8 (Bottom Left socket) * GW5524 = J6 (Bottom Left socket) * GW5304 = J9 (Bottom Left socket) * GW54xx (all variants) = J11 (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 '[wiki:ventana/bootloader#mSATAenable hwconfig]' command. * Gateworks tests with a mSATA Crucial CT032M4SSD3 32GB SATA SSD: http://www.amazon.com/Crucial-mSATA-Internal-Solid-CT032M4SSD3/dp/B0082PVK8Q [[Image(Crucial.png,200px)]] 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 [wiki:ventana/bootloader#HardwareConfigurationhwconfig]'' * 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: [wiki:boot_speed#StorageDevicePerformancenocodechanges] [=#laguna] == 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): * [http://www.supertalent.com/products/ssd_product_detail.php?parent=6&category=CoreStore&type=104 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.sybausa.com/index.php?route=product/product&path=64_77_81&product_id=124&sort=p.price&order=ASC&limit=64 Syba 6G mPCIe 2-port] - ASMedia Technology Inc. ASM1061 Serial ATA based [[Image(http://www.supertalent.com/largeImage/6_104_10084.jpg,200px)]] = 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. {{{#!bash > 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 {{{#!bash mkfs.ext4 /dev/sda1 }}} 3. Mount the drive {{{#!bash 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) {{{#!bash 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 }}}