[linux] SSD's - Suspend Mode, Power Reset/Failure [Was: USB-stick plotseling niet meer toegankelijk]

Daniel C. von Asmuth asmuth op bakunin.xs4all.nl
Ma Okt 22 11:22:02 CEST 2018


Aldus schreef Paul Slootman op Mon, Oct 22, 2018 at 09:01:49AM +0200:
> On Sat 20 Oct 2018, lnx wrote:
> > > 
> > > of het overgaan naar suspend mode kan terwijl er nog een proces draait
> > > weet ik niet.
> 
> Definieer "draait"... er "draaien" doorgaans honderdenprocessen als je
> systeem overgaat naar suspend mode. Echter ze zijn niet actief, daar
> zorgt immers het suspendeer systeem voor; anders zou suspend mode totaal
> onbruikbaar zijn.
> 
Unix heeft een iets andere definitie van de 'Running' process state dan
Linux. 

> Een interessanter vraag is of een device nog actief naar geschreven
> wordt als het systeem naar suspend mode gaat, immers het wegschrijven
> van data naar devices is een taak van de kernel, ook al is dat in
> opdracht van een proces. Maar ook hier zal het suspendeer systeem
> maatregelen nemen. Ik kan mij voorstellen dat in de eerste maanden dat
> suspend mode uberhaupt bestond onder linux dat zulke dingen fout konden
> gaan, maar tegenwoordig? Echt niet.
> 
Als de machine in de 'suspend' toestand is, bijvoorbeeld door het een
laptop dicht te klappen, zal de processor toestand 'leeg' zijn, dus geen 
proces heeft de CPU nog en alle informatie bevindt zich in RAM. 

Ik concludeer dat de informatie die zich in buffers bevindt in de
gebruikersprocessen en in de kernel, na het ontwaken vanuit RAM naar de
disc devices wordt geschreven; op een PC met vele gigabytes geheugen zou 
een sync() call veel te lang duren. 

> Er zijn ook hele volkssstammen die (onder windows) zo'n USB stick zomaar
> eruittrekken zonder "veilig verwijderen". Da's velen malen gevaarlijker,
> maar dat zo'n ding dat elektronisch stukgaat gebeurt bijna nooit.
> Ik denk dat je gewoon pech hebt gehad. Statisch elektriciteit?

Een disc verwijderen zonder ze eerst te unmounten kan ertoe leiden dat
de de data en meta-data inconsistent zijn; in het ergste geval crasht je
PC en is de schijf niet meer met fsck te herstellen. Maar dat impliceert
dat de schijf nog prima werkt, maar je data in de bit bucket zijn. 

Als het goed is, zal een USB device in suspend mode onder spanning
blijven, maar dat hangt af van de hardware en het BIOS. Een USB stick
verwijderen terwijl de host zich in suspend mode bevindt is vast geen
goed idee. 

Als het apparaat plotseling zijn spanning verliest, terwijl er naar
geschreven wordt, dan zal een deel van de data zich in RAM bevinden op 
het device zelf, waarvan de kernel denkt dat ze veilig zijn opgeslagen.
De interne meta-data van de USB drive zouden inconsistent kunnen worden,
zodat 'formatteren' ook niet meer helpt. Als het goed is heeft het
apparaat een batterij of condensator om tijdelijk spanning te leveren. 

https://www.kernel.org/doc/html/v4.14/driver-api/usb/persist.html

> > Daar zit het pijnpunt. Niet dat die USB-stick na bovengenoemde actie
> > niet meer toegankelijk was, daar is nog wel overheen te komen, maar ben
> > voornemens om binnenkort over te gaan op een SSD (Samsung 860 EVO) en
> > het laatste wat ik wil is dat wanneer ik het systeem in Suspend Mode
> > plaats dat die SSD het in zijn geheel gaat begeven of een van die serie
> > geheugenchips die er op zitten.
> 
> Paul

Met vriendelijke groet,


Daniel von Asmuth

-- 
	
		Geeks of a feather cruft together
		


Meer informatie over de Linux maillijst