Skip to content
Ivan Picoli edited this page Aug 20, 2019 · 36 revisions

Refer to my PhD Thesis for a full description of OX System:
OX PhD Thesis by Ivan Picoli

Table of Contents:

1.1. Introduction (OX v1.4)

1.2. Introduction (OX v2.x)

2. Open-Channel SSDs
Figure 1. Solid-State Drive Geometry

3. LightNVM
Figure 2. LightNVM Ecosystem (Matias Bjørling, 2016)

4. OX Controller
Figure 3. OX Controller Layers

4.1. OX Libraries (OX v2.x)

4.2. The LNVM FTL (OX v1.4)
Figure 4. NVMe to MMGR I/O Translation
Table 1. nvm_io_cmd Fields
Table 2. nvm_mmgr_io_cmd Fields

4.3. DFC Implementation
Table 3. Latest DFC firmware tested with OX

4.4. I/O Flow (OX v1.4)
Figure 5. OX I/O Command Flow

4.5. OX Installation

5.1. OX Commands (OX v1.4)
Start and Debug
Admin
Tests

5.2. OX Commands (OX v2.x)
Binary Commands
Runtime Commands

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
Figure 6: FTL Global View

7.1.2. Bad Block Table (Module 1)
Figure 7: Bad Block Table layout

7.1.3. Block Metadata (Module 2)
Figure 8: Block Metadata layout

7.1.4. Provisioning (Modules 3 and 4)
Figure 9: Channel Provisioning design
Figure 10: Global Provisioning design

7.1.5. Logical to physical mapping (Modules 5 and 6)
Figure 11: Mapping Strategy

7.1.6. Back-end PPA I/O (Module 7)
Figure 12: Read LPIO command flow

7.1.7. Front-end LBA I/O (Module 8)
Figure 13: Read and write path at the front-end

7.1.8. Garbage collection (GC) (Module 9)
Figure 14: Channel-based GC strategy

7.1.9. GC configuration