CN102222054A - Data transmission device, method and controller - Google Patents

Data transmission device, method and controller Download PDF

Info

Publication number
CN102222054A
CN102222054A CN2010101530276A CN201010153027A CN102222054A CN 102222054 A CN102222054 A CN 102222054A CN 2010101530276 A CN2010101530276 A CN 2010101530276A CN 201010153027 A CN201010153027 A CN 201010153027A CN 102222054 A CN102222054 A CN 102222054A
Authority
CN
China
Prior art keywords
data
driving
storage medium
mode
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2010101530276A
Other languages
Chinese (zh)
Inventor
余晓光
姚炜
赵红晓
任立
方任
陶亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maishi Electronic Shanghai Ltd
Original Assignee
O2Micro China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by O2Micro China Co Ltd filed Critical O2Micro China Co Ltd
Priority to CN2010101530276A priority Critical patent/CN102222054A/en
Priority to US12/784,179 priority patent/US8527667B2/en
Publication of CN102222054A publication Critical patent/CN102222054A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

The invention provides a data transmission device comprising at least a slot, a computer readable medium and a controller. The slot can be connected with memory mediums of different types. The computer readable medium is used for storing a computer executable universal driver and a computer executable dedicated driver, wherein the universal driver is associated with a first operating mode and compatible with each type of memory medium of the memory mediums of different types; and the dedicated driver is associated with a second operating mode and only compatible with partial types of the memory mediums of different types. The controller is used for selecting the driver from the universal driver and the dedicated driver when the memory medium is inserted into the slot, and operating in the corresponding operating mode based on the selected driver in order to exchange data information with the memory medium. In the data transmission device provided the invention, a Compact Flash (CF) card is capable of sharing the slot for a 16-bit Portable Computer (PC) card, and the controller selects the dedicated driver and thereby operates for data transmission in a Direct Memory Access (DMA) mode rather than a Programming Input/Output (PIO) mode, therefore, the data transmission rate is increased and the efficiency of a data transmission system is improved.

Description

Data transmission device, method and controller
Technical field
The present invention relates to a kind of electronic equipment, particularly relate to a kind of data transmission device, method and controller.
Background technology
(CompactFlash card, CF) card is the mass-memory unit that meets the flash memory standard to compact flash.Flash memory association (CompactFlash Association) has developed the CF standard, and has issued the flash memory standard of CF+ (CompactFlash+) and CF4 (CompactFlash Specification Revision 4.0) in succession.Early stage CF card is common data storage device.At present, according to concrete application scenario, CF+ and CF4 card extend to and comprise I/O (input/output, I/O) equipment or data in magnetic disk storage.CF+ and CF4 card are than the early stage higher message transmission rate of CF card support.
Early stage CF card may only be operated in PC Card ATA (Advanced Technology Attachment) and use memory mode.CF4 card and CF+ card can be operated in PCMCIA (Personal Computer MemoryCard International Association) pattern, and this pattern comprises that PC Card ATA uses I/O interface modes and PCCard ATA to use memory mode.The CF4 card can also be operated in True IDE (Integrated DevelopmentEnvironment) pattern, and the CF+ card also can be operated in True IDE pattern.Under each pattern, according to corresponding read/write sequential periodic transfer data.So the message transmission rate that is operated in CF, the CF+ of different mode and CF4 card may be different.
Usually, controller is used for main control system (for example, computing machine) and data transfer between storage devices.Controller generally is set to the pattern preset, thereby communicates according to default message transmission rate and memory storage.Yet,, may reduce the effect of data transmission because CF card, CF+ card and CF4 card are supported different message transmission rates.For example, use memory mode, be operated in message transmission rate that PC Card ATA uses the CF+/CF4 card of memory mode and may be lower than the CF+/CF4 card that is operated in True IDE pattern if controller is set to PC Card ATA.
The PCMCIA standard is widely used in multiple main process equipment, for example, and digital camera, digital music broadcasting machine, portable computer etc.The PCMCIA standard definition pcmcia card or be called the PC card, be used for the extension storage space, and support input and output (input/output, I/O).Type according to pcmcia bus, the PC card (for example can comprise 16 PC cards, random access memory (random access memory, RAM) and flash memory (flash memory)) and 32 PC cards (for example, CardBus PC card, as: modulator-demodular unit (modem), network interface card or TV card etc.).For example, 16 PC cards adopt 16 pcmcia bus transmission data, and 32 PC cards adopt 32 pcmcia bus transmission data.
True IDE pattern comprises input and output able to programme (programmed input and output, PIO) pattern and direct memory access (DMA) (direct memory access, DMA) pattern.16 PC cards are only supported the PIO pattern.The operating system of main process equipment (for example: WINDOWS) can provide common apparatus to drive, in order to drive 16 PC cards.For example, common apparatus drives and can make it be operated in the PIO pattern by driving host equipment.In the PIO pattern, and CPU (central processing unit) (central processing unit, CPU) execution command, with visit I/O address space, thus the data transmission between realization and the PC card.Under the PIO pattern, CPU may be occupied in the whole running time that reads or writes.
CF card (for example: CF+ and CF4 card) also is a kind of 16 mass storages.Special-purpose card reader (for example: USB card reader or 1394 card reader) can link CF receives main process equipment.The CF card is supported PIO pattern and DMA pattern.Under the DMA pattern, card reader is transmitted data between the storer of CF card and main process equipment, and does not take the processor time.Therefore, can carry out simultaneously by the arithmetic operation of CPU execution with by the data transmission that card reader is carried out.Thus, the DMA pattern has higher message transmission rate than PIO pattern.
If special-purpose card reader is unavailable, the CF card then inserts pc card slot by plug adapter or versatile card reader.That is to say, 16 PC cards and CF card can share on the main process equipment identical slot (for example: the double interface of 64 pins).In this case, the CF card can be used as 16 PC cards.For example, the common apparatus of operating system drives and can make the CF card be operated in the PIO pattern and the non-DMA pattern.Thus, reduce the message transmission rate of CF card, and reduced the efficient of main process equipment.
Summary of the invention
The technical problem to be solved in the present invention is to provide a kind of data transmission device, method and controller, to improve the speed and the efficient of data transmission.
For solving the problems of the technologies described above, the invention provides a kind of data transmission device, described data transmission device comprises slot, computer-readable medium and controller at least; Described slot can be connected with dissimilar storage mediums; Computer-readable medium is used for executable general driving of storage computation machine and executable special-purpose driving of computing machine, wherein, described general driving is relevant with first mode of operation, and it is all compatible with each storage medium in the described dissimilar storage medium, described special-purpose drive relevant with second mode of operation, and only with described dissimilar storage medium in the part type compatibility; Described controller is coupled in described slot and described computer-readable medium, be used for when storage medium inserts described slot, from described general driving and described special-purpose the driving, select one, and be operated in corresponding mode of operation according to described selected driving, with described storage medium exchange data information, wherein, if described storage medium is one type in the described part type, described selected driving comprises described special-purpose the driving, otherwise described selected driving comprises described general driving.
The present invention also provides a kind of data transmission method, the method of described data transmission comprises at least: load the computing machine executable general driving relevant with first mode of operation, the each type of described general driving and polytype storage medium is all compatible, and universal slot can connect described polytype storage medium; Load executable special-purpose driving of the computing machine relevant with second mode of operation, described special-purpose only drive with described polytype storage medium in the part type compatibility; When described storage medium inserts described slot, from described general driving and described special-purpose the driving, select a selected driving; And be operated in corresponding mode of operation according to described selected driving, with the storage medium exchange data information, wherein, if described storage medium is one type of described part type, described selected driving comprises described special-purpose the driving, otherwise described selected driving comprises described general driving.
The present invention provides a kind of controller again, described controller is coupled in slot, described controller is used to transmit the data message between main frame and the described slot, and described slot can connect polytype storage medium, and described controller comprises general purpose core, specific core and MUX at least.Described general purpose core can work in first mode of operation according to the steering order from the executable general driving of computing machine, and to transmit described data message, the each type of described first mode of operation and described polytype storage medium is all compatible; Described specific core can be according to working in second mode of operation from the executable special-purpose steering order that drives of computing machine, transmitting described data message, described second mode of operation only with the part type compatibility of described polytype storage medium; Described MUX is coupled in general purpose core and specific core, is used for selecting a selected nuclear according to the data set that is coupled in the register of described MUX from described general purpose core and described specific core, to transmit described data message; Wherein, if described storage medium is one type in the described part type, described selected nuclear comprises described specific core, otherwise described selected nuclear comprises described general purpose core.
Compared with prior art, in data transmission system of the present invention, the CF card can be shared the slot of 16 PC cards, and controller selects special-purpose the driving automatically, and therefore is operated in the DMA pattern but not the PIO pattern is carried out data transmission.Therefore, improved the efficient of message transmission rate and data transmission system.
Below in conjunction with the drawings and specific embodiments technical scheme of the present invention is described in detail, so that characteristic of the present invention and advantage are more obvious.
Description of drawings
Fig. 1 is the structural drawing of data transmission system according to an embodiment of the invention;
Fig. 2 is another structural drawing of data transmission system according to an embodiment of the invention;
Fig. 3 is another structural drawing of data transmission system according to an embodiment of the invention;
Fig. 4 is the process flow diagram of the method for control data transmission according to an embodiment of the invention;
Figure 5 shows that another structural drawing of data transmission system according to an embodiment of the invention;
Figure 6 shows that the structural drawing of controller and interface according to an embodiment of the invention;
Figure 7 shows that the operational flowchart of data transmission system according to an embodiment of the invention;
Figure 8 shows that another operational flowchart of data transmission system according to an embodiment of the invention;
Figure 9 shows that another operational flowchart of data transmission system according to an embodiment of the invention.
Embodiment
Below will provide detailed explanation to embodiments of the invention.Although the present invention will set forth and illustrates in conjunction with some embodiments, it should be noted that the present invention not merely is confined to these embodiments.On the contrary, the modification that the present invention is carried out or be equal to replacement all should be encompassed in the middle of the claim scope of the present invention.
In addition, for better explanation the present invention, provided numerous details in the embodiment hereinafter.It will be understood by those skilled in the art that does not have these details, and the present invention can implement equally.In the other example, method, flow process, element and the circuit known for everybody are not described in detail, so that highlight purport of the present invention.
Embodiments of the invention provide a kind of data transmission system.This data transmission system comprises slot, controller and computer-readable medium.Slot can connect dissimilar storage medium (for example: CF card and 16 PC cards).(for example: the PIO pattern) relevant general driving, the each type in described general driving and the described dissimilar storage medium is all compatible for computer-readable medium stores and first mode of operation.Computer-readable medium also store with second mode of operation (for example: the DMA pattern) relevant special use drives, described special-purpose only drive with described dissimilar storage medium in the part type compatibility.When a storage medium inserted this slot, controller was selected a selected driving from general driving and special-purpose the driving, and is operated in corresponding mode of operation according to selected driving, with transmitting data information.
Advantage is, when storage medium was this part type a kind of, described selected driving comprised special-purpose the driving, otherwise selected driving comprises general driving.For example, if storage medium is the CF card, then selects special-purpose the driving, thereby make controller be operated in the DMA pattern but not the PIO pattern, to carry out data transmission.Therefore, improved the efficient of message transmission rate and data transmission system.
Fig. 1 is a data transmission system 100 according to an embodiment of the invention.In the embodiment in figure 1, data transmission system 100 comprises main frame 102, interface 120, controller 140 and client.In one embodiment, client comprises storage medium 106.Storage medium 106 can include but are not limited to CF+ card or CF4 card.Controller 140 and interface 120 transmit data between main frame 102 and storage medium 106.Interface 120 can include but are not limited to peripheral component interconnection (peripheral component interconnect, PCI) interface, PCI-X (PCIextended) interface or PCIe (PCI express) interface.Main frame 102 can be electronic equipment or system, for example, computing machine, personal digital assistant (personal digital assistance, PDA), mobile phone etc.Main frame 102 can write storage medium 106 from storage medium 106 sense datas or with data.
Interface 120 is as I/O interface between main frame 102 and the controller 140.Information transmitted can comprise data message and control information between main frame 102 and controller 140.In one embodiment, main frame 102 is operated in major state, initiates data transmission.In this case, main frame 102 sends control information to controller 140.Before transmitting data information, control information can make main frame 102 and controller 140 shake hands.Control information can definition of data the feature of transmission, for example, data write storage medium 106 or read from storage medium 106.For example, data message can transfer to controller 140 from main frame 102 in write operation, also can transfer to main frame 102 by slave controller 140 in read operation.Control information can also be represented the state of data transmission, for example, and the beginning of data transmission.In one embodiment, storage medium 106 can be operated in major state, initiates data transmission, and in this case, storage medium 106 sends control information to controller 140.
In one embodiment, the information that interface 120 is analyzed from main frame 102 is data message or control information with what judge main frame 102 transmission.According to main frame 102 information transmitted types, interface 120 is selected data channel 174 or control channel 176 transmission information accordingly.If main frame 102 transmission is data message, this data message can transfer to controller 140 by data channel 174.If main frame 102 transmission is control information, this control information can transfer to controller 140 by control channel 176.In addition, the interface 120 in the future data message of self-controller 140 is packaged into the readable data of main frame 102, and transmits these data to main frame 102.
Controller 140 can be between interface 120 and storage medium 106 transmitting data information.Advantage is that the controller 140 that is coupling between interface 120 and the storage medium 106 can be operated in a plurality of mode of operations, with the data transmission of 106 of main control system 102 and storage mediums.In one embodiment, have at least the data read/write sequential cycle of two mode of operations different.Reading the sequential cycle is the time that needs between a read operation and the next read operation.Writing the sequential cycle is the time that needs between a write operation and the next write operation.So, have at least the message transmission rate of two mode of operations different.In one embodiment, a plurality of mode of operations include but are not limited to PCMCIA pattern and True IDE pattern.In the PCMCIA pattern, according to the corresponding read/write sequential transmission of PCMCIA standard data.In True IDE pattern, according to the corresponding read/write sequential transmission of True IDE standard data.
Advantage is that controller 140 can be selected a kind of mode of operation according to the type of storage medium 106 from a plurality of mode of operations.Because the data-transmission mode difference that dissimilar storage medium 106 may be supported, thus controller 140 can according to and the pattern of storage medium 106 compatibilities between main frame 102 and storage medium 106, transmit data.For example, if storage medium 106 is CF+ card or CF4 card, then controller 140 is selected PCMCIA pattern or TrueIDE pattern.In other words, controller 140 can be general purpose controller, and according to the suitable mode of operation of the type selecting of storage medium 106.Controller 140 can be operated in the mode of operation of selection, thereby according to corresponding data read/write sequential cycle of this mode of operation and corresponding message transmission rate, transmits data between interface 120 and storage medium 106.In one embodiment, if in a plurality of mode of operations, have more than a mode of operation and storage medium 106 compatibilities, controller 140 can select to provide the pattern of desired data transmission performance, and for example, the pattern of supporting the higher data transfer rate is as mode of operation.
In addition, in one embodiment, the mode of operation that controller 140 is selected comprises a plurality of sub-mode of operations.Controller 140 is selected a seed mode of operation based on the preset working standard from a plurality of sub-mode of operations.For example, the PCMCIA pattern comprises a plurality of sub-mode of operations, and for example, PC card ATA uses input and output mode and PC card ATA to use memory mode.When controller 140 was operated in PC card ATA use input and output mode or PC card ATA use memory mode, storage medium 106 used different signal and controller 140 communications.For example, when storage medium 106 is CF+ or CF4 card, and when controller 140 was operated in PC card ATA and uses input and output mode, storage medium 106 used the signal (not shown) and controller 140 communications of its pins 34 and pin 35.In one embodiment, the IORD signal that controller 140 uses pin 34 is from storage medium 106 read output signals, and the IOWR signal of use pin 35 will write storage medium 106 from the data of main frame 102.Yet, when being operated in PC card ATA, controller 140 uses memory mode, and in one embodiment, the signal of pin 34 and pin 35 is not used in the communication between storage medium 106 and the controller 140.When storage medium 106 is CF+ or CF4 card, and use memory mode when controller 140 is operated in PC card ATA, storage medium 106 uses the signal (not shown) and controller 140 communications of its pins 9 and pin 36.In one embodiment, the OE signal that controller 140 uses pin 9 uses the WE signal of pin 36 will write storage medium 106 from the data of main frame 102 from storage medium 106 read output signals.Yet, when controller 140 is operated in PC card ATA use input and output mode, controller 140 uses the configuration register sense data of the OE signal of pin 9 from storage medium 106, uses the WE signal of pin 36 data to be write the configuration register of storage medium 106.
True IDE pattern can comprise a plurality of sub-mode of operations, for example, I/O (programmedI/O able to programme, PIO) pattern, multiword direct memory visit (multiword direct memory access, MDMA) pattern and the visit of hypervelocity direct memory (ultra direct memory access, UDMA) pattern.Give an example, when storage medium 106 is CF+ or CF4 card, and when controller 140 was operated in the PIO pattern, the data of every transmission 512 bits between main frame 102 and storage medium 106 needed an interruption.When controller 140 is operated in the MDMA pattern, need not any interruption and once transmitted all data.When controller 140 was operated in the UDMA pattern, storage medium 106 was operated in major state, for example, storage medium 106 initiate a secondary data from storage medium 106 to main frame 102 data transmission.In this embodiment, storage medium 106 sends control information, and for example, DMA asks to controller 140, to initiate data transmission.The PIO pattern can comprise a plurality of PIO patterns, and a plurality of PIO pattern has the different read/write sequential cycles.Similarly, the MDMA pattern can comprise a plurality of MDMA patterns, and a plurality of MDMA patterns have the different read/write sequential cycles; The UDMA pattern can comprise a plurality of UDMA patterns, and a plurality of UDMA patterns have the different read/write sequential cycles.Controller 140 can be selected a seed mode of operation based on default working stamndard from a plurality of sub-mode of operations.
In one embodiment, default working stamndard is the message transmission rate standard.Controller 140 chooser mode of operations, to obtain the desired data transfer rate of data transmission between interface 120 and the storage medium 106, for example, high data rate.In another embodiment, default working stamndard is a priority criteria.Controller 140 can the judgment data transmission requirement priority, and, select described sub-mode of operation according to the priority that data transmission between interface 120 and the storage medium 106 requires.For example, in data transmission system 100, the data transmission of transmission data requires to require with other (for example, interrupt request) coexistence between main frame 102 and the storage medium 106.If the priority that the data transmission of transmission data requires between main frame 102 and the storage medium 106 is higher, then mode selection module 130 selects to support that the pattern of high data rate is sub-mode of operation; If the priority that the data transmission of transmission data requires between main frame 102 and the storage medium 106 is lower, mode selection module 130 selects to support that the pattern of low message transmission rate is sub-mode of operation.In one embodiment, mode selection module 130 is carried out one section computer executable program, to select mode of operation and/or sub-mode of operation.
In the embodiment in figure 1, controller 140 comprises data buffer 142, register 144, mode selection module 130, MUX 152 and core module 160.Data buffer 142 can cushion the data message from interface 120, and provides this data message to core module 160.Data buffer 142 also can cushion the data message from core module 160, and provides this data message to interface 120.When main frame 102 was operated in major state, register 144 storages were from the control information of interface 120; When storage medium 106 was operated in major state, register 144 storages were from the control information of storage medium 106.Register 144 all right memory module data, this mode data is represented a plurality of mode of operations and a plurality of sub-mode of operation of controller 140.Mode selection module 130 can be visited aforesaid mode data, for controller 140 is selected mode of operation and/or sub-mode of operation.In one embodiment, register 144 also storage representation transmits the data of whether finishing, and main frame 102 can be visited these data.In this case, core module 160 produces the data whether the expression transmission is finished.In another embodiment, main frame 102 voluntarily judgment data transmission whether finish.
Core module 160 is coupled to data buffer 142, can comprise a plurality of nuclears.Each is endorsed to be operated in corresponding work mode and storage medium 106 communications.In one embodiment, each nuclear is a microcontroller, its according to the read/write timing sequence generating signal (for example, read/write signal) of corresponding work mode to carry out data transmission.Storage medium 106 receives the signal that nuclear produces, and makes corresponding reaction.For example, if main frame 102 is initiated a data transfer data are write storage medium 106, endorse accordingly to produce write signal according to control information from main frame 102.Correspondingly, storage medium 106 receptions are from the data message of main frame 102.If main frame 102 is initiated a data transfer with from storage medium 106 sense datas, examine accordingly according to control information and produce read signal from main frame 102.Correspondingly, storage medium 106 transmits/provides data message to main frame 102.In one embodiment, if selected a mode of operation, then can start corresponding nuclear, with storage medium 106 communications according to this mode of operation.Data can be transmitted between main frame 102 and storage medium 106 by the nuclear that starts.
In one embodiment, before mode selection module 130 was selected mode of operation, controller 140 was operated in default mode, and the default nuclear that can be operated in this default mode is used to and storage medium 106 communications.
According to the type of storage medium 106, mode selection module 130 can be selected a kind of mode of operation from a plurality of mode of operations, and can select a sub-mode of operation from a plurality of sub-mode of operations according to the preset working standard.Or rather, mode selection module 130 can be represented a plurality of mode of operations of controller 140 and the data of sub-mode of operation in the access register 144.Mode selection module 130 can detection of stored medium 106 type and the mode of operation that storage medium 106 is supported.In one embodiment, mode selection module 130 can send recognition command to register 144 to require the identifying information of storage medium 106.Default nuclear monitoring register 144 in the core module 160, and correspondingly produce the signal that requires storage medium 106 identifying informations.As response, storage medium 106 by default authorize send the expression type of storage medium 106 and its mode of operation of supporting data to register 144.Like this, mode selection module 130 just can access register 144 in the identifying information of storage medium 106.Mode selection module 130 is from the mode of operation of a plurality of mode of operations selections with storage medium 106 compatibilities.In one embodiment, if having in a plurality of patterns more than a mode of operation and storage medium 106 compatibilities, mode selection module 130 can select to provide the mode of operation of desired data transmission performance, for example, supports the mode of operation of higher data transmission rate.If the mode of operation of selecting comprises a plurality of sub-mode of operations, mode selection module 130 can also be selected a seed mode of operation further according to the preset working standard from corresponding a plurality of sub-mode of operations.
In case select mode of operation, mode of operation or the sub-mode of operation of mode selection module 130 Configuration Control Units 140 to be operated in selection.In one embodiment, mode selection module 130 writes register 144 with Configuration Control Unit 140 by the mode of operation that will represent to select or the data of sub-mode of operation.
MUX 152 is coupled to register 144 and core module 160, according to the mode of operation of expression selection in the register 144 or the data of sub-mode of operation, enables a nuclear in the core module 160.As a result, the nuclear that is enabled is according to the message transmission rate and storage medium 106 communications of selected mode of operation or sub-mode of operation, and for example, transmitting data information is to storage medium 106.
At this, being that example describes with data transmission to storage medium 106 from main frame 102.In one embodiment, by interface 120 and control channel 176, main frame 102 at first control information transmission to controller 140, to initiate from main frame 102 to storage medium 106 data transmission.When register 144 receives this control information, mode selection module 130 starts to select a kind of mode of operation.Mode selection module 130 can be selected mode of operation, and further chooser mode of operation.Like this, mode selection module 130 is provided with mode of operation and the sub-mode of operation that controller 140 is operated in selection.According to mode of operation and the sub-mode of operation that mode selection module 130 is selected, MUX 152 start in the core modules 160 a nuclear with storage medium 106 communications.By interface 120 and data channel 174, main frame 102 transmitting data informations are to data buffer 142.Data buffer 142 can provide the nuclear that is activated of data message to the core module 160.Like this, data message is transferred into storage medium 106.In one embodiment, main frame 102 can access register 144 to learn whether data transmission is finished.
At this, be that example describes so that data are transferred to main frame 102 from storage medium 106 again.In one embodiment, by interface 120 and control channel 176, main frame 102 at first sends control information to controller 140, with request from storage medium 106 to main frame 102 data transmission.After mode selection module 130 is selected mode of operation and sub-mode of operation, and controller 140 is set after this mode of operation and sub-mode of operation, MUX 152 starts nuclear and storage medium 106 communications in the core modules 160.Like this, data can transfer to core module 160 from storage medium 106.By data buffer 142 and data channel 174, data can be transferred into main frame 102.In one embodiment, main frame 102 can access register 144 to learn whether data transmission is finished.
As mentioned above, main frame 102 is operated in major state, to initiate data transmission.In another embodiment, storage medium 106 is operated in major state, to initiate data transmission.In another embodiment, select module 130, select mode of operation by main frame 102 start-up mode.Give an example, when storage medium 106 is CF+ or CF4 card, mode selection module 130 selects True IDE patterns as mode of operation, and further selects the UDMA pattern as sub-mode of operation.Like this, mode selection module 130 is provided with controller 140 and is the UDMA pattern.MUX 152 start nuclear that in the core modules 160 one can be operated in the UDMA pattern with storage medium 106 communications.In the UDMA pattern, storage medium 106 is operated in major state, to initiate the data transmission between storage medium 106 and the main frame 102.
More particularly, in one embodiment, storage medium 106 sends control information to controller 140 to initiate data transmission.The nuclear analysis that is activated in the core module 160 is from the information of storage medium 106, and what judge storage medium 106 transmissions is data message or control information.If what storage medium 106 sent is control information, then core module 160 analysis and Control information are read operation (from main frame 102 sense datas) or write operation (data are write main frame 102) with what judge whether storage medium 106 initiations.If what storage medium 106 sent is data message, then controller 140 is through data channel 174 transmission data.If storage medium 106 is initiated one data are write the data transmission of main frame 102, the nuclear that then is activated produces read signal according to the control information from storage medium 106.Correspondingly, main frame 102 receives from the data message of storage medium 106 by data channel 174 transmission.If storage medium 106 is initiated the data transmission from main frame 102 sense datas, the nuclear that then is activated produces write signal according to the control information from storage medium 106.Correspondingly, main frame 102 transmits/provides data message to storage medium 106 by data channel 174.
In sum, controller 140 can be according to the type selecting mode of operation of storage medium 106.In addition, controller 140 can be according to the preset working standard, the chooser mode of operation.Advantageously, controller 140 can be according to dissimilar storage medium 106, under different working stamndards, and control data transmission.
In one embodiment, before storage medium 106 is coupled to controller 140, controller 140 can be set be default mode.In one embodiment, the relative higher data transfer rate of default mode support.After storage medium 106 is coupled to controller 140, mode selection module 130 judge default mode whether with storage medium 106 compatibilities.If default mode and storage medium 106 compatibilities, 140 of controllers are operated in default mode and storage medium 106 communications.Like this, can obtain the higher data transfer rate.If default mode and storage medium 106 are incompatible, then mode selection module 130 is selected other pattern.
Fig. 2 is a data transmission system 200 according to an embodiment of the invention.Has identical functions with Fig. 1 label components identical among Fig. 2.In the embodiment of Fig. 2, data transmission system 200 comprises main frame 102, PCIe interface 120, controller 140 and storage medium 106.Storage medium 106 can for but be not limited only to CF+ card or CF4 card.Controller 140 and PCIe interface 120 can transmit data between main frame 102 and storage medium 106.
It is mutual that PCIe interface 120 plays I/O, transmits data between main frame 102 and controller 140.PCIe is the standard with computer interactive of higher data transfer rate.For example, PCIe connects the bandwidth can support up to 32 passages and provide effective folk prescription on single channel about 2.5G/ second.Like this, PCIe provides than PCI and the high performance of PCI-X.In addition, PCIe supports hot plug.In the embodiment of Fig. 2, PCIe interface 120 comprises PCIe Physical layer 222 and PCIe core layer 224.If main frame 102 sends serial signals to PCIe interface 120, then PCIe Physical layer 222 is converted into parallel signal with serial signal, and this parallel signal PCIe core layer 224 is provided.It is data message or control information with what judge main frame 102 transmission that PCIe core layer 224 is resolved parallel signal.PCIe core layer 224 by data channel 174 transmitting data informations to controller 140, by control channel 176 control information transmissions to controller 140.Like this, can deliver to controller 140 by PCIe interface 120 from the information of main frame 102.
Similarly, if controller 140 transmitting data informations are to PCIe interface 120, PCIe core layer 224 packing data information then, and provide this parallel data message to PCIe Physical layer 222.PCIe Physical layer 222 transforms parallel data to serial information, and transmits this serial information to main frame 102.Like this, PCIe interface 120 can transmitting data information to main frame 102.
Controller 140 can with storage medium 106 communications, between PCIe interface 120 and storage medium 106, to transmit data.In the embodiment of Fig. 2, controller 140 comprises data buffer 142, register 144, mode selection module 130, MUX 152 and core module 160.In one embodiment, core module 160 comprises PCMCIA nuclear 246 and True IDE nuclear 248, and wherein PCMCIA nuclear 246 is operated in the PCMCIA pattern, and True IDE nuclear 248 is operated in True IDE pattern.
According to the type of storage medium 106, mode selection module 130 is selected mode of operation from PCMCIA pattern and True IDE pattern.In addition, if the mode of operation of selecting comprises a plurality of sub-mode of operations,, select a seed mode of operation in a plurality of sub-mode of operation of mode selection module 130 from the mode of operation of selecting then according to the preset working standard.
In the embodiment of Fig. 2, mode selection module 130 comprises microprocessing unit (micro controller unit, MCU) 234 and firmware 236.The executable program of firmware 236 storage computation machines, microprocessing unit 234 can be carried out the computer executable program in the firmware 236, and then selects mode of operation/sub-mode of operation.Microprocessing unit 234 reads in the register 144 the mode of operation that expression controller 140 supported and/or the mode data of sub-mode of operation.Microprocessing unit 234 sends recognition instruction (for example, if storage medium 106 is the CF4 card, then the recognition instruction of Fa Songing is the identification equipment order, Identify Device), with type and its mode of operation of being supported of detection of stored medium 106.After selecting mode of operation and/or sub-mode of operation, microprocessing unit 234 (for example sends configuration-direct, if storage medium 106 is the CF4 card, then this configuration-direct can be characteristic commands is set, Set Feature), register in the configuration store medium 106 is selected mode of operation and/or sub-mode of operation so that storage medium 106 to be set, and write register 144 configuration registers 144 by the data that will represent selected mode of operation and/or sub-mode of operation, be selected mode of operation and/or sub-mode of operation so that controller 140 to be set.
According to the data of the selected mode of operation of expression in the register 144, MUX 152 starts in PCMCIA nuclear 246 and the True IDE nuclear 248.Like this, according to selected mode of operation and/or the corresponding message transmission rate of subpattern, be activated endorse with storage medium 106 communications.In another embodiment, be operated in the nuclear and storage medium 106 communications of PCMCIA pattern or True IDE pattern, thereby realize the data transmission of main frame 102 and storage medium 106.
So controller 140 can be according to different storage medium 106 control data transmission under different working stamndards.In addition, by PCIe interface 120, storage medium 106 can be with higher performance and host computer system communication.Like this, the performance of data transmission further improves.In addition, because PCIe interface 120 is supported hot plug, so controller 140 is also supported hot plug.
In one embodiment, before storage medium 106 was coupled to controller 140, controller 140 was set to default mode.In one embodiment, default mode is a True IDE pattern.After storage medium 106 is coupled to controller 140, mode selection module 130 (for example sends a recognition instruction, if storage medium 106 is the CF4 card, then this recognition instruction can be the identification equipment order) to storage medium 106, with judge default mode whether with storage medium 106 compatibilities.If default mode and storage medium 106 compatibilities, microprocessing unit 234 send configuration-direct (for example, if storage medium 106 is the CF4 card, then this configuration-direct can be characteristic commands is set) so that storage medium 106 to TrueIDE patterns to be set.
Fig. 3 is a data transmission system 300 according to another embodiment of the invention.Has identical functions with Fig. 2 label components identical among Fig. 3.
In the embodiments of figure 3, mode selection module 130 is located at outside the controller 140.Mode selection module 130 comprises driving 336, and described driving 336 can be the device that is used to select the executable program of computing machine of mode of operation and sub-mode of operation or can selects mode of operation and sub-mode of operation.In one embodiment, the signal processor of main frame 102 (not showing among the figure) is by the function of execution/controlling and driving 336 with the implementation pattern selection.
Fig. 4 is the process flow diagram 400 of the method for control data transmission according to an embodiment of the invention.Fig. 4 will describe in conjunction with Fig. 1.
In step 402, the type of detection of stored medium 106 and its mode of operation of supporting.In step 404,, from a plurality of mode of operations, select a kind of mode of operation according to the type of storage medium 106.For example, a plurality of mode of operations that expression controller 140 is supported in 130 access register 144 of the mode selection module in the controller 140 and the data of sub-mode of operation.Mode selection module 130 is selected from a plurality of mode of operations and the mode of operation of storage medium 106 compatibilities.
In step 406,, from a plurality of sub-mode of operations, select a seed mode of operation according to default working stamndard.In one embodiment, selected mode of operation may comprise a plurality of sub-mode of operations.In this case, according to default working stamndard, mode selection module 130 can also be selected a seed mode of operation from corresponding a plurality of sub-mode of operations, for example, and message transmission rate standard or priority criteria.
In step 408, enable controller 140 and be operated in selected mode of operation and/or sub-mode of operation.Mode selection module 130 can configuration register 144 be mode of operation and/or sub-mode of operation so that controller 140 to be set.In one embodiment, mode selection module 130 can write register 144 with the data of selected mode of operation of expression and/or sub-mode of operation, is selected mode of operation and/or sub-mode of operation so that controller 140 to be set.
In step 410, controller 140 transmits data according to the transfer rate and the read/write sequential cycle of selected mode of operation between storage medium 106 and main frame 102.According to the data of selected mode of operation of expression and/or sub-mode of operation in the register 144, the nuclear that MUX 152 starts in the core module 160.Like this, according to the transfer rate and the read/write sequential cycle of the mode of operation of selecting, nuclear that is activated and storage medium 106 communications, and then and storage medium 106 swap datas.
Figure 5 shows that another structural drawing of data transmission system 500 according to an embodiment of the invention.Fig. 5 will be described in conjunction with Fig. 1.Has identical functions with Fig. 1 label components identical among Fig. 5.
In the embodiment of Fig. 5, data transmission system 500 comprises main frame 102, interface 120, controller 540, universal slot 526 and storage medium 106.In one embodiment, storage medium 106 is including, but not limited to 16 PC cards or CF card.16 PC cards and CF card are all supported the transmission of 16 bit data.Main frame 102 writes data message by interface 120, controller 540 and universal slot 526 from storage medium 106 read data information or to storage medium 106.
In one embodiment, main frame 102 comprises bus 562, processor 564, host interface 566 and storer 568.Storer 568 can be but is not limited to random access storage device (random access memory, RAM), ROM (read-only memory) (read only memory, ROM), electricallyerasable ROM (EEROM) (electrically erasableprogrammable read-only memory, EEPROM) or flash memory (flash memory).Storer 568 can be stored data and computer-executable program instructions.Processor 564 can be central processing unit (central processing unit, CPU), microprocessor or other can read and the equipment of execution of program instructions.
In one embodiment, operating system (for example: MICROSOFT WINDOWS) be installed in the storer 568 of main frame 102.Operating system provides the registration table with service groups order (service-group-order) file.The service groups sequential file is listed a plurality of service groups by preset order.When main frame 102 started, processor 564 loaded corresponding program by the preset order in the service groups sequential file.For carrying out specific program, processor 564 calls relevant programmed instruction, and sends corresponding control command to relevant hardware element, controls it and carries out these instructions.Host interface 566 comprises the interface of serial line interface, parallel interface or other types, is used to receive or send electric signal, electromagnetic signal or the light signal that carries digital data stream.For example, host interface 566 links to each other with controller 540, with data information and control information.Communication between the hardware element of main frame 102 (for example: processor 564, host interface 566 and storer 568) is set up by bus 562.Main frame 102 can comprise other elements, and is not limited to the embodiment of Fig. 5.
Interface 120 is coupled between main frame 102 and the controller 540, as input and output (input/output, I/O) passage between main frame 102 and the controller 540.The data message that controller 540 transmits between main frame 102 and the storage medium 106.In one embodiment, universal slot 526 can connect dissimilar storage mediums.For example, universal slot 526 can be the double interface of 68 pins, and therefore, 16 PC cards and CF card all can insert universal slot 526.
Similar with the controller 140 among Fig. 1, controller 540 can be operated in multiple mode of operation, with the data transmission between main control system 102 and the controller 540.Different mode of operations has the different data read/write sequential cycles.In one embodiment, because 16 PC cards and CF card are all supported the read/write clock of True IDE standard, controller 540 can be operated in a plurality of sub-mode of operation under the True IDE pattern.Therefore, the mode of operation of controller 540 can comprise input and output able to programme (programmed input and output, PIO) pattern and direct memory access (DMA) (direct memory access, DMA) pattern.In one embodiment, 16 PC cards and CF card all can be according to the read/write sequential workings of PIO standard definition, yet only have the CF card can be according to the read/write sequential working of DMA standard definition.In this embodiment, PIO pattern and 16 PC cards and CF card are all compatible, and the DMA pattern only with CF card compatibility.
Storer 568 can be stored a plurality of computing machines can carry out driving, is used for driving governor 540.More particularly, processor 564 is carried out and is driven, thereby produces control command, for example: initialization command.Before data information, shaking hands between initialization command enabled hosts 102 and the controller 540.In addition, initialization command can definition of data the characteristic of transmission, for example, be to write data or from storage medium 106 sense datas to storage medium 106.Initialization command also can be represented the state of data transmission, for example, and the startup of data transmission or initialization.Thus, controller 540 can be according to the initialization command data information.
Different drivings is relevant with different mode of operations.That is to say that for data information, controller 540 can be operated in different mode of operations according to the control command from a plurality of drivings.In one embodiment, driving comprises general driving 552 and special-purpose driving 554.General driving 552 is relevant with the PIO pattern, and can be all compatible with the each type in the polytype storage medium that inserts universal slot 526 (for example: 16 PC cards and CF card).General driving 554 is relevant with the DMA pattern, and and polytype storage medium in part storage medium compatibility, for example, special-purpose drive 554 only with CF card compatibility.
In one embodiment, general driving 552 is provided by the operating system of main frame 102, and the universal card driving group (universal-card-driver) in the registration table of general driving 552 and operating system is corresponding.Based on the control command of general driving 552, data transmission system 500 is data information under the PIO pattern.More particularly, under the PIO pattern, processor 564 is carried out general driving 552, with initialize data transfer, and the process of control data transmission.For example, in write operation, processor 564 is sent to data message the inner buffer of processor 564 from storer 568.When the data that deposited preset length in (for example: in the time of the data of 512 bytes), processor 564 with data message internally buffer memory be sent to storage medium 106 by controller 540.In like manner, in read operation, processor 564 reads from storage medium 106 data message the inner buffer of processor 564 by controller 540.When the data of having read in preset length (for example: in the time of the data of 512 bytes), processor 564 with data message internally buffer memory be deposited into storer 568.Thus, in the PIO pattern, when having transmitted the data of preset length, all can occur once interrupting.
Special-purpose driving 554 can be arranged in the storer 568.In case be provided with and special-purpose drive 554, special-purposely drive 554 and deposit personality card driving group (dedicated-card-driver) in the service groups sequential file.Drive 554 control command based on special use, data transmission system 500 can be under the DMA pattern data information.More particularly, under the DMA pattern, the overall process of controller 540 control data transmissions.Illustrate, in DMA pattern (for example: MDMA pattern or UDMA pattern), processor 564 is carried out special-purpose driving 554, reads or writes data manipulation with one of initialization.Then, processor 564 is given controller 540 bus control right, and discharges from the operation of data transmission according to the instruction of special use driving 554.Controller 540 begins to transmit the data message between storer 568 and the storage medium 106, and does not take the processor time.In this embodiment, the disposable transmission of all data messages finishes, and without any interruption.Thus, the DMA pattern is compared the PIO pattern and is had higher message transmission rate.Meanwhile, processor 564 can other operations of more effective execution, for example: arithmetic operation.
The driving that is stored in the storer 568 can make controller 540 select corresponding mode of operation.In one embodiment, when data transmission system 500 started, controller 540 acquiescences were selected special-purpose driving 554.Special-purpose drive 554 and can discern storage medium 106, and according to the type decided DMA pattern of storage medium 106 whether with storage medium 106 compatibilities.Based on this decision, controller 540 is selected corresponding driving, and is operated in corresponding mode of operation, with transmitting data information.
More particularly, when storage medium 106 inserted slot 526, controller 540 provided corresponding card to insert (card-insertion) signal and drives 554 to special-purpose.As the response that card is inserted signal, special-purpose drive 554 read identifying information in the storage medium 106 (for example: the card recognition structure, card identification structure, CIS), and the type of identification storage medium 106.For example, special-purpose driving 554 judges that storage mediums 106 are 16 PC cards or CF card.Thus, in one embodiment, special-purpose drive 554 according to the type that identifies judge the DMA pattern whether with storage medium 106 compatibilities.If storage medium 106 is 16 PC cards (promptly not supporting the type of DMA pattern), special-purpose driving 554 produces selects general driving orders (select-universal-driver).As the response of selecting the general driving order, controller 540 is selected general driving 552, and is operated in view of the above under the PIO pattern, with transmitting data information.If storage medium 106 is CF card (promptly supporting the type of DMA pattern), special-purpose 554 driving governors 540 that drive are operated under the DMA pattern, with transmitting data information it.
If main frame 102 starts and special-purpose driving 554 does not also load, general driving 552 may begin driving governor 540, and no matter storage medium 106 is 16 PC cards or CF card.Advantage is, processor 564 is carried out and special-purposely driven 554, to add the personality card service groups to the universal card service groups.Therefore, processor 564 loaded special-purpose driving 554 before loading general driving 552.
Therefore, by from general driving 552 (all compatible) with the each type of polytype storage medium and special-purposely drive 554 (only with polytype storage medium the part type compatibility) in select a kind of, data transmission system 500 can with the dissimilar storage medium swap data of shared identical slot 526.Advantage is, if storage medium 106 is the wherein a kind of of this part type, selecteed driving comprises special-purpose driving 554, otherwise selecteed driving comprises general driving 552.For example,, then select general driving 552, thereby make controller 540 enter the PIO pattern with the transmission data if storage medium 106 is 16 PC cards supporting the PIO pattern.If storage medium 106 is CF cards of not only having supported the PIO pattern but also having supported the DMA pattern, then selects special-purposely to drive 554, thereby make controller 540 enter the DMA pattern with the transmission data.Because the DMA pattern is faster and take the less processor time than the message transmission rate of PIO pattern, has then improved the efficient of data transmission system 500.
Figure 6 shows that the structured flowchart of controller 540 and interface 120 according to an embodiment of the invention.Among Fig. 6 with
Fig. 1 and Fig. 5 components identical have identical functions.Fig. 6 will be described in conjunction with Fig. 5.
Interface 120 is coupled in host interface 566, is used for controller 540 is connected to main frame 102.In the embodiment of Fig. 6, controller 540 comprises a plurality of nuclears (such as general purpose core 610 and specific core 620), MUX 630 and logic module 640.
A plurality of nuclears are used to set up the communication between a plurality of drivings and the storage medium 106.General purpose core 610 can be set up the communication between general driving 552 and the storage medium 106.Specific core 620 can be set up the communication between special-purpose driving 554 and the storage medium 106.MUX 630 is used for selecting one from a plurality of nuclears.Because different endorse with different driving communication, MUX 630 can be selected to drive by selecting corresponding nuclear.
In one embodiment, logic module 640 comprises control signal processor 642, card inductor 644 and status signal maker 646.Described a plurality of nuclear transmits corresponding control signal according to the control information from main frame 102 and gives logic module 640.Control signal processor 642 analysis and Control signals, and read or write corresponding data message in view of the above.The state of card inductor 644 induction storage mediums 106, for example, whether whether card inductor 644 monitoring storage mediums 106 inserted slot 526 or removed from slot 526.Status signal maker 646 is according to the analysis operation of control signal processor 642 and a plurality of status signals of the state of the inductive operation generation expression storage medium 106 that blocks inductor 644, for example, when card inductor 644 was sensed storage medium 106 insertion slots 526, status signal maker 646 produced card and inserts signals.In addition, select the general driving order when control signal processor 642 receives, status signal maker 646 produces another card and inserts signal.Controller 540 can have other structure, and is not limited to the embodiment of Fig. 6.
In one embodiment, general purpose core 610 comprises register 612, data buffer 614 and universal control module 616.Data buffer 614 is used for data cached information.Register 612 is used to store from the control information of general driving 552 or from the status information of storage medium 106.The universal control module 616 that is coupled in register 612 and data buffer 614 has the function of PIO controller.More particularly, universal control module 616 monitorings are stored in the control information of register 612, and produce corresponding control signal with control data transmission.For example, universal control module 616 can send corresponding read signal to storage medium 106 according to being sent to reading instruction the register 612 from general driving 552; Control signal processor 642 is analyzed read signals, and from storage medium 106 read data information to data buffer 614.
In addition, universal control module 616 is also monitored the status information that is sent to register 612 from storage medium 106, and produces corresponding status command.Processor 564 is carried out general driving 552, with the subsequent step according to the transmission of status command determination data.For example, in write operation, when the storage space that detects storage medium 106 when card inductor 644 had been taken, status signal maker 646 produced full (space-full) signal in spaces and also delivers to register 612.Therefore, universal control module 616 produces the space and completely orders, can not receive more data information to general driving 552 circular storage mediums 106.Completely order for responding the space, general driving 552 produces and stops order, to stop data transmission.
In one embodiment, specific core 620 comprises register 622, data buffer 624 and special-purpose control module 626.Register 612 and data buffer 614 in register 622 in the specific core 620 and data buffer 624 and the general purpose core 610 have same function.The special-purpose control module 626 that is coupled in register 622 and data buffer 624 has the function of dma controller.For example, after processor 564 is carried out special-purpose driving 554 generation initial command, special-purpose 554 rights of giving special-purpose control module 626 direct access bus 562 and storer 568 that drive.In write operation, special-purpose control module 626 from storer 568 read data information to data buffer 624, and from data buffer 624 data information to storage medium 106.In read operation, special-purpose control module 626 from storage medium 106 read data information to data buffer 624, and from data buffer 624 data information to storer 568.In addition, the status information of special-purpose control module 626 monitoring registers 622, and the subsequent step of determination data transmission.For example, expire signal when register 622 receives the space, special-purpose control module 626 directly stops data transmission, and does not need to send the status command by processor 564 visits.
In one embodiment, register 622 is also stored and is comprised the data set that nuclear is selected (core-selection) data, effective (driver-valid) data of driver and request driver control (need-driver-control) data.Perhaps, this data set can be stored in other storage mediums that is coupled in MUX 630, for example: the register 614 of general purpose core 610 or be located at general purpose core 610 and specific core 620 outside storage medium.In one embodiment, nuclear selects data, driver valid data and request driver control data to be to have two values () 1 bit data for example: logical one or logical zero.MUX 630 is selected a kind of nuclear according to the data set that is stored in register 622.More particularly, special-purpose control module 626 monitorings are stored in the data set of register 622, and can produce nuclear selection signal 632.Thus, MUX 630 is selected corresponding nuclear and corresponding driving communication from a plurality of nuclears.Thus, selected corresponding driving, and controller 540 is operated under the corresponding mode of operation according to selected driving, with the transmission data.
Compatibility between the type of special-purpose driving 554 of nuclear selection data representation and storage medium 106.In one embodiment, when removing storage medium 106, it is default value that special-purpose control module 626 can be provided with nuclear selection data, for example: logical one, select special-purpose driving 554 with the expression acquiescence.Therefore, when storage medium 106 inserted slot 526 next time, MUX 630 selected the default value of data to select special-purpose driving 554 according to nuclear.Thus, processor 564 is carried out special use and is driven 554 identification storage mediums 106, and determines in view of the above whether the type of special-purpose driving 554 and storage medium 106 is compatible.
As described in Fig. 5, special-purpose drive the relevant DMA pattern of 554 decisions and special-purpose driving 554 whether with the type compatibility of storage medium 106.If DMA pattern and storage medium 106 compatibilities, it is first numerical value that nuclear selection data then are set, for example: logical one.If DMA pattern and storage medium 106 are incompatible, special-purpose driving 554 produces selects the general driving orders.According to selecting the general driving order, it is second value that special-purpose control module 626 is provided with nuclear selection data, for example: logical zero.Based on the second value of nuclear selection data, MUX 630 selects general purpose core 610 to communicate by letter with general driving 552.Therefore, selected general driving 552, be operated in the PIO pattern with drive controlling 540.
In one embodiment, special-purpose driving 554 may be unloaded by the user or be invalid.At this moment, MUX 630 needs to select general driving 552 and general purpose core 610.Drive valid data and represent special-purpose 554 the availability that drives.For example, when special use driving 554 was installed to main frame 102, special-purpose control module 626 is provided with and drives valid data was first numerical value, for example: logical one, can use to represent special-purpose driving 554.When special use drives 554 from main frame 102 unloadings or when being disabled, special-purpose control module 626 is provided with and drives valid data is second value, for example: logical zero, with represent special-purpose drive 554 unavailable.
MUX 630 is selected to drive according to driving valid data.Represent special-purposely to drive 554 and can use if drive valid data, MUX 630 according to nuclear select data as described above method select a kind of nuclear.Advantage is that if the driving valid data represent that special use driving 554 is unavailable, MUX 630 is selected general driving 552 automatically, and no matter examining the selection data is logical one or logical zero.Therefore, avoided having improved the stability of data transmission system 500 because the disappearance of special-purpose driving 554 causes the generation that stops phenomenon of data transmission system 500.
In one embodiment, when general driving 552 and general purpose core 610 during just at transmitting data information, may install special-purpose drive 554 or make special-purpose drive 554 effective.At this moment, special-purpose driving 554 does not need to carry out data transmission.The request drive control data represent data transmission be by general driving 552 and general purpose core 610 that set up or by special use drive 554 and specific core 620 set up.
In one embodiment, special-purpose control module 626 is selected data and is driven the value that valid data determine the request drive control data according to nuclear.More particularly, when card inductor 644 finds that storage mediums 106 have inserted, or control signal processor 642 receives and selects general driving order, status signal maker 646 all can produce card insertion signal.Be response card insertion signal, 626 pairs of nuclears of special-purpose control module are selected data and are driven valid data actuating logic and computing, and determine the value of request drive control data in view of the above.For example, as fruit stone selection data is that logical zero (expression special use driving 554 is incompatible with storage medium 106) or driving valid data are logical zero (expression special use driving 554 is unavailable), it is first numerical value that special-purpose control module 626 is provided with the request drive control data, for example: logical zero, expression general driving 552 and general purpose core 610 are being transmitted data.Otherwise it is second value that the request drive control data is set, and for example: logical one, special-purpose driving 554 of expression and specific core 620 are being transmitted data.
Advantage is, although drive 554 by user installation or be set to drive valid data when effective and can be set to logical one when special-purpose, and MUX 630 and special-purposely drive 554 and can check the request drive control datas.If the request drive control data is represented general driving 552 and general purpose core 610 just at transmitting data information, special-purpose driving 554 quits work.In addition, MUX 630 is selected general driving 552 and general purpose core 610 according to the request drive control data, and the numerical value that does not go to judge nuclear selection data and drive valid data.Thus, avoided having improved the stability of data transmission system 500 because the contradiction between special-purpose driving 554 and the general driving 552 causes the generation that stops phenomenon of data transmission system 500.
In a word, select data, drive valid data and request drive control data based on nuclear, selection general driving 552 that controller 540 can be suitable in all cases or special use drive 554, thus, have improved the stability of data transmission system 500.
Figure 7 shows that the operational flowchart 700 of data transmission system 500 according to an embodiment of the invention.Fig. 7 will be described in conjunction with Fig. 5 and Fig. 6.In the embodiment of Fig. 7, special-purpose driving 554 can be used.Process flow diagram 700 has been described DATA0, DATA1 and DATA2, and wherein DATA0 represents nuclear selection data, and DATA1 represents to drive valid data, and DATA2 represents to ask drive control data.
In step 702, data transmission system 500 starts.Processor 564 loads a plurality of programs according to the service groups sequential file in the registration table.In step 704, special-purpose driving 554 has been installed, and special-purpose driving 554 has been set for effective.Thus, it is logical one that DATA1 is set, and the special-purpose driving 554 of expression can be used.When storage medium 106 last when once inserting slot 526 and from slot 526, removing again, it is default value, that is: logical one that DATA0 is set.
In step 706, storage medium 106 inserts slot 526.MUX 630 is selected specific core 620 according to the DATA0 acquiescence.Card inductor 644 is sensed the insertion of storage medium 106, and makes status signal maker 646 send card insertion signal to specific core 620.Be that the response card inserts signal, specific core 620 decides DATA2 by DATA0 and DATA1 are carried out logic and operation.Therefore, DATA2 is set to logical one.Special-purpose driving 554 is according to the type of the identity information identification storage medium 106 of storage medium 106, and decision nuclear is selected data in view of the above.
In step 708, storage medium 106 can be a CF card of supporting the DMA pattern.Therefore, DATA0 still is a logical one.In step 710, MUX 630 is selected special-purpose driving 554 according to DATA0, DATA1 and DATA2, to transmit data under the DMA pattern.In step 712, remove storage medium 106.DATA0 is set to default value, and for example: DATA0 remains logical one.
In step 714, storage medium 106 can be 16 PC cards not supporting the DMA pattern.Therefore, special-purpose driving 554 produces selects the general driving orders, is logical zero so that DATA0 to be set, and simultaneously, logic module 640 is also according to selecting the general driving order to produce another one card insertion signal.In step 716, MUX 630 is selected general driving 552 according to DATA0.In addition, be that the response card inserts signal, special-purpose control module 626 decides DATA2 by DATA0 and DATA1 are carried out logic and operation.Therefore, DATA2 is configured to logical zero, to represent that general driving 552 and general purpose core 610 are just in data information.In step 718, remove storage medium 106.DATA0 is set to default value, for example: logical one.
Figure 8 shows that the operational flowchart 800 of data transmission system 500 according to an embodiment of the invention.Fig. 8 will be described in conjunction with Fig. 5 and Fig. 6.In the embodiment of Fig. 8, special use driving 554 is unavailable.Process flow diagram 800 has been described DATA0, DATA1 and DATA2.DATA0 represents nuclear selection data, and DATA1 represents to drive valid data, and DATA2 represents to ask drive control data.
In step 802, data transmission system 500 starts.Processor 564 loads a plurality of programs according to the service groups sequential file in the registration table.In step 804, unloading or invalid special-purpose driving 554.Thus, it is logical zero that DATA1 is set, and expression special use driving 554 is unavailable.
In step 806, storage medium 106 inserts slot 526.Status signal maker 646 produces card and inserts signal.Be that the response card inserts signal, special-purpose control module 626 decides DATA2 by DATA0 and DATA1 are carried out logic and operation.Therefore, DATA2 is set to logical zero, and the expression data transmission is to be set up by general driving 552 and general purpose core 610.In step 808, although DATA0 has the default value logical one, MUX 630 is selected general driving 552 and general purpose core 610 according to DATA1.In step 814, remove storage medium 106.DATA0 remains the default value logical one.
In step 810, special-purpose driving 554 is installed.DATA1 is set to logical one, and the special-purpose driving 554 of expression becomes available.According to DATA2, MUX 630 is selected general driving 552.In addition, special use driving 554 is out of service.In step 812, remove storage medium 106.DATA0 is set to the default value logical one.Data transmission system 500 can have other operation, and is not limited to the embodiment of Fig. 7 and Fig. 8.
Figure 9 shows that the method flow diagram 900 of data transmission system 500 according to an embodiment of the invention.Fig. 9 will be described in conjunction with Fig. 5 to Fig. 8.The concrete steps that Fig. 9 is contained are as just example.That is to say that the present invention is applicable to other rational flow processs or Fig. 9 is carried out improved step.
In step 902, add the executable general driving of borne computer, for example: general driving 552.This general driving and first mode of operation (for example: the PIO pattern) relevant, and with polytype storage medium (for example: 16 PC cards and CF card) each type is all compatible.Slot (for example: universal slot 526) can connect this polytype storage medium.
In step 904, (for example: special-purpose driving 554) add executable special-purpose driving of borne computer.Special-purpose drive with second mode of operation (for example: the DMA pattern) relevant, and only with this polytype storage medium in the part type (for example: the compatibility CF card).In one embodiment, before loading general driving, load special-purpose the driving.
In step 906, (for example: when storage medium 106) inserting slot, selection is one from general driving and special-purpose the driving when storage medium.Wherein, if storage medium is one type of the part type, selected driving comprises special-purpose the driving, otherwise selected driving comprises general driving.In one embodiment, whether special-purpose driving of visit expression selects data with the nuclear of storage medium compatibility, and select data to select selected driving according to nuclear.It is default value that nuclear selection data are set, and when storage medium inserts slot, selects special-purpose driving according to the default value acquiescence.Then, discern the type of storage medium, and select the value of data according to the type decision nuclear according to the identifying information that is included in the storage medium.In addition, whether available visit expression is special-purpose drives driving valid data, and selects selected driving according to driving valid data.Whether visit expression general driving and general purpose core just at the request drive control data of transmitting data information, and selects selected driving according to the request drive control data.
In step 908, be operated in corresponding mode of operation according to selected driving, with the storage medium exchange data information.
Above embodiment and accompanying drawing only are the present invention's embodiment commonly used.Obviously, under the prerequisite of the present invention's spirit that does not break away from claims and defined and invention scope, can have and variously augment, revise and replace.It should be appreciated by those skilled in the art that the present invention can change aspect form, structure, layout, ratio, material, element, assembly and other to some extent according to concrete environment and job requirement in actual applications under the prerequisite that does not deviate from the invention criterion.Therefore, only be illustrative rather than definitive thereof at the embodiment of this disclosure, the present invention's scope is defined by appended claim and legal equivalents thereof, and is not limited thereto preceding description.

Claims (26)

1. a data transmission device is characterized in that, described data transmission device comprises at least:
The slot that can be connected with dissimilar storage mediums;
Computer-readable medium, be used for executable special-purpose driving of executable general driving of storage computation machine and computing machine, wherein, described general driving is relevant with first mode of operation, and it is all compatible with each storage medium in the described dissimilar storage medium, described special-purpose drive relevant with second mode of operation, and only with described dissimilar storage medium in the part type compatibility; And
Be coupled in the controller of described slot and described computer-readable medium, be used for when storage medium inserts described slot, from described general driving and described special-purpose the driving, select one, and be operated in corresponding mode of operation according to described selected driving, with with described storage medium exchange data information
Wherein, if described storage medium is one type in the described part type, described selected driving comprises described special-purpose the driving, otherwise described selected driving comprises described general driving.
2. data transmission device according to claim 1, it is characterized in that, described first mode of operation comprises input and output able to programme (programmed input output, PIO) pattern, described second mode of operation comprises direct memory visit (direct memory access, DMA) pattern.
3. data transmission device according to claim 1 is characterized in that, described dissimilar storage medium comprises pcmcia card and CF card.
4. data transmission device according to claim 1 is characterized in that, described controller comprises at least:
General purpose core is used to set up the communication between described storage medium and the described general driving;
Specific core is used to set up the communication between described storage medium and described special-purpose the driving; And
Be coupled in the MUX of described general purpose core and described specific core, be used for selecting a corresponding nuclear, thereby select described selected driving from described at least general purpose core and described specific core.
5. the device of data transmission according to claim 4 is characterized in that, described controller also comprises:
Be coupled in the register of described MUX, be used for storage nuclear and select (core-selection) data, described nuclear is selected described special-purpose whether the driving and described storage medium compatibility of data representation, and wherein, described MUX selects data to select described selected driving according to described nuclear.
6. the device of data transmission according to claim 5 is characterized in that, when storage medium inserted described slot, described nuclear selected data to have default value, and described MUX is selected described special-purpose the driving according to described default value acquiescence.
7. the device of data transmission according to claim 6 is characterized in that, described special-purpose the driving according to the identifying information that is included in the described storage medium discerned the type of described storage medium, and selects the value of data according to the described nuclear of described type decided.
8. the device of data transmission according to claim 4 is characterized in that, described controller also comprises:
Whether available be coupled in the register of described MUX, be used for described special-purpose effectively (driver-valid) data of driving that drive of storage representation, described MUX is selected described selected driving according to described driving valid data.
9. the device of data transmission according to claim 4 is characterized in that, described controller also comprises:
Be coupled in the register of described MUX, be used for storage request drive controlling (need-driver-control) data, the described request drive control data represents whether described general driving and described general purpose core are transmitting described data message, wherein, described MUX is selected described selected driving according to the described request drive control data.
10. the device of data transmission according to claim 1 is characterized in that, loads described special-purpose the driving before loading described general driving.
11. a data transmission method is characterized in that, the method for described data transmission comprises at least:
Load the computing machine executable general driving relevant with first mode of operation, the each type of described general driving and polytype storage medium is all compatible, and universal slot can connect described polytype storage medium;
Load executable special-purpose driving of the computing machine relevant with second mode of operation, described special-purpose only drive with described polytype storage medium in the part type compatibility;
When described storage medium inserts described slot, from described general driving and described special-purpose the driving, select a selected driving; And
Be operated in corresponding mode of operation according to described selected driving, with the storage medium exchange data information,
If described storage medium is one type of described part type, described selected driving comprises described special-purpose the driving, otherwise described selected driving comprises described general driving.
12. the method for data transmission according to claim 11 is characterized in that, described selection step also comprises at least:
Whether described special-purpose driving of visit expression selects data with the nuclear of described storage medium compatibility; And
Select data to select described selected driving according to described nuclear.
13. the method for data transmission according to claim 12 is characterized in that, described selection step also comprises at least:
It is default value that described nuclear selection data are set; And
When described storage medium inserts described universal slot, select described special-purpose the driving according to described default value acquiescence.
14. method according to claim 13 is characterized in that, described selection step also comprises at least:
Discern the type of described storage medium according to being included in identifying information in the described storage medium; And
Select the value of data according to the described nuclear of described type decided.
15. method according to claim 11 is characterized in that, described selection step also comprises at least:
The described special-purpose whether available driving valid data that drive of visit expression; And
Select described selected driving according to described driving valid data.
16. method according to claim 11 is characterized in that, described selection step also comprises at least:
Whether visit described general driving of expression and described general purpose core are transmitting the request drive control data of described data message; And
Select described selected driving according to the described request drive control data.
17. method according to claim 11 is characterized in that, described load step also comprises:
Before loading described general driving, load described special-purpose the driving.
18. a controller is characterized in that described controller is coupled in slot, described controller is used to transmit the data message between main frame and the described slot, and described slot can connect polytype storage medium, and described controller comprises at least:
General purpose core can work in first mode of operation according to the steering order from the executable general driving of computing machine, and to transmit described data message, the each type of described first mode of operation and described polytype storage medium is all compatible;
Specific core can be according to working in second mode of operation from the executable special-purpose steering order that drives of computing machine, transmitting described data message, described second mode of operation only with the part type compatibility of described polytype storage medium;
Be coupled in the MUX of general purpose core and specific core, be used for from described general purpose core and described specific core, selecting a selected nuclear according to the data set that is coupled in the register of described MUX, transmitting described data message,
If described storage medium is one type in the described part type, described selected nuclear comprises described specific core, otherwise described selected nuclear comprises described general purpose core.
19. controller according to claim 18 is characterized in that, described data set comprises whether described special-purpose driving of expression selects data with the nuclear of described storage medium compatibility.
20. controller according to claim 19, it is characterized in that, when described storage medium inserts described slot, described nuclear selects data to have default value, thereby make described MUX acquiescence select described specific core, wherein, the type of described storage medium is discerned in described special-purpose driving, and selects the value of data according to the described nuclear of described type decided.
21. controller according to claim 19 is characterized in that, whether available described data set also comprise the described special-purpose driving valid data that drive of expression.
22. controller according to claim 21 is characterized in that, if described driving valid data represent that described special-purpose driving is available, described MUX selects data to select described selected nuclear according to described nuclear.
23. controller according to claim 21 is characterized in that, if described driving valid data represent that described special-purpose driving is unavailable, described MUX is selected described general purpose core and is not considered described nuclear selection data.
24. controller according to claim 21 is characterized in that, described data set comprises also whether the described general purpose core of expression is transmitting the request drive control data of described data message.
25. controller according to claim 24 is characterized in that, described controller is selected data and described driving valid data decision described request drive control data according to described nuclear.
26. controller according to claim 24, it is characterized in that, if the described request drive control data is represented described general purpose core and is transmitting described data message that described MUX is selected described general purpose core and do not considered described nuclear selection data and described driving valid data.
CN2010101530276A 2009-09-24 2010-04-19 Data transmission device, method and controller Pending CN102222054A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2010101530276A CN102222054A (en) 2010-04-19 2010-04-19 Data transmission device, method and controller
US12/784,179 US8527667B2 (en) 2009-09-24 2010-05-20 Apparatuses and methods for transferring data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101530276A CN102222054A (en) 2010-04-19 2010-04-19 Data transmission device, method and controller

