Patents by Inventor Christopher J. Spiegel

Christopher J. Spiegel 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: 7174416
    Abstract: Methods of allocating, writing, reading, de-allocating, re-allocating, and reclaiming space within a nonvolatile memory having a bifurcated storage architecture are described. A method of reliably re-allocating a first object includes the step of storing a location of a first object in a first data structure. A location of the first data structure is stored in a second data structure. A duplicate of the first object is formed by initiating a copy of the first object. An erase of the first object is initiated. A write of a second object to the location of the first object is then initiated. The duplicate object is invalidated. The status of copying, erasing, and writing is tracked. The copy status, erase status, write status, and a restoration status are used to determine a recovery state upon initialization of the nonvolatile memory. The duplicate object is invalidated, if the writing status indicates that the writing of the second object has been completed.
    Type: Grant
    Filed: September 2, 2003
    Date of Patent: February 6, 2007
    Assignee: Intel Corporation
    Inventors: Robert N. Hasbun, David A. Edwards, Andrew H. Gafken, Christopher J. Spiegel
  • Patent number: 6981081
    Abstract: A Bus Driver implements an arbitration mechanism to allow both the system management interrupt (SMI) and the Bus Driver to cooperatively use a Bus host controller hardware. This mechanism employs a hardware-based semaphore (status bit) to allow either the SMI or the driver to claim ownership of the Bus host controller for an arbitrary period of time. While either the SMI or the driver may own the status bit, the other party must poll the bit until ownership is achieved. For the SMI, this involves scheduling a periodic SMI interrupt. The driver performs self arbitration of claiming the status bit to provide the periodic SMI interrupt the opportunity to claim the bit. The mechanism allows the SMI access to the Bus host controller in a “timely” manner, while minimizing impact to driver access to the Bus host controller, which could impact driver Bus transaction throughput.
    Type: Grant
    Filed: December 19, 2002
    Date of Patent: December 27, 2005
    Assignee: Intel Corporation
    Inventors: William A. Stevens, Jr., Alberto J. Martinez, Christopher J. Spiegel
  • Patent number: 6954765
    Abstract: The present invention provides for reliably updating a file by making a backup copy of the portion of a file that includes changed data. The revised portion of the file is related to the other file portions through cross-linking of units. Upon completely updating the file and linking the data, old data is deleted. Thus, an entire file need not be duplicated for backing up an update. Furthermore, progress of the update may be tracked by marking the backup copy during the update process. The portions of a data object for the file may be mapped by marking a unit as valid if the data contained therein is current and linked if the unit is related to other portions of the file. In addition, other aspects of the present invention relating to the storage system updating a fragmented file are described.
    Type: Grant
    Filed: December 30, 2000
    Date of Patent: October 11, 2005
    Assignee: Intel Corporation
    Inventor: Christopher J. Spiegel
  • Publication number: 20040123007
    Abstract: A Bus Driver implements an arbitration mechanism to allow both the system management interrupt (SMI) and the Bus Driver to cooperatively use a Bus host controller hardware. This mechanism employs a hardware-based semaphore (status bit) to allow either the SMI or the driver to claim ownership of the Bus host controller for an arbitrary period of time. While either the SMI or the driver may own the status bit, the other party must poll the bit until ownership is achieved. For the SMI, this involves scheduling a periodic SMI interrupt. The driver performs self arbitration of claiming the status bit to provide the periodic SMI interrupt the opportunity to claim the bit. The mechanism allows the SMI access to the Bus host controller in a “timely” manner, while minimizing impact to driver access to the Bus host controller, which could impact driver Bus transaction throughput.
    Type: Application
    Filed: December 19, 2002
    Publication date: June 24, 2004
    Applicant: Intel Corporation
    Inventors: William A. Stevens, Alberto J. Martinez, Christopher J. Spiegel
  • Publication number: 20040073582
    Abstract: The present invention provides for reliably updating a file by making a backup copy of the portion of a file that includes changed data. The revised portion of the file is related to the other file portions through cross-linking of units. Upon completely updating the file and linking the data, old data is deleted. Thus, an entire file need not be duplicated for backing up an update. Furthermore, progress of the update may be tracked by marking the backup copy during the update process. The portions of a data object for the file may be mapped by marking a unit as valid if the data contained therein is current and linked if the unit is related to other portions of the file. In addition, other aspects of the present invention relating to the storage system updating a fragmented file are described.
    Type: Application
    Filed: December 30, 2000
    Publication date: April 15, 2004
    Inventor: Christopher J. Spiegel
  • Patent number: 6711675
    Abstract: A protected boot sequence in a computer system. A reset vector directs the system to a boot program including a protected program. This protected program verifies the integrity of the BIOS contents before branching to the BIOS for execution of normal bootstrap functions. The protected program can also lock down various blocks of bootstrap code to prevent them from being changed after a certain point in the boot sequence. The protected boot sequence can proceed in layers, with each layer providing some level of validation or security for succeeding layers.
    Type: Grant
    Filed: February 11, 2000
    Date of Patent: March 23, 2004
    Assignee: Intel Corporation
    Inventors: Christopher J. Spiegel, Andrew H. Gafken, Robert P. Hale, William A. Stevens, Jr.
  • Publication number: 20040044837
    Abstract: Methods of allocating, writing, reading, de-allocating, re-allocating, and reclaiming space within a nonvolatile memory having a bifurcated storage architecture are described. A method of reliably re-allocating a first object includes the step of storing a location of a first object in a first data structure. A location of the first data structure is stored in a second data structure. A duplicate of the first object is formed by initiating a copy of the first object. An erase of the first object is initiated. A write of a second object to the location of the first object is then initiated. The duplicate object is invalidated. The status of copying, erasing, and writing is tracked. The copy status, erase status, write status, and a restoration status are used to determine a recovery state upon initialization of the nonvolatile memory. The duplicate object is invalidated, if the writing status indicates that the writing of the second object has been completed.
    Type: Application
    Filed: September 2, 2003
    Publication date: March 4, 2004
    Inventors: Robert N. Hasbun, David A. Edwards, Andrew H. Gafken, Christopher J. Spiegel
  • Patent number: 6622200
    Abstract: Methods of allocating, writing, reading, de-allocating, re-allocating, and reclaiming space within a nonvolatile memory having a bifurcated storage architecture are described. A method of reliably re-allocating a first object includes the step of storing a location of a first object in a first data structure. A location of the first data structure is stored in a second data structure. A duplicate of the first object is formed by initiating a copy of the first object. An erase of the first object is initiated. A write of a second object to the location of the first object is then initiated. The duplicate object is invalidated. The status of copying, erasing, and writing is tracked. The copy status, erase status, write status, and a restoration status are used to determine a recovery state upon initialization of the nonvolatile memory. The duplicate object is invalidated, if the writing status indicates that the writing of the second object has been completed.
    Type: Grant
    Filed: September 6, 2000
    Date of Patent: September 16, 2003
    Assignee: Intel Corporation
    Inventors: Robert N. Hasbun, David A. Edwards, Andrew H. Gafken, Christopher J. Spiegel
  • Patent number: 6571326
    Abstract: The present invention comprises a method, apparatus, and machine-readable medium to pre-allocate a space for data. Embodiments of the present invention are designed to pre-allocate a space for data in nonvolatile memory. More specifically, embodiments may provide a reservation for a data write, so sufficient unallocated space can be confirmed as available for the write prior to actually writing the data to the nonvolatile memory.
    Type: Grant
    Filed: March 8, 2001
    Date of Patent: May 27, 2003
    Assignee: Intel Corporation
    Inventors: Christopher J. Spiegel, Christopher M. McAllen
  • Patent number: 6564317
    Abstract: A method and apparatus for initializing a computer system, which includes a lockable nonvolatile memory coupled to a processor having maskable address lines and a cache, when a nonvolatile memory update is in process. When an update is in process, the nonvolatile memory is unlocked in response to the initialization event only if address line masking is disabled, and at least a portion of the processor cache is invalidated to ensure the processor will fetch the first instruction from the nonvolatile memory.
    Type: Grant
    Filed: December 20, 1999
    Date of Patent: May 13, 2003
    Assignee: Intel Corporation
    Inventors: Robert P. Hale, John V. Lovelace, Christopher J. Spiegel
  • Patent number: 6473853
    Abstract: A method of securing a boot process for a computer system enables a processor to boot from a location identified by a boot vector. The method includes the step of disabling masking of a maskable address line in response to a processor initialization event. In one embodiment, an apparatus includes a processor coupled to a memory by at least one maskable address line wherein the memory is storing a first initialization instruction. The apparatus includes a mask control wherein the mask control disables masking of the maskable address line before the processor attempts to access the first initialization instruction in response to an initialization event. In one embodiment a processor chipset gates a first address mask control with an inhibit bit to generate a second address mask control. The second address mask control is independent of the first address mask control when the inhibit bit is set to a first value.
    Type: Grant
    Filed: June 21, 1999
    Date of Patent: October 29, 2002
    Assignee: Intel Corporation
    Inventors: Christopher J. Spiegel, William A. Stevens, Jr.
  • Publication number: 20020129192
    Abstract: The present invention comprises a method, apparatus, and machine-readable medium to pre-allocate a space for data. Embodiments of the present invention are designed to pre-allocate a space for data in nonvolatile memory. More specifically, embodiments may provide a reservation for a data write, so sufficient unallocated space can be confirmed as available for the write prior to actually writing the data to the nonvolatile memory.
    Type: Application
    Filed: March 8, 2001
    Publication date: September 12, 2002
    Inventors: Christopher J. Spiegel, Christopher M. McAllen
  • Patent number: 6311290
    Abstract: Methods of reliably allocating, writing, reading, de-allocating, re-allocating, and reclaiming space within a nonvolatile memory having a bifurcated storage architecture are described. Allocation, writing, reading, de-allocating, re-allocating, and reclamation are handled by a memory manager. The memory manager tracks the progress of each process during execution in order to detect whether a selected process was interrupted for purposes of recovery. The nonvolatile memory is recovered to a known state during initialization. Initialization includes the step of determining a recovery state from a recovery state lookup table. A selected recovery process is selected in accordance with the recovery state lookup table. A restart level for the selected process is determined from a corresponding restart state lookup table. The selected process is then restarted at the restart level.
    Type: Grant
    Filed: April 3, 1998
    Date of Patent: October 30, 2001
    Assignee: Intel Corporation
    Inventors: Robert N. Hasbun, David A. Edwards, Andrew H. Gafken, Christopher J. Spiegel
  • Patent number: 6182188
    Abstract: Methods of allocating, writing, reading, de-allocating, re-allocating, and reclaiming space within a nonvolatile memory having a bifurcated storage architecture are described. A method of reliably re-allocating a first object includes the step of storing a location of a first object in a first data structure. A location of the first data structure is stored in a second data structure. A duplicate of the first object is formed by initiating a copy of the first object. An erase of the first object is initiated. A write of a second object to the location of the first object is then initiated. The duplicate object is invalidated. The status of copying, erasing, and writing is tracked. The copy status, erase status, write status, and a restoration status are used to determine a recovery state upon initialization of the nonvolatile memory. The duplicate object is invalidated , if the writing status indicates that the writing of the second object has been completed.
    Type: Grant
    Filed: April 6, 1997
    Date of Patent: January 30, 2001
    Assignee: Intel Corporation
    Inventors: Robert N. Hasbun, David A. Edwards, Andrew H. Gafken, Christopher J. Spiegel