As of now the format of nand used by rk is unknown.
There is an area which is seen as logical block device when you load the rknand.ko driver or use the rockchip proprietary bootloader or flash tools.
rkflashtool uses the rockchip proprietary bootloader USB protocol to access the logical block device area.
Bootloader itself is stored outside of this logical block device and so far cannot be accessed. The physical blocks can be read but the format is unknown.
rockchip bootloader version 1.x and 2.x use different nand format. To boot a system from nand you need a rknand.ko driver that matches you bootloader version in boot/recovery. Obviously, to change from one version of bootloader to another the nand has to be reformatted completely. The reserved area for spare blocks is larger in the 2.x bootloader format so an image that works with 1.x bootloader might mysteriously fail to flash with 2.x bootloader when there is not enough space due to the larger reserved area.
Source code of rknand
dw has pointed out that this repository may be of interest: https://github.com/neo-technologies/rockchip_u-boot