Προς το περιεχόμενο

Multi-Channel Memory vs RAID


Apollo69

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Πέρα από τις περιγραφές των φίλων παραπάνω, που περιγράφουν σωστά τις διαφορές μνημών και δίσκων, δες Apollo69 τις απαντήσεις παρακάτω για τις ερωτήσεις σου (σε θεωρητικό επίπεδο ή καλύτερα θα έλεγα σε επίπεδο ορισμών).  

Αλλά τώρα που το σκέφτομαι δεν είναι ακριβώς το ίδιο με το Multi-Channel στα RAM stick; Εκεί δεν έχω data stripping;

Όχι. Η εν λόγω αρχιτεκτονική δεν έχει καμία σχέση με το data stripping. Η αρχιτεκτονική μνήμης πολλαπλών καναλιών (multi-channel) είναι μια τεχνολογία που απλά αυξάνει το ρυθμό μεταφοράς δεδομένων μεταξύ της μνήμης DRAM και του ελεγκτή μνήμης, προσθέτοντας περισσότερα κανάλια επικοινωνίας μεταξύ τους. Θεωρητικά, αυτό πολλαπλασιάζει το ρυθμό δεδομένων ακριβώς αναλογικά με τον αριθμό των καναλιών που υπάρχουν (π.χ. η μνήμη δύο καναλιών / Dual-channel memory χρησιμοποιεί δύο κανάλια, κ.ο.κ.).

Είναι κάτι διαφορετικό το interleaving;

Ναι. Η μνήμη τύπου interleaved βασίζεται σε ένα σχεδιασμό που αντισταθμίζει τη σχετικά αργή ταχύτητα της DRAM, κατανέμοντας ομοιόμορφα τις διευθύνσεις μνήμης στις συστοιχίες μνήμης (memory banks). Εδώ υπάρχει αναλογία με το data stripping. Αυτό δεν έχει καμία σχέση με αρχιτεκτονικές πολλαπλών καναλιών αφού δε προσθέτει περισσότερα κανάλια επικοινωνίας. 

Έχω interleaving στο Multi-Channel?

Βεβαίως. Σε μια μητρική μπορείς να βρεις π.χ. το εξής "Channel Interleave Setting. This function is allows you to select the Channel Interleave Setting. The options are 1 way, 2 way, 3 way, 4 way, 5 way and 6 way" ή "Rank Interleave Setting This function is allows you to select the Rank Interleave Setting. The options are 1 way, 2 way and 4 way", αλλά εξαρτάται από την μητρική, το chipset και τις εφαρμοζόμενες σε αυτά τεχνολογίες. Για να δεις αυτήν την επιλογή όπως καταλαβαίνεις, η εν λόγω μητρική θα πρέπει να έχει 6 θέσεις μνήμης (memory slots) και συνήθως τις βλέπεις με δυο χρώματα σε συνδυασμό τριών ζευγαριών. 

Ένα παράδειγμα η Gigabyte GA-AB350M-Gaming 3 (εικόνα από το manual)

image.png.1c2223361a69a211629a5e08c056ec8e.png

Επεξ/σία από JPaxilleas
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 53
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

Δημοσιευμένες Εικόνες

17 λεπτά πριν, JPaxilleas είπε

Πέρα από τις περιγραφές των φίλων παραπάνω, που περιγράφουν σωστά τις διαφορές μνημών και δίσκων, δες Apollo69 τις απαντήσεις παρακάτω για τις ερωτήσεις σου (σε θεωρητικό επίπεδο ή καλύτερα θα έλεγα σε επίπεδο ορισμών).  

Αλλά τώρα που το σκέφτομαι δεν είναι ακριβώς το ίδιο με το Multi-Channel στα RAM stick; Εκεί δεν έχω data stripping;

Όχι. Η εν λόγω αρχιτεκτονική δεν έχει καμία σχέση με το data stripping. Η αρχιτεκτονική μνήμης πολλαπλών καναλιών (multi-channel) είναι μια τεχνολογία που απλά αυξάνει το ρυθμό μεταφοράς δεδομένων μεταξύ της μνήμης DRAM και του ελεγκτή μνήμης, προσθέτοντας περισσότερα κανάλια επικοινωνίας μεταξύ τους. Θεωρητικά, αυτό πολλαπλασιάζει το ρυθμό δεδομένων ακριβώς αναλογικά με τον αριθμό των καναλιών που υπάρχουν (π.χ. η μνήμη δύο καναλιών / Dual-channel memory χρησιμοποιεί δύο κανάλια, κ.ο.κ.).

