This article is Part of Becoming a VMware Storage Expert series
This is the second part of Storage Plugin to understand the whole picture please check this post. This article will go through how SATP and PSP work with Pluggable Storage Architecture(PSA).
SATP – Storage Array Type Plugin

Storage Array Type Plug-ins (SATPs) are responsible for array-specific operations. The SATPs are submodules of the VMware NMP.
ESXi offers an SATP for every type of array that VMware supports. ESXi also provides default SATPs that support non-specific active-active, active-passive, ALUA, and local devices.
Each SATP accommodates special characteristics of a certain class of storage arrays. The SATP can perform the array-specific operations required to detect path state and to activate an inactive path. As a result, the NMP module itself can work with multiple storage arrays without having to be aware of the storage device specifics.
Generally, the NMP determines which SATP to use for a specific storage device and associates the SATP with the physical paths for that storage device. The SATP implements the tasks that include the following:
- Monitors the health of each physical path.
- Reports changes in the state of each physical path.
- Performs array-specific actions necessary for storage fail-over. For example, for active-passive devices, it can activate passive paths.
ESXi includes several generic SATP modules for storage arrays.VMW_SATP_LOCALSATP for local direct-attached devices.As of vSphere 6.5 Update 2 release, VMW_SATP_LOCAL provides multipathing support for the local devices, except the devices in 4K native format. To claim multiple paths to the local devices, you are no longer required to use other SATPs as you were in the earlier vSphere releases.VMW_SATP_LOCAL supports the VMW_PSP_MRU and VMW_PSP_FIXED path selection plug-ins, but does not support VMW_PSP_RR.VMW_SATP_DEFAULT_AAGeneric SATP for active-active arrays.VMW_SATP_DEFAULT_APGeneric SATP for active-passive arrays.VMW_SATP_ALUASATP for ALUA-compliant arrays.
PSP – Path Selection Policy

The plug-ins are submodules of the VMware NMP. The NMP assigns a default PSP for each logical device based on the device type. You can override the default PSP. For more information, see Change the Path Selection Policy.
Each PSP enables and enforces a corresponding path selection policy.VMW_PSP_MRU – Most Recently Used (VMware)The Most Recently Used (VMware) policy is enforced by VMW_PSP_MRU. It selects the first working path discovered at system boot time. When the path becomes unavailable, the host selects an alternative path. The host does not revert to the original path when that path becomes available. The Most Recently Used policy does not use the preferred path setting. This policy is default for most active-passive storage devices.The VMW_PSP_MRU supports path ranking. To set ranks to individual paths, use the esxcli storage nmp psp generic pathconfig set command. For details, see the VMware knowledge base article at http://kb.vmware.com/kb/2003468 and the vSphere Command-Line Interface
Reference documentation.VMW_PSP_FIXED – Fixed (VMware)This Fixed (VMware) policy is implemented by VMW_PSP_FIXED. The policy uses the designated preferred path. If the preferred path is not assigned, the policy selects the first working path discovered at system boot time. If the preferred path becomes unavailable, the host selects an alternative available path. The host returns to the previously defined preferred path when it becomes available again.Fixed is the default policy for most active-active storage devices.VMW_PSP_RR – Round Robin (VMware)VMW_PSP_RR enables the Round Robin (VMware) policy.
Round Robin is the default policy for many arrays. It uses an automatic path selection algorithm rotating through the configured paths.Both active-active and active-passive arrays use the policy to implement load balancing across paths for different LUNs. With active-passive arrays, the policy uses active paths. With active-active arrays, the policy uses available paths.The latency mechanism that is activated for the policy by default makes it more adaptive. To achieve better load balancing results, the mechanism dynamically selects an optimal path by considering the following path characteristics:
- I/O bandwidth
- Path latency
To change the default parameters for the adaptive latency Round Robin policy or to disable the latency mechanism, see the Change Default Parameters for Latency Round Robin.To set other configurable parameters for VMW_PSP_RR, use the esxcli storage nmp psp roundrobin command. For details, see the vSphere Command-Line Interface Reference documentation.
MPP – Multi Pathing Plugin

MPPs that are not implemented as SATPs or PSPs can be implemented as MPPs instead. MPPs run side by side with NMP. An example of that is EMC PowerPath/VE. It is certified with vSphere 4.x and is planned for vSphere 5.