StorageReview.com

Kontroler SSD

Kontroler SSD, nazywany również procesorem, zawiera układ elektroniczny, który łączy elementy pamięci Flash z interfejsami wejścia/wyjścia dysku SSD. Kontroler to wbudowany procesor, który wykonuje oprogramowanie na poziomie oprogramowania sprzętowego. Oprogramowanie sprzętowe dysku SSD jest specyficzne dla danego urządzenia i w większości przypadków można je aktualizować.

Kontroler SSD
Powiększ

Główne kontrolery dysków SSD zawierają następujące elementy elektryczne, często zawarte w pojedynczym układzie scalonym (IC):

  • Procesor wbudowany – zwykle 32-bitowy mikrokontroler
  • Elektrycznie kasowalna pamięć ROM oprogramowania układowego
  • Systemowa pamięć RAM
  • Obsługa zewnętrznej pamięci RAM – zwykle DDR/DDR2 jako SDRAM
  • Układy kodu korekcji błędów (ECC)
  • Interfejs komponentu Flash – zwykle standardowy interfejs, taki jak Open NAND Flash Interface (ONFI)
  • Interfejs elektryczny hosta – zwykle SATA, USB, SAS lub kombinacja

Chociaż większość dysków SSD dostępnych na rynku wykorzystuje standardowe komponenty Flash, dostępne są nowe, które integrują ECC, a w niektórych przypadkach całą funkcję kontrolera w samych układach Flash. Na potrzeby tego artykułu skupimy się na tradycyjnych grupach kontrolerów wymienionych powyżej.

Elementy kontrolera SSD
Typowe elementy kontrolera SSD

Poniższa tabela opisuje każdy z tych elementów bardziej szczegółowo.

 

Elementy kontrolera
OPIS
Stosowanie
Procesor
16- lub 32-bitowy mikrokontroler wbudowany, w większości przypadków zaprogramowany w języku C i skompilowany do działania na docelowym procesorze.
Wykonywanie oprogramowania sprzętowego dla głównej aplikacji Flash, a także diagnostyka (SMART), wyrównywanie zużycia (zbieranie śmieci/TRIM), buforowanie i funkcje bezpieczeństwa.
Korekcja błędów (ECC)
Funkcja sprzętowa, która dodaje bity redundancji do każdego zapisanego bajtu w celu umożliwienia wykrywania i korygowania błędów danych podczas odczytu. 
Wykrywanie i korygowanie błędów danych odbywa się automatycznie w sprzęcie ECC, co pozwala na osiągnięcie współczynnika błędów niezawodności danych rzędu 1 bitu 10E-12.
Kontroler Flash
Zawiera adresowanie, magistralę danych i sterowanie do zarządzania jednym lub kilkoma komponentami Flash. Typowy kontroler SSD obsługuje do 512 GB pamięci Flash. 
Typowy 8-bitowy interfejs ONFI (Open NAND Flash Interface) dla standardowej pamięci flash NAND.
 
