Should the NTFS cluster size be equal to SSD page size?

leolo

Junior Member
Feb 7, 2009
11
0
66
Hi people,

I've just bought a 3rd Generation intel SSD (320 series).

These new SSD use a page size of 8 KiB, which means that the minimum write size allowed is 8192 bytes.

However, NTFS uses by default 4 KiB clusters (4096 bytes).

That means that a single 4 KiB cluster written to the SSD would take a full 8 KiB page, wasting half of it!

Does the intel firmware do anything to mitigate this problem? For example, is the controller intelligent enough to merge two 4 KiB NTFS clusters in the same 8 KiB page to optimize space?

Is it possible for an SSD drive to store two different logical 4 KiB NTFS clusters inside a single 8 KiB page??

I've searched high and low all over the internet but I couldn't find the answer to this question!!!

Kind regards.
 
Last edited:

taltamir

Lifer
Mar 21, 2004
13,576
6
76
These new SSD use a page size of 8 KiB, which means that the minimum write size allowed is 8192 bytes.

where did you get this bit of information? AFAIK its still 4KiB page size just like the G2 and G1
 

razel

Platinum Member
May 14, 2002
2,337
93
101
A 4k cluster will not waste half of an 8k page. You will have 2 4k clusters in that 8k page. Also I haven't heard of the 320 series as having an 8k page.
 

leolo

Junior Member
Feb 7, 2009
11
0
66
It was Anand himself who said it in his article:

http://www.anandtech.com/show/4244/intel-ssd-320-review/2

You may remember that with the move to 25nm Intel also increased page size from 4KB to 8KB. On the 320, Intel gives credit to the 8KB page size as a big part of what helped it overcome its sequential write speed limitations.

razel, that's what I wanted to hear! But could you give some links to a source? It's not that I don't believe you, but I'd really like to read it from a relatively "authoritative" source.

Kind regards.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
It was Anand himself who said it in his article:

http://www.anandtech.com/show/4244/intel-ssd-320-review/2

razel, that's what I wanted to hear! But could you give some links to a source? It's not that I don't believe you, but I'd really like to read it from a relatively "authoritative" source.

Kind regards.

thank you, i missed that.
Intel is crediting the 8KiB page with increased sequential speed so its likely that they are indeed concatenating 2x4KiB sequential writes into a single 8KiB page whenever possible.
And all data written is by default encrypted too.

It might even do so for certain random writes. However, I see no reason for it not to waste 4 more KiB on occasion. If a write comes in alone or there is an odd number of 4KiB blocks to write, eventually they have to write the data and stop waiting for more writes to come in so some writes will waste extra space.

I would also be interesting in more specifics on exactly what intel chose to do.
 

razel

Platinum Member
May 14, 2002
2,337
93
101
It was Anand himself who said it in his article:

http://www.anandtech.com/show/4244/intel-ssd-320-review/2

razel, that's what I wanted to hear! But could you give some links to a source? It's not that I don't believe you, but I'd really like to read it from a relatively "authoritative" source.

Thanks for juggling my memory about the 8k page. I remember that reading that exact sentence from the review and stopping to think about it but completely forgot. I'm getting really old.

What source did you want? How filesystems are stored onto HDDs? It's just an understanding of how it's laid out. I guess check google or wikipedia. :) Of course, you can prove it yourself if you already have an SSD or a 4k advanced format drive. Format it with 2k clusters and see if you get half the capacity.
 
Last edited:

leolo

Junior Member
Feb 7, 2009
11
0
66
razel,

Yes, I agree that intel must be optimizing the amount of data in each page in order to not waste space, but there are several possible strategies.

Like taltamir has said, what happens if you get an odd-numbered bunch of 4 KiB clusters? The last 8 KiB page won't have enough data to completely fill it, and it would be half wasted.

And also, what would happen if you sent a single 4 KiB cluster every hour to the SSD?

Would the drive wait for an hour to commit the data in a page?

I'm putting an extreme case, but I think the point is clear. How long will the SSD wait for additional data to neatly fill the pages to their fullest extent??

And, will the drive do periodic "tidy up" runs to scavenge data from semi-filled pages and consolidate them in fully-filled pages to minimize the wasted space?

These are the questions I'd love to have answered. But I'm afraid that only intel has the info we need.

Could Anand ask intel about this and publish the details in an article?
 
Last edited:

razel

Platinum Member
May 14, 2002
2,337
93
101
And also, what would happen if you sent a single 4 KiB cluster every hour to the SSD?

Would the drive wait for an hour to commit the data in a page?

Could Anand ask intel about this and publish the details in an article?

You would torture the drive. Anand has torture tests for nearly every SSD he's been reviewing lately. Most will try to clean up the garbage when it can. Others like Intel and Crucial will do only when necessary. The ones that do it early will show better meaningless benchmark #'s and will age faster than the latter two. In both cases, they do a more efficient job if TRIM is passed.
 
Last edited:

beginner99

Diamond Member
Jun 2, 2009
5,312
1,749
136
But if you use 8kb page size in NTFS could that have a positive impact on performance? Because then all of the above workarounds would not be needed.
 

Voo

