Spec and Design - sora/kvs_hdl GitHub Wiki
Spec
- KVS protocol
- Ethernet standard compatibility
- IEEE 802.3ab 1000BASE-T (GMII)
- Transport protocol
- UDP
- port: 11211
- Hash function
- CRC (12 bit)
- Key length
- variable length
- Value size
- 32 byte
- Memory type
- Dual-Port BRAM
- 131,072 byte
- Commands
- Set and Get
Block diagram
Memory
Initial implementation doesn't store key
Hashkey
Convert CRC16 to 12 bit hashkey
wire [11:0] hashkey = hashkey_out[11:0] ^ hashkey_out[15:12];
Value data structure
Timing to start sending a replay packet
Internal delay: 416 ns (52 clock)
Ethernet preamble + SFD | 9 clock
Ethernet header | 14 clock
IPv4 header | 20 clock
UDP header | 8 clock
Memcache magic code field | 1 clock
------------------------------------
Total | 52 clock