Samsung 840 series Evo (120GB) – Linux

ΑΥΤΗ Η ΔΗΜΟΣΙΕΥΣΗ ΕΧΕΙ ΓΙΝΕΙ ΠΑΝΩ ΑΠΟ ΕΝΑ ΧΡΟΝΟ ΠΡΙΝ!

Επειδή πραγματικά έχω εκπλαγεί από το πόσοι έχουν αγοράσει τον συγκεκριμένο SSD, μέσα σε αυτούς κι εγώ, είπα να γράψω μερικές πληροφορίες που αφορούν την συγκεκριμένη σειρά δίσκων, πάντα σε σχέση με το Linux. Ίσως φανούν χρήσιμες σε κάποιους.

Υποθέτω λοιπόν ότι κάποιος έχει εγκαταστήσει μια, τουλάχιστον, Linux διανομή στον SSD, αν και μερικές αναφορές είναι ίσως κάπως πιο γενικές και ανεξάρτητες από το λειτουργικό σύστημα.

Είμαστε στο 2014

Ναι, μην ξεχνάμε το ημερολογιακό έτος στο οποίο βρισκόμαστε έτσι; Η τεχνολογία (τεχνογνωσία..κλπ) καλπάζει. Πάντα συνέβαινε αυτό, αλλά όσο περνάει ο καιρός οι ρυθμοί αυξάνονται. Τι θέλω να επισημάνω; Οι SSD δεν είναι όπως όταν πρώτο-βγήκαν. Ίσως θα έπρεπε να κάνουμε ένα delete όλα όσα έχουμε διαβάσει στο παρελθόν.
Όχι, δεν θα χαλάσει ο δίσκος σε ένα χρόνο ή έξι μήνες (εκτός και αν είναι ελαττωματικός). Αντέχουν πλέον αρκετές εκατοντάδες TB (ναι TeraByte) εγγραφών και η αντοχή αυτή όσο περνά ο καιρός αυξάνεται σημαντικά (πλησιάζοντας το PetaByte).

Value for money

Τελικά το καλύτερο marketing απ’ όλα είναι αυτό. Δεν υπάρχει κάτι άλλο. Όταν αυτό που αγοράζεις αξίζει τα λεφτά του, είσαι ένας ευχαριστημένος καταναλωτής και θα αγοράσεις ξανά. Ο συγκεκριμένος δίσκος λοιπόν, είναι value for money. Είμαι κάτοχος περί τους 9 μήνες και μπορώ να το πω.
Άλλος ένας «αντίκτυπος» του ημερολογιακού έτους που βρισκόμαστε είναι ότι, οι SSD δεν είναι απλησίαστοι πλέον. Γενικά οι τιμές έχουν γίνει πολύ πιο προσιτές απ’ ότι ήταν κάποτε. Δεν χρειάζεται λοιπόν να τον προσέχουμε ως κόρη οφθαλμού. Τα σημαντικά μας αρχεία πρέπει να προσέχουμε ως τέτοια, γι’ αυτό μην ξεχνάμε – πάντα backup. Δεν υπάρχουν άλλες δικαιολογίες.

Linux & SSD

Φυσικά και το Linux υποστηρίζει άρτια τους SSD δίσκους. Το λεγόμενο TRIM λειτουργεί χωρίς προβλήματα (πλέον) και ίσως θα έπρεπε να γράψω μόνον αυτή την πρόταση και να κλείσω εδώ το κεφάλαιο Linux.
Πραγματικά δεν χρειαζόμαστε(πλέον) κάτι άλλο. Υπάρχουν κάποιες αξιοσημείωτες περιπτώσεις στις οποίες θα αναφερθούμε παρακάτω, αλλά σε γενικότερο βαθμό το Linux είναι SSD ready.

/etc/fstab & fstrim

