计算机磁盘是如何实现存储的?

2023-10-27

存储原理简述:      

           硬盘是在硬质盘片(一般是铝合金,以前 IBM 也尝试过使用玻璃)上涂敷薄薄的一层铁磁性材料。硬盘储存数据的原理和盒式磁带类似,只不过盒式磁带上存储是模拟格式的音乐,而硬盘上存储的是数字格式的数据。写入时,磁头线圈上加电,在周围产生磁场,磁化其下的磁性材料;电流的方向不同,所以磁场的方向也不同,可以表示 0 和 1 的区别。读取时,磁头线圈切割磁场线产生感应电流,磁性材料的磁场方向不同,所以产生的感应电流方向也不同。 不论是什么计算机文件,歌曲,视频,图片,文档等等都是以一个二进制的序列存在的,也就是很多个"10010001110011......"这样的东西,硬盘上的存储的文件实际上就是存储着这些0和1的序列.硬盘的磁头能够按照指令读取相应位置的信号,并且能够改变指定位置的磁场方向,这就是数据的读和写。

硬盘结构:

       硬盘内部结构由固定面板、控制电路板、盘头组件、接口及附件等极大部分组成,而盘头组件(HardDiskAssembly, HDA)是构成硬盘的核心,封装在硬盘的净化腔体内,包括浮动磁头组件、磁头驱动机构、盘片及主轴驱动机构、前置读写控制电路等。

  1. 浮动磁头组件:
    由读写磁头、传动手臂、传动轴三部分组成。磁头是硬盘技术最重要和关键的一环,实际上是集成工艺制成的多个磁头的组合,它采用了非接触式头、盘结构,加电后在高速旋转的磁盘表面飞行,飞高间隙只有0.1~0.3um(微米),可以获得极高的数据传输率。现在转速5400rpm的硬盘飞高都低于0.3um,以利于读取较大的高信噪比信号,提供数据传输存储的可靠性。

  2. 磁头驱动机构:
    由音圈电机和磁头驱动小车组成,新型大容量硬盘还具有高效的防震动机构。高精度的轻型磁头驱动机构能够对磁头进行正确的驱动和定位,并在很短的时间内精确定位系统指令指定的磁道,保证数据读写的可靠性。

  3. 盘片和主轴组件
    盘片是硬盘存储数据的载体,现在的盘片大都采用金属薄膜磁盘,这种金属薄膜较之软磁盘的不连续颗粒载体具有更高的记录密度,同时还具有高剩磁和高矫顽力的特点。主轴电机的速度也在不断提升,有厂商开始采用精密机械工业的液态轴承电机技术。

  4. 前置控制电路:
    前置放大电路控制磁头感应的信号、主轴电机调速、磁头驱动和伺服定位等,由于磁头读取的信号微弱,将放大电路密封在腔体内减少外来信号的干扰,提高操作指令的准确性。


现代硬盘的工作原理:

