Method and device for data storage
US-2023409200-A1 · Dec 21, 2023 · US
US12566562B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12566562-B2 |
| Application number | US-202418604012-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 13, 2024 |
| Priority date | Oct 17, 2023 |
| Publication date | Mar 3, 2026 |
| Grant date | Mar 3, 2026 |
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 method is disclosed. In the method, a set of data blocks can be stored. A continuous stream of data can be received. First data from the continuous stream of data can be stored in a first subset of data blocks. Second data from the continuous stream of data can be stored in a second subset of data blocks. Responsive to determining each of the set of data blocks is filled with data, data in a third subset of data blocks can be overwritten with data from the continuous stream of data.
Opening claim text (preview).
What is claimed is: 1 . A method comprising: storing, by one or more processors of a computing device, a set of data blocks in disk storage of the computing device; receiving, by one or more processors, a continuous stream of data from a data source; storing, by the one or more processors and while receiving the continuous stream of data, first data from the continuous stream of data in a first subset of the set of data blocks for a first file, the first file being defined by a predetermined first time interval having a defined start and a defined end based on time interval boundaries; responsive to detecting an end of the first time interval, closing the first file to prevent further data from being written to the first file, and storing, by the one or more processors and while receiving the continuous stream of data, second data from the continuous stream of data in a second subset of the set of data blocks for a second file, the second file being defined by a predetermined second time interval having a defined start and a defined end based on time interval boundaries; determining, by the one or more processors during the predetermined second time interval, each of the set of data blocks is filled with data; and determining, by the one or more processors, that a time difference between a current time and the predetermined first time interval exceeds a retention threshold; responsive to the determining that each of the set of data blocks is filled with data and that the time difference exceeds the retention threshold, automatically overwriting, by the one or more processors, the first subset of data blocks comprising the first file in its entirety with third data collected from the continuous stream of data subsequent to the second data during the predetermined second time interval; wherein the one or more processors store in a data structure in memory an identification of each data block in the first and second subsets with an identification of the corresponding first or second file, wherein each identification permanently associates each data block with its corresponding file and is maintained without reassignment unless the data block is overwritten. 2 . The method of claim 1 , further comprising: storing, by the one or more processors in a data structure in memory of the computing device, an identification of each of the first subset of data blocks with a first identification of a first file. 3 . The method of claim 2 , further comprising: storing, by the one or more processors in the data structure in the memory of the computing device, an identification of each of the second subset of data blocks and the third subset of data blocks with a second identification of a second file. 4 . The method of claim 2 , further comprising: receiving, by the one or more processors, a request comprising the identification of the first file; and retrieving, by the one or more processors, the first data from the first subset of the set of data blocks based on the first identification of the first file in the request matching the first identification of the first file in each of the first subset of data blocks. 5 . The method of claim 1 , wherein storing the first data in the first subset of data blocks comprising storing, by the one or more processors, the first data in a first plurality of data blocks of the set of data blocks. 6 . The method of claim 1 , further comprising: receiving, by the one or more processors during the predetermined first time interval, a second continuous stream of data from a second data source; storing, by the one or more processors and while receiving the second continuous stream of data, fourth data from the second continuous stream of data in a fourth subset of the set of data blocks for the predetermined first time interval; and responsive to the detecting the end of the predetermined first time interval, storing, by the one or more processors and while receiving the second continuous stream of data, fifth data from the second continuous stream of data in a fifth subset of the set of data blocks for the predetermined second time interval. 7 . The method of claim 1 , wherein determining that each of the set of data blocks is filled with data comprises determining, by the one or more processors, that a maximum file limit has been reached. 8 . The method of claim 1 , wherein data within the set of data bocks is unmodifiable. 9 . The method of claim 1 , wherein storing the first data in the first subset of the set of data blocks comprises: storing, by the one or more processors, a first set of data of the first data in a first data block of the first subset of data blocks; determining, by the one or more processors, the first data block is full; and responsive to determining the first data block is full, storing, by the one or more processors, a second set of data of the first data in a second data block of the first subset of the set of data blocks. 10 . The method of claim 9 , wherein storing the first data in the first subset of the set of data blocks comprises: identifying, by the one or more processors, the second data block based on an index of the second data block responsive to determining the first data block is full; and storing, by the one or more processors, the second set of data of the first data in the second data block responsive to identifying the second data block based on the index of the second data block. 11 . The method of claim 1 , wherein receiving the continuous stream of data comprises receiving, by the one or more processors, a stream of data packets transmitted via a communications network. 12 . The method of claim 1 , wherein receiving the continuous stream of data comprises receiving, by the one or more processors, audiovisual data from a video recorder. 13 . The method of claim 1 , further comprising: responsive to detecting a second end of the predetermined second time interval, storing, by the one or more processors and while receiving the continuous stream of data, third data from the continuous stream of data in a fourth subset of the set of data blocks for a predetermined third time interval having a defined start and a defined end based on time interval boundaries; determining, by the one or more processors, that a time difference between a current time and the predetermined first time interval exceeds a threshold; and responsive to determining that the time difference exceeds the threshold, overwriting, by the one or more processors during the predetermined third time interval, the first data in the first subset of data blocks with the third data from the continuous stream of data. 14 . The method of claim 1 , wherein storing the set of data blocks in the disk storage of the computing device comprises storing, by the one or more processors, the set of data blocks as data blocks with equal size. 15 . A system, comprising: one or more processors, coupled to memory and disk storage, to: store a set of data blocks in the disk storage; receive a continuous stream of data from a data source; store, while receiving the continuous stream of data, first data from the continuous stream of data in a first subset of the set of data blocks for a first file, the first file being defined by a predetermined first time interval having a defined start and a defined end based on time interval boundaries; responsive to detecting an end of the first time interval, close the first file to prevent further data from being written to the first file, and store, while receiving the continuous stream of data, second data from the
Management of files · CPC title
Single storage device · CPC title
Management of blocks · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.