Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Flash memory
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
====Writing and erasing==== NAND flash uses [[tunnel injection]] for writing and [[tunnel release]] for erasing. NAND flash memory forms the core of the removable [[Universal Serial Bus|USB]] storage devices known as [[USB flash drive]]s, as well as most [[memory card]] formats and [[solid-state drive]]s available today. The hierarchical structure of NAND flash starts at a cell level which establishes strings, then pages, blocks, planes and ultimately a die. A string is a series of connected NAND cells in which the source of one cell is connected to the drain of the next one. Depending on the NAND technology, a string typically consists of 32 to 128 NAND cells. Strings are organised into pages which are then organised into blocks in which each string is connected to a separate line called a bitline. All cells with the same position in the string are connected through the control gates by a wordline. A plane contains a certain number of blocks that are connected through the same bitline. A flash die consists of one or more planes, and the peripheral circuitry that is needed to perform all the read, write, and erase operations. The architecture of NAND flash means that data can be read and programmed (written) in pages, typically between 4 KiB and 16 KiB in size, but can only be erased at the level of entire blocks consisting of multiple pages. When a block is erased, all the cells are logically set to 1. Data can only be programmed in one pass to a page in a block that was erased. The programming process is set one or more cells from 1 to 0. Any cells that have been set to 0 by programming can only be reset to 1 by erasing the entire block. This means that before new data can be programmed into a page that already contains data, the current contents of the page plus the new data must all be copied to a new, erased page. If a suitable erased page is available, the data can be written to it immediately. If no erased page is available, a block must be erased before copying the data to a page in that block. The old page is then marked as invalid and is available for erasing and reuse.<ref name="hyperstone-20180607">{{Cite web |date=7 June 2018 |title=NAND Flash Controllers - The key to endurance and reliability |url=https://www.hyperstone.com/en/NAND-Flash-controllers-The-key-to-endurance-and-reliability-1256,12728.html |url-status=live |archive-url=https://web.archive.org/web/20230605095907/https://www.hyperstone.com/en/NAND-Flash-controllers-The-key-to-endurance-and-reliability-1256,12728.html |archive-date=5 June 2023 |access-date=1 June 2022 |work=hyperstone.com }}</ref> This is different from operating system [[logical block addressing|LBA]] view, for example, if operating system writes 1100 0011 to the flash storage device (such as [[SSD]]), the data actually written to the flash memory may be 0011 1100.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)