Σίγουρα όσοι έχετε ασχοληθεί με Linux και SSD θα γνωρίζετε το αρχείο /etc/fstab το οποίο θα έχετε(πιθανότατα) ήδη επεξεργαστεί.
Να προσθέσουμε εγγραφές σε αυτό το αρχείο όπου να στέλνουμε το /var/log/ στην RAM, το /tmp/ στην RAM, το ένα στην RAM το άλλο στην RAM, μέχρι να ανακαλύψουμε ότι δεν έχουμε πλέον άλλη RAM για να στείλουμε κάτι. Αν μπορούσαμε θα στέλναμε όλο το λειτουργικό στην RAM να τελειώνουμε. Τότε τι να τον κάνουμε τον SSD;
Πραγματικά δεν χρειάζεται να στείλετε όλο τον κόσμο στην RAM. Επαναλαμβάνω ότι οι εγγραφές που υποστηρίζουν πλέον οι SSD έχουν αυξηθεί κατά πολύ. Δεν θα εξοικονομήσουμε κάτι στέλνοντας τα πάντα στην RAM.
Προσωπικά δεν έχω καμία έξτρα εγγραφή στο fstab που να αφορά τον SSD.
Σε ότι αφορά το TRIM, εδώ οι απόψεις διίστανται. Άλλοι υποστηρίζουν ότι η discard είναι καλύτερη, μιας και την TRIM λειτουργία την αναλαμβάνει ο πυρήνας(kernel), άλλοι ότι είναι χειρότερη και γι’ αυτό τον λόγο χρησιμοποιούν ένα εργαλείο ονόματι fstrim.
Από διάφορες μετρήσεις που έχουν γίνει, έχει βγει το συμπέρασμα ότι η discard είναι χειρότερη σε ότι αφορά την απόδοση. Ο λόγος είναι ότι κάνει TRIM επί τόπου, όποια αλλαγή αναγνώσει. Έτσι, διαγράφοντας π.χ. μεγάλα αρχεία ή πολλά μικρά, το αυτόματο TRIM που θα γίνει μέσω της discard ίσως σας δώσει την εντύπωση ενός αργού SSD.
Η fstrim από την άλλη, λειτουργεί βάσει προγράμματος. Εμείς φτιάχνουμε αυτό το πρόγραμμα μέσω του cron. Στο Ubuntu 14.04 μάλιστα, υπάρχει έτοιμο script στο /etc/cron.weekly, όπου καλεί την fstrim να κάνει TRIM στους απαιτούμενους καταλόγους. Μια φορά την βδομάδα λοιπόν.
Δεν θα μπω εδώ στην αντιπαράθεση τι είναι καλύτερο, θα αφήσω τους developers να φαγώνονται γι’ αυτό. Προσωπικά χρησιμοποιώ την fstrim. Κάτι άλλο σημαντικό (για την fstrim) είναι ότι έχει αναφερθεί πως λειτουργεί σωστά και out of the box μόνο με Samsung και Intel δίσκους. Οι υπόλοιποι κατασκευαστές θέλουν πρώτα δοκιμή.

Ξεχωριστό /home/;

Μα γιατί; Βγάζει κάποιο νόημα να φτιάξει κάποιος το /home του σε HDD και το λειτουργικό σε SSD; Θα χάσει την μισή τουλάχιστον «ευχαρίστηση» της ταχύτητας. Νόημα βγάζει να μεταφέρουμε τους προσωπικούς μας καταλόγους Downloads, Videos, Pictures…, σε έναν HDD και αυτό μόνον αν κάνουμε βαριά χρήση. Συλλογή ταινιών – τραγουδιών, κατεβάζουμε συνεχώς torrents…κλπ.
Στον προσωπικό κατάλογο /home/ αποθηκεύεται το μεγαλύτερο ποσοστό ρυθμίσεων των προγραμμάτων και οι προσωπικές μας ρυθμίσεις. Αυτά, θέλουμε να λειτουργούν γρηγορότερα και καλύτερα μέσω του SSD. Το Gimp να φορτώνει ακαριαία, το Libreoffice το ίδιο..κλπ.

Με την swap τι γίνεται;

Οκ, εδώ ίσως έχει κάποιο νόημα, διότι η swap χρησιμοποιείται ως εικονική μνήμη και οι εγγραφές εκεί είναι μαζικές. Πέφτει πολύ caching στην swap και καλό θα ήταν να μην επιβαρύνουμε τον SSD με τέτοιες εγγραφές.
Μιας και ανέφερα το caching, ούτε χρειάζεται να δημιουργούμε hackiες για να μεταφέρουμε την cache του Chrome ή του Firefox στην RAM ή να την απενεργοποιούμε εντελώς. Ειλικρινά δηλαδή, σε βάθος χρόνου δεν θα έχουμε κερδίσει τίποτα το αξιόλογο.
Αν έχουμε αρκετή μνήμη (4GB και πάνω), ίσως να σκεφτούμε να μην δημιουργήσουμε καθόλου swap. Εξάλλου δεν θα την χρησιμοποιήσουμε και ποτέ, εκτός βέβαια αν λειτουργούμε προγράμματα απαιτητικά σε μνήμη RAM ή αν υπάρχει κάποιο memory leak (συνήθως στο γραφικό περιβάλλον).
Αν ωστόσο δεν υπάρχει άλλη λύση, δηλαδή χρειαζόμαστε την swap και δεν έχουμε έναν HDD να την «πετάξουμε» εκεί, τότε καλό θα είναι να ενεργοποιήσουμε μια παράμετρο που θα λέει σε απλά ελληνικά:
«χρησιμοποίησε την swap μόνον όταν υπάρχει απόλυτη ανάγκη, μόνον όταν εξαντληθεί σχεδόν εντελώς η φυσική μνήμη».
Την παράμετρο αυτή την ενεργοποιούμε με την παρακάτω εντολή

