# Terminology

> Real-Time Database. The term "real-time database" is sometimes used to describe systems that process data quickly enough for immediate response. In this manual, real-time refers to the stricter definition: deadline-aware databases with schedulers that enforce timing constraints, suitable for mission-critical use with an RTOS.

> Deterministic Database. A deterministic real-time database guarantees that each transaction completes—either commit or rollback—within a set deadline. Transactions that would miss the deadline are interrupted and rolled back in time to ensure the system remains recoverable.

> Transaction Deadline: The time allocated by the application for a database transaction to complete. If the deadline expires before the transaction finishes, the database kernel returns control to the application. The deadline is specified as a parameter in the real-time start transaction function and is measured in milliseconds.

> Cancellation Point: A checkpoint in the transaction’s control flow where the database kernel verifies the remaining time before the deadline. If the deadline has expired, the kernel interrupts the transaction and begins rollback if necessary.

> Lag: The delay between when the deadline expires and when the transaction returns control to the application. This lag consists of:

> - The time between consecutive cancellation points
> - The time needed to unwind the call stack
> - The time required to return the `MCO_E_INTERRUPTED` error to the application

> A Flash Translation Layer (FTL) is a software or firmware layer that manages block mapping, wear leveling, garbage collection, and error correction on NAND flash memory, allowing it to function like a traditional block storage device.

> A managed flash device is a flash storage medium, such as SSD, eMMC, or UFS, that includes an integrated Flash Translation Layer (FTL) and controller, handling wear leveling, garbage collection, and error correction internally, making it appear as a standard block device to the operating system.

> An unmanaged flash device is a raw NAND or NOR flash memory that lacks an integrated Flash Translation Layer (FTL) and controller, requiring the application or operating system to handle wear leveling, bad block management, and error correction directly.