Method and apparatus for storing data
US-2015006486-A1 · Jan 1, 2015 · US
US2016140356A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016140356-A1 |
| Application number | US-201514937181-A |
| Country | US |
| Kind code | A1 |
| Filing date | Nov 10, 2015 |
| Priority date | Nov 17, 2014 |
| Publication date | May 19, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A secure data storage device for preventing tampering with data stored thereon includes a two-dimensional memory array for storing data, the array includes a predetermined number of data words. Each data word includes a set of bits, and is associated with a single physical address in the memory array. A key storage area for storing a key of the data storage device is included in the device. The secure data storage device includes an address conversion unit configured to convert a logical address to a corresponding physical address which points to a location in the memory array. The device includes a bit mixing unit for mixing bit values of an input data word to obtain a mixed word value, such that the mixed word value is a rearrangement of the bit values of the input data word. The device is electrically connectable to a host.
Opening claim text (preview).
What is claimed is: 1 . A secure data storage device for preventing tampering with data stored thereon, comprising: a two-dimensional memory array for storing data, the array comprising a predetermined number of data words, each data word comprising a set of bits, each data word associated with a single physical address in the memory array; a key storage area for storing a key of the data storage device; an address conversion unit for converting a logical address to a corresponding physical address pointing to a location in the memory array, said converting based on a conversion function, at least a portion of the key stored in the key storage area and the logical address; and a bit mixing unit for mixing bit values of an input data word to obtain a mixed word value, such that the mixed word value is a rearrangement of the bit values of the input data word, said mixing based on a one-to-one mapping function, at least a portion of the key and the logical address of the input data word; wherein said device is electrically connectable to a host to receive the logical address. 2 . The data storage device according to claim 1 , wherein the address conversion unit associates the logical address to the physical address based on a first portion of the key, and the bit mixing unit mixes the bit values based on a second portion of the key. 3 . The data storage device according to claim 1 , wherein the key storage area is a predetermined portion of the memory array. 4 . The data storage device according to claim 1 , wherein the key storage area is a storage area separate from the memory array. 5 . The data storage device according to claim 1 , wherein the memory array is a flash memory array. 6 . The data storage device according to claim 1 , wherein the bit mixing unit comprises a plurality of multiplexers, each multiplexer having a predetermined number of input lines and output lines, each multiplexer determining which input line to pass to which output line, each determination based on control parameters obtained from a key stored in the key storage area. 7 . The data storage device according to claim 6 wherein the control parameters are further based on the logical address or the corresponding physical address. 8 . The data storage device according to claim 1 , wherein the key is a unique key customized for each specific secure data storage device. 9 . The data storage device according to claim 1 , wherein the host is external to the secure data storage device. 10 . A method of writing data to a secure data storage comprising a memory array and a key stored in said secure data storage, said secure data storage electrically connectable to a host, the method comprising: receiving a write command from the host electrically connected to the secure data storage device, said write command including a logical address of a data word and an input data word; converting the logical address to a corresponding physical address in the memory array, based on the logical address and based on at least a portion of the key, wherein said converting is based on a predetermined conversion function; calculating a mixed word value based on the logical address and based on at least a portion of the key, wherein said calculating comprises rearranging the bit values within the input data word; and writing the mixed word value to a location in the memory array according to the calculated physical address. 11 . The method according to claim 10 , wherein calculating the mixed word value is performed using a plurality of multiplexers, each multiplexer having a predetermined number of input lines and output lines, the method comprising determining which input line to pass to which output line according to control parameters which are based on the key stored in a key storage area of the secure data storage. 12 . The method according to claim 11 , comprising calculating the control parameters based on the logical address or the corresponding physical address. 13 . The method according to claim 10 , comprising storing a unique key customized for each specific secure data storage. 14 . A method of reading data from a secure data storage comprising a memory array and a key stored in said secure data storage, said secure data storage electrically connectable to a host, the method comprising: receiving a read command from the host electrically connected to the secure data storage, said read command including a logical address of a data word; converting the logical address to a corresponding physical address in the memory array, based on the logical address and based on at least a portion of the key, wherein said converting is performed according to a predetermined conversion function; reading a mixed word value from a location in the memory array according to the calculated physical address. generating an output word value based on the logical address and based on at least a portion of the key, wherein said generating comprises rearranging the bit values of the mixed word value to obtain un-mixed data; and providing the output word value to the host.
in relation to content · CPC title
to a system of files or objects, e.g. local or distributed file system or database · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
Organizing or formatting or addressing of data · CPC title
by using cryptography (for digital transmission H04L9/00) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.