echo "vm.swappiness = 10" | sudo tee /etc/sysctl.d/swappiness.conf

Στην επόμενη επανεκκίνηση θα τεθεί σε λειτουργία
ή μπορούμε να δώσουμε την παρακάτω εντολή ως διαχειριστές για να την θέσουμε σε λειτουργία άμεσα.

sysctl -p /etc/sysctl.d/swappiness.conf

SMART attributes

Το S.M.A.R.T είναι ένα εργαλείο στο οποίο πρέπει να δίνουμε ιδιαίτερη προσοχή. Μας προειδοποιεί για τυχών βλάβες στον δίσκο, όπως μας δίνει και άλλες σημαντικές πληροφορίες γι’ αυτόν. Στο Linux υπάρχει ένα αρκετά καλό πρόγραμμα ονόματι smatmontools το οποίο δεν είναι προ-εγκατεστημένο (στις περισσότερες διανομές). Αντί αυτού, συνήθως χρησιμοποιείται μια λειτουργία της εφαρμογής Disks, όπου και αυτή η εφαρμογή προσπαθεί να διαβάσει το SMART του κάθε δίσκου που έχετε. Προσωπικά, εμπιστεύομαι περισσότερο το smatmontools το οποίο είναι κατασκευασμένο γι’ αυτήν και μόνο την δουλειά. Εγκαταστήστε το στην διανομή σας (το αντίστοιχο GUI ονομάζεται GSmartControl).
Θα πρέπει να έχουμε στο μυαλό μας ότι οι τιμές του SMART είναι πάντοτε vendor specific. Πάντοτε όμως. Τα αποτελέσματα ενός Western Digital και ενός Samsung και ενός Hitachi, θα σημαίνουν άλλα πράγματα για τον κάθε δίσκο.
Η Samsung λοιπόν, έχει φτιάξει ένα πολύ καλό documentation για την συγκεκριμένη σειρά SSD. Αφήστε στην άκρη τις πληροφορίες που πιθανών έχετε βρει δεξιά κι αριστερά και επισκεφτείτε την official σελίδα. Εκεί εξηγούνται οι τιμές μια προς μια και παρακάτω θα αναφέρω όσες θεωρώ σημαντικές.
Τις τιμές αυτές πως τις βλέπουμε; Αν εγκαταστήσουμε το GSmartControl, δεν έχουμε παρά να το ανοίξουμε και να μεταβούμε στην δεύτερη καρτέλα(Attributes). Αν εγκαταστήσουμε το CLI tool, τότε δίνουμε την παρακάτω εντολή.

sudo smartctl -a /dev/sdX

το X το αντικαθιστούμε με το γράμμα του δίσκου που αντιπροσωπεύει τον SSD (σε περίπτωση που έχουμε περισσότερους από έναν δίσκους – π.χ και έναν HDD), π.χ /dev/sda.
Ανοίγοντας το GSmartControl, στην πρώτη καρτέλα βλέπουμε κάποιες γενικές πληροφορίες για τον δίσκο μας, καθώς και πληροφορίες για το ίδιο το πρόγραμμα. Κάτω-κάτω βλέπουμε και τον γενικό βαθμό υγείας(να τον πούμε έτσι). Εκεί συνήθως γράφει PASSED, αλλά οι σημαντικότερες τιμές (με λεπτομέρειες) βρίσκονται στην επόμενη καρτέλα που ονομάζεται Attributes.

gsmart1

Οι κατασκευαστές έχουν εφεύρει το SMART ως ένα εργαλείο προειδοποίησης για τους χρήστες. Καλό θα είναι να ελέγχετε τον δίσκο σας σχετικά συχνά (π.χ μια φορά τον μήνα, αναλόγως και τη χρήση βέβαια) για να βλέπετε τι γίνεται. Μην βρεθείτε προ-εκπλήξεως και ξαφνικά σταματήσει να λειτουργεί.

gsmart2

