text:
the story of a stalkerMature
Basically the idea just came to me one day, in stories and movies stars are always stalked but we never know anything aobut the people who stalk them. So why not do a story in a stalkers pov?
All the characters are from my imagination only so if they resemble any person living or dead it's not intended
I'd followed him before, so why should this time feel different? There he was in his car kissing her in the moonlight. The woods were empty apart from them, me and the occassional animal.
They were speaking, though what they said I couldn't hear. He kissed her again and I knew soon I would need to leave before I did something I regretted. The sad thing was, he didn't even know I exhisted. I knew him though... I knew everything about him, where he lived, shopped, went drinking, who he was with. I even knew what shampoo he used.
See that man is the famous Richard King-Stevens. He's the most incredible actor, with a fabulous singing voice. I'd been completely in love with him for the last three years. I'd seen him on a gossip show one morning and knew he was my next man. I moved to England after that to be close to him, I'd even managed to get a house only two blocks away!
So after that I'd followed him. People called me a stalker but I knew the truth, he was destined to be mine. It would only be a matter of time before he found that out for himself.


text:
VENUE DETAILS: The Family Tree Community Center is inside the Tallahassee Mall, on the second-floor above the movie theaters. It can be accessed directly from the parking lot, or by entering the mall and heading up the escalators or elevators. Same time, same station.
TOPIC: This month's topic is the New Year, and traditions for renewal. (Topics are usually suggested. If you have any idea for one, send me an email.)
Do some research, and come with related info.
Meetup members, Log in
By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy

subset: commoncrawl


text:
Baby Bios Original Plant Feed from Bayer Garden has been Britain's preferred house plant food for over 60 years! Baby Bios Original Plant Feed is more than just a fertiliser; it keeps leaves green and flowers vibrant! For beautiful house plants all you need is 5 drops for every pint of water you use to water your flowering family. Baby Bios Original Plant Feed is the original house plant feed and is suitable for all plants, all year round!
Useful Information about Baby Bios Original Plant Feed:
Size: 175ml
When and how to use Baby Bios Original Plant Feed:
Use Baby Bios Original Plant Feed on any houseplant, whenever you like!
Mix 5-10 drops in 1 Pint of water every time you water and feed every fortnight.
Baby Bios Original Plant Feed works best on plants that are actively growing.
More Info
|Allow Gift Wrapping
Write Your Own Review
We offer two different delivery options for all of our products (delivery rates and services offered by marketplace sellers may vary):
Receive free standard delivery* on orders of £40 or more.
Standard Delivery (2-6 Business Days) - £3.99
Speedy Delivery (1-2 Business Days) - £8.99
Speedy Delivery (1-2 Business Days) - £8.99
Orders are dispatched Monday-Friday and you will receive an email notification as soon as your items have left us.
For further information on our available delivery options, click here to view our delivery section.


text:
Quick Specs
Total Downloads:150,381
Date Added:Jul. 15, 2005
File Size:178.87KB
Downloads Last Week:11
Current Version4.3
out of 13 votes
All Versions4.3
out of 13 votes
My ratingWrite review
"Was useful to me even though it didn't solve my problem"
June 27, 2011 | By RCF_Rose
2011-06-27 13:40:21 | By RCF_Rose
| Version: LSPFix 1
Easy to use and gives results.
none observed by me
Turned out my issue wasn't corrupted registry entries so the program didn't have anything to "repair". However it was easy and straight forward to use and at the very least let me know there were no issues with the registry.
"Simple and to the point for those in the know."
December 09, 2009 | By pcpro17
2009-12-09 09:23:34 | By pcpro17
| Version: LSPFix 1
This is a great little utiltiy for correcting errant Layered Service Protocol entries for those who know what they're doing.
Like all great "hack" tools, this tool makes it as easy to create new problems as it is to solve the existing ones.
Only use it if you know what you're doing!
"Good tool to keep handy, it works."
August 16, 2008 | By YoJoJoM
2008-08-16 15:05:45 | By YoJoJoM
| Version: LSPFix 1
I try alot of free software. This fix has worked everytime I lose internet connection.
"Thanks A Zillion !!!"
June 06, 2008 | By Vee55
2008-06-06 19:01:28 | By Vee55
| Version: LSPFix 1
It Worked, and saved me a $75 visit to my PC repair shop. It was fast and very very user friendly. Whew!
October 30, 2006 | By Holyzitro
2006-10-30 18:42:18 | By Holyzitro
| Version: LSPFix 1
Works good and solid program
IT GOT RID OF WEB HANCER WHICH WAS GOOD CAUSE IT GAVE ME MAJOR PROBLEMS BUT NOW THE INTERNET DONT WORK I NEED SERIOUS HELP TO FIX THIS PROBLEM BUT SADLY SYSTEM RESTORE DOESNT WORK FROM ALL THE VIRUS AND STUFF I HAD AND MY CD DRIVE FILE BEEN DELETED SO I CANT RUN CDS >>>CAN ANYONE TELL ME HOW TO GET MY INTERNET BACK OR MAYBE TELL ME HOW TO FIX SYSTEM RESTORE OR MY CD DRIVE PLZ reply to this or send me a msg to my screename firstname.lastname@example.com
Reply to this review Read replies (3)
Was this review helpful? (0) (2)
Reply by meadowinthewoods1 on August 12, 2010
You poor thing. How horrible. Been there....well, maybe not QUITE there. You really truly need to take this written description you have typed above and print it out and take it to a reputable computer shop for repair. It's too much too far, too deeply infected and ya can't fix it youself if it's that far gone. It will cost you about $75 to $85 at a good repair shop to get you fixed up and back working fluidly again. If the estimate is more than that, take it to a couple other shops for estimates and you'll be back in business in no time. Eventually, you'll catch yourself before you get that far again and be able to prevent the total crash horrors.
Reply by Vanillaman on February 15, 2010
I the program gave you such problems, thn why on earth did you give it 3 stars? You're not making it any easier for others.
Reply by arviagent13 on August 5, 2008
This program did exactly what you stated here to my desktop computer...if someone already helped you out.....do you think you could help me?
"Worked instantly and solved my "Page Cannot Be Displayed" nightmare!"
July 22, 2006 | By madatSony
2006-07-22 12:16:35 | By madatSony
| Version: LSPFix 1
It FIXED my connection problem.
I was getting the Page Cannot be Displayed error after about 15 minutes after I rebooted and would then have to restart my computer until the next time it happened.
It did it immediately without one hassle.
I don't know exactly how it did it and don't really care. It works. Like Magic.
"made by CEXX.ORG!?"
July 15, 2006 | By Leo_Koneval
2006-07-15 13:40:54 | By Leo_Koneval
| Version: LSPFix 1
it was a okay program, but i never got it to work
Not only does the program not work, but it is made by a publisher that doesn't look too safe, for example would you want to buy your toothpaste from a dentist or a punk band's singer?
Reply to this review Read reply (1)
Was this review helpful? (1) (2)
Reply by eagletattoo on August 13, 2006
If, in a nutshell, the program stinks...WHY did you give it 4 out of 5 stars? And what's wrong with the publisher? Their whole site is about this kind of stuff. By what you say and what is shown, I think the problem you had was not the program, but user error.
February 22, 2006 | By veentampa
2006-02-22 05:13:34 | By veentampa
| Version: LSPFix 1
small and effective. do a virus and spyware scan.. with avg, spybot, adaware. then run this product. pay attention to your normal lsp and then in the future you will see whats added to that list without your knowledge and remove them.
no features or help
"One Click Fix"
February 01, 2006 | By jwbecotte
2006-02-01 11:21:09 | By jwbecotte
| Version: LSPFix 1
I accidentally ran two antivirus programs and my applications no longer recognized my internet connection. I had the cable techs come out and they couldn't figure it out. I uninstalled and reinstalled XP. I could kick myself. One click... fixed. I keep it handy just in case.
"Good idea for a program, but I think its better to do it manually."
January 24, 2006 | By CableguyTK
2006-01-24 18:43:31 | By CableguyTK
| Version: LSPFix 1
Its free.
It didn't work for me.
I got computers with broken winsock in working order by fixing it manually...that is replacing the three main winsock DLL files from with good copies from a working computer (winrnr.dll, mswsock.dll, rsvpsp.dll) and deleting the broken WinSock registry keys and replacing them with good copies from a working computer (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock and HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2).
This program only goes as far as replacing the bad dll's. A broken winsock is a 2 part game...the bad files and the bad registry keys as mentioned above. This program doesn't touch them and has limited success.
Reply to this review Read replies (2)
Was this review helpful? (13) (15)
Reply by Vanillaman on February 15, 2010
If the program gave you such problems, thn why on earth did you give it 3 stars? You're not making it any easier for others.
Reply by CableguyTK on January 24, 2006
For some odd reason Download.com blocked out the registry keys with *'s.
The keys are as follows:
Add Your Review
Login or create an account to post a review.
Update Your Review
Submit Your Reply
E-mail This Review
Report Offensive Content
Full Specifications+
|Publisher web site
|Release Date
|July 15, 2005
|Date Added
|July 15, 2005
|Networking Software
|Network Tools
|Operating Systems
|Operating Systems
|Windows 95/98/Me/NT/2000/XP
|Additional Requirements
|Windows 95/98/Me/NT/2000/XP
|Download Information
|File Size
|File Name
|Total Downloads
|Downloads Last Week
|License Model
|Not available


text:
Nadal to team-up with Sampras for Mumbai in new league
MUMBAI (Reuters) - World number one Rafa Nadal will team up with 14-times major champion Pete Sampras for Mumbai in the inaugural International Premier Tennis League (IPTL) later this year, tournament organizers said on Sunday.
Serena Williams, the top-ranked women's player, will headline the Singapore team alongside Tomas Berdych and Andre Agassi in the off-season tournament from November28 to December14, which is styled on cricket's franchise-based Indian Premier League.
Four teams - Bangkok and Dubai being the others - will compete in men's and women's singles, men's and mixed doubles and a men's legends singles with one set per match, and no advantage scoring.
Serb Novak Djokovic and former women's number one Caroline Wozniacki will lead Dubai while Britain's Andy Murray, Frenchman Jo Wilfried-Tsonga and Victoria Azarenka of Belarus were picked by Bangkok when the teams were drafted on Sunday in Dubai.
The 2014 season will feature 24 matches across the four host cities with all four teams competing in a round-robin format in each of the four cities, organizers said.
"As an Indian and the owner of the tournament I'm delighted that the world number one Rafa Nadal is playing for an Indian city," promoter Mahesh Bhupathi said on Sunday.
"I think the teams are evenly balanced, I'm happy for the players who have been picked."
The IPTL has been generally well-received by the world's top players although not all have signed up.
Roger Federer, winner of a record 17 grand slam titles, and former women's world No.1 Maria Sharapova will not be appearing. Continued...


