]> CyberLeo.Net >> Repos - FreeBSD/releng/8.0.git/blob - share/man/man4/ata.4
Adjust to reflect 8.0-RELEASE.
[FreeBSD/releng/8.0.git] / share / man / man4 / ata.4
1 .\"
2 .\" Copyright (c) 2003 Søren Schmidt <sos@FreeBSD.org>
3 .\" All rights reserved.
4 .\"
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
7 .\" are met:
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\"    notice, this list of conditions and the following disclaimer,
10 .\"    without modification, immediately at the beginning of the file.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\" 3. The name of the author may not be used to endorse or promote products
15 .\"    derived from this software without specific prior written permission.
16 .\"
17 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 .\"
28 .\" $FreeBSD$
29 .\"
30 .Dd June 24, 2009
31 .Dt ATA 4
32 .Os
33 .Sh NAME
34 .Nm ata ,
35 .Nm ar ,
36 .Nm acd ,
37 .Nm ad ,
38 .Nm afd ,
39 .Nm ast
40 .Nd generic ATA/ATAPI disk controller driver
41 .Sh SYNOPSIS
42 For ISA based ATA/ATAPI support:
43 .Cd device isa
44 .Cd device ata
45 .Pp
46 In
47 .Pa /boot/device.hints :
48 .Cd hint.ata.0.at="isa"
49 .Cd hint.ata.0.port="0x1f0"
50 .Cd hint.ata.0.irq="14"
51 .Cd hint.ata.1.at="isa"
52 .Cd hint.ata.1.port="0x170"
53 .Cd hint.ata.1.irq="15"
54 .Pp
55 For PC98 based ATA/ATAPI support:
56 .Cd device isa
57 .Cd device ata
58 .Pp
59 In
60 .Pa /boot/device.hints :
61 .Cd hint.atacbus.0.at="isa"
62 .Cd hint.atacbus.0.port="0x640"
63 .Cd hint.atacbus.0.irq="9"
64 .Pp
65 For PCI based ATA/ATAPI support:
66 .Cd device pci
67 .Cd device ata
68 .Pp
69 To support ATA compliant disk drives:
70 .Cd device atadisk
71 .Pp
72 To support ATA software RAID's:
73 .Cd device ataraid
74 .Pp
75 To support ATAPI CDROM, DVD and CD/DVD burner drives:
76 .Cd device atapicd
77 .Pp
78 To support ATAPI floppy drives:
79 .Cd device atapifd
80 .Pp
81 To support ATAPI tape drives:
82 .Cd device atapist
83 .Pp
84 The following tunables are settable from the loader:
85 .Bl -ohang
86 .It Va hw.ata.ata_dma
87 set to 1 for DMA access, 0 for PIO (default is DMA).
88 .It Va hw.ata.ata_dma_check_80pin
89 set to 0 to disable the 80pin cable check (default is 1, check the cable) 
90 .It Va hw.ata.atapi_dma
91 set to 1 for DMA access, 0 for PIO (default is DMA).
92 .It Va hw.ata.wc
93 set to 1 to enable Write Caching, 0 to disable (default is enabled).
94 .Em WARNING :
95 can cause data loss on power failures and crashes.
96 .It Va hint.atapci.X.msi
97 set to 1 to allow Message Signalled Interrupts (MSI) to be used by
98 specified PCI ATA controller, if supported.
99 .It Va hint.ata.X.pm_level
100 controls SATA interface Power Management for specified channel,
101 allowing to save some power by the cost of additional command latency.
102 Possible values:
103 .Bl -tag -compact
104 .It 0
105 interface Power Management is disabled, default value.
106 .It 1
107 device is allowed to initiate PM state change, host is passive.
108 .It 2
109 host initiates PARTIAL PM state transition every time port becomes idle.
110 .It 3
111 host initiates SLUMBER PM state transition every time port becomes idle.
112 .El
113 Modes 2 and 3 are implemented only for AHCI driver now.
114 .El
115 .Sh DESCRIPTION
116 The
117 .Nm
118 driver provides access to ATA (IDE) and SerialATA disk drives,
119 ATAPI CDROM/DVD drives, ZIP/LS120 ATAPI drives and ATAPI tape drives
120 connected to controllers according to the ATA/ATAPI standards.
121 .Pp
122 The currently supported ATA/SATA controller chips are:
123 .Pp
124 .Bl -tag -width "Silicon Image:" -compact
125 .It Acard:
126 ATP850P, ATP860A, ATP860R, ATP865A, ATP865R.
127 .It ALI:
128 M5229, M5281, M5287, M5288, M5289.
129 .It AMD:
130 AMD756, AMD766, AMD768, AMD8111, CS5536.
131 .It ATI:
132 IXP200, IXP300, IXP400.
133 .It CMD:
134 CMD646, CMD646U2, CMD648, CMD649.
135 .It Cypress:
136 Cypress 82C693.
137 .It Cyrix:
138 Cyrix 5530.
139 .It HighPoint:
140 HPT302, HPT366, HPT368, HPT370, HPT371, HPT372, HPT372N, HPT374.
141 .It Intel:
142 6300ESB, 31244, PIIX, PIIX3, PIIX4, ESB2, ICH, ICH0, ICH2, ICH3, ICH4, ICH5, ICH6, ICH7, ICH8, ICH9, ICH10.
143 .It ITE:
144 IT8211F, IT8212F, IT8213F.
145 .It JMicron:
146 JMB360, JMB361, JMB363, JMB365, JMB366, JMB368.
147 .It Marvell
148 88SX5040, 88SX5041, 88SX5080, 88SX5081, 88SX6041, 88SX6081, 88SX6101, 88SX6141.
149 .It National:
150 SC1100.
151 .It NetCell:
152 NC3000, NC5000.
153 .It nVidia:
154 nForce, nForce2, nForce2 MCP, nForce3, nForce3 MCP, nForce3 Pro, nForce4.
155 .It Promise:
156 PDC20246, PDC20262, PDC20263, PDC20265, PDC20267, PDC20268, PDC20269, PDC20270, PDC20271, PDC20275, PDC20276, PDC20277, PDC20318, PDC20319, PDC20371, PDC20375, PDC20376, PDC20377, PDC20378, PDC20379, PDC20571, PDC20575, PDC20579, PDC20580, PDC20617, PDC20618, PDC20619, PDC20620, PDC20621, PDC20622, PDC40518, PDC40519, PDC40718, PDC40719.
157 .It ServerWorks:
158 HT1000, ROSB4, CSB5, CSB6, K2, Frodo4, Frodo8.
159 .It Silicon Image:
160 SiI0680, SiI3112, SiI3114, SiI3124, SiI3132, SiI3512.
161 .It SiS:
162 SIS180, SIS181, SIS182, SIS5513, SIS530, SIS540, SIS550, SIS620, SIS630, SIS630S, SIS633, SIS635, SIS730, SIS733, SIS735, SIS745, SIS961, SIS962, SIS963, SIS964, SIS965.
163 .It VIA:
164 VT6410, VT6420, VT6421, VT82C586, VT82C586B, VT82C596, VT82C596B, VT82C686, VT82C686A, VT82C686B, VT8231, VT8233, VT8233A, VT8233C, VT8235, VT8237, VT8237A, VT8237S, VT8251.
165 .El
166 .Pp
167 Unknown ATA chipsets are supported in PIO modes, and if the standard
168 busmaster DMA registers are present and contain valid setup, DMA is
169 also enabled, although the max mode is limited to UDMA33, as it is
170 not known what the chipset can do and how to program it.
171 .Pp
172 The
173 .Nm
174 driver can change the transfer mode and various other parameters
175 when the system is up and running.
176 See
177 .Xr atacontrol 8 .
178 .Pp
179 The
180 .Nm
181 driver sets the maximum transfer mode supported by the hardware as default.
182 However the
183 .Nm
184 driver sometimes warns:
185 .Dq Sy "DMA limited to UDMA33, non-ATA66 cable or device".
186 This means that
187 the
188 .Nm
189 driver has detected that the required 80 conductor cable is not present
190 or could not be detected properly,
191 or that one of the devices on the channel only accepts up
192 to UDMA2/ATA33.
193 The
194 .Va hw.ata.ata_dma_check_80pin
195 tunable can be set to 0 to disable this check.
196 .Pp
197 Unknown ATAPI devices are initialized to DMA mode if the
198 .Va hw.ata.atapi_dma
199 tunable is set to 1 and they support at least UDMA33 transfers.
200 Otherwise they are set to PIO mode because severe DMA problems are
201 common even if the device capabilities indicate support.
202 You can always try to set DMA mode on an ATAPI device using
203 .Xr atacontrol 8 ,
204 but be aware that your hardware might
205 .Em not
206 support it and can potentially
207 .Em hang
208 the entire system causing data loss.
209 .Sh FILES
210 .Bl -tag -width ".Pa /sys/i386/conf/GENERIC" -compact
211 .It Pa /dev/ad*
212 ATA disk device nodes
213 .It Pa /dev/ar*
214 ATA RAID device nodes
215 .It Pa /dev/acd*
216 ATAPI CD-ROM device nodes
217 .It Pa /dev/afd*
218 ATAPI floppy drive device nodes
219 .It Pa /dev/ast*
220 ATAPI tape drive device nodes
221 .It Pa /sys/i386/conf/GENERIC
222 sample generic kernel config file for
223 .Nm
224 based systems
225 .El
226 .Sh NOTES
227 Please remember that in order to use UDMA4/ATA66 and above modes you
228 .Em must
229 use 80 conductor cables.
230 Please assure that ribbon cables are no longer than 45cm.
231 In case of rounded ATA cables, the length depends on the
232 quality of the cables.
233 SATA cables can be up to 1m long according to the specification.
234 .Pp
235 Static device numbering
236 (enabled with the
237 .Dv ATA_STATIC_ID
238 kernel option)
239 reserves a number for each possibly connected disk,
240 even when not present.
241 This is useful in hotswap scenarios
242 where disks should always show up as the same numbered device,
243 and not depend on attach order.
244 .Pp
245 Native Command Queuing (NCQ) on SATA drives is not yet supported.
246 .Sh SEE ALSO
247 .Xr ataraid 4 ,
248 .Xr atacontrol 8 ,
249 .Xr burncd 8
250 .Sh HISTORY
251 The
252 .Nm
253 driver first appeared in
254 .Fx 4.0 .
255 .Sh AUTHORS
256 .An S\(/oren Schmidt
257 .Aq sos@FreeBSD.org .