1. A first network device, comprising: a first port configured to provide first data traffic to a first storage area network (SAN); a second port configured to provide second data traffic to a local area network (LAN); memory shared between the first port and the second port, the memory configured to temporarily store (i) the first data traffic in N first buffers in the memory and (ii) the second data traffic in M second buffers in the memory, wherein M and N are integers greater than or equal to 1; a queue control module configured to allocate (i) a first memory space of the N first buffers to the first port and (ii) a second memory space of the M second buffers to the second port; and an adjustment module configured to, in response to a congestion event, adjust (i) a first amount of the first memory space and (ii) a second amount of the second memory space, wherein the congestion event is caused (i) by the first data traffic within the first network device when the first memory space allocated to the first port is full or (ii) by the second data traffic within the first network device when the second memory space allocated to the second port is full, and wherein the adjustment module is configured to adjust (i) the first amount of the first memory space and (ii) the second amount of the second memory space in response to the congestion event caused by the first data traffic, and wherein up to all of the first memory space and the second memory space is allocated to the N first buffers.