-
Notifications
You must be signed in to change notification settings - Fork 13
4.5. OX Installation
OX v2.x can be installed and tested following the commands below. We have tested on Linux Ubuntu 16.x and 18.x.
Note: You may run OX using a x86 machine and a localhost connection for testing.
Installation:
Possible Ubuntu packages:
$ sudo apt-get install cmake libreadline6 libreadline6-dev
Install OX:
$ git clone https://github.com/DFC-OpenSource/ox-ctrl.git
$ cd ox-ctrl
$ mkdir build
$ cd build
$ cmake -DVOLT_GB=<4,8,16,32,64> .. (If you are using DRAM backend, set -DVOLT_GB accordingly)
$ sudo make install
Localhost Testing:
- Open 2 terminals.
First terminal:
$ cd <ox-ctrl>/build
$ ./ox-ctrl-nvme-volt start
Wait until you see OX startup
Try some commands:
> help
> show memory
> show io
> show gc
> show cp
> debug on
> debug off
> show mq status
> exit (if you want to close OX)
Second terminal:
$ cd <ox-ctrl>/build
Write something to your OX device:
(Here you are writing BLKS 4K-blocks starting from block SLBA)
$ ./ox-test-nvme-thput-w <SLBA> <BLKS>
(Here you are writing 10000 4K-blocks starting from block 1)
$ ./ox-test-nvme-thput-w 1 10000
Read what you wrote:
$ ./ox-test-nvme-thput-r 1 10000
You may type 'show io' in the first terminal while running the tests for runtime statistics.
OX v1.4 only works with 2 NAND modules installed in the slots M1 and M3. A DDR Media Manager may be included in the next releases. For proper DFC setup, please refer to LS2_iSSD_USER_MANUAL_A00-06.pdf available in the EMC iSSD Community repository under the folder iSSD_release_V02.02.01/Documents.
OX must be cross-compiled using the SDK available in the EMC iSSD Community repository under the folder iSSD_release_V03.00.00. However, the OX code contains the binaries already compiled in the follow paths:
<OX_root>/bin/dfc_fpga_3_01_00/ox-ctrl
<OX_root>/bin/dfc_fpga_3_01_00/ox-ctrl-test
<OX_root>/bin/dfc_fpga_3_01_00/rootfs_03.00.00_ox.sqsh
The Makefile creates 2 binaries (ox-ctrl and ox-ctrl-test). ox-ctrl is a essential-only binary for a production environment. ox-ctrl-test is a complete binary including all tests and administration mode. The rootfs is also included. WE RECOMMEND THE USE OF ROOTFS. After upgrading the rootfs firmware using the upgrade.sh script included in the last rootfs, you can run OX only typing 'ox-ctrl' or 'ox-ctrl-test’ in the DFC prompt.
IMPORTANT: If you decide to copy the OX binaries to the DFC and run it, please make sure the last issd-nvme controller is not started (the normal boot with the last rootfs starts the issd-nvme).
Created by Ivan L. Picoli
Home
1.1 Introduction (OX v1.4)
1.2 Introduction (OX v2.x)
2. Open Channel SSDs
3. LightNVM
4. OX Controller
4.1. OX Libraries (OX v2.x)
4.2. The LNVM FTL (OX v1.4)
4.3. DFC Implementation
4.4. I/O Flow (OX v1.4)
4.5. OX Installation
5.1. OX Commands (OX v1.4)
5.2. OX Commands (OX v2.x)
6. OX Logs
7. OX-App: A Framework for Application-specific FTLs
7.1. OX-Block: The AppNVM full-fledged FTL
7.1.1. Overview
7.1.2. Bad Block Table
7.1.3. Block Metadata
7.1.4. Provisioning
7.1.5. Logical/physical mapping
7.1.6. Back-end PPA I/O
7.1.7. Front-end LBA I/O
7.1.8. Garbage collection
7.1.9. GC configuration