APPLICATION DIRECT ACCESS TO SATA DRIVE
A networked database management system (DBMS) and supporting infrastructure is disclosed. At least one application in the disclose DBMS can directly access a pinned RDMA buffer for network reads. In addition, an application can directly access pinned DMA buffer for drive reads. The nodes of the DBMS are configured in a particular configuration to aid in high speed accesses. In addition, all data is stored in register width fields, or integer multiples thereof. Finally, at least one application in the disclosed DBMS system includes a drive access class. The drive access class includes a NVME drive access subclass and a SATA drive access subclass. The NVME drive access subclass allows the application to directly access NVME drives without making an operating system call, while the SATA drive access subclass allows the application to directly access SATA drives without making an operating system call.
1 . A node in a database management system, the node comprising:
a) a drive controller;
b) an application including a drive access class;
c) a plurality of pinned, fixed-size memory buffers allocated by the application;
d) a drive;
e) wherein the application establishes a queue of the pinned, fixed-size memory buffers;
f) wherein the application dequeues a single entry from the queue;
g) wherein the application directly accesses the drive controller using the drive access class; and
h) wherein the application reads data from the drive into the single entry using the drive access class.
2 . The node of claim 1 wherein the drive controller is a SATA drive controller, the drive access class is a SATA drive access class, and the drive is a SATA drive.
3 . The node of claim 1 wherein the drive controller is a NVME drive controller, the drive access class is a NVME drive access class, and the drive is a NVME drive.
4 . The node of claim 1 wherein the pinned memory buffers are each an RDMA memory buffer.
5 . The node of claim 1 further comprising a network interface controller, and wherein the network interface card is adapted to receive data into one of the fixed size entries creating a filled data entry.
6 . The node of claim 5 wherein the application writes the data from the filled data entry to the drive using the drive access class.
7 . A node in a database management system, the node comprising:
a) a drive controller;
b) an application including a drive access class;
c) a plurality of pinned, fixed-size memory buffers allocated by the application;
d) a drive;
e) wherein the application establishes a queue of the pinned, fixed-size memory buffers;
f) wherein the application dequeues a single entry from the queue;
g) wherein the application directly accesses the drive controller using the drive access class; and
h) wherein the application fills the single entry with data and writes the single entry to the drive using the drive access class.
8 . The node of claim 7 wherein the drive controller is a SATA drive controller, the drive access class is a SATA drive access class, and the drive is a SATA drive.
9 . The node of claim 7 wherein the drive controller is a NVME drive controller, the drive access class is a NVME drive access class, and the drive is a NVME drive.