CN107480083A - Data storage access device - Google Patents

Data storage access device Download PDF

Info

Publication number
CN107480083A
CN107480083A CN201710529635.4A CN201710529635A CN107480083A CN 107480083 A CN107480083 A CN 107480083A CN 201710529635 A CN201710529635 A CN 201710529635A CN 107480083 A CN107480083 A CN 107480083A
Authority
CN
China
Prior art keywords
memory module
server node
data storage
module
switching module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201710529635.4A
Other languages
Chinese (zh)
Inventor
梁小健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Derui Thick Pu Technology Co Ltd
Beijing Si Rui Rui Intelligent Technology Research Institute Co Ltd
Original Assignee
Beijing Derui Thick Pu Technology Co Ltd
Beijing Si Rui Rui Intelligent Technology Research Institute Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Derui Thick Pu Technology Co Ltd, Beijing Si Rui Rui Intelligent Technology Research Institute Co Ltd filed Critical Beijing Derui Thick Pu Technology Co Ltd
Priority to CN201710529635.4A priority Critical patent/CN107480083A/en
Publication of CN107480083A publication Critical patent/CN107480083A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the present invention provides a kind of data storage access device.The equipment includes at least one data storage access unit;Each data storage access unit includes:Server node, Switching Module and at least one memory module;Switching Module includes a up PCIe interface and some descending PCIe interfaces, Switching Module are connected by up PCIe interface with server node, and is connected respectively with least one memory module by some descending PCIe interfaces;At least one memory module is distributed in around Switching Module, can independent hot plug.By increasing Switching Module between server node and memory module, the quantity for the memory module that server node can access is extended;When needing to change Switching Module corresponding to certain server node or memory module, each memory module and Switching Module are individually plugged without powering off can, the access for the memory module that other server nodes are supported it is not interrupted, improves maintainability.

Description

