b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

解决方案:为什么SSD的4K性能很重要?

电脑杂谈  发布时间:2020-09-06 07:11:17  来源:网络整理

固态硬盘4k写入速度慢_移动固态硬盘写入速度有450m??_固态硬盘和机械硬盘速度

前言

许多熟悉硬件的朋友都知道,将计算机的机械硬盘驱动器升级到固态驱动器将使启动和打开程序/文件更快。进一步了解固态硬盘是否良好取决于随机4K访问性能;但是,如果您再次询问,什么是随机4K性能?为什么要看随机4K性能?一些测试软件具有几种随机的4K性能,该看哪一个?可能没有多少人可以回答。

在本文中,我向您介绍操作系统如何访问硬盘上的文件。在了解了操作系统对文件的访问过程之后,我们将了解为什么固态驱动器的4K性能可以大大提高访问文件的速度。 -引导,打开程序/文件到硬盘,就是访问硬盘上的不同文件。

基本知识

1、硬盘扇区

无论是机械硬盘还是固态硬盘,都有数千亿个基本存储单元-机械硬盘是一组磁性分子,固态硬盘是单个晶体管,它们的状态不同,代表1到4 0和1的组合。为了方便访问,我们将其中的几种组合视为硬盘扇区的最小读/写单位。旧的机械硬盘的扇区为4096位(位,表示0或1)),字节为8位,即512字节(字节)。现代硬盘和固态硬盘的扇区通常为4096字节。 ,即4KB。SSD实际上不称为扇区,它称为页面。如今,某些闪存芯片的页面为8KB甚至16KB,但是出于兼容性考虑,操作系统通常在访问物理磁盘时使用512。硬盘,使用字节扇区进行访问,在许多文章中,将此类扇区中的数据称为数据块,这也是为什么在许多地方将硬盘称为块设备的原因,下文中将风扇统一使用。区要引用。

2、部门地址

现代硬盘的寻址方法是LBA(逻辑块寻址)。操作系统不再关心某个扇区的特定物理存储位置,而是由硬盘控制器为这些扇区编号。编号非常简单。从0、0、1、2、3、4,...开始计数,并继续计数,告诉操作系统有多少个扇区,然后操作系统将告知是否要访问该扇区的数据硬盘控制器读取哪个扇区的数据。

3、硬盘分区

但是一般来说,操作系统不是将我们文件的数据直接存储在某些扇区中,而是对硬盘进行分区,然后为每个分区建立一个特定的文件系统,然后将存储在存储单元中的文件数据保存文件系统。所谓分区就是将一定编号的扇区用作逻辑存储空间。例如,以下是我的256GB固态分区:

Model: ATA TOSHIBA THNSNJ25 (scsi)
Disk /dev/sdg: 500118192s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number  Start       End         Size        File system  Name      Flags
 1      2048s       332326911s  332324864s               zfs-root
 2      332326912s  466546687s  134219776s               l2arc
 3      466546688s  500101119s  33554432s                zil
 9      500101120s  500117503s  16384s                             boot, esp

整个硬盘共有500,118,192个扇区,每个扇区为512B。分区1从第2048个扇区开始,在第332,326,911个扇区结束。总共有332,324,864个扇区,小于160GB;从第332,326,912个扇区到第466,546,687个扇区,共有134,219,776个64GB扇区是第二个分区。

根据不同的标准,硬盘的分区信息将记录在硬盘的某些特定扇区上。常见的分区标准包括MBR(主引导记录)和GPT(GUID分区表,用于唯一标识分区表)。

4、文件系统和文件系统存储单元

所谓的文件系统(File System)是一种将硬盘扇区与我们实际操作的各种文件连接在一起的数据结构。例如,我在桌面上放置了一个名为“ abc.txt”的文件。通过文件系统,操作系统可以知道此文件的数据存储在硬盘的哪个扇区中。不同的操作系统将支持一个或多个文件系统。例如,我们常用的Windows 10支持五个文件系统:FAT / FAT3 2、 exFAT,NTFS和ReFS。选择文件格式时,我们可以格式化分区。

大多数文件系统不使用硬盘的物理扇区来访问数据,而是定义它们自己的存储单元。存储单元是多个连续的扇区。例如,Windows中最常用的NTFS文件格式,默认为8个扇区(格式化分区时可以选择其他扇区)作为存储单元,并且每次读写数据时,使用一个存储单元作为最小读取量和写单位。 NTFS将这种存储单元作为群集进行管理,这类似于扇区寻址。 NTFS从0开始顺序编号这些簇。

访问NTFS分区中的文件

以下正式开始。我将向您展示如何在Windows中访问文件。在这里,我使用一个称为WinHex的软件进行操作。本段可能需要一些十六进制知识。有些朋友不明白。只需看看粗体标题,就知道此步骤在做什么。

