FreeNAS is entirely software based, and it's the main reason I opted for it instead of a Qnap or Synology solution because I didn't think they were worth the money for what I needed like
this 4-bay diskless NAS by Synology is already close to $600. Specifically, storage space as FreeNAS recommends 1 GB of RAM for every 1 TB of storage. I'm currently running 4 3TB WD Reds in RaidZ2, which is equivalent to Raid 6 and allows for 2 disk failure, and I plan to add another separate 12TB RaidZ2 in the future.
Just be aware of the potential problem of having bigger storage spaces for RAID.
Here's my current hardware configuration:
CPU: Intel Pentium G860 3.0GHz Dual-Core Processor
Motherboard: ASRock H77 Pro4-M Micro ATX LGA1155 Motherboard ($78.13)
Memory: Crucial Ballistix Tactical 16GB (2 x 8GB) DDR3-1600 Memory ($82.62)
Case: NZXT Source 210 Elite (Black) ATX Mid Tower Case ($54.36)
I basically took my parents' old PC and converted it into a FreeNAS server. I kept the old CPU and PSU, replaced the mobo, memory and case, and
added two additional case fans strictly for hdd cooling (overkill). Cost was below $250. Even though I have 4 SATA 2 and 4 SATA 3 ports on an old LGA1155, there's no discernible difference between SATA 2 and SATA 3 for mechanical hard drives. I bought the NZXT Source 210 Elite case specifically for its size - 8 internal 3.5 bays - to its relative cost. I'm not worried about my CPU yet because I haven't bothered with transcoding or running Plex; however, but it's something I'll do eventually simply out of curiosity as it's unnecessary to do in my current setup since my PC is close in proximity to my home theater. As for ECC versus Non-ECC RAM, I don't need
that level of protection, and it's just unneeded cost to my budget as I still need to spend another $400 (12TB) for another RaidZ2. A very tight budget. All in all, FreeNAS is very flexible since it's an OS that can be run off a USB flash drive.