| 1 | [[PageOutline]] |
| 2 | |
| 3 | = mSATA (SSD) / SATA / Storage = |
| 4 | Several Gateworks products support SATA and mSATA. |
| 5 | |
| 6 | For microSD card support, see [wiki:ventana/simsd here] |
| 7 | |
| 8 | |
| 9 | == mSATA == |
| 10 | 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). |
| 11 | |
| 12 | |
| 13 | == Ventana == |
| 14 | '''Note''' - ''mSATA requires a quad-core processor on Ventana'' |
| 15 | |
| 16 | '''Note''' - ''For configuring, jump to [#VentanaSoftware]'' |
| 17 | |
| 18 | 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. |
| 19 | |
| 20 | Ventana boards with mSATA support: |
| 21 | * GW5520-SP308 (IMX6Q) J6 (Bottom Left socket) |
| 22 | * GW54xx (all variants) J11 (Bottom Left socket) |
| 23 | * GW5304 (fully loaded with IMX6Q) J9 (Bottom Left socket) |
| 24 | |
| 25 | Notes: |
| 26 | * SATA II 3Gbps interface supports Mini-PCIe mSATA disk drive |
| 27 | * Gateworks would expect any SATA 3.0 mSATA to work |
| 28 | * Only 1 miniPCIe socket supports mSATA - see the PCB silkscreen or hardware reference manual to determine which (if not specified above) |
| 29 | * Drives are currently available from a variety of manufactures including Toshiba, Samsung, HP, Intel, !SanDisk and Dell. |
| 30 | * 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. |
| 31 | * Gateworks tests with a mSATA Crucial CT032M4SSD3 32GB SATA SSD: http://www.amazon.com/Crucial-mSATA-Internal-Solid-CT032M4SSD3/dp/B0082PVK8Q |
| 32 | |
| 33 | The internal IMX SATA controller supports the following features: |
| 34 | * Compliant with the following specifications: |
| 35 | * Serial ATA 3.0 |
| 36 | * AHCI Revision 1.3 |
| 37 | * AMBA 2.0 from ARM |
| 38 | * SATA 1.5 Gb/s and SATA 3.0 Gb/s speed. |
| 39 | * eSATA (external analog logic also needs to support eSATA) |
| 40 | * RX data buffer for recovered clock systems |
| 41 | * Data alignment circuitry when RX data buffer is also included |
| 42 | * OOB signaling detection and generation |
| 43 | * 8b/10b encoding/decoding |
| 44 | * Asynchronous signal recovery, including retry polling |
| 45 | * Power management features including automatic partial-to-slumber transition |
| 46 | * BIST loopback modes |
| 47 | |
| 48 | |
| 49 | === Ventana Software === |
| 50 | * '''Note''' - '''' Please see the bootloader for configuring mSATA [wiki:ventana/bootloader#HardwareConfigurationhwconfig]'' |
| 51 | * 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) |
| 52 | |
| 53 | === Ventana mSATA Performance === |
| 54 | See the following link for some read/write performance numbers for mSATA SSD drives on Ventana: |
| 55 | [wiki:boot_speed#StorageDevicePerformancenocodechanges] |
| 56 | |
| 57 | == Laguna == |
| 58 | Laguna has support for SATA on the GW2388 [http://www.gateworks.com/product/item/laguna-gw2388-4-network-processor] |
| 59 | * SATA Serial ATA 2.6 port |
| 60 | * 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. |
| 61 | * Please consult the user manual for more information [http://www.gateworks.com/product/item/laguna-gw2388-4-network-processor] |
| 62 | |
| 63 | |
| 64 | === Laguna Software === |
| 65 | * 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) |
| 66 | |
| 67 | |
| 68 | = PCIe based Storage = |
| 69 | Various cards exist that implement a SATA interface over the PCIe bus. |
| 70 | |
| 71 | Some common examples |
| 72 | * Solid State Disk (SSD): |
| 73 | * [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) |
| 74 | * PCIe to SATA adapters: |
| 75 | * [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 |
| 76 | |
| 77 | [[Image(http://www.supertalent.com/largeImage/6_104_10084.jpg,200px)]] |
| 78 | |
| 79 | = Setting up a New Disk / mSATA = |
| 80 | This is standard Linux procedure that is widely documented on google. |
| 81 | |
| 82 | An example is provided below: |
| 83 | 1. Partition the drive using {{{fdisk}}}. Example shown below. |
| 84 | {{{#!bash |
| 85 | > fdisk /dev/sda |
| 86 | Command (m for help): p |
| 87 | |
| 88 | Disk /dev/sda: 128.0 GB, 128035676160 bytes |
| 89 | 255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors |
| 90 | Units = sectors of 1 * 512 = 512 bytes |
| 91 | Sector size (logical/physical): 512 bytes / 512 bytes |
| 92 | I/O size (minimum/optimal): 512 bytes / 512 bytes |
| 93 | Disk identifier: 0x00000000 |
| 94 | |
| 95 | Device Boot Start End Blocks Id System |
| 96 | |
| 97 | Command (m for help): n |
| 98 | Partition type: |
| 99 | p primary (0 primary, 0 extended, 4 free) |
| 100 | e extended |
| 101 | Select (default p): p |
| 102 | Partition number (1-4, default 1): 1 |
| 103 | First sector (2048-250069679, default 2048): |
| 104 | Using default value 2048 |
| 105 | Last sector, +sectors or +size{K,M,G} (2048-250069679, default 250069679): |
| 106 | Using default value 250069679 |
| 107 | |
| 108 | Command (m for help): p |
| 109 | |
| 110 | Disk /dev/sda: 128.0 GB, 128035676160 bytes |
| 111 | 255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors |
| 112 | Units = sectors of 1 * 512 = 512 bytes |
| 113 | Sector size (logical/physical): 512 bytes / 512 bytes |
| 114 | I/O size (minimum/optimal): 512 bytes / 512 bytes |
| 115 | Disk identifier: 0x00000000 |
| 116 | |
| 117 | Device Boot Start End Blocks Id System |
| 118 | /dev/sda1 2048 250069679 125033816 83 Linux |
| 119 | |
| 120 | Command (m for help): w |
| 121 | The partition table has been altered! |
| 122 | |
| 123 | Calling ioctl() to re-read partition table. |
| 124 | Syncing disks. |
| 125 | root@linaro-alip:~# |
| 126 | }}} |
| 127 | 2. Format the drive using |
| 128 | {{{#!bash |
| 129 | mkfs.ext4 /dev/sda1 |
| 130 | }}} |
| 131 | 3. Mount the drive |
| 132 | {{{#!bash |
| 133 | mkdir /mnt/disk |
| 134 | root@OpenWrt:/# mount -t ext4 /dev/sda1 /mnt/disk |
| 135 | [ 344.374329] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) |
| 136 | }}} |
| 137 | 4. Verify disk size (see {{{/dev/sda1}}} as the last item in the list below) |
| 138 | {{{#!bash |
| 139 | root@OpenWrt:/# df -h |
| 140 | Filesystem Size Used Available Use% Mounted on |
| 141 | rootfs 1.8G 16.3M 1.8G 1% / |
| 142 | ubi0:rootfs 1.8G 16.3M 1.8G 1% / |
| 143 | tmpfs 251.2M 132.0K 251.1M 0% /tmp |
| 144 | tmpfs 512.0K 0 512.0K 0% /dev |
| 145 | /dev/sda1 117.2G 59.6M 111.2G 0% /mnt/disk |
| 146 | }}} |