Table scan predicate with integrated semi-join filter
US-2024419650-A1 · Dec 19, 2024 · US
US2023161748A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2023161748-A1 |
| Application number | US-202318158256-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jan 23, 2023 |
| Priority date | Dec 12, 2014 |
| Publication date | May 25, 2023 |
| 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 system and method for efficiently storing data in a storage system. A data storage subsystem includes multiple data storage locations on multiple storage devices in addition to at least one mapping table. A data storage controller determines whether data to store in the storage subsystem has one or more patterns of data intermingled with non-pattern data within an allocated block. Rather than store the one or more pattern on the storage devices, the controller stores information in a header on the storage devices. The information includes at least an offset for the first instance of a pattern, a pattern length, and an identification of the pattern. The data may be reconstructed for a corresponding read request from the information stored in the header.
Opening claim text (preview).
What is claimed is 1 . A computer system comprising: a data storage medium; and a data storage controller coupled to the data storage medium; wherein in response to detecting that write data of a received write request has at least one repeating pattern intermingled with non-pattern data, the data storage controller is configured to store metadata in the data storage medium corresponding to the write request that identifies the at least one repeating pattern, without storing all the write data in the data storage medium. 2 . The computer system as recited in claim 1 , wherein the at least one repeating pattern comprises a number of contiguous instances of a bit pattern, and wherein the data storage controller is further configured to store fewer than the number of contiguous instances of the bit pattern in the data storage medium. 3 . The computer system as recited in claim 2 , wherein a size of a single instance of the bit pattern does not exceed a programmable size threshold. 4 . The computer system as recited in claim 1 , wherein the data storage controller is further configured to: determine respective offsets for the at least one repeating pattern; and store the respective offsets for the at least one repeating pattern in the metadata. 5 . The computer system as recited in claim 4 , wherein the data storage controller is further configured to: determine respective offsets for the non-pattern data; and store the respective offsets for the non-pattern data in the metadata. 6 . The computer system as recited in claim 1 , wherein the data storage controller is further configured to: determine a stride of offsets for one or more of the at least one repeating pattern and the non-pattern data; and store the stride of offsets in the metadata. 7 . The computer system as recited in claim 1 , wherein in response to receiving a read request, the data storage controller is further configured to read the metadata to construct data requested by the read request. 8 . The computer system as recited in claim 1 , wherein the data storage controller is further configured to store the non-pattern data in the data storage medium in contiguous data spaces with no storage for the at least one repeating pattern data in the received write request. 9 . A method for use in a storage system, the method comprising: receiving a write request; in response to detecting write data of the write request has at least one repeating pattern intermingled with non-pattern data: storing metadata in the data storage medium corresponding to the write request that identifies the at least one repeating pattern, without storing all the write data in the data storage medium. 10 . The method as recited in claim 9 , wherein the at least one repeating pattern comprises a number of contiguous instances of a bit pattern, and wherein the method further comprises storing fewer than the number of contiguous instances of the bit pattern in the data storage medium. 11 . The method as recited in claim 10 , wherein a size of a single instance of the bit pattern does not exceed a size threshold. 12 . The method as recited in claim 9 , wherein the method further comprises: determining respective offsets for the at least one repeating pattern; and storing the respective offsets for the at least one repeating pattern in the metadata. 13 . The method as recited in claim 12 , wherein the method further comprises: determining respective offsets for the non-pattern data; and storing the respective offsets for the non-pattern data in the metadata. 14 . The method as recited in claim 9 , wherein the method further comprises: determining a stride of offsets for one or more of the at least one repeating pattern and the non-pattern data; and storing the stride of offsets in the metadata. 15 . The method as recited in claim 9 , wherein in response to receiving a read request, the method further comprises reading the metadata to construct the data corresponding to the read request. 16 . The method as recited in claim 9 , wherein the method further comprises storing the non-pattern data in the data storage medium in contiguous data spaces with no storage for the at least one repeating pattern data in the received write request. 17 . A non-transitory computer readable storage medium storing program instruction executable by a processor to: in response to detecting write data of a received write request has at least one repeating pattern intermingled with non-pattern data: store metadata in the data storage medium corresponding to the write request that identifies the at least one repeating pattern, without storing all the write data in the data storage medium. 18 . The non-transitory computer readable storage medium as recited in claim 17 , wherein the at least one repeating pattern comprises a number of contiguous instances of a bit pattern, and wherein the program instructions are further executable by a processor to store fewer than the number of contiguous instances of the bit pattern in the metadata. 19 . The non-transitory computer readable storage medium as recited in claim 18 , wherein a size of a single instance of the bit pattern does not exceed a size threshold. 20 . The non-transitory computer readable storage medium as recited in claim 17 , wherein in response to receiving a read request, the program instructions are further executable by a processor to read the metadata to construct the data corresponding to the read request.
De-duplication techniques · CPC title
Vectors, bitmaps or matrices · CPC title
Saving storage space on storage systems · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.