精华内容
下载资源
问答
  • 细说Android的内部存储和外部存储

    千次阅读 2019-02-19 21:32:06
    无论哪种存储,都会涉及到手机的存储空间,而其中比较绕人的就是Android手机的内部存储和外部存储了,这两天花了点时间总结了一番,这里写成博客权当记录。 内部存储 概念:注意内部存储不是内存,它是手机的一...

    数据存储,是我们在Android开发中经常遇到的场景,数据的存储方式也有多种方式,例如文件存储、数据库存储、网路存储等等。无论哪种存储,都会涉及到手机的存储空间,而其中比较绕人的就是Android手机的内部存储和外部存储了,这两天花了点时间总结了一番,这里写成博客权当记录。

    内部存储

    概念:注意内部存储不是内存,它是手机中的一块存储区域,是系统本身和系统应用程序主要的数据存储所在地。手机的内部存储通常不会很大,一旦手机的内部存储容量被用完,可能会出现手机无法使用的情形。对于开发者来说,不宜存储视频等大文件,适和存储一些小文件。比如我们常常用的SharedPreferences和SQLite数据库都是存储在内部存储中的,不会占用太大的空间。其主要的api如下:

            //获取手机内部存储空间的绝对路径。
            Environment.getDataDirectory().getAbsolutePath();
    
            //获取当前应用包名文件夹下的files文件夹
            getFilesDir().getAbsolutePath();
            
            //获取当前应用包名文件夹下cache文件夹
            getCacheDir().getAbsolutePath();
    
            //在内部存储空间内创建(或打开现有的)目录。
            getDir(String name, MODE_PRIVATE);
    

    这么看太苍白,截一张我手机的图解释下:


    在这里插入图片描述

    通常我们手机安装了一个app,都会在data/data目录下新增一个我们应用包名的文件夹,而数据库,SharedPreferences文件都是存放在这个文件夹中,getFilesDir是用来获取这个文件夹下的files文件夹路径(如果存在的话),getCacheDir则是获取cache文件夹路径的。至于Environment.getDataDirectory()获取到的路径是这样的:


    在这里插入图片描述

    就是最外层的/data目录,也就是我们所说的内部存储所在的根目录。内部存储没什么好说的,对于一个app来说,无非就是data/data目录下应用包名所在的文件夹。这里不禁想起来一个问题,似乎我们买手机,手机参数从来都没告诉我们内部存储有多大,我们常说的64g,128g可能只是外部存储或者是内部存储和外部存储的总和,无论你怎么搜索,都不会有关于一部手机内部存储的信息的,那我们如何获取一部手机的内部存储大小呢?作为Android程序员,当然是有固定的api给我们用啦,看代码:

     public static long getTotalInternalMemorySize() {
            File path = Environment.getDataDirectory();
            
            StatFs stat = new StatFs(path.getPath());
            
            //获取内部存储中每个区块的存储大小。
            long blockSize = stat.getBlockSize();
            
            //获取内部存储中所有的区块数量。
            long totalBlocks = stat.getBlockCount();
            
            //返回内部存储空间的总大小。
            return totalBlocks * blockSize;
        }
    

    我的手机是小米6 64g版本,看下我的手机内部存储空间有多大:


    在这里插入图片描述

    当然这个是字节数。55425040384/1000/1000/1000得到的GB大小,值为52.8个GB。有人会问了,出去系统占用的内存,这不是和手机宣传的64g差不多么?不应该是SD卡,属于外部存储么?当然,现在的手机大部分都不再支持外接SD卡了,内部存储和外部存储都是在一起的,但是概念上做了区分,内部存储和外部存储是一块存储介质上的不同区域。而以前外接SD卡则是在硬件上做了区分(Android 4.4以前),手机自带的存储卡就是内部存储,外接的SD卡就是外部存储。其实本质上没有区别,只是现在的手机都一体化了,再暴力拆解不符合现在的美学原理,也可以说是时代进化的产物吧~

    外部存储

    说完了内部存储,咱们再来聊一聊外部存储。外部存储,首先可以明确一点的是,如果现在的手机还能外接SD卡,那么外接的SD卡一定是外部存储。但是一部手机可能自己本身就区分了内部存储和外部存储,这个时候又外接一个SD卡,不是有两个外部存储了么?是的,理论上是可以有两个外部存储。存储方式都一样,关键是如何去区分这两个外部存储,看代码:

    File[] files;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        files = getExternalFilesDirs(Environment.MEDIA_MOUNTED);
        for(File file:files){
            Log.e("main",file);
        }
    }
    

    getExternalFilesDirs可以获取多个外部存储空间,返回一个数组。这样就可以得到手机自身所带的外部存储和外接SD卡所定义的外部存储了。我这里没有可以插SD卡的手机,大家如果有可以插SD卡的手机,可以自行试一试。外部存储常用的api:

            //获取手机外部存储的路径:/storage/emulated/0
            Environment.getExternalStorageDirectory().getAbsolutePath();
    
            //获取某种特定内容,如视频、照片、警报、铃声、音乐所在的路径,传入的参数是内容类型。  /storage/emulated/0/DCIM
            Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM ).getAbsolutePath();
    
            //获取某个应用在外部存储中的files路径  /storage/emulated/0/Android/data/demo.suning.com.demo/files
            getExternalFilesDir("").getAbsolutePath();
    
            //获取某个应用在外部存储中的cache路径 /storage/emulated/0/Android/data/demo.suning.com.demo/cache
            getExternalCacheDir().getAbsolutePath();
    

    获取特定内容的类型有以下几种:

    DIRECTORY_ALARMS //警报的铃声
    DIRECTORY_DCIM //相机拍摄的图片和视频保存的位置
    DIRECTORY_DOWNLOADS //下载文件保存的位置
    DIRECTORY_MOVIES //电影保存的位置, 比如 通过google play下载的电影
    DIRECTORY_MUSIC //音乐保存的位置
    DIRECTORY_NOTIFICATIONS //通知音保存的位置
    DIRECTORY_PICTURES //下载的图片保存的位置
    DIRECTORY_PODCASTS //用于保存podcast(博客)的音频文件
    DIRECTORY_RINGTONES //保存铃声的位置
    

    当然还有其他的一些api,这里就不一一列举了,google爸爸起名字还是比较见名思义的,看api名称大体可以猜到是干嘛用的。

    问:getExternalFilesDir和刚刚内部存储中的getFilesDir有什么区别呢和共同点呢?
    区别:一个时在外部存储中,一个是在内部存储中。
    相同点:路径中都带有当前app的包名,表明是当前app的专属文件。当app卸载或手动清除某个应用数据,它们也会被清除掉,其实它们的作用都是为了管理app的数据,让每一个app都有一个自己专属的文件夹,这样方便于系统管理,避免因为文件随意存储导致的存储空间混乱;另外就是为了当卸载应用时会把这些文件删除,不至于应用不在了,却还留下一堆垃圾文件。

    问:既然内部存储和外部存储都会有当前app的专属文件夹,那我们应该优先用哪个呢?
    答:理论上是优先使用外部存储,防止手机因为内部存储耗尽导致手机无法使用。当然一些无关紧要的小文件也可以存储在内部存储中,诸如数据库,SharedPreferences,大文件优先于外部存储。

    当然使用之前可能需要做一下判断,是否有外部存储,如果没有,则使用内部存储,有的话才使用外部存储:

    public static String getFilePath(Context context, String dir) {
            String directoryPath = "";
            if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {//判断外部存储是否可用 
                directoryPath = context.getExternalFilesDir(dir).getAbsolutePath();
            } else {//没外部存储就使用内部存储  
                directoryPath = context.getFilesDir() + File.separator + dir;
            }
            File file = new File(directoryPath);
            if (!file.exists()) {//判断文件目录是否存在
                file.mkdirs();
            }
            return directoryPath;
        }
    

    关于内部存储和外部存储的关系,我想引用另一篇博客的一张图:


    在这里插入图片描述

    参考:https://blog.csdn.net/u010937230/article/details/73303034,这里盗的图,如果作者看到了还希望作者多多包涵~

    至于Android每个版本SD卡的路径都不一样的问题,这里就不去分析了,管他google怎么玩,反正我们有api,只要api不变,我们就可以玩得转。所谓它自皮来它自恶,我自一口真气足。不过有时间和有兴趣的小伙伴可以研究研究哈,毕竟钻研是一种学习精神,是一种学习态度。而我很懒不想钻研~


    在这里插入图片描述

    展开全文
  • 本来是计划每个月至少写2篇博客的,可是2018年的第一个月就失言了。...好了,费话不多说,今天记录的是安卓项目如何使用外置的存储设备(U盘/移动硬盘等)。 项目需要把大量数据(如视频文件等)保存备份起来,仅仅
    本来是计划每个月至少写2篇博客的,可是2018年的第一个月就失言了。上个月实在是太忙了,从元旦收假上班开始,就开启了天天加班的新年征程,周六一样不放过。
    谁让我是IT人呢?不过偶尔加班也没什么不好,对工作负责,做出让客户满意的产品是我们职场人必须具备的东西。
    好了,费话不多说,今天记录的是安卓项目中如何使用外置的存储设备(U盘/移动硬盘等)。
    项目中需要把大量数据(如视频文件等)保存备份起来,仅仅依靠我们手机或安卓盒子这点存储容量,远远不能实现我们的要求。
    所以项目上要求通过USB接入个置的移动硬盘(1T)来存储我们的数据。目前做的盒子项目,但是手机项目盒子项目开发起来没有啥区别,那就直接开始上代码。
    
    public class MainActivity extends Activity {
    
        //定义监听存储设备的插入及拔出广播
        private MonitorUsbReceiver usbReceiver;
        //定义外置存储设备的文件(对应根目录文件)
        private File mExternalFile = null;
       //查询到所有存储设备列表(盒子有自带存储卡,还有外接入的U盘或移动硬盘)
        private List<StorageInfo> storageInfos = new ArrayList<>();
        /**
         * 注册广播
         */
        private void registerReceiver() {
            usbReceiver = new MonitorUsbReceiver();
            IntentFilter intentFilter = new       IntentFilter(Intent.ACTION_MEDIA_MOUNTED);
            //添加广播对应ACTION
            intentFilter.addAction(Intent.ACTION_MEDIA_EJECT);
            intentFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
            intentFilter.addAction(Intent.ACTION_SCREEN_OFF);
            intentFilter.addDataScheme("file");
            registerReceiver(usbReceiver, intentFilter);
        }
    
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            registerReceiver();
    
        }
    
    
        /**
         * 获取U盘中指定的文件
         *
         * @param fileName
         * @return
         */
        private File getBackupsDbFile(String fileName) {
            List<File> files = new ArrayList<>();
            if (null != mExternalFile && mExternalFile.listFiles() != null) {
                for (File usbFile : mExternalFile.listFiles()) {
                    if (usbFile.getName().equals(fileName)) {
                        files.add(usbFile);
                    }
                }
            }
            if (files.size() > 0) {
                return files.get(0);
            } else {
                return null;
            }
        }
    
    
        @Override
        protected void onDestroy() {
            super.onDestroy();
            //不要忘记在这里解注册广播
            unregisterReceiver(usbReceiver);
        }
    
        public class MonitorUsbReceiver extends BroadcastReceiver {
            private final String ROOT_PATH = "/storage";
            private final String SD_PATH = "/storage/external_storage/sdcard1";
            private final String SD_PATH_EQUAL = "/storage/sdcard1";
    
            @Override
            public void onReceive(Context context, Intent intent) {
                String action = intent.getAction();
                Uri uri = intent.getData();
                String path = uri.getPath();
                if (action == null || path == null)
                    return;
                if (action.equals(Intent.ACTION_MEDIA_MOUNTED)) {
                    Toast.makeText(context, "外置存储设备已插入", Toast.LENGTH_SHORT).show();
                  //监听到存储设备插入后,开始进行文件相关操作
                  getBackupsDbFile("test.apk");//比如获取其中的文件,对文件进行操作(我在项目中有一个功能就是获取指定的apk文件,然后安装apk)
                } else if (action.equals(Intent.ACTION_MEDIA_EJECT)) {
                    Toast.makeText(context, "外置存储设备已拔出", Toast.LENGTH_SHORT).show();
                }
            }
        }
    }
    
    代码基本上就是这样,主要是介绍获取外置存储设备方法,具体的文件操作没有啥好说的,java原生api就可以了。不过要注意的是:
    
    1. 要操作外置存储设备,除了要求支持诸如OTG功能外,还要添加存储卡读写权限,其中读取外接入硬盘要求系统 权限,我们项目中是通过修改硬件来实现这个功能的。
    2. 网上有个 比较好用的框架:https://github.com/magnusja/libaums,用来操作外置U盘等,之前项目中也在用,但是这个项目目前 似乎只支持FAT32格式 的,不支持NTFS格式的,但FAT32最大支持32G的存储,所以我们要使用NTFS格式的存储设备,这个框架暂时用不上,或许我还没有发现对应的使用的方法。
    展开全文
  • 内存是计算机数据存储和交换的设备。 为了提高计算机系统的性能,充分利用CPU资源,就要在系统运行时所指令和数据,从外部存储器调入内存,然后CPU再从内存读取指令或数据进行运算,并将运算结果放入内存,...


    内存

                                

       内存在计算机中的地位非常重要,如果没有内存计算机就不能工作.内存是计算机中数据存储和交换的设备。

        为了提高计算机系统的性能,充分利用CPU资源,就要在系统运行时所指令和数据,从外部存储器调入内存中,然后CPU再从内存中读取指令或数据进行运算,并将运算结果放入内存,最后再传输大外部存储器保存起来,从而大大提高了CPU的利用率。

    1) PCB基板

        内存条多数是绿色的,这条长长的电路板称为PCB板,也就是复合树脂板。跟主板一样,PCB板也采用了多层设计,为四层或六层。一般说来,六层PCB板比四层PCB板的电气性能要好,也比较稳定,所以知名品牌的内存大多采用六层PCB板制造。因为如今的电路板设计都很精密,所以从肉眼上很难分辨PCB板是四层还是六层,只能借助一些印在PCB板上的符号或标识来断定。

    2)内存芯片

        内存条的性能、速度和容量都是由内存芯片决定的。目前市场上内存条的品牌很多,但内存芯片的型号并不多,常见的有HY(LGS)、Kingmax、Winbond、Toshiba、SEC和MT等。不同厂家生产的内存芯片在速度、容量、发热量及封装模式等各有特点,各不相同。

    3)电容和电阻

        在内存条上有许多附加的电容和电阻,可以使内存的电子信号更稳定、纯正,电气性能更加稳定。内存上的元件采用的是贴片元件,以C代表电容,R代表电阻。

    4)固定卡口

        内存条插到主板上后,主板上的内存插槽会有两个卡子牢固地扣住内存条,这两个缺口就是用来固定内存条用的。

    5)脚缺口

        内存条插脚上一般有两个缺口,它们的作用一是防止将内存插反;二是用来区分不同的内存。如SDRAM和DDR DRAM内存的缺口形状和位置就不相同,所以不能混用。

    6)金手指

        内存条插脚上的接触点是内存与主板上内存插槽相接触的部分,通常称为金手指。金手指是铜质导线,使用时间长了有可能被氧化而使其接触不良,会影响内存的正常工作,甚至无法开机。解决的办法是用橡皮擦清理金手指上的氧化物。

    7) SPD芯片

        SPD芯片是随PC100而产生的,它是一个容量为256字节的EEPROM,一般采用八个管脚的SOIC封装形式。它保存着内存条的标准工作速度、频率、容量、工作电压与CAS Latency(Column Address Strobe Latency,列地址控制器的延迟时间)、tRCD(RAS toCAS Delay,RAS相对CAS的延迟时间)、tPR(Row Precharge Time,RAS预充电时间)、tAC(Access Time from CLK,相对时钟下降沿的数据读取时间)、SPD版本等基本信息,以协调计算机系统更好地工作。这些信息是内存生产厂家预选写入的。

    一、内存工作原理

    1.内存寻址

        首先,内存从CPU获得查找某个数据的指令,然后再找出存取资料的位置时(这个动作称为“寻址”),它先定出横坐标(也就是“列地址”)再定出纵坐标(也就是“行地址”),这就好像在地图上画个十字标记一样,非常准确地定出这个地方。对于电脑系统而言,找出这个地方时还必须确定是否位置正确,因此电脑还必须判读该地址的信号,横坐标有横坐标的信号(也就是RAS信号,Row Address Strobe)纵坐标有纵坐标的信号(也就是CAS信号,Column Address Strobe),最后再进行读或写的动作。因此,内存在读写时至少必须有五个步骤:分别是画个十字(内有定地址两个操作以及判读地址两个信号,共四个操作)以及或读或写的操作,才能完成内存的存取操作。

    2.内存传输

        为了储存资料,或者是从内存内部读取资料,CPU都会为这些读取或写入的资料编上地址(也就是我们所说的十字寻址方式),这个时候,CPU会通过地址总线(Address Bus)将地址送到内存,然后数据总线(Data Bus)就会把对应的正确数据送往微处理器,传回去给CPU使用。

    3.存取时间

       所谓存取时间,指的是CPU读或写内存内资料的过程时间,也称为总线循环(bus cycle)。以读取为例,从CPU发出指令给内存时,便会要求内存取用特定地址的特定资料,内存响应CPU后便会将CPU所需要的资料送给CPU,一直到CPU收到数据为止,便成为一个读取的流程。因此,这整个过程简单地说便是CPU给出读取指令,内存回复指令,并丢出资料给CPU的过程。我们常说的6ns(纳秒,秒-9)就是指上述的过程所花费的时间,而ns便是计算运算过程的时间单位。我们平时习惯用存取时间的倒数来表示速度,比如6ns的内存实际频率为1/6ns=166MHz(如果是DDR就标DDR333,DDR2就标DDR2 667)。

    二、 内存的分类

    1. SDRAM内存(Synchronous DRAM)

    1. DRAM

        DRAM用极微小的电容存储电荷方式来存储信息,存储单元的电路很简单。与电容器类似,其电荷会慢慢释放掉,因此每隔一段时间就要充电,以保持原有电荷。这种充电过程称为刷新(Refresh),动态的含义由此而来。

        目前市场上DRAM有SDRAM、RDRAM、DDR DRAM、DDR2 DRAM、DDR3 DRAM等产品。

    1) SDRAM

        SDRAM即SynchronousDRAM(同步DRAM),其工作频率与控制CPU的系统时钟同步。SDRAM数据位宽为64位,工作电压3.3V,内存条有168个引脚,采用双列直插式内存条(Double In-line Memory Module,简称DIMM),有两个缺槽。

    2) RDRAM

        RDRAM采用串行传输模式,数据传输速率与DDR DRAM基本相同但成本很高,内存条有184个引脚但与DDR DRAM不兼容,主要用于个别品牌电脑及游戏机中。

    3) DDR DRAM

    DDR DRAM即Double Data Rate DRAM(双倍数据速率DRAM,简称DDR),它与SDRAM的设计核心类似,是SDRAM的换代产品。DDR使用了更先进的同步电路,允许在时钟脉冲的上升沿和下降沿传输数据,这样相同的时钟频率就能提高一倍数据传输速度。DDR内存条有184个引脚,工作电压2.5V,只有一个缺槽。

    4) DDR2 DRAM

        DDR2即DDR的第2代产品,虽然与DDR一样采用在时钟的上升沿和下降沿都传输数据,但DDR2却有两倍于DDR的预读取线路(从存储单元到总线缓冲区之间,DDR2为4位),即其芯片内的数据线位宽是DDR的两倍。简单地说,在相同的核心频率下,DDR2的数据传输率(带宽)是DDR的2倍、SDRAM的4倍,但DDR2的读写时延比DDR有所增加,因此实际带宽提高不到2倍。DDR2内存条有240个引脚,工作电压1.8V,只有一个缺槽(位置与DDR略有差异)。

    5) DDR3 DRAM

        DDR3的设计核心与DDR2一样,但其预读取线路(8位)又是DDR2的两倍,其实际带宽相对DDR2来说提高也不会到2倍,且还受前端总线带宽的限制。DDR3内存条仍为240个引脚,工作电压1.5V,只有一个缺槽。

    三、内存的主要性能指标

    1.内存的容量

        内存条是由一片片内存芯片构成的,内存芯片的容量一般都只有几MB,而由若干块芯片就能构成一根具备几百MB甚至几GB的内存条了。内存容量反映的就是一根内存条或单个内存芯片的容量,也就是“仓库”的“库容”。

    2.数据宽度

        内存带宽也叫“数据传输率”,是指每秒钟访问内存的最大Bit数(或Byte数)。简单点说,就是内存这个“中转仓库”单位时间内能够运输数据的最大量。可以用一个简短的公式来说明内存带宽的计算方法:内存带宽=工作频率×位宽÷8×n(时钟脉冲上下沿传输系数)。

        从公式中可以看出,影响内存带宽的因素有内存的工作频率及数据位宽,同时还跟该内存的类型有关系,例如DDR SDRAM就能在一个时钟脉冲的上下沿都传输数据,因此在内存工作频率、数据位宽相同的情况下,它的带宽也会比SDRAM大一倍。

    1. DDR SDRAM内存条的带宽

        同SDR SDRAM一样,DDR SDRAM也是采用64位的并行数据总线,DDRSDRAM根据工作频率可分为DDR200、DDR266、DDR333、DDR400等多种,它们的基准工作频率则分别是100MHz、133MHz、166MHz、200MHz。所以,它们的带宽为:

        DDR200:100MHz×8Bytes×2=1600MB/s=1.6GB/s

        DDR266:133MHz×8Bytes×2=2128MB/s=2.128GB/s

        DDR333:166MHz×8Bytes×2=2656MB/s=2.656GB/s

        DDR400:200MHz×8Bytes×2=3200MB/s=3.2GB/s

    2. DDR2 SDRAM内存条的带宽

        DDR2SDRAM也是采用64位的并行数据总线,DDR2 SDRAM根据工作频率可分为DDR2 400、DDR2 533、DDR2 667等多种,它们的基准工作频率则分别是100MHz、133MHz、166MHz。所以,它们的带宽为:

        DDR2400:100MHz×8Bytes×4=3200MB/s=3.2GB/s

        DDR2533:133MHz×8Bytes×4=4256MB/s=4.256GB/s

        DDR2667:166MHz×8Bytes×4=5312MB/s=5.312GB/s

    3.存取时间

        内存速度一般用存取一次数据的时间来作为性能指标。存取时间是指从CPU内提出提取数据的请求,一直到内存把数据送出所用的时间,又称为存取周期,单位以纳秒(1ns=10-9s)来度量。显然数值越小,内存的存取速度就越快。一般为几纳秒到几十纳秒,常见的有6ns、7ns、8ns、10ns等几种,相应的在内存条上标为-6、-7、-8、-120等字样。如果内存的存取时间长,则CPU必须停下来等待数据,整体运行效率便会下降。

    4.符合CPU外频

        它表示内存所能稳定运行的最大频率,对于内存而言,频率越高,其带宽越大。例如PC100标准的SDRAM的工作频率为100MHz,DDR333标准的DDRAM的工作频率时333MHz。频率越高,存取速度就越快。在选购内存时,应尽量选择与主板外频相匹配的内存条,这将有利于最大限度的发挥内存条的效率。内存慢而主板快会影响CPU的速度,还有可能导致系统阻塞;内存快而主板慢则只能大材小用。

    5.存储器的可靠性

    6.性能价格比

    四、 双通道

    双通道内存控制器技术

        双通道内存技术其实是一种内存控制和管理技术,它依赖于芯片组的内存控制器发生作用,在理论上能够使两条同等规格内存所提供的带宽增长一倍。它最早被应用于服务器和工作站系统中,后来为了解决台式机日益窘迫的内存带宽瓶颈问题它又走到了台式机主板技术的前台。

    双通道内存的带宽

        双通道DDR SDRAM、DDR2 SDRAM是目前最火爆的双通道内存技术,由于DDR、DDR2内存的位宽只有64位,通过两个独立并行工作的内存控制器,可以使普通的DDR、DDR2内存可以达到128位的位宽。因此,如果是DDR333的话,双通道技术可以使其达到DDR667的效果,内存带宽增加一倍。

        双通道技术是一种关系到主板芯片组的技术,与内存自身无关,只要厂商在芯片内部整合两个内存控制器,就可以构成双通道DDR系统。而主板厂商只需要按照内存通道将DIMM分为Channel 1与Channel 2,用户也需要成双成对地插入内存。

        优点:

        双通道,其实就是两个内存控制器。什么叫内存控制器呢?如果把CPU比如成工厂,内存比喻成仓库,那么内存控制器就是仓库管理员。单通道就是工厂到仓库只有一个门,一个管理员,每次只能提一批货。双通道就是又盖了一个仓库,又多了一个管理员,同时给工厂提供原料,每次提供的原料多了一倍。

        我们加大内存就等于加大仓库,仓库大了,备货足,工厂不用老上外面买东西去,生产速度自然快。仓库管理员多了一个,多了一个给工厂提供原料的出口,仓库向工厂提供原料的速度加快,工厂自然也快了。大概就是这个道理。

    随着今年前端总线为800MHz P4的推出,处理器对内存系统的带宽要求越来越高,内存带宽成为系统越来越大的瓶颈。内存厂商只要提高内存的运行频率,就可以增加带宽,但是由于受到晶体管本身的特性和制造技术的制约,内存频率不可能无限制地提升,所以在全新的内存研发出来之前,双通道内存技术就成了一种可以有效地提高内存带宽的技术。它最大的优势在于只要更改内存的控制方式,就可以在现有内存的基础上带来内存带宽的提升。从理论指标来看,双通道内存技术具有相当的优势。双通道DDR400的理论带宽为64GB/s,和英特尔的前端总线为800MHz的P4处理器及i865、i875芯片组完全匹配。前端总线为800MHz的P4平台选用双通道DDR400,与双通道的内存控制和管理机制及高带宽有很大关系。

    双通道内存技术其实就是双通道内存控制技术,它能有效地提高内存总带宽,从而适应新的微处理器的数据传输、处理的需要。双通道DDR有两个64bit内存控制器,双64bit内存体系所提供的带宽等同于一个128bit内存体系所提供的带宽。

    双通道体系包含了两个独立的、具备互补性的智能内存控制器,两个内存控制器都能够并行运作。例如,当控制器B准备进行下一次存取内存的时候,控制器A就在读/写主内存,反之亦然。两个内存控制器的这种互补“天性”可以让有效等待时间缩减50%,因此双通道技术使内存的带宽翻了一翻。它的技术核心在于:芯片组(北桥)可以在两个不同的数据通道上分别寻址、读取数据,RAM可以达到128bit的带宽。

               双通道内存控制技术的出现对使用P4的用户性能有了一定的提升,也是未来发展的趋势。组装双通道内存系统时要注意内存条的搭配,Intel的要求比其他主板要高,最好使用相同品牌、相同型号的内存条,以确保稳定性。

              任何一项技术都有其优点也有其缺点,双通道DDR内存技术也不例外。首先,双通道内存都需要成对地使用,这样就大大降低了内存配置的灵活性。更重要的一点是在采购内存的时候至少要选择2×64MB、2×128MB……,这会使用户在内存方面的预算成倍地增加。其次,双通道内存技术的理论值虽然非常诱人,但是由于各种因素,其实际应用的性能并不能比单通道DDR内存高1倍,当然也无法比PC133 SDRAM高出4倍,因为毕竟在现有的系统条件下,系统性能瓶颈不仅仅是内存。从一些测试结果可以看到,采用128bit内存通道的系统性能比采用64bit内存通道的系统性能高出3%~5%,最高的可以获得15%~18%的性能提升。

     

    展开全文
  • 《计算机组成原理》— 外部设备

    千次阅读 2017-05-27 21:57:18
    第 10 章 外 部 设 备 基本知识点:外部设备的概念;常用的输入设备的工作原理;常用的输出设备的工作原理;...外部设备也称为外围设备,是指计算机系统除主机(主机由 CPU 和主存构成)外的其他设备,用于直接...

    第 10 章 外 部 设 备

    基本知识点:外部设备的概念;常用的输入设备的工作原理;常用的输出设备的工作原理;硬盘存储器的工作原理;磁盘阵列的概念;光盘存储器的工作原理。

    重 点:硬盘存储器的工作原理。

    难 点:硬盘存储器的工作原理。

    10.1 知识点 1:输入和输出设备

    1. 外部设备

    外部设备也称为外围设备,是指计算机系统中除主机(主机由 CPU 和主存构成)外的其他设备,用于直接或间接与计算机交换信息、改变信息媒体或载体形式的装置。

    外部设备可分为输入设备、输出设备、外存设备、数据通信设备和过程控制设备几大类。本章仅讨论前三类。

    外部设备的基本组成如下。

    ☆ 存储介质:具有保存信息的物理特征。

    ☆ 驱动装置:用于移动存储介质。

    ☆ 控制电路:向存储介质发送数据或从存储介质接收数据。

    2. 输入设备

    1)键盘

    键盘(Keyboard)是常用的输入设备,它是由一组开关矩阵组成,包括数字键、字母键、符号键、功能键及控制键等。每一个按键在计算机中都有它的唯一代码。当按下某个键时,键盘接口将该键的二进制代码送入计算机主机中,并将按键字符显示在显示器上。当快速输入大量字符,主机来不及处理时,先将这些字符的代码送往内存的键盘缓冲区,然后再从该缓冲区中取出进行分析处理。

    键盘工作原理:当用户按下一个键后,由硬件判断哪个键被按并将其翻译成 ASCII 码

    (编码键盘法)。

    2)鼠标

    鼠标器(Mouse)是一种手持式屏幕坐标定位设备,它是适应菜单操作的软件和图形处理环境而出现的一种输入设备,特别是在现今流行的 Windows 图形操作系统环境下应用鼠标器更是方便快捷。常用的鼠标器有机械式和光电式两种。

    鼠标工作原理:当鼠标在平面上移动时,其底部传感器把运动的方向和距离检测出来,从而控制光标做相应的运动。

    3. 输出设备

    1)显示器

    显示器种类很多,有 CRT(阴极射线管显示器)、LCD(液晶显示器)、等离子体显示器等。

    CRT 显示器工作原理:用一个电子束密集地对荧光屏高速逐行扫描,通过对电子束的扼制,控制荧光屏上各点的隐或现,从而在荧光屏上显示字符或图形。

    显示器的分辨率:显示器一般采用光栅扫描方式,用电子束从左向右、自上而下作水平扫描和垂直扫描,荧光屏上的每一个光点就是一个像素。分辨率就是整个屏幕上显示的

    光点数目,即像素的多少,如:800×600,1024×768,1280×1024 等。

    显示器的刷新率:光点只能保持极短的时间便会消失,为此必须在光点消失之前再重新扫描显示一遍,这个过程称为刷新。每秒刷新的次数称为刷新率。显示器常用的刷新率有:60Hz、70Hz、72Hz、75Hz、80Hz、85Hz、100Hz 和 120Hz 等。

    为了不断提供刷新画面信号,必须把图像信息存储在一个视频存储器(VRAM,也称

    刷新存储器或显示存储器)中,则分辨率为 a×b,每个像素用 m 个字节表示,则视频存储器容量=a×b×m,每个像素可表示 28×m种颜色,视频存储器的字长为 m。

    在字符显示器中,以点阵为基础显示字符。通常将显示屏幕划分成许多方块,每个方块称为一个字符窗口,它包括字符显示点阵和字符间隔。在其控制电路中,包含点计数器、字计数器、行计数器和排计数器等。

    其中,点计数器对一个字符的列数和字符横向间隔进行计数,为 9 分频,即输入 9 个点脉冲后完成一次计数循环,并向下一级计数器输出一个计数脉冲,这对应于一个字符横向 7 点,加上 2 点间距。

    字计数器用来同步控制一条水平扫描线的正扫和回扫。由于一排可有 80 个字符,需要在扫描正程中显示,所以当字计数器由 0 计到 80 时,光栅从左向右扫满一行。然后进入回扫逆程,设逆程须占 18 个字符扫描时间(折合值),因此字符计数器为 80+18=98 分频,即每输入 98 个计数脉冲完成一个计数循环。

    行计数器对字符窗口的高度进行控制,字符窗口的高度所占的扫描线数为 14。CRT每完成一次水平扫描,只能显示一排字符中的一行。只有依次扫描 9 行后,才能完整地显示出一排字符,再扫描 5 行并消隐之后,即形成排间的空白间距,所以行计数器为 9+5=14

    分频。

    排计数器对应于屏幕的垂直扫描及其回扫。正程显示 25 排字符,当排计数器从 0 计数到 25 时,光栅正好从上向下扫完一屏,然后进入回扫逆程,回到屏幕左上角。逆程时间等于扫描一排字符的时间,折合值为 1,所以计数分频值为 25+1=26。

    液晶显示器与 CRT 显示器相比,具有工作电压低、功耗低、体积小、重量轻、无闪烁和辐射低的优点,目前已成为主流的显示器。

    2)打印机

    打印机按打字原理来分类,有击打式(如点阵式打印机、针式打印机)和非击打式(如

    激光式打印机、喷墨式打印机)等类型。

    按工作原理来分类,打印机又分为串行打印(逐字打印)和行式打印(一次输出一行)等。打印机工作原理:当打印机启动后,接收到计算机传送来的信息,并将接收到的信息

    (内码形式)送到 RAM 暂时存起来,同时发出信号启动各电机的驱动电路,使机械系统处于工作状态,字符发生器将内码转换成打印机的点阵状态,通过驱动电路送至打印头。

    10.2 知识点 2:外存储器

    10.2.1 要点归纳

    1. 硬盘存储器

    硬盘存储器简称为硬盘,是一种磁介质存储器(磁盘)。硬盘一直是虚拟存储器技术的物质基础,执行程序时,作为交换缓冲区;关机时,硬盘作为操作系统和所有应用程序的非易失性的驻留介质。

    1)硬盘的信息分布

    在硬盘中信息分布呈记录面、磁道、圆柱面、扇区的层次:

    ☆ 记录面。硬盘驱动器中可有多个盘片(数量为 1~20 片),每个盘片有两个记录面,每个记录面对应一个磁头。

    ☆ 磁道。在读/写时,磁头固定不动,盘片高速旋转,磁化区构成一个闭合圆环,称为磁道。在盘面上,一条条磁道形成一组同心圆,最外圈的磁道为 0 号,往内则磁道号逐步增加(每个盘片可有 500~2500 条磁道)。

    ☆ 圆柱面。在一个盘组中,各记录面上相同编号(位置)的诸磁道构成一个圆柱面。

    例如,某驱动器有 4 片 8 面,则 8 个 0 号磁道构成 0 号圆柱面,8 个 1 号磁道构成1 号圆柱面,依次类推。硬盘的圆柱面数等于一个记录面上的磁道数,圆柱面号即为对应的磁道号。

    ☆ 扇区。通常将一条磁道划分为若干个段,每个段称为一个扇区或扇段,每个扇区存放一个定长信息块(如 512 个字节)。一条磁道划分多少扇区,每个扇区可存放多少字节,一般由操作系统决定。磁道上的扇区编号从 1 号开始。

    2)磁盘地址

    主机向磁盘控制器发送寻址信息,磁盘地址一般表示如下:

     

    若系统中有 4 个驱动器,每个驱动器带一个磁盘,每个磁盘有 256 个圆柱面。每个磁盘中有 16 个盘面,每个盘面划分为 16 个扇区,因此表示一个扇区地址要 18 位二进制代码,其格式如下:

     

    3)硬盘的工作过程

    一个硬盘可以有多个盘面,通常每个盘面有一个读写磁头,硬盘的主要操作是寻址、读盘和写盘。每种操作都对应一个控制字。硬盘工作时,第一步是取控制字,第二步是执行控制字。

    ① 取控制字。CPU 使用硬盘时,先启动硬盘,硬盘向 CPU 发中断请求,主机响应后,

    从主存指定单元送出控制字,并给出回答信号。硬盘把控制字存入控制字寄存器,并利用

    回答信号启动时序线路工作。

    ② 执行控制字。控制字可分为寻址、读盘、写盘三种,分别控制执行相关操作:

    ☆ 寻址操作。利用控制字中给定的地址,寻找对应扇区。

    ☆ 写盘操作。当寻址操作结束后,向 CPU 发出中断请求,取回写盘控制字。按照控制字给定的主存地址,再发取数请求,从主存中取出一个数据字,存入硬盘数据缓冲寄存器。由硬盘控制器的读写部件控制写盘操作,写入操作由盘组同步信号控制。每写完一个字,请求主存再送来一个字,同时交换字数计数器加 1,直到写完为止。

    ☆ 读盘操作。当寻址操作结束后,向 CPU 发中断请求,取回读盘控制字,放入控制字寄存器。与写盘类似,读盘操作也是由控制器的同步信号控制的。磁头读出的信号经放大整形,送入数据寄存器,汇齐一个数据字后再送入数据缓冲寄存器。硬盘向 CPU 发中断请求,将缓冲区中的数据存入指定的主存中。同时交换字数计数器加 1,直到读完为止。

    从中看到,硬盘的读写操作是串行的,不可能在同一时刻既读又写,也不可能在同一时刻写两组数据或读两组数据。

    4)硬盘的主要性能指标

    ① 硬盘容量

    一个硬盘所能存储的字节总数称为硬盘容量。硬盘容量有格式化容量和非格式化容量

    之分。非格式化容量是指磁记录表面可以利用的磁化单元总数,即:

    非格式化容量=最大位密度×最内圈磁道周长×总磁道数

    格式化容量是指按照某种特定的记录格式所能存储信息的总量:

    格式化容量=每道扇区数×扇区容量×总磁道数

    新的磁盘在使用之前需要先进行格式化,格式化实际上就是在磁盘上划分记录区,写入各种标志信息和地址信息,这些信息占用了磁盘的存储空间,故格式化之后的有效存储容量要小于非格式化容量。

    ② 记录密度

    ☆ 记录密度是指盘片表面单位上记录的二进制信息的个数,用道密度、位密度和面密度表示。

    ☆ 道密度是沿硬盘半径方向单位长度上的磁道数。

    ☆ 位密度是磁道单位长度上能记录的二进制代码位数。

    ☆ 面密度是位密度和道密度的乘积。

    硬盘驱动器的每个磁道上记录的扇区数是相同的,因而存储的信息量也是相同的,这意味着在磁盘上位密度是变化的。因为内圈磁道的周长短,外圈磁道的周长长,所以内圈磁道的位密度高,外圈磁道的位密度低,最内圈磁道的位密度(即最大位密度)决定了磁盘驱动器的容量。又因为每个磁道记录的信息量及转速是相同的,所以它们的数据传送率也是相同的。

    ③ 平均存取时间 Ta

    若要读写扇区,磁盘控制器发出命令,先将磁头移动到包含有所需数据的磁道上,这个过程称为“寻道”,所需要的时间叫做寻道时间 Ts。有最小寻道时间、最大寻道时间和平均寻道时间。

    将所需扇区转到磁头之下所需要的时间称为旋转延迟时间 Tr(也称为等待时间)。大部分磁盘的转速 r 在 3600rpm~10 000rpm,平均延迟是磁盘转半圈的时间,所以大部分磁盘的平均旋转时间为 Tr=1/(2r)。

    传输时间 Tt(也称为读写时间)是指在磁头下传输一个数据块(通常是一个扇区)所需的时间。设 r 为转速(单位为转/秒),b 为每秒传送的字节数,N 为每磁道字节数,则

    Tt=b/(rN)。

    硬盘总的平均存取时间 Ta=Ts+Tr+Tt。

    若还要考虑控制器开销 Tc,则硬盘总的平均存取时间 Ta=Ts+Tr+Tt+Tc。

    ④ 数据传输率

    硬盘存储器在单位时间内向主机传送数据的字节数,称为数据传输率。假设硬盘旋转速度为 r(转/秒),每条磁道容量为 N 个字节,则数据传输率为 Dr=rN。

    【例 10.1】已知某磁盘存储器转速为 2400 转/分,每个盘面有 200 个磁道,平均查找

    时间为 60ms,每个磁道存储容量为 96KB,求磁盘的存取时间与数据传输率。

    解:已知转速 2400 转/分=40 转/秒,则平均等待时间 Tr=1/(2×40)=12.5ms,每条磁道容

    量 N=96KB,则有:磁盘存取时间 Ta=60ms+12.5ms=72.5ms(忽略传输时间 Tt和控制器开

    销 Tc)。数据传输率 Dr=r×N=40×96KB=3840KB/s。

    5)硬盘的接口标准

    硬盘接口是硬盘与主机系统间的连接部件,不同的硬盘接口决定着硬盘与计算机之间的连接速度,在整个系统中,硬盘接口的优劣直接影响着程序运行的快慢和系统性能的好坏。硬盘接口分为 IDE、SCSI 和 SATA 等,IDE 接口硬盘多用于家用产品中,SCSI 接口硬盘则主要应用于服务器市场中,SATA 是一种新生的硬盘接口类型,在家用市场中有着广泛的前景。

    2. 磁盘阵列

    磁盘阵列(RAID)具有容量大、速度快、可靠性高、造价低廉等特点。它是目前解决计算机 I/O 瓶颈的有效方法之一,有着广阔的发展前景。

    1)什么是 RAID

    RAID(是 Redundent Array of Inexpensive Disks 的缩写,直译为“廉价冗余磁盘阵列” ),

    也简称为磁盘阵列。后来 RAID 中的字母 I 被改为 Independent,RAID 就成了独立冗余磁盘阵列。可以把 RAID 理解成一种使用磁盘驱动器的方法,它将一组磁盘驱动器用某种逻辑方式联系起来,作为逻辑上的一个磁盘驱动器来使用。一般情况下,组成的逻辑磁盘驱动器的容量要小于各个磁盘驱动器容量的总和。

    RAID 的优点如下:

    ☆ 成本低,功耗小,传输速率高。

    ☆ 提供容错功能。

    ☆ 比起传统的大直径磁盘驱动器,在同样的容量下,RAID 价格要低许多。

    2)RAID 的分级

    RAID 可分为如表 10.1 所示的 6 个级别,在 RAID1~RAID5 的几种方案中,不论何时有磁盘损坏,都可以随时拔出受损的磁盘再插入好的磁盘,数据不会损坏,失效盘的内容可以很快地重建,重建工作由 RAID 硬件或 RAID 软件来完成。

     

    RAID0 级别把连续的多个数据块交替地分别放到不同物理磁盘的扇区中,几个磁盘交叉并行读写,不仅扩大了存储容量,而且提高了磁盘数据存取速度,但 RAID0 没有容错能力,如图 10.1 所示。

     

    RAID1 级别主要是为了提高可靠性,使两磁盘同时进行读写,互为备份,又称磁盘镜像。在工作中如果一个磁盘出现故障,可从另一磁盘中读出数据,不影响工作,也不降低

    速度。但两个磁盘当一个磁盘使用,意味着容量减少一半,如图 10.2 所示。

    RAID 各级别的比较如下。

    ☆ RAID0:高性能,磁盘利用率高,但系统可靠性差。

    ☆ RAID1:系统可靠性好,设计简单,但硬件开销大,效率低。

    ☆ RAID2:高速误差校正,数据传输速率高,设计较简单,但校正空间较大,磁盘阵列利用率较低,需要同步控制。

    ☆ RAID3:读写速度快,磁盘失效对吞吐率的影响较小,盘阵列利用率高,但设计较复杂。

    ☆ RAID4:读写速度快,磁盘阵列利用率高,但设计较复杂,磁盘失效对吞吐率的影响较大。

    ☆ RAID5:读数据速率最高,磁盘阵列利用率高,但磁盘失效对系统可靠性有一定影响,控制器设计复杂。

     

    3)磁盘阵列的实现方式

    目前实现磁盘阵列的方式主要有以下两种。

    ☆ 软件阵列:是指通过网络操作系统自身提供的磁盘管理功能将连接的普通 SCSI 卡上的多块硬盘配置成逻辑盘,组成阵列。软件阵列可以提供数据冗余功能,但是磁盘子系统的性能会有所降低,有的降幅还比较大,达 30%左右。

    ☆ 硬件阵列:使用专门的磁盘阵列卡来实现,能够提供在线扩容、动态修改阵列级别、自动数据恢复、驱动器漫游、超高速缓冲等功能。它的性能要远远高于常规非阵列硬盘,并且更安全更稳定。

    3. 光盘存储器

    光盘存储器是一种采用聚焦激光束在盘式介质上非接触地记录高密度信息的新型存储装置,具有记录密度高、存储容量大、信息保存寿命长、工作稳定可靠等特点。光盘的光道是一条由内向外的连续螺旋线,二进制数据以微观的凹痕形式记录在螺旋轨道的光道上,不同的光道其位密度可能不同。光道从盘的中心开始直到盘的边缘结束,用凹痕和凸痕的形式记录二进制“0”和“1”,然后覆上一层薄铝反射层,最后再覆上一层透明胶膜保护层,并在保护层的一面印上标记。

    光盘的类型如下:

    ☆ CD-ROM 光盘。只读型光盘,它由生产厂家预先写入数据和程序,使用时用户只能读出,不能修改或写入新内容。

    ☆ CD-R 光盘。可由用户写入信息,写入后可以多次读出,但只能写入一次,信息写入后将不能再修改,所以称为只写一次型光盘。

    ☆ CD-RW 光盘。是可以写入、擦除、重写的可逆性记录系统。这种光盘类似于磁盘,可重复读/写。

    ☆ DVD-ROM 光盘。DVD 代表通用数字化多功能光盘,简称高容量 CD。事实上,任何 DVD-ROM 光驱都是 CD-ROM 光驱。DVD 除了密度较高以外,其他技术与CD-ROM 完全相同。

    光盘存储器由光盘控制器和光盘驱动器组成:

    ☆ 光盘控制器。包括数据输入缓冲区、记录格式器、编码器、读出格式器和数据输出

    缓冲器等。

    ☆ 光盘驱动器。包括主轴电机驱动机构、定位机构、光头装置等。

    展开全文
  • Android 一直在不断发展,可支持各种存储设备类型和功能。所有 Android 版本均支持配有传统存储(包括便携式存储和内置存储)的设备。便携式存储是指物理介质(如 SD 卡或 USB 设备),用于进行临时数据传输/文件...
  • Android 路径与存储设备相关

    千次阅读 2012-06-08 11:25:23
    昨天在研究拍照后突破的存储路径的问题,开始存储路径写死为: private String folder = "/sdcard/DCIM/Camera/"(SD卡上拍照程序的图片存储路径); 后来发现这样写虽然一般不会出错,但不是很好,因为不同相机,...
  • 128G的macbook日常使用还行,但是偶尔碰上需要安装一些乱七八糟的非必须的软件时,硬盘容量就有点捉襟见肘了,同时,在18款及之后的macbook加了T2芯片后,使得自己拆机换硬盘扩容这一条路基本走不通了(T2芯片会验证...
  • 这次的项目使用STM32的大容量设备进行文件传输,通过STM32的USB大容量设备将电脑的文件放到外部FALSH,然后在程序运行时通过FATFS文件系统读取数据访问文件。 完整工程在文末提供CSDN下载和Github下载 内容提要...
  • 考虑因素:数据尺寸,数据类型,安全性 1.:文件系统: ...外部文件系统 :例如sd卡,外接硬盘等, 由于其可不可预知性,所以使用外部存储一定要先检查其是否可用。用户及其他APP均可以访问,APP卸...
  • 存储容量是衡量微型计算机中存储能力的一个指标,它包括内存容量和外存容量。内存容量以字节为单位,分最大容量和装机容量最大容量由CPU的地址总线的位数决定,而装机容量按所使用软件环境来定。外存容量是指磁盘...
  • 计算机组成原理学习-第八章 外部设备 (详细、系统、人话、看得懂) 在线博主,及时解答!
  • 计算机存储的发展(块存储,文件存储,对象存储

    万次阅读 多人点赞 2018-09-15 15:04:08
    2、对象存储设备 3、元数据服务器(Metadata Server,MDS) 4、对象存储系统的客户端Client 三者之间异同比较 参考文献 如果要实现一个计算机,那么这个计算机一定要有以下的三个部分构成:计算、存储和网络...
  • 网络存储方案

    千次阅读 2012-09-03 16:16:54
    网络存储方案 (来自于互联网整理) DAS(Direct Attached Storage,直连式存储) NAS(Network Attached Storage,网络连接式... 这是一种将存储设备直接安装在服务器上或挂接在服务器外部的存储方式  存储设备是作为计
  • 微服务:全链路压测和容量规划

    千次阅读 2019-08-25 18:16:44
    写请求写到影子区域(比如header头做标记,存储、缓存、消息、日志等一系列的状态数据)、依赖的外部服务做 mock 处理(短信、邮件、push 等等) 全链路压测应对的都是海量的用户请求冲击,可以使用分布式压测的...
  • 存储

    千次阅读 2013-05-09 11:17:06
    云存储是在云计算(cloud computing)概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据...
  • FASS分布式全闪存储技术白皮书

    千次阅读 2019-12-17 14:26:18
    全闪存阵列已经逐步向全NVMe硬件转移,然而其扩展性与灵活性,在云计算时代始终是最大的瓶颈。分布式全闪存储系统在全闪存介质配置的基础上,采用了标准的硬件平台、高效的新兴存储协议、极致的软件优化,可提供更...
  • 外部存储设备,相对于我们的内部存储设备而言具有一些特点 1.优点:永久存储能力,便携性,存储空间大 2.缺点:访问速度相对于内存的访问速度来说极其低下(相差约5~6个数量级) 因此对于外存来说,我们要遵守的基本操作...
  • 高可用之2——存储b

    千次阅读 2012-06-02 16:46:03
    很多用户在进行产品对比和设备选型的时候,经常以CPU和缓存的大小、主机端口的数量来判断存储设备性能的好坏。许多用户片面地会认为CPU快、缓存大、接口数量多的设备性能要好。因此在设备选型、编写招标技术要求时也...
  • Android存储路径详细说明

    万次阅读 2017-05-06 19:25:03
    内部缓存存储路径外部存储路径 外部缓存存储路径在有些手机上,系统也会在内部划出一个内部的SDCard路径和内部存储路径,所以当有SDCard的时候,就会有6个路径存在了内部存储空间的应用私有目录对于设备中每一个...
  • oracle调用外部C DLL

    千次阅读 2017-10-13 16:05:05
    一个外部程序是存储在一个动态链接库(DLL)的第三代语言程序,使用PL / SQL注册,并通过你叫做特殊处理。该例程必须从C调用,但可以用任何语言编写。在运行时,PL / SQL动态加载库,然后调用该程序就像是PL / SQL...
  • 五家公司纷抢,东芝存储花落谁家

    千次阅读 2017-02-12 17:41:55
    目前存储半导体业务(磁盘)是东芝的最后一个王牌业务,存储芯片业务给东芝带来最大的收益来源,其中存储芯片包括NAND型闪存,市场份额仅次于韩国三星电子,位居全球第2位。因财务造假深陷亏损,继出售家电、医疗等...
  • 内功修炼之操作系统学习(四:存储管理)

    千次阅读 多人点赞 2012-07-05 20:38:37
    四:存储管理 存储器管理负责管理计算机系统重要的资源---主存储器。任何程序和数据必须载入到主存才得以执行和处理,因此存储器管理的...以便在容量大小、速度快慢、价格高低等诸多因素取得平衡。它分为五个
  • esp 如何从外部读取 csv 文件的数据,比如从代码读取外部文件阿里云三元组。 -------- 学习笔记持续更新,欢迎关注我… 很多人怎么联系我一起学习进步,下面打个小小公告: 玩转 esp8266 带你飞、加群...
  • 深度解析阿里云存储

    万次阅读 2017-08-31 18:41:06
    图1 2017年Gartner全球云存储魔力象限图在去年首次进入Gartner魔力象限即取得了不错的位置之后,今年阿里云存储再次强势进入公共云存储魔力象限,紧跟Google成为公共云存储厂商在利基象限最接近领导者象限的公共...
  • 存储云计算选择开源还是商业版

    千次阅读 2018-04-11 18:06:25
    每个公司在面临存储运算瓶颈时,都会面临一番挣扎,本篇文章我们来调研梳理开源与商业版本的选择对比。 选择商用云平台还是选择开源云平台创建企业的私有云,这确实是个问题。企业需要综合考虑,权衡利弊,...
  • 集群存储高可用方法

    万次阅读 2013-05-03 22:15:20
    存储和大数据背景下,数据呈现爆炸式增长趋势。根据研究显示,2020年数字宇宙将达到35.2 ZB,比2009年的0.8 ZB猛增...集群存储是一种横向扩展(Scale-out)存储架构,具有容量和性能线性扩展的优势,已经得到市场的广
  • 分层存储结构

    千次阅读 2012-06-09 16:01:56
    这个磁盘的形式可以是一个JBOD,或者一个虚拟存储设备,然后再通过一定的转存策略将这个磁盘的数据转存于磁带库或者磁带(D2T)。爱数备份存储柜X系列都支持D2D2T这样的应用。 分层存储需要考虑的问题 由...
  • 应用系统容量管理

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

    千次阅读 2008-12-02 15:54:00
    所谓“USB闪存盘”(以下简称“U盘”)是基于USB接口、以闪存芯片为存储介质的存储设备。U盘的出现是移动存储技术领域的一大突破,其体积小巧,特别适合随身携带,可以随时随地、轻松交换资料数据,是理想的移动办公...
  • DAS,NAS,SAN和ISCSI存储架构介绍

    千次阅读 2015-09-24 14:44:18
    采用直接外挂存储方案的服务器结构如同PC机架构,外部数据存储设备采用SCSI(SmallComputer System Interface)技术或者FC(Fibre Channel)技术,直接挂接在内部总线上的方式,数据存储是整个服务器结构的一部分,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,345
精华内容 12,938
关键字:

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