Monthly Archives: March 2019

Intel’s Optane: Two Confusing Modes. Part 2) Memory Mode

Exploding HeadThis post is the second part of a four part series in The SSD Guy blog to help explain Intel’s two recently-announced modes of accessing its Optane DIMM, formally known as the “Intel Optane DC Persistent Memory.”

Memory Mode

The most difficult thing to understand about the Intel Optane DC Persistent Memory when used in Memory Mode is that it is not persistent.  Go back and read that again, because it didn’t make any sense the first time you read it.  It didn’t make any sense the second time either, did it?

Don’t worry.  This is not really important.  The difficulty stems from Intel’s marketing decision to call Optane DIMMs by the name “Intel Optane DC Persistent Memory.”  Had they simply called them “Optane DIMMs” like everyone expected them to then there would have been Continue reading

What is an SSD Trim Command?

TrimmerAlthough the Trim command has been defined for nearly a decade, for some reason I have never written a post to explain it.  It’s time for that to change.

Trim is something that was never required for HDDs, so it was a new command that was defined once SSDs became prevalent.  The command is required because of one of those awkward encumbrances that NAND users must accommodate: Erase before write.

NAND flash bits cannot be altered the same way as an HDD.  In an HDD a bit that’s currently set to a “1” can be re-written to a “0” and vice versa.  Writing a bit either way takes the same amount of time.  In NAND flash a 1 can be written to a zero, but the opposite is not the case.  Instead, the entire block (4-16k bytes) must be erased at once, after which all bits are set to a 1.  Once that has been done then zeros can be written into that block to store data.  An erase is an excruciatingly slow operation, taking up to a half second to perform.  Writes are faster, but they’re still slow.

Let’s say that a program needs to Continue reading

Intel’s Optane: Two Confusing Modes. Part 1) Overview

Exploding HeadIntel recently announced two operating modes for the company’s new Optane DIMMs, formally known as “Intel Optane DC Persistent Memory.”  The company has been trying to help the world to understand these two new operating modes but they are still pretty baffling to most of the people The SSD Guy speaks to.  Some say that the concepts make their heads want to explode!

How does Optane’s “Memory Mode” work?  How does “App Direct” Mode work?  In this four-part series will try to provide some answers.

Like all of my NVDIMM-related posts, this series challenges me with the question: “Should it be published in The SSD Guy, or in The Memory Guy?”  This is a point of endless confusion for me, since NVDIMM and Intel’s Optane blur the lines between Memory and Storage.  I have elected to post this in The SSD Guy with the hope that it will be found by readers who want to understand Optane for its storage capabilities.

Memory Mode is the easy sell for the short term.  It works with all current application software without modification.  It just makes it look like you have a TON of DRAM.

App Direct Mode is really cool if Continue reading

What is SNIA’s Persistent Memory Programming Model?

SNIA Persitent Memory Summit LogoIn this post The SSD Guy will discuss the SNIA Nonvolatile Memory (NVM) Programming Model, a framework to allow standard applications to take advantage of nonvolatile, or persistent, memory in any system that includes persistent memory,

This model is enormously important to the future of computing, yet few people even know that it exists.  It’s a fundamental change to the way that application programs access storage that will have significant ramifications to computer architecture and performance over the long term.

Here’s why: The industry is moving towards larger-scale systems that mix persistent memory with standard DRAM into a single memory address space.  Persistent memory has an advantage over volatile DRAM, since it maintains data after power is removed or lost.  Because of this certain application programs will want to know which memory is volatile and which is persistent and to take advantage of whatever persistent memory the system might provide.  I say “Larger-Scale” systems because small systems often combine Continue reading