Electrical computers and digital data processing systems: input/ – Intrasystem connection – System configuring
Reexamination Certificate
1999-11-02
2004-11-02
Ray, Gopal C. (Department: 2111)
Electrical computers and digital data processing systems: input/
Intrasystem connection
System configuring
C711S102000, C711S170000, C713S100000
Reexamination Certificate
active
06813663
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention pertains generally to configuration ROM implementations for IEEE Standard 1394 nodes. More particularly, the invention is a method and apparatus for presenting a plurality of link devices as separate nodes within a singe serial bus module by generating individual or a distinct configuration ROM image for each link device in the module.
2. The Prior Art
The Institute of Electrical and Electronics Engineers, Inc. (IEEE) defines the IEEE Standard 1394-1995 serial bus architecture in the document “IEEE Standard for a High Performance Serial Bus” published Aug. 30, 1996 that is incorporated herein by reference. In IEEE 1394, the serial bus architecture is defined in terms of nodes. In general, a node is an addressable entity (i.e., a logical entity with a unique address), which can be independently reset and identified. More than one node may reside on a single module, and more than one unit may reside in a single node.
A module is a physical device, comprising one or more nodes that share a physical interface. The address space provided by a node can be directly mapped to one or more units. A unit is a logical entity, such as a disk controller, which corresponds to unique I/O (input/output) driver software. On a multifunction node, for example, a processor and I/O interfaces could be different units on the same node.
Modules and/or nodes can be “interconnected” with each other using an appropriate physical topology suitable for use with the serial bus, such as a “backplane environment” and/or “cable environment”, for example. These environments are described in further detail in Institute of Electrical and Electronics Engineers (IEEE) Standard 1394-1995 “IEEE Standard for a High Performance Serial Bus” published Aug. 30, 1996. Interconnected nodes may reside in either environment without restriction.
Configuration ROM implementations are well known in the field of serial bus devices and provide the hardware and software specifications of a serial bus node and its associated units. For example in IEEE Standard 1394, two configuration ROM formats are supported: minimal and general. The minimal ROM format provides a 24-bit company identifier. The general ROM format provides additional information in a bus_info_block and a root_directory. Entries within the root_directory may provide information or may provide a pointer to another directory (root-dependent directory and/or unit_directory), which has the same structure as the root_directory. Entries within the root directory may also provide a pointer to a leaf, which contains information. The unit_directories contain information about the units associated with the node, such as their software version number and their location within the address space of the node, for example.
FIG. 1
shows a general ROM implementation format for IEEE Standard 1394. The ROM directory structure is a hierarchy of information blocks, where the blocks higher in the hierarchy point to the blocks beneath them. The location of the initial blocks (inof_length, crc_length, rom_crc_value, bus_info_block, and root_directory) are fixed. The location of the other entries (unit_directories, root and unit leaves) varies according to each vendor, but are specified by entries within the root_directory or its associated directories.
In general, the bus_info_block provides specific information about the node. For example, the bus_info_block may indicate whether the node carries out isochronous data transfers. Additionally, the bus_info_block provides a node_vendor_id field, a chip_id_hi field, and a chip_id_lo field, among other things. Together, the node_vendor_id, chip_id_hi, and chip_id_lo fields form a 64-bit node unique identifier. Other node specific information may be provided in the root_directory and the root leaves of the ROM. Unit specific information is normally provided in the unit_directory and the unit leaves of the ROM. For example, the specification identification and the version number may be provided for a particular protocol in the unit_directory and the unit leaves. IEEE Standard 1394-1995 “IEEE Standard for a High Performance Serial Bus” published Aug. 30, 1996 describes the general ROM format and its associated blocks in further detail and is incorporated herein by reference.
According to the prior art, a serial bus module may include one or more nodes. For example,
FIG. 2
illustrates a typical module device
1
having first and second nodes
2
a
,
2
b
. Nodes
2
a
,
2
b
include respective link layer services (LINK)
3
a
,
3
b
and physical layer services (PHY)
4
a
,
4
b
. Each link device
3
a
,
3
b
includes a respective global unique identifier (GUID)
5
a
,
5
b
to identify each node device
2
a
,
2
b.
Presently, the configuration ROM described above is managed by software operating at the transaction layer
6
in module
1
. However, current transaction layer implementations which support multiple link devices (such as depicted in
FIG. 2
) present a single configuration ROM image
7
for both link devices. As a result, transaction layer software
6
presents nodes
2
a
and
2
b
as the same GUID, which may result in inconsistent information provided to the serial bus
8
.
Other node or module devices (not shown) attached to serial bus
8
may query module
1
to ascertain certain configuration data associated with module
1
. For example, a remote node may query module
1
to ascertain, among other things, the node configuration of module
1
and/or the units presented by the nodes of module
1
. These remote nodes query module
1
using one of various request commands. Some remote nodes request information “by quadlet” and other nodes request information “by block”, for example.
When a request is made by quadlet, the corresponding link devices
3
a
,
3
b
provide the requested data from the hardware registers
9
a
,
9
b
associated with the respective link device
3
a
,
3
b
. In this manner, link device
3
a
provides the requested data from its hardware registers
9
a
, and link device
3
b
provides the requested data from its hardware registers
9
b.
However, when a request is made by block, the requested data is provided from the configuration ROM
7
which is normally managed by the transaction layer software
6
. As noted above, present transaction layer implementations provide a single configuration ROM
7
for multiple link devices
3
a
,
3
b
. Thus the data provided in conjunction with a request by block may be different and inconsistent with that provided had the request been made by quadlet.
Accordingly, there is a need for a method for presenting a plurality of link devices as separate nodes within a single serial bus module by generating an individual or distinct configuration ROM image for each link device in the module so that when a request is made to the module, accurate and consistent data is provided to the requesting device. The present invention satisfies these needs, as well as others, and generally overcomes the deficiencies found in the background art.
BRIEF DESCRIPTION OF THE INVENTION
An object of the invention is to provide a method for supporting multiple link devices in a single module that overcomes the deficiencies of the prior art.
Another object of the invention is to provide a method for presenting a plurality of link devices as separate nodes within a single serial bus by providing an individual configuration ROM for each link device in the module.
Further objects and advantages of the invention will be brought out in the following portions of the specification, wherein the detailed description is for the purpose of fully disclosing the preferred embodiment of the invention without placing limitations thereon.
The present invention is a method and apparatus embodied in transaction layer software suitable for use with serial bus devices, such as IEEE standard 1394 serial bus devices. The invention further relates to machine readable media on which are stored embodiments of the present invention. It is contemplated that an
Apple Computer Inc.
Ray Gopal C.
Sierra Patent Group Ltd.
LandOfFree
Method and apparatus for supporting and presenting multiple... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for supporting and presenting multiple..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for supporting and presenting multiple... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3338460