什么是NAND Flash?
什么是NAND Flash?
NAND闪存是一种非易失性存储器技术,它彻底改变了数字时代的数据存储。它是闪存的一种形式,这意味着它可以被电擦除和重新编程。NAND闪存以NAND(NOT-AND)逻辑门命名,该逻辑门用于其基本架构。术语“NAND”源自存储单元以串联连接结构的方式组织,类似于NAND门。该技术广泛用于各种存储设备,例如固态硬盘 (SSD)、USB 闪存驱动器、存储卡和智能手机。
(左图)NAND闪存阵列的示意图。串联连接的器件的垂直string经由由drain select line(DSL)和source select line(SSL)驱动的选择晶体管附接到bitlines 和 sourceline;
(右图)阵列沿着WL方向(a)和串方向(b)的示意性横截面(绿色=硅,红色=浮栅,红色=WL,白色=氧化硅)。(c)显示了具有基本单元(虚线)的阵列布局
NAND Flash主要特点
- 存储单元结构
NAND Flash存储器的基本存储单元是浮栅晶体管。这些晶体管可以存储一位信息(0或1),多个晶体管组合在一起形成存储单元。
- 存取方式
NAND Flash允许随机访问,但通常以页为单位进行读取和写入操作。擦除操作则以块为单位进行。
- 写入和擦除周期
NAND Flash可以经受数万到数十万次的写入和擦除周期,但它的寿命通常比NOR Flash要短。
- 速度
NAND Flash的读写速度通常比NOR Flash快,这使得它更适合用于大量数据的存储。
- 成本
由于结构相对简单,NAND Flash的单位存储成本较低,因此在大容量存储应用中更具成本效益。
- 错误率
NAND Flash比其他类型的存储器更容易出现位错误,因此通常需要错误校正码(ECC)来确保数据的完整性。
- 接口
NAND Flash设备通常通过I/O接口与控制器通信,支持多种接口标准,如ONFI(Open NAND Flash Interface Working Group)和Toggle Mode。
- 应用
由于其高存储密度和成本效益,NAND Flash在消费电子、企业存储解决方案和嵌入式系统中得到了广泛应用。
NAND Flash工作原理
NAND Flash 的存储单元是一种三端器件,与场效应管类似,包含源极、漏极和栅极,栅极与硅衬底之间有二氧化硅绝缘层,用于保护浮置栅极中的电荷不会泄漏,从而使存储单元具有电荷保持能力。其擦除和写入数据基于隧道效应,即电流穿过浮置栅极与硅基层之间的绝缘层,对浮置栅极进行充电(写数据)或放电(擦除数据)。
NAND Flash 通过在存储单元中存储电荷来表示数据。每个存储单元可以存储一个或多个比特的数据。在写入数据时,电子被注入到存储单元中;在读取数据时,通过检测存储单元中的电荷状态来确定存储的数据。擦除数据时,通过施加高电压将存储单元中的电荷释放掉。
NAND Flash基于浮栅晶体管,浮栅晶体管排列成网格状阵列。每个晶体管有两个栅极:一个控制栅极和一个浮动栅极。浮动栅极由氧化层电隔离,使其能够捕获电子。浮栅上电子的存在与否决定了存储单元的二进制状态,代表“0”或“1”。
读取数据
为了从NAND闪存单元读取数据,需要向控制门施加电压。如果浮栅上存在电子,晶体管将不会传导电流,表示“0”状态。如果浮栅为空,晶体管将传导电流,表示“1”状态。
写入和擦除数据
将数据写入NAND闪存单元涉及称为Fowler-Nordheim隧道的过程。对控制栅极施加高压,使电子穿过氧化层并进入浮栅,将cell设置为“0”状态。擦除数据涉及在相反方向上施加高压,从而从浮栅中去除电子,使cell回到“1”状态。
NAND闪存架构
NAND Flash 的数据是以位(bit)的方式保存在存储单元(memory cell)中,多个存储单元以 8 个或 16
个为单位连成位线(bit line),形成字节(byte)或字(word),这就是 NAND 器件的位宽。
这些位线再组成页(page),每页包含一定数量的字节,通常还有一部分额外的空间用于存储纠错码等信息。多个页又组成块(block)。NAND Flash 以页为单位进行读写操作,以块为单位进行擦除操作。
NAND闪存单元组织在一个串联的字符串中,称为NAND字符串。多个NAND串形成一个块,多个块形成一个平面。NAND闪存芯片由一个或多个平面组成。这种分层结构可实现高存储密度和快速读写操作。
NAND闪存根据每个存储单元存储的位数可分为两种主要类型:
- Single-Level Cell(SLC)
每个存储单元存储一位数据,表示“0”或“1”。与 MLC 相比,SLC NAND 闪存提供更快的读写速度、更高的耐用性和更低的功耗。
- Multi-Level Cell(MLC)
每个存储单元使用多个电压电平存储两个或更多位数据。与 SLC 相比,MLC NAND 闪存可实现更高的存储密度和更低的每比特成本,但代价是读取和写入速度较慢,耐久性降低。
NAND Flash发展历程
- 诞生阶段(20 世纪 80 年代):
1987 年,时任日本东芝公司工程师岡本成之提出了 2D NAND 技术,这是 NAND Flash 的起源。当时,东芝虽然占据了市场先机,但战略重心偏向 DRAM 市场,一定程度上忽略了 NAND Flash 的发展潜力。随后,英特尔和三星等公司也迅速加入该领域,推出了自己的 2D NAND 产品。在这一阶段,NAND Flash 主要应用于一些特定的电子设备,如数字电话答录机等。
- 小型闪存卡兴起阶段(20 世纪 90 年代 - 21 世纪初):
随着数码摄影的普及,一系列小型闪存卡应运而生,包括 PCMCIA(PC 卡)、CompactFlash、SmartMedia、MultiMediaCard(MMC)和 SecureDigital(SD)卡等,这些小型闪存卡的存储介质主要是 NAND Flash。这使得 NAND Flash 的应用范围得到了极大的扩展,市场需求也开始快速增长。
- 市场扩张阶段(21 世纪初 - 2010 年代):
随着 NAND Flash 成本的不断降低,其应用范围进一步扩大。从数码相机扩展到了 USB 闪存驱动器,进而取代了软盘和可写 CD 等传统存储设备。同时,音频播放设备从传统的磁带和 CD 播放器转变为 MP3 播放器,也推动了 NAND Flash 的需求增长。在这一时期,NAND Flash 逐渐成为了主流的存储技术之一,市场规模不断扩大。
- 3D NAND 技术发展阶段(2010 年代 - 至今):
技术概念
提出 2007 年,东芝推出 BICS 类型的 3D NAND,标志着 NAND Flash技术从二维平面堆叠向三维立体堆叠的转变。这种技术通过在垂直方向上堆叠存储单元,大大提高了存储密度,为 NAND Flash的进一步发展提供了新的方向。
商业化量产
2013 年,三星推出第一代 V-NAND(三星自称 3D NAND 为 V-NAND)闪存并投入量产,虽然该款堆叠层数仅为
24 层,但在当时却打破了平面技术的瓶颈,并使 3D NAND 从技术概念推向了商业市场。
层数不断增加
从 2014 年开始,各大厂商纷纷推出更高层数的 3D NAND 产品。例如,三星陆续推出了 32 层、48 层、64层、96 层、128 层、176 层等不同层数的 V-NAND;SK 海力士按照 48 层、72 层 / 76 层、96 层、128 层、176 层、238 层的顺序陆续推出闪存新产品;美光也在不断提高其 3D NAND 的层数。
技术持续演进
在 3D NAND 技术发展的过程中,厂商们还在不断改进和优化技术,以提高存储性能、降低成本。例如,长江存储自研出了Xtacking 架构,大幅度提高了存储密度。
相关文章:

