1. A method of fetching direct memory access (DMA) descriptors for commands to a non-volatile semiconductor storage device, the method comprising: storing the commands among a plurality of queues in a command random access memory (RAM); processing one or more of the commands from the plurality of queues and issuing requests to read from or write into the non-volatile semiconductor storage device according to the processing; fetching DMA descriptors from the host system for the processed commands according to a real-time fetch quota; pre-fetching DMA descriptors from the host system for queued commands that are not being processed according to a pre-fetch quota; and storing fetched and pre-fetched DMA descriptors in a descriptor RAM.