Design your own NAS with $25 4x SATA HAT for NanoPi M4 Board

NanoPi M4 is one of the many Rockchip RK3399 boards available on the market today. The SBC follows Raspberry Pi form factor, comes with 2 to 4 GB RAM, four USB 3.0 ports, Gigabit Etherent, HDMI 2.0, etc.. and exposes the 2-lane PCIe interface from the Rockchip processor not through a typical PCIe slot or mini PCIe slot, but instead through a 2.54mm pitch header.

I feel like an odd choice at first glance, but it now makes complete sense, as the company has launched a 4x SATA HAT for NanoPi M4 board that leverages the header with PCIe 2x signals.

4x SATA HAT NanoPi M44x SATA HAT for NanoPi M4 key features and specifications:

  • PCIe to SATA Chipset – Marvell 88SE9215 four-port 6Gbps SATA I/O controller
  • USB – 2x 4-pin USB 2.0 host connectors
  • Expansion – NanoPi M4 40-pin header exposed
  • Misc
    • Power key, unpopulated power key jumper
    • Power LED, 4x SATA LEDs
    • Heat dissipation – 2x PCB nuts for mounting a heatsink on top of Marvell chipset; 2-pin header for fan, PWM modulation for 12V output
  • Power Supply
    • 12V DC input via power barrel jack or 4-pin header; 2A needed for one 3.5″ hard drive or four 2.5″ hard drives; 5A needed for four 3.5″ hard drives
    • 4-pin power connector with 12V and 5V output
  • Dimensions – 65 x 56 mm
  • Weight – 33.48 grams

M4 SATA HATThe company provides Ubuntu based FriendlyCore 18.04 64-bit, FriendlyDesktop 18.04 64-bit, and Lubuntu 16.04 32bit with Linux 4.4, Uboot-2014.10 for NanoPi M4, and those images can be used with the M4 SATA HAT.

The company ran iozone to show the performance with one 750GB Crucial MX300 SSD.

NanoPi M4 SATA HAT iozone benchmarkRandom reads and writes are much faster than eMMC flash modules and micro SD cards, but do not quite reach the performance of NVMe SSDs which can be connected to the company’s higher end NanoPC-T4 board.

This HAT will ease the design of NAS based on Rockchip RK3399 processor with up to four drive, and it won’t bread the bank as the 4x SATA HAT sells for $25 with heatsink, thermal pad, screws, metal standard, SATA I/F and power cable. If you don’t own one already, you’ll also need to add NanoPi M4 for $65 and up,  a 12V power supply, an enclosure, and obivously the storage device(s).

NanoPi M4 NAS

Thanks to theguyuk for the tip.

Support CNX Software - Donate via PayPal or become a Patron on Patreon

38
Leave a Reply

avatar
12 Comment threads
26 Thread replies
3 Followers
 
Most reacted comment
Hottest comment thread
18 Comment authors
JrRocketDonald MoeserNicoDMarkChangelm Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
blu
Guest
blu

That turns the NanoPi M4 into a very interesting kind of product, as $120 (4GB M4 + hat) gets you a very viable desktop-use-case SBC, with a light NAS side-job.

tkaiser
Guest
tkaiser

> Marvell 88SE9215 four-port 6Gbps SATA I/O controller

That’s a bit sad since I recommended using the 88SE9235 instead for a reason: the 88SE9235 uses 2 PCIe lanes while 88SE9215 just 1 so this results now in lower performance with connected SATA SSDs or more than 3 HDDs.

Asides that glad they finally delivered (it’s been almost 5 months since 1st prototype) and even improved the design. The 2 independent 12V inputs are great especially since ‘5V only powering via USB-C’ is NanoPi M4’s weakest spot.

Robert
Guest
Robert

Does it power the M4 via the hat?

tkaiser
Guest
tkaiser

Yes, you only need one appropriate 12V source connected to the HAT and there DCDC circuitry generates the 5V needed for M4 and the connected SATA devices as well.

blu
Guest
blu

That’s really nice!

NicoD
Guest

Weird test results from FriendlyElec. Why is the same eMMC module 90MB/s faster on the T4? And is the 340MB/s the limit of the SSD or of the hat?
I’ll see to source one so I can test it with multiple drives.

tkaiser
Guest
tkaiser

> Why is the same eMMC module 90MB/s faster on the T4?

