throbber
PCT
`
`
`
`PCT/US97/03569
`
`& Zafman L.L.P., 1279 Oakmead Parkway, Sunnyvale, CA
`
`WORLD INTELLECTUAL PROPERTY ORGANIZATION
`International Bureau
`INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT)
`
`
`(51) International PatentClassification 6 :
`(11) International Publication Number:
`WO 97/36241
`
`
`
`GO06F 13/00
`
`
` (43) International Publication Date:
`2 October 1997 (02.10.97)
`
`
`
`
`(21) International Application Number:
`(81) Designated States: AL, AM, AT, AT (Utility model), AU
`
`
`(Petty patent), AZ, BA, BB, BG, BR, BY, CA, CH, CN,
`
`(22) International Filing Date:
`11 March 1997 (11.03.97)
`CU, CZ, CZ (Utility model), DE, DE (Utility model), DK,
`
`DK (Utility model), EE, EE (Utility model), ES, FI, FI
`
`
`
`(Utility model), GB, GE, GH, HU,IL, IS, JP, KE, KG,
`
`
`
`(30) Priority Data:
`KP, KR, KZ, LK, LR, LS, LT, LU, LV, MD, MG, MK,
`08/623,930
`28 March 1996 (28.03.96)
`US
`MN, MW, MX,NO, NZ, PL, PT, RO, RU, SD, SE, SG,
`
`
`
`
`SE, SK, SK (Utility model), TJ, TM, TR, TT, UA, UG, US,
`
`
`
`UZ, VN, YU, ARIPO patent (GH, KE, LS, MW,SD, SZ,
`
`
`(71) Applicant (for all designated States except US): INTEL COR-
`UG), Eurasian patent (AM, AZ, BY, KG, KZ, MD,RU, TJ,
`PORATION [US/US]; 2200 Mission College Boulevard,
`TM), European patent (AT, BE, CH, DE, DK,ES, FI, FR,
`
`
`
`Santa Clara, CA 95052 (US).
`
`GB, GR,IE, IT, LU, MC, NL, PT, SE), OAPI patent (BF,
`
`BJ, CF, CG, CI, CM, GA, GN, ML, MR, NE,SN, TD, TG).
`
`
`(72) Inventors; and
`
`(75) Inventors/Applicants (for US only): SHIPMAN, Mark, S.
`
`
`
`{US/US]; 3616 S.E. Willow Street, Hillsboro, OR 97123
`Published
`
`(US). CHRISTESON, Orville, H.
`[US/US]; 2930 N.W.
`With international search report.
`
`
`Whitman Court, Portland, OR 97229 (US). LABATTE,
`
`Timothy, E., W.
`[US/US]; 10605 N.W, Harding Court,
`
`Portland, OR 97229 (US).
` (74) Agents: TAYLOR,Edwin, H.etal.: Blakely, Sokoloff, Taylor
`94086 (US).
` (54) Title: METHOD AND APPARATUS FOR PROTECTING DATA USING LOCK VALUES IN A COMPUTER SYSTEM
`
` Qusite GPU Bota
`
`Call Received
`
`
`
`
`
`Relvrn Bad
`
`Paremettr Zadicator
`to Caller Yo the Identitied
`
`
`GPNY Serene
`eo.
`
`
`
`
`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 (310) to write to a storage area where the data is contained,
`
`
`the present invention checks (320) 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 (330); otherwise, the storage area is left unmodified (340).
`
`
`
`(57) Abstract
`
`HTC EX. 1017
`HTC v. Ancora
`US Patent No. 6,411,941
`
`Page 1
`
`Page 1
`
`HTC EX. 1017
`HTC v. Ancora
`US Patent No. 6,411,941
`
`

