CN115437668A - 一种批量生产ssd的工具的开发设计方法及系统 - Google Patents

一种批量生产ssd的工具的开发设计方法及系统 Download PDF

Info

Publication number
CN115437668A
CN115437668A CN202211026935.8A CN202211026935A CN115437668A CN 115437668 A CN115437668 A CN 115437668A CN 202211026935 A CN202211026935 A CN 202211026935A CN 115437668 A CN115437668 A CN 115437668A
Authority
CN
China
Prior art keywords
ssd
state
related information
ssds
identification related
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.)
Pending
Application number
CN202211026935.8A
Other languages
English (en)
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.)
Exascend Technology Wuhan Co ltd
Original Assignee
Exascend Technology Wuhan 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 Exascend Technology Wuhan Co ltd filed Critical Exascend Technology Wuhan Co ltd
Priority to CN202211026935.8A priority Critical patent/CN115437668A/zh
Publication of CN115437668A publication Critical patent/CN115437668A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种批量生产SSD的工具的开发设计方法及系统,涉及固态存储设备领域,该方法用于为多个SSD同时进行开卡,且同时对多个待开卡的SSD执行以下操作:查询SSD的当前状态,以保证SSD为初始化状态;将SSD正常工作所需要的全部固件烧录至SSD;对SSD的标识相关信息进行设置,并检查SSD的标识相关信息是否设置成功。本发明能够实现高效且稳定的批量开卡操作。

Description

