`Shipman et al.
`
`54 METHOD AND APPARATUS FOR
`PROTECTING DATA USING LOCK VALUES
`IN A COMPUTER SYSTEM
`
`75 Inventors: Mark S. Shipman, Hillsboro; Orville
`H. Christeson; Timothy E. W.
`Labatte, both of Portland, all of Oreg.
`73 Assignee: Intel Corporation, Santa Clara, Calif.
`*
`Notice:
`This patent issued on a continued pros
`ecution application filed under 37 CFR
`1.53(d), and is subject to the twenty year
`patent term provisions of 35 U.S.C.
`154(a)(2).
`
`Appl. No.: 623,930
`21
`22 Filed:
`Mar. 28, 1996
`(51) Int. Cl. ................................................ G06F 13/00
`52 U.S. Cl. ..................
`... 395/726; 395/520
`58 Field of Search ..................................... 395/700, 726,
`395/481, 961, 520, 326,856
`
`56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,557,674 9/1996 Yeow .......................................... 380/4
`5,623,673 4/1997 Gephardt et al. ....................... 395/733
`OTHER PUBLICATIONS
`“Desktop Management BIOS Specification, Version 2.0,
`Sep. 27, 1995, pp. 1–53.
`
`USOO.5852736A
`Patent Number:
`11
`(45) Date of Patent:
`
`5,852,736
`*Dec. 22, 1998
`
`“The Desktop Management Interface And The Management
`Information Format Files,” The Desktop Management Task
`Force (DMTF) Sep. 94 pp. 1-9.
`“AMIBIOS(R) 95 Firmware Takes DMI Support to the Next
`Level,” http://www.megatrends.com/press releases/Mar. 28,
`1996–2.html Mar. 28, 1996.
`“Phoenix Technologies Releases DMI BIOS Specification,”
`Press Release, http://www.ptltd.com/news/dmi.html Nov.
`14, 1994.
`Desktop Management Interface Specification Draft 3.8.2,
`Mar. 5, 1993.
`
`Primary Examiner Mehmet B. Geckil
`Attorney, Agent, or Firm Blakely, Sokoloff, Taylor &
`Zafman LLP
`
`57
`ABSTRACT
`A method and apparatus for protecting data using lock
`values in a computer System includes indicating that the
`computer System does not Support locked accesses to the
`data. However, upon receipt of a request to write to the
`Storage area where the data is contained, the present inven
`tion checks whether a lock value corresponding to the
`request matches a predetermined lock value. If the lock
`value matches the predetermined lock value, then the data is
`written to the Storage area; otherwise, the Storage area is left
`unmodified.
`
`23 Claims, 4 Drawing Sheets
`
`310
`
`WRITE GPNVDATA
`CALL RECEIVED
`
`
`
`
`
`
`
`
`
`
`
`
`
`IS
`THE LOOK
`VALUE WALD
`FORTHEIDENTIFIED
`GPNVSTORAGE
`
`WRITE THE PROVIDED
`DATA TO THEIDENTIFIED
`GPNVSTORAGE AREA
`
`
`
`RETURNBAD
`PARAMETER INDICATOR
`TO CALLER
`
`340
`
`
`
`
`
`
`
`
`
`
`
`SAMSUNG EX. 1008 - 1/10
`
`
`
`U.S. Patent
`
`Dec. 22, 1998
`
`Sheet 1 of 4
`
`5,852,736
`
`
`
`SAMSUNG EX. 1008 - 2/10
`
`
`
`U.S. Patent
`
`Dec. 22, 1998
`
`Sheet 2 of 4
`
`5,852,736
`
`
`
`READ GPNVDATA
`CALL RECEIVED
`
`COPYREQUESTED GPNV
`STORAGE AREATO
`IDENTIFIED BUFFER
`
`RETURN -1 AS
`LOCKWALVE
`
`FIG. 2
`
`SAMSUNG EX. 1008 - 3/10
`
`
`
`U.S. Patent
`
`Dec. 22, 1998
`
`Sheet 3 of 4
`
`5,852,736
`
`310
`
`WRITE GPNVDATA
`CALL RECEIVED
`
`
`
`
`
`
`
`
`
`IS
`THE LOOK
`VALUEVALID
`FORTHEIDENTIFIED
`GPNVSTORAGE
`
`WRITE THE PROVIDED
`DATA TO THEIDENTIFIED
`GPNVSTORAGE AREA
`
`
`
`RETURNBAD
`PARAMETER INDICATOR
`TO CALLER
`
`340
`
`FIG. 3
`
`
`
`
`
`
`
`
`
`
`
`SAMSUNG EX. 1008 - 4/10
`
`
`
`U.S. Patent
`
`Dec. 22, 1998
`
`Sheet 4 of 4
`
`5,852,736
`
`
`
`077
`
`SEOLAECI O | |
`
`SSVIN
`
`7 " SDI
`
`09:17
`
`927
`
`>|OSSEISOORHd
`
`0,7 STÆ
`
`SAMSUNG EX. 1008 - 5/10
`
`
`
`5,852,736
`
`1
`METHOD AND APPARATUS FOR
`PROTECTING DATA USING LOCK VALUES
`IN A COMPUTER SYSTEM
`
`BACKGROUND OF THE INVENTION
`
`2
`SUMMARY OF THE INVENTION
`A method and apparatus for protecting data using lock
`values in a computer System is described herein. The present
`invention includes indicating that a storage area in the
`computer System does not Support locked accesses.
`However, upon receipt of a request to perform a locked
`access write to the Storage area, the present invention checks
`whether a lock value corresponding to the request matches
`a predetermined lock value notwithstanding having indi
`cated that the Storage area does not Support locked accesses.
`If the lock value matches the predetermined lock value, then
`the data corresponding to the request is written to the Storage
`area; otherwise, the Storage area is left unmodified.
`BRIEF DESCRIPTION OF THE DRAWINGS
`The present invention is illustrated by way of example
`and not limitation in the figures of the accompanying
`drawings, in which like references indicate Similar elements
`and in which:
`FIG. 1 is a block diagram showing a portion of a computer
`System in accordance with one embodiment of the present
`invention;
`FIG. 2 is a flowchart showing the StepS used to read data
`from a storage area according to one embodiment of the
`present invention;
`FIG. 3 is a flowchart showing the steps used to write data
`to a Storage area according to one embodiment of the present
`invention; and
`FIG. 4 is a block diagram of a computer System Such as
`may be used with one embodiment of the present invention.
`DETAILED DESCRIPTION
`In the following detailed description numerous specific
`details are Set forth in order to provide a thorough under
`standing of the present invention. However, it will be
`understood by those skilled in the art that the present
`invention may be practiced without these specific details. In
`other instances, well known methods, procedures,
`components, and circuits have not been described in detail
`So as not to obscure aspects of the present invention.
`The present invention provides a mechanism for protect
`ing data Saved in a Storage area. In order to modify the data
`in the Storage area, an application provides a lock value.
`Upon receiving a request to modify the data in the Storage
`area, the present invention checks whether the lock value is
`valid for the storage area. If the lock value is valid, then the
`present invention modifies the data in the Storage area as
`requested. However, if the lock value is not valid, then the
`present invention leaves the data unchanged.
`FIG. 1 is a block diagram showing a portion of a computer
`System in accordance with one embodiment of the present
`invention. A bus 110, a processor 120, a basic input output
`system (BIOS) memory 130, general purpose nonvolatile
`(GPNV) data storage 140, and a random access memory
`(RAM) 150 are interconnected as shown. The BIOS memory
`130 stores a sequence of instructions (referred to as the
`BIOS) which allows the processor 120 to input data from
`and output data to input/output (I/O) devices (not shown) in
`the computer System 100, Such as display devices and mass
`storage devices. In one embodiment, when the system 100 is
`reset, the contents of BIOS memory 130 are copied into
`RAM 150 for access by the processor 120. Alternatively,
`processor 120 may access the BIOS memory 130 directly
`via bus 110. The BIOS memory 130 can be any of a wide
`variety of conventional nonvolatile data Storage devices,
`
`15
`
`25
`
`1. Field of the Invention
`The present invention pertains to the field of data Storage
`in a computer System. More particularly, this invention
`relates to protecting data Stored in a computer System using
`lock values.
`2. Background
`Computer technology is continuously advancing, result
`ing in modern computer Systems which provide ever
`increasing performance. One result of this improved perfor
`mance is an increased use of computer Systems by
`individuals in a wide variety of business, academic and
`personal applications. With the increased use of and demand
`for computer Systems, a large number of manufacturers,
`developers, and Suppliers of computer Systems, components,
`and Software have come into existence to Service the
`demand.
`The large number of manufacturers, developers, and
`suppliers, combined with the flexibility afforded them due to
`the advances in technology, has resulted in a wide range of
`methods in which computer Systems operate. Typically, in
`order for different components within a computer System to
`work together effectively, each must agree on certain spe
`cific operating parameters. Often, Standards or Specifications
`are adopted or agreed upon by various industries or groups
`of companies which define certain operating parameters.
`Thus, if two components comply with the same Standard(s)
`or specification(s), then the two components should be able
`to work together effectively in the Same System.
`For example, one such standard is the Plug and Play
`Specification. A component which conforms to the Plug and
`Play Specification should work properly in a system which
`also complies with the Plug and Play Specification by
`Simply connecting the component to the System. Compo
`40
`nents which do not comply with the Plug and Play Speci
`fication may require additional configuration Steps to be
`taken by the user before they function properly.
`Another current Specification is the Desktop Management
`Interface (DMI) Specification. The DMI Specification
`provides, among other advantages, general purpose non
`Volatile data areas which can be accessed to Store various
`data by applications executing on the System. The DMI
`Specification, however, does not provide a mechanism to
`prevent an application from updating data Stored in one of
`these general purpose nonvolatile data areas by another
`application. Thus, it would be beneficial to provide a mecha
`nism for preventing unwanted updates to these general
`purpose nonvolatile data areas.
`Additionally, in order to maintain compliance with the
`DMI Specification, any protection against unwanted updates
`to general purpose nonvolatile data areas must not violate
`the DMI Specification. Thus, it would be advantageous to
`provide a mechanism for preventing unwanted updates to
`the general purpose nonvolatile data areas which maintains
`compliance with the Desktop Management Interface Speci
`fication.
`As will be described in more detail below, the present
`invention provides a mechanism for protecting data using
`lock values in a computer System that achieves these and
`other desired results which will be apparent to those skilled
`in the art from the description to follow.
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`SAMSUNG EX. 1008 - 6/10
`
`
`
`3
`such as a read only memory (ROM), Flash memory, an
`erasable programmable read only memory (EPROM) or an
`electrically erasable programmable read only memory
`(EEPROM).
`In one embodiment of the present invention, the BIOS
`stored in BIOS memory 130 is compliant with the Desktop
`Management BIOS Specification version 2.0, published Sep.
`27, 1995, available from Intel Corporation of Santa Clara,
`Calif. The Desktop Management BIOS Specification
`includes a Desktop Management Interface (DMI). One
`aspect of DMI is the use of general-purpose nonvolatile
`(GPNV) data areas, shown in FIG. 1 as GPNV storage areas
`140. The GPNV storage areas 140 are accessed by the
`processor 120 via the bus 110, however, the BIOS controls
`the access to the GPNV storage areas 140. Thus, when an
`application desires access to the GPNV storage areas 140, it
`must call one of the procedures provided by the BIOS. These
`procedures are described in more detail below.
`Multiple GPNV storage areas 140 can be used in a
`computer system. The system 100 as shown includes n
`GPNV storage areas 140. In one implementation, n is equal
`to three.
`Each of the GPNV areas 140 can be of any size. In one
`embodiment, one of the GPNV areas 140 is 128 bytes, a
`25
`second is 256 bytes, and a third is 384 bytes. The GPNV
`Storage areas 140 can be implemented using any of a wide
`variety of nonvolatile Storage devices, Such as blocks of
`Flash memory cells, EEPROMs, battery-backed compli
`mentary metal oxide semiconductor (CMOS) cells, etc.
`The GPNV storage areas 140 can be used to store any of
`a wide variety of information. In one embodiment, the
`GPNV storage areas 140 are used to store data relating to the
`identification of hardware components in the system 100.
`For example, this identification can include the Serial num
`35
`bers and model numbers of each piece of hardware (e.g.,
`display devices, mass Storage devices, multimedia cards,
`etc.) in the system 100.
`DMI provides for locked access to the GPNV storage
`areas 140. According to DMI, an application which desires
`to write to one of the storage areas 140 first reads from the
`Storage area. If locked accesses are Supported by the BIOS,
`then the BIOS generates a lock value and returns that lock
`value to the calling application. Then, in order to write to the
`GPNV area, the calling application writes to the Storage area
`and provides the lock value it received from the BIOS.
`Failure to provide the proper lock value results in the BIOS
`denying the calling application access to the Storage area.
`However, if locked accesses are not supported by the BIOS,
`then the BIOS returns a value of -1 to indicate locked
`accesses to the GPNV storage areas 140 are not supported.
`Subsequent attempts to write to the GPNV storage areas 140
`can then be either accepted by the BIOS without checking
`any lock values, or can be rejected.
`It should be noted that DMI does not require GPNV
`55
`storage areas to be supported. However, if the GPNV storage
`areas are Supported, then it is required that the BIOS returns
`a value of -1 to indicate locked accesses are not Supported,
`and that the BIOS allows write access to the GPNV area if
`the proper password is Supplied.
`In one embodiment, the present invention is implemented
`through a Sequence of instructions executed on the processor
`120. Initially, the sequence of instructions is stored in the
`BIOS memory 130. When the computer system is reset, the
`instructions are copied from the BIOS memory 130 into the
`RAM 150 and then accessed and executed by the processor
`120. In an alternate embodiment, the Sequence of instruc
`
`45
`
`50
`
`60
`
`65
`
`5,852,736
`
`15
`
`40
`
`4
`tions is Stored on another nonvolatile memory device which
`is part of or is coupled to the system 100, such as a hard disk,
`an optical disk, or a removable floppy disk. The Sequence of
`instructions can be loaded into the RAM 150 after an initial
`portion of the BIOS which includes instructions on how to
`access the memory device (e.g., the hard disk) has been
`loaded into the RAM 150.
`FIG. 2 is a flowchart showing the StepS used to read data
`from a storage area according to one embodiment of the
`present invention. A Read GPNV data call is first received by
`the BIOS, step 210. The Read GPNV data call is made by
`an application to access one of the GPNV areas 140. In one
`implementation, the calling application includes an identifier
`or “handle” identifying which one of the GPNV storage
`areas 140 is being accessed, as well as a pointer to a data
`buffer where the data from the identified GPNV storage area
`140 should be placed.
`Upon receipt of the Read GPNV data call, the BIOS
`provides the identified GPNV storage area to the requesting
`application by copying the data in the identified GPNV
`Storage area to the data buffer identified by the calling
`application, step 220. It should be noted that in this embodi
`ment any application can read the GPNV storage areas 140;
`the lock values do not prohibit reading from the GPNV
`Storage areas 140.
`The present invention then returns a value of -1 as a lock
`value to the calling application, Step 230. Typically, the lock
`values in DMI are used in a multi-tasking environment to
`ensure that only one of multiple applications being executed
`concurrently is accessing a particular storage area at any one
`time. Thus, the typical response to a Read GPNV data call
`is to provide the data in the Storage area and a lock value.
`The lock value is either a -1, which indicates locks to the
`Storage areas 140 are not Supported by the computer System,
`or a value of Zero or greater which can be used by the
`application to write data to that Storage area at a later time
`as discussed above. Thus, according to the method of FIG.
`2, the calling application is informed that the computer
`System does not Support locking. This indication, however,
`prevents the calling application from attempting to write to
`the GPNV storage area in the typical DMI manner.
`In one embodiment, the Read GPNV data call is Function
`56h of the Plug and Play BIOS. For more information on the
`Plug and Play BIOS, the reader is directed to the Plug and
`Play BIOS Specification, Version 1.0A, published May 5,
`1994, available from Intel Corporation of Santa Clara, Calif.
`As parameters for the Read GPNV data call, the application
`provides a handle identifying which GPNV storage area is to
`be read and the address of a buffer into which the GPNV data
`is to be placed. In one implementation, the calling applica
`tion also provides a lock value of Zero when making a Read
`GPNV data call.
`FIG. 3 is a flowchart showing the steps used to perform
`a locked write of data to a storage area according to one
`embodiment of the present invention. A Write GPNV data
`call is first received by the BIOS, step 310. The Write GPNV
`data call is made by an application to access one of the
`GPNV storage areas 140. In one implementation, the calling
`application includes an identifier or “handle' identifying
`which one of the GPNV storage areas 140 is being accessed,
`as well as a lock value for the GPNV area being accessed.
`Upon receipt of the Write GPNV data call, the present
`invention checks whether the lock value provided with the
`request is valid for the identified GPNV storage area, step
`320. In one implementation, this determination is made by
`checking whether the lock value provided with the request
`
`SAMSUNG EX. 1008 - 7/10
`
`
`
`5,852,736
`
`15
`
`S
`matches one or more predetermined lock values. If the lock
`value provided with the request is valid for the identified
`GPNV storage area, then the data provided with the request
`is written into the identified GPNV storage area, step 330.
`However, if the lock value provided with the request is not
`valid for the identified GPNV storage area, then the data
`provided with the request is not written into the identified
`GPNV storage area and a bad parameter indicator is returned
`to the calling application, Step 340. Thus, the lock value(s)
`provide a password-type protection to the GPNV storage
`areas 140 of FIG. 1.
`Thus, the present invention maintains compliance with
`DMI by returning a -1 in response to a read to one of the
`GPNV storage areas 140 to indicate that locked access to the
`GPNV Storage areas are not Supported, and by allowing
`write access to the GPNV area if the proper lock value is
`Supplied by the calling application.
`In one embodiment, the Write GPNV data call is Function
`57h of the Plug and Play BIOS mentioned above. As
`parameters for the Write GPNV data call, the application
`provides a handle identifying which GPNV storage area is
`trying to be written to, the address of a buffer containing the
`data to be written to the GPNV storage area, and a lock
`value.
`25
`It is to be appreciated that multiple predetermined lock
`values can correspond to a single data area of the GPNV
`Storage areas 140. In this situation, each of the multiple
`predetermined lock values are checked by the present inven
`tion in determining whether the lock value provided with a
`Write GPNV data request is valid for the area. It is also to
`be appreciated that a single predetermined lock value can
`correspond to multiple data areas of the GPNV storage areas
`140.
`In one embodiment, the predetermined lock value(s) used
`by the present invention and an indicator of its correspond
`ing GPNV storage area(s) are embedded (e.g., hard-coded)
`in the sequence of instructions stored in the BIOS memory
`130. In an alternate embodiment, the predetermined lock
`value is Stored in a reprogrammable nonvolatile Storage
`device (such as a Flash memory) coupled to the bus 110.
`In one embodiment of the present invention, each lock
`value is a two-byte value. It is to be appreciated, however,
`that the lock values can be of any size.
`FIG. 4 is a block diagram of a computer System Such as
`may be used with one embodiment of the present invention.
`A system 400 is shown comprising a bus or other commu
`nication device 410 for communicating information to and
`from the processor 415. The processor 415 is for processing
`information and instructions. In one implementation, the
`present invention includes an Intel(F) architecture micropro
`ceSSor as the processor 415; however, the present invention
`may utilize any type of microprocessor architecture. In one
`embodiment, the bus 410 includes address, data and control
`buses. The system 400 also includes a random access
`memory (RAM) 425 coupled with the bus 410 for storing
`information and instructions for the processor 415, a read
`only memory (ROM) 430 coupled with the bus 410 for
`Storing Static information and instructions for the processor
`415, a mass Storage device 435 Such as a magnetic or optical
`disk and disk drive coupled with the bus 410 for storing
`information and instructions for the processor 415, and
`input/output (I/O) devices 440 coupled with the bus 410
`which input and output data and control information to and
`from the processor 415. The I/O devices 440 include, for
`example, a display device, an alphanumeric input device
`including alphanumeric and function keys, and a cursor
`
`35
`
`6
`control device. A hard copy device Such as a plotter or
`printer may also be included in the I/O devices 440 for
`providing a visual representation of computer images.
`In an alternate embodiment, the bus 410 is coupled to a
`Separate I/O bus (not shown), Such as a Peripheral Compo
`nent Interconnect (PCI) bus, which is coupled to the bus 410
`via a bus bridge. In this alternate embodiment, the I/O
`devices 440 are coupled to the I/O bus rather than the bus
`410.
`It is to be appreciated that certain implementations of the
`system 400 may include additional processors or other
`components. Furthermore, certain implementations of the
`present invention may not require nor include all of the
`above components. For example, I/O devices 440 may not
`include a display device.
`In one embodiment of the present invention, each of the
`GPNV storage areas 140 of FIG. 1 is protected using a
`predetermined lock value(s), as described above. In an
`alternate embodiment, some of the GPNV storage areas 140
`are protected using a predetermined lock value(s), while
`other GPNV storage areas 140 are treated in the typical
`manner provided for by DMI, where any of the applications
`can read the GPNV storage area and obtain a lock value for
`that area. In this alternate embodiment, which of the GPNV
`Storage areas 140 are protected using the predetermined lock
`value(s) is encoded in the Sequence of instructions stored in
`the BIOS memory 130.
`In the discussions above, the present invention is
`described with reference to DMI and the Desktop Manage
`ment BIOS Specification. It is to be appreciated, however,
`that the present invention is not limited to computer Systems
`operating in accordance with the Desktop Management
`BIOS Specification or with DMI, but is also applicable to
`similar systems with a BIOS which supports lock values in
`substantially the same manner as DMI.
`In an alternate embodiment of the present invention, the
`GPNV areas 140 of FIG. 1 are volatile storage devices rather
`than nonvolatile Storage devices. The present invention
`operates as described above, however, any data to be main
`tained in the Storage areas 140 must be re-written to the areas
`140 each time power is re-applied to the System.
`In another alternate embodiment of the present invention,
`the lock values are used for reading from the GPNV storage
`areas in an analogous manner to writing to the GPNV
`Storage areas described above. In this alternate embodiment,
`any requests to read a GPNV Storage area include a lock
`value. If the lock value provided by the request is valid for
`the identified GPNV storage area, then the data in the GPNV
`Storage area is copied to the buffer identified by the request
`ing application. However, if the lock value provided by the
`request is not valid for the identified GPNV storage area,
`then the data in the GPNV storage area is not provided to the
`requesting application.
`Whereas many alterations and modifications of the
`present invention will be comprehended by a person skilled
`in the art after having read the foregoing description, it is to
`be understood that the particular embodiments shown and
`described by way of illustration are in no way intended to be
`considered limiting. References to details of particular
`embodiments are not intended to limit the Scope of the
`claims.
`Thus, a method and apparatus for protecting data using
`lock values in a computer System has been described.
`What is claimed is:
`1. A method for protecting a storage area in a computer
`System, the method comprising the Steps of:
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`SAMSUNG EX. 1008 - 8/10
`
`
`
`7
`(a) indicating that the storage area does not Support locked
`acceSSeS,
`(b) receiving a request to perform a locked access write to
`the Storage area;
`(c) checking whether a first lock value corresponding to
`the request matches a predetermined lock value not
`withstanding having performed step (a) indicating that
`the Storage area does not Support locked accesses, and
`(d) writing data corresponding to the request to the
`Storage area provided the first lock value matches the
`predetermined lock value, otherwise leaving the Stor
`age area unmodified.
`2. The method of claim 1, wherein the receiving step (b)
`comprises the Steps of:
`receiving a storage area write call;
`receiving the first lock value;
`receiving data corresponding to the Storage area write
`call; and
`receiving an identifier which identifies the Storage area.
`3. The method of claim 1, wherein the receiving step (b)
`comprises the Step of receiving a desktop management
`interface-compatible write request to a general purpose
`nonvolatile Storage area.
`4. The method of claim 1, further comprising the steps of:
`receiving a request to read the Storage area;
`providing data from the Storage area; and
`providing an indicator that the computer System does not
`Support locking of the Storage area.
`5. A method for protecting a nonvolatile Storage area in a
`computer System, wherein the computer System is compat
`ible with a desktop management interface BIOS
`Specification, wherein the method comprises the computer
`implemented Steps of:
`(a) indicating that the computer System does not Support
`locked writes to the nonvolatile Storage area;
`(b) receiving a request to perform a locked write to the
`nonvolatile Storage area;
`(c) checking whether a first lock value corresponding to
`the request is valid based on a predetermined lock
`value, notwithstanding having indicated that the com
`puter System does not Support locked writes to the
`nonvolatile Storage area; and
`(d) writing data corresponding to the request to the
`nonvolatile Storage area provided the first lock value is
`valid, otherwise leaving the nonvolatile Storage area
`unmodified.
`6. The method of claim 5, wherein the receiving step (b)
`comprises the Steps of:
`receiving a nonvolatile Storage area write call;
`receiving the first lock value;
`receiving data corresponding to the nonvolatile Storage
`area write call; and
`receiving an identifier which identifies the nonvolatile
`Storage area.
`7. The method of claim 5, wherein the receiving step (b)
`compriseS receiving a write request to a general purpose
`nonvolatile Storage area of the computer System.
`8. The method of claim 5, further comprising the steps of:
`receiving a request to read the nonvolatile Storage area;
`providing data from the nonvolatile Storage area; and
`providing an indicator that the computer System does not
`Support locking of the nonvolatile Storage area.
`9. The method of claim 8, wherein the indicator comprises
`a Second lock value.
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,852,736
`
`5
`
`15
`
`25
`
`8
`10. A computer-readable medium having Stored thereon a
`plurality of instructions, the plurality of instructions includ
`ing instructions which, when executed by a processor, cause
`the processor to perform the Steps of
`(a) indicating that one or more storage areas do not
`Support locked accesses;
`(b) receiving a request to perform a locked write to a first
`Storage area of the one or more Storage areas,
`(c) checking whether a first lock value corresponding to
`the request matches a predetermined lock value not
`withstanding the indicating step (a); and
`(d) writing data corresponding to the request to the first
`Storage area provided the first lock value matches the
`predetermined lock value, otherwise leaving the first
`Storage area unmodified.
`11. The computer-readable medium of claim 10, wherein
`the receiving step (b) executed by the processor comprises
`the Steps of:
`receiving a storage area write call;
`receiving the first lock value;
`receiving data corresponding to the Storage area write
`call; and
`receiving an identifier which identifies the first Storage
`C.
`12. The computer-readable medium of claim 10, wherein
`the plurality of instructions is compatible with a desktop
`management interface BIOS Specification.
`13. The computer-readable medium of claim 10, wherein
`the predetermined lock value is embedded in the plurality of
`instructions.
`14. The computer-readable medium of claim 10, wherein
`the plurality of instructions further causes the processor to
`perform the Steps of:
`receiving a request to read the first Storage area;
`providing data from the first Storage area; and
`providing an indicator that the processor does not Support
`locking of the one or more Storage areas.
`15. An apparatus comprising:
`logic to indicate that one or more Storage areas cannot be
`locked;
`logic to receive a request to perform a locked write to a
`first Storage area of the one or more Storage areas,
`logic to check whether a first lock value corresponding to
`the request is valid notwithstanding having indicated
`that the one or more Storage areas cannot be locked; and
`logic to write data corresponding to the request to the first
`Storage area provided the first lock value is valid, and
`to otherwise leave the first Storage area unmodified.
`16. The apparatus of claim 15, wherein the logic to
`receive a request is further operative to:
`receive a storage area write call;
`receive the first lock value;
`receive data corresponding to the Storage area write call;
`and
`receive an identifier which identifies the first Storage area.
`17. The apparatus of claim 15, wherein the one or more
`Storage areas comprises a plurality of general purpose non
`Volatile Storage areas.
`18. The apparatus of claim 15, wherein the logic to
`indicate, the logic to receive, the logic to check, and the logic
`to write are all compatible with a desktop management
`interface BIOS specification.
`19. An apparatus for protecting a nonvolatile Storage area
`in a computer System, wherein the computer System is
`
`SAMSUNG EX. 1008 - 9/10
`
`
`
`5,852,736
`
`15
`
`25
`
`9
`compliant with a desktop management interface BIOS
`Specification, wherein the apparatus comprises:
`means for indicating that the computer System does not
`Support locking of the nonvolatile Storage area;
`means for receiving a request to perform a locked write to
`the nonvolatile Storage area;
`means for checking whether a first lock value correspond
`ing to the request matches a predetermined lock value
`notwithstanding the means for indicating that the com
`puter System does not Support write locking of the
`nonvolatile Storage area; and
`means for writing data corresponding to the request to the
`nonvolatile Storage area provided the first lock value
`matches the predetermined lock value, otherwise leav
`ing the nonvolatile Storage area unmodified.
`20. The apparatus of claim 19, wherein the means for
`receiving comprises:
`means for receiving a nonvolatile Storage area write call;
`means for receiving the first lock value;
`means for receiving data corresponding to the nonvolatile
`Storage area write call; and
`means for receiving an identifier which identifies the
`nonvolatile Storage area.
`21. The apparatus of claim 19, further comprising:
`means for receiving a request to read the nonvolatile
`Storage area,
`means for providing data from the nonvolatile Storage
`area; and
`means for providing an indicator that the computer System
`does not Support locking of the nonvolatile Storage
`aa.
`
`10
`22. A method comprising:
`indicating that a storage area does not Suppor