AI SEARCH
FLOW ALGEBRA — STORAGE DEVICE ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/computer-hardware/storage-device-ontology.html
FLOW STORAGE_DEVICE_ONTOLOGY {
META {
DOMAIN = "Computing Ontologies"
SUBDOMAIN = "Computer Hardware"
ONTOLOGY = "Storage Device Ontology"
PURPOSE = "Formalise persistent storage devices, media, interfaces, logical organisation, read/write operations, capacity, performance, reliability and device-state relationships."
LOCALE = "en-GB"
}
ENTITY_TYPES {
STORAGE_DEVICE
SECONDARY_STORAGE
NON_VOLATILE_STORAGE
HARD_DISK_DRIVE
SOLID_STATE_DRIVE
NVME_SSD
SATA_SSD
FLASH_DRIVE
MEMORY_CARD
OPTICAL_DRIVE
MAGNETIC_STORAGE
SOLID_STATE_STORAGE
OPTICAL_STORAGE
STORAGE_MEDIA
PLATTER
TRACK
SECTOR
READ_WRITE_HEAD
NAND_FLASH
FLASH_CELL
PAGE
BLOCK
CONTROLLER
STORAGE_CONTROLLER
CACHE
BUFFER
INTERFACE
SATA
SAS
NVME
PCIE
USB
ADDRESS
LOGICAL_BLOCK_ADDRESS
PHYSICAL_LOCATION
DATA
FILE
BLOCK_DATA
READ_OPERATION
WRITE_OPERATION
ERASE_OPERATION
FLUSH_OPERATION
TRIM_OPERATION
GARBAGE_COLLECTION
WEAR_LEVELLING
QUEUE
COMMAND
REQUEST
RESPONSE
CAPACITY
USABLE_CAPACITY
LATENCY
THROUGHPUT
BANDWIDTH
IOPS
DATA_RATE
ENDURANCE
WRITE_CYCLE
TBW
ERROR
BAD_BLOCK
ECC
SMART_DATA
HEALTH_STATE
TEMPERATURE
POWER
STATE
EVENT
CONFIGURATION
FIRMWARE
FIRMWARE_VERSION
HARDWARE_REVISION
PERFORMANCE_METRIC
EVIDENCE
CONFIDENCE_SCORE
PROVENANCE_RECORD
}
RELATIONSHIPS {
IS_A
INSTANCE_OF
PART_OF
CONTAINS
HAS_MEDIA
HAS_CONTROLLER
HAS_CACHE
HAS_BUFFER
HAS_INTERFACE
HAS_ADDRESS
MAPS_TO
STORES
READS
WRITES
ERASES
FLUSHES
TRIMS
QUEUES
TRANSFERS
RECEIVES
RETURNS
HAS_CAPACITY
HAS_USABLE_CAPACITY
HAS_LATENCY
HAS_THROUGHPUT
HAS_BANDWIDTH
HAS_IOPS
HAS_DATA_RATE
HAS_ENDURANCE
HAS_FIRMWARE
HAS_FIRMWARE_VERSION
HAS_HEALTH_STATE
HAS_TEMPERATURE
HAS_POWER
HAS_ERROR
HAS_BAD_BLOCK
HAS_ECC
HAS_STATE
TRANSITIONS_TO
HAS_CONFIGURATION
HAS_HARDWARE_REVISION
DEPENDS_ON
PRECEDES
FOLLOWS
DERIVED_FROM
INFERRED_FROM
HAS_EVIDENCE
HAS_CONFIDENCE
HAS_PROVENANCE
SEMANTICALLY_EQUIVALENT_TO
}
INPUTS {
STORAGE_DEVICE_SPECIFICATIONS
MANUFACTURER_DATA
MODEL_DATA
MEDIA_TYPE_DATA
CAPACITY_DATA
INTERFACE_DATA
ADDRESS_MAPPING_DATA
READ_WRITE_TRACES
QUEUE_DATA
PERFORMANCE_METRICS
ENDURANCE_DATA
SMART_DATA
ERROR_LOGS
BAD_BLOCK_DATA
ECC_DATA
TEMPERATURE_DATA
POWER_DATA
FIRMWARE_DATA
CONFIGURATION_DATA
HARDWARE_REVISION_DATA
ONTOLOGY_TERMS
}
NORMALISE {
STANDARDISE_STORAGE_IDENTIFIERS
NORMALISE_MANUFACTURER_NAMES
NORMALISE_MODEL_NAMES
NORMALISE_STORAGE_TYPES
NORMALISE_CAPACITY_UNITS
NORMALISE_INTERFACE_NAMES
NORMALISE_ADDRESS_FORMATS
NORMALISE_LATENCY_UNITS
NORMALISE_THROUGHPUT_UNITS
NORMALISE_IOPS
NORMALISE_ENDURANCE_MEASURES
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 STORAGE_IO_PIPELINE {
IO_REQUEST
-> COMMAND_GENERATION
-> QUEUE_INSERTION
-> SCHEDULING
-> LOGICAL_ADDRESS_RESOLUTION
-> PHYSICAL_MEDIA_OPERATION
-> DATA_TRANSFER
-> COMPLETION_RESPONSE
-> STATE_UPDATE
}
PROCESS READ_REASONING {
READ_REQUEST + LOGICAL_BLOCK_ADDRESS
-> ADDRESS_MAPPING
ADDRESS_MAPPING
-> PHYSICAL_STORAGE_LOCATION
PHYSICAL_STORAGE_LOCATION
-> MEDIA_READ
MEDIA_READ
-> ERROR_CHECK_AND_CORRECTION
ERROR_CHECK_AND_CORRECTION
-> DATA_RETURN
}
PROCESS WRITE_REASONING {
WRITE_REQUEST + DATA + LOGICAL_BLOCK_ADDRESS
-> CONTROLLER_MAPPING
CONTROLLER_MAPPING
-> TARGET_PHYSICAL_LOCATION
TARGET_PHYSICAL_LOCATION
-> MEDIA_WRITE
MEDIA_WRITE
-> VERIFY_OR_ERROR_CHECK
VERIFY_OR_ERROR_CHECK
-> UPDATED_STORAGE_STATE
}
PROCESS SSD_REASONING {
LOGICAL_WRITE
-> FLASH_TRANSLATION_LAYER
FLASH_TRANSLATION_LAYER
-> PHYSICAL_PAGE_MAPPING
PHYSICAL_PAGE_MAPPING
-> PAGE_PROGRAM
INVALIDATED_PAGES
-> GARBAGE_COLLECTION
GARBAGE_COLLECTION
-> BLOCK_ERASE_AND_RELOCATION
WRITE_DISTRIBUTION
-> WEAR_LEVELLING
}
PROCESS HDD_REASONING {
LOGICAL_BLOCK_ADDRESS
-> PHYSICAL_GEOMETRY_MAPPING
PHYSICAL_GEOMETRY_MAPPING
-> HEAD_POSITIONING
HEAD_POSITIONING
-> ROTATIONAL_WAIT
ROTATIONAL_WAIT
-> SECTOR_READ_OR_WRITE
SECTOR_OPERATION
-> DATA_TRANSFER
}
PROCESS TRIM_REASONING {
FILESYSTEM_OR_HOST_DISCARD
-> TRIM_COMMAND
TRIM_COMMAND
-> LOGICAL_BLOCK_INVALIDATION
LOGICAL_BLOCK_INVALIDATION
-> CONTROLLER_FREE_SPACE_KNOWLEDGE
CONTROLLER_FREE_SPACE_KNOWLEDGE
-> FUTURE_GARBAGE_COLLECTION_OPTIMISATION
}
PROCESS HEALTH_REASONING {
SMART_DATA + ERROR_LOGS + ENDURANCE_DATA + TEMPERATURE_DATA
-> DEVICE_HEALTH_PROFILE
DEVICE_HEALTH_PROFILE
-> FAILURE_INDICATORS
-> WEAR_INDICATORS
-> THERMAL_INDICATORS
INDICATORS
-> HEALTH_STATE
-> CONFIDENCE_SCORE
}
PROCESS PERFORMANCE_REASONING {
STORAGE_DEVICE + WORKLOAD + QUEUE_DEPTH + CONFIGURATION
-> STORAGE_PROFILE
STORAGE_PROFILE
-> READ_LATENCY
-> WRITE_LATENCY
-> SEQUENTIAL_THROUGHPUT
-> RANDOM_THROUGHPUT
-> IOPS
-> QUEUEING_DELAY
-> INTERFACE_UTILISATION
STORAGE_PROFILE
-> BOTTLENECK_HYPOTHESIS
}
RULES {
IF STORAGE_IO_OCCURS
THEN REQUIRE {
OPERATION_TYPE
LOGICAL_ADDRESS_OR_OBJECT
DEVICE_CONTEXT
INTERFACE_CONTEXT
}
IF STORAGE_DEVICE_IS_SSD
THEN PRESERVE FLASH_TRANSLATION_WEAR_AND_GARBAGE_COLLECTION_CONTEXT
IF STORAGE_DEVICE_IS_HDD
THEN PRESERVE SEEK_ROTATIONAL_AND_TRANSFER_CONTEXT
IF TRIM_COMMAND_IS_ISSUED
THEN DO_NOT_ASSERT_IMMEDIATE_PHYSICAL_ERASURE
IF LOGICAL_BLOCK_IS_REWRITTEN_ON_FLASH
THEN DO_NOT_ASSUME_IN_PLACE_PHYSICAL_WRITE
IF CAPACITY_IS_EQUAL
THEN DO_NOT_ASSUME_EQUAL_PERFORMANCE_OR_ENDURANCE
IF SMART_OR_HEALTH_INDICATOR_CHANGES
THEN DO_NOT_ASSERT_IMMINENT_FAILURE_WITHOUT_SUPPORTING_EVIDENCE
IF SEMANTIC_IDENTIFIERS_DIFFER
AND STORAGE_DEVICE_REFERENT_IS_SAME
THEN APPLY SEMANTIC_EQUIVALENCE
}
CONFIDENCE {
CONFIDENCE_SCORE =
WEIGHT(
DEVICE_SPECIFICATION_COMPLETENESS,
MODEL_IDENTIFICATION_CERTAINTY,
ADDRESS_MAPPING_CERTAINTY,
TRACE_COMPLETENESS,
PERFORMANCE_MEASUREMENT_QUALITY,
HEALTH_DATA_QUALITY,
ERROR_LOG_QUALITY,
PROVENANCE_COMPLETENESS
)
LEVELS {
HIGH
MODERATE
LOW
INSUFFICIENT
}
IF FIRMWARE_OR_CONFIGURATION_IS_UNKNOWN
THEN REDUCE_BEHAVIOURAL_INFERENCE_CONFIDENCE
IF HEALTH_DATA_IS_INCOMPLETE
THEN REDUCE_FAILURE_RISK_INFERENCE_CONFIDENCE
IF REPRODUCIBLE_IO_TESTS_CONFIRM_BEHAVIOUR
THEN INCREASE CONFIDENCE_SCORE
}
SEMANTIC_EQUIVALENCE {
EQUIVALENCE_KEY =
NORMALISE(
ENTITY_TYPE,
MANUFACTURER,
MODEL,
CAPACITY,
FIRMWARE_VERSION,
HARDWARE_REVISION,
INTERFACE_CONTEXT
)
IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B)
THEN A SEMANTICALLY_EQUIVALENT_TO B
ELSE PRESERVE_DISTINCT_ENTITIES
}
REASONING_CONSTRAINTS {
STORAGE != RAM
LOGICAL_ADDRESS != PHYSICAL_LOCATION
LOGICAL_DELETE != PHYSICAL_ERASURE
TRIM != IMMEDIATE_ERASE
CAPACITY != PERFORMANCE
INTERFACE_BANDWIDTH != DEVICE_THROUGHPUT
SEQUENTIAL_PERFORMANCE != RANDOM_PERFORMANCE
IOPS != THROUGHPUT
PEAK_PERFORMANCE != SUSTAINED_PERFORMANCE
SMART_INDICATOR != CERTAIN_FAILURE_PREDICTION
SSD_WRITE != NECESSARILY_IN_PLACE_WRITE
ENDURANCE_DEPENDS_ON_WORKLOAD_AND_MEDIA
PERFORMANCE_IS_QUEUE_DEPTH_AND_WORKLOAD_DEPENDENT
FIRMWARE_AFFECTS_DEVICE_BEHAVIOUR
TEMPERATURE_MAY_AFFECT_RELIABILITY_AND_PERFORMANCE
PROVENANCE_MUST_BE_PRESERVED
UNCERTAINTY_MUST_NOT_BE_DISCARDED
}
VALIDATION {
CHECK_ENTITY_TYPES
CHECK_RELATION_DOMAINS_AND_RANGES
CHECK_STORAGE_DEVICE_IDENTIFIER
CHECK_MEDIA_TYPE
CHECK_CAPACITY
CHECK_INTERFACE
CHECK_ADDRESS_MAPPING
CHECK_READ_WRITE_RELATIONS
CHECK_QUEUE_CONTEXT
CHECK_SSD_FLASH_RELATIONS
CHECK_HDD_MEDIA_RELATIONS
CHECK_TRIM_RELATIONS
CHECK_ENDURANCE
CHECK_HEALTH_DATA
CHECK_ERROR_AND_ECC_RELATIONS
CHECK_PERFORMANCE_CONTEXT
CHECK_FIRMWARE_VERSION
CHECK_HARDWARE_REVISION
CHECK_CONFIGURATION
CHECK_PROVENANCE
CHECK_CONFIDENCE
CHECK_SEMANTIC_CONSISTENCY
}
OUTPUTS {
NORMALISED_STORAGE_DEVICE_ENTITIES
STORAGE_MEDIA_RELATIONS
INTERFACE_RELATIONS
ADDRESS_MAPPING_RELATIONS
READ_WRITE_RELATIONS
IO_QUEUE_RELATIONS
SSD_FLASH_TRANSLATION_RELATIONS
GARBAGE_COLLECTION_RELATIONS
WEAR_LEVELLING_RELATIONS
HDD_MECHANICAL_ACCESS_RELATIONS
TRIM_RELATIONS
HEALTH_RELATIONS
ERROR_AND_ECC_RELATIONS
STORAGE_STATE_TRANSITIONS
PERFORMANCE_PROFILES
FAILURE_RISK_HYPOTHESES
BOTTLENECK_HYPOTHESES
CONFIDENCE_SCORES
EVIDENCE_LINKS
PROVENANCE_RECORDS
EXPLANATION_PATHS
}
UPDATE_MODEL {
ON STORAGE_DEVICE_FIRMWARE_OR_CONFIGURATION_CHANGE {
NORMALISE
ENTITY_RESOLUTION
UPDATE_ADDRESS_MAPPING
UPDATE_MEDIA_MODEL
UPDATE_INTERFACE_CONTEXT
UPDATE_FIRMWARE_CONTEXT
RECOMPUTE_AFFECTED_RELATIONS
UPDATE_CONFIDENCE
PRESERVE_VERSION_HISTORY
}
ON NEW_IO_HEALTH_ERROR_OR_PERFORMANCE_DATA {
LINK_EVIDENCE
UPDATE_IO_TRACE
UPDATE_DEVICE_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_STORAGE_DEVICE
BY_MEDIA_TYPE
BY_INTERFACE
BY_ADDRESS
BY_READ
BY_WRITE
BY_QUEUE
BY_TRIM
BY_ENDURANCE
BY_HEALTH_STATE
BY_ERROR
BY_PERFORMANCE
BY_CONFIDENCE
}
REASON {
APPLY_RELATIONSHIPS
APPLY_RULES
TRACE_STORAGE_IO
TRACE_ADDRESS_MAPPING
ANALYSE_READ_WRITE_OPERATIONS
ANALYSE_SSD_BEHAVIOUR
ANALYSE_HDD_BEHAVIOUR
ANALYSE_TRIM_AND_GARBAGE_COLLECTION
ANALYSE_HEALTH_AND_ENDURANCE
ANALYSE_ERRORS_AND_ECC
ANALYSE_PERFORMANCE
CHECK_SEMANTIC_EQUIVALENCE
PRESERVE_UNCERTAINTY
TRACE_EVIDENCE
TRACE_PROVENANCE
GENERATE_EXPLANATION_PATH
}
RESPONSE_POLICY {
DISTINGUISH_STORAGE_FROM_MEMORY
DISTINGUISH_LOGICAL_FROM_PHYSICAL_LOCATION
DISTINGUISH_TRIM_FROM_ERASURE
PRESERVE_MEDIA_INTERFACE_FIRMWARE_AND_WORKLOAD_CONTEXT
DISTINGUISH_HEALTH_INDICATOR_FROM_CERTAIN_FAILURE
RETURN_CONFIDENCE_WHEN_AVAILABLE
RETURN_PROVENANCE_WHEN_AVAILABLE
AVOID_UNSUPPORTED_STORAGE_INFERENCE
}
}
TERMINAL {
RESULT =
VALIDATED(
SEMANTICALLY_NORMALISED(
EVIDENCE_LINKED(
CONFIDENCE_AWARE(
STORAGE_DEVICE_KNOWLEDGE
)
)
)
)
}
}
END FLOW
Download Code
Copy to Clipboard