When repartitioning to a different size on an SSD, is the data in the partition rewritten to the SSD, or is an aggressive rereferencing method used?
Specifically, when using gparted
under Ubuntu to repartition an SSD, there is a step whereby it claims it is "copying the partition" to move it up or down, as per the partitioning request. Is this an actual copy, or is the OS smart enough to simply rehome the blocks / sectors? Or does the SSD controller understand the nature of the copy and simply rehome the blocks / sectors?
This question is relevant because it relates to the expected lifespan of the SSD, as well as the expected performance in systems that lack the TRIM directive.
When you shift the partition in gparted (i.e change the start/end block/cyl locations) the data will be physically moved on the drive.
In general the layout of the SSD is abstracted away from the OS and what the OS is actually doing (moving a partition) is abstracted away from the SSD. All the OS generates is a series of read/write (move) commands and that's all the SSD sees or cares about.
Note that data in the overlapping area between the new and old location is probably kept where it is. The data that preceded it will likely be shunted to first available free space in the new partition by gparted and the filesystem table updated.
Sadly because of the way the partition table is laid out, the data actually has to move. While many SSDs will have their own wear leveling schemes and can actively remap locations within themselves, I doubt the SSD would implement a re-mapping scheme; it's much easier to just move the data.
I suspect the answer to this is going to depend on the SSD. The OS can't do anything because the block layer doesn't know anything about the media, really, so it's up to the SSD's controller and wear-levelling logic to recognize this kind of thing and optimize it.
You should check out this PPT presentation that explains how Windows 7 deals with SSD Partitioning
While it doesn't say anything about degrading the performance I believe that in order to ensure performance doesn't degrade you'll also need a drive that supports TRIM.