Patent ID: 8850160

Claim:
A method for sequentially programming a non-volatile memory (“NVM”), the method comprising: determining whether a write preference of a file system is skip-sequential before writing any data to a first block of the NVM, wherein skip-sequential writes occurs when each logical address that is received is greater than the logical address of the last sector written to a block, but the received logical addresses are not in an absolute sequential order, wherein the determining comprises detecting that a flag bit associated with the data is set to skip-sequential writes; in response to determining that the write preference of the file system is skip-sequential, sequentially programming data to pages of the first block, wherein a last programmed page corresponds to a first sector of a logical block; receiving a write command from the file system to write data corresponding to a second sector of the logical block; determining if a second logical address of the second sector is lower than or the same as a first logical address of the first sector; and in response to determining that the second logical address of the second sector is not lower than or the same as the first logical address of the first sector, sequentially programming data from a data block to the pages of the first block prior to programming the second sector of data to the first block.