How to Create and Use Flash Pool?

Flash Pool is a new feature in Data ONTAP 8.1.1. Basically, it is a pool of solid state disks (SSD) plus either SATA or SAS disks (but not both SATA and SAS in the same pool).


Create a Flash Pool


Flash Pool is implemented in the Data ONTAP aggregate layer. To construct a Flash Pool, you use the follow three steps and in that order.


     1. Create a 64-bit aggregate using either SATA or SAS hard drives as usual (see Figure 1)


          Figure 1. Create a 64-bit aggregate with SATA drives.


     2. Enable the aggregate option hybrid_enabled as shown in Figure 2


          Figure 2. Set the aggregate option hybrid_enabled to on.


     3. Add SSDs into the aggregate created in Step 1 above (Figure 3)


          Figure 3. Add SSDs to the aggregate.


Now you have just created a Flash Pool with a combination of SSDs and SATA hard disk drives.



Use the Flash Pool


After you have created a Flash Pool, you want to use it. But how?


It is pretty straight forward. To use a Flash Pool, you create FlexVol volumes and LUNs within it, just as you would do with a normal Data ONTAP aggregate. Figure 4 below shows the example of how to create a FlexVol volume using the Flash Pool fpAggr.

     Figure 4. Create a FlexVol volume using the Flash Pool fpAggr.


Next, you create and map a LUN or several LUNs to a host and then you are good to go.


When you run your workload on a Flash Pool, your workload doesn’t know (no need to know) it is running on a Flash Pool. But you will notice that it is running faster, because the hot (frequently used) data is going to be placed on SSD and the other data on SATA or SAS drives.  And the good news is that you don’t need to tune it manually to place the data properly. Flash Pool will manage the data placement for you automatically.



Thanks for reading.


on ‎2012-07-01 12:39 AM

Can you override the data placement, for example you don't want any data for exchange on SSD and you want all your images for VDI on SSD?

lwei Former NetApp Employee on ‎2012-07-01 11:11 AM

Thanks for your question. In your example, you can create a normal aggregate for Exchange and a Flash Pool for VDI. Flash Pool is pretty much auto-tune based on data patterns and usage. You do have some control by setting policies on per volume basis.   -Wei

on ‎2012-10-24 02:20 PM


Can you enable a "flash pool" to a root aggregate?

I could not enable the hybrid_enable option to the root aggregate. The answer I did get was this one:

” aggr options aggr0 hybrid_enabled on” så svarar den ” aggr options: This operation is not allowed on a root aggregate in admin or advanced mode”.

What mode should I use and what is your recommendations?



on ‎2012-10-25 06:13 AM

You have to upgrade to Ontap 8.1.2 in order to have a flash pool root aggr. OR raise a PVR for 8.1.1



lwei Former NetApp Employee on ‎2012-10-25 06:36 AM

Yes, upgrade to ONTAP 8.1.2 and set diag.   -Wei

on ‎2012-10-25 12:19 PM

Do I have to wait for OnTap 8.1.2(GA) or can I use the release candidate(8.1.2RC2)?


on ‎2012-10-25 01:49 PM

RC2 just came out, I would just wait for GA.

on ‎2012-10-26 11:02 PM


So to be clear, can I simply purchase the SSDs and add them to my current (production) non flash pool aggr then convert to a flash pool (hybrid) aggr? I really hope this can be an in-place upgrade as I don't want to go through the process of moving all of the live vols to a new aggr.

Thanks in advance,


lwei Former NetApp Employee on ‎2012-10-29 12:56 PM

Hi Don,

Yes, this can be an in-place upgrade. I think you need to purchase SSDs (those that are compatible with NetApp Flash Pool requirements). Then you place the SSDs into a DS4243 shelf that is attached to the controller. Make sure ONTAP version is 8.1.1 or above. Then, you just turn on the hybrid_enabled option on the aggregate and add the SSDs into the aggregate.



on ‎2012-10-29 01:34 PM

