固态硬盘(Solid State Drives),简称固盘,固态硬盘(Solid State
Drive)用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用
方法上与普通硬盘的完全相同,在产品外形和尺寸上也完全与普通硬盘一致. 具有如下优点:
1, 读写速度快
固态硬盘顺序读写速度超过了500MB/s, 随机读写速度比磁盘的随机访问高出了几个10来倍(4k, 300MB/s).
2, 防震抗摔性
传统硬盘都是磁碟型的,数据储存在磁碟扇区里。而固态硬盘是使用闪存颗粒(即mp3、U盘等存储介质)制作而成,所以
SSD固态硬盘内部不存在任何机械部件,这样即使在高速移动甚至伴随翻转倾斜的情况下也不会影响到正常使用,而且在发生碰撞和震荡时能够将数据丢失的可能
性降到最小。相较传统硬盘,固态硬盘占有绝对优势。
3, 低功耗/噪音/发热量等
固态硬盘的功耗上要低于传统硬盘。无噪音:固态硬盘没有机械马达和风扇,工作时噪音值为0分贝。基于闪存的固态硬盘在工作状态下能耗和发热量较低
4,工作温度广,轻便,体积小
典型的硬盘驱动器只能在5到55摄氏度范围内工作。而大多数固态硬盘可在-10~70摄氏度工作。固态硬盘比同容量机械硬盘体积小、重量轻。
Ssd盘也有缺点,如下:
1, 容量小/价格贵:
大多数ssd盘的容量都比较小, 同时价格贵.
2, 写入寿命限制
固态硬盘闪存具有擦写次数限制的问题,这也是许多人诟病其寿命短的所在。闪存完全擦写一次叫做1次P/E,因此闪存的寿命就以P/E作单位
SLC有10万次的写入寿命,成本较低的MLC,写入寿命仅有1万次,而廉价的TLC 闪存则更是只有可怜的500-1000次。
Ssd硬盘使用和磁盘也不太一样,主要体现在:
1, 不要使用碎片整理
碎片整理是对付机械硬盘变慢的一个好方法,但对于固态硬盘来说这完全就是一种“折磨”。消费级固态硬盘的擦写次数是有限制,碎片整理会大大减少固态硬盘的使用寿命。其实,固态硬盘的垃圾回收机制就已经是一种很好的“磁盘整理”,再多的整理完全没必要。。
2, 预留分区/保留空间
还是由于固态硬盘的“垃圾回收机制”。在固态硬盘上彻底删除文件,是将无效数据所在的整个区域摧毁,过程是这样的:先把区域内有效数据集中起来,转移
到空闲的位置,然后把“问题区域”整个清除。这一机制意味着,分区时不要把SSD的容量都分满。例如一块128G的固态硬盘,厂商一般会标称120G,预
留了一部分空间。但如果在分区的时候只分100G,留出更多空间,固态硬盘的性能表现会更好。这些保留空间会被自动用于固态硬盘内部的优化操作,如磨损平
衡、垃圾回收和坏块映射。这种做法被称之为“预留分区”。固态硬盘存储越多性能越慢。而如果某个分区长期处于使用量超过90%的状态,固态硬盘崩溃的可能
性将大大增加。所以及时清理无用的文件,设置合适的虚拟内存大小,将电影音乐等大文件存放到机械硬盘非常重要,必须让固态硬盘分区保留足够的剩余空间.
3, 分区对齐
“分区对齐”则是另外一种概念,关系到“4k对齐”对固态硬盘的影响。一方面主流SSD容量都不是很大,分区越多意味着浪费的空间越多,另一方面分区
太多容易导致分区错位,在分区边界的磁盘区域性能可能受到影响。最简单地保持“4k对齐”的方法就是用Win7自带的分区工具进行分区,这样能保证分出来
的区域都是4K对齐的。
4、及时刷新固件
“固件”好比主板上的BIOS,控制固态硬盘一切内部操作,不仅直接影响固态硬盘的性能、稳定性,也会影响到寿命。优秀的固件包含先进的算法能减少固
态硬盘不必要的写入,从而减少闪存芯片的磨损,维持性能的同时也延长了固态硬盘的寿命。因此及时更新官方发布的最新固件显得十分重要。不仅能提升性能和稳
定性,还可以修复之前出现的bug。
在linux下使用,ssd盘可以做些优化:
1,
分区对齐
SSD有三种操作:读/写/擦除。闪存的读写单位是4KB或8KB大小的页,而且闪存的擦除(又叫编程)操作是按照128或256页大小的块来操作的。
如果SSD上的分区分割点处于未对齐SSD block
size倍数的状态,SSD效能就不能完全发挥,系统可能会有卡顿的感觉,另外,未对齐的分割点还会造成SSD在连续写入小文件时,增加无谓的SSD额外
写入/擦除动作从而大幅影响SSD的寿命,而这偏偏是SSD使用中最该避免的。
假设有个ssd盘,
每个页的大小是8KB、每256个页组成一个块,那么也就是说我们必须以256*8KB=2097152B=2048KB=2MB为最小单位对其进行分
区.
至少保证4K对齐的分区, 同时文件系统的block size最好大于4K, 同时文件系统是追加型文件系统最适合ssd盘(如zfs)
2, 调度算法
禁用disk IO scheduler模块, 或者使用Deadline IO scheduler算法, 一般使用noop调度算法, 使得一次写入更多的IO,
echo "noop" > /sys/block/$devicename/queue/scheduler
3,
调整文件系统相关参数
使用writeback的方式, 禁用access time(每次读访问更新时间戳), 尽量减少一些无大用, 更新频繁的记录,
文件系统的block size是4K的整数倍, 倍数同时能被256整除, 不使用文件系统的日记模式(有危险性, 可能导致文件系统不一致,
不建议这么用),
4, 启用 TRIM 功能
数据异步回收, 减少ssd盘的写入次数
5,临时文件不放ssd盘
经常更新的系统临时数据,用户数据及程序临时数据等都不要放在ssd盘中去. 启用trim的方法如下:
内核要求大于2.6.28
hdparm -I /dev/sd* 查询是否支持TRIM
* Data Set Management TRIM supported (支持提示)
挂载文件系统的时候添加参数discard(ext4, xfs都支持)
这样文件系统当删除文件的时候, 就可以将不用的block及时通知ssd盘
5, 用wiper工具对ssd盘进行重新清空
wiper.sh是hdparm提供的附带工具,
阅读(1443) | 评论(0) | 转发(0) |
上一篇:没有了
下一篇: linux下的磁盘常用工具