Explain SQL Server deadlock graph modes
Both sessions have locks on the second key.  The reader has an S and the writer has a U and wants to convert to X.  Consider changing the database to use READ_COMMITTED_SNAPSHOT mode, or add an XLOCK hint to the UPDATE so it doesn't read with U locks and then convert to X.


  What are these modes.


I think that is the most restrictive lock locks currently held on the resource, as opposed to the locks requested.  This is often the lock that is incompatible with the blocked session's request, but not always.


  Why is this mode not S.


Because the most restrictive lock currently held on the resource is the U lock held by the writer session, and which it has requested to "convert" from U to X.