Overview
ISO/IEC 14165-521:2009 - Information technology - Fibre Channel - Part 521: Fabric Application Interface Standard (FAIS) - defines a C language application programming interface (API) that lets storage applications act as one or more SCSI Targets or Initiators and control high-performance command/data forwarding and manipulation in a Fibre Channel fabric. FAIS abstracts platform details so storage management software can manage I/O, LUNs, portals and fabric-aware services while leveraging Fibre Channel as a transport for Upper Level Protocols (ULPs) such as SCSI, iSCSI, IPI, HIPPI and IP.
Key topics and technical requirements
- C language API model: a standardized set of functions and data structures (handles, identifiers, headers) to interact with fabric objects.
- Operational and object models: client/provider layering, service groups (general, port, front-end, back-end, volume management) and object meta-attributes.
- Service function groups: function calls for initialization/de-initialization (fais_Init / fais_DeInit), object enumeration and handle updates, portal and region management, and I/O statistics.
- Port and portal management: region enumeration, portal create/destroy, portal status and protocol/port naming conventions for FCP and iSCSI.
- Front-end and back-end services: creation, activation, deactivation and status of fabric targets (FT), fabric initiators (FIT) and target/initiator lists (FITL/FITL permission and IO aborts).
- Data structures: FAIS_ObjectType, FAIS_ClientRequest_Header, FAIS_LUN, FAIS_Status, FAIS_IO_Stats_T and related constructs for robust storage control.
- Event notification and request/completion semantics: framework for asynchronous requests, completions and function parameter blocks suitable for high-performance fabrics.
Applications and who uses it
FAIS is targeted at engineers and organizations building or integrating Fibre Channel storage solutions:
- Storage array vendors implementing firmware or fabric-aware storage services.
- SAN software developers creating storage management, virtualization or proxy services that present SCSI targets/initiators.
- Operating system storage-stack developers and device driver authors who need an interoperable fabric API.
- Enterprise architects and integrators deploying high-performance SAN fabrics that require standardized API interactions and LUN/portal management.
Practical use cases include implementing host or target emulation, building fabric-based caching or replication services, and integrating heterogeneous ULPs over Fibre Channel.
Related standards
- The FAIS part of the broader Fibre Channel publications series and complements Upper Level Protocol (ULP) standards such as SCSI and iSCSI. It is published jointly by ISO/IEC and aligns with other Fibre Channel parts that define transport and protocol details.
Keywords: ISO/IEC 14165-521, FAIS, Fabric Application Interface Standard, Fibre Channel, storage API, SCSI Target, SAN, C language API.