Data storage access device
Technical field
The present embodiments relate to technical field of memory, more particularly to a kind of data storage access device.
Background technology
In current network application scene, peripheral component interconnection (Peripheral Component Interconnect express, PCIe) it is a kind of high speed serialization computer expansion bus standard, it is in 2001 by Intel It is proposed.PCIe belongs to the point-to-point binary channels high bandwidth transmission of high speed serialization, and the equipment distribution connected exclusively enjoys bandwidth chahnel, no Shared bus bandwidth, mainly supports the functions such as active power management, error reporting and end-to-end reliability transmission.
Flash non-volatile storage (Non-Volatile Memory Express, NVMe) standard is one for using The enterprise of PCIe solid storage devices and the storage controller interface standard of normal client end system exploitation, using under NVMe frameworks Memory can improving performance, can reduce and be delayed over 50%, and greatly reduce power consumption.
Existing NVMe storage architectures, the PCIe being usually directly connected to NVMe storage devices in server node connect On mouth, according to the access request of server node transmission, directly NVMe storage devices are conducted interviews.
During the present invention is realized, inventor has found that above-mentioned NVMe storage architectures at least have following defect:Due to Limited by PCIe interface quantity so that the limited amount for the NVMe storage devices being connected on processor unit, can not extend; It is in addition, maintainable poor.
The content of the invention
The embodiment of the present invention provides a kind of data storage access device, and to lift the extended capability of the equipment, and lifting can Maintainability.
The embodiment of the present invention provides a kind of data storage access device, including:At least one data storage access unit;
Each data storage access unit includes:Server node, Switching Module and at least one memory module;The friendship Mold changing block includes a up PCIe interface and some descending PCIe interfaces, and the Switching Module passes through the up PCIe interface It is connected with the server node, and is connected respectively with least one memory module by some descending PCIe interfaces Connect;At least one memory module is distributed in around the Switching Module, and at least one memory module and described Switching Module can independent hot plug.
In such scheme, the server node may particularly include:
PCIe interface;
Processor unit;
Storage control, it is connected with the processor unit, and passes through the PCIe interface in the server node and institute State the up PCIe interface connection of Switching Module.
Further, the server node may also include:
Optical fiber network interface card, it is connected with the processor unit, the optical fiber network interface card is used to access by Ethernet optical fiber interface Ethernet.
Further, the type of the server node may include:Storage server, cluster server, global wide area network Server or database server.
In such scheme, the data storage access device may also include:
Microcontroller, it is connected respectively with the server node in each data storage access unit, for passing through Ethernet Management interface is managed to server node.
In such scheme, the data storage access device may also include:
Operating system, operate on the server node in each data storage access unit, visited with each data storage Ask that the driving of the memory module in unit is directly connected to.
In such scheme, the memory module may include:Support solid state hard disc (the Solid State of NVMe standards Disk, SSD).
Data storage access device provided in an embodiment of the present invention, on the one hand, by server node and memory module Between increase Switching Module, a up PCIe interface can be set on the Switching Module, while set some descending PCIe Interface so that multiple memory modules can be connected on server node simultaneously by Switching Module, so that server section Point is able to access that the memory module of the PCIe interface quantity included more than server node in itself, extends server node institute energy The quantity of the memory module of access;On the other hand, with the quantity of the data storage access unit in data storage access device Increase, equivalent to the quantity for adding server node and Switching Module, accessed so as to further expand data storage The quantity for the memory module that equipment can access;Another further aspect, in each data storage access unit, at least one memory module Be distributed in around Switching Module, and at least one memory module and the Switching Module can independent hot plug, improve The integrated level of Switching Module and its at least one memory module supported;By the way of independent hot plug so that needing When changing Switching Module corresponding to certain server node or memory module, each storage is individually plugged without powering off can Module and Switching Module, the access for the memory module that other server nodes are supported it is not interrupted, improving to safeguard Property, and the quantity of memory module according to actual storage needs, can be adjusted flexibly.
Brief description of the drawings
In order to illustrate more clearly about the embodiment of the present invention or technical scheme of the prior art, below will be to embodiment or existing There is the required accompanying drawing used in technology description to be briefly described, it should be apparent that, drawings in the following description are only this Some embodiments of invention, for those of ordinary skill in the art, on the premise of not paying creative work, can be with Other accompanying drawings are obtained according to these accompanying drawings.
Fig. 1 is a kind of structural representation of data storage access device provided in an embodiment of the present invention;
Fig. 2 is a kind of structural representation of data storage access device example provided in an embodiment of the present invention;
Fig. 3 is the dimensional structure diagram of the data storage access device example shown in Fig. 2;
Fig. 4 is the structural representation of another data storage access device provided in an embodiment of the present invention.
Embodiment
Embodiments of the invention are described below in detail, the example of the embodiment is shown in the drawings, wherein from beginning to end Same or similar label represents same or similar element or the element with same or like function.Below with reference to attached The embodiment of figure description is exemplary, is only used for explaining the present invention, and is not construed as limiting the claims.
Embodiment one
Referring to Fig. 1, it is a kind of structural representation of data storage access device provided in an embodiment of the present invention.The data Storage access equipment includes:At least one data storage access unit.
Each data storage access unit includes:Server node 110, Switching Module 120 and at least one memory module 130;The Switching Module 120 includes a up PCIe interface and some descending PCIe interfaces, and the Switching Module 120 passes through The up PCIe interface is connected with the server node 110 (specifically, being connect with the PCIe in the server node 110 Mouth connection), and be connected respectively with least one memory module 130 by some descending PCIe interfaces;It is described at least One memory module 130 is distributed in around the Switching Module 120, and at least one memory module 130 and the friendship Changing the mold block 120 can independent hot plug.
First, extended capability is introduced.
For the mode for the PCIe interface that memory module is directly connected in server node, due to being connect by PCIe The limitation of mouth quantity so that the limited amount for the memory module being connected on server node, can not extend.
The present embodiment, on the one hand, by increasing Switching Module, the interchange mode between server node and memory module One up PCIe interface can be set on block, while some descending PCIe interfaces are set so that multiple memory modules pass through friendship Mold changing block can be connected on server node simultaneously, so that server node is able to access that more than server node in itself Including PCIe interface quantity memory module, extend the quantity of the memory module that server node can access;The opposing party Face, with the increase of the quantity of the data storage access unit in data storage access device, equivalent to adding server section The quantity of point and Switching Module, so as to further expand the quantity for the memory module that can be accessed.
In the present embodiment, the memory module may include:Support the solid state hard disc (SSD) of NVMe standards.
So setting is advantageous in that:On the one hand, using the memory under NVMe frameworks can improving performance, delay can be reduced More than 50%, and greatly reduce power consumption;On the other hand, the solid state hard disc can be used as caching to use, with conventional hard Mixed insertion forms classification storage, and the data that will seldom access move on to conventional hard, and the memory space of solid state hard disc, leaves more frequency for The data of numerous access, so as to improve storage performance.
Its extended capability is simply introduced by taking the data storage access device shown in Fig. 2 as an example below.The equipment bag Include three data memory access units, three server nodes in three data memory access units are located at the clothes shown in Fig. 2 Business device node region, in addition to three Switching Modules (i.e. 3 PCIe Switching Modules in Fig. 2) and each Switching Module are extended 29 memory modules (i.e. NVMe SSD in Fig. 2) so that 87 memory modules pass through in three data memory access units Three Switching Modules and three server nodes can be accessed simultaneously by the data storage access device, extend data storage The quantity for the memory module that access equipment can access.
Secondly, to the Switching Module and its distribution mode for the memory module supported in each data storage access unit Simply introduced.
Preceding to have addressed, at least one memory module 130 is distributed in around the Switching Module 120 and (see figure 2), and at least one memory module 130 and the Switching Module 120 can independent hot plugs.
So setting is advantageous in that:Improve Switching Module and its at least one memory module for being supported it is integrated Degree;By the way of independent hot plug so that individually plug each memory module and Switching Module without powering off can, improve Maintainability, and according to actual storage needs, can be adjusted flexibly the quantity of memory module.
The distribution mode of Switching Module and multiple memory modules is introduced with reference to an example.Referring to Fig. 3, Around the Switching Module of multiple memory module distributions in figure 3.All NVMe SSD and PCIe Switching Modules are preferably Vertical direction inserts (see Fig. 3), and NVMe SSD are erected and are inserted in around PCIe Switching Modules, improving Switching Module can support NVMe SSD quantity so that multiple memory modules are that NVMe SSD can be connected to service simultaneously by PCIe Switching Modules On device node, the quantity for the memory module that data storage access device can access is extended, meanwhile, improve PCIe interchange modes The integrated level of block and its multiple memory modules supported, in addition, open lid (as shown in Figure 3) can independent hot plug it is each NVMe SSD and PCIe Switching Modules so that need to change PCIe Switching Modules corresponding to certain server node or NVMe SSD When, the PCIe Switching Modules of the server node or each NVMe SSD are individually plugged without powering off can, is not interrupted The access for the memory module that other server nodes are supported it, maintainability is improved, and can be according to actual storage Need, NVMe SSD quantity is adjusted flexibly.
Again, the function of each several part in each data storage access unit is simply introduced.
The server node 110 is used for by the PCIe interface in the server node 110 to the Switching Module 120 send the access request of PCIe format, and the institute of server node 110 is comprised at least in the access request of the PCIe format The reference address for the memory module to be accessed.
The access request that the Switching Module 120 is used for the PCIe format to being received parses, and obtains described The reference address of the memory module to be accessed of server node 110, and obtained reference address is parsed according to described, to described The memory module that server node 110 to be accessed sends the access request of the PCIe format received.So, according to institute State the access request of PCIe format, you can realize the access of the memory module to be accessed it of server node 110, such as The data in the memory module to be accessed are read, or are write data into the memory module to be accessed.
In the present embodiment, the type of the server node may include:Storage server, cluster server, global wide area Network server or database server.
The technical scheme of the present embodiment, on the one hand, by increasing Switching Module between server node and memory module, One up PCIe interface can be set on the Switching Module, while some descending PCIe interfaces are set so that multiple storages Module can be connected on server node simultaneously by Switching Module, so that server node is able to access that more than service The memory module for the PCIe interface quantity that device node includes in itself, extend the number for the memory module that server node can access Amount;On the other hand, with the data storage access unit in data storage access device quantity increase, equivalent to adding The quantity of server node and Switching Module, so as to further expand the storage mould that data storage access device can access The quantity of block;Another further aspect, in each data storage access unit, at least one memory module is distributed in the week of Switching Module Enclose, and at least one memory module and the Switching Module can independent hot plug, improve Switching Module and its propped up The integrated level at least one memory module held;By the way of independent hot plug so that needing to change certain server node When corresponding Switching Module or memory module, each memory module and Switching Module are individually plugged without powering off can, and The access for the memory module that other server nodes are supported it is not interrupted, improves maintainability, and can be according to reality Border storage needs, and the quantity of memory module is adjusted flexibly.
Embodiment two
Referring to Fig. 4, the structural representation for another data storage access device provided in an embodiment of the present invention.This reality Example is applied on the basis of above-described embodiment, there is provided the specific implementation side of the server node in each data storage access unit Formula.
The data storage access device includes:At least one data storage access unit.
Each data storage access unit includes:Server node, Switching Module and at least one memory module;The friendship Mold changing block includes a up PCIe interface and some descending PCIe interfaces, and the Switching Module passes through the up PCIe interface (specifically, being connected with the PCIe interface in the server node) is connected with the server node, and by described some Descending PCIe interface is connected respectively with least one memory module;At least one memory module is distributed in the exchange Around module, and at least one memory module and the Switching Module can independent hot plugs.
In the present embodiment, the server node specifically includes:
PCIe interface;
Processor unit;
Storage control, it is connected with the processor unit, and passes through the PCIe interface in the server node and institute State the up PCIe interface connection of Switching Module.
The function of each module of server node is introduced below.
The storage control is used to receive the access request that the processor unit is sent, and the access request is changed For the access request of PCIe format, and sent by the PCIe interface to the Switching Module, the access of the PCIe format The reference address of the processor unit memory module to be accessed is comprised at least in request.
As a kind of specific embodiment, the place can be comprised at least in the access request that the processor unit is sent Manage the mark of the device unit memory module to be accessed;The mark is used for unique identification memory module.
Accordingly, the storage control is additionally operable to according to the mark, determines what the processor unit to be accessed The reference address of memory module, and the reference address for the memory module that the processor unit to be accessed is carried described In the access request of PCIe format.
Specifically, the storage control can be specifically used for according to the mark, and address mapping relation table is identified, really The reference address of the fixed processor unit memory module to be accessed, wherein, the mark address mapping relation table is used for Preserve the mark of at least one memory module and the mapping relations of reference address.
Wherein, the Switching Module parses for the access request of the PCIe format to being received, and obtains institute The reference address of the processor unit memory module to be accessed is stated, and according to the reference address for parsing and obtaining, to described The memory module that processor unit to be accessed sends the access request of the PCIe format received.So, according to described The access request of PCIe format, you can realize the access of the processor unit memory module to be accessed it, such as read Data in the memory module to be accessed, or write data into the memory module to be accessed.
It should be noted that when the processor unit is to storage control transmission access request, due to storage control At least one memory module, the access that the processor unit is sent to the control module correspond to by the Switching Module It is necessary the mark for including the processor unit memory module to be accessed in request, so, memory module can root The reference address of the processor unit memory module to be accessed is determined according to the mark, so that Switching Module determines institute The processor unit memory module to be accessed is stated, realizes access of the processor unit to the memory module to be accessed.
The technical scheme of the present embodiment, by increasing Switching Module between storage control and memory module, and hand over A up PCIe interface can be set in mold changing block, the store controller and the Switching Module are attached, simultaneously Some descending PCIe interfaces are set in the Switching Module so that multiple memory modules pass through Switching Module and storage control It can be connected to simultaneously on processor unit, extend the quantity for the memory module that server node can access;With data The increase of the quantity of the data storage access unit in access equipment is stored, equivalent to adding server node and Switching Module Quantity, so as to further expand the quantity for the memory module that data storage access device can access;Each data are deposited Store up in access unit, be distributed in by least one memory module around the Switching Module, improve Switching Module And its integrated level at least one memory module supported;By the way of independent hot plug so that needing to change certain clothes When Switching Module corresponding to device node or the memory module of being engaged in, each memory module and exchange are individually plugged without powering off can Module, the access for the memory module that other server nodes are supported it is not interrupted, improve maintainability, and can be with According to actual storage needs, the quantity of memory module is adjusted flexibly.
In such scheme, the server node may also include:
Optical fiber network interface card, it is connected with the processor unit, the optical fiber network interface card is used to access by Ethernet optical fiber interface Ethernet.
In such scheme, the data storage access device may also include:
Microcontroller, it is connected respectively with the server node in each data storage access unit, for passing through Ethernet Management interface is managed to server node.
So setting is advantageous in that:After server node operation, user logs in certain clothes by ethernet management interface The control interface of business device node, when needing to change Switching Module corresponding to certain server node or memory module, without disconnected Electricity, user can input specific instruction in control interface, after instruction is finished, it is possible to individually plug each memory module Or Switching Module, you can complete to change, do not interrupt the access for the memory module that other server nodes are supported it, carry High maintainability.
In such scheme, the data storage access device may also include:
Operating system, operate on the server node in each data storage access unit, visited with each data storage Ask that the driving of the memory module in unit is directly connected to.
So setting is advantageous in that:The driving of memory module can be directly connected to the block device layer of operating system, with Reduce and access delay.
One of ordinary skill in the art will appreciate that:Realizing all or part of step of above method embodiment can pass through Programmed instruction related hardware is completed, and foregoing program can be stored in a computer read/write memory medium, the program Upon execution, the step of execution includes above method embodiment;And foregoing storage medium includes:ROM, RAM, magnetic disc or light Disk etc. is various can be with the medium of store program codes.
Construction, feature and the action effect of the present invention, above institute is described in detail according to the embodiment shown in schema above Only presently preferred embodiments of the present invention is stated, but the present invention is not to limit practical range shown in drawing, it is every according to structure of the invention Want made change, or be revised as the equivalent embodiment of equivalent variations, when still without departing from specification and illustrating covered spirit, All should be within the scope of the present invention.

