Method and apparatus for decreasing block write operation times performed on nonvolatile memory
First Claim
1. A solid state storage system having a host and a nonvolatile memory unit, the host for reading and writing digital information, organized into sectors, from and to the nonvolatile memory unit, the nonvolatile memory unit including one or more nonvolatile memory devices, each nonvolatile memory device including at least one block having a plurality of sector storage spaces for storing the sector information, each sector storage space including storage space for storing data and overhead information, comprising:
- control circuitry coupled to the nonvolatile memory unit for re-writing a particular group of sector information identified by the host, the particular group of sector information included within a previously-written block of the nonvolatile memory unit, the control circuitry for identifying a particular block and configuring the particular block to include at least two sector storage spaces, a first sector storage space and a second sector storage space, the first sector storage space including a data storage field and an overhead storage field, the second sector storage space including a data storage field and an overhead storage field wherein the second overhead storage field includes a flag field indicative of the status of the particular block, the control circuitry for performing a write operation on the first sector storage space to write data in the data storage field, the control circuitry for performing further write operations to write the particular group of sector information and for performing yet further write operations to move sector information from the previously-written block into like-sector storage spaces within the particular and upon writing sector information to the second storage space, the control circuitry for modifying the contents of the flag field to indicate completion of writing to the particular block, wherein the number of write operations during re-writing of a block is no more than the number of sector storage spaces within a block thereby increasing the overall performance of the system.
10 Assignments
0 Petitions
Accused Products
Abstract
In accordance with an embodiment of the present invention, a solid state storage system and method is disclosed for reducing the number of write operations when re-writing a block of information that has been previously written by a host. The system includes a controller coupled to a host and a nonvolatile memory unit for controlling reading and writing of information organized in sectors from and to the nonvolatile memory unit, as commanded by the host. The controller maintains mapping of the sector information in an LUT stored in volatile memory the contents of which are lost if power is lost. Through the use of an address value and flag information maintained within each of the blocks of the nonvolatile memory unit, a block is re-written using a different number of write operations in various alternative embodiments of the present invention. The flag information is indicative of the status of the block such that during power-up, the controller reads the address value and the flag information of a block and determines the status of the block and in accordance therewith finishes re-writing of the block, if necessary and updates the LUT accordingly.
-
Citations
19 Claims
-
1. A solid state storage system having a host and a nonvolatile memory unit, the host for reading and writing digital information, organized into sectors, from and to the nonvolatile memory unit, the nonvolatile memory unit including one or more nonvolatile memory devices, each nonvolatile memory device including at least one block having a plurality of sector storage spaces for storing the sector information, each sector storage space including storage space for storing data and overhead information, comprising:
control circuitry coupled to the nonvolatile memory unit for re-writing a particular group of sector information identified by the host, the particular group of sector information included within a previously-written block of the nonvolatile memory unit, the control circuitry for identifying a particular block and configuring the particular block to include at least two sector storage spaces, a first sector storage space and a second sector storage space, the first sector storage space including a data storage field and an overhead storage field, the second sector storage space including a data storage field and an overhead storage field wherein the second overhead storage field includes a flag field indicative of the status of the particular block, the control circuitry for performing a write operation on the first sector storage space to write data in the data storage field, the control circuitry for performing further write operations to write the particular group of sector information and for performing yet further write operations to move sector information from the previously-written block into like-sector storage spaces within the particular and upon writing sector information to the second storage space, the control circuitry for modifying the contents of the flag field to indicate completion of writing to the particular block, wherein the number of write operations during re-writing of a block is no more than the number of sector storage spaces within a block thereby increasing the overall performance of the system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A solid state storage system including a host and a nonvolatile memory unit, the host for reading and writing digital information organized in sectors from and to the nonvolatile memory unit, the nonvolatile memory unit including one or more nonvolatile memory devices, each nonvolatile memory device including at least one block having a plurality of sector storage spaces for storing the sector information, each sector storage space including storage space for storing data and overhead information, comprising:
control circuitry coupled to the nonvolatile memory unit for re-writing sector information to a particular group of sector storage spaces identified by the host, the particular group of sector storage spaces having been written thereto previously by the host, the control circuitry for identifying a particular block having a plurality of sector storage spaces and configuring one of the sector storage spaces to include a status flag field for storing a status flag value indicative of the status of the particular block, the control circuitry for modifying the status flag value to indicate that the particular is `in use`, for writing sector information to one of the particular group of sector storage spaces, for further modifying the status flag value to indicate that the particular block is `pending`, for writing sector information to the remainder of the particular group of sector storage spaces, for performing write operations to transfer the contents of previously-written sector storage spaces that are not being re-written to the particular block and for further modifying the status flag value to indicate that the free block is `block complete`, wherein the number of write operations for re-writing a block is reduced to the number of sector storage spaces within a block plus three additional write operations thereby increasing the overall performance of the system. - View Dependent Claims (10, 11, 13)
-
12. A solid state storage system as recited in 9 wherein the particular block further includes an address field for storing address information identifying the particular block within the nonvolatile memory unit.
-
14. A method for reducing the number of write operations performed in a solid state storage system when re-writing a block of information in nonvolatile memory, the solid state storage system including a host for reading and writing digital information organized in sectors from and to the nonvolatile memory unit, the nonvolatile memory unit including one or more nonvolatile memory devices, each nonvolatile memory device including at least one block having a plurality of sector storage spaces for storing the sector information, each sector storage space including storage space for storing data and overhead information, the method comprising:
-
identifying a particular group of sector information; identifying a particular block within the nonvolatile memory unit for storage of the particular group of sector information; configuring the particular block to include at least two sector storage spaces, a first sector storage space and a second sector storage space, the first sector storage space including a data storage field and an overhead storage field, the second sector storage space including a data storage field and an overhead storage field, the second overhead storage field having a status flag field indicative of the status of the particular block; performing a write operation on the first sector storage space wherein data is written in the data storage field; performing further write operations wherein the particular group of sector information is written into the particular block; performing yet further write operations wherein sector information is moved from sector storage spaces of the previously-written block into like-sector storage spaces within the particular block; and upon writing sector information to the second storage space of the particular block, modifying the contents of the status flag field to indicate completion of writing to the particular block.
-
-
15. A solid state storage system for use with a host and a nonvolatile memory unit, the host for reading and writing digital information organized in sectors from and to the nonvolatile memory unit, the nonvolatile memory unit including one or more nonvolatile memory devices, each nonvolatile memory device including at least one block having a plurality of sector storage spaces for storing the sector information, each sector storage space including storage space for storing data and overhead information, comprising:
-
control circuitry coupled to the nonvolatile memory unit for re-writing sector information to a particular group of sector storage spaces identified by the host, the particular group of sector storage spaces having been written thereto previously by the host, the control circuitry for identifying a particular block having a plurality of sector storage spaces and configuring one of the sector storage spaces to include a status flag field for storing a status flag value indicative of the status of the particular block, the control circuitry for transferring the contents of previously-written sector storage spaces to like-sector storage spaces within the particular block, for modifying the status flag value to indicate that the status of the particular block is `pending`, for writing sector information to the particular group of sector storage spaces within the particular block and while writing to the last one of the particular sector storage spaces, modifying the status flag to indicate that the status of the particular block is `block complete`, wherein the number of write operations for re-writing a block is reduced to the number of sector storage spaces within a block plus one additional write operation thereby increasing the overall performance of the system. - View Dependent Claims (16, 17, 18, 19)
-
Specification