WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Semiconductor memory configured to emulate floppy and hard disk magnetic storage based upon a determined storage capacity of the semiconductor memory    
United States Patent5226168   
Link to this pagehttp://www.wikipatents.com/5226168.html
Inventor(s)Kobayashi; Junichi (Suwa, JP); Tateno; Hiroaki (Suwa, JP); Ikeda; Masayuki (Suwa, JP); Samejima; Shogo (Suwa, JP)
AbstractA compact, low power consumption, light weight, highly reliable and high speed information processing system is provided by employing a semiconductor auxiliary storage device in lieu of conventional magnetic storage or memory elements, such as floppy or hard disks. An access request to such a magnetic storage or memory element is converted to an access request for the semiconductor auxiliary storage which uses semiconductor integrated circuits without requiring any modification of existing programs, such as, application software and disk operating systems. A memory circuit in the semiconductor auxiliary storage comprises ROM and RAM, and a portion of the ROM contents is copied into the RAM so that access modification for programs and data is permitted while the basic program and data is retained in a nonvolatile manner.
   














 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 5226168
Semiconductor memory configured to emulate floppy and hard disk magnetic

     storage based upon a determined storage capacity of the semiconductor

     memory - US Patent 5226168 Drawing
Semiconductor memory configured to emulate floppy and hard disk magnetic storage based upon a determined storage capacity of the semiconductor memory
Inventor     Kobayashi; Junichi (Suwa, JP); Tateno; Hiroaki (Suwa, JP); Ikeda; Masayuki (Suwa, JP); Samejima; Shogo (Suwa, JP)
Owner/Assignee     Seiko Epson Corporation (JP)
Patent assignment
All assignments
Publication Date     July 6, 1993
Application Number     07/513,600
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     April 24, 1990
US Classification     703/25 711/1
Int'l Classification     G06F 013/14 G06F 012/10
Examiner     Lee; Thomas C.
Assistant Examiner     Harrity; Paul
Attorney/Law Firm     Carothers, Jr.; W. Douglas
Address
Parent Case    
Priority Data     Apr 25, 1989[JP]1-105008 Jul 28, 1989[JP]1-195866 Jul 28, 1989[JP]1-195867 Aug 28, 1989[JP]1-221237
USPTO Field of Search     395/800 395/500
Patent Tags     semiconductor memory configured emulate floppy hard disk magnetic storage based upon determined storage capacity semiconductor memory
   
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
5062042
Binkley

Oct,1991

[0 after 0 votes]
4984149
Iwashita
711/4
Jan,1991

[0 after 0 votes]
4896262
Wayama
710/65
Jan,1990

[0 after 0 votes]
4456971
Fukuda
703/25
Jun,1984

