CN101697285B - 存储设备硬件调试的方法及系统 - Google Patents

存储设备硬件调试的方法及系统 Download PDF

Info

Publication number
CN101697285B
CN101697285B CN 200910235297 CN200910235297A CN101697285B CN 101697285 B CN101697285 B CN 101697285B CN 200910235297 CN200910235297 CN 200910235297 CN 200910235297 A CN200910235297 A CN 200910235297A CN 101697285 B CN101697285 B CN 101697285B
Authority
CN
China
Prior art keywords
memory device
storage unit
mirror image
debugged
read
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
CN 200910235297
Other languages
English (en)
Other versions
CN101697285A (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.)
Dawning Information Industry Beijing Co Ltd
Dawning Information Industry Co Ltd
Original Assignee
Dawning Information Industry Beijing 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 Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN 200910235297 priority Critical patent/CN101697285B/zh
Publication of CN101697285A publication Critical patent/CN101697285A/zh
Application granted granted Critical
Publication of CN101697285B publication Critical patent/CN101697285B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提出了一种存储设备硬件调试的方法及系统。该方法包括以下步骤:建立被调试存储设备的镜像,该镜像的存储单元与被调试存储设备的存储单元一一映射;对被调试存储设备和镜像进行读写操作;根据镜像定位被调试存储设备的缺陷。本发明所提出的存储设备硬件调试的方法及系统,可以辅助高速设备的硬件调试,使调试难度降低,缩减硬件的开发周期。

Description

