Imagine if you could adjust SSD capacity and write performance to match the exact applications, workloads and requirements where you’ll use it. What could it mean for the efficiency of your applications? What could it mean for the efficiency of inventory management in your data center?
Micron’s advanced FlexPro™ SSD firmware architecture is designed to do this very thing - unleash the true capabilities of the storage media. It gives you the ability to tune the drive so that it meets specific workload characteristics such as performance, endurance and security. First introduced in the Micron® 5100 portfolio, FlexPro architecture provides a consistent experience across all Micron SSDs. The FlexPro architecture creates commonality and gives longevity to SSD investments, dramatically simplifying the selection, qualification and deployment processes.
The Flex Capacity™ feature (part of the FlexPro architecture) enables easy adjustments to the Micron 5100 capacity to match a wide variety of applications, workloads and requirements — all serviced from fewer drive SKUs for better overall economics and lower support costs.
As more storage architects are turning to SSDs, there is a commensurate demand for ”tuned” storage capacity and fills per day for several reasons: Some deployments demand an SSD with greater capacity (where the workload is highly read-focused), some demand a cost-sensitive approach to workloads that need read/write balance and some need an SSD that offers greater write performance and fills per day. Budgets demand that we satisfy both capacity and fills-per-day needs with the smallest number of different SSDs possible to minimize qualification and inventory expense.
Balancing these competing demands has always been a challenge. We have to choose different types of SSDs for our read-focused workloads, our write-focused workloadsand our balanced read/write use needs — and we have to qualify each type separately, as well as stock appropriate spares for long-term maintenance. Although this tactic of buying specialty SSDs for each workload can produce better results for each application, the number of different SSDs to buy, stock, deploy and manage can be taxing — and each may require a compromise (for example, capacity or fills per day is optimal).
In this blog post we describe how the Micron 5100 enterprise SATA SSD’s Flex Capacity feature enables precise application-level optimization while also overcoming the challenges of performing multiple SSD qualifications and storing excessive inventory spares (stock keeping units or SKUs) for maintenance.
The Flex Capacity feature enables easy adjustments to the Micron 5100 SSD capacity and write performance while enabling easy tuning to match a wide variety of applications, workloads and requirements — all serviced by fewer drive SKUs for better overall economics and lower support costs.
What Is Over-Provisioning?
Over-provisioning (OP) on SSDs refers to spare capacity that the drive may use to optimize internal processes. All flash-based SSDs contain some level of OP. For example, suppose we have an SSD with a 1TB of NAND on the circuit board (1TB equals 1024GB), which is the ”raw” capacity of this SSD. Typically, having a terabyte of storage on the circuit board does not mean that the entire terabyte is available for system use.
Depending on the SSD design, 960GB, 800GB or 480GB of space may be available. Each of these SSDs would have different advertised capacities -- 960GB, 800GB, or 480GB respectively. We would typically think of each as a different product.
Figure 1 shows how OP is calculated for SSDs. The blue area is the total media capacity on the SSD circuit board 1TB in this example). The green crosshatched area is the portion that is available for the system to use. The difference is the drive’s OP, which depends on the drive’s design.
Figure 1: OP of an SSD
Over-Provisioning, Write IOPS Performance and Capacity
SSDs are designed with some level of OP, which affects the SSD’s write IOPS performance and available capacity. Using our 1TB raw capacity example mentioned in the previous section, we can set the OP level very low and make 960GB of the 1TB available. An SSD like this is well suited for read-intensive storage (static data that rarely changes but is often read, like in catalogs, active archives, capacity/bulk storage, etc.). This 960GB SSD would have great read performance but limited write performance due to its lower OP. The OP level is usually set in the factory. Modifying the factory OP level used to be difficult.
Changing the OP level used to be so difficult that if we needed an SSD designed for small I/O size mixed-use (for example an 8K 67% read, 33% write), the manufacturer could take that same 1TB raw capacity SSD and make more OP available, setting the user capacity to 800GB, for example. The extra OP would give this 800GB drive better write performance — but less user capacity. This too would be set at the factory and not easily modified.
Lastly, if we needed a write-intensive SSD, the manufacturer might take the same 1TB raw design and set the OP to make 480GB available. This SSD (with still more OP) would have the greatest write performance of all three examples, but the smallest user capacity.
SSD designers have controlled these compromises for many years. For a given raw SSD, the more OP the factory sets, the more write IOPS performance but the less available capacity, which is a tradeoff.
Flex Capacity Feature and the 5100 Put You in Control
With the Micron Flex Capacity feature, you can easily optimize a 5100 SSD for diverse applications and workloads, managing the exact write performance and capacity you need — enabling you to source fewer types of SSDs while matching the 5100’s capabilities to your needs.
As shown in Figure 2, we can use the Flex Capacity feature to improve the 5100’s write performance while simultaneously adjusting its available capacity.
Figure 2: Flex Capacity Feature at Work
Note that the raw media capacity remains the same for each drive — only the available capacity (green) changes as we apply the Flex Capacity feature to tune the 5100 SSDs.
Figure 2 shows the effect of the Flex Capacity feature. On the left is an example 5100 SSD that is factory-configured with an available 960GB of capacity. At 960GB, this 5100 offers the Micron default user/system capacity, the factory-set over provisioning and the factory-set write IOPS performance. The factory-set capacity of 960GB is a good default option; it works well in a variety of enterprise applications, workloads and deployments.
The center drive in Figure 2 shows how we can use the Flex Capacity feature to improve the 5100 write performance and slightly reduce the available capacity to 800GB. The advantages are twofold: The 800GB user capacity enables better write IOPS performance, or if we need to replace an 800GB SSD (perhaps from another vendor or because one has failed), we can use the 960GB 5100 and easily reset it to 800GB for an exact match.
The drive shown on the right in Figure 2 shows another option where we can use the Flex Capacity feature to further improve write performance by, in turn, resetting the user capacity to 480GB. We can now use the same 5100 for even more write-intensive workloads or use it to replace a 480GB SSD that may have failed.
In this example we reset a 960GB 5100 SSD to tune write IOPS performance or match the capacity of an existing 800GB or 480GB SSD. However, with the Flex Capacity feature, it is just as easy to reset the 5100 to 627GB, 472GB or any capacity needed less than the factory-set (default) capacity.
The 5100’s flexibility can also help minimize the impact to qualification resources. One 5100 SKU (a factory 960GB for example) can be qualified for read-intensive workloads. The same 5100 can be set to 800GB for mixed use or to 480GB if the workload is write-intensive. The same SSD and same qualification has multiple uses.
Use the Flex Capacity Feature to Tune 5100 Write IOPS Performance
Because the Flex Capacity feature lets you easily change the available gigabytes, you can also choose to make write IOPS performance and capacity adjustments permanent or temporary. You can set your 5100 SSD to best match known workloads or change the 5100 characteristics to manage unexpected application I/O demand more easily. You can increase the 5100 write IOPS performance permanently or only when you need it, for as long as you need it. The Flex Capacity feature lets you choose what is best.
Tuning 5100 IOPS Performance: Mixed-Use Workload Example
When the SSD is fresh from the factory, its write performance is the highest. As applications write and rewrite to the SSD, write performance changes until it reaches a steady state, after which write performance remains relatively constant. For enterprise SSDs like the 5100, steady state is the primary performance state of interest.
This section describes an example of Flex Capacity tuning results with a small-transfer (8K), random, mixed-use workload: 67% read and 33% write. We start with a 960GB (factory default capacity, designed for read-centric use) 5100 as the performance baseline. We then reset the 5100 to 800GB and 480GB capacity, and compare the results. After each capacity test, we restored the 5100 to a fresh-out-box (FOB) state, used Flex Capacity features to reset its user capacity and repeated the test with the new capacity.
Figure 3 shows relative IOPS performance compared to the 960GB baseline capacity. The horizontal axis shows time (from FOB at the start of testing on the left) and the vertical axis is IOPS performance relative to the baseline 960GB (shown as a percentage improvement relative to baseline 960GB IOPS). In Figure 3, a taller line means improved IOPS performance compared to the baseline 960GB 5100.
As expected, 5100 write performance for the 960GB, 800GB and 480GB all start at the same reference IOPS level (far left). As the drives are filled and refilled, the write IOPS decreases with time until reaching steady state.
- Capacity at 800GB: Setting the 5100 capacity at 800GB shows an 8K IOPS improvement as expected. Starting at approximately 1/3 of the way through the test, the 800GB capacity write IOPS show the beginnings of improvement with the observed maximum at steady state (end of test) reflecting a 26% 8K mixed-use IOPS improvement.
- Capacity at 480GB: The 480GB capacity created with the Flex Capacity feature shows a more significant improvement over the 960GB default. Again stating at the same IOPS value at FOB (far left), the 480GB 8K IOPS performance also begins to diverge 1/3 of the way through the test, reaching its maximum improvement of about 40% at steady state (far right).
- These are example capacities only. The Flex Capacity feature lets you set the exact write IOPS performance and user capacity you need; however, all possible capacities have not been tested, so user validation during qualification is required.
- Combined average performance may not result in a linear relationship when reads and writes are mixed. We cannot always take 100% write workload IOPS performance and average it with a 33% write workload IOPS performance to determine a 67% write IOPS workload performance because servicing a WRITE command in steady state requires more internal bandwidth than READ commands. Although workload averaging may work in select cases, this is not a safe (universal) assumption.
- Similarly, capacity averaging may not result in a linear relationship. The performance of a 960GB 5100 SSD averaged with the performance of a 480GB 5100 may not accurately model the results of a 720GB 5100. Using Flex Capacity features enables you to verify specific performance by resetting the drive to 720GB.
- It’s expected that the performance change as the SSD is written to (the shape of the WRITE IOPS versus time curve) may differ depending on the Flex Capacity feature setting.
Flex Capacity Feature and 5100 Drive Writes per Day
All SSDs wear down as they are written; they have a finite write lifespan. An SSD’s lifespan is rated in total bytes written (TBW). To make planning, design, deployment and support simpler, an SSD’s lifespan is often expressed in how many times you can write the SSD’s capacity (completely fill the drive) every day over a five-year warranty period, which is also referred to as the drive writes per day (DWPD) You may also see the term drive fills per day (DFPD), which means the same thing. The following section shows how TBW and DWPD are related and how using the Flex Capacity feature affects the 5100 DWPD value.
Flex Capacity Feature and Changed DWPD
Using our example of a 5100 SSD with a 960GB factory capacity setting, we rate the endurance of 439TB over 5 years. Using these factory default values, we can calculate DWPD for 5 years:
TBW = 439TB
Time Period = 5 years
Factory capacity = 960GB
For each day of the 5-year period, we can write
MB/day = Rated TBW / Time Period
= 439 TB / 5 Years
= 445644800 MB / 1825 days
= 238.5 GB / day
TBW is a fixed value; using the Flex Capacity feature does not change the TBW. However, depending on the Flex Capacity setting, the DWPD can change. Using the example default capacity of 960GB and the Flex Capacities of 800GB, and 480GB, it is straightforward to calculate DWPD.
For any capacity, DWPD equals the amount of data that can be written to the 5100 SSD per day based on its TBW value, divided by the 5100 capacity of interest:
DWPD = (MB / day) / 5100 capacity
For the 960GB default capacity, take the TBW rating (439TB) and divide by the 5-year period, which yields about 85TB/year. 85TB/year is equivalent to 238.5GB/day — a value that we can use to calculate DWPD for our three example 5100 capacities.
Starting with the factory default capacity of 960GB, we have:
960GB DWPD = 238.5GB (per day) / 960GB 5100 capacity
= 0.25 DWPD
Similarly, the 800GB capacity shows:
800GB DWPD = 238.5GB / 800GB
= 0.3 DWPD
And finally, the 480GB:
480GB DWPD = 238.5GB / 480GB
= 0.5 DWPD
Although the TBW is the same, the tuned capacity changes the DWPD. In general, we expect DWPD to increase as we decrease the available capacity. Since the 5100 is available in three base platforms, the relative DWPD will have greater impact as you move from the ECO to the PRO to the MAX versions of the 5100 drive.
Using Flex Capacity Feature With Micron’s Storage Executive
Micron’s Storage Executive tool unifies the method of capacity and performance tuning across all Micron’s 5100 products. Storage Executive is available for download here along with complete documentation. Detailed instructions on how to implement Flex Capacity features via Storage Executive are beyond the scope of this paper. Please refer to the Storage Executive User Guide for specific instructions.
Different applications and workloads demand different storage for best results. With data center mainstream storage moving rapidly toward SSDs, precisely optimized configurations for both IOPS performance and available capacity are in greater demand. With the Micron 5100 SSD and its Flex Capacity feature, planners, designers, implementers and administrators no longer have to compromise among a few available SSD configurations, performance options and capacities. The Flex Capacity feature lets you easily create application-tunable SSDs in a flash.
Whether your applications and workloads need greater capacity (with a read-focused workload that is highly cost-focused), greater write IOPS performance for write-intensive workloads, or to work well for mixed uses (with a read/write balance), the Flex Capacity feature enables the precise performance and capacity tuning you need while helping minimize qualification cycles and inventory (spares) and cost.
About Our Blogger
Doug is a Senior Technical Marketing Engineer for Micron's Storage Business Unit, with a focus on enterprise solid state drives.