VirtualBox

source: vbox/trunk/doc/manual/en_US/dita/topics/harddiskcontrollers.dita@ 99797

Last change on this file since 99797 was 99797, checked in by vboxsync, 19 months ago

Docs: bugref:10302. Merging changes from the docs team. Almost exclusively conkeyref related stuff.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 13.7 KB
Line 
1<?xml version='1.0' encoding='UTF-8'?>
2<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
3<topic xml:lang="en-us" id="harddiskcontrollers">
4 <title>Hard Disk Controllers</title>
5
6 <body>
7 <p>
8 In a computing device, hard disks and CD/DVD drives are connected
9 to a device called a hard disk controller, which drives hard disk
10 operation and data transfers. <ph conkeyref="vbox-conkeyref-phrases/product-name"/> can emulate the most
11 common types of hard disk controllers typically found in computing
12 devices: IDE, SATA (AHCI), SCSI, SAS, USB-based, NVMe and
13 virtio-scsi mass storage devices.
14 </p>
15 <ul>
16 <li>
17 <p><b outputclass="bold">IDE (ATA)</b> controllers are a
18 backwards-compatible yet very advanced extension of the disk
19 controller in the IBM PC/AT (1984). Initially, this interface
20 worked only with hard disks, but was later extended to also
21 support CD-ROM drives and other types of removable media. In
22 physical PCs, this standard uses flat ribbon parallel cables
23 with 40 or 80 wires. Each such cable can connect two devices,
24 called device 0 and device 1, to a controller. Typical PCs had
25 two connectors for such cables. As a result, support for up to
26 four IDE devices was most common: primary device 0, primary
27 device 1, secondary device 0, and secondary device 1.
28 </p>
29 <p>
30 In <ph conkeyref="vbox-conkeyref-phrases/product-name"/>, each virtual machine may have one IDE
31 controller enabled, which gives you up to four virtual storage
32 devices that you can attach to the machine. By default, one of
33 these virtual storage devices, device 0 on the secondary
34 channel, is preconfigured to be the virtual machine's virtual
35 CD/DVD drive. However, you can change the default setting.
36 </p>
37 <p>
38 Even if your guest OS has no support for SCSI or SATA devices,
39 it should always be able to see an IDE controller.
40 </p>
41 <p>
42 You can also select which exact type of IDE controller
43 hardware <ph conkeyref="vbox-conkeyref-phrases/product-name"/> should present to the virtual machine:
44 PIIX3, PIIX4, or ICH6. This makes no difference in terms of
45 performance, but if you import a virtual machine from another
46 virtualization product, the OS in that machine may expect a
47 particular controller type and crash if it is not found.
48 </p>
49 <p>
50 After you have created a new virtual machine with the
51 <b outputclass="bold">New Virtual Machine</b> wizard in
52 <ph conkeyref="vbox-conkeyref-phrases/vbox-mgr"/>, you will typically see one IDE controller in the
53 machine's <b outputclass="bold">Storage</b> settings.
54 The virtual CD/DVD drive will be attached to one of the four
55 ports of this controller.
56 </p>
57 </li>
58 <li>
59 <p><b outputclass="bold">Serial ATA (SATA)</b> is a more
60 recent standard than IDE. Compared to IDE, it supports both
61 much higher speeds and more devices per controller. Also, with
62 physical hardware, devices can be added and removed while the
63 system is running. The standard interface for SATA controllers
64 is called Advanced Host Controller Interface (AHCI).
65 </p>
66 <p>
67 Like a real SATA controller, <ph conkeyref="vbox-conkeyref-phrases/product-name"/>'s virtual SATA
68 controller operates faster and also consumes fewer CPU
69 resources than the virtual IDE controller. Also, this enables
70 you to connect up to 30 virtual hard disks to one machine
71 instead of just three, when compared to the <ph conkeyref="vbox-conkeyref-phrases/product-name"/> IDE
72 controller with a DVD drive attached.
73 </p>
74 <p>
75 For this reason, depending on the selected guest OS,
76 <ph conkeyref="vbox-conkeyref-phrases/product-name"/> uses SATA as the default for newly created
77 virtual machines. One virtual SATA controller is created by
78 default, and the default disk that is created with a new VM is
79 attached to this controller.
80 </p>
81 <note type="attention">
82 <p>
83 The entire SATA controller and the virtual disks attached to
84 it, including those in IDE compatibility mode, will not be
85 seen by OSes that do not have device support for AHCI. In
86 particular, <i>there is no support for AHCI in
87 Windows versions before Windows Vista</i>. Legacy
88 Windows versions such as Windows XP, even with SP3
89 installed, will not see such disks unless you install
90 additional drivers. It is possible to switch from IDE to
91 SATA after installation by installing the SATA drivers and
92 changing the controller type in the VM
93 <b outputclass="bold">Settings</b> window.
94 </p>
95 <p>
96 <ph conkeyref="vbox-conkeyref-phrases/product-name"/> recommends the Intel Matrix Storage drivers,
97 which can be downloaded from
98 <ph>http://downloadcenter.intel.com/Product_Filter.aspx?ProductID=2101</ph>.
99 </p>
100 </note>
101 <p>
102 To add a SATA controller to a machine for which it has not
103 been enabled by default, either because it was created by an
104 earlier version of <ph conkeyref="vbox-conkeyref-phrases/product-name"/>, or because SATA is not
105 supported by default by the selected guest OS, do the
106 following. Go to the <b outputclass="bold">Storage</b>
107 page of the machine's
108 <b outputclass="bold">Settings</b> window, click
109 <b outputclass="bold">Add Controller</b> under the
110 Storage Tree box and then select <b outputclass="bold">Add
111 SATA Controller</b>. The new controller appears as a
112 separate PCI device in the virtual machine, and you can add
113 virtual disks to it.
114 </p>
115 <p>
116 To change the IDE compatibility mode settings for the SATA controller, see <xref
117 href="vboxmanage-storagectl.dita"/>.
118 </p>
119 </li>
120 <li>
121 <p><b outputclass="bold">SCSI</b> is another established
122 industry standard, standing for Small Computer System
123 Interface. SCSI is as a generic interface for data transfer
124 between all kinds of devices, including storage devices. SCSI
125 is still used for connecting some hard disks and tape devices,
126 but it has mostly been displaced in commodity hardware. It is
127 still in common use in high-performance workstations and
128 servers.
129 </p>
130 <p>
131 Primarily for compatibility with other virtualization
132 software, <ph conkeyref="vbox-conkeyref-phrases/product-name"/> optionally supports LSI Logic and
133 BusLogic SCSI controllers, to each of which up to fifteen
134 virtual hard disks can be attached.
135 </p>
136 <p>
137 To enable a SCSI controller, on the
138 <b outputclass="bold">Storage</b> page of a virtual
139 machine's <b outputclass="bold">Settings</b> window,
140 click <b outputclass="bold">Add Controller</b> under
141 the Storage Tree box and then select <b outputclass="bold">Add
142 SCSI Controller</b>. The new controller appears as a
143 separate PCI device in the virtual machine.
144 </p>
145 <note type="attention">
146 <p>
147 As with the other controller types, a SCSI controller will
148 only be seen by OSes with device support for it. Windows
149 2003 and later ships with drivers for the LSI Logic
150 controller, while Windows NT 4.0 and Windows 2000 ships with
151 drivers for the BusLogic controller. Windows XP ships with
152 drivers for neither.
153 </p>
154 </note>
155 </li>
156 <li>
157 <p><b outputclass="bold">Serial Attached SCSI (SAS)</b> is
158 another bus standard which uses the SCSI command set. As
159 opposed to SCSI physical devices, serial cables are used
160 instead of parallel cables. This simplifies physical device
161 connections. In some ways, therefore, SAS is to SCSI what SATA
162 is to IDE: it enables more reliable and faster connections.
163 </p>
164 <p>
165 To support high-end guests which require SAS controllers,
166 <ph conkeyref="vbox-conkeyref-phrases/product-name"/> emulates a LSI Logic SAS controller, which can
167 be enabled much the same way as a SCSI controller. At this
168 time, up to 255 devices can be connected to the SAS
169 controller.
170 </p>
171 <note type="attention">
172 <p>
173 As with SATA, the SAS controller will only be seen by OSes
174 with device support for it. In particular, <i>there
175 is no support for SAS in Windows before Windows
176 Vista</i>. So Windows XP, even SP3, will not see such
177 disks unless you install additional drivers.
178 </p>
179 </note>
180 </li>
181 <li>
182 <p>
183 The <b outputclass="bold">USB mass storage device
184 class</b> is a standard to connect external storage
185 devices like hard disks or flash drives to a host through USB.
186 All major OSes support these devices and ship generic drivers
187 making third-party drivers superfluous. In particular, legacy
188 OSes without support for SATA controllers may benefit from USB
189 mass storage devices.
190 </p>
191 <p>
192 The virtual USB storage controller offered by <ph conkeyref="vbox-conkeyref-phrases/product-name"/>
193 works differently to the other storage controller types. While
194 most storage controllers appear as a single PCI device to the
195 guest with multiple disks attached to it, the USB-based
196 storage controller does not appear as virtual storage
197 controller. Each disk attached to the controller appears as a
198 dedicated USB device to the guest.
199 </p>
200 <note type="attention">
201 <p>
202 Booting from drives attached using USB is only supported
203 when EFI is used as the BIOS lacks USB support.
204 </p>
205 </note>
206 </li>
207 <li>
208 <p><b outputclass="bold">Non volatile memory express
209 (NVMe)</b> is a standard for connecting non volatile
210 memory (NVM) directly over PCI Express to lift the bandwidth
211 limitation of the previously used SATA protocol for
212 solid-state devices. Unlike other standards the command set is
213 very simple in order to achieve maximum throughput and is not
214 compatible with ATA or SCSI. OSes need to support NVMe devices
215 to make use of them. For example, Windows 8.1 added native
216 NVMe support. For Windows 7, native support was added with an
217 update.
218 </p>
219 <p>
220 The NVMe controller is part of the extension pack.
221 </p>
222 <note type="attention">
223 <p>
224 Booting from drives attached using NVMe is only supported
225 when EFI is used as the BIOS lacks the appropriate driver.
226 </p>
227 </note>
228 </li>
229 <li>
230 <p><b outputclass="bold">Virtual I/O Device SCSI</b> is a
231 standard to connect virtual storage devices like hard disks or
232 optical drives to a VM. Recent Linux and Windows versions
233 support these devices, but Windows needs additional drivers.
234 Currently virtio-scsi controller support is experimental.
235 </p>
236 <note type="attention">
237 <p>
238 The virtio-scsi controller will only be seen by OSes with
239 device support for it. In particular, <i>there is no
240 built-in support in Windows</i>. So Windows will not
241 see such disks unless you install additional drivers.
242 </p>
243 </note>
244 </li>
245 </ul>
246 <p>
247 In summary, <ph conkeyref="vbox-conkeyref-phrases/product-name"/> gives you the following categories of
248 virtual storage slots:
249 </p>
250 <ul>
251 <li>
252 <p>
253 Four slots attached to the traditional IDE controller, which
254 are always present. One of these is typically a virtual CD/DVD
255 drive.
256 </p>
257 </li>
258 <li>
259 <p>
260 30 slots attached to the SATA controller, if enabled and
261 supported by the guest OS.
262 </p>
263 </li>
264 <li>
265 <p>
266 15 slots attached to the SCSI controller, if enabled and
267 supported by the guest OS.
268 </p>
269 </li>
270 <li>
271 <p>
272 Up to 255 slots attached to the SAS controller, if enabled and
273 supported by the guest OS.
274 </p>
275 </li>
276 <li>
277 <p>
278 Eight slots attached to the virtual USB controller, if enabled
279 and supported by the guest OS.
280 </p>
281 </li>
282 <li>
283 <p>
284 Up to 255 slots attached to the NVMe controller, if enabled
285 and supported by the guest OS.
286 </p>
287 </li>
288 <li>
289 <p>
290 Up to 256 slots attached to the virtio-scsi controller, if
291 enabled and supported by the guest OS.
292 </p>
293 </li>
294 </ul>
295 <p>
296 Given this large choice of storage controllers, you may not know
297 which one to choose. In general, you should avoid IDE unless it is
298 the only controller supported by your guest. Whether you use SATA,
299 SCSI, or SAS does not make any real difference. The variety of
300 controllers is only supplied by <ph conkeyref="vbox-conkeyref-phrases/product-name"/> for compatibility
301 with existing hardware and other hypervisors.
302 </p>
303 </body>
304
305</topic>
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette