# US 10,372,627 B2 · Method to generate pattern data over garbage data when encryption parameters are changed

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,372,627 B2
- Document ID: US10372627B2
- Status: Granted
- Kind: B2
- Application number: 15/704,866
- Filed: 2017-09-14
- Published: 2018-01-18
- Granted: 2019-08-06
- Earliest claimed: 2014-08-25
- Assignees: Western Digital Technologies, Inc.
- Applicants: Western Digital Technologies, Inc.
- Inventors: William Jared Walker; Cory Lappi; Darin Edward Gerhart; Daniel Robert Lipps
- Web page: https://patentgrep.com/patent/US10372627B2

## CPC

- G06F 12/1408: {by using cryptography (for digital transmission H04L9/00)}
- G06F 12/1416: {by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights (G06F12/1458 takes precedence)}
- G06F 21/00: Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/6227: {where protection concerns the structure of data, e.g. records, types, queries}
- G06F 21/805: {using a security table for the storage sub-system}
- G09C 1/00: Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system (cryptographic typewriters G09C3/00)
- H04L 9/0891: {Revocation or update of secret information, e.g. encryption key update or rekeying}
- H04L 9/0894: {Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage}
- G06F 2221/2123: Dummy operation
- G06F 2221/2143: Clearing memory, e.g. to prevent the data from being stolen
- H04L 2209/12: Details relating to cryptographic hardware or logic circuitry
- H04L 2209/34: Encoding or coding, e.g. Huffman coding or error correction
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G09C: CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A memory device including at least one memory location for storing information representing data written using a first encryption/decryption method, and a read channel using a second encryption/decryption method for reading and decrypting information as written is disclosed. The memory device also includes an apparatus that prevents the reading of the at least one memory location using the second encryption/decryption method, in response to an indication that the at least one memory location was written using the first encryption/decryption method. In another embodiment, a reading of a predefined or custom code is returned in response to an indication of another encryption/decryption method.

## Claims

### Claim 1

A system, comprising:
an arrangement configured with:
at least one physical memory location comprising at least one physical block address configured to store information representing data written using a first encryption/decryption method, wherein the information representing data is in a block; and
a read channel configured to read and decrypt information using a second encryption/decryption method;
an apparatus configured to, in response to an indication that the information was written to the at least one physical memory location using the first encryption/decryption method, prevent the read channel from reading the at least one physical memory location using the second encryption/decryption method by at least: associating a flag with the at least one physical memory location; and returning predefined or custom code for the at least one physical memory location in response to the read channel using the second encryption/decryption method, wherein the apparatus includes a device for writing a predefined or custom code to the at least one physical memory location written in response to the read channel using the second encryption/decryption method; and
an indirection system comprising:
at least one logical block address;
a database configured to map the at least one logical block address to the at least one physical block address; and
an apparatus configured to indicate the at least one logical block address inaccessible in response to the read channel using the second encryption/decryption method.

### Claim 2 (depends on 1)

The system of claim 1, wherein a second encryption parameter associated with the second encryption/decryption method differs from a first encryption parameter associated with the first encryption/decryption method.

### Claim 3 (depends on 1)

The system of claim 1, wherein a second encryption range parameter associated with the second encryption/decryption method differs from a first encryption range parameter associated with the first encryption/decryption method.

### Claim 4 (depends on 1)

The system of claim 1, wherein a second encryption key parameter of the second encryption/decryption method differs from a first encryption key parameter of the first encryption/decryption method.

### Claim 5 (depends on 1)

The system of claim 1, wherein the apparatus configured to prevent the reading of the at least one memory location comprises a device configured to:
associate a flag with the at least one memory location; and
return predefined pattern content for the at least one memory location in response to the read channel using the second encryption/decryption method.

### Claim 6 (depends on 1)

The system of claim 1, wherein the database includes at least one flag indicating an encryption/decryption method used to write and read data from the physical block address.

### Claim 7

A memory device, comprising:
at least one physical memory location comprising at least one physical block address configured to store information representing data written using a first encryption/decryption method, wherein the information representing data is in a block;
a read channel configured to read and decrypt information using a second encryption/decryption method;
an apparatus configured to, in response to an indication that the information was written to the at least one physical memory location using the first encryption/decryption method, prevent the read channel from reading the at least one physical memory location using the second encryption/decryption method by at least: associating a flag with the at least one physical memory location; and returning predefined or customer code for the at least one physical memory location in response to the read channel using the second encryption/decryption method, wherein the apparatus includes a device for writing a predefined or custom code to the at least one physical memory location written in response to the read channel using the second encryption/decryption method; and
an indirection system comprising:
at least one logical block address;
a database configured to map the at least one logical block address to the at least one physical block address; and
an apparatus configured to indicate the at least one logical block address inaccessible in response to the read channel using the second encryption/decryption method wherein the database includes at least one flag indicating an encryption/decryption method used to write and read data from the physical block address wherein the apparatus is configured to the at least one logical block address inaccessible when the at least one physical block address is written using the first encryption/decryption method, the first encryption/decryption method being different from the second encryption/decryption method.