Είναι κάτι διαφορετικό το interleaving;

Ναι. Η μνήμη τύπου interleaved βασίζεται σε ένα σχεδιασμό που αντισταθμίζει τη σχετικά αργή ταχύτητα της DRAM, κατανέμοντας ομοιόμορφα τις διευθύνσεις μνήμης στις συστοιχίες μνήμης (memory banks). Εδώ υπάρχει αναλογία με το data stripping. Αυτό δεν έχει καμία σχέση με αρχιτεκτονικές πολλαπλών καναλιών αφού δε προσθέτει περισσότερα κανάλια επικοινωνίας. 

Έχω interleaving στο Multi-Channel?

Βεβαίως. Σε μια μητρική μπορείς να βρεις π.χ. το εξής "Channel Interleave Setting. This function is allows you to select the Channel Interleave Setting. The options are 1 way, 2 way, 3 way, 4 way, 5 way and 6 way" ή "Rank Interleave Setting This function is allows you to select the Rank Interleave Setting. The options are 1 way, 2 way and 4 way", αλλά εξαρτάται από την μητρική, το chipset και τις εφαρμοζόμενες σε αυτά τεχνολογίες. Για να δεις αυτήν την επιλογή όπως καταλαβαίνεις, η εν λόγω μητρική θα πρέπει να έχει 6 θέσεις μνήμης (memory slots) και συνήθως τις βλέπεις με δυο χρώματα σε συνδυασμό τριών ζευγαριών. 

Ένα παράδειγμα η Gigabyte GA-AB350M-Gaming 3 (εικόνα από το manual)

image.png.1c2223361a69a211629a5e08c056ec8e.png

 

 

Πως ακριβώς προσθέτει περισσότερα κανάλια επικοινωνίας; Τι ακριβώς κάνει; Όταν έχω να αποθηκεύσω κάτι (πες 512 bit) δεν θα πάνε θα 268 στο ένα και τα 268 στο άλλο module; Όταν έγω να διαβάσω/ να ανασύρω δεν ανασύρω μαζί και από τα 2 module?

 

Αν δεν είναι data stripping φαίνεται ότι είναι κάτι πολύ καλύτερο. Γιατί το RAID 0 εφαρμόζει data stripping αντί να "προσθέσει περρισσότερα κανάλια επικοινωνίας" (δεν ξέρω καν τι σημαίνει αυτό ούτε τι επιπτώσεις μπορεί να έχει);

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Φίλε σου απάντησα σε θεωρητικό επίπεδο. Η αρχιτεκτονική μνήμης πολλαπλών καναλιών (multi-channel) προσδιορίζεται από την αρχιτεκτονική του εκάστοτε επεξεργαστή, μνήμης, ελεγκτή μνήμης και μητρικής. Όλες οι σημερινές μητρικές, επεξεργαστές, ελεγκτές μνήμης, μνήμες υποστηρίζουν τουλάχιστον αρχιτεκτονική 2 καναλιών.

Σε αρχιτεκτονική ενός καναλιού η επικοινωνία μεταξύ επεξεργαστή και ελεγκτή μνήμης πραγματοποιείται με ένα κανάλι, άρα στη μονάδα του χρόνου μεταφέρεται μια συγκεκριμένη ποσότητα δεδομένων (ανάλογα με την αρχιτεκτονική των παραπάνω). Σε αρχιτεκτονική 2 καναλιών, μεταφέρεται στην ίδια μονάδα χρόνου ακριβώς η διπλάσια ποσότητα δεδομένων (είτε για εγγραφή είτε για ανάγνωση).

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

Το πως ακριβώς γίνεται η εγγραφή και η ανάγνωση, δηλαδή ποιο κανάλι θα χρησιμοποιηθεί, σε ποια συγκεκριμένη μνήμη (DIMM) ή σε ποιο Rank αυτής, εξαρτάται από τα χαρακτηριστικά των παραπάνω αρχιτεκτονικών ή τους περιορισμούς που αυτές θέτουν. Σε κάθε περίπτωση γίνεται πάνω κάτω αυτό που λες, δηλαδή η εγγραφή και η ανάγνωση μιας συγκεκριμένης ποσότητας δεδομένων πραγματοποιείται μέσω διαφορετικών καναλιών, σε διαφορετικές μνήμες και σε διαφορετικά Ranks αυτών, ανάλογα με τις εφαρμοζόμενες ρυθμίσεις και τα χαρακτηριστικά τους.