Claims (7)

  1. A kind of 1. data storage access device, it is characterised in that including:At least one data storage access unit;
    Each data storage access unit includes:Server node, Switching Module and at least one memory module;The interchange mode Block includes a up-high speed peripheral assembly interconnection PCIe interface and some descending PCIe interfaces, the Switching Module pass through described Up PCIe interface is connected with the server node, and passes through some descending PCIe interfaces and at least one storage Module connects respectively;At least one memory module is distributed in around the Switching Module, and at least one storage Module and the Switching Module can independent hot plugs.
  2. 2. equipment according to claim 1, it is characterised in that the server node specifically includes:
    PCIe interface;
    Processor unit;
    Storage control, it is connected with the processor unit, and passes through the PCIe interface in the server node and the friendship Change the mold the up PCIe interface connection of block.
  3. 3. equipment according to claim 2, it is characterised in that the server node also includes:
    Optical fiber network interface card, it is connected with the processor unit, the optical fiber network interface card is used to access ether by Ethernet optical fiber interface Net.
  4. 4. equipment according to claim 2, it is characterised in that the type of the server node includes:Storage server, Cluster server, global wide area network server or database server.
  5. 5. according to any described equipment of claim 1-4, it is characterised in that the data storage access device also includes:
    Microcontroller, it is connected respectively with the server node in each data storage access unit, for passing through ethernet management Interface is managed to server node.
  6. 6. according to any described equipment of claim 1-4, it is characterised in that the data storage access device also includes:
    Operating system, operate on the server node in each data storage access unit, accessed with each data storage single The driving of memory module in member is directly connected to.
  7. 7. according to any described equipment of claim 1-4, it is characterised in that the memory module includes:Support quick non-easy The solid-state hard disk SSD of the property lost storage NVMe standards.
CN201710529635.4A 2017-07-02 2017-07-02 Data storage access device Withdrawn CN107480083A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710529635.4A CN107480083A (en) 2017-07-02 2017-07-02 Data storage access device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710529635.4A CN107480083A (en) 2017-07-02 2017-07-02 Data storage access device

Publications (1)

Publication Number Publication Date
CN107480083A true CN107480083A (en) 2017-12-15

Family

ID=60596425

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710529635.4A Withdrawn CN107480083A (en) 2017-07-02 2017-07-02 Data storage access device

Country Status (1)

Country Link
CN (1) CN107480083A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023185639A1 (en) * 2022-03-31 2023-10-05 苏州浪潮智能科技有限公司 Data interaction system and method based on nvme hard disk

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104111907A (en) * 2014-06-27 2014-10-22 华为技术有限公司 Method for accessing NVMe storage device and NVMe storage device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104111907A (en) * 2014-06-27 2014-10-22 华为技术有限公司 Method for accessing NVMe storage device and NVMe storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023185639A1 (en) * 2022-03-31 2023-10-05 苏州浪潮智能科技有限公司 Data interaction system and method based on nvme hard disk

Similar Documents

Publication Publication Date Title
US10469252B2 (en) Technologies for efficiently managing allocation of memory in a shared memory pool
CN104111907B (en) A kind of method and NVMe storage devices of access NVMe storage devices
CN101477511B (en) Method and apparatus for sharing memory medium between multiple operating systems
US20180150256A1 (en) Technologies for data deduplication in disaggregated architectures
CN102157187B (en) Method and device for memory resource management in chip
CN104603739A (en) Block-level access to parallel storage
CN104050248A (en) File storage system and storage method
CN105335168A (en) System, method and apparatus for remotely configuring operating system
CN106484322A (en) A kind of method of carry file system, device and equipment
CN103607428A (en) Method of accessing shared memory and apparatus thereof
CN105302497A (en) Cache management method and cache management system
CN103501242A (en) Resource management method and multiple-node cluster device
CN104216835A (en) Method and device for implementing memory fusion
CN104461698A (en) Dynamic virtual disk mounting method, virtual disk management device and distributed storage system
CN102195815A (en) Network management method and device
US20210120077A1 (en) Multi-tenant isolated data regions for collaborative platform architectures
TWI453591B (en) Method, apparatus, and system for port multiplier enhancement
CN104639469A (en) Computing and storing cluster system based on PCIE (Peripheral Component Interconnect Express) interconnection
CN110086854A (en) A kind of privately owned cloud system of distribution
CN103222286B (en) Route switching device, network switching system and route switching method
CN103929475B (en) The hard disk storage system and hard disc data operating method of a kind of Ethernet architecture
CN103607429A (en) Cloud computing service realization method and system thereof
CN101291202B (en) Management method and host server for data transmission paths
CN104205730A (en) Network element data access method, device and network management system
CN107480083A (en) Data storage access device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20171215