Patents by Inventor Israel Gold
Israel Gold has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11354307Abstract: There is provided a database management system, comprising: a multicore processor, a shared memory, a partitioned memory, and a database engine adapted to execute at least one transaction worker thread managing transaction states and database indexes in the shared memory using a cache coherency mechanism, and execute at least one partition manager thread for handling database access actions submitted by the at least one transaction worker thread to access a database in the partitioned memory, the cache coherency mechanism being disabled in the partitioned memory; wherein the at least one transaction worker thread and the at least one partition manager thread are executed simultaneously on the multicore processor.Type: GrantFiled: March 21, 2018Date of Patent: June 7, 2022Assignee: Huawei Technologies Co., Ltd.Inventors: Israel Gold, Hillel Avni, Antonios Iliopoulos
-
Patent number: 11119996Abstract: A method for applying bloom filter on a large data set consisting of key-value pairs, using at least one processor includes: partitioning large data-set of key-value pairs into data chunks; determining Bloom filter Vector and number of segments in the vector for each data chunk; Encoding all keys of a given Chunk into a Bloom filter vector; Determining the segment-id of a given key using H (0) hash function; Encoding Key into a Bloom filter segment with the determined segment-id, using a K-bit array produced by H1, . . . Hk functions; and Packing of segments into extent data structures where each extent includes segments of different chunks, but with the same segment-id wherein a single extent filters multiple chunks, depending on a packing factor (the number of segments packed into a single extent).Type: GrantFiled: January 16, 2019Date of Patent: September 14, 2021Assignee: SQREAM TECHNOLOGIES LTD.Inventors: Israel Gold, Yanai Nani Eliyahu
-
Patent number: 10990628Abstract: In one embodiment, a system for managing a skiplist includes processors arranged for parallel execution of threads, a shared memory storing a skiplist arranged as an ordered set of nodes, and at least one transaction execution thread executed by at least one of the plurality of processors. The at least one transaction execution thread is to execute a range-query operation to identify at least one node of the ordered set of nodes between a first lower key value and a second upper key value, the key-range operation executed by an execution phase and a commit phase, wherein during the execution phase the at least one transaction execution thread traverses nodes of the skiplist in a lock-free state, wherein during the commit phase the at least one transaction execution thread executes a commit protocol that guarantees transaction consistency of the skiplist structure and validates consistency of the range-query operation.Type: GrantFiled: March 6, 2019Date of Patent: April 27, 2021Assignee: HUAWEI TECHNOLOGIES CO., LTD.Inventors: Israel Gold, Hillel Avni
-
Publication number: 20200226112Abstract: The present invention provides a method for applying bloom filter on a large data set consisting of key-value pairs, using at least one processor. The method comprising the step of: partitioning large data-set of key-value pairs into data chunks; determining Bloom filter Vector and number of segments in the vector for each data chunk; Encoding all keys of a given Chunk into a Bloom filter vector; Determining the segment-id of a given key using H (0) hash function; Encoding Key into a Bloom filter segment with said determined segment-id, using a K-bit array produced by H1, . . . Hk functions; and Packing of segments into extent data structures where each extent includes segments of different chunks, but with the same segment-id. wherein a single extent filters multiple chunks, depending on a packing factor (the number of segments packed into a single extent).Type: ApplicationFiled: January 16, 2019Publication date: July 16, 2020Inventors: Israel GOLD, Yanai NANI ELIYAHU
-
Patent number: 10417097Abstract: A system is provided for creating selective snapshots of a database that is stored as one or more segments, wherein a segment comprises one or more memory pages. The system includes a memory storage comprising instructions and one or more processors in communication with the memory. The one or more processors execute the instructions to determine whether a snapshot process is configured to access a selected segment of the one or more segments, assign a positive mapping status to an accessed segment for which the determining unit has determined that it is accessed by the snapshot process and to assign a negative mapping status to a non-accessed segment, and create a snapshot comprises a step of forking the snapshot process with an address space that comprises a subset of the one or more segments.Type: GrantFiled: September 11, 2017Date of Patent: September 17, 2019Assignee: HUAWEI TECHNOLOGIES CO., LTD.Inventors: Eliezer Levy, Antonios Iliopoulos, Shay Goikhman, Israel Gold
-
Publication number: 20190205344Abstract: In one embodiment, a system for managing a skiplist includes processors arranged for parallel execution of threads, a shared memory storing a skiplist arranged as an ordered set of nodes, and at least one transaction execution thread executed by at least one of the plurality of processors. The at least one transaction execution thread is to execute a range-query operation to identify at least one node of the ordered set of nodes between a first lower key value and a second upper key value, the key-range operation executed by an execution phase and a commit phase, wherein during the execution phase the at least one transaction execution thread traverses nodes of the skiplist in a lock-free state, wherein during the commit phase the at least one transaction execution thread executes a commit protocol that guarantees transaction consistency of the skiplist structure and validates consistency of the range-query operation.Type: ApplicationFiled: March 6, 2019Publication date: July 4, 2019Inventors: Israel GOLD, Hillel AVNI
-
Publication number: 20180268027Abstract: There is provided a database management system, comprising: a multicore processor, a shared memory, a partitioned memory, and a database engine adapted to execute at least one transaction worker thread managing transaction states and database indexes in the shared memory using a cache coherency mechanism, and execute at least one partition manager thread for handling database access actions submitted by the at least one transaction worker thread to access a database in the partitioned memory, the cache coherency mechanism being disabled in the partitioned memory; wherein the at least one transaction worker thread and the at least one partition manager thread are executed simultaneously on the multicore processor.Type: ApplicationFiled: March 21, 2018Publication date: September 20, 2018Inventors: Israel GOLD, Hillel AVNI, Antonios ILIOPOULOS
-
Publication number: 20170371748Abstract: A system is provided for creating selective snapshots of a database that is stored as one or more segments, wherein a segment comprises one or more memory pages. The system includes a memory storage comprising instructions and one or more processors in communication with the memory. The one or more processors execute the instructions to determine whether a snapshot process is configured to access a selected segment of the one or more segments, assign a positive mapping status to an accessed segment for which the determining unit has determined that it is accessed by the snapshot process and to assign a negative mapping status to a non-accessed segment, and create a snapshot comprises a step of forking the snapshot process with an address space that comprises a subset of the one or more segments.Type: ApplicationFiled: September 11, 2017Publication date: December 28, 2017Applicant: HUAWEI TECHNOLOGIES CO., LTD.Inventors: Eliezer LEVY, Antonios ILIOPOULOS, Shay GOIKHMAN, Israel GOLD
-
Patent number: 9086991Abstract: A storage system that includes multiple nodes, each node comprises a SSD cache and a management module and hard disk drives that are coupled to the nodes. The management module of each node is arranged to manage a SSD cache map that comprises multiple entries for storing mappings from logical addresses to SSD cache physical addresses and to physical addresses in the hard disk drives. The mappings are related to data units stored in the SSD cache. Upon a rejoin of a certain node following a shut-down or a failure of the certain node, the certain node is arranged to: obtain from at least one other node, current mappings between logical addresses and physical addresses in the hard disk drives, and perform a validation process of the data units stored in the SSD cache in response to relationships between the current mappings and the entries of the SSD cache map.Type: GrantFiled: February 19, 2013Date of Patent: July 21, 2015Assignee: INFINIDAT LTD.Inventor: Israel Gold
-
Patent number: 9086820Abstract: A request for obtaining a space allocation descriptor is received by a block control layer of a storage system. The space allocation descriptor is indicative of one or more logical blocks free for allocation within a range of logical addresses. The range of logical addresses is included within a logical address space related to an upper layer application which has issued the request. The space allocation descriptor is provided by using a data structure included in the block control layer and operative to map between the logical address space and allocated storage blocks within a physical storage space, managed by the block control layer.Type: GrantFiled: December 10, 2012Date of Patent: July 21, 2015Assignee: INFINIDAT LTD.Inventors: Israel Gold, Julian Satran
-
Patent number: 8924664Abstract: The presently disclosed subject matter includes a method and system for enabling the deletion of logical objects characterized by an object identifier (OID). Upon restart following a system interruption, one or more logical objects are identified, each object being addressed by an interrupted delete request. For each identified logical object performing a deletion, the deletion including: reading one or more physical blocks stored in a physical storage space, wherein the one or more physical blocks were linked to the identified logical object before the system interruption, each of the physical blocks includes an OID stored therein indicating a logical object currently linked to the respective physical block; obtaining OIDs stored respectively in the one or more physical blocks; and freeing those physical blocks from among the one or more physical blocks, which store an OID identical to the respective OID of the identified logical object.Type: GrantFiled: December 13, 2012Date of Patent: December 30, 2014Assignee: Infinidat Ltd.Inventor: Israel Gold
-
Patent number: 8868970Abstract: A method and a storage system for managing logical objects, wherein the storage system includes a plurality of control servers and the method includes: (i) defining a plurality of object pools and associating each logical object, hosted in the storage system, with one of the plurality of object pools; (ii) configuring each control server to have a primary responsibility over at least two of the object pools, such that each object pool is controlled by one primary control server, configured to handle requests directed to logical objects associated with the object pool; and (iii) in response to a failure of one of the plurality of control servers, configuring each operational server of the plurality of control servers to take over primary responsibility for at least one object pool, originally defined under the primary responsibility of the failed control server.Type: GrantFiled: September 5, 2012Date of Patent: October 21, 2014Assignee: Infinidat Ltd.Inventors: Israel Gold, Yechiel Yochai, Julian Satran
-
Patent number: 8856443Abstract: According to the teaching disclosed herein there is provided at least a method, system and device for managing a cache memory of a storage system. The storage system is associated with at least one physical storage device and, responsive to a read request, comprising information indicative of a logical address of at least one requested data unit, to obtain a storage physical address associated with the logical address, search the cache memory for a data unit associated with the storage physical address and service the request from the cache in case the data unit is found in the cache memory.Type: GrantFiled: March 12, 2012Date of Patent: October 7, 2014Assignee: Infinidat Ltd.Inventors: Julian Satran, Israel Gold, Efraim Zeidner, Yechiel Yochai, Sivan Tal
-
Publication number: 20140237321Abstract: A storage system that includes multiple nodes, each node comprises a SSD cache and a management module and hard disk drives that are coupled to the nodes. The management module of each node is arranged to manage a SSD cache map that comprises multiple entries for storing mappings from logical addresses to SSD cache physical addresses and to physical addresses in the hard disk drives. The mappings are related to data units stored in the SSD cache. Upon a rejoin of a certain node following a shut-down or a failure of the certain node, the certain node is arranged to: obtain from at least one other node, current mappings between logical addresses and physical addresses in the hard disk drives, and perform a validation process of the data units stored in the SSD cache in response to relationships between the current mappings and the entries of the SSD cache map.Type: ApplicationFiled: February 19, 2013Publication date: August 21, 2014Inventor: Israel Gold
-
Publication number: 20140173226Abstract: The presently disclosed subject matter includes a method and system for enabling the deletion of logical objects characterized by an object identifier (OID). Upon restart following a system interruption, one or more logical objects are identified, each object being addressed by an interrupted delete request. For each identified logical object performing a deletion, the deletion including: reading one or more physical blocks stored in a physical storage space, wherein the one or more physical blocks were linked to the identified logical object before the system interruption, each of the physical blocks includes an OID stored therein indicating a logical object currently linked to the respective physical block; obtaining OIDs stored respectively in the one or more physical blocks; and freeing those physical blocks from among the one or more physical blocks, which store an OID identical to the respective OID of the identified logical object.Type: ApplicationFiled: December 13, 2012Publication date: June 19, 2014Applicant: INFINIDAT LTD.Inventor: Israel GOLD
-
Publication number: 20140164730Abstract: A request for obtaining a space allocation descriptor is received by a block control layer of a storage system. The space allocation descriptor is indicative of one or more logical blocks free for allocation within a range of logical addresses. The range of logical addresses is included within a logical address space related to an upper layer application which has issued the request. The space allocation descriptor is provided by using a data structure included in the block control layer and operative to map between the logical address space and allocated storage blocks within a physical storage space, managed by the block control layer.Type: ApplicationFiled: December 10, 2012Publication date: June 12, 2014Applicant: INFINIDAT LTD.Inventors: ISRAEL GOLD, JULIAN SATRAN
-
Publication number: 20130269039Abstract: The presently disclosed subject matter includes a system and method for protecting data stored in a physical storage space of a storage system. According to the teachings disclosed herein, a block key is provided together with a read and a write request and is applied on data, which is related to a logical data block, for calculating a data block signature. A read request according to the presently disclosed subject matter includes, in addition to data indicative of a requested data block, a block key for the purpose of verifying the data block signature that was stored upon the last write of the requested data block. A write request according to the presently disclosed subject matter includes, in addition to data indicative of a data block to be written, a block key for generating a respective data block signature.Type: ApplicationFiled: April 4, 2012Publication date: October 10, 2013Applicant: INFINIDAT LTD.Inventors: Israel Gold, Yechiel Yochai, Julian Satran
-
Publication number: 20130238855Abstract: According to the teaching disclosed herein there is provided at least a method, system and device for managing a cache memory of a storage system. The storage system is associated with at least one physical storage device and, responsive to a read request, comprising information indicative of a logical address of at least one requested data unit, to obtain a storage physical address associated with the logical address, search the cache memory for a data unit associated with the storage physical address and service the request from the cache in case the data unit to is found in the cache memory.Type: ApplicationFiled: March 12, 2012Publication date: September 12, 2013Applicant: INFINIDAT LTD.Inventors: Julian SATRAN, Israel GOLD, Efraim ZEIDNER, Yechiel YOCHAI, Sivan TAL
-
Publication number: 20130067269Abstract: A method and a storage system for managing logical objects, wherein the storage system includes a plurality of control servers and the method includes: (i) defining a plurality of object pools and associating each logical object, hosted in the storage system, with one of the plurality of object pools; (ii) configuring each control server to have a primary responsibility over at least two of the object pools, such that each object pool is controlled by one primary control server, configured to handle requests directed to logical objects associated with the object pool; and (iii) in response to a failure of one of the plurality of control servers, configuring each operational server of the plurality of control servers to take over primary responsibility for at least one object pool, originally defined under the primary responsibility of the failed control server.Type: ApplicationFiled: September 5, 2012Publication date: March 14, 2013Applicant: INFINIDAT LTD.Inventors: Israel Gold, Yechiel Yochai, Julian Satran
-
Patent number: 6668304Abstract: Apparatus for performing a data transaction, including at least one storage device which is adapted to receive data as a succession of data blocks for storage at respective physical locations therein and control circuitry. The control circuitry is configured to convey the succession of data blocks to the at least one storage device while writing to the at least one storage device, together with at least some of the data blocks, parameters indicative of the identity of the data transaction, the identity of the recorder of the transaction state, and a location of a subsequent data block in the succession. The control circuitry is also configured to transform a state of the data so as to complete (commit or abort) the data transaction using some of the indicative parameters. In the event of a failure of the apparatus before a transaction is completed, i.e., committed or aborted, the apparatus facilitates complete recovery using data stored in the data blocks.Type: GrantFiled: August 30, 2000Date of Patent: December 23, 2003Assignee: International Business Machines CorporationInventors: Julian Satran, Israel Gold, Dafna Sheinwald