磁盘管理(初始化,引导块,坏块管理,固态硬盘)

2023-10-30 03:20

本文主要是介绍磁盘管理(初始化,引导块,坏块管理,固态硬盘),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 1.磁盘初始化
  • 2.引导块
  • 3.坏块的管理
    • 1.坏块检查
    • 2.坏块链表
    • 3.扇区备用
  • 4.固态硬盘(SSD)
    • 1.原理
    • 2.组成
    • 3.读写性能特性
    • 4.与机械硬盘相比
    • 5.磨损均衡技术

1.磁盘初始化

①进行低级格式化(物理格式化),将磁盘的各个磁道划分为扇区
一个扇区通常可分为头、数据区域(如512B大小)、尾三个部分组成。
管理扇区所需要的各种数据结构一般存放在头、尾两个部分,包括扇区校验码(如奇偶校验、CRC循环冗余校验码等,校验码用于校验扇区中的数据是否发生错误)
②:将磁盘分区,每个分区由若干柱面组成(即分为我们熟悉的C盘、D盘、E盘)
③:进行逻辑格式化,创建文件系统。包括创建文件系统的根目录、初始化存储空间管理所用的数据结构(如位示图、空闲分区表)
在这里插入图片描述

2.引导块

计算机开机时需要进行一系列初始化的工作,这些初始化工作是通过执行初始化程序(自举程序)完成的。
ROM(只读存储器)存放很小的自举装入程序
①开机时计算机先运行ROM中的“自举装入程序”,通过执行该程序就可找到引导块,并将完整的“自举程序”读入内存,完成初始化。
②完整的自举程序放在磁盘的启动块(即引导块/启动分区)上,启动块位于磁盘的固定位置。 拥有启动分区的磁盘称为启动磁盘或系统磁盘(即C:盘)

3.坏块的管理

在这里插入图片描述

坏了、无法正常使用的扇区就是“坏块”。
这属于硬件故障,操作系统是无法修复的。
应该将坏块标记出来,以免错误地使用到它。

1.坏块检查

对于简单的磁盘,可以在逻辑格式化时(建立文件系统时)对整个磁盘进行坏块检查,标明哪些扇区是坏扇区,比如:在 FAT表上标明。(在这种方式中,坏块对操作系统不透明)

2.坏块链表

对于复杂的磁盘,磁盘控制器(磁盘设备内部的一个硬件部件)会维护一个坏块链表。
在磁盘出厂前进行低级格式化(物理格式化)时就将坏块链进行初始化。

3.扇区备用

会保留一些“备用扇区”,用于替换坏块。
这种方案称为扇区备用。
且这种处理方式中,坏块对操作系统透明

4.固态硬盘(SSD)

1.原理

基于闪存技术Flash Memory,属于电可擦除ROM,即EEPROM

2.组成

在这里插入图片描述

闪存翻译层:负责翻译逻辑块号,找到对应页(Page)
存储介质:多个闪存芯片(Flash Chip)
每个芯片包含多个块(block)
每个块包含多个页(page)

3.读写性能特性

① 以页(page)为单位读/写一相当于磁盘的"扇区"。
以块(block)为单位"擦除",擦干净的块,其中的每页都可以写一次,读无限次 。
③支持随机访问,系统给定一个逻辑地址,闪存翻译层可通过电路迅速定位到对应的物理地址
读快、写慢。要写的页如果有数据,则不能写入,需要将块内其他页,全部复制到一个新的(擦除过的)块中,再写入新的页 。

4.与机械硬盘相比

SSD读写速度快,随机访问性能高,用电路控制访问位置;机械硬盘通过移动磁臂旋转磁盘控制访问位置,有寻道时间和旋转延迟。
SSD安静无噪音、耐摔抗震、能耗低、造价更贵。
SSD的一个"块"被擦除次数过多(重复写同一个块)可能会坏掉,而机械硬盘的扇区不会因为写的次数太多而坏掉

5.磨损均衡技术

思想:将"擦除"平均分布在各个块上,以提升使用寿命。

  • 动态磨损均衡:写入数据时,优先选择累计擦除次数少的新闪存块。
  • 静态磨损均衡:SSD监测并自动进行数据分配、迁移,让老旧的闪存块承担以读为主的存储任务,让较新的闪存块承担更多的写任务。

这篇关于磁盘管理(初始化,引导块,坏块管理,固态硬盘)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/305255

相关文章

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”问题

《VMWare报错“指定的文件不是虚拟磁盘“或“Thefilespecifiedisnotavirtualdisk”问题》文章描述了如何修复VMware虚拟机中出现的“指定的文件不是虚拟... 目录VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virt

不删数据还能合并磁盘? 让电脑C盘D盘合并并保留数据的技巧

《不删数据还能合并磁盘?让电脑C盘D盘合并并保留数据的技巧》在Windows操作系统中,合并C盘和D盘是一个相对复杂的任务,尤其是当你不希望删除其中的数据时,幸运的是,有几种方法可以实现这一目标且在... 在电脑生产时,制造商常为C盘分配较小的磁盘空间,以确保软件在运行过程中不会出现磁盘空间不足的问题。但在

SpringBoot使用minio进行文件管理的流程步骤

《SpringBoot使用minio进行文件管理的流程步骤》MinIO是一个高性能的对象存储系统,兼容AmazonS3API,该软件设计用于处理非结构化数据,如图片、视频、日志文件以及备份数据等,本文... 目录一、拉取minio镜像二、创建配置文件和上传文件的目录三、启动容器四、浏览器登录 minio五、

SQL Server数据库磁盘满了的解决办法

《SQLServer数据库磁盘满了的解决办法》系统再正常运行,我还在操作中,突然发现接口报错,后续所有接口都报错了,一查日志发现说是数据库磁盘满了,所以本文记录了SQLServer数据库磁盘满了的解... 目录问题解决方法删除数据库日志设置数据库日志大小问题今http://www.chinasem.cn天发