1. A method, comprising:
detecting an error during an operation associated with a solid state drive (SSD);
receiving from a host device a command to return failure information; and
sending the failure information from the SSD to the host device in response to the receiving, the failure information comprising information relevant to the SSD being comprised of flash memory as a storage media.
2. The method of claim 1, wherein the information relevant to the SSD being comprised of flash memory as a storage media comprises a specific storage media location of the flash memory where the error occurred.
3. The method of claim 2, wherein the information relevant to the SSD being comprised of flash memory as a storage media further comprises information indicating whether the specific storage media location of the flash memory is associated with corrupt data.
4. The method of claim 1, wherein the information relevant to the SSD being comprised of flash memory as a storage media comprises information indicating that the SSD was unable to free up a storage media location of the flash memory in which to write data for the operation.
5. The method of claim 1, further comprising:
wherein subsequent to a determination that the error is associated with a reoccurring event, the information relevant to the SSD being comprised of flash memory as a storage media comprises a persistent failure indication; and
wherein prior to the determination, the information relevant to the SSD being comprised of flash memory as a storage media comprises a transient failure indication.
6. The method of claim 1, wherein the information relevant to the SSD being comprised of flash memory as a storage media comprises information indicating where the SSD is on a life expectancy curve.
7. The method of claim 1, wherein the failure information is a Serial ATA (SATA) read log 10 page comprising a vendor specific field and the information relevant to the SSD being comprised of flash memory as a storage media is the vendor specific field.
8. The method of claim 1, wherein the information relevant to the SSD being comprised of flash memory as a storage media is one or more of a plurality of fields associated with a Serial ATA (SATA) read log 10 page.
9. The method of claim 1, wherein the failure information is capable of being utilized to recover failure information associated with an NCQ command issued to the SSD.
10. The method of claim 1, wherein the command includes a command that is capable of being used to fetch SSD information to recover from an NCQ command and failure information associated with the NCQ command.
11. The method of claim 1, wherein the failure information is accessible utilizing a command other than a Serial ATA (SATA) Read Log EXT command or a Serial ATA (SATA) Read Log DMA command.
12. The method of claim 1, wherein the failure information is accessible utilizing a Serial ATA (SATA) Read Log EXT command.
13. The method of claim 1, wherein the failure information is accessible utilizing a Serial ATA (SATA) Read Log DMA command.
14. The method of claim 1, wherein the information relevant to the SSD being comprised of flash memory as a storage media further comprises a format associated with a Serial ATA (SATA) log page 10.
15. The method of claim 1, wherein the operation includes sending an NCQ command.
16. The method of claim 1, wherein the operation includes sending a SATA command.
17. A computer program product embodied on a non-transitory computer readable medium, comprising:
computer code for detecting an error during an operation associated with a solid state drive (SSD);
computer code for receiving from a host device a command to return failure information; and
computer code for sending the failure information from the SSD to the host device, the failure information comprising information relevant to the SSD being comprised of flash memory as a storage media.
18. An apparatus, comprising:
a solid state drive (SSD) configured to:
detect an error during an operation associated with the SSD;
receive from a host device a command to return failure information; and
send the failure information from the SSD to the host device, the failure information comprising information relevant to the SSD being comprised of flash memory as a storage media.
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 providing notifications of events, the method comprising:
defining a set of standard events for objects in a back end system;
operating on an object in the back end system using an instance of a service provider class;
detecting conditions corresponding to a standard event from the set of standard events, with the conditions corresponding to the standard event defined by meta data stored in a repository; and
notifying at least one subscriber to the standard event in response to a detected condition.
2. The method of claim 1 further comprising storing data identifying the at least one subscriber in the repository, wherein notifying the at least one subscriber is performed using the data stored in the repository.
3. The method of claim 1 wherein the set of standard events includes at least one standard event selected from the group consisting of modifying a business object, inserting a business object, and deleting a business object.
4. The method of claim 1 wherein the at least one subscriber comprises a client.
5. The method of claim 1 further comprising maintaining a list of standard events for which the corresponding conditions have been detected.
6. The method of claim 5 further comprising processing the list of standard events in accordance with a predetermined algorithm.
7. The method of claim 1 further comprising storing data defining publishing constraints in the repository, wherein the at least one subscriber is notified only if the publishing constraints are satisfied.
8. The method of claim 1 further comprising storing subscription information in the repository, the subscription information identifying subscribers based on at least one criterion selected from the group consisting of a name of an event, a unique key for an object, and an object type, wherein notifying the at least one subscriber is based on the subscription information.
9. A system for providing notifications of events, the system comprising:
a repository comprising meta data representing business objects in a back end system, definitions of conditions corresponding to events, and registrations of event subscribers; and
an enterprise service framework in communication with the repository, wherein the enterprise service framework is operable to:
detect an operation on a business object in the back end system by an instance of a service provider class;
determine whether the operation satisfies the defined conditions in the repository corresponding to a particular event;
trigger the particular event if the operation satisfies the defined conditions corresponding to the particular event; and
notify at least one event subscriber registered to receive a notification of the particular event based on the registrations in the repository.
10. The system of claim 9 wherein the enterprise service framework is further operable to:
receive requests from clients; and
initiate operations by instances of service provider classes in response to the requests.
11. The system of claim 9 wherein the event subscribers comprise at least one of clients or instances of service provider classes.
12. The system of claim 9 wherein the conditions corresponding to events define standard events and the enterprise service framework is further operable to receive notifications of custom events defined for a service provider class.
13. The system of claim 9 wherein the enterprise service framework is further operable to maintain a list of events, with each event in the list including attributes selected from the group consisting of an event name, a unique key associated with the business object associated with the event, and an object type for the business object associated with the event.
14. The system of claim 13 wherein the enterprise service framework is further operable to process the list of events prior to notifying the at least one subscriber in accordance with predetermined rules stored in the repository.
15. The system of claim 13 wherein the registrations of event subscribers define event subscriptions based on attributes of the events.
16. A computer program product, tangibly embodied in an information carrier, for providing notifications of events, the computer program product being operable to cause data processing apparatus to:
retrieve a stored set of standard events for objects in a back end system;
operate on an object in the back end system using an instance of a service provider class;
detect conditions corresponding to a standard event from the set of standard events, with the conditions corresponding to the standard event defined by meta data stored in a repository; and
notify at least one subscriber to the standard event in response to the detected conditions.
17. The computer program product of claim 16, wherein the computer program product is further operable to cause data processing apparatus to store data identifying the at least one subscriber in the repository, wherein notifying the at least one subscriber is performed using the data stored in the repository.
18. The computer program product of claim 16 wherein the computer program product is further operable to cause data processing apparatus to maintain a list of standard events for which the corresponding conditions have been detected.
19. The computer program product of claim 16 wherein the computer program product is further operable to cause data processing apparatus to store data defining publishing constraints in the repository, wherein the at least one subscriber is notified only if the publishing constraints are satisfied.
20. The computer program product of claim 16 wherein the computer program product is further operable to cause data processing apparatus to store subscription information in the repository, with the subscription information identifying subscribers based on at least one criterion selected from the group consisting of a name of an event, a unique key for an object, and an object type, wherein notifying the at least one subscriber is based on the subscription information.