Technical white paper |  HP P2000 G3 MSA 
 
 
6 
Shared LUN number between controllers with a maximum of 512 LUNs  
•  No duplicate LUNs allowed between controllers 
•  Either controller can use any unused logical unit number 
ULP recognizes which paths are “preferred” 
•  The preferred path indicates which is the owning controller per ALUA specifications  
•  “Report Target Port Groups” identifies preferred path 
•  Performance is slightly better on preferred path 
Write I/O Processing with ULP 
•  Write command to controller A for LUN 1 owned by Controller B 
•  The data is written to Controller A cache and broadcast to Controller A mirror  
•  Controller A acknowledges I/O completion back to host 
•  Data written back to LUN 1 by Controller B from Controller A mirror 
Figure 1. Write I/O Processing with ULP 
 
Read I/O Processing with ULP 
•  Read command to controller A for LUN 1 owned by Controller B: 
–  Controller A asks Controller B if data is in Controller B cache 
–  If found, Controller B tells Controller A where in Controller B read mirror cache it resides 
–  Controller A sends data to host from Controller B read mirror, I/O complete 
–  If not found, request is sent from Controller B to disk to retrieve data 
–  Disk data is placed in Controller B cache and broadcast to Controller B mirror 
–  Read data sent to host by Controller A from Controller B mirror, I/O complete