Method for operating storage device and system for storage device

By introducing an authentication mode into the storage device system, the storage device can perform the authentication process by receiving a random authentication address, solving the problem that the host cannot identify the function of the storage device, and realizing effective authentication of the full or written protection storage device.

CN110018972BActive Publication Date: 2025-02-18SAMSUNG ELECTRONICS CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN201811566898.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-01-08
Filing Date
2018-12-19
Publication Date
2025-02-18
Estimated Expiration
2038-12-19

AI Technical Summary

Technical Problem

The existing storage device system is difficult for the host to recognize certain functions of the storage device when the storage device is connected to the host through an intermediate converter, especially when the memory is full or written to be protected, and authentication becomes difficult.

Method used

A method and system for operating a storage device connected to a host is provided, by entering the authentication mode, the storage device can receive a read command or a write command and a random authentication address, perform an authentication process based on these addresses, and generate result data.

Benefits of technology

It is implemented to authenticate the storage device without performing a write operation, allowing authentication of the storage device that is full or written protected by the memory, avoiding the additional storage capacity requirement of the storage device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN110018972B_ABST
    Figure CN110018972B_ABST
Patent Text Reader

Abstract

A method of operating a storage device and a system for a storage device are provided. The method of operating a storage device connected to a host includes: entering an authentication mode; and performing an authentication operation in response to entering the authentication mode. Performing the authentication operation includes: receiving a read command and a first random authentication address from the host; performing an authentication process based on at least a portion of the first random authentication address; and generating result data in response to performing the authentication process.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims the priority benefit of Korean Patent Application No. 10-2018-0002312 filed on January 8, 2018 in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference in its entirety. Technical Field

[0003] The inventive concept relates generally to storage device systems and methods, and more particularly, to storage device systems and methods in which a storage device is connected to a host via an intermediate converter. Background Art

[0004] The storage system may include a host and a storage device, and the storage device may include a memory card for storing data or expanding memory, for example. Various types of memory cards may be used, including, for example, a memory stick (MS), a multimedia card (MMC), an XD picture card (XD), a secure digital (SD) card, a compact flash (CF) card, a smart media card (SMC), and a micro drive (MD).

[0005] Such a storage device may follow a specific standard protocol, so an intermediate converter such as a dedicated card reader or a multi-type card reader may be used according to the specific storage device used. The intermediate converter may input data to the storage device or output data from the storage device. Therefore, when the storage device and the host are connected to each other via the intermediate converter, the host may not recognize certain functions of the storage device. Summary of the invention

[0006] The inventive concept provides a method of operating a storage device connected to a host and a system for authenticating the storage device.

[0007] According to an aspect of the inventive concept, there is provided a method of operating a storage device connected to a host, the method comprising: entering an authentication mode; and performing an authentication operation in response to entering the authentication mode. Performing the authentication operation comprises: receiving a read command and a first random authentication address from the host; performing an authentication process based on at least a portion of the first random authentication address; and generating result data in response to performing the authentication process.

[0008] According to another aspect of the inventive concept, there is provided a method of operating a storage device connected to a host, the method comprising: entering an authentication mode; and performing an authentication operation in response to entering the authentication mode. Performing the authentication operation comprises: receiving a write command and a first random authentication address from the host; performing an authentication process based on at least a portion of the first random authentication address; and generating result data in response to performing the authentication process.

[0009] According to another aspect of the inventive concept, a system is provided, the system comprising: a storage device configured to perform an authentication operation in an authentication mode; and a host configured to also perform the authentication operation. In the authentication mode, the storage device is configured to perform the authentication operation by receiving a read command and a random authentication address from the host, performing an authentication process based on at least a portion of the random authentication address, and generating result data in response to performing the authentication process. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Embodiments of the present invention will be more clearly understood through the following detailed description in conjunction with the accompanying drawings, in which:

[0011] Figure 1 is a block diagram of a system according to some embodiments of the present inventive concept;

[0012] Figure 2 is a block diagram of a storage device according to some embodiments of the inventive concept;

[0013] Figure 3 is a flowchart of the operation of a system for authenticating a storage device according to some embodiments of the inventive concept;

[0014] Figure 4 is a flowchart of the operation of a storage device included in a system according to some embodiments of the inventive concept;

[0015] Figure 5 is a flowchart of the operation of a host included in a system according to some embodiments of the inventive concept;

[0016] Figure 6 is a flowchart of the operation of a system according to some embodiments of the present inventive concept;

[0017] Figure 7 is a flowchart of the operation of the system according to other embodiments of the present inventive concept;

[0018] Figure 8 is a flowchart of the operation of the system according to other embodiments of the present inventive concept;

[0019] Fig. 9 is a flowchart of the operation of the system according to other embodiments of the present inventive concept;

[0020] Fig.10 is a flowchart of the operation of a host included in a system according to other embodiments of the present invention;

[0021] Fig.11 is a flowchart of the operation of the system according to other embodiments of the present inventive concept;

[0022] Fig.12 is a flowchart of the operation of the system according to other embodiments of the present inventive concept;

[0023] Fig.13 is a flowchart of the operation of the system according to other embodiments of the inventive concept. DETAILED DESCRIPTION

[0024] Hereinafter, embodiments of the inventive concept will be described in detail with reference to the accompanying drawings. Throughout the description of the accompanying drawings, the same reference numerals represent the same elements. It is noted that, although not specifically described, the various aspects of the invention described with respect to one embodiment may be incorporated in different embodiments. That is, all embodiments and / or features of any embodiment may be combined in any manner and / or form any combination.

