You should offer ECC memory in your laptops


#1

Searching the internet, there is a growing interest in having a laptop with ECC memory (support). There are almost no models out there that provide this.

You already provide premium class laptops, for a user base that are likely very technical and will recognize and want this great feature.

In addition to this, it will give Librem even more exposure, to the user base that perhaps don’t care too much about other Librem features, but that want ECC in their laptops and are ready to pay extra for it. There is basically no competition in this market currently.

UPD: There is one other manufacturer on the market that started doing this: Lenovo. This has to mean that they have done some sort of market research and that there is real demand for this feature.
However, as many of you I’m sure know, Lenovo has been shown many times to be an untrustworthy company that install spyware/malware in their machines. They have been shown to use barely documented Windows features, to install their own services on clean install, using less-known BIOS options. They have been shown to replace files in the filesystem from BIOS (on older Windows versions). This is a big problem privacy-wise. Currently a lot of people would not trust Lenovo laptops or computers for anything privacy related.

So you see, Librem might just be a good match for ECC memory: they would have only 1 other company for competition, and that company is the one that is not going to be trusted by the community privacy-minded users. Librem is definitely much better on this front than Lenovo.


#2

I have to say that it does sound rather appealing.

People who are into the Purism project are power-users and nerds, and those types of people would be the ones that would like to have ECC memory. It’d make sense.

The thought of having a laptop that has NVMe Pro for storage and ECC for memory does sound sexy.


#3

There are a few things to be aware of in regards to ECC memory that could have a dramatic effect on how feasible or desirable it is.

  1. The CPU needs to support it. I think Intel mostly includes this on Xeon branded CPUs. Which are more expensive and desktop only.
  2. My experience with failed ECC memory is limited. The one time I saw this in action, the whole system was incredible slow. I had to watch and wait for characters typed on a USB keyboard to appear one by one.
  3. ECC memory is significantly more expensive.

With these factors in mind, I’m sure it would add to the price but not necessarily the value of any given laptop, whether made by Purism or not.


#4
  1. Unfortunately the CPU does need to support it. Even if technically ECC support is not that big of a deal, Intel has chosen to market their CPUs that way: to only offer CPU support in Xeon line, which is marketed toward businesses. However Xeons are not desktop-only, and are not that much more expensive for similar performance. For example Lenovo started producing some laptops with Xeon/ECC already.

  2. Not sure what you are referring to. If we are talking about memory chips manufactured by a big, well-known memory brand, ECC memory will not be any more likely to “fail” than a non-ECC memoery. If you are talking about the rare occasions where the memory chip actually fails, breaks, stops functioning - that can happen with any memory, but it is much more likely that other parts of a laptop fail, so this should affect to ECC/non-ECC memory choice.

  3. ECC memory is usually 10-20% more expensive than a non-ECC variant. For an 8 GB memory that would translate to about 15-20 $ difference. Not that big of a deal for many business clients.

ECC memory would absolutely add to the value of a laptop, at least for some users, as is indicated by repeated searches and threads of people specifically looking for this in a laptop. Of course, not everyone is looking for that. But it seems that librem laptops are not geared towards gaming or leisure so much as towards business uses, and many businesses do care about their work not being destroyed by errors of regular memory.


#5

I think the big difference here is the TDP which is for the skylake i7-6500U in the librem15 is 15W, which makes it easy to build an utrabook as i think most people would like to have. The Xeon form the lenovo P70 you mentioned is a Xeon E3-1505M v5 has a TDP of 45W which is okay for worksation rplacment as the p70 with a 96 WHr battery, but its a totally different notebook compared to the reacent librems. I think the market for this is even in the techy developer community small. The people how want real fast hardware will mostly stick to a desktop with a cheap laptop for travelling. And the rest wants slim ultrabook.


#6

Not sure what you are referring to.

The whole point of ECC memory is that the system has a different behavior when memory fails. Instead of crashing, the system continues to run. It’s just been my experience that when this happens it runs VERY slowly. Maybe my experience with it was unusual, I dont know. It definitely did not impress me with the practical utility of this technology though. I understand people would buy it anyway for the acronym buzzword, but at some point extra money should equal extra performance. Not sure this does that.

I’ll take your word about the price though. I haven’t looked recently because my experience with it was remarkably unimpressive.


#7

Alright, it sounds like maybe you don’t know about all the benefits of ECC memory, so I’ll just explain why I think it’s a good idea. It might be the stuff you already know, but might be new to some people.

One of the biggest dangers of non-ECC memory is that it can randomly bit-flip, without any warning whatsoever, without causing errors or crashes. If the bitflip (changing a random 1 into 0, or vice-versa) happens somewhere in the program code, or the kernel - that may lead to a crash. But often it does not, because the bitflip happens in the data. Now the danger of this is that your data can get corrupted, without you even knowing about it for a long time! One bit might not sound like much, bit if this happens in conjunction with encryption or archiving, one bit might just be enough to make the whole file or archive unreadable. If you don’t know about it, you might store this file on a hard drive for a long time, longer than what your backups cover, until you realize that the file is corrupted and you don’t have older copies of it.

So in this case, even if some systems show the slowing down behavior - (even though I’ve never experienced this due to ECC) - it’s a much much better option than silently corrupting your data. If the slowdown happens, you can just save all the data and restart. Whereas without ECC you wouldn’t know the data was corrupted, or you would just get a crash.

Such bitflips in regular memory is not a hypothetical scenario that happens once in a lifetime of a universe, this is a common occurence. “There is roughly 3% chance of error in RAM per DIMM per year.”
http://gynvael.coldwind.pl/?id=403
https://news.ycombinator.com/item?id=14206635

There was even a case some time ago of someone hacking google by registering domain names that would get used by google servers due to bitflip errors. For example Google would call “cdn(dot)google(dot)com”, and then sometimes there would be (very specific, so extremely rare) bitflip that would change the string in the google server from “cdn(dot)google(dot)com” to “cdb(dot)google(dot)com”, due to a bitflip - and that server would instead try to load data from that bogus server. The hackers have registered a bunch of these domain names based on all bitflip combinations, and actually started receiving a great deal of internal Google traffic. (This was some time ago, when strangely enough Google did not use ECC on all it’s servers.)

The point is, this is a real problem.
If your PC is only used for gaming, movies, and some schoolwork, then paying extra for ECC probably doesn’t make sense. But if you do any important work, it just seems extremely stupid not to pay the little extra and know that your data will be more safe.

On a related note, I do see how Xeon’s power consumption (and heat generation profile) is an issue, but perhaps they could simply underclock them? Xeons are usually more powerful than mobile chips, so underclocking them would still provide a powerful enough alternative, without pushing the heat emission envelope too high.


#8

According to Wikipedia that’s not quite the case.

So the intent is for it to “correct” errors on the fly.

If it’s just keeping the system from crashing and causing it to run super slow, it’s not working as intended. Sounds like what you experienced was some other issue that was causing the machine to lag badly.

Wikipedia also notes that the difference in performance has become negligible:

Thus, I don’t really see what’s keeping it from being an option other than the CPU’s compatibility limitations. Worth talking to Intel about I suppose, but they seem intent on monopolizing this for their Xeon line.