存储设备硬件调试的方法及系统
技术领域
本发明涉及计算机技术领域,更具体地涉及存储设备的硬件调试技术。
背景技术
随着材料科学的发展以及一些应用对存储带宽和延迟的较高需求,一些新的高速存储设备逐渐被研究开发出来,如闪存(Flash Memory)、固态硬盘(SSD:Solid State Disk)以及基于内存颗粒的存储设备等,以弥补磁盘性能的不足。这一类产品尚无足够的技术积累,而且本身高带宽低延迟的特性也容易导致缺陷(Bug)的产生。产生一次缺陷通常对应于某一种读写模式(Pattern),开发者经常需要利用这一序列来重现缺陷进行调试。
为了较全面地对一个开发中的存储产品进行测试和调试,采用确定的读写序列作为输入往往不能较好地覆盖所有可能的问题。将存储设备接入真实的计算机系统,由多种应用程序、基准测试程序(Benchmark)通过操作系统对该设备发送读写请求,是比较好的检测方法。然而由于操作系统进程调度、I/O调度等服务的不确定性,能够导致一次设备缺陷的读写模式很难被记录并重现。本发明解决了这一问题,可以在操作系统内核中以较小的开销来记录和重现导致存储设备bug产生的读写模式。
现有技术有两种途径可以一定程度上解决这种问题:硬件发包器或者软件构造读写模式。前者直接对设备控制器发送特定的读写序列,并检测结果。一般的检测方式都是先向某一位置写,然后再读进行比较,从而判断功能上是否正常。这意味着对于所有写操作,必须保存其所写入的内容,为之后的读校验提供基准。如果导致一次bug产生需要大量的不同位置的写操作,那么发包器很难拥有大的空间来保存之前写的内容。因此,一种替代的方案即用软件来构造读写序列,通过操作系统对设备进行访问。这种方法只能勉强适用于模式比较规整的读写,比如顺序写、顺序读、逆序写、逆序读等。随机的读写序列在操作系统中会被重排,即使是前述规整的读写也可能被重排。
因此,目前需要一种不依赖于读写序列的硬件调试技术。
发明内容
为了解决上述问题之一,本发明提出了一种存储设备硬件调试的方法,包括以下步骤:建立被调试存储设备的镜像,该镜像的存储单元与被调试存储设备的存储单元一一映射;对被调试存储设备和镜像进行读写操作;根据镜像定位被调试存储设备的缺陷。
根据本发明的实施例,对被调试存储设备和镜像进行读写操作包括:在对被调试存储设备进行写操作时,对镜像中的相应的存储单元进行相同的写操作;在对被调试存储设备中的存储单元进行读操作时,读取镜像中相应的存储单元的数据。
根据本发明的实施例,根据镜像定位被调试存储设备的缺陷的步骤包括:将被调试存储设备中读取的数据与镜像中相应的存储单元进行对比,若不一致则报错。
根据本发明的实施例,对被调试存储设备和镜像进行写操作包括:在镜像中设置位图,该位图指示被调试存储设备的相应的存储单元是否进行过写操作。
根据本发明的实施例,对被调试存储设备进行写操作包括:检查被调试存储设备相应的存储单元所对应的位图,如果位图指示存储单元未进行过写操作,则在镜像中申请一个新的存储单元,对新的存储单元进行写操作,并将对应的位图置位。
根据本发明的实施例,对被调试存储设备和镜像进行读操作包括:根据位图判断存储设备的相应的存储单元是否进行过写操作;如果存储单元进行过写操作,则读取存储设备和镜像中相对应的存储单元的数据。
根据本发明的实施例,根据镜像定位被调试存储设备的缺陷包括:如果存储单元未进行过写操作,则报错;如果存储设备和镜像中相对应的存储单元的数据不一致,则报错。
根据本发明的实施例,该方法还包括:记录读写请求的序列,并将读写请求所对应的镜像中的存储单元的数据按时间备份。
根据本发明的实施例,镜像设置于虚拟磁盘或物理磁盘上。
本发明还提出了一种存储设备硬件调试的系统,包括中央处理器、被调试存储设备和被调试存储设备的镜像,镜像的存储单元与被调试存储设备的存储单元一一映射。其中,中央处理器用于对被调试存储设备和镜像进行读写操作,并根据镜像定位被调试存储设备的缺陷。
本发明所提出的存储设备硬件调试的方法及系统,可以辅助高速设备的硬件调试,使调试难度降低,缩减硬件的开发周期。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明的一个实施例的存储设备硬件调试方法的流程图;
图2为根据本发明的一个实施例的存储设备硬件调试方法的流程图;
图3为根据本发明的一个实施例的存储设备硬件调试系统的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明的一个实施例是在其他的高速存储介质(Media)上建立被调试存储设备的一个镜像,操作系统所发出来的读写请求在驱动层除了交给被调试存储设备,或称被调试磁盘处理外,也向镜像发送一份。如果设备的某个位置进行过写操作,那么再次读的时候,需要从镜像上读相应位置的数据,二者比较以确定设备上数据的正确性。作为本发明的一个实施例,可以记录之前的读写请求序列,备份特定时刻特定位置的数据,用来辅助调试。
如图1所示为本发明的一个实施例的存储设备硬件调试方法的流程图。如图1所示,该方法100包括以下步骤:
S101:建立被调试存储设备的镜像,该镜像的存储单元与被调试存储设备的存储单元一一映射。
作为本发明的一个实施例,存储设备的镜像设置于高可靠性和高速读写的设备上,例如,可以采用虚拟磁盘。被调试设备和驱动的功能正确性将以虚拟磁盘的内容作为比较和判断的基准,因此使用高可靠性的设备作为镜像能够提高调试的准确性。虚拟磁盘的读写速度优选地高于被调试设备的读写速度,特别地,如果高于一个数量级以上为最佳。这样可以尽量避免和排除虚拟磁盘读写所带来的一些干扰因素,例如延迟,从而利于问题的准确定位。
作为本发明的一个实施例,被调试存储设备为高速设备,被调试存储设备的镜像采用物理内存作为虚拟磁盘的载体,对于现有所有高速外设而言,物理内存都满足上述高可靠性和高速读写的要求。
作为本发明的一个实施例,可以以物理内存页面簇作为虚拟磁盘的基本单元,簇的大小一般为1、2、4个页面,视系统内存的资源可用性和碎片程度而定,在编译期或者运行期手工指定,例如,如果系统内存较大、碎片较少,则可以将簇的大小指定得稍大一些。
S102:对被调试存储设备和镜像进行读写操作。
作为本发明的一个实施例,驱动程序从操作系统获得读写请求,处理之后最终要发送给被调试存储设备,或称目标设备。若驱动程序发出了对设备写的命令,则对被调试存储设备和其镜像执行相同的写操作。若驱动中发出了对设备读的命令,则返回被调试存储设备和镜像中的相应位置的数据。
S103:根据镜像定位被调试存储设备的缺陷。
作为本发明的一个实施例,在中央处理器发出读命令时,将被调试存储设备和镜像中的相应位置的数据进行对比,如果不一致则报错。
作为本发明的一个实施例,还可以在镜像中设备位图(bitmap)指示某个存储单元是否被写过,例如,将被写过的存储单元对应的位图置位。
如图2所示为本发明的另一个实施例的存储设备硬件调试方法的流程图。如图2所示,该方法包括以下步骤:
S201:驱动程序从操作系统(OS)获得读写请求;
S202:将读写请求进行处理之后要发送给目标设备,即被调试存储设备;
S203:判断请求类型,如果为写请求,则转到S204,如果为读请求,则转到S205;
S204:如果为写请求,则对被调试存储设备的镜像例如虚拟磁盘进行与被调试存储设备相同的写操作,如果所对应的存储单元的位置未被写过,则申请一个页面簇,并将相应块的bitmap位置位;
S205:检查虚拟磁盘上相应块的bitmap,如果该bitmap指示所对应的存储单元被写过,则转到S206,如果未被写过,则转到S208;
S206:从虚拟磁盘中读取数据;
S207:将虚拟磁盘中读取的数据与被调试存储设备中读取的数据进行比较,如果相同,则程序结束,如果不同,则转到S208;
S208:报告缺陷(bug dump)数据。
作为本发明的一个实施例,可以在必要的时候可以记下出错的测试用例下的读写序列,并将相应块的数据按时间备份,以便于硬件调度者进行分析。
举例来说,以二元组<读写位置,读写类型(R为读,W为定)>构成的序列来来表示一个读写模式:<1,R>,<2,W>,<3,R>,<4,W>,<2,R>。此模式经过操作系统的I/O调度之后可能变为<1,R>,<3,R>,<2,W>,<4,W>,<2,R>。假设在此之前,系统对被调试设备无读写操作,那么驱动程序中将要执行的操作为:
1)获得请求<1,R>,处理完请求后直接发送至存储设备。读操作完成后检查虚拟磁盘位置1的bitmap,为0,表示之前没被写过,不做额外操作。
2)获得请求<3,R>,同1);
3)获得请求<2,W>,由于是写请求,无条件地将要写的内容写至虚拟磁盘的位置2,将将此位置的bitmap置为1;
4)获得请求<4,W>,同3),但是目标位置不同;
5)获得请求<2,R>,处理完请求后直接发送至存储设备,读操作完成后查看虚拟磁盘位置2的bitmap,为1,表示之前被写过。则从虚拟磁盘中读出位置2的内容,与存储设备读回来的内容进行比较。
这里所说的位置,通常是以磁盘块为单位,例如,采用的磁盘块大小可以为512字节。
如图3所示为根据本发明的一个实施例的存储设备硬件调试系统的结构示意图,其中该系统包括中央处理器301、被调试存储设备302和被调试存储设备的镜像303。其中,镜像303的存储单元与被调试存储设备302的存储单元一一映射,中央处理器301用于对被调试存储设备302和镜像303进行读写操作,并根据镜像303定位被调试存储设备302的缺陷。
在本发明的具体实施中,镜像用的物理内存也可以用读写速度高、可靠的存储设备来替代。
本发明所提出的存储设备硬件调试的方法及系统可以辅助高速设备的硬件调试,使调试难度降低,缩减了硬件的开发周期。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。

