Browse Prior Art Database

A Method And Apparatus To Provide Data Journaling In Certain Storage Devices

IP.com Disclosure Number: IPCOM000177063D
Original Publication Date: 2008-Dec-04
Included in the Prior Art Database: 2008-Dec-04
Document File: 3 page(s) / 44K

Publishing Venue

IBM

Abstract

This publication describes a method and apparatus which implements data journaling in certain storage devices. The devices subject to the methods contained here are EEPROM devices (Electrically Erasable Programmable Read-Only Memory) which typically have a limited amount of addressable memory (though actual memory size is not relevant to the disclosure) and do not typically contain a file system. The need for invention arose as a result of problems seen when Vital Product Data (VPD) stored in EEPROMS could potentially be corrupted leaving the VPD data in an unrecoverable state. The data journal described here is located on the EEPROM device and provides a means of recovering data after corruption has occurred.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 3

A Method And Apparatus To Provide Data Journaling In Certain Storage Devices

Disclosed is a method to implement a data journal on certain storage devices. Typically these devices are EEPROMs which do not otherwise contain a file system and are not managed by an operating system as part of a computer system's mass storage. In most cases data stored in EEPROMs is stored in it's raw format making it susceptible to corruption. While it is possible to identify corrupted data through the use of checksums or other such strategies it is impossible to recover data after any significant corruption occurs.

The data journal described here is lightweight and is designed to treat the data stored in the EEPROM as a single file providing one or more recoverable copies as space on the device permits.

Journaling file systems


Journaling file systems virtually eliminate file corruption by making entries in a journal describing every change that is made to a file's pointers, directory entries, etc. before the changes are made, and some systems even journal the data as well.

Once a journal entry is known to be good, the changes can then be committed making the file the active primary copy of the data. If the system goes down while making the change, the file would be in an indeterminate state and very likely found to be corrupted upon system restart. However, the data file pointed to by the most recent committed

journal entry contains the last known good data and can be used to recover the data fil

with only the loss of the new data.

Vital Product Data Stored in EEPROMs

IBM records VPD (Vital Product Data) in EEPROM (Electrically Erasable Programmable Read-Only Memory) devices and the data can be thought of as a single data file that can be corrupted in ways similar to files described above. For example:

Data can be over written with what turns out to be bad data and the good data is then

lost.

A data write operation can be interrupted and the data left in an indeterminate state.

A main body of data can be successfully updated but if meta-data, ie. pointers or

checksums, fail to be included in the update, the state of the data can become indeterminate.

Journaling via software in existing EEPROMs


One or more journal entries can exist each containing an active entry flag indicating if the file is to be used or not and a control block used to record metadata for the journal entry including the pointer to the active data file.

Locating the Journal

The journal entries can:

Exist in a known place in the EEPROM address space. Be located anywhere and be identified via a signature.

e

1.

2.


3.

1

Page 2 of 3

For example, the journal could be defined by a signature header:

Journal Signature


Offset Length Content Description 0

4

String: "JRNL" Signature denoting the existence of journaling in this EEPROM or similar device

4 4 Journal length Length of following journal data
8 Length Entries One or more journal entries

Be embed...