CN112527329A - Mass production method and system of solid-state storage device, terminal device and storage medium - Google Patents

Mass production method and system of solid-state storage device, terminal device and storage medium Download PDF

Info

Publication number
CN112527329A
CN112527329A CN202011480592.3A CN202011480592A CN112527329A CN 112527329 A CN112527329 A CN 112527329A CN 202011480592 A CN202011480592 A CN 202011480592A CN 112527329 A CN112527329 A CN 112527329A
Authority
CN
China
Prior art keywords
solid
state storage
storage device
program
mass production
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
CN202011480592.3A
Other languages
Chinese (zh)
Other versions
CN112527329B (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.)
SHENZHEN SILICONGO MICROELECTRONICS CO Ltd
Original Assignee
SHENZHEN SILICONGO MICROELECTRONICS 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 SHENZHEN SILICONGO MICROELECTRONICS CO Ltd filed Critical SHENZHEN SILICONGO MICROELECTRONICS CO Ltd
Priority to CN202011480592.3A priority Critical patent/CN112527329B/en
Publication of CN112527329A publication Critical patent/CN112527329A/en
Application granted granted Critical
Publication of CN112527329B publication Critical patent/CN112527329B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Manufacturing & Machinery (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • General Factory Administration (AREA)
  • Testing Of Individual Semiconductor Devices (AREA)

Abstract

The invention discloses a mass production method and system of solid-state storage equipment, terminal equipment and a computer storage medium, wherein a preset scheduling program and each preset execution program are simultaneously written into the solid-state storage equipment based on a preset mass production tool; controlling the preset scheduling program to schedule each preset execution program to open the card of the solid-state storage device; and after detecting that the card opening of the solid-state storage equipment is completed, performing systematic test on the solid-state storage equipment to complete the mass production of the solid-state storage equipment. The invention simultaneously writes the scheduling program and the execution programs for opening the card to automatically schedule the program to execute the card opening process, can avoid the operation of manually repeatedly plugging and unplugging the solid-state storage device, not only realizes the automatic mass production of the solid-state storage device and improves the productivity, but also reduces the dependence of the mass production process on the manual work, thereby reducing the overall production cost.

Description

Mass production method and system of solid-state storage device, terminal device and storage medium
Technical Field
The present invention relates to the field of data storage technologies, and in particular, to a mass production method and system for a solid-state storage device, a terminal device, and a computer storage medium.
Background
The production of solid-state storage devices on the market at present requires a series of complex production processes, and these processes often require manual intervention. For example, in the mass production process of the solid-state storage device, a worker often needs to repeatedly and manually transfer and plug the same solid-state storage device, so that the solid-state storage device performs various production and test operations under specific conditions, thus, the production of the solid-state storage device needs to consume a lot of time, the productivity of the solid-state storage device is low, and in addition, under the condition that the number of the generated solid-state storage devices is huge, more workers need to be correspondingly arranged to perform the manual operation, thereby increasing the overall production cost of the solid-state storage device.
The scheme provides a strategy capable of automatically opening cards, testing and producing in quantity, so that the cost of manual participation can be saved.
In summary, the conventional solid-state storage device has a high dependence on manual procedures, and the whole production process has low productivity and requires very high production cost.
Disclosure of Invention
The invention mainly aims to provide a mass production method and system of solid-state storage equipment, terminal equipment and a computer storage medium, and aims to realize automatic production of the solid-state storage equipment, improve the capacity of the solid-state storage equipment and reduce the overall production cost.
In order to achieve the above object, the present invention provides a mass production method of a solid-state storage device, including:
simultaneously writing a preset scheduling program and each preset execution program in the solid-state storage equipment based on a preset volume production tool;
controlling the preset scheduling program to schedule each preset execution program to open the card of the solid-state storage device;
and after detecting that the card opening of the solid-state storage equipment is completed, performing systematic test on the solid-state storage equipment to complete the mass production of the solid-state storage equipment.
Further, the preset execution program includes: a physical block scanning program and a dynamic code writing program,
the step of controlling the preset scheduling program to schedule each preset execution program to execute card opening on the solid-state storage device includes:
determining a mass production state of the solid-state storage device;
controlling the preset scheduling program to schedule the physical block scanning program to execute corresponding card opening operation on the solid-state storage device according to the mass production state; or,
and controlling the preset scheduling program to schedule the dynamic code writing program to execute corresponding card opening operation on the solid-state storage equipment according to the mass production state.
Further, the card opening operation comprises: the bad physical block is scanned for,
the step of controlling the preset scheduling program to schedule the physical block scanning program to execute corresponding card opening operation on the solid-state storage device according to the volume production state includes:
and controlling the preset scheduling program to schedule the physical block scanning program to execute a card opening operation of scanning the bad physical blocks aiming at the solid-state storage device when the solid-state storage device does not perform physical block scanning.
Further, the card opening operation further comprises: the dynamic code is written in the dynamic code,
the step of controlling the preset scheduling program to schedule the dynamic code writing program to execute corresponding card opening operation on the solid-state storage device according to the volume production state comprises the following steps:
and controlling the preset scheduling program to schedule the dynamic code writing program to execute the card opening operation of writing dynamic codes for the solid-state storage equipment when the solid-state storage equipment finishes physical block scanning.
Further, the step of determining the mass production state of the solid-state storage device includes:
receiving a state prompt output by the solid-state storage device;
and determining the current mass production state of the solid-state storage equipment according to the state prompt.
Further, the step of writing the preset scheduling program and each preset execution program in the solid-state storage device simultaneously based on the preset volume production tool includes:
when detecting that the physical block scanning program is written in the solid-state storage device, writing the dynamic code writing program and the preset scheduling program in the solid-state storage device at the same time.
Further, after it is detected that the card opening of the solid-state storage device is completed, the step of performing a systematic test on the solid-state storage device to complete the mass production of the solid-state storage device includes:
detecting a status prompt output by the solid-state storage device based on executing card opening to determine whether the card opening of the solid-state storage device is completed;
if yes, performing systematic testing on the solid-state storage device, and determining that the mass production of the solid-state storage device is completed when the solid-state storage device passes the systematic testing.
In addition, to achieve the above object, the present invention also provides a mass production system of a solid-state storage device, including:
the program writing module is used for simultaneously writing a preset scheduling program and each preset execution program in the solid-state storage equipment based on a preset volume production tool;
the scheduling module is used for controlling the preset scheduling program to schedule each preset execution program to open the card of the solid-state storage device;
and the test module is used for performing systematic test on the solid-state storage equipment after detecting that the card opening of the solid-state storage equipment is completed so as to complete the mass production of the solid-state storage equipment.
When in operation, each functional module of the mass production system of the solid-state storage device of the present invention implements the steps of the mass production method of the solid-state storage device as described above.
In addition, to achieve the above object, the present invention also provides a terminal device, including: a memory, a processor and a mass production program of a solid-state storage device stored on the memory and executable on the processor, the mass production program of a solid-state storage device when executed by the processor implementing the steps of the mass production method of a solid-state storage device as in the above.
Furthermore, to achieve the above object, the present invention also provides a computer storage medium having a computer program stored thereon, which when executed by a processor, implements the steps of the mass production method of the solid-state storage device as described above.
The invention provides a mass production method, a mass production system, terminal equipment and a computer storage medium of solid-state storage equipment, wherein a preset scheduling program and each preset execution program are simultaneously written into the solid-state storage equipment based on a preset mass production tool; controlling the preset scheduling program to schedule each preset execution program to open the card of the solid-state storage device; and after detecting that the card opening of the solid-state storage equipment is completed, performing systematic test on the solid-state storage equipment to complete the mass production of the solid-state storage equipment.
In the mass production process of the solid-state storage device, a preset scheduling program and each preset execution program for opening the card of the solid-state storage device are written into the solid-state storage device based on a preset mass production tool, then the preset scheduling program is controlled to schedule each preset execution program to automatically open the card of the solid-state storage device in the mass production process, and finally, after the solid-state storage device is detected to be completely opened, the solid-state storage device which is completely opened is subjected to systematic test, so that the mass production of the solid-state storage device is completed.
The invention automatically schedules each execution program to open the card for the solid-state storage device based on the scheduling program by simultaneously writing the scheduling program and the execution program for opening the card into the solid-state storage device, and performs final systematic test for the solid-state storage device after the card is opened to complete the mass production of the solid-state storage device. Compared with the traditional mode that various card opening processes and tests are carried out by manually repeatedly plugging and unplugging the solid-state storage device, the method and the device have the advantages that the scheduling program and the execution programs for card opening are written simultaneously to automatically schedule the programs to execute the card opening process, the operation of manually repeatedly plugging and unplugging the solid-state storage device can be avoided, the automatic mass production of the solid-state storage device is realized, the productivity is improved, the dependence of the mass production process on labor is reduced, and the overall production cost is reduced.
Drawings
Fig. 1 is a schematic structural diagram of the hardware operation of a terminal device according to an embodiment of the present invention;
FIG. 2 is a flow chart illustrating a mass production method of a solid-state memory device according to an embodiment of the present invention;
fig. 3 is a schematic block diagram of a mass production system of a solid-state memory device according to the present invention.
The objects, features and advantages of the present invention will be further explained with reference to the accompanying drawings.
Detailed Description
It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
As shown in fig. 1, fig. 1 is a schematic structural diagram of a hardware operating environment related to a terminal device according to an embodiment of the present invention.
It should be noted that fig. 1 is a schematic structural diagram of a hardware operating environment of the terminal device. The terminal device of the embodiment of the invention can be a mass production control terminal of a solid-state storage device, a mobile device using eMMC, a PC, a portable computer and other terminal devices.
As shown in fig. 1, the terminal device may include: a processor 1001, such as a CPU, a network interface 1004, a user interface 1003, a memory 1005, a communication bus 1002. Wherein a communication bus 1002 is used to enable connective communication between these components. The user interface 1003 may include a Display screen (Display), an input unit such as a Keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface, a wireless interface. The network interface 1004 may optionally include a standard wired interface, a wireless interface (e.g., WI-FI interface). The memory 1005 may be a non-volatile memory (e.g., Flash memory), a high-speed RAM memory, or a non-volatile memory (e.g., a disk memory). The memory 1005 may alternatively be a storage device separate from the processor 1001.
Those skilled in the art will appreciate that the terminal device configuration shown in fig. 1 is not intended to be limiting of the terminal device and may include more or fewer components than those shown, or some components may be combined, or a different arrangement of components.
As shown in fig. 1, a memory 1005, which is a kind of computer storage medium, may include therein an operating system, a network communication module, a user interface module, and a distributed task processing program. Among them, the operating system is a program that manages and controls the hardware and software resources of the sample terminal device, a handler that supports distributed tasks, and the execution of other software or programs.
In the terminal apparatus shown in fig. 1, the user interface 1003 is mainly used for data communication with each terminal; the network interface 1004 is mainly used for connecting a background server and performing data communication with the background server; and the processor 1001 may be configured to call a mass production program of the solid-state storage device stored in the memory 1005, and perform the following operations:
simultaneously writing a preset scheduling program and each preset execution program in the solid-state storage equipment based on a preset volume production tool;
controlling the preset scheduling program to schedule each preset execution program to open the card of the solid-state storage device;
and after detecting that the card opening of the solid-state storage equipment is completed, performing systematic test on the solid-state storage equipment to complete the mass production of the solid-state storage equipment.
Further, the preset execution program includes: the processor 1001 may call a mass production program of the solid-state storage device stored in the memory 1005, and further perform the following operations:
determining a mass production state of the solid-state storage device;
and controlling the preset scheduling program to schedule the physical block scanning program or the dynamic code writing program to execute corresponding card opening operation on the solid-state storage device according to the mass production state.
Further, the card opening operation comprises: scanning for bad physical blocks, the processor 1001 may call a volume production program of the solid-state storage device stored in the memory 1005, and further perform the following operations:
and controlling the preset scheduling program to schedule the physical block scanning program to execute a card opening operation of scanning the bad physical blocks aiming at the solid-state storage device when the solid-state storage device does not perform physical block scanning.
Further, the card opening operation further comprises: writing dynamic code, the processor 1001 may call a mass production program of the solid-state storage device stored in the memory 1005, and further perform the following operations:
and controlling the preset scheduling program to schedule the dynamic code writing program to execute the card opening operation of writing dynamic codes for the solid-state storage equipment when the solid-state storage equipment finishes physical block scanning.
Further, the processor 1001 may call a mass production program of the solid-state storage device stored in the memory 1005, and also perform the following operations:
receiving a state prompt output by the solid-state storage device;
and determining the current mass production state of the solid-state storage equipment according to the state prompt.
Further, the processor 1001 may call a mass production program of the solid-state storage device stored in the memory 1005, and also perform the following operations:
when detecting that the physical block scanning program is written in the solid-state storage device, writing the dynamic code writing program and the preset scheduling program in the solid-state storage device at the same time.
Further, the processor 1001 may call a mass production program of the solid-state storage device stored in the memory 1005, and also perform the following operations:
detecting a status prompt output by the solid-state storage device based on executing card opening to determine whether the card opening of the solid-state storage device is completed;
if yes, performing systematic testing on the solid-state storage device, and determining that the mass production of the solid-state storage device is completed when the solid-state storage device passes the systematic testing.
Based on the above structure, various embodiments of the mass production method of the solid-state storage device of the present invention are provided.
Referring to fig. 2, fig. 2 is a flowchart illustrating a mass production method of a solid-state memory device according to a first embodiment of the present invention.
While a logical order is shown in the flow chart, in some cases, the steps shown or described may be performed in an order different than that shown or described herein.
The mass production method of the solid-state storage device in the embodiment of the invention is applied to terminal devices such as the mass production control terminal of the solid-state storage device, and the terminal devices are connected with the solid-state storage device in the mass production process. The terminal device in the embodiment of the present invention may specifically be a data storage medium itself, a mobile terminal, a PC, a portable computer, or other terminal devices, and is not specifically limited herein.
The mass production method of the solid-state storage device comprises the following steps:
step S100, simultaneously writing a preset scheduling program and each preset execution program in the solid-state storage device based on a preset volume production tool;
it should be noted that, in this embodiment, the preset scheduling program is a program that automatically schedules each execution program for performing different card-opening operations on the solid-state storage device in the mass production process of the solid-state storage device, and in the mass production process of the solid-state storage device, the terminal device controls a boot (system boot) program of the solid-state storage device to start running the scheduling program after the solid-state storage device is powered on, so as to automatically schedule corresponding execution programs in different card-opening stages of the solid-state storage device to execute the card-opening operations on the solid-state storage device.
The terminal device executes each preset execution program for executing the card opening operation on the solid-state storage device and automatically schedules each preset execution program to execute the preset scheduling program corresponding to the card opening operation on the solid-state storage device in the mass production process of the solid-state storage device, and writes the preset scheduling programs into the solid-state storage device based on a preset mass production tool.
It should be noted that, in this embodiment, each preset execution program is a plurality of execution programs for executing a card-opening operation on a solid-state storage device in mass production, and the card-opening operation executed by the solid-state storage device based on the plurality of execution programs can complete all card-opening processes before performing a systematic test in the mass production process. It should be understood that, based on different design requirements of practical applications, different card-opening operations may need to be performed by the solid-state storage device in respective mass production processes of different solid-state storage devices or different mass production processes of the same solid-state storage device, so that the type and number of the preset execution programs may also be different correspondingly in different real-time manners, for example, in other possible implementations, the preset execution programs may further include a scan program (a program for specifically writing program codes into the solid-state storage device, which is one of a flocode (dynamic code analysis) program), a program for creating an algorithm table, and so on. In the following embodiments, the card-open operation "scan bad physical blocks" and "write dynamic codes" that are usually required to be executed before the systematic test is performed in the mass production process of the solid-state storage device are described with respect to the technical solution of the present invention, and the mass production method of the solid-state storage device of the present invention is not specifically limited with respect to the number, the type, and the like of the preset execution program.
Further, in a possible embodiment, the preset execution program includes: the physical block scanning procedure and the dynamic code writing procedure, in step S100, may include:
step S101, when it is detected that the physical block scanning program is currently written in the solid-state storage device based on a preset volume production tool, simultaneously writing the dynamic code writing program and the preset scheduling program in the solid-state storage device based on the preset volume production tool.
It should be noted that, in the present embodiment, the preset mass production tool may be any existing mature solid-state storage device mass production tool. In addition, the solid-state storage device only needs to perform two card opening operations of scanning a bad physical block and writing dynamic code before performing systematic testing. The physical block scanning program is an execution program for executing a first card opening operation on the solid-state storage device in the whole mass production process of the solid-state storage device, and the physical block scanning program may specifically be an RDT (a program for implementing offline scanning on a physical block of the solid-state storage device to find a bad physical block); the dynamic code writing program is an execution program of the card opening operation after the physical block scanning is performed on the solid-state storage device and before the systematic test is executed in the whole mass production process of the solid-state storage device, and the dynamic code writing program may specifically be a flocode program.
It should be understood that, based on different design requirements of practical applications, in other possible embodiments, the solid-state storage device may, of course, perform other card opening operations before performing the systematic test, and may also use other execution programs as the execution program for performing the first card opening operation on the solid-state storage device in the mass production process, and the physical block scanning program may also be specifically other programs that can implement offline scanning on the physical blocks of the solid-state storage device to find out bad physical blocks.
In the process of controlling the solid-state storage device to carry out mass production, if the terminal device detects that a physical block scanning program required for executing a first card opening operation is written into the solid-state storage device through a preset mass production tool at present, the terminal device writes a dynamic code writing program required for executing other card opening operations on the solid-state storage device into the solid-state storage device based on the preset mass production tool at the same time, and automatically schedules a preset scheduling program of the physical block scanning program and the dynamic code writing program.
Specifically, for example, in this embodiment, in the whole process of controlling mass production of the solid-state storage device, the terminal device writes each execution program for executing card opening operations such as scanning of a bad physical block and writing of a dynamic code to the solid-state storage device through an existing mature mass production tool, namely, an mpool (mass production tool for usb disks, the latest version of the mpool supports EMMC5.0, and the latest version of the mpool can format and mass-produce some old-fashioned usb disks), so that, when detecting that an RDT program for executing scanning of a bad physical block is currently being written to the solid-state storage device based on the mass production tool, the terminal device simultaneously writes a floode program for executing writing of a dynamic code to the solid-state storage device based on the mass production tool, namely, and writes a preset call for automatically scheduling the RDT program and the floode program to execute corresponding card opening operations to the solid-state storage device based on the mass production tool, namely, into the solid-state storage device And (5) degree program.
It should be noted that, in this embodiment, when other execution programs are used as the first execution program for executing the card-opening operation on the solid-state storage device in the whole mass production process of the solid-state storage device, the terminal device, when detecting that the other execution programs are currently being written into the solid-state storage device based on the preset mass production tool, writes each execution program required for executing the other card-opening operation on the solid-state storage device and writes a preset scheduling program for automatically scheduling each execution program into the solid-state storage device based on the preset mass production tool.
Step S200, controlling the preset scheduling program to schedule each preset execution program to open the card of the solid-state storage device;
after the terminal device writes each preset execution program and the preset scheduling program into the solid-state storage device based on the preset mass production tool, the terminal device starts to run the preset scheduling program based on system guidance, so that the preset scheduling program is controlled to automatically schedule the execution program corresponding to the current mass production stage from each preset execution program, and corresponding card opening operation is executed on the solid-state storage device.
Further, in a possible embodiment, the step S200 may include:
step S201, determining the mass production state of the solid-state storage device;
after starting the preset scheduling program written into the solid-state storage device based on system boot, the terminal device detects and determines the mass production state of the solid-state storage device in the current mass production stage.
Further, in a possible embodiment, the step S201 may include:
step S2011, receiving a status prompt output by the solid-state storage device;
step S2012, determining a current mass production state of the solid-state storage device according to the state prompt.
It should be noted that, in this embodiment, the status prompt is prompt information that is used for the solid-state storage device to automatically output to a terminal device (or a staff) that controls the solid-state storage device to perform mass production based on a mass production status of a current mass production stage, for example, the solid-state storage device may output different types of electrical signals to the terminal device as prompt information to output the status prompt to the terminal device, or the solid-state storage device may output different types of optical signals or sound signals through a built-in light emitting device or sound emitting device to output the status prompt to the staff.
Specifically, for example, in the whole mass production process of the solid-state storage device, the terminal device writes the RDT program, the flicode program, and the preset scheduling program for automatically scheduling the RDT program and the flicode program to perform the corresponding card opening operation on the solid-state storage device into the solid-state storage device through the mass production tool — mptol, and after the scheduling program is currently running based on boot, the terminal device starts to receive a status prompt — persistent micro-current signal output by the solid-state storage device, so that the terminal device determines that the mass production status of the solid-state storage device is currently: no physical block scan is performed. Or, if a state prompt received by the terminal device and output by the solid-state storage device is an intermittent micro-current signal, the terminal device determines that the current mass production state of the solid-state storage device is: the physical block scan is completed.
Step S202, controlling the preset scheduling program to schedule the physical block scanning program to execute corresponding card opening operation on the solid-state storage device according to the mass production state;
when the terminal device detects that the mass production state of the solid-state storage device in the current mass production stage is determined to be that physical block scanning is not performed, the terminal device controls the written preset scheduling program to schedule a physical block scanning program corresponding to the physical block scanning, so that the card opening operation of scanning the bad physical block is executed for the solid-state storage device based on the physical block scanning program.
Further, in a possible embodiment, the card opening operation includes: scanning the bad physical block, the step S202 may include:
step S2021, controlling the preset scheduling program to schedule the physical block scanning program to execute a card opening operation of scanning a bad physical block for the solid-state storage device when the solid-state storage device does not perform physical block scanning.
Specifically, for example, during the whole mass production process of the solid-state storage device, the terminal device currently starts to run the scheduling program based on boot, and receives a status prompt, namely a continuous micro-current signal, output by the solid-state storage device, so that the terminal device determines that the mass production status of the solid-state storage device is: and after the physical block scanning is not carried out, the terminal equipment immediately controls the scheduling program to automatically schedule a physical block scanning program, namely an RDT program, corresponding to the mass production state without the physical block scanning, and starts to run the RDT program so as to start to execute the card opening operation of scanning the bad physical blocks aiming at the solid-state storage equipment.
Step S203, controlling the preset scheduling program to schedule the dynamic code writing program to execute a corresponding card opening operation on the solid-state storage device according to the mass production state.
When the terminal device detects that the mass production state of the solid-state storage device in the current mass production stage is the physical block scanning completion state, the terminal device controls the written preset scheduling program to schedule the dynamic code writing program corresponding to the physical block scanning completion state, and therefore the card opening operation of the corresponding written dynamic code is executed for the solid-state storage device based on the dynamic code writing program.
Further, in a possible embodiment, the card opening operation further includes: writing dynamic code, the step S203 may include:
step S2031, controlling the preset scheduling program to schedule the dynamic code writing program to execute a card opening operation for writing dynamic codes to the solid-state storage device when the solid-state storage device completes physical block scanning.
Specifically, for example, during the whole mass production process of the solid-state storage device, the terminal device currently starts to run the scheduling program based on boot, and receives a state prompt-discontinuous micro-current signal output by the solid-state storage device, so that the terminal device determines that the mass production state of the solid-state storage device is: after the physical block scanning is finished, the terminal device immediately controls the scheduling program to automatically schedule a dynamic code writing program, namely a Flycode program, corresponding to the mass production state of finishing the physical block scanning, and starts to run the Flycode program so as to start to execute the card opening operation of writing dynamic codes for the solid-state storage device.
Further, in another possible embodiment, after the terminal device schedules the RDT program to perform the card-opening operation of scanning the bad physical blocks on the solid-state storage device based on the scheduler, the RDT program may automatically feed back to the scheduler that the solid-state storage device is currently in the mass production state in which the scanning of the physical blocks is completed after the scanning of the bad physical blocks is completed, so that the scheduler may automatically continue to schedule the dynamic code writing program — the flash program corresponding to the mass production state in which the scanning of the physical blocks is completed, and start to run the flash program to start the card-opening operation of writing the dynamic codes on the solid-state storage device.
And S300, after the solid-state storage device is detected to be opened, performing systematic test on the solid-state storage device to finish the mass production of the solid-state storage device.
The method comprises the steps that the terminal device continuously detects whether all card opening operations of the solid-state storage device before the execution of the systematic test are completed or not in the process that the preset executive program automatically schedules the preset executive program to execute the corresponding card opening operation on the solid-state storage device based on the preset scheduling program, and after the detection determines that the card opening of the solid-state storage device is completed, the terminal device further conducts the systematic test on the solid-state storage device, so that the solid-state storage device is controlled to complete the whole mass production process.
It should be noted that, in this embodiment, the systematic test is a series of tests for controlling, by the terminal device, whether the operations of writing and reading are normal or not, where the operations of writing and reading are performed by the solid-state storage device that has completed the card opening operation, and the tests belong to conventional tests performed before the solid-state storage device is manufactured in mass production in the industry and sold on the market. It should be understood that different test operation contents may be specifically adopted in different embodiments based on different design requirements of practical applications, and the mass production method of the solid-state storage device of the present invention is not specifically limited to the test operation contents of the systematic test.
Further, in a possible embodiment, the step S300 may include:
step S301, detecting a state prompt output by the solid-state storage device based on executing card opening to determine whether the card opening of the solid-state storage device is completed;
the method comprises the steps that a terminal device continuously receives a mass production state of the solid-state storage device based on a current mass production stage and automatically outputs prompt information to the terminal device in the process of automatically scheduling a preset execution program to execute corresponding card opening operation on the solid-state storage device based on a preset scheduling program, so that the terminal device detects and determines whether the mass production state of the solid-state storage device in the current mass production stage is the card opening completion or not based on the prompt information.
Specifically, for example, in the whole mass production process of the solid-state storage device, after the terminal device schedules the dynamic code writing program-the flocode program based on the control scheduler to execute the card opening operation for writing the dynamic code for the solid-state storage device, the solid-state storage device automatically outputs a continuous micro-voltage signal to the terminal device as the status prompt of the current mass production state, so that after receiving the continuous micro-voltage signal, the terminal device immediately determines that all the card opening operations currently executed by the solid-state storage device for performing systematic detection are completed, that is, the solid-state storage device is currently completed by card opening.
In another possible embodiment, if the solid-state storage device outputs an intermittent micro-voltage signal to the terminal device as a status prompt of the current mass production state, after receiving the intermittent micro-voltage signal, the terminal device may determine that all card-opening operations currently executing systematic detection by the solid-state storage device are not completed, so that the terminal device continues to control the scheduler to schedule the execution program corresponding to the current mass production state of the solid-state storage device, so as to automatically execute corresponding card-opening operations (such as creating an algorithm table, etc.) on the solid-state storage device.
Step S302, if yes, performing systematic testing on the solid-state storage device, and determining that the mass production of the solid-state storage device is completed when the solid-state storage device passes the systematic testing.
When the terminal device detects that the mass production state of the solid-state storage device in the current mass production stage is the card opening completion based on the prompt information output by the solid-state storage device, the terminal device immediately controls the solid-state storage device to execute various preset systematic tests, and when the terminal device further detects that the various systematic tests performed by the solid-state storage device pass, the terminal device determines that the mass production of the solid-state storage device is completed.
Further, in another possible embodiment, when it is determined that the mass production state of the solid-state storage device in the current mass production stage is the completion of card opening based on the detection of the prompt information output by the solid-state storage device, the terminal device may further output a prompt to a test terminal device or a worker connected to another special user to control the solid-state storage device to perform a systematic test, so that the test terminal device or the worker takes over the solid-state storage device to control the solid-state storage device to perform various preset systematic tests, and when it is further detected that the various systematic tests performed by the solid-state storage device pass, it is determined that the mass production of the solid-state storage device is completed.
In this embodiment, in the mass production process of the solid-state storage device, the terminal device writes, into the solid-state storage device, the preset execution programs for executing the card-opening operation on the solid-state storage device and the preset scheduling programs for automatically scheduling the preset execution programs to execute the corresponding card-opening operation on the solid-state storage device, based on a preset mass production tool; after the terminal device writes each preset execution program and each preset scheduling program into the solid-state storage device based on the preset mass production tool, the terminal device starts to run the preset scheduling program based on system guidance, so that the preset scheduling program is controlled to automatically schedule the execution program corresponding to the current mass production stage from each preset execution program, and corresponding card opening operation is executed on the solid-state storage device; the method comprises the steps that the terminal device continuously detects whether all card opening operations of the solid-state storage device before the execution of the systematic test are completed or not in the process that the preset executive program automatically schedules the preset executive program to execute the corresponding card opening operation on the solid-state storage device based on the preset scheduling program, and after the detection determines that the card opening of the solid-state storage device is completed, the terminal device further conducts the systematic test on the solid-state storage device, so that the solid-state storage device is controlled to complete the whole mass production process.
The invention automatically schedules each execution program to open the card for the solid-state storage device based on the scheduling program by simultaneously writing the scheduling program and the execution program for opening the card into the solid-state storage device, and performs final systematic test for the solid-state storage device after the card is opened to complete the mass production of the solid-state storage device. Compared with the traditional mode that various card opening processes and tests are carried out by manually repeatedly plugging and unplugging the solid-state storage device, the method and the device have the advantages that the scheduling program and the execution programs for card opening are written simultaneously to automatically schedule the programs to execute the card opening process, the operation of manually repeatedly plugging and unplugging the solid-state storage device can be avoided, the automatic mass production of the solid-state storage device is realized, the productivity is improved, the dependence of the mass production process on labor is reduced, and the overall production cost is reduced.
In addition, referring to fig. 3, an embodiment of the present invention further provides a mass production system of a solid-state storage device, where the mass production system of the solid-state storage device includes:
the program writing module is used for simultaneously writing a preset scheduling program and each preset execution program in the solid-state storage equipment based on a preset volume production tool;
the scheduling module is used for controlling the preset scheduling program to schedule each preset execution program to open the card of the solid-state storage device;
and the test module is used for performing systematic test on the solid-state storage equipment after detecting that the card opening of the solid-state storage equipment is completed so as to complete the mass production of the solid-state storage equipment.
Preferably, the preset execution program includes: the scheduling module comprises a physical block scanning program and a dynamic code writing program, and comprises:
a determination unit configured to determine a mass production state of the solid-state storage device;
the scheduling unit is used for controlling the preset scheduling program to schedule the physical block scanning program to execute corresponding card opening operation on the solid-state storage device according to the mass production state;
the scheduling unit is further configured to control the preset scheduling program to schedule the dynamic code writing program to execute a corresponding card opening operation on the solid-state storage device according to the volume production state.
Preferably, the card opening operation includes: scanning a bad physical block, wherein the scheduling unit comprises:
and the first scheduling subunit is configured to control the preset scheduling program to schedule the physical block scanning program to perform a card opening operation for scanning a bad physical block on the solid-state storage device when the solid-state storage device does not perform physical block scanning.
Preferably, the card opening operation further comprises: writing dynamic code, the scheduling unit further comprising:
and the second scheduling subunit is used for controlling the preset scheduling program to schedule the dynamic code writing program to execute the card opening operation of writing the dynamic code aiming at the solid-state storage device when the solid-state storage device finishes the physical block scanning.
Preferably, the determining unit includes:
the receiving subunit is used for receiving the state prompt output by the solid-state storage device;
and the determining subunit is used for determining the current mass production state of the solid-state storage device according to the state prompt.
Preferably, the program writing module is further configured to, when it is detected that the physical block scanning program is currently being written in the solid-state storage device based on a preset volume production tool, simultaneously write the dynamic code writing program and the preset scheduling program in the solid-state storage device based on the preset volume production tool.
Preferably, the test module comprises:
the detection unit is used for detecting a state prompt output by the solid-state storage device based on the execution of card opening so as to determine whether the card opening of the solid-state storage device is completed;
and the test unit is used for carrying out systematic test on the solid-state storage equipment and determining that the mass production of the solid-state storage equipment is finished when the solid-state storage equipment passes the systematic test.
The steps implemented when the functional modules of the mass production system of the solid-state storage device operate may refer to the embodiments of the mass production method of the solid-state storage device of the present invention, and are not described herein again.
In addition, an embodiment of the present invention further provides a terminal device, where the terminal device includes: a memory, a processor and a mass production program of a solid-state storage device stored on the memory and executable on the processor, which when executed by the processor implements the steps of the mass production method of a solid-state storage device as in the above.
The steps implemented when the mass production program of the solid-state storage device running on the processor is executed may refer to the embodiments of the mass production method of the solid-state storage device of the present invention, and are not described herein again.
Furthermore, an embodiment of the present invention further provides a computer storage medium applied to a computer, where the computer storage medium may be a non-volatile computer-readable computer storage medium, and the computer storage medium stores thereon a mass production program of a solid-state storage device, where the mass production program of the solid-state storage device, when executed by a processor, implements the steps of the mass production method of the solid-state storage device as described above.
The steps implemented when the mass production program of the solid-state storage device running on the processor is executed may refer to the embodiments of the mass production method of the solid-state storage device of the present invention, and are not described herein again.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or system. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or system that comprises the element.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a computer storage medium (such as Flash memory, ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (such as a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the method according to the embodiments of the present invention.
The above description is only a preferred embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes, which are made by using the contents of the present specification and the accompanying drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (10)

1. A mass production method of a solid-state storage device, the mass production method of the solid-state storage device comprising:
simultaneously writing a preset scheduling program and each preset execution program in the solid-state storage equipment based on a preset volume production tool;
controlling the preset scheduling program to schedule each preset execution program to open the card of the solid-state storage device;
and after detecting that the card opening of the solid-state storage equipment is completed, performing systematic test on the solid-state storage equipment to complete the mass production of the solid-state storage equipment.
2. The method for mass production of solid-state storage devices according to claim 1, wherein the predetermined execution procedure comprises: a physical block scanning program and a dynamic code writing program,
the step of controlling the preset scheduling program to schedule each preset execution program to execute card opening on the solid-state storage device includes:
determining a mass production state of the solid-state storage device;
controlling the preset scheduling program to schedule the physical block scanning program to execute corresponding card opening operation on the solid-state storage device according to the mass production state; or,
and controlling the preset scheduling program to schedule the dynamic code writing program to execute corresponding card opening operation on the solid-state storage equipment according to the mass production state.
3. The method for mass production of solid-state storage devices according to claim 2, wherein the card-opening operation comprises: the bad physical block is scanned for,
the step of controlling the preset scheduling program to schedule the physical block scanning program to execute corresponding card opening operation on the solid-state storage device according to the volume production state includes:
and controlling the preset scheduling program to schedule the physical block scanning program to execute a card opening operation of scanning the bad physical blocks aiming at the solid-state storage device when the solid-state storage device does not perform physical block scanning.
4. The method for mass production of solid-state storage devices according to claim 2, wherein the card-open operation further comprises: the dynamic code is written in the dynamic code,
the step of controlling the preset scheduling program to schedule the dynamic code writing program to execute corresponding card opening operation on the solid-state storage device according to the volume production state comprises the following steps:
and controlling the preset scheduling program to schedule the dynamic code writing program to execute the card opening operation of writing dynamic codes for the solid-state storage equipment when the solid-state storage equipment finishes physical block scanning.
5. The method for mass producing a solid-state storage device according to claim 2, wherein the step of determining the mass production state of the solid-state storage device comprises:
receiving a state prompt output by the solid-state storage device;
and determining the current mass production state of the solid-state storage equipment according to the state prompt.
6. The method for mass production of a solid-state storage device according to claim 2, wherein the step of simultaneously writing the predetermined scheduling program and each of the predetermined execution programs in the solid-state storage device based on the predetermined mass production tool comprises:
when detecting that the physical block scanning program is currently written in the solid-state storage device based on a preset volume production tool, writing the dynamic code writing program and the preset scheduling program in the solid-state storage device based on the preset volume production tool.
7. The mass production method of the solid-state storage device according to claim 1, wherein the step of performing a systematic test on the solid-state storage device to complete mass production of the solid-state storage device after detecting that the card opening of the solid-state storage device is completed comprises:
detecting a status prompt output by the solid-state storage device based on executing card opening to determine whether the card opening of the solid-state storage device is completed;
if yes, performing systematic testing on the solid-state storage device, and determining that the mass production of the solid-state storage device is completed when the solid-state storage device passes the systematic testing.
8. A mass production system for a solid-state storage device, comprising:
the program writing module is used for simultaneously writing a preset scheduling program and each preset execution program in the solid-state storage equipment based on a preset volume production tool;
the scheduling module is used for controlling the preset scheduling program to schedule each preset execution program to open the card of the solid-state storage device;
and the test module is used for performing systematic test on the solid-state storage equipment after detecting that the card opening of the solid-state storage equipment is completed so as to complete the mass production of the solid-state storage equipment.
9. A terminal device, characterized in that the terminal device comprises: memory, a processor and a mass production program of a solid-state storage device stored on the memory and executable on the processor, which when executed by the processor implements the steps of the mass production method of a solid-state storage device according to any of claims 1 to 6.
10. A computer storage medium, characterized in that the computer storage medium has stored thereon a computer program which, when being executed by a processor, carries out the steps of a method for mass production of solid-state storage devices according to any one of claims 1 to 6.
CN202011480592.3A 2020-12-15 2020-12-15 Mass production method and system of solid-state storage device, terminal device and storage medium Active CN112527329B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011480592.3A CN112527329B (en) 2020-12-15 2020-12-15 Mass production method and system of solid-state storage device, terminal device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011480592.3A CN112527329B (en) 2020-12-15 2020-12-15 Mass production method and system of solid-state storage device, terminal device and storage medium

Publications (2)

Publication Number Publication Date
CN112527329A true CN112527329A (en) 2021-03-19
CN112527329B CN112527329B (en) 2024-05-17

Family

ID=75000270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011480592.3A Active CN112527329B (en) 2020-12-15 2020-12-15 Mass production method and system of solid-state storage device, terminal device and storage medium

Country Status (1)

Country Link
CN (1) CN112527329B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114186854A (en) * 2021-12-10 2022-03-15 北京得瑞领新科技有限公司 SSD device mass production test method, device, storage medium and device

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130211568A1 (en) * 2012-02-12 2013-08-15 Skymedi Corporation Automataed mass prodcution method and system thereof
CN105659211A (en) * 2013-09-17 2016-06-08 微软技术许可有限责任公司 Virtual machine manager facilitated selective code integrity enforcement
CN105681442A (en) * 2016-02-01 2016-06-15 光慧科技发展(深圳)有限责任公司 Cluster medical monitoring control system and method based on Internet of things
CN105740031A (en) * 2016-03-08 2016-07-06 深圳市硅格半导体股份有限公司 Card activating method based on card activating external member and card activating external member
CN105760191A (en) * 2016-02-02 2016-07-13 西安诺瓦电子科技有限公司 Embedded system equipment programming mass production method
CN105807157A (en) * 2016-03-10 2016-07-27 深圳市硅格半导体股份有限公司 High temperature aging test system
CN106158047A (en) * 2016-07-06 2016-11-23 深圳佰维存储科技股份有限公司 A kind of NAND FLASH method of testing
CN108073363A (en) * 2017-12-28 2018-05-25 深圳市得微电子有限责任公司 Date storage method, storage device and computer readable storage medium
CN111104157A (en) * 2019-12-18 2020-05-05 江苏芯盛智能科技有限公司 Mass production method and device of storage equipment, storage medium and electronic equipment
CN111510908A (en) * 2019-01-31 2020-08-07 中国移动通信集团终端有限公司 Card opening method, device, equipment and medium

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130211568A1 (en) * 2012-02-12 2013-08-15 Skymedi Corporation Automataed mass prodcution method and system thereof
CN105659211A (en) * 2013-09-17 2016-06-08 微软技术许可有限责任公司 Virtual machine manager facilitated selective code integrity enforcement
CN105681442A (en) * 2016-02-01 2016-06-15 光慧科技发展(深圳)有限责任公司 Cluster medical monitoring control system and method based on Internet of things
CN105760191A (en) * 2016-02-02 2016-07-13 西安诺瓦电子科技有限公司 Embedded system equipment programming mass production method
CN105740031A (en) * 2016-03-08 2016-07-06 深圳市硅格半导体股份有限公司 Card activating method based on card activating external member and card activating external member
CN105807157A (en) * 2016-03-10 2016-07-27 深圳市硅格半导体股份有限公司 High temperature aging test system
CN106158047A (en) * 2016-07-06 2016-11-23 深圳佰维存储科技股份有限公司 A kind of NAND FLASH method of testing
CN108073363A (en) * 2017-12-28 2018-05-25 深圳市得微电子有限责任公司 Date storage method, storage device and computer readable storage medium
CN111510908A (en) * 2019-01-31 2020-08-07 中国移动通信集团终端有限公司 Card opening method, device, equipment and medium
CN111104157A (en) * 2019-12-18 2020-05-05 江苏芯盛智能科技有限公司 Mass production method and device of storage equipment, storage medium and electronic equipment

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
L. WANG 等: "The next generation mass storage devices – Physical principles and current status", 《CONTEMPORARY PHYSICS 》, vol. 55, no. 2, 11 February 2014 (2014-02-11), pages 75 - 93 *
孙丽华: "安全数码卡开卡过程的设计与实现", 《中国优秀硕士学位论文全文数据库 》, no. 10, 15 October 2011 (2011-10-15), pages 135 - 104 *
张萌: "一种移动存储设备量产工具的开发", 《中国科技信息》, no. 21, 1 November 2016 (2016-11-01), pages 80 - 81 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114186854A (en) * 2021-12-10 2022-03-15 北京得瑞领新科技有限公司 SSD device mass production test method, device, storage medium and device

Also Published As

Publication number Publication date
CN112527329B (en) 2024-05-17

Similar Documents

Publication Publication Date Title
CN101604272B (en) Apparatus and method for memory card testing
CN101368991A (en) Electronic device test device and method thereof
CN108170494B (en) Application program starting method and starting system for intelligent terminal
CN106775229A (en) Desktop icon operation method and device
CN112052169A (en) Test management method, system, device and computer readable storage medium
CN104978276A (en) Method, device and system used for detecting software
CN112996020A (en) Bluetooth-based automatic testing method and device and Bluetooth testing terminal
CN114661330B (en) Vehicle hardware program updating method, device, equipment and storage medium
CN112527329A (en) Mass production method and system of solid-state storage device, terminal device and storage medium
CN112905461B (en) Method and device for executing automatic interface test case
CN108717350B (en) Terminal device and flash memory chip operation result display method based on terminal device
CN112035365B (en) Version deployment method and device supporting multiple test environments
CN112445670B (en) eMMC test method and device
JP2023519774A (en) Automated test method, apparatus, electronic device, storage medium, and program
CN107452427B (en) Method and system for testing data integrity of storage equipment
CN105929209A (en) Automobile cranking voltage simulation method and circuit
CN116560985B (en) Chip equipment test control method, upper computer, equipment and medium
CN106250253B (en) A kind of mobile terminal test device and test method
CN109445698B (en) Method and device for querying multi-chip flash state and computer readable storage medium
CN114296754A (en) Chip platform upgrading method and related device
CN113868107B (en) Self-adaptive adjustment method, device, equipment and medium for back-end IO of storage product
US20240103064A1 (en) Product line testing method and system
CN113778901A (en) Automatic evaluation method and device for test cases
CN112613081B (en) Memory chip sequence code generation method and device, electronic equipment and storage medium
CN110336857B (en) Method, device, equipment and storage medium for creating network block equipment

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