Mistake on this page?
Report an issue in GitHub or email us
Data Fields
_ARM_STORAGE_INFO Struct Reference

Storage information. More...

#include <Driver_Storage.h>

Data Fields

uint64_t total_storage
 Total available storage, in bytes. More...
uint32_t program_unit
 Minimum programming size in bytes. More...
uint32_t optimal_program_unit
 Optimal programming page-size in bytes. More...
uint32_t program_cycles
 A measure of endurance for reprogramming. More...
uint32_t erased_value: 1
 Contents of erased memory (usually 1 to indicate erased bytes with state 0xFF). More...
uint32_t memory_mapped: 1
 This storage device has a mapping onto the processor's memory address space. More...
uint32_t programmability: 4
 A value to indicate storage programmability. More...

Detailed Description

Storage information.

This contains device-metadata. It is the return value from calling GetInfo() on the storage driver.

These fields serve a different purpose than the ones contained in ARM_STORAGE_CAPABILITIES, which is another structure containing device-level metadata. ARM_STORAGE_CAPABILITIES describes the API capabilities, whereas ARM_STORAGE_INFO describes the device. Furthermore ARM_STORAGE_CAPABILITIES fits within a single word, and is designed to be passed around by value; ARM_STORAGE_INFO, on the other hand, contains metadata which doesn't fit into a single word and requires the use of pointers to be moved around.

Definition at line 156 of file Driver_Storage.h.

Field Documentation

uint32_t erased_value

Contents of erased memory (usually 1 to indicate erased bytes with state 0xFF).

Definition at line 169 of file Driver_Storage.h.

uint32_t memory_mapped

This storage device has a mapping onto the processor's memory address space.

: For a memory-mapped block which isn't erasable but is programmable (i.e. if 'erasable' is set to 0, but 'programmable' is 1), writes should be possible directly to the memory-mapped storage without going through the ProgramData operation.

Definition at line 170 of file Driver_Storage.h.

uint32_t optimal_program_unit

Optimal programming page-size in bytes.

Some storage controllers have internal buffers into which to receive data. Writing in chunks of 'optimal_program_unit' would achieve maximum programming speed. Applicable only if the 'programmable' attribute is set for the underlying block(s).

Definition at line 163 of file Driver_Storage.h.

uint32_t program_cycles

A measure of endurance for reprogramming.

Use ARM_STORAGE_PROGRAM_CYCLES_INFINITE for infinite or unknown endurance.

Definition at line 167 of file Driver_Storage.h.

uint32_t program_unit

Minimum programming size in bytes.

The offset of the start of the program-range should also be aligned with this value. Applicable only if the 'programmable' attribute is set for a block.

: setting program_unit to 0 has the effect of disabling the size and alignment restrictions (setting it to 1 also has the same effect).

Definition at line 158 of file Driver_Storage.h.

uint32_t programmability

A value to indicate storage programmability.

Definition at line 174 of file Driver_Storage.h.


Definition at line 177 of file Driver_Storage.h.

uint64_t total_storage

Total available storage, in bytes.

Definition at line 157 of file Driver_Storage.h.

Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.