什么是NAND Flash?
什么是NAND Flash? NAND闪存是一种非易失性存储器技术,它彻底改变了数字时代的数据存储。它是闪存的一种形式,这意味着它可以被电擦除和重新编程。NAND闪存以NAND(NOT-AND)逻辑门命名,该逻辑门用于其基本架构。术语“…...

Spring Boot 整合 Keycloak
1、概览 本文将带你了解如何设置 Keycloak 服务器,以及如何使用 Spring Security OAuth2.0 将 Spring Boot 应用连接到 Keycloak 服务器。 2、Keycloak 是什么? Keycloak 是针对现代应用和服务的开源身份和访问管理解决方案。 Keycloak 提供了诸如单…...

工程师 - Windows下使用WSL来访问本地的Linux文件系统
Access Linux filesystems in Windows and WSL 2 从 Windows Insiders 预览版构建 20211 开始,WSL 2 将提供一项新功能:wsl --mount。这一新参数允许在 WSL 2 中连接并挂载物理磁盘,从而使您能够访问 Windows 本身不支持的文件系统࿰…...

SQL高可用优化-优化SQL中distinct和Where条件对索引字段进行非空检查语句
最近做一个需求,关于SQL高可用优化,需要优化项目中的SQL,提升查询效率。 SQL高可用优化 一、优化SQL包含distinct场景二、优化SQL中Where条件中索引字段是否为NULL三、代码验证1. NodeMapper2. NodeService3. NodeController4.数据库数据5.项…...
openharmony源码编译
1. win拷贝数据到虚拟机Ubuntu配置 1.打开终端,更新软件库 sudo apt-get update 2.下载安装open-vm-tools,open-vm-tools-desktop sudo apt-get install open-vm-tools open-vm-tools-desktop 3.重启 sudo reboot 2.编译环境配置 1.设置环境脚本…...
H.264编解码工具 - NVIDIA CUDA
一、简介 NVIDIA CUDA编解码是一项采用NVIDIA图形处理器(GPU)来加速视频编码和解码的技术。CUDA(Compute Unified Device Architecture)是一种并行计算平台和编程模型,允许开发者使用GPU来进行通用计算。 优点: 加速编解码速度:CUDA编解码利用GPU的并行处理能力,可以…...
数学建模小练习
题目B 电影《虎胆龙威 3》中,塞谬尔和布鲁斯扮演的主角要拆除西蒙所放的炸弹。西蒙喷泉上面有两个壶,容量分别是5加仑和3加仑,向其中一个壶中加入刚好 4 加仑的水,计时器会停止,否则5分钟后会爆炸。 问题:能够安全拆弹…...

