WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Apparatus and method for loading BIOS from a diskette in a personal computer system    
United States Patent5410699   
Link to this pagehttp://www.wikipatents.com/5410699.html
Inventor(s)Bealkowski; Richard (Delray Beach, FL); Blackledge, Jr.; John W. (Boca Raton, FL); Cronk; Doyle S. (Boca Raton, FL); Dayan; Richard A. (Boca Raton, FL); Kinnear; Scott G. (Boca Raton, FL); Kovach; George D. (Boca Raton, FL); Palka, Jr.; Matthew S. (Raleigh, NC); Sachsenmaier; Robert (Boca Raton, FL); Zyvoloski; Kevin M. (Raleigh, NC)
AbstractAn apparatus and method for loading BIOS from a diskette drive into a personal computer system normally connected to a hardfile, such as a fixed disk. The personal computer system further includes a system processor, a random access main memory, a read only memory and a switching means. The switching means generates a signal to indicate a mode for whether BIOS loads from either diskette or disk. In a priority mode, BIOS loads immediately from diskette. In a recovery mode, BIOS loads from diskette after testing the disk subsystem.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5410699
Apparatus and method for loading BIOS from a diskette in a personal

     computer system - US Patent 5410699 Drawing
Apparatus and method for loading BIOS from a diskette in a personal computer system
Inventor     Bealkowski; Richard (Delray Beach, FL); Blackledge, Jr.; John W. (Boca Raton, FL); Cronk; Doyle S. (Boca Raton, FL); Dayan; Richard A. (Boca Raton, FL); Kinnear; Scott G. (Boca Raton, FL); Kovach; George D. (Boca Raton, FL); Palka, Jr.; Matthew S. (Raleigh, NC); Sachsenmaier; Robert (Boca Raton, FL); Zyvoloski; Kevin M. (Raleigh, NC)
Owner/Assignee     International Business Machines Corp. (Armonk, NY)
Patent assignment
All assignments
Publication Date     April 25, 1995
Application Number     07/609,043
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     November 2, 1990
US Classification     713/2 340/5.74
Int'l Classification     G06F 009/06
Examiner     Black; Thomas G.
Assistant Examiner     Wang; Peter Y.
Attorney/Law Firm     Babayi; Robert S.
Address
Parent Case     This is a continuation-in-part of application Ser. No. 07/399,631 filed on Aug. 25, 1989, abandoned.
Priority Data    
USPTO Field of Search     364/200 364/900 340/825.31 340/825.34 395/650 395/700
Patent Tags     loading bios diskette personal computer
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5022077
Bealkowski
711/163
Jun,1991

[0 after 0 votes]
4817140
Chandra
705/55
Mar,1989

[0 after 0 votes]
4796220
Wolfe
705/56
Jan,1989

[0 after 0 votes]
4794085
Jessop
436/54
Dec,1988

[0 after 0 votes]
4785361
Brotby
360/60
Nov,1988

[0 after 0 votes]
4780833
Atake
700/281
Oct,1988

[0 after 0 votes]
4757534
Matyas
705/56
Jul,1988

[0 after 0 votes]
4748561
Brown
711/164
May,1988

[0 after 0 votes]
4747139
Taaffe

May,1988

[0 after 0 votes]
4688169
Joshi
726/29
Aug,1987

[0 after 0 votes]
4685056
Barnsdale, Jr.
711/164
Aug,1987

[0 after 0 votes]
4685055
Thomas
705/56
Aug,1987

[0 after 0 votes]
4593353
Pickholtz

Jun,1986

[0 after 0 votes]
4577289
Comerford
360/60
Mar,1986

[0 after 0 votes]
4562306
Chou
726/20
Dec,1985

[0 after 0 votes]
4525599
Curran
713/190
Jun,1985

[0 after 0 votes]
4491914
Sujaku
714/38
Jan,1985

[0 after 0 votes]
4478094
Salomaa
73/863.32
Oct,1984

[0 after 0 votes]
4446519
Thomas
711/164
May,1984

[0 after 0 votes]
3996449
Attanasio
235/431
Dec,1976

[0 after 0 votes]
3931504
Jacoby
726/23
Jan,1976

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


We claim:

1. An apparatus for loading an operational interface from diskette media included in a diskette drive for a personal computer system normally connected to a hardfile, the personal computer system having a system processor, a read only memory, a random access memory and the diskette drive, said apparatus comprising:

means for initializing the system with a first portion of the operational interface resident in the read only memory;