Thanks a million for you answer Wei..


lwei Former NetApp Employee on ‎2012-10-29 01:58 PM

You are very welcome.   -Wei

on ‎2012-11-12 08:12 AM

Say we have a single DS4243 shelf with 24 100gb SSDs.  Are we able to split these up, say, 10 data 2 parity for one SAS aggregate, and the other 12(10 data 2 parity) to a SATA aggregate? 

What about between 7-mode controllers?  Can I have half of the SSDs on a hybrid aggregate on Controller1, and the other half on a hybrid aggregate on Controller2?  Thanks!

lwei Former NetApp Employee on ‎2012-11-13 12:24 AM

Hi Dave,

Yes, you can split the SSD shelf half and half.

Yes, you can split the shelf between a pair of 7-mode controllers. Note, you can only have one hybrid aggregate (aka Flash Pool) per controller.



on ‎2012-11-13 05:42 AM

Exactly what I needed to know.  Thanks Wei!  Finding all of your blogs very informative.

lwei Former NetApp Employee on ‎2012-11-13 07:46 AM

Thanks Dave. Glad to be able to help.   -Wei

on ‎2012-11-15 10:49 AM

Q: On FAS3270HA pair: We have both SAS and SATA - is enabling FlashPool on SAS (15K) 600GB, is it worth and has shown much improvement ?  (we are not VDI, but VMs are located on large DeDuped NFS volume)

Essentially I am hearing only two FlashPools are allowed in this configuration (one on each controller), correct ?

We also have fully populated SATA shelf (48 4 TB drives) - obviously this got to be split into TWO separate aggregates due to 105G Aggr size limits on 3270. So, we have to split the SATA into two separate aggregates -- and to enable FlashPools on SATA Aggregates, we have to assign these two aggrs to two controllers (one aggr each to each controller), correct ?

I've been keep hearing - FlashPools work best for random overwrites, does it mean, on thin-provisioned (previously "un-used" portion of volume) volume  - writes go to disks when the first time these writes are written. Correct ?

In our environment Linux VMs (ESXi using NFS datastore, thin-provisioned, and DeDuped regularly on NetApp), most likely do good bit of writing (and reading) to /tmp volume (say unzip a new file, read the un-zipped data),  can FlashPools help in this environment ? These are not over-writes, these could be NEW writes - if I am reading correctly, FlashPools won't be able to Cache these writes to SSD, instead send send directly to disk, and as new zip files are un-compressed, new data gets written to /tmp, so we may never see a overwrite/re-write to get boost from FlashPool volume, correct?

