CN112394967A - 批量生产软件工具的电子装置、方法与计算机可读取媒体 - Google Patents

批量生产软件工具的电子装置、方法与计算机可读取媒体 Download PDF

Info

Publication number
CN112394967A
CN112394967A CN202010513700.6A CN202010513700A CN112394967A CN 112394967 A CN112394967 A CN 112394967A CN 202010513700 A CN202010513700 A CN 202010513700A CN 112394967 A CN112394967 A CN 112394967A
Authority
CN
China
Prior art keywords
flash memory
electronic device
mass production
software tool
production software
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.)
Granted
Application number
CN202010513700.6A
Other languages
English (en)
Other versions
CN112394967B (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.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN112394967A publication Critical patent/CN112394967A/zh
Application granted granted Critical
Publication of CN112394967B publication Critical patent/CN112394967B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种使用电子装置启动批量生产软件工具以初始化包括闪存控制器和闪存的闪存装置的方法,包括:使用批量生产软件工具取得批量生产软件工具所包括的加密的组态档案;解密该加密的组态档案以产生一临时解密的组态档案;比较电子装置的独特信息与记录在该临时解密的组态档案中的独特信息,以判断该电子装置是否为有效/被授权;以及当电子装置有效/已授权时对该电子装置执行闪存初始化操作。绑定该批量生产软件工具与被授权/有效装置,实现一种验证流程以检查电子装置(例如一计算机)是否得到授权。

Description

批量生产软件工具的电子装置、方法与计算机可读取媒体
技术领域
本申请涉及一种闪存初始化验证机制,尤其有关于一种能够避免其他人在不同的操作/装置中应用一闪存的一批量生产软件工具的机制。
背景技术
一般而言,一闪存制造商可以轻易地取得或获取到由一闪存控制器供货商所提供的一批量生产软件工具,该闪存制造商可以在不使用该闪存控制器供货商所提供的控制器下,使用该批量生产软件工具来执行各种闪存的测试,如此对于控制器的供货商来说,很难贩卖其控制器产品,因此,目前极为重要的是需要一种新颖的保护解决方案,绑定该批量生产软件工具与制造商的被授权/有效装置,以及提供一种验证流程以检查一电子装置(例如一计算机)是否得到授权。
发明内容
因此,本申请的目的之一在于提供一种使用一电子装置来启动一批量生产软件工具以初始化包括有闪存控制器与闪存的闪存装置的方法、电子装置以及相应的计算机可读取媒体,以解决上述的问题。
根据本申请的实施例,公开了一种用于使用电子装置来启动批量生产软件工具以初始化包括有闪存控制器和闪存的闪存装置的方法,该闪存装置将通过一通用串行总线(USB)接口耦接至电子装置,该方法包含有:使用批量生产软件工具以取得批量生产软件工具包含的加密的组态档案;解密该加密的组态档案以产生一临时解密的组态档案;从临时解密的组态档案中获取一创建日期信息;比较创建日期信息中所包含的时间信息与特定时间信息,以判断创建日期信息是否过期;比较电子装置的独特信息与记录在临时解密的组态档案中的独特信息,以在创建日期信息未过期时判断电子装置是否为有效/被授权;以及当电子装置为有效/被授权时,对闪存执行闪存初始化操作,闪存初始包括有以下操作:使用批量生产软件工具通过USB接口来控制闪存控制器,用以:清除闪存的至少一个系统区块;进行预测试操作以扫描闪存的所有区块;基于预测试操作的结果来建至少一信息对照表;通过USB接口与闪存控制器将批量生产软件工具所包括的固件从电子装置下载至闪存;以及对闪存的多个数据区块执行一格式化操作。
根据本申请的实施例,另公开了一种用于使用电子装置来启动一批量生产软件工具以初始化包括闪存控制器和闪存的一闪存装置的方法,该闪存装置将通过USB接口耦接至电子装置,以及该方法包含有:使用该批量生产软件工具以取得该批量生产软件工具所包含的一加密的组态档案;解密该加密的组态档案以产生一临时解密的组态档案;比较电子装置的独特信息与该临时解密的组态档案中所记录的独特信息,以判断电子装置是否为有效/被授权;当电子装置为有效/被授权时,对闪存执行闪存初始化操作,该闪存初始化操作包括使用该批量生产软件工具通过USB接口来控制闪存控制器,用以:清除闪存的至少一个系统区块;对闪存的所有区块进行一预测试操作;基于预测试操作的结果来建立至少一信息对照表;通过USB接口与闪存控制器将该批量生产软件工具所包含的固件从电子装置下载至闪存;以及对闪存的多个数据区块进行一格式化操作。
根据本申请的实施例,另公开了一种用于启动一批量生产软件工具以初始化包括闪存控制器和闪存的一闪存装置的电子装置,该闪存装置将通过USB接口耦合接电子装置,该电子装置包括用于储存该批量生产软件工具的内存以及耦接至该内存的一处理单元,处理单元被安排用来:使用该批量生产软件工具来取得该批量生产软件工具所包括的一加密的组态档案;解密该加密的组态档案以产生一临时解密的组态档案;比较电子装置的独特信息与记录在该临时解密的组态档案中的独特信息,以判断电子装置是否为有效/被授权;以及当电子装置为有效/被授权时,对闪存进行一闪存初始化操作,闪存初始化操作包括使用该批量生产软件工具通过USB接口来控制闪存控制器,用以:清除闪存的至少一系统区块;对闪存的所有区块进行一预测试操作;基于预测试操作的结果来建立至少一信息对照表;通过USB接口和闪存控制器将批量生产软件工具所包括的固件从电子装置下载至闪存;以及对闪存的多个数据区块进行一格式化操作。
根据本申请的实施例,公开了一种用于启动一批量生产软件工具以初始化包括闪存控制器与闪存的一闪存装置的电子装置,该闪存装置将通过USB接口耦接至电子装置,该电子装置包括用于储存该批量生产软件工具的一内存以及耦接至该内存的一处理单元,处理单元被安排用来:使用该批量生产软件工具来取得该批量生产软件工具所包括的一加密的组态档案;解密该加密的组态档案以产生一临时解密的组态档案;从该临时解密的组态档案中获取一创建日期信息;比较创建日期信息中所包含的时间信息与特定时间信息,以判断创建日期信息是否过期;比较电子装置的独特信息与记录在该临时解密的组态档案中的独特信息,以在该创建日期信息未过期时判断电子装置是否为有效/被授权;以及当该电子装置为有效/被授权时,对该闪存执行一闪存初始化操作,该闪存初始化操作包括使用该批量生产软件工具通过USB接口来控制闪存控制器,用以:清除闪存的至少一系统区块;对闪存的所有区块进行一预测试操作;基于该预测试操作的一结果来建立至少一信息对照表;通过USB接口与闪存控制器,将批量生产软件工具所包含的固件从电子装置下载至闪存;以及对闪存的多个数据区块进行一格式化操作。
根据本申请的实施例,公开了一种计算机可读取媒体,该计算机可读取媒体上储存多笔计算机可执行指令,该计算机可读取媒体在被计算机执行时是用以启动一批量生产软件工具以初始化包括闪存控制器和闪存的一闪存装置,该闪存装置将通过USB接口耦接至电子装置,该计算机可读取媒体令该计算机:使用该批量生产软件工具取得该批量生产软件工具所包含的一加密的组态档案;解密该加密的组态档案以产生一临时解密的组态档案;比较该电子装置的独特信息与在该临时解密的组态档案中所记录的独特信息,以判断该电子装置是否为有效/被授权;当该电子装置为有效/被授权时,对该闪存执行一闪存初始化操作,闪存初始化操作包括使用该批量生产软件工具通过USB接口来控制该闪存控制器,用以:清除闪存的至少一系统区块;对闪存的所有区块进行一预测试操作;基于该预测试操作的结果来建立至少一信息对照表;通过USB接口与闪存控制器将批量生产软件工具所包括的固件从电子装置下载至闪存;对闪存的多个数据区块进行一格式化操作。
根据本申请的实施例,公开了一种计算机可读取媒体,该计算机可读取媒体储存多笔计算机可执行指令,该计算机可读取媒体在被一计算机执行时用来启动一批量生产软件工具以初始化包括闪存控制器和闪存的一闪存装置,该闪存装置将通过USB接口耦接至该电子装置,该计算机可读取媒体令该计算机:使用该批量生产软件工具取得该批量生产软件工具所包含的一加密的组态档案;解密该加密的组态档案以产生一临时解密的组态档案;从临时解密的组态档案中取得创建日期信息;比较创建日期信息中所包括的时间信息与特定时间信息,以判断创建日期信息是否过期;当创建日期信息未过期时,比较电子装置的独特信息与该临时解密的组态档案中所记录的独特信息,以判断电子装置是否为有效/被授权;当电子装置为有效/被授权时,对闪存进行一闪存初始化操作,闪存初始化操作包括使用该批量生产软件工具通过USB接口来控制该闪存控制器,用以:清除闪存的至少一系统区块;对闪存的所有区块进行一预测试操作;基于该预测试操作的结果来建立至少一信息对照表;通过USB接口和闪存控制器将批量生产软件工具所包含的固件从电子装置下载至闪存;以及对闪存的多个数据区块进行一格式化操作。
附图说明
图1为本申请实施例的闪存制造商的多个闪存初始化装置PC_1~PC_N与为闪存制造商提供一批量生产软件工具MP的一闪存控制器供货商之间的关系的一概要系统图。
图2为本申请一实施例的用来对闪存装置执行一闪存初始化操作的一电子装置的方块示意图。
图3为图2所示的实施例由该批量生产软件工具MP所执行以验证一电子装置是否是一有效的闪存初始化装置以便决定是否初始化包括闪存控制器的闪存装置的方法/程序的第一部分的流程图。
图4为图2所示的实施例由该批量生产软件工具MP所执行以验证一电子装置是否是一有效的闪存初始化装置以便决定是否初始化包括闪存控制器的闪存装置的方法/程序的第二部分的流程图。
其中,附图标记说明如下:
105:闪存制造商
110:闪存控制器供货商
205:电子装置
210:闪存装置
2051:中央处理单元
2052:内存
2053:接口电路
2101:闪存控制器
2102:闪存
具体实施方式
图1是本申请实施例的闪存制造商105的多个闪存初始化装置PC_1~PC_N与为闪存制造商105提供一批量生产软件工具MP的一闪存控制器供货商110之间的关系的一概要系统图。
如图1所示,闪存初始化装置PC_1~PC_N(例如个人计算机)是于工厂中被闪存制造商105所分别使用以初始化包括有一闪存控制器与一闪存的每一个闪存装置,而为了成功地初始化多个闪存装置,闪存制造商105的每一个闪存初始化装置均需要取得从闪存控制器供货商110所提供的批量生产软件工具MP的授权。
例如,闪存控制器供货商110可授权该制造商105的N个电子装置为有效的闪存初始化装置,并提供小型的应用软件工具AP给闪存制造商105,小型的应用软件工具AP被安排用来收集及产生用来执行该工具AP的每一个电子装置的相应的独特信息(uniqueinformation),接着闪存控制器供货商110要求该闪存制造商105回报所有被授权/有效电子装置的所有相应的独特信息给闪存控制器供货商110,在该实施例中,闪存控制器供货商110可接收到N个电子装置PC_1~PC_N的相应的独特信息INFO_1~INFO_N,接着对N个电子装置PC_1~PC_N的相应的独特信息INFO_1~INFO_N进行加密或编码,产生一加密的/编码的组态档案(configuration file),该加密的/编码的组态档案将被包装在一批量生产软件工具MP中。此外,对于每一个相应的独特信息INFO_1~INFO_N,闪存控制器供货商110会产生一创建日期时间(build date),以便最终产生所有相应的独特信息INFO_1~INFO_N的创建日期信息,一个创建日期时间的一最小记录单位可以是小时(但不限定),并且不同的电子装置PC_1~PC_N可以记录部分相同/不同的日期时间信息。闪存控制器供货商110接着提供包括有该加密的/编码的组态档案的该批量生产软件工具MP给闪存制造商105,该加密的/编码的组态档案无法轻易地被闪存制造商105或其他人所破解,并且也可以用来验证一电子装置是否是被用来初始化包括闪存控制器和闪存的闪存装置的一个有效的闪存初始化装置,而在从闪存控制器供货商110接收到该批量生产软件工具MP之后,闪存制造商105被安排用来在多个初始化装置上启动并执行该批量生产软件工具MP以初始化多个闪存装置。
图2是本申请一实施例的用来对闪存装置210执行一闪存初始化操作的一电子装置205的方块示意图,电子装置205例如是闪存制造商105的闪存初始化装置PC_1~PC_N的其中一个,电子装置205包括一中央处理单元2051、一内存2052以及一接口电路2053,总线连接在中央处理单元2051、内存2052与接口电路2053之间以传输多个数据/信号/命令,内存2052例如是用于储存该批量生产软件工具MP的一随机存取存储器,闪存装置210例如是拇指碟(thumb drive)、笔碟(pen drive)、存储卡诸如SD卡、存储棒、存储磁盘、固态硬盘(solid state drive,SSD)等等可以通过一通用串行总线(USB)接口而电性连接至电子装置205的装置,然而,这并非是本申请的限制,闪存装置210例如可以是USB闪存装置(USBflash device,UFD)并包括有闪存控制器2101与闪存2102。
图3和图4绘示了图2所示的实施例由该批量生产软件工具MP所执行以验证一电子装置是否是一有效的闪存初始化装置以便决定是否初始化包括闪存控制器的闪存装置的方法/程序的流程图。步骤的详细说明如下:
步骤305:开始;
步骤310:制造商的操作员等用户手动启动或开始运作该批量生产软件工具MP以在电子装置205的中央处理单元2051上运行该批量生产软件工具MP;
步骤315:批量生产软件工具MP取得或载入一加密的组态档案;
步骤320:批量生产软件工具MP对该加密的组态档案进行解密以产生一临时解密的组态档案;
步骤325:批量生产软件工具MP从该临时解密的组态档案中取得并载入一创建日期信息;
步骤330:批量生产软件工具MP从因特网(Internet)获取或得到一网络时钟时间,以及得到电子装置205的一系统时钟时间;
步骤335:批量生产软件工具MP判断电子装置205是否有连接到因特网;如果电子装置205有连接到因特网,则流程进入步骤340A,否则,流程进入步骤340B;
步骤340A:批量生产软件工具MP将创建日期信息与网络时钟时间进行比较,以决定创建日期信息是否过期;如果创建日期信息已经过期,则流程进行步骤345,否则,流程进行步骤350;
步骤340B:批量生产软件工具MP将创建日期信息与系统时钟时间进行比较,以决定创建日期信息是否过期;如果创建日期信息已经过期,则流程进行步骤345,否则,流程进行步骤350;
步骤345:关闭该批量生产软件工具MP,亦即不执行该批量生产软件工具MP;
步骤350:批量生产软件工具MP取得记录于电子装置205中的注册时间信息,该注册时间信息例如储存于内存2052中;
步骤355:批量生产软件工具MP将创建日期信息与注册时间信息进行比较,以决定创建日期信息是否过期;如果创建日期信息已经过期,则流程进行步骤345,否则,流程进行步骤360;
步骤360:批量生产软件工具MP获得该电子装置205的相应的独特信息;
步骤365:批量生产软件工具MP将电子装置205的相应的独特信息与该解密后/译码后组态档案的信息进行比较,以决定电子装置205的相应的独特信息是否存在于该解密后/解码后组态档案中;如果存在,流程进行步骤370,否则流程进行步骤345;
步骤370:清空闪存2102的多个系统区块;
步骤375:对闪存2102的所有区块进行预测试(pretest);
步骤380:建立多个信息对照表;
步骤385:通过USB接口将ISP固件从电子装置205下载至闪存2102;
步骤390:对闪存2102的多个数据区块进行格式化操作;
步骤392:完成批量生产软件工具MP的执行并于注册时间信息中保存/记录一总使用时间;以及
步骤394:结束。
举例来说,该批量生产软件工具MP的加密的组态档案是通过使用INI文件格式所实现的,该INI文件格式是某些计算机平台或软件程序的组态档案的非正式标准,该加密的组态档案不容易被其他人或一闪存制造商所破解,因此,创建日期信息和加密后/编码后组态档案的信息是不容易被修改的。
在用户手动启动该批量生产软件工具MP(步骤310)以在中央处理单元2051上运行该批量生产软件工具MP之后,该批量生产软件工具MP被安排用来载入其加密的组态档案(步骤315)并接着解密该档案以产生该临时解密的组态档案(步骤320),而从该临时解密的组态档案中,该批量生产软件工具MP可以获取到制造商105的一或多个有效/被授权的电子装置PC_1~PC_N的相应的独特信息以及获取到与该独特信息有关的相应创建日期信息,每个有效/被授权的电子装置的相应的独特信息例如包括中央处理单元识别的信息(CPUID)、介质访问控制(MAC)地址及硬盘序列号中的至少一个(但不限于此)。
该批量生产软件工具MP于步骤325加载所有有效/被授权的电子装置的创建日期信息,而批量生产软件工具MP于步骤330时尝试从因特网获得网络时钟时间以及电子装置205的系统时钟时间,接着批量生产软件工具MP于步骤335判断电子装置205是否可以连接到因特网。
该批量生产软件工具MP于步骤340A通过将创建日期信息与来自因特网的网络时钟时间进行比较以决定创建日期信息是否过期,来判断制造商105的授权是否有过期,如果创建日期信息已过期,则批量生产软件工具MP会判定电子装置205的授权已过期,实作上,例如,批量生产软件工具MP会判断电子装置205是否连接到因特网,而如果电子装置当前已连接到因特网,则接着将创建日期信息与网络时钟时间的日期进行比较,以判断创建日期信息与网络时钟时间之间的一时间间隔是否长于一授权时间间隔(例如三个月),而如果该时间间隔长于该授权时间间隔,则批量生产软件工具MP将会结束,并将不执行闪存装置210的初始化,反的,如果该时间间隔短于该授权时间间隔,则该批量生产软件工具MP被安排执行其他的验证步骤。
相似地,批量生产软件工具MP于步骤340B通过将创建日期信息与电子装置205本身的系统时钟时间进行比较以判断创建日期信息是否过期来判断对制造商105的授权是否过期,如果创建日期信息已过期,则批量生产软件工具MP会判定电子装置205的授权已过期,实作上,例如,批量生产软件工具MP会判断电子装置205是否连接到因特网,并且如果电子装置205无法连接到因特网,则接着将创建日期信息与系统时钟时间的日期进行比较,以判断创建日期信息与系统时钟时间之间的一时间间隔是否长于一授权时间间隔(例如三个月),如果该时间间隔长于授权时间间隔,则批量生产软件工具MP将会结束,并且将不执行闪存装置210的初始化,反的,如果时间间隔短于授权时间间隔,则批量生产软件工具MP被安排执行其他的验证步骤。
批量生产软件工具MP于步骤350被安排从电子装置205中取得注册信息,以便获得注册日期信息,该注册日期信息用来记录或标示由该电子装置205所执行的批量生产软件工具MP的总使用时间(如果电子装置205已被授权),例如,如果电子装置205已经被授权,则注册日期信息可以记录在电子装置205上执行批量生产软件工具MP所消耗的总小时数或总分钟数,实作上,于第一次在电子装置205上执行批量生产软件工具MP之前,注册日期信息的内容是空的,对于工具MP的第一次执行,在被启动后的批量生产软件工具MP可以记录一第一时间,并在关闭/停用(或是工具MP的执行完成)时记录一第二时间,工具MP基于第一时间和第二时间来计算在电子装置上第一次执行该工具MP消耗了多少小时数/分钟数,以计算得到以小时为单位的一第一值,接着该工具MP会将注册日期信息更新为所计算出的第一值。
对于第二次执行,启动后的批量生产软件工具MP亦记录一第一时间以及在关闭/停用(或工具MP的执行完成)时记录一第二时间,工具MP基于第一时间和第二时间来计算在电子装置上第二次执行该工具MP消耗了多少小时数/分钟数,以计算得到以小时为单位的一第二值,接着工具MP将注册日期信息更新为所计算的第二值再加上前述该第一值的数值,亦即该注册日期信息是被累计的。
批量生产软件工具MP于步骤355被安排用来判断该注册日期信息目前所记录的数值是否大于与该创建日期信息相对应的一总授权使用时间值(以小时/分钟为单位),以便进一步判断该创建日期信息是否过期,如果该注册日期信息目前所记录的数值大于总授权使用时间值(例如150,亦即150小时,但不限于此),则批量生产软件工具MP会关闭或停用执行,而如果该注册日期信息目前所记录的数值小于总授权使用时间值,则批量生产软件工具MP会被安排执行其他的验证步骤。
批量生产软件工具MP于步骤360被安排用来取得电子装置205的中央处理单元识别、MAC地址、硬盘序列号等中的至少其中一个,以计算或得到电子装置205的相应的独特信息。
接着,批量生产软件工具MP于步骤365判断该解密后组态档案中所记录的任何独特信息是否与该电子装置205的相应的独特信息相匹配,实作上,由闪存控制器供货商所产生的加密的组态档案中所记录的独特信息是具有例如16个字节(但不限于此)的编码后/加密后数据序列,并且解密后组态档案中的相应的独特信息可以包括以下信息:一个有效/被授权装置的中央处理单元识别、MAC地址、硬盘序列号等中的其中至少一个,批量生产软件工具MP被安排取得电子装置205的相同类型信息,例如,批量生产软件工具MP取得电子装置205的中央处理单元识别、MAC地址及硬盘序列号,接着批量生产软件工具MP比较这两组信息以判断这两组信息是否相同,以便决定电子装置205是否为有效/被授权的装置。
如果相匹配,则批量生产软件工具MP会被安排开始执行闪存的初始化,否则,批量生产软件工具MP会被安排判定该闪存的初始化失败并关闭或停用执行。
对于闪存执行,批量生产软件工具MP于步骤370被安排通过总线、接口电路2053与USB接口,从中央处理单元2051发送一命令至闪存控制器2101,以控制闪存控制器2101清空闪存2102的所有系统区块,举例来说,控制器2101清除逻辑区块地址(logical blockaddressing,LBA)的映射。
接着,批量生产软件工具MP于步骤375控制该控制器2101执行一预测试操作来扫描闪存2102中的所有区块,举例来说,对于每一区块,控制器2101被安排扫描该每一区块时是通过将数据写入每一区块中、接着从每一区块中读取数据、接着比较所读取的数据和所写入的数据以决定该每一区块是否可以被正确存取,以决定该每一区块是否是一个好的区块或是一个损坏的区块,控制器2101在该预测试操作期间被安排用来将每一区块的好的/损坏的区块块的结果记录于闪存2102中。
批量生产软件工具MP于步骤380控制该控制器2101建立一或多个相应的对照表,该一或多个相应的对照表包括有一好/坏区块对照表表、储存页大小对照表、区块个数对照表及/或其他对照表(但不限于此),例如,控制器2101被安排收集记录于闪存2102中的所有好/坏区块的结果,以产生并建立好/坏区块对照表,接着将好/坏区块对照表储存于闪存2102中。
接着,在已经建立了相应的对照表并将其记录在闪存2102中之后,批量生产软件工具MP步骤385通过USB接口来传输一系统内编程(In-System Programming,ISP)固件的数据至控制器2101,而控制器2101被安排用来将ISP固件转送至闪存2102,控制器2101是使用ISP固件来存取与管理闪存2102,接着,控制器2101被重新启动以识别、读取及使用储存或记录于闪存2102中的ISP固件。
批量生产软件工具MP于步骤390通过向控制器2101发送一格式化命令来控制该控制器2101以对闪存2102的多个数据区块执行一格式化操作,该格式化命令例如是Windows系统中的格式化命令,而在该格式化操作完成之后,该闪存初始化即成功完成(步骤392),此时闪存初始化流程结束。
在其他实施例,本申请的方法/程序可以通过只比较电子装置的独特信息而不比较创建日期信息与特定时间信息来验证该电子装置是否为一有效/被授权的装置,此实施变型并非是本申请的限制。另外,在其他实施例,也可以将比较电子装置的独特信息的步骤的顺序与比较创建日期信息和特定时间信息的步骤的顺序进行交换。
此外,基于以上的描述,应当理解,本申请的各种实施例包括有以公式为基础的文件保留(formula-based document retention)的方法、电子装置/装置及计算机可读取媒体。以上的说明、实施例和数据提供了对本申请的组成的制造和使用的完整描述,在不脱离本申请的技术范围的情况下,均可以实现出本申请的多个实施例。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种使用电子装置来启动批量生产软件工具以初始化包括闪存控制器与闪存的闪存装置的方法,所述闪存装置将经由通用串行总线接口耦接至所述电子装置,以及所述方法包含:
使用所述批量生产软件工具取得所述批量生产软件工具所包含的加密的组态档案;
解密所述加密的组态档案以产生临时解密的组态档案;
从所述临时解密的组态档案中获取创建日期信息;
比较所述创建日期信息内所包括的时间信息与特定时间信息,以判断所述创建日期信息是否过期;
当所述创建日期信息未过期时,比较所述电子装置的独特信息与所述临时解密的组态档案中所记录的独特信息,以判断所述电子装置是否为有效/被授权;以及
当所述电子装置为有效/被授权时,对所述闪存执行闪存初始化操作,所述闪存初始化操作包括使用所述批量生产软件工具以通过所述通用串行总线接口来控制所述闪存控制器,用以:
清除所述闪存的系统区块;
对所述闪存的所有区块进行预测试操作;
根据所述预测试操作的结果,建立信息对照表;
通过所述通用串行总线接口与所述闪存控制器,将所述批量生产软件工具所包含的固件从所述电子装置下载至所述闪存;以及
对所述闪存的多个数据区块执行格式化操作。
2.如权利要求1所述的方法,其特征在于,所述特定时间信息包含来自因特网的网络时钟时间、所述电子装置的系统时钟时间以及记录于所述电子装置中的注册时间信息的其中至少一个。
3.如权利要求1所述的方法,其特征在于,所述电子装置的所述独特信息包含所述电子装置的中央处理单元识别、介质访问控制地址及硬盘序列号中的其中至少一个。
4.一种使用电子装置来启动批量生产软件工具以初始化包括闪存控制器与闪存的闪存装置的方法,所述闪存装置将经由通用串行总线接口耦接至所述电子装置,以及所述方法包含有:
使用所述批量生产软件工具取得所述批量生产软件工具所包含的加密的组态档案;
解密所述加密的组态档案,产生临时解密的组态档案;
比较所述电子装置的独特信息与所述临时解密的组态档案中所记录的独特信息,以判断所述电子装置是否为有效/被授权;以及
当所述电子装置为有效/被授权时,对所述闪存执行闪存初始化操作,所述闪存初始化操作包括使用所述批量生产软件工具通过所述通用串行总线接口来控制所述闪存控制器,用以:
清除所述闪存的系统区块;
对所述闪存的所有区块进行预测试操作;
基于所述预测试操作的结果,建立信息对照表;
通过所述通用串行总线接口与所述闪存控制器将所述批量生产软件工具所包含的固件从所述电子装置下载至所述闪存;以及
对所述闪存的多个数据区块执行格式化操作。
5.如权利要求4所述的方法,其特征在于,所述电子装置的所述独特信息包括所述电子装置的中央处理单元识别、介质访问控制地址及硬盘序列号中的至少其中一个。
6.一种用来启动批量生产软件工具以初始化包括闪存控制器和闪存的闪存装置的电子装置,所述闪存装置将经由通用串行总线接口耦接至所述电子装置,以及所述电子装置包含有:
内存,用于储存所述批量生产软件工具;以及
处理单元,耦接至所述内存,用来:
使用所述批量生产软件工具以取得所述批量生产软件工具所包含的加密的组态档案;
解密所述加密的组态档案,以产生临时解密的组态档案;
比较所述电子装置的独特信息与所述临时解密的组态档案中所记录的独特信息,以判断所述电子装置是否为有效/被授权;以及
当所述电子装置为有效/被授权时,对所述闪存执行闪存初始化操作,所述闪存初始化操作包括使用所述批量生产软件工具通过所述通用串行总线接口来控制所述闪存控制器,用以:
清除所述闪存的系统区块;
对所述闪存的所有区块进行预测试操作;
基于所述预测试操作的结果来建立信息对照表;
通过所述通用串行总线接口与所述闪存控制器,将所述批量生产软件工具所包含的固件从所述电子装置下载至所述闪存;以及
对所述闪存的多个数据区块执行格式化操作。
7.如权利要求6所述的电子装置,其特征在于,所述电子装置的所述独特信息包括所述电子装置的中央处理单元识别、介质访问控制地址及硬盘序列号中的至少其中一个。
8.一种用来启动批量生产软件工具以初始化包括闪存控制器与闪存的闪存装置的电子装置,所述闪存装置将经由通用串行总线接口耦接至所述电子装置,以及所述电子装置包含有:
内存,用来储存所述批量生产软件工具;以及
处理单元,耦接至所述内存,用来:
使用所述批量生产软件工具以取得所述批量生产软件工具所包含的加密的组态档案;
解密所述加密的组态档案,产生临时解密的组态档案;
从所述临时解密的组态档案中获取创建日期信息;
比较所述创建日期信息中所包括的时间信息与特定时间信息,以判断所述创建日期信息是否过期;
在所述创建日期信息未过期时,比较所述电子装置的独特信息与所述临时解密的组态档案中所记录的独特信息,以判断所述电子装置是否为有效/被授权;以及
当所述电子装置为有效/被授权时,对所述闪存执行闪存初始化操作,所述闪存初始化操作包括使用所述批量生产软件工具通过所述通用串行总线接口来控制所述闪存控制器,用以:
清除所述闪存的系统区块;
对所述闪存的所有区块进行预测试操作;
基于所述预测试操作的结果来建立信息对照表;
通过所述通用串行总线接口与所述闪存控制器,将所述批量生产软件工具所包含的固件从所述电子装置下载至所述闪存;以及
对所述闪存的多个数据区块执行格式化操作。
9.如权利要求8所述的电子装置,其特征在于,所述特定时间信息包括有来自因特网的网络时钟时间、所述电子装置的系统时钟时间以及记录在所述电子装置中的注册时间信息中的至少其中一个。
10.如权利要求8所述的电子装置,其特征在于,所述电子装置的所述独特信息包括有所述电子装置的中央处理单元识别、介质访问控制地址及硬盘序列号中的至少其中一个。
11.一种储存有多笔计算机可执行指令的计算机可读取媒体,所述计算机可读取媒体在由计算机执行时是用来启动批量生产软件工具以初始化包括闪存控制器与闪存的闪存装置,所述闪存装置将通过通用串行总线接口而耦接至所述电子装置,所述计算机可读取媒体令所述计算机用来:
使用所述批量生产软件工具以取得所述批量生产软件工具所包含的加密的组态档案;
解密所述加密的组态档案,以产生临时解密的组态档案;
比较所述电子装置的独特信息与所述临时解密的组态档案中所记录的独特信息,以判断所述电子装置是否为有效/被授权;以及
当所述电子装置为有效/被授权时,对所述闪存执行闪存初始化操作,所述闪存初始化操作包括使用所述批量生产软件工具通过所述通用串行总线接口来控制所述闪存控制器,用以:
清除所述闪存的系统区块;
对所述闪存的所有区块进行预测试操作;
基于所述预测试操作的结果来建立信息对照表;
通过所述通用串行总线接口与所述闪存控制器,将所述批量生产软件工具所包含的固件从所述电子装置下载至所述闪存;以及
对所述闪存的多个数据区块执行格式化操作。
12.如权利要求11所述的计算机可读取媒体,其特征在于,所述电子装置的所述独特信息包括有所述电子装置的中央处理单元识别、介质访问控制地址及硬盘序列号中的至少其中一个。
13.一种储存有多笔计算机可执行指令的计算机可读取媒体,所述计算机可读取媒体在被计算机执行时是用来启动批量生产软件工具以初始化包括闪存控制器与闪存的闪存装置,所述闪存装置将通过通用串行总线接口而耦接至所述电子装置,所述计算机可读取媒体令所述计算机用来:
使用所述批量生产软件工具以取得所述批量生产软件工具所包含的加密的组态档案;
解密所述加密的组态档案,以产生临时解密的组态档案;
从所述临时解密的组态档案中获取创建日期信息;
比较所述创建日期信息中所包括的时间信息与特定时间信息,以判断所述创建日期信息是否过期;
在所述创建日期信息未过期时,比较所述电子装置的独特信息与所述临时解密的组态档案中所记录的独特信息,以判断所述电子装置是否为有效/被授权;以及
当所述电子装置为有效/被授权时,对所述闪存执行闪存初始化操作,所述闪存初始化操作包括使用所述批量生产软件工具通过所述通用串行总线接口来控制所述闪存控制器,用以:
清除所述闪存的系统区块;
对所述闪存的所有区块进行预测试操作;
基于所述预测试操作的结果来建立信息对照表;
通过所述通用串行总线接口与所述闪存控制器,将所述批量生产软件工具所包含的固件从所述电子装置下载至所述闪存;以及
对所述闪存的多个数据区块执行格式化操作。
14.如权利要求13所述的计算机可读取媒体,其特征在于,所述特定时间信息包括有来自因特网的网络时钟时间、所述电子装置的系统时钟时间以及记录在所述电子装置中的注册时间信息中的至少其中一个。
15.如权利要求13所述的计算机可读取媒体,其特征在于,所述电子装置的所述独特信息包括有所述电子装置的中央处理单元识别、介质访问控制地址及硬盘序列号中的至少其中一个。
CN202010513700.6A 2019-08-14 2020-06-08 批量生产软件工具的电子装置、方法与计算机可读取媒体 Active CN112394967B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/541,117 US11157624B2 (en) 2019-08-14 2019-08-14 Scheme of using electronic device to activate mass production software tool to initialize memory device including flash memory controller and flash memory
US16/541,117 2019-08-14

Publications (2)

Publication Number Publication Date
CN112394967A true CN112394967A (zh) 2021-02-23
CN112394967B CN112394967B (zh) 2023-08-08

Family

ID=74567332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010513700.6A Active CN112394967B (zh) 2019-08-14 2020-06-08 批量生产软件工具的电子装置、方法与计算机可读取媒体

Country Status (3)

Country Link
US (2) US11157624B2 (zh)
CN (1) CN112394967B (zh)
TW (1) TWI749523B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11157624B2 (en) * 2019-08-14 2021-10-26 Silicon Motion, Inc. Scheme of using electronic device to activate mass production software tool to initialize memory device including flash memory controller and flash memory

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1898625A (zh) * 2004-02-09 2007-01-17 松下电器产业株式会社 许可信息管理设备和许可信息管理方法
CN101097551A (zh) * 2006-08-23 2008-01-02 晶天电子(深圳)有限公司 带有闪存控制器的电子数据闪存卡
US20080147964A1 (en) * 2004-02-26 2008-06-19 Chow David Q Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function
US20100070693A1 (en) * 2005-10-13 2010-03-18 Sandisk Corporation Initialization of flash storage via an embedded controller
CN102033820A (zh) * 2009-09-29 2011-04-27 北京爱国者存储科技有限责任公司 闪存装置及网络认证方法
CN106328203A (zh) * 2015-07-03 2017-01-11 力晶科技股份有限公司 闪存装置及其编程操作的初始化方法
CN108304698A (zh) * 2018-01-25 2018-07-20 深圳市广和通无线股份有限公司 产品授权使用方法、装置、计算机设备和存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030518A (ja) 2002-06-28 2004-01-29 Murata Mach Ltd 電子機器のプログラム・データ更新方法及びデータ読み出し方法
US7272500B1 (en) * 2004-03-25 2007-09-18 Avaya Technology Corp. Global positioning system hardware key for software licenses
CN101068441B (zh) * 2007-06-25 2010-06-09 华为技术有限公司 许可认证方法、认证中心和认证系统
US8452967B2 (en) * 2007-08-31 2013-05-28 Microsoft Corporation Using flash storage device to prevent unauthorized use of software
US8112682B2 (en) * 2009-04-23 2012-02-07 Sandisk Il Ltd Method and device for bad-block testing
TWI448967B (zh) 2011-07-11 2014-08-11 Wistron Neweb Corp 軟體更新方法與電腦可讀取媒體
US9767298B2 (en) * 2012-01-12 2017-09-19 Sony Corporation Information storage device, information processing system, information processing method, and program
US9128822B2 (en) * 2012-06-22 2015-09-08 Winbond Electronics Corporation On-chip bad block management for NAND flash memory
US20150134534A1 (en) * 2013-11-14 2015-05-14 Clarence Edwin Lai Software Protection Method for Preventing Unauthorized Usage
KR102188062B1 (ko) * 2014-02-28 2020-12-07 삼성전자 주식회사 데이터 저장 장치의 동작 방법과 상기 데이터 저장 장치를 포함하는 시스템의 동작 방법
JP2015203901A (ja) * 2014-04-11 2015-11-16 キヤノン株式会社 管理システム、情報処理装置、管理サーバ、それらの制御方法、およびプログラム
JP6314859B2 (ja) 2015-01-28 2018-04-25 株式会社デンソー 電子制御装置及びソフトウェア書き換えシステム
US10372104B2 (en) * 2015-02-27 2019-08-06 Rockwell Automation Technologies, Inc. Industrial automation control system content protection
CN109891823B (zh) * 2017-02-13 2022-02-11 惠普发展公司,有限责任合伙企业 用于凭证加密的方法、系统以及非暂态计算机可读介质
TWI634561B (zh) * 2017-03-24 2018-09-01 群聯電子股份有限公司 資料保護方法、記憶體儲存裝置及記憶體控制電路單元
CN108877858B (zh) * 2017-05-10 2021-02-19 慧荣科技股份有限公司 储存装置以及刷新方法
CN107169344B (zh) 2017-05-10 2020-04-21 威盛电子股份有限公司 阻挡非授权应用程序的方法以及使用该方法的装置
US11218322B2 (en) * 2017-09-28 2022-01-04 Intel Corporation System and method for reconfiguring and deploying soft stock-keeping units
TWI656531B (zh) * 2018-04-11 2019-04-11 群聯電子股份有限公司 平均磨損方法、記憶體控制電路單元與記憶體儲存裝置
US20190347383A1 (en) * 2018-05-12 2019-11-14 Ching-Ming Lai Software Protection Method Based on A License File
JP6977740B2 (ja) * 2019-02-22 2021-12-08 横河電機株式会社 コンピュータシステム、コンピュータ装置およびライセンス管理方法
US11157624B2 (en) * 2019-08-14 2021-10-26 Silicon Motion, Inc. Scheme of using electronic device to activate mass production software tool to initialize memory device including flash memory controller and flash memory

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1898625A (zh) * 2004-02-09 2007-01-17 松下电器产业株式会社 许可信息管理设备和许可信息管理方法
US20080147964A1 (en) * 2004-02-26 2008-06-19 Chow David Q Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function
US20100070693A1 (en) * 2005-10-13 2010-03-18 Sandisk Corporation Initialization of flash storage via an embedded controller
CN101097551A (zh) * 2006-08-23 2008-01-02 晶天电子(深圳)有限公司 带有闪存控制器的电子数据闪存卡
CN102033820A (zh) * 2009-09-29 2011-04-27 北京爱国者存储科技有限责任公司 闪存装置及网络认证方法
CN106328203A (zh) * 2015-07-03 2017-01-11 力晶科技股份有限公司 闪存装置及其编程操作的初始化方法
CN108304698A (zh) * 2018-01-25 2018-07-20 深圳市广和通无线股份有限公司 产品授权使用方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
TW202107322A (zh) 2021-02-16
US20220004638A1 (en) 2022-01-06
TWI749523B (zh) 2021-12-11
CN112394967B (zh) 2023-08-08
US11157624B2 (en) 2021-10-26
US20210049278A1 (en) 2021-02-18

Similar Documents

Publication Publication Date Title
US7320126B2 (en) Implementation of in system programming to update firmware on memory cards
TW480443B (en) Virus resistant and hardware independent method of flashing system BIOS
US20200218466A1 (en) Method of operating data storage device
US8589669B2 (en) Data protecting method, memory controller and memory storage device
US8996933B2 (en) Memory management method, controller, and storage system
TWI451248B (zh) 資料保護方法、記憶體控制器與記憶體儲存裝置
US8255656B2 (en) Storage device, memory controller, and data protection method
US8667242B2 (en) Data access method and system, storage medium controller and storage system
CN113316761B (zh) 自格式化数据存储设备
US20060224821A1 (en) System for parallel updating flash memory and method for the same
US20110231621A1 (en) System recovery method, and storage medium controller and storage system using the same
CN107844305A (zh) 嵌入式设备的软件升级方法及嵌入式设备
CN112394967B (zh) 批量生产软件工具的电子装置、方法与计算机可读取媒体
TWI493341B (zh) 記憶體儲存裝置及其修復方法
CN112231649A (zh) 一种固件加密处理方法、装置、设备及介质
TWI454908B (zh) 記憶體組態方法、記憶體控制器與記憶體儲存裝置
KR102213665B1 (ko) 인증 프로그램을 갖는 메모리 카드, 그것을 포함하는 스토리지 시스템, 및 그것의 동작 방법
JP6999679B2 (ja) データ消去方法および装置
TWI451250B (zh) 記憶體組態方法、記憶體控制器與記憶體儲存裝置
TWI417888B (zh) An embedded chip system, a method for burning a wafer, and a computer program product
CN118295583A (zh) 存储器装置的配置管理的方法、存储器控制器、存储器装置、电子装置、主机装置以及电脑可读介质
CN102736982B (zh) 内存组态方法、内存控制器与内存储存装置
TWI817645B (zh) 藉助於相容性管理來進行在預定通訊架構中的記憶體裝置的通訊規範版本控制的方法、記憶體裝置、電子裝置、記憶體裝置的記憶體控制器、以及計算機可讀媒體
US20220011975A1 (en) Method and apparatus and computer program product for configuring reliable command
TWI566182B (zh) 儲存裝置管理方法與系統及其記憶體儲存裝置

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
GR01 Patent grant
GR01 Patent grant