Abstract:
A system for facilitating enhanced storage efficiency. Operational scenarios that include, for example, many distinct files that are smaller than a read/write block size in an apparatus may result in large portions of unused memory. Sectors that would have normally fallen within a block occupied by a small file may be replaced by “virtual” sectors. The virtual sectors may be mapped in an intermediate control level so that small files may still be read using a standard block size without wasting actual physical memory space. The physical sectors that were previously virtualized may then, for example, be used to “extend” the available memory.
Abstract:
A method, apparatus, and computer program product are provided for enhancing memory erase functionality. An apparatus may include a processor configured to initiate, at a slave device comprising a block-based mass memory, a memory management session with a host device in communication with the slave device such that the host device has ability to read from and write to the mass memory. The processor may be further configured to track changes made by the host device to memory allocation data stored on a memory block within the mass memory. The processor may additionally be configured to determine based at least in part upon the tracked changes whether the host device marked any memory blocks as free. The processor may be further configured to erase one or more memory blocks determined to be marked as free. Corresponding methods and computer program products are also provided.
Abstract:
A method, apparatus, and computer program product are provided for enhancing memory erase functionality. An apparatus may include a block-based mass memory and a controller configured to receive an erase command from a host device comprising an indication of a location of a block in the mass memory storing memory allocation data. The controller may be further configured to access the memory allocation data based at least in part upon the indicated location. The controller may additionally be configured to determine, based at least in part upon the memory allocation data, blocks within the mass memory that have been freed by the host device. The controller may also be configured to erase the freed blocks. Corresponding methods and computer program products are also provided.
Abstract:
A method, apparatus, and computer program product are provided for enhancing memory erase functionality. An apparatus may include a block-based mass memory and a controller configured to receive an erase command from a host device comprising an indication of a location of a block in the mass memory storing memory allocation data. The controller may be further configured to access the memory allocation data based at least in part upon the indicated location. The controller may additionally be configured to determine, based at least in part upon the memory allocation data, blocks within the mass memory that have been freed by the host device. The controller may also be configured to erase the freed blocks. Corresponding methods and computer program products are also provided.
Abstract:
A method, apparatus and computer program product is provided for traversing computer memory. In one example embodiment, a method comprises determining whether a next cluster associated with a file is located in contiguous memory and obtaining a location of a next cluster from a file allocation table when the next cluster associated with the file is not located in contiguous memory. For example, the determining step may comprise reading from a cluster descriptor that is associated with the file wherein the cluster descriptor comprises an indication that a contiguous cluster in a data region is associated with the file. In one embodiment, the file allocation table is located in a first memory and the cluster descriptor is located in a second memory.