`

`ZW Slovenia
`
`Codes used to identify States party to the PCT on the front pages of pamphlets publishing international applications under the PCT.
`SI
`Lesotho
`LS
`ES
`SK
`Lithuania
`LT
`FI
`SN
`LU
`FR
`Luxembourg
`SZ
`LV
`Latvia
`GA
`TD
`Monaco
`MC
`GB
`TG
`MD
`GE
`Republic of Moldova
`MG
`TJ
`GH
`Madagascar
`MK
`GN
`The former Yugoslav
`GR
`Republic of Macedonia
`Mali
`HU
`IE
`Mongolia
`Mauritania
`IL
`Malawi
`IS
`Mexico
`IT
`JP
`Niger
`Netherlands
`KE
`KG
`Norway
`New Zealand
`KP
`Poland
`Portugal
`Romania
`Russian Federation
`Sudan
`Sweden
`Singapore
`
`Page 2
`
`Slovakia
`Senegal
`Swaziland
`Chad
`Togo
`Tajikistan
`Turkmenistan
`Turkey
`Trinidad and Tobago
`Ukraine
`Uganda
`United States of America
`Uzbekistan
`Viet Nam
`Yugoslavia
`Zimbabwe
`
`™T
`
`R
`TT
`UA
`UG
`us
`UZ
`VN
`YU
`
`FOR THE PURPOSES OF INFORMATION ONLY
`
`Albania
`Armenia
`Austria
`Australia
`Azerbaijan
`Bosnia and Herzegovina
`Barbados
`Belgium
`Burkina Faso
`Bulgaria
`Benin
`Brazil
`Belarus
`Canada
`Central African Republic
`Congo
`Switzerland
`Céte d'Ivoire
`Cameroon
`China
`Cuba
`Czech Republic
`Germany
`Denmark
`Estonia
`
`Spain
`Finland
`France
`Gabon
`United Kingdom
`Georgia
`Ghana
`Guinea
`Greece
`Hungary
`Ireland
`Israel
`Iceland
`Italy
`Japan
`Kenya
`Kyrgyzstan
`Democratic People’s
`Republic of Korea
`Republic of Korea
`Kazakstan
`Saint Lucia
`Liechtenstein
`Sri Lanka
`Liberia
`
`KR
`KZ
`Lc
`LI
`LK
`LR
`
`ML
`MN
`MR
`MW
`MX
`NE
`NL
`NO
`NZ
`PL
`PT
`RO
`RU
`SD
`SE
`SG
`
`Page 2
`
`

`

`WO 97/36241
`
`PCT/US97/03569
`
`METHOD AND APPARATUS FOR PROTECTING DATA USING
`LOCK VALUES IN A COMPUTER SYSTEM
`
`BACKGROUND OF THE INVENTION
`
`Field of the Invention
`
`invention pertains to the field of data storage
`The present
`in a computer system. More particularly,
`this invention relates
`to protecting data stored in a computer system using lock values.
`
`Background
`resulting
`technology is continuously advancing,
`Computer
`in modern computer systems which provide ever-increasing
`performance. One result of this improved performance 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 specific 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
`
`Page 3
`
`Page 3
`
`

`

`WO 97/36241
`
`PCT/US97/03569
`
`2
`
`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. Components which do
`not comply with the Plug and Play Specification may require
`additional configuration steps to be taken by the user before
`they function properly.
`the Desktop Management
`Another current specification is
`Interface (DMI) Specification. The DMI Specification provides,
`among other advantages, general purpose nonvolatile 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 mechanism 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 Specification.
`the present
`As will be described in more detail below,
`invention provides a mechanism for protecting data using lock
`values in a computer system that achieves these and other
`
`Page 4
`
`Page 4
`
`

`

`WO 97/36241
`
`PCT/US97/03569
`
`3
`
`desired results which will be apparent
`from the description to follow.
`
`to those skilled in the art
`
`SUMMARYOF 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
`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
`invention 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.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The present
`invention is illustrated by way of example and
`limitation in the figures of the accompanying drawings,
`in
`not
`which like references indicate similar elements and in which:
`Figure 1
`is a block diagram showing a portion of a
`computer system in accordance with one embodiment of the
`present
`invention;
`Figure 2 is a flowchart showing the Steps used to read data
`from a storage area according to one embodiment of the present
`invention;
`Figure 3 is a flowchart showing the steps used to write data
`to a Storage area according to one embodiment of the present
`invention;
`and
`
`Page 5
`
`Page 5
`
`

`

`WO97/36241
`
`PCT/US97/03569
`
`4
`
`Figure 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
`understanding 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 protecting
`data saved in a storage area.
`In order to modify the data in the
`storage area, an application provides a lock value. Upon
`the
`receiving a request
`to modify the data in the storage area,
`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.
`Figure 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
`
`Page 6
`
`Page 6
`
`

`

`WO 97/36241
`
`PCT/US97/03569 -
`
`5
`
`in the computer system
`(I/O) devices (not shown)
`input/output
`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, 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 September
`27, 1995, available from Intel Corporation of Santa Clara,
`California. 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
`Figure 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.
`In one
`Each of the GPNV areas 140 can be of any size.
`embodiment, one of the GPNV areas 140 is 128 bytes, a 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,
`
`Page 7
`
`Page 7
`
`

`

