Patent ID: 8595427

Claim:
A method of accessing a block storage module employed to store data from a host comprising: identifying a module as a non-volatile block storage module, the non-volatile block storage module being coupled to a host that includes a bridge controller buffer address space, the block storage module including a bridge controller and a magnetic random access memory (MRAM), the MRAM including a MRAM array, the MRAM array having a buffer window for storing data from a host, the buffer window being movable throughout the MRAM array, the bridge controller having a bridge controller buffer and controller registers, the MRAM array being mapped into bridge controller buffer address space of the host to allow direct access of the MRAM array by the host; intercepting a request to access the block storage module; issuing a command to the block storage module; if the command is a write command, saving at least a portion of the data to be saved into the MRAM array, size of the at least a portion of data being based on the capacity of the bridge controller buffer; transferring the at least a portion of data to the buffer window and upon having additional data to be saved into the MRAM, moving the buffer window within the MRAM; and transferring another portion of the data from the bridge controller buffer to the moved buffer window and repeating the moving the buffer window and the transferring data steps until the data is transferred, in its entirety, from the host to the MRAM, wherein the host has direct access to the bridge controller buffer and the configuration registers.