Help me build my PC 2020 Catch All

A_Unicycle wrote:

I've been getting BSODs semi-regularly, perhaps once or twice a week. I'm also trying to update to the latest version of Windows so I can use the Game Pass subscription I just bought, but every time I try, I get a BSOD during the updating process.

Coupled with a few other little things, I'm starting to suspect some corrupted drivers and think the best option would be to reinstall windows. Is there an easy way to do this so I don't lose all of my data? I don't have a large enough HDD to backup everything, and my internet is pretty slow...

Would an in-place upgrade potentially fix these corruptions and allow me to update?

Are you getting any detail with these blue screens like a stop code or a driver name?

Malor wrote:

I just installed my first m.2 drive, and thought I'd pass along some info, because my motherboard manual had zero documentation on how they worked; they were too new when the board shipped, I guess.

Just curious, on newer motherboards do SATA m2 and "regular" sata plugs still share the same identifier? On my 2 (3?) year old Mobo, i have 2 m2 ports and 6 SATA ports. If you used M2 port 2 with a SATA m2 drive, you could not use "regular" SATA port 5. If you used pcie M2 drives, there was no conflict. Not a problem unless you realy want to run 6 sata devices + 2 non-pcie m2 devices, but I could see someone not reading the mobo docs and getting an issue with both SATA regular HDs and an M2 HD if they just happened to plug drives into the shared "identifier".

I suspect most manufacturers would have added the M.2 to the existing SATA mapping, so it would be an either/or situation. The alternative is to rewrite the firmware, and probably rewire the mobo, to add extra ports and channels for the M.2.

Also, M.2s are always SSDs, never HDDs.

I have worked with boards from multiple manufactures and have never seen one where the m.2 slots didn't disable a SATA port when used. You can usually find notices about it on the manufacturers website and often on the merchant page as well (at least with better merchants).

Now technically it would be possible for them to dedicate a SATA channel to it, but I haven't seen them do that. Maybe on a high end board designed for server grade processors or Threadrippers or boards designed for low end storage servers.

Are you getting any detail with these blue screens like a stop code or a driver name?

The error codes change each time. There are a few recurring ones "Driver IRQL not less or equal" and "Page Fault In Nonpaged Area" are two common ones that I can remember. I'm a bit out of my depth here, but I'm assuming it's either a faulty driver or dodgy RAM.

The thing is, they are too infrequent for me to diagnose by removing devices/hardware. I'd like to do everything I can before resorting to swapping out RAM etc.

I also get an error every single time I boot windows. I've been getting this for months now and it doesn't seem to cause any problems...Outside of the infrequent BSODs, assuming they are related...

