Patents by Inventor Moshe Twitto
Moshe Twitto 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: 12277340Abstract: A method for managing a log structured merged (LSM) tree of key value (KV) pairs, the LSM tree is stored in a non-volatile memory, the method may include writing a current run from a buffer to a current run location within the LSM tree, the current run comprises current KV pairs; generating or receiving current fingerprints that are indicative of the current KV pairs; performing a run writing update of a management data structure (MDS) by adding to the MDS, mappings between the current KV pairs, the current fingerprints and a current run identifier; updating the LSM tree by merging at least some runs of the LSM tree; and performing a merge update of the MDS to represent the merging.Type: GrantFiled: October 27, 2020Date of Patent: April 15, 2025Assignee: PLIOPS LTD.Inventors: Niv Dayan, Moshe Twitto
-
Patent number: 12164493Abstract: A method for inserting a KV pair to a separated database, the method may include receiving a request to insert the KV pair to the separated database, wherein the separated database comprises a log structured merge (LSM) tree and KV database that is separated from LSM tree; determining whether the KV pair should be associated with a versioned LSM entry or with a non-versions LSM entry; and inserting the KV pair and a KV timestamp in the separated database according to the determining; wherein the inserting includes: storing a combination of the value and the KV timestamp in the KV database; defining an access key to the KV database; wherein the access key is based on the combination when determining that the KV pair should be associated with a versioned LSM; and wherein the access key is based on the key and not on the timestamp when determining that the KV pair should be associated with a non-versioned LSM.Type: GrantFiled: February 14, 2022Date of Patent: December 10, 2024Assignee: Pliops Ltd.Inventors: Guy Guetta, Edward Bortnikov, Michael Pan, Moshe Twitto, Tamar Weiss, Shmuel Dashevsky, Niv Dayan
-
Patent number: 12079209Abstract: A method for managing multiple checkpoints stored in a memory unit, the method may include (a) managing a checkpoint tree, by a memory controller; the checkpoint tree comprises reference nodes and active nodes; wherein a reference node of the reference nodes holds a snapshot of a parent checkpoint taken at the time that a child checkpoint was created from the parent checkpoint; wherein an active node of the active nodes that is associated with the parent node stores changes to the parent checkpoint introduced after a creation of the active node; and wherein the parent checkpoint and the child checkpoint belong to multiple checkpoints stored in the checkpoint tree; (b) receiving access requests to access key value (KV) pairs of one or more checkpoints of the multiple checkpoints; and (c) responding to the access requests based, at least in part, on the checkpoint tree.Type: GrantFiled: November 24, 2020Date of Patent: September 3, 2024Assignee: PLIOPS LTD.Inventors: Shmuel Dashevsky, Moshe Twitto, Yuval Rochman, Iddo Naiss
-
Patent number: 11914470Abstract: A method for error correction of logical pages of an erase block of a solid state drive (SSD) memory, the method may include determining an erase block score of the erase block, wherein the calculating is based on a program erase (PE) cycle of the erase block and one or more erase block error correction parameter; determining, based on (a) the erase block score, and (b) a mapping between the erase block score and one or more page error correction parameters for each page type out of multiple pages types, the one or more page error correction parameter for each page type; and allocating, within each page of the erase block, an overprovisioning space and an error correction space, based on at least one page error correction parameter related to a page type of the page.Type: GrantFiled: December 20, 2021Date of Patent: February 27, 2024Assignee: PLIOPS LTD.Inventor: Moshe Twitto
-
Patent number: 11860844Abstract: A method for managing a log structured merged (LSM) tree of key value (KV) pairs, the LSM tree is stored in a non-volatile memory, the method may include merging runs of the LSM tree to provide merged runs; writing merged runs to the non-volatile memory; adding new runs to the LSM tree, wherein the adding comprises writing runs to the non-volatile memory; and updating at least one management data structure (MDS) to reflect the merging and the adding; wherein an MDS of the at least one MDS stores a mapping between keys of the KV pairs of the LSM tree, fingerprints associated with the KV pairs of the LSM tree, and compressed run identifiers that identify runs of the LSM tree.Type: GrantFiled: October 27, 2020Date of Patent: January 2, 2024Assignee: PLIOPS LTD.Inventors: Niv Dayan, Moshe Twitto
-
Publication number: 20230385158Abstract: A method for performing a backup in relation to a separated database, the method includes creating, by a processing circuit, a new backup log structured merge (LSM) tree of the separated database, wherein the new backup LSM tree is associated with a new point in time (PIT) and belongs to a group of LSM trees that comprise a primary LSM tree and one or more backup LSM trees that are associated with different PITs, and share a key value (KV) database that is mutable and is separated from the group; wherein the creating comprises storing the new backup LSM tree to a destination.Type: ApplicationFiled: August 14, 2023Publication date: November 30, 2023Applicant: Pliops Ltd.Inventors: Roey Maor, Edward Bortnikov, Eshcar Hillel, Michael Pan, Moshe Twitto
-
Patent number: 11809744Abstract: There may be provided, systems, method and non-transitory computer readable media for accessing a key value pair stored in a solid state drive (SSD) memory, the method may include calculating, by a SSD memory controller and based on an input key, a first bucket identifier and a first inter-bucket value; determining a block cluster that stores the key pair value, based on the first bucket identifier, the first inter-bucket value and first metadata of a first data structure; calculating, based on the input key, a second bucket identifier and a second inter-bucket value; determining at least one of a key pair value retrieval information and a representative key pair value retrieval information, based on the second bucket identifier, the second inter-bucket value and second metadata of a second data structure; wherein the second data structure is allocated to the block cluster; wherein the second metadata comprises second logical slots, a second slot locator and second collision separation metadata; wherein at leType: GrantFiled: November 5, 2020Date of Patent: November 7, 2023Assignee: Pliops Ltd.Inventors: Moshe Twitto, Yuval Rochman, Avraham Meir
-
Publication number: 20230229651Abstract: A method for updating a log structured merged (LSM) tree, the method includes (a) performing preemptive full merge operations at first LSM tree levels; and (b) performing capacity triggered merge operations at second LSM tree levels while imposing one or more restrictions; wherein the second LSM tree levels comprise a largest LSM tree level and one or more other second LSM tree levels that are larger from each first LSM tree level; wherein files of the one or more other second LSM tree levels are aligned with files of the largest LSM tree level.Type: ApplicationFiled: January 18, 2023Publication date: July 20, 2023Applicant: Pliops Ltd.Inventors: Niv Dayan, Edward Bortnikov, Moshe Twitto
-
Patent number: 11604604Abstract: A method for accessing a block of information stored in a SSD memory, the method may include obtaining, by an SSD controller, an identifier associated with the block of information; accessing, using the identifier, a first data structure that maps identifiers to cluster maps; wherein the first data structure comprises block sequence metadata, wherein for at least one cluster map, the block sequence metadata comprises a sequence identifier of a sequence of blocks of information that are sequentially written to the SSD memory and are stored together in a cluster of the SSD memory; accessing a cluster map of a cluster that is associated with the sequence provide block retrieval information; and retrieving the block of information from the SSD memory, using the block retrieval information.Type: GrantFiled: July 29, 2020Date of Patent: March 14, 2023Assignee: PLIOPS LTD.Inventors: Yuval Rochman, Moshe Twitto
-
Publication number: 20220188188Abstract: A method for error correction of logical pages of an erase block of a solid state drive (SSD) memory, the method may include determining an erase block score of the erase block, wherein the calculating is based on a program erase (PE) cycle of the erase block and one or more erase block error correction parameter; determining, based on (a) the erase block score, and (b) a mapping between the erase block score and one or more page error correction parameters for each page type out of multiple pages types, the one or more page error correction parameter for each page type; and allocating, within each page of the erase block, an overprovisioning space and an error correction space, based on at least one page error correction parameter related to a page type of the page.Type: ApplicationFiled: December 20, 2021Publication date: June 16, 2022Applicant: Pliops Ltd.Inventor: Moshe Twitto
-
Patent number: 11360683Abstract: A method for protecting objects, the method may include receiving, by a storage controller, a request to write a new object to a storage-system that may include multiple nodes, each node may include at least one storage element; the new object may include a key value pair; writing the new object to a target node and to another node of the multiple nodes; and generating a new stripe that may include multiple sets of objects, different sets of objects are stored at different nodes of the multiple nodes, a certain set of objects of the multiple sets of objects may include the new object and is stored in a first node of the target node and the other node, any set of objects of the multiple sets of objects is reconstructible using other sets of objects of the multiple set of objects.Type: GrantFiled: July 28, 2020Date of Patent: June 14, 2022Inventors: Avraham Meir, Moshe Twitto
-
Publication number: 20220075765Abstract: A method for managing a log structured merged (LSM) tree of key value (KV) pairs, the LSM tree is stored in a non-volatile memory, the method may include merging runs of the LSM tree to provide merged runs; writing merged runs to the non-volatile memory; adding new runs to the LSM tree, wherein the adding comprises writing runs to the non-volatile memory; and updating at least one management data structure (MDS) to reflect the merging and the adding; wherein an MDS of the at least one MDS stores a mapping between keys of the KV pairs of the LSM tree, fingerprints associated with the KV pairs of the LSM tree, and compressed run identifiers that identify runs of the LSM treeType: ApplicationFiled: October 27, 2020Publication date: March 10, 2022Applicant: Pliops Ltd.Inventors: Niv Dayan, Moshe Twitto
-
Publication number: 20220075552Abstract: A method for managing a log structured merged (LSM) tree of key value (KV) pairs, the LSM tree is stored in a non-volatile memory, the method may include writing a current run from a buffer to a current run location within the LSM tree, the current run comprises current KV pairs; generating or receiving current fingerprints that are indicative of the current KV pairs; performing a run writing update of a management data structure (MDS) by adding to the MDS, mappings between the current KV pairs, the current fingerprints and a current run identifier; updating the LSM tree by merging at least some runs of the LSM tree; and performing a merge update of the MDS to represent the merging.Type: ApplicationFiled: October 27, 2020Publication date: March 10, 2022Applicant: Pliops Ltd.Inventors: Niv Dayan, Moshe Twitto
-
Patent number: 11210166Abstract: A method for error correction of logical pages of an erase block of a solid state drive (SSD) memory, the method may include determining an erase block score of the erase block, wherein the calculating is based on a program erase (PE) cycle of the erase block and one or more erase block error correction parameter; determining, based on (a) the erase block score, and (b) a mapping between the erase block score and one or more page error correction parameters for each page type out of multiple pages types, the one or more page error correction parameter for each page type; and allocating, within each page of the erase block, an overprovisioning space and an error correction space, based on at least one page error correction parameter related to a page type of the page.Type: GrantFiled: December 21, 2018Date of Patent: December 28, 2021Assignee: Pliops Ltd.Inventor: Moshe Twitto
-
Publication number: 20210055886Abstract: There may be provided, systems, method and non-transitory computer readable media for accessing a key value pair stored in a solid state drive (SSD) memory, the method may include calculating, by a SSD memory controller and based on an input key, a first bucket identifier and a first inter-bucket value; determining a block cluster that stores the key pair value, based on the first bucket identifier, the first inter-bucket value and first metadata of a first data structure; calculating, based on the input key, a second bucket identifier and a second inter-bucket value; determining at least one of a key pair value retrieval information and a representative key pair value retrieval information, based on the second bucket identifier, the second inter-bucket value and second metadata of a second data structure; wherein the second data structure is allocated to the block cluster; wherein the second metadata comprises second logical slots, a second slot locator and second collision separation metadata; wherein at leType: ApplicationFiled: November 5, 2020Publication date: February 25, 2021Applicant: Pliops Ltd.Inventors: Moshe Twitto, Yuval Rochman, Avraham Meir
-
Patent number: 10860249Abstract: There may be provided, systems, method and non-transitory computer readable media for accessing a key value pair stored in a solid state drive (SSD) memory, the method may include calculating, by a SSD memory controller and based on an input key, a first bucket identifier and a first inter-bucket value; determining a block cluster that stores the key pair value, based on the first bucket identifier, the first inter-bucket value and first metadata of a first data structure; calculating, based on the input key, a second bucket identifier and a second inter-bucket value; determining key pair value retrieval information, based on the second bucket identifier, the second inter-bucket value and second metadata of a second data structure; wherein the second data structure is allocated to the block cluster; and retrieving at least the value of the key pair value based on the key pair value retrieval information.Type: GrantFiled: December 24, 2018Date of Patent: December 8, 2020Assignee: Pliops Ltd.Inventors: Moshe Twitto, Yuval Rochman, Avraham Meir
-
Patent number: 10769064Abstract: A method for accessing a key-value pair stored in a SSD memory, the method may include receiving, by a SSD memory controller, an input key; applying a first hash function on an input key to provide a first address; reading, using the first address, an indicator that indicates whether (a) the input key is associated with a group of key-value pairs or whether (b) the input key is associated only with the key-value pair; retrieving, from the SSD memory, the values of the group associated with the input key, and extracting the value of the key-value pair, when the indicator indicates that the input key is associated with the group; and retrieving, from the SSD memory, a value of a key-value pair, when the indicator indicates that the input key is associated with the key-value pair.Type: GrantFiled: December 20, 2018Date of Patent: September 8, 2020Assignee: Pliops LtdInventor: Moshe Twitto
-
Patent number: 10606760Abstract: A memory system includes a nonvolatile memory device having a plurality of physical sectors, a mapping table, and a memory controller including a plurality of hash functions. The memory controller is configured to access the physical sectors using the mapping table and the hash functions. The memory controller is configured to receive a sequence of logical block addresses (LBAs) from a host and logical sector data for each of the LBAs, generate a first virtual address by operating a selected hash function among the hash functions on a first logical block address (LBA) among the sequence, compress the logical sector data to generate compressed data, and store the compressed data in a first physical sector among the physical sectors that is associated with the first virtual address.Type: GrantFiled: August 23, 2017Date of Patent: March 31, 2020Assignee: SAMSUNG ELECTRONICS CO., LTD.Inventors: Elona Erez, Avner Dor, Moshe Twitto, Jun Jin Kong
-
Patent number: 10528466Abstract: A method of operating a storage device including a nonvolatile memory can be provided by receiving, from a host, address change information including changing logical addresses for data to be stored in the nonvolatile memory. Physical addresses can be sequentially allocated to the changing logical addresses included in the address change information to provide a first journal. A portion of at least one physical address allocated to the changing logical addresses can be removed to provide a second journal and the second journal can be stored in the nonvolatile memory.Type: GrantFiled: June 7, 2018Date of Patent: January 7, 2020Assignee: SAMSUNG ELECTRONICS CO., LTD.Inventors: Jong-Won Lee, Dashevsky Shmuel, Moshe Twitto, Elona Erez, Eran Hof, Jun-Jin Kong, Avner Dor, Michael Erlihson
-
Patent number: 10523367Abstract: A method of storing survivor data generated while decoding channel polarization codes in a memory module includes setting a list size that corresponds to a number of decoder units used to decode the channel polarization codes, inputting a stream of input bits to the decoder units, and sequentially decoding the input bits. Each input bit is decoded using all previous input bits decoded before the each input bit. The method further includes selecting a plurality of survivor bits from among the decoded input bits, and storing the selected survivor bits in the memory module in a binary tree configuration. The number of edges in each level of the binary tree configuration does not exceed the list size.Type: GrantFiled: August 18, 2017Date of Patent: December 31, 2019Assignee: SAMSUNG ELECTRONICS CO., LTD.Inventors: Eran Hof, Moshe Twitto, Jun Jin Kong