M.2 e спецификация за форм-фактор с 12 разновидности, обозначени с букви А..М (key).
за момента са резервирани:
A: PCIe ×2, USB 2.0, I2C and DP ×4
B: PCIe ×2, SATA, USB 2.0 and 3.0, audio, UIM, HSIC, SSIC, I2C and SMBus
E: PCIe ×2, USB 2.0, I2C, SDIO, UART and PCM
M: PCIe ×4, SATA and SMBus
като са възможни и комбинации от букви/ключове, примерно BM
не всички интерфейси, които съответстват на съответната буква трябва да са реализирани.
принципно, сердес също е транспортна спецификация на физическо ниво. генерациите са 1.5, 2.5, 5Gbit/s и т.н.
сигналния протокол, който върви по физическия транспорт е друга бира - PCIe, SATA, USB(3) и приятели. често, на един и същ тел (диф. двойка) може да се 'изведе' един или друг сигнален интерфейс, в зависимост от сетинга на съответния SOC/CPU.
и така стигаме до конкретното обяснение.
може да имаш М.2 SSD, което да има сигнален интерфейс SATA (2 диф. двойки), което се връзва към AHCI контролер (на дъното).
другия вариант е PCIe и AHCI контролера да е реализиран в SSD контролера.
ако PCIe от дъното е 1.x, скоростта на един лайн е 2.5Gb/s. т.е. М.2B с х1 или х2 ще е по-бавно от M.2M/SATA3. ако PCIe е 2.х x1, имаш отново предимство на SATA3. при х2 и х4 вече предимството е на М2.В
горното, обаче, са чисто теоретични разсъждения. всичко зависи как е реализирано опроводяването и биоса в конкретното дъно. процесора и чипсета също са от значение.
за съжаление трябва да се шаманства и пробва, защото производителите рядко влизат в неудобни за тях детайли, а схеми на дъната са доста рядко явление. пък и много зависи какъв биос точно са скалъпили за това навръзване на хардуера. към това трябва да се добави и неопределеността от модерности като UEFI и разбирателството не биоса на дъното с биоса на SSD-то (във варианта М.2М PCIe x нещо_си). предвид, че достигане на работоспособност дори при нов хардуер не е еднозначен процес, силно съм скептичен към старите дъна.
както споменах, не е рядкост на дъна с х16 слот да е вързан само един лайн (х1). също така дъна с 2 х16 слота, ако се ползва само един - получаваш х16 на него, но ако ползваш и двата, се разцепват на 2 х8 и това е в силна зависимост от процесора, чипсета и желанието на производителя да вкара тази функционалност в биоса.
на ниво PCIe борд да 'разцепиш' бъса на по-малки съставни части е скъпо удоволствие. ползват се т.н. PCIe switch чипове. и докато х1/x2 към 3/4 х1 са на относителни приемливи цени (<$50), чип х16 към 4 х4 често надвишава цената на цялото дъно, a и за да хвърлиш поглед върху документацията му, първо трябва да те застрелят.
друг вариант е борд, на който има AHCI с няколко SATA3 (2..6) порта и на тях да са закачени съответните SSD. това не е толкова скъпо.
в ebay е пълно с RAID контролери за ~$50 с по 4/8 SATA порта, основно базирани на LSI903x. при тях, обаче, има няколко проблема:
- фърмуера е доста стар. необяснимо ми е защо е толкова изключително трудно намираем.
- някои модели могат да работят само в RAID (0,10,5) -> не можеш да виждаш отделните дискове.
- когато (когато, а не ако) ти цъфне контролера, трябва да имаш под ръка същия, със същия фърмуер, за да си видиш данните на здравите 'дискове'
трети вариант за голям сторидж е SATA port multiplier.
това е един вид мултиплексор, който със съответната команда ти закача 'входния' порт към някой от 'изходните' (не ползвам master/slave
)
има чипове 1:4, 1:5, 1:6.
ако ползваш мултипликатори 1:5 и на дъното имаш 4 SATA порта, можеш да навържеш 20 диска.
недостатъка е, че по всяко време 'виждаш' само един от мултиплексираните дискове, което може би е ОК за NAS-ове с голям обем и ниска паралелна натовареност.
ВСИЧКИ AHCI контролери на интел
НЕ поддържат тази функция! AHCI чиповете на марвел (+SoC), SiliconImage и ASmedia я поддържат.