Patent ID: 8407401

Claim:
A method comprising: receiving, at a controller embodied on a block-based mass memory, an erase command from a host device in communication with the mass memory such that the host device has ability to read from and write to the mass memory and is configured to free one or more blocks of the mass memory by writing to memory allocation data stored in the mass memory prior to sending the erase command to the controller, wherein the erase command comprises a location of a block storing memory allocation data for one or more blocks of the mass memory, an indication of a size of an entry in the memory allocation data, an indication of a value of an entry denoting that a corresponding block is free, an indication of a number of entries in the memory allocation data, an indication of a location of a block in the mass memory corresponding to the first entry in the memory allocation data, and an indication of a size of a block in the mass memory; accessing the block storing memory allocation data based at least in part upon the location included in the erase command; determining, based at least in part upon the memory allocation data, at least one block within the mass memory that has been freed by the host device; and erasing the at least one freed block in response to the erase command.