Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Can't really find any info so I'm hoping someone here can shed some light.

I have a fresh copy of Windows 8 Pro installed. I want to use storage spaces with 4 internal HDD and 2 internal SSD's. Does Windows 8 utilize the SSD's in any special way (eg. caching) to enhance the speed of the storage pool?

Or will the SSD's just be part of the pool for data and no performance benefit given?

share|improve this question

4 Answers 4

This somewhat extends TiernanO's answer - I've struggled to find good detailed background on all this, so I thought I'd write it up nicely for everyone:

SSDs can be used to speed up your pools, but it only works in certain situations and there's a number of conditions that must be adhered to.

Firstly, you can't simply just add SSDs to an existing pool and expect it to speed up your system. In fact, if you're mixing SSDs with HDDs in the same pool you're basically wasting the SSDs because each of your files is split up over the other disks, so half of your file might be on a SSD and the other half on the HDD -- so you're still going to need to wait for the HDD to spin up and seek the data before it can actually be used by your computer even though the SSD found the first half of the data long ago. [this is an oversimplification, in fact the data is split to different disks on a block level, not a file level]

So, you probably don't want to mix SSDs and HDDs in the same virtual disk -- have pools composed of only HDDs or only SSDs, not both. Incidentally, it's okay to have them in the same storage pool, just not working on the same virtual disk.

Now, getting back to your question -- yes, it's possible to use SSDs to speed things up by using Storage Space's 'journaling' feature -- but there's a few conditions:

  1. You must be using a virtual disk with a resiliency setting of 'Parity', journal disks cannot be used with 'Simple' or 'Mirror' virtual disks
  2. You must have at least two SSDs -- you can't override this (in the background, they're configured as a Mirror Space in itself in case one fails)
  3. All space on the SSD must be dedicated to journaling, you'll not be able to use either of the SSDs to store data
  4. None of this can be configured from Windows' UI in Windows 8 or Server 2012 -- you have to do it manually using PowerShell
  5. If you've manually increased the number of parity spaces in your pool then you should equally increase the number of journal disks (e.g. if you're using the default 1 parity space, you need 2 SSDs. If you've got 2 parity spaces, you need 4 SSDs etc.).
  6. It may be obvious, but adding Journal disks only increases the speeds of data writes to the virtual disk -- data read speeds will be unaffected

Assuming you're happy with those restrictions, here's what you'll need to do in an elevated PowerShell window:

For this example, I'm assuming you've not yet created your storage pool or virtual disks -- if you've got an existing set modify the instructions to suit.

# See what disks you've got available so you can set the below variables
Get-StoragePool -IsPrimordial $true | Get-PhysicalDisk `
    | Where-Object CanPool -eq $True

# Tell Windows which disk is a traditional HDD and which is an SSD
$HDDs = "PhysicalDisk1", "PhysicalDisk2", "PhysicalDisk3"
$SSDs = "PhysicalDisk4", "PhysicalDisk5"

# Create a new storage pool (these are fairly default options)
New-StoragePool -FriendlyName "Your Storage Pool" `
    -PhysicalDisks (Get-PhysicalDisk $HDDs) `
    -StorageSubSystemFriendlyName "Storage Spaces*" `
    -ResiliencySettingNameDefault Parity

