NVMe Endurance Group Management: Enhancing SSD Performance

undefined
 
Endurance Group Management:
Host control of SSD Media Organization
 
S
p
o
n
s
o
r
e
d
 
b
y
 
N
V
M
 
E
x
p
r
e
s
s
 
o
r
g
a
n
i
z
a
t
i
o
n
,
 
t
h
e
 
o
w
n
e
r
 
o
f
 
N
V
M
e
,
 
N
V
M
e
-
o
F
 
a
n
d
 
N
V
M
e
-
M
I
 
s
t
a
n
d
a
r
d
s
 
 
 
Abstract
 
SSD customers can have different requirements for the organization of the media
in a drive: one large pool of capacity, separate sub-drives with performance
isolation (IO determinism), or one large pool plus a small pool capable of higher-
performance writes.
By allowing the host to configure a drive’s media in the field, a single SSD model
can satisfy very different use cases. NVMe
TM
 Endurance Group Management
provides a mechanism for media to be configured into Endurance Groups and
NVM Sets.
This presentation will explain various use cases and how the mechanism is used
to configure not just SSD media but also storage array components.
 
 
Speakers
Paul Suhler
 
Mark Carlson
 
 
Agenda
 
NVMe
TM
 Capacity Entities
SSD Organizations (Use Cases)
Management Methods
Future Work
 
 
TP 4052 Endurance Group / NVM Set Management
 
Use cases:
 
More flexible IO Determinism
  
SSD vendors currently ship static configurations
 
Address the need to divide work between host and drive
 
Enable Endurance Groups for Storage Systems
  
Capacity management
Enable one SKU to be configured by customer for their use case
 
 
NVMe
TM
 Capacity Entity Hierarchy
 
Namespaces – Contain an array
of logical blocks
NVM Sets – Contain namespaces
Endurance Groups – Contain
NVM Sets
Domains – Contain Endurance
Groups, controllers, etc.
 
 
Original NVMe
TM
 SSD Organization
 
Media Units (e.g., dies) are
connected to the controller by
channels.
Endurance is managed across all
Media Units.
 
 
IO Determinism Use Case
 
Need to create NVM Sets according to
their capacity requirements (e.g. 1TB
sets)
Typically once at the beginning of drive
life
Supported Media Unit configurations
are available indicating NVM Sets
formed from Media Units along
channels for isolation
Drive may only support two
configurations (e.g. ½ TB and 1 TB
sets) for this market
 
Four separate, isolated NVM Sets
 
 
Host Managed Media Users
 
Need to closely manage
placement of data and
accommodate append behavior
Big concerns about Write
Amplification and managing
wear
1 EG / 1 NVM Set / 1 MU
No predictable latency
Raw UBER
1 Namespace / MU
 
Get Log Page – Media Unit Status
 
 
Mixed-Mode NAND Operation
 
NAND cells allow operation at a maximum
number of bits per cell (e.g., QLC), as well
as at a smaller number (e.g., TLC, SLC).
Different Endurance Groups can have
different bits per cell.
One SSD can use some Media Units for a
small amount of fast capacity and the
remaining Media Units at a much higher
density.
 
 
Storage Systems Users
 
Need to create, resize and delete Endurance Groups within a Domain
No need to directly configure Media Units
Primarily tied to domains and partitions (TP 4009)
Capacity Endurance Group Management
Capacity is drawn from the Domain
NVM Set is created as well
Deletion of Endurance Group also deletes NVM Set(s), Namespace(s)
 
 
Management Methods
 
Two methods:
Direct Endurance Group Management
Capacity Endurance Group Management
Direct Endurance Group Management is used for drives.
The operation will select from a fixed set of complete configurations; the selected
configuration typically will be for the lifetime of the NVM subsystem.
This satisfies the requirements of hyperscalers.
Incrementally configuring endurance groups / NVM sets will not be supported for
this method (not needed). Changing the configuration after the media has been
used will not be supported in this method.
 
 
Endurance Group Management command
 
O
p
e
r
a
t
i
o
n
 
(
p
r
i
m
a
r
i
l
y
)
 
f
o
r
 
S
S
D
s
:
S
e
l
e
c
t
 
M
e
d
i
a
 
U
n
i
t
 
C
o
n
f
i
g
u
r
a
t
i
o
n
:
 