Στην παραπάνω εικόνα βλέπουμε δυο είδη τιμών. Τις old-age και τις pre-failure. Οι pre-failure μάλιστα είναι σημειωμένες με bold, καθώς θεωρούνται σημαντικότερες από τις old-age. Τι σημαίνει όμως old-age και τι pre-failure και πως τις κοιτάμε;
Οι old-age έχουν άμεση σχέση με την ηλικία του δίσκου. Με τα «γηρατειά». Πρέπει να τις κοιτάμε πάντα σε σχέση με την τιμή Threshold. Αν είναι ίσες ή μικρότερες (το RAW δηλαδή) από το Threshold, τότε ο δίσκος μας είναι ένας ηλικιωμένος δίσκος.
Οι pre-fail που θεωρούνται και σημαντικότερες, υποδεικνύουν πιθανό fail του δίσκου. Αυτές πρέπει να τις κοιτάμε σε σχέση (πάλι) με τις Τhreshold τιμές και δεν πρέπει να είναι ίσες ή να πλησιάζουν την τιμή της Threshold. Σε μερικές περιπτώσεις δεν πρέπει να είναι ούτε μικρότερες. Αναγνωρίζω ότι αυτό που γράφω είναι πολύ γενικό, αλλά όπως είπα, οι τιμές είναι vendor specific και εκτός αυτού, η κάθε τιμή έχει το δικό της νόημα.
Οι άλλες δυο στήλες Normalized και Worst έχουν και αυτές σχέση με την στήλη Τhreshold, αλλά δεν είναι ανάγκη να κάνουμε κάποια σύγκριση εμείς. Η σύγκριση εκεί γίνεται αυτόματα και τα αποτελέσματα αναγράφονται στην στήλη Failed. Αν η τιμή στην στήλη Failed αλλάξει από never (ή When_Failed) σε κάτι άλλο, π.χ Failing_Now, τότε θα πρέπει να ανησυχούμε.

Reallocated_Sector_Count

Η πρώτη τιμή αναφέρεται στους επανατοποθετημένους τομείς του δίσκου. Κάθε δίσκος έχει μια περιοχή που ονομάζεται spare_area και από εκεί παίρνει και επανατοποθετεί τυχών χαλασμένους τομείς. Τομείς στους οποίους δεν μπορεί να γράψει πλέον καμία τιμή. Η ποσότητα των τομέων που μπορούν να επανατοποθετηθούν καθορίζεται συνήθως από το μέγεθος του δίσκου, το firmware και φυσικά τον κατασκευαστή. Οι συγκρίσεις δείχνουν πως οι SSD υποφέρουν αρκετά λιγότερο από αυτή την τιμή, απ’ ότι οι HDD δίσκοι και αυτό οφείλεται στον τρόπο με τον οποίο λειτουργούν.

Wear Leveling Count (Chip)

Η τιμή αυτή έχει άμεση σχέση με την υγεία του δίσκου μας. Η υγεία ενός SSD μπορεί να εξαντληθεί από τις εγγραφές δεδομένων και αυτή η τιμή δείχνει ακριβώς αυτό. Έχει άμεση σχέση με το P/E cycle (Program/Erase). Ως P/E cycle μπορούμε να θεωρήσουμε την ολοκληρωτική εγγραφή και διαγραφή δεδομένων στον δίσκο μας, συνολικού όγκου όσο η χωρητικότητά του. Για παράδειγμα, όταν έχουν γραφεί και διαγραφεί δεδομένα συνολικού όγκου 120GB, για τον συγκεκριμένο δίσκο, αυτός είναι ένας κύκλος P/E. Τα δεδομένα που αποτελούν τον P/E κύκλο, εγγράφονται στο SMART μετά από κάθε λειτουργία TRIM. Η αντοχή των δίσκων καθορίζεται από την τεχνολογία της NAND και ο συγκεκριμένος είναι TLC. Η τιμή που έχει αναφερθεί για τον συγκεκριμένο δίσκο, μετά από διάφορα exhausted tests, είναι από 1.000-1.500 P/E (ουαου, τι είπες τώρα; ).
Ωστόσο, μη βιαστείτε να βγάλετε συμπέρασμα για την διάρκεια εγγραφών σε GB. Αυτό εξαρτάται και από το write amplification και για τον συγκεκριμένο δίσκο θα δώσω ένα παράδειγμα (βασισμένο σε πολλά τεστ που έχουν γίνει). Εγγράφοντας περί τα 10GB την ημέρα(την ημέρα λέμε – GB λέμε) η διάρκεια ζωής του δίσκου θα είναι περί τα 11 χρόνια.
Αλήθεια τώρα, ποιος γράφει 10GiB καθημερινά στον δίσκο του;

Used Reserved Block Count (total)

Έχει άμεση σχέση με την πρώτη τιμή (Reallocated_Sector_Count), δεν είναι κάτι διαφορετικό. Αν παρατηρήσετε διαφορές στις δυο τιμές, τότε λάβετε υπόψιν σας και τις δυο, με την μεγαλύτερη να σας ανησυχεί περισσότερο.

Runtime Bad Count (total)

Αυτή η τιμή δείχνει την συνολική αποτυχία read/write και erase. Φυσικά η μηδενική τιμή είναι ότι καλύτερο.

