From owner-freebsd-arch@freebsd.org Fri Oct 27 20:56:56 2017 Return-Path: Delivered-To: freebsd-arch@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EAECEE50E78 for ; Fri, 27 Oct 2017 20:56:56 +0000 (UTC) (envelope-from rebecca@bluestop.org) Received: from muon.cran.org.uk (muon.bluestop.org [IPv6:2605:7700:0:8:1:0:4a32:3323]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CF8EF77064 for ; Fri, 27 Oct 2017 20:56:56 +0000 (UTC) (envelope-from rebecca@bluestop.org) Received: from muon.bluestop.org (localhost [127.0.0.1]) by muon.cran.org.uk (Postfix) with ESMTP id D76769A57; Fri, 27 Oct 2017 20:56:48 +0000 (UTC) Received: from muon.cran.org.uk ([127.0.0.1]) by muon.bluestop.org (muon.bluestop.org [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id Ccp1ACFSuLmJ; Fri, 27 Oct 2017 20:56:47 +0000 (UTC) Received: from [192.168.1.67] (c-73-131-237-119.hsd1.ut.comcast.net [73.131.237.119]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by muon.cran.org.uk (Postfix) with ESMTPSA; Fri, 27 Oct 2017 20:56:47 +0000 (UTC) To: freebsd-arch@freebsd.org From: Rebecca Cran Subject: Re NVDIMM status report (2017-03-25) Cc: Ravi Pokala Message-ID: <6a504eb3-0194-850a-4f36-345b7a2a738e@bluestop.org> Date: Fri, 27 Oct 2017 14:56:47 -0600 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Oct 2017 20:56:57 -0000 I'm replying to the original message at https://lists.freebsd.org/pipermail/freebsd-arch/2017-March/018165.html (sorry, I'm not sure how to get the raw email to import and reply to properly). "Traditional" NVDIMMs have been standardized under JEDEC with the name 'NVDIMM-N': NVDIMM-P is an upcoming specification that will be for 'persistent'  or 'storage class' memory modules such as 3D X-Point. NVDIMM-F is another standard, that puts NAND directly on the memory bus and allows accesses directly. It's very slow, and only allows block accesses. NVDIMM-P should be in-between NVDIMM-N and NVDIMM-F in terms of speed/latency. In terms of proprietary interfaces, there are at least 3 ACPI DSMs: HPE, Microsoft[0] and Intel[1]. The ACPI Working Group has started to work on bringing them together under a single specification, but it's still early days. JEDEC has however published the BAEBI (Byte Addressable Energy Backed Interface) that's the basis for the DSM, and runs over I2C. OEMs often lock down access to the I2C bus on boot however, requiring all accesses to be via ACPI. There's currently no widespread support in UEFI for NVDIMMs: I have prototype code running which allows OVMF running under Qemu to enumerate them and populate the "Persistent Memory" entry of the 'memmap' shell command, but that's as far as it goes so far. -- Rebecca Cran [0] https://msdn.microsoft.com/en-us/library/windows/hardware/mt604741(v=vs.85).aspx [1] http://pmem.io/documents/NVDIMM_DSM_Interface_Example.pdf