What about DeDupe ?   NFS flash-pool volume (say 200 VMs (fairly similar, but not identical) sitting on ESXi with NFS datastore, thin-provisioned, and DeDuped regularly on NetApp) - does Dedupe do any good, bad or make things worse (I would imagine - DeDupe process won't contribute to defining Hot-regions, correct)


lwei Former NetApp Employee on ‎2012-11-19 09:28 PM

Hi Sri,

Your questions are good. However, they are beyond the scope of this simple blog. If you are a NetApp customer, I'd suggest to contact your support engineer and get detailed answers.



on ‎2012-12-03 05:45 PM

Hi Wei,

Great article. Came across this when setting up a Flash Pool for a client today.

Installed 8.1.2 and was able to assign to root aggregate (yay!). Smaller environment, FAS2240-4 (18 / 6) w/ x2 600 GB SAS shelves (DS4246's). We assigned the SATA disks to one controller for CIFS and the SAS + SSD to the other controller which will utilize NFS for VDI, etc.

My question is - in assigning all 6 SSD's to the Flash Pool, are spares a concern since it's only a caching mechanism, as well as already assigning 2 disks for parity?

Also, do you know if the FAS2240 max cache size increased past the 300 GB limit imposed in 8.1.1? I was able to assign all 6 disks (4 data, 2 parity), which comes out to 380 GB. I've looked and cannot find anything supporting changes to max cache of FAS2240 in 8.1.2.

Thanks again!



on ‎2012-12-04 08:13 AM

Hello Trey,

The FAS2200 series maximum Flash Pool cache capacity for Data ONTAP 8.1.2 was increased to 400GB (which is 300GB in 8.1.1 as you point out).  Therefore, you can assign 4 data drives into the Flash Pool SSD cache.  In terms of maintaining spares, on such a small configuration I wouldn't worry about it.  Those SSD drives reconstruct in ~18 minutes (under load) - very fast - and you are using RAID-DP which gives you the extra protection to warrant not maintaining a spare in the small configuration.  If you used RAID4 I would advocate for the hot spare.  I would say that if you can't get parts within a small window (say a few hours), I would keep a cold spare on hand.



on ‎2013-04-03 03:16 AM


Does Flash Pool is supported on a FMC solution with an aggregate with syncmirror?

It is possible to use a flash pool with the new mSATA 3/4Tb DS4486 in order to have capacity and space efficency?


on ‎2013-05-08 04:06 PM

Hi Wei,

I notice my read latency is far greater than write latency. Which of 2 options should I use?

flash pool vs flash cache

Do you have some stats to show how much performance we can gain by using them? Make to make sounded case to management in order to purchase either of them.



lwei Former NetApp Employee on ‎2013-05-08 11:12 PM

Hi Glen,

What apps are you running? What are the I/O patterns?

BTW, it might be wise to work with your NetApp SE to make your purchase decisions.



on ‎2013-05-09 02:43 AM

Hi Wei,

The app is internal tool with a few NFS file systems mounted to a group of Linux servers.

Mind to share what kind of situation is better off flash cache vs flash pool. Understand their totally different hardware,

No worries about checking with SE, before any purchase, I will discuss with SE.

Come to here to learn some new ideas and communicate with peoples like you to open up different thinking, etc.



lwei Former NetApp Employee on ‎2013-05-12 09:32 PM

Hi Glen,

It is quite simple: use Flash Cache in all cases except for heavy writes. The latter case may benefit from Flash Pool.



on ‎2013-05-13 04:40 PM

Hi Wei,

Is there anyway I can tell how much current read cache is in use? I am trying to find out how much flash cache is needed.



lwei Former NetApp Employee on ‎2013-05-22 09:30 PM

Sorry, didn't see your comments until now. Please take a look at this blog post and the comments. They might answer your question.



on ‎2013-07-26 08:10 AM


After reading TR-4070, I have two quick questions.

1) Does the recommended maximum SSD count per stack include the parity drives or is that just the data drives.

P14 of TR-4070 Ex)  2240: 3 external (+1 internal) shelves: (6-12 SSDs) per stack = Is that 12 SSDs including parity or just the data drives?

2) Do the exact same recommended maximums apply to both SATA/NL-SAS as well as SAS drives?

Thanks for your time.

on ‎2013-07-26 08:14 AM

Unfortunately it includes parity + spare.

Unless something changed, you are not able to put SAS + SSD in a flash pool.

Let me us know if you have any additional questions.

on ‎2013-10-25 01:04 AM

Hi Wei,

Do you happen to have the document about the statement "you can only have one hybrid aggregate (aka Flash Pool) per controller", i try to search but no luck.

Does this dependent on the ONTAP version?


lwei Former NetApp Employee on ‎2013-10-25 08:07 PM

Hi CL,

I don't have the document but I think this statement is obsolete. With newer ONTAP versions I believe you can have more than one flash pools per controller. However, each flash pool will need its own parity SSD(s). 



on ‎2014-07-11 05:18 AM

I had no idea how to create flash pools. I searched it on the Google codes. But the codes were so confusing that I have to search it elsewhere. I am glad that I found what I was looking for here. Thanks for sharing the code with us.

on ‎2014-08-03 06:30 AM

Hi Need some suggestion.

I Have 3 SSD, can i add to flash pool?

Once i add the SSD to the flashpool aggregate, should i create volume specifically for ssd?