移动固态硬盘写入速度有450m??_固态硬盘4k写入速度慢_固态硬盘和机械硬盘速度

我要访问的文件是保存在桌面上的名为ABC.txt的文本文件。完整路径为“ C:\ Users \ User \ Desktop \ ABC.txt”:

第一步:读取硬盘的0扇区

使用WinHex打开物理硬盘,默认情况下将显示第0个扇区的数据:

这时,WinHex自己确定这是使用GPT分区类型的硬盘,分为四个区域。 C驱动器是第四个分区。

第2步:读取第四个分区的第一个扇区

如上所示,C驱动器从1,320,960个扇区开始,我们找到了该扇区:

左侧的偏移量是硬盘上数据的偏移位置。单位是字节。 1,320,960个扇区为676,331,520字节,转换为十六进制时为0x028500000。这堆数据很乱。 WinHex提供了NTFS引导扇区的查看模板。让我们使用此模板看看。

如您所见,这是一个使用NTFS文件系统的分区,每个扇区512字节,每个群集8个扇区。然后最重要的是一个名为$ MFT的文件,起始群集号为786432。该文件是NTFS文件系统中最重要的文件。 MFT代表主文件表,即主文件表。我们所有目录和文件的存储位置都记录在该文件中。

第3步:读取$ MFT中的记录

很容易计算出,C驱动器的第786,432个簇对应于硬盘上的第7,612,416个扇区,其偏移量为0x0E85000000:

WinHex还为$ MFT中的记录提供了一个视图模板,但是MFT记录的类型很多,并且某些记录无法在此模板中显示。从图片中我们可以看到,第0条记录是$ MFT本身,而父节点(即C:驱动器的根目录)在第5条记录中。

然后您会看到$ MFT自己的记录中有80个属性,该属性记录了此文件的数据所使用的群集。此属性从偏移量0x0E8500100开始

固态硬盘和机械硬盘速度_移动固态硬盘写入速度有450m??_固态硬盘4k写入速度慢

红色框中标记为0x0E8500120的数据为0x40,这意味着$ MFT文件使用的群集记录从0x0E8500100的第0x40个字节开始,其偏移量为0x0E8500140。这里有四个段落,即:

第一段中第一个字节的XY表示接下来的X个字节指示数据占用多少簇,接下来的Y个字节指示起始簇号。 32 40 57 00 00 0C表示数据从分区中的0x0C0000群集开始,并使用0x5740群集空间。 $ MFT中每个记录的长度固定为1K,这意味着该分区中的每个群集可以存储4条记录。此部分中的最大记录数为0x015D00。

第二段和第一段之间存在一点差异,其中Y为74 63 1F,这意味着第二段的第一簇与第一段的第一簇偏移(0x0C000 0) 0x1F6374群集,它是分区0x2B6374群集。记录号是从0x015D01到0x016500。

第三段中的0xD5141C与第二段中的相似,但是0xD5到二进制的转换是1101 0101,而第一位是1,表示这是一个负数,因此完整的措词是0xFFD5141C。第三段是从分区的第7790个分区开始计算的。记录号为0x016501至0x018B00。

第四段与第二段相同。

$ MFT的每个记录为1024字节,即2个扇区。计算根目录中记录的扇区很容易:

记录号5,因为它是根目录,文件名为空,具有A0属性,长度为80个字节,所以非驻留数据非驻留意味着该目录/文件中的数据太大并保存在其他地方(足够小的文件将直接存储在$ MFT中)。 WinHex不能完全解决此属性。让我们看一下偏移量为0x0E8501550的特定数据:

32从0x0E8501550开始向下(十六进制为0x2 0)字节,即0x0E8501570,数据为48,其中48表示根目录的位置,此属性中的数据从0x48开始,对应的数据为11 01 24。

此A0属性与$ MFT本身记录的80属性相同,因此不再赘述。

第4步:读取根目录的数据

硬盘的第0x24个群集是第1,321,248个扇区,偏移量为0x028524000

这里没有模板。我们可以在根目录中大致看到几个文件名。此处的红色框是隐藏文件,通常是不可见的。我们使用搜索工具在附近的“用户”文件夹中查找数据:

红色框中数据的前两个字节为98 06,表明此文件夹位于$ MFT的0x0698记录中。

第5步:读取$ MFT中的用户记录

固态硬盘4k写入速度慢_固态硬盘和机械硬盘速度_移动固态硬盘写入速度有450m??

计算$ MFT的第0x0698条记录的偏移位置并找到过去的位置

重复上述步骤以查看A0属性并在C:\ Users目录中找到数据,这里将不再详细介绍;

步骤6:读取C:\ Users数据,并在$ MFT中找到C:\ Users \ User目录的记录编号

步骤7:读取$ MFT中C:\ Users \ User目录的记录,并找到数据所在的集群

