[[PageOutline]] = mSATA (SSD) / SATA / Storage = For microSD card support, see [wiki:MMC here] Gateworks SATA support: ||= Family =||= Board =||= Socket =||= Performance^^^3^^^ =||= Notes =|| || Venice || GW7xxx || - || - || mSATA Not supported on i.MX8M Mini SoC || || || || Newport || GW640x || mSATA J10 || SATA 3.0 6Gbps || Enable via hwonfig^^^1^^^ || || || GW630x || mSATA J10 || SATA 3.0 6Gbps || Enable via hwonfig^^^1^^^ || || || GW620x || mSATA J8 || SATA 3.0 6Gbps || Enable via hwonfig^^^1^^^ || || || GW610x || mSATA J6 || SATA 3.0 6Gbps || Enable via hwonfig^^^1^^^ || || || || Ventana^^^2^^^ || GW54xx || mSATA J11 || SATA 2.0 3Gbps || Enable via hwconfig^^^1^^^ || || || GW5304 || mSATA J9 || SATA 2.0 3Gbps || Enable via hwconfig^^^1^^^ || || || GW5204 || mSATA J8 || SATA 2.0 3Gbps || Enable via hwconfig^^^1^^^ || || || GW5224 || mSATA J8 || SATA 2.0 3Gbps || Enable via hwconfig^^^1^^^ || || || GW5524 || mSATA J8 || SATA 2.0 3Gbps || Enable via hwconfig^^^1^^^ || 1. This socket can be either miniPCIe or SATA and must be configured via [wiki:newport/bootloader#hwconfig Newport bootloader hwconfig env variable] and [wiki:ventana/bootloader#HardwareConfigurationhwconfig Ventana bootloader hwconfig env variable] depending on product family 2. IMX6Q or IMX6D support SATA, the IMX6S/IMX6DL do not 3. The Performance column shows the SATA spec level and max bus I/O throughput - actual device performance varies per device 4. A different SoC on a SOM may later provide SATA support. Additionally, the eMMC Chip on the Venice SBCs can be increased to 64GB. microSD is also available. == 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/bootloader#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: * GW640x J10 (Center Right socket) * GW630x J10 (Middle socket) * GW620x J8 (Right socket) * GW610x J6 * [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 ==== Newport Performance Speed Test An actual speed test on a Newport GW6204 with Ubuntu Focal (5.10 kernel) yielded around 230MB/s for a Kingston MS200 drive. See below example: {{{ root@focal-newport:~# dd if=/dev/sda1 of=/dev/null bs=1M count=500 iflag=nocache 500+0 records in 500+0 records out 524288000 bytes (524 MB, 500 MiB) copied, 2.26782 s, 231 MB/s }}} [=#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 * Viritum VSF302XI240G-V11 has been validated with Newport, and Venice. [[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 (speed test) numbers for mSATA SSD drives on Ventana: [wiki:boot_speed#StorageDevicePerformancenocodechanges] = NVME (Suggested for Venice SBCs) Gateworks can support M.2 M-Key NVME drives via the GW16148 adapter card. More information is available [wiki:nvme NVME Wiki Page] = 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. See [wiki:linux/blockdev linux/blockdev] for a detailed explanation with examples