`WO97/36241
`
`PCT/US97/03569 —
`
`6
`
`battery-backed complimentary 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
`For
`identification of hardware components in the system 100.
`example,
`this identification can include the serial numbers 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.
`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 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.
`
`If
`
`Page 8
`
`Page 8
`
`

`

`WO 97/36241
`
`PCT/US97/03569
`
`7
`
`implemented
`invention is
`the present
`In one embodiment,
`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 instructions 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.
`Figure 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 embodiment any application can read the
`GPNV storage areas 140;
`the lock values do not prohibit reading
`from the GPNV storage areas 140.
`as a lock
`The present
`invention then returns a value of -1
`value to the calling application, step 230. Typically,
`the lock
`
`Page 9
`
`Page 9
`
`

`

`WO 97/36241
`
`PCT/US97/03569
`
`8
`
`to ensure
`
`values in DMI are used in a multi-tasking environment
`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 Figure 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.
`is Function
`the Read GPNV data call
`In one embodiment,
`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, California. As parameters
`for the Read GPNV data call,
`the application provides a handle
`identifying which GPNV storage area is to be read and the
`In
`address of a buffer into which the GPNV data is to be placed.
`one implementation,
`the calling application also provides a lock
`value of zero when making a Read GPNV data call.
`Figure 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
`first received by the BIOS, step 310. The Write GPNV data call
`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
`
`is
`is
`
`Page 10
`
`Page 10
`
`

`

`WO 97/36241
`
`PCT/US97/03569
`
`9
`
`areas 140 is being accessed, as well as a lock value for the GPNV
`area being accessed.
`the present
`Upon receipt of the Write GPNV data call,
`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 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
`GPNVstorage 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 Figure 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.
`is Function
`the Write GPNV data call
`In one embodiment,
`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.
`It
`is
`to be appreciated that multiple predetermined lock
`values can correspond to a single data area of the GPNV storage
`
`Page 11
`
`Page 11
`
`

`

`WO 97/36241
`
`PCT/US97/03569
`
`10
`
`In this situation, each of the multiple predetermined
`areas 140.
`lock values are checked by the present
`invention 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 corresponding
`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.
`invention, each lock
`In one embodiment of the present
`value is a two-byte value.
`It
`is to be appreciated, however,
`the lock values can be of any size.
`Figure 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 communication
`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® architecture microprocessor 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
`
`that
`
`Page 12
`
`Page 12
`
`

`

`WO 97/36241
`
`PCT/US97/03569
`
`1]
`
`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 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 aPeripheral Component
`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
`the
`components.
`Furthermore, certain implementations of
`present
`invention may not require nor include all of the above
`components.
`For example,
`I/O devices 440 may not
`include a
`display device.
`invention, each of the
`In one embodiment of the present
`GPNVstorage areas 140 of Figure 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
`
`Page 13
`
`Page 13
`
`

`

`WO97/36241
`
`PCT/US97/03569
`
`12
`
`is encoded in the sequence
`using the predetermined lock value(s)
`of instructions stored in the BIOS memory 130.
`In the discussions above,
`the present
`invention is described
`with reference to DMI and the Desktop Management 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.
`
`the
`invention,
`In an alternate embodiment of the present
`GPNV areas 140 of Figure 1 are volatile storage devices rather
`than nonvolatile storage devices.
`The present
`invention operates
`as described above, however, any data to be maintained in the
`storage areas 140 must be re-written to the areas 140 each time
`power is
`re-applied to the system.
`invention,
`the present
`In another alternate embodiment of
`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 GPNVstorage 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 requesting 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.
`the present
`Whereas many alterations and modifications of
`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
`
`Page 14
`
`Page 14
`
`

`

`WO 97/36241
`
`PCT/US97/03569
`
`13
`
`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.
`
`eoees
`
`Thus, a method and apparatus for protecting data using
`lock values in a computer System has been described.
`
`Page 15
`
`Page 15
`
`

`

