1460951839-67225290-089d-4a79-8061-b0a5c284f18d

What is claimed is:

1. An integrated circuit device comprising:
dedicated memory verification logic to compare data read from a set of cells in a memory at a first time to data read from the same set of memory cells at a second time.
2. The integrated circuit device of claim 1 further including
read control logic to read the data from the first set of cells,
wherein the memory verification logic includes
signature generation logic to perform an algorithm on the data read from the first set of cells to generate a result, and
compare logic coupled to the signature generation logic, the compare logic to compare a first result generated at the first time to a second result generated at the second time, the compare logic to produce a verify signal if the first and second results match.
3. The integrated circuit device of claim 1 wherein the memory verification logic is a state machine.
4. The integrated circuit device of claim 2 wherein the algorithm is a checksum algorithm.
5. The integrated circuit of claim 2 wherein the memory includes multiple memory devices and wherein the set of cells includes cells of each of the memory devices.
6. The integrated circuit device of claim 1 wherein the first time is prior to a time that a system including the memory enters a suspended state and the second time is following the time that the system enters the suspended state.
7. The integrated circuit device of claim 1 wherein the first time is in response to a first user command and the second time is in response to a second user command.
8. The integrated circuit device of claim 1 wherein the set of cells includes all cells of the memory.
9. A self-verifying memory comprising:
memory verification logic to compare a portion of the contents of a memory at a first time to the same portion of the memory contents at a second time.
10. A memory controller comprising:
memory read control logic to control reading data from selected cells in a memory; and
memory verification logic coupled to the memory read control logic, the memory verification logic to verify that data read from the selected cells at a first time matches data read from the selected cells at a second time.
11. The memory controller of claim 10 wherein the memory verification logic includes
signature generation logic to perform an algorithm on the data read at the first time to produce a first result, the signature generation logic to perform a same algorithm on the data read at the second time to produce a second result, and
signature comparison logic coupled to the signature generation logic to compare the first result to the second result, the signature comparison logic to output a verify signal if the first result matches the second result.
12. The memory controller of claim 10 wherein the memory verification logic includes
signature generation logic to perform a first algorithm on the data read at the first time to determine a value, the signature generation logic further to perform a second algorithm on the value and the data read at the second time, the verification logic to output a verify signal if the second algorithm produces a predetermined result.
13. The memory controller of claim 10 wherein the second time is following a suspended system state and the first time is prior to the system entering the suspended state.
14. The memory controller of claim 11 wherein the algorithm is a checksum algorithm.
15. A system comprising:
a bus;
a processor; and
a memory subsystem coupled to the bus and to the processor, the memory subsystem including
a first volatile memory, and
dedicated memory verification logic coupled to the first volatile memory, the dedicated memory verification logic to compare data read from a set of cells in the first volatile memory at a first time to data read from the same set of memory cells at a second time.
16. The system of claim 15 wherein the memory subsystem further includes a memory controller and wherein the dedicated memory verification logic is configured on the memory controller.
17. The system of claim 15 wherein the dedicated memory verification logic is configured on the first volatile memory.
18. The system of claim 15 wherein the memory verification logic is responsive to a system suspend event and wherein the first time is before the system enters a suspended state and the second time is after the system exits the suspended state.
19. The system of claim 15 wherein the memory verification logic includes
signature generation logic to perform an algorithm on the data read at the first time to produce a first result, the signature generation logic to perform a same algorithm on the data read at the second time to produce a second result, and
signature comparison logic coupled to the signature generation logic to compare the first result to the second result, the signature comparison logic to output a verify signal if the first result matches the second result.
20. The system of claim 19 wherein the algorithm is a checksum algorithm.
21. The system of claim 15 wherein the first volatile memory includes multiple memory devices and wherein the memory configuration logic is configured on each of the multiple memory devices.
22. The system of claim 16 wherein, if the data read at the first time matches the data read at the second time, the memory controller is configured to direct the processor to execute from the first volatile memory.
23. The system of claim 22 wherein, if the data read at the first time does not match the data read at the second time, the memory controller is configured to direct the processor to execute from a second nonvolatile memory instead of from the first volatile memory.
24. A method for verifying the integrity of memory contents in a system, the method comprising the steps of:
entering the system into a suspended state; and
verifying that data read from a set of memory locations of a first memory before the step of entering the system into a suspended state matches data read from the same set of memory locations after the step of entering the system into the suspended state,
wherein the step of verifying begins before a processor in the system is reset following the suspended state.
25. The method of claim 24 further including the steps of
producing a verify signal if the data read from the set of memory locations before the step of entering the system into a suspended state matches the data read from the same set of memory locations after the step of entering the system into the suspended state, and
directing the processor to read from the first memory instead of from a second memory responsive to the verify signal.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method for recognizing speech in an audio stream comprising a sequence of audio frames, the method comprising the steps of:
continuously recording said audio stream to a buffer;
receiving a command to recognize speech in a first portion of said audio stream, where said first portion of said audio stream occurs between a user-designated start point and a user-designated end point, and where said command is distinct from said audio stream;
augmenting said first portion of said audio stream with one or more audio frames of said audio stream that do not occur between said user-designated start point and said user-designated end point to form an augmented audio signal; and
outputting a recognized speech in accordance with said augmented audio signal.
2. The method of claim 1, wherein said augmenting step comprises:
detecting a speech starting point in said audio stream at which a speech signal including said first portion of said audio stream actually starts; and
augmenting said speech signal with one or more audio frames immediately preceding said user-designated start point to form said augmented audio signal.
3. The method of claim 2, wherein said augmented audio signal begins at an audio frame that occurs before said speech starting point, and said speech starting point occurs at or before said user-designated start point.
4. The method of claim 1, wherein said augmenting step comprises:
detecting a speech ending point in said audio stream at which a speech signal including said first portion of said audio stream actually ends;
augmenting said speech signal with one or more audio frames immediately following said user-designated end point to form said augmented audio signal.
5. The method of claim 4, wherein said augmented audio signal ends at an audio frame that occurs after said speech ending point, and said speech ending point occurs at or after said user-designated end point.
6. The method of claim 1, further comprising the steps of:
performing an endpointing search on said augmented audio signal; and
applying speech recognition processing to the endpointed audio signal.
7. The method of claim 6, wherein said endpointing search comprises the steps of:
locating at least a first speech endpoint in said audio signal using a first Hidden Markov Model; and
locating a second speech endpoint in said audio signal, such that at least a portion of said audio signal located between said first speech endpoint and said second speech endpoint represents speech.
8. The method of claim 7, wherein said second speech endpoint is located using said first Hidden Markov Model.
9. The method of claim 7, wherein said first speech endpoint is a speech starting point represented by a first frame of said audio signal and said second speech endpoint is a speech ending point represented by a second frame of said audio signal, said second frame occurring subsequent to said first frame.
10. The method of claim 9, further comprising the step of:
backing up a pre-defined number of frames to a third frame of said audio signal that precedes said first frame; and
performing speech recognition processing on at least a portion of said audio signal located between said third speech endpoint and said second speech endpoint.
11. The method of claim 10, wherein said speech recognition processing is performed using a second Hidden Markov Model.
12. The method of claim 10, wherein said step of locating at least a first speech endpoint comprises:
counting a number of frames of said audio signal for which a most likely word in a pre-defined quantity of preceding frames is speech;
determining whether said number of frames exceeds a first pre-defined threshold; and
identifying a starting frame of said number of frames as a speech starting point, if said number of frames exceeds said first pre-defined threshold.
13. The method of claim 9, wherein said step of locating a second speech endpoint comprises:
counting a number of frames of said audio signal for which a most likely word in a pre-defined quantity of preceding frames is silence;
determining whether said number of frames exceeds a second pre-defined threshold; and
identifying a starting frame of said number of frames as a speech ending point, if said number of frames exceeds said first pre-defined threshold.
14. The method of claim 7, wherein said step of locating at least a first speech endpoint comprises:
identifying a most likely word in said audio signal; and
determining whether a duration of said most likely word is long enough to indicate that said most likely word represents said first speech endpoint.
15. The method of claim 14, wherein said identifying step comprises:
recognizing said most likely word as either speech or silence.
16. The method of claim 14, wherein said determining step comprises:
computing said most likely word’s duration back to a most recent pause-to-speech transition in said audio signal, if said most likely word is speech; and
identifying said most likely word as a speech starting point if said duration meets or exceeds a first pre-defined threshold.
17. The method of claim 14, wherein said determining step comprises:
computing said most likely word’s duration back to a most recent speech-to-pause transition in said audio signal, if said most likely word is silence;
verifying that an audio signal frame containing said most likely word is subsequent to an audio signal frame containing a speech starting point; and
identifying said most likely word as a speech ending point if said duration meets or exceeds a second pre-defined threshold.
18. The method of claim 14, wherein the step of identifying a most likely word comprises:
identifying a most likely stopping word for speech in said audio signal, where said most likely stopping word represents a potential speech ending point; and
selecting a predecessor word of said most likely stopping word as said most likely word in said audio signal.
19. The method of claim 7, wherein said endpointing search is improved by improving at least one acoustic model implemented therein.
20. The method of claim 1, further comprising:
receiving a command to recognize speech starting from a specific frame in said audio stream, where said specific frame is recorded some time before or after a most recently recorded frame.
21. A computer readable storage medium containing an executable program for recognizing speech in an audio stream comprising a sequence of audio frames, where the program performs the steps of:
continuously recording said audio stream to a buffer;
receiving a command to recognize speech in a first portion of said audio stream, where said first portion of said audio stream occurs between a user-designated start point and a user-designated end point, and where said command is distinct from said audio stream;
augmenting said first portion of said audio stream with one or more audio frames of said audio stream that do not occur between said user-designated start point and said user-designated end point to form an augmented audio; and
outputting a recognized speech in accordance with said augmented audio signal.
22. The computer readable storage medium of claim 21, wherein said augmenting step comprises:
detecting a speech starting point in said audio stream at which a speech signal including said first portion of said audio stream actually starts; and
augmenting said speech signal with one or more audio frames immediately preceding said user-designated start point to form said augmented audio signal.
23. The computer readable storage medium of claim 22, wherein said augmented audio signal begins at an audio frame that occurs before said speech starting point, and said speech starting point occurs at or before said user-designated start point.
24. The computer readable storage medium of claim 21, wherein said augmenting step comprises:
detecting a speech ending point in said audio stream at which a speech signal including said first portion of said audio stream actually ends;
augmenting said speech signal with one or more audio frames immediately following said user-designated end point to form said augmented audio signal.
25. The computer readable storage medium of claim 24, wherein said augmented audio signal ends at an audio frame that occurs after said speech ending point, and said speech ending point occurs at or after said user-designated end point.
26. The computer readable storage medium of claim 21, further comprising the steps of:
performing an endpointing search on said augmented audio signal; and
applying speech recognition processing to the endpointed audio signal.
27. The computer readable storage medium of claim 26, wherein said endpointing search comprises the steps of:
locating at least a first speech endpoint in said audio signal using a first Hidden Markov Model; and
locating a second speech endpoint in said audio signal, such that at least a portion of said audio signal located between said first speech endpoint and said second speech endpoint represents speech.
28. The computer readable storage medium of claim 27, wherein said second speech endpoint is located using said first Hidden Markov Model.
29. The computer readable storage medium of claim 27, wherein said first speech endpoint is a speech starting point represented by a first frame of said audio signal and said second speech endpoint is a speech ending point represented by a second frame of said audio signal, said second frame occurring subsequent to said first frame.
30. The computer readable storage medium of claim 29, further comprising the step of:
backing up a pre-defined number of frames to a third frame of said audio signal that precedes said first frame; and
performing speech recognition processing on at least a portion of said audio signal located between said third speech endpoint and said second speech endpoint.
31. The computer readable storage medium of claim 30, wherein said speech recognition processing is performed using a second Hidden Markov Model.
32. The computer readable storage medium of claim 29, wherein said step of locating at least a first speech endpoint comprises:
counting a number of frames of said audio signal for which a most likely word in a pre-defined quantity of preceding frames is speech;
determining whether said number of frames exceeds a first pre-defined threshold; and
identifying a starting frame of said number of frames as a speech starting point, if said number of frames exceeds said first pre-defined threshold.
33. The computer readable storage medium of claim 29, wherein said step of locating a second speech endpoint comprises:
counting a number of frames of said audio signal for which a most likely word in a pre-defined quantity of preceding frames is silence;
determining whether said number of frames exceeds a second pre-defined threshold; and
identifying a starting frame of said number of frames as a speech ending point, if said number of frames exceeds said first pre-defined threshold.
34. The computer readable storage medium of claim 27, wherein said step of locating at least a first speech endpoint comprises:
identifying a most likely word in said audio signal; and
determining whether a duration of said most likely word is long enough to indicate that said most likely word represents said first speech endpoint.
35. The computer readable storage medium of claim 34, wherein said identifying step comprises:
recognizing said most likely word as either speech or silence.
36. The computer readable storage medium of claim 34, wherein said determining step comprises:
computing said most likely word’s duration back to a most recent pause-to-speech transition in said audio signal, if said most likely word is speech; and
identifying said most likely word as a speech starting point if said duration meets or exceeds a first pre-defined threshold.
37. The computer readable storage medium of claim 34, wherein said determining step comprises:
computing said most likely word’s duration back to a most recent speech-to-pause transition in said audio signal, if said most likely word is silence;
verifying that an audio signal frame containing said most likely word is subsequent to an audio signal frame containing a speech starting point; and
identifying said most likely word as a speech ending point if said duration meets or exceeds a second pre-defined threshold.
38. The computer readable storage medium of claim 34, wherein the step of identifying a most likely word comprises:
identifying a most likely stopping word for speech in said audio signal, where said most likely stopping word represents a potential speech ending point; and
selecting a predecessor word of said most likely stopping word as said most likely word in said audio signal.
39. Apparatus for recognizing speech in an audio stream comprising a sequence of audio frames, the apparatus comprising:
recording means for continuously recording said audio stream to a buffer;
receiving means for receiving a command to recognize speech in a first portion of said audio stream, where said first portion of said audio stream occurs between a user-designated start point and a user-designated end point, and where said command is distinct from said audio stream;
augmenting means for augmenting said first portion of said audio stream with one or more audio frames of said audio stream that do not occur between said user-designated start point and said user-designated end point to form an augmented audio signal; and
output means for outputting a recognized speech in accordance with said augmented audio signal.