Have you ever heard of NVMe? Do you know what its benefits are? Do you know that IBMi V7R4 gives you opportunities to leverage this technology? Do you need IOPS power? Do you want to boost your systems by boosting your Batch? Do you want to be ready for db2 mirror for IBMi with internal disks? If the answer to each question is yes: read on!
Many of our customers have answered yes to most of these questions. In a world where everything has to go faster and faster, storage remains one of the weakest points in the chain of elements available to the computer.
It is true that in recent years, new technologies have appeared to boost the response time of transactions. However, everything still revolves around a protocol that has been around for ages: SAS +/- 1985! Both the SAS and SCSI protocol use SCSI commands. This is therefore a so-called "Serial" protocol. With disks, this was normal and efficient. And we saw disks of 7.2KRPM, 10 KRPM, 15 KRPM ... and of 20 KRPM ! We saw controllers with more and more cache: 12 GBytes and finally SSDs and FCMs (Flash Core Module). For the latter, we still use - or should I say used - the SAS protocol which is no longer optimized at all for modules that allow hundreds of thousands of IOPS. The SAS protocol being serial is the bottleneck for the real performance of these FCMs.
What is NVMe?
NVMe is a protocol optimized for the new storage media such as Flash that have response times measured not in milliseconds (ms) but in micro seconds (µs)! 1 ms = 1000 µs. As often, a drawing can replace several words and is more explicit. See for yourself:
As you can see, the NVMe stack has fewer layers compared to the SCSI stack. Of course, the gain of not having to go through those layers is already obvious. If moreover serialization is replaced by parallelism, you can imagine the gain obtained by optimizing the protocol for NVMe units such as Flash.
In order to make the best use of the NVMe protocol, firmware, drives and operating system must be written to use this new protocol. In other words, an IBM Power 9 with IBMi V7R4 allows modules to be used optimally.
NVMe and Power 9
At this stage, there are three types of NVMe modules for Power 9: 1.6 T Bytes, 3.2 T Bytes and 6.4 T Bytes! Due to the size, it is necessary to provide protection for these modules. Mirroring is proposed. It is thus necessary to have two boards of the same capacity and to mirror at the level of the board. In the Power 9 models there can be a maximum of 3 cards. If you opt for mirroring, you have a capacity of 6.4 T Bytes. This capacity is usually more than sufficient for configurations of this kind.
This kind of configuration is also, in my opinion, a prerequisite for another IBMi gem: db2 mirror for IBMi with internal disks. Mirroring requires additional writes and only "disks" with response times in the microsecond (µs) range will be able to deliver the expected performance.
As an indication, below is an excerpt from "IBM Storage and the new NVM Express Revolution". This graph shows us that the number of IOPS per NMVe unit is +/- 400,000 IOPS without losing performance! It also shows us that in a namespace context with 12 NVMe the difference is even bigger between Block and user-space mode.
Managing NVMe disks in IBMi is worth a chapter in itself. But just to make your mouth water, below is an example of how NVMe modules can be handled.
I'll see you on a future Blog explaining in more detail the technical part of namespaces configuration.
Another good reason to switch to IBMi V7R4.
Executive System Engineer @ EASI