Patents by Inventor Constantine Sapuntzakis
Constantine Sapuntzakis 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).
-
Publication number: 20200159421Abstract: A cloud-based storage system contained in a cloud computing environment, the cloud-based storage system including: determining, at the cloud-based storage system and in response to a request for data, that the data previously stored within one or more virtual instances of a virtual instance layer is no longer stored within the one or more virtual instances; generating, within the virtual instance layer, a quantity of virtual instances to receive data restored from a cloud-based storage layer of the cloud-based storage system; and restoring, into the quantity of virtual instances at the virtual instance layer, data from the cloud-based storage layer of the cloud-based storage system.Type: ApplicationFiled: April 3, 2019Publication date: May 21, 2020Inventors: ASWIN KARUMBUNATHAN, JOHN COLGROVE, CONSTANTINE SAPUNTZAKIS, JOSHUA FREILICH, NAVEEN NEELAKANTAM, SERGEY ZHURAVLEV
-
Patent number: 10552090Abstract: Solid state drives with multiple types of addressable memory, where the solid state drives include: a first memory component comprising a plurality of nonvolatile registers; a second memory component comprising flash memory; and one or more controllers configured to: receive a write operation, wherein the write operation indicates a first portion of data to be written to the flash memory and indicates a second portion of data to be written to one or more of the plurality of registers; and atomically write the first portion of the data to the flash memory and the second portion of the data to the one or more of the plurality of registers.Type: GrantFiled: September 7, 2017Date of Patent: February 4, 2020Assignee: Pure Storage, Inc.Inventors: Ronald Karr, Ethan Miller, Constantine Sapuntzakis
-
Patent number: 10484174Abstract: Protecting an encryption key for data stored in a storage system that includes a plurality of storage devices, including: reading, from at least a majority of the storage devices, a portion of an apartment key; reconstructing the apartment key using the portions of the apartment key read by the majority of the storage devices; unlocking the main portion of each of the storage devices utilizing the apartment key; reading, from the main portion of one of the storage devices, a portion of a third-party resource access key; requesting, from the third-party resource utilizing the third-party resource access key, an encryption key; receiving, from the third-party resource, the encryption key; and decrypting the data stored on the storage devices utilizing the encryption key.Type: GrantFiled: November 1, 2017Date of Patent: November 19, 2019Assignee: Pure Storage, Inc.Inventors: Andrew Bernat, Alexandre Duchâteau, Marco Sanvido, Constantine Sapuntzakis, Kiron Vijayasankar
-
Publication number: 20190286373Abstract: Servicing I/O operations in a cloud-based storage system, including: receiving, by the cloud-based storage system, a request to write data to the cloud-based storage system; storing, in solid-state storage of the cloud-based storage system, the data; storing, in object storage of the cloud-based storage system, the data; detecting that at least some portion of the solid-state storage of the cloud-based storage system has become unavailable; identifying data that was stored in the portion of the solid-state storage of the cloud-based storage system that has become unavailable; retrieving, from object storage of the cloud-based storage system, the data that was stored in the portion of the solid-state storage of the cloud-based storage system that has become unavailable; and storing, in solid-state storage of the cloud-based storage system, the retrieved data.Type: ApplicationFiled: March 14, 2019Publication date: September 19, 2019Inventors: ASWIN KARUMBUNATHAN, JOHN COLGROVE, CONSTANTINE SAPUNTZAKIS, JOSHUA FREILICH, NAVEEN NEELAKANTAM, SERGEY ZHURAVLEV, PAR BOTES
-
Patent number: 10417092Abstract: Incremental RAID stripe update parity calculation includes receiving a first portion of data of a RAID stripe for writing to a first memory location of a plurality of solid state drives. A first parity value is calculated for the first portion of data of the RAID stripe. A second portion of data of the RAID stripe is received for writing to a second memory location that is different from the first memory location A second parity value is calculated in dependence upon the second portion of the data of the RAID stripe and upon the first parity value Responsive to successfully writing the second portion of data of the RAID stripe, the first parity value is replaced with the second parity value.Type: GrantFiled: September 7, 2017Date of Patent: September 17, 2019Assignee: Pure Storage, Inc.Inventors: Timothy Brennan, Marco Sanvido, Constantine Sapuntzakis
-
Publication number: 20190073265Abstract: Incremental RAID stripe update parity calculation includes: receiving a first portion of data of a RAID stripe for writing to a first memory location of a plurality of solid state drives; calculating a first parity value for the first portion of data of the RAID stripe; receiving a second portion of data of the RAID stripe for writing to a second memory location that is different from the first memory location; calculating a second parity value in dependence upon the second portion of the data of the RAID stripe and upon the first parity value; and responsive to successfully writing the second portion of data of the RAID stripe, replacing the first parity value with the second parity value.Type: ApplicationFiled: September 7, 2017Publication date: March 7, 2019Inventors: TIMOTHY BRENNAN, MARCO SANVIDO, CONSTANTINE SAPUNTZAKIS
-
Publication number: 20190073162Abstract: Solid state drives with multiple types of addressable memory, where the solid state drives include: a first memory component comprising a plurality of nonvolatile registers; a second memory component comprising flash memory; and one or more controllers configured to: receive a write operation, wherein the write operation indicates a first portion of data to be written to the flash memory and indicates a second portion of data to be written to one or more of the plurality of registers; and atomically write the first portion of the data to the flash memory and the second portion of the data to the one or more of the plurality of registers.Type: ApplicationFiled: September 7, 2017Publication date: March 7, 2019Inventors: RONALD KARR, ETHAN MILLER, CONSTANTINE SAPUNTZAKIS
-
Publication number: 20190073141Abstract: Converting RAID data between persistent storage types, including: for each portion of a RAID shard of a RAID stripe: writing, to a respective plurality of source solid state drives, the portion of the RAID shard; detecting that all portions of the RAID shard have been successfully written; copying, from one of the plurality of source solid state drives to a respective target solid state drive among a plurality of target solid state drives from one of the plurality of source solid state drives, the RAID shard, where the RAID shard is copied from a source solid state drive that is different from where each other RAID shard of the RAID stripe is copied from.Type: ApplicationFiled: September 7, 2017Publication date: March 7, 2019Inventors: TIMOTHY BRENNAN, CONSTANTINE SAPUNTZAKIS
-
Publication number: 20180357017Abstract: Performing data storage operations on a storage element integrating fast durable storage and bulk durable storage, including: receiving, at the storage element integrating fast durable storage and bulk durable storage, a data storage operation from a host computer; determining, in dependence upon the data storage operation, a selection of fast durable storage and bulk durable storage for performing the data storage operation; and performing, using the determined selection of fast durable storage and bulk durable storage, the data storage operation.Type: ApplicationFiled: April 30, 2018Publication date: December 13, 2018Inventors: RONALD KARR, CONSTANTINE SAPUNTZAKIS, PETER KIRKPATRICK, JOHN COLGROVE
-
Publication number: 20180357019Abstract: Staging data on a storage element integrating fast durable storage and bulk durable storage, including: receiving, at a storage element integrating fast durable storage and bulk durable storage, a data storage operation from a host computer; storing data corresponding to the data storage operation within fast durable storage in accordance with a first data resiliency technique; and responsive to detecting a condition for transferring data between fast durable storage and bulk durable storage, transferring the data from fast durable storage to bulk durable storage in accordance with a second data resiliency technique.Type: ApplicationFiled: April 30, 2018Publication date: December 13, 2018Inventors: RONALD KARR, CONSTANTINE SAPUNTZAKIS, MARK MCAULIFFE, FARHAN ABROL, NEIL VACHHARAJANI, TIMOTHY BRENNAN
-
Publication number: 20180357018Abstract: Staging data on a storage element integrating fast durable storage and bulk durable storage, including: receiving, at a storage element integrating fast durable storage and bulk durable storage, a data storage operation from a host computer; storing data corresponding to the data storage operation within fast durable storage in accordance with a first data resiliency technique; and responsive to detecting a condition for transferring data between fast durable storage and bulk durable storage, transferring the data from fast durable storage to bulk durable storage in accordance with a second data resiliency technique.Type: ApplicationFiled: April 30, 2018Publication date: December 13, 2018Inventors: RONALD KARR, CONSTANTINE SAPUNTZAKIS, JOHN COLGROVE
-
Publication number: 20170060934Abstract: Modifying a compressed block of data, including: splitting the compressed block of data into a leading compressed portion and a trailing compressed portion, wherein neither the leading compressed portion nor the trailing compressed portion includes an outdated portion of the compressed block of data; creating an updated compressed block to replace the outdated portion; and combining the leading compressed portion, the updated compressed block, and the trailing compressed portion.Type: ApplicationFiled: September 2, 2015Publication date: March 2, 2017Inventor: CONSTANTINE SAPUNTZAKIS
-
Publication number: 20080086727Abstract: Methods, systems, and apparatus, including computer program apparatus, implementing techniques for publishing, subscribing to, or playing live appliances. A live appliance includes a current virtual machine image. In publishing, a proxy file of a live appliance file type is provided to the publisher. The type is mapped to a live appliance player; so that when a proxy file is opened, the current virtual machine image is run. The player automatically binds a writeable file system external to the virtual machine image to the image to provide file storage that is accessible from within the virtual machine image and from a host operating system. The player also creates a subscription to the live appliance on the host computer if one does not exist when the proxy file is run. With the subscription, the player runs the then-current virtual machine image whenever the live appliance is run.Type: ApplicationFiled: August 2, 2007Publication date: April 10, 2008Inventors: Monica Lam, Andrew Berkheimer, Constantine Sapuntzakis, John Whaley, Ramesh Chandra, Michael Chen, Won Chun, Kelvin Yue
-
Publication number: 20080086728Abstract: Methods, systems, and apparatus, including computer program apparatus, implementing techniques for publishing, subscribing to, or playing live appliances. A live appliance includes a current virtual machine image. In publishing, a proxy file of a live appliance file type is provided to the publisher. The type is mapped to a live appliance player; so that when a proxy file is opened, the current virtual machine image is run. The player automatically binds a writeable file system external to the virtual machine image to the image to provide file storage that is accessible from within the virtual machine image and from a host operating system. The player also creates a subscription to the live appliance on the host computer if one does not exist when the proxy file is run. With the subscription, the player runs the then-current virtual machine image whenever the live appliance is run.Type: ApplicationFiled: August 2, 2007Publication date: April 10, 2008Inventors: Monica Lam, Andrew Berkheimer, Constantine Sapuntzakis, John Whaley, Ramesh Chandra, Michael Chen, Won-Suk Chun, Kelvin Yue
-
Publication number: 20080077648Abstract: Methods, systems, and apparatus, including computer program apparatus, implementing techniques for publishing, subscribing to, or playing live appliances. A live appliance includes a current virtual machine image. In publishing, a proxy file of a live appliance file type is provided to the publisher. The type is mapped to a live appliance player; so that when a proxy file is opened, the current virtual machine image is run. The player automatically binds a writeable file system external to the virtual machine image to the image to provide file storage that is accessible from within the virtual machine image and from a host operating system. The player also creates a subscription to the live appliance on the host computer if one does not exist when the proxy file is run. With the subscription, the player runs the then-current virtual machine image whenever the live appliance is run.Type: ApplicationFiled: August 2, 2007Publication date: March 27, 2008Inventors: Monica Lam, Andy Berkheimer, Constantine Sapuntzakis, John Whaley, Ramesh Chandra, Michael Chen, Won Chun, Kelvin Yue
-
Publication number: 20080040716Abstract: A universal appliance combines the benefits of a fixed-function CE device with the generality of a PC. The universal appliance includes a host environment for supporting fixed functions and virtual machines that can provide general computing capabilities (e.g., a Windows® OS). The user can select fixed functions and virtual machines for operation on the universal appliance. In some implementations, software environments, including the fixed functions and virtual machines, can be delivered by a universal appliance service provider over a network or other communication medium. The software environments for fixed functions and virtual machines can also be delivered by a removable or portable medium (e.g., a USB flash drive, compact disk, media player, mobile phone). Twenty-four hour server functions can be provided with the universal appliance to allow for automatic data backup, remote access to personal data and an Internet telephone that can accept calls 24 hours a day.Type: ApplicationFiled: July 16, 2007Publication date: February 14, 2008Inventors: Monica Lam, Kelvin Yue, Won-Suk Chun, Constantine Sapuntzakis
-
Publication number: 20080034364Abstract: Methods, systems, and apparatus, including computer program apparatus, implementing techniques for publishing, subscribing to, or playing live appliances. A live appliance includes a current virtual machine image. In publishing, a proxy file of a live appliance file type is provided to the publisher. The type is mapped to a live appliance player; so that when a proxy file is opened, the current virtual machine image is run. The player automatically binds a writeable file system external to the virtual machine image to the image to provide file storage that is accessible from within the virtual machine image and from a host operating system. The player also creates a subscription to the live appliance on the host computer if one does not exist when the proxy file is run. With the subscription, the player runs the then-current virtual machine image whenever the live appliance is run.Type: ApplicationFiled: August 2, 2007Publication date: February 7, 2008Inventors: Monica Lam, Andrew Berkheimer, Constantine Sapuntzakis, John Whaley, Ramesh Chandra, Michael Chen, Won-Suk Chun, Kelvin Yue
-
Publication number: 20050125513Abstract: A cache-based system management architecture named “the Collective” automates system management and supports mobile computing. The Collective manages systems by manipulating virtual appliances, each encapsulating a system state. A virtual appliance (VA) may comprise a virtual network of VAs. Distributed repositories separately storing the VAs and user data. Publishers create and maintain VAs. A user plugs a bootable portable storage device implementing a VA transceiver (VAT) into a host computer. The VAT, comprising a Manager, a Cache Client, and a virtual machine monitor (VMM), authenticates the user, retrieves a copy of the latest version of a subscribed VA from the appropriate network repository, obtains user data, and automatically backs up the user data over the network in the background while running the subscribed VA. Multiple VAs can be run at the same time. With the novel caching protocol and cache charging process, the Collective performs well and has numerous advantages.Type: ApplicationFiled: December 8, 2004Publication date: June 9, 2005Inventors: Monica Sin-Ling Lam, Constantine Sapuntzakis, Ramesh Chandra, Nickolai Zeldovich, Mendel Rosenblum, James Chow, David Brumley