本文将mark下SSD basic knowledge。

Topology

  • Flash Controller
  • Channel
  • Chip
  • Die
  • Plane(Bank)
  • Block
  • Page

Basic Operations

There are three low-level operations that a flash chip supports. The read command is used to read a page from the flash; erase and program are used in tandem to write.

  • Read (a page): A client of the flash chip can read any page, simply by specifying the read command and appropriate page number to the device.

  • Erase (a block): Before writing to a page within a flash, the nature of the device requires that you first erase the entire block the page lies within. Erase, importantly, destroys the contents of the block(by setting each bit to the value 1); therefore, you must be sure that any data you care about in the block has been copied elsewhere (to memory, or perhaps to another flash block) before executing the erase. The erase command is quite expensive, taking a few milliseconds to complete. Once finished, the entire block is reset and each page is ready to be programmed.

  • Program (a page): Once a block has been erased, the program command can be used to write the desired contents of a page to the flash.


参考资料:

  1. Flash-based SSDs
  2. We Ain’t Afraid of No File Fragmentation: Causes and Prevention of Its Performance Impact on Modern Flash SSDs