Golden Member
Feb 27, 2009
1,684
0
76
You would torture the drive. Anand has torture tests for nearly every SSD he's been reviewing lately. Most will try to clean up the garbage when it can. Others like Intel and Crucial will do only when necessary. The ones that do it early will show better meaningless benchmark #'s and will age faster than the latter two. In both cases, they do a more efficient job if TRIM is passed.
Not necessarily. I'd think it's save to assume that Intel can easily store 4kb data in its SRAM and just wait for another cluster to come. Sounds like the best way to handle a 8kb internal page size since 99.9% of all people will have a 4kb or smaller cluster size and send data accordingly.

That way you'd have to write 4kb data, turn off the power on the SSD (to make sure it has to write back the data) and rinse repeat.
 

Emulex

Diamond Member
Jan 28, 2001
9,759
1
71
the cluster size is relavent to the application as well. iirc 64kb is more in tune with sql server (which oddly is used in alot of apps these days for free //runtime).
 

imagoon

Diamond Member
Feb 19, 2003
5,199
0
0
And also, what would happen if you sent a single 4 KiB cluster every hour to the SSD?

It would write the 4KB page (as 8KB, 4KB data and 4KB of "ones") after some internal firmware time out. Then when NTFS came back and wanted to write 4KB more to that cluster + 1 (assuming a 4kb page) the SSD will cache the 4KB (+1), read the 4KB (+0) build an 8KB sector out of it write the 8KB sector else where, and mark the original 8KB (4KB data + 4KB of "ones") empty for trash clean up to handle.
 
Last edited:

leolo

Junior Member
Feb 7, 2009
11
0
66
Thank you everyone for your replies.

The behaviour suggested by imagoon seems quite logical. I suppose it is what a firmware developer would normally do, so I'll assume it's valid. Still, it would be wonderful to have a confirmation from intel, and a little bit more information about the details (what's the timeout value exactly, how often does the garbage collector run, etc.)

Is it safe to assume that matching the NTFS cluster size to SSD page size would be beneficial to the drive's longevity?

I mean, if you always give the drive your data in 8 KiB chunks, it won't need to do the "garbage collection" so often.

We're probably talking about very small differences. But I think it could be worthwhile.

So, in other words: Would you sacrifice a little bit of space with 8 KiB NTFS clusters in exchange for a little bit longer SSD lifespan?

Argh, choices, choices... so many of them!!
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
it seems logical, but is it an hour? 10 minutes?

And what about how all the G3 having capacitors... it can hold it in its ram for a year and as soon as power is lost it will write it to the actual drive. This saves a lot of programming headach.
 

imagoon

Diamond Member
Feb 19, 2003
5,199
0
0
it seems logical, but is it an hour? 10 minutes?

And what about how all the G3 having capacitors... it can hold it in its ram for a year and as soon as power is lost it will write it to the actual drive. This saves a lot of programming headach.

Knowing Intel you're likely looking at milliseconds. I would make an honest guess of 500 or less.
 

leolo

Junior Member
Feb 7, 2009
11
0
66
Mmm, you're right. Those capacitors could easily change the firmware developer's mind...

I guess our only option is to hear it from the horse's mouth.

Could we ask Anand to try to extract this bit of info from someone at intel?

I think it's a legitimate concern for us G3 owners. We need to know what cluster size is best for our drives!
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
I think it's a legitimate concern for us G3 owners. We need to know what cluster size is best for our drives!

mine was more idle curiosity... if you want to know which cluster is best then we need to perform tests. not ask intel.
 

leolo

Junior Member
Feb 7, 2009
11
0
66
Yes, I guess I could do some benchmarks to try to find differences in performance.

But what I'm really interested in is longevity.

Doing longevity tests usually means wearing out the drive. I cannot afford that :(

intel could simply say "this cluster size will maximize the lifespan of your G3 drive". It wouldn't cost them anything, and we would all benefit.

It doesn't need to divulge any trade secrets. Just say "this cluster size is best for longevity", that's all.
 

imagoon

Diamond Member
Feb 19, 2003
5,199
0
0
Yes, I guess I could do some benchmarks to try to find differences in performance.

But what I'm really interested in is longevity.

Doing longevity tests usually means wearing out the drive. I cannot afford that :(

intel could simply say "this cluster size will maximize the lifespan of your G3 drive". It wouldn't cost them anything, and we would all benefit.

It doesn't need to divulge any trade secrets. Just say "this cluster size is best for longevity", that's all.

I don't see cluster size having all that much of an effect on longevity really. Assuming there is not a really stupid firmware on the disk.
 

groberts101

Golden Member
Mar 17, 2011
1,390
0
0
I don't see cluster size having all that much of an effect on longevity really. Assuming there is not a really stupid firmware on the disk.

not to mention it's silly to think that Intel hasn't taken these concerns into consideration. Many of the newer drives are moving to 8kb pages now as well and the trend will most likely continue.

We're already starting to realize that nand life is of little importance for a desktop system as the drive will be an antique and slower than snot on a cold winter day by the time it becomes a concern/reality. The drive won't even be worthy of a netbook by then as the one that's included with it will probably be larger and faster.