Patents by Inventor Joseph E. Foster
Joseph E. Foster 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: 11086797Abstract: A method for restricting write access to a non-volatile memory. The method includes receiving a request to write to a protected location in the non-volatile memory and determining whether the protected location is in a write-protected state. If the protected location is not in a write-protected state, the method includes writing data indicated by the request to the protected location. If the protected location is in a write-protected state, the method includes rejecting the request. The protected location stores a validation key to validate the contents of another portion of the non-volatile memory.Type: GrantFiled: October 31, 2014Date of Patent: August 10, 2021Assignee: Hewlett Packard Enterprise Development LPInventors: Gregg B. Lesartre, Joseph E. Foster, David Plaquin, James M. Mann
-
Patent number: 10838818Abstract: A system for achieving memory persistence includes a volatile memory, a non-volatile memory, and a processor. The processor may indicate a volatile memory range for the processor to backup, and open a memory window for the processor to access. The system further includes a power supply. The power supply may provide power for the processor to backup the memory range of the volatile memory. The processor may, responsive to an occurrence of a backup event, initiate a memory transfer using the opened memory window. The memory transfer uses the processor to move the memory range of the volatile memory to a memory region of the non-volatile memory.Type: GrantFiled: September 18, 2015Date of Patent: November 17, 2020Assignee: Hewlett Packard Enterprise Development LPInventors: Joseph E Foster, Thierry Fevrier, James Alexander Fuxa
-
Patent number: 10649680Abstract: According to an example, a dual-port non-volatile dual in-line memory module (NVDIMM) includes a first port to provide a central processing unit (CPU) with access to universal memory of the dual-port NVDIMM and a second port to provide an external NVDIMM manager circuit with access to the universal memory of the dual-port NVDIMM. Accordingly, a media controller of the dual-port NVDIMM may store data received from the CPU through the first port in the universal memory, control dual-port settings received from the CPU, and transmit the stored data to the NVDIMM manager circuit through the second port of the dual-port NVDIMM.Type: GrantFiled: April 30, 2015Date of Patent: May 12, 2020Assignee: Hewlett Packard Enterprise Development LPInventors: Dwight D. Riley, Joseph E. Foster, Thierry Fevrier
-
Patent number: 10579534Abstract: A computing device comprises a main memory, an input-output (IO) device, and an input-output memory management unit (IOMMU). The IOMMU may receive an upstream IO write request to the main memory from the IO device, and bypass caching the write request if the write request is within a first memory region of the main memory associated with a non-volatile memory. The IOMMU may cache the write request if the write request is within a second memory region of the main memory associated with a volatile memory.Type: GrantFiled: December 21, 2015Date of Patent: March 3, 2020Assignee: Hewlett Packard Enterprise Development LPInventor: Joseph E Foster
-
Publication number: 20180373637Abstract: A computing device comprises a main memory, an input-output (IO) device, and an input-output memory management unit (IOMMU). The IOMMU may receive an upstream IO write request to the main memory from the IO device, and bypass caching the write request if the write request is within a first memory region of the main memory associated with a non-volatile memory. The IOMMU may cache the write request if the write request is within a second memory region of the main memory associated with a volatile memory.Type: ApplicationFiled: December 21, 2015Publication date: December 27, 2018Inventor: Joseph E FOSTER
-
Patent number: 10157017Abstract: According to an example, data may be replicated using a dual-port nonvolatile dual in-line memory module (NVDIMM). A processor may request, through a first port of the dual-port NVDIMM, to store data to universal memory of the dual-port NVDIMM and to commit the data to remote storage according to a high-availability storage capability of the dual-port NVDIMM. The process may then receive a notification from the dual-port NVDIMM that the data has been transparently committed to the remote storage through a second port of the dual-port NVDIMM.Type: GrantFiled: April 30, 2015Date of Patent: December 18, 2018Assignee: Hewlett Packard Enterprise Development LPInventors: Dwight D. Riley, Joseph E. Foster, Thierry Fevrier
-
Publication number: 20180267860Abstract: A system for achieving memory persistence includes a volatile memory, a non-volatile memory, and a processor. The processor may indicate a volatile memory range for the processor to backup, and open a memory window for the processor to access. The system further includes a power supply. The power supply may provide power for the processor to backup the memory range of the volatile memory. The processor may, responsive to an occurrence of a backup event, initiate a memory transfer using the opened memory window. The memory transfer uses the processor to move the memory range of the volatile memory to a memory region of the non-volatile memory.Type: ApplicationFiled: September 18, 2015Publication date: September 20, 2018Inventors: Joseph E FOSTER, Thierry FEVRIER, James Alexander FUXA
-
Patent number: 10050645Abstract: A technique includes jointly encrypting and error encoding plain text data. The joint encryption and error encoding includes processing plain text data in an encryption cipher comprising a plurality of successive rounds to generate cipher text data; and embedding error correction encoding in the encryption cipher to error correction encode the cipher text data.Type: GrantFiled: January 30, 2014Date of Patent: August 14, 2018Assignee: Hewlett Packard Enterprise Development LPInventors: Han Wang, Joseph E. Foster, Raghavan V. Venugopal, Patrick A. Raymond
-
Patent number: 10025512Abstract: Processing data in a distributed data storage system generates a sparse check matrix correlating data elements to data syndromes. The system receives notification of a failed node in the distributed data storage system, accesses the sparse check matrix, and determines from the sparse check matrix a correlation between a data element and a syndrome. The system processes a logical operation on the data element and the syndrome and recovers the failed node.Type: GrantFiled: June 17, 2014Date of Patent: July 17, 2018Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LPInventors: Han Wang, Joseph E. Foster, Patrick A. Raymond, Raghavan V. Venugopal
-
Patent number: 10019363Abstract: Example implementations may relate to a version controller allocating a copy page in persistent memory upon receiving, from an application executing on a processor, a copy command to version an image page for an atomic transaction. The version controller may receive application data addressed to a cache line of the image page, and may write the application data to a cache line of the copy page corresponding to the addressed cache line of the image page. If the version controller receives a replace-type transaction commit command, the version controller may generate a final page by either forward merging the image page into the copy page or backward merging the copy page into the image page, depending a merge direction policy.Type: GrantFiled: April 3, 2015Date of Patent: July 10, 2018Assignee: Hewlett Packard Enterprise Development LPInventors: Douglas L. Voigt, Charles B. Morrey, III, Jishen Zhao, Dhruva Chakrabarti, Joseph E. Foster
-
Publication number: 20180004422Abstract: According to an example, a dual-port non-volatile dual in-line memory module (NVDIMM) includes a first port to provide a central processing unit (CPU) with access to universal memory of the dual-port NVDIMM and a second port to provide an external NVDIMM manager circuit with access to the universal memory of the dual-port NVDIMM. Accordingly, a media controller of the dual-port NVDIMM may store data received from the CPU through the first port in the universal memory, control dual-port settings received from the CPU, and transmit the stored data to the NVDIMM manager circuit through the second port of the dual-port NVDIMM.Type: ApplicationFiled: April 30, 2015Publication date: January 4, 2018Inventors: Dwight D. Riley, Joseph E. Foster, Thierry Fevrier
-
Publication number: 20170371776Abstract: According to an example, a fabric manager server may migrate data stored in a dual-interface non-volatile dual in-line memory module (NVDIMM) of a memory application server. The fabric manager server may receive data routing preferences for a memory fabric and retrieve the data stored in universal memory of the dual-port NVDIMM according to the data routing preferences through a second port of the dual-port NVDIMM. The retrieved data may then be routed from the dual-port NVDIMM for replication to remote storage according to the data routing preferences. Once the retrieved data is replicated to remote storage, the fabric manager may alert the dual-port NVDIMM.Type: ApplicationFiled: April 30, 2015Publication date: December 28, 2017Inventors: Dwight D. Riley, Thierry Fevrier, Joseph E. Foster
-
Publication number: 20170293573Abstract: A method for restricting write access to a non-volatile memory. The method includes receiving a request to write to a protected location in the non-volatile memory and determining whether the protected location is in a write-protected state. If the protected location is not in a write-protected state, the method includes writing data indicated by the request to the protected location. If the protected location is in a write-protected state, the method includes rejecting the request. The protected location stores a validation key to validate the contents of another portion of the non-volatile memory.Type: ApplicationFiled: October 31, 2014Publication date: October 12, 2017Inventors: Gregg B. LESARTRE, Joseph E. FOSTER, David PLAQUIN, James M. MANN
-
Publication number: 20170286297Abstract: Example implementations may relate to a version controller allocating a copy page in persistent memory upon receiving, from an application executing on a processor, a copy command to version an image page for an atomic transaction. The version controller may receive application data addressed to a cache line of the image page, and may write the application data to a cache line of the copy page corresponding to the addressed cache line of the image page. If the version controller receives a replace-type transaction commit command, the version controller may generate a final page by either forward merging the image page into the copy page or backward merging the copy page into the image page, depending a merge direction policy.Type: ApplicationFiled: April 3, 2015Publication date: October 5, 2017Inventors: Douglas L. Voigt, Charles B. MORREY, III, Jishen ZHAO, Dhruva CHAKRABARTI, Joseph E. FOSTER
-
Publication number: 20170242593Abstract: According to an example, data may be replicated using a dual-port nonvolatile dual in-line memory module (NVDIMM). A processor may request, through a first port of the dual-port NVDIMM, to store data to universal memory of the dual-port NVDIMM and to commit the data to remote storage according to a high-availability storage capability of the dual-port NVDIMM. The process may then receive a notification from the dual-port NVDIMM that the data has been transparently committed to the remote storage through a second port of the dual-port NVDIMM.Type: ApplicationFiled: April 30, 2015Publication date: August 24, 2017Applicant: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LPInventors: Dwight D. RILEY, Joseph E. FOSTER, Thierry FEVRIER
-
Patent number: 9672150Abstract: To migrate data from a first storage system to a second storage system, the second storage system detects a migration of a persistent storage media from the first storage system to the second storage system. In response to detecting the migration of the persistent storage media, write information from a write cache in the first storage system is copied to a write cache in the second storage system, where the write caches in the first and second storage systems were not maintained synchronously before the write information from the write cache in the first storage system is copied to the write cache in the second storage system.Type: GrantFiled: May 26, 2010Date of Patent: June 6, 2017Assignee: Hewlett Packard Enterprise Development LPInventors: Jeffrey A. Plank, Joseph E. Foster, Vincent Nguyen, Robert E. Van Cleve
-
Publication number: 20170046226Abstract: Processing data in a distributed data storage system generates a sparse check matrix correlating data elements to data syndromes. The system receives notification of a failed node in the distributed data storage system, accesses the sparse check matrix, and determines from the sparse check matrix a correlation between a data element and a syndrome. The system processes a logical operation on the data element and the syndrome and recovers the failed node.Type: ApplicationFiled: June 17, 2014Publication date: February 16, 2017Inventors: Han Wang, Joseph E. Foster, Patrick A. Raymond, Raghavan V. Venugopal
-
Publication number: 20160344428Abstract: A technique includes jointly encrypting and error encoding plain text data. The joint encryption and error encoding includes processing plain text data in an encryption cipher comprising a plurality of successive rounds to generate cipher text data; and embedding error correction encoding in the encryption cipher to error correction encode the cipher text data.Type: ApplicationFiled: January 30, 2014Publication date: November 24, 2016Inventors: Han Wang, Joseph E. Foster, Raghavan V. Venugopal, Patrick A. Raymond
-
Patent number: 8417967Abstract: Embodiments include methods, apparatus, and systems for storage device data encryption. One method includes encrypting data on a storage device with a key and then transmitting the key to a cryptographic module that encrypts the key to form a Binary Large Object (BLOB). The BLOB is transmitted to an array controller that is coupled to the storage device which stores the BLOB.Type: GrantFiled: April 2, 2008Date of Patent: April 9, 2013Assignee: Hewlett-Packard Development Company, L.P.Inventors: Joseph E. Foster, Robert C. Elliott, Jeffrey A. Plank
-
Patent number: 8151014Abstract: The apparatus in one example may have: at first and second processing devices; at least one sequence of processes for the first and second devices; the at least one sequence having a command forward instruction such that, after the first processing device completes processing a first process of the at least one sequence of processes, the first processing device forwards, without producing an interrupt, the command forward instruction to the second processing device to effect processing of a second process of the at least one sequence of processes.Type: GrantFiled: October 3, 2005Date of Patent: April 3, 2012Assignee: Hewlett-Packard Development Company, L.P.Inventor: Joseph E. Foster