Δεν θα εξετάσω άλλες τιμές, όχι ότι δεν είναι σημαντικές, αλλά οι pre-fail νομίζω ότι είναι οι σημαντικότερες.
Μια τελευταία τιμή που καλό θα είναι να βλέπουμε, είναι οι συνολικές εγγραφές που έχουν γίνει στον δίσκο
Total LBAs Written. Για να μετατρέψουμε αυτή την τιμή σε ΤB(TeraByte), δεν έχουμε παρά να χρησιμοποιήσουμε απλά μαθηματικά
(RAW x 512)÷(1024x1024x1024x1024)= ΤB . Για GB(GigaByte) αφαιρέσετε το ένα 1024 από την παρένθεση.

Over Provisioning (OP)

To Over Provisioning είναι μια μέθοδος που χρησιμοποιείται στους SSD και αυτό που κάνει είναι να θέτει ένα μόνιμο μέγεθος χώρου, τον οποίο θα χρησιμοποιεί ο SSD για να «κάνει την δουλειά του». Φανταστείτε αυτόν τον χώρο ως «πάγκο εργασίας». Τον ονομάζουν spare area ή swap area. Η Samsung μέσα από την Official εφαρμογή της (Samsung Magician) η οποία δυστυχώς είναι διαθέσιμη μόνο για Windows, διευκολύνει τον χρήστη να φτιάξει έναν τέτοιο χώρο με ένα κλικ. Το δε προτεινόμενο μέγεθος είναι 10% του συνολικού χώρου, αν και ο χώρος που θα δώσουμε εξαρτάται άμεσα από το συνολικό μέγεθος του δίσκου μας. Στα 120GB, 10GB είναι μια χαρά.
Θα πρέπει να γνωρίζουμε πως η σειρά SSD 840 έρχεται ήδη με το μικρότερο δυνατό μέγεθος OP, το οποίο είναι 7%. Αυτός ο χώρος είναι κρυφός και δεν μπορούμε να τον διαχειριστούμε, ούτε να τον δούμε. Αν θέλουμε να αυξήσουμε αυτόν τον χώρο (η ίδια η Samsung αναφέρει πως είναι μια καλή μέθοδος και αύξησης των επιδόσεων, αλλά και της συνολικής διάρκειας ζωής του δίσκου), δεν έχουμε παρά να φτιάξουμε έναν unallocated χώρο στο τέλος του δίσκου. Μπορούμε να χρησιμοποιήσουμε το Gparted γι’ αυτή τη δουλειά. Είναι καλό (σχεδόν προαπαιτούμενο) να κάνουμε ένα TRIM χειροκίνητα σε όλο τον δίσκο (fstrim) πριν φτιάξουμε τον unallocated χώρο μας.

Firmware & αναβάθμιση

Κάθε σοβαρός κατασκευαστής βγάζει ανά χρονικά διαστήματα(δεν θα πω τακτά, εξαρτάται από το αν υπάρχει ανάγκη), μια αναβάθμιση για το firmware του hardware που χρησιμοποιούμε. Στους SSD ειδικότερα, είναι καλό να κάνουμε αναβάθμιση του firmware, καθώς αυτό μπορεί να έχει μέχρι και άμεση σχέση με την επέκταση διάρκειας της ζωής του δίσκου μας(συνήθως όμως έχει σχέση με την καλύτερη απόδοση-ταχύτητα). Βέβαια οι αναβαθμίσεις firmware το κακό που έχουν είναι ότι συνήθως (όχι πάντα) είναι one way. Δεν υπάρχει δηλαδή διαδικασία υποβάθμισης. Αν όμως παρατηρήσουμε σοβαρά προβλήματα μετά την αναβάθμιση, τότε μπορούμε να γυρίσουμε στο προηγούμενο firmware, συνήθως, με την διαδικασία της εκ νέου εφαρμογής. Αν φυσικά το προηγούμενο firmware είναι διαθέσιμο για download.
Επίσης, ένας σοβαρός κατασκευαστής δεν επαφίεται στο λειτουργικό σύστημα για να αναβαθμίσει το firmware του υλικού του. Έλεος δηλαδή αν πρέπει να έχω Windows για να κάνω αναβάθμιση του Firmware του BIOS ή του δίσκου ή οποιουδήποτε άλλου υλικού και με τον φόβο να κολλήσει το λειτουργικό εκείνη την κακιά στιγμή και να πάει το υλικό μου, για πέταμα.
Ευτυχώς η Samsung διαθέτει OS-agnostic εργαλείο, το οποίο όμως δεν υποστηρίζει επίσημα Linux. Είναι μια εικόνα iso την οποία μπορείτε να κατεβάσετε, να «κάψετε» και να κάνετε αναβάθμιση του Firmware του δίσκου. Από την official σελίδα της Samsung και αν κάνετε ένα scroll down θα δείτε μια ενότητα «Samsung SSD Firmware Updates for Mac Users». Εκεί βλέπουμε ότι το Firmware είναι σε μορφή ISO image και «καίγοντας» το σε ένα USB, μπορούμε να κάνουμε εκκίνηση του υπολογιστή μας από εκεί και να προχωρήσουμε στην αναβάθμιση μέσω των ενσωματωμένων εργαλείων της Samsung. Η διαδικασία δεν είναι εντελώς απλή. Το ISO ναι μεν είναι bootable, αλλά με σκέτη dd για παράδειγμα, ενδέχεται να μην δουλέψει. Η διαδικασία περιγράφεται παρακάτω και ότι κάνετε το κάνετε με δική σας και μόνο ευθύνη.

