By: iz (i.delete@this.z.x), January 25, 2011 5:18 pm
Room: Moderated Discussions
The tricky bit of TRIM is that it depends on the SSD controller/firmware implementation. So you can't assume a perfect TRIM implementation and hence can't use general rules for when or how to do TRIM.
That said, for a perfect TRIM implementation the follow holds:
Ungo (a@b.c.d.e) on 1/25/11 wrote:
---------------------------
>1. You should never TRIM unless the SSD is otherwise idle, because sending a TRIM has costs similar to a write.
Or interleave small TRIMs with regular writes. That way the TRIM info can be stuffed in the page metadata and almost no extra IO is caused. But you can't count on SSDs doing this, so better to batch them up.
Idle or not has no influence, because if you batch TRIMs up the performance decrease should be minimal enough that it doesn't matter.
>2. You should never TRIM anything you're about to overwrite, because an overwrite
>is more or less the same as TRIM+write, and why use 2 operations when one will do?
Exactly. That's why it's much better for file systems to reuse blocks instead of TRIMming them.
>3. It probably isn't all that important to TRIM everything you deallocate. If
>the drive's firmware is solid it should get by just fine if you never send a single
>TRIM. If it isn't solid, you have other problems.
True, but you could get into trouble with a very fragmenting IO pattern (like writing big files and then overwriting the deleted space with random writes, and this often enough that it has a global effect on GC efficiency).
So if you can't be really troubled with TRIM, only use it on big blocks just freed to avoid future fragmentation.
>Given these 3 principles, the best implementation is probably something which pushes
>deallocated LBAs into a "to-be-trimmed" list which is kept only in volatile memory.
>Then you need a background maintenance thread to fire up during periods of low
>I/O activity and work its way through the list.
>
>When the FS needs to allocate blocks, it may be valuable to remove LBAs from the
>TRIM list and overwrite them instead. If there aren't enough blocks (or no single
>extent large enough to fill the allocation), fall back to the normal FS allocation algorithm.
>
>It should be ok to drop things from TRIM list without actually doing anything.
>In fact, it's probably even desirable: if you tried to obey the principle of not
>TRIMming during heavy IO, and tried to keep track of everything ever added to the
>TRIM list, you'd end up with a kernel data structure which grows almost without
>bounds. Keep it small, drop old entries if new ones fill the table.
Thing is, even if you TRIM random 4kB blocks all over the place, a thousand of those fit in one NAND page. So just flush the list every 1k entries and the write overhead caused can be minimal.
That said, the cost of updating the mapping table and extra CPU usage to handle all the TRIMs is real, so TRIM will never be free, but the cost can be reduced to at most 10% write speed decrease (assuming a 10% write amplification for regular writes). For a TRIM to be effective it only has to prevent one page from being GCed unnecessarily every few hundred TRIMs.
>
>Overall it looks like the same sort of nigh-impossible optimization problem as
>paging -- that is, the theoretical ideal behavior is only possible to achieve by
>accurately predicting future application behavior.
No, because there's a limit on how much you have to batch up to get minimal overhead. But re-using blocks is probably easier for a FS than getting TRIM right and generally a lot better too.
>Unlike paging, however, it's not clear that there are huge gains to be had by getting
>it approximately right. The benefits are small. It almost seems to be the case
>that it's more a matter of "how do I get performance back to the same level it was before I decided to implement TRIM".
Yes, because when you would notice a huge difference, you hit the garbage collection bottleneck and that's something you never want to hit (because it's always slow).
That doesn't mean the FS can't help to avoid that. In order of importance:
1) Use a SSD friendly block allocation algorithm.
2) Use TRIM when it makes sense.
Between hitting GC limits and not noticing any difference is also the wide gap of the disk doing less efficient GC, causing less endurance and more power usage. But this isn't something you can easily measure, and when you do 1) it's already a lot less likely.
>In fact, I think the part about preferentially reusing recently deallocated LBAs
>might be much more important than actually TRIMming them. It gets you the benefit
>of TRIM as a side effect of something you're doing anyways. You only want to TRIM
>deallocated blocks if you don't have an immediate need to allocate a block.
Very true!
The FS can give the SSD more breathing room by virtually increasing the reservation size, which helps a lot more than TRIM. So it should use as few blocks as it needs and leave the rest untouched (in case of the FS getting significantly less full, it should use TRIM to "give back" the unused space).
>I haven't seen any convincing argument yet that Linus isn't right on his central
>point that TRIM has been massively oversold as a vital thing to implement if you want to use SSDs. It just isn't.
>
It isn't and can't be. If the filesystem is SSD friendly, then TRIM doesn't add much and only makes sense in a few rare cases.
TRIM only helps for when data is freed and not reused soon, so it has time to be be GCed for nothing. The latter is unlikely because there are usually more free blocks, and the first is unlikely because disks generally fill up with more, not less data.
That said, there is absolutely no excuse for SSD controllers to not get TRIM right, and even if a FS uses TRIM all the time, the degradation should be at most 10%. Any controller that slows down much more than that is crap.
That said, for a perfect TRIM implementation the follow holds:
Ungo (a@b.c.d.e) on 1/25/11 wrote:
---------------------------
>1. You should never TRIM unless the SSD is otherwise idle, because sending a TRIM has costs similar to a write.
Or interleave small TRIMs with regular writes. That way the TRIM info can be stuffed in the page metadata and almost no extra IO is caused. But you can't count on SSDs doing this, so better to batch them up.
Idle or not has no influence, because if you batch TRIMs up the performance decrease should be minimal enough that it doesn't matter.
>2. You should never TRIM anything you're about to overwrite, because an overwrite
>is more or less the same as TRIM+write, and why use 2 operations when one will do?
Exactly. That's why it's much better for file systems to reuse blocks instead of TRIMming them.
>3. It probably isn't all that important to TRIM everything you deallocate. If
>the drive's firmware is solid it should get by just fine if you never send a single
>TRIM. If it isn't solid, you have other problems.
True, but you could get into trouble with a very fragmenting IO pattern (like writing big files and then overwriting the deleted space with random writes, and this often enough that it has a global effect on GC efficiency).
So if you can't be really troubled with TRIM, only use it on big blocks just freed to avoid future fragmentation.
>Given these 3 principles, the best implementation is probably something which pushes
>deallocated LBAs into a "to-be-trimmed" list which is kept only in volatile memory.
>Then you need a background maintenance thread to fire up during periods of low
>I/O activity and work its way through the list.
>
>When the FS needs to allocate blocks, it may be valuable to remove LBAs from the
>TRIM list and overwrite them instead. If there aren't enough blocks (or no single
>extent large enough to fill the allocation), fall back to the normal FS allocation algorithm.
>
>It should be ok to drop things from TRIM list without actually doing anything.
>In fact, it's probably even desirable: if you tried to obey the principle of not
>TRIMming during heavy IO, and tried to keep track of everything ever added to the
>TRIM list, you'd end up with a kernel data structure which grows almost without
>bounds. Keep it small, drop old entries if new ones fill the table.
Thing is, even if you TRIM random 4kB blocks all over the place, a thousand of those fit in one NAND page. So just flush the list every 1k entries and the write overhead caused can be minimal.
That said, the cost of updating the mapping table and extra CPU usage to handle all the TRIMs is real, so TRIM will never be free, but the cost can be reduced to at most 10% write speed decrease (assuming a 10% write amplification for regular writes). For a TRIM to be effective it only has to prevent one page from being GCed unnecessarily every few hundred TRIMs.
>
>Overall it looks like the same sort of nigh-impossible optimization problem as
>paging -- that is, the theoretical ideal behavior is only possible to achieve by
>accurately predicting future application behavior.
No, because there's a limit on how much you have to batch up to get minimal overhead. But re-using blocks is probably easier for a FS than getting TRIM right and generally a lot better too.
>Unlike paging, however, it's not clear that there are huge gains to be had by getting
>it approximately right. The benefits are small. It almost seems to be the case
>that it's more a matter of "how do I get performance back to the same level it was before I decided to implement TRIM".
Yes, because when you would notice a huge difference, you hit the garbage collection bottleneck and that's something you never want to hit (because it's always slow).
That doesn't mean the FS can't help to avoid that. In order of importance:
1) Use a SSD friendly block allocation algorithm.
2) Use TRIM when it makes sense.
Between hitting GC limits and not noticing any difference is also the wide gap of the disk doing less efficient GC, causing less endurance and more power usage. But this isn't something you can easily measure, and when you do 1) it's already a lot less likely.
>In fact, I think the part about preferentially reusing recently deallocated LBAs
>might be much more important than actually TRIMming them. It gets you the benefit
>of TRIM as a side effect of something you're doing anyways. You only want to TRIM
>deallocated blocks if you don't have an immediate need to allocate a block.
Very true!
The FS can give the SSD more breathing room by virtually increasing the reservation size, which helps a lot more than TRIM. So it should use as few blocks as it needs and leave the rest untouched (in case of the FS getting significantly less full, it should use TRIM to "give back" the unused space).
>I haven't seen any convincing argument yet that Linus isn't right on his central
>point that TRIM has been massively oversold as a vital thing to implement if you want to use SSDs. It just isn't.
>
It isn't and can't be. If the filesystem is SSD friendly, then TRIM doesn't add much and only makes sense in a few rare cases.
TRIM only helps for when data is freed and not reused soon, so it has time to be be GCed for nothing. The latter is unlikely because there are usually more free blocks, and the first is unlikely because disks generally fill up with more, not less data.
That said, there is absolutely no excuse for SSD controllers to not get TRIM right, and even if a FS uses TRIM all the time, the degradation should be at most 10%. Any controller that slows down much more than that is crap.
Topic | Posted By | Date |
---|---|---|
The ARM story: Earthquake looming? | Will Smith | 2011/01/12 01:30 AM |
The ARM story: Earthquake looming? | Max | 2011/01/12 02:50 AM |
Any x86 -> ARM port experience? | Ben Harper | 2011/01/12 04:22 AM |
Any x86 -> ARM port experience? | Michael S | 2011/01/12 07:52 AM |
Any x86 -> ARM port experience? | Megol | 2011/01/12 10:10 AM |
Any x86 -> ARM port experience? | Michael S | 2011/01/12 11:19 AM |
Any x86 -> ARM port experience? | Wilco | 2011/01/12 12:47 PM |
badly written? | Michael S | 2011/01/12 01:59 PM |
badly written? | Wilco | 2011/01/12 03:03 PM |
badly written? | Megol | 2011/01/13 05:16 AM |
badly written? | Wilco | 2011/01/13 07:09 AM |
badly written? | Megol | 2011/01/14 03:28 AM |
badly written? | Wilco | 2011/01/14 07:20 AM |
badly written? | mpx | 2011/01/13 09:19 AM |
badly written? | James | 2011/01/14 04:15 AM |
unaligned read is fast on Nehalem | Richard Cownie | 2011/01/13 10:10 AM |
unaligned read is fast on Nehalem | Linus Torvalds | 2011/01/13 10:45 AM |
l1 access size? | anon | 2011/01/13 12:16 PM |
unaligned read is fast on Nehalem | Richard Cownie | 2011/01/13 12:21 PM |
unaligned read is fast on Nehalem | EduardoS | 2011/01/13 04:42 PM |
unaligned read is fast on Nehalem | Michael S | 2011/01/13 04:50 PM |
unaligned read is fast on Nehalem | Richard Cownie | 2011/01/13 05:50 PM |
unaligned read is fast on Nehalem | Konrad Schwarz | 2011/01/17 07:28 AM |
badly written? | anoneeeemouse | 2011/01/12 06:31 PM |
And endianness? | Ben Harper | 2011/01/13 05:34 AM |
And endianness? | rwessel | 2011/01/13 05:40 AM |
And endianness? | Wilco | 2011/01/13 06:20 AM |
And endianness? | Ben Harper | 2011/01/13 08:11 AM |
And endianness? | Konrad Schwarz | 2011/01/17 07:20 AM |
And endianness? | Megol | 2011/01/17 11:09 AM |
Any x86 -> ARM port experience? | EduardoS | 2011/01/12 02:30 PM |
Any x86 -> ARM port experience? | anon | 2011/01/12 10:53 AM |
Any x86 -> ARM port experience? | anon | 2011/01/12 10:28 PM |
Any x86 -> ARM port experience? | anon | 2011/01/12 10:52 PM |
The ARM story: Earthquake looming? | Linus Torvalds | 2011/01/12 11:44 AM |
The ARM story: Earthquake looming? | Wilco | 2011/01/12 03:53 PM |
The ARM story: Earthquake looming? | anon | 2011/01/12 04:14 PM |
The ARM story: Earthquake looming? | Wilco | 2011/01/12 04:20 PM |
The ARM story: Earthquake looming? | anon | 2011/01/12 04:36 PM |
The ARM story: Earthquake looming? | Wilco | 2011/01/12 05:17 PM |
The ARM story: Earthquake looming? | Aaron Spink | 2011/01/12 05:46 PM |
The ARM story: Earthquake looming? | Wilco | 2011/01/12 05:54 PM |
The ARM story: Earthquake looming? | anon | 2011/01/12 05:49 PM |
The ARM story: Earthquake looming? | Wilco | 2011/01/12 06:20 PM |
The ARM story: Earthquake looming? | anon | 2011/01/12 07:20 PM |
The ARM story: Earthquake looming? | Wilco | 2011/01/12 08:51 PM |
Some CoreMark results | Paul A. Clayton | 2011/01/12 07:41 PM |
Some CoreMark results | Wilco | 2011/01/12 10:49 PM |
Some CoreMark results | Paul A. Clayton | 2011/01/13 09:14 AM |
Some CoreMark results | Wilco | 2011/01/13 12:31 PM |
Some CoreMark results | Linus Torvalds | 2011/01/13 12:36 PM |
Some CoreMark results | anonymous | 2011/01/13 01:05 PM |
Some CoreMark results | Wilco | 2011/01/13 01:15 PM |
Some CoreMark results | Linus Torvalds | 2011/01/13 03:02 PM |
Some CoreMark results | Wilco | 2011/01/14 08:24 AM |
Some CoreMark results | none | 2011/01/14 08:55 AM |
The ARM story: Earthquake looming? | Linus Torvalds | 2011/01/12 04:21 PM |
The ARM story: Earthquake looming? | Wilco | 2011/01/12 05:07 PM |
The ARM story: Earthquake looming? | Linus Torvalds | 2011/01/12 06:07 PM |
The ARM story: Earthquake looming? | Michael S | 2011/01/13 04:33 AM |
The ARM story: Earthquake looming? | Linus Torvalds | 2011/01/13 09:19 AM |
The ARM story: Earthquake looming? | Megol | 2011/01/14 04:51 AM |
The ARM story: Earthquake looming? | anon | 2011/01/12 05:09 PM |
The ARM story: Earthquake looming? | Linus Torvalds | 2011/01/12 06:09 PM |
The ARM story: Earthquake looming? | anonymous | 2011/01/13 06:50 AM |
The ARM story: Earthquake looming? | Michael S | 2011/01/13 07:52 AM |
The ARM story: Earthquake looming? | Linus Torvalds | 2011/01/13 10:28 AM |
The ARM story: Earthquake looming? | ? | 2011/01/14 08:48 AM |
The ARM story: Earthquake looming? | none | 2011/01/14 09:01 AM |
The ARM story: Earthquake looming? | someone | 2011/01/14 11:03 AM |
The ARM story: Earthquake looming? | none | 2011/01/14 03:38 PM |
The ARM story: Earthquake looming? | someone | 2011/01/15 10:53 AM |
The ARM story: Earthquake looming? | mpx | 2011/01/15 01:18 AM |
The ARM story: Earthquake looming? | Aaron Spink | 2011/01/15 06:03 AM |
The ARM story: Earthquake looming? | Brett | 2011/01/15 12:01 PM |
The ARM story: Earthquake looming? | mpx | 2011/01/15 01:40 PM |
The ARM story: Earthquake looming? | Aaron Spink | 2011/01/17 04:11 PM |
The ARM story: Earthquake looming? | Rob Thorpe | 2011/01/17 04:35 PM |
The ARM story: Earthquake looming? | Michael S | 2011/01/17 05:23 PM |
As you can see... | Rob Thorpe | 2011/01/17 06:52 PM |
The ARM story: Earthquake looming? | Aaron Spink | 2011/01/17 05:57 PM |
The ARM story: Earthquake looming? | Greg Gritton | 2011/01/17 11:57 PM |
The ARM story: Earthquake looming? | Brett | 2011/01/18 11:00 AM |
The ARM story: Earthquake looming? | Megol | 2011/01/18 11:11 AM |
The ARM story: Earthquake looming? | Max | 2011/01/18 01:34 AM |
The ARM story: Earthquake looming? | Brett | 2011/01/18 10:39 AM |
Apple | David Kanter | 2011/01/18 11:22 AM |
The ARM story: Earthquake looming? | Max | 2011/01/18 12:17 PM |
The ARM story: Earthquake looming? | Rob Thorpe | 2011/01/18 03:36 PM |
The ARM story: Earthquake looming? | Brett | 2011/01/18 06:00 PM |
The ARM story: Earthquake looming? | David Kanter | 2011/01/18 07:44 PM |
The ARM story: Earthquake looming? | rwessel | 2011/01/18 09:19 PM |
Definition of SOC | Rob Thorpe | 2011/01/19 02:24 PM |
The ARM story: Earthquake looming? | Aaron Spink | 2011/01/18 11:26 PM |
The ARM story: Earthquake looming? | Brett | 2011/01/19 01:57 AM |
The ARM story: Earthquake looming? | Aaron Spink | 2011/01/19 02:15 AM |
Pioneers get arrows in their backs | Brett | 2011/01/19 07:08 PM |
Pioneers get arrows in their backs | Aaron Spink | 2011/01/19 08:22 PM |
Plausible ID, HCI translation | Paul A. Clayton | 2011/01/19 09:18 AM |
Quad pixel? | David Kanter | 2011/01/19 02:37 PM |
Quad pixel? | Brett | 2011/01/19 03:53 PM |
Quad pixel? | David Kanter | 2011/01/19 08:10 PM |
TRIM (was Quad pixel?) | Linus Torvalds | 2011/01/19 05:22 PM |
TRIM (was Quad pixel?) | Aaron Spink | 2011/01/19 08:15 PM |
TRIM (was Quad pixel?) | anon | 2011/01/19 09:11 PM |
TRIM (was Quad pixel?) | Linus Torvalds | 2011/01/19 09:12 PM |
TRIM (was Quad pixel?) | iz | 2011/01/19 10:03 PM |
TRIM (was Quad pixel?) | Linus Torvalds | 2011/01/19 10:52 PM |
TRIM (was Quad pixel?) | Aaron Spink | 2011/01/19 11:35 PM |
TRIM (was Quad pixel?) | anon | 2011/01/19 11:43 PM |
TRIM (was Quad pixel?) | Aaron Spink | 2011/01/20 12:23 AM |
TRIM (was Quad pixel?) | anon | 2011/01/20 01:00 AM |
TRIM (was Quad pixel?) | mpx | 2011/01/20 02:34 PM |
TRIM (was Quad pixel?) | anon | 2011/01/20 04:29 PM |
TRIM (was Quad pixel?) | Linus Torvalds | 2011/01/20 09:34 AM |
TRIM (was Quad pixel?) | Ricardo B | 2011/01/20 11:25 AM |
TRIM (was Quad pixel?) | Linus Torvalds | 2011/01/20 11:51 AM |
TRIM (was Quad pixel?) | Aaron Spink | 2011/01/20 01:28 PM |
TRIM (was Quad pixel?) | anon | 2011/01/20 02:00 PM |
TRIM (was Quad pixel?) | Aaron Spink | 2011/01/20 03:52 PM |
TRIM (was Quad pixel?) | anon | 2011/01/20 04:30 PM |
TRIM (was Quad pixel?) | Ricardo B | 2011/01/20 01:36 PM |
TRIM (was Quad pixel?) | Linus Torvalds | 2011/01/20 04:57 PM |
TRIM (was Quad pixel?) | Ricardo B | 2011/01/20 06:14 PM |
TRIM (was Quad pixel?) | MS | 2011/01/21 09:06 AM |
TRIM (was Quad pixel?) | Aaron Spink | 2011/01/20 01:19 PM |
TRIM (was Quad pixel?) | mpx | 2011/01/21 05:45 AM |
TRIM (was Quad pixel?) | James | 2011/01/21 07:37 AM |
TRIM (was Quad pixel?) | mpx | 2011/01/21 03:10 PM |
databases and filesystems | Foo_ | 2011/01/21 06:26 AM |
TRIM (was Quad pixel?) | iz | 2011/01/20 12:45 AM |
TRIM (was Quad pixel?) | Linus Torvalds | 2011/01/20 09:54 AM |
TRIM (was Quad pixel?) | iz | 2011/01/20 11:28 PM |
TRIM (was Quad pixel?) | anon | 2011/01/19 10:34 PM |
TRIM (was Quad pixel?) | Doug Siebert | 2011/01/19 11:48 PM |
TRIM (was Quad pixel?) | anon | 2011/01/19 11:59 PM |
TRIM - How about we use LBA and PBA? | Aaron Spink | 2011/01/20 12:06 AM |
TRIM - How about we use LBA and PBA? | anon | 2011/01/20 12:10 AM |
TRIM (was Quad pixel?) | Aaron Spink | 2011/01/20 05:23 PM |
TRIM (was Quad pixel?) | Anon | 2011/01/19 10:58 PM |
TRIM (was Quad pixel?) | Aaron Spink | 2011/01/19 11:04 PM |
TRIM (was Quad pixel?) | anon | 2011/01/19 11:34 PM |
TRIM (was Quad pixel?) | Aaron Spink | 2011/01/19 11:59 PM |
TRIM (was Quad pixel?) | anon | 2011/01/20 12:18 AM |
TRIM (was Quad pixel?) | Aaron Spink | 2011/01/20 12:54 AM |
TRIM (was Quad pixel?) | anon | 2011/01/20 01:12 AM |
TRIM (was Quad pixel?) | Aaron Spink | 2011/01/20 01:44 AM |
TRIM (was Quad pixel?) | anon | 2011/01/20 08:56 AM |
TRIM (was Quad pixel?) | anon | 2011/01/20 08:59 AM |
TRIM (was Quad pixel?) | Aaron Spink | 2011/01/20 01:33 PM |
TRIM (was Quad pixel?) | anon | 2011/01/20 04:55 PM |
TRIM (was Quad pixel?) | Aaron Spink | 2011/01/20 05:14 PM |
TRIM (was Quad pixel?) | anon | 2011/01/20 06:14 PM |
TRIM (was Quad pixel?) | Aaron Spink | 2011/01/20 08:38 PM |
TRIM (was Quad pixel?) | anon | 2011/01/20 09:16 PM |
TRIM (was Quad pixel?) | mpx | 2011/01/20 03:58 PM |
Supercaps | slacker | 2011/01/20 04:57 PM |
Supercaps | Aaron Spink | 2011/01/20 05:20 PM |
Supercaps | slacker | 2011/01/20 05:43 PM |
Supercaps | Aaron Spink | 2011/01/20 08:25 PM |
Supercaps | slacker | 2011/01/20 11:02 PM |
Supercaps | MS | 2011/01/21 01:37 PM |
TRIM (was Quad pixel?) | Linus Torvalds | 2011/01/20 09:58 AM |
TRIM (was Quad pixel?) | ajensen | 2011/01/21 03:23 AM |
Mythical SSDs | Ricardo B | 2011/01/21 06:27 AM |
Mythical SSDs | Linus Torvalds | 2011/01/21 10:24 AM |
Mythical SSDs | anon | 2011/01/21 12:00 PM |
What is off-line? | David Kanter | 2011/01/21 12:09 PM |
What is off-line? | Linus Torvalds | 2011/01/21 01:51 PM |
What is off-line? | Octoploid | 2011/01/21 02:04 PM |
Mythical SSDs | ajensen | 2011/01/21 12:28 PM |
Mythical SSDs | Aaron Spink | 2011/01/21 12:58 PM |
Mythical SSDs | Linus Torvalds | 2011/01/21 01:21 PM |
Mythical SSDs | Aaron Spink | 2011/01/21 04:13 PM |
Mythical SSDs | anon | 2011/01/21 07:47 PM |
Mythical SSDs | mpx | 2011/01/22 01:01 AM |
Mythical SSDs | anon | 2011/01/22 02:08 AM |
Mythical Linus | ? | 2011/01/25 07:16 AM |
Mythical Linus | Ungo | 2011/01/25 12:35 PM |
Mythical Linus | Dean Kent | 2011/01/25 01:14 PM |
Filesystem impact | David Kanter | 2011/01/25 01:16 PM |
Filesystem impact | Ungo | 2011/01/25 03:15 PM |
Filesystem impact | iz | 2011/01/25 05:18 PM |
Filesystem impact | Aaron Spink | 2011/01/26 01:25 PM |
Filesystem impact | Foo_ | 2011/01/25 05:14 PM |
Filesystem impact | iz | 2011/01/25 05:24 PM |
Filesystem impact | Aaron Spink | 2011/01/26 01:27 PM |
Filesystem impact | Robert Myers | 2011/01/26 06:43 PM |
Filesystem impact | anon | 2011/01/26 08:29 PM |
Filesystem impact | anon | 2011/01/26 07:19 PM |
Filesystem impact | Groo | 2011/01/25 07:42 PM |
Filesystem impact | iz | 2011/01/25 10:03 PM |
Filesystem impact | mpx | 2011/01/26 02:15 AM |
Filesystem impact | iz | 2011/01/26 03:14 AM |
Windows 7 and SSDs: Setup secrets and tune-up tweaks | _Arthur | 2011/01/26 06:59 PM |
TRIM | iz | 2011/01/19 09:54 PM |
TRIM | Aaron Spink | 2011/01/19 11:43 PM |
TRIM | iz | 2011/01/20 01:01 AM |
TRIM | Aaron Spink | 2011/01/20 01:25 AM |
TRIM | iz | 2011/01/20 04:29 AM |
TRIM (was Quad pixel?) | Megol | 2011/01/20 03:29 AM |
TRIM (was Quad pixel?) | Linus Torvalds | 2011/01/20 10:05 AM |
TRIM (was Quad pixel?) | Rob Thorpe | 2011/01/22 01:30 PM |
TRIM (was Quad pixel?) | anon | 2011/01/22 07:07 PM |
TRIM | David Kanter | 2011/01/24 02:05 PM |
TRIM | anon | 2011/01/24 02:57 PM |
TRIM | MS | 2011/01/24 03:22 PM |
TRIM | Dan Downs | 2011/01/24 06:44 PM |
TRIM | Dan Downs | 2011/01/24 06:51 PM |
TRIM | anon | 2011/01/24 07:29 PM |
TRIM | MS | 2011/01/24 08:40 PM |
TRIM | Ricardo B | 2011/01/25 03:40 PM |
TRIM | Anon | 2011/01/24 06:37 PM |
TRIM | Richard Cownie | 2011/01/24 07:45 PM |
TRIM | Aaron Spink | 2011/01/24 07:53 PM |
TRIM | Anon | 2011/01/24 09:28 PM |
TRIM | Richard Cownie | 2011/01/25 07:39 AM |
TRIM Linus is right | gallier2 | 2011/01/25 11:18 AM |
TRIM Linus is right | Max | 2011/01/25 12:30 PM |
TRIM Linus is right | Michael S | 2011/01/25 01:17 PM |
TRIM Linus is right | Max | 2011/01/25 06:15 PM |
TRIM Linus is right | Anon | 2011/01/25 09:09 PM |
TRIM Linus is right | gallier2 | 2011/01/26 02:26 AM |
TRIM Linus is right | anon | 2011/01/26 09:30 PM |
TRIM Linus is right | Ricardo B | 2011/01/26 02:12 AM |
TRIM Linus is right | iz | 2011/01/26 03:19 AM |
Linus is wrong - TRIM is *essential* | ? | 2011/01/26 05:04 AM |
Linus is wrong - TRIM is *essential* | Meeple | 2011/01/26 04:34 PM |
Linus is wrong - TRIM is *essential* | iz | 2011/01/26 08:01 PM |
Linus is wrong - TRIM is *essential* | anon | 2011/01/26 08:40 PM |
Linus is wrong - TRIM is *essential* | David Kanter | 2011/01/26 09:09 PM |
Linus is wrong - TRIM is *essential* | anon | 2011/01/26 09:40 PM |
TRIM Linus is right | MS | 2011/01/26 12:03 PM |
TRIM Linus is right | Michael S | 2011/01/26 12:48 PM |
TRIM Linus is right | MS | 2011/01/26 01:30 PM |
Relative latency | David Kanter | 2011/01/26 01:09 PM |
Relative latency | MS | 2011/01/26 01:34 PM |
NAND flash latencies | slacker | 2011/01/26 07:14 PM |
NAND flash latencies | iz | 2011/01/26 08:18 PM |
NAND flash latencies -- Correction | slacker | 2011/01/26 08:58 PM |
NAND flash latencies -- Correction | iz | 2011/01/27 12:58 AM |
NAND flash latencies -- Correction | David Kanter | 2011/01/27 01:54 AM |
NAND flash latencies -- Correction | Ricardo B | 2011/01/27 04:42 AM |
NAND flash latencies -- Correction | iz | 2011/01/27 07:54 PM |
NAND flash latencies -- Correction | Ricardo B | 2011/01/28 06:02 AM |
NAND flash latencies -- Correction | MS | 2011/01/28 03:06 PM |
NAND flash latencies -- Correction | iz | 2011/01/28 05:12 PM |
Relative latency | Ricardo B | 2011/01/26 03:23 PM |
Relative latency | MS | 2011/01/26 04:16 PM |
TRIM Linus is right | James | 2011/01/26 05:26 AM |
TRIM Linus is right | gallier2 | 2011/01/25 02:46 PM |
TRIM Linus is right | MS | 2011/01/25 03:10 PM |
Linus is HALF right | Darrell Coker | 2011/01/25 07:36 PM |
Linus is HALF right | Ricardo B | 2011/01/26 01:52 AM |
EXT4 *not* heavily optimized for rotating media | ? | 2011/01/26 02:34 AM |
TRIM | Anon | 2011/01/25 09:00 PM |
The alternative to TRIM | Max | 2011/01/20 11:35 AM |
The alternative to TRIM | anon | 2011/01/20 04:57 PM |
The alternative to TRIM | Max | 2011/01/21 02:27 AM |
The alternative to TRIM | Dan Downs | 2011/01/20 05:18 PM |
The alternative to TRIM | Aaron Spink | 2011/01/20 05:34 PM |
The alternative to TRIM | Linus Torvalds | 2011/01/20 06:16 PM |
The alternative to TRIM | Gabriele Svelto | 2011/01/22 02:10 AM |
The alternative to TRIM | Dan Downs | 2011/01/20 07:12 PM |
The alternative to TRIM | Aaron Spink | 2011/01/20 08:34 PM |
Another Alternative to Trim | Mark Christiansen | 2011/01/22 12:07 PM |
Another Alternative to Trim | iz | 2011/01/22 06:43 PM |
Another Alternative to Trim | Linus Torvalds | 2011/01/22 09:12 PM |
Another Alternative to Trim | Aaron Spink | 2011/01/23 02:01 AM |
Another Alternative to Trim | iz | 2011/01/23 05:20 AM |
Another Alternative to Trim | mpx | 2011/01/23 12:00 PM |
Another Alternative to Trim | iz | 2011/01/23 06:10 PM |
TRIM vs. GC for SSD Longevity | mpx | 2011/01/20 02:19 PM |
TRIM vs. GC for SSD Longevity | iz | 2011/01/20 07:05 PM |
TRIM vs. GC for SSD Longevity | mpx | 2011/01/21 03:29 AM |
TRIM vs. GC for SSD Longevity | anon | 2011/01/21 07:51 PM |
TRIM vs. GC for SSD Longevity | Aaron Spink | 2011/01/20 08:42 PM |
TRIM vs. GC for SSD Longevity | MS | 2011/01/21 06:07 PM |
Quad pixel? | Anon | 2011/01/19 10:48 PM |
Quad pixel? | mpx | 2011/01/20 08:40 AM |
The ARM story: Earthquake looming? | Rob Thorpe | 2011/01/19 01:57 PM |
The ARM story: Earthquake looming? | Brett | 2011/01/19 03:35 PM |
The ARM story: Earthquake looming? | Aaron Spink | 2011/01/19 08:30 PM |
Apollo Computer | Brett | 2011/01/19 09:52 PM |
iPad 2 display same as iPad | David Kanter | 2011/02/02 11:12 AM |
iPad 2 display same as iPad | Brett | 2011/02/02 01:30 PM |
iPad 2 display same as iPad | Mark Roulo | 2011/02/02 02:25 PM |
iPad 2 display same as iPad | Brett | 2011/02/02 02:59 PM |
iPad 2 display same as iPad | Richard Cownie | 2011/02/03 10:30 AM |
iPad 2 display same as iPad | Anon | 2011/02/02 04:08 PM |
iPad 2 display same as iPad | Rob Thorpe | 2011/02/03 11:42 AM |
The ARM story: Earthquake looming? | Ungo | 2011/01/19 05:54 AM |
The ARM story: Earthquake looming? | mpx | 2011/01/15 01:32 PM |
The ARM story: Earthquake looming? | Aaron Spink | 2011/01/17 04:20 PM |
The ARM story: Earthquake looming? | slacker | 2011/01/15 04:03 PM |
Intel GMs for low-end | David Kanter | 2011/01/18 11:05 AM |
The ARM story: Earthquake looming? | Linus Torvalds | 2011/01/14 09:29 AM |
The ARM story: Earthquake looming? | a reader | 2011/01/14 07:25 PM |
The ARM story: Earthquake looming? | Foo_ | 2011/01/15 03:12 AM |
The ARM story: Earthquake looming? | Matt Sayler | 2011/01/15 12:25 PM |
The ARM story: Earthquake looming? | IntelUser2000 | 2011/01/16 05:20 PM |
The ARM story: Earthquake looming? | Matt Sayler | 2011/01/16 06:02 PM |
The ARM story: Earthquake looming? | Megol | 2011/01/17 10:18 AM |
The ARM story: Earthquake looming? | Brett | 2011/01/17 04:58 PM |
The ARM story: Earthquake looming? | Louis Gerbarg | 2011/01/17 06:12 PM |
The ARM story: Earthquake looming? | Brett | 2011/01/17 08:06 PM |
The ARM story: Earthquake looming? | Louis Gerbarg | 2011/01/18 10:13 AM |
The ARM story: Earthquake looming? | Rob Thorpe | 2011/01/18 03:23 PM |
Nice post | David Kanter | 2011/01/18 11:38 AM |
New MacBook Pros are getting closer | Matt Sayler | 2011/02/24 09:46 AM |
The ARM story: Earthquake looming? | ? | 2011/01/16 09:29 AM |
The ARM story: Earthquake looming? | anon | 2011/01/16 10:08 PM |
The ARM story: Earthquake looming? | Gabriele Svelto | 2011/01/17 12:43 AM |
The ARM story: Earthquake looming? | Robert Myers | 2011/01/14 06:29 PM |
The ARM story: Earthquake looming? | Max | 2011/01/15 07:18 AM |
The ARM story: Earthquake looming? | Groo | 2011/01/12 04:59 PM |
The ARM story: Earthquake looming? | Wilco | 2011/01/12 05:40 PM |
The ARM story: Earthquake looming? | Groo | 2011/01/12 09:14 PM |
The ARM story: Earthquake looming? | Adrian | 2011/01/13 02:35 PM |
The ARM story: Earthquake looming? | Paul | 2011/01/13 05:19 PM |
The ARM story: Earthquake looming? | Adrian | 2011/01/14 03:50 AM |
The ARM story: Earthquake looming? | Wilco | 2011/01/14 07:00 AM |
The ARM story: Earthquake looming? | none | 2011/01/14 07:26 AM |
The ARM story: Earthquake looming? | Wilco | 2011/01/14 07:46 AM |
The ARM story: Earthquake looming? | none | 2011/01/14 08:02 AM |
The ARM story: Earthquake looming? | Linus Torvalds | 2011/01/14 09:42 AM |
The ARM story: Earthquake looming? | Richard Cownie | 2011/01/14 10:06 AM |
The ARM story: Earthquake looming? | someone | 2011/01/14 11:20 AM |
The ARM story: Earthquake looming? | fastpathguru | 2011/01/14 12:22 PM |
The ARM story: Earthquake looming? | Richard Cownie | 2011/01/14 06:01 PM |
The ARM story: Earthquake looming? | Aaron Spink | 2011/01/15 06:07 AM |
The ARM story: Earthquake looming? | slacker | 2011/01/15 04:08 PM |
The ARM story: Earthquake looming? | Jukka Larja | 2011/01/16 01:44 AM |
The ARM story: Earthquake looming? | mpx | 2011/01/15 05:08 AM |
The ARM story: Earthquake looming? | Paul | 2011/01/15 09:20 AM |
The ARM story: 64 bit or bust? | Kevin G | 2011/01/14 05:21 PM |
The ARM story: 64 bit or bust? | someone | 2011/01/15 10:48 AM |
Bye, bye native binary | mpx | 2011/01/15 12:51 AM |
Bye, bye native binary | Exophase | 2011/01/18 06:39 PM |
RISC with 16 GPRs!? | anon | 2011/01/19 05:42 PM |
RISC with 16 GPRs!? | Exophase | 2011/01/19 06:20 PM |
doomed ARM sells 6B cores/year | Richard Cownie | 2011/01/19 10:01 PM |
The ARM story: Earthquake looming? | anon | 2011/01/12 10:30 PM |
The ARM story: Earthquake looming? | mpx | 2011/01/13 04:05 AM |
Not a chance in hell | Rohit | 2011/01/12 07:49 AM |
The ARM story: Earthquake looming? | notsure | 2011/01/12 12:39 PM |
The ARM story: Earthquake looming? | mpx | 2011/01/13 04:27 AM |
The _Android_ story: Earthquake looming? | fastpathguru | 2011/01/13 11:50 AM |
Internet + web apps + multimedia = enabler | mpx | 2011/01/14 02:11 AM |
The _Android_ story: Earthquake looming? | Will Smith | 2011/01/14 09:48 AM |
Notebook vendors show no interest in Oak Trail | Nicki Minaj | 2011/01/16 06:37 PM |