From ElphelWiki
Jump to: navigation, search

SSD over SATA.jpeg

We tried SATA Mini PCIe SSD FPM64GRSE purchased from Newegg for EEE PC 1000 - it turned out not to be compatible with that model (works with some other EEE PCs). This SSD has SATA connected to the PCIe connector (not a part of the standard), there is JMicron JMF601 SATA II Flash controller (also has USB port) on board. Realizing that this board will not work for the EEE (and the compatible non-SATA SSD for the EEE PC 1000 is much slower) we decided to try that board with the camera as if it works it will be possible to fit it inside the camera body - 64GB, faster than most CF cards and not having the DMA problem of most CF cards.

After examining the board it was obvious what pins did they use for the SATA, and the nice thing is that the power needed is 3.3V - same as 353 camera has 'natively'. So we soldered Mini PCIe connector to the 7-pin SATA one according to the following table (power was provided directly from the camera via two extra wires):

Connection of Mini PCIE connector to 7-pin SATA
SATA Pin SATA Pin Name Mini PCIe pin Mini PCIE Description Notes
1 GND 35 GND
2 +Transmit 33 PETp0
3 -Transmit 31 PETn0
4 GND 29, 27 GND
5 -Receive 23 PERn0
6 +Receive 25 PERp0
7 GND 51,49,47 +3.3 Power (only 51,49 connected on the prototype)
- - 50,40,34,18,4 GND (power) more GND pins: 15,9 available

The board was nicely recognized by the camera:

# hdparm -i /dev/hda                                                                                                                                                                                                                           
Model=FPM64GRSE, FwRev=081210, SerialNo=P546549-AAJQ-22690A3
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=63
BuffType=(0) unknown, BuffSize=0kB, MaxMultSect=1, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=126189568
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes:  pio0 pio1 pio2 pio3 pio4
DMA modes:  mdma0mdma1*mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5
AdvancedPM=no WriteCache=disabled
* current active mode

Showed that it was formated with a non-supported by the camera file system so we had to run mkfs.ext2 /dev/hda1 before using it:

Disk /dev/hda: 64.6 GB, 64609058816 bytes
255 heads, 63 sectors/track, 7854 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
  Device Boot        Start         End      Blocks  Id System
 /dev/hda1               1        7854    63087223+  7 HPFS/NTFS

and we measured about 18MB/sec write speed (limited by the ETRAX FS CPU), /dev/circbuf is ~19MB pseudo file in the camera:

# time dd if=/dev/circbuf of=/var/hdd/test1.dd bs=1M
18+1 records in
18+1 records out
real    0m 1.06s
user    0m 0.02s
sys     0m 1.00s