Αναφορικά με το data stripping σε RAID υλοποιήσεις, δεν υπάρχει πρακτικά καμιά συσχέτιση με τις μνήμες. Αναλογικά μόνο μπορεί να πει κανείς ότι το data stripping αντιστοιχεί με κάποιο τρόπο στο Channel & Rank Interleave.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Λοιπόν, απλουστευτικά μιλώντας, το multi-channel interleaving στη RAM είναι αντίστοιχο του striping στο RAID, υπό την έννοια ότι και στην περίπτωση του RAID 0 προσθέτεις ένα επιπλέον κανάλι (το SATA είναι point - to - point πρωτόκολλο, οπότε κάθε port είναι ένα κανάλι). Δεν είναι ίδιο, τεχνικά, αλλά αντίστοιχο. Τα επιπλέον κανάλια επικοινωνίας είναι οι επιπλέον συνδέσεις SATA.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1 ώρα πριν, JPaxilleas είπε

Φίλε σου απάντησα σε θεωρητικό επίπεδο. Η αρχιτεκτονική μνήμης πολλαπλών καναλιών (multi-channel) προσδιορίζεται από την αρχιτεκτονική του εκάστοτε επεξεργαστή, μνήμης, ελεγκτή μνήμης και μητρικής. Όλες οι σημερινές μητρικές, επεξεργαστές, ελεγκτές μνήμης, μνήμες υποστηρίζουν τουλάχιστον αρχιτεκτονική 2 καναλιών.

Σε αρχιτεκτονική ενός καναλιού η επικοινωνία μεταξύ επεξεργαστή και ελεγκτή μνήμης πραγματοποιείται με ένα κανάλι, άρα στη μονάδα του χρόνου μεταφέρεται μια συγκεκριμένη ποσότητα δεδομένων (ανάλογα με την αρχιτεκτονική των παραπάνω). Σε αρχιτεκτονική 2 καναλιών, μεταφέρεται στην ίδια μονάδα χρόνου ακριβώς η διπλάσια ποσότητα δεδομένων (είτε για εγγραφή είτε για ανάγνωση).

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

Το πως ακριβώς γίνεται η εγγραφή και η ανάγνωση, δηλαδή ποιο κανάλι θα χρησιμοποιηθεί, σε ποια συγκεκριμένη μνήμη (DIMM) ή σε ποιο Rank αυτής, εξαρτάται από τα χαρακτηριστικά των παραπάνω αρχιτεκτονικών ή τους περιορισμούς που αυτές θέτουν. Σε κάθε περίπτωση γίνεται πάνω κάτω αυτό που λες, δηλαδή η εγγραφή και η ανάγνωση μιας συγκεκριμένης ποσότητας δεδομένων πραγματοποιείται μέσω διαφορετικών καναλιών, σε διαφορετικές μνήμες και σε διαφορετικά Ranks αυτών, ανάλογα με τις εφαρμοζόμενες ρυθμίσεις και τα χαρακτηριστικά τους.

Αναφορικά με το data stripping σε RAID υλοποιήσεις, δεν υπάρχει πρακτικά καμιά συσχέτιση με τις μνήμες. Αναλογικά μόνο μπορεί να πει κανείς ότι το data stripping αντιστοιχεί με κάποιο τρόπο στο Channel & Rank Interleave.

Γιατί το RAID 0 εφαρμόζει data stripping αντί να "προσθέσει περρισσότερα κανάλια επικοινωνίας";

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

8 λεπτά πριν, Apollo69 είπε

Γιατί το RAID 0 εφαρμόζει data stripping αντί να "προσθέσει περρισσότερα κανάλια επικοινωνίας";

Προσθέτει, κανάλια SATA. Κάθε stripe περνάει σε άλλο κανάλι πρακτικά.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

49 λεπτά πριν, Orestis_G είπε

Προσθέτει, κανάλια SATA. Κάθε stripe περνάει σε άλλο κανάλι πρακτικά.

Τα έχω κάνει σαλάτα δεν καταλαβαίνω τίποτα. Πριν λέγαμε

17 ώρες πριν, JPaxilleas είπε