`WO 97/36241
`
`PCT/US97/03569
`
`14
`
`CLAIMS
`
`What
`
`is claimed is:
`
`to perform a locked access write
`
`A method for protecting a storage area in a computer
`1.
`system,
`the method comprising the steps of:
`(a)
`indicating that
`the storage area does not support
`locked accesses;
`(b)
`receiving a request
`to the storage area;
`lock value corresponding to
`(c)
`checking whether a first
`the request matches
`a predetermined lock value notwithstanding
`having performed step (a)
`indicating that
`the storage area does
`not support
`locked accesses; and
`to the
`(d) writing data corresponding to the request
`storage area provided the first
`lock value matches the
`predetermined lock value, otherwise leaving the storage area
`unmodified.
`
`The method of claim 1, wherein the receiving step (b)
`2.
`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.
`
`The method of claim 1, wherein the receiving step (b)
`3.
`comprises the step of receiving a desktop management
`interface-
`compatible write request
`to a general purpose nonvolatile
`storage area.
`
`Page 16
`
`Page 16
`
`

`

`WO 97/36241
`
`PCT/US97/03569
`
`4,
`
`The method of claim 1, further comprising the steps of:
`- Teceiving 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.
`
`A method for protecting a nonvolatile Storage area in a
`5.
`computer system, wherein the computer system is compatible
`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;
`lock value corresponding to
`(c)
`checking whether a first
`the request
`is valid based on a predetermined lock value,
`notwithstanding having indicated that
`the computer 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.
`
`The method of claim 5, wherein the receiving step (b)
`6,
`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.
`
`Page 17
`
`Page 17
`
`

`

`WO 97/36241
`
`PCT/US97/03569
`
`16
`
`The method of claim 5, wherein the receiving step (b)
`7.
`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.
`
`A computer-readable medium having stored thereon a
`10.
`plurality of instructions,
`the plurality of instructions including
`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;
`to perform a locked write to a
`(b)
`receiving a request
`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 notwithstanding
`the indicating step (a); and
`to the first
`(d) writing data corresponding to the request
`storage area provided the first
`lock value matches the
`predetermined lock value, otherwise leaving the first storage
`area unmodified.
`
`Page 18
`
`Page 18
`
`

`

`WO 97/36241
`
`PCT/US97/03569
`
`17
`
`The computer-readable medium of claim 10, wherein the
`11.
`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
`
`area.
`
`The computer-readable medium of claim 10, wherein the
`12.
`plurality of instructions is compatible with a desktop
`management
`interface BIOS specification.
`
`The computer-readable medium of claim 10, wherein the
`13.
`predetermined lock value is embedded in the plurality of
`instructions.
`
`The computer-readable medium of claim 10, wherein the
`14.
`plurality of
`instructions further causes the processor
`to perform
`the steps of:
`to read the first storage area;
`- Teceiving a request
`- 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.
`
`A computer system comprising:
`a processor;
`
`one or more storage areas:
`a memory coupled to the processor and to the one or more
`Storage areas, wherein the memory stores a sequence of
`
`Page 19
`
`Page 19
`
`

`

`WO 97/36241
`
`PCT/US97/03569
`
`18
`
`instructions which, when executed by the processor, cause the
`processor to perform the steps of:
`(a)
`indicating that
`the one or more storage areas
`cannot be locked;
`to perform a locked write to
`(b)
`receiving a request
`a first storage area of the one or more Storage areas,
`(c)
`checking 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
`to the
`(d) writing data corresponding to the request
`first storage area provided the first
`lock value is valid,
`otherwise leaving the first storage area unmodified.
`
`The computer system of claim 15, wherein the receiving
`16.
`step (b) performed 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
`
`area.
`
`The computer system of claim 15, wherein the one or more
`17.
`storage areas comprises a plurality of genera] purpose
`nonvolatile storage areas.
`
`The computer system of claim 15, wherein the sequence of
`18.
`instructions is compatible with a desktop management
`interface
`BIOS specification.
`
`Page 20
`
`Page 20
`
`

`

`WO 97/36241
`
`PCT/US97/03569
`
`19
`
`The computer system of claim 15, wherein the
`19.
`predetermined lock value is embedded in the sequence of
`instructions.
`
`The computer system of claim 15, wherein the memory is a
`20.
`read only memory.
`
`The computer system of claim 15, wherein the sequence of
`21.
`instructions further causes the processor
`to perform the steps of:
`- receiving a request
`to read thefirst storage area;
`- providing data from the first storage area; and
`- providing an indicator that
`the computer system does not
`Support
`locking of the one or more Storage areas.
`
`The computer system of claim 2

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket