Patent Description:
Semiconductor memory devices may be classified into volatile memory devices in which stored data is lost when power is cut off and non-volatile memory devices in which stored data is not lost when power is cut off. The speeds of reading and writing of volatile memory devices are high but data stored therein is lost when an external power supply is cut off. In contrast, the speeds of reading and writing of non-volatile memory devices are lower than those of volatile memory devices but data stored therein is retained even when an external power supply is cut off.

Flash memory, which is one type of non-volatile memory device, has been used in various fields due to the advantages thereof, e.g., a high operating speed, low power consumption, low noise, and high capacity achieved by stacking cells. With the popularization of flash memory, the demand for security technology therefor is increasing.

Self-encrypting drive (SED) among security technologies for flash memory may provide high security protection, whereby data is written in an encrypted format and encrypted data is decrypted and read.

However, storage devices supporting SED are passive devices and may operate in dependence on commands from a host device and thus cannot operate independently when the host device does not support SED. Accordingly, there is a growing need for storage devices capable of operating in various types of host devices.

<CIT> discloses a nonvolatile memory system including a nonvolatile memory device having a physical storage area, and a memory controller managing the physical storage area on the basis of first and second logical areas. The memory controller is configured to receive a logical block address range corresponding to a part of the first logical area and a command from a host and is configured to receive data, a logical block address and a write command from the host to perform an update with respect to the second logical area. When, in the update operation, the received logical block address is included in the logical block address range, the memory controller, in response to the write command, redirects the received logical block address to a logical page number of the second logical area so that the data is written in the second logical area.

<CIT> discloses a portable memory storage device where access to information on the device is granted only upon proper biometric authentication of a user. The device includes a controller, a non-volatile memory which may be a flash memory, and a biometric scanner system for controlling access to the information within the non-volatile memory. Each of the controller, non-volatile memory and biometric scanner system may be mounted in a base of the portable device, with the biometric system having an exposed surface on a top portion of the base for accepting biometric data such as a fingerprint. A cover is provided which includes a USB connector capable of mating within a USB port of the host device to establish communications between the portable and host devices. The cover also covers the exposed portion of the biometric scanner to protect the sensor when the portable memory storage device is not in use.

<CIT> relates to portable data storage devices and to a portable mass storage device for storing private information such as personal medical information, financial information and emergency information.

Provided are a memory controller, a non-volatile memory system including the same, and an operating method of the non-volatile memory system, in which relinking may be performed independently from a host device.

According to an aspect of the inventive concept, a non-volatile memory system includes a storage device configured to be connected to a host device via a physical cable which includes a power line and a data line. The storage device includes a non-volatile memory, a link controller configured to temporarily deactivate the data line while power is supplied from the host device via the power line, and a memory controller. The memory controller includes a biometric module configured to receive biometric data and perform user authentication based on the biometric data, a biometric processing circuit configured to change a state of the memory controller, based on a result of the user authentication, a relink trigger circuit configured to control the link controller, based on the change of the state of the memory controller, and a data processing circuit configured to encrypt and decrypt data, wherein the link controller is configured to temporarily deactivate the data line, while power is supplied from the host device via the power line, in response to the changed state of the memory controller.

According to certain embodiments, a storage device is configured to be connected to a host device via a physical cable which includes a power line and a data line. The storage device includes a non-volatile memory, a data path controller configured to temporarily deactivate the data line while power is supplied from the host device via the power line, and a memory controller. The memory controller includes a biometric module configured to receive biometric data and perform user authentication based on the biometric data; a biometric processing circuit configured to change a state of the memory controller, based on a result of the user authentication; and a data processing circuit configured to encrypt and decrypt data. The data path controller is configured to temporarily deactivate the data line in response to the changed state of the memory controller.

The scope of the invention is defined by the independent claims.

Hereinafter, various embodiments of the inventive concept will be described in detail with reference to the accompanying drawings.

<FIG> are block diagrams of non-volatile memory systems according to embodiments of the inventive concept.

Referring to <FIG>, a non-volatile memory system <NUM> is provided. The non-volatile memory system <NUM> may include a host device <NUM> and a storage device <NUM>.

The storage device <NUM> may include a link (LINK) controller <NUM>, a storage device (SD) controller <NUM>, a non-volatile memory <NUM>, and a biometric module <NUM>.

The host device <NUM> may be embodied as, for example, an electronic device such as a personal computer (PC), a laptop computer, a mobile phone, a smart phone, a tablet PC, a personal digital assistant (PDA), an enterprise digital assistant (EDA), a digital still camera, a digital video camera, an audio device, a portable multimedia player (PMP), a personal navigation device (PND), an MP3 player, a handheld game console, or an e-book. Alternatively, the host device <NUM> may be embodied as, for example, an electronic device such as a wearable device, e.g., a wrist watch or a head-mounted display (HMD).

According to various embodiments, the host device <NUM> may include an interface <NUM> for transmitting and receiving a command CMD and/or data DATA with the storage device <NUM>. The interface <NUM> may include at least one hot-pluggable interface. For example, the interface <NUM> may include interface protocols such as peripheral component interconnect-express (PCI-E), advanced technology attachment (ATA), serial ATA (SATA), parallel ATA (PATA), or serial attached SCSI (SAS). In addition, various interface protocols, such as universal serial bus (USB), multi-media card (MMC), enhanced small disk interface (ESDI) or integrated drive electronics (IDE), and thunderbolt, are applicable.

According to various embodiments, the storage device <NUM> may store and output data. The storage device <NUM> may be an internal memory embedded in an electronic device. For example, the storage device <NUM> may be an embedded universal flash storage (UFS) memory device, an embedded multi-media card (eMMC), or a solid-state drive (SSD). The storage device <NUM> may be formed on a substrate formed within the host device <NUM>. In some embodiments, the storage device <NUM> may be an external memory detachably installed in an electronic device. For example, the storage device <NUM> may include at least one of a UFS memory card, a compact flash (CF) card, a secure digital (SD) card, a micro-SD card, a mini-SD card, an extreme digital (xD) card and a memory stick.

According to various embodiments, the LINK controller <NUM> may control a connection between the storage device <NUM> and the host device <NUM>. When the LINK controller <NUM> is embodied as including a separate component distinguished from the SD controller <NUM> (e.g., when it is not on the same die, or semiconductor package as the SC controller <NUM>), the LINK controller <NUM> may be referred to as a bridge board. The LINK controller <NUM> may also be referred to as an interface device, or interface circuit, or as a data path controller. Also, the SD controller <NUM> and LINK controller <NUM> together may be described simply as a "controller" or "memory controller," whether they are part of a single semiconductor die or device or separate semiconductor dies or devices. The controlling of the connection between the storage device <NUM> and the host device <NUM> may refer to activating or deactivating a data path for data transmission and reception during supply of power via a power line. For example, the LINK controller <NUM> may deactivate a pin to which the data path is connected while a connection to the host device <NUM> via a USB cable is maintained. For example, while power is received from the host device <NUM>, when the pin corresponding to the data path is deactivated or disabled, the host device <NUM> may identify that the pin corresponding to the data path is deactivated although the host device <NUM> has been physically connected to the storage device <NUM> via the USB cable. Thereafter, the host device <NUM> may identify the storage device <NUM> again when the pin corresponding to the data path is activated again by the LINK controller <NUM>. The LINK controller <NUM> includes a switch (not shown) in the data path and may control a connection between the storage device <NUM> and the host device <NUM> by controlling the switch. As another example, the LINK controller <NUM> may further include a micro-controller (not shown). The LINK controller <NUM> may temporarily deactivate the data path by resetting or initiating the micro-controller while power is supplied thereto. Accordingly, even when plug-out or physical disconnection does not actually occur between the host device <NUM> and the storage device <NUM>, relinking may be performed between the host device <NUM> and the storage device <NUM>.

According to various embodiments, the SD controller <NUM> may include a data processing circuit <NUM>, a biometric processing circuit <NUM>, and a relink trigger circuit <NUM>.

The data processing circuit <NUM> may provide various signals to the non-volatile memory <NUM> and may control operations such as writing and reading. For example, the SD controller <NUM> may provide a command CMD and an address ADDR to the non-volatile memory <NUM> to access data stored in a memory cell array.

As another example, the data processing circuit <NUM> may encrypt data and store the encrypted data in the memory cell array or decrypt encrypted data stored in the memory cell array and output the decrypted data as read data. Because encryption and decryption are performed in a process of storing and outputting data, the stored data may be prevented from leaking even when the storage device <NUM> is stolen or lost.

The biometric processing circuit <NUM> may change a state of the SD controller <NUM> according to a biometric verification result. The biometric processing circuit <NUM> may receive user verification data from the biometric module <NUM>. The user verification data may represent whether biometric verification performed through the biometric module <NUM> succeeds or fails. When biometric verification succeeds, the biometric processing circuit <NUM> may change the state of the SD controller <NUM> to an unlocked state and transmit a control signal to the relink trigger circuit <NUM>. The control signal may correspond to a signal for controlling the relink trigger circuit <NUM> to transmit a trigger signal to the LINK controller <NUM>.

The relink trigger circuit <NUM> may transmit the trigger signal to the LINK controller <NUM>. The trigger signal may be a signal controlling the LINK controller <NUM> to perform relinking. The relink trigger circuit <NUM> may transmit the trigger signal to the LINK controller <NUM> in response to the control signal received from the biometric processing circuit <NUM>. For example, in response to the trigger signal, the LINK controller <NUM> may deactivate the pin corresponding to the data path, deactivate the switch in the data path, or initialize the micro-controller included in the LINK controller <NUM>.

According to various embodiments, the relink trigger circuit <NUM> may transmit the trigger signal to the LINK controller <NUM>, based at least on the state of the SD controller <NUM>. For example, when the SD controller <NUM> is changed from a locked state to the unlocked state, the relink trigger circuit <NUM> may transmit the trigger signal to the LINK controller <NUM>.

According to various embodiments, the biometric module <NUM> may compare input biometric data with previously stored biometric data. Here, the biometric data may refer to data used to identify or verify a human, based on his or her physical characteristics. For example, the biometric data may include various data such as fingerprint data, iris data, vein data, voice data, facial feature data, and retinal data.

The biometric module <NUM> may determine whether a user of the storage device <NUM> is a true user or not, based on the biometric data. For example, when the storage device <NUM> is encrypted, the user of the storage device <NUM> must pass user authentication to access a user data region. Accordingly, the user of the storage device <NUM> may input biometric data through the biometric module <NUM> integrated in the storage device <NUM>. The biometric module <NUM> may compare the input biometric data with previously stored biometric data. The biometric module <NUM> may transmit user verification data indicating a result of the comparison to the biometric processing circuit <NUM>. When the comparison result indicates a mismatch, the locked state of the storage device <NUM> is maintained by the biometric processing circuit <NUM>, thereby protecting user data. When the comparison result indicates a match, the state of the storage device <NUM> is changed to the unlocked state by the biometric processing circuit <NUM> and thus the user data is accessible.

In one embodiment, the biometric module <NUM> may be embodied as a fingerprint recognition module. The fingerprint recognition module may be a module that identifies a user by obtaining a digital image of fingerprints distributed on the user's finger. For example, the fingerprint recognition module may be of an optical type, a capacitive type, or an ultrasonic type.

In another embodiment, the biometric module <NUM> may embodied as a vein recognition module. The vein recognition module may further include an infrared sensor. The vein recognition module may be a module that emits infrared rays into blood vessels and identifies an individual, based on a residual image. For example, the vein recognition module may identify an individual, based on a vein image of at least one of the back or palm of a user's hand and the user's finger.

In another embodiment, the biometric module <NUM> may be embodied as an iris recognition module. The iris recognition module may be a module for identifying an individual, based on the shape of a user's iris.

Although it is described in the above-described embodiments that the biometric module <NUM> is based on fingerprints, veins, or an iris, the biometric module <NUM> is not limited thereto. For example, the user may be identified, based on various biometric data such as the user's gait, face, and voice.

According to various embodiments, the biometric module <NUM> may transmit user verification data indicating the result of the comparison to the biometric processing circuit <NUM>. The user verification data may be, for example, "<NUM>" or a logic high value when the user authentication succeeds and may be, for example, "<NUM>" or a logic low value when the user authentication fails. The biometric processing circuit <NUM> may receive the user verification data from the biometric module <NUM> and change the SD controller <NUM> from the locked state to the unlocked state when the user verification data is "<NUM>". The SD controller <NUM> may be changed to the unlocked state by changing pointer information to a normal master boot record (MBR) by the biometric module <NUM>, as will be described with reference to <FIG> and <FIG> below.

According to various embodiments, the trigger signal may be transmitted through a path different from a path for transmission of the command CMD and the data DATA to the data processing circuit <NUM>. The trigger signal may be transmitted by a communication method that is not dependent on reception of commands. For example, the communication method may correspond to general purpose input output (GPIO) communication <NUM>.

Referring to <FIG>, a biometric module <NUM> may transmit the user verification data to a LINK controller <NUM>, as well as the biometric processing circuit <NUM>, in response to a success of user authentication. According to various embodiments, the LINK controller <NUM> may be configured to perform relinking when the user verification data is directly received from the biometric module <NUM>, as well as the trigger signal.

However, because points in time when the biometric processing circuit <NUM> receives the user verification data and changes the state of the SD controller <NUM> to the unlocked state may not be accurately known, the user verification data may be first transmitted to the biometric processing circuit <NUM> and thereafter transmitted to the LINK controller <NUM> after a certain time interval. By transmitting the user verification data at time intervals, the host device <NUM> may be prevented from being relinked to before the SD controller <NUM> is unlocked. According to various embodiments, when the biometric module <NUM> directly transmits the user verification data to the LINK controller <NUM>, the relink trigger circuit <NUM> may be omitted.

Referring to <FIG>, an SD controller <NUM> may further include a connection management circuit <NUM>. In the cases of <FIG> and <FIG>, the LINK controller <NUM> and the SD controller <NUM> are described as separate controllers distinguishable from each other but are not limited thereto. According to various embodiments, the LINK controller <NUM> may be integrated into the SD controller <NUM> (e.g., as part of the same die or semiconductor package). The connection management circuit <NUM> may be a circuit for controlling connection to the host device <NUM>. The connection management circuit <NUM> may perform the same operation as or similar operation to those of the LINK controllers <NUM> of <FIG> and <FIG>. For example, the connection management circuit <NUM> may deactivate or disable a pin corresponding to a data path among a plurality of pins of the SD controller <NUM>, deactivate a switch disposed in the data path, or reset or initialize the SD controller <NUM>. Using the connection management circuit <NUM>, the host device <NUM> may perform relinking to the storage device <NUM> while maintaining a physical connection with the storage device <NUM>. Referring to <FIG>, a biometric processing circuit <NUM> may receive user verification data from a biometric module <NUM>, and transmit a control signal to the connection management circuit <NUM> when user authentication succeeds. The control signal may refer to a signal for controlling the connection management circuit <NUM> to deactivate the pin corresponding to the data path among the plurality of pins of the SD controller <NUM>, deactivate a switch disposed in the data path, or reset the SD controller <NUM>.

Referring to <FIG>, a biometric module <NUM> may transmit user verification data to both a biometric processing circuit <NUM> and a connection management circuit <NUM>. For example, the biometric module <NUM> may change a state of the SD controller <NUM> to the unlocked state in response to the user verification data, and the connection management circuit <NUM> may perform relinking to the host device <NUM> in response to the user verification data. As described above with reference to <FIG>, when the biometric module <NUM> simultaneously transmits the user verification data to the biometric processing circuit <NUM> and the connection management circuit <NUM>, relinking may be performed before the SD controller <NUM> is changed to the unlocked state. Accordingly, the biometric module <NUM> may first transmit the user verification data to the biometric processing circuit <NUM> at regular time intervals, and transmit the user verification data to the connection management circuit <NUM> after a certain time interval.

<FIG> illustrates the exchange of signals in a non-volatile memory system according to an embodiment the inventive concept.

Referring to <FIG>, in operation S110, user configuration may be set between a host device <NUM> and a storage device <NUM>. For example, for data encryption, a user of the storage device <NUM> may newly set user biometric data in the storage device <NUM> or change previously set user biometric data. According to various embodiments, the user configuration may be performed by software supporting a self-encrypting drive (SED) function of the storage device <NUM>. Operation S110 will be described in detail with reference to <FIG> below.

In operation S120, the SD controller <NUM> may change a state of the SD controller <NUM> to the locked state. After completion of the user configuration in operation S110, the user of the storage device <NUM> may disconnect the storage device <NUM> and the host device <NUM> from each other. The SD controller <NUM> may change the state of the SD controller <NUM> to the locked state in response to a power cut-off for security of user data. For example, when the user cancels a physical connection with the host device <NUM>, the supply of power from the host device <NUM> may be cut off. When the supply of power from the storage device <NUM> is cut off, the SD controller <NUM> may change the state of the SD controller <NUM> to the locked state. For example, the SD controller <NUM> may deactivate access to a user data region by changing pointer information of the SD controller <NUM>.

In operation S130, the host device <NUM> and the storage device <NUM> may be physically connected. For example, when both the host device <NUM> and the storage device <NUM> support a USB interface, the physical connection may be performed based on a USB cable. When the host device <NUM> is connected to the storage device <NUM>, the host device <NUM> may operate the storage device <NUM> by supplying power thereto via a power line. For example, in the case of a USB type-C interface among USB interfaces, the storage device <NUM> may be supplied with power from the host device <NUM> through a VBUS pin.

In operation S140, the biometric module <NUM> may perform user authentication. The biometric data obtained in operation S110 may be compared with biometric data input by the user, and a comparison result may be output. For example, when a comparison between a previously stored fingerprint image and an input fingerprint image reveals that they are the same, it may be identified that the user authentication succeeded and thus user verification data may be transmitted to the biometric processing circuit <NUM> of the SD controller <NUM>.

In operation S150, the SD controller <NUM> may be changed to the unlocked state. The biometric processing circuit <NUM> may receive user verification data, for example, that is "<NUM>" or logic high from the biometric module <NUM> and change pointer information for the non-volatile memory <NUM> to activate access to the user data region. A detailed description thereof will be described with reference to <FIG> and <FIG> below.

In operation S160, relinking may be performed between the host device <NUM> and the storage device <NUM>. As described above, the relinking does not refer to performing a physical connection again after the physical connection has been canceled. That is, the relinking may refer to temporarily deactivating only a data path while power is continuously supplied in a plug-in state, rather than performing plug-out and plug-in.

In one embodiment, when the storage device <NUM> includes the LINK controller <NUM> of <FIG>, the relink trigger circuit <NUM> of the SD controller <NUM> may transmit a trigger signal to the LINK controller <NUM>. The LINK controller <NUM> may perform relinking by temporarily disabling a pin corresponding to the data path, temporarily deactivating a switch disposed in the data path, or initializing a microprocessor (not shown), in response to the trigger signal. In doing so, from the host's perspective, it appears as if the storage device <NUM> has been disconnected (communications have been disconnected), so that the host must re-establish communications with the storage device <NUM>. This re-established communication will be made based on the updated settings of the pointer.

In another embodiment, when the storage device <NUM> is embodied as including one SD controller <NUM> as illustrated in <FIG>, relinking may be performed by controlling the connection management circuit <NUM>. For example, when receiving a control signal from the biometric processing circuit <NUM> or user verification data directly from the biometric module <NUM>, the connection management circuit <NUM> may perform relinking by temporarily disabling the pin corresponding to the data path or temporarily deactivating the switch disposed in the data path.

In operation S170, the host device <NUM> may write and/or read data. Because relinking is performed in operation S160, after the pin or switch has been reactivated or enabled, or the SD controller <NUM> has been reset or re-initialized, the host device <NUM> may identify the storage device <NUM> again. However, the pointer information has been changed in operation S150 and thus the host device <NUM> may start booting in the user data region and access the user data region. Accordingly, the host device <NUM> may request user data to be read (CMD_READ) or to be written to the user data region (CMD_WRITE). The above process of changing the pointer and relinking may occur without the need for any command from the host, such as a periodic command to check for the locked/unlocked status of the storage device <NUM>.

<FIG> is a flow chart illustrating an operation of a memory controller according to an embodiment of the inventive concept.

Referring to <FIG>, the SD controller <NUM> may detect a connection with the host device <NUM> (operation S310). The host device <NUM> and the storage device <NUM> may be connected according to a commonly supportable interface. For example, when the host device <NUM> and the storage device <NUM> each support a USB interface, they may be connected through a USB cable. The storage device <NUM> may be connected to the host device <NUM> to receive power and transmit and receive data. According to various embodiments, when the SD controller <NUM> and the host device <NUM> are connected, the SD controller <NUM> may correspond to the locked state. Before the connection is made, power supply may be cut off when the connection between the SD controller <NUM> and the host device <NUM> is canceled. The SD controller <NUM> may change the state thereof to the locked state whenever power supply is cut off.

The biometric module <NUM> may perform user authentication (operation S320). A user who wants to unlock the storage device <NUM> may input biometric data through the biometric module <NUM> in the storage device <NUM>. For example, when the biometric module <NUM> is embodied as a fingerprint recognition module, the user may input biometric data of a fingerprint shape by touching the fingerprint recognition module with his or her finger. The biometric module <NUM> may identify whether the input biometric data matches biometric data previously stored through a user registration process (operation S330). For example, when the biometric module is embodied as the fingerprint recognition module, the biometric module <NUM> may identify whether an input fingerprint image matches a previously stored fingerprint image. As a comparison between these two fingerprint images reveals that they match, the biometric module <NUM> may determine that user authentication succeeds.

When the previously stored biometric data and the input biometric data do not match, the biometric module <NUM> may wait until biometric data is received again. When the previously stored biometric data and the input biometric data match, the SD controller <NUM> may change the state of the SD controller <NUM> to the unlocked state (operation S340). Specifically, when biometric authentication succeeds, the biometric module <NUM> may transmit user verification data to the SD controller <NUM>. The biometric processing circuit <NUM> of the SD controller <NUM> may change the state of the SD controller <NUM> to the unlocked state according to the user verification data. The changing of the state of the SD controller <NUM> to the unlocked state may be achieved by changing pointer information for the non-volatile memory <NUM> to an operating system (OS) MBR. The SD controller <NUM> may perform relinking to enable access to the user data region after the state of the SD controller <NUM> is changed to the unlocked state (operation S350). For example, after the pointer information is changed, the biometric processing circuit <NUM> may transmit the control signal to the relink trigger circuit <NUM> or the connection management circuit <NUM> to control them to perform relinking (e.g., to cause a temporary deactivation or disabling of a pin or switch to appear to the host as if the storage device <NUM> has been disconnected).

<FIG> and <FIG> illustrate data storage states of a non-volatile memory device according to an embodiment of the inventive concept.

<FIG> illustrates storage spaces of the non-volatile memory <NUM> according to various embodiments. The storage spaces of the non-volatile memory <NUM> will be referred to as a memory region. The memory region may include a non-security region and a security region.

The non-security region may include a first master boot record and user data. The non-security region is a region storing the user data, and may be referred to as various terms such as a user volume, a user data region, and a private region. The non-security region may be understood as a memory region accessible in a state in which security for the storage device <NUM> is disabled (a non-security state).

An MBR may include information including a location of a partition, boot code for booting, and the like. The first MBR may be referred to as an operating system MBR. For example, when an operating system of the host device <NUM> is Windows, the first MBR may be an MBR loader. As another example, when the operating system of the host device <NUM> is Linux, the first MBR may be LInux LOader (LILO) or Rand Unified Boot loader (GRUB). An LBA scheme (logical block addressing scheme) may be a scheme for specifying a location of a data block in the memory region. For example, a first data block may correspond to LBA (logical block address) <NUM> and a second data block may correspond to LBA <NUM>. Therefore, it may be understood that the first MBR is stored in an LBA <NUM> region. LBA <NUM> is a region storing user data, and LBA <NUM> may store MBR data.

According to various embodiments, the security region may include a second MBR and a region storing SED support software. The security region may be understood as a memory region accessible in a state in which the security of the storage device <NUM> is maintained.

The second MBR may be referred to as various terms such as a shadow MBR and a fake MBR. The second MBR may correspond to an MBR for forcing the host device <NUM> to start booting in a region irrelevant to the user data when the security for the storage device <NUM> is not canceled and thus access to the non-security region should not be allowed. According to various embodiments, firmware files may be stored in the LBA <NUM> region of the security region. This is to induce the installation of software that enables users to disable security.

According to various embodiments, the biometric processing circuit <NUM> may activate a pointer <NUM>. The pointer <NUM> may be activated when the biometric processing circuit <NUM> receives user verification data indicating that biometric authentication has succeeded from the biometric module <NUM>. When the pointer <NUM> is activated, the host device <NUM> may be connected to the storage device <NUM> and start booting using the first MBR in the non-security region. When booting is started using the first MBR, the host device <NUM> may access the region storing the user data.

According to various embodiments, the biometric processing circuit <NUM> may activate a pointer <NUM>. The pointer <NUM> may be activated when the biometric processing circuit <NUM> receives user verification data indicating that biometric authentication has failed from the biometric module <NUM>. When the pointer <NUM> is activated, the host device <NUM> may be connected to the storage device <NUM> and start booting using the second MBR of the security region. When booting is started using the second MBR, the region storing the user data is not visible to the host device <NUM> and only the region storing the SED support software is accessible by the host device <NUM>. Though the region that stores user data is referred to herein as a non-security region, it is in effect, a secure region. That is, when user verification fails, the region storing the user data cannot be accessed, and in this sense it is a secure region.

<FIG> illustrates a case where a storage region is used by a plurality of users, according to various embodiments. An LBA <NUM> region may be a region storing data of a first user, an LBA <NUM> region may be region storing data of a second user, and an LBA <NUM> region may be a region storing data of a third user. When receiving biometric data, the biometric module <NUM> may compare the biometric data with previously stored biometric data to determine whether they match. For example, it may be assumed that the first user corresponds to first biometric data, the second user corresponds to second biometric data, and the third user corresponds to third biometric data. In this case, the biometric module <NUM> may compare the received biometric data with all the first to the third biometric data. When the received biometric data does not match any of the first biometric data to third biometric data, security for the storage device <NUM> may be maintained. When the received biometric data matches any one of the first biometric data to the third biometric data, the biometric processing circuit <NUM> may refer to a start address of a user data region of partition information in the first MBR, which corresponds to the matching biometric data. For example, when the second biometric data and user input match, the biometric processing circuit <NUM> may identify a start address of the LBA <NUM> region, based on the partition information in the first MBR. In this case, the LBA <NUM> region for the first user or the LBA <NUM> region for the third user may be invisible to the host device <NUM>. This is because only an address of the LBA <NUM> region referenced using the partition information of the first MBR is accessible by the host device <NUM>.

<FIG> is a block diagram of a storage device according to an embodiment of the inventive concept.

The storage device <NUM> in which the LINK controller <NUM> and the SD controller <NUM> are provided separately will be described below. However, the inventive concept is not limited thereto and is also applicable to the storage device <NUM> embodied only with the SD controller <NUM> as illustrated in <FIG> and <FIG>.

Referring to <FIG>, a data processing circuit <NUM> may include an encryptor <NUM>, a decryptor <NUM>, and a data encrypting key (DEK) storing circuit <NUM>.

The encryptor <NUM> may encrypt write data DATA_W. In one embodiment, when the SD controller <NUM> is in the locked state, a write command CMD_W may be transmitted to the encryptor <NUM>. In this case, the SD controller <NUM> cannot access the non-security region of the non-volatile memory <NUM> and thus data writing may not be performed. When the SD controller <NUM> is in the unlocked state, the write command CMD_W may be transmitted. In the unlocked state, the encryptor <NUM> may access the non-security region and thus may execute the write command CMD_W. The encryptor <NUM> may not directly store the write data DATA_W in a designated address ADDR but may encrypt the write data DATA_W. The encryptor <NUM> may perform encryption using a DEK requested and received from the DEK storing circuit <NUM>. After the encryption is completed, the encryptor <NUM> may store encrypted write data ENCRYPTED DATA_W in a designated address ADDR_W.

The decryptor <NUM> may decrypt encrypted read data ENCRYPTED DATA_R. In one embodiment, when the SD controller <NUM> is in the locked state, a read command CMD_R may be transmitted to the decryptor <NUM>. In this case, the SD controller <NUM> cannot access the non-security region of the non-volatile memory <NUM> and thus data reading may not be performed. When the SD controller <NUM> is in the unlocked state, the read command CMD_R may be transmitted to the decryptor <NUM>. In the unlocked state, the decryptor <NUM> may access the non-security region and thus execute the read command CMD_R. The decryptor <NUM> may read data stored in a designated address ADDR_R. The read data may be encrypted read data ENCRYPTED DATA_R. The decryptor <NUM> may perform decrypting using a DEK received from the DEK storing circuit <NUM>. After the decryption is completed, the decryptor <NUM> may output decrypted read data DATA_R to the host device <NUM> by transmitting the decrypted read data DATA_R to the LINK controller <NUM>.

The DEK storing circuit <NUM> may store key values used to encrypt and decrypt data. In one embodiment, the DEK may be a unique value for the storage device <NUM>. For example, the DEK may be generated based on a global unique identifier (GUID) of the storage device <NUM>.

In the above-described embodiment, the biometric data received through the biometric module <NUM> is used for user authentication and the DEK is described above as the unique value for the storage device <NUM>, but embodiments are not limited thereto.

According to various embodiments, the DEK may be additionally encrypted, based on previously stored biometric data. In this case, the biometric data may be not only used by the biometric module <NUM> to authenticate but also be used to obtain the DEK. When the DEK is additionally encrypted, it is possible to prevent an external intruder (e.g., a hacker) from decrypting user data by obtaining only the DEK.

According to various embodiments, the biometric module <NUM> may include a biometric data storing circuit <NUM> and an authentication circuit <NUM>. The biometric data storing circuit <NUM> may store biometric data that is input during a user registration process. The user registration process may be performed using software supporting an SED function as described with reference to <FIG> below. The biometric data storing circuit <NUM> may transmit stored biometric data to the authentication circuit <NUM> in response to biometric data input to the biometric module <NUM>.

The authentication circuit <NUM> may perform data comparison for user authentication. For example, the authentication circuit <NUM> may compare the input biometric data with the biometric data stored in the biometric data storage circuit <NUM>. When the input biometric data and the biometric data stored in the biometric data storage circuit <NUM> do not match, "<NUM>" or logic low data may be output as an authentication result. When the input biometric data and the biometric data stored in the biometric data storage circuit <NUM> match, "<NUM>" or logic high data may be output as an authentication result. The authentication result may correspond to user verification data illustrated in <FIG>.

<FIG> illustrates an interface between a host device and a storage device according to an embodiment of the inventive concept.

Referring to <FIG>, the SD controller <NUM> may include a processor <NUM>, random access memory (RAM) <NUM>, a host interface <NUM>, a memory interface <NUM>, a biometric module <NUM>, and a relink module <NUM>.

The processor <NUM> may include a central processing unit (CPU) or a microprocessor, and control overall operations of the SD controller <NUM>. For example, the processor <NUM> may be configured to drive software or firmware for controlling the SD controller <NUM>, and the software or firmware may be driven by being loaded in the RAM <NUM>. The RAM <NUM> may be used as an operating memory, a cache memory, or a buffer memory of the processor <NUM>. In the RAM <NUM>, write data to be written to a memory device may be temporarily stored and read data read from the memory device may be temporarily stored.

The host interface <NUM> interfaces with the host device <NUM> to receive a request for a memory operation from the host device <NUM>. In addition, the memory interface <NUM> may provide an interface between the SD controller <NUM> and a memory device (not shown). For example, write data may be transmitted to and read data may be received from the memory device through the memory interface <NUM>. In addition, the memory interface <NUM> may provide commands and addresses to the memory device, and receive various information from the memory device and provide the information to the SD controller <NUM>.

In one embodiment, the relink module <NUM> and the biometric module <NUM> may perform various relink-related operations according to the above-described embodiments, based on a software method, and the relink module <NUM> may include a data processing module <NUM>, a biometric processing module <NUM>, and a relink trigger module <NUM>. When operations according to embodiments of the inventive concept are performed based on a software method, each of the biometric module <NUM>, the data processing module <NUM>, the biometric processing module <NUM>, and the relink trigger module <NUM> may include programs executable by the processor <NUM>, and the programs may be loaded into the RAM <NUM> and executed by the processor <NUM>. Accordingly, the biometric module <NUM> and the relink module <NUM>, including data processing module <NUM>, biometric processing module <NUM>, and relink trigger module <NUM> may be implemented using various software (e.g., computer program code) for execution by a processor. In some cases parts of the biometric module <NUM> or the relink module <NUM>, including data processing module <NUM>, biometric processing module <NUM> may be implemented with a combination of software, hardware, and/or firmware.

<FIG> is a flow chart illustrating an operation of a host device according to an embodiment of the inventive concept.

Referring to <FIG>, the host device <NUM> may detect a connection with the storage device <NUM> (operation S710). Operation S710 may be described with reference to the above description of operation S130 of <FIG> and operation S310 of <FIG>. The host device <NUM> may identify that the storage device <NUM> supports the SED function (operation S720). For example, the host device <NUM> may receive configuration information for the storage device <NUM> and check whether the SED function is supported through an identifier indicating whether SED is supported.

According to various embodiments, when the storage device <NUM> supports SED, communication may be established based on a Trusted Computing Group (TCG) protocol. The TCG protocol is a communication protocol supporting SED, and relates to a method of changing a partition method, a locked state, and an unlocked state of a user region in the storage device <NUM>. For example, when the storage device <NUM> supports SED, shadow MBR (SMBR) may be generated based on the TCG protocol.

The host device <NUM> may install software that supports the SED function (operation S730). In one embodiment, the host device <NUM> may identify whether the storage device <NUM> supports the SED function but may display a pop-up window suggesting that the software be installed or allow an installation file of the software to be automatically executed when the SED function of the storage device <NUM> is disabled. The host device <NUM> may guide biometric data to be obtained by the software that supports the SED function (operation S740). When the software is executed, the host device <NUM> may request the biometric module <NUM> of the storage device <NUM> to input biometric data for activating the SED function. The guiding of the biometric data to be obtained may be based on at least one of a visual guide including the pop-up window and an audio guide including a voice output. The storage device <NUM> may store the input biometric data in the biometric data storing circuit <NUM> (operation S750). Because the input biometric data does not need to be transmitted to the host device <NUM>, the storage device <NUM> may be unlocked by simply inputting the biometric data through the biometric module <NUM> of the storage device <NUM> after the SED function is activated through the user registration process, even when the software is not installed in the host device <NUM> or the host device <NUM> is not connected to the storage device <NUM>.

It is described in the above-described embodiments that the biometric data input in the user registration process is not being transmitted to the host device <NUM> but embodiments are not limited thereto. According to various embodiments, the host device <NUM> may further include a separate biometric module differentiated from the biometric module <NUM> of the storage device <NUM>. For example, the separate biometric module is a separate device and may be connected through an input/output interface of the host device <NUM> or may be integrated and embedded into the host device <NUM>. When there is a biometric module connected to the host device <NUM>, the host device <NUM> may request the storage device <NUM> to provide the biometric data. Alternatively, the host device <NUM> may obtain biometric data from a user through a biometric module connected to the host device <NUM> and transmit the obtained biometric data to the storage device <NUM>. Alternatively, the host device <NUM> may store biometric data received from the storage device <NUM> and use the biometric data for user authentication. For example, the host device <NUM> may identify connection of the storage device <NUM> including the biometric module <NUM> thereto and automatically execute the software to request biometric data. When a user inputs biometric data through the biometric module <NUM> of the storage device <NUM> in response to the request, the host device <NUM> may perform user authentication by comparing the biometric data with previously stored biometric data and transmit a result of the user authentication to the storage device <NUM> or may simply transmit biometric data input through the separate biometric module to the storage device <NUM> so that user authentication may be performed by the storage device <NUM>.

<FIG> is a block diagram of a non-volatile memory system. A description about a part of <FIG> that is the same as that of <FIG> may be omitted here. <FIG> and <FIG> are examples described to contrast certain features described previously with a system that may not include these features.

Referring to <FIG>, a host device <NUM> may transmit a command CMD_MONITOR for identifying a state of an SD controller <NUM>. The SD controller <NUM> of <FIG> may not include the LINK controller <NUM> of <FIG> or the connection management circuit <NUM> of <FIG>. The SD controller <NUM> of <FIG> may be subject to a command received from the outside (e.g., the host device <NUM>). The host device <NUM> may periodically transmit a CMD_MONITOR signal to the SD controller <NUM>. For example, when a state of the SD controller <NUM> is changed from the locked state to the unlocked state, a user data region may be accessible according to a changed pointer <NUM> by performing relinking. However, the SD controller <NUM> and a non-volatile memory <NUM> are passive devices and thus it may be necessary to periodically check whether the state of the SD controller <NUM> has changed. The passive devices are devices capable of transmitting a response to a command only when they receive the command and thus may include devices that cannot independently transmit a signal first.

In some embodiments, the SD controller <NUM> transmits a response signal in response to the CMD_MONITOR signal that is periodically received. For example, in some embodiments, the host device <NUM> cannot identify a point in time when the SD controller <NUM> is unlocked and thus periodically transmits the CMD_MONITOR signal to the SD controller <NUM> until a RSP_MONITOR signal, which is a response signal indicating the unlock status is received. Therefore, in this embodiment, the SD controller <NUM> transmits the RSP_MONITOR signal to the host device <NUM> in response to the CMD_MONITOR signal that is periodically transmitted. The CMD_MONITOR signal and the RSP_MONITOR signal that are periodically transmitted and received may act as loads on the host device <NUM> and the SD controller <NUM>, respectively, thereby degrading the performance of the entire memory system.

In some embodiments, the host device <NUM> may transmit a signal requesting the SD controller <NUM> to perform relinking. For example, a response signal indicating the unlocked state may be received while the host device <NUM> periodically performs monitoring. The host device <NUM> needs to perform relinking to access the user data region according to a changed pointer. Therefore, the host device <NUM> may transmit a command instructing the SD controller <NUM> to perform relinking. When the host device <NUM> transmits a CMD_RELINK signal each time, a delay may occur when the SD controller <NUM> that is in the unlocked state accesses the non-volatile memory <NUM>. This is because, even when the SD controller <NUM> is changed to the unlocked state, the host device <NUM> transmits a subsequent CMD_MONITOR signal and identifies that the SD controller is in the locked state until the SD controller <NUM> transmits the RSP_MONITOR signal in response to the CMD_MONITOR signal. In addition, because the host device <NUM> needs to transmit the CMD_RELINK signal again after receiving the RSP_MONITOR signal and thus a delay corresponding to a time required to transmit the CMD_RELINK signal may additionally occur.

<FIG> illustrates the exchange of signals in a non-volatile memory system. A description about part of <FIG> that is the same as that of <FIG> will be omitted here.

Referring to <FIG>, a host device <NUM> transmits a monitoring signal CMD_MONITOR at regular intervals to check whether the SD controller <NUM> is in the locked state. An SD controller <NUM> should transmit a response signal RSP_MONITOR indicating a state thereof in response to the monitoring signal CMD_MONITOR received at regular intervals.

In operation S190, a user input instructing to unlock the SD controller <NUM> may be input only through the host device <NUM>. This is because the storage device <NUM> does not include the biometric module <NUM>, unlike in <FIG> and <FIG>. Accordingly, the unlocking of the storage device <NUM> may be subject to the host device <NUM>.

Although the SD controller <NUM> is changed to the unlocked state in operation S160, the host device <NUM> may identify that the SD controller <NUM> is in the locked state. Thereafter, a change in the state of the SD controller <NUM> may be identified at a point in time when a RSP_MONITOR (UNLOCK) signal is received as a response signal to a CMD_MONITOR signal that is periodically transmitted. Accordingly, a time delay may occur from a point in time when the SD controller <NUM> is actually unlocked to a point in time when the host device <NUM> identifies the unlocked state of the SD controller <NUM>.

In addition, in order to identify a user data region, the host device <NUM> needs to transmit a command requesting to perform relinking. Relinking may be delayed by a time required to transmit the CMD_RELINK signal and a time required for the SD controller <NUM> to receive the CMD_RELINK signal and to start relinking.

Effects of certain aspects of the inventive concept will be understood by referring to <FIG> and <FIG> together with the embodiments of <FIG> and <FIG>, and comparing the differences.

<FIG> is a block diagram illustrating an example of applying a memory device to a solid-state drive (SSD) system, according to an embodiment of the inventive concept.

Referring to <FIG>, an SSD system <NUM> may include a host device <NUM> and an SSD <NUM>. The SSD <NUM> exchanges signals with the host device <NUM> through a signal connector and is supplied with power through a power connector. The SSD <NUM> may include an SSD controller <NUM>, a plurality of memory devices <NUM> to <NUM>, a LINK controller <NUM>, and a biometric module <NUM>. In this case, the SSD controller <NUM>, the LINK controller <NUM>, and the biometric module <NUM> may be implemented using the embodiments illustrated in <FIG>. Accordingly, the SSD <NUM> does not perform relinking depending on a command from the host device <NUM> but may independently perform relinking even when no command is received from the host device <NUM>. In addition, the SSD <NUM> does not receive a monitoring command from the host device <NUM> and thus does not need to transmit a response signal in response to the monitoring command, thereby reducing load on the memory system. In addition, the SSD <NUM> does not receive the monitoring command or a command instructing relinking from the host device <NUM> and thus is capable of independently performing relinking even based on a protocol or an operating system that does not support the monitoring command or the command instructing relinking. For example, the dependency of the SSD <NUM> on the host device <NUM> or the operating system of the host device <NUM> may be reduced and the SSD <NUM> is applicable to n various types of host devices. In addition, when the locked state of the SSD <NUM> is canceled, the SSD <NUM> independently performs relinking and thus relinking may be quickly performed without causing a time delay to transmit and receive the monitoring command and the command instructing relinking.

Memory devices according to embodiments of the inventive concept may be mounted in or are applicable to not only the SSD <NUM> but also memory card systems, computing systems, UFSs, and the like. An operating method of a memory device according to an embodiment of the inventive concept is applicable to various types of electronic systems in which non-volatile memory is mounted.

<FIG> is a block diagram of a storage device according to an embodiment of the inventive concept. A description of a part of <FIG> that is the same as that of <FIG> may be omitted here.

Referring to <FIG>, the storage device <NUM> may further include a radio-frequency identification (RFID) module <NUM>. The RFID module <NUM> may refer to a module for exchanging data between an RFID tag device and an RFID reader device by using radio frequency. According to various embodiments, the RFID module <NUM> may be embodied as a near-field communication (NFC) module and/or a magnetic security transfer (MST) module.

According to various embodiments, a user may have an external device (not shown) distinguished from the host device <NUM>. Examples of the external device may include devices, such as smart phones, which are capable of performing biometric authentication and establishing wireless communication. The user may perform biometric authentication using the external device. The external device includes a biometric module and thus may complete user authentication based on input biometric data. The external device may transmit user verification data to the NFC module or to the storage device <NUM> through the NFC module or the MST module, in response to the success of the user authentication. In this case, the external device may be manipulated by the user to be positioned within a predetermined distance from the storage device <NUM>. For example, the MST module may transmit user verification data indicating whether or not user authentication has succeeded, together with a unique identifier of the external device, through a magnetic field. The storage device <NUM> may receive the user verification data through the RFID module <NUM> and be unlocked when the user verification data is "<NUM>" or logic high. According to the above-described embodiments, a user may unlock the storage device <NUM> by using not only the biometric module <NUM> of the storage device <NUM> but also his or her existing external device without intervention of the host device <NUM>.

Claim 1:
A non-volatile memory system (<NUM>) comprising a storage device (<NUM>) configured to be connected to a host device (<NUM>) via a physical cable which includes a power line and a data line,
wherein the storage device (<NUM>) comprises:
a non-volatile memory (<NUM>);
a link controller (<NUM>) configured to temporarily deactivate the data line while power is supplied from the host device (<NUM>) via the power line; and
a memory controller,
wherein the memory controller comprises: a biometric module (<NUM>) configured to receive biometric data and perform user authentication based on the biometric data; a biometric processing circuit (<NUM>) configured to change a state of the memory controller, based on a result of the user authentication; a relink trigger circuit (<NUM>) configured to control the link controller (<NUM>), based on the change of the state of the memory controller; and a data processing circuit (<NUM>) configured to encrypt and decrypt data, wherein the link controller (<NUM>) is configured to temporarily deactivate the data line, while power is supplied from the host device (<NUM>) via the power line, in response to the change of the state of the memory controller.