6 ms·
Yes. And the Flash Translation Layer inside modern drives are quite sophisticated. This means you could start out with a write pattern that's causing a lot of c
by jasonwatkinspdx 3y ago
Yes. And the Flash Translation Layer inside modern drives are quite sophisticated. This means you could start out with a write pattern that's causing a lot of copying and reorganization of pages in the back ground, typically because it's doing a lot of unaligned random writes smaller than the erase block size, and initially the performance will be fine. But as the drive wears in, and the capacity fills up, the FTL has less extra space to work with, forcing this garbage collection activity to become increasingly common. So you get performance degradation and premature wearing of the drive in a way that's opaque.
- bcrl 3y agoShort stroking SSDs is a commonly used trick in the toolbag of wise sysadmins for dealing with this kind of workload.
- Waterluvian 3y agoI’m guessing that means pretending they’re smaller than they really are?
- colordrops 3y agoLooks like that's the case based on a cursory google search. Seems analogous to only charging batteries up to 80%. I wish companies would factor these issues into their products and leave invisible buffers, but I guess making them cheaper is more important than being consistent and reliable.
- Waterluvian 3y agoSales and marketing will never leave anything on the table that might make their job easier.
- wtallis 3y agoThey do leave invisible buffers, commonly referred to as over provisioning. The discrepancy between GB and GiB is ~7% hiding in plain sight, and then more expensive enterprise drives are commonly sold in (usable) capacities like 960GB and 7.68TB rather than 1TB and 8TB.
- andrecarini 3y ago1 TB = 930 GiB The value difference is not because of invisible buffers! Marketing material and usable OS space are measured in different units, but the usable amount of bits in each value is exactly the same.
- wtallis 3y agoNo, there really are invisible buffers resulting from this discrepancy. The raw flash chips have nominal capacities that align with power of two sizes, but the drives use decimal-based units. So a drive advertised as 1TB will have a usable capacity of approximately 1TB, but is assembled from flash chips with a total capacity of at least 1 TiB.
- cfinnberg 3y agoYes, there are invisible buffers, but the discrepancy doesn't come from this. Drive makers count the space in 1000 -multiple units (i.e. 1GB = 1000*1000*1000 bytes) whereas in computing units are usually count on 1024 -multiple (i.e. 1GiB = 1024*1024*1024 bytes) So 1TB = 1000*1000*1000*1000 bytes/1024/1024/1024 = 931GiB (or 0.9TiB)
- wtallis 3y agoDid you notice the part where I explained how drive makers use the decimal units but the chips they source to build those drives are built in binary capacities? I don't give a shit whether your operating system likes to show you disk usage in binary or decimal units, because I'm not talking about software at all. I'm explaining how the hardware is built. I especially don't need another person to try to explain what the binary and decimal units are, after I've repeatedly used both correctly.
- wongarsu 3y agoMost consumers make purchasing decisions against these buffers. If you have two identical electric cars for the same price, one with a range of 350 miles and one with a range of 280 miles, which one would you buy? If you have two identical phones, one with a 4300 mAh rated battery and another with a 3400 mAh battery, which one would you buy? If you have two equally priced SSDs, one with 500GB capacity and one with 480GB, which one would you buy? To enterprise customers the sales rep will explain "look, this device has a bit less space, but the write endurance number quoted here is much better, over 5 years and 5000 drives this will lower your TCO by X". In the consumer space you build your entire brand around one price-reliability tradeoff and stick to it. Usually the cheaper one with the bigger headline stat sells the most, and everyone else has to make up the lost volume with margin.
- wtallis 3y agoYes. The term dates back to hard drives, where using only a fraction of their capacity would minimize the worst-case distance the heads needed to travel, reducing the portion of seek latency due to head movements (but not helping with rotational latency). On most hard drives, the beginning of the logical block address space corresponds to the outer edges of the platters where the bits are going past heads with the highest linear velocity, so sequential throughput is higher than elsewhere on the disk.
- oakwhiz 3y agoI wish that it was easier to trim unused unpartitioned space. I find myself fumbling on BSD and Linux trying to remember how to get the exact offsets for that. You could write zeroes but there isn't a guarantee that the FTL will interpret that as unused.
- mindslight 3y agoJust make another partition for the unused space, and run blkdiscard on it?
- deleted 3y ago[deleted]
- usernew 3y agoUmm sorry, no. I'm a storage engineer with one of the leading enterprise vendors. SSDs are already "short-stroked." They have much more space available internally than you can see through the controller externally. The more "enterprisey" the drive, the more of that hidden space there is. A wise sysadmin buys a drive with more of that hidden internal space, instead of getting a larger drive with less hidden space. The logic inside the drive is much better at zeroing/out and background trim on that internal hidden space, than host-addressable blocks that are currently unused. That's because the drive has no idea if you're about to use them, while the hidden space is guaranteed to be always free. In fact - a fun fact. Flash has been used as a Write buffer on storage arrays for a couple of decades.
- wmf 3y agoA wise sysadmin buys a drive with more of that hidden internal space, instead of getting a larger drive with less hidden space. The pricing of enterprise SSDs is... not exactly fair for the performance you get.
- usernew 3y agothat's like complaining a bentley is too expensive and not good at moving your piano. when you get fined $1mil/min by the SEC for downtime, and data loss or corruption can cost you in the hundreds of millions, or someone dying at a hospital, enterprise gear is cheap. reliability is the key and for what you are paying. now yes, there may be a specific consumer drive more reliable than a specific enterprise drive. so which do you buy? well the enterprise array vendor tested the crap out of everything in every combination and workload and environment, and picked one for you, and it comes with full support and SLAs that you can use to meet gov regulations. performance for an enterprise drive is not something you usually consider, at all. in fact, did you know that when I quote a storage array, I can't even specify the drive type of vendor, and who knows what will get shipped? Ionly specify drive size. your performance comes from all your workloads clumped together, spread over a thousand of these drives connected with infiniband, with dedupe and compression on the backend, and hundreds of terabytes of RAM. the perf of an individual drive is not relevant. but yes, sticking it into an AMD server you bought on newegg when they had a sale is not its purpose, and is a very bad deal. now when we talk about wise sysadmins, we're talking about guys who know their stuff, and do "important big stuff." not a guy at a small business ordering from newegg. and that guy - he shouldn't be coming up with any storage policies because he lacks the needed large-scale experience. I sold a 1PB usable-effective (after 3x dedupe/compression) space storage array last year. It was $2mil, after a 65% discount. If one time in its 5year lifecycle the "enterprisey" stuff on that array prevents about 10 seconds of downtime, it paid for itself.
- sroussey 3y agoWhy not just buy SLC?
- LinAGKar 3y agoDoes that even exist anymore?
- bradfa 3y agoOnly in very small capacity raw flash chips, generally less than 1GB in size. This is still somewhat popular in embedded systems because it's often inexpensive. But it's basically impossible to purchase an SLC flash-based drive with a modern managed interface (NVMe, SATA, eMMC, SD, etc) today.
- snovv_crash 3y agoSLC still has a minimum block size that gets used during writes.
- seunosewa 3y agoThe discard operation mitigates this situation by marking blocks freed by the filesystem as empty so the GC doesn't have to copy them. Thus, free filesystem space will eventually be consolidated.