means for loading a master boot record saved on the diskette media, said master boot record including an executable code segment;

means for producing a signal, said signal being representative of loading the operational interface from the diskette drive;

signal responding means being responsive to said signal, said signal responding means determining if the operational interface is to be loaded from the diskette drive or hardfile, wherein if the operational interface is to be loaded from the diskette media, said first portion of the operational interface initializes the diskette drive to effect the loading of said master boot record into the random access memory;

a remaining portion of the operational interface being included in the diskette media, wherein said first portion of the operational interface transfers control to the executable code segment of the master boot record in order to effect the loading of the remaining portion of the operational interface into the random access memory.

2. The apparatus of claim 1, wherein said signal producing means generates a priority signal, said priority signal being representative of a mode wherein said master boot record and remaining portion of the operational interface are loaded into random access memory before attempting to access the hardfile.

3. The apparatus of claim 2, wherein said signal producing means generates a recovery signal, said recovery signal being representative of a mode wherein said master boot record and remaining portion of the operational interface are loaded into random access memory after attempting to load the operational interface from the hardfile.

4. The apparatus of claim 3, further including a nonvolatile memory electrically coupled to the system processor, wherein in the absence of said priority signal and said recovery signal said master boot record and said remaining portion of the operational interface are loaded into random access memory after attempting to load the operational interface from the hardfile and detecting the absence of a password normally included in the nonvolatile memory.

5. The apparatus of claim 1, wherein said signal producing means comprises a switch electrically connected to a system planar, said system planar being electrically coupled to the system processor.

6. The apparatus of claim 5, wherein said switch comprises a hardwired jumper resident on the system planar.

7. The apparatus of claim 1, wherein the master boot record further includes a data segment, the data segment representing a hardware configuration of the personal computer system which is compatible with said master boot record, and further wherein the read only memory includes data representing a hardware configuration of the system processor, wherein before said remaining portion of the operational interface is loaded into random access memory, said executable code segment compares the hardware configuration data from the master boot record with the hardware configuration data from the read only memory to verify the master boot record is compatible with the system processor.

8. The apparatus of claim 7, wherein the data segment of the master boot record includes a value representing the system planar which is compatible with the master boot record and further wherein the system planar further includes a means for uniquely identifying the system planar in order to verify that the master boot record is compatible to the system planar.

9. The apparatus of claim 7, wherein the hardware configuration data on the master boot record includes a model value and a submodel value, wherein the model value identifies a system processor which is compatible with said master boot record and the submodel value represent an I/O configuration of the system planar which is compatible with the master boot record, and further wherein said read only memory includes a corresponding model value identifying the system processor and submodel value representing the I/O configuration of the system planar, wherein said model value and submodel value of the master boot record are compared to the corresponding model and submodel values of the read only memory respectively, in order to verify that the master boot record is compatible with the system processor and the I/O configuration of the system planar.

10. The apparatus of claim 1, wherein said master boot record includes a predetermined character code in order to distinguish the master boot record from other records included on the diskette drive.

11. The apparatus of claim 1, wherein said signal producing means generates a recovery signal, said recovery signal being representative of a mode wherein said master boot record and said remaining portion of the operational interface are loaded into random access memory after attempting to load the operational interface from the disk drive.

12. An apparatus for loading an operational interface from diskette media included in a diskette drive for a personal computer system normally connected to a hardfile, the personal computer system further having a system processor electrically coupled to a read only memory, random access memory and nonvolatile memory, said apparatus comprising:

a first portion of the operational interface resident in the read only memory, said first portion of the operational interface initializing the system and determining if the hardfile is operational;

a master boot record included in the diskette media, said master boot record including an executable code segment;

a password normally included in the nonvolatile memory, wherein upon determining if the hardfile is non-operational and said password is not detected, said first portion of the operational interface initializes the diskette drive to read in said master boot record; and

a remaining portion of the operational interface being included in the diskette media, wherein the first portion of the operational interface transfers control to the executable code segment of the master boot record in order to effect the loading of the remaining portion of the operational interface into the random access memory.

13. The apparatus of claim 12, wherein the master boot record further includes a data segment, the data segment representing a hardware configuration of the personal computer system which is compatible with said master boot record, and further wherein the read only memory includes data representing a hardware configuration of the system processor, wherein before said remaining portion of the operational interface is loaded into random access memory, said executable code segment compares the hardware configuration data from the master boot record with the hardware configuration data from the read only memory to verify the master boot record is compatible with the system processor.

