User memory proximity card is stored in 16-bit blocks, and you must decide what data to store in each block. Then, you need to configure the software that controls your reader — either middleware or an application embedded in the reader — so it knows which data to access depending on the application. How you “lay out” your data in user memory is critical because layout can affect performance. A reader must send commands to the tag to access user memory, a process that takes time and can lower read rates.
Because user memory Mifare card has limited storage capacity, it is also necessary to compress the data. The widely accepted ISO 15962 standard provides several compression methods, but each has trade-offs — among them, space versus performance. If an application must read all data elements simultaneously, you can compress the elements together, minimizing the number of bits required for storage. But the more data elements that must be read together, the slower the read rate. If an application needs to read only a few data elements at a time, a better option is to compress the elements in separate user memory blocks. This approach requires fewer commands, so it yields better performance, though it uses more memory overall.
In a closed-loop application, you can use a proprietary format to encode data in user memory. But if you need to share the data with your business partners, you’ll have to use one of the standards designed for supply-chain applications: GS1′s Application Identifiers, for consumer supply chains; ANSI Data Identifiers, for the manufacturing industry; or Text Element Identifiers, for aerospace. Each provides dozens of commonly used descriptive data elements, such as expiration date, batch number, dimensions and weight, and defines standardized codes that identify each data element in user memory.