NVMe Over Fibre Channel For Dummies
NVMe Over Fibre Channel For Dummies
by Brian Sherman,
Marcus Thordal, and
Kip Hanson
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
NVMe Over Fibre Channel For Dummies®,
IBM/Brocade 2nd Special Edition
Published by
John Wiley & Sons, Inc.
111 River St.
Hoboken, NJ 07030-5774
www.wiley.com
Copyright © 2019 by John Wiley & Sons, Inc., Hoboken, New Jersey
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any
means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections
107 or 108 of the 1976 United States Copyright Act, without the prior written permission of the Publisher. Requests to
the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River
Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions.
Trademarks: Wiley, For Dummies, the Dummies Man logo, Dummies.com, and related trade dress are trademarks
or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates in the United States and other countries,
and may not be used without written permission. IBM and the IBM logo are trademarks or registered trademarks
of IBM Corporation. Brocade and the Brocade logo are trademarks or registered trademarks of Broadcom Inc. All
other trademarks are the property of their respective owners. John Wiley & Sons, Inc., is not associated with any
product or vendor mentioned in this book.
LIMIT OF LIABILITY/DISCLAIMER OF WARRANTY: THE PUBLISHER AND THE AUTHOR MAKE NO REPRESENTATIONS
OR WARRANTIES WITH RESPECT TO THE ACCURACY OR COMPLETENESS OF THE CONTENTS OF THIS WORK
AND SPECIFICALLY DISCLAIM ALL WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS
FOR A PARTICULAR PURPOSE. NO WARRANTY MAY BE CREATED OR EXTENDED BY SALES OR PROMOTIONAL
MATERIALS. THE ADVICE AND STRATEGIES CONTAINED HEREIN MAY NOT BE SUITABLE FOR EVERY SITUATION. THIS
WORK IS SOLD WITH THE UNDERSTANDING THAT THE PUBLISHER IS NOT ENGAGED IN RENDERING LEGAL,
ACCOUNTING, OR OTHER PROFESSIONAL SERVICES. IF PROFESSIONAL ASSISTANCE IS REQUIRED, THE SERVICES OF
A COMPETENT PROFESSIONAL PERSON SHOULD BE SOUGHT. NEITHER THE PUBLISHER NOR THE AUTHOR SHALL
BE LIABLE FOR DAMAGES ARISING HEREFROM. THE FACT THAT AN ORGANIZATION OR WEBSITE IS REFERRED TO
IN THIS WORK AS A CITATION AND/OR A POTENTIAL SOURCE OF FURTHER INFORMATION DOES NOT MEAN THAT
THE AUTHOR OR THE PUBLISHER ENDORSES THE INFORMATION THE ORGANIZATION OR WEBSITE MAY PROVIDE
OR RECOMMENDATIONS IT MAY MAKE. FURTHER, READERS SHOULD BE AWARE THAT INTERNET WEBSITES
LISTED IN THIS WORK MAY HAVE CHANGED OR DISAPPEARED BETWEEN WHEN THIS WORK WAS WRITTEN AND
WHEN IT IS READ.
For general information on our other products and services, or how to create a custom For Dummies book for your
business or organization, please contact our Business Development Department in the U.S. at 877-409-4177,
contact [email protected], or visit www.wiley.com/go/custompub. For information about licensing the For
Dummies brand for products or services, contact BrandedRights&[email protected].
10 9 8 7 6 5 4 3 2 1
Publisher’s Acknowledgments
We’re proud of this book and of the people who worked on it. Some of the
people who helped bring this book to market include the following:
First Edition Co-author: Production Editor: Siddique Shaik
Curt Beckmann Brocade Contributors:
Project Editor: Martin V. Minner Marc Angelinovich,
Editorial Manager: Rev Mengle AJ Casamento,
Howard Johnson,
Executive Editor: Katie Mohr David Peterson,
Business Development David Schmeichel
Representative: Karen Hattan
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Table of Contents
INTRODUCTION................................................................................................ 1
About This Book.................................................................................... 1
Foolish Assumptions............................................................................. 2
Icons Used in This Book........................................................................ 2
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Familiarizing Yourself with NVMe over Fibre Channel.................... 32
Experimenting in your lab............................................................ 32
Migrating your LUN to a namespace........................................... 33
Transitioning to production.......................................................... 34
iv NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Introduction
U
nless you’ve been holed up in Siberia herding reindeer
since the launch of Sputnik 1, you probably know that your
kid’s hand-me-down iPhone 3 could whup the Apollo 13 in
both computing and storage capacity. And you likely are aware
that the intense pace of innovation is continuing. Today’s net-
work speeds are not only millions of times faster, but carry mil-
lions of times more data per second. Processing speed has grown
exponentially. As for storage, the contents of the entire Library of
Congress can be squeezed into an affordable disk array. Times
have indeed changed.
Simply put, NVMe over Fibre Channel has it all. It has the ultra-
low latency needed for working memory applications, with the
reliability that’s critical to enterprise storage. Because Fibre
Channel, as all network geeks know, is a premium datacenter
network standard, NVMe over Fibre Channel is able to leverage
fabric-based zoning and name services. Best of all, NVMe over
Fibre Channel plays well with established Fibre Channel upper-
layer protocols, enabling a low-risk transition from SCSI (short
for Small Computer System Interface) to NVMe without the need
to invest in experimental infrastructure.
Introduction 1
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Foolish Assumptions
Your knowledge of network and storage technology is likely well
beyond that of your Aunt Mary, who calls every weekend asking
for help with her Facebook account. If not, this book offers plenty
of reminders and sidebars to guide you through the more difficult
parts, and to help decipher the endless, confusing acronyms lurk-
ing around every corner of the IT world.
Pay special attention to the Tip icons. They contain small bits of
information that will make your job lots easier, and prevent hav-
ing to order late-night pizza delivery because you’re stuck in the
server room reconfiguring a storage array.
If you’re one of those who spends his or her days reading thick
hardware manuals, you’re bound to forget things along the way.
If so, the Remember icon might just be your new best friend.
2 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
IN THIS CHAPTER
»» Classic storage versus classic memory
Chapter 1
Exploring NVMe over
Fibre Channel
T
his chapter offers a brief tutorial on NVMe (Non-Volatile
Memory Express) over Fibre Channel. We introduce (or
reintroduce, for you veterans) a bunch of confusing acro-
nyms, discuss the merits of solid-state storage and see how it
compares to memory, and break down the component parts of
this exciting, relatively new technology. We’d like you to under-
stand why it might just be the best thing for your organization
since pocket protectors.
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
or server storage. SCSI on Fibre Channel is called, boldly enough,
Fibre Channel Protocol (FCP).
4 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
NVMe over Fabrics (aka NVMe-oF), which defines how NVMe
commands can be transported across different fabrics in a con-
sistent, fabric-independent way (see Figure 1-2). That makes life
a lot easier for software developers!
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
In early 2017 (after NVMe-oF 1.0), a group at NVM Express
advanced an effort to map NVMe over TCP (without RDMA) so
NVMe-oF can run in existing datacenters that lack RDMA support.
6 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
»» Classic enterprise storage is relatively slow compared to
dynamic random-access memory (DRAM), with extensive
error checking and read/writes that are often sequential.
Memory is designed to be fast but transient.
»» Hard disk drives (HDD) and solid-state drives (SSD) scale far
beyond normal memories. They are cheaper per bit and can
persist their data when powered down, which is important
for archiving.
»» Enterprise storage also supports a range of service-level
agreements (SLAs), with cool features like redundant array
of independent disks (RAID), replication, deduplication, and
compression. Try that with memory.
Scale GB to TB GB to PB Storage TB to EB
So, memory and storage still look different and that’s likely to con-
tinue. To paraphrase Mark Twain, reports of the convergence of
memory and storage may be somewhat exaggerated. Perhaps we can
say that there is something of a trend toward convergence, rather
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
than an imminent event. We can also say that there’s an emerging
convergence of protocols for shared memory and shared storage.
On errors
While understandable, it’s somewhat ironic how memory errors
are largely tolerated (or at least not eliminated) in computing,
while storage errors are not. This is true at a variety of tiers.
Laptops (user-grade compute) typically have no error correction
on DRAM, but have CRC error detection built into drives. Serv-
ers (enterprise-grade compute) have ECC DRAM, which corrects
single-bit errors but simply aborts or shuts down on dual-bit
errors. By contrast, enterprise-grade storage includes redun-
dancy in some form, such as RAID or erasure coding.
8 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Accelerating Access to Flash
Flash is disrupting the storage world in a big way, but it’s hardly a
first for the industry. The storage market is such a poster child for
disruption that way back in 1995, Harvard’s Clayton Christensen
used it as a prime example in his classic Harvard Business School
paper on disruption. The early disruptions were more about size
and cost, while flash is more about performance.
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
SCSI’s numerous extensions and extended support for legacy
applications have resulted in a protocol stack that is sluggish in
comparison to the NVMe stack, which has dramatically enhanced
queuing and has been simplified and optimized for both semicon-
ductor memory and today’s operating systems (see Figure 1-3).
10 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
»» Enhanced command queuing: FC-NVMe exposes the
enhanced queuing capabilities of NVMe, allowing thousands
of parallel requests across a single connection. With today’s
multithreaded servers and virtual machines running dozens
to hundreds of applications, the benefits of parallelism are
massive.
»» Fibre Channel Protocol (FCP): Fibre Channel Protocol is, like
namespace, an odd moniker for what is really “SCSI over Fibre
Channel.” FCP is not about basic Fibre Channel; it is about
the way SCSI features were implemented on top of Fibre
Channel.
»» Leveraging FCP: Without going into the gory details, you
should know that NVMe over Fibre Channel uses a new
FC-NVMe frame type for non-I/O communications while
reusing the FCP frame type for I/O operations. So, if you
capture all the frames running across an NVMe-over-FC
interface, you will see FCP in the mix.
»» Other protocols: The name FCP for SCSI-on-FC might be
partly responsible for a perception that Fibre Channel is
limited to SCSI, but it’s important to remember that SCSI is
not the only popular protocol used with FC. The mainframe
storage protocol FICON runs over FC, and NVMe is another
protocol that now runs on top of FC (which is the whole point
of this book).
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Fabrics with none of the disruption entailed in building parallel
infrastructure.
At the same time, other consumers of that data asset may only
need high-speed read access to that data. It may make sense to
publish (using the dual-protocol concurrency of your Fibre Chan-
nel fabric) your master storage volume to a “working reference
memory” on an NVMe-over-Fibre Channel drive. Such an image
could be read-only and would have no need for features that could
drive up latency or cost. By using memory-oriented NVMe-over-
Fibre Channel arrays, you may save money as well.
12 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
IN THIS CHAPTER
»» Reviewing Fibre Channel’s place in the
storage ecosystem
»» Realizing reliability
Chapter 2
Delivering Speed and
Reliability with NVMe
over Fibre Channel
E
thernet was already the mainstream network of choice when
Fibre Channel (FC) first started shipping in 1997. Ethernet
was well on its way to overrunning protocols like Token Ring
and asynchronous transfer mode (ATM), and many in the net-
working community doubted whether FC had any future at all.
CHAPTER 2 Delivering Speed and Reliability with NVMe over Fibre Channel 13
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Reviewing Fibre Channel’s Place
in the Storage Ecosystem
Ethernet remains the primary transport for communication
between servers. There are, however, distinct advantages to using
Fibre Channel in a storage-centric environment. Traditional
Ethernet, including most Ethernet deployed today, doesn’t do
much about network congestion. Instead, it pushes the responsi-
bility of reliable transport to the upper-layer protocols. If you pre-
tend for a moment that your network is like a freeway at rush hour,
Ethernet allows unlimited cars (frames) to enter the onramps, but
then steers them into the ditch (drops the frames) when the free-
way runs out of space. For those cars that don’t reach their desti-
nation, no biggie: Transmission Control Protocol (TCP) patiently,
hesitantly, tries again, sending as many cars as necessary, even if
there’s already a car crash up ahead.
14 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
This section focuses on storage metrics; they are what the stor-
age consumer ultimately cares most about, and they better enable
apples-to-apples comparisons between different NVMe over Fab-
rics options. (For a peek at fabric metrics, see the sidebar, “Fabric
Metrics.”) The storage community has long used three key met-
rics for measuring performance:
»» Latency
»» Throughput
»» Input/output operations per second (IOPS)
FABRIC METRICS
Fabric metrics can often resemble storage metrics, and can some-
times cause confusion if you’re not familiar with their distinct mean-
ings. Both storage and networking folks should be alert to the
subtleties to avoid embarrassing apples-versus-oranges fruit salad
episodes.
CHAPTER 2 Delivering Speed and Reliability with NVMe over Fibre Channel 15
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
The relative importance of these performance indicators depends
a great deal on the user application. Systems focused on minimiz-
ing response time value latency above the other metrics. Stream-
ing high definition video requires huge amounts of data, so good
throughput will be paramount, and the heavy read/write activ-
ity seen in databases calls for high numbers of IOPS (pronounced
eye-ops). Even the experts vary. One calls latency the “king” of
storage metrics while another refers to IOPS as the “grandfather.”
Storage metrics
Here’s a quick introduction to the key storage metrics:
16 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Typically, a device’s IOPS metric is higher for smaller I/Os.
That’s why quoted IOPS metrics are often for an I/O size
such as 4KB. However, many applications that demand
high IOPS use larger I/O sizes, such as 64KB. You need to
look closely to ensure that your device IOPS metric is aligned
with what your application needs.
In a simple case, IOPS are closely related to latency. If you
imagine a connection where a 4KB read operation takes
1 ms, you might expect to be able to perform 1,000 of
those I/Os in a second, and indeed that might be the case.
But because this simple picture doesn’t always hold true
(more on this later in the chapter), it’s useful to check both
latency and IOPS metrics.
CHAPTER 2 Delivering Speed and Reliability with NVMe over Fibre Channel 17
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
investigation into system behavior. IBM and Brocade, a Broad-
com Inc. Company, have long recognized that the expectations of
Fibre Channel customers (unlike the commodity-biased Ethernet
market) justify an investment in analytics tools. Those customers
who are seeking the performance benefits of NVMe technology
are especially likely to find themselves in need of tools for
optimizing their environments. (For more information, see the
sidebar, “Fabric Vision Features.”)
18 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Flow Monitor: Provides comprehensive visibility into flows within
the fabric, including the ability to automatically learn flows and non-
disruptively monitor flow performance.
CHAPTER 2 Delivering Speed and Reliability with NVMe over Fibre Channel 19
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
a 1,000 IOPS metric. However, when reads are overlapped (later
reads are sent before earlier reads have completed), the device
may deliver a 1,500 IOPS metric for 256KB reads.
20 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
parallel, redundant, active-active fabrics, which offer both reli-
ability and added performance. Similarly, Fibre Channel’s built-in
credit-based flow control offers reliability while also improving
performance.
CHAPTER 2 Delivering Speed and Reliability with NVMe over Fibre Channel 21
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
The designers of NVMe were aware of the trends, and defined
the protocol’s queuing depths accordingly. NVMe supports a vast
64k queues with a depth of 64k commands each.
Realizing Reliability
Everyone wants reliability: reliable cars, reliable employees, reli-
able Internet. But without reliable data, the preceding examples
might be difficult to attain.
22 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
and you’ve had enough experience to know where redundancy
makes sense. For enterprise storage customers, it’s a matter of
economics; the right amount of redundancy enables you to deliver
“five 9’s or better” reliability, keeping your customers happy.
CHAPTER 2 Delivering Speed and Reliability with NVMe over Fibre Channel 23
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
avoid packet loss, but DCB still has some notable interoperability
challenges.
Security
Obviously, if you are treating your frames like loved ones, you
need to protect against inappropriate human actions as well,
whether those are simple mistakes or something more trou-
bling. Fibre Channel offers extra security in a number of ways.
Fibre Channel is already trusted to keep the world’s most impor-
tant data secure, and Fibre Channel brings this security model to
NVMe over Fabrics.
24 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
IN THIS CHAPTER
»» Identifying your situation
Chapter 3
Adopting and Deploying
FC-NVMe
Y
ou’ve done all your homework. You’ve read a bunch of
manuals, gone to a few seminars, and talked to colleagues.
Everyone on your team agrees it’s time to move forward
with NVMe-over-Fibre Channel adoption in your organization.
Only one big question remains: Where do you start?
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
»» The Fibre Channel fabric must be Gen 5 (16 Gbps), or
better yet, Gen 6 (32 Gbps). Of course, Gen 7 (64 Gbps)
also supports FC-NVMe.
»» Servers using NVMe over Fibre Channel need Gen 6
(32 Gbps) host bus adapters (HBAs); Gen 6 HBAs also
work with Gen 5 fabrics.
»» You need a storage device that supports FC-NVMe frame
types. This can be an FC-NVMe-enabled array, or, for early
familiarization, a server with an FC-NVMe HBA running in
target mode can fill the role of storage target.
26 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
goal is to apply the technology to an existing storage asset. With
concepts like big data analytics, data mining, data lakes, artificial
intelligence, machine learning, and deep learning gaining trac-
tion, the value of everyone’s data assets is climbing rapidly. This
makes a top-notch, high-performing storage solution even more
crucial than in days past, and at the same time highlights the
importance of keeping risk to a minimum.
Most often, when an existing data asset is involved, you are look-
ing at a “brownfield” (as opposed to a “greenfield”) scenario.
Migration from legacy architecture, which is typically built on a
SCSI infrastructure, to one based on NVMe should be done in an
incremental fashion after lab validation and allow for the option
of rolling back architectural changes. The ideal adoption strategy
includes a process and infrastructure that allow for such a model.
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Exploiting Dual-Protocol FCP
and FC-NVMe
IT people are responsible for company data and productivity, and
therefore rightly concerned about risk reduction (“de-risking,”
in geek speak).
28 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
FIGURE 3-2: Dual-protocol infrastructure (recommended).
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
regularly “published” to the latest rocket-fast FC-NVMe
Channel arrays, allowing other applications to use the data
as “working memory.” Again, this can be achieved with
existing infrastructure.
The reality of the FCP/FICON dual protocol SANs is that they are not
aimed at a long-term transition from one to the other, but offer an
enduring “bridge” between the two realms. Because the mainframe
and open systems are architecturally different, there is no notion of a
gradual migration of applications from one side to the other, and so
normal application servers are not configured to use both protocols.
30 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Zoning and name services
Network administrators use zoning to improve security. Two
approaches to zoning are available:
You may come across references to hard and soft zoning. Modern
FC fabrics use hard zoning, in which robust silicon-based logic
blocks traffic between nodes that are not allowed to reach each
other. In contrast, early products used software to do soft zoning.
Unable to block traffic, the software hid information. It was like
covering your address instead of locking your door. Sensibly, soft
zoning is no longer used.
The point is that FCP and NVMe over Fibre Channel can both lev-
erage FC zoning. Fibre Channel’s zone services are implemented in
the fabric, which is a different approach from those used by com-
peting technologies. Consequently, the results are more predictable
and easier to manage, reducing the opportunity for security holes.
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Fibre Channel’s ability to deliver a dual-protocol FCP/FC-NVMe fab-
ric provides a clearly mapped forward path to interoperability. HBA
vendors are creating drivers that leverage FCP for device discov-
ery, then check those devices for FC-NVMe traffic support. Enter-
prise storage vendors who offer SCSI-over-FC arrays are motivated
to support this two-step approach as well. Newcomer NVMe array
vendors interested in the FC market can leverage the NVM Express
standard mapping from SCSI to NVMe, and they will most likely
follow the model as well in order to appeal to existing FC customers.
Go easy. You’ve already learned all you can about this exciting
technology, so now it’s time to roll up your sleeves and start play-
ing. Set aside time to become familiar with the nuances of NVMe
over Fibre Channel. Go through the vendor’s interoperability
matrix and determine how your particular setup is going to work.
Then look beyond your test environment, giving thought to how
NVMe over Fibre Channel will fit into your production system.
Not sure where to start? Here are some steps a typical IT department
might take when establishing an NVMe-over-Fibre Channel test lab:
32 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
»» Explore the HBA config and storage array options you’ve
read so much about.
»» Configure a volume to use the NVMe array. The details
depend on your NVMe array management tools, but in
general, this procedure is similar to provisioning a LUN. In
NVMe, a namespace ID (NSID) is analogous to a LUN in SCSI.
»» Copy a file from the internal drive to the NVMe volume and
back again.
»» Run your preferred performance testing application (such as
Iometer) to benchmark your NVMe volume. Compare it to
your internal volume.
»» Lather, rinse, and repeat until your paranoid nature is quelled.
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
applies here: Be prepared! You should have enough information
by now to recognize whether the support request is linked to the
recent change or not. The baselines you made earlier will help.
It’s all well and good that you’re now an NVMe-over-Fibre Channel
Jedi Knight, but what happens when you go on vacation, or prob-
lems arise during the night? Unless you like receiving phone calls
while skiing the slopes of Aspen, you’d better make sure the rest of
your crew is up to speed and good documentation is in place before
going live.
Transitioning to production
Hold on tight, you’re going live! Setting aside all the nail biting and
late night pizza parties, moving a test system to production is an
exciting time. Because your breast now swells with confidence and
understanding, it’s time to start selecting and prioritizing which
applications and volumes are the best place to begin the rollout.
Just as you did in the lab, make sure that all your management
tools have been properly refreshed for FC-NVMe. You don’t want
to start a cross-country journey and then realize that you’ve for-
gotten the map, the gas tank is empty, and the rear tires are low
on tread. You’re certainly going to be anxious to share the fruits of
your labor, but be sure not to shortchange this last — and in many
ways most important — part of the process.
Finally, schedule the cutover for a time that won’t interfere with
your customers (those people whose eyes glaze over when you
tell them to reboot), and make certain everyone in the company
knows about the looming transition. There should be no surprises
for anyone (especially you) and all should enjoy the journey down
the NVMe-over-Fibre Channel superhighway.
34 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
IN THIS CHAPTER
»» The long and short of Remote Direct
Memory Access
»» InfiniBand
»» iWARP
»» RoCEv2
Chapter 4
Comparing Alternatives
to NVMe over Fibre
Channel
I
n most cases, having alternatives is a good thing. This is true
whether you’re deciding which color carpeting to install in
the master bedroom or which way to get home at rush hour.
NVMe over Fabrics also offers alternatives, although some might
not be to your liking. It can be run over fabrics such as iWARP,
RoCEv2, or InfiniBand, or simply NVMe over TCP. This chapter
looks at a few of the pros and cons of each and examines such
performance considerations as wire speed, architecture, virtual-
ization, and which special features are supported. Of course, per-
formance is meaningless in the face of risk, so this chapter also
evaluates predictability and potential disruption.
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
and emotions would be shared directly, brain to brain, greatly
increasing communication speed and eliminating any chance of
misinterpretation.
Yet by the time FC was being “productized,” the game had begun to
change. Fibre Channel’s main claim was speed, so pressure to opti-
mize was high. Chip technology allowed for more complexity, and the
Fibre Channel/SCSI stack was not constrained by the same backward
compatibility challenges that IP stacks faced. FC was focused on one
“application” (storage), and had a simpler layer structure than TCP/IP/
Ethernet. For all these reasons, Fibre Channel was more motivated,
and more able to implement a network adaptor/driver/stack architec-
ture that eliminated the single copy. That’s precisely what happened.
Fibre Channel has been quietly delivering “zero copy” for the past two
decades.
36 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
NVM Express (https://nvmexpress.org) hosts a white paper
that describes two types of fabric transports for NVMe: NVMe over
Fabrics using RDMA, and NVMe over Fabrics using Fibre Channel.
Despite this explicit recognition of FC as an NVMe fabric, some
RDMA advocates will claim that because NVMe over Fibre Channel
does not use RDMA, it somehow is not an NVME fabric, despite
the fact that NVMe over Fibre Channel does not need RDMA, as
we review later in this chapter. FC uses native direct placement
capabilities while also enabling the dual-protocol support that
allows for a low-risk transition from SCSI to NVMe. If you have
any reservations about those claims, hang on tight: We’re about
to defuse them.
InfiniBand
InfiniBand (IB) came on the scene more recently than Ethernet
or Fibre Channel. Focused on server cluster communication, IB is
designed to deliver RDMA natively. IB is focused on speed rather
than mainstream adoption. Special adapters and switches are
required to use IB, which is one reason it never reached broad
acceptance or partner compatibility except in specialized HPC
applications. In fact, only one IB chip supplier at the time of this
writing offers InfiniBand products, a factor that discourages new
adopters and raises questions about the cost of switching to the
InfiniBand protocol. That sole IB chip vendor seems to have rec-
ognized this reality, and has therefore focused its NVMe over Fab-
rics marketing efforts on promoting RoCE.
iWARP
Though not widely deployed, iWARP is nearly ten years old. The
acronym stands for “Internet wide-area RDMA protocol,” an IETF
(Internet Engineering Task Force) standard described in five RFCs
in 2007, and then updated by three more RFCs as recently as 2014.
iWARP is designed to run on top of TCP, which is categorized as
a reliable streaming transport protocol because it includes var-
ious techniques to ensure that every byte that is sent has been
received by the sender. But iWARP’s TCP basis is not ideal for stor-
age because TCP normally ramps up transmission speeds slowly.
Because many storage applications have traffic patterns that
include so-called “bursty elephant flows,” the slow-start behav-
ior of TCP leads to latency challenges and reduced IOPS metrics.
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
features that older versions lack. Early TCP implemented a “slow
start” mechanism that began transmissions slowly in order to
avoid overflowing network buffers. If protocol timeouts or receiver
ACK messages indicate that some transmissions were not received,
traditional TCP retransmits and backs off on transmission band-
width (it “collapses the TCP window”). Some newer versions of
TCP, such as Data Center TCP (DCTCP), have features that work
better in a datacenter environment, but these features are not
compatible with WAN usage. This is why datacenter architects and
implementers face a challenge if they want to use TCP for high-
performance use cases, and are faced with one of three options:
38 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
This is strongly reminiscent of the burdensome SCSI stack that
NVMe was created to replace.
Yo, Rocky
RoCEv2 is short for RDMA over Converged Ethernet, version two.
It’s pronounced “Rocky vee two,” and if you call it anything else
you’ll be laughed out of the server room. It is an odd standard in
that it was developed by the InfiniBand Trade Association rather
than IETF or IEEE, where most IP and Ethernet standards are
developed and maintained.
(continued)
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
TABLE 4-1 (continued)
iWARP and RoCEv2 use RDMA Does not need RDMA; leverages FCP
(TCP does not)
Low latency if RDMA used with RNICs Same zero copy performance
as with FCP
40 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
“maximum Protocol Data Unit” (MaxPDU) setting for every net-
work port. MaxPDU affects IP fragmentation, which in turn affects
IPv4 and IPv6 differently. All these layers are required in part for
legacy reasons, and in part because Ethernet/IP is designed for
Internet scale rather than the datacenter scale of Fibre Channel.
Opting for a complex multilayer transport is rather an odd choice
when the key benefits of NVMe derive from its simplified stack.
Commodity or premium?
Ethernet wins as a great low-cost, best-effort technology. It is
easy to deploy for common uses and supports myriad upper-layer
protocols and applications. Ethernet’s plug-and-play behavior
was designed for widespread use, and tens of thousands of well-
informed technicians in the industry know how to manage that
mainstream Ethernet configuration. Ethernet has simplistic, robust
mechanisms like Spanning Tree Protocol that shut down links and
guarantee there are no loops that can cause problems with broad-
cast or multicast storms. These issues might otherwise be com-
monplace, because broadcasts are a normal part of address learning.
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
to deploy is that its main customer, TCP/IP, is so resilient and
forgiving, at the cost of modest performance. Layer 2 Ethernet
doesn’t scale too far, but coupled with IP, it can scale to the Inter-
net. Ethernet and IP can also be bought anywhere. Interesting
products are available on eBay and Amazon, making it a highly
competitive marketplace. Fibre Channel networking products are
largely available from storage vendors, and it is not always easy
playing vendors against one another for lower pricing.
Smart shopping
The flip side is that most storage vendors have invested a signifi-
cant amount of time in testing their arrays with the networking
products they sell. They are familiar with all the enhanced analyt-
ics and visibility features that have been designed into the ASICs
and the management software. The storage vendor understands
the network-resident features like Fibre Channel Name Services
and Fibre Channel Zoning, including target-driven zoning, fea-
tures that are not yet defined for Ethernet-based NVMe fab-
rics. These vendors are comfortable handling support questions
related to the tried and true interplay of servers, HBAs, storage
arrays, and networks.
42 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
IN THIS CHAPTER
»» Knowing what performance
improvements to expect
Chapter 5
Improving Performance
with NVMe over Fibre
Channel
N
ow that you are ready to test the waters with NVMe over
Fibre Channel, the big question is what level of perfor-
mance improvements you can expect compared to SCSI/
FCP, and why. To help you answer this question, this chapter
begins with a look at where you can expect performance improve-
ments to come from. NVMe is designed to exploit flash storage
with characteristics similar to those of memory and consequently
is a more efficient protocol than SCSI. This chapter then shows
you how this method applies in an end-to-end solution from the
application running on the server through Fibre Channel SAN to
the storage array.
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Understanding How FC-NVMe
Improves Performance
Figure 5-1 shows an end-to-end storage chain extending from
an application on the host to storage media on the storage array.
The areas where NVMe over Fibre Channel contributes to better
performance are:
44 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
The transport happens with the same low latency and high perfor-
mance that you are used to. Still, enhancements are being added to
the Fibre Channel standard to augment high-performing FC-NVMe
in case low-level errors occur (see the sidebar). The following sec-
tions review each point in a little more detail.
For the most geeky bragging rights, you can look up some of the other
highlights in the FC-NVMe-2 standard (https://nvmexpress.org/
resources/specifications):
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
The storage front end
On the storage array host port side (the front end), with the leaner
NVMe protocol compared to SCSI, getting to the storage control-
ler happens more quickly. Sometimes you hear this improvement
described as a “shorter path” through the driver/protocol stack.
46 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
PCIe GEN4
Since the middle of 2018, new NVMe SSDs entering the market are
PCIe Gen4 compatible. The PCIe Gen 4.0 standard specifies a 16 Gbps
data link speed with up to 16 links or lanes delivering 64 Gbps, which
is double PCIe Gen3’s maximum of 32 Gbps. Once PCIe gen4 x86
motherboards become available, the market likely will begin to offer
new NVMe storage arrays delivering unprecedented performance.
A PCIe Gen5 standard is underway with a target date in 2019 and
provides for 128 Gbps from a 16-lane implementation.
Improving Performance
Now that you understand why you should see performance
improvements and where these come from in an end-to-end
NVMe-over-Fibre Channel solution, this section shows how big
these improvements can be.
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
THINKING ABOUT APPLICATIONS
DESIGNED FOR NVMe
Imagine a program that can decompose a mathematical problem to
parallel stream data requests — perhaps as many as 32 — that would
return to be processed on a chip — possibly an NVIDIA chip — with
multiple GPUs on it. Functionally, the GPUs would be large floating-
point engines. If the application could then aggregate the output of
those 32 streams, imagine what might be done to cycle times on
financial analysis, threat analysis, or rendering. The possibilities are
endless.
You are likely thinking, “Wow, that’s great! With a simple soft-
ware upgrade on an FC-NVMe capable array you can achieve 30-50
percent faster application execution!” Therein lies the rub. If you
are satisfied simply because the storage chain is now faster, you
miss the greatest opportunity NVMe over Fibre Channel presents.
Clearly some time will pass before applications across the board
are redesigned to utilize FC-NVMe and SSDs in an optimal way.
One application or layer where this change would be obvious —
and this improvement is likely to happen soon — is in the hyper-
visor layer that virtualizes the server hardware in your datacenter.
Increased parallel storage IO threads will likely deliver storage
performance that is an order of magnitude better than with
virtual machines.
48 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
In the same way the transition to All Flash Arrays in the datacenter
has increased the IO density of the AFA storage ports, delivering
orders of magnitude more IOPS per port, the host-to-target port
ratio has likewise increased. This increase will continue with
FC-NVMe. The combination of a higher host port-to-storage
target ratio and more IOPS per storage port heightens the risk of
having oversubscribed hosts that exhibit slow drain behavior and
negatively impact other high-performing applications.
A slow drain device is a host or storage array that does not return
buffer credits in a timely manner to the switch. This causes frames
to back up through the fabric and thus causes fabric congestion.
In a fabric, many flows share the ISLs, as well as VCs on the ISLs.
However, the credits used to send traffic or packets across the
ISL or link are common to all the flows using the same VC on the
link. Consequently, a slow-draining device may slow the return of
credits and impair healthy flows through the same link.
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
because it enables you to identify issues before they affect appli-
cation performance. Monitoring also helps you troubleshoot and
pinpoint the root cause and path to resolution when an issue
arises.
PEER ZONING
Peer Zoning allows a "principal" device to communicate with the rest
of the devices in the zone. The principal device manages a Peer Zone.
Other "non-principal" devices in the zone can communicate with the
principal device only; they cannot communicate with each other.
50 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
In principle, zoning works the same way as you likely are already
familiar with for NPIV logins in the fabric. As a result, you need
to zone the hosts with provisioned NSIDs to the logical interface
ports for the NVMe controller(s).
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Knowing Which Applications Will Benefit
You likely have a handful of business applications in mind that
you want to migrate to NVMe over Fibre Channel. After all, which
application cannot benefit from more performance? These are
the usual suspects among enterprise applications, always hungry
for more IOPS at lower latency, and if you can free up some CPU
cycles on the server in the process, that’s even better!
52 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Internet of Things (IOT) or edge devices generating vast amounts
of unstructured data.
• ML has become business critical and requires data protection and/
or high availability — even if “just” working on a copy of primary
data sets.
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
with iSCSI on Ethernet, seen for Array B in Figure 5-2, the enter-
prise workload performance starts degrading at 60 percent con-
gestion and then practically falls off the cliff with increased
congestion and crashing at 100 percent.
The tests in the ESG paper show it’s a misperception that perfor-
mance impact from congestion is solely a matter of bandwidth.
Any network (unless it is uneconomically oversized) has periods
of congestion. In cases where a network is sized well to sustain
the workloads on the network, the periods of congestion should
be momentary unless performance is degraded because of link
failures or other component failures.
54 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Maintaining Performance during
Network Congestion
Why does iSCSI throughput drop rapidly and come to a halt as
the network becomes saturated, while Fibre Channel continues
to provide significant throughput? Because the two fabrics have
different flow control and congestion control mechanisms. With
Fibre Channel the network is responsible for guaranteed delivery
and does not allow packets to drop (a lossless network), but iSCSI
depends on TCP/IP to ensure delivery because Ethernet provides
only transport, not guaranteed delivery.
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
acknowledgement increments the receiver buffer count. A sender
cannot send more data if the receiver buffer count is zero. Thus,
as the network becomes congested, an intermediary node may run
out of buffer space, causing the upstream sender to stop sending,
which proceeds in turn all the way back to the originator of the
communication.
56 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
IN THIS CHAPTER
»» Ten factors to keep in mind as you plan
for NVMe over Fibre Channel adoption
Chapter 6
Ten NVMe over Fibre
Channel Takeaways
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
»» Drive more application workload because NVMe’s input/
output operations per second (IOPS) will have as much
impact as its latency. Most of the buzz over NVMe has
been focused on its amazingly low latency because this
measure is easy to benchmark and the early focus of NVMe
is on memory use cases. But as architectures move toward
storage and massively parallel processing, IOPS will matter
more, increasing the need for robust datacenter fabrics,
analytics features, and the excellent vendor support for
which FC is known.
»» Install NVMe-ready devices today to allow applications
to exploit the next generation of low latency flash —
Storage Class Memory (SCM). This next generation of
memory has significantly lower latency than today’s flash
technology. SCM also comes with a higher cost and in order
to get the full low latency benefit, it can only be achieved
with the NVMe protocol. You will leverage a tiered infrastruc-
ture blending SCM and traditional flash to optimize data
placement and cost of the infrastructure.
»» Leverage the multiple NVMe flash media form factors
to cost optimize your IT infrastructure. NVMe media
comes in a variety of form factors, including add-in PCIe
cards, 2.5-inch SFF drives, M.2 and NF1 expansion, NVDIMM,
and others. Different vendors leverage different forms of
the media in their solutions to optimize storage system
performance. Understand how the technology deployments
affect your application, because that’s what matters to you!
»» Allow the NVMe future to come at its own pace. Relative
to SCSI, the NVMe protocol is fairly young, having been born
in 2014 and will continue to quickly evolve. There has been
a rapid set of enhancements with the industry adoption of
flash technology and will continue with the NVMe specifica-
tions. Expect client adoption to start taking hold in 2019 and
NVMe to replace SCSI in the coming years. A significant
evolving area is for all the OS vendors to exploit the built-in
multipathing capability of ANA.
»» Include vendor support in your NVMe-FC adoption plan.
Reliable IT infrastructure takes far more than sexy technol-
ogy; products from multiple suppliers must also work well
together. Enterprise vendor support for SCSI-based storage
works because of thorough interoperability testing and,
when there are issues, industry leading support. IBM is an
58 NVMe Over Fibre Channel For Dummies, IBM/Brocade 2nd Special Edition
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
industry leader with complete end-to-end NVMe storage
strategy across the entire block, file, and object storage
portfolio. Demand enterprise testing and support for your
NVMe solutions, so be sure to ask all your vendors about
their NVMe storage and fabric interoperability testing,
deployment plans, and backend support capabilities.
»» Fibre Channel (FC) and Ethernet/IP are optimized
differently. Fibre Channel was born and raised during
an era of explosive Ethernet and IP growth. FC succeeded
because it was purpose-built and optimized for one pre-
mium use case: reliable, high-speed delivery of bursty
storage traffic. Conversely, Ethernet and IP won as commod-
itized technologies that work anywhere for data traffic, but,
like the long-standing SCSI protocol, come with additional
baggage over the years.
»» Dedicate a separate storage fabric for best results.
Storage experts know that reference architectures from
mission-critical storage vendors call for dedicated storage
fabrics. This is why a dedicated FC fabric with HBAs is the
low-risk choice for your storage traffic compared to running
storage over a shared Ethernet/IP fabric, which requires
gambling on either RDMA-capable NICs or TCP offload
engine technology (TOE). For best performance and highest
availability, we recommend a dedicated storage fabric for
either FC or Ethernet, or both.
»» Maximize your Fibre Channel fabrics and minimize your
migration by running both SCSI/FC (FCP) and FC-NVMe.
By supporting dual protocols (FCP/FC-NVMe), Fibre Channel
fabrics offer big advantages by providing ultra-low latency
data access for working memory needs, as well as the
as-needed, low-risk SCSI-to-NVMe migration you need for
high value storage assets. Such fabrics also simplify your
storage purchasing decisions during the SCSI-to-NVMe
transition, a process that is likely to take years.
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
These materials are © 2019 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
WILEY END USER LICENSE AGREEMENT
Go to www.wiley.com/go/eula to access Wiley’s ebook EULA.