SPI协议——Flash的基本认识

1. 机械硬盘(HDD)和固态硬盘(SSD)

1.1 机械硬盘(HDD)

        构造:机械硬盘由一个或多个磁盘片组成,这些磁盘片在一个密封的外壳内高速旋转。读写磁头悬停在磁盘片表面,通过电磁感应原理读写数据。

        数据存储:每个磁盘片表面被分为多个同心圆轨道和扇区,数据通过改变磁性材料的极性来存储。读写磁头需要移动到正确的位置才能访问数据。

        优缺点:HDD具有高存储容量和低成本的优势,但读写速度相对较慢,容易受到震动和物理损伤。

1.2 固态硬盘(SSD)

        构造:SSD由多个NAND闪存芯片和一个控制器组成。控制器负责管理数据的读写、错误检测和纠正等任务。

        数据存储:通过在NAND闪存芯片的存储单元中存储电荷来表示数据,每个存储单元可以存储一个或多个比特的信息。

        优缺点:SSD的读写速度极快,启动时间短,耐用性和抗震性能高,但单位存储成本较高。

2. Flash存储技术分类

2.1 NOR Flash

        特点:NOR Flash具有独立的地址线和数据线,可以进行随机字节寻址,适合存储需要频繁读取的代码,如BIOS和嵌入式系统的固件。

        速度:读取速度快,但写入和擦除速度较慢,适用于读取操作多于写入操作的场景。

2.2 NAND Flash

        特点:NAND Flash采用复用的地址线和数据线,不能进行随机字节寻址,只能按页读取和写入数据。NAND Flash的存储密度更高,成本更低。

        速度:写入和擦除速度快,但读取速度稍慢于NOR Flash,适合大容量数据存储,如SSD、USB闪存和存储卡。

3. 存储单位

        字节(Byte):计算机存储的基本单位,由8个二进制位组成。内存和存储设备中的数据都是以字节为单位进行存储和传输的。

        页(Page):内存和Flash存储管理的基本单位。在x86架构的Linux系统中,一个页通常是4KB。页在内存管理和Flash存储中用于高效地分配和管理存储空间。

        扇区(Sector):磁盘存储的基本单位,通常为512字节或4KB。磁盘被分成多个扇区,每个扇区用于存储特定的数据块。

        块(Block):文件系统管理的基本单位,由多个扇区组成。文件系统通过块来管理磁盘空间,块的大小通常为4KB或更大。在Flash存储中,擦除操作也是按块进行的。

4. 使用Flash存储时的重要事项

        数据写入特性:Flash存储的每个位只能从1变为0,不能从0变为1。因此,在写入新数据之前,必须将存储区域擦除,即将所有位都置为1。

        出厂状态:大多数Flash存储在出厂时,未使用的空间默认每个位都是1。这是因为制造过程中,存储单元被初始化为1。

        擦除操作:写入数据之前,必须先进行擦除操作。擦除操作将目标存储区域的所有位都置为1,以便新的写入操作可以将1变为0。擦除操作通常按块进行,块的大小取决于具体的Flash芯片。

        擦除时间:擦除操作需要一定时间,尤其是大容量擦除(如整片擦除)可能需要几十秒。擦除时间取决于Flash芯片的类型和制造工艺。

5. 实际应用

        嵌入式系统:嵌入式系统通常使用小容量的NOR Flash存储引导代码和固件,因为NOR Flash支持随机字节读取,非常适合存储程序代码。同时,使用大容量的NAND Flash存储文件系统和用户数据,因为NAND Flash的存储密度高,成本低。

        消费电子产品:在智能手机、平板电脑和笔记本电脑中,SSD越来越普及,因为其高速读写性能和可靠性能够显著提升设备的性能和用户体验。

        数据中心和企业存储:SSD在数据中心和企业存储中得到广泛应用,特别是在需要快速访问大量数据的场景,如数据库、虚拟化和大数据分析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/19890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二叉树的顺序实现-堆

一、什么是堆 在数据结构中,堆(Heap)是一种特殊的树形数据结构,用数组存储,通常被用来实现优先队列。 堆具有以下特点: 堆是一棵完全二叉树(Complete Binary Tree),即…

Unity各类资源链接汇总集合

不定时更新最新的资源都会放在前面 Unity AR VR Mixed Reality 4.0 虚拟现实虚拟加强插件 链接: https://pan.baidu.com/s/1fETUcJfnOlqQR1_rYL4jHQ?pwd=qvcx Unity Inventory Plus Customizable System 2.0.0 背包库存工具 链接:https://pan.baidu.com/s/1yEsmDvIkyY40E6…

下载安装nvm,使用nvm管理node.js版本

目录 一、下载安装nvm(windows) 二、使用nvm管理node.js版本 (1)nvm命令行 (2) 使用nvm管理node.js版本 ①查看nvm版本 ②显示活动的node.js版本 ③列出可供下载的node.js版本 ④安装node.js指定版本 ⑤列出…

HTML+CSS 响应式侧边栏菜单

效果演示 实现了一个响应式的侧边栏菜单,当用户点击菜单按钮时,菜单会从左侧滑出,同时页面内容会向右移动,展示菜单选项。菜单选项包括一个头像和用户名,以及其他的菜单项,当用户将鼠标悬停在菜单项上时,菜单项会高亮显示。这段代码使用了CSS的flex布局和过渡效果,以及…