Zwykle można sterować maksymalnie 16 komponentami Flash.
Kontroler DRAM
Zawiera adresowanie, magistralę danych i sterowanie do zarządzania jednym lub kilkoma komponentami DRAM. Typowy kontroler SSD może zarządzać do 256 MB pamięci DRAM.
Pamięć DRAM jest używana głównie jako pamięć buforowa, która dopasowuje przepływ danych z macierzy Flash do interfejsu wejścia/wyjścia. Pamięć ta może być również wykorzystywana jako pamięć podręczna danych w celu poprawy ogólnej wydajności. Wymaga to programowania oprogramowania sprzętowego.
Interfejs wejścia/wyjścia (np. SATA)
Zawiera natywny interfejs elektryczny zgodny z określonym standardem systemu otwartego, takim jak SATA, USB lub SAS. Interfejs jest kontrolowany przez sterownik oprogramowania układowego kontrolera. Podstawowe adresowanie i uzgadnianie odbywa się sprzętowo.
Niektóre kontrolery umożliwiają przesyłanie danych między interfejsami, takimi jak USB i SATA, bez ingerencji kontrolera w przepływ danych.
Pamięć kontrolera
Składa się z pamięci programowanej (ROM) oraz pamięci podręcznej/bufora RAM, ściśle połączonych z procesorem. Pamięć ta jest używana przez kontroler do wykonywania programu i przechowywania wartości pamięci podręcznej. W niektórych aplikacjach o ograniczonych kosztach pamięć RAM pełni funkcję jedynego bufora danych dla dysku SSD.
Zwykle jest to 32–64 KB pamięci ROM i 128–256 KB pamięci RAM.
Konfiguracja chipa
Określa ustawienia dotyczące typów i szybkości używanych elementów pamięci, wejść zegara, wejść/wyjść diagnostycznych i wyjść stanu LED.
Zależy od sprzedawcy.
Ogólne wejście/wyjście
Dostępne dla aplikacji uniwersalne programowalne piny.  
Zwykle dostarczane są z 4–16 pinami.
Opakowania
 
BGA 281-pinowe jest powszechne
208-pinowy LQFP jest powszechny
 

Najczęściej używane kontrolery SSD

Na początku 2010 roku na rynku powszechnie dostępne były następujące kontrolery SSD:

  • Indilinx "Barefoot ECO" IDX110MO1
  • Indilinx "Barefoot" IDX110M00
  • Intel PC29AS21BA0
  • JMicron JMF602
  • JMicron JMF612
  • Marvel 88SS9174-BJP2
  • Samsung S3C29RBB01-YK40
  • SandForce SF-1200
  • SandForce SF-1500
  • Toshiba T6UG1XBG

Projektanci systemów dokonują szeregu kompromisów przy wyborze dostawcy i konkretnego sterownika dla swojego produktu docelowego i rynków docelowych. 

Kompromisy obejmują:

  • Programowe – koszty, harmonogram, wsparcie, gwarancja i dostępność.
  • Techniczne – wydajność, moc, opcje pakietów, funkcje, skalowalność i elastyczność.
  • Inne – wspólność, kompatybilność, dokumentacja, wsparcie rozwoju, testowanie i reputacja.

W procesie doboru sterownika projektant systemu przeprowadza również tę samą analizę dla elementów Flash i innych części potrzebnych w projekcie. Jest to proces iteracyjny, mający na celu znalezienie odpowiedniej kombinacji dostawców i komponentów, aby najlepiej spełnić wymagania konkretnego produktu.

Ze względu na obawy związane z własnością intelektualną, nie wszystkie dane projektowe kontrolerów są dostępne publicznie w Internecie. Istnieje jednak wiele szczegółowych informacji na temat zastosowań każdego z kontrolerów SSD dostępnych na rynku, które można poznać, analizując ich zastosowanie w istniejących dyskach SSD.

Recenzje na stronie StorageReview.com i innych stronach pomogą Ci zrozumieć zalety każdego kontrolera i jego wpływ na dysk SSD. Te odniesienia kontekstowe są istotne, ponieważ, choć kontroler ma kluczowe znaczenie dla wydajności dysku SSD, wydajność dysków SSD różnych dostawców może się różnić, nawet jeśli używają oni dokładnie tego samego komponentu kontrolera SSD.

Zasadniczo ta różnica w wydajności wynika z faktu, że oba projekty wykorzystywały różne komponenty Flash, różną liczbę komponentów Flash, różną ilość bufora pamięci podręcznej lub ewentualnie w jakiś sposób korzystały ze zoptymalizowanego oprogramowania układowego. Chodzi o to, że kontroler SDD to tylko jeden z elementów ogólnej konstrukcji systemu SSD i chociaż ma on kluczowe znaczenie dla wydajności, nie jest to jedyny czynnik, który należy wziąć pod uwagę przy podejmowaniu decyzji o zakupie dysku SSD.

Powiązane przewodniki:

Powrót do przewodnika SSD