Χρησιμοποιούμε USB stick και όχι CD. Βρίσκουμε την σωστή αντιστοιχία του USB μας και εδώ υποθέτουμε ότι είναι το /dev/sdb. Προχωράμε ως εξής.

sudo dd count=1 bs=512 if=/dev/zero of=/dev/sdb && sync

Η παραπάνω εντολή θα διαγράψει τα πάντα από το USB stick. Τα πάντα όμως.
Έπειτα θα πρέπει να εγκαταστήσουμε το syslinux. To syslinux δεν είναι εγκατεστημένο σε πολλές διανομές, οπότε πρέπει να το εγκαταστήσουμε πρώτα, διότι αυτό θα χρησιμοποιήσουμε ως εκκινητή(bootloader) στο USB stick.
Εγκαταστήστε το αναλόγως τη διανομή που έχετε. Για Debian (και based διανομές) π.χ. δίνουμε σε ένα τερματικό

sudo apt-get install syslinux

Βασικά, ανοίξτε ένα τερματικό διότι όλη η δουλειά θα γίνει από εκεί.
H επόμενη εντολή είναι εκείνη του partitioning. Εδώ θα χρησιμοποιήσουμε το parted και αυτό λόγω της φήμης του ότι κάνει σωστότερο aligment απ’ ότι άλλα εργαλεία. Ξέροντας ότι το USB μας είναι το /dev/sdb δίνουμε τις παρακάτω εντολές με τη σειρά

sudo parted /dev/sdb
(parted) print # εδώ θα πρέπει να μας δείξει κάποιες πληροφορίες σχετικά με το USB. 
(parted) mklabel msdos
(parted) mkpart primary ext2 0% 100%
(parted) set 1 boot on
(parted) print # τσεκάρουμε αν όλα έχουν πάει καλά
(parted) quit

Το επόμενο βήμα είναι να φτιάξουμε το σύστημα αρχείων

sudo mke2fs -t ext2 -L samsungfirm /dev/sdb1

Τώρα θα προσαρτήσουμε την εικόνα iso και το διαμέρισμα του USB που φτιάξαμε σε δυο ξεχωριστά σημεία προσάρτησης. Ας φτιάξουμε τα σημεία προσάρτησης πρώτα

mkdir usbstick
mkdir ssdfirmware

και ας κάνουμε τις προσαρτήσεις

sudo mount -o loop -o exec SAMSUNGFIRMWARE.iso SSDFIRMWARE
sudo mount /dev/sdb1 USBSTICK

αντικαθιστούμε το SAMSUNGFIRMWARE.iso με το κανονικό όνομα του iso που έχουμε κατεβάσει από το site της Samsung.
Παρακάτω θα πρέπει να δώσουμε λίγη προσοχή στα paths(τις διαδρομές των αρχείων), καθώς δεν είναι ίδιες σε όλες τις διανομές. Εναλλακτικά μπορείτε να κατεβάσετε τα αρχεία του syslinux από εδώ. Το παρακάτω είναι από Debian.