Όχι. Η εν λόγω αρχιτεκτονική δεν έχει καμία σχέση με το data stripping. Η αρχιτεκτονική μνήμης πολλαπλών καναλιών (multi-channel) είναι μια τεχνολογία που απλά αυξάνει το ρυθμό μεταφοράς δεδομένων μεταξύ της μνήμης DRAM και του ελεγκτή μνήμης, προσθέτοντας περισσότερα κανάλια επικοινωνίας μεταξύ τους. Θεωρητικά, αυτό πολλαπλασιάζει το ρυθμό δεδομένων ακριβώς αναλογικά με τον αριθμό των καναλιών που υπάρχουν (π.χ. η μνήμη δύο καναλιών / Dual-channel memory χρησιμοποιεί δύο κανάλια, κ.ο.κ.).

Απλώς αυξάνουμε τον ρυθμό μεταφοράς δεδομένων προσθέτοντας περισσότερα κανάλια επικοινωνίας. Και αυτό λέγαμε δεν έχει καμία σχέση με το data stripping.

 

Αυτό ρωτάω "απλώς το να αυξήσουμε τον ρυθμό μεταφοράς προσθέτοντας περισσότερα κανάλια επικοινωνίας" (υποτίθεται άσχετως data stripping) γιατί δεν το κάνουμε και με τους σκληρούς.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τι είναι το data striping; Πρακτικά κόβεις τα δεδομένα σε λωρίδες (stripes) και τα γράφεις στους δίσκους. Το πρωτόκολλο SATA, σε αντίθεση με το παλιότερο IDE είναι point - to - point. Με άλλα λόγια όταν προσθέτεις έναν δίσκο στο RAID 0 σου, χρησιμοποιείς κι άλλο ένα κανάλι (το δεύτερο SATA που θα μπει), με αποτέλεσμα να μπορούν τα δεδομένα να γραφούν παράλληλα και στους δύο. Η ακριβής μεθοδολογία δεν είναι η ίδια όπως με τις μνήμες (γι'αυτό και έγραψα απλουστευτικά πιο πάνω), αλλά η λογική είναι παραπλήσια.

Από εκεί και πέρα, το "γιατί όχι στους δίσκους και γιατί ναι στις μνήμες" έχει να κάνει με διάφορους παράγοντες, όπως το κέρδος στην απόδοση, την πιθανότητα και τον αντίκτυπο της βλάβης, κ.λπ.

  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

10 λεπτά πριν, Orestis_G είπε

Τι είναι το data striping; Πρακτικά κόβεις τα δεδομένα σε λωρίδες (stripes) και τα γράφεις στους δίσκους. Το πρωτόκολλο SATA, σε αντίθεση με το παλιότερο IDE είναι point - to - point. Με άλλα λόγια όταν προσθέτεις έναν δίσκο στο RAID 0 σου, χρησιμοποιείς κι άλλο ένα κανάλι (το δεύτερο SATA που θα μπει), με αποτέλεσμα να μπορούν τα δεδομένα να γραφούν παράλληλα και στους δύο. Η ακριβής μεθοδολογία δεν είναι η ίδια όπως με τις μνήμες (γι'αυτό και έγραψα απλουστευτικά πιο πάνω), αλλά η λογική είναι παραπλήσια.

Από εκεί και πέρα, το "γιατί όχι στους δίσκους και γιατί ναι στις μνήμες" έχει να κάνει με διάφορους παράγοντες, όπως το κέρδος στην απόδοση, την πιθανότητα και τον αντίκτυπο της βλάβης, κ.λπ.

Πως ακριβώς γίνεται το data spead στο Multi-channel.

 

Τι κάνει το memory controller διαφορετικά από το RAID controller;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

15 λεπτά πριν, Apollo69 είπε

Πως ακριβώς γίνεται το data spead στο Multi-channel.

 

Τι κάνει το memory controller διαφορετικά από το RAID controller;

Η απλή απάντηση εδώ είναι το interleaving: Ο memory controller γράφει μεν και στα δύο κανάλια, αλλά δεν κάνει stripe τα δεδομένα της  μνήμης. Μπορείς να διαβάσεις τα μπλοκ της μνήμης από το ένα module που απέμεινε. Στην περίπτωση του RAID 0 που τα δεδομένα είναι μοιρασμένα, χρειάζεσαι και τους δύο δίσκους για να διαβάσεις.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

2 λεπτά πριν, Orestis_G είπε

Η απλή απάντηση εδώ είναι το interleaving: Ο memory controller γράφει μεν και στα δύο κανάλια, αλλά δεν κάνει stripe τα δεδομένα της  μνήμης. Μπορείς να διαβάσεις τα μπλοκ της μνήμης από το ένα module που απέμεινε. Στην περίπτωση του RAID 0 που τα δεδομένα είναι μοιρασμένα, χρειάζεσαι και τους δύο δίσκους για να διαβάσεις.

 

Άρα RAID 1 mirroring; Αν κάνεις mirroring τότε δεν έχεις data spread. Και σου μένει η μισή μνήμη. Απλώς έχεις "back up".

 

Δεν γλυτώνεις χρόνο στο γράψιμο γιατί όλα τα γράφει 2 φορές (δεν γράφεις τα μισά δεδομένα στο 1 module και τα άλλα μισά στο άλλο αλλά το ίδιο πράγμα 2 φορές).

 

Δεν βλέπω που ακριβώς είναι τα περισσότερα κανάλια επικοινωνίας.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Και πάλι τα κανάλια επικοινωνίας είναι 2 (2 point - to - point connections). Η εγγραφή γίνεται παράλληλα και σους δύο δίσκους, άρα ο χρόνος εγγραφής είναι ο ίδιος. Ο χρόνος ανάγνωσης όμως μπορεί να είναι σημαντικά μικρότερος (αρκετά μεγαλύτερη ταχύτητα ανάγνωσης), καθώς μπορεί ο controller να διαβάζει και από τους δύο δίσκους ταυτόχρονα. Άρα έχεις προστασία από βλάβη δίσκου (το backup είναι μια άλλη ιστορία, έχεις και δεν έχεις), και αυξημένη ταχύτητα ανάγνωσης.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εγώ λέω για memory controller. Και για την μνήμη RAM (το κάθε modulle). Οπότε ο memory controller απλώς κάνει ένα mirroring; Δεν καταλαβαίνω που είναι τα περισσότερα κανάλια. Οκ η ταχύτητα ανάγνωσης διπλασιάζεται όχι όμως γενικά ρυθμό μεταφοράς δεδομένων (τα δεδομένα κινούνται σε 2 κατευθύνσεις και προς και από).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
21 λεπτά πριν, Apollo69 είπε

Εγώ λέω για memory controller. Και για την μνήμη RAM (το κάθε modulle). Οπότε ο memory controller απλώς κάνει ένα mirroring; Δεν καταλαβαίνω που είναι τα περισσότερα κανάλια. Οκ η ταχύτητα ανάγνωσης διπλασιάζεται όχι όμως γενικά ρυθμό μεταφοράς δεδομένων (τα δεδομένα κινούνται σε 2 κατευθύνσεις και προς και από).

Ομολογουμένως δεν έχω καταλάβει τι λες. Κάθε κανάλι έχει 64 bit εύρος. Ένα dual channel setup είναι 2 κανάλια των 64 bits (άρα ταυτόχρονη εγγραφή/ανάγνωση 128) κι ένα quad channel setup είναι αντίστοιχα 256. Δεν μιλάμε για mirroring. Ο ρυθμός μετάδοσης αυξάνεται αναλόγως.

 

Αν σε μπέρδεψε αυτό που έγραψα για το δίσκο, σκέψου απλά ότι το λειτουργικό θα ζητήσει μία μεγάλη μεταφορά από τον δίσκο, οπότε δεν υπάρχει λόγος ο controller να απαιτήσει αυτή η μεταφορά να γίνει μόνο από τον έναν δίσκο, αλλά θα κάνει παράλληλες αναγνώσεις και από τους δύο, για να επιταχύνει την μεταφορά.

Επεξ/σία από Orestis_G
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Έχεις 2 δρόμους και 2 αποθήκες (1 δρόμο για κάθε αποθήκη διπλάσιους εργάτες κλπ κλπ κλπ). Dual channel

 

Όταν έχεις να στείλεις 1 τόνο εμπορεύματα πρός τις αποθήκες θα τα μοιράσεις να πάνε 500 κιλά στην μια 500 κιλά στην άλλη; Ή θα κάνεις "αντίγραφο" των εμπορευμάτων για να στείλεις 1 τόνο στην 1 αποθήκη και 1 τόνο στην άλλη; Πως θα τα μοιράσεις πως θα γίνει η κατανομή στις αποθήκες;

 

Όταν έχεις να πάρεις εμπορεύματα από την αποθήκη μπορείς να πάρεις 500 από την 1 και 500 από την άλλη;

 

 

Αυτό δεν μπορεί να γίνει με τους σκληρούς; Γιατί πρέπει να γίνει stripping στους σκληρούς; Ποιο είναι το κόστος του τρόπου που λειτουργεί το dual channel υπάρχει κάποιος κίνδυνος; To λογισμικό/υλισμικό είναι ακριβό;

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...