Memory device having a cyclically configured data memory and having plural data portals for outputting/inputting data
First Claim
1. A method comprising:
- providing data stored in a memory in a systematic, cyclical arrangement;
providing plural data portals in an arrangement defined by modular arithmetic;
providing sequential, systematic, cyclical, relative movement between the stored data and the data portals; and
utilizing the relative movement to determine a location of the data relative to at least one of the data portals at a given time.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and an apparatus for storing data provide data memory in a systematic, cyclical arrangement, provide plural data portals in an arrangement defined by modular arithmetic, and provide sequential, relative movement between the data memory and the data portals. When one or more of the plural portals is selected, data can be input or output in a manner which is predictable, straight-forward, free of scheduling constraints, and very efficient, without contention between the separate portals. Also disclosed are a method and apparatus which provide data memory in a systematic, cyclical arrangement, provide a systematic arrangement of plural data outputs, and provide sequential, relative movement between the data memory and the data outputs. The memory devices of the present invention can be designed so that the memory device circulates data either through or past fixed portals. Alternatively, the data can be stored in fixed locations and the portals moved from location to location. Preferred embodiments of the invention utilize semiconductor memory technology in order to implement the memory devices. Another set of embodiments utilizes memory storage media capable of confining propagating waves in order to implement the memory devices.
35 Citations
104 Claims
-
1. A method comprising:
-
providing data stored in a memory in a systematic, cyclical arrangement;
providing plural data portals in an arrangement defined by modular arithmetic;
providing sequential, systematic, cyclical, relative movement between the stored data and the data portals; and
utilizing the relative movement to determine a location of the data relative to at least one of the data portals at a given time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
all the plural data portals repetitively encounter all the stored data in accordance with the cyclical arrangement and the relative movement. -
3. The method according to claim 1, wherein
said step of providing the stored data comprises providing a systematic, cyclical sequence of data locations for the stored data. -
4. The method according to claim 1, wherein
said step of providing the stored data comprises providing systematically connected plural storage devices. -
5. The method according to claim 4, wherein
said step of providing plural storage devices comprises arranging the plural storage devices in an arrangement defined by modular arithmetic. -
6. The method according to claim 5, wherein the arrangement of plural storage devices is defined by:
-
7. The method according to claim 6, wherein a relationship between consecutive storage devices is defined by:
-
8. The method according to claim 7, wherein:
-
9. The method according to claim 1, wherein the arrangement of plural data portals is defined by:
-
Pi≡
Pi+M,where Pi=a data portal in the arrangement, and M=the total number of the plural data portals provided.
-
-
10. The method according to claim 9, a relationship between consecutive data portals is defined by:
-
11. The method according to claim 10, wherein:
-
12. The method according to claim 10, wherein:
f(t) is a non-constant function.
-
13. The method according to claim 1, wherein:
-
the data portals are fixed; and
the stored data is moved past the data portals.
-
-
14. The method according to claim 12, wherein:
the stored data is moved past each of the data portals.
-
15. The method according to claim 1, wherein:
-
the stored data is in fixed locations; and
the data portals move from respective fixed locations to other respective fixed locations.
-
-
16. The method according to claim 15, wherein:
each portal moves from the one respective fixed location to one other respective fixed location.
-
17. The method according to claim 1, wherein the relative movement between the stored data and the data portals is intermittent.
-
18. A method according to claim 1, further comprising the step of:
outputting the stored data from at least one of the plural data portals.
-
19. A method according to claim 1, further comprising the step of:
selecting at least one of the data portals in accordance with the location determined.
-
20. A method according to claim 19, further comprising the step of:
outputting the data at the selected at least one data portal.
-
21. A method according to claim 20, wherein said step of outputting the data comprises:
-
reproducing the data; and
delivering the reproduced data from the selected at least one data portal.
-
-
22. A method according to claim 21, wherein the data is reproduced at and delivered from the selected at least one data portal.
-
23. A method according to claim 19, wherein a first one of the data portals is selected at a first time, to output the data via the first data portal, and a second one of the data portals is selected at a second time, to output the data via the second data portal.
-
24. A method according to claim 1, further comprising the step of:
selecting certain ones of the plural data portals.
-
25. A method according to claim 24, further comprising the step of:
during said selecting step, outputting the data via the selected data portals.
-
26. A method according to claim 24, wherein the selected data portals are selected independently of one another in accordance with respective, independent selection signals.
-
27. A method according to claim 26, wherein the selected data portals are selected independently with with respect to time.
-
28. A method according to claim 27, wherein a first one of the selected data portals is selected at a first time and a second one of the selected data portals is selected at a second time.
-
29. A method according to claim 1, wherein said step of providing data stored in a memory comprises:
-
selecting at least one of the data portals in accordance with the location determined; and
inputting data into the memory via the at least one data portal as the stored data.
-
-
30. A method according to claim 24, further comprising the step of:
outputting the data at the selected data portals.
-
31. A method according to claim 30, wherein said step of outputting the data comprises:
-
reproducing the data; and
delivering the reproduced data from the selected data portals.
-
-
32. A method according to claim 31, wherein the data is both reproduced at and delivered from individual ones of the selected data portals.
-
33. The method according to claim 1, further comprising the steps of:
-
selecting from among the plural data portals one data portal in accordance with the location determined; and
outputting the data from the memory via the one selected data portal to plural output destinations.
-
-
34. A method according to claim 1, further comprising the steps of:
-
selecting a first one of the data portals at a first time in accordance with the location determined;
outputting the data via the first data portal to a first destination;
utilizing the relative movement to determine a new location of the data relative to the data portals at a subsequent time;
selecting a second one of the data portals at a second time different from the first time in accordance with the new location determined; and
outputting the data via the second data portal to a second destination.
-
-
-
35. A method of efficiently disseminating data, comprising the steps of:
-
providing stored data and a plurality of data portals arranged in a manner defined by modular arithmetic;
establishing systematic, relative, cyclical movement between the stored data and the data portals;
utilizing the movement to determine a location of the data relative to the data portals;
selecting at least one of the data portals in accordance with the location determined and outputting the data at the selected at least one data portal in accordance with the relative, cyclical movement to a telecommunications line; and
transmitting the data to a remote station by means of the telecommunications line.
-
-
36. A method of accessing information held in data locations, comprising the steps of:
-
providing a systematic arrangement of plural data locations;
providing a plurality of data portals arranged in a manner defined by modular arithmetic;
establishing systematic, relative, cyclical movement between the data locations and the data portals;
calculating a momentary location within the data locations of a given part of the information; and
selecting one of the data portals based on the calculated momentary location and accessing the information held in the data locations via the selected portal in accordance with the relative, cyclical movement. - View Dependent Claims (37, 38)
-
-
39. A memory device comprising:
-
a data storage unit storing data in a systematic arrangement;
a plurality of data portals arranged in a manner defined by modular arithmetic and connected to said data storage unit;
means for establishing relative, systematic, cyclical movement between the data stored in said data storage unit and said data portals; and
means for determining a location of the data relative to said data portals at a given time based on the movement between the data and said data portals. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62)
said data storage unit comprises a plurality of systematically connected storage devices.
-
-
41. A memory device according to claim 40, wherein:
said storage devices are arranged in said data storage unit to form a data storing loop.
-
42. A memory device according to claim 41, wherein:
said storage devices are connected together in series.
-
43. A memory device according to claim 40, wherein:
said storage devices are arranged in said data storage unit to form a ring.
-
44. A memory device according to claim 43, wherein:
said storage devices are connected together in series.
-
45. A memory device according to claim 40, wherein:
said storage devices are connected together in series.
-
46. A memory device according to claim 40, wherein:
at least a portion of said storage devices are connected together in series.
-
47. A memory device according to claim 40, wherein:
said storage devices are selected from the group consisting of shift registers, static random access memories, dynamic random access memories, pseudo static random access memories, delay lines, charge coupled devices, read-only memories, programmable read-only memories, and non-volatile memories.
-
48. A memory device according to claim 40, wherein:
at least a portion of said data portals are respectively inserted between said storage devices in said data storage unit.
-
49. A memory device according to claim 39, wherein:
said data portals comprise at least one data replicator.
-
50. A memory device according to claim 39, wherein:
at least some of said data portals comprise data replicators.
-
51. A memory device according to claim 39, wherein said data portals are physical locations.
-
52. A memory device according to claim 39, wherein at least some of said data portals are selected from the group consisting of latches, logic gates, regenerators, and amplifiers.
-
53. A memory device according to claim 39, wherein at least a portion of said data portals are connected into said data storage unit.
-
54. A memory device according to claim 39, wherein said means for establishing relative movement comprises a clock.
-
55. A memory device according to claim 54, wherein said clock comprises data shifting circuitry.
-
56. A memory device according to claim 39, wherein said means for establishing relative movement are selected from the group consisting of n-phase clocks, timing generators, address generators, data multiplexers, and a microprocessor.
-
57. A memory device according to claim 39, further comprising:
a controller, connected to said plurality of data portals, configured to control data traffic at said data portals.
-
58. A memory device according to claim 39, further comprising:
a control device configured to establish a connection between said data portals and at least one output line.
-
59. A memory device according to claim 39, further comprising:
a control device configured to establish a connection between said data portals and at least one input line.
-
60. A memory device according to claim 39, further comprising:
a control device configured to select among said data portals in accordance with an externally supplied selection signal.
-
61. A memory device according to claim 39, further comprising:
a controller configured to select from among said plurality of data portals one data portal and to output the data via said one selected data portal to plural output destinations.
-
62. A memory device according to claim 39, further comprising:
a control device configured to select among said data portals in accordance with a selection signal output by said determining means.
-
63. A memory device comprising:
-
a data storage unit comprising a plurality of storage devices systematically interconnected in a manner defined by modular arithmetic;
a plurality of data portals connected to said data storage unit in a manner defined by modular arithmetic;
a data pump that establishes systematic, recirculating, relative movement between data stored in said storage devices of said data storage unit and said data portals; and
a calculator that determines location of the data relative to said data portals based on the movement.
-
-
64. A memory device comprising:
-
a data storage unit having a systematic arrangement of data locations for storing data;
a plurality of data portals connected to said data locations and arranged in a manner defined by modular arithmetic;
a generator configured to establish relative, systematic, cyclical movement between said data locations and said data portals; and
a controller configured to select one data portal from among said plurality of data portals in accordance with a data location calculation based on the relative movement, and to interconnect said selected one data portal with one of a plurality of communications lines connected with said memory device.
-
-
65. A memory device comprising:
-
a memory storage medium confining cyclically propagating data;
a plurality of data portals connected to said storage medium and arranged around said memory storage medium in a manner defined by modular arithmetic and in such a manner that said data portals repetitively encounter the cyclically propagating data; and
a unit calculating a momentary location of the cyclically propagating data based on a propagation rate of the data. - View Dependent Claims (66)
-
-
67. A method comprising the steps of:
-
providing data memory for storing data in a systematic, cyclical arrangement;
providing a systematic arrangement of plural data outputs;
providing sequential, systematic and cyclical relative movement between the stored data and the data outputs;
selecting one of the data outputs in accordance with a selection signal and a data location calculation based on the relative movement; and
outputting at least a segment of the stored data from the selected data output to one of a plurality of telecommunications lines. - View Dependent Claims (68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79)
said step of providing data memory comprises providing stored data. -
69. The method according to claim 68, wherein:
the stored data pass through at least some of the data outputs.
-
70. The method according to claim 67, wherein
said step of providing data memory comprises providing data locations. -
71. The method according to claim 67, wherein:
-
the data outputs are fixed; and
the data memory is moved past the data outputs.
-
-
72. The method according to claim 71, wherein:
the data memory is moved past each of the data outputs.
-
73. The method according to claim 71, wherein:
the data memory is moved from one of the data outputs to another one of the data outputs.
-
74. The method according to claim 67, wherein the relative movement between the data memory and the data outputs is continual.
-
75. The method according to claim 67, wherein the relative movement between the data memory and the data outputs is intermittent.
-
76. A method according to claim 67, wherein the data memory comprises stored data.
-
77. A method according to claim 76, wherein said outputting step comprises:
-
reproducing the data; and
delivering the reproduced data from the cyclical arrangement at the selected data output.
-
-
78. A method according to claim 76, wherein:
-
said selecting step is performed at a first time, to output the data via the selected data output as a first data output, and further comprising the steps of;
selecting a second one of the data outputs at a second time in accordance with a further selection signal and a further data location calculation based on the relative movement; and
outputting at least a segment of the stored data from the second selected data output to a second of the plurality of telecommunications lines.
-
-
79. The method according to claim 67, further comprising the step of:
outputting at least the segment of the stored data from the data memory via said one selected data output to additional telecommunications lines.
-
-
80. A method of efficiently disseminating data, comprising the steps of:
-
providing a systematic arrangement of stored data and a systematic arrangement of plural data outputs;
establishing relative, systematic, cyclical movement between the stored data and the data outputs;
utilizing the movement to determine a location of the data relative to the data outputs;
selecting at least one of the data outputs in accordance with the location determined and outputting the data at the selected at least one data output in accordance with the relative, cyclical movement to a telecommunications line; and
transmitting the data to a remote station by means of the telecommunications line.
-
-
81. A method of accessing information held in data locations, comprising the steps of:
-
providing a systematic arrangement of plural data locations;
providing a systematic arrangement of plural data outputs;
establishing relative, systematic, cyclical movement between the data locations and the data outputs;
calculating a momentary location within the data locations of a given part of the information; and
selecting one of the data outputs based on the calculated momentary location and accessing the information held in the data locations via the selected output in accordance with the relative, cyclical movement.
-
-
82. A memory device comprising:
-
a data storage unit for storing data in a systematic arrangement;
a systematic arrangement of plural data outputs connected to said data storage unit;
means for establishing relative, systematic, cyclical movement between the data stored in said data storage unit and said data outputs; and
means for determining a momentary location of the data relative to said data outputs based on the movement between the data and said data outputs. - View Dependent Claims (83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95)
said data storage unit comprises a plurality of systematically connected storage devices.
-
-
84. A memory device according to claim 83, wherein:
said storage devices are arranged in said data storage unit to form a ring.
-
85. A memory device according to claim 82, wherein said data outputs are physical locations.
-
86. A memory device according to claim 82, wherein at least some of said data outputs are selected from the group consisting of latches, logic gates, regenerators, and amplifiers.
-
87. A memory device according to claim 82, wherein at least a portion of said data outputs are connected into said data storage unit.
-
88. A memory device according to claim 82, wherein said means for establishing relative movement comprises a clock.
-
89. A memory device according to claim 88, wherein said clock comprises data shifting circuitry.
-
90. A memory device according to claim 82, wherein said means for establishing relative movement are selected from the group consisting of n-phase clocks, timing generators, address generators, data multiplexers and a microprocessor.
-
91. A memory device according to claim 82, further comprising:
a controller, connected to said plurality of data outputs, configured to control data traffic at said data outputs.
-
92. A memory device according to claim 82, further comprising:
a control device configured to establish a connection between said data outputs and at least one output line.
-
93. A memory device according to claim 82, further comprising:
a control device configured to select among said data outputs in accordance with an externally supplied selection signal.
-
94. A memory device according to claim 82, further comprising:
a controller configured to select from among said plural data outputs one data output and to output the data via said one selected data output to plural output destinations.
-
95. A memory device according to claim 82, further comprising:
a control device configured to select among said data outputs in accordance with a selection signal output by said determining means.
-
96. A memory device comprising:
-
a data storage unit comprising a plurality of storage devices systematically interconnected in a manner defined by modular arithmetic;
a systematic arrangement of plural data outputs connected to said data storage unit;
a data pump that establishes relative, systematic, recirculating movement between data stored in said storage devices of said data storage unit and said data outputs; and
a unit that determines location of the data relative to said data outputs based on the movement.
-
-
97. A memory device comprising:
-
a data storage unit having a systematic arrangement of data locations for storing data;
a systematic arrangement of plural data outputs connected to said data locations;
a generator configured to establish systematic, cyclical, relative movement between said data locations and said data outputs; and
a controller configured to select one data output from among said plural data outputs in accordance with a data location calculation based on the relative movement, and to interconnect said selected one data output with one of a plurality of outgoing communications lines.
-
-
98. A memory device comprising:
-
a memory storage medium confining cyclically propagating data;
a systematic arrangement of plural data outputs connected to said storage medium in such a manner that said data outputs repetitively encounter the cyclically propagating data; and
a unit determining a location at a given time of the cyclically propagating data based on a propagation rate of the data. - View Dependent Claims (99)
-
-
100. A system for distributing selected ones of a plurality of titles stored in a central station to remote stations that respectively select from among the plurality of titles by means of customer premise equipment respectively housed at the remote stations, comprising:
-
a mass data storage device in the central station for storing data representing the plurality of titles in a predetermined order and according to a predetermined, systematic data arrangement;
a plurality of communications ports providing an interface between said mass data storage device and a communications network interconnected between the central station and the plurality of remote stations, said communications ports having a mathematically predefined positional or temporal relationship to the stored data and to each other;
whereinsaid mass data storage device and said plurality of communications ports are connected in such a manner that the stored data systematically and repetitively encounters each of said communications ports according to a predetermined sequence and timing defined by the systematic data arrangement and the mathematically predefined relationship of said communications ports. - View Dependent Claims (101, 102, 103, 104)
a controller interconnected between said plurality of communications ports and the remote stations, said controller being configured to respond to a selection for a selected title from among the plurality of titles received from the customer premise equipment of one of the remote stations by (i) performing a location calculation, based on the predetermined sequence and timing, for ascertaining the location of the selected title in said mass data storage device, (ii) selecting one of said plurality of communications ports, based on the location calculation and the mathematically predefined relationship of said communications ports, and (iii) interconnecting the one selected communications port with the one remote station to distribute the selected title.
-
-
102. The system according to claim 101, wherein said controller is further configured to respond to an adjustment of the selection received from the customer premise equipment of the one remote stations and corresponding to a different portion of the selected title by (i) performing a new location calculation, based on the predetermined sequence and timing, for ascertaining the location of the different portion of the selected title in said mass data storage device, (ii) selecting one other of said plurality of communications ports, based on the new location calculation and the mathematically predefined relationship of said communications ports, and (iii) interconnecting the one other selected communications port with the one remote station, to distribute the selected title commencing with the different portion.
-
103. The system according to claim 101, wherein each of said communications ports is non-dedicated with respect to the remote stations, such that said controller selects the one selected communications port without regard to an identity of the one remote station.
-
104. The system according to claim 101, wherein the selected title is distributed to the one remote station in accordance with the systematic encounter between the stored data and the one communications port after said controller interconnects the one communications port with the one remote station.
Specification