sudo mkdir USBSTICK/syslinux
sudo cp -r /usr/lib/syslinux/modules/bios/*.c32 USBSTICK/syslinux/
sudo extlinux --install USBSTICK/syslinux
sudo dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sdb
sudo cp -v -r --remove-destination SSDFIRMWARE/isolinux/isolinux.cfg USBSTICK/syslinux/syslinux.cfg
sudo cp -v -r --remove-destination SSDFIRMWARE/isolinux/memdisk USBSTICK/syslinux/
sudo cp -v -r --remove-destination SSDFIRMWARE/isolinux/btdsk.img USBSTICK/syslinux/BTDSK.IMG
sudo sync
sudo umount USBSTICK
sudo umount SSDFIRMWARE

Αφού τελειώσει σωστά η παραπάνω διαδικασία, κάνουμε μια επανεκκίνηση από το USB stick το οποίο μόλις γράψαμε. Εκεί θα πρέπει να δούμε το μενού αναβάθμισης και να προχωρήσουμε κανονικά.
Έχει αναφερθεί ότι σε περίπτωση που λάβουμε μήνυμα αποτυχίας, να μην πανικοβληθούμε διότι είναι πολύ πιθανό να είναι false alarm. Στην επανεκκίνηση θα δούμε αν το firmware έχει εγκατασταθεί σωστά, δίνοντας την παρακάτω εντολή σε τερματικό

sudo hdparm -i /dev/sda | grep

ως sda εδώ υπολογίζουμε τον SSD μας, θα πρέπει να λάβουμε ως έξοδο το νέο firmware.
Τα credits για την παραπάνω διαδικασία πάνε στο Arch Wiki και μέσω αυτού, σε αυτό blog.

Σύνοψη

Για να συνοψίσουμε τα παραπάνω, έχουμε και λέμε:

1) Βρισκόμαστε πλέον στο 2014, όπου η τεχνολογία, τεχνογνωσία έχει προχωρήσει κατά πολύ. Έτσι, δεν είναι ανάγκη να ανησυχούμε πλέον τόσο πολύ για την υγεία του SSD μας. Αντέχει.
2) Ο συγκεκριμένος δίσκος είναι value for money. Επίσης, γενικότερα οι τιμές των SSD έχουν γίνει αρκετά πιο προσιτές. Άλλος ένας λόγος να μην ανησυχούμε τόσο, αν ο δίσκος θα χαλάσει. Όλα κάποτε χαλάνε.
3) Το Linux είναι SSD ready. Οι ρυθμίσεις που πρέπει να κάνουμε (αν χρειαστεί) αφορούν την λειτουργία του TRIM (fstrim ή discard) και την swap(αν πρέπει να την τοποθετήσουμε αναγκαστικά στον SSD).
4) To SMART είναι ένα σημαντικό εργαλείο το οποίο πρέπει να συμβουλευόμαστε, έτσι ώστε να βλέπουμε την πορεία της υγείας του δίσκου μας. Θα πρέπει να μάθουμε να διαβάζουμε τις τιμές, οι οποίες είναι πάντα vendor specific.
6) Το over provisioning είναι η λειτουργία εκείνη όπου καθορίζουμε έναν μόνιμο unallocated χώρο στον δίσκο ως τον «πάγκο εργασίας» του SSD. Βοηθάει και στην καλύτερη(ταχύτερη) λειτουργία, αλλά και στην αύξηση της διάρκειας ζωής.
7) Το firmware είναι σημαντικό για το υλικό μας. Κάθε αναβάθμιση που είναι διαθέσιμη θα πρέπει να την εξετάζουμε (τι διορθώνει, τι αλλάζει) και έπειτα να αναβαθμίζουμε. Η αναβάθμιση από Linux λειτουργικό δεν υποστηρίζεται επίσημα από την Samsung, ωστόσο υπάρχει τρόπος αναβάθμισης firmware μέσω Linux.

9 thoughts on “Samsung 840 series Evo (120GB) – Linux

  1. Είχες δίκιο. Έτρεξα sudo hdparm -Tt /dev/sda και πήρα:
    /dev/sda:
    Timing cached reads: 1180 MB in 2.00 seconds = 590.01 MB/sec
    Timing buffered disk reads: 188 MB in 3.01 seconds = 62.41 MB/sec
    Αν με τον SSD θα έχω περί τα 140 MB/sec σε σχέση με τα 62.41 MB/sec, η ταχύτητα γίνεται παραπάνω από διπλάσια! Άρα εξακολουθεί να συμφέρει. Ευχαριστώ…για όλα…!

  2. Καλημέρα, σκέφτομαι και εγώ να πάρω έναν SSD για το netbook μου (ο HDD μάλλον είναι στα τελευταία του…). Όμως δίνοντας dmesg | grep SATA:
    [72209.520068] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    [93847.308072] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    [103215.064073] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    [106042.296169] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    [111839.024179] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    [112400.132162] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    [117132.936070] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    [134642.836071] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    [158597.052076] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    [159858.052167] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    [172130.160108] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    [188063.920069] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    [201790.820071] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    [217396.436115] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    [256136.636070] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)

    Από όσο κατάλαβα το netbook (acer aspire one ao531h), υποστηρίζει μόνο SATA 1. Θα δω διαφορά ταχύτητας μεταξύ SSD και HDD? Σε μερικά site από όσο είδα λένε πως ακόμη θα υπάρχει μεγάλη διαφορά.

    1. Φυσικά ο SSD θα περιοριστεί στην ταχύτητα που υποστηρίζει ο SATA I(controller). Αλλά και πάλι, σε σχέση με την χαμηλή ταχύτητα των δίσκων, ειδικά σε Laptops/Netbooks (5400rpm), θα δεις διαφορά ναι. Υπολογίζω read/writeί περί τα 130/140 MBs/sec με maximum τα 150 φυσικά. Κάνε μια μέτρηση στον δίσκο που έχεις τώρα, να δεις πόσο μπορεί να διαβάσει/γράψει.

  3. Αγόρασα μόλις χθές τον samsung 840 evo 250gb και έχω πραγματικά την αίσθηση ότι έχω νέας τεχνολογίας laptop (είναι 5,5 χρονών).
    Eξαιρετικό άρθρο Νίκο.

  4. Ευχαριστώ πάρα πολύ για τις απαντήσεις. Περιμένω εναγωνίως τα επόμενα άρθρα :)

  5. Πολύ καλό και ενημερωτικό το άρθρο. Θα ήθελα τη γνώμη σου για τα παρακάτω, μιας και οι γνώσεις μου για hardware είναι μηδαμινές. Θέλω σε ένα dual-boot (Ubuntu & Win7) Dell laptop να κάνω format και να εγκαταστήσω μόνο Ubuntu, οπότε θεωρώ πως είναι καλή ευκαιρία να αλλάξω και το σκληρό και να βάλω SSD.
    1. Πέρα απ’το να βγάλω τον παλιό HDD και να συνδέσω τον SSD, χρειάζεται κάποια άλλη ενέργεια;
    2. Έχει αυξηθεί η διάρκεια ζωή τους αλλά πόσο περίπου; Πώς θα ξέρω ότι είναι στα τελευταία του;
    3. Το partition θα είναι ένα ( / ), και χωρίς swap αφού το μηχάνημα διαθέτει 8GB RAM.
    4. Evo ή Pro; Έχουν ουσιαστική διαφορά;

      1. Χρειάζεται να μπεις στο BIOS και να αλλάξεις μια τιμή (αν δεν είναι ήδη αλλαγμένη). Θα αλλάξεις το SATA Mode από IDE σε AHCI.
        Να ξέρεις ότι αν έχεις SATAII (πολύ πιθανό αφού μιλάς για αντικατάσταση παλιού HDD), θα χάσεις σε ταχύτητα. Οι SSD δεν απαιτούν SATAIII για να δουλέψουν, αλλά απαιτούν SATAIII για πλήρη εκμετάλλευση της ταχύτητας Read/Write. Οι τιμές που αναφέρονται στα επίσημα sites είναι σε SATAIII σύνδεση.

      2. Δίνω ένα παράδειγμα σε αυτό το ποστ. Αν εγγράφεις 10GB καθημερινά στον δίσκο, ενδέχεται να κρατήσει περί τα 10 με 11 χρόνια. 10GB δεδομένων είναι πάρα πολλά για οικιακή χρήση. Και μιλάμε για κάθε μέρα.

      3. ΟΚ. Μια χαρά

      4. Εκτός από την τιμή (ο pro είναι λίγο ακριβότερος), χρησιμοποιούν άλλη τεχνολογία στην NAND. Η σειρά κατάταξης πάει ως εξής 840 < 840 Evo < 840 Pro. O pro χρησιμοποιεί τεχνολογία MLC (όχι TLC όπως ο Evo). Η MLC τεχνολογία είναι παλαιότερη μεν, αλλά θεωρείται πιο ανθεκτική στις εγγραφές. Μεγαλύτερη διάρκεια ζωής. Επίσης από διάφορα benchmarks έχει βγει το αποτέλεσμα ότι οι MLC είναι και ταχύτεροι (εκτός από ανθεκτικότεροι) από τους TLC(παρόλο ότι η TLC τεχνολογία είναι νεότερη, δεν σημαίνει ότι είναι καλύτερη, απλά είναι φθηνότερη στην παραγωγή).

      1. Πήρα το παρακάτω απ’την lspci, άρα πρέπει να είναι ήδη σε AHCI mode. Παρόλα αυτά δεν ξέρω αν είναι SATA 3. Μπορώ να το καταλάβω από αυτά τα outputs κι αν ναι, πώς;
        00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)

        Αυτό είναι από dmesg | grep SATA:
        [2.112957] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x5 impl SATA mode
        [2.121658] ata1: SATA max UDMA/133 abar m2048@0xc1617000 port 0xc1617100 irq 43
        [2.121662] ata3: SATA max UDMA/133 abar m2048@0xc1617000 port 0xc1617200 irq 43
        [2.441136] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
        [2.441155] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)

      2. Από τα αποτελέσματα της dmesg φαίνεται όντως ότι είσαι σε AHCI mode, όπως επίσης ότι διαθέτεις και SATAIII θύρες. Μπράβο.
        Τα 6Gbps δηλώνουν ταχύτητα σύνδεσης SATAIII.

Συμβάλετε κι εσείς με ένα σχόλιο

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση / Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση / Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση / Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση / Αλλαγή )

Σύνδεση με %s