S
e
l
e
c
t
s
 
o
n
e
 
o
f
 
t
h
e
 
s
u
p
p
o
r
t
e
d
 
c
o
n
f
i
g
u
r
a
t
i
o
n
s
.
O
p
e
r
a
t
i
o
n
s
 
f
o
r
 
S
t
o
r
a
g
e
 
A
r
r
a
y
s
:
C
r
e
a
t
e
 
E
n
d
u
r
a
n
c
e
 
G
r
o
u
p
:
 
C
r
e
a
t
e
s
 
a
n
 
E
n
d
u
r
a
n
c
e
 
G
r
o
u
p
 
o
f
 
a
 
s
p
e
c
i
f
i
e
d
 
s
i
z
e
 
f
r
o
m
 
a
D
o
m
a
i
n
.
C
r
e
a
t
e
 
N
V
M
 
S
e
t
:
 
C
r
e
a
t
e
s
 
a
n
 
N
V
M
 
S
e
t
 
o
f
 
a
 
s
p
e
c
i
f
i
e
d
 
s
i
z
e
 
f
r
o
m
 
a
n
 
E
n
d
u
r
a
n
c
e
 
G
r
o
u
p
.
D
e
l
e
t
e
 
N
V
M
 
S
e
t
 
:
 
D
e
l
e
t
e
s
 
a
 
s
p
e
c
i
f
i
e
d
 
N
V
M
 
S
e
t
 
a
n
d
 
a
l
l
 
i
t
s
 
n
a
m
e
s
p
a
c
e
s
.
D
e
l
e
t
e
 
E
n
d
u
r
a
n
c
e
 
G
r
o
u
p
:
 
D
e
l
e
t
e
s
 
a
 
s
p
e
c
i
f
i
e
d
 
E
n
d
u
r
a
n
c
e
 
G
r
o
u
p
 
a
n
d
 
a
l
l
 
i
t
s
 
c
o
n
t
e
n
t
s
.
 
 
Capacity Configuration Descriptor
 
E
n
d
u
r
a
n
c
e
 
G
r
o
u
p
 
C
o
n
f
i
g
u
r
a
t
i
o
n
 
D
e
s
c
r
i
p
t
o
r
 
p
e
r
 
e
n
d
u
r
a
n
c
e
 
g
r
o
u
p
Endurance Group Information
Capacity Adjustment Factor
Total Endurance Group Capacity
Spare Endurance Group Capacity
Endurance Estimate
NVM Set Identifiers
Channel Descriptors
Media Units on each channel
 
 
Media Unit Status Descriptor
 
Media Unit Identifier
Domain Identifier
Endurance Group Identifier
NVM Set Identifier
Capacity Adjustment Factor
Available Spare
Percentage Used
Number of Channels attached to this Media Unit
Channel Identifier List
 
 
Capacity Endurance Group Management
 
Capacity Endurance Group Management is for systems to dynamically create
Endurance Groups and NVM Sets. The operation specifies a capacity for
endurance groups and NVM sets without understanding of the underlying
media units.
 
 
Endurance Group Management command
 
O
p
e
r
a
t
i
o
n
 
(
p
r
i
m
a
r
i
l
y
)
 
f
o
r
 
S
S
D
s
:
S
e
l
e
c
t
 
M
e
d
i
a
 
U
n
i
t
 
C
o
n
f
i
g
u
r
a
t
i
o
n
:
 
S
e
l
e
c
t
s
 
o
n
e
 
o
f
 
t
h
e
 
s
u
p
p
o
r
t
e
d
 
c
o
n
f
i
g
u
r
a
t
i
o
n
s
.
O
p
e
r
a
t
i
o
n
s
 
f
o
r
 
S
t
o
r
a
g
e
 
A
r
r
a
y
s
:
C
r
e
a
t
e
 
E
n
d
u
r
a
n
c
e
 
G
r
o
u
p
:
 
C
r
e
a
t
e
s
 
a
n
 
E
n
d
u
r
a
n
c
e
 
G
r
o
u
p
 
o
f
 
a
 
s
p
e
c
i
f
i
e
d
 
s
i
z
e
 
f
r
o
m
 
a
D
o
m
a
i
n
.
C
r
e
a
t
e
 
N
V
M
 
S
e
t
:
 