Claims (6)

1.一种存储设备硬件调试的方法,其特征在于,包括以下步骤:
建立被调试存储设备的镜像,所述镜像的存储单元与所述被调试存储设备的存储单元一一映射;
根据获取的请求类型对所述被调试存储设备和所述镜像进行读写操作,其包括:
所述请求类型为写请求,则对所述被调试存储设备进行写操作,并同时对所述镜像中的相应的存储单元进行相同的所述写操作;
所述请求类型为读请求,则对所述被调试存储设备中的存储单元进行读操作,并同时根据所述镜像中设置的位图确定是否读取所述镜像中相应的存储单元的数据,所述位图指示所述被调试存储设备的相应的存储单元是否进行过写操作;
如果所述位图指示所述被调试存储设备的相应存储单元进行过写操作,则确定为是并读取所述镜像中相应的存储单元的数据;以及,
根据从所述被调试存储设备中的存储单元读取的数据和所述镜像中相应的存储单元读取的数据定位所述被调试存储设备的缺陷。
2.根据权利要求1所述的存储设备硬件调试的方法,其特征在于,根据从所述被调试存储设备中的存储单元读取的数据和所述镜像中相应的存储单元读取的数据定位所述被调试存储设备的缺陷的步骤包括:
将所述被调试存储设备中读取的数据与从所述镜像中相应的存储单元读取的数据进行对比,若不一致则报错。
3.根据权利要求1所述的存储设备硬件调试的方法,其特征在于,对所述被调试存储设备进行写操作包括:
检查所述被调试存储设备相应的存储单元所对应的位图,如果所述位图指示所述存储单元未进行过写操作,则在所述镜像中申请一个新的存储单元,对所述新的存储单元进行所述写操作,并将所述对应的位图置位。
4.根据权利要求1所述的存储设备硬件调试的方法,其特征在于,所述方法还包括:
在对所述被调试存储设备中的存储单元进行读操作时,位图指示所述被调试存储设备的相应的所述存储单元未进行过写操作,则报错。
5.根据权利要求1所述的存储设备硬件调试的方法,其特征在于,还包括:
记录所述读写请求的序列,并将所述读写请求所对应的所述镜像中的存储单元的数据按时间备份。
6.根据权利要求1所述的存储设备硬件调试的方法,其特征在于,所述镜像设置于虚拟磁盘或物理磁盘上。
CN 200910235297 2009-09-30 2009-09-30 存储设备硬件调试的方法及系统 Active CN101697285B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910235297 CN101697285B (zh) 2009-09-30 2009-09-30 存储设备硬件调试的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910235297 CN101697285B (zh) 2009-09-30 2009-09-30 存储设备硬件调试的方法及系统

