Protokół winchestera: Różnice pomiędzy wersjami
Nie podano opisu zmian |
|||
Linia 162: | Linia 162: | ||
# Jeżeli w podczas eksploatacji liczba uszkodzonych sektorów zaczyna wzrastać świadczy to o uszkodzeniu kontrolera lub dysku. | # Jeżeli w podczas eksploatacji liczba uszkodzonych sektorów zaczyna wzrastać świadczy to o uszkodzeniu kontrolera lub dysku. | ||
# Początkowo (do czasu całkowitego uruchomienia kontrolera) liczba uszkodzonych sektorów może być dużo większa. | # Początkowo (do czasu całkowitego uruchomienia kontrolera) liczba uszkodzonych sektorów może być dużo większa. | ||
{{source|title=Protokół Winchester|author=Amepol}} |
Wersja z 19:12, 17 maj 2013
Ustaw konfigurację
Pakiet kontrolera winchestera zawiera 4 linie fizyczne (niezależnie od liczby dołączonych dysków).
W słowie 1 opisu linii logicznej należny podać:
Bity | Znaczenie |
---|---|
4 | opis pola zapasowego. Jeżeli dysk był używany we wcześniejszych wersjach MULTIX-a jako dysku typu 0 lub 1 to bit ten musi być zgaszony (=0). Jeżeli dysk jest formatowany przez nowe wersje MULTIX-a to bit ten musi być zapalony (=1) dla dysków o pojemności przekraczającej 32MB. Dla dysków mniejszych wartość tego bitu może być dowolna (ale taka sama przy każdym dołączeniu dysku). |
5-7 | liczba powierzchni pomniejszona o 1 |
8-15 | protekcja formatowania:
|
Dołącz linię
Polecenie sterujące dołącz linie jest bezparametrowe.
Transmituj
Pole sterujące transmituj zawiera 5 slow parametrów transmisji i 2 słowa parametrów zwracanych.
Pierwsze słowo na bitach 6-7 zawiera kod operacji:
Bity | Znaczenie |
---|---|
0 | formatowanie obszaru zapasowego |
1 | formatowanie ścieżki z przeniesieniem sektorów do obszaru zapasowego |
2 | odczyt zawartości dysku |
3 | zapis na dysk |
5 | pozycjonowanie głowic |
Znaczenie zawartości pola jest zależne od zadanej operacji.
Opracja formatowania obszaru zapasowego
Operacja formatowania obszaru zapasowego jest bezparametrowa. Obszar zapasowy zajmuje cylinder 0. Sektory 0 i 1 tego obszaru zawierają powielona mapę sektorów przeniesionych. Sektory użyteczne są adresowane logicznie od 0.
Formatowanie ścieżki z przeniesieniem sektorów
Formatowanie ścieżki z przeniesieniem sektorów do obszaru zapasowego:
Słowo | Bity | Znaczenie |
---|---|---|
+1 | 0-15 | mapa bitowa sektorów przenoszonych (0 sektor ścieżki na 15 bicie, 15 na 0 bicie). Gdy słowo jest zerowe jedynym efektem działania będzie sformatowanie ścieżki. |
+2 | 0-15 | nieistotne |
+3 | 8-15 | najstarszy bajt numeru sektora początkowgo ścieżki |
+4 | 0-15 | młodsze bajty numeru sektora początkowego ścieżki na której znajdują się przenoszone sektory |
Wskazane sektory są zapisywane do mapy sektorów przeniesionych i cala ścieżka jest formatowana na nowo. Przed wykonaniem tej operacji należny wiec odczytać zawartość ścieżki do bufora w komputerze (inaczej zostanie stracona) i po jej wykonaniu zapisać na nowo.
Transmisja
Operacje transmisji (zapis lub odczyt z dysku) wymagają pola sterującego:
Słowo | Bity | Znaczenie |
---|---|---|
+0 | 3 | ignorowane będą błędy CRC odczytu |
4 | dopełnianie ostatniego zapisywanego sektora ostatnim zapisanym słowem transmisji. | |
5 | wykrywany będzie znacznik końca transmisji (bajty $$ na pierwszym słowie sektora). Wykrycie znacznika jest sygnalizowane przerwaniem ITRER (kod 16) z podaniem przyczyny w polu parametrów zwracanych. | |
6-7 | kod operacji : odczyt = 2, pisanie = 3 | |
11-15 | numer bloku pamięci MERY | |
+1 | 0-15 | adres bufora MERY |
+2 | 0-15 | długość transmisji w słowach pomniejszona o 1 |
+3 | 8-15 | najstarszy bajt numeru sektora początkowego transmisji |
+4 | 0-15 | młodsze bajty numeru sektora początkowego transmisji |
Pozycjonowanie głowic
Pozycjonowanie głowic (operacja wykorzystywana wyłącznie do parkowania głowic) wymaga podania jednego parametru:
Słowo | Bity | Znaczenie |
---|---|---|
+4 | 0-15 | fizyczny numer cylindra |
Pole parametrów zwracanych
Pole parametrów zwracanych zawiera 2 słowa:
Słowo | Bity | Znaczenie |
---|---|---|
+0 | 0-15 | liczba przesłanych poprawnie slow (tylko czytanie lub pisanie) |
+1 | 0-15 | słowo stanu i błędów |
Bity słowa stanu i błędów maja następujące znaczenie:
Bit | Znaczenie | Opis |
---|---|---|
0 | Wykryto znacznik końca transmisji | |
1 | Niegotowość dysku | Bit zgaszony oznacza, że dysk gotowy jest do operacji pozycjonowania głowic. Bit zapalony oznacza, że wrzeciono dysku ma niewłaściwe obroty, brak napięcia zasilającego, błąd toru zapisu dysku. |
2 | Błąd toru zapisu dysku | Bit zapalony oznacza awarię w torze zapisu dysku wywołaną wybraniem więcej niż jednej głowicy, brak prądu zapisu podczas operacji zapisu, obecność prądu zapisu podczas operacji odczytu, niewłaściwe napięcie zasilające. |
3 | Wykonywane pozycjonowanie głowic | Bit zapalony oznacza, że głowice nie znajdują się na zadanym cylindrze. |
4 | Przepełnienie obszaru zapasowego (przy operacji 1) | |
5 | Błąd odczytu mapy sektorów przeniesionych | |
6 | Nieistotny | |
7 | Sumaryczny wskaźnik błędu wykonania operacji | Bit zapalony oznacza ze podczas wykonywania operacji w/g polecenia sterującego wystąpił błąd. Przyczynę błędu określają bity 8-15 słowa. |
8 | Błędny sektor | Bit zapalony oznacza, że w polu adresowym zadanego sektora zapisany został znacznik błędnego sektora. Ponieważ PLIX automatycznie odczytuje błędne sektory z obszaru zapasowego, wystąpienie tego błędu wskazuje na uszkodzenie mapy. |
9 | Błąd kontroli CRC | Bit zapalony oznacza wystąpienie błędu sumy kontrolnej pola danych odczytywanego sektora. Sektor zostaje przesłany do bufora lecz dane są błędne. Jeżeli transmisja obejmowała więcej niż jeden sektor, poprzednie sektory są poprawnie odczytane. Jeżeli błąd powtarza się oznacza uszkodzenie nośnika w obrębie pola danych sektora; sektor należy uznać za uszkodzony i przenieść go na obszar zapasowy. |
10 | Nieistotny | |
11 | Sektor nie znaleziony | Bit zapalony oznacza nieodnalezienie poprawnego pola adresowego zadanego sektora. Sektor nie zostaje zapisany/odczytany. Jeżeli transmisja obejmowała więcej niż jeden sektor, poprzednie sektory zostają przesłane. Jeżeli błąd powtarza się, sektor należy uznać za uszkodzony. |
12 | Nieistotny | |
13 | Polecenie odrzucone | Bit zapalony oznacza odrzucenie polecenia z powodu braku gotowości dysku lub błędu w torze zapisu. |
14 | Błąd pozycjonowania głowic na ścieżce 000 | Bit zapalony oznacza niepoprawne zakończenie ustawienia głowic na ścieżce 000. |
15 | Nie znaleziony znacznik pola danych | Bit zapalony oznacza nienapotkanie podczas operacji odczytu sektora (sektorów) znacznika początku pola danych. |
Uwagi:
- Błędy związane z nieznalezieniem znacznika pola danych nieznalezieniem sektora, błędem kontroli CRC są sygnalizowane po 10 obrotach dysku (powtórzeniach) i powtórnym pozycjonowaniu głowic na zadanej ścieżce.
- Błędy te mogą wystąpić podczas operacji pierwszego formatowania powierzchni dysku. Dla dysku BASF 6185 dopuszczalne jest wystąpienia max 15 uszkodzonych sektorów na nowym dysku. Dla dysku NEC D5126 dopuszczalne jest wystąpienie 24 uszkodzonych sektorów.
- Jeżeli w podczas eksploatacji liczba uszkodzonych sektorów zaczyna wzrastać świadczy to o uszkodzeniu kontrolera lub dysku.
- Początkowo (do czasu całkowitego uruchomienia kontrolera) liczba uszkodzonych sektorów może być dużo większa.
Źródło: Protokół Winchester, Amepol