精华内容
下载资源
问答
  • 外部存储设备中容量最大的是
    千次阅读
    2021-06-16 10:01:33

    1目前使用的大多数打印机是通过()接口与计算机连接的.

    A.串行

    B.并行口

    C.IDE接

    D.SCSI接口

    2目前世界上不同型号的计算机,就其工作原理而言,一般都认为是基于冯·诺伊曼提出的()

    A.二进制原理

    B.布尔代数原理

    C.摩尔定律

    D.存储程序控制原理

    3目前微机所用的总线标准有多种,下面给出的四个缩写名中不属于描述总线标准的是()

    A.VGA

    B.USB

    C.ISA

    D.PCI

    4内存按工作原理可以分为()这几种类型.

    A.RAM和BIOS

    B.BIOS和ROM

    C.CMOS和BIOS

    D.ROM和RAM

    5内存的大部分由RAM组成,其中存储的数据在断电后()丢失.

    A.不会

    B.部分

    C.完全

    D.不一定

    6内存中每个基本单位都被赋予唯一的序号,称为()

    A.地址

    B.字节

    C.编号

    D.容量

    7能描述计算机的运算速度的是()

    A.二进制位

    B.MIPS

    C.MHz

    D.MB

    8能直接与CPU交换信息的功能单元是()

    A.硬盘

    B.控制器

    C.主存储器

    D.运算器

    9配置高速缓冲存储器(cache)是为了解决()

    A.内存与辅助存储器之间速度不匹配问题

    B.CPU与辅助存储器之间速度不匹配问题

    C.CPU与内存储器之间速度不匹配问题

    D.主机与外设之间速度不匹配问题

    10人们根据特定的需要预先为计算机编制的指令序列称为()

    A.软件

    B.文件

    C.程序

    D.集合

    11人们通常说的计算机的内存,指的是()

    A.ROM

    B.CMOS

    C.CPU

    D.RAM

    12扫描仪是属于()

    A.CPU

    B.存储器

    C.输入设备

    D.输出设备

    13输入设备是()

    A.从磁盘上读取信息的电子线路

    B.磁盘文件等

    C.键盘、鼠标器和打印机等

    D.从计算机外部获取信息的设备

    14输入输出装置和外接的辅助存储器统称为()

    A.CPU

    B.存储器

    C.操作系统

    D.外围设备

    15数据一旦存入后,非经特别处理,不能改变其内容,所存储的数据只能读取,但无法将新数据写入,所以叫做()

    A.磁芯

    B.只读存储器

    C.硬盘

    D.随机存取内存

    16速度快,分辨率高的打印机类型是()

    A.非击打式

    B.激光式

    C.击打式

    D.点阵式

    17所谓的64位机是指该计算机所用的CPU()

    A.同时能处理64位二进制数

    B.具有64位寄存器

    C.只能处理64位二进制定点数

    D.有64个存储器

    18通常将运算器和()合称为中央处理器,即CPU.

    A.存贮器

    B.输入设备

    C.输出设备

    D.控制器

    19通常所说的PC机是指()

    A.单板计算机

    B.小型计算机

    C.个人计算机

    D.微型计算机

    20外存储器中的信息,必须首先调入(),然后才能供CPU使用.

    A.RAM

    B.运算器

    C.控制器

    D.ROM

    21外存与内存有许不同之处,外存相对于内存来说以下叙述()不正确.

    A.外存不怕停电,信息可长期保存

    B.外存的容量比内存大得多,甚至可以说是海量的

    C.外存速度慢,内存速度快

    D.内存和外存都是由半导体器件构成

    22完整的计算机系统包括()

    A.硬件系统和软件系统

    B.主机和外部设备

    C.主机和程序

    D.人和机器

    23完整的计算机硬件系统一般包括外部设备和()

    A.运算器的控制器

    B.存储器

    C.主机

    D.中央处理器

    24微处理器处理的数据基本单位为字.一个字的长度通常是()

    A.16个二进制位

    B.32个二进制位

    C.64个二进制位

    D.与微处理器芯片的型号有关

    25微机硬件系统中地址总线的宽度对()影响最大.

    A.存储器的访问速度

    B.CPU可直接访问的存储器空间大小

    C.存储器的字长

    D.存储器的稳定性

    26微机硬件系统中最核心的部件是()

    A.内存储器

    B.输入输出设备

    C.CPU

    D.硬盘

    27微机在工作中,由于断电或突然死机而重新启动后,则计算机()中的信息将全部消失.

    A.ROM和RAM

    B.ROM

    C.硬盘

    D.RAM

    28微机中,主机是由微处理器与()组成.

    A.运算器

    B.磁盘存储器

    C.软盘存储器

    D.内存储器

    29微机中的硬盘是()

    A.内存(主存储器)

    B.大容量内存

    C.辅助存储器

    D.CPU的一部分

    30微机中使用的鼠标器一般连接在计算机的主机()上.

    A.并行I/O口

    B.串行接口

    C.显示器接口

    D.打印机接口

    31微型计算机必不可少的输入/输出设备是()

    A.键盘和显示器

    B.键盘和鼠标

    C.显示器和打印机

    D.鼠标和打印机

    32微型计算机常用的输入设备和输出设备分别是()

    A.键盘和打印机

    B.鼠标器和显示器

    C.键盘,显示器和打印机

    D.显示器和打印机

    33微型计算机存储器系统中的Cache是()

    A.只读存储器

    B.高速缓冲存储器

    C.可编程只读存储器

    D.可擦除可再编程只读存储器

    34微型计算机的存储系统一般指主存储器和()

    A.累加器

    B.辅助存储器

    C.寄存器

    D.RAM

    35微型计算机的发展是以()的发展为表征的.

    A.微处理器

    B.软件

    C.主机

    D.控制器

    36微型计算机的基本组成是()

    A.主机、输入设备、存储器

    B.微处理器、存储器、输入输出设备

    C.主机、输出设备、显示器

    D.键盘、显示器、打印机、运算器

    37微型计算机的性能主要取决于()的性能.

    A.内存储器

    B.CPU

    C.外部设备

    D.外存储器

    38微型计算机的运算器、控制器及内存储器统称为()

    A.CPU

    B.ALU

    C.主机

    D.GPU

    39微型计算机没有的总线是()

    A.地址总线

    B.信号总线

    C.控制总线

    D.数据总线

    40微型计算机内存储器()

    A.按二进制数编址

    B.按字节编址

    C.按字长编址

    D.根据微处理器不同而编址不同

    41微型计算机硬件系统的基本组成是()

    A.主机、输入设备、存储器

    B.CPU,存储器、输入设备、输出设备

    C.主机、输出设备、显示器

    D.键盘、显示器、打印机、运算器

    42微型计算机硬件系统的性能主要取决于()

    A.微处理器

    B.内存储器

    C.显示适配卡

    D.硬磁盘存储器

    43微型计算机硬件系统中最核心的部件是()

    A.主板

    B.CPU

    C.内存储器

    D.I/O设备

    44微型计算机硬件系统主要包括存储器、输入设备、输出设备和()

    A.中央处理器

    B.运算器

    C.控制器

    D.主机

    45微型计算机中,RAM的中文名字是()

    A.随机存储器

    B.只读存储器

    C.高速缓冲存储器

    D.可编程只读存储器

    46微型计算机中,控制器的基本功能是()

    A.存储各种控制信息

    B.传输各种控制信号

    C.产生各种控制信息

    D.控制系统各部件正确地执行程序

    47微型计算机中,运算器的主要功能是进行()

    A.逻辑运算

    B.算术运算

    C.算术运算和逻辑运算

    D.复杂方程的求解

    48微型计算机中使用的打印机是连接在()

    A.并行接口上

    B.串行接口上

    C.显示器接口上

    D.键盘接口上

    49我们通常说的内存条即指()

    A.ROM

    B.EPROM

    C.PPROM

    D.RAM

    更多相关内容
  • 本文介绍了物理存储设备SDD和HDD及相关组件,并对硬盘接口进行梳理。同时也会给大家分析了存储特性指标和存储组网方式。

    一、常见物理存储设备及相关配件

    1.SSD(Solid State Disk)固态硬盘

    SSD (Solid State Disk或Solid State Drive) 固态硬盘(又称固态驱动器),利用Flash芯片或DRAM芯片作为数据永久存储的硬盘。常见的固态硬盘有笔记本的固态硬盘、存储卡、U盘等。

    SSD由控制单元存储单元(FLASH芯片、DRAM芯片)组成。

    利用DRAM作为存储介质的SSD,称为RAM-Dsk,其内部使用SDRAM内存条来存储数据,所以外部断点后,需要使用电池来维持DRAM中的数据。

    现在比较常见的是基于Flash芯片存储的SSD。

    Flash芯片使用“一种叫浮动门场效应”晶体管组成,一个晶体管就是一个存储单元,称为“cell”。有两种Cell:对于单级单元(SLC,single leavel cell)闪存设备,一个晶体管可容纳1比特数据;多级单元(MLC,mutiple leavel cell),每个单元存储2比特。成本依次降低,容量依次增大,耐用度也依次降低。

    要想清楚的了解固态硬盘的存储原理,就必须认识Flash原理。

    Flash数据存储原理

    Flash 内部存储单元——金属-氧化层-半导体-场效晶体管,里面有个悬浮门(floating gata),是实际存储数据单元。 

    NAND flash示意图:

     NAND Flash 数据存储单元层次抽象图:

    2.HDD(Hard Disk Drive)硬盘驱动器(机械硬盘)

    组成:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。

    磁头定位在盘片的指定位置上进行数据的读写操作。信息通过离磁性表面很近的磁头,由电磁流来改变极性方式被电磁流写到磁盘上,信息可以通过相反的方式读取。磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,每个扇区可以存放512个字节的信息,向磁盘读取和写入数据时,要以扇区为单位。即读写的最小数据量为512个字节。

     需要对硬盘进行分区、格式化、挂载等操作才能使用。

    参考链接:【Linux】文件系统与硬盘存储(分区、格式化、挂载、inode、软链接与硬链接)_Jacky_Feng的博客-CSDN博客

    3.SSD和HDD特性对比

    磁盘类型

    SSD

    HDD

    单位成本

    容量

    IOPS

    延迟

    噪音

    重量

    工作温度范围

    抗震性

     4.存储配件

    网卡(网络适配器、网络接口卡)

    网卡是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件(通俗讲网卡就是让计算机连接网络的硬件设备)。网卡和计算机之间的通信是通过计算机主板上的I/O总线以并行传输方式进行。网卡和网络之间的通信通过电缆或双绞线以串行传输方式进行。

    每一个网卡都有一个独一无二的MAC地址(又称局域网地址、物理地址),这个MAC地址能够标识该计算机具体的网络节点,它被写在卡上的一块ROM中。理论上,除非网卡被盗,否则一般是不会被顶替,所以局域网采用MAC地址来标识具体用户。

    在通信过程中,通过交换机内部的交换表把MAC地址和IP地址一一对应。局域网内一台主机A向另一台主机B发送数据。交换机首先将A发送的数据包接收,然后把数据包中的IP地址按照交换表中的对应关系映射给MAC地址,然后将数据包转发到对应的MAC地址的主机上去。这样,即使B主机的IP被盗,但由于此主机没有对应的MAC地址,因此也不能接收到相应的数据。

    HBA卡(Host Bus Adapter,主机总线适配器)

    常规定义:HBA卡是连接主机I/O总线和计算机内存系统的I/O适配器。

    HBA是一个在服务器和存储装置间提供输入/输出(I/O)处理和物理连接的电路板或集成电路适配器。在服务器内部IO通道是PCI和SBus,存储系统的IO通道是光纤通道或SCSI,HBA作用就是实现内涂通道协议PCI或Sbus和光纤通道或SCSI协议之间的转换。因为HBA减轻了主处理器在数据存储和检索任务的负担,它能够提高服务器的性能。

    二、常见接口类型

    硬盘接口是硬盘与计算机系统间的连接部件,作用是在硬盘缓存和主机内存之间传输数据。不同的硬盘接口决定着硬盘与计算机之间的连接速度。在整个系统中,硬盘接口的优劣直接影响着程序运行快慢和系统性能好坏。SCSI与ATA是目前现行的两大主机与外设通信的协议规范,它们各自有自己的物理接口定义。对于ATA协议,对应就是IDE接口;对于SCSI协议,对应就是SCSI接口

    IDE(Integrated Drive Electronics)电子集成驱动器

    本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。IDE代表着硬盘的一种类型,但在实际的应用中,人们也习惯用IDE来称呼最早出现IDE类型硬盘ATA-1,这种类型的接口随着接口技术的发展已经被淘汰了,而其后发展分支出更多类型的硬盘接口,比如ATA、Ultra ATA、DMA、Ultra DMA等接口都属于IDE硬盘。

     

     IDE接口使用一根40芯或80芯的扁平电缆连接硬盘与主板,每条线最多连接两个IDE设备(硬盘或者光驱)。

     IDE接口属于并行的ATA标准,所以也称为PATA(Parallel ATA)。由于并行传输随着电路频率的提升,传输线缆上的信号干扰越来越难以解决,已经到达了当前技术的极限,所有,并行IDE硬盘逐渐被串行SATA硬盘取代

    SATA(Serial Advanced Technology Attachment)串行ATA ,一种基于行业标准的串行硬件驱动器接口。(普遍用于机械硬盘HDD)

     特点:

    • 总线使用嵌入式时钟信号,可同时对指令及数据封包进行循环冗余校验,具有较强的纠错能力,提高了数据传输的可靠性(PATA只能对来回传输的数据进行校验,无法对指令进行校验)。
    • 结构简单、支持热插拔(即带电插拔,热插拔功能就是允许用户在不关闭系统,不切断电源的情况下取出和更换损坏的硬盘、电源或板卡等部件)
    • 传输速度快。连续串行方式传输数据,2003年发布的SATA1.0 规范提供的传输速率已经达到150MB/S,比最快的并行ATA133MB/s还快。(SATA传输率说明:数据传输速率是指串行接口数据传输的实际比特率,SATA 1.0的传输速率是1.5Gb/s,SATA 2.0的传输速率是3.0Gb/s,SATA 3.0的传输速率是6.0Gb/s。与其他高速串行接口一样,SATA接口也采用了一套用来确保数据流特性的编码机制,这套编码机制将原本每字节所包含的8位数据(即1B=8b)编码成10位数据(即1B=10b),这样一来,SATA接口的每字节串行数据流就包含了10位数据,经过编码后的SATA传输速率就相应地变为SATA实际传输速率的十分之一,所以1.5Gb/s=150MB/s,3.0Gb/s=300MB/s,而6.0Gb/s=600MB/s。)

    串行传输:字符中比特位在发送端一位接一位地传送,数据到达接收端后,接收设备将依次传来地比特流还原成字符。成本低,适合远距离传输。

    并行传输:采用多信道同时传输(通常为8通道),以字符为单位一个字符一个字符地传送数据,一个字符中多个比特位同时传送给接收端。多条并行通道,成本较高,适合短距离、要求传输速度快的场合。

    (在并行传输中,如果传输频率过高,数据线间会产生干扰,造成数据出错,即使为数据线间添加屏蔽层,也不能保证屏蔽掉高频产生地干扰,所以,并行传输的最高传输频率有一定限制。

    并行传输最高传输频率约为33MHz,而串行传输的频率达到10GHz,大约为33MHz的310倍,所以并行传输每发送一次,串行传输可发送310次。)

    SCSI(Small Computer System Interface,小型计算机系统接口)

    SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术,它支持包括磁盘驱动器、磁带机、光驱、扫描仪、服务器和工作站、工控设备在内的多种设备。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,但较高的价格使得它很难如ATA硬盘般普及,因此SCSI硬盘主要应用于中、高端服务器和高档工作站中。

    SCSI接口从诞生到现在已经历了二十多年的发展,先后衍生出了SCSI-1、Fast SCSI、Fast-WIDE-SCSI-2、Ultra SCSI、Ultra 2 SCSI、Ultra 160 SCSI、Ultra 320 SCSI等,现在市场中占据主流的是Ultra 160 SCSI、Ultra 320 SCSI接口产品。

    SCSI接口传输率

    在系统中应用SCSI必须要有专门的SCSI控制器(一块SCSI控制卡),才能支持SCSI设备,这与IDE硬盘不同。在SCSI控制器上有一个相当于CPU的芯片,它对SCSI设备进行控制,能处理大部分的工作,降低了中央处理器的负担(CPU占用率)。在同时期的硬盘中,SCSI硬盘的转速、缓存容量、数据传输速率都要高于IDE硬盘,因此更多是应用于商业领域。

    SCSI卡
    SCSI卡

    SCSI接口连接器分为内置和外置两种:内置数据线的外形和IDE数据线一样,只是针数和规格稍有差别,主要用于连接光驱和硬盘,40针ATA 33线有40根导线,40针ATA 66有80根导线,而SCSI内置接口则分为25针、50针、68针和80针

    68针SCSI硬盘

     在服务器领域,并行SCSI硬盘被串行SAS硬盘取代,目前主流的硬盘都是可热插拔的SAS硬盘,SAS就是串行连接的SCSI。

    SAS(Serial Attached SCSI)串行连接SCSI接口

    SAS是新一代SCSI技术,和SATA相同,都采用串行技术获取更高的传输速度,并通过缩短连接线改善内部空间。此接口的设计是为了改善存储系统的性能、可用性和扩充性,并且提供与SATA硬盘的兼容性。

    SAS在SCSI基础上引入SAS扩展器,可以连接更多设备,同时由于它的连接器较小,SAS可以在3.5英寸或更小的2.5英寸硬盘驱动器上实现全双端口,为同时发送读写操作提供了两条活动通道

    单工方式:只允许A发送器给B接收器传送数据,而B不能给A发送数据

    半双工方式:可以允许A向B传送数据,也允许B向A传送数据,但是一个时间段只允许发送一个动作。(相互发数据的动作只允许一个先发生,一个后发生)

    全双工方式:允许A和B同时进行双向传送数据。(即A——>B 同时 B ——>A)

    SAS接口技术可以向下兼容SATA。SAS系统的背板既可以连接具有双端口、高性能的SAS驱动器,也可以连接高容量、低成本的SATA驱动器。(注意,SATA系统并不兼容SAS,所以SAS驱动器不能连接到SATA背板上。) 

    二者的兼容性主要体现在物理层和协议层的兼容。在物理层,SAS接口和SATA接口完全兼容,SATA硬盘可以直接使用在SAS的环境中。从接口标准上而言,SATA是SAS的一个子标准,因此SAS控制器可以直接操控SATA硬盘,但是SAS却不能直接使用在SATA的环境中,因为SATA控制器并不能对SAS硬盘进行控制。在协议层,SAS由3种类型协议组成,根据连接的不同设备使用相应的协议进行数据传输。其中串行SCSI协议(SSP)用于传输SCSI命令;SCSI管理协议(SMP)用于对连接设备的维护和管理;SATA通道协议(STP)用于SAS和SATA之间数据的传输。因此在这3种协议的配合下,SAS可以和SATA及部分SCSI设备无缝结合

    SATA接口和SAS接口对比图

     从上图,可知它们的针数是相同的,区别主要有两个,其一为SATA的数据口和供电接口不相连,而SAS是相连的;另一为SAS接口背面还有触点(冗余接口)。

    和传统并行SCSI接口比较起来,SAS不仅在接口速度上得到显著提升(现在主流Ultra 320 SCSI速度为320MB/s,而SAS刚起步速度就达到300MB/s,目前已达到1200MB/s甚至更多),而且由于采用了串行线缆,不仅可以实现更长的连接距离,还能够提高抗干扰能力,并且这种细细的线缆还可以显著改善机箱内部的散热情况。所以SAS硬盘已经成为主流。

    PCI-E(peripheral component interconnect express)是一种高速串行计算机扩展总线标准.

    PCIe属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量等功能。特点:数据传输速率高,潜力大。

    在PCIe总线的物理链路的一个数据通路(Lane)中,由两组差分信号,共4根信号线组成。其中发送端的TX部件与接收端的RX部件使用一组差分信号连接,该链路也被称为发送端的发送链路,也是接收端的接收链路;而发送端的RX部件与接收端的TX部件使用另一组差分信号连接,该链路也被称为发送端的接收链路,也是接收端的发送链路。一个PCIe链路可以由多个Lane组成。

    PCIe链路可以由多条Lane组成,目前PCIe链路可以支持1、2、4、8、12、16,即×1、×2、×4、×8、×12、×16宽度的PCIe链路。每一个Lane上使用的总线频率与PCIe总线使用的版本相关。

    M.2 

    当前最复杂、最多变的固态硬盘接口。

    M.2接口是Intel推出的一种替代MSATA新的接口规范,是为超极本量身定做的新一代接口标准。

    M.2接口从物理形态上,最常见的是B key和M key 两种形态。

    M.2的优势:

    ①兼容多种通信协议,读写速度快

    Socket 2(B key ——NGFF(Next Generation Form Factor))支持SATA、PCI-E x2接口(如果采用PCI-E ×2接口标准,最大的读取速度可以达到700MB/s,写入也能达到550MB/s)

    Socket 3(M key ——NVMe) 支持PCI-E ×4接口

     ②体积小。M.2标准的SDD单面NAND闪存颗粒布置2.75mm,而mSATA为4.85mm,明显mSATA 更厚。

    NVMe —— Non-Volatile Memory express(非易失性内存主机控制器接口规范)

    NVMe 协议是一种Host(主机)与SSD之间通讯的协议,它在协议栈中隶属高层,是个应用层协议,底层通常是PCIe协议栈。和传统SATA协议相比,NVMe协议作了很多针对多核host以及NAND存储介质的协议优化。

    通过PCI Express总线将存储连接到服务器(CPU),能够使固态硬盘(SSD)运行得更快,它有助于缓解闪存通过最初为HDD设计的SAS或SATA连接到系统时出现的瓶颈。

    NVMe SSD在很大程度上实现了并行性,极大地提高了吞吐量。传统的SATA连接只能支持一个队列,一次只能接收32条数据,类似只有一条车道的车流可以容纳32辆车。NVMe SSD,当数据从存储传输到服务器主机时,它会进入一行或队列,NVMe存储支持最多64000个队列,每个队列有64000个条目,类似从一条单行道走到一条6.4万车道的路上,每条车道都能容纳6.4万辆汽车。

    对于SATA,理论最大传输速度为6.0 Gbps(在实践中,最大传输速度要低得多)。这就相当于给SATA SSD的运行速度设定了上限。超过一定限度,使用再快的闪存对系统的整体性能没有影响,因为SATA连接会造成瓶颈。

    NVMe 与 PCIe 的关系?

    NVMe是一种协议,是一组允许SSD使用PCIe总线的软硬件标准。

    PCIe是实际的物理连接。

    三、存储特性指标

    1.容量

    单个设备能够写入并存储的最大容量,一般以KiB、 MiB、 GiB、TiB等单位衡量

    2.BW(bandwidth,带宽

    存储设备单位时间内能够读/写的数据吞吐量,一般以KiB/s、 MiB/s、 GiB/s等单位衡量

    3.延迟

    存储设备对读/写操作响应的时间,一般以ms单位衡量

    磁盘完成一个I/O请求所花费的时间,它由寻道时间旋转延迟数据传输时间三部分构成。

    (1)寻道时间:指将读写磁头移动至正确的磁道上所需要的时间。寻道时间越短,I/O操作越快,目前磁盘的平均寻道时间一般在3-15ms。

    常见磁盘平均物理寻道时间为:
    7200转/分的STAT硬盘平均物理寻道时间是9ms
    10000转/分的STAT硬盘平均物理寻道时间是6ms
    15000转/分的SAS硬盘平均物理寻道时间是4ms

    (2)旋转延迟: 指盘片旋转将请求数据所在扇区移至读写磁头下方所需要的时间。旋转延迟取决于磁盘转速,通常使用磁盘旋转一周所需时间的1/2表示。

    常见硬盘的旋转延迟时间为:

    7200  转/分的磁盘平均旋转延迟大约为60*1000/7200/2 = 4.17ms

    10000 转/分的磁盘平均旋转延迟大约为60*1000/10000/2 = 3ms,

    15000 转/分的磁盘其平均旋转延迟约为60*1000/15000/2 = 2ms。

      (3)   数据传输时间:完成传输所请求的数据所需要的时间,它取决于数据传输率,其值等于数据大小除以数据传输率。目前IDE/ATA能达到133MB/s,SATA 可达到300MB/s的接口数据传输率,数据传输时间通常远小于前两部分消耗时间。简单计算时可忽略。

    4.IOPS(I/O per second,每秒输入/输出

    单位时间内存储设备能承载的读写操作次数。

    与IOPS容易混淆的另一概念吞吐量

    吞吐量(throughput)单位时间内可以成功传输的数据数量。吞吐量=IPOS*I/O大小

    两者适合于不同的场合:

    • 随机读写频繁的场景,如小文件存储(图片)、OLTP数据库、邮件服务器,关注随机读写性能,IOPS是关键衡量指标。
    • 顺序读写频繁的场景,传输大量连续数据,如电视台的视频编辑,视频点播VOD(Video On Demand),关注连续读写性能。数据吞吐量是关键衡量指标。

    示例:

    写入10000个1KB文件要比写入1个10MB文件耗费的时间要多得多,虽然数据总量都是10M。因为写入10000个1KB小文件时,根据文件分布情况和大小情况,可能需要做几万甚至十几万次IO才能完成;而写入一个10M大文件,如果这个文件在磁盘上是连续存放的,那么可能只需要几十次IO就能完成。对于写入小文件的情况,追求的是IOPS高的磁盘。对于写入连续大文件,较高的IOPS性能也不会有提升,需要较大传输带宽的硬盘,追求的是吞吐量大的磁盘。

    读取10000个1KB文件,用时10秒  Throught(吞吐量)=1MB/s ,IOPS=1000  追求IOPS
    读取1个10MB文件,用时0.2秒  Throught(吞吐量)=50MB/s, IOPS=5  追求吞吐量

     吞吐量和带宽的区分

    带宽一般指链路上每秒所能传送的比特数,可类比公路的最大限速

    吞吐量是实际链路中每秒所能传送的比特数,可类比公路上实际行驶速度

    四、数据传输方式

    IP传输:通过网络直接进行端到端的数据传输,由软件的服务端和客户端自定义传输协议,常见千兆、10GE(万兆)、25GE、40GE等

    iSCSI(Internet Small Computer System Interface):通过网络连接的SCSI,常用于挂载LUN(逻辑盘)设备 ,用于在基于IP的存储设备之间建立连接及管理连接,在现有的IP网络上封装SCSI数据进行传输。

    FC(Fibre Channel,光纤通道):是一种高速网络互联技术,通过专有的光纤及光交设备进行数据传输,常见8Gb、16Gb等。

    FCoE(Fibre Channel over Ethernet,以太网光纤通道标准):它利用以太网,发送光纤通道的帧,让光纤通信的资料可以以太网中传输。

    NFS(Network File System,网络文件系统 )是一种分布式文件系统,通过网络传输文件数据

    CIFS(Common Internet File System,网络文件共享系统),一种应用层网络传输协议,主要功能是使网络上的机器能够共享相关资源。

    存储组网方式分类:

    SAN(Storage Area Network,存储局域网络):IP/FC;

    NAS(Network Attached Storage,网络附属存储):NFS CIFS

     

    SAN(Storage Area Network,存储区域网络)

    SAN是一个由存储设备和系统部件构成的网络,所有的通信都在一个与应用网络隔离的单独的网络上完成,可以被用来集中和共享存储资源。SAN不但提供了对数据设备的高性能连接提高了数据备份速度,还增加了对存储系统的冗余连接提供了对高可用群集系统的支持。 
    SAN是关联存储设备和服务器的网络。它和以太网有类似的架构。以太网由服务器、以太网卡、以太网集线器/交换机及工作站所组成,而SAN则由服务器HBA卡集线器/交换机存储装置所组成。 

    NAS(Network Attached Storage)网络附加存储。在NAS存储结构中,存储系统不再通过I/O总线附属于某个服务器或客户机,而直接通过网络接口与网络直接相连,由用户通过网络访问。
    NAS实际上是一个带有瘦服务器的存储设备,其作用类似于一个专用的文件服务器。这种专用存储服务器去掉了通用服务器原有的不适用的大多数计算功能,而仅仅提供文件系统功能。与传统以服务器为中心的存储系统相比,数据不再通过服务器内存转发,直接在客户机和存储设备间传送,服务器仅起控制管理的作用。

    NAS的主要特点:

       1. NAS使用了传统以太网协议,当进行文件共享时,则利用了NFS和CIFS以沟通NT和Unix系统。由于NFS和CIFS都是基于操作系统的文件共享协议,所以NAS的性能特点是进行小文件级的共享存取。 

       2. NAS设备是直接连接到以太网的存储器,并以标准网络文件系统如NFS、SMB/CIFS over TCP/IP接口向客户端提供文件服务。NAS设备向客户端提供文件级的服务。但内部依然是以数据块的层面与它的存储设备通讯。文件系统是在这个NAS 存储器里。 

      3.2. NAS的主要长处:

      1. NAS适用于那些需要通过网络将文件数据传送到多台客户机上的用户。NAS设备在数据必须长距离传送的环境中可以很好地发挥作用。  

      2. NAS设备非常易于部署。可以使NAS主机、客户机和其他设备广泛分布在整个企业的网络环境中。NAS可以提供可靠的文件级数据整合,因为文件锁定是由设备自身来处理的。  

      3. NAS应用于高效的文件共享任务中,例如UNIX中的NFS和Windows NT中的CIFS,其中基于网络的文件级锁定提供了高级并发访问保护的功能。 

    五、CPU与内存、磁盘的交互 

    CPU使用一种称为内存映射IO的技术向I/O设备发送命令。在使用内存映射I/O系统中,地址空间有一块地址是为了与I/O设备通信保留的,这个地址称为I/O端口。

    以磁盘读取数据为例演示CPU、内存、磁盘的交互。

    (1)CPU将读命令、逻辑块号和存储磁盘扇区内容的主存地址写到与磁盘相关联的存储器映射地址,发起磁盘读。

     (2)磁盘控制器读扇区,并执行到主存的DMA传送

     (3)当DMA传送完成,磁盘控制器以一个中断通知CPU

    展开全文
  • android下存储设备的使用

    千次阅读 2019-02-15 17:59:55
    Android 一直在不断发展,可支持各种存储设备类型和功能。所有 Android 版本均支持配有传统存储(包括便携式存储和内置存储)的设备。便携式存储是指物理介质(如 SD 卡或 USB 设备),用于进行临时数据传输/文件...

    本文转自android官网,原文地址:https://source.android.google.cn/devices/storage

    1、概览

    1.1、存储

    Android 外部存储设备 HAL 图标

    Android 一直在不断发展,可支持各种存储设备类型和功能。所有 Android 版本均支持配有传统存储(包括便携式存储和内置存储)的设备。便携式存储是指物理介质(如 SD 卡或 USB 设备),用于进行临时数据传输/文件存储。物理介质可以随设备一起保留更长时间,但并非固定在设备上,可以移除。自 Android 1.0 开始,SD 卡已可用作便携式存储;Android 6.0 增加对 USB 的支持。“内置”存储可通过将部分内部存储暴露于模拟层来实现存储,并且从 Android 3.0 开始便已支持此功能。

    从 Android 6.0 开始,Android 支持可合并的存储设备,这种存储设备是指可以像内部存储设备那样进行加密和格式化的物理介质(例如 SD 卡或 USB 设备)。移动存储设备可存储各类应用数据。

    1.2、权限

    采用各种 Android 权限保护对外部存储设备的访问。从 Android 1.0 开始,采用 WRITE_EXTERNAL_STORAGE 权限保护写入访问。从 Android 4.1 开始,采用 READ_EXTERNAL_STORAGE 权限保护读取访问。

    从 Android 4.4 开始,外部存储设备上的文件所有者、组和模式根据目录结构合成。这样,应用可在外部存储设备上管理其特定文件包的目录,而无需获得广泛的 WRITE_EXTERNAL_STORAGE 权限。例如,文件包名称为 com.example.foo 的应用现在可以自由访问外部存储设备上的 Android/data/com.example.foo/,没有权限限制。通过将原始存储设备封装在 FUSE 守护进程中,可实现此类合成权限。

    1.3、运行时权限

    Android 6.0 引入了一种新的运行时权限模式,在该模式中,应用可在运行时根据需要请求功能。由于新模式包含 READ/WRITE_EXTERNAL_STORAGE 权限,因此平台需要动态授予存储访问权限,而不会终止或重新启动已运行的应用。通过维护所有安装存储设备的三个不同视图可实现该模式:

    • /mnt/runtime/default 是向无特殊存储权限的应用以及 adbd 和其他系统组件所在的根命名空间显示。
    • /mnt/runtime/read 是向具有 READ_EXTERNAL_STORAGE 的应用显示
    • /mnt/runtime/write 是向具有 WRITE_EXTERNAL_STORAGE 的应用显示

    在 Zygote 进行 fork 操作时,我们会为各运行应用创建装载命名空间,并将相应的初始视图挂载到位。稍后,当授予运行时权限时,vold 将跳转到已运行应用的装载命名空间,并将升级后的视图挂载到位。请注意,权限降级定会导致应用被终止。

    用于实现此特性的 setns() 功能至少需要运行 Linux 3.8,但补丁程序已反向移植至 Linux 3.4。PermissionsHostTestCTS 测试可用于验证内核行为是否正确。

    在 Android 6.0 中,第三方应用无权访问 sdcard_r 和 sdcard_rw GID。相反,访问通过仅为该应用装载适当的运行时视图来控制。系统会使用 everybody GID 来阻止用户间交互。

     

    2、传统存储设备

    Android 支持采用传统存储的设备,它被定义为具有不可变 POSIX 权限类和模式且不区分大小写的文件系统。传统存储设备的概念包括模拟和便携式存储设备。便携式存储设备指的是系统未合并的任何外部存储设备,因此,未经格式化、加密或绑定到特定设备。由于传统的外部存储设备对存储的数据提供最低限度的保护,因此系统代码不应将敏感数据存储到外部存储设备中。具体来说,只能将配置和日志文件存储到可为其提供妥善保护的内部存储设备中。

    2.1、多用户外部存储设备

    从 Android 4.2 开始,设备可以支持多用户,且外部存储设备必须满足以下限制条件:

    • 每个用户都必须有各自的独立主要外部存储设备,且不得访问其他用户的主要外部存储设备。
    • /sdcard 路径必须根据运行进程的用户身份解析到特定于该用户的正确主要外部存储设备。
    • Android/obb 目录中较大的 OBB 文件的存储可作为优化在多个用户之间共享。
    • 次要外部存储设备不得让应用写入内容,除非在特定于软件包的目录中获得合成的权限。

    此功能的默认平台实现利用 Linux 内核命名空间,为每个 Zygote 所派生的进程创建独立的装载表,然后使用绑定装载向私有命名空间提供特定于用户的正确主要外部存储设备。

    启动时,系统会在 EMULATED_STORAGE_SOURCE(隐藏于应用中)装载一个模拟的外部存储设备 FUSE 守护进程。在 Zygote 派生之后,它会将特定于用户的相应子目录从 FUSE 守护进程下绑定装载到 EMULATED_STORAGE_TARGET,以便外部存储设备路径正确解析应用。由于应用缺少其他用户存储的可访问装载点,它们只能供启动的用户访问存储设备。

    该实现还使用共享的子树内核功能将装载事件从默认的根命名空间传播到应用命名空间中,从而确保 ASEC 容器和 OBB 装载等功能继续正常运行。它通过将 rootfs 装载为共享模式,然后在每个 Zygote 命名空间都创建好后重新将其装载为从属模式来实现。

    2.2、多个外部存储设备

    从 Android 4.4 开始,多个外部存储设备通过 Context.getExternalFilesDirs()Context.getExternalCacheDirs() 和 Context.getObbDirs() 提供给开发者。

    通过这些 API 提供的外部存储设备必须是设备的半永久部件(如电池盒中的 SD 卡插槽)。开发者希望存储在这些位置的数据可供长期使用。因此,瞬态存储设备(如 USB 大容量存储驱动器)不应通过这些 API 提供。

    WRITE_EXTERNAL_STORAGE 权限必须仅向在设备上的主要外部存储设备授予写入权限。不允许应用写入次要外部存储设备,除非在特定于软件包的目录中获得合成的权限。以这种方式限制写入可确保系统在应用被卸载时将文件清理干净。

    2.3、USB 媒体支持

    Android 6.0 支持只需短时间内连接到设备的便携式存储设备,如 U 盘。当用户插入新的便携式设备时,该平台会显示一条通知,以让用户复制或管理相应设备上的内容。

    在 Android 6.0 中,任何未合并的设备均被视为便携式设备。由于便携式存储设备只能短时间连接到设备,因此 Android 平台会避免执行媒体扫描之类的繁重操作。第三方应用必须通过存储访问框架与便携式存储设备中的文件进行交互;出于隐私和安全考虑,明确禁止直接访问。

     

    3、可合并的存储设备

    Android 一直都支持外部存储配件(如 SD 卡),但由于这些配件存在预期的无常性,以及传统外部存储设备只受最低限度的数据保护,因此这些配件一直以来仅限于进行简单的文件存储。Android 6.0 推出了合并外部存储媒介(使其可以像内部存储设备一样使用)的功能。

    注意:在运行 Android 7.0-8.1 的设备上,文件级加密 (FBE) 无法用于可合并的存储设备。在使用 FBE 的设备上,必须将新添加的存储媒介(例如 SD 卡)用作传统存储设备

    运行 Android 9 及更高版本的设备可以使用可合并的存储设备和 FBE。

    当合并外部存储媒介时,系统将对其进行格式化和加密处理,以便一次只在一台 Android 设备上使用。由于该媒介与合并它的 Android 设备紧密关联,因此可以安全地为所有用户存储应用和私密数据。

    当用户将新的存储媒介(如 SD卡)插入到可合并的位置时,Android 会询问他们想要如何使用该媒介。他们可以选择合并该媒介,这样的话,系统会对该媒介进行格式化和加密处理,或者也可以继续按原样将其用于简单的文件存储。如果他们选择合并媒介,平台会询问是否将主要共享存储内容(通常装载在 /sdcard 上)迁移到新合并的媒介上,从而腾出宝贵的内部存储空间。不同于因使用 MBR 而限制为 2TB 的传统存储设备,可合并的存储设备使用 GPT,因而文件存储空间上限约为 9ZB。

    只有当开发者通过 android:installLocation 属性指示提供支持时,才能将应用放置在合并的存储媒介上。新安装的受支持的应用将自动放置在具有最多可用空间的存储设备上,用户可以在“设置”应用中在存储设备之间移动支持的应用。移动到已合并媒介的应用在媒介弹出时被记住,并在重新插入媒介时返回弹出前的状态。

    3.2、安全性

    平台为每个合并的设备随机生成加密密钥,该密钥存储在 Android 设备的内部存储设备上。这样可以有效地使得合并的媒介与内部存储设备一样安全。密钥与合并的设备(基于合并的分区 GUID)相关联。合并的设备使用通过 aes-cbc-essiv:sha256 算法和 128 位密钥大小配置的 dm-crypt 进行加密。

    合并设备的磁盘布局紧密对应内部数据分区,包括 SELinux 标签等。当在 Android 设备上支持多用户时,合并的存储设备也通过与内部存储设备相同的隔离级别支持多用户。

    由于合并的存储设备的内容与合并该设备的 Android 设备密切相关,加密密钥不应可以从父设备中进行提取,因此该存储设备无法装载到其他位置。

    内容模式的默认加密算法是 aes-256-xts,而文件名的默认加密算法是 aes-256-heh。您可以通过分别更改属性 ro.crypto.volume.contents_mode 和 ro.crypto.volume.filenames_mode 的值(更改方式为在 device.mk 中设置 PRODUCT_PROPERTY_OVERRIDES)来更改这些设置。

    如果您的内核不支持 HEH 文件名加密,您可以通过将以下内容添加到 device.mk 来改用 CTS 模式:

    PRODUCT_PROPERTY_OVERRIDES += \
    ro.crypto.volume.filenames_mode=aes-256-cts

    3.4、性能和稳定性

    应该只考虑合并位于稳定位置(如电池盒内或防护盖后面的插槽)的外部存储媒介,以避免意外的数据丢失或损坏。尤其是,绝不应该考虑合并连接到手机或平板电脑的 USB 设备。一种常见的例外情况是连接到电视类设备的外部 U 盘,因为整个电视机通常安装在一个稳定的位置。

    当用户合并新的存储设备时,平台将运行基准测试,并将其性能与内部存储设备进行比较。如果所合并设备的速度明显慢于内部存储设备,则平台将警告用户体验可能会受到影响。此基准根据常用 Android 应用的实际 I/O 行为得出。目前,AOSP 实现只会在超出单个阈值时警告用户,但是设备制造商可以进一步做出调整,例如如果存储卡运行非常缓慢,则完全拒绝合并。

    合并的设备必须使用支持 POSIX 权限和扩展属性(如 ext4 或 f2fs)的文件系统进行格式化。为了获得最佳性能,建议基于闪存的存储设备使用 f2fs 文件系统。

    在执行周期性空闲维护时,平台将向合并的媒介发出 FI_TRIM(就像对待内部存储设备那样)。目前的 SD 卡规范不支持 DISCARD 命令;不过,内核会回退到使用 ERASE 命令,SD 卡固件可以选择使用该命令来实现优化目的。

    3.5、修正双重加密

    在 Android 8.x 及更低版本中,可合并的存储设备不支持 FBE。带有可合并的存储设备的所有现有设备都使用全盘加密(FDE)。在 Android 9 中,可合并的存储设备支持 FBE。但在默认情况下,文件内容已进行双重加密,因为可合并的存储设备具有 FDE 和 FBE 层。默认情况下,这两个层都会加密文件内容,这会降低设备性能。要解决双重加密问题并提高设备性能,请执行以下操作:

    1. 这些补丁程序添加到内核中。
    2. 要使用 vold 传达此项更改,请将以下内容添加到 device.mk 中:
    PRODUCT_PROPERTY_OVERRIDES += ro.crypto.allow_encrypt_override=true

    如果您设置了此项内容,但内核修补程序不存在,则可合并的存储设备将无法工作,并且 vold 日志将包含一条错误消息(提示它无法创建 dm 设备)。

    注意:请勿使用 OTA 更新更改此标记,因为这会更改可合并的存储设备的磁盘格式。

    3.6、测试

    要测试可合并的存储设备是否正常工作,请运行此 CTS 测试:

    cts-tradefed run commandAndExit cts-dev \
        -m CtsAppSecurityHostTestCases \
        -t android.appsecurity.cts.AdoptableHostTest

    要在设备没有内置插槽或正使用 USB 连接器实现有效的 adb 连接时验证 U 盘和 SD 卡的行为,请使用:

    adb shell sm set-virtual-disk true

     

    4、设备配置

    外部存储空间由 vold init 服务和 StorageManagerService 系统服务共同管理。外部实体存储卷的装载由 vold 处理:通过执行分阶段操作准备好媒体,然后再将其提供给应用。

    注意:在 Android 8.0 中,MountService 类已更名为 StorageManagerService

    4.1、文件映射

    对于 Android 4.2.2 及更早版本,特定于设备的 vold.fstab 配置文件定义从 sysfs 设备到文件系统装载点的映射,每行都遵循以下格式:

    dev_mount <label> <mount_point> <partition> <sysfs_path> [flags]
    • label:卷的标签。
    • mount_point:要装载卷的文件系统路径。
    • partition:分区编号(从 1 开始);如果是第一个可用分区,则为“auto”。
    • sysfs_path:可以提供此装载点的设备的一个或多个 sysfs 路径。这些路径用空格分开,且必须都以 / 开头。
    • flags:可选的逗号分隔标记列表,不能包含 /。可能的值包括 nonremovable 和 encryptable

    对于 Android 4.3 及更高版本,init、vold 和 recovery 所使用的各种 fstab 文件在 /fstab.<device> 文件中进行统一。对于由 vold 管理的外部存储卷,条目应采用以下格式:

    <src> <mnt_point> <type> <mnt_flags> <fs_mgr_flags>
    • src:sysfs(通常在 /sys 下装载)下可以提供装载点的设备的路径。路径必须以 / 开头。
    • mount_point:要装载卷的文件系统路径。
    • type:卷上的文件系统类型。如果是外部卡,则通常为 vfat
    • mnt_flagsVold 会忽略此字段,应将其设置为 defaults
    • fs_mgr_flagsVold 会忽略此字段中不包含 voldmanaged= 标记的统一的 fstab 中的任何行。该标记必须后跟描述卡的标签,以及分区号或字词 auto。例如:voldmanaged=sdcard:auto。其他可能的标记有 nonremovableencryptable=sdcardnoemulatedsd 和 encryptable=userdata

    4.2、配置详情

    框架层级以及更高层级的外部存储交互通过 StorageManagerService 来处理。由于 Android 6.0 中进行了配置更改(例如移除了 storage_list.xml 资源叠加层),因此配置详情分成了两类。

    4.2.1、Android 5.x 及更低版本

    设备专属的 storage_list.xml 配置文件(通常通过 frameworks/base 叠加层提供)定义存储设备的属性和限制。<StorageList> 元素包含一个或多个 <storage> 元素,其中一个元素应被标记为主元素。<storage> 属性包括:

    • mountPoint:此装载的文件系统路径。
    • storageDescription:描述此装载的字符串资源。
    • primary:如果此装载是主要外部存储,则为 true。
    • removable:如果此装载包含可移动媒体(如物理 SD 卡),则为 true。
    • emulated:如果此装载由可能使用 FUSE 守护进程的内部存储模拟和支持,则为 true。
    • mtp-reserve:MTP 应为免费存储预留的存储 MB 数。仅在装载被标记为模拟时使用。
    • allowMassStorage:如果此装载可通过 USB 大容量存储设备共享,则为 true。
    • maxFileSize:最大文件大小(以 MB 为单位)。

    设备可以通过模拟由内部存储支持的文件系统(不区分大小写,无需权限)来提供外部存储。system/core/sdcard 中的 FUSE 守护进程提供一个可能的实现,可添加为特定于设备的 init.rc 服务:

    # virtual sdcard daemon running as media_rw (1023)
    service sdcard /system/bin/sdcard <source_path> <dest_path> 1023 1023
        class late_start

    其中,source_path 为提供支持的内部存储,dest_path 为目标装载点。

    配置特定于设备的 init.rc 脚本时,必须将 EXTERNAL_STORAGE 环境变量定义为主要外部存储的路径。/sdcard 路径也必须通过符号链接解析到同一位置。如果设备在平台更新之间调整外部存储的位置,则应创建符号链接,以便旧的路径继续发挥作用。

    4.2.2、Android 6.0及以上

    目前,存储子系统的配置集中在特定于设备的 fstab 文件中,并且移除了一些历史静态配置文件/变量,以支持更多动态行为:

    • storage_list.xml 资源叠加层已被移除,框架已不再使用该叠加层。现在,存储设备在被 vold 检测到时动态配置。
    • EMULATED_STORAGE_SOURCE/TARGET 环境变量已被移除,Zygote 已不再使用这些变量来配置特定于用户的装载点。相反,用户分离现在由特定于用户的 GID 强制执行,主要共享存储由 vold 在运行时装载到位。
      • 开发者可以根据其使用情形继续动态或静态构建路径。在路径中包含 UUID 可识别每个卡,以便为开发者提供更清晰的位置。(例如,/storage/ABCD-1234/report.txt 明显是与 /storage/DCBA-4321/report.txt不同的文件。)
    • 硬编码的 FUSE 服务已从特定于设备的 init.rc 文件中移除,在需要时将从 vold 动态派生。

    除了这些配置更改之外,Android 6.0 还包含可合并的存储设备的概念。对于 Android 6.0 设备,任何未被合并的物理媒体都被视为便携式设备。

    可合并的存储设备

    要在 fstab 中表示可合并的存储设备,请在 fs_mgr_flags 字段中使用 encryptable=userdata 属性。典型定义如下:

    /devices/platform/mtk-msdc.1/mmc_host*           auto      auto     defaults
    voldmanaged=sdcard1:auto,encryptable=userdata

    合并存储设备时,该平台会擦除内容并写入定义两个分区的 GUID 分区表:

    • 一个较小的空 android_meta 分区,预留以备将来使用的。分区类型 GUID 为 19A710A2-B3CA-11E4-B026-10604B889DCF。
    • 一个较大的 android_ext 分区,使用 dm-crypt 加密并使用 ext4 或 f2fs(取决于内核功能)格式化。分区类型 GUID 为 193D1EA4-B3CA-11E4-B075-10604B889DCF。

    便携式存储设备

    在 fstab 中,具有 voldmanaged 属性的存储设备默认被视为便携式设备,除非定义了其他属性(如 encryptable=userdata)。例如,典型的 USB OTG 设备的定义如下:

    /devices/*/xhci-hcd.0.auto/usb*             auto            auto    defaults
                                                        voldmanaged=usb:auto

    该平台在装载之前使用 blkid 检测文件系统类型,用户可以选择在文件系统不受支持时将媒体格式化。

     

    5、更快地获得存储统计信息

    在早期版本的 Android 中,系统会遍历特定应用拥有的所有文件以测量磁盘使用情况。此手动测量过程可能需要几分钟的计算时间,然后才能在“设置”中向用户显示结果。

    此外,清除缓存数据文件的内部算法仅查看所有应用的修改时间。这使得恶意应用可以通过将修改时间设置在遥远的未来以使其不当地拥有高于其他应用的优先级,从而降低整体用户体验。

    为了提升这些体验,Android 8.0 会询问是否利用 ext4 文件系统的“配额”支持来几乎即时地返回磁盘使用情况统计信息。此配额功能还可以防止任何单个应用使用超过 90% 的磁盘空间或 50% 的索引节点,从而提高系统的稳定性。

    5.1、实现

    配额功能是 installd 默认实现的一部分。 在特定文件系统上启用配额功能后,installd 会自动使用该功能。如果在所测量的块设备上未启用或不支持配额功能,则系统将自动且透明地恢复手动计算方式。

    要在特定块设备上启用配额支持,请执行以下操作:

    1. 启用 CONFIG_QUOTACONFIG_QFMT_V2 和 CONFIG_QUOTACTL 内核选项。
    2. 将 quota 选项添加到 fstab 文件中的 userdata 分区:
    /dev/block/platform/soc/624000.ufshc/by-name/userdata   /data
    ext4    noatime,nosuid,nodev,barrier=1,noauto_da_alloc
    latemount,wait,check,formattable,fileencryption=ice,quota

    您可以在现有设备上安全地启用或停用 fstab 选项。在更改 fstab 选项后的第一次启动过程中,fsmgr 会强制执行 fsck 传递以更新所有配额数据结构,这可能会导致首次启动时间稍长。后续启动不会受到影响。

    配额支持仅在 ext4 和 Linux 3.18 或更高版本上进行了测试。如果在其他文件系统或者较旧的内核版本上启用,设备制造商将负责测试和检查统计信息的正确性。

    不需要特殊硬件支持。

    5.2、验证

    StorageHostTest 下包含 CTS 测试,它们可使用用于测量磁盘使用情况的公共 API。无论是否启用了配额支持,这些 API 都应返回正确的值。

    5.3、调试

    测试应用通过为空间大小使用唯一的质数来仔细分配磁盘空间区域。调试这些测试时,请使用此质数来确定任何差异的原因。例如,如果增量为 11MB 的测试失败了,请检查 Utils.useSpace() 方法以查看 11MB blob 是否存储在 getExternalCacheDir() 中。

    还有一些可能对调试有用的内部测试,但它们可能需要停用安全检查才能通过:

    runtest -x frameworks/base/services/tests/servicestests/ \
      src/com/android/server/pm/InstallerTest.java
    adb shell /data/nativetest64/installd_utils_test/installd_utils_test
    adb shell /data/nativetest64/installd_cache_test/installd_cache_test
    adb shell /data/nativetest64/installd_service_test/installd_service_test

     

    展开全文
  • CVR存储设备的结构与优势分析

    千次阅读 2021-08-03 00:11:27
    2.存储层磁盘管理,RAID管理,空间管理,录像卷管理,数据备份,数据还原等。3.各层间的关联如实现录像功能。(1)应用层发送一个录像命令给存储层。(2)存储层接收到命令后调用应用层接口启动取流动作。(3)应用层使用...

    一、CVR结构

    (一)CVR总体结构

    888ff6df958ed05414f5e3317245f41c.gif

    1.应用层

    编码器管理,策略管理,报警管理,日志管理,用户管理属于应用层。

    2.存储层

    磁盘管理,RAID管理,空间管理,录像卷管理,数据备份,数据还原等。

    3.各层间的关联

    如实现录像功能。

    (1)应用层发送一个录像命令给存储层。

    (2)存储层接收到命令后调用应用层接口启动取流动作。

    (3)应用层使用回调函数将数据写入缓冲区。

    (4)存储层从缓冲区读取数据,、将数据写入磁盘。

    (二)模式特点

    516abaa7fd14cede449c20d784301cbf.png

    1.流媒体存储主动从前端编码器取流,直接存储;

    2.在前端编码器与存储设备之间采用流媒体协议进行存储;

    3.流媒体存储提供检索、点播、回放、管理等接口给监控业务管理平台,由平台完成嵌入并直接对流媒体控制管理;

    4.平台客户端可直接从存储读取视频数据进行回放、浏览、检索及归档视频数据;

    5.彻底解决文件系统损坏带来数据丢失或无法读取的弊端,最小化循环写入带来的文件碎片问题。

    二、优势分析

    (一)架构简化、部署简单

    支持视频流经编码器直接写入CVR存储设备,省去存储服务器成本,避免服务器形成单点故障和性能瓶颈;同时CVR存储设备可内嵌流媒体转发模块,二级平台CVR存储设备可以直接从三级存储设备中实现取流。

    降低了系统整体建设成本,大大简化了视频监控网络的存储部署方式。

    同时,流媒体转发内嵌也解决了多路客户端回放时前端编码设备DSP处理能力不够或网络带宽过小的问题。

    (二)确保业务存储系统的高稳定

    CVR流存储设备采用独特的VSPP-视频流预保护技术,彻底解决由于断电断网引起的文件系统不稳定甚至文件系统损坏而导致的监控服务停止、数据只读或丢失等故障问题。

    传统IPSAN存储模式,磁盘阵列空间需要在存储服务器端格式化成本地文件系统后才能使用,但是断网、断电等突发事件,服务器端文件系统的数据不能及时刷新到存储上,而造成的结构损坏,从而导致磁盘空间的不可访问。

    1.CVR存储端可直接浏览、回放、归档

    CVR本身集成了平台功能。通过自身界面实现对编码器存储路径与报警配置,监控数据的直接下载、检索、浏览和回放等。可获得极高的录像导入、导出速度,提供更流畅的录像回放质量,且不占用DVS/DVR资源。

    同时针对关键视频段可进行直接归档操作,避免下次周期覆盖时被檫除。

    2.磁盘碎片免疫

    CVR存储采用磁盘预分配与专利数据结构技术相结合,首先查找空闲空间区域并用于存储新数据的过程,最大程度地提高系统性能和避免磁盘碎片。不需要依赖文件系统管理,避免文件碎片的产生。

    在反复覆盖写情况下,CVR并发写性能没有被明显下降。

    3.高性能并发与秒级检索、回放

    在反复覆盖写情况下,CVR仍然支持高达350路2M码流的同时写入。

    录像、检索、回放等控制信令和视频流数据通过全新的内部高速总线传输,实现点对点串行传输,不需要向外部网络请求带宽,从而大大提高了数据传输率。中心平台通过SDK方式对CVR进行直接访问、控制,性能较好。

    对于存储在CVR系统中的所有录像资源,都可以随时随地灵活、快速检索和回放;基于时间检索机制,实现视频点的准确定位,可对秒级前的历史图像进行回放。

    4.多码流同步备份实现

    支持前端同一视频数据在DVR内部硬盘与CVR流存储上同时储存,并支持实时或按策略录像,包括码流、时间段、断网录像等;同时支持多台CVR设备对同一视频数据的多份备份存储,形成数据副本进行差异化管理。

    5.大容量录像卷提供、简化配置

    通用存储逻辑卷受制于传统文件系统,最大不可超过2TB。CVR系统提出了录像卷概念,以录像卷为单元对外提供空间,每录像卷支持高达1024个逻辑卷,所以单容量空间可以高达数千PB。

    展开全文
  • 本来是计划每个月至少写2篇博客的,可是2018年的第一个月就失言了。...好了,费话不多说,今天记录的是安卓项目如何使用外置的存储设备(U盘/移动硬盘等)。 项目需要把大量数据(如视频文件等)保存备份起来,仅仅
  • 《计算机组成原理》— 外部设备

    千次阅读 2017-05-27 21:57:18
    第 10 章 外 部 设 备 基本知识点:外部设备的概念;常用的输入设备的工作原理;常用的输出设备的工作原理;...外部设备也称为外围设备,是指计算机系统除主机(主机由 CPU 和主存构成)外的其他设备,用于直接...
  • 满意答案qq518a162013.03.02采纳率:42%等级:12已帮助:11116人选择题 (一) :1、信息处理的六个基本环节除了采集、传输、加工外,还有: (A ) A、存储、输入、输出 B、存储、输入、打印 C、存储、运算、输出 D、...
  • 这次的项目使用STM32的大容量设备进行文件传输,通过STM32的USB大容量设备将电脑的文件放到外部FALSH,然后在程序运行时通过FATFS文件系统读取数据访问文件。 完整工程在文末提供CSDN下载和Github下载 内容提要...
  • 主要用于暂时存放CPU的运算数据,以及与硬盘等外部存储器交换的数据。由于计算机所有程序的运行都是在内存进行的,因此内存的性能以及稳定运行对计算机的影响非常大。很多用户对内存的理解都停留在“越大越好...
  • 计算机存储器指计算机的内部存储区域,以芯片格式和集成电路形式存在。计算机存储器应用于录音机或磁盘。术语“存储器”通常视为物理存储器的简称,作为保留数据的实际可能芯片。有些计算机也使用虚拟存储器,即在...
  • 128G的macbook日常使用还行,但是偶尔碰上需要安装一些乱七八糟的非必须的软件时,硬盘容量就有点捉襟见肘了,同时,在18款及之后的macbook加了T2芯片后,使得自己拆机换硬盘扩容这一条路基本走不通了(T2芯片会验证...
  • Android的数据存储

    千次阅读 2022-04-18 18:30:37
    Android的数据存储 1、SharedPreference存储(共享参数) 1.1、使用SharedPreferences存储和读取数据的步骤 存储数据 保存数据一般分为四个步骤: 使用Activity类的getSharedPreferences方法获得...
  • 存储容量是衡量微型计算机中存储能力的一个指标,它包括内存容量和外存容量。内存容量以字节为单位,分最大容量和装机容量最大容量由CPU的地址总线的位数决定,而装机容量按所使用软件环境来定。外存容量是指磁盘...
  • (√)应用软件的作用是扩大计算机的存储容量。(×)操作系统的功能之一是提高计算机的运行速度。(×)一个完整的计算机系统通常是由硬件系统和软件系统两大部分组成的。(√)第三代计算机的逻辑部件采用的是小规模集成...
  • 本页说明如何从USB大容量存储设备(如闪存驱动器或USB硬盘)引导Raspberry Pi。连接USB设备(尤其是硬盘和SSD)时,请注意其电源要求。如果您希望在Pi上连接多个SSD或硬盘,则通常需要外部电源-有源硬盘盒或有源USB...
  • 计算机组成原理学习-第八章 外部设备 (详细、系统、人话、看得懂) 在线博主,及时解答!
  • FASS分布式全闪存储技术白皮书

    千次阅读 2019-12-17 14:26:18
    全闪存阵列已经逐步向全NVMe硬件转移,然而其扩展性与灵活性,在云计算时代始终是最大的瓶颈。分布式全闪存储系统在全闪存介质配置的基础上,采用了标准的硬件平台、高效的新兴存储协议、极致的软件优化,可提供更...
  • 考虑因素:数据尺寸,数据类型,安全性 1.:文件系统: ...外部文件系统 :例如sd卡,外接硬盘等, 由于其可不可预知性,所以使用外部存储一定要先检查其是否可用。用户及其他APP均可以访问,APP卸...
  • 存储技术与智能存储组件

    千次阅读 2022-04-22 09:03:51
    信息在网络的传输,需要借助数据作为载体,那么信息和数据的关系是什么?数据存储的作用是什么? 一、数据与信息 什么是数据 SNIA(Stirage Networking lndustry Assocation,全球网络存储工业协会)对数据的定义...
  • 常见的存储组网方式及比较

    千次阅读 2020-08-24 12:18:38
    存储分类 DAS NAS SAN
  • 计算机存储的发展(块存储,文件存储,对象存储

    万次阅读 多人点赞 2018-09-15 15:04:08
    2、对象存储设备 3、元数据服务器(Metadata Server,MDS) 4、对象存储系统的客户端Client 三者之间异同比较 参考文献 如果要实现一个计算机,那么这个计算机一定要有以下的三个部分构成:计算、存储和网络...
  • 瑞萨e2studio.19--串口获取数据通过SPI存储于W25Q128外部flash概述硬件准备新建工程工程模板保存工程路径芯片配置工程模板选择SPI配置SPI属性配置片选CS管脚设置设置e2studio堆栈e2studio的重定向printf设置uart配置...
  • 所有Android设备都有两个文件存储区域:内部存储空间(internal Storage)和外部存储空间(external Storage)。这些名称是在Android早期确定的,那时候大部分设备都提供内置的非易失性内存(内部存储空间)以及可...
  • 存储洞察:从技术到市场

    千次阅读 2019-10-23 20:00:49
    ​追溯到2003年,算起来踏入存储行业已经超过15年,从存储学习到工作,从存储学术到产品,从存储技术到市场,从存储职场到创业,估且算是一名存储老兵了。数据很重要,但存储在中国境遇却很尴尬,因为敬畏很多企业不...
  • 地址总线,字长,内存容量,寻址范围 之间的计算处理机字长是指处理机能同时处理(或运算)的位数,即同时处理多少位(bit)数据。比如Intel Pentium4处理器字长为32位,它能同时处理32位的数据,也即它的数据总线为32位...
  • 应用系统容量管理

    千次阅读 2019-09-12 08:38:23
    准过程之一,应用系统容量体现了该应用系统的处理能力,特别是最大处理能力,对于系 统的正常运行、业务的产能规划保障、市场活动的冲击等都有着非常重要的意义,而随着 目前应用复杂度和系统架构复杂度的不断增加,...
  • 存储云计算选择开源还是商业版

    千次阅读 2018-04-11 18:06:25
    每个公司在面临存储运算瓶颈时,都会面临一番挣扎,本篇文章我们来调研梳理开源与商业版本的选择对比。 选择商用云平台还是选择开源云平台创建企业的私有云,这确实是个问题。企业需要综合考虑,权衡利弊,...
  • 存储保护:系统负责隔离分配给进程的内存区,使之互不干扰、免遭破坏,确保进程对存储单元的独占式使用,防止地址越界或操作越权 存储共享:为了节省内存空间和实现进程通信,系统允许多个进程共享内存区 存储扩充:...
  • 计算机百科丨存储介质发展史

    千次阅读 2019-12-22 21:21:10
    我们生活在一个信息爆炸的时代,据 IDC 预测 2020 年全球产生数据量将超过 40ZB,相当于地球上每个人每年将产生 5200GB 的数据。数据科普:存储单位换算表1 B(Byte ...
  • 主机与存储知识(实习杂记)

    千次阅读 2019-02-21 10:30:47
    Nas(network attached storage)网络存储基于标准网络协议实现数据传输,为网络的windows/linux/mac os等各种不同操作系统的计算机提供文件共享和数据备份。支持24小时不断电BT下载,FTP,HTTP,eMale及NZB下载;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 43,406
精华内容 17,362
关键字:

外部存储设备中容量最大的是