Difference between revisions of "Rockpi4/hardware/emmc"
(6 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
[[rockpi4 | ROCK Pi 4]] > [[rockpi4/hardware | Hardware]] > [[rockpi4/hardware/emmc | eMMC Module]] | [[rockpi4 | ROCK Pi 4]] > [[rockpi4/hardware | Hardware]] > [[rockpi4/hardware/emmc | eMMC Module]] | ||
+ | |||
+ | === Introduction === | ||
+ | |||
+ | ROCK Pi 4 doesn't come with on board storage, it uses the eMMC module instead. The benefits of eMMC module is the user can choose the storage as they need, it reduces the main board SKU for us. Also, pluggable eMMC module makes switching OS possible. | ||
+ | |||
+ | === eMMC module === | ||
+ | |||
+ | [[File:Emmc_module_black_top.png | 100px]] [[File:Emmc_module_black_bottom.png |100px]] | ||
+ | |||
+ | '''Note''': the green PCB and black PCB are the same, just color difference. | ||
+ | |||
+ | The eMMC socket on ROCK Pi 4 uses two B2B connector to mount the eMMC module, the connector model is [http://www.lsmtron.com/pdf/Connector&Antenna_catalog.PDF GB042 Series], one connector(34pin) for eMMC signal, the other(30pin) is for mount purpose only. This pinout of the 34pin is compatible with Odroid(Thanks Odroid for sharing their pinout). | ||
+ | |||
+ | * on ROCK Pi 4: GB042-34P-H10 (plug-34pin) + GB042-30P-H10 (plug-30pin) | ||
+ | * on eMMC module: GB042-34S-H10 (socket-34pin) + GB042-30S-H10 (socket-30pin) | ||
+ | |||
+ | The eMMC chip we use is branded as Foresee, by Longsys, a Shenzhen embedded storage company, who acquired Lexar Brand in 2017. | ||
+ | |||
+ | * [https://dl.radxa.com/rockpi/docs/hw/Test_Report_NCEMASLD-32G_20180313.pdf Download Foresee eMMC chip test report] | ||
+ | |||
+ | === Benchmarks === | ||
+ | |||
+ | Below is the test we did on different brand eMMC chips. | ||
+ | |||
+ | ==== dd ==== | ||
+ | |||
+ | dd if=/dev/zero of=/dev/mmcblk1 bs=1G count=1 oflag=direct | ||
+ | dd if=/dev/mmcblk1 of=/dev/null bs=1G count=1 | ||
+ | |||
+ | result: | ||
+ | <pre> | ||
+ | |||
+ | | | brand | read | write | | ||
+ | | ---- | -------- | ------- | -------- | | ||
+ | | 8G | Sandisk | 270MB/s | 39.4MB/s | | ||
+ | | 16G | Sandisk | 230MB/s | 79.6MB/s | | ||
+ | | 16G | Kingston | 160MB/s | 50.1MB/s | | ||
+ | | 16G | Foresee | 189MB/s | 74.4MB/s | | ||
+ | | 16G | Foresee | 241MB/s | 79.5MB/s | | ||
+ | | 32G | Sandisk | 263MB/s | 139MB/s | | ||
+ | | 32G | Samsung | 263MB/s | 78.3MB/s | | ||
+ | | 32G | Kingston | 152MB/s | 87.2MB/s | | ||
+ | | 64G | Sandisk | 207MB/s | 100MB/s | | ||
+ | | 64G | Foresee | 215MB/s | 148MB/s | | ||
+ | | 64G | Foresee | 194MB/s | 148MB/s | | ||
+ | | 128G | Toshiba | 217MB/s | 143MB/s | | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | ==== fio ==== | ||
+ | |||
+ | 1M Seq | ||
+ | |||
+ | fio --name=write --ioengine=libaio --iodepth=4 --rw=write --bs=1M --direct=1 --size=2G --numjobs=30 --runtime=60 --group_reporting --filename=/dev/mmcblk1 | ||
+ | |||
+ | fio --name=read --ioengine=libaio --iodepth=4 --rw=read --bs=1M --direct=1 --size=2G --numjobs=30 --runtime=60 --group_reporting --filename=/dev/mmcblk1 | ||
+ | |||
+ | 4K random | ||
+ | |||
+ | fio --name=randwrite --ioengine=libaio --iodepth=4 --rw=randwrite --bs=4K --direct=1 --size=2G --numjobs=30 --runtime=60 --group_reporting --filename=/dev/mmcblk1 | ||
+ | |||
+ | fio --name=randread --ioengine=libaio --iodepth=4 --rw=randread --bs=4K --direct=1 --size=2G --numjobs=30 --runtime=60 --group_reporting --filename=/dev/mmcblk1 | ||
+ | |||
+ | result: | ||
+ | |||
+ | * Check full result at [https://gist.github.com/hipboi/4751181c26670af1a53096795a13f93d Github]. | ||
+ | |||
+ | === Dimension === | ||
+ | |||
+ | * [https://dl.radxa.com/accessories/emmc-module/emmc_module_v1.1_20190402.dxf Download 2D .dxf file for eMMC module] | ||
+ | |||
+ | === eMMC2sd adapter === | ||
+ | |||
+ | [[File:Emmc2sd_adapter.png | 100px]] | ||
+ | |||
+ | With eMMC2sd adapter board, the user can write the image from PC with uSD card reader. | ||
+ | |||
+ | === USB3 eMMC Reader === | ||
+ | |||
+ | * Check [[Rockpi4/hardware/usb3_eMMC_reader| USB3 eMMC reader]] page |
Latest revision as of 12:54, 27 December 2021
ROCK Pi 4 > Hardware > eMMC Module
Contents
Introduction
ROCK Pi 4 doesn't come with on board storage, it uses the eMMC module instead. The benefits of eMMC module is the user can choose the storage as they need, it reduces the main board SKU for us. Also, pluggable eMMC module makes switching OS possible.
eMMC module
Note: the green PCB and black PCB are the same, just color difference.
The eMMC socket on ROCK Pi 4 uses two B2B connector to mount the eMMC module, the connector model is GB042 Series, one connector(34pin) for eMMC signal, the other(30pin) is for mount purpose only. This pinout of the 34pin is compatible with Odroid(Thanks Odroid for sharing their pinout).
- on ROCK Pi 4: GB042-34P-H10 (plug-34pin) + GB042-30P-H10 (plug-30pin)
- on eMMC module: GB042-34S-H10 (socket-34pin) + GB042-30S-H10 (socket-30pin)
The eMMC chip we use is branded as Foresee, by Longsys, a Shenzhen embedded storage company, who acquired Lexar Brand in 2017.
Benchmarks
Below is the test we did on different brand eMMC chips.
dd
dd if=/dev/zero of=/dev/mmcblk1 bs=1G count=1 oflag=direct dd if=/dev/mmcblk1 of=/dev/null bs=1G count=1
result:
| | brand | read | write | | ---- | -------- | ------- | -------- | | 8G | Sandisk | 270MB/s | 39.4MB/s | | 16G | Sandisk | 230MB/s | 79.6MB/s | | 16G | Kingston | 160MB/s | 50.1MB/s | | 16G | Foresee | 189MB/s | 74.4MB/s | | 16G | Foresee | 241MB/s | 79.5MB/s | | 32G | Sandisk | 263MB/s | 139MB/s | | 32G | Samsung | 263MB/s | 78.3MB/s | | 32G | Kingston | 152MB/s | 87.2MB/s | | 64G | Sandisk | 207MB/s | 100MB/s | | 64G | Foresee | 215MB/s | 148MB/s | | 64G | Foresee | 194MB/s | 148MB/s | | 128G | Toshiba | 217MB/s | 143MB/s |
fio
1M Seq
fio --name=write --ioengine=libaio --iodepth=4 --rw=write --bs=1M --direct=1 --size=2G --numjobs=30 --runtime=60 --group_reporting --filename=/dev/mmcblk1 fio --name=read --ioengine=libaio --iodepth=4 --rw=read --bs=1M --direct=1 --size=2G --numjobs=30 --runtime=60 --group_reporting --filename=/dev/mmcblk1
4K random
fio --name=randwrite --ioengine=libaio --iodepth=4 --rw=randwrite --bs=4K --direct=1 --size=2G --numjobs=30 --runtime=60 --group_reporting --filename=/dev/mmcblk1 fio --name=randread --ioengine=libaio --iodepth=4 --rw=randread --bs=4K --direct=1 --size=2G --numjobs=30 --runtime=60 --group_reporting --filename=/dev/mmcblk1
result:
- Check full result at Github.
Dimension
eMMC2sd adapter
With eMMC2sd adapter board, the user can write the image from PC with uSD card reader.
USB3 eMMC Reader
- Check USB3 eMMC reader page