CN105260130B - 一种希捷硬盘系统文件的读写方法 - Google Patents

一种希捷硬盘系统文件的读写方法 Download PDF

Info

Publication number
CN105260130B
CN105260130B CN201510598675.5A CN201510598675A CN105260130B CN 105260130 B CN105260130 B CN 105260130B CN 201510598675 A CN201510598675 A CN 201510598675A CN 105260130 B CN105260130 B CN 105260130B
Authority
CN
China
Prior art keywords
system file
read
reading
writing method
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510598675.5A
Other languages
English (en)
Other versions
CN105260130A (zh
Inventor
梁效宁
杨先珉
张佳强
董超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SICHUAN XLY INFORMATION SAFETY TECHNOLOGY Co Ltd
Original Assignee
SICHUAN XLY INFORMATION SAFETY TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SICHUAN XLY INFORMATION SAFETY TECHNOLOGY Co Ltd filed Critical SICHUAN XLY INFORMATION SAFETY TECHNOLOGY Co Ltd
Priority to CN201510598675.5A priority Critical patent/CN105260130B/zh
Publication of CN105260130A publication Critical patent/CN105260130A/zh
Application granted granted Critical
Publication of CN105260130B publication Critical patent/CN105260130B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种希捷硬盘系统文件的读写方法,包括12代以上希捷硬盘系统文件的读写方法和12代以下希捷硬盘系统文件的读写方法;步骤为:获取希捷硬盘固件区地图信息;解析希捷硬盘固件区地图信息内容;对解析希捷硬盘固件区内容进行读写操作。本发明的有益效果如下:可以兼容12代以上和以下的希捷硬盘进行固件地图信息获取,通过两种不同的方式进行读取和写入操作,增加了成功率。可描述更多的固件模块,并且可清楚的指出卷号、文件ID、文件描述、大小、逻辑UBA地址、copy数。

Description

一种希捷硬盘系统文件的读写方法
技术领域
本发明涉及信息安全技术领域,特别涉及一种希捷硬盘系统文件的读写方法。
背景技术
随着硬盘的发展,硬盘所需的固件内容越来越庞大,硬盘固件的管理越来越复杂。老旧的固件管理方式只能描述最多40多个固件模块左右,已经不能满足大容量硬盘的固件变化和管理了。随之产生了一种新的固件管理方式——系统文件方式。
目前还没有能完整的、系统化的针对硬盘固件系统文件进行读写的方法。
本发明涉及到的部分专业术语:
固件区地图信息:是指希捷硬盘寻址固件的索引参数。
发明内容
本发明针对现有技术的缺陷,提供了一种希捷硬盘系统文件的读写方法,能有效的解决上述现有技术存在的问题。
为了实现以上发明目的,本发明采取的技术方案如下:
一种希捷硬盘系统文件的读写方法,包括12代以上希捷硬盘系统文件的读写方法;
所述12代以上硬盘系统文件的读写方法包括以下步骤:
S101:获取12代以上希捷硬盘固件区地图信息,在T级模式下输入y指令,接收指令回显信息;
S102:解析12代以上希捷硬盘固件区地图信息内容,具体为将接收到的指令回显信息,按照卷号、文件ID、文件描述、大小、逻辑UBA地址、copy数,选择0卷参数和3卷参数以及第4卷大小为1200字节的特殊值,组成硬盘固件区地图信息;
S103:对解析的12代以上希捷硬盘固件区内容进行读写操作。
作为优选,所述12代以下硬盘系统文件的读写方法包括以下步骤:
S201:12代以下的硬盘需在1级模式下,从缓存信息的起始地址“6000000”作为开始,提取数据;再向后依次偏移“0x800”,偏移次数为1024次,偏移一次提取一次对应位置的数据;
S202:从S201获取的数据中以12字节为一组搜索特征为“000000FC”的0卷文件描述符;
S203:搜索到0卷文件描述符后,以12字节为一组数据向后检索,并取出每组数据头部4字节进行判断,判断是否为连续且逻辑增大的文件描述符头部特征;如果没有连续,则抛弃该组数据,继续向下搜索直至找到三个连续的0卷文件描述符特征,并作为有效值提取;
S204:以S203中有效值为基准向后检索卷3文件描述符特征;
S205:搜索到3卷文件描述符后,以12字节为一组数据向后检索,并取出每组数据头部4字节进行判断,判断是否为连续且逻辑增大的文件描述符头部特征;如果没有连续,则抛弃该组数据,继续向下搜索直至找到三个连续的0卷文件描述符特征,并作为有效值提取;
S206:以S205中有效值为基准向后检索卷4文件描述符特征;搜索大小为0x1200字节的4卷文件描述符,并作为有效值提取;。
S207:将S203、S205、S206所提取的数据组成硬盘固件区地图信息;
S208:对解析的12代以下希捷硬盘固件区内容进行读写操作。
作为优选,所述S103和S208中读取的具体步骤如下:
S301:找到Default Diag Rd Buf字段对应的DBA后面的读缓存地址;
S302:选择ASCII模式输出;
S303:输入要读取的系统文件的UBA地址,以及需要读取的系统文件的大小,以扇区为单位;
S304:回到T级模式,选择原始二进制模式输出;
S305:进入1级模式;
S306:输入第S301获取的读缓存地址,并获取一个扇区的数据以字节为单位;
S307:返回到上位机,完成。
作为优选,所述S103和S208中写入的具体步骤如下:
S401:进入T级模式,选择以ASCII模式输出;
S402:找到Default Diag Wrt Buf字段对应的DBA后面的写缓存地址;
S403:再次以ASCII模式输出;
S404:指定下载文件字节为“0x200”,同时获取一个下载文件的地址。找到DownFile字段对应的DBA后面的缓存地址;
S405:进入2级模式;
S406:将下载文件拷贝到写缓存的地址;
S407:进入A级;
S408:将缓存中的数据写入到指定UBA地址中。
作为优选,若上述系统文件读写方式不能完成特殊系统文件的读写,则执行以下读写方式。
读取的具体步骤如下:
S501:转到T级模式;
S502:以系统文件ID,系统文件所在卷,系统文件的COPY数作为读取
参数,对系统文件进行读取;
S503:获取缓存信息;
S504:连续获取保存。
作为优选,所述写入的具体步骤如下:
S601:按照系统文件ID,系统文件所在卷,系统文件的COPY数对系统文件进行回写操作;
S602:对写入硬盘的系统文件字节进行CRC16校验。
与现有技术相比本发明的优点在于:可以兼容12代以上和以下的希捷硬盘进行固件地图信息获取,通过两种不同的方式进行读取和写入操作,增加了成功率。可描述更多的固件模块,并且可清楚的指出卷号、文件ID、文件描述、大小、逻辑UBA地址、copy数。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下举实施例,对本发明做进一步详细说明。
一种希捷硬盘系统文件的读写方法,包括12代以上希捷硬盘系统文件的读写方法和12代以下希捷硬盘系统文件的读写方法;
所述12代以上硬盘系统文件的读写方法包括以下步骤:
S101:获取12代以上希捷硬盘固件区地图信息,在T级模式下输入y指令,接收指令回显信息;
调用函数:
UART0_Sendchar(0x1A);
UART0_SendBuf("y");
S102:解析12代以上希捷硬盘固件区地图信息内容,具体为将接收到的指令回显信息,按照卷号、文件ID、文件描述、大小、逻辑UBA地址、copy数,选择0卷参数和3卷参数以及第4卷大小为1200字节的特殊值,组成硬盘固件区地图信息;
S103:对解析的12代以上希捷硬盘固件区内容进行读写操作。
作为优选,所述12代以下硬盘系统文件的读写方法包括以下步骤:
S201:12代以下的硬盘需在1级模式下,从缓存信息的起始地址“6000000”作为开始,提取数据;再向后依次偏移“0x800”,偏移次数为1024次,偏移一次提取一次对应位置的数据;
S202:从S201获取的数据中以12字节为一组搜索特征为“000000FC”的0卷文件描述符;
S203:搜索到0卷文件描述符后,以12字节为一组数据向后检索,并取出每组数据头部4字节进行判断,判断是否为连续且逻辑增大的文件描述符头部特征;如果没有连续,则抛弃该组数据,继续向下搜索直至找到三个连续的0卷文件描述符特征,并作为有效值提取;
具体的如果找到0卷文件描述符特征,则与FEF007FF进行“与操作”,得到一个值;
例如:
FC001203and FEF007FF=FC000203;
FC002204and FEF007FF=FC000204;
FC003205and FEF007FF=FC000205;
上述为连续的0卷文件描述符特征,文件描述符,必须是逻辑递增的,作为有效值提取。
S204:以S203中有效值为基准向后检索卷3文件描述符特征;
S205:和S203方法相同,搜索到3卷文件描述符后,以12字节为一组数据向后检索,并取出每组数据头部4字节进行判断,判断是否为连续且逻辑增大的文件描述符头部特征;如果没有连续,则抛弃该组数据,继续向下搜索直至找到三个连续的0卷文件描述符特征,并作为有效值提取;
S206:以S205中有效值为基准向后检索卷4文件描述符特征;搜索大小为0x1200字节的4卷文件描述符,并作为有效值提取;。
S207:将S203、S205、S206所提取的数据组成硬盘固件区地图信息;
S208:对解析的12代以下希捷硬盘固件区内容进行读写操作。
作为优选,所述S103和S208中读取的具体步骤如下:
S301:找到Default Diag Rd Buf字段对应的DBA后面的读缓存地址;
调用函数:
UART0_SendBuf("/2");
UART0_SendBuf("A0");
UART0_SendBuf("?");
S302:选择ASCII模式输出;
调用函数:
UART0_Sendchar(0x1A);
UART0_SendBuf("O3");
S303:输入要读取的系统文件的UBA地址,以及需要读取的系统文件的大小,以扇区为单位;
调用函数:
UART0_SendBuf("/A");
UART0_SendBuf("R(UBA地址),(系统文件大小),,20");
S304:回到T级模式,选择原始二进制模式输出;
调用函数:
UART0_SendBuf("O1");
S305:进入1级模式;
调用函数:
UART0_SendBuf("/1");
S306:输入第S301获取的读缓存地址,并获取一个扇区的数据以字节为单位;
调用函数:
UART0_SendBuf("D(读缓存地址),,,(读取缓存内容的大小),1");
S307:返回到上位机,完成。
作为优选,所述S103和S208中写入的具体步骤如下:
S401:进入T级模式,选择以ASCII模式输出;
调用函数:
UART0_Sendchar(0x1A);
UART0_SendBuf("O3");
S402:找到Default Diag Wrt Buf字段对应的DBA后面的写缓存地址;
调用函数:
UART0_SendBuf("/2");
UART0_SendBuf("A0");
UART0_SendBuf("?");
S403:再次以ASCII模式输出;
调用函数:
UART0_Sendchar(0x1A);
UART0_SendBuf("O3");
S404:指定下载文件字节为“0x200”,同时获取一个下载文件的地址。找到DownFile字段对应的DBA后面的缓存地址;
调用函数:
UART0_Sendchar(0x1A);
UART0_SendBuf("P200");
UART0_SendBuf("A0");
UART0_SendBuf("?");
S405:进入2级模式;
调用函数:
UART0_SendBuf("/2");
S406:将下载文件拷贝到写缓存的地址;
调用函数:
UART0_SendBuf("C(下载文件地址),(写缓存地址),1");
S407:进入A级;
调用函数:
UART0_SendBuf("/A");
S408:将缓存中的数据写入到指定UBA地址中;
调用函数:
UART0_SendBuf("W(UBA地址),(扇区个数),,20")。
若上述系统文件读写方式不能完成特殊系统文件的读写,则执行以下读写方式。
读取的具体步骤如下:
S501:转到T级模式;
调用函数:
UART0_Sendchar(0x1A);
S502:以系统文件ID,系统文件所在卷,系统文件的COPY数作为读取
参数,对系统文件进行读取;
调用函数:
UART0_SendBuf("r系统文件ID,卷号,COPY数");
S503:获取缓存信息;
调用函数:
UART0_Sendchar(0x43);
S504:连续获取保存。
调用函数:
UART0_Sendchar(0x06);
作为优选,所述写入的具体步骤如下:
S601:按照系统文件ID,系统文件所在卷,系统文件的COPY数对系统文件进行回写操作;
调用函数:
UART0_SendBuf("w系统文件ID,卷号,COPY数");
S602:对写入硬盘的系统文件字节进行CRC16校验。
上述调用的函数通过以下代码实现:
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

Claims (6)

1.一种希捷硬盘系统文件的读写方法,其特征在于:包括12代以上希捷硬盘系统文件的读写方法;
所述12代以上硬盘系统文件的读写方法包括以下步骤:
S101:获取12代以上希捷硬盘固件区地图信息,在T级模式下输入y指令,接收指令回显信息;
S102:解析12代以上希捷硬盘固件区地图信息内容,具体为将接收到的指令回显信息,按照卷号、文件ID、文件描述、大小、逻辑UBA地址、copy数,选择0卷参数和3卷参数以及第4卷大小为1200字节的特殊值,组成硬盘固件区地图信息;
S103:对解析的12代以上希捷硬盘固件区内容进行读写操作。
2.根据权利要求1所述的一种希捷硬盘系统文件的读写方法,其特征在于,还包括12代以下硬盘系统文件的读写方法,所述12代以下硬盘系统文件的读写方法包括以下步骤:
S201:12代以下的硬盘需在1级模式下,从缓存信息的起始地址“6000000”作为开始,提取数据;再向后依次偏移“0x800”,偏移次数为1024次,偏移一次提取一次对应位置的数据;
S202:从S201获取的数据中以12字节为一组搜索特征为“000000FC”的0卷文件描述符;
S203:搜索到0卷文件描述符后,以12字节为一组数据向后检索,并取出每组数据头部4字节进行判断,判断是否为连续且逻辑增大的文件描述符头部特征;如果没有连续,则抛弃该组数据,继续向下搜索直至找到三个连续的0卷文件描述符特征,并作为有效值提取;
S204:以S203中有效值为基准向后检索卷3文件描述符特征;
S205:搜索到3卷文件描述符后,以12字节为一组数据向后检索,并取出每组数据头部4字节进行判断,判断是否为连续且逻辑增大的文件描述符头部特征;如果没有连续,则抛弃该组数据,继续向下搜索直至找到三个连续的0卷文件描述符特征,并作为有效值提取;
S206:以S205中有效值为基准向后检索卷4文件描述符特征;搜索大小为0x1200字节的4卷文件描述符,并作为有效值提取;
S207:将S203、S205、S206所提取的数据组成硬盘固件区地图信息;
S208:对解析的12代以下希捷硬盘固件区内容进行读写操作。
3.根据权利要求2所述的一种希捷硬盘系统文件的读写方法,其特征在于所述S103和S208中读取的具体步骤如下:
S301:找到Default Diag Rd Buf字段对应的DBA后面的读缓存地址;
S302:选择ASCII模式输出;
S303:输入要读取的系统文件的UBA地址,以及需要读取的系统文件的大小,以扇区为单位;
S304:回到T级模式,选择原始二进制模式输出;
S305:进入1级模式;
S306:输入第S301获取的读缓存地址,并获取一个扇区的数据以字节为单位;
S307:返回到上位机,完成。
4.根据权利要求3所述的一种希捷硬盘系统文件的读写方法,其特征在于所述S103和S208中写入的具体步骤如下:
S401:进入T级模式,选择以ASCII模式输出;
S402:找到Default Diag Wrt Buf字段对应的DBA后面的写缓存地址;
S403:再次以ASCII模式输出;
S404:指定下载文件字节为“0x200”,同时获取一个下载文件的地址,找到DownFile字段对应的DBA后面的缓存地址;
S405:进入2级模式;
S406:将下载文件拷贝到写缓存的地址;
S407:进入A级;
S408:将缓存中的数据写入到指定UBA地址中。
5.根据权利要求3或4所述的一种希捷硬盘系统文件的读写方法,其特征在于:若上述系统文件读写方式不能完成特殊系统文件的读写,则执行以下读写方式;
读取的具体步骤如下:
S501:转到T级模式;
S502:以系统文件ID,系统文件所在卷,系统文件的COPY数作为读取参数,对系统文件进行读取;
S503:获取缓存信息;
S504:连续获取保存。
6.根据权利要求3或4所述的一种希捷硬盘系统文件的读写方法,其特征在于所述写入的具体步骤如下:
S601:按照系统文件ID,系统文件所在卷,系统文件的COPY数对系统文件进行回写操作;
S602:对写入硬盘的系统文件字节进行CRC16校验。
CN201510598675.5A 2015-09-18 2015-09-18 一种希捷硬盘系统文件的读写方法 Active CN105260130B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510598675.5A CN105260130B (zh) 2015-09-18 2015-09-18 一种希捷硬盘系统文件的读写方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510598675.5A CN105260130B (zh) 2015-09-18 2015-09-18 一种希捷硬盘系统文件的读写方法

Publications (2)

Publication Number Publication Date
CN105260130A CN105260130A (zh) 2016-01-20
CN105260130B true CN105260130B (zh) 2018-05-04

Family

ID=55099838

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510598675.5A Active CN105260130B (zh) 2015-09-18 2015-09-18 一种希捷硬盘系统文件的读写方法

Country Status (1)

Country Link
CN (1) CN105260130B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293982B (zh) * 2016-08-02 2019-08-06 四川效率源信息安全技术股份有限公司 一种修复西数硬盘不认盘的方法
CN111008378B (zh) * 2019-11-29 2023-08-01 四川效率源信息安全技术股份有限公司 一种清洗硬盘固件区恶意代码的方法
CN111145789A (zh) * 2019-12-31 2020-05-12 厦门市美亚柏科信息股份有限公司 一种用于希捷硬盘的磁头匹配方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1584832A (zh) * 2003-08-19 2005-02-23 明基电通股份有限公司 利用磁盘标记更新固件的待更新装置及更新固件的方法
CN104915229A (zh) * 2015-05-28 2015-09-16 四川效率源信息安全技术有限责任公司 一种希捷硬盘参数修正方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005242555A (ja) * 2004-02-25 2005-09-08 Hitachi Ltd 記憶制御システム及び記憶制御システムが有するディスク型記憶装置にファームウェアを搭載する方法
US20070067563A1 (en) * 2005-09-19 2007-03-22 Lsi Logic Corporation Updating disk drive firmware behind RAID controllers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1584832A (zh) * 2003-08-19 2005-02-23 明基电通股份有限公司 利用磁盘标记更新固件的待更新装置及更新固件的方法
CN104915229A (zh) * 2015-05-28 2015-09-16 四川效率源信息安全技术有限责任公司 一种希捷硬盘参数修正方法

Also Published As

Publication number Publication date
CN105260130A (zh) 2016-01-20

Similar Documents

Publication Publication Date Title
US9767035B2 (en) Pass-through tape access in a disk storage environment
CN103136243B (zh) 基于云存储的文件系统去重方法及装置
CN106874348B (zh) 文件存储和索引方法、装置及读取文件的方法
CN111125447A (zh) 一种元数据访问方法、装置、设备及可读存储介质
US20090037646A1 (en) Method of using a flash memory for a circular buffer
CN104461390A (zh) 将数据写入叠瓦状磁记录smr硬盘的方法及装置
CN103049224B (zh) 将数据导入物理磁带的方法、装置和系统
CN102521349A (zh) 一种文件预读方法
CN105260130B (zh) 一种希捷硬盘系统文件的读写方法
CN103955433A (zh) 盖瓦磁记录硬盘、盖瓦磁记录硬盘写数据的方法及装置
CN107168651A (zh) 一种小文件聚合存储处理方法
KR20100069240A (ko) 캐시 컨트롤을 위한 장치 및 방법
CN111367926A (zh) 分布式系统的数据处理方法和装置
CN103403709A (zh) 一种数据读写的方法、装置和系统
CN105653385B (zh) 一种车载录像方法
CN105095352B (zh) 应用于分布式系统的数据处理方法及装置
CN105830067A (zh) 一种文件信息处理方法、装置及文件处理设备、系统
CN109359488A (zh) 一种安全u盘的软件实现方法
CN107943415A (zh) 基于fat文件系统的查找空闲簇的方法和系统
CN102956270B (zh) 移动存储设备检测方法和装置
CN102969026B (zh) 基于数据处理系统的移动存储设备检测方法和装置
CN111143110B (zh) 一种逻辑卷管理中基于元数据的raid数据恢复方法
CN107506156B (zh) 一种块设备的io优化方法
CN112347524A (zh) 闪存编程方法、装置及电子设备
Cho A Maximum Data Allocation Rule for an Anti-forensic Data Hiding Method in NTFS Index Record

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information

Inventor after: Liang Xiaoning

Inventor after: Dong Chao

Inventor after: Yang Xianmin

Inventor after: Zhang Jiaqiang

Inventor after: Yang Wei

Inventor before: Liang Xiaoning

Inventor before: Yang Xianmin

Inventor before: Zhang Jiaqiang

Inventor before: Dong Chao

CB03 Change of inventor or designer information