Nova Patents
EP1569124A1

Memory interface and data processing

Abstract

A memory interface connecting a single data bus to a parallel configuration of plural uniform memory units is provided. The memory interface is capable of reading/storing a subsequence of data items from a sequence of consecutive data items within a single memory access cycle, wherein the width of a subsequence corresponds to the width of the data bus. Each data item of a subsequence is read from/stored in a different one of the plural uniform memory units, and the memory interface controls individual access to each of the plural uniform memory units in accordance with an access request for a particular subsequence of data items.

EP1569124A1, drawing sheet 1
Sheet 1 of 7

Term

Term ended

Projected expiry passed 26 February 2024, 2.6 years ago.

  1. Priority and filed
  2. Published
  3. Projected expiry
  4. Today

38 claims: 21 independent, 17 dependent

  1. 1
    A memory interface connecting a single data bus (850) to a parallel configuration (700) of plural uniform memory units (701, 702, 70n) for reading/storing a subsequence of data items from a sequence of consecutive data items, said subsequence of data items being read/stored in a single memory access cycle and the width of a subsequence corresponds to the width of said data bus (850), wherein each data item of a subsequence being read from / stored in a different one of said plural uniform memory units (701, 702, 70n), and said memory interface controlling individual access to each of said plural uniform memory units (701, 702, 70n) in accordance with an access request (831) for a particular subsequence of data items.
  2. 2
    A memory interface in accordance with claim 1, comprising a controller (810) for receiving an access request (831) for a subsequence of data items and calculating individual addresses (911, 912, 913) for said plural uniform memory units (701, 702, 70n) in accordance with said access request (831).
  3. 3
    A memory interface in accordance with claim 1 or 2, wherein an access request (831) for a subsequence of data items specifies a storage position of at least one data item of said subsequence of data items (D6, D7, D8, D9, D10).
  4. 4
    A memory interface in accordance with claim 3, wherein said storage position being specified by an address and a designation of a specific memory unit out of said plural uniform memory units (701, 702, 70n).
  5. 5
    A memory interface in accordance with claim 1 or 2, wherein an access request (831) for a subsequence of data items (D6, D7, D8, D9, D10) specifies a position of at least one data item (D6) of said subsequence of data items (D6, D7, D8, D9, D10) within said sequence of data items.
  6. 6
    A memory interface in accordance with any of claims 1 to 5, wherein said data items of said sequence of said data items being stored in a cyclic manner in said parallel configuration (700) of plural uniform memory units (701, 702, 70n), storing each of consecutive data items in consecutive memory units utilizing the same address, and increasing said address after occupying storage positions accessible under said address in all said plural uniform memory units (701, 702, 70n).
  7. 7
    A memory interface in accordance with any of claims 2 to 6, wherein said individual addresses (911, 912, 913) only include either a single address or two adjacent addresses.
  8. 8
    A memory interface in accordance with claim 7, wherein said controller (810) includes an address calculation stage (930) for calculating two adjacent addresses in accordance with said access request (831).
  9. 9
    A memory interface in accordance with claim 8, wherein said controller (810) further includes selection means (961, 962, 963) for selecting one of said two calculated addresses as individual address for each of said plural uniform memory units (701, 702, 70n).
  10. 10
    A memory interface in accordance with any of claims 1 to 9, wherein said memory interface further comprising a sorting means (950) for sorting the data items of a subsequence of data items read from said plural uniform memory units (701, 702, 70n) in order to bring the succession of said read data items into accordance with the succession of data items in said sequence.
  11. 11
    A memory interface in accordance with any of claims 1 to 10, wherein said memory interface further comprising a sorting means for sorting the data items of a subsequence of data items to be stored in said plural uniform memory units (701, 702, 70n) in order to bring the succession of said data items to be stored into accordance with a predetermined storage succession.
  12. 12
    A memory interface in accordance with claim 10 or 11, wherein said sorting means (950) determines an exchange scheme for said data items in accordance with a control signal from said address calculation stage (930) indicative of a storage position of at least one data item of the subsequence of data items.
  13. 13
    A memory interface in accordance with any of claims 1 to 12, further comprising a write controller (940) for storing respective data items at an identical address in each of said plural uniform memory units.
  14. 14
    A memory interface in accordance with any of claims 1 to 13, wherein each of said data items and each of said plural uniform memory units (701, 702, 70n) have a width of 10 bit.
  15. 15
    A memory interface in accordance with any of claims 1 to 14 wherein a subsequence includes 5 data items.
  16. 16
    A memory interface in accordance with any of claims 1 to 15, wherein said data bus (850) has a width of 50 bit.
  17. 17
    A data processing system for performing data processing requiring access to a predetermined number of adjacent data items of a sequence of consecutive data items, comprising processing means (820) for performing data processing on said adjacent data items, a single data bus (850) connected to said processing means (820), and a memory interface (810) in accordance with any of claims 1 to 16 for connecting said data bus (850) to a plurality of uniform memory units (701, 702, 70n).
  18. 18
    A data processing system in accordance with claim 17, wherein said processing means (820) processes said predetermined number of adjacent data items in parallel, and the number of data items of a subsequence of data items accessed via said memory interface (810) in a single memory access cycle corresponds to the predetermined number of data items being processed in parallel.
  19. 19
    A data processing system in accordance with claim 18, wherein said processing means (820) include a digital filter being supplied with said predetermined number of adjacent data items.
  20. 20
    A data processing system in accordance with any of claims 17 to 19, wherein said processing means (820) includes a number of pipelined processing stages.
  21. 21
    A data processing system in accordance with any of claims 17 to 20, wherein said processing means (820) include an image processor.
  22. 22
    A data processing system in accordance with claim 21, wherein said image processor being operable to perform at least one of the following picture improvement algorithms of frame-rate conversion, frame-rate up-conversion, and motion compensated up-conversion.
  23. 23
    A memory access method for accessing a parallel configuration of plural uniform memory units via a single data bus in order to read/store a subsequence of data items from a sequence of consecutive data items, the width of a subsequence corresponding to the width of said data bus, comprising the step of:reading/storing (s100, s200, s300) a particular subsequence of data items in a single memory access cycle, wherein each data item of said subsequence being read from / stored in a different one of said plural uniform memory units, and wherein said reading/storing step (s100, s200, s300) comprising the step of controlling (s200) individual access to each of said plural uniform memory units in accordance with an access request for said subsequence of data items.
  24. 24
    A memory access method in accordance with claim 23, wherein said reading/storing step (s100, s200, s300) comprising the step of receiving an access request (s100) for a subsequence of data items and calculating individual addresses for said plural uniform memory units in accordance with said access request.
  25. 25
    A memory access method in accordance with claim 23 or 24, wherein an access request for a subsequence of data items specifies a storage position of at least one data item of said subsequence of data items.
  26. 26
    A memory access method in accordance with claim 25, wherein said storage position being specified by an address and a designation of a specific memory unit out of said plural uniform memory units.
  27. 27
    A memory access method in accordance with claim 23 or 24, wherein an access request for a subsequence of data items specifies a position of at least one data item of said subsequence of data items within said sequence of data items.
  28. 28
    A memory access method in accordance with any of claims 23 to 27, wherein said data items of said sequence of said data items being stored in a cyclic manner in said parallel configuration of plural uniform memory units, storing each of consecutive data items in consecutive memory units utilizing the same address, and increasing said address after occupying storage positions accessible under said address in all said plural uniform memory units.
  29. 29
    A memory access method in accordance with any of claims 24 to 28, wherein said individual addresses only include either a single address or two adjacent addresses.
  30. 30
    A memory access method in accordance with claim 29, wherein said reading/storing step (s100, s200, s300) further comprising the step of calculating two adjacent addresses in accordance with said access request.
  31. 31
    A memory access method in accordance with claim 30, wherein said reading/storing step (s100, s200, s300) further comprising the step of selecting one of said two calculated addresses as individual address for each of said plural uniform memory units.
  32. 32
    A memory access method in accordance with any of claims 23 to 31, wherein said reading/storing step (s100, s200, s300) further comprising the step of sorting the data items of a subsequence of data items read from said plural uniform memory units in order to bring the succession of said read data items into accordance with the succession of data items in said sequence.
  33. 33
    A memory access method in accordance with any of claims 23 to 32, wherein said reading/storing step (s100, s200, s300) further comprising the step of sorting the data items of a subsequence of data items to be stored in said plural uniform memory units in order to bring the succession of said data items to be stored into accordance with a predetermined storage succession.
  34. 34
    A memory access method in accordance with claim 32 or 33, wherein said sorting step including the step of determining an exchange scheme for said data items in accordance with a storage position of at least one data item of the subsequence of data items.
  35. 35
    A memory access method in accordance with any of claims 23 to 34, wherein a write access is carried out as a collective access to identical addresses of said plural uniform memory units.
  36. 36
    A memory access method in accordance with any of claims 23 to 35, wherein each of said data items and each of said plural uniform memory units have a width of 10 bit.
  37. 37
    A memory access method in accordance with any of claims 23 to 36, wherein a subsequence includes 5 data items.
  38. 38
    A memory access method in accordance with any of claims 23 to 37, wherein said data bus has a width of 50 bit.
Independent claims38