Odzyskiwanie danych z dysków SSD na kontrolerach Sandforce

Sandforce Firma Sandforce powstała w 2006 r. w celu opracowania i produkcji kontrolerów pamięci Flash-NAND. Nawiększym sukcesem firmy było opracowanie kontrolera i firmware dla dysków SSD, co zaowocowało powstaniem wielu producentów nośników tego typu. Wystarczyło zamówić kontrolery z zarządzającym ich pracą programem, pamięci, zalutować układy na PCB, zapakować w obudowę i przykleić naklejkę z własną marką. W 2012 r. Sandforce został przejęty przez LSI, by ostatecznie w 2014 r. trafić pod kontrolę Seagate.


Kontrolery Sandforce SF-2281 i SF-2241 początkowo cieszyły się wielkim zainteresowaniem z powodu wysokich parametrów. Dzięki niskiej cenie zbudowane na nich dyski półprzewodnikowe zdobyły dużą popularność, choć parametry deklarowane przez producentów zwykle okazywały się nieosiągalne w praktyce. Kilkanaście miesięcy po premierze dyski te okazały się wielkim rozczarowaniem z racji dużej awaryjności i braku możliwości odzyskania danych. Tym niemniej nadal kontrolery te są stosowane w popularnych najtańszych modelach dysków SSD.


Cechą charakterystyczną kontrolerów Sandforce jest to, że dla zmniejszenia objętości zapisywanej w układach pamięci informacji kontroler ją kompresuje. W założeniu kompresja danych miała przyczynić się do zwiększenia wydajności dysku oraz wolniejszego zużycia układów pamięci. Dzięki zmniejszeniu objętości przetwarzanych danych, kontrolery Sandforce nie potrzebują zewnętrznego układu pamięci DRAM. Do buforowania tablic translacji, list defektów, a także danych użytkownika w zupełności wystarczająca jest pamięć zintegrowana w układzie kontrolera. Nie to jednak z punktu widzenia odzyskiwania danych jest w kontrolerach Sandforce najgorsze. Najważniejszą komplikacją jest fakt, że podczas zapisywania informacji jest ona dodatkowo szyfrowana algorytmem AES-256, przy czym klucz szyfrowania jest unikalny dla każdego dysku. Szyfrowane są nie tylko dane użytkownika, ale też wszystkie struktury logiczne niezbędne dla prawidłowej pracy dysku. Wszystkie funkcje szyfrowania, kompresji, korekcji ECC i translacji są realizowane przez kontroler sprzętowo i przy uszkodzeniu danych w choćby jednym bloku, także pozostałe bloki przestają być dostępne pozostając w zaszyfrowanej postaci. Dzięki współpracy z naszymi zagranicznymi partnerami jako pierwsi w Polsce możemy zaoferować usługę odzyskiwania danych z dysków na kontrolerach Sandforce.


Aby odzyskać dostęp do danych nalezy wykonać szereg skomplikowanych operacji. Konieczne jest napisanie programu, który umiałby odczytywać i zapisywać bloki informacji serwisowej, a jednocześnie na tyle małego, by zmieścił się w pamięci operacyjnej dysku. Program ten musi obsługiwać konkretną konfigurację pamięci Flash-NAND...a tych w różnych modelach dysków SSD na kontrolerach Sanforce są tysiące. Dodatkowo konieczne jest ominięcie kontroli klucza RSA. Inaczej kontroler nie pozwoli na załadowanie programu do pamięci. Następnie trzeba odczytać i rozszyfrować pierwszą część oprogramowania wewnętrznego. Na tej podstawie należy ustalić układy pamięci Flash i adresy bloków, w których znajduje się druga część firmware. W zdecydowanej większości przypadków przyczyną niesprawności dysków SSD jest błąd w części oprogramowania wewnętrznego umieszczonej w układach Flash-NAND. Po rozszyfrowaniu tej części oprogramowania można poszukać w niej błędów, a po ich poprawieniu ponownie zaszyfrować i zapisać do odpowiednich bloków. Ze względu na unikalność kluczy szyfrujących oraz dużą różnorodność konfiguracji pamięci Flash-NAND dla każdego przypadku całą pracę trzeba wykonywać indywidualnie od początku do końca. Z tego powodu czas odzyskania danych z jednego dysku wynosi w granicach od jednego do dwóch miesięcy.


Dyski SSD na kontrolerach Sandforce

W ciągu ostatnich lat kontrolery Sandforce były wykorzystywanie przez wiele firm produkujących dyski SSD od światowych liderów po producentów, o których mało kto słyszał. Niektóre z tych firm dość istotnie modyfikowały firmware. Np. Intel oprogramowanie wewnętrzne dla swoich dysków stworzył praktycznie od podstaw, dzięki czemu dyski SSD tego producenta okazały się o wiele mniej awaryjne od nośników konkurencji. Jednak zdecydowana większość producentów ograniczyła się wyłącznie do edytowania wyświetlanej nazwy modelu. Poniżej zamieszczamy listę najpopularniejszych dysków SSD na kontrolerach Sandforce:


