Apacer
5
© 2020 Apacer Technology Inc.
2. Flash Management
2.1 Bad Block Management
Current production technology is unable to guarantee total reliability of NAND flash memory array.
When a flash memory device leaves factory, it comes with a minimal number of initial bad blocks
during production or out-of-factory as there is no currently known technology that produce flash chips
free of bad blocks. In addition, bad blocks may develop during program/erase cycles. Since bad
blocks are inevitable, the solution is to keep them in control. Apacer flash devices are programmed
with ECC, block mapping technique and S.M.A.R.T to reduce invalidity or error. Once bad blocks are
detected, data in those blocks will be transferred to free blocks and error will be corrected by
designated algorithms.
2.2 Global Wear Leveling
Flash memory devices differ from Hard Disk Drives (HDDs) in terms of how blocks are utilized. For
HDDs, when a change is made to stored data, like erase or update, the controller mechanism on
HDDs will perform overwrites on blocks. Unlike HDDs, flash blocks cannot be overwritten and each
P/E cycle wears down the lifespan of blocks gradually. Repeatedly program/erase cycles performed
on the same memory cells will eventually cause some blocks to age faster than others. This would
bring flash storages to their end of service term sooner. Global wear leveling is an important
mechanism that levels out the wearing of all blocks so that the wearing-down of all blocks can be
almost evenly distributed. This will increase the lifespan of SSDs.
2.3 S.M.A.R.T.
S.M.A.R.T. is an abbreviation for Self-Monitoring, Analysis and Reporting Technology, a self-
monitoring system that provides indicators of drive health as well as potential disk problems. It serves
as a warning for users from unscheduled downtime by monitoring and displaying critical drive
information. Ideally, this should allow taking proactive actions to prevent drive failure and make use of
S.M.A.R.T. information for future product development reference.
2.4 TRIM
TRIM, though in capital letters usually, is a memory computation command rather than an
abbreviation. It is mainly a SATA command that enables the operating system to inform the SSD
(Solid State Drive) which blocks of previously stored data are no longer valid, due to erases by the
host or operating system, such as file deletions or disk formatting. Once notified, SSD will begin the
discard of the invalid LBAs and retain more space for itself, in fact, the discarded is no longer
recoverable.
When an LBA is replaced by the operating system, as with overwrite of a file, the SSD is informed that
the originally occupied LBA is determined as no longer in use or invalid. The SSD will not save those
blocks in garbage collected sectors. Noticeably, a file deletion command by host or operating system
never actually erases the actual content, but marks the file as deleted. This issue is even specifically
noticeable for flash based memory devices, such as SSDs. In fact, an SSD will keep garbage
collecting the invalid, previously occupied LBAs, if it is not informed that these LBAs can be erased.
Thus, the SSD would experience a significant performance downfall.