AI SEARCH
FLOW ALGEBRA — HARD DISK ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/computer-hardware/hard-disk-ontology.html
FLOW HARD_DISK_ONTOLOGY {
META {
DOMAIN = "Computing Ontologies"
SUBDOMAIN = "Computer Hardware"
ONTOLOGY = "Hard Disk Ontology"
PURPOSE = "Formalise hard disk drive components, magnetic storage geometry, addressing, mechanical positioning, read/write operations, performance, health and failure relationships."
LOCALE = "en-GB"
}
ENTITY_TYPES {
HARD_DISK
HARD_DISK_DRIVE
HDD
MAGNETIC_STORAGE
STORAGE_DEVICE
PLATTER
MAGNETIC_SURFACE
TRACK
SECTOR
CYLINDER
READ_WRITE_HEAD
HEAD_STACK_ASSEMBLY
ACTUATOR
ACTUATOR_ARM
VOICE_COIL_MOTOR
SPINDLE
SPINDLE_MOTOR
CONTROLLER
DRIVE_CONTROLLER
CACHE
BUFFER
INTERFACE
SATA
SAS
USB
ADDRESS
LOGICAL_BLOCK_ADDRESS
PHYSICAL_SECTOR
DATA
BLOCK_DATA
READ_OPERATION
WRITE_OPERATION
SEEK_OPERATION
ROTATIONAL_WAIT
CACHE_OPERATION
FLUSH_OPERATION
COMMAND
QUEUE
CAPACITY
USABLE_CAPACITY
ROTATIONAL_SPEED
RPM
SEEK_TIME
ROTATIONAL_LATENCY
ACCESS_TIME
TRANSFER_RATE
THROUGHPUT
IOPS
BANDWIDTH
ERROR
BAD_SECTOR
REMAPPED_SECTOR
ECC
SMART_DATA
HEALTH_STATE
POWER
TEMPERATURE
VIBRATION
SHOCK
STATE
EVENT
FAILURE
FIRMWARE
FIRMWARE_VERSION
CONFIGURATION
HARDWARE_REVISION
PERFORMANCE_METRIC
EVIDENCE
CONFIDENCE_SCORE
PROVENANCE_RECORD
}
RELATIONSHIPS {
IS_A
INSTANCE_OF
PART_OF
CONTAINS
HAS_PLATTER
HAS_SURFACE
HAS_TRACK
HAS_SECTOR
HAS_HEAD
HAS_ACTUATOR
HAS_SPINDLE
HAS_CONTROLLER
HAS_CACHE
HAS_INTERFACE
HAS_ADDRESS
MAPS_TO
STORES
READS
WRITES
SEEKS_TO
ROTATES_TO
TRANSFERS
QUEUES
FLUSHES
REMAPS
DETECTS_ERROR
CORRECTS_ERROR
HAS_ECC
HAS_CAPACITY
HAS_ROTATIONAL_SPEED
HAS_SEEK_TIME
HAS_ROTATIONAL_LATENCY
HAS_ACCESS_TIME
HAS_TRANSFER_RATE
HAS_IOPS
HAS_HEALTH_STATE
HAS_POWER
HAS_TEMPERATURE
HAS_VIBRATION
HAS_STATE
TRANSITIONS_TO
HAS_FIRMWARE
HAS_FIRMWARE_VERSION
HAS_CONFIGURATION
HAS_HARDWARE_REVISION
FAILS_WITH
DEPENDS_ON
PRECEDES
FOLLOWS
DERIVED_FROM
INFERRED_FROM
HAS_EVIDENCE
HAS_CONFIDENCE
HAS_PROVENANCE
SEMANTICALLY_EQUIVALENT_TO
}
INPUTS {
HDD_SPECIFICATIONS
MANUFACTURER_DATA
MODEL_DATA
CAPACITY_DATA
PLATTER_AND_HEAD_DATA
ROTATIONAL_SPEED_DATA
INTERFACE_DATA
ADDRESS_MAPPING_DATA
READ_WRITE_TRACES
SEEK_DATA
QUEUE_DATA
PERFORMANCE_METRICS
SMART_DATA
BAD_SECTOR_DATA
ERROR_LOGS
TEMPERATURE_DATA
VIBRATION_DATA
POWER_DATA
FIRMWARE_DATA
CONFIGURATION_DATA
HARDWARE_REVISION_DATA
ONTOLOGY_TERMS
}
NORMALISE {
STANDARDISE_HDD_IDENTIFIERS
NORMALISE_MANUFACTURER_NAMES
NORMALISE_MODEL_NAMES
NORMALISE_CAPACITY_UNITS
NORMALISE_ROTATIONAL_SPEED_UNITS
NORMALISE_TIME_UNITS
NORMALISE_TRANSFER_RATE_UNITS
NORMALISE_IOPS
NORMALISE_INTERFACE_NAMES
NORMALISE_ADDRESS_FORMATS
NORMALISE_TEMPERATURE_UNITS
NORMALISE_VIBRATION_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 HDD_IO_PIPELINE {
IO_REQUEST
-> COMMAND_QUEUE
-> SCHEDULING
-> LOGICAL_ADDRESS_RESOLUTION
-> PHYSICAL_LOCATION_APPROXIMATION_OR_MAPPING
-> SEEK
-> ROTATIONAL_POSITIONING
-> READ_OR_WRITE
-> DATA_TRANSFER
-> COMPLETION_RESPONSE
}
PROCESS READ_REASONING {
READ_REQUEST + LOGICAL_BLOCK_ADDRESS
-> CONTROLLER_MAPPING
CONTROLLER_MAPPING
-> TARGET_SECTOR
TARGET_SECTOR
-> HEAD_POSITIONING
HEAD_POSITIONING
-> ROTATIONAL_ALIGNMENT
ROTATIONAL_ALIGNMENT
-> MAGNETIC_READ
MAGNETIC_READ
-> ECC_CHECK
-> DATA_RETURN
}
PROCESS WRITE_REASONING {
WRITE_REQUEST + DATA + LOGICAL_BLOCK_ADDRESS
-> CONTROLLER_MAPPING
CONTROLLER_MAPPING
-> TARGET_SECTOR
TARGET_SECTOR
-> HEAD_POSITIONING
-> ROTATIONAL_ALIGNMENT
ROTATIONAL_ALIGNMENT
-> MAGNETIC_WRITE
MAGNETIC_WRITE
-> VERIFY_OR_ERROR_CHECK
-> UPDATED_STORAGE_STATE
}
PROCESS SEEK_REASONING {
CURRENT_HEAD_POSITION + TARGET_TRACK
-> SEEK_DISTANCE
SEEK_DISTANCE
-> ACTUATOR_MOVEMENT
ACTUATOR_MOVEMENT
-> HEAD_SETTLING
HEAD_SETTLING
-> SEEK_COMPLETE
}
PROCESS ROTATIONAL_REASONING {
TARGET_SECTOR + CURRENT_ANGULAR_POSITION
-> ROTATIONAL_WAIT
ROTATIONAL_WAIT
-> SECTOR_ALIGNMENT
SECTOR_ALIGNMENT
-> MEDIA_ACCESS
}
PROCESS BAD_SECTOR_REASONING {
READ_OR_WRITE_ERROR
-> SECTOR_DIAGNOSTIC
SECTOR_DIAGNOSTIC
-> RECOVERABLE_OR_UNRECOVERABLE
RECOVERABLE
-> DATA_RECOVERY_ATTEMPT
UNRELIABLE_OR_FAILED_SECTOR
-> REMAP_IF_SPARE_AVAILABLE
REMAP
-> REMAPPED_SECTOR_RELATION
}
PROCESS HEALTH_REASONING {
SMART_DATA + ERROR_LOGS + BAD_SECTOR_DATA + TEMPERATURE_DATA
-> HDD_HEALTH_PROFILE
HDD_HEALTH_PROFILE
-> MEDIA_INDICATORS
-> MECHANICAL_INDICATORS
-> INTERFACE_INDICATORS
-> THERMAL_INDICATORS
INDICATORS
-> HEALTH_STATE
-> FAILURE_RISK_HYPOTHESIS
-> CONFIDENCE_SCORE
}
PROCESS PERFORMANCE_REASONING {
HDD + WORKLOAD + QUEUE_DEPTH + CONFIGURATION
-> HDD_PROFILE
HDD_PROFILE
-> SEEK_TIME
-> ROTATIONAL_LATENCY
-> TRANSFER_TIME
-> QUEUEING_DELAY
-> RANDOM_IOPS
-> SEQUENTIAL_THROUGHPUT
HDD_PROFILE
-> BOTTLENECK_HYPOTHESIS
}
RULES {
IF HDD_IO_OCCURS
THEN REQUIRE {
OPERATION_TYPE
LOGICAL_ADDRESS
DEVICE_CONTEXT
INTERFACE_CONTEXT
}
IF RANDOM_ACCESS_OCCURS
THEN PRESERVE SEEK_AND_ROTATIONAL_CONTEXT
IF SEQUENTIAL_ACCESS_OCCURS
THEN DO_NOT_ASSUME_SEEK_COST_FOR_EVERY_BLOCK
IF RPM_IS_HIGHER
THEN DO_NOT_AUTOMATICALLY_INFER_PROPORTIONALLY_HIGHER_TOTAL_PERFORMANCE
IF BAD_SECTOR_IS_REPORTED
THEN PRESERVE ORIGINAL_SECTOR_ERROR_AND_REMAP_CONTEXT
IF SMART_INDICATOR_CHANGES
THEN DO_NOT_ASSERT_IMMINENT_FAILURE_WITHOUT_SUPPORTING_EVIDENCE
IF LOGICAL_BLOCK_ADDRESS_IS_KNOWN
THEN DO_NOT_ASSUME_EXACT_PHYSICAL_GEOMETRY_WITHOUT_CONTROLLER_MAPPING_EVIDENCE
IF SEMANTIC_IDENTIFIERS_DIFFER
AND HDD_REFERENT_IS_SAME
THEN APPLY SEMANTIC_EQUIVALENCE
}
CONFIDENCE {
CONFIDENCE_SCORE =
WEIGHT(
DEVICE_SPECIFICATION_COMPLETENESS,
MODEL_IDENTIFICATION_CERTAINTY,
ADDRESS_MAPPING_CERTAINTY,
IO_TRACE_COMPLETENESS,
SMART_DATA_QUALITY,
ERROR_LOG_QUALITY,
PERFORMANCE_MEASUREMENT_QUALITY,
PROVENANCE_COMPLETENESS
)
LEVELS {
HIGH
MODERATE
LOW
INSUFFICIENT
}
IF PHYSICAL_MAPPING_IS_UNKNOWN
THEN REDUCE_GEOMETRY_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,
ROTATIONAL_SPEED,
FIRMWARE_VERSION,
HARDWARE_REVISION
)
IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B)
THEN A SEMANTICALLY_EQUIVALENT_TO B
ELSE PRESERVE_DISTINCT_ENTITIES
}
REASONING_CONSTRAINTS {
HDD != SSD
LOGICAL_BLOCK_ADDRESS != NECESSARILY_DIRECT_PHYSICAL_GEOMETRY
SEEK_TIME != ROTATIONAL_LATENCY
ACCESS_TIME != TRANSFER_TIME
RPM != COMPLETE_PERFORMANCE_MEASURE
SEQUENTIAL_THROUGHPUT != RANDOM_IOPS
INTERFACE_BANDWIDTH != MEDIA_THROUGHPUT
CACHE_HIT != MEDIA_ACCESS
BAD_SECTOR != COMPLETE_DRIVE_FAILURE
SMART_INDICATOR != CERTAIN_FAILURE_PREDICTION
PERFORMANCE_IS_WORKLOAD_AND_QUEUE_DEPTH_DEPENDENT
TEMPERATURE_VIBRATION_AND_SHOCK_MAY_AFFECT_RELIABILITY
FIRMWARE_AFFECTS_DEVICE_BEHAVIOUR
PROVENANCE_MUST_BE_PRESERVED
UNCERTAINTY_MUST_NOT_BE_DISCARDED
}
VALIDATION {
CHECK_ENTITY_TYPES
CHECK_RELATION_DOMAINS_AND_RANGES
CHECK_HDD_IDENTIFIER
CHECK_CAPACITY
CHECK_ROTATIONAL_SPEED
CHECK_INTERFACE
CHECK_LOGICAL_ADDRESS
CHECK_PHYSICAL_MAPPING_CONTEXT
CHECK_READ_WRITE_RELATIONS
CHECK_SEEK_AND_ROTATIONAL_RELATIONS
CHECK_QUEUE_CONTEXT
CHECK_BAD_SECTOR_AND_REMAP_RELATIONS
CHECK_SMART_DATA
CHECK_PERFORMANCE_CONTEXT
CHECK_TEMPERATURE_AND_VIBRATION_CONTEXT
CHECK_FIRMWARE_VERSION
CHECK_HARDWARE_REVISION
CHECK_CONFIGURATION
CHECK_PROVENANCE
CHECK_CONFIDENCE
CHECK_SEMANTIC_CONSISTENCY
}
OUTPUTS {
NORMALISED_HDD_ENTITIES
PLATTER_TRACK_SECTOR_RELATIONS
HEAD_AND_ACTUATOR_RELATIONS
ADDRESS_MAPPING_RELATIONS
READ_WRITE_RELATIONS
SEEK_RELATIONS
ROTATIONAL_RELATIONS
IO_QUEUE_RELATIONS
BAD_SECTOR_RELATIONS
REMAP_RELATIONS
SMART_AND_HEALTH_RELATIONS
HDD_STATE_TRANSITIONS
PERFORMANCE_PROFILES
FAILURE_RISK_HYPOTHESES
BOTTLENECK_HYPOTHESES
CONFIDENCE_SCORES
EVIDENCE_LINKS
PROVENANCE_RECORDS
EXPLANATION_PATHS
}
UPDATE_MODEL {
ON HDD_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_BAD_SECTOR_PROFILE
UPDATE_HEALTH_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_HDD
BY_PLATTER
BY_TRACK
BY_SECTOR
BY_HEAD
BY_ADDRESS
BY_READ
BY_WRITE
BY_SEEK
BY_BAD_SECTOR
BY_SMART_DATA
BY_HEALTH_STATE
BY_PERFORMANCE
BY_CONFIDENCE
}
REASON {
APPLY_RELATIONSHIPS
APPLY_RULES
TRACE_HDD_IO
TRACE_ADDRESS_MAPPING
ANALYSE_READ_WRITE_OPERATIONS
ANALYSE_SEEK_AND_ROTATION
ANALYSE_BAD_SECTORS_AND_REMAPS
ANALYSE_SMART_AND_HEALTH_DATA
ANALYSE_PERFORMANCE
CHECK_SEMANTIC_EQUIVALENCE
PRESERVE_UNCERTAINTY
TRACE_EVIDENCE
TRACE_PROVENANCE
GENERATE_EXPLANATION_PATH
}
RESPONSE_POLICY {
DISTINGUISH_HDD_FROM_SOLID_STATE_STORAGE
DISTINGUISH_LOGICAL_FROM_PHYSICAL_LOCATION
DISTINGUISH_SEEK_FROM_ROTATIONAL_LATENCY
PRESERVE_WORKLOAD_QUEUE_FIRMWARE_AND_INTERFACE_CONTEXT
DISTINGUISH_HEALTH_INDICATOR_FROM_CERTAIN_FAILURE
RETURN_CONFIDENCE_WHEN_AVAILABLE
RETURN_PROVENANCE_WHEN_AVAILABLE
AVOID_UNSUPPORTED_HDD_INFERENCE
}
}
TERMINAL {
RESULT =
VALIDATED(
SEMANTICALLY_NORMALISED(
EVIDENCE_LINKED(
CONFIDENCE_AWARE(
HARD_DISK_KNOWLEDGE
)
)
)
)
}
}
END FLOW
Download Code
Copy to Clipboard