Oracle登录时出现ERROR: ORA-01031 insufficient privileges

情况: 1.环境: - 操作系统版本:64位win10- Oracle版本:64位 oracle 11g解决方法: 利用DOS命令添加系统用户到ora_dba用户组 2.查看用户组 net localgroup–查看用户组; 3.查看ora_dba用户组下的具体用户&…

input输入框的一些复习

<template><div><div style"text-align: center;margin: 10px 0;"><span style"font-size: 15px;font-weight: bold;">input输入框的基本应用</span></div><el-descriptions :column"3" size"defau…

tinycudann安装

在安装完torch等 直接运行下面的指令会出现错误 pip install githttps://github.com/NVlabs/tiny-cuda-nn/#subdirectorybindings/torch大部分错误是下面的 大概看了一下都是因为虚拟环境里面的include文件下缺少文件&#xff0c;将之前的一些.h文件全部复制过来在执行上面的…

【vue3|第5期】Vue3响应式数据:ref 与 reactive 的深入解析

日期&#xff1a;2024年5月31日 作者&#xff1a;Commas 签名&#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释&#xff1a;如果您觉得有所帮助&#xff0c;帮忙点个赞&#xff0c;也可以关注我&#xff0c;我们一起成长&#xff1b;如果有不对的地方&#xf…

vue3 前端实现导出下载pdf文件

这样的数据实现导出 yourArrayBufferOrByteArray 就是后端返回数据 // 创建Blob对象const blob new Blob([yourArrayBufferOrByteArray], { type: application/pdf });// 创建一个表示该Blob的URLconst url URL.createObjectURL(blob);// 创建一个a标签用于下载const a doc…

前端 JS 经典:闭包与内存泄漏、垃圾回收

1. 闭包 函数嵌套函数&#xff0c;内部函数可以引用外部函数的参数和变量。参数和变量不会被垃圾回收机制收回。 2. 垃圾回收机制 什么是垃圾&#xff1f;就是不再需要的内存。什么是垃圾回收机制&#xff1f;就是浏览器会自动回收掉我们不要的数据。那浏览器怎么判断什么是…

Redis常用命令大全

目录 1、五大数据类型的基本命令 1.1 字符串 1.2 列表 1.3 哈希 1.4 集合 1.5 有序集合 2、与key相关 2.1 查看redis数据的类型 2.2 查看当前redis库中的所有key命令 3、除了五大数据类型外常见命令 3.1 键操作 3.2 服务器操作 3.3 连接操作 3.4 发布/订阅 3.5 事…

大模型时代的具身智能系列专题(六)

UCSD 王小龙组 王小龙是UCSD电子与计算机工程系的助理教授。他曾在加州大学伯克利分校与Alexei Efros和Trevor Darrell一起担任博士后研究员&#xff0c;在CMU RI获得了机器人学博士学位&#xff0c;师从Abhinav Gupta。他的研究重点是通过视频和物理机器人交互数据来学习3D和…

Vue 2.0使用Vue-count-to给数字添加增长动画

在开发后台管理系统时&#xff0c;时常会遇到数据汇总&#xff0c;为了页面展示更生动&#xff0c;用户体验更好&#xff0c;通常会对汇总的数字加一个逐步递增动画。 实现这个效果一般是用的 Vue-count-to这个插件&#xff0c;这是一款简单好用的一个数字滚动插件&#xff0c;…

HTML5 视频 Vedio 标签详解

HTML5 引入了 <video> 标签&#xff0c;允许开发者在网页中直接嵌入视频文件&#xff0c;而不需要依赖第三方插件。本文将全面介绍 <video> 标签的各种属性&#xff0c;并通过实例代码详细说明其用法。 一、基础用法 1. 基本结构 HTML5 中使用 <video> 标…

达梦数据库修改兼容模式设置

达梦数据库兼容模式设置及服务管理操作手册 1. 查询兼容模式 在达梦数据库中&#xff0c;可以通过以下 SQL 查询当前兼容模式&#xff1a; SELECT para_name, para_value FROM v$dm_ini WHERE para_name COMPATIBLE_MODE;2. 设置兼容模式 使用 sp_set_para_value 函数设置…

如何申请微信支付0.2%-0.3%的手续费优惠? 详细步骤

随着微信支付在日常交易中的普及&#xff0c;许多商家开始关注如何降低支付手续费的问题。近期&#xff0c;微信支付推出了一项新的费率优惠政策&#xff0c;允许商家享受0.2%-0.3%的费率优惠。这一政策无疑为商家带来了实质性的成本节约。那么&#xff0c;商家如何申请这一费率…

Oracle RAC 集群配置共享目录ACFS

Oracle RAC 集群配置共享目录ACFS 应用场景&#xff1a;创建的ACFS文件系统用于部署OGG做数据同步使用。 1、创建共享磁盘组 create diskgroup OGG external redundancy disk /dev/mapper/ASM08, /dev/mapper/ASM09; 2、创建 acfs 文件系统 ACFS文件系统 在ASM磁盘组中通过A…

开源还是闭源这是一个问题

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

线性数据结构-数组

数组&#xff1a;线性数据结构&#xff08;一维数组结构&#xff09; 线性的数据结构强调存储和顺序 数组在内存存储空间上是连续的&#xff0c;并且长度固定不可变更 数组扩容 因为数组定长&#xff0c;当想往长度为8的数组中添加第九个元素时&#xff0c;操作系统会开辟一段…