[0025] A storage device connected to a host through, for example, an intermediate converter can be authenticated by using a write operation. However, when the memory of the storage device is full and / or write-protected, it may be difficult or impossible to authenticate the storage device. According to some embodiments of the present invention, the storage device may be configured with an authentication operation mode and a normal operation mode. When in the authentication operation mode, the storage device may receive a read command or a write command and a random address. Because the storage device is in the authentication operation mode, the read operation or the write operation is not performed, but the authentication operation is performed using at least a portion of the received random address. Therefore, the storage device can be authenticated without the need to perform a write operation, thereby allowing a storage device whose memory is full and / or a storage device that is write-protected to be authenticated.

[0026] Figure 1 is a block diagram of a system according to some embodiments of the inventive concept.

[0027] Reference Figure 1 The system 10 configured to authenticate the storage device 300 includes a host 100 and the storage device 300. The storage device 300 is connected to the host 100 via an intermediate converter 140.

[0028] The host 100 may include a central processing unit (CPU) 110, a main memory 120, a user interface 130, and an intermediate converter 140. The CPU 110 may control the overall operation of the host 100 and perform logic operations based on a program 121 and / or data stored in the main memory 120. For example, the CPU 110 may include a general-purpose processor and a special-purpose processor.

[0029] The main memory 120 may be an operation memory of the CPU 110. The main memory 120 may store program codes executable by the CPU 110 and data processed by the CPU 110. The main memory 120 may be a random access memory (RAM). The main memory 120 may include a volatile RAM such as a dynamic RAM (DRAM), a static RAM (SRAM), or a synchronous DRAM (SDRAM). The main memory 120 may include a nonvolatile RAM such as a ferroelectric RAM (FRAM), a phase change RAM (PRAM), a magnetic RAM (MRAM), or a resistive RAM (RRAM).

[0030] The program 121 executed by the CPU 110 may be stored in the main memory 120. The program 121 may provide additional functions associated with the storage device 300. According to some embodiments, the program 121 may provide an authentication function for the storage device 300 so that the storage device 300 and the host 100 may perform authentication. In the system 10 according to some embodiments of the inventive concept, the program 121 may be configured to sequentially output a pre-agreed sector address to the storage device 300 to authenticate the storage device 300. The sector address may be sent to the storage device 300 via the intermediate converter 140, and the storage device 300 may enter an authentication mode for performing an authentication operation. When the storage device 300 enters the authentication mode, the storage device 300 may send the result data obtained by performing the authentication operation to the host 100, and the program 121 may determine whether the authentication of the storage device 300 is successful based on the result data.

[0031] The user interface 130 may facilitate communication with a user under the control of the CPU 110. For example, the user interface 130 may include a user input interface such as a keyboard, a keypad, a button, a touch panel, a touch screen, a touch pad, a touch ball, a camera, a microphone, a gyro sensor, and a vibration sensor. The user interface 130 may include a user output interface such as a liquid crystal display (LCD), an organic light emitting diode (OLED) display, an active matrix OLED (AMOLED) display, a light emitting diode (LED) display, a speaker, and a motor.

[0032] The intermediate converter 140 may be configured to read information from the storage device 300. The storage device 300 connected to the intermediate converter 140 may be a memory stick (MS), a multimedia card (MMC), an XD-picture card (XD), a secure digital (SD) card, a compact flash (CF) card, a smart media card (SMC), a micro drive (MD), a solid state drive (SSD), a universal flash memory (UFS), a universal serial bus (USB) drive, etc.

[0033] In order to execute a function independently supported by the manufacturing company of the storage device 300, the storage device 300 may be first authenticated by the host 100, and then the function may be executed by the program 121. The storage device 300 may sequentially receive sector addresses agreed with the program 121 to enter the authentication mode. The storage device 300 may include firmware and / or other program codes that execute the authentication process requested by the program 121.

[0034] Figure 2 is a block diagram of a memory device 300 according to some embodiments of the inventive concept.

[0035] Reference Figure 2 , the storage device 300 may include a host interface 310 , a processor 320 , a local memory 330 , and a non-volatile memory 340 .

[0036] The nonvolatile memory 340 may include flash memory, FRAM, PRAM, MRAM, RRAM, and electrically erasable programmable read-only memory (EEPROM). The processor 320 may access the nonvolatile memory 340 in response to a command and an address received via the host interface 310.

[0037] The local memory 330 may be an operation memory of the processor 320. The local memory 330 may be a buffer memory and / or a cache memory. The local memory 330 may include a volatile RAM or a non-volatile RAM, such as SRAM, DRAM, SDRAM, FRAM, PRAM, MRAM, or RRAM.

[0038] The host interface 310 can facilitate communication with the host 100. The processor 320 can receive normal commands and normal addresses via the host interface 310, and access the non-volatile memory 340 according to the received commands and addresses. The processor 320 can receive commands and addresses via the host interface 310 based on a predetermined rule, and perform specific operations in response to the received commands and addresses. When the processor 320 sequentially receives a pre-agreed sector address, the processor 320 can enter the authentication mode. The processor 320 can perform an authentication process in the authentication mode, and can output the result of performing the authentication process to the host via the host interface 310. The storage device 300 may include firmware and / or other program codes that perform the authentication process, and the processor 320 can perform the authentication process by running the firmware and / or other program codes. However, according to various embodiments of the present invention, the authentication process is not limited to being implemented using firmware and / or other program codes, and can be implemented using hardware or a combination of program code and hardware.

[0039] The storage device 300 included in the system 10 according to some embodiments of the present inventive concept may be configured in different operating states or modes including a general mode and an authentication mode. In the general mode, the storage device 300 may perform an operation requested by a command received from the host 100. For example, in response to a read command and an address from the host 100, the storage device 300 may read data from a storage area corresponding to the address and output the read data to the host 100. In response to a write command and an address from the host 100, the storage device 300 may write the data received with the write command into a storage area corresponding to the address.

[0040] In the authentication mode, the storage device 300 may perform an authentication operation or process. For example, the storage device 300 may use a random authentication address received together with a command (a read command or a write command) as data for performing an authentication process. According to some embodiments, in the authentication mode, even when the storage device 300 receives a read command or a write command, the storage device 300 does not perform a read operation or a write operation on the non-volatile memory 340, compared to the general mode.

[0041] Figure 3 is a flowchart of the operation of a system for authenticating a storage device according to some embodiments of the inventive concept.

[0042] Reference Figure 1 and Figure 3 , when the storage device 300 enters the authentication mode for performing the authentication operation or process, at block S10, the storage device 300 may perform the authentication operation or process (S20). The storage device 300 may be set or configured as a general mode or an authentication mode. The method of processing the command and address received from the host 100 may vary depending on the type of mode. The storage device 300 may enter the authentication mode under the control of the user when operating in the general mode, or may enter the authentication mode under the control of the user after being connected to the intermediate converter 140.

[0043] When the storage device 300 enters the authentication mode at block S10, the host 100 may send a read command and a random authentication address (S210). In the authentication mode (S20), at block S110, the storage device 300 may receive a read command and a random authentication address. According to some embodiments of the inventive concept, the random authentication address may not have a determined specific value, but may have a random value.

[0044] At block S120, the storage device 300 may perform an authentication process. For example, the storage device 300 may perform an authentication process by using at least a portion of the received random authentication address as data for performing the authentication process. The storage device 300 may generate result data by performing the authentication process.

[0045] According to some embodiments, even when the storage device 300 receives a read command or a write command in the authentication mode (S20), the storage device 300 does not perform an operation based on the received read command or write command. The storage device 300 may perform an authentication operation or process by using a random authentication address received together with the read command or the write command. Figure 3 An example of receiving a read command is shown in FIG. 1 , but the system according to an embodiment of the inventive concept is not limited thereto. Figure 8 An example of receiving a write command is described.

[0046] The internal authentication process for authentication can be any of various public or private authentication and / or encryption technologies including, for example, the following technologies: Hash-based message authentication code (HMAC), Rivest Shamir Adleman (RSA) technology, custom algorithm (Custom Algorithm), digital signature algorithm (DSA), elliptic curve digital signature algorithm (ECDSA), cipher block chaining message authentication code (CBC-MAC), MD5, secure hash algorithm-256 (SHA256), hash algorithm standard 160 (HAS160), SEED and / or CRYPTON. The system according to the embodiment of the present invention is not limited to the above-mentioned types of authentication technologies and processes.

[0047] According to some embodiments, the storage device 300 may receive the read command and the random authentication address multiple times. The number of times the storage device 300 receives the read command and the random authentication address may vary depending on the number of bits of data used to perform the authentication operation or process. Figure 7 An example is described in which the storage device 300 receives a read command and a random authentication address a plurality of times.

[0048] After performing the authentication operation or process, the storage device 300 may output result data corresponding to the result of performing the authentication operation or process ( S130 ). The result data may be transmitted to the host 100 .

[0049] The host 100 may receive the result data. At block S220, the host 100 may determine whether the authentication is successful based on the result data. The host 100 may be configured to perform an internal authentication operation or process that is the same as the authentication operation or process performed in the storage device 300, and may compare the result of performing the internal authentication operation or process with the received result data to determine whether the authentication of the storage device 300 has been successful. The program 121 of the host 100 may determine whether the authentication of the storage device 300 has been performed according to a determination method based on the result data.

[0050] Because the system 10 for authenticating the storage device 300 according to some embodiments of the inventive concept sends a read command to the storage device 300 and performs an authentication operation or process, the non-volatile memory (e.g., Figure 2 The non-volatile memory 340 of the storage device 300 does not need to have additional storage capacity for performing the authentication operation or process. Therefore, even when the non-volatile memory of the storage device 300 is full, the system 10 can still perform the authentication operation.

[0051] Furthermore, since the storage device 300 can perform an authentication operation or process by using a read command, the storage device 300 can perform an authentication operation or process even if write protection is set in the storage device 300 .

[0052] Figure 4 is a flowchart of the operation of the system according to some embodiments of the present invention. Specifically, Figure 4 Some embodiments of the present invention are shown. Figure 3 The operation of the storage device 300 of block S10 enters the authentication mode. According to some embodiments, when the user has authenticated the storage device 300 via the user interface (e.g., Figure 1 When the user interface 130 of the storage device 300 requests to execute the authentication mode, the storage device 300 may enter the authentication mode (block S10). Figure 1 The storage device 300) is connected to the intermediate converter (e.g., Figure 1 After the intermediate converter 140 is connected, the storage device 300 can enter the authentication mode under the control of the user (block S10).

[0053] Reference Figure 1 and Figure 4 , when entering the authentication mode (block S10), the storage device 300 may receive a command and an nth address (block S12) via the intermediate converter 140. In some embodiments, n may be a natural number from 1 to k, where k may be a natural number equal to or greater than 2. Therefore, when entering the authentication mode (block S10), the storage device 300 may receive a command and a 1st address (block S11).

[0054] At block S13, the storage device 300 may determine whether the received command is a read command. When the received command is a read command, the storage device 300 may determine whether the nth address is the same as the nth sector address for entering the authentication mode (block S14). When the nth address is the same as the nth sector address, the storage device 300 may determine whether n is the same as k (block S16). When n is not the same as k, at block S17, the operations of blocks S13, S14, and S16 may be performed again on n+1 instead of n.

[0055] For example, when the first address is the same as the first sector address agreed to enter the authentication mode, the storage device 300 may receive the command and the second address. The storage device 300 may determine whether the second address is the same as the second sector address for entering the authentication mode.

[0056] According to some embodiments, in order to enter the authentication mode, the host 100 and the storage device 300 may be configured to agree on the 1st sector address to the kth sector address within the storage device 300. Therefore, the storage device 300 may sequentially determine whether the 1st address to the kth address continuously received from the host 100 are respectively the same as the 1st sector address to the kth sector address required to enter the authentication mode. When the kth address input in the kth order is the same as the kth sector address, the storage device 300 may perform an authentication operation or process in the authentication mode (block S20). The kth address may be the last address among the addresses that the storage device 300 needs to receive to enter the authentication mode.

[0057] When the received command is a write command instead of a read command or when the received nth address is not the same as the nth sector address for entering the authentication mode, the state for entering the authentication mode may be reset (block S15). Therefore, the storage device 300 may determine whether the address received later is the same as the first sector address, and may restart the process for entering the authentication mode (block S10).

[0058] While receiving the read command and the 1st to kth addresses, when there are data items stored in the 1st to kth storage areas respectively corresponding to the 1st to kth addresses, the storage device 300 may output the 1st to kth data respectively stored in the 1st to kth storage areas. The output 1st to kth data may be transmitted to the host 100.

[0059] Figure 5 is a flowchart of the operation of a system according to some embodiments of the inventive concept. Figure 5 is a flowchart of example operations performed by the host 100 when a kth address is received as the last address and the kth address is the same as the kth sector address.

[0060] Reference Figure 1 , Figure 4 and Figure 5 In response to a read command and a kth address sequentially input at a kth position, the storage device 300 may output pre-specified signature data.

[0061] At block S211, the host 100 may receive the signature data. At block S212, the host 100 may determine that the storage device 300 has entered the authentication mode based on the received signature data. Thereafter, when the storage device 300 enters the authentication mode, the host 100 may output a command and a random address so that the storage device 300 may perform an authentication operation or process in response to the command and the random address. The storage device 300 may perform an authentication operation or process based on the received random address.

[0062] According to some embodiments of the present inventive concept, information about signature data may be pre-stored in the main memory 120 of the host 100. For example, the program 121 may compare the information about signature data stored in the main memory 120 with the signature data received via the intermediate converter 140, and determine based on the result of the comparison that the storage device 300 has performed an authentication operation or process in the authentication mode. In other words, the host 100 may sequentially output the 1st address to the kth address so that the storage device 300 may enter the authentication mode, and may determine based on the signature data received from the storage device 300 that the storage device 300 has entered the authentication mode.

[0063] Figure 6 is a flowchart of the operation of a system according to some embodiments of the inventive concept. Figure 6 According to some embodiments of the present inventive concept, the storage device 300 performs an authentication operation or process in an authentication mode. Figure 3 Flowchart of the operation of block S20 of FIG. The storage device 300 may perform a first authentication mode operation (S20_1) and a second authentication mode operation (S20_2) in the authentication mode (S20). The first authentication mode operation (S20_1) may be performed by receiving a specific authentication address set to a specific value, and the second authentication mode operation (S20_2) may be performed by receiving a random authentication address. Figure 3 The operation in the authentication mode (S20) is used to perform the second authentication mode operation (S20_2).

[0064] Reference Figure 1 and Figure 6 When the storage device 300 enters the authentication mode, at block S210_1, the host 100 may send a read command and a specific authentication address. Compared with a random authentication address, the specific authentication address may be an address agreed upon between the host 100 and the storage device 300, ie, a predetermined address.

[0065] At block S110_1, the storage device 300 may perform a first authentication mode operation (S20_1) by receiving a read command and a specific authentication address from the intermediate converter 140. The storage device 300 may output specific data corresponding to the specific authentication address (S120_1). The value of the specific data may be a value agreed upon between the host 100 and the storage device 300 to perform the first authentication mode operation (S20_1).

[0066] The host 100 may receive the specific data. At block S220_1, the host 100 may determine whether the first authentication mode operation (S20_1) of the storage device 300 is successful based on the received specific data. In other words, when the value of the specific data is a value agreed upon between the host 100 and the storage device 300, the host 100 may determine that the first authentication mode operation (S20_1) has been successful, and may perform the second authentication mode operation (S20_2). On the other hand, when the value of the specific data is different from the agreed value, the host 100 may determine that the authentication has failed.

[0067] When it is determined that the first authentication mode operation ( S20_1 ) of the memory device 300 has succeeded, the host 100 may send a read command and a random authentication address different from the specific authentication address so that the memory device 300 may perform the second authentication mode operation ( S20_2 ) ( S210_2 ).

[0068] At block S110_2, the storage device 300 may receive a read command and a random authentication address via the intermediate converter 140. The random authentication address does not have a determined specific value but may have a random value. The random authentication address may be different from the specific authentication address used during the first authentication mode operation (S20_1).

[0069] At block S120_2, the storage device 300 may perform an authentication operation or process by using at least a portion of the received random authentication address as data for performing the authentication operation or process. The storage device 300 may generate result data by performing the authentication operation or process, and output the result data (S130_2). Therefore, only when a specific authentication address is received, the storage device 300 will output specific data corresponding to the specific authentication address. When a random authentication address other than a specific authentication address is received, the storage device 300 may use at least a portion of the random authentication address as data for the authentication operation or process.

[0070] The host 100 may receive the result data. At block S220_2, the host 100 may determine whether the second authentication mode operation (S20_2) of the storage device 300 is successful based on the result data.

[0071] Despite Figure 6 The second authentication mode operation (S20_2) is performed after the first authentication mode operation (S20_1), but the system and method for verifying a storage device according to an embodiment of the inventive concept are not limited thereto. In other embodiments, the second authentication mode operation (S20_2) may be performed before the first authentication mode operation (S20_1).

[0072] The host 100 may determine whether the entire authentication operation or process is successful based on whether the first authentication mode operation ( S20_1 ) and the second authentication mode operation ( S20_2 ) are successful.

[0073] Because the system 10 for authenticating the storage device 300 according to an embodiment of the inventive concept sends a read command to the storage device 300 and performs a first authentication mode operation (S20_1) and a second authentication mode operation (S20_2), the storage device 300 does not need to have additional storage capacity compared to a conventional authentication technique using a write command and write data. Therefore, the system 10 is able to perform an authentication operation or process even when the storage device 300 is full.

[0074] Furthermore, since the memory device 300 performs the first authentication mode operation ( S20_1 ) and the second authentication mode operation ( S20_2 ) by using the read command, the memory device 300 can perform the authentication operation or process even if write protection is set in the memory device 300 .

[0075] Figure 7 is a flowchart of the operation of the system according to other embodiments of the inventive concept. Figure 7 According to other embodiments, the storage device 300 performs an authentication operation in an authentication mode. Figure 3 Flowchart of an example authentication operation (S20). Figure 7 An example is shown in which the storage device 300 receives a read command and a random authentication address multiple times.

[0076] Reference Figure 1 and Figure 7 , the storage device 300 may receive the read command and the random authentication address multiple times. When the number of bits of the data used to perform the authentication operation or process is greater than the number of bits of the random authentication address, the storage device 300 may receive the random authentication address multiple times and may obtain the data used to perform the authentication operation or process from the received multiple random authentication addresses. An example of receiving a first random authentication address and a second random authentication address will now be illustrated and described.

[0077] When the storage device 300 enters the authentication mode, the host 100 may send a read command and a first random authentication address (S211). The first random authentication address may not have a determined specific value, and may have a random value.

[0078] At block S111, the storage device 300 may receive a read command and a first random authentication address from the intermediate converter 140. At least a portion of the first random authentication address to be used to perform an authentication operation or process may be temporarily stored in a local memory (e.g., Figure 2 in the local memory 330).

[0079] The storage device 300 may output random data in response to the received read command (S112). The random data may include a message indicating that the read command and the first random authentication address have been successfully received, or a message indicating that at least a portion of the first random authentication address has been stored in the internal local memory. According to various embodiments of the inventive concept, the random data may be data that is irrelevant to performing an authentication operation or process.

[0080] The host 100 may receive the random data. The host 100 may send a read command and a second random authentication address (S212). At block S113, the storage device 300 may receive the read command and the second random authentication address from the intermediate converter 140. At least a portion of the second random authentication address to be used to perform an authentication operation or process may be temporarily stored in a local memory in the storage device 300.

[0081] In operation S121, the storage device 300 may perform an authentication operation or process by using a stored portion or all of the first random authentication address and a stored portion or all of the second random authentication address as data for performing the authentication operation or process. Figure 7 The first random authentication address and the second random authentication address are described, but the number of times the storage device 300 receives the read command and the random authentication address may vary according to the number of bits of the data used to perform the authentication operation or process, and may vary according to the number of bits of the received random authentication address. As the number of bits of the data used to perform the authentication operation or process increases, the number of times the host 100 outputs the random authentication address will increase, and the number of times the storage device 300 receives the random authentication address will also increase. The number of random authentication addresses sent or received between the host 100 and the storage device 300 may be predetermined.

[0082] The storage device 300 may output result data corresponding to the result of executing the authentication algorithm (S131). Because the number of random authentication addresses sent or received between the host 100 and the storage device 300 is predetermined, the host 100 may determine that the result data is the result of executing the authentication operation or process, rather than random data preceding the result data.

[0083] The host 100 may receive the result data. At block S220, the host 100 may determine whether the authentication operation of the storage device 300 has succeeded based on the result data. The program 121 of the host 100 may determine whether the authentication operation has been performed based on the result data.

[0084] Figure 8 is a flowchart of the operation of the system according to other embodiments of the inventive concept. Figure 8 According to other embodiments, the storage device 300 performs an authentication operation in an authentication mode. Figure 3 Flowchart of an example authentication operation (S20). Figure 8 FIG. 4 shows an example in which the storage device 300 receives random authentication addresses multiple times. Figure 7 In comparison, Figure 8 In the example, the storage device 300 may receive a write command. For the sake of brevity, the following description will not be given. Figure 8 in Figure 7 The same reference numerals as in the reference numerals in the drawings.

[0085] Reference Figure 1 and Figure 8 After the host 100 sends a read command and a first random authentication address (S211), the host 100 may receive random data and then may send a write command and a second random authentication address (S212_1). The host 100 may also output write data requested to be written.

[0086] At block S113_1, the storage device 300 may receive a write command and a second random authentication address from the intermediate converter 140. At least a portion of the second random authentication address to be used to perform an authentication operation or process may be temporarily stored in a local memory (e.g., Figure 2 The storage device 300 may also receive write data requested to be written, but because the storage device 300 is performing an authentication operation rather than a general operation, the received write data is not written to the storage device 300. Figure 8 In the example, the operation of block S113_1 is after the operation of block S111, but the system according to the embodiment of the inventive concept is not limited thereto. Therefore, the memory device 300 may receive the read command and the first random authentication address after receiving the write command and the second random authentication address.

[0087] At block S121, the storage device 300 may perform an authentication operation or process by using a stored portion or all of the first random authentication address and a stored portion or all of the second random authentication address as data. The storage device 300 may perform an authentication operation or process by using a random authentication address received with a read command or a write command as data.

[0088] The host 100 may transmit a read command to the storage device 300 ( S213 ). The read command is a command that enables the storage device 300 to output result data obtained by performing an authentication operation or process and transmit the result data to the host 100 .

[0089] The storage device 300 may output result data corresponding to the result of performing the authentication operation or process in response to the read command (S131). At block S220, the host 100 may determine whether the authentication operation of the storage device 300 has succeeded based on the result data.

[0090] Although the reference Figure 8 A first random authentication address and a second random authentication address are described, but the number of times the storage device 300 receives a read / write command and a random authentication address may vary depending on the number of bits of data used to perform an authentication operation or process, and may vary depending on the number of bits of the received random authentication address.

[0091] Because the storage device 300 included in the system according to some embodiments of the present inventive concept does not perform an operation corresponding to the read command or the write command when receiving the read command or the write command in the authentication mode, the storage device 300 can perform the authentication operation based on the random authentication address received together with the read command or the write command, regardless of the type of the command. Therefore, the storage device 300 can receive the read command or the write command in the authentication mode, and perform the authentication operation or process in response to the read command or the write command.

[0092] Fig. 9 is a flowchart of a method of operating a system according to other embodiments of the inventive concept. Fig. 9 The storage device 300 performs authentication operation in authentication mode according to other embodiments. Figure 3 Flowchart of an example authentication operation (S20). Fig. 9 FIG. 3 shows an example in which the storage device 300 receives a read command or a write command multiple times in the authentication mode. Figure 7 In comparison, Fig. 9 In the example, the storage device 300 may receive a write command. For the sake of brevity, the following description will not be given. Fig. 9 in Figure 7 The same reference numerals as in the reference numerals in the drawings.

[0093] Reference Figure 1 and Fig. 9 After the host 100 sends a read command and a first random authentication address (S211), the host 100 may receive random data and then send a write command and random write data (S212_2). At this time, the host 100 may also output a write address.

[0094] At block S113_2, the storage device 300 may receive a write command and random write data from the intermediate converter 140. When the storage device 300 receives the random write data, more pieces of information required to perform an authentication operation or process may be sent to the storage device 300 than when the storage device 300 receives a random authentication address. Therefore, when the random write data is received and the authentication operation or process is performed using the random write data, the number of times the host 100 and the storage device 300 send or receive commands, random authentication addresses, and random write data may be reduced.

[0095] The storage device 300 may temporarily store at least a portion of the random write data to be used to perform the authentication operation or process in a local memory (eg, Figure 2 Because the storage device 300 is performing the authentication operation, the storage device 300 does not write random write data to the non-volatile memory (e.g., Figure 2 The random write data may be used only for performing authentication operations. Fig. 9 In the example, the operation of block S113_2 is after the operation of block S111, but the system according to the embodiment of the inventive concept is not limited thereto. Therefore, the memory device 300 may receive a read command and a first random authentication address after receiving a write command and random write data.

[0096] At box S121_2, the storage device 300 can perform an authentication operation or process by using a stored portion or all of the first random authentication address and a stored portion or all of the random write data as data for executing an authentication algorithm.

[0097] The host 100 may send a read command to the storage device 300, which enables the storage device 300 to output result data obtained by executing the authentication algorithm (S213). The storage device 300 may output result data corresponding to the result of executing the authentication operation or process in response to the read command (S131). At block S220, the host 100 may determine whether the authentication operation of the storage device 300 has succeeded based on the result data.

[0098] Fig.10 is a flowchart of the operation of the system according to other embodiments of the inventive concept. Fig.10 is a flowchart of an example operation of the host 100 for determining whether authentication is successful. Figure 3 Frame S220).

[0099] Reference Figure 1 and Fig.10 , at block S211, the host 100 may receive the result data. At block S222, the host 100 may determine whether the authentication has succeeded based on the result data. The program 121 of the host 100 may include the same internal logic as the internal logic stored in the storage device 300. The program 121 may determine whether the authentication operation of the storage device 300 has succeeded by comparing the result of performing the internal authentication operation or process with the received result data. For example, when the result of performing the internal authentication operation or process is irrelevant to the received result data, the program 121 may determine that the authentication has failed.

[0100] At block S223, when the authentication of the storage device 300 is successful, the host 100 may set an authentication flag for the storage device 300. The authentication flag is a flag indicating that the storage device 300 has completed authentication, and may be stored in the storage device 300. When there is a differentiated demand for the storage device 300, the host 100 may check the authentication flag stored in the storage device 300. After determining that the authentication of the storage device 300 has been completed, the host 100 may request the storage device 300 to perform a specific operation.

[0101] Fig.11 is a flowchart of an authentication method performed by a system for authenticating a storage device according to another embodiment of the present invention. Fig.11 in Figure 3 The same reference numerals as in the reference numerals in FIG. Figure 3 compared to, Fig.11 An example is shown in which the storage device receives a write command.

[0102] Reference Figure 1 and Fig.11 , when the storage device 300 enters an authentication mode for performing an authentication operation, at block S10, the storage device 300 may perform an authentication operation in the authentication mode (S20'). Figure 4 The description can be applied to the operation of block S10 for entering the authentication mode.

[0103] When the storage device 300 enters the authentication mode at block S10, the host 100 may send a write command and a random authentication address (S310). In the authentication mode (S20'), at block S110', the storage device 300 may receive the write command and the random authentication address via the intermediate converter 140. The random authentication address does not have a determined specific value, but may have a random value.

[0104] At block S120, the storage device 300 may perform an authentication operation or process by using at least a portion of the received random authentication address as data for performing the authentication operation or process. In the authentication mode (S20'), even when the storage device 300 receives a write command, the storage device 300 does not perform an operation based on the received write command. Therefore, even when write data is output together with the write command and the random authentication address (S310) and the storage device 300 receives the write data, the storage device 300 does not perform a write operation on the received write data.

[0105] According to some embodiments, the storage device 300 may receive the write command and the random authentication address multiple times. The number of times the storage device 300 receives the write command and the random authentication address may vary depending on the number of bits of data required to perform the authentication operation or process. Fig.12 An example is described in which the storage device 300 receives a write command and a random authentication address a plurality of times.

[0106] The host 100 may send a read command to the storage device 300 (S320). The read command is a command that enables the storage device 300 to output result data obtained by performing an authentication operation or process and send the result data to the host 100. The storage device 300 may output result data corresponding to the result of performing the authentication operation or process in response to the read command (S130). The result data may be sent to the host 100. The host 100 may receive the result data via an intermediate converter. At block S220, the host 100 may determine whether the authentication has succeeded based on the result data.

[0107] The system 10 for authenticating a storage device according to an embodiment of the inventive concept sends a write command to the storage device 300 and performs an authentication operation, but does not perform a write operation in the authentication mode. Figure 2 The non-volatile memory 340 of the storage device 300 does not require additional storage capacity for performing the authentication operation, and the system 10 is able to perform the authentication operation even when the non-volatile memory of the storage device 300 is full.

[0108] Fig.12 is a flowchart of a method of operating a system according to other embodiments of the inventive concept. Fig.12According to some embodiments, the storage device 300 performs an authentication operation in the authentication mode. Fig.11 Flowchart of an example authentication operation (S20'). Fig.12 An example is shown in which the storage device 300 receives a write command and a random authentication address multiple times.

[0109] Reference Fig.12 , the storage device 300 may receive the write command and the random authentication address multiple times. When the number of bits of data required to perform the authentication operation or process is greater than the number of bits of the random authentication address, the storage device 300 may receive the random authentication address multiple times and may obtain the data required to perform the authentication operation or process from the received multiple random authentication addresses.

[0110] When the storage device 300 enters the authentication mode, the host 100 may send a write command and a first random authentication address (S311). The first random authentication address does not have a determined specific value but may have a random value.

[0111] At block S111′, the storage device 300 may receive a write command and a first random authentication address from the intermediate converter 140. At least a portion of the first random authentication address to be used to perform an authentication operation or process may be temporarily stored in a local memory (e.g., Figure 2 The host 100 may send a read command to the storage device 300 (S312). The read command may be a command for outputting a result obtained by receiving the first random authentication address. The storage device 300 may output a response in response to the received read command (S112'). The response may include a message indicating that the write command and the first random authentication address have been successfully received, or a message indicating that at least a portion of the first random authentication address has been stored in the internal local memory, and the response may be data unrelated to performing an authentication operation or process.

[0112] The host 100 may receive the random data and may send a write command and a second random authentication address (S313). At block S113', the storage device 300 may receive the write command and the second random authentication address from the intermediate converter 140. At least a portion of the second random authentication address to be used to perform an authentication operation or process may be temporarily stored in an internal local memory of the storage device 300.

[0113] At block S121, the storage device 300 may perform an authentication operation or process by using a stored portion or all of the first random authentication address and a stored portion or all of the second random authentication address as data for performing the authentication operation or process. Fig.12The first random authentication address and the second random authentication address are described in, but the number of times the storage device 300 receives the random authentication address may vary according to the number of bits of data required to perform the authentication operation or process, and may vary according to the number of bits of the received random authentication address. The number of random authentication addresses sent or received between the host 100 and the storage device 300 may be predetermined.

[0114] The host 100 may receive a read command (S320). The read command is a command that enables the storage device 300 to output the result of performing an authentication operation or process and send the result to the host 100. The storage device 300 may output result data corresponding to the result of performing the authentication operation or process in response to the read command (S131). The host 100 may receive the result data. At block S220, the host 100 may determine whether the authentication operation of the storage device 300 has succeeded based on the result data.

[0115] Fig.13 is a flowchart of a method of operating a system according to some embodiments of the inventive concept. Fig.13 According to some embodiments, the storage device 300 performs an authentication operation in the authentication mode. Fig.11 Flowchart of an example authentication operation (S20'). Fig.13 An example is shown in which the storage device 300 receives write commands multiple times in the authentication mode.

[0116] Reference Fig.13 After the host 100 sends the write command and the first random authentication address (S311), the host 100 may send a read command (S312), and thus may receive a response to the read command. The host 100 may send a write command and random write data based on the received response (S313_2). At this time, the host 100 may also output a write address.

[0117] At block S113_2′, the storage device 300 may receive a write command and random write data from the intermediate converter 140. At least a portion of the random write data to be used to perform an authentication operation or process may be temporarily stored in an internal local memory of the storage device 300 (e.g., Figure 2 Because the storage device 300 is performing the authentication operation, the storage device 300 does not write the random write data to the non-volatile memory of the storage device 300 (e.g., Figure 2 The random write data may be used only to perform the authentication operation.

[0118] Despite Fig.13In the example, the operation of block S113_2' is after the operation of block S111', but the system according to the embodiment of the inventive concept is not limited thereto. Therefore, the storage device 300 may receive a read command and a first random authentication address (S111') after receiving a write command and random write data (S113_2').

[0119] At box S121_2', the storage device 300 can perform an authentication operation or process by using a stored portion or all of the first random authentication address and a stored portion or all of the random write data as data for performing the authentication operation or process.

[0120] The host 100 may send a read command that enables the storage device 300 to output the result of performing the authentication operation or process and send the result to the host 100 (S320). The storage device 300 may output result data corresponding to the result of performing the authentication operation or process in response to the read command (S131). At block S220, the host 100 may determine whether the authentication operation of the storage device 300 has succeeded based on the result data.

[0121] The flow chart and block diagram in the accompanying drawings illustrate the architecture, function and operation of the possible implementation scheme of the system, method and computer program product according to various aspects of the present disclosure. In this regard, each frame in the flow chart or block diagram can represent a module, a fragment or a part of a code, which includes one or more executable instructions for realizing one or more specified logical functions. It should also be noted that in some optional embodiments, the function annotated in the frame may not occur in the order indicated in the figure. For example, the two frames shown in succession can actually be performed substantially at the same time, or these frames can sometimes be performed in reverse order, depending on the functions involved. It should also be noted that each frame in the block diagram and / or flow chart and the combination of frames in the block diagram and / or flow chart can be implemented by a system based on special-purpose hardware that performs a specified function or action, or by a combination of special-purpose hardware and computer instructions.

[0122] While the inventive concept has been particularly shown and described with reference to embodiments thereof, it will be understood that various changes in form and details may be made therein without departing from the spirit and scope of the appended claims.

Claims

1. A method of operating a storage device connected to a host, the method comprising: Enter authentication mode; as well as performing an authentication operation in response to entering the authentication mode, The performing of the authentication operation includes: receiving a read command and a first random authentication address from the host; performing an authentication process by executing an authentication algorithm using at least a portion of the first random authentication address; and Result data is generated in response to performing the authentication process.

2. The method according to claim 1, wherein: Entering the authentication mode includes: sequentially receiving a command and a 1st address to a kth address from the host; and determining whether each of the first to kth addresses is identical to a corresponding sector address of the first to kth sector addresses used to enter the authentication mode, The performing of the authentication operation includes: In response to determining that each of the first to kth addresses is identical to a corresponding sector address of the first to kth sector addresses, the authentication operation is performed, where k is a positive integer.

3. The method according to claim 2, wherein: Entering the authentication mode further includes resetting a state for entering the authentication mode in response to a write command received from the host.

4. The method according to claim 2, further comprising: In response to determining that each of the first to kth addresses is different from a corresponding sector address of the first to kth sector addresses, a state for entering the authentication mode is reset.

5. The method according to claim 1, wherein: Executing the authentication operation further includes: receiving a read command and a predetermined specific authentication address from the host; and Specific data corresponding to the specific authentication address is output.

6. The method according to claim 5, wherein: The first random authentication address is different from the specific authentication address.

7. The method according to claim 1, wherein: Executing the authentication operation further includes: receiving from the host a read command together with a second random authentication address; Wherein, performing the authentication process includes using at least a portion of the second random authentication address to perform the authentication process.

8. The method according to claim 1, wherein: Executing the authentication operation further includes: receiving from the host a write command together with a second random authentication address; Wherein, performing the authentication process includes using at least a portion of the second random authentication address to perform the authentication process.

9. The method according to claim 1, wherein: Executing the authentication operation further includes: receiving a write command and write data from the host; Wherein, performing the authentication process includes performing the authentication process based on at least a portion of the write data.

10. A method of operating a storage device connected to a host, the method comprising: Enter authentication mode; as well as performing an authentication operation in response to entering the authentication mode, The performing of the authentication operation includes: receiving a write command and a first random authentication address from the host; performing an authentication process by executing an authentication algorithm using at least a portion of the first random authentication address; and Result data is generated in response to performing the authentication process.

11. The method according to claim 10, wherein: Entering the authentication mode includes: sequentially receiving a read command and a 1st address to a kth address from the host; and determining whether each of the first to kth addresses is identical to a corresponding sector address of the first to kth sector addresses used to enter the authentication mode, The performing of the authentication operation includes: In response to determining that each of the first to kth addresses is identical to a corresponding sector address of the first to kth sector addresses, the authentication operation is performed, where k is a positive integer.

12. The method according to claim 10, wherein: Executing the authentication operation further includes: receiving from the host a write command together with a second random authentication address; Wherein, performing the authentication process includes using at least a portion of the second random authentication address to perform the authentication process.

13. The method according to claim 10, performing the authentication operation further comprises: receiving a write command and write data from the host; Wherein, performing the authentication process includes performing the authentication process based on at least a portion of the write data.

14. A system, comprising: a storage device, the storage device being configured to perform an authentication operation in an authentication mode; as well as a host, the host being configured to also perform the authentication operation, Wherein, in the authentication mode, the storage device is configured to perform the authentication operation by receiving a read command and a random authentication address together from the host, performing an authentication process by executing an authentication algorithm using at least a portion of the random authentication address, and generating result data in response to performing the authentication process.

15. The system of claim 14, wherein: The host is further configured to output a read command and first to kth addresses, The storage device is further configured to perform the authentication operation when each of the first to kth addresses received from the host is identical to a corresponding sector address of the first to kth sector addresses used to enter the authentication mode.

16. The system of claim 15, wherein: The storage device is further configured to output kth data corresponding to the kth address, The host is further configured to receive the kth data, and send the read command and the random authentication address to the storage device based on the kth data.

17. The system of claim 14, wherein: In the authentication mode, the storage device is further configured to perform the authentication operation by receiving a read command and a predetermined specific authentication address from the host and outputting specific data corresponding to the specific authentication address.

18. The system of claim 14, wherein: In the authentication mode, the storage device is further configured to perform the authentication operation by receiving the read command and the random authentication address from the host multiple times, and performing the authentication process using at least a corresponding portion of each random authentication address received multiple times.

19. The system of claim 18, wherein: The host and the storage device each include an internal memory, The internal memory of the host and the internal memory of the storage device are configured to store the number of times the read command and the random authentication address are sent or received.

20. The system of claim 17, wherein: The number of times the read command and the random authentication address are received is determined based on the number of bits of data used when performing the authentication process.

21. The system of claim 14, wherein: The host is further configured to receive the result data, and set an authentication flag for the storage device based on the result data.

Citation Information

Patent Citations

  • Outer packaging materials for vacuum insulation panel, Vacuum insulation panel using the same, and Manufacturing method thereof

    KR1020180002312A

  • Writing area security system

    US20100287380A1

  • Self-encrypting drive and user device including the same

    US20150242657A1