The S Hexdump Format
RFC 4194

Document Type RFC - Proposed Standard (October 2005; Errata)
Was draft-strombergson-shf (individual in app area)
Last updated 2017-02-21
Stream IETF
Formats plain text pdf html bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 4194 (Proposed Standard)
Consensus Boilerplate Unknown
Telechat date
Responsible AD Ted Hardie
Send notices to (None)
Network Working Group                                    J. Strombergson
Request for Comments: 4194                                 InformAsic AB
Category: Standards Track                                     L. Walleij
                                                 Lunds Tekniska Hogskola
                                                            P. Faltstrom
                                                       Cisco Systems Inc
                                                            October 2005

                          The S Hexdump Format

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2005).


   This document specifies the S Hexdump Format (SHF), a new, XML-based
   open format for describing binary data in hexadecimal notation.  SHF
   provides the ability to describe both small and large, simple and
   complex hexadecimal data dumps in an open, modern, transport- and
   vendor-neutral format.

1.  Introduction

   In the computing, network, and embedded systems communities, several
   different types of data formats for hexadecimal data are being used.
   One of the more common formats is known as "S-records" (and several
   derivatives), which reportedly originated at the Motorola company.
   The S Hexdump Format is named in its honour.

   Typical uses of these dump formats include executable object code for
   embedded systems (i.e., "firmware"), on-chip flash memories and
   filesystems, FPGA configuration bitstreams, graphics and other
   application resources, routing tables, etc.  Unfortunately, none of
   the formats used are truly open, vendor-neutral, and/or well-defined.

   Even more problematic is the fact that none of these formats are able
   to represent the large data sizes that are getting more and more
   common.  Data dumps comprised of multiple sub-blocks with different

Strombergson, et al.        Standards Track                     [Page 1]
RFC 4194                  The S Hexdump Format              October 2005

   Word sizes, and data sizes spanning anywhere from a few Bytes of data
   to much larger than 2^32 bits are not handled.  Also, the checksums
   included in these formats are too simplistic and for larger data
   sizes, they provide insufficient ability to accurately detect errors.
   Alternatively, the overhead needed for proper error detection is very

   Therefore, the S Hexdump format is an effort to provide a modern,
   XML-based format that is not too complex for simple tools and
   computing environments to implement, generate, parse, and use.  Yet
   the format is able to handle large data sizes and complex data
   structures, and can provide high quality error detection by
   leveraging standardized cryptographic hash functions.

   One of the simplifications introduced in the format is to disallow
   other number systems such as octal or decimal notation, and to allow
   for Word sizes of even bytes (8-bit groups) only.  This is
   intentional and was done to simplify implementations aimed for
   practical present-day applications.  Formats aimed for esoteric
   number systems or odd Word sizes may be implemented elsewhere.

   At present, the usage of the SHF format may be mainly for Internet
   transport and file storage on development machinery.  A parser for
   the XML format is presently not easily deployed in hardware devices,
   but the parsing and checksumming of the SHF data may be done by a
   workstation computer, which in turn converts the SHF tokens to an
   ordinary bitstream before the last step (e.g., of a firmware upgrade)

   SHF is a dump format only and shall not be confused with similar
   applications, such as binary configuration formats or patches, which
   are intended to, for example, alter contents of a core memory.  Such
   applications require the possibility of modifying individual bits or
   groups of bits in the memory of a machine, and is not the intended
   usage of the mechanism described in the present document.

2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   document are to be interpreted as described in RFC 2119 [1].

   The key word "Byte" is to be interpreted as a group of 8 bits.  The
Show full document text