Publications (2)

Publication Number Publication Date
CN101697285A CN101697285A (zh) 2010-04-21
CN101697285B true CN101697285B (zh) 2013-03-20

Family

ID=42142385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910235297 Active CN101697285B (zh) 2009-09-30 2009-09-30 存储设备硬件调试的方法及系统

Country Status (1)

Country Link
CN (1) CN101697285B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102399490B1 (ko) * 2017-06-20 2022-05-19 에스케이하이닉스 주식회사 다양한 동작 모드를 수행하는 반도체 메모리 장치, 이를 포함하는 메모리 모듈 및 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4958346A (en) * 1988-01-11 1990-09-18 Advantest Corporation Memory testing device
US5422892A (en) * 1992-11-23 1995-06-06 Texas Instruments Incorporated Integrated circuit test arrangement and method for maximizing the use of tester comparator circuitry to economically test wide data I/O memory devices
US5446741A (en) * 1990-08-02 1995-08-29 International Business Machines Corporation Fast memory power-on diagnostics using DMA
CN101083108A (zh) * 2006-05-30 2007-12-05 日本电气株式会社 可重写光盘的记录控制方法及记录和再现光盘的驱动装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4958346A (en) * 1988-01-11 1990-09-18 Advantest Corporation Memory testing device
US5446741A (en) * 1990-08-02 1995-08-29 International Business Machines Corporation Fast memory power-on diagnostics using DMA
US5422892A (en) * 1992-11-23 1995-06-06 Texas Instruments Incorporated Integrated circuit test arrangement and method for maximizing the use of tester comparator circuitry to economically test wide data I/O memory devices
CN101083108A (zh) * 2006-05-30 2007-12-05 日本电气株式会社 可重写光盘的记录控制方法及记录和再现光盘的驱动装置

Also Published As

Publication number Publication date
CN101697285A (zh) 2010-04-21

Similar Documents

Publication Publication Date Title
US8086919B2 (en) Controller having flash memory testing functions, and storage system and testing method thereof
US10504605B2 (en) Method and system for testing firmware of solid-state storage device, and electronic apparatus
CN102568522B (zh) 硬盘性能的测试方法和装置
KR101547317B1 (ko) 스토리지 테스트 장치에서 로직 블록 어드레스와 데이터 버퍼 주소를 이용한 불량 블록 검출 시스템
US20100122148A1 (en) Apparatus, system, and method for predicting failures in solid-state storage
US9690642B2 (en) Salvaging event trace information in power loss interruption scenarios
US11269722B2 (en) Apparatus for diagnosing memory system and operating method thereof
JP2008539474A (ja) パワーセーフディスクストレージ装置、システム及び方法
CN110610740A (zh) 一种测试单元、方法、系统及控制器、存储设备
US20070168603A1 (en) Information recording apparatus and control method thereof
KR20160074025A (ko) 데이터 저장 장치의 동작 방법
CN109445691B (zh) 一种提高ftl算法开发和验证效率的方法及装置
TWI473103B (zh) 快閃記憶體儲存裝置及其不良儲存區域的判定方法
US20190042355A1 (en) Raid write request handling without prior storage to journaling drive
US10395751B2 (en) Automated testing system and operating method thereof
US11984181B2 (en) Systems and methods for evaluating integrity of adjacent sub blocks of data storage apparatuses
US20180364304A1 (en) Stimulus generation for component-level verification
CN112802530B (zh) Nand测试方法、装置、可读存储介质及电子设备
US7418367B2 (en) System and method for testing a cell
US20180341723A1 (en) Triggering untriggered assertions in design verification
CN101697285B (zh) 存储设备硬件调试的方法及系统
JP2021163512A (ja) メモリシステムおよび情報処理システム
CN112540869A (zh) 存储器控制器、存储装置和存储装置的操作方法
KR102469098B1 (ko) 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 이를 포함하는 데이터 저장 장치
US20130067165A1 (en) Disk array device and disk array device control method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 100193 Beijing, Haidian District, northeast Wang West Road, building 8, No. 36

Applicant after: Dawning Information Industry (Beijing) Co.,Ltd.

Address before: 100084 No. 6 South Road, Zhongguancun Academy of Sciences, Beijing, Haidian District

Applicant before: Dawning Information Industry (Beijing) Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220722

Address after: 100089 building 36, courtyard 8, Dongbeiwang West Road, Haidian District, Beijing

Patentee after: Dawning Information Industry (Beijing) Co.,Ltd.

Patentee after: DAWNING INFORMATION INDUSTRY Co.,Ltd.

Address before: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing

Patentee before: Dawning Information Industry (Beijing) Co.,Ltd.