Date post: | 07-Aug-2018 |
Category: |
Documents |
Upload: | francisco-sanchez |
View: | 235 times |
Download: | 2 times |
of 19
8/20/2019 seagate diagnostic command.odt
1/45
2. Seagate Diagnostic Commands
Upon power up, the drive will respond to a set of diagnostic command send through serial port. Because of thenumber of commands supported, the commands are broken up into ‘Levels’. Many, the progress may be sent overthe serial port for number of bits written and read, and command such as read, write, seek, and error log
manipulation are available at several different levels. iagnostic commands are used in place of !"# scripts to dotesting. $hile the drive is running these diagnostic commandshard%soft error rates, a number indicating the testcurrently being performed, and various information for status of the current test.
"he firmware consists of & flash codes and numerous supporting files. "he two flash codes are known as factorycode and customer code. "he factory code contains all the serial port diagnostics command but no !" interfacecommand. "he customer code contains all !" interface command but minimal set of serial port diagnosticscommand.
#n the ‘!vailability’ column, a ‘'’, ‘(’ and ‘B’ indicate the command is available at ‘'actory (ode’, ‘(ustomer(ode’ and ‘Both codes’ respectively.
"he following is a short list of some of the serial port commands)
Level T * (ertification "ests.ownload code+tart manufacturing test+et drive ‘!ge’(ommands to read cert logs, read error logs, write test data to flash, etc.
Level 1 * Memory (ontrol (ommands.(ommands to display buffer, display memory, set memory, copy buffer to flash, readsysvars from disk, etc.
Level 2 * rive Level (ommands
! command to configure the cylinders, heads for testing, gives option for randomcylinder%head and random data patterns(ommands to set data patterns, perform (( tests, manipulate the error log, dump these-uencer ram.(ommands to do physical to logical conversion, assign skips and alternates, etc.(ommands to spinup, spindown, seek, read, write, read long, write long, read compare,sleep, set retries, etc.
Level 3 * +eeking (ommandsisplay the one tableMotor acceleration testMeasure head switch / settling timesisplay head offsetMove actuator open loop+eek, seek physical, varying length seek testLatch testisplay position of actuator 0ysteresis testLatch 1erciser test
Level 4 * +ervo "racking (ommandsManipulate a skipped cylinder table"racking error test
2age 3
8/20/2019 seagate diagnostic command.odt
2/45
isplay position error signal4ap servo burst+et servo offset+et%display tracking gain+end impulse to actuator
Уровень . 56789:;6? >89:@8 A ;A8C6@DE =6>D8AID? ;7I8A8@, 7==@9NO=ID? P898A8@, (++, >=6>8A 3, &, Q@8=@RDD burts, files to test start*stop, head switch, (++, 3,&,or Q burst correction test, I;IO=HJ= >=6>J, >=6>J6AI=ID? CIIJE, A8;H8SI86>: AA8CD>: ;9DOIJ= batch K9J A T!M.Level " * !daptive (ontrol (ommands
"une parameter control and displayiagnostic read track !( gain control2erform V(W calibration for all ones
Level # * +pecial 2ackwriter (ommands* +ervo diagnostic sub commands* (onfiguration commands* Lock spin e1ternal, spin speed adXust
* +et actuator bias current
Level $ % rive Level (ommand Y'ull*slipping efect Management ModeZ
Beside the above nine levels of commands, there are two additional sets of commands, the Wn*line commands and(ommon commands. "he main purpose of Wn*line command is to display varies type of status. (ommon commandis use to ‘poke’ and ‘peek’ into memoery to allow access to registers, buffer memory and data memory.
2.1 &'(L)'* C&++,'DS
"he Wn*Line commands may be initiated at any time. 'or the #nterface*specific commands, the #nterface code must be present in the current memory map for successful e1ecution[ the eneral commands are always available.
#nterface*+pecific (ommands
(ommand escription !vailability
-* #nterface +tate) Ma1 (.0.+. % T$ multiple block sie % (urrent transfer modesettings
B
- Tead +egment TecordYsZ B
-/ $rite \ueue ump B
-) (ontroller Tegister ump 00 See ige 2.1."5 B
-6 Teserved
-7 Teserved
-8 Teserved. "his command can only be used when the drive is spun down-S +napshot current e1ecution address B
-9 #nterface (ommand cho and !ctivity "race "oggle B
-: #nterface and ]iwot (ommand 0istory 00 See ige 2.1.!5 B
-; isplay Taw +M!T" Values Yused for computing +M!T" !ttributesZ B
#nterface (ommand +tate B
eneral (ommands
2age &
8/20/2019 seagate diagnostic command.odt
3/45
(ommand escription !vailability
^? YTeserved for +ervo UseZ '
-D @ -' 8etA ,ctivitA DisBlaA Toggle.
! message will be displayed as follows)
e c r _ ` 3 `
where ‘e’ _ error tracing, ‘c’ _ command tracing / ‘r’ _ retry tracing. `_disable,3_enable.
$hen enabled causes the following characters to be sent to the serial port)‘.’ _ 'irst data retry‘,’ _ subs-uent data retry‘c’ _ +uccessful Wn*"he*'ly correction occurred‘f’ _ +hifted 0eader retry.‘0’ _ 0eader retry‘#’ _ +e-uencer was force*stopped.‘s’ _ +ervo Tecovery‘w’ _ $rite Tetry‘’ _ #nde1 active on non*inde1 sector ‘’ _ +pin speed outside of tolerance‘L’ _ Latch retry‘’ _ Tesync servo bursts‘’ _ 'ine "rack window e1ceeded.‘’ _ Missing servo burst mark.
B
-L DisBlaA Sign(on +essage inclding imae vesion. B
-& ,dvanced Sevo Tacing B
-EEoe CFoB enaGle@disaGle toggle.
B
-T8estat Test. Cases tFe dive to estat testing at tFe cent age.
B
-C Sotae 8eset Command Cases tFe dive to sBin don e(initialiHe itsel
sBin GacIB and come eadA again.
B
-J 8estat tFe Diagnostic +onito. B
K DisBlaA Cent 8@ CFannel Settings B
M SFo +N Stats. 00 See ige 2.1.15 B
< DisBlaA Tanse Stats See ige 2.1.25 B
. DisBlaA ,ctive Stats. 00 See ige 2.1.35 B
O DisBlaA +acFine Stats. 00 See ige 2.1.45 B
PDecement ead@ite scoBe sAncFoniHation Blse Bosition.
B
Q )ncement ead@ite scoBe sAncFoniHation Blse Bosition. B
R SFo ?e ,llocation. 00 See ige 2.1.5 B
- SFo *laBsed Time since stat o cet test o last -J. B
SFo 8ead@ite Statistics. B
8eseved o Sevo Diagnostic Use5 B
V 8eseved o Sevo Diagnostic Use5 B
*SC)nteBt LooB o ?atcF ile eNection.
B
WDisBlaA Boe B time
B
Figure 2.1.1: ‘%’ command display format
Teturned data format)
2age Q
8/20/2019 seagate diagnostic command.odt
4/45
aabbccccddeeffgg !iiiiiiii XXXXXXXXXXXX’
aa !ge
bb 2rogram
cccc !ccumulated health
dd rive type
ee "his is the !tlantis (!`h $T+"!"+ register valueff rror code byte
gg Ma1imum number of heads for this type
iiiiiiii rive serial number
XXXXXXXXXXXX 2(B! serial number
Figure 2.1.2: ‘ ‘ ’ command display format
Teturned data format)Cmd Cyl Hd Sct Cnt Stbuf Segl Csct Cbuf Actv Ercd Rtry Flags
aa bbbb cc dddd eeee ffff gg hhhh iiii j kk mmmm.nn.pp qq
(md aa Last command type
(yl bbbb (ylinder of current command
0d cc 0ead of current command
+ct dddd +tart sector of current command
(nt eeee Length or block countVT _ T%$ 'orever
+tbuf ffff +tart buffer number
+egl gg Buffer sie
(sct hhhh (urrent +ector
(buf iiii ‘#ntfwork3’ address
!ctv X (#2rcd kk rror (ode
Ttry mmmm.nn.pp Tetry parameters Ysee level & commandZmmmm * retry control bitnn F read retries count pp * write retries count
'lags -- T%$ flags
Figure 2.1.3: ‘ . ’ command display format
Teturned data format)
gm!aa "rk!bbbb#cccc$.d.eee %n!f Err!gg ErCt!hhhh Hlth!iiii Chlth!jjjj Ready
2gm_aa !ctive program `` is diagnostic monitor. ` is interface program !ll other numbers arecurrent test running.
"rk_bbbbYccccZ.d.eee (urrently selected logical cylinder Yphysical cylinderZ, head, sector.+ector will normally point to one past the last sector read or written.
4n_f 4one
rr_gg rror code from current operation
r(t_hhhh rror count since last reset of drive or last reset error log command
2age
8/20/2019 seagate diagnostic command.odt
5/45
0lth_iiii !ccumulated health bits * four digits
(0lth_XXXX (urrent health bits F four digits
Teady rive status. (an be Teady or ]trdy
Figure 2.1.4: ‘ ; ’ command display format
Teturned data format)!ge_aa "ype_bb M1(yl_cccc M10d_d M1+ct_eee Bs_ffff "(ode_gggg
!ge_aa (urrent drive age
"ype_bb (urrent drive type
M1(yl_cccc Ma1imum cylinders for this drive type in he1
M10d_d Ma1imum heads for this drive type in he1
M1+ct_eee Ma1imum +ector for this drive type in he1
B+_ffff Buffer sie in he1
"code_gggg "est code for ".. 0da "est
Figure 2.1.5: ‘ ? ’ command display format
Teturned data format)T)1111)yy$T)1111)yy!()1111)yy!+)1111)yy2)1111)yyB!)1111)yy+")1111)yylogbps)1111codebps) 1111
u2)1111)yy(W)1111, yy'M)1111)yy!)1111)yy
T1111)yy 1111 _ Buffer number for read buffer yy _ Buffer sie in sectors
$T)1111)yy 1111 _ Buffer number for write buffer yy _ Buffer sie in sectors
!()1111)yy 1111 Buffer number for active log buffer yy _ Buffer sie in sectors
!+)1111)yy 1111_ Buffer number for ascii log buffer
yy _ Buffer sie in sectorsB)1111)yy 1111 _ Buffer number for display log buffer
yy _ Buffer sie in sectors
B!)1111)yy 1111 _ Buffer number for batch file buffer yy _ Buffer sie in sectors
+")1111)yy 1111 _ Buffer number for statistics log buffer yy _ Buffer sie in sectors
logpbs)1111 Bytes per sector in cert log area
codebps)1111 Bytes per sector in code area
2age
8/20/2019 seagate diagnostic command.odt
6/45
u2)1111)yy 1111 _ Buffer number for microprocessor ramyy _ Buffer sie in sectors
(W)1111, yy 1111 _ 'irst code buffer addressyy _ reserved
'M)1111)yy 1111_Buffer number for format operations Ymoving altsZyy_Buffer sie in sectors
!)1111)yy 1111_Buffer number for reading%saving adaptivesyy_Buffer sie in sectors
2age j
8/20/2019 seagate diagnostic command.odt
7/45
2.2 C&++&' C&++,'DSX ,vailaGle om ,ll Levels5
"he (ommon (ommands may be e1ecuted whenever the diagnostic monitor prompt is present and the
monitor is waiting for a command re-uest.
"he ‘*‘ and ‘_’ commands involves access of absolute address inside the embedded environment. ach address has&`*bit address. 2lease get the memory map from .
#n the ‘!vailability’ column, a ‘'’, ‘(’ and ‘B’ indicate the command is available at ‘'actory (ode’, ‘(ustomer(ode’ and ‘Both codes’ respectively. Besides, a ‘2’, ‘+’, and ‘’ denote the command is available only if the code iscompiled in ‘2ackwriter Mode’, ‘+ervo Mode’ and ‘+pecial Mode’ respectively.
Command DesciBtion ,vail.
(T LooB ?eaI. B
0 SBecial nction o GatcF ileX
3 _ 2ause batch file e1ecution until input&,1 _ elay 1 millisecondsQ,1 _ Branch to Label 1,1 _ #ncrement head and branch to Label 1 _ (lear monitor screenj _ +top on error ,1 _ Load batch loop counter with 1, 1 _ ecrement batch loop counter, branch to label 1 if `,
B
YNAAAA EeeI ?Ate. DisBlaA tFe GAte data content o tFe sBeciied memoA addess. B
YNAAAA EeeI ?Ate. N ( BBe Gits o a geate(tFan(1! Git addess B
YAAAA EeeI ?Ate. AAAA ( loe 1! Gits addess. TFe FigF addess in Bevios NAAAA is sed. B
@N CFange Level to Diagnostic +onito Level N. B
WNAAAAHH EoIe ?Ate. 8eBlace tFe contents o tFe sBeciied addess itF tFe sBeciied data.
]ote that non*volatile area cannot be modified by this command. F byte data content to be written at the specified address
B
WNAAAAHH EoIe ?Ate. 8eBlace tFe contents o tFe sBeciied addess itF tFe sBeciied data.
]ote that non*volatile area cannot be modified by this command. F byte data content to be written at the specified address
B
WAAAAHH EoIe GAte. 8eBlace tFe contents o tFe sBeicied addess itF tFe sBeciied data. AAAA
% loe 1!(Git addess. TFe FigF addess in Bevios NAAAA is sed.
]ote that non*volatile area cannot be modified by this command. F byte data content to be written at the specified address
B
ZN LaGel.
uring batch file entry, define this location as Label 1, where 1 _ single digit numericlabel specification.
B
(NAAAA EeeI od. DisBlaA tFe od contents o tFe sBeciied addess.
1 F upper bits of &`*bit addressyyyy F lower 3j bits of &`*bit address
B
2age
8/20/2019 seagate diagnostic command.odt
8/45
!11 Set Test SBace. 'eNt command to eBeat eNection as sBeciied GA NNX&it ' ( ) * + , -
. . . . . . . /00 -!all head1 !current head
. . . . . . /0000 -!all cyl1 !current cyl
. . . . . /000000 -!rand2m cyl3hd1 !sequential cyl3hd
. . . . /00000000 -!set special #see bel24$
. . . /0000000000 -!even cyl1 !all cyl
. . /000000000000 -!2dd cyl1 !all cyl
. /00000000000000 -!sequential 2ut1 !sequential in
/0000000000000000 -!rand2m data1 !e5isting buffer data
11 F if not present, display current test space.
+pecial setting)!,yyyy _ +et minimum cylinder to yyyy!,yyyy _ +et ma1imum cylinder to yyyy!!,y _ +et ma1imum head to y!B,y _ +et minimum head to y!(,yyyy _ +et command timeout to yyyy ms! _ +et mins%ma1s to defaults
B
2age
8/20/2019 seagate diagnostic command.odt
9/45
2.3 L*9*L T C&++,'DS
Command DesciBtion ,vail.
?NNN Set ?ad 8ate
11 baud rate33& 33.&k j& j&.k j .jk Q Q.k & &.k 3& 3.&k j j.k .k
B
C 8eset Cetiication Test.
Tesets health bits and sets age to 3.B
DNNAAHH DisBlaA Cet Logs se[entiallA om Log NN.
11 F Log to start se-uential display[ if blank, display only logs of failed tests.
yy F isplays only log entries with this error code#f yy _ !!, enables +pecial Log (ontrols .
F +pecial function)#f _ ` * nable fast dump capability for data cataloger capture. #nhibits time delay between log dumps and enables fast, unformatted log dump
B
*NNAAHHDisBlaA@*dit Cet Logs5
11 * Log number to display Yno entryZ isplay !ctive Log_ ̀ * (lear !ctive Log ̀ * isplay Log 11
yy * isplays only log entries with this error code#f yy _ !!, enables +pecial Log (ontrols .
* +pecial function)_ ` F (lear and insert !+(## characters from serial port into !+(## log. $hen (T isentered, save to Log 11 and close !+(## Log._ 3` * !ppend characters from serial port to !+(## Log 11. (lose on receipt of (T._ &` F $rite !ctive Log to Log 11._ ` F nable fast dump capability for data cataloger capture. #nhibits time delay betweenlog dumps and enables fast, unformatted log dump._ ` F isplay address of Log 11 Y'ormerly _ ''Z
B
Gx,y 8ead@ite citical comBonent vendo secto
1 _ which vendor sector y _ if not specified) read, specified) write
B
2age
8/20/2019 seagate diagnostic command.odt
10/45
Hxx,yy,zz DisBlaA@8eset \ealtF Stats ?its.
11* Yanything enteredZ * isplay (urrent 0ealth* Ynothing enteredZ * isplay !ccumulated 0ealth
yy * Ynot usedZ
* _&&h _ Teset both current and accumulated health to ̀ `` .̀
B
I Cet tFe eseved cAl '
]NNAA Set ScoBe SAnc om Cet Log entiesX
11 * Use entries from (ert Log 11[ Blank _ Use !ctive Log.yy * Blank _ all entries[ yy _ sync only on rror (ode yy entries.
B
'NN Set Dive ,ge to NN. B
T 8ead SAstem Secto into SAstem 8,+ B
TNN 8n actoA Test NN B
NNAAHH Save SAstem 8,+ into SAstem Secto.
#f age j` then 11,yy, is not used.#f age __ j` then11 * Ynot usedZyy * Ynot usedZ * _&&h _ Teset !daptives
B
;NN Set Dive TABe to NN.
+ets drive type to its default configuration stated below. !ll defect tables and tunedread%write parameters will be initialised by this command. 'or safety reasons, thiscommand does not write drive type to system tracks. ! $ must be issued to write theinformation to the drive.
11 _ `) 3 header version
_ 3) & header version _ &) Q header version _ Q) header version
B
2age 3`
8/20/2019 seagate diagnostic command.odt
11/45
dNN Donload C*8T 8 CSET D* om Seial Eot to ?e tFen ite to eseved
cAl.
11 _ * '#L for downloading.
30 WVLq(("
&0 WVLq!("Q0 WVLq
0 'T+V
0 ''"
j0 'U+T
0 'L4"
0 T$'
0 ++V!T3
!0 ++V!T&
B0 (+2"
(0 VB2#
0 'L+0q!"
0 'L+0q("
`'0 !"q+"U''3`0 +(UT#"
330 V]WTq+2(
3&0 +M!T" !""T#BU"
3Q0 +M!T" "0T+00WL
30 +M!T" #T("WT
30 +M!T" TTWT LW
3j0 +M!T" (WM2T0]+#V LW
30 +M!T" +L'q"+"qLW
30 +M!T" (T#"#(!LqV]"qLW
30 +M!T" 0!L"0qLW
3!0 +M!T" T#VqV]WTqLW
3B0 +M!T" 0W+"q+2(#'#(qLW
3(0 $T#"q2TW"("30 (W] ]30 +#2 (L#]T L#+"
_ F 'or L only, ie. Wnly downloaded to buffer Tam. _ F L only for T$'. _ B F L only for (+2"
NN UBload C*8T 8 CSET D* om Seial Eot to ?e tFen ite om esv
2erforms the uploading of files from the reserve tracks. "he keys are e1act the same asthose in the download command.
B
2age 33
8/20/2019 seagate diagnostic command.odt
12/45
NNNNAAAA Donload ne lasF code om Seial Eot to ?e tFen Gn it in
1111 * !lgorithm +elector $ord Y!+$Zyyyy * ]one ero number will program this as the User efault !+$Y+ee figure &.Q.3 for !+$ bits definitionsZ
YaZ if 1111 is not specified _a.3Z if default !+$ is ` or ffffh _ current !+$ is obtained from table, ne1t !+$ _ ffffha.&Z if default !+$ is other values _ current !+$ _ ne1t !+$ _ default !+$
YbZ if 1111 is specified _ b.3Z if yyyy is ` _ ne1t !+$ is default !+$, current !+$ _ 1111 b.&Z if yyyy is ffffh _ ne1t !+$ is default !+$, current !+$ _ 1111 b.QZ if all other yyyy values _ ne1t !+$ _ 1111, current !+$ _ 1111
B
^*nte \D, Seial 'mGe.
"he +%] may be up to !%] characters long, left Xustified, and right padded with spacesuntil string length is characters.
B
_N,SC)) Log ContolX
1 _ ! nables !+(## logging1 _ B isables !+(## logging1 _ isplays !+(## log
B
ASW WORD
"he !lgorithm +elector $ord Y!+$Z is a command to tell the flash upgrade routine to select the correct flash
programming algorithm. #t can be issued as a parameter in the +L. software. "he idea is to have singlegeneric routine to cater for different flash memory programming algorithm. "ypical flash programming involves‘word programming’ and ‘sector programming’. #f a new flash vendor is cut in, the firmware is not re-uired tochange. ust use the correct !+$ will do.
'igure &.Q.3
o! "yte
j Q & 3 ` 'uture use 'uture use 'uture use 'uture use 'uture use 'uture use $ord
2rogrammingTeservedYwas 3&*word pgmZ
#ig$ "yte
3 3 3Q 3& 33 3` (hip rase/Teprogram
MainMemoryrase /Te program
'uture1pansion
'uture1pansion
'uture1pansion
'uture1pansion
'uture1pansion
'uture1pansion
2age 3&
8/20/2019 seagate diagnostic command.odt
13/45
2.4 L*9*L 1 C&++,'DSX +emoA +aniBlation Commands
#n the ‘!vailability’ column, a ‘'’, ‘(’ and ‘B’ indicate the command is available at ‘'actory (ode’, ‘(ustomer(ode’ and ‘Both codes’ respectively. Besides, a ‘2’, ‘+’, and ‘’ denote the command is available only if the code iscompiled in ‘2ackwriter Mode’, ‘+ervo Mode’ and ‘+pecial Mode’ respectively.
Command DesciBtion ,vail.
?NNAA ?e DisBlaA
11 * Buffer number to display. ]ote) #f the displayed buffer is a read buffer, then low*lighted bytes which do not compare to the corresponding write buffer.yy * Buffer number to compare data to Ynon matching data is high*lightedZ. #f 11 is aread buffer and yy is not entered, data matching the corresponding write buffer location is low*lighted[ non matches are high*lighted.
B
DNAAAAHHDisBlaA +emoA.
isplays &j bytes of memory starting at address 1yyyy.1 * upper bits of 3j bit addressyyyy * lower 3j bits of 3j bit address or the 3j bit address * high*light bytes matching this value.
B
**ase SAstem )nomation( Set all Baametes to dealts.
000 rive must be power cycled for this command to take effect
B
Tead Xumper infomation.
Teturns message)
umper) yy
yy _ ``) +lave Yno Xumper installedZyy _ `3) Master with !"! slave or single drive YXumper near !"! cable installedZyy _ `&) (able +elect YXumper near serial connector installedZyy _ `Q) Master with non*!"! slave Yboth Xumper installedZ
B
M SFo lasF 8&+ Device Code +anacte Code Use Dealt ,lgoitFm Selectood ,S5 and allGacI Dealt ,S. Dive ill eGoot ate inisFing tFis command.
B
'NN S+,8T Seial Eot Contol
11 F Level 3 ] +ubcommand_ 3 F (reate +mart +ector._ & F Update +M!T" !ttributes Y same as +M!T" Qh option in interface Z
_ Q F o +mart 'irmware Upgrade_ F ump +M!T" attribute data_ j F ump +M!T" threshold data_ F ump *List_ F ump (ritical vent Log_ F ump 2*List_ ! F ump two hour 0ealth Log_ B F Tun +" +hort "est_ ( F Tun +" Long "est
B
2age 3Q
8/20/2019 seagate diagnostic command.odt
14/45
SNAAAA *dit +emoA ?Ate.
1 * upper bits of 3j bit addressyyyy F lower 3j bits of 3j bit address or the 3j bit address"he u2 will continue to read the memory byte and will update the display if the byte changes.!fter entering desired edit value, the following actions may be taken)
L * Te*edit same byte(TY^MZ * (lose out and e1itL'Y^Z * dit the ne1t se-uential location
B
UNAAAA *dit ?e ?Ate.
"his is the same command as S e1cept the Buffer Memory is edited.
B
9NNAAHH 9eiA and cont tFe nmGe good coBies o C*8T 8 CSET D* in 8eseve
11 _ * '#L for verifying Ysame as level ", d command, e1cept the following, whichare not supportedZ _ ` F (T" 'L+0 Yfor auto reflashZ _ ` F !" 'L+0 Yfor auto reflashZ _ `' F !"q+"U''
_ 3` F +ecurity Ynot used, as it is auto downloaded by drive firmwareZ_ 33 F Vendor +pecific ntry
_ 3& 3B F +M!T" related entries _ 3( * $rite 2rotect _ 3 F +#2q"T
'ote) !lthough the number of good copies valid might be displayed for the above '#Ls,these are strictly not valid.
yy _ * ]ot entered for Xust counting the number of good copies available.* #f entered, is the (opy ]umber, which is reserved for intenal use only.
4 _ * ]ot entered for Xust counting the number of good copies available.
* #f entered, is the 0ead ]umber, which is reserved for intenal use only.
B
ComBae EC? seial nmGe itF sAstem secto>s seial nmGe
#f both serial number are e-ual, print `3. #f not, print ``."his feature is for process to detect if 2(B has been swapped across 0!.
B
;NNNN Convets desied cAlinde nmGe to gaA code and disBlaA tFe eslt.
1111 * specifies the cylinder number to convert.B
NNNN Eogam tFe lasF8&+ itF eitFe ,T( o C*8T(Gilt code stoed on tFe eseved tacIs
1111 _ !!!! 'lash with !" YcustomerZ code1111 _ (((( 'lash with (T" YfactoryZ code
Use +L to download the code files onto the reserved tracks.
B
mNAAAA *dit memoA od. &Beates same as level 1 command eNceBt oBeates on ods. B
ANNNN Convets desied gaA code to a cAlinde nmGe and disBlaAs tFe eslt.
1111 * specifies the gray code to convert
B
` Set EC? inomation and Bdate lasF
"he user will be prompted to enter 2(B (, 2(B +%] and 2(B 2%]. "his feature is used by2(B plant to burn in 2(B, ( and serial . "hen the drive plant will automatically retreivethe information.
B
^DisBlaA EC? inomation
isplay the 2(B information burnt by command.
B
2age 3
8/20/2019 seagate diagnostic command.odt
15/45
2age 3
8/20/2019 seagate diagnostic command.odt
16/45
8/20/2019 seagate diagnostic command.odt
17/45
6NNNNA Set TacIing &set
1111 * signed, 3j bit integer in units of &j%band Yband _ &%Q trackZ. efault _ `.y _ ` ) 1111 is temporary offset and is cleared with ne1t seek. efault _ temporary.y _ 3 ) 1111 is persistent offset and is cleared on power cycle or servo cal.
B
LNNAAAA
&8
LNNHHAAAA
LooB. Cases tFe neNt command to eBeat eNection sGect to contols sBeciied GA
NN AAAA and HH
&it ' ( ) * + , -
. . . . . . . /000000 - ! C2ntinue 2n err2r1 ! St2p 2n err2r
. . . . . . /00000000 - ! St2p 2n n2 err2r
. . . . . /0000000000 - ! Spind24n 2n err2r1 ! d2n6t spind24n 2n err2r
. . . . /000000000000 - ! Reserved
. . . /00000000000000 - ! 7nhibit err msg 2n err2r
. . /0000000000000000 - ! St2p 2n err2r c2de!yyyy1 ! 822p c2unt
. /000000000000000000 - ! 822ping primed #internal use$
/00000000000000000000 - ! 822ping active #internal use$
yyyy ! Err2r c2de t2 st2p 2r 822p c2unt
99 ! Hi0byte 2f l22p c2unt
'or e1ample)
L3,3&,Qj * ont stop on error , loop for 3&Qjh timesL`, * +top on error or repeat for h times whichever comes first.L& * +top on ]W error L&`,Q * +top on error code Qh.L&,Q * +top on error code Qh., spindown drive when stopLQ`,Q * +top on error code Qh, disable error messages display .
B
&NNNNAAAAHHHH SeeI(SeeI on cent FeadX
1111 * (ylinder to seek from. efault is Min(ylyyyy * (ylinder to seek to. efault is Ma1(yl * ]umber of seeks to perform. efault) continue until ne1t keyboard entry
B
2age 3
8/20/2019 seagate diagnostic command.odt
18/45
ENNNNAAHH Set Buffer Pattern.
]ote ) yyyy and formats will depend on 11
11 * 2attern options to write into buffer.* 3`` _ incrementing pattern* &``_ random pattern
* `` _ isolating pulse pattern* ``_ fill buffer memory with the 3j*byte memory array
yyyy * buffer number to fill, default all write buffer * ignored
11 * ]] _ defined buffer number to fill with the pattern* ``` _ fill the 3j bytes memory array with pattern* 3`` _ fill last 3& bytes of memory array with pattern* &`` _ fill last bytes of memory array with pattern* Q`` _ fill last bytes of memory array with pattern
yyyy * lower word of pattern to fill * higher word of pattern to fill
1ample )
2&``,3' ** fill buffer number 3'h with random pattern23`` ** fill enitre write buffer with incrementing pattern**************************************************************************************2,3&Q,j F fill entire wrtie buffer with ‘3&Qj’2`!,&&&& ** fill buffer number `!h with pattern ‘&&&&’**************************************************************************************2```,````,```` ** fill 3j*byte memory array with `s23``,````,```` ** fill last 3& bytes of memory arrary with `s2&``,'''','''' ** fill last bytes of memory array with ‘'’s2Q``,'''','''' ** fill last bytes of memory array with ‘'’s2``,3` ** fill buffer 3`h with pattern ) Yafter cmd 2`,23,2&,2QZ
‘```` ```` ```` ```` '''' '''' '''' ''''’2`` ** fill entire write buffer with
‘```` ```` ```` ```` '''' '''' '''' ''''’
B
7NNAA ite@8ead@8ead Data.
11 * +tart sector on each track yy * ]umber of sectors to transfer Ylimited to sectors remaining on trackZ.efault) ]umber of sectors remaining on track.
B
8NNAA 8ead Data.
11 * +tart sector number Ydefault _ ̀ Zyy * ]umber of sectors to read . efault) ]umber of sectors remaining on this track.
B
SNNNNAAHHHH SeeI CAl@\ead.
1111 * (ylinder number
yy * esired destination head. #f the most significant bit is set, the command willseek to the physical cylinder number specified in the first parameter[ else, the seek will beto the logical cylinder * "rack follow offset. +igned 3j bit integer
B
TN +ease TFogFBt.
1 not entered) Measure Tead "hroughput1 _ 3 Measure $rite "hroughput
B
2age 3
8/20/2019 seagate diagnostic command.odt
19/45
UNNAA SBin(UB
11 not entered) ]ormal spin*up until drive ready
11 value)* ` spin up with no hold states
* 3 advance hold state* & release all hold states* Q hold in warm up state* hold in bu state* hold in pre*lock state* j hold in lock state* all others _ no hold state change
yy * 0ead number to use to go active.
B
9NNAAHH 8ead@ComBae against coesBonding ite Ge.
11 * +tarting sector on each track Ydefault ̀ Z̀yy * ]umber of sectors to read Ydefault is number remaining on trackZ. * Buffer to compare data against. efault) first $rite Buffer.
B
NNAA ite Data.
11 * +tarting sector on each track Ydefault is ``Zyy * ]umber of sectors to write Ydefault is remainder of trackZ
B
;NNAAHHaa SFo@Set 8etA Contols
11 Ynot enteredZ * +how current settings
&it -) -* -+ -, -- - : ;
. . . . . . . /00 rite splash retry enable
. . . . /00000000000000 Early read retry enable
. . . /000000000000000000 =fftrack read retry enable
. . /0000000000000000000000 reamp Hi ?ain retry enable . /00000000000000000000000000 "A retry enable
/000000000000000000000000000000 Erasure p2inter retry enable
&it ' ( ) * + , -
. . . . . . . /00 ECC level c2ntr2l bit
. . . . . . /00000 ECC level c2ntr2l bit -
. . . . . /000000000 ECC level c2ntr2l bit ,
. . . . /0000000000000 @a5 ECC retry enable
. . . /00000000000000000 Run 2ut cal retry enable
. . /000000000000000000000 Serv2 "hresh2ld retry enable
. /0000000000000000000000000 &22st retry enable
/00000000000000000000000000000 @R bias retry enable
yy F data retry count* # retry count updated only when not `
aa F write retry count
B
J SBin(Don. B
G DisBlaA ?e Stats
isplays the first two bytes of each sector*sied buffer.B
cNNAA ComBae ?es.
11 * +ource buffer Ydefault is first read bufferZyy * Teference buffer to compare against Ydefault is first write bufferZ
B
2age 3
8/20/2019 seagate diagnostic command.odt
20/45
eNNAA Save Log to Cet Log AA.
11 * +ource Log type) ` _ !ctive Log, 3 _ !+(## log, & _ isplay logyy * estination (ert Log number
B
FNNNNAAHH Translate Niwot CHS to Logical CHS. Maxiu Niwot CHS allowe! is NiwotCHSof "Stuff.Total#serCa$acity%&' .
111 * ]iwot cylinder yy * ]iwot head * ]iwot sector
* !lgo)if Ytranslated LB! +tuff."otalUser(apacityZ
display LB![ if YLogical (0+ +tuff.(urrent!" (0+Z display logical (0+[
else display invalid (0+ ''''% '% ''[
elsedisplay 2aram #nvalid[
1amples) xhQ,`,`x yields x```````, ````% `% ``x xhQ3!,`,3Bx x``QQ'', ̀ `''% '% Qx
*where x̀ `QQ''x is LB!, and x``''% '% Qx is ]iwot(0+ xhQf,Q,3Qfx x&`3'', ''''% '% ''x
*invalid (0+ displayed as ma1 logical geometry is Q''%'%Q
B
lNNNNAAHH Tanslate Logical C\S @L?, to 'iot C\S
Logical(0+ i%p)1111 * Logical cylinder yy * Logical head * Logical sector
LB! i%p)111 * LB! hi*wordy * LB! lo*word
]ote)3. !ll three input arguments start counting from ero&. $hen no arguments are entered, ma1 user LB! and its ]iwot(0+ are returned
1amples)
3. Logical(0+ to ]iwot(0+ xl`,`,`x yields x```````, ``Q% `% ```x xl'',',Qx x``QQ'', `Q3!% `% `3Bx xlx x3''3', &QQ% &% 3`Bx&. LB! to ]iwot(0+ xl&`3,''x x&`3'', Q'% Q% 3Q'x
B
2age &`
8/20/2019 seagate diagnostic command.odt
21/45
NN 8ead Long om cent tacI
1 * +ector to read Yincluding (( +yndrome bytesZB
t 8etns nmGe o BFAsical sectos Be tacI o tFe cent tacI B
UnsleeB.
$akes the drive up, spins it up and makes it come ready.
B
vNNAA ite(8ead(ComBae
11 F +tarting sector on each track Ydefault ``Zyy F ]umber of sectors to write%read Ydefault is number remaining on trackZ.
B
NN ite Long to cent tacI
11 F +ector to write Yincluding (( +yndrome bytesZ
B
N SFo Jone ?ondaies B
A SFo 8etA Contes B
HN SleeB.
1 not sent * +tandby Mode, +pin down, park heads, power off channel and pre*amp.1 _ 3 * +leep Mode, in addition to above the buffer is powered down. Te-uires a
power cycle to recover from this mode.
B
`NNNN +et sector per track for the entire drive. 1111 * sector per track "his command is strictly for engineering puprposes only. Use at own risk
B
bNNNNAAHH / * isplay current skew information and first sector ne1t to inde1 1111 _ (! followed by yy and to set skew. 1111 _ ! , perform write gate timing test. estructive command
yy _ head skew _ cylinder skew
• "his command is strictly for engineering puprposes only. Use at own risk.
1amples)3. 2erform jQ%j&h error test
&/! cr
&. isplay skew information &/ cr
(+kew _ 3j 0skew _ 3Q (ur+kew _ ̀ `Q #d1+ec _ `3j
Q. +et 0ead+kew_` and (yl+kew_3&/(!,`,3 cr
(+kew _ 3 0skew _ ` (ur+kew _ ```` #d1+ec _ ````
. isplay +2L#"(]"&/3! cr&+plit _ ``( [ sector 3! has split at byte (h
&/3( cr&+plit _ ```` [ sector 3( has no split
B
2age &3
8/20/2019 seagate diagnostic command.odt
22/45
2.! L*9*L 3 C&++,'DSX Sevo SeeIing Commands
#n the ‘!vailability’ column, a ‘'’, ‘(’ and ‘B’ indicate the command is available at ‘'actory (ode’, ‘(ustomer(ode’ and ‘Both codes’ respectively. Besides, a ‘2’, ‘+’, and ‘’ denote the command is available only if the code is
compiled in ‘2ackwriter Mode’, ‘+ervo Mode’ and ‘+pecial Mode’ respectively.
Command DesciBtion ,vail.
! Set Test SBaceTefer to ‘(ommon (ommand’ section for detail information
B
B /aBFic To[e ConstantMeasures !cceleration (onstant across entire pack and graphs the results.
'
CNNNNAAAA ,cceleation Constant +easement Test
1111 * # cylinder limit for test yyyy * W cylinder limit for test
ote: &&&& ' yyyy
B
DNN AA HHHH ,ccess Times +easement#f bit of yy is `, then do normal access time test11 ) 3Z 11_no entry, the access time test is on different seek length &Z 11_`, Tandom seek QZ others, 11 denote as a seek lengthyy ) 3Z yy_no entry, assume yy_` &Z yy bit` determines settling type zbit `{ _ `, denotes read settling zbit `{ _ 3, denotes write settling QZ yy bit3 determines seek direction Y not valid for random seekZ zbit 3{ _ 3, seek from Td$rMin(yl to Td$rMa1(yl zbit 3{ _ 3, seek from Td$rMa1(yl to Td$rMin(yl ) specify the loop count Y default%no entry _ ``hZ
#f bit of yy is 3, then do head switch test at particular track 11 ) denotes the track where head switch will be doneyy ) bit` determines settling type
zbit `{ _ `, denotes read settling zbit `{ _ 3, denotes write settling ) specify the loop count Ydefault%no entry _ ``hZ
B
*NNNN isplay%dit (ertLogTefer level & for more detail information.
B
/NNNNAA Tanslate \eN to /aA
1111 F (ylinder number to translate to rayyy F servo oneyy _ ` , access servo band 3j&
yy _ 3 , access servo band 3j&
B
\N \ead Select
1 * head to selectB
]AAHH Sevo Settle@\ead SitcF &set Test
yy * test cylinder Ycurrent cylinder if no value enteredZ * settling limit Ydefault _ headqskewZ
B
2age &&
8/20/2019 seagate diagnostic command.odt
23/45
6NNAAHH \ead Settling Time
11 F Wfftrack disturbance amplitudeyy F"rack nos Ydefault_Z F +tart 0ead nos. Ydefault_`Z
B
LNN LooB. See tFe same command in Level 2 B
+NNAA ,ctato &Ben(looB +ove
11 * !( output value Yma1_3''' 0e1Zyy * !( control value Yrive specificZYBit `_ ` for in, Bit `_3 for outZ
'
&NNNNAAAAHHHH SeeI(SeeI on cent FeadX
'or 1y, use read settle. 1y, use write settle. 1111 * (ylinder to seek. efault) Min(yl yyyy * (ylinder to seek to. efault) Ma1(yl * ]umber of seeks to perform. efault) jQj cycle. ]ote) #f ‘(0!]`3Qq``’ switch is not enabled, it perform normal seek*seek only.
B
7NNNNAAAA (ert$rite Tead1111 F'irst sector Ydefault_`Zyyyy F"ransfer length Ydefault_full trackZ
B
8NNAAAAHH 8ead/eA
11 F` read for 3 sector[ not ` read for 3track.yyyy Fesired track Fesired sector
B
SNNNNAAHHHH SeeI CAl@\ead.
1111 * "arget cylinder number yy * esired destination head. #f the most significant bit is set, the
command will seek to the physical cylinder number specified in the first parameter[ else, the seek will be to the logical cylinder
* "rack follow offset. +igned 3j bit integer
B
T Sevo CaliGations B
UN SBin(UB
1 F ` _ +pin up with no hold states
3 _ advance hold state & _ release all hold state Q _ hold in warm up state
_ hold in bu state _ hold in pre*lock statej _ hold in lock state
all other _ no hold state change
B
,ctato@8ead EFAsical /eA B
; \Asteesis
2erforms 0ysteresis test across the entire pack and displays the results graphically. #naddition the inward seek integrator value is plotted.
_ 0ysteresis valueo _ *#ntegrator value1 _ #ntegrator value ]ote) #ntegrator values are scaled , % .
B
J SBin(Don B
gNNNNAA Tanslate /aA to \eN
1111 * ray code value to translate to (ylinder number yy * +ervo one
yy _ ` , access servo band 3j&yy _ 3 , access servo band 3j&
B
2age &Q
8/20/2019 seagate diagnostic command.odt
24/45
8/20/2019 seagate diagnostic command.odt
25/45
2." L*9*L 4 C&++,'DSX Sevo TacIing Commands
#n the ‘!vailability’ column, a ‘'’, ‘(’ and ‘B’ indicate the command is available at ‘'actory (ode’, ‘(ustomer(ode’ and ‘Both codes’ respectively. Besides, a ‘(’, ‘2’ and ‘+’ denote the command is available only if the code is
compiled in ‘(ert mode’, ‘2ackwriter mode’ and ‘+ervo Mode’ respectively.
Command DesciBtion,vail.
?NNAA SE(J,E Test. ScFedled(Eaamete )(88& ComBensation to acFieve J,E J,EX
Jeo(,cceleation(EatF5
'ormat) B11z,yy{nter) B efault . +how TTW4!2 status
B` efault. +how TTW4!2 statusB11 +2*4!2 actions
11_ 3 * Learn TTW4!2 table and compensatefrom it. (lear table before learning
11_ 3 * Master lock status. "oggles between normal TTW 4!2operation and ‘freeing’ the status to always compensating fromthe ram table.
11_ & * +et x(ompx on and x'rm"blx on.11_ Q * +et x(ompx on and x'rm"blx off.11_ * +et x(ompx off and x'rm"blx off.11_ * (lear TTW4!2 table.11_ j * +ame as x3x but with pure !(#mage11_ * isplay TTW4!2 "able
]ote) no yy when 11 is &,Q,,,.yy, the number of learning iterations Ydefault) &Z.
+
v DisBlaA 88& J,E taGle
isplay the TTW 4!2 values in the ram table
CNNAAAAaaHH TacIing Test.
(hecks the current track for missing sector marks, bad gray codes, position errors greaterthan the test threshold, and position errors greater than the write threshold.
11 * "est threshold setting yyyy * 2osition settle delay * Loop count for each track aa * 4ap enable flag Yif non*eroZ
'
*NNAAHH DisBlaA ,ctive Log.
+ee %& for further detail.'
NNAAHH SeeI Settle ,daBtation Test ,ll Jones5
11 * 0ead nos. "est on single head with head nos. entered. ]o entry%default will be testedon all heads.
yy * +eek Length Yefault _ 3`h, Ma1 _ `hZ * ]os of average count. Yefault _ &`hZ
]ote ) (ompensation count for each head after this test will be stored into system log andupload during initial spin*up.
', +
/NN Set TacIing@SeeI /ain
11 * "racking gain value to set Ydefault is to display current gainZ.'
\N Select \ead N '
6NN Sevo &set
11 * Wffset Ysigned, *bit integerZ'
LNN See level 3 L command '
2age &
8/20/2019 seagate diagnostic command.odt
26/45
+NNAA ,ctato &Ben(looB +ove
11 * !( output value yy * !( control value Yrive specificZ
'
& DisBlaA +8 &set o tFe cent Fead and tacI. B
EN Eosition *o DisBlaA o cent tacI.
1 _ 3 * Loop until ne1t keyboard entry _ ̀ * YefaultZ 2erform one pass
'
SNNNNAAHHHH SeeI CAl@\ead
1111 * (ylinder number yy * esired destination head. #f the most significant bit is set, the command will seekto the physical cylinder number specified in the first parameter[ else, the seek will be to thelogical cylinder. * "rack follow offset. +igned 3j bit integer
'
,ctato '
:n "o get accumulate 2+ and velocitywhen n_`Yor defaultZ,1amine 2osition Bursts Yif n _ 3, it shows only accumulated 2+%rev
and accumulated velocity 2+%revZ
'
JNN JaB Sevo ?st NN o tFe cent tacI. '
ill SIiBBed CAlindes '&T )+EL*+*'T*D5 '
BNNNNAAAAHHHH DisBlaA SBin *o
11 F"est control bit ` ) +et loop bit 3 ) "rap on threshold violation bit & ) 3 _ +pin speed error%servo burst ` _ +pin speed error%rev bit Q ) +pin speed step to normalyyyy F"hreshold setting F+pin speed offset in .3| incr , this is used when bit Q is set.
'
[NNNN CFange SBin SBeed
1111 F+pin speed offset in .3| incr.
B
t CFange TFesFold
t` F set normal thresholdt3 F set loose threshold for bode sweep
+
NccccFF SIiB CAlinde ccccO SIiB \ead FF
#f cccc / FF omitted, +kipped (ylinder and hd will be listed'
HccccFF UnsIiB SIiBBed CAlindes5 \ead
cccc _ (ylinder to unskip_ ffffh unskip all skipped cylinders_ YdefaultZ display skip cylinder list
hh _ 0ead to unskip
'
i E*S DT '
I Eeom 8esonance )dentiication Simila to cettest5 'lNNAAAA DisBlaA 8esonance )dentiication eslts. !lso can change test ( result in T!MYwill not be
saved to diskZ. "o perform above*mentioned change, 11 is the logical head number, whileyyyy is the value to be changed to.
'
2age &j
8/20/2019 seagate diagnostic command.odt
27/45
mNAAAAHHHH Sel?ode command
1*` openloop bode & plant bode controller bodeyyyy* bode starting fre-uency actual fre-uencyY0Z%Ybase fre-uency%Z* bode end fre-uency actual fre-uencyY0Z%Ybase fre-uency%Z
Ybase fre-uency_Y3%time per revZ in 0
'
2age &
8/20/2019 seagate diagnostic command.odt
28/45
2.# L*9*L ! C&++,'DSX ?atcF ile Commands
#n the ‘!vailability’ column, a ‘'’, ‘(’ and ‘B’ indicate the command is available at ‘'actory (ode’, ‘(ustomer(ode’ and ‘Both codes’ respectively. Besides, a ‘2’, ‘+’, and ‘’ denote the command is available only if the code is
compiled in ‘2ackwriter Mode’, ‘+ervo Mode’ and ‘+pecial Mode’ respectively.
+ee also the common commands 0 Z and . "hese commands define the batch file flow control.
Command DesciBtion ,vail.
8n ?atcF ile
1 * Batch file number Ydefault _ current batch buffer contentsZ.B
DN List ?atcF ile B
*N *nte ?atcF ile B
2age &
8/20/2019 seagate diagnostic command.odt
29/45
2.$ L*9*L " C&++,'DSX 8ead CFannel ,daBtive Commands
"hese commands provide tools for determining and modifying the read%write channel adaptive parameters.
#n the ‘!vailability’ column, a ‘'’, ‘(’ and ‘B’ indicate the command is available at ‘'actory (ode’, ‘(ustomer(ode’ and ‘Both codes’ respectively. Besides, a ‘2’, ‘+’, and ‘’ denote the command is available only if the code iscompiled in ‘2ackwriter Mode’, ‘+ervo Mode’ and ‘+pecial Mode’ respectively.
Command DesciBtion ,vail.
B11,yy See same command in Level 2 '
CNNAAHH See same command in Level 2 '
DNN DisBlaA TemBeate Diode 9ales
11 _ when entered will force diode values to be saved to system sectors'
*NNAA See same command in Level 2 '
\N Select \ead N '
)NNAAHH DisBlaA@+odiA ,daBtive Settings o tFe Cent \ead
Yno parametersZ F isplay current head’s adaptive values11 _ one number if 11 _ the number of ones then modify all onesyy _ parameter number to modify _ value to assign to parameter yy
'
]NNAAaaGGm
mnn$rite(urrent% (apacity tuning
if yy _ 3, capacity tuning
11 _ wc tune start point
yy _ wc total test points
aa _ write current weightage
bb _ tune test one
mm _ first bpi stress point
nn _ last bpi stress point
else, write current tuning
11 _) Bit _ 3 _ forced de*type tuning
yy _ `3
_ ` _ normal capacity tuning
Bit j _ 3 _ de*fre-uency disable
_ ` _ de*fre-uency enable
Bit _ 3 _ de*pop disable
_ ` _ de*pop enable
Bit * ` _ range of the left / right limits of -uick tuning
_ ````` _ -uick tuning off
aa _) Bit _ 3 _ bits j * ` rep. | range allow of ` to 3`` allow for B2# errors
bb _ tune test one
Bit _ ` _ bits j * ` rep. | range allow of `.`` to `. allow for B2# errors
mm _ first bpi stress point
nn _ last bpi stress point
'
LNN See same command in Level 2 '
2age &
8/20/2019 seagate diagnostic command.odt
30/45
'NNAAaaGGm
mnn
,daBtive Test
11 * start point of tuning range for $2 or left range for '(yy * total points in tuning range for $2 or right range for '(aa * parameter select
3 * $rite pre*compensations Y$2Z
& * Boost fre-uency and 're-uency cutoff Y'('BZ
bb - upper nibble)start one, lower nibble)end onemm * start point of tuning range Yapplicable for '('B onlyZnn * total points in tuning range Yapplicable for '('B onlyZ
mm and nn are only applicable to '('B tuning. "uned value is updated in T!M.
'
&FHde 8ead@ite Coase &set CaliGation
h * 0ead number Ydefault _ head `Z * 4one number Ydefault _ allZ if _ number of ones then calibration is done at the # of the last one. if _ number of ones 3 then W of one ` is calibrated
"uning is done using the V! mode. !nd ff indicate the de * first data rough gain to use ff * last data rough gain to use
Best offset value is updated in T!M.
'
ENNNNAAHH Set ?e Eatten
1111 * 2attern to write into buffer. efault) Tandom data.yy * Length Yin bitsZ of repeat pattern on non*random data Ydefault _ 3`hZ ** Buffer number Yno entry _ entire $rite BufferZ
'
7NNAA ite@8ead@8ead Data
11 * +tart sector on each track yy * ]umber of sectors to transfer Ylimited to sectors remaining on trackZ.
'
8NNAA 8ead Data
11 * +tart sector number Ydefault _ ̀ Zyy * ]umber of sectors to read Ydefault _ remaining of sectors on this trackZ
'
SNNNNAAHHHH SeeI CAl@\ead.
1111 * (ylinder number yy * esired destination head. #f the most significant bit is set, the command will+eek to the physical cylinder number specified in the first parameter[ else, the seek will be tothe logical cylinder
* "rack follow offset. +igned 3j bit integer
'
NNAA ind and Set )8
11 F one, yy Fhead'
g Tning Sevo ,/C Beset vale
g F display the average servo V! of current track g,& F tune the servo !( preset value of all heads at the M
'
2age Q`
8/20/2019 seagate diagnostic command.odt
31/45
NNAA ite Data
11 * +tarting sector on each track Ydefault is ``Z yy F ]umber of sectors to write Ydefault is remainder of trackZ
'
;NNAAHHaa Set etA. See same command in Level 2 '
J SBin Don Command '
dNA 8eset ,daBtives to tFe Dealt Settings
1 * 4one ]umber Ydefault _ current oneZ if 1 _ number of ones then reset all onesy * 0ead ]umber Ydefault _ current headZ if y _ number of heads then reset all headsf * 'lag. #f f is entered, the head offset values are reset instead of thechannel adaptives Ydefault is channel adaptivesZ.
'
e SFo diagnostic eo conte in tFe ,tlantis D),/*88C'T5 '
\ 8ead ite sae stats 1 om /C# ,DST,T egiste '
+how head resistance '
B Set Baametes o 8ead @ ite oBeation Becedes i command5. '
sNNAAHH Send ?Ate to 8ead CFannel o EeamB o sBindle@9C+ contolle cFiB
ww * Tegister !ddress
11 * ataz)`{yy * ata z3){ * chip selector
if yy _````, write ata z)`{ to preamp if yy _```3, write ata z)`{ to channel if yy _```Q, write ata z)`{ to spindle%V(M controller chip if _`, write ata z3)`{ to spindle%V(M controller chip
'
tNNH /et Data om 8ead CFannel o EeamB o sBindle@9C+ contolle cFiB
11 * Tegister address * if _` read from 2reamp shadow T!M
* if _3 read from read channel directly* if _& read from 2reamp directly Y'or packwriter mode onlyZ. * if _Q read bit data from spindle%V(M controller chip * if _ read 3j bit data from spindle%V(M controller image
'
N SFo Jone ?ondaies '
2age Q3
8/20/2019 seagate diagnostic command.odt
32/45
2.1 L*9*L # C&++,'DSX EacI ite Commands
2ack writer commands are not available in normal firmware release. "he firmware must be specially generated. !llthe !" interface commands will not be available in 2ack $riter code too.
#n the ‘!vailability’ column, a ‘'’, ‘(’ and ‘B’ indicate the command is available at ‘'actory (ode’, ‘(ustomer(ode’ and ‘Both codes’ respectively. Besides, a ‘2’, ‘+’, and ‘’ denote the command is available only if the code iscompiled in ‘2ackwriter Mode’, ‘+ervo Mode’ and ‘+pecial Mode’ respectively.
Command DesciBtion ,vail
! Set Test SBaceTefer to ‘(ommon (ommand’ section for detail information
B,2,+
?NN Set ead Fead ?ias
11 _ MT read head bias Y` _ j m!, 3' _ 3m!Z2
CNNAAAAHHHH *Necte tFe sevo diagnostic sG commands
11 _ diagnostic number yyyy _ optional diagnostic parameter _ optional diagnostic parameter
2,B,+
CNNNNA 'le1 bias cal
1111 _ optional cylinder y _ optional head
C2NNNNAAAA +et access display and reset rate masks
1111 _ optional display rate mask
yyyy _ optional reset rate mask
C3NNNNAAAA +et min and ma1 cylinder limits
1111 _ min cylinder yyyy _ ma1 cylinder
C4llFFAAAA !cceleration constant cal
hh _ optional seek lengthll _ optional headyyyy _ optional cylinder
CNNNNA +et seek delay
1111 _ seek delay in servo burstsy _ Y3_ force slow settleZ
C"NNNN 0ead switch up and down the stack 1111 _ optional cylinder Ydefault _ current cylinderZ'ast or slow settle seek employed depends on (` setting
2age Q&
8/20/2019 seagate diagnostic command.odt
33/45
C#N Tandom seeks1 _ optional heads only'ast or slow settle seek employed depends on (` setting
C$NNNNAAAA +eek to and from inward and outward within the min and ma1 cylinder limits
1111 _ optional seek length Ydefault _ 3Zyyyy _ optional cylinder Ydefault _ current cylinderZ'ast or slow settle seek employed depends on (` setting
C,NNNNAAAA +eek to and back inward and outward within the min and ma1 cylinder limits
1111 _ optional ma1 seek length Ydefault _ ma1 lengthZyyyy _ optional min seek length Ydefault _ 3Z'ast or slow settle seek employed depends on (` setting
C?NNNNA Ser$entine see(s inwar! u$ an! !own t)e )ea! stac( wit)in t)e in an! axcylin!er
1111 _ optional cylinder Ydefault _ current cylinderZy _ optional head Ydefault _ current headZ'ast or slow settle seek employed depends on (` setting
P
CCNNNNAAAA +eek to seek between cylinders
1111 _ optional 3st cylinder Ydefault _ min cylinderZyyyy _ optional &nd cylinder Ydefault _ ma1 cylinderZ'ast or slow settle seek employed depends on (` setting
CDNNNNAAAA 0ead to head between heads on the same cylinder
1111 _ optional 3st head Ydefault _ head `Z
yyyy _ optional &nd head Ydefault _ heads*3Z'ast or slow settle seek employed depends on (` setting
C*NNNNAAAA +et servo gains1111 _ ayyyy _ optional tf
CNNNNA ncode cylinder% decode gray code
1111 _ optional cylinder or gray code Ydefault _ current cylinder%gray codeZy _ Y` _ encode, 3 _ decodeZ
C1NNNN Tadial 0ead +witch Wffset "est.
1111_ optional cylinder for head switch ]ote) (0!]+``3q`3 W] to perform both "angential and radial head switch test 'ast seetle seek employed
2age QQ
8/20/2019 seagate diagnostic command.odt
34/45
C11NNNNAAAA 0ead lineariation
1111 _ of iterations, of lineriation range for average ``11 _ of lineraie range eg. _ 3) %* L#]!T#4T!] _ &) %* L#]!T#4T!]&
11`` _ of iterations for lineariation, 3& only effective if yyyy)bit` _ ` default 1111 _ `!`hyyyy _ calibration options bit ` F `) performance lineariation 3) measure WL gain only bit 3 F `) silent mode during lineariation 3) display gains profile and lineariation coefficients while doing head
lineariation. Wnly effective when bit ` _ ̀ bit & F `) all heads 3) current head only bit Q F 3) display head linearied coefficients only bit F 3) clear head gain coefficient default yyyy _ `
]ote) +low settle seek employed
C12NNAA Tun out compensation
C1NNNN (hange write threshold1111 _ enter a new write threshold
C1!NN isable prediction stuffing on apped servo samples11 _ ` _ allow stuffs 3 _ diable stuffs
C1# 2erform !ll +ervo (alibration
C1,NNNNAA Measure raw 2+ avg.1111 _ optional nos. of 2+ samples taken at each sector for averaging Ydefault_3``Zyy _ desired sector 2+ to display Y ` if not entered, default _ inde1 Z
Wutput format Yin word valueZ )aaaa bbbb cccc ddddeeee ffff gggg hhhhwhere,aaaa _ !ve Y!*BZ at desired sector bbbb _ !ve Y(*Z at desired sectorcccc _ Wverall ave Y!*BZ of all revs taken
dddd _ Wverall ave Y(*Z of all revs takeneeee _ Min Y!*BZffff _ Ma1 Y!*BZgggg _ Min Y(*Zhhhh _ Ma1 Y(*Z
]ote ) "his command is enabled by turn on MeasureqTawq2+ switch
2age Q
8/20/2019 seagate diagnostic command.odt
35/45
C1?NNNNAA Measure single track 2+ with repetitive nos.1111 _ optional cylinder Y default _ current cylinderZ1111 _ ` * measure 2+ and !(. Wutput will be in two columns first being 2+ and
second being !(.yy _ nos of time to repeat Y default nos _3 Z
Wutput format Yin word valueZ)! signed value of 2+ at every sector will be displayed and the first output will be 2+value at #nde1 burst. !fter one rev have been displayed, a carriage return will be invoked.
]ote ) "his command is enabled by turn on Measureq+ingleq2+ switch
C1CNNNNAAAA Measure raw ]Y!*BZ and \Y(*Z values with repetitive nos.1111 F optional cylinder Ydefault is the current cylinderZyy F no of times to repeat Ydefault is 3``Z
Wutput format) ] and \ will be displayed and the first output is inde1 burst. !fter one rev, a carriagereturn will be invoked.
]ote) "his command is enabled when M!+UTq+#]LT!$q2+ is turned on.C) isplay servo calibration data
C23NNNN Measure TTW on +"$1111 _ optional of samples Ydefault _ 3``Z ]ote ) "his command is enabled with M!+UTq2+ switch is on.
C24NNNN Measure 2+ synchronously at every sector on present trk and compute 2+ avgand +igma^&
1111 _ optional of samples Ydefault _ 3``Z ]ote ) "his command is enabled with M!+UTq2+ switch is on.
C2NNNN "o display (& measurement results at every sector
]ote ) "his command is enabled with M!+UTq2+ switch is on.
C2"NNNN Tamp !(s1111 _ enter the !( peak ramp value Yefault _ 3`hZ
C2#NNN $rite servo !(s111 _ 3& bit signed value
C2$NNAA +eek +ettle !daptation on single track 11 F +eek length Y default _ 3 Zyy F ]os. of average count Y default _ 3 Z yy _ '''', to display resonance screen resultsY settling timeZ yy _ ''', to display compensation results
yy _ ''', to clear the compensation table
]ote ) "he results will not store into sys log. #t is enabled by turn on+q+""Lq!!2" +witch.
', +
2age Q
8/20/2019 seagate diagnostic command.odt
36/45
C2,NNAA +ease seeI settling o T+8 Gdgeting
11 _ no of rev Ydefault _ 3Zyy _ settling type, ` denotes read settling and 3 denotes write settling
Wutput format Yin double word valueZ)! signed value of 2+ at every sector will be displayed and the first output will be 2+
value at #nde1 burst. !fter one rev have been displayed, a carriage return is invoked.
]ote ) this command is enabled when switch "MTq+q+"L is turned W].
C2? Save Sevo Eaametes ?ias TaGle 6a TaGle \ead LineaiHation /ain
C2C 8etieve Sevo Eaametes ?ias TaGle 6a TaGle \ead LineaiHation /ain
D1 8ead and disBlaA seial nmGe a data. '
D 8ead seial nmGe om \D,. TFis ̂ is itten GA BacI ite.
#t will be logged to reserve 3 area.2,+
D*1 8ead seial nmGe om \D,. TFis ̂ is itten GA BacI ite.
#t will not be logged to reserve 3 area.
(ancun packwriter _ cccc hh bb oooo ff cccc _ ma1 cylinder Ye1cluding guard band cylindersZhh _ ma1 head number bb _ number of burstsoooo _ oscillator clocks per burstsff _ oscillator fre-uency in M0
2,+
* LocI SBin *Ntenal 2
/NNNN Set SBin /ain
1111 _ spin gain Y```h defaultZ2
\N Select Fead diectlA
1 _ head number Y`..Z
2
)NNNN EsF()nad ,ctato
1111 _ 3& bit !( command2
]NNNN SBin SBeed ,dst
1111 _ signed number of timer ticks Yfe`` .. `&``Z2
]NNAAHH SeeI Settle ,daBtation Test
+imilar to level , ' command e1cept the results are store into T!M table instead ofsystem log.
', +,
6 ,dded tacI oset in tacI ollo state 2
L UnimBlemented 2
+ )ncement \ead cent Fead Y 15 2
2age Qj
8/20/2019 seagate diagnostic command.odt
37/45
' 8eBot Logical SBin State
`` _ reset`3 _ fault`& _ initialie`Q _ stopped
` _ spindown` _ spinup`j _ wait Yheld need referZ` _ open loop Ylost referZ` _ close loop Yfound referZ` _ ready Yspinning at speedZ3` _ busy YrecoveryZ33 _ invalid
2
&N +essage DisBlaA
1 _ ` is display output off, 3 is display output on YdefaultZ.2
ENNNN EsF(&t ,ctato
1111 _ 3& bit !( command2
7N 8ead cFannel
1 _ ` is channel off, 3 _ channel on2
8NNNN 8ead /aA Code
1111 _ e1pected gray code2
SNNNNAAHHHH SeeI CAl@\ead
1111 * (ylinder number yy * esired destination head. #f the most significant bit is set, thecommand will seek to the physical cylinder number specified in the first parameter[ else,the seek will be to the logical cylinder
* "rack follow offset. +igned 3j bit integer
2,+
SNNNNAAAA ComBa[ slam test
1111 _ vel to slam Y recommended ma1 _ 'h Zyyyy _ determines dir of the slam test and whether to do the slam test or not. Bit 3` set indicates do the test[ not set indicates don’t do the test Bit 33 set indicates a # crash stop slam[ not set indicates a W crash stop slam ]ote ) "his command is enabled by turn on +L!Mq"+" switch
UNN SBin(UB +oto
11 hold stateYoptionalZ2
9N SBin(UB
1 _ actuator bias direction, Y` _ outward, 3 _ inwardZ
2
NN Set ite Cent
11 _ preamp write current2
: ,C nlatcF o FigF latcF oce \,D 2
J SBin(Don 2
2age Q
8/20/2019 seagate diagnostic command.odt
38/45
Set GanI ite mode
+ets the preamp write bank mode on%off and sets the write current.f _ 3 bank write W]_ ` bank write W''ww _ write current register value.
2
g )+8&' signal BolaitA
Teturns a `3 if the #MTW] preamp signal is active high and a `` if active low.2
2age Q
8/20/2019 seagate diagnostic command.odt
39/45
2.11 L*9*L $ C&++,'DSX ll sliBBing @ Deect(SIiB +ode
Basically level supports all commands in level &. "he only difference is all defects are skipped. "here is no changein command parameters passing e1cept the sector number will be treated as logical sector. (ylinder and headnumber remained the same as in level &.
1ample)
#f a physical track consists of 3& sectors and Q of them are defects, then in level & $ would mean writing 3§ors. 0owever in level $ would mean writing sectors since Q sectors has been skipped.
$&, in level & means writing to physical sector &,Q,, Yphysical sector &,Q,,Z.$&, in level means writing to logical sector &,Q,, Yphysical sector &,Q,j,Z.
#n summary all sector representation in level are in defect skip mode.
]ote) ue to LB! seeding, if there’s a defect slip in level & sector , then sector and above cannot be read by level& command anymore if it has been written in level .
Level 2: physical sector number
0 1 2 3 4 5 6 7 8 10 11
0 1 2 3 4 5 6 7 8
Level : lo!ical sector number
#n the ‘!vailability’ column, a ‘'’, ‘(’ and ‘B’ indicate the command is available at ‘'actory (ode’, ‘(ustomer(ode’ and ‘Both codes’ respectively.
Command DesciBtions ,vail.
8NNAA 8ead Data.
11 * +tart logical sector number Ydefault _ ̀ Zyy * ]umber of sectors to read . efault_whole track
8NNAA1 8ead Data itF level $ eassignment &'.
11 * +tart logical sector number Ydefault _ ̀ Zyy * ]umber of sectors to read . efault_whole track 3 * a ‘3’ indicate level reassignment turn W]
B
2age Q
8/20/2019 seagate diagnostic command.odt
40/45
SNNNNAA SeeI CAl@\ead.
1111 * 2hysical cylinder number Yas in Level &Zyy * 2hysical head number. Yas in Level &Z
B
NNAA ite Data.
11 * +tart logical sector number Ydefault _ ̀ Zyy * ]umber of sectors to write. efault_whole track
NNAA1 ite Data itF level $ eassignment tn &'.
11 * +tart logical sector number Ydefault _ ̀ Zyy * ]umber of sectors to write. efault_whole track 3 * a ‘3’ indicate level reassignment turn W]
B
NNA )nsetion b Deletion o Deects
'11,! * )nset eassignment at secto NN.NN? * #nsert pending at sector 11.C * Temove all reassignment and pending entries in defect table.
'11,,yy * )nset AA sliB at secto NN* * Teinitialie defect tableNN * elete pending at sector 11. * "o allow media test.1 * "o fail media test. * "o check for drive reboot
B
t 8etns nmGe o logical sectos Be tacI o tFe cent tacI
"his command is useful when an error is encountered and the host sofware wants to figureout which sector is the one in error. "he host issues this command to find out thesector%track and then read single sector one by one from Y`..ma1qsecqperqtrack F 3Z
B
ff SBBot all otFe commands as in Level 2 B
2age `
8/20/2019 seagate diagnostic command.odt
41/45
,BBendiN ,X *o Codes
``h ]o error
`Qh Bad TWM (T(
3`h TTW fail 4!2 code
33h +pin error
3&h Wscillatory wavy 2+
3Qh Wfftrack
3h $rite fault
3h Velocity 2+ harmonics
3jh +eek timeout
3h false !M" Ymis*timedZ
3h Bad burst error code
3h Bad grey code
3ah arly sync code
3bh Missed am
3ch 'ailed the servo defect screen threshold3dh "ime out waiting for servo ready Yapprov. secZ
3eh "arget generator sector error
3fh 2hysical sector error
&`h T$' init error
&3h T$' file incompatible with (urrent TWM code
Q`h ata miscompare
Q3h ata miscompare on read longs
Qjh 2ending block encountered during a write
Qh 2ending block encountered and read successfully
Qh 2ending block encountered and read failed
`h #d not found
3h Long (( error correction code
&h Missed servo sector mark
Qh ataecc error
h 'ifo over%underrun
h "rack # miscompare error
jh "rack # read "W code
h Missed data sync byte Y3st data fragmentZ
h Missed data sync byte Yafter splitted fragmentZ
h "hermal asperity code
ah $rite integrity error
bh rror log full
ch (ontroller stopped without a reason
dh +d counter not the e1pected value
eh Block release timeout error fh +ervo assist error
`h +kipped sector
3h !lternated sector
&h 2ad and fill defects
Qh 2ad%fill is alt dst, realt source
h rror during scratchfill
h Bad alt dest # info
jh Unable to find valid alt dest
2age 3
8/20/2019 seagate diagnostic command.odt
42/45
h Unable to delete alt dest
h "oo many defects per head
h "oo many defects per track
ah "oo many defects per drive
bh efect table full
ch +lips overflowed
dh #nvalid defect entryeh 2adding of data region of apped burst
j`h ]o spares available
Qh Unable to read defect sectors code
j3h $rite blocked w%o a reason
j&h $rite gate came on early
jQh $rite gate went off late
jh ( thermal sensor fault detected
jh +hock sensor fault detected
jjh +cratch ram protection error
`h Bad disk resident cert%diag code
3h Unable to read system sectors code
&h Unable to read packwriter auto*stamp
Qh #nvalid command
dh (ylinder filled in
eh (ylinder skipped out
fh Ma1 cylinder skips has been reached
`h 4apped burst
3h & consecutive apped bursts
&h "oo many apped bursts on a track
Qh Unable to ap * & consecutive bad bursts
h Unable to ap * too many bad bursts on a track
h Unable to ap bad burst
h (ouldnt find burst
h "imeout waiting for r%w
!`h 2reamp miscommunication(3h $rong maXor%minor version error
(&h $rong engr version error
(Qh 'ile sie mismatch error
(h L checksum _ ̀ error
(h !utoL upload error
(jh $rong overlay flag dat in byte ,
(h Tead3(p checksum_` error
(h 1ceed ma1 key defined for L
(h rror during reading resv
(ah rror comparing +ignature
(bh efect map se-uence error
'bh efect unspared
'ch (ommand aborted Yinternal onlyZ
'dh T%$ command reXected
'eh #nvalid address passed to ]iwot
2age &
8/20/2019 seagate diagnostic command.odt
43/45
,BBendiN ?X &nline Command DisBlaA DesciBtions
Statistics *is$lay *escri$tion"+'
$hen the drive is running diagnostic commands, certain statistics are logged and may be displayed while operationsare in process. +tatistics for each head are displayed in decilog form. Ye.g. 3`.Q _ 3`3`.Q _ &13`3`Z
Tbit "his column displays the number of bits read in decilog.
0ard "his column displays the hard error rate for reads using the specified retry options. Y#fno retries are selected any error is a hard errorZ. !ny error displayed to the terminalusing the level & T or \ commands will be counted in the hard error rate.
'irm
+oft
Taw
Thdr
$bit "his column displays the number of bits written in decilog.
$0rd "his column displays the hard error rate for writes using the specified retry options. Y#fno retries are selected any error is a hard errorZ. !ny error displayed to the terminalusing the level & $ or \ commands will be counted in the hard error rate.
$rty
$hdr
2age Q
8/20/2019 seagate diagnostic command.odt
44/45
,BBendiN CX Sevo +essage Tacing
M++! "T!(#] LVL+)
("TL W will be used to set tracing to one of levels. ach ("TL W will step to the ne1t level as defined below.
LVL +` +3 '#]#"#W]` ` ` ]o error or offtrack tracing enabled3 ` 3 rror tracing enabled Y!ll but offtrack errors will be reportedZ& 3 ` Wfftrack tracing enabled Y Wfftrack errors during "' will be reportedZQ 3 3 Both offtrack and error tracing enabled
M++! +(T#2"#W] W' M++!+"T!(#]+"T#]+
Y }.Z rror 3 missed !M Y, prev cyl, present cyl, offset, head, sectorZ
Y s}. Z rror rror recovery seek Y s, prev cyl, present cyl, offset, head, sectorZ
Y ot}Z Wfftrack Broke write thld during "' Y ot, , prev cyl, present cyl, offset, head, sectorZ
Y bs}Z rror Bad sample Ybs, grey code, prev cyl, present cyl, offset, head, sectorZ
ref byte !lways +pin up current measured across spin Tsense during spin up.M++! +(T#2"#W] W' M++!+"T!(#]+"T#]+
+witch to}. !lways +witch to full int. spining closed loop on !M’s
Teady !lways +pin up complete
M++! "T!(#] +(T#2"#W](0!T!("T LVL+
!lways Q missed !M’s in a row
!lways #nde1 found on wrong burst twice in a row
! rror !M time out during spin up W]L
4 rror 4TW crossing time out during spin up W]L
* rror Motor commutation table pointer was ]W" advanced during spin up W]L
rror Motor commutation table pointer was advanced during spin up W]L.
2age
8/20/2019 seagate diagnostic command.odt
45/45
,BBendiN DX \ealtF ?its Deininitions
"he health byte is in the following format) . "he first nibbles are the (urrent 0ealth Bit and the last are the !ccumulated 0ealth Bits.
"he bits in the health byte description follows)
?it ^
i 15
+eaning ?it ^
i 15
+eaning
3 1cessive +kips or !lts Yinternal use* abort test flagZ
3 0ardware rror j not assigned
3Q +erious T%$ rror notassigned
3& rror Tate 0ealth not assigned
33 Wfftrack rror Q T%$ $arning
3` !ctuator rror & Unable to !ssign +kip or !lt
+ervo rror 3 +pin (urrent $arning
+pin rror ` +pin rror uring +eek