现在的硬盘,无论是IDE还是SCSI,采用的都是“温切斯特”技术,都有以下特点:

  1. 磁头,盘片及运动机构密封。
  2. 固定并高速旋转的镀磁盘表面平整光滑。
  3. 磁头沿盘片径向移动。
  4. 磁头对盘片接触式启停,但工作时呈飞行状态不与盘片直接接触。

    盘片:硬盘盘片是将磁粉附着在铝合金(新材料也有用玻璃)圆盘片的表面上,这些磁粉被划分成称为磁道的诺干个同心圆,在每个同心圆的磁道上就好像有无数的任意排列的小磁铁,它们分别代表着0和1的状态。当这些小磁铁受到来自磁头的磁力影响时,其排列的方向会随之改变。利用磁头的磁力控制指定的一些小磁铁方向,使每个小磁铁都可以用来存储信息。


    盘体:硬盘的盘体由多个盘片组成,这些盘片重叠在一起放在一个密封的盒中,他们主轴电机的带动下以很高的速度旋转,其每分钟可达3600/4500/5400/7200甚至以上。

    磁头:硬盘的磁头用来读取或者修改盘片上磁性物质的状态,一般说来,每一个磁面都会有一个磁头,从最上面开始,从0开始编号。磁头在停止工作时,与磁盘是接触的,但是在工作时呈飞行状态。磁头采取在盘片的着陆区接触式启停的方式,着陆区不存放任何数据,磁头在此区域启停,不存在损伤任何数据的问题。读取数据时,盘片告诉旋转,由于对磁头运动采取了精巧的空气动力学设计,此时磁头处于离盘面数据区0.2--0.4微米高度的飞行状态。既不与盘面接触造成磨损,又能可靠的读取数据。

    电机:硬盘内的电机都为无刷电机,在高速轴承支撑下机械磨损很小,可以长时间连续工作。高速旋转的盘体产生了明显的陀螺效应,所以工作中的硬盘不宜运动,否则将家中轴承的工作负荷。硬盘磁头的寻道伺服电机多采用音圈式旋转或者直线运动步进电机,在私服跟踪的调节下精确地跟踪盘片的磁道,所以在硬盘工作时不要有冲击碰撞,搬动时要小心轻放。

首先,磁盘和数据区是不会有接触的,不存在磨损问题。

其次,一开机硬盘就处于旋转状态,主轴电机的旋转可达到4500或者7200转每分钟,这个你是否使用flashget或者迅雷都没有关系,只要一通电,它们就在转,它们的磨损也和软件无关。

再次,寻道电机控制下的磁头的运动,时左右来回移动的,而且幅度很小,从盘片的最内层(着陆区)启动,慢慢移动到最外层,再慢慢移回来,一个磁道再到另一个磁道来寻找数据。不会有什么大规模跳跃,所以它的磨损也可以忽略不计。

那么,热量的来源在哪里?
       首先, 是主轴电机和寻道伺服器电机的旋转,硬盘的温度主要是因为这个。

       其次,高速旋转的盘体和空气之间的摩擦。这个也是主要因素。硬盘的读写发热量可以忽略不计!
硬盘的读操作:是盘片上磁场的变化影响到磁头的电阻值,这个过程中盘片不会发热,磁头倒是因为电流发生变化,所以会有一点热量产生。
磁盘的写操作:正好相反,通过磁头的电流强度不断发生变化,影响到盘片的磁场,这一过程因为用到电磁感应,所以磁头发热量较大。但是盘片本省是不会发热的,因为盘片上的永磁体是冷性的,不会因为磁场变化而发热。
但总的来说,磁头的发热量和前面两个比起来是小巫见大巫。热量是可以辐射传导的,那么高人量对磁盘上的永磁是否会有伤害?其实伤害是很小的,永磁体消磁的温度,渊源高于硬盘正常情况下产生的温度。当然,要是你的迹象散热不好,那就不能怪别人了。

  1. 高温是影响到磁头电阻感应灵敏度,所以才会产生读写错误,和永磁体没有关系。

  2. 所谓的热膨胀,不会拉近盘体和磁头的距离,因为磁头的飞行是空气动力学原理,在正常情况下始终和盘片保持一定距离。当然不排序大力打击硬盘产生的震动。

  3. 所谓寻道是指硬盘从初始位置移动到指定磁道。所谓重复动作,并不是经常发生的。因为磁道的物理位置是存放在cmos里,硬盘并不需要移动回0磁道再重新分出发。只要磁头一启动,所谓的复位动作就完成了,除非你重新启动电脑,不然复位动作就不会再发生。

  4. IDE硬盘和SCSI硬盘的盘体结构是产不多的。只是SCSI硬盘的接口带宽比同时代IDE硬盘要大,而且往往SCSI卡都会有一个类似cpu的东西来减缓主cpu的占用率。仅此而已,所以希捷才会把它的SCSI硬盘的技术用在IDE硬盘上。

  5. 硬盘的读写是以柱面的山区为单位的。柱面就是整个盘体中所有磁面的半径相同的同心磁道,而把每个磁道划分为若干个区就是所谓的扇区了。硬盘的写操作,是先写满一个扇区,再写同一柱面的下一个扇区,在一个柱面完全写面前,磁头是不会移动到别的磁道上的。所以文件在磁盘上的存储,并不是像一般人认为是连续存放在一起的(从使用者开来是一起的,但从操作系统底层来看,其存放不是连续的)。所以FLASHGET等开了再多的线程,磁头的寻道一般都不会比你一边玩游戏一边听歌大。当然,这种情况只是单纯的下载或者上传而已,但是其实在这个过程中,谁也保证不了自己不会启动其它需要读写硬盘的软件。可能很多人都喜欢一边下载一边玩游戏或者听歌,更不用说windows本身就需要频繁读写虚拟内存中的文件。所以,用FG下载也好用迅雷下载也好,对硬盘的磨损和平时想必不会太厉害。

  6. 再说说flashget为什么开太多线程会不好喝ed为什么硬盘读写频繁?
    首先,线程一朵,cpu占用率就高,换页动作也就频繁,从而虚拟内存读写频繁。ED呢?同时从几个人哪里下载一个文件,还有几个人同时下载你的文件,这和FG开多线程是类似的。所以硬盘灯猛闪。但是,现在硬盘是有缓存的,数据不是马上就写到硬盘上,而是先写入缓存,然后到一定量后再一次性写入硬盘。在FG里面再怎么设置,其实是先写入缓存。但这个过程也是需要cpu干预的,所以设置时间太短,cpu占用率也高,所以硬盘灯还是猛闪的,因为虚拟文件在读写。

  7. 硬盘读写频繁,磁头臂在寻道伺服电机的驱动下移动频繁,但是对机械来说这单损耗其实不大。除非你的硬盘本身就有机械故障,比如力臂变形之类(水货最常见的故障)。真正损耗在于磁头,不断变化的电流会造成它的老化,但是和它的寿命想必应该也是合理范围内的。除非因为震动,磁头撞击到盘体。

  8. 受高温影响的最严重的是机械电路,特别是硬盘外面的那块电路板,上面的集成块会在高温下加速老化。所以IBM的某款玻璃硬盘,虽然有坏道,但是一用某个软件,马上就不见了。再严重点的,换块线路板,也就正常了。也就是这个原因。
    总之,硬盘会因为环境不好喝保养不当而影响寿命,但是这绝对不是软件的错,flashget也好ed也好,ftp也好,他们虽然对硬盘读写频繁,但是还不至于比你玩游戏听歌对硬盘伤害大。他们对硬盘的损耗是可以忽略不计的,不要因为看见硬盘灯猛闪就在哪里瞎担心,不然那些提供web服务和ftp服务的服务器他们的硬盘读写之大,可绝非玩游戏,下软件的硬盘科比。
    硬盘还有一个参数焦作连续无故障时间。它是指硬盘从开始运行到出现故障的最长时间,单位是小时,英文缩写是MTBF。一般硬盘的MTBF至少在30000或者40000个小时。这个连续无故障时间大家可以除一下看看是多少年?然后大家想想,自己的硬盘平时连续工作最久是多长时间。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机磁盘是如何实现存储的? 的相关文章

  • opengl纹理映射的学习总结

    1 不同的滤波方式的效果区别 使用Nearest滤波纹理的效果 看起来很斑驳 使用MipMapped的效果 看起来很平滑 2 void glTexImage1D GLenum target GLint level GLint interna
  • 开放型 MODBUS-TCP规范(中文版)2

    导读 5 3 等级2指令详述 5 3 1 强制多点线圈 FC 15 请求 Byte 0 FC 0F 16进制 Byte 1 2 参考数值 Byte 3 4 比特数 1 800 Byte 5 字节数 B 比特数 7 8 Byte 6 B 5
  • Raneto

    Raneto Raneto是一个采用Node js开发的免费开源知识库平台 它使用Markdown文件来存储知识库 Raneto也可以叫作一个 静态网站生成器 因为它不需要数据库 你的所有内容都存储在 Markdown md 文件中 整个知
  • BMP to AVI 及其压缩的实现

    1 设计方案的产生 这个设计方案是物光院嵌入式系统试验室的基于CDMA技术的无线视频传输监控系统的设计的一部分 我简要说明此系统的原理 系统单片机部分主要模块由CDMA DSP与ARM处理器 FLASH ROM组成 此单片机用来获取监控所在
  • 千万级SQL Server数据库表分区的实现

    一般在千万级的数据压力下 分区是一种比较好的提升性能方法 本文将介绍SQL Server数据库表分区的实现 AD 最近使用SQL SERVER一个的缓存 数据量一天100w的速度增长 同时接受客户查询 速度由于数据量越来越大越来越慢 这里感
  • linux查看系统属性

    系统 uname a 查看内核 操作系统 CPU信息 head n 1 etc issue 查看操作系统版本 cat proc cpuinfo 查看CPU信息 hostname 查看计算机名 lspci tv 列出所有PCI设备 lsusb
  • 博客系统文章的数据库存储方式

    在通常的博客系统中 我们发表文章的时候 在数据库中存储的一般不仅仅是文章的文字 还包括文章的样式 而且很多时候都是所见即所得的效果 这就要求我们以html 文字这样存进数据库中 通过查找资料 可以用专门的文字编辑器可以实现 使用方法如下 F
  • PCB添加图片或logo的方法

    系列文章目录 1 元件基础 2 电路设计 3 PCB设计 4 元件焊接 6 程序设计 文章目录 前言 一 图片预处理 转为 BMP格式 二 给Altium designer安装PCB LOGO Creator脚本插件 三 给PCB添加图片或
  • 转】M1卡密钥破解,收藏

    M1卡说明及使用proxmark3破解方法 看了网上写的一些关于M1卡的文章 多数有些误导之嫌 首先谈谈M1卡的规格 M1卡的容量为1KB 好多网上写8KB 这里其实是有个误区 应该是8K位 1Byte 1B 8位 其实也就是说8k位想到于
  • FLASH位宽为8、16、32时,CPU与外设之间地址线的连接方法

    原文地址 http www eefocus com E5 8D 83 E9 87 8C E7 9F A5 E9 B9 B0 blog 10 03 186914 04945 html FLASH连接CPU时 根据不同的数据宽度 比如16位的N
  • Verilog HDL 语言笔记

    目录 一 基本语法 1 模块的结构 1 模块声明 2 端口定义 3 数据类型说明 4 逻辑功能描述 2 语言要素及数据类型 2 1语言要素 2 2 常量 2 3 变量和数据类型 2 4 参数 2 5 向量 2 6 存储器 2 7 运算符 3
  • AD——绘制STC89C51单片机原理图

    AltiumDesigner绘制STC89C51单片机原理图
  • linux 系统调用列表 /usr/include/asm/unistd.h

    一 进程控制 fork 创建一个新进程 clone 按指定条件创建子进程 execve 运行可执行文件 exit 中止进程 exit 立即中止当前进程 getdtablesize 进程所能打开的最大文件数 getpgid 获取指定进程组标识
  • 串的模式匹配算法之KMP与BF

    这几天做手机软件 都不怎么看一些算法小程序了 同学数据结构作业 急需交 帮其做 文件名 KMP BF cpp 描述 实验内容 比较BF算法和KMP算法的优劣 实验基本要求 1 采用定长顺序显示表示串长的结构来存储串 结构定义见课件第17张幻
  • 关于static 的各种数据类型 及在面向对象编程中的应用

    一 按存储区域分 全局变量 静态全局变量和静态局部变量都存放在内存的静态存储区域 局部变量存放在内存的栈区 1定义全局静态变量的好处 lt 1 gt 不会被其他文件所访问 修改 lt 2 gt 其他文件中可以使用相同名字的变量 不会发生冲突
  • 运放稳定性连载21:电容性负载的稳定性——具有双通道反馈的RISO(2)

    现在 我们必须测量如图10 6所示的Zo 小信号AC开环输出阻抗 该Tina SPICE测试电路将测试空载OPA177的Zo R2和R1以及LT为低通滤波器函数提供了一条AC通道 这样 使得我们能将DC短路和AC开路一起并入反馈电路 DC工
  • STM32的串口中断详解

    目录 中断配置 中断服务函数 1 中断服务函数名称查找 2 中断服务函数 3 可以选择的串口中断类型 extern u8 USART RX BUF USART REC LEN extern u16 USART RX STA 中断配置 使能接
  • PCB设计笔记

    系列文章目录 1 元件基础 2 电路设计 3 PCB设计 4 元件焊接 5 板子调试 6 程序设计 7 算法学习 8 编写exe 9 检测标准 10 项目举例 11 职业规划 文章目录 前言 一 PCB板上的 地 1 详解电路设计中单点接地
  • 【联想RQ940】联想RQ940更换主板电池+重新设置BIOS

    RQ940服务器告警灯闪烁 连接管理口查看日志 判断问题为主板纽扣电池电压低 纽扣电池型号为CR2032 停业务 关机 下架 拆机 电池位于图片所示位置 可以先将左边RAID卡拆下来 方便更换电池 2 重新设置BIOS 更换电池后 由于BI
  • 锂电池管理系统(BMS)

    引言 在现代科技的推动下 锂电池已经成为各种电动设备和能源存储系统的首选能源媒介 然而 锂电池在充电和放电过程中存在一系列潜在的安全隐患 同时其性能和寿命也受到一些限制 为了解决这些问题 锂电池管理系统 BMS 应运而生 BMS不仅仅是一个

随机推荐

  • 在Ubuntu 14.04 64bit上安装思维导图工具XMind

    这是一款对个人免费的工具 提供了一些基本功能 如果你需要更多功能 可以付费购买Pro版本 从下面的官网地址下载64bit的deb包 http www xmind net download linux 下面完成后 Ubuntu软件管理中心会自
  • Vue项目引入引入ElementUI

    目录 一 安装ElementUI 二 完整引入elementUI 1 在main js中引入elementUI 2 测试 三 按需引入elementUI 1 安装babel plugin component 2 修改 babelrc 文件
  • 权力的游戏第一季/全集Game of Thrones迅雷下载

    权力的游戏 是一部中世纪史诗奇幻题材的电视连续剧 该剧以美国作家乔治 R R 马丁的奇幻巨作 冰与火之歌 七部曲为基础改编创作 故事背景中虚构的世界 分为两片大陆 位于西面的 日落国度 维斯特洛 位于东面的类似亚欧大陆 维斯特洛大陆边境处发
  • mybatis-plus分页

    ApiOperation value 条件过滤分页查询列表 PostMapping list conditions public ResponseDTO
  • 配置wifi热点_WiFi就像“空气”要覆盖在生活的每个角落

    以高速发展的现代社会来说 热点其实含盖了两种意思 一个是被称作WiFi热点 另一个被称作新闻热点 那么今天所围绕的主题就是WiFi热点 WiFi热点就是将手机接收到的GPRS 3G或4G信号转化为wifi信号发出去的技术 手机必须有无线AP
  • springboot整合mybatis:查询语句,返回null

    springboot整合mybatis时 查询数据库数据时 返回结果为null 刚开始以为是数据库没连接上 结果增 改 删的其他语句则执行成功 但唯有查询语句始终返回null 一条数据一个null 该情况一般情况下是 mapper xml文
  • 深入理解Android之Gradle

    深入理解Android之Gradle 格式更加精美的PDF版请到 https pan baidu com s 1GfN6F8sOaKFAdz5y1bn3VQ下载 weibo分享失效 请各位到百度云盘下载 Gradle是当前非常 劲爆 得构建
  • GitHub上SSH keys和Deploy keys的区别

    平时安装一个git然后去GitHub进行SSH keys 配置最后就开始使用 然后换一台电脑再使用 ssh keygen t rsa C your email 生成一个ssh key 将其添加到自己到github中去 然而发现添加后这台电脑
  • conda安装PaddlePaddle

    最近在学深度学习 但是我打开c盘看见多了 keras之流的东西 又要安飞浆时突然想到conda的默认安装路径 Anaconda Prompt里执行 conda info env 查看已经安装的环境以及位置 进入百度飞浆官网 找到安装教程 W
  • 华为OD机试 - 最佳植树距离(Java & JS & Python)

    题目描述 按照环保公司要求 小明需要在沙化严重的地区进行植树防沙工作 初步目标是种植一条直线的树带 由于有些区域目前不适合种植树木 所以只能在一些可以种植的点来种植树木 在树苗有限的情况下 要达到最佳效果 就要尽量散开种植 不同树苗之间的最
  • 带你了解软件版本号的命名规则

    1 常见软件的版本号命名 软件 升级过程 说明 Linux Kernel 0 0 1 1 0 0 2 6 32 3 0 18 若用 X Y Z 表示 则偶数 Y 表示稳定版本 奇数 Y 表示开发版本 Windows Windows 98 W
  • 是创新还是天真?BlockCity推出BC众创引争议

    三个简陋的主页面 两种推广返佣奖励模式 七个用户身份等级设置 只能围绕BlockCity进行推广 就这样一个用于营销传播的返佣平台 或者说加强版的自营淘宝客平台 居然被自吹自擂地冠以 创业元宇宙 的名义 这就是BlockCity 区块城市
  • MicroBlaze系列教程(9):xilisf串行Flash驱动库的使用

    文章目录 1 xilisf库简介 2 xilisf库函数 3 xilisf配置 4 xilisf应用示例 工程下载 本文是Xilinx MicroBlaze系列教程的第9篇文章 1 xilisf库简介 xilisf库 Xilinx In s
  • 32位下printf的坑(输出错误的值)

    记一次使用printf的坑 printf输出错误 32位编译 include
  • 360校招编程题:内存管理

    题目描述 物联网技术的蓬勃发展 各种传感器纷纷出现 小B所在的项目组正在开放一个物联网项目 她们在研究设计一种新的传感器 这种传感器有自己的基本处理单元 具有一定的自主性 能够进行简单的数据收集 处理 存储和传输 为降低系统功耗并保证系统可
  • 【网络编程】网络基础知识

    前言 小亭子正在努力的学习编程 接下来将开启javaEE的学习 分享的文章都是学习的笔记和感悟 如有不妥之处希望大佬们批评指正 同时如果本文对你有帮助的话 烦请点赞关注支持一波 感激不尽 目录 网络编程 什么是网络编程 网络通信基本模式 网
  • 关于利用JavaScript中的sort方法实现自定义排序

    众所周知 javascript中的sort方法可以实现排序 但是如果只是使用默认的方法 很难拿到理想的结果 默认用法 const arr 1 3 2 12 5 9 1 arr sort console log 排列的信息 arr 1 1 1
  • Keras中文官方文档(离线版)

    点此查看
  • chatgpt赋能python:Python交互编程入门指南

    Python交互编程入门指南 Python是一种高级编程语言 适合初学者和专业人士使用 Python的互动式编程方式为开发人员提供了快速反馈的环境 从而实现更便捷和高效的开发过程 在本文中 我们将介绍Python的交互编程 为您提供Pyth
  • 计算机磁盘是如何实现存储的?

    存储原理简述 硬盘是在硬质盘片 一般是铝合金 以前 IBM 也尝试过使用玻璃 上涂敷薄薄的一层铁磁性材料 硬盘储存数据的原理和盒式磁带类似 只不过盒式磁带上存储是模拟格式的音乐 而硬盘上存储的是数字格式的数据 写入时 磁头线圈上加电 在周围