Skip to main content

Solid State Drive Ontology

Computer Hardware
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 01 October 2026
Audio Overview
AI SEARCH

FLOW ALGEBRA — SOLID STATE DRIVE ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/computer-hardware/solid-state-drive-ontology.html

FLOW SOLID_STATE_DRIVE_ONTOLOGY {

  META {
    DOMAIN = "Computing Ontologies"
    SUBDOMAIN = "Computer Hardware"
    ONTOLOGY = "Solid State Drive Ontology"
    PURPOSE = "Formalise solid-state drive components, NAND flash organisation, logical-to-physical mapping, read/write/erase operations, garbage collection, wear levelling, endurance, performance and health relationships."
    LOCALE = "en-GB"
  }

  ENTITY_TYPES {
    SOLID_STATE_DRIVE
    SSD
    STORAGE_DEVICE
    NON_VOLATILE_STORAGE
    FLASH_STORAGE
    SATA_SSD
    NVME_SSD
    PCIE_SSD
    NAND_FLASH
    NAND_DIE
    NAND_PLANE
    NAND_BLOCK
    NAND_PAGE
    FLASH_CELL
    SLC
    MLC
    TLC
    QLC
    PLC
    SSD_CONTROLLER
    FLASH_TRANSLATION_LAYER
    FTL
    DRAM_CACHE
    SLC_CACHE
    BUFFER
    INTERFACE
    SATA
    NVME
    PCIE
    LOGICAL_BLOCK_ADDRESS
    PHYSICAL_BLOCK_ADDRESS
    PHYSICAL_PAGE
    DATA
    READ_OPERATION
    WRITE_OPERATION
    PROGRAM_OPERATION
    ERASE_OPERATION
    TRIM_OPERATION
    FLUSH_OPERATION
    GARBAGE_COLLECTION
    WEAR_LEVELLING
    OVER_PROVISIONING
    BAD_BLOCK
    SPARE_BLOCK
    QUEUE
    COMMAND
    REQUEST
    RESPONSE
    CAPACITY
    USABLE_CAPACITY
    LATENCY
    THROUGHPUT
    BANDWIDTH
    IOPS
    QUEUE_DEPTH
    ENDURANCE
    PROGRAM_ERASE_CYCLE
    TBW
    DWPD
    WRITE_AMPLIFICATION
    ERROR
    BIT_ERROR
    ECC
    ERROR_CORRECTION
    SMART_DATA
    HEALTH_STATE
    TEMPERATURE
    POWER
    THERMAL_THROTTLING
    STATE
    EVENT
    FIRMWARE
    FIRMWARE_VERSION
    CONFIGURATION
    HARDWARE_REVISION
    PERFORMANCE_METRIC
    EVIDENCE
    CONFIDENCE_SCORE
    PROVENANCE_RECORD
  }

  RELATIONSHIPS {
    IS_A
    INSTANCE_OF
    PART_OF
    CONTAINS
    HAS_CONTROLLER
    HAS_NAND
    HAS_DIE
    HAS_PLANE
    HAS_BLOCK
    HAS_PAGE
    HAS_CELL
    HAS_CACHE
    HAS_BUFFER
    HAS_INTERFACE
    MAPS_TO
    STORES
    READS
    WRITES
    PROGRAMS
    ERASES
    TRIMS
    FLUSHES
    COLLECTS
    RELOCATES
    LEVELS_WEAR_ACROSS
    REMAPS
    QUEUES
    TRANSFERS
    HAS_CAPACITY
    HAS_USABLE_CAPACITY
    HAS_LATENCY
    HAS_THROUGHPUT
    HAS_BANDWIDTH
    HAS_IOPS
    HAS_QUEUE_DEPTH
    HAS_ENDURANCE
    HAS_TBW
    HAS_DWPD
    HAS_WRITE_AMPLIFICATION
    HAS_ECC
    DETECTS_ERROR
    CORRECTS_ERROR
    HAS_HEALTH_STATE
    HAS_TEMPERATURE
    HAS_POWER
    THROTTLES_AT
    HAS_STATE
    TRANSITIONS_TO
    HAS_FIRMWARE
    HAS_FIRMWARE_VERSION
    HAS_CONFIGURATION
    HAS_HARDWARE_REVISION
    DEPENDS_ON
    PRECEDES
    FOLLOWS
    DERIVED_FROM
    INFERRED_FROM
    HAS_EVIDENCE
    HAS_CONFIDENCE
    HAS_PROVENANCE
    SEMANTICALLY_EQUIVALENT_TO
  }

  INPUTS {
    SSD_SPECIFICATIONS
    MANUFACTURER_DATA
    MODEL_DATA
    NAND_TYPE_DATA
    CAPACITY_DATA
    CONTROLLER_DATA
    FTL_DATA
    INTERFACE_DATA
    LOGICAL_ADDRESS_DATA
    IO_TRACES
    QUEUE_DATA
    TRIM_DATA
    GARBAGE_COLLECTION_DATA
    WEAR_LEVELLING_DATA
    ENDURANCE_DATA
    SMART_DATA
    ERROR_LOGS
    ECC_DATA
    TEMPERATURE_DATA
    POWER_DATA
    PERFORMANCE_METRICS
    FIRMWARE_DATA
    CONFIGURATION_DATA
    HARDWARE_REVISION_DATA
    ONTOLOGY_TERMS
  }

  NORMALISE {
    STANDARDISE_SSD_IDENTIFIERS
    NORMALISE_MANUFACTURER_NAMES
    NORMALISE_MODEL_NAMES
    NORMALISE_NAND_TYPES
    NORMALISE_CAPACITY_UNITS
    NORMALISE_INTERFACE_NAMES
    NORMALISE_ADDRESS_FORMATS
    NORMALISE_LATENCY_UNITS
    NORMALISE_THROUGHPUT_UNITS
    NORMALISE_IOPS
    NORMALISE_ENDURANCE_MEASURES
    NORMALISE_WRITE_AMPLIFICATION
    NORMALISE_TEMPERATURE_UNITS
    NORMALISE_POWER_UNITS
    NORMALISE_FIRMWARE_VERSIONS
    NORMALISE_HARDWARE_REVISIONS
    NORMALISE_ERROR_TYPES
    RESOLVE_DEVICE_IDENTITIES
    ALIGN_ONTOLOGY_TERMS
    REMOVE_DUPLICATES
    VALIDATE_METADATA
    PRESERVE_PROVENANCE
  }

  PROCESS SSD_IO_PIPELINE {
    IO_REQUEST
      -> HOST_INTERFACE
      -> COMMAND_QUEUE
      -> SSD_CONTROLLER
      -> FTL_MAPPING
      -> NAND_OPERATION
      -> ERROR_CHECK_AND_CORRECTION
      -> DATA_TRANSFER_OR_STATE_UPDATE
      -> COMPLETION_RESPONSE
  }

  PROCESS READ_REASONING {
    READ_REQUEST + LOGICAL_BLOCK_ADDRESS
      -> FTL_LOOKUP

    FTL_LOOKUP
      -> PHYSICAL_PAGE

    PHYSICAL_PAGE
      -> NAND_READ

    NAND_READ
      -> ECC_CHECK

    ECC_CHECK
      -> CORRECTED_OR_VALIDATED_DATA
      -> HOST_RETURN
  }

  PROCESS WRITE_REASONING {
    WRITE_REQUEST + DATA + LOGICAL_BLOCK_ADDRESS
      -> FTL_MAPPING_DECISION

    FTL_MAPPING_DECISION
      -> FREE_PHYSICAL_PAGE_SELECTION

    FREE_PHYSICAL_PAGE_SELECTION
      -> PAGE_PROGRAM

    PAGE_PROGRAM
      -> NEW_LOGICAL_TO_PHYSICAL_MAPPING

    PRIOR_MAPPING_IF_ANY
      -> INVALIDATE_OLD_PAGE
  }

  PROCESS ERASE_REASONING {
    NAND_BLOCK
      -> VALID_AND_INVALID_PAGE_ASSESSMENT

    ERASABLE_BLOCK
      -> VALID_PAGE_RELOCATION_IF_REQUIRED

    VALID_PAGE_RELOCATION_IF_REQUIRED
      -> BLOCK_ERASE

    BLOCK_ERASE
      -> FREE_BLOCK
      -> PROGRAM_ERASE_COUNT_INCREMENT
  }

  PROCESS GARBAGE_COLLECTION_REASONING {
    FREE_SPACE_PRESSURE + INVALID_PAGES
      -> VICTIM_BLOCK_SELECTION

    VICTIM_BLOCK_SELECTION
      -> VALID_PAGE_COPY

    VALID_PAGE_COPY
      -> BLOCK_ERASE

    BLOCK_ERASE
      -> FREE_SPACE_RECOVERY

    GARBAGE_COLLECTION
      -> WRITE_AMPLIFICATION_EFFECT
  }

  PROCESS WEAR_LEVELLING_REASONING {
    BLOCK_ERASE_COUNTS
      -> WEAR_DISTRIBUTION

    WEAR_DISTRIBUTION
      -> IMBALANCE_DETECTION

    IMBALANCE_DETECTION
      -> DATA_RELOCATION_OR_BLOCK_SELECTION_POLICY

    POLICY
      -> MORE_UNIFORM_WEAR
  }

  PROCESS TRIM_REASONING {
    HOST_DISCARD
      -> TRIM_COMMAND

    TRIM_COMMAND
      -> LOGICAL_BLOCK_INVALIDATION

    LOGICAL_BLOCK_INVALIDATION
      -> FTL_FREE_SPACE_HINT

    FTL_FREE_SPACE_HINT
      -> FUTURE_GARBAGE_COLLECTION_OPTIMISATION
  }

  PROCESS ENDURANCE_REASONING {
    PROGRAM_ERASE_COUNTS + NAND_TYPE + WRITE_WORKLOAD
      -> WEAR_PROFILE

    WEAR_PROFILE
      -> ENDURANCE_USAGE

    ENDURANCE_USAGE + RATED_ENDURANCE
      -> REMAINING_ENDURANCE_ESTIMATE
  }

  PROCESS HEALTH_REASONING {
    SMART_DATA + ERROR_LOGS + ENDURANCE_DATA + TEMPERATURE_DATA
      -> SSD_HEALTH_PROFILE

    SSD_HEALTH_PROFILE
      -> WEAR_INDICATORS
      -> MEDIA_ERROR_INDICATORS
      -> CONTROLLER_INDICATORS
      -> THERMAL_INDICATORS

    INDICATORS
      -> HEALTH_STATE
      -> FAILURE_RISK_HYPOTHESIS
      -> CONFIDENCE_SCORE
  }

  PROCESS PERFORMANCE_REASONING {
    SSD + WORKLOAD + QUEUE_DEPTH + CONFIGURATION
      -> SSD_PROFILE

    SSD_PROFILE
      -> READ_LATENCY
      -> WRITE_LATENCY
      -> RANDOM_IOPS
      -> SEQUENTIAL_THROUGHPUT
      -> QUEUEING_DELAY
      -> CACHE_EFFECT
      -> GARBAGE_COLLECTION_EFFECT
      -> THERMAL_THROTTLING_EFFECT

    SSD_PROFILE
      -> BOTTLENECK_HYPOTHESIS
  }

  RULES {
    IF SSD_WRITE_OCCURS
    THEN DO_NOT_ASSUME_IN_PLACE_PHYSICAL_WRITE

    IF LOGICAL_BLOCK_IS_REWRITTEN
    THEN PRESERVE OLD_MAPPING_INVALIDATION_AND_NEW_MAPPING

    IF NAND_PAGE_HAS_BEEN_PROGRAMMED
    THEN REQUIRE_ERASE_AT_BLOCK_GRANULARITY_BEFORE_REPROGRAMMING_WHERE_TECHNOLOGY_REQUIRES

    IF TRIM_COMMAND_IS_ISSUED
    THEN DO_NOT_ASSERT_IMMEDIATE_PHYSICAL_ERASURE

    IF GARBAGE_COLLECTION_OCCURS
    THEN PRESERVE_RELOCATION_AND_WRITE_AMPLIFICATION_CONTEXT

    IF ENDURANCE_IS_ESTIMATED
    THEN REQUIRE NAND_TYPE_WRITE_HISTORY_AND_RATED_ENDURANCE_CONTEXT

    IF SMART_INDICATOR_CHANGES
    THEN DO_NOT_ASSERT_IMMINENT_FAILURE_WITHOUT_SUPPORTING_EVIDENCE

    IF SEMANTIC_IDENTIFIERS_DIFFER
    AND SSD_REFERENT_IS_SAME
    THEN APPLY SEMANTIC_EQUIVALENCE
  }

  CONFIDENCE {
    CONFIDENCE_SCORE =
      WEIGHT(
        DEVICE_SPECIFICATION_COMPLETENESS,
        NAND_TYPE_CERTAINTY,
        FTL_MAPPING_CERTAINTY,
        IO_TRACE_COMPLETENESS,
        ENDURANCE_DATA_QUALITY,
        SMART_DATA_QUALITY,
        PERFORMANCE_MEASUREMENT_QUALITY,
        PROVENANCE_COMPLETENESS
      )

    LEVELS {
      HIGH
      MODERATE
      LOW
      INSUFFICIENT
    }

    IF FTL_IMPLEMENTATION_IS_UNKNOWN
    THEN REDUCE_PHYSICAL_MAPPING_INFERENCE_CONFIDENCE

    IF WRITE_HISTORY_IS_INCOMPLETE
    THEN REDUCE_ENDURANCE_INFERENCE_CONFIDENCE

    IF REPRODUCIBLE_IO_TESTS_CONFIRM_BEHAVIOUR
    THEN INCREASE CONFIDENCE_SCORE
  }

  SEMANTIC_EQUIVALENCE {
    EQUIVALENCE_KEY =
      NORMALISE(
        ENTITY_TYPE,
        MANUFACTURER,
        MODEL,
        CAPACITY,
        NAND_TYPE,
        CONTROLLER,
        FIRMWARE_VERSION,
        HARDWARE_REVISION
      )

    IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B)
    THEN A SEMANTICALLY_EQUIVALENT_TO B

    ELSE PRESERVE_DISTINCT_ENTITIES
  }

  REASONING_CONSTRAINTS {
    SSD != HDD
    LOGICAL_BLOCK_ADDRESS != PHYSICAL_NAND_LOCATION
    WRITE != IN_PLACE_OVERWRITE
    TRIM != IMMEDIATE_ERASE
    PAGE_PROGRAM != BLOCK_ERASE
    CAPACITY != PERFORMANCE
    INTERFACE_BANDWIDTH != NAND_THROUGHPUT
    IOPS != THROUGHPUT
    PEAK_PERFORMANCE != SUSTAINED_PERFORMANCE
    SLC_CACHE_PERFORMANCE != NATIVE_NAND_PERFORMANCE
    GARBAGE_COLLECTION_MAY_AFFECT_LATENCY
    WRITE_AMPLIFICATION_AFFECTS_ENDURANCE
    ENDURANCE_DEPENDS_ON_NAND_TYPE_AND_WORKLOAD
    SMART_INDICATOR != CERTAIN_FAILURE_PREDICTION
    TEMPERATURE_MAY_TRIGGER_THROTTLING
    FIRMWARE_AFFECTS_DEVICE_BEHAVIOUR
    PROVENANCE_MUST_BE_PRESERVED
    UNCERTAINTY_MUST_NOT_BE_DISCARDED
  }

  VALIDATION {
    CHECK_ENTITY_TYPES
    CHECK_RELATION_DOMAINS_AND_RANGES
    CHECK_SSD_IDENTIFIER
    CHECK_NAND_TYPE
    CHECK_CAPACITY
    CHECK_CONTROLLER
    CHECK_INTERFACE
    CHECK_FTL_CONTEXT
    CHECK_LOGICAL_PHYSICAL_MAPPING
    CHECK_READ_WRITE_RELATIONS
    CHECK_PROGRAM_ERASE_RELATIONS
    CHECK_TRIM_RELATIONS
    CHECK_GARBAGE_COLLECTION
    CHECK_WEAR_LEVELLING
    CHECK_ENDURANCE
    CHECK_SMART_AND_HEALTH_DATA
    CHECK_ECC_AND_ERROR_RELATIONS
    CHECK_PERFORMANCE_CONTEXT
    CHECK_TEMPERATURE_AND_POWER_CONTEXT
    CHECK_FIRMWARE_VERSION
    CHECK_HARDWARE_REVISION
    CHECK_CONFIGURATION
    CHECK_PROVENANCE
    CHECK_CONFIDENCE
    CHECK_SEMANTIC_CONSISTENCY
  }

  OUTPUTS {
    NORMALISED_SSD_ENTITIES
    NAND_HIERARCHY_RELATIONS
    CONTROLLER_RELATIONS
    FTL_MAPPING_RELATIONS
    READ_WRITE_RELATIONS
    PROGRAM_ERASE_RELATIONS
    TRIM_RELATIONS
    GARBAGE_COLLECTION_RELATIONS
    WEAR_LEVELLING_RELATIONS
    ENDURANCE_RELATIONS
    ECC_AND_ERROR_RELATIONS
    SMART_AND_HEALTH_RELATIONS
    SSD_STATE_TRANSITIONS
    PERFORMANCE_PROFILES
    FAILURE_RISK_HYPOTHESES
    BOTTLENECK_HYPOTHESES
    CONFIDENCE_SCORES
    EVIDENCE_LINKS
    PROVENANCE_RECORDS
    EXPLANATION_PATHS
  }

  UPDATE_MODEL {
    ON SSD_FIRMWARE_OR_CONFIGURATION_CHANGE {
      NORMALISE
      ENTITY_RESOLUTION
      UPDATE_FTL_CONTEXT
      UPDATE_NAND_MODEL
      UPDATE_INTERFACE_CONTEXT
      UPDATE_FIRMWARE_CONTEXT
      RECOMPUTE_AFFECTED_RELATIONS
      UPDATE_CONFIDENCE
      PRESERVE_VERSION_HISTORY
    }

    ON NEW_IO_HEALTH_ENDURANCE_OR_PERFORMANCE_DATA {
      LINK_EVIDENCE
      UPDATE_IO_TRACE
      UPDATE_WEAR_PROFILE
      UPDATE_HEALTH_PROFILE
      UPDATE_ERROR_PROFILE
      UPDATE_PERFORMANCE_PROFILE
      REASSESS_FAILURE_RISK
      REASSESS_BOTTLENECKS
      UPDATE_CONFIDENCE
      RECORD_PROVENANCE
    }

    ON ONTOLOGY_REVISION {
      REMAP_TERMS
      CHECK_SEMANTIC_EQUIVALENCE
      IDENTIFY_DEPRECATED_TERMS
      MIGRATE_RELATIONSHIPS
      PRESERVE_PRIOR_VERSION_REFERENCES
    }
  }

  FLOW_HASH {
    HASH_INPUT =
      CANONICALISE(
        ENTITY_TYPES,
        RELATIONSHIPS,
        RULES,
        CONFIDENCE,
        SEMANTIC_EQUIVALENCE,
        REASONING_CONSTRAINTS,
        UPDATE_MODEL
      )

    FLOW_HASH = SHA256(HASH_INPUT)
  }

  AI_CONSUMPTION {
    INDEX {
      ONTOLOGY
      ENTITY_TYPES
      RELATIONSHIPS
      RULES
      OUTPUTS
    }

    RETRIEVE {
      BY_SSD
      BY_NAND_TYPE
      BY_CONTROLLER
      BY_FTL
      BY_LOGICAL_ADDRESS
      BY_PHYSICAL_PAGE
      BY_READ
      BY_WRITE
      BY_TRIM
      BY_GARBAGE_COLLECTION
      BY_WEAR
      BY_ENDURANCE
      BY_HEALTH_STATE
      BY_PERFORMANCE
      BY_CONFIDENCE
    }

    REASON {
      APPLY_RELATIONSHIPS
      APPLY_RULES
      TRACE_SSD_IO
      TRACE_FTL_MAPPING
      ANALYSE_READ_WRITE_OPERATIONS
      ANALYSE_PROGRAM_AND_ERASE
      ANALYSE_TRIM
      ANALYSE_GARBAGE_COLLECTION
      ANALYSE_WEAR_LEVELLING
      ANALYSE_ENDURANCE
      ANALYSE_HEALTH_AND_ERRORS
      ANALYSE_PERFORMANCE
      CHECK_SEMANTIC_EQUIVALENCE
      PRESERVE_UNCERTAINTY
      TRACE_EVIDENCE
      TRACE_PROVENANCE
      GENERATE_EXPLANATION_PATH
    }

    RESPONSE_POLICY {
      DISTINGUISH_SSD_FROM_HDD
      DISTINGUISH_LOGICAL_FROM_PHYSICAL_NAND_LOCATION
      DISTINGUISH_TRIM_FROM_ERASURE
      PRESERVE_NAND_CONTROLLER_FTL_FIRMWARE_AND_WORKLOAD_CONTEXT
      DISTINGUISH_HEALTH_INDICATOR_FROM_CERTAIN_FAILURE
      RETURN_CONFIDENCE_WHEN_AVAILABLE
      RETURN_PROVENANCE_WHEN_AVAILABLE
      AVOID_UNSUPPORTED_SSD_INFERENCE
    }
  }

  TERMINAL {
    RESULT =
      VALIDATED(
        SEMANTICALLY_NORMALISED(
          EVIDENCE_LINKED(
            CONFIDENCE_AWARE(
              SOLID_STATE_DRIVE_KNOWLEDGE
            )
          )
        )
      )
  }
}

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