Publications (1)

Publication Number Publication Date
CN102222054A true CN102222054A (en) 2011-10-19

Family

ID=44778609

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101530276A Pending CN102222054A (en) 2009-09-24 2010-04-19 Data transmission device, method and controller

Country Status (1)

Country Link
CN (1) CN102222054A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508801A (en) * 2011-11-07 2012-06-20 杭州华三通信技术有限公司 Host drive device and host drive method, and transmission control device and transmission control method
CN110654326A (en) * 2018-06-29 2020-01-07 奥特润株式会社 Multi-host system, power controller and working method thereof
CN110892391A (en) * 2017-10-16 2020-03-17 华为技术有限公司 Data processing system
CN116955241A (en) * 2023-09-21 2023-10-27 杭州智灵瞳人工智能有限公司 Memory chip compatible with multiple types of memory media

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5986677A (en) * 1997-09-30 1999-11-16 Compaq Computer Corporation Accelerated graphics port read transaction merging
CN1584816A (en) * 2004-06-03 2005-02-23 瑞程科技股份有限公司 Storing card with multi-interfae function and transmitting mode selective method
CN1690945A (en) * 2004-04-29 2005-11-02 联发科技股份有限公司 Data transmission system capable of carrying out multitask access on ATA bus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5986677A (en) * 1997-09-30 1999-11-16 Compaq Computer Corporation Accelerated graphics port read transaction merging
CN1690945A (en) * 2004-04-29 2005-11-02 联发科技股份有限公司 Data transmission system capable of carrying out multitask access on ATA bus
CN1584816A (en) * 2004-06-03 2005-02-23 瑞程科技股份有限公司 Storing card with multi-interfae function and transmitting mode selective method

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508801A (en) * 2011-11-07 2012-06-20 杭州华三通信技术有限公司 Host drive device and host drive method, and transmission control device and transmission control method
CN102508801B (en) * 2011-11-07 2014-07-02 杭州华三通信技术有限公司 Host drive device and host drive method, and transmission control device and transmission control method
CN110892391A (en) * 2017-10-16 2020-03-17 华为技术有限公司 Data processing system
CN110654326A (en) * 2018-06-29 2020-01-07 奥特润株式会社 Multi-host system, power controller and working method thereof
CN110654326B (en) * 2018-06-29 2023-08-22 现代摩比斯株式会社 Multi-host system, power controller and working method thereof
CN116955241A (en) * 2023-09-21 2023-10-27 杭州智灵瞳人工智能有限公司 Memory chip compatible with multiple types of memory media
CN116955241B (en) * 2023-09-21 2024-01-05 杭州智灵瞳人工智能有限公司 Memory chip compatible with multiple types of memory media