一种批量生产SSD的工具的开发设计方法及系统
技术领域
本发明涉及固态存储设备领域,具体涉及一种批量生产SSD的工具的开发设计方法及系统。
背景技术
Mass Production Tool,即批量生产SSD(Solid State Disk,固态硬盘)的工具。当厂家把U盘(闪盘)、SSD固态硬盘装配好后,出厂前要统一安装固件,方法是将一批产品同时插入电脑的USB接口中,用厂家自己的Mass Production Tool同时为这批产品开卡。开卡后,硬件就可以与电脑操作系统对接。也就是说,把开了卡的硬件重新插到电脑USB接口上,电脑操作系统就会找到这个硬件,并通过接口读取硬件固件中的有关信息。如果硬件没有经历开卡或者如果固件因某种原因损坏了,电脑操作系统就无法识别这个硬件。
当前普遍采用的开卡方式是PCIe(一种高速串行计算机扩展总线标准)插槽,但一个机器理论上最多只能有6个PCIe插槽,而实际的主板上可能会被主板制造商根据自己的产品定位、市场的需求的判断以及客户的要求,减少一些PCIe插槽,只做出了4个甚至更少的3个或者两个。虽然可以使用PCIe扩展槽进行插槽扩展,但是因为PCIe设备是一个不支持热插拔的设备,插拔都要断电操作,因此直接用PCIe插槽开卡操作会比较麻烦。
随着USB2(一种应用在计算机领域的新型接口技术)PCIE的发展,目前市面上已有很多USB2 PCIE的硬盘盒,配合USB Hub(通用串行总线集线器),可以实现一拖多连接。并且USB2 PCIE还有一个优点是可以实现热插拔,并且在SSD自身reboot(重启)的情况下也能快速连接到盘并实现找盘的操作。并且USB2 PCIE能够规避掉PCIe直接开卡可能会遇到的link问题。因此,如何更好地实现批量开卡,则是当前亟需解决的问题。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种批量生产SSD的工具的开发设计方法及系统,能够实现高效且稳定的批量开卡操作。
为达到以上目的,本发明提供的一种批量生产SSD的工具的开发设计方法,所述开发设计方法用于为多个SSD同时进行开卡,且同时对多个待开卡的SSD执行以下操作:
查询SSD的当前状态,以保证SSD为初始化状态;
将SSD正常工作所需要的全部固件烧录至SSD;
对SSD的标识相关信息进行设置,并检查SSD的标识相关信息是否设置成功。
在上述技术方案的基础上,所述查询SSD的当前状态,以保证SSD为初始化状态,具体步骤包括:
查询SSD的当前状态,并基于查询得到的状态,判断SSD的当前状态是否为初始化状态:
若为初始化状态,则不作处理;
若为非初始化状态,则清除SSD内的所有固件,使SSD进入初始化状态。
在上述技术方案的基础上,所述非初始化状态包括boot状态、loader状态和user状态。
在上述技术方案的基础上,所述标识相关信息包括序列号、产品识别码和产品版号。
在上述技术方案的基础上,在SSD为boot状态时,对SSD的标识相关信息进行设置。
在上述技术方案的基础上,在SSD为user状态时,获取对SSD设置的标识相关信息,以检查SSD的标识相关信息是否设置成功。
本发明提供的一种批量生产SSD的工具的开发设计系统,包括:
查询模块,其用于查询SSD的当前状态,以保证SSD为初始化状态;
烧录模块,其用于将SSD正常工作所需要的全部固件烧录至SSD;
设置模块,其用于对SSD的标识相关信息进行设置,并检查SSD的标识相关信息是否设置成功。
在上述技术方案的基础上,所述查询SSD的当前状态,以保证SSD为初始化状态,具体过程包括:
查询SSD的当前状态,并基于查询得到的状态,判断SSD的当前状态是否为初始化状态:
若为初始化状态,则不作处理;
若为非初始化状态,则清除SSD内的所有固件,使SSD进入初始化状态。
在上述技术方案的基础上,所述非初始化状态包括boot状态、loader状态和user状态。
在上述技术方案的基础上,
所述标识相关信息包括序列号、产品识别码和产品版号;
在SSD为boot状态时,对SSD的标识相关信息进行设置;
在SSD为user状态时,获取对SSD设置的标识相关信息,以检查SSD的标识相关信息是否设置成功。
与现有技术相比,本发明的优点在于:通过自动检测是否有USB设备连接以及是否有盘的插入,然后通过跟盘的通信对盘进行升级和配置,实现盘由任何状态转向可使用User的状态,实现高效且稳定的批量开卡操作,同时在开卡的过程中还能够规避每次reboot时盘的多重刷新问题,以及大量盘进行热插拔时部分USB设备刷新不出来的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种批量生产SSD的工具的开发设计方法的流程图。
具体实施方式
本发明实施例提供一种批量生产SSD的工具的开发设计方法,通过自动检测是否有USB设备连接以及是否有盘的插入,然后通过跟盘的通信对盘进行升级和配置,实现盘由任何状态转向可使用User的状态,实现高效且稳定的批量开卡操作,同时在开卡的过程中还能够规避每次reboot时盘的多重刷新问题,以及大量盘进行热插拔时部分USB设备刷新不出来的问题。本发明实施例相应地还提供了一种批量生产SSD的工具的开发设计系统。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。
参见图1所示,本发明实施例提供的一种批量生产SSD的工具的开发设计方法,基于USB2 PCIE平台实现,该开发设计方法用于为多个SSD同时进行开卡,且同时对多个待开卡的SSD执行以下操作:
S1:查询SSD的当前状态,以保证SSD为初始化状态;
本发明实施例中,查询SSD的当前状态,以保证SSD为初始化状态,具体步骤包括:
查询SSD的当前状态,并基于查询得到的状态,判断SSD的当前状态是否为初始化状态:
若为初始化状态,则不作处理;
若为非初始化状态,则清除SSD内的所有固件,使SSD进入初始化状态。非初始化状态包括boot状态、loader状态和user状态。
S2:将SSD正常工作所需要的全部固件烧录至SSD;
S3:对SSD的标识相关信息进行设置,并检查SSD的标识相关信息是否设置成功。标识相关信息包括序列号、产品识别码和产品版号。
具体的,通过开卡软件实现上述步骤,即本发明通过软件来实现高效而稳定的批量开卡操作。
本发明实施例中,在SSD为boot状态时,对SSD的标识相关信息进行设置。在SSD为user状态时,获取对SSD设置的标识相关信息,以检查SSD的标识相关信息是否设置成功。
需要说明的是,SSD包括多种固件状态:virgin(初始状态)、boot(系统引导状态)、loader(装入程序状态)、user(用户态)。刚生产的盘是virgin状态,其他异常状态为boot或者loader,而在user状态下盘可能是异常状态或者正常状态。因为每次盘在转换一个状态都需要reboot,每次reboot伴随着盘的多重刷新或者存在掉USB设备的风险。本发明除了保证每次reboot以后盘都能正常找到以外,还能规避每次reboot时盘的多重刷新问题,以及大量盘进行热插拔时部分USB设备刷新不出来的问题。
具体的,问题1:当大量的盘进行热插拔时,伴随的是系统的大量刷新USB设备,大量刷新的同时可能面临着部分USB设备刷不出来。
针对问题1,因为掉port(一种计算机接口)产生的原因是系统的大量刷新,因此需要做的是避免重复的刷新,可以在每台开卡治具上都增加一个电源,每次开完卡后断开电源,拔盘再插盘,然后再统一上电,这样子当治具是10盘开卡时,插拔流程可以节省18次系统刷新,从而极大地降低掉port的可能性。
具体的,问题2:插盘拔盘时系统是自动刷新,盘在开卡时也会有多次的reboot操作,这些reboot操作也会引起系统的自动刷新。虽然每片盘开卡是独立的线程,但是一个盘的reboot会引起所有盘的刷新,需要解决一个盘对多个盘的线程干扰。
针对问题2,每一次reboot以后系统自动查找USB设备时间会很长,但是不会出现上述问题1的掉port的情况,因此可以在开卡线程增加retry机制(重试机制),防止系统刷新对每一个盘的当前线程造成影响而出现开卡失败的情况。增加retry机制不仅不会占用多余的开卡时间,还会在盘确保刷新成功后可以走下一个开卡流程,故本发明的开卡方式能够在速度不变的前提下保持稳定。
本发明的开卡软件可以支持所有版型的SSD开卡,进一步的,除了基本的开卡功能外,还具有上传QMS(质量管理系统)功能、自动过站功能、根据工单自动下载脚本功能、根据fwconfig和版本号自动下载开卡bin文件功能、自动上传开卡脚本功能等等。
本发明的基于USB2 PCIE平台的开卡软件相较于现有的PCIe开卡软件,更加稳定,速度更加快,并且开发环境是Windows,软件适用性更加普遍,与此同时也规避掉了PCIe平台的interfaceerror错误、PCIelinkerror错误等问题,以及不断开关机的问题。
本发明实施例的批量生产SSD的工具的开发设计方法,通过自动检测是否有USB设备连接以及是否有盘的插入,然后通过跟盘的通信对盘进行升级和配置,实现盘由任何状态转向可使用User的状态,实现高效且稳定的批量开卡操作,同时在开卡的过程中还能够规避每次reboot时盘的多重刷新问题,以及大量盘进行热插拔时部分USB设备刷新不出来的问题。
在一种可能的实施方式中,本发明实施例还提供一种可读存储介质,可读存储介质位于PLC(Programmable Logic Controller,可编程逻辑控制器)控制器中,可读存储介质上存储有计算机程序,该程序被处理器执行时实现以下所述批量生产SSD的工具的开发设计方法的步骤:
查询SSD的当前状态,以保证SSD为初始化状态;
将SSD正常工作所需要的全部固件烧录至SSD;
对SSD的标识相关信息进行设置,并检查SSD的标识相关信息是否设置成功。
存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本发明实施例提供的一种批量生产SSD的工具的开发设计系统,包括查询模块、烧录模块和设置模块。
查询模块用于查询SSD的当前状态,以保证SSD为初始化状态;烧录模块用于将SSD正常工作所需要的全部固件烧录至SSD;设置模块用于对SSD的标识相关信息进行设置,并检查SSD的标识相关信息是否设置成功。
本发明实施例中,查询SSD的当前状态,以保证SSD为初始化状态,具体过程包括:
查询SSD的当前状态,并基于查询得到的状态,判断SSD的当前状态是否为初始化状态:
若为初始化状态,则不作处理;
若为非初始化状态,则清除SSD内的所有固件,使SSD进入初始化状态。
本发明实施例中,非初始化状态包括boot状态、loader状态和user状态。
本发明实施例中,标识相关信息包括序列号、产品识别码和产品版号;在SSD为boot状态时,对SSD的标识相关信息进行设置;在SSD为user状态时,获取对SSD设置的标识相关信息,以检查SSD的标识相关信息是否设置成功。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

