Re: [PATCH v2 00/20] libnd: non-volatile memory device support

Andy Lutomirski
2015-04-28T20:52:13Z

On Tue, Apr 28, 2015 at 11:24 AM, Dan Williams <dan.j.williams@intel.com> wrote:
> Changes since v1 [1]: Incorporates feedback received prior to April 24.
>
> 1/ Ingo said [2]:
>
> "So why on earth is this whole concept and the naming itself
> ('drivers/block/nd/' stands for 'NFIT Defined', apparently)
> revolving around a specific 'firmware' mindset and revolving
> around specific, weirdly named, overly complicated looking
> firmware interfaces that come with their own new weird
> glossary??"
>
> Indeed, we of course consulted the NFIT specification to determine
> the shape of the sub-system, but then let its terms and data
> structures permeate too deep into the implementation. That is fixed
> now with all NFIT specifics factored out into acpi.c. The NFIT is no
> longer required reading to review libnd. Only three concepts are
> needed:
>
> i/ PMEM - contiguous memory range where cpu stores are
> persistent once they are flushed through the memory
> controller.
>
> ii/ BLK - mmio apertures (sliding windows) that can be
> programmed to access an aperture's-worth of persistent
> media at a time.
>
> iii/ DPA - "dimm-physical-address", address space local to a
> dimm. A dimm may provide both PMEM-mode and BLK-mode
> access to a range of DPA. libnd manages allocation of DPA
> to either PMEM or BLK-namespaces to resolve this aliasing.

Mostly for my understanding: is there a name for "address relative to
the address lines on the DIMM"? That is, a DIMM that exposes 8 GB of
apparent physical memory, possibly interleaved, broken up, or weirdly
remapped by the memory controller, would still have addresses between
0 and 8 GB. Some of those might be PMEM windows, some might be MMIO,
some might be BLK apertures, etc.

IIUC "DPA" refers to actual addressable storage, not this type of address?

--Andy