Similar Documents

Publication Publication Date Title
RU2445676C2 (en) Method of communication with multifunctional memory card
US6880024B2 (en) Control system for memory storage device having two different interfaces
US8225022B2 (en) Methods for eliminating intermediate bussing and bridging requirements between a solid state memory device with PCI controller and a main system bus
US8417864B2 (en) Cascade-able serial bus device with clock and management and cascade methods using the same
US8745304B2 (en) USB to SD bridge
JPWO2006035738A1 (en) Host controller
KR20050110609A (en) Combination non-volatile memory and input-output card with direct memory access
JP5364036B2 (en) Connection bus, electronic device and system
CN103761129B (en) Method of implementing SDIO (secure digital input/output) interface drive in Boot loader layer
JP4739349B2 (en) Multimedia card interface method, computer program, and apparatus
US20100023669A1 (en) Host controller disposed in multi-function card reader
CN108139916A (en) The loading of multistage booting image and configuration of programmable logic device
JP2012063817A (en) Communication device
CN102222054A (en) Data transmission device, method and controller
US8527667B2 (en) Apparatuses and methods for transferring data
JP2008521080A5 (en)
TWI416418B (en) Controllers, apparatuses, and methods for transferring data
CN102043638A (en) Computer system and computer startup setting method
US20200379677A1 (en) Memory controller and memory controlling method where number of commands (executed by the memory controller prior to releasing host memory) is adjusted based on transmission speed of interface to host
CN102033713A (en) Electronic system, controller and data transmission method
CN104850872A (en) Method of transferring data, computer program product and tag
CN100517377C (en) Multifunctional IC card and control method thereof
US20160239224A1 (en) Method and system for transferring data over a plurality of control lines
CN115427939A (en) Configuring a host interface of a memory device based on an operating mode
US20050144336A1 (en) Method and apparatus for data sharing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MAISHI ELECTRONICS (SHANGHAI) CO., LTD.

Free format text: FORMER OWNER: O2MICRO (WUHAN) CO., LTD.

Effective date: 20121023

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 430074 WUHAN, HUBEI PROVINCE TO: 201203 PUDONG NEW AREA, SHANGHAI

TA01 Transfer of patent application right

Effective date of registration: 20121023

Address after: 201203 Shanghai Zhangjiang hi tech Park Chunxiao Road No. 289 room 1402

Applicant after: Maishi Electronic (Shanghai) Co., Ltd.

Address before: Wuhan City, Hubei province 430074 Luoyu Road No. 716 Hua Le Business Center Room 806

Applicant before: O2Micro International Ltd.

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20111019