14. The apparatus of claim 13, wherein the data segment of the master boot record includes a value representing system planar which is compatible with the master boot record and further wherein the system planar further includes a means for uniquely identifying the system planar in order to verify that the master boot record is compatible to the system planar.

15. The apparatus of claim 13, wherein the hardware configuration data on the master boot record includes a model value and a submodel value, wherein the model value identifies a system processor which is compatible with said master boot record and the submodel value represent an I/O configuration of the system planar which is compatible with the master boot record, and further wherein said read only memory includes a corresponding model value identifying the system processor and submodel value representing the I/O configuration of the system planar, wherein said model value and submodel value of the master boot record are compared to the corresponding model and submodel values of the read only memory respectively, in order to verify that the master boot record is compatible with the system processor and the I/O configuration of the system planar.

16. The apparatus of claim 13, wherein said executable code segment generates a first error to indicate the master boot record is not compatible with the system hardware.

17. The apparatus of claim 12 wherein the nonvolatile random access memory includes data representing the system configuration, said data being updated when the configuration of the system is changed, wherein said executable code segment compares said data in the nonvolatile random access memory to corresponding data in the read only memory to determine if the configuration of the system has changed.

18. The apparatus of claim 17, wherein said executable code segment generates a second error to indicate that the system configuration has changed.

19. The apparatus of claim 12, wherein said master boot record includes an identifying means to identify the record in order to distinguish the master boot record from other records included on the diskette drive.

20. The apparatus of claim 19, wherein said identifying means comprises a predetermined character code.

21. The apparatus of claim 20, wherein said predetermined code is prefatory to said code segment of the master boot record.

22. The apparatus of claim 19, wherein said master boot record includes a checksum value to verify the validity of the master boot record when loaded into the random access memory.

23. The apparatus of claim 12, wherein said remaining portion of the operational interface includes a checksum value to verify the validity of the remaining portion of the operational interface when loaded into the random access memory.

24. The apparatus of claim 12, wherein said master boot record includes a predetermined pattern, and further wherein said read only memory includes a corresponding predetermined pattern in order to verify that the first portion of the operational interface is included within a predefined read only memory.

25. The apparatus of claim 22, wherein said executable code segment generates a third error to indicate that the read only memory is not compatible with the master boot record.

26. A personal computer system comprising:

a system processor;

a random access memory being the main memory and electrically coupled to the system processor;

a diskette drive being electrically coupled to the system processor, the diskette drive capable of storing a plurality of data records;

a master boot record included in the diskette drive, the master boot record having a data segment and an executable code segment, the data segment representing a hardware configuration of the personal computer system which is compatible with said master boot record;

a read only memory being electrically coupled to the system processor, the read only memory having data representing a hardware configuration of the system;

a first portion of an operational interface being included in the read only memory, said first portion of the operational interface initializing the system and the diskette drive to load in said master boot record and transferring control to said executable code segment, said executable code segment further comparing the hardware configuration data from the master boot record to the hardware configuration data of the read only memory to verify the compatibility of the master boot record with the system processor;

a remaining portion of the operational interface being included in the diskette drive, wherein, after verifying the compatibility of the master boot record with the system processor, executable code segment loads the remaining portion of the operational interface into the random access memory.

27. The apparatus of claim 26 further including:

a system planar board being electrically coupled to the system processor, wherein the data segment of the master boot record includes a value representing a system planar being compatible with the master boot record and further wherein the system planar further includes a means for uniquely identifying the system planar in order to verify the compatibility of the master boot record to the system planar.

28. The apparatus of claim 26 further including:

a system planar board being electrically coupled to the system processor, wherein the hardware configuration data on the master boot record includes a model value and a submodel value, wherein the model value identifies the system processor and the submodel value represent the I/O configuration of the system planar, said model value and submodel value being compared to corresponding values in the read only memory to verify the compatibility of the master boot record to the hardware configuration.

29. The apparatus of claim 26, wherein the personal computer system further includes a nonvolatile random access memory, said nonvolatile random access memory storing values representing the system configuration, said values being updated when the configuration of the system is changed, wherein said first portion of the operational interface compares said values in the nonvolatile random access memory to corresponding values in the read only memory to determine if the configuration of the system has changed.

30. A method for loading an operational interface from a diskette drive in a personal computer system normally connected to a hardfile, the personal computer system having a system processor electrically coupled to a system planar, the planar further being electrically coupled to a read only memory, random access memory and nonvolatile memory, said method comprising the steps of:

