Xbox One X: Which hard drive to use? When to use the development SSD vs. the retail hard drive

Xbox One X dev kits contain the same 1TB hard drive that is in retail Xbox One X consoles, along with a very fast 1TB NVMe SSD. By default, the 1TB NVMe SSD is used for title deployment and for the System and Title scratch drives.

These hard drives are intended for use as follows:

You can change the default drive for deployment in Settings in Developer Home on the Console (Dev Home), Xbox One Manager, or Xbox Device Portal (Windows Device Portal on Xbox).

You can explicitly select a hard drive as a deployment target using the /Drive option on xbapp deploy, xbapp install, and xbdeploy push. See Application Management (xbapp.exe) and Deploy (xbdeploy.exe) for more details.

Retail hard drive performance considerations for custom tools

The retail hard drive is highly optimized for retail I/O scenarios. These scenarios include:

Based on our in-depth research and validation, we are confident that the retail drive will give optimal performance for all retail game scenarios. However, the retail drive has not been optimized for sustained concurrent random writes of large amounts of data, as this is not a retail scenario. If you author a development tool that writes large amounts of data to the retail hard drive without ensuring that those writes are sequential, you will likely see slower performance on the retail hard drive of the Xbox One X dev kit than you would on an Xbox One or Xbox One S hard drive.

We know that many developers have custom tool chains that write data to the console hard drive. Such tools will continue to function when the title is running on the SSD, but might exhibit poor performance when running on the retail hard drive. For example, it is likely that you will see slower performance when using a tool to deploy a large game to the retail hard drive if any of the following conditions are true:

The simplest way to avoid this performance issue is to use the SSD for day-to-day development and use the retail hard drive only for testing retail I/O performance of packaged builds. You can also avoid this performance issue by using the tooling that shipped in the June 2017 or later XDK because we have updated XTF and the XB command-line tools to avoid this issue (remember that you can install the Tools SDK to update the tools even if you are using an older XDK).

If you do use custom tooling to write to the retail hard drive, you should ensure that tooling does not use buffered File I/O (see File Buffering) and does not write large amounts of data concurrently to the hard drive (for example, by using multiple I/O threads).