This is the best summary I could find of the lane allocation of Ryzen:
Total PCIE lanes | My suggested use |
16x PCIE (or 2x8 slots) for gpu |
| single x16 slot for gpu |
4x PCIE for NVME drive | single NVME drive, front mounted |
4x PCIE for NVME or 2x NVME and 2x SATA | 1x PCIE for Wifi, 1x PCIE for sound, and 2 SATA |
4x PCIE for the downlink to the X570 chipset | 1x PCIE for additional USB, 1x PCIE for LAN, and 2 SATA |
I am assuming those PCIE lanes can be divided into single 1x lanes. For the CPU, it shouldn't make a difference. 4 SATA is minimum for a mass market board IMO, even on an ITX platform.
Here's another diagram that illustrates this more clearly:
EDIT: So I originally said something, removed it because I was unsure, but after double checking it I think I was correct. The part on the Left that says Pick One does
not seem to be in addition to the NVMe above. In other words, you have 24 PCIe lanes on the CPU. 4 is for NVMe, or you can do x2 NVMe + 2 SATA, not both. This is hard to figure out but if you look at the middle, where it states you have 12x flexible PCIe lanes, this makes sense. You could have 1x4 NVMe on the Ryzen SoC and then 8 SATA on the X570 chipset, or 3x4 NVMe (one SoC, two chipset), or in between. But note
there's no 4x4 NVMe configuration, which means the two middle orange boxes on the left are not two separate things, but rather the same 4x lanes.
What I originally stated was I think you are including 4 extra lanes that do not exist on the Ryzen SoC. You have 28 when the chip only has 24 - 4 go to the chipset, 4 are NVMe or NVME+SATA, and 16 are for graphics.