Article: KB-043

Software Layers Overview

StorKit consists of the following essential software layers:

OS abstraction: This layer provides the abstraction for OS storage protocols. It is the wrap-around over system storage I/O. It manages the logic and interaction with system storage I/O. It manages request and response buffers, interprets raw response from OS I/O layer and provides actionable data to the application.

Hardware abstraction: abstracts your application from different storage interfaces (NVMe, SATA, SCSI).

Delegates: They are functions that simplify further how your application interacts with storage. By using StorKit delegates, your application can interact with storage in just a few lines of code. StorKit delegates handle all logic. The following delegates are available: Core delegate, security delegate and test delegate.

Functional Block Diagram

StorKit delegates are C++ function calls. These function calls are blocking functions call. When your application calls these methods, it will be blocked until the system IO layer respond. In case of error, the StorKit layer will timeout and return with an error code. StorKit interprets returned data, and your application can retrieve the data it needs. No need for your application to understand raw data buffers and parse through them.