Since on the T4 it is soldered while the eMMC on M4/NEO4 is socketed and as such FriendlyELEC decided to disable fastest modes in DT as they experienced data corruption issues: https://github.com/armbian/build/commit/0fd231be0063a5631628571956635f2787e94b47#commitcomment-30906110 (in the meantime at least in Armbian T4’s eMMC is also configured slower)

admin
Guest
admin

Great idea …. and any clowns from Sinovoip reading this, take a note of how to capture a market..

theguyuk
Guest
theguyuk

Good protoype for any product maker working on a mass Nas design. Working software and hardware. Not just a board dump like other SBC vendors.

dgp
Guest
dgp

The microfit 12v connect is a good idea and they even worked out you might want remote power control. If you wanted to build a cluster for some reason this is what you want even if you don’t use the SATA part. You’d only need an ATX PSU, a switch and an arduino or esp for powering the boards on and off.

tkaiser
Guest
tkaiser

> If you wanted to build a cluster for some reason this is what you want even if you don’t use the SATA part

My understanding is that for such a cluster use case this HAT is not needed with a sufficient 5V source since the PWR_KEY pin is present on the 24 pin GPIO header here (on NEO4 it’s instead pin30 on the 40 pin header).

dgp
Guest
dgp

That’s interesting. I was thinking that the power control on the HAT was part of the DC-DC supply for the 5v. Either way with this HAT you get to tap into the meaty 12v rails on almost any cheap ATX PSUs instead of trying to find lots of good 5v supplies or one 5v supply that can put out enough current for many boards.

James
Guest
James

And the 12v 5.5mm barrel option is good too. 12v 5A bricks with 5.5mm jacks are plentiful and inexpensive.

mum1989
Guest
mum1989

good idea !
but no Raid support I guess

tkaiser
Guest
tkaiser

> but no Raid support I guess

Fortunately yes! 🙂 I mean, yes, no RAID support (the Marvell HyperDuo stuff has a pretty bad reputation and most people realized that ‘HW RAID’ in general is nothing that great these days)

KiLLWarez
Guest
KiLLWarez

To make user-friendly device, we need some enclosure for 2-4 hdds. It should lack of any hardware. I can’t find something suitable on AliExpress.

dgp
Guest
dgp

I found some in the past but they were expensive. Which makes sense as there isn’t much of a market for a box to put disks in.

I’m not sure if it’s available in the rest of the world but over here Daiso (they sell the same stuff in the US AFAIK) sell a miniature version of the pipes and shelves racking system. You can build up a little rack that has space for your SBC, drives and power supply for 10 bucks out of it. If you have a 3D printer you can print out nice mounts for everything. If not you can just cable tie everything and still have something that doesn’t fall apart when moved.

blu
Guest
blu

Check out Helios4’s enclosure — I believe they used to sell the enclose alone some time ago: https://kobol.io/helios4/
[ed] here’s the assembly wiki: https://wiki.kobol.io/kit/

Robert
Guest
Robert

The schematics for the Helios4 case are online: https://wiki.kobol.io/docs/#casing
I guess you could cut or 3D-Print this yourself?

tkaiser
Guest
tkaiser

> we need some enclosure for 2-4 hdds

The next scrap yard next to you features those for free: old PC enclosures! 🙂

Seriously: as soon as you skip the PC’s ATX PSU and simply screw the NanoPI M4 to the enclosure (using it as a heatsink) you’re done and are also way more energy efficient when powering the setup with an external 12V PSU compared to an inefficient ATX PSU.

KiLLWarez
Guest
KiLLWarez

Friends, I’m planning to buy this hat with M4 board. How to select ram amount in M4 config – is there any usecase for 4gb version? I’m going to use OMV.

tkaiser
Guest
tkaiser

> is there any usecase for 4gb version?

With your server use case only if you think about running a bunch of containers or VMs at the same time (OMV has a pretty nice Docker integration). With ‘basic NAS operation’ you would be fine with 1GB or 512MB as well. More RAM always only ends up as filesystem buffer/caches.

Please note that I’ve no idea whether the 88SE9215 will work out of the box with the OMV image since I’ve not tested it personally so far. The 88SE9215 controller is rather old and should as such be supported by Rockchip’s 4.4 kernel the OMV image is based on. If it doesn’t work you need to use armbian-config to switch to mainline kernel.

Yesterday I checked FriendlyELEC’s kernel repo on Github and saw no relevant changes so I would assume it will simply work.

tkaiser
Guest
tkaiser