Claims (10)

1.一种批量生产SSD的工具的开发设计方法,其特征在于,所述开发设计方法用于为多个SSD同时进行开卡,且同时对多个待开卡的SSD执行以下操作:
查询SSD的当前状态,以保证SSD为初始化状态;
将SSD正常工作所需要的全部固件烧录至SSD;
对SSD的标识相关信息进行设置,并检查SSD的标识相关信息是否设置成功。
2.如权利要求1所述的一种批量生产SSD的工具的开发设计方法,其特征在于,所述查询SSD的当前状态,以保证SSD为初始化状态,具体步骤包括:
查询SSD的当前状态,并基于查询得到的状态,判断SSD的当前状态是否为初始化状态:
若为初始化状态,则不作处理;
若为非初始化状态,则清除SSD内的所有固件,使SSD进入初始化状态。
3.如权利要求2所述的一种批量生产SSD的工具的开发设计方法,其特征在于:所述非初始化状态包括boot状态、loader状态和user状态。
4.如权利要求1所述的一种批量生产SSD的工具的开发设计方法,其特征在于:所述标识相关信息包括序列号、产品识别码和产品版号。
5.如权利要求1所述的一种批量生产SSD的工具的开发设计方法,其特征在于:在SSD为boot状态时,对SSD的标识相关信息进行设置。
6.如权利要求5所述的一种批量生产SSD的工具的开发设计方法,其特征在于:在SSD为user状态时,获取对SSD设置的标识相关信息,以检查SSD的标识相关信息是否设置成功。
7.一种批量生产SSD的工具的开发设计系统,其特征在于,包括:
查询模块,其用于查询SSD的当前状态,以保证SSD为初始化状态;
烧录模块,其用于将SSD正常工作所需要的全部固件烧录至SSD;
设置模块,其用于对SSD的标识相关信息进行设置,并检查SSD的标识相关信息是否设置成功。
8.如权利要求7所述的一种批量生产SSD的工具的开发设计系统,其特征在于:所述查询SSD的当前状态,以保证SSD为初始化状态,具体过程包括:
查询SSD的当前状态,并基于查询得到的状态,判断SSD的当前状态是否为初始化状态:
若为初始化状态,则不作处理;
若为非初始化状态,则清除SSD内的所有固件,使SSD进入初始化状态。
9.如权利要求7所述的一种批量生产SSD的工具的开发设计系统,其特征在于:所述非初始化状态包括boot状态、loader状态和user状态。
10.如权利要求7所述的一种批量生产SSD的工具的开发设计系统,其特征在于:
所述标识相关信息包括序列号、产品识别码和产品版号;
在SSD为boot状态时,对SSD的标识相关信息进行设置;
在SSD为user状态时,获取对SSD设置的标识相关信息,以检查SSD的标识相关信息是否设置成功。
CN202211026935.8A 2022-08-25 2022-08-25 一种批量生产ssd的工具的开发设计方法及系统 Pending CN115437668A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211026935.8A CN115437668A (zh) 2022-08-25 2022-08-25 一种批量生产ssd的工具的开发设计方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211026935.8A CN115437668A (zh) 2022-08-25 2022-08-25 一种批量生产ssd的工具的开发设计方法及系统