text:
Not a member yet?
Join us for FREE
Forgotten Password?
A valid e-mail address. All e-mails from the system will be sent to this address. The e-mail address is not made public and will only be used if you wish to receive a new password or wish to receive certain news or notifications by e-mail.
By registering, you agree to our cookie policy and terms and
have a THE account?
Log in now
I am from Athens, Greece, and am currently a PhD law candidate at the University of Geneva (UNIGE). So far, I have completed two study programmes: a certificate in transnational law and an LL.M. in international dispute settlement (MIDS) offered jointly by the University of Geneva and the Graduate Institute of International and Development Studies.


text:
The HS5 is the 5 inch speaker version of Yamaha's ubiquitous HS series monitors. The HS5 features incredible clarity across the whole range of frequencies from 54Hz - 30kHz and fine tuned control of the sound with individual level, High Trim, and Room Control on the back panel. The HS5 monitors are perfect for a smaller studio space, with incredible quality at a low price.
- 2-way bass-reflex bi-amplified nearfield studio monitor with 5" cone woofer and 1" dome tweeter
- 54Hz - 30kHz frequency response
- 45W LF plus 25W HF bi-amp system for high-performance 70W power amplification
- ROOM CONTROL and HIGH TRIM response controls
- XLR and TRS phone jack inputs accept balanced or unbalanced signals
Questions on HS5 Powered Studio Monitor Pair
No questions asked yet
Ask Your Own Question
- Speaker type: 2-way bi-amp powered studio monitor
- Frequency range: (-10dB) 54Hz - 30kHz
- Components: LF 5" cone, HF 1" dome
- Crossover: 2kHz
- Output power: 70W (LF:45W, HF:25W)
- I/O connectors: XLR3-31 type (balanced), PHONE (balanced)
- Power consumption: 45W
- Shape: Bass-reflex type
- Cabinet material: MDF
- Dimensions: W 170mm (6.7"), H 285mm (11.2"), D 222mm (8.7")
- Net weight 5.3kg (11.7 lbs.)


text:
Scarpa R Evolution GTX Hiking Boot Fall 15
This might be our new favorite at the Colorado office comfortable like a light hiker, but supportive and precise like an alpine boot, the R evolution GTX performs well enough for speedfitness hiking, but has no problem doing a car to car ascent of Longs Peak. SCARPAs Sock Fit DV uses a stretch SchoellerAR material that provides a snug fit memory foam, too, but breathes well. The speed lace hardware and 1.8mm suede upper tighten progressively, delivering unparalleled comfort. Mens and womens versions, for blissful fit and function. Specs: Upper: Suede Lining: Gore Tex Performance Comfort Insole: Hi Flex Midsole: Revolution EVA Sole: SCARPA E Fagus Lite Last: BAG Weight: 658g, 1lb 7oz 12 pair size 42
|Regular Price
Copy the following string into an e-mail to firstname.lastname@example.com to request support.
CCBot/2.0 (http://commoncrawl.org/faq/)
Blog Feed
Follow on Twitter
Become a Facebook Fan
Similar Gear


text:
Christchurch, Feb 22: Pakistan great Wasim Akram told his compatriots on Sunday they had to win the next game in their World Cup campaign or get ready for an early flight home.
World Cup Special; Live Score: India vs SA; Points Table
Pakistan have had a miserable start to the tournament, being well beaten in their opening two group matches. Their 76-run defeat by arch-rivals and defending champions India was followed by an even heavier 150-run loss to the West Indies in Christchurch on Saturday. Pakistan next face Zimbabwe in a must-win Pool B game on March 1, which Wasim warned will be a "make or break" for them.
"I am very optimistic that they can win but if they don't they have to go back home early," Wasim told AFP. "They must feel for the people who come to the ground in numbers and millions are watching back home," added Wasim a key member of the Pakistan side that won the World Cup when the tournament was last staged in Australia and New Zealand in 1992.
The top four in each of the two pools of seven will qualify for the quarter-finals. Wasim criticised the team management and captain Misbah-ul Haq for not playing five bowlers.
"I have been screaming this for several months now but they are playing with four bowlers and weakening their strong point," said Wasim, widely regarded as the greatest left-arm paceman cricket has ever seen.
"We are using an extra batsman and yet we are unable to chase, then it's disappointing and will land Pakistan in more trouble. They must rebuild the team soon."
Pakistan dropped leg-spinner Yasir Shah, who played against India in Adelaide, from the XI that took the field against the West Indies and conceded a total of 310 for six at Christchurch's Hagley Oval. If that wasn't enough, Pakistan then recorded the worst-ever start to an innings in all one-day internationals, with their first four wickets falling for just one run. They were bowled out for a mere 150 runs in 39 overs.


text:
How many covalent bonds can carbon atoms have?
Covalent bonds are forces that hold atoms together and occur when atoms share electrons between each other. Each atom can only make a certain number of covalent bonds. Carbon atoms can make a total...
Read More »
How many covalent bonds does carbon form in neutral compounds?
Carbon's electron configuration gives it four electrons in its outermost shell. Consequently, carbon forms four covalent bonds with other atoms. These may be single bonds; double bonds, which count...
Read More »
How many bonds can carbon form with other atoms?
Carbon (represented by the symbol "C" on the periodic table) is the basis of all organic chemistry. With other atoms, carbon can form only four single bonds, or two double bonds, or one triple bond...
Read More »
How many carbon atoms does glucose have?
Glucose is a simple sugar molecule containing six carbon atoms. In addition, glucose has twelve hydrogen atoms and six oxygen atoms. Glucose is a necessary molecule for life processes, including ce...
Read More »
How many carbon atoms does toluene have?
Toluene, pronounced "ta-you-een," is a chemical used as a solvent. Its chemical name is C6H5CH3; it has seven carbon atoms. The molecule consists of five hydrogen atoms and six carbon atoms, the si...
Read More »


text:
|Publication number
|Publication type
|Application number
|Publication date
|Oct 19, 1999
|Filing date
|Oct 13, 1998
|Priority date
|Jun 21, 1996
|Fee status
|Also published as
|Publication number
|William R. Wheeler, Matthew James Adiletta, Samuel Ho, Debra Bernstein, Gilbert M. Wolrich
|Original Assignee
|Digital Equipment Corporation
|Export Citation
|BiBTeX, EndNote, RefMan
|Patent Citations (6), Referenced by (41), Classifications (7), Legal Events (6)
|External Links: USPTO, USPTO Assignment, Espacenet
This application is a continuation of U.S. patent application Ser. No. 08/668,200, filed Jun. 21, 1996, which is now a U.S. Pat. No. 5,884,050 the entire teachings of which are incorporated herein by reference.
This invention relates generally to computer systems and more specifically to data transfers within computer systems.
As it is known in the art, in order for components comprising a computer system to use data stored in main memory or in other components, there needs to be a communication channel dedicated to inter-component data communication. Such a communication channel is typically comprised of a data bus having a protocol specifying proper use of the data bus.
One such protocol used in the industry is the Direct Memory Access protocol, referred to as DMA. DMA is a method for allowing a component having DMA capabilities to control the reading and writing of data to or from a target device. DMA is a very efficient data transfer methodology because the central processing unit (CPU) does not need to be directly involved in the transaction. Since the CPU does not need to control DMA data transfers, it is free to perform other computing tasks. Therefore, not only does DMA allow for quick data access, it also increases the system's overall performance by allowing the CPU to concurrently perform other necessary computations.
One implementation of DMA is used as part of the Peripheral Component Interconnect (PCI™) data bus standard. The PCI™ standard is an overall bus architecture standard which governs the physical features of a bus as well as the structure of data transfers using the bus. The specified data bus structure allows each component connected to the bus to become either a bus master device, which controls transactions on the bus, or a target device which is accessed by a bus master device.
To become a bus master, a device asserts a request signal connected to an arbitration unit referred to as the bus arbiter. Using one of a variety of arbitration schemes, the arbiter grants ownership of the PCI™ bus to a bus master device at the appropriate time. Once a device acquires ownership of the bus, it is allowed to initiate a data transfer between itself and a target device, which is typically a shared memory subsystem.
A data transfer, employing the PCI™ standard, is initiated when the bus master device places the address of a desired data element and a command onto the address/data bus and asserts a signal referred to as FRAME. The FRAME signal defines the outer timing boundaries of the transfer, i.e. its assertion and deassertion (along with the IRDY and TRDY signals defined below) indicates the beginning and ending of the data transfer. After or coincident with the bus master asserting the FRAME signal, it further asserts an Initiator Ready signal referred to as IRDY. The assertion of this signal indicates that the bus master device is ready to transfer the first data word.
When the target device decodes the address it asserts signal DEVSEL and, when it is ready to transfer or receive data, asserts a target ready signal referred to as TRDY. Data is only transferred when the TRDY and IRDY signals are concurrently asserted. Alternatively it should be noted that when the signal TRDY is de-asserted, this indicates to the bus master device that the target is not ready to be accessed with the next word of data. When the FRAME signal is de-asserted, the bus master terminates the transfer after attempting one further data phase. To terminate the data transfer, the bus master relinquishes control of the PCI™ bus to allow another device to become bus master and to initiate its own data transfer cycle. Accordingly, a read or write cycle on the PCI™ bus is completely controlled by the bus master device and the target device with no intervention by the central processing unit.
Certain problems can arise when transferring data using a DMA data transfer mechanism over the PCI™ bus. As previously mentioned, a data transfer only occurs when both the TRDY and IRDY signals are asserted. If a target device is busy and cannot support a data transfer, it will not assert the TRDY signal. Alternatively, if a target begins a data block transfer but subsequently is not able to complete the transfer, it will de-assert the TRDY signal and assert the STOP signal having transferred only a portion of the requested data.
When a data block transfer is ended by the target device before completion, the bus master device re-establishes communication with the target device, at a future time, to complete the transfer of the data block. What is typically done in the industry is that the bus master device will immediately begin trying to re-establish data transfer communications with the target device in order to complete the data transfer as quickly as possible. However, immediately retrying a data transfer request can waste PCI cycles if the target device will typically remain busy for a period of time after the data transfer is terminated.
A further problem that arises during DMA data transfers over the PCI™ bus is that of erratic data flow. A typical cause for erratic data flow in bus master and target devices is access time for the device's private memory subsystem. Access to a private memory subsystem is typically lengthened due to refresh cycles which coincide with data access cycles, and due to addressing latency when using dynamic memory elements which incur significant address penalties when an access crosses an address page boundary.
The PCI™ bus protocol provides a maximum data transfer rate of one longword per 30 ns when operating with a 33 Mhz PCI™ bus clock. In order to approach this magnitude of data rate, a bus master and target device combination should be capable of transferring a longword of data to/from the PCI™ bus during every PCI™ clock cycle. If data is not accessible at this rate due to erratic data flow, PCI™ bus bandwidth is wasted which results in a reduction of the overall system performance.
Another problem which impedes the transfer of data over the PCI™ bus is the time required to set up the DMA transfer. A chip having DMA capabilities has control structures which keep track of the data to be transferred in each DMA transfer. These structures require significant chip resources and bus bandwidth to initialize and manage the data transfer which detracts from the available time that the chip has to perform the data transfer. Such time delays reduce the DMA data transfer performance on the PCI™ bus.
Therefore a data transfer methodology is required which solves these problems and hence increases the data bandwidth of the data bus.
In accordance with the present invention, a method for transferring data over a data bus includes the steps of a first device acquiring ownership of a data bus, then initiating data transfers between itself and a second device, altering the length of each of the data transfers in response to a characteristic of the data transfer. The steps of the method further include storing time representation values wherein each value relates to a characteristic of the data transfer, and accessing these time representation values upon interruption of one data transfer for determining a duration of time to wait before the first device requests resumption of the interrupted data transfer.
This method has the advantage of preventing the first device from requesting resumption of interrupted data transfers until a future time when the second device is more likely to resume the transfer. Therefore data bus usage is optimized.
In accordance with a further aspect of the present invention, a co-processor device is specified having the capability to transfer data over a data bus, and comprising a first circuit portion having the ability to acquire ownership of the data bus and to control data transfers over the data bus. The co-processor device also has a second circuit portion for controlling a memory system and for transferring data from the memory system to the first circuit portion to be transferred over the data bus. Further, a double buffer is included in the co-processor for connecting the first circuit portion and the second circuit portion.
The double buffer configuration enables continuous transfer of data between the first circuit portion and the second circuit portion, and hence increases the amount of data that the co-processor can transfer during a given data transfer.
Another aspect of the present invention includes a method for transferring data over a data bus. The method comprises the steps of a first device acquiring ownership of the data bus and initiating a plurality of data transfers between itself and a second device. The length of each data transfer being altered in response to a characteristic of the data transfer. The steps further include changing the state of a memory location to indicate to the first device to suspend the data transfer for a specified period of time when the data transfer is interrupted due to insufficient data.
A further aspect of the present invention is a method for transferring data elements over a data bus which comprises the steps of a first device acquiring ownership of the data bus and initiating data transfers between itself and a second device. The length of the data transfers is altered in response to a characteristic of the transfer. The data elements are stored in a first storage location and a copy is stored in a second storage location while each of the data elements are being transferred over the data bus. The method comprises a final step of reallocating the first storage location when the second to last data element is being transferred over the data bus.
This method has the advantage of allowing the first storage location to be immediately re-used after the last data element is read out since the second storage location holds a copy of the last data item. This method contributes to the optimization of data bus usage.
A further aspect of the invention includes an apparatus for controlling a first data transfer over a data bus. The apparatus comprises a first device which acquires ownership of the data bus and initiates a first data transfer between the first device and a second device. The first device comprises a first plurality of storage locations which each comprise a first software pointer to one of a second plurality of storage locations for storing data to be transferred to the second device. The first device further comprises a third plurality of storage locations which each correspond to a class of data and each comprise a second software pointer for loading data into one of the first plurality of storage locations. Each of the third plurality of storage locations further comprise a third software pointer for reading data out of one of the first plurality of storage locations. The third storage location further comprises a fourth software pointer for pointing to a fourth plurality of storage locations, each of which comprises a fifth software pointer to one of a fifth plurality of storage locations. The first device further comprises a sixth plurality of storage locations wherein each storage location corresponds to a class of data operation and comprises a software pointer to one of a seventh plurality of storage locations. Each of the seventh plurality of storage locations comprises a pointer to one of the third plurality of storage locations.
This apparatus supports the transfer of different types of data using a common memory controller microcode flow which optimizes bus bandwidth, or rather minimizes the time it takes to transfer a specified amount of data over a data bus.
The foregoing features of this invention, as well as the invention itself, may be more fully understood from the following detailed description when read in conjunction with the accompanying drawings, in which:
FIG. 1 depicts a block diagram of a computer system having a co-processor integrated circuit in which the present invention may be applied;
FIG. 2 depicts a block diagram of the co-processor of FIG. 1;
FIG. 3 depicts the methods used by the co-processor of FIG. 1 to optimize DMA data transfers;
FIG. 4 is a flow chart diagram depicting the steps of a Per-Channel Retry count operation by co-processor 15 of FIG. 2;
FIG. 5 depicts a block diagram of a circuit used to determine ownership of the double buffers by the memory controller and PCI™ controller of FIG. 2;
FIG. 6 depicts a schematic diagram of the block diagram of FIG. 5;
FIG. 7 depicts a timing diagram for the operation of the elements comprising the schematic of FIG. 6;
FIG. 8 depicts a flow diagram of the Wait Enable functionality implemented by co-processor 15 of FIG. 2;
FIG. 9 depicts a flow diagram of the Backup Register operation as implemented in co-processor 15 of FIG. 2;
FIG. 10 depicts a block diagram of the interaction between the control structures used by the co-processor of FIG. 1.
FIG. 11 depicts a flow diagram of the DMA Read Semaphore operation as implemented in co-processor 15 of FIG. 2;
Referring to FIG. 1, a computer system 10 is shown to include a central processing unit (CPU) 12, a memory system 14, and a PCI™ chip set 11 interconnected by a private bus 17. Further, a co-processor integrated circuit 15, and an input/output (I/O) system 16 is shown interconnected with PCI™ chip set 11 by a system bus 18. The main purpose of Co-processor 15 is to perform compression (coding), decompression (decoding), and filtering of video data which is stored in memory system 14.
Video and audio data is transferred between memory system 14 and co-processor 15 via private bus 17, PCI™ chip set 11, and system bus 18. System bus 18 follows the Peripheral Component Interconnect (PCI™) standard which is capable of transferring data up to 133 Mbytes/second, although it is understood that the present invention could be modified for use with other bus standards and other system configurations by one of ordinary skill in the art.
Referring to FIG. 2, a block diagram of co-processor 15 is shown attached to system bus 18. Co-processor 15 comprises a PCI™ control unit 19 for communication with other connected PCI™ devices, a Filter and Motion Unit 20 for performing filtering of video data, as well as motion estimation and motion compensation, a slot machine 23 for coordinating the activities of the Filter and Motion Unit 20 and the memory controller 21, and a compression/decompression unit 25 for performing encoding and decoding of video data. The Filter and Motion Unit 20 is attached to a storage unit 24 which acts as a temporary buffer for input data and for calculation results.
The co-processor 15 includes a memory controller unit 21 for controlling access to the attached private co-processor memory 22. Private co-processor memory 22 stores video data to be compressed or decompressed and also stores other intermediate data types which are used in the process of compression and decompression. Further, co-processor 15 includes a double buffer unit 28 between memory controller 21 and PCI™ control unit 19 for providing smooth data flow between private memory 22 and the PCI™ bus as will be described below.
Since several types of data are transferred to/from system memory 14 using the attached system bus 18, the co-processor device is highly sensitive to the level of CPU activity on the system. In computer system 10, the Central Processing Unit 12 is a shared resource and therefore is required to perform many operations using the system bus. Therefore co-processor 15 has the difficult task of executing real time operations using the same bus as the CPU.
Co-processor 15 executes real time operations using system bus 18 because of the nature of its video data operations. Co-processor 15 has an option port 26 for receiving audio data, and a video input port 29 over which data is transferred at 30 frames per second. Only the necessary reference video frames are stored in private co-processor memory 22 in order to limit its size. As these frames are being operated on, co-processor 15 needs to access system memory at a sufficiently fast rate to insure that the entire operation completes in real time.
Referring now to FIG. 3, the methods of a Per-Channel Retry count 31, Buffer Management 32, Wait Enable 33, Back Up register 34, Gather/Scatter mapping 35, minimization of PIO writes 36, read semaphore 37, Service of DMA Transfers During FMU Latency 38, Valid bits 39, high and low water thresholds 40, and re-usable page tables 41 are shown to comprise the DMA data transfer functionality 30 of co-processor 15. Co-processor 15 uses these methods, independently and collectively, to optimize its bus bandwidth, or rather to minimize the time it takes to transfer a specified amount of data over system bus 18, and maximize its real time operation performance.
One method used here to optimize data bandwidth involves a method for determining the number of clock pulses that the PCI™ unit will wait before retrying an interrupted data transfer. The PCI™ bus protocol version 2.1 specifies that once a data transfer operation is initiated, the destination or target device can signal its inability to complete a data block transfer by asserting a bus control signal referred to as STOP. During a read operation the target device is required to terminate the transaction if it cannot drive data onto the PCI™ bus within 8 PCI™ clock cycles. In order to complete the interrupted transfer, the initiating device and target device are required to resume the data transaction at a future time. The initiating device, also referred to as the PCI™ master, makes the decision whether to retry the transfer immediately or postpone it until there is a higher probability that the target device is no longer busy, i.e. when the condition which terminated the prior data transfer has been resolved.
If the transfer request is immediately retried, there is a high probability that the target device is still busy or is still handling the interrupting condition. Therefore, a strategy of immediately retrying the transfer request may waste PCI™ bandwidth if the target device remains busy.
A better solution presented here is that the master device should wait a period of time before retrying the transaction so as to make efficient use of the PCI™ bus. The amount of time before retries, and hence also the performance of the PCI™ bus, is strongly dependent on the system in which it is implemented. In order to make optimum use of this system dependence, co-processor 15 implements parameterized switches to enable it to tune to any system in which it is implemented. Thus, by tuning the device to the system, optimum PCI™ performance can be achieved.
In the co-processor 15, one method that may be used to provide parameterized switches is through a Per-Channel Retry Count. The Per-Channel Retry count is part of the co-processor's ability to tune itself to specific system configurations. Co-processor 15 uses a plurality of data types, each represented by a separate data channel. For example, several of the channel types that are implemented by co-processor 15 are raw pixel data, compressed pixel data, motion estimation statistics data, motion compensation data, run length encoded data (RLE), audio read data, and audio write data. Based on the particular channel, and therefore on the particular data type, the device driver for co-processor 15 sets the number of cycles to wait before a retry request operation is to be performed after a data transfer is interrupted. The device driver specifies the Per-Channel Retry count when it initializes the data channels with DMA control information, either at the time the chip is first initialized for operation, or before the execution of each transfer.
Retry counts can be tuned on a per-channel basis to significantly improve DMA transfer performance for certain data types on the PCI™ bus. The Per-Channel Retry count is controlled by the co-processor's microcode which knows which data is to be transferred via DMA and what channel of DMA is to be used. Therefore when initiating a DMA transfer, the microcode transfers the Per-Channel Retry count associated with that channel to the PCI™ controller 19 which will execute the transaction. Data channels which have lower latency requirements, for example the motion compensation data channel, have a shorter Per-Channel Retry count period associated with them than is associated with less critical data channels. Less critical data channels can handle longer latencies and do not significantly affect other processes if the transfer duration is increased.
Referring now to FIG. 4, a flow diagram illustrating use of the Per-Channel Retry count is shown. A DMA transfer using the Per-Channel Retry count begins at step 50 when memory controller 21 has data which is ready to be transferred. At step 52 memory controller 21 sends a command to the PCI™ controller 19, over the internal command bus which connects the two units, to arbitrate for access to the PCI™ bus for the purpose of beginning a DMA operation. At the same time, the Memory controller 21 sends a 32 bit PCI™ address to the PCI™ controller 19 which indicates the address at which the DMA transfer should begin. Further the memory controller 21 sends a count value, which indicates the number of longwords to be transferred, and transfer qualifying information including the Per-Channel Retry count value, to the PCI™ controller 19. At step 54 PCI™ controller 19 acquires ownership of the bus, the target device signals acknowledgment of the address and that it is ready for the transfer of data, and the DMA operation begins. If the transfer is disconnected such that signal STOP is asserted before any data is transferred (step 56), PCI™ controller 19 will wait a period of time equivalent to the number of PCI™ clock pulses contained in the Per-Channel Retry count value before attempting to complete the transaction (step 58). Otherwise, if any portion of the data block has been transferred before the target asserts signal STOP, PCI™ controller 19 immediately attempts to complete the transaction (step 59).
In an alternate embodiment of the Per-Channel Retry count, which could be used by co-processor 15, the PCI™ controller 19 waits for a period of time equivalent to the number of PCI™ clock pulses contained in the Per-Channel Retry count value before attempting to complete any interrupted data transfer. When this embodiment is used, retry of a transfer is delayed regardless of whether any portion of the data block has previously been transferred.
A tuning capability such as the Per-Channel Retry count is unique among co-processor devices because most are designed to immediately retry the disconnected operation.
A second technique used to optimize data bandwidth is through improved buffer management. As described with reference to FIG. 2, co-processor 15 is comprised of a PCI™ controller unit 19 and a memory controller unit 21 which are closely coupled and work in cooperation with each other to maximize device efficiency. A double buffer unit 28 couples the two devices and is comprised of buffers 26 and 27.
Each of these buffers, 26 and 27, stores eight longwords of data sent from the memory controller 21 for transfer over the PCI™ bus using DMA. The buffers are further capable of buffering data received from the PCI™ bus 18 to be passed to memory controller 21. The double buffer configuration implements a FIFO between two different clocking domains using a single ported memory cell which enables continuous transfer of data between the PCI™ bus 18 and the private co-processor memory 22, and hence increases the amount of data that the PCI™ controller can transfer during a given DMA data transfer.
Referring now to FIG. 5, a block diagram is shown depicting the configuration of the double buffer unit 28. Ownership logic 80 is also shown receiving inputs from the PCI™ Controller 19 and the Memory Controller 21 that are used to determine the ownership of each buffer, 26 and 27.
A first aspect of the double buffer unit 28 operation is that a first buffer 26 is written to while a second buffer 27 is being read from, thereby eliminating the latency caused by having only a single buffer. In the case of DMA reads from memory system 14, the memory controller 21 reads data out of a first buffer 26 while the PCI™ unit 19 writes data into the second buffer 27. It should be noted that buffers 26 and 27 are interchangeable and therefore either buffer could be owned by the PCI™ controller 19 or the memory controller 21.
In the DMA write case where co-processor 15 is writing data to the memory system 14, ownership logic 80 determines that memory controller 21 should acquire ownership of a first data buffer 26 for data writes at the same time that the PCI™ controller 19 acquires ownership of a second buffer 27 for reads. When either the memory controller is finished writing to the first data buffer 26, or when the PCI™ controller is finished transferring the contents of the second buffer 27 to the PCI™ bus, ownership logic 80 specifies that ownership of that buffer is to be exchanged. When ownership of both buffers has been exchanged, the PCI™ controller thereafter transfers data out of the first buffer 26 and the memory controller writes data into the second buffer 27.
It should be noted that because buffer ownership may not always be synchronously exchanged, it is possible for both buffers to be owned by either memory controller 21 or by PCI™ controller 19. For example, in another aspect of the double buffer unit operation, ownership of both buffers is given to PCI™ controller 19 at the beginning of a DMA read operation since that is where the data is input for purposes of the data transfer to memory controller 21. When one buffer is filled with read data, ownership of that buffer is exchanged and memory controller 21 can empty it while the other buffer is being filled. Likewise, at the beginning of a DMA write operation, ownership of both buffers is given to memory controller 21 since that is where all the write data originates, for purposes of the data transfer to PCI™ controller 19.
Referring now to FIG. 6, one embodiment of a circuit for controlling ownership of one double buffer is shown and will be described with reference to FIG. 7. A second circuit (not shown) which is functionally similar to the circuit of FIG. 6 is used to control ownership of the second buffer. A timing diagram is shown in FIG. 7 which depicts a typical transition of ownership of double buffers between memory controller 21 and the PCI controller 19. It should be noted that for illustration purposes, the schematic diagram references each double buffer individually as buffer A and buffer B.
The depicted DMA write operation begins at time 100 with signals PCI-- OWNS-- A and MEM-- OWNS-- B(not shown) asserted, and signals MEM-- OWNS-- A and PCI-- OWNS-- B(not shown) de-asserted. At time 102, memory controller 21 is finished loading buffer B with data to be transferred to system memory and Controller 19 is finished emptying buffer A to the PCI™ bus. Therefore, at time 102, the device driver subsequently asserts signal PCI-- BUF-- RETIRED which causes the outputs of gates 200 and 210 to assert. The assertion of the output of gate 210 causes the output of gate 220, referred to as signal A-- XFER-- TO-- MEM, to assert at time 104.
The assertion of A-- XFER-- TO-- MEM resets the output of S-R flop 230 which in turn de-asserts signal PCI-- OWNS-- A at time 106. The output of S-R flop 230 is inverted by inverter 240 and input to synchronizer 250 which synchronizes it to the PCI™ clock. The synchronized output of 250, passes through one-shot device 260 and gate 270. The output of gate 270 asserts the output of flop 280 which, after passing through buffer 282, becomes signal MEM-- OWNS-- A at time 108. Thus, at time 108 the memory controller has acquired ownership of buffer A.
The transfer of ownership of buffer A back to the PCI™ controller 19 occurs when memory controller 21 completely fills buffer A. Signal XFER-- TO-- PCI-- A is asserted at time 110 when either input to gate 300 asserts. The inputs to gate 300 are asserted by two data paths. The first data path, referred to as signal START-- DMA-- READ asserts when a DMA read operation is beginning. The effect of this assertion is to transfer ownership of both buffers to the PCI™ controller because during a read operation, at least one buffer needs to be filled before the memory controller can operate on it. The second data path is comprised of a plurality of signals, beginning with signal A-- BUF-- EN. Signal A-- BUF-- EN is one of three inputs to AND gate 302 which is asserted when the memory controller is actively using buffer A. Signals C-- OUT-- CB-- H and INCR-- MEM-- ADDR are asserted when the address counter indicates that a full buffer has been operated on. When all three signals are asserted, signal XFER-- TO-- PCI-- A is asserted.
The assertion of XFER-- TO-- PCI-- A resets the output of S-R flop 280 which in turn de-asserts signal MEM-- OWNS-- A at time 112. Signal XFER-- TO-- PCI-- A also passes through inverter 304, synchronizer 306, and one shot device 308 before asserting the set input to S-R flop 230. The output of S-R flop 230 is therefore asserted which in turn asserts signal PCI-- OWNS-- A. At this point in the cycle, buffer A is again owned by PCI™ controller 19. The cycle will repeat when PCI™ controller 19 empties buffer A.
It should be noted that signal RETIRE-- BOTH-- BUFFERS only asserts when the circuit is in a reset state or when the entire DMA transaction has completed. Upon assertion of RETIRE-- BOTH-- BUFFERS, ownership of both double buffers is passed to the memory controller anticipating that the next data transaction will be a DMA write. This is beneficial because at the beginning of a DMA write operation, the memory controller 21 has to fill at least one buffer before the PCI controller 19 can begin a DMA transfer of data.
The double buffering of data between the PCI controller 19 and memory controller 21 has the advantage of sustaining a continuous flow of data from the co-processor 15 to the PCI™ bus 18, as well as from the PCI™ bus 18 to the private memory 22.
In terms of the design of the double buffer in co-processor 15, the duration of time for memory controller 21 to access data and write it into a buffer is designed to be comparable to the time that it takes the PCI™ controller 19 to load the same data onto the PCI™ bus. This access time is complicated by independent operations of the PCI™ bus, such as operations which occur during retry cycles, which significantly extends the duration of the data transfer.
Other complications to loading and unloading data to the double buffers arise when dealing with memory that implements a RAS and CAS addressing methodology. For example, in computer system 10 of FIG. 1, when a memory access crosses a page address boundary, it takes an additional amount of time to access the new page. The CAS access rate of private co-processor memory 22 elements is one quadword per four internal clock cycles. If the access crosses a page boundary, an additional eleven clock cycles are required to access the data which results in an access rate of one quadword per 15 clock cycles. Refresh cycles can also extend data transfer periods. For example, in computer system 10 of FIG. 1, if a refresh cycle is required while Memory controller 21 is performing a DMA transfer, an additional 22 clock cycles are added to the normal cycle time. It should be noted that the number of clock cycles are dependent on the type of memory used and are not limited by these illustrated values.
A further problem that affects access to the double buffers is when the target device de-asserts the target ready (TRDY) signal indicating that it is not ready to receive or transmit data. This has the effect of slowing down the DMA transfer and therefore, the time to fill one buffer may exceed the time to empty the other buffer or vice versa.
Therefore, except under the conditions described above, the double buffer configuration increases the data bandwidth across the PCI™ bus by allowing data to be transferred at a maximum rate based upon smooth data flow between the PCI™ controller 19 and the memory controller 21.
For the reasons stated in the previous section, the conditions causing a delay in the transfer of data also increases the latency of the data transfer which, if greater than 8 wait cycles, requires the bus master to relinquish control of the bus. In addition, the PCI™ protocol requires de-assertion of the FRAME signal prior to the transfer of the last longword of data. The combination of these two protocol elements requires PCI™ controller 19 to determine whether or not it can meet the latency requirement before it transfers the last data element from a double buffer. Therefore the PCI™ controller 19 is required to determine whether it should retain or relinquish control of the bus when the last data element of a buffer is transferred.
When the PCI™ controller 19 relinquishes control of the bus, it is required to re-arbitrate and re-acquire bus ownership before it is capable of transferring further data. Relinquishing and subsequently re-acquiring ownership of the bus significantly increases the duration of the transaction which therefore reduces the overall performance of the device and decreases its bus bandwidth. One solution to this problem is to provide the PCI™ controller 19 with a Wait Enable function.
Referring now to FIG. 8, a flow diagram illustrating use of the Wait Enable function is shown. When data becomes ready to be DMA transferred (step 60), PCI™ Controller 19 acquires ownership of the PCI™ bus (step 62). Subsequently, a DMA data transfer is initiated (step 64). Ideally, when PCI™ controller 19 transfers the next to last entry in the double buffer it currently has ownership of, for example buffer 26, the memory controller should be ready to relinquish control of its buffer, for example buffer 27. Otherwise, if the memory controller is filling or emptying its buffer at this point it will not be ready to release ownership of the buffer and as a result the transfer will stall. Therefore, prior to transferring the second to last data element, the PCI™ controller 19 checks the status of a Wait Enable control bit (step 66). If the Wait Enable control bit is set, when the PCI™ controller transfers the next to last entry in its double buffer 28 and the next buffer is not ready, signal IRDY is de-asserted and signal FRAME remains asserted (step 68). The de-assertion of IRDY while FRAME remains asserted, generates a Wait cycle on the PCI™ bus which allows the co-processor to retain ownership of the PCI™ bus although no data is immediately being transferred.
Typically a bus master can issue only a limited number of wait cycles (less than eight) before it is required to relinquish bus ownership. If the buffer being emptied or filled by the memory controller becomes available for ownership by PCI™ Controller 19 within a five wait cycle time period, co-processor 15 reasserts signal IRDY, transfers the last longword of the buffer, and the DMA transaction continues to execute using the next buffer. However, if the next buffer is not available before the five PCI™ clock cycle time period elapses, co-processor 15 relinquishes the bus and subsequently re-arbitrates to finish its DMA transaction.
Thus the Wait Enable function allows co-processor 15 to lock its internal resources, specifically those resources within the memory controller 21 and the PCI™ controller 19 that are required to continue the DMA transaction, to the DMA data transfer task. Such locking of resources results in maximization of PCI™ bus usage and bandwidth for co-processor 15.
For DMA writes, when the PCI™ unit attempts to transfer the last longword of a DMA buffer, it is possible that the target of the transfer will de-assert the TRDY signal, thereby not accepting the transfer. The design of co-processor 15 implements a back-up register which is loaded during each PCI™ bus data phase with the longword that is being written to the PCI™ bus.
Referring now to FIG. 9, a flow diagram illustrating use of the Backup Register is shown. When data becomes ready to be DMA transferred (step 70), PCI™ Controller 19 acquires ownership of the PCI™ bus (step 72) and begins the DMA operation (step 74). During the data phase of the DMA transfer, i.e. the time that a data element is placed on the PCI™ bus, it is also written to the Backup Register for temporary storage (step 76). If the target device asserts the STOP signal, indicating that the bus master should terminate the cycle on the last assertion of IRDY in the data transfer, then a bit indicating "back-up valid" is set (step 78).
When PCI ownership of the PCI bus, if the back-up valid bit is set, the first longword transmitted is sourced from the back-up register and not from the current address of the DMA buffer (step 79). This back-up mechanism therefore allows the PCI controller 19 to return the DMA buffer to the memory controller 21 for immediate use. Since the back-up register always holds the last data item, the buffer is no longer required after the last longword of data is read out.
Co-processors typically perform DMA transfers of data only into storage areas having pre-defined and fixed address space. However, through the use of Gather/Scatter tables stored in private co-processor memory 22, co-processor 15 writes directly to a virtual memory address space that the application indicates.
During the processing of video data, the software driver reserves areas of physical memory to store processed data. Since this data will need to be accessed to either display it or to process it further, and since application programs typically use virtual addresses, a mapping from virtual address to physical address is necessary. Co-processor 15 uses a Gather/Scatter map to read and write physical memory corresponding to the virtual memory accessed by the CPU.
Using a programmed I/O write operation, the driver code updates the Gather/Scatter map before the corresponding DMA operation takes place. When a DMA data transfer is executed, it uses the physical addresses stored in the Scatter/Gather map.
Referring to FIG. 10, Co-processor 15 contains a plurality of control structures 400 that support the transfer of different types of DMA data using a common memory controller microcode flow. A block diagram is provided for illustrating the interaction between these control structures.
The block diagram comprises a plurality of DMA data storage buffers 401 for storing data to be DMA transferred, a circular linked list 402 associated with each type of data used by co-processor 15 comprising pointers to each of the data buffers 401, and a channel descriptor array 404 comprising pointers to each of the circular linked lists 402, and pointers to another circularly linked list 406. Circularly linked list 406 comprises pointers to a plurality of Gather/Scatter tables 408 for mapping virtual addresses to physical addresses. The control structures 400 further include a schedule FIFO array 410 comprising pointers to a third plurality of circularly linked lists 412. Each of the third plurality of circularly linked lists 412 is referred to as a schedule fifo and comprises pointers back to locations in the Channel Descriptor Array 404.
For illustration purposes, consider that a particular video frame being operated on performs the transfer to system memory 14 of one packet of motion estimation data, followed by a packet of RLE data, followed by a packet of pixel data. When the first packet of motion estimation data is ready to be transferred to system memory 14, the Channel Descriptor Array element for motion estimation data 414 is accessed. The Channel Descriptor Array element for motion estimation data 414 contains a pointer 416 to the tail of the first circular linked list 402 which provides a pointer 418 into the DMA data storage buffers 401 where the data is stored.
When the data is required by co-processor 15, the device driver accesses the Schedule FIFO Array 410 which comprises elements referring to DMA read data transfers 420, DMA write data transfers 422, and audio data transfers 424. Since the required data is DMA write data, element 422 is accessed to provide a pointer 426 to the location of the Write Schedule Fifo circular linked list 412. The first data that is requested is Motion Estimation data. Therefore, the accessed Write Schedule Fifo element 428 comprises a pointer 430 to the location in the Channel Descriptor Array 404 of the Motion Estimation element 414. The Motion Estimation element 414 provides an unload pointer 432 to circular linked list 402 which points to the DMA data storage buffer 434 containing the Motion Estimation data that was previously stored. The required data is then accessed by the co-processor device. The same steps are repeated for the RLE and Pixel data but with the pointers pointing to the appropriate locations for these types of data.
The control structures shown in FIG. 10 allow for the operation of a DMA data transfer method for multiple channels of data, each having different data lengths and characteristics, using a single program flow. It also has the benefit of allowing multiple Gather/Scatter tables, such as 408, to be set up for a single data channel via the circular linked list 406. Therefore, when co-processor 15 is executing DMA transfers, the software driver can set up page tables for future DMA operations to reduce the overhead of DMA operations and thereby increase performance.
While the specified control structure successfully reduces data bandwidth for a single bus master device, the cumulative effect of data transfers across the PCI™ bus should also be considered. It is well known in the industry that transferring a plurality of smaller packets of data from a device provides time slices for other devices to acquire ownership of the bus.
The advantages of transferring small packets are particularly relevant to data that is latency critical. For example, in the computer system of FIG. 1 audio data is more latency critical than other channels of data used by co-processor 15. Audio data is extremely latency critical because any delay in transfer will cause corruption of voice or sound characteristics when the video and audio data are displayed. Such corruption of audio data typically manifests itself in perceived pauses between sounds which are detectable by the user of the system. Therefore it is unacceptable for a system to allow latency critical audio data to be preempted by less critical data which is in the process of a long DMA transfer.
DMA transfer of small packets of data allows a system to avoid problems similar to those mentioned above for audio data. In the present invention, reduction of data packet size is performed by reducing the size of data buffers 400 and by reducing the granularity of data referenced by each element of each Schedule FIFO Array 412.
Programmed I/O writes are used by CPU 12 to set up and deposit data into the control structures described above. An aspect of the present invention allows programmed I/O writes to be minimized through a method for re-using page table entries.
A page table is a list of physical page addresses that correspond to each virtual memory page. When a memory address is requested by the co-processor unit, the page table entry associated with the requested address is accessed to generate the physical address of the data. A Gather/Scatter table 408, as depicted in FIG. 10, is such a page table.
Significant system resources are required to keep the Gather/Scatter tables valid, since updates are performed using PIO read and write operations. For example, in co-processor 15 each page table entry comprising a Gather/Scatter table is subdivided into four entries. One entry is the system memory address of the memory page of interest, another is the number of quadwords on that page, a third is comprised of transfer qualifiers relating to the data transfer, and a fourth is unused. Since each page table entry is updated through the use of a PIO write, each page of a DMA transfer represents four PIO writes. Accordingly, since a typical DMA transfer of pixel data maps into approximately forty pages of physical memory, each of which is represented by a page table entry, a forty page DMA transfer results in one hundred and sixty PIO writes. While a DMA transfer of pixel data is used in the given example, this calculation applies to all types of data transferred by co-processor 15. Therefore, since a typical frame constitutes approximately ten DMA transfers, the system will perform approximately 1600 PIO writes during a single frame processing time period.
Referring again to FIG. 10, in order to reduce the number of PIO writes and hence reduce the amount of system overhead required, a further aspect of the present invention is to re-use formerly allocated Gather/Scatter table entries. Since the Gather/Scatter tables are stored in private co-processor memory 22, the driver merely adjusts the relevant pointer contained in the related circular linked list 406 to point to the appropriate re-usable page table, when the entries are ready to be re-used. Such a software adjustment saves the substantial system overhead associated with 160 PIO writes by eliminating the step of allocating new Gather/Scatter tables in memory.
Similarly if the write schedule fifo elements are each pre-written into private co-processor memory 22, the same reduction can be realized upon subsequent re-use of these same elements. Therefore, upon implementation of the present method for re-using page table entries, the system of FIG. 1 can reduce the required number of PIO writes to approximately 20 or less per frame. Using these 20 PIO writes, co-processor 15 can sustain itself independently from the CPU for approximately 2.2 million cycles. Accordingly, with minimal overhead the co-processor device 15 receives a high degree of autonomy from the CPU which increases the performance of the device and of the overall system.
During DMA write operations, Co-processor 15 generates write data to be transferred to system memory and therefore has the capacity to schedule when DMA write transfers take place. However, during DMA read operations the target device supplies the data to be transferred, rather than co-processor 15, and therefore these operations are more difficult to schedule. Thus, an aspect of the present invention facilitates scheduling of DMA read data transfers through the use of a DMA read semaphore.
Referring to FIG. 11, when co-processor 15 is performing a DMA data transfer, a DMA read semaphore is used by Central Processor Unit 12 to inform it that further data is ready to be transferred. Such a DMA read semaphore is initialized when the co-processor's driver software deposits the number of longwords to be transferred to a location in private co-processor memory 22 (step 500). When data is ready to be transferred (step 502) the driver software writes to a register, referred to as the video semaphore register, which causes an interrupt to be generated in the memory controller 21 (step 504). The interrupt indicates to the memory controller 21 that there is DMA read data available to be DMA transferred.
The value written to the video semaphore register is protected from corruption because the driver cannot subsequently write to the video semaphore register until memory controller 21 acknowledges the assertion of the interrupt. Accordingly, memory controller 12 is able to maintain an accurate list of pending DMA read transfers which will be serviced in the order that the associated interrupts are received.
When memory controller 12 begins to service a pending DMA read transfer, its microcode schedules the transaction by sending the address to be accessed and a count of the number of data elements to be read, to PCI™ Controller 19 (step 506). Subsequently, PCI™ Controller 19 arbitrates to acquire ownership of the bus (step 508) and, upon becoming bus master (step 510), initiates the actual DMA read data transfer.
Typically, DMA data transfers are initiated as necessary by the memory controller 21. However, if a backlog of data to be transferred to system memory is generated, Co-processor 15 has the capability to give the data transfers the highest priority of scheduled operations for the purpose of shipping the data out quickly and clearing the backlog.
To determine if a backlog is forming, by monitoring the amount of data waiting to be transferred, Co-processor 15 maintains a count of the number of DMA packets that are ready to be transferred to system memory. If the count rises above a pre-defined high water threshold, indicating an imminent backlog condition, the co-processor device sets an interrupt priority bit in the memory controller microcode.
As described in FIG. 2, Co-processor 15 comprises a Slot machine unit 23 which is a microsequencer device that coordinates the activities of the memory controller 21 and the FMU 20. Slot machine 23 synchronizes the retrieval of data from private co-processor memory 22 with the data manipulation needs of FMU 20. When slot machine 23 is synchronizing data transfers between these devices, it cannot execute the next instruction in its program flow until the memory controller unit 21 and the FMU 20 both signal that their respective data activities are complete. Accordingly, to make these operations as efficient as possible, the Slot machine microcode attempts to balance the execution times of both dispatches (to the FMU and the Memory controller) such that they complete at approximately the same time.
The condition sometimes occurs where the Memory Controller finishes its activity before the FMU does. When this condition arises, the memory controller uses the otherwise wasted clock cycles to support DMA data accesses. On the other hand, when the FMU activities takes shorter than Memory controller activities, time is not normally available to support DMA data accesses. When the FMU 20 and Memory controller 21 complete their respective activities, slot machine 23 is free to execute the next instruction in its program flow, and data processing continues.
However, when the interrupt priority bit in the memory controller microcode is set, it commands the memory controller not to wait for a period of time when the FMU is busy to perform DMA transfers. Rather, when this bit is set, the memory controller is required to execute pending DMA transfers as soon as possible to reduce the number of data packets waiting to be transferred. When the count is reduced below a pre-defined low water threshold, the interrupt priority bit is returned to the normal operating value and operation continues as described above.
As previously specified, during compression and decompression operations, the memory controller 21 is storing and retrieving data to/from the private co-processor memory 22 for the FMU 20. Simultaneously memory controller 21, under interrupt control, is also storing and retrieving data from DMA data transfer operations. Because of these simultaneous storage operations, it is possible that the FMU could attempt to access a packet of data that has not been completely DMA transferred into memory 22.
To prevent this problem from occurring, co-processor 15 sets a valid bit as soon as it completes a DMA read cycle. Accordingly, Co-processor 15 will not begin encoding any video data until the Valid bit associated with its data packet is set. Therefore, this mechanism synchronizes the compression operation and the DMA data transfer operation so that no operation will begin until all the required data has been retrieved into memory 22 and is ready to be used.
A further optimization concerning the Valid bit applies when co-processor 15 performs DMA write operations for RLE channel data. The amount of buffering required for an RLE compressed frame is variable. Therefore, when operating on RLE data the driver program allocates a sufficient number of buffers to accommodate the theoretical maximum limit of the variable length RLE data.
The private co-processor memory 22 has a size which is typically 2 megabytes. The cost for 2 megabytes of DRAM is approximately equivalent in price to the price of the co-processor device itself. Because the goal of a successful co-processor design is to be low cost, any increase in the size of memory will constitute a significant increase in the cost of the design. To this end, it is expensive to dedicate a large buffer to accommodate RLE data if the buffer will typically never be fully used. Therefore, co-processor 15 implements the valid bit concept to assist in accommodating RLE data buffers.
Co-processor 15 allocates a plurality of buffers having a storage capacity that is less than the absolute maximum possible data size for storage of RLE data. As each RLE data buffer is filled, the device driver simultaneously sets its valid bit. Accordingly, when the data is transferred out of the RLE data buffer, the valid bit is cleared. The result of this method is that the RLE data buffers can be re-used, thus significantly reducing the required number of data buffers to be allocated. Thus, only when all the re-usable buffers are full of RLE data with valid bits set will the device have to wait for a free buffer.
As described above, many problems can arise when transferring data in a PCI™ environment. Accordingly the methods specified herein, implemented individually or in concert with others, solve these problems by providing mechanisms for optimizing data transfer rates of high bandwidth DMA transfers over a PCI™ bus.
Having described a preferred embodiment of the invention, it will now become apparent to one of ordinary skill in the art that other embodiments incorporating its concepts may be used. It is felt, therefore, that this embodiment should not be limited to the disclosed embodiment, but rather should be limited only by the spirit and scope of the appended claims.
|Cited Patent
|Filing date
|Publication date
|Sep 8, 1994
|Sep 2, 1997
|International Business Machines Corporation
|System for merging plurality of atomic data elements into single synchronized file by assigning ouput rate to each channel in response to presentation time duration
|Jul 24, 1995
|Mar 17, 1998
|Symbios Logic Inc.
|Method and apparatus for enhancing throughput of disk array data transfers in a controller
|Jul 24, 1995
|Mar 31, 1998
|Symbios Logic Inc.
|Method and appartus for transferring data in a controller having centralized memory
|Jul 28, 1995
|Mar 31, 1998
|Motorola, Inc.
|Method, device, microprocessor and microprocessor memory for instantaneous preemption of packet data
|May 31, 1996
|May 5, 1998
|International Business Machines Corporation
|Apparatus for slave DMA emulation on a computer system bus
|May 31, 1996
|May 5, 1998
|International Business Machiens Corporation
|Method for slave DMA emulation on a computer system bus
|Citing Patent
|Filing date
|Publication date
|Apr 1, 1998
|Oct 29, 2002
|Intel Corporation
|Scheduling of direct memory access
|Apr 13, 2000
|Mar 4, 2003
|Fujitsu Microelectronics America, Inc.
|Method and microprocessor with fast program downloading features
|Oct 20, 2000
|Mar 16, 2004
|Renesas Technology Corp.
|Signal processing device with bus ownership control function
|Oct 17, 2000
|Oct 12, 2004
|High performance battery backed ram interface
|Mar 20, 2002
|Dec 14, 2004
|Hewlett-Packard Development Company, L.P.
|Methods and apparatus for control of asynchronous cache
|May 2, 2001
|Aug 30, 2005
|Portalplayer, Inc.
|Multiprocessor communication system and method
|Sep 13, 2002
|Sep 19, 2006
|Dynamic NV-RAM
|Oct 31, 2003
|Sep 4, 2007
|Intel Corporation
|Method and apparatus for high throughput short packet transfers with minimum memory footprint
|Apr 1, 2003
|Nov 27, 2007
|Broadcom Corporation
|Memory access engine having multi-level command structure
|Mar 27, 2007
|May 20, 2008
|Non-volatile memory storing critical data in a gaming machine
|Sep 8, 2006
|Jun 24, 2008
|Non-volatile memory storing critical data in a gaming machine
|Oct 12, 2004
|Jun 24, 2008
|International Business Machines Corporation
|Data gather scatter—redistribution machine
|Aug 4, 2004
|Aug 12, 2008
|High performance battery backed ram interface
|Nov 27, 2007
|Jul 21, 2009
|Broadcom Corporation
|Memory access engine having multi-level command structure
|Nov 23, 2004
|Sep 22, 2009
|Alcatel-Lucent Usa Inc.
|Adaptive object level locking
|Jul 16, 2007
|Mar 8, 2011
|Non-volatile memory storing critical data in a gaming machine
|Mar 3, 2006
|May 31, 2011
|Non-volatile memory management technique implemented in a gaming machine
|May 28, 2008
|Jun 14, 2011
|International Business Machines Corporation
|Data gather scatter—redistribution machine
|May 2, 2001
|Aug 9, 2011
|Nvidia Corporation
|Cross bar multipath resource controller system and method
|Mar 3, 2006
|Oct 8, 2013
|Game removal with game history
|Oct 7, 2013
|Feb 24, 2015
|Game removal with game history
|May 2, 2001
|Nov 7, 2002
|Kim Jason Seung-Min
|Multiprocessor communication system and method
|May 2, 2001
|Nov 7, 2002
|Kim Jason Seung-Min
|Cross bar multipath resource controller system and method
|Sep 13, 2002
|Apr 17, 2003
|Nelson Dwayne R.
|Dynamic NV-RAM
|Mar 20, 2002
|Sep 25, 2003
|Naffziger Samuel David
|Methods and apparatus for control of asynchronous cache
|Apr 1, 2003
|Mar 11, 2004
|Macinnis Alexander G.
|Memory access engine having multi-level command structure
|Oct 31, 2003
|May 13, 2004
|Leete Brian A.
|Method and apparatus for high throughput short packet transfers with minimum memory footprint
|Aug 4, 2004
|Jan 13, 2005
|High performance battery backed ram interface
|Oct 12, 2004
|Mar 17, 2005
|International Business Machines Corporation
|Data gather scatter - redistribution machine
|Nov 23, 2004
|Jun 16, 2005
|Mike Dvorkin
|Adaptive object level locking
|Sep 8, 2006
|Jan 11, 2007
|Dynamic NV-RAM
|Mar 27, 2007
|Jul 26, 2007
|Non-volatile memory storing critical data in a gaming machine
|Mar 3, 2006
|Sep 6, 2007
|Game removal with game history
|Mar 3, 2006
|Sep 6, 2007
|Non-volatile memory management technique implemented in a gaming machine
|Jul 16, 2007
|Nov 15, 2007
|Non-volatile memory storing critical data in a gaming machine
|Oct 9, 2007
|May 1, 2008
|Kenichi Ishii
|Data transfer apparatus and data transfer method
|Nov 27, 2007
|Jun 5, 2008
|Macinnis Alexander G
|Memory access engine having multi-level command structure
|May 28, 2008
|Feb 5, 2009
|International Business Machines Corp.
|Data gather scatter - redistribution machine
|Jul 21, 2009
|Nov 12, 2009
|Macinnis Alexander G
|Memory access engine having multi-level command structure
|Apr 30, 2002
|Nov 7, 2002
|Portalplayer, Inc.
|Multiprocessor communication system and method
|Oct 8, 2003
|May 21, 2004
|Koninklijke Philips Electronics N.V.
|Data processing apparatus with address redirection in response to periodic address patterns
|U.S. Classification
|710/110, 710/113, 710/117, 710/124
|International Classification
|Cooperative Classification
|European Classification
|Jan 9, 2002
Owner name: COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P., TEXAS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DIGITAL EQUIPMENT CORPORATION;COMPAQ COMPUTER CORPORATION;REEL/FRAME:012447/0903;SIGNING DATES FROM 19991209 TO 20010620
|Mar 24, 2003
|Fee payment
Year of fee payment: 4
|Jan 21, 2004
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS
Free format text: CHANGE OF NAME;ASSIGNOR:COMPAQ INFORMATION TECHNOLOGIES GROUP, LP;REEL/FRAME:015000/0305
Effective date: 20021001
|Apr 19, 2007
|Fee payment
Year of fee payment: 8
|Apr 19, 2011
|Fee payment
Year of fee payment: 12
|Nov 9, 2015
Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, TEXAS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:037079/0001
Effective date: 20151027


text:
Karachi, Sept.18 : Pakistan head coach Waqar Younis is confident that his side can win the upcoming three-match series against England, if they repeat the same form they had shown during their match against New Zealand and Australia last year.
The 43-year-old revealed that compared to the limited-over series, his side is more focused in Test matches, the Express Tribune reported.
Commenting on the absence of off-spinner Saeed Ajmal, Waqar said that Pakistan spinners like Yasir Shah and Zulfiqar Babar recently displayed some really good performances, and hoped they would repeat their form against England too.
He added that his team is used to the pitches in UAE, saying that it is like a second home for Pakistan so they could do well.
Pakistan will play three Test matches, four ODIs and three T20 internationals against England in United Arab Emirates from October 13.(ANI)


text:
Art is a good investment?
Apparently so in some cases. Usually I hate art (that's because it all looks like garbage to me), but this article was pretty stunning: "In 1998, NYU business school professors Michael Moses and Jianping Mei began an unusual experiment. They would track every transaction involving objects that had sold more than once at auction at the major New York houses ...
Comments Off on Art is a good investment?
My Free Insider's Kit will show you how to earn more money


text:
Samsung destroyed many hearts when it declared that its forthcoming main smartphone the Galaxy S8 wouldn't find an MWC launching. It was in the news again quite recently when the leaves of the approaching main leaked online.
Analysts say that its sib Samsung Galaxy S8 Plus would do with regard to sales than Galaxy S8.
Galaxy Flagship Smartphones Past Sales Records
During the launching of Galaxy S6 advantage and Galaxy S6, in 2015, Samsung made a serious miscalculation.
The entire premise turned out to be a total wreck and it became apparent that folks were interested in purchasing the premium and fashionable Galaxy S6 advantage over the Galaxy S6, because of the superior version's double- screen that was curved.
As it didn't produce enough Galaxy S6 advantage handsets to satisfy the tremendous demand, owing to this little blunder, Samsung lost out on lots of prospective sales. Per reports, both the associates that were retail and carrier associates demanded more of Galaxy S6 advantage compared to the Galaxy S6.
Estimated computations say that 70 percent of Galaxy S7 sales were credited to Galaxy S7 edge
Galaxy S8 Plus vs Galaxy S8
With Samsung gearing up to start Galaxy S8 Plus and the Galaxy S8, the rivalry will be a little challenging this time as both the smartphones will purportedly be featuring a double-border curved screen and characteristics that are similar.
The single facet which might discern both versions might be the screen sizes.
Samsung, predicated on its Galaxy smartphone encounters that are previous, will be expecting the Galaxy S8 Plus outsells S8 to the Galaxy. But, the very fact that both versions may place nearly indistinguishable attributes may make this year's sales forecasts a little crafty.
© 2016 Technology Times, All rights reserved. Don't copy without permission.
Let us block ads (Why?)


text:
Radha Krishnan Hall stands out for its unique culture, which is woven around the principle of unity, especially its Wing culture, where boarders of all years live together, giving excellent exposure and enrichment to a RKite's life. RKites of yesteryears occupy some of the most important positions in industry and academics. RK Hall has always stood as one of the foremost in the campus, be it sports, so-cults or the coveted Illumination.
Phone (Office) : +91-3222-281150
Phone (Mess) : +91-3222-281151
Phone (General) : +91-3222-281152
Warden : Prof. R K Pradhan
Phone (Office) : +91-3222-282316
Phone (Residence) : +91-3222-282317, +91-3222-
Email : firstname.lastname@example.com
Assistant Warden : Prof. Gnaneshwar Nelakanti
Phone (Office) : +91-3222-283656
Phone (Residence) : +91-3222-283657, +91-3222-
Email : firstname.lastname@example.com
Assistant Warden : Prof. Arindam Basu
Phone (Office) : +91-3222-283366
Phone (Residence) : +91-3222-283367, +91-3222-
Email : email@example.com


text:
NEW YORK (AP) — Jimmy Fallon's house band The Roots appear not to be fans of Republican presidential contender Michele Bachmann.
As Bachmann strode on to the stage for an appearance on Fallon's "Late Night" early Tuesday, the show's band played a snippet of a Fishbone song called "Lyin' Ass Bitch."
The song begins with a distinctive "la la la la la la la la la" refrain — the only words audible before Bachmann, smiling and waving to the audience, sat down. The song itself, about a relationship gone wrong, isn't political.


text:
Gogebic County to oversee dredging of Oman's Creek
LITTLE GIRL'S POINT — The Michigan Department of Natural Resources has agreed to provide $20,000 for Gogebic County to continue dredging operations at Oman's Creek this year, resolving a few years of negotiations.
As a result, the Gogebic County Forestry and Parks Commission is seeking bids on dredging the boat access site at Little Girl's Point.
The site is owned by the state of Michigan and has historically been operated by the MDNR. The creek mouth often closes with strong north winds.
The forestry and parks commission has agreed to assist the MDNR, on a trial basis, by operating and maintaining the landing site for the 2013 boating season, ensuring public access to Lake Superior for small boats at the creek north of Ironwood.
Eric Oman previously dredged the site for the MDNR, but he has retired.
The county forestry commission will select a contractor to perform dredging at the channel, as authorized in permits issued by the U.S. Army Corps of Engineers and Michigan Department of Environmental Quality.
When a bidder is selected, a dredging schedule will be drafted and made available to the public. Dredging will be subject to weather conditions and funding.
Questions about the dredging and the bidding process may be directed to the county forestry and parks commission at 906-663-4428.


text:
DIY WEDDING: Pro's & Con's
21 September 2016 / Real Weddings/ Wedding Planning
DIY weddings are SO in right now. There are many couples who are attempting to do the whole thing from scratch and some, just add a few small touches and details to make it feel more personal.
It may look fairly easy and straight forward, to pull off right?
Read on to find out about the Pro's and Con's of planning a DIY Wedding straight from our real-life bride Bonnie!


text:
Panemunė, Kaunas
From Wikipedia, the free encyclopedia
(Redirected from Panemunė (Kaunas))
Panemunė is an elderate in the Lithuanian city of Kaunas, that was formally incorporated into Kaunas in 1931. It is located on the left bank of the Nemunas River. It occupies 24.78 hectares, with 22,140 inhabitants. The elderate encompasses the neighbourhoods of Vaišvydava, Vičiūnai, Panemunė and Rokai.[1]
A vast pine wood occupies a significant area in this neighbourhood. Neorenaissance style Holy Virgin Mary church built in the middle of the 19th century is located in Panemunė elderate.
- ^ (Lithuanian) Oficial statistics page of the Elderate
- (Lithuanian) Official Panemunė elderate webpage
External links[edit]
- Website of Kaunas city
- Kaunas travel guide from Wikivoyage
- (Polish) Poniemoń (2.) (Panemunė) in the Geographical Dictionary of the Kingdom of Poland (1887)
Coordinates: 54°51′40″N 23°57′50″E / 54.86111°N 23.96389°E
|This Lithuanian location article is a stub. You can help Wikipedia by expanding it.


text:
Colder Beer is Better. It's Science.™
We've been absolutely flattered by the response and overwhelming interest in representing and/or selling BottleKeeper®! As of now, we're not able to fill wholesale requests but are working to expand retail distribution.
If you're interested in purchasing BottleKeeper in bulk for resale, please give us a bit of info via the link below, which will add you to the wait list -- we'll let you know as soon as we're ready for greater distribution.
Thanks in advance for your patience!


text:
|<< Previous book
|Next book >>
The Texas Ranger's Bride / His Unforgettable Fiancee(2015)
An omnibus of novels by Teresa Carpenter and Rebecca Winters
The Texas Ranger's Bride Assigned to protect stunning celebrity Kellie Parrish from a dangerous admirer, lawman Cy Vance has the perfect ploy: marriage. It's just a job...until Cy finds himself wanting to stay by Kellie's side for some decidedly unprofessional reasons! His Unforgettable Fiancee A man has been brought into Sherriff Grace Delaney's station with a head injury and no memory of who he is. Grace is his only hope of unearthing his identity. But uncovering the mysterious billionaire's past could be the key to a magical future...
Similar Books by other authors...
Used availability for Teresa Carpenter's The Texas Ranger's Bride / His Unforgettable Fiancee
See all available used copies of this book at Abebooks UK or Abebooks US
Paperback Editions
July 2015 : UK Paperback
|Title: The Texas Ranger's Bride: The Texas Ranger's Bride / His Unforgettable Fiancee (Lone Star Lawmen, Book 1)
Author(s): Rebecca Winters, Teresa Carpenter
ISBN: 0-263-25156-X / 978-0-263-25156-2 (UK edition)
Publisher: Mills & Boon
Availability: Amazon UK Amazon CA
Genre Pages


text:
Donnie Darko Reviews
Top Critic
October 26, 2001
This set-up and development is fascinating, the payoff less so.
Full Review | Original Score: 2.5/4
July 26, 2004
The original was a movie for all those castaways who believe in unexplained phenomenon; the new version reads like a handbook on how to pick up women.
February 13, 2001
A mish-mash of disparate, non-cohesive ideas, the sort of film that thinks it's brilliant just because no one understands it.
Full Review | Original Score: C-
Top Critic
June 8, 2007
Donnie Darko has plenty of problems. But most stem from a young filmmaker overswinging on his first time up to the plate and hitting a deep fly out rather than a home run.
October 26, 2001
Although it claims to be very original, much of Donnie Darko is derivative.
Top Critic
October 25, 2001
Just another self-absorbed teen chronicle, with the added twist of a little time travel and a surprise ending.
Read More | Original Score: 1.5/4
Top Critic
October 25, 2001
Kelly is unable to give the movie the kind of pacing that would make us laugh and shock us simultaneously, because he's too infatuated with an aura of hand-me-down gloom.
Read More | Original Score: 2/5
June 15, 2002
Donnie Darko promises a feast, but when the film ends, you are left only with the scraps.
Read More | Original Score: 68/100
November 29, 2001
A made-to-order cult item.
Full Review | Original Score: 60/100
October 26, 2001
There is just too much going on in Donnie Darko.
Read More | Original Score: 2.5/4
Top Critic
October 26, 2001
If this movie ever figured out what it wanted to be when it grows up, it would be a terrific one.
Full Review | Original Score: 2/4
Top Critic
October 26, 2001
First-time director-writer Richard Kelly draws on a number of intriguing elements ... without including a single, crucial gem that pulls everything together.
October 29, 2001
The movie remains a discombobulating muddle, largely because Kelly is unable or unwilling to resolve the myriad contradictions and confusions that muddy the waters.
Top Critic
January 25, 2002
Shows plenty of promise, but it's somewhat self-involved and won't appeal to audiences who like a straightforward -- even if fantastical -- narrative.
Full Review | Original Score: 3.5/4
December 6, 2005
You either love it or hate it. For those who loved it, I have only one word: overrated.c
Full Review | Original Score: 2/5
October 26, 2001
After nearly two hours of the titular troubled teen asking borderline supernatural questions that are never quite answered, all we get is a head-scratching ending that's more frustrating than intriguing.
April 6, 2017
It remains an aesthetically filmed blend of off-beat comedy, mind-boggling sci-fi, and subjective storytelling that serves as a singular and timeless piece of cinema.
Full Review | Original Score: 8/10
January 10, 2017
Donnie Darko rightly made a star of Gyllenhaal.
Full Review | Original Score: 5/5
December 19, 2016
As pop as it is arthouse, as funny as it is tragic, Donnie Darko remains a remarkable one-off that's easy to adore.
Full Review | Original Score: 5/5
October 24, 2001
It's ultimately Kelly's inventive storytelling and the myriad of complex themes he explores that capture one's imagination and, in this reviewer's case, re-ignite one's passion for the medium.


text:
Patairaku no Oni
28,769pages onAdd New Page
this wiki
this wiki
Patairaku no Oni was an oni of the Shadowlands who commanded a group of goblins.
External Links Edit
- Patairaku no Oni (The Coming Storm)
|This Shadowlands related article is a stub. That means that it has been started, but is incomplete. You can help by adding to the information here.


text:
Search for:
020 7650 1200
Illness and injury
International claims
Asserting your rights
Client stories
Our people
News and events
What is an inquest?
When will a Coroner hold an inquest?
Show Site Navigation
Illness and injury
International claims
Asserting your rights
Client Stories
Our people
About us
News and events
Legal glossary
Funding your case
Claims for children and people unable to instruct solicitors for themselves
The Court of Protection and the Office of the Public Guardian – the basics
What is an inquest?
When will the Coroner investigate the circumstances of a death?
Who can participate in a Coroner's investigation?
What questions will a Coroner address in his or her investigation into a death?
When will a Coroner hold an inquest?
When will a jury be called to an Inquest?
What will the outcome of the Coroner's investigation be?
How can we help you with an Inquest?
What funding is available for representation at an Inquest?
Translators/foreign languages
Our complaints policy
Our equality and diversity policy
Ask a question
Useful links
Contact us
When will a Coroner hold an Inquest into a death as part of his investigation?
Not every
that it is initiated by a Coroner will lead to an Inquest being held.
If the Coroner is satisfied that following a post-mortem examination or other preliminary investigations he or she is able to establish that there is no reason to suspect that the circumstances listed in the Coroners and Justice Act (as listed above) apply and he is able to reach a conclusion of how the deceased died without any further inquiry, the investigation must be discontinued and no Inquest will be held.
However, if the Coroner feels unable to establish the circumstances of death and he or she remains concerned that the deceased died in "violent" or "unnatural" circumstances, an Inquest must be held. An Inquest will be held in public in all but exceptional circumstances, for example when there are issues of national security at stake.
Under the new Coroner's Rules, if a Coroner does call an Inquest it must be must completed within six months of the date on which the Coroner made aware of the death, or as soon as is reasonably practicable after that date. If an Inquest does not conclude within a year of the death, the Chief Coroner must be notified and the reasons for the delay be set out.
For more information please contact
Suzanne White
020 7650 1200
at Leigh Day for information and support about inquests.
Share this page:
Print this page


text:
Last week it was reported that the Pushdo botnet, used to send spam using the Cutwail spamming module, was taken down, thanks to the efforts of several security researchers. Thirty command-and-control (C&C) servers of the Pushdo/Cutwail botnet were identified, almost 20 of which were taken down after their Internet hosting providers were notified.
So far, the takedown appears to have been effective. Our monitoring indicates that the volume of spam sent using the Cutwail bots has significantly decreased. Our monitoring of the C&C servers Pushdo used indicates that the botnet has fallen silent since the takedown.
It's too early to see if this particular takedown will have real long-term effects. There have been many takedowns before such as that of McColo in late 2008. However, in many of these cases, the affected botnets were able to recover and resume their operation within weeks.
Taking down botnets is a good thing but is not enough to stop the spam pandemic.
Leave a Reply
You must be logged in to post a comment.


text:
Author: Joel Yoker, Principal Consultant
A reader recently sent in a question about the GPO Import script and a syntax error they received at line 356. We were able to reproduce the error and it appears to be a "cut and paste" error between the blog post and Notepad. It appears that that carriage returns are added between each line when you cut the text from the blog post in Internet Explorer and paste it directly into Notepad.
Here are the lines that are causing the syntax error:
WScript.Echo "USAGE: cscript.exe //nologo " & WScript.ScriptName & " [/OPTIONS]" & _
VbCrLf & _
If you take out the extra lines added during the "cut and paste", the script runs fine and the "& _" sections of the statement work without the syntax error. Essentially, this block of code needs to look like this:
WScript.Echo "USAGE: cscript.exe //nologo " & WScript.ScriptName & " [/OPTIONS]" & _
VbCrLf & _
VbCrLf & "Script to import FDCC Group Policy Objects (GPO)" & _
VbCrLf & "into a given Active Directory domain. (Note: Requires" & _


text:
Public Works
Click here for directions
Address: 431 Haveg Road
Middletown, DE 19709
Phone: (302) 378-2211
Fax: (302) 378-5719
Business Hours: 7 a.m. - 3:30 p.m.
Director of Public Works
(302) 378-2211
Electric Department
Foreman - Shawn Lane
(302) 378-5143
Responsible for all new commercial and residential electric hookups, maintaining existing lines, and ensuring uninterrupted service to the community.
Maintenance Department
Foreman - Ed McNatt
(302) 378-1393
Makes sure all town-owned buildings, facilities and vehicles are kept in working order and works with other departments as needed to make repairs and upgrades.
Parks & Streets Department
Foreman - Ryan Chambers
(302) 378-5140
Maintains all open spaces and parks in town limits as well as town trails, ponds, sports facilities and other community facilities. As head of streets, works to maintain the Town's streets, storm drains, yard waste collection and more. Investigates and solves complaints from citizens regarding these areas.
Meter Department
Foreman - Chris Pierce
(302) 378-5677
Reads and maintains all electric meters located throughout town. Investigates complaints from citizens and works closely with the billing department to resolve issues.
Water/Wastewater Departments
Foreman - Clarence Swift
(302) 449-2147
Supervises the water and wastewater departments which include the water plant on Lake Street and the wastewater treatment facility on Industrial Drive. Maintains sewer mains and lift stations throughout town. Works to help residents solve water and sewer concerns.


text:
It only takes a minute to get started. Fill out our uncomplicated sign up form and login to the site.
This step is up to you but will dramatically raise your chances of getting noticed by other people on the website. Write about yourself, your interests and upload your best photograph.
Utilise our website's cutting-edge search to pinpoint members who suit your criteria. Or just leaf through listings and pinpoint daters that appeal to you.
Identified someone who looks suitable? Send them a message or just a wink and see what they say. With a little luck you'll be on your way to uncover your proper date.
It's quick and simple


text:
See You In Class!
Learn how to position your business in today's social media world!
WordPress, Social Media, Positioning, Branding, and Marketing, all brought to your by myself and leading Branding Specialist and Coach Jodie Thompson!
Our information packed class, as well as access to the live, ongoing, marketing calls is a powerful lifetime resource you wont want to miss!
If you enjoy my unique style of step-by-step instruction this is the class you've been waiting for!
While the class is open enrollment and all of my training calls are recorded, since we restart this week now is the perfect time to get involved!
For more information check out http://profitbeingyou.com or contact me!
Enroll today to get started!
See you in class!
PS: Affiliate links are available through nanacast directly or
PSS: Discount coupon available for existing TMI, SA & PBY students.
Not interested at the moment but know someone that might be? I appreciate your help in spreading the word!