(a) initializing the system with a first portion of the operational interface resident in the read only memory;

(b) determining if the hardfile is present;

(c) in the absence of the hardfile, searching the nonvolatile memory for a password;

(d) upon detecting the absence of the password, initializing with the first portion of the operational interface the diskette drive having a master boot record a remaining operational interface;

(c) loading with the first portion of the operational interface the master boot record into random access memory, the master boot record including a data segment and an executable code segment, the data segment having data representing the hardware configuration of the system for which the remaining operational interface is compatible;

(d) verifying the compatibility of the master boot record with the system hardware by comparing from the data segment the data representing the hardware configuration record to corresponding data stored in read only memory;

(e) executing the code segment of the master boot record to load the remaining operational interface code into main memory; and

(f) passing control to the remaining operational interface code once it is loaded into main memory.

31. The method of claim 30, wherein step (d) of verifying further includes the steps of:

(g) verifying that the boot record is compatible with the planar by comparing a planar ID accessible by the system processor with a planar ID value stored in the data segment of the boot record; and

(h) verifying that the boot record is compatible with the system processor by comparing respectively model and submodel values stored in read only memory with model and submodel values stored in the data segment of the boot record.

32. The method of claim 30, wherein the nonvolatile random access memory includes data representing the system configuration, said method further including the step of:

(i) comparing the data in nonvolatile random access memory to the data in read only memory to determine whether the system configuration has changed; and

(j) generating an indication that the system configuration has changed before loading the operational interface from the diskette.
 Description Submit all comments and votes
 


CROSS REFERENCE TO RELATED PATENT APPLICATIONS

The present patent application is one of a group of applications which concern the same overall computer system but which individually claim different inventive concepts embodied in such computer system. These related patent applications were filed on the same date, namely Aug. 25, 1989, are specifically incorporated by reference herein, and are more particularly described as follows:

(1) Application Ser. No. 07/398,865, now U.S. Pat. No. 5,210,875, entitled "Initial BIOS Load for a Personal Computer System", the inventors being Bealkowski et al.;

(2) Application Ser. No. 07/398,860, now U.S. Pat. No. 5,136,713, entitled "An Apparatus and Method for Decreasing the Memory Requirements for BIOS in a Personal Computer System", the inventors being Bealkowski et al.; and

(3) Application Ser. No. 07/398,820, now U.S. Pat. No. 5,022,077, entitled "An Apparatus and Method for Preventing Unauthorized Access to BIOS in a Personal Computer System", the inventors being Bealkowski et al.

FIELD OF THE INVENTION

This invention relates to personal computer systems and in particular to a method and device for loading BIOS from a diskette into a personal computer system.

BACKGROUND DISCUSSION

Personal computer systems in general and IBM personal computers in particular have attained widespread use for providing computer power to many segments of today's modern society. Personal computer systems can usually be defined as a desk top, floor standing, or portable microcomputer that consists of a system unit having a single system processor, a display monitor, a keyboard, one or more diskette drives, a fixed disk storage, and an optional printer. One of the distinguishing characteristics of these systems is the use of a motherboard or system planar to electrically connect these components together. These systems are designed primarily to give independent computing power to a single user and are inexpensively priced for purchase by individuals or small businesses. Examples of such personal computer systems are IBM's PERSONAL COMPUTER AT and IBM's PERSONAL SYSTEM/2 Models 25, 30, 50, 60, 70 and 80.

These systems can be classified into two general families. The first family, usually referred to as Family I Models, use a bus architecture exemplified by the IBM PERSONAL COMPUTER AT and other "IBM compatible" machines. The second family, referred to as Family II Models, use IBM's MICROCHANNEL bus architecture exemplified by IBM's PERSONAL SYSTEM/2 Models 50 through 80.

Beginning with the earliest personal computer system of the family I models, such as the IBM Personal Computer, it was recognized that software compatibility would be of utmost importance. In order to achieve this goal, an insulation layer of system resident code, also called "microcode", was established between the hardware and software. This code provided an operational interface between a user's application program/operating system to relieve the user of the concern about the characteristics of hardware devices. Eventually, the code developed into a BASIC input/output system (BIOS), for allowing new devices to be added to the system, while insulating the application program from the peculiarities of the hardware. The importance of BIOS was immediately evident because it freed a device driver from depending on specific device hardware characteristics while providing the device driver with an intermediate interface to the device. Since BIOS was an integral part of the system and controlled the movement of data in and out of the system processor, it was resident on the system planar and was shipped to the user in a read only memory (ROM). For example, BIOS in the original IBM Personal Computer occupied 8K of ROM resident on the planar board.