[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
 


What is claimed is:

1. An information processing system having a CPU and a main program and data storage unit, comprising:

auxiliary storage interface means for transferring data between said CPU and auxiliary storage devices, being configured to access at least one auxiliary magnetic storage device;

semiconductor storage means connected to said auxiliary storage interface means, for receiving, storing, and retrieving data and programs;

BIOS storage means coupled to said CPU and said semiconductor storage means for storing at least a portion of a BIOS that controls said semiconductor storage means so as to respond to said auxiliary storage interface means in the same manner as said auxiliary magnetic storage device;

determination means, coupled to said semiconductor storage means, for determining a storage capacity of said semiconductor storage means and for outputting one of a first and second signal indicative of said determination;

detection means, coupled to said determination means, for detecting when said semiconductor storage means is to be treated as one of a floppy disk type and hard disk type magnetic storage, said detection means, upon receiving said first signal from said determination means, detecting that said semiconductor storage means is to be treated as said floppy disk-type magnetic storage, and said detection means, upon receiving said second signal from said determination means, detecting that said semiconductor storage means is to be treated as said hard disk type magnetic storage; and

ID information storage means, connected to said semiconductor storage means and said detection means, for storing ID information used by said BIOS storage means to initialize and configure said semiconductor storage means in one of a plurality of predetermined storage formats corresponding to the type detected by said detection means.

2. The information processing system according to claim 1 wherein said semiconductor storage means stores a program including an access request to said auxiliary magnetic storage device memory means.

3. The information processing system according to claim 2 wherein said semiconductor storage means has a read-only memory and an erase/write memory, said information processing system including means for copying a portion of contents of said read-only memory to said erase/write memory.

4. The information processing system according to claim 3 further comprising means for translating between physical addresses of source and target memory locations when access is made to said semiconductor storage means.

5. The information processing system according to claim 2 wherein access to said semiconductor storage means is accomplished using translation means for translating an address for said auxiliary magnetic storage device to an address for said semiconductor storage means.

6. The information processing system according to claim 5 wherein said semiconductor storage means stores track ID information designated for said auxiliary magnetic storage device, said translation means employing said track ID information to make said address translation.

7. The information processing system according to claim 1 wherein access to said semiconductor storage means is accomplished using translation means for translating an address for said auxiliary magnetic storage device to an address for said semiconductor storage means.

8. The information processing system according to claim 7 wherein said semiconductor storage means has a read-only memory and an erase/write memory, said information processing system including means for copying a portion of contents of said read-only memory to said erase/write memory.

9. The information processing system according to claim 8 further comprising means for translating between physical addresses of source and target memory locations when access is made to said semiconductor storage means.

10. The information processing system according to claim 7 wherein said semiconductor storage means stores track ID information designated for said auxiliary magnetic storage device, said translation mens employing said track ID information to make said address translation.

11. The information processing system according to claim 10 wherein said semiconductor storage means has a read-only memory and an erase/write memory, said information processing system including means for copying a portion of the contents of said read-only memory to said erase/write memory.

12. The information processing system according to claim 1 wherein said semiconductor storage means has a read-only memory and an erase/write memory, said information processing system including means for copying a portion of the contents of said read-only memory to said erase/write memory.

13. The information processing system according to claim 12 further comprising means for translating between physical addresses of source and target memory locations when access is made to said semiconductor storage means.

14. The information processing system of claim 1 further comprising:

address translation means for translating auxiliary magnetic storage addresses to corresponding semiconductor storage addresses for accessing said semiconductor storage means.

15. The information processing system of claim 14 wherein:

said auxiliary magnetic storage addresses correspond to values for a total number of cylinders, heads, and sectors, a desired sector being addressed, and a sector length; and

said address translation means translates to addresses in said semiconductor storage means corresponding to the value of a product of the number of magnetic storage sectors and twice the cylinder number added to the number of heads and then added to one less than the sector number being addressed all multiplied by 128 and by a factor of 2 raised to the power of the desired sector length, and further summed with a predetermined minimum offset value determined by a memory size for storing track ID information.

16. The information processing system of claim 15 wherein the value of the sector size is first doubled prior to said translation.

17. The information processing system of claim 1 further comprising:

memory translation means for translating between read-only and erase/write memory physical addresses when access is made to said semiconductor storage means.

18. Semiconductor storage for use in an information processing system having a CPU, a main storage for programs and data, and configured to access auxiliary storage devices, comprising:

auxiliary storage interface means for transferring data between said CPU and auxiliary storage devices, being configured to access at least one auxiliary magnetic storage device;

semiconductor storage means connected to said auxiliary storage interface means, for receiving, storing, and retrieving data and programs;

BIOS storage means coupled to said CPU and said semiconductor storage means for storing at least a portion of a BIOS that controls said semiconductor storage means so as to respond to said auxiliary storage interface means in the same manner as said auxiliary magnetic storage device;

determination means, coupled to said semiconductor storage means, for determining a storage capacity of said semiconductor storage means and for outputting one of a first and second signal indicative of said determination;

detection means, coupled to said determination means, for detecting when said semiconductor storage means is to be treated as one of a floppy disk type and hard disk type magnetic storage, said detection means, upon receiving said first signal from said determination means, detecting that said semiconductor storage means is to be treated as said floppy disk-type magnetic storage, and said detection means, upon receiving said second signal from said determination means, detecting that said semiconductor storage means is to be treated as said hard disk type magnetic storage; and

ID information storage means, connected to said semiconductor storage means and said detection means, for storing ID information used by said BIOS storage means to initialize and configure said semiconductor storage means in one of a plurality of predetermined storage formats corresponding to the type detected by said detection means.

19. A method for providing semiconductor type auxiliary storage for an information processing system having a CPU and a main program and data storage unit, the method comprising the steps of:

providing an auxiliary storage interface for transferring data between said CPU and auxiliary storage devices, said auxiliary storage interface being configured to access at least one auxiliary magnetic storage device;

connecting at least one semiconductor memory device to said auxiliary storage interface for receiving, storing, and retrieving data and programs;

providing a least a portion of a Basic Input/Output Operating system (BIOS) in communication with both said CPU and said auxiliary storage interface for controlling said semiconductor memory device so as to respond to said auxiliary storage interface in the same manner as said auxiliary magnetic storage device;

determining a storage capacity of said semiconductor memory device and outputting a first and second signal indicative of said determination;

detecting when said semiconductor memory device is to be treated as one of a floppy disk type and hard disk type magnetic storage, wherein upon receiving said first signal being outputted in said determining and outputting step, detecting that said semiconductor memory device is to be treated as said floppy disk type magnetic storage, and wherein upon receiving said second signal being outputted in said determining and outputting step, detecting that said semiconductor memory device is to be treated as said hard disk type magnetic storage;

storing ID information comprising predetermined operating parameters for a plurality of magnetic storage formats corresponding to the type detected in said detecting step; and

initializing said semiconductor memory device using said BIOS so as to configure said semiconductor memory device in one of said plurality of storage formats based upon the type detected in said detecting step.

20. The method of claim 19 further comprising the steps of:

translating addresses requested for said auxiliary magnetic storage device to semiconductor memory addresses when data transfers are effected through said auxiliary storage interface; and

executing the translated request.

21. The method of claim 20 wherein said addresses are translated by adding an offset value, so as to reserve upper memory addresses for storage of said ID information, to a product of the sector size in bytes for the magnetic storage device being accessed and a quantity equal to the number of tracks prior to a current track being accessed for said magnetic storage device times the number of sectors per track which is then summed with one less than the sector number being addressed on the current track.

22. The method of claim 21 wherein the value of the sector size is adjusted to correspond to a desired size for storage media in said auxiliary magnetic storage device prior to said translation.

23. A method of utilizing semiconductor type auxiliary storage in an information processing system while permitting the utilization of existing software configured for use with conventional magnetic storage memory, comprising the steps of:

providing a semiconductor storage device for receiving, storing, and retrieving data and programs and having ID information stored therein corresponding to memory format structures for said conventional magnetic storage memory;

determining a relative storage capacity for said semiconductor storage device and providing a first and second signal indicative of said determination;

selecting a predetermined one of said memory format structures based on said ID information for said semiconductor storage device in response to the determined capacity by treating said semiconductor storage device as a floppy disk type magnetic storage when said first signal is provided in said determining and providing step, and treating said semiconductor storage device as a hard disk type magnetic storage when said second signal is provided in said determining and providing step;

initializing said semiconductor storage device to configure said semiconductor storage device in one of said memory format structures based upon the memory format structure selected in the selecting step;

capturing access requests for said conventional magnetic storage memory;

translating addresses in the access requests to addresses for said semiconductor storage device by employing said ID information; and

executing the translated access requests.

24. The method of claim 23 wherein said address is translated by adding a predetermined offset value, which reserves upper memory storage for said ID information, to a product of the sector size in bytes for the type of magnetic storage being accessed and a quantity equal to the number of tracks prior to a current track being accessed for said magnetic storage times the number of magnetic storage sectors per track and then added to one less than the sector number being addressed on the current track.

25. The method of claim 24 wherein the value of the sector size is adjusted to correspond to a desired size for storage media in said auxiliary magnetic storage device prior to said translation.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

This invention relates generally to an information processing system of a relatively small size such as a personal computer, and more particularly to an information processing system having compact high speed auxiliary storage for data and programs.

A conventional information processing system is generally configured as shown in FIG. 14. Such a system comprises a central processing unit (CPU) 1 which is the heart of the system. CPU 1 is connected through system bus 26 to main storage 2 where programs and data transferred from the auxiliary storage and intermediate results of program execution are stored, read-only memory (ROM) 3 which stores a basic input/output system (BIOS), keyboard 4 which functions as an input device to the system, display 5 which functions as an output device, a hard disk 6, and a floppy disk 7 which function as auxiliary storage for programs and data.

When power is applied to the system, the system is reset and initialized and CPU 1 executes an initial load program (ILP) stored in BIOS ROM 3 to transfer other programs from hard disk 6 or the floppy disk 7 to main storage 2. Thereafter, CPU 1 executes programs transferred to main storage 2 to accomplish the objectives of the programs.

Magnetic storage such as hard disk 6 or floppy disk 7 which are employed as auxiliary storage has a limit in terms of its possible size, weight and power consumption reduction. As a result, the presence of magnetic storage imparts a large restriction on the realization of a compact information system featuring actual portability.

Since the prior art floppy disk or hard disk drives include a mechanical rotary portion and a mechanical operation for moving a read/write head relative to a magnetic medium, access time can be necessarily long and the operation of the drive slow. Further, the mechanical operation involved during the access operation is noisy.

Beside the forgoing disadvantages, it is known that magnetic storage is relatively weak with respect to strong magnetic field and high temperature and humidity environments.

In order to avoid the problems encountered with magnetic storage, attempts have been made to use semiconductor based storage by following two different approaches. In the first approach, an application program, i.e., a data processing program which allows a user to visually interact with the program and confirm results, switches banks of the semiconductor auxiliary storage and access to the semiconductor auxiliary storage is accomplished deemed as a part of the main system storage. In the second approach, the access is made through a device drive program, i.e., a device driver, as a specific auxiliary storage and functions as a part of the operating system (OS).

However, in the first approach, the application program is designed to have a high dependency on a particular type and kind of memory. An existing application program is usually created and prepared on the assumption that a hard or floppy disk is employed as the auxiliary storage. Thus, it is necessary to modify the application program so that it may be employed with semiconductor type auxiliary storage.

In the second approach, after the device driver is activated, the semiconductor storage device is set in its activated condition. A BOOT program is stored in semiconductor device and the main body or software cannot be set up as part of establishing an active condition. Therefore, it is not possible to store the OS itself in semiconductor auxiliary storage, nor to incorporate a medium copy program, i.e., copied into such storage, or from a floppy disk to floppy disk and, further, is dependent on a BIOS which is highly dependent on the OS.

It is an object of the present invention to solve the above mentioned problems.

It is another object of this invention to provide a compact, light weight, highly reliable, and high speed information processing system while permitting the utilization of existing software applications and programs created and written for use with particular conventional memory devices, such as floppy disk or hard disk magnetic memories.

SUMMARY OF THE INVENTION

According to this invention, an information processing system constructed according to the present invention employes a semiconductor type auxiliary storage. A basic input/output program stored in the main body of the system accesses the semiconductor auxiliary storage when it receives an address request for magnetic type auxiliary storage or memory devices, which request originates from the execution of one or more host programs. The accessing is accomplished by translating the address for the magnetic storage into an address for the semiconductor auxiliary storage. The address translation is in turn accomplished by utilizing ID information for the magnetic storage which has previously been written into a predefined portion of the semiconductor auxiliary storage. The basic input/output program converts the access request for magnetic storage received from application software or a disk operating system (DOS) into an access request for semiconductor auxiliary storage and executes the request. An address for the semiconductor auxiliary storage is obtained by reading out corresponding ID information based on the address for the magnetic storage and processing the ID information and the address for the magnetic storage into a predetermined mathematical relationship.

It is preferred that the semiconductor auxiliary storage contains both read-only storage and erase/write storage capability and that the information processing system includes means for copying a portion of the contents of the read-only storage of the semiconductor auxiliary storage area into the erase/write storage. When an access is made to the semiconductor auxiliary storage having a portion of the contents of the read-only storage copied into the erase/write storage, it is preferred that the information processing system includes elements for translating physical addresses of a source area to a physical address of a target area. When the portion of the contents of the read-only storage in the semiconductor auxiliary storage has been copied into the erase/write storage and an access request is issued to the ROM source area, access is effected by employing a sum of the base address and a value determined by the capacity of the copied into area as a physical address for the erase/write area. In this manner, access is effected for the target storage area. Further, when an access is made to the semiconductor auxiliary storage, means may be provided for determining whether the semiconductor auxiliary storage is to be handled as floppy disk type or hard disk type magnetic storage based on a determination of the capacity of the semiconductor auxiliary storage.

It is preferable that the semiconductor auxiliary storage be constructed for easily removable mounting in the information processing system.

Other objects and attainments together with a fuller understanding of the invention will become apparent and appreciated by referring to the following description and claims taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of one embodiment of an information processing system comprising the present invention.

FIG. 2 is a block diagram of an internal configuration of semiconductor auxiliary storage employed relative to this invention.

FIGS. 3A, 3B, 3C illustrate stored capacity information by memory type in a control register.

FIG. 4 is a hierarchy block diagram of the system configuration for the embodiment shown in FIG. 1.

FIG. 5 is a flow chart of read and write processing for the BIOS to a software interrupt INT1H.sub.H from a DOS.

FIG. 6 illustrates a stored ID information.

FIG. 7 is a memory space in the semiconductor auxiliary storage.

FIG. 8 is a flow chart of read and write processing for the BIOS to the software interrupt INT1B.sub.H from the DOS for selecting a processing procedure based on the capacity of the semiconductor auxiliary storage.

FIG. 9 is a flow chart of a process for determining a capacity for each memory type of semiconductor auxiliary storage.

FIGS. 10A, 10B, 10C illustrate a relationship among a data format, a memory type, and a logical address in the memory space of semiconductor auxiliary storage.

FIG. 11 is a flow chart of a copy process.

FIG. 12 is a flow chart of a translation process from a logical address to a physical address.

FIG. 13 is a flow chart of a format track process.

FIG. 14 is a block diagram of a prior art information processing system.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now to FIG. 1 an information processing system 1 constructed according to this invention is shown comprising CPU 1A, main storage 2, BIOS ROM 3, keyboard 4, display 5, semiconductor storage 9, expansion floppy disk 10 and expansion hard disk 11 all connected to system bus 26. Main storage 2 and BIOS ROM 3 are sometimes referred to collectively as the main storage of system 1 but they are referred to separately herein.

CPU 1, main storage 2, keyboard 4, and display 5 are identical to those employed in the conventional information processing system shown in FIG. 14. The physical structure of BIOS ROM 3 is also identical to a conventional BIOS but the program contents stored therein differs in part because of the necessity to drive and control semiconductor auxiliary storage 9 instead of hard disk 6 and floppy disk 7 as in a conventional system. Expansion floppy disk 10 and expansion hard disk 11 may be added as required in order to support the operation of semiconductor auxiliary storage 9. For example, these expansion disks may be added when semiconductor auxiliary storage 9 is insufficient alone for meeting the memory capacity required for implementing auxiliary storage. On the other hand, these expansion disks are not always necessary.

FIG. 2 is a block diagram of an internal configuration of semiconductor auxiliary storage 9. Semiconductor auxiliary storage 9 comprises memory circuit 21 including a semiconductor integrated circuit, data register 22, address register 23, and control register 24. Memory circuit 21 contains two types of memories: a read-only memory (ROM) and an erase/write memory (RAM). Semiconductor auxiliary storage 9 is physically supported on a structure generally referred to as an IC card. It has a card-like plate structure, and when it is plugged into a connector 25 connected to system bus 26, electrical connection is made to system bus 26. In FIG. 2, only one semiconductor auxiliary storage 9 is illustrated for purposes of simplification but a plurality of such storage structures are usually provided so that a large amount of data may be stored among semiconductor auxiliary storages, or separate semiconductor auxiliary storages are employed for storing software programs as well as for storing data.

The functional operation of auxiliary storage 9 is generally as follows. Address register 23 designates an address in memory circuit 21. A start address for use by CPU 1 in accessing memory circuit 21 is set by CPU 1 in address register 23 through system bus (I/O bus) 26. After the start address has been set in address register 23, data is written to data register 22 and the data is automatically written into that address in memory circuit 21. When the data is written into data register 22, address register 23 is automatically incremented so that data can be written to the next address. Similarly, when the start address is set in address register 23 and data is read from data register 22, the data is automatically read from that address of memory circuit 21. When the data is read, address register 23 is automatically incremented and data can be read out from the next address.

Control register 24 stores an identification code or device information indicative of the memory type of semiconductor auxiliary storage 9. FIG. 3 shows a storage of contents status in control register 24 of the memory capacity by memory type which is a portion of the relevant device information for semiconductor auxiliary storage 9. FIG. 3A shows a type register which indicates the memory type for memory circuit 21. When bit 0 (MK0) of the register is "1", this indicates that the memory type for memory circuit 21 is a RAM. Similarly, bit 1 (MK1) indicates a mask ROM, bit 2 (MK2) indicates a P-ROM, and bit 3 (MK3) indicates an EEPROM.

FIG. 3B shows a capacity register which indicates an erase/write memory capacity for memory circuit 21. When bit 0 (WC0) of the register is "1", this indicates that the erase/write capacity is 64 kilo bytes (KB). Similarly, bit 1 (WC1) indicates 128 KB, bit 2 (WC2) indicates 256 KB, bit 3 (WC3) indicates 512 KB, bit 4 (WC4) indicates 1 MB, bit 5 (WC5) indicates 2 MB, bit 6 (WC6) indicates 4 MB, and bit 7 (WC7) indicates 8 MB.

FIG. 3C shows a capacity register which indicates the read-only memory (ROM) capacity of memory circuit 21. When bit 0 (VC0) of this register is "1", this indicates that the ROM capacity is 64 KB. Similarly, bit 1 (UC1) indicates 128 KB, bit 2 (UC2) indicates 256 KB, bit 3 (UC3) indicates 512 KB, bit 4 (UC4) indicates 1 MB, bit 5 (UC5) indicates 2 MB, bit 6 (UC6) indicates 4 MB, and bit 7 (UC7) indicates 8 MB. The contents of those registers are detected by reading out a specific I/O port address of the information processing system 1 and the memory type and the memory capacity of semiconductor auxiliary storage 9 which is currently loaded can be determined based on the contents of these registers.

As previously indicated, semiconductor auxiliary storage 9 is removably mounted onto system bus 26 through connector 25. Auxiliary storage 9, therefore, may be exchanged for use relative to each program or data stored in auxiliary storage 9 as in the case of a conventional floppy disk. Since auxiliary storage 9 is of a card shape, by utilizing semiconductor integrated circuits for memory storage, it is easy to transport and handle. Since a ROM is used entirely or partially in memory circuit 21, a single piece of software may be copied in volume as compared to one-to-one copy in the case of a floppy disk. Accordingly, this approach is effective for the distribution of software.

The operation of information processing system 1 according to the present embodiment will now be explained.

FIG. 4 shows a hierarchy type block diagram of the system configuration of system 1 relative to operation in a file access mode. Application software 41 exists at the top level of the hierarchy. Next is disk operating system (DOS) 42 which handles software interruptions due to file input/output requests from application software 41. Below DOS 42 is a basic input/output system (BIOS) 43 which is firmware that controls the lower level input/output operations relative to operation of hardware 44. The general configuration of hardware 44 is shown in FIG. 1. CPU 1 may, for example, be an Intel 16 bit microprocessor 8086. DOS 42 may be Microsoft MS-DOS. BIOS 43 may be one of the input/output systems of the disk requested by the software interrupt INTIB.sub.H from DOS 42. BIOS 43 is stored in BIOS ROM 3 together with an IPL and it operates under the control of CPU 1. DOS 42 and application software 41 are generally stored in semiconductor auxiliary storage 9 and they are transferred to main storage 2 and executed by CPU 1. DOS 42 may be stored in BIOS ROM 3.

When the information processing system shown in FIG. 1 is started, CPU 1 executes the IPL stored in BIOS ROM 3 and transfers DOS 42 stored in semiconductor auxiliary storage 9 to main storage 2. Then, CPU 1 transfers application software 41 also stored in semiconductor auxiliary storage 9, to main storage 2, and the application software is executed under the control of DOS 42.

Application software 41 and DOS 42 are prepared on the assumption that the magnetic storage, such as the floppy or hard disk, is employed as auxiliary storage. Accordingly, BIOS 43 is requested by DOS 42 or application software 41 to access the floppy disk or hard disk. However, BIOS 43 converts the access request for magnetic storage to an access request for semiconductor auxiliary storage 9 in the following manner. Accordingly, DOS 42 and application software 41 see the auxiliary storage as the magnetic storage but, in fact, it is semiconductor auxiliary storage 9. In other words, in the present system, semiconductor auxiliary storage 9 is treated as if it is the magnetic storage or memory means. As a result, information processing system 1 makes use of existing application software without any need or requirement for changing its contents including any adaptation to interface with semiconductor auxiliary storage 9.

FIG. 5 is a flow chart of the read and write processing of BIOS 43 for software interrupt INT1B.sub.H from DOS 42. When application software 41 issues a file input/output request to DOS 42, DOS 42 determines what drive is associated with that file and issues the software interrupt, INT1B.sub.H, to BIOS 43. DOS 42 requests BIOS 43 for access to either the floppy disk or the hard disk. BIOS 43 determines the drive associated with the request (step 101), i.e., it determines a drive number and determines if the request is to semiconductor auxiliary storage 9, which is treated as if it were the floppy disk or the hard disk, or to expansion floppy disk 10 or to expansion hard disk 11. If the request is for access to expansion floppy disk 10 or expansion hard disk 11, the normal read/write process for software interrupt INT1B.sub.H is executed (step 106). If the request is for access to semiconductor auxiliary storage 9, the contents of the ID information stored in semiconductor auxiliary storage 9 are examined to determine if the correct ID information has been formatted (step 102). The ID information is track ID information which would normally be written in a magnetic auxiliary storage or memory means. It is the information necessary for BIOS 43 to translate the disk address to an address in semiconductor auxiliary storage 9. If the ID information has not been formatted, the address translation cannot be carried out and an error process is carried out (step 105) instead. The ID information will be explained in detail later. If the ID information has been correctly formatted, the disk address (cylinder number, surface number and sector number) is translated into an address in semiconductor auxiliary storage 9 based on the contents of the ID information stored in semiconductor auxiliary storage 9 (step 103), and input/output processing is carried out (step 104). The address translation in step 103 will be explained in detail later.

Using a discrimination function to determine whether or not BIOS 43 requests access to semiconductor auxiliary storage 9 and the address translation and input/output functions for semiconductor auxiliary storage 9 by reference to ID information, application software 41 and DOS 42 need not be concerned that semiconductor auxiliary storage 9 is employed as the auxiliary storage rather than conventional magnetic storage memory elements. It can be treated as if the floppy disk or the hard disk is employed as the auxiliary storage.

Referring to FIG. 6, the track ID information for the magnetic storage is now explained. In this particular example, semiconductor auxiliary storage 9 is treated as a 640 KB floppy disk. FIG. 6 shows a format for the ID information stored in the first 1 KB area of conductor auxiliary storage 9. The ID information includes four bytes, one byte for each cylinder number (C), surface number (H), number of sectors (R) and length of a sector (N) for each track. The cylinder number (C) is usually written in an ID area in one sector of one track of a floppy disk, and the surface number (H) is also written in the ID area of the floppy disk. The surface number "00" indicates a front surface and "01" indicates a rear surface. The number of sectors (R) indicates the number of sectors in a track. In the present embodiment, the number of sectors is eight for each track. The sector length (N) indicates the sector length in accordance with a sector length code as shown in Table 1. Bit 7 indicates whether the disk designated as single density or double density. In the present embodiment, each track is configured as single density and has 512 bytes.

TABLE 1 ______________________________________ N 0 1 2 3 4 ______________________________________ SECTOR LENGTH 128 256 512 1024 2048 ______________________________________ N 5 6 7 8 OR LONGER ______________________________________ SECTOR LENGTH 4096 8192 16384 32768 ______________________________________

In FIG. 6, numbers in the leftmost column indicate the top address of the ID information for the respective tracks. As many 4-byte ID information designations for the tracks are provided as are needed to match the number on tracks of virtual floppy disk, and entire track ID information 61 having the same data content as that of last track ID information 60 is stored in the last four bytes of the top 1 KB of memory. The top address (hexadecimal 27C in the present illustration) of last track ID information 60 can be calculated based on entire track ID information 61 using the following relationship:

(C.times.2.times.H).times.4 Top Address.

By letting the cylinder number C=4F and the surface number H=1, the result is:

(4F.times.2+1).times.4=27C.

The translation from a standard disk address to an address on semiconductor auxiliary storage 9 is explained next. Memory space on semiconductor auxiliary storage 9 is allocated as shown in FIG. 7. The ID information shown in FIG. 6 is stored in the top 1 KB of the auxiliary memory and data is stored in subsequently designated areas in order of track number.

The translation of a disk address to an address on semiconductor auxiliary storage 9 by BIOS 43 is carried out in the following manner after verifying that ID information stored in the top 1 KB of semiconductor auxiliary storage 9 memory has been correctly formatted. First, based on parameters Ci and Hi relating to the cylinder number and the surface number, which are portions of the disk address delivered from the software interrupt INT1B.sub.H, the top address of the ID information of the corresponding track is calculated according to the following relationship:

(Ci.times.2+Hi).times.4 Top Address

For example, by setting Ci=1 and Hi=1, which represent the third track the value "DOC" is obtained. Then, based on a parameter Ri relating to the sector number, which is also a portion of the disk address delivered from the software interrupt INT1B.sub.H, the cylinder number (C), the surface number (H), the number of sectors (R) and the sector length (N) are all obtained by accessing the top address of the ID information which is calculated in accordance with the above relationships. An input/output address of semiconductor auxiliary storage 9 corresponding to the disk address is then calculated in accordance with one of the following relationships (1) or (2):

DA400H+{(C.times.2+H).times.R+Ri-1}.times.128.times.2.sup.n (1)

DA400H+(C.times.2+H).times.R.times.128.times.2.sup.N .times.2+(Ri-1).times.128.times.2.sup.N (2)

Formula (1) applies to double density disk while formula (2) applies to single density disks. The single and double density disks can be distinguished using bit 7 of the sector length, as previously described.

In formulas (1) and (2), 400H (where H represents a hexadecimal number) indicates the top 1 KB in which the ID information is stored, (C.times.2+H) indicates the number of tracks positioned before the track in question, based on the assumption that there are two surfaces, (C.times.2+H). R indicates a sum of the number of sectors positioned before the track in question, and 128.times.2.sup.N indicates the sector length in bytes in accordance with Table 1. The difference between relationships (1) and (2) is that the number of sectors (R) for single density is one half that of double density.

In the present embodiment, semiconductor auxiliary storage 9 is employed as a floppy disk. It may also be employed as a hard disk in accordance with the same philosophy. In this latter case, the ID information for a hard disk is written into semiconductor auxiliary storage 9. When an access request to the hard disk is issued for BIOS 43, BIOS 43 accesses semiconductor auxiliary storage 9 to deliver the fetched data to DOS 42 or application software 41 as if it is the requested data from the hard disk.

Semiconductor auxiliary storage 9 is removable through use of connector 25 as explained in connection with FIG. 2. As a result, a semiconductor auxiliary storage of an appropriate capacity may be selectively loaded depending on the specific application. Usually, a hard disk has a larger capacity than a typical floppy disk. Thus, when semiconductor auxiliary storage 9 has a relatively large capacity is employed as a hard disk and when semiconductor auxiliary storage 9 has a relatively small capacity it is employed as a floppy disk. In processing the software interrupt INT1B.sub.H of BIOS 43, whether the semiconductor auxiliary storage is to be treated as a hard or floppy disk is determined by the capacity of semiconductor auxiliary storage 9.

FIG. 8 is a flow chart of steps used in processing software interrupt INT1B.sub.H of BIOS 43. When application software 41 presents a file input/output request to DOS 42, DOS 42 issues the software interrupt INT1B.sub.H to BIOS 43. BIOS 43 determines which device the request was issued from in order to determine whether or not it is to semiconductor auxiliary storage 9 (step 201). If it is not to semiconductor auxiliary storage 9, then normal INT1B.sub.H processing is carried out (step 205) as is known in the art. If the interrupt request it is directed to semiconductor auxiliary storage 9, the capacity thereof is examined to determine if it is less than 1 MB (step 202). If the capacity is less than 1 MB, an input/output process to treat semiconductor auxiliary storage 9 as a floppy disk is carried out (step 203). The step 203 in FIG. 8 corresponds to the process steps designated by dotted line box 110 of FIG. 5. In step 202, if the memory capacity is determined to be more than 1 MB, an input/output process is carried out to treat semiconductor auxiliary storage 9 as a hard disk (step 204).

FIG. 9 is a flow chart of steps used in determining the storage capacity by using the memory type for semiconductor auxiliary storage 9 which is determined in step 202 of FIG. 8. As a preliminary steps to determining the memory type, the flags for indicating the memory type, i.e., a ROM flag and a RAM flag are each cleared to zero (step 301 and 302). Then, a determination or examination is made as to whether or not the RAM contents have been loaded into semiconductor auxiliary storage 9 (step 303). If the RAM has been loaded, the RAM capacity is determined by an erase/write capacity register (step 304), as described in connection with FIG. 3B, and the RAM load flag is also set (step 305). The RAM capacity can be calculated by multiplying the contents of the erase/write capacity register by 64 KB. Then, the memory type register is again examined to determine whether the ROM contents have been loaded into semiconductor auxiliary storage 9 (step 306). If the ROM has been loaded, the capacity of a ROM is determined by the non erase/write capacity register (step 307), as described in connection with FIG. 3C, and a ROM load flag is also set (step 308). In this manner, the capacity for each memory type used in semiconductor auxiliary storage 9 can be ascertained.

When memory circuit 21 of semiconductor auxiliary storage 9 is configured as ROM only memory, it is not possibl