> The 88SE9215 controller is rather old and should as such be supported by Rockchip’s 4.4 kernel the OMV image is based on

Just remembered that 88SE9215 is confirmed to work with 4.4 (Espressobin) and even 3.14 already so there shouldn’t be issues with RK’s 4.4: https://forum.armbian.com/topic/4845-marvell-based-4-ports-mpci-sata-30/

willy
Guest
willy

There’s one use case where you need tons of RAM, it’s when using rsync with lots of small files. I’ve spent quite some time this week-end trying to address OOM issues on my NAS because the file count grew enough to kill it despite the swap I added there :-/

ZXXXXXXXXXXXXXXXXXX
Guest
ZXXXXXXXXXXXXXXXXXX

“More RAM always only ends up as filesystem buffer/caches.”

So things like zfs on linux will profit from it.

tkaiser
Guest
tkaiser

> things like zfs on linux will profit from it

Why/how? ZFS by default wants to use almost the entire RAM as ARC ( adaptive replacement cache used for speeding up reads of most accessed data). Is this useful on a home/SOHO NAS? Usually not since access patterns don’t fit. You then have data sitting in RAM waiting for accesses that won’t happen anytime soon.

Adjusting ARC size is usually the first thing I do when setting up ZFS on a home/SOHO NAS low on memory. No performance differences. Of course on a high-performance filer serving a lot of users and especially other servers (SAN storage) that’s something entirely different, those machines get as much RAM as possible and lowering the ARC size has negative impact on performance.

But that’s a different use case anyway.

elm
Guest
elm

it might make sense to use emby

Yasir
Guest
Yasir

Sorry, i am lost, what is network connectivity ? dont see any information for WIFI ?

theguyuk
Guest
theguyuk
willy
Guest
willy

You can, you just need the 5.25 enclosure to place it into. Maybe FriendlyElec should start to think about providing 3.5 inch enclosures for their boards so that they can be placed into mini-PC like cases.

MarkChang
Guest
MarkChang

May i ask for opinions? a nanopi m4 with a sata hat? or go with Helios4? the difference is mostly at CPU ( m4 runs way faster across the boarder, the other part is RAM, while nanopi m4 have upwards of 4G ddr4, Helios have the advantage of getting ECC, the last is about the VPU/GPU? ( i may not recall the right thing here ) nanopi m4 have a better GPU / VPU for possibility to be enabled to add transcoding ability to this nas, kind of in a [email protected]@
also. i am also considering whether the rockpi4 or nanopi m4 is better in this case, one have a full size m.2 key, which i can extend to a PCIEx4 and i can find some 88SE9230 based 4 port SSD extentions cards around 55USD, kind of a close fight here

willy
Guest
willy

It solely depends on your main use case : M4 has tons of CPU power but not that much I/O. The Clearfog SOM (basis of Helios4) has 3 times less CPU power but roughly 3 times more I/O bandwidth. In fact the single gigabit link will be a bottleneck for this one. If you want to build a solid NAS the Helios4 will likely be better. If you want to build a generic well balanced machine, the M4 certainly is better (and it has a display output that some people care about). Both will work reasonably well with a mainline kernel. I’d personally make an every day workstation out of the M4 and the file server out of the Helios4.

blu
Guest
blu

I fully agree with @willy re M4 vs Helios4 — M4 has mixed desktop/light-NAS applications, wheres Helios4 is an excellent NAS and not at all a desktop (but could be a small headless server).

tkaiser
Guest
tkaiser

> rockpi4 or nanopi m4 is better in this case, one have a full size m.2 key, which i can extend to a PCIEx4 and i can find some 88SE9230

RockPro64 is the same RK3399 thing but with an x4 PCIe slot. And I would avoid the 88SE9230 but instead choose the 88SE9235 (no RAID/HyperDuo stuff). And of course M.2 cards with same chip exist too but then you’re on your own with powering the disks (an important part to keep in mind and something where the above SATA HAT shows an advantage).

Donald Moeser
Guest
Donald Moeser

Having never used anything but Windows previously. . . . and, to say I’m a novice at 77 is an understatement, but. . . . . I have the Nanopi M4 and just got the 4x SATA Top Hat. How does the Marvell 88SE9215 controller “card” attach to the Top Hat?
Thank you in advance for any help given. . . . . . . . .

JrRocket
Guest
JrRocket

If anyone sets this up, I’d love to see a report on the hardware purchased and pictures !

tkaiser
Guest
tkaiser