Chociaż pamięć FLASH jest podstawą dysków SSD i dysków opartych na technologii FLASH (pendrive'ów USB), zanim dane dotrą do pamięci FLASH, muszą one przejść przez kilka innych komponentów SSD . Do podstawowych funkcji dysku SSD należą adresowanie pamięci FLASH, sterowanie, obsługa błędów i skalowanie.
Do zarządzania każdą z tych funkcji dysków stosowana jest kombinacja rozwiązań sprzętowych, sprzętowych i programowych, przy czym projektant systemu musi dokonać pewnych kompromisów, aby ustalić idealną kombinację dla każdego dysku opartego na pamięci flash.
Do najważniejszych kompromisów zalicza się:
- Wydajność
- Opóźnienie dostępu
- Stała szybkość odczytu
- Stała szybkość zapisu
- Czas formatowania (TRIM)
- Ograniczenia fizyczne i cele
- Opakowanie (współczynnik kształtu, płytka drukowana i dostępne pakiety komponentów)
- Zużycie i rozpraszanie energii
- Waga
- Skalowanie (dodawanie części, używanie gęstszych części, dodawanie podmodułów)
- Koszty:
- Konkurencyjna oferta bazowa
- Konkurencyjna oferta skalowana
- System Interface
- Stały (jeden i tylko jeden interfejs systemu docelowego)
- Dostępne z różnymi interfejsami (np. SATA i SAS)
- Dostępne z wieloma interfejsami (np. 1394/Firewire i USB)
Po ustaleniu zestawu wymagań dla pojedynczego dysku SSD, architekt systemu może przeanalizować szeroki wachlarz podejść do ich spełnienia. Jest to proces iteracyjny, w którym generowane, symulowane, testowane i porównywane są różne rozwiązania, a ostatecznie do wdrożenia wybierany jest jeden projekt systemu.
Ostateczny projekt systemu określa, które części każdej z funkcji zarządzania (adresowanie, kontrola, obsługa błędów i skalowanie) mają być zapewniane przez sprzęt, oprogramowanie sprzętowe i oprogramowanie – zarówno na poziomie oferty produktu, jak i w sterowniku programowym na poziomie hosta.
Rysunek 1 Przedstawia ogólny widok typowego komponentu systemu architektonicznego powiązanego z dowolnym systemem SDD. Tabela 1 zawiera podsumowanie szczegółów dla każdego komponentu obszaru funkcjonalnego.
Rysunek 2 ilustruje najprostszą implementację równoważną, z którą większość osób jest zaznajomiona: pendrive USB. W przypadku pendrive'a, prosty układ składający się z maksymalnie dwóch układów FLASH połączonych z jednym układem kontrolera tworzy dysk SSD. Kontroler wykorzystuje oprogramowanie układowe do wielu funkcji, a nie dedykowany (i szybszy) sprzęt. W przypadku pendrive'ów koszt jest nadrzędnym kryterium, dlatego więcej funkcji jest realizowanych programowo w kontrolerze i sterowniku hosta, a nie sprzętowo.