Publications (1)

Publication Number Publication Date
CN115437668A true CN115437668A (zh) 2022-12-06

Family

ID=84245078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211026935.8A Pending CN115437668A (zh) 2022-08-25 2022-08-25 一种批量生产ssd的工具的开发设计方法及系统

Country Status (1)

Country Link
CN (1) CN115437668A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116880868A (zh) * 2023-06-07 2023-10-13 珠海妙存科技有限公司 一种基于ufs的开卡方法、系统、装置与介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116880868A (zh) * 2023-06-07 2023-10-13 珠海妙存科技有限公司 一种基于ufs的开卡方法、系统、装置与介质
CN116880868B (zh) * 2023-06-07 2024-06-04 珠海妙存科技有限公司 一种基于ufs的开卡方法、系统、装置与介质

Similar Documents

Publication Publication Date Title
US11068252B2 (en) System and method for dynamically determining applicable updates
CN104572387A (zh) 一种工程模式下调试终端的方法及装置
US11093321B1 (en) System and method for automatically updating an information handling system upon system crash
US20090006831A1 (en) Methods and apparatuses for configuring add-on hardware to a computing platform
CN101625645B (zh) 固态硬盘、bios装置、操作系统引导方法和设备
CN102945173A (zh) 用户程序在线升级系统和升级方法
EP3518097A2 (en) Firmware updating method and electronic device using the same
CN110968477B (zh) 一种获取备用bmc版本信息的方法、设备及介质
CN107220085B (zh) 一种自动升级raid卡固件的方法
CN108153548A (zh) 一种emmc固件升级方法和装置
CN115437668A (zh) 一种批量生产ssd的工具的开发设计方法及系统
CN111371610A (zh) 一种网卡固件批量刷新方法、系统、终端及存储介质
CN114020681A (zh) 逻辑盘符的分配方法、装置、系统、电子设备及存储介质
CN113900693A (zh) 一种固件升级方法、装置、系统、电子设备及存储介质
EP2372565A1 (en) Method for managing USB devices
CN111045710A (zh) 一种基于IPMI命令的SAS-Expander固件升级的方法、设备及介质
CN114185571A (zh) Cpld的固件升级方法、装置、终端及可读存储介质
CN107908418B (zh) 光纤通道节点卡的逻辑程序升级方法及光纤通道总线设备
CN115495129A (zh) 一种固件升级方法、装置、设备、介质和产品
CN111813600B (zh) 一种控制器的恢复方法、装置、终端和介质
CN113553110A (zh) 一种服务器的硬件基线自动化修正方法、装置及系统
CN102023906B (zh) 便携式终端的微处理器、便携式终端及其修复方法
US20240330228A1 (en) Dynamic baseboard management controller memory use
CN114020306B (zh) 一种硬盘固件的更新方法、装置、电子设备及存储介质
US20240333589A1 (en) Software image updating for pluggable device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination