当前位置: 首页 > news >正文

对硬盘的设想:纸存、执行存

固态硬盘出现后,发现它的擦写次数受限,越是便宜的固态硬盘,擦写次数越少。于是,有了“纸存”的设想,即硬盘上的单元只能改写一次,就像拿钢笔在纸上写字一样。这时,文件系统、数据库该怎么设计?

现在有600TBW的固态硬盘,即累计写入600TB数据。以后有600TB的“纸存”,他们都能写入600TB数据。

另外,有“执行存”设想,即存储器可以执行指令,例如B+树需要3次IO完成一次索引,在这里它只要一次IO就够了。如果理解为硬盘里边有一个专用的微型CPU也可以,多次查询在硬盘中完成,不经过RAM和CPU。

设有一个8GB的硬盘文件,里边存储着1G个有序的数,若有“执行存”,则可以在硬盘上完成二分查找。从30次IO减为1次,省去不少时间。

在位置p1上的数据d1,经过修改,成为p2处的d2,在p1处留下一个指针,指向p2,即可找到d2。实际上,每个单元需要能够写两次,第二次就是最后一次了。

例:把abcd修改成axcd:
一开始:abcd
修改后:aPcdx
解释:P是一个指针,它指向x。以64比特为单位?每个单位配备一比特标记F,该标记为1说明是指针,为0说明是普通数据,或为空。

再次修改后:aPcdPy
解释:第一个P指向第5个位置,再次修改后,第5个位置也是P,它指向y。这时的数据是aycd。

修改多次后,出现一个P的链表,它以F=0为终止。
若针对一个位置修改多次,则P链表会很长。若没有“执行存”功能,恐怕速度会很慢。所以,纸存和执行存都需要。

http://www.lryc.cn/news/365550.html

相关文章:

  • 最新付会进群多群同时变现社群系统V3.5.3版本 详细教程+源码下载
  • python tk实现标签切换页面
  • 引擎:UI
  • Redis常见异常及优化方案
  • YOLOV5 图像分割:利用yolov5进行图像分割
  • 如何在Linux中使用Screen管理后台进程
  • 互联网轻量级框架整合之SpringMVC初始化及各组件工作原理
  • 【Android面试八股文】finally中的代码一定会执行吗?try里有return,finally还执行么?
  • 微服务第一轮
  • Linux 命令 FIO:深入理解磁盘性能测试工具
  • 《精通ChatGPT:从入门到大师的Prompt指南》大纲目录
  • Go_context包
  • Mysql基础进阶速成版
  • Tomcat安装与配置要点和难点以及常见报错和解决方案
  • 【Oracle】Oracle导入导出dmp文件
  • 渗透测试模拟实战-tomexam网络考试系统
  • “神经网络之父”和“深度学习鼻祖”Geoffrey Hinton
  • [消息队列 Kafka] Kafka 架构组件及其特性(一)
  • 【Flutter 面试题】 JIT 与 AOT分别是什么?
  • QT获取最小化,最大化,关闭窗口事件
  • Oracle作业调度器Job Scheduler
  • Vue 组件之间的通信
  • Elementary OS 7.1简单桌面调整
  • 【C++ | 析构函数】类的析构函数详解
  • ceph radosgw 原有zone placement信息丢失数据恢复
  • ​​​​【动手学深度学习】残差网络(ResNet)的研究详情
  • freertos初体验 - 在stm32上移植
  • ubuntu使用 .deb 文件安装VScode
  • 9.1.1 简述目标检测领域中的单阶段模型和两阶段模型的性能差异及其原因
  • 系统化自学Python的实用指南