From 3523cd7413c4bfa1389ba32ea07782354b7f0456 Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Thu, 3 Jul 2003 15:45:53 -0500 Subject: [svn-r7161] Purpose: Further updates Description: More updates on file format information. Platforms tested: Mozilla 1.4.0 --- doc/html/H5.format.html | 85 +++++++++++++++++++++++++++++-------------------- 1 file changed, 51 insertions(+), 34 deletions(-) diff --git a/doc/html/H5.format.html b/doc/html/H5.format.html index 418ba66..3cfb966 100644 --- a/doc/html/H5.format.html +++ b/doc/html/H5.format.html @@ -839,8 +839,8 @@ Each tree has 2K+1 keys with 2K child pointers interleaved between the keys. The number of keys and child pointers actually containing valid - values is determined by the Entries Used field. If - that field is N then the B-link tree contains + values is determined by the node's Entries Used field. + If that field is N then the B-link tree contains N child pointers and N+1 keys. @@ -856,7 +856,22 @@ tree points.

The format of the key depends on the node type. - For nodes of node type 1, the key is formatted as follows: + For nodes of node type 0 (group nodes), the key is formatted as + follows: +

+ + + + + +
A single field of Size of Lengths + bytesIndicates the byte offset into the local heap + for the first object name in the subtree which + that key describes.
+
+

+ For nodes of node type 1 (chunked raw data nodes), the key is + formatted as follows:

@@ -867,46 +882,41 @@ - +
Filter mask, a 32-bit bitfield indicating which filters have been applied to that chunk.
N fields of 8 bytes eachN 64-bit fields A 64-bit index indicating the offset of the chunk within the dataset where N is the number of dimensions of the dataset. For example, if a chunk in a 3-dimensional dataset begins at the position [5,5,5], there will be three - such 8-bit indices, each with the value of + such 64-bit indices, each with the value of 5.
-

- For nodes of node type 0, the key is formatted as follows: -

- - - - - -
A single field of Size of Lengths - bytesIndicates the byte offset into the local heap - for the first object name in the subtree which - that key describes.
-
- Child Pointers - The tree node contains file addresses of subtrees or + Child Pointer + +

The tree node contains file addresses of subtrees or data depending on the node level. Nodes at Level 0 point - to data addresses, either data chunk or group nodes. + to data addresses, either raw data chunk or group nodes. Nodes at non-zero levels point to other nodes of the - same B-tree. + same B-tree. +

+

For raw data chunk nodes, the child pointer is the address + of a single raw data chunk. For group nodes, the child pointer + points to a symbol table, which contains + information for multiple symbol table entries. +

+

- Each B-tree node looks like this: + Conceptually, each B-tree node looks like this:

@@ -929,7 +939,7 @@ above Level 0) or to data (at Level 0). Each key[i] describes an item stored by the B-tree (a chunk or an object of a group node). The range of values - represented by child[i] are indicated by key[i] + represented by child[i] is indicated by key[i] and key[i+1]. @@ -956,11 +966,12 @@

Disk Format: Level 1B - Group and Symbol Nodes

A group is an object internal to the file that allows - arbitrary nesting of objects (including other groups). - A group maps a set of names to a set of file - address relative to the base address. Certain meta data - for an object to which the group points can be duplicated - in the group symbol table in addition to the object header. + arbitrary nesting of objects within the file (including other groups). + A group maps a set of names in the group to a set of relative + file addresses where objects with those names are located in + the file. Certain metadata for an object to which the group points + can be cached in the group's symbol table in addition to the + object's header.

An HDF5 object name space can be stored hierarchically by partitioning the name into components and storing each @@ -995,7 +1006,7 @@

- + @@ -1013,7 +1024,7 @@ - + document describes version 1. (There is no version '0' + of the group node) @@ -1038,8 +1050,13 @@ - +
Version NumberReserved for Future UseReserved (0) Number of Symbols
Node SignatureThe ASCII character string SNOD is + The ASCII character string "SNOD" is used to indicate the beginning of a group node. This gives file consistency checking utilities a better chance of @@ -1023,7 +1034,8 @@
Version Number The version number for the group node. This - document describes version 1.
Group EntriesEach symbol has an entry in the group node. - The format of the entry is described below. +

Each symbol has an entry in the group node. + The format of the entry is described below. + There are 2K entries in each group node, where + K is the "Group Leaf Node K" value from the + super block. +

-- cgit v0.12