IMAGE(https://i.imgur.com/R7rqb8k.png)

That's mainly the reason I suspect corruption somewhere, and why I was hoping to try a fresh install (while hopefully keeping all my data!)

That script is a bit suspicious. I would suggest a malware scan.

The bull screen errors sound like bad component or bad driver related. You might download BlueScreenView which will examine the dump files to provide more information. Also Reliability Monitor (should already be installed with Windows, searching is the easiest way to get to it but it is also located in the old Control Panel under Security and Maintenance) can be a useful tool for troubleshooting issues.

I actually just ran one using Malware Bytes, it didn't find anything.

I could try with another program, any recommendations?

No that is the one I usually use. That script is not part of the basic Windows install nor is it installed by any common apps that I have installed (Office, Creative Suite, Chrome, Firefox, Steam, etc) so I have no idea what would have installed it or why it is trying to run every startup.

The official MS Win 10 website has an easy fix for this problem.

The solution is to basically recreate that file and put an exit script into it

Right click your Desktop and choose New - Text Document

Put this text in that file:

Wscript.Quit

Then click File - Save As

At the bottom of the save as dialog, set save as type to *.*

Save the files as Maintenance.vbs

Note you must enter the vbs file extension yourself

Open Windows File Explorer

Navigate to:

C:\WINDOWS\system32\

Copy that file from your Desktop into that folder

Restart your PC

A_Unicycle wrote:

I actually just ran one using Malware Bytes, it didn't find anything.

I could try with another program, any recommendations?

Here's how to get rid of it, but doesn't help explain where it came from.

The Ryzen 3950x seems like a beast. They perhaps have topped what seemed untoppable in price/performance over the 3900x.

Godzilla Blitz wrote:
Malor wrote:

I just installed my first m.2 drive, and thought I'd pass along some info... (snip)

Thanks. I noticed that spot on my new motherboard and was thinking to add a drive there if I could find one cheap on Black Friday.

I got an Intel 660p for about $95. It's using QLC RAM, which means it may not last as long as earlier generations, but my Gen2 Intel drive hasn't had the wear meter move *at all* in eight or nine years. My Gen1 160-gigger is at 98% after ten, although it hasn't been used that much. I think I can trade away some of that durability for more space.

The speed's nice too, but as expected, it's not that big a deal. Going to SSD over spinning storage is a big deal, but on a desktop or for gaming, a fast SSD isn't that much better than a slow one. You don't really notice the speed boosts until you're really hammering on the drive, especially with multiple programs simultaneously. (that's presumably where NVME will really strut its stuff, where you're running a bunch of different apps simultaneously, all hitting the drive hard..... ideal for server usage.)

Of course, part of what I'm saying here is colored by the severe butchery that was done to the Haswell chips on Windows because of the Spectre bugs; their I/O speed was really clobbered, because Intel couldn't figure out a proper firmware fix. I'm only able to pull 650-700 megs a second out of it, about half what the drive can actually do.

Robear wrote:

NVME is not supported by SATA, but some NVME SSDs also support SATA mode, which will reduce their performance. A kind of backwards compatibility, I suspect.

My motherboard manual is extremely vague on this, but it sounds like two of the ports support SATA Express, which they seem to be claiming will do the same thing as the M.2 slot, being able to switch to either SATA mode or SATA Express. It's an either-or, and in the BIOS I can set the priority of who gets the PCI Express lanes. The other is limited to standard SATA mode.

So, at least on the surface, it seems like NVME on an SATA3 plug is possible. Nobody may actually be making any drives that support it, but I think it's possible.

The rest of your comment about NVME and AHCI not being compatible is probably right; I'm going to assume it is unless I hear otherwise. I'm still blurry on NVME, and your explanation sounds correct.

Chairman_Mao wrote:
A_Unicycle wrote:

I actually just ran one using Malware Bytes, it didn't find anything.

I could try with another program, any recommendations?

Here's how to get rid of it, but doesn't help explain where it came from.

Ugh I hate fixes like this one. The correct way to fix it in my opinion would be to find the call to run it in the Registry and delete it.

The whole point of it is that while it puts its signals on the PCIe bus (and in some systems, it’s even got a dedicated line right into the CPU), NVMe *bypasses* the PCIe controller functions that are needed to mediate communications with a hard drive. That’s why it’s so fast. It loses the latency of dealing with the controller functions in favor of passing data across the bus directly into the CPU. (Well, okay, actually that’s kind of a misnomer, since PCIe is switched into a root complex to talk to the cpu and RAM. If that’s outside the processor, okay, it’s *like* a controller and some latency is present in the wire from the PCIe switch and root complex into the processor and RAM. If it’s *inside* the processor, that part of the latency is orders of magnitude less once the packets leave the switched device network.)

There is no provision for a SATA M.2 slot or regular slot to bypass the SATA controller functions, so while an NVME drive can be used in SATA mode - going through the SATA controller to the CPU - if it has the appropriate code, it simply can’t run in NVMe mode from a SATA bus. It can’t directly connect it’s internal data channels to the SATA bus without mediation from the SATA controller.

That said, SATA Express was an attempt at building a SATA bus that used a pair of PCIe channels *in addition* to the SATA bus. So that’s a hybrid of a physical SATA device and a logical NVMe driver on a faster physical bus, simultaneously. Kind of... SATA and PCIe at the connector, and PCIe/NVMe at the driver level. (The problem was that doubling SATA 3 6GB/sec would take more than 2 years, and use lots of power and create lots of heat, while PCIe was doubling every two years). So this is not really NVMe on SATA; it’s SATA smeared on top of PCIe and NVMe. (I know, that’s kind of splitting hairs, but it’s necessary to understand why SATA is not going to get it’s own form of NVMe to compete directly).

Obviously confusing, and the ways of doing this turned out to be highly proprietary. Meanwhile, M.2 was developed, and that turned out to be better and smaller and use less power than mSATA, a competing attempt. M.2 can work with NVMe, SATA 3 and AHCI (the latter two will see less performance than NVMe, of course). So it won the interface wars in its generation.

So M.2 can host SATA SSDs on SATA buses, and NVMe SSDs on PCIe. But since NVMe is dependent on PCIe as its physical bus, it can only function on that bus. SATA is not capable of running NVMe.

I hope that’s not too confusing. Just trying to help.

TL;DR - SATA Express only worked because it actually used physical PCIe under the hood, in addition to its SATA connection.

Well, Wikipedia is contradicting at least parts of what you're saying. Their NVME page talks about the difference between it and AHCI; it's still a protocol that's quite like AHCI, but has really extensive command queuing and interrupt access, meaning that servicing multiple programs with minimal overhead should be easy. (in other words, at least theoretically, OSes could construct their queues and interrupts so that replies for Program A come in on interrupt 25, Program B on interrupt 53, and Program C on interrupt 516.)

But it's still a queued interface like AHCI, it's not something rebuilt from first principles. There are 65,000 queues, each of which can be 65,000 items long, but queues are still a thing. It's not direct memory access, it's a disk-style storage device. It's the same fundamental kind of thing as AHCI, just with vastly extended capabilities to allow SSDs to shine.

SATA Express, from what I can see on Wikipedia's page about it, is just hauling PCIe lanes over the SATA ports. It debuted in the Z97 chipset (which is what I happen to have). Critically, NVMe works over SATA Express. It is one of three possible transports on that layer; an SATAe device can be SATA-mode for legacy OSes, AHCI mode for almost any OS much past Win98, and NVMe mode for anything recent. If I understand the article correctly, a single device can support all three protocols, although presumably it would only be used in one mode at a time. SATAe's only real drawback seems to be that it only supports two PCIe channels per connector, as opposed to the four supported in the M.2 socket.

In other words, it really sounds like M.2, in NVMe mode, is about equivalent to two SATAe connections in one connector. There's no hint that NVMe over SATAe is any less efficient than NVMe over M.2, with the caveat that you can't get as many PCIe channels to an SATAe device over a single plug.

Well, I'll bow to Wikipedia's knowledge. I just did the best I could with what I know.

NVMe *does* work on SATA Express, but only because it's got the physical PCIe underneath. The point I was making, overall, is that NVMe absolutely depends on PCIe hardware channels, and SATA hardware channels cannot support the required bandwidth and latencies. With that understanding, it's easy to draw the line between what SATA and PCIe hardware can support. As I noted, SATA Express only does NVMe because it's a hardware hybrid that includes PCIe.

Y'all are missing the most important thing about using an m.2 drive: not having to cable manage any cables

Rykin wrote:

Y'all are missing the most important thing about using an m.2 drive: not having to cable manage any cables ;)

It is so true.

Rykin wrote:

Y'all are missing the most important thing about using an m.2 drive: not having to cable manage any cables ;)

True, that is a nice feature. As someone who tinkers around with ancient OSes, though, its lack of legacy support is a bit of an issue. I don't know if any drives actually DO this, but at least in theory, a device with an SATA port could support anything from DOS up through the most cutting-edge Win10 builds.

There must be, geeze, twenty or thirty people in that market, dammit.

Malor wrote:
Rykin wrote:

Y'all are missing the most important thing about using an m.2 drive: not having to cable manage any cables ;)

True, that is a nice feature. As someone who tinkers around with ancient OSes, though, its lack of legacy support is a bit of an issue. I don't know if any drives actually DO this, but at least in theory, a device with an SATA port could support anything from DOS up through the most cutting-edge Win10 builds.

There must be, geeze, twenty or thirty people in that market, dammit.

And 18-28 of them are probably using VMs

Any thoughts on the Ryzen 2600 vs. 3600? I currently have an FX8350. I'm looking to upgrade motherboard/CPU/RAM but wasn't really sure what the best path was at the moment. Is the $100 difference between the 2600/3600 fair for the performance difference?

The RDRAND instruction is borked in AMD 3000 chips right now; it totally doesn't work, while simultaneously *claiming* that it's working with the return value. This can cause absolute havoc in Linux, and could potentially mess up any software that uses random numbers, depending on how those numbers are generated. Any software that depends on the CPU, trusting it to generate random numbers when it says it's generating random numbers will be totally insecure.

Firmware patches may fix the problem, but they're rolling out pretty slowly.

Malor wrote:

The RDRAND instruction is borked in AMD 3000 chips right now; it totally doesn't work, while simultaneously *claiming* that it's working with the return value. This can cause absolute havoc in Linux, and could potentially mess up any software that uses random numbers, depending on how those numbers are generated. Any software that depends on the CPU, trusting it to generate random numbers when it says it's generating random numbers will be totally insecure.

Firmware patches may fix the problem, but they're rolling out pretty slowly.

That's a very interesting and weird bug. I read up on it some and a fix seems imminent. Still, should I be considering an i5 of some type as my higher end option and avoiding the 3000 series?

This list is called "Build, Interrupted."

A couple years back, I was about to build a new machine and got a good deal on a motherboard/CPU combo at MicroCenter. Life intervened, and I never got around to the rest of the build. Now I've got an MSI Tomahawk B350 motherboard and a Ryzen 5 1600x CPU, and I'm wondering if it still worth building around them. I have about an additional $500 I can put toward the build.

First, I guess, is gaming goals. I don't usually run cutting edge games, but I'd like to eventually get to 1440p 144 mHz (when I get a monitor that can support it, I'm currently 1080p and 60 mHz. Am I choosing a video card that gets me there eventually?

I noticed GameGuru's budget build includes a B450 motherboard and a Ryzen 2600 CPU, and it's only around $160. I'm trying to convince myself that the 1600x and b350 is going to be fine for the type of gaming I do, but I'm open to differing opinions. For perspective, my "current" machine is a Core 2 Duo.

I have a 1 TB drive I can add for storage. I'd like the 500 GB SSD for the boot drive because I have a 240 GB SSD at work and it's annoying to manage space if stuff (like Microsoft) likes being installed on the C: drive. I didn't go with NVMe because I'm not sure I'll notice or appreciate the different in ways that impact me (game performance) versus just boot times, but I'm still open to learning there's more to it.

I think I'm wrong on the RAM choice. I chose 2x16 GB sticks because the board supports 64 GB, and I wanted to be able to max it out (someday) without needing to get rid of 2x8 GB sticks first. However - if I'm going with an older MB/CPU, I'll probably want to upgrade those components before I worry about going from 32 GB to 64 GB of RAM, right? I could aim to have 4x8 GB sticks eventually and be fine until it's time for a new MB/CPU combo.

PSU, roast me, I'm never sure if I'm choosing something solid there.

I swapped out my original case (Antec P8) for GameGuru's recommendation, just to prove I can listen, despite what my wife and friends tell me

Input appreciated! The goal is spending less than $500, but a compelling argument in favor of a B450/Ryzen 2600 foundation could sway me (and I could upgrade my daughter's PC with the B350/1600x, maybe).

Use the 1600X to flash your motherboard BIOS to the latest, then sell off the 1600X and get a 2600 or 3600.

You're not going to need more than 32GB of RAM for gaming within the lifespan of this system. Even 32GB is somewhat overkill. That said Ryzen likes two sticks of RAM better than four. You might see a marginal performance increase from using RAM faster than 2666. I don't know specifically how much you can overclock the kit you have on that board, it's worth a try.

I am not familiar with the brand but NewEgg has an OLOy 32gig (2x16) @ 3200Mhz kit on sale for $99 for the next three days.

Either that or maybe this RAM sithload. Faster and slightly cheaper for same brand and even line it looks like.

Here's my alternative version of the build that comes out to $578 total.

First up, switched the CPU to a 2600 and picked a relatively cheap but not bottom-of-the-barrel B450 board out there. For a simple and inexpensive build, a microATX board is just fine.

Cut the RAM to 16GB (2x8). For the price point you're at, and RAM prices being what they are, spending the premium for 32GB of RAM makes no sense. Much better to bump that RAM speed up to 3200 instead. And even this microATX board has 4 RAM slots, so upgrading to 32GB later is an option. Like Middcore said, everything else in this system is going to be obsolete before you get to the point of needing more than 32GB of RAM.

Switched the SSD to a good (albeit not NVMe) M.2 drive because it's 2019 and who wants to fuss with 2.5" drives and SATA cables and crap anymore? The motherboard I picked actually has two M.2 slots. Shaved $5 off in the process.

Also switched out the power supply for the non-modular version to shave about $10 off, even though aside from that, I like the modular version better (and have that exact PSU powering one of my secondary systems). But wanted to keep this as close to $500 as possible. There's probably a few more bucks that could be shaved off here while still staying out of the garbage tier of PSUs, but I only use Seasonic now and I'll be damned if I'm going to talk someone out of a Seasonic that already has one in their build list.

Thanks for the feedback so far!

Legion, I live a couple miles from a MicroCenter. I figured I should check their bundles, and they have that MB/CPU combo for $165, $20 less than buying them individually. That makes your list only $58 more than my budget, and given how often I (don't) upgrade, it's probably money well spent.

Given the relatively low difference in price, I think that's the direction I'm heading. One question - the motherboard specs says DDR4 3200 OC; do I have to overclock in the BIOS to get the full benefit of the RAM you recommended?

With Black Friday coming up, I'll keep my eyes open for sales between now and Cyber Monday and see if I can save a few more bucks on the build. I might take a trip to MicroCenter this weekend, though, to see if they're planning on doing any better for the MB/CPU combo, or if I should jump on it now.

FridgeGremlin wrote:
Malor wrote:

The RDRAND instruction is borked in AMD 3000 chips right now; it totally doesn't work, while simultaneously *claiming* that it's working with the return value. This can cause absolute havoc in Linux, and could potentially mess up any software that uses random numbers, depending on how those numbers are generated. Any software that depends on the CPU, trusting it to generate random numbers when it says it's generating random numbers will be totally insecure.

Firmware patches may fix the problem, but they're rolling out pretty slowly.

That's a very interesting and weird bug. I read up on it some and a fix seems imminent. Still, should I be considering an i5 of some type as my higher end option and avoiding the 3000 series?

Do you use Linux? If not I wouldnt worry about it.. seems like it only affects newer Linux builds.