Method and apparatus for decreasing block write operation times performed on nonvolatile memory
First Claim
1. 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:
- a controller device coupled between the host and 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 controller device for identifying a free block and configuring the free 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 wherein the first overhead storage field includes an address field for storing an address value identifying the free block, 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 free block, the controller device for performing a write operation on the first sector storage space to write data in the data storage field and the address value into the address field, the controller device 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 free block and upon writing sector information to the second storage space, the controller for modifying the contents of the flag field to indicate completion of writing to the free 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.
12 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.
205 Citations
18 Claims
-
1. 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:
-
a controller device coupled between the host and 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 controller device for identifying a free block and configuring the free 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 wherein the first overhead storage field includes an address field for storing an address value identifying the free block, 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 free block, the controller device for performing a write operation on the first sector storage space to write data in the data storage field and the address value into the address field, the controller device 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 free block and upon writing sector information to the second storage space, the controller for modifying the contents of the flag field to indicate completion of writing to the free 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. 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:
-
a controller device coupled between the host and 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 controller device for identifying a free 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 free block, the controller device for modifying the status flag value to indicate that the free block 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 free 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 free 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 (9, 10, 11, 12)
-
-
13. A method for reducing the number of write operations performed in a solid state storage system for 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 under the control of a controller device, 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 a controller device coupled between the host and the nonvolatile memory unit for re-writing a particular group of sector information, the particular group of sector information included within a previously-written block of the nonvolatile memory unit; identifying a free block within the nonvolatile memory unit for storage of the particular group of sector information; configuring the free 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 first overhead storage field having an address field for storing an address value identifying the free block, 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 free block; performing a write operation on the first sector storage space wherein data is written in the data storage field and the address value is written into the address field; performing further write operations wherein the particular group of sector information is written into the free 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 free block; and upon writing sector information to the second storage space of the free block, modifying the contents of the status flag field to indicate completion of writing to the free block.
-
-
14. 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:
-
a controller device coupled between the host and 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 controller device for identifying a free 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 free block, the controller device for transferring the contents of previously-written sector storage spaces to like-sector storage spaces within the free block, for modifying the status flag value to indicate that the status of the free block is `pending`, for writing sector information to the particular group of sector storage spaces within the free 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 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 one additional write operation thereby increasing the overall performance of the system. - View Dependent Claims (15, 16, 17, 18)
-
Specification