[[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 the 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:''' * 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 }}}