As the title vaguely implies, I’m about to switch to openSUSE as my primary operating system. However I still want to be able to boot to windows in some instances, on the same hard drive. I’m using a Samsung 256GB 850 PRO SSD. I found a link here that implies Linux supports over provisioning. But now here comes the curve ball. Can I dual boot Linux and windows on the same SSD with different partitions (obviously) and have both operating systems share the over provisioning formatted partition? I imagine this might be possible because only one or the other operating system can be running at one time. But then maybe when the operating system is turned off it leaves some important data that it will need next time when it boots up? I’m hoping it treats the over provisioning partition as a sort of volatile memory… Does anyone know if this is possible? Sorry if this is the wrong section to be asking in.
tl;dr
I want to share over provisioning with two operating systems on the same SSD. Assuming only one operating system will be running at any given instance. Is it possible?
I used a dual boot Win + OpenSUSE on a Samsung 840 SSD in the past and my understanding is the following.
All Samsung utilities are Win-only, they might even refuse to work if they find something alien (i.e. Linux) on the same disk.
Overprovisioning consist of blank, unallocated disk space, it isn’t a “partition”; Samsung firmware makes use of these unallocated cells to write new data without actually blanking the old data it is going to replace (and this is independent of the operating system requesting such data write).
The old data cells are then blanked during a “trim” operation (or whatever it is called in Windows) at reboot, periodically or at every write cycle depending on setup.
Yes, recent Linux supports “trim” (not “overprovisioning”: you should leave some unallocated space during disk partitioning if you want it).
Maybe overprovisioning is a minor issue with modern SSDs on general purpose laptops; heavy-duty servers might tell another story though.
Scan the forum looking for “SSD”, you’ll find several threads concerning SSD optimization in OpenSUSE (at times conflicting with one another…). Some suggest that just accepting the defaults might be enough for, say, office use on a laptop.
Yeah, I used the wrong terms here, it was just less words than blank unallocated disk space. My bad for being lazy
Is this within the partitioned section that ‘trim’ occurs? Does this imply that to be able to use trim you need non partitioned disk space? I thought it trim was independent from this.
Same question as 4, I shall do more research into how trim works
Thank you for the welcome and helpful input! Much appreciated
trim is the removal of sectors that may contain contents the has been over written by a write. SSD operates different then spinning rust because it is true random access. But writes do not occur at the same location as the original data they are written elsewhere and the region is mapped to the sector/track of the virtual hard drive. Flash can not be over written so blocks that have been released (trimmed) are erased in bulk and put in the available pool. Trim is disk wide and is not related to partitioning. The idea of over previsioning is to allow extra space (unpartitioned) to allow a little extra space to hold released blocks. Modern SSD always have additional memory over the rated to use and also act as reserve for when block go bad. Remember that flash memory is truly random access so that it does not have to be spatially l organized as the HD tech. Because flash memory has a finite number of write/erase cycles (10-100K depending on type of memory) special algorithm are used to level the usage over the the unused memory so some extra may help. Mostly it will extend the life. But modern SSD claim 5 years of multi gigabyte a day writes without any special provisioning.
Track and sector are purely synthetic on SSD’s. Memory is simply mapped to it can can be changed in an instant.
Hi there, I have a Samsung 840 EVO dual booting with Windoze 7 and openSUSE Leap, not exacty the same drive but maybe I can be helpful.
This is what I can tell you from my experience:
The over provisioning thing does not need an extra partition is just unallocated space that the SSD’s firmware will use, I left around the 25% of the disk unallocated but maybe it was a little exaggerated.
Try to keep your firmware updated, you can extract the firmware image from the .iso provided on Samsung’s site, It doesn’t matter if its ‘not’ for Linux, then update the firmware from the Samsung Magician (the command line version) using the firmware image (I think it was .enc file, not sure).
I had to add the line “libata.force=noncq” as a kernel parameter (in /etc/default/grub) in order to avoid CRC errors.
You can also also set the “noatime” setting for the partition that will be in the SSD (this will prevent some extra writes).
You don’t need trim if you are using btrfs, correct me if I am wrong but I think its performed automatically.
TRIM is the technology used to inform storage that certain device area is unused. It cannot be “performed automatically”. btrfs like other Linux filesystems have “discard” option that tells it to inform storage that some blocks became free. The underlying storage driver may then use TRIM or other methods to do it. “discard” is not default because it is known to cause delays with some devices, you need explicitly mount filesystem with this option. Alternative is to manually use fstrim command.
Indeed, I left 17 GB out of 250 unallocated, planning to occasionally use that space for a test partition or something.
I also added the “noatime” mount option to /etc/fstab
and rather than using the “discard” option I appended:
fstrim -v /
fstrim -v /home
to /etc/init.d/boot.local to trim the filesystem at reboot since I chose EXT4 instead of BTRFS.
This is just to show an alternative, I don’t mean that anyone should follow me
It is present on a clean install of openSUSE Leap, but now I’m wandering, should I leave it like this or should add the discard option in fstab or execute fstrim on every reboot?
It is present on a clean install of openSUSE Leap, but now I’m
wandering, should I leave it like this or should add the discard option
in fstab or execute fstrim on every reboot?
Hi
No, all of this is looked after by the btrfs maintenance programs
in /etc/cron.weekly (btrfs-balance and btrfs-trim), look at the output
from the command mount, all the ssd bits should be there?
–
Cheers Malcolm °¿° LFCS, SUSE Knowledge Partner (Linux Counter #276890)
SUSE Linux Enterprise Desktop 12 | GNOME 3.10.1 | 3.12.51-52.31-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!