As new models of the personal computer family were introduced, BIOS had to be updated and expanded to include new hardware and I/O devices. As could be expected, BIOS started to increase in memory size. For example, with the introduction of the IBM PERSONAL COMPUTER AT, BIOS grew to require 32K bytes of ROM.

Today, with the development of new technology, personal computer systems of the Family II models are growing even more sophisticated and are being made available to consumers more frequently. Since the technology is rapidly changing and new I/O devices are being added to the personal computer systems, modification to the BIOS has become a significant problem in the development cycle of the personal computer system.

For instance, with the introduction of the IBM Personal System/2 with Micro-Channel architecture, a significantly new BIOS, known as advanced BIOS, or ABIOS, was developed. However, to maintain software compatibility, BIOS from the Family I models had to be included in the Family II models. The Family I BIOS became known as Compatibility BIOS or CBIOS. However, as previously explained with respect to the IBM PERSONAL COMPUTER AT, only 32K bytes of ROM were resident on the planar board. Fortunately, the system could be expanded to 96K bytes of ROM. Unfortunately, because of system constraints, this turned out to be the maximum capacity available for BIOS. Luckily, even with the addition of ABIOS, ABIOS and CBIOS could still squeeze into 96K of ROM. However, only a small percentage of the 96K ROM area remained available for expansion. With the addition of future I/O devices, CBIOS and ABIOS will eventually run out of ROM space. Thus, new I/O technology will not be able to be easily integrated within CBIOS and ABIOS.

Due to these problems, plus the desire to make modification in Family II BIOS as late as possible in the development cycle, it became necessary to off-load portions of BIOS from the ROM. To accomplish this, portions of BIOS were stored and loaded from a fixed disk. However, it quickly became evident that loading only from a fixed disk had some limitations. Mainly, if the disk became incapacitated, the system was unusable. Also, updates to the system would lead to compatibility problems between BIOS and the new system configuration. Therefore, a need exists for loading BIOS from a direct access storage device other than the fixed disk. Also it is highly desireable to provide a priority and recovery mode for the diskette loaded BIOS. In the priority mode, BIOS is loaded immediately from diskette. In the recovery mode, BIOS is loaded from diskette only after failing to load from disk.

SUMMARY OF THE INVENTION

The present invention has been developed for the purpose of alleviating the above mentioned problems. Accordingly, the invention has as one of its objects an apparatus and method for storing and loading a portion of BIOS from a diskette drive. Another objective of the present invention is to provide an apparatus and method for loading BIOS from a diskette drive in personal computer system which normally loads BIOS from a fixed disk drive.

Yet another objective of the present invention is to provide an apparatus and method which confirms the compatibility between BIOS stored on the diskette drive and the hardware configuration of the personal computer system.

The personal computer system according to the present invention comprises a system processor, a random access memory, a read only memory, a diskette drive, a switching means and normally a disk drive. The read only memory includes a first portion of BIOS which in operation, initializes the system and detects the state of the switching means electrically coupled to the system processor. If the switching means is in a priority position, a master boot record is immediately loaded from the diskette drive (priority mode) without testing for the fixed disk drive. If the switching means is in a recovery position the first portion of BIOS attempts to load the master boot record from the fixed disk. If the fixed disk is not available, non-operational, or the master boot record on the disk is invalid, the first portion of BIOS reads in the master boot record from the diskette drive (recovery mode).

Whether loaded from the fixed disk or diskette, the master boot record includes a data segment and an executable code segment. The data segment includes data representing system hardware and a system configuration which is compatible with the master boot record. The first BIOS portion transfers control to the executable code segment which confirms the master boot record is compatible with the system hardware by verifying that the data from the data segment of the master boot record agrees with data stored in the read only memory representing the system processor, system planar, and planar I/O configuration.

If the master boot record is compatible with the system hardware, the executable code segment confirms that the system configuration has not changed and loads in the remaining BIOS portion from either the disk drive or the diskette drive into random access memory. The executable code segment then verifies the authenticity of the remaining BIOS portion and vectors the system processor to begin executing the remaining BIOS now in random access memory. BIOS executing in random access memory then boots up the operating system to begin operation of the personal computer system. The first portion of BIOS, being no longer addressable and superseded by the remain