Methods and apparatus for storing content

US10594483B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10594483-B2
Application numberUS-201514667256-A
CountryUS
Kind codeB2
Filing dateMar 24, 2015
Priority dateMar 27, 2014
Publication dateMar 17, 2020
Grant dateMar 17, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Data processing circuitry has a virtual data buffer, with contiguous virtual addresses of the virtual buffer being associated with discontiguous addresses of a physical memory. Cyphering circuitry coupled between the data processing circuitry and the physical memory responds to a command received from the data processing circuitry by determining a key associated with the command based on virtual buffer address information associated with the virtual buffer.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method, comprising: receiving a command associated with a virtual buffer, the virtual buffer being configured to store data packets of a data stream, contiguous virtual addresses of the virtual buffer being associated with discontiguous addresses of a physical memory; determining whether a virtual address associated with the command is within an address range; and in response to determining the virtual address associated with the command is within the address range, determining a key based on virtual buffer address information associated with the virtual buffer, wherein the key is generated based on an address-based seed associated with a window defined in the virtual address space; and executing the command using the determined key. 2. The method of claim 1 wherein the command is a write request and the method comprises: receiving first data from a functional block having the virtual buffer, the first data having a first virtual address in the virtual buffer, the virtual buffer having second data, the second data having a second virtual address contiguous with the first virtual address; encrypting the first data using at least one key which is dependent on virtual address information associated with the virtual buffer; and causing the encrypted first data to be written to a location of the physical memory which is non-contiguous to a second location of the second data in the physical memory. 3. The method of claim 2 wherein the received first data is unencrypted data. 4. The method of claim 1 , comprising: receiving a read request for first data from a functional block having the virtual buffer, the first data having a virtual address in the virtual buffer, the virtual buffer having second data, the second data having a second virtual address contiguous with the first virtual address; reading first data in an encrypted form from a location of the physical memory which is non-contiguous to a second location of the second data in the physical memory; and decrypting the encrypted first data using at least one key which is dependent on virtual address information associated with the virtual buffer. 5. The method of claim 4 , comprising providing the first data in unencrypted form to the functional block. 6. The method of claim 1 wherein the virtual address information comprises a first address range. 7. The method of claim 6 , comprising determining if a virtual address associated with the command is within the first address range. 8. The method of claim 7 wherein the command is a request to read encrypted first data associated with the virtual address, comprising only decrypting the encrypted first data if the virtual address is within the first address range. 9. The method of claim 7 wherein the command is a request to write data associated with a first virtual address, comprising only encrypting and writing the first data if the first virtual address is within the first address range. 10. The method of claim 1 , comprising receiving a virtual address associated with the command. 11. The method of claim 1 , comprising receiving identification information from a functional block associated with the virtual buffer. 12. The method of claim 11 wherein the identification information identifies a type of transaction associated with at least one of data and the functional block. 13. The method of claim 11 wherein the command is a write command and executing the command comprises determining if data is to be encrypted or blocked based on the received identification information. 14. The method of claim 11 wherein the command is a read command and executing the command comprises determining whether to decrypt data based on the received identification information. 15. The method of claim 6 , comprising defining a second address range for the virtual buffer and defining at least one key in dependence on address information associated with the second address range. 16. An apparatus, comprising: interface circuitry configured to receive a command associated with an address of a virtual buffer, the virtual buffer being configured to store data packets of a video data stream, contiguous virtual addresses of the virtual buffer being associated with discontiguous addresses of a physical memory; and cyphering circuitry coupled to the interface and configured to determine whether the address associated with the virtual buffer is within an address range, and, in response to determining the address associated with the virtual buffer is within the address range, determine a key associated with the command based on virtual buffer address information associated with the virtual buffer, wherein the key is generated based on an address-based seed associated with a window defined in the virtual address space; and initiate execution of the command. 17. The apparatus of claim 16 wherein the cyphering circuitry is configured to respond to a received write command by, encrypting data associated with the command using the key; and initiating writing of the encrypted data to a location of the physical memory associated with the address of the virtual buffer. 18. The apparatus of claim 16 wherein the cyphering circuitry is configured to respond to a received read command by, initiating retrieval of encrypted data from a location in the physical memory associated with the address of the virtual buffer; and decrypting the retrieved data using the determined key. 19. The apparatus of claim 16 wherein the interface circuitry is configured to couple to a functional block associated with the virtual buffer. 20. The apparatus of claim 16 wherein the cyphering circuitry comprises a windowed cyphering block. 21. The apparatus of claim 16 , comprising a memory interface configured to couple to the physical memory. 22. The apparatus of claim 16 wherein the virtual address information comprises a first address range. 23. The apparatus of claim 22 wherein the cyphering circuitry is configured to determine whether the virtual address associated with the command is within the first address range. 24. The apparatus of claim 23 wherein the cyphering circuitry is configured to initiate execution of the command based on the determination of whether the virtual address is within the first address range. 25. The apparatus of claim 16 wherein the interface circuitry is configured to receive identification information from a functional block associated with the virtual buffer. 26. The apparatus of claim 25 wherein the cyphering circuitry is configured to initiate execution of the command based on received identification information. 27. A system, comprising: data processing circuitry having a virtual data buffer, the virtual data buffer being configured to store data packets of a data stream and contiguous virtual addresses of the virtual buffer being associated with discontiguous addresses of a physical memory; and cyphering circuitry coupled to the data processing circuitry and configured to respond to a command received from the data processing circuitry by determining whether an address associated with the command is within an address range, and, in response to a determination the address associated with the command is within the address range, determine a key associated with the command based on virtual buffer address information associated with the virtual

Assignees

Inventors

Classifications

  • involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics · CPC title

  • Encoding or coding, e.g. Huffman coding or error correction · CPC title

  • H04L9/304Primary

    based on error correction codes, e.g. McEliece · CPC title

  • G06F21/78Primary

    to assure secure storage of data (address-based protection against unauthorised use of memory G06F12/14; record carriers for use with machines and with at least a part designed to carry digital markings G06K19/00) · CPC title

  • by using cryptography (for digital transmission H04L9/00) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10594483B2 cover?
Data processing circuitry has a virtual data buffer, with contiguous virtual addresses of the virtual buffer being associated with discontiguous addresses of a physical memory. Cyphering circuitry coupled between the data processing circuitry and the physical memory responds to a command received from the data processing circuitry by determining a key associated with the command based on virtua…
Who is the assignee on this patent?
St Microelectronics Res & Dev Ltd, Stmicroelectronics Res And Development Limited
What technology area does this patent fall under?
Primary CPC classification H04L9/304. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 17 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).