步骤8:读取C:\ Users \ User目录中的数据,并在$ MFT中找到C:\ Users \ User \ Desktop目录的记录编号

步骤9:读取$ MFT中C:\ Users \ User \ Desktop目录的记录

此步骤与上述步骤有些不同。我的桌面非常干净,并且桌面目录数据非常小,因此将其直接放置在$ MFT记录中,因此没有A0属性,只有608字节90属性。

在90个属性数据中很容易找到ABC.txt,$ MFT中的记录号为0x016DD6:

步骤10:在$ MFT中找到ABC.txt的记录

文件内容的80属性是常驻属性,直接查看偏移量0x05B75928的内容:

数据从属性的第0x018个字节开始,共33个字节。

读取另一个更大的文件

例如,如果我更改为另一个更大的文件,则会在桌面上放置一张名为“ background.jpg”的照片:

固态硬盘和机械硬盘速度_固态硬盘4k写入速度慢_移动固态硬盘写入速度有450m??

从80属性中,您可以看到该照片的数据类似于$ MFT,分为八个部分。然后,我们需要在下一步中分别读取这八段数据。

硬盘性能对读取数据的影响

从上面的详细过程中,我们可以看到,在整个读取过程中,不计算文件本身的大小,我们至少对硬盘执行了10次随机访问。文件系统每次访问的最小单位是4K。对于群集,需要读取额外的40K数据-如果将此文件放在更多目录中,则次数和数据量将更多。实际上,此过程并未考虑权限。在访问目录或文件之前,操作系统还将从$ Secure文件中检查您是否有权访问该文件。至少再进行3次随机访问。如果企业环境中有大量用户和组,则可能会更多。每次访问都需要计算上一次访问的结果,然后才能知道接下来将访问哪个扇区,即单线程,单队列随机4K访问。

如果您使用固态驱动器,例如计算机上的512G Western Digital黑色磁盘,则单线程单队列的随机4K读取性能如下:

这样的操作每秒可以执行9790次,而且十次很耗时1. 02ms-1ms几乎让人感觉不到延迟。

我的计算机上1TB笔记本机械硬盘的读取性能如下:

每秒只能执行111次这样的操作,共10次,耗时9 0. 1ms和0. 09秒,已经可以感觉到明显的延迟。

当然,Windows将具有磁盘缓存机制,并且每次读取时都不需要从硬盘读取数据。实际上,从硬盘读取10次访问可能只需要3到4次。但是,第一次打开时没有缓存,运行一个程序通常需要访问数十个或数百个文件-这不计算文件本身的数据传输时间。

此外,启动Windows时,多个服务通常一起运行,并且所有服务都需要访问硬盘上的数据。此时,您需要查看硬盘的多线程深度队列的4K随机性能。

其他

NVMe和SATA固态

NVMe固态硬盘的性能提升并不小,但是单队列和单线程的随机4K性能与从500MB / s到3GB / s的连续读取性能不同,可以提高5〜6倍。 。最好的NVMe固态硬盘,很少超过70MB / s,许多不知名的SATA固态硬盘具有20MB / s或更高。经计算,这是2ms与0. 6ms之间的差异,这对于普通人来说很难感觉到。而且在很多情况下,这2ms不一定足以使CPU完成数据处理,除非它是纯测试软件或简单的文件复制,不需要太多的CPU参与。即使CPU有时间来处理它,您的显示器也没有反应-两帧240Hz显示器之间的间隔为4. 17ms,平均间隔为2. 1ms,更不用说144Hz甚至60Hz显示器了。

类似地,Optane可以实现超过200MB / s的单队列单线程随机读取性能。这段时间可以减少到0. 2ms,并且对体验不会有太大影响。

各种磁盘加速软件和Optane,混合硬盘驱动器

正如您在上面看到的那样,影响我们访问时间的数据量很小,但是对于机械硬盘驱动器来说,查找访问会花费很多时间。其中,我们已经多次访问$ MFT文件。即使我们仅将$ MFT文件和某些常用目录的数据文件放在内存或固态硬盘上,对于提高机械硬盘的性能也非常有帮助-这是所有类型的磁盘。加速软件的原理(例如商业PrimoCache,AMD的StormMI和英特尔的Optane)都与此类似-当然,如果您使用固态或具有足够大容量的Optane作为缓存,则许多文件本身的数据可以也加速了。性能进一步提高。现在淘宝上有一些16G品牌的机器零件。您可以不到50的价格购买它。舍入意味着没有钱。如果您需要使用机械硬盘驱动器并具有可用的M2插槽,则可以考虑使用一个AMD的StoreMI。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/dianqi/article-314936-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 张荥斐
        张荥斐

        一样的东西实体店卖100

      • 陈后主陈叔宝
        陈后主陈叔宝

        中国海军的人员素质还不行

      • 李名鹃
        李名鹃

        这首最好听

      热点图片
      拼命载入中...