This module is now fairly simple, and might well be regarded as part of the SSKM. It sequesters a large amount of system RAM for use by the NMS system, and it maintains a hash table that maps GPIs to the location of the corresponding data page in RAM, as well as a cached copy of the corresponding metadata. The primary function of the SSCM is to make it possible for the CSKM to determine as quickly as possible whether a data page associated with a particular GPI is currently resident in RAM on this server.
The SSCM also provides ioctl() calls that the SSD can invoke to cause the transfer of data pages between main memory and backing store.
The SSCM only caches metadata for pages currently in RAM. This permits, e.g. permissions and sanity checking to occur in the SSKM before issuing a data page in response to a client request. The master copy of the metadata for all pages is held in a database maintained by the SSD. The SSD keeps this metadata up-to-date by processing events generated by the CSKM when data pages arrive.
The SSD provides the following
ioctl() to the SSD:
The SSD provides the following procedural interface to the SSKM: