Nothing Special   »   [go: up one dir, main page]

US9270445B2 - Solid state disk and input/output method - Google Patents

Solid state disk and input/output method Download PDF

Info

Publication number
US9270445B2
US9270445B2 US12/464,914 US46491409A US9270445B2 US 9270445 B2 US9270445 B2 US 9270445B2 US 46491409 A US46491409 A US 46491409A US 9270445 B2 US9270445 B2 US 9270445B2
Authority
US
United States
Prior art keywords
data
storage unit
solid state
initialization vector
disk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US12/464,914
Other versions
US20090300372A1 (en
Inventor
Woo-Hyun LEE
Ji-soo Kim
Bum-Seok Yu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Assigned to SAMSUNG ELECTRONICS CO., LTD. reassignment SAMSUNG ELECTRONICS CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KIM, JI-SOO, LEE, WOO-HYUN, YU, BUM-SEOK
Publication of US20090300372A1 publication Critical patent/US20090300372A1/en
Application granted granted Critical
Publication of US9270445B2 publication Critical patent/US9270445B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B9/00Recording or reproducing using a method not covered by one of the main groups G11B3/00 - G11B7/00; Record carriers therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Definitions

  • the present invention relates to a solid state disk. More particularly, the present invention relates to a device and method capable of ciphering and deciphering all large-volume data associated with a solid state disk.
  • HDD Hard Disk Drive
  • SSD Solid State Disk
  • the SSD is relatively disadvantageous in its overall storage capacity and cost. But it is also relatively advantageous in its data access speed, overall size, and resistance to mechanical impact.
  • Ongoing development efforts related to fabrication processes for and design adaptations of the SSD can be expected to increase data storage capacity and decrease cost. Hence, it is expected that in the near future, the magnetic disk device may be replaced by the SSD in many applications.
  • the control unit is an essential interface between the constituent flash memory and the others components forming the device. In essence, the control unit administers data exchange according to a defined protocol.
  • Many conventional computer systems use the so-called “Advanced Technology Attachment or ATA” to exchange data with conventional HDDs.
  • the ATA is essentially a data transfer standard promulgated by IBM corporation defining an exchange of data between a host device and conventional HDDs. Any bulk data storage interface, such as those associated with a SSD, must competently implement the ATA in order to be backwards compatible with legacy software and existing data exchange protocols.
  • SSD controllers must establish an interface with a flash memory, not some type of magnetic disk.
  • a device for controlling the overall data transfer between a SSD and a corresponding host device will hereafter be referred to as a SSD controller.
  • Embodiments of the invention are directed to a device and method capable of ciphering and deciphering bulk data communicated to/from a solid state disk (SSD) without excessively burdening a host device processor.
  • SSD solid state disk
  • One embodiment of the invention provides a solid state disk comprising; a storage unit configured to store data, and a control part configured to control an enciphering and writing operation associated with the data using a key value and an initialization vector, wherein the initialization vector is generated by processing an address corresponding to the data.
  • the invention provides an input/output method adapted for use with a solid state disk the method comprising; receiving externally provided data and a corresponding address, scrambling the data and an initialization vector, and enciphering the scrambled data using a key value, wherein the initialization vector is generated by processing the address.
  • the invention provides a host system comprising; a central processing unit (CPU), and a non-volatile bulk data storage device storing data provided by the CPU, wherein the non-volatile bulk data storage device comprises; a storage unit configured to store the data, and a control part configured to scramble the data and an initialization vector, encipher the scrambled data using a key value, and store the enciphered data in the storage unit, wherein the control part is further configured to decipher the enciphered data retrieved from the storage unit using the key value, scramble the deciphered data and the initialization vector, and read the scrambled data, and the initialization vector is generated by processing an address corresponding to the data.
  • CPU central processing unit
  • the non-volatile bulk data storage device comprises; a storage unit configured to store the data, and a control part configured to scramble the data and an initialization vector, encipher the scrambled data using a key value, and store the enciphered
  • FIG. 1 is a block diagram of a solid state disk (SSD) according to an embodiment of the invention.
  • SSD solid state disk
  • FIG. 2 is a block diagram further illustrating the SSD controller of FIG. 1 .
  • FIG. 3 shows an exemplary original image produced by a video device incorporating an SSD.
  • FIG. 4 illustrates image data obtained by enciphering the original image of FIG. 3 in an Electronic CodeBook (ECB) mode of operation.
  • EBC Electronic CodeBook
  • FIG. 5 shows data obtained by enciphering the original image of FIG. 3 in a Cipher Block Chaining (CBC) mode.
  • CBC Cipher Block Chaining
  • FIG. 6 is a block diagram showing an encryption process according to an embodiment of the invention.
  • FIG. 7 is a block diagram showing a decryption process according to an embodiment of the invention.
  • FIG. 8 is a block diagram further illustrating an Advanced Encryption Standard (AES) associated with the embodiment of FIG. 7 .
  • AES Advanced Encryption Standard
  • FIG. 9 is a conceptual block diagram showing an exemplary cipher and decipher operations assuming the AES of FIG. 8 is used in relation to defined data sectors.
  • FIG. 10 is a conceptual block diagram showing cipher and decipher operations conducted based upon sectors when an initialization vector is generated by a host CPU.
  • FIG. 11 is a block diagram showing a system including a solid state disk (SSD) according to an embodiment of the invention.
  • SSD solid state disk
  • FIG. 12 is a block diagram showing a system including a hard disk according to another embodiment of the invention.
  • FIG. 13 is a block diagram showing a system including an optical disk according to yet another embodiment of the invention.
  • FIGS. 1 and 2 An exemplary host device (e.g., a computer system) is illustrated in the block diagrams of FIGS. 1 and 2 .
  • This type of host device is capable of incorporating certain embodiments of the invention with provide cipher/decipher operations for stored data.
  • FIGS. 6 through 9 that follow further describe a computer system using a Cipher Block Chaining (CBC) mode of operation in relation to certain embodiments of the invention.
  • the constituent bulk data storage device may be implemented using a conventional solid state disk (SSD), hard disk (HD), optical disk, and/or the like.
  • FIG. 1 is a partial block diagram showing a SSD according to an embodiment of the invention.
  • a computer system 100 includes in relevant portion a solid state disk (SSD) controller 10 , a buffer 20 , a storage unit 30 , and a bus 40 .
  • SSD solid state disk
  • the computer system 100 is configured to store data transferred from by a system bus (not shown) at a first data transfer rate (e.g., 1.5 Gpbs or 3.0 Gbps) using a conventional S-ATA1 or S-ATA2 interface.
  • a first data transfer rate e.g. 1.5 Gpbs or 3.0 Gbps
  • Such externally provided data may be placed in the buffer 20 before being stored in storage unit 30 by means of bus 40 .
  • data stored in the storage unit 30 is defined in relation to a plurality of sectors.
  • Storage unit 30 is further assumed to be implemented using a plurality flash memory devices, but any competent form of solid-state non-volatile memory may be used.
  • FIG. 1 shows an example where the storage unit 30 includes first and second flash memories 31 and 32 . But, it will be apparent to one skilled in the art that the particular number, type and configuration memories forming the storage unit 30 is a matter of design choice.
  • FIG. 2 is a block diagram further illustrating the SSD controller of FIG. 1 .
  • the SSD controller 10 is assumed to comprise a CPU 11 , a Read-Only-Memory (ROM) 12 , a Pseudo-Random Number Generator (PRNG) 13 , a storage unit controller 14 , a buffer manager 15 , an SATA interface 16 , and an Advanced Encryption Standard (AES) block 17 . These components are connected for data transfer purposes by controller bus 18 .
  • ROM Read-Only-Memory
  • PRNG Pseudo-Random Number Generator
  • AES Advanced Encryption Standard
  • CPU 11 generally controls the operation of ROM 12 , PRNG 13 , storage unit controller 14 , buffer manager 15 , SATA interface 16 , and AES 17 .
  • ROM 12 will typically store BIOS information used to boot the host computer system 100 . However, in other embodiments, BIOS information may be stored in the storage unit 30 .
  • PRNG 13 is used to generate key values under the control of CPU 11 .
  • PRNG 13 is assumed to generate a key value differently whenever the computer system 100 is booted, and the key value is then stored in storage unit 30 . If a key value erase command is executed by CPU 11 , the key value stored in the storage unit 30 is erased. Once an existing key value is erased, it is impossible to restore data in the storage unit 30 using said key value.
  • the storage unit controller 14 controls the operation of storage unit 30
  • the buffer manager 15 generally controls the buffer 20 of FIG. 1 .
  • the buffer 20 may be embodied by one of a SDRAM, DDR SDRAM, DDR2 SDRAM, and DDR3 SDRAM.
  • the SATA interface 16 generally receives data from a host system bus using, it is assumed, an ATA interface compatible protocol.
  • AES block 17 enciphers data received from the SATA interface 16 based on the provided key value and an initialization vector. Further, the AES block 17 deciphers enciphered data stored in the storage unit 30 using the key value and the initialization vector.
  • the initialization vector may be generated by processing the address of a sector in accordance with a command received from the SATA interface 16 .
  • the host device 100 includes a video image capability (e.g., a digital camera) capable of obtaining an image and generating corresponding image data.
  • a video image capability e.g., a digital camera
  • An exemplary original image i.e., a penguin image
  • FIG. 3 An exemplary original image (i.e., a penguin image) is shown in FIG. 3 .
  • the image data associated with this original image is enciphered during a conventionally understood Electronic CodeBook (ECB) mode of operation, as illustrated in FIG. 4 .
  • the enciphered image data derived from the original image is otherwise illustrated in relation to a conventionally understood Cipher Block Chaining (CBC) mode operation in FIG. 5 .
  • CBC Cipher Block Chaining
  • the ECB mode is a mode wherein an image is enciphered by use of only a key value.
  • an original image is estimated from an image enciphered in the ECB mode. That is, referring to FIG. 4 , an original image (i.e., penguin figure) may be estimated via a difference of light and shade.
  • the CBC mode encryption may be used for high-level encryption.
  • An encryption process according to one embodiment will be described with reference to FIG. 6 , and a corresponding decryption process will be described with reference to FIG. 7 . Further, a method of generating an initialization vector will be more fully described with reference to FIGS. 8 through 10 .
  • FIG. 6 is a block diagram showing an encryption process according to an embodiment of the invention. This encryption process assumes a CBC mode.
  • AES block 17 may include a block cipher encryption part 17 a and an exclusive-OR gate 17 d.
  • the block cipher encryption part 17 a converts a plain text into a cipher text.
  • the exclusive-OR gate 17 d scrambles the plain text and an initialization vector. That is, in the illustrated embodiment, the scramble operation is assumed to use the logical operation of the exclusive-OR gate 17 d.
  • the exclusive-OR gate 17 d scrambles the first plain text with the initialization vector, and the scrambled result is sent to the block cipher encryption part 17 a .
  • the block cipher encryption part 17 a converts the scrambled result into the first cipher text by using a key value.
  • the exclusive-OR gate 17 d scrambles the second plain text and the first cipher text, and the scrambled result is sent to the block cipher encryption part 17 a .
  • the block cipher encryption part 17 a converts the scramble result into the second cipher text using a key value.
  • the exclusive-OR gate 17 d scrambles the third plain text and the second cipher text, and the scrambled result is sent to the block cipher encryption part 17 a .
  • the block cipher encryption part 17 a converts the scramble result into the third cipher text using a key value.
  • the AES block may include as few as a single block cipher encryption part 17 a and one exclusive-OR gate 17 d.
  • FIG. 7 is a block diagram showing a decryption process according to an embodiment of the invention.
  • the exemplary decryption process assumes a CBC mode.
  • AES block 17 includes a block cipher decryption part 17 e and an exclusive-OR gate 17 f .
  • the block cipher decryption part 17 e converts a cipher text into a plain text.
  • the exclusive-OR gate 17 f descrambles the decryption result using an initialization vector.
  • the block cipher decryption part 17 e deciphers the first cipher text using a key value.
  • the exclusive-OR gate 17 f descrambles the deciphered result and the initialization vector to generate the first plain text.
  • the block cipher decryption part 17 e deciphers the second cipher text using a key value.
  • the exclusive-OR gate 17 f descrambles the deciphered result and the first cipher text to generate the second plain text.
  • the block cipher decryption part 17 e deciphers the third cipher text using a key value.
  • the exclusive-OR gate 17 f descrambles the deciphered result and the second cipher text to generate the third plain text.
  • AES block 17 may include as few as a single block cipher decryption part 17 e and one exclusive-OR gate 17 f.
  • the performance of the computer system according to exemplary embodiments of the invention is controlled, at least in part, according to how an initialization vector is generated and how the initialization vector is allotted.
  • An initialization vector allotting method according to an exemplary embodiment of the invention will be described with reference to FIGS. 8 and 9 , and processes of generating, allotting, and storing an initialization vector under the control of CPU 11 will be more fully described in relation to FIG. 10 .
  • FIG. 8 is a block diagram showing Advanced Encryption Standard (AES) illustrated in FIG. 7 .
  • AES block 17 includes a block cipher encryption part 17 a , a flip-flop 17 b , and an adder 17 c.
  • the adder 17 c receives a sector address corresponding to a Logical Block Addressing (LBA) requested by the host system. If a command requested by host system is a burst command, the adder 17 c further receives count information for the identified sector.
  • LBA Logical Block Addressing
  • adder 17 c provides only an address for the identified sector. However, if the command requested by the host system is a burst command, adder 17 c provides a sector address and count information. That is, a count value is increased whenever a sector address is accessed.
  • the flip-flop 17 b temporarily stores an output of the adder 17 c and outputs it to the block cipher encryption part 17 a . That is, the flip-flop 17 b stores a unique address corresponding to each sector.
  • the block cipher encryption part 17 a receives the unique address corresponding to each sector to convert it to an initialization vector. For example, if an address for a corresponding sector is a 48-bit address, since an initialization vector is 16-byte (128 bits), 80 dummy bits are added to front and rear parts of the address. Thus, a computer system according to the exemplary embodiments may have different initialization vectors with respect to all sectors.
  • FIG. 9 shows that cipher and decipher operations of the AES in FIG. 8 are conducted based upon sectors.
  • storage unit 30 may be partitioned into first through tenth sectors 30 a to 30 j . It will be apparent to one skilled in the art that such a configuration of the storage unit 30 is a matter of design choice.
  • An address requested by the host system is sent to AES block 17 via SATA interface 16 .
  • AES block 17 receives the sector address from SATA interface 16 to generate an initialization vector using the received address.
  • AES block 17 may encipher requested data using the initialization vector and a key value by operation of pseudo-random number generator 13 to write the enciphered data. Or, AES block 17 may decipher requested data using the initialization vector and a key value by operation of pseudo-random number generator 13 to read the deciphered data. Thus, the computational burden enciphering and deciphering may be removed from CPU 11 . Further, enciphering and writing of data via AES 17 or deciphering and reading of data via AES 17 is conducted during a time when data for each sector is transmitted and received via SATA interface 16 .
  • FIG. 10 shows that cipher and decipher operations are conducted based upon sectors when an initialization vector is generated by CPU 11 .
  • a storage unit 30 ′ is partitioned into first through tenth sectors 30 ′ a to 30 ′ j .
  • CPU 11 generates an initialization vector for each sector and allots each initialization vector to AES block 17 whenever the sector is accessed. Further, CPU 11 stores the generated initialization vector in the storage unit 30 ′. There are required times 33 a to 33 c taken to generate an initialization vector and transfer it to AES block 17 under the control of CPU 11 .
  • AES block 17 may encipher required data using the initialization vector and a key value from pseudo-random number generator 13 and write the enciphered data. Or, AES block 17 may decipher required data using the initialization vector and a key value from random number generator 13 and read the deciphered data.
  • CPU 11 Since CPU 11 performs operations for generating and transferring an initialization vector before enciphering/deciphering, the peak resource load associated with performance of full disk encryption is reduced. However, in practice, it is impossible to realize an operation of setting firmware needed to generate and transfer an initialization vector via CPU 11 after stopping a link whenever each sector is accessed.
  • FIG. 11 is a block diagram showing a host system 150 including a solid state disk (SSD) according to an embodiment of the invention.
  • SSD solid state disk
  • a SSD based host system generally includes SSD 100 , an SATA interface 110 , RAM 120 , CPU 130 , and a bus 140 .
  • a SSD such as those described with reference to FIGS. 1 through 10 , may be used in this type of embodiment.
  • CPU 130 accesses SSD 100 via SATA interface 110 connected with bus 140 .
  • RAM 120 is used as a host system memory.
  • SSD 100 enciphers and stores data provided by CPU 130 , and deciphers and reads data requested by CPU 130 .
  • FIG. 12 is a block diagram showing a host system including a hard disk according to another embodiment of the invention.
  • a hard disk system 250 includes a hard disk drive (HDD) 200 , SATA interface 210 , RAM 220 , CPU 230 , and a bus 240 .
  • HDD 200 may be a conventional hard disk drive compatible with an SATA1 or SATA2 interface.
  • CPU 230 accesses HDD 200 via SATA interface 210 connected with bus 240 .
  • RAM 220 is used as the host system memory.
  • HDD 200 enciphers and stores data provided by CPU 230 , and deciphers and reads data requested by CPU 230 .
  • FIG. 13 is a block diagram showing a host system including an optical disk according to yet another embodiment of the invention.
  • an optical disk system 350 includes an optical disk drive (ODD) 300 , SATA interface 310 , RAM 320 , CPU 330 , and a bus 340 .
  • ODD optical disk drive
  • ODD 300 may be an optical disk drive capable of being written to using an SATA1 or SATA2 interface.
  • ODD 300 may be one of CD-RW, DVD-RW, DVD+RW, DVD-RAM, and Blu-RaY.
  • CPU 330 accesses ODD 300 via SATA interface 310 connected with bus 340 .
  • RAM 320 is used as the host system memory.
  • ODD 300 enciphers and stores data provided by CPU 330 , and deciphers and reads data requested by CPU 330 .
  • a host system such as a computer system, may be configured to encipher and write (or decipher and read) data without forcing the related computational burdens onto the host system CPU by using an address requested by the host system as an initialization vector. Further, since an initialization vector is generated using a unique sector address, the host system does not need to store initialization vectors for a plurality of sectors.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Disclosed is a solid state disk including a storage unit configured to store data, and a control part configured to control enciphering and writing operation for the data using a key value and an initialization vector. The initialization vector is generated by processing an address corresponding to the data.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This U.S. non-provisional patent application claims priority under 35 U.S.C §119 to Korean Patent Application No. 10-2008-0049774 filed on May 28, 2008, the subject matter of which is hereby incorporated by reference.
BACKGROUND
The present invention relates to a solid state disk. More particularly, the present invention relates to a device and method capable of ciphering and deciphering all large-volume data associated with a solid state disk.
As contemporary electronic devices are increasingly mobile and smaller in size, some design trends have moved away from the use of conventional Hard Disk Drive (HDD) units as bulk data storage components. In many instances, the flash memory-based Solid State Disk (SSD) has replaced the HDD and other magnetic disk devices. When compared to conventional HDDs, the SSD is relatively disadvantageous in its overall storage capacity and cost. But it is also relatively advantageous in its data access speed, overall size, and resistance to mechanical impact. Ongoing development efforts related to fabrication processes for and design adaptations of the SSD can be expected to increase data storage capacity and decrease cost. Hence, it is expected that in the near future, the magnetic disk device may be replaced by the SSD in many applications.
As the SSD is increasingly incorporated in electronic devices (e.g., laptop computers, portable audio/video systems) as a bulk data storage device, its control unit is an essential interface between the constituent flash memory and the others components forming the device. In essence, the control unit administers data exchange according to a defined protocol. Many conventional computer systems use the so-called “Advanced Technology Attachment or ATA” to exchange data with conventional HDDs. The ATA is essentially a data transfer standard promulgated by IBM corporation defining an exchange of data between a host device and conventional HDDs. Any bulk data storage interface, such as those associated with a SSD, must competently implement the ATA in order to be backwards compatible with legacy software and existing data exchange protocols. Yet, SSD controllers must establish an interface with a flash memory, not some type of magnetic disk. A device for controlling the overall data transfer between a SSD and a corresponding host device will hereafter be referred to as a SSD controller.
SUMMARY OF THE INVENTION
Embodiments of the invention are directed to a device and method capable of ciphering and deciphering bulk data communicated to/from a solid state disk (SSD) without excessively burdening a host device processor.
One embodiment of the invention provides a solid state disk comprising; a storage unit configured to store data, and a control part configured to control an enciphering and writing operation associated with the data using a key value and an initialization vector, wherein the initialization vector is generated by processing an address corresponding to the data.
In another embodiment, the invention provides an input/output method adapted for use with a solid state disk the method comprising; receiving externally provided data and a corresponding address, scrambling the data and an initialization vector, and enciphering the scrambled data using a key value, wherein the initialization vector is generated by processing the address.
In another embodiment, the invention provides a host system comprising; a central processing unit (CPU), and a non-volatile bulk data storage device storing data provided by the CPU, wherein the non-volatile bulk data storage device comprises; a storage unit configured to store the data, and a control part configured to scramble the data and an initialization vector, encipher the scrambled data using a key value, and store the enciphered data in the storage unit, wherein the control part is further configured to decipher the enciphered data retrieved from the storage unit using the key value, scramble the deciphered data and the initialization vector, and read the scrambled data, and the initialization vector is generated by processing an address corresponding to the data.
BRIEF DESCRIPTION OF THE FIGURES
Non-limiting and non-exhaustive embodiments will be described with reference to the following figures, wherein like reference numerals refer to like or similar elements. In the figures:
FIG. 1 is a block diagram of a solid state disk (SSD) according to an embodiment of the invention.
FIG. 2 is a block diagram further illustrating the SSD controller of FIG. 1.
FIG. 3 shows an exemplary original image produced by a video device incorporating an SSD.
FIG. 4 illustrates image data obtained by enciphering the original image of FIG. 3 in an Electronic CodeBook (ECB) mode of operation.
FIG. 5 shows data obtained by enciphering the original image of FIG. 3 in a Cipher Block Chaining (CBC) mode.
FIG. 6 is a block diagram showing an encryption process according to an embodiment of the invention.
FIG. 7 is a block diagram showing a decryption process according to an embodiment of the invention.
FIG. 8 is a block diagram further illustrating an Advanced Encryption Standard (AES) associated with the embodiment of FIG. 7.
FIG. 9 is a conceptual block diagram showing an exemplary cipher and decipher operations assuming the AES of FIG. 8 is used in relation to defined data sectors.
FIG. 10 is a conceptual block diagram showing cipher and decipher operations conducted based upon sectors when an initialization vector is generated by a host CPU.
FIG. 11 is a block diagram showing a system including a solid state disk (SSD) according to an embodiment of the invention.
FIG. 12 is a block diagram showing a system including a hard disk according to another embodiment of the invention.
FIG. 13 is a block diagram showing a system including an optical disk according to yet another embodiment of the invention.
DESCRIPTION OF EMBODIMENTS
Conventionally, in many types of electronic devices when important data was stored in a bulk data storage device such as a hard disk (HD) or a Solid State Disk (SSD), it was not enciphered. If the data storage device or host system were breached during an unauthorized access (i.e., “hacked”), it was impossible to ensure the reliability of the stored data within subsequent system operations. Accordingly, it has become necessary to encipher all or at least a significant portion of the data stored in a bulk storage device.
An exemplary host device (e.g., a computer system) is illustrated in the block diagrams of FIGS. 1 and 2. This type of host device is capable of incorporating certain embodiments of the invention with provide cipher/decipher operations for stored data. FIGS. 6 through 9 that follow further describe a computer system using a Cipher Block Chaining (CBC) mode of operation in relation to certain embodiments of the invention. In various embodiments of the invention, the constituent bulk data storage device may be implemented using a conventional solid state disk (SSD), hard disk (HD), optical disk, and/or the like.
FIG. 1 is a partial block diagram showing a SSD according to an embodiment of the invention. Referring to FIG. 1, a computer system 100 includes in relevant portion a solid state disk (SSD) controller 10, a buffer 20, a storage unit 30, and a bus 40.
The computer system 100 is configured to store data transferred from by a system bus (not shown) at a first data transfer rate (e.g., 1.5 Gpbs or 3.0 Gbps) using a conventional S-ATA1 or S-ATA2 interface. Such externally provided data may be placed in the buffer 20 before being stored in storage unit 30 by means of bus 40. In the illustrated embodiment, data stored in the storage unit 30 is defined in relation to a plurality of sectors. Storage unit 30 is further assumed to be implemented using a plurality flash memory devices, but any competent form of solid-state non-volatile memory may be used. FIG. 1 shows an example where the storage unit 30 includes first and second flash memories 31 and 32. But, it will be apparent to one skilled in the art that the particular number, type and configuration memories forming the storage unit 30 is a matter of design choice.
FIG. 2 is a block diagram further illustrating the SSD controller of FIG. 1. Referring collectively to FIGS. 1 and 2, the SSD controller 10 is assumed to comprise a CPU 11, a Read-Only-Memory (ROM) 12, a Pseudo-Random Number Generator (PRNG) 13, a storage unit controller 14, a buffer manager 15, an SATA interface 16, and an Advanced Encryption Standard (AES) block 17. These components are connected for data transfer purposes by controller bus 18.
CPU 11 generally controls the operation of ROM 12, PRNG 13, storage unit controller 14, buffer manager 15, SATA interface 16, and AES 17. ROM 12 will typically store BIOS information used to boot the host computer system 100. However, in other embodiments, BIOS information may be stored in the storage unit 30.
PRNG 13 is used to generate key values under the control of CPU 11. In the illustrated embodiment, PRNG 13 is assumed to generate a key value differently whenever the computer system 100 is booted, and the key value is then stored in storage unit 30. If a key value erase command is executed by CPU 11, the key value stored in the storage unit 30 is erased. Once an existing key value is erased, it is impossible to restore data in the storage unit 30 using said key value.
The storage unit controller 14 controls the operation of storage unit 30, and the buffer manager 15 generally controls the buffer 20 of FIG. 1. The buffer 20 may be embodied by one of a SDRAM, DDR SDRAM, DDR2 SDRAM, and DDR3 SDRAM. The SATA interface 16 generally receives data from a host system bus using, it is assumed, an ATA interface compatible protocol.
AES block 17 enciphers data received from the SATA interface 16 based on the provided key value and an initialization vector. Further, the AES block 17 deciphers enciphered data stored in the storage unit 30 using the key value and the initialization vector. The initialization vector may be generated by processing the address of a sector in accordance with a command received from the SATA interface 16.
For example, it is assumed that the host device 100 includes a video image capability (e.g., a digital camera) capable of obtaining an image and generating corresponding image data. An exemplary original image (i.e., a penguin image) is shown in FIG. 3. The image data associated with this original image is enciphered during a conventionally understood Electronic CodeBook (ECB) mode of operation, as illustrated in FIG. 4. The enciphered image data derived from the original image is otherwise illustrated in relation to a conventionally understood Cipher Block Chaining (CBC) mode operation in FIG. 5.
The ECB mode is a mode wherein an image is enciphered by use of only a key value. Referring to FIG. 4, an original image is estimated from an image enciphered in the ECB mode. That is, referring to FIG. 4, an original image (i.e., penguin figure) may be estimated via a difference of light and shade.
Thus, it is necessary to scramble and encipher data by use of an initialization vector, which is accomplished by the CBC mode encryption. Referring to FIG. 5, the original image is now further enciphered in a CBC mode of operation, and it is impossible to estimate the original image from an enciphered image data in the CBC mode. In general, the CBC mode encryption may be used for high-level encryption.
An encryption process according to one embodiment will be described with reference to FIG. 6, and a corresponding decryption process will be described with reference to FIG. 7. Further, a method of generating an initialization vector will be more fully described with reference to FIGS. 8 through 10.
FIG. 6 is a block diagram showing an encryption process according to an embodiment of the invention. This encryption process assumes a CBC mode.
Referring to FIG. 6, AES block 17 may include a block cipher encryption part 17 a and an exclusive-OR gate 17 d.
Within a first stage, the block cipher encryption part 17 a converts a plain text into a cipher text. The exclusive-OR gate 17 d scrambles the plain text and an initialization vector. That is, in the illustrated embodiment, the scramble operation is assumed to use the logical operation of the exclusive-OR gate 17 d.
The exclusive-OR gate 17 d scrambles the first plain text with the initialization vector, and the scrambled result is sent to the block cipher encryption part 17 a. The block cipher encryption part 17 a converts the scrambled result into the first cipher text by using a key value.
Within a subsequent second stage, the exclusive-OR gate 17 d scrambles the second plain text and the first cipher text, and the scrambled result is sent to the block cipher encryption part 17 a. The block cipher encryption part 17 a converts the scramble result into the second cipher text using a key value.
Within a third stage, the exclusive-OR gate 17 d scrambles the third plain text and the second cipher text, and the scrambled result is sent to the block cipher encryption part 17 a. The block cipher encryption part 17 a converts the scramble result into the third cipher text using a key value.
For convenience of description, three block cipher encryption parts 17 a and three exclusive-OR gates 17 d are illustrated in FIG. 6 in order to describe a sequential operation. But, the AES block may include as few as a single block cipher encryption part 17 a and one exclusive-OR gate 17 d.
FIG. 7 is a block diagram showing a decryption process according to an embodiment of the invention. Here again, the exemplary decryption process assumes a CBC mode. Referring to FIG. 7, AES block 17 includes a block cipher decryption part 17 e and an exclusive-OR gate 17 f. The block cipher decryption part 17 e converts a cipher text into a plain text. The exclusive-OR gate 17 f descrambles the decryption result using an initialization vector.
Within a first stage, the block cipher decryption part 17 e deciphers the first cipher text using a key value. The exclusive-OR gate 17 f descrambles the deciphered result and the initialization vector to generate the first plain text.
Within a second stage, the block cipher decryption part 17 e deciphers the second cipher text using a key value. The exclusive-OR gate 17 f descrambles the deciphered result and the first cipher text to generate the second plain text.
Within a third stage, the block cipher decryption part 17 e deciphers the third cipher text using a key value. The exclusive-OR gate 17 f descrambles the deciphered result and the second cipher text to generate the third plain text.
For convenience of description, three block cipher decryption parts 17 e and three exclusive-OR gates 17 f are illustrated in FIG. 7 in order to describe a sequential operation. But, AES block 17 may include as few as a single block cipher decryption part 17 e and one exclusive-OR gate 17 f.
The performance of the computer system according to exemplary embodiments of the invention is controlled, at least in part, according to how an initialization vector is generated and how the initialization vector is allotted. An initialization vector allotting method according to an exemplary embodiment of the invention will be described with reference to FIGS. 8 and 9, and processes of generating, allotting, and storing an initialization vector under the control of CPU 11 will be more fully described in relation to FIG. 10.
FIG. 8 is a block diagram showing Advanced Encryption Standard (AES) illustrated in FIG. 7. Referring to FIG. 8, AES block 17 includes a block cipher encryption part 17 a, a flip-flop 17 b, and an adder 17 c.
The adder 17 c receives a sector address corresponding to a Logical Block Addressing (LBA) requested by the host system. If a command requested by host system is a burst command, the adder 17 c further receives count information for the identified sector.
For example, if a command requested by the host system is not a burst command, then adder 17 c provides only an address for the identified sector. However, if the command requested by the host system is a burst command, adder 17 c provides a sector address and count information. That is, a count value is increased whenever a sector address is accessed.
The flip-flop 17 b temporarily stores an output of the adder 17 c and outputs it to the block cipher encryption part 17 a. That is, the flip-flop 17 b stores a unique address corresponding to each sector.
The block cipher encryption part 17 a receives the unique address corresponding to each sector to convert it to an initialization vector. For example, if an address for a corresponding sector is a 48-bit address, since an initialization vector is 16-byte (128 bits), 80 dummy bits are added to front and rear parts of the address. Thus, a computer system according to the exemplary embodiments may have different initialization vectors with respect to all sectors.
FIG. 9 shows that cipher and decipher operations of the AES in FIG. 8 are conducted based upon sectors.
Referring to FIGS. 4, 5, 8, and 9, storage unit 30 according to the various embodiments of the invention may be partitioned into first through tenth sectors 30 a to 30 j. It will be apparent to one skilled in the art that such a configuration of the storage unit 30 is a matter of design choice.
An address requested by the host system is sent to AES block 17 via SATA interface 16. AES block 17 receives the sector address from SATA interface 16 to generate an initialization vector using the received address.
AES block 17 may encipher requested data using the initialization vector and a key value by operation of pseudo-random number generator 13 to write the enciphered data. Or, AES block 17 may decipher requested data using the initialization vector and a key value by operation of pseudo-random number generator 13 to read the deciphered data. Thus, the computational burden enciphering and deciphering may be removed from CPU 11. Further, enciphering and writing of data via AES 17 or deciphering and reading of data via AES 17 is conducted during a time when data for each sector is transmitted and received via SATA interface 16.
FIG. 10 shows that cipher and decipher operations are conducted based upon sectors when an initialization vector is generated by CPU 11.
Referring to FIGS. 4, 5, and 10, a storage unit 30′ is partitioned into first through tenth sectors 30a to 30j. CPU 11 generates an initialization vector for each sector and allots each initialization vector to AES block 17 whenever the sector is accessed. Further, CPU 11 stores the generated initialization vector in the storage unit 30′. There are required times 33 a to 33 c taken to generate an initialization vector and transfer it to AES block 17 under the control of CPU 11. AES block 17 may encipher required data using the initialization vector and a key value from pseudo-random number generator 13 and write the enciphered data. Or, AES block 17 may decipher required data using the initialization vector and a key value from random number generator 13 and read the deciphered data.
Since CPU 11 performs operations for generating and transferring an initialization vector before enciphering/deciphering, the peak resource load associated with performance of full disk encryption is reduced. However, in practice, it is impossible to realize an operation of setting firmware needed to generate and transfer an initialization vector via CPU 11 after stopping a link whenever each sector is accessed.
FIG. 11 is a block diagram showing a host system 150 including a solid state disk (SSD) according to an embodiment of the invention. Referring to FIG. 11, a SSD based host system generally includes SSD 100, an SATA interface 110, RAM 120, CPU 130, and a bus 140.
A SSD, such as those described with reference to FIGS. 1 through 10, may be used in this type of embodiment. CPU 130 accesses SSD 100 via SATA interface 110 connected with bus 140. RAM 120 is used as a host system memory. SSD 100 enciphers and stores data provided by CPU 130, and deciphers and reads data requested by CPU 130.
FIG. 12 is a block diagram showing a host system including a hard disk according to another embodiment of the invention. Referring to FIG. 12, a hard disk system 250 includes a hard disk drive (HDD) 200, SATA interface 210, RAM 220, CPU 230, and a bus 240. HDD 200 may be a conventional hard disk drive compatible with an SATA1 or SATA2 interface.
CPU 230 accesses HDD 200 via SATA interface 210 connected with bus 240. RAM 220 is used as the host system memory. HDD 200 enciphers and stores data provided by CPU 230, and deciphers and reads data requested by CPU 230.
FIG. 13 is a block diagram showing a host system including an optical disk according to yet another embodiment of the invention. Referring to FIG. 13, an optical disk system 350 includes an optical disk drive (ODD) 300, SATA interface 310, RAM 320, CPU 330, and a bus 340.
ODD 300 may be an optical disk drive capable of being written to using an SATA1 or SATA2 interface. For example, ODD 300 may be one of CD-RW, DVD-RW, DVD+RW, DVD-RAM, and Blu-RaY.
CPU 330 accesses ODD 300 via SATA interface 310 connected with bus 340. RAM 320 is used as the host system memory. ODD 300 enciphers and stores data provided by CPU 330, and deciphers and reads data requested by CPU 330.
A host system, such as a computer system, according to an embodiment of the invention may be configured to encipher and write (or decipher and read) data without forcing the related computational burdens onto the host system CPU by using an address requested by the host system as an initialization vector. Further, since an initialization vector is generated using a unique sector address, the host system does not need to store initialization vectors for a plurality of sectors.
The above-disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments, which fall within the scope of the invention. Thus, to the maximum extent allowed by law, the scope of the exemplary embodiments is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.

Claims (15)

What is claimed is:
1. A solid state disk (SSD) that stores data received from a host in accordance with a sector address provided by the host, the SSD comprising:
a storage unit; and
a SSD controller comprising an input/output interface that receives the sector address, and scrambling hardware logic that receives the sector address from the input/output interface and converts a logical block address (LBA) corresponding to the sector address into an initialization vector, the SSD controller scrambling the data with the initialization vector, encrypting the scrambled data with a key value, and storing the encrypted data in the storage unit.
2. The solid state disk of claim 1, further comprising:
a buffer configured to temporarily store the data.
3. The solid state disk of claim 2, wherein the buffer is one selected from a group consisting of; a SDRAM, DDR SDRAM, DDR2 SDRAM, and DDR3 SDRAM.
4. The solid state disk of claim 1, wherein the SSD controller comprises a pseudo-random number generator configured to generate the key value.
5. The solid state disk of claim 1, wherein the LBA is converted into the initialization vector by adding dummy bits to the LBA.
6. The solid state disk of claim 1, wherein the storage unit is configured to store data in response to a request by the host according to a plurality of sectors, wherein each one of the plurality of sectors has a unique sector address.
7. The solid state disk of claim 1, wherein the storage unit is implemented using a plurality of flash memory devices.
8. The solid state disk of claim 1, wherein the storage unit stores the key value.
9. A method of writing data received from a host in a storage unit of a solid state disk (SSD), and reading data stored in the storage unit, the method comprising:
receiving, at an input/output interface of an SSD controller, the data and a sector address associated with the data from the host and temporarily storing the data in a buffer;
transmitting the sector address from the input/output interface to scrambling hardware logic disposed in the SSD controller;
converting, by the scrambling hardware logic, a logical block address (LBA) corresponding to the sector address into an initialization vector;
scrambling the data with the initialization vector to generate a scrambled result;
encrypting the scrambled result using a key value to generate encrypted data; and
writing the encrypted data in the storage unit.
10. The method of claim 9, wherein the storage unit comprises a plurality of flash memory devices.
11. The method of claim 10, further comprising: retrieving the encrypted data from the storage unit and decrypting the encrypted data using the key value to generate a scrambled result; and descrambling the scrambled result to generate the data and the initialization vector.
12. The method of claim 11, wherein the initialization vector and the data are descrambled using an exclusive-OR logic operation.
13. A host system comprising:
a central processing unit (CPU) that provides data and a sector address associated with the data; and
a solid state disk (SSD) comprising:
non-volatile bulk data storage operating as a storage unit, wherein the storage unit is configured to store data according to a plurality of sectors each having a unique sector address; and
a SSD controller comprising an input/output interface that receives the sector address, and scrambling hardware logic that receives the sector address from the input/output interface and converts a logical block address (LBA) corresponding to the sector address into the initialization vector, the SSD controller scrambling the data with the initialization vector, encrypting the scrambled data with a key value, and storing the encrypted data in the storage unit.
14. The host system of claim 13, wherein the non-volatile bulk data storage device is one of a solid state disk, a hard disk, and an optical disk.
15. The host system of claim 14, wherein the non-volatile bulk data storage is the optical disk and the optical disk is one selected from a group consisting of; a CD-RW disk, DVD-RW disk, DVD+RW disk, DVD-RAM disk, and Blue-Ray disk.
US12/464,914 2008-05-28 2009-05-13 Solid state disk and input/output method Active 2033-10-18 US9270445B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080049774A KR101496975B1 (en) 2008-05-28 2008-05-28 Solid-state-disk and input/output method thereof
KR10-2008-0049774 2008-05-28

Publications (2)

Publication Number Publication Date
US20090300372A1 US20090300372A1 (en) 2009-12-03
US9270445B2 true US9270445B2 (en) 2016-02-23

Family

ID=41381289

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/464,914 Active 2033-10-18 US9270445B2 (en) 2008-05-28 2009-05-13 Solid state disk and input/output method

Country Status (2)

Country Link
US (1) US9270445B2 (en)
KR (1) KR101496975B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11321244B2 (en) 2019-12-16 2022-05-03 Samsung Electronics Co., Ltd. Block interface emulation for key value device

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007202001A (en) * 2006-01-30 2007-08-09 Kyocera Corp Mobile communication apparatus and its control method
DE112010005842T8 (en) 2010-10-05 2014-07-17 Hewlett-Packard Development Company, L.P. Scrambling an address and encrypting write data for storage in a storage device
US9531916B2 (en) * 2011-12-30 2016-12-27 Intel Corporation Preventing pattern recognition in electronic code book encryption
JP5875441B2 (en) * 2012-03-29 2016-03-02 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Apparatus and method for encrypting data
KR102244617B1 (en) * 2014-03-13 2021-04-26 삼성전자 주식회사 Device and method for processing data using logical information and physical information
CN108537048B (en) * 2018-03-13 2021-08-17 超越科技股份有限公司 Security association method and system for encrypted solid state disk and authorized computer
KR102430219B1 (en) * 2021-09-15 2022-08-05 삼성전자주식회사 Storage device and method for generating key and performing certification of the storage device

Citations (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5023854A (en) * 1986-02-07 1991-06-11 Matsushita Electric Industrial Co., Ltd. Disc having a data read-only area and a data recording arm and a recording reproducing system therefor
US5377264A (en) * 1993-12-09 1994-12-27 Pitney Bowes Inc. Memory access protection circuit with encryption key
US5396609A (en) * 1989-01-19 1995-03-07 Gesellschaft Fur Strahlen- Und Umweltforschung Mbh (Gsf) Method of protecting programs and data in a computer against unauthorized access and modification by monitoring address regions
US5428685A (en) * 1992-01-22 1995-06-27 Fujitsu Limited IC memory card and method of protecting data therein
US5483596A (en) * 1994-01-24 1996-01-09 Paralon Technologies, Inc. Apparatus and method for controlling access to and interconnection of computer system resources
US5559883A (en) * 1993-08-19 1996-09-24 Chipcom Corporation Method and apparatus for secure data packet bus communication
JPH08248879A (en) 1995-02-06 1996-09-27 Internatl Business Mach Corp <Ibm> Method and apparatus for encryption by using two keys
WO1998019420A1 (en) 1996-10-25 1998-05-07 Intel Corporation A circuit and method for ensuring interconnect security within a multi-chip integrated circuit package
US6018717A (en) * 1997-08-22 2000-01-25 Visa International Service Association Method and apparatus for acquiring access using a fast smart card transaction
US6115792A (en) * 1997-12-16 2000-09-05 Advanced Micro Devices, Inc. Way prediction logic for cache array
US6345359B1 (en) * 1997-11-14 2002-02-05 Raytheon Company In-line decryption for protecting embedded software
US20020083282A1 (en) * 2000-10-20 2002-06-27 Kenji Yoshino Data processing device, data storage device, data processing method, and program providing medium
US20020116206A1 (en) * 2001-02-20 2002-08-22 Masayuki Chatani Apparatus and method for utilizing an incentive point system based on disc and user identification
US20030115282A1 (en) * 2001-11-28 2003-06-19 Rose Steven W. Interactive broadband server system
US6631359B1 (en) * 1999-09-10 2003-10-07 Dphi Acquisitions, Inc. Writeable medium access control using a medium writeable area
US20030196101A1 (en) * 2001-04-13 2003-10-16 Miki Abe Data transfer system, data transfer apparatus, data recording apparatus, and data transfer method
KR20030083100A (en) 2002-04-19 2003-10-30 한국전자통신연구원 Block encrypting device for fast session switching and method of operating the same
US6986050B2 (en) * 2001-10-12 2006-01-10 F-Secure Oyj Computer security method and apparatus
US6988250B1 (en) * 1999-02-15 2006-01-17 Hewlett-Packard Development Company, L.P. Trusted computing platform using a trusted device assembly
US20060129848A1 (en) * 2004-04-08 2006-06-15 Texas Instruments Incorporated Methods, apparatus, and systems for securing SIM (subscriber identity module) personalization and other data on a first processor and secure communication of the SIM data to a second processor
US20070071205A1 (en) * 2002-01-04 2007-03-29 Loudermilk Alan R Systems and methods for creating, modifying, interacting with and playing musical compositions
JP2007086704A (en) 2005-09-22 2007-04-05 Chaosware Inc Initial vector value setting method
US20070121943A1 (en) * 2004-03-18 2007-05-31 Stmicroelectronics Limited Data obfuscation
US20080065905A1 (en) * 2006-09-13 2008-03-13 Simpletech, Inc. Method and system for secure data storage
US20080114994A1 (en) * 2006-11-14 2008-05-15 Sree Mambakkam Iyer Method and system to provide security implementation for storage devices
US7451288B2 (en) * 2003-09-30 2008-11-11 Infineon Technologies Ag Word-individual key generation
US8171309B1 (en) * 2007-11-16 2012-05-01 Marvell International Ltd. Secure memory controlled access
US8352750B2 (en) * 2008-01-30 2013-01-08 Hewlett-Packard Development Company, L.P. Encryption based storage lock
US8522352B2 (en) * 2006-10-23 2013-08-27 Feitian Technologies Co., Ltd. Key device with external storage and the using method thereof
US8526605B2 (en) * 2009-10-09 2013-09-03 Seagate Technology Llc Data encryption to provide data security and memory cell bit wear leveling

Patent Citations (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5023854A (en) * 1986-02-07 1991-06-11 Matsushita Electric Industrial Co., Ltd. Disc having a data read-only area and a data recording arm and a recording reproducing system therefor
US5396609A (en) * 1989-01-19 1995-03-07 Gesellschaft Fur Strahlen- Und Umweltforschung Mbh (Gsf) Method of protecting programs and data in a computer against unauthorized access and modification by monitoring address regions
US5428685A (en) * 1992-01-22 1995-06-27 Fujitsu Limited IC memory card and method of protecting data therein
US5559883A (en) * 1993-08-19 1996-09-24 Chipcom Corporation Method and apparatus for secure data packet bus communication
US5377264A (en) * 1993-12-09 1994-12-27 Pitney Bowes Inc. Memory access protection circuit with encryption key
US5483596A (en) * 1994-01-24 1996-01-09 Paralon Technologies, Inc. Apparatus and method for controlling access to and interconnection of computer system resources
JPH08248879A (en) 1995-02-06 1996-09-27 Internatl Business Mach Corp <Ibm> Method and apparatus for encryption by using two keys
WO1998019420A1 (en) 1996-10-25 1998-05-07 Intel Corporation A circuit and method for ensuring interconnect security within a multi-chip integrated circuit package
US6018717A (en) * 1997-08-22 2000-01-25 Visa International Service Association Method and apparatus for acquiring access using a fast smart card transaction
US6345359B1 (en) * 1997-11-14 2002-02-05 Raytheon Company In-line decryption for protecting embedded software
US6115792A (en) * 1997-12-16 2000-09-05 Advanced Micro Devices, Inc. Way prediction logic for cache array
US6988250B1 (en) * 1999-02-15 2006-01-17 Hewlett-Packard Development Company, L.P. Trusted computing platform using a trusted device assembly
US6631359B1 (en) * 1999-09-10 2003-10-07 Dphi Acquisitions, Inc. Writeable medium access control using a medium writeable area
US20020083282A1 (en) * 2000-10-20 2002-06-27 Kenji Yoshino Data processing device, data storage device, data processing method, and program providing medium
US6834333B2 (en) * 2000-10-20 2004-12-21 Sony Corporation Data processing device, data storage device, data processing method, and program providing medium for storing content protected under high security management
US20020116206A1 (en) * 2001-02-20 2002-08-22 Masayuki Chatani Apparatus and method for utilizing an incentive point system based on disc and user identification
US20030196101A1 (en) * 2001-04-13 2003-10-16 Miki Abe Data transfer system, data transfer apparatus, data recording apparatus, and data transfer method
US6986050B2 (en) * 2001-10-12 2006-01-10 F-Secure Oyj Computer security method and apparatus
US20030115282A1 (en) * 2001-11-28 2003-06-19 Rose Steven W. Interactive broadband server system
US20070071205A1 (en) * 2002-01-04 2007-03-29 Loudermilk Alan R Systems and methods for creating, modifying, interacting with and playing musical compositions
KR20030083100A (en) 2002-04-19 2003-10-30 한국전자통신연구원 Block encrypting device for fast session switching and method of operating the same
US7451288B2 (en) * 2003-09-30 2008-11-11 Infineon Technologies Ag Word-individual key generation
US20070121943A1 (en) * 2004-03-18 2007-05-31 Stmicroelectronics Limited Data obfuscation
US20060129848A1 (en) * 2004-04-08 2006-06-15 Texas Instruments Incorporated Methods, apparatus, and systems for securing SIM (subscriber identity module) personalization and other data on a first processor and secure communication of the SIM data to a second processor
JP2007086704A (en) 2005-09-22 2007-04-05 Chaosware Inc Initial vector value setting method
US20080065905A1 (en) * 2006-09-13 2008-03-13 Simpletech, Inc. Method and system for secure data storage
US8522352B2 (en) * 2006-10-23 2013-08-27 Feitian Technologies Co., Ltd. Key device with external storage and the using method thereof
US20080114994A1 (en) * 2006-11-14 2008-05-15 Sree Mambakkam Iyer Method and system to provide security implementation for storage devices
US8171309B1 (en) * 2007-11-16 2012-05-01 Marvell International Ltd. Secure memory controlled access
US8352750B2 (en) * 2008-01-30 2013-01-08 Hewlett-Packard Development Company, L.P. Encryption based storage lock
US8526605B2 (en) * 2009-10-09 2013-09-03 Seagate Technology Llc Data encryption to provide data security and memory cell bit wear leveling

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Logical Block Addresing (LBA) Defined; Microsoft Corporation; 2 Pages. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11321244B2 (en) 2019-12-16 2022-05-03 Samsung Electronics Co., Ltd. Block interface emulation for key value device
US11625334B2 (en) 2019-12-16 2023-04-11 Samsung Electronics Co., Ltd. Bootable key value solid state drive (KV-SSD) device with host interface layer arranged to received and returns boot requests from host processor using storage for objects

Also Published As

Publication number Publication date
KR101496975B1 (en) 2015-03-02
US20090300372A1 (en) 2009-12-03
KR20090123614A (en) 2009-12-02

Similar Documents

Publication Publication Date Title
US9270445B2 (en) Solid state disk and input/output method
JP5662037B2 (en) Data whitening to read and write data to non-volatile memory
KR101975027B1 (en) System on chip, operation method thereof, and devices having the same
US9258111B2 (en) Memory device which protects secure data, method of operating the memory device, and method of generating authentication information
CN108139984B (en) Security subsystem
US8666064B2 (en) Endecryptor capable of performing parallel processing and encryption/decryption method thereof
US20110154061A1 (en) Data secure memory/storage control
KR101742364B1 (en) Using storage controller bus interfaces to secure data transfer between storage devices and hosts
JP2010509690A (en) Method and system for ensuring security of storage device
US20120137139A1 (en) Data storage device, data control device and method for encrypting data
CN111131130B (en) Key management method and system
US8412903B2 (en) Method and system for managing secure code loading in PC-slave devices
JP2004199688A (en) Secure driver
JP5532198B2 (en) Security features in electronic devices
US20240004802A1 (en) Data security for memory and computing systems
US20100241870A1 (en) Control device, storage device, data leakage preventing method
US9672105B2 (en) Device and method for processing data using logical information and physical information
US20100138670A1 (en) Storage apparatus and data writing method
JP2007336446A (en) Data encryption apparatus
US20100211801A1 (en) Data storage device and data management method thereof
US20240220667A1 (en) Storage device and computing device including the same
US20240078322A1 (en) Memory system, memory controller and operation method thereof
KR20230166408A (en) Storage device and data processing mehtod
TW202403773A (en) Semiconductor device, and system and method for managing secure operations in the same
Lee et al. Secure Deletion for Flash-Based Self-Encrypting Drives

Legal Events

Date Code Title Description
AS Assignment

Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LEE, WOO-HYUN;KIM, JI-SOO;YU, BUM-SEOK;REEL/FRAME:022685/0506

Effective date: 20090331

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8