### Claim 8

A memory device, comprising:
at least one memory location configured to store information representing data written using a first encryption/decryption method;
a read channel configured to read and decrypt information using a second encryption/decryption technique connected to the at least one memory location; and
an apparatus configured to, in response to an indication that the information was written to the at least one memory location using the first encryption/decryption method, prevent the read channel from reading the at least one memory location using the second encryption/decryption method, wherein the apparatus includes a device for writing a predefined or custom code to the at least one memory location written in response to the read channel using the second encryption/decryption method.

### Claim 9 (depends on 8)

The memory device of claim 8, wherein the apparatus configured to prevent the reading of the at least one memory location comprises a device configured to:
associate a flag with the at least one memory location; and
return predefined pattern content for the at least one memory location in response to the read channel using the second encryption/decryption method.

### Claim 10 (depends on 8)

The memory device of claim 8, wherein the information representing data is in a block and the at least one memory location is at least one physical block address.

### Claim 11 (depends on 10)

The memory device of claim 10, further comprising an indirection system that comprises:
at least one logical block address; and
a database configured to map the at least one logical block address to the at least one physical block address.

### Claim 12 (depends on 11)

The memory device of claim 11, wherein the indirection system further comprises an apparatus configured to indicate the at least one logical block address inaccessible in response to the read channel using the second encryption/decryption method.

### Claim 13 (depends on 12)

The memory device of claim 12, wherein a second encryption parameter associated with the second encryption/decryption method differs from a first encryption parameter associated with the first encryption/decryption method.

### Claim 14 (depends on 11)

The memory device of claim 11, wherein a second encryption range parameter associated with the second encryption/decryption method differs from a first encryption range parameter associated with the first encryption/decryption method.

### Claim 15 (depends on 11)

The memory device of claim 11, wherein a second encryption key parameter of the second encryption/decryption method differs from a first encryption key parameter of the first encryption/decryption method.

### Claim 16

A storage apparatus, comprising:
a storage medium including a plurality of memory locations;
a write channel connected to the storage medium and configured to write information representing data to the plurality of memory locations;
a read channel connected to the storage medium configured to read information representing data from the plurality of memory locations;
a controller connected to the storage medium, the read channel and the write channel and configured to:
control the write channel to write information to the plurality of memory locations;
control the read channel to read information representing data from the plurality of memory locations;
in response to an indication that the write channel wrote information to at least one memory location of the plurality of memory locations using a first encryption/decryption method, prevent the read channel from reading the at least one memory location using a second, different encryption/decryption method; and
cause the write channel to write the respective physical block address with a predefined or custom code in response to a change in the encryption/decryption method from the first encryption/decryption method to the second, different encryption/decryption method.

### Claim 17 (depends on 16)

The storage apparatus of claim 16, wherein the controller is further configured to return all the predefined or custom code in response to receiving an indication of a change in the encryption/decryption method from the first encryption/decryption method to the second, different encryption/decryption method.

### Claim 18 (depends on 16)

The storage apparatus of claim 16, wherein the controller is further configured to remove a pointer in the map between the respective logical block address and the respective physical block address in response to an indication of a change in the encryption/decryption method from the first encryption/decryption method to the second, different encryption/decryption method.

### Claim 19 (depends on 16)

The storage apparatus of claim 16, wherein the controller is configured to generate a flag indicating information at a respective physical block address is invalid in response to an indication of a change in the encryption/decryption method from the first encryption/decryption method to the second, different encryption/decryption method.

### Claim 20

A storage apparatus, comprising:
a storage medium including a plurality of memory locations;
a write channel configured to write information representing data to the plurality of memory locations;
a read channel configured to read information representing data from the plurality of memory locations;
a controller configured to:
control the write channel to write information to the plurality of memory locations;
control the read channel to read information representing data from the plurality of memory locations;
in response to an indication that the write channel wrote information to at least one memory location of the plurality of memory locations using a first encryption/decryption method, prevent the read channel from reading the at least one memory location using a second, different encryption/decryption method; and
cause the write channel to write the respective physical block address with a predefined or custom code in response to a change in the encryption/decryption method from the first encryption/decryption method to the second, different encryption/decryption method;
a set of logical block addresses;
a set of physical block address that correspond to the plurality of physical memory locations in the solid state device of the storage apparatus; and
a map that associates a logical block addresses to at least one physical block address, the map also including at least one flag indicating an encryption/decryption method used to write and read data from the physical block address, wherein the controller returns a reading of a predefined or custom code when the encryption/decryption method used to read the physical block address has changed and renders the physical block address inaccessible when the encryption/decryption method used to read the physical block address is different from the encryption/decryption method used to write the physical block address.