Java爬虫:获取SKU详细信息的艺术
在电子商务的世界里,SKU(Stock Keeping Unit,库存单位)是每个商品的唯一标识符,它包含了商品的详细信息,如尺寸、颜色、价格等。对于商家和开发者来说,获取商品的SKU详细信息对于库存管理、订单…...

心理咨询展示网站建设渠道拓展
心理问题长期以来都受到关注,每个城市里也都有相关服务商家,除了进店外,线上也可以开展咨询服务,对需求者来说需要找到靠谱的品牌,而商家也需要触达到更多客户获取转化。 网站是品牌线上工具,利于商家通过…...

naocs注册中心,配置管理,openfeign在idea中实现模块间的调用,getway的使用
一 naocs注册中心步骤 1 nacos下载安装 解压安装包,直接运行bin目录下的startup.cmd 这里双击运行出现问题的情况下 (版本低的naocs) 在bin目录下 打开cmd 运行以下命令 startup.cmd -m standalone 访问地址: http://localh…...

先进封装技术 Part02---TSV科普
一、引言 随着电子设备向更小型化、更高性能的方向发展,传统的芯片互连技术已经无法满足日益增长的需求。在这样的背景下,TSV(Through-Silicon Via,硅通孔)技术应运而生,成为先进封装技术中的核心之一。 如果我们看大多数主板,可以看到两件事:第一,芯片之间的大多数连…...
【数据挖掘】2023年 Quiz 1-3 整理 带答案
目录 Quiz 1Quiz 2Quiz 3Quiz 1 Problem 1(30%). Consider the training data shown below. Here, A , B A, B A,B, and...

老古董Lisp实用主义入门教程(12):白日梦先生的白日梦
白日梦先生的白日梦 白日梦先生已经跟着大家一起学Lisp长达两个月零五天! 001 粗鲁先生Lisp再出发002 懒惰先生的Lisp开发流程003 颠倒先生的数学表达式004 完美先生的完美Lisp005 好奇先生用Lisp来探索Lisp006 好奇先生在Lisp的花园里挖呀挖呀挖007 挑剔先生给出…...

UE5 Windows热更新解决方案思路(HotPatcher+Tomcat+RuntimeFilesDownloader)
以下个人学习笔记。其中必会存在一些问题,仅作参考。本人版本5.1。 参考视频: UE4热更新:HotPatcher插件使用教程_哔哩哔哩_bilibili 3.检查需要下载的版本_哔哩哔哩_bilibili 参考文章: UE 热更新:Questions &…...
进程管理工具:非daemon进程管理工具supervisor
一、非daemon进程管理工具:supervisor Windows安装supervisor https://pypi.org/project/supervisor-win/4.5.0/#files 一)进程管理supervisor简介 supervisor是一个 Client/Server模式的系统,允许用户在类unix操作系统上监视和控制多个进程&…...

c++模拟真人鼠标轨迹算法
一.鼠标轨迹算法简介 鼠标轨迹底层实现采用 C / C语言,利用其高性能和系统级访问能力,开发出高效的鼠标轨迹模拟算法。通过将算法封装为 DLL(动态链接库),可以方便地在不同的编程环境中调用,实现跨语言的兼…...

android12/13/14版本wms最新面试题:dumpsys window和sf一定会一致么?
背景: 近期学员们学习了马哥wms课程后,去参加相关的大厂的framework面试,有一个学员朋友带回来了一个wms相关的面试题,具体面试题描述如下: 问题1 请问wms的window和SurfaceFlinger的Layer有什么关系? 回…...
Python脚本示例,你可以使用这个脚本来自动化登录网站、选择页面元素和提交表单
devtools 元素页面可以选择元素,copy xpath用于查找 python编程:1、浏览器登录https://58.xxx/ 账号:xxx 密码:FN123456 2、选择“技能训练” 3、选择“云网智能运维员培训相关资料” 4、选择“L1-Linux操作系统与运维题库” 5、依次选择1-50题目&#x…...

安卓13设置动态修改设置显示版本号 版本号增加信息显示 android13增加序列号
总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 设置 =》关于平板电脑 =》版本号 在这里显示了系统的一些信息,但是这里面的信息并不包含序列号之类的信息,我们修改下系统设置,在这里增加上相关的序列号。 2.问题分析…...
从 Oracle 集群到单节点环境(详细记录一次数据迁移过程)之三:在目标服务器上恢复数据
从 Oracle 集群到单节点环境(详细记录一次数据迁移过程)之三:在目标服务器上恢复数据 目录 从 Oracle 集群到单节点环境(详细记录一次数据迁移过程)之三:在目标服务器上恢复数据一、修改参数文件的内容二、…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...

wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...

【UE5 C++】通过文件对话框获取选择文件的路径
目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...