C
r
e
a
t
e
s
 
a
n
 
N
V
M
 
S
e
t
 
o
f
 
a
 
s
p
e
c
i
f
i
e
d
 
s
i
z
e
 
f
r
o
m
 
a
n
 
E
n
d
u
r
a
n
c
e
 
G
r
o
u
p
.
D
e
l
e
t
e
 
N
V
M
 
S
e
t
 
:
 
D
e
l
e
t
e
s
 
a
 
s
p
e
c
i
f
i
e
d
 
N
V
M
 
S
e
t
 
a
n
d
 
a
l
l
 
i
t
s
 
n
a
m
e
s
p
a
c
e
s
.
D
e
l
e
t
e
 
E
n
d
u
r
a
n
c
e
 
G
r
o
u
p
:
 
D
e
l
e
t
e
s
 
a
 
s
p
e
c
i
f
i
e
d
 
E
n
d
u
r
a
n
c
e
 
G
r
o
u
p
 
a
n
d
 
a
l
l
 
i
t
s
 
c
o
n
t
e
n
t
s
.
 
 
Future Work
 
After we have experience with endurance group management, we will know
whether and how to address:
Indicating error correction provided by controller. Would allow storage system to rely on
SSD ECC and not implement ECC across SSDs.
Incrementally configuring Endurance Groups (rather than selecting a single SSD-wide
configuration.
Reconfiguring used Media Units to repurpose an SSD.
Indicating levels of capacity organization below the Media Unit, e.g., planes or dies.
Would it be useful?
Indicating mapping of zones to Media Units. Would it provide any benefit?
 
 
Q
u
e
s
t
i
o
n
s
?
undefined
Slide Note
Embed
Share

SSD customers have diverse media organization needs, such as capacity pools, performance isolation, or combined pools for varied use cases. NVMeTM Endurance Group Management enables configuring media into Endurance Groups and NVM Sets, catering to different storage requirements efficiently. Learn about flexible IO determinism, capacity management, and customer-centric SKU configuration possibilities. Explore the hierarchy of NVMeTM capacity entities and the original organization of NVMeTM SSDs for optimized performance.

  • NVMe
  • SSD
  • Performance
  • Endurance Management
  • Storage

Uploaded on Jul 31, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Architected for Performance Endurance Group Management: Host control of SSD Media Organization Sponsored by NVM Express organization, the owner of NVMe , NVMe-oF and NVMe-MI standards

  2. Abstract SSD customers can have different requirements for the organization of the media in a drive: one large pool of capacity, separate sub-drives with performance isolation (IO determinism), or one large pool plus a small pool capable of higher- performance writes. By allowing the host to configure a drive s media in the field, a single SSD model can satisfy very different use cases. NVMeTM Endurance Group Management provides a mechanism for media to be configured into Endurance Groups and NVM Sets. This presentation will explain various use cases and how the mechanism is used to configure not just SSD media but also storage array components. 2

  3. Speakers Mark Carlson Paul Suhler 3

  4. Agenda NVMeTM Capacity Entities SSD Organizations (Use Cases) Management Methods Future Work 4

  5. TP 4052 Endurance Group / NVM Set Management Use cases: More flexible IO Determinism SSD vendors currently ship static configurations Address the need to divide work between host and drive Enable Endurance Groups for Storage Systems Capacity management Enable one SKU to be configured by customer for their use case 5

  6. NVMeTM Capacity Entity Hierarchy Namespaces Contain an array of logical blocks ... ... NS NS NS NS ... ... ... ... ... NS NS NS NS NVM Sets Contain namespaces NVM Set NVM Set NVM Set NVM Set Endurance Group Endurance Group Endurance Groups Contain NVM Sets Domain ... Domains Contain Endurance Groups, controllers, etc. ... ... ... NS NS NS NS ... ... ... ... NS NS NS NS NVM Set NVM Set NVM Set NVM Set Endurance Group Endurance Group Domain NVM Subsystem 6

  7. Original NVMeTM SSD Organization Port Key: Media Units (e.g., dies) are connected to the controller by channels. Controller MU Channel Endurance is managed across all Media Units. NVM Set Set 1 Endurance Group EG 1 Set 1 Endurance Group 1 NVM Subsystem (SSD) 7

  8. IO Determinism Use Case Port Need to create NVM Sets according to their capacity requirements (e.g. 1TB sets) Controller Typically once at the beginning of drive life Supported Media Unit configurations are available indicating NVM Sets formed from Media Units along channels for isolation Set 1 Set 2 Set 3 Set 4 End Grp 1 End Grp 2 End Grp 3 End Grp 4 NVM Subsystem (SSD) Drive may only support two configurations (e.g. TB and 1 TB sets) for this market Four separate, isolated NVM Sets 8

  9. Host Managed Media Users Port Need to closely manage placement of data and accommodate append behavior Controller Big concerns about Write Amplification and managing wear 1 EG / 1 NVM Set / 1 MU No predictable latency Raw UBER 1 Namespace / MU NVM Subsystem (SSD) Get Log Page Media Unit Status 9

  10. Mixed-Mode NAND Operation Port NAND cells allow operation at a maximum number of bits per cell (e.g., QLC), as well as at a smaller number (e.g., TLC, SLC). Controller Set 1 Endurance Group 1 (SLC) Different Endurance Groups can have different bits per cell. One SSD can use some Media Units for a small amount of fast capacity and the remaining Media Units at a much higher density. Set 2 Endurance Group 2 (QLC) NVM Subsystem (SSD) 10

  11. Storage Systems Users Need to create, resize and delete Endurance Groups within a Domain No need to directly configure Media Units Primarily tied to domains and partitions (TP 4009) Capacity Endurance Group Management Capacity is drawn from the Domain NVM Set is created as well Deletion of Endurance Group also deletes NVM Set(s), Namespace(s) 11

  12. Management Methods Two methods: Direct Endurance Group Management Capacity Endurance Group Management Direct Endurance Group Management is used for drives. The operation will select from a fixed set of complete configurations; the selected configuration typically will be for the lifetime of the NVM subsystem. This satisfies the requirements of hyperscalers. Incrementally configuring endurance groups / NVM sets will not be supported for this method (not needed). Changing the configuration after the media has been used will not be supported in this method. 12

  13. Endurance Group Management command Operation (primarily) for SSDs: Select Media Unit Configuration: Selects one of the supported configurations. Operations for Storage Arrays: Create Endurance Group: Creates an Endurance Group of a specified size from a Domain. Create NVM Set: Creates an NVM Set of a specified size from an Endurance Group. Delete NVM Set : Deletes a specified NVM Set and all its namespaces. Delete Endurance Group: Deletes a specified Endurance Group and all its contents. 13

  14. Capacity Configuration Descriptor Endurance Group Configuration Descriptor per endurance group Endurance Group Information Capacity Adjustment Factor Total Endurance Group Capacity Spare Endurance Group Capacity Endurance Estimate NVM Set Identifiers Channel Descriptors Media Units on each channel 14

  15. Media Unit Status Descriptor Media Unit Identifier Domain Identifier Endurance Group Identifier NVM Set Identifier Capacity Adjustment Factor Available Spare Percentage Used Number of Channels attached to this Media Unit Channel Identifier List 15

  16. Capacity Endurance Group Management Capacity Endurance Group Management is for systems to dynamically create Endurance Groups and NVM Sets. The operation specifies a capacity for endurance groups and NVM sets without understanding of the underlying media units. 16

  17. Endurance Group Management command Operation (primarily) for SSDs: Select Media Unit Configuration: Selects one of the supported configurations. Operations for Storage Arrays: Create Endurance Group: Creates an Endurance Group of a specified size from a Domain. Create NVM Set: Creates an NVM Set of a specified size from an Endurance Group. Delete NVM Set : Deletes a specified NVM Set and all its namespaces. Delete Endurance Group: Deletes a specified Endurance Group and all its contents. 17

  18. Future Work After we have experience with endurance group management, we will know whether and how to address: Indicating error correction provided by controller. Would allow storage system to rely on SSD ECC and not implement ECC across SSDs. Incrementally configuring Endurance Groups (rather than selecting a single SSD-wide configuration. Reconfiguring used Media Units to repurpose an SSD. Indicating levels of capacity organization below the Media Unit, e.g., planes or dies. Would it be useful? Indicating mapping of zones to Media Units. Would it provide any benefit? 18

  19. Questions? 19

  20. Architected for Performance

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#