您的位置:首页 > 其它

使用hdparm命令发送ATA“Secure Erase”指令恢复SSD硬盘的写性能

2010-10-18 21:44 579 查看
ntel MLC SSD硬盘随着使用会产生很碎片,随着碎片的增加性能会大大降低。如果硬盘上的数据可以备份到别外,然后就可以用hdparm发送ATA “Secure Erase”指令去清空SSD硬盘中的数据的方法,把硬盘的写性能恢复到没有碎片时的状态。
注意: 这个操作会删除硬盘上所有的数据,而且这些数据不能被恢复。
注意:如果你不幸碰到了的操作系统内核bugs或SSD硬盘的fireware bugs,可能会硬盘不可写或操作系统crash。
发送 ATA Security Erase指令时需要先给硬盘设置一个密码,当然后面我们再发ATA Security Erase指令后这个密码会被删除掉的。

操作步骤:
第一步:
先查看硬盘的状态,X代表sda,sdb,sdc等具体你要操作的硬盘:
hdparm -I /dev/X
主要看输出中的Security部分,如果结果中出现“not frozen”,那么这个硬盘是可以用ATA Security Erase命令去清除硬盘碎片的,
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
如果结果是“frozen”的,有可能是主机的BIOS禁止发送ATA Security Erase指令,这需要找到BIOS中打开这个限制。

第二步:设置一个密码

hdparm --user-master u --security-set-pass user123 /dev/X

user123是设置的一个密码.

#hdparm --user-master u --security-set-pass user123 /dev/sde
security_password="user123"

/dev/sde:
Issuing SECURITY_SET_PASS command, password="user123", user=user, mode=high
SECURITY_SET_PASS: Invalid exchange

结果可能是“SECURITY_SET_PASS: Invalid exchange”,但密码也可能是设置上了,可以使用hdparm -I /dev/X检查是否设置上了,输出结果应该是“enabled”:

Security:
Master password revision code = 65534
supported
enabled
not locked
not frozen
not expired: security count

第三步:执行删除操作

hdparm --user-master u --security-erase user123 /dev/X

#hdparm --user-master u --security-erase user123 /dev/sde
security_password="user123"

/dev/sde:
Issuing SECURITY_ERASE command, password="user123", user=user
SECURITY_ERASE: Invalid exchange

然后再检查Security被禁止了:

使用hdparm -I /dev/X检查是否设置上了,输出结果应该是“not enabled”:

Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: