Patents by Inventor Roman Guy
Roman Guy 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: 10977119Abstract: Disclosed are techniques for managing parity information for data stored on a storage device. A method can be implemented at a computing device communicably coupled to the storage device, and include (1) receiving a request to write data into a data band of the storage device, (2) writing the data into stripes of the data band, comprising, for each stripe of the data band: (i) calculating first parity information for the data written into the stripe, (ii) writing the first parity information into a volatile memory, and (iii) in response to determining that a threshold number of stripes have been written: converting the first parity information into smaller second parity information, and (3) in response to determining that the data band is read-verified: (i) converting the second parity information into smaller third parity information, and (ii) storing the smaller third parity information into a parity band of the storage device.Type: GrantFiled: April 11, 2019Date of Patent: April 13, 2021Assignee: Apple Inc.Inventors: Eran Roll, Stas Mouler, Matthew J. Byom, Andrew W. Vogan, Muhammad N. Ashraf, Elad Harush, Roman Guy
-
Patent number: 10762967Abstract: A controller includes an interface and a processor. The interface is configured to communicate with a nonvolatile memory including multiple memory cells organized in multiple memory blocks that each includes multiple Word Lines (WLs). The processor is configured to store first data in one or more WLs of a memory block, the first data occupies less than a maximal number of WLs available in the memory block, to calculate redundancy data over the first data and store the redundancy data in a dedicated memory, to program second data to a selected WL of the memory block that was not programmed with the first data, to check a programming status resulting from the programming of the selected WL, and in response to identifying that programming the second data to the selected WL has corrupted at least part of the first data, to recover the first data using the redundancy data.Type: GrantFiled: November 28, 2018Date of Patent: September 1, 2020Assignee: APPLE INC.Inventors: Assaf Shappir, Barak Baum, Itay Sagron, Roman Guy, Guy Ben-Yehuda, Stas Mouler
-
Publication number: 20200104210Abstract: Disclosed are techniques for managing parity information for data stored on a storage device. A method can be implemented at a computing device communicably coupled to the storage device, and include (1) receiving a request to write data into a data band of the storage device, (2) writing the data into stripes of the data band, comprising, for each stripe of the data band: (i) calculating first parity information for the data written into the stripe, (ii) writing the first parity information into a volatile memory, and (iii) in response to determining that a threshold number of stripes have been written: converting the first parity information into smaller second parity information, and (3) in response to determining that the data band is read-verified: (i) converting the second parity information into smaller third parity information, and (ii) storing the smaller third parity information into a parity band of the storage device.Type: ApplicationFiled: April 11, 2019Publication date: April 2, 2020Inventors: Eran ROLL, Stas MOULER, Matthew J. BYOM, Andrew W. VOGAN, Muhammad N. ASHRAF, Elad HARUSH, Roman GUY
-
Publication number: 20200005874Abstract: A controller includes an interface and a processor. The interface is configured to communicate with a nonvolatile memory including multiple memory cells organized in multiple memory blocks that each includes multiple Word Lines (WLs). The processor is configured to store first data in one or more WLs of a memory block, the first data occupies less than a maximal number of WLs available in the memory block, to calculate redundancy data over the first data and store the redundancy data in a dedicated memory, to program second data to a selected WL of the memory block that was not programmed with the first data, to check a programming status resulting from the programming of the selected WL, and in response to identifying that programming the second data to the selected WL has corrupted at least part of the first data, to recover the first data using the redundancy data.Type: ApplicationFiled: November 28, 2018Publication date: January 2, 2020Inventors: Assaf Shappir, Barak Baum, Itay Sagron, Roman Guy, Guy Ben-Yehuda, Stas Mouler
-
Patent number: 10375526Abstract: Methods, systems, apparatus, and computer program products that include, on a first device executing a first instance of a location application, receiving an indication to begin sharing data describing a path traveled by the first device, receiving location data describing the path traveled by the first device, the location data received from a location system of the first device, and the location data including a plurality of locations of the first device, and transmitting the location data in a form usable to enable a user interface of a second instance of a location application executing on a second device to indicate the path traveled by the first device.Type: GrantFiled: June 30, 2017Date of Patent: August 6, 2019Assignee: Apple Inc.Inventors: Eran Sandel, Elad Harush, Roman Guy
-
Patent number: 10332608Abstract: A storage device includes storage circuitry and multiple memory blocks. The multiple memory blocks are arranged in an array, and each of the memory blocks includes multiple memory cells. A maximal number of programming cycles that a memory block of the multiple memory blocks sustains depends on a distance of the memory block from an edge of the array. The storage circuitry is configured to apply to the memory blocks programming cycles so that a number of programming cycles that can be applied to a respective memory block is based on a respective distance of the respective memory block from the edge of the array.Type: GrantFiled: May 30, 2018Date of Patent: June 25, 2019Assignee: APPLE INC.Inventors: Yael Shur, Assaf Shappir, Barak Baum, Roman Guy, Michael Tsohar
-
Publication number: 20180358103Abstract: A storage device includes storage circuitry and multiple memory blocks. The multiple memory blocks are arranged in an array, and each of the memory blocks includes multiple memory cells. A maximal number of programming cycles that a memory block of the multiple memory blocks sustains depends on a distance of the memory block from an edge of the array. The storage circuitry is configured to apply to the memory blocks programming cycles so that a number of programming cycles that can be applied to a respective memory block is based on a respective distance of the respective memory block from the edge of the array.Type: ApplicationFiled: May 30, 2018Publication date: December 13, 2018Inventors: Yael Shur, Assaf Shappir, Barak Baum, Roman Guy, Michael Tsohar
-
Patent number: 10008278Abstract: A storage device includes storage circuitry and multiple memory blocks. The multiple memory blocks are arranged in an array, and each of the memory blocks includes multiple memory cells. A maximal number of programming cycles that a memory block of the multiple memory blocks sustains depends on a distance of the memory block from an edge of the array. The storage circuitry is configured to apply to the memory blocks programming cycles so that a number of programming cycles that can be applied to a respective memory block is based on a respective distance of the respective memory block from the edge of the array.Type: GrantFiled: June 11, 2017Date of Patent: June 26, 2018Assignee: APPLE INC.Inventors: Yael Shur, Assaf Shappir, Barak Baum, Roman Guy, Michael Tsohar
-
Patent number: 9990023Abstract: Systems and methods for handling sudden power failures in non-volatile memory devices such as solid state drives are provided by having the non-volatile memory device boot up in a low power write mode, which limits substantially all programming operations to a single level cell (SLC) mode, as opposed to a normal mode in which the programming operations can be performed in a multi-level cell (MLC) mode. Thus, if the system experiences a sudden power failure when it is being powered solely by AC derived power and the battery is below a level sufficient for powering the device while it is programming in the SLC mode, data integrity will be preserved because the programming operation was being performed in SLC mode. The non-volatile memory device may be permitted to exit out the low power write mode into the normal mode when the charge level of the battery is sufficient for powering the system.Type: GrantFiled: July 26, 2016Date of Patent: June 5, 2018Assignee: APPLE INC.Inventors: Alexander Paley, Andrew W. Vogan, Eran Sandel, Lior Mouler, Liran Erez, Matthew J. Byom, Muhammad N. Ashraf, Roman Guy
-
Publication number: 20180091951Abstract: Methods, systems, apparatus, and computer program products that include, on a first device executing a first instance of a location application, receiving an indication to begin sharing data describing a path traveled by the first device, receiving location data describing the path traveled by the first device, the location data received from a location system of the first device, and the location data including a plurality of locations of the first device, and transmitting the location data in a form usable to enable a user interface of a second instance of a location application executing on a second device to indicate the path traveled by the first device.Type: ApplicationFiled: June 30, 2017Publication date: March 29, 2018Applicant: Apple Inc.Inventors: Eran Sandel, Elad Harush, Roman Guy
-
Publication number: 20170277245Abstract: Systems and methods for handling sudden power failures in non-volatile memory devices such as solid state drives are provided by having the non-volatile memory device boot up in a low power write mode, which limits substantially all programming operations to a single level cell (SLC) mode, as opposed to a normal mode in which the programming operations can be performed in a multi-level cell (MLC) mode. Thus, if the system experiences a sudden power failure when it is being powered solely by AC derived power and the battery is below a level sufficient for powering the device while it is programming in the SLC mode, data integrity will be preserved because the programming operation was being performed in SLC mode. The non-volatile memory device may be permitted to exit out the low power write mode into the normal mode when the charge level of the battery is sufficient for powering the system.Type: ApplicationFiled: July 26, 2016Publication date: September 28, 2017Inventors: Alexander Paley, Andrew W. Vogan, Eran Sandel, Lior Mouler, Liran Erez, Matthew J. Byom, Muhammad N. Ashraf, Roman Guy
-
Patent number: 9699617Abstract: Methods, systems, apparatus, and computer program products that include, on a first device executing a first instance of a location application, receiving an indication to begin sharing data describing a path traveled by the first device, receiving location data describing the path traveled by the first device, the location data received from a location system of the first device, and the location data including a plurality of locations of the first device, and transmitting the location data in a form usable to enable a user interface of a second instance of a location application executing on a second device to indicate the path traveled by the first device.Type: GrantFiled: February 12, 2016Date of Patent: July 4, 2017Assignee: Apple Inc.Inventors: Eran Sandel, Elad Harush, Roman Guy
-
Publication number: 20160249177Abstract: Methods, systems, apparatus, and computer program products that include, on a first device executing a first instance of a location application, receiving an indication to begin sharing data describing a path traveled by the first device, receiving location data describing the path traveled by the first device, the location data received from a location system of the first device, and the location data including a plurality of locations of the first device, and transmitting the location data in a form usable to enable a user interface of a second instance of a location application executing on a second device to indicate the path traveled by the first device.Type: ApplicationFiled: February 12, 2016Publication date: August 25, 2016Applicant: Apple Inc.Inventors: Eran Sandel, Elad Harush, Roman Guy
-
Patent number: 9294882Abstract: Methods, systems, apparatus, and computer program products that include, on a first device executing a first instance of a location application, receiving an indication to begin sharing data describing a path traveled by the first device, receiving location data describing the path traveled by the first device, the location data received from a location system of the first device, and the location data including a plurality of locations of the first device, and transmitting the location data in a form usable to enable a user interface of a second instance of a location application executing on a second device to indicate the path traveled by the first device.Type: GrantFiled: March 23, 2015Date of Patent: March 22, 2016Assignee: Apple Inc.Inventors: Eran Sandel, Elad Harush, Roman Guy
-
Publication number: 20150289108Abstract: Methods, systems, apparatus, and computer program products that include, on a first device executing a first instance of a location application, receiving an indication to begin sharing data describing a path traveled by the first device, receiving location data describing the path traveled by the first device, the location data received from a location system of the first device, and the location data including a plurality of locations of the first device, and transmitting the location data in a form usable to enable a user interface of a second instance of a location application executing on a second device to indicate the path traveled by the first device.Type: ApplicationFiled: March 23, 2015Publication date: October 8, 2015Applicant: Apple Inc.Inventors: Eran Sandel, Elad Harush, Roman Guy
-
Patent number: 8989773Abstract: Methods, systems, apparatus, and computer program products that include, on a first device executing a first instance of a location application, receiving an indication to begin sharing data describing a path traveled by the first device, receiving location data describing the path traveled by the first device, the location data received from a location system of the first device, and the location data including a plurality of locations of the first device, and transmitting the location data in a form usable to enable a user interface of a second instance of a location application executing on a second device to indicate the path traveled by the first device.Type: GrantFiled: January 29, 2013Date of Patent: March 24, 2015Assignee: Apple Inc.Inventors: Eran Sandel, Elad Harush, Roman Guy
-
Patent number: 8880786Abstract: A method includes, in a storage device that includes a non-volatile memory and a volatile memory, maintaining at least one data structure that stores management information used for managing data storage in the non-volatile memory, such that at least a portion of the data structure is stored in the volatile memory. A sequence of journaling chunks is created during operation of the storage device, each journaling chunk including a respective slice of the data structure and one or more changes that occurred in the data structure since a previous journaling chunk in the sequence. The sequence of the journaling chunks is stored in the non-volatile memory. Upon recovering from an electrical power interruption in the storage device, the data structure is reconstructed using the stored journaling chunks.Type: GrantFiled: September 28, 2012Date of Patent: November 4, 2014Assignee: Apple Inc.Inventors: Roman Guy, Eran Sandel, Elad Harush, Yair Schwartz
-
Publication number: 20140213280Abstract: Methods, systems, apparatus, and computer program products that include, on a first device executing a first instance of a location application, receiving an indication to begin sharing data describing a path traveled by the first device, receiving location data describing the path traveled by the first device, the location data received from a location system of the first device, and the location data including a plurality of locations of the first device, and transmitting the location data in a form usable to enable a user interface of a second instance of a location application executing on a second device to indicate the path traveled by the first device.Type: ApplicationFiled: January 29, 2013Publication date: July 31, 2014Applicant: Apple Inc.Inventors: Eran Sandel, Elad Harush, Roman Guy
-
Publication number: 20140095765Abstract: A method includes, in a storage device that includes a non-volatile memory and a volatile memory, maintaining at least one data structure that stores management information used for managing data storage in the non-volatile memory, such that at least a portion of the data structure is stored in the volatile memory. A sequence of journaling chunks is created during operation of the storage device, each journaling chunk including a respective slice of the data structure and one or more changes that occurred in the data structure since a previous journaling chunk in the sequence. The sequence of the journaling chunks is stored in the non-volatile memory. Upon recovering from an electrical power interruption in the storage device, the data structure is reconstructed using the stored journaling chunks.Type: ApplicationFiled: September 28, 2012Publication date: April 3, 2014Applicant: Apple Inc.Inventors: Roman Guy, Eran Sandel, Elad Harush, Yair Schwartz
-
Publication number: 20140059271Abstract: A method includes receiving one or more storage commands and at least one flush command in a storage device, which includes a non-volatile memory and a volatile buffer for buffering data received for storage in the non-volatile memory. The flush command instructs the storage device to commit the data buffered in the volatile buffer to the non-volatile memory. The storage commands are executed in accordance with a first storage rule. The flush command is executed in accordance with a second storage rule having smaller latency relative to the first storage rule.Type: ApplicationFiled: August 27, 2012Publication date: February 27, 2014Applicant: APPLE INC.Inventors: Avraham Poza Meir, Guy Ben-Yehuda, Oren Golov, Ori Isachar, Roman Guy, Yair Schwartz