# Add in your two (or more) Journal disks
Add-PhysicalDisk -StoragePoolFriendlyName "Your Storage Pool" `
    -PhysicalDisks (Get-PhysicalDisk $SSDs) -Usage Journal

# Create the virtual disk and get it ready for use
New-VirtualDisk -FriendlyName "Parity Protected & Journaled Data" `
    -StoragePoolFriendlyName "Your Storage Pool" -NumberOfColumns 3 `
     -ProvisioningType Thin -ResiliencySettingName Parity -Size 2TB `
    | Initialize-Disk -PassThru -PartitionStyle MBR `
    | New-Partition -AssignDriveLetter -UseMaximumSize `
    | Format-Volume -FileSystem NTFS `
        -NewFileSystemLabel "Parity Protected & Journaled" -Confirm:$false

You can now check it all worked using a Get-PhysicalDisk:

FriendlyName  CanPool OperationalStatus HealthStatus Usage            Size
------------  ------- ----------------- ------------ -----            ----
PhysicalDisk1 False   OK                Healthy      Auto-Select  10.25 GB
PhysicalDisk2 False   OK                Healthy      Auto-Select  10.25 GB
PhysicalDisk3 False   OK                Healthy      Auto-Select  10.25 GB
PhysicalDisk4 False   OK                Healthy      Journal      10.25 GB
PhysicalDisk5 False   OK                Healthy      Journal      10.25 GB

Sources:

share|improve this answer
    
Thank you so much for sharing! –  Adrian Grigore Jul 28 at 7:59

There is very little documentation on this, but i did read somewhere that Storage Spaces has the option to add a disk to a pool for Journaling. I cant find the original article, but if you look at the Add-PhysicalDisk cmdlet, under Usage, there is an option for Journal... When I read about it, the guy mentioned that he used an SSD as a journal disk, and added it to a pool of 8 2Tb drives, and read and write increased by 40+%... Your Mileage may Vary, but it might be worth a shot...

As a third party option, you may also want to have a look at FancyCache. You can use memory and SSDs as a cache for your slower Media. I used it before, and it worked well, just have not had a chance to re-install since moving to Server 2012...

share|improve this answer
    
+1 for FancyCache hint, never heard of that one before, and might be worth a look. –  TheBlastOne Feb 6 '13 at 10:30

I think this is improved on Windows server 2012 r2.

  • Write-back cache

Storage Spaces can use existing solid-state drives in the storage pool to create a write-back cache that is tolerant of power failures and that buffers small random writes to solid-state drives before later writing them to hard disk drives.

  • What value does this change add?

Small random writes often dominate common enterprise workloads, and they can impact the performance of other data transfers that are taking place. By using solid-state drives (which excel at random access) for a write-back cache, Storage Spaces can reduce the latency of the random writes and also greatly reduce any impact on the performance of other data transfers.

  • What works differently?

The write-back cache is transparent to administrators and users, and it is created on all new virtual disks if there are a sufficient number of solid-state drives in the storage pool, as determined by the following requirements for the associated storage space:

  1. Simple spaces require one solid-state drive
  2. Two-way mirror spaces and single-parity spaces require two solid-state drives
  3. Three-way mirror spaces and dual parity spaces require three solid-state drives

The write-back cache works with all types of storage spaces, including storage spaces with storage tiers.

Newly created storage spaces automatically use a 1 GB write-back cache by default when the storage pool contains enough physical disks with MediaType set to SSD or Usage set to Journal to support the specified resiliency setting. If there aren’t enough physical disks with these settings, the write-back cache size is set to 0, except for parity spaces, when it’s set to 32 MB.

share|improve this answer
    
Hello and welcome to superuser.com. Your example refers to Windows server, while the poster asked about Windows 8.1. Are you sure that what you are talking about also goes for Windows 8.1? If so, do you have references for that? –  Mogget Nov 8 '13 at 8:59

Storage spaces does not use SSDs for caching, it treats them like regular spinning disks. Please check out the benchmarks here.

There is no option in storage spaces to automatically use an SSD as cache, but if you design your storage pools carefully, you can get the best performance out of those disks.

If you have a "Caching" SSD (one specifically designed for caching like the OCZ synapse) or are using Intel's smart response technology, then these can still be used to accelerate a volume or a single disk of a windows 8 storage space.

share|improve this answer
    
I don't have a specific SSD for caching. I have two 128GB Samsung 840 Pro Series. I know that the most I could use is 64GB, so I can either waste the other half or partition it for something else. Good to know that I can use SRT to cache an entire storage pool –  Markaway Jan 4 '13 at 14:42

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.