DATA STORAGE APPARATUS WITH BLOCK RECLAIM FOR NONVOLATILE BUFFER

Information

  • Patent Application
  • 20070186065
  • Publication Number
    20070186065
  • Date Filed
    January 29, 2007
    18 years ago
  • Date Published
    August 09, 2007
    17 years ago
Abstract
An embodiment of a data storage apparatus includes a storage medium, a flash memory buffer configured to store write data to be written in the storage medium, and a controller configured to compare the amount of unused space in the flash memory buffer to a first reference value, compare the amount of valid data in the flash memory buffer to a second reference value, and in response to the comparisons, conducts either a block reclaim operation on the flash memory buffer or a buffer flash operation to transfer valid data from the flash memory buffer to the storage medium. An embodiment of a method for managing a data storage apparatus includes determining when to perform a reclaim operation on a nonvolatile memory buffer, and performing the reclaim operation by moving data either physically or virtually within the nonvolatile memory buffer.
Description

BRIEF DESCRIPTION OF THE FIGURES

Non-limiting and non-exhaustive embodiments of the present invention will be described with reference to the following figures, wherein like reference numerals refer to like parts throughout the various figures unless otherwise specified. In the figures:



FIG. 1 is a block diagram showing a computer system having a data storage apparatus;



FIGS. 2, 3A and 3B are schematic diagrams illustrating a buffer flash operation of the data storage apparatus shown in FIG. 1;



FIG. 4 is a schematic diagram illustrating a block reclaim operation of the data storage apparatus shown in FIG. 1;



FIGS. 5, 6A to 6C and 7 are schematic diagrams illustrating operational features of a block reclaim in accordance with an embodiment of the present invention;



FIGS. 8, 9 and 10A to 10C are schematic diagrams illustrating operational features of a block reclaim in accordance with another embodiment of the present invention; and



FIG. 11 is a flow chart showing the block reclaim operation of a data storage apparatus in accordance with another embodiment of the present invention.


Claims
  • 1. A data storage apparatus comprising: a storage medium;a flash memory buffer configured to store write data to be written in the storage medium; anda controller configured to regulate a data transfer operation between the flash memory buffer and the storage medium,wherein the controller compares the amount of unused space in the flash memory buffer to a first reference value and compares the amount of valid data in the flash memory buffer to a second reference value, and in response to the comparisons, conducts either a block reclaim operation on the flash memory buffer or a buffer flash operation to transfer valid data from the flash memory buffer to the storage medium.
  • 2. The data storage apparatus as set forth in claim 1 wherein, when the controller receives an external request for a data transfer operation during a block reclaim operation, the controller suspends the block reclaim operation to conduct the requested data transfer operation.
  • 3. The data storage apparatus as set forth in claim 2 wherein the controller resumes the suspended block reclaim operation if an additional request for a data transfer operation is not received during a predetermined time.
  • 4. The data storage apparatus as set forth in claim 1 wherein, when the amount of unused space in the flash memory buffer is less than the first reference value and the amount of valid data in the flash memory buffer is less than the second reference value, the controller begins the block reclaim operation on memory blocks storing invalid data in the flash memory buffer.
  • 5. The data storage apparatus as set forth in claim 1 wherein, when the amount of unused space in the flash memory buffer in less than the first reference value and the amount of valid data in the flash memory buffer greater than the second reference value, the controller conducts the buffer flash operation to move valid data from the flash memory buffer into the storage medium.
  • 6. The data storage apparatus as set forth in claim 1 wherein, when the flash memory buffer is managed in accordance with a physical address mapping, memory blocks storing invalid data are reclaimed and reused by shifting a base pointer by one or more memory blocks into an unused space and copying data from a memory block designated by a previous base pointer into a memory block designated by the current base pointer.
  • 7. The data storage apparatus as set forth in claim 6 wherein the block reclaim operation for reclaiming the memory blocks storing the invalid data is carried out with reference to information about the number of pages and a start address of valid data stored in an active page list table.
  • 8. The data storage apparatus as set forth in claim 1 wherein, when the flash memory buffer is managed in accordance with a logical address mapping, memory blocks storing invalid data are reclaimed and reused by removing a logical-physical address mapping of a memory block having only invalid data and altering a logical-physical address mapping of a memory block having at least a page storing valid data.
  • 9. The data storage apparatus as set forth in claim 8 wherein, when a first memory block stores both valid and invalid data, the first memory block is reclaimed and reused by copying valid data from the first memory block into an empty memory block, rendering the first memory block as an invalid block, and removing a logical-physical address mapping of the first memory block.
  • 10. A method for managing a data storage apparatus having a storage medium and a flash memory buffer for storing data to be written into the storage medium, the method comprising: determining whether unused space occupies the flash memory buffer at a rate lower than a first reference value;determining whether a valid data rate in the flash memory buffer is lower than a second reference value when the unused space occupies the flash memory buffer at a rate smaller than the first reference value; andconducting a block reclaim operation on the flash memory buffer when the valid data rate in the flash memory buffer is lower than the second reference value.
  • 11. The method as set forth in claim 10, further comprising: conducting a buffer flash operation on valid data in the flash memory buffer when the valid data rate is higher than the second reference value.
  • 12. The method as set forth in claim 10, further comprising: determining whether there is an external request for a data transfer operation during the block reclaim operation.
  • 13. The method as set forth in claim 12 wherein, when there is an external request for a data transfer operation, the block reclaim operation is suspended.
  • 14. The method as set forth in claim 13 wherein, after a predetermined time following completion of the requested data transfer operation, the suspended block reclaim operation is resumed.
  • 15. The method as set forth in claim 10 wherein, when the flash memory buffer is managed in accordance with a physical address mapping, memory blocks storing invalid data are reclaimed and reused by shifting a base pointer by one or more memory blocks into an unused space and copying data from a memory block designated by a previous base pointer into a memory block designated by the current base pointer,
  • 16. The method as set forth in claim 15 wherein the block reclaim operation for reclaiming the memory blocks storing the invalid data is carried out with reference to information about the number of pages and a start address of valid data stored in an active page list table.
  • 17. The method as set forth in claim 10 wherein, when the flash memory buffer is managed in accordance with a logical address mapping, memory blocks storing invalid data are reclaimed and reused by removing a logical-physical address mapping of a memory block having only invalid data and altering a logical-physical address mapping of a memory block having at least a page storing valid data.
  • 18. The method as set forth in claim 17 wherein, when a first memory block stores both valid and invalid data, the first memory block is reclaimed and reused by copying valid data from the first memory block into an empty memory block, rendering the first memory block as an invalid block, and removing a logical-physical address mapping of the first memory block.
  • 19. A method for managing a data storage apparatus having a storage medium and a nonvolatile memory buffer for storing data to be written into the storage medium, the method comprising: determining when to perform a reclaim operation on the nonvolatile memory buffer; andperforming the reclaim operation by moving data within the nonvolatile memory buffer.
  • 20. The method as set forth in claim 19 wherein moving data comprises physically moving data by copying the data from a first block to a second block in the nonvolatile memory buffer.
  • 21. The method as set forth in claim 19 wherein moving data comprises virtually moving data by changing logical-physical address mappings.
  • 22. The method as set forth in claim 19 further comprising performing a physical garbage block collection on a memory block having both valid and invalid data in the nonvolatile memory buffer.
Priority Claims (1)
Number Date Country Kind
2006-10842 Feb 2006 KR national