操作系统(17)----- 固态硬盘SSD

简介: 操作系统(17)----- 固态硬盘SSD
1.原理

如图所示,机械硬盘存储数据是通过盘面的磁性物质来记录二进制的0和1的,而固态硬盘存储数据是基于闪存技术(FLASH Memory),属于电可擦除ROM,即EEPROM

2.固态硬盘的组成

(1)闪存翻译层

(2)存储介质

存储介质由多个闪存芯片组成,


系统通过I/O总线,向SSD发送要读/写的逻辑块号,即逻辑地址,这一逻辑地址经过闪存翻译层翻译后,会映射到对应的物理地址,所以闪存翻译层可以将逻辑地址转换为物理地址,由于固态硬盘的读写以页为单位,所以每一个逻辑块,对应闪存芯片的一个页


固态硬盘包括多个闪存芯片,这些闪存芯片都能存储数据,每个闪存芯片由多个数据块组成,每个块的大小16KB~512KB,而每一个块又能进一步拆分为页,每页大小512B~4KB,系统对固态硬盘的读写是以页为单位的,而对机械硬盘的读写是以块/扇区为单位的

3.固态硬盘的读写性能

① 从固态硬盘的组成可知,对固态硬盘的读写是以页为单位的,相当于磁盘的"扇区"


② 固态硬盘是以块(block)为单位“擦除"的,擦干净的块,其中的每页都可以写一次(也就是当某页已经有数据,那么就不能写入数据了,只能将页所在的块擦干净,再往其中写入数据),读无限次

③ 读快,写慢。要写的页如果有数据,则不能写入,需要将块内其他页全部复制到一个新的(擦除过的)块中,再写入新的页

若内存芯片1中的块1的第一个页想要写入数据,那么就要把块1全部擦除,这样会导致其他页数据丢失

系统会将其他页的数据,移动到另一个块中

再将新数据写到移动后的块中

但是闪存翻译层会将逻辑块号翻译为物理地址,也就是逻辑块号和物理地址是有一一映射关系的,但是经过写入数据后,数据的物理位置发生改变,为了让映射关系正确,在数据移动后,闪存翻译层会对逻辑块号重新映射到正确的物理位置,原来的映射关系废弃


所以,固态硬盘闪存芯片组中的物理位置可能改变,只是闪存翻译层会将映射关系修改正确

④ 支持随机访问,系统给定一个逻辑地址,闪存翻译层可通过电路迅速定位到对应的物理地址


4.固态硬盘与机械硬盘比较

① SSD读写速度快,随机访问性能高,用电路控制访问位置;机械硬盘通过移动磁臂旋转磁盘控制访问位置,有寻道时间和旋转延迟

② SSD 安静无噪音、耐摔抗震、能耗低、造价更贵

③ SSD的一个"块"被擦除次数过多(重复写同一个块)可能会坏掉,而机械硬盘的扇区不会因为写的次数太多而坏掉


5.磨损均衡技术

由于SSD的一个"块"被擦除次数过多(重复写同一个块)可能会坏掉,所以引入了磨损均衡技术,将"擦除"平均分布在各个块中,以提升使用寿命


(1)动态磨损均衡

写入数据时,优先选择累计擦除次数少的新闪存块,因为系统无论选择什么位置,闪存翻译层都能将逻辑块号与物理地址进行正确映射


(2)静态磨损均衡

SSD监测并自动进行数据分配、迁移,让老旧的闪存块承担以读为主的储存任务,让较新的闪存块承担更多的写任务

例,某固态硬盘采用磨损均衡技术,大小为2^40B=1TB,闪存块的擦写寿命只有2^10=1K次。某男子平均每天会对该固态硬盘写2^37B=128GB数据。在最理想的情况下,这个固态硬盘可以用多久?

SSD采用磨损均衡技术,最理想情况下,SSD中每个块被擦除的次数都是完全均衡的。

1TB/128GB=8

因此,平均每8天,每个闪存块需要擦除一次。每个闪存块可以被擦除1K次,因此,经过8K天,约23年后,该固态硬盘被男子玩坏

目录
相关文章
|
11月前
|
存储 缓存 固态存储
重学操作系统----05 | 存储器分级:L1 Cache 比内存和 SSD 快多少倍?
重学操作系统----05 | 存储器分级:L1 Cache 比内存和 SSD 快多少倍?
211 0
|
存储 测试技术 iOS开发
|
22天前
|
存储 Linux 数据处理
探索Linux操作系统的内核与文件系统
本文深入探讨了Linux操作系统的核心组件,包括其独特的内核结构和灵活的文件系统。文章首先概述了Linux内核的主要功能和架构,接着详细分析了文件系统的工作原理以及它如何支持数据存储和检索。通过比较不同的文件系统类型,本文旨在为读者提供一个关于如何根据特定需求选择合适文件系统的参考框架。
|
13天前
|
存储 缓存 安全
Linux基础——冯诺依曼体系结构与操作系统
Linux基础——冯诺依曼体系结构与操作系统
38 1
Linux基础——冯诺依曼体系结构与操作系统
|
24天前
|
Linux 数据安全/隐私保护 虚拟化
04. 【Linux教程】安装 Linux 操作系统
04. 【Linux教程】安装 Linux 操作系统
61 3
04. 【Linux教程】安装 Linux 操作系统
|
9天前
|
Linux 网络安全 虚拟化
Linux操作系统第一章(Linux操作系统的带入,vmware-17虚拟化软件运用,FinalShell远程连接Linux )
Linux操作系统第一章(Linux操作系统的带入,vmware-17虚拟化软件运用,FinalShell远程连接Linux )
|
14天前
|
网络协议 Linux 数据安全/隐私保护
【Linux操作系统】权限管理和粘滞位
【Linux操作系统】权限管理和粘滞位
【Linux操作系统】权限管理和粘滞位
|
14天前
|
Linux
【Linux操作系统】基本指令-2
【Linux操作系统】基本指令
【Linux操作系统】基本指令-2
|
14天前
|
Ubuntu Unix 大数据
【Linux操作系统】历史与环境
【Linux操作系统】历史与环境
【Linux操作系统】历史与环境
|
18天前
|
缓存 Linux Windows
初识Linux操作系统(根目录下的重要文件)(命令提示符的含义)
Linux系统基于"一切皆文件"的理念,重要文件分布在如/root(root用户目录)、/home(普通用户目录)、/etc(应用配置)、/dev(设备文件)、/boot(内核及启动文件)、/proc(动态系统信息)、/lib64(库文件)、/opt(软件存放)、/tmp(临时文件)。"[root@localhost ~]#"代表管理员在root目录,"$"代表普通用户。创建新用户用`useradd`命令。调节终端字体大小:Ctrl+Shift++增大,Ctrl+减号缩小。绝对路径从根目录开始,相对路径从当前目录开始。

热门文章

最新文章