A-Data

S599
S510
S511
Premier SP800
Premier Pro SP900
XPG SX900
XPG SX910
Premier Pro SP300
XPG SX300
XM13

AMP Inc

AMP341 (Bay Bridge Internal)
SATAsphere
MO-279A

Angelbird

Crest SSD
Wing PCIe SSD RAID Card
Crest 6 Master
Crest 6 XTC

Apacer

Turbo II- AS602

ATP

Velocity M-IV
Velocity SI

Axiom

Signature
Hot-Swap SATA Enterprise

Biwin

Elite
Pro

Codisk

Codragon

CoreRise

Comay Pluto SP 2
Comay Pluto SL 2
Comay Pluto SV 2
Comay Pluto SW 2
Comay Venus Pro 2
Comay Venus 2
Comay Jupiter SWS 225
Comay Jupiter SWS 225e
Comay Pluto CC 3
Comay Pluto SP 3
Comay Pluto SX 3
Comay Pluto SW 3
Comay Venus Pro 3
Comay Venus 3
Comay Ceres Pro 3
Comay Ceres 3

Corsair

Force
Force F60
Force 3
Force GS
Force GT
Force FX
Accelerator Cache SSD

Data Memory Systems

(DMS)

Celerity 3G
Celerity 6G
Celerity 6G Plus

Edge

Boost
Boost Pro

ETC

Blaze
Blaze Micro
Blaze Pro

Extrememory

XLR8 Plus

EMLinQ

EMLinQ

G.Skill

Phoenix
Phoenix Evo
Phoenix Pro
Sniper
Phoenix III

GeiL

Zenith S3

GLobal Wireless Medium

GWM

Goodram (Wilk Elektronik)

Thunder

Intel

Intel 330
Intel 335
Intel 520
Intel 530
Intel 535

ISC8

Vault-MM

Kingmax

SMP35 Client

Kingspec

Spark
C3000
E3000s
E5000
M5000

Kingston

HyperX
HyperX 3K
SSDNow KC100
SSDNow KC300
SSDNow V+200
SSDNow V300

Mach Xtreme Technology

MX-DS
MX-DS Fusion
MX-DS Turbo

Memo Right

FTM Plus
FTM Plus Champion
FTM Plus Slim
MS 701

Micro Center

G2
G3

Micro Star International (MSI)

Reflex

Monster Digital

Daytona
LeMans

Mushkin Enhanced

Calisto Deluxe
Chronos
Chronos Deluxe

OCZ Technology

Agility 2
IBIS High-Speed Data Link
RevoDrive
RevoDrive X2
VeloDrive
Vertex 2
Vertex 2 EX
Vertex 2 Pro
Agility 3
RevoDrive 3
RevoDrive 3 X2
RevoDrive Hybrid
Synapse Cache
Solid 3
Vertex 3
Vertex 3 Max IOPS
Z-Drive R4 C
Z-Drive R4 R

OWC

Mercury Aura Pro
Mercury Extreme Pro 3G
Mercury Extreme Pro Legacy Edition 3G
Mercury Legacy Pro
Mercury Electra 6G
Mercury Extreme Pro 6G

Patriot

Inferno
Pyro
Pyro SE
Wildfire

PNY

Prevail
XLR8
XLR8 Pro

Pretec

P4000

Princeton Technology

Lynx
SentriX

Run Core

Pro V Plus
Pro V
Pro V T50

SanDisk

Extreme

Silicon Power

Velox V20
Velox V30
Velox V70
S7

Smart Modular

Technologies

XceedIOPS
XceedIOPS2

Solidata

K8
SS
SC
SC-P
X8
SM8
N8

Soligen Corporation

Elite Enterprise
FlashBridge
FlashBridge Enterprise
Spartan

Strontium

Gamma
Hawk

SuperSSpeed

S301 SLC
S302MLC

Super Talent Technology

TeraDrive CT2
TeraDrive CT3
TeraDrive PT3
USB 3.0 Express RC8

TakeMS

UTX-2200

Teamgroup

Xteem S1
Xteem S2
Xteem S3
Xteem S3 Pro
Ultra L1

Transcend

SSD720
MSA720

Unigen Corporation

Orion 297
Orion 1200
Orion 1500
Orion SAS 1500
Orion 2200
Orion 2500

Verbatim

Verbatim SATA III Internal SSD

Viking Technology

Element SATA
Element SAS
Element Slim SATA (MO-297)
SATA Cube
SATADIMM

Winkom

Powerdrive ML 8-120
Powerdrive ML 8-240
Powerdrive ML X8-240
Powerdrive ML X8-480

Wintec Industries

Filemate
mini SF-2181

Zalman

N
F1